diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+### 3.0.28
+
++ Update to haskell-gi(-base) 0.22
+
 ### 3.0.27
 
 + Mark the 'length' argument of [builderAddFromString](https://hackage.haskell.org/package/gi-gtk-3.0.27/docs/GI-Gtk-Objects-Builder.html#v:builderAddFromString) is marked as signed, so '(-1)' can be passed without a warning. See [issue 209](https://github.com/haskell-gi/haskell-gi/issues/209).
diff --git a/GI/Gtk.hs b/GI/Gtk.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk.hs
@@ -0,0 +1,60 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk
+    (     module GI.Gtk.Callbacks                 ,
+    module GI.Gtk.Constants                 ,
+    module GI.Gtk.Enums                     ,
+    module GI.Gtk.Flags                     ,
+    module GI.Gtk.Functions                 ,
+    module GI.Gtk.Interfaces                ,
+    module GI.Gtk.Objects                   ,
+    module GI.Gtk.Structs                   ,
+
+
+
+    module Data.GI.Base                     ,
+
+
+    ) where
+
+import GI.Gtk.Callbacks
+import GI.Gtk.Constants
+import GI.Gtk.Enums
+import GI.Gtk.Flags
+import GI.Gtk.Functions
+import GI.Gtk.Interfaces
+import GI.Gtk.Objects
+import GI.Gtk.Structs
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+import Data.GI.Base
+
diff --git a/GI/Gtk/Callbacks.hs b/GI/Gtk/Callbacks.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Callbacks.hs
@@ -0,0 +1,7195 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Callbacks
+    ( 
+
+ -- * Signals
+-- ** AccelGroupActivate #signal:AccelGroupActivate#
+
+    AccelGroupActivate                      ,
+    C_AccelGroupActivate                    ,
+    dynamic_AccelGroupActivate              ,
+    genClosure_AccelGroupActivate           ,
+    mk_AccelGroupActivate                   ,
+    noAccelGroupActivate                    ,
+    wrap_AccelGroupActivate                 ,
+
+
+-- ** AccelGroupFindFunc #signal:AccelGroupFindFunc#
+
+    AccelGroupFindFunc                      ,
+    AccelGroupFindFunc_WithClosures         ,
+    C_AccelGroupFindFunc                    ,
+    drop_closures_AccelGroupFindFunc        ,
+    dynamic_AccelGroupFindFunc              ,
+    genClosure_AccelGroupFindFunc           ,
+    mk_AccelGroupFindFunc                   ,
+    noAccelGroupFindFunc                    ,
+    noAccelGroupFindFunc_WithClosures       ,
+    wrap_AccelGroupFindFunc                 ,
+
+
+-- ** AccelMapForeach #signal:AccelMapForeach#
+
+    AccelMapForeach                         ,
+    C_AccelMapForeach                       ,
+    dynamic_AccelMapForeach                 ,
+    genClosure_AccelMapForeach              ,
+    mk_AccelMapForeach                      ,
+    noAccelMapForeach                       ,
+    wrap_AccelMapForeach                    ,
+
+
+-- ** AssistantPageFunc #signal:AssistantPageFunc#
+
+    AssistantPageFunc                       ,
+    AssistantPageFunc_WithClosures          ,
+    C_AssistantPageFunc                     ,
+    drop_closures_AssistantPageFunc         ,
+    dynamic_AssistantPageFunc               ,
+    genClosure_AssistantPageFunc            ,
+    mk_AssistantPageFunc                    ,
+    noAssistantPageFunc                     ,
+    noAssistantPageFunc_WithClosures        ,
+    wrap_AssistantPageFunc                  ,
+
+
+-- ** BuilderConnectFunc #signal:BuilderConnectFunc#
+
+    BuilderConnectFunc                      ,
+    BuilderConnectFunc_WithClosures         ,
+    C_BuilderConnectFunc                    ,
+    drop_closures_BuilderConnectFunc        ,
+    dynamic_BuilderConnectFunc              ,
+    genClosure_BuilderConnectFunc           ,
+    mk_BuilderConnectFunc                   ,
+    noBuilderConnectFunc                    ,
+    noBuilderConnectFunc_WithClosures       ,
+    wrap_BuilderConnectFunc                 ,
+
+
+-- ** CalendarDetailFunc #signal:CalendarDetailFunc#
+
+    C_CalendarDetailFunc                    ,
+    CalendarDetailFunc                      ,
+    CalendarDetailFunc_WithClosures         ,
+    drop_closures_CalendarDetailFunc        ,
+    dynamic_CalendarDetailFunc              ,
+    genClosure_CalendarDetailFunc           ,
+    mk_CalendarDetailFunc                   ,
+    noCalendarDetailFunc                    ,
+    noCalendarDetailFunc_WithClosures       ,
+    wrap_CalendarDetailFunc                 ,
+
+
+-- ** Callback #signal:Callback#
+
+    C_Callback                              ,
+    Callback                                ,
+    Callback_WithClosures                   ,
+    drop_closures_Callback                  ,
+    dynamic_Callback                        ,
+    genClosure_Callback                     ,
+    mk_Callback                             ,
+    noCallback                              ,
+    noCallback_WithClosures                 ,
+    wrap_Callback                           ,
+
+
+-- ** CellAllocCallback #signal:CellAllocCallback#
+
+    C_CellAllocCallback                     ,
+    CellAllocCallback                       ,
+    CellAllocCallback_WithClosures          ,
+    drop_closures_CellAllocCallback         ,
+    dynamic_CellAllocCallback               ,
+    genClosure_CellAllocCallback            ,
+    mk_CellAllocCallback                    ,
+    noCellAllocCallback                     ,
+    noCellAllocCallback_WithClosures        ,
+    wrap_CellAllocCallback                  ,
+
+
+-- ** CellCallback #signal:CellCallback#
+
+    C_CellCallback                          ,
+    CellCallback                            ,
+    CellCallback_WithClosures               ,
+    drop_closures_CellCallback              ,
+    dynamic_CellCallback                    ,
+    genClosure_CellCallback                 ,
+    mk_CellCallback                         ,
+    noCellCallback                          ,
+    noCellCallback_WithClosures             ,
+    wrap_CellCallback                       ,
+
+
+-- ** CellLayoutDataFunc #signal:CellLayoutDataFunc#
+
+    C_CellLayoutDataFunc                    ,
+    CellLayoutDataFunc                      ,
+    CellLayoutDataFunc_WithClosures         ,
+    drop_closures_CellLayoutDataFunc        ,
+    dynamic_CellLayoutDataFunc              ,
+    genClosure_CellLayoutDataFunc           ,
+    mk_CellLayoutDataFunc                   ,
+    noCellLayoutDataFunc                    ,
+    noCellLayoutDataFunc_WithClosures       ,
+    wrap_CellLayoutDataFunc                 ,
+
+
+-- ** ClipboardClearFunc #signal:ClipboardClearFunc#
+
+    C_ClipboardClearFunc                    ,
+    ClipboardClearFunc                      ,
+    dynamic_ClipboardClearFunc              ,
+    genClosure_ClipboardClearFunc           ,
+    mk_ClipboardClearFunc                   ,
+    noClipboardClearFunc                    ,
+    wrap_ClipboardClearFunc                 ,
+
+
+-- ** ClipboardGetFunc #signal:ClipboardGetFunc#
+
+    C_ClipboardGetFunc                      ,
+    ClipboardGetFunc                        ,
+    dynamic_ClipboardGetFunc                ,
+    genClosure_ClipboardGetFunc             ,
+    mk_ClipboardGetFunc                     ,
+    noClipboardGetFunc                      ,
+    wrap_ClipboardGetFunc                   ,
+
+
+-- ** ClipboardImageReceivedFunc #signal:ClipboardImageReceivedFunc#
+
+    C_ClipboardImageReceivedFunc            ,
+    ClipboardImageReceivedFunc              ,
+    ClipboardImageReceivedFunc_WithClosures ,
+    drop_closures_ClipboardImageReceivedFunc,
+    dynamic_ClipboardImageReceivedFunc      ,
+    genClosure_ClipboardImageReceivedFunc   ,
+    mk_ClipboardImageReceivedFunc           ,
+    noClipboardImageReceivedFunc            ,
+    noClipboardImageReceivedFunc_WithClosures,
+    wrap_ClipboardImageReceivedFunc         ,
+
+
+-- ** ClipboardReceivedFunc #signal:ClipboardReceivedFunc#
+
+    C_ClipboardReceivedFunc                 ,
+    ClipboardReceivedFunc                   ,
+    ClipboardReceivedFunc_WithClosures      ,
+    drop_closures_ClipboardReceivedFunc     ,
+    dynamic_ClipboardReceivedFunc           ,
+    genClosure_ClipboardReceivedFunc        ,
+    mk_ClipboardReceivedFunc                ,
+    noClipboardReceivedFunc                 ,
+    noClipboardReceivedFunc_WithClosures    ,
+    wrap_ClipboardReceivedFunc              ,
+
+
+-- ** ClipboardRichTextReceivedFunc #signal:ClipboardRichTextReceivedFunc#
+
+    C_ClipboardRichTextReceivedFunc         ,
+    ClipboardRichTextReceivedFunc           ,
+    ClipboardRichTextReceivedFunc_WithClosures,
+    drop_closures_ClipboardRichTextReceivedFunc,
+    dynamic_ClipboardRichTextReceivedFunc   ,
+    genClosure_ClipboardRichTextReceivedFunc,
+    mk_ClipboardRichTextReceivedFunc        ,
+    noClipboardRichTextReceivedFunc         ,
+    noClipboardRichTextReceivedFunc_WithClosures,
+    wrap_ClipboardRichTextReceivedFunc      ,
+
+
+-- ** ClipboardTargetsReceivedFunc #signal:ClipboardTargetsReceivedFunc#
+
+    C_ClipboardTargetsReceivedFunc          ,
+    ClipboardTargetsReceivedFunc            ,
+    ClipboardTargetsReceivedFunc_WithClosures,
+    drop_closures_ClipboardTargetsReceivedFunc,
+    dynamic_ClipboardTargetsReceivedFunc    ,
+    genClosure_ClipboardTargetsReceivedFunc ,
+    mk_ClipboardTargetsReceivedFunc         ,
+    noClipboardTargetsReceivedFunc          ,
+    noClipboardTargetsReceivedFunc_WithClosures,
+    wrap_ClipboardTargetsReceivedFunc       ,
+
+
+-- ** ClipboardTextReceivedFunc #signal:ClipboardTextReceivedFunc#
+
+    C_ClipboardTextReceivedFunc             ,
+    ClipboardTextReceivedFunc               ,
+    ClipboardTextReceivedFunc_WithClosures  ,
+    drop_closures_ClipboardTextReceivedFunc ,
+    dynamic_ClipboardTextReceivedFunc       ,
+    genClosure_ClipboardTextReceivedFunc    ,
+    mk_ClipboardTextReceivedFunc            ,
+    noClipboardTextReceivedFunc             ,
+    noClipboardTextReceivedFunc_WithClosures,
+    wrap_ClipboardTextReceivedFunc          ,
+
+
+-- ** ClipboardURIReceivedFunc #signal:ClipboardURIReceivedFunc#
+
+    C_ClipboardURIReceivedFunc              ,
+    ClipboardURIReceivedFunc                ,
+    ClipboardURIReceivedFunc_WithClosures   ,
+    drop_closures_ClipboardURIReceivedFunc  ,
+    dynamic_ClipboardURIReceivedFunc        ,
+    genClosure_ClipboardURIReceivedFunc     ,
+    mk_ClipboardURIReceivedFunc             ,
+    noClipboardURIReceivedFunc              ,
+    noClipboardURIReceivedFunc_WithClosures ,
+    wrap_ClipboardURIReceivedFunc           ,
+
+
+-- ** ColorSelectionChangePaletteFunc #signal:ColorSelectionChangePaletteFunc#
+
+    C_ColorSelectionChangePaletteFunc       ,
+    ColorSelectionChangePaletteFunc         ,
+    dynamic_ColorSelectionChangePaletteFunc ,
+    genClosure_ColorSelectionChangePaletteFunc,
+    mk_ColorSelectionChangePaletteFunc      ,
+    noColorSelectionChangePaletteFunc       ,
+    wrap_ColorSelectionChangePaletteFunc    ,
+
+
+-- ** ColorSelectionChangePaletteWithScreenFunc #signal:ColorSelectionChangePaletteWithScreenFunc#
+
+    C_ColorSelectionChangePaletteWithScreenFunc,
+    ColorSelectionChangePaletteWithScreenFunc,
+    dynamic_ColorSelectionChangePaletteWithScreenFunc,
+    genClosure_ColorSelectionChangePaletteWithScreenFunc,
+    mk_ColorSelectionChangePaletteWithScreenFunc,
+    noColorSelectionChangePaletteWithScreenFunc,
+    wrap_ColorSelectionChangePaletteWithScreenFunc,
+
+
+-- ** EntryCompletionMatchFunc #signal:EntryCompletionMatchFunc#
+
+    C_EntryCompletionMatchFunc              ,
+    EntryCompletionMatchFunc                ,
+    EntryCompletionMatchFunc_WithClosures   ,
+    drop_closures_EntryCompletionMatchFunc  ,
+    dynamic_EntryCompletionMatchFunc        ,
+    genClosure_EntryCompletionMatchFunc     ,
+    mk_EntryCompletionMatchFunc             ,
+    noEntryCompletionMatchFunc              ,
+    noEntryCompletionMatchFunc_WithClosures ,
+    wrap_EntryCompletionMatchFunc           ,
+
+
+-- ** FileFilterFunc #signal:FileFilterFunc#
+
+    C_FileFilterFunc                        ,
+    FileFilterFunc                          ,
+    FileFilterFunc_WithClosures             ,
+    drop_closures_FileFilterFunc            ,
+    dynamic_FileFilterFunc                  ,
+    genClosure_FileFilterFunc               ,
+    mk_FileFilterFunc                       ,
+    noFileFilterFunc                        ,
+    noFileFilterFunc_WithClosures           ,
+    wrap_FileFilterFunc                     ,
+
+
+-- ** FlowBoxCreateWidgetFunc #signal:FlowBoxCreateWidgetFunc#
+
+    C_FlowBoxCreateWidgetFunc               ,
+    FlowBoxCreateWidgetFunc                 ,
+    FlowBoxCreateWidgetFunc_WithClosures    ,
+    drop_closures_FlowBoxCreateWidgetFunc   ,
+    dynamic_FlowBoxCreateWidgetFunc         ,
+    genClosure_FlowBoxCreateWidgetFunc      ,
+    mk_FlowBoxCreateWidgetFunc              ,
+    noFlowBoxCreateWidgetFunc               ,
+    noFlowBoxCreateWidgetFunc_WithClosures  ,
+    wrap_FlowBoxCreateWidgetFunc            ,
+
+
+-- ** FlowBoxFilterFunc #signal:FlowBoxFilterFunc#
+
+    C_FlowBoxFilterFunc                     ,
+    FlowBoxFilterFunc                       ,
+    FlowBoxFilterFunc_WithClosures          ,
+    drop_closures_FlowBoxFilterFunc         ,
+    dynamic_FlowBoxFilterFunc               ,
+    genClosure_FlowBoxFilterFunc            ,
+    mk_FlowBoxFilterFunc                    ,
+    noFlowBoxFilterFunc                     ,
+    noFlowBoxFilterFunc_WithClosures        ,
+    wrap_FlowBoxFilterFunc                  ,
+
+
+-- ** FlowBoxForeachFunc #signal:FlowBoxForeachFunc#
+
+    C_FlowBoxForeachFunc                    ,
+    FlowBoxForeachFunc                      ,
+    FlowBoxForeachFunc_WithClosures         ,
+    drop_closures_FlowBoxForeachFunc        ,
+    dynamic_FlowBoxForeachFunc              ,
+    genClosure_FlowBoxForeachFunc           ,
+    mk_FlowBoxForeachFunc                   ,
+    noFlowBoxForeachFunc                    ,
+    noFlowBoxForeachFunc_WithClosures       ,
+    wrap_FlowBoxForeachFunc                 ,
+
+
+-- ** FlowBoxSortFunc #signal:FlowBoxSortFunc#
+
+    C_FlowBoxSortFunc                       ,
+    FlowBoxSortFunc                         ,
+    FlowBoxSortFunc_WithClosures            ,
+    drop_closures_FlowBoxSortFunc           ,
+    dynamic_FlowBoxSortFunc                 ,
+    genClosure_FlowBoxSortFunc              ,
+    mk_FlowBoxSortFunc                      ,
+    noFlowBoxSortFunc                       ,
+    noFlowBoxSortFunc_WithClosures          ,
+    wrap_FlowBoxSortFunc                    ,
+
+
+-- ** FontFilterFunc #signal:FontFilterFunc#
+
+    C_FontFilterFunc                        ,
+    FontFilterFunc                          ,
+    FontFilterFunc_WithClosures             ,
+    drop_closures_FontFilterFunc            ,
+    dynamic_FontFilterFunc                  ,
+    genClosure_FontFilterFunc               ,
+    mk_FontFilterFunc                       ,
+    noFontFilterFunc                        ,
+    noFontFilterFunc_WithClosures           ,
+    wrap_FontFilterFunc                     ,
+
+
+-- ** IconViewForeachFunc #signal:IconViewForeachFunc#
+
+    C_IconViewForeachFunc                   ,
+    IconViewForeachFunc                     ,
+    IconViewForeachFunc_WithClosures        ,
+    drop_closures_IconViewForeachFunc       ,
+    dynamic_IconViewForeachFunc             ,
+    genClosure_IconViewForeachFunc          ,
+    mk_IconViewForeachFunc                  ,
+    noIconViewForeachFunc                   ,
+    noIconViewForeachFunc_WithClosures      ,
+    wrap_IconViewForeachFunc                ,
+
+
+-- ** KeySnoopFunc #signal:KeySnoopFunc#
+
+    C_KeySnoopFunc                          ,
+    KeySnoopFunc                            ,
+    KeySnoopFunc_WithClosures               ,
+    drop_closures_KeySnoopFunc              ,
+    dynamic_KeySnoopFunc                    ,
+    genClosure_KeySnoopFunc                 ,
+    mk_KeySnoopFunc                         ,
+    noKeySnoopFunc                          ,
+    noKeySnoopFunc_WithClosures             ,
+    wrap_KeySnoopFunc                       ,
+
+
+-- ** ListBoxCreateWidgetFunc #signal:ListBoxCreateWidgetFunc#
+
+    C_ListBoxCreateWidgetFunc               ,
+    ListBoxCreateWidgetFunc                 ,
+    ListBoxCreateWidgetFunc_WithClosures    ,
+    drop_closures_ListBoxCreateWidgetFunc   ,
+    dynamic_ListBoxCreateWidgetFunc         ,
+    genClosure_ListBoxCreateWidgetFunc      ,
+    mk_ListBoxCreateWidgetFunc              ,
+    noListBoxCreateWidgetFunc               ,
+    noListBoxCreateWidgetFunc_WithClosures  ,
+    wrap_ListBoxCreateWidgetFunc            ,
+
+
+-- ** ListBoxFilterFunc #signal:ListBoxFilterFunc#
+
+    C_ListBoxFilterFunc                     ,
+    ListBoxFilterFunc                       ,
+    ListBoxFilterFunc_WithClosures          ,
+    drop_closures_ListBoxFilterFunc         ,
+    dynamic_ListBoxFilterFunc               ,
+    genClosure_ListBoxFilterFunc            ,
+    mk_ListBoxFilterFunc                    ,
+    noListBoxFilterFunc                     ,
+    noListBoxFilterFunc_WithClosures        ,
+    wrap_ListBoxFilterFunc                  ,
+
+
+-- ** ListBoxForeachFunc #signal:ListBoxForeachFunc#
+
+    C_ListBoxForeachFunc                    ,
+    ListBoxForeachFunc                      ,
+    ListBoxForeachFunc_WithClosures         ,
+    drop_closures_ListBoxForeachFunc        ,
+    dynamic_ListBoxForeachFunc              ,
+    genClosure_ListBoxForeachFunc           ,
+    mk_ListBoxForeachFunc                   ,
+    noListBoxForeachFunc                    ,
+    noListBoxForeachFunc_WithClosures       ,
+    wrap_ListBoxForeachFunc                 ,
+
+
+-- ** ListBoxSortFunc #signal:ListBoxSortFunc#
+
+    C_ListBoxSortFunc                       ,
+    ListBoxSortFunc                         ,
+    ListBoxSortFunc_WithClosures            ,
+    drop_closures_ListBoxSortFunc           ,
+    dynamic_ListBoxSortFunc                 ,
+    genClosure_ListBoxSortFunc              ,
+    mk_ListBoxSortFunc                      ,
+    noListBoxSortFunc                       ,
+    noListBoxSortFunc_WithClosures          ,
+    wrap_ListBoxSortFunc                    ,
+
+
+-- ** ListBoxUpdateHeaderFunc #signal:ListBoxUpdateHeaderFunc#
+
+    C_ListBoxUpdateHeaderFunc               ,
+    ListBoxUpdateHeaderFunc                 ,
+    ListBoxUpdateHeaderFunc_WithClosures    ,
+    drop_closures_ListBoxUpdateHeaderFunc   ,
+    dynamic_ListBoxUpdateHeaderFunc         ,
+    genClosure_ListBoxUpdateHeaderFunc      ,
+    mk_ListBoxUpdateHeaderFunc              ,
+    noListBoxUpdateHeaderFunc               ,
+    noListBoxUpdateHeaderFunc_WithClosures  ,
+    wrap_ListBoxUpdateHeaderFunc            ,
+
+
+-- ** MenuDetachFunc #signal:MenuDetachFunc#
+
+    C_MenuDetachFunc                        ,
+    MenuDetachFunc                          ,
+    dynamic_MenuDetachFunc                  ,
+    genClosure_MenuDetachFunc               ,
+    mk_MenuDetachFunc                       ,
+    noMenuDetachFunc                        ,
+    wrap_MenuDetachFunc                     ,
+
+
+-- ** MenuPositionFunc #signal:MenuPositionFunc#
+
+    C_MenuPositionFunc                      ,
+    MenuPositionFunc                        ,
+    MenuPositionFunc_WithClosures           ,
+    drop_closures_MenuPositionFunc          ,
+    dynamic_MenuPositionFunc                ,
+    genClosure_MenuPositionFunc             ,
+    mk_MenuPositionFunc                     ,
+    noMenuPositionFunc                      ,
+    noMenuPositionFunc_WithClosures         ,
+    wrap_MenuPositionFunc                   ,
+
+
+-- ** ModuleDisplayInitFunc #signal:ModuleDisplayInitFunc#
+
+    C_ModuleDisplayInitFunc                 ,
+    ModuleDisplayInitFunc                   ,
+    dynamic_ModuleDisplayInitFunc           ,
+    genClosure_ModuleDisplayInitFunc        ,
+    mk_ModuleDisplayInitFunc                ,
+    noModuleDisplayInitFunc                 ,
+    wrap_ModuleDisplayInitFunc              ,
+
+
+-- ** ModuleInitFunc #signal:ModuleInitFunc#
+
+    C_ModuleInitFunc                        ,
+    ModuleInitFunc                          ,
+    dynamic_ModuleInitFunc                  ,
+    genClosure_ModuleInitFunc               ,
+    mk_ModuleInitFunc                       ,
+    noModuleInitFunc                        ,
+    wrap_ModuleInitFunc                     ,
+
+
+-- ** PageSetupDoneFunc #signal:PageSetupDoneFunc#
+
+    C_PageSetupDoneFunc                     ,
+    PageSetupDoneFunc                       ,
+    PageSetupDoneFunc_WithClosures          ,
+    drop_closures_PageSetupDoneFunc         ,
+    dynamic_PageSetupDoneFunc               ,
+    genClosure_PageSetupDoneFunc            ,
+    mk_PageSetupDoneFunc                    ,
+    noPageSetupDoneFunc                     ,
+    noPageSetupDoneFunc_WithClosures        ,
+    wrap_PageSetupDoneFunc                  ,
+
+
+-- ** PrintSettingsFunc #signal:PrintSettingsFunc#
+
+    C_PrintSettingsFunc                     ,
+    PrintSettingsFunc                       ,
+    PrintSettingsFunc_WithClosures          ,
+    drop_closures_PrintSettingsFunc         ,
+    dynamic_PrintSettingsFunc               ,
+    genClosure_PrintSettingsFunc            ,
+    mk_PrintSettingsFunc                    ,
+    noPrintSettingsFunc                     ,
+    noPrintSettingsFunc_WithClosures        ,
+    wrap_PrintSettingsFunc                  ,
+
+
+-- ** RcPropertyParser #signal:RcPropertyParser#
+
+    C_RcPropertyParser                      ,
+    RcPropertyParser                        ,
+    dynamic_RcPropertyParser                ,
+    genClosure_RcPropertyParser             ,
+    mk_RcPropertyParser                     ,
+    noRcPropertyParser                      ,
+    wrap_RcPropertyParser                   ,
+
+
+-- ** RecentFilterFunc #signal:RecentFilterFunc#
+
+    C_RecentFilterFunc                      ,
+    RecentFilterFunc                        ,
+    RecentFilterFunc_WithClosures           ,
+    drop_closures_RecentFilterFunc          ,
+    dynamic_RecentFilterFunc                ,
+    genClosure_RecentFilterFunc             ,
+    mk_RecentFilterFunc                     ,
+    noRecentFilterFunc                      ,
+    noRecentFilterFunc_WithClosures         ,
+    wrap_RecentFilterFunc                   ,
+
+
+-- ** RecentSortFunc #signal:RecentSortFunc#
+
+    C_RecentSortFunc                        ,
+    RecentSortFunc                          ,
+    RecentSortFunc_WithClosures             ,
+    drop_closures_RecentSortFunc            ,
+    dynamic_RecentSortFunc                  ,
+    genClosure_RecentSortFunc               ,
+    mk_RecentSortFunc                       ,
+    noRecentSortFunc                        ,
+    noRecentSortFunc_WithClosures           ,
+    wrap_RecentSortFunc                     ,
+
+
+-- ** StylePropertyParser #signal:StylePropertyParser#
+
+    C_StylePropertyParser                   ,
+    StylePropertyParser                     ,
+    dynamic_StylePropertyParser             ,
+    mk_StylePropertyParser                  ,
+    noStylePropertyParser                   ,
+
+
+-- ** TextBufferDeserializeFunc #signal:TextBufferDeserializeFunc#
+
+    C_TextBufferDeserializeFunc             ,
+    TextBufferDeserializeFunc               ,
+    TextBufferDeserializeFunc_WithClosures  ,
+    drop_closures_TextBufferDeserializeFunc ,
+    dynamic_TextBufferDeserializeFunc       ,
+    mk_TextBufferDeserializeFunc            ,
+    noTextBufferDeserializeFunc             ,
+    noTextBufferDeserializeFunc_WithClosures,
+
+
+-- ** TextBufferSerializeFunc #signal:TextBufferSerializeFunc#
+
+    C_TextBufferSerializeFunc               ,
+    TextBufferSerializeFunc                 ,
+    TextBufferSerializeFunc_WithClosures    ,
+    drop_closures_TextBufferSerializeFunc   ,
+    dynamic_TextBufferSerializeFunc         ,
+    genClosure_TextBufferSerializeFunc      ,
+    mk_TextBufferSerializeFunc              ,
+    noTextBufferSerializeFunc               ,
+    noTextBufferSerializeFunc_WithClosures  ,
+    wrap_TextBufferSerializeFunc            ,
+
+
+-- ** TextCharPredicate #signal:TextCharPredicate#
+
+    C_TextCharPredicate                     ,
+    TextCharPredicate                       ,
+    TextCharPredicate_WithClosures          ,
+    drop_closures_TextCharPredicate         ,
+    dynamic_TextCharPredicate               ,
+    genClosure_TextCharPredicate            ,
+    mk_TextCharPredicate                    ,
+    noTextCharPredicate                     ,
+    noTextCharPredicate_WithClosures        ,
+    wrap_TextCharPredicate                  ,
+
+
+-- ** TextTagTableForeach #signal:TextTagTableForeach#
+
+    C_TextTagTableForeach                   ,
+    TextTagTableForeach                     ,
+    TextTagTableForeach_WithClosures        ,
+    drop_closures_TextTagTableForeach       ,
+    dynamic_TextTagTableForeach             ,
+    genClosure_TextTagTableForeach          ,
+    mk_TextTagTableForeach                  ,
+    noTextTagTableForeach                   ,
+    noTextTagTableForeach_WithClosures      ,
+    wrap_TextTagTableForeach                ,
+
+
+-- ** TickCallback #signal:TickCallback#
+
+    C_TickCallback                          ,
+    TickCallback                            ,
+    TickCallback_WithClosures               ,
+    drop_closures_TickCallback              ,
+    dynamic_TickCallback                    ,
+    genClosure_TickCallback                 ,
+    mk_TickCallback                         ,
+    noTickCallback                          ,
+    noTickCallback_WithClosures             ,
+    wrap_TickCallback                       ,
+
+
+-- ** TranslateFunc #signal:TranslateFunc#
+
+    C_TranslateFunc                         ,
+    TranslateFunc                           ,
+    TranslateFunc_WithClosures              ,
+    drop_closures_TranslateFunc             ,
+    dynamic_TranslateFunc                   ,
+    genClosure_TranslateFunc                ,
+    mk_TranslateFunc                        ,
+    noTranslateFunc                         ,
+    noTranslateFunc_WithClosures            ,
+    wrap_TranslateFunc                      ,
+
+
+-- ** TreeCellDataFunc #signal:TreeCellDataFunc#
+
+    C_TreeCellDataFunc                      ,
+    TreeCellDataFunc                        ,
+    TreeCellDataFunc_WithClosures           ,
+    drop_closures_TreeCellDataFunc          ,
+    dynamic_TreeCellDataFunc                ,
+    genClosure_TreeCellDataFunc             ,
+    mk_TreeCellDataFunc                     ,
+    noTreeCellDataFunc                      ,
+    noTreeCellDataFunc_WithClosures         ,
+    wrap_TreeCellDataFunc                   ,
+
+
+-- ** TreeDestroyCountFunc #signal:TreeDestroyCountFunc#
+
+    C_TreeDestroyCountFunc                  ,
+    TreeDestroyCountFunc                    ,
+    TreeDestroyCountFunc_WithClosures       ,
+    drop_closures_TreeDestroyCountFunc      ,
+    dynamic_TreeDestroyCountFunc            ,
+    genClosure_TreeDestroyCountFunc         ,
+    mk_TreeDestroyCountFunc                 ,
+    noTreeDestroyCountFunc                  ,
+    noTreeDestroyCountFunc_WithClosures     ,
+    wrap_TreeDestroyCountFunc               ,
+
+
+-- ** TreeIterCompareFunc #signal:TreeIterCompareFunc#
+
+    C_TreeIterCompareFunc                   ,
+    TreeIterCompareFunc                     ,
+    TreeIterCompareFunc_WithClosures        ,
+    drop_closures_TreeIterCompareFunc       ,
+    dynamic_TreeIterCompareFunc             ,
+    genClosure_TreeIterCompareFunc          ,
+    mk_TreeIterCompareFunc                  ,
+    noTreeIterCompareFunc                   ,
+    noTreeIterCompareFunc_WithClosures      ,
+    wrap_TreeIterCompareFunc                ,
+
+
+-- ** TreeModelFilterVisibleFunc #signal:TreeModelFilterVisibleFunc#
+
+    C_TreeModelFilterVisibleFunc            ,
+    TreeModelFilterVisibleFunc              ,
+    TreeModelFilterVisibleFunc_WithClosures ,
+    drop_closures_TreeModelFilterVisibleFunc,
+    dynamic_TreeModelFilterVisibleFunc      ,
+    genClosure_TreeModelFilterVisibleFunc   ,
+    mk_TreeModelFilterVisibleFunc           ,
+    noTreeModelFilterVisibleFunc            ,
+    noTreeModelFilterVisibleFunc_WithClosures,
+    wrap_TreeModelFilterVisibleFunc         ,
+
+
+-- ** TreeModelForeachFunc #signal:TreeModelForeachFunc#
+
+    C_TreeModelForeachFunc                  ,
+    TreeModelForeachFunc                    ,
+    TreeModelForeachFunc_WithClosures       ,
+    drop_closures_TreeModelForeachFunc      ,
+    dynamic_TreeModelForeachFunc            ,
+    genClosure_TreeModelForeachFunc         ,
+    mk_TreeModelForeachFunc                 ,
+    noTreeModelForeachFunc                  ,
+    noTreeModelForeachFunc_WithClosures     ,
+    wrap_TreeModelForeachFunc               ,
+
+
+-- ** TreeSelectionForeachFunc #signal:TreeSelectionForeachFunc#
+
+    C_TreeSelectionForeachFunc              ,
+    TreeSelectionForeachFunc                ,
+    TreeSelectionForeachFunc_WithClosures   ,
+    drop_closures_TreeSelectionForeachFunc  ,
+    dynamic_TreeSelectionForeachFunc        ,
+    genClosure_TreeSelectionForeachFunc     ,
+    mk_TreeSelectionForeachFunc             ,
+    noTreeSelectionForeachFunc              ,
+    noTreeSelectionForeachFunc_WithClosures ,
+    wrap_TreeSelectionForeachFunc           ,
+
+
+-- ** TreeSelectionFunc #signal:TreeSelectionFunc#
+
+    C_TreeSelectionFunc                     ,
+    TreeSelectionFunc                       ,
+    TreeSelectionFunc_WithClosures          ,
+    drop_closures_TreeSelectionFunc         ,
+    dynamic_TreeSelectionFunc               ,
+    genClosure_TreeSelectionFunc            ,
+    mk_TreeSelectionFunc                    ,
+    noTreeSelectionFunc                     ,
+    noTreeSelectionFunc_WithClosures        ,
+    wrap_TreeSelectionFunc                  ,
+
+
+-- ** TreeViewColumnDropFunc #signal:TreeViewColumnDropFunc#
+
+    C_TreeViewColumnDropFunc                ,
+    TreeViewColumnDropFunc                  ,
+    TreeViewColumnDropFunc_WithClosures     ,
+    drop_closures_TreeViewColumnDropFunc    ,
+    dynamic_TreeViewColumnDropFunc          ,
+    genClosure_TreeViewColumnDropFunc       ,
+    mk_TreeViewColumnDropFunc               ,
+    noTreeViewColumnDropFunc                ,
+    noTreeViewColumnDropFunc_WithClosures   ,
+    wrap_TreeViewColumnDropFunc             ,
+
+
+-- ** TreeViewMappingFunc #signal:TreeViewMappingFunc#
+
+    C_TreeViewMappingFunc                   ,
+    TreeViewMappingFunc                     ,
+    TreeViewMappingFunc_WithClosures        ,
+    drop_closures_TreeViewMappingFunc       ,
+    dynamic_TreeViewMappingFunc             ,
+    genClosure_TreeViewMappingFunc          ,
+    mk_TreeViewMappingFunc                  ,
+    noTreeViewMappingFunc                   ,
+    noTreeViewMappingFunc_WithClosures      ,
+    wrap_TreeViewMappingFunc                ,
+
+
+-- ** TreeViewRowSeparatorFunc #signal:TreeViewRowSeparatorFunc#
+
+    C_TreeViewRowSeparatorFunc              ,
+    TreeViewRowSeparatorFunc                ,
+    TreeViewRowSeparatorFunc_WithClosures   ,
+    drop_closures_TreeViewRowSeparatorFunc  ,
+    dynamic_TreeViewRowSeparatorFunc        ,
+    genClosure_TreeViewRowSeparatorFunc     ,
+    mk_TreeViewRowSeparatorFunc             ,
+    noTreeViewRowSeparatorFunc              ,
+    noTreeViewRowSeparatorFunc_WithClosures ,
+    wrap_TreeViewRowSeparatorFunc           ,
+
+
+-- ** TreeViewSearchEqualFunc #signal:TreeViewSearchEqualFunc#
+
+    C_TreeViewSearchEqualFunc               ,
+    TreeViewSearchEqualFunc                 ,
+    TreeViewSearchEqualFunc_WithClosures    ,
+    drop_closures_TreeViewSearchEqualFunc   ,
+    dynamic_TreeViewSearchEqualFunc         ,
+    genClosure_TreeViewSearchEqualFunc      ,
+    mk_TreeViewSearchEqualFunc              ,
+    noTreeViewSearchEqualFunc               ,
+    noTreeViewSearchEqualFunc_WithClosures  ,
+    wrap_TreeViewSearchEqualFunc            ,
+
+
+-- ** TreeViewSearchPositionFunc #signal:TreeViewSearchPositionFunc#
+
+    C_TreeViewSearchPositionFunc            ,
+    TreeViewSearchPositionFunc              ,
+    TreeViewSearchPositionFunc_WithClosures ,
+    drop_closures_TreeViewSearchPositionFunc,
+    dynamic_TreeViewSearchPositionFunc      ,
+    genClosure_TreeViewSearchPositionFunc   ,
+    mk_TreeViewSearchPositionFunc           ,
+    noTreeViewSearchPositionFunc            ,
+    noTreeViewSearchPositionFunc_WithClosures,
+    wrap_TreeViewSearchPositionFunc         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Structs.String as GLib.String
+import qualified GI.GObject.Flags as GObject.Flags
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gdk.Objects.Display as Gdk.Display
+import qualified GI.Gdk.Objects.FrameClock as Gdk.FrameClock
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gdk.Structs.Atom as Gdk.Atom
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Builder as Gtk.Builder
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Calendar as Gtk.Calendar
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Clipboard as Gtk.Clipboard
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EntryCompletion as Gtk.EntryCompletion
+import {-# SOURCE #-} qualified GI.Gtk.Objects.FlowBox as Gtk.FlowBox
+import {-# SOURCE #-} qualified GI.Gtk.Objects.FlowBoxChild as Gtk.FlowBoxChild
+import {-# SOURCE #-} qualified GI.Gtk.Objects.IconView as Gtk.IconView
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ListBox as Gtk.ListBox
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ListBoxRow as Gtk.ListBoxRow
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Menu as Gtk.Menu
+import {-# SOURCE #-} qualified GI.Gtk.Objects.PageSetup as Gtk.PageSetup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextTag as Gtk.TextTag
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TreeSelection as Gtk.TreeSelection
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TreeView as Gtk.TreeView
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TreeViewColumn as Gtk.TreeViewColumn
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.AccelKey as Gtk.AccelKey
+import {-# SOURCE #-} qualified GI.Gtk.Structs.FileFilterInfo as Gtk.FileFilterInfo
+import {-# SOURCE #-} qualified GI.Gtk.Structs.RecentFilterInfo as Gtk.RecentFilterInfo
+import {-# SOURCE #-} qualified GI.Gtk.Structs.RecentInfo as Gtk.RecentInfo
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SelectionData as Gtk.SelectionData
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TextIter as Gtk.TextIter
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+import qualified GI.Pango.Objects.FontFace as Pango.FontFace
+import qualified GI.Pango.Objects.FontFamily as Pango.FontFamily
+
+-- callback TreeViewSearchPositionFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_dialog", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewSearchPositionFunc =
+    Ptr Gtk.TreeView.TreeView ->
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_dialog", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeViewSearchPositionFunc :: FunPtr C_TreeViewSearchPositionFunc -> C_TreeViewSearchPositionFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeViewSearchPositionFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeView.IsTreeView a, Gtk.Widget.IsWidget b) =>
+    FunPtr C_TreeViewSearchPositionFunc
+    -> a
+    -> b
+    -> Ptr ()
+    -> m ()
+dynamic_TreeViewSearchPositionFunc __funPtr treeView searchDialog userData = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    searchDialog' <- unsafeManagedPtrCastPtr searchDialog
+    (__dynamic_C_TreeViewSearchPositionFunc __funPtr) treeView' searchDialog' userData
+    touchManagedPtr treeView
+    touchManagedPtr searchDialog
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewSearchPositionFunc`.
+foreign import ccall "wrapper"
+    mk_TreeViewSearchPositionFunc :: C_TreeViewSearchPositionFunc -> IO (FunPtr C_TreeViewSearchPositionFunc)
+
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewSearchPositionFunc =
+    Gtk.TreeView.TreeView
+    -> Gtk.Widget.Widget
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewSearchPositionFunc`@.
+noTreeViewSearchPositionFunc :: Maybe TreeViewSearchPositionFunc
+noTreeViewSearchPositionFunc = Nothing
+
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewSearchPositionFunc_WithClosures =
+    Gtk.TreeView.TreeView
+    -> Gtk.Widget.Widget
+    -> Ptr ()
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewSearchPositionFunc_WithClosures`@.
+noTreeViewSearchPositionFunc_WithClosures :: Maybe TreeViewSearchPositionFunc_WithClosures
+noTreeViewSearchPositionFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeViewSearchPositionFunc :: TreeViewSearchPositionFunc -> TreeViewSearchPositionFunc_WithClosures
+drop_closures_TreeViewSearchPositionFunc _f treeView searchDialog _ = _f treeView searchDialog
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewSearchPositionFunc :: MonadIO m => TreeViewSearchPositionFunc -> m (GClosure C_TreeViewSearchPositionFunc)
+genClosure_TreeViewSearchPositionFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeViewSearchPositionFunc cb
+    let cb'' = wrap_TreeViewSearchPositionFunc Nothing cb'
+    mk_TreeViewSearchPositionFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewSearchPositionFunc` into a `C_TreeViewSearchPositionFunc`.
+wrap_TreeViewSearchPositionFunc ::
+    Maybe (Ptr (FunPtr C_TreeViewSearchPositionFunc)) ->
+    TreeViewSearchPositionFunc_WithClosures ->
+    C_TreeViewSearchPositionFunc
+wrap_TreeViewSearchPositionFunc funptrptr _cb treeView searchDialog userData = do
+    treeView' <- (newObject Gtk.TreeView.TreeView) treeView
+    searchDialog' <- (newObject Gtk.Widget.Widget) searchDialog
+    _cb  treeView' searchDialog' userData
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback TreeViewSearchEqualFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE if the row matches, %TRUE otherwise.", sinceVersion = Nothing}, args = [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeModel being searched", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the search column set by gtk_tree_view_set_search_column()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key string to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter pointing the row of @model that should be compared\n with @key.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data from gtk_tree_view_set_search_equal_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function used for checking whether a row in @model matches\na search key string entered by the user. Note the return value\nis reversed from what you would normally expect, though it\nhas some similarity to strcmp() returning 0 for equal strings.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewSearchEqualFunc =
+    Ptr Gtk.TreeModel.TreeModel ->
+    Int32 ->
+    CString ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeModel being searched", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the search column set by gtk_tree_view_set_search_column()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key string to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter pointing the row of @model that should be compared\n with @key.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data from gtk_tree_view_set_search_equal_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeViewSearchEqualFunc :: FunPtr C_TreeViewSearchEqualFunc -> C_TreeViewSearchEqualFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeViewSearchEqualFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    FunPtr C_TreeViewSearchEqualFunc
+    -> a
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' being searched -}
+    -> Int32
+    {- ^ /@column@/: the search column set by 'GI.Gtk.Objects.TreeView.treeViewSetSearchColumn' -}
+    -> T.Text
+    {- ^ /@key@/: the key string to compare with -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' pointing the row of /@model@/ that should be compared
+ with /@key@/. -}
+    -> Ptr ()
+    {- ^ /@searchData@/: user data from 'GI.Gtk.Objects.TreeView.treeViewSetSearchEqualFunc' -}
+    -> m Bool
+    {- ^ __Returns:__ 'False' if the row matches, 'True' otherwise. -}
+dynamic_TreeViewSearchEqualFunc __funPtr model column key iter searchData = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    key' <- textToCString key
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- (__dynamic_C_TreeViewSearchEqualFunc __funPtr) model' column key' iter' searchData
+    let result' = (/= 0) result
+    touchManagedPtr model
+    touchManagedPtr iter
+    freeMem key'
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewSearchEqualFunc`.
+foreign import ccall "wrapper"
+    mk_TreeViewSearchEqualFunc :: C_TreeViewSearchEqualFunc -> IO (FunPtr C_TreeViewSearchEqualFunc)
+
+{- |
+A function used for checking whether a row in /@model@/ matches
+a search key string entered by the user. Note the return value
+is reversed from what you would normally expect, though it
+has some similarity to @/strcmp()/@ returning 0 for equal strings.
+-}
+type TreeViewSearchEqualFunc =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' being searched -}
+    -> Int32
+    {- ^ /@column@/: the search column set by 'GI.Gtk.Objects.TreeView.treeViewSetSearchColumn' -}
+    -> T.Text
+    {- ^ /@key@/: the key string to compare with -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' pointing the row of /@model@/ that should be compared
+ with /@key@/. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'False' if the row matches, 'True' otherwise. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewSearchEqualFunc`@.
+noTreeViewSearchEqualFunc :: Maybe TreeViewSearchEqualFunc
+noTreeViewSearchEqualFunc = Nothing
+
+{- |
+A function used for checking whether a row in /@model@/ matches
+a search key string entered by the user. Note the return value
+is reversed from what you would normally expect, though it
+has some similarity to @/strcmp()/@ returning 0 for equal strings.
+-}
+type TreeViewSearchEqualFunc_WithClosures =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' being searched -}
+    -> Int32
+    {- ^ /@column@/: the search column set by 'GI.Gtk.Objects.TreeView.treeViewSetSearchColumn' -}
+    -> T.Text
+    {- ^ /@key@/: the key string to compare with -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' pointing the row of /@model@/ that should be compared
+ with /@key@/. -}
+    -> Ptr ()
+    {- ^ /@searchData@/: user data from 'GI.Gtk.Objects.TreeView.treeViewSetSearchEqualFunc' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'False' if the row matches, 'True' otherwise. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewSearchEqualFunc_WithClosures`@.
+noTreeViewSearchEqualFunc_WithClosures :: Maybe TreeViewSearchEqualFunc_WithClosures
+noTreeViewSearchEqualFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeViewSearchEqualFunc :: TreeViewSearchEqualFunc -> TreeViewSearchEqualFunc_WithClosures
+drop_closures_TreeViewSearchEqualFunc _f model column key iter _ = _f model column key iter
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewSearchEqualFunc :: MonadIO m => TreeViewSearchEqualFunc -> m (GClosure C_TreeViewSearchEqualFunc)
+genClosure_TreeViewSearchEqualFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeViewSearchEqualFunc cb
+    let cb'' = wrap_TreeViewSearchEqualFunc Nothing cb'
+    mk_TreeViewSearchEqualFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewSearchEqualFunc` into a `C_TreeViewSearchEqualFunc`.
+wrap_TreeViewSearchEqualFunc ::
+    Maybe (Ptr (FunPtr C_TreeViewSearchEqualFunc)) ->
+    TreeViewSearchEqualFunc_WithClosures ->
+    C_TreeViewSearchEqualFunc
+wrap_TreeViewSearchEqualFunc funptrptr _cb model column key iter searchData = do
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    key' <- cstringToText key
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        result <- _cb  model' column key' iter' searchData
+        maybeReleaseFunPtr funptrptr
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+-- callback TreeViewRowSeparatorFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the row is a separator", sinceVersion = Nothing}, args = [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter pointing at a row in @model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function type for determining whether the row pointed to by @iter should\nbe rendered as a separator. A common way to implement this is to have a\nboolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc\nreturns.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewRowSeparatorFunc =
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter pointing at a row in @model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeViewRowSeparatorFunc :: FunPtr C_TreeViewRowSeparatorFunc -> C_TreeViewRowSeparatorFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeViewRowSeparatorFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    FunPtr C_TreeViewRowSeparatorFunc
+    -> a
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' pointing at a row in /@model@/ -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the row is a separator -}
+dynamic_TreeViewRowSeparatorFunc __funPtr model iter data_ = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- (__dynamic_C_TreeViewRowSeparatorFunc __funPtr) model' iter' data_
+    let result' = (/= 0) result
+    touchManagedPtr model
+    touchManagedPtr iter
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewRowSeparatorFunc`.
+foreign import ccall "wrapper"
+    mk_TreeViewRowSeparatorFunc :: C_TreeViewRowSeparatorFunc -> IO (FunPtr C_TreeViewRowSeparatorFunc)
+
+{- |
+Function type for determining whether the row pointed to by /@iter@/ should
+be rendered as a separator. A common way to implement this is to have a
+boolean column in the model, whose values the 'GI.Gtk.Callbacks.TreeViewRowSeparatorFunc'
+returns.
+-}
+type TreeViewRowSeparatorFunc =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' pointing at a row in /@model@/ -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the row is a separator -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewRowSeparatorFunc`@.
+noTreeViewRowSeparatorFunc :: Maybe TreeViewRowSeparatorFunc
+noTreeViewRowSeparatorFunc = Nothing
+
+{- |
+Function type for determining whether the row pointed to by /@iter@/ should
+be rendered as a separator. A common way to implement this is to have a
+boolean column in the model, whose values the 'GI.Gtk.Callbacks.TreeViewRowSeparatorFunc'
+returns.
+-}
+type TreeViewRowSeparatorFunc_WithClosures =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' pointing at a row in /@model@/ -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the row is a separator -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewRowSeparatorFunc_WithClosures`@.
+noTreeViewRowSeparatorFunc_WithClosures :: Maybe TreeViewRowSeparatorFunc_WithClosures
+noTreeViewRowSeparatorFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeViewRowSeparatorFunc :: TreeViewRowSeparatorFunc -> TreeViewRowSeparatorFunc_WithClosures
+drop_closures_TreeViewRowSeparatorFunc _f model iter _ = _f model iter
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewRowSeparatorFunc :: MonadIO m => TreeViewRowSeparatorFunc -> m (GClosure C_TreeViewRowSeparatorFunc)
+genClosure_TreeViewRowSeparatorFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeViewRowSeparatorFunc cb
+    let cb'' = wrap_TreeViewRowSeparatorFunc Nothing cb'
+    mk_TreeViewRowSeparatorFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewRowSeparatorFunc` into a `C_TreeViewRowSeparatorFunc`.
+wrap_TreeViewRowSeparatorFunc ::
+    Maybe (Ptr (FunPtr C_TreeViewRowSeparatorFunc)) ->
+    TreeViewRowSeparatorFunc_WithClosures ->
+    C_TreeViewRowSeparatorFunc
+wrap_TreeViewRowSeparatorFunc funptrptr _cb model iter data_ = do
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        result <- _cb  model' iter' data_
+        maybeReleaseFunPtr funptrptr
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+-- callback TreeViewMappingFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The path that\8217s expanded", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function used for gtk_tree_view_map_expanded_rows().", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewMappingFunc =
+    Ptr Gtk.TreeView.TreeView ->
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The path that\8217s expanded", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeViewMappingFunc :: FunPtr C_TreeViewMappingFunc -> C_TreeViewMappingFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeViewMappingFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeView.IsTreeView a) =>
+    FunPtr C_TreeViewMappingFunc
+    -> a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The path that’s expanded -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m ()
+dynamic_TreeViewMappingFunc __funPtr treeView path userData = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    (__dynamic_C_TreeViewMappingFunc __funPtr) treeView' path' userData
+    touchManagedPtr treeView
+    touchManagedPtr path
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewMappingFunc`.
+foreign import ccall "wrapper"
+    mk_TreeViewMappingFunc :: C_TreeViewMappingFunc -> IO (FunPtr C_TreeViewMappingFunc)
+
+{- |
+Function used for 'GI.Gtk.Objects.TreeView.treeViewMapExpandedRows'.
+-}
+type TreeViewMappingFunc =
+    Gtk.TreeView.TreeView
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The path that’s expanded -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewMappingFunc`@.
+noTreeViewMappingFunc :: Maybe TreeViewMappingFunc
+noTreeViewMappingFunc = Nothing
+
+{- |
+Function used for 'GI.Gtk.Objects.TreeView.treeViewMapExpandedRows'.
+-}
+type TreeViewMappingFunc_WithClosures =
+    Gtk.TreeView.TreeView
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The path that’s expanded -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewMappingFunc_WithClosures`@.
+noTreeViewMappingFunc_WithClosures :: Maybe TreeViewMappingFunc_WithClosures
+noTreeViewMappingFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeViewMappingFunc :: TreeViewMappingFunc -> TreeViewMappingFunc_WithClosures
+drop_closures_TreeViewMappingFunc _f treeView path _ = _f treeView path
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewMappingFunc :: MonadIO m => TreeViewMappingFunc -> m (GClosure C_TreeViewMappingFunc)
+genClosure_TreeViewMappingFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeViewMappingFunc cb
+    let cb'' = wrap_TreeViewMappingFunc Nothing cb'
+    mk_TreeViewMappingFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewMappingFunc` into a `C_TreeViewMappingFunc`.
+wrap_TreeViewMappingFunc ::
+    Maybe (Ptr (FunPtr C_TreeViewMappingFunc)) ->
+    TreeViewMappingFunc_WithClosures ->
+    C_TreeViewMappingFunc
+wrap_TreeViewMappingFunc funptrptr _cb treeView path userData = do
+    treeView' <- (newObject Gtk.TreeView.TreeView) treeView
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        _cb  treeView' path' userData
+        maybeReleaseFunPtr funptrptr
+
+
+-- callback TreeViewColumnDropFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE, if @column can be dropped in this spot", sinceVersion = Nothing}, args = [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumn being dragged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prev_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn on one side of @column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "next_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn on the other side of @column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function type for determining whether @column can be dropped in a\nparticular spot (as determined by @prev_column and @next_column).  In\nleft to right locales, @prev_column is on the left of the potential drop\nspot, and @next_column is on the right.  In right to left mode, this is\nreversed.  This function should return %TRUE if the spot is a valid drop\nspot.  Please note that returning %TRUE does not actually indicate that\nthe column drop was made, but is meant only to indicate a possible drop\nspot to the user.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewColumnDropFunc =
+    Ptr Gtk.TreeView.TreeView ->
+    Ptr Gtk.TreeViewColumn.TreeViewColumn ->
+    Ptr Gtk.TreeViewColumn.TreeViewColumn ->
+    Ptr Gtk.TreeViewColumn.TreeViewColumn ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumn being dragged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prev_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn on one side of @column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "next_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn on the other side of @column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeViewColumnDropFunc :: FunPtr C_TreeViewColumnDropFunc -> C_TreeViewColumnDropFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeViewColumnDropFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeView.IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b, Gtk.TreeViewColumn.IsTreeViewColumn c, Gtk.TreeViewColumn.IsTreeViewColumn d) =>
+    FunPtr C_TreeViewColumnDropFunc
+    -> a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> b
+    {- ^ /@column@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' being dragged -}
+    -> c
+    {- ^ /@prevColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' on one side of /@column@/ -}
+    -> d
+    {- ^ /@nextColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' on the other side of /@column@/ -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if /@column@/ can be dropped in this spot -}
+dynamic_TreeViewColumnDropFunc __funPtr treeView column prevColumn nextColumn data_ = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    column' <- unsafeManagedPtrCastPtr column
+    prevColumn' <- unsafeManagedPtrCastPtr prevColumn
+    nextColumn' <- unsafeManagedPtrCastPtr nextColumn
+    result <- (__dynamic_C_TreeViewColumnDropFunc __funPtr) treeView' column' prevColumn' nextColumn' data_
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    touchManagedPtr column
+    touchManagedPtr prevColumn
+    touchManagedPtr nextColumn
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewColumnDropFunc`.
+foreign import ccall "wrapper"
+    mk_TreeViewColumnDropFunc :: C_TreeViewColumnDropFunc -> IO (FunPtr C_TreeViewColumnDropFunc)
+
+{- |
+Function type for determining whether /@column@/ can be dropped in a
+particular spot (as determined by /@prevColumn@/ and /@nextColumn@/).  In
+left to right locales, /@prevColumn@/ is on the left of the potential drop
+spot, and /@nextColumn@/ is on the right.  In right to left mode, this is
+reversed.  This function should return 'True' if the spot is a valid drop
+spot.  Please note that returning 'True' does not actually indicate that
+the column drop was made, but is meant only to indicate a possible drop
+spot to the user.
+-}
+type TreeViewColumnDropFunc =
+    Gtk.TreeView.TreeView
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ /@column@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' being dragged -}
+    -> Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ /@prevColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' on one side of /@column@/ -}
+    -> Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ /@nextColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' on the other side of /@column@/ -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True', if /@column@/ can be dropped in this spot -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewColumnDropFunc`@.
+noTreeViewColumnDropFunc :: Maybe TreeViewColumnDropFunc
+noTreeViewColumnDropFunc = Nothing
+
+{- |
+Function type for determining whether /@column@/ can be dropped in a
+particular spot (as determined by /@prevColumn@/ and /@nextColumn@/).  In
+left to right locales, /@prevColumn@/ is on the left of the potential drop
+spot, and /@nextColumn@/ is on the right.  In right to left mode, this is
+reversed.  This function should return 'True' if the spot is a valid drop
+spot.  Please note that returning 'True' does not actually indicate that
+the column drop was made, but is meant only to indicate a possible drop
+spot to the user.
+-}
+type TreeViewColumnDropFunc_WithClosures =
+    Gtk.TreeView.TreeView
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ /@column@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' being dragged -}
+    -> Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ /@prevColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' on one side of /@column@/ -}
+    -> Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ /@nextColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' on the other side of /@column@/ -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True', if /@column@/ can be dropped in this spot -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewColumnDropFunc_WithClosures`@.
+noTreeViewColumnDropFunc_WithClosures :: Maybe TreeViewColumnDropFunc_WithClosures
+noTreeViewColumnDropFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeViewColumnDropFunc :: TreeViewColumnDropFunc -> TreeViewColumnDropFunc_WithClosures
+drop_closures_TreeViewColumnDropFunc _f treeView column prevColumn nextColumn _ = _f treeView column prevColumn nextColumn
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewColumnDropFunc :: MonadIO m => TreeViewColumnDropFunc -> m (GClosure C_TreeViewColumnDropFunc)
+genClosure_TreeViewColumnDropFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeViewColumnDropFunc cb
+    let cb'' = wrap_TreeViewColumnDropFunc Nothing cb'
+    mk_TreeViewColumnDropFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewColumnDropFunc` into a `C_TreeViewColumnDropFunc`.
+wrap_TreeViewColumnDropFunc ::
+    Maybe (Ptr (FunPtr C_TreeViewColumnDropFunc)) ->
+    TreeViewColumnDropFunc_WithClosures ->
+    C_TreeViewColumnDropFunc
+wrap_TreeViewColumnDropFunc funptrptr _cb treeView column prevColumn nextColumn data_ = do
+    treeView' <- (newObject Gtk.TreeView.TreeView) treeView
+    column' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) column
+    prevColumn' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) prevColumn
+    nextColumn' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) nextColumn
+    result <- _cb  treeView' column' prevColumn' nextColumn' data_
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback TreeSelectionFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE, if the selection state of the row can be toggled", sinceVersion = Nothing}, args = [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModel being viewed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath of the row in question", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path_currently_selected", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE, if the path is currently selected", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function used by gtk_tree_selection_set_select_function() to filter\nwhether or not a row may be selected.  It is called whenever a row's\nstate might change.  A return value of %TRUE indicates to @selection\nthat it is okay to change the selection.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeSelectionFunc =
+    Ptr Gtk.TreeSelection.TreeSelection ->
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreePath.TreePath ->
+    CInt ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModel being viewed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath of the row in question", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path_currently_selected", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE, if the path is currently selected", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeSelectionFunc :: FunPtr C_TreeSelectionFunc -> C_TreeSelectionFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeSelectionFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeSelection.IsTreeSelection a, Gtk.TreeModel.IsTreeModel b) =>
+    FunPtr C_TreeSelectionFunc
+    -> a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection' -}
+    -> b
+    {- ^ /@model@/: A 'GI.Gtk.Interfaces.TreeModel.TreeModel' being viewed -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' of the row in question -}
+    -> Bool
+    {- ^ /@pathCurrentlySelected@/: 'True', if the path is currently selected -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if the selection state of the row can be toggled -}
+dynamic_TreeSelectionFunc __funPtr selection model path pathCurrentlySelected data_ = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    model' <- unsafeManagedPtrCastPtr model
+    path' <- unsafeManagedPtrGetPtr path
+    let pathCurrentlySelected' = (fromIntegral . fromEnum) pathCurrentlySelected
+    result <- (__dynamic_C_TreeSelectionFunc __funPtr) selection' model' path' pathCurrentlySelected' data_
+    let result' = (/= 0) result
+    touchManagedPtr selection
+    touchManagedPtr model
+    touchManagedPtr path
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_TreeSelectionFunc`.
+foreign import ccall "wrapper"
+    mk_TreeSelectionFunc :: C_TreeSelectionFunc -> IO (FunPtr C_TreeSelectionFunc)
+
+{- |
+A function used by 'GI.Gtk.Objects.TreeSelection.treeSelectionSetSelectFunction' to filter
+whether or not a row may be selected.  It is called whenever a row\'s
+state might change.  A return value of 'True' indicates to /@selection@/
+that it is okay to change the selection.
+-}
+type TreeSelectionFunc =
+    Gtk.TreeSelection.TreeSelection
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection' -}
+    -> Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: A 'GI.Gtk.Interfaces.TreeModel.TreeModel' being viewed -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' of the row in question -}
+    -> Bool
+    {- ^ /@pathCurrentlySelected@/: 'True', if the path is currently selected -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True', if the selection state of the row can be toggled -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeSelectionFunc`@.
+noTreeSelectionFunc :: Maybe TreeSelectionFunc
+noTreeSelectionFunc = Nothing
+
+{- |
+A function used by 'GI.Gtk.Objects.TreeSelection.treeSelectionSetSelectFunction' to filter
+whether or not a row may be selected.  It is called whenever a row\'s
+state might change.  A return value of 'True' indicates to /@selection@/
+that it is okay to change the selection.
+-}
+type TreeSelectionFunc_WithClosures =
+    Gtk.TreeSelection.TreeSelection
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection' -}
+    -> Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: A 'GI.Gtk.Interfaces.TreeModel.TreeModel' being viewed -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' of the row in question -}
+    -> Bool
+    {- ^ /@pathCurrentlySelected@/: 'True', if the path is currently selected -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True', if the selection state of the row can be toggled -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeSelectionFunc_WithClosures`@.
+noTreeSelectionFunc_WithClosures :: Maybe TreeSelectionFunc_WithClosures
+noTreeSelectionFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeSelectionFunc :: TreeSelectionFunc -> TreeSelectionFunc_WithClosures
+drop_closures_TreeSelectionFunc _f selection model path pathCurrentlySelected _ = _f selection model path pathCurrentlySelected
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeSelectionFunc :: MonadIO m => TreeSelectionFunc -> m (GClosure C_TreeSelectionFunc)
+genClosure_TreeSelectionFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeSelectionFunc cb
+    let cb'' = wrap_TreeSelectionFunc Nothing cb'
+    mk_TreeSelectionFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeSelectionFunc` into a `C_TreeSelectionFunc`.
+wrap_TreeSelectionFunc ::
+    Maybe (Ptr (FunPtr C_TreeSelectionFunc)) ->
+    TreeSelectionFunc_WithClosures ->
+    C_TreeSelectionFunc
+wrap_TreeSelectionFunc funptrptr _cb selection model path pathCurrentlySelected data_ = do
+    selection' <- (newObject Gtk.TreeSelection.TreeSelection) selection
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        let pathCurrentlySelected' = (/= 0) pathCurrentlySelected
+        result <- _cb  selection' model' path' pathCurrentlySelected' data_
+        maybeReleaseFunPtr funptrptr
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+-- callback TreeSelectionForeachFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeModel being viewed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath of a selected row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter pointing to a selected row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function used by gtk_tree_selection_selected_foreach() to map all\nselected rows.  It will be called on every selected row in the view.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeSelectionForeachFunc =
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeModel being viewed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath of a selected row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter pointing to a selected row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeSelectionForeachFunc :: FunPtr C_TreeSelectionForeachFunc -> C_TreeSelectionForeachFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeSelectionForeachFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    FunPtr C_TreeSelectionForeachFunc
+    -> a
+    {- ^ /@model@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' being viewed -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' of a selected row -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to a selected row -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> m ()
+dynamic_TreeSelectionForeachFunc __funPtr model path iter data_ = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    path' <- unsafeManagedPtrGetPtr path
+    iter' <- unsafeManagedPtrGetPtr iter
+    (__dynamic_C_TreeSelectionForeachFunc __funPtr) model' path' iter' data_
+    touchManagedPtr model
+    touchManagedPtr path
+    touchManagedPtr iter
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeSelectionForeachFunc`.
+foreign import ccall "wrapper"
+    mk_TreeSelectionForeachFunc :: C_TreeSelectionForeachFunc -> IO (FunPtr C_TreeSelectionForeachFunc)
+
+{- |
+A function used by 'GI.Gtk.Objects.TreeSelection.treeSelectionSelectedForeach' to map all
+selected rows.  It will be called on every selected row in the view.
+-}
+type TreeSelectionForeachFunc =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' being viewed -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' of a selected row -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to a selected row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeSelectionForeachFunc`@.
+noTreeSelectionForeachFunc :: Maybe TreeSelectionForeachFunc
+noTreeSelectionForeachFunc = Nothing
+
+{- |
+A function used by 'GI.Gtk.Objects.TreeSelection.treeSelectionSelectedForeach' to map all
+selected rows.  It will be called on every selected row in the view.
+-}
+type TreeSelectionForeachFunc_WithClosures =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' being viewed -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' of a selected row -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to a selected row -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeSelectionForeachFunc_WithClosures`@.
+noTreeSelectionForeachFunc_WithClosures :: Maybe TreeSelectionForeachFunc_WithClosures
+noTreeSelectionForeachFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeSelectionForeachFunc :: TreeSelectionForeachFunc -> TreeSelectionForeachFunc_WithClosures
+drop_closures_TreeSelectionForeachFunc _f model path iter _ = _f model path iter
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeSelectionForeachFunc :: MonadIO m => TreeSelectionForeachFunc -> m (GClosure C_TreeSelectionForeachFunc)
+genClosure_TreeSelectionForeachFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeSelectionForeachFunc cb
+    let cb'' = wrap_TreeSelectionForeachFunc Nothing cb'
+    mk_TreeSelectionForeachFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeSelectionForeachFunc` into a `C_TreeSelectionForeachFunc`.
+wrap_TreeSelectionForeachFunc ::
+    Maybe (Ptr (FunPtr C_TreeSelectionForeachFunc)) ->
+    TreeSelectionForeachFunc_WithClosures ->
+    C_TreeSelectionForeachFunc
+wrap_TreeSelectionForeachFunc funptrptr _cb model path iter data_ = do
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+            _cb  model' path' iter' data_
+            maybeReleaseFunPtr funptrptr
+
+
+-- callback TreeModelForeachFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE to stop iterating, %FALSE to continue", sinceVersion = Nothing}, args = [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeModel being iterated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the current #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the current #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The user data passed to gtk_tree_model_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Type of the callback passed to gtk_tree_model_foreach() to\niterate over the rows in a tree model.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeModelForeachFunc =
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeModel being iterated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the current #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the current #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The user data passed to gtk_tree_model_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeModelForeachFunc :: FunPtr C_TreeModelForeachFunc -> C_TreeModelForeachFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeModelForeachFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    FunPtr C_TreeModelForeachFunc
+    -> a
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' being iterated -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: the current 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the current 'GI.Gtk.Structs.TreeIter.TreeIter' -}
+    -> Ptr ()
+    {- ^ /@data@/: The user data passed to 'GI.Gtk.Interfaces.TreeModel.treeModelForeach' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' to stop iterating, 'False' to continue -}
+dynamic_TreeModelForeachFunc __funPtr model path iter data_ = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    path' <- unsafeManagedPtrGetPtr path
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- (__dynamic_C_TreeModelForeachFunc __funPtr) model' path' iter' data_
+    let result' = (/= 0) result
+    touchManagedPtr model
+    touchManagedPtr path
+    touchManagedPtr iter
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_TreeModelForeachFunc`.
+foreign import ccall "wrapper"
+    mk_TreeModelForeachFunc :: C_TreeModelForeachFunc -> IO (FunPtr C_TreeModelForeachFunc)
+
+{- |
+Type of the callback passed to 'GI.Gtk.Interfaces.TreeModel.treeModelForeach' to
+iterate over the rows in a tree model.
+-}
+type TreeModelForeachFunc =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' being iterated -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: the current 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the current 'GI.Gtk.Structs.TreeIter.TreeIter' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop iterating, 'False' to continue -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeModelForeachFunc`@.
+noTreeModelForeachFunc :: Maybe TreeModelForeachFunc
+noTreeModelForeachFunc = Nothing
+
+{- |
+Type of the callback passed to 'GI.Gtk.Interfaces.TreeModel.treeModelForeach' to
+iterate over the rows in a tree model.
+-}
+type TreeModelForeachFunc_WithClosures =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' being iterated -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: the current 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the current 'GI.Gtk.Structs.TreeIter.TreeIter' -}
+    -> Ptr ()
+    {- ^ /@data@/: The user data passed to 'GI.Gtk.Interfaces.TreeModel.treeModelForeach' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop iterating, 'False' to continue -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeModelForeachFunc_WithClosures`@.
+noTreeModelForeachFunc_WithClosures :: Maybe TreeModelForeachFunc_WithClosures
+noTreeModelForeachFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeModelForeachFunc :: TreeModelForeachFunc -> TreeModelForeachFunc_WithClosures
+drop_closures_TreeModelForeachFunc _f model path iter _ = _f model path iter
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeModelForeachFunc :: MonadIO m => TreeModelForeachFunc -> m (GClosure C_TreeModelForeachFunc)
+genClosure_TreeModelForeachFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeModelForeachFunc cb
+    let cb'' = wrap_TreeModelForeachFunc Nothing cb'
+    mk_TreeModelForeachFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeModelForeachFunc` into a `C_TreeModelForeachFunc`.
+wrap_TreeModelForeachFunc ::
+    Maybe (Ptr (FunPtr C_TreeModelForeachFunc)) ->
+    TreeModelForeachFunc_WithClosures ->
+    C_TreeModelForeachFunc
+wrap_TreeModelForeachFunc funptrptr _cb model path iter data_ = do
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+            result <- _cb  model' path' iter' data_
+            maybeReleaseFunPtr funptrptr
+            let result' = (fromIntegral . fromEnum) result
+            return result'
+
+
+-- callback TreeModelFilterVisibleFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "Whether the row indicated by @iter is visible.", sinceVersion = Nothing}, args = [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child model of the #GtkTreeModelFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter pointing to the row in @model whose visibility\n  is determined", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data given to gtk_tree_model_filter_set_visible_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function which decides whether the row indicated by @iter is visible.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeModelFilterVisibleFunc =
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child model of the #GtkTreeModelFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter pointing to the row in @model whose visibility\n  is determined", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data given to gtk_tree_model_filter_set_visible_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeModelFilterVisibleFunc :: FunPtr C_TreeModelFilterVisibleFunc -> C_TreeModelFilterVisibleFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeModelFilterVisibleFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    FunPtr C_TreeModelFilterVisibleFunc
+    -> a
+    {- ^ /@model@/: the child model of the 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to the row in /@model@/ whose visibility
+  is determined -}
+    -> Ptr ()
+    {- ^ /@data@/: user data given to 'GI.Gtk.Objects.TreeModelFilter.treeModelFilterSetVisibleFunc' -}
+    -> m Bool
+    {- ^ __Returns:__ Whether the row indicated by /@iter@/ is visible. -}
+dynamic_TreeModelFilterVisibleFunc __funPtr model iter data_ = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- (__dynamic_C_TreeModelFilterVisibleFunc __funPtr) model' iter' data_
+    let result' = (/= 0) result
+    touchManagedPtr model
+    touchManagedPtr iter
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_TreeModelFilterVisibleFunc`.
+foreign import ccall "wrapper"
+    mk_TreeModelFilterVisibleFunc :: C_TreeModelFilterVisibleFunc -> IO (FunPtr C_TreeModelFilterVisibleFunc)
+
+{- |
+A function which decides whether the row indicated by /@iter@/ is visible.
+-}
+type TreeModelFilterVisibleFunc =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the child model of the 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to the row in /@model@/ whose visibility
+  is determined -}
+    -> IO Bool
+    {- ^ __Returns:__ Whether the row indicated by /@iter@/ is visible. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeModelFilterVisibleFunc`@.
+noTreeModelFilterVisibleFunc :: Maybe TreeModelFilterVisibleFunc
+noTreeModelFilterVisibleFunc = Nothing
+
+{- |
+A function which decides whether the row indicated by /@iter@/ is visible.
+-}
+type TreeModelFilterVisibleFunc_WithClosures =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the child model of the 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to the row in /@model@/ whose visibility
+  is determined -}
+    -> Ptr ()
+    {- ^ /@data@/: user data given to 'GI.Gtk.Objects.TreeModelFilter.treeModelFilterSetVisibleFunc' -}
+    -> IO Bool
+    {- ^ __Returns:__ Whether the row indicated by /@iter@/ is visible. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeModelFilterVisibleFunc_WithClosures`@.
+noTreeModelFilterVisibleFunc_WithClosures :: Maybe TreeModelFilterVisibleFunc_WithClosures
+noTreeModelFilterVisibleFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeModelFilterVisibleFunc :: TreeModelFilterVisibleFunc -> TreeModelFilterVisibleFunc_WithClosures
+drop_closures_TreeModelFilterVisibleFunc _f model iter _ = _f model iter
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeModelFilterVisibleFunc :: MonadIO m => TreeModelFilterVisibleFunc -> m (GClosure C_TreeModelFilterVisibleFunc)
+genClosure_TreeModelFilterVisibleFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeModelFilterVisibleFunc cb
+    let cb'' = wrap_TreeModelFilterVisibleFunc Nothing cb'
+    mk_TreeModelFilterVisibleFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeModelFilterVisibleFunc` into a `C_TreeModelFilterVisibleFunc`.
+wrap_TreeModelFilterVisibleFunc ::
+    Maybe (Ptr (FunPtr C_TreeModelFilterVisibleFunc)) ->
+    TreeModelFilterVisibleFunc_WithClosures ->
+    C_TreeModelFilterVisibleFunc
+wrap_TreeModelFilterVisibleFunc funptrptr _cb model iter data_ = do
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        result <- _cb  model' iter' data_
+        maybeReleaseFunPtr funptrptr
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+-- callback TreeModelFilterModifyFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeModelFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter pointing to the row whose display values are determined", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GValue which is already initialized for\n with the correct type for the column @column.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column whose display value is determined", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data given to gtk_tree_model_filter_set_modify_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function which calculates display values from raw values in the model.\nIt must fill @value with the display value for the column @column in the\nrow indicated by @iter.\n\nSince this function is called for each data access, it\8217s not a\nparticularly efficient operation.", sinceVersion = Nothing}}
+-- XXX Could not generate callback wrapper for TreeModelFilterModifyFunc
+-- Error was : Not implemented: "Unexpected transfer type for \"value\""
+-- callback TreeIterCompareFunc
+--          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a negative integer, zero or a positive integer depending on whether\n  @a sorts before, with or after @b", sinceVersion = Nothing}, args = [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeModel the comparison is within", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter in @model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Another #GtkTreeIter in @model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Data passed when the compare func is assigned e.g. by\n gtk_tree_sortable_set_sort_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive\ninteger if @a sorts before @b, @a sorts with @b, or @a sorts after @b\nrespectively. If two iters compare as equal, their order in the sorted model\nis undefined. In order to ensure that the #GtkTreeSortable behaves as\nexpected, the GtkTreeIterCompareFunc must define a partial order on\nthe model, i.e. it must be reflexive, antisymmetric and transitive.\n\nFor example, if @model is a product catalogue, then a compare function\nfor the \8220price\8221 column could be one which returns\n`price_of(@a) - price_of(@b)`.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeIterCompareFunc =
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->
+    IO Int32
+
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeModel the comparison is within", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter in @model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Another #GtkTreeIter in @model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Data passed when the compare func is assigned e.g. by\n gtk_tree_sortable_set_sort_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeIterCompareFunc :: FunPtr C_TreeIterCompareFunc -> C_TreeIterCompareFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeIterCompareFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    FunPtr C_TreeIterCompareFunc
+    -> a
+    {- ^ /@model@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' the comparison is within -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@a@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' in /@model@/ -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@b@/: Another 'GI.Gtk.Structs.TreeIter.TreeIter' in /@model@/ -}
+    -> Ptr ()
+    {- ^ /@userData@/: Data passed when the compare func is assigned e.g. by
+ 'GI.Gtk.Interfaces.TreeSortable.treeSortableSetSortFunc' -}
+    -> m Int32
+    {- ^ __Returns:__ a negative integer, zero or a positive integer depending on whether
+  /@a@/ sorts before, with or after /@b@/ -}
+dynamic_TreeIterCompareFunc __funPtr model a b userData = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    a' <- unsafeManagedPtrGetPtr a
+    b' <- unsafeManagedPtrGetPtr b
+    result <- (__dynamic_C_TreeIterCompareFunc __funPtr) model' a' b' userData
+    touchManagedPtr model
+    touchManagedPtr a
+    touchManagedPtr b
+    return result
+
+-- | Generate a function pointer callable from C code, from a `C_TreeIterCompareFunc`.
+foreign import ccall "wrapper"
+    mk_TreeIterCompareFunc :: C_TreeIterCompareFunc -> IO (FunPtr C_TreeIterCompareFunc)
+
+{- |
+A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive
+integer if /@a@/ sorts before /@b@/, /@a@/ sorts with /@b@/, or /@a@/ sorts after /@b@/
+respectively. If two iters compare as equal, their order in the sorted model
+is undefined. In order to ensure that the 'GI.Gtk.Interfaces.TreeSortable.TreeSortable' behaves as
+expected, the GtkTreeIterCompareFunc must define a partial order on
+the model, i.e. it must be reflexive, antisymmetric and transitive.
+
+For example, if /@model@/ is a product catalogue, then a compare function
+for the “price” column could be one which returns
+@price_of(\@a) - price_of(\@b)@.
+-}
+type TreeIterCompareFunc =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' the comparison is within -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@a@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' in /@model@/ -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@b@/: Another 'GI.Gtk.Structs.TreeIter.TreeIter' in /@model@/ -}
+    -> IO Int32
+    {- ^ __Returns:__ a negative integer, zero or a positive integer depending on whether
+  /@a@/ sorts before, with or after /@b@/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeIterCompareFunc`@.
+noTreeIterCompareFunc :: Maybe TreeIterCompareFunc
+noTreeIterCompareFunc = Nothing
+
+{- |
+A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive
+integer if /@a@/ sorts before /@b@/, /@a@/ sorts with /@b@/, or /@a@/ sorts after /@b@/
+respectively. If two iters compare as equal, their order in the sorted model
+is undefined. In order to ensure that the 'GI.Gtk.Interfaces.TreeSortable.TreeSortable' behaves as
+expected, the GtkTreeIterCompareFunc must define a partial order on
+the model, i.e. it must be reflexive, antisymmetric and transitive.
+
+For example, if /@model@/ is a product catalogue, then a compare function
+for the “price” column could be one which returns
+@price_of(\@a) - price_of(\@b)@.
+-}
+type TreeIterCompareFunc_WithClosures =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' the comparison is within -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@a@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' in /@model@/ -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@b@/: Another 'GI.Gtk.Structs.TreeIter.TreeIter' in /@model@/ -}
+    -> Ptr ()
+    {- ^ /@userData@/: Data passed when the compare func is assigned e.g. by
+ 'GI.Gtk.Interfaces.TreeSortable.treeSortableSetSortFunc' -}
+    -> IO Int32
+    {- ^ __Returns:__ a negative integer, zero or a positive integer depending on whether
+  /@a@/ sorts before, with or after /@b@/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeIterCompareFunc_WithClosures`@.
+noTreeIterCompareFunc_WithClosures :: Maybe TreeIterCompareFunc_WithClosures
+noTreeIterCompareFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeIterCompareFunc :: TreeIterCompareFunc -> TreeIterCompareFunc_WithClosures
+drop_closures_TreeIterCompareFunc _f model a b _ = _f model a b
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeIterCompareFunc :: MonadIO m => TreeIterCompareFunc -> m (GClosure C_TreeIterCompareFunc)
+genClosure_TreeIterCompareFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeIterCompareFunc cb
+    let cb'' = wrap_TreeIterCompareFunc Nothing cb'
+    mk_TreeIterCompareFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeIterCompareFunc` into a `C_TreeIterCompareFunc`.
+wrap_TreeIterCompareFunc ::
+    Maybe (Ptr (FunPtr C_TreeIterCompareFunc)) ->
+    TreeIterCompareFunc_WithClosures ->
+    C_TreeIterCompareFunc
+wrap_TreeIterCompareFunc funptrptr _cb model a b userData = do
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter a $ \a' -> do
+        B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter b $ \b' -> do
+            result <- _cb  model' a' b' userData
+            maybeReleaseFunPtr funptrptr
+            return result
+
+
+-- callback TreeDestroyCountFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "children", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeDestroyCountFunc =
+    Ptr Gtk.TreeView.TreeView ->
+    Ptr Gtk.TreePath.TreePath ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "children", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeDestroyCountFunc :: FunPtr C_TreeDestroyCountFunc -> C_TreeDestroyCountFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeDestroyCountFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeView.IsTreeView a) =>
+    FunPtr C_TreeDestroyCountFunc
+    -> a
+    -> Gtk.TreePath.TreePath
+    -> Int32
+    -> Ptr ()
+    -> m ()
+dynamic_TreeDestroyCountFunc __funPtr treeView path children userData = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    (__dynamic_C_TreeDestroyCountFunc __funPtr) treeView' path' children userData
+    touchManagedPtr treeView
+    touchManagedPtr path
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeDestroyCountFunc`.
+foreign import ccall "wrapper"
+    mk_TreeDestroyCountFunc :: C_TreeDestroyCountFunc -> IO (FunPtr C_TreeDestroyCountFunc)
+
+{- |
+/No description available in the introspection data./
+-}
+type TreeDestroyCountFunc =
+    Gtk.TreeView.TreeView
+    -> Gtk.TreePath.TreePath
+    -> Int32
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeDestroyCountFunc`@.
+noTreeDestroyCountFunc :: Maybe TreeDestroyCountFunc
+noTreeDestroyCountFunc = Nothing
+
+{- |
+/No description available in the introspection data./
+-}
+type TreeDestroyCountFunc_WithClosures =
+    Gtk.TreeView.TreeView
+    -> Gtk.TreePath.TreePath
+    -> Int32
+    -> Ptr ()
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeDestroyCountFunc_WithClosures`@.
+noTreeDestroyCountFunc_WithClosures :: Maybe TreeDestroyCountFunc_WithClosures
+noTreeDestroyCountFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeDestroyCountFunc :: TreeDestroyCountFunc -> TreeDestroyCountFunc_WithClosures
+drop_closures_TreeDestroyCountFunc _f treeView path children _ = _f treeView path children
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeDestroyCountFunc :: MonadIO m => TreeDestroyCountFunc -> m (GClosure C_TreeDestroyCountFunc)
+genClosure_TreeDestroyCountFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeDestroyCountFunc cb
+    let cb'' = wrap_TreeDestroyCountFunc Nothing cb'
+    mk_TreeDestroyCountFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeDestroyCountFunc` into a `C_TreeDestroyCountFunc`.
+wrap_TreeDestroyCountFunc ::
+    Maybe (Ptr (FunPtr C_TreeDestroyCountFunc)) ->
+    TreeDestroyCountFunc_WithClosures ->
+    C_TreeDestroyCountFunc
+wrap_TreeDestroyCountFunc funptrptr _cb treeView path children userData = do
+    treeView' <- (newObject Gtk.TreeView.TreeView) treeView
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        _cb  treeView' path' children userData
+        maybeReleaseFunPtr funptrptr
+
+
+-- callback TreeCellDataFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkCellRenderer that is being rendered by @tree_column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeModel being rendered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter of the current row rendered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to set the properties of a cell instead of just using the\nstraight mapping between the cell and the model.  This is useful for\ncustomizing the cell renderer.  For example, a function might get an\ninteger from the @tree_model, and render it to the \8220text\8221 attribute of\n\8220cell\8221 by converting it to its written equivalent.  This is set by\ncalling gtk_tree_view_column_set_cell_data_func()", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeCellDataFunc =
+    Ptr Gtk.TreeViewColumn.TreeViewColumn ->
+    Ptr Gtk.CellRenderer.CellRenderer ->
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkCellRenderer that is being rendered by @tree_column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeModel being rendered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter of the current row rendered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TreeCellDataFunc :: FunPtr C_TreeCellDataFunc -> C_TreeCellDataFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TreeCellDataFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeViewColumn.IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b, Gtk.TreeModel.IsTreeModel c) =>
+    FunPtr C_TreeCellDataFunc
+    -> a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> b
+    {- ^ /@cell@/: The 'GI.Gtk.Objects.CellRenderer.CellRenderer' that is being rendered by /@treeColumn@/ -}
+    -> c
+    {- ^ /@treeModel@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' being rendered -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' of the current row rendered -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> m ()
+dynamic_TreeCellDataFunc __funPtr treeColumn cell treeModel iter data_ = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    cell' <- unsafeManagedPtrCastPtr cell
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    (__dynamic_C_TreeCellDataFunc __funPtr) treeColumn' cell' treeModel' iter' data_
+    touchManagedPtr treeColumn
+    touchManagedPtr cell
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeCellDataFunc`.
+foreign import ccall "wrapper"
+    mk_TreeCellDataFunc :: C_TreeCellDataFunc -> IO (FunPtr C_TreeCellDataFunc)
+
+{- |
+A function to set the properties of a cell instead of just using the
+straight mapping between the cell and the model.  This is useful for
+customizing the cell renderer.  For example, a function might get an
+integer from the /@treeModel@/, and render it to the “text” attribute of
+“cell” by converting it to its written equivalent.  This is set by
+calling 'GI.Gtk.Objects.TreeViewColumn.treeViewColumnSetCellDataFunc'
+-}
+type TreeCellDataFunc =
+    Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> Gtk.CellRenderer.CellRenderer
+    {- ^ /@cell@/: The 'GI.Gtk.Objects.CellRenderer.CellRenderer' that is being rendered by /@treeColumn@/ -}
+    -> Gtk.TreeModel.TreeModel
+    {- ^ /@treeModel@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' being rendered -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' of the current row rendered -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeCellDataFunc`@.
+noTreeCellDataFunc :: Maybe TreeCellDataFunc
+noTreeCellDataFunc = Nothing
+
+{- |
+A function to set the properties of a cell instead of just using the
+straight mapping between the cell and the model.  This is useful for
+customizing the cell renderer.  For example, a function might get an
+integer from the /@treeModel@/, and render it to the “text” attribute of
+“cell” by converting it to its written equivalent.  This is set by
+calling 'GI.Gtk.Objects.TreeViewColumn.treeViewColumnSetCellDataFunc'
+-}
+type TreeCellDataFunc_WithClosures =
+    Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> Gtk.CellRenderer.CellRenderer
+    {- ^ /@cell@/: The 'GI.Gtk.Objects.CellRenderer.CellRenderer' that is being rendered by /@treeColumn@/ -}
+    -> Gtk.TreeModel.TreeModel
+    {- ^ /@treeModel@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' being rendered -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' of the current row rendered -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeCellDataFunc_WithClosures`@.
+noTreeCellDataFunc_WithClosures :: Maybe TreeCellDataFunc_WithClosures
+noTreeCellDataFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TreeCellDataFunc :: TreeCellDataFunc -> TreeCellDataFunc_WithClosures
+drop_closures_TreeCellDataFunc _f treeColumn cell treeModel iter _ = _f treeColumn cell treeModel iter
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeCellDataFunc :: MonadIO m => TreeCellDataFunc -> m (GClosure C_TreeCellDataFunc)
+genClosure_TreeCellDataFunc cb = liftIO $ do
+    let cb' = drop_closures_TreeCellDataFunc cb
+    let cb'' = wrap_TreeCellDataFunc Nothing cb'
+    mk_TreeCellDataFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeCellDataFunc` into a `C_TreeCellDataFunc`.
+wrap_TreeCellDataFunc ::
+    Maybe (Ptr (FunPtr C_TreeCellDataFunc)) ->
+    TreeCellDataFunc_WithClosures ->
+    C_TreeCellDataFunc
+wrap_TreeCellDataFunc funptrptr _cb treeColumn cell treeModel iter data_ = do
+    treeColumn' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) treeColumn
+    cell' <- (newObject Gtk.CellRenderer.CellRenderer) cell
+    treeModel' <- (newObject Gtk.TreeModel.TreeModel) treeModel
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        _cb  treeColumn' cell' treeModel' iter' data_
+        maybeReleaseFunPtr funptrptr
+
+
+-- callback TranslateFunc
+--          -> Callable {returnType = Just (TBasicType TUTF8), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Just "the translated message", sinceVersion = Nothing}, args = [Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The id of the message. In #GtkActionGroup this will be a label\n  or tooltip from a #GtkActionEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed in when registering the\n  function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Just (DeprecationInfo {deprecatedSinceVersion = Just "3.10", deprecationMessage = Nothing}), callableDocumentation = Documentation {rawDocText = Just "The function used to translate messages in e.g. #GtkIconFactory\nand #GtkActionGroup.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TranslateFunc =
+    CString ->
+    Ptr () ->
+    IO CString
+
+-- Args : [Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The id of the message. In #GtkActionGroup this will be a label\n  or tooltip from a #GtkActionEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed in when registering the\n  function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TranslateFunc :: FunPtr C_TranslateFunc -> C_TranslateFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TranslateFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_TranslateFunc
+    -> T.Text
+    {- ^ /@path@/: The id of the message. In 'GI.Gtk.Objects.ActionGroup.ActionGroup' this will be a label
+  or tooltip from a 'GI.Gtk.Structs.ActionEntry.ActionEntry'. -}
+    -> Ptr ()
+    {- ^ /@funcData@/: user data passed in when registering the
+  function -}
+    -> m T.Text
+    {- ^ __Returns:__ the translated message -}
+dynamic_TranslateFunc __funPtr path funcData = liftIO $ do
+    path' <- textToCString path
+    result <- (__dynamic_C_TranslateFunc __funPtr) path' funcData
+    checkUnexpectedReturnNULL "translateFunc" result
+    result' <- cstringToText result
+    freeMem result
+    freeMem path'
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_TranslateFunc`.
+foreign import ccall "wrapper"
+    mk_TranslateFunc :: C_TranslateFunc -> IO (FunPtr C_TranslateFunc)
+
+{-# DEPRECATED TranslateFunc ["(Since version 3.10)"] #-}
+{- |
+The function used to translate messages in e.g. 'GI.Gtk.Objects.IconFactory.IconFactory'
+and 'GI.Gtk.Objects.ActionGroup.ActionGroup'.
+-}
+type TranslateFunc =
+    T.Text
+    {- ^ /@path@/: The id of the message. In 'GI.Gtk.Objects.ActionGroup.ActionGroup' this will be a label
+  or tooltip from a 'GI.Gtk.Structs.ActionEntry.ActionEntry'. -}
+    -> IO T.Text
+    {- ^ __Returns:__ the translated message -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TranslateFunc`@.
+noTranslateFunc :: Maybe TranslateFunc
+noTranslateFunc = Nothing
+
+{- |
+The function used to translate messages in e.g. 'GI.Gtk.Objects.IconFactory.IconFactory'
+and 'GI.Gtk.Objects.ActionGroup.ActionGroup'.
+-}
+type TranslateFunc_WithClosures =
+    T.Text
+    {- ^ /@path@/: The id of the message. In 'GI.Gtk.Objects.ActionGroup.ActionGroup' this will be a label
+  or tooltip from a 'GI.Gtk.Structs.ActionEntry.ActionEntry'. -}
+    -> Ptr ()
+    {- ^ /@funcData@/: user data passed in when registering the
+  function -}
+    -> IO T.Text
+    {- ^ __Returns:__ the translated message -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TranslateFunc_WithClosures`@.
+noTranslateFunc_WithClosures :: Maybe TranslateFunc_WithClosures
+noTranslateFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TranslateFunc :: TranslateFunc -> TranslateFunc_WithClosures
+drop_closures_TranslateFunc _f path _ = _f path
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TranslateFunc :: MonadIO m => TranslateFunc -> m (GClosure C_TranslateFunc)
+genClosure_TranslateFunc cb = liftIO $ do
+    let cb' = drop_closures_TranslateFunc cb
+    let cb'' = wrap_TranslateFunc Nothing cb'
+    mk_TranslateFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TranslateFunc` into a `C_TranslateFunc`.
+wrap_TranslateFunc ::
+    Maybe (Ptr (FunPtr C_TranslateFunc)) ->
+    TranslateFunc_WithClosures ->
+    C_TranslateFunc
+wrap_TranslateFunc funptrptr _cb path funcData = do
+    path' <- cstringToText path
+    result <- _cb  path' funcData
+    maybeReleaseFunPtr funptrptr
+    result' <- textToCString result
+    return result'
+
+
+-- callback TickCallback
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%G_SOURCE_CONTINUE if the tick callback should continue to be called,\n %G_SOURCE_REMOVE if the tick callback should be removed.", sinceVersion = Nothing}, args = [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the frame clock for the widget (same as calling gtk_widget_get_frame_clock())", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_widget_add_tick_callback().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Callback type for adding a function to update animations. See gtk_widget_add_tick_callback().", sinceVersion = Just "3.8"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TickCallback =
+    Ptr Gtk.Widget.Widget ->
+    Ptr Gdk.FrameClock.FrameClock ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the frame clock for the widget (same as calling gtk_widget_get_frame_clock())", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_widget_add_tick_callback().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TickCallback :: FunPtr C_TickCallback -> C_TickCallback
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TickCallback ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a, Gdk.FrameClock.IsFrameClock b) =>
+    FunPtr C_TickCallback
+    -> a
+    {- ^ /@widget@/: the widget -}
+    -> b
+    {- ^ /@frameClock@/: the frame clock for the widget (same as calling 'GI.Gtk.Objects.Widget.widgetGetFrameClock') -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data passed to 'GI.Gtk.Objects.Widget.widgetAddTickCallback'. -}
+    -> m Bool
+    {- ^ __Returns:__ 'GI.GLib.Constants.SOURCE_CONTINUE' if the tick callback should continue to be called,
+ 'GI.GLib.Constants.SOURCE_REMOVE' if the tick callback should be removed. -}
+dynamic_TickCallback __funPtr widget frameClock userData = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    frameClock' <- unsafeManagedPtrCastPtr frameClock
+    result <- (__dynamic_C_TickCallback __funPtr) widget' frameClock' userData
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr frameClock
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_TickCallback`.
+foreign import ccall "wrapper"
+    mk_TickCallback :: C_TickCallback -> IO (FunPtr C_TickCallback)
+
+{- |
+Callback type for adding a function to update animations. See 'GI.Gtk.Objects.Widget.widgetAddTickCallback'.
+
+/Since: 3.8/
+-}
+type TickCallback =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the widget -}
+    -> Gdk.FrameClock.FrameClock
+    {- ^ /@frameClock@/: the frame clock for the widget (same as calling 'GI.Gtk.Objects.Widget.widgetGetFrameClock') -}
+    -> IO Bool
+    {- ^ __Returns:__ 'GI.GLib.Constants.SOURCE_CONTINUE' if the tick callback should continue to be called,
+ 'GI.GLib.Constants.SOURCE_REMOVE' if the tick callback should be removed. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TickCallback`@.
+noTickCallback :: Maybe TickCallback
+noTickCallback = Nothing
+
+{- |
+Callback type for adding a function to update animations. See 'GI.Gtk.Objects.Widget.widgetAddTickCallback'.
+
+/Since: 3.8/
+-}
+type TickCallback_WithClosures =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the widget -}
+    -> Gdk.FrameClock.FrameClock
+    {- ^ /@frameClock@/: the frame clock for the widget (same as calling 'GI.Gtk.Objects.Widget.widgetGetFrameClock') -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data passed to 'GI.Gtk.Objects.Widget.widgetAddTickCallback'. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'GI.GLib.Constants.SOURCE_CONTINUE' if the tick callback should continue to be called,
+ 'GI.GLib.Constants.SOURCE_REMOVE' if the tick callback should be removed. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TickCallback_WithClosures`@.
+noTickCallback_WithClosures :: Maybe TickCallback_WithClosures
+noTickCallback_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TickCallback :: TickCallback -> TickCallback_WithClosures
+drop_closures_TickCallback _f widget frameClock _ = _f widget frameClock
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TickCallback :: MonadIO m => TickCallback -> m (GClosure C_TickCallback)
+genClosure_TickCallback cb = liftIO $ do
+    let cb' = drop_closures_TickCallback cb
+    let cb'' = wrap_TickCallback Nothing cb'
+    mk_TickCallback cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TickCallback` into a `C_TickCallback`.
+wrap_TickCallback ::
+    Maybe (Ptr (FunPtr C_TickCallback)) ->
+    TickCallback_WithClosures ->
+    C_TickCallback
+wrap_TickCallback funptrptr _cb widget frameClock userData = do
+    widget' <- (newObject Gtk.Widget.Widget) widget
+    frameClock' <- (newObject Gdk.FrameClock.FrameClock) frameClock
+    result <- _cb  widget' frameClock' userData
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback TextTagTableForeach
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to gtk_text_tag_table_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextTagTableForeach =
+    Ptr Gtk.TextTag.TextTag ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to gtk_text_tag_table_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TextTagTableForeach :: FunPtr C_TextTagTableForeach -> C_TextTagTableForeach
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TextTagTableForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextTag.IsTextTag a) =>
+    FunPtr C_TextTagTableForeach
+    -> a
+    {- ^ /@tag@/: the 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> Ptr ()
+    {- ^ /@data@/: data passed to 'GI.Gtk.Objects.TextTagTable.textTagTableForeach' -}
+    -> m ()
+dynamic_TextTagTableForeach __funPtr tag data_ = liftIO $ do
+    tag' <- unsafeManagedPtrCastPtr tag
+    (__dynamic_C_TextTagTableForeach __funPtr) tag' data_
+    touchManagedPtr tag
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextTagTableForeach`.
+foreign import ccall "wrapper"
+    mk_TextTagTableForeach :: C_TextTagTableForeach -> IO (FunPtr C_TextTagTableForeach)
+
+{- |
+/No description available in the introspection data./
+-}
+type TextTagTableForeach =
+    Gtk.TextTag.TextTag
+    {- ^ /@tag@/: the 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTagTableForeach`@.
+noTextTagTableForeach :: Maybe TextTagTableForeach
+noTextTagTableForeach = Nothing
+
+{- |
+/No description available in the introspection data./
+-}
+type TextTagTableForeach_WithClosures =
+    Gtk.TextTag.TextTag
+    {- ^ /@tag@/: the 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> Ptr ()
+    {- ^ /@data@/: data passed to 'GI.Gtk.Objects.TextTagTable.textTagTableForeach' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTagTableForeach_WithClosures`@.
+noTextTagTableForeach_WithClosures :: Maybe TextTagTableForeach_WithClosures
+noTextTagTableForeach_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TextTagTableForeach :: TextTagTableForeach -> TextTagTableForeach_WithClosures
+drop_closures_TextTagTableForeach _f tag _ = _f tag
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextTagTableForeach :: MonadIO m => TextTagTableForeach -> m (GClosure C_TextTagTableForeach)
+genClosure_TextTagTableForeach cb = liftIO $ do
+    let cb' = drop_closures_TextTagTableForeach cb
+    let cb'' = wrap_TextTagTableForeach Nothing cb'
+    mk_TextTagTableForeach cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextTagTableForeach` into a `C_TextTagTableForeach`.
+wrap_TextTagTableForeach ::
+    Maybe (Ptr (FunPtr C_TextTagTableForeach)) ->
+    TextTagTableForeach_WithClosures ->
+    C_TextTagTableForeach
+wrap_TextTagTableForeach funptrptr _cb tag data_ = do
+    tag' <- (newObject Gtk.TextTag.TextTag) tag
+    _cb  tag' data_
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback TextCharPredicate
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextCharPredicate =
+    CInt ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TextCharPredicate :: FunPtr C_TextCharPredicate -> C_TextCharPredicate
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TextCharPredicate ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_TextCharPredicate
+    -> Char
+    -> Ptr ()
+    -> m Bool
+dynamic_TextCharPredicate __funPtr ch userData = liftIO $ do
+    let ch' = (fromIntegral . ord) ch
+    result <- (__dynamic_C_TextCharPredicate __funPtr) ch' userData
+    let result' = (/= 0) result
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_TextCharPredicate`.
+foreign import ccall "wrapper"
+    mk_TextCharPredicate :: C_TextCharPredicate -> IO (FunPtr C_TextCharPredicate)
+
+{- |
+/No description available in the introspection data./
+-}
+type TextCharPredicate =
+    Char
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextCharPredicate`@.
+noTextCharPredicate :: Maybe TextCharPredicate
+noTextCharPredicate = Nothing
+
+{- |
+/No description available in the introspection data./
+-}
+type TextCharPredicate_WithClosures =
+    Char
+    -> Ptr ()
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextCharPredicate_WithClosures`@.
+noTextCharPredicate_WithClosures :: Maybe TextCharPredicate_WithClosures
+noTextCharPredicate_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TextCharPredicate :: TextCharPredicate -> TextCharPredicate_WithClosures
+drop_closures_TextCharPredicate _f ch _ = _f ch
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextCharPredicate :: MonadIO m => TextCharPredicate -> m (GClosure C_TextCharPredicate)
+genClosure_TextCharPredicate cb = liftIO $ do
+    let cb' = drop_closures_TextCharPredicate cb
+    let cb'' = wrap_TextCharPredicate Nothing cb'
+    mk_TextCharPredicate cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextCharPredicate` into a `C_TextCharPredicate`.
+wrap_TextCharPredicate ::
+    Maybe (Ptr (FunPtr C_TextCharPredicate)) ->
+    TextCharPredicate_WithClosures ->
+    C_TextCharPredicate
+wrap_TextCharPredicate funptrptr _cb ch userData = do
+    let ch' = (chr . fromIntegral) ch
+    result <- _cb  ch' userData
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback TextBufferSerializeFunc
+--          -> Callable {returnType = Just (TBasicType TUInt8), returnMayBeNull = True, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a newly-allocated array of guint8 which contains\nthe serialized data, or %NULL if an error occurred", sinceVersion = Nothing}, args = [Arg {argCName = "register_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer for which the format is registered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of the block of text to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of the block of text to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the length of the serialized data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that was specified when registering the format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that is called to serialize the content of a text buffer.\nIt must return the serialized form of the content.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferSerializeFunc =
+    Ptr Gtk.TextBuffer.TextBuffer ->
+    Ptr Gtk.TextBuffer.TextBuffer ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr Gtk.TextIter.TextIter ->
+    Word64 ->
+    Ptr () ->
+    IO Word8
+
+-- Args : [Arg {argCName = "register_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer for which the format is registered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of the block of text to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of the block of text to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the length of the serialized data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that was specified when registering the format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TextBufferSerializeFunc :: FunPtr C_TextBufferSerializeFunc -> C_TextBufferSerializeFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TextBufferSerializeFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextBuffer.IsTextBuffer a, Gtk.TextBuffer.IsTextBuffer b) =>
+    FunPtr C_TextBufferSerializeFunc
+    -> a
+    {- ^ /@registerBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' for which the format is registered -}
+    -> b
+    {- ^ /@contentBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' to serialize -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: start of the block of text to serialize -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: end of the block of text to serialize -}
+    -> Word64
+    {- ^ /@length@/: Return location for the length of the serialized data -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data that was specified when registering the format -}
+    -> m Word8
+    {- ^ __Returns:__ a newly-allocated array of guint8 which contains
+the serialized data, or 'Nothing' if an error occurred -}
+dynamic_TextBufferSerializeFunc __funPtr registerBuffer contentBuffer start end length_ userData = liftIO $ do
+    registerBuffer' <- unsafeManagedPtrCastPtr registerBuffer
+    contentBuffer' <- unsafeManagedPtrCastPtr contentBuffer
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    result <- (__dynamic_C_TextBufferSerializeFunc __funPtr) registerBuffer' contentBuffer' start' end' length_ userData
+    touchManagedPtr registerBuffer
+    touchManagedPtr contentBuffer
+    touchManagedPtr start
+    touchManagedPtr end
+    return result
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferSerializeFunc`.
+foreign import ccall "wrapper"
+    mk_TextBufferSerializeFunc :: C_TextBufferSerializeFunc -> IO (FunPtr C_TextBufferSerializeFunc)
+
+{- |
+A function that is called to serialize the content of a text buffer.
+It must return the serialized form of the content.
+-}
+type TextBufferSerializeFunc =
+    Gtk.TextBuffer.TextBuffer
+    {- ^ /@registerBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' for which the format is registered -}
+    -> Gtk.TextBuffer.TextBuffer
+    {- ^ /@contentBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' to serialize -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: start of the block of text to serialize -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: end of the block of text to serialize -}
+    -> Word64
+    {- ^ /@length@/: Return location for the length of the serialized data -}
+    -> IO Word8
+    {- ^ __Returns:__ a newly-allocated array of guint8 which contains
+the serialized data, or 'Nothing' if an error occurred -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferSerializeFunc`@.
+noTextBufferSerializeFunc :: Maybe TextBufferSerializeFunc
+noTextBufferSerializeFunc = Nothing
+
+{- |
+A function that is called to serialize the content of a text buffer.
+It must return the serialized form of the content.
+-}
+type TextBufferSerializeFunc_WithClosures =
+    Gtk.TextBuffer.TextBuffer
+    {- ^ /@registerBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' for which the format is registered -}
+    -> Gtk.TextBuffer.TextBuffer
+    {- ^ /@contentBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' to serialize -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: start of the block of text to serialize -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: end of the block of text to serialize -}
+    -> Word64
+    {- ^ /@length@/: Return location for the length of the serialized data -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data that was specified when registering the format -}
+    -> IO Word8
+    {- ^ __Returns:__ a newly-allocated array of guint8 which contains
+the serialized data, or 'Nothing' if an error occurred -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferSerializeFunc_WithClosures`@.
+noTextBufferSerializeFunc_WithClosures :: Maybe TextBufferSerializeFunc_WithClosures
+noTextBufferSerializeFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TextBufferSerializeFunc :: TextBufferSerializeFunc -> TextBufferSerializeFunc_WithClosures
+drop_closures_TextBufferSerializeFunc _f registerBuffer contentBuffer start end length_ _ = _f registerBuffer contentBuffer start end length_
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferSerializeFunc :: MonadIO m => TextBufferSerializeFunc -> m (GClosure C_TextBufferSerializeFunc)
+genClosure_TextBufferSerializeFunc cb = liftIO $ do
+    let cb' = drop_closures_TextBufferSerializeFunc cb
+    let cb'' = wrap_TextBufferSerializeFunc Nothing cb'
+    mk_TextBufferSerializeFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferSerializeFunc` into a `C_TextBufferSerializeFunc`.
+wrap_TextBufferSerializeFunc ::
+    Maybe (Ptr (FunPtr C_TextBufferSerializeFunc)) ->
+    TextBufferSerializeFunc_WithClosures ->
+    C_TextBufferSerializeFunc
+wrap_TextBufferSerializeFunc funptrptr _cb registerBuffer contentBuffer start end length_ userData = do
+    registerBuffer' <- (newObject Gtk.TextBuffer.TextBuffer) registerBuffer
+    contentBuffer' <- (newObject Gtk.TextBuffer.TextBuffer) contentBuffer
+    B.ManagedPtr.withTransient Gtk.TextIter.TextIter start $ \start' -> do
+        B.ManagedPtr.withTransient Gtk.TextIter.TextIter end $ \end' -> do
+            result <- _cb  registerBuffer' contentBuffer' start' end' length_ userData
+            maybeReleaseFunPtr funptrptr
+            return result
+
+
+-- callback TextBufferDeserializeFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE on success, %FALSE otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "register_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer the format is registered with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer to deserialize into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "insertion point for the deserialized text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "data to deserialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "create_tags", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if deserializing may create tags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that was specified when registering the format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that is called to deserialize rich text that has been\nserialized with gtk_text_buffer_serialize(), and insert it at @iter.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferDeserializeFunc =
+    Ptr Gtk.TextBuffer.TextBuffer ->
+    Ptr Gtk.TextBuffer.TextBuffer ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr Word8 ->
+    Word64 ->
+    CInt ->
+    Ptr () ->
+    Ptr (Ptr GError) ->
+    IO CInt
+
+-- Args : [Arg {argCName = "register_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer the format is registered with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer to deserialize into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "insertion point for the deserialized text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "data to deserialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "create_tags", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if deserializing may create tags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that was specified when registering the format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_TextBufferDeserializeFunc :: FunPtr C_TextBufferDeserializeFunc -> C_TextBufferDeserializeFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_TextBufferDeserializeFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextBuffer.IsTextBuffer a, Gtk.TextBuffer.IsTextBuffer b) =>
+    FunPtr C_TextBufferDeserializeFunc
+    -> a
+    {- ^ /@registerBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' the format is registered with -}
+    -> b
+    {- ^ /@contentBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' to deserialize into -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: insertion point for the deserialized text -}
+    -> ByteString
+    {- ^ /@data@/: data to deserialize -}
+    -> Bool
+    {- ^ /@createTags@/: 'True' if deserializing may create tags -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data that was specified when registering the format -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+dynamic_TextBufferDeserializeFunc __funPtr registerBuffer contentBuffer iter data_ createTags userData = liftIO $ do
+    let length_ = fromIntegral $ B.length data_
+    registerBuffer' <- unsafeManagedPtrCastPtr registerBuffer
+    contentBuffer' <- unsafeManagedPtrCastPtr contentBuffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    data_' <- packByteString data_
+    let createTags' = (fromIntegral . fromEnum) createTags
+    onException (do
+        _ <- propagateGError $ (__dynamic_C_TextBufferDeserializeFunc __funPtr) registerBuffer' contentBuffer' iter' data_' length_ createTags' userData
+        touchManagedPtr registerBuffer
+        touchManagedPtr contentBuffer
+        touchManagedPtr iter
+        freeMem data_'
+        return ()
+     ) (do
+        freeMem data_'
+     )
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferDeserializeFunc`.
+foreign import ccall "wrapper"
+    mk_TextBufferDeserializeFunc :: C_TextBufferDeserializeFunc -> IO (FunPtr C_TextBufferDeserializeFunc)
+
+{- |
+A function that is called to deserialize rich text that has been
+serialized with 'GI.Gtk.Objects.TextBuffer.textBufferSerialize', and insert it at /@iter@/.
+-}
+type TextBufferDeserializeFunc =
+    Gtk.TextBuffer.TextBuffer
+    {- ^ /@registerBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' the format is registered with -}
+    -> Gtk.TextBuffer.TextBuffer
+    {- ^ /@contentBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' to deserialize into -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: insertion point for the deserialized text -}
+    -> ByteString
+    {- ^ /@data@/: data to deserialize -}
+    -> Bool
+    {- ^ /@createTags@/: 'True' if deserializing may create tags -}
+    -> IO ()
+    {- ^ __Returns:__ 'True' on success, 'False' otherwise /(Can throw 'Data.GI.Base.GError.GError')/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferDeserializeFunc`@.
+noTextBufferDeserializeFunc :: Maybe TextBufferDeserializeFunc
+noTextBufferDeserializeFunc = Nothing
+
+{- |
+A function that is called to deserialize rich text that has been
+serialized with 'GI.Gtk.Objects.TextBuffer.textBufferSerialize', and insert it at /@iter@/.
+-}
+type TextBufferDeserializeFunc_WithClosures =
+    Gtk.TextBuffer.TextBuffer
+    {- ^ /@registerBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' the format is registered with -}
+    -> Gtk.TextBuffer.TextBuffer
+    {- ^ /@contentBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' to deserialize into -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: insertion point for the deserialized text -}
+    -> ByteString
+    {- ^ /@data@/: data to deserialize -}
+    -> Bool
+    {- ^ /@createTags@/: 'True' if deserializing may create tags -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data that was specified when registering the format -}
+    -> IO ()
+    {- ^ __Returns:__ 'True' on success, 'False' otherwise /(Can throw 'Data.GI.Base.GError.GError')/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferDeserializeFunc_WithClosures`@.
+noTextBufferDeserializeFunc_WithClosures :: Maybe TextBufferDeserializeFunc_WithClosures
+noTextBufferDeserializeFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_TextBufferDeserializeFunc :: TextBufferDeserializeFunc -> TextBufferDeserializeFunc_WithClosures
+drop_closures_TextBufferDeserializeFunc _f registerBuffer contentBuffer iter data_ createTags _ = _f registerBuffer contentBuffer iter data_ createTags
+
+-- No Haskell->C wrapper generated since the function throws.
+
+-- callback StylePropertyParser
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_StylePropertyParser =
+    CString ->
+    Ptr GValue ->
+    Ptr (Ptr GError) ->
+    IO CInt
+
+-- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_StylePropertyParser :: FunPtr C_StylePropertyParser -> C_StylePropertyParser
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_StylePropertyParser ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_StylePropertyParser
+    -> T.Text
+    -> GValue
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+dynamic_StylePropertyParser __funPtr string value = liftIO $ do
+    string' <- textToCString string
+    value' <- unsafeManagedPtrGetPtr value
+    onException (do
+        _ <- propagateGError $ (__dynamic_C_StylePropertyParser __funPtr) string' value'
+        touchManagedPtr value
+        freeMem string'
+        return ()
+     ) (do
+        freeMem string'
+     )
+
+-- | Generate a function pointer callable from C code, from a `C_StylePropertyParser`.
+foreign import ccall "wrapper"
+    mk_StylePropertyParser :: C_StylePropertyParser -> IO (FunPtr C_StylePropertyParser)
+
+{- |
+/No description available in the introspection data./
+-}
+type StylePropertyParser =
+    T.Text
+    -> GValue
+    -> IO ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StylePropertyParser`@.
+noStylePropertyParser :: Maybe StylePropertyParser
+noStylePropertyParser = Nothing
+
+-- No Haskell->C wrapper generated since the function throws.
+
+-- callback RecentSortFunc
+--          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "a", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_RecentSortFunc =
+    Ptr Gtk.RecentInfo.RecentInfo ->
+    Ptr Gtk.RecentInfo.RecentInfo ->
+    Ptr () ->
+    IO Int32
+
+-- Args : [Arg {argCName = "a", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_RecentSortFunc :: FunPtr C_RecentSortFunc -> C_RecentSortFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_RecentSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_RecentSortFunc
+    -> Gtk.RecentInfo.RecentInfo
+    -> Gtk.RecentInfo.RecentInfo
+    -> Ptr ()
+    -> m Int32
+dynamic_RecentSortFunc __funPtr a b userData = liftIO $ do
+    a' <- unsafeManagedPtrGetPtr a
+    b' <- unsafeManagedPtrGetPtr b
+    result <- (__dynamic_C_RecentSortFunc __funPtr) a' b' userData
+    touchManagedPtr a
+    touchManagedPtr b
+    return result
+
+-- | Generate a function pointer callable from C code, from a `C_RecentSortFunc`.
+foreign import ccall "wrapper"
+    mk_RecentSortFunc :: C_RecentSortFunc -> IO (FunPtr C_RecentSortFunc)
+
+{- |
+/No description available in the introspection data./
+-}
+type RecentSortFunc =
+    Gtk.RecentInfo.RecentInfo
+    -> Gtk.RecentInfo.RecentInfo
+    -> IO Int32
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RecentSortFunc`@.
+noRecentSortFunc :: Maybe RecentSortFunc
+noRecentSortFunc = Nothing
+
+{- |
+/No description available in the introspection data./
+-}
+type RecentSortFunc_WithClosures =
+    Gtk.RecentInfo.RecentInfo
+    -> Gtk.RecentInfo.RecentInfo
+    -> Ptr ()
+    -> IO Int32
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RecentSortFunc_WithClosures`@.
+noRecentSortFunc_WithClosures :: Maybe RecentSortFunc_WithClosures
+noRecentSortFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_RecentSortFunc :: RecentSortFunc -> RecentSortFunc_WithClosures
+drop_closures_RecentSortFunc _f a b _ = _f a b
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RecentSortFunc :: MonadIO m => RecentSortFunc -> m (GClosure C_RecentSortFunc)
+genClosure_RecentSortFunc cb = liftIO $ do
+    let cb' = drop_closures_RecentSortFunc cb
+    let cb'' = wrap_RecentSortFunc Nothing cb'
+    mk_RecentSortFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RecentSortFunc` into a `C_RecentSortFunc`.
+wrap_RecentSortFunc ::
+    Maybe (Ptr (FunPtr C_RecentSortFunc)) ->
+    RecentSortFunc_WithClosures ->
+    C_RecentSortFunc
+wrap_RecentSortFunc funptrptr _cb a b userData = do
+    B.ManagedPtr.withTransient Gtk.RecentInfo.RecentInfo a $ \a' -> do
+        B.ManagedPtr.withTransient Gtk.RecentInfo.RecentInfo b $ \b' -> do
+            result <- _cb  a' b' userData
+            maybeReleaseFunPtr funptrptr
+            return result
+
+
+-- callback RecentFilterFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the file should be displayed", sinceVersion = Nothing}, args = [Arg {argCName = "filter_info", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilterInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilterInfo that is filled according\n to the @needed flags passed to gtk_recent_filter_add_custom()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_recent_filter_add_custom()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of function that is used with custom filters,\nsee gtk_recent_filter_add_custom().", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_RecentFilterFunc =
+    Ptr Gtk.RecentFilterInfo.RecentFilterInfo ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "filter_info", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilterInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilterInfo that is filled according\n to the @needed flags passed to gtk_recent_filter_add_custom()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_recent_filter_add_custom()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_RecentFilterFunc :: FunPtr C_RecentFilterFunc -> C_RecentFilterFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_RecentFilterFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_RecentFilterFunc
+    -> Gtk.RecentFilterInfo.RecentFilterInfo
+    {- ^ /@filterInfo@/: a 'GI.Gtk.Structs.RecentFilterInfo.RecentFilterInfo' that is filled according
+ to the /@needed@/ flags passed to 'GI.Gtk.Objects.RecentFilter.recentFilterAddCustom' -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data passed to 'GI.Gtk.Objects.RecentFilter.recentFilterAddCustom' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the file should be displayed -}
+dynamic_RecentFilterFunc __funPtr filterInfo userData = liftIO $ do
+    filterInfo' <- unsafeManagedPtrGetPtr filterInfo
+    result <- (__dynamic_C_RecentFilterFunc __funPtr) filterInfo' userData
+    let result' = (/= 0) result
+    touchManagedPtr filterInfo
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_RecentFilterFunc`.
+foreign import ccall "wrapper"
+    mk_RecentFilterFunc :: C_RecentFilterFunc -> IO (FunPtr C_RecentFilterFunc)
+
+{- |
+The type of function that is used with custom filters,
+see 'GI.Gtk.Objects.RecentFilter.recentFilterAddCustom'.
+-}
+type RecentFilterFunc =
+    Gtk.RecentFilterInfo.RecentFilterInfo
+    {- ^ /@filterInfo@/: a 'GI.Gtk.Structs.RecentFilterInfo.RecentFilterInfo' that is filled according
+ to the /@needed@/ flags passed to 'GI.Gtk.Objects.RecentFilter.recentFilterAddCustom' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the file should be displayed -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RecentFilterFunc`@.
+noRecentFilterFunc :: Maybe RecentFilterFunc
+noRecentFilterFunc = Nothing
+
+{- |
+The type of function that is used with custom filters,
+see 'GI.Gtk.Objects.RecentFilter.recentFilterAddCustom'.
+-}
+type RecentFilterFunc_WithClosures =
+    Gtk.RecentFilterInfo.RecentFilterInfo
+    {- ^ /@filterInfo@/: a 'GI.Gtk.Structs.RecentFilterInfo.RecentFilterInfo' that is filled according
+ to the /@needed@/ flags passed to 'GI.Gtk.Objects.RecentFilter.recentFilterAddCustom' -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data passed to 'GI.Gtk.Objects.RecentFilter.recentFilterAddCustom' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the file should be displayed -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RecentFilterFunc_WithClosures`@.
+noRecentFilterFunc_WithClosures :: Maybe RecentFilterFunc_WithClosures
+noRecentFilterFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_RecentFilterFunc :: RecentFilterFunc -> RecentFilterFunc_WithClosures
+drop_closures_RecentFilterFunc _f filterInfo _ = _f filterInfo
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RecentFilterFunc :: MonadIO m => RecentFilterFunc -> m (GClosure C_RecentFilterFunc)
+genClosure_RecentFilterFunc cb = liftIO $ do
+    let cb' = drop_closures_RecentFilterFunc cb
+    let cb'' = wrap_RecentFilterFunc Nothing cb'
+    mk_RecentFilterFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RecentFilterFunc` into a `C_RecentFilterFunc`.
+wrap_RecentFilterFunc ::
+    Maybe (Ptr (FunPtr C_RecentFilterFunc)) ->
+    RecentFilterFunc_WithClosures ->
+    C_RecentFilterFunc
+wrap_RecentFilterFunc funptrptr _cb filterInfo userData = do
+    filterInfo' <- (newPtr Gtk.RecentFilterInfo.RecentFilterInfo) filterInfo
+    result <- _cb  filterInfo' userData
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback RcPropertyParser
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rc_string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_RcPropertyParser =
+    Ptr GParamSpec ->
+    Ptr GLib.String.String ->
+    Ptr GValue ->
+    IO CInt
+
+-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rc_string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_RcPropertyParser :: FunPtr C_RcPropertyParser -> C_RcPropertyParser
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_RcPropertyParser ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_RcPropertyParser
+    -> GParamSpec
+    -> GLib.String.String
+    -> GValue
+    -> m Bool
+dynamic_RcPropertyParser __funPtr pspec rcString propertyValue = liftIO $ do
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    rcString' <- unsafeManagedPtrGetPtr rcString
+    propertyValue' <- unsafeManagedPtrGetPtr propertyValue
+    result <- (__dynamic_C_RcPropertyParser __funPtr) pspec' rcString' propertyValue'
+    let result' = (/= 0) result
+    touchManagedPtr pspec
+    touchManagedPtr rcString
+    touchManagedPtr propertyValue
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_RcPropertyParser`.
+foreign import ccall "wrapper"
+    mk_RcPropertyParser :: C_RcPropertyParser -> IO (FunPtr C_RcPropertyParser)
+
+{- |
+/No description available in the introspection data./
+-}
+type RcPropertyParser =
+    GParamSpec
+    -> GLib.String.String
+    -> GValue
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RcPropertyParser`@.
+noRcPropertyParser :: Maybe RcPropertyParser
+noRcPropertyParser = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RcPropertyParser :: MonadIO m => RcPropertyParser -> m (GClosure C_RcPropertyParser)
+genClosure_RcPropertyParser cb = liftIO $ do
+    let cb' = wrap_RcPropertyParser Nothing cb
+    mk_RcPropertyParser cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RcPropertyParser` into a `C_RcPropertyParser`.
+wrap_RcPropertyParser ::
+    Maybe (Ptr (FunPtr C_RcPropertyParser)) ->
+    RcPropertyParser ->
+    C_RcPropertyParser
+wrap_RcPropertyParser funptrptr _cb pspec rcString propertyValue = do
+    pspec' <- B.GParamSpec.newGParamSpecFromPtr pspec
+    B.ManagedPtr.withTransient GLib.String.String rcString $ \rcString' -> do
+        B.ManagedPtr.withTransient GValue propertyValue $ \propertyValue' -> do
+            result <- _cb  pspec' rcString' propertyValue'
+            maybeReleaseFunPtr funptrptr
+            let result' = (fromIntegral . fromEnum) result
+            return result'
+
+
+-- callback PrintSettingsFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintSettingsFunc =
+    CString ->
+    CString ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_PrintSettingsFunc :: FunPtr C_PrintSettingsFunc -> C_PrintSettingsFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_PrintSettingsFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_PrintSettingsFunc
+    -> T.Text
+    -> T.Text
+    -> Ptr ()
+    -> m ()
+dynamic_PrintSettingsFunc __funPtr key value userData = liftIO $ do
+    key' <- textToCString key
+    value' <- textToCString value
+    (__dynamic_C_PrintSettingsFunc __funPtr) key' value' userData
+    freeMem key'
+    freeMem value'
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintSettingsFunc`.
+foreign import ccall "wrapper"
+    mk_PrintSettingsFunc :: C_PrintSettingsFunc -> IO (FunPtr C_PrintSettingsFunc)
+
+{- |
+/No description available in the introspection data./
+-}
+type PrintSettingsFunc =
+    T.Text
+    -> T.Text
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintSettingsFunc`@.
+noPrintSettingsFunc :: Maybe PrintSettingsFunc
+noPrintSettingsFunc = Nothing
+
+{- |
+/No description available in the introspection data./
+-}
+type PrintSettingsFunc_WithClosures =
+    T.Text
+    -> T.Text
+    -> Ptr ()
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintSettingsFunc_WithClosures`@.
+noPrintSettingsFunc_WithClosures :: Maybe PrintSettingsFunc_WithClosures
+noPrintSettingsFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_PrintSettingsFunc :: PrintSettingsFunc -> PrintSettingsFunc_WithClosures
+drop_closures_PrintSettingsFunc _f key value _ = _f key value
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintSettingsFunc :: MonadIO m => PrintSettingsFunc -> m (GClosure C_PrintSettingsFunc)
+genClosure_PrintSettingsFunc cb = liftIO $ do
+    let cb' = drop_closures_PrintSettingsFunc cb
+    let cb'' = wrap_PrintSettingsFunc Nothing cb'
+    mk_PrintSettingsFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintSettingsFunc` into a `C_PrintSettingsFunc`.
+wrap_PrintSettingsFunc ::
+    Maybe (Ptr (FunPtr C_PrintSettingsFunc)) ->
+    PrintSettingsFunc_WithClosures ->
+    C_PrintSettingsFunc
+wrap_PrintSettingsFunc funptrptr _cb key value userData = do
+    key' <- cstringToText key
+    value' <- cstringToText value
+    _cb  key' value' userData
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback PageSetupDoneFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "page_setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkPageSetup that has been", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that has been passed to\n    gtk_print_run_page_setup_dialog_async()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of function that is passed to\ngtk_print_run_page_setup_dialog_async().\n\nThis function will be called when the page setup dialog\nis dismissed, and also serves as destroy notify for @data.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_PageSetupDoneFunc =
+    Ptr Gtk.PageSetup.PageSetup ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "page_setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkPageSetup that has been", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that has been passed to\n    gtk_print_run_page_setup_dialog_async()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_PageSetupDoneFunc :: FunPtr C_PageSetupDoneFunc -> C_PageSetupDoneFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_PageSetupDoneFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.PageSetup.IsPageSetup a) =>
+    FunPtr C_PageSetupDoneFunc
+    -> a
+    {- ^ /@pageSetup@/: the 'GI.Gtk.Objects.PageSetup.PageSetup' that has been -}
+    -> Ptr ()
+    {- ^ /@data@/: user data that has been passed to
+    'GI.Gtk.Functions.printRunPageSetupDialogAsync' -}
+    -> m ()
+dynamic_PageSetupDoneFunc __funPtr pageSetup data_ = liftIO $ do
+    pageSetup' <- unsafeManagedPtrCastPtr pageSetup
+    (__dynamic_C_PageSetupDoneFunc __funPtr) pageSetup' data_
+    touchManagedPtr pageSetup
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_PageSetupDoneFunc`.
+foreign import ccall "wrapper"
+    mk_PageSetupDoneFunc :: C_PageSetupDoneFunc -> IO (FunPtr C_PageSetupDoneFunc)
+
+{- |
+The type of function that is passed to
+'GI.Gtk.Functions.printRunPageSetupDialogAsync'.
+
+This function will be called when the page setup dialog
+is dismissed, and also serves as destroy notify for /@data@/.
+-}
+type PageSetupDoneFunc =
+    Gtk.PageSetup.PageSetup
+    {- ^ /@pageSetup@/: the 'GI.Gtk.Objects.PageSetup.PageSetup' that has been -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PageSetupDoneFunc`@.
+noPageSetupDoneFunc :: Maybe PageSetupDoneFunc
+noPageSetupDoneFunc = Nothing
+
+{- |
+The type of function that is passed to
+'GI.Gtk.Functions.printRunPageSetupDialogAsync'.
+
+This function will be called when the page setup dialog
+is dismissed, and also serves as destroy notify for /@data@/.
+-}
+type PageSetupDoneFunc_WithClosures =
+    Gtk.PageSetup.PageSetup
+    {- ^ /@pageSetup@/: the 'GI.Gtk.Objects.PageSetup.PageSetup' that has been -}
+    -> Ptr ()
+    {- ^ /@data@/: user data that has been passed to
+    'GI.Gtk.Functions.printRunPageSetupDialogAsync' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PageSetupDoneFunc_WithClosures`@.
+noPageSetupDoneFunc_WithClosures :: Maybe PageSetupDoneFunc_WithClosures
+noPageSetupDoneFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_PageSetupDoneFunc :: PageSetupDoneFunc -> PageSetupDoneFunc_WithClosures
+drop_closures_PageSetupDoneFunc _f pageSetup _ = _f pageSetup
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PageSetupDoneFunc :: MonadIO m => PageSetupDoneFunc -> m (GClosure C_PageSetupDoneFunc)
+genClosure_PageSetupDoneFunc cb = liftIO $ do
+    let cb' = drop_closures_PageSetupDoneFunc cb
+    let cb'' = wrap_PageSetupDoneFunc Nothing cb'
+    mk_PageSetupDoneFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PageSetupDoneFunc` into a `C_PageSetupDoneFunc`.
+wrap_PageSetupDoneFunc ::
+    Maybe (Ptr (FunPtr C_PageSetupDoneFunc)) ->
+    PageSetupDoneFunc_WithClosures ->
+    C_PageSetupDoneFunc
+wrap_PageSetupDoneFunc funptrptr _cb pageSetup data_ = do
+    pageSetup' <- (newObject Gtk.PageSetup.PageSetup) pageSetup
+    _cb  pageSetup' data_
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ModuleInitFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GTK+ always passes %NULL for this argument", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GTK+ always passes %NULL for this argument", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Each GTK+ module must have a function gtk_module_init() with this prototype.\nThis function is called after loading the module.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ModuleInitFunc =
+    Int32 ->
+    Ptr CString ->
+    IO ()
+
+-- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GTK+ always passes %NULL for this argument", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GTK+ always passes %NULL for this argument", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GTK+ always passes %NULL for this argument", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ModuleInitFunc :: FunPtr C_ModuleInitFunc -> C_ModuleInitFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ModuleInitFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_ModuleInitFunc
+    -> Maybe ([T.Text])
+    {- ^ /@argv@/: GTK+ always passes 'Nothing' for this argument -}
+    -> m ()
+dynamic_ModuleInitFunc __funPtr argv = liftIO $ do
+    let argc = case argv of
+            Nothing -> 0
+            Just jArgv -> fromIntegral $ length jArgv
+    maybeArgv <- case argv of
+        Nothing -> return nullPtr
+        Just jArgv -> do
+            jArgv' <- packUTF8CArray jArgv
+            return jArgv'
+    (__dynamic_C_ModuleInitFunc __funPtr) argc maybeArgv
+    (mapCArrayWithLength argc) freeMem maybeArgv
+    freeMem maybeArgv
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ModuleInitFunc`.
+foreign import ccall "wrapper"
+    mk_ModuleInitFunc :: C_ModuleInitFunc -> IO (FunPtr C_ModuleInitFunc)
+
+{- |
+Each GTK+ module must have a function @/gtk_module_init()/@ with this prototype.
+This function is called after loading the module.
+-}
+type ModuleInitFunc =
+    Maybe [T.Text]
+    {- ^ /@argv@/: GTK+ always passes 'Nothing' for this argument -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ModuleInitFunc`@.
+noModuleInitFunc :: Maybe ModuleInitFunc
+noModuleInitFunc = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ModuleInitFunc :: MonadIO m => ModuleInitFunc -> m (GClosure C_ModuleInitFunc)
+genClosure_ModuleInitFunc cb = liftIO $ do
+    let cb' = wrap_ModuleInitFunc Nothing cb
+    mk_ModuleInitFunc cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ModuleInitFunc` into a `C_ModuleInitFunc`.
+wrap_ModuleInitFunc ::
+    Maybe (Ptr (FunPtr C_ModuleInitFunc)) ->
+    ModuleInitFunc ->
+    C_ModuleInitFunc
+wrap_ModuleInitFunc funptrptr _cb argc argv = do
+    maybeArgv <-
+        if argv == nullPtr
+        then return Nothing
+        else do
+            argv' <- (unpackUTF8CArrayWithLength argc) argv
+            return $ Just argv'
+    _cb  maybeArgv
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ModuleDisplayInitFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an open #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A multihead-aware GTK+ module may have a gtk_module_display_init() function\nwith this prototype. GTK+ calls this function for each opened display.", sinceVersion = Just "2.2"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ModuleDisplayInitFunc =
+    Ptr Gdk.Display.Display ->
+    IO ()
+
+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an open #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ModuleDisplayInitFunc :: FunPtr C_ModuleDisplayInitFunc -> C_ModuleDisplayInitFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ModuleDisplayInitFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>
+    FunPtr C_ModuleDisplayInitFunc
+    -> a
+    {- ^ /@display@/: an open 'GI.Gdk.Objects.Display.Display' -}
+    -> m ()
+dynamic_ModuleDisplayInitFunc __funPtr display = liftIO $ do
+    display' <- unsafeManagedPtrCastPtr display
+    (__dynamic_C_ModuleDisplayInitFunc __funPtr) display'
+    touchManagedPtr display
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ModuleDisplayInitFunc`.
+foreign import ccall "wrapper"
+    mk_ModuleDisplayInitFunc :: C_ModuleDisplayInitFunc -> IO (FunPtr C_ModuleDisplayInitFunc)
+
+{- |
+A multihead-aware GTK+ module may have a @/gtk_module_display_init()/@ function
+with this prototype. GTK+ calls this function for each opened display.
+
+/Since: 2.2/
+-}
+type ModuleDisplayInitFunc =
+    Gdk.Display.Display
+    {- ^ /@display@/: an open 'GI.Gdk.Objects.Display.Display' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ModuleDisplayInitFunc`@.
+noModuleDisplayInitFunc :: Maybe ModuleDisplayInitFunc
+noModuleDisplayInitFunc = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ModuleDisplayInitFunc :: MonadIO m => ModuleDisplayInitFunc -> m (GClosure C_ModuleDisplayInitFunc)
+genClosure_ModuleDisplayInitFunc cb = liftIO $ do
+    let cb' = wrap_ModuleDisplayInitFunc Nothing cb
+    mk_ModuleDisplayInitFunc cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ModuleDisplayInitFunc` into a `C_ModuleDisplayInitFunc`.
+wrap_ModuleDisplayInitFunc ::
+    Maybe (Ptr (FunPtr C_ModuleDisplayInitFunc)) ->
+    ModuleDisplayInitFunc ->
+    C_ModuleDisplayInitFunc
+wrap_ModuleDisplayInitFunc funptrptr _cb display = do
+    display' <- (newObject Gdk.Display.Display) display
+    _cb  display'
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback MenuPositionFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of the #gint representing the horizontal\n    position where the menu shall be drawn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of the #gint representing the vertical position\n    where the menu shall be drawn.  This is an output parameter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "push_in", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "This parameter controls how menus placed outside\n    the monitor are handled.  If this is set to %TRUE and part of\n    the menu is outside the monitor then GTK+ pushes the window\n    into the visible area, effectively modifying the popup\n    position.  Note that moving and possibly resizing the menu\n    around will alter the scroll position to keep the menu items\n    \8220in place\8221, i.e. at the same monitor position they would have\n    been without resizing.  In practice, this behavior is only\n    useful for combobox popups or option menus and cannot be used\n    to simply confine a menu to monitor boundaries.  In that case,\n    changing the scroll offset is not desirable.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data supplied by the user in the gtk_menu_popup()\n    @data parameter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A user function supplied when calling gtk_menu_popup() which\ncontrols the positioning of the menu when it is displayed.  The\nfunction sets the @x and @y parameters to the coordinates where the\nmenu is to be drawn.  To make the menu appear on a different\nmonitor than the mouse pointer, gtk_menu_set_monitor() must be\ncalled.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuPositionFunc =
+    Ptr Gtk.Menu.Menu ->
+    Ptr Int32 ->
+    Ptr Int32 ->
+    Ptr CInt ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of the #gint representing the horizontal\n    position where the menu shall be drawn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of the #gint representing the vertical position\n    where the menu shall be drawn.  This is an output parameter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "push_in", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "This parameter controls how menus placed outside\n    the monitor are handled.  If this is set to %TRUE and part of\n    the menu is outside the monitor then GTK+ pushes the window\n    into the visible area, effectively modifying the popup\n    position.  Note that moving and possibly resizing the menu\n    around will alter the scroll position to keep the menu items\n    \8220in place\8221, i.e. at the same monitor position they would have\n    been without resizing.  In practice, this behavior is only\n    useful for combobox popups or option menus and cannot be used\n    to simply confine a menu to monitor boundaries.  In that case,\n    changing the scroll offset is not desirable.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data supplied by the user in the gtk_menu_popup()\n    @data parameter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_MenuPositionFunc :: FunPtr C_MenuPositionFunc -> C_MenuPositionFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_MenuPositionFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Menu.IsMenu a) =>
+    FunPtr C_MenuPositionFunc
+    -> a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu'. -}
+    -> Int32
+    {- ^ /@x@/: address of the @/gint/@ representing the horizontal
+    position where the menu shall be drawn. -}
+    -> Int32
+    {- ^ /@y@/: address of the @/gint/@ representing the vertical position
+    where the menu shall be drawn.  This is an output parameter. -}
+    -> Ptr ()
+    {- ^ /@userData@/: the data supplied by the user in the 'GI.Gtk.Objects.Menu.menuPopup'
+    /@data@/ parameter. -}
+    -> m ((Int32, Int32, Bool))
+dynamic_MenuPositionFunc __funPtr menu x y userData = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    x' <- allocMem :: IO (Ptr Int32)
+    poke x' x
+    y' <- allocMem :: IO (Ptr Int32)
+    poke y' y
+    pushIn <- allocMem :: IO (Ptr CInt)
+    (__dynamic_C_MenuPositionFunc __funPtr) menu' x' y' pushIn userData
+    x'' <- peek x'
+    y'' <- peek y'
+    pushIn' <- peek pushIn
+    let pushIn'' = (/= 0) pushIn'
+    touchManagedPtr menu
+    freeMem x'
+    freeMem y'
+    freeMem pushIn
+    return (x'', y'', pushIn'')
+
+-- | Generate a function pointer callable from C code, from a `C_MenuPositionFunc`.
+foreign import ccall "wrapper"
+    mk_MenuPositionFunc :: C_MenuPositionFunc -> IO (FunPtr C_MenuPositionFunc)
+
+{- |
+A user function supplied when calling 'GI.Gtk.Objects.Menu.menuPopup' which
+controls the positioning of the menu when it is displayed.  The
+function sets the /@x@/ and /@y@/ parameters to the coordinates where the
+menu is to be drawn.  To make the menu appear on a different
+monitor than the mouse pointer, 'GI.Gtk.Objects.Menu.menuSetMonitor' must be
+called.
+-}
+type MenuPositionFunc =
+    Gtk.Menu.Menu
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu'. -}
+    -> Int32
+    {- ^ /@x@/: address of the @/gint/@ representing the horizontal
+    position where the menu shall be drawn. -}
+    -> Int32
+    {- ^ /@y@/: address of the @/gint/@ representing the vertical position
+    where the menu shall be drawn.  This is an output parameter. -}
+    -> IO ((Int32, Int32, Bool))
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuPositionFunc`@.
+noMenuPositionFunc :: Maybe MenuPositionFunc
+noMenuPositionFunc = Nothing
+
+{- |
+A user function supplied when calling 'GI.Gtk.Objects.Menu.menuPopup' which
+controls the positioning of the menu when it is displayed.  The
+function sets the /@x@/ and /@y@/ parameters to the coordinates where the
+menu is to be drawn.  To make the menu appear on a different
+monitor than the mouse pointer, 'GI.Gtk.Objects.Menu.menuSetMonitor' must be
+called.
+-}
+type MenuPositionFunc_WithClosures =
+    Gtk.Menu.Menu
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu'. -}
+    -> Int32
+    {- ^ /@x@/: address of the @/gint/@ representing the horizontal
+    position where the menu shall be drawn. -}
+    -> Int32
+    {- ^ /@y@/: address of the @/gint/@ representing the vertical position
+    where the menu shall be drawn.  This is an output parameter. -}
+    -> Ptr ()
+    {- ^ /@userData@/: the data supplied by the user in the 'GI.Gtk.Objects.Menu.menuPopup'
+    /@data@/ parameter. -}
+    -> IO ((Int32, Int32, Bool))
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuPositionFunc_WithClosures`@.
+noMenuPositionFunc_WithClosures :: Maybe MenuPositionFunc_WithClosures
+noMenuPositionFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_MenuPositionFunc :: MenuPositionFunc -> MenuPositionFunc_WithClosures
+drop_closures_MenuPositionFunc _f menu x y _ = _f menu x y
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuPositionFunc :: MonadIO m => MenuPositionFunc -> m (GClosure C_MenuPositionFunc)
+genClosure_MenuPositionFunc cb = liftIO $ do
+    let cb' = drop_closures_MenuPositionFunc cb
+    let cb'' = wrap_MenuPositionFunc Nothing cb'
+    mk_MenuPositionFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuPositionFunc` into a `C_MenuPositionFunc`.
+wrap_MenuPositionFunc ::
+    Maybe (Ptr (FunPtr C_MenuPositionFunc)) ->
+    MenuPositionFunc_WithClosures ->
+    C_MenuPositionFunc
+wrap_MenuPositionFunc funptrptr _cb menu x y pushIn userData = do
+    menu' <- (newObject Gtk.Menu.Menu) menu
+    x' <- peek x
+    y' <- peek y
+    (outx, outy, outpushIn) <- _cb  menu' x' y' userData
+    poke x outx
+    poke y outy
+    let outpushIn' = (fromIntegral . fromEnum) outpushIn
+    poke pushIn outpushIn'
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback MenuDetachFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "attach_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that the menu is being detached from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkMenu being detached.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A user function supplied when calling gtk_menu_attach_to_widget() which\nwill be called when the menu is later detached from the widget.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuDetachFunc =
+    Ptr Gtk.Widget.Widget ->
+    Ptr Gtk.Menu.Menu ->
+    IO ()
+
+-- Args : [Arg {argCName = "attach_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that the menu is being detached from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkMenu being detached.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_MenuDetachFunc :: FunPtr C_MenuDetachFunc -> C_MenuDetachFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_MenuDetachFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a, Gtk.Menu.IsMenu b) =>
+    FunPtr C_MenuDetachFunc
+    -> a
+    {- ^ /@attachWidget@/: the 'GI.Gtk.Objects.Widget.Widget' that the menu is being detached from. -}
+    -> b
+    {- ^ /@menu@/: the 'GI.Gtk.Objects.Menu.Menu' being detached. -}
+    -> m ()
+dynamic_MenuDetachFunc __funPtr attachWidget menu = liftIO $ do
+    attachWidget' <- unsafeManagedPtrCastPtr attachWidget
+    menu' <- unsafeManagedPtrCastPtr menu
+    (__dynamic_C_MenuDetachFunc __funPtr) attachWidget' menu'
+    touchManagedPtr attachWidget
+    touchManagedPtr menu
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuDetachFunc`.
+foreign import ccall "wrapper"
+    mk_MenuDetachFunc :: C_MenuDetachFunc -> IO (FunPtr C_MenuDetachFunc)
+
+{- |
+A user function supplied when calling 'GI.Gtk.Objects.Menu.menuAttachToWidget' which
+will be called when the menu is later detached from the widget.
+-}
+type MenuDetachFunc =
+    Gtk.Widget.Widget
+    {- ^ /@attachWidget@/: the 'GI.Gtk.Objects.Widget.Widget' that the menu is being detached from. -}
+    -> Gtk.Menu.Menu
+    {- ^ /@menu@/: the 'GI.Gtk.Objects.Menu.Menu' being detached. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuDetachFunc`@.
+noMenuDetachFunc :: Maybe MenuDetachFunc
+noMenuDetachFunc = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuDetachFunc :: MonadIO m => MenuDetachFunc -> m (GClosure C_MenuDetachFunc)
+genClosure_MenuDetachFunc cb = liftIO $ do
+    let cb' = wrap_MenuDetachFunc Nothing cb
+    mk_MenuDetachFunc cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuDetachFunc` into a `C_MenuDetachFunc`.
+wrap_MenuDetachFunc ::
+    Maybe (Ptr (FunPtr C_MenuDetachFunc)) ->
+    MenuDetachFunc ->
+    C_MenuDetachFunc
+wrap_MenuDetachFunc funptrptr _cb attachWidget menu = do
+    attachWidget' <- (newObject Gtk.Widget.Widget) attachWidget
+    menu' <- (newObject Gtk.Menu.Menu) menu
+    _cb  attachWidget' menu'
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ListBoxUpdateHeaderFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row to update", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "before", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the row before @row, or %NULL if it is first", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Whenever @row changes or which row is before @row changes this\nis called, which lets you update the header on @row. You may\nremove or set a new one via gtk_list_box_row_set_header() or\njust change the state of the current header widget.", sinceVersion = Just "3.10"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxUpdateHeaderFunc =
+    Ptr Gtk.ListBoxRow.ListBoxRow ->
+    Ptr Gtk.ListBoxRow.ListBoxRow ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row to update", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "before", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the row before @row, or %NULL if it is first", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ListBoxUpdateHeaderFunc :: FunPtr C_ListBoxUpdateHeaderFunc -> C_ListBoxUpdateHeaderFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ListBoxUpdateHeaderFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.ListBoxRow.IsListBoxRow a, Gtk.ListBoxRow.IsListBoxRow b) =>
+    FunPtr C_ListBoxUpdateHeaderFunc
+    -> a
+    {- ^ /@row@/: the row to update -}
+    -> Maybe (b)
+    {- ^ /@before@/: the row before /@row@/, or 'Nothing' if it is first -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m ()
+dynamic_ListBoxUpdateHeaderFunc __funPtr row before userData = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    maybeBefore <- case before of
+        Nothing -> return nullPtr
+        Just jBefore -> do
+            jBefore' <- unsafeManagedPtrCastPtr jBefore
+            return jBefore'
+    (__dynamic_C_ListBoxUpdateHeaderFunc __funPtr) row' maybeBefore userData
+    touchManagedPtr row
+    whenJust before touchManagedPtr
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxUpdateHeaderFunc`.
+foreign import ccall "wrapper"
+    mk_ListBoxUpdateHeaderFunc :: C_ListBoxUpdateHeaderFunc -> IO (FunPtr C_ListBoxUpdateHeaderFunc)
+
+{- |
+Whenever /@row@/ changes or which row is before /@row@/ changes this
+is called, which lets you update the header on /@row@/. You may
+remove or set a new one via 'GI.Gtk.Objects.ListBoxRow.listBoxRowSetHeader' or
+just change the state of the current header widget.
+
+/Since: 3.10/
+-}
+type ListBoxUpdateHeaderFunc =
+    Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row@/: the row to update -}
+    -> Maybe Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@before@/: the row before /@row@/, or 'Nothing' if it is first -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxUpdateHeaderFunc`@.
+noListBoxUpdateHeaderFunc :: Maybe ListBoxUpdateHeaderFunc
+noListBoxUpdateHeaderFunc = Nothing
+
+{- |
+Whenever /@row@/ changes or which row is before /@row@/ changes this
+is called, which lets you update the header on /@row@/. You may
+remove or set a new one via 'GI.Gtk.Objects.ListBoxRow.listBoxRowSetHeader' or
+just change the state of the current header widget.
+
+/Since: 3.10/
+-}
+type ListBoxUpdateHeaderFunc_WithClosures =
+    Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row@/: the row to update -}
+    -> Maybe Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@before@/: the row before /@row@/, or 'Nothing' if it is first -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxUpdateHeaderFunc_WithClosures`@.
+noListBoxUpdateHeaderFunc_WithClosures :: Maybe ListBoxUpdateHeaderFunc_WithClosures
+noListBoxUpdateHeaderFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ListBoxUpdateHeaderFunc :: ListBoxUpdateHeaderFunc -> ListBoxUpdateHeaderFunc_WithClosures
+drop_closures_ListBoxUpdateHeaderFunc _f row before _ = _f row before
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxUpdateHeaderFunc :: MonadIO m => ListBoxUpdateHeaderFunc -> m (GClosure C_ListBoxUpdateHeaderFunc)
+genClosure_ListBoxUpdateHeaderFunc cb = liftIO $ do
+    let cb' = drop_closures_ListBoxUpdateHeaderFunc cb
+    let cb'' = wrap_ListBoxUpdateHeaderFunc Nothing cb'
+    mk_ListBoxUpdateHeaderFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxUpdateHeaderFunc` into a `C_ListBoxUpdateHeaderFunc`.
+wrap_ListBoxUpdateHeaderFunc ::
+    Maybe (Ptr (FunPtr C_ListBoxUpdateHeaderFunc)) ->
+    ListBoxUpdateHeaderFunc_WithClosures ->
+    C_ListBoxUpdateHeaderFunc
+wrap_ListBoxUpdateHeaderFunc funptrptr _cb row before userData = do
+    row' <- (newObject Gtk.ListBoxRow.ListBoxRow) row
+    maybeBefore <-
+        if before == nullPtr
+        then return Nothing
+        else do
+            before' <- (newObject Gtk.ListBoxRow.ListBoxRow) before
+            return $ Just before'
+    _cb  row' maybeBefore userData
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ListBoxSortFunc
+--          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "< 0 if @row1 should be before @row2, 0 if they are\n    equal and > 0 otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "row1", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row2", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Compare two rows to determine which should be first.", sinceVersion = Just "3.10"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxSortFunc =
+    Ptr Gtk.ListBoxRow.ListBoxRow ->
+    Ptr Gtk.ListBoxRow.ListBoxRow ->
+    Ptr () ->
+    IO Int32
+
+-- Args : [Arg {argCName = "row1", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row2", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ListBoxSortFunc :: FunPtr C_ListBoxSortFunc -> C_ListBoxSortFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ListBoxSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.ListBoxRow.IsListBoxRow a, Gtk.ListBoxRow.IsListBoxRow b) =>
+    FunPtr C_ListBoxSortFunc
+    -> a
+    {- ^ /@row1@/: the first row -}
+    -> b
+    {- ^ /@row2@/: the second row -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m Int32
+    {- ^ __Returns:__ \< 0 if /@row1@/ should be before /@row2@/, 0 if they are
+    equal and > 0 otherwise -}
+dynamic_ListBoxSortFunc __funPtr row1 row2 userData = liftIO $ do
+    row1' <- unsafeManagedPtrCastPtr row1
+    row2' <- unsafeManagedPtrCastPtr row2
+    result <- (__dynamic_C_ListBoxSortFunc __funPtr) row1' row2' userData
+    touchManagedPtr row1
+    touchManagedPtr row2
+    return result
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxSortFunc`.
+foreign import ccall "wrapper"
+    mk_ListBoxSortFunc :: C_ListBoxSortFunc -> IO (FunPtr C_ListBoxSortFunc)
+
+{- |
+Compare two rows to determine which should be first.
+
+/Since: 3.10/
+-}
+type ListBoxSortFunc =
+    Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row1@/: the first row -}
+    -> Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row2@/: the second row -}
+    -> IO Int32
+    {- ^ __Returns:__ \< 0 if /@row1@/ should be before /@row2@/, 0 if they are
+    equal and > 0 otherwise -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxSortFunc`@.
+noListBoxSortFunc :: Maybe ListBoxSortFunc
+noListBoxSortFunc = Nothing
+
+{- |
+Compare two rows to determine which should be first.
+
+/Since: 3.10/
+-}
+type ListBoxSortFunc_WithClosures =
+    Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row1@/: the first row -}
+    -> Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row2@/: the second row -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO Int32
+    {- ^ __Returns:__ \< 0 if /@row1@/ should be before /@row2@/, 0 if they are
+    equal and > 0 otherwise -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxSortFunc_WithClosures`@.
+noListBoxSortFunc_WithClosures :: Maybe ListBoxSortFunc_WithClosures
+noListBoxSortFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ListBoxSortFunc :: ListBoxSortFunc -> ListBoxSortFunc_WithClosures
+drop_closures_ListBoxSortFunc _f row1 row2 _ = _f row1 row2
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxSortFunc :: MonadIO m => ListBoxSortFunc -> m (GClosure C_ListBoxSortFunc)
+genClosure_ListBoxSortFunc cb = liftIO $ do
+    let cb' = drop_closures_ListBoxSortFunc cb
+    let cb'' = wrap_ListBoxSortFunc Nothing cb'
+    mk_ListBoxSortFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxSortFunc` into a `C_ListBoxSortFunc`.
+wrap_ListBoxSortFunc ::
+    Maybe (Ptr (FunPtr C_ListBoxSortFunc)) ->
+    ListBoxSortFunc_WithClosures ->
+    C_ListBoxSortFunc
+wrap_ListBoxSortFunc funptrptr _cb row1 row2 userData = do
+    row1' <- (newObject Gtk.ListBoxRow.ListBoxRow) row1
+    row2' <- (newObject Gtk.ListBoxRow.ListBoxRow) row2
+    result <- _cb  row1' row2' userData
+    maybeReleaseFunPtr funptrptr
+    return result
+
+
+-- callback ListBoxForeachFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function used by gtk_list_box_selected_foreach().\nIt will be called on every selected child of the @box.", sinceVersion = Just "3.14"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxForeachFunc =
+    Ptr Gtk.ListBox.ListBox ->
+    Ptr Gtk.ListBoxRow.ListBoxRow ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ListBoxForeachFunc :: FunPtr C_ListBoxForeachFunc -> C_ListBoxForeachFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ListBoxForeachFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.ListBox.IsListBox a, Gtk.ListBoxRow.IsListBoxRow b) =>
+    FunPtr C_ListBoxForeachFunc
+    -> a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> b
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m ()
+dynamic_ListBoxForeachFunc __funPtr box row userData = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    row' <- unsafeManagedPtrCastPtr row
+    (__dynamic_C_ListBoxForeachFunc __funPtr) box' row' userData
+    touchManagedPtr box
+    touchManagedPtr row
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxForeachFunc`.
+foreign import ccall "wrapper"
+    mk_ListBoxForeachFunc :: C_ListBoxForeachFunc -> IO (FunPtr C_ListBoxForeachFunc)
+
+{- |
+A function used by 'GI.Gtk.Objects.ListBox.listBoxSelectedForeach'.
+It will be called on every selected child of the /@box@/.
+
+/Since: 3.14/
+-}
+type ListBoxForeachFunc =
+    Gtk.ListBox.ListBox
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxForeachFunc`@.
+noListBoxForeachFunc :: Maybe ListBoxForeachFunc
+noListBoxForeachFunc = Nothing
+
+{- |
+A function used by 'GI.Gtk.Objects.ListBox.listBoxSelectedForeach'.
+It will be called on every selected child of the /@box@/.
+
+/Since: 3.14/
+-}
+type ListBoxForeachFunc_WithClosures =
+    Gtk.ListBox.ListBox
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxForeachFunc_WithClosures`@.
+noListBoxForeachFunc_WithClosures :: Maybe ListBoxForeachFunc_WithClosures
+noListBoxForeachFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ListBoxForeachFunc :: ListBoxForeachFunc -> ListBoxForeachFunc_WithClosures
+drop_closures_ListBoxForeachFunc _f box row _ = _f box row
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxForeachFunc :: MonadIO m => ListBoxForeachFunc -> m (GClosure C_ListBoxForeachFunc)
+genClosure_ListBoxForeachFunc cb = liftIO $ do
+    let cb' = drop_closures_ListBoxForeachFunc cb
+    let cb'' = wrap_ListBoxForeachFunc Nothing cb'
+    mk_ListBoxForeachFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxForeachFunc` into a `C_ListBoxForeachFunc`.
+wrap_ListBoxForeachFunc ::
+    Maybe (Ptr (FunPtr C_ListBoxForeachFunc)) ->
+    ListBoxForeachFunc_WithClosures ->
+    C_ListBoxForeachFunc
+wrap_ListBoxForeachFunc funptrptr _cb box row userData = do
+    box' <- (newObject Gtk.ListBox.ListBox) box
+    row' <- (newObject Gtk.ListBoxRow.ListBoxRow) row
+    _cb  box' row' userData
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ListBoxFilterFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the row should be visible, %FALSE otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row that may be filtered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Will be called whenever the row changes or is added and lets you control\nif the row should be visible or not.", sinceVersion = Just "3.10"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxFilterFunc =
+    Ptr Gtk.ListBoxRow.ListBoxRow ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row that may be filtered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ListBoxFilterFunc :: FunPtr C_ListBoxFilterFunc -> C_ListBoxFilterFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ListBoxFilterFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.ListBoxRow.IsListBoxRow a) =>
+    FunPtr C_ListBoxFilterFunc
+    -> a
+    {- ^ /@row@/: the row that may be filtered -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the row should be visible, 'False' otherwise -}
+dynamic_ListBoxFilterFunc __funPtr row userData = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    result <- (__dynamic_C_ListBoxFilterFunc __funPtr) row' userData
+    let result' = (/= 0) result
+    touchManagedPtr row
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxFilterFunc`.
+foreign import ccall "wrapper"
+    mk_ListBoxFilterFunc :: C_ListBoxFilterFunc -> IO (FunPtr C_ListBoxFilterFunc)
+
+{- |
+Will be called whenever the row changes or is added and lets you control
+if the row should be visible or not.
+
+/Since: 3.10/
+-}
+type ListBoxFilterFunc =
+    Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row@/: the row that may be filtered -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the row should be visible, 'False' otherwise -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxFilterFunc`@.
+noListBoxFilterFunc :: Maybe ListBoxFilterFunc
+noListBoxFilterFunc = Nothing
+
+{- |
+Will be called whenever the row changes or is added and lets you control
+if the row should be visible or not.
+
+/Since: 3.10/
+-}
+type ListBoxFilterFunc_WithClosures =
+    Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row@/: the row that may be filtered -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the row should be visible, 'False' otherwise -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxFilterFunc_WithClosures`@.
+noListBoxFilterFunc_WithClosures :: Maybe ListBoxFilterFunc_WithClosures
+noListBoxFilterFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ListBoxFilterFunc :: ListBoxFilterFunc -> ListBoxFilterFunc_WithClosures
+drop_closures_ListBoxFilterFunc _f row _ = _f row
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxFilterFunc :: MonadIO m => ListBoxFilterFunc -> m (GClosure C_ListBoxFilterFunc)
+genClosure_ListBoxFilterFunc cb = liftIO $ do
+    let cb' = drop_closures_ListBoxFilterFunc cb
+    let cb'' = wrap_ListBoxFilterFunc Nothing cb'
+    mk_ListBoxFilterFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxFilterFunc` into a `C_ListBoxFilterFunc`.
+wrap_ListBoxFilterFunc ::
+    Maybe (Ptr (FunPtr C_ListBoxFilterFunc)) ->
+    ListBoxFilterFunc_WithClosures ->
+    C_ListBoxFilterFunc
+wrap_ListBoxFilterFunc funptrptr _cb row userData = do
+    row' <- (newObject Gtk.ListBoxRow.ListBoxRow) row
+    result <- _cb  row' userData
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback ListBoxCreateWidgetFunc
+--          -> Callable {returnType = Just (TInterface (Name {namespace = "Gtk", name = "Widget"})), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Just "a #GtkWidget that represents @item", sinceVersion = Nothing}, args = [Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the item from the model for which to create a widget for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Called for list boxes that are bound to a #GListModel with\ngtk_list_box_bind_model() for each item that gets added to the model.\n\nVersions of GTK+ prior to 3.18 called gtk_widget_show_all() on the rows\ncreated by the GtkListBoxCreateWidgetFunc, but this forced all widgets\ninside the row to be shown, and is no longer the case. Applications should\nbe updated to show the desired row widgets.", sinceVersion = Just "3.16"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxCreateWidgetFunc =
+    Ptr GObject.Object.Object ->
+    Ptr () ->
+    IO (Ptr Gtk.Widget.Widget)
+
+-- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the item from the model for which to create a widget for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ListBoxCreateWidgetFunc :: FunPtr C_ListBoxCreateWidgetFunc -> C_ListBoxCreateWidgetFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ListBoxCreateWidgetFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
+    FunPtr C_ListBoxCreateWidgetFunc
+    -> a
+    {- ^ /@item@/: the item from the model for which to create a widget for -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' that represents /@item@/ -}
+dynamic_ListBoxCreateWidgetFunc __funPtr item userData = liftIO $ do
+    item' <- unsafeManagedPtrCastPtr item
+    result <- (__dynamic_C_ListBoxCreateWidgetFunc __funPtr) item' userData
+    checkUnexpectedReturnNULL "listBoxCreateWidgetFunc" result
+    result' <- (wrapObject Gtk.Widget.Widget) result
+    touchManagedPtr item
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxCreateWidgetFunc`.
+foreign import ccall "wrapper"
+    mk_ListBoxCreateWidgetFunc :: C_ListBoxCreateWidgetFunc -> IO (FunPtr C_ListBoxCreateWidgetFunc)
+
+{- |
+Called for list boxes that are bound to a 'GI.Gio.Interfaces.ListModel.ListModel' with
+'GI.Gtk.Objects.ListBox.listBoxBindModel' for each item that gets added to the model.
+
+Versions of GTK+ prior to 3.18 called 'GI.Gtk.Objects.Widget.widgetShowAll' on the rows
+created by the GtkListBoxCreateWidgetFunc, but this forced all widgets
+inside the row to be shown, and is no longer the case. Applications should
+be updated to show the desired row widgets.
+
+/Since: 3.16/
+-}
+type ListBoxCreateWidgetFunc =
+    GObject.Object.Object
+    {- ^ /@item@/: the item from the model for which to create a widget for -}
+    -> IO Gtk.Widget.Widget
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' that represents /@item@/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxCreateWidgetFunc`@.
+noListBoxCreateWidgetFunc :: Maybe ListBoxCreateWidgetFunc
+noListBoxCreateWidgetFunc = Nothing
+
+{- |
+Called for list boxes that are bound to a 'GI.Gio.Interfaces.ListModel.ListModel' with
+'GI.Gtk.Objects.ListBox.listBoxBindModel' for each item that gets added to the model.
+
+Versions of GTK+ prior to 3.18 called 'GI.Gtk.Objects.Widget.widgetShowAll' on the rows
+created by the GtkListBoxCreateWidgetFunc, but this forced all widgets
+inside the row to be shown, and is no longer the case. Applications should
+be updated to show the desired row widgets.
+
+/Since: 3.16/
+-}
+type ListBoxCreateWidgetFunc_WithClosures =
+    GObject.Object.Object
+    {- ^ /@item@/: the item from the model for which to create a widget for -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO Gtk.Widget.Widget
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' that represents /@item@/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxCreateWidgetFunc_WithClosures`@.
+noListBoxCreateWidgetFunc_WithClosures :: Maybe ListBoxCreateWidgetFunc_WithClosures
+noListBoxCreateWidgetFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ListBoxCreateWidgetFunc :: ListBoxCreateWidgetFunc -> ListBoxCreateWidgetFunc_WithClosures
+drop_closures_ListBoxCreateWidgetFunc _f item _ = _f item
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxCreateWidgetFunc :: MonadIO m => ListBoxCreateWidgetFunc -> m (GClosure C_ListBoxCreateWidgetFunc)
+genClosure_ListBoxCreateWidgetFunc cb = liftIO $ do
+    let cb' = drop_closures_ListBoxCreateWidgetFunc cb
+    let cb'' = wrap_ListBoxCreateWidgetFunc Nothing cb'
+    mk_ListBoxCreateWidgetFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxCreateWidgetFunc` into a `C_ListBoxCreateWidgetFunc`.
+wrap_ListBoxCreateWidgetFunc ::
+    Maybe (Ptr (FunPtr C_ListBoxCreateWidgetFunc)) ->
+    ListBoxCreateWidgetFunc_WithClosures ->
+    C_ListBoxCreateWidgetFunc
+wrap_ListBoxCreateWidgetFunc funptrptr _cb item userData = do
+    item' <- (newObject GObject.Object.Object) item
+    result <- _cb  item' userData
+    maybeReleaseFunPtr funptrptr
+    result' <- B.ManagedPtr.disownObject result
+    return result'
+
+
+-- callback KeySnoopFunc
+--          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE to stop further processing of @event, %FALSE to continue.", sinceVersion = Nothing}, args = [Arg {argCName = "grab_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to which the event will be delivered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data supplied to gtk_key_snooper_install()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Key snooper functions are called before normal event delivery.\nThey can be used to implement custom key event handling.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_KeySnoopFunc =
+    Ptr Gtk.Widget.Widget ->
+    Ptr Gdk.EventKey.EventKey ->
+    Ptr () ->
+    IO Int32
+
+-- Args : [Arg {argCName = "grab_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to which the event will be delivered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data supplied to gtk_key_snooper_install()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_KeySnoopFunc :: FunPtr C_KeySnoopFunc -> C_KeySnoopFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_KeySnoopFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    FunPtr C_KeySnoopFunc
+    -> a
+    {- ^ /@grabWidget@/: the widget to which the event will be delivered -}
+    -> Gdk.EventKey.EventKey
+    {- ^ /@event@/: the key event -}
+    -> Ptr ()
+    {- ^ /@funcData@/: data supplied to @/gtk_key_snooper_install()/@ -}
+    -> m Int32
+    {- ^ __Returns:__ 'True' to stop further processing of /@event@/, 'False' to continue. -}
+dynamic_KeySnoopFunc __funPtr grabWidget event funcData = liftIO $ do
+    grabWidget' <- unsafeManagedPtrCastPtr grabWidget
+    event' <- unsafeManagedPtrGetPtr event
+    result <- (__dynamic_C_KeySnoopFunc __funPtr) grabWidget' event' funcData
+    touchManagedPtr grabWidget
+    touchManagedPtr event
+    return result
+
+-- | Generate a function pointer callable from C code, from a `C_KeySnoopFunc`.
+foreign import ccall "wrapper"
+    mk_KeySnoopFunc :: C_KeySnoopFunc -> IO (FunPtr C_KeySnoopFunc)
+
+{- |
+Key snooper functions are called before normal event delivery.
+They can be used to implement custom key event handling.
+-}
+type KeySnoopFunc =
+    Gtk.Widget.Widget
+    {- ^ /@grabWidget@/: the widget to which the event will be delivered -}
+    -> Gdk.EventKey.EventKey
+    {- ^ /@event@/: the key event -}
+    -> IO Int32
+    {- ^ __Returns:__ 'True' to stop further processing of /@event@/, 'False' to continue. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `KeySnoopFunc`@.
+noKeySnoopFunc :: Maybe KeySnoopFunc
+noKeySnoopFunc = Nothing
+
+{- |
+Key snooper functions are called before normal event delivery.
+They can be used to implement custom key event handling.
+-}
+type KeySnoopFunc_WithClosures =
+    Gtk.Widget.Widget
+    {- ^ /@grabWidget@/: the widget to which the event will be delivered -}
+    -> Gdk.EventKey.EventKey
+    {- ^ /@event@/: the key event -}
+    -> Ptr ()
+    {- ^ /@funcData@/: data supplied to @/gtk_key_snooper_install()/@ -}
+    -> IO Int32
+    {- ^ __Returns:__ 'True' to stop further processing of /@event@/, 'False' to continue. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `KeySnoopFunc_WithClosures`@.
+noKeySnoopFunc_WithClosures :: Maybe KeySnoopFunc_WithClosures
+noKeySnoopFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_KeySnoopFunc :: KeySnoopFunc -> KeySnoopFunc_WithClosures
+drop_closures_KeySnoopFunc _f grabWidget event _ = _f grabWidget event
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_KeySnoopFunc :: MonadIO m => KeySnoopFunc -> m (GClosure C_KeySnoopFunc)
+genClosure_KeySnoopFunc cb = liftIO $ do
+    let cb' = drop_closures_KeySnoopFunc cb
+    let cb'' = wrap_KeySnoopFunc Nothing cb'
+    mk_KeySnoopFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `KeySnoopFunc` into a `C_KeySnoopFunc`.
+wrap_KeySnoopFunc ::
+    Maybe (Ptr (FunPtr C_KeySnoopFunc)) ->
+    KeySnoopFunc_WithClosures ->
+    C_KeySnoopFunc
+wrap_KeySnoopFunc funptrptr _cb grabWidget event funcData = do
+    grabWidget' <- (newObject Gtk.Widget.Widget) grabWidget
+    event' <- (newPtr Gdk.EventKey.EventKey) event
+    result <- _cb  grabWidget' event' funcData
+    maybeReleaseFunPtr funptrptr
+    return result
+
+
+-- callback IconViewForeachFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath of a selected row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function used by gtk_icon_view_selected_foreach() to map all\nselected rows.  It will be called on every selected row in the view.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconViewForeachFunc =
+    Ptr Gtk.IconView.IconView ->
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath of a selected row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_IconViewForeachFunc :: FunPtr C_IconViewForeachFunc -> C_IconViewForeachFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_IconViewForeachFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.IconView.IsIconView a) =>
+    FunPtr C_IconViewForeachFunc
+    -> a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' of a selected row -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> m ()
+dynamic_IconViewForeachFunc __funPtr iconView path data_ = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    (__dynamic_C_IconViewForeachFunc __funPtr) iconView' path' data_
+    touchManagedPtr iconView
+    touchManagedPtr path
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_IconViewForeachFunc`.
+foreign import ccall "wrapper"
+    mk_IconViewForeachFunc :: C_IconViewForeachFunc -> IO (FunPtr C_IconViewForeachFunc)
+
+{- |
+A function used by 'GI.Gtk.Objects.IconView.iconViewSelectedForeach' to map all
+selected rows.  It will be called on every selected row in the view.
+-}
+type IconViewForeachFunc =
+    Gtk.IconView.IconView
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' of a selected row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewForeachFunc`@.
+noIconViewForeachFunc :: Maybe IconViewForeachFunc
+noIconViewForeachFunc = Nothing
+
+{- |
+A function used by 'GI.Gtk.Objects.IconView.iconViewSelectedForeach' to map all
+selected rows.  It will be called on every selected row in the view.
+-}
+type IconViewForeachFunc_WithClosures =
+    Gtk.IconView.IconView
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' of a selected row -}
+    -> Ptr ()
+    {- ^ /@data@/: user data -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewForeachFunc_WithClosures`@.
+noIconViewForeachFunc_WithClosures :: Maybe IconViewForeachFunc_WithClosures
+noIconViewForeachFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_IconViewForeachFunc :: IconViewForeachFunc -> IconViewForeachFunc_WithClosures
+drop_closures_IconViewForeachFunc _f iconView path _ = _f iconView path
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconViewForeachFunc :: MonadIO m => IconViewForeachFunc -> m (GClosure C_IconViewForeachFunc)
+genClosure_IconViewForeachFunc cb = liftIO $ do
+    let cb' = drop_closures_IconViewForeachFunc cb
+    let cb'' = wrap_IconViewForeachFunc Nothing cb'
+    mk_IconViewForeachFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconViewForeachFunc` into a `C_IconViewForeachFunc`.
+wrap_IconViewForeachFunc ::
+    Maybe (Ptr (FunPtr C_IconViewForeachFunc)) ->
+    IconViewForeachFunc_WithClosures ->
+    C_IconViewForeachFunc
+wrap_IconViewForeachFunc funptrptr _cb iconView path data_ = do
+    iconView' <- (newObject Gtk.IconView.IconView) iconView
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        _cb  iconView' path' data_
+        maybeReleaseFunPtr funptrptr
+
+
+-- callback FontFilterFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the font should be displayed", sinceVersion = Nothing}, args = [Arg {argCName = "family", argType = TInterface (Name {namespace = "Pango", name = "FontFamily"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoFontFamily", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "face", argType = TInterface (Name {namespace = "Pango", name = "FontFace"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoFontFace belonging to @family", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_font_chooser_set_filter_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of function that is used for deciding what fonts get\nshown in a #GtkFontChooser. See gtk_font_chooser_set_filter_func().", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_FontFilterFunc =
+    Ptr Pango.FontFamily.FontFamily ->
+    Ptr Pango.FontFace.FontFace ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "family", argType = TInterface (Name {namespace = "Pango", name = "FontFamily"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoFontFamily", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "face", argType = TInterface (Name {namespace = "Pango", name = "FontFace"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoFontFace belonging to @family", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_font_chooser_set_filter_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_FontFilterFunc :: FunPtr C_FontFilterFunc -> C_FontFilterFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_FontFilterFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Pango.FontFamily.IsFontFamily a, Pango.FontFace.IsFontFace b) =>
+    FunPtr C_FontFilterFunc
+    -> a
+    {- ^ /@family@/: a 'GI.Pango.Objects.FontFamily.FontFamily' -}
+    -> b
+    {- ^ /@face@/: a 'GI.Pango.Objects.FontFace.FontFace' belonging to /@family@/ -}
+    -> Ptr ()
+    {- ^ /@data@/: user data passed to 'GI.Gtk.Interfaces.FontChooser.fontChooserSetFilterFunc' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the font should be displayed -}
+dynamic_FontFilterFunc __funPtr family face data_ = liftIO $ do
+    family' <- unsafeManagedPtrCastPtr family
+    face' <- unsafeManagedPtrCastPtr face
+    result <- (__dynamic_C_FontFilterFunc __funPtr) family' face' data_
+    let result' = (/= 0) result
+    touchManagedPtr family
+    touchManagedPtr face
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_FontFilterFunc`.
+foreign import ccall "wrapper"
+    mk_FontFilterFunc :: C_FontFilterFunc -> IO (FunPtr C_FontFilterFunc)
+
+{- |
+The type of function that is used for deciding what fonts get
+shown in a 'GI.Gtk.Interfaces.FontChooser.FontChooser'. See 'GI.Gtk.Interfaces.FontChooser.fontChooserSetFilterFunc'.
+-}
+type FontFilterFunc =
+    Pango.FontFamily.FontFamily
+    {- ^ /@family@/: a 'GI.Pango.Objects.FontFamily.FontFamily' -}
+    -> Pango.FontFace.FontFace
+    {- ^ /@face@/: a 'GI.Pango.Objects.FontFace.FontFace' belonging to /@family@/ -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the font should be displayed -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FontFilterFunc`@.
+noFontFilterFunc :: Maybe FontFilterFunc
+noFontFilterFunc = Nothing
+
+{- |
+The type of function that is used for deciding what fonts get
+shown in a 'GI.Gtk.Interfaces.FontChooser.FontChooser'. See 'GI.Gtk.Interfaces.FontChooser.fontChooserSetFilterFunc'.
+-}
+type FontFilterFunc_WithClosures =
+    Pango.FontFamily.FontFamily
+    {- ^ /@family@/: a 'GI.Pango.Objects.FontFamily.FontFamily' -}
+    -> Pango.FontFace.FontFace
+    {- ^ /@face@/: a 'GI.Pango.Objects.FontFace.FontFace' belonging to /@family@/ -}
+    -> Ptr ()
+    {- ^ /@data@/: user data passed to 'GI.Gtk.Interfaces.FontChooser.fontChooserSetFilterFunc' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the font should be displayed -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FontFilterFunc_WithClosures`@.
+noFontFilterFunc_WithClosures :: Maybe FontFilterFunc_WithClosures
+noFontFilterFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_FontFilterFunc :: FontFilterFunc -> FontFilterFunc_WithClosures
+drop_closures_FontFilterFunc _f family face _ = _f family face
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FontFilterFunc :: MonadIO m => FontFilterFunc -> m (GClosure C_FontFilterFunc)
+genClosure_FontFilterFunc cb = liftIO $ do
+    let cb' = drop_closures_FontFilterFunc cb
+    let cb'' = wrap_FontFilterFunc Nothing cb'
+    mk_FontFilterFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FontFilterFunc` into a `C_FontFilterFunc`.
+wrap_FontFilterFunc ::
+    Maybe (Ptr (FunPtr C_FontFilterFunc)) ->
+    FontFilterFunc_WithClosures ->
+    C_FontFilterFunc
+wrap_FontFilterFunc funptrptr _cb family face data_ = do
+    family' <- (newObject Pango.FontFamily.FontFamily) family
+    face' <- (newObject Pango.FontFace.FontFace) face
+    result <- _cb  family' face' data_
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback FlowBoxSortFunc
+--          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "< 0 if @child1 should be before @child2, 0 if\n    the are equal, and > 0 otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "child1", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child2", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to compare two children to determine which\nshould come first.", sinceVersion = Just "3.12"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxSortFunc =
+    Ptr Gtk.FlowBoxChild.FlowBoxChild ->
+    Ptr Gtk.FlowBoxChild.FlowBoxChild ->
+    Ptr () ->
+    IO Int32
+
+-- Args : [Arg {argCName = "child1", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child2", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_FlowBoxSortFunc :: FunPtr C_FlowBoxSortFunc -> C_FlowBoxSortFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_FlowBoxSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.FlowBoxChild.IsFlowBoxChild a, Gtk.FlowBoxChild.IsFlowBoxChild b) =>
+    FunPtr C_FlowBoxSortFunc
+    -> a
+    {- ^ /@child1@/: the first child -}
+    -> b
+    {- ^ /@child2@/: the second child -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m Int32
+    {- ^ __Returns:__ \< 0 if /@child1@/ should be before /@child2@/, 0 if
+    the are equal, and > 0 otherwise -}
+dynamic_FlowBoxSortFunc __funPtr child1 child2 userData = liftIO $ do
+    child1' <- unsafeManagedPtrCastPtr child1
+    child2' <- unsafeManagedPtrCastPtr child2
+    result <- (__dynamic_C_FlowBoxSortFunc __funPtr) child1' child2' userData
+    touchManagedPtr child1
+    touchManagedPtr child2
+    return result
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxSortFunc`.
+foreign import ccall "wrapper"
+    mk_FlowBoxSortFunc :: C_FlowBoxSortFunc -> IO (FunPtr C_FlowBoxSortFunc)
+
+{- |
+A function to compare two children to determine which
+should come first.
+
+/Since: 3.12/
+-}
+type FlowBoxSortFunc =
+    Gtk.FlowBoxChild.FlowBoxChild
+    {- ^ /@child1@/: the first child -}
+    -> Gtk.FlowBoxChild.FlowBoxChild
+    {- ^ /@child2@/: the second child -}
+    -> IO Int32
+    {- ^ __Returns:__ \< 0 if /@child1@/ should be before /@child2@/, 0 if
+    the are equal, and > 0 otherwise -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxSortFunc`@.
+noFlowBoxSortFunc :: Maybe FlowBoxSortFunc
+noFlowBoxSortFunc = Nothing
+
+{- |
+A function to compare two children to determine which
+should come first.
+
+/Since: 3.12/
+-}
+type FlowBoxSortFunc_WithClosures =
+    Gtk.FlowBoxChild.FlowBoxChild
+    {- ^ /@child1@/: the first child -}
+    -> Gtk.FlowBoxChild.FlowBoxChild
+    {- ^ /@child2@/: the second child -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO Int32
+    {- ^ __Returns:__ \< 0 if /@child1@/ should be before /@child2@/, 0 if
+    the are equal, and > 0 otherwise -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxSortFunc_WithClosures`@.
+noFlowBoxSortFunc_WithClosures :: Maybe FlowBoxSortFunc_WithClosures
+noFlowBoxSortFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_FlowBoxSortFunc :: FlowBoxSortFunc -> FlowBoxSortFunc_WithClosures
+drop_closures_FlowBoxSortFunc _f child1 child2 _ = _f child1 child2
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxSortFunc :: MonadIO m => FlowBoxSortFunc -> m (GClosure C_FlowBoxSortFunc)
+genClosure_FlowBoxSortFunc cb = liftIO $ do
+    let cb' = drop_closures_FlowBoxSortFunc cb
+    let cb'' = wrap_FlowBoxSortFunc Nothing cb'
+    mk_FlowBoxSortFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxSortFunc` into a `C_FlowBoxSortFunc`.
+wrap_FlowBoxSortFunc ::
+    Maybe (Ptr (FunPtr C_FlowBoxSortFunc)) ->
+    FlowBoxSortFunc_WithClosures ->
+    C_FlowBoxSortFunc
+wrap_FlowBoxSortFunc funptrptr _cb child1 child2 userData = do
+    child1' <- (newObject Gtk.FlowBoxChild.FlowBoxChild) child1
+    child2' <- (newObject Gtk.FlowBoxChild.FlowBoxChild) child2
+    result <- _cb  child1' child2' userData
+    maybeReleaseFunPtr funptrptr
+    return result
+
+
+-- callback FlowBoxForeachFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBoxChild", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function used by gtk_flow_box_selected_foreach().\nIt will be called on every selected child of the @box.", sinceVersion = Just "3.12"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxForeachFunc =
+    Ptr Gtk.FlowBox.FlowBox ->
+    Ptr Gtk.FlowBoxChild.FlowBoxChild ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBoxChild", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_FlowBoxForeachFunc :: FunPtr C_FlowBoxForeachFunc -> C_FlowBoxForeachFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_FlowBoxForeachFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.FlowBox.IsFlowBox a, Gtk.FlowBoxChild.IsFlowBoxChild b) =>
+    FunPtr C_FlowBoxForeachFunc
+    -> a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> b
+    {- ^ /@child@/: a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m ()
+dynamic_FlowBoxForeachFunc __funPtr box child userData = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    (__dynamic_C_FlowBoxForeachFunc __funPtr) box' child' userData
+    touchManagedPtr box
+    touchManagedPtr child
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxForeachFunc`.
+foreign import ccall "wrapper"
+    mk_FlowBoxForeachFunc :: C_FlowBoxForeachFunc -> IO (FunPtr C_FlowBoxForeachFunc)
+
+{- |
+A function used by 'GI.Gtk.Objects.FlowBox.flowBoxSelectedForeach'.
+It will be called on every selected child of the /@box@/.
+
+/Since: 3.12/
+-}
+type FlowBoxForeachFunc =
+    Gtk.FlowBox.FlowBox
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Gtk.FlowBoxChild.FlowBoxChild
+    {- ^ /@child@/: a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxForeachFunc`@.
+noFlowBoxForeachFunc :: Maybe FlowBoxForeachFunc
+noFlowBoxForeachFunc = Nothing
+
+{- |
+A function used by 'GI.Gtk.Objects.FlowBox.flowBoxSelectedForeach'.
+It will be called on every selected child of the /@box@/.
+
+/Since: 3.12/
+-}
+type FlowBoxForeachFunc_WithClosures =
+    Gtk.FlowBox.FlowBox
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Gtk.FlowBoxChild.FlowBoxChild
+    {- ^ /@child@/: a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxForeachFunc_WithClosures`@.
+noFlowBoxForeachFunc_WithClosures :: Maybe FlowBoxForeachFunc_WithClosures
+noFlowBoxForeachFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_FlowBoxForeachFunc :: FlowBoxForeachFunc -> FlowBoxForeachFunc_WithClosures
+drop_closures_FlowBoxForeachFunc _f box child _ = _f box child
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxForeachFunc :: MonadIO m => FlowBoxForeachFunc -> m (GClosure C_FlowBoxForeachFunc)
+genClosure_FlowBoxForeachFunc cb = liftIO $ do
+    let cb' = drop_closures_FlowBoxForeachFunc cb
+    let cb'' = wrap_FlowBoxForeachFunc Nothing cb'
+    mk_FlowBoxForeachFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxForeachFunc` into a `C_FlowBoxForeachFunc`.
+wrap_FlowBoxForeachFunc ::
+    Maybe (Ptr (FunPtr C_FlowBoxForeachFunc)) ->
+    FlowBoxForeachFunc_WithClosures ->
+    C_FlowBoxForeachFunc
+wrap_FlowBoxForeachFunc funptrptr _cb box child userData = do
+    box' <- (newObject Gtk.FlowBox.FlowBox) box
+    child' <- (newObject Gtk.FlowBoxChild.FlowBoxChild) child
+    _cb  box' child' userData
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback FlowBoxFilterFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the row should be visible, %FALSE otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBoxChild that may be filtered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called whenrever a child changes\nor is added. It lets you control if the child should be\nvisible or not.", sinceVersion = Just "3.12"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxFilterFunc =
+    Ptr Gtk.FlowBoxChild.FlowBoxChild ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBoxChild that may be filtered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_FlowBoxFilterFunc :: FunPtr C_FlowBoxFilterFunc -> C_FlowBoxFilterFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_FlowBoxFilterFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.FlowBoxChild.IsFlowBoxChild a) =>
+    FunPtr C_FlowBoxFilterFunc
+    -> a
+    {- ^ /@child@/: a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' that may be filtered -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the row should be visible, 'False' otherwise -}
+dynamic_FlowBoxFilterFunc __funPtr child userData = liftIO $ do
+    child' <- unsafeManagedPtrCastPtr child
+    result <- (__dynamic_C_FlowBoxFilterFunc __funPtr) child' userData
+    let result' = (/= 0) result
+    touchManagedPtr child
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxFilterFunc`.
+foreign import ccall "wrapper"
+    mk_FlowBoxFilterFunc :: C_FlowBoxFilterFunc -> IO (FunPtr C_FlowBoxFilterFunc)
+
+{- |
+A function that will be called whenrever a child changes
+or is added. It lets you control if the child should be
+visible or not.
+
+/Since: 3.12/
+-}
+type FlowBoxFilterFunc =
+    Gtk.FlowBoxChild.FlowBoxChild
+    {- ^ /@child@/: a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' that may be filtered -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the row should be visible, 'False' otherwise -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxFilterFunc`@.
+noFlowBoxFilterFunc :: Maybe FlowBoxFilterFunc
+noFlowBoxFilterFunc = Nothing
+
+{- |
+A function that will be called whenrever a child changes
+or is added. It lets you control if the child should be
+visible or not.
+
+/Since: 3.12/
+-}
+type FlowBoxFilterFunc_WithClosures =
+    Gtk.FlowBoxChild.FlowBoxChild
+    {- ^ /@child@/: a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' that may be filtered -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the row should be visible, 'False' otherwise -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxFilterFunc_WithClosures`@.
+noFlowBoxFilterFunc_WithClosures :: Maybe FlowBoxFilterFunc_WithClosures
+noFlowBoxFilterFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_FlowBoxFilterFunc :: FlowBoxFilterFunc -> FlowBoxFilterFunc_WithClosures
+drop_closures_FlowBoxFilterFunc _f child _ = _f child
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxFilterFunc :: MonadIO m => FlowBoxFilterFunc -> m (GClosure C_FlowBoxFilterFunc)
+genClosure_FlowBoxFilterFunc cb = liftIO $ do
+    let cb' = drop_closures_FlowBoxFilterFunc cb
+    let cb'' = wrap_FlowBoxFilterFunc Nothing cb'
+    mk_FlowBoxFilterFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxFilterFunc` into a `C_FlowBoxFilterFunc`.
+wrap_FlowBoxFilterFunc ::
+    Maybe (Ptr (FunPtr C_FlowBoxFilterFunc)) ->
+    FlowBoxFilterFunc_WithClosures ->
+    C_FlowBoxFilterFunc
+wrap_FlowBoxFilterFunc funptrptr _cb child userData = do
+    child' <- (newObject Gtk.FlowBoxChild.FlowBoxChild) child
+    result <- _cb  child' userData
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback FlowBoxCreateWidgetFunc
+--          -> Callable {returnType = Just (TInterface (Name {namespace = "Gtk", name = "Widget"})), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Just "a #GtkWidget that represents @item", sinceVersion = Nothing}, args = [Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the item from the model for which to create a widget for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data from gtk_flow_box_bind_model()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Called for flow boxes that are bound to a #GListModel with\ngtk_flow_box_bind_model() for each item that gets added to the model.", sinceVersion = Just "3.18"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxCreateWidgetFunc =
+    Ptr GObject.Object.Object ->
+    Ptr () ->
+    IO (Ptr Gtk.Widget.Widget)
+
+-- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the item from the model for which to create a widget for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data from gtk_flow_box_bind_model()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_FlowBoxCreateWidgetFunc :: FunPtr C_FlowBoxCreateWidgetFunc -> C_FlowBoxCreateWidgetFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_FlowBoxCreateWidgetFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
+    FunPtr C_FlowBoxCreateWidgetFunc
+    -> Maybe (a)
+    {- ^ /@item@/: the item from the model for which to create a widget for -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data from 'GI.Gtk.Objects.FlowBox.flowBoxBindModel' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' that represents /@item@/ -}
+dynamic_FlowBoxCreateWidgetFunc __funPtr item userData = liftIO $ do
+    maybeItem <- case item of
+        Nothing -> return nullPtr
+        Just jItem -> do
+            jItem' <- unsafeManagedPtrCastPtr jItem
+            return jItem'
+    result <- (__dynamic_C_FlowBoxCreateWidgetFunc __funPtr) maybeItem userData
+    checkUnexpectedReturnNULL "flowBoxCreateWidgetFunc" result
+    result' <- (wrapObject Gtk.Widget.Widget) result
+    whenJust item touchManagedPtr
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxCreateWidgetFunc`.
+foreign import ccall "wrapper"
+    mk_FlowBoxCreateWidgetFunc :: C_FlowBoxCreateWidgetFunc -> IO (FunPtr C_FlowBoxCreateWidgetFunc)
+
+{- |
+Called for flow boxes that are bound to a 'GI.Gio.Interfaces.ListModel.ListModel' with
+'GI.Gtk.Objects.FlowBox.flowBoxBindModel' for each item that gets added to the model.
+
+/Since: 3.18/
+-}
+type FlowBoxCreateWidgetFunc =
+    Maybe GObject.Object.Object
+    {- ^ /@item@/: the item from the model for which to create a widget for -}
+    -> IO Gtk.Widget.Widget
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' that represents /@item@/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxCreateWidgetFunc`@.
+noFlowBoxCreateWidgetFunc :: Maybe FlowBoxCreateWidgetFunc
+noFlowBoxCreateWidgetFunc = Nothing
+
+{- |
+Called for flow boxes that are bound to a 'GI.Gio.Interfaces.ListModel.ListModel' with
+'GI.Gtk.Objects.FlowBox.flowBoxBindModel' for each item that gets added to the model.
+
+/Since: 3.18/
+-}
+type FlowBoxCreateWidgetFunc_WithClosures =
+    Maybe GObject.Object.Object
+    {- ^ /@item@/: the item from the model for which to create a widget for -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data from 'GI.Gtk.Objects.FlowBox.flowBoxBindModel' -}
+    -> IO Gtk.Widget.Widget
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' that represents /@item@/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxCreateWidgetFunc_WithClosures`@.
+noFlowBoxCreateWidgetFunc_WithClosures :: Maybe FlowBoxCreateWidgetFunc_WithClosures
+noFlowBoxCreateWidgetFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_FlowBoxCreateWidgetFunc :: FlowBoxCreateWidgetFunc -> FlowBoxCreateWidgetFunc_WithClosures
+drop_closures_FlowBoxCreateWidgetFunc _f item _ = _f item
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxCreateWidgetFunc :: MonadIO m => FlowBoxCreateWidgetFunc -> m (GClosure C_FlowBoxCreateWidgetFunc)
+genClosure_FlowBoxCreateWidgetFunc cb = liftIO $ do
+    let cb' = drop_closures_FlowBoxCreateWidgetFunc cb
+    let cb'' = wrap_FlowBoxCreateWidgetFunc Nothing cb'
+    mk_FlowBoxCreateWidgetFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxCreateWidgetFunc` into a `C_FlowBoxCreateWidgetFunc`.
+wrap_FlowBoxCreateWidgetFunc ::
+    Maybe (Ptr (FunPtr C_FlowBoxCreateWidgetFunc)) ->
+    FlowBoxCreateWidgetFunc_WithClosures ->
+    C_FlowBoxCreateWidgetFunc
+wrap_FlowBoxCreateWidgetFunc funptrptr _cb item userData = do
+    maybeItem <-
+        if item == nullPtr
+        then return Nothing
+        else do
+            item' <- (newObject GObject.Object.Object) item
+            return $ Just item'
+    result <- _cb  maybeItem userData
+    maybeReleaseFunPtr funptrptr
+    result' <- B.ManagedPtr.disownObject result
+    return result'
+
+
+-- callback FileFilterFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the file should be displayed", sinceVersion = Nothing}, args = [Arg {argCName = "filter_info", argType = TInterface (Name {namespace = "Gtk", name = "FileFilterInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilterInfo that is filled according\n  to the @needed flags passed to gtk_file_filter_add_custom()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_file_filter_add_custom()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of function that is used with custom filters, see\ngtk_file_filter_add_custom().", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileFilterFunc =
+    Ptr Gtk.FileFilterInfo.FileFilterInfo ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "filter_info", argType = TInterface (Name {namespace = "Gtk", name = "FileFilterInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilterInfo that is filled according\n  to the @needed flags passed to gtk_file_filter_add_custom()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_file_filter_add_custom()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_FileFilterFunc :: FunPtr C_FileFilterFunc -> C_FileFilterFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_FileFilterFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_FileFilterFunc
+    -> Gtk.FileFilterInfo.FileFilterInfo
+    {- ^ /@filterInfo@/: a 'GI.Gtk.Structs.FileFilterInfo.FileFilterInfo' that is filled according
+  to the /@needed@/ flags passed to 'GI.Gtk.Objects.FileFilter.fileFilterAddCustom' -}
+    -> Ptr ()
+    {- ^ /@data@/: user data passed to 'GI.Gtk.Objects.FileFilter.fileFilterAddCustom' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the file should be displayed -}
+dynamic_FileFilterFunc __funPtr filterInfo data_ = liftIO $ do
+    filterInfo' <- unsafeManagedPtrGetPtr filterInfo
+    result <- (__dynamic_C_FileFilterFunc __funPtr) filterInfo' data_
+    let result' = (/= 0) result
+    touchManagedPtr filterInfo
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_FileFilterFunc`.
+foreign import ccall "wrapper"
+    mk_FileFilterFunc :: C_FileFilterFunc -> IO (FunPtr C_FileFilterFunc)
+
+{- |
+The type of function that is used with custom filters, see
+'GI.Gtk.Objects.FileFilter.fileFilterAddCustom'.
+-}
+type FileFilterFunc =
+    Gtk.FileFilterInfo.FileFilterInfo
+    {- ^ /@filterInfo@/: a 'GI.Gtk.Structs.FileFilterInfo.FileFilterInfo' that is filled according
+  to the /@needed@/ flags passed to 'GI.Gtk.Objects.FileFilter.fileFilterAddCustom' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the file should be displayed -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileFilterFunc`@.
+noFileFilterFunc :: Maybe FileFilterFunc
+noFileFilterFunc = Nothing
+
+{- |
+The type of function that is used with custom filters, see
+'GI.Gtk.Objects.FileFilter.fileFilterAddCustom'.
+-}
+type FileFilterFunc_WithClosures =
+    Gtk.FileFilterInfo.FileFilterInfo
+    {- ^ /@filterInfo@/: a 'GI.Gtk.Structs.FileFilterInfo.FileFilterInfo' that is filled according
+  to the /@needed@/ flags passed to 'GI.Gtk.Objects.FileFilter.fileFilterAddCustom' -}
+    -> Ptr ()
+    {- ^ /@data@/: user data passed to 'GI.Gtk.Objects.FileFilter.fileFilterAddCustom' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the file should be displayed -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileFilterFunc_WithClosures`@.
+noFileFilterFunc_WithClosures :: Maybe FileFilterFunc_WithClosures
+noFileFilterFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_FileFilterFunc :: FileFilterFunc -> FileFilterFunc_WithClosures
+drop_closures_FileFilterFunc _f filterInfo _ = _f filterInfo
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileFilterFunc :: MonadIO m => FileFilterFunc -> m (GClosure C_FileFilterFunc)
+genClosure_FileFilterFunc cb = liftIO $ do
+    let cb' = drop_closures_FileFilterFunc cb
+    let cb'' = wrap_FileFilterFunc Nothing cb'
+    mk_FileFilterFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileFilterFunc` into a `C_FileFilterFunc`.
+wrap_FileFilterFunc ::
+    Maybe (Ptr (FunPtr C_FileFilterFunc)) ->
+    FileFilterFunc_WithClosures ->
+    C_FileFilterFunc
+wrap_FileFilterFunc funptrptr _cb filterInfo data_ = do
+    filterInfo' <- (newPtr Gtk.FileFilterInfo.FileFilterInfo) filterInfo
+    result <- _cb  filterInfo' data_
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback EntryCompletionMatchFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if @iter should be displayed as a possible completion\n    for @key", sinceVersion = Nothing}, args = [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to match, normalized and case-folded", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter indicating the row to match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data given to gtk_entry_completion_set_match_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function which decides whether the row indicated by @iter matches\na given @key, and should be displayed as a possible completion for @key.\nNote that @key is normalized and case-folded (see g_utf8_normalize()\nand g_utf8_casefold()). If this is not appropriate, match functions\nhave access to the unmodified key via\n`gtk_entry_get_text (GTK_ENTRY (gtk_entry_completion_get_entry ()))`.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryCompletionMatchFunc =
+    Ptr Gtk.EntryCompletion.EntryCompletion ->
+    CString ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to match, normalized and case-folded", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter indicating the row to match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data given to gtk_entry_completion_set_match_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_EntryCompletionMatchFunc :: FunPtr C_EntryCompletionMatchFunc -> C_EntryCompletionMatchFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_EntryCompletionMatchFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.EntryCompletion.IsEntryCompletion a) =>
+    FunPtr C_EntryCompletionMatchFunc
+    -> a
+    {- ^ /@completion@/: the 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> T.Text
+    {- ^ /@key@/: the string to match, normalized and case-folded -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' indicating the row to match -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data given to 'GI.Gtk.Objects.EntryCompletion.entryCompletionSetMatchFunc' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ should be displayed as a possible completion
+    for /@key@/ -}
+dynamic_EntryCompletionMatchFunc __funPtr completion key iter userData = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    key' <- textToCString key
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- (__dynamic_C_EntryCompletionMatchFunc __funPtr) completion' key' iter' userData
+    let result' = (/= 0) result
+    touchManagedPtr completion
+    touchManagedPtr iter
+    freeMem key'
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_EntryCompletionMatchFunc`.
+foreign import ccall "wrapper"
+    mk_EntryCompletionMatchFunc :: C_EntryCompletionMatchFunc -> IO (FunPtr C_EntryCompletionMatchFunc)
+
+{- |
+A function which decides whether the row indicated by /@iter@/ matches
+a given /@key@/, and should be displayed as a possible completion for /@key@/.
+Note that /@key@/ is normalized and case-folded (see 'GI.GLib.Functions.utf8Normalize'
+and 'GI.GLib.Functions.utf8Casefold'). If this is not appropriate, match functions
+have access to the unmodified key via
+@gtk_entry_get_text (GTK_ENTRY (gtk_entry_completion_get_entry ()))@.
+-}
+type EntryCompletionMatchFunc =
+    Gtk.EntryCompletion.EntryCompletion
+    {- ^ /@completion@/: the 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> T.Text
+    {- ^ /@key@/: the string to match, normalized and case-folded -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' indicating the row to match -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ should be displayed as a possible completion
+    for /@key@/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryCompletionMatchFunc`@.
+noEntryCompletionMatchFunc :: Maybe EntryCompletionMatchFunc
+noEntryCompletionMatchFunc = Nothing
+
+{- |
+A function which decides whether the row indicated by /@iter@/ matches
+a given /@key@/, and should be displayed as a possible completion for /@key@/.
+Note that /@key@/ is normalized and case-folded (see 'GI.GLib.Functions.utf8Normalize'
+and 'GI.GLib.Functions.utf8Casefold'). If this is not appropriate, match functions
+have access to the unmodified key via
+@gtk_entry_get_text (GTK_ENTRY (gtk_entry_completion_get_entry ()))@.
+-}
+type EntryCompletionMatchFunc_WithClosures =
+    Gtk.EntryCompletion.EntryCompletion
+    {- ^ /@completion@/: the 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> T.Text
+    {- ^ /@key@/: the string to match, normalized and case-folded -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' indicating the row to match -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data given to 'GI.Gtk.Objects.EntryCompletion.entryCompletionSetMatchFunc' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ should be displayed as a possible completion
+    for /@key@/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryCompletionMatchFunc_WithClosures`@.
+noEntryCompletionMatchFunc_WithClosures :: Maybe EntryCompletionMatchFunc_WithClosures
+noEntryCompletionMatchFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_EntryCompletionMatchFunc :: EntryCompletionMatchFunc -> EntryCompletionMatchFunc_WithClosures
+drop_closures_EntryCompletionMatchFunc _f completion key iter _ = _f completion key iter
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryCompletionMatchFunc :: MonadIO m => EntryCompletionMatchFunc -> m (GClosure C_EntryCompletionMatchFunc)
+genClosure_EntryCompletionMatchFunc cb = liftIO $ do
+    let cb' = drop_closures_EntryCompletionMatchFunc cb
+    let cb'' = wrap_EntryCompletionMatchFunc Nothing cb'
+    mk_EntryCompletionMatchFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryCompletionMatchFunc` into a `C_EntryCompletionMatchFunc`.
+wrap_EntryCompletionMatchFunc ::
+    Maybe (Ptr (FunPtr C_EntryCompletionMatchFunc)) ->
+    EntryCompletionMatchFunc_WithClosures ->
+    C_EntryCompletionMatchFunc
+wrap_EntryCompletionMatchFunc funptrptr _cb completion key iter userData = do
+    completion' <- (newObject Gtk.EntryCompletion.EntryCompletion) completion
+    key' <- cstringToText key
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        result <- _cb  completion' key' iter' userData
+        maybeReleaseFunPtr funptrptr
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+-- callback ColorSelectionChangePaletteWithScreenFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "colors", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Color"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Array of colors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of colors in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Just (DeprecationInfo {deprecatedSinceVersion = Just "3.4", deprecationMessage = Nothing}), callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Just "2.2"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ColorSelectionChangePaletteWithScreenFunc =
+    Ptr Gdk.Screen.Screen ->
+    Ptr Gdk.Color.Color ->
+    Int32 ->
+    IO ()
+
+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "colors", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Color"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Array of colors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of colors in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of colors in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ColorSelectionChangePaletteWithScreenFunc :: FunPtr C_ColorSelectionChangePaletteWithScreenFunc -> C_ColorSelectionChangePaletteWithScreenFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ColorSelectionChangePaletteWithScreenFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>
+    FunPtr C_ColorSelectionChangePaletteWithScreenFunc
+    -> a
+    -> [Gdk.Color.Color]
+    {- ^ /@colors@/: Array of colors -}
+    -> m ()
+dynamic_ColorSelectionChangePaletteWithScreenFunc __funPtr screen colors = liftIO $ do
+    let nColors = fromIntegral $ length colors
+    screen' <- unsafeManagedPtrCastPtr screen
+    colors' <- mapM unsafeManagedPtrGetPtr colors
+    colors'' <- packBlockArray 12 colors'
+    (__dynamic_C_ColorSelectionChangePaletteWithScreenFunc __funPtr) screen' colors'' nColors
+    touchManagedPtr screen
+    mapM_ touchManagedPtr colors
+    freeMem colors''
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ColorSelectionChangePaletteWithScreenFunc`.
+foreign import ccall "wrapper"
+    mk_ColorSelectionChangePaletteWithScreenFunc :: C_ColorSelectionChangePaletteWithScreenFunc -> IO (FunPtr C_ColorSelectionChangePaletteWithScreenFunc)
+
+{-# DEPRECATED ColorSelectionChangePaletteWithScreenFunc ["(Since version 3.4)"] #-}
+{- |
+/No description available in the introspection data./
+
+/Since: 2.2/
+-}
+type ColorSelectionChangePaletteWithScreenFunc =
+    Gdk.Screen.Screen
+    -> [Gdk.Color.Color]
+    {- ^ /@colors@/: Array of colors -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ColorSelectionChangePaletteWithScreenFunc`@.
+noColorSelectionChangePaletteWithScreenFunc :: Maybe ColorSelectionChangePaletteWithScreenFunc
+noColorSelectionChangePaletteWithScreenFunc = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ColorSelectionChangePaletteWithScreenFunc :: MonadIO m => ColorSelectionChangePaletteWithScreenFunc -> m (GClosure C_ColorSelectionChangePaletteWithScreenFunc)
+genClosure_ColorSelectionChangePaletteWithScreenFunc cb = liftIO $ do
+    let cb' = wrap_ColorSelectionChangePaletteWithScreenFunc Nothing cb
+    mk_ColorSelectionChangePaletteWithScreenFunc cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ColorSelectionChangePaletteWithScreenFunc` into a `C_ColorSelectionChangePaletteWithScreenFunc`.
+wrap_ColorSelectionChangePaletteWithScreenFunc ::
+    Maybe (Ptr (FunPtr C_ColorSelectionChangePaletteWithScreenFunc)) ->
+    ColorSelectionChangePaletteWithScreenFunc ->
+    C_ColorSelectionChangePaletteWithScreenFunc
+wrap_ColorSelectionChangePaletteWithScreenFunc funptrptr _cb screen colors nColors = do
+    screen' <- (newObject Gdk.Screen.Screen) screen
+    colors' <- (unpackBoxedArrayWithLength 12 nColors) colors
+    colors'' <- mapM (newBoxed Gdk.Color.Color) colors'
+    _cb  screen' colors''
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ColorSelectionChangePaletteFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "colors", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Color"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Array of colors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of colors in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Just (DeprecationInfo {deprecatedSinceVersion = Just "3.4", deprecationMessage = Nothing}), callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ColorSelectionChangePaletteFunc =
+    Ptr Gdk.Color.Color ->
+    Int32 ->
+    IO ()
+
+-- Args : [Arg {argCName = "colors", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Color"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Array of colors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of colors in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of colors in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ColorSelectionChangePaletteFunc :: FunPtr C_ColorSelectionChangePaletteFunc -> C_ColorSelectionChangePaletteFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ColorSelectionChangePaletteFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_ColorSelectionChangePaletteFunc
+    -> [Gdk.Color.Color]
+    {- ^ /@colors@/: Array of colors -}
+    -> m ()
+dynamic_ColorSelectionChangePaletteFunc __funPtr colors = liftIO $ do
+    let nColors = fromIntegral $ length colors
+    colors' <- mapM unsafeManagedPtrGetPtr colors
+    colors'' <- packBlockArray 12 colors'
+    (__dynamic_C_ColorSelectionChangePaletteFunc __funPtr) colors'' nColors
+    mapM_ touchManagedPtr colors
+    freeMem colors''
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ColorSelectionChangePaletteFunc`.
+foreign import ccall "wrapper"
+    mk_ColorSelectionChangePaletteFunc :: C_ColorSelectionChangePaletteFunc -> IO (FunPtr C_ColorSelectionChangePaletteFunc)
+
+{-# DEPRECATED ColorSelectionChangePaletteFunc ["(Since version 3.4)"] #-}
+{- |
+/No description available in the introspection data./
+-}
+type ColorSelectionChangePaletteFunc =
+    [Gdk.Color.Color]
+    {- ^ /@colors@/: Array of colors -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ColorSelectionChangePaletteFunc`@.
+noColorSelectionChangePaletteFunc :: Maybe ColorSelectionChangePaletteFunc
+noColorSelectionChangePaletteFunc = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ColorSelectionChangePaletteFunc :: MonadIO m => ColorSelectionChangePaletteFunc -> m (GClosure C_ColorSelectionChangePaletteFunc)
+genClosure_ColorSelectionChangePaletteFunc cb = liftIO $ do
+    let cb' = wrap_ColorSelectionChangePaletteFunc Nothing cb
+    mk_ColorSelectionChangePaletteFunc cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ColorSelectionChangePaletteFunc` into a `C_ColorSelectionChangePaletteFunc`.
+wrap_ColorSelectionChangePaletteFunc ::
+    Maybe (Ptr (FunPtr C_ColorSelectionChangePaletteFunc)) ->
+    ColorSelectionChangePaletteFunc ->
+    C_ColorSelectionChangePaletteFunc
+wrap_ColorSelectionChangePaletteFunc funptrptr _cb colors nColors = do
+    colors' <- (unpackBoxedArrayWithLength 12 nColors) colors
+    colors'' <- mapM (newBoxed Gdk.Color.Color) colors'
+    _cb  colors''
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ClipboardURIReceivedFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uris", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the received URIs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_uris().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to be called when the results of\ngtk_clipboard_request_uris() are received, or when the request\nfails.", sinceVersion = Just "2.14"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ClipboardURIReceivedFunc =
+    Ptr Gtk.Clipboard.Clipboard ->
+    Ptr CString ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uris", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the received URIs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_uris().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ClipboardURIReceivedFunc :: FunPtr C_ClipboardURIReceivedFunc -> C_ClipboardURIReceivedFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ClipboardURIReceivedFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Clipboard.IsClipboard a) =>
+    FunPtr C_ClipboardURIReceivedFunc
+    -> a
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> [T.Text]
+    {- ^ /@uris@/: the received URIs -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestUris'. -}
+    -> m ()
+dynamic_ClipboardURIReceivedFunc __funPtr clipboard uris data_ = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    uris' <- packZeroTerminatedUTF8CArray uris
+    (__dynamic_C_ClipboardURIReceivedFunc __funPtr) clipboard' uris' data_
+    touchManagedPtr clipboard
+    mapZeroTerminatedCArray freeMem uris'
+    freeMem uris'
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ClipboardURIReceivedFunc`.
+foreign import ccall "wrapper"
+    mk_ClipboardURIReceivedFunc :: C_ClipboardURIReceivedFunc -> IO (FunPtr C_ClipboardURIReceivedFunc)
+
+{- |
+A function to be called when the results of
+'GI.Gtk.Objects.Clipboard.clipboardRequestUris' are received, or when the request
+fails.
+
+/Since: 2.14/
+-}
+type ClipboardURIReceivedFunc =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> [T.Text]
+    {- ^ /@uris@/: the received URIs -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardURIReceivedFunc`@.
+noClipboardURIReceivedFunc :: Maybe ClipboardURIReceivedFunc
+noClipboardURIReceivedFunc = Nothing
+
+{- |
+A function to be called when the results of
+'GI.Gtk.Objects.Clipboard.clipboardRequestUris' are received, or when the request
+fails.
+
+/Since: 2.14/
+-}
+type ClipboardURIReceivedFunc_WithClosures =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> [T.Text]
+    {- ^ /@uris@/: the received URIs -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestUris'. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardURIReceivedFunc_WithClosures`@.
+noClipboardURIReceivedFunc_WithClosures :: Maybe ClipboardURIReceivedFunc_WithClosures
+noClipboardURIReceivedFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ClipboardURIReceivedFunc :: ClipboardURIReceivedFunc -> ClipboardURIReceivedFunc_WithClosures
+drop_closures_ClipboardURIReceivedFunc _f clipboard uris _ = _f clipboard uris
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ClipboardURIReceivedFunc :: MonadIO m => ClipboardURIReceivedFunc -> m (GClosure C_ClipboardURIReceivedFunc)
+genClosure_ClipboardURIReceivedFunc cb = liftIO $ do
+    let cb' = drop_closures_ClipboardURIReceivedFunc cb
+    let cb'' = wrap_ClipboardURIReceivedFunc Nothing cb'
+    mk_ClipboardURIReceivedFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ClipboardURIReceivedFunc` into a `C_ClipboardURIReceivedFunc`.
+wrap_ClipboardURIReceivedFunc ::
+    Maybe (Ptr (FunPtr C_ClipboardURIReceivedFunc)) ->
+    ClipboardURIReceivedFunc_WithClosures ->
+    C_ClipboardURIReceivedFunc
+wrap_ClipboardURIReceivedFunc funptrptr _cb clipboard uris data_ = do
+    clipboard' <- (newObject Gtk.Clipboard.Clipboard) clipboard
+    uris' <- unpackZeroTerminatedUTF8CArray uris
+    _cb  clipboard' uris' data_
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ClipboardTextReceivedFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the text received, as a UTF-8 encoded string, or\n  %NULL if retrieving the data failed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_text().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to be called when the results of gtk_clipboard_request_text()\nare received, or when the request fails.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ClipboardTextReceivedFunc =
+    Ptr Gtk.Clipboard.Clipboard ->
+    CString ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the text received, as a UTF-8 encoded string, or\n  %NULL if retrieving the data failed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_text().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ClipboardTextReceivedFunc :: FunPtr C_ClipboardTextReceivedFunc -> C_ClipboardTextReceivedFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ClipboardTextReceivedFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Clipboard.IsClipboard a) =>
+    FunPtr C_ClipboardTextReceivedFunc
+    -> a
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Maybe (T.Text)
+    {- ^ /@text@/: the text received, as a UTF-8 encoded string, or
+  'Nothing' if retrieving the data failed. -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestText'. -}
+    -> m ()
+dynamic_ClipboardTextReceivedFunc __funPtr clipboard text data_ = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    maybeText <- case text of
+        Nothing -> return nullPtr
+        Just jText -> do
+            jText' <- textToCString jText
+            return jText'
+    (__dynamic_C_ClipboardTextReceivedFunc __funPtr) clipboard' maybeText data_
+    touchManagedPtr clipboard
+    freeMem maybeText
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ClipboardTextReceivedFunc`.
+foreign import ccall "wrapper"
+    mk_ClipboardTextReceivedFunc :: C_ClipboardTextReceivedFunc -> IO (FunPtr C_ClipboardTextReceivedFunc)
+
+{- |
+A function to be called when the results of 'GI.Gtk.Objects.Clipboard.clipboardRequestText'
+are received, or when the request fails.
+-}
+type ClipboardTextReceivedFunc =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Maybe T.Text
+    {- ^ /@text@/: the text received, as a UTF-8 encoded string, or
+  'Nothing' if retrieving the data failed. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardTextReceivedFunc`@.
+noClipboardTextReceivedFunc :: Maybe ClipboardTextReceivedFunc
+noClipboardTextReceivedFunc = Nothing
+
+{- |
+A function to be called when the results of 'GI.Gtk.Objects.Clipboard.clipboardRequestText'
+are received, or when the request fails.
+-}
+type ClipboardTextReceivedFunc_WithClosures =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Maybe T.Text
+    {- ^ /@text@/: the text received, as a UTF-8 encoded string, or
+  'Nothing' if retrieving the data failed. -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestText'. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardTextReceivedFunc_WithClosures`@.
+noClipboardTextReceivedFunc_WithClosures :: Maybe ClipboardTextReceivedFunc_WithClosures
+noClipboardTextReceivedFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ClipboardTextReceivedFunc :: ClipboardTextReceivedFunc -> ClipboardTextReceivedFunc_WithClosures
+drop_closures_ClipboardTextReceivedFunc _f clipboard text _ = _f clipboard text
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ClipboardTextReceivedFunc :: MonadIO m => ClipboardTextReceivedFunc -> m (GClosure C_ClipboardTextReceivedFunc)
+genClosure_ClipboardTextReceivedFunc cb = liftIO $ do
+    let cb' = drop_closures_ClipboardTextReceivedFunc cb
+    let cb'' = wrap_ClipboardTextReceivedFunc Nothing cb'
+    mk_ClipboardTextReceivedFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ClipboardTextReceivedFunc` into a `C_ClipboardTextReceivedFunc`.
+wrap_ClipboardTextReceivedFunc ::
+    Maybe (Ptr (FunPtr C_ClipboardTextReceivedFunc)) ->
+    ClipboardTextReceivedFunc_WithClosures ->
+    C_ClipboardTextReceivedFunc
+wrap_ClipboardTextReceivedFunc funptrptr _cb clipboard text data_ = do
+    clipboard' <- (newObject Gtk.Clipboard.Clipboard) clipboard
+    maybeText <-
+        if text == nullPtr
+        then return Nothing
+        else do
+            text' <- cstringToText text
+            return $ Just text'
+    _cb  clipboard' maybeText data_
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ClipboardTargetsReceivedFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "atoms", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the supported targets,\n  as array of #GdkAtom, or %NULL if retrieving the data failed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_atoms", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @atoms array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_targets().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to be called when the results of gtk_clipboard_request_targets()\nare received, or when the request fails.", sinceVersion = Just "2.4"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ClipboardTargetsReceivedFunc =
+    Ptr Gtk.Clipboard.Clipboard ->
+    Ptr (Ptr Gdk.Atom.Atom) ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "atoms", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the supported targets,\n  as array of #GdkAtom, or %NULL if retrieving the data failed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_atoms", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @atoms array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_targets().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_atoms", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @atoms array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ClipboardTargetsReceivedFunc :: FunPtr C_ClipboardTargetsReceivedFunc -> C_ClipboardTargetsReceivedFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ClipboardTargetsReceivedFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Clipboard.IsClipboard a) =>
+    FunPtr C_ClipboardTargetsReceivedFunc
+    -> a
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Maybe ([Gdk.Atom.Atom])
+    {- ^ /@atoms@/: the supported targets,
+  as array of 'GI.Gdk.Structs.Atom.Atom', or 'Nothing' if retrieving the data failed. -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestTargets'. -}
+    -> m ()
+dynamic_ClipboardTargetsReceivedFunc __funPtr clipboard atoms data_ = liftIO $ do
+    let nAtoms = case atoms of
+            Nothing -> 0
+            Just jAtoms -> fromIntegral $ length jAtoms
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    maybeAtoms <- case atoms of
+        Nothing -> return nullPtr
+        Just jAtoms -> do
+            jAtoms' <- mapM unsafeManagedPtrGetPtr jAtoms
+            jAtoms'' <- packPtrArray jAtoms'
+            return jAtoms''
+    (__dynamic_C_ClipboardTargetsReceivedFunc __funPtr) clipboard' maybeAtoms nAtoms data_
+    touchManagedPtr clipboard
+    whenJust atoms (mapM_ touchManagedPtr)
+    freeMem maybeAtoms
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ClipboardTargetsReceivedFunc`.
+foreign import ccall "wrapper"
+    mk_ClipboardTargetsReceivedFunc :: C_ClipboardTargetsReceivedFunc -> IO (FunPtr C_ClipboardTargetsReceivedFunc)
+
+{- |
+A function to be called when the results of 'GI.Gtk.Objects.Clipboard.clipboardRequestTargets'
+are received, or when the request fails.
+
+/Since: 2.4/
+-}
+type ClipboardTargetsReceivedFunc =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Maybe [Gdk.Atom.Atom]
+    {- ^ /@atoms@/: the supported targets,
+  as array of 'GI.Gdk.Structs.Atom.Atom', or 'Nothing' if retrieving the data failed. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardTargetsReceivedFunc`@.
+noClipboardTargetsReceivedFunc :: Maybe ClipboardTargetsReceivedFunc
+noClipboardTargetsReceivedFunc = Nothing
+
+{- |
+A function to be called when the results of 'GI.Gtk.Objects.Clipboard.clipboardRequestTargets'
+are received, or when the request fails.
+
+/Since: 2.4/
+-}
+type ClipboardTargetsReceivedFunc_WithClosures =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Maybe [Gdk.Atom.Atom]
+    {- ^ /@atoms@/: the supported targets,
+  as array of 'GI.Gdk.Structs.Atom.Atom', or 'Nothing' if retrieving the data failed. -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestTargets'. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardTargetsReceivedFunc_WithClosures`@.
+noClipboardTargetsReceivedFunc_WithClosures :: Maybe ClipboardTargetsReceivedFunc_WithClosures
+noClipboardTargetsReceivedFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ClipboardTargetsReceivedFunc :: ClipboardTargetsReceivedFunc -> ClipboardTargetsReceivedFunc_WithClosures
+drop_closures_ClipboardTargetsReceivedFunc _f clipboard atoms _ = _f clipboard atoms
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ClipboardTargetsReceivedFunc :: MonadIO m => ClipboardTargetsReceivedFunc -> m (GClosure C_ClipboardTargetsReceivedFunc)
+genClosure_ClipboardTargetsReceivedFunc cb = liftIO $ do
+    let cb' = drop_closures_ClipboardTargetsReceivedFunc cb
+    let cb'' = wrap_ClipboardTargetsReceivedFunc Nothing cb'
+    mk_ClipboardTargetsReceivedFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ClipboardTargetsReceivedFunc` into a `C_ClipboardTargetsReceivedFunc`.
+wrap_ClipboardTargetsReceivedFunc ::
+    Maybe (Ptr (FunPtr C_ClipboardTargetsReceivedFunc)) ->
+    ClipboardTargetsReceivedFunc_WithClosures ->
+    C_ClipboardTargetsReceivedFunc
+wrap_ClipboardTargetsReceivedFunc funptrptr _cb clipboard atoms nAtoms data_ = do
+    clipboard' <- (newObject Gtk.Clipboard.Clipboard) clipboard
+    maybeAtoms <-
+        if atoms == nullPtr
+        then return Nothing
+        else do
+            atoms' <- (unpackPtrArrayWithLength nAtoms) atoms
+            atoms'' <- mapM (newPtr Gdk.Atom.Atom) atoms'
+            return $ Just atoms''
+    _cb  clipboard' maybeAtoms data_
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ClipboardRichTextReceivedFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The format of the rich text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the rich text received, as\n  a UTF-8 encoded string, or %NULL if retrieving the data failed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Length of the text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_rich_text().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to be called when the results of\ngtk_clipboard_request_rich_text() are received, or when the request\nfails.", sinceVersion = Just "2.10"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ClipboardRichTextReceivedFunc =
+    Ptr Gtk.Clipboard.Clipboard ->
+    Ptr Gdk.Atom.Atom ->
+    CString ->
+    Word64 ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The format of the rich text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the rich text received, as\n  a UTF-8 encoded string, or %NULL if retrieving the data failed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Length of the text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_rich_text().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ClipboardRichTextReceivedFunc :: FunPtr C_ClipboardRichTextReceivedFunc -> C_ClipboardRichTextReceivedFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ClipboardRichTextReceivedFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Clipboard.IsClipboard a) =>
+    FunPtr C_ClipboardRichTextReceivedFunc
+    -> a
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@format@/: The format of the rich text -}
+    -> Maybe (T.Text)
+    {- ^ /@text@/: the rich text received, as
+  a UTF-8 encoded string, or 'Nothing' if retrieving the data failed. -}
+    -> Word64
+    {- ^ /@length@/: Length of the text. -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestRichText'. -}
+    -> m ()
+dynamic_ClipboardRichTextReceivedFunc __funPtr clipboard format text length_ data_ = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    format' <- unsafeManagedPtrGetPtr format
+    maybeText <- case text of
+        Nothing -> return nullPtr
+        Just jText -> do
+            jText' <- textToCString jText
+            return jText'
+    (__dynamic_C_ClipboardRichTextReceivedFunc __funPtr) clipboard' format' maybeText length_ data_
+    touchManagedPtr clipboard
+    touchManagedPtr format
+    freeMem maybeText
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ClipboardRichTextReceivedFunc`.
+foreign import ccall "wrapper"
+    mk_ClipboardRichTextReceivedFunc :: C_ClipboardRichTextReceivedFunc -> IO (FunPtr C_ClipboardRichTextReceivedFunc)
+
+{- |
+A function to be called when the results of
+'GI.Gtk.Objects.Clipboard.clipboardRequestRichText' are received, or when the request
+fails.
+
+/Since: 2.10/
+-}
+type ClipboardRichTextReceivedFunc =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@format@/: The format of the rich text -}
+    -> Maybe T.Text
+    {- ^ /@text@/: the rich text received, as
+  a UTF-8 encoded string, or 'Nothing' if retrieving the data failed. -}
+    -> Word64
+    {- ^ /@length@/: Length of the text. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardRichTextReceivedFunc`@.
+noClipboardRichTextReceivedFunc :: Maybe ClipboardRichTextReceivedFunc
+noClipboardRichTextReceivedFunc = Nothing
+
+{- |
+A function to be called when the results of
+'GI.Gtk.Objects.Clipboard.clipboardRequestRichText' are received, or when the request
+fails.
+
+/Since: 2.10/
+-}
+type ClipboardRichTextReceivedFunc_WithClosures =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@format@/: The format of the rich text -}
+    -> Maybe T.Text
+    {- ^ /@text@/: the rich text received, as
+  a UTF-8 encoded string, or 'Nothing' if retrieving the data failed. -}
+    -> Word64
+    {- ^ /@length@/: Length of the text. -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestRichText'. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardRichTextReceivedFunc_WithClosures`@.
+noClipboardRichTextReceivedFunc_WithClosures :: Maybe ClipboardRichTextReceivedFunc_WithClosures
+noClipboardRichTextReceivedFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ClipboardRichTextReceivedFunc :: ClipboardRichTextReceivedFunc -> ClipboardRichTextReceivedFunc_WithClosures
+drop_closures_ClipboardRichTextReceivedFunc _f clipboard format text length_ _ = _f clipboard format text length_
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ClipboardRichTextReceivedFunc :: MonadIO m => ClipboardRichTextReceivedFunc -> m (GClosure C_ClipboardRichTextReceivedFunc)
+genClosure_ClipboardRichTextReceivedFunc cb = liftIO $ do
+    let cb' = drop_closures_ClipboardRichTextReceivedFunc cb
+    let cb'' = wrap_ClipboardRichTextReceivedFunc Nothing cb'
+    mk_ClipboardRichTextReceivedFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ClipboardRichTextReceivedFunc` into a `C_ClipboardRichTextReceivedFunc`.
+wrap_ClipboardRichTextReceivedFunc ::
+    Maybe (Ptr (FunPtr C_ClipboardRichTextReceivedFunc)) ->
+    ClipboardRichTextReceivedFunc_WithClosures ->
+    C_ClipboardRichTextReceivedFunc
+wrap_ClipboardRichTextReceivedFunc funptrptr _cb clipboard format text length_ data_ = do
+    clipboard' <- (newObject Gtk.Clipboard.Clipboard) clipboard
+    format' <- (newPtr Gdk.Atom.Atom) format
+    maybeText <-
+        if text == nullPtr
+        then return Nothing
+        else do
+            text' <- cstringToText text
+            return $ Just text'
+    _cb  clipboard' format' maybeText length_ data_
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ClipboardReceivedFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData containing the data was received.\n  If retrieving the data failed, then then length field\n  of @selection_data will be negative.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_contents().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to be called when the results of gtk_clipboard_request_contents()\nare received, or when the request fails.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ClipboardReceivedFunc =
+    Ptr Gtk.Clipboard.Clipboard ->
+    Ptr Gtk.SelectionData.SelectionData ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData containing the data was received.\n  If retrieving the data failed, then then length field\n  of @selection_data will be negative.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_contents().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ClipboardReceivedFunc :: FunPtr C_ClipboardReceivedFunc -> C_ClipboardReceivedFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ClipboardReceivedFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Clipboard.IsClipboard a) =>
+    FunPtr C_ClipboardReceivedFunc
+    -> a
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' containing the data was received.
+  If retrieving the data failed, then then length field
+  of /@selectionData@/ will be negative. -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestContents'. -}
+    -> m ()
+dynamic_ClipboardReceivedFunc __funPtr clipboard selectionData data_ = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    (__dynamic_C_ClipboardReceivedFunc __funPtr) clipboard' selectionData' data_
+    touchManagedPtr clipboard
+    touchManagedPtr selectionData
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ClipboardReceivedFunc`.
+foreign import ccall "wrapper"
+    mk_ClipboardReceivedFunc :: C_ClipboardReceivedFunc -> IO (FunPtr C_ClipboardReceivedFunc)
+
+{- |
+A function to be called when the results of 'GI.Gtk.Objects.Clipboard.clipboardRequestContents'
+are received, or when the request fails.
+-}
+type ClipboardReceivedFunc =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' containing the data was received.
+  If retrieving the data failed, then then length field
+  of /@selectionData@/ will be negative. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardReceivedFunc`@.
+noClipboardReceivedFunc :: Maybe ClipboardReceivedFunc
+noClipboardReceivedFunc = Nothing
+
+{- |
+A function to be called when the results of 'GI.Gtk.Objects.Clipboard.clipboardRequestContents'
+are received, or when the request fails.
+-}
+type ClipboardReceivedFunc_WithClosures =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' containing the data was received.
+  If retrieving the data failed, then then length field
+  of /@selectionData@/ will be negative. -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestContents'. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardReceivedFunc_WithClosures`@.
+noClipboardReceivedFunc_WithClosures :: Maybe ClipboardReceivedFunc_WithClosures
+noClipboardReceivedFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ClipboardReceivedFunc :: ClipboardReceivedFunc -> ClipboardReceivedFunc_WithClosures
+drop_closures_ClipboardReceivedFunc _f clipboard selectionData _ = _f clipboard selectionData
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ClipboardReceivedFunc :: MonadIO m => ClipboardReceivedFunc -> m (GClosure C_ClipboardReceivedFunc)
+genClosure_ClipboardReceivedFunc cb = liftIO $ do
+    let cb' = drop_closures_ClipboardReceivedFunc cb
+    let cb'' = wrap_ClipboardReceivedFunc Nothing cb'
+    mk_ClipboardReceivedFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ClipboardReceivedFunc` into a `C_ClipboardReceivedFunc`.
+wrap_ClipboardReceivedFunc ::
+    Maybe (Ptr (FunPtr C_ClipboardReceivedFunc)) ->
+    ClipboardReceivedFunc_WithClosures ->
+    C_ClipboardReceivedFunc
+wrap_ClipboardReceivedFunc funptrptr _cb clipboard selectionData data_ = do
+    clipboard' <- (newObject Gtk.Clipboard.Clipboard) clipboard
+    B.ManagedPtr.withTransient Gtk.SelectionData.SelectionData selectionData $ \selectionData' -> do
+        _cb  clipboard' selectionData' data_
+        maybeReleaseFunPtr funptrptr
+
+
+-- callback ClipboardImageReceivedFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the received image", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_image().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to be called when the results of gtk_clipboard_request_image()\nare received, or when the request fails.", sinceVersion = Just "2.6"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ClipboardImageReceivedFunc =
+    Ptr Gtk.Clipboard.Clipboard ->
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the received image", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data supplied to\n  gtk_clipboard_request_image().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ClipboardImageReceivedFunc :: FunPtr C_ClipboardImageReceivedFunc -> C_ClipboardImageReceivedFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ClipboardImageReceivedFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Clipboard.IsClipboard a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    FunPtr C_ClipboardImageReceivedFunc
+    -> a
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> b
+    {- ^ /@pixbuf@/: the received image -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestImage'. -}
+    -> m ()
+dynamic_ClipboardImageReceivedFunc __funPtr clipboard pixbuf data_ = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    (__dynamic_C_ClipboardImageReceivedFunc __funPtr) clipboard' pixbuf' data_
+    touchManagedPtr clipboard
+    touchManagedPtr pixbuf
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ClipboardImageReceivedFunc`.
+foreign import ccall "wrapper"
+    mk_ClipboardImageReceivedFunc :: C_ClipboardImageReceivedFunc -> IO (FunPtr C_ClipboardImageReceivedFunc)
+
+{- |
+A function to be called when the results of 'GI.Gtk.Objects.Clipboard.clipboardRequestImage'
+are received, or when the request fails.
+
+/Since: 2.6/
+-}
+type ClipboardImageReceivedFunc =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ /@pixbuf@/: the received image -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardImageReceivedFunc`@.
+noClipboardImageReceivedFunc :: Maybe ClipboardImageReceivedFunc
+noClipboardImageReceivedFunc = Nothing
+
+{- |
+A function to be called when the results of 'GI.Gtk.Objects.Clipboard.clipboardRequestImage'
+are received, or when the request fails.
+
+/Since: 2.6/
+-}
+type ClipboardImageReceivedFunc_WithClosures =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ /@pixbuf@/: the received image -}
+    -> Ptr ()
+    {- ^ /@data@/: the /@userData@/ supplied to
+  'GI.Gtk.Objects.Clipboard.clipboardRequestImage'. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardImageReceivedFunc_WithClosures`@.
+noClipboardImageReceivedFunc_WithClosures :: Maybe ClipboardImageReceivedFunc_WithClosures
+noClipboardImageReceivedFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_ClipboardImageReceivedFunc :: ClipboardImageReceivedFunc -> ClipboardImageReceivedFunc_WithClosures
+drop_closures_ClipboardImageReceivedFunc _f clipboard pixbuf _ = _f clipboard pixbuf
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ClipboardImageReceivedFunc :: MonadIO m => ClipboardImageReceivedFunc -> m (GClosure C_ClipboardImageReceivedFunc)
+genClosure_ClipboardImageReceivedFunc cb = liftIO $ do
+    let cb' = drop_closures_ClipboardImageReceivedFunc cb
+    let cb'' = wrap_ClipboardImageReceivedFunc Nothing cb'
+    mk_ClipboardImageReceivedFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ClipboardImageReceivedFunc` into a `C_ClipboardImageReceivedFunc`.
+wrap_ClipboardImageReceivedFunc ::
+    Maybe (Ptr (FunPtr C_ClipboardImageReceivedFunc)) ->
+    ClipboardImageReceivedFunc_WithClosures ->
+    C_ClipboardImageReceivedFunc
+wrap_ClipboardImageReceivedFunc funptrptr _cb clipboard pixbuf data_ = do
+    clipboard' <- (newObject Gtk.Clipboard.Clipboard) clipboard
+    pixbuf' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) pixbuf
+    _cb  clipboard' pixbuf' data_
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback ClipboardGetFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData argument in which the requested\n  data should be stored.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the info field corresponding to the requested target from the\n  #GtkTargetEntry array passed to gtk_clipboard_set_with_data() or\n  gtk_clipboard_set_with_owner().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_or_owner", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data argument passed to\n  gtk_clipboard_set_with_data(), or the @owner argument passed to\n  gtk_clipboard_set_with_owner()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called to provide the contents of the selection.\nIf multiple types of data were advertised, the requested type can\nbe determined from the @info parameter or by checking the target field\nof @selection_data. If the data could successfully be converted into\nthen it should be stored into the @selection_data object by\ncalling gtk_selection_data_set() (or related functions such\nas gtk_selection_data_set_text()). If no data is set, the requestor\nwill be informed that the attempt to get the data failed.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ClipboardGetFunc =
+    Ptr Gtk.Clipboard.Clipboard ->
+    Ptr Gtk.SelectionData.SelectionData ->
+    Word32 ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData argument in which the requested\n  data should be stored.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the info field corresponding to the requested target from the\n  #GtkTargetEntry array passed to gtk_clipboard_set_with_data() or\n  gtk_clipboard_set_with_owner().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_or_owner", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data argument passed to\n  gtk_clipboard_set_with_data(), or the @owner argument passed to\n  gtk_clipboard_set_with_owner()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ClipboardGetFunc :: FunPtr C_ClipboardGetFunc -> C_ClipboardGetFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ClipboardGetFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Clipboard.IsClipboard a) =>
+    FunPtr C_ClipboardGetFunc
+    -> a
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' argument in which the requested
+  data should be stored. -}
+    -> Word32
+    {- ^ /@info@/: the info field corresponding to the requested target from the
+  'GI.Gtk.Structs.TargetEntry.TargetEntry' array passed to @/gtk_clipboard_set_with_data()/@ or
+  @/gtk_clipboard_set_with_owner()/@. -}
+    -> Ptr ()
+    {- ^ /@userDataOrOwner@/: the /@userData@/ argument passed to
+  @/gtk_clipboard_set_with_data()/@, or the /@owner@/ argument passed to
+  @/gtk_clipboard_set_with_owner()/@ -}
+    -> m ()
+dynamic_ClipboardGetFunc __funPtr clipboard selectionData info userDataOrOwner = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    (__dynamic_C_ClipboardGetFunc __funPtr) clipboard' selectionData' info userDataOrOwner
+    touchManagedPtr clipboard
+    touchManagedPtr selectionData
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ClipboardGetFunc`.
+foreign import ccall "wrapper"
+    mk_ClipboardGetFunc :: C_ClipboardGetFunc -> IO (FunPtr C_ClipboardGetFunc)
+
+{- |
+A function that will be called to provide the contents of the selection.
+If multiple types of data were advertised, the requested type can
+be determined from the /@info@/ parameter or by checking the target field
+of /@selectionData@/. If the data could successfully be converted into
+then it should be stored into the /@selectionData@/ object by
+calling 'GI.Gtk.Structs.SelectionData.selectionDataSet' (or related functions such
+as 'GI.Gtk.Structs.SelectionData.selectionDataSetText'). If no data is set, the requestor
+will be informed that the attempt to get the data failed.
+-}
+type ClipboardGetFunc =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' argument in which the requested
+  data should be stored. -}
+    -> Word32
+    {- ^ /@info@/: the info field corresponding to the requested target from the
+  'GI.Gtk.Structs.TargetEntry.TargetEntry' array passed to @/gtk_clipboard_set_with_data()/@ or
+  @/gtk_clipboard_set_with_owner()/@. -}
+    -> Ptr ()
+    {- ^ /@userDataOrOwner@/: the /@userData@/ argument passed to
+  @/gtk_clipboard_set_with_data()/@, or the /@owner@/ argument passed to
+  @/gtk_clipboard_set_with_owner()/@ -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardGetFunc`@.
+noClipboardGetFunc :: Maybe ClipboardGetFunc
+noClipboardGetFunc = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ClipboardGetFunc :: MonadIO m => ClipboardGetFunc -> m (GClosure C_ClipboardGetFunc)
+genClosure_ClipboardGetFunc cb = liftIO $ do
+    let cb' = wrap_ClipboardGetFunc Nothing cb
+    mk_ClipboardGetFunc cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ClipboardGetFunc` into a `C_ClipboardGetFunc`.
+wrap_ClipboardGetFunc ::
+    Maybe (Ptr (FunPtr C_ClipboardGetFunc)) ->
+    ClipboardGetFunc ->
+    C_ClipboardGetFunc
+wrap_ClipboardGetFunc funptrptr _cb clipboard selectionData info userDataOrOwner = do
+    clipboard' <- (newObject Gtk.Clipboard.Clipboard) clipboard
+    B.ManagedPtr.withTransient Gtk.SelectionData.SelectionData selectionData $ \selectionData' -> do
+        _cb  clipboard' selectionData' info userDataOrOwner
+        maybeReleaseFunPtr funptrptr
+
+
+-- callback ClipboardClearFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_or_owner", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data argument passed to gtk_clipboard_set_with_data(),\n  or the @owner argument passed to gtk_clipboard_set_with_owner()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called when the contents of the clipboard are changed\nor cleared. Once this has called, the @user_data_or_owner argument\nwill not be used again.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_ClipboardClearFunc =
+    Ptr Gtk.Clipboard.Clipboard ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_or_owner", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the @user_data argument passed to gtk_clipboard_set_with_data(),\n  or the @owner argument passed to gtk_clipboard_set_with_owner()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_ClipboardClearFunc :: FunPtr C_ClipboardClearFunc -> C_ClipboardClearFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_ClipboardClearFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Clipboard.IsClipboard a) =>
+    FunPtr C_ClipboardClearFunc
+    -> a
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Ptr ()
+    {- ^ /@userDataOrOwner@/: the /@userData@/ argument passed to @/gtk_clipboard_set_with_data()/@,
+  or the /@owner@/ argument passed to @/gtk_clipboard_set_with_owner()/@ -}
+    -> m ()
+dynamic_ClipboardClearFunc __funPtr clipboard userDataOrOwner = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    (__dynamic_C_ClipboardClearFunc __funPtr) clipboard' userDataOrOwner
+    touchManagedPtr clipboard
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_ClipboardClearFunc`.
+foreign import ccall "wrapper"
+    mk_ClipboardClearFunc :: C_ClipboardClearFunc -> IO (FunPtr C_ClipboardClearFunc)
+
+{- |
+A function that will be called when the contents of the clipboard are changed
+or cleared. Once this has called, the /@userDataOrOwner@/ argument
+will not be used again.
+-}
+type ClipboardClearFunc =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Ptr ()
+    {- ^ /@userDataOrOwner@/: the /@userData@/ argument passed to @/gtk_clipboard_set_with_data()/@,
+  or the /@owner@/ argument passed to @/gtk_clipboard_set_with_owner()/@ -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardClearFunc`@.
+noClipboardClearFunc :: Maybe ClipboardClearFunc
+noClipboardClearFunc = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ClipboardClearFunc :: MonadIO m => ClipboardClearFunc -> m (GClosure C_ClipboardClearFunc)
+genClosure_ClipboardClearFunc cb = liftIO $ do
+    let cb' = wrap_ClipboardClearFunc Nothing cb
+    mk_ClipboardClearFunc cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ClipboardClearFunc` into a `C_ClipboardClearFunc`.
+wrap_ClipboardClearFunc ::
+    Maybe (Ptr (FunPtr C_ClipboardClearFunc)) ->
+    ClipboardClearFunc ->
+    C_ClipboardClearFunc
+wrap_ClipboardClearFunc funptrptr _cb clipboard userDataOrOwner = do
+    clipboard' <- (newObject Gtk.Clipboard.Clipboard) clipboard
+    _cb  clipboard' userDataOrOwner
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback CellLayoutDataFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the cell renderer whose value is to be set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter indicating the row to set the value for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_cell_layout_set_cell_data_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function which should set the value of @cell_layout\8217s cell renderer(s)\nas appropriate.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellLayoutDataFunc =
+    Ptr Gtk.CellLayout.CellLayout ->
+    Ptr Gtk.CellRenderer.CellRenderer ->
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the cell renderer whose value is to be set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter indicating the row to set the value for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gtk_cell_layout_set_cell_data_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_CellLayoutDataFunc :: FunPtr C_CellLayoutDataFunc -> C_CellLayoutDataFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_CellLayoutDataFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellLayout.IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b, Gtk.TreeModel.IsTreeModel c) =>
+    FunPtr C_CellLayoutDataFunc
+    -> a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> b
+    {- ^ /@cell@/: the cell renderer whose value is to be set -}
+    -> c
+    {- ^ /@treeModel@/: the model -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' indicating the row to set the value for -}
+    -> Ptr ()
+    {- ^ /@data@/: user data passed to 'GI.Gtk.Interfaces.CellLayout.cellLayoutSetCellDataFunc' -}
+    -> m ()
+dynamic_CellLayoutDataFunc __funPtr cellLayout cell treeModel iter data_ = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    cell' <- unsafeManagedPtrCastPtr cell
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    (__dynamic_C_CellLayoutDataFunc __funPtr) cellLayout' cell' treeModel' iter' data_
+    touchManagedPtr cellLayout
+    touchManagedPtr cell
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellLayoutDataFunc`.
+foreign import ccall "wrapper"
+    mk_CellLayoutDataFunc :: C_CellLayoutDataFunc -> IO (FunPtr C_CellLayoutDataFunc)
+
+{- |
+A function which should set the value of /@cellLayout@/’s cell renderer(s)
+as appropriate.
+-}
+type CellLayoutDataFunc =
+    Gtk.CellLayout.CellLayout
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> Gtk.CellRenderer.CellRenderer
+    {- ^ /@cell@/: the cell renderer whose value is to be set -}
+    -> Gtk.TreeModel.TreeModel
+    {- ^ /@treeModel@/: the model -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' indicating the row to set the value for -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellLayoutDataFunc`@.
+noCellLayoutDataFunc :: Maybe CellLayoutDataFunc
+noCellLayoutDataFunc = Nothing
+
+{- |
+A function which should set the value of /@cellLayout@/’s cell renderer(s)
+as appropriate.
+-}
+type CellLayoutDataFunc_WithClosures =
+    Gtk.CellLayout.CellLayout
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> Gtk.CellRenderer.CellRenderer
+    {- ^ /@cell@/: the cell renderer whose value is to be set -}
+    -> Gtk.TreeModel.TreeModel
+    {- ^ /@treeModel@/: the model -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' indicating the row to set the value for -}
+    -> Ptr ()
+    {- ^ /@data@/: user data passed to 'GI.Gtk.Interfaces.CellLayout.cellLayoutSetCellDataFunc' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellLayoutDataFunc_WithClosures`@.
+noCellLayoutDataFunc_WithClosures :: Maybe CellLayoutDataFunc_WithClosures
+noCellLayoutDataFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_CellLayoutDataFunc :: CellLayoutDataFunc -> CellLayoutDataFunc_WithClosures
+drop_closures_CellLayoutDataFunc _f cellLayout cell treeModel iter _ = _f cellLayout cell treeModel iter
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellLayoutDataFunc :: MonadIO m => CellLayoutDataFunc -> m (GClosure C_CellLayoutDataFunc)
+genClosure_CellLayoutDataFunc cb = liftIO $ do
+    let cb' = drop_closures_CellLayoutDataFunc cb
+    let cb'' = wrap_CellLayoutDataFunc Nothing cb'
+    mk_CellLayoutDataFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellLayoutDataFunc` into a `C_CellLayoutDataFunc`.
+wrap_CellLayoutDataFunc ::
+    Maybe (Ptr (FunPtr C_CellLayoutDataFunc)) ->
+    CellLayoutDataFunc_WithClosures ->
+    C_CellLayoutDataFunc
+wrap_CellLayoutDataFunc funptrptr _cb cellLayout cell treeModel iter data_ = do
+    cellLayout' <- (newObject Gtk.CellLayout.CellLayout) cellLayout
+    cell' <- (newObject Gtk.CellRenderer.CellRenderer) cell
+    treeModel' <- (newObject Gtk.TreeModel.TreeModel) treeModel
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        _cb  cellLayout' cell' treeModel' iter' data_
+        maybeReleaseFunPtr funptrptr
+
+
+-- callback CellCallback
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE to stop iterating over cells.", sinceVersion = Nothing}, args = [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the cell renderer to operate on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user-supplied data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the callback functions used for iterating over\nthe cell renderers of a #GtkCellArea, see gtk_cell_area_foreach().", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellCallback =
+    Ptr Gtk.CellRenderer.CellRenderer ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the cell renderer to operate on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user-supplied data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_CellCallback :: FunPtr C_CellCallback -> C_CellCallback
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_CellCallback ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellRenderer.IsCellRenderer a) =>
+    FunPtr C_CellCallback
+    -> a
+    {- ^ /@renderer@/: the cell renderer to operate on -}
+    -> Ptr ()
+    {- ^ /@data@/: user-supplied data -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' to stop iterating over cells. -}
+dynamic_CellCallback __funPtr renderer data_ = liftIO $ do
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    result <- (__dynamic_C_CellCallback __funPtr) renderer' data_
+    let result' = (/= 0) result
+    touchManagedPtr renderer
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_CellCallback`.
+foreign import ccall "wrapper"
+    mk_CellCallback :: C_CellCallback -> IO (FunPtr C_CellCallback)
+
+{- |
+The type of the callback functions used for iterating over
+the cell renderers of a 'GI.Gtk.Objects.CellArea.CellArea', see 'GI.Gtk.Objects.CellArea.cellAreaForeach'.
+-}
+type CellCallback =
+    Gtk.CellRenderer.CellRenderer
+    {- ^ /@renderer@/: the cell renderer to operate on -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop iterating over cells. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellCallback`@.
+noCellCallback :: Maybe CellCallback
+noCellCallback = Nothing
+
+{- |
+The type of the callback functions used for iterating over
+the cell renderers of a 'GI.Gtk.Objects.CellArea.CellArea', see 'GI.Gtk.Objects.CellArea.cellAreaForeach'.
+-}
+type CellCallback_WithClosures =
+    Gtk.CellRenderer.CellRenderer
+    {- ^ /@renderer@/: the cell renderer to operate on -}
+    -> Ptr ()
+    {- ^ /@data@/: user-supplied data -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop iterating over cells. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellCallback_WithClosures`@.
+noCellCallback_WithClosures :: Maybe CellCallback_WithClosures
+noCellCallback_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_CellCallback :: CellCallback -> CellCallback_WithClosures
+drop_closures_CellCallback _f renderer _ = _f renderer
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellCallback :: MonadIO m => CellCallback -> m (GClosure C_CellCallback)
+genClosure_CellCallback cb = liftIO $ do
+    let cb' = drop_closures_CellCallback cb
+    let cb'' = wrap_CellCallback Nothing cb'
+    mk_CellCallback cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellCallback` into a `C_CellCallback`.
+wrap_CellCallback ::
+    Maybe (Ptr (FunPtr C_CellCallback)) ->
+    CellCallback_WithClosures ->
+    C_CellCallback
+wrap_CellCallback funptrptr _cb renderer data_ = do
+    renderer' <- (newObject Gtk.CellRenderer.CellRenderer) renderer
+    result <- _cb  renderer' data_
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback CellAllocCallback
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE to stop iterating over cells.", sinceVersion = Nothing}, args = [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the cell renderer to operate on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the area allocated to @renderer inside the rectangle\n    provided to gtk_cell_area_foreach_alloc().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_background", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the background area for @renderer inside the\n    background area provided to gtk_cell_area_foreach_alloc().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user-supplied data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the callback functions used for iterating over the\ncell renderers and their allocated areas inside a #GtkCellArea,\nsee gtk_cell_area_foreach_alloc().", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellAllocCallback =
+    Ptr Gtk.CellRenderer.CellRenderer ->
+    Ptr Gdk.Rectangle.Rectangle ->
+    Ptr Gdk.Rectangle.Rectangle ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the cell renderer to operate on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the area allocated to @renderer inside the rectangle\n    provided to gtk_cell_area_foreach_alloc().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_background", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the background area for @renderer inside the\n    background area provided to gtk_cell_area_foreach_alloc().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user-supplied data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_CellAllocCallback :: FunPtr C_CellAllocCallback -> C_CellAllocCallback
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_CellAllocCallback ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellRenderer.IsCellRenderer a) =>
+    FunPtr C_CellAllocCallback
+    -> a
+    {- ^ /@renderer@/: the cell renderer to operate on -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the area allocated to /@renderer@/ inside the rectangle
+    provided to 'GI.Gtk.Objects.CellArea.cellAreaForeachAlloc'. -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellBackground@/: the background area for /@renderer@/ inside the
+    background area provided to 'GI.Gtk.Objects.CellArea.cellAreaForeachAlloc'. -}
+    -> Ptr ()
+    {- ^ /@data@/: user-supplied data -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' to stop iterating over cells. -}
+dynamic_CellAllocCallback __funPtr renderer cellArea cellBackground data_ = liftIO $ do
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    cellBackground' <- unsafeManagedPtrGetPtr cellBackground
+    result <- (__dynamic_C_CellAllocCallback __funPtr) renderer' cellArea' cellBackground' data_
+    let result' = (/= 0) result
+    touchManagedPtr renderer
+    touchManagedPtr cellArea
+    touchManagedPtr cellBackground
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_CellAllocCallback`.
+foreign import ccall "wrapper"
+    mk_CellAllocCallback :: C_CellAllocCallback -> IO (FunPtr C_CellAllocCallback)
+
+{- |
+The type of the callback functions used for iterating over the
+cell renderers and their allocated areas inside a 'GI.Gtk.Objects.CellArea.CellArea',
+see 'GI.Gtk.Objects.CellArea.cellAreaForeachAlloc'.
+-}
+type CellAllocCallback =
+    Gtk.CellRenderer.CellRenderer
+    {- ^ /@renderer@/: the cell renderer to operate on -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the area allocated to /@renderer@/ inside the rectangle
+    provided to 'GI.Gtk.Objects.CellArea.cellAreaForeachAlloc'. -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellBackground@/: the background area for /@renderer@/ inside the
+    background area provided to 'GI.Gtk.Objects.CellArea.cellAreaForeachAlloc'. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop iterating over cells. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellAllocCallback`@.
+noCellAllocCallback :: Maybe CellAllocCallback
+noCellAllocCallback = Nothing
+
+{- |
+The type of the callback functions used for iterating over the
+cell renderers and their allocated areas inside a 'GI.Gtk.Objects.CellArea.CellArea',
+see 'GI.Gtk.Objects.CellArea.cellAreaForeachAlloc'.
+-}
+type CellAllocCallback_WithClosures =
+    Gtk.CellRenderer.CellRenderer
+    {- ^ /@renderer@/: the cell renderer to operate on -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the area allocated to /@renderer@/ inside the rectangle
+    provided to 'GI.Gtk.Objects.CellArea.cellAreaForeachAlloc'. -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellBackground@/: the background area for /@renderer@/ inside the
+    background area provided to 'GI.Gtk.Objects.CellArea.cellAreaForeachAlloc'. -}
+    -> Ptr ()
+    {- ^ /@data@/: user-supplied data -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop iterating over cells. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellAllocCallback_WithClosures`@.
+noCellAllocCallback_WithClosures :: Maybe CellAllocCallback_WithClosures
+noCellAllocCallback_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_CellAllocCallback :: CellAllocCallback -> CellAllocCallback_WithClosures
+drop_closures_CellAllocCallback _f renderer cellArea cellBackground _ = _f renderer cellArea cellBackground
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellAllocCallback :: MonadIO m => CellAllocCallback -> m (GClosure C_CellAllocCallback)
+genClosure_CellAllocCallback cb = liftIO $ do
+    let cb' = drop_closures_CellAllocCallback cb
+    let cb'' = wrap_CellAllocCallback Nothing cb'
+    mk_CellAllocCallback cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellAllocCallback` into a `C_CellAllocCallback`.
+wrap_CellAllocCallback ::
+    Maybe (Ptr (FunPtr C_CellAllocCallback)) ->
+    CellAllocCallback_WithClosures ->
+    C_CellAllocCallback
+wrap_CellAllocCallback funptrptr _cb renderer cellArea cellBackground data_ = do
+    renderer' <- (newObject Gtk.CellRenderer.CellRenderer) renderer
+    B.ManagedPtr.withTransient Gdk.Rectangle.Rectangle cellArea $ \cellArea' -> do
+        B.ManagedPtr.withTransient Gdk.Rectangle.Rectangle cellBackground $ \cellBackground' -> do
+            result <- _cb  renderer' cellArea' cellBackground' data_
+            maybeReleaseFunPtr funptrptr
+            let result' = (fromIntegral . fromEnum) result
+            return result'
+
+
+-- callback Callback
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to operate on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user-supplied data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the callback functions used for e.g. iterating over\nthe children of a container, see gtk_container_foreach().", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_Callback =
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to operate on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user-supplied data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_Callback :: FunPtr C_Callback -> C_Callback
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_Callback ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    FunPtr C_Callback
+    -> a
+    {- ^ /@widget@/: the widget to operate on -}
+    -> Ptr ()
+    {- ^ /@data@/: user-supplied data -}
+    -> m ()
+dynamic_Callback __funPtr widget data_ = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    (__dynamic_C_Callback __funPtr) widget' data_
+    touchManagedPtr widget
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_Callback`.
+foreign import ccall "wrapper"
+    mk_Callback :: C_Callback -> IO (FunPtr C_Callback)
+
+{- |
+The type of the callback functions used for e.g. iterating over
+the children of a container, see 'GI.Gtk.Objects.Container.containerForeach'.
+-}
+type Callback =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the widget to operate on -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `Callback`@.
+noCallback :: Maybe Callback
+noCallback = Nothing
+
+{- |
+The type of the callback functions used for e.g. iterating over
+the children of a container, see 'GI.Gtk.Objects.Container.containerForeach'.
+-}
+type Callback_WithClosures =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the widget to operate on -}
+    -> Ptr ()
+    {- ^ /@data@/: user-supplied data -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `Callback_WithClosures`@.
+noCallback_WithClosures :: Maybe Callback_WithClosures
+noCallback_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_Callback :: Callback -> Callback_WithClosures
+drop_closures_Callback _f widget _ = _f widget
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_Callback :: MonadIO m => Callback -> m (GClosure C_Callback)
+genClosure_Callback cb = liftIO $ do
+    let cb' = drop_closures_Callback cb
+    let cb'' = wrap_Callback Nothing cb'
+    mk_Callback cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `Callback` into a `C_Callback`.
+wrap_Callback ::
+    Maybe (Ptr (FunPtr C_Callback)) ->
+    Callback_WithClosures ->
+    C_Callback
+wrap_Callback funptrptr _cb widget data_ = do
+    widget' <- (newObject Gtk.Widget.Widget) widget
+    _cb  widget' data_
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback CalendarDetailFunc
+--          -> Callable {returnType = Just (TBasicType TUTF8), returnMayBeNull = True, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Just "Newly allocated string with Pango markup\n    with details for the specified day or %NULL.", sinceVersion = Nothing}, args = [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the year for which details are needed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the month for which details are needed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day of @month for which details are needed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data passed with gtk_calendar_set_detail_func().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This kind of functions provide Pango markup with detail information for the\nspecified day. Examples for such details are holidays or appointments. The\nfunction returns %NULL when no information is available.", sinceVersion = Just "2.14"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_CalendarDetailFunc =
+    Ptr Gtk.Calendar.Calendar ->
+    Word32 ->
+    Word32 ->
+    Word32 ->
+    Ptr () ->
+    IO CString
+
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the year for which details are needed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the month for which details are needed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day of @month for which details are needed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data passed with gtk_calendar_set_detail_func().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_CalendarDetailFunc :: FunPtr C_CalendarDetailFunc -> C_CalendarDetailFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_CalendarDetailFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Calendar.IsCalendar a) =>
+    FunPtr C_CalendarDetailFunc
+    -> a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> Word32
+    {- ^ /@year@/: the year for which details are needed. -}
+    -> Word32
+    {- ^ /@month@/: the month for which details are needed. -}
+    -> Word32
+    {- ^ /@day@/: the day of /@month@/ for which details are needed. -}
+    -> Ptr ()
+    {- ^ /@userData@/: the data passed with 'GI.Gtk.Objects.Calendar.calendarSetDetailFunc'. -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ Newly allocated string with Pango markup
+    with details for the specified day or 'Nothing'. -}
+dynamic_CalendarDetailFunc __funPtr calendar year month day userData = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    result <- (__dynamic_C_CalendarDetailFunc __funPtr) calendar' year month day userData
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr calendar
+    return maybeResult
+
+-- | Generate a function pointer callable from C code, from a `C_CalendarDetailFunc`.
+foreign import ccall "wrapper"
+    mk_CalendarDetailFunc :: C_CalendarDetailFunc -> IO (FunPtr C_CalendarDetailFunc)
+
+{- |
+This kind of functions provide Pango markup with detail information for the
+specified day. Examples for such details are holidays or appointments. The
+function returns 'Nothing' when no information is available.
+
+/Since: 2.14/
+-}
+type CalendarDetailFunc =
+    Gtk.Calendar.Calendar
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> Word32
+    {- ^ /@year@/: the year for which details are needed. -}
+    -> Word32
+    {- ^ /@month@/: the month for which details are needed. -}
+    -> Word32
+    {- ^ /@day@/: the day of /@month@/ for which details are needed. -}
+    -> IO (Maybe T.Text)
+    {- ^ __Returns:__ Newly allocated string with Pango markup
+    with details for the specified day or 'Nothing'. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CalendarDetailFunc`@.
+noCalendarDetailFunc :: Maybe CalendarDetailFunc
+noCalendarDetailFunc = Nothing
+
+{- |
+This kind of functions provide Pango markup with detail information for the
+specified day. Examples for such details are holidays or appointments. The
+function returns 'Nothing' when no information is available.
+
+/Since: 2.14/
+-}
+type CalendarDetailFunc_WithClosures =
+    Gtk.Calendar.Calendar
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> Word32
+    {- ^ /@year@/: the year for which details are needed. -}
+    -> Word32
+    {- ^ /@month@/: the month for which details are needed. -}
+    -> Word32
+    {- ^ /@day@/: the day of /@month@/ for which details are needed. -}
+    -> Ptr ()
+    {- ^ /@userData@/: the data passed with 'GI.Gtk.Objects.Calendar.calendarSetDetailFunc'. -}
+    -> IO (Maybe T.Text)
+    {- ^ __Returns:__ Newly allocated string with Pango markup
+    with details for the specified day or 'Nothing'. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CalendarDetailFunc_WithClosures`@.
+noCalendarDetailFunc_WithClosures :: Maybe CalendarDetailFunc_WithClosures
+noCalendarDetailFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_CalendarDetailFunc :: CalendarDetailFunc -> CalendarDetailFunc_WithClosures
+drop_closures_CalendarDetailFunc _f calendar year month day _ = _f calendar year month day
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CalendarDetailFunc :: MonadIO m => CalendarDetailFunc -> m (GClosure C_CalendarDetailFunc)
+genClosure_CalendarDetailFunc cb = liftIO $ do
+    let cb' = drop_closures_CalendarDetailFunc cb
+    let cb'' = wrap_CalendarDetailFunc Nothing cb'
+    mk_CalendarDetailFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CalendarDetailFunc` into a `C_CalendarDetailFunc`.
+wrap_CalendarDetailFunc ::
+    Maybe (Ptr (FunPtr C_CalendarDetailFunc)) ->
+    CalendarDetailFunc_WithClosures ->
+    C_CalendarDetailFunc
+wrap_CalendarDetailFunc funptrptr _cb calendar year month day userData = do
+    calendar' <- (newObject Gtk.Calendar.Calendar) calendar
+    result <- _cb  calendar' year month day userData
+    maybeReleaseFunPtr funptrptr
+    maybeM nullPtr result $ \result' -> do
+        result'' <- textToCString result'
+        return result''
+
+
+-- callback BuilderConnectFunc
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "object to connect a signal to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the handler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "connect_object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GObject, if non-%NULL, use g_signal_connect_object()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ConnectFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GConnectFlags to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This is the signature of a function used to connect signals.  It is used\nby the gtk_builder_connect_signals() and gtk_builder_connect_signals_full()\nmethods.  It is mainly intended for interpreted language bindings, but\ncould be useful where the programmer wants more control over the signal\nconnection process. Note that this function can only be called once,\nsubsequent calls will do nothing.", sinceVersion = Just "2.12"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_BuilderConnectFunc =
+    Ptr Gtk.Builder.Builder ->
+    Ptr GObject.Object.Object ->
+    CString ->
+    CString ->
+    Ptr GObject.Object.Object ->
+    CUInt ->
+    Ptr () ->
+    IO ()
+
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "object to connect a signal to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the handler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "connect_object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GObject, if non-%NULL, use g_signal_connect_object()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ConnectFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GConnectFlags to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_BuilderConnectFunc :: FunPtr C_BuilderConnectFunc -> C_BuilderConnectFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_BuilderConnectFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Builder.IsBuilder a, GObject.Object.IsObject b, GObject.Object.IsObject c) =>
+    FunPtr C_BuilderConnectFunc
+    -> a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> b
+    {- ^ /@object@/: object to connect a signal to -}
+    -> T.Text
+    {- ^ /@signalName@/: name of the signal -}
+    -> T.Text
+    {- ^ /@handlerName@/: name of the handler -}
+    -> Maybe (c)
+    {- ^ /@connectObject@/: a 'GI.GObject.Objects.Object.Object', if non-'Nothing', use @/g_signal_connect_object()/@ -}
+    -> [GObject.Flags.ConnectFlags]
+    {- ^ /@flags@/: 'GI.GObject.Flags.ConnectFlags' to use -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> m ()
+dynamic_BuilderConnectFunc __funPtr builder object signalName handlerName connectObject flags userData = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    object' <- unsafeManagedPtrCastPtr object
+    signalName' <- textToCString signalName
+    handlerName' <- textToCString handlerName
+    maybeConnectObject <- case connectObject of
+        Nothing -> return nullPtr
+        Just jConnectObject -> do
+            jConnectObject' <- unsafeManagedPtrCastPtr jConnectObject
+            return jConnectObject'
+    let flags' = gflagsToWord flags
+    (__dynamic_C_BuilderConnectFunc __funPtr) builder' object' signalName' handlerName' maybeConnectObject flags' userData
+    touchManagedPtr builder
+    touchManagedPtr object
+    whenJust connectObject touchManagedPtr
+    freeMem signalName'
+    freeMem handlerName'
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_BuilderConnectFunc`.
+foreign import ccall "wrapper"
+    mk_BuilderConnectFunc :: C_BuilderConnectFunc -> IO (FunPtr C_BuilderConnectFunc)
+
+{- |
+This is the signature of a function used to connect signals.  It is used
+by the 'GI.Gtk.Objects.Builder.builderConnectSignals' and 'GI.Gtk.Objects.Builder.builderConnectSignalsFull'
+methods.  It is mainly intended for interpreted language bindings, but
+could be useful where the programmer wants more control over the signal
+connection process. Note that this function can only be called once,
+subsequent calls will do nothing.
+
+/Since: 2.12/
+-}
+type BuilderConnectFunc =
+    Gtk.Builder.Builder
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> GObject.Object.Object
+    {- ^ /@object@/: object to connect a signal to -}
+    -> T.Text
+    {- ^ /@signalName@/: name of the signal -}
+    -> T.Text
+    {- ^ /@handlerName@/: name of the handler -}
+    -> Maybe GObject.Object.Object
+    {- ^ /@connectObject@/: a 'GI.GObject.Objects.Object.Object', if non-'Nothing', use @/g_signal_connect_object()/@ -}
+    -> [GObject.Flags.ConnectFlags]
+    {- ^ /@flags@/: 'GI.GObject.Flags.ConnectFlags' to use -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `BuilderConnectFunc`@.
+noBuilderConnectFunc :: Maybe BuilderConnectFunc
+noBuilderConnectFunc = Nothing
+
+{- |
+This is the signature of a function used to connect signals.  It is used
+by the 'GI.Gtk.Objects.Builder.builderConnectSignals' and 'GI.Gtk.Objects.Builder.builderConnectSignalsFull'
+methods.  It is mainly intended for interpreted language bindings, but
+could be useful where the programmer wants more control over the signal
+connection process. Note that this function can only be called once,
+subsequent calls will do nothing.
+
+/Since: 2.12/
+-}
+type BuilderConnectFunc_WithClosures =
+    Gtk.Builder.Builder
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> GObject.Object.Object
+    {- ^ /@object@/: object to connect a signal to -}
+    -> T.Text
+    {- ^ /@signalName@/: name of the signal -}
+    -> T.Text
+    {- ^ /@handlerName@/: name of the handler -}
+    -> Maybe GObject.Object.Object
+    {- ^ /@connectObject@/: a 'GI.GObject.Objects.Object.Object', if non-'Nothing', use @/g_signal_connect_object()/@ -}
+    -> [GObject.Flags.ConnectFlags]
+    {- ^ /@flags@/: 'GI.GObject.Flags.ConnectFlags' to use -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `BuilderConnectFunc_WithClosures`@.
+noBuilderConnectFunc_WithClosures :: Maybe BuilderConnectFunc_WithClosures
+noBuilderConnectFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_BuilderConnectFunc :: BuilderConnectFunc -> BuilderConnectFunc_WithClosures
+drop_closures_BuilderConnectFunc _f builder object signalName handlerName connectObject flags _ = _f builder object signalName handlerName connectObject flags
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_BuilderConnectFunc :: MonadIO m => BuilderConnectFunc -> m (GClosure C_BuilderConnectFunc)
+genClosure_BuilderConnectFunc cb = liftIO $ do
+    let cb' = drop_closures_BuilderConnectFunc cb
+    let cb'' = wrap_BuilderConnectFunc Nothing cb'
+    mk_BuilderConnectFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `BuilderConnectFunc` into a `C_BuilderConnectFunc`.
+wrap_BuilderConnectFunc ::
+    Maybe (Ptr (FunPtr C_BuilderConnectFunc)) ->
+    BuilderConnectFunc_WithClosures ->
+    C_BuilderConnectFunc
+wrap_BuilderConnectFunc funptrptr _cb builder object signalName handlerName connectObject flags userData = do
+    builder' <- (newObject Gtk.Builder.Builder) builder
+    object' <- (newObject GObject.Object.Object) object
+    signalName' <- cstringToText signalName
+    handlerName' <- cstringToText handlerName
+    maybeConnectObject <-
+        if connectObject == nullPtr
+        then return Nothing
+        else do
+            connectObject' <- (newObject GObject.Object.Object) connectObject
+            return $ Just connectObject'
+    let flags' = wordToGFlags flags
+    _cb  builder' object' signalName' handlerName' maybeConnectObject flags' userData
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback AssistantPageFunc
+--          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "The next page number.", sinceVersion = Nothing}, args = [Arg {argCName = "current_page", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The page number used to calculate the next page.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function used by gtk_assistant_set_forward_page_func() to know which\nis the next page given a current one. It\8217s called both for computing the\nnext page when the user presses the \8220forward\8221 button and for handling\nthe behavior of the \8220last\8221 button.", sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_AssistantPageFunc =
+    Int32 ->
+    Ptr () ->
+    IO Int32
+
+-- Args : [Arg {argCName = "current_page", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The page number used to calculate the next page.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_AssistantPageFunc :: FunPtr C_AssistantPageFunc -> C_AssistantPageFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_AssistantPageFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_AssistantPageFunc
+    -> Int32
+    {- ^ /@currentPage@/: The page number used to calculate the next page. -}
+    -> Ptr ()
+    {- ^ /@data@/: user data. -}
+    -> m Int32
+    {- ^ __Returns:__ The next page number. -}
+dynamic_AssistantPageFunc __funPtr currentPage data_ = liftIO $ do
+    result <- (__dynamic_C_AssistantPageFunc __funPtr) currentPage data_
+    return result
+
+-- | Generate a function pointer callable from C code, from a `C_AssistantPageFunc`.
+foreign import ccall "wrapper"
+    mk_AssistantPageFunc :: C_AssistantPageFunc -> IO (FunPtr C_AssistantPageFunc)
+
+{- |
+A function used by 'GI.Gtk.Objects.Assistant.assistantSetForwardPageFunc' to know which
+is the next page given a current one. It’s called both for computing the
+next page when the user presses the “forward” button and for handling
+the behavior of the “last” button.
+-}
+type AssistantPageFunc =
+    Int32
+    {- ^ /@currentPage@/: The page number used to calculate the next page. -}
+    -> IO Int32
+    {- ^ __Returns:__ The next page number. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AssistantPageFunc`@.
+noAssistantPageFunc :: Maybe AssistantPageFunc
+noAssistantPageFunc = Nothing
+
+{- |
+A function used by 'GI.Gtk.Objects.Assistant.assistantSetForwardPageFunc' to know which
+is the next page given a current one. It’s called both for computing the
+next page when the user presses the “forward” button and for handling
+the behavior of the “last” button.
+-}
+type AssistantPageFunc_WithClosures =
+    Int32
+    {- ^ /@currentPage@/: The page number used to calculate the next page. -}
+    -> Ptr ()
+    {- ^ /@data@/: user data. -}
+    -> IO Int32
+    {- ^ __Returns:__ The next page number. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AssistantPageFunc_WithClosures`@.
+noAssistantPageFunc_WithClosures :: Maybe AssistantPageFunc_WithClosures
+noAssistantPageFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_AssistantPageFunc :: AssistantPageFunc -> AssistantPageFunc_WithClosures
+drop_closures_AssistantPageFunc _f currentPage _ = _f currentPage
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AssistantPageFunc :: MonadIO m => AssistantPageFunc -> m (GClosure C_AssistantPageFunc)
+genClosure_AssistantPageFunc cb = liftIO $ do
+    let cb' = drop_closures_AssistantPageFunc cb
+    let cb'' = wrap_AssistantPageFunc Nothing cb'
+    mk_AssistantPageFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AssistantPageFunc` into a `C_AssistantPageFunc`.
+wrap_AssistantPageFunc ::
+    Maybe (Ptr (FunPtr C_AssistantPageFunc)) ->
+    AssistantPageFunc_WithClosures ->
+    C_AssistantPageFunc
+wrap_AssistantPageFunc funptrptr _cb currentPage data_ = do
+    result <- _cb  currentPage data_
+    maybeReleaseFunPtr funptrptr
+    return result
+
+
+-- callback AccelMapForeach
+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data passed to gtk_accel_map_foreach() or\n gtk_accel_map_foreach_unfiltered()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Accel path of the current accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Key of the current accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Modifiers of the current accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "changed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Changed flag of the accelerator (if %TRUE, accelerator has changed\n during runtime and would need to be saved during an accelerator dump)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_AccelMapForeach =
+    Ptr () ->
+    CString ->
+    Word32 ->
+    CUInt ->
+    CInt ->
+    IO ()
+
+-- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data passed to gtk_accel_map_foreach() or\n gtk_accel_map_foreach_unfiltered()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Accel path of the current accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Key of the current accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Modifiers of the current accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "changed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Changed flag of the accelerator (if %TRUE, accelerator has changed\n during runtime and would need to be saved during an accelerator dump)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_AccelMapForeach :: FunPtr C_AccelMapForeach -> C_AccelMapForeach
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_AccelMapForeach ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_AccelMapForeach
+    -> Ptr ()
+    {- ^ /@data@/: User data passed to 'GI.Gtk.Objects.AccelMap.accelMapForeach' or
+ 'GI.Gtk.Objects.AccelMap.accelMapForeachUnfiltered' -}
+    -> T.Text
+    {- ^ /@accelPath@/: Accel path of the current accelerator -}
+    -> Word32
+    {- ^ /@accelKey@/: Key of the current accelerator -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: Modifiers of the current accelerator -}
+    -> Bool
+    {- ^ /@changed@/: Changed flag of the accelerator (if 'True', accelerator has changed
+ during runtime and would need to be saved during an accelerator dump) -}
+    -> m ()
+dynamic_AccelMapForeach __funPtr data_ accelPath accelKey accelMods changed = liftIO $ do
+    accelPath' <- textToCString accelPath
+    let accelMods' = gflagsToWord accelMods
+    let changed' = (fromIntegral . fromEnum) changed
+    (__dynamic_C_AccelMapForeach __funPtr) data_ accelPath' accelKey accelMods' changed'
+    freeMem accelPath'
+    return ()
+
+-- | Generate a function pointer callable from C code, from a `C_AccelMapForeach`.
+foreign import ccall "wrapper"
+    mk_AccelMapForeach :: C_AccelMapForeach -> IO (FunPtr C_AccelMapForeach)
+
+{- |
+/No description available in the introspection data./
+-}
+type AccelMapForeach =
+    Ptr ()
+    {- ^ /@data@/: User data passed to 'GI.Gtk.Objects.AccelMap.accelMapForeach' or
+ 'GI.Gtk.Objects.AccelMap.accelMapForeachUnfiltered' -}
+    -> T.Text
+    {- ^ /@accelPath@/: Accel path of the current accelerator -}
+    -> Word32
+    {- ^ /@accelKey@/: Key of the current accelerator -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: Modifiers of the current accelerator -}
+    -> Bool
+    {- ^ /@changed@/: Changed flag of the accelerator (if 'True', accelerator has changed
+ during runtime and would need to be saved during an accelerator dump) -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AccelMapForeach`@.
+noAccelMapForeach :: Maybe AccelMapForeach
+noAccelMapForeach = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AccelMapForeach :: MonadIO m => AccelMapForeach -> m (GClosure C_AccelMapForeach)
+genClosure_AccelMapForeach cb = liftIO $ do
+    let cb' = wrap_AccelMapForeach Nothing cb
+    mk_AccelMapForeach cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AccelMapForeach` into a `C_AccelMapForeach`.
+wrap_AccelMapForeach ::
+    Maybe (Ptr (FunPtr C_AccelMapForeach)) ->
+    AccelMapForeach ->
+    C_AccelMapForeach
+wrap_AccelMapForeach funptrptr _cb data_ accelPath accelKey accelMods changed = do
+    accelPath' <- cstringToText accelPath
+    let accelMods' = wordToGFlags accelMods
+    let changed' = (/= 0) changed
+    _cb  data_ accelPath' accelKey accelMods' changed'
+    maybeReleaseFunPtr funptrptr
+
+
+-- callback AccelGroupFindFunc
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "key", argType = TInterface (Name {namespace = "Gtk", name = "AccelKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Just "2.2"}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_AccelGroupFindFunc =
+    Ptr Gtk.AccelKey.AccelKey ->
+    Ptr (GClosure ()) ->
+    Ptr () ->
+    IO CInt
+
+-- Args : [Arg {argCName = "key", argType = TInterface (Name {namespace = "Gtk", name = "AccelKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_AccelGroupFindFunc :: FunPtr C_AccelGroupFindFunc -> C_AccelGroupFindFunc
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_AccelGroupFindFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    FunPtr C_AccelGroupFindFunc
+    -> Gtk.AccelKey.AccelKey
+    -> GClosure a
+    -> Ptr ()
+    -> m Bool
+dynamic_AccelGroupFindFunc __funPtr key closure data_ = liftIO $ do
+    key' <- unsafeManagedPtrGetPtr key
+    closure' <- unsafeManagedPtrCastPtr closure
+    result <- (__dynamic_C_AccelGroupFindFunc __funPtr) key' closure' data_
+    let result' = (/= 0) result
+    touchManagedPtr key
+    touchManagedPtr closure
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_AccelGroupFindFunc`.
+foreign import ccall "wrapper"
+    mk_AccelGroupFindFunc :: C_AccelGroupFindFunc -> IO (FunPtr C_AccelGroupFindFunc)
+
+{- |
+/No description available in the introspection data./
+
+/Since: 2.2/
+-}
+type AccelGroupFindFunc =
+    Gtk.AccelKey.AccelKey
+    -> GClosure ()
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AccelGroupFindFunc`@.
+noAccelGroupFindFunc :: Maybe AccelGroupFindFunc
+noAccelGroupFindFunc = Nothing
+
+{- |
+/No description available in the introspection data./
+
+/Since: 2.2/
+-}
+type AccelGroupFindFunc_WithClosures =
+    Gtk.AccelKey.AccelKey
+    -> GClosure ()
+    -> Ptr ()
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AccelGroupFindFunc_WithClosures`@.
+noAccelGroupFindFunc_WithClosures :: Maybe AccelGroupFindFunc_WithClosures
+noAccelGroupFindFunc_WithClosures = Nothing
+
+-- | A simple wrapper that ignores the closure arguments.
+drop_closures_AccelGroupFindFunc :: AccelGroupFindFunc -> AccelGroupFindFunc_WithClosures
+drop_closures_AccelGroupFindFunc _f key closure _ = _f key closure
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AccelGroupFindFunc :: MonadIO m => AccelGroupFindFunc -> m (GClosure C_AccelGroupFindFunc)
+genClosure_AccelGroupFindFunc cb = liftIO $ do
+    let cb' = drop_closures_AccelGroupFindFunc cb
+    let cb'' = wrap_AccelGroupFindFunc Nothing cb'
+    mk_AccelGroupFindFunc cb'' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AccelGroupFindFunc` into a `C_AccelGroupFindFunc`.
+wrap_AccelGroupFindFunc ::
+    Maybe (Ptr (FunPtr C_AccelGroupFindFunc)) ->
+    AccelGroupFindFunc_WithClosures ->
+    C_AccelGroupFindFunc
+wrap_AccelGroupFindFunc funptrptr _cb key closure data_ = do
+    key' <- (newPtr Gtk.AccelKey.AccelKey) key
+    closure' <- (B.GClosure.newGClosureFromPtr . FP.castPtr) closure
+    result <- _cb  key' closure' data_
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+-- callback AccelGroupActivate
+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "acceleratable", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifier", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
+-- | Type for the callback on the (unwrapped) C side.
+type C_AccelGroupActivate =
+    Ptr Gtk.AccelGroup.AccelGroup ->
+    Ptr GObject.Object.Object ->
+    Word32 ->
+    CUInt ->
+    IO CInt
+
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "acceleratable", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifier", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "dynamic" __dynamic_C_AccelGroupActivate :: FunPtr C_AccelGroupActivate -> C_AccelGroupActivate
+
+-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
+dynamic_AccelGroupActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.AccelGroup.IsAccelGroup a, GObject.Object.IsObject b) =>
+    FunPtr C_AccelGroupActivate
+    -> a
+    -> b
+    -> Word32
+    -> [Gdk.Flags.ModifierType]
+    -> m Bool
+dynamic_AccelGroupActivate __funPtr accelGroup acceleratable keyval modifier = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    acceleratable' <- unsafeManagedPtrCastPtr acceleratable
+    let modifier' = gflagsToWord modifier
+    result <- (__dynamic_C_AccelGroupActivate __funPtr) accelGroup' acceleratable' keyval modifier'
+    let result' = (/= 0) result
+    touchManagedPtr accelGroup
+    touchManagedPtr acceleratable
+    return result'
+
+-- | Generate a function pointer callable from C code, from a `C_AccelGroupActivate`.
+foreign import ccall "wrapper"
+    mk_AccelGroupActivate :: C_AccelGroupActivate -> IO (FunPtr C_AccelGroupActivate)
+
+{- |
+/No description available in the introspection data./
+-}
+type AccelGroupActivate =
+    Gtk.AccelGroup.AccelGroup
+    -> GObject.Object.Object
+    -> Word32
+    -> [Gdk.Flags.ModifierType]
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AccelGroupActivate`@.
+noAccelGroupActivate :: Maybe AccelGroupActivate
+noAccelGroupActivate = Nothing
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AccelGroupActivate :: MonadIO m => AccelGroupActivate -> m (GClosure C_AccelGroupActivate)
+genClosure_AccelGroupActivate cb = liftIO $ do
+    let cb' = wrap_AccelGroupActivate Nothing cb
+    mk_AccelGroupActivate cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AccelGroupActivate` into a `C_AccelGroupActivate`.
+wrap_AccelGroupActivate ::
+    Maybe (Ptr (FunPtr C_AccelGroupActivate)) ->
+    AccelGroupActivate ->
+    C_AccelGroupActivate
+wrap_AccelGroupActivate funptrptr _cb accelGroup acceleratable keyval modifier = do
+    accelGroup' <- (newObject Gtk.AccelGroup.AccelGroup) accelGroup
+    acceleratable' <- (newObject GObject.Object.Object) acceleratable
+    let modifier' = wordToGFlags modifier
+    result <- _cb  accelGroup' acceleratable' keyval modifier'
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+
diff --git a/GI/Gtk/Constants.hs b/GI/Gtk/Constants.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Constants.hs
@@ -0,0 +1,2103 @@
+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Constants
+    ( 
+    pattern TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID,
+    pattern TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,
+    pattern TEXT_VIEW_PRIORITY_VALIDATE     ,
+    pattern STYLE_REGION_TAB                ,
+    pattern STYLE_REGION_ROW                ,
+    pattern STYLE_REGION_COLUMN_HEADER      ,
+    pattern STYLE_REGION_COLUMN             ,
+    pattern STYLE_PROVIDER_PRIORITY_USER    ,
+    pattern STYLE_PROVIDER_PRIORITY_THEME   ,
+    pattern STYLE_PROVIDER_PRIORITY_SETTINGS,
+    pattern STYLE_PROVIDER_PRIORITY_FALLBACK,
+    pattern STYLE_PROVIDER_PRIORITY_APPLICATION,
+    pattern STYLE_PROPERTY_PADDING          ,
+    pattern STYLE_PROPERTY_MARGIN           ,
+    pattern STYLE_PROPERTY_FONT             ,
+    pattern STYLE_PROPERTY_COLOR            ,
+    pattern STYLE_PROPERTY_BORDER_WIDTH     ,
+    pattern STYLE_PROPERTY_BORDER_STYLE     ,
+    pattern STYLE_PROPERTY_BORDER_RADIUS    ,
+    pattern STYLE_PROPERTY_BORDER_COLOR     ,
+    pattern STYLE_PROPERTY_BACKGROUND_IMAGE ,
+    pattern STYLE_PROPERTY_BACKGROUND_COLOR ,
+    pattern STYLE_CLASS_WIDE                ,
+    pattern STYLE_CLASS_WARNING             ,
+    pattern STYLE_CLASS_VIEW                ,
+    pattern STYLE_CLASS_VERTICAL            ,
+    pattern STYLE_CLASS_UNDERSHOOT          ,
+    pattern STYLE_CLASS_TROUGH              ,
+    pattern STYLE_CLASS_TOUCH_SELECTION     ,
+    pattern STYLE_CLASS_TOP                 ,
+    pattern STYLE_CLASS_TOOLTIP             ,
+    pattern STYLE_CLASS_TOOLBAR             ,
+    pattern STYLE_CLASS_TITLEBAR            ,
+    pattern STYLE_CLASS_TITLE               ,
+    pattern STYLE_CLASS_SUGGESTED_ACTION    ,
+    pattern STYLE_CLASS_SUBTITLE            ,
+    pattern STYLE_CLASS_STATUSBAR           ,
+    pattern STYLE_CLASS_SPINNER             ,
+    pattern STYLE_CLASS_SPINBUTTON          ,
+    pattern STYLE_CLASS_SLIDER              ,
+    pattern STYLE_CLASS_SIDEBAR             ,
+    pattern STYLE_CLASS_SEPARATOR           ,
+    pattern STYLE_CLASS_SCROLLBARS_JUNCTION ,
+    pattern STYLE_CLASS_SCROLLBAR           ,
+    pattern STYLE_CLASS_SCALE_HAS_MARKS_BELOW,
+    pattern STYLE_CLASS_SCALE_HAS_MARKS_ABOVE,
+    pattern STYLE_CLASS_SCALE               ,
+    pattern STYLE_CLASS_RUBBERBAND          ,
+    pattern STYLE_CLASS_RIGHT               ,
+    pattern STYLE_CLASS_READ_ONLY           ,
+    pattern STYLE_CLASS_RAISED              ,
+    pattern STYLE_CLASS_RADIO               ,
+    pattern STYLE_CLASS_QUESTION            ,
+    pattern STYLE_CLASS_PULSE               ,
+    pattern STYLE_CLASS_PROGRESSBAR         ,
+    pattern STYLE_CLASS_PRIMARY_TOOLBAR     ,
+    pattern STYLE_CLASS_POPUP               ,
+    pattern STYLE_CLASS_POPOVER             ,
+    pattern STYLE_CLASS_PAPER               ,
+    pattern STYLE_CLASS_PANE_SEPARATOR      ,
+    pattern STYLE_CLASS_OVERSHOOT           ,
+    pattern STYLE_CLASS_OSD                 ,
+    pattern STYLE_CLASS_NOTEBOOK            ,
+    pattern STYLE_CLASS_NEEDS_ATTENTION     ,
+    pattern STYLE_CLASS_MONOSPACE           ,
+    pattern STYLE_CLASS_MESSAGE_DIALOG      ,
+    pattern STYLE_CLASS_MENUITEM            ,
+    pattern STYLE_CLASS_MENUBAR             ,
+    pattern STYLE_CLASS_MENU                ,
+    pattern STYLE_CLASS_MARK                ,
+    pattern STYLE_CLASS_LIST_ROW            ,
+    pattern STYLE_CLASS_LIST                ,
+    pattern STYLE_CLASS_LINKED              ,
+    pattern STYLE_CLASS_LEVEL_BAR           ,
+    pattern STYLE_CLASS_LEFT                ,
+    pattern STYLE_CLASS_LABEL               ,
+    pattern STYLE_CLASS_INSERTION_CURSOR    ,
+    pattern STYLE_CLASS_INLINE_TOOLBAR      ,
+    pattern STYLE_CLASS_INFO                ,
+    pattern STYLE_CLASS_IMAGE               ,
+    pattern STYLE_CLASS_HORIZONTAL          ,
+    pattern STYLE_CLASS_HIGHLIGHT           ,
+    pattern STYLE_CLASS_HEADER              ,
+    pattern STYLE_CLASS_GRIP                ,
+    pattern STYLE_CLASS_FRAME               ,
+    pattern STYLE_CLASS_FLAT                ,
+    pattern STYLE_CLASS_EXPANDER            ,
+    pattern STYLE_CLASS_ERROR               ,
+    pattern STYLE_CLASS_ENTRY               ,
+    pattern STYLE_CLASS_DOCK                ,
+    pattern STYLE_CLASS_DND                 ,
+    pattern STYLE_CLASS_DIM_LABEL           ,
+    pattern STYLE_CLASS_DESTRUCTIVE_ACTION  ,
+    pattern STYLE_CLASS_DEFAULT             ,
+    pattern STYLE_CLASS_CURSOR_HANDLE       ,
+    pattern STYLE_CLASS_CSD                 ,
+    pattern STYLE_CLASS_CONTEXT_MENU        ,
+    pattern STYLE_CLASS_COMBOBOX_ENTRY      ,
+    pattern STYLE_CLASS_CHECK               ,
+    pattern STYLE_CLASS_CELL                ,
+    pattern STYLE_CLASS_CALENDAR            ,
+    pattern STYLE_CLASS_BUTTON              ,
+    pattern STYLE_CLASS_BOTTOM              ,
+    pattern STYLE_CLASS_BACKGROUND          ,
+    pattern STYLE_CLASS_ARROW               ,
+    pattern STYLE_CLASS_ACCELERATOR         ,
+    pattern STOCK_ZOOM_OUT                  ,
+    pattern STOCK_ZOOM_IN                   ,
+    pattern STOCK_ZOOM_FIT                  ,
+    pattern STOCK_ZOOM_100                  ,
+    pattern STOCK_YES                       ,
+    pattern STOCK_UNINDENT                  ,
+    pattern STOCK_UNDO                      ,
+    pattern STOCK_UNDERLINE                 ,
+    pattern STOCK_UNDELETE                  ,
+    pattern STOCK_STRIKETHROUGH             ,
+    pattern STOCK_STOP                      ,
+    pattern STOCK_SPELL_CHECK               ,
+    pattern STOCK_SORT_DESCENDING           ,
+    pattern STOCK_SORT_ASCENDING            ,
+    pattern STOCK_SELECT_FONT               ,
+    pattern STOCK_SELECT_COLOR              ,
+    pattern STOCK_SELECT_ALL                ,
+    pattern STOCK_SAVE_AS                   ,
+    pattern STOCK_SAVE                      ,
+    pattern STOCK_REVERT_TO_SAVED           ,
+    pattern STOCK_REMOVE                    ,
+    pattern STOCK_REFRESH                   ,
+    pattern STOCK_REDO                      ,
+    pattern STOCK_QUIT                      ,
+    pattern STOCK_PROPERTIES                ,
+    pattern STOCK_PRINT_WARNING             ,
+    pattern STOCK_PRINT_REPORT              ,
+    pattern STOCK_PRINT_PREVIEW             ,
+    pattern STOCK_PRINT_PAUSED              ,
+    pattern STOCK_PRINT_ERROR               ,
+    pattern STOCK_PRINT                     ,
+    pattern STOCK_PREFERENCES               ,
+    pattern STOCK_PASTE                     ,
+    pattern STOCK_PAGE_SETUP                ,
+    pattern STOCK_ORIENTATION_REVERSE_PORTRAIT,
+    pattern STOCK_ORIENTATION_REVERSE_LANDSCAPE,
+    pattern STOCK_ORIENTATION_PORTRAIT      ,
+    pattern STOCK_ORIENTATION_LANDSCAPE     ,
+    pattern STOCK_OPEN                      ,
+    pattern STOCK_OK                        ,
+    pattern STOCK_NO                        ,
+    pattern STOCK_NEW                       ,
+    pattern STOCK_NETWORK                   ,
+    pattern STOCK_MISSING_IMAGE             ,
+    pattern STOCK_MEDIA_STOP                ,
+    pattern STOCK_MEDIA_REWIND              ,
+    pattern STOCK_MEDIA_RECORD              ,
+    pattern STOCK_MEDIA_PREVIOUS            ,
+    pattern STOCK_MEDIA_PLAY                ,
+    pattern STOCK_MEDIA_PAUSE               ,
+    pattern STOCK_MEDIA_NEXT                ,
+    pattern STOCK_MEDIA_FORWARD             ,
+    pattern STOCK_LEAVE_FULLSCREEN          ,
+    pattern STOCK_JUSTIFY_RIGHT             ,
+    pattern STOCK_JUSTIFY_LEFT              ,
+    pattern STOCK_JUSTIFY_FILL              ,
+    pattern STOCK_JUSTIFY_CENTER            ,
+    pattern STOCK_JUMP_TO                   ,
+    pattern STOCK_ITALIC                    ,
+    pattern STOCK_INFO                      ,
+    pattern STOCK_INDEX                     ,
+    pattern STOCK_INDENT                    ,
+    pattern STOCK_HOME                      ,
+    pattern STOCK_HELP                      ,
+    pattern STOCK_HARDDISK                  ,
+    pattern STOCK_GO_UP                     ,
+    pattern STOCK_GO_FORWARD                ,
+    pattern STOCK_GO_DOWN                   ,
+    pattern STOCK_GO_BACK                   ,
+    pattern STOCK_GOTO_TOP                  ,
+    pattern STOCK_GOTO_LAST                 ,
+    pattern STOCK_GOTO_FIRST                ,
+    pattern STOCK_GOTO_BOTTOM               ,
+    pattern STOCK_FULLSCREEN                ,
+    pattern STOCK_FLOPPY                    ,
+    pattern STOCK_FIND_AND_REPLACE          ,
+    pattern STOCK_FIND                      ,
+    pattern STOCK_FILE                      ,
+    pattern STOCK_EXECUTE                   ,
+    pattern STOCK_EDIT                      ,
+    pattern STOCK_DND_MULTIPLE              ,
+    pattern STOCK_DND                       ,
+    pattern STOCK_DISCONNECT                ,
+    pattern STOCK_DISCARD                   ,
+    pattern STOCK_DIRECTORY                 ,
+    pattern STOCK_DIALOG_WARNING            ,
+    pattern STOCK_DIALOG_QUESTION           ,
+    pattern STOCK_DIALOG_INFO               ,
+    pattern STOCK_DIALOG_ERROR              ,
+    pattern STOCK_DIALOG_AUTHENTICATION     ,
+    pattern STOCK_DELETE                    ,
+    pattern STOCK_CUT                       ,
+    pattern STOCK_COPY                      ,
+    pattern STOCK_CONVERT                   ,
+    pattern STOCK_CONNECT                   ,
+    pattern STOCK_COLOR_PICKER              ,
+    pattern STOCK_CLOSE                     ,
+    pattern STOCK_CLEAR                     ,
+    pattern STOCK_CDROM                     ,
+    pattern STOCK_CAPS_LOCK_WARNING         ,
+    pattern STOCK_CANCEL                    ,
+    pattern STOCK_BOLD                      ,
+    pattern STOCK_APPLY                     ,
+    pattern STOCK_ADD                       ,
+    pattern STOCK_ABOUT                     ,
+    pattern PRIORITY_RESIZE                 ,
+    pattern PRINT_SETTINGS_WIN32_DRIVER_VERSION,
+    pattern PRINT_SETTINGS_WIN32_DRIVER_EXTRA,
+    pattern PRINT_SETTINGS_USE_COLOR        ,
+    pattern PRINT_SETTINGS_SCALE            ,
+    pattern PRINT_SETTINGS_REVERSE          ,
+    pattern PRINT_SETTINGS_RESOLUTION_Y     ,
+    pattern PRINT_SETTINGS_RESOLUTION_X     ,
+    pattern PRINT_SETTINGS_RESOLUTION       ,
+    pattern PRINT_SETTINGS_QUALITY          ,
+    pattern PRINT_SETTINGS_PRINT_PAGES      ,
+    pattern PRINT_SETTINGS_PRINTER_LPI      ,
+    pattern PRINT_SETTINGS_PRINTER          ,
+    pattern PRINT_SETTINGS_PAPER_WIDTH      ,
+    pattern PRINT_SETTINGS_PAPER_HEIGHT     ,
+    pattern PRINT_SETTINGS_PAPER_FORMAT     ,
+    pattern PRINT_SETTINGS_PAGE_SET         ,
+    pattern PRINT_SETTINGS_PAGE_RANGES      ,
+    pattern PRINT_SETTINGS_OUTPUT_URI       ,
+    pattern PRINT_SETTINGS_OUTPUT_FILE_FORMAT,
+    pattern PRINT_SETTINGS_OUTPUT_DIR       ,
+    pattern PRINT_SETTINGS_OUTPUT_BIN       ,
+    pattern PRINT_SETTINGS_OUTPUT_BASENAME  ,
+    pattern PRINT_SETTINGS_ORIENTATION      ,
+    pattern PRINT_SETTINGS_N_COPIES         ,
+    pattern PRINT_SETTINGS_NUMBER_UP_LAYOUT ,
+    pattern PRINT_SETTINGS_NUMBER_UP        ,
+    pattern PRINT_SETTINGS_MEDIA_TYPE       ,
+    pattern PRINT_SETTINGS_FINISHINGS       ,
+    pattern PRINT_SETTINGS_DUPLEX           ,
+    pattern PRINT_SETTINGS_DITHER           ,
+    pattern PRINT_SETTINGS_DEFAULT_SOURCE   ,
+    pattern PRINT_SETTINGS_COLLATE          ,
+    pattern PATH_PRIO_MASK                  ,
+    pattern PAPER_NAME_LETTER               ,
+    pattern PAPER_NAME_LEGAL                ,
+    pattern PAPER_NAME_EXECUTIVE            ,
+    pattern PAPER_NAME_B5                   ,
+    pattern PAPER_NAME_A5                   ,
+    pattern PAPER_NAME_A4                   ,
+    pattern PAPER_NAME_A3                   ,
+    pattern MINOR_VERSION                   ,
+    pattern MICRO_VERSION                   ,
+    pattern MAX_COMPOSE_LEN                 ,
+    pattern MAJOR_VERSION                   ,
+    pattern LEVEL_BAR_OFFSET_LOW            ,
+    pattern LEVEL_BAR_OFFSET_HIGH           ,
+    pattern LEVEL_BAR_OFFSET_FULL           ,
+    pattern INTERFACE_AGE                   ,
+    pattern INPUT_ERROR                     ,
+    pattern BINARY_AGE                      ,
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+{- |
+The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a
+'GI.Gtk.Interfaces.TreeSortable.TreeSortable' use no sorting.
+
+See also 'GI.Gtk.Interfaces.TreeSortable.treeSortableSetSortColumnId'
+-}
+pattern TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID = -2 :: Int32
+
+{- |
+The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a
+'GI.Gtk.Interfaces.TreeSortable.TreeSortable' use the default sort function.
+
+See also 'GI.Gtk.Interfaces.TreeSortable.treeSortableSetSortColumnId'
+-}
+pattern TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID = -1 :: Int32
+
+{- |
+The priority at which the text view validates onscreen lines
+in an idle job in the background.
+-}
+pattern TEXT_VIEW_PRIORITY_VALIDATE = 125 :: Int32
+
+{-# DEPRECATED STYLE_REGION_TAB ["(Since version 3.20)","Don\\'t use regions."] #-}
+{- |
+A widget region name to define a notebook tab.
+-}
+pattern STYLE_REGION_TAB = "tab" :: T.Text
+
+{-# DEPRECATED STYLE_REGION_ROW ["(Since version 3.20)","Don\\'t use regions."] #-}
+{- |
+A widget region name to define a treeview row.
+-}
+pattern STYLE_REGION_ROW = "row" :: T.Text
+
+{-# DEPRECATED STYLE_REGION_COLUMN_HEADER ["(Since version 3.20)","Don\\'t use regions."] #-}
+{- |
+A widget region name to define a treeview column header.
+-}
+pattern STYLE_REGION_COLUMN_HEADER = "column-header" :: T.Text
+
+{-# DEPRECATED STYLE_REGION_COLUMN ["(Since version 3.20)","Don\\'t use regions."] #-}
+{- |
+A widget region name to define a treeview column.
+-}
+pattern STYLE_REGION_COLUMN = "column" :: T.Text
+
+{- |
+The priority used for the style information from
+@XDG_CONFIG_HOME\/gtk-3.0\/gtk.css@.
+
+You should not use priorities higher than this, to
+give the user the last word.
+-}
+pattern STYLE_PROVIDER_PRIORITY_USER = 800 :: Int32
+
+{- |
+The priority used for style information provided
+by themes.
+-}
+pattern STYLE_PROVIDER_PRIORITY_THEME = 200 :: Int32
+
+{- |
+The priority used for style information provided
+via 'GI.Gtk.Objects.Settings.Settings'.
+
+This priority is higher than 'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_THEME'
+to let settings override themes.
+-}
+pattern STYLE_PROVIDER_PRIORITY_SETTINGS = 400 :: Int32
+
+{- |
+The priority used for default style information
+that is used in the absence of themes.
+
+Note that this is not very useful for providing default
+styling for custom style classes - themes are likely to
+override styling provided at this priority with
+catch-all @* {...}@ rules.
+-}
+pattern STYLE_PROVIDER_PRIORITY_FALLBACK = 1 :: Int32
+
+{- |
+A priority that can be used when adding a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider'
+for application-specific style information.
+-}
+pattern STYLE_PROVIDER_PRIORITY_APPLICATION = 600 :: Int32
+
+{- |
+A property holding the rendered element’s padding as a 'GI.Gtk.Structs.Border.Border'. The
+padding is defined as the spacing between the inner part of the element border
+and its child. It’s the innermost spacing property of the padding\/border\/margin
+series.
+-}
+pattern STYLE_PROPERTY_PADDING = "padding" :: T.Text
+
+{- |
+A property holding the rendered element’s margin as a 'GI.Gtk.Structs.Border.Border'. The
+margin is defined as the spacing between the border of the element
+and its surrounding elements. It is external to 'GI.Gtk.Objects.Widget.Widget'\'s
+size allocations, and the most external spacing property of the
+padding\/border\/margin series.
+-}
+pattern STYLE_PROPERTY_MARGIN = "margin" :: T.Text
+
+{- |
+A property holding the font properties used when rendering text
+as a 'GI.Pango.Structs.FontDescription.FontDescription'.
+-}
+pattern STYLE_PROPERTY_FONT = "font" :: T.Text
+
+{- |
+A property holding the foreground color of rendered elements as a 'GI.Gdk.Structs.RGBA.RGBA'.
+-}
+pattern STYLE_PROPERTY_COLOR = "color" :: T.Text
+
+{- |
+A property holding the rendered element’s border width in pixels as
+a 'GI.Gtk.Structs.Border.Border'. The border is the intermediary spacing property of the
+padding\/border\/margin series.
+
+'GI.Gtk.Functions.renderFrame' uses this property to find out the frame line width,
+so @/GtkWidgets/@ rendering frames may need to add up this padding when
+requesting size
+-}
+pattern STYLE_PROPERTY_BORDER_WIDTH = "border-width" :: T.Text
+
+{- |
+A property holding the element’s border style as a 'GI.Gtk.Enums.BorderStyle'.
+-}
+pattern STYLE_PROPERTY_BORDER_STYLE = "border-style" :: T.Text
+
+{- |
+A property holding the rendered element’s border radius in pixels as a @/gint/@.
+-}
+pattern STYLE_PROPERTY_BORDER_RADIUS = "border-radius" :: T.Text
+
+{- |
+A property holding the element’s border color as a 'GI.Gdk.Structs.RGBA.RGBA'.
+-}
+pattern STYLE_PROPERTY_BORDER_COLOR = "border-color" :: T.Text
+
+{- |
+A property holding the element’s background as a 'GI.Cairo.Structs.Pattern.Pattern'.
+-}
+pattern STYLE_PROPERTY_BACKGROUND_IMAGE = "background-image" :: T.Text
+
+{- |
+A property holding the background color of rendered elements as a 'GI.Gdk.Structs.RGBA.RGBA'.
+-}
+pattern STYLE_PROPERTY_BACKGROUND_COLOR = "background-color" :: T.Text
+
+{- |
+A CSS class to indicate that a UI element should be \'wide\'.
+Used by 'GI.Gtk.Objects.Paned.Paned'.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.16/
+-}
+pattern STYLE_CLASS_WIDE = "wide" :: T.Text
+
+{- |
+A CSS class for an area displaying a warning message,
+such as those in infobars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_WARNING = "warning" :: T.Text
+
+{- |
+A CSS class defining a view, such as iconviews or treeviews.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_VIEW = "view" :: T.Text
+
+{- |
+A CSS class for vertically layered widgets.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_VERTICAL = "vertical" :: T.Text
+
+{- |
+A CSS class that is added on the visual hints that happen
+where content is \'scrolled off\' and can be made visible
+by scrolling.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.16/
+-}
+pattern STYLE_CLASS_UNDERSHOOT = "undershoot" :: T.Text
+
+{- |
+A CSS class to match troughs, as in scrollbars and progressbars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_TROUGH = "trough" :: T.Text
+
+{- |
+A CSS class for touch selection popups on entries
+and text views.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.16/
+-}
+pattern STYLE_CLASS_TOUCH_SELECTION = "touch-selection" :: T.Text
+
+{- |
+A CSS class to indicate an area at the top of a widget.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_TOP = "top" :: T.Text
+
+{- |
+A CSS class to match tooltip windows.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_TOOLTIP = "tooltip" :: T.Text
+
+{- |
+A CSS class to match toolbars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_TOOLBAR = "toolbar" :: T.Text
+
+{- |
+A CSS class used when rendering a titlebar in a toplevel window.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_TITLEBAR = "titlebar" :: T.Text
+
+{- |
+A CSS class used for the title label in a titlebar in
+a toplevel window.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.14/
+-}
+pattern STYLE_CLASS_TITLE = "title" :: T.Text
+
+{- |
+A CSS class used when an action (usually a button) is the
+primary suggested action in a specific context.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.12/
+-}
+pattern STYLE_CLASS_SUGGESTED_ACTION = "suggested-action" :: T.Text
+
+{- |
+A CSS class used for the subtitle label in a titlebar in
+a toplevel window.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.14/
+-}
+pattern STYLE_CLASS_SUBTITLE = "subtitle" :: T.Text
+
+{- |
+A CSS class to match statusbars.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.16/
+-}
+pattern STYLE_CLASS_STATUSBAR = "statusbar" :: T.Text
+
+{- |
+A CSS class to use when rendering activity as a “spinner”.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SPINNER = "spinner" :: T.Text
+
+{- |
+A CSS class defining an spinbutton.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SPINBUTTON = "spinbutton" :: T.Text
+
+{- |
+A CSS class to match sliders.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SLIDER = "slider" :: T.Text
+
+{- |
+A CSS class defining a sidebar, such as the left side in
+a file chooser.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SIDEBAR = "sidebar" :: T.Text
+
+{- |
+A CSS class for a separator.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SEPARATOR = "separator" :: T.Text
+
+{- |
+A CSS class to match the junction area between an horizontal
+and vertical scrollbar, when they’re both shown.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SCROLLBARS_JUNCTION = "scrollbars-junction" :: T.Text
+
+{- |
+A CSS class to match scrollbars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SCROLLBAR = "scrollbar" :: T.Text
+
+{- |
+A CSS class to match scale widgets with marks attached,
+all the marks are below for horizontal 'GI.Gtk.Objects.Scale.Scale',
+right for vertical 'GI.Gtk.Objects.Scale.Scale'.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SCALE_HAS_MARKS_BELOW = "scale-has-marks-below" :: T.Text
+
+{- |
+A CSS class to match scale widgets with marks attached,
+all the marks are above for horizontal 'GI.Gtk.Objects.Scale.Scale'.
+left for vertical 'GI.Gtk.Objects.Scale.Scale'.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SCALE_HAS_MARKS_ABOVE = "scale-has-marks-above" :: T.Text
+
+{- |
+A CSS class to match scale widgets.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_SCALE = "scale" :: T.Text
+
+{- |
+A CSS class to match the rubberband selection rectangle.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_RUBBERBAND = "rubberband" :: T.Text
+
+{- |
+A CSS class to indicate an area at the right of a widget.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_RIGHT = "right" :: T.Text
+
+{- |
+A CSS class used to indicate a read-only state.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_READ_ONLY = "read-only" :: T.Text
+
+{- |
+A CSS class to match a raised control, such as a raised
+button on a toolbar.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_RAISED = "raised" :: T.Text
+
+{- |
+A CSS class to match radio buttons.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_RADIO = "radio" :: T.Text
+
+{- |
+A CSS class for an area displaying a question to the user,
+such as those in infobars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_QUESTION = "question" :: T.Text
+
+{- |
+A CSS class to use when rendering a pulse in an indeterminate progress bar.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_PULSE = "pulse" :: T.Text
+
+{- |
+A CSS class to use when rendering activity as a progressbar.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_PROGRESSBAR = "progressbar" :: T.Text
+
+{- |
+A CSS class to match primary toolbars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_PRIMARY_TOOLBAR = "primary-toolbar" :: T.Text
+
+{- |
+A CSS class that is added to the toplevel windows used for menus.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.14/
+-}
+pattern STYLE_CLASS_POPUP = "popup" :: T.Text
+
+{- |
+A CSS class that matches popovers.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.14/
+-}
+pattern STYLE_CLASS_POPOVER = "popover" :: T.Text
+
+{- |
+A CSS class that is added to areas that should look like paper.
+
+This is used in print previews and themes are encouraged to
+style it as black text on white background.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.16/
+-}
+pattern STYLE_CLASS_PAPER = "paper" :: T.Text
+
+{- |
+A CSS class for a pane separator, such as those in 'GI.Gtk.Objects.Paned.Paned'.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_PANE_SEPARATOR = "pane-separator" :: T.Text
+
+{- |
+A CSS class that is added on the visual hints that happen
+when scrolling is attempted past the limits of a scrollable
+area.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.14/
+-}
+pattern STYLE_CLASS_OVERSHOOT = "overshoot" :: T.Text
+
+{- |
+A CSS class used when rendering an OSD (On Screen Display) element,
+on top of another container.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_OSD = "osd" :: T.Text
+
+{- |
+A CSS class defining a notebook.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_NOTEBOOK = "notebook" :: T.Text
+
+{- |
+A CSS class used when an element needs the user attention,
+for instance a button in a stack switcher corresponding to
+a hidden page that changed state.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.12/
+-}
+pattern STYLE_CLASS_NEEDS_ATTENTION = "needs-attention" :: T.Text
+
+{- |
+A CSS class that is added to text view that should use
+a monospace font.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.16/
+-}
+pattern STYLE_CLASS_MONOSPACE = "monospace" :: T.Text
+
+{- |
+A CSS class that is added to message dialogs.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.14/
+-}
+pattern STYLE_CLASS_MESSAGE_DIALOG = "message-dialog" :: T.Text
+
+{- |
+A CSS class to match menu items.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_MENUITEM = "menuitem" :: T.Text
+
+{- |
+A CSS class to menubars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_MENUBAR = "menubar" :: T.Text
+
+{- |
+A CSS class to match menus.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_MENU = "menu" :: T.Text
+
+{- |
+A CSS class defining marks in a widget, such as in scales.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_MARK = "mark" :: T.Text
+
+{- |
+A CSS class to match list rows.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_LIST_ROW = "list-row" :: T.Text
+
+{- |
+A CSS class to match lists.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_LIST = "list" :: T.Text
+
+{- |
+A CSS class to match a linked area, such as a box containing buttons
+belonging to the same control.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_LINKED = "linked" :: T.Text
+
+{- |
+A CSS class used when rendering a level indicator, such
+as a battery charge level, or a password strength.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_LEVEL_BAR = "level-bar" :: T.Text
+
+{- |
+A CSS class to indicate an area at the left of a widget.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_LEFT = "left" :: T.Text
+
+{- |
+A CSS class to match labels.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.16/
+-}
+pattern STYLE_CLASS_LABEL = "label" :: T.Text
+
+{- |
+A CSS class used when rendering a drag handle for
+the insertion cursor position.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_INSERTION_CURSOR = "insertion-cursor" :: T.Text
+
+{- |
+A CSS class to match inline toolbars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_INLINE_TOOLBAR = "inline-toolbar" :: T.Text
+
+{- |
+A CSS class for an area displaying an informational message,
+such as those in infobars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_INFO = "info" :: T.Text
+
+{- |
+A CSS class defining an image, such as the icon in an entry.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_IMAGE = "image" :: T.Text
+
+{- |
+A CSS class for horizontally layered widgets.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_HORIZONTAL = "horizontal" :: T.Text
+
+{- |
+A CSS class defining a highlighted area, such as headings in
+assistants and calendars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_HIGHLIGHT = "highlight" :: T.Text
+
+{- |
+A CSS class to match a header element.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_HEADER = "header" :: T.Text
+
+{- |
+A CSS class defining a resize grip.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_GRIP = "grip" :: T.Text
+
+{- |
+A CSS class defining a frame delimiting content, such as
+'GI.Gtk.Objects.Frame.Frame' or the scrolled window frame around the
+scrollable area.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_FRAME = "frame" :: T.Text
+
+{- |
+A CSS class that is added when widgets that usually have
+a frame or border (like buttons or entries) should appear
+without it.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.14/
+-}
+pattern STYLE_CLASS_FLAT = "flat" :: T.Text
+
+{- |
+A CSS class defining an expander, such as those in treeviews.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_EXPANDER = "expander" :: T.Text
+
+{- |
+A CSS class for an area displaying an error message,
+such as those in infobars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_ERROR = "error" :: T.Text
+
+{- |
+A CSS class to match text entries.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_ENTRY = "entry" :: T.Text
+
+{- |
+A CSS class defining a dock area.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_DOCK = "dock" :: T.Text
+
+{- |
+A CSS class for a drag-and-drop indicator.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_DND = "dnd" :: T.Text
+
+{- |
+A CSS class to match dimmed labels.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_DIM_LABEL = "dim-label" :: T.Text
+
+{- |
+A CSS class used when an action (usually a button) is
+one that is expected to remove or destroy something visible
+to the user.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.12/
+-}
+pattern STYLE_CLASS_DESTRUCTIVE_ACTION = "destructive-action" :: T.Text
+
+{- |
+A CSS class to match the default widget.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_DEFAULT = "default" :: T.Text
+
+{- |
+A CSS class used when rendering a drag handle for
+text selection.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_CURSOR_HANDLE = "cursor-handle" :: T.Text
+
+{- |
+A CSS class that gets added to windows which have client-side decorations.
+
+Refer to individual widget documentation for used style classes.
+
+/Since: 3.14/
+-}
+pattern STYLE_CLASS_CSD = "csd" :: T.Text
+
+{- |
+A CSS class to match context menus.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_CONTEXT_MENU = "context-menu" :: T.Text
+
+{- |
+A CSS class to match combobox entries.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_COMBOBOX_ENTRY = "combobox-entry" :: T.Text
+
+{- |
+A CSS class to match check boxes.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_CHECK = "check" :: T.Text
+
+{- |
+A CSS class to match content rendered in cell views.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_CELL = "cell" :: T.Text
+
+{- |
+A CSS class to match calendars.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_CALENDAR = "calendar" :: T.Text
+
+{- |
+A CSS class to match buttons.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_BUTTON = "button" :: T.Text
+
+{- |
+A CSS class to indicate an area at the bottom of a widget.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_BOTTOM = "bottom" :: T.Text
+
+{- |
+A CSS class to match the window background.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_BACKGROUND = "background" :: T.Text
+
+{- |
+A CSS class used when rendering an arrow element.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_ARROW = "arrow" :: T.Text
+
+{- |
+A CSS class to match an accelerator.
+
+Refer to individual widget documentation for used style classes.
+-}
+pattern STYLE_CLASS_ACCELERATOR = "accelerator" :: T.Text
+
+{-# DEPRECATED STOCK_ZOOM_OUT ["(Since version 3.10)","Use named icon &quot;zoom-out&quot; or the label &quot;Zoom _Out&quot;."] #-}
+{- |
+The “Zoom Out” item and icon.
+-}
+pattern STOCK_ZOOM_OUT = "gtk-zoom-out" :: T.Text
+
+{-# DEPRECATED STOCK_ZOOM_IN ["(Since version 3.10)","Use named icon &quot;zoom-in&quot; or the label &quot;Zoom _In&quot;."] #-}
+{- |
+The “Zoom In” item and icon.
+-}
+pattern STOCK_ZOOM_IN = "gtk-zoom-in" :: T.Text
+
+{-# DEPRECATED STOCK_ZOOM_FIT ["(Since version 3.10)","Use named icon &quot;zoom-fit-best&quot; or the label &quot;Best _Fit&quot;."] #-}
+{- |
+The “Zoom to Fit” item and icon.
+-}
+pattern STOCK_ZOOM_FIT = "gtk-zoom-fit" :: T.Text
+
+{-# DEPRECATED STOCK_ZOOM_100 ["(Since version 3.10)","Use named icon &quot;zoom-original&quot; or the label &quot;_Normal Size&quot;."] #-}
+{- |
+The “Zoom 100%” item and icon.
+-}
+pattern STOCK_ZOOM_100 = "gtk-zoom-100" :: T.Text
+
+{-# DEPRECATED STOCK_YES ["(Since version 3.10)"] #-}
+{- |
+The “Yes” item and icon.
+-}
+pattern STOCK_YES = "gtk-yes" :: T.Text
+
+{-# DEPRECATED STOCK_UNINDENT ["(Since version 3.10)","Use named icon &quot;format-indent-less&quot;."] #-}
+{- |
+The “Unindent” item and icon. The icon has an RTL variant.
+
+/Since: 2.4/
+-}
+pattern STOCK_UNINDENT = "gtk-unindent" :: T.Text
+
+{-# DEPRECATED STOCK_UNDO ["(Since version 3.10)","Use named icon &quot;edit-undo&quot; or the label &quot;_Undo&quot;."] #-}
+{- |
+The “Undo” item and icon. The icon has an RTL variant.
+-}
+pattern STOCK_UNDO = "gtk-undo" :: T.Text
+
+{-# DEPRECATED STOCK_UNDERLINE ["(Since version 3.10)","Use named icon &quot;format-text-underline&quot; or the label &quot;_Underline&quot;."] #-}
+{- |
+The “Underline” item and icon.
+-}
+pattern STOCK_UNDERLINE = "gtk-underline" :: T.Text
+
+{-# DEPRECATED STOCK_UNDELETE ["(Since version 3.10)"] #-}
+{- |
+The “Undelete” item and icon. The icon has an RTL variant.
+-}
+pattern STOCK_UNDELETE = "gtk-undelete" :: T.Text
+
+{-# DEPRECATED STOCK_STRIKETHROUGH ["(Since version 3.10)","Use named icon &quot;format-text-strikethrough&quot; or the label &quot;_Strikethrough&quot;."] #-}
+{- |
+The “Strikethrough” item and icon.
+-}
+pattern STOCK_STRIKETHROUGH = "gtk-strikethrough" :: T.Text
+
+{-# DEPRECATED STOCK_STOP ["(Since version 3.10)","Use named icon &quot;process-stop&quot; or the label &quot;_Stop&quot;."] #-}
+{- |
+The “Stop” item and icon.
+-}
+pattern STOCK_STOP = "gtk-stop" :: T.Text
+
+{-# DEPRECATED STOCK_SPELL_CHECK ["(Since version 3.10)","Use named icon &quot;tools-check-spelling&quot;."] #-}
+{- |
+The “Spell Check” item and icon.
+-}
+pattern STOCK_SPELL_CHECK = "gtk-spell-check" :: T.Text
+
+{-# DEPRECATED STOCK_SORT_DESCENDING ["(Since version 3.10)","Use named icon &quot;view-sort-descending&quot;."] #-}
+{- |
+The “Descending” item and icon.
+-}
+pattern STOCK_SORT_DESCENDING = "gtk-sort-descending" :: T.Text
+
+{-# DEPRECATED STOCK_SORT_ASCENDING ["(Since version 3.10)","Use named icon &quot;view-sort-ascending&quot;."] #-}
+{- |
+The “Ascending” item and icon.
+-}
+pattern STOCK_SORT_ASCENDING = "gtk-sort-ascending" :: T.Text
+
+{-# DEPRECATED STOCK_SELECT_FONT ["(Since version 3.10)"] #-}
+{- |
+The “Font” item and icon.
+-}
+pattern STOCK_SELECT_FONT = "gtk-select-font" :: T.Text
+
+{-# DEPRECATED STOCK_SELECT_COLOR ["(Since version 3.10)"] #-}
+{- |
+The “Color” item and icon.
+-}
+pattern STOCK_SELECT_COLOR = "gtk-select-color" :: T.Text
+
+{-# DEPRECATED STOCK_SELECT_ALL ["(Since version 3.10)","Use named icon &quot;edit-select-all&quot; or the label &quot;Select _All&quot;."] #-}
+{- |
+The “Select All” item and icon.
+
+/Since: 2.10/
+-}
+pattern STOCK_SELECT_ALL = "gtk-select-all" :: T.Text
+
+{-# DEPRECATED STOCK_SAVE_AS ["(Since version 3.10)","Use named icon &quot;document-save-as&quot; or the label &quot;Save _As&quot;."] #-}
+{- |
+The “Save As” item and icon.
+-}
+pattern STOCK_SAVE_AS = "gtk-save-as" :: T.Text
+
+{-# DEPRECATED STOCK_SAVE ["(Since version 3.10)","Use named icon &quot;document-save&quot; or the label &quot;_Save&quot;."] #-}
+{- |
+The “Save” item and icon.
+-}
+pattern STOCK_SAVE = "gtk-save" :: T.Text
+
+{-# DEPRECATED STOCK_REVERT_TO_SAVED ["(Since version 3.10)","Use named icon &quot;document-revert&quot; or the label &quot;_Revert&quot;."] #-}
+{- |
+The “Revert” item and icon. The icon has an RTL variant.
+-}
+pattern STOCK_REVERT_TO_SAVED = "gtk-revert-to-saved" :: T.Text
+
+{-# DEPRECATED STOCK_REMOVE ["(Since version 3.10)","Use named icon &quot;list-remove&quot; or the label &quot;_Remove&quot;."] #-}
+{- |
+The “Remove” item and icon.
+-}
+pattern STOCK_REMOVE = "gtk-remove" :: T.Text
+
+{-# DEPRECATED STOCK_REFRESH ["(Since version 3.10)","Use named icon &quot;view-refresh&quot; or the label &quot;_Refresh&quot;."] #-}
+{- |
+The “Refresh” item and icon.
+-}
+pattern STOCK_REFRESH = "gtk-refresh" :: T.Text
+
+{-# DEPRECATED STOCK_REDO ["(Since version 3.10)","Use named icon &quot;edit-redo&quot; or the label &quot;_Redo&quot;."] #-}
+{- |
+The “Redo” item and icon. The icon has an RTL variant.
+-}
+pattern STOCK_REDO = "gtk-redo" :: T.Text
+
+{-# DEPRECATED STOCK_QUIT ["(Since version 3.10)","Use named icon &quot;application-exit&quot; or the label &quot;_Quit&quot;."] #-}
+{- |
+The “Quit” item and icon.
+-}
+pattern STOCK_QUIT = "gtk-quit" :: T.Text
+
+{-# DEPRECATED STOCK_PROPERTIES ["(Since version 3.10)","Use named icon &quot;document-properties&quot; or the label &quot;_Properties&quot;."] #-}
+{- |
+The “Properties” item and icon.
+-}
+pattern STOCK_PROPERTIES = "gtk-properties" :: T.Text
+
+{-# DEPRECATED STOCK_PRINT_WARNING ["(Since version 3.10)"] #-}
+{- |
+The “Print Warning” icon.
+
+/Since: 2.14/
+-}
+pattern STOCK_PRINT_WARNING = "gtk-print-warning" :: T.Text
+
+{-# DEPRECATED STOCK_PRINT_REPORT ["(Since version 3.10)"] #-}
+{- |
+The “Print Report” icon.
+
+/Since: 2.14/
+-}
+pattern STOCK_PRINT_REPORT = "gtk-print-report" :: T.Text
+
+{-# DEPRECATED STOCK_PRINT_PREVIEW ["(Since version 3.10)","Use label &quot;Pre_view&quot;."] #-}
+{- |
+The “Print Preview” item and icon.
+-}
+pattern STOCK_PRINT_PREVIEW = "gtk-print-preview" :: T.Text
+
+{-# DEPRECATED STOCK_PRINT_PAUSED ["(Since version 3.10)"] #-}
+{- |
+The “Print Paused” icon.
+
+/Since: 2.14/
+-}
+pattern STOCK_PRINT_PAUSED = "gtk-print-paused" :: T.Text
+
+{-# DEPRECATED STOCK_PRINT_ERROR ["(Since version 3.10)","Use named icon &quot;printer-error&quot;."] #-}
+{- |
+The “Print Error” icon.
+
+/Since: 2.14/
+-}
+pattern STOCK_PRINT_ERROR = "gtk-print-error" :: T.Text
+
+{-# DEPRECATED STOCK_PRINT ["(Since version 3.10)","Use named icon &quot;document-print&quot; or the label &quot;_Print&quot;."] #-}
+{- |
+The “Print” item and icon.
+-}
+pattern STOCK_PRINT = "gtk-print" :: T.Text
+
+{-# DEPRECATED STOCK_PREFERENCES ["(Since version 3.10)","Use named icon &quot;preferences-system&quot; or the label &quot;_Preferences&quot;."] #-}
+{- |
+The “Preferences” item and icon.
+-}
+pattern STOCK_PREFERENCES = "gtk-preferences" :: T.Text
+
+{-# DEPRECATED STOCK_PASTE ["(Since version 3.10)","Use named icon &quot;edit-paste&quot; or the label &quot;_Paste&quot;."] #-}
+{- |
+The “Paste” item and icon.
+-}
+pattern STOCK_PASTE = "gtk-paste" :: T.Text
+
+{-# DEPRECATED STOCK_PAGE_SETUP ["(Since version 3.10)","Use named icon &quot;document-page-setup&quot; or the label &quot;Page Set_up&quot;."] #-}
+{- |
+The “Page Setup” item and icon.
+
+/Since: 2.14/
+-}
+pattern STOCK_PAGE_SETUP = "gtk-page-setup" :: T.Text
+
+{-# DEPRECATED STOCK_ORIENTATION_REVERSE_PORTRAIT ["(Since version 3.10)"] #-}
+{- |
+The “Reverse Portrait Orientation” item and icon.
+
+/Since: 2.10/
+-}
+pattern STOCK_ORIENTATION_REVERSE_PORTRAIT = "gtk-orientation-reverse-portrait" :: T.Text
+
+{-# DEPRECATED STOCK_ORIENTATION_REVERSE_LANDSCAPE ["(Since version 3.10)"] #-}
+{- |
+The “Reverse Landscape Orientation” item and icon.
+
+/Since: 2.10/
+-}
+pattern STOCK_ORIENTATION_REVERSE_LANDSCAPE = "gtk-orientation-reverse-landscape" :: T.Text
+
+{-# DEPRECATED STOCK_ORIENTATION_PORTRAIT ["(Since version 3.10)"] #-}
+{- |
+The “Portrait Orientation” item and icon.
+
+/Since: 2.10/
+-}
+pattern STOCK_ORIENTATION_PORTRAIT = "gtk-orientation-portrait" :: T.Text
+
+{-# DEPRECATED STOCK_ORIENTATION_LANDSCAPE ["(Since version 3.10)"] #-}
+{- |
+The “Landscape Orientation” item and icon.
+
+/Since: 2.10/
+-}
+pattern STOCK_ORIENTATION_LANDSCAPE = "gtk-orientation-landscape" :: T.Text
+
+{-# DEPRECATED STOCK_OPEN ["(Since version 3.10)","Use named icon &quot;document-open&quot; or the label &quot;_Open&quot;."] #-}
+{- |
+The “Open” item and icon.
+-}
+pattern STOCK_OPEN = "gtk-open" :: T.Text
+
+{-# DEPRECATED STOCK_OK ["(Since version 3.10)","Do not use an icon. Use label &quot;_OK&quot;."] #-}
+{- |
+The “OK” item and icon.
+-}
+pattern STOCK_OK = "gtk-ok" :: T.Text
+
+{-# DEPRECATED STOCK_NO ["(Since version 3.10)"] #-}
+{- |
+The “No” item and icon.
+-}
+pattern STOCK_NO = "gtk-no" :: T.Text
+
+{-# DEPRECATED STOCK_NEW ["(Since version 3.10)","Use named icon &quot;document-new&quot; or the label &quot;_New&quot;."] #-}
+{- |
+The “New” item and icon.
+-}
+pattern STOCK_NEW = "gtk-new" :: T.Text
+
+{-# DEPRECATED STOCK_NETWORK ["(Since version 3.10)","Use named icon &quot;network-workgroup&quot;."] #-}
+{- |
+The “Network” item and icon.
+
+/Since: 2.4/
+-}
+pattern STOCK_NETWORK = "gtk-network" :: T.Text
+
+{-# DEPRECATED STOCK_MISSING_IMAGE ["(Since version 3.10)","Use named icon &quot;image-missing&quot;."] #-}
+{- |
+The “Missing image” icon.
+-}
+pattern STOCK_MISSING_IMAGE = "gtk-missing-image" :: T.Text
+
+{-# DEPRECATED STOCK_MEDIA_STOP ["(Since version 3.10)","Use named icon &quot;media-playback-stop&quot; or the label &quot;_Stop&quot;."] #-}
+{- |
+The “Media Stop” item and icon.
+
+/Since: 2.6/
+-}
+pattern STOCK_MEDIA_STOP = "gtk-media-stop" :: T.Text
+
+{-# DEPRECATED STOCK_MEDIA_REWIND ["(Since version 3.10)","Use named icon &quot;media-seek-backward&quot; or the label &quot;R_ewind&quot;."] #-}
+{- |
+The “Media Rewind” item and icon. The icon has an RTL variant.
+
+/Since: 2.6/
+-}
+pattern STOCK_MEDIA_REWIND = "gtk-media-rewind" :: T.Text
+
+{-# DEPRECATED STOCK_MEDIA_RECORD ["(Since version 3.10)","Use named icon &quot;media-record&quot; or the label &quot;_Record&quot;."] #-}
+{- |
+The “Media Record” item and icon.
+
+/Since: 2.6/
+-}
+pattern STOCK_MEDIA_RECORD = "gtk-media-record" :: T.Text
+
+{-# DEPRECATED STOCK_MEDIA_PREVIOUS ["(Since version 3.10)","Use named icon &quot;media-skip-backward&quot; or the label &quot;Pre_vious&quot;."] #-}
+{- |
+The “Media Previous” item and icon. The icon has an RTL variant.
+
+/Since: 2.6/
+-}
+pattern STOCK_MEDIA_PREVIOUS = "gtk-media-previous" :: T.Text
+
+{-# DEPRECATED STOCK_MEDIA_PLAY ["(Since version 3.10)","Use named icon &quot;media-playback-start&quot; or the label &quot;_Play&quot;."] #-}
+{- |
+The “Media Play” item and icon. The icon has an RTL variant.
+
+/Since: 2.6/
+-}
+pattern STOCK_MEDIA_PLAY = "gtk-media-play" :: T.Text
+
+{-# DEPRECATED STOCK_MEDIA_PAUSE ["(Since version 3.10)","Use named icon &quot;media-playback-pause&quot; or the label &quot;P_ause&quot;."] #-}
+{- |
+The “Media Pause” item and icon.
+
+/Since: 2.6/
+-}
+pattern STOCK_MEDIA_PAUSE = "gtk-media-pause" :: T.Text
+
+{-# DEPRECATED STOCK_MEDIA_NEXT ["(Since version 3.10)","Use named icon &quot;media-skip-forward&quot; or the label &quot;_Next&quot;."] #-}
+{- |
+The “Media Next” item and icon. The icon has an RTL variant.
+
+/Since: 2.6/
+-}
+pattern STOCK_MEDIA_NEXT = "gtk-media-next" :: T.Text
+
+{-# DEPRECATED STOCK_MEDIA_FORWARD ["(Since version 3.10)","Use named icon &quot;media-seek-forward&quot; or the label &quot;_Forward&quot;."] #-}
+{- |
+The “Media Forward” item and icon. The icon has an RTL variant.
+
+/Since: 2.6/
+-}
+pattern STOCK_MEDIA_FORWARD = "gtk-media-forward" :: T.Text
+
+{-# DEPRECATED STOCK_LEAVE_FULLSCREEN ["(Since version 3.10)","Use named icon &quot;view-restore&quot;."] #-}
+{- |
+The “Leave Fullscreen” item and icon.
+
+/Since: 2.8/
+-}
+pattern STOCK_LEAVE_FULLSCREEN = "gtk-leave-fullscreen" :: T.Text
+
+{-# DEPRECATED STOCK_JUSTIFY_RIGHT ["(Since version 3.10)","Use named icon &quot;format-justify-right&quot;."] #-}
+{- |
+The “Right” item and icon.
+-}
+pattern STOCK_JUSTIFY_RIGHT = "gtk-justify-right" :: T.Text
+
+{-# DEPRECATED STOCK_JUSTIFY_LEFT ["(Since version 3.10)","Use named icon &quot;format-justify-left&quot;."] #-}
+{- |
+The “Left” item and icon.
+-}
+pattern STOCK_JUSTIFY_LEFT = "gtk-justify-left" :: T.Text
+
+{-# DEPRECATED STOCK_JUSTIFY_FILL ["(Since version 3.10)","Use named icon &quot;format-justify-fill&quot;."] #-}
+{- |
+The “Fill” item and icon.
+-}
+pattern STOCK_JUSTIFY_FILL = "gtk-justify-fill" :: T.Text
+
+{-# DEPRECATED STOCK_JUSTIFY_CENTER ["(Since version 3.10)","Use named icon &quot;format-justify-center&quot;."] #-}
+{- |
+The “Center” item and icon.
+-}
+pattern STOCK_JUSTIFY_CENTER = "gtk-justify-center" :: T.Text
+
+{-# DEPRECATED STOCK_JUMP_TO ["(Since version 3.10)","Use named icon &quot;go-jump&quot;."] #-}
+{- |
+The “Jump to” item and icon. The icon has an RTL variant.
+-}
+pattern STOCK_JUMP_TO = "gtk-jump-to" :: T.Text
+
+{-# DEPRECATED STOCK_ITALIC ["(Since version 3.10)","Use named icon &quot;format-text-italic&quot;."] #-}
+{- |
+The “Italic” item and icon.
+-}
+pattern STOCK_ITALIC = "gtk-italic" :: T.Text
+
+{-# DEPRECATED STOCK_INFO ["(Since version 3.10)","Use named icon &quot;dialog-information&quot;."] #-}
+{- |
+The “Info” item and icon.
+
+/Since: 2.8/
+-}
+pattern STOCK_INFO = "gtk-info" :: T.Text
+
+{-# DEPRECATED STOCK_INDEX ["(Since version 3.10)"] #-}
+{- |
+The “Index” item and icon.
+-}
+pattern STOCK_INDEX = "gtk-index" :: T.Text
+
+{-# DEPRECATED STOCK_INDENT ["(Since version 3.10)","Use named icon &quot;format-indent-more&quot;."] #-}
+{- |
+The “Indent” item and icon. The icon has an RTL variant.
+
+/Since: 2.4/
+-}
+pattern STOCK_INDENT = "gtk-indent" :: T.Text
+
+{-# DEPRECATED STOCK_HOME ["(Since version 3.10)","Use named icon &quot;go-home&quot;."] #-}
+{- |
+The “Home” item and icon.
+-}
+pattern STOCK_HOME = "gtk-home" :: T.Text
+
+{-# DEPRECATED STOCK_HELP ["(Since version 3.10)","Use named icon &quot;help-browser&quot;."] #-}
+{- |
+The “Help” item and icon.
+-}
+pattern STOCK_HELP = "gtk-help" :: T.Text
+
+{-# DEPRECATED STOCK_HARDDISK ["(Since version 3.10)","Use named icon &quot;drive-harddisk&quot;."] #-}
+{- |
+The “Harddisk” item and icon.
+
+/Since: 2.4/
+-}
+pattern STOCK_HARDDISK = "gtk-harddisk" :: T.Text
+
+{-# DEPRECATED STOCK_GO_UP ["(Since version 3.10)","Use named icon &quot;go-up&quot;."] #-}
+{- |
+The “Up” item and icon.
+-}
+pattern STOCK_GO_UP = "gtk-go-up" :: T.Text
+
+{-# DEPRECATED STOCK_GO_FORWARD ["(Since version 3.10)","Use named icon &quot;go-next&quot;."] #-}
+{- |
+The “Forward” item and icon. The icon has an RTL variant.
+-}
+pattern STOCK_GO_FORWARD = "gtk-go-forward" :: T.Text
+
+{-# DEPRECATED STOCK_GO_DOWN ["(Since version 3.10)","Use named icon &quot;go-down&quot;."] #-}
+{- |
+The “Down” item and icon.
+-}
+pattern STOCK_GO_DOWN = "gtk-go-down" :: T.Text
+
+{-# DEPRECATED STOCK_GO_BACK ["(Since version 3.10)","Use named icon &quot;go-previous&quot;."] #-}
+{- |
+The “Back” item and icon. The icon has an RTL variant.
+-}
+pattern STOCK_GO_BACK = "gtk-go-back" :: T.Text
+
+{-# DEPRECATED STOCK_GOTO_TOP ["(Since version 3.10)","Use named icon &quot;go-top&quot;."] #-}
+{- |
+The “Top” item and icon.
+-}
+pattern STOCK_GOTO_TOP = "gtk-goto-top" :: T.Text
+
+{-# DEPRECATED STOCK_GOTO_LAST ["(Since version 3.10)","Use named icon &quot;go-last&quot;."] #-}
+{- |
+The “Last” item and icon. The icon has an RTL variant.
+-}
+pattern STOCK_GOTO_LAST = "gtk-goto-last" :: T.Text
+
+{-# DEPRECATED STOCK_GOTO_FIRST ["(Since version 3.10)","Use named icon &quot;go-first&quot;."] #-}
+{- |
+The “First” item and icon. The icon has an RTL variant.
+-}
+pattern STOCK_GOTO_FIRST = "gtk-goto-first" :: T.Text
+
+{-# DEPRECATED STOCK_GOTO_BOTTOM ["(Since version 3.10)","Use named icon &quot;go-bottom&quot;."] #-}
+{- |
+The “Bottom” item and icon.
+-}
+pattern STOCK_GOTO_BOTTOM = "gtk-goto-bottom" :: T.Text
+
+{-# DEPRECATED STOCK_FULLSCREEN ["(Since version 3.10)","Use named icon &quot;view-fullscreen&quot;."] #-}
+{- |
+The “Fullscreen” item and icon.
+
+/Since: 2.8/
+-}
+pattern STOCK_FULLSCREEN = "gtk-fullscreen" :: T.Text
+
+{-# DEPRECATED STOCK_FLOPPY ["(Since version 3.10)"] #-}
+{- |
+The “Floppy” item and icon.
+-}
+pattern STOCK_FLOPPY = "gtk-floppy" :: T.Text
+
+{-# DEPRECATED STOCK_FIND_AND_REPLACE ["(Since version 3.10)","Use named icon &quot;edit-find-replace&quot;."] #-}
+{- |
+The “Find and Replace” item and icon.
+-}
+pattern STOCK_FIND_AND_REPLACE = "gtk-find-and-replace" :: T.Text
+
+{-# DEPRECATED STOCK_FIND ["(Since version 3.10)","Use named icon &quot;edit-find&quot;."] #-}
+{- |
+The “Find” item and icon.
+-}
+pattern STOCK_FIND = "gtk-find" :: T.Text
+
+{-# DEPRECATED STOCK_FILE ["(Since version 3.10)","Use named icon &quot;text-x-generic&quot;."] #-}
+{- |
+The “File” item and icon.
+
+Since 3.0, this item has a label, before it only had an icon.
+
+/Since: 2.6/
+-}
+pattern STOCK_FILE = "gtk-file" :: T.Text
+
+{-# DEPRECATED STOCK_EXECUTE ["(Since version 3.10)","Use named icon &quot;system-run&quot;."] #-}
+{- |
+The “Execute” item and icon.
+-}
+pattern STOCK_EXECUTE = "gtk-execute" :: T.Text
+
+{-# DEPRECATED STOCK_EDIT ["(Since version 3.10)"] #-}
+{- |
+The “Edit” item and icon.
+
+/Since: 2.6/
+-}
+pattern STOCK_EDIT = "gtk-edit" :: T.Text
+
+{-# DEPRECATED STOCK_DND_MULTIPLE ["(Since version 3.10)"] #-}
+{- |
+The “Drag-And-Drop multiple” icon.
+-}
+pattern STOCK_DND_MULTIPLE = "gtk-dnd-multiple" :: T.Text
+
+{-# DEPRECATED STOCK_DND ["(Since version 3.10)"] #-}
+{- |
+The “Drag-And-Drop” icon.
+-}
+pattern STOCK_DND = "gtk-dnd" :: T.Text
+
+{-# DEPRECATED STOCK_DISCONNECT ["(Since version 3.10)"] #-}
+{- |
+The “Disconnect” icon.
+
+/Since: 2.6/
+-}
+pattern STOCK_DISCONNECT = "gtk-disconnect" :: T.Text
+
+{-# DEPRECATED STOCK_DISCARD ["(Since version 3.10)"] #-}
+{- |
+The “Discard” item.
+
+/Since: 2.12/
+-}
+pattern STOCK_DISCARD = "gtk-discard" :: T.Text
+
+{-# DEPRECATED STOCK_DIRECTORY ["(Since version 3.10)","Use named icon &quot;folder&quot;."] #-}
+{- |
+The “Directory” icon.
+
+/Since: 2.6/
+-}
+pattern STOCK_DIRECTORY = "gtk-directory" :: T.Text
+
+{-# DEPRECATED STOCK_DIALOG_WARNING ["(Since version 3.10)","Use named icon &quot;dialog-warning&quot;."] #-}
+{- |
+The “Warning” item and icon.
+-}
+pattern STOCK_DIALOG_WARNING = "gtk-dialog-warning" :: T.Text
+
+{-# DEPRECATED STOCK_DIALOG_QUESTION ["(Since version 3.10)","Use named icon &quot;dialog-question&quot;."] #-}
+{- |
+The “Question” item and icon.
+-}
+pattern STOCK_DIALOG_QUESTION = "gtk-dialog-question" :: T.Text
+
+{-# DEPRECATED STOCK_DIALOG_INFO ["(Since version 3.10)","Use named icon &quot;dialog-information&quot;."] #-}
+{- |
+The “Information” item and icon.
+-}
+pattern STOCK_DIALOG_INFO = "gtk-dialog-info" :: T.Text
+
+{-# DEPRECATED STOCK_DIALOG_ERROR ["(Since version 3.10)","Use named icon &quot;dialog-error&quot;."] #-}
+{- |
+The “Error” item and icon.
+-}
+pattern STOCK_DIALOG_ERROR = "gtk-dialog-error" :: T.Text
+
+{-# DEPRECATED STOCK_DIALOG_AUTHENTICATION ["(Since version 3.10)","Use named icon &quot;dialog-password&quot;."] #-}
+{- |
+The “Authentication” item and icon.
+
+/Since: 2.4/
+-}
+pattern STOCK_DIALOG_AUTHENTICATION = "gtk-dialog-authentication" :: T.Text
+
+{-# DEPRECATED STOCK_DELETE ["(Since version 3.10)","Use the named icon &quot;edit-delete&quot; or the label &quot;_Delete&quot;."] #-}
+{- |
+The “Delete” item and icon.
+-}
+pattern STOCK_DELETE = "gtk-delete" :: T.Text
+
+{-# DEPRECATED STOCK_CUT ["(Since version 3.10)","Use the named icon &quot;edit-cut&quot; or the label &quot;Cu_t&quot;."] #-}
+{- |
+The “Cut” item and icon.
+-}
+pattern STOCK_CUT = "gtk-cut" :: T.Text
+
+{-# DEPRECATED STOCK_COPY ["(Since version 3.10)","Use the named icon &quot;edit-copy&quot; or the label &quot;_Copy&quot;."] #-}
+{- |
+The “Copy” item and icon.
+-}
+pattern STOCK_COPY = "gtk-copy" :: T.Text
+
+{-# DEPRECATED STOCK_CONVERT ["(Since version 3.10)"] #-}
+{- |
+The “Convert” item and icon.
+-}
+pattern STOCK_CONVERT = "gtk-convert" :: T.Text
+
+{-# DEPRECATED STOCK_CONNECT ["(Since version 3.10)"] #-}
+{- |
+The “Connect” icon.
+
+/Since: 2.6/
+-}
+pattern STOCK_CONNECT = "gtk-connect" :: T.Text
+
+{-# DEPRECATED STOCK_COLOR_PICKER ["(Since version 3.10)"] #-}
+{- |
+The “Color Picker” item and icon.
+
+/Since: 2.2/
+-}
+pattern STOCK_COLOR_PICKER = "gtk-color-picker" :: T.Text
+
+{-# DEPRECATED STOCK_CLOSE ["(Since version 3.10)","Use named icon &quot;window-close&quot; or the label &quot;_Close&quot;."] #-}
+{- |
+The “Close” item and icon.
+-}
+pattern STOCK_CLOSE = "gtk-close" :: T.Text
+
+{-# DEPRECATED STOCK_CLEAR ["(Since version 3.10)","Use named icon &quot;edit-clear&quot;."] #-}
+{- |
+The “Clear” item and icon.
+-}
+pattern STOCK_CLEAR = "gtk-clear" :: T.Text
+
+{-# DEPRECATED STOCK_CDROM ["(Since version 3.10)","Use named icon &quot;media-optical&quot;."] #-}
+{- |
+The “CD-Rom” item and icon.
+-}
+pattern STOCK_CDROM = "gtk-cdrom" :: T.Text
+
+{-# DEPRECATED STOCK_CAPS_LOCK_WARNING ["(Since version 3.10)","Use named icon &quot;dialog-warning-symbolic&quot;."] #-}
+{- |
+The “Caps Lock Warning” icon.
+
+/Since: 2.16/
+-}
+pattern STOCK_CAPS_LOCK_WARNING = "gtk-caps-lock-warning" :: T.Text
+
+{-# DEPRECATED STOCK_CANCEL ["(Since version 3.10)","Do not use an icon. Use label &quot;_Cancel&quot;."] #-}
+{- |
+The “Cancel” item and icon.
+-}
+pattern STOCK_CANCEL = "gtk-cancel" :: T.Text
+
+{-# DEPRECATED STOCK_BOLD ["(Since version 3.10)","Use named icon &quot;format-text-bold&quot;."] #-}
+{- |
+The “Bold” item and icon.
+-}
+pattern STOCK_BOLD = "gtk-bold" :: T.Text
+
+{-# DEPRECATED STOCK_APPLY ["(Since version 3.10)","Do not use an icon. Use label &quot;_Apply&quot;."] #-}
+{- |
+The “Apply” item and icon.
+-}
+pattern STOCK_APPLY = "gtk-apply" :: T.Text
+
+{-# DEPRECATED STOCK_ADD ["(Since version 3.10)","Use named icon &quot;list-add&quot; or the label &quot;_Add&quot;."] #-}
+{- |
+The “Add” item and icon.
+-}
+pattern STOCK_ADD = "gtk-add" :: T.Text
+
+{-# DEPRECATED STOCK_ABOUT ["(Since version 3.10)","Use named icon &quot;help-about&quot; or the label &quot;_About&quot;."] #-}
+{- |
+The “About” item.
+<<https://developer.gnome.org/gtk3/stable/help-about.png>>
+
+/Since: 2.6/
+-}
+pattern STOCK_ABOUT = "gtk-about" :: T.Text
+
+{- |
+Use this priority for functionality related to size allocation.
+
+It is used internally by GTK+ to compute the sizes of widgets.
+This priority is higher than 'GI.Gdk.Constants.PRIORITY_REDRAW' to avoid
+resizing a widget which was just redrawn.
+-}
+pattern PRIORITY_RESIZE = 110 :: Int32
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_WIN32_DRIVER_VERSION = "win32-driver-version" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_WIN32_DRIVER_EXTRA = "win32-driver-extra" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_USE_COLOR = "use-color" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_SCALE = "scale" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_REVERSE = "reverse" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_RESOLUTION_Y = "resolution-y" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_RESOLUTION_X = "resolution-x" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_RESOLUTION = "resolution" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_QUALITY = "quality" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_PRINT_PAGES = "print-pages" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_PRINTER_LPI = "printer-lpi" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_PRINTER = "printer" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_PAPER_WIDTH = "paper-width" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_PAPER_HEIGHT = "paper-height" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_PAPER_FORMAT = "paper-format" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_PAGE_SET = "page-set" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_PAGE_RANGES = "page-ranges" :: T.Text
+
+{- |
+The key used by the “Print to file” printer to store the URI
+to which the output should be written. GTK+ itself supports
+only “file:\/\/” URIs.
+-}
+pattern PRINT_SETTINGS_OUTPUT_URI = "output-uri" :: T.Text
+
+{- |
+The key used by the “Print to file” printer to store the format
+of the output. The supported values are “PS” and “PDF”.
+-}
+pattern PRINT_SETTINGS_OUTPUT_FILE_FORMAT = "output-file-format" :: T.Text
+
+{- |
+The key used by the “Print to file” printer to store the
+directory to which the output should be written.
+
+/Since: 3.6/
+-}
+pattern PRINT_SETTINGS_OUTPUT_DIR = "output-dir" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_OUTPUT_BIN = "output-bin" :: T.Text
+
+{- |
+The key used by the “Print to file” printer to store the file
+name of the output without the path to the directory and the
+file extension.
+
+/Since: 3.6/
+-}
+pattern PRINT_SETTINGS_OUTPUT_BASENAME = "output-basename" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_ORIENTATION = "orientation" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_N_COPIES = "n-copies" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_NUMBER_UP_LAYOUT = "number-up-layout" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_NUMBER_UP = "number-up" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_MEDIA_TYPE = "media-type" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_FINISHINGS = "finishings" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_DUPLEX = "duplex" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_DITHER = "dither" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_DEFAULT_SOURCE = "default-source" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PRINT_SETTINGS_COLLATE = "collate" :: T.Text
+
+{- |
+/No description available in the introspection data./
+-}
+pattern PATH_PRIO_MASK = 15 :: Int32
+
+{- |
+Name for the Letter paper size.
+-}
+pattern PAPER_NAME_LETTER = "na_letter" :: T.Text
+
+{- |
+Name for the Legal paper size.
+-}
+pattern PAPER_NAME_LEGAL = "na_legal" :: T.Text
+
+{- |
+Name for the Executive paper size.
+-}
+pattern PAPER_NAME_EXECUTIVE = "na_executive" :: T.Text
+
+{- |
+Name for the B5 paper size.
+-}
+pattern PAPER_NAME_B5 = "iso_b5" :: T.Text
+
+{- |
+Name for the A5 paper size.
+-}
+pattern PAPER_NAME_A5 = "iso_a5" :: T.Text
+
+{- |
+Name for the A4 paper size.
+-}
+pattern PAPER_NAME_A4 = "iso_a4" :: T.Text
+
+{- |
+Name for the A3 paper size.
+-}
+pattern PAPER_NAME_A3 = "iso_a3" :: T.Text
+
+{- |
+Like 'GI.Gtk.Functions.getMinorVersion', but from the headers used at
+application compile time, rather than from the library linked
+against at application run time.
+-}
+pattern MINOR_VERSION = 24 :: Int32
+
+{- |
+Like 'GI.Gtk.Functions.getMicroVersion', but from the headers used at
+application compile time, rather than from the library linked
+against at application run time.
+-}
+pattern MICRO_VERSION = 8 :: Int32
+
+{- |
+The maximum length of sequences in compose tables.
+-}
+pattern MAX_COMPOSE_LEN = 7 :: Int32
+
+{- |
+Like 'GI.Gtk.Functions.getMajorVersion', but from the headers used at
+application compile time, rather than from the library linked
+against at application run time.
+-}
+pattern MAJOR_VERSION = 3 :: Int32
+
+{- |
+The name used for the stock low offset included by 'GI.Gtk.Objects.LevelBar.LevelBar'.
+
+/Since: 3.6/
+-}
+pattern LEVEL_BAR_OFFSET_LOW = "low" :: T.Text
+
+{- |
+The name used for the stock high offset included by 'GI.Gtk.Objects.LevelBar.LevelBar'.
+
+/Since: 3.6/
+-}
+pattern LEVEL_BAR_OFFSET_HIGH = "high" :: T.Text
+
+{- |
+The name used for the stock full offset included by 'GI.Gtk.Objects.LevelBar.LevelBar'.
+
+/Since: 3.20/
+-}
+pattern LEVEL_BAR_OFFSET_FULL = "full" :: T.Text
+
+{- |
+Like 'GI.Gtk.Functions.getInterfaceAge', but from the headers used at
+application compile time, rather than from the library linked
+against at application run time.
+-}
+pattern INTERFACE_AGE = 4 :: Int32
+
+{- |
+Constant to return from a signal handler for the 'GI.Gtk.Objects.SpinButton.SpinButton'::@/input/@
+signal in case of conversion failure.
+-}
+pattern INPUT_ERROR = -1 :: Int32
+
+{- |
+Like 'GI.Gtk.Functions.getBinaryAge', but from the headers used at
+application compile time, rather than from the library linked
+against at application run time.
+-}
+pattern BINARY_AGE = 2408 :: Int32
+
+
diff --git a/GI/Gtk/Enums.hs b/GI/Gtk/Enums.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Enums.hs
@@ -0,0 +1,6233 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Enums
+    ( 
+
+ -- * Enumerations
+-- ** Align #enum:Align#
+
+    Align(..)                               ,
+
+
+-- ** ArrowPlacement #enum:ArrowPlacement#
+
+    ArrowPlacement(..)                      ,
+
+
+-- ** ArrowType #enum:ArrowType#
+
+    ArrowType(..)                           ,
+
+
+-- ** AssistantPageType #enum:AssistantPageType#
+
+    AssistantPageType(..)                   ,
+
+
+-- ** BaselinePosition #enum:BaselinePosition#
+
+    BaselinePosition(..)                    ,
+
+
+-- ** BorderStyle #enum:BorderStyle#
+
+    BorderStyle(..)                         ,
+
+
+-- ** BuilderError #enum:BuilderError#
+
+    BuilderError(..)                        ,
+    catchBuilderError                       ,
+    handleBuilderError                      ,
+
+
+-- ** ButtonBoxStyle #enum:ButtonBoxStyle#
+
+    ButtonBoxStyle(..)                      ,
+
+
+-- ** ButtonRole #enum:ButtonRole#
+
+    ButtonRole(..)                          ,
+
+
+-- ** ButtonsType #enum:ButtonsType#
+
+    ButtonsType(..)                         ,
+
+
+-- ** CellRendererAccelMode #enum:CellRendererAccelMode#
+
+    CellRendererAccelMode(..)               ,
+
+
+-- ** CellRendererMode #enum:CellRendererMode#
+
+    CellRendererMode(..)                    ,
+
+
+-- ** CornerType #enum:CornerType#
+
+    CornerType(..)                          ,
+
+
+-- ** CssProviderError #enum:CssProviderError#
+
+    CssProviderError(..)                    ,
+    catchCssProviderError                   ,
+    handleCssProviderError                  ,
+
+
+-- ** CssSectionType #enum:CssSectionType#
+
+    CssSectionType(..)                      ,
+
+
+-- ** DeleteType #enum:DeleteType#
+
+    DeleteType(..)                          ,
+
+
+-- ** DirectionType #enum:DirectionType#
+
+    DirectionType(..)                       ,
+
+
+-- ** DragResult #enum:DragResult#
+
+    DragResult(..)                          ,
+
+
+-- ** EntryIconPosition #enum:EntryIconPosition#
+
+    EntryIconPosition(..)                   ,
+
+
+-- ** EventSequenceState #enum:EventSequenceState#
+
+    EventSequenceState(..)                  ,
+
+
+-- ** ExpanderStyle #enum:ExpanderStyle#
+
+    ExpanderStyle(..)                       ,
+
+
+-- ** FileChooserAction #enum:FileChooserAction#
+
+    FileChooserAction(..)                   ,
+
+
+-- ** FileChooserConfirmation #enum:FileChooserConfirmation#
+
+    FileChooserConfirmation(..)             ,
+
+
+-- ** FileChooserError #enum:FileChooserError#
+
+    FileChooserError(..)                    ,
+    catchFileChooserError                   ,
+    handleFileChooserError                  ,
+
+
+-- ** IMPreeditStyle #enum:IMPreeditStyle#
+
+    IMPreeditStyle(..)                      ,
+
+
+-- ** IMStatusStyle #enum:IMStatusStyle#
+
+    IMStatusStyle(..)                       ,
+
+
+-- ** IconSize #enum:IconSize#
+
+    IconSize(..)                            ,
+
+
+-- ** IconThemeError #enum:IconThemeError#
+
+    IconThemeError(..)                      ,
+    catchIconThemeError                     ,
+    handleIconThemeError                    ,
+
+
+-- ** IconViewDropPosition #enum:IconViewDropPosition#
+
+    IconViewDropPosition(..)                ,
+
+
+-- ** ImageType #enum:ImageType#
+
+    ImageType(..)                           ,
+
+
+-- ** InputPurpose #enum:InputPurpose#
+
+    InputPurpose(..)                        ,
+
+
+-- ** Justification #enum:Justification#
+
+    Justification(..)                       ,
+
+
+-- ** LevelBarMode #enum:LevelBarMode#
+
+    LevelBarMode(..)                        ,
+
+
+-- ** License #enum:License#
+
+    License(..)                             ,
+
+
+-- ** MenuDirectionType #enum:MenuDirectionType#
+
+    MenuDirectionType(..)                   ,
+
+
+-- ** MessageType #enum:MessageType#
+
+    MessageType(..)                         ,
+
+
+-- ** MovementStep #enum:MovementStep#
+
+    MovementStep(..)                        ,
+
+
+-- ** NotebookTab #enum:NotebookTab#
+
+    NotebookTab(..)                         ,
+
+
+-- ** NumberUpLayout #enum:NumberUpLayout#
+
+    NumberUpLayout(..)                      ,
+
+
+-- ** Orientation #enum:Orientation#
+
+    Orientation(..)                         ,
+
+
+-- ** PackDirection #enum:PackDirection#
+
+    PackDirection(..)                       ,
+
+
+-- ** PackType #enum:PackType#
+
+    PackType(..)                            ,
+
+
+-- ** PadActionType #enum:PadActionType#
+
+    PadActionType(..)                       ,
+
+
+-- ** PageOrientation #enum:PageOrientation#
+
+    PageOrientation(..)                     ,
+
+
+-- ** PageSet #enum:PageSet#
+
+    PageSet(..)                             ,
+
+
+-- ** PanDirection #enum:PanDirection#
+
+    PanDirection(..)                        ,
+
+
+-- ** PathPriorityType #enum:PathPriorityType#
+
+    PathPriorityType(..)                    ,
+
+
+-- ** PathType #enum:PathType#
+
+    PathType(..)                            ,
+
+
+-- ** PolicyType #enum:PolicyType#
+
+    PolicyType(..)                          ,
+
+
+-- ** PopoverConstraint #enum:PopoverConstraint#
+
+    PopoverConstraint(..)                   ,
+
+
+-- ** PositionType #enum:PositionType#
+
+    PositionType(..)                        ,
+
+
+-- ** PrintDuplex #enum:PrintDuplex#
+
+    PrintDuplex(..)                         ,
+
+
+-- ** PrintError #enum:PrintError#
+
+    PrintError(..)                          ,
+    catchPrintError                         ,
+    handlePrintError                        ,
+
+
+-- ** PrintOperationAction #enum:PrintOperationAction#
+
+    PrintOperationAction(..)                ,
+
+
+-- ** PrintOperationResult #enum:PrintOperationResult#
+
+    PrintOperationResult(..)                ,
+
+
+-- ** PrintPages #enum:PrintPages#
+
+    PrintPages(..)                          ,
+
+
+-- ** PrintQuality #enum:PrintQuality#
+
+    PrintQuality(..)                        ,
+
+
+-- ** PrintStatus #enum:PrintStatus#
+
+    PrintStatus(..)                         ,
+
+
+-- ** PropagationPhase #enum:PropagationPhase#
+
+    PropagationPhase(..)                    ,
+
+
+-- ** RcTokenType #enum:RcTokenType#
+
+    RcTokenType(..)                         ,
+
+
+-- ** RecentChooserError #enum:RecentChooserError#
+
+    RecentChooserError(..)                  ,
+    catchRecentChooserError                 ,
+    handleRecentChooserError                ,
+
+
+-- ** RecentManagerError #enum:RecentManagerError#
+
+    RecentManagerError(..)                  ,
+    catchRecentManagerError                 ,
+    handleRecentManagerError                ,
+
+
+-- ** RecentSortType #enum:RecentSortType#
+
+    RecentSortType(..)                      ,
+
+
+-- ** ReliefStyle #enum:ReliefStyle#
+
+    ReliefStyle(..)                         ,
+
+
+-- ** ResizeMode #enum:ResizeMode#
+
+    ResizeMode(..)                          ,
+
+
+-- ** ResponseType #enum:ResponseType#
+
+    ResponseType(..)                        ,
+
+
+-- ** RevealerTransitionType #enum:RevealerTransitionType#
+
+    RevealerTransitionType(..)              ,
+
+
+-- ** ScrollStep #enum:ScrollStep#
+
+    ScrollStep(..)                          ,
+
+
+-- ** ScrollType #enum:ScrollType#
+
+    ScrollType(..)                          ,
+
+
+-- ** ScrollablePolicy #enum:ScrollablePolicy#
+
+    ScrollablePolicy(..)                    ,
+
+
+-- ** SelectionMode #enum:SelectionMode#
+
+    SelectionMode(..)                       ,
+
+
+-- ** SensitivityType #enum:SensitivityType#
+
+    SensitivityType(..)                     ,
+
+
+-- ** ShadowType #enum:ShadowType#
+
+    ShadowType(..)                          ,
+
+
+-- ** ShortcutType #enum:ShortcutType#
+
+    ShortcutType(..)                        ,
+
+
+-- ** SizeGroupMode #enum:SizeGroupMode#
+
+    SizeGroupMode(..)                       ,
+
+
+-- ** SizeRequestMode #enum:SizeRequestMode#
+
+    SizeRequestMode(..)                     ,
+
+
+-- ** SortType #enum:SortType#
+
+    SortType(..)                            ,
+
+
+-- ** SpinButtonUpdatePolicy #enum:SpinButtonUpdatePolicy#
+
+    SpinButtonUpdatePolicy(..)              ,
+
+
+-- ** SpinType #enum:SpinType#
+
+    SpinType(..)                            ,
+
+
+-- ** StackTransitionType #enum:StackTransitionType#
+
+    StackTransitionType(..)                 ,
+
+
+-- ** StateType #enum:StateType#
+
+    StateType(..)                           ,
+
+
+-- ** TextBufferTargetInfo #enum:TextBufferTargetInfo#
+
+    TextBufferTargetInfo(..)                ,
+
+
+-- ** TextDirection #enum:TextDirection#
+
+    TextDirection(..)                       ,
+
+
+-- ** TextExtendSelection #enum:TextExtendSelection#
+
+    TextExtendSelection(..)                 ,
+
+
+-- ** TextViewLayer #enum:TextViewLayer#
+
+    TextViewLayer(..)                       ,
+
+
+-- ** TextWindowType #enum:TextWindowType#
+
+    TextWindowType(..)                      ,
+
+
+-- ** ToolbarSpaceStyle #enum:ToolbarSpaceStyle#
+
+    ToolbarSpaceStyle(..)                   ,
+
+
+-- ** ToolbarStyle #enum:ToolbarStyle#
+
+    ToolbarStyle(..)                        ,
+
+
+-- ** TreeViewColumnSizing #enum:TreeViewColumnSizing#
+
+    TreeViewColumnSizing(..)                ,
+
+
+-- ** TreeViewDropPosition #enum:TreeViewDropPosition#
+
+    TreeViewDropPosition(..)                ,
+
+
+-- ** TreeViewGridLines #enum:TreeViewGridLines#
+
+    TreeViewGridLines(..)                   ,
+
+
+-- ** Unit #enum:Unit#
+
+    Unit(..)                                ,
+
+
+-- ** WidgetHelpType #enum:WidgetHelpType#
+
+    WidgetHelpType(..)                      ,
+
+
+-- ** WindowPosition #enum:WindowPosition#
+
+    WindowPosition(..)                      ,
+
+
+-- ** WindowType #enum:WindowType#
+
+    WindowType(..)                          ,
+
+
+-- ** WrapMode #enum:WrapMode#
+
+    WrapMode(..)                            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- Enum WrapMode
+{- |
+Describes a type of line wrapping.
+-}
+data WrapMode = 
+      WrapModeNone
+    {- ^
+    do not wrap lines; just make the text area wider
+    -}
+    | WrapModeChar
+    {- ^
+    wrap text, breaking lines anywhere the cursor can
+        appear (between characters, usually - if you want to be technical,
+        between graphemes, see 'GI.Pango.Functions.getLogAttrs')
+    -}
+    | WrapModeWord
+    {- ^
+    wrap text, breaking lines in between words
+    -}
+    | WrapModeWordChar
+    {- ^
+    wrap text, breaking lines in between words, or if
+        that is not enough, also between graphemes
+    -}
+    | AnotherWrapMode Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum WrapMode where
+    fromEnum WrapModeNone = 0
+    fromEnum WrapModeChar = 1
+    fromEnum WrapModeWord = 2
+    fromEnum WrapModeWordChar = 3
+    fromEnum (AnotherWrapMode k) = k
+
+    toEnum 0 = WrapModeNone
+    toEnum 1 = WrapModeChar
+    toEnum 2 = WrapModeWord
+    toEnum 3 = WrapModeWordChar
+    toEnum k = AnotherWrapMode k
+
+instance P.Ord WrapMode where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_wrap_mode_get_type" c_gtk_wrap_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum WrapMode where
+    boxedEnumType _ = c_gtk_wrap_mode_get_type
+
+-- Enum WindowType
+{- |
+A 'GI.Gtk.Objects.Window.Window' can be one of these types. Most things you’d consider a
+“window” should have type @/GTK_WINDOW_TOPLEVEL/@; windows with this type
+are managed by the window manager and have a frame by default (call
+'GI.Gtk.Objects.Window.windowSetDecorated' to toggle the frame).  Windows with type
+@/GTK_WINDOW_POPUP/@ are ignored by the window manager; window manager
+keybindings won’t work on them, the window manager won’t decorate the
+window with a frame, many GTK+ features that rely on the window
+manager will not work (e.g. resize grips and
+maximization\/minimization). @/GTK_WINDOW_POPUP/@ is used to implement
+widgets such as 'GI.Gtk.Objects.Menu.Menu' or tooltips that you normally don’t think of
+as windows per se. Nearly all windows should be @/GTK_WINDOW_TOPLEVEL/@.
+In particular, do not use @/GTK_WINDOW_POPUP/@ just to turn off
+the window borders; use 'GI.Gtk.Objects.Window.windowSetDecorated' for that.
+-}
+data WindowType = 
+      WindowTypeToplevel
+    {- ^
+    A regular window, such as a dialog.
+    -}
+    | WindowTypePopup
+    {- ^
+    A special window such as a tooltip.
+    -}
+    | AnotherWindowType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum WindowType where
+    fromEnum WindowTypeToplevel = 0
+    fromEnum WindowTypePopup = 1
+    fromEnum (AnotherWindowType k) = k
+
+    toEnum 0 = WindowTypeToplevel
+    toEnum 1 = WindowTypePopup
+    toEnum k = AnotherWindowType k
+
+instance P.Ord WindowType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_window_type_get_type" c_gtk_window_type_get_type :: 
+    IO GType
+
+instance BoxedEnum WindowType where
+    boxedEnumType _ = c_gtk_window_type_get_type
+
+-- Enum WindowPosition
+{- |
+Window placement can be influenced using this enumeration. Note that
+using @/GTK_WIN_POS_CENTER_ALWAYS/@ is almost always a bad idea.
+It won’t necessarily work well with all window managers or on all windowing systems.
+-}
+data WindowPosition = 
+      WindowPositionNone
+    {- ^
+    No influence is made on placement.
+    -}
+    | WindowPositionCenter
+    {- ^
+    Windows should be placed in the center of the screen.
+    -}
+    | WindowPositionMouse
+    {- ^
+    Windows should be placed at the current mouse position.
+    -}
+    | WindowPositionCenterAlways
+    {- ^
+    Keep window centered as it changes size, etc.
+    -}
+    | WindowPositionCenterOnParent
+    {- ^
+    Center the window on its transient
+     parent (see 'GI.Gtk.Objects.Window.windowSetTransientFor').
+    -}
+    | AnotherWindowPosition Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum WindowPosition where
+    fromEnum WindowPositionNone = 0
+    fromEnum WindowPositionCenter = 1
+    fromEnum WindowPositionMouse = 2
+    fromEnum WindowPositionCenterAlways = 3
+    fromEnum WindowPositionCenterOnParent = 4
+    fromEnum (AnotherWindowPosition k) = k
+
+    toEnum 0 = WindowPositionNone
+    toEnum 1 = WindowPositionCenter
+    toEnum 2 = WindowPositionMouse
+    toEnum 3 = WindowPositionCenterAlways
+    toEnum 4 = WindowPositionCenterOnParent
+    toEnum k = AnotherWindowPosition k
+
+instance P.Ord WindowPosition where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_window_position_get_type" c_gtk_window_position_get_type :: 
+    IO GType
+
+instance BoxedEnum WindowPosition where
+    boxedEnumType _ = c_gtk_window_position_get_type
+
+-- Enum WidgetHelpType
+{- |
+Kinds of widget-specific help. Used by the ::show-help signal.
+-}
+data WidgetHelpType = 
+      WidgetHelpTypeTooltip
+    {- ^
+    Tooltip.
+    -}
+    | WidgetHelpTypeWhatsThis
+    {- ^
+    What’s this.
+    -}
+    | AnotherWidgetHelpType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum WidgetHelpType where
+    fromEnum WidgetHelpTypeTooltip = 0
+    fromEnum WidgetHelpTypeWhatsThis = 1
+    fromEnum (AnotherWidgetHelpType k) = k
+
+    toEnum 0 = WidgetHelpTypeTooltip
+    toEnum 1 = WidgetHelpTypeWhatsThis
+    toEnum k = AnotherWidgetHelpType k
+
+instance P.Ord WidgetHelpType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_widget_help_type_get_type" c_gtk_widget_help_type_get_type :: 
+    IO GType
+
+instance BoxedEnum WidgetHelpType where
+    boxedEnumType _ = c_gtk_widget_help_type_get_type
+
+-- Enum Unit
+{- |
+See also 'GI.Gtk.Objects.PrintSettings.printSettingsSetPaperWidth'.
+-}
+data Unit = 
+      UnitNone
+    {- ^
+    No units.
+    -}
+    | UnitPoints
+    {- ^
+    Dimensions in points.
+    -}
+    | UnitInch
+    {- ^
+    Dimensions in inches.
+    -}
+    | UnitMm
+    {- ^
+    Dimensions in millimeters
+    -}
+    | AnotherUnit Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum Unit where
+    fromEnum UnitNone = 0
+    fromEnum UnitPoints = 1
+    fromEnum UnitInch = 2
+    fromEnum UnitMm = 3
+    fromEnum (AnotherUnit k) = k
+
+    toEnum 0 = UnitNone
+    toEnum 1 = UnitPoints
+    toEnum 2 = UnitInch
+    toEnum 3 = UnitMm
+    toEnum k = AnotherUnit k
+
+instance P.Ord Unit where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_unit_get_type" c_gtk_unit_get_type :: 
+    IO GType
+
+instance BoxedEnum Unit where
+    boxedEnumType _ = c_gtk_unit_get_type
+
+-- Enum TreeViewGridLines
+{- |
+Used to indicate which grid lines to draw in a tree view.
+-}
+data TreeViewGridLines = 
+      TreeViewGridLinesNone
+    {- ^
+    No grid lines.
+    -}
+    | TreeViewGridLinesHorizontal
+    {- ^
+    Horizontal grid lines.
+    -}
+    | TreeViewGridLinesVertical
+    {- ^
+    Vertical grid lines.
+    -}
+    | TreeViewGridLinesBoth
+    {- ^
+    Horizontal and vertical grid lines.
+    -}
+    | AnotherTreeViewGridLines Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TreeViewGridLines where
+    fromEnum TreeViewGridLinesNone = 0
+    fromEnum TreeViewGridLinesHorizontal = 1
+    fromEnum TreeViewGridLinesVertical = 2
+    fromEnum TreeViewGridLinesBoth = 3
+    fromEnum (AnotherTreeViewGridLines k) = k
+
+    toEnum 0 = TreeViewGridLinesNone
+    toEnum 1 = TreeViewGridLinesHorizontal
+    toEnum 2 = TreeViewGridLinesVertical
+    toEnum 3 = TreeViewGridLinesBoth
+    toEnum k = AnotherTreeViewGridLines k
+
+instance P.Ord TreeViewGridLines where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_tree_view_grid_lines_get_type" c_gtk_tree_view_grid_lines_get_type :: 
+    IO GType
+
+instance BoxedEnum TreeViewGridLines where
+    boxedEnumType _ = c_gtk_tree_view_grid_lines_get_type
+
+-- Enum TreeViewDropPosition
+{- |
+An enum for determining where a dropped row goes.
+-}
+data TreeViewDropPosition = 
+      TreeViewDropPositionBefore
+    {- ^
+    dropped row is inserted before
+    -}
+    | TreeViewDropPositionAfter
+    {- ^
+    dropped row is inserted after
+    -}
+    | TreeViewDropPositionIntoOrBefore
+    {- ^
+    dropped row becomes a child or is inserted before
+    -}
+    | TreeViewDropPositionIntoOrAfter
+    {- ^
+    dropped row becomes a child or is inserted after
+    -}
+    | AnotherTreeViewDropPosition Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TreeViewDropPosition where
+    fromEnum TreeViewDropPositionBefore = 0
+    fromEnum TreeViewDropPositionAfter = 1
+    fromEnum TreeViewDropPositionIntoOrBefore = 2
+    fromEnum TreeViewDropPositionIntoOrAfter = 3
+    fromEnum (AnotherTreeViewDropPosition k) = k
+
+    toEnum 0 = TreeViewDropPositionBefore
+    toEnum 1 = TreeViewDropPositionAfter
+    toEnum 2 = TreeViewDropPositionIntoOrBefore
+    toEnum 3 = TreeViewDropPositionIntoOrAfter
+    toEnum k = AnotherTreeViewDropPosition k
+
+instance P.Ord TreeViewDropPosition where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_tree_view_drop_position_get_type" c_gtk_tree_view_drop_position_get_type :: 
+    IO GType
+
+instance BoxedEnum TreeViewDropPosition where
+    boxedEnumType _ = c_gtk_tree_view_drop_position_get_type
+
+-- Enum TreeViewColumnSizing
+{- |
+The sizing method the column uses to determine its width.  Please note
+that /@gTKTREEVIEWCOLUMNAUTOSIZE@/ are inefficient for large views, and
+can make columns appear choppy.
+-}
+data TreeViewColumnSizing = 
+      TreeViewColumnSizingGrowOnly
+    {- ^
+    Columns only get bigger in reaction to changes in the model
+    -}
+    | TreeViewColumnSizingAutosize
+    {- ^
+    Columns resize to be the optimal size everytime the model changes.
+    -}
+    | TreeViewColumnSizingFixed
+    {- ^
+    Columns are a fixed numbers of pixels wide.
+    -}
+    | AnotherTreeViewColumnSizing Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TreeViewColumnSizing where
+    fromEnum TreeViewColumnSizingGrowOnly = 0
+    fromEnum TreeViewColumnSizingAutosize = 1
+    fromEnum TreeViewColumnSizingFixed = 2
+    fromEnum (AnotherTreeViewColumnSizing k) = k
+
+    toEnum 0 = TreeViewColumnSizingGrowOnly
+    toEnum 1 = TreeViewColumnSizingAutosize
+    toEnum 2 = TreeViewColumnSizingFixed
+    toEnum k = AnotherTreeViewColumnSizing k
+
+instance P.Ord TreeViewColumnSizing where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_tree_view_column_sizing_get_type" c_gtk_tree_view_column_sizing_get_type :: 
+    IO GType
+
+instance BoxedEnum TreeViewColumnSizing where
+    boxedEnumType _ = c_gtk_tree_view_column_sizing_get_type
+
+-- Enum ToolbarStyle
+{- |
+Used to customize the appearance of a 'GI.Gtk.Objects.Toolbar.Toolbar'. Note that
+setting the toolbar style overrides the user’s preferences
+for the default toolbar style.  Note that if the button has only
+a label set and GTK_TOOLBAR_ICONS is used, the label will be
+visible, and vice versa.
+-}
+data ToolbarStyle = 
+      ToolbarStyleIcons
+    {- ^
+    Buttons display only icons in the toolbar.
+    -}
+    | ToolbarStyleText
+    {- ^
+    Buttons display only text labels in the toolbar.
+    -}
+    | ToolbarStyleBoth
+    {- ^
+    Buttons display text and icons in the toolbar.
+    -}
+    | ToolbarStyleBothHoriz
+    {- ^
+    Buttons display icons and text alongside each
+     other, rather than vertically stacked
+    -}
+    | AnotherToolbarStyle Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ToolbarStyle where
+    fromEnum ToolbarStyleIcons = 0
+    fromEnum ToolbarStyleText = 1
+    fromEnum ToolbarStyleBoth = 2
+    fromEnum ToolbarStyleBothHoriz = 3
+    fromEnum (AnotherToolbarStyle k) = k
+
+    toEnum 0 = ToolbarStyleIcons
+    toEnum 1 = ToolbarStyleText
+    toEnum 2 = ToolbarStyleBoth
+    toEnum 3 = ToolbarStyleBothHoriz
+    toEnum k = AnotherToolbarStyle k
+
+instance P.Ord ToolbarStyle where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_toolbar_style_get_type" c_gtk_toolbar_style_get_type :: 
+    IO GType
+
+instance BoxedEnum ToolbarStyle where
+    boxedEnumType _ = c_gtk_toolbar_style_get_type
+
+-- Enum ToolbarSpaceStyle
+{-# DEPRECATED ToolbarSpaceStyle ["(Since version 3.20)"] #-}
+{- |
+Whether spacers are vertical lines or just blank.
+-}
+data ToolbarSpaceStyle = 
+      ToolbarSpaceStyleEmpty
+    {- ^
+    Use blank spacers.
+    -}
+    | ToolbarSpaceStyleLine
+    {- ^
+    Use vertical lines for spacers.
+    -}
+    | AnotherToolbarSpaceStyle Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ToolbarSpaceStyle where
+    fromEnum ToolbarSpaceStyleEmpty = 0
+    fromEnum ToolbarSpaceStyleLine = 1
+    fromEnum (AnotherToolbarSpaceStyle k) = k
+
+    toEnum 0 = ToolbarSpaceStyleEmpty
+    toEnum 1 = ToolbarSpaceStyleLine
+    toEnum k = AnotherToolbarSpaceStyle k
+
+instance P.Ord ToolbarSpaceStyle where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_toolbar_space_style_get_type" c_gtk_toolbar_space_style_get_type :: 
+    IO GType
+
+instance BoxedEnum ToolbarSpaceStyle where
+    boxedEnumType _ = c_gtk_toolbar_space_style_get_type
+
+-- Enum TextWindowType
+{- |
+Used to reference the parts of 'GI.Gtk.Objects.TextView.TextView'.
+-}
+data TextWindowType = 
+      TextWindowTypePrivate
+    {- ^
+    Invalid value, used as a marker
+    -}
+    | TextWindowTypeWidget
+    {- ^
+    Window that floats over scrolling areas.
+    -}
+    | TextWindowTypeText
+    {- ^
+    Scrollable text window.
+    -}
+    | TextWindowTypeLeft
+    {- ^
+    Left side border window.
+    -}
+    | TextWindowTypeRight
+    {- ^
+    Right side border window.
+    -}
+    | TextWindowTypeTop
+    {- ^
+    Top border window.
+    -}
+    | TextWindowTypeBottom
+    {- ^
+    Bottom border window.
+    -}
+    | AnotherTextWindowType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TextWindowType where
+    fromEnum TextWindowTypePrivate = 0
+    fromEnum TextWindowTypeWidget = 1
+    fromEnum TextWindowTypeText = 2
+    fromEnum TextWindowTypeLeft = 3
+    fromEnum TextWindowTypeRight = 4
+    fromEnum TextWindowTypeTop = 5
+    fromEnum TextWindowTypeBottom = 6
+    fromEnum (AnotherTextWindowType k) = k
+
+    toEnum 0 = TextWindowTypePrivate
+    toEnum 1 = TextWindowTypeWidget
+    toEnum 2 = TextWindowTypeText
+    toEnum 3 = TextWindowTypeLeft
+    toEnum 4 = TextWindowTypeRight
+    toEnum 5 = TextWindowTypeTop
+    toEnum 6 = TextWindowTypeBottom
+    toEnum k = AnotherTextWindowType k
+
+instance P.Ord TextWindowType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_text_window_type_get_type" c_gtk_text_window_type_get_type :: 
+    IO GType
+
+instance BoxedEnum TextWindowType where
+    boxedEnumType _ = c_gtk_text_window_type_get_type
+
+-- Enum TextViewLayer
+{- |
+Used to reference the layers of 'GI.Gtk.Objects.TextView.TextView' for the purpose of customized
+drawing with the ::draw_layer vfunc.
+-}
+data TextViewLayer = 
+      TextViewLayerBelow
+    {- ^
+    Old deprecated layer, use 'GI.Gtk.Enums.TextViewLayerBelowText' instead
+    -}
+    | TextViewLayerAbove
+    {- ^
+    Old deprecated layer, use 'GI.Gtk.Enums.TextViewLayerAboveText' instead
+    -}
+    | TextViewLayerBelowText
+    {- ^
+    The layer rendered below the text (but above the background).  Since: 3.20
+    -}
+    | TextViewLayerAboveText
+    {- ^
+    The layer rendered above the text.  Since: 3.20
+    -}
+    | AnotherTextViewLayer Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TextViewLayer where
+    fromEnum TextViewLayerBelow = 0
+    fromEnum TextViewLayerAbove = 1
+    fromEnum TextViewLayerBelowText = 2
+    fromEnum TextViewLayerAboveText = 3
+    fromEnum (AnotherTextViewLayer k) = k
+
+    toEnum 0 = TextViewLayerBelow
+    toEnum 1 = TextViewLayerAbove
+    toEnum 2 = TextViewLayerBelowText
+    toEnum 3 = TextViewLayerAboveText
+    toEnum k = AnotherTextViewLayer k
+
+instance P.Ord TextViewLayer where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_text_view_layer_get_type" c_gtk_text_view_layer_get_type :: 
+    IO GType
+
+instance BoxedEnum TextViewLayer where
+    boxedEnumType _ = c_gtk_text_view_layer_get_type
+
+-- Enum TextExtendSelection
+{- |
+Granularity types that extend the text selection. Use the
+'GI.Gtk.Objects.TextView.TextView'::@/extend-selection/@ signal to customize the selection.
+
+/Since: 3.16/
+-}
+data TextExtendSelection = 
+      TextExtendSelectionWord
+    {- ^
+    Selects the current word. It is triggered by
+      a double-click for example.
+    -}
+    | TextExtendSelectionLine
+    {- ^
+    Selects the current line. It is triggered by
+      a triple-click for example.
+    -}
+    | AnotherTextExtendSelection Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TextExtendSelection where
+    fromEnum TextExtendSelectionWord = 0
+    fromEnum TextExtendSelectionLine = 1
+    fromEnum (AnotherTextExtendSelection k) = k
+
+    toEnum 0 = TextExtendSelectionWord
+    toEnum 1 = TextExtendSelectionLine
+    toEnum k = AnotherTextExtendSelection k
+
+instance P.Ord TextExtendSelection where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_text_extend_selection_get_type" c_gtk_text_extend_selection_get_type :: 
+    IO GType
+
+instance BoxedEnum TextExtendSelection where
+    boxedEnumType _ = c_gtk_text_extend_selection_get_type
+
+-- Enum TextDirection
+{- |
+Reading directions for text.
+-}
+data TextDirection = 
+      TextDirectionNone
+    {- ^
+    No direction.
+    -}
+    | TextDirectionLtr
+    {- ^
+    Left to right text direction.
+    -}
+    | TextDirectionRtl
+    {- ^
+    Right to left text direction.
+    -}
+    | AnotherTextDirection Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TextDirection where
+    fromEnum TextDirectionNone = 0
+    fromEnum TextDirectionLtr = 1
+    fromEnum TextDirectionRtl = 2
+    fromEnum (AnotherTextDirection k) = k
+
+    toEnum 0 = TextDirectionNone
+    toEnum 1 = TextDirectionLtr
+    toEnum 2 = TextDirectionRtl
+    toEnum k = AnotherTextDirection k
+
+instance P.Ord TextDirection where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_text_direction_get_type" c_gtk_text_direction_get_type :: 
+    IO GType
+
+instance BoxedEnum TextDirection where
+    boxedEnumType _ = c_gtk_text_direction_get_type
+
+-- Enum TextBufferTargetInfo
+{- |
+These values are used as “info” for the targets contained in the
+lists returned by 'GI.Gtk.Objects.TextBuffer.textBufferGetCopyTargetList' and
+'GI.Gtk.Objects.TextBuffer.textBufferGetPasteTargetList'.
+
+The values counts down from @-1@ to avoid clashes
+with application added drag destinations which usually start at 0.
+-}
+data TextBufferTargetInfo = 
+      TextBufferTargetInfoBufferContents
+    {- ^
+    Buffer contents
+    -}
+    | TextBufferTargetInfoRichText
+    {- ^
+    Rich text
+    -}
+    | TextBufferTargetInfoText
+    {- ^
+    Text
+    -}
+    | AnotherTextBufferTargetInfo Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TextBufferTargetInfo where
+    fromEnum TextBufferTargetInfoBufferContents = -1
+    fromEnum TextBufferTargetInfoRichText = -2
+    fromEnum TextBufferTargetInfoText = -3
+    fromEnum (AnotherTextBufferTargetInfo k) = k
+
+    toEnum -1 = TextBufferTargetInfoBufferContents
+    toEnum -2 = TextBufferTargetInfoRichText
+    toEnum -3 = TextBufferTargetInfoText
+    toEnum k = AnotherTextBufferTargetInfo k
+
+instance P.Ord TextBufferTargetInfo where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_text_buffer_target_info_get_type" c_gtk_text_buffer_target_info_get_type :: 
+    IO GType
+
+instance BoxedEnum TextBufferTargetInfo where
+    boxedEnumType _ = c_gtk_text_buffer_target_info_get_type
+
+-- Enum StateType
+{-# DEPRECATED StateType ["(Since version 3.14)","All APIs that are using this enumeration have been deprecated","    in favor of alternatives using 'GI.Gtk.Flags.StateFlags'."] #-}
+{- |
+This type indicates the current state of a widget; the state determines how
+the widget is drawn. The 'GI.Gtk.Enums.StateType' enumeration is also used to
+identify different colors in a 'GI.Gtk.Objects.Style.Style' for drawing, so states can be
+used for subparts of a widget as well as entire widgets.
+-}
+data StateType = 
+      StateTypeNormal
+    {- ^
+    State during normal operation.
+    -}
+    | StateTypeActive
+    {- ^
+    State of a currently active widget, such as a depressed button.
+    -}
+    | StateTypePrelight
+    {- ^
+    State indicating that the mouse pointer is over
+                         the widget and the widget will respond to mouse clicks.
+    -}
+    | StateTypeSelected
+    {- ^
+    State of a selected item, such the selected row in a list.
+    -}
+    | StateTypeInsensitive
+    {- ^
+    State indicating that the widget is
+                            unresponsive to user actions.
+    -}
+    | StateTypeInconsistent
+    {- ^
+    The widget is inconsistent, such as checkbuttons
+                             or radiobuttons that aren’t either set to 'True' nor 'False',
+                             or buttons requiring the user attention.
+    -}
+    | StateTypeFocused
+    {- ^
+    The widget has the keyboard focus.
+    -}
+    | AnotherStateType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum StateType where
+    fromEnum StateTypeNormal = 0
+    fromEnum StateTypeActive = 1
+    fromEnum StateTypePrelight = 2
+    fromEnum StateTypeSelected = 3
+    fromEnum StateTypeInsensitive = 4
+    fromEnum StateTypeInconsistent = 5
+    fromEnum StateTypeFocused = 6
+    fromEnum (AnotherStateType k) = k
+
+    toEnum 0 = StateTypeNormal
+    toEnum 1 = StateTypeActive
+    toEnum 2 = StateTypePrelight
+    toEnum 3 = StateTypeSelected
+    toEnum 4 = StateTypeInsensitive
+    toEnum 5 = StateTypeInconsistent
+    toEnum 6 = StateTypeFocused
+    toEnum k = AnotherStateType k
+
+instance P.Ord StateType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_state_type_get_type" c_gtk_state_type_get_type :: 
+    IO GType
+
+instance BoxedEnum StateType where
+    boxedEnumType _ = c_gtk_state_type_get_type
+
+-- Enum StackTransitionType
+{- |
+These enumeration values describe the possible transitions
+between pages in a 'GI.Gtk.Objects.Stack.Stack' widget.
+
+New values may be added to this enumeration over time.
+-}
+data StackTransitionType = 
+      StackTransitionTypeNone
+    {- ^
+    No transition
+    -}
+    | StackTransitionTypeCrossfade
+    {- ^
+    A cross-fade
+    -}
+    | StackTransitionTypeSlideRight
+    {- ^
+    Slide from left to right
+    -}
+    | StackTransitionTypeSlideLeft
+    {- ^
+    Slide from right to left
+    -}
+    | StackTransitionTypeSlideUp
+    {- ^
+    Slide from bottom up
+    -}
+    | StackTransitionTypeSlideDown
+    {- ^
+    Slide from top down
+    -}
+    | StackTransitionTypeSlideLeftRight
+    {- ^
+    Slide from left or right according to the children order
+    -}
+    | StackTransitionTypeSlideUpDown
+    {- ^
+    Slide from top down or bottom up according to the order
+    -}
+    | StackTransitionTypeOverUp
+    {- ^
+    Cover the old page by sliding up. Since 3.12
+    -}
+    | StackTransitionTypeOverDown
+    {- ^
+    Cover the old page by sliding down. Since: 3.12
+    -}
+    | StackTransitionTypeOverLeft
+    {- ^
+    Cover the old page by sliding to the left. Since: 3.12
+    -}
+    | StackTransitionTypeOverRight
+    {- ^
+    Cover the old page by sliding to the right. Since: 3.12
+    -}
+    | StackTransitionTypeUnderUp
+    {- ^
+    Uncover the new page by sliding up. Since 3.12
+    -}
+    | StackTransitionTypeUnderDown
+    {- ^
+    Uncover the new page by sliding down. Since: 3.12
+    -}
+    | StackTransitionTypeUnderLeft
+    {- ^
+    Uncover the new page by sliding to the left. Since: 3.12
+    -}
+    | StackTransitionTypeUnderRight
+    {- ^
+    Uncover the new page by sliding to the right. Since: 3.12
+    -}
+    | StackTransitionTypeOverUpDown
+    {- ^
+    Cover the old page sliding up or uncover the new page sliding down, according to order. Since: 3.12
+    -}
+    | StackTransitionTypeOverDownUp
+    {- ^
+    Cover the old page sliding down or uncover the new page sliding up, according to order. Since: 3.14
+    -}
+    | StackTransitionTypeOverLeftRight
+    {- ^
+    Cover the old page sliding left or uncover the new page sliding right, according to order. Since: 3.14
+    -}
+    | StackTransitionTypeOverRightLeft
+    {- ^
+    Cover the old page sliding right or uncover the new page sliding left, according to order. Since: 3.14
+    -}
+    | AnotherStackTransitionType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum StackTransitionType where
+    fromEnum StackTransitionTypeNone = 0
+    fromEnum StackTransitionTypeCrossfade = 1
+    fromEnum StackTransitionTypeSlideRight = 2
+    fromEnum StackTransitionTypeSlideLeft = 3
+    fromEnum StackTransitionTypeSlideUp = 4
+    fromEnum StackTransitionTypeSlideDown = 5
+    fromEnum StackTransitionTypeSlideLeftRight = 6
+    fromEnum StackTransitionTypeSlideUpDown = 7
+    fromEnum StackTransitionTypeOverUp = 8
+    fromEnum StackTransitionTypeOverDown = 9
+    fromEnum StackTransitionTypeOverLeft = 10
+    fromEnum StackTransitionTypeOverRight = 11
+    fromEnum StackTransitionTypeUnderUp = 12
+    fromEnum StackTransitionTypeUnderDown = 13
+    fromEnum StackTransitionTypeUnderLeft = 14
+    fromEnum StackTransitionTypeUnderRight = 15
+    fromEnum StackTransitionTypeOverUpDown = 16
+    fromEnum StackTransitionTypeOverDownUp = 17
+    fromEnum StackTransitionTypeOverLeftRight = 18
+    fromEnum StackTransitionTypeOverRightLeft = 19
+    fromEnum (AnotherStackTransitionType k) = k
+
+    toEnum 0 = StackTransitionTypeNone
+    toEnum 1 = StackTransitionTypeCrossfade
+    toEnum 2 = StackTransitionTypeSlideRight
+    toEnum 3 = StackTransitionTypeSlideLeft
+    toEnum 4 = StackTransitionTypeSlideUp
+    toEnum 5 = StackTransitionTypeSlideDown
+    toEnum 6 = StackTransitionTypeSlideLeftRight
+    toEnum 7 = StackTransitionTypeSlideUpDown
+    toEnum 8 = StackTransitionTypeOverUp
+    toEnum 9 = StackTransitionTypeOverDown
+    toEnum 10 = StackTransitionTypeOverLeft
+    toEnum 11 = StackTransitionTypeOverRight
+    toEnum 12 = StackTransitionTypeUnderUp
+    toEnum 13 = StackTransitionTypeUnderDown
+    toEnum 14 = StackTransitionTypeUnderLeft
+    toEnum 15 = StackTransitionTypeUnderRight
+    toEnum 16 = StackTransitionTypeOverUpDown
+    toEnum 17 = StackTransitionTypeOverDownUp
+    toEnum 18 = StackTransitionTypeOverLeftRight
+    toEnum 19 = StackTransitionTypeOverRightLeft
+    toEnum k = AnotherStackTransitionType k
+
+instance P.Ord StackTransitionType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_stack_transition_type_get_type" c_gtk_stack_transition_type_get_type :: 
+    IO GType
+
+instance BoxedEnum StackTransitionType where
+    boxedEnumType _ = c_gtk_stack_transition_type_get_type
+
+-- Enum SpinType
+{- |
+The values of the GtkSpinType enumeration are used to specify the
+change to make in 'GI.Gtk.Objects.SpinButton.spinButtonSpin'.
+-}
+data SpinType = 
+      SpinTypeStepForward
+    {- ^
+    Increment by the adjustments step increment.
+    -}
+    | SpinTypeStepBackward
+    {- ^
+    Decrement by the adjustments step increment.
+    -}
+    | SpinTypePageForward
+    {- ^
+    Increment by the adjustments page increment.
+    -}
+    | SpinTypePageBackward
+    {- ^
+    Decrement by the adjustments page increment.
+    -}
+    | SpinTypeHome
+    {- ^
+    Go to the adjustments lower bound.
+    -}
+    | SpinTypeEnd
+    {- ^
+    Go to the adjustments upper bound.
+    -}
+    | SpinTypeUserDefined
+    {- ^
+    Change by a specified amount.
+    -}
+    | AnotherSpinType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum SpinType where
+    fromEnum SpinTypeStepForward = 0
+    fromEnum SpinTypeStepBackward = 1
+    fromEnum SpinTypePageForward = 2
+    fromEnum SpinTypePageBackward = 3
+    fromEnum SpinTypeHome = 4
+    fromEnum SpinTypeEnd = 5
+    fromEnum SpinTypeUserDefined = 6
+    fromEnum (AnotherSpinType k) = k
+
+    toEnum 0 = SpinTypeStepForward
+    toEnum 1 = SpinTypeStepBackward
+    toEnum 2 = SpinTypePageForward
+    toEnum 3 = SpinTypePageBackward
+    toEnum 4 = SpinTypeHome
+    toEnum 5 = SpinTypeEnd
+    toEnum 6 = SpinTypeUserDefined
+    toEnum k = AnotherSpinType k
+
+instance P.Ord SpinType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_spin_type_get_type" c_gtk_spin_type_get_type :: 
+    IO GType
+
+instance BoxedEnum SpinType where
+    boxedEnumType _ = c_gtk_spin_type_get_type
+
+-- Enum SpinButtonUpdatePolicy
+{- |
+The spin button update policy determines whether the spin button displays
+values even if they are outside the bounds of its adjustment.
+See 'GI.Gtk.Objects.SpinButton.spinButtonSetUpdatePolicy'.
+-}
+data SpinButtonUpdatePolicy = 
+      SpinButtonUpdatePolicyAlways
+    {- ^
+    When refreshing your 'GI.Gtk.Objects.SpinButton.SpinButton', the value is
+        always displayed
+    -}
+    | SpinButtonUpdatePolicyIfValid
+    {- ^
+    When refreshing your 'GI.Gtk.Objects.SpinButton.SpinButton', the value is
+        only displayed if it is valid within the bounds of the spin button\'s
+        adjustment
+    -}
+    | AnotherSpinButtonUpdatePolicy Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum SpinButtonUpdatePolicy where
+    fromEnum SpinButtonUpdatePolicyAlways = 0
+    fromEnum SpinButtonUpdatePolicyIfValid = 1
+    fromEnum (AnotherSpinButtonUpdatePolicy k) = k
+
+    toEnum 0 = SpinButtonUpdatePolicyAlways
+    toEnum 1 = SpinButtonUpdatePolicyIfValid
+    toEnum k = AnotherSpinButtonUpdatePolicy k
+
+instance P.Ord SpinButtonUpdatePolicy where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_spin_button_update_policy_get_type" c_gtk_spin_button_update_policy_get_type :: 
+    IO GType
+
+instance BoxedEnum SpinButtonUpdatePolicy where
+    boxedEnumType _ = c_gtk_spin_button_update_policy_get_type
+
+-- Enum SortType
+{- |
+Determines the direction of a sort.
+-}
+data SortType = 
+      SortTypeAscending
+    {- ^
+    Sorting is in ascending order.
+    -}
+    | SortTypeDescending
+    {- ^
+    Sorting is in descending order.
+    -}
+    | AnotherSortType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum SortType where
+    fromEnum SortTypeAscending = 0
+    fromEnum SortTypeDescending = 1
+    fromEnum (AnotherSortType k) = k
+
+    toEnum 0 = SortTypeAscending
+    toEnum 1 = SortTypeDescending
+    toEnum k = AnotherSortType k
+
+instance P.Ord SortType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_sort_type_get_type" c_gtk_sort_type_get_type :: 
+    IO GType
+
+instance BoxedEnum SortType where
+    boxedEnumType _ = c_gtk_sort_type_get_type
+
+-- Enum SizeRequestMode
+{- |
+Specifies a preference for height-for-width or
+width-for-height geometry management.
+-}
+data SizeRequestMode = 
+      SizeRequestModeHeightForWidth
+    {- ^
+    Prefer height-for-width geometry management
+    -}
+    | SizeRequestModeWidthForHeight
+    {- ^
+    Prefer width-for-height geometry management
+    -}
+    | SizeRequestModeConstantSize
+    {- ^
+    Don’t trade height-for-width or width-for-height
+    -}
+    | AnotherSizeRequestMode Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum SizeRequestMode where
+    fromEnum SizeRequestModeHeightForWidth = 0
+    fromEnum SizeRequestModeWidthForHeight = 1
+    fromEnum SizeRequestModeConstantSize = 2
+    fromEnum (AnotherSizeRequestMode k) = k
+
+    toEnum 0 = SizeRequestModeHeightForWidth
+    toEnum 1 = SizeRequestModeWidthForHeight
+    toEnum 2 = SizeRequestModeConstantSize
+    toEnum k = AnotherSizeRequestMode k
+
+instance P.Ord SizeRequestMode where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_size_request_mode_get_type" c_gtk_size_request_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum SizeRequestMode where
+    boxedEnumType _ = c_gtk_size_request_mode_get_type
+
+-- Enum SizeGroupMode
+{- |
+The mode of the size group determines the directions in which the size
+group affects the requested sizes of its component widgets.
+-}
+data SizeGroupMode = 
+      SizeGroupModeNone
+    {- ^
+    group has no effect
+    -}
+    | SizeGroupModeHorizontal
+    {- ^
+    group affects horizontal requisition
+    -}
+    | SizeGroupModeVertical
+    {- ^
+    group affects vertical requisition
+    -}
+    | SizeGroupModeBoth
+    {- ^
+    group affects both horizontal and vertical requisition
+    -}
+    | AnotherSizeGroupMode Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum SizeGroupMode where
+    fromEnum SizeGroupModeNone = 0
+    fromEnum SizeGroupModeHorizontal = 1
+    fromEnum SizeGroupModeVertical = 2
+    fromEnum SizeGroupModeBoth = 3
+    fromEnum (AnotherSizeGroupMode k) = k
+
+    toEnum 0 = SizeGroupModeNone
+    toEnum 1 = SizeGroupModeHorizontal
+    toEnum 2 = SizeGroupModeVertical
+    toEnum 3 = SizeGroupModeBoth
+    toEnum k = AnotherSizeGroupMode k
+
+instance P.Ord SizeGroupMode where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_size_group_mode_get_type" c_gtk_size_group_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum SizeGroupMode where
+    boxedEnumType _ = c_gtk_size_group_mode_get_type
+
+-- Enum ShortcutType
+{- |
+GtkShortcutType specifies the kind of shortcut that is being described.
+More values may be added to this enumeration over time.
+
+/Since: 3.20/
+-}
+data ShortcutType = 
+      ShortcutTypeAccelerator
+    {- ^
+    The shortcut is a keyboard accelerator. The 'GI.Gtk.Objects.ShortcutsShortcut.ShortcutsShortcut':@/accelerator/@
+      property will be used.
+    -}
+    | ShortcutTypeGesturePinch
+    {- ^
+    The shortcut is a pinch gesture. GTK+ provides an icon and subtitle.
+    -}
+    | ShortcutTypeGestureStretch
+    {- ^
+    The shortcut is a stretch gesture. GTK+ provides an icon and subtitle.
+    -}
+    | ShortcutTypeGestureRotateClockwise
+    {- ^
+    The shortcut is a clockwise rotation gesture. GTK+ provides an icon and subtitle.
+    -}
+    | ShortcutTypeGestureRotateCounterclockwise
+    {- ^
+    The shortcut is a counterclockwise rotation gesture. GTK+ provides an icon and subtitle.
+    -}
+    | ShortcutTypeGestureTwoFingerSwipeLeft
+    {- ^
+    The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
+    -}
+    | ShortcutTypeGestureTwoFingerSwipeRight
+    {- ^
+    The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
+    -}
+    | ShortcutTypeGesture
+    {- ^
+    The shortcut is a gesture. The 'GI.Gtk.Objects.ShortcutsShortcut.ShortcutsShortcut':@/icon/@ property will be
+      used.
+    -}
+    | AnotherShortcutType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ShortcutType where
+    fromEnum ShortcutTypeAccelerator = 0
+    fromEnum ShortcutTypeGesturePinch = 1
+    fromEnum ShortcutTypeGestureStretch = 2
+    fromEnum ShortcutTypeGestureRotateClockwise = 3
+    fromEnum ShortcutTypeGestureRotateCounterclockwise = 4
+    fromEnum ShortcutTypeGestureTwoFingerSwipeLeft = 5
+    fromEnum ShortcutTypeGestureTwoFingerSwipeRight = 6
+    fromEnum ShortcutTypeGesture = 7
+    fromEnum (AnotherShortcutType k) = k
+
+    toEnum 0 = ShortcutTypeAccelerator
+    toEnum 1 = ShortcutTypeGesturePinch
+    toEnum 2 = ShortcutTypeGestureStretch
+    toEnum 3 = ShortcutTypeGestureRotateClockwise
+    toEnum 4 = ShortcutTypeGestureRotateCounterclockwise
+    toEnum 5 = ShortcutTypeGestureTwoFingerSwipeLeft
+    toEnum 6 = ShortcutTypeGestureTwoFingerSwipeRight
+    toEnum 7 = ShortcutTypeGesture
+    toEnum k = AnotherShortcutType k
+
+instance P.Ord ShortcutType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_shortcut_type_get_type" c_gtk_shortcut_type_get_type :: 
+    IO GType
+
+instance BoxedEnum ShortcutType where
+    boxedEnumType _ = c_gtk_shortcut_type_get_type
+
+-- Enum ShadowType
+{- |
+Used to change the appearance of an outline typically provided by a 'GI.Gtk.Objects.Frame.Frame'.
+
+Note that many themes do not differentiate the appearance of the
+various shadow types: Either their is no visible shadow (/@gTKSHADOWNONE@/),
+or there is (any other value).
+-}
+data ShadowType = 
+      ShadowTypeNone
+    {- ^
+    No outline.
+    -}
+    | ShadowTypeIn
+    {- ^
+    The outline is bevelled inwards.
+    -}
+    | ShadowTypeOut
+    {- ^
+    The outline is bevelled outwards like a button.
+    -}
+    | ShadowTypeEtchedIn
+    {- ^
+    The outline has a sunken 3d appearance.
+    -}
+    | ShadowTypeEtchedOut
+    {- ^
+    The outline has a raised 3d appearance.
+    -}
+    | AnotherShadowType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ShadowType where
+    fromEnum ShadowTypeNone = 0
+    fromEnum ShadowTypeIn = 1
+    fromEnum ShadowTypeOut = 2
+    fromEnum ShadowTypeEtchedIn = 3
+    fromEnum ShadowTypeEtchedOut = 4
+    fromEnum (AnotherShadowType k) = k
+
+    toEnum 0 = ShadowTypeNone
+    toEnum 1 = ShadowTypeIn
+    toEnum 2 = ShadowTypeOut
+    toEnum 3 = ShadowTypeEtchedIn
+    toEnum 4 = ShadowTypeEtchedOut
+    toEnum k = AnotherShadowType k
+
+instance P.Ord ShadowType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_shadow_type_get_type" c_gtk_shadow_type_get_type :: 
+    IO GType
+
+instance BoxedEnum ShadowType where
+    boxedEnumType _ = c_gtk_shadow_type_get_type
+
+-- Enum SensitivityType
+{- |
+Determines how GTK+ handles the sensitivity of stepper arrows
+at the end of range widgets.
+-}
+data SensitivityType = 
+      SensitivityTypeAuto
+    {- ^
+    The arrow is made insensitive if the
+      thumb is at the end
+    -}
+    | SensitivityTypeOn
+    {- ^
+    The arrow is always sensitive
+    -}
+    | SensitivityTypeOff
+    {- ^
+    The arrow is always insensitive
+    -}
+    | AnotherSensitivityType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum SensitivityType where
+    fromEnum SensitivityTypeAuto = 0
+    fromEnum SensitivityTypeOn = 1
+    fromEnum SensitivityTypeOff = 2
+    fromEnum (AnotherSensitivityType k) = k
+
+    toEnum 0 = SensitivityTypeAuto
+    toEnum 1 = SensitivityTypeOn
+    toEnum 2 = SensitivityTypeOff
+    toEnum k = AnotherSensitivityType k
+
+instance P.Ord SensitivityType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_sensitivity_type_get_type" c_gtk_sensitivity_type_get_type :: 
+    IO GType
+
+instance BoxedEnum SensitivityType where
+    boxedEnumType _ = c_gtk_sensitivity_type_get_type
+
+-- Enum SelectionMode
+{- |
+Used to control what selections users are allowed to make.
+-}
+data SelectionMode = 
+      SelectionModeNone
+    {- ^
+    No selection is possible.
+    -}
+    | SelectionModeSingle
+    {- ^
+    Zero or one element may be selected.
+    -}
+    | SelectionModeBrowse
+    {- ^
+    Exactly one element is selected.
+        In some circumstances, such as initially or during a search
+        operation, it’s possible for no element to be selected with
+        'GI.Gtk.Enums.SelectionModeBrowse'. What is really enforced is that the user
+        can’t deselect a currently selected element except by selecting
+        another element.
+    -}
+    | SelectionModeMultiple
+    {- ^
+    Any number of elements may be selected.
+         The Ctrl key may be used to enlarge the selection, and Shift
+         key to select between the focus and the child pointed to.
+         Some widgets may also allow Click-drag to select a range of elements.
+    -}
+    | AnotherSelectionMode Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum SelectionMode where
+    fromEnum SelectionModeNone = 0
+    fromEnum SelectionModeSingle = 1
+    fromEnum SelectionModeBrowse = 2
+    fromEnum SelectionModeMultiple = 3
+    fromEnum (AnotherSelectionMode k) = k
+
+    toEnum 0 = SelectionModeNone
+    toEnum 1 = SelectionModeSingle
+    toEnum 2 = SelectionModeBrowse
+    toEnum 3 = SelectionModeMultiple
+    toEnum k = AnotherSelectionMode k
+
+instance P.Ord SelectionMode where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_selection_mode_get_type" c_gtk_selection_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum SelectionMode where
+    boxedEnumType _ = c_gtk_selection_mode_get_type
+
+-- Enum ScrollablePolicy
+{- |
+Defines the policy to be used in a scrollable widget when updating
+the scrolled window adjustments in a given orientation.
+-}
+data ScrollablePolicy = 
+      ScrollablePolicyMinimum
+    {- ^
+    Scrollable adjustments are based on the minimum size
+    -}
+    | ScrollablePolicyNatural
+    {- ^
+    Scrollable adjustments are based on the natural size
+    -}
+    | AnotherScrollablePolicy Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ScrollablePolicy where
+    fromEnum ScrollablePolicyMinimum = 0
+    fromEnum ScrollablePolicyNatural = 1
+    fromEnum (AnotherScrollablePolicy k) = k
+
+    toEnum 0 = ScrollablePolicyMinimum
+    toEnum 1 = ScrollablePolicyNatural
+    toEnum k = AnotherScrollablePolicy k
+
+instance P.Ord ScrollablePolicy where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_scrollable_policy_get_type" c_gtk_scrollable_policy_get_type :: 
+    IO GType
+
+instance BoxedEnum ScrollablePolicy where
+    boxedEnumType _ = c_gtk_scrollable_policy_get_type
+
+-- Enum ScrollType
+{- |
+Scrolling types.
+-}
+data ScrollType = 
+      ScrollTypeNone
+    {- ^
+    No scrolling.
+    -}
+    | ScrollTypeJump
+    {- ^
+    Jump to new location.
+    -}
+    | ScrollTypeStepBackward
+    {- ^
+    Step backward.
+    -}
+    | ScrollTypeStepForward
+    {- ^
+    Step forward.
+    -}
+    | ScrollTypePageBackward
+    {- ^
+    Page backward.
+    -}
+    | ScrollTypePageForward
+    {- ^
+    Page forward.
+    -}
+    | ScrollTypeStepUp
+    {- ^
+    Step up.
+    -}
+    | ScrollTypeStepDown
+    {- ^
+    Step down.
+    -}
+    | ScrollTypePageUp
+    {- ^
+    Page up.
+    -}
+    | ScrollTypePageDown
+    {- ^
+    Page down.
+    -}
+    | ScrollTypeStepLeft
+    {- ^
+    Step to the left.
+    -}
+    | ScrollTypeStepRight
+    {- ^
+    Step to the right.
+    -}
+    | ScrollTypePageLeft
+    {- ^
+    Page to the left.
+    -}
+    | ScrollTypePageRight
+    {- ^
+    Page to the right.
+    -}
+    | ScrollTypeStart
+    {- ^
+    Scroll to start.
+    -}
+    | ScrollTypeEnd
+    {- ^
+    Scroll to end.
+    -}
+    | AnotherScrollType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ScrollType where
+    fromEnum ScrollTypeNone = 0
+    fromEnum ScrollTypeJump = 1
+    fromEnum ScrollTypeStepBackward = 2
+    fromEnum ScrollTypeStepForward = 3
+    fromEnum ScrollTypePageBackward = 4
+    fromEnum ScrollTypePageForward = 5
+    fromEnum ScrollTypeStepUp = 6
+    fromEnum ScrollTypeStepDown = 7
+    fromEnum ScrollTypePageUp = 8
+    fromEnum ScrollTypePageDown = 9
+    fromEnum ScrollTypeStepLeft = 10
+    fromEnum ScrollTypeStepRight = 11
+    fromEnum ScrollTypePageLeft = 12
+    fromEnum ScrollTypePageRight = 13
+    fromEnum ScrollTypeStart = 14
+    fromEnum ScrollTypeEnd = 15
+    fromEnum (AnotherScrollType k) = k
+
+    toEnum 0 = ScrollTypeNone
+    toEnum 1 = ScrollTypeJump
+    toEnum 2 = ScrollTypeStepBackward
+    toEnum 3 = ScrollTypeStepForward
+    toEnum 4 = ScrollTypePageBackward
+    toEnum 5 = ScrollTypePageForward
+    toEnum 6 = ScrollTypeStepUp
+    toEnum 7 = ScrollTypeStepDown
+    toEnum 8 = ScrollTypePageUp
+    toEnum 9 = ScrollTypePageDown
+    toEnum 10 = ScrollTypeStepLeft
+    toEnum 11 = ScrollTypeStepRight
+    toEnum 12 = ScrollTypePageLeft
+    toEnum 13 = ScrollTypePageRight
+    toEnum 14 = ScrollTypeStart
+    toEnum 15 = ScrollTypeEnd
+    toEnum k = AnotherScrollType k
+
+instance P.Ord ScrollType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_scroll_type_get_type" c_gtk_scroll_type_get_type :: 
+    IO GType
+
+instance BoxedEnum ScrollType where
+    boxedEnumType _ = c_gtk_scroll_type_get_type
+
+-- Enum ScrollStep
+{- |
+/No description available in the introspection data./
+-}
+data ScrollStep = 
+      ScrollStepSteps
+    {- ^
+    Scroll in steps.
+    -}
+    | ScrollStepPages
+    {- ^
+    Scroll by pages.
+    -}
+    | ScrollStepEnds
+    {- ^
+    Scroll to ends.
+    -}
+    | ScrollStepHorizontalSteps
+    {- ^
+    Scroll in horizontal steps.
+    -}
+    | ScrollStepHorizontalPages
+    {- ^
+    Scroll by horizontal pages.
+    -}
+    | ScrollStepHorizontalEnds
+    {- ^
+    Scroll to the horizontal ends.
+    -}
+    | AnotherScrollStep Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ScrollStep where
+    fromEnum ScrollStepSteps = 0
+    fromEnum ScrollStepPages = 1
+    fromEnum ScrollStepEnds = 2
+    fromEnum ScrollStepHorizontalSteps = 3
+    fromEnum ScrollStepHorizontalPages = 4
+    fromEnum ScrollStepHorizontalEnds = 5
+    fromEnum (AnotherScrollStep k) = k
+
+    toEnum 0 = ScrollStepSteps
+    toEnum 1 = ScrollStepPages
+    toEnum 2 = ScrollStepEnds
+    toEnum 3 = ScrollStepHorizontalSteps
+    toEnum 4 = ScrollStepHorizontalPages
+    toEnum 5 = ScrollStepHorizontalEnds
+    toEnum k = AnotherScrollStep k
+
+instance P.Ord ScrollStep where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_scroll_step_get_type" c_gtk_scroll_step_get_type :: 
+    IO GType
+
+instance BoxedEnum ScrollStep where
+    boxedEnumType _ = c_gtk_scroll_step_get_type
+
+-- Enum RevealerTransitionType
+{- |
+These enumeration values describe the possible transitions
+when the child of a 'GI.Gtk.Objects.Revealer.Revealer' widget is shown or hidden.
+-}
+data RevealerTransitionType = 
+      RevealerTransitionTypeNone
+    {- ^
+    No transition
+    -}
+    | RevealerTransitionTypeCrossfade
+    {- ^
+    Fade in
+    -}
+    | RevealerTransitionTypeSlideRight
+    {- ^
+    Slide in from the left
+    -}
+    | RevealerTransitionTypeSlideLeft
+    {- ^
+    Slide in from the right
+    -}
+    | RevealerTransitionTypeSlideUp
+    {- ^
+    Slide in from the bottom
+    -}
+    | RevealerTransitionTypeSlideDown
+    {- ^
+    Slide in from the top
+    -}
+    | AnotherRevealerTransitionType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum RevealerTransitionType where
+    fromEnum RevealerTransitionTypeNone = 0
+    fromEnum RevealerTransitionTypeCrossfade = 1
+    fromEnum RevealerTransitionTypeSlideRight = 2
+    fromEnum RevealerTransitionTypeSlideLeft = 3
+    fromEnum RevealerTransitionTypeSlideUp = 4
+    fromEnum RevealerTransitionTypeSlideDown = 5
+    fromEnum (AnotherRevealerTransitionType k) = k
+
+    toEnum 0 = RevealerTransitionTypeNone
+    toEnum 1 = RevealerTransitionTypeCrossfade
+    toEnum 2 = RevealerTransitionTypeSlideRight
+    toEnum 3 = RevealerTransitionTypeSlideLeft
+    toEnum 4 = RevealerTransitionTypeSlideUp
+    toEnum 5 = RevealerTransitionTypeSlideDown
+    toEnum k = AnotherRevealerTransitionType k
+
+instance P.Ord RevealerTransitionType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_revealer_transition_type_get_type" c_gtk_revealer_transition_type_get_type :: 
+    IO GType
+
+instance BoxedEnum RevealerTransitionType where
+    boxedEnumType _ = c_gtk_revealer_transition_type_get_type
+
+-- Enum ResponseType
+{- |
+Predefined values for use as response ids in 'GI.Gtk.Objects.Dialog.dialogAddButton'.
+All predefined values are negative; GTK+ leaves values of 0 or greater for
+application-defined response ids.
+-}
+data ResponseType = 
+      ResponseTypeNone
+    {- ^
+    Returned if an action widget has no response id,
+        or if the dialog gets programmatically hidden or destroyed
+    -}
+    | ResponseTypeReject
+    {- ^
+    Generic response id, not used by GTK+ dialogs
+    -}
+    | ResponseTypeAccept
+    {- ^
+    Generic response id, not used by GTK+ dialogs
+    -}
+    | ResponseTypeDeleteEvent
+    {- ^
+    Returned if the dialog is deleted
+    -}
+    | ResponseTypeOk
+    {- ^
+    Returned by OK buttons in GTK+ dialogs
+    -}
+    | ResponseTypeCancel
+    {- ^
+    Returned by Cancel buttons in GTK+ dialogs
+    -}
+    | ResponseTypeClose
+    {- ^
+    Returned by Close buttons in GTK+ dialogs
+    -}
+    | ResponseTypeYes
+    {- ^
+    Returned by Yes buttons in GTK+ dialogs
+    -}
+    | ResponseTypeNo
+    {- ^
+    Returned by No buttons in GTK+ dialogs
+    -}
+    | ResponseTypeApply
+    {- ^
+    Returned by Apply buttons in GTK+ dialogs
+    -}
+    | ResponseTypeHelp
+    {- ^
+    Returned by Help buttons in GTK+ dialogs
+    -}
+    | AnotherResponseType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ResponseType where
+    fromEnum ResponseTypeNone = -1
+    fromEnum ResponseTypeReject = -2
+    fromEnum ResponseTypeAccept = -3
+    fromEnum ResponseTypeDeleteEvent = -4
+    fromEnum ResponseTypeOk = -5
+    fromEnum ResponseTypeCancel = -6
+    fromEnum ResponseTypeClose = -7
+    fromEnum ResponseTypeYes = -8
+    fromEnum ResponseTypeNo = -9
+    fromEnum ResponseTypeApply = -10
+    fromEnum ResponseTypeHelp = -11
+    fromEnum (AnotherResponseType k) = k
+
+    toEnum -1 = ResponseTypeNone
+    toEnum -2 = ResponseTypeReject
+    toEnum -3 = ResponseTypeAccept
+    toEnum -4 = ResponseTypeDeleteEvent
+    toEnum -5 = ResponseTypeOk
+    toEnum -6 = ResponseTypeCancel
+    toEnum -7 = ResponseTypeClose
+    toEnum -8 = ResponseTypeYes
+    toEnum -9 = ResponseTypeNo
+    toEnum -10 = ResponseTypeApply
+    toEnum -11 = ResponseTypeHelp
+    toEnum k = AnotherResponseType k
+
+instance P.Ord ResponseType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_response_type_get_type" c_gtk_response_type_get_type :: 
+    IO GType
+
+instance BoxedEnum ResponseType where
+    boxedEnumType _ = c_gtk_response_type_get_type
+
+-- Enum ResizeMode
+{- |
+/No description available in the introspection data./
+-}
+data ResizeMode = 
+      ResizeModeParent
+    {- ^
+    Pass resize request to the parent
+    -}
+    | ResizeModeQueue
+    {- ^
+    Queue resizes on this widget
+    -}
+    | ResizeModeImmediate
+    {- ^
+    Resize immediately. Deprecated.
+    -}
+    | AnotherResizeMode Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ResizeMode where
+    fromEnum ResizeModeParent = 0
+    fromEnum ResizeModeQueue = 1
+    fromEnum ResizeModeImmediate = 2
+    fromEnum (AnotherResizeMode k) = k
+
+    toEnum 0 = ResizeModeParent
+    toEnum 1 = ResizeModeQueue
+    toEnum 2 = ResizeModeImmediate
+    toEnum k = AnotherResizeMode k
+
+instance P.Ord ResizeMode where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_resize_mode_get_type" c_gtk_resize_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum ResizeMode where
+    boxedEnumType _ = c_gtk_resize_mode_get_type
+
+-- Enum ReliefStyle
+{- |
+Indicated the relief to be drawn around a 'GI.Gtk.Objects.Button.Button'.
+-}
+data ReliefStyle = 
+      ReliefStyleNormal
+    {- ^
+    Draw a normal relief.
+    -}
+    | ReliefStyleHalf
+    {- ^
+    A half relief. Deprecated in 3.14, does the same as /@gTKRELIEFNORMAL@/
+    -}
+    | ReliefStyleNone
+    {- ^
+    No relief.
+    -}
+    | AnotherReliefStyle Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ReliefStyle where
+    fromEnum ReliefStyleNormal = 0
+    fromEnum ReliefStyleHalf = 1
+    fromEnum ReliefStyleNone = 2
+    fromEnum (AnotherReliefStyle k) = k
+
+    toEnum 0 = ReliefStyleNormal
+    toEnum 1 = ReliefStyleHalf
+    toEnum 2 = ReliefStyleNone
+    toEnum k = AnotherReliefStyle k
+
+instance P.Ord ReliefStyle where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_relief_style_get_type" c_gtk_relief_style_get_type :: 
+    IO GType
+
+instance BoxedEnum ReliefStyle where
+    boxedEnumType _ = c_gtk_relief_style_get_type
+
+-- Enum RecentSortType
+{- |
+Used to specify the sorting method to be applyed to the recently
+used resource list.
+
+/Since: 2.10/
+-}
+data RecentSortType = 
+      RecentSortTypeNone
+    {- ^
+    Do not sort the returned list of recently used
+      resources.
+    -}
+    | RecentSortTypeMru
+    {- ^
+    Sort the returned list with the most recently used
+      items first.
+    -}
+    | RecentSortTypeLru
+    {- ^
+    Sort the returned list with the least recently used
+      items first.
+    -}
+    | RecentSortTypeCustom
+    {- ^
+    Sort the returned list using a custom sorting
+      function passed using 'GI.Gtk.Interfaces.RecentChooser.recentChooserSetSortFunc'.
+    -}
+    | AnotherRecentSortType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum RecentSortType where
+    fromEnum RecentSortTypeNone = 0
+    fromEnum RecentSortTypeMru = 1
+    fromEnum RecentSortTypeLru = 2
+    fromEnum RecentSortTypeCustom = 3
+    fromEnum (AnotherRecentSortType k) = k
+
+    toEnum 0 = RecentSortTypeNone
+    toEnum 1 = RecentSortTypeMru
+    toEnum 2 = RecentSortTypeLru
+    toEnum 3 = RecentSortTypeCustom
+    toEnum k = AnotherRecentSortType k
+
+instance P.Ord RecentSortType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_recent_sort_type_get_type" c_gtk_recent_sort_type_get_type :: 
+    IO GType
+
+instance BoxedEnum RecentSortType where
+    boxedEnumType _ = c_gtk_recent_sort_type_get_type
+
+-- Enum RecentManagerError
+{- |
+Error codes for 'GI.Gtk.Objects.RecentManager.RecentManager' operations
+
+/Since: 2.10/
+-}
+data RecentManagerError = 
+      RecentManagerErrorNotFound
+    {- ^
+    the URI specified does not exists in
+      the recently used resources list.
+    -}
+    | RecentManagerErrorInvalidUri
+    {- ^
+    the URI specified is not valid.
+    -}
+    | RecentManagerErrorInvalidEncoding
+    {- ^
+    the supplied string is not
+      UTF-8 encoded.
+    -}
+    | RecentManagerErrorNotRegistered
+    {- ^
+    no application has registered
+      the specified item.
+    -}
+    | RecentManagerErrorRead
+    {- ^
+    failure while reading the recently used
+      resources file.
+    -}
+    | RecentManagerErrorWrite
+    {- ^
+    failure while writing the recently used
+      resources file.
+    -}
+    | RecentManagerErrorUnknown
+    {- ^
+    unspecified error.
+    -}
+    | AnotherRecentManagerError Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum RecentManagerError where
+    fromEnum RecentManagerErrorNotFound = 0
+    fromEnum RecentManagerErrorInvalidUri = 1
+    fromEnum RecentManagerErrorInvalidEncoding = 2
+    fromEnum RecentManagerErrorNotRegistered = 3
+    fromEnum RecentManagerErrorRead = 4
+    fromEnum RecentManagerErrorWrite = 5
+    fromEnum RecentManagerErrorUnknown = 6
+    fromEnum (AnotherRecentManagerError k) = k
+
+    toEnum 0 = RecentManagerErrorNotFound
+    toEnum 1 = RecentManagerErrorInvalidUri
+    toEnum 2 = RecentManagerErrorInvalidEncoding
+    toEnum 3 = RecentManagerErrorNotRegistered
+    toEnum 4 = RecentManagerErrorRead
+    toEnum 5 = RecentManagerErrorWrite
+    toEnum 6 = RecentManagerErrorUnknown
+    toEnum k = AnotherRecentManagerError k
+
+instance P.Ord RecentManagerError where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+instance GErrorClass RecentManagerError where
+    gerrorClassDomain _ = "gtk-recent-manager-error-quark"
+
+-- | Catch exceptions of type `RecentManagerError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.
+catchRecentManagerError ::
+    IO a ->
+    (RecentManagerError -> GErrorMessage -> IO a) ->
+    IO a
+catchRecentManagerError = catchGErrorJustDomain
+
+-- | Handle exceptions of type `RecentManagerError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.
+handleRecentManagerError ::
+    (RecentManagerError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleRecentManagerError = handleGErrorJustDomain
+
+foreign import ccall "gtk_recent_manager_error_get_type" c_gtk_recent_manager_error_get_type :: 
+    IO GType
+
+instance BoxedEnum RecentManagerError where
+    boxedEnumType _ = c_gtk_recent_manager_error_get_type
+
+-- Enum RecentChooserError
+{- |
+These identify the various errors that can occur while calling
+'GI.Gtk.Interfaces.RecentChooser.RecentChooser' functions.
+
+/Since: 2.10/
+-}
+data RecentChooserError = 
+      RecentChooserErrorNotFound
+    {- ^
+    Indicates that a file does not exist
+    -}
+    | RecentChooserErrorInvalidUri
+    {- ^
+    Indicates a malformed URI
+    -}
+    | AnotherRecentChooserError Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum RecentChooserError where
+    fromEnum RecentChooserErrorNotFound = 0
+    fromEnum RecentChooserErrorInvalidUri = 1
+    fromEnum (AnotherRecentChooserError k) = k
+
+    toEnum 0 = RecentChooserErrorNotFound
+    toEnum 1 = RecentChooserErrorInvalidUri
+    toEnum k = AnotherRecentChooserError k
+
+instance P.Ord RecentChooserError where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+instance GErrorClass RecentChooserError where
+    gerrorClassDomain _ = "gtk-recent-chooser-error-quark"
+
+-- | Catch exceptions of type `RecentChooserError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.
+catchRecentChooserError ::
+    IO a ->
+    (RecentChooserError -> GErrorMessage -> IO a) ->
+    IO a
+catchRecentChooserError = catchGErrorJustDomain
+
+-- | Handle exceptions of type `RecentChooserError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.
+handleRecentChooserError ::
+    (RecentChooserError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleRecentChooserError = handleGErrorJustDomain
+
+foreign import ccall "gtk_recent_chooser_error_get_type" c_gtk_recent_chooser_error_get_type :: 
+    IO GType
+
+instance BoxedEnum RecentChooserError where
+    boxedEnumType _ = c_gtk_recent_chooser_error_get_type
+
+-- Enum RcTokenType
+{-# DEPRECATED RcTokenType ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+The 'GI.Gtk.Enums.RcTokenType' enumeration represents the tokens
+in the RC file. It is exposed so that theme engines
+can reuse these tokens when parsing the theme-engine
+specific portions of a RC file.
+-}
+data RcTokenType = 
+      RcTokenTypeInvalid
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeInclude
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeNormal
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeActive
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypePrelight
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeSelected
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeInsensitive
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeFg
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeBg
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeText
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeBase
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeXthickness
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeYthickness
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeFont
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeFontset
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeFontName
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeBgPixmap
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypePixmapPath
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeStyle
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeBinding
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeBind
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeWidget
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeWidgetClass
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeClass
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeLowest
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeGtk
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeApplication
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeTheme
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeRc
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeHighest
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeEngine
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeModulePath
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeImModulePath
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeImModuleFile
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeStock
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeLtr
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeRtl
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeColor
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeUnbind
+    {- ^
+    Deprecated
+    -}
+    | RcTokenTypeLast
+    {- ^
+    Deprecated
+    -}
+    | AnotherRcTokenType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum RcTokenType where
+    fromEnum RcTokenTypeInvalid = 270
+    fromEnum RcTokenTypeInclude = 271
+    fromEnum RcTokenTypeNormal = 272
+    fromEnum RcTokenTypeActive = 273
+    fromEnum RcTokenTypePrelight = 274
+    fromEnum RcTokenTypeSelected = 275
+    fromEnum RcTokenTypeInsensitive = 276
+    fromEnum RcTokenTypeFg = 277
+    fromEnum RcTokenTypeBg = 278
+    fromEnum RcTokenTypeText = 279
+    fromEnum RcTokenTypeBase = 280
+    fromEnum RcTokenTypeXthickness = 281
+    fromEnum RcTokenTypeYthickness = 282
+    fromEnum RcTokenTypeFont = 283
+    fromEnum RcTokenTypeFontset = 284
+    fromEnum RcTokenTypeFontName = 285
+    fromEnum RcTokenTypeBgPixmap = 286
+    fromEnum RcTokenTypePixmapPath = 287
+    fromEnum RcTokenTypeStyle = 288
+    fromEnum RcTokenTypeBinding = 289
+    fromEnum RcTokenTypeBind = 290
+    fromEnum RcTokenTypeWidget = 291
+    fromEnum RcTokenTypeWidgetClass = 292
+    fromEnum RcTokenTypeClass = 293
+    fromEnum RcTokenTypeLowest = 294
+    fromEnum RcTokenTypeGtk = 295
+    fromEnum RcTokenTypeApplication = 296
+    fromEnum RcTokenTypeTheme = 297
+    fromEnum RcTokenTypeRc = 298
+    fromEnum RcTokenTypeHighest = 299
+    fromEnum RcTokenTypeEngine = 300
+    fromEnum RcTokenTypeModulePath = 301
+    fromEnum RcTokenTypeImModulePath = 302
+    fromEnum RcTokenTypeImModuleFile = 303
+    fromEnum RcTokenTypeStock = 304
+    fromEnum RcTokenTypeLtr = 305
+    fromEnum RcTokenTypeRtl = 306
+    fromEnum RcTokenTypeColor = 307
+    fromEnum RcTokenTypeUnbind = 308
+    fromEnum RcTokenTypeLast = 309
+    fromEnum (AnotherRcTokenType k) = k
+
+    toEnum 270 = RcTokenTypeInvalid
+    toEnum 271 = RcTokenTypeInclude
+    toEnum 272 = RcTokenTypeNormal
+    toEnum 273 = RcTokenTypeActive
+    toEnum 274 = RcTokenTypePrelight
+    toEnum 275 = RcTokenTypeSelected
+    toEnum 276 = RcTokenTypeInsensitive
+    toEnum 277 = RcTokenTypeFg
+    toEnum 278 = RcTokenTypeBg
+    toEnum 279 = RcTokenTypeText
+    toEnum 280 = RcTokenTypeBase
+    toEnum 281 = RcTokenTypeXthickness
+    toEnum 282 = RcTokenTypeYthickness
+    toEnum 283 = RcTokenTypeFont
+    toEnum 284 = RcTokenTypeFontset
+    toEnum 285 = RcTokenTypeFontName
+    toEnum 286 = RcTokenTypeBgPixmap
+    toEnum 287 = RcTokenTypePixmapPath
+    toEnum 288 = RcTokenTypeStyle
+    toEnum 289 = RcTokenTypeBinding
+    toEnum 290 = RcTokenTypeBind
+    toEnum 291 = RcTokenTypeWidget
+    toEnum 292 = RcTokenTypeWidgetClass
+    toEnum 293 = RcTokenTypeClass
+    toEnum 294 = RcTokenTypeLowest
+    toEnum 295 = RcTokenTypeGtk
+    toEnum 296 = RcTokenTypeApplication
+    toEnum 297 = RcTokenTypeTheme
+    toEnum 298 = RcTokenTypeRc
+    toEnum 299 = RcTokenTypeHighest
+    toEnum 300 = RcTokenTypeEngine
+    toEnum 301 = RcTokenTypeModulePath
+    toEnum 302 = RcTokenTypeImModulePath
+    toEnum 303 = RcTokenTypeImModuleFile
+    toEnum 304 = RcTokenTypeStock
+    toEnum 305 = RcTokenTypeLtr
+    toEnum 306 = RcTokenTypeRtl
+    toEnum 307 = RcTokenTypeColor
+    toEnum 308 = RcTokenTypeUnbind
+    toEnum 309 = RcTokenTypeLast
+    toEnum k = AnotherRcTokenType k
+
+instance P.Ord RcTokenType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_rc_token_type_get_type" c_gtk_rc_token_type_get_type :: 
+    IO GType
+
+instance BoxedEnum RcTokenType where
+    boxedEnumType _ = c_gtk_rc_token_type_get_type
+
+-- Enum PropagationPhase
+{- |
+Describes the stage at which events are fed into a 'GI.Gtk.Objects.EventController.EventController'.
+
+/Since: 3.14/
+-}
+data PropagationPhase = 
+      PropagationPhaseNone
+    {- ^
+    Events are not delivered automatically. Those can be
+      manually fed through 'GI.Gtk.Objects.EventController.eventControllerHandleEvent'. This should
+      only be used when full control about when, or whether the controller
+      handles the event is needed.
+    -}
+    | PropagationPhaseCapture
+    {- ^
+    Events are delivered in the capture phase. The
+      capture phase happens before the bubble phase, runs from the toplevel down
+      to the event widget. This option should only be used on containers that
+      might possibly handle events before their children do.
+    -}
+    | PropagationPhaseBubble
+    {- ^
+    Events are delivered in the bubble phase. The bubble
+      phase happens after the capture phase, and before the default handlers
+      are run. This phase runs from the event widget, up to the toplevel.
+    -}
+    | PropagationPhaseTarget
+    {- ^
+    Events are delivered in the default widget event handlers,
+      note that widget implementations must chain up on button, motion, touch and
+      grab broken handlers for controllers in this phase to be run.
+    -}
+    | AnotherPropagationPhase Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PropagationPhase where
+    fromEnum PropagationPhaseNone = 0
+    fromEnum PropagationPhaseCapture = 1
+    fromEnum PropagationPhaseBubble = 2
+    fromEnum PropagationPhaseTarget = 3
+    fromEnum (AnotherPropagationPhase k) = k
+
+    toEnum 0 = PropagationPhaseNone
+    toEnum 1 = PropagationPhaseCapture
+    toEnum 2 = PropagationPhaseBubble
+    toEnum 3 = PropagationPhaseTarget
+    toEnum k = AnotherPropagationPhase k
+
+instance P.Ord PropagationPhase where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_propagation_phase_get_type" c_gtk_propagation_phase_get_type :: 
+    IO GType
+
+instance BoxedEnum PropagationPhase where
+    boxedEnumType _ = c_gtk_propagation_phase_get_type
+
+-- Enum PrintStatus
+{- |
+The status gives a rough indication of the completion of a running
+print operation.
+-}
+data PrintStatus = 
+      PrintStatusInitial
+    {- ^
+    The printing has not started yet; this
+        status is set initially, and while the print dialog is shown.
+    -}
+    | PrintStatusPreparing
+    {- ^
+    This status is set while the begin-print
+        signal is emitted and during pagination.
+    -}
+    | PrintStatusGeneratingData
+    {- ^
+    This status is set while the
+        pages are being rendered.
+    -}
+    | PrintStatusSendingData
+    {- ^
+    The print job is being sent off to the
+        printer.
+    -}
+    | PrintStatusPending
+    {- ^
+    The print job has been sent to the printer,
+        but is not printed for some reason, e.g. the printer may be stopped.
+    -}
+    | PrintStatusPendingIssue
+    {- ^
+    Some problem has occurred during
+        printing, e.g. a paper jam.
+    -}
+    | PrintStatusPrinting
+    {- ^
+    The printer is processing the print job.
+    -}
+    | PrintStatusFinished
+    {- ^
+    The printing has been completed successfully.
+    -}
+    | PrintStatusFinishedAborted
+    {- ^
+    The printing has been aborted.
+    -}
+    | AnotherPrintStatus Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PrintStatus where
+    fromEnum PrintStatusInitial = 0
+    fromEnum PrintStatusPreparing = 1
+    fromEnum PrintStatusGeneratingData = 2
+    fromEnum PrintStatusSendingData = 3
+    fromEnum PrintStatusPending = 4
+    fromEnum PrintStatusPendingIssue = 5
+    fromEnum PrintStatusPrinting = 6
+    fromEnum PrintStatusFinished = 7
+    fromEnum PrintStatusFinishedAborted = 8
+    fromEnum (AnotherPrintStatus k) = k
+
+    toEnum 0 = PrintStatusInitial
+    toEnum 1 = PrintStatusPreparing
+    toEnum 2 = PrintStatusGeneratingData
+    toEnum 3 = PrintStatusSendingData
+    toEnum 4 = PrintStatusPending
+    toEnum 5 = PrintStatusPendingIssue
+    toEnum 6 = PrintStatusPrinting
+    toEnum 7 = PrintStatusFinished
+    toEnum 8 = PrintStatusFinishedAborted
+    toEnum k = AnotherPrintStatus k
+
+instance P.Ord PrintStatus where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_print_status_get_type" c_gtk_print_status_get_type :: 
+    IO GType
+
+instance BoxedEnum PrintStatus where
+    boxedEnumType _ = c_gtk_print_status_get_type
+
+-- Enum PrintQuality
+{- |
+See also 'GI.Gtk.Objects.PrintSettings.printSettingsSetQuality'.
+-}
+data PrintQuality = 
+      PrintQualityLow
+    {- ^
+    Low quality.
+    -}
+    | PrintQualityNormal
+    {- ^
+    Normal quality.
+    -}
+    | PrintQualityHigh
+    {- ^
+    High quality.
+    -}
+    | PrintQualityDraft
+    {- ^
+    Draft quality.
+    -}
+    | AnotherPrintQuality Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PrintQuality where
+    fromEnum PrintQualityLow = 0
+    fromEnum PrintQualityNormal = 1
+    fromEnum PrintQualityHigh = 2
+    fromEnum PrintQualityDraft = 3
+    fromEnum (AnotherPrintQuality k) = k
+
+    toEnum 0 = PrintQualityLow
+    toEnum 1 = PrintQualityNormal
+    toEnum 2 = PrintQualityHigh
+    toEnum 3 = PrintQualityDraft
+    toEnum k = AnotherPrintQuality k
+
+instance P.Ord PrintQuality where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_print_quality_get_type" c_gtk_print_quality_get_type :: 
+    IO GType
+
+instance BoxedEnum PrintQuality where
+    boxedEnumType _ = c_gtk_print_quality_get_type
+
+-- Enum PrintPages
+{- |
+See also @/gtk_print_job_set_pages()/@
+-}
+data PrintPages = 
+      PrintPagesAll
+    {- ^
+    All pages.
+    -}
+    | PrintPagesCurrent
+    {- ^
+    Current page.
+    -}
+    | PrintPagesRanges
+    {- ^
+    Range of pages.
+    -}
+    | PrintPagesSelection
+    {- ^
+    Selected pages.
+    -}
+    | AnotherPrintPages Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PrintPages where
+    fromEnum PrintPagesAll = 0
+    fromEnum PrintPagesCurrent = 1
+    fromEnum PrintPagesRanges = 2
+    fromEnum PrintPagesSelection = 3
+    fromEnum (AnotherPrintPages k) = k
+
+    toEnum 0 = PrintPagesAll
+    toEnum 1 = PrintPagesCurrent
+    toEnum 2 = PrintPagesRanges
+    toEnum 3 = PrintPagesSelection
+    toEnum k = AnotherPrintPages k
+
+instance P.Ord PrintPages where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_print_pages_get_type" c_gtk_print_pages_get_type :: 
+    IO GType
+
+instance BoxedEnum PrintPages where
+    boxedEnumType _ = c_gtk_print_pages_get_type
+
+-- Enum PrintOperationResult
+{- |
+A value of this type is returned by 'GI.Gtk.Objects.PrintOperation.printOperationRun'.
+-}
+data PrintOperationResult = 
+      PrintOperationResultError
+    {- ^
+    An error has occurred.
+    -}
+    | PrintOperationResultApply
+    {- ^
+    The print settings should be stored.
+    -}
+    | PrintOperationResultCancel
+    {- ^
+    The print operation has been canceled,
+        the print settings should not be stored.
+    -}
+    | PrintOperationResultInProgress
+    {- ^
+    The print operation is not complete
+        yet. This value will only be returned when running asynchronously.
+    -}
+    | AnotherPrintOperationResult Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PrintOperationResult where
+    fromEnum PrintOperationResultError = 0
+    fromEnum PrintOperationResultApply = 1
+    fromEnum PrintOperationResultCancel = 2
+    fromEnum PrintOperationResultInProgress = 3
+    fromEnum (AnotherPrintOperationResult k) = k
+
+    toEnum 0 = PrintOperationResultError
+    toEnum 1 = PrintOperationResultApply
+    toEnum 2 = PrintOperationResultCancel
+    toEnum 3 = PrintOperationResultInProgress
+    toEnum k = AnotherPrintOperationResult k
+
+instance P.Ord PrintOperationResult where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_print_operation_result_get_type" c_gtk_print_operation_result_get_type :: 
+    IO GType
+
+instance BoxedEnum PrintOperationResult where
+    boxedEnumType _ = c_gtk_print_operation_result_get_type
+
+-- Enum PrintOperationAction
+{- |
+The /@action@/ parameter to 'GI.Gtk.Objects.PrintOperation.printOperationRun'
+determines what action the print operation should perform.
+-}
+data PrintOperationAction = 
+      PrintOperationActionPrintDialog
+    {- ^
+    Show the print dialog.
+    -}
+    | PrintOperationActionPrint
+    {- ^
+    Start to print without showing
+        the print dialog, based on the current print settings.
+    -}
+    | PrintOperationActionPreview
+    {- ^
+    Show the print preview.
+    -}
+    | PrintOperationActionExport
+    {- ^
+    Export to a file. This requires
+        the export-filename property to be set.
+    -}
+    | AnotherPrintOperationAction Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PrintOperationAction where
+    fromEnum PrintOperationActionPrintDialog = 0
+    fromEnum PrintOperationActionPrint = 1
+    fromEnum PrintOperationActionPreview = 2
+    fromEnum PrintOperationActionExport = 3
+    fromEnum (AnotherPrintOperationAction k) = k
+
+    toEnum 0 = PrintOperationActionPrintDialog
+    toEnum 1 = PrintOperationActionPrint
+    toEnum 2 = PrintOperationActionPreview
+    toEnum 3 = PrintOperationActionExport
+    toEnum k = AnotherPrintOperationAction k
+
+instance P.Ord PrintOperationAction where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_print_operation_action_get_type" c_gtk_print_operation_action_get_type :: 
+    IO GType
+
+instance BoxedEnum PrintOperationAction where
+    boxedEnumType _ = c_gtk_print_operation_action_get_type
+
+-- Enum PrintError
+{- |
+Error codes that identify various errors that can occur while
+using the GTK+ printing support.
+-}
+data PrintError = 
+      PrintErrorGeneral
+    {- ^
+    An unspecified error occurred.
+    -}
+    | PrintErrorInternalError
+    {- ^
+    An internal error occurred.
+    -}
+    | PrintErrorNomem
+    {- ^
+    A memory allocation failed.
+    -}
+    | PrintErrorInvalidFile
+    {- ^
+    An error occurred while loading a page setup
+        or paper size from a key file.
+    -}
+    | AnotherPrintError Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PrintError where
+    fromEnum PrintErrorGeneral = 0
+    fromEnum PrintErrorInternalError = 1
+    fromEnum PrintErrorNomem = 2
+    fromEnum PrintErrorInvalidFile = 3
+    fromEnum (AnotherPrintError k) = k
+
+    toEnum 0 = PrintErrorGeneral
+    toEnum 1 = PrintErrorInternalError
+    toEnum 2 = PrintErrorNomem
+    toEnum 3 = PrintErrorInvalidFile
+    toEnum k = AnotherPrintError k
+
+instance P.Ord PrintError where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+instance GErrorClass PrintError where
+    gerrorClassDomain _ = "gtk-print-error-quark"
+
+-- | Catch exceptions of type `PrintError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.
+catchPrintError ::
+    IO a ->
+    (PrintError -> GErrorMessage -> IO a) ->
+    IO a
+catchPrintError = catchGErrorJustDomain
+
+-- | Handle exceptions of type `PrintError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.
+handlePrintError ::
+    (PrintError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handlePrintError = handleGErrorJustDomain
+
+foreign import ccall "gtk_print_error_get_type" c_gtk_print_error_get_type :: 
+    IO GType
+
+instance BoxedEnum PrintError where
+    boxedEnumType _ = c_gtk_print_error_get_type
+
+-- Enum PrintDuplex
+{- |
+See also 'GI.Gtk.Objects.PrintSettings.printSettingsSetDuplex'.
+-}
+data PrintDuplex = 
+      PrintDuplexSimplex
+    {- ^
+    No duplex.
+    -}
+    | PrintDuplexHorizontal
+    {- ^
+    Horizontal duplex.
+    -}
+    | PrintDuplexVertical
+    {- ^
+    Vertical duplex.
+    -}
+    | AnotherPrintDuplex Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PrintDuplex where
+    fromEnum PrintDuplexSimplex = 0
+    fromEnum PrintDuplexHorizontal = 1
+    fromEnum PrintDuplexVertical = 2
+    fromEnum (AnotherPrintDuplex k) = k
+
+    toEnum 0 = PrintDuplexSimplex
+    toEnum 1 = PrintDuplexHorizontal
+    toEnum 2 = PrintDuplexVertical
+    toEnum k = AnotherPrintDuplex k
+
+instance P.Ord PrintDuplex where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_print_duplex_get_type" c_gtk_print_duplex_get_type :: 
+    IO GType
+
+instance BoxedEnum PrintDuplex where
+    boxedEnumType _ = c_gtk_print_duplex_get_type
+
+-- Enum PositionType
+{- |
+Describes which edge of a widget a certain feature is positioned at, e.g. the
+tabs of a 'GI.Gtk.Objects.Notebook.Notebook', the handle of a 'GI.Gtk.Objects.HandleBox.HandleBox' or the label of a
+'GI.Gtk.Objects.Scale.Scale'.
+-}
+data PositionType = 
+      PositionTypeLeft
+    {- ^
+    The feature is at the left edge.
+    -}
+    | PositionTypeRight
+    {- ^
+    The feature is at the right edge.
+    -}
+    | PositionTypeTop
+    {- ^
+    The feature is at the top edge.
+    -}
+    | PositionTypeBottom
+    {- ^
+    The feature is at the bottom edge.
+    -}
+    | AnotherPositionType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PositionType where
+    fromEnum PositionTypeLeft = 0
+    fromEnum PositionTypeRight = 1
+    fromEnum PositionTypeTop = 2
+    fromEnum PositionTypeBottom = 3
+    fromEnum (AnotherPositionType k) = k
+
+    toEnum 0 = PositionTypeLeft
+    toEnum 1 = PositionTypeRight
+    toEnum 2 = PositionTypeTop
+    toEnum 3 = PositionTypeBottom
+    toEnum k = AnotherPositionType k
+
+instance P.Ord PositionType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_position_type_get_type" c_gtk_position_type_get_type :: 
+    IO GType
+
+instance BoxedEnum PositionType where
+    boxedEnumType _ = c_gtk_position_type_get_type
+
+-- Enum PopoverConstraint
+{- |
+Describes constraints to positioning of popovers. More values
+may be added to this enumeration in the future.
+
+/Since: 3.20/
+-}
+data PopoverConstraint = 
+      PopoverConstraintNone
+    {- ^
+    Don\'t constrain the popover position
+      beyond what is imposed by the implementation
+    -}
+    | PopoverConstraintWindow
+    {- ^
+    Constrain the popover to the boundaries
+      of the window that it is attached to
+    -}
+    | AnotherPopoverConstraint Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PopoverConstraint where
+    fromEnum PopoverConstraintNone = 0
+    fromEnum PopoverConstraintWindow = 1
+    fromEnum (AnotherPopoverConstraint k) = k
+
+    toEnum 0 = PopoverConstraintNone
+    toEnum 1 = PopoverConstraintWindow
+    toEnum k = AnotherPopoverConstraint k
+
+instance P.Ord PopoverConstraint where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_popover_constraint_get_type" c_gtk_popover_constraint_get_type :: 
+    IO GType
+
+instance BoxedEnum PopoverConstraint where
+    boxedEnumType _ = c_gtk_popover_constraint_get_type
+
+-- Enum PolicyType
+{- |
+Determines how the size should be computed to achieve the one of the
+visibility mode for the scrollbars.
+-}
+data PolicyType = 
+      PolicyTypeAlways
+    {- ^
+    The scrollbar is always visible. The view size is
+     independent of the content.
+    -}
+    | PolicyTypeAutomatic
+    {- ^
+    The scrollbar will appear and disappear as necessary.
+     For example, when all of a 'GI.Gtk.Objects.TreeView.TreeView' can not be seen.
+    -}
+    | PolicyTypeNever
+    {- ^
+    The scrollbar should never appear. In this mode the
+     content determines the size.
+    -}
+    | PolicyTypeExternal
+    {- ^
+    Don\'t show a scrollbar, but don\'t force the
+     size to follow the content. This can be used e.g. to make multiple
+     scrolled windows share a scrollbar. Since: 3.16
+    -}
+    | AnotherPolicyType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PolicyType where
+    fromEnum PolicyTypeAlways = 0
+    fromEnum PolicyTypeAutomatic = 1
+    fromEnum PolicyTypeNever = 2
+    fromEnum PolicyTypeExternal = 3
+    fromEnum (AnotherPolicyType k) = k
+
+    toEnum 0 = PolicyTypeAlways
+    toEnum 1 = PolicyTypeAutomatic
+    toEnum 2 = PolicyTypeNever
+    toEnum 3 = PolicyTypeExternal
+    toEnum k = AnotherPolicyType k
+
+instance P.Ord PolicyType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_policy_type_get_type" c_gtk_policy_type_get_type :: 
+    IO GType
+
+instance BoxedEnum PolicyType where
+    boxedEnumType _ = c_gtk_policy_type_get_type
+
+-- Enum PathType
+{-# DEPRECATED PathType ["(Since version 3.0)"] #-}
+{- |
+Widget path types.
+See also 'GI.Gtk.Structs.BindingSet.bindingSetAddPath'.
+-}
+data PathType = 
+      PathTypeWidget
+    {- ^
+    Deprecated
+    -}
+    | PathTypeWidgetClass
+    {- ^
+    Deprecated
+    -}
+    | PathTypeClass
+    {- ^
+    Deprecated
+    -}
+    | AnotherPathType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PathType where
+    fromEnum PathTypeWidget = 0
+    fromEnum PathTypeWidgetClass = 1
+    fromEnum PathTypeClass = 2
+    fromEnum (AnotherPathType k) = k
+
+    toEnum 0 = PathTypeWidget
+    toEnum 1 = PathTypeWidgetClass
+    toEnum 2 = PathTypeClass
+    toEnum k = AnotherPathType k
+
+instance P.Ord PathType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_path_type_get_type" c_gtk_path_type_get_type :: 
+    IO GType
+
+instance BoxedEnum PathType where
+    boxedEnumType _ = c_gtk_path_type_get_type
+
+-- Enum PathPriorityType
+{-# DEPRECATED PathPriorityType ["(Since version 3.0)"] #-}
+{- |
+Priorities for path lookups.
+See also 'GI.Gtk.Structs.BindingSet.bindingSetAddPath'.
+-}
+data PathPriorityType = 
+      PathPriorityTypeLowest
+    {- ^
+    Deprecated
+    -}
+    | PathPriorityTypeGtk
+    {- ^
+    Deprecated
+    -}
+    | PathPriorityTypeApplication
+    {- ^
+    Deprecated
+    -}
+    | PathPriorityTypeTheme
+    {- ^
+    Deprecated
+    -}
+    | PathPriorityTypeRc
+    {- ^
+    Deprecated
+    -}
+    | PathPriorityTypeHighest
+    {- ^
+    Deprecated
+    -}
+    | AnotherPathPriorityType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PathPriorityType where
+    fromEnum PathPriorityTypeLowest = 0
+    fromEnum PathPriorityTypeGtk = 4
+    fromEnum PathPriorityTypeApplication = 8
+    fromEnum PathPriorityTypeTheme = 10
+    fromEnum PathPriorityTypeRc = 12
+    fromEnum PathPriorityTypeHighest = 15
+    fromEnum (AnotherPathPriorityType k) = k
+
+    toEnum 0 = PathPriorityTypeLowest
+    toEnum 4 = PathPriorityTypeGtk
+    toEnum 8 = PathPriorityTypeApplication
+    toEnum 10 = PathPriorityTypeTheme
+    toEnum 12 = PathPriorityTypeRc
+    toEnum 15 = PathPriorityTypeHighest
+    toEnum k = AnotherPathPriorityType k
+
+instance P.Ord PathPriorityType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_path_priority_type_get_type" c_gtk_path_priority_type_get_type :: 
+    IO GType
+
+instance BoxedEnum PathPriorityType where
+    boxedEnumType _ = c_gtk_path_priority_type_get_type
+
+-- Enum PanDirection
+{- |
+Describes the panning direction of a 'GI.Gtk.Objects.GesturePan.GesturePan'
+
+/Since: 3.14/
+-}
+data PanDirection = 
+      PanDirectionLeft
+    {- ^
+    panned towards the left
+    -}
+    | PanDirectionRight
+    {- ^
+    panned towards the right
+    -}
+    | PanDirectionUp
+    {- ^
+    panned upwards
+    -}
+    | PanDirectionDown
+    {- ^
+    panned downwards
+    -}
+    | AnotherPanDirection Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PanDirection where
+    fromEnum PanDirectionLeft = 0
+    fromEnum PanDirectionRight = 1
+    fromEnum PanDirectionUp = 2
+    fromEnum PanDirectionDown = 3
+    fromEnum (AnotherPanDirection k) = k
+
+    toEnum 0 = PanDirectionLeft
+    toEnum 1 = PanDirectionRight
+    toEnum 2 = PanDirectionUp
+    toEnum 3 = PanDirectionDown
+    toEnum k = AnotherPanDirection k
+
+instance P.Ord PanDirection where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_pan_direction_get_type" c_gtk_pan_direction_get_type :: 
+    IO GType
+
+instance BoxedEnum PanDirection where
+    boxedEnumType _ = c_gtk_pan_direction_get_type
+
+-- Enum PageSet
+{- |
+See also @/gtk_print_job_set_page_set()/@.
+-}
+data PageSet = 
+      PageSetAll
+    {- ^
+    All pages.
+    -}
+    | PageSetEven
+    {- ^
+    Even pages.
+    -}
+    | PageSetOdd
+    {- ^
+    Odd pages.
+    -}
+    | AnotherPageSet Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PageSet where
+    fromEnum PageSetAll = 0
+    fromEnum PageSetEven = 1
+    fromEnum PageSetOdd = 2
+    fromEnum (AnotherPageSet k) = k
+
+    toEnum 0 = PageSetAll
+    toEnum 1 = PageSetEven
+    toEnum 2 = PageSetOdd
+    toEnum k = AnotherPageSet k
+
+instance P.Ord PageSet where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_page_set_get_type" c_gtk_page_set_get_type :: 
+    IO GType
+
+instance BoxedEnum PageSet where
+    boxedEnumType _ = c_gtk_page_set_get_type
+
+-- Enum PageOrientation
+{- |
+See also 'GI.Gtk.Objects.PrintSettings.printSettingsSetOrientation'.
+-}
+data PageOrientation = 
+      PageOrientationPortrait
+    {- ^
+    Portrait mode.
+    -}
+    | PageOrientationLandscape
+    {- ^
+    Landscape mode.
+    -}
+    | PageOrientationReversePortrait
+    {- ^
+    Reverse portrait mode.
+    -}
+    | PageOrientationReverseLandscape
+    {- ^
+    Reverse landscape mode.
+    -}
+    | AnotherPageOrientation Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PageOrientation where
+    fromEnum PageOrientationPortrait = 0
+    fromEnum PageOrientationLandscape = 1
+    fromEnum PageOrientationReversePortrait = 2
+    fromEnum PageOrientationReverseLandscape = 3
+    fromEnum (AnotherPageOrientation k) = k
+
+    toEnum 0 = PageOrientationPortrait
+    toEnum 1 = PageOrientationLandscape
+    toEnum 2 = PageOrientationReversePortrait
+    toEnum 3 = PageOrientationReverseLandscape
+    toEnum k = AnotherPageOrientation k
+
+instance P.Ord PageOrientation where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_page_orientation_get_type" c_gtk_page_orientation_get_type :: 
+    IO GType
+
+instance BoxedEnum PageOrientation where
+    boxedEnumType _ = c_gtk_page_orientation_get_type
+
+-- Enum PadActionType
+{- |
+The type of a pad action.
+-}
+data PadActionType = 
+      PadActionTypeButton
+    {- ^
+    Action is triggered by a pad button
+    -}
+    | PadActionTypeRing
+    {- ^
+    Action is triggered by a pad ring
+    -}
+    | PadActionTypeStrip
+    {- ^
+    Action is triggered by a pad strip
+    -}
+    | AnotherPadActionType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PadActionType where
+    fromEnum PadActionTypeButton = 0
+    fromEnum PadActionTypeRing = 1
+    fromEnum PadActionTypeStrip = 2
+    fromEnum (AnotherPadActionType k) = k
+
+    toEnum 0 = PadActionTypeButton
+    toEnum 1 = PadActionTypeRing
+    toEnum 2 = PadActionTypeStrip
+    toEnum k = AnotherPadActionType k
+
+instance P.Ord PadActionType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_pad_action_type_get_type" c_gtk_pad_action_type_get_type :: 
+    IO GType
+
+instance BoxedEnum PadActionType where
+    boxedEnumType _ = c_gtk_pad_action_type_get_type
+
+-- Enum PackType
+{- |
+Represents the packing location 'GI.Gtk.Objects.Box.Box' children. (See: 'GI.Gtk.Objects.VBox.VBox',
+'GI.Gtk.Objects.HBox.HBox', and 'GI.Gtk.Objects.ButtonBox.ButtonBox').
+-}
+data PackType = 
+      PackTypeStart
+    {- ^
+    The child is packed into the start of the box
+    -}
+    | PackTypeEnd
+    {- ^
+    The child is packed into the end of the box
+    -}
+    | AnotherPackType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PackType where
+    fromEnum PackTypeStart = 0
+    fromEnum PackTypeEnd = 1
+    fromEnum (AnotherPackType k) = k
+
+    toEnum 0 = PackTypeStart
+    toEnum 1 = PackTypeEnd
+    toEnum k = AnotherPackType k
+
+instance P.Ord PackType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_pack_type_get_type" c_gtk_pack_type_get_type :: 
+    IO GType
+
+instance BoxedEnum PackType where
+    boxedEnumType _ = c_gtk_pack_type_get_type
+
+-- Enum PackDirection
+{- |
+Determines how widgets should be packed inside menubars
+and menuitems contained in menubars.
+-}
+data PackDirection = 
+      PackDirectionLtr
+    {- ^
+    Widgets are packed left-to-right
+    -}
+    | PackDirectionRtl
+    {- ^
+    Widgets are packed right-to-left
+    -}
+    | PackDirectionTtb
+    {- ^
+    Widgets are packed top-to-bottom
+    -}
+    | PackDirectionBtt
+    {- ^
+    Widgets are packed bottom-to-top
+    -}
+    | AnotherPackDirection Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PackDirection where
+    fromEnum PackDirectionLtr = 0
+    fromEnum PackDirectionRtl = 1
+    fromEnum PackDirectionTtb = 2
+    fromEnum PackDirectionBtt = 3
+    fromEnum (AnotherPackDirection k) = k
+
+    toEnum 0 = PackDirectionLtr
+    toEnum 1 = PackDirectionRtl
+    toEnum 2 = PackDirectionTtb
+    toEnum 3 = PackDirectionBtt
+    toEnum k = AnotherPackDirection k
+
+instance P.Ord PackDirection where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_pack_direction_get_type" c_gtk_pack_direction_get_type :: 
+    IO GType
+
+instance BoxedEnum PackDirection where
+    boxedEnumType _ = c_gtk_pack_direction_get_type
+
+-- Enum Orientation
+{- |
+Represents the orientation of widgets and other objects which can be switched
+between horizontal and vertical orientation on the fly, like 'GI.Gtk.Objects.Toolbar.Toolbar' or
+'GI.Gtk.Objects.GesturePan.GesturePan'.
+-}
+data Orientation = 
+      OrientationHorizontal
+    {- ^
+    The element is in horizontal orientation.
+    -}
+    | OrientationVertical
+    {- ^
+    The element is in vertical orientation.
+    -}
+    | AnotherOrientation Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum Orientation where
+    fromEnum OrientationHorizontal = 0
+    fromEnum OrientationVertical = 1
+    fromEnum (AnotherOrientation k) = k
+
+    toEnum 0 = OrientationHorizontal
+    toEnum 1 = OrientationVertical
+    toEnum k = AnotherOrientation k
+
+instance P.Ord Orientation where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_orientation_get_type" c_gtk_orientation_get_type :: 
+    IO GType
+
+instance BoxedEnum Orientation where
+    boxedEnumType _ = c_gtk_orientation_get_type
+
+-- Enum NumberUpLayout
+{- |
+Used to determine the layout of pages on a sheet when printing
+multiple pages per sheet.
+-}
+data NumberUpLayout = 
+      NumberUpLayoutLrtb
+    {- ^
+    <<https://developer.gnome.org/gtk3/stable/layout-lrtb.png>>
+    -}
+    | NumberUpLayoutLrbt
+    {- ^
+    <<https://developer.gnome.org/gtk3/stable/layout-lrbt.png>>
+    -}
+    | NumberUpLayoutRltb
+    {- ^
+    <<https://developer.gnome.org/gtk3/stable/layout-rltb.png>>
+    -}
+    | NumberUpLayoutRlbt
+    {- ^
+    <<https://developer.gnome.org/gtk3/stable/layout-rlbt.png>>
+    -}
+    | NumberUpLayoutTblr
+    {- ^
+    <<https://developer.gnome.org/gtk3/stable/layout-tblr.png>>
+    -}
+    | NumberUpLayoutTbrl
+    {- ^
+    <<https://developer.gnome.org/gtk3/stable/layout-tbrl.png>>
+    -}
+    | NumberUpLayoutBtlr
+    {- ^
+    <<https://developer.gnome.org/gtk3/stable/layout-btlr.png>>
+    -}
+    | NumberUpLayoutBtrl
+    {- ^
+    <<https://developer.gnome.org/gtk3/stable/layout-btrl.png>>
+    -}
+    | AnotherNumberUpLayout Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum NumberUpLayout where
+    fromEnum NumberUpLayoutLrtb = 0
+    fromEnum NumberUpLayoutLrbt = 1
+    fromEnum NumberUpLayoutRltb = 2
+    fromEnum NumberUpLayoutRlbt = 3
+    fromEnum NumberUpLayoutTblr = 4
+    fromEnum NumberUpLayoutTbrl = 5
+    fromEnum NumberUpLayoutBtlr = 6
+    fromEnum NumberUpLayoutBtrl = 7
+    fromEnum (AnotherNumberUpLayout k) = k
+
+    toEnum 0 = NumberUpLayoutLrtb
+    toEnum 1 = NumberUpLayoutLrbt
+    toEnum 2 = NumberUpLayoutRltb
+    toEnum 3 = NumberUpLayoutRlbt
+    toEnum 4 = NumberUpLayoutTblr
+    toEnum 5 = NumberUpLayoutTbrl
+    toEnum 6 = NumberUpLayoutBtlr
+    toEnum 7 = NumberUpLayoutBtrl
+    toEnum k = AnotherNumberUpLayout k
+
+instance P.Ord NumberUpLayout where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_number_up_layout_get_type" c_gtk_number_up_layout_get_type :: 
+    IO GType
+
+instance BoxedEnum NumberUpLayout where
+    boxedEnumType _ = c_gtk_number_up_layout_get_type
+
+-- Enum NotebookTab
+{- |
+/No description available in the introspection data./
+-}
+data NotebookTab = 
+      NotebookTabFirst
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | NotebookTabLast
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | AnotherNotebookTab Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum NotebookTab where
+    fromEnum NotebookTabFirst = 0
+    fromEnum NotebookTabLast = 1
+    fromEnum (AnotherNotebookTab k) = k
+
+    toEnum 0 = NotebookTabFirst
+    toEnum 1 = NotebookTabLast
+    toEnum k = AnotherNotebookTab k
+
+instance P.Ord NotebookTab where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_notebook_tab_get_type" c_gtk_notebook_tab_get_type :: 
+    IO GType
+
+instance BoxedEnum NotebookTab where
+    boxedEnumType _ = c_gtk_notebook_tab_get_type
+
+-- Enum MovementStep
+{- |
+/No description available in the introspection data./
+-}
+data MovementStep = 
+      MovementStepLogicalPositions
+    {- ^
+    Move forward or back by graphemes
+    -}
+    | MovementStepVisualPositions
+    {- ^
+    Move left or right by graphemes
+    -}
+    | MovementStepWords
+    {- ^
+    Move forward or back by words
+    -}
+    | MovementStepDisplayLines
+    {- ^
+    Move up or down lines (wrapped lines)
+    -}
+    | MovementStepDisplayLineEnds
+    {- ^
+    Move to either end of a line
+    -}
+    | MovementStepParagraphs
+    {- ^
+    Move up or down paragraphs (newline-ended lines)
+    -}
+    | MovementStepParagraphEnds
+    {- ^
+    Move to either end of a paragraph
+    -}
+    | MovementStepPages
+    {- ^
+    Move by pages
+    -}
+    | MovementStepBufferEnds
+    {- ^
+    Move to ends of the buffer
+    -}
+    | MovementStepHorizontalPages
+    {- ^
+    Move horizontally by pages
+    -}
+    | AnotherMovementStep Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum MovementStep where
+    fromEnum MovementStepLogicalPositions = 0
+    fromEnum MovementStepVisualPositions = 1
+    fromEnum MovementStepWords = 2
+    fromEnum MovementStepDisplayLines = 3
+    fromEnum MovementStepDisplayLineEnds = 4
+    fromEnum MovementStepParagraphs = 5
+    fromEnum MovementStepParagraphEnds = 6
+    fromEnum MovementStepPages = 7
+    fromEnum MovementStepBufferEnds = 8
+    fromEnum MovementStepHorizontalPages = 9
+    fromEnum (AnotherMovementStep k) = k
+
+    toEnum 0 = MovementStepLogicalPositions
+    toEnum 1 = MovementStepVisualPositions
+    toEnum 2 = MovementStepWords
+    toEnum 3 = MovementStepDisplayLines
+    toEnum 4 = MovementStepDisplayLineEnds
+    toEnum 5 = MovementStepParagraphs
+    toEnum 6 = MovementStepParagraphEnds
+    toEnum 7 = MovementStepPages
+    toEnum 8 = MovementStepBufferEnds
+    toEnum 9 = MovementStepHorizontalPages
+    toEnum k = AnotherMovementStep k
+
+instance P.Ord MovementStep where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_movement_step_get_type" c_gtk_movement_step_get_type :: 
+    IO GType
+
+instance BoxedEnum MovementStep where
+    boxedEnumType _ = c_gtk_movement_step_get_type
+
+-- Enum MessageType
+{- |
+The type of message being displayed in the dialog.
+-}
+data MessageType = 
+      MessageTypeInfo
+    {- ^
+    Informational message
+    -}
+    | MessageTypeWarning
+    {- ^
+    Non-fatal warning message
+    -}
+    | MessageTypeQuestion
+    {- ^
+    Question requiring a choice
+    -}
+    | MessageTypeError
+    {- ^
+    Fatal error message
+    -}
+    | MessageTypeOther
+    {- ^
+    None of the above
+    -}
+    | AnotherMessageType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum MessageType where
+    fromEnum MessageTypeInfo = 0
+    fromEnum MessageTypeWarning = 1
+    fromEnum MessageTypeQuestion = 2
+    fromEnum MessageTypeError = 3
+    fromEnum MessageTypeOther = 4
+    fromEnum (AnotherMessageType k) = k
+
+    toEnum 0 = MessageTypeInfo
+    toEnum 1 = MessageTypeWarning
+    toEnum 2 = MessageTypeQuestion
+    toEnum 3 = MessageTypeError
+    toEnum 4 = MessageTypeOther
+    toEnum k = AnotherMessageType k
+
+instance P.Ord MessageType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_message_type_get_type" c_gtk_message_type_get_type :: 
+    IO GType
+
+instance BoxedEnum MessageType where
+    boxedEnumType _ = c_gtk_message_type_get_type
+
+-- Enum MenuDirectionType
+{- |
+An enumeration representing directional movements within a menu.
+-}
+data MenuDirectionType = 
+      MenuDirectionTypeParent
+    {- ^
+    To the parent menu shell
+    -}
+    | MenuDirectionTypeChild
+    {- ^
+    To the submenu, if any, associated with the item
+    -}
+    | MenuDirectionTypeNext
+    {- ^
+    To the next menu item
+    -}
+    | MenuDirectionTypePrev
+    {- ^
+    To the previous menu item
+    -}
+    | AnotherMenuDirectionType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum MenuDirectionType where
+    fromEnum MenuDirectionTypeParent = 0
+    fromEnum MenuDirectionTypeChild = 1
+    fromEnum MenuDirectionTypeNext = 2
+    fromEnum MenuDirectionTypePrev = 3
+    fromEnum (AnotherMenuDirectionType k) = k
+
+    toEnum 0 = MenuDirectionTypeParent
+    toEnum 1 = MenuDirectionTypeChild
+    toEnum 2 = MenuDirectionTypeNext
+    toEnum 3 = MenuDirectionTypePrev
+    toEnum k = AnotherMenuDirectionType k
+
+instance P.Ord MenuDirectionType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_menu_direction_type_get_type" c_gtk_menu_direction_type_get_type :: 
+    IO GType
+
+instance BoxedEnum MenuDirectionType where
+    boxedEnumType _ = c_gtk_menu_direction_type_get_type
+
+-- Enum License
+{- |
+The type of license for an application.
+
+This enumeration can be expanded at later date.
+
+/Since: 3.0/
+-}
+data License = 
+      LicenseUnknown
+    {- ^
+    No license specified
+    -}
+    | LicenseCustom
+    {- ^
+    A license text is going to be specified by the
+      developer
+    -}
+    | LicenseGpl20
+    {- ^
+    The GNU General Public License, version 2.0 or later
+    -}
+    | LicenseGpl30
+    {- ^
+    The GNU General Public License, version 3.0 or later
+    -}
+    | LicenseLgpl21
+    {- ^
+    The GNU Lesser General Public License, version 2.1 or later
+    -}
+    | LicenseLgpl30
+    {- ^
+    The GNU Lesser General Public License, version 3.0 or later
+    -}
+    | LicenseBsd
+    {- ^
+    The BSD standard license
+    -}
+    | LicenseMitX11
+    {- ^
+    The MIT\/X11 standard license
+    -}
+    | LicenseArtistic
+    {- ^
+    The Artistic License, version 2.0
+    -}
+    | LicenseGpl20Only
+    {- ^
+    The GNU General Public License, version 2.0 only. Since 3.12.
+    -}
+    | LicenseGpl30Only
+    {- ^
+    The GNU General Public License, version 3.0 only. Since 3.12.
+    -}
+    | LicenseLgpl21Only
+    {- ^
+    The GNU Lesser General Public License, version 2.1 only. Since 3.12.
+    -}
+    | LicenseLgpl30Only
+    {- ^
+    The GNU Lesser General Public License, version 3.0 only. Since 3.12.
+    -}
+    | LicenseAgpl30
+    {- ^
+    The GNU Affero General Public License, version 3.0 or later. Since: 3.22.
+    -}
+    | LicenseAgpl30Only
+    {- ^
+    The GNU Affero General Public License, version 3.0 only. Since: 3.22.27.
+    -}
+    | AnotherLicense Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum License where
+    fromEnum LicenseUnknown = 0
+    fromEnum LicenseCustom = 1
+    fromEnum LicenseGpl20 = 2
+    fromEnum LicenseGpl30 = 3
+    fromEnum LicenseLgpl21 = 4
+    fromEnum LicenseLgpl30 = 5
+    fromEnum LicenseBsd = 6
+    fromEnum LicenseMitX11 = 7
+    fromEnum LicenseArtistic = 8
+    fromEnum LicenseGpl20Only = 9
+    fromEnum LicenseGpl30Only = 10
+    fromEnum LicenseLgpl21Only = 11
+    fromEnum LicenseLgpl30Only = 12
+    fromEnum LicenseAgpl30 = 13
+    fromEnum LicenseAgpl30Only = 14
+    fromEnum (AnotherLicense k) = k
+
+    toEnum 0 = LicenseUnknown
+    toEnum 1 = LicenseCustom
+    toEnum 2 = LicenseGpl20
+    toEnum 3 = LicenseGpl30
+    toEnum 4 = LicenseLgpl21
+    toEnum 5 = LicenseLgpl30
+    toEnum 6 = LicenseBsd
+    toEnum 7 = LicenseMitX11
+    toEnum 8 = LicenseArtistic
+    toEnum 9 = LicenseGpl20Only
+    toEnum 10 = LicenseGpl30Only
+    toEnum 11 = LicenseLgpl21Only
+    toEnum 12 = LicenseLgpl30Only
+    toEnum 13 = LicenseAgpl30
+    toEnum 14 = LicenseAgpl30Only
+    toEnum k = AnotherLicense k
+
+instance P.Ord License where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_license_get_type" c_gtk_license_get_type :: 
+    IO GType
+
+instance BoxedEnum License where
+    boxedEnumType _ = c_gtk_license_get_type
+
+-- Enum LevelBarMode
+{- |
+Describes how 'GI.Gtk.Objects.LevelBar.LevelBar' contents should be rendered.
+Note that this enumeration could be extended with additional modes
+in the future.
+
+/Since: 3.6/
+-}
+data LevelBarMode = 
+      LevelBarModeContinuous
+    {- ^
+    the bar has a continuous mode
+    -}
+    | LevelBarModeDiscrete
+    {- ^
+    the bar has a discrete mode
+    -}
+    | AnotherLevelBarMode Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum LevelBarMode where
+    fromEnum LevelBarModeContinuous = 0
+    fromEnum LevelBarModeDiscrete = 1
+    fromEnum (AnotherLevelBarMode k) = k
+
+    toEnum 0 = LevelBarModeContinuous
+    toEnum 1 = LevelBarModeDiscrete
+    toEnum k = AnotherLevelBarMode k
+
+instance P.Ord LevelBarMode where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_level_bar_mode_get_type" c_gtk_level_bar_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum LevelBarMode where
+    boxedEnumType _ = c_gtk_level_bar_mode_get_type
+
+-- Enum Justification
+{- |
+Used for justifying the text inside a 'GI.Gtk.Objects.Label.Label' widget. (See also
+'GI.Gtk.Objects.Alignment.Alignment').
+-}
+data Justification = 
+      JustificationLeft
+    {- ^
+    The text is placed at the left edge of the label.
+    -}
+    | JustificationRight
+    {- ^
+    The text is placed at the right edge of the label.
+    -}
+    | JustificationCenter
+    {- ^
+    The text is placed in the center of the label.
+    -}
+    | JustificationFill
+    {- ^
+    The text is placed is distributed across the label.
+    -}
+    | AnotherJustification Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum Justification where
+    fromEnum JustificationLeft = 0
+    fromEnum JustificationRight = 1
+    fromEnum JustificationCenter = 2
+    fromEnum JustificationFill = 3
+    fromEnum (AnotherJustification k) = k
+
+    toEnum 0 = JustificationLeft
+    toEnum 1 = JustificationRight
+    toEnum 2 = JustificationCenter
+    toEnum 3 = JustificationFill
+    toEnum k = AnotherJustification k
+
+instance P.Ord Justification where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_justification_get_type" c_gtk_justification_get_type :: 
+    IO GType
+
+instance BoxedEnum Justification where
+    boxedEnumType _ = c_gtk_justification_get_type
+
+-- Enum InputPurpose
+{- |
+Describes primary purpose of the input widget. This information is
+useful for on-screen keyboards and similar input methods to decide
+which keys should be presented to the user.
+
+Note that the purpose is not meant to impose a totally strict rule
+about allowed characters, and does not replace input validation.
+It is fine for an on-screen keyboard to let the user override the
+character set restriction that is expressed by the purpose. The
+application is expected to validate the entry contents, even if
+it specified a purpose.
+
+The difference between /@gTKINPUTPURPOSEDIGITS@/ and
+/@gTKINPUTPURPOSENUMBER@/ is that the former accepts only digits
+while the latter also some punctuation (like commas or points, plus,
+minus) and “e” or “E” as in 3.14E+000.
+
+This enumeration may be extended in the future; input methods should
+interpret unknown values as “free form”.
+
+/Since: 3.6/
+-}
+data InputPurpose = 
+      InputPurposeFreeForm
+    {- ^
+    Allow any character
+    -}
+    | InputPurposeAlpha
+    {- ^
+    Allow only alphabetic characters
+    -}
+    | InputPurposeDigits
+    {- ^
+    Allow only digits
+    -}
+    | InputPurposeNumber
+    {- ^
+    Edited field expects numbers
+    -}
+    | InputPurposePhone
+    {- ^
+    Edited field expects phone number
+    -}
+    | InputPurposeUrl
+    {- ^
+    Edited field expects URL
+    -}
+    | InputPurposeEmail
+    {- ^
+    Edited field expects email address
+    -}
+    | InputPurposeName
+    {- ^
+    Edited field expects the name of a person
+    -}
+    | InputPurposePassword
+    {- ^
+    Like /@gTKINPUTPURPOSEFREEFORM@/, but characters are hidden
+    -}
+    | InputPurposePin
+    {- ^
+    Like /@gTKINPUTPURPOSEDIGITS@/, but characters are hidden
+    -}
+    | AnotherInputPurpose Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum InputPurpose where
+    fromEnum InputPurposeFreeForm = 0
+    fromEnum InputPurposeAlpha = 1
+    fromEnum InputPurposeDigits = 2
+    fromEnum InputPurposeNumber = 3
+    fromEnum InputPurposePhone = 4
+    fromEnum InputPurposeUrl = 5
+    fromEnum InputPurposeEmail = 6
+    fromEnum InputPurposeName = 7
+    fromEnum InputPurposePassword = 8
+    fromEnum InputPurposePin = 9
+    fromEnum (AnotherInputPurpose k) = k
+
+    toEnum 0 = InputPurposeFreeForm
+    toEnum 1 = InputPurposeAlpha
+    toEnum 2 = InputPurposeDigits
+    toEnum 3 = InputPurposeNumber
+    toEnum 4 = InputPurposePhone
+    toEnum 5 = InputPurposeUrl
+    toEnum 6 = InputPurposeEmail
+    toEnum 7 = InputPurposeName
+    toEnum 8 = InputPurposePassword
+    toEnum 9 = InputPurposePin
+    toEnum k = AnotherInputPurpose k
+
+instance P.Ord InputPurpose where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_input_purpose_get_type" c_gtk_input_purpose_get_type :: 
+    IO GType
+
+instance BoxedEnum InputPurpose where
+    boxedEnumType _ = c_gtk_input_purpose_get_type
+
+-- Enum ImageType
+{- |
+Describes the image data representation used by a 'GI.Gtk.Objects.Image.Image'. If you
+want to get the image from the widget, you can only get the
+currently-stored representation. e.g.  if the
+'GI.Gtk.Objects.Image.imageGetStorageType' returns @/GTK_IMAGE_PIXBUF/@, then you can
+call 'GI.Gtk.Objects.Image.imageGetPixbuf' but not 'GI.Gtk.Objects.Image.imageGetStock'.  For empty
+images, you can request any storage type (call any of the \"get\"
+functions), but they will all return 'Nothing' values.
+-}
+data ImageType = 
+      ImageTypeEmpty
+    {- ^
+    there is no image displayed by the widget
+    -}
+    | ImageTypePixbuf
+    {- ^
+    the widget contains a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'
+    -}
+    | ImageTypeStock
+    {- ^
+    the widget contains a [stock item name][gtkstock]
+    -}
+    | ImageTypeIconSet
+    {- ^
+    the widget contains a 'GI.Gtk.Structs.IconSet.IconSet'
+    -}
+    | ImageTypeAnimation
+    {- ^
+    the widget contains a 'GI.GdkPixbuf.Objects.PixbufAnimation.PixbufAnimation'
+    -}
+    | ImageTypeIconName
+    {- ^
+    the widget contains a named icon.
+     This image type was added in GTK+ 2.6
+    -}
+    | ImageTypeGicon
+    {- ^
+    the widget contains a 'GI.Gio.Interfaces.Icon.Icon'.
+     This image type was added in GTK+ 2.14
+    -}
+    | ImageTypeSurface
+    {- ^
+    the widget contains a 'GI.Cairo.Structs.Surface.Surface'.
+     This image type was added in GTK+ 3.10
+    -}
+    | AnotherImageType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ImageType where
+    fromEnum ImageTypeEmpty = 0
+    fromEnum ImageTypePixbuf = 1
+    fromEnum ImageTypeStock = 2
+    fromEnum ImageTypeIconSet = 3
+    fromEnum ImageTypeAnimation = 4
+    fromEnum ImageTypeIconName = 5
+    fromEnum ImageTypeGicon = 6
+    fromEnum ImageTypeSurface = 7
+    fromEnum (AnotherImageType k) = k
+
+    toEnum 0 = ImageTypeEmpty
+    toEnum 1 = ImageTypePixbuf
+    toEnum 2 = ImageTypeStock
+    toEnum 3 = ImageTypeIconSet
+    toEnum 4 = ImageTypeAnimation
+    toEnum 5 = ImageTypeIconName
+    toEnum 6 = ImageTypeGicon
+    toEnum 7 = ImageTypeSurface
+    toEnum k = AnotherImageType k
+
+instance P.Ord ImageType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_image_type_get_type" c_gtk_image_type_get_type :: 
+    IO GType
+
+instance BoxedEnum ImageType where
+    boxedEnumType _ = c_gtk_image_type_get_type
+
+-- Enum IconViewDropPosition
+{- |
+An enum for determining where a dropped item goes.
+-}
+data IconViewDropPosition = 
+      IconViewDropPositionNoDrop
+    {- ^
+    no drop possible
+    -}
+    | IconViewDropPositionDropInto
+    {- ^
+    dropped item replaces the item
+    -}
+    | IconViewDropPositionDropLeft
+    {- ^
+    droppped item is inserted to the left
+    -}
+    | IconViewDropPositionDropRight
+    {- ^
+    dropped item is inserted to the right
+    -}
+    | IconViewDropPositionDropAbove
+    {- ^
+    dropped item is inserted above
+    -}
+    | IconViewDropPositionDropBelow
+    {- ^
+    dropped item is inserted below
+    -}
+    | AnotherIconViewDropPosition Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum IconViewDropPosition where
+    fromEnum IconViewDropPositionNoDrop = 0
+    fromEnum IconViewDropPositionDropInto = 1
+    fromEnum IconViewDropPositionDropLeft = 2
+    fromEnum IconViewDropPositionDropRight = 3
+    fromEnum IconViewDropPositionDropAbove = 4
+    fromEnum IconViewDropPositionDropBelow = 5
+    fromEnum (AnotherIconViewDropPosition k) = k
+
+    toEnum 0 = IconViewDropPositionNoDrop
+    toEnum 1 = IconViewDropPositionDropInto
+    toEnum 2 = IconViewDropPositionDropLeft
+    toEnum 3 = IconViewDropPositionDropRight
+    toEnum 4 = IconViewDropPositionDropAbove
+    toEnum 5 = IconViewDropPositionDropBelow
+    toEnum k = AnotherIconViewDropPosition k
+
+instance P.Ord IconViewDropPosition where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_icon_view_drop_position_get_type" c_gtk_icon_view_drop_position_get_type :: 
+    IO GType
+
+instance BoxedEnum IconViewDropPosition where
+    boxedEnumType _ = c_gtk_icon_view_drop_position_get_type
+
+-- Enum IconThemeError
+{- |
+Error codes for GtkIconTheme operations.
+-}
+data IconThemeError = 
+      IconThemeErrorNotFound
+    {- ^
+    The icon specified does not exist in the theme
+    -}
+    | IconThemeErrorFailed
+    {- ^
+    An unspecified error occurred.
+    -}
+    | AnotherIconThemeError Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum IconThemeError where
+    fromEnum IconThemeErrorNotFound = 0
+    fromEnum IconThemeErrorFailed = 1
+    fromEnum (AnotherIconThemeError k) = k
+
+    toEnum 0 = IconThemeErrorNotFound
+    toEnum 1 = IconThemeErrorFailed
+    toEnum k = AnotherIconThemeError k
+
+instance P.Ord IconThemeError where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+instance GErrorClass IconThemeError where
+    gerrorClassDomain _ = "gtk-icon-theme-error-quark"
+
+-- | Catch exceptions of type `IconThemeError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.
+catchIconThemeError ::
+    IO a ->
+    (IconThemeError -> GErrorMessage -> IO a) ->
+    IO a
+catchIconThemeError = catchGErrorJustDomain
+
+-- | Handle exceptions of type `IconThemeError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.
+handleIconThemeError ::
+    (IconThemeError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleIconThemeError = handleGErrorJustDomain
+
+foreign import ccall "gtk_icon_theme_error_get_type" c_gtk_icon_theme_error_get_type :: 
+    IO GType
+
+instance BoxedEnum IconThemeError where
+    boxedEnumType _ = c_gtk_icon_theme_error_get_type
+
+-- Enum IconSize
+{- |
+Built-in stock icon sizes.
+-}
+data IconSize = 
+      IconSizeInvalid
+    {- ^
+    Invalid size.
+    -}
+    | IconSizeMenu
+    {- ^
+    Size appropriate for menus (16px).
+    -}
+    | IconSizeSmallToolbar
+    {- ^
+    Size appropriate for small toolbars (16px).
+    -}
+    | IconSizeLargeToolbar
+    {- ^
+    Size appropriate for large toolbars (24px)
+    -}
+    | IconSizeButton
+    {- ^
+    Size appropriate for buttons (16px)
+    -}
+    | IconSizeDnd
+    {- ^
+    Size appropriate for drag and drop (32px)
+    -}
+    | IconSizeDialog
+    {- ^
+    Size appropriate for dialogs (48px)
+    -}
+    | AnotherIconSize Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum IconSize where
+    fromEnum IconSizeInvalid = 0
+    fromEnum IconSizeMenu = 1
+    fromEnum IconSizeSmallToolbar = 2
+    fromEnum IconSizeLargeToolbar = 3
+    fromEnum IconSizeButton = 4
+    fromEnum IconSizeDnd = 5
+    fromEnum IconSizeDialog = 6
+    fromEnum (AnotherIconSize k) = k
+
+    toEnum 0 = IconSizeInvalid
+    toEnum 1 = IconSizeMenu
+    toEnum 2 = IconSizeSmallToolbar
+    toEnum 3 = IconSizeLargeToolbar
+    toEnum 4 = IconSizeButton
+    toEnum 5 = IconSizeDnd
+    toEnum 6 = IconSizeDialog
+    toEnum k = AnotherIconSize k
+
+instance P.Ord IconSize where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_icon_size_get_type" c_gtk_icon_size_get_type :: 
+    IO GType
+
+instance BoxedEnum IconSize where
+    boxedEnumType _ = c_gtk_icon_size_get_type
+
+-- Enum IMStatusStyle
+{-# DEPRECATED IMStatusStyle ["(Since version 3.10)"] #-}
+{- |
+Style for input method status. See also
+'GI.Gtk.Objects.Settings.Settings':@/gtk-im-status-style/@
+-}
+data IMStatusStyle = 
+      IMStatusStyleNothing
+    {- ^
+    Deprecated
+    -}
+    | IMStatusStyleCallback
+    {- ^
+    Deprecated
+    -}
+    | IMStatusStyleNone
+    {- ^
+    Deprecated
+    -}
+    | AnotherIMStatusStyle Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum IMStatusStyle where
+    fromEnum IMStatusStyleNothing = 0
+    fromEnum IMStatusStyleCallback = 1
+    fromEnum IMStatusStyleNone = 2
+    fromEnum (AnotherIMStatusStyle k) = k
+
+    toEnum 0 = IMStatusStyleNothing
+    toEnum 1 = IMStatusStyleCallback
+    toEnum 2 = IMStatusStyleNone
+    toEnum k = AnotherIMStatusStyle k
+
+instance P.Ord IMStatusStyle where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_im_status_style_get_type" c_gtk_im_status_style_get_type :: 
+    IO GType
+
+instance BoxedEnum IMStatusStyle where
+    boxedEnumType _ = c_gtk_im_status_style_get_type
+
+-- Enum IMPreeditStyle
+{-# DEPRECATED IMPreeditStyle ["(Since version 3.10)"] #-}
+{- |
+Style for input method preedit. See also
+'GI.Gtk.Objects.Settings.Settings':@/gtk-im-preedit-style/@
+-}
+data IMPreeditStyle = 
+      IMPreeditStyleNothing
+    {- ^
+    Deprecated
+    -}
+    | IMPreeditStyleCallback
+    {- ^
+    Deprecated
+    -}
+    | IMPreeditStyleNone
+    {- ^
+    Deprecated
+    -}
+    | AnotherIMPreeditStyle Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum IMPreeditStyle where
+    fromEnum IMPreeditStyleNothing = 0
+    fromEnum IMPreeditStyleCallback = 1
+    fromEnum IMPreeditStyleNone = 2
+    fromEnum (AnotherIMPreeditStyle k) = k
+
+    toEnum 0 = IMPreeditStyleNothing
+    toEnum 1 = IMPreeditStyleCallback
+    toEnum 2 = IMPreeditStyleNone
+    toEnum k = AnotherIMPreeditStyle k
+
+instance P.Ord IMPreeditStyle where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_im_preedit_style_get_type" c_gtk_im_preedit_style_get_type :: 
+    IO GType
+
+instance BoxedEnum IMPreeditStyle where
+    boxedEnumType _ = c_gtk_im_preedit_style_get_type
+
+-- Enum FileChooserError
+{- |
+These identify the various errors that can occur while calling
+'GI.Gtk.Interfaces.FileChooser.FileChooser' functions.
+-}
+data FileChooserError = 
+      FileChooserErrorNonexistent
+    {- ^
+    Indicates that a file does not exist.
+    -}
+    | FileChooserErrorBadFilename
+    {- ^
+    Indicates a malformed filename.
+    -}
+    | FileChooserErrorAlreadyExists
+    {- ^
+    Indicates a duplicate path (e.g. when
+     adding a bookmark).
+    -}
+    | FileChooserErrorIncompleteHostname
+    {- ^
+    Indicates an incomplete hostname (e.g. \"http:\/\/foo\" without a slash after that).
+    -}
+    | AnotherFileChooserError Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum FileChooserError where
+    fromEnum FileChooserErrorNonexistent = 0
+    fromEnum FileChooserErrorBadFilename = 1
+    fromEnum FileChooserErrorAlreadyExists = 2
+    fromEnum FileChooserErrorIncompleteHostname = 3
+    fromEnum (AnotherFileChooserError k) = k
+
+    toEnum 0 = FileChooserErrorNonexistent
+    toEnum 1 = FileChooserErrorBadFilename
+    toEnum 2 = FileChooserErrorAlreadyExists
+    toEnum 3 = FileChooserErrorIncompleteHostname
+    toEnum k = AnotherFileChooserError k
+
+instance P.Ord FileChooserError where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+instance GErrorClass FileChooserError where
+    gerrorClassDomain _ = "gtk-file-chooser-error-quark"
+
+-- | Catch exceptions of type `FileChooserError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.
+catchFileChooserError ::
+    IO a ->
+    (FileChooserError -> GErrorMessage -> IO a) ->
+    IO a
+catchFileChooserError = catchGErrorJustDomain
+
+-- | Handle exceptions of type `FileChooserError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.
+handleFileChooserError ::
+    (FileChooserError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleFileChooserError = handleGErrorJustDomain
+
+foreign import ccall "gtk_file_chooser_error_get_type" c_gtk_file_chooser_error_get_type :: 
+    IO GType
+
+instance BoxedEnum FileChooserError where
+    boxedEnumType _ = c_gtk_file_chooser_error_get_type
+
+-- Enum FileChooserConfirmation
+{- |
+Used as a return value of handlers for the
+'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/confirm-overwrite/@ signal of a 'GI.Gtk.Interfaces.FileChooser.FileChooser'. This
+value determines whether the file chooser will present the stock
+confirmation dialog, accept the user’s choice of a filename, or
+let the user choose another filename.
+
+/Since: 2.8/
+-}
+data FileChooserConfirmation = 
+      FileChooserConfirmationConfirm
+    {- ^
+    The file chooser will present
+     its stock dialog to confirm about overwriting an existing file.
+    -}
+    | FileChooserConfirmationAcceptFilename
+    {- ^
+    The file chooser will
+     terminate and accept the user’s choice of a file name.
+    -}
+    | FileChooserConfirmationSelectAgain
+    {- ^
+    The file chooser will
+     continue running, so as to let the user select another file name.
+    -}
+    | AnotherFileChooserConfirmation Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum FileChooserConfirmation where
+    fromEnum FileChooserConfirmationConfirm = 0
+    fromEnum FileChooserConfirmationAcceptFilename = 1
+    fromEnum FileChooserConfirmationSelectAgain = 2
+    fromEnum (AnotherFileChooserConfirmation k) = k
+
+    toEnum 0 = FileChooserConfirmationConfirm
+    toEnum 1 = FileChooserConfirmationAcceptFilename
+    toEnum 2 = FileChooserConfirmationSelectAgain
+    toEnum k = AnotherFileChooserConfirmation k
+
+instance P.Ord FileChooserConfirmation where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_file_chooser_confirmation_get_type" c_gtk_file_chooser_confirmation_get_type :: 
+    IO GType
+
+instance BoxedEnum FileChooserConfirmation where
+    boxedEnumType _ = c_gtk_file_chooser_confirmation_get_type
+
+-- Enum FileChooserAction
+{- |
+Describes whether a 'GI.Gtk.Interfaces.FileChooser.FileChooser' is being used to open existing files
+or to save to a possibly new file.
+-}
+data FileChooserAction = 
+      FileChooserActionOpen
+    {- ^
+    Indicates open mode.  The file chooser
+     will only let the user pick an existing file.
+    -}
+    | FileChooserActionSave
+    {- ^
+    Indicates save mode.  The file chooser
+     will let the user pick an existing file, or type in a new
+     filename.
+    -}
+    | FileChooserActionSelectFolder
+    {- ^
+    Indicates an Open mode for
+     selecting folders.  The file chooser will let the user pick an
+     existing folder.
+    -}
+    | FileChooserActionCreateFolder
+    {- ^
+    Indicates a mode for creating a
+     new folder.  The file chooser will let the user name an existing or
+     new folder.
+    -}
+    | AnotherFileChooserAction Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum FileChooserAction where
+    fromEnum FileChooserActionOpen = 0
+    fromEnum FileChooserActionSave = 1
+    fromEnum FileChooserActionSelectFolder = 2
+    fromEnum FileChooserActionCreateFolder = 3
+    fromEnum (AnotherFileChooserAction k) = k
+
+    toEnum 0 = FileChooserActionOpen
+    toEnum 1 = FileChooserActionSave
+    toEnum 2 = FileChooserActionSelectFolder
+    toEnum 3 = FileChooserActionCreateFolder
+    toEnum k = AnotherFileChooserAction k
+
+instance P.Ord FileChooserAction where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_file_chooser_action_get_type" c_gtk_file_chooser_action_get_type :: 
+    IO GType
+
+instance BoxedEnum FileChooserAction where
+    boxedEnumType _ = c_gtk_file_chooser_action_get_type
+
+-- Enum ExpanderStyle
+{- |
+Used to specify the style of the expanders drawn by a 'GI.Gtk.Objects.TreeView.TreeView'.
+-}
+data ExpanderStyle = 
+      ExpanderStyleCollapsed
+    {- ^
+    The style used for a collapsed subtree.
+    -}
+    | ExpanderStyleSemiCollapsed
+    {- ^
+    Intermediate style used during animation.
+    -}
+    | ExpanderStyleSemiExpanded
+    {- ^
+    Intermediate style used during animation.
+    -}
+    | ExpanderStyleExpanded
+    {- ^
+    The style used for an expanded subtree.
+    -}
+    | AnotherExpanderStyle Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ExpanderStyle where
+    fromEnum ExpanderStyleCollapsed = 0
+    fromEnum ExpanderStyleSemiCollapsed = 1
+    fromEnum ExpanderStyleSemiExpanded = 2
+    fromEnum ExpanderStyleExpanded = 3
+    fromEnum (AnotherExpanderStyle k) = k
+
+    toEnum 0 = ExpanderStyleCollapsed
+    toEnum 1 = ExpanderStyleSemiCollapsed
+    toEnum 2 = ExpanderStyleSemiExpanded
+    toEnum 3 = ExpanderStyleExpanded
+    toEnum k = AnotherExpanderStyle k
+
+instance P.Ord ExpanderStyle where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_expander_style_get_type" c_gtk_expander_style_get_type :: 
+    IO GType
+
+instance BoxedEnum ExpanderStyle where
+    boxedEnumType _ = c_gtk_expander_style_get_type
+
+-- Enum EventSequenceState
+{- |
+Describes the state of a 'GI.Gdk.Structs.EventSequence.EventSequence' in a 'GI.Gtk.Objects.Gesture.Gesture'.
+
+/Since: 3.14/
+-}
+data EventSequenceState = 
+      EventSequenceStateNone
+    {- ^
+    The sequence is handled, but not grabbed.
+    -}
+    | EventSequenceStateClaimed
+    {- ^
+    The sequence is handled and grabbed.
+    -}
+    | EventSequenceStateDenied
+    {- ^
+    The sequence is denied.
+    -}
+    | AnotherEventSequenceState Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum EventSequenceState where
+    fromEnum EventSequenceStateNone = 0
+    fromEnum EventSequenceStateClaimed = 1
+    fromEnum EventSequenceStateDenied = 2
+    fromEnum (AnotherEventSequenceState k) = k
+
+    toEnum 0 = EventSequenceStateNone
+    toEnum 1 = EventSequenceStateClaimed
+    toEnum 2 = EventSequenceStateDenied
+    toEnum k = AnotherEventSequenceState k
+
+instance P.Ord EventSequenceState where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_event_sequence_state_get_type" c_gtk_event_sequence_state_get_type :: 
+    IO GType
+
+instance BoxedEnum EventSequenceState where
+    boxedEnumType _ = c_gtk_event_sequence_state_get_type
+
+-- Enum EntryIconPosition
+{- |
+Specifies the side of the entry at which an icon is placed.
+
+/Since: 2.16/
+-}
+data EntryIconPosition = 
+      EntryIconPositionPrimary
+    {- ^
+    At the beginning of the entry (depending on the text direction).
+    -}
+    | EntryIconPositionSecondary
+    {- ^
+    At the end of the entry (depending on the text direction).
+    -}
+    | AnotherEntryIconPosition Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum EntryIconPosition where
+    fromEnum EntryIconPositionPrimary = 0
+    fromEnum EntryIconPositionSecondary = 1
+    fromEnum (AnotherEntryIconPosition k) = k
+
+    toEnum 0 = EntryIconPositionPrimary
+    toEnum 1 = EntryIconPositionSecondary
+    toEnum k = AnotherEntryIconPosition k
+
+instance P.Ord EntryIconPosition where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_entry_icon_position_get_type" c_gtk_entry_icon_position_get_type :: 
+    IO GType
+
+instance BoxedEnum EntryIconPosition where
+    boxedEnumType _ = c_gtk_entry_icon_position_get_type
+
+-- Enum DragResult
+{- |
+Gives an indication why a drag operation failed.
+The value can by obtained by connecting to the
+'GI.Gtk.Objects.Widget.Widget'::@/drag-failed/@ signal.
+-}
+data DragResult = 
+      DragResultSuccess
+    {- ^
+    The drag operation was successful.
+    -}
+    | DragResultNoTarget
+    {- ^
+    No suitable drag target.
+    -}
+    | DragResultUserCancelled
+    {- ^
+    The user cancelled the drag operation.
+    -}
+    | DragResultTimeoutExpired
+    {- ^
+    The drag operation timed out.
+    -}
+    | DragResultGrabBroken
+    {- ^
+    The pointer or keyboard grab used
+     for the drag operation was broken.
+    -}
+    | DragResultError
+    {- ^
+    The drag operation failed due to some
+     unspecified error.
+    -}
+    | AnotherDragResult Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum DragResult where
+    fromEnum DragResultSuccess = 0
+    fromEnum DragResultNoTarget = 1
+    fromEnum DragResultUserCancelled = 2
+    fromEnum DragResultTimeoutExpired = 3
+    fromEnum DragResultGrabBroken = 4
+    fromEnum DragResultError = 5
+    fromEnum (AnotherDragResult k) = k
+
+    toEnum 0 = DragResultSuccess
+    toEnum 1 = DragResultNoTarget
+    toEnum 2 = DragResultUserCancelled
+    toEnum 3 = DragResultTimeoutExpired
+    toEnum 4 = DragResultGrabBroken
+    toEnum 5 = DragResultError
+    toEnum k = AnotherDragResult k
+
+instance P.Ord DragResult where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_drag_result_get_type" c_gtk_drag_result_get_type :: 
+    IO GType
+
+instance BoxedEnum DragResult where
+    boxedEnumType _ = c_gtk_drag_result_get_type
+
+-- Enum DirectionType
+{- |
+Focus movement types.
+-}
+data DirectionType = 
+      DirectionTypeTabForward
+    {- ^
+    Move forward.
+    -}
+    | DirectionTypeTabBackward
+    {- ^
+    Move backward.
+    -}
+    | DirectionTypeUp
+    {- ^
+    Move up.
+    -}
+    | DirectionTypeDown
+    {- ^
+    Move down.
+    -}
+    | DirectionTypeLeft
+    {- ^
+    Move left.
+    -}
+    | DirectionTypeRight
+    {- ^
+    Move right.
+    -}
+    | AnotherDirectionType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum DirectionType where
+    fromEnum DirectionTypeTabForward = 0
+    fromEnum DirectionTypeTabBackward = 1
+    fromEnum DirectionTypeUp = 2
+    fromEnum DirectionTypeDown = 3
+    fromEnum DirectionTypeLeft = 4
+    fromEnum DirectionTypeRight = 5
+    fromEnum (AnotherDirectionType k) = k
+
+    toEnum 0 = DirectionTypeTabForward
+    toEnum 1 = DirectionTypeTabBackward
+    toEnum 2 = DirectionTypeUp
+    toEnum 3 = DirectionTypeDown
+    toEnum 4 = DirectionTypeLeft
+    toEnum 5 = DirectionTypeRight
+    toEnum k = AnotherDirectionType k
+
+instance P.Ord DirectionType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_direction_type_get_type" c_gtk_direction_type_get_type :: 
+    IO GType
+
+instance BoxedEnum DirectionType where
+    boxedEnumType _ = c_gtk_direction_type_get_type
+
+-- Enum DeleteType
+{- |
+See also: 'GI.Gtk.Objects.Entry.Entry'::@/delete-from-cursor/@.
+-}
+data DeleteType = 
+      DeleteTypeChars
+    {- ^
+    Delete characters.
+    -}
+    | DeleteTypeWordEnds
+    {- ^
+    Delete only the portion of the word to the
+      left\/right of cursor if we’re in the middle of a word.
+    -}
+    | DeleteTypeWords
+    {- ^
+    Delete words.
+    -}
+    | DeleteTypeDisplayLines
+    {- ^
+    Delete display-lines. Display-lines
+      refers to the visible lines, with respect to to the current line
+      breaks. As opposed to paragraphs, which are defined by line
+      breaks in the input.
+    -}
+    | DeleteTypeDisplayLineEnds
+    {- ^
+    Delete only the portion of the
+      display-line to the left\/right of cursor.
+    -}
+    | DeleteTypeParagraphEnds
+    {- ^
+    Delete to the end of the
+      paragraph. Like C-k in Emacs (or its reverse).
+    -}
+    | DeleteTypeParagraphs
+    {- ^
+    Delete entire line. Like C-k in pico.
+    -}
+    | DeleteTypeWhitespace
+    {- ^
+    Delete only whitespace. Like M-\\ in Emacs.
+    -}
+    | AnotherDeleteType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum DeleteType where
+    fromEnum DeleteTypeChars = 0
+    fromEnum DeleteTypeWordEnds = 1
+    fromEnum DeleteTypeWords = 2
+    fromEnum DeleteTypeDisplayLines = 3
+    fromEnum DeleteTypeDisplayLineEnds = 4
+    fromEnum DeleteTypeParagraphEnds = 5
+    fromEnum DeleteTypeParagraphs = 6
+    fromEnum DeleteTypeWhitespace = 7
+    fromEnum (AnotherDeleteType k) = k
+
+    toEnum 0 = DeleteTypeChars
+    toEnum 1 = DeleteTypeWordEnds
+    toEnum 2 = DeleteTypeWords
+    toEnum 3 = DeleteTypeDisplayLines
+    toEnum 4 = DeleteTypeDisplayLineEnds
+    toEnum 5 = DeleteTypeParagraphEnds
+    toEnum 6 = DeleteTypeParagraphs
+    toEnum 7 = DeleteTypeWhitespace
+    toEnum k = AnotherDeleteType k
+
+instance P.Ord DeleteType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_delete_type_get_type" c_gtk_delete_type_get_type :: 
+    IO GType
+
+instance BoxedEnum DeleteType where
+    boxedEnumType _ = c_gtk_delete_type_get_type
+
+-- Enum CssSectionType
+{- |
+The different types of sections indicate parts of a CSS document as
+parsed by GTK’s CSS parser. They are oriented towards the
+<http://www.w3.org/TR/CSS21/grammar.html CSS Grammar>,
+but may contain extensions.
+
+More types might be added in the future as the parser incorporates
+more features.
+
+/Since: 3.2/
+-}
+data CssSectionType = 
+      CssSectionTypeDocument
+    {- ^
+    The section describes a complete document.
+      This section time is the only one where 'GI.Gtk.Structs.CssSection.cssSectionGetParent'
+      might return 'Nothing'.
+    -}
+    | CssSectionTypeImport
+    {- ^
+    The section defines an import rule.
+    -}
+    | CssSectionTypeColorDefinition
+    {- ^
+    The section defines a color. This
+      is a GTK extension to CSS.
+    -}
+    | CssSectionTypeBindingSet
+    {- ^
+    The section defines a binding set. This
+      is a GTK extension to CSS.
+    -}
+    | CssSectionTypeRuleset
+    {- ^
+    The section defines a CSS ruleset.
+    -}
+    | CssSectionTypeSelector
+    {- ^
+    The section defines a CSS selector.
+    -}
+    | CssSectionTypeDeclaration
+    {- ^
+    The section defines the declaration of
+      a CSS variable.
+    -}
+    | CssSectionTypeValue
+    {- ^
+    The section defines the value of a CSS declaration.
+    -}
+    | CssSectionTypeKeyframes
+    {- ^
+    The section defines keyframes. See <http://dev.w3.org/csswg/css3-animations/#keyframes CSS
+      Animations> for details. Since 3.6
+    -}
+    | AnotherCssSectionType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum CssSectionType where
+    fromEnum CssSectionTypeDocument = 0
+    fromEnum CssSectionTypeImport = 1
+    fromEnum CssSectionTypeColorDefinition = 2
+    fromEnum CssSectionTypeBindingSet = 3
+    fromEnum CssSectionTypeRuleset = 4
+    fromEnum CssSectionTypeSelector = 5
+    fromEnum CssSectionTypeDeclaration = 6
+    fromEnum CssSectionTypeValue = 7
+    fromEnum CssSectionTypeKeyframes = 8
+    fromEnum (AnotherCssSectionType k) = k
+
+    toEnum 0 = CssSectionTypeDocument
+    toEnum 1 = CssSectionTypeImport
+    toEnum 2 = CssSectionTypeColorDefinition
+    toEnum 3 = CssSectionTypeBindingSet
+    toEnum 4 = CssSectionTypeRuleset
+    toEnum 5 = CssSectionTypeSelector
+    toEnum 6 = CssSectionTypeDeclaration
+    toEnum 7 = CssSectionTypeValue
+    toEnum 8 = CssSectionTypeKeyframes
+    toEnum k = AnotherCssSectionType k
+
+instance P.Ord CssSectionType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_css_section_type_get_type" c_gtk_css_section_type_get_type :: 
+    IO GType
+
+instance BoxedEnum CssSectionType where
+    boxedEnumType _ = c_gtk_css_section_type_get_type
+
+-- Enum CssProviderError
+{- |
+Error codes for @/GTK_CSS_PROVIDER_ERROR/@.
+-}
+data CssProviderError = 
+      CssProviderErrorFailed
+    {- ^
+    Failed.
+    -}
+    | CssProviderErrorSyntax
+    {- ^
+    Syntax error.
+    -}
+    | CssProviderErrorImport
+    {- ^
+    Import error.
+    -}
+    | CssProviderErrorName
+    {- ^
+    Name error.
+    -}
+    | CssProviderErrorDeprecated
+    {- ^
+    Deprecation error.
+    -}
+    | CssProviderErrorUnknownValue
+    {- ^
+    Unknown value.
+    -}
+    | AnotherCssProviderError Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum CssProviderError where
+    fromEnum CssProviderErrorFailed = 0
+    fromEnum CssProviderErrorSyntax = 1
+    fromEnum CssProviderErrorImport = 2
+    fromEnum CssProviderErrorName = 3
+    fromEnum CssProviderErrorDeprecated = 4
+    fromEnum CssProviderErrorUnknownValue = 5
+    fromEnum (AnotherCssProviderError k) = k
+
+    toEnum 0 = CssProviderErrorFailed
+    toEnum 1 = CssProviderErrorSyntax
+    toEnum 2 = CssProviderErrorImport
+    toEnum 3 = CssProviderErrorName
+    toEnum 4 = CssProviderErrorDeprecated
+    toEnum 5 = CssProviderErrorUnknownValue
+    toEnum k = AnotherCssProviderError k
+
+instance P.Ord CssProviderError where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+instance GErrorClass CssProviderError where
+    gerrorClassDomain _ = "gtk-css-provider-error-quark"
+
+-- | Catch exceptions of type `CssProviderError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.
+catchCssProviderError ::
+    IO a ->
+    (CssProviderError -> GErrorMessage -> IO a) ->
+    IO a
+catchCssProviderError = catchGErrorJustDomain
+
+-- | Handle exceptions of type `CssProviderError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.
+handleCssProviderError ::
+    (CssProviderError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleCssProviderError = handleGErrorJustDomain
+
+foreign import ccall "gtk_css_provider_error_get_type" c_gtk_css_provider_error_get_type :: 
+    IO GType
+
+instance BoxedEnum CssProviderError where
+    boxedEnumType _ = c_gtk_css_provider_error_get_type
+
+-- Enum CornerType
+{- |
+Specifies which corner a child widget should be placed in when packed into
+a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow'. This is effectively the opposite of where the scroll
+bars are placed.
+-}
+data CornerType = 
+      CornerTypeTopLeft
+    {- ^
+    Place the scrollbars on the right and bottom of the
+     widget (default behaviour).
+    -}
+    | CornerTypeBottomLeft
+    {- ^
+    Place the scrollbars on the top and right of the
+     widget.
+    -}
+    | CornerTypeTopRight
+    {- ^
+    Place the scrollbars on the left and bottom of the
+     widget.
+    -}
+    | CornerTypeBottomRight
+    {- ^
+    Place the scrollbars on the top and left of the
+     widget.
+    -}
+    | AnotherCornerType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum CornerType where
+    fromEnum CornerTypeTopLeft = 0
+    fromEnum CornerTypeBottomLeft = 1
+    fromEnum CornerTypeTopRight = 2
+    fromEnum CornerTypeBottomRight = 3
+    fromEnum (AnotherCornerType k) = k
+
+    toEnum 0 = CornerTypeTopLeft
+    toEnum 1 = CornerTypeBottomLeft
+    toEnum 2 = CornerTypeTopRight
+    toEnum 3 = CornerTypeBottomRight
+    toEnum k = AnotherCornerType k
+
+instance P.Ord CornerType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_corner_type_get_type" c_gtk_corner_type_get_type :: 
+    IO GType
+
+instance BoxedEnum CornerType where
+    boxedEnumType _ = c_gtk_corner_type_get_type
+
+-- Enum CellRendererMode
+{- |
+Identifies how the user can interact with a particular cell.
+-}
+data CellRendererMode = 
+      CellRendererModeInert
+    {- ^
+    The cell is just for display
+     and cannot be interacted with.  Note that this doesn’t mean that eg. the
+     row being drawn can’t be selected -- just that a particular element of
+     it cannot be individually modified.
+    -}
+    | CellRendererModeActivatable
+    {- ^
+    The cell can be clicked.
+    -}
+    | CellRendererModeEditable
+    {- ^
+    The cell can be edited or otherwise modified.
+    -}
+    | AnotherCellRendererMode Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum CellRendererMode where
+    fromEnum CellRendererModeInert = 0
+    fromEnum CellRendererModeActivatable = 1
+    fromEnum CellRendererModeEditable = 2
+    fromEnum (AnotherCellRendererMode k) = k
+
+    toEnum 0 = CellRendererModeInert
+    toEnum 1 = CellRendererModeActivatable
+    toEnum 2 = CellRendererModeEditable
+    toEnum k = AnotherCellRendererMode k
+
+instance P.Ord CellRendererMode where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_cell_renderer_mode_get_type" c_gtk_cell_renderer_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum CellRendererMode where
+    boxedEnumType _ = c_gtk_cell_renderer_mode_get_type
+
+-- Enum CellRendererAccelMode
+{- |
+Determines if the edited accelerators are GTK+ accelerators. If
+they are, consumed modifiers are suppressed, only accelerators
+accepted by GTK+ are allowed, and the accelerators are rendered
+in the same way as they are in menus.
+-}
+data CellRendererAccelMode = 
+      CellRendererAccelModeGtk
+    {- ^
+    GTK+ accelerators mode
+    -}
+    | CellRendererAccelModeOther
+    {- ^
+    Other accelerator mode
+    -}
+    | AnotherCellRendererAccelMode Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum CellRendererAccelMode where
+    fromEnum CellRendererAccelModeGtk = 0
+    fromEnum CellRendererAccelModeOther = 1
+    fromEnum (AnotherCellRendererAccelMode k) = k
+
+    toEnum 0 = CellRendererAccelModeGtk
+    toEnum 1 = CellRendererAccelModeOther
+    toEnum k = AnotherCellRendererAccelMode k
+
+instance P.Ord CellRendererAccelMode where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_cell_renderer_accel_mode_get_type" c_gtk_cell_renderer_accel_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum CellRendererAccelMode where
+    boxedEnumType _ = c_gtk_cell_renderer_accel_mode_get_type
+
+-- Enum ButtonsType
+{- |
+Prebuilt sets of buttons for the dialog. If
+none of these choices are appropriate, simply use 'GI.Gtk.Enums.ButtonsTypeNone'
+then call @/gtk_dialog_add_buttons()/@.
+
+> Please note that 'GI.Gtk.Enums.ButtonsTypeOk', 'GI.Gtk.Enums.ButtonsTypeYesNo'
+> and 'GI.Gtk.Enums.ButtonsTypeOkCancel' are discouraged by the
+> <http://library.gnome.org/devel/hig-book/stable/ GNOME Human Interface Guidelines>.
+-}
+data ButtonsType = 
+      ButtonsTypeNone
+    {- ^
+    no buttons at all
+    -}
+    | ButtonsTypeOk
+    {- ^
+    an OK button
+    -}
+    | ButtonsTypeClose
+    {- ^
+    a Close button
+    -}
+    | ButtonsTypeCancel
+    {- ^
+    a Cancel button
+    -}
+    | ButtonsTypeYesNo
+    {- ^
+    Yes and No buttons
+    -}
+    | ButtonsTypeOkCancel
+    {- ^
+    OK and Cancel buttons
+    -}
+    | AnotherButtonsType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ButtonsType where
+    fromEnum ButtonsTypeNone = 0
+    fromEnum ButtonsTypeOk = 1
+    fromEnum ButtonsTypeClose = 2
+    fromEnum ButtonsTypeCancel = 3
+    fromEnum ButtonsTypeYesNo = 4
+    fromEnum ButtonsTypeOkCancel = 5
+    fromEnum (AnotherButtonsType k) = k
+
+    toEnum 0 = ButtonsTypeNone
+    toEnum 1 = ButtonsTypeOk
+    toEnum 2 = ButtonsTypeClose
+    toEnum 3 = ButtonsTypeCancel
+    toEnum 4 = ButtonsTypeYesNo
+    toEnum 5 = ButtonsTypeOkCancel
+    toEnum k = AnotherButtonsType k
+
+instance P.Ord ButtonsType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_buttons_type_get_type" c_gtk_buttons_type_get_type :: 
+    IO GType
+
+instance BoxedEnum ButtonsType where
+    boxedEnumType _ = c_gtk_buttons_type_get_type
+
+-- Enum ButtonRole
+{- |
+The role specifies the desired appearance of a 'GI.Gtk.Objects.ModelButton.ModelButton'.
+-}
+data ButtonRole = 
+      ButtonRoleNormal
+    {- ^
+    A plain button
+    -}
+    | ButtonRoleCheck
+    {- ^
+    A check button
+    -}
+    | ButtonRoleRadio
+    {- ^
+    A radio button
+    -}
+    | AnotherButtonRole Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ButtonRole where
+    fromEnum ButtonRoleNormal = 0
+    fromEnum ButtonRoleCheck = 1
+    fromEnum ButtonRoleRadio = 2
+    fromEnum (AnotherButtonRole k) = k
+
+    toEnum 0 = ButtonRoleNormal
+    toEnum 1 = ButtonRoleCheck
+    toEnum 2 = ButtonRoleRadio
+    toEnum k = AnotherButtonRole k
+
+instance P.Ord ButtonRole where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_button_role_get_type" c_gtk_button_role_get_type :: 
+    IO GType
+
+instance BoxedEnum ButtonRole where
+    boxedEnumType _ = c_gtk_button_role_get_type
+
+-- Enum ButtonBoxStyle
+{- |
+Used to dictate the style that a 'GI.Gtk.Objects.ButtonBox.ButtonBox' uses to layout the buttons it
+contains.
+-}
+data ButtonBoxStyle = 
+      ButtonBoxStyleSpread
+    {- ^
+    Buttons are evenly spread across the box.
+    -}
+    | ButtonBoxStyleEdge
+    {- ^
+    Buttons are placed at the edges of the box.
+    -}
+    | ButtonBoxStyleStart
+    {- ^
+    Buttons are grouped towards the start of the box,
+      (on the left for a HBox, or the top for a VBox).
+    -}
+    | ButtonBoxStyleEnd
+    {- ^
+    Buttons are grouped towards the end of the box,
+      (on the right for a HBox, or the bottom for a VBox).
+    -}
+    | ButtonBoxStyleCenter
+    {- ^
+    Buttons are centered in the box. Since 2.12.
+    -}
+    | ButtonBoxStyleExpand
+    {- ^
+    Buttons expand to fill the box. This entails giving
+      buttons a \"linked\" appearance, making button sizes homogeneous, and
+      setting spacing to 0 (same as calling 'GI.Gtk.Objects.Box.boxSetHomogeneous' and
+      'GI.Gtk.Objects.Box.boxSetSpacing' manually). Since 3.12.
+    -}
+    | AnotherButtonBoxStyle Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ButtonBoxStyle where
+    fromEnum ButtonBoxStyleSpread = 1
+    fromEnum ButtonBoxStyleEdge = 2
+    fromEnum ButtonBoxStyleStart = 3
+    fromEnum ButtonBoxStyleEnd = 4
+    fromEnum ButtonBoxStyleCenter = 5
+    fromEnum ButtonBoxStyleExpand = 6
+    fromEnum (AnotherButtonBoxStyle k) = k
+
+    toEnum 1 = ButtonBoxStyleSpread
+    toEnum 2 = ButtonBoxStyleEdge
+    toEnum 3 = ButtonBoxStyleStart
+    toEnum 4 = ButtonBoxStyleEnd
+    toEnum 5 = ButtonBoxStyleCenter
+    toEnum 6 = ButtonBoxStyleExpand
+    toEnum k = AnotherButtonBoxStyle k
+
+instance P.Ord ButtonBoxStyle where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_button_box_style_get_type" c_gtk_button_box_style_get_type :: 
+    IO GType
+
+instance BoxedEnum ButtonBoxStyle where
+    boxedEnumType _ = c_gtk_button_box_style_get_type
+
+-- Enum BuilderError
+{- |
+Error codes that identify various errors that can occur while using
+'GI.Gtk.Objects.Builder.Builder'.
+-}
+data BuilderError = 
+      BuilderErrorInvalidTypeFunction
+    {- ^
+    A type-func attribute didn’t name
+     a function that returns a 'GType'.
+    -}
+    | BuilderErrorUnhandledTag
+    {- ^
+    The input contained a tag that 'GI.Gtk.Objects.Builder.Builder'
+     can’t handle.
+    -}
+    | BuilderErrorMissingAttribute
+    {- ^
+    An attribute that is required by
+     'GI.Gtk.Objects.Builder.Builder' was missing.
+    -}
+    | BuilderErrorInvalidAttribute
+    {- ^
+    'GI.Gtk.Objects.Builder.Builder' found an attribute that
+     it doesn’t understand.
+    -}
+    | BuilderErrorInvalidTag
+    {- ^
+    'GI.Gtk.Objects.Builder.Builder' found a tag that
+     it doesn’t understand.
+    -}
+    | BuilderErrorMissingPropertyValue
+    {- ^
+    A required property value was
+     missing.
+    -}
+    | BuilderErrorInvalidValue
+    {- ^
+    'GI.Gtk.Objects.Builder.Builder' couldn’t parse
+     some attribute value.
+    -}
+    | BuilderErrorVersionMismatch
+    {- ^
+    The input file requires a newer version
+     of GTK+.
+    -}
+    | BuilderErrorDuplicateId
+    {- ^
+    An object id occurred twice.
+    -}
+    | BuilderErrorObjectTypeRefused
+    {- ^
+    A specified object type is of the same type or
+     derived from the type of the composite class being extended with builder XML.
+    -}
+    | BuilderErrorTemplateMismatch
+    {- ^
+    The wrong type was specified in a composite class’s template XML
+    -}
+    | BuilderErrorInvalidProperty
+    {- ^
+    The specified property is unknown for the object class.
+    -}
+    | BuilderErrorInvalidSignal
+    {- ^
+    The specified signal is unknown for the object class.
+    -}
+    | BuilderErrorInvalidId
+    {- ^
+    An object id is unknown
+    -}
+    | AnotherBuilderError Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum BuilderError where
+    fromEnum BuilderErrorInvalidTypeFunction = 0
+    fromEnum BuilderErrorUnhandledTag = 1
+    fromEnum BuilderErrorMissingAttribute = 2
+    fromEnum BuilderErrorInvalidAttribute = 3
+    fromEnum BuilderErrorInvalidTag = 4
+    fromEnum BuilderErrorMissingPropertyValue = 5
+    fromEnum BuilderErrorInvalidValue = 6
+    fromEnum BuilderErrorVersionMismatch = 7
+    fromEnum BuilderErrorDuplicateId = 8
+    fromEnum BuilderErrorObjectTypeRefused = 9
+    fromEnum BuilderErrorTemplateMismatch = 10
+    fromEnum BuilderErrorInvalidProperty = 11
+    fromEnum BuilderErrorInvalidSignal = 12
+    fromEnum BuilderErrorInvalidId = 13
+    fromEnum (AnotherBuilderError k) = k
+
+    toEnum 0 = BuilderErrorInvalidTypeFunction
+    toEnum 1 = BuilderErrorUnhandledTag
+    toEnum 2 = BuilderErrorMissingAttribute
+    toEnum 3 = BuilderErrorInvalidAttribute
+    toEnum 4 = BuilderErrorInvalidTag
+    toEnum 5 = BuilderErrorMissingPropertyValue
+    toEnum 6 = BuilderErrorInvalidValue
+    toEnum 7 = BuilderErrorVersionMismatch
+    toEnum 8 = BuilderErrorDuplicateId
+    toEnum 9 = BuilderErrorObjectTypeRefused
+    toEnum 10 = BuilderErrorTemplateMismatch
+    toEnum 11 = BuilderErrorInvalidProperty
+    toEnum 12 = BuilderErrorInvalidSignal
+    toEnum 13 = BuilderErrorInvalidId
+    toEnum k = AnotherBuilderError k
+
+instance P.Ord BuilderError where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+instance GErrorClass BuilderError where
+    gerrorClassDomain _ = "gtk-builder-error-quark"
+
+-- | Catch exceptions of type `BuilderError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.
+catchBuilderError ::
+    IO a ->
+    (BuilderError -> GErrorMessage -> IO a) ->
+    IO a
+catchBuilderError = catchGErrorJustDomain
+
+-- | Handle exceptions of type `BuilderError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.
+handleBuilderError ::
+    (BuilderError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleBuilderError = handleGErrorJustDomain
+
+foreign import ccall "gtk_builder_error_get_type" c_gtk_builder_error_get_type :: 
+    IO GType
+
+instance BoxedEnum BuilderError where
+    boxedEnumType _ = c_gtk_builder_error_get_type
+
+-- Enum BorderStyle
+{- |
+Describes how the border of a UI element should be rendered.
+-}
+data BorderStyle = 
+      BorderStyleNone
+    {- ^
+    No visible border
+    -}
+    | BorderStyleSolid
+    {- ^
+    A single line segment
+    -}
+    | BorderStyleInset
+    {- ^
+    Looks as if the content is sunken into the canvas
+    -}
+    | BorderStyleOutset
+    {- ^
+    Looks as if the content is coming out of the canvas
+    -}
+    | BorderStyleHidden
+    {- ^
+    Same as /@gTKBORDERSTYLENONE@/
+    -}
+    | BorderStyleDotted
+    {- ^
+    A series of round dots
+    -}
+    | BorderStyleDashed
+    {- ^
+    A series of square-ended dashes
+    -}
+    | BorderStyleDouble
+    {- ^
+    Two parallel lines with some space between them
+    -}
+    | BorderStyleGroove
+    {- ^
+    Looks as if it were carved in the canvas
+    -}
+    | BorderStyleRidge
+    {- ^
+    Looks as if it were coming out of the canvas
+    -}
+    | AnotherBorderStyle Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum BorderStyle where
+    fromEnum BorderStyleNone = 0
+    fromEnum BorderStyleSolid = 1
+    fromEnum BorderStyleInset = 2
+    fromEnum BorderStyleOutset = 3
+    fromEnum BorderStyleHidden = 4
+    fromEnum BorderStyleDotted = 5
+    fromEnum BorderStyleDashed = 6
+    fromEnum BorderStyleDouble = 7
+    fromEnum BorderStyleGroove = 8
+    fromEnum BorderStyleRidge = 9
+    fromEnum (AnotherBorderStyle k) = k
+
+    toEnum 0 = BorderStyleNone
+    toEnum 1 = BorderStyleSolid
+    toEnum 2 = BorderStyleInset
+    toEnum 3 = BorderStyleOutset
+    toEnum 4 = BorderStyleHidden
+    toEnum 5 = BorderStyleDotted
+    toEnum 6 = BorderStyleDashed
+    toEnum 7 = BorderStyleDouble
+    toEnum 8 = BorderStyleGroove
+    toEnum 9 = BorderStyleRidge
+    toEnum k = AnotherBorderStyle k
+
+instance P.Ord BorderStyle where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_border_style_get_type" c_gtk_border_style_get_type :: 
+    IO GType
+
+instance BoxedEnum BorderStyle where
+    boxedEnumType _ = c_gtk_border_style_get_type
+
+-- Enum BaselinePosition
+{- |
+Whenever a container has some form of natural row it may align
+children in that row along a common typographical baseline. If
+the amount of verical space in the row is taller than the total
+requested height of the baseline-aligned children then it can use a
+'GI.Gtk.Enums.BaselinePosition' to select where to put the baseline inside the
+extra availible space.
+
+/Since: 3.10/
+-}
+data BaselinePosition = 
+      BaselinePositionTop
+    {- ^
+    Align the baseline at the top
+    -}
+    | BaselinePositionCenter
+    {- ^
+    Center the baseline
+    -}
+    | BaselinePositionBottom
+    {- ^
+    Align the baseline at the bottom
+    -}
+    | AnotherBaselinePosition Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum BaselinePosition where
+    fromEnum BaselinePositionTop = 0
+    fromEnum BaselinePositionCenter = 1
+    fromEnum BaselinePositionBottom = 2
+    fromEnum (AnotherBaselinePosition k) = k
+
+    toEnum 0 = BaselinePositionTop
+    toEnum 1 = BaselinePositionCenter
+    toEnum 2 = BaselinePositionBottom
+    toEnum k = AnotherBaselinePosition k
+
+instance P.Ord BaselinePosition where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_baseline_position_get_type" c_gtk_baseline_position_get_type :: 
+    IO GType
+
+instance BoxedEnum BaselinePosition where
+    boxedEnumType _ = c_gtk_baseline_position_get_type
+
+-- Enum AssistantPageType
+{- |
+An enum for determining the page role inside the 'GI.Gtk.Objects.Assistant.Assistant'. It\'s
+used to handle buttons sensitivity and visibility.
+
+Note that an assistant needs to end its page flow with a page of type
+'GI.Gtk.Enums.AssistantPageTypeConfirm', 'GI.Gtk.Enums.AssistantPageTypeSummary' or
+'GI.Gtk.Enums.AssistantPageTypeProgress' to be correct.
+
+The Cancel button will only be shown if the page isn’t “committed”.
+See 'GI.Gtk.Objects.Assistant.assistantCommit' for details.
+-}
+data AssistantPageType = 
+      AssistantPageTypeContent
+    {- ^
+    The page has regular contents. Both the
+     Back and forward buttons will be shown.
+    -}
+    | AssistantPageTypeIntro
+    {- ^
+    The page contains an introduction to the
+     assistant task. Only the Forward button will be shown if there is a
+      next page.
+    -}
+    | AssistantPageTypeConfirm
+    {- ^
+    The page lets the user confirm or deny the
+     changes. The Back and Apply buttons will be shown.
+    -}
+    | AssistantPageTypeSummary
+    {- ^
+    The page informs the user of the changes
+     done. Only the Close button will be shown.
+    -}
+    | AssistantPageTypeProgress
+    {- ^
+    Used for tasks that take a long time to
+     complete, blocks the assistant until the page is marked as complete.
+      Only the back button will be shown.
+    -}
+    | AssistantPageTypeCustom
+    {- ^
+    Used for when other page types are not
+     appropriate. No buttons will be shown, and the application must
+     add its own buttons through 'GI.Gtk.Objects.Assistant.assistantAddActionWidget'.
+    -}
+    | AnotherAssistantPageType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum AssistantPageType where
+    fromEnum AssistantPageTypeContent = 0
+    fromEnum AssistantPageTypeIntro = 1
+    fromEnum AssistantPageTypeConfirm = 2
+    fromEnum AssistantPageTypeSummary = 3
+    fromEnum AssistantPageTypeProgress = 4
+    fromEnum AssistantPageTypeCustom = 5
+    fromEnum (AnotherAssistantPageType k) = k
+
+    toEnum 0 = AssistantPageTypeContent
+    toEnum 1 = AssistantPageTypeIntro
+    toEnum 2 = AssistantPageTypeConfirm
+    toEnum 3 = AssistantPageTypeSummary
+    toEnum 4 = AssistantPageTypeProgress
+    toEnum 5 = AssistantPageTypeCustom
+    toEnum k = AnotherAssistantPageType k
+
+instance P.Ord AssistantPageType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_assistant_page_type_get_type" c_gtk_assistant_page_type_get_type :: 
+    IO GType
+
+instance BoxedEnum AssistantPageType where
+    boxedEnumType _ = c_gtk_assistant_page_type_get_type
+
+-- Enum ArrowType
+{- |
+Used to indicate the direction in which an arrow should point.
+-}
+data ArrowType = 
+      ArrowTypeUp
+    {- ^
+    Represents an upward pointing arrow.
+    -}
+    | ArrowTypeDown
+    {- ^
+    Represents a downward pointing arrow.
+    -}
+    | ArrowTypeLeft
+    {- ^
+    Represents a left pointing arrow.
+    -}
+    | ArrowTypeRight
+    {- ^
+    Represents a right pointing arrow.
+    -}
+    | ArrowTypeNone
+    {- ^
+    No arrow. Since 2.10.
+    -}
+    | AnotherArrowType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ArrowType where
+    fromEnum ArrowTypeUp = 0
+    fromEnum ArrowTypeDown = 1
+    fromEnum ArrowTypeLeft = 2
+    fromEnum ArrowTypeRight = 3
+    fromEnum ArrowTypeNone = 4
+    fromEnum (AnotherArrowType k) = k
+
+    toEnum 0 = ArrowTypeUp
+    toEnum 1 = ArrowTypeDown
+    toEnum 2 = ArrowTypeLeft
+    toEnum 3 = ArrowTypeRight
+    toEnum 4 = ArrowTypeNone
+    toEnum k = AnotherArrowType k
+
+instance P.Ord ArrowType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_arrow_type_get_type" c_gtk_arrow_type_get_type :: 
+    IO GType
+
+instance BoxedEnum ArrowType where
+    boxedEnumType _ = c_gtk_arrow_type_get_type
+
+-- Enum ArrowPlacement
+{- |
+Used to specify the placement of scroll arrows in scrolling menus.
+-}
+data ArrowPlacement = 
+      ArrowPlacementBoth
+    {- ^
+    Place one arrow on each end of the menu.
+    -}
+    | ArrowPlacementStart
+    {- ^
+    Place both arrows at the top of the menu.
+    -}
+    | ArrowPlacementEnd
+    {- ^
+    Place both arrows at the bottom of the menu.
+    -}
+    | AnotherArrowPlacement Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ArrowPlacement where
+    fromEnum ArrowPlacementBoth = 0
+    fromEnum ArrowPlacementStart = 1
+    fromEnum ArrowPlacementEnd = 2
+    fromEnum (AnotherArrowPlacement k) = k
+
+    toEnum 0 = ArrowPlacementBoth
+    toEnum 1 = ArrowPlacementStart
+    toEnum 2 = ArrowPlacementEnd
+    toEnum k = AnotherArrowPlacement k
+
+instance P.Ord ArrowPlacement where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_arrow_placement_get_type" c_gtk_arrow_placement_get_type :: 
+    IO GType
+
+instance BoxedEnum ArrowPlacement where
+    boxedEnumType _ = c_gtk_arrow_placement_get_type
+
+-- Enum Align
+{- |
+Controls how a widget deals with extra space in a single (x or y)
+dimension.
+
+Alignment only matters if the widget receives a “too large” allocation,
+for example if you packed the widget with the 'GI.Gtk.Objects.Widget.Widget':@/expand/@
+flag inside a 'GI.Gtk.Objects.Box.Box', then the widget might get extra space.  If
+you have for example a 16x16 icon inside a 32x32 space, the icon
+could be scaled and stretched, it could be centered, or it could be
+positioned to one side of the space.
+
+Note that in horizontal context /@gTKALIGNSTART@/ and /@gTKALIGNEND@/
+are interpreted relative to text direction.
+
+GTK_ALIGN_BASELINE support for it is optional for containers and widgets, and
+it is only supported for vertical alignment.  When its not supported by
+a child or a container it is treated as /@gTKALIGNFILL@/.
+-}
+data Align = 
+      AlignFill
+    {- ^
+    stretch to fill all space if possible, center if
+        no meaningful way to stretch
+    -}
+    | AlignStart
+    {- ^
+    snap to left or top side, leaving space on right
+        or bottom
+    -}
+    | AlignEnd
+    {- ^
+    snap to right or bottom side, leaving space on left
+        or top
+    -}
+    | AlignCenter
+    {- ^
+    center natural width of widget inside the
+        allocation
+    -}
+    | AlignBaseline
+    {- ^
+    align the widget according to the baseline. Since 3.10.
+    -}
+    | AnotherAlign Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum Align where
+    fromEnum AlignFill = 0
+    fromEnum AlignStart = 1
+    fromEnum AlignEnd = 2
+    fromEnum AlignCenter = 3
+    fromEnum AlignBaseline = 4
+    fromEnum (AnotherAlign k) = k
+
+    toEnum 0 = AlignFill
+    toEnum 1 = AlignStart
+    toEnum 2 = AlignEnd
+    toEnum 3 = AlignCenter
+    toEnum 4 = AlignBaseline
+    toEnum k = AnotherAlign k
+
+instance P.Ord Align where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_align_get_type" c_gtk_align_get_type :: 
+    IO GType
+
+instance BoxedEnum Align where
+    boxedEnumType _ = c_gtk_align_get_type
+
+
diff --git a/GI/Gtk/Enums.hs-boot b/GI/Gtk/Enums.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Enums.hs-boot
@@ -0,0 +1,312 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Enums where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+data WrapMode
+instance P.Enum WrapMode where
+instance BoxedEnum WrapMode where
+data WindowType
+instance P.Enum WindowType where
+instance BoxedEnum WindowType where
+data WindowPosition
+instance P.Enum WindowPosition where
+instance BoxedEnum WindowPosition where
+data WidgetHelpType
+instance P.Enum WidgetHelpType where
+instance BoxedEnum WidgetHelpType where
+data Unit
+instance P.Enum Unit where
+instance BoxedEnum Unit where
+data TreeViewGridLines
+instance P.Enum TreeViewGridLines where
+instance BoxedEnum TreeViewGridLines where
+data TreeViewDropPosition
+instance P.Enum TreeViewDropPosition where
+instance BoxedEnum TreeViewDropPosition where
+data TreeViewColumnSizing
+instance P.Enum TreeViewColumnSizing where
+instance BoxedEnum TreeViewColumnSizing where
+data ToolbarStyle
+instance P.Enum ToolbarStyle where
+instance BoxedEnum ToolbarStyle where
+data ToolbarSpaceStyle
+instance P.Enum ToolbarSpaceStyle where
+instance BoxedEnum ToolbarSpaceStyle where
+data TextWindowType
+instance P.Enum TextWindowType where
+instance BoxedEnum TextWindowType where
+data TextViewLayer
+instance P.Enum TextViewLayer where
+instance BoxedEnum TextViewLayer where
+data TextExtendSelection
+instance P.Enum TextExtendSelection where
+instance BoxedEnum TextExtendSelection where
+data TextDirection
+instance P.Enum TextDirection where
+instance BoxedEnum TextDirection where
+data TextBufferTargetInfo
+instance P.Enum TextBufferTargetInfo where
+instance BoxedEnum TextBufferTargetInfo where
+data StateType
+instance P.Enum StateType where
+instance BoxedEnum StateType where
+data StackTransitionType
+instance P.Enum StackTransitionType where
+instance BoxedEnum StackTransitionType where
+data SpinType
+instance P.Enum SpinType where
+instance BoxedEnum SpinType where
+data SpinButtonUpdatePolicy
+instance P.Enum SpinButtonUpdatePolicy where
+instance BoxedEnum SpinButtonUpdatePolicy where
+data SortType
+instance P.Enum SortType where
+instance BoxedEnum SortType where
+data SizeRequestMode
+instance P.Enum SizeRequestMode where
+instance BoxedEnum SizeRequestMode where
+data SizeGroupMode
+instance P.Enum SizeGroupMode where
+instance BoxedEnum SizeGroupMode where
+data ShortcutType
+instance P.Enum ShortcutType where
+instance BoxedEnum ShortcutType where
+data ShadowType
+instance P.Enum ShadowType where
+instance BoxedEnum ShadowType where
+data SensitivityType
+instance P.Enum SensitivityType where
+instance BoxedEnum SensitivityType where
+data SelectionMode
+instance P.Enum SelectionMode where
+instance BoxedEnum SelectionMode where
+data ScrollablePolicy
+instance P.Enum ScrollablePolicy where
+instance BoxedEnum ScrollablePolicy where
+data ScrollType
+instance P.Enum ScrollType where
+instance BoxedEnum ScrollType where
+data ScrollStep
+instance P.Enum ScrollStep where
+instance BoxedEnum ScrollStep where
+data RevealerTransitionType
+instance P.Enum RevealerTransitionType where
+instance BoxedEnum RevealerTransitionType where
+data ResponseType
+instance P.Enum ResponseType where
+instance BoxedEnum ResponseType where
+data ResizeMode
+instance P.Enum ResizeMode where
+instance BoxedEnum ResizeMode where
+data ReliefStyle
+instance P.Enum ReliefStyle where
+instance BoxedEnum ReliefStyle where
+data RecentSortType
+instance P.Enum RecentSortType where
+instance BoxedEnum RecentSortType where
+data RecentManagerError
+instance P.Enum RecentManagerError where
+instance BoxedEnum RecentManagerError where
+data RecentChooserError
+instance P.Enum RecentChooserError where
+instance BoxedEnum RecentChooserError where
+data RcTokenType
+instance P.Enum RcTokenType where
+instance BoxedEnum RcTokenType where
+data PropagationPhase
+instance P.Enum PropagationPhase where
+instance BoxedEnum PropagationPhase where
+data PrintStatus
+instance P.Enum PrintStatus where
+instance BoxedEnum PrintStatus where
+data PrintQuality
+instance P.Enum PrintQuality where
+instance BoxedEnum PrintQuality where
+data PrintPages
+instance P.Enum PrintPages where
+instance BoxedEnum PrintPages where
+data PrintOperationResult
+instance P.Enum PrintOperationResult where
+instance BoxedEnum PrintOperationResult where
+data PrintOperationAction
+instance P.Enum PrintOperationAction where
+instance BoxedEnum PrintOperationAction where
+data PrintError
+instance P.Enum PrintError where
+instance BoxedEnum PrintError where
+data PrintDuplex
+instance P.Enum PrintDuplex where
+instance BoxedEnum PrintDuplex where
+data PositionType
+instance P.Enum PositionType where
+instance BoxedEnum PositionType where
+data PopoverConstraint
+instance P.Enum PopoverConstraint where
+instance BoxedEnum PopoverConstraint where
+data PolicyType
+instance P.Enum PolicyType where
+instance BoxedEnum PolicyType where
+data PathType
+instance P.Enum PathType where
+instance BoxedEnum PathType where
+data PathPriorityType
+instance P.Enum PathPriorityType where
+instance BoxedEnum PathPriorityType where
+data PanDirection
+instance P.Enum PanDirection where
+instance BoxedEnum PanDirection where
+data PageSet
+instance P.Enum PageSet where
+instance BoxedEnum PageSet where
+data PageOrientation
+instance P.Enum PageOrientation where
+instance BoxedEnum PageOrientation where
+data PadActionType
+instance P.Enum PadActionType where
+instance BoxedEnum PadActionType where
+data PackType
+instance P.Enum PackType where
+instance BoxedEnum PackType where
+data PackDirection
+instance P.Enum PackDirection where
+instance BoxedEnum PackDirection where
+data Orientation
+instance P.Enum Orientation where
+instance BoxedEnum Orientation where
+data NumberUpLayout
+instance P.Enum NumberUpLayout where
+instance BoxedEnum NumberUpLayout where
+data NotebookTab
+instance P.Enum NotebookTab where
+instance BoxedEnum NotebookTab where
+data MovementStep
+instance P.Enum MovementStep where
+instance BoxedEnum MovementStep where
+data MessageType
+instance P.Enum MessageType where
+instance BoxedEnum MessageType where
+data MenuDirectionType
+instance P.Enum MenuDirectionType where
+instance BoxedEnum MenuDirectionType where
+data License
+instance P.Enum License where
+instance BoxedEnum License where
+data LevelBarMode
+instance P.Enum LevelBarMode where
+instance BoxedEnum LevelBarMode where
+data Justification
+instance P.Enum Justification where
+instance BoxedEnum Justification where
+data InputPurpose
+instance P.Enum InputPurpose where
+instance BoxedEnum InputPurpose where
+data ImageType
+instance P.Enum ImageType where
+instance BoxedEnum ImageType where
+data IconViewDropPosition
+instance P.Enum IconViewDropPosition where
+instance BoxedEnum IconViewDropPosition where
+data IconThemeError
+instance P.Enum IconThemeError where
+instance BoxedEnum IconThemeError where
+data IconSize
+instance P.Enum IconSize where
+instance BoxedEnum IconSize where
+data IMStatusStyle
+instance P.Enum IMStatusStyle where
+instance BoxedEnum IMStatusStyle where
+data IMPreeditStyle
+instance P.Enum IMPreeditStyle where
+instance BoxedEnum IMPreeditStyle where
+data FileChooserError
+instance P.Enum FileChooserError where
+instance BoxedEnum FileChooserError where
+data FileChooserConfirmation
+instance P.Enum FileChooserConfirmation where
+instance BoxedEnum FileChooserConfirmation where
+data FileChooserAction
+instance P.Enum FileChooserAction where
+instance BoxedEnum FileChooserAction where
+data ExpanderStyle
+instance P.Enum ExpanderStyle where
+instance BoxedEnum ExpanderStyle where
+data EventSequenceState
+instance P.Enum EventSequenceState where
+instance BoxedEnum EventSequenceState where
+data EntryIconPosition
+instance P.Enum EntryIconPosition where
+instance BoxedEnum EntryIconPosition where
+data DragResult
+instance P.Enum DragResult where
+instance BoxedEnum DragResult where
+data DirectionType
+instance P.Enum DirectionType where
+instance BoxedEnum DirectionType where
+data DeleteType
+instance P.Enum DeleteType where
+instance BoxedEnum DeleteType where
+data CssSectionType
+instance P.Enum CssSectionType where
+instance BoxedEnum CssSectionType where
+data CssProviderError
+instance P.Enum CssProviderError where
+instance BoxedEnum CssProviderError where
+data CornerType
+instance P.Enum CornerType where
+instance BoxedEnum CornerType where
+data CellRendererMode
+instance P.Enum CellRendererMode where
+instance BoxedEnum CellRendererMode where
+data CellRendererAccelMode
+instance P.Enum CellRendererAccelMode where
+instance BoxedEnum CellRendererAccelMode where
+data ButtonsType
+instance P.Enum ButtonsType where
+instance BoxedEnum ButtonsType where
+data ButtonRole
+instance P.Enum ButtonRole where
+instance BoxedEnum ButtonRole where
+data ButtonBoxStyle
+instance P.Enum ButtonBoxStyle where
+instance BoxedEnum ButtonBoxStyle where
+data BuilderError
+instance P.Enum BuilderError where
+instance BoxedEnum BuilderError where
+data BorderStyle
+instance P.Enum BorderStyle where
+instance BoxedEnum BorderStyle where
+data BaselinePosition
+instance P.Enum BaselinePosition where
+instance BoxedEnum BaselinePosition where
+data AssistantPageType
+instance P.Enum AssistantPageType where
+instance BoxedEnum AssistantPageType where
+data ArrowType
+instance P.Enum ArrowType where
+instance BoxedEnum ArrowType where
+data ArrowPlacement
+instance P.Enum ArrowPlacement where
+instance BoxedEnum ArrowPlacement where
+data Align
+instance P.Enum Align where
+instance BoxedEnum Align where
diff --git a/GI/Gtk/Flags.hs b/GI/Gtk/Flags.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Flags.hs
@@ -0,0 +1,1827 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Flags
+    ( 
+
+ -- * Flags
+-- ** AccelFlags #flag:AccelFlags#
+
+    AccelFlags(..)                          ,
+
+
+-- ** ApplicationInhibitFlags #flag:ApplicationInhibitFlags#
+
+    ApplicationInhibitFlags(..)             ,
+
+
+-- ** AttachOptions #flag:AttachOptions#
+
+    AttachOptions(..)                       ,
+
+
+-- ** CalendarDisplayOptions #flag:CalendarDisplayOptions#
+
+    CalendarDisplayOptions(..)              ,
+
+
+-- ** CellRendererState #flag:CellRendererState#
+
+    CellRendererState(..)                   ,
+
+
+-- ** DebugFlag #flag:DebugFlag#
+
+    DebugFlag(..)                           ,
+
+
+-- ** DestDefaults #flag:DestDefaults#
+
+    DestDefaults(..)                        ,
+
+
+-- ** DialogFlags #flag:DialogFlags#
+
+    DialogFlags(..)                         ,
+
+
+-- ** EventControllerScrollFlags #flag:EventControllerScrollFlags#
+
+    EventControllerScrollFlags(..)          ,
+
+
+-- ** FileFilterFlags #flag:FileFilterFlags#
+
+    FileFilterFlags(..)                     ,
+
+
+-- ** FontChooserLevel #flag:FontChooserLevel#
+
+    FontChooserLevel(..)                    ,
+
+
+-- ** IconLookupFlags #flag:IconLookupFlags#
+
+    IconLookupFlags(..)                     ,
+
+
+-- ** InputHints #flag:InputHints#
+
+    InputHints(..)                          ,
+
+
+-- ** JunctionSides #flag:JunctionSides#
+
+    JunctionSides(..)                       ,
+
+
+-- ** PlacesOpenFlags #flag:PlacesOpenFlags#
+
+    PlacesOpenFlags(..)                     ,
+
+
+-- ** RcFlags #flag:RcFlags#
+
+    RcFlags(..)                             ,
+
+
+-- ** RecentFilterFlags #flag:RecentFilterFlags#
+
+    RecentFilterFlags(..)                   ,
+
+
+-- ** RegionFlags #flag:RegionFlags#
+
+    RegionFlags(..)                         ,
+
+
+-- ** StateFlags #flag:StateFlags#
+
+    StateFlags(..)                          ,
+
+
+-- ** StyleContextPrintFlags #flag:StyleContextPrintFlags#
+
+    StyleContextPrintFlags(..)              ,
+
+
+-- ** TargetFlags #flag:TargetFlags#
+
+    TargetFlags(..)                         ,
+
+
+-- ** TextSearchFlags #flag:TextSearchFlags#
+
+    TextSearchFlags(..)                     ,
+
+
+-- ** ToolPaletteDragTargets #flag:ToolPaletteDragTargets#
+
+    ToolPaletteDragTargets(..)              ,
+
+
+-- ** TreeModelFlags #flag:TreeModelFlags#
+
+    TreeModelFlags(..)                      ,
+
+
+-- ** UIManagerItemType #flag:UIManagerItemType#
+
+    UIManagerItemType(..)                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- Flags UIManagerItemType
+{-# DEPRECATED UIManagerItemType ["(Since version 3.10)"] #-}
+{- |
+These enumeration values are used by 'GI.Gtk.Objects.UIManager.uIManagerAddUi' to determine
+what UI element to create.
+-}
+data UIManagerItemType = 
+      UIManagerItemTypeAuto
+    {- ^
+    Pick the type of the UI element according to context.
+    -}
+    | UIManagerItemTypeMenubar
+    {- ^
+    Create a menubar.
+    -}
+    | UIManagerItemTypeMenu
+    {- ^
+    Create a menu.
+    -}
+    | UIManagerItemTypeToolbar
+    {- ^
+    Create a toolbar.
+    -}
+    | UIManagerItemTypePlaceholder
+    {- ^
+    Insert a placeholder.
+    -}
+    | UIManagerItemTypePopup
+    {- ^
+    Create a popup menu.
+    -}
+    | UIManagerItemTypeMenuitem
+    {- ^
+    Create a menuitem.
+    -}
+    | UIManagerItemTypeToolitem
+    {- ^
+    Create a toolitem.
+    -}
+    | UIManagerItemTypeSeparator
+    {- ^
+    Create a separator.
+    -}
+    | UIManagerItemTypeAccelerator
+    {- ^
+    Install an accelerator.
+    -}
+    | UIManagerItemTypePopupWithAccels
+    {- ^
+    Same as 'GI.Gtk.Flags.UIManagerItemTypePopup', but the
+      actions’ accelerators are shown.
+    -}
+    | AnotherUIManagerItemType Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum UIManagerItemType where
+    fromEnum UIManagerItemTypeAuto = 0
+    fromEnum UIManagerItemTypeMenubar = 1
+    fromEnum UIManagerItemTypeMenu = 2
+    fromEnum UIManagerItemTypeToolbar = 4
+    fromEnum UIManagerItemTypePlaceholder = 8
+    fromEnum UIManagerItemTypePopup = 16
+    fromEnum UIManagerItemTypeMenuitem = 32
+    fromEnum UIManagerItemTypeToolitem = 64
+    fromEnum UIManagerItemTypeSeparator = 128
+    fromEnum UIManagerItemTypeAccelerator = 256
+    fromEnum UIManagerItemTypePopupWithAccels = 512
+    fromEnum (AnotherUIManagerItemType k) = k
+
+    toEnum 0 = UIManagerItemTypeAuto
+    toEnum 1 = UIManagerItemTypeMenubar
+    toEnum 2 = UIManagerItemTypeMenu
+    toEnum 4 = UIManagerItemTypeToolbar
+    toEnum 8 = UIManagerItemTypePlaceholder
+    toEnum 16 = UIManagerItemTypePopup
+    toEnum 32 = UIManagerItemTypeMenuitem
+    toEnum 64 = UIManagerItemTypeToolitem
+    toEnum 128 = UIManagerItemTypeSeparator
+    toEnum 256 = UIManagerItemTypeAccelerator
+    toEnum 512 = UIManagerItemTypePopupWithAccels
+    toEnum k = AnotherUIManagerItemType k
+
+instance P.Ord UIManagerItemType where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_ui_manager_item_type_get_type" c_gtk_ui_manager_item_type_get_type :: 
+    IO GType
+
+instance BoxedFlags UIManagerItemType where
+    boxedFlagsType _ = c_gtk_ui_manager_item_type_get_type
+
+instance IsGFlag UIManagerItemType
+
+-- Flags TreeModelFlags
+{- |
+These flags indicate various properties of a 'GI.Gtk.Interfaces.TreeModel.TreeModel'.
+
+They are returned by 'GI.Gtk.Interfaces.TreeModel.treeModelGetFlags', and must be
+static for the lifetime of the object. A more complete description
+of @/GTK_TREE_MODEL_ITERS_PERSIST/@ can be found in the overview of
+this section.
+-}
+data TreeModelFlags = 
+      TreeModelFlagsItersPersist
+    {- ^
+    iterators survive all signals
+        emitted by the tree
+    -}
+    | TreeModelFlagsListOnly
+    {- ^
+    the model is a list only, and never
+        has children
+    -}
+    | AnotherTreeModelFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TreeModelFlags where
+    fromEnum TreeModelFlagsItersPersist = 1
+    fromEnum TreeModelFlagsListOnly = 2
+    fromEnum (AnotherTreeModelFlags k) = k
+
+    toEnum 1 = TreeModelFlagsItersPersist
+    toEnum 2 = TreeModelFlagsListOnly
+    toEnum k = AnotherTreeModelFlags k
+
+instance P.Ord TreeModelFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_tree_model_flags_get_type" c_gtk_tree_model_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags TreeModelFlags where
+    boxedFlagsType _ = c_gtk_tree_model_flags_get_type
+
+instance IsGFlag TreeModelFlags
+
+-- Flags ToolPaletteDragTargets
+{- |
+Flags used to specify the supported drag targets.
+-}
+data ToolPaletteDragTargets = 
+      ToolPaletteDragTargetsItems
+    {- ^
+    Support drag of items.
+    -}
+    | ToolPaletteDragTargetsGroups
+    {- ^
+    Support drag of groups.
+    -}
+    | AnotherToolPaletteDragTargets Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ToolPaletteDragTargets where
+    fromEnum ToolPaletteDragTargetsItems = 1
+    fromEnum ToolPaletteDragTargetsGroups = 2
+    fromEnum (AnotherToolPaletteDragTargets k) = k
+
+    toEnum 1 = ToolPaletteDragTargetsItems
+    toEnum 2 = ToolPaletteDragTargetsGroups
+    toEnum k = AnotherToolPaletteDragTargets k
+
+instance P.Ord ToolPaletteDragTargets where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_tool_palette_drag_targets_get_type" c_gtk_tool_palette_drag_targets_get_type :: 
+    IO GType
+
+instance BoxedFlags ToolPaletteDragTargets where
+    boxedFlagsType _ = c_gtk_tool_palette_drag_targets_get_type
+
+instance IsGFlag ToolPaletteDragTargets
+
+-- Flags TextSearchFlags
+{- |
+Flags affecting how a search is done.
+
+If neither @/GTK_TEXT_SEARCH_VISIBLE_ONLY/@ nor @/GTK_TEXT_SEARCH_TEXT_ONLY/@ are
+enabled, the match must be exact; the special 0xFFFC character will match
+embedded pixbufs or child widgets.
+-}
+data TextSearchFlags = 
+      TextSearchFlagsVisibleOnly
+    {- ^
+    Search only visible data. A search match may
+    have invisible text interspersed.
+    -}
+    | TextSearchFlagsTextOnly
+    {- ^
+    Search only text. A match may have pixbufs or
+    child widgets mixed inside the matched range.
+    -}
+    | TextSearchFlagsCaseInsensitive
+    {- ^
+    The text will be matched regardless of
+    what case it is in.
+    -}
+    | AnotherTextSearchFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TextSearchFlags where
+    fromEnum TextSearchFlagsVisibleOnly = 1
+    fromEnum TextSearchFlagsTextOnly = 2
+    fromEnum TextSearchFlagsCaseInsensitive = 4
+    fromEnum (AnotherTextSearchFlags k) = k
+
+    toEnum 1 = TextSearchFlagsVisibleOnly
+    toEnum 2 = TextSearchFlagsTextOnly
+    toEnum 4 = TextSearchFlagsCaseInsensitive
+    toEnum k = AnotherTextSearchFlags k
+
+instance P.Ord TextSearchFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_text_search_flags_get_type" c_gtk_text_search_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags TextSearchFlags where
+    boxedFlagsType _ = c_gtk_text_search_flags_get_type
+
+instance IsGFlag TextSearchFlags
+
+-- Flags TargetFlags
+{- |
+The 'GI.Gtk.Flags.TargetFlags' enumeration is used to specify
+constraints on a 'GI.Gtk.Structs.TargetEntry.TargetEntry'.
+-}
+data TargetFlags = 
+      TargetFlagsSameApp
+    {- ^
+    If this is set, the target will only be selected
+      for drags within a single application.
+    -}
+    | TargetFlagsSameWidget
+    {- ^
+    If this is set, the target will only be selected
+      for drags within a single widget.
+    -}
+    | TargetFlagsOtherApp
+    {- ^
+    If this is set, the target will not be selected
+      for drags within a single application.
+    -}
+    | TargetFlagsOtherWidget
+    {- ^
+    If this is set, the target will not be selected
+      for drags withing a single widget.
+    -}
+    | AnotherTargetFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum TargetFlags where
+    fromEnum TargetFlagsSameApp = 1
+    fromEnum TargetFlagsSameWidget = 2
+    fromEnum TargetFlagsOtherApp = 4
+    fromEnum TargetFlagsOtherWidget = 8
+    fromEnum (AnotherTargetFlags k) = k
+
+    toEnum 1 = TargetFlagsSameApp
+    toEnum 2 = TargetFlagsSameWidget
+    toEnum 4 = TargetFlagsOtherApp
+    toEnum 8 = TargetFlagsOtherWidget
+    toEnum k = AnotherTargetFlags k
+
+instance P.Ord TargetFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_target_flags_get_type" c_gtk_target_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags TargetFlags where
+    boxedFlagsType _ = c_gtk_target_flags_get_type
+
+instance IsGFlag TargetFlags
+
+-- Flags StyleContextPrintFlags
+{- |
+Flags that modify the behavior of 'GI.Gtk.Objects.StyleContext.styleContextToString'.
+New values may be added to this enumeration.
+-}
+data StyleContextPrintFlags = 
+      StyleContextPrintFlagsNone
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | StyleContextPrintFlagsRecurse
+    {- ^
+    Print the entire tree of
+        CSS nodes starting at the style context\'s node
+    -}
+    | StyleContextPrintFlagsShowStyle
+    {- ^
+    Show the values of the
+        CSS properties for each node
+    -}
+    | AnotherStyleContextPrintFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum StyleContextPrintFlags where
+    fromEnum StyleContextPrintFlagsNone = 0
+    fromEnum StyleContextPrintFlagsRecurse = 1
+    fromEnum StyleContextPrintFlagsShowStyle = 2
+    fromEnum (AnotherStyleContextPrintFlags k) = k
+
+    toEnum 0 = StyleContextPrintFlagsNone
+    toEnum 1 = StyleContextPrintFlagsRecurse
+    toEnum 2 = StyleContextPrintFlagsShowStyle
+    toEnum k = AnotherStyleContextPrintFlags k
+
+instance P.Ord StyleContextPrintFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_style_context_print_flags_get_type" c_gtk_style_context_print_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags StyleContextPrintFlags where
+    boxedFlagsType _ = c_gtk_style_context_print_flags_get_type
+
+instance IsGFlag StyleContextPrintFlags
+
+-- Flags StateFlags
+{- |
+Describes a widget state. Widget states are used to match the widget
+against CSS pseudo-classes. Note that GTK extends the regular CSS
+classes and sometimes uses different names.
+-}
+data StateFlags = 
+      StateFlagsNormal
+    {- ^
+    State during normal operation.
+    -}
+    | StateFlagsActive
+    {- ^
+    Widget is active.
+    -}
+    | StateFlagsPrelight
+    {- ^
+    Widget has a mouse pointer over it.
+    -}
+    | StateFlagsSelected
+    {- ^
+    Widget is selected.
+    -}
+    | StateFlagsInsensitive
+    {- ^
+    Widget is insensitive.
+    -}
+    | StateFlagsInconsistent
+    {- ^
+    Widget is inconsistent.
+    -}
+    | StateFlagsFocused
+    {- ^
+    Widget has the keyboard focus.
+    -}
+    | StateFlagsBackdrop
+    {- ^
+    Widget is in a background toplevel window.
+    -}
+    | StateFlagsDirLtr
+    {- ^
+    Widget is in left-to-right text direction. Since 3.8
+    -}
+    | StateFlagsDirRtl
+    {- ^
+    Widget is in right-to-left text direction. Since 3.8
+    -}
+    | StateFlagsLink
+    {- ^
+    Widget is a link. Since 3.12
+    -}
+    | StateFlagsVisited
+    {- ^
+    The location the widget points to has already been visited. Since 3.12
+    -}
+    | StateFlagsChecked
+    {- ^
+    Widget is checked. Since 3.14
+    -}
+    | StateFlagsDropActive
+    {- ^
+    Widget is highlighted as a drop target for DND. Since 3.20
+    -}
+    | AnotherStateFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum StateFlags where
+    fromEnum StateFlagsNormal = 0
+    fromEnum StateFlagsActive = 1
+    fromEnum StateFlagsPrelight = 2
+    fromEnum StateFlagsSelected = 4
+    fromEnum StateFlagsInsensitive = 8
+    fromEnum StateFlagsInconsistent = 16
+    fromEnum StateFlagsFocused = 32
+    fromEnum StateFlagsBackdrop = 64
+    fromEnum StateFlagsDirLtr = 128
+    fromEnum StateFlagsDirRtl = 256
+    fromEnum StateFlagsLink = 512
+    fromEnum StateFlagsVisited = 1024
+    fromEnum StateFlagsChecked = 2048
+    fromEnum StateFlagsDropActive = 4096
+    fromEnum (AnotherStateFlags k) = k
+
+    toEnum 0 = StateFlagsNormal
+    toEnum 1 = StateFlagsActive
+    toEnum 2 = StateFlagsPrelight
+    toEnum 4 = StateFlagsSelected
+    toEnum 8 = StateFlagsInsensitive
+    toEnum 16 = StateFlagsInconsistent
+    toEnum 32 = StateFlagsFocused
+    toEnum 64 = StateFlagsBackdrop
+    toEnum 128 = StateFlagsDirLtr
+    toEnum 256 = StateFlagsDirRtl
+    toEnum 512 = StateFlagsLink
+    toEnum 1024 = StateFlagsVisited
+    toEnum 2048 = StateFlagsChecked
+    toEnum 4096 = StateFlagsDropActive
+    toEnum k = AnotherStateFlags k
+
+instance P.Ord StateFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_state_flags_get_type" c_gtk_state_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags StateFlags where
+    boxedFlagsType _ = c_gtk_state_flags_get_type
+
+instance IsGFlag StateFlags
+
+-- Flags RegionFlags
+{- |
+Describes a region within a widget.
+-}
+data RegionFlags = 
+      RegionFlagsEven
+    {- ^
+    Region has an even number within a set.
+    -}
+    | RegionFlagsOdd
+    {- ^
+    Region has an odd number within a set.
+    -}
+    | RegionFlagsFirst
+    {- ^
+    Region is the first one within a set.
+    -}
+    | RegionFlagsLast
+    {- ^
+    Region is the last one within a set.
+    -}
+    | RegionFlagsOnly
+    {- ^
+    Region is the only one within a set.
+    -}
+    | RegionFlagsSorted
+    {- ^
+    Region is part of a sorted area.
+    -}
+    | AnotherRegionFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum RegionFlags where
+    fromEnum RegionFlagsEven = 1
+    fromEnum RegionFlagsOdd = 2
+    fromEnum RegionFlagsFirst = 4
+    fromEnum RegionFlagsLast = 8
+    fromEnum RegionFlagsOnly = 16
+    fromEnum RegionFlagsSorted = 32
+    fromEnum (AnotherRegionFlags k) = k
+
+    toEnum 1 = RegionFlagsEven
+    toEnum 2 = RegionFlagsOdd
+    toEnum 4 = RegionFlagsFirst
+    toEnum 8 = RegionFlagsLast
+    toEnum 16 = RegionFlagsOnly
+    toEnum 32 = RegionFlagsSorted
+    toEnum k = AnotherRegionFlags k
+
+instance P.Ord RegionFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_region_flags_get_type" c_gtk_region_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags RegionFlags where
+    boxedFlagsType _ = c_gtk_region_flags_get_type
+
+instance IsGFlag RegionFlags
+
+-- Flags RecentFilterFlags
+{- |
+These flags indicate what parts of a 'GI.Gtk.Structs.RecentFilterInfo.RecentFilterInfo' struct
+are filled or need to be filled.
+-}
+data RecentFilterFlags = 
+      RecentFilterFlagsUri
+    {- ^
+    the URI of the file being tested
+    -}
+    | RecentFilterFlagsDisplayName
+    {- ^
+    the string that will be used to
+     display the file in the recent chooser
+    -}
+    | RecentFilterFlagsMimeType
+    {- ^
+    the mime type of the file
+    -}
+    | RecentFilterFlagsApplication
+    {- ^
+    the list of applications that have
+     registered the file
+    -}
+    | RecentFilterFlagsGroup
+    {- ^
+    the groups to which the file belongs to
+    -}
+    | RecentFilterFlagsAge
+    {- ^
+    the number of days elapsed since the file
+     has been registered
+    -}
+    | AnotherRecentFilterFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum RecentFilterFlags where
+    fromEnum RecentFilterFlagsUri = 1
+    fromEnum RecentFilterFlagsDisplayName = 2
+    fromEnum RecentFilterFlagsMimeType = 4
+    fromEnum RecentFilterFlagsApplication = 8
+    fromEnum RecentFilterFlagsGroup = 16
+    fromEnum RecentFilterFlagsAge = 32
+    fromEnum (AnotherRecentFilterFlags k) = k
+
+    toEnum 1 = RecentFilterFlagsUri
+    toEnum 2 = RecentFilterFlagsDisplayName
+    toEnum 4 = RecentFilterFlagsMimeType
+    toEnum 8 = RecentFilterFlagsApplication
+    toEnum 16 = RecentFilterFlagsGroup
+    toEnum 32 = RecentFilterFlagsAge
+    toEnum k = AnotherRecentFilterFlags k
+
+instance P.Ord RecentFilterFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_recent_filter_flags_get_type" c_gtk_recent_filter_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags RecentFilterFlags where
+    boxedFlagsType _ = c_gtk_recent_filter_flags_get_type
+
+instance IsGFlag RecentFilterFlags
+
+-- Flags RcFlags
+{- |
+Deprecated
+-}
+data RcFlags = 
+      RcFlagsFg
+    {- ^
+    Deprecated
+    -}
+    | RcFlagsBg
+    {- ^
+    Deprecated
+    -}
+    | RcFlagsText
+    {- ^
+    Deprecated
+    -}
+    | RcFlagsBase
+    {- ^
+    Deprecated
+    -}
+    | AnotherRcFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum RcFlags where
+    fromEnum RcFlagsFg = 1
+    fromEnum RcFlagsBg = 2
+    fromEnum RcFlagsText = 4
+    fromEnum RcFlagsBase = 8
+    fromEnum (AnotherRcFlags k) = k
+
+    toEnum 1 = RcFlagsFg
+    toEnum 2 = RcFlagsBg
+    toEnum 4 = RcFlagsText
+    toEnum 8 = RcFlagsBase
+    toEnum k = AnotherRcFlags k
+
+instance P.Ord RcFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_rc_flags_get_type" c_gtk_rc_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags RcFlags where
+    boxedFlagsType _ = c_gtk_rc_flags_get_type
+
+instance IsGFlag RcFlags
+
+-- Flags PlacesOpenFlags
+{- |
+These flags serve two purposes.  First, the application can call 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetOpenFlags'
+using these flags as a bitmask.  This tells the sidebar that the application is able to open
+folders selected from the sidebar in various ways, for example, in new tabs or in new windows in
+addition to the normal mode.
+
+Second, when one of these values gets passed back to the application in the
+'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@ signal, it means that the application should
+open the selected location in the normal way, in a new tab, or in a new
+window.  The sidebar takes care of determining the desired way to open the location,
+based on the modifier keys that the user is pressing at the time the selection is made.
+
+If the application never calls 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetOpenFlags', then the sidebar will only
+use @/GTK_PLACES_OPEN_NORMAL/@ in the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@ signal.  This is the
+default mode of operation.
+-}
+data PlacesOpenFlags = 
+      PlacesOpenFlagsNormal
+    {- ^
+    This is the default mode that 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' uses if no other flags
+     are specified.  It indicates that the calling application should open the selected location
+     in the normal way, for example, in the folder view beside the sidebar.
+    -}
+    | PlacesOpenFlagsNewTab
+    {- ^
+    When passed to 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetOpenFlags', this indicates
+     that the application can open folders selected from the sidebar in new tabs.  This value
+     will be passed to the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@ signal when the user selects
+     that a location be opened in a new tab instead of in the standard fashion.
+    -}
+    | PlacesOpenFlagsNewWindow
+    {- ^
+    Similar to /@gTKPLACESOPENNEWTAB@/, but indicates that the application
+     can open folders in new windows.
+    -}
+    | AnotherPlacesOpenFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum PlacesOpenFlags where
+    fromEnum PlacesOpenFlagsNormal = 1
+    fromEnum PlacesOpenFlagsNewTab = 2
+    fromEnum PlacesOpenFlagsNewWindow = 4
+    fromEnum (AnotherPlacesOpenFlags k) = k
+
+    toEnum 1 = PlacesOpenFlagsNormal
+    toEnum 2 = PlacesOpenFlagsNewTab
+    toEnum 4 = PlacesOpenFlagsNewWindow
+    toEnum k = AnotherPlacesOpenFlags k
+
+instance P.Ord PlacesOpenFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_places_open_flags_get_type" c_gtk_places_open_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags PlacesOpenFlags where
+    boxedFlagsType _ = c_gtk_places_open_flags_get_type
+
+instance IsGFlag PlacesOpenFlags
+
+-- Flags JunctionSides
+{- |
+Describes how a rendered element connects to adjacent elements.
+-}
+data JunctionSides = 
+      JunctionSidesNone
+    {- ^
+    No junctions.
+    -}
+    | JunctionSidesCornerTopleft
+    {- ^
+    Element connects on the top-left corner.
+    -}
+    | JunctionSidesCornerTopright
+    {- ^
+    Element connects on the top-right corner.
+    -}
+    | JunctionSidesCornerBottomleft
+    {- ^
+    Element connects on the bottom-left corner.
+    -}
+    | JunctionSidesCornerBottomright
+    {- ^
+    Element connects on the bottom-right corner.
+    -}
+    | JunctionSidesTop
+    {- ^
+    Element connects on the top side.
+    -}
+    | JunctionSidesBottom
+    {- ^
+    Element connects on the bottom side.
+    -}
+    | JunctionSidesLeft
+    {- ^
+    Element connects on the left side.
+    -}
+    | JunctionSidesRight
+    {- ^
+    Element connects on the right side.
+    -}
+    | AnotherJunctionSides Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum JunctionSides where
+    fromEnum JunctionSidesNone = 0
+    fromEnum JunctionSidesCornerTopleft = 1
+    fromEnum JunctionSidesCornerTopright = 2
+    fromEnum JunctionSidesCornerBottomleft = 4
+    fromEnum JunctionSidesCornerBottomright = 8
+    fromEnum JunctionSidesTop = 3
+    fromEnum JunctionSidesBottom = 12
+    fromEnum JunctionSidesLeft = 5
+    fromEnum JunctionSidesRight = 10
+    fromEnum (AnotherJunctionSides k) = k
+
+    toEnum 0 = JunctionSidesNone
+    toEnum 1 = JunctionSidesCornerTopleft
+    toEnum 2 = JunctionSidesCornerTopright
+    toEnum 4 = JunctionSidesCornerBottomleft
+    toEnum 8 = JunctionSidesCornerBottomright
+    toEnum 3 = JunctionSidesTop
+    toEnum 12 = JunctionSidesBottom
+    toEnum 5 = JunctionSidesLeft
+    toEnum 10 = JunctionSidesRight
+    toEnum k = AnotherJunctionSides k
+
+instance P.Ord JunctionSides where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_junction_sides_get_type" c_gtk_junction_sides_get_type :: 
+    IO GType
+
+instance BoxedFlags JunctionSides where
+    boxedFlagsType _ = c_gtk_junction_sides_get_type
+
+instance IsGFlag JunctionSides
+
+-- Flags InputHints
+{- |
+Describes hints that might be taken into account by input methods
+or applications. Note that input methods may already tailor their
+behaviour according to the 'GI.Gtk.Enums.InputPurpose' of the entry.
+
+Some common sense is expected when using these flags - mixing
+/@gTKINPUTHINTLOWERCASE@/ with any of the uppercase hints makes no sense.
+
+This enumeration may be extended in the future; input methods should
+ignore unknown values.
+
+/Since: 3.6/
+-}
+data InputHints = 
+      InputHintsNone
+    {- ^
+    No special behaviour suggested
+    -}
+    | InputHintsSpellcheck
+    {- ^
+    Suggest checking for typos
+    -}
+    | InputHintsNoSpellcheck
+    {- ^
+    Suggest not checking for typos
+    -}
+    | InputHintsWordCompletion
+    {- ^
+    Suggest word completion
+    -}
+    | InputHintsLowercase
+    {- ^
+    Suggest to convert all text to lowercase
+    -}
+    | InputHintsUppercaseChars
+    {- ^
+    Suggest to capitalize all text
+    -}
+    | InputHintsUppercaseWords
+    {- ^
+    Suggest to capitalize the first
+        character of each word
+    -}
+    | InputHintsUppercaseSentences
+    {- ^
+    Suggest to capitalize the
+        first word of each sentence
+    -}
+    | InputHintsInhibitOsk
+    {- ^
+    Suggest to not show an onscreen keyboard
+        (e.g for a calculator that already has all the keys).
+    -}
+    | InputHintsVerticalWriting
+    {- ^
+    The text is vertical. Since 3.18
+    -}
+    | InputHintsEmoji
+    {- ^
+    Suggest offering Emoji support. Since 3.22.20
+    -}
+    | InputHintsNoEmoji
+    {- ^
+    Suggest not offering Emoji support. Since 3.22.20
+    -}
+    | AnotherInputHints Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum InputHints where
+    fromEnum InputHintsNone = 0
+    fromEnum InputHintsSpellcheck = 1
+    fromEnum InputHintsNoSpellcheck = 2
+    fromEnum InputHintsWordCompletion = 4
+    fromEnum InputHintsLowercase = 8
+    fromEnum InputHintsUppercaseChars = 16
+    fromEnum InputHintsUppercaseWords = 32
+    fromEnum InputHintsUppercaseSentences = 64
+    fromEnum InputHintsInhibitOsk = 128
+    fromEnum InputHintsVerticalWriting = 256
+    fromEnum InputHintsEmoji = 512
+    fromEnum InputHintsNoEmoji = 1024
+    fromEnum (AnotherInputHints k) = k
+
+    toEnum 0 = InputHintsNone
+    toEnum 1 = InputHintsSpellcheck
+    toEnum 2 = InputHintsNoSpellcheck
+    toEnum 4 = InputHintsWordCompletion
+    toEnum 8 = InputHintsLowercase
+    toEnum 16 = InputHintsUppercaseChars
+    toEnum 32 = InputHintsUppercaseWords
+    toEnum 64 = InputHintsUppercaseSentences
+    toEnum 128 = InputHintsInhibitOsk
+    toEnum 256 = InputHintsVerticalWriting
+    toEnum 512 = InputHintsEmoji
+    toEnum 1024 = InputHintsNoEmoji
+    toEnum k = AnotherInputHints k
+
+instance P.Ord InputHints where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_input_hints_get_type" c_gtk_input_hints_get_type :: 
+    IO GType
+
+instance BoxedFlags InputHints where
+    boxedFlagsType _ = c_gtk_input_hints_get_type
+
+instance IsGFlag InputHints
+
+-- Flags IconLookupFlags
+{- |
+Used to specify options for 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon'
+-}
+data IconLookupFlags = 
+      IconLookupFlagsNoSvg
+    {- ^
+    Never get SVG icons, even if gdk-pixbuf
+      supports them. Cannot be used together with 'GI.Gtk.Flags.IconLookupFlagsForceSvg'.
+    -}
+    | IconLookupFlagsForceSvg
+    {- ^
+    Get SVG icons, even if gdk-pixbuf
+      doesn’t support them.
+      Cannot be used together with 'GI.Gtk.Flags.IconLookupFlagsNoSvg'.
+    -}
+    | IconLookupFlagsUseBuiltin
+    {- ^
+    When passed to
+      'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' includes builtin icons
+      as well as files. For a builtin icon, 'GI.Gtk.Objects.IconInfo.iconInfoGetFilename'
+      is 'Nothing' and you need to call 'GI.Gtk.Objects.IconInfo.iconInfoGetBuiltinPixbuf'.
+    -}
+    | IconLookupFlagsGenericFallback
+    {- ^
+    Try to shorten icon name at \'-\'
+      characters before looking at inherited themes. This flag is only
+      supported in functions that take a single icon name. For more general
+      fallback, see 'GI.Gtk.Objects.IconTheme.iconThemeChooseIcon'. Since 2.12.
+    -}
+    | IconLookupFlagsForceSize
+    {- ^
+    Always get the icon scaled to the
+      requested size. Since 2.14.
+    -}
+    | IconLookupFlagsForceRegular
+    {- ^
+    Try to always load regular icons, even
+      when symbolic icon names are given. Since 3.14.
+    -}
+    | IconLookupFlagsForceSymbolic
+    {- ^
+    Try to always load symbolic icons, even
+      when regular icon names are given. Since 3.14.
+    -}
+    | IconLookupFlagsDirLtr
+    {- ^
+    Try to load a variant of the icon for left-to-right
+      text direction. Since 3.14.
+    -}
+    | IconLookupFlagsDirRtl
+    {- ^
+    Try to load a variant of the icon for right-to-left
+      text direction. Since 3.14.
+    -}
+    | AnotherIconLookupFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum IconLookupFlags where
+    fromEnum IconLookupFlagsNoSvg = 1
+    fromEnum IconLookupFlagsForceSvg = 2
+    fromEnum IconLookupFlagsUseBuiltin = 4
+    fromEnum IconLookupFlagsGenericFallback = 8
+    fromEnum IconLookupFlagsForceSize = 16
+    fromEnum IconLookupFlagsForceRegular = 32
+    fromEnum IconLookupFlagsForceSymbolic = 64
+    fromEnum IconLookupFlagsDirLtr = 128
+    fromEnum IconLookupFlagsDirRtl = 256
+    fromEnum (AnotherIconLookupFlags k) = k
+
+    toEnum 1 = IconLookupFlagsNoSvg
+    toEnum 2 = IconLookupFlagsForceSvg
+    toEnum 4 = IconLookupFlagsUseBuiltin
+    toEnum 8 = IconLookupFlagsGenericFallback
+    toEnum 16 = IconLookupFlagsForceSize
+    toEnum 32 = IconLookupFlagsForceRegular
+    toEnum 64 = IconLookupFlagsForceSymbolic
+    toEnum 128 = IconLookupFlagsDirLtr
+    toEnum 256 = IconLookupFlagsDirRtl
+    toEnum k = AnotherIconLookupFlags k
+
+instance P.Ord IconLookupFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_icon_lookup_flags_get_type" c_gtk_icon_lookup_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags IconLookupFlags where
+    boxedFlagsType _ = c_gtk_icon_lookup_flags_get_type
+
+instance IsGFlag IconLookupFlags
+
+-- Flags FontChooserLevel
+{- |
+This enumeration specifies the granularity of font selection
+that is desired in a font chooser.
+
+This enumeration may be extended in the future; applications should
+ignore unknown values.
+-}
+data FontChooserLevel = 
+      FontChooserLevelFamily
+    {- ^
+    Allow selecting a font family
+    -}
+    | FontChooserLevelStyle
+    {- ^
+    Allow selecting a specific font face
+    -}
+    | FontChooserLevelSize
+    {- ^
+    Allow selecting a specific font size
+    -}
+    | FontChooserLevelVariations
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | FontChooserLevelFeatures
+    {- ^
+    Allow selecting specific OpenType font features
+    -}
+    | AnotherFontChooserLevel Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum FontChooserLevel where
+    fromEnum FontChooserLevelFamily = 0
+    fromEnum FontChooserLevelStyle = 1
+    fromEnum FontChooserLevelSize = 2
+    fromEnum FontChooserLevelVariations = 4
+    fromEnum FontChooserLevelFeatures = 8
+    fromEnum (AnotherFontChooserLevel k) = k
+
+    toEnum 0 = FontChooserLevelFamily
+    toEnum 1 = FontChooserLevelStyle
+    toEnum 2 = FontChooserLevelSize
+    toEnum 4 = FontChooserLevelVariations
+    toEnum 8 = FontChooserLevelFeatures
+    toEnum k = AnotherFontChooserLevel k
+
+instance P.Ord FontChooserLevel where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_font_chooser_level_get_type" c_gtk_font_chooser_level_get_type :: 
+    IO GType
+
+instance BoxedFlags FontChooserLevel where
+    boxedFlagsType _ = c_gtk_font_chooser_level_get_type
+
+instance IsGFlag FontChooserLevel
+
+-- Flags FileFilterFlags
+{- |
+These flags indicate what parts of a 'GI.Gtk.Structs.FileFilterInfo.FileFilterInfo' struct
+are filled or need to be filled.
+-}
+data FileFilterFlags = 
+      FileFilterFlagsFilename
+    {- ^
+    the filename of the file being tested
+    -}
+    | FileFilterFlagsUri
+    {- ^
+    the URI for the file being tested
+    -}
+    | FileFilterFlagsDisplayName
+    {- ^
+    the string that will be used to
+      display the file in the file chooser
+    -}
+    | FileFilterFlagsMimeType
+    {- ^
+    the mime type of the file
+    -}
+    | AnotherFileFilterFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum FileFilterFlags where
+    fromEnum FileFilterFlagsFilename = 1
+    fromEnum FileFilterFlagsUri = 2
+    fromEnum FileFilterFlagsDisplayName = 4
+    fromEnum FileFilterFlagsMimeType = 8
+    fromEnum (AnotherFileFilterFlags k) = k
+
+    toEnum 1 = FileFilterFlagsFilename
+    toEnum 2 = FileFilterFlagsUri
+    toEnum 4 = FileFilterFlagsDisplayName
+    toEnum 8 = FileFilterFlagsMimeType
+    toEnum k = AnotherFileFilterFlags k
+
+instance P.Ord FileFilterFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_file_filter_flags_get_type" c_gtk_file_filter_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags FileFilterFlags where
+    boxedFlagsType _ = c_gtk_file_filter_flags_get_type
+
+instance IsGFlag FileFilterFlags
+
+-- Flags EventControllerScrollFlags
+{- |
+Describes the behavior of a 'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll'.
+
+/Since: 3.24/
+-}
+data EventControllerScrollFlags = 
+      EventControllerScrollFlagsNone
+    {- ^
+    Don\'t emit scroll.
+    -}
+    | EventControllerScrollFlagsVertical
+    {- ^
+    Emit scroll with vertical deltas.
+    -}
+    | EventControllerScrollFlagsHorizontal
+    {- ^
+    Emit scroll with horizontal deltas.
+    -}
+    | EventControllerScrollFlagsDiscrete
+    {- ^
+    Only emit deltas that are multiples of 1.
+    -}
+    | EventControllerScrollFlagsKinetic
+    {- ^
+    Emit 'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll'::@/decelerate/@
+      after continuous scroll finishes.
+    -}
+    | EventControllerScrollFlagsBothAxes
+    {- ^
+    Emit scroll on both axes.
+    -}
+    | AnotherEventControllerScrollFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum EventControllerScrollFlags where
+    fromEnum EventControllerScrollFlagsNone = 0
+    fromEnum EventControllerScrollFlagsVertical = 1
+    fromEnum EventControllerScrollFlagsHorizontal = 2
+    fromEnum EventControllerScrollFlagsDiscrete = 4
+    fromEnum EventControllerScrollFlagsKinetic = 8
+    fromEnum EventControllerScrollFlagsBothAxes = 3
+    fromEnum (AnotherEventControllerScrollFlags k) = k
+
+    toEnum 0 = EventControllerScrollFlagsNone
+    toEnum 1 = EventControllerScrollFlagsVertical
+    toEnum 2 = EventControllerScrollFlagsHorizontal
+    toEnum 4 = EventControllerScrollFlagsDiscrete
+    toEnum 8 = EventControllerScrollFlagsKinetic
+    toEnum 3 = EventControllerScrollFlagsBothAxes
+    toEnum k = AnotherEventControllerScrollFlags k
+
+instance P.Ord EventControllerScrollFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_event_controller_scroll_flags_get_type" c_gtk_event_controller_scroll_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags EventControllerScrollFlags where
+    boxedFlagsType _ = c_gtk_event_controller_scroll_flags_get_type
+
+instance IsGFlag EventControllerScrollFlags
+
+-- Flags DialogFlags
+{- |
+Flags used to influence dialog construction.
+-}
+data DialogFlags = 
+      DialogFlagsModal
+    {- ^
+    Make the constructed dialog modal,
+        see 'GI.Gtk.Objects.Window.windowSetModal'
+    -}
+    | DialogFlagsDestroyWithParent
+    {- ^
+    Destroy the dialog when its
+        parent is destroyed, see 'GI.Gtk.Objects.Window.windowSetDestroyWithParent'
+    -}
+    | DialogFlagsUseHeaderBar
+    {- ^
+    Create dialog with actions in header
+        bar instead of action area. Since 3.12.
+    -}
+    | AnotherDialogFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum DialogFlags where
+    fromEnum DialogFlagsModal = 1
+    fromEnum DialogFlagsDestroyWithParent = 2
+    fromEnum DialogFlagsUseHeaderBar = 4
+    fromEnum (AnotherDialogFlags k) = k
+
+    toEnum 1 = DialogFlagsModal
+    toEnum 2 = DialogFlagsDestroyWithParent
+    toEnum 4 = DialogFlagsUseHeaderBar
+    toEnum k = AnotherDialogFlags k
+
+instance P.Ord DialogFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_dialog_flags_get_type" c_gtk_dialog_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags DialogFlags where
+    boxedFlagsType _ = c_gtk_dialog_flags_get_type
+
+instance IsGFlag DialogFlags
+
+-- Flags DestDefaults
+{- |
+The 'GI.Gtk.Flags.DestDefaults' enumeration specifies the various
+types of action that will be taken on behalf
+of the user for a drag destination site.
+-}
+data DestDefaults = 
+      DestDefaultsMotion
+    {- ^
+    If set for a widget, GTK+, during a drag over this
+      widget will check if the drag matches this widget’s list of possible targets
+      and actions.
+      GTK+ will then call 'GI.Gdk.Functions.dragStatus' as appropriate.
+    -}
+    | DestDefaultsHighlight
+    {- ^
+    If set for a widget, GTK+ will draw a highlight on
+      this widget as long as a drag is over this widget and the widget drag format
+      and action are acceptable.
+    -}
+    | DestDefaultsDrop
+    {- ^
+    If set for a widget, when a drop occurs, GTK+ will
+      will check if the drag matches this widget’s list of possible targets and
+      actions. If so, GTK+ will call 'GI.Gtk.Objects.Widget.widgetDragGetData' on behalf of the widget.
+      Whether or not the drop is successful, GTK+ will call 'GI.Gtk.Functions.dragFinish'. If
+      the action was a move, then if the drag was successful, then 'True' will be
+      passed for the /@delete@/ parameter to 'GI.Gtk.Functions.dragFinish'.
+    -}
+    | DestDefaultsAll
+    {- ^
+    If set, specifies that all default actions should
+      be taken.
+    -}
+    | AnotherDestDefaults Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum DestDefaults where
+    fromEnum DestDefaultsMotion = 1
+    fromEnum DestDefaultsHighlight = 2
+    fromEnum DestDefaultsDrop = 4
+    fromEnum DestDefaultsAll = 7
+    fromEnum (AnotherDestDefaults k) = k
+
+    toEnum 1 = DestDefaultsMotion
+    toEnum 2 = DestDefaultsHighlight
+    toEnum 4 = DestDefaultsDrop
+    toEnum 7 = DestDefaultsAll
+    toEnum k = AnotherDestDefaults k
+
+instance P.Ord DestDefaults where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_dest_defaults_get_type" c_gtk_dest_defaults_get_type :: 
+    IO GType
+
+instance BoxedFlags DestDefaults where
+    boxedFlagsType _ = c_gtk_dest_defaults_get_type
+
+instance IsGFlag DestDefaults
+
+-- Flags DebugFlag
+{- |
+/No description available in the introspection data./
+-}
+data DebugFlag = 
+      DebugFlagMisc
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagPlugsocket
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagText
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagTree
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagUpdates
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagKeybindings
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagMultihead
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagModules
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagGeometry
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagIcontheme
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagPrinting
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagBuilder
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagSizeRequest
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagNoCssCache
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagBaselines
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagPixelCache
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagNoPixelCache
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagInteractive
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagTouchscreen
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagActions
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagResize
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | DebugFlagLayout
+    {- ^
+    /No description available in the introspection data./
+    -}
+    | AnotherDebugFlag Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum DebugFlag where
+    fromEnum DebugFlagMisc = 1
+    fromEnum DebugFlagPlugsocket = 2
+    fromEnum DebugFlagText = 4
+    fromEnum DebugFlagTree = 8
+    fromEnum DebugFlagUpdates = 16
+    fromEnum DebugFlagKeybindings = 32
+    fromEnum DebugFlagMultihead = 64
+    fromEnum DebugFlagModules = 128
+    fromEnum DebugFlagGeometry = 256
+    fromEnum DebugFlagIcontheme = 512
+    fromEnum DebugFlagPrinting = 1024
+    fromEnum DebugFlagBuilder = 2048
+    fromEnum DebugFlagSizeRequest = 4096
+    fromEnum DebugFlagNoCssCache = 8192
+    fromEnum DebugFlagBaselines = 16384
+    fromEnum DebugFlagPixelCache = 32768
+    fromEnum DebugFlagNoPixelCache = 65536
+    fromEnum DebugFlagInteractive = 131072
+    fromEnum DebugFlagTouchscreen = 262144
+    fromEnum DebugFlagActions = 524288
+    fromEnum DebugFlagResize = 1048576
+    fromEnum DebugFlagLayout = 2097152
+    fromEnum (AnotherDebugFlag k) = k
+
+    toEnum 1 = DebugFlagMisc
+    toEnum 2 = DebugFlagPlugsocket
+    toEnum 4 = DebugFlagText
+    toEnum 8 = DebugFlagTree
+    toEnum 16 = DebugFlagUpdates
+    toEnum 32 = DebugFlagKeybindings
+    toEnum 64 = DebugFlagMultihead
+    toEnum 128 = DebugFlagModules
+    toEnum 256 = DebugFlagGeometry
+    toEnum 512 = DebugFlagIcontheme
+    toEnum 1024 = DebugFlagPrinting
+    toEnum 2048 = DebugFlagBuilder
+    toEnum 4096 = DebugFlagSizeRequest
+    toEnum 8192 = DebugFlagNoCssCache
+    toEnum 16384 = DebugFlagBaselines
+    toEnum 32768 = DebugFlagPixelCache
+    toEnum 65536 = DebugFlagNoPixelCache
+    toEnum 131072 = DebugFlagInteractive
+    toEnum 262144 = DebugFlagTouchscreen
+    toEnum 524288 = DebugFlagActions
+    toEnum 1048576 = DebugFlagResize
+    toEnum 2097152 = DebugFlagLayout
+    toEnum k = AnotherDebugFlag k
+
+instance P.Ord DebugFlag where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_debug_flag_get_type" c_gtk_debug_flag_get_type :: 
+    IO GType
+
+instance BoxedFlags DebugFlag where
+    boxedFlagsType _ = c_gtk_debug_flag_get_type
+
+instance IsGFlag DebugFlag
+
+-- Flags CellRendererState
+{- |
+Tells how a cell is to be rendered.
+-}
+data CellRendererState = 
+      CellRendererStateSelected
+    {- ^
+    The cell is currently selected, and
+     probably has a selection colored background to render to.
+    -}
+    | CellRendererStatePrelit
+    {- ^
+    The mouse is hovering over the cell.
+    -}
+    | CellRendererStateInsensitive
+    {- ^
+    The cell is drawn in an insensitive manner
+    -}
+    | CellRendererStateSorted
+    {- ^
+    The cell is in a sorted row
+    -}
+    | CellRendererStateFocused
+    {- ^
+    The cell is in the focus row.
+    -}
+    | CellRendererStateExpandable
+    {- ^
+    The cell is in a row that can be expanded. Since 3.4
+    -}
+    | CellRendererStateExpanded
+    {- ^
+    The cell is in a row that is expanded. Since 3.4
+    -}
+    | AnotherCellRendererState Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum CellRendererState where
+    fromEnum CellRendererStateSelected = 1
+    fromEnum CellRendererStatePrelit = 2
+    fromEnum CellRendererStateInsensitive = 4
+    fromEnum CellRendererStateSorted = 8
+    fromEnum CellRendererStateFocused = 16
+    fromEnum CellRendererStateExpandable = 32
+    fromEnum CellRendererStateExpanded = 64
+    fromEnum (AnotherCellRendererState k) = k
+
+    toEnum 1 = CellRendererStateSelected
+    toEnum 2 = CellRendererStatePrelit
+    toEnum 4 = CellRendererStateInsensitive
+    toEnum 8 = CellRendererStateSorted
+    toEnum 16 = CellRendererStateFocused
+    toEnum 32 = CellRendererStateExpandable
+    toEnum 64 = CellRendererStateExpanded
+    toEnum k = AnotherCellRendererState k
+
+instance P.Ord CellRendererState where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_cell_renderer_state_get_type" c_gtk_cell_renderer_state_get_type :: 
+    IO GType
+
+instance BoxedFlags CellRendererState where
+    boxedFlagsType _ = c_gtk_cell_renderer_state_get_type
+
+instance IsGFlag CellRendererState
+
+-- Flags CalendarDisplayOptions
+{- |
+These options can be used to influence the display and behaviour of a 'GI.Gtk.Objects.Calendar.Calendar'.
+-}
+data CalendarDisplayOptions = 
+      CalendarDisplayOptionsShowHeading
+    {- ^
+    Specifies that the month and year should be displayed.
+    -}
+    | CalendarDisplayOptionsShowDayNames
+    {- ^
+    Specifies that three letter day descriptions should be present.
+    -}
+    | CalendarDisplayOptionsNoMonthChange
+    {- ^
+    Prevents the user from switching months with the calendar.
+    -}
+    | CalendarDisplayOptionsShowWeekNumbers
+    {- ^
+    Displays each week numbers of the current year, down the
+    left side of the calendar.
+    -}
+    | CalendarDisplayOptionsShowDetails
+    {- ^
+    Just show an indicator, not the full details
+    text when details are provided. See 'GI.Gtk.Objects.Calendar.calendarSetDetailFunc'.
+    -}
+    | AnotherCalendarDisplayOptions Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum CalendarDisplayOptions where
+    fromEnum CalendarDisplayOptionsShowHeading = 1
+    fromEnum CalendarDisplayOptionsShowDayNames = 2
+    fromEnum CalendarDisplayOptionsNoMonthChange = 4
+    fromEnum CalendarDisplayOptionsShowWeekNumbers = 8
+    fromEnum CalendarDisplayOptionsShowDetails = 32
+    fromEnum (AnotherCalendarDisplayOptions k) = k
+
+    toEnum 1 = CalendarDisplayOptionsShowHeading
+    toEnum 2 = CalendarDisplayOptionsShowDayNames
+    toEnum 4 = CalendarDisplayOptionsNoMonthChange
+    toEnum 8 = CalendarDisplayOptionsShowWeekNumbers
+    toEnum 32 = CalendarDisplayOptionsShowDetails
+    toEnum k = AnotherCalendarDisplayOptions k
+
+instance P.Ord CalendarDisplayOptions where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_calendar_display_options_get_type" c_gtk_calendar_display_options_get_type :: 
+    IO GType
+
+instance BoxedFlags CalendarDisplayOptions where
+    boxedFlagsType _ = c_gtk_calendar_display_options_get_type
+
+instance IsGFlag CalendarDisplayOptions
+
+-- Flags AttachOptions
+{- |
+Denotes the expansion properties that a widget will have when it (or its
+parent) is resized.
+-}
+data AttachOptions = 
+      AttachOptionsExpand
+    {- ^
+    the widget should expand to take up any extra space in its
+    container that has been allocated.
+    -}
+    | AttachOptionsShrink
+    {- ^
+    the widget should shrink as and when possible.
+    -}
+    | AttachOptionsFill
+    {- ^
+    the widget should fill the space allocated to it.
+    -}
+    | AnotherAttachOptions Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum AttachOptions where
+    fromEnum AttachOptionsExpand = 1
+    fromEnum AttachOptionsShrink = 2
+    fromEnum AttachOptionsFill = 4
+    fromEnum (AnotherAttachOptions k) = k
+
+    toEnum 1 = AttachOptionsExpand
+    toEnum 2 = AttachOptionsShrink
+    toEnum 4 = AttachOptionsFill
+    toEnum k = AnotherAttachOptions k
+
+instance P.Ord AttachOptions where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_attach_options_get_type" c_gtk_attach_options_get_type :: 
+    IO GType
+
+instance BoxedFlags AttachOptions where
+    boxedFlagsType _ = c_gtk_attach_options_get_type
+
+instance IsGFlag AttachOptions
+
+-- Flags ApplicationInhibitFlags
+{- |
+Types of user actions that may be blocked by 'GI.Gtk.Objects.Application.applicationInhibit'.
+
+/Since: 3.4/
+-}
+data ApplicationInhibitFlags = 
+      ApplicationInhibitFlagsLogout
+    {- ^
+    Inhibit ending the user session
+        by logging out or by shutting down the computer
+    -}
+    | ApplicationInhibitFlagsSwitch
+    {- ^
+    Inhibit user switching
+    -}
+    | ApplicationInhibitFlagsSuspend
+    {- ^
+    Inhibit suspending the
+        session or computer
+    -}
+    | ApplicationInhibitFlagsIdle
+    {- ^
+    Inhibit the session being
+        marked as idle (and possibly locked)
+    -}
+    | AnotherApplicationInhibitFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum ApplicationInhibitFlags where
+    fromEnum ApplicationInhibitFlagsLogout = 1
+    fromEnum ApplicationInhibitFlagsSwitch = 2
+    fromEnum ApplicationInhibitFlagsSuspend = 4
+    fromEnum ApplicationInhibitFlagsIdle = 8
+    fromEnum (AnotherApplicationInhibitFlags k) = k
+
+    toEnum 1 = ApplicationInhibitFlagsLogout
+    toEnum 2 = ApplicationInhibitFlagsSwitch
+    toEnum 4 = ApplicationInhibitFlagsSuspend
+    toEnum 8 = ApplicationInhibitFlagsIdle
+    toEnum k = AnotherApplicationInhibitFlags k
+
+instance P.Ord ApplicationInhibitFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_application_inhibit_flags_get_type" c_gtk_application_inhibit_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags ApplicationInhibitFlags where
+    boxedFlagsType _ = c_gtk_application_inhibit_flags_get_type
+
+instance IsGFlag ApplicationInhibitFlags
+
+-- Flags AccelFlags
+{- |
+Accelerator flags used with 'GI.Gtk.Objects.AccelGroup.accelGroupConnect'.
+-}
+data AccelFlags = 
+      AccelFlagsVisible
+    {- ^
+    Accelerator is visible
+    -}
+    | AccelFlagsLocked
+    {- ^
+    Accelerator not removable
+    -}
+    | AccelFlagsMask
+    {- ^
+    Mask
+    -}
+    | AnotherAccelFlags Int
+    -- ^ Catch-all for unknown values
+    deriving (Show, Eq)
+
+instance P.Enum AccelFlags where
+    fromEnum AccelFlagsVisible = 1
+    fromEnum AccelFlagsLocked = 2
+    fromEnum AccelFlagsMask = 7
+    fromEnum (AnotherAccelFlags k) = k
+
+    toEnum 1 = AccelFlagsVisible
+    toEnum 2 = AccelFlagsLocked
+    toEnum 7 = AccelFlagsMask
+    toEnum k = AnotherAccelFlags k
+
+instance P.Ord AccelFlags where
+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
+
+foreign import ccall "gtk_accel_flags_get_type" c_gtk_accel_flags_get_type :: 
+    IO GType
+
+instance BoxedFlags AccelFlags where
+    boxedFlagsType _ = c_gtk_accel_flags_get_type
+
+instance IsGFlag AccelFlags
+
+
diff --git a/GI/Gtk/Flags.hs-boot b/GI/Gtk/Flags.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Flags.hs-boot
@@ -0,0 +1,124 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Flags where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+data UIManagerItemType
+instance P.Enum UIManagerItemType where
+instance BoxedFlags UIManagerItemType where
+instance IsGFlag UIManagerItemType
+data TreeModelFlags
+instance P.Enum TreeModelFlags where
+instance BoxedFlags TreeModelFlags where
+instance IsGFlag TreeModelFlags
+data ToolPaletteDragTargets
+instance P.Enum ToolPaletteDragTargets where
+instance BoxedFlags ToolPaletteDragTargets where
+instance IsGFlag ToolPaletteDragTargets
+data TextSearchFlags
+instance P.Enum TextSearchFlags where
+instance BoxedFlags TextSearchFlags where
+instance IsGFlag TextSearchFlags
+data TargetFlags
+instance P.Enum TargetFlags where
+instance BoxedFlags TargetFlags where
+instance IsGFlag TargetFlags
+data StyleContextPrintFlags
+instance P.Enum StyleContextPrintFlags where
+instance BoxedFlags StyleContextPrintFlags where
+instance IsGFlag StyleContextPrintFlags
+data StateFlags
+instance P.Enum StateFlags where
+instance BoxedFlags StateFlags where
+instance IsGFlag StateFlags
+data RegionFlags
+instance P.Enum RegionFlags where
+instance BoxedFlags RegionFlags where
+instance IsGFlag RegionFlags
+data RecentFilterFlags
+instance P.Enum RecentFilterFlags where
+instance BoxedFlags RecentFilterFlags where
+instance IsGFlag RecentFilterFlags
+data RcFlags
+instance P.Enum RcFlags where
+instance BoxedFlags RcFlags where
+instance IsGFlag RcFlags
+data PlacesOpenFlags
+instance P.Enum PlacesOpenFlags where
+instance BoxedFlags PlacesOpenFlags where
+instance IsGFlag PlacesOpenFlags
+data JunctionSides
+instance P.Enum JunctionSides where
+instance BoxedFlags JunctionSides where
+instance IsGFlag JunctionSides
+data InputHints
+instance P.Enum InputHints where
+instance BoxedFlags InputHints where
+instance IsGFlag InputHints
+data IconLookupFlags
+instance P.Enum IconLookupFlags where
+instance BoxedFlags IconLookupFlags where
+instance IsGFlag IconLookupFlags
+data FontChooserLevel
+instance P.Enum FontChooserLevel where
+instance BoxedFlags FontChooserLevel where
+instance IsGFlag FontChooserLevel
+data FileFilterFlags
+instance P.Enum FileFilterFlags where
+instance BoxedFlags FileFilterFlags where
+instance IsGFlag FileFilterFlags
+data EventControllerScrollFlags
+instance P.Enum EventControllerScrollFlags where
+instance BoxedFlags EventControllerScrollFlags where
+instance IsGFlag EventControllerScrollFlags
+data DialogFlags
+instance P.Enum DialogFlags where
+instance BoxedFlags DialogFlags where
+instance IsGFlag DialogFlags
+data DestDefaults
+instance P.Enum DestDefaults where
+instance BoxedFlags DestDefaults where
+instance IsGFlag DestDefaults
+data DebugFlag
+instance P.Enum DebugFlag where
+instance BoxedFlags DebugFlag where
+instance IsGFlag DebugFlag
+data CellRendererState
+instance P.Enum CellRendererState where
+instance BoxedFlags CellRendererState where
+instance IsGFlag CellRendererState
+data CalendarDisplayOptions
+instance P.Enum CalendarDisplayOptions where
+instance BoxedFlags CalendarDisplayOptions where
+instance IsGFlag CalendarDisplayOptions
+data AttachOptions
+instance P.Enum AttachOptions where
+instance BoxedFlags AttachOptions where
+instance IsGFlag AttachOptions
+data ApplicationInhibitFlags
+instance P.Enum ApplicationInhibitFlags where
+instance BoxedFlags ApplicationInhibitFlags where
+instance IsGFlag ApplicationInhibitFlags
+data AccelFlags
+instance P.Enum AccelFlags where
+instance BoxedFlags AccelFlags where
+instance IsGFlag AccelFlags
diff --git a/GI/Gtk/Functions.hs b/GI/Gtk/Functions.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Functions.hs
@@ -0,0 +1,8086 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Functions
+    ( 
+
+ -- * Methods
+-- ** accelGroupsActivate #method:accelGroupsActivate#
+
+    accelGroupsActivate                     ,
+
+
+-- ** accelGroupsFromObject #method:accelGroupsFromObject#
+
+    accelGroupsFromObject                   ,
+
+
+-- ** acceleratorGetDefaultModMask #method:acceleratorGetDefaultModMask#
+
+    acceleratorGetDefaultModMask            ,
+
+
+-- ** acceleratorGetLabel #method:acceleratorGetLabel#
+
+    acceleratorGetLabel                     ,
+
+
+-- ** acceleratorGetLabelWithKeycode #method:acceleratorGetLabelWithKeycode#
+
+    acceleratorGetLabelWithKeycode          ,
+
+
+-- ** acceleratorName #method:acceleratorName#
+
+    acceleratorName                         ,
+
+
+-- ** acceleratorNameWithKeycode #method:acceleratorNameWithKeycode#
+
+    acceleratorNameWithKeycode              ,
+
+
+-- ** acceleratorParse #method:acceleratorParse#
+
+    acceleratorParse                        ,
+
+
+-- ** acceleratorParseWithKeycode #method:acceleratorParseWithKeycode#
+
+    acceleratorParseWithKeycode             ,
+
+
+-- ** acceleratorSetDefaultModMask #method:acceleratorSetDefaultModMask#
+
+    acceleratorSetDefaultModMask            ,
+
+
+-- ** acceleratorValid #method:acceleratorValid#
+
+    acceleratorValid                        ,
+
+
+-- ** alternativeDialogButtonOrder #method:alternativeDialogButtonOrder#
+
+    alternativeDialogButtonOrder            ,
+
+
+-- ** bindingsActivate #method:bindingsActivate#
+
+    bindingsActivate                        ,
+
+
+-- ** bindingsActivateEvent #method:bindingsActivateEvent#
+
+    bindingsActivateEvent                   ,
+
+
+-- ** cairoShouldDrawWindow #method:cairoShouldDrawWindow#
+
+    cairoShouldDrawWindow                   ,
+
+
+-- ** cairoTransformToWindow #method:cairoTransformToWindow#
+
+    cairoTransformToWindow                  ,
+
+
+-- ** checkVersion #method:checkVersion#
+
+    checkVersion                            ,
+
+
+-- ** deviceGrabAdd #method:deviceGrabAdd#
+
+    deviceGrabAdd                           ,
+
+
+-- ** deviceGrabRemove #method:deviceGrabRemove#
+
+    deviceGrabRemove                        ,
+
+
+-- ** disableSetlocale #method:disableSetlocale#
+
+    disableSetlocale                        ,
+
+
+-- ** distributeNaturalAllocation #method:distributeNaturalAllocation#
+
+    distributeNaturalAllocation             ,
+
+
+-- ** dragCancel #method:dragCancel#
+
+    dragCancel                              ,
+
+
+-- ** dragFinish #method:dragFinish#
+
+    dragFinish                              ,
+
+
+-- ** dragGetSourceWidget #method:dragGetSourceWidget#
+
+    dragGetSourceWidget                     ,
+
+
+-- ** dragSetIconDefault #method:dragSetIconDefault#
+
+    dragSetIconDefault                      ,
+
+
+-- ** dragSetIconGicon #method:dragSetIconGicon#
+
+    dragSetIconGicon                        ,
+
+
+-- ** dragSetIconName #method:dragSetIconName#
+
+    dragSetIconName                         ,
+
+
+-- ** dragSetIconPixbuf #method:dragSetIconPixbuf#
+
+    dragSetIconPixbuf                       ,
+
+
+-- ** dragSetIconStock #method:dragSetIconStock#
+
+    dragSetIconStock                        ,
+
+
+-- ** dragSetIconSurface #method:dragSetIconSurface#
+
+    dragSetIconSurface                      ,
+
+
+-- ** dragSetIconWidget #method:dragSetIconWidget#
+
+    dragSetIconWidget                       ,
+
+
+-- ** drawInsertionCursor #method:drawInsertionCursor#
+
+    drawInsertionCursor                     ,
+
+
+-- ** eventsPending #method:eventsPending#
+
+    eventsPending                           ,
+
+
+-- ** false #method:false#
+
+    false                                   ,
+
+
+-- ** getBinaryAge #method:getBinaryAge#
+
+    getBinaryAge                            ,
+
+
+-- ** getCurrentEvent #method:getCurrentEvent#
+
+    getCurrentEvent                         ,
+
+
+-- ** getCurrentEventDevice #method:getCurrentEventDevice#
+
+    getCurrentEventDevice                   ,
+
+
+-- ** getCurrentEventState #method:getCurrentEventState#
+
+    getCurrentEventState                    ,
+
+
+-- ** getCurrentEventTime #method:getCurrentEventTime#
+
+    getCurrentEventTime                     ,
+
+
+-- ** getDebugFlags #method:getDebugFlags#
+
+    getDebugFlags                           ,
+
+
+-- ** getDefaultLanguage #method:getDefaultLanguage#
+
+    getDefaultLanguage                      ,
+
+
+-- ** getEventWidget #method:getEventWidget#
+
+    getEventWidget                          ,
+
+
+-- ** getInterfaceAge #method:getInterfaceAge#
+
+    getInterfaceAge                         ,
+
+
+-- ** getLocaleDirection #method:getLocaleDirection#
+
+    getLocaleDirection                      ,
+
+
+-- ** getMajorVersion #method:getMajorVersion#
+
+    getMajorVersion                         ,
+
+
+-- ** getMicroVersion #method:getMicroVersion#
+
+    getMicroVersion                         ,
+
+
+-- ** getMinorVersion #method:getMinorVersion#
+
+    getMinorVersion                         ,
+
+
+-- ** getOptionGroup #method:getOptionGroup#
+
+    getOptionGroup                          ,
+
+
+-- ** grabGetCurrent #method:grabGetCurrent#
+
+    grabGetCurrent                          ,
+
+
+-- ** init #method:init#
+
+    init                                    ,
+
+
+-- ** initCheck #method:initCheck#
+
+    initCheck                               ,
+
+
+-- ** initWithArgs #method:initWithArgs#
+
+    initWithArgs                            ,
+
+
+-- ** keySnooperRemove #method:keySnooperRemove#
+
+    keySnooperRemove                        ,
+
+
+-- ** main #method:main#
+
+    main                                    ,
+
+
+-- ** mainDoEvent #method:mainDoEvent#
+
+    mainDoEvent                             ,
+
+
+-- ** mainIteration #method:mainIteration#
+
+    mainIteration                           ,
+
+
+-- ** mainIterationDo #method:mainIterationDo#
+
+    mainIterationDo                         ,
+
+
+-- ** mainLevel #method:mainLevel#
+
+    mainLevel                               ,
+
+
+-- ** mainQuit #method:mainQuit#
+
+    mainQuit                                ,
+
+
+-- ** paintArrow #method:paintArrow#
+
+    paintArrow                              ,
+
+
+-- ** paintBox #method:paintBox#
+
+    paintBox                                ,
+
+
+-- ** paintBoxGap #method:paintBoxGap#
+
+    paintBoxGap                             ,
+
+
+-- ** paintCheck #method:paintCheck#
+
+    paintCheck                              ,
+
+
+-- ** paintDiamond #method:paintDiamond#
+
+    paintDiamond                            ,
+
+
+-- ** paintExpander #method:paintExpander#
+
+    paintExpander                           ,
+
+
+-- ** paintExtension #method:paintExtension#
+
+    paintExtension                          ,
+
+
+-- ** paintFlatBox #method:paintFlatBox#
+
+    paintFlatBox                            ,
+
+
+-- ** paintFocus #method:paintFocus#
+
+    paintFocus                              ,
+
+
+-- ** paintHandle #method:paintHandle#
+
+    paintHandle                             ,
+
+
+-- ** paintHline #method:paintHline#
+
+    paintHline                              ,
+
+
+-- ** paintLayout #method:paintLayout#
+
+    paintLayout                             ,
+
+
+-- ** paintOption #method:paintOption#
+
+    paintOption                             ,
+
+
+-- ** paintResizeGrip #method:paintResizeGrip#
+
+    paintResizeGrip                         ,
+
+
+-- ** paintShadow #method:paintShadow#
+
+    paintShadow                             ,
+
+
+-- ** paintShadowGap #method:paintShadowGap#
+
+    paintShadowGap                          ,
+
+
+-- ** paintSlider #method:paintSlider#
+
+    paintSlider                             ,
+
+
+-- ** paintSpinner #method:paintSpinner#
+
+    paintSpinner                            ,
+
+
+-- ** paintTab #method:paintTab#
+
+    paintTab                                ,
+
+
+-- ** paintVline #method:paintVline#
+
+    paintVline                              ,
+
+
+-- ** parseArgs #method:parseArgs#
+
+    parseArgs                               ,
+
+
+-- ** printRunPageSetupDialog #method:printRunPageSetupDialog#
+
+    printRunPageSetupDialog                 ,
+
+
+-- ** printRunPageSetupDialogAsync #method:printRunPageSetupDialogAsync#
+
+    printRunPageSetupDialogAsync            ,
+
+
+-- ** propagateEvent #method:propagateEvent#
+
+    propagateEvent                          ,
+
+
+-- ** rcAddDefaultFile #method:rcAddDefaultFile#
+
+    rcAddDefaultFile                        ,
+
+
+-- ** rcFindModuleInPath #method:rcFindModuleInPath#
+
+    rcFindModuleInPath                      ,
+
+
+-- ** rcFindPixmapInPath #method:rcFindPixmapInPath#
+
+    rcFindPixmapInPath                      ,
+
+
+-- ** rcGetDefaultFiles #method:rcGetDefaultFiles#
+
+    rcGetDefaultFiles                       ,
+
+
+-- ** rcGetImModuleFile #method:rcGetImModuleFile#
+
+    rcGetImModuleFile                       ,
+
+
+-- ** rcGetImModulePath #method:rcGetImModulePath#
+
+    rcGetImModulePath                       ,
+
+
+-- ** rcGetModuleDir #method:rcGetModuleDir#
+
+    rcGetModuleDir                          ,
+
+
+-- ** rcGetStyle #method:rcGetStyle#
+
+    rcGetStyle                              ,
+
+
+-- ** rcGetStyleByPaths #method:rcGetStyleByPaths#
+
+    rcGetStyleByPaths                       ,
+
+
+-- ** rcGetThemeDir #method:rcGetThemeDir#
+
+    rcGetThemeDir                           ,
+
+
+-- ** rcParse #method:rcParse#
+
+    rcParse                                 ,
+
+
+-- ** rcParseColor #method:rcParseColor#
+
+    rcParseColor                            ,
+
+
+-- ** rcParseColorFull #method:rcParseColorFull#
+
+    rcParseColorFull                        ,
+
+
+-- ** rcParsePriority #method:rcParsePriority#
+
+    rcParsePriority                         ,
+
+
+-- ** rcParseState #method:rcParseState#
+
+    rcParseState                            ,
+
+
+-- ** rcParseString #method:rcParseString#
+
+    rcParseString                           ,
+
+
+-- ** rcReparseAll #method:rcReparseAll#
+
+    rcReparseAll                            ,
+
+
+-- ** rcReparseAllForSettings #method:rcReparseAllForSettings#
+
+    rcReparseAllForSettings                 ,
+
+
+-- ** rcResetStyles #method:rcResetStyles#
+
+    rcResetStyles                           ,
+
+
+-- ** rcSetDefaultFiles #method:rcSetDefaultFiles#
+
+    rcSetDefaultFiles                       ,
+
+
+-- ** renderActivity #method:renderActivity#
+
+    renderActivity                          ,
+
+
+-- ** renderArrow #method:renderArrow#
+
+    renderArrow                             ,
+
+
+-- ** renderBackground #method:renderBackground#
+
+    renderBackground                        ,
+
+
+-- ** renderBackgroundGetClip #method:renderBackgroundGetClip#
+
+    renderBackgroundGetClip                 ,
+
+
+-- ** renderCheck #method:renderCheck#
+
+    renderCheck                             ,
+
+
+-- ** renderExpander #method:renderExpander#
+
+    renderExpander                          ,
+
+
+-- ** renderExtension #method:renderExtension#
+
+    renderExtension                         ,
+
+
+-- ** renderFocus #method:renderFocus#
+
+    renderFocus                             ,
+
+
+-- ** renderFrame #method:renderFrame#
+
+    renderFrame                             ,
+
+
+-- ** renderFrameGap #method:renderFrameGap#
+
+    renderFrameGap                          ,
+
+
+-- ** renderHandle #method:renderHandle#
+
+    renderHandle                            ,
+
+
+-- ** renderIcon #method:renderIcon#
+
+    renderIcon                              ,
+
+
+-- ** renderIconPixbuf #method:renderIconPixbuf#
+
+    renderIconPixbuf                        ,
+
+
+-- ** renderIconSurface #method:renderIconSurface#
+
+    renderIconSurface                       ,
+
+
+-- ** renderInsertionCursor #method:renderInsertionCursor#
+
+    renderInsertionCursor                   ,
+
+
+-- ** renderLayout #method:renderLayout#
+
+    renderLayout                            ,
+
+
+-- ** renderLine #method:renderLine#
+
+    renderLine                              ,
+
+
+-- ** renderOption #method:renderOption#
+
+    renderOption                            ,
+
+
+-- ** renderSlider #method:renderSlider#
+
+    renderSlider                            ,
+
+
+-- ** rgbToHsv #method:rgbToHsv#
+
+    rgbToHsv                                ,
+
+
+-- ** selectionAddTarget #method:selectionAddTarget#
+
+    selectionAddTarget                      ,
+
+
+-- ** selectionAddTargets #method:selectionAddTargets#
+
+    selectionAddTargets                     ,
+
+
+-- ** selectionClearTargets #method:selectionClearTargets#
+
+    selectionClearTargets                   ,
+
+
+-- ** selectionConvert #method:selectionConvert#
+
+    selectionConvert                        ,
+
+
+-- ** selectionOwnerSet #method:selectionOwnerSet#
+
+    selectionOwnerSet                       ,
+
+
+-- ** selectionOwnerSetForDisplay #method:selectionOwnerSetForDisplay#
+
+    selectionOwnerSetForDisplay             ,
+
+
+-- ** selectionRemoveAll #method:selectionRemoveAll#
+
+    selectionRemoveAll                      ,
+
+
+-- ** setDebugFlags #method:setDebugFlags#
+
+    setDebugFlags                           ,
+
+
+-- ** showUri #method:showUri#
+
+    showUri                                 ,
+
+
+-- ** showUriOnWindow #method:showUriOnWindow#
+
+    showUriOnWindow                         ,
+
+
+-- ** stockAdd #method:stockAdd#
+
+    stockAdd                                ,
+
+
+-- ** stockAddStatic #method:stockAddStatic#
+
+    stockAddStatic                          ,
+
+
+-- ** stockListIds #method:stockListIds#
+
+    stockListIds                            ,
+
+
+-- ** stockLookup #method:stockLookup#
+
+    stockLookup                             ,
+
+
+-- ** stockSetTranslateFunc #method:stockSetTranslateFunc#
+
+    stockSetTranslateFunc                   ,
+
+
+-- ** targetTableFree #method:targetTableFree#
+
+    targetTableFree                         ,
+
+
+-- ** targetTableNewFromList #method:targetTableNewFromList#
+
+    targetTableNewFromList                  ,
+
+
+-- ** targetsIncludeImage #method:targetsIncludeImage#
+
+    targetsIncludeImage                     ,
+
+
+-- ** targetsIncludeRichText #method:targetsIncludeRichText#
+
+    targetsIncludeRichText                  ,
+
+
+-- ** targetsIncludeText #method:targetsIncludeText#
+
+    targetsIncludeText                      ,
+
+
+-- ** targetsIncludeUri #method:targetsIncludeUri#
+
+    targetsIncludeUri                       ,
+
+
+-- ** testCreateSimpleWindow #method:testCreateSimpleWindow#
+
+    testCreateSimpleWindow                  ,
+
+
+-- ** testFindLabel #method:testFindLabel#
+
+    testFindLabel                           ,
+
+
+-- ** testFindSibling #method:testFindSibling#
+
+    testFindSibling                         ,
+
+
+-- ** testFindWidget #method:testFindWidget#
+
+    testFindWidget                          ,
+
+
+-- ** testListAllTypes #method:testListAllTypes#
+
+    testListAllTypes                        ,
+
+
+-- ** testRegisterAllTypes #method:testRegisterAllTypes#
+
+    testRegisterAllTypes                    ,
+
+
+-- ** testSliderGetValue #method:testSliderGetValue#
+
+    testSliderGetValue                      ,
+
+
+-- ** testSliderSetPerc #method:testSliderSetPerc#
+
+    testSliderSetPerc                       ,
+
+
+-- ** testSpinButtonClick #method:testSpinButtonClick#
+
+    testSpinButtonClick                     ,
+
+
+-- ** testTextGet #method:testTextGet#
+
+    testTextGet                             ,
+
+
+-- ** testTextSet #method:testTextSet#
+
+    testTextSet                             ,
+
+
+-- ** testWidgetClick #method:testWidgetClick#
+
+    testWidgetClick                         ,
+
+
+-- ** testWidgetSendKey #method:testWidgetSendKey#
+
+    testWidgetSendKey                       ,
+
+
+-- ** testWidgetWaitForDraw #method:testWidgetWaitForDraw#
+
+    testWidgetWaitForDraw                   ,
+
+
+-- ** treeGetRowDragData #method:treeGetRowDragData#
+
+    treeGetRowDragData                      ,
+
+
+-- ** treeSetRowDragData #method:treeSetRowDragData#
+
+    treeSetRowDragData                      ,
+
+
+-- ** true #method:true#
+
+    true                                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Context as Cairo.Context
+import qualified GI.Cairo.Structs.Surface as Cairo.Surface
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GLib.Structs.OptionEntry as GLib.OptionEntry
+import qualified GI.GLib.Structs.OptionGroup as GLib.OptionGroup
+import qualified GI.GLib.Structs.Scanner as GLib.Scanner
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Enums as Gdk.Enums
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gdk.Objects.Device as Gdk.Device
+import qualified GI.Gdk.Objects.Display as Gdk.Display
+import qualified GI.Gdk.Objects.DragContext as Gdk.DragContext
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.Atom as Gdk.Atom
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.PageSetup as Gtk.PageSetup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.PrintSettings as Gtk.PrintSettings
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RcStyle as Gtk.RcStyle
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Settings as Gtk.Settings
+import {-# SOURCE #-} qualified GI.Gtk.Objects.SpinButton as Gtk.SpinButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Style as Gtk.Style
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSource as Gtk.IconSource
+import {-# SOURCE #-} qualified GI.Gtk.Structs.RequestedSize as Gtk.RequestedSize
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SelectionData as Gtk.SelectionData
+import {-# SOURCE #-} qualified GI.Gtk.Structs.StockItem as Gtk.StockItem
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetEntry as Gtk.TargetEntry
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetList as Gtk.TargetList
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+import qualified GI.Pango.Enums as Pango.Enums
+import qualified GI.Pango.Objects.Layout as Pango.Layout
+import qualified GI.Pango.Structs.Language as Pango.Language
+
+-- function gtk_true
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_true" gtk_true :: 
+    IO CInt
+
+{- |
+All this function does it to return 'True'.
+
+This can be useful for example if you want to inhibit the deletion
+of a window. Of course you should not do this as the user expects
+a reaction from clicking the close icon of the window...
+
+== A persistent window
+
+
+=== /C code/
+>
+>#include <gtk/gtk.h>
+>
+>int
+>main (int argc, char **argv)
+>{
+>  GtkWidget *win, *but;
+>  const char *text = "Close yourself. I mean it!";
+>
+>  gtk_init (&argc, &argv);
+>
+>  win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+>  g_signal_connect (win,
+>                    "delete-event",
+>                    G_CALLBACK (gtk_true),
+>                    NULL);
+>  g_signal_connect (win, "destroy",
+>                    G_CALLBACK (gtk_main_quit),
+>                    NULL);
+>
+>  but = gtk_button_new_with_label (text);
+>  g_signal_connect_swapped (but, "clicked",
+>                            G_CALLBACK (gtk_object_destroy),
+>                            win);
+>  gtk_container_add (GTK_CONTAINER (win), but);
+>
+>  gtk_widget_show_all (win);
+>
+>  gtk_main ();
+>
+>  return 0;
+>}
+-}
+true ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Bool
+    {- ^ __Returns:__ 'True' -}
+true  = liftIO $ do
+    result <- gtk_true
+    let result' = (/= 0) result
+    return result'
+
+
+-- function gtk_tree_set_row_drag_data
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "some #GtkSelectionData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a row in @tree_model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_set_row_drag_data" gtk_tree_set_row_drag_data :: 
+    Ptr Gtk.SelectionData.SelectionData ->  -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    Ptr Gtk.TreeModel.TreeModel ->          -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Sets selection data of target type @/GTK_TREE_MODEL_ROW/@. Normally used
+in a drag_data_get handler.
+-}
+treeSetRowDragData ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: some 'GI.Gtk.Structs.SelectionData.SelectionData' -}
+    -> a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a row in /@treeModel@/ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the 'GI.Gtk.Structs.SelectionData.SelectionData' had the proper target type to allow us to set a tree row -}
+treeSetRowDragData selectionData treeModel path = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_set_row_drag_data selectionData' treeModel' path'
+    let result' = (/= 0) result
+    touchManagedPtr selectionData
+    touchManagedPtr treeModel
+    touchManagedPtr path
+    return result'
+
+
+-- function gtk_tree_get_row_drag_data
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "row in @tree_model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_get_row_drag_data" gtk_tree_get_row_drag_data :: 
+    Ptr Gtk.SelectionData.SelectionData ->  -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    Ptr (Ptr Gtk.TreeModel.TreeModel) ->    -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Obtains a /@treeModel@/ and /@path@/ from selection data of target type
+@/GTK_TREE_MODEL_ROW/@. Normally called from a drag_data_received handler.
+This function can only be used if /@selectionData@/ originates from the same
+process that’s calling this function, because a pointer to the tree model
+is being passed around. If you aren’t in the same process, then you\'ll
+get memory corruption. In the 'GI.Gtk.Interfaces.TreeDragDest.TreeDragDest' drag_data_received handler,
+you can assume that selection data of type @/GTK_TREE_MODEL_ROW/@ is
+in from the current process. The returned path must be freed with
+'GI.Gtk.Structs.TreePath.treePathFree'.
+-}
+treeGetRowDragData ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' -}
+    -> m ((Bool, Maybe Gtk.TreeModel.TreeModel, Maybe Gtk.TreePath.TreePath))
+    {- ^ __Returns:__ 'True' if /@selectionData@/ had target type @/GTK_TREE_MODEL_ROW/@ and
+ is otherwise valid -}
+treeGetRowDragData selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    treeModel <- allocMem :: IO (Ptr (Ptr Gtk.TreeModel.TreeModel))
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    result <- gtk_tree_get_row_drag_data selectionData' treeModel path
+    let result' = (/= 0) result
+    treeModel' <- peek treeModel
+    maybeTreeModel' <- convertIfNonNull treeModel' $ \treeModel'' -> do
+        treeModel''' <- (newObject Gtk.TreeModel.TreeModel) treeModel''
+        return treeModel'''
+    path' <- peek path
+    maybePath' <- convertIfNonNull path' $ \path'' -> do
+        path''' <- (wrapBoxed Gtk.TreePath.TreePath) path''
+        return path'''
+    touchManagedPtr selectionData
+    freeMem treeModel
+    freeMem path
+    return (result', maybeTreeModel', maybePath')
+
+
+-- function gtk_test_widget_wait_for_draw
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to wait for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_widget_wait_for_draw" gtk_test_widget_wait_for_draw :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Enters the main loop and waits for /@widget@/ to be “drawn”. In this
+context that means it waits for the frame clock of /@widget@/ to have
+run a full styling, layout and drawing cycle.
+
+This function is intended to be used for syncing with actions that
+depend on /@widget@/ relayouting or on interaction with the display
+server.
+
+/Since: 3.10/
+-}
+testWidgetWaitForDraw ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget to wait for -}
+    -> m ()
+testWidgetWaitForDraw widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_test_widget_wait_for_draw widget'
+    touchManagedPtr widget
+    return ()
+
+
+-- function gtk_test_widget_send_key
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Widget to generate a key press and release on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A Gdk keyboard value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Keyboard modifiers the event is setup with.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_widget_send_key" gtk_test_widget_send_key :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Word32 ->                               -- keyval : TBasicType TUInt
+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{- |
+This function will generate keyboard press and release events in
+the middle of the first GdkWindow found that belongs to /@widget@/.
+For windowless widgets like 'GI.Gtk.Objects.Button.Button' (which returns 'False' from
+'GI.Gtk.Objects.Widget.widgetGetHasWindow'), this will often be an
+input-only event window. For other widgets, this is usually widget->window.
+Certain caveats should be considered when using this function, in
+particular because the mouse pointer is warped to the key press
+location, see 'GI.Gdk.Functions.testSimulateKey' for details.
+
+/Since: 2.14/
+-}
+testWidgetSendKey ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: Widget to generate a key press and release on. -}
+    -> Word32
+    {- ^ /@keyval@/: A Gdk keyboard value. -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifiers@/: Keyboard modifiers the event is setup with. -}
+    -> m Bool
+    {- ^ __Returns:__ whether all actions neccessary for the key event simulation were carried out successfully. -}
+testWidgetSendKey widget keyval modifiers = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let modifiers' = gflagsToWord modifiers
+    result <- gtk_test_widget_send_key widget' keyval modifiers'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+
+-- function gtk_test_widget_click
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Widget to generate a button click on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of the pointer button for the event, usually 1, 2 or 3.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Keyboard modifiers the event is setup with.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_widget_click" gtk_test_widget_click :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Word32 ->                               -- button : TBasicType TUInt
+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{-# DEPRECATED testWidgetClick ["(Since version 3.20)","This testing infrastructure is phased out in favor of reftests."] #-}
+{- |
+This function will generate a /@button@/ click (button press and button
+release event) in the middle of the first GdkWindow found that belongs
+to /@widget@/.
+For windowless widgets like 'GI.Gtk.Objects.Button.Button' (which returns 'False' from
+'GI.Gtk.Objects.Widget.widgetGetHasWindow'), this will often be an
+input-only event window. For other widgets, this is usually widget->window.
+Certain caveats should be considered when using this function, in
+particular because the mouse pointer is warped to the button click
+location, see 'GI.Gdk.Functions.testSimulateButton' for details.
+
+/Since: 2.14/
+-}
+testWidgetClick ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: Widget to generate a button click on. -}
+    -> Word32
+    {- ^ /@button@/: Number of the pointer button for the event, usually 1, 2 or 3. -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifiers@/: Keyboard modifiers the event is setup with. -}
+    -> m Bool
+    {- ^ __Returns:__ whether all actions neccessary for the button click simulation were carried out successfully. -}
+testWidgetClick widget button modifiers = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let modifiers' = gflagsToWord modifiers
+    result <- gtk_test_widget_click widget' button modifiers'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+
+-- function gtk_test_text_set
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "valid widget pointer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a 0-terminated C string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_text_set" gtk_test_text_set :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- string : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED testTextSet ["(Since version 3.20)","This testing infrastructure is phased out in favor of reftests."] #-}
+{- |
+Set the text string of /@widget@/ to /@string@/ if it is a GtkLabel,
+GtkEditable (entry and text widgets) or GtkTextView.
+
+/Since: 2.14/
+-}
+testTextSet ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: valid widget pointer. -}
+    -> T.Text
+    {- ^ /@string@/: a 0-terminated C string -}
+    -> m ()
+testTextSet widget string = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    string' <- textToCString string
+    gtk_test_text_set widget' string'
+    touchManagedPtr widget
+    freeMem string'
+    return ()
+
+
+-- function gtk_test_text_get
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "valid widget pointer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_text_get" gtk_test_text_get :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CString
+
+{-# DEPRECATED testTextGet ["(Since version 3.20)","This testing infrastructure is phased out in favor of reftests."] #-}
+{- |
+Retrive the text string of /@widget@/ if it is a GtkLabel,
+GtkEditable (entry and text widgets) or GtkTextView.
+
+/Since: 2.14/
+-}
+testTextGet ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: valid widget pointer. -}
+    -> m T.Text
+    {- ^ __Returns:__ new 0-terminated C string, needs to be released with 'GI.GLib.Functions.free'. -}
+testTextGet widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_test_text_get widget'
+    checkUnexpectedReturnNULL "testTextGet" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr widget
+    return result'
+
+
+-- function gtk_test_spin_button_click
+-- Args : [Arg {argCName = "spinner", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "valid GtkSpinButton widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of the pointer button for the event, usually 1, 2 or 3.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "upwards", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE for upwards arrow click, %FALSE for downwards arrow click.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_spin_button_click" gtk_test_spin_button_click :: 
+    Ptr Gtk.SpinButton.SpinButton ->        -- spinner : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    Word32 ->                               -- button : TBasicType TUInt
+    CInt ->                                 -- upwards : TBasicType TBoolean
+    IO CInt
+
+{-# DEPRECATED testSpinButtonClick ["(Since version 3.20)","This testing infrastructure is phased out in favor of reftests."] #-}
+{- |
+This function will generate a /@button@/ click in the upwards or downwards
+spin button arrow areas, usually leading to an increase or decrease of
+spin button’s value.
+
+/Since: 2.14/
+-}
+testSpinButtonClick ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.SpinButton.IsSpinButton a) =>
+    a
+    {- ^ /@spinner@/: valid GtkSpinButton widget. -}
+    -> Word32
+    {- ^ /@button@/: Number of the pointer button for the event, usually 1, 2 or 3. -}
+    -> Bool
+    {- ^ /@upwards@/: 'True' for upwards arrow click, 'False' for downwards arrow click. -}
+    -> m Bool
+    {- ^ __Returns:__ whether all actions neccessary for the button click simulation were carried out successfully. -}
+testSpinButtonClick spinner button upwards = liftIO $ do
+    spinner' <- unsafeManagedPtrCastPtr spinner
+    let upwards' = (fromIntegral . fromEnum) upwards
+    result <- gtk_test_spin_button_click spinner' button upwards'
+    let result' = (/= 0) result
+    touchManagedPtr spinner
+    return result'
+
+
+-- function gtk_test_slider_set_perc
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "valid widget pointer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "percentage", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value between 0 and 100.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_slider_set_perc" gtk_test_slider_set_perc :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CDouble ->                              -- percentage : TBasicType TDouble
+    IO ()
+
+{-# DEPRECATED testSliderSetPerc ["(Since version 3.20)","This testing infrastructure is phased out in favor of reftests."] #-}
+{- |
+This function will adjust the slider position of all GtkRange
+based widgets, such as scrollbars or scales, it’ll also adjust
+spin buttons. The adjustment value of these widgets is set to
+a value between the lower and upper limits, according to the
+/@percentage@/ argument.
+
+/Since: 2.14/
+-}
+testSliderSetPerc ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: valid widget pointer. -}
+    -> Double
+    {- ^ /@percentage@/: value between 0 and 100. -}
+    -> m ()
+testSliderSetPerc widget percentage = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let percentage' = realToFrac percentage
+    gtk_test_slider_set_perc widget' percentage'
+    touchManagedPtr widget
+    return ()
+
+
+-- function gtk_test_slider_get_value
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "valid widget pointer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_slider_get_value" gtk_test_slider_get_value :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CDouble
+
+{-# DEPRECATED testSliderGetValue ["(Since version 3.20)","This testing infrastructure is phased out in favor of reftests."] #-}
+{- |
+Retrive the literal adjustment value for GtkRange based
+widgets and spin buttons. Note that the value returned by
+this function is anything between the lower and upper bounds
+of the adjustment belonging to /@widget@/, and is not a percentage
+as passed in to 'GI.Gtk.Functions.testSliderSetPerc'.
+
+/Since: 2.14/
+-}
+testSliderGetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: valid widget pointer. -}
+    -> m Double
+    {- ^ __Returns:__ gtk_adjustment_get_value (adjustment) for an adjustment belonging to /@widget@/. -}
+testSliderGetValue widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_test_slider_get_value widget'
+    let result' = realToFrac result
+    touchManagedPtr widget
+    return result'
+
+
+-- function gtk_test_register_all_types
+-- Args : []
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_register_all_types" gtk_test_register_all_types :: 
+    IO ()
+
+{- |
+Force registration of all core Gtk+ and Gdk object types.
+This allowes to refer to any of those object types via
+'GI.GObject.Functions.typeFromName' after calling this function.
+
+/Since: 2.14/
+-}
+testRegisterAllTypes ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ()
+testRegisterAllTypes  = liftIO $ do
+    gtk_test_register_all_types
+    return ()
+
+
+-- function gtk_test_list_all_types
+-- Args : [Arg {argCName = "n_types", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store number of types", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) 0 (TBasicType TGType))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_list_all_types" gtk_test_list_all_types :: 
+    Ptr Word32 ->                           -- n_types : TBasicType TUInt
+    IO (Ptr CGType)
+
+{- |
+Return the type ids that have been registered after
+calling 'GI.Gtk.Functions.testRegisterAllTypes'.
+
+/Since: 2.14/
+-}
+testListAllTypes ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m (([GType], Word32))
+    {- ^ __Returns:__ 
+   0-terminated array of type ids -}
+testListAllTypes  = liftIO $ do
+    nTypes <- allocMem :: IO (Ptr Word32)
+    result <- gtk_test_list_all_types nTypes
+    checkUnexpectedReturnNULL "testListAllTypes" result
+    result' <- (unpackMapZeroTerminatedStorableArray GType) result
+    nTypes' <- peek nTypes
+    freeMem nTypes
+    return (result', nTypes')
+
+
+-- function gtk_test_find_widget
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Container widget, usually a GtkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label_pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Shell-glob pattern to match a label string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Type of a aearched for label sibling widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_find_widget" gtk_test_find_widget :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- label_pattern : TBasicType TUTF8
+    CGType ->                               -- widget_type : TBasicType TGType
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+This function will search the descendants of /@widget@/ for a widget
+of type /@widgetType@/ that has a label matching /@labelPattern@/ next
+to it. This is most useful for automated GUI testing, e.g. to find
+the “OK” button in a dialog and synthesize clicks on it.
+However see 'GI.Gtk.Functions.testFindLabel', 'GI.Gtk.Functions.testFindSibling' and
+'GI.Gtk.Functions.testWidgetClick' for possible caveats involving the search of
+such widgets and synthesizing widget events.
+
+/Since: 2.14/
+-}
+testFindWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: Container widget, usually a GtkWindow. -}
+    -> T.Text
+    {- ^ /@labelPattern@/: Shell-glob pattern to match a label string. -}
+    -> GType
+    {- ^ /@widgetType@/: Type of a aearched for label sibling widget. -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ a valid widget if any is found or 'Nothing'. -}
+testFindWidget widget labelPattern widgetType = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    labelPattern' <- textToCString labelPattern
+    let widgetType' = gtypeToCGType widgetType
+    result <- gtk_test_find_widget widget' labelPattern' widgetType'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr widget
+    freeMem labelPattern'
+    return maybeResult
+
+
+-- function gtk_test_find_sibling
+-- Args : [Arg {argCName = "base_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Valid widget, part of a widget hierarchy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Type of a aearched for sibling widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_find_sibling" gtk_test_find_sibling :: 
+    Ptr Gtk.Widget.Widget ->                -- base_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CGType ->                               -- widget_type : TBasicType TGType
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+This function will search siblings of /@baseWidget@/ and siblings of its
+ancestors for all widgets matching /@widgetType@/.
+Of the matching widgets, the one that is geometrically closest to
+/@baseWidget@/ will be returned.
+The general purpose of this function is to find the most likely “action”
+widget, relative to another labeling widget. Such as finding a
+button or text entry widget, given its corresponding label widget.
+
+/Since: 2.14/
+-}
+testFindSibling ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@baseWidget@/: Valid widget, part of a widget hierarchy -}
+    -> GType
+    {- ^ /@widgetType@/: Type of a aearched for sibling widget -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a widget of type /@widgetType@/ if any is found. -}
+testFindSibling baseWidget widgetType = liftIO $ do
+    baseWidget' <- unsafeManagedPtrCastPtr baseWidget
+    let widgetType' = gtypeToCGType widgetType
+    result <- gtk_test_find_sibling baseWidget' widgetType'
+    checkUnexpectedReturnNULL "testFindSibling" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr baseWidget
+    return result'
+
+
+-- function gtk_test_find_label
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Valid label or container widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label_pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Shell-glob pattern to match a label string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_find_label" gtk_test_find_label :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- label_pattern : TBasicType TUTF8
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+This function will search /@widget@/ and all its descendants for a GtkLabel
+widget with a text string matching /@labelPattern@/.
+The /@labelPattern@/ may contain asterisks “*” and question marks “?” as
+placeholders, 'GI.GLib.Functions.patternMatch' is used for the matching.
+Note that locales other than \"C“ tend to alter (translate” label strings,
+so this function is genrally only useful in test programs with
+predetermined locales, see @/gtk_test_init()/@ for more details.
+
+/Since: 2.14/
+-}
+testFindLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: Valid label or container widget. -}
+    -> T.Text
+    {- ^ /@labelPattern@/: Shell-glob pattern to match a label string. -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a GtkLabel widget if any is found. -}
+testFindLabel widget labelPattern = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    labelPattern' <- textToCString labelPattern
+    result <- gtk_test_find_label widget' labelPattern'
+    checkUnexpectedReturnNULL "testFindLabel" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr widget
+    freeMem labelPattern'
+    return result'
+
+
+-- function gtk_test_create_simple_window
+-- Args : [Arg {argCName = "window_title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Title of the window to be displayed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dialog_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Text inside the window to be displayed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_test_create_simple_window" gtk_test_create_simple_window :: 
+    CString ->                              -- window_title : TBasicType TUTF8
+    CString ->                              -- dialog_text : TBasicType TUTF8
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED testCreateSimpleWindow ["(Since version 3.20)","This testing infrastructure is phased out in favor of reftests."] #-}
+{- |
+Create a simple window with window title /@windowTitle@/ and
+text contents /@dialogText@/.
+The window will quit any running 'GI.Gtk.Functions.main'-loop when destroyed, and it
+will automatically be destroyed upon test function teardown.
+
+/Since: 2.14/
+-}
+testCreateSimpleWindow ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@windowTitle@/: Title of the window to be displayed. -}
+    -> T.Text
+    {- ^ /@dialogText@/: Text inside the window to be displayed. -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a widget pointer to the newly created GtkWindow. -}
+testCreateSimpleWindow windowTitle dialogText = liftIO $ do
+    windowTitle' <- textToCString windowTitle
+    dialogText' <- textToCString dialogText
+    result <- gtk_test_create_simple_window windowTitle' dialogText'
+    checkUnexpectedReturnNULL "testCreateSimpleWindow" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    freeMem windowTitle'
+    freeMem dialogText'
+    return result'
+
+
+-- function gtk_targets_include_uri
+-- Args : [Arg {argCName = "targets", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GdkAtoms", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_targets_include_uri" gtk_targets_include_uri :: 
+    Ptr (Ptr Gdk.Atom.Atom) ->              -- targets : TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    IO CInt
+
+{- |
+Determines if any of the targets in /@targets@/ can be used to
+provide an uri list.
+
+/Since: 2.10/
+-}
+targetsIncludeUri ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Gdk.Atom.Atom]
+    {- ^ /@targets@/: an array of @/GdkAtoms/@ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@targets@/ include a suitable target for uri lists,
+  otherwise 'False'. -}
+targetsIncludeUri targets = liftIO $ do
+    let nTargets = fromIntegral $ length targets
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packPtrArray targets'
+    result <- gtk_targets_include_uri targets'' nTargets
+    let result' = (/= 0) result
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return result'
+
+
+-- function gtk_targets_include_text
+-- Args : [Arg {argCName = "targets", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GdkAtoms", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_targets_include_text" gtk_targets_include_text :: 
+    Ptr (Ptr Gdk.Atom.Atom) ->              -- targets : TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    IO CInt
+
+{- |
+Determines if any of the targets in /@targets@/ can be used to
+provide text.
+
+/Since: 2.10/
+-}
+targetsIncludeText ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Gdk.Atom.Atom]
+    {- ^ /@targets@/: an array of @/GdkAtoms/@ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@targets@/ include a suitable target for text,
+  otherwise 'False'. -}
+targetsIncludeText targets = liftIO $ do
+    let nTargets = fromIntegral $ length targets
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packPtrArray targets'
+    result <- gtk_targets_include_text targets'' nTargets
+    let result' = (/= 0) result
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return result'
+
+
+-- function gtk_targets_include_rich_text
+-- Args : [Arg {argCName = "targets", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GdkAtoms", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_targets_include_rich_text" gtk_targets_include_rich_text :: 
+    Ptr (Ptr Gdk.Atom.Atom) ->              -- targets : TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    Ptr Gtk.TextBuffer.TextBuffer ->        -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO CInt
+
+{- |
+Determines if any of the targets in /@targets@/ can be used to
+provide rich text.
+
+/Since: 2.10/
+-}
+targetsIncludeRichText ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextBuffer.IsTextBuffer a) =>
+    [Gdk.Atom.Atom]
+    {- ^ /@targets@/: an array of @/GdkAtoms/@ -}
+    -> a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@targets@/ include a suitable target for rich text,
+              otherwise 'False'. -}
+targetsIncludeRichText targets buffer = liftIO $ do
+    let nTargets = fromIntegral $ length targets
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packPtrArray targets'
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_targets_include_rich_text targets'' nTargets buffer'
+    let result' = (/= 0) result
+    mapM_ touchManagedPtr targets
+    touchManagedPtr buffer
+    freeMem targets''
+    return result'
+
+
+-- function gtk_targets_include_image
+-- Args : [Arg {argCName = "targets", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GdkAtoms", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "writable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to accept only targets for which GTK+ knows\n  how to convert a pixbuf into the format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_targets_include_image" gtk_targets_include_image :: 
+    Ptr (Ptr Gdk.Atom.Atom) ->              -- targets : TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    CInt ->                                 -- writable : TBasicType TBoolean
+    IO CInt
+
+{- |
+Determines if any of the targets in /@targets@/ can be used to
+provide a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'.
+
+/Since: 2.10/
+-}
+targetsIncludeImage ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Gdk.Atom.Atom]
+    {- ^ /@targets@/: an array of @/GdkAtoms/@ -}
+    -> Bool
+    {- ^ /@writable@/: whether to accept only targets for which GTK+ knows
+  how to convert a pixbuf into the format -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@targets@/ include a suitable target for images,
+  otherwise 'False'. -}
+targetsIncludeImage targets writable = liftIO $ do
+    let nTargets = fromIntegral $ length targets
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packPtrArray targets'
+    let writable' = (fromIntegral . fromEnum) writable
+    result <- gtk_targets_include_image targets'' nTargets writable'
+    let result' = (/= 0) result
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return result'
+
+
+-- function gtk_target_table_new_from_list
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number ot targets in the table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number ot targets in the table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_table_new_from_list" gtk_target_table_new_from_list :: 
+    Ptr Gtk.TargetList.TargetList ->        -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    Ptr Int32 ->                            -- n_targets : TBasicType TInt
+    IO (Ptr Gtk.TargetEntry.TargetEntry)
+
+{- |
+This function creates an 'GI.Gtk.Structs.TargetEntry.TargetEntry' array that contains the
+same targets as the passed @/list/@. The returned table is newly
+allocated and should be freed using 'GI.Gtk.Functions.targetTableFree' when no
+longer needed.
+
+/Since: 2.10/
+-}
+targetTableNewFromList ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.TargetList.TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> m [Gtk.TargetEntry.TargetEntry]
+    {- ^ __Returns:__ the new table. -}
+targetTableNewFromList list = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    nTargets <- allocMem :: IO (Ptr Int32)
+    result <- gtk_target_table_new_from_list list' nTargets
+    nTargets' <- peek nTargets
+    checkUnexpectedReturnNULL "targetTableNewFromList" result
+    result' <- (unpackBoxedArrayWithLength 16 nTargets') result
+    result'' <- mapM (wrapBoxed Gtk.TargetEntry.TargetEntry) result'
+    freeMem result
+    touchManagedPtr list
+    freeMem nTargets
+    return result''
+
+
+-- function gtk_target_table_free
+-- Args : [Arg {argCName = "targets", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetEntry array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of entries in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of entries in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_table_free" gtk_target_table_free :: 
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    IO ()
+
+{- |
+This function frees a target table as returned by
+'GI.Gtk.Functions.targetTableNewFromList'
+
+/Since: 2.10/
+-}
+targetTableFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Gtk.TargetEntry.TargetEntry]
+    {- ^ /@targets@/: a 'GI.Gtk.Structs.TargetEntry.TargetEntry' array -}
+    -> m ()
+targetTableFree targets = liftIO $ do
+    let nTargets = fromIntegral $ length targets
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packBlockArray 16 targets'
+    gtk_target_table_free targets'' nTargets
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return ()
+
+
+-- function gtk_stock_set_translate_func
+-- Args : [Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the translation domain for which @func shall be used", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TranslateFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTranslateFunc", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDestroyNotify that is called when @data is\n  no longer needed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stock_set_translate_func" gtk_stock_set_translate_func :: 
+    CString ->                              -- domain : TBasicType TUTF8
+    FunPtr Gtk.Callbacks.C_TranslateFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TranslateFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{-# DEPRECATED stockSetTranslateFunc ["(Since version 3.10)"] #-}
+{- |
+Sets a function to be used for translating the /@label@/ of
+a stock item.
+
+If no function is registered for a translation domain,
+'GI.GLib.Functions.dgettext' is used.
+
+The function is used for all stock items whose
+/@translationDomain@/ matches /@domain@/. Note that it is possible
+to use strings different from the actual gettext translation domain
+of your application for this, as long as your 'GI.Gtk.Callbacks.TranslateFunc' uses
+the correct domain when calling @/dgettext()/@. This can be useful, e.g.
+when dealing with message contexts:
+
+
+=== /C code/
+>
+>GtkStockItem items[] = {
+> { MY_ITEM1, NC_("odd items", "Item 1"), 0, 0, "odd-item-domain" },
+> { MY_ITEM2, NC_("even items", "Item 2"), 0, 0, "even-item-domain" },
+>};
+>
+>gchar *
+>my_translate_func (const gchar *msgid,
+>                   gpointer     data)
+>{
+>  gchar *msgctxt = data;
+>
+>  return (gchar*)g_dpgettext2 (GETTEXT_PACKAGE, msgctxt, msgid);
+>}
+>
+>...
+>
+>gtk_stock_add (items, G_N_ELEMENTS (items));
+>gtk_stock_set_translate_func ("odd-item-domain", my_translate_func, "odd items");
+>gtk_stock_set_translate_func ("even-item-domain", my_translate_func, "even items");
+
+
+/Since: 2.8/
+-}
+stockSetTranslateFunc ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@domain@/: the translation domain for which /@func@/ shall be used -}
+    -> Gtk.Callbacks.TranslateFunc
+    {- ^ /@func@/: a 'GI.Gtk.Callbacks.TranslateFunc' -}
+    -> m ()
+stockSetTranslateFunc domain func = liftIO $ do
+    domain' <- textToCString domain
+    func' <- Gtk.Callbacks.mk_TranslateFunc (Gtk.Callbacks.wrap_TranslateFunc Nothing (Gtk.Callbacks.drop_closures_TranslateFunc func))
+    let data_ = castFunPtrToPtr func'
+    let notify = safeFreeFunPtrPtr
+    gtk_stock_set_translate_func domain' func' data_ notify
+    freeMem domain'
+    return ()
+
+
+-- function gtk_stock_lookup
+-- Args : [Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock item name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TInterface (Name {namespace = "Gtk", name = "StockItem"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "stock item to initialize with values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stock_lookup" gtk_stock_lookup :: 
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Ptr Gtk.StockItem.StockItem ->          -- item : TInterface (Name {namespace = "Gtk", name = "StockItem"})
+    IO CInt
+
+{-# DEPRECATED stockLookup ["(Since version 3.10)"] #-}
+{- |
+Fills /@item@/ with the registered values for /@stockId@/, returning 'True'
+if /@stockId@/ was known.
+-}
+stockLookup ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@stockId@/: a stock item name -}
+    -> m ((Bool, Gtk.StockItem.StockItem))
+    {- ^ __Returns:__ 'True' if /@item@/ was initialized -}
+stockLookup stockId = liftIO $ do
+    stockId' <- textToCString stockId
+    item <- callocBytes 32 :: IO (Ptr Gtk.StockItem.StockItem)
+    result <- gtk_stock_lookup stockId' item
+    let result' = (/= 0) result
+    item' <- (wrapPtr Gtk.StockItem.StockItem) item
+    freeMem stockId'
+    return (result', item')
+
+
+-- function gtk_stock_list_ids
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TGSList (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stock_list_ids" gtk_stock_list_ids :: 
+    IO (Ptr (GSList CString))
+
+{-# DEPRECATED stockListIds ["(Since version 3.10)"] #-}
+{- |
+Retrieves a list of all known stock IDs added to a 'GI.Gtk.Objects.IconFactory.IconFactory'
+or registered with 'GI.Gtk.Functions.stockAdd'. The list must be freed with @/g_slist_free()/@,
+and each string in the list must be freed with 'GI.GLib.Functions.free'.
+-}
+stockListIds ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m [T.Text]
+    {- ^ __Returns:__ a list of known stock IDs -}
+stockListIds  = liftIO $ do
+    result <- gtk_stock_list_ids
+    result' <- unpackGSList result
+    result'' <- mapM cstringToText result'
+    mapGSList freeMem result
+    g_slist_free result
+    return result''
+
+
+-- function gtk_stock_add_static
+-- Args : [Arg {argCName = "items", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "StockItem"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStockItem or array of #GtkStockItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_items", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_items", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stock_add_static" gtk_stock_add_static :: 
+    Ptr Gtk.StockItem.StockItem ->          -- items : TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "StockItem"}))
+    Word32 ->                               -- n_items : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED stockAddStatic ["(Since version 3.10)"] #-}
+{- |
+Same as 'GI.Gtk.Functions.stockAdd', but doesn’t copy /@items@/, so
+/@items@/ must persist until application exit.
+-}
+stockAddStatic ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Gtk.StockItem.StockItem]
+    {- ^ /@items@/: a 'GI.Gtk.Structs.StockItem.StockItem' or array of 'GI.Gtk.Structs.StockItem.StockItem' -}
+    -> m ()
+stockAddStatic items = liftIO $ do
+    let nItems = fromIntegral $ length items
+    items' <- mapM unsafeManagedPtrGetPtr items
+    items'' <- packBlockArray 32 items'
+    gtk_stock_add_static items'' nItems
+    mapM_ touchManagedPtr items
+    freeMem items''
+    return ()
+
+
+-- function gtk_stock_add
+-- Args : [Arg {argCName = "items", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "StockItem"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStockItem or array of items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_items", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of #GtkStockItem in @items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_items", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of #GtkStockItem in @items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stock_add" gtk_stock_add :: 
+    Ptr Gtk.StockItem.StockItem ->          -- items : TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "StockItem"}))
+    Word32 ->                               -- n_items : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED stockAdd ["(Since version 3.10)"] #-}
+{- |
+Registers each of the stock items in /@items@/. If an item already
+exists with the same stock ID as one of the /@items@/, the old item
+gets replaced. The stock items are copied, so GTK+ does not hold
+any pointer into /@items@/ and /@items@/ can be freed. Use
+'GI.Gtk.Functions.stockAddStatic' if /@items@/ is persistent and GTK+ need not
+copy the array.
+-}
+stockAdd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Gtk.StockItem.StockItem]
+    {- ^ /@items@/: a 'GI.Gtk.Structs.StockItem.StockItem' or array of items -}
+    -> m ()
+stockAdd items = liftIO $ do
+    let nItems = fromIntegral $ length items
+    items' <- mapM unsafeManagedPtrGetPtr items
+    items'' <- packBlockArray 32 items'
+    gtk_stock_add items'' nItems
+    mapM_ touchManagedPtr items
+    freeMem items''
+    return ()
+
+
+-- function gtk_show_uri_on_window
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "parent window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the uri to show", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp to prevent focus stealing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_show_uri_on_window" gtk_show_uri_on_window :: 
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CString ->                              -- uri : TBasicType TUTF8
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+This is a convenience function for launching the default application
+to show the uri. The uri must be of a form understood by GIO (i.e. you
+need to install gvfs to get support for uri schemes such as http:\/\/
+or ftp:\/\/, as only local files are handled by GIO itself).
+Typical examples are
+
+* @file:\/\/\/home\/gnome\/pict.jpg@
+* @http:\/\/www.gnome.org@
+* @mailto:me\@gnome.org@
+
+
+Ideally the timestamp is taken from the event triggering
+the 'GI.Gtk.Functions.showUri' call. If timestamp is not known you can take
+'GI.Gdk.Constants.CURRENT_TIME'.
+
+This is the recommended call to be used as it passes information
+necessary for sandbox helpers to parent their dialogs properly.
+
+/Since: 3.22/
+-}
+showUriOnWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a) =>
+    Maybe (a)
+    {- ^ /@parent@/: parent window -}
+    -> T.Text
+    {- ^ /@uri@/: the uri to show -}
+    -> Word32
+    {- ^ /@timestamp@/: a timestamp to prevent focus stealing -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+showUriOnWindow parent uri timestamp = liftIO $ do
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    uri' <- textToCString uri
+    onException (do
+        _ <- propagateGError $ gtk_show_uri_on_window maybeParent uri' timestamp
+        whenJust parent touchManagedPtr
+        freeMem uri'
+        return ()
+     ) (do
+        freeMem uri'
+     )
+
+
+-- function gtk_show_uri
+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "screen to show the uri on\n    or %NULL for the default screen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the uri to show", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp to prevent focus stealing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_show_uri" gtk_show_uri :: 
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    CString ->                              -- uri : TBasicType TUTF8
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+A convenience function for launching the default application
+to show the uri. Like 'GI.Gtk.Functions.showUriOnWindow', but takes a screen
+as transient parent instead of a window.
+
+Note that this function is deprecated as it does not pass the necessary
+information for helpers to parent their dialog properly, when run from
+sandboxed applications for example.
+
+/Since: 2.14/
+-}
+showUri ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>
+    Maybe (a)
+    {- ^ /@screen@/: screen to show the uri on
+    or 'Nothing' for the default screen -}
+    -> T.Text
+    {- ^ /@uri@/: the uri to show -}
+    -> Word32
+    {- ^ /@timestamp@/: a timestamp to prevent focus stealing -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+showUri screen uri timestamp = liftIO $ do
+    maybeScreen <- case screen of
+        Nothing -> return nullPtr
+        Just jScreen -> do
+            jScreen' <- unsafeManagedPtrCastPtr jScreen
+            return jScreen'
+    uri' <- textToCString uri
+    onException (do
+        _ <- propagateGError $ gtk_show_uri maybeScreen uri' timestamp
+        whenJust screen touchManagedPtr
+        freeMem uri'
+        return ()
+     ) (do
+        freeMem uri'
+     )
+
+
+-- function gtk_set_debug_flags
+-- Args : [Arg {argCName = "flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_set_debug_flags" gtk_set_debug_flags :: 
+    Word32 ->                               -- flags : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the GTK+ debug flags.
+-}
+setDebugFlags ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Word32
+    -> m ()
+setDebugFlags flags = liftIO $ do
+    gtk_set_debug_flags flags
+    return ()
+
+
+-- function gtk_selection_remove_all
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_remove_all" gtk_selection_remove_all :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Removes all handlers and unsets ownership of all
+selections for a widget. Called when widget is being
+destroyed. This function will not generally be
+called by applications.
+-}
+selectionRemoveAll ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+selectionRemoveAll widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_selection_remove_all widget'
+    touchManagedPtr widget
+    return ()
+
+
+-- function gtk_selection_owner_set_for_display
+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay where the selection is set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new selection owner (a #GtkWidget), or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interned atom representing the selection to claim.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp with which to claim the selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_owner_set_for_display" gtk_selection_owner_set_for_display :: 
+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO CInt
+
+{- |
+Claim ownership of a given selection for a particular widget, or,
+if /@widget@/ is 'Nothing', release ownership of the selection.
+
+/Since: 2.2/
+-}
+selectionOwnerSetForDisplay ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' where the selection is set -}
+    -> Maybe (b)
+    {- ^ /@widget@/: new selection owner (a 'GI.Gtk.Objects.Widget.Widget'), or 'Nothing'. -}
+    -> Gdk.Atom.Atom
+    {- ^ /@selection@/: an interned atom representing the selection to claim. -}
+    -> Word32
+    {- ^ /@time_@/: timestamp with which to claim the selection -}
+    -> m Bool
+    {- ^ __Returns:__ TRUE if the operation succeeded -}
+selectionOwnerSetForDisplay display widget selection time_ = liftIO $ do
+    display' <- unsafeManagedPtrCastPtr display
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    selection' <- unsafeManagedPtrGetPtr selection
+    result <- gtk_selection_owner_set_for_display display' maybeWidget selection' time_
+    let result' = (/= 0) result
+    touchManagedPtr display
+    whenJust widget touchManagedPtr
+    touchManagedPtr selection
+    return result'
+
+
+-- function gtk_selection_owner_set
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWidget, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interned atom representing the selection to claim", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp with which to claim the selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_owner_set" gtk_selection_owner_set :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO CInt
+
+{- |
+Claims ownership of a given selection for a particular widget,
+or, if /@widget@/ is 'Nothing', release ownership of the selection.
+-}
+selectionOwnerSet ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    Maybe (a)
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget', or 'Nothing'. -}
+    -> Gdk.Atom.Atom
+    {- ^ /@selection@/: an interned atom representing the selection to claim -}
+    -> Word32
+    {- ^ /@time_@/: timestamp with which to claim the selection -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the operation succeeded -}
+selectionOwnerSet widget selection time_ = liftIO $ do
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    selection' <- unsafeManagedPtrGetPtr selection
+    result <- gtk_selection_owner_set maybeWidget selection' time_
+    let result' = (/= 0) result
+    whenJust widget touchManagedPtr
+    touchManagedPtr selection
+    return result'
+
+
+-- function gtk_selection_convert
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The widget which acts as requestor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Which selection to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Form of information desired (e.g., STRING)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Time of request (usually of triggering event)\n       In emergency, you could use #GDK_CURRENT_TIME", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_convert" gtk_selection_convert :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO CInt
+
+{- |
+Requests the contents of a selection. When received,
+a “selection-received” signal will be generated.
+-}
+selectionConvert ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: The widget which acts as requestor -}
+    -> Gdk.Atom.Atom
+    {- ^ /@selection@/: Which selection to get -}
+    -> Gdk.Atom.Atom
+    {- ^ /@target@/: Form of information desired (e.g., STRING) -}
+    -> Word32
+    {- ^ /@time_@/: Time of request (usually of triggering event)
+       In emergency, you could use 'GI.Gdk.Constants.CURRENT_TIME' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if requested succeeded. 'False' if we could not process
+         request. (e.g., there was already a request in process for
+         this widget). -}
+selectionConvert widget selection target time_ = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    selection' <- unsafeManagedPtrGetPtr selection
+    target' <- unsafeManagedPtrGetPtr target
+    result <- gtk_selection_convert widget' selection' target' time_
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr selection
+    touchManagedPtr target
+    return result'
+
+
+-- function gtk_selection_clear_targets
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an atom representing a selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_clear_targets" gtk_selection_clear_targets :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO ()
+
+{- |
+Remove all targets registered for the given selection for the
+widget.
+-}
+selectionClearTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@selection@/: an atom representing a selection -}
+    -> m ()
+selectionClearTargets widget selection = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    selection' <- unsafeManagedPtrGetPtr selection
+    gtk_selection_clear_targets widget' selection'
+    touchManagedPtr widget
+    touchManagedPtr selection
+    return ()
+
+
+-- function gtk_selection_add_targets
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a table of targets to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ntargets", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entries in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "ntargets", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entries in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_add_targets" gtk_selection_add_targets :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Word32 ->                               -- ntargets : TBasicType TUInt
+    IO ()
+
+{- |
+Prepends a table of targets to the list of supported targets
+for a given widget and selection.
+-}
+selectionAddTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@selection@/: the selection -}
+    -> [Gtk.TargetEntry.TargetEntry]
+    {- ^ /@targets@/: a table of targets to add -}
+    -> m ()
+selectionAddTargets widget selection targets = liftIO $ do
+    let ntargets = fromIntegral $ length targets
+    widget' <- unsafeManagedPtrCastPtr widget
+    selection' <- unsafeManagedPtrGetPtr selection
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packBlockArray 16 targets'
+    gtk_selection_add_targets widget' selection' targets'' ntargets
+    touchManagedPtr widget
+    touchManagedPtr selection
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return ()
+
+
+-- function gtk_selection_add_target
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "target to add.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A unsigned integer which will be passed back to the application.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_add_target" gtk_selection_add_target :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Word32 ->                               -- info : TBasicType TUInt
+    IO ()
+
+{- |
+Appends a specified target to the list of supported targets for a
+given widget and selection.
+-}
+selectionAddTarget ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@selection@/: the selection -}
+    -> Gdk.Atom.Atom
+    {- ^ /@target@/: target to add. -}
+    -> Word32
+    {- ^ /@info@/: A unsigned integer which will be passed back to the application. -}
+    -> m ()
+selectionAddTarget widget selection target info = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    selection' <- unsafeManagedPtrGetPtr selection
+    target' <- unsafeManagedPtrGetPtr target
+    gtk_selection_add_target widget' selection' target' info
+    touchManagedPtr widget
+    touchManagedPtr selection
+    touchManagedPtr target
+    return ()
+
+
+-- function gtk_rgb_to_hsv
+-- Args : [Arg {argCName = "r", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Red", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Green", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Blue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "h", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the hue component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "s", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the saturation component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "v", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the value component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rgb_to_hsv" gtk_rgb_to_hsv :: 
+    CDouble ->                              -- r : TBasicType TDouble
+    CDouble ->                              -- g : TBasicType TDouble
+    CDouble ->                              -- b : TBasicType TDouble
+    Ptr CDouble ->                          -- h : TBasicType TDouble
+    Ptr CDouble ->                          -- s : TBasicType TDouble
+    Ptr CDouble ->                          -- v : TBasicType TDouble
+    IO ()
+
+{- |
+Converts a color from RGB space to HSV.
+
+Input values must be in the [0.0, 1.0] range;
+output values will be in the same range.
+
+/Since: 2.14/
+-}
+rgbToHsv ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Double
+    {- ^ /@r@/: Red -}
+    -> Double
+    {- ^ /@g@/: Green -}
+    -> Double
+    {- ^ /@b@/: Blue -}
+    -> m ((Double, Double, Double))
+rgbToHsv r g b = liftIO $ do
+    let r' = realToFrac r
+    let g' = realToFrac g
+    let b' = realToFrac b
+    h <- allocMem :: IO (Ptr CDouble)
+    s <- allocMem :: IO (Ptr CDouble)
+    v <- allocMem :: IO (Ptr CDouble)
+    gtk_rgb_to_hsv r' g' b' h s v
+    h' <- peek h
+    let h'' = realToFrac h'
+    s' <- peek s
+    let s'' = realToFrac s'
+    v' <- peek v
+    let v'' = realToFrac v'
+    freeMem h
+    freeMem s
+    freeMem v
+    return (h'', s'', v'')
+
+
+-- function gtk_render_slider
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "orientation of the slider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_slider" gtk_render_slider :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO ()
+
+{- |
+Renders a slider (as in 'GI.Gtk.Objects.Scale.Scale') in the rectangle defined by /@x@/, /@y@/,
+/@width@/, /@height@/. /@orientation@/ defines whether the slider is vertical
+or horizontal.
+
+Typical slider rendering:
+
+<<https://developer.gnome.org/gtk3/stable/sliders.png>>
+
+/Since: 3.0/
+-}
+renderSlider ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: orientation of the slider -}
+    -> m ()
+renderSlider context cr x y width height orientation = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    let orientation' = (fromIntegral . fromEnum) orientation
+    gtk_render_slider context' cr' x' y' width' height' orientation'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_option
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_option" gtk_render_option :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO ()
+
+{- |
+Renders an option mark (as in a 'GI.Gtk.Objects.RadioButton.RadioButton'), the 'GI.Gtk.Flags.StateFlagsChecked'
+state will determine whether the option is on or off, and
+'GI.Gtk.Flags.StateFlagsInconsistent' whether it should be marked as undefined.
+
+Typical option mark rendering:
+
+<<https://developer.gnome.org/gtk3/stable/options.png>>
+
+/Since: 3.0/
+-}
+renderOption ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> m ()
+renderOption context cr x y width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    gtk_render_option context' cr' x' y' width' height'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_line
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x0", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate for the origin of the line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y0", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate for the origin of the line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x1", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate for the end of the line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y1", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate for the end of the line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_line" gtk_render_line :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x0 : TBasicType TDouble
+    CDouble ->                              -- y0 : TBasicType TDouble
+    CDouble ->                              -- x1 : TBasicType TDouble
+    CDouble ->                              -- y1 : TBasicType TDouble
+    IO ()
+
+{- |
+Renders a line from (x0, y0) to (x1, y1).
+
+/Since: 3.0/
+-}
+renderLine ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x0@/: X coordinate for the origin of the line -}
+    -> Double
+    {- ^ /@y0@/: Y coordinate for the origin of the line -}
+    -> Double
+    {- ^ /@x1@/: X coordinate for the end of the line -}
+    -> Double
+    {- ^ /@y1@/: Y coordinate for the end of the line -}
+    -> m ()
+renderLine context cr x0 y0 x1 y1 = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x0' = realToFrac x0
+    let y0' = realToFrac y0
+    let x1' = realToFrac x1
+    let y1' = realToFrac y1
+    gtk_render_line context' cr' x0' y0' x1' y1'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_layout
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "layout", argType = TInterface (Name {namespace = "Pango", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #PangoLayout to render", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_layout" gtk_render_layout :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    Ptr Pango.Layout.Layout ->              -- layout : TInterface (Name {namespace = "Pango", name = "Layout"})
+    IO ()
+
+{- |
+Renders /@layout@/ on the coordinates /@x@/, /@y@/
+
+/Since: 3.0/
+-}
+renderLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a, Pango.Layout.IsLayout b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin -}
+    -> Double
+    {- ^ /@y@/: Y origin -}
+    -> b
+    {- ^ /@layout@/: the 'GI.Pango.Objects.Layout.Layout' to render -}
+    -> m ()
+renderLayout context cr x y layout = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    layout' <- unsafeManagedPtrCastPtr layout
+    gtk_render_layout context' cr' x' y' layout'
+    touchManagedPtr context
+    touchManagedPtr cr
+    touchManagedPtr layout
+    return ()
+
+
+-- function gtk_render_insertion_cursor
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "layout", argType = TInterface (Name {namespace = "Pango", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #PangoLayout of the text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index in the #PangoLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Pango", name = "Direction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #PangoDirection of the text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_insertion_cursor" gtk_render_insertion_cursor :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    Ptr Pango.Layout.Layout ->              -- layout : TInterface (Name {namespace = "Pango", name = "Layout"})
+    Int32 ->                                -- index : TBasicType TInt
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Pango", name = "Direction"})
+    IO ()
+
+{- |
+Draws a text caret on /@cr@/ at the specified index of /@layout@/.
+
+/Since: 3.4/
+-}
+renderInsertionCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a, Pango.Layout.IsLayout b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin -}
+    -> Double
+    {- ^ /@y@/: Y origin -}
+    -> b
+    {- ^ /@layout@/: the 'GI.Pango.Objects.Layout.Layout' of the text -}
+    -> Int32
+    {- ^ /@index@/: the index in the 'GI.Pango.Objects.Layout.Layout' -}
+    -> Pango.Enums.Direction
+    {- ^ /@direction@/: the 'GI.Pango.Enums.Direction' of the text -}
+    -> m ()
+renderInsertionCursor context cr x y layout index direction = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    layout' <- unsafeManagedPtrCastPtr layout
+    let direction' = (fromIntegral . fromEnum) direction
+    gtk_render_insertion_cursor context' cr' x' y' layout' index direction'
+    touchManagedPtr context
+    touchManagedPtr cr
+    touchManagedPtr layout
+    return ()
+
+
+-- function gtk_render_icon_surface
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "surface", argType = TInterface (Name {namespace = "cairo", name = "Surface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_surface_t containing the icon to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position for the @icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position for the @incon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_icon_surface" gtk_render_icon_surface :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    Ptr Cairo.Surface.Surface ->            -- surface : TInterface (Name {namespace = "cairo", name = "Surface"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    IO ()
+
+{- |
+Renders the icon in /@surface@/ at the specified /@x@/ and /@y@/ coordinates.
+
+/Since: 3.10/
+-}
+renderIconSurface ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Cairo.Surface.Surface
+    {- ^ /@surface@/: a 'GI.Cairo.Structs.Surface.Surface' containing the icon to draw -}
+    -> Double
+    {- ^ /@x@/: X position for the /@icon@/ -}
+    -> Double
+    {- ^ /@y@/: Y position for the /@incon@/ -}
+    -> m ()
+renderIconSurface context cr surface x y = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    surface' <- unsafeManagedPtrGetPtr surface
+    let x' = realToFrac x
+    let y' = realToFrac y
+    gtk_render_icon_surface context' cr' surface' x' y'
+    touchManagedPtr context
+    touchManagedPtr cr
+    touchManagedPtr surface
+    return ()
+
+
+-- function gtk_render_icon_pixbuf
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkIconSource specifying the icon to render", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size (#GtkIconSize) to render the icon at.\n       A size of `(GtkIconSize) -1` means render at the size of the source\n       and don\8217t scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_icon_pixbuf" gtk_render_icon_pixbuf :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gtk.IconSource.IconSource ->        -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED renderIconPixbuf ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.iconThemeLoadIcon' instead."] #-}
+{- |
+Renders the icon specified by /@source@/ at the given /@size@/, returning the result
+in a pixbuf.
+
+/Since: 3.0/
+-}
+renderIconPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Gtk.IconSource.IconSource
+    {- ^ /@source@/: the 'GI.Gtk.Structs.IconSource.IconSource' specifying the icon to render -}
+    -> Int32
+    {- ^ /@size@/: the size ('GI.Gtk.Enums.IconSize') to render the icon at.
+       A size of @(GtkIconSize) -1@ means render at the size of the source
+       and don’t scale. -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ a newly-created 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' containing the rendered icon -}
+renderIconPixbuf context source size = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_render_icon_pixbuf context' source' size
+    checkUnexpectedReturnNULL "renderIconPixbuf" result
+    result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+    touchManagedPtr context
+    touchManagedPtr source
+    return result'
+
+
+-- function gtk_render_icon
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf containing the icon to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position for the @pixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position for the @pixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_icon" gtk_render_icon :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    IO ()
+
+{- |
+Renders the icon in /@pixbuf@/ at the specified /@x@/ and /@y@/ coordinates.
+
+This function will render the icon in /@pixbuf@/ at exactly its size,
+regardless of scaling factors, which may not be appropriate when
+drawing on displays with high pixel densities.
+
+You probably want to use 'GI.Gtk.Functions.renderIconSurface' instead, if you
+already have a Cairo surface.
+
+/Since: 3.2/
+-}
+renderIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> b
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' containing the icon to draw -}
+    -> Double
+    {- ^ /@x@/: X position for the /@pixbuf@/ -}
+    -> Double
+    {- ^ /@y@/: Y position for the /@pixbuf@/ -}
+    -> m ()
+renderIcon context cr pixbuf x y = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    let x' = realToFrac x
+    let y' = realToFrac y
+    gtk_render_icon context' cr' pixbuf' x' y'
+    touchManagedPtr context
+    touchManagedPtr cr
+    touchManagedPtr pixbuf
+    return ()
+
+
+-- function gtk_render_handle
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_handle" gtk_render_handle :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO ()
+
+{- |
+Renders a handle (as in 'GI.Gtk.Objects.HandleBox.HandleBox', 'GI.Gtk.Objects.Paned.Paned' and
+'GI.Gtk.Objects.Window.Window'’s resize grip), in the rectangle
+determined by /@x@/, /@y@/, /@width@/, /@height@/.
+
+Handles rendered for the paned and grip classes:
+
+<<https://developer.gnome.org/gtk3/stable/handles.png>>
+
+/Since: 3.0/
+-}
+renderHandle ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> m ()
+renderHandle context cr x y width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    gtk_render_handle context' cr' x' y' width' height'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_frame_gap
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_side", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "side where the gap is", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xy0_gap", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "initial coordinate (X or Y depending on @gap_side) for the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xy1_gap", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end coordinate (X or Y depending on @gap_side) for the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_frame_gap" gtk_render_frame_gap :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    CUInt ->                                -- gap_side : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    CDouble ->                              -- xy0_gap : TBasicType TDouble
+    CDouble ->                              -- xy1_gap : TBasicType TDouble
+    IO ()
+
+{-# DEPRECATED renderFrameGap ["(Since version 3.24)","Use 'GI.Gtk.Functions.renderFrame' instead. Themes can create gaps","    by omitting borders via CSS."] #-}
+{- |
+Renders a frame around the rectangle defined by (/@x@/, /@y@/, /@width@/, /@height@/),
+leaving a gap on one side. /@xy0Gap@/ and /@xy1Gap@/ will mean X coordinates
+for 'GI.Gtk.Enums.PositionTypeTop' and 'GI.Gtk.Enums.PositionTypeBottom' gap sides, and Y coordinates for
+'GI.Gtk.Enums.PositionTypeLeft' and 'GI.Gtk.Enums.PositionTypeRight'.
+
+Typical rendering of a frame with a gap:
+
+<<https://developer.gnome.org/gtk3/stable/frame-gap.png>>
+
+/Since: 3.0/
+-}
+renderFrameGap ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@gapSide@/: side where the gap is -}
+    -> Double
+    {- ^ /@xy0Gap@/: initial coordinate (X or Y depending on /@gapSide@/) for the gap -}
+    -> Double
+    {- ^ /@xy1Gap@/: end coordinate (X or Y depending on /@gapSide@/) for the gap -}
+    -> m ()
+renderFrameGap context cr x y width height gapSide xy0Gap xy1Gap = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    let gapSide' = (fromIntegral . fromEnum) gapSide
+    let xy0Gap' = realToFrac xy0Gap
+    let xy1Gap' = realToFrac xy1Gap
+    gtk_render_frame_gap context' cr' x' y' width' height' gapSide' xy0Gap' xy1Gap'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_frame
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_frame" gtk_render_frame :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO ()
+
+{- |
+Renders a frame around the rectangle defined by /@x@/, /@y@/, /@width@/, /@height@/.
+
+Examples of frame rendering, showing the effect of @border-image@,
+@border-color@, @border-width@, @border-radius@ and junctions:
+
+<<https://developer.gnome.org/gtk3/stable/frames.png>>
+
+/Since: 3.0/
+-}
+renderFrame ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> m ()
+renderFrame context cr x y width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    gtk_render_frame context' cr' x' y' width' height'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_focus
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_focus" gtk_render_focus :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO ()
+
+{- |
+Renders a focus indicator on the rectangle determined by /@x@/, /@y@/, /@width@/, /@height@/.
+
+Typical focus rendering:
+
+<<https://developer.gnome.org/gtk3/stable/focus.png>>
+
+/Since: 3.0/
+-}
+renderFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> m ()
+renderFocus context cr x y width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    gtk_render_focus context' cr' x' y' width' height'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_extension
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_side", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "side where the gap is", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_extension" gtk_render_extension :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    CUInt ->                                -- gap_side : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    IO ()
+
+{- |
+Renders a extension (as in a 'GI.Gtk.Objects.Notebook.Notebook' tab) in the rectangle
+defined by /@x@/, /@y@/, /@width@/, /@height@/. The side where the extension
+connects to is defined by /@gapSide@/.
+
+Typical extension rendering:
+
+<<https://developer.gnome.org/gtk3/stable/extensions.png>>
+
+/Since: 3.0/
+-}
+renderExtension ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@gapSide@/: side where the gap is -}
+    -> m ()
+renderExtension context cr x y width height gapSide = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    let gapSide' = (fromIntegral . fromEnum) gapSide
+    gtk_render_extension context' cr' x' y' width' height' gapSide'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_expander
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_expander" gtk_render_expander :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO ()
+
+{- |
+Renders an expander (as used in 'GI.Gtk.Objects.TreeView.TreeView' and 'GI.Gtk.Objects.Expander.Expander') in the area
+defined by /@x@/, /@y@/, /@width@/, /@height@/. The state 'GI.Gtk.Flags.StateFlagsChecked'
+determines whether the expander is collapsed or expanded.
+
+Typical expander rendering:
+
+<<https://developer.gnome.org/gtk3/stable/expanders.png>>
+
+/Since: 3.0/
+-}
+renderExpander ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> m ()
+renderExpander context cr x y width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    gtk_render_expander context' cr' x' y' width' height'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_check
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_check" gtk_render_check :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO ()
+
+{- |
+Renders a checkmark (as in a 'GI.Gtk.Objects.CheckButton.CheckButton').
+
+The 'GI.Gtk.Flags.StateFlagsChecked' state determines whether the check is
+on or off, and 'GI.Gtk.Flags.StateFlagsInconsistent' determines whether it
+should be marked as undefined.
+
+Typical checkmark rendering:
+
+<<https://developer.gnome.org/gtk3/stable/checks.png>>
+
+/Since: 3.0/
+-}
+renderCheck ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> m ()
+renderCheck context cr x y width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    gtk_render_check context' cr' x' y' width' height'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_background_get_clip
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_clip", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the clip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_background_get_clip" gtk_render_background_get_clip :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    Ptr Gdk.Rectangle.Rectangle ->          -- out_clip : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Returns the area that will be affected (i.e. drawn to) when
+calling 'GI.Gtk.Functions.renderBackground' for the given /@context@/ and
+rectangle.
+
+/Since: 3.20/
+-}
+renderBackgroundGetClip ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> m (Gdk.Rectangle.Rectangle)
+renderBackgroundGetClip context x y width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    outClip <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_render_background_get_clip context' x' y' width' height' outClip
+    outClip' <- (wrapBoxed Gdk.Rectangle.Rectangle) outClip
+    touchManagedPtr context
+    return outClip'
+
+
+-- function gtk_render_background
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_background" gtk_render_background :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO ()
+
+{- |
+Renders the background of an element.
+
+Typical background rendering, showing the effect of
+@background-image@, @border-width@ and @border-radius@:
+
+<<https://developer.gnome.org/gtk3/stable/background.png>>
+
+/Since: 3.0./
+-}
+renderBackground ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> m ()
+renderBackground context cr x y width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    gtk_render_background context' cr' x' y' width' height'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_arrow
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "angle", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "arrow angle from 0 to 2 * %G_PI, being 0 the arrow pointing to the north", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the render area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the render area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "square side for render area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_arrow" gtk_render_arrow :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- angle : TBasicType TDouble
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- size : TBasicType TDouble
+    IO ()
+
+{- |
+Renders an arrow pointing to /@angle@/.
+
+Typical arrow rendering at 0, 1⁄2 π;, π; and 3⁄2 π:
+
+<<https://developer.gnome.org/gtk3/stable/arrows.png>>
+
+/Since: 3.0/
+-}
+renderArrow ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@angle@/: arrow angle from 0 to 2 * 'GI.GLib.Constants.PI', being 0 the arrow pointing to the north -}
+    -> Double
+    {- ^ /@x@/: X origin of the render area -}
+    -> Double
+    {- ^ /@y@/: Y origin of the render area -}
+    -> Double
+    {- ^ /@size@/: square side for render area -}
+    -> m ()
+renderArrow context cr angle x y size = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let angle' = realToFrac angle
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let size' = realToFrac size
+    gtk_render_arrow context' cr' angle' x' y' size'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_render_activity
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_render_activity" gtk_render_activity :: 
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO ()
+
+{- |
+Renders an activity indicator (such as in 'GI.Gtk.Objects.Spinner.Spinner').
+The state 'GI.Gtk.Flags.StateFlagsChecked' determines whether there is
+activity going on.
+
+/Since: 3.0/
+-}
+renderActivity ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Double
+    {- ^ /@x@/: X origin of the rectangle -}
+    -> Double
+    {- ^ /@y@/: Y origin of the rectangle -}
+    -> Double
+    {- ^ /@width@/: rectangle width -}
+    -> Double
+    {- ^ /@height@/: rectangle height -}
+    -> m ()
+renderActivity context cr x y width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let x' = realToFrac x
+    let y' = realToFrac y
+    let width' = realToFrac width
+    let height' = realToFrac height
+    gtk_render_activity context' cr' x' y' width' height'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+
+-- function gtk_rc_set_default_files
+-- Args : [Arg {argCName = "filenames", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A\n    %NULL-terminated list of filenames.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_set_default_files" gtk_rc_set_default_files :: 
+    Ptr CString ->                          -- filenames : TCArray True (-1) (-1) (TBasicType TFileName)
+    IO ()
+
+{-# DEPRECATED rcSetDefaultFiles ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' with a custom 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' instead"] #-}
+{- |
+Sets the list of files that GTK+ will read at the
+end of 'GI.Gtk.Functions.init'.
+-}
+rcSetDefaultFiles ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [[Char]]
+    {- ^ /@filenames@/: A
+    'Nothing'-terminated list of filenames. -}
+    -> m ()
+rcSetDefaultFiles filenames = liftIO $ do
+    filenames' <- packZeroTerminatedFileNameArray filenames
+    gtk_rc_set_default_files filenames'
+    mapZeroTerminatedCArray freeMem filenames'
+    freeMem filenames'
+    return ()
+
+
+-- function gtk_rc_reset_styles
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_reset_styles" gtk_rc_reset_styles :: 
+    Ptr Gtk.Settings.Settings ->            -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
+    IO ()
+
+{-# DEPRECATED rcResetStyles ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+This function recomputes the styles for all widgets that use a
+particular 'GI.Gtk.Objects.Settings.Settings' object. (There is one 'GI.Gtk.Objects.Settings.Settings' object
+per 'GI.Gdk.Objects.Screen.Screen', see 'GI.Gtk.Objects.Settings.settingsGetForScreen'); It is useful
+when some global parameter has changed that affects the appearance
+of all widgets, because when a widget gets a new style, it will
+both redraw and recompute any cached information about its
+appearance. As an example, it is used when the default font size
+set by the operating system changes. Note that this function
+doesn’t affect widgets that have a style set explicitly on them
+with 'GI.Gtk.Objects.Widget.widgetSetStyle'.
+
+/Since: 2.4/
+-}
+rcResetStyles ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Settings.IsSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.Settings.Settings' -}
+    -> m ()
+rcResetStyles settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    gtk_rc_reset_styles settings'
+    touchManagedPtr settings
+    return ()
+
+
+-- function gtk_rc_reparse_all_for_settings
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "force_load", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "load whether or not anything changed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_reparse_all_for_settings" gtk_rc_reparse_all_for_settings :: 
+    Ptr Gtk.Settings.Settings ->            -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
+    CInt ->                                 -- force_load : TBasicType TBoolean
+    IO CInt
+
+{-# DEPRECATED rcReparseAllForSettings ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+If the modification time on any previously read file
+for the given 'GI.Gtk.Objects.Settings.Settings' has changed, discard all style information
+and then reread all previously read RC files.
+-}
+rcReparseAllForSettings ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Settings.IsSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.Settings.Settings' -}
+    -> Bool
+    {- ^ /@forceLoad@/: load whether or not anything changed -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the files were reread. -}
+rcReparseAllForSettings settings forceLoad = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let forceLoad' = (fromIntegral . fromEnum) forceLoad
+    result <- gtk_rc_reparse_all_for_settings settings' forceLoad'
+    let result' = (/= 0) result
+    touchManagedPtr settings
+    return result'
+
+
+-- function gtk_rc_reparse_all
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_reparse_all" gtk_rc_reparse_all :: 
+    IO CInt
+
+{-# DEPRECATED rcReparseAll ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+If the modification time on any previously read file for the
+default 'GI.Gtk.Objects.Settings.Settings' has changed, discard all style information
+and then reread all previously read RC files.
+-}
+rcReparseAll ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Bool
+    {- ^ __Returns:__ 'True' if the files were reread. -}
+rcReparseAll  = liftIO $ do
+    result <- gtk_rc_reparse_all
+    let result' = (/= 0) result
+    return result'
+
+
+-- function gtk_rc_parse_string
+-- Args : [Arg {argCName = "rc_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string to parse.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_parse_string" gtk_rc_parse_string :: 
+    CString ->                              -- rc_string : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED rcParseString ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Parses resource information directly from a string.
+-}
+rcParseString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@rcString@/: a string to parse. -}
+    -> m ()
+rcParseString rcString = liftIO $ do
+    rcString' <- textToCString rcString
+    gtk_rc_parse_string rcString'
+    freeMem rcString'
+    return ()
+
+
+-- function gtk_rc_parse_state
+-- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner (must be initialized for parsing an RC file)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to a #GtkStateType variable in which to\n store the result.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_parse_state" gtk_rc_parse_state :: 
+    Ptr GLib.Scanner.Scanner ->             -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})
+    Ptr CUInt ->                            -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    IO Word32
+
+{-# DEPRECATED rcParseState ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead"] #-}
+{- |
+Parses a 'GI.Gtk.Enums.StateType' variable from the format expected
+in a RC file.
+-}
+rcParseState ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GLib.Scanner.Scanner
+    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' (must be initialized for parsing an RC file) -}
+    -> m ((Word32, Gtk.Enums.StateType))
+    {- ^ __Returns:__ 'GI.GLib.Enums.TokenTypeNone' if parsing succeeded, otherwise the token
+  that was expected but not found. -}
+rcParseState scanner = liftIO $ do
+    scanner' <- unsafeManagedPtrGetPtr scanner
+    state <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_rc_parse_state scanner' state
+    state' <- peek state
+    let state'' = (toEnum . fromIntegral) state'
+    touchManagedPtr scanner
+    freeMem state
+    return (result, state'')
+
+
+-- function gtk_rc_parse_priority
+-- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner (must be initialized for parsing an RC file)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TInterface (Name {namespace = "Gtk", name = "PathPriorityType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to #GtkPathPriorityType variable in which\n to store the result.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_parse_priority" gtk_rc_parse_priority :: 
+    Ptr GLib.Scanner.Scanner ->             -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})
+    CUInt ->                                -- priority : TInterface (Name {namespace = "Gtk", name = "PathPriorityType"})
+    IO Word32
+
+{-# DEPRECATED rcParsePriority ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead"] #-}
+{- |
+Parses a 'GI.Gtk.Enums.PathPriorityType' variable from the format expected
+in a RC file.
+-}
+rcParsePriority ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GLib.Scanner.Scanner
+    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' (must be initialized for parsing an RC file) -}
+    -> Gtk.Enums.PathPriorityType
+    {- ^ /@priority@/: A pointer to 'GI.Gtk.Enums.PathPriorityType' variable in which
+ to store the result. -}
+    -> m Word32
+    {- ^ __Returns:__ 'GI.GLib.Enums.TokenTypeNone' if parsing succeeded, otherwise the token
+  that was expected but not found. -}
+rcParsePriority scanner priority = liftIO $ do
+    scanner' <- unsafeManagedPtrGetPtr scanner
+    let priority' = (fromIntegral . fromEnum) priority
+    result <- gtk_rc_parse_priority scanner' priority'
+    touchManagedPtr scanner
+    return result
+
+
+-- function gtk_rc_parse_color_full
+-- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "RcStyle"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkRcStyle, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GdkColor in which to store\n    the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_parse_color_full" gtk_rc_parse_color_full :: 
+    Ptr GLib.Scanner.Scanner ->             -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})
+    Ptr Gtk.RcStyle.RcStyle ->              -- style : TInterface (Name {namespace = "Gtk", name = "RcStyle"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO Word32
+
+{-# DEPRECATED rcParseColorFull ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead"] #-}
+{- |
+Parses a color in the format expected
+in a RC file. If /@style@/ is not 'Nothing', it will be consulted to resolve
+references to symbolic colors.
+
+/Since: 2.12/
+-}
+rcParseColorFull ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.RcStyle.IsRcStyle a) =>
+    GLib.Scanner.Scanner
+    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}
+    -> Maybe (a)
+    {- ^ /@style@/: a 'GI.Gtk.Objects.RcStyle.RcStyle', or 'Nothing' -}
+    -> m ((Word32, Gdk.Color.Color))
+    {- ^ __Returns:__ 'GI.GLib.Enums.TokenTypeNone' if parsing succeeded, otherwise the token
+    that was expected but not found -}
+rcParseColorFull scanner style = liftIO $ do
+    scanner' <- unsafeManagedPtrGetPtr scanner
+    maybeStyle <- case style of
+        Nothing -> return nullPtr
+        Just jStyle -> do
+            jStyle' <- unsafeManagedPtrCastPtr jStyle
+            return jStyle'
+    color <- callocBoxedBytes 12 :: IO (Ptr Gdk.Color.Color)
+    result <- gtk_rc_parse_color_full scanner' maybeStyle color
+    color' <- (wrapBoxed Gdk.Color.Color) color
+    touchManagedPtr scanner
+    whenJust style touchManagedPtr
+    return (result, color')
+
+
+-- function gtk_rc_parse_color
+-- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GdkColor in which to store\n    the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_parse_color" gtk_rc_parse_color :: 
+    Ptr GLib.Scanner.Scanner ->             -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO Word32
+
+{-# DEPRECATED rcParseColor ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead"] #-}
+{- |
+Parses a color in the format expected
+in a RC file.
+
+Note that theme engines should use 'GI.Gtk.Functions.rcParseColorFull' in
+order to support symbolic colors.
+-}
+rcParseColor ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GLib.Scanner.Scanner
+    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}
+    -> m ((Word32, Gdk.Color.Color))
+    {- ^ __Returns:__ 'GI.GLib.Enums.TokenTypeNone' if parsing succeeded, otherwise the token
+    that was expected but not found -}
+rcParseColor scanner = liftIO $ do
+    scanner' <- unsafeManagedPtrGetPtr scanner
+    color <- callocBoxedBytes 12 :: IO (Ptr Gdk.Color.Color)
+    result <- gtk_rc_parse_color scanner' color
+    color' <- (wrapBoxed Gdk.Color.Color) color
+    touchManagedPtr scanner
+    return (result, color')
+
+
+-- function gtk_rc_parse
+-- Args : [Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename of a file to parse. If @filename is not absolute, it\n is searched in the current directory.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_parse" gtk_rc_parse :: 
+    CString ->                              -- filename : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED rcParse ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Parses a given resource file.
+-}
+rcParse ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@filename@/: the filename of a file to parse. If /@filename@/ is not absolute, it
+ is searched in the current directory. -}
+    -> m ()
+rcParse filename = liftIO $ do
+    filename' <- textToCString filename
+    gtk_rc_parse filename'
+    freeMem filename'
+    return ()
+
+
+-- function gtk_rc_get_theme_dir
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_get_theme_dir" gtk_rc_get_theme_dir :: 
+    IO CString
+
+{-# DEPRECATED rcGetThemeDir ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Returns the standard directory in which themes should
+be installed. (GTK+ does not actually use this directory
+itself.)
+-}
+rcGetThemeDir ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m T.Text
+    {- ^ __Returns:__ The directory (must be freed with 'GI.GLib.Functions.free'). -}
+rcGetThemeDir  = liftIO $ do
+    result <- gtk_rc_get_theme_dir
+    checkUnexpectedReturnNULL "rcGetThemeDir" result
+    result' <- cstringToText result
+    freeMem result
+    return result'
+
+
+-- function gtk_rc_get_style_by_paths
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSettings object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget path to use when looking up the\n    style, or %NULL if no matching against the widget path should be done", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the class path to use when looking up the style,\n    or %NULL if no matching against the class path should be done.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a type that will be used along with parent types of this type\n    when matching against class styles, or #G_TYPE_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Style"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_get_style_by_paths" gtk_rc_get_style_by_paths :: 
+    Ptr Gtk.Settings.Settings ->            -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
+    CString ->                              -- widget_path : TBasicType TUTF8
+    CString ->                              -- class_path : TBasicType TUTF8
+    CGType ->                               -- type : TBasicType TGType
+    IO (Ptr Gtk.Style.Style)
+
+{-# DEPRECATED rcGetStyleByPaths ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+Creates up a 'GI.Gtk.Objects.Style.Style' from styles defined in a RC file by providing
+the raw components used in matching. This function may be useful
+when creating pseudo-widgets that should be themed like widgets but
+don’t actually have corresponding GTK+ widgets. An example of this
+would be items inside a GNOME canvas widget.
+
+The action of 'GI.Gtk.Functions.rcGetStyle' is similar to:
+
+=== /C code/
+>
+> gtk_widget_path (widget, NULL, &path, NULL);
+> gtk_widget_class_path (widget, NULL, &class_path, NULL);
+> gtk_rc_get_style_by_paths (gtk_widget_get_settings (widget),
+>                            path, class_path,
+>                            G_OBJECT_TYPE (widget));
+-}
+rcGetStyleByPaths ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Settings.IsSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.Settings.Settings' object -}
+    -> Maybe (T.Text)
+    {- ^ /@widgetPath@/: the widget path to use when looking up the
+    style, or 'Nothing' if no matching against the widget path should be done -}
+    -> Maybe (T.Text)
+    {- ^ /@classPath@/: the class path to use when looking up the style,
+    or 'Nothing' if no matching against the class path should be done. -}
+    -> GType
+    {- ^ /@type@/: a type that will be used along with parent types of this type
+    when matching against class styles, or @/G_TYPE_NONE/@ -}
+    -> m (Maybe Gtk.Style.Style)
+    {- ^ __Returns:__ A style created by matching
+    with the supplied paths, or 'Nothing' if nothing matching was
+    specified and the default style should be used. The returned
+    value is owned by GTK+ as part of an internal cache, so you
+    must call 'GI.GObject.Objects.Object.objectRef' on the returned value if you want to
+    keep a reference to it. -}
+rcGetStyleByPaths settings widgetPath classPath type_ = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    maybeWidgetPath <- case widgetPath of
+        Nothing -> return nullPtr
+        Just jWidgetPath -> do
+            jWidgetPath' <- textToCString jWidgetPath
+            return jWidgetPath'
+    maybeClassPath <- case classPath of
+        Nothing -> return nullPtr
+        Just jClassPath -> do
+            jClassPath' <- textToCString jClassPath
+            return jClassPath'
+    let type_' = gtypeToCGType type_
+    result <- gtk_rc_get_style_by_paths settings' maybeWidgetPath maybeClassPath type_'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Style.Style) result'
+        return result''
+    touchManagedPtr settings
+    freeMem maybeWidgetPath
+    freeMem maybeClassPath
+    return maybeResult
+
+
+-- function gtk_rc_get_style
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Style"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_get_style" gtk_rc_get_style :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.Style.Style)
+
+{-# DEPRECATED rcGetStyle ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+Finds all matching RC styles for a given widget,
+composites them together, and then creates a
+'GI.Gtk.Objects.Style.Style' representing the composite appearance.
+(GTK+ actually keeps a cache of previously
+created styles, so a new style may not be
+created.)
+-}
+rcGetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.Style.Style
+    {- ^ __Returns:__ the resulting style. No refcount is added
+  to the returned style, so if you want to save this style around,
+  you should add a reference yourself. -}
+rcGetStyle widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_rc_get_style widget'
+    checkUnexpectedReturnNULL "rcGetStyle" result
+    result' <- (newObject Gtk.Style.Style) result
+    touchManagedPtr widget
+    return result'
+
+
+-- function gtk_rc_get_module_dir
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_get_module_dir" gtk_rc_get_module_dir :: 
+    IO CString
+
+{-# DEPRECATED rcGetModuleDir ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Returns a directory in which GTK+ looks for theme engines.
+For full information about the search for theme engines,
+see the docs for @GTK_PATH@ in [Running GTK+ Applications][gtk-running].
+-}
+rcGetModuleDir ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m [Char]
+    {- ^ __Returns:__ the directory. (Must be freed with 'GI.GLib.Functions.free') -}
+rcGetModuleDir  = liftIO $ do
+    result <- gtk_rc_get_module_dir
+    checkUnexpectedReturnNULL "rcGetModuleDir" result
+    result' <- cstringToString result
+    freeMem result
+    return result'
+
+
+-- function gtk_rc_get_im_module_path
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_get_im_module_path" gtk_rc_get_im_module_path :: 
+    IO CString
+
+{-# DEPRECATED rcGetImModulePath ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Obtains the path in which to look for IM modules. See the documentation
+of the @GTK_PATH@
+environment variable for more details about looking up modules. This
+function is useful solely for utilities supplied with GTK+ and should
+not be used by applications under normal circumstances.
+-}
+rcGetImModulePath ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m [Char]
+    {- ^ __Returns:__ a newly-allocated string containing the
+   path in which to look for IM modules. -}
+rcGetImModulePath  = liftIO $ do
+    result <- gtk_rc_get_im_module_path
+    checkUnexpectedReturnNULL "rcGetImModulePath" result
+    result' <- cstringToString result
+    freeMem result
+    return result'
+
+
+-- function gtk_rc_get_im_module_file
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_get_im_module_file" gtk_rc_get_im_module_file :: 
+    IO CString
+
+{-# DEPRECATED rcGetImModuleFile ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Obtains the path to the IM modules file. See the documentation
+of the @GTK_IM_MODULE_FILE@
+environment variable for more details.
+-}
+rcGetImModuleFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m [Char]
+    {- ^ __Returns:__ a newly-allocated string containing the
+   name of the file listing the IM modules available for loading -}
+rcGetImModuleFile  = liftIO $ do
+    result <- gtk_rc_get_im_module_file
+    checkUnexpectedReturnNULL "rcGetImModuleFile" result
+    result' <- cstringToString result
+    freeMem result
+    return result'
+
+
+-- function gtk_rc_get_default_files
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TFileName))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_get_default_files" gtk_rc_get_default_files :: 
+    IO (Ptr CString)
+
+{-# DEPRECATED rcGetDefaultFiles ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+Retrieves the current list of RC files that will be parsed
+at the end of 'GI.Gtk.Functions.init'.
+-}
+rcGetDefaultFiles ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m [[Char]]
+    {- ^ __Returns:__ 
+     A 'Nothing'-terminated array of filenames.  This memory is owned
+    by GTK+ and must not be freed by the application.  If you want
+    to store this information, you should make a copy. -}
+rcGetDefaultFiles  = liftIO $ do
+    result <- gtk_rc_get_default_files
+    checkUnexpectedReturnNULL "rcGetDefaultFiles" result
+    result' <- unpackZeroTerminatedFileNameArray result
+    return result'
+
+
+-- function gtk_rc_find_pixmap_in_path
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Scanner used to get line number information for the\n  warning message, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixmap_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the pixmap file to locate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_find_pixmap_in_path" gtk_rc_find_pixmap_in_path :: 
+    Ptr Gtk.Settings.Settings ->            -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
+    Ptr GLib.Scanner.Scanner ->             -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})
+    CString ->                              -- pixmap_file : TBasicType TUTF8
+    IO CString
+
+{-# DEPRECATED rcFindPixmapInPath ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Looks up a file in pixmap path for the specified 'GI.Gtk.Objects.Settings.Settings'.
+If the file is not found, it outputs a warning message using
+@/g_warning()/@ and returns 'Nothing'.
+-}
+rcFindPixmapInPath ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Settings.IsSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.Settings.Settings' -}
+    -> GLib.Scanner.Scanner
+    {- ^ /@scanner@/: Scanner used to get line number information for the
+  warning message, or 'Nothing' -}
+    -> T.Text
+    {- ^ /@pixmapFile@/: name of the pixmap file to locate. -}
+    -> m [Char]
+    {- ^ __Returns:__ the filename. -}
+rcFindPixmapInPath settings scanner pixmapFile = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    scanner' <- unsafeManagedPtrGetPtr scanner
+    pixmapFile' <- textToCString pixmapFile
+    result <- gtk_rc_find_pixmap_in_path settings' scanner' pixmapFile'
+    checkUnexpectedReturnNULL "rcFindPixmapInPath" result
+    result' <- cstringToString result
+    freeMem result
+    touchManagedPtr settings
+    touchManagedPtr scanner
+    freeMem pixmapFile'
+    return result'
+
+
+-- function gtk_rc_find_module_in_path
+-- Args : [Arg {argCName = "module_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a theme engine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_find_module_in_path" gtk_rc_find_module_in_path :: 
+    CString ->                              -- module_file : TBasicType TUTF8
+    IO CString
+
+{-# DEPRECATED rcFindModuleInPath ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Searches for a theme engine in the GTK+ search path. This function
+is not useful for applications and should not be used.
+-}
+rcFindModuleInPath ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@moduleFile@/: name of a theme engine -}
+    -> m [Char]
+    {- ^ __Returns:__ The filename, if found (must be
+  freed with 'GI.GLib.Functions.free'), otherwise 'Nothing'. -}
+rcFindModuleInPath moduleFile = liftIO $ do
+    moduleFile' <- textToCString moduleFile
+    result <- gtk_rc_find_module_in_path moduleFile'
+    checkUnexpectedReturnNULL "rcFindModuleInPath" result
+    result' <- cstringToString result
+    freeMem result
+    freeMem moduleFile'
+    return result'
+
+
+-- function gtk_rc_add_default_file
+-- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pathname to the file. If @filename\n   is not absolute, it is searched in the current directory.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_add_default_file" gtk_rc_add_default_file :: 
+    CString ->                              -- filename : TBasicType TFileName
+    IO ()
+
+{-# DEPRECATED rcAddDefaultFile ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' with a custom 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' instead"] #-}
+{- |
+Adds a file to the list of files to be parsed at the
+end of 'GI.Gtk.Functions.init'.
+-}
+rcAddDefaultFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Char]
+    {- ^ /@filename@/: the pathname to the file. If /@filename@/
+   is not absolute, it is searched in the current directory. -}
+    -> m ()
+rcAddDefaultFile filename = liftIO $ do
+    filename' <- stringToCString filename
+    gtk_rc_add_default_file filename'
+    freeMem filename'
+    return ()
+
+
+-- function gtk_propagate_event
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_propagate_event" gtk_propagate_event :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO ()
+
+{- |
+Sends an event to a widget, propagating the event to parent widgets
+if the event remains unhandled.
+
+Events received by GTK+ from GDK normally begin in 'GI.Gtk.Functions.mainDoEvent'.
+Depending on the type of event, existence of modal dialogs, grabs, etc.,
+the event may be propagated; if so, this function is used.
+
+'GI.Gtk.Functions.propagateEvent' calls 'GI.Gtk.Objects.Widget.widgetEvent' on each widget it
+decides to send the event to. So 'GI.Gtk.Objects.Widget.widgetEvent' is the lowest-level
+function; it simply emits the 'GI.Gtk.Objects.Widget.Widget'::@/event/@ and possibly an
+event-specific signal on a widget. 'GI.Gtk.Functions.propagateEvent' is a bit
+higher-level, and 'GI.Gtk.Functions.mainDoEvent' is the highest level.
+
+All that said, you most likely don’t want to use any of these
+functions; synthesizing events is rarely needed. There are almost
+certainly better ways to achieve your goals. For example, use
+'GI.Gdk.Objects.Window.windowInvalidateRect' or 'GI.Gtk.Objects.Widget.widgetQueueDraw' instead
+of making up expose events.
+-}
+propagateEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: an event -}
+    -> m ()
+propagateEvent widget event = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    event' <- unsafeManagedPtrGetPtr event
+    gtk_propagate_event widget' event'
+    touchManagedPtr widget
+    touchManagedPtr event
+    return ()
+
+
+-- function gtk_print_run_page_setup_dialog_async
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "transient parent, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an existing #GtkPageSetup, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "done_cb", argType = TInterface (Name {namespace = "Gtk", name = "PageSetupDoneFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when the user saves\n          the modified page setup", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @done_cb", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_run_page_setup_dialog_async" gtk_print_run_page_setup_dialog_async :: 
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.PageSetup.PageSetup ->          -- page_setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    Ptr Gtk.PrintSettings.PrintSettings ->  -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    FunPtr Gtk.Callbacks.C_PageSetupDoneFunc -> -- done_cb : TInterface (Name {namespace = "Gtk", name = "PageSetupDoneFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO ()
+
+{- |
+Runs a page setup dialog, letting the user modify the values from /@pageSetup@/.
+
+In contrast to 'GI.Gtk.Functions.printRunPageSetupDialog', this function  returns after
+showing the page setup dialog on platforms that support this, and calls /@doneCb@/
+from a signal handler for the ::response signal of the dialog.
+
+/Since: 2.10/
+-}
+printRunPageSetupDialogAsync ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a, Gtk.PageSetup.IsPageSetup b, Gtk.PrintSettings.IsPrintSettings c) =>
+    Maybe (a)
+    {- ^ /@parent@/: transient parent, or 'Nothing' -}
+    -> Maybe (b)
+    {- ^ /@pageSetup@/: an existing 'GI.Gtk.Objects.PageSetup.PageSetup', or 'Nothing' -}
+    -> c
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Callbacks.PageSetupDoneFunc
+    {- ^ /@doneCb@/: a function to call when the user saves
+          the modified page setup -}
+    -> m ()
+printRunPageSetupDialogAsync parent pageSetup settings doneCb = liftIO $ do
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    maybePageSetup <- case pageSetup of
+        Nothing -> return nullPtr
+        Just jPageSetup -> do
+            jPageSetup' <- unsafeManagedPtrCastPtr jPageSetup
+            return jPageSetup'
+    settings' <- unsafeManagedPtrCastPtr settings
+    ptrdoneCb <- callocMem :: IO (Ptr (FunPtr Gtk.Callbacks.C_PageSetupDoneFunc))
+    doneCb' <- Gtk.Callbacks.mk_PageSetupDoneFunc (Gtk.Callbacks.wrap_PageSetupDoneFunc (Just ptrdoneCb) (Gtk.Callbacks.drop_closures_PageSetupDoneFunc doneCb))
+    poke ptrdoneCb doneCb'
+    let data_ = nullPtr
+    gtk_print_run_page_setup_dialog_async maybeParent maybePageSetup settings' doneCb' data_
+    whenJust parent touchManagedPtr
+    whenJust pageSetup touchManagedPtr
+    touchManagedPtr settings
+    return ()
+
+
+-- function gtk_print_run_page_setup_dialog
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "transient parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an existing #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageSetup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_run_page_setup_dialog" gtk_print_run_page_setup_dialog :: 
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.PageSetup.PageSetup ->          -- page_setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    Ptr Gtk.PrintSettings.PrintSettings ->  -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO (Ptr Gtk.PageSetup.PageSetup)
+
+{- |
+Runs a page setup dialog, letting the user modify the values from
+/@pageSetup@/. If the user cancels the dialog, the returned 'GI.Gtk.Objects.PageSetup.PageSetup'
+is identical to the passed in /@pageSetup@/, otherwise it contains the
+modifications done in the dialog.
+
+Note that this function may use a recursive mainloop to show the page
+setup dialog. See 'GI.Gtk.Functions.printRunPageSetupDialogAsync' if this is
+a problem.
+
+/Since: 2.10/
+-}
+printRunPageSetupDialog ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a, Gtk.PageSetup.IsPageSetup b, Gtk.PrintSettings.IsPrintSettings c) =>
+    Maybe (a)
+    {- ^ /@parent@/: transient parent -}
+    -> Maybe (b)
+    {- ^ /@pageSetup@/: an existing 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> c
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Gtk.PageSetup.PageSetup
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+printRunPageSetupDialog parent pageSetup settings = liftIO $ do
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    maybePageSetup <- case pageSetup of
+        Nothing -> return nullPtr
+        Just jPageSetup -> do
+            jPageSetup' <- unsafeManagedPtrCastPtr jPageSetup
+            return jPageSetup'
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_run_page_setup_dialog maybeParent maybePageSetup settings'
+    checkUnexpectedReturnNULL "printRunPageSetupDialog" result
+    result' <- (wrapObject Gtk.PageSetup.PageSetup) result
+    whenJust parent touchManagedPtr
+    whenJust pageSetup touchManagedPtr
+    touchManagedPtr settings
+    return result'
+
+
+-- function gtk_parse_args
+-- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the number of command line arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the array of\n    command line arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the number of command line arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_parse_args" gtk_parse_args :: 
+    Ptr Int32 ->                            -- argc : TBasicType TInt
+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
+    IO CInt
+
+{- |
+Parses command line arguments, and initializes global
+attributes of GTK+, but does not actually open a connection
+to a display. (See 'GI.Gdk.Objects.Display.displayOpen', 'GI.Gdk.Functions.getDisplayArgName')
+
+Any arguments used by GTK+ or GDK are removed from the array and
+/@argc@/ and /@argv@/ are updated accordingly.
+
+There is no need to call this function explicitly if you are using
+'GI.Gtk.Functions.init', or 'GI.Gtk.Functions.initCheck'.
+
+Note that many aspects of GTK+ require a display connection to
+function, so this way of initializing GTK+ is really only useful
+for specialized use cases.
+-}
+parseArgs ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [T.Text]
+    {- ^ /@argv@/: a pointer to the array of
+    command line arguments -}
+    -> m ((Bool, [T.Text]))
+    {- ^ __Returns:__ 'True' if initialization succeeded, otherwise 'False' -}
+parseArgs argv = liftIO $ do
+    let argc = fromIntegral $ length argv
+    argc' <- allocMem :: IO (Ptr Int32)
+    poke argc' argc
+    argv' <- packUTF8CArray argv
+    argv'' <- allocMem :: IO (Ptr (Ptr CString))
+    poke argv'' argv'
+    result <- gtk_parse_args argc' argv''
+    argc'' <- peek argc'
+    let result' = (/= 0) result
+    argv''' <- peek argv''
+    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''
+    (mapCArrayWithLength argc'') freeMem argv'''
+    freeMem argv'''
+    freeMem argc'
+    freeMem argv''
+    return (result', argv'''')
+
+
+-- function gtk_paint_vline
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y1_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the starting y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y2_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ending y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_vline" gtk_paint_vline :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- y1_ : TBasicType TInt
+    Int32 ->                                -- y2_ : TBasicType TInt
+    Int32 ->                                -- x : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintVline ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderLine' instead"] #-}
+{- |
+Draws a vertical line from (/@x@/, /@y1_@/) to (/@x@/, /@y2_@/) in /@cr@/
+using the given style and state.
+-}
+paintVline ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@y1_@/: the starting y coordinate -}
+    -> Int32
+    {- ^ /@y2_@/: the ending y coordinate -}
+    -> Int32
+    {- ^ /@x@/: the x coordinate -}
+    -> m ()
+paintVline style cr stateType widget detail y1_ y2_ x = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_vline style' cr' stateType' maybeWidget maybeDetail y1_ y2_ x
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_tab
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the rectangle to draw the tab in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the rectangle to draw the tab in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the rectangle to draw the tab in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the rectangle to draw the tab in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_tab" gtk_paint_tab :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintTab ["(Since version 3.0)","Use cairo instead"] #-}
+{- |
+Draws an option menu tab (i.e. the up and down pointing arrows)
+in the given rectangle on /@cr@/ using the given parameters.
+-}
+paintTab ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: the type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the rectangle to draw the tab in -}
+    -> Int32
+    {- ^ /@y@/: y origin of the rectangle to draw the tab in -}
+    -> Int32
+    {- ^ /@width@/: the width of the rectangle to draw the tab in -}
+    -> Int32
+    {- ^ /@height@/: the height of the rectangle to draw the tab in -}
+    -> m ()
+paintTab style cr stateType shadowType widget detail x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_tab style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_spinner
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget (may be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail (may be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nth step", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x origin of the rectangle in which to draw the spinner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y origin of the rectangle in which to draw the spinner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the rectangle in which to draw the spinner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the rectangle in which to draw the spinner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_spinner" gtk_paint_spinner :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Word32 ->                               -- step : TBasicType TUInt
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintSpinner ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderIcon' and the 'GI.Gtk.Objects.StyleContext.StyleContext'","  you are drawing instead"] #-}
+{- |
+Draws a spinner on /@window@/ using the given parameters.
+-}
+paintSpinner ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget (may be 'Nothing') -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail (may be 'Nothing') -}
+    -> Word32
+    {- ^ /@step@/: the nth step -}
+    -> Int32
+    {- ^ /@x@/: the x origin of the rectangle in which to draw the spinner -}
+    -> Int32
+    {- ^ /@y@/: the y origin of the rectangle in which to draw the spinner -}
+    -> Int32
+    {- ^ /@width@/: the width of the rectangle in which to draw the spinner -}
+    -> Int32
+    {- ^ /@height@/: the height of the rectangle in which to draw the spinner -}
+    -> m ()
+paintSpinner style cr stateType widget detail step x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_spinner style' cr' stateType' maybeWidget maybeDetail step x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_slider
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a shadow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x origin of the rectangle in which to draw a slider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y origin of the rectangle in which to draw a slider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the rectangle in which to draw a slider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the rectangle in which to draw a slider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the orientation to be used", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_slider" gtk_paint_slider :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO ()
+
+{-# DEPRECATED paintSlider ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderSlider' instead"] #-}
+{- |
+Draws a slider in the given rectangle on /@cr@/ using the
+given style and orientation.
+-}
+paintSlider ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: a shadow -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: the x origin of the rectangle in which to draw a slider -}
+    -> Int32
+    {- ^ /@y@/: the y origin of the rectangle in which to draw a slider -}
+    -> Int32
+    {- ^ /@width@/: the width of the rectangle in which to draw a slider -}
+    -> Int32
+    {- ^ /@height@/: the height of the rectangle in which to draw a slider -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the orientation to be used -}
+    -> m ()
+paintSlider style cr stateType shadowType widget detail x y width height orientation = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    let orientation' = (fromIntegral . fromEnum) orientation
+    gtk_paint_slider style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height orientation'
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_shadow_gap
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_side", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "side in which to leave the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "starting position of the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_shadow_gap" gtk_paint_shadow_gap :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    CUInt ->                                -- gap_side : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    Int32 ->                                -- gap_x : TBasicType TInt
+    Int32 ->                                -- gap_width : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintShadowGap ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderFrameGap' instead"] #-}
+{- |
+Draws a shadow around the given rectangle in /@cr@/
+using the given style and state and shadow type, leaving a
+gap in one side.
+-}
+paintShadowGap ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the rectangle -}
+    -> Int32
+    {- ^ /@y@/: y origin of the rectangle -}
+    -> Int32
+    {- ^ /@width@/: width of the rectangle -}
+    -> Int32
+    {- ^ /@height@/: width of the rectangle -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@gapSide@/: side in which to leave the gap -}
+    -> Int32
+    {- ^ /@gapX@/: starting position of the gap -}
+    -> Int32
+    {- ^ /@gapWidth@/: width of the gap -}
+    -> m ()
+paintShadowGap style cr stateType shadowType widget detail x y width height gapSide gapX gapWidth = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    let gapSide' = (fromIntegral . fromEnum) gapSide
+    gtk_paint_shadow_gap style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height gapSide' gapX gapWidth
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_shadow
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_shadow" gtk_paint_shadow :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintShadow ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderFrame' instead"] #-}
+{- |
+Draws a shadow around the given rectangle in /@cr@/
+using the given style and state and shadow type.
+-}
+paintShadow ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the rectangle -}
+    -> Int32
+    {- ^ /@y@/: y origin of the rectangle -}
+    -> Int32
+    {- ^ /@width@/: width of the rectangle -}
+    -> Int32
+    {- ^ /@height@/: width of the rectangle -}
+    -> m ()
+paintShadow style cr stateType shadowType widget detail x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_shadow style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_resize_grip
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "edge", argType = TInterface (Name {namespace = "Gdk", name = "WindowEdge"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the edge in which to draw the resize grip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x origin of the rectangle in which to draw the resize grip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y origin of the rectangle in which to draw the resize grip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the rectangle in which to draw the resize grip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the rectangle in which to draw the resize grip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_resize_grip" gtk_paint_resize_grip :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    CUInt ->                                -- edge : TInterface (Name {namespace = "Gdk", name = "WindowEdge"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintResizeGrip ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderHandle' instead"] #-}
+{- |
+Draws a resize grip in the given rectangle on /@cr@/ using the given
+parameters.
+-}
+paintResizeGrip ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Gdk.Enums.WindowEdge
+    {- ^ /@edge@/: the edge in which to draw the resize grip -}
+    -> Int32
+    {- ^ /@x@/: the x origin of the rectangle in which to draw the resize grip -}
+    -> Int32
+    {- ^ /@y@/: the y origin of the rectangle in which to draw the resize grip -}
+    -> Int32
+    {- ^ /@width@/: the width of the rectangle in which to draw the resize grip -}
+    -> Int32
+    {- ^ /@height@/: the height of the rectangle in which to draw the resize grip -}
+    -> m ()
+paintResizeGrip style cr stateType widget detail edge x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    let edge' = (fromIntegral . fromEnum) edge
+    gtk_paint_resize_grip style' cr' stateType' maybeWidget maybeDetail edge' x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_option
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the rectangle to draw the option in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the rectangle to draw the option in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the rectangle to draw the option in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the rectangle to draw the option in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_option" gtk_paint_option :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintOption ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderOption' instead"] #-}
+{- |
+Draws a radio button indicator in the given rectangle on /@cr@/ with
+the given parameters.
+-}
+paintOption ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: the type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the rectangle to draw the option in -}
+    -> Int32
+    {- ^ /@y@/: y origin of the rectangle to draw the option in -}
+    -> Int32
+    {- ^ /@width@/: the width of the rectangle to draw the option in -}
+    -> Int32
+    {- ^ /@height@/: the height of the rectangle to draw the option in -}
+    -> m ()
+paintOption style cr stateType shadowType widget detail x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_option style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_layout
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_text", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to use the text or foreground\n           graphics context of @style", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "layout", argType = TInterface (Name {namespace = "Pango", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the layout to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_layout" gtk_paint_layout :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CInt ->                                 -- use_text : TBasicType TBoolean
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Ptr Pango.Layout.Layout ->              -- layout : TInterface (Name {namespace = "Pango", name = "Layout"})
+    IO ()
+
+{-# DEPRECATED paintLayout ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderLayout' instead"] #-}
+{- |
+Draws a layout on /@cr@/ using the given parameters.
+-}
+paintLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b, Pango.Layout.IsLayout c) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Bool
+    {- ^ /@useText@/: whether to use the text or foreground
+           graphics context of /@style@/ -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin -}
+    -> Int32
+    {- ^ /@y@/: y origin -}
+    -> c
+    {- ^ /@layout@/: the layout to draw -}
+    -> m ()
+paintLayout style cr stateType useText widget detail x y layout = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let useText' = (fromIntegral . fromEnum) useText
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    layout' <- unsafeManagedPtrCastPtr layout
+    gtk_paint_layout style' cr' stateType' useText' maybeWidget maybeDetail x y layout'
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    touchManagedPtr layout
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_hline
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #caio_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x1", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the starting x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x2", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ending x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_hline" gtk_paint_hline :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x1 : TBasicType TInt
+    Int32 ->                                -- x2 : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintHline ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderLine' instead"] #-}
+{- |
+Draws a horizontal line from (/@x1@/, /@y@/) to (/@x2@/, /@y@/) in /@cr@/
+using the given style and state.
+-}
+paintHline ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a @/caio_t/@ -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x1@/: the starting x coordinate -}
+    -> Int32
+    {- ^ /@x2@/: the ending x coordinate -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate -}
+    -> m ()
+paintHline style cr stateType widget detail x1 x2 y = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_hline style' cr' stateType' maybeWidget maybeDetail x1 x2 y
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_handle
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the handle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the handle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "with of the handle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height of the handle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the orientation of the handle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_handle" gtk_paint_handle :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO ()
+
+{-# DEPRECATED paintHandle ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderHandle' instead"] #-}
+{- |
+Draws a handle as used in 'GI.Gtk.Objects.HandleBox.HandleBox' and 'GI.Gtk.Objects.Paned.Paned'.
+-}
+paintHandle ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the handle -}
+    -> Int32
+    {- ^ /@y@/: y origin of the handle -}
+    -> Int32
+    {- ^ /@width@/: with of the handle -}
+    -> Int32
+    {- ^ /@height@/: height of the handle -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the orientation of the handle -}
+    -> m ()
+paintHandle style cr stateType shadowType widget detail x y width height orientation = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    let orientation' = (fromIntegral . fromEnum) orientation
+    gtk_paint_handle style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height orientation'
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_focus
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x origin of the rectangle around which to draw a focus indicator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y origin of the rectangle around which to draw a focus indicator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the rectangle around which to draw a focus indicator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the rectangle around which to draw a focus indicator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_focus" gtk_paint_focus :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintFocus ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderFocus' instead"] #-}
+{- |
+Draws a focus indicator around the given rectangle on /@cr@/ using the
+given style.
+-}
+paintFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: the x origin of the rectangle around which to draw a focus indicator -}
+    -> Int32
+    {- ^ /@y@/: the y origin of the rectangle around which to draw a focus indicator -}
+    -> Int32
+    {- ^ /@width@/: the width of the rectangle around which to draw a focus indicator -}
+    -> Int32
+    {- ^ /@height@/: the height of the rectangle around which to draw a focus indicator -}
+    -> m ()
+paintFocus style cr stateType widget detail x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_focus style' cr' stateType' maybeWidget maybeDetail x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_flat_box
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_flat_box" gtk_paint_flat_box :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintFlatBox ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderFrame' and 'GI.Gtk.Functions.renderBackground' instead"] #-}
+{- |
+Draws a flat box on /@cr@/ with the given parameters.
+-}
+paintFlatBox ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: the type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the box -}
+    -> Int32
+    {- ^ /@y@/: y origin of the box -}
+    -> Int32
+    {- ^ /@width@/: the width of the box -}
+    -> Int32
+    {- ^ /@height@/: the height of the box -}
+    -> m ()
+paintFlatBox style cr stateType shadowType widget detail x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_flat_box style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_extension
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the extension", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the extension", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the extension", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the extension", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_side", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the side on to which the extension is attached", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_extension" gtk_paint_extension :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    CUInt ->                                -- gap_side : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    IO ()
+
+{-# DEPRECATED paintExtension ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderExtension' instead"] #-}
+{- |
+Draws an extension, i.e. a notebook tab.
+-}
+paintExtension ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the extension -}
+    -> Int32
+    {- ^ /@y@/: y origin of the extension -}
+    -> Int32
+    {- ^ /@width@/: width of the extension -}
+    -> Int32
+    {- ^ /@height@/: width of the extension -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@gapSide@/: the side on to which the extension is attached -}
+    -> m ()
+paintExtension style cr stateType shadowType widget detail x y width height gapSide = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    let gapSide' = (fromIntegral . fromEnum) gapSide
+    gtk_paint_extension style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height gapSide'
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_expander
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x position to draw the expander at", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y position to draw the expander at", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expander_style", argType = TInterface (Name {namespace = "Gtk", name = "ExpanderStyle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the style to draw the expander in; determines\n  whether the expander is collapsed, expanded, or in an\n  intermediate state.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_expander" gtk_paint_expander :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    CUInt ->                                -- expander_style : TInterface (Name {namespace = "Gtk", name = "ExpanderStyle"})
+    IO ()
+
+{-# DEPRECATED paintExpander ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderExpander' instead"] #-}
+{- |
+Draws an expander as used in 'GI.Gtk.Objects.TreeView.TreeView'. /@x@/ and /@y@/ specify the
+center the expander. The size of the expander is determined by the
+“expander-size” style property of /@widget@/.  (If widget is not
+specified or doesn’t have an “expander-size” property, an
+unspecified default size will be used, since the caller doesn\'t
+have sufficient information to position the expander, this is
+likely not useful.) The expander is expander_size pixels tall
+in the collapsed position and expander_size pixels wide in the
+expanded position.
+-}
+paintExpander ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: the x position to draw the expander at -}
+    -> Int32
+    {- ^ /@y@/: the y position to draw the expander at -}
+    -> Gtk.Enums.ExpanderStyle
+    {- ^ /@expanderStyle@/: the style to draw the expander in; determines
+  whether the expander is collapsed, expanded, or in an
+  intermediate state. -}
+    -> m ()
+paintExpander style cr stateType widget detail x y expanderStyle = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    let expanderStyle' = (fromIntegral . fromEnum) expanderStyle
+    gtk_paint_expander style' cr' stateType' maybeWidget maybeDetail x y expanderStyle'
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_diamond
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the rectangle to draw the diamond in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the rectangle to draw the diamond in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the rectangle to draw the diamond in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height of the rectangle to draw the diamond in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_diamond" gtk_paint_diamond :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintDiamond ["(Since version 3.0)","Use cairo instead"] #-}
+{- |
+Draws a diamond in the given rectangle on /@window@/ using the given
+parameters.
+-}
+paintDiamond ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: the type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the rectangle to draw the diamond in -}
+    -> Int32
+    {- ^ /@y@/: y origin of the rectangle to draw the diamond in -}
+    -> Int32
+    {- ^ /@width@/: width of the rectangle to draw the diamond in -}
+    -> Int32
+    {- ^ /@height@/: height of the rectangle to draw the diamond in -}
+    -> m ()
+paintDiamond style cr stateType shadowType widget detail x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_diamond style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_check
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the rectangle to draw the check in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the rectangle to draw the check in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the rectangle to draw the check in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the rectangle to draw the check in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_check" gtk_paint_check :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintCheck ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderCheck' instead"] #-}
+{- |
+Draws a check button indicator in the given rectangle on /@cr@/ with
+the given parameters.
+-}
+paintCheck ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: the type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the rectangle to draw the check in -}
+    -> Int32
+    {- ^ /@y@/: y origin of the rectangle to draw the check in -}
+    -> Int32
+    {- ^ /@width@/: the width of the rectangle to draw the check in -}
+    -> Int32
+    {- ^ /@height@/: the height of the rectangle to draw the check in -}
+    -> m ()
+paintCheck style cr stateType shadowType widget detail x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_check style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_box_gap
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_side", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "side in which to leave the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "starting position of the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_box_gap" gtk_paint_box_gap :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    CUInt ->                                -- gap_side : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    Int32 ->                                -- gap_x : TBasicType TInt
+    Int32 ->                                -- gap_width : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintBoxGap ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderFrameGap' instead"] #-}
+{- |
+Draws a box in /@cr@/ using the given style and state and shadow type,
+leaving a gap in one side.
+-}
+paintBoxGap ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the rectangle -}
+    -> Int32
+    {- ^ /@y@/: y origin of the rectangle -}
+    -> Int32
+    {- ^ /@width@/: width of the rectangle -}
+    -> Int32
+    {- ^ /@height@/: width of the rectangle -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@gapSide@/: side in which to leave the gap -}
+    -> Int32
+    {- ^ /@gapX@/: starting position of the gap -}
+    -> Int32
+    {- ^ /@gapWidth@/: width of the gap -}
+    -> m ()
+paintBoxGap style cr stateType shadowType widget detail x y width height gapSide gapX gapWidth = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    let gapSide' = (fromIntegral . fromEnum) gapSide
+    gtk_paint_box_gap style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height gapSide' gapX gapWidth
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_box
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_box" gtk_paint_box :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintBox ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderFrame' and 'GI.Gtk.Functions.renderBackground' instead"] #-}
+{- |
+Draws a box on /@cr@/ with the given parameters.
+-}
+paintBox ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: the type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Int32
+    {- ^ /@x@/: x origin of the box -}
+    -> Int32
+    {- ^ /@y@/: y origin of the box -}
+    -> Int32
+    {- ^ /@width@/: the width of the box -}
+    -> Int32
+    {- ^ /@height@/: the height of the box -}
+    -> m ()
+paintBox style cr stateType shadowType widget detail x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    gtk_paint_box style' cr' stateType' shadowType' maybeWidget maybeDetail x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_paint_arrow
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_t", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of shadow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "arrow_type", argType = TInterface (Name {namespace = "Gtk", name = "ArrowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of arrow to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fill", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the arrow tip should be filled", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x origin of the rectangle to draw the arrow in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y origin of the rectangle to draw the arrow in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of the rectangle to draw the arrow in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height of the rectangle to draw the arrow in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paint_arrow" gtk_paint_arrow :: 
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    CUInt ->                                -- arrow_type : TInterface (Name {namespace = "Gtk", name = "ArrowType"})
+    CInt ->                                 -- fill : TBasicType TBoolean
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED paintArrow ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderArrow' instead"] #-}
+{- |
+Draws an arrow in the given rectangle on /@cr@/ using the given
+parameters. /@arrowType@/ determines the direction of the arrow.
+-}
+paintArrow ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a 'GI.Cairo.Structs.Context.Context' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: the type of shadow to draw -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> Gtk.Enums.ArrowType
+    {- ^ /@arrowType@/: the type of arrow to draw -}
+    -> Bool
+    {- ^ /@fill@/: 'True' if the arrow tip should be filled -}
+    -> Int32
+    {- ^ /@x@/: x origin of the rectangle to draw the arrow in -}
+    -> Int32
+    {- ^ /@y@/: y origin of the rectangle to draw the arrow in -}
+    -> Int32
+    {- ^ /@width@/: width of the rectangle to draw the arrow in -}
+    -> Int32
+    {- ^ /@height@/: height of the rectangle to draw the arrow in -}
+    -> m ()
+paintArrow style cr stateType shadowType widget detail arrowType fill x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    let stateType' = (fromIntegral . fromEnum) stateType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    let arrowType' = (fromIntegral . fromEnum) arrowType
+    let fill' = (fromIntegral . fromEnum) fill
+    gtk_paint_arrow style' cr' stateType' shadowType' maybeWidget maybeDetail arrowType' fill' x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return ()
+
+
+-- function gtk_main_quit
+-- Args : []
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_main_quit" gtk_main_quit :: 
+    IO ()
+
+{- |
+Makes the innermost invocation of the main loop return
+when it regains control.
+-}
+mainQuit ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ()
+mainQuit  = liftIO $ do
+    gtk_main_quit
+    return ()
+
+
+-- function gtk_main_level
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_main_level" gtk_main_level :: 
+    IO Word32
+
+{- |
+Asks for the current nesting level of the main loop.
+-}
+mainLevel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Word32
+    {- ^ __Returns:__ the nesting level of the current invocation
+    of the main loop -}
+mainLevel  = liftIO $ do
+    result <- gtk_main_level
+    return result
+
+
+-- function gtk_main_iteration_do
+-- Args : [Arg {argCName = "blocking", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if you want GTK+ to block if no events are pending", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_main_iteration_do" gtk_main_iteration_do :: 
+    CInt ->                                 -- blocking : TBasicType TBoolean
+    IO CInt
+
+{- |
+Runs a single iteration of the mainloop.
+If no events are available either return or block depending on
+the value of /@blocking@/.
+-}
+mainIterationDo ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Bool
+    {- ^ /@blocking@/: 'True' if you want GTK+ to block if no events are pending -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if 'GI.Gtk.Functions.mainQuit' has been called for the
+    innermost mainloop -}
+mainIterationDo blocking = liftIO $ do
+    let blocking' = (fromIntegral . fromEnum) blocking
+    result <- gtk_main_iteration_do blocking'
+    let result' = (/= 0) result
+    return result'
+
+
+-- function gtk_main_iteration
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_main_iteration" gtk_main_iteration :: 
+    IO CInt
+
+{- |
+Runs a single iteration of the mainloop.
+
+If no events are waiting to be processed GTK+ will block
+until the next event is noticed. If you don’t want to block
+look at 'GI.Gtk.Functions.mainIterationDo' or check if any events are
+pending with 'GI.Gtk.Functions.eventsPending' first.
+-}
+mainIteration ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Bool
+    {- ^ __Returns:__ 'True' if 'GI.Gtk.Functions.mainQuit' has been called for the
+    innermost mainloop -}
+mainIteration  = liftIO $ do
+    result <- gtk_main_iteration
+    let result' = (/= 0) result
+    return result'
+
+
+-- function gtk_main_do_event
+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An event to process (normally passed by GDK)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_main_do_event" gtk_main_do_event :: 
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO ()
+
+{- |
+Processes a single GDK event.
+
+This is public only to allow filtering of events between GDK and GTK+.
+You will not usually need to call this function directly.
+
+While you should not call this function directly, you might want to
+know how exactly events are handled. So here is what this function
+does with the event:
+
+1. Compress enter\/leave notify events. If the event passed build an
+   enter\/leave pair together with the next event (peeked from GDK), both
+   events are thrown away. This is to avoid a backlog of (de-)highlighting
+   widgets crossed by the pointer.
+
+2. Find the widget which got the event. If the widget can’t be determined
+   the event is thrown away unless it belongs to a INCR transaction.
+
+3. Then the event is pushed onto a stack so you can query the currently
+   handled event with 'GI.Gtk.Functions.getCurrentEvent'.
+
+4. The event is sent to a widget. If a grab is active all events for widgets
+   that are not in the contained in the grab widget are sent to the latter
+   with a few exceptions:
+   - Deletion and destruction events are still sent to the event widget for
+     obvious reasons.
+   - Events which directly relate to the visual representation of the event
+     widget.
+   - Leave events are delivered to the event widget if there was an enter
+     event delivered to it before without the paired leave event.
+   - Drag events are not redirected because it is unclear what the semantics
+     of that would be.
+   Another point of interest might be that all key events are first passed
+   through the key snooper functions if there are any. Read the description
+   of @/gtk_key_snooper_install()/@ if you need this feature.
+
+5. After finishing the delivery the event is popped from the event stack.
+-}
+mainDoEvent ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gdk.Event.Event
+    {- ^ /@event@/: An event to process (normally passed by GDK) -}
+    -> m ()
+mainDoEvent event = liftIO $ do
+    event' <- unsafeManagedPtrGetPtr event
+    gtk_main_do_event event'
+    touchManagedPtr event
+    return ()
+
+
+-- function gtk_main
+-- Args : []
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_main" gtk_main :: 
+    IO ()
+
+{- |
+Runs the main loop until 'GI.Gtk.Functions.mainQuit' is called.
+
+You can nest calls to 'GI.Gtk.Functions.main'. In that case 'GI.Gtk.Functions.mainQuit'
+will make the innermost invocation of the main loop return.
+-}
+main ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ()
+main  = liftIO $ do
+    gtk_main
+    return ()
+
+
+-- function gtk_key_snooper_remove
+-- Args : [Arg {argCName = "snooper_handler_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Identifies the key snooper to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_key_snooper_remove" gtk_key_snooper_remove :: 
+    Word32 ->                               -- snooper_handler_id : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED keySnooperRemove ["(Since version 3.4)","Key snooping should not be done. Events should","    be handled by widgets."] #-}
+{- |
+Removes the key snooper function with the given id.
+-}
+keySnooperRemove ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Word32
+    {- ^ /@snooperHandlerId@/: Identifies the key snooper to remove -}
+    -> m ()
+keySnooperRemove snooperHandlerId = liftIO $ do
+    gtk_key_snooper_remove snooperHandlerId
+    return ()
+
+
+-- function gtk_init_with_args
+-- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Address of the `argc` parameter of\n    your main() function (or 0 if @argv is %NULL). This will be changed if\n    any arguments were handled.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Address of the\n    `argv` parameter of main(), or %NULL. Any options\n    understood by GTK+ are stripped before return.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "parameter_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string which is displayed in\n   the first line of `--help` output, after\n   `programname [OPTION...]`", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "entries", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "GLib", name = "OptionEntry"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array\n   of #GOptionEntrys describing the options of your program", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "translation_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a translation domain to use for translating\n   the `--help` output for the options in @entries\n   and the @parameter_string with gettext(), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Address of the `argc` parameter of\n    your main() function (or 0 if @argv is %NULL). This will be changed if\n    any arguments were handled.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_init_with_args" gtk_init_with_args :: 
+    Ptr Int32 ->                            -- argc : TBasicType TInt
+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
+    CString ->                              -- parameter_string : TBasicType TUTF8
+    Ptr (Ptr GLib.OptionEntry.OptionEntry) -> -- entries : TCArray True (-1) (-1) (TInterface (Name {namespace = "GLib", name = "OptionEntry"}))
+    CString ->                              -- translation_domain : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+This function does the same work as 'GI.Gtk.Functions.initCheck'.
+Additionally, it allows you to add your own commandline options,
+and it automatically generates nicely formatted
+@--help@ output. Note that your program will
+be terminated after writing out the help output.
+
+/Since: 2.6/
+-}
+initWithArgs ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe ([T.Text])
+    {- ^ /@argv@/: Address of the
+    @argv@ parameter of @/main()/@, or 'Nothing'. Any options
+    understood by GTK+ are stripped before return. -}
+    -> Maybe (T.Text)
+    {- ^ /@parameterString@/: a string which is displayed in
+   the first line of @--help@ output, after
+   @programname [OPTION...]@ -}
+    -> [GLib.OptionEntry.OptionEntry]
+    {- ^ /@entries@/: a 'Nothing'-terminated array
+   of @/GOptionEntrys/@ describing the options of your program -}
+    -> Maybe (T.Text)
+    {- ^ /@translationDomain@/: a translation domain to use for translating
+   the @--help@ output for the options in /@entries@/
+   and the /@parameterString@/ with @/gettext()/@, or 'Nothing' -}
+    -> m ((Maybe [T.Text]))
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+initWithArgs argv parameterString entries translationDomain = liftIO $ do
+    let argc = case argv of
+            Nothing -> 0
+            Just jArgv -> fromIntegral $ length jArgv
+    argc' <- allocMem :: IO (Ptr Int32)
+    poke argc' argc
+    maybeArgv <- case argv of
+        Nothing -> return nullPtr
+        Just jArgv -> do
+            jArgv' <- packUTF8CArray jArgv
+            return jArgv'
+    maybeArgv' <- allocMem :: IO (Ptr (Ptr CString))
+    poke maybeArgv' maybeArgv
+    maybeParameterString <- case parameterString of
+        Nothing -> return nullPtr
+        Just jParameterString -> do
+            jParameterString' <- textToCString jParameterString
+            return jParameterString'
+    entries' <- mapM unsafeManagedPtrGetPtr entries
+    entries'' <- packZeroTerminatedPtrArray entries'
+    maybeTranslationDomain <- case translationDomain of
+        Nothing -> return nullPtr
+        Just jTranslationDomain -> do
+            jTranslationDomain' <- textToCString jTranslationDomain
+            return jTranslationDomain'
+    onException (do
+        _ <- propagateGError $ gtk_init_with_args argc' maybeArgv' maybeParameterString entries'' maybeTranslationDomain
+        argc'' <- peek argc'
+        maybeArgv'' <- peek maybeArgv'
+        maybeMaybeArgv'' <- convertIfNonNull maybeArgv'' $ \maybeArgv''' -> do
+            maybeArgv'''' <- (unpackUTF8CArrayWithLength argc'') maybeArgv'''
+            (mapCArrayWithLength argc'') freeMem maybeArgv'''
+            freeMem maybeArgv'''
+            return maybeArgv''''
+        mapM_ touchManagedPtr entries
+        freeMem argc'
+        freeMem maybeArgv'
+        freeMem maybeParameterString
+        freeMem entries''
+        freeMem maybeTranslationDomain
+        return maybeMaybeArgv''
+     ) (do
+        freeMem argc'
+        freeMem maybeArgv'
+        freeMem maybeParameterString
+        freeMem entries''
+        freeMem maybeTranslationDomain
+     )
+
+
+-- function gtk_init_check
+-- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Address of the `argc` parameter of\n    your main() function (or 0 if @argv is %NULL). This will be changed if\n    any arguments were handled.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Address of the\n    `argv` parameter of main(), or %NULL. Any options\n    understood by GTK+ are stripped before return.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Address of the `argc` parameter of\n    your main() function (or 0 if @argv is %NULL). This will be changed if\n    any arguments were handled.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_init_check" gtk_init_check :: 
+    Ptr Int32 ->                            -- argc : TBasicType TInt
+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
+    IO CInt
+
+{- |
+This function does the same work as 'GI.Gtk.Functions.init' with only a single
+change: It does not terminate the program if the commandline
+arguments couldn’t be parsed or the windowing system can’t be
+initialized. Instead it returns 'False' on failure.
+
+This way the application can fall back to some other means of
+communication with the user - for example a curses or command line
+interface.
+-}
+initCheck ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe ([T.Text])
+    {- ^ /@argv@/: Address of the
+    @argv@ parameter of @/main()/@, or 'Nothing'. Any options
+    understood by GTK+ are stripped before return. -}
+    -> m ((Bool, Maybe [T.Text]))
+    {- ^ __Returns:__ 'True' if the commandline arguments (if any) were valid and
+    the windowing system has been successfully initialized, 'False'
+    otherwise -}
+initCheck argv = liftIO $ do
+    let argc = case argv of
+            Nothing -> 0
+            Just jArgv -> fromIntegral $ length jArgv
+    argc' <- allocMem :: IO (Ptr Int32)
+    poke argc' argc
+    maybeArgv <- case argv of
+        Nothing -> return nullPtr
+        Just jArgv -> do
+            jArgv' <- packUTF8CArray jArgv
+            return jArgv'
+    maybeArgv' <- allocMem :: IO (Ptr (Ptr CString))
+    poke maybeArgv' maybeArgv
+    result <- gtk_init_check argc' maybeArgv'
+    argc'' <- peek argc'
+    let result' = (/= 0) result
+    maybeArgv'' <- peek maybeArgv'
+    maybeMaybeArgv'' <- convertIfNonNull maybeArgv'' $ \maybeArgv''' -> do
+        maybeArgv'''' <- (unpackUTF8CArrayWithLength argc'') maybeArgv'''
+        (mapCArrayWithLength argc'') freeMem maybeArgv'''
+        freeMem maybeArgv'''
+        return maybeArgv''''
+    freeMem argc'
+    freeMem maybeArgv'
+    return (result', maybeMaybeArgv'')
+
+
+-- function gtk_init
+-- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Address of the `argc` parameter of\n    your main() function (or 0 if @argv is %NULL). This will be changed if\n    any arguments were handled.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Address of the\n    `argv` parameter of main(), or %NULL. Any options\n    understood by GTK+ are stripped before return.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Address of the `argc` parameter of\n    your main() function (or 0 if @argv is %NULL). This will be changed if\n    any arguments were handled.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_init" gtk_init :: 
+    Ptr Int32 ->                            -- argc : TBasicType TInt
+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
+    IO ()
+
+{- |
+Call this function before using any other GTK+ functions in your GUI
+applications.  It will initialize everything needed to operate the
+toolkit and parses some standard command line options.
+
+Although you are expected to pass the /@argc@/, /@argv@/ parameters from @/main()/@ to
+this function, it is possible to pass 'Nothing' if /@argv@/ is not available or
+commandline handling is not required.
+
+/@argc@/ and /@argv@/ are adjusted accordingly so your own code will
+never see those standard arguments.
+
+Note that there are some alternative ways to initialize GTK+:
+if you are calling 'GI.Gtk.Functions.parseArgs', 'GI.Gtk.Functions.initCheck',
+'GI.Gtk.Functions.initWithArgs' or 'GI.GLib.Structs.OptionContext.optionContextParse' with
+the option group returned by 'GI.Gtk.Functions.getOptionGroup',
+you don’t have to call 'GI.Gtk.Functions.init'.
+
+And if you are using 'GI.Gtk.Objects.Application.Application', you don\'t have to call any of the
+initialization functions either; the 'GI.Gtk.Objects.Application.Application'::@/startup/@ handler
+does it for you.
+
+This function will terminate your program if it was unable to
+initialize the windowing system for some reason. If you want
+your program to fall back to a textual interface you want to
+call 'GI.Gtk.Functions.initCheck' instead.
+
+Since 2.18, GTK+ calls @signal (SIGPIPE, SIG_IGN)@
+during initialization, to ignore SIGPIPE signals, since these are
+almost never wanted in graphical applications. If you do need to
+handle SIGPIPE for some reason, reset the handler after 'GI.Gtk.Functions.init',
+but notice that other libraries (e.g. libdbus or gvfs) might do
+similar things.
+-}
+init ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe ([T.Text])
+    {- ^ /@argv@/: Address of the
+    @argv@ parameter of @/main()/@, or 'Nothing'. Any options
+    understood by GTK+ are stripped before return. -}
+    -> m ((Maybe [T.Text]))
+init argv = liftIO $ do
+    let argc = case argv of
+            Nothing -> 0
+            Just jArgv -> fromIntegral $ length jArgv
+    argc' <- allocMem :: IO (Ptr Int32)
+    poke argc' argc
+    maybeArgv <- case argv of
+        Nothing -> return nullPtr
+        Just jArgv -> do
+            jArgv' <- packUTF8CArray jArgv
+            return jArgv'
+    maybeArgv' <- allocMem :: IO (Ptr (Ptr CString))
+    poke maybeArgv' maybeArgv
+    gtk_init argc' maybeArgv'
+    argc'' <- peek argc'
+    maybeArgv'' <- peek maybeArgv'
+    maybeMaybeArgv'' <- convertIfNonNull maybeArgv'' $ \maybeArgv''' -> do
+        maybeArgv'''' <- (unpackUTF8CArrayWithLength argc'') maybeArgv'''
+        (mapCArrayWithLength argc'') freeMem maybeArgv'''
+        freeMem maybeArgv'''
+        return maybeArgv''''
+    freeMem argc'
+    freeMem maybeArgv'
+    return maybeMaybeArgv''
+
+
+-- function gtk_grab_get_current
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grab_get_current" gtk_grab_get_current :: 
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Queries the current grab of the default window group.
+-}
+grabGetCurrent ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ The widget which currently
+    has the grab or 'Nothing' if no grab is active -}
+grabGetCurrent  = liftIO $ do
+    result <- gtk_grab_get_current
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    return maybeResult
+
+
+-- function gtk_get_option_group
+-- Args : [Arg {argCName = "open_default_display", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to open the default display\n    when parsing the commandline arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GLib", name = "OptionGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_option_group" gtk_get_option_group :: 
+    CInt ->                                 -- open_default_display : TBasicType TBoolean
+    IO (Ptr GLib.OptionGroup.OptionGroup)
+
+{- |
+Returns a 'GI.GLib.Structs.OptionGroup.OptionGroup' for the commandline arguments recognized
+by GTK+ and GDK.
+
+You should add this group to your 'GI.GLib.Structs.OptionContext.OptionContext'
+with 'GI.GLib.Structs.OptionContext.optionContextAddGroup', if you are using
+'GI.GLib.Structs.OptionContext.optionContextParse' to parse your commandline arguments.
+
+/Since: 2.6/
+-}
+getOptionGroup ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Bool
+    {- ^ /@openDefaultDisplay@/: whether to open the default display
+    when parsing the commandline arguments -}
+    -> m GLib.OptionGroup.OptionGroup
+    {- ^ __Returns:__ a 'GI.GLib.Structs.OptionGroup.OptionGroup' for the commandline
+    arguments recognized by GTK+ -}
+getOptionGroup openDefaultDisplay = liftIO $ do
+    let openDefaultDisplay' = (fromIntegral . fromEnum) openDefaultDisplay
+    result <- gtk_get_option_group openDefaultDisplay'
+    checkUnexpectedReturnNULL "getOptionGroup" result
+    result' <- (wrapBoxed GLib.OptionGroup.OptionGroup) result
+    return result'
+
+
+-- function gtk_get_minor_version
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_minor_version" gtk_get_minor_version :: 
+    IO Word32
+
+{- |
+Returns the minor version number of the GTK+ library.
+(e.g. in GTK+ version 3.1.5 this is 1.)
+
+This function is in the library, so it represents the GTK+ library
+your code is are running against. Contrast with the
+'GI.Gtk.Constants.MINOR_VERSION' macro, which represents the minor version of the
+GTK+ headers you have included when compiling your code.
+
+/Since: 3.0/
+-}
+getMinorVersion ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Word32
+    {- ^ __Returns:__ the minor version number of the GTK+ library -}
+getMinorVersion  = liftIO $ do
+    result <- gtk_get_minor_version
+    return result
+
+
+-- function gtk_get_micro_version
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_micro_version" gtk_get_micro_version :: 
+    IO Word32
+
+{- |
+Returns the micro version number of the GTK+ library.
+(e.g. in GTK+ version 3.1.5 this is 5.)
+
+This function is in the library, so it represents the GTK+ library
+your code is are running against. Contrast with the
+'GI.Gtk.Constants.MICRO_VERSION' macro, which represents the micro version of the
+GTK+ headers you have included when compiling your code.
+
+/Since: 3.0/
+-}
+getMicroVersion ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Word32
+    {- ^ __Returns:__ the micro version number of the GTK+ library -}
+getMicroVersion  = liftIO $ do
+    result <- gtk_get_micro_version
+    return result
+
+
+-- function gtk_get_major_version
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_major_version" gtk_get_major_version :: 
+    IO Word32
+
+{- |
+Returns the major version number of the GTK+ library.
+(e.g. in GTK+ version 3.1.5 this is 3.)
+
+This function is in the library, so it represents the GTK+ library
+your code is running against. Contrast with the 'GI.Gtk.Constants.MAJOR_VERSION'
+macro, which represents the major version of the GTK+ headers you
+have included when compiling your code.
+
+/Since: 3.0/
+-}
+getMajorVersion ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Word32
+    {- ^ __Returns:__ the major version number of the GTK+ library -}
+getMajorVersion  = liftIO $ do
+    result <- gtk_get_major_version
+    return result
+
+
+-- function gtk_get_locale_direction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextDirection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_locale_direction" gtk_get_locale_direction :: 
+    IO CUInt
+
+{- |
+Get the direction of the current locale. This is the expected
+reading direction for text and UI.
+
+This function depends on the current locale being set with
+@/setlocale()/@ and will default to setting the 'GI.Gtk.Enums.TextDirectionLtr'
+direction otherwise. 'GI.Gtk.Enums.TextDirectionNone' will never be returned.
+
+GTK+ sets the default text direction according to the locale
+during 'GI.Gtk.Functions.init', and you should normally use
+'GI.Gtk.Objects.Widget.widgetGetDirection' or 'GI.Gtk.Objects.Widget.widgetGetDefaultDirection'
+to obtain the current direcion.
+
+This function is only needed rare cases when the locale is
+changed after GTK+ has already been initialized. In this case,
+you can use it to update the default text direction as follows:
+
+
+=== /C code/
+>
+>setlocale (LC_ALL, new_locale);
+>direction = gtk_get_locale_direction ();
+>gtk_widget_set_default_direction (direction);
+
+
+/Since: 3.12/
+-}
+getLocaleDirection ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Gtk.Enums.TextDirection
+    {- ^ __Returns:__ the 'GI.Gtk.Enums.TextDirection' of the current locale -}
+getLocaleDirection  = liftIO $ do
+    result <- gtk_get_locale_direction
+    let result' = (toEnum . fromIntegral) result
+    return result'
+
+
+-- function gtk_get_interface_age
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_interface_age" gtk_get_interface_age :: 
+    IO Word32
+
+{- |
+Returns the interface age as passed to @libtool@
+when building the GTK+ library the process is running against.
+If @libtool@ means nothing to you, don\'t
+worry about it.
+
+/Since: 3.0/
+-}
+getInterfaceAge ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Word32
+    {- ^ __Returns:__ the interface age of the GTK+ library -}
+getInterfaceAge  = liftIO $ do
+    result <- gtk_get_interface_age
+    return result
+
+
+-- function gtk_get_event_widget
+-- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_event_widget" gtk_get_event_widget :: 
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+If /@event@/ is 'Nothing' or the event was not associated with any widget,
+returns 'Nothing', otherwise returns the widget that received the event
+originally.
+-}
+getEventWidget ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gdk.Event.Event
+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the widget that originally
+    received /@event@/, or 'Nothing' -}
+getEventWidget event = liftIO $ do
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_get_event_widget event'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr event
+    return maybeResult
+
+
+-- function gtk_get_default_language
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Language"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_default_language" gtk_get_default_language :: 
+    IO (Ptr Pango.Language.Language)
+
+{- |
+Returns the 'GI.Pango.Structs.Language.Language' for the default language currently in
+effect. (Note that this can change over the life of an
+application.) The default language is derived from the current
+locale. It determines, for example, whether GTK+ uses the
+right-to-left or left-to-right text direction.
+
+This function is equivalent to 'GI.Pango.Functions.languageGetDefault'.
+See that function for details.
+-}
+getDefaultLanguage ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Pango.Language.Language
+    {- ^ __Returns:__ the default language as a 'GI.Pango.Structs.Language.Language',
+    must not be freed -}
+getDefaultLanguage  = liftIO $ do
+    result <- gtk_get_default_language
+    checkUnexpectedReturnNULL "getDefaultLanguage" result
+    result' <- (newBoxed Pango.Language.Language) result
+    return result'
+
+
+-- function gtk_get_debug_flags
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_debug_flags" gtk_get_debug_flags :: 
+    IO Word32
+
+{- |
+Returns the GTK+ debug flags.
+
+This function is intended for GTK+ modules that want
+to adjust their debug output based on GTK+ debug flags.
+-}
+getDebugFlags ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Word32
+    {- ^ __Returns:__ the GTK+ debug flags. -}
+getDebugFlags  = liftIO $ do
+    result <- gtk_get_debug_flags
+    return result
+
+
+-- function gtk_get_current_event_time
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt32)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_current_event_time" gtk_get_current_event_time :: 
+    IO Word32
+
+{- |
+If there is a current event and it has a timestamp,
+return that timestamp, otherwise return 'GI.Gdk.Constants.CURRENT_TIME'.
+-}
+getCurrentEventTime ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Word32
+    {- ^ __Returns:__ the timestamp from the current event,
+    or 'GI.Gdk.Constants.CURRENT_TIME'. -}
+getCurrentEventTime  = liftIO $ do
+    result <- gtk_get_current_event_time
+    return result
+
+
+-- function gtk_get_current_event_state
+-- Args : [Arg {argCName = "state", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the state of the current event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_current_event_state" gtk_get_current_event_state :: 
+    Ptr CUInt ->                            -- state : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{- |
+If there is a current event and it has a state field, place
+that state field in /@state@/ and return 'True', otherwise return
+'False'.
+-}
+getCurrentEventState ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ((Bool, [Gdk.Flags.ModifierType]))
+    {- ^ __Returns:__ 'True' if there was a current event and it
+    had a state field -}
+getCurrentEventState  = liftIO $ do
+    state <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_get_current_event_state state
+    let result' = (/= 0) result
+    state' <- peek state
+    let state'' = wordToGFlags state'
+    freeMem state
+    return (result', state'')
+
+
+-- function gtk_get_current_event_device
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Device"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_current_event_device" gtk_get_current_event_device :: 
+    IO (Ptr Gdk.Device.Device)
+
+{- |
+If there is a current event and it has a device, return that
+device, otherwise return 'Nothing'.
+-}
+getCurrentEventDevice ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m (Maybe Gdk.Device.Device)
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Device.Device', or 'Nothing' -}
+getCurrentEventDevice  = liftIO $ do
+    result <- gtk_get_current_event_device
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Device.Device) result'
+        return result''
+    return maybeResult
+
+
+-- function gtk_get_current_event
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Event"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_current_event" gtk_get_current_event :: 
+    IO (Ptr Gdk.Event.Event)
+
+{- |
+Obtains a copy of the event currently being processed by GTK+.
+
+For example, if you are handling a 'GI.Gtk.Objects.Button.Button'::@/clicked/@ signal,
+the current event will be the 'GI.Gdk.Structs.EventButton.EventButton' that triggered
+the ::clicked signal.
+-}
+getCurrentEvent ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m (Maybe Gdk.Event.Event)
+    {- ^ __Returns:__ a copy of the current event, or
+    'Nothing' if there is no current event. The returned event must be
+    freed with 'GI.Gdk.Unions.Event.eventFree'. -}
+getCurrentEvent  = liftIO $ do
+    result <- gtk_get_current_event
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gdk.Event.Event) result'
+        return result''
+    return maybeResult
+
+
+-- function gtk_get_binary_age
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_get_binary_age" gtk_get_binary_age :: 
+    IO Word32
+
+{- |
+Returns the binary age as passed to @libtool@
+when building the GTK+ library the process is running against.
+If @libtool@ means nothing to you, don\'t
+worry about it.
+
+/Since: 3.0/
+-}
+getBinaryAge ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Word32
+    {- ^ __Returns:__ the binary age of the GTK+ library -}
+getBinaryAge  = liftIO $ do
+    result <- gtk_get_binary_age
+    return result
+
+
+-- function gtk_false
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_false" gtk_false :: 
+    IO CInt
+
+{- |
+Analogical to 'GI.Gtk.Functions.true', this function does nothing
+but always returns 'False'.
+-}
+false ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Bool
+    {- ^ __Returns:__ 'False' -}
+false  = liftIO $ do
+    result <- gtk_false
+    let result' = (/= 0) result
+    return result'
+
+
+-- function gtk_events_pending
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_events_pending" gtk_events_pending :: 
+    IO CInt
+
+{- |
+Checks if any events are pending.
+
+This can be used to update the UI and invoke timeouts etc.
+while doing some time intensive computation.
+
+== Updating the UI during a long computation
+
+
+=== /C code/
+>
+> // computation going on...
+>
+> while (gtk_events_pending ())
+>   gtk_main_iteration ();
+>
+> // ...computation continued
+-}
+eventsPending ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Bool
+    {- ^ __Returns:__ 'True' if any events are pending, 'False' otherwise -}
+eventsPending  = liftIO $ do
+    result <- gtk_events_pending
+    let result' = (/= 0) result
+    return result'
+
+
+-- function gtk_draw_insertion_cursor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "cairo context to draw to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location where to draw the cursor (@location->width is ignored)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_primary", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if the cursor should be the primary cursor color.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "TextDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the cursor is left-to-right or\n            right-to-left. Should never be #GTK_TEXT_DIR_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "draw_arrow", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to draw a directional arrow on the\n       cursor. Should be %FALSE unless the cursor is split.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_draw_insertion_cursor" gtk_draw_insertion_cursor :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- location : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    CInt ->                                 -- is_primary : TBasicType TBoolean
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+    CInt ->                                 -- draw_arrow : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED drawInsertionCursor ["(Since version 3.4)","Use 'GI.Gtk.Functions.renderInsertionCursor' instead."] #-}
+{- |
+Draws a text caret on /@cr@/ at /@location@/. This is not a style function
+but merely a convenience function for drawing the standard cursor shape.
+
+/Since: 3.0/
+-}
+drawInsertionCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: cairo context to draw to -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@location@/: location where to draw the cursor (/@location@/->width is ignored) -}
+    -> Bool
+    {- ^ /@isPrimary@/: if the cursor should be the primary cursor color. -}
+    -> Gtk.Enums.TextDirection
+    {- ^ /@direction@/: whether the cursor is left-to-right or
+            right-to-left. Should never be @/GTK_TEXT_DIR_NONE/@ -}
+    -> Bool
+    {- ^ /@drawArrow@/: 'True' to draw a directional arrow on the
+       cursor. Should be 'False' unless the cursor is split. -}
+    -> m ()
+drawInsertionCursor widget cr location isPrimary direction drawArrow = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    cr' <- unsafeManagedPtrGetPtr cr
+    location' <- unsafeManagedPtrGetPtr location
+    let isPrimary' = (fromIntegral . fromEnum) isPrimary
+    let direction' = (fromIntegral . fromEnum) direction
+    let drawArrow' = (fromIntegral . fromEnum) drawArrow
+    gtk_draw_insertion_cursor widget' cr' location' isPrimary' direction' drawArrow'
+    touchManagedPtr widget
+    touchManagedPtr cr
+    touchManagedPtr location
+    return ()
+
+
+-- function gtk_drag_set_icon_widget
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context for a drag. (This must be called\n          with a context for the source side of a drag)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget to use as an icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the X offset within @widget of the hotspot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the Y offset within @widget of the hotspot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_set_icon_widget" gtk_drag_set_icon_widget :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- hot_x : TBasicType TInt
+    Int32 ->                                -- hot_y : TBasicType TInt
+    IO ()
+
+{- |
+Changes the icon for drag operation to a given widget.
+GTK+ will not destroy the widget, so if you don’t want
+it to persist, you should connect to the “drag-end”
+signal and destroy it yourself.
+-}
+dragSetIconWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@context@/: the context for a drag. (This must be called
+          with a context for the source side of a drag) -}
+    -> b
+    {- ^ /@widget@/: a widget to use as an icon -}
+    -> Int32
+    {- ^ /@hotX@/: the X offset within /@widget@/ of the hotspot -}
+    -> Int32
+    {- ^ /@hotY@/: the Y offset within /@widget@/ of the hotspot -}
+    -> m ()
+dragSetIconWidget context widget hotX hotY = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_set_icon_widget context' widget' hotX hotY
+    touchManagedPtr context
+    touchManagedPtr widget
+    return ()
+
+
+-- function gtk_drag_set_icon_surface
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context for a drag (This must be called\n    with a context for the source side of a drag)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "surface", argType = TInterface (Name {namespace = "cairo", name = "Surface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the surface to use as icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_set_icon_surface" gtk_drag_set_icon_surface :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    Ptr Cairo.Surface.Surface ->            -- surface : TInterface (Name {namespace = "cairo", name = "Surface"})
+    IO ()
+
+{- |
+Sets /@surface@/ as the icon for a given drag. GTK+ retains
+references for the arguments, and will release them when
+they are no longer needed.
+
+To position the surface relative to the mouse, use
+@/cairo_surface_set_device_offset()/@ on /@surface@/. The mouse
+cursor will be positioned at the (0,0) coordinate of the
+surface.
+-}
+dragSetIconSurface ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>
+    a
+    {- ^ /@context@/: the context for a drag (This must be called
+    with a context for the source side of a drag) -}
+    -> Cairo.Surface.Surface
+    {- ^ /@surface@/: the surface to use as icon -}
+    -> m ()
+dragSetIconSurface context surface = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    surface' <- unsafeManagedPtrGetPtr surface
+    gtk_drag_set_icon_surface context' surface'
+    touchManagedPtr context
+    touchManagedPtr surface
+    return ()
+
+
+-- function gtk_drag_set_icon_stock
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context for a drag (This must be called\n           with a  context for the source side of a drag)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ID of the stock icon to use for the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the X offset within the icon of the hotspot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the Y offset within the icon of the hotspot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_set_icon_stock" gtk_drag_set_icon_stock :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Int32 ->                                -- hot_x : TBasicType TInt
+    Int32 ->                                -- hot_y : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED dragSetIconStock ["(Since version 3.10)","Use 'GI.Gtk.Functions.dragSetIconName' instead."] #-}
+{- |
+Sets the icon for a given drag from a stock ID.
+-}
+dragSetIconStock ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>
+    a
+    {- ^ /@context@/: the context for a drag (This must be called
+           with a  context for the source side of a drag) -}
+    -> T.Text
+    {- ^ /@stockId@/: the ID of the stock icon to use for the drag -}
+    -> Int32
+    {- ^ /@hotX@/: the X offset within the icon of the hotspot -}
+    -> Int32
+    {- ^ /@hotY@/: the Y offset within the icon of the hotspot -}
+    -> m ()
+dragSetIconStock context stockId hotX hotY = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    stockId' <- textToCString stockId
+    gtk_drag_set_icon_stock context' stockId' hotX hotY
+    touchManagedPtr context
+    freeMem stockId'
+    return ()
+
+
+-- function gtk_drag_set_icon_pixbuf
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context for a drag (This must be called\n           with a  context for the source side of a drag)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkPixbuf to use as the drag icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the X offset within @widget of the hotspot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the Y offset within @widget of the hotspot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_set_icon_pixbuf" gtk_drag_set_icon_pixbuf :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    Int32 ->                                -- hot_x : TBasicType TInt
+    Int32 ->                                -- hot_y : TBasicType TInt
+    IO ()
+
+{- |
+Sets /@pixbuf@/ as the icon for a given drag.
+-}
+dragSetIconPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@context@/: the context for a drag (This must be called
+           with a  context for the source side of a drag) -}
+    -> b
+    {- ^ /@pixbuf@/: the 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' to use as the drag icon -}
+    -> Int32
+    {- ^ /@hotX@/: the X offset within /@widget@/ of the hotspot -}
+    -> Int32
+    {- ^ /@hotY@/: the Y offset within /@widget@/ of the hotspot -}
+    -> m ()
+dragSetIconPixbuf context pixbuf hotX hotY = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    gtk_drag_set_icon_pixbuf context' pixbuf' hotX hotY
+    touchManagedPtr context
+    touchManagedPtr pixbuf
+    return ()
+
+
+-- function gtk_drag_set_icon_name
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context for a drag (This must be called\n    with a context for the source side of a drag)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of icon to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the X offset of the hotspot within the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the Y offset of the hotspot within the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_set_icon_name" gtk_drag_set_icon_name :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- hot_x : TBasicType TInt
+    Int32 ->                                -- hot_y : TBasicType TInt
+    IO ()
+
+{- |
+Sets the icon for a given drag from a named themed icon. See
+the docs for 'GI.Gtk.Objects.IconTheme.IconTheme' for more details. Note that the
+size of the icon depends on the icon theme (the icon is
+loaded at the symbolic size @/GTK_ICON_SIZE_DND/@), thus
+/@hotX@/ and /@hotY@/ have to be used with care.
+
+/Since: 2.8/
+-}
+dragSetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>
+    a
+    {- ^ /@context@/: the context for a drag (This must be called
+    with a context for the source side of a drag) -}
+    -> T.Text
+    {- ^ /@iconName@/: name of icon to use -}
+    -> Int32
+    {- ^ /@hotX@/: the X offset of the hotspot within the icon -}
+    -> Int32
+    {- ^ /@hotY@/: the Y offset of the hotspot within the icon -}
+    -> m ()
+dragSetIconName context iconName hotX hotY = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    iconName' <- textToCString iconName
+    gtk_drag_set_icon_name context' iconName' hotX hotY
+    touchManagedPtr context
+    freeMem iconName'
+    return ()
+
+
+-- function gtk_drag_set_icon_gicon
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context for a drag (This must be called\n    with a context for the source side of a drag)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the X offset of the hotspot within the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hot_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the Y offset of the hotspot within the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_set_icon_gicon" gtk_drag_set_icon_gicon :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    Int32 ->                                -- hot_x : TBasicType TInt
+    Int32 ->                                -- hot_y : TBasicType TInt
+    IO ()
+
+{- |
+Sets the icon for a given drag from the given /@icon@/.
+See the documentation for 'GI.Gtk.Functions.dragSetIconName'
+for more details about using icons in drag and drop.
+
+/Since: 3.2/
+-}
+dragSetIconGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@context@/: the context for a drag (This must be called
+    with a context for the source side of a drag) -}
+    -> b
+    {- ^ /@icon@/: a 'GI.Gio.Interfaces.Icon.Icon' -}
+    -> Int32
+    {- ^ /@hotX@/: the X offset of the hotspot within the icon -}
+    -> Int32
+    {- ^ /@hotY@/: the Y offset of the hotspot within the icon -}
+    -> m ()
+dragSetIconGicon context icon hotX hotY = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    icon' <- unsafeManagedPtrCastPtr icon
+    gtk_drag_set_icon_gicon context' icon' hotX hotY
+    touchManagedPtr context
+    touchManagedPtr icon
+    return ()
+
+
+-- function gtk_drag_set_icon_default
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context for a drag (This must be called\n    with a  context for the source side of a drag)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_set_icon_default" gtk_drag_set_icon_default :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    IO ()
+
+{- |
+Sets the icon for a particular drag to the default
+icon.
+-}
+dragSetIconDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>
+    a
+    {- ^ /@context@/: the context for a drag (This must be called
+    with a  context for the source side of a drag) -}
+    -> m ()
+dragSetIconDefault context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_drag_set_icon_default context'
+    touchManagedPtr context
+    return ()
+
+
+-- function gtk_drag_get_source_widget
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a (destination side) drag context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_get_source_widget" gtk_drag_get_source_widget :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Determines the source widget for a drag.
+-}
+dragGetSourceWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>
+    a
+    {- ^ /@context@/: a (destination side) drag context -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ if the drag is occurring
+    within a single application, a pointer to the source widget.
+    Otherwise, 'Nothing'. -}
+dragGetSourceWidget context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_drag_get_source_widget context'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr context
+    return maybeResult
+
+
+-- function gtk_drag_finish
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the drag context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "success", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a flag indicating whether the drop was successful", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "del", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a flag indicating whether the source should delete the\n  original data. (This should be %TRUE for a move)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp from the #GtkWidget::drag-drop signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_finish" gtk_drag_finish :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    CInt ->                                 -- success : TBasicType TBoolean
+    CInt ->                                 -- del : TBasicType TBoolean
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+{- |
+Informs the drag source that the drop is finished, and
+that the data of the drag will no longer be required.
+-}
+dragFinish ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>
+    a
+    {- ^ /@context@/: the drag context -}
+    -> Bool
+    {- ^ /@success@/: a flag indicating whether the drop was successful -}
+    -> Bool
+    {- ^ /@del@/: a flag indicating whether the source should delete the
+  original data. (This should be 'True' for a move) -}
+    -> Word32
+    {- ^ /@time_@/: the timestamp from the 'GI.Gtk.Objects.Widget.Widget'::@/drag-drop/@ signal -}
+    -> m ()
+dragFinish context success del time_ = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let success' = (fromIntegral . fromEnum) success
+    let del' = (fromIntegral . fromEnum) del
+    gtk_drag_finish context' success' del' time_
+    touchManagedPtr context
+    return ()
+
+
+-- function gtk_drag_cancel
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDragContext, as e.g. returned by gtk_drag_begin_with_coordinates()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_cancel" gtk_drag_cancel :: 
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    IO ()
+
+{- |
+Cancels an ongoing drag operation on the source side.
+
+If you want to be able to cancel a drag operation in this way,
+you need to keep a pointer to the drag context, either from an
+explicit call to 'GI.Gtk.Objects.Widget.widgetDragBeginWithCoordinates', or by
+connecting to 'GI.Gtk.Objects.Widget.Widget'::@/drag-begin/@.
+
+If /@context@/ does not refer to an ongoing drag operation, this
+function does nothing.
+
+If a drag is cancelled in this way, the /@result@/ argument of
+'GI.Gtk.Objects.Widget.Widget'::@/drag-failed/@ is set to /@gTKDRAGRESULTERROR@/.
+
+/Since: 3.16/
+-}
+dragCancel ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.DragContext.IsDragContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gdk.Objects.DragContext.DragContext', as e.g. returned by 'GI.Gtk.Objects.Widget.widgetDragBeginWithCoordinates' -}
+    -> m ()
+dragCancel context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_drag_cancel context'
+    touchManagedPtr context
+    return ()
+
+
+-- function gtk_distribute_natural_allocation
+-- Args : [Arg {argCName = "extra_space", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Extra space to redistribute among children after subtracting\n              minimum sizes and any child padding from the overall allocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_requested_sizes", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of requests to fit into the allocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sizes", argType = TInterface (Name {namespace = "Gtk", name = "RequestedSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An array of structs with a client pointer and a minimum/natural size\n        in the orientation of the allocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_distribute_natural_allocation" gtk_distribute_natural_allocation :: 
+    Int32 ->                                -- extra_space : TBasicType TInt
+    Word32 ->                               -- n_requested_sizes : TBasicType TUInt
+    Ptr Gtk.RequestedSize.RequestedSize ->  -- sizes : TInterface (Name {namespace = "Gtk", name = "RequestedSize"})
+    IO Int32
+
+{- |
+Distributes /@extraSpace@/ to child /@sizes@/ by bringing smaller
+children up to natural size first.
+
+The remaining space will be added to the /@minimumSize@/ member of the
+GtkRequestedSize struct. If all sizes reach their natural size then
+the remaining space is returned.
+-}
+distributeNaturalAllocation ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Int32
+    {- ^ /@extraSpace@/: Extra space to redistribute among children after subtracting
+              minimum sizes and any child padding from the overall allocation -}
+    -> Word32
+    {- ^ /@nRequestedSizes@/: Number of requests to fit into the allocation -}
+    -> Gtk.RequestedSize.RequestedSize
+    {- ^ /@sizes@/: An array of structs with a client pointer and a minimum\/natural size
+        in the orientation of the allocation. -}
+    -> m Int32
+    {- ^ __Returns:__ The remainder of /@extraSpace@/ after redistributing space
+to /@sizes@/. -}
+distributeNaturalAllocation extraSpace nRequestedSizes sizes = liftIO $ do
+    sizes' <- unsafeManagedPtrGetPtr sizes
+    result <- gtk_distribute_natural_allocation extraSpace nRequestedSizes sizes'
+    touchManagedPtr sizes
+    return result
+
+
+-- function gtk_disable_setlocale
+-- Args : []
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_disable_setlocale" gtk_disable_setlocale :: 
+    IO ()
+
+{- |
+Prevents 'GI.Gtk.Functions.init', 'GI.Gtk.Functions.initCheck', 'GI.Gtk.Functions.initWithArgs' and
+'GI.Gtk.Functions.parseArgs' from automatically
+calling @setlocale (LC_ALL, \"\")@. You would
+want to use this function if you wanted to set the locale for
+your program to something other than the user’s locale, or if
+you wanted to set different values for different locale categories.
+
+Most programs should not need to call this function.
+-}
+disableSetlocale ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ()
+disableSetlocale  = liftIO $ do
+    gtk_disable_setlocale
+    return ()
+
+
+-- function gtk_device_grab_remove
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_device_grab_remove" gtk_device_grab_remove :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    IO ()
+
+{- |
+Removes a device grab from the given widget.
+
+You have to pair calls to 'GI.Gtk.Functions.deviceGrabAdd' and
+'GI.Gtk.Functions.deviceGrabRemove'.
+
+/Since: 3.0/
+-}
+deviceGrabRemove ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> m ()
+deviceGrabRemove widget device = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    device' <- unsafeManagedPtrCastPtr device
+    gtk_device_grab_remove widget' device'
+    touchManagedPtr widget
+    touchManagedPtr device
+    return ()
+
+
+-- function gtk_device_grab_add
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice to grab on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "block_others", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to prevent other devices to interact with @widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_device_grab_add" gtk_device_grab_add :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    CInt ->                                 -- block_others : TBasicType TBoolean
+    IO ()
+
+{- |
+Adds a GTK+ grab on /@device@/, so all the events on /@device@/ and its
+associated pointer or keyboard (if any) are delivered to /@widget@/.
+If the /@blockOthers@/ parameter is 'True', any other devices will be
+unable to interact with /@widget@/ during the grab.
+
+/Since: 3.0/
+-}
+deviceGrabAdd ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' to grab on. -}
+    -> Bool
+    {- ^ /@blockOthers@/: 'True' to prevent other devices to interact with /@widget@/. -}
+    -> m ()
+deviceGrabAdd widget device blockOthers = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    device' <- unsafeManagedPtrCastPtr device
+    let blockOthers' = (fromIntegral . fromEnum) blockOthers
+    gtk_device_grab_add widget' device' blockOthers'
+    touchManagedPtr widget
+    touchManagedPtr device
+    return ()
+
+
+-- function gtk_check_version
+-- Args : [Arg {argCName = "required_major", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the required major version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "required_minor", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the required minor version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "required_micro", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the required micro version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_version" gtk_check_version :: 
+    Word32 ->                               -- required_major : TBasicType TUInt
+    Word32 ->                               -- required_minor : TBasicType TUInt
+    Word32 ->                               -- required_micro : TBasicType TUInt
+    IO CString
+
+{- |
+Checks that the GTK+ library in use is compatible with the
+given version. Generally you would pass in the constants
+'GI.Gtk.Constants.MAJOR_VERSION', 'GI.Gtk.Constants.MINOR_VERSION', 'GI.Gtk.Constants.MICRO_VERSION'
+as the three arguments to this function; that produces
+a check that the library in use is compatible with
+the version of GTK+ the application or module was compiled
+against.
+
+Compatibility is defined by two things: first the version
+of the running library is newer than the version
+/@requiredMajor@/.required_minor./@requiredMicro@/. Second
+the running library must be binary compatible with the
+version /@requiredMajor@/.required_minor./@requiredMicro@/
+(same major version.)
+
+This function is primarily for GTK+ modules; the module
+can call this function to check that it wasn’t loaded
+into an incompatible version of GTK+. However, such a
+check isn’t completely reliable, since the module may be
+linked against an old version of GTK+ and calling the
+old version of 'GI.Gtk.Functions.checkVersion', but still get loaded
+into an application using a newer version of GTK+.
+-}
+checkVersion ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Word32
+    {- ^ /@requiredMajor@/: the required major version -}
+    -> Word32
+    {- ^ /@requiredMinor@/: the required minor version -}
+    -> Word32
+    {- ^ /@requiredMicro@/: the required micro version -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ 'Nothing' if the GTK+ library is compatible with the
+  given version, or a string describing the version mismatch.
+  The returned string is owned by GTK+ and should not be modified
+  or freed. -}
+checkVersion requiredMajor requiredMinor requiredMicro = liftIO $ do
+    result <- gtk_check_version requiredMajor requiredMinor requiredMicro
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    return maybeResult
+
+
+-- function gtk_cairo_transform_to_window
+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the cairo context to transform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget the context is currently centered for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the window to transform the context to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cairo_transform_to_window" gtk_cairo_transform_to_window :: 
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO ()
+
+{- |
+Transforms the given cairo context /@cr@/ that from /@widget@/-relative
+coordinates to /@window@/-relative coordinates.
+If the /@widget@/’s window is not an ancestor of /@window@/, no
+modification will be applied.
+
+This is the inverse to the transformation GTK applies when
+preparing an expose event to be emitted with the 'GI.Gtk.Objects.Widget.Widget'::@/draw/@
+signal. It is intended to help porting multiwindow widgets from
+GTK+ 2 to the rendering architecture of GTK+ 3.
+
+/Since: 3.0/
+-}
+cairoTransformToWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a, Gdk.Window.IsWindow b) =>
+    Cairo.Context.Context
+    {- ^ /@cr@/: the cairo context to transform -}
+    -> a
+    {- ^ /@widget@/: the widget the context is currently centered for -}
+    -> b
+    {- ^ /@window@/: the window to transform the context to -}
+    -> m ()
+cairoTransformToWindow cr widget window = liftIO $ do
+    cr' <- unsafeManagedPtrGetPtr cr
+    widget' <- unsafeManagedPtrCastPtr widget
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_cairo_transform_to_window cr' widget' window'
+    touchManagedPtr cr
+    touchManagedPtr widget
+    touchManagedPtr window
+    return ()
+
+
+-- function gtk_cairo_should_draw_window
+-- Args : [Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the window to check. @window may not be an input-only\n         window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cairo_should_draw_window" gtk_cairo_should_draw_window :: 
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO CInt
+
+{- |
+This function is supposed to be called in 'GI.Gtk.Objects.Widget.Widget'::@/draw/@
+implementations for widgets that support multiple windows.
+/@cr@/ must be untransformed from invoking of the draw function.
+This function will return 'True' if the contents of the given
+/@window@/ are supposed to be drawn and 'False' otherwise. Note
+that when the drawing was not initiated by the windowing
+system this function will return 'True' for all windows, so
+you need to draw the bottommost window first. Also, do not
+use “else if” statements to check which window should be drawn.
+
+/Since: 3.0/
+-}
+cairoShouldDrawWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Window.IsWindow a) =>
+    Cairo.Context.Context
+    {- ^ /@cr@/: a cairo context -}
+    -> a
+    {- ^ /@window@/: the window to check. /@window@/ may not be an input-only
+         window. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@window@/ should be drawn -}
+cairoShouldDrawWindow cr window = liftIO $ do
+    cr' <- unsafeManagedPtrGetPtr cr
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_cairo_should_draw_window cr' window'
+    let result' = (/= 0) result
+    touchManagedPtr cr
+    touchManagedPtr window
+    return result'
+
+
+-- function gtk_bindings_activate_event
+-- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject (generally must be a widget)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEventKey", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_bindings_activate_event" gtk_bindings_activate_event :: 
+    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})
+    Ptr Gdk.EventKey.EventKey ->            -- event : TInterface (Name {namespace = "Gdk", name = "EventKey"})
+    IO CInt
+
+{- |
+Looks up key bindings for /@object@/ to find one matching
+/@event@/, and if one was found, activate it.
+
+/Since: 2.4/
+-}
+bindingsActivateEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
+    a
+    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' (generally must be a widget) -}
+    -> Gdk.EventKey.EventKey
+    {- ^ /@event@/: a 'GI.Gdk.Structs.EventKey.EventKey' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a matching key binding was found -}
+bindingsActivateEvent object event = liftIO $ do
+    object' <- unsafeManagedPtrCastPtr object
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_bindings_activate_event object' event'
+    let result' = (/= 0) result
+    touchManagedPtr object
+    touchManagedPtr event
+    return result'
+
+
+-- function gtk_bindings_activate
+-- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "object to activate when binding found", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key value of the binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key modifier of the binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_bindings_activate" gtk_bindings_activate :: 
+    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})
+    Word32 ->                               -- keyval : TBasicType TUInt
+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{- |
+Find a key binding matching /@keyval@/ and /@modifiers@/ and activate the
+binding on /@object@/.
+-}
+bindingsActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
+    a
+    {- ^ /@object@/: object to activate when binding found -}
+    -> Word32
+    {- ^ /@keyval@/: key value of the binding -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifiers@/: key modifier of the binding -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a binding was found and activated -}
+bindingsActivate object keyval modifiers = liftIO $ do
+    object' <- unsafeManagedPtrCastPtr object
+    let modifiers' = gflagsToWord modifiers
+    result <- gtk_bindings_activate object' keyval modifiers'
+    let result' = (/= 0) result
+    touchManagedPtr object
+    return result'
+
+
+-- function gtk_alternative_dialog_button_order
+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkScreen, or %NULL to use the default screen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_alternative_dialog_button_order" gtk_alternative_dialog_button_order :: 
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO CInt
+
+{-# DEPRECATED alternativeDialogButtonOrder ["(Since version 3.10)","Deprecated"] #-}
+{- |
+Returns 'True' if dialogs are expected to use an alternative
+button order on the screen /@screen@/. See
+@/gtk_dialog_set_alternative_button_order()/@ for more details
+about alternative button order.
+
+If you need to use this function, you should probably connect
+to the ::notify:gtk-alternative-button-order signal on the
+'GI.Gtk.Objects.Settings.Settings' object associated to /@screen@/, in order to be
+notified if the button order setting changes.
+
+/Since: 2.6/
+-}
+alternativeDialogButtonOrder ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>
+    Maybe (a)
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen', or 'Nothing' to use the default screen -}
+    -> m Bool
+    {- ^ __Returns:__ Whether the alternative button order should be used -}
+alternativeDialogButtonOrder screen = liftIO $ do
+    maybeScreen <- case screen of
+        Nothing -> return nullPtr
+        Just jScreen -> do
+            jScreen' <- unsafeManagedPtrCastPtr jScreen
+            return jScreen'
+    result <- gtk_alternative_dialog_button_order maybeScreen
+    let result' = (/= 0) result
+    whenJust screen touchManagedPtr
+    return result'
+
+
+-- function gtk_accelerator_valid
+-- Args : [Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GDK keyval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accelerator_valid" gtk_accelerator_valid :: 
+    Word32 ->                               -- keyval : TBasicType TUInt
+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{- |
+Determines whether a given keyval and modifier mask constitute
+a valid keyboard accelerator. For example, the 'GI.Gdk.Constants.KEY_a' keyval
+plus @/GDK_CONTROL_MASK/@ is valid - this is a “Ctrl+a” accelerator.
+But, you can\'t, for instance, use the 'GI.Gdk.Constants.KEY_Control_L' keyval
+as an accelerator.
+-}
+acceleratorValid ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Word32
+    {- ^ /@keyval@/: a GDK keyval -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifiers@/: modifier mask -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the accelerator is valid -}
+acceleratorValid keyval modifiers = liftIO $ do
+    let modifiers' = gflagsToWord modifiers
+    result <- gtk_accelerator_valid keyval modifiers'
+    let result' = (/= 0) result
+    return result'
+
+
+-- function gtk_accelerator_set_default_mod_mask
+-- Args : [Arg {argCName = "default_mod_mask", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accelerator_set_default_mod_mask" gtk_accelerator_set_default_mod_mask :: 
+    CUInt ->                                -- default_mod_mask : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO ()
+
+{- |
+Sets the modifiers that will be considered significant for keyboard
+accelerators. The default mod mask depends on the GDK backend in use,
+but will typically include @/GDK_CONTROL_MASK/@ | @/GDK_SHIFT_MASK/@ |
+@/GDK_MOD1_MASK/@ | @/GDK_SUPER_MASK/@ | @/GDK_HYPER_MASK/@ | @/GDK_META_MASK/@.
+In other words, Control, Shift, Alt, Super, Hyper and Meta. Other
+modifiers will by default be ignored by 'GI.Gtk.Objects.AccelGroup.AccelGroup'.
+
+You must include at least the three modifiers Control, Shift
+and Alt in any value you pass to this function.
+
+The default mod mask should be changed on application startup,
+before using any accelerator groups.
+-}
+acceleratorSetDefaultModMask ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Gdk.Flags.ModifierType]
+    {- ^ /@defaultModMask@/: accelerator modifier mask -}
+    -> m ()
+acceleratorSetDefaultModMask defaultModMask = liftIO $ do
+    let defaultModMask' = gflagsToWord defaultModMask
+    gtk_accelerator_set_default_mod_mask defaultModMask'
+    return ()
+
+
+-- function gtk_accelerator_parse_with_keycode
+-- Args : [Arg {argCName = "accelerator", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string representing an accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_key", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for accelerator\n    keyval, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "accelerator_codes", argType = TCArray True (-1) (-1) (TBasicType TUInt), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n    return location for accelerator keycodes, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "accelerator_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for accelerator\n    modifier mask, %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accelerator_parse_with_keycode" gtk_accelerator_parse_with_keycode :: 
+    CString ->                              -- accelerator : TBasicType TUTF8
+    Ptr Word32 ->                           -- accelerator_key : TBasicType TUInt
+    Ptr (Ptr Word32) ->                     -- accelerator_codes : TCArray True (-1) (-1) (TBasicType TUInt)
+    Ptr CUInt ->                            -- accelerator_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO ()
+
+{- |
+Parses a string representing an accelerator, similarly to
+'GI.Gtk.Functions.acceleratorParse' but handles keycodes as well. This is only
+useful for system-level components, applications should use
+'GI.Gtk.Functions.acceleratorParse' instead.
+
+If /@acceleratorCodes@/ is given and the result stored in it is non-'Nothing',
+the result must be freed with 'GI.GLib.Functions.free'.
+
+If a keycode is present in the accelerator and no /@acceleratorCodes@/
+is given, the parse will fail.
+
+If the parse fails, /@acceleratorKey@/, /@acceleratorMods@/ and
+/@acceleratorCodes@/ will be set to 0 (zero).
+
+/Since: 3.4/
+-}
+acceleratorParseWithKeycode ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@accelerator@/: string representing an accelerator -}
+    -> m ((Word32, [Word32], [Gdk.Flags.ModifierType]))
+acceleratorParseWithKeycode accelerator = liftIO $ do
+    accelerator' <- textToCString accelerator
+    acceleratorKey <- allocMem :: IO (Ptr Word32)
+    acceleratorCodes <- allocMem :: IO (Ptr (Ptr Word32))
+    acceleratorMods <- allocMem :: IO (Ptr CUInt)
+    gtk_accelerator_parse_with_keycode accelerator' acceleratorKey acceleratorCodes acceleratorMods
+    acceleratorKey' <- peek acceleratorKey
+    acceleratorCodes' <- peek acceleratorCodes
+    acceleratorCodes'' <- unpackZeroTerminatedStorableArray acceleratorCodes'
+    freeMem acceleratorCodes'
+    acceleratorMods' <- peek acceleratorMods
+    let acceleratorMods'' = wordToGFlags acceleratorMods'
+    freeMem accelerator'
+    freeMem acceleratorKey
+    freeMem acceleratorCodes
+    freeMem acceleratorMods
+    return (acceleratorKey', acceleratorCodes'', acceleratorMods'')
+
+
+-- function gtk_accelerator_parse
+-- Args : [Arg {argCName = "accelerator", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string representing an accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_key", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for accelerator\n    keyval, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "accelerator_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for accelerator\n    modifier mask, %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accelerator_parse" gtk_accelerator_parse :: 
+    CString ->                              -- accelerator : TBasicType TUTF8
+    Ptr Word32 ->                           -- accelerator_key : TBasicType TUInt
+    Ptr CUInt ->                            -- accelerator_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO ()
+
+{- |
+Parses a string representing an accelerator. The format looks like
+“\<Control>a” or “\<Shift>\<Alt>F1” or “\<Release>z” (the last one is
+for key release).
+
+The parser is fairly liberal and allows lower or upper case, and also
+abbreviations such as “\<Ctl>” and “\<Ctrl>”. Key names are parsed using
+'GI.Gdk.Functions.keyvalFromName'. For character keys the name is not the symbol,
+but the lowercase name, e.g. one would use “\<Ctrl>minus” instead of
+“\<Ctrl>-”.
+
+If the parse fails, /@acceleratorKey@/ and /@acceleratorMods@/ will
+be set to 0 (zero).
+-}
+acceleratorParse ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@accelerator@/: string representing an accelerator -}
+    -> m ((Word32, [Gdk.Flags.ModifierType]))
+acceleratorParse accelerator = liftIO $ do
+    accelerator' <- textToCString accelerator
+    acceleratorKey <- allocMem :: IO (Ptr Word32)
+    acceleratorMods <- allocMem :: IO (Ptr CUInt)
+    gtk_accelerator_parse accelerator' acceleratorKey acceleratorMods
+    acceleratorKey' <- peek acceleratorKey
+    acceleratorMods' <- peek acceleratorMods
+    let acceleratorMods'' = wordToGFlags acceleratorMods'
+    freeMem accelerator'
+    freeMem acceleratorKey
+    freeMem acceleratorMods
+    return (acceleratorKey', acceleratorMods'')
+
+
+-- function gtk_accelerator_name_with_keycode
+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkDisplay or %NULL to use the default display", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator keyval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keycode", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator keycode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accelerator_name_with_keycode" gtk_accelerator_name_with_keycode :: 
+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
+    Word32 ->                               -- accelerator_key : TBasicType TUInt
+    Word32 ->                               -- keycode : TBasicType TUInt
+    CUInt ->                                -- accelerator_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CString
+
+{- |
+Converts an accelerator keyval and modifier mask
+into a string parseable by 'GI.Gtk.Functions.acceleratorParseWithKeycode',
+similarly to 'GI.Gtk.Functions.acceleratorName' but handling keycodes.
+This is only useful for system-level components, applications
+should use 'GI.Gtk.Functions.acceleratorParse' instead.
+
+/Since: 3.4/
+-}
+acceleratorNameWithKeycode ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>
+    Maybe (a)
+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' or 'Nothing' to use the default display -}
+    -> Word32
+    {- ^ /@acceleratorKey@/: accelerator keyval -}
+    -> Word32
+    {- ^ /@keycode@/: accelerator keycode -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@acceleratorMods@/: accelerator modifier mask -}
+    -> m T.Text
+    {- ^ __Returns:__ a newly allocated accelerator name. -}
+acceleratorNameWithKeycode display acceleratorKey keycode acceleratorMods = liftIO $ do
+    maybeDisplay <- case display of
+        Nothing -> return nullPtr
+        Just jDisplay -> do
+            jDisplay' <- unsafeManagedPtrCastPtr jDisplay
+            return jDisplay'
+    let acceleratorMods' = gflagsToWord acceleratorMods
+    result <- gtk_accelerator_name_with_keycode maybeDisplay acceleratorKey keycode acceleratorMods'
+    checkUnexpectedReturnNULL "acceleratorNameWithKeycode" result
+    result' <- cstringToText result
+    freeMem result
+    whenJust display touchManagedPtr
+    return result'
+
+
+-- function gtk_accelerator_name
+-- Args : [Arg {argCName = "accelerator_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator keyval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accelerator_name" gtk_accelerator_name :: 
+    Word32 ->                               -- accelerator_key : TBasicType TUInt
+    CUInt ->                                -- accelerator_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CString
+
+{- |
+Converts an accelerator keyval and modifier mask into a string
+parseable by 'GI.Gtk.Functions.acceleratorParse'. For example, if you pass in
+'GI.Gdk.Constants.KEY_q' and @/GDK_CONTROL_MASK/@, this function returns “\<Control>q”.
+
+If you need to display accelerators in the user interface,
+see 'GI.Gtk.Functions.acceleratorGetLabel'.
+-}
+acceleratorName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Word32
+    {- ^ /@acceleratorKey@/: accelerator keyval -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@acceleratorMods@/: accelerator modifier mask -}
+    -> m T.Text
+    {- ^ __Returns:__ a newly-allocated accelerator name -}
+acceleratorName acceleratorKey acceleratorMods = liftIO $ do
+    let acceleratorMods' = gflagsToWord acceleratorMods
+    result <- gtk_accelerator_name acceleratorKey acceleratorMods'
+    checkUnexpectedReturnNULL "acceleratorName" result
+    result' <- cstringToText result
+    freeMem result
+    return result'
+
+
+-- function gtk_accelerator_get_label_with_keycode
+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkDisplay or %NULL to use the default display", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator keyval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keycode", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator keycode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accelerator_get_label_with_keycode" gtk_accelerator_get_label_with_keycode :: 
+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
+    Word32 ->                               -- accelerator_key : TBasicType TUInt
+    Word32 ->                               -- keycode : TBasicType TUInt
+    CUInt ->                                -- accelerator_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CString
+
+{- |
+Converts an accelerator keyval and modifier mask
+into a (possibly translated) string that can be displayed to
+a user, similarly to 'GI.Gtk.Functions.acceleratorGetLabel', but handling
+keycodes.
+
+This is only useful for system-level components, applications
+should use 'GI.Gtk.Functions.acceleratorParse' instead.
+
+/Since: 3.4/
+-}
+acceleratorGetLabelWithKeycode ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>
+    Maybe (a)
+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' or 'Nothing' to use the default display -}
+    -> Word32
+    {- ^ /@acceleratorKey@/: accelerator keyval -}
+    -> Word32
+    {- ^ /@keycode@/: accelerator keycode -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@acceleratorMods@/: accelerator modifier mask -}
+    -> m T.Text
+    {- ^ __Returns:__ a newly-allocated string representing the accelerator. -}
+acceleratorGetLabelWithKeycode display acceleratorKey keycode acceleratorMods = liftIO $ do
+    maybeDisplay <- case display of
+        Nothing -> return nullPtr
+        Just jDisplay -> do
+            jDisplay' <- unsafeManagedPtrCastPtr jDisplay
+            return jDisplay'
+    let acceleratorMods' = gflagsToWord acceleratorMods
+    result <- gtk_accelerator_get_label_with_keycode maybeDisplay acceleratorKey keycode acceleratorMods'
+    checkUnexpectedReturnNULL "acceleratorGetLabelWithKeycode" result
+    result' <- cstringToText result
+    freeMem result
+    whenJust display touchManagedPtr
+    return result'
+
+
+-- function gtk_accelerator_get_label
+-- Args : [Arg {argCName = "accelerator_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator keyval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accelerator_get_label" gtk_accelerator_get_label :: 
+    Word32 ->                               -- accelerator_key : TBasicType TUInt
+    CUInt ->                                -- accelerator_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CString
+
+{- |
+Converts an accelerator keyval and modifier mask into a string
+which can be used to represent the accelerator to the user.
+
+/Since: 2.6/
+-}
+acceleratorGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Word32
+    {- ^ /@acceleratorKey@/: accelerator keyval -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@acceleratorMods@/: accelerator modifier mask -}
+    -> m T.Text
+    {- ^ __Returns:__ a newly-allocated string representing the accelerator. -}
+acceleratorGetLabel acceleratorKey acceleratorMods = liftIO $ do
+    let acceleratorMods' = gflagsToWord acceleratorMods
+    result <- gtk_accelerator_get_label acceleratorKey acceleratorMods'
+    checkUnexpectedReturnNULL "acceleratorGetLabel" result
+    result' <- cstringToText result
+    freeMem result
+    return result'
+
+
+-- function gtk_accelerator_get_default_mod_mask
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "ModifierType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accelerator_get_default_mod_mask" gtk_accelerator_get_default_mod_mask :: 
+    IO CUInt
+
+{- |
+Gets the modifier mask.
+
+The modifier mask determines which modifiers are considered significant
+for keyboard accelerators. See 'GI.Gtk.Functions.acceleratorSetDefaultModMask'.
+-}
+acceleratorGetDefaultModMask ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m [Gdk.Flags.ModifierType]
+    {- ^ __Returns:__ the default accelerator modifier mask -}
+acceleratorGetDefaultModMask  = liftIO $ do
+    result <- gtk_accelerator_get_default_mod_mask
+    let result' = wordToGFlags result
+    return result'
+
+
+-- function gtk_accel_groups_from_object
+-- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject, usually a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "AccelGroup"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_groups_from_object" gtk_accel_groups_from_object :: 
+    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})
+    IO (Ptr (GSList (Ptr Gtk.AccelGroup.AccelGroup)))
+
+{- |
+Gets a list of all accel groups which are attached to /@object@/.
+-}
+accelGroupsFromObject ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
+    a
+    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object', usually a 'GI.Gtk.Objects.Window.Window' -}
+    -> m [Gtk.AccelGroup.AccelGroup]
+    {- ^ __Returns:__ a list of
+    all accel groups which are attached to /@object@/ -}
+accelGroupsFromObject object = liftIO $ do
+    object' <- unsafeManagedPtrCastPtr object
+    result <- gtk_accel_groups_from_object object'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.AccelGroup.AccelGroup) result'
+    touchManagedPtr object
+    return result''
+
+
+-- function gtk_accel_groups_activate
+-- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GObject, usually a #GtkWindow, on which\n    to activate the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator keyval from a key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "keyboard state mask from a key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_groups_activate" gtk_accel_groups_activate :: 
+    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})
+    Word32 ->                               -- accel_key : TBasicType TUInt
+    CUInt ->                                -- accel_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{- |
+Finds the first accelerator in any 'GI.Gtk.Objects.AccelGroup.AccelGroup' attached
+to /@object@/ that matches /@accelKey@/ and /@accelMods@/, and
+activates that accelerator.
+-}
+accelGroupsActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
+    a
+    {- ^ /@object@/: the 'GI.GObject.Objects.Object.Object', usually a 'GI.Gtk.Objects.Window.Window', on which
+    to activate the accelerator -}
+    -> Word32
+    {- ^ /@accelKey@/: accelerator keyval from a key event -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: keyboard state mask from a key event -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if an accelerator was activated and handled
+    this keypress -}
+accelGroupsActivate object accelKey accelMods = liftIO $ do
+    object' <- unsafeManagedPtrCastPtr object
+    let accelMods' = gflagsToWord accelMods
+    result <- gtk_accel_groups_activate object' accelKey accelMods'
+    let result' = (/= 0) result
+    touchManagedPtr object
+    return result'
+
+
+
diff --git a/GI/Gtk/Interfaces.hs b/GI/Gtk/Interfaces.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces.hs
@@ -0,0 +1,81 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces
+    (     module GI.Gtk.Interfaces.Actionable     ,
+    module GI.Gtk.Interfaces.Activatable    ,
+    module GI.Gtk.Interfaces.AppChooser     ,
+    module GI.Gtk.Interfaces.Buildable      ,
+    module GI.Gtk.Interfaces.CellAccessibleParent,
+    module GI.Gtk.Interfaces.CellEditable   ,
+    module GI.Gtk.Interfaces.CellLayout     ,
+    module GI.Gtk.Interfaces.ColorChooser   ,
+    module GI.Gtk.Interfaces.Editable       ,
+    module GI.Gtk.Interfaces.FileChooser    ,
+    module GI.Gtk.Interfaces.FontChooser    ,
+    module GI.Gtk.Interfaces.Orientable     ,
+    module GI.Gtk.Interfaces.PrintOperationPreview,
+    module GI.Gtk.Interfaces.RecentChooser  ,
+    module GI.Gtk.Interfaces.Scrollable     ,
+    module GI.Gtk.Interfaces.StyleProvider  ,
+    module GI.Gtk.Interfaces.ToolShell      ,
+    module GI.Gtk.Interfaces.TreeDragDest   ,
+    module GI.Gtk.Interfaces.TreeDragSource ,
+    module GI.Gtk.Interfaces.TreeModel      ,
+    module GI.Gtk.Interfaces.TreeSortable   ,
+
+
+    ) where
+
+import GI.Gtk.Interfaces.Actionable
+import GI.Gtk.Interfaces.Activatable
+import GI.Gtk.Interfaces.AppChooser
+import GI.Gtk.Interfaces.Buildable
+import GI.Gtk.Interfaces.CellAccessibleParent
+import GI.Gtk.Interfaces.CellEditable
+import GI.Gtk.Interfaces.CellLayout
+import GI.Gtk.Interfaces.ColorChooser
+import GI.Gtk.Interfaces.Editable
+import GI.Gtk.Interfaces.FileChooser
+import GI.Gtk.Interfaces.FontChooser
+import GI.Gtk.Interfaces.Orientable
+import GI.Gtk.Interfaces.PrintOperationPreview
+import GI.Gtk.Interfaces.RecentChooser
+import GI.Gtk.Interfaces.Scrollable
+import GI.Gtk.Interfaces.StyleProvider
+import GI.Gtk.Interfaces.ToolShell
+import GI.Gtk.Interfaces.TreeDragDest
+import GI.Gtk.Interfaces.TreeDragSource
+import GI.Gtk.Interfaces.TreeModel
+import GI.Gtk.Interfaces.TreeSortable
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+
diff --git a/GI/Gtk/Interfaces/Actionable.hs b/GI/Gtk/Interfaces/Actionable.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Actionable.hs
@@ -0,0 +1,858 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+This interface provides a convenient way of associating widgets with
+actions on a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' or 'GI.Gtk.Objects.Application.Application'.
+
+It primarily consists of two properties: 'GI.Gtk.Interfaces.Actionable.Actionable':@/action-name/@
+and 'GI.Gtk.Interfaces.Actionable.Actionable':@/action-target/@. There are also some convenience APIs
+for setting these properties.
+
+The action will be looked up in action groups that are found among
+the widgets ancestors. Most commonly, these will be the actions with
+the “win.” or “app.” prefix that are associated with the 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow'
+or 'GI.Gtk.Objects.Application.Application', but other action groups that are added with
+'GI.Gtk.Objects.Widget.widgetInsertActionGroup' will be consulted as well.
+
+/Since: 3.4/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.Actionable
+    ( 
+
+-- * Exported types
+    Actionable(..)                          ,
+    noActionable                            ,
+    IsActionable                            ,
+    toActionable                            ,
+
+
+ -- * Methods
+-- ** getActionName #method:getActionName#
+
+#if ENABLE_OVERLOADING
+    ActionableGetActionNameMethodInfo       ,
+#endif
+    actionableGetActionName                 ,
+
+
+-- ** getActionTargetValue #method:getActionTargetValue#
+
+#if ENABLE_OVERLOADING
+    ActionableGetActionTargetValueMethodInfo,
+#endif
+    actionableGetActionTargetValue          ,
+
+
+-- ** setActionName #method:setActionName#
+
+#if ENABLE_OVERLOADING
+    ActionableSetActionNameMethodInfo       ,
+#endif
+    actionableSetActionName                 ,
+
+
+-- ** setActionTargetValue #method:setActionTargetValue#
+
+#if ENABLE_OVERLOADING
+    ActionableSetActionTargetValueMethodInfo,
+#endif
+    actionableSetActionTargetValue          ,
+
+
+-- ** setDetailedActionName #method:setDetailedActionName#
+
+#if ENABLE_OVERLOADING
+    ActionableSetDetailedActionNameMethodInfo,
+#endif
+    actionableSetDetailedActionName         ,
+
+
+
+
+ -- * Properties
+-- ** actionName #attr:actionName#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ActionableActionNamePropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    actionableActionName                    ,
+#endif
+    clearActionableActionName               ,
+    constructActionableActionName           ,
+    getActionableActionName                 ,
+    setActionableActionName                 ,
+
+
+-- ** actionTarget #attr:actionTarget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ActionableActionTargetPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    actionableActionTarget                  ,
+#endif
+    clearActionableActionTarget             ,
+    constructActionableActionTarget         ,
+    getActionableActionTarget               ,
+    setActionableActionTarget               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- interface Actionable 
+-- | Memory-managed wrapper type.
+newtype Actionable = Actionable (ManagedPtr Actionable)
+-- | A convenience alias for `Nothing` :: `Maybe` `Actionable`.
+noActionable :: Maybe Actionable
+noActionable = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Actionable = ActionableSignalList
+type ActionableSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_actionable_get_type"
+    c_gtk_actionable_get_type :: IO GType
+
+instance GObject Actionable where
+    gobjectType = c_gtk_actionable_get_type
+    
+
+-- | Type class for types which can be safely cast to `Actionable`, for instance with `toActionable`.
+class (GObject o, O.IsDescendantOf Actionable o) => IsActionable o
+instance (GObject o, O.IsDescendantOf Actionable o) => IsActionable o
+
+instance O.HasParentTypes Actionable
+type instance O.ParentTypes Actionable = '[GObject.Object.Object, Gtk.Widget.Widget]
+
+-- | Cast to `Actionable`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toActionable :: (MonadIO m, IsActionable o) => o -> m Actionable
+toActionable = liftIO . unsafeCastTo Actionable
+
+-- VVV Prop "action-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@action-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionable #actionName
+@
+-}
+getActionableActionName :: (MonadIO m, IsActionable o) => o -> m (Maybe T.Text)
+getActionableActionName obj = liftIO $ B.Properties.getObjectPropertyString obj "action-name"
+
+{- |
+Set the value of the “@action-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionable [ #actionName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionableActionName :: (MonadIO m, IsActionable o) => o -> T.Text -> m ()
+setActionableActionName obj val = liftIO $ B.Properties.setObjectPropertyString obj "action-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@action-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionableActionName :: (IsActionable o) => T.Text -> IO (GValueConstruct o)
+constructActionableActionName val = B.Properties.constructObjectPropertyString "action-name" (Just val)
+
+{- |
+Set the value of the “@action-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #actionName
+@
+-}
+clearActionableActionName :: (MonadIO m, IsActionable o) => o -> m ()
+clearActionableActionName obj = liftIO $ B.Properties.setObjectPropertyString obj "action-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ActionableActionNamePropertyInfo
+instance AttrInfo ActionableActionNamePropertyInfo where
+    type AttrAllowedOps ActionableActionNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionableActionNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ActionableActionNamePropertyInfo = IsActionable
+    type AttrGetType ActionableActionNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ActionableActionNamePropertyInfo = "action-name"
+    type AttrOrigin ActionableActionNamePropertyInfo = Actionable
+    attrGet _ = getActionableActionName
+    attrSet _ = setActionableActionName
+    attrConstruct _ = constructActionableActionName
+    attrClear _ = clearActionableActionName
+#endif
+
+-- VVV Prop "action-target"
+   -- Type: TVariant
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@action-target@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionable #actionTarget
+@
+-}
+getActionableActionTarget :: (MonadIO m, IsActionable o) => o -> m (Maybe GVariant)
+getActionableActionTarget obj = liftIO $ B.Properties.getObjectPropertyVariant obj "action-target"
+
+{- |
+Set the value of the “@action-target@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionable [ #actionTarget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionableActionTarget :: (MonadIO m, IsActionable o) => o -> GVariant -> m ()
+setActionableActionTarget obj val = liftIO $ B.Properties.setObjectPropertyVariant obj "action-target" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@action-target@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionableActionTarget :: (IsActionable o) => GVariant -> IO (GValueConstruct o)
+constructActionableActionTarget val = B.Properties.constructObjectPropertyVariant "action-target" (Just val)
+
+{- |
+Set the value of the “@action-target@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #actionTarget
+@
+-}
+clearActionableActionTarget :: (MonadIO m, IsActionable o) => o -> m ()
+clearActionableActionTarget obj = liftIO $ B.Properties.setObjectPropertyVariant obj "action-target" (Nothing :: Maybe GVariant)
+
+#if ENABLE_OVERLOADING
+data ActionableActionTargetPropertyInfo
+instance AttrInfo ActionableActionTargetPropertyInfo where
+    type AttrAllowedOps ActionableActionTargetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionableActionTargetPropertyInfo = (~) GVariant
+    type AttrBaseTypeConstraint ActionableActionTargetPropertyInfo = IsActionable
+    type AttrGetType ActionableActionTargetPropertyInfo = (Maybe GVariant)
+    type AttrLabel ActionableActionTargetPropertyInfo = "action-target"
+    type AttrOrigin ActionableActionTargetPropertyInfo = Actionable
+    attrGet _ = getActionableActionTarget
+    attrSet _ = setActionableActionTarget
+    attrConstruct _ = constructActionableActionTarget
+    attrClear _ = clearActionableActionTarget
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Actionable
+type instance O.AttributeList Actionable = ActionableAttributeList
+type ActionableAttributeList = ('[ '("actionName", ActionableActionNamePropertyInfo), '("actionTarget", ActionableActionTargetPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+actionableActionName :: AttrLabelProxy "actionName"
+actionableActionName = AttrLabelProxy
+
+actionableActionTarget :: AttrLabelProxy "actionTarget"
+actionableActionTarget = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveActionableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveActionableMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveActionableMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveActionableMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveActionableMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveActionableMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveActionableMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveActionableMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveActionableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveActionableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveActionableMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveActionableMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveActionableMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveActionableMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveActionableMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveActionableMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveActionableMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveActionableMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveActionableMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveActionableMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveActionableMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveActionableMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveActionableMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveActionableMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveActionableMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveActionableMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveActionableMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveActionableMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveActionableMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveActionableMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveActionableMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveActionableMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveActionableMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveActionableMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveActionableMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveActionableMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveActionableMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveActionableMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveActionableMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveActionableMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveActionableMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveActionableMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveActionableMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveActionableMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveActionableMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveActionableMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveActionableMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveActionableMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveActionableMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveActionableMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveActionableMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveActionableMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveActionableMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveActionableMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveActionableMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveActionableMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveActionableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveActionableMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveActionableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveActionableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveActionableMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveActionableMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveActionableMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveActionableMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveActionableMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveActionableMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveActionableMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveActionableMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveActionableMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveActionableMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveActionableMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveActionableMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveActionableMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveActionableMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveActionableMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveActionableMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveActionableMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveActionableMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveActionableMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveActionableMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveActionableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveActionableMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveActionableMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveActionableMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveActionableMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveActionableMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveActionableMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveActionableMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveActionableMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveActionableMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveActionableMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveActionableMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveActionableMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveActionableMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveActionableMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveActionableMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveActionableMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveActionableMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveActionableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveActionableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveActionableMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveActionableMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveActionableMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveActionableMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveActionableMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveActionableMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveActionableMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveActionableMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveActionableMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveActionableMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveActionableMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveActionableMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveActionableMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveActionableMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveActionableMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveActionableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveActionableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveActionableMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveActionableMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveActionableMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveActionableMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveActionableMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveActionableMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveActionableMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveActionableMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveActionableMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveActionableMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveActionableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveActionableMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveActionableMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveActionableMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveActionableMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveActionableMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveActionableMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveActionableMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveActionableMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveActionableMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveActionableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveActionableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveActionableMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveActionableMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveActionableMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveActionableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveActionableMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveActionableMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveActionableMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveActionableMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveActionableMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveActionableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveActionableMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveActionableMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveActionableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveActionableMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveActionableMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveActionableMethod "getActionName" o = ActionableGetActionNameMethodInfo
+    ResolveActionableMethod "getActionTargetValue" o = ActionableGetActionTargetValueMethodInfo
+    ResolveActionableMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveActionableMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveActionableMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveActionableMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveActionableMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveActionableMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveActionableMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveActionableMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveActionableMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveActionableMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveActionableMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveActionableMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveActionableMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveActionableMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveActionableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveActionableMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveActionableMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveActionableMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveActionableMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveActionableMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveActionableMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveActionableMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveActionableMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveActionableMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveActionableMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveActionableMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveActionableMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveActionableMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveActionableMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveActionableMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveActionableMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveActionableMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveActionableMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveActionableMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveActionableMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveActionableMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveActionableMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveActionableMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveActionableMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveActionableMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveActionableMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveActionableMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveActionableMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveActionableMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveActionableMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveActionableMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveActionableMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveActionableMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveActionableMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveActionableMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveActionableMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveActionableMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveActionableMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveActionableMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveActionableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveActionableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveActionableMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveActionableMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveActionableMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveActionableMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveActionableMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveActionableMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveActionableMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveActionableMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveActionableMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveActionableMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveActionableMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveActionableMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveActionableMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveActionableMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveActionableMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveActionableMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveActionableMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveActionableMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveActionableMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveActionableMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveActionableMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveActionableMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveActionableMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveActionableMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveActionableMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveActionableMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveActionableMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveActionableMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveActionableMethod "setActionName" o = ActionableSetActionNameMethodInfo
+    ResolveActionableMethod "setActionTargetValue" o = ActionableSetActionTargetValueMethodInfo
+    ResolveActionableMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveActionableMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveActionableMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveActionableMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveActionableMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveActionableMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveActionableMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveActionableMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveActionableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveActionableMethod "setDetailedActionName" o = ActionableSetDetailedActionNameMethodInfo
+    ResolveActionableMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveActionableMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveActionableMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveActionableMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveActionableMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveActionableMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveActionableMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveActionableMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveActionableMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveActionableMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveActionableMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveActionableMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveActionableMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveActionableMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveActionableMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveActionableMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveActionableMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveActionableMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveActionableMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveActionableMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveActionableMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveActionableMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveActionableMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveActionableMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveActionableMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveActionableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveActionableMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveActionableMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveActionableMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveActionableMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveActionableMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveActionableMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveActionableMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveActionableMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveActionableMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveActionableMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveActionableMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveActionableMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveActionableMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveActionableMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveActionableMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveActionableMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveActionableMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveActionableMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveActionableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveActionableMethod t Actionable, O.MethodInfo info Actionable p) => OL.IsLabel t (Actionable -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method Actionable::get_action_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "actionable", argType = TInterface (Name {namespace = "Gtk", name = "Actionable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionable widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_actionable_get_action_name" gtk_actionable_get_action_name :: 
+    Ptr Actionable ->                       -- actionable : TInterface (Name {namespace = "Gtk", name = "Actionable"})
+    IO CString
+
+{- |
+Gets the action name for /@actionable@/.
+
+See 'GI.Gtk.Interfaces.Actionable.actionableSetActionName' for more information.
+
+/Since: 3.4/
+-}
+actionableGetActionName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionable a) =>
+    a
+    {- ^ /@actionable@/: a 'GI.Gtk.Interfaces.Actionable.Actionable' widget -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the action name, or 'Nothing' if none is set -}
+actionableGetActionName actionable = liftIO $ do
+    actionable' <- unsafeManagedPtrCastPtr actionable
+    result <- gtk_actionable_get_action_name actionable'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr actionable
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ActionableGetActionNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsActionable a) => O.MethodInfo ActionableGetActionNameMethodInfo a signature where
+    overloadedMethod _ = actionableGetActionName
+
+#endif
+
+-- method Actionable::get_action_target_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "actionable", argType = TInterface (Name {namespace = "Gtk", name = "Actionable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionable widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just TVariant
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_actionable_get_action_target_value" gtk_actionable_get_action_target_value :: 
+    Ptr Actionable ->                       -- actionable : TInterface (Name {namespace = "Gtk", name = "Actionable"})
+    IO (Ptr GVariant)
+
+{- |
+Gets the current target value of /@actionable@/.
+
+See 'GI.Gtk.Interfaces.Actionable.actionableSetActionTargetValue' for more information.
+
+/Since: 3.4/
+-}
+actionableGetActionTargetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionable a) =>
+    a
+    {- ^ /@actionable@/: a 'GI.Gtk.Interfaces.Actionable.Actionable' widget -}
+    -> m GVariant
+    {- ^ __Returns:__ the current target value -}
+actionableGetActionTargetValue actionable = liftIO $ do
+    actionable' <- unsafeManagedPtrCastPtr actionable
+    result <- gtk_actionable_get_action_target_value actionable'
+    checkUnexpectedReturnNULL "actionableGetActionTargetValue" result
+    result' <- B.GVariant.newGVariantFromPtr result
+    touchManagedPtr actionable
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionableGetActionTargetValueMethodInfo
+instance (signature ~ (m GVariant), MonadIO m, IsActionable a) => O.MethodInfo ActionableGetActionTargetValueMethodInfo a signature where
+    overloadedMethod _ = actionableGetActionTargetValue
+
+#endif
+
+-- method Actionable::set_action_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "actionable", argType = TInterface (Name {namespace = "Gtk", name = "Actionable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionable widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an action name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_actionable_set_action_name" gtk_actionable_set_action_name :: 
+    Ptr Actionable ->                       -- actionable : TInterface (Name {namespace = "Gtk", name = "Actionable"})
+    CString ->                              -- action_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Specifies the name of the action with which this widget should be
+associated.  If /@actionName@/ is 'Nothing' then the widget will be
+unassociated from any previous action.
+
+Usually this function is used when the widget is located (or will be
+located) within the hierarchy of a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow'.
+
+Names are of the form “win.save” or “app.quit” for actions on the
+containing 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' or its associated 'GI.Gtk.Objects.Application.Application',
+respectively.  This is the same form used for actions in the 'GI.Gio.Objects.Menu.Menu'
+associated with the window.
+
+/Since: 3.4/
+-}
+actionableSetActionName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionable a) =>
+    a
+    {- ^ /@actionable@/: a 'GI.Gtk.Interfaces.Actionable.Actionable' widget -}
+    -> Maybe (T.Text)
+    {- ^ /@actionName@/: an action name, or 'Nothing' -}
+    -> m ()
+actionableSetActionName actionable actionName = liftIO $ do
+    actionable' <- unsafeManagedPtrCastPtr actionable
+    maybeActionName <- case actionName of
+        Nothing -> return nullPtr
+        Just jActionName -> do
+            jActionName' <- textToCString jActionName
+            return jActionName'
+    gtk_actionable_set_action_name actionable' maybeActionName
+    touchManagedPtr actionable
+    freeMem maybeActionName
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionableSetActionNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsActionable a) => O.MethodInfo ActionableSetActionNameMethodInfo a signature where
+    overloadedMethod _ = actionableSetActionName
+
+#endif
+
+-- method Actionable::set_action_target_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "actionable", argType = TInterface (Name {namespace = "Gtk", name = "Actionable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionable widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_value", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GVariant to set as the target value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_actionable_set_action_target_value" gtk_actionable_set_action_target_value :: 
+    Ptr Actionable ->                       -- actionable : TInterface (Name {namespace = "Gtk", name = "Actionable"})
+    Ptr GVariant ->                         -- target_value : TVariant
+    IO ()
+
+{- |
+Sets the target value of an actionable widget.
+
+If /@targetValue@/ is 'Nothing' then the target value is unset.
+
+The target value has two purposes.  First, it is used as the
+parameter to activation of the action associated with the
+'GI.Gtk.Interfaces.Actionable.Actionable' widget. Second, it is used to determine if the widget
+should be rendered as “active” — the widget is active if the state
+is equal to the given target.
+
+Consider the example of associating a set of buttons with a 'GI.Gio.Interfaces.Action.Action'
+with string state in a typical “radio button” situation.  Each button
+will be associated with the same action, but with a different target
+value for that action.  Clicking on a particular button will activate
+the action with the target of that button, which will typically cause
+the action’s state to change to that value.  Since the action’s state
+is now equal to the target value of the button, the button will now
+be rendered as active (and the other buttons, with different targets,
+rendered inactive).
+
+/Since: 3.4/
+-}
+actionableSetActionTargetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionable a) =>
+    a
+    {- ^ /@actionable@/: a 'GI.Gtk.Interfaces.Actionable.Actionable' widget -}
+    -> Maybe (GVariant)
+    {- ^ /@targetValue@/: a 'GVariant' to set as the target value, or 'Nothing' -}
+    -> m ()
+actionableSetActionTargetValue actionable targetValue = liftIO $ do
+    actionable' <- unsafeManagedPtrCastPtr actionable
+    maybeTargetValue <- case targetValue of
+        Nothing -> return nullPtr
+        Just jTargetValue -> do
+            jTargetValue' <- unsafeManagedPtrGetPtr jTargetValue
+            return jTargetValue'
+    gtk_actionable_set_action_target_value actionable' maybeTargetValue
+    touchManagedPtr actionable
+    whenJust targetValue touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionableSetActionTargetValueMethodInfo
+instance (signature ~ (Maybe (GVariant) -> m ()), MonadIO m, IsActionable a) => O.MethodInfo ActionableSetActionTargetValueMethodInfo a signature where
+    overloadedMethod _ = actionableSetActionTargetValue
+
+#endif
+
+-- method Actionable::set_detailed_action_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "actionable", argType = TInterface (Name {namespace = "Gtk", name = "Actionable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionable widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detailed_action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the detailed action name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_actionable_set_detailed_action_name" gtk_actionable_set_detailed_action_name :: 
+    Ptr Actionable ->                       -- actionable : TInterface (Name {namespace = "Gtk", name = "Actionable"})
+    CString ->                              -- detailed_action_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the action-name and associated string target value of an
+actionable widget.
+
+/@detailedActionName@/ is a string in the format accepted by
+'GI.Gio.Functions.actionParseDetailedName'.
+
+(Note that prior to version 3.22.25,
+this function is only usable for actions with a simple \"s\" target, and
+/@detailedActionName@/ must be of the form @\"action::target\"@ where
+@action@ is the action name and @target@ is the string to use
+as the target.)
+
+/Since: 3.4/
+-}
+actionableSetDetailedActionName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionable a) =>
+    a
+    {- ^ /@actionable@/: a 'GI.Gtk.Interfaces.Actionable.Actionable' widget -}
+    -> T.Text
+    {- ^ /@detailedActionName@/: the detailed action name -}
+    -> m ()
+actionableSetDetailedActionName actionable detailedActionName = liftIO $ do
+    actionable' <- unsafeManagedPtrCastPtr actionable
+    detailedActionName' <- textToCString detailedActionName
+    gtk_actionable_set_detailed_action_name actionable' detailedActionName'
+    touchManagedPtr actionable
+    freeMem detailedActionName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionableSetDetailedActionNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsActionable a) => O.MethodInfo ActionableSetDetailedActionNameMethodInfo a signature where
+    overloadedMethod _ = actionableSetDetailedActionName
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/Actionable.hs-boot b/GI/Gtk/Interfaces/Actionable.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Actionable.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.Actionable where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Actionable = Actionable (ManagedPtr Actionable)
+instance GObject Actionable where
+class (GObject o, O.IsDescendantOf Actionable o) => IsActionable o
+instance (GObject o, O.IsDescendantOf Actionable o) => IsActionable o
+instance O.HasParentTypes Actionable
+#if ENABLE_OVERLOADING
+data ActionableActionNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionableActionTargetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionableGetActionNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionableGetActionTargetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionableSetActionNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionableSetActionTargetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionableSetDetailedActionNameMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/Activatable.hs b/GI/Gtk/Interfaces/Activatable.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Activatable.hs
@@ -0,0 +1,837 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Activatable widgets can be connected to a 'GI.Gtk.Objects.Action.Action' and reflects
+the state of its action. A 'GI.Gtk.Interfaces.Activatable.Activatable' can also provide feedback
+through its action, as they are responsible for activating their
+related actions.
+
+= Implementing GtkActivatable
+
+When extending a class that is already 'GI.Gtk.Interfaces.Activatable.Activatable'; it is only
+necessary to implement the 'GI.Gtk.Interfaces.Activatable.Activatable'->@/sync_action_properties()/@
+and 'GI.Gtk.Interfaces.Activatable.Activatable'->@/update()/@ methods and chain up to the parent
+implementation, however when introducing
+a new 'GI.Gtk.Interfaces.Activatable.Activatable' class; the 'GI.Gtk.Interfaces.Activatable.Activatable':@/related-action/@ and
+'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ properties need to be handled by
+the implementor. Handling these properties is mostly a matter of installing
+the action pointer and boolean flag on your instance, and calling
+'GI.Gtk.Interfaces.Activatable.activatableDoSetRelatedAction' and
+'GI.Gtk.Interfaces.Activatable.activatableSyncActionProperties' at the appropriate times.
+
+## A class fragment implementing 'GI.Gtk.Interfaces.Activatable.Activatable'
+
+
+=== /C code/
+>
+>
+>enum {
+>...
+>
+>PROP_ACTIVATABLE_RELATED_ACTION,
+>PROP_ACTIVATABLE_USE_ACTION_APPEARANCE
+>}
+>
+>struct _FooBarPrivate
+>{
+>
+>  ...
+>
+>  GtkAction      *action;
+>  gboolean        use_action_appearance;
+>};
+>
+>...
+>
+>static void foo_bar_activatable_interface_init         (GtkActivatableIface  *iface);
+>static void foo_bar_activatable_update                 (GtkActivatable       *activatable,
+>						           GtkAction            *action,
+>						           const gchar          *property_name);
+>static void foo_bar_activatable_sync_action_properties (GtkActivatable       *activatable,
+>						           GtkAction            *action);
+>...
+>
+>
+>static void
+>foo_bar_class_init (FooBarClass *klass)
+>{
+>
+>  ...
+>
+>  g_object_class_override_property (gobject_class, PROP_ACTIVATABLE_RELATED_ACTION, "related-action");
+>  g_object_class_override_property (gobject_class, PROP_ACTIVATABLE_USE_ACTION_APPEARANCE, "use-action-appearance");
+>
+>  ...
+>}
+>
+>
+>static void
+>foo_bar_activatable_interface_init (GtkActivatableIface  *iface)
+>{
+>  iface->update = foo_bar_activatable_update;
+>  iface->sync_action_properties = foo_bar_activatable_sync_action_properties;
+>}
+>
+>... Break the reference using gtk_activatable_do_set_related_action()...
+>
+>static void
+>foo_bar_dispose (GObject *object)
+>{
+>  FooBar *bar = FOO_BAR (object);
+>  FooBarPrivate *priv = FOO_BAR_GET_PRIVATE (bar);
+>
+>  ...
+>
+>  if (priv->action)
+>    {
+>      gtk_activatable_do_set_related_action (GTK_ACTIVATABLE (bar), NULL);
+>      priv->action = NULL;
+>    }
+>  G_OBJECT_CLASS (foo_bar_parent_class)->dispose (object);
+>}
+>
+>... Handle the “related-action” and “use-action-appearance” properties ...
+>
+>static void
+>foo_bar_set_property (GObject         *object,
+>                      guint            prop_id,
+>                      const GValue    *value,
+>                      GParamSpec      *pspec)
+>{
+>  FooBar *bar = FOO_BAR (object);
+>  FooBarPrivate *priv = FOO_BAR_GET_PRIVATE (bar);
+>
+>  switch (prop_id)
+>    {
+>
+>      ...
+>
+>    case PROP_ACTIVATABLE_RELATED_ACTION:
+>      foo_bar_set_related_action (bar, g_value_get_object (value));
+>      break;
+>    case PROP_ACTIVATABLE_USE_ACTION_APPEARANCE:
+>      foo_bar_set_use_action_appearance (bar, g_value_get_boolean (value));
+>      break;
+>    default:
+>      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+>      break;
+>    }
+>}
+>
+>static void
+>foo_bar_get_property (GObject         *object,
+>                         guint            prop_id,
+>                         GValue          *value,
+>                         GParamSpec      *pspec)
+>{
+>  FooBar *bar = FOO_BAR (object);
+>  FooBarPrivate *priv = FOO_BAR_GET_PRIVATE (bar);
+>
+>  switch (prop_id)
+>    {
+>
+>      ...
+>
+>    case PROP_ACTIVATABLE_RELATED_ACTION:
+>      g_value_set_object (value, priv->action);
+>      break;
+>    case PROP_ACTIVATABLE_USE_ACTION_APPEARANCE:
+>      g_value_set_boolean (value, priv->use_action_appearance);
+>      break;
+>    default:
+>      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+>      break;
+>    }
+>}
+>
+>
+>static void
+>foo_bar_set_use_action_appearance (FooBar   *bar,
+>				   gboolean  use_appearance)
+>{
+>  FooBarPrivate *priv = FOO_BAR_GET_PRIVATE (bar);
+>
+>  if (priv->use_action_appearance != use_appearance)
+>    {
+>      priv->use_action_appearance = use_appearance;
+>      
+>      gtk_activatable_sync_action_properties (GTK_ACTIVATABLE (bar), priv->action);
+>    }
+>}
+>
+>... call gtk_activatable_do_set_related_action() and then assign the action pointer,
+>no need to reference the action here since gtk_activatable_do_set_related_action() already
+>holds a reference here for you...
+>static void
+>foo_bar_set_related_action (FooBar    *bar,
+>			    GtkAction *action)
+>{
+>  FooBarPrivate *priv = FOO_BAR_GET_PRIVATE (bar);
+>
+>  if (priv->action == action)
+>    return;
+>
+>  gtk_activatable_do_set_related_action (GTK_ACTIVATABLE (bar), action);
+>
+>  priv->action = action;
+>}
+>
+>... Selectively reset and update activatable depending on the use-action-appearance property ...
+>static void
+>gtk_button_activatable_sync_action_properties (GtkActivatable       *activatable,
+>		                                  GtkAction            *action)
+>{
+>  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (activatable);
+>
+>  if (!action)
+>    return;
+>
+>  if (gtk_action_is_visible (action))
+>    gtk_widget_show (GTK_WIDGET (activatable));
+>  else
+>    gtk_widget_hide (GTK_WIDGET (activatable));
+>  
+>  gtk_widget_set_sensitive (GTK_WIDGET (activatable), gtk_action_is_sensitive (action));
+>
+>  ...
+>  
+>  if (priv->use_action_appearance)
+>    {
+>      if (gtk_action_get_stock_id (action))
+>	foo_bar_set_stock (button, gtk_action_get_stock_id (action));
+>      else if (gtk_action_get_label (action))
+>	foo_bar_set_label (button, gtk_action_get_label (action));
+>
+>      ...
+>
+>    }
+>}
+>
+>static void
+>foo_bar_activatable_update (GtkActivatable       *activatable,
+>			       GtkAction            *action,
+>			       const gchar          *property_name)
+>{
+>  FooBarPrivate *priv = FOO_BAR_GET_PRIVATE (activatable);
+>
+>  if (strcmp (property_name, "visible") == 0)
+>    {
+>      if (gtk_action_is_visible (action))
+>	gtk_widget_show (GTK_WIDGET (activatable));
+>      else
+>	gtk_widget_hide (GTK_WIDGET (activatable));
+>    }
+>  else if (strcmp (property_name, "sensitive") == 0)
+>    gtk_widget_set_sensitive (GTK_WIDGET (activatable), gtk_action_is_sensitive (action));
+>
+>  ...
+>
+>  if (!priv->use_action_appearance)
+>    return;
+>
+>  if (strcmp (property_name, "stock-id") == 0)
+>    foo_bar_set_stock (button, gtk_action_get_stock_id (action));
+>  else if (strcmp (property_name, "label") == 0)
+>    foo_bar_set_label (button, gtk_action_get_label (action));
+>
+>  ...
+>}
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.Activatable
+    ( 
+
+-- * Exported types
+    Activatable(..)                         ,
+    noActivatable                           ,
+    IsActivatable                           ,
+    toActivatable                           ,
+
+
+ -- * Methods
+-- ** doSetRelatedAction #method:doSetRelatedAction#
+
+#if ENABLE_OVERLOADING
+    ActivatableDoSetRelatedActionMethodInfo ,
+#endif
+    activatableDoSetRelatedAction           ,
+
+
+-- ** getRelatedAction #method:getRelatedAction#
+
+#if ENABLE_OVERLOADING
+    ActivatableGetRelatedActionMethodInfo   ,
+#endif
+    activatableGetRelatedAction             ,
+
+
+-- ** getUseActionAppearance #method:getUseActionAppearance#
+
+#if ENABLE_OVERLOADING
+    ActivatableGetUseActionAppearanceMethodInfo,
+#endif
+    activatableGetUseActionAppearance       ,
+
+
+-- ** setRelatedAction #method:setRelatedAction#
+
+#if ENABLE_OVERLOADING
+    ActivatableSetRelatedActionMethodInfo   ,
+#endif
+    activatableSetRelatedAction             ,
+
+
+-- ** setUseActionAppearance #method:setUseActionAppearance#
+
+#if ENABLE_OVERLOADING
+    ActivatableSetUseActionAppearanceMethodInfo,
+#endif
+    activatableSetUseActionAppearance       ,
+
+
+-- ** syncActionProperties #method:syncActionProperties#
+
+#if ENABLE_OVERLOADING
+    ActivatableSyncActionPropertiesMethodInfo,
+#endif
+    activatableSyncActionProperties         ,
+
+
+
+
+ -- * Properties
+-- ** relatedAction #attr:relatedAction#
+{- | The action that this activatable will activate and receive
+updates from for various states and possibly appearance.
+
+> 'GI.Gtk.Interfaces.Activatable.Activatable' implementors need to handle the this property and
+> call 'GI.Gtk.Interfaces.Activatable.activatableDoSetRelatedAction' when it changes.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    ActivatableRelatedActionPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    activatableRelatedAction                ,
+#endif
+    constructActivatableRelatedAction       ,
+    getActivatableRelatedAction             ,
+    setActivatableRelatedAction             ,
+
+
+-- ** useActionAppearance #attr:useActionAppearance#
+{- | Whether this activatable should reset its layout
+and appearance when setting the related action or when
+the action changes appearance.
+
+See the 'GI.Gtk.Objects.Action.Action' documentation directly to find which properties
+should be ignored by the 'GI.Gtk.Interfaces.Activatable.Activatable' when this property is 'False'.
+
+> 'GI.Gtk.Interfaces.Activatable.Activatable' implementors need to handle this property
+> and call 'GI.Gtk.Interfaces.Activatable.activatableSyncActionProperties' on the activatable
+> widget when it changes.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    ActivatableUseActionAppearancePropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    activatableUseActionAppearance          ,
+#endif
+    constructActivatableUseActionAppearance ,
+    getActivatableUseActionAppearance       ,
+    setActivatableUseActionAppearance       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Action as Gtk.Action
+
+-- interface Activatable 
+-- | Memory-managed wrapper type.
+newtype Activatable = Activatable (ManagedPtr Activatable)
+-- | A convenience alias for `Nothing` :: `Maybe` `Activatable`.
+noActivatable :: Maybe Activatable
+noActivatable = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Activatable = ActivatableSignalList
+type ActivatableSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_activatable_get_type"
+    c_gtk_activatable_get_type :: IO GType
+
+instance GObject Activatable where
+    gobjectType = c_gtk_activatable_get_type
+    
+
+-- | Type class for types which can be safely cast to `Activatable`, for instance with `toActivatable`.
+class (GObject o, O.IsDescendantOf Activatable o) => IsActivatable o
+instance (GObject o, O.IsDescendantOf Activatable o) => IsActivatable o
+
+instance O.HasParentTypes Activatable
+type instance O.ParentTypes Activatable = '[GObject.Object.Object]
+
+-- | Cast to `Activatable`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toActivatable :: (MonadIO m, IsActivatable o) => o -> m Activatable
+toActivatable = liftIO . unsafeCastTo Activatable
+
+-- VVV Prop "related-action"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Action"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@related-action@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' activatable #relatedAction
+@
+-}
+getActivatableRelatedAction :: (MonadIO m, IsActivatable o) => o -> m Gtk.Action.Action
+getActivatableRelatedAction obj = liftIO $ checkUnexpectedNothing "getActivatableRelatedAction" $ B.Properties.getObjectPropertyObject obj "related-action" Gtk.Action.Action
+
+{- |
+Set the value of the “@related-action@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' activatable [ #relatedAction 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActivatableRelatedAction :: (MonadIO m, IsActivatable o, Gtk.Action.IsAction a) => o -> a -> m ()
+setActivatableRelatedAction obj val = liftIO $ B.Properties.setObjectPropertyObject obj "related-action" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@related-action@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActivatableRelatedAction :: (IsActivatable o, Gtk.Action.IsAction a) => a -> IO (GValueConstruct o)
+constructActivatableRelatedAction val = B.Properties.constructObjectPropertyObject "related-action" (Just val)
+
+#if ENABLE_OVERLOADING
+data ActivatableRelatedActionPropertyInfo
+instance AttrInfo ActivatableRelatedActionPropertyInfo where
+    type AttrAllowedOps ActivatableRelatedActionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActivatableRelatedActionPropertyInfo = Gtk.Action.IsAction
+    type AttrBaseTypeConstraint ActivatableRelatedActionPropertyInfo = IsActivatable
+    type AttrGetType ActivatableRelatedActionPropertyInfo = Gtk.Action.Action
+    type AttrLabel ActivatableRelatedActionPropertyInfo = "related-action"
+    type AttrOrigin ActivatableRelatedActionPropertyInfo = Activatable
+    attrGet _ = getActivatableRelatedAction
+    attrSet _ = setActivatableRelatedAction
+    attrConstruct _ = constructActivatableRelatedAction
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-action-appearance"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-action-appearance@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' activatable #useActionAppearance
+@
+-}
+getActivatableUseActionAppearance :: (MonadIO m, IsActivatable o) => o -> m Bool
+getActivatableUseActionAppearance obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-action-appearance"
+
+{- |
+Set the value of the “@use-action-appearance@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' activatable [ #useActionAppearance 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActivatableUseActionAppearance :: (MonadIO m, IsActivatable o) => o -> Bool -> m ()
+setActivatableUseActionAppearance obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-action-appearance" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-action-appearance@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActivatableUseActionAppearance :: (IsActivatable o) => Bool -> IO (GValueConstruct o)
+constructActivatableUseActionAppearance val = B.Properties.constructObjectPropertyBool "use-action-appearance" val
+
+#if ENABLE_OVERLOADING
+data ActivatableUseActionAppearancePropertyInfo
+instance AttrInfo ActivatableUseActionAppearancePropertyInfo where
+    type AttrAllowedOps ActivatableUseActionAppearancePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActivatableUseActionAppearancePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActivatableUseActionAppearancePropertyInfo = IsActivatable
+    type AttrGetType ActivatableUseActionAppearancePropertyInfo = Bool
+    type AttrLabel ActivatableUseActionAppearancePropertyInfo = "use-action-appearance"
+    type AttrOrigin ActivatableUseActionAppearancePropertyInfo = Activatable
+    attrGet _ = getActivatableUseActionAppearance
+    attrSet _ = setActivatableUseActionAppearance
+    attrConstruct _ = constructActivatableUseActionAppearance
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Activatable
+type instance O.AttributeList Activatable = ActivatableAttributeList
+type ActivatableAttributeList = ('[ '("relatedAction", ActivatableRelatedActionPropertyInfo), '("useActionAppearance", ActivatableUseActionAppearancePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+activatableRelatedAction :: AttrLabelProxy "relatedAction"
+activatableRelatedAction = AttrLabelProxy
+
+activatableUseActionAppearance :: AttrLabelProxy "useActionAppearance"
+activatableUseActionAppearance = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveActivatableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveActivatableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveActivatableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveActivatableMethod "doSetRelatedAction" o = ActivatableDoSetRelatedActionMethodInfo
+    ResolveActivatableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveActivatableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveActivatableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveActivatableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveActivatableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveActivatableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveActivatableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveActivatableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveActivatableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveActivatableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveActivatableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveActivatableMethod "syncActionProperties" o = ActivatableSyncActionPropertiesMethodInfo
+    ResolveActivatableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveActivatableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveActivatableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveActivatableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveActivatableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveActivatableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveActivatableMethod "getRelatedAction" o = ActivatableGetRelatedActionMethodInfo
+    ResolveActivatableMethod "getUseActionAppearance" o = ActivatableGetUseActionAppearanceMethodInfo
+    ResolveActivatableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveActivatableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveActivatableMethod "setRelatedAction" o = ActivatableSetRelatedActionMethodInfo
+    ResolveActivatableMethod "setUseActionAppearance" o = ActivatableSetUseActionAppearanceMethodInfo
+    ResolveActivatableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveActivatableMethod t Activatable, O.MethodInfo info Activatable p) => OL.IsLabel t (Activatable -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method Activatable::do_set_related_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "activatable", argType = TInterface (Name {namespace = "Gtk", name = "Activatable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActivatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkAction to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_activatable_do_set_related_action" gtk_activatable_do_set_related_action :: 
+    Ptr Activatable ->                      -- activatable : TInterface (Name {namespace = "Gtk", name = "Activatable"})
+    Ptr Gtk.Action.Action ->                -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED activatableDoSetRelatedAction ["(Since version 3.10)"] #-}
+{- |
+This is a utility function for 'GI.Gtk.Interfaces.Activatable.Activatable' implementors.
+
+When implementing 'GI.Gtk.Interfaces.Activatable.Activatable' you must call this when
+handling changes of the 'GI.Gtk.Interfaces.Activatable.Activatable':@/related-action/@, and
+you must also use this to break references in 'GI.GObject.Objects.Object.Object'->@/dispose()/@.
+
+This function adds a reference to the currently set related
+action for you, it also makes sure the 'GI.Gtk.Interfaces.Activatable.Activatable'->@/update()/@
+method is called when the related 'GI.Gtk.Objects.Action.Action' properties change
+and registers to the action’s proxy list.
+
+> Be careful to call this before setting the local
+> copy of the 'GI.Gtk.Objects.Action.Action' property, since this function uses
+> 'GI.Gtk.Interfaces.Activatable.activatableGetRelatedAction' to retrieve the
+> previous action.
+
+/Since: 2.16/
+-}
+activatableDoSetRelatedAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActivatable a, Gtk.Action.IsAction b) =>
+    a
+    {- ^ /@activatable@/: a 'GI.Gtk.Interfaces.Activatable.Activatable' -}
+    -> b
+    {- ^ /@action@/: the 'GI.Gtk.Objects.Action.Action' to set -}
+    -> m ()
+activatableDoSetRelatedAction activatable action = liftIO $ do
+    activatable' <- unsafeManagedPtrCastPtr activatable
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_activatable_do_set_related_action activatable' action'
+    touchManagedPtr activatable
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActivatableDoSetRelatedActionMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsActivatable a, Gtk.Action.IsAction b) => O.MethodInfo ActivatableDoSetRelatedActionMethodInfo a signature where
+    overloadedMethod _ = activatableDoSetRelatedAction
+
+#endif
+
+-- method Activatable::get_related_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "activatable", argType = TInterface (Name {namespace = "Gtk", name = "Activatable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActivatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Action"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_activatable_get_related_action" gtk_activatable_get_related_action :: 
+    Ptr Activatable ->                      -- activatable : TInterface (Name {namespace = "Gtk", name = "Activatable"})
+    IO (Ptr Gtk.Action.Action)
+
+{-# DEPRECATED activatableGetRelatedAction ["(Since version 3.10)"] #-}
+{- |
+Gets the related 'GI.Gtk.Objects.Action.Action' for /@activatable@/.
+
+/Since: 2.16/
+-}
+activatableGetRelatedAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActivatable a) =>
+    a
+    {- ^ /@activatable@/: a 'GI.Gtk.Interfaces.Activatable.Activatable' -}
+    -> m Gtk.Action.Action
+    {- ^ __Returns:__ the related 'GI.Gtk.Objects.Action.Action' if one is set. -}
+activatableGetRelatedAction activatable = liftIO $ do
+    activatable' <- unsafeManagedPtrCastPtr activatable
+    result <- gtk_activatable_get_related_action activatable'
+    checkUnexpectedReturnNULL "activatableGetRelatedAction" result
+    result' <- (newObject Gtk.Action.Action) result
+    touchManagedPtr activatable
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActivatableGetRelatedActionMethodInfo
+instance (signature ~ (m Gtk.Action.Action), MonadIO m, IsActivatable a) => O.MethodInfo ActivatableGetRelatedActionMethodInfo a signature where
+    overloadedMethod _ = activatableGetRelatedAction
+
+#endif
+
+-- method Activatable::get_use_action_appearance
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "activatable", argType = TInterface (Name {namespace = "Gtk", name = "Activatable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActivatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_activatable_get_use_action_appearance" gtk_activatable_get_use_action_appearance :: 
+    Ptr Activatable ->                      -- activatable : TInterface (Name {namespace = "Gtk", name = "Activatable"})
+    IO CInt
+
+{-# DEPRECATED activatableGetUseActionAppearance ["(Since version 3.10)"] #-}
+{- |
+Gets whether this activatable should reset its layout
+and appearance when setting the related action or when
+the action changes appearance.
+
+/Since: 2.16/
+-}
+activatableGetUseActionAppearance ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActivatable a) =>
+    a
+    {- ^ /@activatable@/: a 'GI.Gtk.Interfaces.Activatable.Activatable' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@activatable@/ uses its actions appearance. -}
+activatableGetUseActionAppearance activatable = liftIO $ do
+    activatable' <- unsafeManagedPtrCastPtr activatable
+    result <- gtk_activatable_get_use_action_appearance activatable'
+    let result' = (/= 0) result
+    touchManagedPtr activatable
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActivatableGetUseActionAppearanceMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsActivatable a) => O.MethodInfo ActivatableGetUseActionAppearanceMethodInfo a signature where
+    overloadedMethod _ = activatableGetUseActionAppearance
+
+#endif
+
+-- method Activatable::set_related_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "activatable", argType = TInterface (Name {namespace = "Gtk", name = "Activatable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActivatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkAction to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_activatable_set_related_action" gtk_activatable_set_related_action :: 
+    Ptr Activatable ->                      -- activatable : TInterface (Name {namespace = "Gtk", name = "Activatable"})
+    Ptr Gtk.Action.Action ->                -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED activatableSetRelatedAction ["(Since version 3.10)"] #-}
+{- |
+Sets the related action on the /@activatable@/ object.
+
+> 'GI.Gtk.Interfaces.Activatable.Activatable' implementors need to handle the 'GI.Gtk.Interfaces.Activatable.Activatable':@/related-action/@
+> property and call 'GI.Gtk.Interfaces.Activatable.activatableDoSetRelatedAction' when it changes.
+
+/Since: 2.16/
+-}
+activatableSetRelatedAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActivatable a, Gtk.Action.IsAction b) =>
+    a
+    {- ^ /@activatable@/: a 'GI.Gtk.Interfaces.Activatable.Activatable' -}
+    -> b
+    {- ^ /@action@/: the 'GI.Gtk.Objects.Action.Action' to set -}
+    -> m ()
+activatableSetRelatedAction activatable action = liftIO $ do
+    activatable' <- unsafeManagedPtrCastPtr activatable
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_activatable_set_related_action activatable' action'
+    touchManagedPtr activatable
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActivatableSetRelatedActionMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsActivatable a, Gtk.Action.IsAction b) => O.MethodInfo ActivatableSetRelatedActionMethodInfo a signature where
+    overloadedMethod _ = activatableSetRelatedAction
+
+#endif
+
+-- method Activatable::set_use_action_appearance
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "activatable", argType = TInterface (Name {namespace = "Gtk", name = "Activatable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActivatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_appearance", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to use the actions appearance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_activatable_set_use_action_appearance" gtk_activatable_set_use_action_appearance :: 
+    Ptr Activatable ->                      -- activatable : TInterface (Name {namespace = "Gtk", name = "Activatable"})
+    CInt ->                                 -- use_appearance : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED activatableSetUseActionAppearance ["(Since version 3.10)"] #-}
+{- |
+Sets whether this activatable should reset its layout and appearance
+when setting the related action or when the action changes appearance
+
+> 'GI.Gtk.Interfaces.Activatable.Activatable' implementors need to handle the
+> 'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ property and call
+> 'GI.Gtk.Interfaces.Activatable.activatableSyncActionProperties' to update /@activatable@/
+> if needed.
+
+/Since: 2.16/
+-}
+activatableSetUseActionAppearance ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActivatable a) =>
+    a
+    {- ^ /@activatable@/: a 'GI.Gtk.Interfaces.Activatable.Activatable' -}
+    -> Bool
+    {- ^ /@useAppearance@/: whether to use the actions appearance -}
+    -> m ()
+activatableSetUseActionAppearance activatable useAppearance = liftIO $ do
+    activatable' <- unsafeManagedPtrCastPtr activatable
+    let useAppearance' = (fromIntegral . fromEnum) useAppearance
+    gtk_activatable_set_use_action_appearance activatable' useAppearance'
+    touchManagedPtr activatable
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActivatableSetUseActionAppearanceMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsActivatable a) => O.MethodInfo ActivatableSetUseActionAppearanceMethodInfo a signature where
+    overloadedMethod _ = activatableSetUseActionAppearance
+
+#endif
+
+-- method Activatable::sync_action_properties
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "activatable", argType = TInterface (Name {namespace = "Gtk", name = "Activatable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActivatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the related #GtkAction or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_activatable_sync_action_properties" gtk_activatable_sync_action_properties :: 
+    Ptr Activatable ->                      -- activatable : TInterface (Name {namespace = "Gtk", name = "Activatable"})
+    Ptr Gtk.Action.Action ->                -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED activatableSyncActionProperties ["(Since version 3.10)"] #-}
+{- |
+This is called to update the activatable completely, this is called
+internally when the 'GI.Gtk.Interfaces.Activatable.Activatable':@/related-action/@ property is set
+or unset and by the implementing class when
+'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ changes.
+
+/Since: 2.16/
+-}
+activatableSyncActionProperties ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActivatable a, Gtk.Action.IsAction b) =>
+    a
+    {- ^ /@activatable@/: a 'GI.Gtk.Interfaces.Activatable.Activatable' -}
+    -> Maybe (b)
+    {- ^ /@action@/: the related 'GI.Gtk.Objects.Action.Action' or 'Nothing' -}
+    -> m ()
+activatableSyncActionProperties activatable action = liftIO $ do
+    activatable' <- unsafeManagedPtrCastPtr activatable
+    maybeAction <- case action of
+        Nothing -> return nullPtr
+        Just jAction -> do
+            jAction' <- unsafeManagedPtrCastPtr jAction
+            return jAction'
+    gtk_activatable_sync_action_properties activatable' maybeAction
+    touchManagedPtr activatable
+    whenJust action touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActivatableSyncActionPropertiesMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsActivatable a, Gtk.Action.IsAction b) => O.MethodInfo ActivatableSyncActionPropertiesMethodInfo a signature where
+    overloadedMethod _ = activatableSyncActionProperties
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/Activatable.hs-boot b/GI/Gtk/Interfaces/Activatable.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Activatable.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.Activatable where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Activatable = Activatable (ManagedPtr Activatable)
+instance GObject Activatable where
+class (GObject o, O.IsDescendantOf Activatable o) => IsActivatable o
+instance (GObject o, O.IsDescendantOf Activatable o) => IsActivatable o
+instance O.HasParentTypes Activatable
+#if ENABLE_OVERLOADING
+data ActivatableRelatedActionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActivatableUseActionAppearancePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActivatableDoSetRelatedActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActivatableGetRelatedActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActivatableGetUseActionAppearanceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActivatableSetRelatedActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActivatableSetUseActionAppearanceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActivatableSyncActionPropertiesMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/AppChooser.hs b/GI/Gtk/Interfaces/AppChooser.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/AppChooser.hs
@@ -0,0 +1,613 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Interfaces.AppChooser.AppChooser' is an interface that can be implemented by widgets which
+allow the user to choose an application (typically for the purpose of
+opening a file). The main objects that implement this interface are
+'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget', 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' and 'GI.Gtk.Objects.AppChooserButton.AppChooserButton'.
+
+Applications are represented by GIO 'GI.Gio.Interfaces.AppInfo.AppInfo' objects here.
+GIO has a concept of recommended and fallback applications for a
+given content type. Recommended applications are those that claim
+to handle the content type itself, while fallback also includes
+applications that handle a more generic content type. GIO also
+knows the default and last-used application for a given content
+type. The 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' provides detailed control over
+whether the shown list of applications should include default,
+recommended or fallback applications.
+
+To obtain the application that has been selected in a 'GI.Gtk.Interfaces.AppChooser.AppChooser',
+use 'GI.Gtk.Interfaces.AppChooser.appChooserGetAppInfo'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.AppChooser
+    ( 
+
+-- * Exported types
+    AppChooser(..)                          ,
+    noAppChooser                            ,
+    IsAppChooser                            ,
+    toAppChooser                            ,
+
+
+ -- * Methods
+-- ** getAppInfo #method:getAppInfo#
+
+#if ENABLE_OVERLOADING
+    AppChooserGetAppInfoMethodInfo          ,
+#endif
+    appChooserGetAppInfo                    ,
+
+
+-- ** getContentType #method:getContentType#
+
+#if ENABLE_OVERLOADING
+    AppChooserGetContentTypeMethodInfo      ,
+#endif
+    appChooserGetContentType                ,
+
+
+-- ** refresh #method:refresh#
+
+#if ENABLE_OVERLOADING
+    AppChooserRefreshMethodInfo             ,
+#endif
+    appChooserRefresh                       ,
+
+
+
+
+ -- * Properties
+-- ** contentType #attr:contentType#
+{- | The content type of the 'GI.Gtk.Interfaces.AppChooser.AppChooser' object.
+
+See [GContentType][gio-GContentType]
+for more information about content types.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserContentTypePropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserContentType                   ,
+#endif
+    constructAppChooserContentType          ,
+    getAppChooserContentType                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.AppInfo as Gio.AppInfo
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- interface AppChooser 
+-- | Memory-managed wrapper type.
+newtype AppChooser = AppChooser (ManagedPtr AppChooser)
+-- | A convenience alias for `Nothing` :: `Maybe` `AppChooser`.
+noAppChooser :: Maybe AppChooser
+noAppChooser = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList AppChooser = AppChooserSignalList
+type AppChooserSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_app_chooser_get_type"
+    c_gtk_app_chooser_get_type :: IO GType
+
+instance GObject AppChooser where
+    gobjectType = c_gtk_app_chooser_get_type
+    
+
+-- | Type class for types which can be safely cast to `AppChooser`, for instance with `toAppChooser`.
+class (GObject o, O.IsDescendantOf AppChooser o) => IsAppChooser o
+instance (GObject o, O.IsDescendantOf AppChooser o) => IsAppChooser o
+
+instance O.HasParentTypes AppChooser
+type instance O.ParentTypes AppChooser = '[GObject.Object.Object, Gtk.Widget.Widget]
+
+-- | Cast to `AppChooser`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAppChooser :: (MonadIO m, IsAppChooser o) => o -> m AppChooser
+toAppChooser = liftIO . unsafeCastTo AppChooser
+
+-- VVV Prop "content-type"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@content-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooser #contentType
+@
+-}
+getAppChooserContentType :: (MonadIO m, IsAppChooser o) => o -> m (Maybe T.Text)
+getAppChooserContentType obj = liftIO $ B.Properties.getObjectPropertyString obj "content-type"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@content-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserContentType :: (IsAppChooser o) => T.Text -> IO (GValueConstruct o)
+constructAppChooserContentType val = B.Properties.constructObjectPropertyString "content-type" (Just val)
+
+#if ENABLE_OVERLOADING
+data AppChooserContentTypePropertyInfo
+instance AttrInfo AppChooserContentTypePropertyInfo where
+    type AttrAllowedOps AppChooserContentTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AppChooserContentTypePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AppChooserContentTypePropertyInfo = IsAppChooser
+    type AttrGetType AppChooserContentTypePropertyInfo = (Maybe T.Text)
+    type AttrLabel AppChooserContentTypePropertyInfo = "content-type"
+    type AttrOrigin AppChooserContentTypePropertyInfo = AppChooser
+    attrGet _ = getAppChooserContentType
+    attrSet _ = undefined
+    attrConstruct _ = constructAppChooserContentType
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AppChooser
+type instance O.AttributeList AppChooser = AppChooserAttributeList
+type AppChooserAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("contentType", AppChooserContentTypePropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+appChooserContentType :: AttrLabelProxy "contentType"
+appChooserContentType = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveAppChooserMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAppChooserMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveAppChooserMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveAppChooserMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveAppChooserMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveAppChooserMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveAppChooserMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveAppChooserMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveAppChooserMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAppChooserMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAppChooserMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveAppChooserMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveAppChooserMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveAppChooserMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveAppChooserMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveAppChooserMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveAppChooserMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveAppChooserMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveAppChooserMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveAppChooserMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveAppChooserMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveAppChooserMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveAppChooserMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveAppChooserMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveAppChooserMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveAppChooserMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveAppChooserMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveAppChooserMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveAppChooserMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveAppChooserMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveAppChooserMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveAppChooserMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveAppChooserMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveAppChooserMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveAppChooserMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveAppChooserMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveAppChooserMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveAppChooserMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveAppChooserMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveAppChooserMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveAppChooserMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveAppChooserMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveAppChooserMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveAppChooserMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveAppChooserMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveAppChooserMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveAppChooserMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveAppChooserMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveAppChooserMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveAppChooserMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveAppChooserMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveAppChooserMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveAppChooserMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveAppChooserMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveAppChooserMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveAppChooserMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveAppChooserMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAppChooserMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveAppChooserMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAppChooserMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAppChooserMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveAppChooserMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveAppChooserMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveAppChooserMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveAppChooserMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveAppChooserMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveAppChooserMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveAppChooserMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveAppChooserMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveAppChooserMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveAppChooserMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveAppChooserMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveAppChooserMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveAppChooserMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveAppChooserMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveAppChooserMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveAppChooserMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveAppChooserMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveAppChooserMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveAppChooserMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveAppChooserMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAppChooserMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveAppChooserMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveAppChooserMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveAppChooserMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveAppChooserMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveAppChooserMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveAppChooserMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveAppChooserMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveAppChooserMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveAppChooserMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveAppChooserMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveAppChooserMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveAppChooserMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveAppChooserMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveAppChooserMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveAppChooserMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveAppChooserMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveAppChooserMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAppChooserMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAppChooserMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveAppChooserMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveAppChooserMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveAppChooserMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveAppChooserMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveAppChooserMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveAppChooserMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveAppChooserMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveAppChooserMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveAppChooserMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveAppChooserMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveAppChooserMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveAppChooserMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveAppChooserMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveAppChooserMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveAppChooserMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAppChooserMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAppChooserMethod "refresh" o = AppChooserRefreshMethodInfo
+    ResolveAppChooserMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveAppChooserMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveAppChooserMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveAppChooserMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveAppChooserMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveAppChooserMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveAppChooserMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveAppChooserMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveAppChooserMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveAppChooserMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveAppChooserMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAppChooserMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveAppChooserMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveAppChooserMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveAppChooserMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveAppChooserMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveAppChooserMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveAppChooserMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveAppChooserMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveAppChooserMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveAppChooserMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAppChooserMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAppChooserMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveAppChooserMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveAppChooserMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveAppChooserMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAppChooserMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveAppChooserMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveAppChooserMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveAppChooserMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveAppChooserMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveAppChooserMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAppChooserMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveAppChooserMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveAppChooserMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAppChooserMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveAppChooserMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveAppChooserMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveAppChooserMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveAppChooserMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveAppChooserMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveAppChooserMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveAppChooserMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveAppChooserMethod "getAppInfo" o = AppChooserGetAppInfoMethodInfo
+    ResolveAppChooserMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveAppChooserMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveAppChooserMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveAppChooserMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveAppChooserMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveAppChooserMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveAppChooserMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveAppChooserMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveAppChooserMethod "getContentType" o = AppChooserGetContentTypeMethodInfo
+    ResolveAppChooserMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAppChooserMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveAppChooserMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveAppChooserMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveAppChooserMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveAppChooserMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveAppChooserMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveAppChooserMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveAppChooserMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveAppChooserMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveAppChooserMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveAppChooserMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveAppChooserMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveAppChooserMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveAppChooserMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveAppChooserMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveAppChooserMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveAppChooserMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveAppChooserMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveAppChooserMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveAppChooserMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveAppChooserMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveAppChooserMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveAppChooserMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveAppChooserMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveAppChooserMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveAppChooserMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveAppChooserMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveAppChooserMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveAppChooserMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveAppChooserMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveAppChooserMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveAppChooserMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveAppChooserMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveAppChooserMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveAppChooserMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveAppChooserMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveAppChooserMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveAppChooserMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveAppChooserMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveAppChooserMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAppChooserMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAppChooserMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveAppChooserMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveAppChooserMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveAppChooserMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveAppChooserMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveAppChooserMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveAppChooserMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveAppChooserMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveAppChooserMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveAppChooserMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveAppChooserMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveAppChooserMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveAppChooserMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveAppChooserMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveAppChooserMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveAppChooserMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveAppChooserMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveAppChooserMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveAppChooserMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveAppChooserMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveAppChooserMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveAppChooserMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveAppChooserMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveAppChooserMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveAppChooserMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveAppChooserMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveAppChooserMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveAppChooserMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveAppChooserMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveAppChooserMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveAppChooserMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveAppChooserMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveAppChooserMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveAppChooserMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveAppChooserMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveAppChooserMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveAppChooserMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAppChooserMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveAppChooserMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveAppChooserMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveAppChooserMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveAppChooserMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveAppChooserMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveAppChooserMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveAppChooserMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveAppChooserMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveAppChooserMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveAppChooserMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveAppChooserMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveAppChooserMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveAppChooserMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveAppChooserMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveAppChooserMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveAppChooserMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveAppChooserMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveAppChooserMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveAppChooserMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveAppChooserMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveAppChooserMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveAppChooserMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveAppChooserMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveAppChooserMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveAppChooserMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAppChooserMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveAppChooserMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveAppChooserMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveAppChooserMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveAppChooserMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveAppChooserMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveAppChooserMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveAppChooserMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveAppChooserMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveAppChooserMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveAppChooserMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveAppChooserMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveAppChooserMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveAppChooserMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveAppChooserMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveAppChooserMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveAppChooserMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveAppChooserMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveAppChooserMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAppChooserMethod t AppChooser, O.MethodInfo info AppChooser p) => OL.IsLabel t (AppChooser -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method AppChooser::get_app_info
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "AppInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_get_app_info" gtk_app_chooser_get_app_info :: 
+    Ptr AppChooser ->                       -- self : TInterface (Name {namespace = "Gtk", name = "AppChooser"})
+    IO (Ptr Gio.AppInfo.AppInfo)
+
+{- |
+Returns the currently selected application.
+
+/Since: 3.0/
+-}
+appChooserGetAppInfo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooser a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Interfaces.AppChooser.AppChooser' -}
+    -> m (Maybe Gio.AppInfo.AppInfo)
+    {- ^ __Returns:__ a 'GI.Gio.Interfaces.AppInfo.AppInfo' for the currently selected
+    application, or 'Nothing' if none is selected. Free with 'GI.GObject.Objects.Object.objectUnref' -}
+appChooserGetAppInfo self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_get_app_info self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gio.AppInfo.AppInfo) result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data AppChooserGetAppInfoMethodInfo
+instance (signature ~ (m (Maybe Gio.AppInfo.AppInfo)), MonadIO m, IsAppChooser a) => O.MethodInfo AppChooserGetAppInfoMethodInfo a signature where
+    overloadedMethod _ = appChooserGetAppInfo
+
+#endif
+
+-- method AppChooser::get_content_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_get_content_type" gtk_app_chooser_get_content_type :: 
+    Ptr AppChooser ->                       -- self : TInterface (Name {namespace = "Gtk", name = "AppChooser"})
+    IO CString
+
+{- |
+Returns the current value of the 'GI.Gtk.Interfaces.AppChooser.AppChooser':@/content-type/@ property.
+
+/Since: 3.0/
+-}
+appChooserGetContentType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooser a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Interfaces.AppChooser.AppChooser' -}
+    -> m T.Text
+    {- ^ __Returns:__ the content type of /@self@/. Free with 'GI.GLib.Functions.free' -}
+appChooserGetContentType self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_get_content_type self'
+    checkUnexpectedReturnNULL "appChooserGetContentType" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserGetContentTypeMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAppChooser a) => O.MethodInfo AppChooserGetContentTypeMethodInfo a signature where
+    overloadedMethod _ = appChooserGetContentType
+
+#endif
+
+-- method AppChooser::refresh
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_refresh" gtk_app_chooser_refresh :: 
+    Ptr AppChooser ->                       -- self : TInterface (Name {namespace = "Gtk", name = "AppChooser"})
+    IO ()
+
+{- |
+Reloads the list of applications.
+
+/Since: 3.0/
+-}
+appChooserRefresh ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooser a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Interfaces.AppChooser.AppChooser' -}
+    -> m ()
+appChooserRefresh self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    gtk_app_chooser_refresh self'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserRefreshMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAppChooser a) => O.MethodInfo AppChooserRefreshMethodInfo a signature where
+    overloadedMethod _ = appChooserRefresh
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/AppChooser.hs-boot b/GI/Gtk/Interfaces/AppChooser.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/AppChooser.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.AppChooser where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AppChooser = AppChooser (ManagedPtr AppChooser)
+instance GObject AppChooser where
+class (GObject o, O.IsDescendantOf AppChooser o) => IsAppChooser o
+instance (GObject o, O.IsDescendantOf AppChooser o) => IsAppChooser o
+instance O.HasParentTypes AppChooser
+#if ENABLE_OVERLOADING
+data AppChooserContentTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserGetAppInfoMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserGetContentTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserRefreshMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/Buildable.hs b/GI/Gtk/Interfaces/Buildable.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Buildable.hs
@@ -0,0 +1,738 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkBuildable allows objects to extend and customize their deserialization
+from [GtkBuilder UI descriptions][BUILDER-UI].
+The interface includes methods for setting names and properties of objects,
+parsing custom tags and constructing child objects.
+
+The GtkBuildable interface is implemented by all widgets and
+many of the non-widget objects that are provided by GTK+. The
+main user of this interface is 'GI.Gtk.Objects.Builder.Builder'. There should be
+very little need for applications to call any of these functions directly.
+
+An object only needs to implement this interface if it needs to extend the
+'GI.Gtk.Objects.Builder.Builder' format or run any extra routines at deserialization time.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.Buildable
+    ( 
+
+-- * Exported types
+    Buildable(..)                           ,
+    noBuildable                             ,
+    IsBuildable                             ,
+    toBuildable                             ,
+
+
+ -- * Methods
+-- ** addChild #method:addChild#
+
+#if ENABLE_OVERLOADING
+    BuildableAddChildMethodInfo             ,
+#endif
+    buildableAddChild                       ,
+
+
+-- ** constructChild #method:constructChild#
+
+#if ENABLE_OVERLOADING
+    BuildableConstructChildMethodInfo       ,
+#endif
+    buildableConstructChild                 ,
+
+
+-- ** customFinished #method:customFinished#
+
+#if ENABLE_OVERLOADING
+    BuildableCustomFinishedMethodInfo       ,
+#endif
+    buildableCustomFinished                 ,
+
+
+-- ** customTagEnd #method:customTagEnd#
+
+#if ENABLE_OVERLOADING
+    BuildableCustomTagEndMethodInfo         ,
+#endif
+    buildableCustomTagEnd                   ,
+
+
+-- ** customTagStart #method:customTagStart#
+
+#if ENABLE_OVERLOADING
+    BuildableCustomTagStartMethodInfo       ,
+#endif
+    buildableCustomTagStart                 ,
+
+
+-- ** getInternalChild #method:getInternalChild#
+
+#if ENABLE_OVERLOADING
+    BuildableGetInternalChildMethodInfo     ,
+#endif
+    buildableGetInternalChild               ,
+
+
+-- ** getName #method:getName#
+
+#if ENABLE_OVERLOADING
+    BuildableGetNameMethodInfo              ,
+#endif
+    buildableGetName                        ,
+
+
+-- ** parserFinished #method:parserFinished#
+
+#if ENABLE_OVERLOADING
+    BuildableParserFinishedMethodInfo       ,
+#endif
+    buildableParserFinished                 ,
+
+
+-- ** setBuildableProperty #method:setBuildableProperty#
+
+#if ENABLE_OVERLOADING
+    BuildableSetBuildablePropertyMethodInfo ,
+#endif
+    buildableSetBuildableProperty           ,
+
+
+-- ** setName #method:setName#
+
+#if ENABLE_OVERLOADING
+    BuildableSetNameMethodInfo              ,
+#endif
+    buildableSetName                        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Structs.MarkupParser as GLib.MarkupParser
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Builder as Gtk.Builder
+
+-- interface Buildable 
+-- | Memory-managed wrapper type.
+newtype Buildable = Buildable (ManagedPtr Buildable)
+-- | A convenience alias for `Nothing` :: `Maybe` `Buildable`.
+noBuildable :: Maybe Buildable
+noBuildable = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Buildable = BuildableSignalList
+type BuildableSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_buildable_get_type"
+    c_gtk_buildable_get_type :: IO GType
+
+instance GObject Buildable where
+    gobjectType = c_gtk_buildable_get_type
+    
+
+-- | Type class for types which can be safely cast to `Buildable`, for instance with `toBuildable`.
+class (GObject o, O.IsDescendantOf Buildable o) => IsBuildable o
+instance (GObject o, O.IsDescendantOf Buildable o) => IsBuildable o
+
+instance O.HasParentTypes Buildable
+type instance O.ParentTypes Buildable = '[GObject.Object.Object]
+
+-- | Cast to `Buildable`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toBuildable :: (MonadIO m, IsBuildable o) => o -> m Buildable
+toBuildable = liftIO . unsafeCastTo Buildable
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Buildable
+type instance O.AttributeList Buildable = BuildableAttributeList
+type BuildableAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveBuildableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBuildableMethod "addChild" o = BuildableAddChildMethodInfo
+    ResolveBuildableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveBuildableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveBuildableMethod "constructChild" o = BuildableConstructChildMethodInfo
+    ResolveBuildableMethod "customFinished" o = BuildableCustomFinishedMethodInfo
+    ResolveBuildableMethod "customTagEnd" o = BuildableCustomTagEndMethodInfo
+    ResolveBuildableMethod "customTagStart" o = BuildableCustomTagStartMethodInfo
+    ResolveBuildableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveBuildableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveBuildableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveBuildableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveBuildableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveBuildableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveBuildableMethod "parserFinished" o = BuildableParserFinishedMethodInfo
+    ResolveBuildableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveBuildableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveBuildableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveBuildableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveBuildableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveBuildableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveBuildableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveBuildableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveBuildableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveBuildableMethod "getInternalChild" o = BuildableGetInternalChildMethodInfo
+    ResolveBuildableMethod "getName" o = BuildableGetNameMethodInfo
+    ResolveBuildableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveBuildableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveBuildableMethod "setBuildableProperty" o = BuildableSetBuildablePropertyMethodInfo
+    ResolveBuildableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveBuildableMethod "setName" o = BuildableSetNameMethodInfo
+    ResolveBuildableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveBuildableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBuildableMethod t Buildable, O.MethodInfo info Buildable p) => OL.IsLabel t (Buildable -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method Buildable::add_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "child to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "kind of child or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_add_child" gtk_buildable_add_child :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    Ptr Gtk.Builder.Builder ->              -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    Ptr GObject.Object.Object ->            -- child : TInterface (Name {namespace = "GObject", name = "Object"})
+    CString ->                              -- type : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a child to /@buildable@/. /@type@/ is an optional string
+describing how the child should be added.
+
+/Since: 2.12/
+-}
+buildableAddChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) =>
+    a
+    {- ^ /@buildable@/: a 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> b
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> c
+    {- ^ /@child@/: child to add -}
+    -> Maybe (T.Text)
+    {- ^ /@type@/: kind of child or 'Nothing' -}
+    -> m ()
+buildableAddChild buildable builder child type_ = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    builder' <- unsafeManagedPtrCastPtr builder
+    child' <- unsafeManagedPtrCastPtr child
+    maybeType_ <- case type_ of
+        Nothing -> return nullPtr
+        Just jType_ -> do
+            jType_' <- textToCString jType_
+            return jType_'
+    gtk_buildable_add_child buildable' builder' child' maybeType_
+    touchManagedPtr buildable
+    touchManagedPtr builder
+    touchManagedPtr child
+    freeMem maybeType_
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuildableAddChildMethodInfo
+instance (signature ~ (b -> c -> Maybe (T.Text) -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) => O.MethodInfo BuildableAddChildMethodInfo a signature where
+    overloadedMethod _ = buildableAddChild
+
+#endif
+
+-- method Buildable::construct_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkBuilder used to construct this object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of child to construct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_construct_child" gtk_buildable_construct_child :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    Ptr Gtk.Builder.Builder ->              -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr GObject.Object.Object)
+
+{- |
+Constructs a child of /@buildable@/ with the name /@name@/.
+
+'GI.Gtk.Objects.Builder.Builder' calls this function if a “constructor” has been
+specified in the UI definition.
+
+/Since: 2.12/
+-}
+buildableConstructChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) =>
+    a
+    {- ^ /@buildable@/: A 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> b
+    {- ^ /@builder@/: 'GI.Gtk.Objects.Builder.Builder' used to construct this object -}
+    -> T.Text
+    {- ^ /@name@/: name of child to construct -}
+    -> m GObject.Object.Object
+    {- ^ __Returns:__ the constructed child -}
+buildableConstructChild buildable builder name = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    builder' <- unsafeManagedPtrCastPtr builder
+    name' <- textToCString name
+    result <- gtk_buildable_construct_child buildable' builder' name'
+    checkUnexpectedReturnNULL "buildableConstructChild" result
+    result' <- (wrapObject GObject.Object.Object) result
+    touchManagedPtr buildable
+    touchManagedPtr builder
+    freeMem name'
+    return result'
+
+#if ENABLE_OVERLOADING
+data BuildableConstructChildMethodInfo
+instance (signature ~ (b -> T.Text -> m GObject.Object.Object), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) => O.MethodInfo BuildableConstructChildMethodInfo a signature where
+    overloadedMethod _ = buildableConstructChild
+
+#endif
+
+-- method Buildable::custom_finished
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "child object or %NULL for non-child tags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tagname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data created in custom_tag_start", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_custom_finished" gtk_buildable_custom_finished :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    Ptr Gtk.Builder.Builder ->              -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    Ptr GObject.Object.Object ->            -- child : TInterface (Name {namespace = "GObject", name = "Object"})
+    CString ->                              -- tagname : TBasicType TUTF8
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO ()
+
+{- |
+This is similar to 'GI.Gtk.Interfaces.Buildable.buildableParserFinished' but is
+called once for each custom tag handled by the /@buildable@/.
+
+/Since: 2.12/
+-}
+buildableCustomFinished ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) =>
+    a
+    {- ^ /@buildable@/: a 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> b
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> Maybe (c)
+    {- ^ /@child@/: child object or 'Nothing' for non-child tags -}
+    -> T.Text
+    {- ^ /@tagname@/: the name of the tag -}
+    -> Ptr ()
+    {- ^ /@data@/: user data created in custom_tag_start -}
+    -> m ()
+buildableCustomFinished buildable builder child tagname data_ = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    builder' <- unsafeManagedPtrCastPtr builder
+    maybeChild <- case child of
+        Nothing -> return nullPtr
+        Just jChild -> do
+            jChild' <- unsafeManagedPtrCastPtr jChild
+            return jChild'
+    tagname' <- textToCString tagname
+    gtk_buildable_custom_finished buildable' builder' maybeChild tagname' data_
+    touchManagedPtr buildable
+    touchManagedPtr builder
+    whenJust child touchManagedPtr
+    freeMem tagname'
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuildableCustomFinishedMethodInfo
+instance (signature ~ (b -> Maybe (c) -> T.Text -> Ptr () -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) => O.MethodInfo BuildableCustomFinishedMethodInfo a signature where
+    overloadedMethod _ = buildableCustomFinished
+
+#endif
+
+-- method Buildable::custom_tag_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkBuilder used to construct this object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "child object or %NULL for non-child tags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tagname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that will be passed in to parser functions", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_custom_tag_end" gtk_buildable_custom_tag_end :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    Ptr Gtk.Builder.Builder ->              -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    Ptr GObject.Object.Object ->            -- child : TInterface (Name {namespace = "GObject", name = "Object"})
+    CString ->                              -- tagname : TBasicType TUTF8
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO ()
+
+{- |
+This is called at the end of each custom element handled by
+the buildable.
+
+/Since: 2.12/
+-}
+buildableCustomTagEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) =>
+    a
+    {- ^ /@buildable@/: A 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> b
+    {- ^ /@builder@/: 'GI.Gtk.Objects.Builder.Builder' used to construct this object -}
+    -> Maybe (c)
+    {- ^ /@child@/: child object or 'Nothing' for non-child tags -}
+    -> T.Text
+    {- ^ /@tagname@/: name of tag -}
+    -> Ptr ()
+    {- ^ /@data@/: user data that will be passed in to parser functions -}
+    -> m ()
+buildableCustomTagEnd buildable builder child tagname data_ = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    builder' <- unsafeManagedPtrCastPtr builder
+    maybeChild <- case child of
+        Nothing -> return nullPtr
+        Just jChild -> do
+            jChild' <- unsafeManagedPtrCastPtr jChild
+            return jChild'
+    tagname' <- textToCString tagname
+    gtk_buildable_custom_tag_end buildable' builder' maybeChild tagname' data_
+    touchManagedPtr buildable
+    touchManagedPtr builder
+    whenJust child touchManagedPtr
+    freeMem tagname'
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuildableCustomTagEndMethodInfo
+instance (signature ~ (b -> Maybe (c) -> T.Text -> Ptr () -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) => O.MethodInfo BuildableCustomTagEndMethodInfo a signature where
+    overloadedMethod _ = buildableCustomTagEnd
+
+#endif
+
+-- method Buildable::custom_tag_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder used to construct this object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "child object or %NULL for non-child tags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tagname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parser", argType = TInterface (Name {namespace = "GLib", name = "MarkupParser"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParser to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "return location for user data that will be passed in\n  to parser functions", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_custom_tag_start" gtk_buildable_custom_tag_start :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    Ptr Gtk.Builder.Builder ->              -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    Ptr GObject.Object.Object ->            -- child : TInterface (Name {namespace = "GObject", name = "Object"})
+    CString ->                              -- tagname : TBasicType TUTF8
+    Ptr GLib.MarkupParser.MarkupParser ->   -- parser : TInterface (Name {namespace = "GLib", name = "MarkupParser"})
+    Ptr (Ptr ()) ->                         -- data : TBasicType TPtr
+    IO CInt
+
+{- |
+This is called for each unknown element under \<child>.
+
+/Since: 2.12/
+-}
+buildableCustomTagStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) =>
+    a
+    {- ^ /@buildable@/: a 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> b
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' used to construct this object -}
+    -> Maybe (c)
+    {- ^ /@child@/: child object or 'Nothing' for non-child tags -}
+    -> T.Text
+    {- ^ /@tagname@/: name of tag -}
+    -> m ((Bool, GLib.MarkupParser.MarkupParser, Ptr ()))
+    {- ^ __Returns:__ 'True' if a object has a custom implementation, 'False'
+         if it doesn\'t. -}
+buildableCustomTagStart buildable builder child tagname = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    builder' <- unsafeManagedPtrCastPtr builder
+    maybeChild <- case child of
+        Nothing -> return nullPtr
+        Just jChild -> do
+            jChild' <- unsafeManagedPtrCastPtr jChild
+            return jChild'
+    tagname' <- textToCString tagname
+    parser <- callocBytes 40 :: IO (Ptr GLib.MarkupParser.MarkupParser)
+    data_ <- allocMem :: IO (Ptr (Ptr ()))
+    result <- gtk_buildable_custom_tag_start buildable' builder' maybeChild tagname' parser data_
+    let result' = (/= 0) result
+    parser' <- (wrapPtr GLib.MarkupParser.MarkupParser) parser
+    data_' <- peek data_
+    touchManagedPtr buildable
+    touchManagedPtr builder
+    whenJust child touchManagedPtr
+    freeMem tagname'
+    freeMem data_
+    return (result', parser', data_')
+
+#if ENABLE_OVERLOADING
+data BuildableCustomTagStartMethodInfo
+instance (signature ~ (b -> Maybe (c) -> T.Text -> m ((Bool, GLib.MarkupParser.MarkupParser, Ptr ()))), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) => O.MethodInfo BuildableCustomTagStartMethodInfo a signature where
+    overloadedMethod _ = buildableCustomTagStart
+
+#endif
+
+-- method Buildable::get_internal_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "childname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_get_internal_child" gtk_buildable_get_internal_child :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    Ptr Gtk.Builder.Builder ->              -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- childname : TBasicType TUTF8
+    IO (Ptr GObject.Object.Object)
+
+{- |
+Get the internal child called /@childname@/ of the /@buildable@/ object.
+
+/Since: 2.12/
+-}
+buildableGetInternalChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) =>
+    a
+    {- ^ /@buildable@/: a 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> b
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@childname@/: name of child -}
+    -> m GObject.Object.Object
+    {- ^ __Returns:__ the internal child of the buildable object -}
+buildableGetInternalChild buildable builder childname = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    builder' <- unsafeManagedPtrCastPtr builder
+    childname' <- textToCString childname
+    result <- gtk_buildable_get_internal_child buildable' builder' childname'
+    checkUnexpectedReturnNULL "buildableGetInternalChild" result
+    result' <- (newObject GObject.Object.Object) result
+    touchManagedPtr buildable
+    touchManagedPtr builder
+    freeMem childname'
+    return result'
+
+#if ENABLE_OVERLOADING
+data BuildableGetInternalChildMethodInfo
+instance (signature ~ (b -> T.Text -> m GObject.Object.Object), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) => O.MethodInfo BuildableGetInternalChildMethodInfo a signature where
+    overloadedMethod _ = buildableGetInternalChild
+
+#endif
+
+-- method Buildable::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_get_name" gtk_buildable_get_name :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    IO CString
+
+{- |
+Gets the name of the /@buildable@/ object.
+
+'GI.Gtk.Objects.Builder.Builder' sets the name based on the
+[GtkBuilder UI definition][BUILDER-UI]
+used to construct the /@buildable@/.
+
+/Since: 2.12/
+-}
+buildableGetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a) =>
+    a
+    {- ^ /@buildable@/: a 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> m T.Text
+    {- ^ __Returns:__ the name set with 'GI.Gtk.Interfaces.Buildable.buildableSetName' -}
+buildableGetName buildable = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    result <- gtk_buildable_get_name buildable'
+    checkUnexpectedReturnNULL "buildableGetName" result
+    result' <- cstringToText result
+    touchManagedPtr buildable
+    return result'
+
+#if ENABLE_OVERLOADING
+data BuildableGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsBuildable a) => O.MethodInfo BuildableGetNameMethodInfo a signature where
+    overloadedMethod _ = buildableGetName
+
+#endif
+
+-- method Buildable::parser_finished
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_parser_finished" gtk_buildable_parser_finished :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    Ptr Gtk.Builder.Builder ->              -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    IO ()
+
+{- |
+Called when the builder finishes the parsing of a
+[GtkBuilder UI definition][BUILDER-UI].
+Note that this will be called once for each time
+'GI.Gtk.Objects.Builder.builderAddFromFile' or 'GI.Gtk.Objects.Builder.builderAddFromString'
+is called on a builder.
+
+/Since: 2.12/
+-}
+buildableParserFinished ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) =>
+    a
+    {- ^ /@buildable@/: a 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> b
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> m ()
+buildableParserFinished buildable builder = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    builder' <- unsafeManagedPtrCastPtr builder
+    gtk_buildable_parser_finished buildable' builder'
+    touchManagedPtr buildable
+    touchManagedPtr builder
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuildableParserFinishedMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) => O.MethodInfo BuildableParserFinishedMethodInfo a signature where
+    overloadedMethod _ = buildableParserFinished
+
+#endif
+
+-- method Buildable::set_buildable_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value of property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_set_buildable_property" gtk_buildable_set_buildable_property :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    Ptr Gtk.Builder.Builder ->              -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Sets the property name /@name@/ to /@value@/ on the /@buildable@/ object.
+
+/Since: 2.12/
+-}
+buildableSetBuildableProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) =>
+    a
+    {- ^ /@buildable@/: a 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> b
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@name@/: name of property -}
+    -> GValue
+    {- ^ /@value@/: value of property -}
+    -> m ()
+buildableSetBuildableProperty buildable builder name value = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    builder' <- unsafeManagedPtrCastPtr builder
+    name' <- textToCString name
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_buildable_set_buildable_property buildable' builder' name' value'
+    touchManagedPtr buildable
+    touchManagedPtr builder
+    touchManagedPtr value
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuildableSetBuildablePropertyMethodInfo
+instance (signature ~ (b -> T.Text -> GValue -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) => O.MethodInfo BuildableSetBuildablePropertyMethodInfo a signature where
+    overloadedMethod _ = buildableSetBuildableProperty
+
+#endif
+
+-- method Buildable::set_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buildable", argType = TInterface (Name {namespace = "Gtk", name = "Buildable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuildable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_buildable_set_name" gtk_buildable_set_name :: 
+    Ptr Buildable ->                        -- buildable : TInterface (Name {namespace = "Gtk", name = "Buildable"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the name of the /@buildable@/ object.
+
+/Since: 2.12/
+-}
+buildableSetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuildable a) =>
+    a
+    {- ^ /@buildable@/: a 'GI.Gtk.Interfaces.Buildable.Buildable' -}
+    -> T.Text
+    {- ^ /@name@/: name to set -}
+    -> m ()
+buildableSetName buildable name = liftIO $ do
+    buildable' <- unsafeManagedPtrCastPtr buildable
+    name' <- textToCString name
+    gtk_buildable_set_name buildable' name'
+    touchManagedPtr buildable
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuildableSetNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsBuildable a) => O.MethodInfo BuildableSetNameMethodInfo a signature where
+    overloadedMethod _ = buildableSetName
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/Buildable.hs-boot b/GI/Gtk/Interfaces/Buildable.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Buildable.hs-boot
@@ -0,0 +1,59 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.Buildable where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Buildable = Buildable (ManagedPtr Buildable)
+instance GObject Buildable where
+class (GObject o, O.IsDescendantOf Buildable o) => IsBuildable o
+instance (GObject o, O.IsDescendantOf Buildable o) => IsBuildable o
+instance O.HasParentTypes Buildable
+#if ENABLE_OVERLOADING
+data BuildableAddChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuildableConstructChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuildableCustomFinishedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuildableCustomTagEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuildableCustomTagStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuildableGetInternalChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuildableGetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuildableParserFinishedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuildableSetBuildablePropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuildableSetNameMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/CellAccessibleParent.hs b/GI/Gtk/Interfaces/CellAccessibleParent.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/CellAccessibleParent.hs
@@ -0,0 +1,664 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.CellAccessibleParent
+    ( 
+
+-- * Exported types
+    CellAccessibleParent(..)                ,
+    noCellAccessibleParent                  ,
+    IsCellAccessibleParent                  ,
+
+
+ -- * Methods
+-- ** activate #method:activate#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentActivateMethodInfo  ,
+#endif
+    cellAccessibleParentActivate            ,
+
+
+-- ** edit #method:edit#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentEditMethodInfo      ,
+#endif
+    cellAccessibleParentEdit                ,
+
+
+-- ** expandCollapse #method:expandCollapse#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentExpandCollapseMethodInfo,
+#endif
+    cellAccessibleParentExpandCollapse      ,
+
+
+-- ** getCellArea #method:getCellArea#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentGetCellAreaMethodInfo,
+#endif
+    cellAccessibleParentGetCellArea         ,
+
+
+-- ** getCellExtents #method:getCellExtents#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentGetCellExtentsMethodInfo,
+#endif
+    cellAccessibleParentGetCellExtents      ,
+
+
+-- ** getCellPosition #method:getCellPosition#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentGetCellPositionMethodInfo,
+#endif
+    cellAccessibleParentGetCellPosition     ,
+
+
+-- ** getChildIndex #method:getChildIndex#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentGetChildIndexMethodInfo,
+#endif
+    cellAccessibleParentGetChildIndex       ,
+
+
+-- ** getColumnHeaderCells #method:getColumnHeaderCells#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentGetColumnHeaderCellsMethodInfo,
+#endif
+    cellAccessibleParentGetColumnHeaderCells,
+
+
+-- ** getRendererState #method:getRendererState#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentGetRendererStateMethodInfo,
+#endif
+    cellAccessibleParentGetRendererState    ,
+
+
+-- ** getRowHeaderCells #method:getRowHeaderCells#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentGetRowHeaderCellsMethodInfo,
+#endif
+    cellAccessibleParentGetRowHeaderCells   ,
+
+
+-- ** grabFocus #method:grabFocus#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentGrabFocusMethodInfo ,
+#endif
+    cellAccessibleParentGrabFocus           ,
+
+
+-- ** updateRelationset #method:updateRelationset#
+
+#if ENABLE_OVERLOADING
+    CellAccessibleParentUpdateRelationsetMethodInfo,
+#endif
+    cellAccessibleParentUpdateRelationset   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Enums as Atk.Enums
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.Atk.Objects.RelationSet as Atk.RelationSet
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellAccessible as Gtk.CellAccessible
+
+-- interface CellAccessibleParent 
+-- | Memory-managed wrapper type.
+newtype CellAccessibleParent = CellAccessibleParent (ManagedPtr CellAccessibleParent)
+-- | A convenience alias for `Nothing` :: `Maybe` `CellAccessibleParent`.
+noCellAccessibleParent :: Maybe CellAccessibleParent
+noCellAccessibleParent = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellAccessibleParent = CellAccessibleParentSignalList
+type CellAccessibleParentSignalList = ('[ ] :: [(Symbol, *)])
+
+#endif
+
+-- | Type class for types which implement `CellAccessibleParent`.
+class ManagedPtrNewtype a => IsCellAccessibleParent a
+instance IsCellAccessibleParent CellAccessibleParent
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr CellAccessibleParent where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
+
+#if ENABLE_OVERLOADING
+type family ResolveCellAccessibleParentMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellAccessibleParentMethod "activate" o = CellAccessibleParentActivateMethodInfo
+    ResolveCellAccessibleParentMethod "edit" o = CellAccessibleParentEditMethodInfo
+    ResolveCellAccessibleParentMethod "expandCollapse" o = CellAccessibleParentExpandCollapseMethodInfo
+    ResolveCellAccessibleParentMethod "grabFocus" o = CellAccessibleParentGrabFocusMethodInfo
+    ResolveCellAccessibleParentMethod "updateRelationset" o = CellAccessibleParentUpdateRelationsetMethodInfo
+    ResolveCellAccessibleParentMethod "getCellArea" o = CellAccessibleParentGetCellAreaMethodInfo
+    ResolveCellAccessibleParentMethod "getCellExtents" o = CellAccessibleParentGetCellExtentsMethodInfo
+    ResolveCellAccessibleParentMethod "getCellPosition" o = CellAccessibleParentGetCellPositionMethodInfo
+    ResolveCellAccessibleParentMethod "getChildIndex" o = CellAccessibleParentGetChildIndexMethodInfo
+    ResolveCellAccessibleParentMethod "getColumnHeaderCells" o = CellAccessibleParentGetColumnHeaderCellsMethodInfo
+    ResolveCellAccessibleParentMethod "getRendererState" o = CellAccessibleParentGetRendererStateMethodInfo
+    ResolveCellAccessibleParentMethod "getRowHeaderCells" o = CellAccessibleParentGetRowHeaderCellsMethodInfo
+    ResolveCellAccessibleParentMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellAccessibleParentMethod t CellAccessibleParent, O.MethodInfo info CellAccessibleParent p) => OL.IsLabel t (CellAccessibleParent -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method CellAccessibleParent::activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_activate" gtk_cell_accessible_parent_activate :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m ()
+cellAccessibleParentActivate parent cell = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    gtk_cell_accessible_parent_activate parent' cell'
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentActivateMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentActivateMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentActivate
+
+#endif
+
+-- method CellAccessibleParent::edit
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_edit" gtk_cell_accessible_parent_edit :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentEdit ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m ()
+cellAccessibleParentEdit parent cell = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    gtk_cell_accessible_parent_edit parent' cell'
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentEditMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentEditMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentEdit
+
+#endif
+
+-- method CellAccessibleParent::expand_collapse
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_expand_collapse" gtk_cell_accessible_parent_expand_collapse :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentExpandCollapse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m ()
+cellAccessibleParentExpandCollapse parent cell = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    gtk_cell_accessible_parent_expand_collapse parent' cell'
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentExpandCollapseMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentExpandCollapseMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentExpandCollapse
+
+#endif
+
+-- method CellAccessibleParent::get_cell_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_get_cell_area" gtk_cell_accessible_parent_get_cell_area :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentGetCellArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> Gdk.Rectangle.Rectangle
+    -> m ()
+cellAccessibleParentGetCellArea parent cell cellRect = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    cellRect' <- unsafeManagedPtrGetPtr cellRect
+    gtk_cell_accessible_parent_get_cell_area parent' cell' cellRect'
+    touchManagedPtr parent
+    touchManagedPtr cell
+    touchManagedPtr cellRect
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetCellAreaMethodInfo
+instance (signature ~ (b -> Gdk.Rectangle.Rectangle -> m ()), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentGetCellAreaMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentGetCellArea
+
+#endif
+
+-- method CellAccessibleParent::get_cell_extents
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface (Name {namespace = "Atk", name = "CoordType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_get_cell_extents" gtk_cell_accessible_parent_get_cell_extents :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    CUInt ->                                -- coord_type : TInterface (Name {namespace = "Atk", name = "CoordType"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentGetCellExtents ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> Int32
+    -> Int32
+    -> Int32
+    -> Int32
+    -> Atk.Enums.CoordType
+    -> m ()
+cellAccessibleParentGetCellExtents parent cell x y width height coordType = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    let coordType' = (fromIntegral . fromEnum) coordType
+    gtk_cell_accessible_parent_get_cell_extents parent' cell' x y width height coordType'
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetCellExtentsMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> Int32 -> Int32 -> Atk.Enums.CoordType -> m ()), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentGetCellExtentsMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentGetCellExtents
+
+#endif
+
+-- method CellAccessibleParent::get_cell_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_get_cell_position" gtk_cell_accessible_parent_get_cell_position :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    Int32 ->                                -- row : TBasicType TInt
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentGetCellPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> Int32
+    -> Int32
+    -> m ()
+cellAccessibleParentGetCellPosition parent cell row column = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    gtk_cell_accessible_parent_get_cell_position parent' cell' row column
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetCellPositionMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentGetCellPositionMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentGetCellPosition
+
+#endif
+
+-- method CellAccessibleParent::get_child_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_get_child_index" gtk_cell_accessible_parent_get_child_index :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO Int32
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentGetChildIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m Int32
+cellAccessibleParentGetChildIndex parent cell = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    result <- gtk_cell_accessible_parent_get_child_index parent' cell'
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return result
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetChildIndexMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentGetChildIndexMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentGetChildIndex
+
+#endif
+
+-- method CellAccessibleParent::get_column_header_cells
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TPtrArray (TInterface (Name {namespace = "Atk", name = "Object"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_get_column_header_cells" gtk_cell_accessible_parent_get_column_header_cells :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO (Ptr (GPtrArray (Ptr Atk.Object.Object)))
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentGetColumnHeaderCells ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m [Atk.Object.Object]
+cellAccessibleParentGetColumnHeaderCells parent cell = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    result <- gtk_cell_accessible_parent_get_column_header_cells parent' cell'
+    checkUnexpectedReturnNULL "cellAccessibleParentGetColumnHeaderCells" result
+    result' <- unpackGPtrArray result
+    result'' <- mapM (wrapObject Atk.Object.Object) result'
+    unrefPtrArray result
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return result''
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetColumnHeaderCellsMethodInfo
+instance (signature ~ (b -> m [Atk.Object.Object]), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentGetColumnHeaderCellsMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentGetColumnHeaderCells
+
+#endif
+
+-- method CellAccessibleParent::get_renderer_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererState"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_get_renderer_state" gtk_cell_accessible_parent_get_renderer_state :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO CUInt
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentGetRendererState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m [Gtk.Flags.CellRendererState]
+cellAccessibleParentGetRendererState parent cell = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    result <- gtk_cell_accessible_parent_get_renderer_state parent' cell'
+    let result' = wordToGFlags result
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetRendererStateMethodInfo
+instance (signature ~ (b -> m [Gtk.Flags.CellRendererState]), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentGetRendererStateMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentGetRendererState
+
+#endif
+
+-- method CellAccessibleParent::get_row_header_cells
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TPtrArray (TInterface (Name {namespace = "Atk", name = "Object"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_get_row_header_cells" gtk_cell_accessible_parent_get_row_header_cells :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO (Ptr (GPtrArray (Ptr Atk.Object.Object)))
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentGetRowHeaderCells ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m [Atk.Object.Object]
+cellAccessibleParentGetRowHeaderCells parent cell = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    result <- gtk_cell_accessible_parent_get_row_header_cells parent' cell'
+    checkUnexpectedReturnNULL "cellAccessibleParentGetRowHeaderCells" result
+    result' <- unpackGPtrArray result
+    result'' <- mapM (wrapObject Atk.Object.Object) result'
+    unrefPtrArray result
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return result''
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetRowHeaderCellsMethodInfo
+instance (signature ~ (b -> m [Atk.Object.Object]), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentGetRowHeaderCellsMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentGetRowHeaderCells
+
+#endif
+
+-- method CellAccessibleParent::grab_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_grab_focus" gtk_cell_accessible_parent_grab_focus :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO CInt
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentGrabFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m Bool
+cellAccessibleParentGrabFocus parent cell = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    result <- gtk_cell_accessible_parent_grab_focus parent' cell'
+    let result' = (/= 0) result
+    touchManagedPtr parent
+    touchManagedPtr cell
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGrabFocusMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo CellAccessibleParentGrabFocusMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentGrabFocus
+
+#endif
+
+-- method CellAccessibleParent::update_relationset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationset", argType = TInterface (Name {namespace = "Atk", name = "RelationSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_accessible_parent_update_relationset" gtk_cell_accessible_parent_update_relationset :: 
+    Ptr CellAccessibleParent ->             -- parent : TInterface (Name {namespace = "Gtk", name = "CellAccessibleParent"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    Ptr Atk.RelationSet.RelationSet ->      -- relationset : TInterface (Name {namespace = "Atk", name = "RelationSet"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+cellAccessibleParentUpdateRelationset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b, Atk.RelationSet.IsRelationSet c) =>
+    a
+    -> b
+    -> c
+    -> m ()
+cellAccessibleParentUpdateRelationset parent cell relationset = liftIO $ do
+    parent' <- unsafeManagedPtrCastPtr parent
+    cell' <- unsafeManagedPtrCastPtr cell
+    relationset' <- unsafeManagedPtrCastPtr relationset
+    gtk_cell_accessible_parent_update_relationset parent' cell' relationset'
+    touchManagedPtr parent
+    touchManagedPtr cell
+    touchManagedPtr relationset
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAccessibleParentUpdateRelationsetMethodInfo
+instance (signature ~ (b -> c -> m ()), MonadIO m, IsCellAccessibleParent a, Gtk.CellAccessible.IsCellAccessible b, Atk.RelationSet.IsRelationSet c) => O.MethodInfo CellAccessibleParentUpdateRelationsetMethodInfo a signature where
+    overloadedMethod _ = cellAccessibleParentUpdateRelationset
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/CellAccessibleParent.hs-boot b/GI/Gtk/Interfaces/CellAccessibleParent.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/CellAccessibleParent.hs-boot
@@ -0,0 +1,63 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.CellAccessibleParent where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellAccessibleParent = CellAccessibleParent (ManagedPtr CellAccessibleParent)
+class ManagedPtrNewtype a => IsCellAccessibleParent a
+instance WrappedPtr CellAccessibleParent where
+#if ENABLE_OVERLOADING
+data CellAccessibleParentActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentEditMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentExpandCollapseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetCellAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetCellExtentsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetCellPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetChildIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetColumnHeaderCellsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetRendererStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGetRowHeaderCellsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentGrabFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAccessibleParentUpdateRelationsetMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/CellEditable.hs b/GI/Gtk/Interfaces/CellEditable.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/CellEditable.hs
@@ -0,0 +1,814 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Interfaces.CellEditable.CellEditable' interface must be implemented for widgets to be usable
+to edit the contents of a 'GI.Gtk.Objects.TreeView.TreeView' cell. It provides a way to specify how
+temporary widgets should be configured for editing, get the new value, etc.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.CellEditable
+    ( 
+
+-- * Exported types
+    CellEditable(..)                        ,
+    noCellEditable                          ,
+    IsCellEditable                          ,
+    toCellEditable                          ,
+
+
+ -- * Methods
+-- ** editingDone #method:editingDone#
+
+#if ENABLE_OVERLOADING
+    CellEditableEditingDoneMethodInfo       ,
+#endif
+    cellEditableEditingDone                 ,
+
+
+-- ** removeWidget #method:removeWidget#
+
+#if ENABLE_OVERLOADING
+    CellEditableRemoveWidgetMethodInfo      ,
+#endif
+    cellEditableRemoveWidget                ,
+
+
+-- ** startEditing #method:startEditing#
+
+#if ENABLE_OVERLOADING
+    CellEditableStartEditingMethodInfo      ,
+#endif
+    cellEditableStartEditing                ,
+
+
+
+
+ -- * Properties
+-- ** editingCanceled #attr:editingCanceled#
+{- | Indicates whether editing on the cell has been canceled.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    CellEditableEditingCanceledPropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    cellEditableEditingCanceled             ,
+#endif
+    constructCellEditableEditingCanceled    ,
+    getCellEditableEditingCanceled          ,
+    setCellEditableEditingCanceled          ,
+
+
+
+
+ -- * Signals
+-- ** editingDone #signal:editingDone#
+
+    C_CellEditableEditingDoneCallback       ,
+    CellEditableEditingDoneCallback         ,
+#if ENABLE_OVERLOADING
+    CellEditableEditingDoneSignalInfo       ,
+#endif
+    afterCellEditableEditingDone            ,
+    genClosure_CellEditableEditingDone      ,
+    mk_CellEditableEditingDoneCallback      ,
+    noCellEditableEditingDoneCallback       ,
+    onCellEditableEditingDone               ,
+    wrap_CellEditableEditingDoneCallback    ,
+
+
+-- ** removeWidget #signal:removeWidget#
+
+    C_CellEditableRemoveWidgetCallback      ,
+    CellEditableRemoveWidgetCallback        ,
+#if ENABLE_OVERLOADING
+    CellEditableRemoveWidgetSignalInfo      ,
+#endif
+    afterCellEditableRemoveWidget           ,
+    genClosure_CellEditableRemoveWidget     ,
+    mk_CellEditableRemoveWidgetCallback     ,
+    noCellEditableRemoveWidgetCallback      ,
+    onCellEditableRemoveWidget              ,
+    wrap_CellEditableRemoveWidgetCallback   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- interface CellEditable 
+-- | Memory-managed wrapper type.
+newtype CellEditable = CellEditable (ManagedPtr CellEditable)
+-- | A convenience alias for `Nothing` :: `Maybe` `CellEditable`.
+noCellEditable :: Maybe CellEditable
+noCellEditable = Nothing
+
+-- signal CellEditable::editing-done
+{- |
+This signal is a sign for the cell renderer to update its
+value from the /@cellEditable@/.
+
+Implementations of 'GI.Gtk.Interfaces.CellEditable.CellEditable' are responsible for
+emitting this signal when they are done editing, e.g.
+'GI.Gtk.Objects.Entry.Entry' emits this signal when the user presses Enter. Typical things to
+do in a handler for ::editing-done are to capture the edited value,
+disconnect the /@cellEditable@/ from signals on the 'GI.Gtk.Objects.CellRenderer.CellRenderer', etc.
+
+'GI.Gtk.Interfaces.CellEditable.cellEditableEditingDone' is a convenience method
+for emitting 'GI.Gtk.Interfaces.CellEditable.CellEditable'::@/editing-done/@.
+-}
+type CellEditableEditingDoneCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellEditableEditingDoneCallback`@.
+noCellEditableEditingDoneCallback :: Maybe CellEditableEditingDoneCallback
+noCellEditableEditingDoneCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellEditableEditingDoneCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellEditableEditingDoneCallback`.
+foreign import ccall "wrapper"
+    mk_CellEditableEditingDoneCallback :: C_CellEditableEditingDoneCallback -> IO (FunPtr C_CellEditableEditingDoneCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellEditableEditingDone :: MonadIO m => CellEditableEditingDoneCallback -> m (GClosure C_CellEditableEditingDoneCallback)
+genClosure_CellEditableEditingDone cb = liftIO $ do
+    let cb' = wrap_CellEditableEditingDoneCallback cb
+    mk_CellEditableEditingDoneCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellEditableEditingDoneCallback` into a `C_CellEditableEditingDoneCallback`.
+wrap_CellEditableEditingDoneCallback ::
+    CellEditableEditingDoneCallback ->
+    C_CellEditableEditingDoneCallback
+wrap_CellEditableEditingDoneCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@editing-done@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellEditable #editingDone callback
+@
+-}
+onCellEditableEditingDone :: (IsCellEditable a, MonadIO m) => a -> CellEditableEditingDoneCallback -> m SignalHandlerId
+onCellEditableEditingDone obj cb = liftIO $ do
+    let cb' = wrap_CellEditableEditingDoneCallback cb
+    cb'' <- mk_CellEditableEditingDoneCallback cb'
+    connectSignalFunPtr obj "editing-done" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@editing-done@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellEditable #editingDone callback
+@
+-}
+afterCellEditableEditingDone :: (IsCellEditable a, MonadIO m) => a -> CellEditableEditingDoneCallback -> m SignalHandlerId
+afterCellEditableEditingDone obj cb = liftIO $ do
+    let cb' = wrap_CellEditableEditingDoneCallback cb
+    cb'' <- mk_CellEditableEditingDoneCallback cb'
+    connectSignalFunPtr obj "editing-done" cb'' SignalConnectAfter
+
+
+-- signal CellEditable::remove-widget
+{- |
+This signal is meant to indicate that the cell is finished
+editing, and the /@cellEditable@/ widget is being removed and may
+subsequently be destroyed.
+
+Implementations of 'GI.Gtk.Interfaces.CellEditable.CellEditable' are responsible for
+emitting this signal when they are done editing. It must
+be emitted after the 'GI.Gtk.Interfaces.CellEditable.CellEditable'::@/editing-done/@ signal,
+to give the cell renderer a chance to update the cell\'s value
+before the widget is removed.
+
+'GI.Gtk.Interfaces.CellEditable.cellEditableRemoveWidget' is a convenience method
+for emitting 'GI.Gtk.Interfaces.CellEditable.CellEditable'::@/remove-widget/@.
+-}
+type CellEditableRemoveWidgetCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellEditableRemoveWidgetCallback`@.
+noCellEditableRemoveWidgetCallback :: Maybe CellEditableRemoveWidgetCallback
+noCellEditableRemoveWidgetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellEditableRemoveWidgetCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellEditableRemoveWidgetCallback`.
+foreign import ccall "wrapper"
+    mk_CellEditableRemoveWidgetCallback :: C_CellEditableRemoveWidgetCallback -> IO (FunPtr C_CellEditableRemoveWidgetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellEditableRemoveWidget :: MonadIO m => CellEditableRemoveWidgetCallback -> m (GClosure C_CellEditableRemoveWidgetCallback)
+genClosure_CellEditableRemoveWidget cb = liftIO $ do
+    let cb' = wrap_CellEditableRemoveWidgetCallback cb
+    mk_CellEditableRemoveWidgetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellEditableRemoveWidgetCallback` into a `C_CellEditableRemoveWidgetCallback`.
+wrap_CellEditableRemoveWidgetCallback ::
+    CellEditableRemoveWidgetCallback ->
+    C_CellEditableRemoveWidgetCallback
+wrap_CellEditableRemoveWidgetCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@remove-widget@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellEditable #removeWidget callback
+@
+-}
+onCellEditableRemoveWidget :: (IsCellEditable a, MonadIO m) => a -> CellEditableRemoveWidgetCallback -> m SignalHandlerId
+onCellEditableRemoveWidget obj cb = liftIO $ do
+    let cb' = wrap_CellEditableRemoveWidgetCallback cb
+    cb'' <- mk_CellEditableRemoveWidgetCallback cb'
+    connectSignalFunPtr obj "remove-widget" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@remove-widget@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellEditable #removeWidget callback
+@
+-}
+afterCellEditableRemoveWidget :: (IsCellEditable a, MonadIO m) => a -> CellEditableRemoveWidgetCallback -> m SignalHandlerId
+afterCellEditableRemoveWidget obj cb = liftIO $ do
+    let cb' = wrap_CellEditableRemoveWidgetCallback cb
+    cb'' <- mk_CellEditableRemoveWidgetCallback cb'
+    connectSignalFunPtr obj "remove-widget" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+data CellEditableEditingDoneSignalInfo
+instance SignalInfo CellEditableEditingDoneSignalInfo where
+    type HaskellCallbackType CellEditableEditingDoneSignalInfo = CellEditableEditingDoneCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellEditableEditingDoneCallback cb
+        cb'' <- mk_CellEditableEditingDoneCallback cb'
+        connectSignalFunPtr obj "editing-done" cb'' connectMode
+
+data CellEditableRemoveWidgetSignalInfo
+instance SignalInfo CellEditableRemoveWidgetSignalInfo where
+    type HaskellCallbackType CellEditableRemoveWidgetSignalInfo = CellEditableRemoveWidgetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellEditableRemoveWidgetCallback cb
+        cb'' <- mk_CellEditableRemoveWidgetCallback cb'
+        connectSignalFunPtr obj "remove-widget" cb'' connectMode
+
+type instance O.SignalList CellEditable = CellEditableSignalList
+type CellEditableSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("editingDone", CellEditableEditingDoneSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("removeWidget", CellEditableRemoveWidgetSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_cell_editable_get_type"
+    c_gtk_cell_editable_get_type :: IO GType
+
+instance GObject CellEditable where
+    gobjectType = c_gtk_cell_editable_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellEditable`, for instance with `toCellEditable`.
+class (GObject o, O.IsDescendantOf CellEditable o) => IsCellEditable o
+instance (GObject o, O.IsDescendantOf CellEditable o) => IsCellEditable o
+
+instance O.HasParentTypes CellEditable
+type instance O.ParentTypes CellEditable = '[GObject.Object.Object, Gtk.Widget.Widget]
+
+-- | Cast to `CellEditable`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellEditable :: (MonadIO m, IsCellEditable o) => o -> m CellEditable
+toCellEditable = liftIO . unsafeCastTo CellEditable
+
+-- VVV Prop "editing-canceled"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@editing-canceled@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellEditable #editingCanceled
+@
+-}
+getCellEditableEditingCanceled :: (MonadIO m, IsCellEditable o) => o -> m Bool
+getCellEditableEditingCanceled obj = liftIO $ B.Properties.getObjectPropertyBool obj "editing-canceled"
+
+{- |
+Set the value of the “@editing-canceled@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellEditable [ #editingCanceled 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellEditableEditingCanceled :: (MonadIO m, IsCellEditable o) => o -> Bool -> m ()
+setCellEditableEditingCanceled obj val = liftIO $ B.Properties.setObjectPropertyBool obj "editing-canceled" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@editing-canceled@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellEditableEditingCanceled :: (IsCellEditable o) => Bool -> IO (GValueConstruct o)
+constructCellEditableEditingCanceled val = B.Properties.constructObjectPropertyBool "editing-canceled" val
+
+#if ENABLE_OVERLOADING
+data CellEditableEditingCanceledPropertyInfo
+instance AttrInfo CellEditableEditingCanceledPropertyInfo where
+    type AttrAllowedOps CellEditableEditingCanceledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellEditableEditingCanceledPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellEditableEditingCanceledPropertyInfo = IsCellEditable
+    type AttrGetType CellEditableEditingCanceledPropertyInfo = Bool
+    type AttrLabel CellEditableEditingCanceledPropertyInfo = "editing-canceled"
+    type AttrOrigin CellEditableEditingCanceledPropertyInfo = CellEditable
+    attrGet _ = getCellEditableEditingCanceled
+    attrSet _ = setCellEditableEditingCanceled
+    attrConstruct _ = constructCellEditableEditingCanceled
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellEditable
+type instance O.AttributeList CellEditable = CellEditableAttributeList
+type CellEditableAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("editingCanceled", CellEditableEditingCanceledPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellEditableEditingCanceled :: AttrLabelProxy "editingCanceled"
+cellEditableEditingCanceled = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveCellEditableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellEditableMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveCellEditableMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveCellEditableMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveCellEditableMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveCellEditableMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveCellEditableMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveCellEditableMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveCellEditableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellEditableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellEditableMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveCellEditableMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveCellEditableMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveCellEditableMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveCellEditableMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveCellEditableMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveCellEditableMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveCellEditableMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveCellEditableMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveCellEditableMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveCellEditableMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveCellEditableMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveCellEditableMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveCellEditableMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveCellEditableMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveCellEditableMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveCellEditableMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveCellEditableMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveCellEditableMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveCellEditableMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveCellEditableMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveCellEditableMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveCellEditableMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveCellEditableMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveCellEditableMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveCellEditableMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveCellEditableMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveCellEditableMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveCellEditableMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveCellEditableMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveCellEditableMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveCellEditableMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveCellEditableMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveCellEditableMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveCellEditableMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveCellEditableMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveCellEditableMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveCellEditableMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveCellEditableMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveCellEditableMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveCellEditableMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveCellEditableMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveCellEditableMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveCellEditableMethod "editingDone" o = CellEditableEditingDoneMethodInfo
+    ResolveCellEditableMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveCellEditableMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveCellEditableMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveCellEditableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellEditableMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveCellEditableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellEditableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellEditableMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveCellEditableMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveCellEditableMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveCellEditableMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveCellEditableMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveCellEditableMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveCellEditableMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveCellEditableMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveCellEditableMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveCellEditableMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveCellEditableMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveCellEditableMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveCellEditableMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveCellEditableMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveCellEditableMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveCellEditableMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveCellEditableMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveCellEditableMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveCellEditableMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveCellEditableMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveCellEditableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellEditableMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveCellEditableMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveCellEditableMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveCellEditableMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveCellEditableMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveCellEditableMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveCellEditableMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveCellEditableMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveCellEditableMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveCellEditableMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveCellEditableMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveCellEditableMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveCellEditableMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveCellEditableMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveCellEditableMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveCellEditableMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveCellEditableMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveCellEditableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellEditableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellEditableMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveCellEditableMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveCellEditableMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveCellEditableMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveCellEditableMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveCellEditableMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveCellEditableMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveCellEditableMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveCellEditableMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveCellEditableMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveCellEditableMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveCellEditableMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveCellEditableMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveCellEditableMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveCellEditableMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveCellEditableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellEditableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellEditableMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveCellEditableMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveCellEditableMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveCellEditableMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveCellEditableMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveCellEditableMethod "removeWidget" o = CellEditableRemoveWidgetMethodInfo
+    ResolveCellEditableMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveCellEditableMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveCellEditableMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveCellEditableMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveCellEditableMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveCellEditableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellEditableMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveCellEditableMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveCellEditableMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveCellEditableMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveCellEditableMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveCellEditableMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveCellEditableMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveCellEditableMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveCellEditableMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveCellEditableMethod "startEditing" o = CellEditableStartEditingMethodInfo
+    ResolveCellEditableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellEditableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellEditableMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveCellEditableMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveCellEditableMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveCellEditableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellEditableMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveCellEditableMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveCellEditableMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveCellEditableMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveCellEditableMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveCellEditableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellEditableMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveCellEditableMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveCellEditableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellEditableMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveCellEditableMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveCellEditableMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveCellEditableMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveCellEditableMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveCellEditableMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveCellEditableMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveCellEditableMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveCellEditableMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveCellEditableMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveCellEditableMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveCellEditableMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveCellEditableMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveCellEditableMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveCellEditableMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveCellEditableMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveCellEditableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellEditableMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveCellEditableMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveCellEditableMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveCellEditableMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveCellEditableMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveCellEditableMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveCellEditableMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveCellEditableMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveCellEditableMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveCellEditableMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveCellEditableMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveCellEditableMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveCellEditableMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveCellEditableMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveCellEditableMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveCellEditableMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveCellEditableMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveCellEditableMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveCellEditableMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveCellEditableMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveCellEditableMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveCellEditableMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveCellEditableMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveCellEditableMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveCellEditableMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveCellEditableMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveCellEditableMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveCellEditableMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveCellEditableMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveCellEditableMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveCellEditableMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveCellEditableMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveCellEditableMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveCellEditableMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveCellEditableMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveCellEditableMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveCellEditableMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveCellEditableMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveCellEditableMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveCellEditableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellEditableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellEditableMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveCellEditableMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveCellEditableMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveCellEditableMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveCellEditableMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveCellEditableMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveCellEditableMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveCellEditableMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveCellEditableMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveCellEditableMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveCellEditableMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveCellEditableMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveCellEditableMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveCellEditableMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveCellEditableMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveCellEditableMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveCellEditableMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveCellEditableMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveCellEditableMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveCellEditableMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveCellEditableMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveCellEditableMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveCellEditableMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveCellEditableMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveCellEditableMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveCellEditableMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveCellEditableMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveCellEditableMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveCellEditableMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveCellEditableMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveCellEditableMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveCellEditableMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveCellEditableMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveCellEditableMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveCellEditableMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveCellEditableMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveCellEditableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellEditableMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveCellEditableMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveCellEditableMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveCellEditableMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveCellEditableMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveCellEditableMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveCellEditableMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveCellEditableMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveCellEditableMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveCellEditableMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveCellEditableMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveCellEditableMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveCellEditableMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveCellEditableMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveCellEditableMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveCellEditableMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveCellEditableMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveCellEditableMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveCellEditableMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveCellEditableMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveCellEditableMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveCellEditableMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveCellEditableMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveCellEditableMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveCellEditableMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveCellEditableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellEditableMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveCellEditableMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveCellEditableMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveCellEditableMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveCellEditableMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveCellEditableMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveCellEditableMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveCellEditableMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveCellEditableMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveCellEditableMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveCellEditableMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveCellEditableMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveCellEditableMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveCellEditableMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveCellEditableMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveCellEditableMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveCellEditableMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveCellEditableMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveCellEditableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellEditableMethod t CellEditable, O.MethodInfo info CellEditable p) => OL.IsLabel t (CellEditable -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method CellEditable::editing_done
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_editable", argType = TInterface (Name {namespace = "Gtk", name = "CellEditable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_editable_editing_done" gtk_cell_editable_editing_done :: 
+    Ptr CellEditable ->                     -- cell_editable : TInterface (Name {namespace = "Gtk", name = "CellEditable"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Interfaces.CellEditable.CellEditable'::@/editing-done/@ signal.
+-}
+cellEditableEditingDone ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellEditable a) =>
+    a
+    {- ^ /@cellEditable@/: A 'GI.Gtk.Interfaces.CellEditable.CellEditable' -}
+    -> m ()
+cellEditableEditingDone cellEditable = liftIO $ do
+    cellEditable' <- unsafeManagedPtrCastPtr cellEditable
+    gtk_cell_editable_editing_done cellEditable'
+    touchManagedPtr cellEditable
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellEditableEditingDoneMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsCellEditable a) => O.MethodInfo CellEditableEditingDoneMethodInfo a signature where
+    overloadedMethod _ = cellEditableEditingDone
+
+#endif
+
+-- method CellEditable::remove_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_editable", argType = TInterface (Name {namespace = "Gtk", name = "CellEditable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_editable_remove_widget" gtk_cell_editable_remove_widget :: 
+    Ptr CellEditable ->                     -- cell_editable : TInterface (Name {namespace = "Gtk", name = "CellEditable"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Interfaces.CellEditable.CellEditable'::@/remove-widget/@ signal.
+-}
+cellEditableRemoveWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellEditable a) =>
+    a
+    {- ^ /@cellEditable@/: A 'GI.Gtk.Interfaces.CellEditable.CellEditable' -}
+    -> m ()
+cellEditableRemoveWidget cellEditable = liftIO $ do
+    cellEditable' <- unsafeManagedPtrCastPtr cellEditable
+    gtk_cell_editable_remove_widget cellEditable'
+    touchManagedPtr cellEditable
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellEditableRemoveWidgetMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsCellEditable a) => O.MethodInfo CellEditableRemoveWidgetMethodInfo a signature where
+    overloadedMethod _ = cellEditableRemoveWidget
+
+#endif
+
+-- method CellEditable::start_editing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_editable", argType = TInterface (Name {namespace = "Gtk", name = "CellEditable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The #GdkEvent that began the editing process, or\n  %NULL if editing was initiated programmatically", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_editable_start_editing" gtk_cell_editable_start_editing :: 
+    Ptr CellEditable ->                     -- cell_editable : TInterface (Name {namespace = "Gtk", name = "CellEditable"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO ()
+
+{- |
+Begins editing on a /@cellEditable@/.
+
+The 'GI.Gtk.Objects.CellRenderer.CellRenderer' for the cell creates and returns a 'GI.Gtk.Interfaces.CellEditable.CellEditable' from
+'GI.Gtk.Objects.CellRenderer.cellRendererStartEditing', configured for the 'GI.Gtk.Objects.CellRenderer.CellRenderer' type.
+
+'GI.Gtk.Interfaces.CellEditable.cellEditableStartEditing' can then set up /@cellEditable@/ suitably for
+editing a cell, e.g. making the Esc key emit 'GI.Gtk.Interfaces.CellEditable.CellEditable'::@/editing-done/@.
+
+Note that the /@cellEditable@/ is created on-demand for the current edit; its
+lifetime is temporary and does not persist across other edits and\/or cells.
+-}
+cellEditableStartEditing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellEditable a) =>
+    a
+    {- ^ /@cellEditable@/: A 'GI.Gtk.Interfaces.CellEditable.CellEditable' -}
+    -> Maybe (Gdk.Event.Event)
+    {- ^ /@event@/: The 'GI.Gdk.Unions.Event.Event' that began the editing process, or
+  'Nothing' if editing was initiated programmatically -}
+    -> m ()
+cellEditableStartEditing cellEditable event = liftIO $ do
+    cellEditable' <- unsafeManagedPtrCastPtr cellEditable
+    maybeEvent <- case event of
+        Nothing -> return nullPtr
+        Just jEvent -> do
+            jEvent' <- unsafeManagedPtrGetPtr jEvent
+            return jEvent'
+    gtk_cell_editable_start_editing cellEditable' maybeEvent
+    touchManagedPtr cellEditable
+    whenJust event touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellEditableStartEditingMethodInfo
+instance (signature ~ (Maybe (Gdk.Event.Event) -> m ()), MonadIO m, IsCellEditable a) => O.MethodInfo CellEditableStartEditingMethodInfo a signature where
+    overloadedMethod _ = cellEditableStartEditing
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/CellEditable.hs-boot b/GI/Gtk/Interfaces/CellEditable.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/CellEditable.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.CellEditable where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellEditable = CellEditable (ManagedPtr CellEditable)
+#if ENABLE_OVERLOADING
+data CellEditableEditingDoneSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellEditableRemoveWidgetSignalInfo
+#endif
+instance GObject CellEditable where
+class (GObject o, O.IsDescendantOf CellEditable o) => IsCellEditable o
+instance (GObject o, O.IsDescendantOf CellEditable o) => IsCellEditable o
+instance O.HasParentTypes CellEditable
+#if ENABLE_OVERLOADING
+data CellEditableEditingCanceledPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellEditableEditingDoneMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellEditableRemoveWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellEditableStartEditingMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/CellLayout.hs b/GI/Gtk/Interfaces/CellLayout.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/CellLayout.hs
@@ -0,0 +1,730 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Interfaces.CellLayout.CellLayout' is an interface to be implemented by all objects which
+want to provide a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' like API for packing cells,
+setting attributes and data funcs.
+
+One of the notable features provided by implementations of
+GtkCellLayout are attributes. Attributes let you set the properties
+in flexible ways. They can just be set to constant values like regular
+properties. But they can also be mapped to a column of the underlying
+tree model with @/gtk_cell_layout_set_attributes()/@, which means that the value
+of the attribute can change from cell to cell as they are rendered by
+the cell renderer. Finally, it is possible to specify a function with
+'GI.Gtk.Interfaces.CellLayout.cellLayoutSetCellDataFunc' that is called to determine the
+value of the attribute for each cell that is rendered.
+
+= GtkCellLayouts as GtkBuildable
+
+Implementations of GtkCellLayout which also implement the GtkBuildable
+interface ('GI.Gtk.Objects.CellView.CellView', 'GI.Gtk.Objects.IconView.IconView', 'GI.Gtk.Objects.ComboBox.ComboBox',
+'GI.Gtk.Objects.EntryCompletion.EntryCompletion', 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn') accept GtkCellRenderer objects
+as \<child> elements in UI definitions. They support a custom \<attributes>
+element for their children, which can contain multiple \<attribute>
+elements. Each \<attribute> element has a name attribute which specifies
+a property of the cell renderer; the content of the element is the
+attribute value.
+
+This is an example of a UI definition fragment specifying attributes:
+>
+><object class="GtkCellView">
+>  <child>
+>    <object class="GtkCellRendererText"/>
+>    <attributes>
+>      <attribute name="text">0</attribute>
+>    </attributes>
+>  </child>"
+></object>
+
+
+Furthermore for implementations of GtkCellLayout that use a 'GI.Gtk.Objects.CellArea.CellArea'
+to lay out cells (all GtkCellLayouts in GTK+ use a GtkCellArea)
+[cell properties][cell-properties] can also be defined in the format by
+specifying the custom \<cell-packing> attribute which can contain multiple
+\<property> elements defined in the normal way.
+
+Here is a UI definition fragment specifying cell properties:
+
+>
+><object class="GtkTreeViewColumn">
+>  <child>
+>    <object class="GtkCellRendererText"/>
+>    <cell-packing>
+>      <property name="align">True</property>
+>      <property name="expand">False</property>
+>    </cell-packing>
+>  </child>"
+></object>
+
+
+= Subclassing GtkCellLayout implementations
+
+When subclassing a widget that implements 'GI.Gtk.Interfaces.CellLayout.CellLayout' like
+'GI.Gtk.Objects.IconView.IconView' or 'GI.Gtk.Objects.ComboBox.ComboBox', there are some considerations related
+to the fact that these widgets internally use a 'GI.Gtk.Objects.CellArea.CellArea'.
+The cell area is exposed as a construct-only property by these
+widgets. This means that it is possible to e.g. do
+
+
+=== /C code/
+>
+>combo = g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", my_cell_area, NULL);
+
+
+to use a custom cell area with a combo box. But construct properties
+are only initialized after instance @/init()/@
+functions have run, which means that using functions which rely on
+the existence of the cell area in your subclass’ @/init()/@ function will
+cause the default cell area to be instantiated. In this case, a provided
+construct property value will be ignored (with a warning, to alert
+you to the problem).
+
+
+=== /C code/
+>
+>static void
+>my_combo_box_init (MyComboBox *b)
+>{
+>  GtkCellRenderer *cell;
+>
+>  cell = gtk_cell_renderer_pixbuf_new ();
+>  // The following call causes the default cell area for combo boxes,
+>  // a GtkCellAreaBox, to be instantiated
+>  gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (b), cell, FALSE);
+>  ...
+>}
+>
+>GtkWidget *
+>my_combo_box_new (GtkCellArea *area)
+>{
+>  // This call is going to cause a warning about area being ignored
+>  return g_object_new (MY_TYPE_COMBO_BOX, "cell-area", area, NULL);
+>}
+
+
+If supporting alternative cell areas with your derived widget is
+not important, then this does not have to concern you. If you want
+to support alternative cell areas, you can do so by moving the
+problematic calls out of @/init()/@ and into a @/constructor()/@
+for your class.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.CellLayout
+    ( 
+
+-- * Exported types
+    CellLayout(..)                          ,
+    noCellLayout                            ,
+    IsCellLayout                            ,
+    toCellLayout                            ,
+
+
+ -- * Methods
+-- ** addAttribute #method:addAttribute#
+
+#if ENABLE_OVERLOADING
+    CellLayoutAddAttributeMethodInfo        ,
+#endif
+    cellLayoutAddAttribute                  ,
+
+
+-- ** clear #method:clear#
+
+#if ENABLE_OVERLOADING
+    CellLayoutClearMethodInfo               ,
+#endif
+    cellLayoutClear                         ,
+
+
+-- ** clearAttributes #method:clearAttributes#
+
+#if ENABLE_OVERLOADING
+    CellLayoutClearAttributesMethodInfo     ,
+#endif
+    cellLayoutClearAttributes               ,
+
+
+-- ** getArea #method:getArea#
+
+#if ENABLE_OVERLOADING
+    CellLayoutGetAreaMethodInfo             ,
+#endif
+    cellLayoutGetArea                       ,
+
+
+-- ** getCells #method:getCells#
+
+#if ENABLE_OVERLOADING
+    CellLayoutGetCellsMethodInfo            ,
+#endif
+    cellLayoutGetCells                      ,
+
+
+-- ** packEnd #method:packEnd#
+
+#if ENABLE_OVERLOADING
+    CellLayoutPackEndMethodInfo             ,
+#endif
+    cellLayoutPackEnd                       ,
+
+
+-- ** packStart #method:packStart#
+
+#if ENABLE_OVERLOADING
+    CellLayoutPackStartMethodInfo           ,
+#endif
+    cellLayoutPackStart                     ,
+
+
+-- ** reorder #method:reorder#
+
+#if ENABLE_OVERLOADING
+    CellLayoutReorderMethodInfo             ,
+#endif
+    cellLayoutReorder                       ,
+
+
+-- ** setCellDataFunc #method:setCellDataFunc#
+
+#if ENABLE_OVERLOADING
+    CellLayoutSetCellDataFuncMethodInfo     ,
+#endif
+    cellLayoutSetCellDataFunc               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellArea as Gtk.CellArea
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+
+-- interface CellLayout 
+-- | Memory-managed wrapper type.
+newtype CellLayout = CellLayout (ManagedPtr CellLayout)
+-- | A convenience alias for `Nothing` :: `Maybe` `CellLayout`.
+noCellLayout :: Maybe CellLayout
+noCellLayout = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellLayout = CellLayoutSignalList
+type CellLayoutSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_cell_layout_get_type"
+    c_gtk_cell_layout_get_type :: IO GType
+
+instance GObject CellLayout where
+    gobjectType = c_gtk_cell_layout_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellLayout`, for instance with `toCellLayout`.
+class (GObject o, O.IsDescendantOf CellLayout o) => IsCellLayout o
+instance (GObject o, O.IsDescendantOf CellLayout o) => IsCellLayout o
+
+instance O.HasParentTypes CellLayout
+type instance O.ParentTypes CellLayout = '[GObject.Object.Object]
+
+-- | Cast to `CellLayout`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellLayout :: (MonadIO m, IsCellLayout o) => o -> m CellLayout
+toCellLayout = liftIO . unsafeCastTo CellLayout
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellLayout
+type instance O.AttributeList CellLayout = CellLayoutAttributeList
+type CellLayoutAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveCellLayoutMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellLayoutMethod "addAttribute" o = CellLayoutAddAttributeMethodInfo
+    ResolveCellLayoutMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellLayoutMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellLayoutMethod "clear" o = CellLayoutClearMethodInfo
+    ResolveCellLayoutMethod "clearAttributes" o = CellLayoutClearAttributesMethodInfo
+    ResolveCellLayoutMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellLayoutMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellLayoutMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellLayoutMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellLayoutMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellLayoutMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellLayoutMethod "packEnd" o = CellLayoutPackEndMethodInfo
+    ResolveCellLayoutMethod "packStart" o = CellLayoutPackStartMethodInfo
+    ResolveCellLayoutMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellLayoutMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellLayoutMethod "reorder" o = CellLayoutReorderMethodInfo
+    ResolveCellLayoutMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellLayoutMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellLayoutMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellLayoutMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellLayoutMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellLayoutMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellLayoutMethod "getArea" o = CellLayoutGetAreaMethodInfo
+    ResolveCellLayoutMethod "getCells" o = CellLayoutGetCellsMethodInfo
+    ResolveCellLayoutMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellLayoutMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellLayoutMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellLayoutMethod "setCellDataFunc" o = CellLayoutSetCellDataFuncMethodInfo
+    ResolveCellLayoutMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellLayoutMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellLayoutMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellLayoutMethod t CellLayout, O.MethodInfo info CellLayout p) => OL.IsLabel t (CellLayout -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method CellLayout::add_attribute
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an attribute on the renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column position on the model to get the attribute from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_layout_add_attribute" gtk_cell_layout_add_attribute :: 
+    Ptr CellLayout ->                       -- cell_layout : TInterface (Name {namespace = "Gtk", name = "CellLayout"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CString ->                              -- attribute : TBasicType TUTF8
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+Adds an attribute mapping to the list in /@cellLayout@/.
+
+The /@column@/ is the column of the model to get a value from, and the
+/@attribute@/ is the parameter on /@cell@/ to be set from the value. So for
+example if column 2 of the model contains strings, you could have the
+“text” attribute of a 'GI.Gtk.Objects.CellRendererText.CellRendererText' get its values from column 2.
+
+/Since: 2.4/
+-}
+cellLayoutAddAttribute ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> b
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> T.Text
+    {- ^ /@attribute@/: an attribute on the renderer -}
+    -> Int32
+    {- ^ /@column@/: the column position on the model to get the attribute from -}
+    -> m ()
+cellLayoutAddAttribute cellLayout cell attribute column = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    cell' <- unsafeManagedPtrCastPtr cell
+    attribute' <- textToCString attribute
+    gtk_cell_layout_add_attribute cellLayout' cell' attribute' column
+    touchManagedPtr cellLayout
+    touchManagedPtr cell
+    freeMem attribute'
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellLayoutAddAttributeMethodInfo
+instance (signature ~ (b -> T.Text -> Int32 -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellLayoutAddAttributeMethodInfo a signature where
+    overloadedMethod _ = cellLayoutAddAttribute
+
+#endif
+
+-- method CellLayout::clear
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_layout_clear" gtk_cell_layout_clear :: 
+    Ptr CellLayout ->                       -- cell_layout : TInterface (Name {namespace = "Gtk", name = "CellLayout"})
+    IO ()
+
+{- |
+Unsets all the mappings on all renderers on /@cellLayout@/ and
+removes all renderers from /@cellLayout@/.
+
+/Since: 2.4/
+-}
+cellLayoutClear ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellLayout a) =>
+    a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> m ()
+cellLayoutClear cellLayout = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    gtk_cell_layout_clear cellLayout'
+    touchManagedPtr cellLayout
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellLayoutClearMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsCellLayout a) => O.MethodInfo CellLayoutClearMethodInfo a signature where
+    overloadedMethod _ = cellLayoutClear
+
+#endif
+
+-- method CellLayout::clear_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer to clear the attribute mapping on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_layout_clear_attributes" gtk_cell_layout_clear_attributes :: 
+    Ptr CellLayout ->                       -- cell_layout : TInterface (Name {namespace = "Gtk", name = "CellLayout"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Clears all existing attributes previously set with
+@/gtk_cell_layout_set_attributes()/@.
+
+/Since: 2.4/
+-}
+cellLayoutClearAttributes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> b
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' to clear the attribute mapping on -}
+    -> m ()
+cellLayoutClearAttributes cellLayout cell = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    cell' <- unsafeManagedPtrCastPtr cell
+    gtk_cell_layout_clear_attributes cellLayout' cell'
+    touchManagedPtr cellLayout
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellLayoutClearAttributesMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellLayoutClearAttributesMethodInfo a signature where
+    overloadedMethod _ = cellLayoutClearAttributes
+
+#endif
+
+-- method CellLayout::get_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellArea"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_layout_get_area" gtk_cell_layout_get_area :: 
+    Ptr CellLayout ->                       -- cell_layout : TInterface (Name {namespace = "Gtk", name = "CellLayout"})
+    IO (Ptr Gtk.CellArea.CellArea)
+
+{- |
+Returns the underlying 'GI.Gtk.Objects.CellArea.CellArea' which might be /@cellLayout@/
+if called on a 'GI.Gtk.Objects.CellArea.CellArea' or might be 'Nothing' if no 'GI.Gtk.Objects.CellArea.CellArea'
+is used by /@cellLayout@/.
+
+/Since: 3.0/
+-}
+cellLayoutGetArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellLayout a) =>
+    a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> m (Maybe Gtk.CellArea.CellArea)
+    {- ^ __Returns:__ the cell area used by /@cellLayout@/,
+or 'Nothing' in case no cell area is used. -}
+cellLayoutGetArea cellLayout = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    result <- gtk_cell_layout_get_area cellLayout'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.CellArea.CellArea) result'
+        return result''
+    touchManagedPtr cellLayout
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data CellLayoutGetAreaMethodInfo
+instance (signature ~ (m (Maybe Gtk.CellArea.CellArea)), MonadIO m, IsCellLayout a) => O.MethodInfo CellLayoutGetAreaMethodInfo a signature where
+    overloadedMethod _ = cellLayoutGetArea
+
+#endif
+
+-- method CellLayout::get_cells
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "CellRenderer"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_layout_get_cells" gtk_cell_layout_get_cells :: 
+    Ptr CellLayout ->                       -- cell_layout : TInterface (Name {namespace = "Gtk", name = "CellLayout"})
+    IO (Ptr (GList (Ptr Gtk.CellRenderer.CellRenderer)))
+
+{- |
+Returns the cell renderers which have been added to /@cellLayout@/.
+
+/Since: 2.12/
+-}
+cellLayoutGetCells ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellLayout a) =>
+    a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> m [Gtk.CellRenderer.CellRenderer]
+    {- ^ __Returns:__ 
+    a list of cell renderers. The list, but not the renderers has
+    been newly allocated and should be freed with @/g_list_free()/@
+    when no longer needed. -}
+cellLayoutGetCells cellLayout = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    result <- gtk_cell_layout_get_cells cellLayout'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.CellRenderer.CellRenderer) result'
+    g_list_free result
+    touchManagedPtr cellLayout
+    return result''
+
+#if ENABLE_OVERLOADING
+data CellLayoutGetCellsMethodInfo
+instance (signature ~ (m [Gtk.CellRenderer.CellRenderer]), MonadIO m, IsCellLayout a) => O.MethodInfo CellLayoutGetCellsMethodInfo a signature where
+    overloadedMethod _ = cellLayoutGetCells
+
+#endif
+
+-- method CellLayout::pack_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if @cell is to be given extra space allocated to @cell_layout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_layout_pack_end" gtk_cell_layout_pack_end :: 
+    Ptr CellLayout ->                       -- cell_layout : TInterface (Name {namespace = "Gtk", name = "CellLayout"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Adds the /@cell@/ to the end of /@cellLayout@/. If /@expand@/ is 'False', then the
+/@cell@/ is allocated no more space than it needs. Any unused space is
+divided evenly between cells for which /@expand@/ is 'True'.
+
+Note that reusing the same cell renderer is not supported.
+
+/Since: 2.4/
+-}
+cellLayoutPackEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> b
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Bool
+    {- ^ /@expand@/: 'True' if /@cell@/ is to be given extra space allocated to /@cellLayout@/ -}
+    -> m ()
+cellLayoutPackEnd cellLayout cell expand = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    cell' <- unsafeManagedPtrCastPtr cell
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_cell_layout_pack_end cellLayout' cell' expand'
+    touchManagedPtr cellLayout
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellLayoutPackEndMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellLayoutPackEndMethodInfo a signature where
+    overloadedMethod _ = cellLayoutPackEnd
+
+#endif
+
+-- method CellLayout::pack_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if @cell is to be given extra space allocated to @cell_layout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_layout_pack_start" gtk_cell_layout_pack_start :: 
+    Ptr CellLayout ->                       -- cell_layout : TInterface (Name {namespace = "Gtk", name = "CellLayout"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Packs the /@cell@/ into the beginning of /@cellLayout@/. If /@expand@/ is 'False',
+then the /@cell@/ is allocated no more space than it needs. Any unused space
+is divided evenly between cells for which /@expand@/ is 'True'.
+
+Note that reusing the same cell renderer is not supported.
+
+/Since: 2.4/
+-}
+cellLayoutPackStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> b
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Bool
+    {- ^ /@expand@/: 'True' if /@cell@/ is to be given extra space allocated to /@cellLayout@/ -}
+    -> m ()
+cellLayoutPackStart cellLayout cell expand = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    cell' <- unsafeManagedPtrCastPtr cell
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_cell_layout_pack_start cellLayout' cell' expand'
+    touchManagedPtr cellLayout
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellLayoutPackStartMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellLayoutPackStartMethodInfo a signature where
+    overloadedMethod _ = cellLayoutPackStart
+
+#endif
+
+-- method CellLayout::reorder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer to reorder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new position to insert @cell at", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_layout_reorder" gtk_cell_layout_reorder :: 
+    Ptr CellLayout ->                       -- cell_layout : TInterface (Name {namespace = "Gtk", name = "CellLayout"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Re-inserts /@cell@/ at /@position@/.
+
+Note that /@cell@/ has already to be packed into /@cellLayout@/
+for this to function properly.
+
+/Since: 2.4/
+-}
+cellLayoutReorder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> b
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' to reorder -}
+    -> Int32
+    {- ^ /@position@/: new position to insert /@cell@/ at -}
+    -> m ()
+cellLayoutReorder cellLayout cell position = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    cell' <- unsafeManagedPtrCastPtr cell
+    gtk_cell_layout_reorder cellLayout' cell' position
+    touchManagedPtr cellLayout
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellLayoutReorderMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellLayoutReorderMethodInfo a signature where
+    overloadedMethod _ = cellLayoutReorder
+
+#endif
+
+-- method CellLayout::set_cell_data_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_layout", argType = TInterface (Name {namespace = "Gtk", name = "CellLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "CellLayoutDataFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkCellLayoutDataFunc to use, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notify for @func_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_layout_set_cell_data_func" gtk_cell_layout_set_cell_data_func :: 
+    Ptr CellLayout ->                       -- cell_layout : TInterface (Name {namespace = "Gtk", name = "CellLayout"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    FunPtr Gtk.Callbacks.C_CellLayoutDataFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "CellLayoutDataFunc"})
+    Ptr () ->                               -- func_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Callbacks.CellLayoutDataFunc' to use for /@cellLayout@/.
+
+This function is used instead of the standard attributes mapping
+for setting the column value, and should set the value of /@cellLayout@/’s
+cell renderer(s) as appropriate.
+
+/@func@/ may be 'Nothing' to remove a previously set function.
+
+/Since: 2.4/
+-}
+cellLayoutSetCellDataFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@cellLayout@/: a 'GI.Gtk.Interfaces.CellLayout.CellLayout' -}
+    -> b
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Maybe (Gtk.Callbacks.CellLayoutDataFunc)
+    {- ^ /@func@/: the 'GI.Gtk.Callbacks.CellLayoutDataFunc' to use, or 'Nothing' -}
+    -> m ()
+cellLayoutSetCellDataFunc cellLayout cell func = liftIO $ do
+    cellLayout' <- unsafeManagedPtrCastPtr cellLayout
+    cell' <- unsafeManagedPtrCastPtr cell
+    maybeFunc <- case func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFunc -> do
+            jFunc' <- Gtk.Callbacks.mk_CellLayoutDataFunc (Gtk.Callbacks.wrap_CellLayoutDataFunc Nothing (Gtk.Callbacks.drop_closures_CellLayoutDataFunc jFunc))
+            return jFunc'
+    let funcData = castFunPtrToPtr maybeFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_cell_layout_set_cell_data_func cellLayout' cell' maybeFunc funcData destroy
+    touchManagedPtr cellLayout
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellLayoutSetCellDataFuncMethodInfo
+instance (signature ~ (b -> Maybe (Gtk.Callbacks.CellLayoutDataFunc) -> m ()), MonadIO m, IsCellLayout a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellLayoutSetCellDataFuncMethodInfo a signature where
+    overloadedMethod _ = cellLayoutSetCellDataFunc
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/CellLayout.hs-boot b/GI/Gtk/Interfaces/CellLayout.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/CellLayout.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.CellLayout where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellLayout = CellLayout (ManagedPtr CellLayout)
+instance GObject CellLayout where
+class (GObject o, O.IsDescendantOf CellLayout o) => IsCellLayout o
+instance (GObject o, O.IsDescendantOf CellLayout o) => IsCellLayout o
+instance O.HasParentTypes CellLayout
+#if ENABLE_OVERLOADING
+data CellLayoutAddAttributeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellLayoutClearMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellLayoutClearAttributesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellLayoutGetAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellLayoutGetCellsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellLayoutPackEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellLayoutPackStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellLayoutReorderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellLayoutSetCellDataFuncMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/ColorChooser.hs b/GI/Gtk/Interfaces/ColorChooser.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/ColorChooser.hs
@@ -0,0 +1,653 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Interfaces.ColorChooser.ColorChooser' is an interface that is implemented by widgets
+for choosing colors. Depending on the situation, colors may be
+allowed to have alpha (translucency).
+
+In GTK+, the main widgets that implement this interface are
+'GI.Gtk.Objects.ColorChooserWidget.ColorChooserWidget', 'GI.Gtk.Objects.ColorChooserDialog.ColorChooserDialog' and 'GI.Gtk.Objects.ColorButton.ColorButton'.
+
+/Since: 3.4/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.ColorChooser
+    ( 
+
+-- * Exported types
+    ColorChooser(..)                        ,
+    noColorChooser                          ,
+    IsColorChooser                          ,
+    toColorChooser                          ,
+
+
+ -- * Methods
+-- ** addPalette #method:addPalette#
+
+#if ENABLE_OVERLOADING
+    ColorChooserAddPaletteMethodInfo        ,
+#endif
+    colorChooserAddPalette                  ,
+
+
+-- ** getRgba #method:getRgba#
+
+#if ENABLE_OVERLOADING
+    ColorChooserGetRgbaMethodInfo           ,
+#endif
+    colorChooserGetRgba                     ,
+
+
+-- ** getUseAlpha #method:getUseAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorChooserGetUseAlphaMethodInfo       ,
+#endif
+    colorChooserGetUseAlpha                 ,
+
+
+-- ** setRgba #method:setRgba#
+
+#if ENABLE_OVERLOADING
+    ColorChooserSetRgbaMethodInfo           ,
+#endif
+    colorChooserSetRgba                     ,
+
+
+-- ** setUseAlpha #method:setUseAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorChooserSetUseAlphaMethodInfo       ,
+#endif
+    colorChooserSetUseAlpha                 ,
+
+
+
+
+ -- * Properties
+-- ** rgba #attr:rgba#
+{- | The ::rgba property contains the currently selected color,
+as a 'GI.Gdk.Structs.RGBA.RGBA' struct. The property can be set to change
+the current selection programmatically.
+
+/Since: 3.4/
+-}
+#if ENABLE_OVERLOADING
+    ColorChooserRgbaPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    colorChooserRgba                        ,
+#endif
+    constructColorChooserRgba               ,
+    getColorChooserRgba                     ,
+    setColorChooserRgba                     ,
+
+
+-- ** useAlpha #attr:useAlpha#
+{- | When ::use-alpha is 'True', colors may have alpha (translucency)
+information. When it is 'False', the 'GI.Gdk.Structs.RGBA.RGBA' struct obtained
+via the 'GI.Gtk.Interfaces.ColorChooser.ColorChooser':@/rgba/@ property will be forced to have
+alpha == 1.
+
+Implementations are expected to show alpha by rendering the color
+over a non-uniform background (like a checkerboard pattern).
+
+/Since: 3.4/
+-}
+#if ENABLE_OVERLOADING
+    ColorChooserUseAlphaPropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    colorChooserUseAlpha                    ,
+#endif
+    constructColorChooserUseAlpha           ,
+    getColorChooserUseAlpha                 ,
+    setColorChooserUseAlpha                 ,
+
+
+
+
+ -- * Signals
+-- ** colorActivated #signal:colorActivated#
+
+    C_ColorChooserColorActivatedCallback    ,
+    ColorChooserColorActivatedCallback      ,
+#if ENABLE_OVERLOADING
+    ColorChooserColorActivatedSignalInfo    ,
+#endif
+    afterColorChooserColorActivated         ,
+    genClosure_ColorChooserColorActivated   ,
+    mk_ColorChooserColorActivatedCallback   ,
+    noColorChooserColorActivatedCallback    ,
+    onColorChooserColorActivated            ,
+    wrap_ColorChooserColorActivatedCallback ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+
+-- interface ColorChooser 
+-- | Memory-managed wrapper type.
+newtype ColorChooser = ColorChooser (ManagedPtr ColorChooser)
+-- | A convenience alias for `Nothing` :: `Maybe` `ColorChooser`.
+noColorChooser :: Maybe ColorChooser
+noColorChooser = Nothing
+
+-- signal ColorChooser::color-activated
+{- |
+Emitted when a color is activated from the color chooser.
+This usually happens when the user clicks a color swatch,
+or a color is selected and the user presses one of the keys
+Space, Shift+Space, Return or Enter.
+
+/Since: 3.4/
+-}
+type ColorChooserColorActivatedCallback =
+    Gdk.RGBA.RGBA
+    {- ^ /@color@/: the color -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ColorChooserColorActivatedCallback`@.
+noColorChooserColorActivatedCallback :: Maybe ColorChooserColorActivatedCallback
+noColorChooserColorActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ColorChooserColorActivatedCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.RGBA.RGBA ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ColorChooserColorActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_ColorChooserColorActivatedCallback :: C_ColorChooserColorActivatedCallback -> IO (FunPtr C_ColorChooserColorActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ColorChooserColorActivated :: MonadIO m => ColorChooserColorActivatedCallback -> m (GClosure C_ColorChooserColorActivatedCallback)
+genClosure_ColorChooserColorActivated cb = liftIO $ do
+    let cb' = wrap_ColorChooserColorActivatedCallback cb
+    mk_ColorChooserColorActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ColorChooserColorActivatedCallback` into a `C_ColorChooserColorActivatedCallback`.
+wrap_ColorChooserColorActivatedCallback ::
+    ColorChooserColorActivatedCallback ->
+    C_ColorChooserColorActivatedCallback
+wrap_ColorChooserColorActivatedCallback _cb _ color _ = do
+    B.ManagedPtr.withTransient Gdk.RGBA.RGBA color $ \color' -> do
+        _cb  color'
+
+
+{- |
+Connect a signal handler for the “@color-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' colorChooser #colorActivated callback
+@
+-}
+onColorChooserColorActivated :: (IsColorChooser a, MonadIO m) => a -> ColorChooserColorActivatedCallback -> m SignalHandlerId
+onColorChooserColorActivated obj cb = liftIO $ do
+    let cb' = wrap_ColorChooserColorActivatedCallback cb
+    cb'' <- mk_ColorChooserColorActivatedCallback cb'
+    connectSignalFunPtr obj "color-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@color-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' colorChooser #colorActivated callback
+@
+-}
+afterColorChooserColorActivated :: (IsColorChooser a, MonadIO m) => a -> ColorChooserColorActivatedCallback -> m SignalHandlerId
+afterColorChooserColorActivated obj cb = liftIO $ do
+    let cb' = wrap_ColorChooserColorActivatedCallback cb
+    cb'' <- mk_ColorChooserColorActivatedCallback cb'
+    connectSignalFunPtr obj "color-activated" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+data ColorChooserColorActivatedSignalInfo
+instance SignalInfo ColorChooserColorActivatedSignalInfo where
+    type HaskellCallbackType ColorChooserColorActivatedSignalInfo = ColorChooserColorActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ColorChooserColorActivatedCallback cb
+        cb'' <- mk_ColorChooserColorActivatedCallback cb'
+        connectSignalFunPtr obj "color-activated" cb'' connectMode
+
+type instance O.SignalList ColorChooser = ColorChooserSignalList
+type ColorChooserSignalList = ('[ '("colorActivated", ColorChooserColorActivatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_color_chooser_get_type"
+    c_gtk_color_chooser_get_type :: IO GType
+
+instance GObject ColorChooser where
+    gobjectType = c_gtk_color_chooser_get_type
+    
+
+-- | Type class for types which can be safely cast to `ColorChooser`, for instance with `toColorChooser`.
+class (GObject o, O.IsDescendantOf ColorChooser o) => IsColorChooser o
+instance (GObject o, O.IsDescendantOf ColorChooser o) => IsColorChooser o
+
+instance O.HasParentTypes ColorChooser
+type instance O.ParentTypes ColorChooser = '[GObject.Object.Object]
+
+-- | Cast to `ColorChooser`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toColorChooser :: (MonadIO m, IsColorChooser o) => o -> m ColorChooser
+toColorChooser = liftIO . unsafeCastTo ColorChooser
+
+-- VVV Prop "rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorChooser #rgba
+@
+-}
+getColorChooserRgba :: (MonadIO m, IsColorChooser o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getColorChooserRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorChooser [ #rgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorChooserRgba :: (MonadIO m, IsColorChooser o) => o -> Gdk.RGBA.RGBA -> m ()
+setColorChooserRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorChooserRgba :: (IsColorChooser o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructColorChooserRgba val = B.Properties.constructObjectPropertyBoxed "rgba" (Just val)
+
+#if ENABLE_OVERLOADING
+data ColorChooserRgbaPropertyInfo
+instance AttrInfo ColorChooserRgbaPropertyInfo where
+    type AttrAllowedOps ColorChooserRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorChooserRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint ColorChooserRgbaPropertyInfo = IsColorChooser
+    type AttrGetType ColorChooserRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel ColorChooserRgbaPropertyInfo = "rgba"
+    type AttrOrigin ColorChooserRgbaPropertyInfo = ColorChooser
+    attrGet _ = getColorChooserRgba
+    attrSet _ = setColorChooserRgba
+    attrConstruct _ = constructColorChooserRgba
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-alpha"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorChooser #useAlpha
+@
+-}
+getColorChooserUseAlpha :: (MonadIO m, IsColorChooser o) => o -> m Bool
+getColorChooserUseAlpha obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-alpha"
+
+{- |
+Set the value of the “@use-alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorChooser [ #useAlpha 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorChooserUseAlpha :: (MonadIO m, IsColorChooser o) => o -> Bool -> m ()
+setColorChooserUseAlpha obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-alpha" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-alpha@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorChooserUseAlpha :: (IsColorChooser o) => Bool -> IO (GValueConstruct o)
+constructColorChooserUseAlpha val = B.Properties.constructObjectPropertyBool "use-alpha" val
+
+#if ENABLE_OVERLOADING
+data ColorChooserUseAlphaPropertyInfo
+instance AttrInfo ColorChooserUseAlphaPropertyInfo where
+    type AttrAllowedOps ColorChooserUseAlphaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorChooserUseAlphaPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ColorChooserUseAlphaPropertyInfo = IsColorChooser
+    type AttrGetType ColorChooserUseAlphaPropertyInfo = Bool
+    type AttrLabel ColorChooserUseAlphaPropertyInfo = "use-alpha"
+    type AttrOrigin ColorChooserUseAlphaPropertyInfo = ColorChooser
+    attrGet _ = getColorChooserUseAlpha
+    attrSet _ = setColorChooserUseAlpha
+    attrConstruct _ = constructColorChooserUseAlpha
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ColorChooser
+type instance O.AttributeList ColorChooser = ColorChooserAttributeList
+type ColorChooserAttributeList = ('[ '("rgba", ColorChooserRgbaPropertyInfo), '("useAlpha", ColorChooserUseAlphaPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+colorChooserRgba :: AttrLabelProxy "rgba"
+colorChooserRgba = AttrLabelProxy
+
+colorChooserUseAlpha :: AttrLabelProxy "useAlpha"
+colorChooserUseAlpha = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveColorChooserMethod (t :: Symbol) (o :: *) :: * where
+    ResolveColorChooserMethod "addPalette" o = ColorChooserAddPaletteMethodInfo
+    ResolveColorChooserMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveColorChooserMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveColorChooserMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveColorChooserMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveColorChooserMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveColorChooserMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveColorChooserMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveColorChooserMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveColorChooserMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveColorChooserMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveColorChooserMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveColorChooserMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveColorChooserMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveColorChooserMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveColorChooserMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveColorChooserMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveColorChooserMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveColorChooserMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveColorChooserMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveColorChooserMethod "getRgba" o = ColorChooserGetRgbaMethodInfo
+    ResolveColorChooserMethod "getUseAlpha" o = ColorChooserGetUseAlphaMethodInfo
+    ResolveColorChooserMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveColorChooserMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveColorChooserMethod "setRgba" o = ColorChooserSetRgbaMethodInfo
+    ResolveColorChooserMethod "setUseAlpha" o = ColorChooserSetUseAlphaMethodInfo
+    ResolveColorChooserMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveColorChooserMethod t ColorChooser, O.MethodInfo info ColorChooser p) => OL.IsLabel t (ColorChooser -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method ColorChooser::add_palette
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "ColorChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%GTK_ORIENTATION_HORIZONTAL if the palette should\n    be displayed in rows, %GTK_ORIENTATION_VERTICAL for columns", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "colors_per_line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of colors to show in each row/column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the total number of elements in @colors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "colors", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "Gdk", name = "RGBA"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the colors of the palette, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the total number of elements in @colors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_chooser_add_palette" gtk_color_chooser_add_palette :: 
+    Ptr ColorChooser ->                     -- chooser : TInterface (Name {namespace = "Gtk", name = "ColorChooser"})
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    Int32 ->                                -- colors_per_line : TBasicType TInt
+    Int32 ->                                -- n_colors : TBasicType TInt
+    Ptr Gdk.RGBA.RGBA ->                    -- colors : TCArray False (-1) 3 (TInterface (Name {namespace = "Gdk", name = "RGBA"}))
+    IO ()
+
+{- |
+Adds a palette to the color chooser. If /@orientation@/ is horizontal,
+the colors are grouped in rows, with /@colorsPerLine@/ colors
+in each row. If /@horizontal@/ is 'False', the colors are grouped
+in columns instead.
+
+The default color palette of 'GI.Gtk.Objects.ColorChooserWidget.ColorChooserWidget' has
+27 colors, organized in columns of 3 colors. The default gray
+palette has 9 grays in a single row.
+
+The layout of the color chooser widget works best when the
+palettes have 9-10 columns.
+
+Calling this function for the first time has the
+side effect of removing the default color and gray palettes
+from the color chooser.
+
+If /@colors@/ is 'Nothing', removes all previously added palettes.
+
+/Since: 3.4/
+-}
+colorChooserAddPalette ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.ColorChooser.ColorChooser' -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: 'GI.Gtk.Enums.OrientationHorizontal' if the palette should
+    be displayed in rows, 'GI.Gtk.Enums.OrientationVertical' for columns -}
+    -> Int32
+    {- ^ /@colorsPerLine@/: the number of colors to show in each row\/column -}
+    -> Maybe ([Gdk.RGBA.RGBA])
+    {- ^ /@colors@/: the colors of the palette, or 'Nothing' -}
+    -> m ()
+colorChooserAddPalette chooser orientation colorsPerLine colors = liftIO $ do
+    let nColors = case colors of
+            Nothing -> 0
+            Just jColors -> fromIntegral $ length jColors
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let orientation' = (fromIntegral . fromEnum) orientation
+    maybeColors <- case colors of
+        Nothing -> return nullPtr
+        Just jColors -> do
+            jColors' <- mapM unsafeManagedPtrGetPtr jColors
+            jColors'' <- packBlockArray 32 jColors'
+            return jColors''
+    gtk_color_chooser_add_palette chooser' orientation' colorsPerLine nColors maybeColors
+    touchManagedPtr chooser
+    whenJust colors (mapM_ touchManagedPtr)
+    freeMem maybeColors
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorChooserAddPaletteMethodInfo
+instance (signature ~ (Gtk.Enums.Orientation -> Int32 -> Maybe ([Gdk.RGBA.RGBA]) -> m ()), MonadIO m, IsColorChooser a) => O.MethodInfo ColorChooserAddPaletteMethodInfo a signature where
+    overloadedMethod _ = colorChooserAddPalette
+
+#endif
+
+-- method ColorChooser::get_rgba
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "ColorChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA to fill in with the current color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_chooser_get_rgba" gtk_color_chooser_get_rgba :: 
+    Ptr ColorChooser ->                     -- chooser : TInterface (Name {namespace = "Gtk", name = "ColorChooser"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{- |
+Gets the currently-selected color.
+
+/Since: 3.4/
+-}
+colorChooserGetRgba ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.ColorChooser.ColorChooser' -}
+    -> m (Gdk.RGBA.RGBA)
+colorChooserGetRgba chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    gtk_color_chooser_get_rgba chooser' color
+    color' <- (wrapBoxed Gdk.RGBA.RGBA) color
+    touchManagedPtr chooser
+    return color'
+
+#if ENABLE_OVERLOADING
+data ColorChooserGetRgbaMethodInfo
+instance (signature ~ (m (Gdk.RGBA.RGBA)), MonadIO m, IsColorChooser a) => O.MethodInfo ColorChooserGetRgbaMethodInfo a signature where
+    overloadedMethod _ = colorChooserGetRgba
+
+#endif
+
+-- method ColorChooser::get_use_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "ColorChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_chooser_get_use_alpha" gtk_color_chooser_get_use_alpha :: 
+    Ptr ColorChooser ->                     -- chooser : TInterface (Name {namespace = "Gtk", name = "ColorChooser"})
+    IO CInt
+
+{- |
+Returns whether the color chooser shows the alpha channel.
+
+/Since: 3.4/
+-}
+colorChooserGetUseAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.ColorChooser.ColorChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the color chooser uses the alpha channel,
+    'False' if not -}
+colorChooserGetUseAlpha chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_color_chooser_get_use_alpha chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data ColorChooserGetUseAlphaMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsColorChooser a) => O.MethodInfo ColorChooserGetUseAlphaMethodInfo a signature where
+    overloadedMethod _ = colorChooserGetUseAlpha
+
+#endif
+
+-- method ColorChooser::set_rgba
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "ColorChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_chooser_set_rgba" gtk_color_chooser_set_rgba :: 
+    Ptr ColorChooser ->                     -- chooser : TInterface (Name {namespace = "Gtk", name = "ColorChooser"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{- |
+Sets the color.
+
+/Since: 3.4/
+-}
+colorChooserSetRgba ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.ColorChooser.ColorChooser' -}
+    -> Gdk.RGBA.RGBA
+    {- ^ /@color@/: the new color -}
+    -> m ()
+colorChooserSetRgba chooser color = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    color' <- unsafeManagedPtrGetPtr color
+    gtk_color_chooser_set_rgba chooser' color'
+    touchManagedPtr chooser
+    touchManagedPtr color
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorChooserSetRgbaMethodInfo
+instance (signature ~ (Gdk.RGBA.RGBA -> m ()), MonadIO m, IsColorChooser a) => O.MethodInfo ColorChooserSetRgbaMethodInfo a signature where
+    overloadedMethod _ = colorChooserSetRgba
+
+#endif
+
+-- method ColorChooser::set_use_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "ColorChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_alpha", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if color chooser should use alpha channel, %FALSE if not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_chooser_set_use_alpha" gtk_color_chooser_set_use_alpha :: 
+    Ptr ColorChooser ->                     -- chooser : TInterface (Name {namespace = "Gtk", name = "ColorChooser"})
+    CInt ->                                 -- use_alpha : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether or not the color chooser should use the alpha channel.
+
+/Since: 3.4/
+-}
+colorChooserSetUseAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.ColorChooser.ColorChooser' -}
+    -> Bool
+    {- ^ /@useAlpha@/: 'True' if color chooser should use alpha channel, 'False' if not -}
+    -> m ()
+colorChooserSetUseAlpha chooser useAlpha = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let useAlpha' = (fromIntegral . fromEnum) useAlpha
+    gtk_color_chooser_set_use_alpha chooser' useAlpha'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorChooserSetUseAlphaMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsColorChooser a) => O.MethodInfo ColorChooserSetUseAlphaMethodInfo a signature where
+    overloadedMethod _ = colorChooserSetUseAlpha
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/ColorChooser.hs-boot b/GI/Gtk/Interfaces/ColorChooser.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/ColorChooser.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.ColorChooser where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ColorChooser = ColorChooser (ManagedPtr ColorChooser)
+#if ENABLE_OVERLOADING
+data ColorChooserColorActivatedSignalInfo
+#endif
+instance GObject ColorChooser where
+class (GObject o, O.IsDescendantOf ColorChooser o) => IsColorChooser o
+instance (GObject o, O.IsDescendantOf ColorChooser o) => IsColorChooser o
+instance O.HasParentTypes ColorChooser
+#if ENABLE_OVERLOADING
+data ColorChooserRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorChooserUseAlphaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorChooserAddPaletteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorChooserGetRgbaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorChooserGetUseAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorChooserSetRgbaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorChooserSetUseAlphaMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/Editable.hs b/GI/Gtk/Interfaces/Editable.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Editable.hs
@@ -0,0 +1,1116 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Interfaces.Editable.Editable' interface is an interface which should be implemented by
+text editing widgets, such as 'GI.Gtk.Objects.Entry.Entry' and 'GI.Gtk.Objects.SpinButton.SpinButton'. It contains functions
+for generically manipulating an editable widget, a large number of action
+signals used for key bindings, and several signals that an application can
+connect to to modify the behavior of a widget.
+
+As an example of the latter usage, by connecting
+the following handler to 'GI.Gtk.Interfaces.Editable.Editable'::@/insert-text/@, an application
+can convert all entry into a widget into uppercase.
+
+== Forcing entry to uppercase.
+
+
+=== /C code/
+>
+>#include <ctype.h>;
+>
+>void
+>insert_text_handler (GtkEditable *editable,
+>                     const gchar *text,
+>                     gint         length,
+>                     gint        *position,
+>                     gpointer     data)
+>{
+>  gchar *result = g_utf8_strup (text, length);
+>
+>  g_signal_handlers_block_by_func (editable,
+>                               (gpointer) insert_text_handler, data);
+>  gtk_editable_insert_text (editable, result, length, position);
+>  g_signal_handlers_unblock_by_func (editable,
+>                                     (gpointer) insert_text_handler, data);
+>
+>  g_signal_stop_emission_by_name (editable, "insert_text");
+>
+>  g_free (result);
+>}
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.Editable
+    ( 
+
+-- * Exported types
+    Editable(..)                            ,
+    noEditable                              ,
+    IsEditable                              ,
+    toEditable                              ,
+
+
+ -- * Methods
+-- ** copyClipboard #method:copyClipboard#
+
+#if ENABLE_OVERLOADING
+    EditableCopyClipboardMethodInfo         ,
+#endif
+    editableCopyClipboard                   ,
+
+
+-- ** cutClipboard #method:cutClipboard#
+
+#if ENABLE_OVERLOADING
+    EditableCutClipboardMethodInfo          ,
+#endif
+    editableCutClipboard                    ,
+
+
+-- ** deleteSelection #method:deleteSelection#
+
+#if ENABLE_OVERLOADING
+    EditableDeleteSelectionMethodInfo       ,
+#endif
+    editableDeleteSelection                 ,
+
+
+-- ** deleteText #method:deleteText#
+
+#if ENABLE_OVERLOADING
+    EditableDeleteTextMethodInfo            ,
+#endif
+    editableDeleteText                      ,
+
+
+-- ** getChars #method:getChars#
+
+#if ENABLE_OVERLOADING
+    EditableGetCharsMethodInfo              ,
+#endif
+    editableGetChars                        ,
+
+
+-- ** getEditable #method:getEditable#
+
+#if ENABLE_OVERLOADING
+    EditableGetEditableMethodInfo           ,
+#endif
+    editableGetEditable                     ,
+
+
+-- ** getPosition #method:getPosition#
+
+#if ENABLE_OVERLOADING
+    EditableGetPositionMethodInfo           ,
+#endif
+    editableGetPosition                     ,
+
+
+-- ** getSelectionBounds #method:getSelectionBounds#
+
+#if ENABLE_OVERLOADING
+    EditableGetSelectionBoundsMethodInfo    ,
+#endif
+    editableGetSelectionBounds              ,
+
+
+-- ** insertText #method:insertText#
+
+#if ENABLE_OVERLOADING
+    EditableInsertTextMethodInfo            ,
+#endif
+    editableInsertText                      ,
+
+
+-- ** pasteClipboard #method:pasteClipboard#
+
+#if ENABLE_OVERLOADING
+    EditablePasteClipboardMethodInfo        ,
+#endif
+    editablePasteClipboard                  ,
+
+
+-- ** selectRegion #method:selectRegion#
+
+#if ENABLE_OVERLOADING
+    EditableSelectRegionMethodInfo          ,
+#endif
+    editableSelectRegion                    ,
+
+
+-- ** setEditable #method:setEditable#
+
+#if ENABLE_OVERLOADING
+    EditableSetEditableMethodInfo           ,
+#endif
+    editableSetEditable                     ,
+
+
+-- ** setPosition #method:setPosition#
+
+#if ENABLE_OVERLOADING
+    EditableSetPositionMethodInfo           ,
+#endif
+    editableSetPosition                     ,
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    C_EditableChangedCallback               ,
+    EditableChangedCallback                 ,
+#if ENABLE_OVERLOADING
+    EditableChangedSignalInfo               ,
+#endif
+    afterEditableChanged                    ,
+    genClosure_EditableChanged              ,
+    mk_EditableChangedCallback              ,
+    noEditableChangedCallback               ,
+    onEditableChanged                       ,
+    wrap_EditableChangedCallback            ,
+
+
+-- ** deleteText #signal:deleteText#
+
+    C_EditableDeleteTextCallback            ,
+    EditableDeleteTextCallback              ,
+#if ENABLE_OVERLOADING
+    EditableDeleteTextSignalInfo            ,
+#endif
+    afterEditableDeleteText                 ,
+    genClosure_EditableDeleteText           ,
+    mk_EditableDeleteTextCallback           ,
+    noEditableDeleteTextCallback            ,
+    onEditableDeleteText                    ,
+    wrap_EditableDeleteTextCallback         ,
+
+
+-- ** insertText #signal:insertText#
+
+    C_EditableInsertTextCallback            ,
+    EditableInsertTextCallback              ,
+#if ENABLE_OVERLOADING
+    EditableInsertTextSignalInfo            ,
+#endif
+    afterEditableInsertText                 ,
+    genClosure_EditableInsertText           ,
+    mk_EditableInsertTextCallback           ,
+    noEditableInsertTextCallback            ,
+    onEditableInsertText                    ,
+    wrap_EditableInsertTextCallback         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+
+-- interface Editable 
+-- | Memory-managed wrapper type.
+newtype Editable = Editable (ManagedPtr Editable)
+-- | A convenience alias for `Nothing` :: `Maybe` `Editable`.
+noEditable :: Maybe Editable
+noEditable = Nothing
+
+-- signal Editable::changed
+{- |
+The ::changed signal is emitted at the end of a single
+user-visible operation on the contents of the 'GI.Gtk.Interfaces.Editable.Editable'.
+
+E.g., a paste operation that replaces the contents of the
+selection will cause only one signal emission (even though it
+is implemented by first deleting the selection, then inserting
+the new content, and may cause multiple ::notify::text signals
+to be emitted).
+-}
+type EditableChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EditableChangedCallback`@.
+noEditableChangedCallback :: Maybe EditableChangedCallback
+noEditableChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EditableChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EditableChangedCallback`.
+foreign import ccall "wrapper"
+    mk_EditableChangedCallback :: C_EditableChangedCallback -> IO (FunPtr C_EditableChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EditableChanged :: MonadIO m => EditableChangedCallback -> m (GClosure C_EditableChangedCallback)
+genClosure_EditableChanged cb = liftIO $ do
+    let cb' = wrap_EditableChangedCallback cb
+    mk_EditableChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EditableChangedCallback` into a `C_EditableChangedCallback`.
+wrap_EditableChangedCallback ::
+    EditableChangedCallback ->
+    C_EditableChangedCallback
+wrap_EditableChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' editable #changed callback
+@
+-}
+onEditableChanged :: (IsEditable a, MonadIO m) => a -> EditableChangedCallback -> m SignalHandlerId
+onEditableChanged obj cb = liftIO $ do
+    let cb' = wrap_EditableChangedCallback cb
+    cb'' <- mk_EditableChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' editable #changed callback
+@
+-}
+afterEditableChanged :: (IsEditable a, MonadIO m) => a -> EditableChangedCallback -> m SignalHandlerId
+afterEditableChanged obj cb = liftIO $ do
+    let cb' = wrap_EditableChangedCallback cb
+    cb'' <- mk_EditableChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- signal Editable::delete-text
+{- |
+This signal is emitted when text is deleted from
+the widget by the user. The default handler for
+this signal will normally be responsible for deleting
+the text, so by connecting to this signal and then
+stopping the signal with 'GI.GObject.Functions.signalStopEmission', it
+is possible to modify the range of deleted text, or
+prevent it from being deleted entirely. The /@startPos@/
+and /@endPos@/ parameters are interpreted as for
+'GI.Gtk.Interfaces.Editable.editableDeleteText'.
+-}
+type EditableDeleteTextCallback =
+    Int32
+    {- ^ /@startPos@/: the starting position -}
+    -> Int32
+    {- ^ /@endPos@/: the end position -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EditableDeleteTextCallback`@.
+noEditableDeleteTextCallback :: Maybe EditableDeleteTextCallback
+noEditableDeleteTextCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EditableDeleteTextCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EditableDeleteTextCallback`.
+foreign import ccall "wrapper"
+    mk_EditableDeleteTextCallback :: C_EditableDeleteTextCallback -> IO (FunPtr C_EditableDeleteTextCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EditableDeleteText :: MonadIO m => EditableDeleteTextCallback -> m (GClosure C_EditableDeleteTextCallback)
+genClosure_EditableDeleteText cb = liftIO $ do
+    let cb' = wrap_EditableDeleteTextCallback cb
+    mk_EditableDeleteTextCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EditableDeleteTextCallback` into a `C_EditableDeleteTextCallback`.
+wrap_EditableDeleteTextCallback ::
+    EditableDeleteTextCallback ->
+    C_EditableDeleteTextCallback
+wrap_EditableDeleteTextCallback _cb _ startPos endPos _ = do
+    _cb  startPos endPos
+
+
+{- |
+Connect a signal handler for the “@delete-text@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' editable #deleteText callback
+@
+-}
+onEditableDeleteText :: (IsEditable a, MonadIO m) => a -> EditableDeleteTextCallback -> m SignalHandlerId
+onEditableDeleteText obj cb = liftIO $ do
+    let cb' = wrap_EditableDeleteTextCallback cb
+    cb'' <- mk_EditableDeleteTextCallback cb'
+    connectSignalFunPtr obj "delete-text" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@delete-text@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' editable #deleteText callback
+@
+-}
+afterEditableDeleteText :: (IsEditable a, MonadIO m) => a -> EditableDeleteTextCallback -> m SignalHandlerId
+afterEditableDeleteText obj cb = liftIO $ do
+    let cb' = wrap_EditableDeleteTextCallback cb
+    cb'' <- mk_EditableDeleteTextCallback cb'
+    connectSignalFunPtr obj "delete-text" cb'' SignalConnectAfter
+
+
+-- signal Editable::insert-text
+{- |
+This signal is emitted when text is inserted into
+the widget by the user. The default handler for
+this signal will normally be responsible for inserting
+the text, so by connecting to this signal and then
+stopping the signal with 'GI.GObject.Functions.signalStopEmission', it
+is possible to modify the inserted text, or prevent
+it from being inserted entirely.
+-}
+type EditableInsertTextCallback =
+    T.Text
+    {- ^ /@newText@/: the new text to insert -}
+    -> Int32
+    {- ^ /@newTextLength@/: the length of the new text, in bytes,
+    or -1 if new_text is nul-terminated -}
+    -> Int32
+    {- ^ /@position@/: the position, in characters,
+    at which to insert the new text. this is an in-out
+    parameter.  After the signal emission is finished, it
+    should point after the newly inserted text. -}
+    -> IO (Int32)
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EditableInsertTextCallback`@.
+noEditableInsertTextCallback :: Maybe EditableInsertTextCallback
+noEditableInsertTextCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EditableInsertTextCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Int32 ->
+    Ptr Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EditableInsertTextCallback`.
+foreign import ccall "wrapper"
+    mk_EditableInsertTextCallback :: C_EditableInsertTextCallback -> IO (FunPtr C_EditableInsertTextCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EditableInsertText :: MonadIO m => EditableInsertTextCallback -> m (GClosure C_EditableInsertTextCallback)
+genClosure_EditableInsertText cb = liftIO $ do
+    let cb' = wrap_EditableInsertTextCallback cb
+    mk_EditableInsertTextCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EditableInsertTextCallback` into a `C_EditableInsertTextCallback`.
+wrap_EditableInsertTextCallback ::
+    EditableInsertTextCallback ->
+    C_EditableInsertTextCallback
+wrap_EditableInsertTextCallback _cb _ newText newTextLength position _ = do
+    newText' <- cstringToText newText
+    position' <- peek position
+    outposition <- _cb  newText' newTextLength position'
+    poke position outposition
+
+
+{- |
+Connect a signal handler for the “@insert-text@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' editable #insertText callback
+@
+-}
+onEditableInsertText :: (IsEditable a, MonadIO m) => a -> EditableInsertTextCallback -> m SignalHandlerId
+onEditableInsertText obj cb = liftIO $ do
+    let cb' = wrap_EditableInsertTextCallback cb
+    cb'' <- mk_EditableInsertTextCallback cb'
+    connectSignalFunPtr obj "insert-text" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert-text@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' editable #insertText callback
+@
+-}
+afterEditableInsertText :: (IsEditable a, MonadIO m) => a -> EditableInsertTextCallback -> m SignalHandlerId
+afterEditableInsertText obj cb = liftIO $ do
+    let cb' = wrap_EditableInsertTextCallback cb
+    cb'' <- mk_EditableInsertTextCallback cb'
+    connectSignalFunPtr obj "insert-text" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+data EditableChangedSignalInfo
+instance SignalInfo EditableChangedSignalInfo where
+    type HaskellCallbackType EditableChangedSignalInfo = EditableChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EditableChangedCallback cb
+        cb'' <- mk_EditableChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+data EditableDeleteTextSignalInfo
+instance SignalInfo EditableDeleteTextSignalInfo where
+    type HaskellCallbackType EditableDeleteTextSignalInfo = EditableDeleteTextCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EditableDeleteTextCallback cb
+        cb'' <- mk_EditableDeleteTextCallback cb'
+        connectSignalFunPtr obj "delete-text" cb'' connectMode
+
+data EditableInsertTextSignalInfo
+instance SignalInfo EditableInsertTextSignalInfo where
+    type HaskellCallbackType EditableInsertTextSignalInfo = EditableInsertTextCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EditableInsertTextCallback cb
+        cb'' <- mk_EditableInsertTextCallback cb'
+        connectSignalFunPtr obj "insert-text" cb'' connectMode
+
+type instance O.SignalList Editable = EditableSignalList
+type EditableSignalList = ('[ '("changed", EditableChangedSignalInfo), '("deleteText", EditableDeleteTextSignalInfo), '("insertText", EditableInsertTextSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_editable_get_type"
+    c_gtk_editable_get_type :: IO GType
+
+instance GObject Editable where
+    gobjectType = c_gtk_editable_get_type
+    
+
+-- | Type class for types which can be safely cast to `Editable`, for instance with `toEditable`.
+class (GObject o, O.IsDescendantOf Editable o) => IsEditable o
+instance (GObject o, O.IsDescendantOf Editable o) => IsEditable o
+
+instance O.HasParentTypes Editable
+type instance O.ParentTypes Editable = '[GObject.Object.Object]
+
+-- | Cast to `Editable`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEditable :: (MonadIO m, IsEditable o) => o -> m Editable
+toEditable = liftIO . unsafeCastTo Editable
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Editable
+type instance O.AttributeList Editable = EditableAttributeList
+type EditableAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveEditableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEditableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEditableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEditableMethod "copyClipboard" o = EditableCopyClipboardMethodInfo
+    ResolveEditableMethod "cutClipboard" o = EditableCutClipboardMethodInfo
+    ResolveEditableMethod "deleteSelection" o = EditableDeleteSelectionMethodInfo
+    ResolveEditableMethod "deleteText" o = EditableDeleteTextMethodInfo
+    ResolveEditableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEditableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEditableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEditableMethod "insertText" o = EditableInsertTextMethodInfo
+    ResolveEditableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEditableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEditableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEditableMethod "pasteClipboard" o = EditablePasteClipboardMethodInfo
+    ResolveEditableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEditableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEditableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEditableMethod "selectRegion" o = EditableSelectRegionMethodInfo
+    ResolveEditableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEditableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEditableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEditableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEditableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEditableMethod "getChars" o = EditableGetCharsMethodInfo
+    ResolveEditableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEditableMethod "getEditable" o = EditableGetEditableMethodInfo
+    ResolveEditableMethod "getPosition" o = EditableGetPositionMethodInfo
+    ResolveEditableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEditableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEditableMethod "getSelectionBounds" o = EditableGetSelectionBoundsMethodInfo
+    ResolveEditableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEditableMethod "setEditable" o = EditableSetEditableMethodInfo
+    ResolveEditableMethod "setPosition" o = EditableSetPositionMethodInfo
+    ResolveEditableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEditableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEditableMethod t Editable, O.MethodInfo info Editable p) => OL.IsLabel t (Editable -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method Editable::copy_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_copy_clipboard" gtk_editable_copy_clipboard :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    IO ()
+
+{- |
+Copies the contents of the currently selected content in the editable and
+puts it on the clipboard.
+-}
+editableCopyClipboard ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> m ()
+editableCopyClipboard editable = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    gtk_editable_copy_clipboard editable'
+    touchManagedPtr editable
+    return ()
+
+#if ENABLE_OVERLOADING
+data EditableCopyClipboardMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableCopyClipboardMethodInfo a signature where
+    overloadedMethod _ = editableCopyClipboard
+
+#endif
+
+-- method Editable::cut_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_cut_clipboard" gtk_editable_cut_clipboard :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    IO ()
+
+{- |
+Removes the contents of the currently selected content in the editable and
+puts it on the clipboard.
+-}
+editableCutClipboard ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> m ()
+editableCutClipboard editable = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    gtk_editable_cut_clipboard editable'
+    touchManagedPtr editable
+    return ()
+
+#if ENABLE_OVERLOADING
+data EditableCutClipboardMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableCutClipboardMethodInfo a signature where
+    overloadedMethod _ = editableCutClipboard
+
+#endif
+
+-- method Editable::delete_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_delete_selection" gtk_editable_delete_selection :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    IO ()
+
+{- |
+Deletes the currently selected text of the editable.
+This call doesn’t do anything if there is no selected text.
+-}
+editableDeleteSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> m ()
+editableDeleteSelection editable = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    gtk_editable_delete_selection editable'
+    touchManagedPtr editable
+    return ()
+
+#if ENABLE_OVERLOADING
+data EditableDeleteSelectionMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableDeleteSelectionMethodInfo a signature where
+    overloadedMethod _ = editableDeleteSelection
+
+#endif
+
+-- method Editable::delete_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_delete_text" gtk_editable_delete_text :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    Int32 ->                                -- start_pos : TBasicType TInt
+    Int32 ->                                -- end_pos : TBasicType TInt
+    IO ()
+
+{- |
+Deletes a sequence of characters. The characters that are deleted are
+those characters at positions from /@startPos@/ up to, but not including
+/@endPos@/. If /@endPos@/ is negative, then the characters deleted
+are those from /@startPos@/ to the end of the text.
+
+Note that the positions are specified in characters, not bytes.
+-}
+editableDeleteText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> Int32
+    {- ^ /@startPos@/: start position -}
+    -> Int32
+    {- ^ /@endPos@/: end position -}
+    -> m ()
+editableDeleteText editable startPos endPos = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    gtk_editable_delete_text editable' startPos endPos
+    touchManagedPtr editable
+    return ()
+
+#if ENABLE_OVERLOADING
+data EditableDeleteTextMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableDeleteTextMethodInfo a signature where
+    overloadedMethod _ = editableDeleteText
+
+#endif
+
+-- method Editable::get_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_get_chars" gtk_editable_get_chars :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    Int32 ->                                -- start_pos : TBasicType TInt
+    Int32 ->                                -- end_pos : TBasicType TInt
+    IO CString
+
+{- |
+Retrieves a sequence of characters. The characters that are retrieved
+are those characters at positions from /@startPos@/ up to, but not
+including /@endPos@/. If /@endPos@/ is negative, then the characters
+retrieved are those characters from /@startPos@/ to the end of the text.
+
+Note that positions are specified in characters, not bytes.
+-}
+editableGetChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> Int32
+    {- ^ /@startPos@/: start of text -}
+    -> Int32
+    {- ^ /@endPos@/: end of text -}
+    -> m T.Text
+    {- ^ __Returns:__ a pointer to the contents of the widget as a
+     string. This string is allocated by the 'GI.Gtk.Interfaces.Editable.Editable'
+     implementation and should be freed by the caller. -}
+editableGetChars editable startPos endPos = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    result <- gtk_editable_get_chars editable' startPos endPos
+    checkUnexpectedReturnNULL "editableGetChars" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr editable
+    return result'
+
+#if ENABLE_OVERLOADING
+data EditableGetCharsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m T.Text), MonadIO m, IsEditable a) => O.MethodInfo EditableGetCharsMethodInfo a signature where
+    overloadedMethod _ = editableGetChars
+
+#endif
+
+-- method Editable::get_editable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_get_editable" gtk_editable_get_editable :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    IO CInt
+
+{- |
+Retrieves whether /@editable@/ is editable. See
+'GI.Gtk.Interfaces.Editable.editableSetEditable'.
+-}
+editableGetEditable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@editable@/ is editable. -}
+editableGetEditable editable = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    result <- gtk_editable_get_editable editable'
+    let result' = (/= 0) result
+    touchManagedPtr editable
+    return result'
+
+#if ENABLE_OVERLOADING
+data EditableGetEditableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEditable a) => O.MethodInfo EditableGetEditableMethodInfo a signature where
+    overloadedMethod _ = editableGetEditable
+
+#endif
+
+-- method Editable::get_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_get_position" gtk_editable_get_position :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    IO Int32
+
+{- |
+Retrieves the current position of the cursor relative to the start
+of the content of the editable.
+
+Note that this position is in characters, not in bytes.
+-}
+editableGetPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> m Int32
+    {- ^ __Returns:__ the cursor position -}
+editableGetPosition editable = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    result <- gtk_editable_get_position editable'
+    touchManagedPtr editable
+    return result
+
+#if ENABLE_OVERLOADING
+data EditableGetPositionMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsEditable a) => O.MethodInfo EditableGetPositionMethodInfo a signature where
+    overloadedMethod _ = editableGetPosition
+
+#endif
+
+-- method Editable::get_selection_bounds
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the starting position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_pos", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the end position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_get_selection_bounds" gtk_editable_get_selection_bounds :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    Ptr Int32 ->                            -- start_pos : TBasicType TInt
+    Ptr Int32 ->                            -- end_pos : TBasicType TInt
+    IO CInt
+
+{- |
+Retrieves the selection bound of the editable. start_pos will be filled
+with the start of the selection and /@endPos@/ with end. If no text was
+selected both will be identical and 'False' will be returned.
+
+Note that positions are specified in characters, not bytes.
+-}
+editableGetSelectionBounds ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> m ((Bool, Int32, Int32))
+    {- ^ __Returns:__ 'True' if an area is selected, 'False' otherwise -}
+editableGetSelectionBounds editable = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    startPos <- allocMem :: IO (Ptr Int32)
+    endPos <- allocMem :: IO (Ptr Int32)
+    result <- gtk_editable_get_selection_bounds editable' startPos endPos
+    let result' = (/= 0) result
+    startPos' <- peek startPos
+    endPos' <- peek endPos
+    touchManagedPtr editable
+    freeMem startPos
+    freeMem endPos
+    return (result', startPos', endPos')
+
+#if ENABLE_OVERLOADING
+data EditableGetSelectionBoundsMethodInfo
+instance (signature ~ (m ((Bool, Int32, Int32))), MonadIO m, IsEditable a) => O.MethodInfo EditableGetSelectionBoundsMethodInfo a signature where
+    overloadedMethod _ = editableGetSelectionBounds
+
+#endif
+
+-- method Editable::insert_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to append", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_text_length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the text in bytes, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location of the position text will be inserted at", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_insert_text" gtk_editable_insert_text :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    CString ->                              -- new_text : TBasicType TUTF8
+    Int32 ->                                -- new_text_length : TBasicType TInt
+    Ptr Int32 ->                            -- position : TBasicType TInt
+    IO ()
+
+{- |
+Inserts /@newTextLength@/ bytes of /@newText@/ into the contents of the
+widget, at position /@position@/.
+
+Note that the position is in characters, not in bytes.
+The function updates /@position@/ to point after the newly inserted text.
+-}
+editableInsertText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> T.Text
+    {- ^ /@newText@/: the text to append -}
+    -> Int32
+    {- ^ /@newTextLength@/: the length of the text in bytes, or -1 -}
+    -> Int32
+    {- ^ /@position@/: location of the position text will be inserted at -}
+    -> m (Int32)
+editableInsertText editable newText newTextLength position = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    newText' <- textToCString newText
+    position' <- allocMem :: IO (Ptr Int32)
+    poke position' position
+    gtk_editable_insert_text editable' newText' newTextLength position'
+    position'' <- peek position'
+    touchManagedPtr editable
+    freeMem newText'
+    freeMem position'
+    return position''
+
+#if ENABLE_OVERLOADING
+data EditableInsertTextMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Int32 -> m (Int32)), MonadIO m, IsEditable a) => O.MethodInfo EditableInsertTextMethodInfo a signature where
+    overloadedMethod _ = editableInsertText
+
+#endif
+
+-- method Editable::paste_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_paste_clipboard" gtk_editable_paste_clipboard :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    IO ()
+
+{- |
+Pastes the content of the clipboard to the current position of the
+cursor in the editable.
+-}
+editablePasteClipboard ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> m ()
+editablePasteClipboard editable = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    gtk_editable_paste_clipboard editable'
+    touchManagedPtr editable
+    return ()
+
+#if ENABLE_OVERLOADING
+data EditablePasteClipboardMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEditable a) => O.MethodInfo EditablePasteClipboardMethodInfo a signature where
+    overloadedMethod _ = editablePasteClipboard
+
+#endif
+
+-- method Editable::select_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_select_region" gtk_editable_select_region :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    Int32 ->                                -- start_pos : TBasicType TInt
+    Int32 ->                                -- end_pos : TBasicType TInt
+    IO ()
+
+{- |
+Selects a region of text. The characters that are selected are
+those characters at positions from /@startPos@/ up to, but not
+including /@endPos@/. If /@endPos@/ is negative, then the
+characters selected are those characters from /@startPos@/ to
+the end of the text.
+
+Note that positions are specified in characters, not bytes.
+-}
+editableSelectRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> Int32
+    {- ^ /@startPos@/: start of region -}
+    -> Int32
+    {- ^ /@endPos@/: end of region -}
+    -> m ()
+editableSelectRegion editable startPos endPos = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    gtk_editable_select_region editable' startPos endPos
+    touchManagedPtr editable
+    return ()
+
+#if ENABLE_OVERLOADING
+data EditableSelectRegionMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableSelectRegionMethodInfo a signature where
+    overloadedMethod _ = editableSelectRegion
+
+#endif
+
+-- method Editable::set_editable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_editable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the user is allowed to edit the text\n  in the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_set_editable" gtk_editable_set_editable :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    CInt ->                                 -- is_editable : TBasicType TBoolean
+    IO ()
+
+{- |
+Determines if the user can edit the text in the editable
+widget or not.
+-}
+editableSetEditable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> Bool
+    {- ^ /@isEditable@/: 'True' if the user is allowed to edit the text
+  in the widget -}
+    -> m ()
+editableSetEditable editable isEditable = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    let isEditable' = (fromIntegral . fromEnum) isEditable
+    gtk_editable_set_editable editable' isEditable'
+    touchManagedPtr editable
+    return ()
+
+#if ENABLE_OVERLOADING
+data EditableSetEditableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableSetEditableMethodInfo a signature where
+    overloadedMethod _ = editableSetEditable
+
+#endif
+
+-- method Editable::set_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "editable", argType = TInterface (Name {namespace = "Gtk", name = "Editable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEditable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position of the cursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_editable_set_position" gtk_editable_set_position :: 
+    Ptr Editable ->                         -- editable : TInterface (Name {namespace = "Gtk", name = "Editable"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Sets the cursor position in the editable to the given value.
+
+The cursor is displayed before the character with the given (base 0)
+index in the contents of the editable. The value must be less than or
+equal to the number of characters in the editable. A value of -1
+indicates that the position should be set after the last character
+of the editable. Note that /@position@/ is in characters, not in bytes.
+-}
+editableSetPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEditable a) =>
+    a
+    {- ^ /@editable@/: a 'GI.Gtk.Interfaces.Editable.Editable' -}
+    -> Int32
+    {- ^ /@position@/: the position of the cursor -}
+    -> m ()
+editableSetPosition editable position = liftIO $ do
+    editable' <- unsafeManagedPtrCastPtr editable
+    gtk_editable_set_position editable' position
+    touchManagedPtr editable
+    return ()
+
+#if ENABLE_OVERLOADING
+data EditableSetPositionMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsEditable a) => O.MethodInfo EditableSetPositionMethodInfo a signature where
+    overloadedMethod _ = editableSetPosition
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/Editable.hs-boot b/GI/Gtk/Interfaces/Editable.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Editable.hs-boot
@@ -0,0 +1,77 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.Editable where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Editable = Editable (ManagedPtr Editable)
+#if ENABLE_OVERLOADING
+data EditableChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableDeleteTextSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableInsertTextSignalInfo
+#endif
+instance GObject Editable where
+class (GObject o, O.IsDescendantOf Editable o) => IsEditable o
+instance (GObject o, O.IsDescendantOf Editable o) => IsEditable o
+instance O.HasParentTypes Editable
+#if ENABLE_OVERLOADING
+data EditableCopyClipboardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableCutClipboardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableDeleteSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableDeleteTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableGetCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableGetEditableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableGetPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableGetSelectionBoundsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableInsertTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditablePasteClipboardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableSelectRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableSetEditableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EditableSetPositionMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/FileChooser.hs b/GI/Gtk/Interfaces/FileChooser.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/FileChooser.hs
@@ -0,0 +1,4977 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Interfaces.FileChooser.FileChooser' is an interface that can be implemented by file
+selection widgets.  In GTK+, the main objects that implement this
+interface are 'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget', 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog', and
+'GI.Gtk.Objects.FileChooserButton.FileChooserButton'.  You do not need to write an object that
+implements the 'GI.Gtk.Interfaces.FileChooser.FileChooser' interface unless you are trying to
+adapt an existing file selector to expose a standard programming
+interface.
+
+'GI.Gtk.Interfaces.FileChooser.FileChooser' allows for shortcuts to various places in the filesystem.
+In the default implementation these are displayed in the left pane. It
+may be a bit confusing at first that these shortcuts come from various
+sources and in various flavours, so lets explain the terminology here:
+
+* Bookmarks: are created by the user, by dragging folders from the
+right pane to the left pane, or by using the “Add”. Bookmarks
+can be renamed and deleted by the user.
+* Shortcuts: can be provided by the application. For example, a Paint
+program may want to add a shortcut for a Clipart folder. Shortcuts
+cannot be modified by the user.
+* Volumes: are provided by the underlying filesystem abstraction. They are
+the “roots” of the filesystem.
+
+
+= File Names and Encodings
+
+When the user is finished selecting files in a
+'GI.Gtk.Interfaces.FileChooser.FileChooser', your program can get the selected names
+either as filenames or as URIs.  For URIs, the normal escaping
+rules are applied if the URI contains non-ASCII characters.
+However, filenames are always returned in
+the character set specified by the
+@G_FILENAME_ENCODING@ environment variable.
+Please see the GLib documentation for more details about this
+variable.
+
+This means that while you can pass the result of
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetFilename' to @/open()/@ or @/fopen()/@,
+you may not be able to directly set it as the text of a
+'GI.Gtk.Objects.Label.Label' widget unless you convert it first to UTF-8,
+which all GTK+ widgets expect. You should use 'GI.GLib.Functions.filenameToUtf8'
+to convert filenames into strings that can be passed to GTK+
+widgets.
+
+= Adding a Preview Widget
+
+You can add a custom preview widget to a file chooser and then
+get notification about when the preview needs to be updated.
+To install a preview widget, use
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget'.  Then, connect to the
+'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/update-preview/@ signal to get notified when
+you need to update the contents of the preview.
+
+Your callback should use
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetPreviewFilename' to see what needs
+previewing.  Once you have generated the preview for the
+corresponding file, you must call
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidgetActive' with a boolean
+flag that indicates whether your callback could successfully
+generate a preview.
+
+## Example: Using a Preview Widget ## {@/gtkfilechooser/@-preview}
+
+=== /C code/
+>
+>{
+>  GtkImage *preview;
+>
+>  ...
+>
+>  preview = gtk_image_new ();
+>
+>  gtk_file_chooser_set_preview_widget (my_file_chooser, preview);
+>  g_signal_connect (my_file_chooser, "update-preview",
+>		    G_CALLBACK (update_preview_cb), preview);
+>}
+>
+>static void
+>update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
+>{
+>  GtkWidget *preview;
+>  char *filename;
+>  GdkPixbuf *pixbuf;
+>  gboolean have_preview;
+>
+>  preview = GTK_WIDGET (data);
+>  filename = gtk_file_chooser_get_preview_filename (file_chooser);
+>
+>  pixbuf = gdk_pixbuf_new_from_file_at_size (filename, 128, 128, NULL);
+>  have_preview = (pixbuf != NULL);
+>  g_free (filename);
+>
+>  gtk_image_set_from_pixbuf (GTK_IMAGE (preview), pixbuf);
+>  if (pixbuf)
+>    g_object_unref (pixbuf);
+>
+>  gtk_file_chooser_set_preview_widget_active (file_chooser, have_preview);
+>}
+
+
+= Adding Extra Widgets
+
+You can add extra widgets to a file chooser to provide options
+that are not present in the default design.  For example, you
+can add a toggle button to give the user the option to open a
+file in read-only mode.  You can use
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetExtraWidget' to insert additional
+widgets in a file chooser.
+
+An example for adding extra widgets:
+
+=== /C code/
+>
+>
+>  GtkWidget *toggle;
+>
+>  ...
+>
+>  toggle = gtk_check_button_new_with_label ("Open file read-only");
+>  gtk_widget_show (toggle);
+>  gtk_file_chooser_set_extra_widget (my_file_chooser, toggle);
+>}
+
+
+If you want to set more than one extra widget in the file
+chooser, you can a container such as a 'GI.Gtk.Objects.Box.Box' or a 'GI.Gtk.Objects.Grid.Grid'
+and include your widgets in it.  Then, set the container as
+the whole extra widget.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.FileChooser
+    ( 
+
+-- * Exported types
+    FileChooser(..)                         ,
+    noFileChooser                           ,
+    IsFileChooser                           ,
+    toFileChooser                           ,
+
+
+ -- * Methods
+-- ** addChoice #method:addChoice#
+
+#if ENABLE_OVERLOADING
+    FileChooserAddChoiceMethodInfo          ,
+#endif
+    fileChooserAddChoice                    ,
+
+
+-- ** addFilter #method:addFilter#
+
+#if ENABLE_OVERLOADING
+    FileChooserAddFilterMethodInfo          ,
+#endif
+    fileChooserAddFilter                    ,
+
+
+-- ** addShortcutFolder #method:addShortcutFolder#
+
+#if ENABLE_OVERLOADING
+    FileChooserAddShortcutFolderMethodInfo  ,
+#endif
+    fileChooserAddShortcutFolder            ,
+
+
+-- ** addShortcutFolderUri #method:addShortcutFolderUri#
+
+#if ENABLE_OVERLOADING
+    FileChooserAddShortcutFolderUriMethodInfo,
+#endif
+    fileChooserAddShortcutFolderUri         ,
+
+
+-- ** getAction #method:getAction#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetActionMethodInfo          ,
+#endif
+    fileChooserGetAction                    ,
+
+
+-- ** getChoice #method:getChoice#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetChoiceMethodInfo          ,
+#endif
+    fileChooserGetChoice                    ,
+
+
+-- ** getCreateFolders #method:getCreateFolders#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetCreateFoldersMethodInfo   ,
+#endif
+    fileChooserGetCreateFolders             ,
+
+
+-- ** getCurrentFolder #method:getCurrentFolder#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetCurrentFolderMethodInfo   ,
+#endif
+    fileChooserGetCurrentFolder             ,
+
+
+-- ** getCurrentFolderFile #method:getCurrentFolderFile#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetCurrentFolderFileMethodInfo,
+#endif
+    fileChooserGetCurrentFolderFile         ,
+
+
+-- ** getCurrentFolderUri #method:getCurrentFolderUri#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetCurrentFolderUriMethodInfo,
+#endif
+    fileChooserGetCurrentFolderUri          ,
+
+
+-- ** getCurrentName #method:getCurrentName#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetCurrentNameMethodInfo     ,
+#endif
+    fileChooserGetCurrentName               ,
+
+
+-- ** getDoOverwriteConfirmation #method:getDoOverwriteConfirmation#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetDoOverwriteConfirmationMethodInfo,
+#endif
+    fileChooserGetDoOverwriteConfirmation   ,
+
+
+-- ** getExtraWidget #method:getExtraWidget#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetExtraWidgetMethodInfo     ,
+#endif
+    fileChooserGetExtraWidget               ,
+
+
+-- ** getFile #method:getFile#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetFileMethodInfo            ,
+#endif
+    fileChooserGetFile                      ,
+
+
+-- ** getFilename #method:getFilename#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetFilenameMethodInfo        ,
+#endif
+    fileChooserGetFilename                  ,
+
+
+-- ** getFilenames #method:getFilenames#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetFilenamesMethodInfo       ,
+#endif
+    fileChooserGetFilenames                 ,
+
+
+-- ** getFiles #method:getFiles#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetFilesMethodInfo           ,
+#endif
+    fileChooserGetFiles                     ,
+
+
+-- ** getFilter #method:getFilter#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetFilterMethodInfo          ,
+#endif
+    fileChooserGetFilter                    ,
+
+
+-- ** getLocalOnly #method:getLocalOnly#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetLocalOnlyMethodInfo       ,
+#endif
+    fileChooserGetLocalOnly                 ,
+
+
+-- ** getPreviewFile #method:getPreviewFile#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetPreviewFileMethodInfo     ,
+#endif
+    fileChooserGetPreviewFile               ,
+
+
+-- ** getPreviewFilename #method:getPreviewFilename#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetPreviewFilenameMethodInfo ,
+#endif
+    fileChooserGetPreviewFilename           ,
+
+
+-- ** getPreviewUri #method:getPreviewUri#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetPreviewUriMethodInfo      ,
+#endif
+    fileChooserGetPreviewUri                ,
+
+
+-- ** getPreviewWidget #method:getPreviewWidget#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetPreviewWidgetMethodInfo   ,
+#endif
+    fileChooserGetPreviewWidget             ,
+
+
+-- ** getPreviewWidgetActive #method:getPreviewWidgetActive#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetPreviewWidgetActiveMethodInfo,
+#endif
+    fileChooserGetPreviewWidgetActive       ,
+
+
+-- ** getSelectMultiple #method:getSelectMultiple#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetSelectMultipleMethodInfo  ,
+#endif
+    fileChooserGetSelectMultiple            ,
+
+
+-- ** getShowHidden #method:getShowHidden#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetShowHiddenMethodInfo      ,
+#endif
+    fileChooserGetShowHidden                ,
+
+
+-- ** getUri #method:getUri#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetUriMethodInfo             ,
+#endif
+    fileChooserGetUri                       ,
+
+
+-- ** getUris #method:getUris#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetUrisMethodInfo            ,
+#endif
+    fileChooserGetUris                      ,
+
+
+-- ** getUsePreviewLabel #method:getUsePreviewLabel#
+
+#if ENABLE_OVERLOADING
+    FileChooserGetUsePreviewLabelMethodInfo ,
+#endif
+    fileChooserGetUsePreviewLabel           ,
+
+
+-- ** listFilters #method:listFilters#
+
+#if ENABLE_OVERLOADING
+    FileChooserListFiltersMethodInfo        ,
+#endif
+    fileChooserListFilters                  ,
+
+
+-- ** listShortcutFolderUris #method:listShortcutFolderUris#
+
+#if ENABLE_OVERLOADING
+    FileChooserListShortcutFolderUrisMethodInfo,
+#endif
+    fileChooserListShortcutFolderUris       ,
+
+
+-- ** listShortcutFolders #method:listShortcutFolders#
+
+#if ENABLE_OVERLOADING
+    FileChooserListShortcutFoldersMethodInfo,
+#endif
+    fileChooserListShortcutFolders          ,
+
+
+-- ** removeChoice #method:removeChoice#
+
+#if ENABLE_OVERLOADING
+    FileChooserRemoveChoiceMethodInfo       ,
+#endif
+    fileChooserRemoveChoice                 ,
+
+
+-- ** removeFilter #method:removeFilter#
+
+#if ENABLE_OVERLOADING
+    FileChooserRemoveFilterMethodInfo       ,
+#endif
+    fileChooserRemoveFilter                 ,
+
+
+-- ** removeShortcutFolder #method:removeShortcutFolder#
+
+#if ENABLE_OVERLOADING
+    FileChooserRemoveShortcutFolderMethodInfo,
+#endif
+    fileChooserRemoveShortcutFolder         ,
+
+
+-- ** removeShortcutFolderUri #method:removeShortcutFolderUri#
+
+#if ENABLE_OVERLOADING
+    FileChooserRemoveShortcutFolderUriMethodInfo,
+#endif
+    fileChooserRemoveShortcutFolderUri      ,
+
+
+-- ** selectAll #method:selectAll#
+
+#if ENABLE_OVERLOADING
+    FileChooserSelectAllMethodInfo          ,
+#endif
+    fileChooserSelectAll                    ,
+
+
+-- ** selectFile #method:selectFile#
+
+#if ENABLE_OVERLOADING
+    FileChooserSelectFileMethodInfo         ,
+#endif
+    fileChooserSelectFile                   ,
+
+
+-- ** selectFilename #method:selectFilename#
+
+#if ENABLE_OVERLOADING
+    FileChooserSelectFilenameMethodInfo     ,
+#endif
+    fileChooserSelectFilename               ,
+
+
+-- ** selectUri #method:selectUri#
+
+#if ENABLE_OVERLOADING
+    FileChooserSelectUriMethodInfo          ,
+#endif
+    fileChooserSelectUri                    ,
+
+
+-- ** setAction #method:setAction#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetActionMethodInfo          ,
+#endif
+    fileChooserSetAction                    ,
+
+
+-- ** setChoice #method:setChoice#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetChoiceMethodInfo          ,
+#endif
+    fileChooserSetChoice                    ,
+
+
+-- ** setCreateFolders #method:setCreateFolders#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetCreateFoldersMethodInfo   ,
+#endif
+    fileChooserSetCreateFolders             ,
+
+
+-- ** setCurrentFolder #method:setCurrentFolder#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetCurrentFolderMethodInfo   ,
+#endif
+    fileChooserSetCurrentFolder             ,
+
+
+-- ** setCurrentFolderFile #method:setCurrentFolderFile#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetCurrentFolderFileMethodInfo,
+#endif
+    fileChooserSetCurrentFolderFile         ,
+
+
+-- ** setCurrentFolderUri #method:setCurrentFolderUri#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetCurrentFolderUriMethodInfo,
+#endif
+    fileChooserSetCurrentFolderUri          ,
+
+
+-- ** setCurrentName #method:setCurrentName#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetCurrentNameMethodInfo     ,
+#endif
+    fileChooserSetCurrentName               ,
+
+
+-- ** setDoOverwriteConfirmation #method:setDoOverwriteConfirmation#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetDoOverwriteConfirmationMethodInfo,
+#endif
+    fileChooserSetDoOverwriteConfirmation   ,
+
+
+-- ** setExtraWidget #method:setExtraWidget#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetExtraWidgetMethodInfo     ,
+#endif
+    fileChooserSetExtraWidget               ,
+
+
+-- ** setFile #method:setFile#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetFileMethodInfo            ,
+#endif
+    fileChooserSetFile                      ,
+
+
+-- ** setFilename #method:setFilename#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetFilenameMethodInfo        ,
+#endif
+    fileChooserSetFilename                  ,
+
+
+-- ** setFilter #method:setFilter#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetFilterMethodInfo          ,
+#endif
+    fileChooserSetFilter                    ,
+
+
+-- ** setLocalOnly #method:setLocalOnly#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetLocalOnlyMethodInfo       ,
+#endif
+    fileChooserSetLocalOnly                 ,
+
+
+-- ** setPreviewWidget #method:setPreviewWidget#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetPreviewWidgetMethodInfo   ,
+#endif
+    fileChooserSetPreviewWidget             ,
+
+
+-- ** setPreviewWidgetActive #method:setPreviewWidgetActive#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetPreviewWidgetActiveMethodInfo,
+#endif
+    fileChooserSetPreviewWidgetActive       ,
+
+
+-- ** setSelectMultiple #method:setSelectMultiple#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetSelectMultipleMethodInfo  ,
+#endif
+    fileChooserSetSelectMultiple            ,
+
+
+-- ** setShowHidden #method:setShowHidden#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetShowHiddenMethodInfo      ,
+#endif
+    fileChooserSetShowHidden                ,
+
+
+-- ** setUri #method:setUri#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetUriMethodInfo             ,
+#endif
+    fileChooserSetUri                       ,
+
+
+-- ** setUsePreviewLabel #method:setUsePreviewLabel#
+
+#if ENABLE_OVERLOADING
+    FileChooserSetUsePreviewLabelMethodInfo ,
+#endif
+    fileChooserSetUsePreviewLabel           ,
+
+
+-- ** unselectAll #method:unselectAll#
+
+#if ENABLE_OVERLOADING
+    FileChooserUnselectAllMethodInfo        ,
+#endif
+    fileChooserUnselectAll                  ,
+
+
+-- ** unselectFile #method:unselectFile#
+
+#if ENABLE_OVERLOADING
+    FileChooserUnselectFileMethodInfo       ,
+#endif
+    fileChooserUnselectFile                 ,
+
+
+-- ** unselectFilename #method:unselectFilename#
+
+#if ENABLE_OVERLOADING
+    FileChooserUnselectFilenameMethodInfo   ,
+#endif
+    fileChooserUnselectFilename             ,
+
+
+-- ** unselectUri #method:unselectUri#
+
+#if ENABLE_OVERLOADING
+    FileChooserUnselectUriMethodInfo        ,
+#endif
+    fileChooserUnselectUri                  ,
+
+
+
+
+ -- * Properties
+-- ** action #attr:action#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserActionPropertyInfo           ,
+#endif
+    constructFileChooserAction              ,
+#if ENABLE_OVERLOADING
+    fileChooserAction                       ,
+#endif
+    getFileChooserAction                    ,
+    setFileChooserAction                    ,
+
+
+-- ** createFolders #attr:createFolders#
+{- | Whether a file chooser not in 'GI.Gtk.Enums.FileChooserActionOpen' mode
+will offer the user to create new folders.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    FileChooserCreateFoldersPropertyInfo    ,
+#endif
+    constructFileChooserCreateFolders       ,
+#if ENABLE_OVERLOADING
+    fileChooserCreateFolders                ,
+#endif
+    getFileChooserCreateFolders             ,
+    setFileChooserCreateFolders             ,
+
+
+-- ** doOverwriteConfirmation #attr:doOverwriteConfirmation#
+{- | Whether a file chooser in 'GI.Gtk.Enums.FileChooserActionSave' mode
+will present an overwrite confirmation dialog if the user
+selects a file name that already exists.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    FileChooserDoOverwriteConfirmationPropertyInfo,
+#endif
+    constructFileChooserDoOverwriteConfirmation,
+#if ENABLE_OVERLOADING
+    fileChooserDoOverwriteConfirmation      ,
+#endif
+    getFileChooserDoOverwriteConfirmation   ,
+    setFileChooserDoOverwriteConfirmation   ,
+
+
+-- ** extraWidget #attr:extraWidget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserExtraWidgetPropertyInfo      ,
+#endif
+    constructFileChooserExtraWidget         ,
+#if ENABLE_OVERLOADING
+    fileChooserExtraWidget                  ,
+#endif
+    getFileChooserExtraWidget               ,
+    setFileChooserExtraWidget               ,
+
+
+-- ** filter #attr:filter#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserFilterPropertyInfo           ,
+#endif
+    constructFileChooserFilter              ,
+#if ENABLE_OVERLOADING
+    fileChooserFilter                       ,
+#endif
+    getFileChooserFilter                    ,
+    setFileChooserFilter                    ,
+
+
+-- ** localOnly #attr:localOnly#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserLocalOnlyPropertyInfo        ,
+#endif
+    constructFileChooserLocalOnly           ,
+#if ENABLE_OVERLOADING
+    fileChooserLocalOnly                    ,
+#endif
+    getFileChooserLocalOnly                 ,
+    setFileChooserLocalOnly                 ,
+
+
+-- ** previewWidget #attr:previewWidget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserPreviewWidgetPropertyInfo    ,
+#endif
+    constructFileChooserPreviewWidget       ,
+#if ENABLE_OVERLOADING
+    fileChooserPreviewWidget                ,
+#endif
+    getFileChooserPreviewWidget             ,
+    setFileChooserPreviewWidget             ,
+
+
+-- ** previewWidgetActive #attr:previewWidgetActive#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserPreviewWidgetActivePropertyInfo,
+#endif
+    constructFileChooserPreviewWidgetActive ,
+#if ENABLE_OVERLOADING
+    fileChooserPreviewWidgetActive          ,
+#endif
+    getFileChooserPreviewWidgetActive       ,
+    setFileChooserPreviewWidgetActive       ,
+
+
+-- ** selectMultiple #attr:selectMultiple#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserSelectMultiplePropertyInfo   ,
+#endif
+    constructFileChooserSelectMultiple      ,
+#if ENABLE_OVERLOADING
+    fileChooserSelectMultiple               ,
+#endif
+    getFileChooserSelectMultiple            ,
+    setFileChooserSelectMultiple            ,
+
+
+-- ** showHidden #attr:showHidden#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserShowHiddenPropertyInfo       ,
+#endif
+    constructFileChooserShowHidden          ,
+#if ENABLE_OVERLOADING
+    fileChooserShowHidden                   ,
+#endif
+    getFileChooserShowHidden                ,
+    setFileChooserShowHidden                ,
+
+
+-- ** usePreviewLabel #attr:usePreviewLabel#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserUsePreviewLabelPropertyInfo  ,
+#endif
+    constructFileChooserUsePreviewLabel     ,
+#if ENABLE_OVERLOADING
+    fileChooserUsePreviewLabel              ,
+#endif
+    getFileChooserUsePreviewLabel           ,
+    setFileChooserUsePreviewLabel           ,
+
+
+
+
+ -- * Signals
+-- ** confirmOverwrite #signal:confirmOverwrite#
+
+    C_FileChooserConfirmOverwriteCallback   ,
+    FileChooserConfirmOverwriteCallback     ,
+#if ENABLE_OVERLOADING
+    FileChooserConfirmOverwriteSignalInfo   ,
+#endif
+    afterFileChooserConfirmOverwrite        ,
+    genClosure_FileChooserConfirmOverwrite  ,
+    mk_FileChooserConfirmOverwriteCallback  ,
+    noFileChooserConfirmOverwriteCallback   ,
+    onFileChooserConfirmOverwrite           ,
+    wrap_FileChooserConfirmOverwriteCallback,
+
+
+-- ** currentFolderChanged #signal:currentFolderChanged#
+
+    C_FileChooserCurrentFolderChangedCallback,
+    FileChooserCurrentFolderChangedCallback ,
+#if ENABLE_OVERLOADING
+    FileChooserCurrentFolderChangedSignalInfo,
+#endif
+    afterFileChooserCurrentFolderChanged    ,
+    genClosure_FileChooserCurrentFolderChanged,
+    mk_FileChooserCurrentFolderChangedCallback,
+    noFileChooserCurrentFolderChangedCallback,
+    onFileChooserCurrentFolderChanged       ,
+    wrap_FileChooserCurrentFolderChangedCallback,
+
+
+-- ** fileActivated #signal:fileActivated#
+
+    C_FileChooserFileActivatedCallback      ,
+    FileChooserFileActivatedCallback        ,
+#if ENABLE_OVERLOADING
+    FileChooserFileActivatedSignalInfo      ,
+#endif
+    afterFileChooserFileActivated           ,
+    genClosure_FileChooserFileActivated     ,
+    mk_FileChooserFileActivatedCallback     ,
+    noFileChooserFileActivatedCallback      ,
+    onFileChooserFileActivated              ,
+    wrap_FileChooserFileActivatedCallback   ,
+
+
+-- ** selectionChanged #signal:selectionChanged#
+
+    C_FileChooserSelectionChangedCallback   ,
+    FileChooserSelectionChangedCallback     ,
+#if ENABLE_OVERLOADING
+    FileChooserSelectionChangedSignalInfo   ,
+#endif
+    afterFileChooserSelectionChanged        ,
+    genClosure_FileChooserSelectionChanged  ,
+    mk_FileChooserSelectionChangedCallback  ,
+    noFileChooserSelectionChangedCallback   ,
+    onFileChooserSelectionChanged           ,
+    wrap_FileChooserSelectionChangedCallback,
+
+
+-- ** updatePreview #signal:updatePreview#
+
+    C_FileChooserUpdatePreviewCallback      ,
+    FileChooserUpdatePreviewCallback        ,
+#if ENABLE_OVERLOADING
+    FileChooserUpdatePreviewSignalInfo      ,
+#endif
+    afterFileChooserUpdatePreview           ,
+    genClosure_FileChooserUpdatePreview     ,
+    mk_FileChooserUpdatePreviewCallback     ,
+    noFileChooserUpdatePreviewCallback      ,
+    onFileChooserUpdatePreview              ,
+    wrap_FileChooserUpdatePreviewCallback   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.File as Gio.File
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.FileFilter as Gtk.FileFilter
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- interface FileChooser 
+-- | Memory-managed wrapper type.
+newtype FileChooser = FileChooser (ManagedPtr FileChooser)
+-- | A convenience alias for `Nothing` :: `Maybe` `FileChooser`.
+noFileChooser :: Maybe FileChooser
+noFileChooser = Nothing
+
+-- signal FileChooser::confirm-overwrite
+{- |
+This signal gets emitted whenever it is appropriate to present a
+confirmation dialog when the user has selected a file name that
+already exists.  The signal only gets emitted when the file
+chooser is in 'GI.Gtk.Enums.FileChooserActionSave' mode.
+
+Most applications just need to turn on the
+'GI.Gtk.Interfaces.FileChooser.FileChooser':@/do-overwrite-confirmation/@ property (or call the
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetDoOverwriteConfirmation' function), and
+they will automatically get a stock confirmation dialog.
+Applications which need to customize this behavior should do
+that, and also connect to the 'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/confirm-overwrite/@
+signal.
+
+A signal handler for this signal must return a
+'GI.Gtk.Enums.FileChooserConfirmation' value, which indicates the action to
+take.  If the handler determines that the user wants to select a
+different filename, it should return
+'GI.Gtk.Enums.FileChooserConfirmationSelectAgain'.  If it determines
+that the user is satisfied with his choice of file name, it
+should return 'GI.Gtk.Enums.FileChooserConfirmationAcceptFilename'.
+On the other hand, if it determines that the stock confirmation
+dialog should be used, it should return
+'GI.Gtk.Enums.FileChooserConfirmationConfirm'. The following example
+illustrates this.
+
+## Custom confirmation ## {@/gtkfilechooser/@-confirmation}
+
+
+=== /C code/
+>
+>static GtkFileChooserConfirmation
+>confirm_overwrite_callback (GtkFileChooser *chooser, gpointer data)
+>{
+>  char *uri;
+>
+>  uri = gtk_file_chooser_get_uri (chooser);
+>
+>  if (is_uri_read_only (uri))
+>    {
+>      if (user_wants_to_replace_read_only_file (uri))
+>        return GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME;
+>      else
+>        return GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN;
+>    } else
+>      return GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM; // fall back to the default dialog
+>}
+>
+>...
+>
+>chooser = gtk_file_chooser_dialog_new (...);
+>
+>gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
+>g_signal_connect (chooser, "confirm-overwrite",
+>                  G_CALLBACK (confirm_overwrite_callback), NULL);
+>
+>if (gtk_dialog_run (chooser) == GTK_RESPONSE_ACCEPT)
+>        save_to_file (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser));
+>
+>gtk_widget_destroy (chooser);
+
+
+/Since: 2.8/
+-}
+type FileChooserConfirmOverwriteCallback =
+    IO Gtk.Enums.FileChooserConfirmation
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.FileChooserConfirmation' value that indicates which
+ action to take after emitting the signal. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserConfirmOverwriteCallback`@.
+noFileChooserConfirmOverwriteCallback :: Maybe FileChooserConfirmOverwriteCallback
+noFileChooserConfirmOverwriteCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserConfirmOverwriteCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CUInt
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserConfirmOverwriteCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserConfirmOverwriteCallback :: C_FileChooserConfirmOverwriteCallback -> IO (FunPtr C_FileChooserConfirmOverwriteCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserConfirmOverwrite :: MonadIO m => FileChooserConfirmOverwriteCallback -> m (GClosure C_FileChooserConfirmOverwriteCallback)
+genClosure_FileChooserConfirmOverwrite cb = liftIO $ do
+    let cb' = wrap_FileChooserConfirmOverwriteCallback cb
+    mk_FileChooserConfirmOverwriteCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserConfirmOverwriteCallback` into a `C_FileChooserConfirmOverwriteCallback`.
+wrap_FileChooserConfirmOverwriteCallback ::
+    FileChooserConfirmOverwriteCallback ->
+    C_FileChooserConfirmOverwriteCallback
+wrap_FileChooserConfirmOverwriteCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@confirm-overwrite@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooser #confirmOverwrite callback
+@
+-}
+onFileChooserConfirmOverwrite :: (IsFileChooser a, MonadIO m) => a -> FileChooserConfirmOverwriteCallback -> m SignalHandlerId
+onFileChooserConfirmOverwrite obj cb = liftIO $ do
+    let cb' = wrap_FileChooserConfirmOverwriteCallback cb
+    cb'' <- mk_FileChooserConfirmOverwriteCallback cb'
+    connectSignalFunPtr obj "confirm-overwrite" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@confirm-overwrite@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooser #confirmOverwrite callback
+@
+-}
+afterFileChooserConfirmOverwrite :: (IsFileChooser a, MonadIO m) => a -> FileChooserConfirmOverwriteCallback -> m SignalHandlerId
+afterFileChooserConfirmOverwrite obj cb = liftIO $ do
+    let cb' = wrap_FileChooserConfirmOverwriteCallback cb
+    cb'' <- mk_FileChooserConfirmOverwriteCallback cb'
+    connectSignalFunPtr obj "confirm-overwrite" cb'' SignalConnectAfter
+
+
+-- signal FileChooser::current-folder-changed
+{- |
+This signal is emitted when the current folder in a 'GI.Gtk.Interfaces.FileChooser.FileChooser'
+changes.  This can happen due to the user performing some action that
+changes folders, such as selecting a bookmark or visiting a folder on the
+file list.  It can also happen as a result of calling a function to
+explicitly change the current folder in a file chooser.
+
+Normally you do not need to connect to this signal, unless you need to keep
+track of which folder a file chooser is showing.
+
+See also:  'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentFolder',
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetCurrentFolder',
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentFolderUri',
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetCurrentFolderUri'.
+-}
+type FileChooserCurrentFolderChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserCurrentFolderChangedCallback`@.
+noFileChooserCurrentFolderChangedCallback :: Maybe FileChooserCurrentFolderChangedCallback
+noFileChooserCurrentFolderChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserCurrentFolderChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserCurrentFolderChangedCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserCurrentFolderChangedCallback :: C_FileChooserCurrentFolderChangedCallback -> IO (FunPtr C_FileChooserCurrentFolderChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserCurrentFolderChanged :: MonadIO m => FileChooserCurrentFolderChangedCallback -> m (GClosure C_FileChooserCurrentFolderChangedCallback)
+genClosure_FileChooserCurrentFolderChanged cb = liftIO $ do
+    let cb' = wrap_FileChooserCurrentFolderChangedCallback cb
+    mk_FileChooserCurrentFolderChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserCurrentFolderChangedCallback` into a `C_FileChooserCurrentFolderChangedCallback`.
+wrap_FileChooserCurrentFolderChangedCallback ::
+    FileChooserCurrentFolderChangedCallback ->
+    C_FileChooserCurrentFolderChangedCallback
+wrap_FileChooserCurrentFolderChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@current-folder-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooser #currentFolderChanged callback
+@
+-}
+onFileChooserCurrentFolderChanged :: (IsFileChooser a, MonadIO m) => a -> FileChooserCurrentFolderChangedCallback -> m SignalHandlerId
+onFileChooserCurrentFolderChanged obj cb = liftIO $ do
+    let cb' = wrap_FileChooserCurrentFolderChangedCallback cb
+    cb'' <- mk_FileChooserCurrentFolderChangedCallback cb'
+    connectSignalFunPtr obj "current-folder-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@current-folder-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooser #currentFolderChanged callback
+@
+-}
+afterFileChooserCurrentFolderChanged :: (IsFileChooser a, MonadIO m) => a -> FileChooserCurrentFolderChangedCallback -> m SignalHandlerId
+afterFileChooserCurrentFolderChanged obj cb = liftIO $ do
+    let cb' = wrap_FileChooserCurrentFolderChangedCallback cb
+    cb'' <- mk_FileChooserCurrentFolderChangedCallback cb'
+    connectSignalFunPtr obj "current-folder-changed" cb'' SignalConnectAfter
+
+
+-- signal FileChooser::file-activated
+{- |
+This signal is emitted when the user \"activates\" a file in the file
+chooser.  This can happen by double-clicking on a file in the file list, or
+by pressing @Enter@.
+
+Normally you do not need to connect to this signal.  It is used internally
+by 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' to know when to activate the default button in the
+dialog.
+
+See also: 'GI.Gtk.Interfaces.FileChooser.fileChooserGetFilename',
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetFilenames', 'GI.Gtk.Interfaces.FileChooser.fileChooserGetUri',
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetUris'.
+-}
+type FileChooserFileActivatedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserFileActivatedCallback`@.
+noFileChooserFileActivatedCallback :: Maybe FileChooserFileActivatedCallback
+noFileChooserFileActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserFileActivatedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserFileActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserFileActivatedCallback :: C_FileChooserFileActivatedCallback -> IO (FunPtr C_FileChooserFileActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserFileActivated :: MonadIO m => FileChooserFileActivatedCallback -> m (GClosure C_FileChooserFileActivatedCallback)
+genClosure_FileChooserFileActivated cb = liftIO $ do
+    let cb' = wrap_FileChooserFileActivatedCallback cb
+    mk_FileChooserFileActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserFileActivatedCallback` into a `C_FileChooserFileActivatedCallback`.
+wrap_FileChooserFileActivatedCallback ::
+    FileChooserFileActivatedCallback ->
+    C_FileChooserFileActivatedCallback
+wrap_FileChooserFileActivatedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@file-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooser #fileActivated callback
+@
+-}
+onFileChooserFileActivated :: (IsFileChooser a, MonadIO m) => a -> FileChooserFileActivatedCallback -> m SignalHandlerId
+onFileChooserFileActivated obj cb = liftIO $ do
+    let cb' = wrap_FileChooserFileActivatedCallback cb
+    cb'' <- mk_FileChooserFileActivatedCallback cb'
+    connectSignalFunPtr obj "file-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@file-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooser #fileActivated callback
+@
+-}
+afterFileChooserFileActivated :: (IsFileChooser a, MonadIO m) => a -> FileChooserFileActivatedCallback -> m SignalHandlerId
+afterFileChooserFileActivated obj cb = liftIO $ do
+    let cb' = wrap_FileChooserFileActivatedCallback cb
+    cb'' <- mk_FileChooserFileActivatedCallback cb'
+    connectSignalFunPtr obj "file-activated" cb'' SignalConnectAfter
+
+
+-- signal FileChooser::selection-changed
+{- |
+This signal is emitted when there is a change in the set of selected files
+in a 'GI.Gtk.Interfaces.FileChooser.FileChooser'.  This can happen when the user modifies the selection
+with the mouse or the keyboard, or when explicitly calling functions to
+change the selection.
+
+Normally you do not need to connect to this signal, as it is easier to wait
+for the file chooser to finish running, and then to get the list of
+selected files using the functions mentioned below.
+
+See also: 'GI.Gtk.Interfaces.FileChooser.fileChooserSelectFilename',
+'GI.Gtk.Interfaces.FileChooser.fileChooserUnselectFilename', 'GI.Gtk.Interfaces.FileChooser.fileChooserGetFilename',
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetFilenames', 'GI.Gtk.Interfaces.FileChooser.fileChooserSelectUri',
+'GI.Gtk.Interfaces.FileChooser.fileChooserUnselectUri', 'GI.Gtk.Interfaces.FileChooser.fileChooserGetUri',
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetUris'.
+-}
+type FileChooserSelectionChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserSelectionChangedCallback`@.
+noFileChooserSelectionChangedCallback :: Maybe FileChooserSelectionChangedCallback
+noFileChooserSelectionChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserSelectionChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserSelectionChangedCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserSelectionChangedCallback :: C_FileChooserSelectionChangedCallback -> IO (FunPtr C_FileChooserSelectionChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserSelectionChanged :: MonadIO m => FileChooserSelectionChangedCallback -> m (GClosure C_FileChooserSelectionChangedCallback)
+genClosure_FileChooserSelectionChanged cb = liftIO $ do
+    let cb' = wrap_FileChooserSelectionChangedCallback cb
+    mk_FileChooserSelectionChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserSelectionChangedCallback` into a `C_FileChooserSelectionChangedCallback`.
+wrap_FileChooserSelectionChangedCallback ::
+    FileChooserSelectionChangedCallback ->
+    C_FileChooserSelectionChangedCallback
+wrap_FileChooserSelectionChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@selection-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooser #selectionChanged callback
+@
+-}
+onFileChooserSelectionChanged :: (IsFileChooser a, MonadIO m) => a -> FileChooserSelectionChangedCallback -> m SignalHandlerId
+onFileChooserSelectionChanged obj cb = liftIO $ do
+    let cb' = wrap_FileChooserSelectionChangedCallback cb
+    cb'' <- mk_FileChooserSelectionChangedCallback cb'
+    connectSignalFunPtr obj "selection-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selection-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooser #selectionChanged callback
+@
+-}
+afterFileChooserSelectionChanged :: (IsFileChooser a, MonadIO m) => a -> FileChooserSelectionChangedCallback -> m SignalHandlerId
+afterFileChooserSelectionChanged obj cb = liftIO $ do
+    let cb' = wrap_FileChooserSelectionChangedCallback cb
+    cb'' <- mk_FileChooserSelectionChangedCallback cb'
+    connectSignalFunPtr obj "selection-changed" cb'' SignalConnectAfter
+
+
+-- signal FileChooser::update-preview
+{- |
+This signal is emitted when the preview in a file chooser should be
+regenerated.  For example, this can happen when the currently selected file
+changes.  You should use this signal if you want your file chooser to have
+a preview widget.
+
+Once you have installed a preview widget with
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget', you should update it when this
+signal is emitted.  You can use the functions
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetPreviewFilename' or
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetPreviewUri' to get the name of the file to preview.
+Your widget may not be able to preview all kinds of files; your callback
+must call 'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidgetActive' to inform the file
+chooser about whether the preview was generated successfully or not.
+
+Please see the example code in
+[Using a Preview Widget][gtkfilechooser-preview].
+
+See also: 'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget',
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidgetActive',
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetUsePreviewLabel',
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetPreviewFilename',
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetPreviewUri'.
+-}
+type FileChooserUpdatePreviewCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserUpdatePreviewCallback`@.
+noFileChooserUpdatePreviewCallback :: Maybe FileChooserUpdatePreviewCallback
+noFileChooserUpdatePreviewCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserUpdatePreviewCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserUpdatePreviewCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserUpdatePreviewCallback :: C_FileChooserUpdatePreviewCallback -> IO (FunPtr C_FileChooserUpdatePreviewCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserUpdatePreview :: MonadIO m => FileChooserUpdatePreviewCallback -> m (GClosure C_FileChooserUpdatePreviewCallback)
+genClosure_FileChooserUpdatePreview cb = liftIO $ do
+    let cb' = wrap_FileChooserUpdatePreviewCallback cb
+    mk_FileChooserUpdatePreviewCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserUpdatePreviewCallback` into a `C_FileChooserUpdatePreviewCallback`.
+wrap_FileChooserUpdatePreviewCallback ::
+    FileChooserUpdatePreviewCallback ->
+    C_FileChooserUpdatePreviewCallback
+wrap_FileChooserUpdatePreviewCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@update-preview@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooser #updatePreview callback
+@
+-}
+onFileChooserUpdatePreview :: (IsFileChooser a, MonadIO m) => a -> FileChooserUpdatePreviewCallback -> m SignalHandlerId
+onFileChooserUpdatePreview obj cb = liftIO $ do
+    let cb' = wrap_FileChooserUpdatePreviewCallback cb
+    cb'' <- mk_FileChooserUpdatePreviewCallback cb'
+    connectSignalFunPtr obj "update-preview" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@update-preview@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooser #updatePreview callback
+@
+-}
+afterFileChooserUpdatePreview :: (IsFileChooser a, MonadIO m) => a -> FileChooserUpdatePreviewCallback -> m SignalHandlerId
+afterFileChooserUpdatePreview obj cb = liftIO $ do
+    let cb' = wrap_FileChooserUpdatePreviewCallback cb
+    cb'' <- mk_FileChooserUpdatePreviewCallback cb'
+    connectSignalFunPtr obj "update-preview" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+data FileChooserConfirmOverwriteSignalInfo
+instance SignalInfo FileChooserConfirmOverwriteSignalInfo where
+    type HaskellCallbackType FileChooserConfirmOverwriteSignalInfo = FileChooserConfirmOverwriteCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserConfirmOverwriteCallback cb
+        cb'' <- mk_FileChooserConfirmOverwriteCallback cb'
+        connectSignalFunPtr obj "confirm-overwrite" cb'' connectMode
+
+data FileChooserCurrentFolderChangedSignalInfo
+instance SignalInfo FileChooserCurrentFolderChangedSignalInfo where
+    type HaskellCallbackType FileChooserCurrentFolderChangedSignalInfo = FileChooserCurrentFolderChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserCurrentFolderChangedCallback cb
+        cb'' <- mk_FileChooserCurrentFolderChangedCallback cb'
+        connectSignalFunPtr obj "current-folder-changed" cb'' connectMode
+
+data FileChooserFileActivatedSignalInfo
+instance SignalInfo FileChooserFileActivatedSignalInfo where
+    type HaskellCallbackType FileChooserFileActivatedSignalInfo = FileChooserFileActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserFileActivatedCallback cb
+        cb'' <- mk_FileChooserFileActivatedCallback cb'
+        connectSignalFunPtr obj "file-activated" cb'' connectMode
+
+data FileChooserSelectionChangedSignalInfo
+instance SignalInfo FileChooserSelectionChangedSignalInfo where
+    type HaskellCallbackType FileChooserSelectionChangedSignalInfo = FileChooserSelectionChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserSelectionChangedCallback cb
+        cb'' <- mk_FileChooserSelectionChangedCallback cb'
+        connectSignalFunPtr obj "selection-changed" cb'' connectMode
+
+data FileChooserUpdatePreviewSignalInfo
+instance SignalInfo FileChooserUpdatePreviewSignalInfo where
+    type HaskellCallbackType FileChooserUpdatePreviewSignalInfo = FileChooserUpdatePreviewCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserUpdatePreviewCallback cb
+        cb'' <- mk_FileChooserUpdatePreviewCallback cb'
+        connectSignalFunPtr obj "update-preview" cb'' connectMode
+
+type instance O.SignalList FileChooser = FileChooserSignalList
+type FileChooserSignalList = ('[ '("confirmOverwrite", FileChooserConfirmOverwriteSignalInfo), '("currentFolderChanged", FileChooserCurrentFolderChangedSignalInfo), '("fileActivated", FileChooserFileActivatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("selectionChanged", FileChooserSelectionChangedSignalInfo), '("updatePreview", FileChooserUpdatePreviewSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_file_chooser_get_type"
+    c_gtk_file_chooser_get_type :: IO GType
+
+instance GObject FileChooser where
+    gobjectType = c_gtk_file_chooser_get_type
+    
+
+-- | Type class for types which can be safely cast to `FileChooser`, for instance with `toFileChooser`.
+class (GObject o, O.IsDescendantOf FileChooser o) => IsFileChooser o
+instance (GObject o, O.IsDescendantOf FileChooser o) => IsFileChooser o
+
+instance O.HasParentTypes FileChooser
+type instance O.ParentTypes FileChooser = '[GObject.Object.Object]
+
+-- | Cast to `FileChooser`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFileChooser :: (MonadIO m, IsFileChooser o) => o -> m FileChooser
+toFileChooser = liftIO . unsafeCastTo FileChooser
+
+-- VVV Prop "action"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "FileChooserAction"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@action@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #action
+@
+-}
+getFileChooserAction :: (MonadIO m, IsFileChooser o) => o -> m Gtk.Enums.FileChooserAction
+getFileChooserAction obj = liftIO $ B.Properties.getObjectPropertyEnum obj "action"
+
+{- |
+Set the value of the “@action@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #action 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserAction :: (MonadIO m, IsFileChooser o) => o -> Gtk.Enums.FileChooserAction -> m ()
+setFileChooserAction obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "action" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@action@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserAction :: (IsFileChooser o) => Gtk.Enums.FileChooserAction -> IO (GValueConstruct o)
+constructFileChooserAction val = B.Properties.constructObjectPropertyEnum "action" val
+
+#if ENABLE_OVERLOADING
+data FileChooserActionPropertyInfo
+instance AttrInfo FileChooserActionPropertyInfo where
+    type AttrAllowedOps FileChooserActionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserActionPropertyInfo = (~) Gtk.Enums.FileChooserAction
+    type AttrBaseTypeConstraint FileChooserActionPropertyInfo = IsFileChooser
+    type AttrGetType FileChooserActionPropertyInfo = Gtk.Enums.FileChooserAction
+    type AttrLabel FileChooserActionPropertyInfo = "action"
+    type AttrOrigin FileChooserActionPropertyInfo = FileChooser
+    attrGet _ = getFileChooserAction
+    attrSet _ = setFileChooserAction
+    attrConstruct _ = constructFileChooserAction
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "create-folders"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@create-folders@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #createFolders
+@
+-}
+getFileChooserCreateFolders :: (MonadIO m, IsFileChooser o) => o -> m Bool
+getFileChooserCreateFolders obj = liftIO $ B.Properties.getObjectPropertyBool obj "create-folders"
+
+{- |
+Set the value of the “@create-folders@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #createFolders 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserCreateFolders :: (MonadIO m, IsFileChooser o) => o -> Bool -> m ()
+setFileChooserCreateFolders obj val = liftIO $ B.Properties.setObjectPropertyBool obj "create-folders" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@create-folders@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserCreateFolders :: (IsFileChooser o) => Bool -> IO (GValueConstruct o)
+constructFileChooserCreateFolders val = B.Properties.constructObjectPropertyBool "create-folders" val
+
+#if ENABLE_OVERLOADING
+data FileChooserCreateFoldersPropertyInfo
+instance AttrInfo FileChooserCreateFoldersPropertyInfo where
+    type AttrAllowedOps FileChooserCreateFoldersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserCreateFoldersPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FileChooserCreateFoldersPropertyInfo = IsFileChooser
+    type AttrGetType FileChooserCreateFoldersPropertyInfo = Bool
+    type AttrLabel FileChooserCreateFoldersPropertyInfo = "create-folders"
+    type AttrOrigin FileChooserCreateFoldersPropertyInfo = FileChooser
+    attrGet _ = getFileChooserCreateFolders
+    attrSet _ = setFileChooserCreateFolders
+    attrConstruct _ = constructFileChooserCreateFolders
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "do-overwrite-confirmation"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@do-overwrite-confirmation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #doOverwriteConfirmation
+@
+-}
+getFileChooserDoOverwriteConfirmation :: (MonadIO m, IsFileChooser o) => o -> m Bool
+getFileChooserDoOverwriteConfirmation obj = liftIO $ B.Properties.getObjectPropertyBool obj "do-overwrite-confirmation"
+
+{- |
+Set the value of the “@do-overwrite-confirmation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #doOverwriteConfirmation 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserDoOverwriteConfirmation :: (MonadIO m, IsFileChooser o) => o -> Bool -> m ()
+setFileChooserDoOverwriteConfirmation obj val = liftIO $ B.Properties.setObjectPropertyBool obj "do-overwrite-confirmation" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@do-overwrite-confirmation@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserDoOverwriteConfirmation :: (IsFileChooser o) => Bool -> IO (GValueConstruct o)
+constructFileChooserDoOverwriteConfirmation val = B.Properties.constructObjectPropertyBool "do-overwrite-confirmation" val
+
+#if ENABLE_OVERLOADING
+data FileChooserDoOverwriteConfirmationPropertyInfo
+instance AttrInfo FileChooserDoOverwriteConfirmationPropertyInfo where
+    type AttrAllowedOps FileChooserDoOverwriteConfirmationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserDoOverwriteConfirmationPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FileChooserDoOverwriteConfirmationPropertyInfo = IsFileChooser
+    type AttrGetType FileChooserDoOverwriteConfirmationPropertyInfo = Bool
+    type AttrLabel FileChooserDoOverwriteConfirmationPropertyInfo = "do-overwrite-confirmation"
+    type AttrOrigin FileChooserDoOverwriteConfirmationPropertyInfo = FileChooser
+    attrGet _ = getFileChooserDoOverwriteConfirmation
+    attrSet _ = setFileChooserDoOverwriteConfirmation
+    attrConstruct _ = constructFileChooserDoOverwriteConfirmation
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "extra-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@extra-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #extraWidget
+@
+-}
+getFileChooserExtraWidget :: (MonadIO m, IsFileChooser o) => o -> m (Maybe Gtk.Widget.Widget)
+getFileChooserExtraWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "extra-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@extra-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #extraWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserExtraWidget :: (MonadIO m, IsFileChooser o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setFileChooserExtraWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "extra-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@extra-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserExtraWidget :: (IsFileChooser o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructFileChooserExtraWidget val = B.Properties.constructObjectPropertyObject "extra-widget" (Just val)
+
+#if ENABLE_OVERLOADING
+data FileChooserExtraWidgetPropertyInfo
+instance AttrInfo FileChooserExtraWidgetPropertyInfo where
+    type AttrAllowedOps FileChooserExtraWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserExtraWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint FileChooserExtraWidgetPropertyInfo = IsFileChooser
+    type AttrGetType FileChooserExtraWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel FileChooserExtraWidgetPropertyInfo = "extra-widget"
+    type AttrOrigin FileChooserExtraWidgetPropertyInfo = FileChooser
+    attrGet _ = getFileChooserExtraWidget
+    attrSet _ = setFileChooserExtraWidget
+    attrConstruct _ = constructFileChooserExtraWidget
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "filter"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@filter@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #filter
+@
+-}
+getFileChooserFilter :: (MonadIO m, IsFileChooser o) => o -> m (Maybe Gtk.FileFilter.FileFilter)
+getFileChooserFilter obj = liftIO $ B.Properties.getObjectPropertyObject obj "filter" Gtk.FileFilter.FileFilter
+
+{- |
+Set the value of the “@filter@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #filter 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserFilter :: (MonadIO m, IsFileChooser o, Gtk.FileFilter.IsFileFilter a) => o -> a -> m ()
+setFileChooserFilter obj val = liftIO $ B.Properties.setObjectPropertyObject obj "filter" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@filter@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserFilter :: (IsFileChooser o, Gtk.FileFilter.IsFileFilter a) => a -> IO (GValueConstruct o)
+constructFileChooserFilter val = B.Properties.constructObjectPropertyObject "filter" (Just val)
+
+#if ENABLE_OVERLOADING
+data FileChooserFilterPropertyInfo
+instance AttrInfo FileChooserFilterPropertyInfo where
+    type AttrAllowedOps FileChooserFilterPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserFilterPropertyInfo = Gtk.FileFilter.IsFileFilter
+    type AttrBaseTypeConstraint FileChooserFilterPropertyInfo = IsFileChooser
+    type AttrGetType FileChooserFilterPropertyInfo = (Maybe Gtk.FileFilter.FileFilter)
+    type AttrLabel FileChooserFilterPropertyInfo = "filter"
+    type AttrOrigin FileChooserFilterPropertyInfo = FileChooser
+    attrGet _ = getFileChooserFilter
+    attrSet _ = setFileChooserFilter
+    attrConstruct _ = constructFileChooserFilter
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "local-only"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@local-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #localOnly
+@
+-}
+getFileChooserLocalOnly :: (MonadIO m, IsFileChooser o) => o -> m Bool
+getFileChooserLocalOnly obj = liftIO $ B.Properties.getObjectPropertyBool obj "local-only"
+
+{- |
+Set the value of the “@local-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #localOnly 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserLocalOnly :: (MonadIO m, IsFileChooser o) => o -> Bool -> m ()
+setFileChooserLocalOnly obj val = liftIO $ B.Properties.setObjectPropertyBool obj "local-only" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@local-only@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserLocalOnly :: (IsFileChooser o) => Bool -> IO (GValueConstruct o)
+constructFileChooserLocalOnly val = B.Properties.constructObjectPropertyBool "local-only" val
+
+#if ENABLE_OVERLOADING
+data FileChooserLocalOnlyPropertyInfo
+instance AttrInfo FileChooserLocalOnlyPropertyInfo where
+    type AttrAllowedOps FileChooserLocalOnlyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserLocalOnlyPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FileChooserLocalOnlyPropertyInfo = IsFileChooser
+    type AttrGetType FileChooserLocalOnlyPropertyInfo = Bool
+    type AttrLabel FileChooserLocalOnlyPropertyInfo = "local-only"
+    type AttrOrigin FileChooserLocalOnlyPropertyInfo = FileChooser
+    attrGet _ = getFileChooserLocalOnly
+    attrSet _ = setFileChooserLocalOnly
+    attrConstruct _ = constructFileChooserLocalOnly
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "preview-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@preview-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #previewWidget
+@
+-}
+getFileChooserPreviewWidget :: (MonadIO m, IsFileChooser o) => o -> m (Maybe Gtk.Widget.Widget)
+getFileChooserPreviewWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "preview-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@preview-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #previewWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserPreviewWidget :: (MonadIO m, IsFileChooser o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setFileChooserPreviewWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "preview-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@preview-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserPreviewWidget :: (IsFileChooser o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructFileChooserPreviewWidget val = B.Properties.constructObjectPropertyObject "preview-widget" (Just val)
+
+#if ENABLE_OVERLOADING
+data FileChooserPreviewWidgetPropertyInfo
+instance AttrInfo FileChooserPreviewWidgetPropertyInfo where
+    type AttrAllowedOps FileChooserPreviewWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserPreviewWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint FileChooserPreviewWidgetPropertyInfo = IsFileChooser
+    type AttrGetType FileChooserPreviewWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel FileChooserPreviewWidgetPropertyInfo = "preview-widget"
+    type AttrOrigin FileChooserPreviewWidgetPropertyInfo = FileChooser
+    attrGet _ = getFileChooserPreviewWidget
+    attrSet _ = setFileChooserPreviewWidget
+    attrConstruct _ = constructFileChooserPreviewWidget
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "preview-widget-active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@preview-widget-active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #previewWidgetActive
+@
+-}
+getFileChooserPreviewWidgetActive :: (MonadIO m, IsFileChooser o) => o -> m Bool
+getFileChooserPreviewWidgetActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "preview-widget-active"
+
+{- |
+Set the value of the “@preview-widget-active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #previewWidgetActive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserPreviewWidgetActive :: (MonadIO m, IsFileChooser o) => o -> Bool -> m ()
+setFileChooserPreviewWidgetActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "preview-widget-active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@preview-widget-active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserPreviewWidgetActive :: (IsFileChooser o) => Bool -> IO (GValueConstruct o)
+constructFileChooserPreviewWidgetActive val = B.Properties.constructObjectPropertyBool "preview-widget-active" val
+
+#if ENABLE_OVERLOADING
+data FileChooserPreviewWidgetActivePropertyInfo
+instance AttrInfo FileChooserPreviewWidgetActivePropertyInfo where
+    type AttrAllowedOps FileChooserPreviewWidgetActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserPreviewWidgetActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FileChooserPreviewWidgetActivePropertyInfo = IsFileChooser
+    type AttrGetType FileChooserPreviewWidgetActivePropertyInfo = Bool
+    type AttrLabel FileChooserPreviewWidgetActivePropertyInfo = "preview-widget-active"
+    type AttrOrigin FileChooserPreviewWidgetActivePropertyInfo = FileChooser
+    attrGet _ = getFileChooserPreviewWidgetActive
+    attrSet _ = setFileChooserPreviewWidgetActive
+    attrConstruct _ = constructFileChooserPreviewWidgetActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "select-multiple"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@select-multiple@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #selectMultiple
+@
+-}
+getFileChooserSelectMultiple :: (MonadIO m, IsFileChooser o) => o -> m Bool
+getFileChooserSelectMultiple obj = liftIO $ B.Properties.getObjectPropertyBool obj "select-multiple"
+
+{- |
+Set the value of the “@select-multiple@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #selectMultiple 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserSelectMultiple :: (MonadIO m, IsFileChooser o) => o -> Bool -> m ()
+setFileChooserSelectMultiple obj val = liftIO $ B.Properties.setObjectPropertyBool obj "select-multiple" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@select-multiple@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserSelectMultiple :: (IsFileChooser o) => Bool -> IO (GValueConstruct o)
+constructFileChooserSelectMultiple val = B.Properties.constructObjectPropertyBool "select-multiple" val
+
+#if ENABLE_OVERLOADING
+data FileChooserSelectMultiplePropertyInfo
+instance AttrInfo FileChooserSelectMultiplePropertyInfo where
+    type AttrAllowedOps FileChooserSelectMultiplePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserSelectMultiplePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FileChooserSelectMultiplePropertyInfo = IsFileChooser
+    type AttrGetType FileChooserSelectMultiplePropertyInfo = Bool
+    type AttrLabel FileChooserSelectMultiplePropertyInfo = "select-multiple"
+    type AttrOrigin FileChooserSelectMultiplePropertyInfo = FileChooser
+    attrGet _ = getFileChooserSelectMultiple
+    attrSet _ = setFileChooserSelectMultiple
+    attrConstruct _ = constructFileChooserSelectMultiple
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-hidden"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-hidden@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #showHidden
+@
+-}
+getFileChooserShowHidden :: (MonadIO m, IsFileChooser o) => o -> m Bool
+getFileChooserShowHidden obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-hidden"
+
+{- |
+Set the value of the “@show-hidden@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #showHidden 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserShowHidden :: (MonadIO m, IsFileChooser o) => o -> Bool -> m ()
+setFileChooserShowHidden obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-hidden" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-hidden@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserShowHidden :: (IsFileChooser o) => Bool -> IO (GValueConstruct o)
+constructFileChooserShowHidden val = B.Properties.constructObjectPropertyBool "show-hidden" val
+
+#if ENABLE_OVERLOADING
+data FileChooserShowHiddenPropertyInfo
+instance AttrInfo FileChooserShowHiddenPropertyInfo where
+    type AttrAllowedOps FileChooserShowHiddenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserShowHiddenPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FileChooserShowHiddenPropertyInfo = IsFileChooser
+    type AttrGetType FileChooserShowHiddenPropertyInfo = Bool
+    type AttrLabel FileChooserShowHiddenPropertyInfo = "show-hidden"
+    type AttrOrigin FileChooserShowHiddenPropertyInfo = FileChooser
+    attrGet _ = getFileChooserShowHidden
+    attrSet _ = setFileChooserShowHidden
+    attrConstruct _ = constructFileChooserShowHidden
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-preview-label"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-preview-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooser #usePreviewLabel
+@
+-}
+getFileChooserUsePreviewLabel :: (MonadIO m, IsFileChooser o) => o -> m Bool
+getFileChooserUsePreviewLabel obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-preview-label"
+
+{- |
+Set the value of the “@use-preview-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooser [ #usePreviewLabel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserUsePreviewLabel :: (MonadIO m, IsFileChooser o) => o -> Bool -> m ()
+setFileChooserUsePreviewLabel obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-preview-label" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-preview-label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserUsePreviewLabel :: (IsFileChooser o) => Bool -> IO (GValueConstruct o)
+constructFileChooserUsePreviewLabel val = B.Properties.constructObjectPropertyBool "use-preview-label" val
+
+#if ENABLE_OVERLOADING
+data FileChooserUsePreviewLabelPropertyInfo
+instance AttrInfo FileChooserUsePreviewLabelPropertyInfo where
+    type AttrAllowedOps FileChooserUsePreviewLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserUsePreviewLabelPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FileChooserUsePreviewLabelPropertyInfo = IsFileChooser
+    type AttrGetType FileChooserUsePreviewLabelPropertyInfo = Bool
+    type AttrLabel FileChooserUsePreviewLabelPropertyInfo = "use-preview-label"
+    type AttrOrigin FileChooserUsePreviewLabelPropertyInfo = FileChooser
+    attrGet _ = getFileChooserUsePreviewLabel
+    attrSet _ = setFileChooserUsePreviewLabel
+    attrConstruct _ = constructFileChooserUsePreviewLabel
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FileChooser
+type instance O.AttributeList FileChooser = FileChooserAttributeList
+type FileChooserAttributeList = ('[ '("action", FileChooserActionPropertyInfo), '("createFolders", FileChooserCreateFoldersPropertyInfo), '("doOverwriteConfirmation", FileChooserDoOverwriteConfirmationPropertyInfo), '("extraWidget", FileChooserExtraWidgetPropertyInfo), '("filter", FileChooserFilterPropertyInfo), '("localOnly", FileChooserLocalOnlyPropertyInfo), '("previewWidget", FileChooserPreviewWidgetPropertyInfo), '("previewWidgetActive", FileChooserPreviewWidgetActivePropertyInfo), '("selectMultiple", FileChooserSelectMultiplePropertyInfo), '("showHidden", FileChooserShowHiddenPropertyInfo), '("usePreviewLabel", FileChooserUsePreviewLabelPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+fileChooserAction :: AttrLabelProxy "action"
+fileChooserAction = AttrLabelProxy
+
+fileChooserCreateFolders :: AttrLabelProxy "createFolders"
+fileChooserCreateFolders = AttrLabelProxy
+
+fileChooserDoOverwriteConfirmation :: AttrLabelProxy "doOverwriteConfirmation"
+fileChooserDoOverwriteConfirmation = AttrLabelProxy
+
+fileChooserExtraWidget :: AttrLabelProxy "extraWidget"
+fileChooserExtraWidget = AttrLabelProxy
+
+fileChooserFilter :: AttrLabelProxy "filter"
+fileChooserFilter = AttrLabelProxy
+
+fileChooserLocalOnly :: AttrLabelProxy "localOnly"
+fileChooserLocalOnly = AttrLabelProxy
+
+fileChooserPreviewWidget :: AttrLabelProxy "previewWidget"
+fileChooserPreviewWidget = AttrLabelProxy
+
+fileChooserPreviewWidgetActive :: AttrLabelProxy "previewWidgetActive"
+fileChooserPreviewWidgetActive = AttrLabelProxy
+
+fileChooserSelectMultiple :: AttrLabelProxy "selectMultiple"
+fileChooserSelectMultiple = AttrLabelProxy
+
+fileChooserShowHidden :: AttrLabelProxy "showHidden"
+fileChooserShowHidden = AttrLabelProxy
+
+fileChooserUsePreviewLabel :: AttrLabelProxy "usePreviewLabel"
+fileChooserUsePreviewLabel = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveFileChooserMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileChooserMethod "addChoice" o = FileChooserAddChoiceMethodInfo
+    ResolveFileChooserMethod "addFilter" o = FileChooserAddFilterMethodInfo
+    ResolveFileChooserMethod "addShortcutFolder" o = FileChooserAddShortcutFolderMethodInfo
+    ResolveFileChooserMethod "addShortcutFolderUri" o = FileChooserAddShortcutFolderUriMethodInfo
+    ResolveFileChooserMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFileChooserMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFileChooserMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFileChooserMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFileChooserMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFileChooserMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFileChooserMethod "listFilters" o = FileChooserListFiltersMethodInfo
+    ResolveFileChooserMethod "listShortcutFolderUris" o = FileChooserListShortcutFolderUrisMethodInfo
+    ResolveFileChooserMethod "listShortcutFolders" o = FileChooserListShortcutFoldersMethodInfo
+    ResolveFileChooserMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFileChooserMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFileChooserMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFileChooserMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFileChooserMethod "removeChoice" o = FileChooserRemoveChoiceMethodInfo
+    ResolveFileChooserMethod "removeFilter" o = FileChooserRemoveFilterMethodInfo
+    ResolveFileChooserMethod "removeShortcutFolder" o = FileChooserRemoveShortcutFolderMethodInfo
+    ResolveFileChooserMethod "removeShortcutFolderUri" o = FileChooserRemoveShortcutFolderUriMethodInfo
+    ResolveFileChooserMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFileChooserMethod "selectAll" o = FileChooserSelectAllMethodInfo
+    ResolveFileChooserMethod "selectFile" o = FileChooserSelectFileMethodInfo
+    ResolveFileChooserMethod "selectFilename" o = FileChooserSelectFilenameMethodInfo
+    ResolveFileChooserMethod "selectUri" o = FileChooserSelectUriMethodInfo
+    ResolveFileChooserMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFileChooserMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFileChooserMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFileChooserMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFileChooserMethod "unselectAll" o = FileChooserUnselectAllMethodInfo
+    ResolveFileChooserMethod "unselectFile" o = FileChooserUnselectFileMethodInfo
+    ResolveFileChooserMethod "unselectFilename" o = FileChooserUnselectFilenameMethodInfo
+    ResolveFileChooserMethod "unselectUri" o = FileChooserUnselectUriMethodInfo
+    ResolveFileChooserMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFileChooserMethod "getAction" o = FileChooserGetActionMethodInfo
+    ResolveFileChooserMethod "getChoice" o = FileChooserGetChoiceMethodInfo
+    ResolveFileChooserMethod "getCreateFolders" o = FileChooserGetCreateFoldersMethodInfo
+    ResolveFileChooserMethod "getCurrentFolder" o = FileChooserGetCurrentFolderMethodInfo
+    ResolveFileChooserMethod "getCurrentFolderFile" o = FileChooserGetCurrentFolderFileMethodInfo
+    ResolveFileChooserMethod "getCurrentFolderUri" o = FileChooserGetCurrentFolderUriMethodInfo
+    ResolveFileChooserMethod "getCurrentName" o = FileChooserGetCurrentNameMethodInfo
+    ResolveFileChooserMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFileChooserMethod "getDoOverwriteConfirmation" o = FileChooserGetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserMethod "getExtraWidget" o = FileChooserGetExtraWidgetMethodInfo
+    ResolveFileChooserMethod "getFile" o = FileChooserGetFileMethodInfo
+    ResolveFileChooserMethod "getFilename" o = FileChooserGetFilenameMethodInfo
+    ResolveFileChooserMethod "getFilenames" o = FileChooserGetFilenamesMethodInfo
+    ResolveFileChooserMethod "getFiles" o = FileChooserGetFilesMethodInfo
+    ResolveFileChooserMethod "getFilter" o = FileChooserGetFilterMethodInfo
+    ResolveFileChooserMethod "getLocalOnly" o = FileChooserGetLocalOnlyMethodInfo
+    ResolveFileChooserMethod "getPreviewFile" o = FileChooserGetPreviewFileMethodInfo
+    ResolveFileChooserMethod "getPreviewFilename" o = FileChooserGetPreviewFilenameMethodInfo
+    ResolveFileChooserMethod "getPreviewUri" o = FileChooserGetPreviewUriMethodInfo
+    ResolveFileChooserMethod "getPreviewWidget" o = FileChooserGetPreviewWidgetMethodInfo
+    ResolveFileChooserMethod "getPreviewWidgetActive" o = FileChooserGetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFileChooserMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFileChooserMethod "getSelectMultiple" o = FileChooserGetSelectMultipleMethodInfo
+    ResolveFileChooserMethod "getShowHidden" o = FileChooserGetShowHiddenMethodInfo
+    ResolveFileChooserMethod "getUri" o = FileChooserGetUriMethodInfo
+    ResolveFileChooserMethod "getUris" o = FileChooserGetUrisMethodInfo
+    ResolveFileChooserMethod "getUsePreviewLabel" o = FileChooserGetUsePreviewLabelMethodInfo
+    ResolveFileChooserMethod "setAction" o = FileChooserSetActionMethodInfo
+    ResolveFileChooserMethod "setChoice" o = FileChooserSetChoiceMethodInfo
+    ResolveFileChooserMethod "setCreateFolders" o = FileChooserSetCreateFoldersMethodInfo
+    ResolveFileChooserMethod "setCurrentFolder" o = FileChooserSetCurrentFolderMethodInfo
+    ResolveFileChooserMethod "setCurrentFolderFile" o = FileChooserSetCurrentFolderFileMethodInfo
+    ResolveFileChooserMethod "setCurrentFolderUri" o = FileChooserSetCurrentFolderUriMethodInfo
+    ResolveFileChooserMethod "setCurrentName" o = FileChooserSetCurrentNameMethodInfo
+    ResolveFileChooserMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFileChooserMethod "setDoOverwriteConfirmation" o = FileChooserSetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserMethod "setExtraWidget" o = FileChooserSetExtraWidgetMethodInfo
+    ResolveFileChooserMethod "setFile" o = FileChooserSetFileMethodInfo
+    ResolveFileChooserMethod "setFilename" o = FileChooserSetFilenameMethodInfo
+    ResolveFileChooserMethod "setFilter" o = FileChooserSetFilterMethodInfo
+    ResolveFileChooserMethod "setLocalOnly" o = FileChooserSetLocalOnlyMethodInfo
+    ResolveFileChooserMethod "setPreviewWidget" o = FileChooserSetPreviewWidgetMethodInfo
+    ResolveFileChooserMethod "setPreviewWidgetActive" o = FileChooserSetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFileChooserMethod "setSelectMultiple" o = FileChooserSetSelectMultipleMethodInfo
+    ResolveFileChooserMethod "setShowHidden" o = FileChooserSetShowHiddenMethodInfo
+    ResolveFileChooserMethod "setUri" o = FileChooserSetUriMethodInfo
+    ResolveFileChooserMethod "setUsePreviewLabel" o = FileChooserSetUsePreviewLabelMethodInfo
+    ResolveFileChooserMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFileChooserMethod t FileChooser, O.MethodInfo info FileChooser p) => OL.IsLabel t (FileChooser -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method FileChooser::add_choice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "id for the added choice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "user-visible label for the added choice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "ids for the options of the choice, or %NULL for a boolean choice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "option_labels", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user-visible labels for the options, must be the same length as @options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_add_choice" gtk_file_chooser_add_choice :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- id : TBasicType TUTF8
+    CString ->                              -- label : TBasicType TUTF8
+    Ptr CString ->                          -- options : TCArray True (-1) (-1) (TBasicType TUTF8)
+    Ptr CString ->                          -- option_labels : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+{- |
+Adds a \'choice\' to the file chooser. This is typically implemented
+as a combobox or, for boolean choices, as a checkbutton. You can select
+a value using 'GI.Gtk.Interfaces.FileChooser.fileChooserSetChoice' before the dialog is shown,
+and you can obtain the user-selected value in the ::response signal handler
+using 'GI.Gtk.Interfaces.FileChooser.fileChooserGetChoice'.
+
+Compare 'GI.Gtk.Interfaces.FileChooser.fileChooserSetExtraWidget'.
+
+/Since: 3.22/
+-}
+fileChooserAddChoice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@id@/: id for the added choice -}
+    -> T.Text
+    {- ^ /@label@/: user-visible label for the added choice -}
+    -> Maybe ([T.Text])
+    {- ^ /@options@/: ids for the options of the choice, or 'Nothing' for a boolean choice -}
+    -> Maybe ([T.Text])
+    {- ^ /@optionLabels@/: user-visible labels for the options, must be the same length as /@options@/ -}
+    -> m ()
+fileChooserAddChoice chooser id label options optionLabels = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    id' <- textToCString id
+    label' <- textToCString label
+    maybeOptions <- case options of
+        Nothing -> return nullPtr
+        Just jOptions -> do
+            jOptions' <- packZeroTerminatedUTF8CArray jOptions
+            return jOptions'
+    maybeOptionLabels <- case optionLabels of
+        Nothing -> return nullPtr
+        Just jOptionLabels -> do
+            jOptionLabels' <- packZeroTerminatedUTF8CArray jOptionLabels
+            return jOptionLabels'
+    gtk_file_chooser_add_choice chooser' id' label' maybeOptions maybeOptionLabels
+    touchManagedPtr chooser
+    freeMem id'
+    freeMem label'
+    mapZeroTerminatedCArray freeMem maybeOptions
+    freeMem maybeOptions
+    mapZeroTerminatedCArray freeMem maybeOptionLabels
+    freeMem maybeOptionLabels
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserAddChoiceMethodInfo
+instance (signature ~ (T.Text -> T.Text -> Maybe ([T.Text]) -> Maybe ([T.Text]) -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserAddChoiceMethodInfo a signature where
+    overloadedMethod _ = fileChooserAddChoice
+
+#endif
+
+-- method FileChooser::add_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_add_filter" gtk_file_chooser_add_filter :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    Ptr Gtk.FileFilter.FileFilter ->        -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    IO ()
+
+{- |
+Adds /@filter@/ to the list of filters that the user can select between.
+When a filter is selected, only files that are passed by that
+filter are displayed.
+
+Note that the /@chooser@/ takes ownership of the filter, so you have to
+ref and sink it if you want to keep a reference.
+
+/Since: 2.4/
+-}
+fileChooserAddFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a, Gtk.FileFilter.IsFileFilter b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> b
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> m ()
+fileChooserAddFilter chooser filter = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    filter' <- B.ManagedPtr.disownObject filter
+    gtk_file_chooser_add_filter chooser' filter'
+    touchManagedPtr chooser
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserAddFilterMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFileChooser a, Gtk.FileFilter.IsFileFilter b) => O.MethodInfo FileChooserAddFilterMethodInfo a signature where
+    overloadedMethod _ = fileChooserAddFilter
+
+#endif
+
+-- method FileChooser::add_shortcut_folder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "folder", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "filename of the folder to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_add_shortcut_folder" gtk_file_chooser_add_shortcut_folder :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- folder : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Adds a folder to be displayed with the shortcut folders in a file chooser.
+Note that shortcut folders do not get saved, as they are provided by the
+application.  For example, you can use this to add a
+“\/usr\/share\/mydrawprogram\/Clipart” folder to the volume list.
+
+/Since: 2.4/
+-}
+fileChooserAddShortcutFolder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> [Char]
+    {- ^ /@folder@/: filename of the folder to add -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+fileChooserAddShortcutFolder chooser folder = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    folder' <- stringToCString folder
+    onException (do
+        _ <- propagateGError $ gtk_file_chooser_add_shortcut_folder chooser' folder'
+        touchManagedPtr chooser
+        freeMem folder'
+        return ()
+     ) (do
+        freeMem folder'
+     )
+
+#if ENABLE_OVERLOADING
+data FileChooserAddShortcutFolderMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserAddShortcutFolderMethodInfo a signature where
+    overloadedMethod _ = fileChooserAddShortcutFolder
+
+#endif
+
+-- method FileChooser::add_shortcut_folder_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "URI of the folder to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_add_shortcut_folder_uri" gtk_file_chooser_add_shortcut_folder_uri :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Adds a folder URI to be displayed with the shortcut folders in a file
+chooser.  Note that shortcut folders do not get saved, as they are provided
+by the application.  For example, you can use this to add a
+“file:\/\/\/usr\/share\/mydrawprogram\/Clipart” folder to the volume list.
+
+/Since: 2.4/
+-}
+fileChooserAddShortcutFolderUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@uri@/: URI of the folder to add -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+fileChooserAddShortcutFolderUri chooser uri = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    uri' <- textToCString uri
+    onException (do
+        _ <- propagateGError $ gtk_file_chooser_add_shortcut_folder_uri chooser' uri'
+        touchManagedPtr chooser
+        freeMem uri'
+        return ()
+     ) (do
+        freeMem uri'
+     )
+
+#if ENABLE_OVERLOADING
+data FileChooserAddShortcutFolderUriMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserAddShortcutFolderUriMethodInfo a signature where
+    overloadedMethod _ = fileChooserAddShortcutFolderUri
+
+#endif
+
+-- method FileChooser::get_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FileChooserAction"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_action" gtk_file_chooser_get_action :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CUInt
+
+{- |
+Gets the type of operation that the file chooser is performing; see
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetAction'.
+
+/Since: 2.4/
+-}
+fileChooserGetAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Gtk.Enums.FileChooserAction
+    {- ^ __Returns:__ the action that the file selector is performing -}
+fileChooserGetAction chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_action chooser'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetActionMethodInfo
+instance (signature ~ (m Gtk.Enums.FileChooserAction), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetActionMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetAction
+
+#endif
+
+-- method FileChooser::get_choice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ID of the choice to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_choice" gtk_file_chooser_get_choice :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- id : TBasicType TUTF8
+    IO CString
+
+{- |
+Gets the currently selected option in the \'choice\' with the given ID.
+
+/Since: 3.22/
+-}
+fileChooserGetChoice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@id@/: the ID of the choice to get -}
+    -> m T.Text
+    {- ^ __Returns:__ the ID of the currenly selected option -}
+fileChooserGetChoice chooser id = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    id' <- textToCString id
+    result <- gtk_file_chooser_get_choice chooser' id'
+    checkUnexpectedReturnNULL "fileChooserGetChoice" result
+    result' <- cstringToText result
+    touchManagedPtr chooser
+    freeMem id'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetChoiceMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetChoiceMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetChoice
+
+#endif
+
+-- method FileChooser::get_create_folders
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_create_folders" gtk_file_chooser_get_create_folders :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CInt
+
+{- |
+Gets whether file choser will offer to create new folders.
+See 'GI.Gtk.Interfaces.FileChooser.fileChooserSetCreateFolders'.
+
+/Since: 2.18/
+-}
+fileChooserGetCreateFolders ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the Create Folder button should be displayed. -}
+fileChooserGetCreateFolders chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_create_folders chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetCreateFoldersMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetCreateFoldersMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetCreateFolders
+
+#endif
+
+-- method FileChooser::get_current_folder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_current_folder" gtk_file_chooser_get_current_folder :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CString
+
+{- |
+Gets the current folder of /@chooser@/ as a local filename.
+See 'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentFolder'.
+
+Note that this is the folder that the file chooser is currently displaying
+(e.g. \"\/home\/username\/Documents\"), which is not the same
+as the currently-selected folder if the chooser is in
+'GI.Gtk.Enums.FileChooserActionSelectFolder' mode
+(e.g. \"\/home\/username\/Documents\/selected-folder\/\".  To get the
+currently-selected folder in that mode, use 'GI.Gtk.Interfaces.FileChooser.fileChooserGetUri' as the
+usual way to get the selection.
+
+/Since: 2.4/
+-}
+fileChooserGetCurrentFolder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe [Char])
+    {- ^ __Returns:__ the full path of the current
+folder, or 'Nothing' if the current path cannot be represented as a local
+filename.  Free with 'GI.GLib.Functions.free'.  This function will also return
+'Nothing' if the file chooser was unable to load the last folder that
+was requested from it; for example, as would be for calling
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentFolder' on a nonexistent folder. -}
+fileChooserGetCurrentFolder chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_current_folder chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToString result'
+        freeMem result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetCurrentFolderMethodInfo
+instance (signature ~ (m (Maybe [Char])), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetCurrentFolderMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetCurrentFolder
+
+#endif
+
+-- method FileChooser::get_current_folder_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_current_folder_file" gtk_file_chooser_get_current_folder_file :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr Gio.File.File)
+
+{- |
+Gets the current folder of /@chooser@/ as 'GI.Gio.Interfaces.File.File'.
+See 'GI.Gtk.Interfaces.FileChooser.fileChooserGetCurrentFolderUri'.
+
+/Since: 2.14/
+-}
+fileChooserGetCurrentFolderFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Gio.File.File
+    {- ^ __Returns:__ the 'GI.Gio.Interfaces.File.File' for the current folder. -}
+fileChooserGetCurrentFolderFile chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_current_folder_file chooser'
+    checkUnexpectedReturnNULL "fileChooserGetCurrentFolderFile" result
+    result' <- (wrapObject Gio.File.File) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetCurrentFolderFileMethodInfo
+instance (signature ~ (m Gio.File.File), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetCurrentFolderFileMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetCurrentFolderFile
+
+#endif
+
+-- method FileChooser::get_current_folder_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_current_folder_uri" gtk_file_chooser_get_current_folder_uri :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CString
+
+{- |
+Gets the current folder of /@chooser@/ as an URI.
+See 'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentFolderUri'.
+
+Note that this is the folder that the file chooser is currently displaying
+(e.g. \"file:\/\/\/home\/username\/Documents\"), which is not the same
+as the currently-selected folder if the chooser is in
+'GI.Gtk.Enums.FileChooserActionSelectFolder' mode
+(e.g. \"file:\/\/\/home\/username\/Documents\/selected-folder\/\".  To get the
+currently-selected folder in that mode, use 'GI.Gtk.Interfaces.FileChooser.fileChooserGetUri' as the
+usual way to get the selection.
+
+/Since: 2.4/
+-}
+fileChooserGetCurrentFolderUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the URI for the current folder.
+Free with 'GI.GLib.Functions.free'.  This function will also return 'Nothing' if the file chooser
+was unable to load the last folder that was requested from it; for example,
+as would be for calling 'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentFolderUri' on a
+nonexistent folder. -}
+fileChooserGetCurrentFolderUri chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_current_folder_uri chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetCurrentFolderUriMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetCurrentFolderUriMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetCurrentFolderUri
+
+#endif
+
+-- method FileChooser::get_current_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_current_name" gtk_file_chooser_get_current_name :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CString
+
+{- |
+Gets the current name in the file selector, as entered by the user in the
+text entry for “Name”.
+
+This is meant to be used in save dialogs, to get the currently typed filename
+when the file itself does not exist yet.  For example, an application that
+adds a custom extra widget to the file chooser for “file format” may want to
+change the extension of the typed filename based on the chosen format, say,
+from “.jpg” to “.png”.
+
+/Since: 3.10/
+-}
+fileChooserGetCurrentName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m T.Text
+    {- ^ __Returns:__ The raw text from the file chooser’s “Name” entry.  Free this with
+'GI.GLib.Functions.free'.  Note that this string is not a full pathname or URI; it is
+whatever the contents of the entry are.  Note also that this string is in
+UTF-8 encoding, which is not necessarily the system’s encoding for filenames. -}
+fileChooserGetCurrentName chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_current_name chooser'
+    checkUnexpectedReturnNULL "fileChooserGetCurrentName" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetCurrentNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetCurrentNameMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetCurrentName
+
+#endif
+
+-- method FileChooser::get_do_overwrite_confirmation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_do_overwrite_confirmation" gtk_file_chooser_get_do_overwrite_confirmation :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CInt
+
+{- |
+Queries whether a file chooser is set to confirm for overwriting when the user
+types a file name that already exists.
+
+/Since: 2.8/
+-}
+fileChooserGetDoOverwriteConfirmation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the file chooser will present a confirmation dialog;
+'False' otherwise. -}
+fileChooserGetDoOverwriteConfirmation chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_do_overwrite_confirmation chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetDoOverwriteConfirmationMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetDoOverwriteConfirmationMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetDoOverwriteConfirmation
+
+#endif
+
+-- method FileChooser::get_extra_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_extra_widget" gtk_file_chooser_get_extra_widget :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the current extra widget; see
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetExtraWidget'.
+
+/Since: 2.4/
+-}
+fileChooserGetExtraWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the current extra widget, or 'Nothing' -}
+fileChooserGetExtraWidget chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_extra_widget chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetExtraWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetExtraWidgetMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetExtraWidget
+
+#endif
+
+-- method FileChooser::get_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_file" gtk_file_chooser_get_file :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr Gio.File.File)
+
+{- |
+Gets the 'GI.Gio.Interfaces.File.File' for the currently selected file in
+the file selector. If multiple files are selected,
+one of the files will be returned at random.
+
+If the file chooser is in folder mode, this function returns the selected
+folder.
+
+/Since: 2.14/
+-}
+fileChooserGetFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Gio.File.File
+    {- ^ __Returns:__ a selected 'GI.Gio.Interfaces.File.File'. You own the returned file;
+    use 'GI.GObject.Objects.Object.objectUnref' to release it. -}
+fileChooserGetFile chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_file chooser'
+    checkUnexpectedReturnNULL "fileChooserGetFile" result
+    result' <- (wrapObject Gio.File.File) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetFileMethodInfo
+instance (signature ~ (m Gio.File.File), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetFileMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetFile
+
+#endif
+
+-- method FileChooser::get_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_filename" gtk_file_chooser_get_filename :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CString
+
+{- |
+Gets the filename for the currently selected file in
+the file selector. The filename is returned as an absolute path. If
+multiple files are selected, one of the filenames will be returned at
+random.
+
+If the file chooser is in folder mode, this function returns the selected
+folder.
+
+/Since: 2.4/
+-}
+fileChooserGetFilename ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe [Char])
+    {- ^ __Returns:__ The currently selected filename,
+ or 'Nothing' if no file is selected, or the selected file can\'t
+ be represented with a local filename. Free with 'GI.GLib.Functions.free'. -}
+fileChooserGetFilename chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_filename chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToString result'
+        freeMem result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetFilenameMethodInfo
+instance (signature ~ (m (Maybe [Char])), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetFilenameMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetFilename
+
+#endif
+
+-- method FileChooser::get_filenames
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TBasicType TFileName))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_filenames" gtk_file_chooser_get_filenames :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr (GSList CString))
+
+{- |
+Lists all the selected files and subfolders in the current folder of
+/@chooser@/. The returned names are full absolute paths. If files in the current
+folder cannot be represented as local filenames they will be ignored. (See
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetUris')
+
+/Since: 2.4/
+-}
+fileChooserGetFilenames ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m [[Char]]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.SList.SList'
+   containing the filenames of all selected files and subfolders in
+   the current folder. Free the returned list with @/g_slist_free()/@,
+   and the filenames with 'GI.GLib.Functions.free'. -}
+fileChooserGetFilenames chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_filenames chooser'
+    result' <- unpackGSList result
+    result'' <- mapM cstringToString result'
+    mapGSList freeMem result
+    g_slist_free result
+    touchManagedPtr chooser
+    return result''
+
+#if ENABLE_OVERLOADING
+data FileChooserGetFilenamesMethodInfo
+instance (signature ~ (m [[Char]]), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetFilenamesMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetFilenames
+
+#endif
+
+-- method FileChooser::get_files
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gio", name = "File"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_files" gtk_file_chooser_get_files :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr (GSList (Ptr Gio.File.File)))
+
+{- |
+Lists all the selected files and subfolders in the current folder of /@chooser@/
+as 'GI.Gio.Interfaces.File.File'. An internal function, see 'GI.Gtk.Interfaces.FileChooser.fileChooserGetUris'.
+
+/Since: 2.14/
+-}
+fileChooserGetFiles ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m [Gio.File.File]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.SList.SList'
+  containing a 'GI.Gio.Interfaces.File.File' for each selected file and subfolder in the
+  current folder.  Free the returned list with @/g_slist_free()/@, and
+  the files with 'GI.GObject.Objects.Object.objectUnref'. -}
+fileChooserGetFiles chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_files chooser'
+    result' <- unpackGSList result
+    result'' <- mapM (wrapObject Gio.File.File) result'
+    g_slist_free result
+    touchManagedPtr chooser
+    return result''
+
+#if ENABLE_OVERLOADING
+data FileChooserGetFilesMethodInfo
+instance (signature ~ (m [Gio.File.File]), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetFilesMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetFiles
+
+#endif
+
+-- method FileChooser::get_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FileFilter"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_filter" gtk_file_chooser_get_filter :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr Gtk.FileFilter.FileFilter)
+
+{- |
+Gets the current filter; see 'GI.Gtk.Interfaces.FileChooser.fileChooserSetFilter'.
+
+/Since: 2.4/
+-}
+fileChooserGetFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe Gtk.FileFilter.FileFilter)
+    {- ^ __Returns:__ the current filter, or 'Nothing' -}
+fileChooserGetFilter chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_filter chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.FileFilter.FileFilter) result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetFilterMethodInfo
+instance (signature ~ (m (Maybe Gtk.FileFilter.FileFilter)), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetFilterMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetFilter
+
+#endif
+
+-- method FileChooser::get_local_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_local_only" gtk_file_chooser_get_local_only :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CInt
+
+{- |
+Gets whether only local files can be selected in the
+file selector. See 'GI.Gtk.Interfaces.FileChooser.fileChooserSetLocalOnly'
+
+/Since: 2.4/
+-}
+fileChooserGetLocalOnly ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if only local files can be selected. -}
+fileChooserGetLocalOnly chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_local_only chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetLocalOnlyMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetLocalOnlyMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetLocalOnly
+
+#endif
+
+-- method FileChooser::get_preview_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_preview_file" gtk_file_chooser_get_preview_file :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr Gio.File.File)
+
+{- |
+Gets the 'GI.Gio.Interfaces.File.File' that should be previewed in a custom preview
+Internal function, see 'GI.Gtk.Interfaces.FileChooser.fileChooserGetPreviewUri'.
+
+/Since: 2.14/
+-}
+fileChooserGetPreviewFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe Gio.File.File)
+    {- ^ __Returns:__ the 'GI.Gio.Interfaces.File.File' for the file to preview,
+    or 'Nothing' if no file is selected. Free with 'GI.GObject.Objects.Object.objectUnref'. -}
+fileChooserGetPreviewFile chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_preview_file chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gio.File.File) result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewFileMethodInfo
+instance (signature ~ (m (Maybe Gio.File.File)), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetPreviewFileMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetPreviewFile
+
+#endif
+
+-- method FileChooser::get_preview_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_preview_filename" gtk_file_chooser_get_preview_filename :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CString
+
+{- |
+Gets the filename that should be previewed in a custom preview
+widget. See 'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget'.
+
+/Since: 2.4/
+-}
+fileChooserGetPreviewFilename ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe [Char])
+    {- ^ __Returns:__ the filename to preview, or 'Nothing' if
+ no file is selected, or if the selected file cannot be represented
+ as a local filename. Free with 'GI.GLib.Functions.free' -}
+fileChooserGetPreviewFilename chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_preview_filename chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToString result'
+        freeMem result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewFilenameMethodInfo
+instance (signature ~ (m (Maybe [Char])), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetPreviewFilenameMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetPreviewFilename
+
+#endif
+
+-- method FileChooser::get_preview_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_preview_uri" gtk_file_chooser_get_preview_uri :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CString
+
+{- |
+Gets the URI that should be previewed in a custom preview
+widget. See 'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget'.
+
+/Since: 2.4/
+-}
+fileChooserGetPreviewUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the URI for the file to preview,
+    or 'Nothing' if no file is selected. Free with 'GI.GLib.Functions.free'. -}
+fileChooserGetPreviewUri chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_preview_uri chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewUriMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetPreviewUriMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetPreviewUri
+
+#endif
+
+-- method FileChooser::get_preview_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_preview_widget" gtk_file_chooser_get_preview_widget :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the current preview widget; see
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget'.
+
+/Since: 2.4/
+-}
+fileChooserGetPreviewWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the current preview widget, or 'Nothing' -}
+fileChooserGetPreviewWidget chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_preview_widget chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetPreviewWidgetMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetPreviewWidget
+
+#endif
+
+-- method FileChooser::get_preview_widget_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_preview_widget_active" gtk_file_chooser_get_preview_widget_active :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CInt
+
+{- |
+Gets whether the preview widget set by 'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget'
+should be shown for the current filename. See
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidgetActive'.
+
+/Since: 2.4/
+-}
+fileChooserGetPreviewWidgetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the preview widget is active for the current filename. -}
+fileChooserGetPreviewWidgetActive chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_preview_widget_active chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewWidgetActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetPreviewWidgetActiveMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetPreviewWidgetActive
+
+#endif
+
+-- method FileChooser::get_select_multiple
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_select_multiple" gtk_file_chooser_get_select_multiple :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CInt
+
+{- |
+Gets whether multiple files can be selected in the file
+selector. See 'GI.Gtk.Interfaces.FileChooser.fileChooserSetSelectMultiple'.
+
+/Since: 2.4/
+-}
+fileChooserGetSelectMultiple ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if multiple files can be selected. -}
+fileChooserGetSelectMultiple chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_select_multiple chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetSelectMultipleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetSelectMultipleMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetSelectMultiple
+
+#endif
+
+-- method FileChooser::get_show_hidden
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_show_hidden" gtk_file_chooser_get_show_hidden :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CInt
+
+{- |
+Gets whether hidden files and folders are displayed in the file selector.
+See 'GI.Gtk.Interfaces.FileChooser.fileChooserSetShowHidden'.
+
+/Since: 2.6/
+-}
+fileChooserGetShowHidden ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if hidden files and folders are displayed. -}
+fileChooserGetShowHidden chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_show_hidden chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetShowHiddenMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetShowHiddenMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetShowHidden
+
+#endif
+
+-- method FileChooser::get_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_uri" gtk_file_chooser_get_uri :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CString
+
+{- |
+Gets the URI for the currently selected file in
+the file selector. If multiple files are selected,
+one of the filenames will be returned at random.
+
+If the file chooser is in folder mode, this function returns the selected
+folder.
+
+/Since: 2.4/
+-}
+fileChooserGetUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ The currently selected URI, or 'Nothing'
+   if no file is selected. If 'GI.Gtk.Interfaces.FileChooser.fileChooserSetLocalOnly' is set to
+   'True' (the default) a local URI will be returned for any FUSE locations.
+   Free with 'GI.GLib.Functions.free' -}
+fileChooserGetUri chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_uri chooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr chooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserGetUriMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetUriMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetUri
+
+#endif
+
+-- method FileChooser::get_uris
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_uris" gtk_file_chooser_get_uris :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr (GSList CString))
+
+{- |
+Lists all the selected files and subfolders in the current folder of
+/@chooser@/. The returned names are full absolute URIs.
+
+/Since: 2.4/
+-}
+fileChooserGetUris ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.SList.SList' containing the URIs of all selected
+  files and subfolders in the current folder. Free the returned list
+  with @/g_slist_free()/@, and the filenames with 'GI.GLib.Functions.free'. -}
+fileChooserGetUris chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_uris chooser'
+    result' <- unpackGSList result
+    result'' <- mapM cstringToText result'
+    mapGSList freeMem result
+    g_slist_free result
+    touchManagedPtr chooser
+    return result''
+
+#if ENABLE_OVERLOADING
+data FileChooserGetUrisMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetUrisMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetUris
+
+#endif
+
+-- method FileChooser::get_use_preview_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_get_use_preview_label" gtk_file_chooser_get_use_preview_label :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO CInt
+
+{- |
+Gets whether a stock label should be drawn with the name of the previewed
+file.  See 'GI.Gtk.Interfaces.FileChooser.fileChooserSetUsePreviewLabel'.
+-}
+fileChooserGetUsePreviewLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the file chooser is set to display a label with the
+name of the previewed file, 'False' otherwise. -}
+fileChooserGetUsePreviewLabel chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_get_use_preview_label chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserGetUsePreviewLabelMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserGetUsePreviewLabelMethodInfo a signature where
+    overloadedMethod _ = fileChooserGetUsePreviewLabel
+
+#endif
+
+-- method FileChooser::list_filters
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "FileFilter"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_list_filters" gtk_file_chooser_list_filters :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr (GSList (Ptr Gtk.FileFilter.FileFilter)))
+
+{- |
+Lists the current set of user-selectable filters; see
+'GI.Gtk.Interfaces.FileChooser.fileChooserAddFilter', 'GI.Gtk.Interfaces.FileChooser.fileChooserRemoveFilter'.
+
+/Since: 2.4/
+-}
+fileChooserListFilters ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m [Gtk.FileFilter.FileFilter]
+    {- ^ __Returns:__ a
+ 'GI.GLib.Structs.SList.SList' containing the current set of user selectable filters. The
+ contents of the list are owned by GTK+, but you must free the list
+ itself with @/g_slist_free()/@ when you are done with it. -}
+fileChooserListFilters chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_list_filters chooser'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.FileFilter.FileFilter) result'
+    g_slist_free result
+    touchManagedPtr chooser
+    return result''
+
+#if ENABLE_OVERLOADING
+data FileChooserListFiltersMethodInfo
+instance (signature ~ (m [Gtk.FileFilter.FileFilter]), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserListFiltersMethodInfo a signature where
+    overloadedMethod _ = fileChooserListFilters
+
+#endif
+
+-- method FileChooser::list_shortcut_folder_uris
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_list_shortcut_folder_uris" gtk_file_chooser_list_shortcut_folder_uris :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr (GSList CString))
+
+{- |
+Queries the list of shortcut folders in the file chooser, as set by
+'GI.Gtk.Interfaces.FileChooser.fileChooserAddShortcutFolderUri'.
+
+/Since: 2.4/
+-}
+fileChooserListShortcutFolderUris ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ A list of
+folder URIs, or 'Nothing' if there are no shortcut folders.  Free the
+returned list with @/g_slist_free()/@, and the URIs with 'GI.GLib.Functions.free'. -}
+fileChooserListShortcutFolderUris chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_list_shortcut_folder_uris chooser'
+    result' <- unpackGSList result
+    result'' <- mapM cstringToText result'
+    mapGSList freeMem result
+    g_slist_free result
+    touchManagedPtr chooser
+    return result''
+
+#if ENABLE_OVERLOADING
+data FileChooserListShortcutFolderUrisMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserListShortcutFolderUrisMethodInfo a signature where
+    overloadedMethod _ = fileChooserListShortcutFolderUris
+
+#endif
+
+-- method FileChooser::list_shortcut_folders
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TBasicType TFileName))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_list_shortcut_folders" gtk_file_chooser_list_shortcut_folders :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO (Ptr (GSList CString))
+
+{- |
+Queries the list of shortcut folders in the file chooser, as set by
+'GI.Gtk.Interfaces.FileChooser.fileChooserAddShortcutFolder'.
+
+/Since: 2.4/
+-}
+fileChooserListShortcutFolders ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m [[Char]]
+    {- ^ __Returns:__ A list
+of folder filenames, or 'Nothing' if there are no shortcut folders.
+Free the returned list with @/g_slist_free()/@, and the filenames with
+'GI.GLib.Functions.free'. -}
+fileChooserListShortcutFolders chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_file_chooser_list_shortcut_folders chooser'
+    result' <- unpackGSList result
+    result'' <- mapM cstringToString result'
+    mapGSList freeMem result
+    g_slist_free result
+    touchManagedPtr chooser
+    return result''
+
+#if ENABLE_OVERLOADING
+data FileChooserListShortcutFoldersMethodInfo
+instance (signature ~ (m [[Char]]), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserListShortcutFoldersMethodInfo a signature where
+    overloadedMethod _ = fileChooserListShortcutFolders
+
+#endif
+
+-- method FileChooser::remove_choice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ID of the choice to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_remove_choice" gtk_file_chooser_remove_choice :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- id : TBasicType TUTF8
+    IO ()
+
+{- |
+Removes a \'choice\' that has been added with 'GI.Gtk.Interfaces.FileChooser.fileChooserAddChoice'.
+
+/Since: 3.22/
+-}
+fileChooserRemoveChoice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@id@/: the ID of the choice to remove -}
+    -> m ()
+fileChooserRemoveChoice chooser id = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    id' <- textToCString id
+    gtk_file_chooser_remove_choice chooser' id'
+    touchManagedPtr chooser
+    freeMem id'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserRemoveChoiceMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserRemoveChoiceMethodInfo a signature where
+    overloadedMethod _ = fileChooserRemoveChoice
+
+#endif
+
+-- method FileChooser::remove_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_remove_filter" gtk_file_chooser_remove_filter :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    Ptr Gtk.FileFilter.FileFilter ->        -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    IO ()
+
+{- |
+Removes /@filter@/ from the list of filters that the user can select between.
+
+/Since: 2.4/
+-}
+fileChooserRemoveFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a, Gtk.FileFilter.IsFileFilter b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> b
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> m ()
+fileChooserRemoveFilter chooser filter = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_file_chooser_remove_filter chooser' filter'
+    touchManagedPtr chooser
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserRemoveFilterMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFileChooser a, Gtk.FileFilter.IsFileFilter b) => O.MethodInfo FileChooserRemoveFilterMethodInfo a signature where
+    overloadedMethod _ = fileChooserRemoveFilter
+
+#endif
+
+-- method FileChooser::remove_shortcut_folder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "folder", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "filename of the folder to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_remove_shortcut_folder" gtk_file_chooser_remove_shortcut_folder :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- folder : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Removes a folder from a file chooser’s list of shortcut folders.
+
+/Since: 2.4/
+-}
+fileChooserRemoveShortcutFolder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> [Char]
+    {- ^ /@folder@/: filename of the folder to remove -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+fileChooserRemoveShortcutFolder chooser folder = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    folder' <- stringToCString folder
+    onException (do
+        _ <- propagateGError $ gtk_file_chooser_remove_shortcut_folder chooser' folder'
+        touchManagedPtr chooser
+        freeMem folder'
+        return ()
+     ) (do
+        freeMem folder'
+     )
+
+#if ENABLE_OVERLOADING
+data FileChooserRemoveShortcutFolderMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserRemoveShortcutFolderMethodInfo a signature where
+    overloadedMethod _ = fileChooserRemoveShortcutFolder
+
+#endif
+
+-- method FileChooser::remove_shortcut_folder_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "URI of the folder to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_remove_shortcut_folder_uri" gtk_file_chooser_remove_shortcut_folder_uri :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Removes a folder URI from a file chooser’s list of shortcut folders.
+
+/Since: 2.4/
+-}
+fileChooserRemoveShortcutFolderUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@uri@/: URI of the folder to remove -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+fileChooserRemoveShortcutFolderUri chooser uri = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    uri' <- textToCString uri
+    onException (do
+        _ <- propagateGError $ gtk_file_chooser_remove_shortcut_folder_uri chooser' uri'
+        touchManagedPtr chooser
+        freeMem uri'
+        return ()
+     ) (do
+        freeMem uri'
+     )
+
+#if ENABLE_OVERLOADING
+data FileChooserRemoveShortcutFolderUriMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserRemoveShortcutFolderUriMethodInfo a signature where
+    overloadedMethod _ = fileChooserRemoveShortcutFolderUri
+
+#endif
+
+-- method FileChooser::select_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_select_all" gtk_file_chooser_select_all :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO ()
+
+{- |
+Selects all the files in the current folder of a file chooser.
+
+/Since: 2.4/
+-}
+fileChooserSelectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m ()
+fileChooserSelectAll chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    gtk_file_chooser_select_all chooser'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSelectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSelectAllMethodInfo a signature where
+    overloadedMethod _ = fileChooserSelectAll
+
+#endif
+
+-- method FileChooser::select_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the file to select", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_select_file" gtk_file_chooser_select_file :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    Ptr Gio.File.File ->                    -- file : TInterface (Name {namespace = "Gio", name = "File"})
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Selects the file referred to by /@file@/. An internal function. See
+@/_gtk_file_chooser_select_uri()/@.
+
+/Since: 2.14/
+-}
+fileChooserSelectFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a, Gio.File.IsFile b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> b
+    {- ^ /@file@/: the file to select -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+fileChooserSelectFile chooser file = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    file' <- unsafeManagedPtrCastPtr file
+    onException (do
+        _ <- propagateGError $ gtk_file_chooser_select_file chooser' file'
+        touchManagedPtr chooser
+        touchManagedPtr file
+        return ()
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data FileChooserSelectFileMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFileChooser a, Gio.File.IsFile b) => O.MethodInfo FileChooserSelectFileMethodInfo a signature where
+    overloadedMethod _ = fileChooserSelectFile
+
+#endif
+
+-- method FileChooser::select_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename to select", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_select_filename" gtk_file_chooser_select_filename :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- filename : TBasicType TFileName
+    IO CInt
+
+{- |
+Selects a filename. If the file name isn’t in the current
+folder of /@chooser@/, then the current folder of /@chooser@/ will
+be changed to the folder containing /@filename@/.
+
+/Since: 2.4/
+-}
+fileChooserSelectFilename ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> [Char]
+    {- ^ /@filename@/: the filename to select -}
+    -> m Bool
+    {- ^ __Returns:__ Not useful.
+
+See also: 'GI.Gtk.Interfaces.FileChooser.fileChooserSetFilename' -}
+fileChooserSelectFilename chooser filename = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    filename' <- stringToCString filename
+    result <- gtk_file_chooser_select_filename chooser' filename'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    freeMem filename'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserSelectFilenameMethodInfo
+instance (signature ~ ([Char] -> m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSelectFilenameMethodInfo a signature where
+    overloadedMethod _ = fileChooserSelectFilename
+
+#endif
+
+-- method FileChooser::select_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the URI to select", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_select_uri" gtk_file_chooser_select_uri :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- uri : TBasicType TUTF8
+    IO CInt
+
+{- |
+Selects the file to by /@uri@/. If the URI doesn’t refer to a
+file in the current folder of /@chooser@/, then the current folder of
+/@chooser@/ will be changed to the folder containing /@filename@/.
+
+/Since: 2.4/
+-}
+fileChooserSelectUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@uri@/: the URI to select -}
+    -> m Bool
+    {- ^ __Returns:__ Not useful. -}
+fileChooserSelectUri chooser uri = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    uri' <- textToCString uri
+    result <- gtk_file_chooser_select_uri chooser' uri'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    freeMem uri'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserSelectUriMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSelectUriMethodInfo a signature where
+    overloadedMethod _ = fileChooserSelectUri
+
+#endif
+
+-- method FileChooser::set_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action that the file selector is performing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_action" gtk_file_chooser_set_action :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CUInt ->                                -- action : TInterface (Name {namespace = "Gtk", name = "FileChooserAction"})
+    IO ()
+
+{- |
+Sets the type of operation that the chooser is performing; the
+user interface is adapted to suit the selected action. For example,
+an option to create a new folder might be shown if the action is
+'GI.Gtk.Enums.FileChooserActionSave' but not if the action is
+'GI.Gtk.Enums.FileChooserActionOpen'.
+
+/Since: 2.4/
+-}
+fileChooserSetAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> Gtk.Enums.FileChooserAction
+    {- ^ /@action@/: the action that the file selector is performing -}
+    -> m ()
+fileChooserSetAction chooser action = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let action' = (fromIntegral . fromEnum) action
+    gtk_file_chooser_set_action chooser' action'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetActionMethodInfo
+instance (signature ~ (Gtk.Enums.FileChooserAction -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetActionMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetAction
+
+#endif
+
+-- method FileChooser::set_choice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ID of the choice to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "option", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ID of the option to select", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_choice" gtk_file_chooser_set_choice :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- id : TBasicType TUTF8
+    CString ->                              -- option : TBasicType TUTF8
+    IO ()
+
+{- |
+Selects an option in a \'choice\' that has been added with
+'GI.Gtk.Interfaces.FileChooser.fileChooserAddChoice'. For a boolean choice, the
+possible options are \"true\" and \"false\".
+
+/Since: 3.22/
+-}
+fileChooserSetChoice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@id@/: the ID of the choice to set -}
+    -> T.Text
+    {- ^ /@option@/: the ID of the option to select -}
+    -> m ()
+fileChooserSetChoice chooser id option = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    id' <- textToCString id
+    option' <- textToCString option
+    gtk_file_chooser_set_choice chooser' id' option'
+    touchManagedPtr chooser
+    freeMem id'
+    freeMem option'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetChoiceMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetChoiceMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetChoice
+
+#endif
+
+-- method FileChooser::set_create_folders
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "create_folders", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the Create Folder button should be displayed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_create_folders" gtk_file_chooser_set_create_folders :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CInt ->                                 -- create_folders : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether file choser will offer to create new folders.
+This is only relevant if the action is not set to be
+'GI.Gtk.Enums.FileChooserActionOpen'.
+
+/Since: 2.18/
+-}
+fileChooserSetCreateFolders ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> Bool
+    {- ^ /@createFolders@/: 'True' if the Create Folder button should be displayed -}
+    -> m ()
+fileChooserSetCreateFolders chooser createFolders = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let createFolders' = (fromIntegral . fromEnum) createFolders
+    gtk_file_chooser_set_create_folders chooser' createFolders'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetCreateFoldersMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetCreateFoldersMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetCreateFolders
+
+#endif
+
+-- method FileChooser::set_current_folder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the full path of the new current folder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_current_folder" gtk_file_chooser_set_current_folder :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- filename : TBasicType TFileName
+    IO CInt
+
+{- |
+Sets the current folder for /@chooser@/ from a local filename.
+The user will be shown the full contents of the current folder,
+plus user interface elements for navigating to other folders.
+
+In general, you should not use this function.  See the
+[section on setting up a file chooser dialog][gtkfilechooserdialog-setting-up]
+for the rationale behind this.
+
+/Since: 2.4/
+-}
+fileChooserSetCurrentFolder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> [Char]
+    {- ^ /@filename@/: the full path of the new current folder -}
+    -> m Bool
+    {- ^ __Returns:__ Not useful. -}
+fileChooserSetCurrentFolder chooser filename = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    filename' <- stringToCString filename
+    result <- gtk_file_chooser_set_current_folder chooser' filename'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    freeMem filename'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserSetCurrentFolderMethodInfo
+instance (signature ~ ([Char] -> m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetCurrentFolderMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetCurrentFolder
+
+#endif
+
+-- method FileChooser::set_current_folder_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GFile for the new folder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_current_folder_file" gtk_file_chooser_set_current_folder_file :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    Ptr Gio.File.File ->                    -- file : TInterface (Name {namespace = "Gio", name = "File"})
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Sets the current folder for /@chooser@/ from a 'GI.Gio.Interfaces.File.File'.
+Internal function, see 'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentFolderUri'.
+
+/Since: 2.14/
+-}
+fileChooserSetCurrentFolderFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a, Gio.File.IsFile b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> b
+    {- ^ /@file@/: the 'GI.Gio.Interfaces.File.File' for the new folder -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+fileChooserSetCurrentFolderFile chooser file = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    file' <- unsafeManagedPtrCastPtr file
+    onException (do
+        _ <- propagateGError $ gtk_file_chooser_set_current_folder_file chooser' file'
+        touchManagedPtr chooser
+        touchManagedPtr file
+        return ()
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data FileChooserSetCurrentFolderFileMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFileChooser a, Gio.File.IsFile b) => O.MethodInfo FileChooserSetCurrentFolderFileMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetCurrentFolderFile
+
+#endif
+
+-- method FileChooser::set_current_folder_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the URI for the new current folder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_current_folder_uri" gtk_file_chooser_set_current_folder_uri :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- uri : TBasicType TUTF8
+    IO CInt
+
+{- |
+Sets the current folder for /@chooser@/ from an URI.
+The user will be shown the full contents of the current folder,
+plus user interface elements for navigating to other folders.
+
+In general, you should not use this function.  See the
+[section on setting up a file chooser dialog][gtkfilechooserdialog-setting-up]
+for the rationale behind this.
+
+/Since: 2.4/
+-}
+fileChooserSetCurrentFolderUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@uri@/: the URI for the new current folder -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the folder could be changed successfully, 'False'
+otherwise. -}
+fileChooserSetCurrentFolderUri chooser uri = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    uri' <- textToCString uri
+    result <- gtk_file_chooser_set_current_folder_uri chooser' uri'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    freeMem uri'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserSetCurrentFolderUriMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetCurrentFolderUriMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetCurrentFolderUri
+
+#endif
+
+-- method FileChooser::set_current_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename to use, as a UTF-8 string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_current_name" gtk_file_chooser_set_current_name :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- name : TBasicType TFileName
+    IO ()
+
+{- |
+Sets the current name in the file selector, as if entered
+by the user. Note that the name passed in here is a UTF-8
+string rather than a filename. This function is meant for
+such uses as a suggested name in a “Save As...” dialog.  You can
+pass “Untitled.doc” or a similarly suitable suggestion for the /@name@/.
+
+If you want to preselect a particular existing file, you should use
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetFilename' or 'GI.Gtk.Interfaces.FileChooser.fileChooserSetUri' instead.
+Please see the documentation for those functions for an example of using
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentName' as well.
+
+/Since: 2.4/
+-}
+fileChooserSetCurrentName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> [Char]
+    {- ^ /@name@/: the filename to use, as a UTF-8 string -}
+    -> m ()
+fileChooserSetCurrentName chooser name = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    name' <- stringToCString name
+    gtk_file_chooser_set_current_name chooser' name'
+    touchManagedPtr chooser
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetCurrentNameMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetCurrentNameMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetCurrentName
+
+#endif
+
+-- method FileChooser::set_do_overwrite_confirmation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "do_overwrite_confirmation", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to confirm overwriting in save mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_do_overwrite_confirmation" gtk_file_chooser_set_do_overwrite_confirmation :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CInt ->                                 -- do_overwrite_confirmation : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether a file chooser in 'GI.Gtk.Enums.FileChooserActionSave' mode will present
+a confirmation dialog if the user types a file name that already exists.  This
+is 'False' by default.
+
+If set to 'True', the /@chooser@/ will emit the
+'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/confirm-overwrite/@ signal when appropriate.
+
+If all you need is the stock confirmation dialog, set this property to 'True'.
+You can override the way confirmation is done by actually handling the
+'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/confirm-overwrite/@ signal; please refer to its documentation
+for the details.
+
+/Since: 2.8/
+-}
+fileChooserSetDoOverwriteConfirmation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> Bool
+    {- ^ /@doOverwriteConfirmation@/: whether to confirm overwriting in save mode -}
+    -> m ()
+fileChooserSetDoOverwriteConfirmation chooser doOverwriteConfirmation = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let doOverwriteConfirmation' = (fromIntegral . fromEnum) doOverwriteConfirmation
+    gtk_file_chooser_set_do_overwrite_confirmation chooser' doOverwriteConfirmation'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetDoOverwriteConfirmationMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetDoOverwriteConfirmationMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetDoOverwriteConfirmation
+
+#endif
+
+-- method FileChooser::set_extra_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extra_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget for extra options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_extra_widget" gtk_file_chooser_set_extra_widget :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    Ptr Gtk.Widget.Widget ->                -- extra_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets an application-supplied widget to provide extra options to the user.
+
+/Since: 2.4/
+-}
+fileChooserSetExtraWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> b
+    {- ^ /@extraWidget@/: widget for extra options -}
+    -> m ()
+fileChooserSetExtraWidget chooser extraWidget = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    extraWidget' <- unsafeManagedPtrCastPtr extraWidget
+    gtk_file_chooser_set_extra_widget chooser' extraWidget'
+    touchManagedPtr chooser
+    touchManagedPtr extraWidget
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetExtraWidgetMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFileChooser a, Gtk.Widget.IsWidget b) => O.MethodInfo FileChooserSetExtraWidgetMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetExtraWidget
+
+#endif
+
+-- method FileChooser::set_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GFile to set as current", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_file" gtk_file_chooser_set_file :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    Ptr Gio.File.File ->                    -- file : TInterface (Name {namespace = "Gio", name = "File"})
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Sets /@file@/ as the current filename for the file chooser, by changing
+to the file’s parent folder and actually selecting the file in list.  If
+the /@chooser@/ is in 'GI.Gtk.Enums.FileChooserActionSave' mode, the file’s base name
+will also appear in the dialog’s file name entry.
+
+If the file name isn’t in the current folder of /@chooser@/, then the current
+folder of /@chooser@/ will be changed to the folder containing /@filename@/. This
+is equivalent to a sequence of 'GI.Gtk.Interfaces.FileChooser.fileChooserUnselectAll' followed by
+'GI.Gtk.Interfaces.FileChooser.fileChooserSelectFilename'.
+
+Note that the file must exist, or nothing will be done except
+for the directory change.
+
+If you are implementing a save dialog,
+you should use this function if you already have a file name to which the
+user may save; for example, when the user opens an existing file and then
+does Save As...  If you don’t have
+a file name already — for example, if the user just created a new
+file and is saving it for the first time, do not call this function.
+Instead, use something similar to this:
+
+=== /C code/
+>
+>if (document_is_new)
+>  {
+>    // the user just created a new document
+>    gtk_file_chooser_set_current_folder_file (chooser, default_file_for_saving);
+>    gtk_file_chooser_set_current_name (chooser, "Untitled document");
+>  }
+>else
+>  {
+>    // the user edited an existing document
+>    gtk_file_chooser_set_file (chooser, existing_file);
+>  }
+
+
+/Since: 2.14/
+-}
+fileChooserSetFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a, Gio.File.IsFile b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> b
+    {- ^ /@file@/: the 'GI.Gio.Interfaces.File.File' to set as current -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+fileChooserSetFile chooser file = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    file' <- unsafeManagedPtrCastPtr file
+    onException (do
+        _ <- propagateGError $ gtk_file_chooser_set_file chooser' file'
+        touchManagedPtr chooser
+        touchManagedPtr file
+        return ()
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data FileChooserSetFileMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFileChooser a, Gio.File.IsFile b) => O.MethodInfo FileChooserSetFileMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetFile
+
+#endif
+
+-- method FileChooser::set_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename to set as current", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_filename" gtk_file_chooser_set_filename :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- filename : TBasicType TFileName
+    IO CInt
+
+{- |
+Sets /@filename@/ as the current filename for the file chooser, by changing to
+the file’s parent folder and actually selecting the file in list; all other
+files will be unselected.  If the /@chooser@/ is in
+'GI.Gtk.Enums.FileChooserActionSave' mode, the file’s base name will also appear in
+the dialog’s file name entry.
+
+Note that the file must exist, or nothing will be done except
+for the directory change.
+
+You should use this function only when implementing a save
+dialog for which you already have a file name to which
+the user may save.  For example, when the user opens an existing file and
+then does Save As... to save a copy or
+a modified version.  If you don’t have a file name already — for
+example, if the user just created a new file and is saving it for the first
+time, do not call this function.  Instead, use something similar to this:
+
+=== /C code/
+>
+>if (document_is_new)
+>  {
+>    // the user just created a new document
+>    gtk_file_chooser_set_current_name (chooser, "Untitled document");
+>  }
+>else
+>  {
+>    // the user edited an existing document
+>    gtk_file_chooser_set_filename (chooser, existing_filename);
+>  }
+
+
+In the first case, the file chooser will present the user with useful suggestions
+as to where to save his new file.  In the second case, the file’s existing location
+is already known, so the file chooser will use it.
+
+/Since: 2.4/
+-}
+fileChooserSetFilename ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> [Char]
+    {- ^ /@filename@/: the filename to set as current -}
+    -> m Bool
+    {- ^ __Returns:__ Not useful. -}
+fileChooserSetFilename chooser filename = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    filename' <- stringToCString filename
+    result <- gtk_file_chooser_set_filename chooser' filename'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    freeMem filename'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserSetFilenameMethodInfo
+instance (signature ~ ([Char] -> m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetFilenameMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetFilename
+
+#endif
+
+-- method FileChooser::set_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_filter" gtk_file_chooser_set_filter :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    Ptr Gtk.FileFilter.FileFilter ->        -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    IO ()
+
+{- |
+Sets the current filter; only the files that pass the
+filter will be displayed. If the user-selectable list of filters
+is non-empty, then the filter should be one of the filters
+in that list. Setting the current filter when the list of
+filters is empty is useful if you want to restrict the displayed
+set of files without letting the user change it.
+
+/Since: 2.4/
+-}
+fileChooserSetFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a, Gtk.FileFilter.IsFileFilter b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> b
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> m ()
+fileChooserSetFilter chooser filter = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_file_chooser_set_filter chooser' filter'
+    touchManagedPtr chooser
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetFilterMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFileChooser a, Gtk.FileFilter.IsFileFilter b) => O.MethodInfo FileChooserSetFilterMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetFilter
+
+#endif
+
+-- method FileChooser::set_local_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "local_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if only local files can be selected", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_local_only" gtk_file_chooser_set_local_only :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CInt ->                                 -- local_only : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether only local files can be selected in the
+file selector. If /@localOnly@/ is 'True' (the default),
+then the selected file or files are guaranteed to be
+accessible through the operating systems native file
+system and therefore the application only
+needs to worry about the filename functions in
+'GI.Gtk.Interfaces.FileChooser.FileChooser', like 'GI.Gtk.Interfaces.FileChooser.fileChooserGetFilename',
+rather than the URI functions like
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetUri',
+
+On some systems non-native files may still be
+available using the native filesystem via a userspace
+filesystem (FUSE).
+
+/Since: 2.4/
+-}
+fileChooserSetLocalOnly ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> Bool
+    {- ^ /@localOnly@/: 'True' if only local files can be selected -}
+    -> m ()
+fileChooserSetLocalOnly chooser localOnly = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let localOnly' = (fromIntegral . fromEnum) localOnly
+    gtk_file_chooser_set_local_only chooser' localOnly'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetLocalOnlyMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetLocalOnlyMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetLocalOnly
+
+#endif
+
+-- method FileChooser::set_preview_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "preview_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget for displaying preview.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_preview_widget" gtk_file_chooser_set_preview_widget :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    Ptr Gtk.Widget.Widget ->                -- preview_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets an application-supplied widget to use to display a custom preview
+of the currently selected file. To implement a preview, after setting the
+preview widget, you connect to the 'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/update-preview/@
+signal, and call 'GI.Gtk.Interfaces.FileChooser.fileChooserGetPreviewFilename' or
+'GI.Gtk.Interfaces.FileChooser.fileChooserGetPreviewUri' on each change. If you can
+display a preview of the new file, update your widget and
+set the preview active using 'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidgetActive'.
+Otherwise, set the preview inactive.
+
+When there is no application-supplied preview widget, or the
+application-supplied preview widget is not active, the file chooser
+will display no preview at all.
+
+/Since: 2.4/
+-}
+fileChooserSetPreviewWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> b
+    {- ^ /@previewWidget@/: widget for displaying preview. -}
+    -> m ()
+fileChooserSetPreviewWidget chooser previewWidget = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    previewWidget' <- unsafeManagedPtrCastPtr previewWidget
+    gtk_file_chooser_set_preview_widget chooser' previewWidget'
+    touchManagedPtr chooser
+    touchManagedPtr previewWidget
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetPreviewWidgetMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFileChooser a, Gtk.Widget.IsWidget b) => O.MethodInfo FileChooserSetPreviewWidgetMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetPreviewWidget
+
+#endif
+
+-- method FileChooser::set_preview_widget_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to display the user-specified preview widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_preview_widget_active" gtk_file_chooser_set_preview_widget_active :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CInt ->                                 -- active : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the preview widget set by
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget' should be shown for the
+current filename. When /@active@/ is set to false, the file chooser
+may display an internally generated preview of the current file
+or it may display no preview at all. See
+'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget' for more details.
+
+/Since: 2.4/
+-}
+fileChooserSetPreviewWidgetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> Bool
+    {- ^ /@active@/: whether to display the user-specified preview widget -}
+    -> m ()
+fileChooserSetPreviewWidgetActive chooser active = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let active' = (fromIntegral . fromEnum) active
+    gtk_file_chooser_set_preview_widget_active chooser' active'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetPreviewWidgetActiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetPreviewWidgetActiveMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetPreviewWidgetActive
+
+#endif
+
+-- method FileChooser::set_select_multiple
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "select_multiple", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if multiple files can be selected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_select_multiple" gtk_file_chooser_set_select_multiple :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CInt ->                                 -- select_multiple : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether multiple files can be selected in the file selector.  This is
+only relevant if the action is set to be 'GI.Gtk.Enums.FileChooserActionOpen' or
+'GI.Gtk.Enums.FileChooserActionSelectFolder'.
+
+/Since: 2.4/
+-}
+fileChooserSetSelectMultiple ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> Bool
+    {- ^ /@selectMultiple@/: 'True' if multiple files can be selected. -}
+    -> m ()
+fileChooserSetSelectMultiple chooser selectMultiple = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let selectMultiple' = (fromIntegral . fromEnum) selectMultiple
+    gtk_file_chooser_set_select_multiple chooser' selectMultiple'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetSelectMultipleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetSelectMultipleMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetSelectMultiple
+
+#endif
+
+-- method FileChooser::set_show_hidden
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_hidden", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if hidden files and folders should be displayed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_show_hidden" gtk_file_chooser_set_show_hidden :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CInt ->                                 -- show_hidden : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether hidden files and folders are displayed in the file selector.
+
+/Since: 2.6/
+-}
+fileChooserSetShowHidden ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> Bool
+    {- ^ /@showHidden@/: 'True' if hidden files and folders should be displayed. -}
+    -> m ()
+fileChooserSetShowHidden chooser showHidden = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let showHidden' = (fromIntegral . fromEnum) showHidden
+    gtk_file_chooser_set_show_hidden chooser' showHidden'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetShowHiddenMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetShowHiddenMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetShowHidden
+
+#endif
+
+-- method FileChooser::set_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the URI to set as current", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_uri" gtk_file_chooser_set_uri :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- uri : TBasicType TUTF8
+    IO CInt
+
+{- |
+Sets the file referred to by /@uri@/ as the current file for the file chooser,
+by changing to the URI’s parent folder and actually selecting the URI in the
+list.  If the /@chooser@/ is 'GI.Gtk.Enums.FileChooserActionSave' mode, the URI’s base
+name will also appear in the dialog’s file name entry.
+
+Note that the URI must exist, or nothing will be done except for the
+directory change.
+
+You should use this function only when implementing a save
+dialog for which you already have a file name to which
+the user may save.  For example, when the user opens an existing file and then
+does Save As... to save a copy or a
+modified version.  If you don’t have a file name already — for example,
+if the user just created a new file and is saving it for the first time, do
+not call this function.  Instead, use something similar to this:
+
+=== /C code/
+>
+>if (document_is_new)
+>  {
+>    // the user just created a new document
+>    gtk_file_chooser_set_current_name (chooser, "Untitled document");
+>  }
+>else
+>  {
+>    // the user edited an existing document
+>    gtk_file_chooser_set_uri (chooser, existing_uri);
+>  }
+
+
+
+In the first case, the file chooser will present the user with useful suggestions
+as to where to save his new file.  In the second case, the file’s existing location
+is already known, so the file chooser will use it.
+
+/Since: 2.4/
+-}
+fileChooserSetUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@uri@/: the URI to set as current -}
+    -> m Bool
+    {- ^ __Returns:__ Not useful. -}
+fileChooserSetUri chooser uri = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    uri' <- textToCString uri
+    result <- gtk_file_chooser_set_uri chooser' uri'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    freeMem uri'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserSetUriMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetUriMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetUri
+
+#endif
+
+-- method FileChooser::set_use_preview_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_label", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to display a stock label with the name of the previewed file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_set_use_preview_label" gtk_file_chooser_set_use_preview_label :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CInt ->                                 -- use_label : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the file chooser should display a stock label with the name of
+the file that is being previewed; the default is 'True'.  Applications that
+want to draw the whole preview area themselves should set this to 'False' and
+display the name themselves in their preview widget.
+
+See also: 'GI.Gtk.Interfaces.FileChooser.fileChooserSetPreviewWidget'
+
+/Since: 2.4/
+-}
+fileChooserSetUsePreviewLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> Bool
+    {- ^ /@useLabel@/: whether to display a stock label with the name of the previewed file -}
+    -> m ()
+fileChooserSetUsePreviewLabel chooser useLabel = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let useLabel' = (fromIntegral . fromEnum) useLabel
+    gtk_file_chooser_set_use_preview_label chooser' useLabel'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserSetUsePreviewLabelMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserSetUsePreviewLabelMethodInfo a signature where
+    overloadedMethod _ = fileChooserSetUsePreviewLabel
+
+#endif
+
+-- method FileChooser::unselect_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_unselect_all" gtk_file_chooser_unselect_all :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    IO ()
+
+{- |
+Unselects all the files in the current folder of a file chooser.
+
+/Since: 2.4/
+-}
+fileChooserUnselectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> m ()
+fileChooserUnselectAll chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    gtk_file_chooser_unselect_all chooser'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserUnselectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserUnselectAllMethodInfo a signature where
+    overloadedMethod _ = fileChooserUnselectAll
+
+#endif
+
+-- method FileChooser::unselect_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_unselect_file" gtk_file_chooser_unselect_file :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    Ptr Gio.File.File ->                    -- file : TInterface (Name {namespace = "Gio", name = "File"})
+    IO ()
+
+{- |
+Unselects the file referred to by /@file@/. If the file is not in the current
+directory, does not exist, or is otherwise not currently selected, does nothing.
+
+/Since: 2.14/
+-}
+fileChooserUnselectFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a, Gio.File.IsFile b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> b
+    {- ^ /@file@/: a 'GI.Gio.Interfaces.File.File' -}
+    -> m ()
+fileChooserUnselectFile chooser file = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    file' <- unsafeManagedPtrCastPtr file
+    gtk_file_chooser_unselect_file chooser' file'
+    touchManagedPtr chooser
+    touchManagedPtr file
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserUnselectFileMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFileChooser a, Gio.File.IsFile b) => O.MethodInfo FileChooserUnselectFileMethodInfo a signature where
+    overloadedMethod _ = fileChooserUnselectFile
+
+#endif
+
+-- method FileChooser::unselect_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename to unselect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_unselect_filename" gtk_file_chooser_unselect_filename :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- filename : TBasicType TFileName
+    IO ()
+
+{- |
+Unselects a currently selected filename. If the filename
+is not in the current directory, does not exist, or
+is otherwise not currently selected, does nothing.
+
+/Since: 2.4/
+-}
+fileChooserUnselectFilename ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> [Char]
+    {- ^ /@filename@/: the filename to unselect -}
+    -> m ()
+fileChooserUnselectFilename chooser filename = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    filename' <- stringToCString filename
+    gtk_file_chooser_unselect_filename chooser' filename'
+    touchManagedPtr chooser
+    freeMem filename'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserUnselectFilenameMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserUnselectFilenameMethodInfo a signature where
+    overloadedMethod _ = fileChooserUnselectFilename
+
+#endif
+
+-- method FileChooser::unselect_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "FileChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the URI to unselect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_unselect_uri" gtk_file_chooser_unselect_uri :: 
+    Ptr FileChooser ->                      -- chooser : TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+    CString ->                              -- uri : TBasicType TUTF8
+    IO ()
+
+{- |
+Unselects the file referred to by /@uri@/. If the file
+is not in the current directory, does not exist, or
+is otherwise not currently selected, does nothing.
+
+/Since: 2.4/
+-}
+fileChooserUnselectUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.FileChooser.FileChooser' -}
+    -> T.Text
+    {- ^ /@uri@/: the URI to unselect -}
+    -> m ()
+fileChooserUnselectUri chooser uri = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    uri' <- textToCString uri
+    gtk_file_chooser_unselect_uri chooser' uri'
+    touchManagedPtr chooser
+    freeMem uri'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserUnselectUriMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFileChooser a) => O.MethodInfo FileChooserUnselectUriMethodInfo a signature where
+    overloadedMethod _ = fileChooserUnselectUri
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/FileChooser.hs-boot b/GI/Gtk/Interfaces/FileChooser.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/FileChooser.hs-boot
@@ -0,0 +1,266 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.FileChooser where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FileChooser = FileChooser (ManagedPtr FileChooser)
+#if ENABLE_OVERLOADING
+data FileChooserConfirmOverwriteSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserCurrentFolderChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserFileActivatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSelectionChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserUpdatePreviewSignalInfo
+#endif
+instance GObject FileChooser where
+class (GObject o, O.IsDescendantOf FileChooser o) => IsFileChooser o
+instance (GObject o, O.IsDescendantOf FileChooser o) => IsFileChooser o
+instance O.HasParentTypes FileChooser
+#if ENABLE_OVERLOADING
+data FileChooserActionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserCreateFoldersPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserDoOverwriteConfirmationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserExtraWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserFilterPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserLocalOnlyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserPreviewWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserPreviewWidgetActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSelectMultiplePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserShowHiddenPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserUsePreviewLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserAddChoiceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserAddFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserAddShortcutFolderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserAddShortcutFolderUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetChoiceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetCreateFoldersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetCurrentFolderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetCurrentFolderFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetCurrentFolderUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetCurrentNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetDoOverwriteConfirmationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetExtraWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetFilenameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetFilenamesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetFilesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetLocalOnlyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewFilenameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetPreviewWidgetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetSelectMultipleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetShowHiddenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetUrisMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserGetUsePreviewLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserListFiltersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserListShortcutFolderUrisMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserListShortcutFoldersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserRemoveChoiceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserRemoveFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserRemoveShortcutFolderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserRemoveShortcutFolderUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSelectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSelectFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSelectFilenameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSelectUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetChoiceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetCreateFoldersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetCurrentFolderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetCurrentFolderFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetCurrentFolderUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetCurrentNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetDoOverwriteConfirmationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetExtraWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetFilenameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetLocalOnlyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetPreviewWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetPreviewWidgetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetSelectMultipleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetShowHiddenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserSetUsePreviewLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserUnselectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserUnselectFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserUnselectFilenameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserUnselectUriMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/FontChooser.hs b/GI/Gtk/Interfaces/FontChooser.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/FontChooser.hs
@@ -0,0 +1,1667 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Interfaces.FontChooser.FontChooser' is an interface that can be implemented by widgets
+displaying the list of fonts. In GTK+, the main objects
+that implement this interface are 'GI.Gtk.Objects.FontChooserWidget.FontChooserWidget',
+'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog' and 'GI.Gtk.Objects.FontButton.FontButton'. The GtkFontChooser interface
+has been introducted in GTK+ 3.2.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.FontChooser
+    ( 
+
+-- * Exported types
+    FontChooser(..)                         ,
+    noFontChooser                           ,
+    IsFontChooser                           ,
+    toFontChooser                           ,
+
+
+ -- * Methods
+-- ** getFont #method:getFont#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetFontMethodInfo            ,
+#endif
+    fontChooserGetFont                      ,
+
+
+-- ** getFontDesc #method:getFontDesc#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetFontDescMethodInfo        ,
+#endif
+    fontChooserGetFontDesc                  ,
+
+
+-- ** getFontFace #method:getFontFace#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetFontFaceMethodInfo        ,
+#endif
+    fontChooserGetFontFace                  ,
+
+
+-- ** getFontFamily #method:getFontFamily#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetFontFamilyMethodInfo      ,
+#endif
+    fontChooserGetFontFamily                ,
+
+
+-- ** getFontFeatures #method:getFontFeatures#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetFontFeaturesMethodInfo    ,
+#endif
+    fontChooserGetFontFeatures              ,
+
+
+-- ** getFontMap #method:getFontMap#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetFontMapMethodInfo         ,
+#endif
+    fontChooserGetFontMap                   ,
+
+
+-- ** getFontSize #method:getFontSize#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetFontSizeMethodInfo        ,
+#endif
+    fontChooserGetFontSize                  ,
+
+
+-- ** getLanguage #method:getLanguage#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetLanguageMethodInfo        ,
+#endif
+    fontChooserGetLanguage                  ,
+
+
+-- ** getLevel #method:getLevel#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetLevelMethodInfo           ,
+#endif
+    fontChooserGetLevel                     ,
+
+
+-- ** getPreviewText #method:getPreviewText#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetPreviewTextMethodInfo     ,
+#endif
+    fontChooserGetPreviewText               ,
+
+
+-- ** getShowPreviewEntry #method:getShowPreviewEntry#
+
+#if ENABLE_OVERLOADING
+    FontChooserGetShowPreviewEntryMethodInfo,
+#endif
+    fontChooserGetShowPreviewEntry          ,
+
+
+-- ** setFilterFunc #method:setFilterFunc#
+
+#if ENABLE_OVERLOADING
+    FontChooserSetFilterFuncMethodInfo      ,
+#endif
+    fontChooserSetFilterFunc                ,
+
+
+-- ** setFont #method:setFont#
+
+#if ENABLE_OVERLOADING
+    FontChooserSetFontMethodInfo            ,
+#endif
+    fontChooserSetFont                      ,
+
+
+-- ** setFontDesc #method:setFontDesc#
+
+#if ENABLE_OVERLOADING
+    FontChooserSetFontDescMethodInfo        ,
+#endif
+    fontChooserSetFontDesc                  ,
+
+
+-- ** setFontMap #method:setFontMap#
+
+#if ENABLE_OVERLOADING
+    FontChooserSetFontMapMethodInfo         ,
+#endif
+    fontChooserSetFontMap                   ,
+
+
+-- ** setLanguage #method:setLanguage#
+
+#if ENABLE_OVERLOADING
+    FontChooserSetLanguageMethodInfo        ,
+#endif
+    fontChooserSetLanguage                  ,
+
+
+-- ** setLevel #method:setLevel#
+
+#if ENABLE_OVERLOADING
+    FontChooserSetLevelMethodInfo           ,
+#endif
+    fontChooserSetLevel                     ,
+
+
+-- ** setPreviewText #method:setPreviewText#
+
+#if ENABLE_OVERLOADING
+    FontChooserSetPreviewTextMethodInfo     ,
+#endif
+    fontChooserSetPreviewText               ,
+
+
+-- ** setShowPreviewEntry #method:setShowPreviewEntry#
+
+#if ENABLE_OVERLOADING
+    FontChooserSetShowPreviewEntryMethodInfo,
+#endif
+    fontChooserSetShowPreviewEntry          ,
+
+
+
+
+ -- * Properties
+-- ** font #attr:font#
+{- | The font description as a string, e.g. \"Sans Italic 12\".
+-}
+#if ENABLE_OVERLOADING
+    FontChooserFontPropertyInfo             ,
+#endif
+    constructFontChooserFont                ,
+#if ENABLE_OVERLOADING
+    fontChooserFont                         ,
+#endif
+    getFontChooserFont                      ,
+    setFontChooserFont                      ,
+
+
+-- ** fontDesc #attr:fontDesc#
+{- | The font description as a 'GI.Pango.Structs.FontDescription.FontDescription'.
+-}
+#if ENABLE_OVERLOADING
+    FontChooserFontDescPropertyInfo         ,
+#endif
+    constructFontChooserFontDesc            ,
+#if ENABLE_OVERLOADING
+    fontChooserFontDesc                     ,
+#endif
+    getFontChooserFontDesc                  ,
+    setFontChooserFontDesc                  ,
+
+
+-- ** fontFeatures #attr:fontFeatures#
+{- | The selected font features, in a format that is compatible with
+CSS and with Pango attributes.
+
+/Since: 3.22.30/
+-}
+#if ENABLE_OVERLOADING
+    FontChooserFontFeaturesPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    fontChooserFontFeatures                 ,
+#endif
+    getFontChooserFontFeatures              ,
+
+
+-- ** language #attr:language#
+{- | The language for which the 'GI.Gtk.Interfaces.FontChooser.FontChooser':@/font-features/@ were
+selected, in a format that is compatible with CSS and with Pango
+attributes.
+
+/Since: 3.22.30/
+-}
+#if ENABLE_OVERLOADING
+    FontChooserLanguagePropertyInfo         ,
+#endif
+    constructFontChooserLanguage            ,
+#if ENABLE_OVERLOADING
+    fontChooserLanguage                     ,
+#endif
+    getFontChooserLanguage                  ,
+    setFontChooserLanguage                  ,
+
+
+-- ** level #attr:level#
+{- | The level of granularity to offer for selecting fonts.
+
+/Since: 3.22.30/
+-}
+#if ENABLE_OVERLOADING
+    FontChooserLevelPropertyInfo            ,
+#endif
+    constructFontChooserLevel               ,
+#if ENABLE_OVERLOADING
+    fontChooserLevel                        ,
+#endif
+    getFontChooserLevel                     ,
+    setFontChooserLevel                     ,
+
+
+-- ** previewText #attr:previewText#
+{- | The string with which to preview the font.
+-}
+#if ENABLE_OVERLOADING
+    FontChooserPreviewTextPropertyInfo      ,
+#endif
+    constructFontChooserPreviewText         ,
+#if ENABLE_OVERLOADING
+    fontChooserPreviewText                  ,
+#endif
+    getFontChooserPreviewText               ,
+    setFontChooserPreviewText               ,
+
+
+-- ** showPreviewEntry #attr:showPreviewEntry#
+{- | Whether to show an entry to change the preview text.
+-}
+#if ENABLE_OVERLOADING
+    FontChooserShowPreviewEntryPropertyInfo ,
+#endif
+    constructFontChooserShowPreviewEntry    ,
+#if ENABLE_OVERLOADING
+    fontChooserShowPreviewEntry             ,
+#endif
+    getFontChooserShowPreviewEntry          ,
+    setFontChooserShowPreviewEntry          ,
+
+
+
+
+ -- * Signals
+-- ** fontActivated #signal:fontActivated#
+
+    C_FontChooserFontActivatedCallback      ,
+    FontChooserFontActivatedCallback        ,
+#if ENABLE_OVERLOADING
+    FontChooserFontActivatedSignalInfo      ,
+#endif
+    afterFontChooserFontActivated           ,
+    genClosure_FontChooserFontActivated     ,
+    mk_FontChooserFontActivatedCallback     ,
+    noFontChooserFontActivatedCallback      ,
+    onFontChooserFontActivated              ,
+    wrap_FontChooserFontActivatedCallback   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import qualified GI.Pango.Objects.FontFace as Pango.FontFace
+import qualified GI.Pango.Objects.FontFamily as Pango.FontFamily
+import qualified GI.Pango.Objects.FontMap as Pango.FontMap
+import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
+
+-- interface FontChooser 
+-- | Memory-managed wrapper type.
+newtype FontChooser = FontChooser (ManagedPtr FontChooser)
+-- | A convenience alias for `Nothing` :: `Maybe` `FontChooser`.
+noFontChooser :: Maybe FontChooser
+noFontChooser = Nothing
+
+-- signal FontChooser::font-activated
+{- |
+Emitted when a font is activated.
+This usually happens when the user double clicks an item,
+or an item is selected and the user presses one of the keys
+Space, Shift+Space, Return or Enter.
+-}
+type FontChooserFontActivatedCallback =
+    T.Text
+    {- ^ /@fontname@/: the font name -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FontChooserFontActivatedCallback`@.
+noFontChooserFontActivatedCallback :: Maybe FontChooserFontActivatedCallback
+noFontChooserFontActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FontChooserFontActivatedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FontChooserFontActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_FontChooserFontActivatedCallback :: C_FontChooserFontActivatedCallback -> IO (FunPtr C_FontChooserFontActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FontChooserFontActivated :: MonadIO m => FontChooserFontActivatedCallback -> m (GClosure C_FontChooserFontActivatedCallback)
+genClosure_FontChooserFontActivated cb = liftIO $ do
+    let cb' = wrap_FontChooserFontActivatedCallback cb
+    mk_FontChooserFontActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FontChooserFontActivatedCallback` into a `C_FontChooserFontActivatedCallback`.
+wrap_FontChooserFontActivatedCallback ::
+    FontChooserFontActivatedCallback ->
+    C_FontChooserFontActivatedCallback
+wrap_FontChooserFontActivatedCallback _cb _ fontname _ = do
+    fontname' <- cstringToText fontname
+    _cb  fontname'
+
+
+{- |
+Connect a signal handler for the “@font-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fontChooser #fontActivated callback
+@
+-}
+onFontChooserFontActivated :: (IsFontChooser a, MonadIO m) => a -> FontChooserFontActivatedCallback -> m SignalHandlerId
+onFontChooserFontActivated obj cb = liftIO $ do
+    let cb' = wrap_FontChooserFontActivatedCallback cb
+    cb'' <- mk_FontChooserFontActivatedCallback cb'
+    connectSignalFunPtr obj "font-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@font-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fontChooser #fontActivated callback
+@
+-}
+afterFontChooserFontActivated :: (IsFontChooser a, MonadIO m) => a -> FontChooserFontActivatedCallback -> m SignalHandlerId
+afterFontChooserFontActivated obj cb = liftIO $ do
+    let cb' = wrap_FontChooserFontActivatedCallback cb
+    cb'' <- mk_FontChooserFontActivatedCallback cb'
+    connectSignalFunPtr obj "font-activated" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+data FontChooserFontActivatedSignalInfo
+instance SignalInfo FontChooserFontActivatedSignalInfo where
+    type HaskellCallbackType FontChooserFontActivatedSignalInfo = FontChooserFontActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FontChooserFontActivatedCallback cb
+        cb'' <- mk_FontChooserFontActivatedCallback cb'
+        connectSignalFunPtr obj "font-activated" cb'' connectMode
+
+type instance O.SignalList FontChooser = FontChooserSignalList
+type FontChooserSignalList = ('[ '("fontActivated", FontChooserFontActivatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_font_chooser_get_type"
+    c_gtk_font_chooser_get_type :: IO GType
+
+instance GObject FontChooser where
+    gobjectType = c_gtk_font_chooser_get_type
+    
+
+-- | Type class for types which can be safely cast to `FontChooser`, for instance with `toFontChooser`.
+class (GObject o, O.IsDescendantOf FontChooser o) => IsFontChooser o
+instance (GObject o, O.IsDescendantOf FontChooser o) => IsFontChooser o
+
+instance O.HasParentTypes FontChooser
+type instance O.ParentTypes FontChooser = '[GObject.Object.Object]
+
+-- | Cast to `FontChooser`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFontChooser :: (MonadIO m, IsFontChooser o) => o -> m FontChooser
+toFontChooser = liftIO . unsafeCastTo FontChooser
+
+-- VVV Prop "font"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@font@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontChooser #font
+@
+-}
+getFontChooserFont :: (MonadIO m, IsFontChooser o) => o -> m (Maybe T.Text)
+getFontChooserFont obj = liftIO $ B.Properties.getObjectPropertyString obj "font"
+
+{- |
+Set the value of the “@font@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontChooser [ #font 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontChooserFont :: (MonadIO m, IsFontChooser o) => o -> T.Text -> m ()
+setFontChooserFont obj val = liftIO $ B.Properties.setObjectPropertyString obj "font" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontChooserFont :: (IsFontChooser o) => T.Text -> IO (GValueConstruct o)
+constructFontChooserFont val = B.Properties.constructObjectPropertyString "font" (Just val)
+
+#if ENABLE_OVERLOADING
+data FontChooserFontPropertyInfo
+instance AttrInfo FontChooserFontPropertyInfo where
+    type AttrAllowedOps FontChooserFontPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontChooserFontPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FontChooserFontPropertyInfo = IsFontChooser
+    type AttrGetType FontChooserFontPropertyInfo = (Maybe T.Text)
+    type AttrLabel FontChooserFontPropertyInfo = "font"
+    type AttrOrigin FontChooserFontPropertyInfo = FontChooser
+    attrGet _ = getFontChooserFont
+    attrSet _ = setFontChooserFont
+    attrConstruct _ = constructFontChooserFont
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "font-desc"
+   -- Type: TInterface (Name {namespace = "Pango", name = "FontDescription"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@font-desc@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontChooser #fontDesc
+@
+-}
+getFontChooserFontDesc :: (MonadIO m, IsFontChooser o) => o -> m (Maybe Pango.FontDescription.FontDescription)
+getFontChooserFontDesc obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "font-desc" Pango.FontDescription.FontDescription
+
+{- |
+Set the value of the “@font-desc@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontChooser [ #fontDesc 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontChooserFontDesc :: (MonadIO m, IsFontChooser o) => o -> Pango.FontDescription.FontDescription -> m ()
+setFontChooserFontDesc obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "font-desc" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font-desc@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontChooserFontDesc :: (IsFontChooser o) => Pango.FontDescription.FontDescription -> IO (GValueConstruct o)
+constructFontChooserFontDesc val = B.Properties.constructObjectPropertyBoxed "font-desc" (Just val)
+
+#if ENABLE_OVERLOADING
+data FontChooserFontDescPropertyInfo
+instance AttrInfo FontChooserFontDescPropertyInfo where
+    type AttrAllowedOps FontChooserFontDescPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontChooserFontDescPropertyInfo = (~) Pango.FontDescription.FontDescription
+    type AttrBaseTypeConstraint FontChooserFontDescPropertyInfo = IsFontChooser
+    type AttrGetType FontChooserFontDescPropertyInfo = (Maybe Pango.FontDescription.FontDescription)
+    type AttrLabel FontChooserFontDescPropertyInfo = "font-desc"
+    type AttrOrigin FontChooserFontDescPropertyInfo = FontChooser
+    attrGet _ = getFontChooserFontDesc
+    attrSet _ = setFontChooserFontDesc
+    attrConstruct _ = constructFontChooserFontDesc
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "font-features"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@font-features@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontChooser #fontFeatures
+@
+-}
+getFontChooserFontFeatures :: (MonadIO m, IsFontChooser o) => o -> m (Maybe T.Text)
+getFontChooserFontFeatures obj = liftIO $ B.Properties.getObjectPropertyString obj "font-features"
+
+#if ENABLE_OVERLOADING
+data FontChooserFontFeaturesPropertyInfo
+instance AttrInfo FontChooserFontFeaturesPropertyInfo where
+    type AttrAllowedOps FontChooserFontFeaturesPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FontChooserFontFeaturesPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint FontChooserFontFeaturesPropertyInfo = IsFontChooser
+    type AttrGetType FontChooserFontFeaturesPropertyInfo = (Maybe T.Text)
+    type AttrLabel FontChooserFontFeaturesPropertyInfo = "font-features"
+    type AttrOrigin FontChooserFontFeaturesPropertyInfo = FontChooser
+    attrGet _ = getFontChooserFontFeatures
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "language"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@language@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontChooser #language
+@
+-}
+getFontChooserLanguage :: (MonadIO m, IsFontChooser o) => o -> m (Maybe T.Text)
+getFontChooserLanguage obj = liftIO $ B.Properties.getObjectPropertyString obj "language"
+
+{- |
+Set the value of the “@language@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontChooser [ #language 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontChooserLanguage :: (MonadIO m, IsFontChooser o) => o -> T.Text -> m ()
+setFontChooserLanguage obj val = liftIO $ B.Properties.setObjectPropertyString obj "language" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@language@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontChooserLanguage :: (IsFontChooser o) => T.Text -> IO (GValueConstruct o)
+constructFontChooserLanguage val = B.Properties.constructObjectPropertyString "language" (Just val)
+
+#if ENABLE_OVERLOADING
+data FontChooserLanguagePropertyInfo
+instance AttrInfo FontChooserLanguagePropertyInfo where
+    type AttrAllowedOps FontChooserLanguagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontChooserLanguagePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FontChooserLanguagePropertyInfo = IsFontChooser
+    type AttrGetType FontChooserLanguagePropertyInfo = (Maybe T.Text)
+    type AttrLabel FontChooserLanguagePropertyInfo = "language"
+    type AttrOrigin FontChooserLanguagePropertyInfo = FontChooser
+    attrGet _ = getFontChooserLanguage
+    attrSet _ = setFontChooserLanguage
+    attrConstruct _ = constructFontChooserLanguage
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "level"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "FontChooserLevel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@level@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontChooser #level
+@
+-}
+getFontChooserLevel :: (MonadIO m, IsFontChooser o) => o -> m [Gtk.Flags.FontChooserLevel]
+getFontChooserLevel obj = liftIO $ B.Properties.getObjectPropertyFlags obj "level"
+
+{- |
+Set the value of the “@level@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontChooser [ #level 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontChooserLevel :: (MonadIO m, IsFontChooser o) => o -> [Gtk.Flags.FontChooserLevel] -> m ()
+setFontChooserLevel obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "level" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@level@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontChooserLevel :: (IsFontChooser o) => [Gtk.Flags.FontChooserLevel] -> IO (GValueConstruct o)
+constructFontChooserLevel val = B.Properties.constructObjectPropertyFlags "level" val
+
+#if ENABLE_OVERLOADING
+data FontChooserLevelPropertyInfo
+instance AttrInfo FontChooserLevelPropertyInfo where
+    type AttrAllowedOps FontChooserLevelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontChooserLevelPropertyInfo = (~) [Gtk.Flags.FontChooserLevel]
+    type AttrBaseTypeConstraint FontChooserLevelPropertyInfo = IsFontChooser
+    type AttrGetType FontChooserLevelPropertyInfo = [Gtk.Flags.FontChooserLevel]
+    type AttrLabel FontChooserLevelPropertyInfo = "level"
+    type AttrOrigin FontChooserLevelPropertyInfo = FontChooser
+    attrGet _ = getFontChooserLevel
+    attrSet _ = setFontChooserLevel
+    attrConstruct _ = constructFontChooserLevel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "preview-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@preview-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontChooser #previewText
+@
+-}
+getFontChooserPreviewText :: (MonadIO m, IsFontChooser o) => o -> m (Maybe T.Text)
+getFontChooserPreviewText obj = liftIO $ B.Properties.getObjectPropertyString obj "preview-text"
+
+{- |
+Set the value of the “@preview-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontChooser [ #previewText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontChooserPreviewText :: (MonadIO m, IsFontChooser o) => o -> T.Text -> m ()
+setFontChooserPreviewText obj val = liftIO $ B.Properties.setObjectPropertyString obj "preview-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@preview-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontChooserPreviewText :: (IsFontChooser o) => T.Text -> IO (GValueConstruct o)
+constructFontChooserPreviewText val = B.Properties.constructObjectPropertyString "preview-text" (Just val)
+
+#if ENABLE_OVERLOADING
+data FontChooserPreviewTextPropertyInfo
+instance AttrInfo FontChooserPreviewTextPropertyInfo where
+    type AttrAllowedOps FontChooserPreviewTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontChooserPreviewTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FontChooserPreviewTextPropertyInfo = IsFontChooser
+    type AttrGetType FontChooserPreviewTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel FontChooserPreviewTextPropertyInfo = "preview-text"
+    type AttrOrigin FontChooserPreviewTextPropertyInfo = FontChooser
+    attrGet _ = getFontChooserPreviewText
+    attrSet _ = setFontChooserPreviewText
+    attrConstruct _ = constructFontChooserPreviewText
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-preview-entry"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-preview-entry@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontChooser #showPreviewEntry
+@
+-}
+getFontChooserShowPreviewEntry :: (MonadIO m, IsFontChooser o) => o -> m Bool
+getFontChooserShowPreviewEntry obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-preview-entry"
+
+{- |
+Set the value of the “@show-preview-entry@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontChooser [ #showPreviewEntry 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontChooserShowPreviewEntry :: (MonadIO m, IsFontChooser o) => o -> Bool -> m ()
+setFontChooserShowPreviewEntry obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-preview-entry" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-preview-entry@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontChooserShowPreviewEntry :: (IsFontChooser o) => Bool -> IO (GValueConstruct o)
+constructFontChooserShowPreviewEntry val = B.Properties.constructObjectPropertyBool "show-preview-entry" val
+
+#if ENABLE_OVERLOADING
+data FontChooserShowPreviewEntryPropertyInfo
+instance AttrInfo FontChooserShowPreviewEntryPropertyInfo where
+    type AttrAllowedOps FontChooserShowPreviewEntryPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontChooserShowPreviewEntryPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FontChooserShowPreviewEntryPropertyInfo = IsFontChooser
+    type AttrGetType FontChooserShowPreviewEntryPropertyInfo = Bool
+    type AttrLabel FontChooserShowPreviewEntryPropertyInfo = "show-preview-entry"
+    type AttrOrigin FontChooserShowPreviewEntryPropertyInfo = FontChooser
+    attrGet _ = getFontChooserShowPreviewEntry
+    attrSet _ = setFontChooserShowPreviewEntry
+    attrConstruct _ = constructFontChooserShowPreviewEntry
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FontChooser
+type instance O.AttributeList FontChooser = FontChooserAttributeList
+type FontChooserAttributeList = ('[ '("font", FontChooserFontPropertyInfo), '("fontDesc", FontChooserFontDescPropertyInfo), '("fontFeatures", FontChooserFontFeaturesPropertyInfo), '("language", FontChooserLanguagePropertyInfo), '("level", FontChooserLevelPropertyInfo), '("previewText", FontChooserPreviewTextPropertyInfo), '("showPreviewEntry", FontChooserShowPreviewEntryPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+fontChooserFont :: AttrLabelProxy "font"
+fontChooserFont = AttrLabelProxy
+
+fontChooserFontDesc :: AttrLabelProxy "fontDesc"
+fontChooserFontDesc = AttrLabelProxy
+
+fontChooserFontFeatures :: AttrLabelProxy "fontFeatures"
+fontChooserFontFeatures = AttrLabelProxy
+
+fontChooserLanguage :: AttrLabelProxy "language"
+fontChooserLanguage = AttrLabelProxy
+
+fontChooserLevel :: AttrLabelProxy "level"
+fontChooserLevel = AttrLabelProxy
+
+fontChooserPreviewText :: AttrLabelProxy "previewText"
+fontChooserPreviewText = AttrLabelProxy
+
+fontChooserShowPreviewEntry :: AttrLabelProxy "showPreviewEntry"
+fontChooserShowPreviewEntry = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveFontChooserMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontChooserMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFontChooserMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFontChooserMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFontChooserMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFontChooserMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFontChooserMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFontChooserMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFontChooserMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFontChooserMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFontChooserMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFontChooserMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFontChooserMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFontChooserMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFontChooserMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFontChooserMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFontChooserMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFontChooserMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFontChooserMethod "getFont" o = FontChooserGetFontMethodInfo
+    ResolveFontChooserMethod "getFontDesc" o = FontChooserGetFontDescMethodInfo
+    ResolveFontChooserMethod "getFontFace" o = FontChooserGetFontFaceMethodInfo
+    ResolveFontChooserMethod "getFontFamily" o = FontChooserGetFontFamilyMethodInfo
+    ResolveFontChooserMethod "getFontFeatures" o = FontChooserGetFontFeaturesMethodInfo
+    ResolveFontChooserMethod "getFontMap" o = FontChooserGetFontMapMethodInfo
+    ResolveFontChooserMethod "getFontSize" o = FontChooserGetFontSizeMethodInfo
+    ResolveFontChooserMethod "getLanguage" o = FontChooserGetLanguageMethodInfo
+    ResolveFontChooserMethod "getLevel" o = FontChooserGetLevelMethodInfo
+    ResolveFontChooserMethod "getPreviewText" o = FontChooserGetPreviewTextMethodInfo
+    ResolveFontChooserMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFontChooserMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFontChooserMethod "getShowPreviewEntry" o = FontChooserGetShowPreviewEntryMethodInfo
+    ResolveFontChooserMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFontChooserMethod "setFilterFunc" o = FontChooserSetFilterFuncMethodInfo
+    ResolveFontChooserMethod "setFont" o = FontChooserSetFontMethodInfo
+    ResolveFontChooserMethod "setFontDesc" o = FontChooserSetFontDescMethodInfo
+    ResolveFontChooserMethod "setFontMap" o = FontChooserSetFontMapMethodInfo
+    ResolveFontChooserMethod "setLanguage" o = FontChooserSetLanguageMethodInfo
+    ResolveFontChooserMethod "setLevel" o = FontChooserSetLevelMethodInfo
+    ResolveFontChooserMethod "setPreviewText" o = FontChooserSetPreviewTextMethodInfo
+    ResolveFontChooserMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFontChooserMethod "setShowPreviewEntry" o = FontChooserSetShowPreviewEntryMethodInfo
+    ResolveFontChooserMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFontChooserMethod t FontChooser, O.MethodInfo info FontChooser p) => OL.IsLabel t (FontChooser -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method FontChooser::get_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_font" gtk_font_chooser_get_font :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO CString
+
+{- |
+Gets the currently-selected font name.
+
+Note that this can be a different string than what you set with
+'GI.Gtk.Interfaces.FontChooser.fontChooserSetFont', as the font chooser widget may
+normalize font names and thus return a string with a different
+structure. For example, “Helvetica Italic Bold 12” could be
+normalized to “Helvetica Bold Italic 12”.
+
+Use 'GI.Pango.Structs.FontDescription.fontDescriptionEqual' if you want to compare two
+font descriptions.
+
+/Since: 3.2/
+-}
+fontChooserGetFont ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ A string with the name
+    of the current font, or 'Nothing' if  no font is selected. You must
+    free this string with 'GI.GLib.Functions.free'. -}
+fontChooserGetFont fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_font fontchooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr fontchooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FontChooserGetFontMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetFontMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetFont
+
+#endif
+
+-- method FontChooser::get_font_desc
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontDescription"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_font_desc" gtk_font_chooser_get_font_desc :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO (Ptr Pango.FontDescription.FontDescription)
+
+{- |
+Gets the currently-selected font.
+
+Note that this can be a different string than what you set with
+'GI.Gtk.Interfaces.FontChooser.fontChooserSetFont', as the font chooser widget may
+normalize font names and thus return a string with a different
+structure. For example, “Helvetica Italic Bold 12” could be
+normalized to “Helvetica Bold Italic 12”.
+
+Use 'GI.Pango.Structs.FontDescription.fontDescriptionEqual' if you want to compare two
+font descriptions.
+
+/Since: 3.2/
+-}
+fontChooserGetFontDesc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m (Maybe Pango.FontDescription.FontDescription)
+    {- ^ __Returns:__ A 'GI.Pango.Structs.FontDescription.FontDescription' for the
+    current font, or 'Nothing' if  no font is selected. -}
+fontChooserGetFontDesc fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_font_desc fontchooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Pango.FontDescription.FontDescription) result'
+        return result''
+    touchManagedPtr fontchooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FontChooserGetFontDescMethodInfo
+instance (signature ~ (m (Maybe Pango.FontDescription.FontDescription)), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetFontDescMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetFontDesc
+
+#endif
+
+-- method FontChooser::get_font_face
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontFace"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_font_face" gtk_font_chooser_get_font_face :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO (Ptr Pango.FontFace.FontFace)
+
+{- |
+Gets the 'GI.Pango.Objects.FontFace.FontFace' representing the selected font group
+details (i.e. family, slant, weight, width, etc).
+
+If the selected font is not installed, returns 'Nothing'.
+
+/Since: 3.2/
+-}
+fontChooserGetFontFace ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m (Maybe Pango.FontFace.FontFace)
+    {- ^ __Returns:__ A 'GI.Pango.Objects.FontFace.FontFace' representing the
+    selected font group details, or 'Nothing'. The returned object is owned by
+    /@fontchooser@/ and must not be modified or freed. -}
+fontChooserGetFontFace fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_font_face fontchooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Pango.FontFace.FontFace) result'
+        return result''
+    touchManagedPtr fontchooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FontChooserGetFontFaceMethodInfo
+instance (signature ~ (m (Maybe Pango.FontFace.FontFace)), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetFontFaceMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetFontFace
+
+#endif
+
+-- method FontChooser::get_font_family
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontFamily"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_font_family" gtk_font_chooser_get_font_family :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO (Ptr Pango.FontFamily.FontFamily)
+
+{- |
+Gets the 'GI.Pango.Objects.FontFamily.FontFamily' representing the selected font family.
+Font families are a collection of font faces.
+
+If the selected font is not installed, returns 'Nothing'.
+
+/Since: 3.2/
+-}
+fontChooserGetFontFamily ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m (Maybe Pango.FontFamily.FontFamily)
+    {- ^ __Returns:__ A 'GI.Pango.Objects.FontFamily.FontFamily' representing the
+    selected font family, or 'Nothing'. The returned object is owned by /@fontchooser@/
+    and must not be modified or freed. -}
+fontChooserGetFontFamily fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_font_family fontchooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Pango.FontFamily.FontFamily) result'
+        return result''
+    touchManagedPtr fontchooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FontChooserGetFontFamilyMethodInfo
+instance (signature ~ (m (Maybe Pango.FontFamily.FontFamily)), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetFontFamilyMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetFontFamily
+
+#endif
+
+-- method FontChooser::get_font_features
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_font_features" gtk_font_chooser_get_font_features :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO CString
+
+{- |
+Gets the currently-selected font features.
+
+/Since: 3.24/
+-}
+fontChooserGetFontFeatures ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m T.Text
+    {- ^ __Returns:__ the currently selected font features -}
+fontChooserGetFontFeatures fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_font_features fontchooser'
+    checkUnexpectedReturnNULL "fontChooserGetFontFeatures" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr fontchooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontChooserGetFontFeaturesMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetFontFeaturesMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetFontFeatures
+
+#endif
+
+-- method FontChooser::get_font_map
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontMap"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_font_map" gtk_font_chooser_get_font_map :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO (Ptr Pango.FontMap.FontMap)
+
+{- |
+Gets the custom font map of this font chooser widget,
+or 'Nothing' if it does not have one.
+
+/Since: 3.18/
+-}
+fontChooserGetFontMap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m (Maybe Pango.FontMap.FontMap)
+    {- ^ __Returns:__ a 'GI.Pango.Objects.FontMap.FontMap', or 'Nothing' -}
+fontChooserGetFontMap fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_font_map fontchooser'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Pango.FontMap.FontMap) result'
+        return result''
+    touchManagedPtr fontchooser
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FontChooserGetFontMapMethodInfo
+instance (signature ~ (m (Maybe Pango.FontMap.FontMap)), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetFontMapMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetFontMap
+
+#endif
+
+-- method FontChooser::get_font_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_font_size" gtk_font_chooser_get_font_size :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO Int32
+
+{- |
+The selected font size.
+
+/Since: 3.2/
+-}
+fontChooserGetFontSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m Int32
+    {- ^ __Returns:__ A n integer representing the selected font size,
+    or -1 if no font size is selected. -}
+fontChooserGetFontSize fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_font_size fontchooser'
+    touchManagedPtr fontchooser
+    return result
+
+#if ENABLE_OVERLOADING
+data FontChooserGetFontSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetFontSizeMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetFontSize
+
+#endif
+
+-- method FontChooser::get_language
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_language" gtk_font_chooser_get_language :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO CString
+
+{- |
+Gets the language that is used for font features.
+
+/Since: 3.24/
+-}
+fontChooserGetLanguage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m T.Text
+    {- ^ __Returns:__ the currently selected language -}
+fontChooserGetLanguage fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_language fontchooser'
+    checkUnexpectedReturnNULL "fontChooserGetLanguage" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr fontchooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontChooserGetLanguageMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetLanguageMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetLanguage
+
+#endif
+
+-- method FontChooser::get_level
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FontChooserLevel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_level" gtk_font_chooser_get_level :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO CUInt
+
+{- |
+Returns the current level of granularity for selecting fonts.
+
+/Since: 3.24/
+-}
+fontChooserGetLevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m [Gtk.Flags.FontChooserLevel]
+    {- ^ __Returns:__ the current granularity level -}
+fontChooserGetLevel fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_level fontchooser'
+    let result' = wordToGFlags result
+    touchManagedPtr fontchooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontChooserGetLevelMethodInfo
+instance (signature ~ (m [Gtk.Flags.FontChooserLevel]), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetLevelMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetLevel
+
+#endif
+
+-- method FontChooser::get_preview_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_preview_text" gtk_font_chooser_get_preview_text :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO CString
+
+{- |
+Gets the text displayed in the preview area.
+
+/Since: 3.2/
+-}
+fontChooserGetPreviewText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m T.Text
+    {- ^ __Returns:__ the text displayed in the
+    preview area -}
+fontChooserGetPreviewText fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_preview_text fontchooser'
+    checkUnexpectedReturnNULL "fontChooserGetPreviewText" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr fontchooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontChooserGetPreviewTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetPreviewTextMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetPreviewText
+
+#endif
+
+-- method FontChooser::get_show_preview_entry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_get_show_preview_entry" gtk_font_chooser_get_show_preview_entry :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    IO CInt
+
+{- |
+Returns whether the preview entry is shown or not.
+
+/Since: 3.2/
+-}
+fontChooserGetShowPreviewEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the preview entry is shown
+    or 'False' if it is hidden. -}
+fontChooserGetShowPreviewEntry fontchooser = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    result <- gtk_font_chooser_get_show_preview_entry fontchooser'
+    let result' = (/= 0) result
+    touchManagedPtr fontchooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontChooserGetShowPreviewEntryMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserGetShowPreviewEntryMethodInfo a signature where
+    overloadedMethod _ = fontChooserGetShowPreviewEntry
+
+#endif
+
+-- method FontChooser::set_filter_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FontFilterFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkFontFilterFunc, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call to free @data when it is no longer needed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_set_filter_func" gtk_font_chooser_set_filter_func :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    FunPtr Gtk.Callbacks.C_FontFilterFunc -> -- filter : TInterface (Name {namespace = "Gtk", name = "FontFilterFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Adds a filter function that decides which fonts to display
+in the font chooser.
+
+/Since: 3.2/
+-}
+fontChooserSetFilterFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> Maybe (Gtk.Callbacks.FontFilterFunc)
+    {- ^ /@filter@/: a 'GI.Gtk.Callbacks.FontFilterFunc', or 'Nothing' -}
+    -> m ()
+fontChooserSetFilterFunc fontchooser filter = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    maybeFilter <- case filter of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFilter -> do
+            jFilter' <- Gtk.Callbacks.mk_FontFilterFunc (Gtk.Callbacks.wrap_FontFilterFunc Nothing (Gtk.Callbacks.drop_closures_FontFilterFunc jFilter))
+            return jFilter'
+    let userData = castFunPtrToPtr maybeFilter
+    let destroy = safeFreeFunPtrPtr
+    gtk_font_chooser_set_filter_func fontchooser' maybeFilter userData destroy
+    touchManagedPtr fontchooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontChooserSetFilterFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.FontFilterFunc) -> m ()), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserSetFilterFuncMethodInfo a signature where
+    overloadedMethod _ = fontChooserSetFilterFunc
+
+#endif
+
+-- method FontChooser::set_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a font name like \8220Helvetica 12\8221 or \8220Times Bold 18\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_set_font" gtk_font_chooser_set_font :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    CString ->                              -- fontname : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the currently-selected font.
+
+/Since: 3.2/
+-}
+fontChooserSetFont ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> T.Text
+    {- ^ /@fontname@/: a font name like “Helvetica 12” or “Times Bold 18” -}
+    -> m ()
+fontChooserSetFont fontchooser fontname = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    fontname' <- textToCString fontname
+    gtk_font_chooser_set_font fontchooser' fontname'
+    touchManagedPtr fontchooser
+    freeMem fontname'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontChooserSetFontMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserSetFontMethodInfo a signature where
+    overloadedMethod _ = fontChooserSetFont
+
+#endif
+
+-- method FontChooser::set_font_desc
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_desc", argType = TInterface (Name {namespace = "Pango", name = "FontDescription"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoFontDescription", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_set_font_desc" gtk_font_chooser_set_font_desc :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    Ptr Pango.FontDescription.FontDescription -> -- font_desc : TInterface (Name {namespace = "Pango", name = "FontDescription"})
+    IO ()
+
+{- |
+Sets the currently-selected font from /@fontDesc@/.
+
+/Since: 3.2/
+-}
+fontChooserSetFontDesc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> Pango.FontDescription.FontDescription
+    {- ^ /@fontDesc@/: a 'GI.Pango.Structs.FontDescription.FontDescription' -}
+    -> m ()
+fontChooserSetFontDesc fontchooser fontDesc = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    fontDesc' <- unsafeManagedPtrGetPtr fontDesc
+    gtk_font_chooser_set_font_desc fontchooser' fontDesc'
+    touchManagedPtr fontchooser
+    touchManagedPtr fontDesc
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontChooserSetFontDescMethodInfo
+instance (signature ~ (Pango.FontDescription.FontDescription -> m ()), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserSetFontDescMethodInfo a signature where
+    overloadedMethod _ = fontChooserSetFontDesc
+
+#endif
+
+-- method FontChooser::set_font_map
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fontmap", argType = TInterface (Name {namespace = "Pango", name = "FontMap"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #PangoFontMap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_set_font_map" gtk_font_chooser_set_font_map :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    Ptr Pango.FontMap.FontMap ->            -- fontmap : TInterface (Name {namespace = "Pango", name = "FontMap"})
+    IO ()
+
+{- |
+Sets a custom font map to use for this font chooser widget.
+A custom font map can be used to present application-specific
+fonts instead of or in addition to the normal system fonts.
+
+
+=== /C code/
+>
+>FcConfig *config;
+>PangoFontMap *fontmap;
+>
+>config = FcInitLoadConfigAndFonts ();
+>FcConfigAppFontAddFile (config, my_app_font_file);
+>
+>fontmap = pango_cairo_font_map_new_for_font_type (CAIRO_FONT_TYPE_FT);
+>pango_fc_font_map_set_config (PANGO_FC_FONT_MAP (fontmap), config);
+>
+>gtk_font_chooser_set_font_map (font_chooser, fontmap);
+
+
+Note that other GTK+ widgets will only be able to use the application-specific
+font if it is present in the font map they use:
+
+>
+>context = gtk_widget_get_pango_context (label);
+>pango_context_set_font_map (context, fontmap);
+
+
+/Since: 3.18/
+-}
+fontChooserSetFontMap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a, Pango.FontMap.IsFontMap b) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> Maybe (b)
+    {- ^ /@fontmap@/: a 'GI.Pango.Objects.FontMap.FontMap' -}
+    -> m ()
+fontChooserSetFontMap fontchooser fontmap = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    maybeFontmap <- case fontmap of
+        Nothing -> return nullPtr
+        Just jFontmap -> do
+            jFontmap' <- unsafeManagedPtrCastPtr jFontmap
+            return jFontmap'
+    gtk_font_chooser_set_font_map fontchooser' maybeFontmap
+    touchManagedPtr fontchooser
+    whenJust fontmap touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontChooserSetFontMapMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsFontChooser a, Pango.FontMap.IsFontMap b) => O.MethodInfo FontChooserSetFontMapMethodInfo a signature where
+    overloadedMethod _ = fontChooserSetFontMap
+
+#endif
+
+-- method FontChooser::set_language
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a language", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_set_language" gtk_font_chooser_set_language :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    CString ->                              -- language : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the language to use for font features.
+
+/Since: 3.24/
+-}
+fontChooserSetLanguage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> T.Text
+    {- ^ /@language@/: a language -}
+    -> m ()
+fontChooserSetLanguage fontchooser language = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    language' <- textToCString language
+    gtk_font_chooser_set_language fontchooser' language'
+    touchManagedPtr fontchooser
+    freeMem language'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontChooserSetLanguageMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserSetLanguageMethodInfo a signature where
+    overloadedMethod _ = fontChooserSetLanguage
+
+#endif
+
+-- method FontChooser::set_level
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "level", argType = TInterface (Name {namespace = "Gtk", name = "FontChooserLevel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired level of granularity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_set_level" gtk_font_chooser_set_level :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    CUInt ->                                -- level : TInterface (Name {namespace = "Gtk", name = "FontChooserLevel"})
+    IO ()
+
+{- |
+Sets the desired level of granularity for selecting fonts.
+
+/Since: 3.24/
+-}
+fontChooserSetLevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> [Gtk.Flags.FontChooserLevel]
+    {- ^ /@level@/: the desired level of granularity -}
+    -> m ()
+fontChooserSetLevel fontchooser level = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    let level' = gflagsToWord level
+    gtk_font_chooser_set_level fontchooser' level'
+    touchManagedPtr fontchooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontChooserSetLevelMethodInfo
+instance (signature ~ ([Gtk.Flags.FontChooserLevel] -> m ()), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserSetLevelMethodInfo a signature where
+    overloadedMethod _ = fontChooserSetLevel
+
+#endif
+
+-- method FontChooser::set_preview_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to display in the preview area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_set_preview_text" gtk_font_chooser_set_preview_text :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text displayed in the preview area.
+The /@text@/ is used to show how the selected font looks.
+
+/Since: 3.2/
+-}
+fontChooserSetPreviewText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> T.Text
+    {- ^ /@text@/: the text to display in the preview area -}
+    -> m ()
+fontChooserSetPreviewText fontchooser text = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    text' <- textToCString text
+    gtk_font_chooser_set_preview_text fontchooser' text'
+    touchManagedPtr fontchooser
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontChooserSetPreviewTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserSetPreviewTextMethodInfo a signature where
+    overloadedMethod _ = fontChooserSetPreviewText
+
+#endif
+
+-- method FontChooser::set_show_preview_entry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontchooser", argType = TInterface (Name {namespace = "Gtk", name = "FontChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_preview_entry", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show the editable preview entry or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_set_show_preview_entry" gtk_font_chooser_set_show_preview_entry :: 
+    Ptr FontChooser ->                      -- fontchooser : TInterface (Name {namespace = "Gtk", name = "FontChooser"})
+    CInt ->                                 -- show_preview_entry : TBasicType TBoolean
+    IO ()
+
+{- |
+Shows or hides the editable preview entry.
+
+/Since: 3.2/
+-}
+fontChooserSetShowPreviewEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontChooser a) =>
+    a
+    {- ^ /@fontchooser@/: a 'GI.Gtk.Interfaces.FontChooser.FontChooser' -}
+    -> Bool
+    {- ^ /@showPreviewEntry@/: whether to show the editable preview entry or not -}
+    -> m ()
+fontChooserSetShowPreviewEntry fontchooser showPreviewEntry = liftIO $ do
+    fontchooser' <- unsafeManagedPtrCastPtr fontchooser
+    let showPreviewEntry' = (fromIntegral . fromEnum) showPreviewEntry
+    gtk_font_chooser_set_show_preview_entry fontchooser' showPreviewEntry'
+    touchManagedPtr fontchooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontChooserSetShowPreviewEntryMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFontChooser a) => O.MethodInfo FontChooserSetShowPreviewEntryMethodInfo a signature where
+    overloadedMethod _ = fontChooserSetShowPreviewEntry
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/FontChooser.hs-boot b/GI/Gtk/Interfaces/FontChooser.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/FontChooser.hs-boot
@@ -0,0 +1,110 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.FontChooser where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FontChooser = FontChooser (ManagedPtr FontChooser)
+#if ENABLE_OVERLOADING
+data FontChooserFontActivatedSignalInfo
+#endif
+instance GObject FontChooser where
+class (GObject o, O.IsDescendantOf FontChooser o) => IsFontChooser o
+instance (GObject o, O.IsDescendantOf FontChooser o) => IsFontChooser o
+instance O.HasParentTypes FontChooser
+#if ENABLE_OVERLOADING
+data FontChooserFontPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserFontDescPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserFontFeaturesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserLanguagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserLevelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserPreviewTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserShowPreviewEntryPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetFontMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetFontDescMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetFontFaceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetFontFamilyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetFontFeaturesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetFontMapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetFontSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetLanguageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetLevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetPreviewTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserGetShowPreviewEntryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserSetFilterFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserSetFontMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserSetFontDescMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserSetFontMapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserSetLanguageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserSetLevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserSetPreviewTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontChooserSetShowPreviewEntryMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/Orientable.hs b/GI/Gtk/Interfaces/Orientable.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Orientable.hs
@@ -0,0 +1,297 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Interfaces.Orientable.Orientable' interface is implemented by all widgets that can be
+oriented horizontally or vertically. Historically, such widgets have been
+realized as subclasses of a common base class (e.g 'GI.Gtk.Objects.Box.Box'\/'GI.Gtk.Objects.HBox.HBox'\/'GI.Gtk.Objects.VBox.VBox'
+or 'GI.Gtk.Objects.Scale.Scale'\/'GI.Gtk.Objects.HScale.HScale'\/'GI.Gtk.Objects.VScale.VScale'). 'GI.Gtk.Interfaces.Orientable.Orientable' is more flexible in that
+it allows the orientation to be changed at runtime, allowing the widgets
+to “flip”.
+
+'GI.Gtk.Interfaces.Orientable.Orientable' was introduced in GTK+ 2.16.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.Orientable
+    ( 
+
+-- * Exported types
+    Orientable(..)                          ,
+    noOrientable                            ,
+    IsOrientable                            ,
+    toOrientable                            ,
+
+
+ -- * Methods
+-- ** getOrientation #method:getOrientation#
+
+#if ENABLE_OVERLOADING
+    OrientableGetOrientationMethodInfo      ,
+#endif
+    orientableGetOrientation                ,
+
+
+-- ** setOrientation #method:setOrientation#
+
+#if ENABLE_OVERLOADING
+    OrientableSetOrientationMethodInfo      ,
+#endif
+    orientableSetOrientation                ,
+
+
+
+
+ -- * Properties
+-- ** orientation #attr:orientation#
+{- | The orientation of the orientable.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    OrientableOrientationPropertyInfo       ,
+#endif
+    constructOrientableOrientation          ,
+    getOrientableOrientation                ,
+#if ENABLE_OVERLOADING
+    orientableOrientation                   ,
+#endif
+    setOrientableOrientation                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+
+-- interface Orientable 
+-- | Memory-managed wrapper type.
+newtype Orientable = Orientable (ManagedPtr Orientable)
+-- | A convenience alias for `Nothing` :: `Maybe` `Orientable`.
+noOrientable :: Maybe Orientable
+noOrientable = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Orientable = OrientableSignalList
+type OrientableSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_orientable_get_type"
+    c_gtk_orientable_get_type :: IO GType
+
+instance GObject Orientable where
+    gobjectType = c_gtk_orientable_get_type
+    
+
+-- | Type class for types which can be safely cast to `Orientable`, for instance with `toOrientable`.
+class (GObject o, O.IsDescendantOf Orientable o) => IsOrientable o
+instance (GObject o, O.IsDescendantOf Orientable o) => IsOrientable o
+
+instance O.HasParentTypes Orientable
+type instance O.ParentTypes Orientable = '[GObject.Object.Object]
+
+-- | Cast to `Orientable`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toOrientable :: (MonadIO m, IsOrientable o) => o -> m Orientable
+toOrientable = liftIO . unsafeCastTo Orientable
+
+-- VVV Prop "orientation"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Orientation"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@orientation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' orientable #orientation
+@
+-}
+getOrientableOrientation :: (MonadIO m, IsOrientable o) => o -> m Gtk.Enums.Orientation
+getOrientableOrientation obj = liftIO $ B.Properties.getObjectPropertyEnum obj "orientation"
+
+{- |
+Set the value of the “@orientation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' orientable [ #orientation 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setOrientableOrientation :: (MonadIO m, IsOrientable o) => o -> Gtk.Enums.Orientation -> m ()
+setOrientableOrientation obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "orientation" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@orientation@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructOrientableOrientation :: (IsOrientable o) => Gtk.Enums.Orientation -> IO (GValueConstruct o)
+constructOrientableOrientation val = B.Properties.constructObjectPropertyEnum "orientation" val
+
+#if ENABLE_OVERLOADING
+data OrientableOrientationPropertyInfo
+instance AttrInfo OrientableOrientationPropertyInfo where
+    type AttrAllowedOps OrientableOrientationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint OrientableOrientationPropertyInfo = (~) Gtk.Enums.Orientation
+    type AttrBaseTypeConstraint OrientableOrientationPropertyInfo = IsOrientable
+    type AttrGetType OrientableOrientationPropertyInfo = Gtk.Enums.Orientation
+    type AttrLabel OrientableOrientationPropertyInfo = "orientation"
+    type AttrOrigin OrientableOrientationPropertyInfo = Orientable
+    attrGet _ = getOrientableOrientation
+    attrSet _ = setOrientableOrientation
+    attrConstruct _ = constructOrientableOrientation
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Orientable
+type instance O.AttributeList Orientable = OrientableAttributeList
+type OrientableAttributeList = ('[ '("orientation", OrientableOrientationPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+orientableOrientation :: AttrLabelProxy "orientation"
+orientableOrientation = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveOrientableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveOrientableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveOrientableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveOrientableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveOrientableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveOrientableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveOrientableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveOrientableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveOrientableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveOrientableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveOrientableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveOrientableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveOrientableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveOrientableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveOrientableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveOrientableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveOrientableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveOrientableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveOrientableMethod "getOrientation" o = OrientableGetOrientationMethodInfo
+    ResolveOrientableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveOrientableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveOrientableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveOrientableMethod "setOrientation" o = OrientableSetOrientationMethodInfo
+    ResolveOrientableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveOrientableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveOrientableMethod t Orientable, O.MethodInfo info Orientable p) => OL.IsLabel t (Orientable -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method Orientable::get_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "orientable", argType = TInterface (Name {namespace = "Gtk", name = "Orientable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkOrientable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Orientation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_orientable_get_orientation" gtk_orientable_get_orientation :: 
+    Ptr Orientable ->                       -- orientable : TInterface (Name {namespace = "Gtk", name = "Orientable"})
+    IO CUInt
+
+{- |
+Retrieves the orientation of the /@orientable@/.
+
+/Since: 2.16/
+-}
+orientableGetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsOrientable a) =>
+    a
+    {- ^ /@orientable@/: a 'GI.Gtk.Interfaces.Orientable.Orientable' -}
+    -> m Gtk.Enums.Orientation
+    {- ^ __Returns:__ the orientation of the /@orientable@/. -}
+orientableGetOrientation orientable = liftIO $ do
+    orientable' <- unsafeManagedPtrCastPtr orientable
+    result <- gtk_orientable_get_orientation orientable'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr orientable
+    return result'
+
+#if ENABLE_OVERLOADING
+data OrientableGetOrientationMethodInfo
+instance (signature ~ (m Gtk.Enums.Orientation), MonadIO m, IsOrientable a) => O.MethodInfo OrientableGetOrientationMethodInfo a signature where
+    overloadedMethod _ = orientableGetOrientation
+
+#endif
+
+-- method Orientable::set_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "orientable", argType = TInterface (Name {namespace = "Gtk", name = "Orientable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkOrientable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the orientable\8217s new orientation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_orientable_set_orientation" gtk_orientable_set_orientation :: 
+    Ptr Orientable ->                       -- orientable : TInterface (Name {namespace = "Gtk", name = "Orientable"})
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO ()
+
+{- |
+Sets the orientation of the /@orientable@/.
+
+/Since: 2.16/
+-}
+orientableSetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsOrientable a) =>
+    a
+    {- ^ /@orientable@/: a 'GI.Gtk.Interfaces.Orientable.Orientable' -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the orientable’s new orientation. -}
+    -> m ()
+orientableSetOrientation orientable orientation = liftIO $ do
+    orientable' <- unsafeManagedPtrCastPtr orientable
+    let orientation' = (fromIntegral . fromEnum) orientation
+    gtk_orientable_set_orientation orientable' orientation'
+    touchManagedPtr orientable
+    return ()
+
+#if ENABLE_OVERLOADING
+data OrientableSetOrientationMethodInfo
+instance (signature ~ (Gtk.Enums.Orientation -> m ()), MonadIO m, IsOrientable a) => O.MethodInfo OrientableSetOrientationMethodInfo a signature where
+    overloadedMethod _ = orientableSetOrientation
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/Orientable.hs-boot b/GI/Gtk/Interfaces/Orientable.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Orientable.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.Orientable where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Orientable = Orientable (ManagedPtr Orientable)
+instance GObject Orientable where
+class (GObject o, O.IsDescendantOf Orientable o) => IsOrientable o
+instance (GObject o, O.IsDescendantOf Orientable o) => IsOrientable o
+instance O.HasParentTypes Orientable
+#if ENABLE_OVERLOADING
+data OrientableOrientationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data OrientableGetOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data OrientableSetOrientationMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/PrintOperationPreview.hs b/GI/Gtk/Interfaces/PrintOperationPreview.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/PrintOperationPreview.hs
@@ -0,0 +1,477 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.PrintOperationPreview
+    ( 
+
+-- * Exported types
+    PrintOperationPreview(..)               ,
+    noPrintOperationPreview                 ,
+    IsPrintOperationPreview                 ,
+    toPrintOperationPreview                 ,
+
+
+ -- * Methods
+-- ** endPreview #method:endPreview#
+
+#if ENABLE_OVERLOADING
+    PrintOperationPreviewEndPreviewMethodInfo,
+#endif
+    printOperationPreviewEndPreview         ,
+
+
+-- ** isSelected #method:isSelected#
+
+#if ENABLE_OVERLOADING
+    PrintOperationPreviewIsSelectedMethodInfo,
+#endif
+    printOperationPreviewIsSelected         ,
+
+
+-- ** renderPage #method:renderPage#
+
+#if ENABLE_OVERLOADING
+    PrintOperationPreviewRenderPageMethodInfo,
+#endif
+    printOperationPreviewRenderPage         ,
+
+
+
+
+ -- * Signals
+-- ** gotPageSize #signal:gotPageSize#
+
+    C_PrintOperationPreviewGotPageSizeCallback,
+    PrintOperationPreviewGotPageSizeCallback,
+#if ENABLE_OVERLOADING
+    PrintOperationPreviewGotPageSizeSignalInfo,
+#endif
+    afterPrintOperationPreviewGotPageSize   ,
+    genClosure_PrintOperationPreviewGotPageSize,
+    mk_PrintOperationPreviewGotPageSizeCallback,
+    noPrintOperationPreviewGotPageSizeCallback,
+    onPrintOperationPreviewGotPageSize      ,
+    wrap_PrintOperationPreviewGotPageSizeCallback,
+
+
+-- ** ready #signal:ready#
+
+    C_PrintOperationPreviewReadyCallback    ,
+    PrintOperationPreviewReadyCallback      ,
+#if ENABLE_OVERLOADING
+    PrintOperationPreviewReadySignalInfo    ,
+#endif
+    afterPrintOperationPreviewReady         ,
+    genClosure_PrintOperationPreviewReady   ,
+    mk_PrintOperationPreviewReadyCallback   ,
+    noPrintOperationPreviewReadyCallback    ,
+    onPrintOperationPreviewReady            ,
+    wrap_PrintOperationPreviewReadyCallback ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.PageSetup as Gtk.PageSetup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.PrintContext as Gtk.PrintContext
+
+-- interface PrintOperationPreview 
+-- | Memory-managed wrapper type.
+newtype PrintOperationPreview = PrintOperationPreview (ManagedPtr PrintOperationPreview)
+-- | A convenience alias for `Nothing` :: `Maybe` `PrintOperationPreview`.
+noPrintOperationPreview :: Maybe PrintOperationPreview
+noPrintOperationPreview = Nothing
+
+-- signal PrintOperationPreview::got-page-size
+{- |
+The ::got-page-size signal is emitted once for each page
+that gets rendered to the preview.
+
+A handler for this signal should update the /@context@/
+according to /@pageSetup@/ and set up a suitable cairo
+context, using 'GI.Gtk.Objects.PrintContext.printContextSetCairoContext'.
+-}
+type PrintOperationPreviewGotPageSizeCallback =
+    Gtk.PrintContext.PrintContext
+    {- ^ /@context@/: the current 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> Gtk.PageSetup.PageSetup
+    {- ^ /@pageSetup@/: the 'GI.Gtk.Objects.PageSetup.PageSetup' for the current page -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationPreviewGotPageSizeCallback`@.
+noPrintOperationPreviewGotPageSizeCallback :: Maybe PrintOperationPreviewGotPageSizeCallback
+noPrintOperationPreviewGotPageSizeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationPreviewGotPageSizeCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.PrintContext.PrintContext ->
+    Ptr Gtk.PageSetup.PageSetup ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationPreviewGotPageSizeCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationPreviewGotPageSizeCallback :: C_PrintOperationPreviewGotPageSizeCallback -> IO (FunPtr C_PrintOperationPreviewGotPageSizeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationPreviewGotPageSize :: MonadIO m => PrintOperationPreviewGotPageSizeCallback -> m (GClosure C_PrintOperationPreviewGotPageSizeCallback)
+genClosure_PrintOperationPreviewGotPageSize cb = liftIO $ do
+    let cb' = wrap_PrintOperationPreviewGotPageSizeCallback cb
+    mk_PrintOperationPreviewGotPageSizeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationPreviewGotPageSizeCallback` into a `C_PrintOperationPreviewGotPageSizeCallback`.
+wrap_PrintOperationPreviewGotPageSizeCallback ::
+    PrintOperationPreviewGotPageSizeCallback ->
+    C_PrintOperationPreviewGotPageSizeCallback
+wrap_PrintOperationPreviewGotPageSizeCallback _cb _ context pageSetup _ = do
+    context' <- (newObject Gtk.PrintContext.PrintContext) context
+    pageSetup' <- (newObject Gtk.PageSetup.PageSetup) pageSetup
+    _cb  context' pageSetup'
+
+
+{- |
+Connect a signal handler for the “@got-page-size@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperationPreview #gotPageSize callback
+@
+-}
+onPrintOperationPreviewGotPageSize :: (IsPrintOperationPreview a, MonadIO m) => a -> PrintOperationPreviewGotPageSizeCallback -> m SignalHandlerId
+onPrintOperationPreviewGotPageSize obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationPreviewGotPageSizeCallback cb
+    cb'' <- mk_PrintOperationPreviewGotPageSizeCallback cb'
+    connectSignalFunPtr obj "got-page-size" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@got-page-size@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperationPreview #gotPageSize callback
+@
+-}
+afterPrintOperationPreviewGotPageSize :: (IsPrintOperationPreview a, MonadIO m) => a -> PrintOperationPreviewGotPageSizeCallback -> m SignalHandlerId
+afterPrintOperationPreviewGotPageSize obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationPreviewGotPageSizeCallback cb
+    cb'' <- mk_PrintOperationPreviewGotPageSizeCallback cb'
+    connectSignalFunPtr obj "got-page-size" cb'' SignalConnectAfter
+
+
+-- signal PrintOperationPreview::ready
+{- |
+The ::ready signal gets emitted once per preview operation,
+before the first page is rendered.
+
+A handler for this signal can be used for setup tasks.
+-}
+type PrintOperationPreviewReadyCallback =
+    Gtk.PrintContext.PrintContext
+    {- ^ /@context@/: the current 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationPreviewReadyCallback`@.
+noPrintOperationPreviewReadyCallback :: Maybe PrintOperationPreviewReadyCallback
+noPrintOperationPreviewReadyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationPreviewReadyCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.PrintContext.PrintContext ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationPreviewReadyCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationPreviewReadyCallback :: C_PrintOperationPreviewReadyCallback -> IO (FunPtr C_PrintOperationPreviewReadyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationPreviewReady :: MonadIO m => PrintOperationPreviewReadyCallback -> m (GClosure C_PrintOperationPreviewReadyCallback)
+genClosure_PrintOperationPreviewReady cb = liftIO $ do
+    let cb' = wrap_PrintOperationPreviewReadyCallback cb
+    mk_PrintOperationPreviewReadyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationPreviewReadyCallback` into a `C_PrintOperationPreviewReadyCallback`.
+wrap_PrintOperationPreviewReadyCallback ::
+    PrintOperationPreviewReadyCallback ->
+    C_PrintOperationPreviewReadyCallback
+wrap_PrintOperationPreviewReadyCallback _cb _ context _ = do
+    context' <- (newObject Gtk.PrintContext.PrintContext) context
+    _cb  context'
+
+
+{- |
+Connect a signal handler for the “@ready@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperationPreview #ready callback
+@
+-}
+onPrintOperationPreviewReady :: (IsPrintOperationPreview a, MonadIO m) => a -> PrintOperationPreviewReadyCallback -> m SignalHandlerId
+onPrintOperationPreviewReady obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationPreviewReadyCallback cb
+    cb'' <- mk_PrintOperationPreviewReadyCallback cb'
+    connectSignalFunPtr obj "ready" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@ready@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperationPreview #ready callback
+@
+-}
+afterPrintOperationPreviewReady :: (IsPrintOperationPreview a, MonadIO m) => a -> PrintOperationPreviewReadyCallback -> m SignalHandlerId
+afterPrintOperationPreviewReady obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationPreviewReadyCallback cb
+    cb'' <- mk_PrintOperationPreviewReadyCallback cb'
+    connectSignalFunPtr obj "ready" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewGotPageSizeSignalInfo
+instance SignalInfo PrintOperationPreviewGotPageSizeSignalInfo where
+    type HaskellCallbackType PrintOperationPreviewGotPageSizeSignalInfo = PrintOperationPreviewGotPageSizeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationPreviewGotPageSizeCallback cb
+        cb'' <- mk_PrintOperationPreviewGotPageSizeCallback cb'
+        connectSignalFunPtr obj "got-page-size" cb'' connectMode
+
+data PrintOperationPreviewReadySignalInfo
+instance SignalInfo PrintOperationPreviewReadySignalInfo where
+    type HaskellCallbackType PrintOperationPreviewReadySignalInfo = PrintOperationPreviewReadyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationPreviewReadyCallback cb
+        cb'' <- mk_PrintOperationPreviewReadyCallback cb'
+        connectSignalFunPtr obj "ready" cb'' connectMode
+
+type instance O.SignalList PrintOperationPreview = PrintOperationPreviewSignalList
+type PrintOperationPreviewSignalList = ('[ '("gotPageSize", PrintOperationPreviewGotPageSizeSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("ready", PrintOperationPreviewReadySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_print_operation_preview_get_type"
+    c_gtk_print_operation_preview_get_type :: IO GType
+
+instance GObject PrintOperationPreview where
+    gobjectType = c_gtk_print_operation_preview_get_type
+    
+
+-- | Type class for types which can be safely cast to `PrintOperationPreview`, for instance with `toPrintOperationPreview`.
+class (GObject o, O.IsDescendantOf PrintOperationPreview o) => IsPrintOperationPreview o
+instance (GObject o, O.IsDescendantOf PrintOperationPreview o) => IsPrintOperationPreview o
+
+instance O.HasParentTypes PrintOperationPreview
+type instance O.ParentTypes PrintOperationPreview = '[GObject.Object.Object]
+
+-- | Cast to `PrintOperationPreview`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPrintOperationPreview :: (MonadIO m, IsPrintOperationPreview o) => o -> m PrintOperationPreview
+toPrintOperationPreview = liftIO . unsafeCastTo PrintOperationPreview
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PrintOperationPreview
+type instance O.AttributeList PrintOperationPreview = PrintOperationPreviewAttributeList
+type PrintOperationPreviewAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolvePrintOperationPreviewMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePrintOperationPreviewMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePrintOperationPreviewMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePrintOperationPreviewMethod "endPreview" o = PrintOperationPreviewEndPreviewMethodInfo
+    ResolvePrintOperationPreviewMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePrintOperationPreviewMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePrintOperationPreviewMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePrintOperationPreviewMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePrintOperationPreviewMethod "isSelected" o = PrintOperationPreviewIsSelectedMethodInfo
+    ResolvePrintOperationPreviewMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePrintOperationPreviewMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePrintOperationPreviewMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePrintOperationPreviewMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePrintOperationPreviewMethod "renderPage" o = PrintOperationPreviewRenderPageMethodInfo
+    ResolvePrintOperationPreviewMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePrintOperationPreviewMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePrintOperationPreviewMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePrintOperationPreviewMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePrintOperationPreviewMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePrintOperationPreviewMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePrintOperationPreviewMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePrintOperationPreviewMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePrintOperationPreviewMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePrintOperationPreviewMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePrintOperationPreviewMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePrintOperationPreviewMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePrintOperationPreviewMethod t PrintOperationPreview, O.MethodInfo info PrintOperationPreview p) => OL.IsLabel t (PrintOperationPreview -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method PrintOperationPreview::end_preview
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "preview", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperationPreview"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperationPreview", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_preview_end_preview" gtk_print_operation_preview_end_preview :: 
+    Ptr PrintOperationPreview ->            -- preview : TInterface (Name {namespace = "Gtk", name = "PrintOperationPreview"})
+    IO ()
+
+{- |
+Ends a preview.
+
+This function must be called to finish a custom print preview.
+
+/Since: 2.10/
+-}
+printOperationPreviewEndPreview ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperationPreview a) =>
+    a
+    {- ^ /@preview@/: a 'GI.Gtk.Interfaces.PrintOperationPreview.PrintOperationPreview' -}
+    -> m ()
+printOperationPreviewEndPreview preview = liftIO $ do
+    preview' <- unsafeManagedPtrCastPtr preview
+    gtk_print_operation_preview_end_preview preview'
+    touchManagedPtr preview
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewEndPreviewMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsPrintOperationPreview a) => O.MethodInfo PrintOperationPreviewEndPreviewMethodInfo a signature where
+    overloadedMethod _ = printOperationPreviewEndPreview
+
+#endif
+
+-- method PrintOperationPreview::is_selected
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "preview", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperationPreview"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperationPreview", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_nr", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_preview_is_selected" gtk_print_operation_preview_is_selected :: 
+    Ptr PrintOperationPreview ->            -- preview : TInterface (Name {namespace = "Gtk", name = "PrintOperationPreview"})
+    Int32 ->                                -- page_nr : TBasicType TInt
+    IO CInt
+
+{- |
+Returns whether the given page is included in the set of pages that
+have been selected for printing.
+
+/Since: 2.10/
+-}
+printOperationPreviewIsSelected ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperationPreview a) =>
+    a
+    {- ^ /@preview@/: a 'GI.Gtk.Interfaces.PrintOperationPreview.PrintOperationPreview' -}
+    -> Int32
+    {- ^ /@pageNr@/: a page number -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the page has been selected for printing -}
+printOperationPreviewIsSelected preview pageNr = liftIO $ do
+    preview' <- unsafeManagedPtrCastPtr preview
+    result <- gtk_print_operation_preview_is_selected preview' pageNr
+    let result' = (/= 0) result
+    touchManagedPtr preview
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewIsSelectedMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, IsPrintOperationPreview a) => O.MethodInfo PrintOperationPreviewIsSelectedMethodInfo a signature where
+    overloadedMethod _ = printOperationPreviewIsSelected
+
+#endif
+
+-- method PrintOperationPreview::render_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "preview", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperationPreview"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperationPreview", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_nr", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the page to render", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_preview_render_page" gtk_print_operation_preview_render_page :: 
+    Ptr PrintOperationPreview ->            -- preview : TInterface (Name {namespace = "Gtk", name = "PrintOperationPreview"})
+    Int32 ->                                -- page_nr : TBasicType TInt
+    IO ()
+
+{- |
+Renders a page to the preview, using the print context that
+was passed to the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/preview/@ handler together
+with /@preview@/.
+
+A custom iprint preview should use this function in its ::expose
+handler to render the currently selected page.
+
+Note that this function requires a suitable cairo context to
+be associated with the print context.
+
+/Since: 2.10/
+-}
+printOperationPreviewRenderPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperationPreview a) =>
+    a
+    {- ^ /@preview@/: a 'GI.Gtk.Interfaces.PrintOperationPreview.PrintOperationPreview' -}
+    -> Int32
+    {- ^ /@pageNr@/: the page to render -}
+    -> m ()
+printOperationPreviewRenderPage preview pageNr = liftIO $ do
+    preview' <- unsafeManagedPtrCastPtr preview
+    gtk_print_operation_preview_render_page preview' pageNr
+    touchManagedPtr preview
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewRenderPageMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsPrintOperationPreview a) => O.MethodInfo PrintOperationPreviewRenderPageMethodInfo a signature where
+    overloadedMethod _ = printOperationPreviewRenderPage
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/PrintOperationPreview.hs-boot b/GI/Gtk/Interfaces/PrintOperationPreview.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/PrintOperationPreview.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.PrintOperationPreview where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PrintOperationPreview = PrintOperationPreview (ManagedPtr PrintOperationPreview)
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewGotPageSizeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewReadySignalInfo
+#endif
+instance GObject PrintOperationPreview where
+class (GObject o, O.IsDescendantOf PrintOperationPreview o) => IsPrintOperationPreview o
+instance (GObject o, O.IsDescendantOf PrintOperationPreview o) => IsPrintOperationPreview o
+instance O.HasParentTypes PrintOperationPreview
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewEndPreviewMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewIsSelectedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewRenderPageMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/RecentChooser.hs b/GI/Gtk/Interfaces/RecentChooser.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/RecentChooser.hs
@@ -0,0 +1,2529 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Interfaces.RecentChooser.RecentChooser' is an interface that can be implemented by widgets
+displaying the list of recently used files.  In GTK+, the main objects
+that implement this interface are 'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget',
+'GI.Gtk.Objects.RecentChooserDialog.RecentChooserDialog' and 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu'.
+
+Recently used files are supported since GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.RecentChooser
+    ( 
+
+-- * Exported types
+    RecentChooser(..)                       ,
+    noRecentChooser                         ,
+    IsRecentChooser                         ,
+    toRecentChooser                         ,
+
+
+ -- * Methods
+-- ** addFilter #method:addFilter#
+
+#if ENABLE_OVERLOADING
+    RecentChooserAddFilterMethodInfo        ,
+#endif
+    recentChooserAddFilter                  ,
+
+
+-- ** getCurrentItem #method:getCurrentItem#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetCurrentItemMethodInfo   ,
+#endif
+    recentChooserGetCurrentItem             ,
+
+
+-- ** getCurrentUri #method:getCurrentUri#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetCurrentUriMethodInfo    ,
+#endif
+    recentChooserGetCurrentUri              ,
+
+
+-- ** getFilter #method:getFilter#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetFilterMethodInfo        ,
+#endif
+    recentChooserGetFilter                  ,
+
+
+-- ** getItems #method:getItems#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetItemsMethodInfo         ,
+#endif
+    recentChooserGetItems                   ,
+
+
+-- ** getLimit #method:getLimit#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetLimitMethodInfo         ,
+#endif
+    recentChooserGetLimit                   ,
+
+
+-- ** getLocalOnly #method:getLocalOnly#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetLocalOnlyMethodInfo     ,
+#endif
+    recentChooserGetLocalOnly               ,
+
+
+-- ** getSelectMultiple #method:getSelectMultiple#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetSelectMultipleMethodInfo,
+#endif
+    recentChooserGetSelectMultiple          ,
+
+
+-- ** getShowIcons #method:getShowIcons#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetShowIconsMethodInfo     ,
+#endif
+    recentChooserGetShowIcons               ,
+
+
+-- ** getShowNotFound #method:getShowNotFound#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetShowNotFoundMethodInfo  ,
+#endif
+    recentChooserGetShowNotFound            ,
+
+
+-- ** getShowPrivate #method:getShowPrivate#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetShowPrivateMethodInfo   ,
+#endif
+    recentChooserGetShowPrivate             ,
+
+
+-- ** getShowTips #method:getShowTips#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetShowTipsMethodInfo      ,
+#endif
+    recentChooserGetShowTips                ,
+
+
+-- ** getSortType #method:getSortType#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetSortTypeMethodInfo      ,
+#endif
+    recentChooserGetSortType                ,
+
+
+-- ** getUris #method:getUris#
+
+#if ENABLE_OVERLOADING
+    RecentChooserGetUrisMethodInfo          ,
+#endif
+    recentChooserGetUris                    ,
+
+
+-- ** listFilters #method:listFilters#
+
+#if ENABLE_OVERLOADING
+    RecentChooserListFiltersMethodInfo      ,
+#endif
+    recentChooserListFilters                ,
+
+
+-- ** removeFilter #method:removeFilter#
+
+#if ENABLE_OVERLOADING
+    RecentChooserRemoveFilterMethodInfo     ,
+#endif
+    recentChooserRemoveFilter               ,
+
+
+-- ** selectAll #method:selectAll#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSelectAllMethodInfo        ,
+#endif
+    recentChooserSelectAll                  ,
+
+
+-- ** selectUri #method:selectUri#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSelectUriMethodInfo        ,
+#endif
+    recentChooserSelectUri                  ,
+
+
+-- ** setCurrentUri #method:setCurrentUri#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetCurrentUriMethodInfo    ,
+#endif
+    recentChooserSetCurrentUri              ,
+
+
+-- ** setFilter #method:setFilter#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetFilterMethodInfo        ,
+#endif
+    recentChooserSetFilter                  ,
+
+
+-- ** setLimit #method:setLimit#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetLimitMethodInfo         ,
+#endif
+    recentChooserSetLimit                   ,
+
+
+-- ** setLocalOnly #method:setLocalOnly#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetLocalOnlyMethodInfo     ,
+#endif
+    recentChooserSetLocalOnly               ,
+
+
+-- ** setSelectMultiple #method:setSelectMultiple#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetSelectMultipleMethodInfo,
+#endif
+    recentChooserSetSelectMultiple          ,
+
+
+-- ** setShowIcons #method:setShowIcons#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetShowIconsMethodInfo     ,
+#endif
+    recentChooserSetShowIcons               ,
+
+
+-- ** setShowNotFound #method:setShowNotFound#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetShowNotFoundMethodInfo  ,
+#endif
+    recentChooserSetShowNotFound            ,
+
+
+-- ** setShowPrivate #method:setShowPrivate#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetShowPrivateMethodInfo   ,
+#endif
+    recentChooserSetShowPrivate             ,
+
+
+-- ** setShowTips #method:setShowTips#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetShowTipsMethodInfo      ,
+#endif
+    recentChooserSetShowTips                ,
+
+
+-- ** setSortFunc #method:setSortFunc#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetSortFuncMethodInfo      ,
+#endif
+    recentChooserSetSortFunc                ,
+
+
+-- ** setSortType #method:setSortType#
+
+#if ENABLE_OVERLOADING
+    RecentChooserSetSortTypeMethodInfo      ,
+#endif
+    recentChooserSetSortType                ,
+
+
+-- ** unselectAll #method:unselectAll#
+
+#if ENABLE_OVERLOADING
+    RecentChooserUnselectAllMethodInfo      ,
+#endif
+    recentChooserUnselectAll                ,
+
+
+-- ** unselectUri #method:unselectUri#
+
+#if ENABLE_OVERLOADING
+    RecentChooserUnselectUriMethodInfo      ,
+#endif
+    recentChooserUnselectUri                ,
+
+
+
+
+ -- * Properties
+-- ** filter #attr:filter#
+{- | The 'GI.Gtk.Objects.RecentFilter.RecentFilter' object to be used when displaying
+the recently used resources.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserFilterPropertyInfo         ,
+#endif
+    clearRecentChooserFilter                ,
+    constructRecentChooserFilter            ,
+    getRecentChooserFilter                  ,
+#if ENABLE_OVERLOADING
+    recentChooserFilter                     ,
+#endif
+    setRecentChooserFilter                  ,
+
+
+-- ** limit #attr:limit#
+{- | The maximum number of recently used resources to be displayed,
+or -1 to display all items.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserLimitPropertyInfo          ,
+#endif
+    constructRecentChooserLimit             ,
+    getRecentChooserLimit                   ,
+#if ENABLE_OVERLOADING
+    recentChooserLimit                      ,
+#endif
+    setRecentChooserLimit                   ,
+
+
+-- ** localOnly #attr:localOnly#
+{- | Whether this 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' should display only local (file:)
+resources.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserLocalOnlyPropertyInfo      ,
+#endif
+    constructRecentChooserLocalOnly         ,
+    getRecentChooserLocalOnly               ,
+#if ENABLE_OVERLOADING
+    recentChooserLocalOnly                  ,
+#endif
+    setRecentChooserLocalOnly               ,
+
+
+-- ** recentManager #attr:recentManager#
+{- | The 'GI.Gtk.Objects.RecentManager.RecentManager' instance used by the 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' to
+display the list of recently used resources.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserRecentManagerPropertyInfo  ,
+#endif
+    constructRecentChooserRecentManager     ,
+#if ENABLE_OVERLOADING
+    recentChooserRecentManager              ,
+#endif
+
+
+-- ** selectMultiple #attr:selectMultiple#
+{- | Allow the user to select multiple resources.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserSelectMultiplePropertyInfo ,
+#endif
+    constructRecentChooserSelectMultiple    ,
+    getRecentChooserSelectMultiple          ,
+#if ENABLE_OVERLOADING
+    recentChooserSelectMultiple             ,
+#endif
+    setRecentChooserSelectMultiple          ,
+
+
+-- ** showIcons #attr:showIcons#
+{- | Whether this 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' should display an icon near the item.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserShowIconsPropertyInfo      ,
+#endif
+    constructRecentChooserShowIcons         ,
+    getRecentChooserShowIcons               ,
+#if ENABLE_OVERLOADING
+    recentChooserShowIcons                  ,
+#endif
+    setRecentChooserShowIcons               ,
+
+
+-- ** showNotFound #attr:showNotFound#
+{- | Whether this 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' should display the recently used resources
+even if not present anymore. Setting this to 'False' will perform a
+potentially expensive check on every local resource (every remote
+resource will always be displayed).
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserShowNotFoundPropertyInfo   ,
+#endif
+    constructRecentChooserShowNotFound      ,
+    getRecentChooserShowNotFound            ,
+#if ENABLE_OVERLOADING
+    recentChooserShowNotFound               ,
+#endif
+    setRecentChooserShowNotFound            ,
+
+
+-- ** showPrivate #attr:showPrivate#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserShowPrivatePropertyInfo    ,
+#endif
+    constructRecentChooserShowPrivate       ,
+    getRecentChooserShowPrivate             ,
+#if ENABLE_OVERLOADING
+    recentChooserShowPrivate                ,
+#endif
+    setRecentChooserShowPrivate             ,
+
+
+-- ** showTips #attr:showTips#
+{- | Whether this 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' should display a tooltip containing the
+full path of the recently used resources.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserShowTipsPropertyInfo       ,
+#endif
+    constructRecentChooserShowTips          ,
+    getRecentChooserShowTips                ,
+#if ENABLE_OVERLOADING
+    recentChooserShowTips                   ,
+#endif
+    setRecentChooserShowTips                ,
+
+
+-- ** sortType #attr:sortType#
+{- | Sorting order to be used when displaying the recently used resources.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserSortTypePropertyInfo       ,
+#endif
+    constructRecentChooserSortType          ,
+    getRecentChooserSortType                ,
+#if ENABLE_OVERLOADING
+    recentChooserSortType                   ,
+#endif
+    setRecentChooserSortType                ,
+
+
+
+
+ -- * Signals
+-- ** itemActivated #signal:itemActivated#
+
+    C_RecentChooserItemActivatedCallback    ,
+    RecentChooserItemActivatedCallback      ,
+#if ENABLE_OVERLOADING
+    RecentChooserItemActivatedSignalInfo    ,
+#endif
+    afterRecentChooserItemActivated         ,
+    genClosure_RecentChooserItemActivated   ,
+    mk_RecentChooserItemActivatedCallback   ,
+    noRecentChooserItemActivatedCallback    ,
+    onRecentChooserItemActivated            ,
+    wrap_RecentChooserItemActivatedCallback ,
+
+
+-- ** selectionChanged #signal:selectionChanged#
+
+    C_RecentChooserSelectionChangedCallback ,
+    RecentChooserSelectionChangedCallback   ,
+#if ENABLE_OVERLOADING
+    RecentChooserSelectionChangedSignalInfo ,
+#endif
+    afterRecentChooserSelectionChanged      ,
+    genClosure_RecentChooserSelectionChanged,
+    mk_RecentChooserSelectionChangedCallback,
+    noRecentChooserSelectionChangedCallback ,
+    onRecentChooserSelectionChanged         ,
+    wrap_RecentChooserSelectionChangedCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RecentFilter as Gtk.RecentFilter
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RecentManager as Gtk.RecentManager
+import {-# SOURCE #-} qualified GI.Gtk.Structs.RecentInfo as Gtk.RecentInfo
+
+-- interface RecentChooser 
+-- | Memory-managed wrapper type.
+newtype RecentChooser = RecentChooser (ManagedPtr RecentChooser)
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentChooser`.
+noRecentChooser :: Maybe RecentChooser
+noRecentChooser = Nothing
+
+-- signal RecentChooser::item-activated
+{- |
+This signal is emitted when the user \"activates\" a recent item
+in the recent chooser.  This can happen by double-clicking on an item
+in the recently used resources list, or by pressing
+@Enter@.
+
+/Since: 2.10/
+-}
+type RecentChooserItemActivatedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RecentChooserItemActivatedCallback`@.
+noRecentChooserItemActivatedCallback :: Maybe RecentChooserItemActivatedCallback
+noRecentChooserItemActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RecentChooserItemActivatedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_RecentChooserItemActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_RecentChooserItemActivatedCallback :: C_RecentChooserItemActivatedCallback -> IO (FunPtr C_RecentChooserItemActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RecentChooserItemActivated :: MonadIO m => RecentChooserItemActivatedCallback -> m (GClosure C_RecentChooserItemActivatedCallback)
+genClosure_RecentChooserItemActivated cb = liftIO $ do
+    let cb' = wrap_RecentChooserItemActivatedCallback cb
+    mk_RecentChooserItemActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RecentChooserItemActivatedCallback` into a `C_RecentChooserItemActivatedCallback`.
+wrap_RecentChooserItemActivatedCallback ::
+    RecentChooserItemActivatedCallback ->
+    C_RecentChooserItemActivatedCallback
+wrap_RecentChooserItemActivatedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@item-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' recentChooser #itemActivated callback
+@
+-}
+onRecentChooserItemActivated :: (IsRecentChooser a, MonadIO m) => a -> RecentChooserItemActivatedCallback -> m SignalHandlerId
+onRecentChooserItemActivated obj cb = liftIO $ do
+    let cb' = wrap_RecentChooserItemActivatedCallback cb
+    cb'' <- mk_RecentChooserItemActivatedCallback cb'
+    connectSignalFunPtr obj "item-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@item-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' recentChooser #itemActivated callback
+@
+-}
+afterRecentChooserItemActivated :: (IsRecentChooser a, MonadIO m) => a -> RecentChooserItemActivatedCallback -> m SignalHandlerId
+afterRecentChooserItemActivated obj cb = liftIO $ do
+    let cb' = wrap_RecentChooserItemActivatedCallback cb
+    cb'' <- mk_RecentChooserItemActivatedCallback cb'
+    connectSignalFunPtr obj "item-activated" cb'' SignalConnectAfter
+
+
+-- signal RecentChooser::selection-changed
+{- |
+This signal is emitted when there is a change in the set of
+selected recently used resources.  This can happen when a user
+modifies the selection with the mouse or the keyboard, or when
+explicitly calling functions to change the selection.
+
+/Since: 2.10/
+-}
+type RecentChooserSelectionChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RecentChooserSelectionChangedCallback`@.
+noRecentChooserSelectionChangedCallback :: Maybe RecentChooserSelectionChangedCallback
+noRecentChooserSelectionChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RecentChooserSelectionChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_RecentChooserSelectionChangedCallback`.
+foreign import ccall "wrapper"
+    mk_RecentChooserSelectionChangedCallback :: C_RecentChooserSelectionChangedCallback -> IO (FunPtr C_RecentChooserSelectionChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RecentChooserSelectionChanged :: MonadIO m => RecentChooserSelectionChangedCallback -> m (GClosure C_RecentChooserSelectionChangedCallback)
+genClosure_RecentChooserSelectionChanged cb = liftIO $ do
+    let cb' = wrap_RecentChooserSelectionChangedCallback cb
+    mk_RecentChooserSelectionChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RecentChooserSelectionChangedCallback` into a `C_RecentChooserSelectionChangedCallback`.
+wrap_RecentChooserSelectionChangedCallback ::
+    RecentChooserSelectionChangedCallback ->
+    C_RecentChooserSelectionChangedCallback
+wrap_RecentChooserSelectionChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@selection-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' recentChooser #selectionChanged callback
+@
+-}
+onRecentChooserSelectionChanged :: (IsRecentChooser a, MonadIO m) => a -> RecentChooserSelectionChangedCallback -> m SignalHandlerId
+onRecentChooserSelectionChanged obj cb = liftIO $ do
+    let cb' = wrap_RecentChooserSelectionChangedCallback cb
+    cb'' <- mk_RecentChooserSelectionChangedCallback cb'
+    connectSignalFunPtr obj "selection-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selection-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' recentChooser #selectionChanged callback
+@
+-}
+afterRecentChooserSelectionChanged :: (IsRecentChooser a, MonadIO m) => a -> RecentChooserSelectionChangedCallback -> m SignalHandlerId
+afterRecentChooserSelectionChanged obj cb = liftIO $ do
+    let cb' = wrap_RecentChooserSelectionChangedCallback cb
+    cb'' <- mk_RecentChooserSelectionChangedCallback cb'
+    connectSignalFunPtr obj "selection-changed" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+data RecentChooserItemActivatedSignalInfo
+instance SignalInfo RecentChooserItemActivatedSignalInfo where
+    type HaskellCallbackType RecentChooserItemActivatedSignalInfo = RecentChooserItemActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RecentChooserItemActivatedCallback cb
+        cb'' <- mk_RecentChooserItemActivatedCallback cb'
+        connectSignalFunPtr obj "item-activated" cb'' connectMode
+
+data RecentChooserSelectionChangedSignalInfo
+instance SignalInfo RecentChooserSelectionChangedSignalInfo where
+    type HaskellCallbackType RecentChooserSelectionChangedSignalInfo = RecentChooserSelectionChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RecentChooserSelectionChangedCallback cb
+        cb'' <- mk_RecentChooserSelectionChangedCallback cb'
+        connectSignalFunPtr obj "selection-changed" cb'' connectMode
+
+type instance O.SignalList RecentChooser = RecentChooserSignalList
+type RecentChooserSignalList = ('[ '("itemActivated", RecentChooserItemActivatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("selectionChanged", RecentChooserSelectionChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_recent_chooser_get_type"
+    c_gtk_recent_chooser_get_type :: IO GType
+
+instance GObject RecentChooser where
+    gobjectType = c_gtk_recent_chooser_get_type
+    
+
+-- | Type class for types which can be safely cast to `RecentChooser`, for instance with `toRecentChooser`.
+class (GObject o, O.IsDescendantOf RecentChooser o) => IsRecentChooser o
+instance (GObject o, O.IsDescendantOf RecentChooser o) => IsRecentChooser o
+
+instance O.HasParentTypes RecentChooser
+type instance O.ParentTypes RecentChooser = '[GObject.Object.Object]
+
+-- | Cast to `RecentChooser`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRecentChooser :: (MonadIO m, IsRecentChooser o) => o -> m RecentChooser
+toRecentChooser = liftIO . unsafeCastTo RecentChooser
+
+-- VVV Prop "filter"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@filter@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooser #filter
+@
+-}
+getRecentChooserFilter :: (MonadIO m, IsRecentChooser o) => o -> m Gtk.RecentFilter.RecentFilter
+getRecentChooserFilter obj = liftIO $ checkUnexpectedNothing "getRecentChooserFilter" $ B.Properties.getObjectPropertyObject obj "filter" Gtk.RecentFilter.RecentFilter
+
+{- |
+Set the value of the “@filter@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooser [ #filter 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserFilter :: (MonadIO m, IsRecentChooser o, Gtk.RecentFilter.IsRecentFilter a) => o -> a -> m ()
+setRecentChooserFilter obj val = liftIO $ B.Properties.setObjectPropertyObject obj "filter" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@filter@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserFilter :: (IsRecentChooser o, Gtk.RecentFilter.IsRecentFilter a) => a -> IO (GValueConstruct o)
+constructRecentChooserFilter val = B.Properties.constructObjectPropertyObject "filter" (Just val)
+
+{- |
+Set the value of the “@filter@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #filter
+@
+-}
+clearRecentChooserFilter :: (MonadIO m, IsRecentChooser o) => o -> m ()
+clearRecentChooserFilter obj = liftIO $ B.Properties.setObjectPropertyObject obj "filter" (Nothing :: Maybe Gtk.RecentFilter.RecentFilter)
+
+#if ENABLE_OVERLOADING
+data RecentChooserFilterPropertyInfo
+instance AttrInfo RecentChooserFilterPropertyInfo where
+    type AttrAllowedOps RecentChooserFilterPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentChooserFilterPropertyInfo = Gtk.RecentFilter.IsRecentFilter
+    type AttrBaseTypeConstraint RecentChooserFilterPropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserFilterPropertyInfo = Gtk.RecentFilter.RecentFilter
+    type AttrLabel RecentChooserFilterPropertyInfo = "filter"
+    type AttrOrigin RecentChooserFilterPropertyInfo = RecentChooser
+    attrGet _ = getRecentChooserFilter
+    attrSet _ = setRecentChooserFilter
+    attrConstruct _ = constructRecentChooserFilter
+    attrClear _ = clearRecentChooserFilter
+#endif
+
+-- VVV Prop "limit"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@limit@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooser #limit
+@
+-}
+getRecentChooserLimit :: (MonadIO m, IsRecentChooser o) => o -> m Int32
+getRecentChooserLimit obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "limit"
+
+{- |
+Set the value of the “@limit@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooser [ #limit 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserLimit :: (MonadIO m, IsRecentChooser o) => o -> Int32 -> m ()
+setRecentChooserLimit obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "limit" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@limit@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserLimit :: (IsRecentChooser o) => Int32 -> IO (GValueConstruct o)
+constructRecentChooserLimit val = B.Properties.constructObjectPropertyInt32 "limit" val
+
+#if ENABLE_OVERLOADING
+data RecentChooserLimitPropertyInfo
+instance AttrInfo RecentChooserLimitPropertyInfo where
+    type AttrAllowedOps RecentChooserLimitPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentChooserLimitPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint RecentChooserLimitPropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserLimitPropertyInfo = Int32
+    type AttrLabel RecentChooserLimitPropertyInfo = "limit"
+    type AttrOrigin RecentChooserLimitPropertyInfo = RecentChooser
+    attrGet _ = getRecentChooserLimit
+    attrSet _ = setRecentChooserLimit
+    attrConstruct _ = constructRecentChooserLimit
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "local-only"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@local-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooser #localOnly
+@
+-}
+getRecentChooserLocalOnly :: (MonadIO m, IsRecentChooser o) => o -> m Bool
+getRecentChooserLocalOnly obj = liftIO $ B.Properties.getObjectPropertyBool obj "local-only"
+
+{- |
+Set the value of the “@local-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooser [ #localOnly 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserLocalOnly :: (MonadIO m, IsRecentChooser o) => o -> Bool -> m ()
+setRecentChooserLocalOnly obj val = liftIO $ B.Properties.setObjectPropertyBool obj "local-only" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@local-only@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserLocalOnly :: (IsRecentChooser o) => Bool -> IO (GValueConstruct o)
+constructRecentChooserLocalOnly val = B.Properties.constructObjectPropertyBool "local-only" val
+
+#if ENABLE_OVERLOADING
+data RecentChooserLocalOnlyPropertyInfo
+instance AttrInfo RecentChooserLocalOnlyPropertyInfo where
+    type AttrAllowedOps RecentChooserLocalOnlyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentChooserLocalOnlyPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RecentChooserLocalOnlyPropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserLocalOnlyPropertyInfo = Bool
+    type AttrLabel RecentChooserLocalOnlyPropertyInfo = "local-only"
+    type AttrOrigin RecentChooserLocalOnlyPropertyInfo = RecentChooser
+    attrGet _ = getRecentChooserLocalOnly
+    attrSet _ = setRecentChooserLocalOnly
+    attrConstruct _ = constructRecentChooserLocalOnly
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "recent-manager"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+   -- Flags: [PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@recent-manager@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserRecentManager :: (IsRecentChooser o, Gtk.RecentManager.IsRecentManager a) => a -> IO (GValueConstruct o)
+constructRecentChooserRecentManager val = B.Properties.constructObjectPropertyObject "recent-manager" (Just val)
+
+#if ENABLE_OVERLOADING
+data RecentChooserRecentManagerPropertyInfo
+instance AttrInfo RecentChooserRecentManagerPropertyInfo where
+    type AttrAllowedOps RecentChooserRecentManagerPropertyInfo = '[ 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint RecentChooserRecentManagerPropertyInfo = Gtk.RecentManager.IsRecentManager
+    type AttrBaseTypeConstraint RecentChooserRecentManagerPropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserRecentManagerPropertyInfo = ()
+    type AttrLabel RecentChooserRecentManagerPropertyInfo = "recent-manager"
+    type AttrOrigin RecentChooserRecentManagerPropertyInfo = RecentChooser
+    attrGet _ = undefined
+    attrSet _ = undefined
+    attrConstruct _ = constructRecentChooserRecentManager
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "select-multiple"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@select-multiple@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooser #selectMultiple
+@
+-}
+getRecentChooserSelectMultiple :: (MonadIO m, IsRecentChooser o) => o -> m Bool
+getRecentChooserSelectMultiple obj = liftIO $ B.Properties.getObjectPropertyBool obj "select-multiple"
+
+{- |
+Set the value of the “@select-multiple@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooser [ #selectMultiple 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserSelectMultiple :: (MonadIO m, IsRecentChooser o) => o -> Bool -> m ()
+setRecentChooserSelectMultiple obj val = liftIO $ B.Properties.setObjectPropertyBool obj "select-multiple" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@select-multiple@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserSelectMultiple :: (IsRecentChooser o) => Bool -> IO (GValueConstruct o)
+constructRecentChooserSelectMultiple val = B.Properties.constructObjectPropertyBool "select-multiple" val
+
+#if ENABLE_OVERLOADING
+data RecentChooserSelectMultiplePropertyInfo
+instance AttrInfo RecentChooserSelectMultiplePropertyInfo where
+    type AttrAllowedOps RecentChooserSelectMultiplePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentChooserSelectMultiplePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RecentChooserSelectMultiplePropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserSelectMultiplePropertyInfo = Bool
+    type AttrLabel RecentChooserSelectMultiplePropertyInfo = "select-multiple"
+    type AttrOrigin RecentChooserSelectMultiplePropertyInfo = RecentChooser
+    attrGet _ = getRecentChooserSelectMultiple
+    attrSet _ = setRecentChooserSelectMultiple
+    attrConstruct _ = constructRecentChooserSelectMultiple
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-icons"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-icons@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooser #showIcons
+@
+-}
+getRecentChooserShowIcons :: (MonadIO m, IsRecentChooser o) => o -> m Bool
+getRecentChooserShowIcons obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-icons"
+
+{- |
+Set the value of the “@show-icons@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooser [ #showIcons 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserShowIcons :: (MonadIO m, IsRecentChooser o) => o -> Bool -> m ()
+setRecentChooserShowIcons obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-icons" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-icons@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserShowIcons :: (IsRecentChooser o) => Bool -> IO (GValueConstruct o)
+constructRecentChooserShowIcons val = B.Properties.constructObjectPropertyBool "show-icons" val
+
+#if ENABLE_OVERLOADING
+data RecentChooserShowIconsPropertyInfo
+instance AttrInfo RecentChooserShowIconsPropertyInfo where
+    type AttrAllowedOps RecentChooserShowIconsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentChooserShowIconsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RecentChooserShowIconsPropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserShowIconsPropertyInfo = Bool
+    type AttrLabel RecentChooserShowIconsPropertyInfo = "show-icons"
+    type AttrOrigin RecentChooserShowIconsPropertyInfo = RecentChooser
+    attrGet _ = getRecentChooserShowIcons
+    attrSet _ = setRecentChooserShowIcons
+    attrConstruct _ = constructRecentChooserShowIcons
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-not-found"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-not-found@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooser #showNotFound
+@
+-}
+getRecentChooserShowNotFound :: (MonadIO m, IsRecentChooser o) => o -> m Bool
+getRecentChooserShowNotFound obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-not-found"
+
+{- |
+Set the value of the “@show-not-found@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooser [ #showNotFound 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserShowNotFound :: (MonadIO m, IsRecentChooser o) => o -> Bool -> m ()
+setRecentChooserShowNotFound obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-not-found" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-not-found@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserShowNotFound :: (IsRecentChooser o) => Bool -> IO (GValueConstruct o)
+constructRecentChooserShowNotFound val = B.Properties.constructObjectPropertyBool "show-not-found" val
+
+#if ENABLE_OVERLOADING
+data RecentChooserShowNotFoundPropertyInfo
+instance AttrInfo RecentChooserShowNotFoundPropertyInfo where
+    type AttrAllowedOps RecentChooserShowNotFoundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentChooserShowNotFoundPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RecentChooserShowNotFoundPropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserShowNotFoundPropertyInfo = Bool
+    type AttrLabel RecentChooserShowNotFoundPropertyInfo = "show-not-found"
+    type AttrOrigin RecentChooserShowNotFoundPropertyInfo = RecentChooser
+    attrGet _ = getRecentChooserShowNotFound
+    attrSet _ = setRecentChooserShowNotFound
+    attrConstruct _ = constructRecentChooserShowNotFound
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-private"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-private@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooser #showPrivate
+@
+-}
+getRecentChooserShowPrivate :: (MonadIO m, IsRecentChooser o) => o -> m Bool
+getRecentChooserShowPrivate obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-private"
+
+{- |
+Set the value of the “@show-private@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooser [ #showPrivate 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserShowPrivate :: (MonadIO m, IsRecentChooser o) => o -> Bool -> m ()
+setRecentChooserShowPrivate obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-private" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-private@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserShowPrivate :: (IsRecentChooser o) => Bool -> IO (GValueConstruct o)
+constructRecentChooserShowPrivate val = B.Properties.constructObjectPropertyBool "show-private" val
+
+#if ENABLE_OVERLOADING
+data RecentChooserShowPrivatePropertyInfo
+instance AttrInfo RecentChooserShowPrivatePropertyInfo where
+    type AttrAllowedOps RecentChooserShowPrivatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentChooserShowPrivatePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RecentChooserShowPrivatePropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserShowPrivatePropertyInfo = Bool
+    type AttrLabel RecentChooserShowPrivatePropertyInfo = "show-private"
+    type AttrOrigin RecentChooserShowPrivatePropertyInfo = RecentChooser
+    attrGet _ = getRecentChooserShowPrivate
+    attrSet _ = setRecentChooserShowPrivate
+    attrConstruct _ = constructRecentChooserShowPrivate
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-tips"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-tips@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooser #showTips
+@
+-}
+getRecentChooserShowTips :: (MonadIO m, IsRecentChooser o) => o -> m Bool
+getRecentChooserShowTips obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-tips"
+
+{- |
+Set the value of the “@show-tips@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooser [ #showTips 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserShowTips :: (MonadIO m, IsRecentChooser o) => o -> Bool -> m ()
+setRecentChooserShowTips obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-tips" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-tips@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserShowTips :: (IsRecentChooser o) => Bool -> IO (GValueConstruct o)
+constructRecentChooserShowTips val = B.Properties.constructObjectPropertyBool "show-tips" val
+
+#if ENABLE_OVERLOADING
+data RecentChooserShowTipsPropertyInfo
+instance AttrInfo RecentChooserShowTipsPropertyInfo where
+    type AttrAllowedOps RecentChooserShowTipsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentChooserShowTipsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RecentChooserShowTipsPropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserShowTipsPropertyInfo = Bool
+    type AttrLabel RecentChooserShowTipsPropertyInfo = "show-tips"
+    type AttrOrigin RecentChooserShowTipsPropertyInfo = RecentChooser
+    attrGet _ = getRecentChooserShowTips
+    attrSet _ = setRecentChooserShowTips
+    attrConstruct _ = constructRecentChooserShowTips
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "sort-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "RecentSortType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@sort-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooser #sortType
+@
+-}
+getRecentChooserSortType :: (MonadIO m, IsRecentChooser o) => o -> m Gtk.Enums.RecentSortType
+getRecentChooserSortType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "sort-type"
+
+{- |
+Set the value of the “@sort-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooser [ #sortType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserSortType :: (MonadIO m, IsRecentChooser o) => o -> Gtk.Enums.RecentSortType -> m ()
+setRecentChooserSortType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "sort-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@sort-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserSortType :: (IsRecentChooser o) => Gtk.Enums.RecentSortType -> IO (GValueConstruct o)
+constructRecentChooserSortType val = B.Properties.constructObjectPropertyEnum "sort-type" val
+
+#if ENABLE_OVERLOADING
+data RecentChooserSortTypePropertyInfo
+instance AttrInfo RecentChooserSortTypePropertyInfo where
+    type AttrAllowedOps RecentChooserSortTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentChooserSortTypePropertyInfo = (~) Gtk.Enums.RecentSortType
+    type AttrBaseTypeConstraint RecentChooserSortTypePropertyInfo = IsRecentChooser
+    type AttrGetType RecentChooserSortTypePropertyInfo = Gtk.Enums.RecentSortType
+    type AttrLabel RecentChooserSortTypePropertyInfo = "sort-type"
+    type AttrOrigin RecentChooserSortTypePropertyInfo = RecentChooser
+    attrGet _ = getRecentChooserSortType
+    attrSet _ = setRecentChooserSortType
+    attrConstruct _ = constructRecentChooserSortType
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentChooser
+type instance O.AttributeList RecentChooser = RecentChooserAttributeList
+type RecentChooserAttributeList = ('[ '("filter", RecentChooserFilterPropertyInfo), '("limit", RecentChooserLimitPropertyInfo), '("localOnly", RecentChooserLocalOnlyPropertyInfo), '("recentManager", RecentChooserRecentManagerPropertyInfo), '("selectMultiple", RecentChooserSelectMultiplePropertyInfo), '("showIcons", RecentChooserShowIconsPropertyInfo), '("showNotFound", RecentChooserShowNotFoundPropertyInfo), '("showPrivate", RecentChooserShowPrivatePropertyInfo), '("showTips", RecentChooserShowTipsPropertyInfo), '("sortType", RecentChooserSortTypePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+recentChooserFilter :: AttrLabelProxy "filter"
+recentChooserFilter = AttrLabelProxy
+
+recentChooserLimit :: AttrLabelProxy "limit"
+recentChooserLimit = AttrLabelProxy
+
+recentChooserLocalOnly :: AttrLabelProxy "localOnly"
+recentChooserLocalOnly = AttrLabelProxy
+
+recentChooserRecentManager :: AttrLabelProxy "recentManager"
+recentChooserRecentManager = AttrLabelProxy
+
+recentChooserSelectMultiple :: AttrLabelProxy "selectMultiple"
+recentChooserSelectMultiple = AttrLabelProxy
+
+recentChooserShowIcons :: AttrLabelProxy "showIcons"
+recentChooserShowIcons = AttrLabelProxy
+
+recentChooserShowNotFound :: AttrLabelProxy "showNotFound"
+recentChooserShowNotFound = AttrLabelProxy
+
+recentChooserShowPrivate :: AttrLabelProxy "showPrivate"
+recentChooserShowPrivate = AttrLabelProxy
+
+recentChooserShowTips :: AttrLabelProxy "showTips"
+recentChooserShowTips = AttrLabelProxy
+
+recentChooserSortType :: AttrLabelProxy "sortType"
+recentChooserSortType = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentChooserMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentChooserMethod "addFilter" o = RecentChooserAddFilterMethodInfo
+    ResolveRecentChooserMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRecentChooserMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRecentChooserMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRecentChooserMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRecentChooserMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRecentChooserMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRecentChooserMethod "listFilters" o = RecentChooserListFiltersMethodInfo
+    ResolveRecentChooserMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRecentChooserMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRecentChooserMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRecentChooserMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRecentChooserMethod "removeFilter" o = RecentChooserRemoveFilterMethodInfo
+    ResolveRecentChooserMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRecentChooserMethod "selectAll" o = RecentChooserSelectAllMethodInfo
+    ResolveRecentChooserMethod "selectUri" o = RecentChooserSelectUriMethodInfo
+    ResolveRecentChooserMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRecentChooserMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRecentChooserMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRecentChooserMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRecentChooserMethod "unselectAll" o = RecentChooserUnselectAllMethodInfo
+    ResolveRecentChooserMethod "unselectUri" o = RecentChooserUnselectUriMethodInfo
+    ResolveRecentChooserMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRecentChooserMethod "getCurrentItem" o = RecentChooserGetCurrentItemMethodInfo
+    ResolveRecentChooserMethod "getCurrentUri" o = RecentChooserGetCurrentUriMethodInfo
+    ResolveRecentChooserMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRecentChooserMethod "getFilter" o = RecentChooserGetFilterMethodInfo
+    ResolveRecentChooserMethod "getItems" o = RecentChooserGetItemsMethodInfo
+    ResolveRecentChooserMethod "getLimit" o = RecentChooserGetLimitMethodInfo
+    ResolveRecentChooserMethod "getLocalOnly" o = RecentChooserGetLocalOnlyMethodInfo
+    ResolveRecentChooserMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRecentChooserMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRecentChooserMethod "getSelectMultiple" o = RecentChooserGetSelectMultipleMethodInfo
+    ResolveRecentChooserMethod "getShowIcons" o = RecentChooserGetShowIconsMethodInfo
+    ResolveRecentChooserMethod "getShowNotFound" o = RecentChooserGetShowNotFoundMethodInfo
+    ResolveRecentChooserMethod "getShowPrivate" o = RecentChooserGetShowPrivateMethodInfo
+    ResolveRecentChooserMethod "getShowTips" o = RecentChooserGetShowTipsMethodInfo
+    ResolveRecentChooserMethod "getSortType" o = RecentChooserGetSortTypeMethodInfo
+    ResolveRecentChooserMethod "getUris" o = RecentChooserGetUrisMethodInfo
+    ResolveRecentChooserMethod "setCurrentUri" o = RecentChooserSetCurrentUriMethodInfo
+    ResolveRecentChooserMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRecentChooserMethod "setFilter" o = RecentChooserSetFilterMethodInfo
+    ResolveRecentChooserMethod "setLimit" o = RecentChooserSetLimitMethodInfo
+    ResolveRecentChooserMethod "setLocalOnly" o = RecentChooserSetLocalOnlyMethodInfo
+    ResolveRecentChooserMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRecentChooserMethod "setSelectMultiple" o = RecentChooserSetSelectMultipleMethodInfo
+    ResolveRecentChooserMethod "setShowIcons" o = RecentChooserSetShowIconsMethodInfo
+    ResolveRecentChooserMethod "setShowNotFound" o = RecentChooserSetShowNotFoundMethodInfo
+    ResolveRecentChooserMethod "setShowPrivate" o = RecentChooserSetShowPrivateMethodInfo
+    ResolveRecentChooserMethod "setShowTips" o = RecentChooserSetShowTipsMethodInfo
+    ResolveRecentChooserMethod "setSortFunc" o = RecentChooserSetSortFuncMethodInfo
+    ResolveRecentChooserMethod "setSortType" o = RecentChooserSetSortTypeMethodInfo
+    ResolveRecentChooserMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentChooserMethod t RecentChooser, O.MethodInfo info RecentChooser p) => OL.IsLabel t (RecentChooser -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method RecentChooser::add_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_add_filter" gtk_recent_chooser_add_filter :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    Ptr Gtk.RecentFilter.RecentFilter ->    -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    IO ()
+
+{- |
+Adds /@filter@/ to the list of 'GI.Gtk.Objects.RecentFilter.RecentFilter' objects held by /@chooser@/.
+
+If no previous filter objects were defined, this function will call
+'GI.Gtk.Interfaces.RecentChooser.recentChooserSetFilter'.
+
+/Since: 2.10/
+-}
+recentChooserAddFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a, Gtk.RecentFilter.IsRecentFilter b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> b
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> m ()
+recentChooserAddFilter chooser filter = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_recent_chooser_add_filter chooser' filter'
+    touchManagedPtr chooser
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserAddFilterMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsRecentChooser a, Gtk.RecentFilter.IsRecentFilter b) => O.MethodInfo RecentChooserAddFilterMethodInfo a signature where
+    overloadedMethod _ = recentChooserAddFilter
+
+#endif
+
+-- method RecentChooser::get_current_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_current_item" gtk_recent_chooser_get_current_item :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO (Ptr Gtk.RecentInfo.RecentInfo)
+
+{- |
+Gets the 'GI.Gtk.Structs.RecentInfo.RecentInfo' currently selected by /@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserGetCurrentItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Gtk.RecentInfo.RecentInfo
+    {- ^ __Returns:__ a 'GI.Gtk.Structs.RecentInfo.RecentInfo'.  Use 'GI.Gtk.Structs.RecentInfo.recentInfoUnref' when
+  when you have finished using it. -}
+recentChooserGetCurrentItem chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_current_item chooser'
+    checkUnexpectedReturnNULL "recentChooserGetCurrentItem" result
+    result' <- (wrapBoxed Gtk.RecentInfo.RecentInfo) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetCurrentItemMethodInfo
+instance (signature ~ (m Gtk.RecentInfo.RecentInfo), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetCurrentItemMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetCurrentItem
+
+#endif
+
+-- method RecentChooser::get_current_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_current_uri" gtk_recent_chooser_get_current_uri :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO CString
+
+{- |
+Gets the URI currently selected by /@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserGetCurrentUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m T.Text
+    {- ^ __Returns:__ a newly allocated string holding a URI. -}
+recentChooserGetCurrentUri chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_current_uri chooser'
+    checkUnexpectedReturnNULL "recentChooserGetCurrentUri" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetCurrentUriMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetCurrentUriMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetCurrentUri
+
+#endif
+
+-- method RecentChooser::get_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentFilter"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_filter" gtk_recent_chooser_get_filter :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO (Ptr Gtk.RecentFilter.RecentFilter)
+
+{- |
+Gets the 'GI.Gtk.Objects.RecentFilter.RecentFilter' object currently used by /@chooser@/ to affect
+the display of the recently used resources.
+
+/Since: 2.10/
+-}
+recentChooserGetFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Gtk.RecentFilter.RecentFilter
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.RecentFilter.RecentFilter' object. -}
+recentChooserGetFilter chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_filter chooser'
+    checkUnexpectedReturnNULL "recentChooserGetFilter" result
+    result' <- (newObject Gtk.RecentFilter.RecentFilter) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetFilterMethodInfo
+instance (signature ~ (m Gtk.RecentFilter.RecentFilter), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetFilterMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetFilter
+
+#endif
+
+-- method RecentChooser::get_items
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "RecentInfo"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_items" gtk_recent_chooser_get_items :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO (Ptr (GList (Ptr Gtk.RecentInfo.RecentInfo)))
+
+{- |
+Gets the list of recently used resources in form of 'GI.Gtk.Structs.RecentInfo.RecentInfo' objects.
+
+The return value of this function is affected by the “sort-type” and
+“limit” properties of /@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserGetItems ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m [Gtk.RecentInfo.RecentInfo]
+    {- ^ __Returns:__ A newly allocated
+  list of 'GI.Gtk.Structs.RecentInfo.RecentInfo' objects.  You should
+  use 'GI.Gtk.Structs.RecentInfo.recentInfoUnref' on every item of the list, and then free
+  the list itself using @/g_list_free()/@. -}
+recentChooserGetItems chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_items chooser'
+    result' <- unpackGList result
+    result'' <- mapM (wrapBoxed Gtk.RecentInfo.RecentInfo) result'
+    g_list_free result
+    touchManagedPtr chooser
+    return result''
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetItemsMethodInfo
+instance (signature ~ (m [Gtk.RecentInfo.RecentInfo]), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetItemsMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetItems
+
+#endif
+
+-- method RecentChooser::get_limit
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_limit" gtk_recent_chooser_get_limit :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO Int32
+
+{- |
+Gets the number of items returned by 'GI.Gtk.Interfaces.RecentChooser.recentChooserGetItems'
+and 'GI.Gtk.Interfaces.RecentChooser.recentChooserGetUris'.
+
+/Since: 2.10/
+-}
+recentChooserGetLimit ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Int32
+    {- ^ __Returns:__ A positive integer, or -1 meaning that all items are
+  returned. -}
+recentChooserGetLimit chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_limit chooser'
+    touchManagedPtr chooser
+    return result
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetLimitMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetLimitMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetLimit
+
+#endif
+
+-- method RecentChooser::get_local_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_local_only" gtk_recent_chooser_get_local_only :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO CInt
+
+{- |
+Gets whether only local resources should be shown in the recently used
+resources selector.  See 'GI.Gtk.Interfaces.RecentChooser.recentChooserSetLocalOnly'
+
+/Since: 2.10/
+-}
+recentChooserGetLocalOnly ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if only local resources should be shown. -}
+recentChooserGetLocalOnly chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_local_only chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetLocalOnlyMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetLocalOnlyMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetLocalOnly
+
+#endif
+
+-- method RecentChooser::get_select_multiple
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_select_multiple" gtk_recent_chooser_get_select_multiple :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO CInt
+
+{- |
+Gets whether /@chooser@/ can select multiple items.
+
+/Since: 2.10/
+-}
+recentChooserGetSelectMultiple ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@chooser@/ can select more than one item. -}
+recentChooserGetSelectMultiple chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_select_multiple chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetSelectMultipleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetSelectMultipleMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetSelectMultiple
+
+#endif
+
+-- method RecentChooser::get_show_icons
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_show_icons" gtk_recent_chooser_get_show_icons :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO CInt
+
+{- |
+Retrieves whether /@chooser@/ should show an icon near the resource.
+
+/Since: 2.10/
+-}
+recentChooserGetShowIcons ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the icons should be displayed, 'False' otherwise. -}
+recentChooserGetShowIcons chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_show_icons chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetShowIconsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetShowIconsMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetShowIcons
+
+#endif
+
+-- method RecentChooser::get_show_not_found
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_show_not_found" gtk_recent_chooser_get_show_not_found :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO CInt
+
+{- |
+Retrieves whether /@chooser@/ should show the recently used resources that
+were not found.
+
+/Since: 2.10/
+-}
+recentChooserGetShowNotFound ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the resources not found should be displayed, and
+  'False' otheriwse. -}
+recentChooserGetShowNotFound chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_show_not_found chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetShowNotFoundMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetShowNotFoundMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetShowNotFound
+
+#endif
+
+-- method RecentChooser::get_show_private
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_show_private" gtk_recent_chooser_get_show_private :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO CInt
+
+{- |
+Returns whether /@chooser@/ should display recently used resources
+registered as private.
+
+/Since: 2.10/
+-}
+recentChooserGetShowPrivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the recent chooser should show private items,
+  'False' otherwise. -}
+recentChooserGetShowPrivate chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_show_private chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetShowPrivateMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetShowPrivateMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetShowPrivate
+
+#endif
+
+-- method RecentChooser::get_show_tips
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_show_tips" gtk_recent_chooser_get_show_tips :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO CInt
+
+{- |
+Gets whether /@chooser@/ should display tooltips containing the full path
+of a recently user resource.
+
+/Since: 2.10/
+-}
+recentChooserGetShowTips ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the recent chooser should show tooltips,
+  'False' otherwise. -}
+recentChooserGetShowTips chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_show_tips chooser'
+    let result' = (/= 0) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetShowTipsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetShowTipsMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetShowTips
+
+#endif
+
+-- method RecentChooser::get_sort_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentSortType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_sort_type" gtk_recent_chooser_get_sort_type :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO CUInt
+
+{- |
+Gets the value set by 'GI.Gtk.Interfaces.RecentChooser.recentChooserSetSortType'.
+
+/Since: 2.10/
+-}
+recentChooserGetSortType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m Gtk.Enums.RecentSortType
+    {- ^ __Returns:__ the sorting order of the /@chooser@/. -}
+recentChooserGetSortType chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_get_sort_type chooser'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr chooser
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetSortTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.RecentSortType), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetSortTypeMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetSortType
+
+#endif
+
+-- method RecentChooser::get_uris
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for a the length of the\n    URI list, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) 1 (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_get_uris" gtk_recent_chooser_get_uris :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    Ptr Word64 ->                           -- length : TBasicType TUInt64
+    IO (Ptr CString)
+
+{- |
+Gets the URI of the recently used resources.
+
+The return value of this function is affected by the “sort-type” and “limit”
+properties of /@chooser@/.
+
+Since the returned array is 'Nothing' terminated, /@length@/ may be 'Nothing'.
+
+/Since: 2.10/
+-}
+recentChooserGetUris ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m (([T.Text], Word64))
+    {- ^ __Returns:__ 
+    A newly allocated, 'Nothing'-terminated array of strings. Use
+    'GI.GLib.Functions.strfreev' to free it. -}
+recentChooserGetUris chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    length_ <- allocMem :: IO (Ptr Word64)
+    result <- gtk_recent_chooser_get_uris chooser' length_
+    checkUnexpectedReturnNULL "recentChooserGetUris" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    mapZeroTerminatedCArray freeMem result
+    freeMem result
+    length_' <- peek length_
+    touchManagedPtr chooser
+    freeMem length_
+    return (result', length_')
+
+#if ENABLE_OVERLOADING
+data RecentChooserGetUrisMethodInfo
+instance (signature ~ (m (([T.Text], Word64))), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserGetUrisMethodInfo a signature where
+    overloadedMethod _ = recentChooserGetUris
+
+#endif
+
+-- method RecentChooser::list_filters
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "RecentFilter"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_list_filters" gtk_recent_chooser_list_filters :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO (Ptr (GSList (Ptr Gtk.RecentFilter.RecentFilter)))
+
+{- |
+Gets the 'GI.Gtk.Objects.RecentFilter.RecentFilter' objects held by /@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserListFilters ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m [Gtk.RecentFilter.RecentFilter]
+    {- ^ __Returns:__ A singly linked list
+  of 'GI.Gtk.Objects.RecentFilter.RecentFilter' objects.  You
+  should just free the returned list using @/g_slist_free()/@. -}
+recentChooserListFilters chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    result <- gtk_recent_chooser_list_filters chooser'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.RecentFilter.RecentFilter) result'
+    g_slist_free result
+    touchManagedPtr chooser
+    return result''
+
+#if ENABLE_OVERLOADING
+data RecentChooserListFiltersMethodInfo
+instance (signature ~ (m [Gtk.RecentFilter.RecentFilter]), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserListFiltersMethodInfo a signature where
+    overloadedMethod _ = recentChooserListFilters
+
+#endif
+
+-- method RecentChooser::remove_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_remove_filter" gtk_recent_chooser_remove_filter :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    Ptr Gtk.RecentFilter.RecentFilter ->    -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    IO ()
+
+{- |
+Removes /@filter@/ from the list of 'GI.Gtk.Objects.RecentFilter.RecentFilter' objects held by /@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserRemoveFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a, Gtk.RecentFilter.IsRecentFilter b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> b
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> m ()
+recentChooserRemoveFilter chooser filter = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_recent_chooser_remove_filter chooser' filter'
+    touchManagedPtr chooser
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserRemoveFilterMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsRecentChooser a, Gtk.RecentFilter.IsRecentFilter b) => O.MethodInfo RecentChooserRemoveFilterMethodInfo a signature where
+    overloadedMethod _ = recentChooserRemoveFilter
+
+#endif
+
+-- method RecentChooser::select_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_select_all" gtk_recent_chooser_select_all :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO ()
+
+{- |
+Selects all the items inside /@chooser@/, if the /@chooser@/ supports
+multiple selection.
+
+/Since: 2.10/
+-}
+recentChooserSelectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m ()
+recentChooserSelectAll chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    gtk_recent_chooser_select_all chooser'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSelectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSelectAllMethodInfo a signature where
+    overloadedMethod _ = recentChooserSelectAll
+
+#endif
+
+-- method RecentChooser::select_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_select_uri" gtk_recent_chooser_select_uri :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Selects /@uri@/ inside /@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserSelectUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> T.Text
+    {- ^ /@uri@/: a URI -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+recentChooserSelectUri chooser uri = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    uri' <- textToCString uri
+    onException (do
+        _ <- propagateGError $ gtk_recent_chooser_select_uri chooser' uri'
+        touchManagedPtr chooser
+        freeMem uri'
+        return ()
+     ) (do
+        freeMem uri'
+     )
+
+#if ENABLE_OVERLOADING
+data RecentChooserSelectUriMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSelectUriMethodInfo a signature where
+    overloadedMethod _ = recentChooserSelectUri
+
+#endif
+
+-- method RecentChooser::set_current_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_current_uri" gtk_recent_chooser_set_current_uri :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Sets /@uri@/ as the current URI for /@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserSetCurrentUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> T.Text
+    {- ^ /@uri@/: a URI -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+recentChooserSetCurrentUri chooser uri = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    uri' <- textToCString uri
+    onException (do
+        _ <- propagateGError $ gtk_recent_chooser_set_current_uri chooser' uri'
+        touchManagedPtr chooser
+        freeMem uri'
+        return ()
+     ) (do
+        freeMem uri'
+     )
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetCurrentUriMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetCurrentUriMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetCurrentUri
+
+#endif
+
+-- method RecentChooser::set_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_filter" gtk_recent_chooser_set_filter :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    Ptr Gtk.RecentFilter.RecentFilter ->    -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    IO ()
+
+{- |
+Sets /@filter@/ as the current 'GI.Gtk.Objects.RecentFilter.RecentFilter' object used by /@chooser@/
+to affect the displayed recently used resources.
+
+/Since: 2.10/
+-}
+recentChooserSetFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a, Gtk.RecentFilter.IsRecentFilter b) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Maybe (b)
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> m ()
+recentChooserSetFilter chooser filter = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    maybeFilter <- case filter of
+        Nothing -> return nullPtr
+        Just jFilter -> do
+            jFilter' <- unsafeManagedPtrCastPtr jFilter
+            return jFilter'
+    gtk_recent_chooser_set_filter chooser' maybeFilter
+    touchManagedPtr chooser
+    whenJust filter touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetFilterMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRecentChooser a, Gtk.RecentFilter.IsRecentFilter b) => O.MethodInfo RecentChooserSetFilterMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetFilter
+
+#endif
+
+-- method RecentChooser::set_limit
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "limit", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a positive integer, or -1 for all items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_limit" gtk_recent_chooser_set_limit :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    Int32 ->                                -- limit : TBasicType TInt
+    IO ()
+
+{- |
+Sets the number of items that should be returned by
+'GI.Gtk.Interfaces.RecentChooser.recentChooserGetItems' and 'GI.Gtk.Interfaces.RecentChooser.recentChooserGetUris'.
+
+/Since: 2.10/
+-}
+recentChooserSetLimit ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Int32
+    {- ^ /@limit@/: a positive integer, or -1 for all items -}
+    -> m ()
+recentChooserSetLimit chooser limit = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    gtk_recent_chooser_set_limit chooser' limit
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetLimitMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetLimitMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetLimit
+
+#endif
+
+-- method RecentChooser::set_local_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "local_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if only local files can be shown", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_local_only" gtk_recent_chooser_set_local_only :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CInt ->                                 -- local_only : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether only local resources, that is resources using the file:\/\/ URI
+scheme, should be shown in the recently used resources selector.  If
+/@localOnly@/ is 'True' (the default) then the shown resources are guaranteed
+to be accessible through the operating system native file system.
+
+/Since: 2.10/
+-}
+recentChooserSetLocalOnly ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Bool
+    {- ^ /@localOnly@/: 'True' if only local files can be shown -}
+    -> m ()
+recentChooserSetLocalOnly chooser localOnly = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let localOnly' = (fromIntegral . fromEnum) localOnly
+    gtk_recent_chooser_set_local_only chooser' localOnly'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetLocalOnlyMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetLocalOnlyMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetLocalOnly
+
+#endif
+
+-- method RecentChooser::set_select_multiple
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "select_multiple", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if @chooser can select more than one item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_select_multiple" gtk_recent_chooser_set_select_multiple :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CInt ->                                 -- select_multiple : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@chooser@/ can select multiple items.
+
+/Since: 2.10/
+-}
+recentChooserSetSelectMultiple ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Bool
+    {- ^ /@selectMultiple@/: 'True' if /@chooser@/ can select more than one item -}
+    -> m ()
+recentChooserSetSelectMultiple chooser selectMultiple = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let selectMultiple' = (fromIntegral . fromEnum) selectMultiple
+    gtk_recent_chooser_set_select_multiple chooser' selectMultiple'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetSelectMultipleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetSelectMultipleMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetSelectMultiple
+
+#endif
+
+-- method RecentChooser::set_show_icons
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_icons", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an icon near the resource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_show_icons" gtk_recent_chooser_set_show_icons :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CInt ->                                 -- show_icons : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@chooser@/ should show an icon near the resource when
+displaying it.
+
+/Since: 2.10/
+-}
+recentChooserSetShowIcons ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Bool
+    {- ^ /@showIcons@/: whether to show an icon near the resource -}
+    -> m ()
+recentChooserSetShowIcons chooser showIcons = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let showIcons' = (fromIntegral . fromEnum) showIcons
+    gtk_recent_chooser_set_show_icons chooser' showIcons'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetShowIconsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetShowIconsMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetShowIcons
+
+#endif
+
+-- method RecentChooser::set_show_not_found
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_not_found", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show the local items we didn\8217t find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_show_not_found" gtk_recent_chooser_set_show_not_found :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CInt ->                                 -- show_not_found : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@chooser@/ should display the recently used resources that
+it didn’t find.  This only applies to local resources.
+
+/Since: 2.10/
+-}
+recentChooserSetShowNotFound ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Bool
+    {- ^ /@showNotFound@/: whether to show the local items we didn’t find -}
+    -> m ()
+recentChooserSetShowNotFound chooser showNotFound = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let showNotFound' = (fromIntegral . fromEnum) showNotFound
+    gtk_recent_chooser_set_show_not_found chooser' showNotFound'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetShowNotFoundMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetShowNotFoundMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetShowNotFound
+
+#endif
+
+-- method RecentChooser::set_show_private
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_private", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to show private items, %FALSE otherwise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_show_private" gtk_recent_chooser_set_show_private :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CInt ->                                 -- show_private : TBasicType TBoolean
+    IO ()
+
+{- |
+Whether to show recently used resources marked registered as private.
+
+/Since: 2.10/
+-}
+recentChooserSetShowPrivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Bool
+    {- ^ /@showPrivate@/: 'True' to show private items, 'False' otherwise -}
+    -> m ()
+recentChooserSetShowPrivate chooser showPrivate = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let showPrivate' = (fromIntegral . fromEnum) showPrivate
+    gtk_recent_chooser_set_show_private chooser' showPrivate'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetShowPrivateMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetShowPrivateMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetShowPrivate
+
+#endif
+
+-- method RecentChooser::set_show_tips
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_tips", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if tooltips should be shown", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_show_tips" gtk_recent_chooser_set_show_tips :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CInt ->                                 -- show_tips : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether to show a tooltips containing the full path of each
+recently used resource in a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' widget.
+
+/Since: 2.10/
+-}
+recentChooserSetShowTips ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Bool
+    {- ^ /@showTips@/: 'True' if tooltips should be shown -}
+    -> m ()
+recentChooserSetShowTips chooser showTips = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let showTips' = (fromIntegral . fromEnum) showTips
+    gtk_recent_chooser_set_show_tips chooser' showTips'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetShowTipsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetShowTipsMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetShowTips
+
+#endif
+
+-- method RecentChooser::set_sort_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_func", argType = TInterface (Name {namespace = "Gtk", name = "RecentSortFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the comparison function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @sort_func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data_destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "destroy notifier for @sort_data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_sort_func" gtk_recent_chooser_set_sort_func :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    FunPtr Gtk.Callbacks.C_RecentSortFunc -> -- sort_func : TInterface (Name {namespace = "Gtk", name = "RecentSortFunc"})
+    Ptr () ->                               -- sort_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- data_destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the comparison function used when sorting to be /@sortFunc@/.  If
+the /@chooser@/ has the sort type set to @/GTK_RECENT_SORT_CUSTOM/@ then
+the chooser will sort using this function.
+
+To the comparison function will be passed two 'GI.Gtk.Structs.RecentInfo.RecentInfo' structs and
+/@sortData@/;  /@sortFunc@/ should return a positive integer if the first
+item comes before the second, zero if the two items are equal and
+a negative integer if the first item comes after the second.
+
+/Since: 2.10/
+-}
+recentChooserSetSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Gtk.Callbacks.RecentSortFunc
+    {- ^ /@sortFunc@/: the comparison function -}
+    -> m ()
+recentChooserSetSortFunc chooser sortFunc = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    sortFunc' <- Gtk.Callbacks.mk_RecentSortFunc (Gtk.Callbacks.wrap_RecentSortFunc Nothing (Gtk.Callbacks.drop_closures_RecentSortFunc sortFunc))
+    let sortData = castFunPtrToPtr sortFunc'
+    let dataDestroy = safeFreeFunPtrPtr
+    gtk_recent_chooser_set_sort_func chooser' sortFunc' sortData dataDestroy
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetSortFuncMethodInfo
+instance (signature ~ (Gtk.Callbacks.RecentSortFunc -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetSortFuncMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetSortFunc
+
+#endif
+
+-- method RecentChooser::set_sort_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_type", argType = TInterface (Name {namespace = "Gtk", name = "RecentSortType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "sort order that the chooser should use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_set_sort_type" gtk_recent_chooser_set_sort_type :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CUInt ->                                -- sort_type : TInterface (Name {namespace = "Gtk", name = "RecentSortType"})
+    IO ()
+
+{- |
+Changes the sorting order of the recently used resources list displayed by
+/@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserSetSortType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> Gtk.Enums.RecentSortType
+    {- ^ /@sortType@/: sort order that the chooser should use -}
+    -> m ()
+recentChooserSetSortType chooser sortType = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    let sortType' = (fromIntegral . fromEnum) sortType
+    gtk_recent_chooser_set_sort_type chooser' sortType'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserSetSortTypeMethodInfo
+instance (signature ~ (Gtk.Enums.RecentSortType -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserSetSortTypeMethodInfo a signature where
+    overloadedMethod _ = recentChooserSetSortType
+
+#endif
+
+-- method RecentChooser::unselect_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_unselect_all" gtk_recent_chooser_unselect_all :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    IO ()
+
+{- |
+Unselects all the items inside /@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserUnselectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> m ()
+recentChooserUnselectAll chooser = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    gtk_recent_chooser_unselect_all chooser'
+    touchManagedPtr chooser
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserUnselectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserUnselectAllMethodInfo a signature where
+    overloadedMethod _ = recentChooserUnselectAll
+
+#endif
+
+-- method RecentChooser::unselect_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "chooser", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_unselect_uri" gtk_recent_chooser_unselect_uri :: 
+    Ptr RecentChooser ->                    -- chooser : TInterface (Name {namespace = "Gtk", name = "RecentChooser"})
+    CString ->                              -- uri : TBasicType TUTF8
+    IO ()
+
+{- |
+Unselects /@uri@/ inside /@chooser@/.
+
+/Since: 2.10/
+-}
+recentChooserUnselectUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooser a) =>
+    a
+    {- ^ /@chooser@/: a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' -}
+    -> T.Text
+    {- ^ /@uri@/: a URI -}
+    -> m ()
+recentChooserUnselectUri chooser uri = liftIO $ do
+    chooser' <- unsafeManagedPtrCastPtr chooser
+    uri' <- textToCString uri
+    gtk_recent_chooser_unselect_uri chooser' uri'
+    touchManagedPtr chooser
+    freeMem uri'
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserUnselectUriMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentChooser a) => O.MethodInfo RecentChooserUnselectUriMethodInfo a signature where
+    overloadedMethod _ = recentChooserUnselectUri
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/RecentChooser.hs-boot b/GI/Gtk/Interfaces/RecentChooser.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/RecentChooser.hs-boot
@@ -0,0 +1,158 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.RecentChooser where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentChooser = RecentChooser (ManagedPtr RecentChooser)
+#if ENABLE_OVERLOADING
+data RecentChooserItemActivatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSelectionChangedSignalInfo
+#endif
+instance GObject RecentChooser where
+class (GObject o, O.IsDescendantOf RecentChooser o) => IsRecentChooser o
+instance (GObject o, O.IsDescendantOf RecentChooser o) => IsRecentChooser o
+instance O.HasParentTypes RecentChooser
+#if ENABLE_OVERLOADING
+data RecentChooserFilterPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserLimitPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserLocalOnlyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserRecentManagerPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSelectMultiplePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserShowIconsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserShowNotFoundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserShowPrivatePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserShowTipsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSortTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserAddFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetCurrentItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetCurrentUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetItemsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetLimitMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetLocalOnlyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetSelectMultipleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetShowIconsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetShowNotFoundMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetShowPrivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetShowTipsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetSortTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserGetUrisMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserListFiltersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserRemoveFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSelectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSelectUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetCurrentUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetLimitMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetLocalOnlyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetSelectMultipleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetShowIconsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetShowNotFoundMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetShowPrivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetShowTipsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetSortFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserSetSortTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserUnselectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserUnselectUriMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/Scrollable.hs b/GI/Gtk/Interfaces/Scrollable.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Scrollable.hs
@@ -0,0 +1,896 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Interfaces.Scrollable.Scrollable' is an interface that is implemented by widgets with native
+scrolling ability.
+
+To implement this interface you should override the
+'GI.Gtk.Interfaces.Scrollable.Scrollable':@/hadjustment/@ and 'GI.Gtk.Interfaces.Scrollable.Scrollable':@/vadjustment/@ properties.
+
+== Creating a scrollable widget
+
+All scrollable widgets should do the following.
+
+* When a parent widget sets the scrollable child widget’s adjustments,
+the widget should populate the adjustments’
+'GI.Gtk.Objects.Adjustment.Adjustment':@/lower/@, 'GI.Gtk.Objects.Adjustment.Adjustment':@/upper/@,
+'GI.Gtk.Objects.Adjustment.Adjustment':@/step-increment/@, 'GI.Gtk.Objects.Adjustment.Adjustment':@/page-increment/@ and
+'GI.Gtk.Objects.Adjustment.Adjustment':@/page-size/@ properties and connect to the
+'GI.Gtk.Objects.Adjustment.Adjustment'::@/value-changed/@ signal.
+* Because its preferred size is the size for a fully expanded widget,
+the scrollable widget must be able to cope with underallocations.
+This means that it must accept any value passed to its
+'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/size_allocate/@() function.
+* When the parent allocates space to the scrollable child widget,
+the widget should update the adjustments’ properties with new values.
+* When any of the adjustments emits the 'GI.Gtk.Objects.Adjustment.Adjustment'::@/value-changed/@ signal,
+the scrollable widget should scroll its contents.
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.Scrollable
+    ( 
+
+-- * Exported types
+    Scrollable(..)                          ,
+    noScrollable                            ,
+    IsScrollable                            ,
+    toScrollable                            ,
+
+
+ -- * Methods
+-- ** getBorder #method:getBorder#
+
+#if ENABLE_OVERLOADING
+    ScrollableGetBorderMethodInfo           ,
+#endif
+    scrollableGetBorder                     ,
+
+
+-- ** getHadjustment #method:getHadjustment#
+
+#if ENABLE_OVERLOADING
+    ScrollableGetHadjustmentMethodInfo      ,
+#endif
+    scrollableGetHadjustment                ,
+
+
+-- ** getHscrollPolicy #method:getHscrollPolicy#
+
+#if ENABLE_OVERLOADING
+    ScrollableGetHscrollPolicyMethodInfo    ,
+#endif
+    scrollableGetHscrollPolicy              ,
+
+
+-- ** getVadjustment #method:getVadjustment#
+
+#if ENABLE_OVERLOADING
+    ScrollableGetVadjustmentMethodInfo      ,
+#endif
+    scrollableGetVadjustment                ,
+
+
+-- ** getVscrollPolicy #method:getVscrollPolicy#
+
+#if ENABLE_OVERLOADING
+    ScrollableGetVscrollPolicyMethodInfo    ,
+#endif
+    scrollableGetVscrollPolicy              ,
+
+
+-- ** setHadjustment #method:setHadjustment#
+
+#if ENABLE_OVERLOADING
+    ScrollableSetHadjustmentMethodInfo      ,
+#endif
+    scrollableSetHadjustment                ,
+
+
+-- ** setHscrollPolicy #method:setHscrollPolicy#
+
+#if ENABLE_OVERLOADING
+    ScrollableSetHscrollPolicyMethodInfo    ,
+#endif
+    scrollableSetHscrollPolicy              ,
+
+
+-- ** setVadjustment #method:setVadjustment#
+
+#if ENABLE_OVERLOADING
+    ScrollableSetVadjustmentMethodInfo      ,
+#endif
+    scrollableSetVadjustment                ,
+
+
+-- ** setVscrollPolicy #method:setVscrollPolicy#
+
+#if ENABLE_OVERLOADING
+    ScrollableSetVscrollPolicyMethodInfo    ,
+#endif
+    scrollableSetVscrollPolicy              ,
+
+
+
+
+ -- * Properties
+-- ** hadjustment #attr:hadjustment#
+{- | Horizontal 'GI.Gtk.Objects.Adjustment.Adjustment' of the scrollable widget. This adjustment is
+shared between the scrollable widget and its parent.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ScrollableHadjustmentPropertyInfo       ,
+#endif
+    clearScrollableHadjustment              ,
+    constructScrollableHadjustment          ,
+    getScrollableHadjustment                ,
+#if ENABLE_OVERLOADING
+    scrollableHadjustment                   ,
+#endif
+    setScrollableHadjustment                ,
+
+
+-- ** hscrollPolicy #attr:hscrollPolicy#
+{- | Determines whether horizontal scrolling should start once the scrollable
+widget is allocated less than its minimum width or less than its natural width.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ScrollableHscrollPolicyPropertyInfo     ,
+#endif
+    constructScrollableHscrollPolicy        ,
+    getScrollableHscrollPolicy              ,
+#if ENABLE_OVERLOADING
+    scrollableHscrollPolicy                 ,
+#endif
+    setScrollableHscrollPolicy              ,
+
+
+-- ** vadjustment #attr:vadjustment#
+{- | Verical 'GI.Gtk.Objects.Adjustment.Adjustment' of the scrollable widget. This adjustment is shared
+between the scrollable widget and its parent.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ScrollableVadjustmentPropertyInfo       ,
+#endif
+    clearScrollableVadjustment              ,
+    constructScrollableVadjustment          ,
+    getScrollableVadjustment                ,
+#if ENABLE_OVERLOADING
+    scrollableVadjustment                   ,
+#endif
+    setScrollableVadjustment                ,
+
+
+-- ** vscrollPolicy #attr:vscrollPolicy#
+{- | Determines whether vertical scrolling should start once the scrollable
+widget is allocated less than its minimum height or less than its natural height.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ScrollableVscrollPolicyPropertyInfo     ,
+#endif
+    constructScrollableVscrollPolicy        ,
+    getScrollableVscrollPolicy              ,
+#if ENABLE_OVERLOADING
+    scrollableVscrollPolicy                 ,
+#endif
+    setScrollableVscrollPolicy              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Structs.Border as Gtk.Border
+
+-- interface Scrollable 
+-- | Memory-managed wrapper type.
+newtype Scrollable = Scrollable (ManagedPtr Scrollable)
+-- | A convenience alias for `Nothing` :: `Maybe` `Scrollable`.
+noScrollable :: Maybe Scrollable
+noScrollable = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Scrollable = ScrollableSignalList
+type ScrollableSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_scrollable_get_type"
+    c_gtk_scrollable_get_type :: IO GType
+
+instance GObject Scrollable where
+    gobjectType = c_gtk_scrollable_get_type
+    
+
+-- | Type class for types which can be safely cast to `Scrollable`, for instance with `toScrollable`.
+class (GObject o, O.IsDescendantOf Scrollable o) => IsScrollable o
+instance (GObject o, O.IsDescendantOf Scrollable o) => IsScrollable o
+
+instance O.HasParentTypes Scrollable
+type instance O.ParentTypes Scrollable = '[GObject.Object.Object]
+
+-- | Cast to `Scrollable`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toScrollable :: (MonadIO m, IsScrollable o) => o -> m Scrollable
+toScrollable = liftIO . unsafeCastTo Scrollable
+
+-- VVV Prop "hadjustment"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@hadjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrollable #hadjustment
+@
+-}
+getScrollableHadjustment :: (MonadIO m, IsScrollable o) => o -> m Gtk.Adjustment.Adjustment
+getScrollableHadjustment obj = liftIO $ checkUnexpectedNothing "getScrollableHadjustment" $ B.Properties.getObjectPropertyObject obj "hadjustment" Gtk.Adjustment.Adjustment
+
+{- |
+Set the value of the “@hadjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrollable [ #hadjustment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrollableHadjustment :: (MonadIO m, IsScrollable o, Gtk.Adjustment.IsAdjustment a) => o -> a -> m ()
+setScrollableHadjustment obj val = liftIO $ B.Properties.setObjectPropertyObject obj "hadjustment" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hadjustment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrollableHadjustment :: (IsScrollable o, Gtk.Adjustment.IsAdjustment a) => a -> IO (GValueConstruct o)
+constructScrollableHadjustment val = B.Properties.constructObjectPropertyObject "hadjustment" (Just val)
+
+{- |
+Set the value of the “@hadjustment@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #hadjustment
+@
+-}
+clearScrollableHadjustment :: (MonadIO m, IsScrollable o) => o -> m ()
+clearScrollableHadjustment obj = liftIO $ B.Properties.setObjectPropertyObject obj "hadjustment" (Nothing :: Maybe Gtk.Adjustment.Adjustment)
+
+#if ENABLE_OVERLOADING
+data ScrollableHadjustmentPropertyInfo
+instance AttrInfo ScrollableHadjustmentPropertyInfo where
+    type AttrAllowedOps ScrollableHadjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ScrollableHadjustmentPropertyInfo = Gtk.Adjustment.IsAdjustment
+    type AttrBaseTypeConstraint ScrollableHadjustmentPropertyInfo = IsScrollable
+    type AttrGetType ScrollableHadjustmentPropertyInfo = Gtk.Adjustment.Adjustment
+    type AttrLabel ScrollableHadjustmentPropertyInfo = "hadjustment"
+    type AttrOrigin ScrollableHadjustmentPropertyInfo = Scrollable
+    attrGet _ = getScrollableHadjustment
+    attrSet _ = setScrollableHadjustment
+    attrConstruct _ = constructScrollableHadjustment
+    attrClear _ = clearScrollableHadjustment
+#endif
+
+-- VVV Prop "hscroll-policy"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ScrollablePolicy"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@hscroll-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrollable #hscrollPolicy
+@
+-}
+getScrollableHscrollPolicy :: (MonadIO m, IsScrollable o) => o -> m Gtk.Enums.ScrollablePolicy
+getScrollableHscrollPolicy obj = liftIO $ B.Properties.getObjectPropertyEnum obj "hscroll-policy"
+
+{- |
+Set the value of the “@hscroll-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrollable [ #hscrollPolicy 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrollableHscrollPolicy :: (MonadIO m, IsScrollable o) => o -> Gtk.Enums.ScrollablePolicy -> m ()
+setScrollableHscrollPolicy obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "hscroll-policy" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hscroll-policy@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrollableHscrollPolicy :: (IsScrollable o) => Gtk.Enums.ScrollablePolicy -> IO (GValueConstruct o)
+constructScrollableHscrollPolicy val = B.Properties.constructObjectPropertyEnum "hscroll-policy" val
+
+#if ENABLE_OVERLOADING
+data ScrollableHscrollPolicyPropertyInfo
+instance AttrInfo ScrollableHscrollPolicyPropertyInfo where
+    type AttrAllowedOps ScrollableHscrollPolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrollableHscrollPolicyPropertyInfo = (~) Gtk.Enums.ScrollablePolicy
+    type AttrBaseTypeConstraint ScrollableHscrollPolicyPropertyInfo = IsScrollable
+    type AttrGetType ScrollableHscrollPolicyPropertyInfo = Gtk.Enums.ScrollablePolicy
+    type AttrLabel ScrollableHscrollPolicyPropertyInfo = "hscroll-policy"
+    type AttrOrigin ScrollableHscrollPolicyPropertyInfo = Scrollable
+    attrGet _ = getScrollableHscrollPolicy
+    attrSet _ = setScrollableHscrollPolicy
+    attrConstruct _ = constructScrollableHscrollPolicy
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "vadjustment"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@vadjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrollable #vadjustment
+@
+-}
+getScrollableVadjustment :: (MonadIO m, IsScrollable o) => o -> m Gtk.Adjustment.Adjustment
+getScrollableVadjustment obj = liftIO $ checkUnexpectedNothing "getScrollableVadjustment" $ B.Properties.getObjectPropertyObject obj "vadjustment" Gtk.Adjustment.Adjustment
+
+{- |
+Set the value of the “@vadjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrollable [ #vadjustment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrollableVadjustment :: (MonadIO m, IsScrollable o, Gtk.Adjustment.IsAdjustment a) => o -> a -> m ()
+setScrollableVadjustment obj val = liftIO $ B.Properties.setObjectPropertyObject obj "vadjustment" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@vadjustment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrollableVadjustment :: (IsScrollable o, Gtk.Adjustment.IsAdjustment a) => a -> IO (GValueConstruct o)
+constructScrollableVadjustment val = B.Properties.constructObjectPropertyObject "vadjustment" (Just val)
+
+{- |
+Set the value of the “@vadjustment@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #vadjustment
+@
+-}
+clearScrollableVadjustment :: (MonadIO m, IsScrollable o) => o -> m ()
+clearScrollableVadjustment obj = liftIO $ B.Properties.setObjectPropertyObject obj "vadjustment" (Nothing :: Maybe Gtk.Adjustment.Adjustment)
+
+#if ENABLE_OVERLOADING
+data ScrollableVadjustmentPropertyInfo
+instance AttrInfo ScrollableVadjustmentPropertyInfo where
+    type AttrAllowedOps ScrollableVadjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ScrollableVadjustmentPropertyInfo = Gtk.Adjustment.IsAdjustment
+    type AttrBaseTypeConstraint ScrollableVadjustmentPropertyInfo = IsScrollable
+    type AttrGetType ScrollableVadjustmentPropertyInfo = Gtk.Adjustment.Adjustment
+    type AttrLabel ScrollableVadjustmentPropertyInfo = "vadjustment"
+    type AttrOrigin ScrollableVadjustmentPropertyInfo = Scrollable
+    attrGet _ = getScrollableVadjustment
+    attrSet _ = setScrollableVadjustment
+    attrConstruct _ = constructScrollableVadjustment
+    attrClear _ = clearScrollableVadjustment
+#endif
+
+-- VVV Prop "vscroll-policy"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ScrollablePolicy"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@vscroll-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrollable #vscrollPolicy
+@
+-}
+getScrollableVscrollPolicy :: (MonadIO m, IsScrollable o) => o -> m Gtk.Enums.ScrollablePolicy
+getScrollableVscrollPolicy obj = liftIO $ B.Properties.getObjectPropertyEnum obj "vscroll-policy"
+
+{- |
+Set the value of the “@vscroll-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrollable [ #vscrollPolicy 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrollableVscrollPolicy :: (MonadIO m, IsScrollable o) => o -> Gtk.Enums.ScrollablePolicy -> m ()
+setScrollableVscrollPolicy obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "vscroll-policy" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@vscroll-policy@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrollableVscrollPolicy :: (IsScrollable o) => Gtk.Enums.ScrollablePolicy -> IO (GValueConstruct o)
+constructScrollableVscrollPolicy val = B.Properties.constructObjectPropertyEnum "vscroll-policy" val
+
+#if ENABLE_OVERLOADING
+data ScrollableVscrollPolicyPropertyInfo
+instance AttrInfo ScrollableVscrollPolicyPropertyInfo where
+    type AttrAllowedOps ScrollableVscrollPolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrollableVscrollPolicyPropertyInfo = (~) Gtk.Enums.ScrollablePolicy
+    type AttrBaseTypeConstraint ScrollableVscrollPolicyPropertyInfo = IsScrollable
+    type AttrGetType ScrollableVscrollPolicyPropertyInfo = Gtk.Enums.ScrollablePolicy
+    type AttrLabel ScrollableVscrollPolicyPropertyInfo = "vscroll-policy"
+    type AttrOrigin ScrollableVscrollPolicyPropertyInfo = Scrollable
+    attrGet _ = getScrollableVscrollPolicy
+    attrSet _ = setScrollableVscrollPolicy
+    attrConstruct _ = constructScrollableVscrollPolicy
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Scrollable
+type instance O.AttributeList Scrollable = ScrollableAttributeList
+type ScrollableAttributeList = ('[ '("hadjustment", ScrollableHadjustmentPropertyInfo), '("hscrollPolicy", ScrollableHscrollPolicyPropertyInfo), '("vadjustment", ScrollableVadjustmentPropertyInfo), '("vscrollPolicy", ScrollableVscrollPolicyPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+scrollableHadjustment :: AttrLabelProxy "hadjustment"
+scrollableHadjustment = AttrLabelProxy
+
+scrollableHscrollPolicy :: AttrLabelProxy "hscrollPolicy"
+scrollableHscrollPolicy = AttrLabelProxy
+
+scrollableVadjustment :: AttrLabelProxy "vadjustment"
+scrollableVadjustment = AttrLabelProxy
+
+scrollableVscrollPolicy :: AttrLabelProxy "vscrollPolicy"
+scrollableVscrollPolicy = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveScrollableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScrollableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveScrollableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveScrollableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveScrollableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveScrollableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveScrollableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveScrollableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveScrollableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveScrollableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveScrollableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveScrollableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveScrollableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveScrollableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveScrollableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveScrollableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveScrollableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveScrollableMethod "getBorder" o = ScrollableGetBorderMethodInfo
+    ResolveScrollableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveScrollableMethod "getHadjustment" o = ScrollableGetHadjustmentMethodInfo
+    ResolveScrollableMethod "getHscrollPolicy" o = ScrollableGetHscrollPolicyMethodInfo
+    ResolveScrollableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveScrollableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveScrollableMethod "getVadjustment" o = ScrollableGetVadjustmentMethodInfo
+    ResolveScrollableMethod "getVscrollPolicy" o = ScrollableGetVscrollPolicyMethodInfo
+    ResolveScrollableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveScrollableMethod "setHadjustment" o = ScrollableSetHadjustmentMethodInfo
+    ResolveScrollableMethod "setHscrollPolicy" o = ScrollableSetHscrollPolicyMethodInfo
+    ResolveScrollableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveScrollableMethod "setVadjustment" o = ScrollableSetVadjustmentMethodInfo
+    ResolveScrollableMethod "setVscrollPolicy" o = ScrollableSetVscrollPolicyMethodInfo
+    ResolveScrollableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveScrollableMethod t Scrollable, O.MethodInfo info Scrollable p) => OL.IsLabel t (Scrollable -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method Scrollable::get_border
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrollable", argType = TInterface (Name {namespace = "Gtk", name = "Scrollable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrollable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "border", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the results", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollable_get_border" gtk_scrollable_get_border :: 
+    Ptr Scrollable ->                       -- scrollable : TInterface (Name {namespace = "Gtk", name = "Scrollable"})
+    Ptr Gtk.Border.Border ->                -- border : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO CInt
+
+{- |
+Returns the size of a non-scrolling border around the
+outside of the scrollable. An example for this would
+be treeview headers. GTK+ can use this information to
+display overlayed graphics, like the overshoot indication,
+at the right position.
+
+/Since: 3.16/
+-}
+scrollableGetBorder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrollable a) =>
+    a
+    {- ^ /@scrollable@/: a 'GI.Gtk.Interfaces.Scrollable.Scrollable' -}
+    -> m ((Bool, Gtk.Border.Border))
+    {- ^ __Returns:__ 'True' if /@border@/ has been set -}
+scrollableGetBorder scrollable = liftIO $ do
+    scrollable' <- unsafeManagedPtrCastPtr scrollable
+    border <- callocBoxedBytes 8 :: IO (Ptr Gtk.Border.Border)
+    result <- gtk_scrollable_get_border scrollable' border
+    let result' = (/= 0) result
+    border' <- (wrapBoxed Gtk.Border.Border) border
+    touchManagedPtr scrollable
+    return (result', border')
+
+#if ENABLE_OVERLOADING
+data ScrollableGetBorderMethodInfo
+instance (signature ~ (m ((Bool, Gtk.Border.Border))), MonadIO m, IsScrollable a) => O.MethodInfo ScrollableGetBorderMethodInfo a signature where
+    overloadedMethod _ = scrollableGetBorder
+
+#endif
+
+-- method Scrollable::get_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrollable", argType = TInterface (Name {namespace = "Gtk", name = "Scrollable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrollable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollable_get_hadjustment" gtk_scrollable_get_hadjustment :: 
+    Ptr Scrollable ->                       -- scrollable : TInterface (Name {namespace = "Gtk", name = "Scrollable"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Retrieves the 'GI.Gtk.Objects.Adjustment.Adjustment' used for horizontal scrolling.
+
+/Since: 3.0/
+-}
+scrollableGetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrollable a) =>
+    a
+    {- ^ /@scrollable@/: a 'GI.Gtk.Interfaces.Scrollable.Scrollable' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ horizontal 'GI.Gtk.Objects.Adjustment.Adjustment'. -}
+scrollableGetHadjustment scrollable = liftIO $ do
+    scrollable' <- unsafeManagedPtrCastPtr scrollable
+    result <- gtk_scrollable_get_hadjustment scrollable'
+    checkUnexpectedReturnNULL "scrollableGetHadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr scrollable
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrollableGetHadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsScrollable a) => O.MethodInfo ScrollableGetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = scrollableGetHadjustment
+
+#endif
+
+-- method Scrollable::get_hscroll_policy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrollable", argType = TInterface (Name {namespace = "Gtk", name = "Scrollable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrollable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ScrollablePolicy"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollable_get_hscroll_policy" gtk_scrollable_get_hscroll_policy :: 
+    Ptr Scrollable ->                       -- scrollable : TInterface (Name {namespace = "Gtk", name = "Scrollable"})
+    IO CUInt
+
+{- |
+Gets the horizontal 'GI.Gtk.Enums.ScrollablePolicy'.
+
+/Since: 3.0/
+-}
+scrollableGetHscrollPolicy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrollable a) =>
+    a
+    {- ^ /@scrollable@/: a 'GI.Gtk.Interfaces.Scrollable.Scrollable' -}
+    -> m Gtk.Enums.ScrollablePolicy
+    {- ^ __Returns:__ The horizontal 'GI.Gtk.Enums.ScrollablePolicy'. -}
+scrollableGetHscrollPolicy scrollable = liftIO $ do
+    scrollable' <- unsafeManagedPtrCastPtr scrollable
+    result <- gtk_scrollable_get_hscroll_policy scrollable'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr scrollable
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrollableGetHscrollPolicyMethodInfo
+instance (signature ~ (m Gtk.Enums.ScrollablePolicy), MonadIO m, IsScrollable a) => O.MethodInfo ScrollableGetHscrollPolicyMethodInfo a signature where
+    overloadedMethod _ = scrollableGetHscrollPolicy
+
+#endif
+
+-- method Scrollable::get_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrollable", argType = TInterface (Name {namespace = "Gtk", name = "Scrollable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrollable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollable_get_vadjustment" gtk_scrollable_get_vadjustment :: 
+    Ptr Scrollable ->                       -- scrollable : TInterface (Name {namespace = "Gtk", name = "Scrollable"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Retrieves the 'GI.Gtk.Objects.Adjustment.Adjustment' used for vertical scrolling.
+
+/Since: 3.0/
+-}
+scrollableGetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrollable a) =>
+    a
+    {- ^ /@scrollable@/: a 'GI.Gtk.Interfaces.Scrollable.Scrollable' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ vertical 'GI.Gtk.Objects.Adjustment.Adjustment'. -}
+scrollableGetVadjustment scrollable = liftIO $ do
+    scrollable' <- unsafeManagedPtrCastPtr scrollable
+    result <- gtk_scrollable_get_vadjustment scrollable'
+    checkUnexpectedReturnNULL "scrollableGetVadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr scrollable
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrollableGetVadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsScrollable a) => O.MethodInfo ScrollableGetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = scrollableGetVadjustment
+
+#endif
+
+-- method Scrollable::get_vscroll_policy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrollable", argType = TInterface (Name {namespace = "Gtk", name = "Scrollable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrollable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ScrollablePolicy"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollable_get_vscroll_policy" gtk_scrollable_get_vscroll_policy :: 
+    Ptr Scrollable ->                       -- scrollable : TInterface (Name {namespace = "Gtk", name = "Scrollable"})
+    IO CUInt
+
+{- |
+Gets the vertical 'GI.Gtk.Enums.ScrollablePolicy'.
+
+/Since: 3.0/
+-}
+scrollableGetVscrollPolicy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrollable a) =>
+    a
+    {- ^ /@scrollable@/: a 'GI.Gtk.Interfaces.Scrollable.Scrollable' -}
+    -> m Gtk.Enums.ScrollablePolicy
+    {- ^ __Returns:__ The vertical 'GI.Gtk.Enums.ScrollablePolicy'. -}
+scrollableGetVscrollPolicy scrollable = liftIO $ do
+    scrollable' <- unsafeManagedPtrCastPtr scrollable
+    result <- gtk_scrollable_get_vscroll_policy scrollable'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr scrollable
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrollableGetVscrollPolicyMethodInfo
+instance (signature ~ (m Gtk.Enums.ScrollablePolicy), MonadIO m, IsScrollable a) => O.MethodInfo ScrollableGetVscrollPolicyMethodInfo a signature where
+    overloadedMethod _ = scrollableGetVscrollPolicy
+
+#endif
+
+-- method Scrollable::set_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrollable", argType = TInterface (Name {namespace = "Gtk", name = "Scrollable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrollable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollable_set_hadjustment" gtk_scrollable_set_hadjustment :: 
+    Ptr Scrollable ->                       -- scrollable : TInterface (Name {namespace = "Gtk", name = "Scrollable"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- hadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Sets the horizontal adjustment of the 'GI.Gtk.Interfaces.Scrollable.Scrollable'.
+
+/Since: 3.0/
+-}
+scrollableSetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrollable a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@scrollable@/: a 'GI.Gtk.Interfaces.Scrollable.Scrollable' -}
+    -> Maybe (b)
+    {- ^ /@hadjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m ()
+scrollableSetHadjustment scrollable hadjustment = liftIO $ do
+    scrollable' <- unsafeManagedPtrCastPtr scrollable
+    maybeHadjustment <- case hadjustment of
+        Nothing -> return nullPtr
+        Just jHadjustment -> do
+            jHadjustment' <- unsafeManagedPtrCastPtr jHadjustment
+            return jHadjustment'
+    gtk_scrollable_set_hadjustment scrollable' maybeHadjustment
+    touchManagedPtr scrollable
+    whenJust hadjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrollableSetHadjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsScrollable a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ScrollableSetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = scrollableSetHadjustment
+
+#endif
+
+-- method Scrollable::set_hscroll_policy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrollable", argType = TInterface (Name {namespace = "Gtk", name = "Scrollable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrollable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "policy", argType = TInterface (Name {namespace = "Gtk", name = "ScrollablePolicy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal #GtkScrollablePolicy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollable_set_hscroll_policy" gtk_scrollable_set_hscroll_policy :: 
+    Ptr Scrollable ->                       -- scrollable : TInterface (Name {namespace = "Gtk", name = "Scrollable"})
+    CUInt ->                                -- policy : TInterface (Name {namespace = "Gtk", name = "ScrollablePolicy"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Enums.ScrollablePolicy' to determine whether
+horizontal scrolling should start below the minimum width or
+below the natural width.
+
+/Since: 3.0/
+-}
+scrollableSetHscrollPolicy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrollable a) =>
+    a
+    {- ^ /@scrollable@/: a 'GI.Gtk.Interfaces.Scrollable.Scrollable' -}
+    -> Gtk.Enums.ScrollablePolicy
+    {- ^ /@policy@/: the horizontal 'GI.Gtk.Enums.ScrollablePolicy' -}
+    -> m ()
+scrollableSetHscrollPolicy scrollable policy = liftIO $ do
+    scrollable' <- unsafeManagedPtrCastPtr scrollable
+    let policy' = (fromIntegral . fromEnum) policy
+    gtk_scrollable_set_hscroll_policy scrollable' policy'
+    touchManagedPtr scrollable
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrollableSetHscrollPolicyMethodInfo
+instance (signature ~ (Gtk.Enums.ScrollablePolicy -> m ()), MonadIO m, IsScrollable a) => O.MethodInfo ScrollableSetHscrollPolicyMethodInfo a signature where
+    overloadedMethod _ = scrollableSetHscrollPolicy
+
+#endif
+
+-- method Scrollable::set_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrollable", argType = TInterface (Name {namespace = "Gtk", name = "Scrollable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrollable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollable_set_vadjustment" gtk_scrollable_set_vadjustment :: 
+    Ptr Scrollable ->                       -- scrollable : TInterface (Name {namespace = "Gtk", name = "Scrollable"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- vadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Sets the vertical adjustment of the 'GI.Gtk.Interfaces.Scrollable.Scrollable'.
+
+/Since: 3.0/
+-}
+scrollableSetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrollable a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@scrollable@/: a 'GI.Gtk.Interfaces.Scrollable.Scrollable' -}
+    -> Maybe (b)
+    {- ^ /@vadjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m ()
+scrollableSetVadjustment scrollable vadjustment = liftIO $ do
+    scrollable' <- unsafeManagedPtrCastPtr scrollable
+    maybeVadjustment <- case vadjustment of
+        Nothing -> return nullPtr
+        Just jVadjustment -> do
+            jVadjustment' <- unsafeManagedPtrCastPtr jVadjustment
+            return jVadjustment'
+    gtk_scrollable_set_vadjustment scrollable' maybeVadjustment
+    touchManagedPtr scrollable
+    whenJust vadjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrollableSetVadjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsScrollable a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ScrollableSetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = scrollableSetVadjustment
+
+#endif
+
+-- method Scrollable::set_vscroll_policy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrollable", argType = TInterface (Name {namespace = "Gtk", name = "Scrollable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrollable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "policy", argType = TInterface (Name {namespace = "Gtk", name = "ScrollablePolicy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical #GtkScrollablePolicy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollable_set_vscroll_policy" gtk_scrollable_set_vscroll_policy :: 
+    Ptr Scrollable ->                       -- scrollable : TInterface (Name {namespace = "Gtk", name = "Scrollable"})
+    CUInt ->                                -- policy : TInterface (Name {namespace = "Gtk", name = "ScrollablePolicy"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Enums.ScrollablePolicy' to determine whether
+vertical scrolling should start below the minimum height or
+below the natural height.
+
+/Since: 3.0/
+-}
+scrollableSetVscrollPolicy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrollable a) =>
+    a
+    {- ^ /@scrollable@/: a 'GI.Gtk.Interfaces.Scrollable.Scrollable' -}
+    -> Gtk.Enums.ScrollablePolicy
+    {- ^ /@policy@/: the vertical 'GI.Gtk.Enums.ScrollablePolicy' -}
+    -> m ()
+scrollableSetVscrollPolicy scrollable policy = liftIO $ do
+    scrollable' <- unsafeManagedPtrCastPtr scrollable
+    let policy' = (fromIntegral . fromEnum) policy
+    gtk_scrollable_set_vscroll_policy scrollable' policy'
+    touchManagedPtr scrollable
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrollableSetVscrollPolicyMethodInfo
+instance (signature ~ (Gtk.Enums.ScrollablePolicy -> m ()), MonadIO m, IsScrollable a) => O.MethodInfo ScrollableSetVscrollPolicyMethodInfo a signature where
+    overloadedMethod _ = scrollableSetVscrollPolicy
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/Scrollable.hs-boot b/GI/Gtk/Interfaces/Scrollable.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/Scrollable.hs-boot
@@ -0,0 +1,68 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.Scrollable where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Scrollable = Scrollable (ManagedPtr Scrollable)
+instance GObject Scrollable where
+class (GObject o, O.IsDescendantOf Scrollable o) => IsScrollable o
+instance (GObject o, O.IsDescendantOf Scrollable o) => IsScrollable o
+instance O.HasParentTypes Scrollable
+#if ENABLE_OVERLOADING
+data ScrollableHadjustmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableHscrollPolicyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableVadjustmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableVscrollPolicyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableGetBorderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableGetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableGetHscrollPolicyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableGetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableGetVscrollPolicyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableSetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableSetHscrollPolicyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableSetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrollableSetVscrollPolicyMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/StyleProvider.hs b/GI/Gtk/Interfaces/StyleProvider.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/StyleProvider.hs
@@ -0,0 +1,265 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkStyleProvider is an interface used to provide style information to a 'GI.Gtk.Objects.StyleContext.StyleContext'.
+See 'GI.Gtk.Objects.StyleContext.styleContextAddProvider' and 'GI.Gtk.Objects.StyleContext.styleContextAddProviderForScreen'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.StyleProvider
+    ( 
+
+-- * Exported types
+    StyleProvider(..)                       ,
+    noStyleProvider                         ,
+    IsStyleProvider                         ,
+
+
+ -- * Methods
+-- ** getIconFactory #method:getIconFactory#
+
+#if ENABLE_OVERLOADING
+    StyleProviderGetIconFactoryMethodInfo   ,
+#endif
+    styleProviderGetIconFactory             ,
+
+
+-- ** getStyle #method:getStyle#
+
+#if ENABLE_OVERLOADING
+    StyleProviderGetStyleMethodInfo         ,
+#endif
+    styleProviderGetStyle                   ,
+
+
+-- ** getStyleProperty #method:getStyleProperty#
+
+#if ENABLE_OVERLOADING
+    StyleProviderGetStylePropertyMethodInfo ,
+#endif
+    styleProviderGetStyleProperty           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Objects.IconFactory as Gtk.IconFactory
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleProperties as Gtk.StyleProperties
+import {-# SOURCE #-} qualified GI.Gtk.Structs.WidgetPath as Gtk.WidgetPath
+
+-- interface StyleProvider 
+-- | Memory-managed wrapper type.
+newtype StyleProvider = StyleProvider (ManagedPtr StyleProvider)
+-- | A convenience alias for `Nothing` :: `Maybe` `StyleProvider`.
+noStyleProvider :: Maybe StyleProvider
+noStyleProvider = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList StyleProvider = StyleProviderSignalList
+type StyleProviderSignalList = ('[ ] :: [(Symbol, *)])
+
+#endif
+
+-- | Type class for types which implement `StyleProvider`.
+class ManagedPtrNewtype a => IsStyleProvider a
+instance IsStyleProvider StyleProvider
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr StyleProvider where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
+
+#if ENABLE_OVERLOADING
+type family ResolveStyleProviderMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStyleProviderMethod "getIconFactory" o = StyleProviderGetIconFactoryMethodInfo
+    ResolveStyleProviderMethod "getStyle" o = StyleProviderGetStyleMethodInfo
+    ResolveStyleProviderMethod "getStyleProperty" o = StyleProviderGetStylePropertyMethodInfo
+    ResolveStyleProviderMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStyleProviderMethod t StyleProvider, O.MethodInfo info StyleProvider p) => OL.IsLabel t (StyleProvider -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method StyleProvider::get_icon_factory
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gtk", name = "StyleProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkWidgetPath to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconFactory"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_provider_get_icon_factory" gtk_style_provider_get_icon_factory :: 
+    Ptr StyleProvider ->                    -- provider : TInterface (Name {namespace = "Gtk", name = "StyleProvider"})
+    Ptr Gtk.WidgetPath.WidgetPath ->        -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO (Ptr Gtk.IconFactory.IconFactory)
+
+{-# DEPRECATED styleProviderGetIconFactory ["(Since version 3.8)","Will always return 'Nothing' for all GTK-provided style providers."] #-}
+{- |
+Returns the 'GI.Gtk.Objects.IconFactory.IconFactory' defined to be in use for /@path@/, or 'Nothing' if none
+is defined.
+
+/Since: 3.0/
+-}
+styleProviderGetIconFactory ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProvider a) =>
+    a
+    {- ^ /@provider@/: a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' -}
+    -> Gtk.WidgetPath.WidgetPath
+    {- ^ /@path@/: 'GI.Gtk.Structs.WidgetPath.WidgetPath' to query -}
+    -> m (Maybe Gtk.IconFactory.IconFactory)
+    {- ^ __Returns:__ The icon factory to use for /@path@/, or 'Nothing' -}
+styleProviderGetIconFactory provider path = liftIO $ do
+    provider' <- unsafeManagedPtrCastPtr provider
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_style_provider_get_icon_factory provider' path'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.IconFactory.IconFactory) result'
+        return result''
+    touchManagedPtr provider
+    touchManagedPtr path
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StyleProviderGetIconFactoryMethodInfo
+instance (signature ~ (Gtk.WidgetPath.WidgetPath -> m (Maybe Gtk.IconFactory.IconFactory)), MonadIO m, IsStyleProvider a) => O.MethodInfo StyleProviderGetIconFactoryMethodInfo a signature where
+    overloadedMethod _ = styleProviderGetIconFactory
+
+#endif
+
+-- method StyleProvider::get_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gtk", name = "StyleProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkWidgetPath to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StyleProperties"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_provider_get_style" gtk_style_provider_get_style :: 
+    Ptr StyleProvider ->                    -- provider : TInterface (Name {namespace = "Gtk", name = "StyleProvider"})
+    Ptr Gtk.WidgetPath.WidgetPath ->        -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO (Ptr Gtk.StyleProperties.StyleProperties)
+
+{-# DEPRECATED styleProviderGetStyle ["(Since version 3.8)","Will always return 'Nothing' for all GTK-provided style providers","    as the interface cannot correctly work the way CSS is specified."] #-}
+{- |
+Returns the style settings affecting a widget defined by /@path@/, or 'Nothing' if
+/@provider@/ doesn’t contemplate styling /@path@/.
+
+/Since: 3.0/
+-}
+styleProviderGetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProvider a) =>
+    a
+    {- ^ /@provider@/: a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' -}
+    -> Gtk.WidgetPath.WidgetPath
+    {- ^ /@path@/: 'GI.Gtk.Structs.WidgetPath.WidgetPath' to query -}
+    -> m (Maybe Gtk.StyleProperties.StyleProperties)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.StyleProperties.StyleProperties' containing the
+style settings affecting /@path@/ -}
+styleProviderGetStyle provider path = liftIO $ do
+    provider' <- unsafeManagedPtrCastPtr provider
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_style_provider_get_style provider' path'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gtk.StyleProperties.StyleProperties) result'
+        return result''
+    touchManagedPtr provider
+    touchManagedPtr path
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StyleProviderGetStyleMethodInfo
+instance (signature ~ (Gtk.WidgetPath.WidgetPath -> m (Maybe Gtk.StyleProperties.StyleProperties)), MonadIO m, IsStyleProvider a) => O.MethodInfo StyleProviderGetStyleMethodInfo a signature where
+    overloadedMethod _ = styleProviderGetStyle
+
+#endif
+
+-- method StyleProvider::get_style_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gtk", name = "StyleProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkWidgetPath to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to query the style property for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GParamSpec to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the property value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_provider_get_style_property" gtk_style_provider_get_style_property :: 
+    Ptr StyleProvider ->                    -- provider : TInterface (Name {namespace = "Gtk", name = "StyleProvider"})
+    Ptr Gtk.WidgetPath.WidgetPath ->        -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO CInt
+
+{- |
+Looks up a widget style property as defined by /@provider@/ for
+the widget represented by /@path@/.
+
+/Since: 3.0/
+-}
+styleProviderGetStyleProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProvider a) =>
+    a
+    {- ^ /@provider@/: a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' -}
+    -> Gtk.WidgetPath.WidgetPath
+    {- ^ /@path@/: 'GI.Gtk.Structs.WidgetPath.WidgetPath' to query -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to query the style property for -}
+    -> GParamSpec
+    {- ^ /@pspec@/: The 'GI.GObject.Objects.ParamSpec.ParamSpec' to query -}
+    -> m ((Bool, GValue))
+    {- ^ __Returns:__ 'True' if the property was found and has a value, 'False' otherwise -}
+styleProviderGetStyleProperty provider path state pspec = liftIO $ do
+    provider' <- unsafeManagedPtrCastPtr provider
+    path' <- unsafeManagedPtrGetPtr path
+    let state' = gflagsToWord state
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    result <- gtk_style_provider_get_style_property provider' path' state' pspec' value
+    let result' = (/= 0) result
+    value' <- (wrapBoxed GValue) value
+    touchManagedPtr provider
+    touchManagedPtr path
+    touchManagedPtr pspec
+    return (result', value')
+
+#if ENABLE_OVERLOADING
+data StyleProviderGetStylePropertyMethodInfo
+instance (signature ~ (Gtk.WidgetPath.WidgetPath -> [Gtk.Flags.StateFlags] -> GParamSpec -> m ((Bool, GValue))), MonadIO m, IsStyleProvider a) => O.MethodInfo StyleProviderGetStylePropertyMethodInfo a signature where
+    overloadedMethod _ = styleProviderGetStyleProperty
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/StyleProvider.hs-boot b/GI/Gtk/Interfaces/StyleProvider.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/StyleProvider.hs-boot
@@ -0,0 +1,36 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.StyleProvider where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype StyleProvider = StyleProvider (ManagedPtr StyleProvider)
+class ManagedPtrNewtype a => IsStyleProvider a
+instance WrappedPtr StyleProvider where
+#if ENABLE_OVERLOADING
+data StyleProviderGetIconFactoryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleProviderGetStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleProviderGetStylePropertyMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/ToolShell.hs b/GI/Gtk/Interfaces/ToolShell.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/ToolShell.hs
@@ -0,0 +1,830 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Interfaces.ToolShell.ToolShell' interface allows container widgets to provide additional
+information when embedding 'GI.Gtk.Objects.ToolItem.ToolItem' widgets.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.ToolShell
+    ( 
+
+-- * Exported types
+    ToolShell(..)                           ,
+    noToolShell                             ,
+    IsToolShell                             ,
+    toToolShell                             ,
+
+
+ -- * Methods
+-- ** getEllipsizeMode #method:getEllipsizeMode#
+
+#if ENABLE_OVERLOADING
+    ToolShellGetEllipsizeModeMethodInfo     ,
+#endif
+    toolShellGetEllipsizeMode               ,
+
+
+-- ** getIconSize #method:getIconSize#
+
+#if ENABLE_OVERLOADING
+    ToolShellGetIconSizeMethodInfo          ,
+#endif
+    toolShellGetIconSize                    ,
+
+
+-- ** getOrientation #method:getOrientation#
+
+#if ENABLE_OVERLOADING
+    ToolShellGetOrientationMethodInfo       ,
+#endif
+    toolShellGetOrientation                 ,
+
+
+-- ** getReliefStyle #method:getReliefStyle#
+
+#if ENABLE_OVERLOADING
+    ToolShellGetReliefStyleMethodInfo       ,
+#endif
+    toolShellGetReliefStyle                 ,
+
+
+-- ** getStyle #method:getStyle#
+
+#if ENABLE_OVERLOADING
+    ToolShellGetStyleMethodInfo             ,
+#endif
+    toolShellGetStyle                       ,
+
+
+-- ** getTextAlignment #method:getTextAlignment#
+
+#if ENABLE_OVERLOADING
+    ToolShellGetTextAlignmentMethodInfo     ,
+#endif
+    toolShellGetTextAlignment               ,
+
+
+-- ** getTextOrientation #method:getTextOrientation#
+
+#if ENABLE_OVERLOADING
+    ToolShellGetTextOrientationMethodInfo   ,
+#endif
+    toolShellGetTextOrientation             ,
+
+
+-- ** getTextSizeGroup #method:getTextSizeGroup#
+
+#if ENABLE_OVERLOADING
+    ToolShellGetTextSizeGroupMethodInfo     ,
+#endif
+    toolShellGetTextSizeGroup               ,
+
+
+-- ** rebuildMenu #method:rebuildMenu#
+
+#if ENABLE_OVERLOADING
+    ToolShellRebuildMenuMethodInfo          ,
+#endif
+    toolShellRebuildMenu                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.SizeGroup as Gtk.SizeGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import qualified GI.Pango.Enums as Pango.Enums
+
+-- interface ToolShell 
+-- | Memory-managed wrapper type.
+newtype ToolShell = ToolShell (ManagedPtr ToolShell)
+-- | A convenience alias for `Nothing` :: `Maybe` `ToolShell`.
+noToolShell :: Maybe ToolShell
+noToolShell = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ToolShell = ToolShellSignalList
+type ToolShellSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_tool_shell_get_type"
+    c_gtk_tool_shell_get_type :: IO GType
+
+instance GObject ToolShell where
+    gobjectType = c_gtk_tool_shell_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToolShell`, for instance with `toToolShell`.
+class (GObject o, O.IsDescendantOf ToolShell o) => IsToolShell o
+instance (GObject o, O.IsDescendantOf ToolShell o) => IsToolShell o
+
+instance O.HasParentTypes ToolShell
+type instance O.ParentTypes ToolShell = '[Gtk.Widget.Widget, GObject.Object.Object]
+
+-- | Cast to `ToolShell`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToolShell :: (MonadIO m, IsToolShell o) => o -> m ToolShell
+toToolShell = liftIO . unsafeCastTo ToolShell
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToolShell
+type instance O.AttributeList ToolShell = ToolShellAttributeList
+type ToolShellAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveToolShellMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToolShellMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveToolShellMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveToolShellMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveToolShellMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveToolShellMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveToolShellMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveToolShellMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveToolShellMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToolShellMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToolShellMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveToolShellMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveToolShellMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveToolShellMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveToolShellMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveToolShellMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveToolShellMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveToolShellMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveToolShellMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveToolShellMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveToolShellMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveToolShellMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveToolShellMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveToolShellMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveToolShellMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveToolShellMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveToolShellMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveToolShellMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveToolShellMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveToolShellMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveToolShellMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveToolShellMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveToolShellMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveToolShellMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveToolShellMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveToolShellMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveToolShellMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveToolShellMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveToolShellMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveToolShellMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveToolShellMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveToolShellMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveToolShellMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveToolShellMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveToolShellMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveToolShellMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveToolShellMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveToolShellMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveToolShellMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveToolShellMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveToolShellMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveToolShellMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveToolShellMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveToolShellMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveToolShellMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveToolShellMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveToolShellMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToolShellMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveToolShellMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToolShellMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToolShellMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveToolShellMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveToolShellMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveToolShellMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveToolShellMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveToolShellMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveToolShellMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveToolShellMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveToolShellMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveToolShellMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveToolShellMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveToolShellMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveToolShellMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveToolShellMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveToolShellMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveToolShellMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveToolShellMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveToolShellMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveToolShellMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveToolShellMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveToolShellMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToolShellMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveToolShellMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveToolShellMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveToolShellMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveToolShellMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveToolShellMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveToolShellMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveToolShellMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveToolShellMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveToolShellMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveToolShellMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveToolShellMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveToolShellMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveToolShellMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveToolShellMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveToolShellMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveToolShellMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveToolShellMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToolShellMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToolShellMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveToolShellMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveToolShellMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveToolShellMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveToolShellMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveToolShellMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveToolShellMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveToolShellMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveToolShellMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveToolShellMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveToolShellMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveToolShellMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveToolShellMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveToolShellMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveToolShellMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveToolShellMethod "rebuildMenu" o = ToolShellRebuildMenuMethodInfo
+    ResolveToolShellMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToolShellMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToolShellMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveToolShellMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveToolShellMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveToolShellMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveToolShellMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveToolShellMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveToolShellMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveToolShellMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveToolShellMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveToolShellMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveToolShellMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToolShellMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveToolShellMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveToolShellMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveToolShellMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveToolShellMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveToolShellMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveToolShellMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveToolShellMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveToolShellMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveToolShellMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToolShellMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToolShellMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveToolShellMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveToolShellMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveToolShellMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToolShellMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveToolShellMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveToolShellMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveToolShellMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveToolShellMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveToolShellMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToolShellMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveToolShellMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveToolShellMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToolShellMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveToolShellMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveToolShellMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveToolShellMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveToolShellMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveToolShellMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveToolShellMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveToolShellMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveToolShellMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveToolShellMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveToolShellMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveToolShellMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveToolShellMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveToolShellMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveToolShellMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveToolShellMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveToolShellMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToolShellMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveToolShellMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveToolShellMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveToolShellMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveToolShellMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveToolShellMethod "getEllipsizeMode" o = ToolShellGetEllipsizeModeMethodInfo
+    ResolveToolShellMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveToolShellMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveToolShellMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveToolShellMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveToolShellMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveToolShellMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveToolShellMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveToolShellMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveToolShellMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveToolShellMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveToolShellMethod "getIconSize" o = ToolShellGetIconSizeMethodInfo
+    ResolveToolShellMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveToolShellMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveToolShellMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveToolShellMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveToolShellMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveToolShellMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveToolShellMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveToolShellMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveToolShellMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveToolShellMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveToolShellMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveToolShellMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveToolShellMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveToolShellMethod "getOrientation" o = ToolShellGetOrientationMethodInfo
+    ResolveToolShellMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveToolShellMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveToolShellMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveToolShellMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveToolShellMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveToolShellMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveToolShellMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveToolShellMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveToolShellMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveToolShellMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveToolShellMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveToolShellMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToolShellMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToolShellMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveToolShellMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveToolShellMethod "getReliefStyle" o = ToolShellGetReliefStyleMethodInfo
+    ResolveToolShellMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveToolShellMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveToolShellMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveToolShellMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveToolShellMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveToolShellMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveToolShellMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveToolShellMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveToolShellMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveToolShellMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveToolShellMethod "getStyle" o = ToolShellGetStyleMethodInfo
+    ResolveToolShellMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveToolShellMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveToolShellMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveToolShellMethod "getTextAlignment" o = ToolShellGetTextAlignmentMethodInfo
+    ResolveToolShellMethod "getTextOrientation" o = ToolShellGetTextOrientationMethodInfo
+    ResolveToolShellMethod "getTextSizeGroup" o = ToolShellGetTextSizeGroupMethodInfo
+    ResolveToolShellMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveToolShellMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveToolShellMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveToolShellMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveToolShellMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveToolShellMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveToolShellMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveToolShellMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveToolShellMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveToolShellMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveToolShellMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveToolShellMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveToolShellMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveToolShellMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveToolShellMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveToolShellMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveToolShellMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveToolShellMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveToolShellMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveToolShellMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveToolShellMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToolShellMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveToolShellMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveToolShellMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveToolShellMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveToolShellMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveToolShellMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveToolShellMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveToolShellMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveToolShellMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveToolShellMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveToolShellMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveToolShellMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveToolShellMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveToolShellMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveToolShellMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveToolShellMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveToolShellMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveToolShellMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveToolShellMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveToolShellMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveToolShellMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveToolShellMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveToolShellMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveToolShellMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveToolShellMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveToolShellMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToolShellMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveToolShellMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveToolShellMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveToolShellMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveToolShellMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveToolShellMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveToolShellMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveToolShellMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveToolShellMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveToolShellMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveToolShellMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveToolShellMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveToolShellMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveToolShellMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveToolShellMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveToolShellMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveToolShellMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveToolShellMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveToolShellMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToolShellMethod t ToolShell, O.MethodInfo info ToolShell p) => OL.IsLabel t (ToolShell -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method ToolShell::get_ellipsize_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "shell", argType = TInterface (Name {namespace = "Gtk", name = "ToolShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "EllipsizeMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_shell_get_ellipsize_mode" gtk_tool_shell_get_ellipsize_mode :: 
+    Ptr ToolShell ->                        -- shell : TInterface (Name {namespace = "Gtk", name = "ToolShell"})
+    IO CUInt
+
+{- |
+Retrieves the current ellipsize mode for the tool shell. Tool items must not
+call this function directly, but rely on 'GI.Gtk.Objects.ToolItem.toolItemGetEllipsizeMode'
+instead.
+
+/Since: 2.20/
+-}
+toolShellGetEllipsizeMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolShell a) =>
+    a
+    {- ^ /@shell@/: a 'GI.Gtk.Interfaces.ToolShell.ToolShell' -}
+    -> m Pango.Enums.EllipsizeMode
+    {- ^ __Returns:__ the current ellipsize mode of /@shell@/ -}
+toolShellGetEllipsizeMode shell = liftIO $ do
+    shell' <- unsafeManagedPtrCastPtr shell
+    result <- gtk_tool_shell_get_ellipsize_mode shell'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr shell
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolShellGetEllipsizeModeMethodInfo
+instance (signature ~ (m Pango.Enums.EllipsizeMode), MonadIO m, IsToolShell a) => O.MethodInfo ToolShellGetEllipsizeModeMethodInfo a signature where
+    overloadedMethod _ = toolShellGetEllipsizeMode
+
+#endif
+
+-- method ToolShell::get_icon_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "shell", argType = TInterface (Name {namespace = "Gtk", name = "ToolShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_shell_get_icon_size" gtk_tool_shell_get_icon_size :: 
+    Ptr ToolShell ->                        -- shell : TInterface (Name {namespace = "Gtk", name = "ToolShell"})
+    IO Int32
+
+{- |
+Retrieves the icon size for the tool shell. Tool items must not call this
+function directly, but rely on 'GI.Gtk.Objects.ToolItem.toolItemGetIconSize' instead.
+
+/Since: 2.14/
+-}
+toolShellGetIconSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolShell a) =>
+    a
+    {- ^ /@shell@/: a 'GI.Gtk.Interfaces.ToolShell.ToolShell' -}
+    -> m Int32
+    {- ^ __Returns:__ the current size ('GI.Gtk.Enums.IconSize') for icons of /@shell@/ -}
+toolShellGetIconSize shell = liftIO $ do
+    shell' <- unsafeManagedPtrCastPtr shell
+    result <- gtk_tool_shell_get_icon_size shell'
+    touchManagedPtr shell
+    return result
+
+#if ENABLE_OVERLOADING
+data ToolShellGetIconSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsToolShell a) => O.MethodInfo ToolShellGetIconSizeMethodInfo a signature where
+    overloadedMethod _ = toolShellGetIconSize
+
+#endif
+
+-- method ToolShell::get_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "shell", argType = TInterface (Name {namespace = "Gtk", name = "ToolShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Orientation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_shell_get_orientation" gtk_tool_shell_get_orientation :: 
+    Ptr ToolShell ->                        -- shell : TInterface (Name {namespace = "Gtk", name = "ToolShell"})
+    IO CUInt
+
+{- |
+Retrieves the current orientation for the tool shell. Tool items must not
+call this function directly, but rely on 'GI.Gtk.Objects.ToolItem.toolItemGetOrientation'
+instead.
+
+/Since: 2.14/
+-}
+toolShellGetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolShell a) =>
+    a
+    {- ^ /@shell@/: a 'GI.Gtk.Interfaces.ToolShell.ToolShell' -}
+    -> m Gtk.Enums.Orientation
+    {- ^ __Returns:__ the current orientation of /@shell@/ -}
+toolShellGetOrientation shell = liftIO $ do
+    shell' <- unsafeManagedPtrCastPtr shell
+    result <- gtk_tool_shell_get_orientation shell'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr shell
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolShellGetOrientationMethodInfo
+instance (signature ~ (m Gtk.Enums.Orientation), MonadIO m, IsToolShell a) => O.MethodInfo ToolShellGetOrientationMethodInfo a signature where
+    overloadedMethod _ = toolShellGetOrientation
+
+#endif
+
+-- method ToolShell::get_relief_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "shell", argType = TInterface (Name {namespace = "Gtk", name = "ToolShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ReliefStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_shell_get_relief_style" gtk_tool_shell_get_relief_style :: 
+    Ptr ToolShell ->                        -- shell : TInterface (Name {namespace = "Gtk", name = "ToolShell"})
+    IO CUInt
+
+{- |
+Returns the relief style of buttons on /@shell@/. Tool items must not call this
+function directly, but rely on 'GI.Gtk.Objects.ToolItem.toolItemGetReliefStyle' instead.
+
+/Since: 2.14/
+-}
+toolShellGetReliefStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolShell a) =>
+    a
+    {- ^ /@shell@/: a 'GI.Gtk.Interfaces.ToolShell.ToolShell' -}
+    -> m Gtk.Enums.ReliefStyle
+    {- ^ __Returns:__ The relief style of buttons on /@shell@/. -}
+toolShellGetReliefStyle shell = liftIO $ do
+    shell' <- unsafeManagedPtrCastPtr shell
+    result <- gtk_tool_shell_get_relief_style shell'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr shell
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolShellGetReliefStyleMethodInfo
+instance (signature ~ (m Gtk.Enums.ReliefStyle), MonadIO m, IsToolShell a) => O.MethodInfo ToolShellGetReliefStyleMethodInfo a signature where
+    overloadedMethod _ = toolShellGetReliefStyle
+
+#endif
+
+-- method ToolShell::get_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "shell", argType = TInterface (Name {namespace = "Gtk", name = "ToolShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_shell_get_style" gtk_tool_shell_get_style :: 
+    Ptr ToolShell ->                        -- shell : TInterface (Name {namespace = "Gtk", name = "ToolShell"})
+    IO CUInt
+
+{- |
+Retrieves whether the tool shell has text, icons, or both. Tool items must
+not call this function directly, but rely on 'GI.Gtk.Objects.ToolItem.toolItemGetToolbarStyle'
+instead.
+
+/Since: 2.14/
+-}
+toolShellGetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolShell a) =>
+    a
+    {- ^ /@shell@/: a 'GI.Gtk.Interfaces.ToolShell.ToolShell' -}
+    -> m Gtk.Enums.ToolbarStyle
+    {- ^ __Returns:__ the current style of /@shell@/ -}
+toolShellGetStyle shell = liftIO $ do
+    shell' <- unsafeManagedPtrCastPtr shell
+    result <- gtk_tool_shell_get_style shell'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr shell
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolShellGetStyleMethodInfo
+instance (signature ~ (m Gtk.Enums.ToolbarStyle), MonadIO m, IsToolShell a) => O.MethodInfo ToolShellGetStyleMethodInfo a signature where
+    overloadedMethod _ = toolShellGetStyle
+
+#endif
+
+-- method ToolShell::get_text_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "shell", argType = TInterface (Name {namespace = "Gtk", name = "ToolShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFloat)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_shell_get_text_alignment" gtk_tool_shell_get_text_alignment :: 
+    Ptr ToolShell ->                        -- shell : TInterface (Name {namespace = "Gtk", name = "ToolShell"})
+    IO CFloat
+
+{- |
+Retrieves the current text alignment for the tool shell. Tool items must not
+call this function directly, but rely on 'GI.Gtk.Objects.ToolItem.toolItemGetTextAlignment'
+instead.
+
+/Since: 2.20/
+-}
+toolShellGetTextAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolShell a) =>
+    a
+    {- ^ /@shell@/: a 'GI.Gtk.Interfaces.ToolShell.ToolShell' -}
+    -> m Float
+    {- ^ __Returns:__ the current text alignment of /@shell@/ -}
+toolShellGetTextAlignment shell = liftIO $ do
+    shell' <- unsafeManagedPtrCastPtr shell
+    result <- gtk_tool_shell_get_text_alignment shell'
+    let result' = realToFrac result
+    touchManagedPtr shell
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolShellGetTextAlignmentMethodInfo
+instance (signature ~ (m Float), MonadIO m, IsToolShell a) => O.MethodInfo ToolShellGetTextAlignmentMethodInfo a signature where
+    overloadedMethod _ = toolShellGetTextAlignment
+
+#endif
+
+-- method ToolShell::get_text_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "shell", argType = TInterface (Name {namespace = "Gtk", name = "ToolShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Orientation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_shell_get_text_orientation" gtk_tool_shell_get_text_orientation :: 
+    Ptr ToolShell ->                        -- shell : TInterface (Name {namespace = "Gtk", name = "ToolShell"})
+    IO CUInt
+
+{- |
+Retrieves the current text orientation for the tool shell. Tool items must not
+call this function directly, but rely on 'GI.Gtk.Objects.ToolItem.toolItemGetTextOrientation'
+instead.
+
+/Since: 2.20/
+-}
+toolShellGetTextOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolShell a) =>
+    a
+    {- ^ /@shell@/: a 'GI.Gtk.Interfaces.ToolShell.ToolShell' -}
+    -> m Gtk.Enums.Orientation
+    {- ^ __Returns:__ the current text orientation of /@shell@/ -}
+toolShellGetTextOrientation shell = liftIO $ do
+    shell' <- unsafeManagedPtrCastPtr shell
+    result <- gtk_tool_shell_get_text_orientation shell'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr shell
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolShellGetTextOrientationMethodInfo
+instance (signature ~ (m Gtk.Enums.Orientation), MonadIO m, IsToolShell a) => O.MethodInfo ToolShellGetTextOrientationMethodInfo a signature where
+    overloadedMethod _ = toolShellGetTextOrientation
+
+#endif
+
+-- method ToolShell::get_text_size_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "shell", argType = TInterface (Name {namespace = "Gtk", name = "ToolShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SizeGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_shell_get_text_size_group" gtk_tool_shell_get_text_size_group :: 
+    Ptr ToolShell ->                        -- shell : TInterface (Name {namespace = "Gtk", name = "ToolShell"})
+    IO (Ptr Gtk.SizeGroup.SizeGroup)
+
+{- |
+Retrieves the current text size group for the tool shell. Tool items must not
+call this function directly, but rely on 'GI.Gtk.Objects.ToolItem.toolItemGetTextSizeGroup'
+instead.
+
+/Since: 2.20/
+-}
+toolShellGetTextSizeGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolShell a) =>
+    a
+    {- ^ /@shell@/: a 'GI.Gtk.Interfaces.ToolShell.ToolShell' -}
+    -> m Gtk.SizeGroup.SizeGroup
+    {- ^ __Returns:__ the current text size group of /@shell@/ -}
+toolShellGetTextSizeGroup shell = liftIO $ do
+    shell' <- unsafeManagedPtrCastPtr shell
+    result <- gtk_tool_shell_get_text_size_group shell'
+    checkUnexpectedReturnNULL "toolShellGetTextSizeGroup" result
+    result' <- (newObject Gtk.SizeGroup.SizeGroup) result
+    touchManagedPtr shell
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolShellGetTextSizeGroupMethodInfo
+instance (signature ~ (m Gtk.SizeGroup.SizeGroup), MonadIO m, IsToolShell a) => O.MethodInfo ToolShellGetTextSizeGroupMethodInfo a signature where
+    overloadedMethod _ = toolShellGetTextSizeGroup
+
+#endif
+
+-- method ToolShell::rebuild_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "shell", argType = TInterface (Name {namespace = "Gtk", name = "ToolShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_shell_rebuild_menu" gtk_tool_shell_rebuild_menu :: 
+    Ptr ToolShell ->                        -- shell : TInterface (Name {namespace = "Gtk", name = "ToolShell"})
+    IO ()
+
+{- |
+Calling this function signals the tool shell that the overflow menu item for
+tool items have changed. If there is an overflow menu and if it is visible
+when this function it called, the menu will be rebuilt.
+
+Tool items must not call this function directly, but rely on
+'GI.Gtk.Objects.ToolItem.toolItemRebuildMenu' instead.
+
+/Since: 2.14/
+-}
+toolShellRebuildMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolShell a) =>
+    a
+    {- ^ /@shell@/: a 'GI.Gtk.Interfaces.ToolShell.ToolShell' -}
+    -> m ()
+toolShellRebuildMenu shell = liftIO $ do
+    shell' <- unsafeManagedPtrCastPtr shell
+    gtk_tool_shell_rebuild_menu shell'
+    touchManagedPtr shell
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolShellRebuildMenuMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsToolShell a) => O.MethodInfo ToolShellRebuildMenuMethodInfo a signature where
+    overloadedMethod _ = toolShellRebuildMenu
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/ToolShell.hs-boot b/GI/Gtk/Interfaces/ToolShell.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/ToolShell.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.ToolShell where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToolShell = ToolShell (ManagedPtr ToolShell)
+instance GObject ToolShell where
+class (GObject o, O.IsDescendantOf ToolShell o) => IsToolShell o
+instance (GObject o, O.IsDescendantOf ToolShell o) => IsToolShell o
+instance O.HasParentTypes ToolShell
+#if ENABLE_OVERLOADING
+data ToolShellGetEllipsizeModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolShellGetIconSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolShellGetOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolShellGetReliefStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolShellGetStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolShellGetTextAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolShellGetTextOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolShellGetTextSizeGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolShellRebuildMenuMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/TreeDragDest.hs b/GI/Gtk/Interfaces/TreeDragDest.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/TreeDragDest.hs
@@ -0,0 +1,204 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.TreeDragDest
+    ( 
+
+-- * Exported types
+    TreeDragDest(..)                        ,
+    noTreeDragDest                          ,
+    IsTreeDragDest                          ,
+
+
+ -- * Methods
+-- ** dragDataReceived #method:dragDataReceived#
+
+#if ENABLE_OVERLOADING
+    TreeDragDestDragDataReceivedMethodInfo  ,
+#endif
+    treeDragDestDragDataReceived            ,
+
+
+-- ** rowDropPossible #method:rowDropPossible#
+
+#if ENABLE_OVERLOADING
+    TreeDragDestRowDropPossibleMethodInfo   ,
+#endif
+    treeDragDestRowDropPossible             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SelectionData as Gtk.SelectionData
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- interface TreeDragDest 
+-- | Memory-managed wrapper type.
+newtype TreeDragDest = TreeDragDest (ManagedPtr TreeDragDest)
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeDragDest`.
+noTreeDragDest :: Maybe TreeDragDest
+noTreeDragDest = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TreeDragDest = TreeDragDestSignalList
+type TreeDragDestSignalList = ('[ ] :: [(Symbol, *)])
+
+#endif
+
+-- | Type class for types which implement `TreeDragDest`.
+class ManagedPtrNewtype a => IsTreeDragDest a
+instance IsTreeDragDest TreeDragDest
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr TreeDragDest where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeDragDestMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeDragDestMethod "dragDataReceived" o = TreeDragDestDragDataReceivedMethodInfo
+    ResolveTreeDragDestMethod "rowDropPossible" o = TreeDragDestRowDropPossibleMethodInfo
+    ResolveTreeDragDestMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeDragDestMethod t TreeDragDest, O.MethodInfo info TreeDragDest p) => OL.IsLabel t (TreeDragDest -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method TreeDragDest::drag_data_received
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "drag_dest", argType = TInterface (Name {namespace = "Gtk", name = "TreeDragDest"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeDragDest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "row to drop in front of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "data to drop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_drag_dest_drag_data_received" gtk_tree_drag_dest_drag_data_received :: 
+    Ptr TreeDragDest ->                     -- drag_dest : TInterface (Name {namespace = "Gtk", name = "TreeDragDest"})
+    Ptr Gtk.TreePath.TreePath ->            -- dest : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.SelectionData.SelectionData ->  -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO CInt
+
+{- |
+Asks the 'GI.Gtk.Interfaces.TreeDragDest.TreeDragDest' to insert a row before the path /@dest@/,
+deriving the contents of the row from /@selectionData@/. If /@dest@/ is
+outside the tree so that inserting before it is impossible, 'False'
+will be returned. Also, 'False' may be returned if the new row is
+not created for some model-specific reason.  Should robustly handle
+a /@dest@/ no longer found in the model!
+-}
+treeDragDestDragDataReceived ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeDragDest a) =>
+    a
+    {- ^ /@dragDest@/: a 'GI.Gtk.Interfaces.TreeDragDest.TreeDragDest' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@dest@/: row to drop in front of -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: data to drop -}
+    -> m Bool
+    {- ^ __Returns:__ whether a new row was created before position /@dest@/ -}
+treeDragDestDragDataReceived dragDest dest selectionData = liftIO $ do
+    dragDest' <- unsafeManagedPtrCastPtr dragDest
+    dest' <- unsafeManagedPtrGetPtr dest
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_tree_drag_dest_drag_data_received dragDest' dest' selectionData'
+    let result' = (/= 0) result
+    touchManagedPtr dragDest
+    touchManagedPtr dest
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeDragDestDragDataReceivedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.SelectionData.SelectionData -> m Bool), MonadIO m, IsTreeDragDest a) => O.MethodInfo TreeDragDestDragDataReceivedMethodInfo a signature where
+    overloadedMethod _ = treeDragDestDragDataReceived
+
+#endif
+
+-- method TreeDragDest::row_drop_possible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "drag_dest", argType = TInterface (Name {namespace = "Gtk", name = "TreeDragDest"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeDragDest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destination row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the data being dragged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_drag_dest_row_drop_possible" gtk_tree_drag_dest_row_drop_possible :: 
+    Ptr TreeDragDest ->                     -- drag_dest : TInterface (Name {namespace = "Gtk", name = "TreeDragDest"})
+    Ptr Gtk.TreePath.TreePath ->            -- dest_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.SelectionData.SelectionData ->  -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO CInt
+
+{- |
+Determines whether a drop is possible before the given /@destPath@/,
+at the same depth as /@destPath@/. i.e., can we drop the data in
+/@selectionData@/ at that location. /@destPath@/ does not have to
+exist; the return value will almost certainly be 'False' if the
+parent of /@destPath@/ doesn’t exist, though.
+-}
+treeDragDestRowDropPossible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeDragDest a) =>
+    a
+    {- ^ /@dragDest@/: a 'GI.Gtk.Interfaces.TreeDragDest.TreeDragDest' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@destPath@/: destination row -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: the data being dragged -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a drop is possible before /@destPath@/ -}
+treeDragDestRowDropPossible dragDest destPath selectionData = liftIO $ do
+    dragDest' <- unsafeManagedPtrCastPtr dragDest
+    destPath' <- unsafeManagedPtrGetPtr destPath
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_tree_drag_dest_row_drop_possible dragDest' destPath' selectionData'
+    let result' = (/= 0) result
+    touchManagedPtr dragDest
+    touchManagedPtr destPath
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeDragDestRowDropPossibleMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.SelectionData.SelectionData -> m Bool), MonadIO m, IsTreeDragDest a) => O.MethodInfo TreeDragDestRowDropPossibleMethodInfo a signature where
+    overloadedMethod _ = treeDragDestRowDropPossible
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/TreeDragDest.hs-boot b/GI/Gtk/Interfaces/TreeDragDest.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/TreeDragDest.hs-boot
@@ -0,0 +1,33 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.TreeDragDest where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeDragDest = TreeDragDest (ManagedPtr TreeDragDest)
+class ManagedPtrNewtype a => IsTreeDragDest a
+instance WrappedPtr TreeDragDest where
+#if ENABLE_OVERLOADING
+data TreeDragDestDragDataReceivedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeDragDestRowDropPossibleMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/TreeDragSource.hs b/GI/Gtk/Interfaces/TreeDragSource.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/TreeDragSource.hs
@@ -0,0 +1,249 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.TreeDragSource
+    ( 
+
+-- * Exported types
+    TreeDragSource(..)                      ,
+    noTreeDragSource                        ,
+    IsTreeDragSource                        ,
+
+
+ -- * Methods
+-- ** dragDataDelete #method:dragDataDelete#
+
+#if ENABLE_OVERLOADING
+    TreeDragSourceDragDataDeleteMethodInfo  ,
+#endif
+    treeDragSourceDragDataDelete            ,
+
+
+-- ** dragDataGet #method:dragDataGet#
+
+#if ENABLE_OVERLOADING
+    TreeDragSourceDragDataGetMethodInfo     ,
+#endif
+    treeDragSourceDragDataGet               ,
+
+
+-- ** rowDraggable #method:rowDraggable#
+
+#if ENABLE_OVERLOADING
+    TreeDragSourceRowDraggableMethodInfo    ,
+#endif
+    treeDragSourceRowDraggable              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SelectionData as Gtk.SelectionData
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- interface TreeDragSource 
+-- | Memory-managed wrapper type.
+newtype TreeDragSource = TreeDragSource (ManagedPtr TreeDragSource)
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeDragSource`.
+noTreeDragSource :: Maybe TreeDragSource
+noTreeDragSource = Nothing
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TreeDragSource = TreeDragSourceSignalList
+type TreeDragSourceSignalList = ('[ ] :: [(Symbol, *)])
+
+#endif
+
+-- | Type class for types which implement `TreeDragSource`.
+class ManagedPtrNewtype a => IsTreeDragSource a
+instance IsTreeDragSource TreeDragSource
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr TreeDragSource where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeDragSourceMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeDragSourceMethod "dragDataDelete" o = TreeDragSourceDragDataDeleteMethodInfo
+    ResolveTreeDragSourceMethod "dragDataGet" o = TreeDragSourceDragDataGetMethodInfo
+    ResolveTreeDragSourceMethod "rowDraggable" o = TreeDragSourceRowDraggableMethodInfo
+    ResolveTreeDragSourceMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeDragSourceMethod t TreeDragSource, O.MethodInfo info TreeDragSource p) => OL.IsLabel t (TreeDragSource -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method TreeDragSource::drag_data_delete
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "drag_source", argType = TInterface (Name {namespace = "Gtk", name = "TreeDragSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeDragSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "row that was being dragged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_drag_source_drag_data_delete" gtk_tree_drag_source_drag_data_delete :: 
+    Ptr TreeDragSource ->                   -- drag_source : TInterface (Name {namespace = "Gtk", name = "TreeDragSource"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Asks the 'GI.Gtk.Interfaces.TreeDragSource.TreeDragSource' to delete the row at /@path@/, because
+it was moved somewhere else via drag-and-drop. Returns 'False'
+if the deletion fails because /@path@/ no longer exists, or for
+some model-specific reason. Should robustly handle a /@path@/ no
+longer found in the model!
+-}
+treeDragSourceDragDataDelete ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeDragSource a) =>
+    a
+    {- ^ /@dragSource@/: a 'GI.Gtk.Interfaces.TreeDragSource.TreeDragSource' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: row that was being dragged -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the row was successfully deleted -}
+treeDragSourceDragDataDelete dragSource path = liftIO $ do
+    dragSource' <- unsafeManagedPtrCastPtr dragSource
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_drag_source_drag_data_delete dragSource' path'
+    let result' = (/= 0) result
+    touchManagedPtr dragSource
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeDragSourceDragDataDeleteMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Bool), MonadIO m, IsTreeDragSource a) => O.MethodInfo TreeDragSourceDragDataDeleteMethodInfo a signature where
+    overloadedMethod _ = treeDragSourceDragDataDelete
+
+#endif
+
+-- method TreeDragSource::drag_data_get
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "drag_source", argType = TInterface (Name {namespace = "Gtk", name = "TreeDragSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeDragSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "row that was dragged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData to fill with data\n                 from the dragged row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_drag_source_drag_data_get" gtk_tree_drag_source_drag_data_get :: 
+    Ptr TreeDragSource ->                   -- drag_source : TInterface (Name {namespace = "Gtk", name = "TreeDragSource"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.SelectionData.SelectionData ->  -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO CInt
+
+{- |
+Asks the 'GI.Gtk.Interfaces.TreeDragSource.TreeDragSource' to fill in /@selectionData@/ with a
+representation of the row at /@path@/. /@selectionData@/->target gives
+the required type of the data.  Should robustly handle a /@path@/ no
+longer found in the model!
+-}
+treeDragSourceDragDataGet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeDragSource a) =>
+    a
+    {- ^ /@dragSource@/: a 'GI.Gtk.Interfaces.TreeDragSource.TreeDragSource' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: row that was dragged -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' to fill with data
+                 from the dragged row -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if data of the required type was provided -}
+treeDragSourceDragDataGet dragSource path selectionData = liftIO $ do
+    dragSource' <- unsafeManagedPtrCastPtr dragSource
+    path' <- unsafeManagedPtrGetPtr path
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_tree_drag_source_drag_data_get dragSource' path' selectionData'
+    let result' = (/= 0) result
+    touchManagedPtr dragSource
+    touchManagedPtr path
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeDragSourceDragDataGetMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.SelectionData.SelectionData -> m Bool), MonadIO m, IsTreeDragSource a) => O.MethodInfo TreeDragSourceDragDataGetMethodInfo a signature where
+    overloadedMethod _ = treeDragSourceDragDataGet
+
+#endif
+
+-- method TreeDragSource::row_draggable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "drag_source", argType = TInterface (Name {namespace = "Gtk", name = "TreeDragSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeDragSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "row on which user is initiating a drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_drag_source_row_draggable" gtk_tree_drag_source_row_draggable :: 
+    Ptr TreeDragSource ->                   -- drag_source : TInterface (Name {namespace = "Gtk", name = "TreeDragSource"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Asks the 'GI.Gtk.Interfaces.TreeDragSource.TreeDragSource' whether a particular row can be used as
+the source of a DND operation. If the source doesn’t implement
+this interface, the row is assumed draggable.
+-}
+treeDragSourceRowDraggable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeDragSource a) =>
+    a
+    {- ^ /@dragSource@/: a 'GI.Gtk.Interfaces.TreeDragSource.TreeDragSource' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: row on which user is initiating a drag -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the row can be dragged -}
+treeDragSourceRowDraggable dragSource path = liftIO $ do
+    dragSource' <- unsafeManagedPtrCastPtr dragSource
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_drag_source_row_draggable dragSource' path'
+    let result' = (/= 0) result
+    touchManagedPtr dragSource
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeDragSourceRowDraggableMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Bool), MonadIO m, IsTreeDragSource a) => O.MethodInfo TreeDragSourceRowDraggableMethodInfo a signature where
+    overloadedMethod _ = treeDragSourceRowDraggable
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/TreeDragSource.hs-boot b/GI/Gtk/Interfaces/TreeDragSource.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/TreeDragSource.hs-boot
@@ -0,0 +1,36 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.TreeDragSource where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeDragSource = TreeDragSource (ManagedPtr TreeDragSource)
+class ManagedPtrNewtype a => IsTreeDragSource a
+instance WrappedPtr TreeDragSource where
+#if ENABLE_OVERLOADING
+data TreeDragSourceDragDataDeleteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeDragSourceDragDataGetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeDragSourceRowDraggableMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/TreeModel.hs b/GI/Gtk/Interfaces/TreeModel.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/TreeModel.hs
@@ -0,0 +1,2136 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Interfaces.TreeModel.TreeModel' interface defines a generic tree interface for
+use by the 'GI.Gtk.Objects.TreeView.TreeView' widget. It is an abstract interface, and
+is designed to be usable with any appropriate data structure. The
+programmer just has to implement this interface on their own data
+type for it to be viewable by a 'GI.Gtk.Objects.TreeView.TreeView' widget.
+
+The model is represented as a hierarchical tree of strongly-typed,
+columned data. In other words, the model can be seen as a tree where
+every node has different values depending on which column is being
+queried. The type of data found in a column is determined by using
+the GType system (ie. @/G_TYPE_INT/@, @/GTK_TYPE_BUTTON/@, @/G_TYPE_POINTER/@,
+etc). The types are homogeneous per column across all nodes. It is
+important to note that this interface only provides a way of examining
+a model and observing changes. The implementation of each individual
+model decides how and if changes are made.
+
+In order to make life simpler for programmers who do not need to
+write their own specialized model, two generic models are provided
+— the 'GI.Gtk.Objects.TreeStore.TreeStore' and the 'GI.Gtk.Objects.ListStore.ListStore'. To use these, the
+developer simply pushes data into these models as necessary. These
+models provide the data structure as well as all appropriate tree
+interfaces. As a result, implementing drag and drop, sorting, and
+storing data is trivial. For the vast majority of trees and lists,
+these two models are sufficient.
+
+Models are accessed on a node\/column level of granularity. One can
+query for the value of a model at a certain node and a certain
+column on that node. There are two structures used to reference a
+particular node in a model. They are the 'GI.Gtk.Structs.TreePath.TreePath'-struct and
+the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct (“iter” is short for iterator). Most of the
+interface consists of operations on a 'GI.Gtk.Structs.TreeIter.TreeIter'-struct.
+
+A path is essentially a potential node. It is a location on a model
+that may or may not actually correspond to a node on a specific
+model. The 'GI.Gtk.Structs.TreePath.TreePath'-struct can be converted into either an
+array of unsigned integers or a string. The string form is a list
+of numbers separated by a colon. Each number refers to the offset
+at that level. Thus, the path @0@ refers to the root
+node and the path @2:4@ refers to the fifth child of
+the third node.
+
+By contrast, a 'GI.Gtk.Structs.TreeIter.TreeIter'-struct is a reference to a specific node on
+a specific model. It is a generic struct with an integer and three
+generic pointers. These are filled in by the model in a model-specific
+way. One can convert a path to an iterator by calling
+'GI.Gtk.Interfaces.TreeModel.treeModelGetIter'. These iterators are the primary way
+of accessing a model and are similar to the iterators used by
+'GI.Gtk.Objects.TextBuffer.TextBuffer'. They are generally statically allocated on the
+stack and only used for a short time. The model interface defines
+a set of operations using them for navigating the model.
+
+It is expected that models fill in the iterator with private data.
+For example, the 'GI.Gtk.Objects.ListStore.ListStore' model, which is internally a simple
+linked list, stores a list node in one of the pointers. The
+'GI.Gtk.Objects.TreeModelSort.TreeModelSort' stores an array and an offset in two of the
+pointers. Additionally, there is an integer field. This field is
+generally filled with a unique stamp per model. This stamp is for
+catching errors resulting from using invalid iterators with a model.
+
+The lifecycle of an iterator can be a little confusing at first.
+Iterators are expected to always be valid for as long as the model
+is unchanged (and doesn’t emit a signal). The model is considered
+to own all outstanding iterators and nothing needs to be done to
+free them from the user’s point of view. Additionally, some models
+guarantee that an iterator is valid for as long as the node it refers
+to is valid (most notably the 'GI.Gtk.Objects.TreeStore.TreeStore' and 'GI.Gtk.Objects.ListStore.ListStore').
+Although generally uninteresting, as one always has to allow for
+the case where iterators do not persist beyond a signal, some very
+important performance enhancements were made in the sort model.
+As a result, the @/GTK_TREE_MODEL_ITERS_PERSIST/@ flag was added to
+indicate this behavior.
+
+To help show some common operation of a model, some examples are
+provided. The first example shows three ways of getting the iter at
+the location @3:2:5@. While the first method shown is
+easier, the second is much more common, as you often get paths from
+callbacks.
+
+## Acquiring a 'GI.Gtk.Structs.TreeIter.TreeIter'-struct
+
+
+=== /C code/
+>
+>// Three ways of getting the iter pointing to the location
+>GtkTreePath *path;
+>GtkTreeIter iter;
+>GtkTreeIter parent_iter;
+>
+>// get the iterator from a string
+>gtk_tree_model_get_iter_from_string (model,
+>                                     &iter,
+>                                     "3:2:5");
+>
+>// get the iterator from a path
+>path = gtk_tree_path_new_from_string ("3:2:5");
+>gtk_tree_model_get_iter (model, &iter, path);
+>gtk_tree_path_free (path);
+>
+>// walk the tree to find the iterator
+>gtk_tree_model_iter_nth_child (model, &iter,
+>                               NULL, 3);
+>parent_iter = iter;
+>gtk_tree_model_iter_nth_child (model, &iter,
+>                               &parent_iter, 2);
+>parent_iter = iter;
+>gtk_tree_model_iter_nth_child (model, &iter,
+>                               &parent_iter, 5);
+
+
+This second example shows a quick way of iterating through a list
+and getting a string and an integer from each row. The
+@/populate_model()/@ function used below is not
+shown, as it is specific to the 'GI.Gtk.Objects.ListStore.ListStore'. For information on
+how to write such a function, see the 'GI.Gtk.Objects.ListStore.ListStore' documentation.
+
+## Reading data from a 'GI.Gtk.Interfaces.TreeModel.TreeModel'
+
+
+=== /C code/
+>
+>enum
+>{
+>  STRING_COLUMN,
+>  INT_COLUMN,
+>  N_COLUMNS
+>};
+>
+>...
+>
+>GtkTreeModel *list_store;
+>GtkTreeIter iter;
+>gboolean valid;
+>gint row_count = 0;
+>
+>// make a new list_store
+>list_store = gtk_list_store_new (N_COLUMNS,
+>                                 G_TYPE_STRING,
+>                                 G_TYPE_INT);
+>
+>// Fill the list store with data
+>populate_model (list_store);
+>
+>// Get the first iter in the list, check it is valid and walk
+>// through the list, reading each row.
+>
+>valid = gtk_tree_model_get_iter_first (list_store,
+>                                       &iter);
+>while (valid)
+> {
+>   gchar *str_data;
+>   gint   int_data;
+>
+>   // Make sure you terminate calls to gtk_tree_model_get() with a “-1” value
+>   gtk_tree_model_get (list_store, &iter,
+>                       STRING_COLUMN, &str_data,
+>                       INT_COLUMN, &int_data,
+>                       -1);
+>
+>   // Do something with the data
+>   g_print ("Row %d: (%s,%d)\n",
+>            row_count, str_data, int_data);
+>   g_free (str_data);
+>
+>   valid = gtk_tree_model_iter_next (list_store,
+>                                     &iter);
+>   row_count++;
+> }
+
+
+The 'GI.Gtk.Interfaces.TreeModel.TreeModel' interface contains two methods for reference
+counting: 'GI.Gtk.Interfaces.TreeModel.treeModelRefNode' and 'GI.Gtk.Interfaces.TreeModel.treeModelUnrefNode'.
+These two methods are optional to implement. The reference counting
+is meant as a way for views to let models know when nodes are being
+displayed. 'GI.Gtk.Objects.TreeView.TreeView' will take a reference on a node when it is
+visible, which means the node is either in the toplevel or expanded.
+Being displayed does not mean that the node is currently directly
+visible to the user in the viewport. Based on this reference counting
+scheme a caching model, for example, can decide whether or not to cache
+a node based on the reference count. A file-system based model would
+not want to keep the entire file hierarchy in memory, but just the
+folders that are currently expanded in every current view.
+
+When working with reference counting, the following rules must be taken
+into account:
+
+* Never take a reference on a node without owning a reference on its parent.
+This means that all parent nodes of a referenced node must be referenced
+as well.
+* Outstanding references on a deleted node are not released. This is not
+possible because the node has already been deleted by the time the
+row-deleted signal is received.
+* Models are not obligated to emit a signal on rows of which none of its
+siblings are referenced. To phrase this differently, signals are only
+required for levels in which nodes are referenced. For the root level
+however, signals must be emitted at all times (however the root level
+is always referenced when any view is attached).
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.TreeModel
+    ( 
+
+-- * Exported types
+    TreeModel(..)                           ,
+    noTreeModel                             ,
+    IsTreeModel                             ,
+    toTreeModel                             ,
+
+
+ -- * Methods
+-- ** filterNew #method:filterNew#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterNewMethodInfo            ,
+#endif
+    treeModelFilterNew                      ,
+
+
+-- ** foreach #method:foreach#
+
+#if ENABLE_OVERLOADING
+    TreeModelForeachMethodInfo              ,
+#endif
+    treeModelForeach                        ,
+
+
+-- ** getColumnType #method:getColumnType#
+
+#if ENABLE_OVERLOADING
+    TreeModelGetColumnTypeMethodInfo        ,
+#endif
+    treeModelGetColumnType                  ,
+
+
+-- ** getFlags #method:getFlags#
+
+#if ENABLE_OVERLOADING
+    TreeModelGetFlagsMethodInfo             ,
+#endif
+    treeModelGetFlags                       ,
+
+
+-- ** getIter #method:getIter#
+
+#if ENABLE_OVERLOADING
+    TreeModelGetIterMethodInfo              ,
+#endif
+    treeModelGetIter                        ,
+
+
+-- ** getIterFirst #method:getIterFirst#
+
+#if ENABLE_OVERLOADING
+    TreeModelGetIterFirstMethodInfo         ,
+#endif
+    treeModelGetIterFirst                   ,
+
+
+-- ** getIterFromString #method:getIterFromString#
+
+#if ENABLE_OVERLOADING
+    TreeModelGetIterFromStringMethodInfo    ,
+#endif
+    treeModelGetIterFromString              ,
+
+
+-- ** getNColumns #method:getNColumns#
+
+#if ENABLE_OVERLOADING
+    TreeModelGetNColumnsMethodInfo          ,
+#endif
+    treeModelGetNColumns                    ,
+
+
+-- ** getPath #method:getPath#
+
+#if ENABLE_OVERLOADING
+    TreeModelGetPathMethodInfo              ,
+#endif
+    treeModelGetPath                        ,
+
+
+-- ** getStringFromIter #method:getStringFromIter#
+
+#if ENABLE_OVERLOADING
+    TreeModelGetStringFromIterMethodInfo    ,
+#endif
+    treeModelGetStringFromIter              ,
+
+
+-- ** getValue #method:getValue#
+
+#if ENABLE_OVERLOADING
+    TreeModelGetValueMethodInfo             ,
+#endif
+    treeModelGetValue                       ,
+
+
+-- ** iterChildren #method:iterChildren#
+
+#if ENABLE_OVERLOADING
+    TreeModelIterChildrenMethodInfo         ,
+#endif
+    treeModelIterChildren                   ,
+
+
+-- ** iterHasChild #method:iterHasChild#
+
+#if ENABLE_OVERLOADING
+    TreeModelIterHasChildMethodInfo         ,
+#endif
+    treeModelIterHasChild                   ,
+
+
+-- ** iterNChildren #method:iterNChildren#
+
+#if ENABLE_OVERLOADING
+    TreeModelIterNChildrenMethodInfo        ,
+#endif
+    treeModelIterNChildren                  ,
+
+
+-- ** iterNext #method:iterNext#
+
+#if ENABLE_OVERLOADING
+    TreeModelIterNextMethodInfo             ,
+#endif
+    treeModelIterNext                       ,
+
+
+-- ** iterNthChild #method:iterNthChild#
+
+#if ENABLE_OVERLOADING
+    TreeModelIterNthChildMethodInfo         ,
+#endif
+    treeModelIterNthChild                   ,
+
+
+-- ** iterParent #method:iterParent#
+
+#if ENABLE_OVERLOADING
+    TreeModelIterParentMethodInfo           ,
+#endif
+    treeModelIterParent                     ,
+
+
+-- ** iterPrevious #method:iterPrevious#
+
+#if ENABLE_OVERLOADING
+    TreeModelIterPreviousMethodInfo         ,
+#endif
+    treeModelIterPrevious                   ,
+
+
+-- ** refNode #method:refNode#
+
+#if ENABLE_OVERLOADING
+    TreeModelRefNodeMethodInfo              ,
+#endif
+    treeModelRefNode                        ,
+
+
+-- ** rowChanged #method:rowChanged#
+
+#if ENABLE_OVERLOADING
+    TreeModelRowChangedMethodInfo           ,
+#endif
+    treeModelRowChanged                     ,
+
+
+-- ** rowDeleted #method:rowDeleted#
+
+#if ENABLE_OVERLOADING
+    TreeModelRowDeletedMethodInfo           ,
+#endif
+    treeModelRowDeleted                     ,
+
+
+-- ** rowHasChildToggled #method:rowHasChildToggled#
+
+#if ENABLE_OVERLOADING
+    TreeModelRowHasChildToggledMethodInfo   ,
+#endif
+    treeModelRowHasChildToggled             ,
+
+
+-- ** rowInserted #method:rowInserted#
+
+#if ENABLE_OVERLOADING
+    TreeModelRowInsertedMethodInfo          ,
+#endif
+    treeModelRowInserted                    ,
+
+
+-- ** rowsReordered #method:rowsReordered#
+
+#if ENABLE_OVERLOADING
+    TreeModelRowsReorderedMethodInfo        ,
+#endif
+    treeModelRowsReordered                  ,
+
+
+-- ** sortNewWithModel #method:sortNewWithModel#
+
+#if ENABLE_OVERLOADING
+    TreeModelSortNewWithModelMethodInfo     ,
+#endif
+    treeModelSortNewWithModel               ,
+
+
+-- ** unrefNode #method:unrefNode#
+
+#if ENABLE_OVERLOADING
+    TreeModelUnrefNodeMethodInfo            ,
+#endif
+    treeModelUnrefNode                      ,
+
+
+
+
+ -- * Signals
+-- ** rowChanged #signal:rowChanged#
+
+    C_TreeModelRowChangedCallback           ,
+    TreeModelRowChangedCallback             ,
+#if ENABLE_OVERLOADING
+    TreeModelRowChangedSignalInfo           ,
+#endif
+    afterTreeModelRowChanged                ,
+    genClosure_TreeModelRowChanged          ,
+    mk_TreeModelRowChangedCallback          ,
+    noTreeModelRowChangedCallback           ,
+    onTreeModelRowChanged                   ,
+    wrap_TreeModelRowChangedCallback        ,
+
+
+-- ** rowDeleted #signal:rowDeleted#
+
+    C_TreeModelRowDeletedCallback           ,
+    TreeModelRowDeletedCallback             ,
+#if ENABLE_OVERLOADING
+    TreeModelRowDeletedSignalInfo           ,
+#endif
+    afterTreeModelRowDeleted                ,
+    genClosure_TreeModelRowDeleted          ,
+    mk_TreeModelRowDeletedCallback          ,
+    noTreeModelRowDeletedCallback           ,
+    onTreeModelRowDeleted                   ,
+    wrap_TreeModelRowDeletedCallback        ,
+
+
+-- ** rowHasChildToggled #signal:rowHasChildToggled#
+
+    C_TreeModelRowHasChildToggledCallback   ,
+    TreeModelRowHasChildToggledCallback     ,
+#if ENABLE_OVERLOADING
+    TreeModelRowHasChildToggledSignalInfo   ,
+#endif
+    afterTreeModelRowHasChildToggled        ,
+    genClosure_TreeModelRowHasChildToggled  ,
+    mk_TreeModelRowHasChildToggledCallback  ,
+    noTreeModelRowHasChildToggledCallback   ,
+    onTreeModelRowHasChildToggled           ,
+    wrap_TreeModelRowHasChildToggledCallback,
+
+
+-- ** rowInserted #signal:rowInserted#
+
+    C_TreeModelRowInsertedCallback          ,
+    TreeModelRowInsertedCallback            ,
+#if ENABLE_OVERLOADING
+    TreeModelRowInsertedSignalInfo          ,
+#endif
+    afterTreeModelRowInserted               ,
+    genClosure_TreeModelRowInserted         ,
+    mk_TreeModelRowInsertedCallback         ,
+    noTreeModelRowInsertedCallback          ,
+    onTreeModelRowInserted                  ,
+    wrap_TreeModelRowInsertedCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- interface TreeModel 
+-- | Memory-managed wrapper type.
+newtype TreeModel = TreeModel (ManagedPtr TreeModel)
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeModel`.
+noTreeModel :: Maybe TreeModel
+noTreeModel = Nothing
+
+-- signal TreeModel::row-changed
+{- |
+This signal is emitted when a row in the model has changed.
+-}
+type TreeModelRowChangedCallback =
+    Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct identifying the changed row -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a valid 'GI.Gtk.Structs.TreeIter.TreeIter'-struct pointing to the changed row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeModelRowChangedCallback`@.
+noTreeModelRowChangedCallback :: Maybe TreeModelRowChangedCallback
+noTreeModelRowChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeModelRowChangedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeModelRowChangedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeModelRowChangedCallback :: C_TreeModelRowChangedCallback -> IO (FunPtr C_TreeModelRowChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeModelRowChanged :: MonadIO m => TreeModelRowChangedCallback -> m (GClosure C_TreeModelRowChangedCallback)
+genClosure_TreeModelRowChanged cb = liftIO $ do
+    let cb' = wrap_TreeModelRowChangedCallback cb
+    mk_TreeModelRowChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeModelRowChangedCallback` into a `C_TreeModelRowChangedCallback`.
+wrap_TreeModelRowChangedCallback ::
+    TreeModelRowChangedCallback ->
+    C_TreeModelRowChangedCallback
+wrap_TreeModelRowChangedCallback _cb _ path iter _ = do
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+            _cb  path' iter'
+
+
+{- |
+Connect a signal handler for the “@row-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeModel #rowChanged callback
+@
+-}
+onTreeModelRowChanged :: (IsTreeModel a, MonadIO m) => a -> TreeModelRowChangedCallback -> m SignalHandlerId
+onTreeModelRowChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeModelRowChangedCallback cb
+    cb'' <- mk_TreeModelRowChangedCallback cb'
+    connectSignalFunPtr obj "row-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@row-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeModel #rowChanged callback
+@
+-}
+afterTreeModelRowChanged :: (IsTreeModel a, MonadIO m) => a -> TreeModelRowChangedCallback -> m SignalHandlerId
+afterTreeModelRowChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeModelRowChangedCallback cb
+    cb'' <- mk_TreeModelRowChangedCallback cb'
+    connectSignalFunPtr obj "row-changed" cb'' SignalConnectAfter
+
+
+-- signal TreeModel::row-deleted
+{- |
+This signal is emitted when a row has been deleted.
+
+Note that no iterator is passed to the signal handler,
+since the row is already deleted.
+
+This should be called by models after a row has been removed.
+The location pointed to by /@path@/ should be the location that
+the row previously was at. It may not be a valid location anymore.
+-}
+type TreeModelRowDeletedCallback =
+    Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct identifying the row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeModelRowDeletedCallback`@.
+noTreeModelRowDeletedCallback :: Maybe TreeModelRowDeletedCallback
+noTreeModelRowDeletedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeModelRowDeletedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeModelRowDeletedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeModelRowDeletedCallback :: C_TreeModelRowDeletedCallback -> IO (FunPtr C_TreeModelRowDeletedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeModelRowDeleted :: MonadIO m => TreeModelRowDeletedCallback -> m (GClosure C_TreeModelRowDeletedCallback)
+genClosure_TreeModelRowDeleted cb = liftIO $ do
+    let cb' = wrap_TreeModelRowDeletedCallback cb
+    mk_TreeModelRowDeletedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeModelRowDeletedCallback` into a `C_TreeModelRowDeletedCallback`.
+wrap_TreeModelRowDeletedCallback ::
+    TreeModelRowDeletedCallback ->
+    C_TreeModelRowDeletedCallback
+wrap_TreeModelRowDeletedCallback _cb _ path _ = do
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        _cb  path'
+
+
+{- |
+Connect a signal handler for the “@row-deleted@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeModel #rowDeleted callback
+@
+-}
+onTreeModelRowDeleted :: (IsTreeModel a, MonadIO m) => a -> TreeModelRowDeletedCallback -> m SignalHandlerId
+onTreeModelRowDeleted obj cb = liftIO $ do
+    let cb' = wrap_TreeModelRowDeletedCallback cb
+    cb'' <- mk_TreeModelRowDeletedCallback cb'
+    connectSignalFunPtr obj "row-deleted" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@row-deleted@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeModel #rowDeleted callback
+@
+-}
+afterTreeModelRowDeleted :: (IsTreeModel a, MonadIO m) => a -> TreeModelRowDeletedCallback -> m SignalHandlerId
+afterTreeModelRowDeleted obj cb = liftIO $ do
+    let cb' = wrap_TreeModelRowDeletedCallback cb
+    cb'' <- mk_TreeModelRowDeletedCallback cb'
+    connectSignalFunPtr obj "row-deleted" cb'' SignalConnectAfter
+
+
+-- signal TreeModel::row-has-child-toggled
+{- |
+This signal is emitted when a row has gotten the first child
+row or lost its last child row.
+-}
+type TreeModelRowHasChildToggledCallback =
+    Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct identifying the row -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a valid 'GI.Gtk.Structs.TreeIter.TreeIter'-struct pointing to the row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeModelRowHasChildToggledCallback`@.
+noTreeModelRowHasChildToggledCallback :: Maybe TreeModelRowHasChildToggledCallback
+noTreeModelRowHasChildToggledCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeModelRowHasChildToggledCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeModelRowHasChildToggledCallback`.
+foreign import ccall "wrapper"
+    mk_TreeModelRowHasChildToggledCallback :: C_TreeModelRowHasChildToggledCallback -> IO (FunPtr C_TreeModelRowHasChildToggledCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeModelRowHasChildToggled :: MonadIO m => TreeModelRowHasChildToggledCallback -> m (GClosure C_TreeModelRowHasChildToggledCallback)
+genClosure_TreeModelRowHasChildToggled cb = liftIO $ do
+    let cb' = wrap_TreeModelRowHasChildToggledCallback cb
+    mk_TreeModelRowHasChildToggledCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeModelRowHasChildToggledCallback` into a `C_TreeModelRowHasChildToggledCallback`.
+wrap_TreeModelRowHasChildToggledCallback ::
+    TreeModelRowHasChildToggledCallback ->
+    C_TreeModelRowHasChildToggledCallback
+wrap_TreeModelRowHasChildToggledCallback _cb _ path iter _ = do
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+            _cb  path' iter'
+
+
+{- |
+Connect a signal handler for the “@row-has-child-toggled@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeModel #rowHasChildToggled callback
+@
+-}
+onTreeModelRowHasChildToggled :: (IsTreeModel a, MonadIO m) => a -> TreeModelRowHasChildToggledCallback -> m SignalHandlerId
+onTreeModelRowHasChildToggled obj cb = liftIO $ do
+    let cb' = wrap_TreeModelRowHasChildToggledCallback cb
+    cb'' <- mk_TreeModelRowHasChildToggledCallback cb'
+    connectSignalFunPtr obj "row-has-child-toggled" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@row-has-child-toggled@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeModel #rowHasChildToggled callback
+@
+-}
+afterTreeModelRowHasChildToggled :: (IsTreeModel a, MonadIO m) => a -> TreeModelRowHasChildToggledCallback -> m SignalHandlerId
+afterTreeModelRowHasChildToggled obj cb = liftIO $ do
+    let cb' = wrap_TreeModelRowHasChildToggledCallback cb
+    cb'' <- mk_TreeModelRowHasChildToggledCallback cb'
+    connectSignalFunPtr obj "row-has-child-toggled" cb'' SignalConnectAfter
+
+
+-- signal TreeModel::row-inserted
+{- |
+This signal is emitted when a new row has been inserted in
+the model.
+
+Note that the row may still be empty at this point, since
+it is a common pattern to first insert an empty row, and
+then fill it with the desired values.
+-}
+type TreeModelRowInsertedCallback =
+    Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct identifying the new row -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a valid 'GI.Gtk.Structs.TreeIter.TreeIter'-struct pointing to the new row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeModelRowInsertedCallback`@.
+noTreeModelRowInsertedCallback :: Maybe TreeModelRowInsertedCallback
+noTreeModelRowInsertedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeModelRowInsertedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeModelRowInsertedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeModelRowInsertedCallback :: C_TreeModelRowInsertedCallback -> IO (FunPtr C_TreeModelRowInsertedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeModelRowInserted :: MonadIO m => TreeModelRowInsertedCallback -> m (GClosure C_TreeModelRowInsertedCallback)
+genClosure_TreeModelRowInserted cb = liftIO $ do
+    let cb' = wrap_TreeModelRowInsertedCallback cb
+    mk_TreeModelRowInsertedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeModelRowInsertedCallback` into a `C_TreeModelRowInsertedCallback`.
+wrap_TreeModelRowInsertedCallback ::
+    TreeModelRowInsertedCallback ->
+    C_TreeModelRowInsertedCallback
+wrap_TreeModelRowInsertedCallback _cb _ path iter _ = do
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+            _cb  path' iter'
+
+
+{- |
+Connect a signal handler for the “@row-inserted@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeModel #rowInserted callback
+@
+-}
+onTreeModelRowInserted :: (IsTreeModel a, MonadIO m) => a -> TreeModelRowInsertedCallback -> m SignalHandlerId
+onTreeModelRowInserted obj cb = liftIO $ do
+    let cb' = wrap_TreeModelRowInsertedCallback cb
+    cb'' <- mk_TreeModelRowInsertedCallback cb'
+    connectSignalFunPtr obj "row-inserted" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@row-inserted@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeModel #rowInserted callback
+@
+-}
+afterTreeModelRowInserted :: (IsTreeModel a, MonadIO m) => a -> TreeModelRowInsertedCallback -> m SignalHandlerId
+afterTreeModelRowInserted obj cb = liftIO $ do
+    let cb' = wrap_TreeModelRowInsertedCallback cb
+    cb'' <- mk_TreeModelRowInsertedCallback cb'
+    connectSignalFunPtr obj "row-inserted" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+data TreeModelRowChangedSignalInfo
+instance SignalInfo TreeModelRowChangedSignalInfo where
+    type HaskellCallbackType TreeModelRowChangedSignalInfo = TreeModelRowChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeModelRowChangedCallback cb
+        cb'' <- mk_TreeModelRowChangedCallback cb'
+        connectSignalFunPtr obj "row-changed" cb'' connectMode
+
+data TreeModelRowDeletedSignalInfo
+instance SignalInfo TreeModelRowDeletedSignalInfo where
+    type HaskellCallbackType TreeModelRowDeletedSignalInfo = TreeModelRowDeletedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeModelRowDeletedCallback cb
+        cb'' <- mk_TreeModelRowDeletedCallback cb'
+        connectSignalFunPtr obj "row-deleted" cb'' connectMode
+
+data TreeModelRowHasChildToggledSignalInfo
+instance SignalInfo TreeModelRowHasChildToggledSignalInfo where
+    type HaskellCallbackType TreeModelRowHasChildToggledSignalInfo = TreeModelRowHasChildToggledCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeModelRowHasChildToggledCallback cb
+        cb'' <- mk_TreeModelRowHasChildToggledCallback cb'
+        connectSignalFunPtr obj "row-has-child-toggled" cb'' connectMode
+
+data TreeModelRowInsertedSignalInfo
+instance SignalInfo TreeModelRowInsertedSignalInfo where
+    type HaskellCallbackType TreeModelRowInsertedSignalInfo = TreeModelRowInsertedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeModelRowInsertedCallback cb
+        cb'' <- mk_TreeModelRowInsertedCallback cb'
+        connectSignalFunPtr obj "row-inserted" cb'' connectMode
+
+type instance O.SignalList TreeModel = TreeModelSignalList
+type TreeModelSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("rowChanged", TreeModelRowChangedSignalInfo), '("rowDeleted", TreeModelRowDeletedSignalInfo), '("rowHasChildToggled", TreeModelRowHasChildToggledSignalInfo), '("rowInserted", TreeModelRowInsertedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_tree_model_get_type"
+    c_gtk_tree_model_get_type :: IO GType
+
+instance GObject TreeModel where
+    gobjectType = c_gtk_tree_model_get_type
+    
+
+-- | Type class for types which can be safely cast to `TreeModel`, for instance with `toTreeModel`.
+class (GObject o, O.IsDescendantOf TreeModel o) => IsTreeModel o
+instance (GObject o, O.IsDescendantOf TreeModel o) => IsTreeModel o
+
+instance O.HasParentTypes TreeModel
+type instance O.ParentTypes TreeModel = '[GObject.Object.Object]
+
+-- | Cast to `TreeModel`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTreeModel :: (MonadIO m, IsTreeModel o) => o -> m TreeModel
+toTreeModel = liftIO . unsafeCastTo TreeModel
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeModel
+type instance O.AttributeList TreeModel = TreeModelAttributeList
+type TreeModelAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeModelMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeModelMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTreeModelMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTreeModelMethod "filterNew" o = TreeModelFilterNewMethodInfo
+    ResolveTreeModelMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTreeModelMethod "foreach" o = TreeModelForeachMethodInfo
+    ResolveTreeModelMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTreeModelMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTreeModelMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTreeModelMethod "iterChildren" o = TreeModelIterChildrenMethodInfo
+    ResolveTreeModelMethod "iterHasChild" o = TreeModelIterHasChildMethodInfo
+    ResolveTreeModelMethod "iterNChildren" o = TreeModelIterNChildrenMethodInfo
+    ResolveTreeModelMethod "iterNext" o = TreeModelIterNextMethodInfo
+    ResolveTreeModelMethod "iterNthChild" o = TreeModelIterNthChildMethodInfo
+    ResolveTreeModelMethod "iterParent" o = TreeModelIterParentMethodInfo
+    ResolveTreeModelMethod "iterPrevious" o = TreeModelIterPreviousMethodInfo
+    ResolveTreeModelMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTreeModelMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTreeModelMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTreeModelMethod "refNode" o = TreeModelRefNodeMethodInfo
+    ResolveTreeModelMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTreeModelMethod "rowChanged" o = TreeModelRowChangedMethodInfo
+    ResolveTreeModelMethod "rowDeleted" o = TreeModelRowDeletedMethodInfo
+    ResolveTreeModelMethod "rowHasChildToggled" o = TreeModelRowHasChildToggledMethodInfo
+    ResolveTreeModelMethod "rowInserted" o = TreeModelRowInsertedMethodInfo
+    ResolveTreeModelMethod "rowsReordered" o = TreeModelRowsReorderedMethodInfo
+    ResolveTreeModelMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTreeModelMethod "sortNewWithModel" o = TreeModelSortNewWithModelMethodInfo
+    ResolveTreeModelMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTreeModelMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTreeModelMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTreeModelMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTreeModelMethod "unrefNode" o = TreeModelUnrefNodeMethodInfo
+    ResolveTreeModelMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTreeModelMethod "getColumnType" o = TreeModelGetColumnTypeMethodInfo
+    ResolveTreeModelMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTreeModelMethod "getFlags" o = TreeModelGetFlagsMethodInfo
+    ResolveTreeModelMethod "getIter" o = TreeModelGetIterMethodInfo
+    ResolveTreeModelMethod "getIterFirst" o = TreeModelGetIterFirstMethodInfo
+    ResolveTreeModelMethod "getIterFromString" o = TreeModelGetIterFromStringMethodInfo
+    ResolveTreeModelMethod "getNColumns" o = TreeModelGetNColumnsMethodInfo
+    ResolveTreeModelMethod "getPath" o = TreeModelGetPathMethodInfo
+    ResolveTreeModelMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTreeModelMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTreeModelMethod "getStringFromIter" o = TreeModelGetStringFromIterMethodInfo
+    ResolveTreeModelMethod "getValue" o = TreeModelGetValueMethodInfo
+    ResolveTreeModelMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTreeModelMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTreeModelMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeModelMethod t TreeModel, O.MethodInfo info TreeModel p) => OL.IsLabel t (TreeModel -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method TreeModel::filter_new
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "child_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModel.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GtkTreePath or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_new" gtk_tree_model_filter_new :: 
+    Ptr TreeModel ->                        -- child_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreePath.TreePath ->            -- root : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr TreeModel)
+
+{- |
+Creates a new 'GI.Gtk.Interfaces.TreeModel.TreeModel', with /@childModel@/ as the child_model
+and /@root@/ as the virtual root.
+
+/Since: 2.4/
+-}
+treeModelFilterNew ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@childModel@/: A 'GI.Gtk.Interfaces.TreeModel.TreeModel'. -}
+    -> Maybe (Gtk.TreePath.TreePath)
+    {- ^ /@root@/: A 'GI.Gtk.Structs.TreePath.TreePath' or 'Nothing'. -}
+    -> m TreeModel
+    {- ^ __Returns:__ A new 'GI.Gtk.Interfaces.TreeModel.TreeModel'. -}
+treeModelFilterNew childModel root = liftIO $ do
+    childModel' <- unsafeManagedPtrCastPtr childModel
+    maybeRoot <- case root of
+        Nothing -> return nullPtr
+        Just jRoot -> do
+            jRoot' <- unsafeManagedPtrGetPtr jRoot
+            return jRoot'
+    result <- gtk_tree_model_filter_new childModel' maybeRoot
+    checkUnexpectedReturnNULL "treeModelFilterNew" result
+    result' <- (wrapObject TreeModel) result
+    touchManagedPtr childModel
+    whenJust root touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterNewMethodInfo
+instance (signature ~ (Maybe (Gtk.TreePath.TreePath) -> m TreeModel), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelFilterNewMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterNew
+
+#endif
+
+-- method TreeModel::foreach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to be called on each row", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to passed to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_foreach" gtk_tree_model_foreach :: 
+    Ptr TreeModel ->                        -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    FunPtr Gtk.Callbacks.C_TreeModelForeachFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeModelForeachFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls func on each node in model in a depth-first fashion.
+
+If /@func@/ returns 'True', then the tree ceases to be walked,
+and 'GI.Gtk.Interfaces.TreeModel.treeModelForeach' returns.
+-}
+treeModelForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@model@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.Callbacks.TreeModelForeachFunc
+    {- ^ /@func@/: a function to be called on each row -}
+    -> m ()
+treeModelForeach model func = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    func' <- Gtk.Callbacks.mk_TreeModelForeachFunc (Gtk.Callbacks.wrap_TreeModelForeachFunc Nothing (Gtk.Callbacks.drop_closures_TreeModelForeachFunc func))
+    let userData = nullPtr
+    gtk_tree_model_foreach model' func' userData
+    safeFreeFunPtr $ castFunPtrToPtr func'
+    touchManagedPtr model
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelForeachMethodInfo
+instance (signature ~ (Gtk.Callbacks.TreeModelForeachFunc -> m ()), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelForeachMethodInfo a signature where
+    overloadedMethod _ = treeModelForeach
+
+#endif
+
+-- method TreeModel::get_column_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TGType)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_get_column_type" gtk_tree_model_get_column_type :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Int32 ->                                -- index_ : TBasicType TInt
+    IO CGType
+
+{- |
+Returns the type of the column.
+-}
+treeModelGetColumnType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Int32
+    {- ^ /@index_@/: the column index -}
+    -> m GType
+    {- ^ __Returns:__ the type of the column -}
+treeModelGetColumnType treeModel index_ = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    result <- gtk_tree_model_get_column_type treeModel' index_
+    let result' = GType result
+    touchManagedPtr treeModel
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelGetColumnTypeMethodInfo
+instance (signature ~ (Int32 -> m GType), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelGetColumnTypeMethodInfo a signature where
+    overloadedMethod _ = treeModelGetColumnType
+
+#endif
+
+-- method TreeModel::get_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModelFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_get_flags" gtk_tree_model_get_flags :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO CUInt
+
+{- |
+Returns a set of flags supported by this interface.
+
+The flags are a bitwise combination of 'GI.Gtk.Flags.TreeModelFlags'.
+The flags supported should not change during the lifetime
+of the /@treeModel@/.
+-}
+treeModelGetFlags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> m [Gtk.Flags.TreeModelFlags]
+    {- ^ __Returns:__ the flags supported by this interface -}
+treeModelGetFlags treeModel = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    result <- gtk_tree_model_get_flags treeModel'
+    let result' = wordToGFlags result
+    touchManagedPtr treeModel
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelGetFlagsMethodInfo
+instance (signature ~ (m [Gtk.Flags.TreeModelFlags]), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelGetFlagsMethodInfo a signature where
+    overloadedMethod _ = treeModelGetFlags
+
+#endif
+
+-- method TreeModel::get_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the uninitialized #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_get_iter" gtk_tree_model_get_iter :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Sets /@iter@/ to a valid iterator pointing to /@path@/.  If /@path@/ does
+not exist, /@iter@/ is set to an invalid iterator and 'False' is returned.
+-}
+treeModelGetIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: the 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m ((Bool, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ 'True', if /@iter@/ was set -}
+treeModelGetIter treeModel path = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_model_get_iter treeModel' iter path'
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeModel
+    touchManagedPtr path
+    return (result', iter')
+
+#if ENABLE_OVERLOADING
+data TreeModelGetIterMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelGetIterMethodInfo a signature where
+    overloadedMethod _ = treeModelGetIter
+
+#endif
+
+-- method TreeModel::get_iter_first
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the uninitialized #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_get_iter_first" gtk_tree_model_get_iter_first :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Initializes /@iter@/ with the first iterator in the tree
+(the one at the path \"0\") and returns 'True'. Returns
+'False' if the tree is empty.
+-}
+treeModelGetIterFirst ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> m ((Bool, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ 'True', if /@iter@/ was set -}
+treeModelGetIterFirst treeModel = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    result <- gtk_tree_model_get_iter_first treeModel' iter
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeModel
+    return (result', iter')
+
+#if ENABLE_OVERLOADING
+data TreeModelGetIterFirstMethodInfo
+instance (signature ~ (m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelGetIterFirstMethodInfo a signature where
+    overloadedMethod _ = treeModelGetIterFirst
+
+#endif
+
+-- method TreeModel::get_iter_from_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an uninitialized #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "path_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string representation of a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_get_iter_from_string" gtk_tree_model_get_iter_from_string :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    CString ->                              -- path_string : TBasicType TUTF8
+    IO CInt
+
+{- |
+Sets /@iter@/ to a valid iterator pointing to /@pathString@/, if it
+exists. Otherwise, /@iter@/ is left invalid and 'False' is returned.
+-}
+treeModelGetIterFromString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> T.Text
+    {- ^ /@pathString@/: a string representation of a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m ((Bool, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ 'True', if /@iter@/ was set -}
+treeModelGetIterFromString treeModel pathString = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    pathString' <- textToCString pathString
+    result <- gtk_tree_model_get_iter_from_string treeModel' iter pathString'
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeModel
+    freeMem pathString'
+    return (result', iter')
+
+#if ENABLE_OVERLOADING
+data TreeModelGetIterFromStringMethodInfo
+instance (signature ~ (T.Text -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelGetIterFromStringMethodInfo a signature where
+    overloadedMethod _ = treeModelGetIterFromString
+
+#endif
+
+-- method TreeModel::get_n_columns
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_get_n_columns" gtk_tree_model_get_n_columns :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO Int32
+
+{- |
+Returns the number of columns supported by /@treeModel@/.
+-}
+treeModelGetNColumns ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of columns -}
+treeModelGetNColumns treeModel = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    result <- gtk_tree_model_get_n_columns treeModel'
+    touchManagedPtr treeModel
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeModelGetNColumnsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelGetNColumnsMethodInfo a signature where
+    overloadedMethod _ = treeModelGetNColumns
+
+#endif
+
+-- method TreeModel::get_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_get_path" gtk_tree_model_get_path :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO (Ptr Gtk.TreePath.TreePath)
+
+{- |
+Returns a newly-created 'GI.Gtk.Structs.TreePath.TreePath'-struct referenced by /@iter@/.
+
+This path should be freed with 'GI.Gtk.Structs.TreePath.treePathFree'.
+-}
+treeModelGetPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct -}
+    -> m Gtk.TreePath.TreePath
+    {- ^ __Returns:__ a newly-created 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+treeModelGetPath treeModel iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_model_get_path treeModel' iter'
+    checkUnexpectedReturnNULL "treeModelGetPath" result
+    result' <- (wrapBoxed Gtk.TreePath.TreePath) result
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelGetPathMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Gtk.TreePath.TreePath), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelGetPathMethodInfo a signature where
+    overloadedMethod _ = treeModelGetPath
+
+#endif
+
+-- method TreeModel::get_string_from_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_get_string_from_iter" gtk_tree_model_get_string_from_iter :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CString
+
+{- |
+Generates a string representation of the iter.
+
+This string is a “:” separated list of numbers.
+For example, “4:10:0:3” would be an acceptable
+return value for this string.
+
+/Since: 2.2/
+-}
+treeModelGetStringFromIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter'-struct -}
+    -> m T.Text
+    {- ^ __Returns:__ a newly-allocated string.
+    Must be freed with 'GI.GLib.Functions.free'. -}
+treeModelGetStringFromIter treeModel iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_model_get_string_from_iter treeModel' iter'
+    checkUnexpectedReturnNULL "treeModelGetStringFromIter" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelGetStringFromIterMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m T.Text), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelGetStringFromIterMethodInfo a signature where
+    overloadedMethod _ = treeModelGetStringFromIter
+
+#endif
+
+-- method TreeModel::get_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column to lookup the value at", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an empty #GValue to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_get_value" gtk_tree_model_get_value :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Int32 ->                                -- column : TBasicType TInt
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Initializes and sets /@value@/ to that at /@column@/.
+
+When done with /@value@/, 'GI.GObject.Structs.Value.valueUnset' needs to be called
+to free any allocated memory.
+-}
+treeModelGetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct -}
+    -> Int32
+    {- ^ /@column@/: the column to lookup the value at -}
+    -> m (GValue)
+treeModelGetValue treeModel iter column = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    gtk_tree_model_get_value treeModel' iter' column value
+    value' <- (wrapBoxed GValue) value
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return value'
+
+#if ENABLE_OVERLOADING
+data TreeModelGetValueMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Int32 -> m (GValue)), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelGetValueMethodInfo a signature where
+    overloadedMethod _ = treeModelGetValue
+
+#endif
+
+-- method TreeModel::iter_children
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new #GtkTreeIter-struct to be set to the child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_iter_children" gtk_tree_model_iter_children :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- parent : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Sets /@iter@/ to point to the first child of /@parent@/.
+
+If /@parent@/ has no children, 'False' is returned and /@iter@/ is
+set to be invalid. /@parent@/ will remain a valid node after this
+function has been called.
+
+If /@parent@/ is 'Nothing' returns the first node, equivalent to
+@gtk_tree_model_get_iter_first (tree_model, iter);@
+-}
+treeModelIterChildren ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@parent@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct, or 'Nothing' -}
+    -> m ((Bool, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ 'True', if /@iter@/ has been set to the first child -}
+treeModelIterChildren treeModel parent = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrGetPtr jParent
+            return jParent'
+    result <- gtk_tree_model_iter_children treeModel' iter maybeParent
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeModel
+    whenJust parent touchManagedPtr
+    return (result', iter')
+
+#if ENABLE_OVERLOADING
+data TreeModelIterChildrenMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelIterChildrenMethodInfo a signature where
+    overloadedMethod _ = treeModelIterChildren
+
+#endif
+
+-- method TreeModel::iter_has_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct to test for children", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_iter_has_child" gtk_tree_model_iter_has_child :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Returns 'True' if /@iter@/ has children, 'False' otherwise.
+-}
+treeModelIterHasChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct to test for children -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ has children -}
+treeModelIterHasChild treeModel iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_model_iter_has_child treeModel' iter'
+    let result' = (/= 0) result
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelIterHasChildMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelIterHasChildMethodInfo a signature where
+    overloadedMethod _ = treeModelIterHasChild
+
+#endif
+
+-- method TreeModel::iter_n_children
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_iter_n_children" gtk_tree_model_iter_n_children :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO Int32
+
+{- |
+Returns the number of children that /@iter@/ has.
+
+As a special case, if /@iter@/ is 'Nothing', then the number
+of toplevel nodes is returned.
+-}
+treeModelIterNChildren ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct, or 'Nothing' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of children of /@iter@/ -}
+treeModelIterNChildren treeModel iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    maybeIter <- case iter of
+        Nothing -> return nullPtr
+        Just jIter -> do
+            jIter' <- unsafeManagedPtrGetPtr jIter
+            return jIter'
+    result <- gtk_tree_model_iter_n_children treeModel' maybeIter
+    touchManagedPtr treeModel
+    whenJust iter touchManagedPtr
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeModelIterNChildrenMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> m Int32), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelIterNChildrenMethodInfo a signature where
+    overloadedMethod _ = treeModelIterNChildren
+
+#endif
+
+-- method TreeModel::iter_next
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_iter_next" gtk_tree_model_iter_next :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Sets /@iter@/ to point to the node following it at the current level.
+
+If there is no next /@iter@/, 'False' is returned and /@iter@/ is set
+to be invalid.
+-}
+treeModelIterNext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ has been changed to the next node -}
+treeModelIterNext treeModel iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_model_iter_next treeModel' iter'
+    let result' = (/= 0) result
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelIterNextMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelIterNextMethodInfo a signature where
+    overloadedMethod _ = treeModelIterNext
+
+#endif
+
+-- method TreeModel::iter_nth_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct to set to the nth child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct to get the child from, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the desired child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_iter_nth_child" gtk_tree_model_iter_nth_child :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- parent : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Int32 ->                                -- n : TBasicType TInt
+    IO CInt
+
+{- |
+Sets /@iter@/ to be the child of /@parent@/, using the given index.
+
+The first index is 0. If /@n@/ is too big, or /@parent@/ has no children,
+/@iter@/ is set to an invalid iterator and 'False' is returned. /@parent@/
+will remain a valid node after this function has been called. As a
+special case, if /@parent@/ is 'Nothing', then the /@n@/-th root node
+is set.
+-}
+treeModelIterNthChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@parent@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct to get the child from, or 'Nothing'. -}
+    -> Int32
+    {- ^ /@n@/: the index of the desired child -}
+    -> m ((Bool, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ 'True', if /@parent@/ has an /@n@/-th child -}
+treeModelIterNthChild treeModel parent n = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrGetPtr jParent
+            return jParent'
+    result <- gtk_tree_model_iter_nth_child treeModel' iter maybeParent n
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeModel
+    whenJust parent touchManagedPtr
+    return (result', iter')
+
+#if ENABLE_OVERLOADING
+data TreeModelIterNthChildMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> Int32 -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelIterNthChildMethodInfo a signature where
+    overloadedMethod _ = treeModelIterNthChild
+
+#endif
+
+-- method TreeModel::iter_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new #GtkTreeIter-struct to set to the parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_iter_parent" gtk_tree_model_iter_parent :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- child : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Sets /@iter@/ to be the parent of /@child@/.
+
+If /@child@/ is at the toplevel, and doesn’t have a parent, then
+/@iter@/ is set to an invalid iterator and 'False' is returned.
+/@child@/ will remain a valid node after this function has been
+called.
+
+/@iter@/ will be initialized before the lookup is performed, so /@child@/
+and /@iter@/ cannot point to the same memory location.
+-}
+treeModelIterParent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@child@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct -}
+    -> m ((Bool, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ 'True', if /@iter@/ is set to the parent of /@child@/ -}
+treeModelIterParent treeModel child = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    child' <- unsafeManagedPtrGetPtr child
+    result <- gtk_tree_model_iter_parent treeModel' iter child'
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeModel
+    touchManagedPtr child
+    return (result', iter')
+
+#if ENABLE_OVERLOADING
+data TreeModelIterParentMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelIterParentMethodInfo a signature where
+    overloadedMethod _ = treeModelIterParent
+
+#endif
+
+-- method TreeModel::iter_previous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_iter_previous" gtk_tree_model_iter_previous :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Sets /@iter@/ to point to the previous node at the current level.
+
+If there is no previous /@iter@/, 'False' is returned and /@iter@/ is
+set to be invalid.
+
+/Since: 3.0/
+-}
+treeModelIterPrevious ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ has been changed to the previous node -}
+treeModelIterPrevious treeModel iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_model_iter_previous treeModel' iter'
+    let result' = (/= 0) result
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelIterPreviousMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelIterPreviousMethodInfo a signature where
+    overloadedMethod _ = treeModelIterPrevious
+
+#endif
+
+-- method TreeModel::ref_node
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_ref_node" gtk_tree_model_ref_node :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Lets the tree ref the node.
+
+This is an optional method for models to implement.
+To be more specific, models may ignore this call as it exists
+primarily for performance reasons.
+
+This function is primarily meant as a way for views to let
+caching models know when nodes are being displayed (and hence,
+whether or not to cache that node). Being displayed means a node
+is in an expanded branch, regardless of whether the node is currently
+visible in the viewport. For example, a file-system based model
+would not want to keep the entire file-hierarchy in memory,
+just the sections that are currently being displayed by
+every current view.
+
+A model should be expected to be able to get an iter independent
+of its reffed state.
+-}
+treeModelRefNode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct -}
+    -> m ()
+treeModelRefNode treeModel iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_tree_model_ref_node treeModel' iter'
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelRefNodeMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelRefNodeMethodInfo a signature where
+    overloadedMethod _ = treeModelRefNode
+
+#endif
+
+-- method TreeModel::row_changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct pointing to the changed row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkTreeIter-struct pointing to the changed row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_row_changed" gtk_tree_model_row_changed :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-changed/@ signal on /@treeModel@/.
+-}
+treeModelRowChanged ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct pointing to the changed row -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a valid 'GI.Gtk.Structs.TreeIter.TreeIter'-struct pointing to the changed row -}
+    -> m ()
+treeModelRowChanged treeModel path iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    path' <- unsafeManagedPtrGetPtr path
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_tree_model_row_changed treeModel' path' iter'
+    touchManagedPtr treeModel
+    touchManagedPtr path
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelRowChangedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelRowChangedMethodInfo a signature where
+    overloadedMethod _ = treeModelRowChanged
+
+#endif
+
+-- method TreeModel::row_deleted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct pointing to the previous location of\n    the deleted row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_row_deleted" gtk_tree_model_row_deleted :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-deleted/@ signal on /@treeModel@/.
+
+This should be called by models after a row has been removed.
+The location pointed to by /@path@/ should be the location that
+the row previously was at. It may not be a valid location anymore.
+
+Nodes that are deleted are not unreffed, this means that any
+outstanding references on the deleted node should not be released.
+-}
+treeModelRowDeleted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct pointing to the previous location of
+    the deleted row -}
+    -> m ()
+treeModelRowDeleted treeModel path = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_model_row_deleted treeModel' path'
+    touchManagedPtr treeModel
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelRowDeletedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m ()), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelRowDeletedMethodInfo a signature where
+    overloadedMethod _ = treeModelRowDeleted
+
+#endif
+
+-- method TreeModel::row_has_child_toggled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct pointing to the changed row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkTreeIter-struct pointing to the changed row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_row_has_child_toggled" gtk_tree_model_row_has_child_toggled :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-has-child-toggled/@ signal on
+/@treeModel@/. This should be called by models after the child
+state of a node changes.
+-}
+treeModelRowHasChildToggled ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct pointing to the changed row -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a valid 'GI.Gtk.Structs.TreeIter.TreeIter'-struct pointing to the changed row -}
+    -> m ()
+treeModelRowHasChildToggled treeModel path iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    path' <- unsafeManagedPtrGetPtr path
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_tree_model_row_has_child_toggled treeModel' path' iter'
+    touchManagedPtr treeModel
+    touchManagedPtr path
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelRowHasChildToggledMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelRowHasChildToggledMethodInfo a signature where
+    overloadedMethod _ = treeModelRowHasChildToggled
+
+#endif
+
+-- method TreeModel::row_inserted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct pointing to the inserted row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkTreeIter-struct pointing to the inserted row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_row_inserted" gtk_tree_model_row_inserted :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-inserted/@ signal on /@treeModel@/.
+-}
+treeModelRowInserted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct pointing to the inserted row -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a valid 'GI.Gtk.Structs.TreeIter.TreeIter'-struct pointing to the inserted row -}
+    -> m ()
+treeModelRowInserted treeModel path iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    path' <- unsafeManagedPtrGetPtr path
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_tree_model_row_inserted treeModel' path' iter'
+    touchManagedPtr treeModel
+    touchManagedPtr path
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelRowInsertedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelRowInsertedMethodInfo a signature where
+    overloadedMethod _ = treeModelRowInserted
+
+#endif
+
+-- method TreeModel::rows_reordered
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct pointing to the tree node whose children\n    have been reordered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a valid #GtkTreeIter-struct pointing to the node\n    whose children have been reordered, or %NULL if the depth\n    of @path is 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_order", argType = TCArray False (-1) 4 (TBasicType TInt), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of integers\n    mapping the current position of each child to its old\n    position before the re-ordering,\n    i.e. @new_order`[newpos] = oldpos`", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @new_order array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @new_order array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_rows_reordered_with_length" gtk_tree_model_rows_reordered_with_length :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Int32 ->                            -- new_order : TCArray False (-1) 4 (TBasicType TInt)
+    Int32 ->                                -- length : TBasicType TInt
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/rows-reordered/@ signal on /@treeModel@/.
+
+This should be called by models when their rows have been
+reordered.
+
+/Since: 3.10/
+-}
+treeModelRowsReordered ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct pointing to the tree node whose children
+    have been reordered -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@iter@/: a valid 'GI.Gtk.Structs.TreeIter.TreeIter'-struct pointing to the node
+    whose children have been reordered, or 'Nothing' if the depth
+    of /@path@/ is 0 -}
+    -> [Int32]
+    {- ^ /@newOrder@/: an array of integers
+    mapping the current position of each child to its old
+    position before the re-ordering,
+    i.e. /@newOrder@/@[newpos] = oldpos@ -}
+    -> m ()
+treeModelRowsReordered treeModel path iter newOrder = liftIO $ do
+    let length_ = fromIntegral $ length newOrder
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    path' <- unsafeManagedPtrGetPtr path
+    maybeIter <- case iter of
+        Nothing -> return nullPtr
+        Just jIter -> do
+            jIter' <- unsafeManagedPtrGetPtr jIter
+            return jIter'
+    newOrder' <- packStorableArray newOrder
+    gtk_tree_model_rows_reordered_with_length treeModel' path' maybeIter newOrder' length_
+    touchManagedPtr treeModel
+    touchManagedPtr path
+    whenJust iter touchManagedPtr
+    freeMem newOrder'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelRowsReorderedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Maybe (Gtk.TreeIter.TreeIter) -> [Int32] -> m ()), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelRowsReorderedMethodInfo a signature where
+    overloadedMethod _ = treeModelRowsReordered
+
+#endif
+
+-- method TreeModel::sort_new_with_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "child_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_sort_new_with_model" gtk_tree_model_sort_new_with_model :: 
+    Ptr TreeModel ->                        -- child_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO (Ptr TreeModel)
+
+{- |
+Creates a new 'GI.Gtk.Interfaces.TreeModel.TreeModel', with /@childModel@/ as the child model.
+-}
+treeModelSortNewWithModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@childModel@/: A 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> m TreeModel
+    {- ^ __Returns:__ A new 'GI.Gtk.Interfaces.TreeModel.TreeModel'. -}
+treeModelSortNewWithModel childModel = liftIO $ do
+    childModel' <- unsafeManagedPtrCastPtr childModel
+    result <- gtk_tree_model_sort_new_with_model childModel'
+    checkUnexpectedReturnNULL "treeModelSortNewWithModel" result
+    result' <- (wrapObject TreeModel) result
+    touchManagedPtr childModel
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelSortNewWithModelMethodInfo
+instance (signature ~ (m TreeModel), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelSortNewWithModelMethodInfo a signature where
+    overloadedMethod _ = treeModelSortNewWithModel
+
+#endif
+
+-- method TreeModel::unref_node
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_unref_node" gtk_tree_model_unref_node :: 
+    Ptr TreeModel ->                        -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Lets the tree unref the node.
+
+This is an optional method for models to implement.
+To be more specific, models may ignore this call as it exists
+primarily for performance reasons. For more information on what
+this means, see 'GI.Gtk.Interfaces.TreeModel.treeModelRefNode'.
+
+Please note that nodes that are deleted are not unreffed.
+-}
+treeModelUnrefNode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModel a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter'-struct -}
+    -> m ()
+treeModelUnrefNode treeModel iter = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_tree_model_unref_node treeModel' iter'
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelUnrefNodeMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeModel a) => O.MethodInfo TreeModelUnrefNodeMethodInfo a signature where
+    overloadedMethod _ = treeModelUnrefNode
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/TreeModel.hs-boot b/GI/Gtk/Interfaces/TreeModel.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/TreeModel.hs-boot
@@ -0,0 +1,119 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.TreeModel where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeModel = TreeModel (ManagedPtr TreeModel)
+#if ENABLE_OVERLOADING
+data TreeModelRowChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelRowDeletedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelRowHasChildToggledSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelRowInsertedSignalInfo
+#endif
+instance GObject TreeModel where
+class (GObject o, O.IsDescendantOf TreeModel o) => IsTreeModel o
+instance (GObject o, O.IsDescendantOf TreeModel o) => IsTreeModel o
+instance O.HasParentTypes TreeModel
+#if ENABLE_OVERLOADING
+data TreeModelFilterNewMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelForeachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelGetColumnTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelGetFlagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelGetIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelGetIterFirstMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelGetIterFromStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelGetNColumnsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelGetPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelGetStringFromIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelGetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelIterChildrenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelIterHasChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelIterNChildrenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelIterNextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelIterNthChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelIterParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelIterPreviousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelRefNodeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelRowChangedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelRowDeletedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelRowHasChildToggledMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelRowInsertedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelRowsReorderedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelSortNewWithModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelUnrefNodeMethodInfo
+#endif
diff --git a/GI/Gtk/Interfaces/TreeSortable.hs b/GI/Gtk/Interfaces/TreeSortable.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/TreeSortable.hs
@@ -0,0 +1,564 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Interfaces.TreeSortable.TreeSortable' is an interface to be implemented by tree models which
+support sorting. The 'GI.Gtk.Objects.TreeView.TreeView' uses the methods provided by this interface
+to sort the model.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Interfaces.TreeSortable
+    ( 
+
+-- * Exported types
+    TreeSortable(..)                        ,
+    noTreeSortable                          ,
+    IsTreeSortable                          ,
+    toTreeSortable                          ,
+
+
+ -- * Methods
+-- ** getSortColumnId #method:getSortColumnId#
+
+#if ENABLE_OVERLOADING
+    TreeSortableGetSortColumnIdMethodInfo   ,
+#endif
+    treeSortableGetSortColumnId             ,
+
+
+-- ** hasDefaultSortFunc #method:hasDefaultSortFunc#
+
+#if ENABLE_OVERLOADING
+    TreeSortableHasDefaultSortFuncMethodInfo,
+#endif
+    treeSortableHasDefaultSortFunc          ,
+
+
+-- ** setDefaultSortFunc #method:setDefaultSortFunc#
+
+#if ENABLE_OVERLOADING
+    TreeSortableSetDefaultSortFuncMethodInfo,
+#endif
+    treeSortableSetDefaultSortFunc          ,
+
+
+-- ** setSortColumnId #method:setSortColumnId#
+
+#if ENABLE_OVERLOADING
+    TreeSortableSetSortColumnIdMethodInfo   ,
+#endif
+    treeSortableSetSortColumnId             ,
+
+
+-- ** setSortFunc #method:setSortFunc#
+
+#if ENABLE_OVERLOADING
+    TreeSortableSetSortFuncMethodInfo       ,
+#endif
+    treeSortableSetSortFunc                 ,
+
+
+-- ** sortColumnChanged #method:sortColumnChanged#
+
+#if ENABLE_OVERLOADING
+    TreeSortableSortColumnChangedMethodInfo ,
+#endif
+    treeSortableSortColumnChanged           ,
+
+
+
+
+ -- * Signals
+-- ** sortColumnChanged #signal:sortColumnChanged#
+
+    C_TreeSortableSortColumnChangedCallback ,
+    TreeSortableSortColumnChangedCallback   ,
+#if ENABLE_OVERLOADING
+    TreeSortableSortColumnChangedSignalInfo ,
+#endif
+    afterTreeSortableSortColumnChanged      ,
+    genClosure_TreeSortableSortColumnChanged,
+    mk_TreeSortableSortColumnChangedCallback,
+    noTreeSortableSortColumnChangedCallback ,
+    onTreeSortableSortColumnChanged         ,
+    wrap_TreeSortableSortColumnChangedCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+
+-- interface TreeSortable 
+-- | Memory-managed wrapper type.
+newtype TreeSortable = TreeSortable (ManagedPtr TreeSortable)
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeSortable`.
+noTreeSortable :: Maybe TreeSortable
+noTreeSortable = Nothing
+
+-- signal TreeSortable::sort-column-changed
+{- |
+The ::sort-column-changed signal is emitted when the sort column
+or sort order of /@sortable@/ is changed. The signal is emitted before
+the contents of /@sortable@/ are resorted.
+-}
+type TreeSortableSortColumnChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeSortableSortColumnChangedCallback`@.
+noTreeSortableSortColumnChangedCallback :: Maybe TreeSortableSortColumnChangedCallback
+noTreeSortableSortColumnChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeSortableSortColumnChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeSortableSortColumnChangedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeSortableSortColumnChangedCallback :: C_TreeSortableSortColumnChangedCallback -> IO (FunPtr C_TreeSortableSortColumnChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeSortableSortColumnChanged :: MonadIO m => TreeSortableSortColumnChangedCallback -> m (GClosure C_TreeSortableSortColumnChangedCallback)
+genClosure_TreeSortableSortColumnChanged cb = liftIO $ do
+    let cb' = wrap_TreeSortableSortColumnChangedCallback cb
+    mk_TreeSortableSortColumnChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeSortableSortColumnChangedCallback` into a `C_TreeSortableSortColumnChangedCallback`.
+wrap_TreeSortableSortColumnChangedCallback ::
+    TreeSortableSortColumnChangedCallback ->
+    C_TreeSortableSortColumnChangedCallback
+wrap_TreeSortableSortColumnChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@sort-column-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeSortable #sortColumnChanged callback
+@
+-}
+onTreeSortableSortColumnChanged :: (IsTreeSortable a, MonadIO m) => a -> TreeSortableSortColumnChangedCallback -> m SignalHandlerId
+onTreeSortableSortColumnChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeSortableSortColumnChangedCallback cb
+    cb'' <- mk_TreeSortableSortColumnChangedCallback cb'
+    connectSignalFunPtr obj "sort-column-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@sort-column-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeSortable #sortColumnChanged callback
+@
+-}
+afterTreeSortableSortColumnChanged :: (IsTreeSortable a, MonadIO m) => a -> TreeSortableSortColumnChangedCallback -> m SignalHandlerId
+afterTreeSortableSortColumnChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeSortableSortColumnChangedCallback cb
+    cb'' <- mk_TreeSortableSortColumnChangedCallback cb'
+    connectSignalFunPtr obj "sort-column-changed" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+data TreeSortableSortColumnChangedSignalInfo
+instance SignalInfo TreeSortableSortColumnChangedSignalInfo where
+    type HaskellCallbackType TreeSortableSortColumnChangedSignalInfo = TreeSortableSortColumnChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeSortableSortColumnChangedCallback cb
+        cb'' <- mk_TreeSortableSortColumnChangedCallback cb'
+        connectSignalFunPtr obj "sort-column-changed" cb'' connectMode
+
+type instance O.SignalList TreeSortable = TreeSortableSignalList
+type TreeSortableSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("rowChanged", Gtk.TreeModel.TreeModelRowChangedSignalInfo), '("rowDeleted", Gtk.TreeModel.TreeModelRowDeletedSignalInfo), '("rowHasChildToggled", Gtk.TreeModel.TreeModelRowHasChildToggledSignalInfo), '("rowInserted", Gtk.TreeModel.TreeModelRowInsertedSignalInfo), '("sortColumnChanged", TreeSortableSortColumnChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+foreign import ccall "gtk_tree_sortable_get_type"
+    c_gtk_tree_sortable_get_type :: IO GType
+
+instance GObject TreeSortable where
+    gobjectType = c_gtk_tree_sortable_get_type
+    
+
+-- | Type class for types which can be safely cast to `TreeSortable`, for instance with `toTreeSortable`.
+class (GObject o, O.IsDescendantOf TreeSortable o) => IsTreeSortable o
+instance (GObject o, O.IsDescendantOf TreeSortable o) => IsTreeSortable o
+
+instance O.HasParentTypes TreeSortable
+type instance O.ParentTypes TreeSortable = '[Gtk.TreeModel.TreeModel, GObject.Object.Object]
+
+-- | Cast to `TreeSortable`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTreeSortable :: (MonadIO m, IsTreeSortable o) => o -> m TreeSortable
+toTreeSortable = liftIO . unsafeCastTo TreeSortable
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeSortable
+type instance O.AttributeList TreeSortable = TreeSortableAttributeList
+type TreeSortableAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeSortableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeSortableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTreeSortableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTreeSortableMethod "filterNew" o = Gtk.TreeModel.TreeModelFilterNewMethodInfo
+    ResolveTreeSortableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTreeSortableMethod "foreach" o = Gtk.TreeModel.TreeModelForeachMethodInfo
+    ResolveTreeSortableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTreeSortableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTreeSortableMethod "hasDefaultSortFunc" o = TreeSortableHasDefaultSortFuncMethodInfo
+    ResolveTreeSortableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTreeSortableMethod "iterChildren" o = Gtk.TreeModel.TreeModelIterChildrenMethodInfo
+    ResolveTreeSortableMethod "iterHasChild" o = Gtk.TreeModel.TreeModelIterHasChildMethodInfo
+    ResolveTreeSortableMethod "iterNChildren" o = Gtk.TreeModel.TreeModelIterNChildrenMethodInfo
+    ResolveTreeSortableMethod "iterNext" o = Gtk.TreeModel.TreeModelIterNextMethodInfo
+    ResolveTreeSortableMethod "iterNthChild" o = Gtk.TreeModel.TreeModelIterNthChildMethodInfo
+    ResolveTreeSortableMethod "iterParent" o = Gtk.TreeModel.TreeModelIterParentMethodInfo
+    ResolveTreeSortableMethod "iterPrevious" o = Gtk.TreeModel.TreeModelIterPreviousMethodInfo
+    ResolveTreeSortableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTreeSortableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTreeSortableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTreeSortableMethod "refNode" o = Gtk.TreeModel.TreeModelRefNodeMethodInfo
+    ResolveTreeSortableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTreeSortableMethod "rowChanged" o = Gtk.TreeModel.TreeModelRowChangedMethodInfo
+    ResolveTreeSortableMethod "rowDeleted" o = Gtk.TreeModel.TreeModelRowDeletedMethodInfo
+    ResolveTreeSortableMethod "rowHasChildToggled" o = Gtk.TreeModel.TreeModelRowHasChildToggledMethodInfo
+    ResolveTreeSortableMethod "rowInserted" o = Gtk.TreeModel.TreeModelRowInsertedMethodInfo
+    ResolveTreeSortableMethod "rowsReordered" o = Gtk.TreeModel.TreeModelRowsReorderedMethodInfo
+    ResolveTreeSortableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTreeSortableMethod "sortColumnChanged" o = TreeSortableSortColumnChangedMethodInfo
+    ResolveTreeSortableMethod "sortNewWithModel" o = Gtk.TreeModel.TreeModelSortNewWithModelMethodInfo
+    ResolveTreeSortableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTreeSortableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTreeSortableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTreeSortableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTreeSortableMethod "unrefNode" o = Gtk.TreeModel.TreeModelUnrefNodeMethodInfo
+    ResolveTreeSortableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTreeSortableMethod "getColumnType" o = Gtk.TreeModel.TreeModelGetColumnTypeMethodInfo
+    ResolveTreeSortableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTreeSortableMethod "getFlags" o = Gtk.TreeModel.TreeModelGetFlagsMethodInfo
+    ResolveTreeSortableMethod "getIter" o = Gtk.TreeModel.TreeModelGetIterMethodInfo
+    ResolveTreeSortableMethod "getIterFirst" o = Gtk.TreeModel.TreeModelGetIterFirstMethodInfo
+    ResolveTreeSortableMethod "getIterFromString" o = Gtk.TreeModel.TreeModelGetIterFromStringMethodInfo
+    ResolveTreeSortableMethod "getNColumns" o = Gtk.TreeModel.TreeModelGetNColumnsMethodInfo
+    ResolveTreeSortableMethod "getPath" o = Gtk.TreeModel.TreeModelGetPathMethodInfo
+    ResolveTreeSortableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTreeSortableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTreeSortableMethod "getSortColumnId" o = TreeSortableGetSortColumnIdMethodInfo
+    ResolveTreeSortableMethod "getStringFromIter" o = Gtk.TreeModel.TreeModelGetStringFromIterMethodInfo
+    ResolveTreeSortableMethod "getValue" o = Gtk.TreeModel.TreeModelGetValueMethodInfo
+    ResolveTreeSortableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTreeSortableMethod "setDefaultSortFunc" o = TreeSortableSetDefaultSortFuncMethodInfo
+    ResolveTreeSortableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTreeSortableMethod "setSortColumnId" o = TreeSortableSetSortColumnIdMethodInfo
+    ResolveTreeSortableMethod "setSortFunc" o = TreeSortableSetSortFuncMethodInfo
+    ResolveTreeSortableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeSortableMethod t TreeSortable, O.MethodInfo info TreeSortable p) => OL.IsLabel t (TreeSortable -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- method TreeSortable::get_sort_column_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sortable", argType = TInterface (Name {namespace = "Gtk", name = "TreeSortable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSortable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_column_id", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The sort column id to be filled in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "order", argType = TInterface (Name {namespace = "Gtk", name = "SortType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkSortType to be filled in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_sortable_get_sort_column_id" gtk_tree_sortable_get_sort_column_id :: 
+    Ptr TreeSortable ->                     -- sortable : TInterface (Name {namespace = "Gtk", name = "TreeSortable"})
+    Ptr Int32 ->                            -- sort_column_id : TBasicType TInt
+    Ptr CUInt ->                            -- order : TInterface (Name {namespace = "Gtk", name = "SortType"})
+    IO CInt
+
+{- |
+Fills in /@sortColumnId@/ and /@order@/ with the current sort column and the
+order. It returns 'True' unless the /@sortColumnId@/ is
+'GI.Gtk.Constants.TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID' or
+'GI.Gtk.Constants.TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID'.
+-}
+treeSortableGetSortColumnId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSortable a) =>
+    a
+    {- ^ /@sortable@/: A 'GI.Gtk.Interfaces.TreeSortable.TreeSortable' -}
+    -> m ((Bool, Int32, Gtk.Enums.SortType))
+    {- ^ __Returns:__ 'True' if the sort column is not one of the special sort
+  column ids. -}
+treeSortableGetSortColumnId sortable = liftIO $ do
+    sortable' <- unsafeManagedPtrCastPtr sortable
+    sortColumnId <- allocMem :: IO (Ptr Int32)
+    order <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_tree_sortable_get_sort_column_id sortable' sortColumnId order
+    let result' = (/= 0) result
+    sortColumnId' <- peek sortColumnId
+    order' <- peek order
+    let order'' = (toEnum . fromIntegral) order'
+    touchManagedPtr sortable
+    freeMem sortColumnId
+    freeMem order
+    return (result', sortColumnId', order'')
+
+#if ENABLE_OVERLOADING
+data TreeSortableGetSortColumnIdMethodInfo
+instance (signature ~ (m ((Bool, Int32, Gtk.Enums.SortType))), MonadIO m, IsTreeSortable a) => O.MethodInfo TreeSortableGetSortColumnIdMethodInfo a signature where
+    overloadedMethod _ = treeSortableGetSortColumnId
+
+#endif
+
+-- method TreeSortable::has_default_sort_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sortable", argType = TInterface (Name {namespace = "Gtk", name = "TreeSortable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSortable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_sortable_has_default_sort_func" gtk_tree_sortable_has_default_sort_func :: 
+    Ptr TreeSortable ->                     -- sortable : TInterface (Name {namespace = "Gtk", name = "TreeSortable"})
+    IO CInt
+
+{- |
+Returns 'True' if the model has a default sort function. This is used
+primarily by GtkTreeViewColumns in order to determine if a model can
+go back to the default state, or not.
+-}
+treeSortableHasDefaultSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSortable a) =>
+    a
+    {- ^ /@sortable@/: A 'GI.Gtk.Interfaces.TreeSortable.TreeSortable' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if the model has a default sort function -}
+treeSortableHasDefaultSortFunc sortable = liftIO $ do
+    sortable' <- unsafeManagedPtrCastPtr sortable
+    result <- gtk_tree_sortable_has_default_sort_func sortable'
+    let result' = (/= 0) result
+    touchManagedPtr sortable
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeSortableHasDefaultSortFuncMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeSortable a) => O.MethodInfo TreeSortableHasDefaultSortFuncMethodInfo a signature where
+    overloadedMethod _ = treeSortableHasDefaultSortFunc
+
+#endif
+
+-- method TreeSortable::set_default_sort_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sortable", argType = TInterface (Name {namespace = "Gtk", name = "TreeSortable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSortable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_func", argType = TInterface (Name {namespace = "Gtk", name = "TreeIterCompareFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The comparison function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data to pass to @sort_func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Destroy notifier of @user_data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_sortable_set_default_sort_func" gtk_tree_sortable_set_default_sort_func :: 
+    Ptr TreeSortable ->                     -- sortable : TInterface (Name {namespace = "Gtk", name = "TreeSortable"})
+    FunPtr Gtk.Callbacks.C_TreeIterCompareFunc -> -- sort_func : TInterface (Name {namespace = "Gtk", name = "TreeIterCompareFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the default comparison function used when sorting to be /@sortFunc@/.
+If the current sort column id of /@sortable@/ is
+'GI.Gtk.Constants.TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID', then the model will sort using
+this function.
+
+If /@sortFunc@/ is 'Nothing', then there will be no default comparison function.
+This means that once the model  has been sorted, it can’t go back to the
+default state. In this case, when the current sort column id of /@sortable@/
+is 'GI.Gtk.Constants.TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID', the model will be unsorted.
+-}
+treeSortableSetDefaultSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSortable a) =>
+    a
+    {- ^ /@sortable@/: A 'GI.Gtk.Interfaces.TreeSortable.TreeSortable' -}
+    -> Gtk.Callbacks.TreeIterCompareFunc
+    {- ^ /@sortFunc@/: The comparison function -}
+    -> m ()
+treeSortableSetDefaultSortFunc sortable sortFunc = liftIO $ do
+    sortable' <- unsafeManagedPtrCastPtr sortable
+    sortFunc' <- Gtk.Callbacks.mk_TreeIterCompareFunc (Gtk.Callbacks.wrap_TreeIterCompareFunc Nothing (Gtk.Callbacks.drop_closures_TreeIterCompareFunc sortFunc))
+    let userData = castFunPtrToPtr sortFunc'
+    let destroy = safeFreeFunPtrPtr
+    gtk_tree_sortable_set_default_sort_func sortable' sortFunc' userData destroy
+    touchManagedPtr sortable
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSortableSetDefaultSortFuncMethodInfo
+instance (signature ~ (Gtk.Callbacks.TreeIterCompareFunc -> m ()), MonadIO m, IsTreeSortable a) => O.MethodInfo TreeSortableSetDefaultSortFuncMethodInfo a signature where
+    overloadedMethod _ = treeSortableSetDefaultSortFunc
+
+#endif
+
+-- method TreeSortable::set_sort_column_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sortable", argType = TInterface (Name {namespace = "Gtk", name = "TreeSortable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSortable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_column_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sort column id to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "order", argType = TInterface (Name {namespace = "Gtk", name = "SortType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The sort order of the column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_sortable_set_sort_column_id" gtk_tree_sortable_set_sort_column_id :: 
+    Ptr TreeSortable ->                     -- sortable : TInterface (Name {namespace = "Gtk", name = "TreeSortable"})
+    Int32 ->                                -- sort_column_id : TBasicType TInt
+    CUInt ->                                -- order : TInterface (Name {namespace = "Gtk", name = "SortType"})
+    IO ()
+
+{- |
+Sets the current sort column to be /@sortColumnId@/. The /@sortable@/ will
+resort itself to reflect this change, after emitting a
+'GI.Gtk.Interfaces.TreeSortable.TreeSortable'::@/sort-column-changed/@ signal. /@sortColumnId@/ may either be
+a regular column id, or one of the following special values:
+
+* 'GI.Gtk.Constants.TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID': the default sort function
+will be used, if it is set
+* 'GI.Gtk.Constants.TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID': no sorting will occur
+-}
+treeSortableSetSortColumnId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSortable a) =>
+    a
+    {- ^ /@sortable@/: A 'GI.Gtk.Interfaces.TreeSortable.TreeSortable' -}
+    -> Int32
+    {- ^ /@sortColumnId@/: the sort column id to set -}
+    -> Gtk.Enums.SortType
+    {- ^ /@order@/: The sort order of the column -}
+    -> m ()
+treeSortableSetSortColumnId sortable sortColumnId order = liftIO $ do
+    sortable' <- unsafeManagedPtrCastPtr sortable
+    let order' = (fromIntegral . fromEnum) order
+    gtk_tree_sortable_set_sort_column_id sortable' sortColumnId order'
+    touchManagedPtr sortable
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSortableSetSortColumnIdMethodInfo
+instance (signature ~ (Int32 -> Gtk.Enums.SortType -> m ()), MonadIO m, IsTreeSortable a) => O.MethodInfo TreeSortableSetSortColumnIdMethodInfo a signature where
+    overloadedMethod _ = treeSortableSetSortColumnId
+
+#endif
+
+-- method TreeSortable::set_sort_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sortable", argType = TInterface (Name {namespace = "Gtk", name = "TreeSortable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSortable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_column_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sort column id to set the function for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_func", argType = TInterface (Name {namespace = "Gtk", name = "TreeIterCompareFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The comparison function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data to pass to @sort_func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Destroy notifier of @user_data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_sortable_set_sort_func" gtk_tree_sortable_set_sort_func :: 
+    Ptr TreeSortable ->                     -- sortable : TInterface (Name {namespace = "Gtk", name = "TreeSortable"})
+    Int32 ->                                -- sort_column_id : TBasicType TInt
+    FunPtr Gtk.Callbacks.C_TreeIterCompareFunc -> -- sort_func : TInterface (Name {namespace = "Gtk", name = "TreeIterCompareFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the comparison function used when sorting to be /@sortFunc@/. If the
+current sort column id of /@sortable@/ is the same as /@sortColumnId@/, then
+the model will sort using this function.
+-}
+treeSortableSetSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSortable a) =>
+    a
+    {- ^ /@sortable@/: A 'GI.Gtk.Interfaces.TreeSortable.TreeSortable' -}
+    -> Int32
+    {- ^ /@sortColumnId@/: the sort column id to set the function for -}
+    -> Gtk.Callbacks.TreeIterCompareFunc
+    {- ^ /@sortFunc@/: The comparison function -}
+    -> m ()
+treeSortableSetSortFunc sortable sortColumnId sortFunc = liftIO $ do
+    sortable' <- unsafeManagedPtrCastPtr sortable
+    sortFunc' <- Gtk.Callbacks.mk_TreeIterCompareFunc (Gtk.Callbacks.wrap_TreeIterCompareFunc Nothing (Gtk.Callbacks.drop_closures_TreeIterCompareFunc sortFunc))
+    let userData = castFunPtrToPtr sortFunc'
+    let destroy = safeFreeFunPtrPtr
+    gtk_tree_sortable_set_sort_func sortable' sortColumnId sortFunc' userData destroy
+    touchManagedPtr sortable
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSortableSetSortFuncMethodInfo
+instance (signature ~ (Int32 -> Gtk.Callbacks.TreeIterCompareFunc -> m ()), MonadIO m, IsTreeSortable a) => O.MethodInfo TreeSortableSetSortFuncMethodInfo a signature where
+    overloadedMethod _ = treeSortableSetSortFunc
+
+#endif
+
+-- method TreeSortable::sort_column_changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sortable", argType = TInterface (Name {namespace = "Gtk", name = "TreeSortable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSortable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_sortable_sort_column_changed" gtk_tree_sortable_sort_column_changed :: 
+    Ptr TreeSortable ->                     -- sortable : TInterface (Name {namespace = "Gtk", name = "TreeSortable"})
+    IO ()
+
+{- |
+Emits a 'GI.Gtk.Interfaces.TreeSortable.TreeSortable'::@/sort-column-changed/@ signal on /@sortable@/.
+-}
+treeSortableSortColumnChanged ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSortable a) =>
+    a
+    {- ^ /@sortable@/: A 'GI.Gtk.Interfaces.TreeSortable.TreeSortable' -}
+    -> m ()
+treeSortableSortColumnChanged sortable = liftIO $ do
+    sortable' <- unsafeManagedPtrCastPtr sortable
+    gtk_tree_sortable_sort_column_changed sortable'
+    touchManagedPtr sortable
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSortableSortColumnChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeSortable a) => O.MethodInfo TreeSortableSortColumnChangedMethodInfo a signature where
+    overloadedMethod _ = treeSortableSortColumnChanged
+
+#endif
+
+
diff --git a/GI/Gtk/Interfaces/TreeSortable.hs-boot b/GI/Gtk/Interfaces/TreeSortable.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Interfaces/TreeSortable.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Interfaces.TreeSortable where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeSortable = TreeSortable (ManagedPtr TreeSortable)
+#if ENABLE_OVERLOADING
+data TreeSortableSortColumnChangedSignalInfo
+#endif
+instance GObject TreeSortable where
+class (GObject o, O.IsDescendantOf TreeSortable o) => IsTreeSortable o
+instance (GObject o, O.IsDescendantOf TreeSortable o) => IsTreeSortable o
+instance O.HasParentTypes TreeSortable
+#if ENABLE_OVERLOADING
+data TreeSortableGetSortColumnIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSortableHasDefaultSortFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSortableSetDefaultSortFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSortableSetSortColumnIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSortableSetSortFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSortableSortColumnChangedMethodInfo
+#endif
diff --git a/GI/Gtk/Objects.hs b/GI/Gtk/Objects.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects.hs
@@ -0,0 +1,575 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects
+    (     module GI.Gtk.Objects.AboutDialog       ,
+    module GI.Gtk.Objects.AccelGroup        ,
+    module GI.Gtk.Objects.AccelLabel        ,
+    module GI.Gtk.Objects.AccelMap          ,
+    module GI.Gtk.Objects.Accessible        ,
+    module GI.Gtk.Objects.Action            ,
+    module GI.Gtk.Objects.ActionBar         ,
+    module GI.Gtk.Objects.ActionGroup       ,
+    module GI.Gtk.Objects.Adjustment        ,
+    module GI.Gtk.Objects.Alignment         ,
+    module GI.Gtk.Objects.AppChooserButton  ,
+    module GI.Gtk.Objects.AppChooserDialog  ,
+    module GI.Gtk.Objects.AppChooserWidget  ,
+    module GI.Gtk.Objects.Application       ,
+    module GI.Gtk.Objects.ApplicationWindow ,
+    module GI.Gtk.Objects.Arrow             ,
+    module GI.Gtk.Objects.ArrowAccessible   ,
+    module GI.Gtk.Objects.AspectFrame       ,
+    module GI.Gtk.Objects.Assistant         ,
+    module GI.Gtk.Objects.Bin               ,
+    module GI.Gtk.Objects.BooleanCellAccessible,
+    module GI.Gtk.Objects.Box               ,
+    module GI.Gtk.Objects.Builder           ,
+    module GI.Gtk.Objects.Button            ,
+    module GI.Gtk.Objects.ButtonAccessible  ,
+    module GI.Gtk.Objects.ButtonBox         ,
+    module GI.Gtk.Objects.Calendar          ,
+    module GI.Gtk.Objects.CellAccessible    ,
+    module GI.Gtk.Objects.CellArea          ,
+    module GI.Gtk.Objects.CellAreaBox       ,
+    module GI.Gtk.Objects.CellAreaContext   ,
+    module GI.Gtk.Objects.CellRenderer      ,
+    module GI.Gtk.Objects.CellRendererAccel ,
+    module GI.Gtk.Objects.CellRendererCombo ,
+    module GI.Gtk.Objects.CellRendererPixbuf,
+    module GI.Gtk.Objects.CellRendererProgress,
+    module GI.Gtk.Objects.CellRendererSpin  ,
+    module GI.Gtk.Objects.CellRendererSpinner,
+    module GI.Gtk.Objects.CellRendererText  ,
+    module GI.Gtk.Objects.CellRendererToggle,
+    module GI.Gtk.Objects.CellView          ,
+    module GI.Gtk.Objects.CheckButton       ,
+    module GI.Gtk.Objects.CheckMenuItem     ,
+    module GI.Gtk.Objects.CheckMenuItemAccessible,
+    module GI.Gtk.Objects.Clipboard         ,
+    module GI.Gtk.Objects.ColorButton       ,
+    module GI.Gtk.Objects.ColorChooserDialog,
+    module GI.Gtk.Objects.ColorChooserWidget,
+    module GI.Gtk.Objects.ColorSelection    ,
+    module GI.Gtk.Objects.ColorSelectionDialog,
+    module GI.Gtk.Objects.ComboBox          ,
+    module GI.Gtk.Objects.ComboBoxAccessible,
+    module GI.Gtk.Objects.ComboBoxText      ,
+    module GI.Gtk.Objects.Container         ,
+    module GI.Gtk.Objects.ContainerAccessible,
+    module GI.Gtk.Objects.ContainerCellAccessible,
+    module GI.Gtk.Objects.CssProvider       ,
+    module GI.Gtk.Objects.Dialog            ,
+    module GI.Gtk.Objects.DrawingArea       ,
+    module GI.Gtk.Objects.Entry             ,
+    module GI.Gtk.Objects.EntryAccessible   ,
+    module GI.Gtk.Objects.EntryBuffer       ,
+    module GI.Gtk.Objects.EntryCompletion   ,
+    module GI.Gtk.Objects.EntryIconAccessible,
+    module GI.Gtk.Objects.EventBox          ,
+    module GI.Gtk.Objects.EventController   ,
+    module GI.Gtk.Objects.EventControllerKey,
+    module GI.Gtk.Objects.EventControllerMotion,
+    module GI.Gtk.Objects.EventControllerScroll,
+    module GI.Gtk.Objects.Expander          ,
+    module GI.Gtk.Objects.ExpanderAccessible,
+    module GI.Gtk.Objects.FileChooserButton ,
+    module GI.Gtk.Objects.FileChooserDialog ,
+    module GI.Gtk.Objects.FileChooserNative ,
+    module GI.Gtk.Objects.FileChooserWidget ,
+    module GI.Gtk.Objects.FileFilter        ,
+    module GI.Gtk.Objects.Fixed             ,
+    module GI.Gtk.Objects.FlowBox           ,
+    module GI.Gtk.Objects.FlowBoxAccessible ,
+    module GI.Gtk.Objects.FlowBoxChild      ,
+    module GI.Gtk.Objects.FlowBoxChildAccessible,
+    module GI.Gtk.Objects.FontButton        ,
+    module GI.Gtk.Objects.FontChooserDialog ,
+    module GI.Gtk.Objects.FontChooserWidget ,
+    module GI.Gtk.Objects.FontSelection     ,
+    module GI.Gtk.Objects.FontSelectionDialog,
+    module GI.Gtk.Objects.Frame             ,
+    module GI.Gtk.Objects.FrameAccessible   ,
+    module GI.Gtk.Objects.GLArea            ,
+    module GI.Gtk.Objects.Gesture           ,
+    module GI.Gtk.Objects.GestureDrag       ,
+    module GI.Gtk.Objects.GestureLongPress  ,
+    module GI.Gtk.Objects.GestureMultiPress ,
+    module GI.Gtk.Objects.GesturePan        ,
+    module GI.Gtk.Objects.GestureRotate     ,
+    module GI.Gtk.Objects.GestureSingle     ,
+    module GI.Gtk.Objects.GestureStylus     ,
+    module GI.Gtk.Objects.GestureSwipe      ,
+    module GI.Gtk.Objects.GestureZoom       ,
+    module GI.Gtk.Objects.Grid              ,
+    module GI.Gtk.Objects.HBox              ,
+    module GI.Gtk.Objects.HButtonBox        ,
+    module GI.Gtk.Objects.HPaned            ,
+    module GI.Gtk.Objects.HSV               ,
+    module GI.Gtk.Objects.HScale            ,
+    module GI.Gtk.Objects.HScrollbar        ,
+    module GI.Gtk.Objects.HSeparator        ,
+    module GI.Gtk.Objects.HandleBox         ,
+    module GI.Gtk.Objects.HeaderBar         ,
+    module GI.Gtk.Objects.IMContext         ,
+    module GI.Gtk.Objects.IMContextSimple   ,
+    module GI.Gtk.Objects.IMMulticontext    ,
+    module GI.Gtk.Objects.IconFactory       ,
+    module GI.Gtk.Objects.IconInfo          ,
+    module GI.Gtk.Objects.IconTheme         ,
+    module GI.Gtk.Objects.IconView          ,
+    module GI.Gtk.Objects.IconViewAccessible,
+    module GI.Gtk.Objects.Image             ,
+    module GI.Gtk.Objects.ImageAccessible   ,
+    module GI.Gtk.Objects.ImageCellAccessible,
+    module GI.Gtk.Objects.ImageMenuItem     ,
+    module GI.Gtk.Objects.InfoBar           ,
+    module GI.Gtk.Objects.Invisible         ,
+    module GI.Gtk.Objects.Label             ,
+    module GI.Gtk.Objects.LabelAccessible   ,
+    module GI.Gtk.Objects.Layout            ,
+    module GI.Gtk.Objects.LevelBar          ,
+    module GI.Gtk.Objects.LevelBarAccessible,
+    module GI.Gtk.Objects.LinkButton        ,
+    module GI.Gtk.Objects.LinkButtonAccessible,
+    module GI.Gtk.Objects.ListBox           ,
+    module GI.Gtk.Objects.ListBoxAccessible ,
+    module GI.Gtk.Objects.ListBoxRow        ,
+    module GI.Gtk.Objects.ListBoxRowAccessible,
+    module GI.Gtk.Objects.ListStore         ,
+    module GI.Gtk.Objects.LockButton        ,
+    module GI.Gtk.Objects.LockButtonAccessible,
+    module GI.Gtk.Objects.Menu              ,
+    module GI.Gtk.Objects.MenuAccessible    ,
+    module GI.Gtk.Objects.MenuBar           ,
+    module GI.Gtk.Objects.MenuButton        ,
+    module GI.Gtk.Objects.MenuButtonAccessible,
+    module GI.Gtk.Objects.MenuItem          ,
+    module GI.Gtk.Objects.MenuItemAccessible,
+    module GI.Gtk.Objects.MenuShell         ,
+    module GI.Gtk.Objects.MenuShellAccessible,
+    module GI.Gtk.Objects.MenuToolButton    ,
+    module GI.Gtk.Objects.MessageDialog     ,
+    module GI.Gtk.Objects.Misc              ,
+    module GI.Gtk.Objects.ModelButton       ,
+    module GI.Gtk.Objects.MountOperation    ,
+    module GI.Gtk.Objects.NativeDialog      ,
+    module GI.Gtk.Objects.Notebook          ,
+    module GI.Gtk.Objects.NotebookAccessible,
+    module GI.Gtk.Objects.NotebookPageAccessible,
+    module GI.Gtk.Objects.NumerableIcon     ,
+    module GI.Gtk.Objects.OffscreenWindow   ,
+    module GI.Gtk.Objects.Overlay           ,
+    module GI.Gtk.Objects.PadController     ,
+    module GI.Gtk.Objects.PageSetup         ,
+    module GI.Gtk.Objects.Paned             ,
+    module GI.Gtk.Objects.PanedAccessible   ,
+    module GI.Gtk.Objects.PlacesSidebar     ,
+    module GI.Gtk.Objects.Plug              ,
+    module GI.Gtk.Objects.Popover           ,
+    module GI.Gtk.Objects.PopoverAccessible ,
+    module GI.Gtk.Objects.PopoverMenu       ,
+    module GI.Gtk.Objects.PrintContext      ,
+    module GI.Gtk.Objects.PrintOperation    ,
+    module GI.Gtk.Objects.PrintSettings     ,
+    module GI.Gtk.Objects.ProgressBar       ,
+    module GI.Gtk.Objects.ProgressBarAccessible,
+    module GI.Gtk.Objects.RadioAction       ,
+    module GI.Gtk.Objects.RadioButton       ,
+    module GI.Gtk.Objects.RadioButtonAccessible,
+    module GI.Gtk.Objects.RadioMenuItem     ,
+    module GI.Gtk.Objects.RadioMenuItemAccessible,
+    module GI.Gtk.Objects.RadioToolButton   ,
+    module GI.Gtk.Objects.Range             ,
+    module GI.Gtk.Objects.RangeAccessible   ,
+    module GI.Gtk.Objects.RcStyle           ,
+    module GI.Gtk.Objects.RecentAction      ,
+    module GI.Gtk.Objects.RecentChooserDialog,
+    module GI.Gtk.Objects.RecentChooserMenu ,
+    module GI.Gtk.Objects.RecentChooserWidget,
+    module GI.Gtk.Objects.RecentFilter      ,
+    module GI.Gtk.Objects.RecentManager     ,
+    module GI.Gtk.Objects.RendererCellAccessible,
+    module GI.Gtk.Objects.Revealer          ,
+    module GI.Gtk.Objects.Scale             ,
+    module GI.Gtk.Objects.ScaleAccessible   ,
+    module GI.Gtk.Objects.ScaleButton       ,
+    module GI.Gtk.Objects.ScaleButtonAccessible,
+    module GI.Gtk.Objects.Scrollbar         ,
+    module GI.Gtk.Objects.ScrolledWindow    ,
+    module GI.Gtk.Objects.ScrolledWindowAccessible,
+    module GI.Gtk.Objects.SearchBar         ,
+    module GI.Gtk.Objects.SearchEntry       ,
+    module GI.Gtk.Objects.Separator         ,
+    module GI.Gtk.Objects.SeparatorMenuItem ,
+    module GI.Gtk.Objects.SeparatorToolItem ,
+    module GI.Gtk.Objects.Settings          ,
+    module GI.Gtk.Objects.ShortcutLabel     ,
+    module GI.Gtk.Objects.ShortcutsGroup    ,
+    module GI.Gtk.Objects.ShortcutsSection  ,
+    module GI.Gtk.Objects.ShortcutsShortcut ,
+    module GI.Gtk.Objects.ShortcutsWindow   ,
+    module GI.Gtk.Objects.SizeGroup         ,
+    module GI.Gtk.Objects.Socket            ,
+    module GI.Gtk.Objects.SpinButton        ,
+    module GI.Gtk.Objects.SpinButtonAccessible,
+    module GI.Gtk.Objects.Spinner           ,
+    module GI.Gtk.Objects.SpinnerAccessible ,
+    module GI.Gtk.Objects.Stack             ,
+    module GI.Gtk.Objects.StackAccessible   ,
+    module GI.Gtk.Objects.StackSidebar      ,
+    module GI.Gtk.Objects.StackSwitcher     ,
+    module GI.Gtk.Objects.StatusIcon        ,
+    module GI.Gtk.Objects.Statusbar         ,
+    module GI.Gtk.Objects.StatusbarAccessible,
+    module GI.Gtk.Objects.Style             ,
+    module GI.Gtk.Objects.StyleContext      ,
+    module GI.Gtk.Objects.StyleProperties   ,
+    module GI.Gtk.Objects.Switch            ,
+    module GI.Gtk.Objects.SwitchAccessible  ,
+    module GI.Gtk.Objects.Table             ,
+    module GI.Gtk.Objects.TearoffMenuItem   ,
+    module GI.Gtk.Objects.TextBuffer        ,
+    module GI.Gtk.Objects.TextCellAccessible,
+    module GI.Gtk.Objects.TextChildAnchor   ,
+    module GI.Gtk.Objects.TextMark          ,
+    module GI.Gtk.Objects.TextTag           ,
+    module GI.Gtk.Objects.TextTagTable      ,
+    module GI.Gtk.Objects.TextView          ,
+    module GI.Gtk.Objects.TextViewAccessible,
+    module GI.Gtk.Objects.ThemingEngine     ,
+    module GI.Gtk.Objects.ToggleAction      ,
+    module GI.Gtk.Objects.ToggleButton      ,
+    module GI.Gtk.Objects.ToggleButtonAccessible,
+    module GI.Gtk.Objects.ToggleToolButton  ,
+    module GI.Gtk.Objects.ToolButton        ,
+    module GI.Gtk.Objects.ToolItem          ,
+    module GI.Gtk.Objects.ToolItemGroup     ,
+    module GI.Gtk.Objects.ToolPalette       ,
+    module GI.Gtk.Objects.Toolbar           ,
+    module GI.Gtk.Objects.Tooltip           ,
+    module GI.Gtk.Objects.ToplevelAccessible,
+    module GI.Gtk.Objects.TreeModelFilter   ,
+    module GI.Gtk.Objects.TreeModelSort     ,
+    module GI.Gtk.Objects.TreeSelection     ,
+    module GI.Gtk.Objects.TreeStore         ,
+    module GI.Gtk.Objects.TreeView          ,
+    module GI.Gtk.Objects.TreeViewAccessible,
+    module GI.Gtk.Objects.TreeViewColumn    ,
+    module GI.Gtk.Objects.UIManager         ,
+    module GI.Gtk.Objects.VBox              ,
+    module GI.Gtk.Objects.VButtonBox        ,
+    module GI.Gtk.Objects.VPaned            ,
+    module GI.Gtk.Objects.VScale            ,
+    module GI.Gtk.Objects.VScrollbar        ,
+    module GI.Gtk.Objects.VSeparator        ,
+    module GI.Gtk.Objects.Viewport          ,
+    module GI.Gtk.Objects.VolumeButton      ,
+    module GI.Gtk.Objects.Widget            ,
+    module GI.Gtk.Objects.WidgetAccessible  ,
+    module GI.Gtk.Objects.Window            ,
+    module GI.Gtk.Objects.WindowAccessible  ,
+    module GI.Gtk.Objects.WindowGroup       ,
+
+
+    ) where
+
+import GI.Gtk.Objects.AboutDialog
+import GI.Gtk.Objects.AccelGroup
+import GI.Gtk.Objects.AccelLabel
+import GI.Gtk.Objects.AccelMap
+import GI.Gtk.Objects.Accessible
+import GI.Gtk.Objects.Action
+import GI.Gtk.Objects.ActionBar
+import GI.Gtk.Objects.ActionGroup
+import GI.Gtk.Objects.Adjustment
+import GI.Gtk.Objects.Alignment
+import GI.Gtk.Objects.AppChooserButton
+import GI.Gtk.Objects.AppChooserDialog
+import GI.Gtk.Objects.AppChooserWidget
+import GI.Gtk.Objects.Application
+import GI.Gtk.Objects.ApplicationWindow
+import GI.Gtk.Objects.Arrow
+import GI.Gtk.Objects.ArrowAccessible
+import GI.Gtk.Objects.AspectFrame
+import GI.Gtk.Objects.Assistant
+import GI.Gtk.Objects.Bin
+import GI.Gtk.Objects.BooleanCellAccessible
+import GI.Gtk.Objects.Box
+import GI.Gtk.Objects.Builder
+import GI.Gtk.Objects.Button
+import GI.Gtk.Objects.ButtonAccessible
+import GI.Gtk.Objects.ButtonBox
+import GI.Gtk.Objects.Calendar
+import GI.Gtk.Objects.CellAccessible
+import GI.Gtk.Objects.CellArea
+import GI.Gtk.Objects.CellAreaBox
+import GI.Gtk.Objects.CellAreaContext
+import GI.Gtk.Objects.CellRenderer
+import GI.Gtk.Objects.CellRendererAccel
+import GI.Gtk.Objects.CellRendererCombo
+import GI.Gtk.Objects.CellRendererPixbuf
+import GI.Gtk.Objects.CellRendererProgress
+import GI.Gtk.Objects.CellRendererSpin
+import GI.Gtk.Objects.CellRendererSpinner
+import GI.Gtk.Objects.CellRendererText
+import GI.Gtk.Objects.CellRendererToggle
+import GI.Gtk.Objects.CellView
+import GI.Gtk.Objects.CheckButton
+import GI.Gtk.Objects.CheckMenuItem
+import GI.Gtk.Objects.CheckMenuItemAccessible
+import GI.Gtk.Objects.Clipboard
+import GI.Gtk.Objects.ColorButton
+import GI.Gtk.Objects.ColorChooserDialog
+import GI.Gtk.Objects.ColorChooserWidget
+import GI.Gtk.Objects.ColorSelection
+import GI.Gtk.Objects.ColorSelectionDialog
+import GI.Gtk.Objects.ComboBox
+import GI.Gtk.Objects.ComboBoxAccessible
+import GI.Gtk.Objects.ComboBoxText
+import GI.Gtk.Objects.Container
+import GI.Gtk.Objects.ContainerAccessible
+import GI.Gtk.Objects.ContainerCellAccessible
+import GI.Gtk.Objects.CssProvider
+import GI.Gtk.Objects.Dialog
+import GI.Gtk.Objects.DrawingArea
+import GI.Gtk.Objects.Entry
+import GI.Gtk.Objects.EntryAccessible
+import GI.Gtk.Objects.EntryBuffer
+import GI.Gtk.Objects.EntryCompletion
+import GI.Gtk.Objects.EntryIconAccessible
+import GI.Gtk.Objects.EventBox
+import GI.Gtk.Objects.EventController
+import GI.Gtk.Objects.EventControllerKey
+import GI.Gtk.Objects.EventControllerMotion
+import GI.Gtk.Objects.EventControllerScroll
+import GI.Gtk.Objects.Expander
+import GI.Gtk.Objects.ExpanderAccessible
+import GI.Gtk.Objects.FileChooserButton
+import GI.Gtk.Objects.FileChooserDialog
+import GI.Gtk.Objects.FileChooserNative
+import GI.Gtk.Objects.FileChooserWidget
+import GI.Gtk.Objects.FileFilter
+import GI.Gtk.Objects.Fixed
+import GI.Gtk.Objects.FlowBox
+import GI.Gtk.Objects.FlowBoxAccessible
+import GI.Gtk.Objects.FlowBoxChild
+import GI.Gtk.Objects.FlowBoxChildAccessible
+import GI.Gtk.Objects.FontButton
+import GI.Gtk.Objects.FontChooserDialog
+import GI.Gtk.Objects.FontChooserWidget
+import GI.Gtk.Objects.FontSelection
+import GI.Gtk.Objects.FontSelectionDialog
+import GI.Gtk.Objects.Frame
+import GI.Gtk.Objects.FrameAccessible
+import GI.Gtk.Objects.GLArea
+import GI.Gtk.Objects.Gesture
+import GI.Gtk.Objects.GestureDrag
+import GI.Gtk.Objects.GestureLongPress
+import GI.Gtk.Objects.GestureMultiPress
+import GI.Gtk.Objects.GesturePan
+import GI.Gtk.Objects.GestureRotate
+import GI.Gtk.Objects.GestureSingle
+import GI.Gtk.Objects.GestureStylus
+import GI.Gtk.Objects.GestureSwipe
+import GI.Gtk.Objects.GestureZoom
+import GI.Gtk.Objects.Grid
+import GI.Gtk.Objects.HBox
+import GI.Gtk.Objects.HButtonBox
+import GI.Gtk.Objects.HPaned
+import GI.Gtk.Objects.HSV
+import GI.Gtk.Objects.HScale
+import GI.Gtk.Objects.HScrollbar
+import GI.Gtk.Objects.HSeparator
+import GI.Gtk.Objects.HandleBox
+import GI.Gtk.Objects.HeaderBar
+import GI.Gtk.Objects.IMContext
+import GI.Gtk.Objects.IMContextSimple
+import GI.Gtk.Objects.IMMulticontext
+import GI.Gtk.Objects.IconFactory
+import GI.Gtk.Objects.IconInfo
+import GI.Gtk.Objects.IconTheme
+import GI.Gtk.Objects.IconView
+import GI.Gtk.Objects.IconViewAccessible
+import GI.Gtk.Objects.Image
+import GI.Gtk.Objects.ImageAccessible
+import GI.Gtk.Objects.ImageCellAccessible
+import GI.Gtk.Objects.ImageMenuItem
+import GI.Gtk.Objects.InfoBar
+import GI.Gtk.Objects.Invisible
+import GI.Gtk.Objects.Label
+import GI.Gtk.Objects.LabelAccessible
+import GI.Gtk.Objects.Layout
+import GI.Gtk.Objects.LevelBar
+import GI.Gtk.Objects.LevelBarAccessible
+import GI.Gtk.Objects.LinkButton
+import GI.Gtk.Objects.LinkButtonAccessible
+import GI.Gtk.Objects.ListBox
+import GI.Gtk.Objects.ListBoxAccessible
+import GI.Gtk.Objects.ListBoxRow
+import GI.Gtk.Objects.ListBoxRowAccessible
+import GI.Gtk.Objects.ListStore
+import GI.Gtk.Objects.LockButton
+import GI.Gtk.Objects.LockButtonAccessible
+import GI.Gtk.Objects.Menu
+import GI.Gtk.Objects.MenuAccessible
+import GI.Gtk.Objects.MenuBar
+import GI.Gtk.Objects.MenuButton
+import GI.Gtk.Objects.MenuButtonAccessible
+import GI.Gtk.Objects.MenuItem
+import GI.Gtk.Objects.MenuItemAccessible
+import GI.Gtk.Objects.MenuShell
+import GI.Gtk.Objects.MenuShellAccessible
+import GI.Gtk.Objects.MenuToolButton
+import GI.Gtk.Objects.MessageDialog
+import GI.Gtk.Objects.Misc
+import GI.Gtk.Objects.ModelButton
+import GI.Gtk.Objects.MountOperation
+import GI.Gtk.Objects.NativeDialog
+import GI.Gtk.Objects.Notebook
+import GI.Gtk.Objects.NotebookAccessible
+import GI.Gtk.Objects.NotebookPageAccessible
+import GI.Gtk.Objects.NumerableIcon
+import GI.Gtk.Objects.OffscreenWindow
+import GI.Gtk.Objects.Overlay
+import GI.Gtk.Objects.PadController
+import GI.Gtk.Objects.PageSetup
+import GI.Gtk.Objects.Paned
+import GI.Gtk.Objects.PanedAccessible
+import GI.Gtk.Objects.PlacesSidebar
+import GI.Gtk.Objects.Plug
+import GI.Gtk.Objects.Popover
+import GI.Gtk.Objects.PopoverAccessible
+import GI.Gtk.Objects.PopoverMenu
+import GI.Gtk.Objects.PrintContext
+import GI.Gtk.Objects.PrintOperation
+import GI.Gtk.Objects.PrintSettings
+import GI.Gtk.Objects.ProgressBar
+import GI.Gtk.Objects.ProgressBarAccessible
+import GI.Gtk.Objects.RadioAction
+import GI.Gtk.Objects.RadioButton
+import GI.Gtk.Objects.RadioButtonAccessible
+import GI.Gtk.Objects.RadioMenuItem
+import GI.Gtk.Objects.RadioMenuItemAccessible
+import GI.Gtk.Objects.RadioToolButton
+import GI.Gtk.Objects.Range
+import GI.Gtk.Objects.RangeAccessible
+import GI.Gtk.Objects.RcStyle
+import GI.Gtk.Objects.RecentAction
+import GI.Gtk.Objects.RecentChooserDialog
+import GI.Gtk.Objects.RecentChooserMenu
+import GI.Gtk.Objects.RecentChooserWidget
+import GI.Gtk.Objects.RecentFilter
+import GI.Gtk.Objects.RecentManager
+import GI.Gtk.Objects.RendererCellAccessible
+import GI.Gtk.Objects.Revealer
+import GI.Gtk.Objects.Scale
+import GI.Gtk.Objects.ScaleAccessible
+import GI.Gtk.Objects.ScaleButton
+import GI.Gtk.Objects.ScaleButtonAccessible
+import GI.Gtk.Objects.Scrollbar
+import GI.Gtk.Objects.ScrolledWindow
+import GI.Gtk.Objects.ScrolledWindowAccessible
+import GI.Gtk.Objects.SearchBar
+import GI.Gtk.Objects.SearchEntry
+import GI.Gtk.Objects.Separator
+import GI.Gtk.Objects.SeparatorMenuItem
+import GI.Gtk.Objects.SeparatorToolItem
+import GI.Gtk.Objects.Settings
+import GI.Gtk.Objects.ShortcutLabel
+import GI.Gtk.Objects.ShortcutsGroup
+import GI.Gtk.Objects.ShortcutsSection
+import GI.Gtk.Objects.ShortcutsShortcut
+import GI.Gtk.Objects.ShortcutsWindow
+import GI.Gtk.Objects.SizeGroup
+import GI.Gtk.Objects.Socket
+import GI.Gtk.Objects.SpinButton
+import GI.Gtk.Objects.SpinButtonAccessible
+import GI.Gtk.Objects.Spinner
+import GI.Gtk.Objects.SpinnerAccessible
+import GI.Gtk.Objects.Stack
+import GI.Gtk.Objects.StackAccessible
+import GI.Gtk.Objects.StackSidebar
+import GI.Gtk.Objects.StackSwitcher
+import GI.Gtk.Objects.StatusIcon
+import GI.Gtk.Objects.Statusbar
+import GI.Gtk.Objects.StatusbarAccessible
+import GI.Gtk.Objects.Style
+import GI.Gtk.Objects.StyleContext
+import GI.Gtk.Objects.StyleProperties
+import GI.Gtk.Objects.Switch
+import GI.Gtk.Objects.SwitchAccessible
+import GI.Gtk.Objects.Table
+import GI.Gtk.Objects.TearoffMenuItem
+import GI.Gtk.Objects.TextBuffer
+import GI.Gtk.Objects.TextCellAccessible
+import GI.Gtk.Objects.TextChildAnchor
+import GI.Gtk.Objects.TextMark
+import GI.Gtk.Objects.TextTag
+import GI.Gtk.Objects.TextTagTable
+import GI.Gtk.Objects.TextView
+import GI.Gtk.Objects.TextViewAccessible
+import GI.Gtk.Objects.ThemingEngine
+import GI.Gtk.Objects.ToggleAction
+import GI.Gtk.Objects.ToggleButton
+import GI.Gtk.Objects.ToggleButtonAccessible
+import GI.Gtk.Objects.ToggleToolButton
+import GI.Gtk.Objects.ToolButton
+import GI.Gtk.Objects.ToolItem
+import GI.Gtk.Objects.ToolItemGroup
+import GI.Gtk.Objects.ToolPalette
+import GI.Gtk.Objects.Toolbar
+import GI.Gtk.Objects.Tooltip
+import GI.Gtk.Objects.ToplevelAccessible
+import GI.Gtk.Objects.TreeModelFilter
+import GI.Gtk.Objects.TreeModelSort
+import GI.Gtk.Objects.TreeSelection
+import GI.Gtk.Objects.TreeStore
+import GI.Gtk.Objects.TreeView
+import GI.Gtk.Objects.TreeViewAccessible
+import GI.Gtk.Objects.TreeViewColumn
+import GI.Gtk.Objects.UIManager
+import GI.Gtk.Objects.VBox
+import GI.Gtk.Objects.VButtonBox
+import GI.Gtk.Objects.VPaned
+import GI.Gtk.Objects.VScale
+import GI.Gtk.Objects.VScrollbar
+import GI.Gtk.Objects.VSeparator
+import GI.Gtk.Objects.Viewport
+import GI.Gtk.Objects.VolumeButton
+import GI.Gtk.Objects.Widget
+import GI.Gtk.Objects.WidgetAccessible
+import GI.Gtk.Objects.Window
+import GI.Gtk.Objects.WindowAccessible
+import GI.Gtk.Objects.WindowGroup
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+
diff --git a/GI/Gtk/Objects/AboutDialog.hs b/GI/Gtk/Objects/AboutDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AboutDialog.hs
@@ -0,0 +1,3443 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The GtkAboutDialog offers a simple way to display information about
+a program like its logo, name, copyright, website and license. It is
+also possible to give credits to the authors, documenters, translators
+and artists who have worked on the program. An about dialog is typically
+opened when the user selects the @About@ option from the @Help@ menu.
+All parts of the dialog are optional.
+
+About dialogs often contain links and email addresses. GtkAboutDialog
+displays these as clickable links. By default, it calls 'GI.Gtk.Functions.showUriOnWindow'
+when a user clicks one. The behaviour can be overridden with the
+'GI.Gtk.Objects.AboutDialog.AboutDialog'::@/activate-link/@ signal.
+
+To specify a person with an email address, use a string like
+\"Edgar Allan Poe \<edgar\@poe.com>\". To specify a website with a title,
+use a string like \"GTK+ team http:\/\/www.gtk.org\".
+
+To make constructing a GtkAboutDialog as convenient as possible, you can
+use the function @/gtk_show_about_dialog()/@ which constructs and shows a dialog
+and keeps it around so that it can be shown again.
+
+Note that GTK+ sets a default title of @_(\"About %s\")@ on the dialog
+window (where %s is replaced by the name of the application, but in
+order to ensure proper translation of the title, applications should
+set the title property explicitly when constructing a GtkAboutDialog,
+as shown in the following example:
+
+=== /C code/
+>
+>GdkPixbuf *example_logo = gdk_pixbuf_new_from_file ("./logo.png", NULL);
+>gtk_show_about_dialog (NULL,
+>                       "program-name", "ExampleCode",
+>                       "logo", example_logo,
+>                       "title", _("About ExampleCode"),
+>                       NULL);
+
+
+It is also possible to show a 'GI.Gtk.Objects.AboutDialog.AboutDialog' like any other 'GI.Gtk.Objects.Dialog.Dialog',
+e.g. using 'GI.Gtk.Objects.Dialog.dialogRun'. In this case, you might need to know that
+the “Close” button returns the @/GTK_RESPONSE_CANCEL/@ response id.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.AboutDialog
+    ( 
+
+-- * Exported types
+    AboutDialog(..)                         ,
+    IsAboutDialog                           ,
+    toAboutDialog                           ,
+    noAboutDialog                           ,
+
+
+ -- * Methods
+-- ** addCreditSection #method:addCreditSection#
+
+#if ENABLE_OVERLOADING
+    AboutDialogAddCreditSectionMethodInfo   ,
+#endif
+    aboutDialogAddCreditSection             ,
+
+
+-- ** getArtists #method:getArtists#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetArtistsMethodInfo         ,
+#endif
+    aboutDialogGetArtists                   ,
+
+
+-- ** getAuthors #method:getAuthors#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetAuthorsMethodInfo         ,
+#endif
+    aboutDialogGetAuthors                   ,
+
+
+-- ** getComments #method:getComments#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetCommentsMethodInfo        ,
+#endif
+    aboutDialogGetComments                  ,
+
+
+-- ** getCopyright #method:getCopyright#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetCopyrightMethodInfo       ,
+#endif
+    aboutDialogGetCopyright                 ,
+
+
+-- ** getDocumenters #method:getDocumenters#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetDocumentersMethodInfo     ,
+#endif
+    aboutDialogGetDocumenters               ,
+
+
+-- ** getLicense #method:getLicense#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetLicenseMethodInfo         ,
+#endif
+    aboutDialogGetLicense                   ,
+
+
+-- ** getLicenseType #method:getLicenseType#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetLicenseTypeMethodInfo     ,
+#endif
+    aboutDialogGetLicenseType               ,
+
+
+-- ** getLogo #method:getLogo#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetLogoMethodInfo            ,
+#endif
+    aboutDialogGetLogo                      ,
+
+
+-- ** getLogoIconName #method:getLogoIconName#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetLogoIconNameMethodInfo    ,
+#endif
+    aboutDialogGetLogoIconName              ,
+
+
+-- ** getProgramName #method:getProgramName#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetProgramNameMethodInfo     ,
+#endif
+    aboutDialogGetProgramName               ,
+
+
+-- ** getTranslatorCredits #method:getTranslatorCredits#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetTranslatorCreditsMethodInfo,
+#endif
+    aboutDialogGetTranslatorCredits         ,
+
+
+-- ** getVersion #method:getVersion#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetVersionMethodInfo         ,
+#endif
+    aboutDialogGetVersion                   ,
+
+
+-- ** getWebsite #method:getWebsite#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetWebsiteMethodInfo         ,
+#endif
+    aboutDialogGetWebsite                   ,
+
+
+-- ** getWebsiteLabel #method:getWebsiteLabel#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetWebsiteLabelMethodInfo    ,
+#endif
+    aboutDialogGetWebsiteLabel              ,
+
+
+-- ** getWrapLicense #method:getWrapLicense#
+
+#if ENABLE_OVERLOADING
+    AboutDialogGetWrapLicenseMethodInfo     ,
+#endif
+    aboutDialogGetWrapLicense               ,
+
+
+-- ** new #method:new#
+
+    aboutDialogNew                          ,
+
+
+-- ** setArtists #method:setArtists#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetArtistsMethodInfo         ,
+#endif
+    aboutDialogSetArtists                   ,
+
+
+-- ** setAuthors #method:setAuthors#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetAuthorsMethodInfo         ,
+#endif
+    aboutDialogSetAuthors                   ,
+
+
+-- ** setComments #method:setComments#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetCommentsMethodInfo        ,
+#endif
+    aboutDialogSetComments                  ,
+
+
+-- ** setCopyright #method:setCopyright#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetCopyrightMethodInfo       ,
+#endif
+    aboutDialogSetCopyright                 ,
+
+
+-- ** setDocumenters #method:setDocumenters#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetDocumentersMethodInfo     ,
+#endif
+    aboutDialogSetDocumenters               ,
+
+
+-- ** setLicense #method:setLicense#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetLicenseMethodInfo         ,
+#endif
+    aboutDialogSetLicense                   ,
+
+
+-- ** setLicenseType #method:setLicenseType#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetLicenseTypeMethodInfo     ,
+#endif
+    aboutDialogSetLicenseType               ,
+
+
+-- ** setLogo #method:setLogo#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetLogoMethodInfo            ,
+#endif
+    aboutDialogSetLogo                      ,
+
+
+-- ** setLogoIconName #method:setLogoIconName#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetLogoIconNameMethodInfo    ,
+#endif
+    aboutDialogSetLogoIconName              ,
+
+
+-- ** setProgramName #method:setProgramName#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetProgramNameMethodInfo     ,
+#endif
+    aboutDialogSetProgramName               ,
+
+
+-- ** setTranslatorCredits #method:setTranslatorCredits#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetTranslatorCreditsMethodInfo,
+#endif
+    aboutDialogSetTranslatorCredits         ,
+
+
+-- ** setVersion #method:setVersion#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetVersionMethodInfo         ,
+#endif
+    aboutDialogSetVersion                   ,
+
+
+-- ** setWebsite #method:setWebsite#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetWebsiteMethodInfo         ,
+#endif
+    aboutDialogSetWebsite                   ,
+
+
+-- ** setWebsiteLabel #method:setWebsiteLabel#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetWebsiteLabelMethodInfo    ,
+#endif
+    aboutDialogSetWebsiteLabel              ,
+
+
+-- ** setWrapLicense #method:setWrapLicense#
+
+#if ENABLE_OVERLOADING
+    AboutDialogSetWrapLicenseMethodInfo     ,
+#endif
+    aboutDialogSetWrapLicense               ,
+
+
+
+
+ -- * Properties
+-- ** artists #attr:artists#
+{- | The people who contributed artwork to the program, as a 'Nothing'-terminated
+array of strings. Each string may contain email addresses and URLs, which
+will be displayed as links, see the introduction for more details.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogArtistsPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogArtists                      ,
+#endif
+    constructAboutDialogArtists             ,
+    getAboutDialogArtists                   ,
+    setAboutDialogArtists                   ,
+
+
+-- ** authors #attr:authors#
+{- | The authors of the program, as a 'Nothing'-terminated array of strings.
+Each string may contain email addresses and URLs, which will be displayed
+as links, see the introduction for more details.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogAuthorsPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogAuthors                      ,
+#endif
+    constructAboutDialogAuthors             ,
+    getAboutDialogAuthors                   ,
+    setAboutDialogAuthors                   ,
+
+
+-- ** comments #attr:comments#
+{- | Comments about the program. This string is displayed in a label
+in the main dialog, thus it should be a short explanation of
+the main purpose of the program, not a detailed list of features.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogCommentsPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogComments                     ,
+#endif
+    clearAboutDialogComments                ,
+    constructAboutDialogComments            ,
+    getAboutDialogComments                  ,
+    setAboutDialogComments                  ,
+
+
+-- ** copyright #attr:copyright#
+{- | Copyright information for the program.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogCopyrightPropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogCopyright                    ,
+#endif
+    clearAboutDialogCopyright               ,
+    constructAboutDialogCopyright           ,
+    getAboutDialogCopyright                 ,
+    setAboutDialogCopyright                 ,
+
+
+-- ** documenters #attr:documenters#
+{- | The people documenting the program, as a 'Nothing'-terminated array of strings.
+Each string may contain email addresses and URLs, which will be displayed
+as links, see the introduction for more details.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogDocumentersPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogDocumenters                  ,
+#endif
+    constructAboutDialogDocumenters         ,
+    getAboutDialogDocumenters               ,
+    setAboutDialogDocumenters               ,
+
+
+-- ** license #attr:license#
+{- | The license of the program. This string is displayed in a
+text view in a secondary dialog, therefore it is fine to use
+a long multi-paragraph text. Note that the text is only wrapped
+in the text view if the \"wrap-license\" property is set to 'True';
+otherwise the text itself must contain the intended linebreaks.
+When setting this property to a non-'Nothing' value, the
+'GI.Gtk.Objects.AboutDialog.AboutDialog':@/license-type/@ property is set to 'GI.Gtk.Enums.LicenseCustom'
+as a side effect.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogLicensePropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogLicense                      ,
+#endif
+    clearAboutDialogLicense                 ,
+    constructAboutDialogLicense             ,
+    getAboutDialogLicense                   ,
+    setAboutDialogLicense                   ,
+
+
+-- ** licenseType #attr:licenseType#
+{- | The license of the program, as a value of the @/GtkLicense/@ enumeration.
+
+The 'GI.Gtk.Objects.AboutDialog.AboutDialog' will automatically fill out a standard disclaimer
+and link the user to the appropriate online resource for the license
+text.
+
+If 'GI.Gtk.Enums.LicenseUnknown' is used, the link used will be the same
+specified in the 'GI.Gtk.Objects.AboutDialog.AboutDialog':@/website/@ property.
+
+If 'GI.Gtk.Enums.LicenseCustom' is used, the current contents of the
+'GI.Gtk.Objects.AboutDialog.AboutDialog':@/license/@ property are used.
+
+For any other 'GI.Gtk.Enums.License' value, the contents of the
+'GI.Gtk.Objects.AboutDialog.AboutDialog':@/license/@ property are also set by this property as
+a side effect.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogLicenseTypePropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogLicenseType                  ,
+#endif
+    constructAboutDialogLicenseType         ,
+    getAboutDialogLicenseType               ,
+    setAboutDialogLicenseType               ,
+
+
+-- ** logo #attr:logo#
+{- | A logo for the about box. If it is 'Nothing', the default window icon
+set with 'GI.Gtk.Objects.Window.windowSetDefaultIcon' will be used.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogLogoPropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogLogo                         ,
+#endif
+    clearAboutDialogLogo                    ,
+    constructAboutDialogLogo                ,
+    getAboutDialogLogo                      ,
+    setAboutDialogLogo                      ,
+
+
+-- ** logoIconName #attr:logoIconName#
+{- | A named icon to use as the logo for the about box. This property
+overrides the 'GI.Gtk.Objects.AboutDialog.AboutDialog':@/logo/@ property.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogLogoIconNamePropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogLogoIconName                 ,
+#endif
+    clearAboutDialogLogoIconName            ,
+    constructAboutDialogLogoIconName        ,
+    getAboutDialogLogoIconName              ,
+    setAboutDialogLogoIconName              ,
+
+
+-- ** programName #attr:programName#
+{- | The name of the program.
+If this is not set, it defaults to 'GI.GLib.Functions.getApplicationName'.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogProgramNamePropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogProgramName                  ,
+#endif
+    constructAboutDialogProgramName         ,
+    getAboutDialogProgramName               ,
+    setAboutDialogProgramName               ,
+
+
+-- ** translatorCredits #attr:translatorCredits#
+{- | Credits to the translators. This string should be marked as translatable.
+The string may contain email addresses and URLs, which will be displayed
+as links, see the introduction for more details.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogTranslatorCreditsPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogTranslatorCredits            ,
+#endif
+    clearAboutDialogTranslatorCredits       ,
+    constructAboutDialogTranslatorCredits   ,
+    getAboutDialogTranslatorCredits         ,
+    setAboutDialogTranslatorCredits         ,
+
+
+-- ** version #attr:version#
+{- | The version of the program.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogVersionPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogVersion                      ,
+#endif
+    clearAboutDialogVersion                 ,
+    constructAboutDialogVersion             ,
+    getAboutDialogVersion                   ,
+    setAboutDialogVersion                   ,
+
+
+-- ** website #attr:website#
+{- | The URL for the link to the website of the program.
+This should be a string starting with \"http:\/\/.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogWebsitePropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogWebsite                      ,
+#endif
+    clearAboutDialogWebsite                 ,
+    constructAboutDialogWebsite             ,
+    getAboutDialogWebsite                   ,
+    setAboutDialogWebsite                   ,
+
+
+-- ** websiteLabel #attr:websiteLabel#
+{- | The label for the link to the website of the program.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogWebsiteLabelPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogWebsiteLabel                 ,
+#endif
+    constructAboutDialogWebsiteLabel        ,
+    getAboutDialogWebsiteLabel              ,
+    setAboutDialogWebsiteLabel              ,
+
+
+-- ** wrapLicense #attr:wrapLicense#
+{- | Whether to wrap the text in the license dialog.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    AboutDialogWrapLicensePropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    aboutDialogWrapLicense                  ,
+#endif
+    constructAboutDialogWrapLicense         ,
+    getAboutDialogWrapLicense               ,
+    setAboutDialogWrapLicense               ,
+
+
+
+
+ -- * Signals
+-- ** activateLink #signal:activateLink#
+
+    AboutDialogActivateLinkCallback         ,
+#if ENABLE_OVERLOADING
+    AboutDialogActivateLinkSignalInfo       ,
+#endif
+    C_AboutDialogActivateLinkCallback       ,
+    afterAboutDialogActivateLink            ,
+    genClosure_AboutDialogActivateLink      ,
+    mk_AboutDialogActivateLinkCallback      ,
+    noAboutDialogActivateLinkCallback       ,
+    onAboutDialogActivateLink               ,
+    wrap_AboutDialogActivateLinkCallback    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype AboutDialog = AboutDialog (ManagedPtr AboutDialog)
+foreign import ccall "gtk_about_dialog_get_type"
+    c_gtk_about_dialog_get_type :: IO GType
+
+instance GObject AboutDialog where
+    gobjectType = c_gtk_about_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `AboutDialog`, for instance with `toAboutDialog`.
+class (GObject o, O.IsDescendantOf AboutDialog o) => IsAboutDialog o
+instance (GObject o, O.IsDescendantOf AboutDialog o) => IsAboutDialog o
+
+instance O.HasParentTypes AboutDialog
+type instance O.ParentTypes AboutDialog = '[Gtk.Dialog.Dialog, Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `AboutDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAboutDialog :: (MonadIO m, IsAboutDialog o) => o -> m AboutDialog
+toAboutDialog = liftIO . unsafeCastTo AboutDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AboutDialog`.
+noAboutDialog :: Maybe AboutDialog
+noAboutDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAboutDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAboutDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveAboutDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveAboutDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveAboutDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveAboutDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveAboutDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveAboutDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveAboutDialogMethod "addActionWidget" o = Gtk.Dialog.DialogAddActionWidgetMethodInfo
+    ResolveAboutDialogMethod "addButton" o = Gtk.Dialog.DialogAddButtonMethodInfo
+    ResolveAboutDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveAboutDialogMethod "addCreditSection" o = AboutDialogAddCreditSectionMethodInfo
+    ResolveAboutDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveAboutDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveAboutDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveAboutDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveAboutDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveAboutDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveAboutDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveAboutDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAboutDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAboutDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveAboutDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveAboutDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveAboutDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveAboutDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveAboutDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveAboutDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveAboutDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveAboutDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveAboutDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveAboutDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveAboutDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveAboutDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveAboutDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveAboutDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveAboutDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveAboutDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveAboutDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveAboutDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveAboutDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveAboutDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveAboutDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveAboutDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveAboutDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveAboutDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveAboutDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveAboutDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveAboutDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveAboutDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveAboutDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveAboutDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveAboutDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveAboutDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveAboutDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveAboutDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveAboutDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveAboutDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveAboutDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveAboutDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveAboutDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveAboutDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveAboutDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveAboutDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveAboutDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveAboutDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveAboutDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveAboutDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveAboutDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveAboutDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveAboutDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveAboutDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveAboutDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveAboutDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveAboutDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveAboutDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAboutDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveAboutDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveAboutDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAboutDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveAboutDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveAboutDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAboutDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveAboutDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveAboutDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveAboutDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveAboutDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveAboutDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveAboutDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveAboutDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveAboutDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveAboutDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveAboutDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveAboutDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveAboutDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveAboutDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveAboutDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveAboutDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveAboutDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveAboutDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveAboutDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveAboutDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveAboutDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveAboutDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveAboutDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveAboutDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveAboutDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAboutDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveAboutDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveAboutDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveAboutDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveAboutDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveAboutDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveAboutDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveAboutDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveAboutDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveAboutDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveAboutDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveAboutDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveAboutDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveAboutDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveAboutDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveAboutDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveAboutDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveAboutDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveAboutDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveAboutDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveAboutDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAboutDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAboutDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveAboutDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveAboutDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveAboutDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveAboutDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveAboutDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveAboutDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveAboutDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveAboutDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveAboutDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveAboutDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveAboutDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveAboutDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveAboutDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveAboutDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveAboutDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveAboutDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveAboutDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveAboutDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveAboutDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveAboutDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAboutDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAboutDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveAboutDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveAboutDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveAboutDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveAboutDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveAboutDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveAboutDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveAboutDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveAboutDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveAboutDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveAboutDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveAboutDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveAboutDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveAboutDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveAboutDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveAboutDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveAboutDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveAboutDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveAboutDialogMethod "response" o = Gtk.Dialog.DialogResponseMethodInfo
+    ResolveAboutDialogMethod "run" o = Gtk.Dialog.DialogRunMethodInfo
+    ResolveAboutDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAboutDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveAboutDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveAboutDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveAboutDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveAboutDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveAboutDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveAboutDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveAboutDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveAboutDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveAboutDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAboutDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAboutDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveAboutDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveAboutDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveAboutDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveAboutDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAboutDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveAboutDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveAboutDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveAboutDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveAboutDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveAboutDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveAboutDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveAboutDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAboutDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveAboutDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveAboutDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveAboutDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveAboutDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAboutDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveAboutDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveAboutDialogMethod "getActionArea" o = Gtk.Dialog.DialogGetActionAreaMethodInfo
+    ResolveAboutDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveAboutDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveAboutDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveAboutDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveAboutDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveAboutDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveAboutDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveAboutDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveAboutDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveAboutDialogMethod "getArtists" o = AboutDialogGetArtistsMethodInfo
+    ResolveAboutDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveAboutDialogMethod "getAuthors" o = AboutDialogGetAuthorsMethodInfo
+    ResolveAboutDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveAboutDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveAboutDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveAboutDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveAboutDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveAboutDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveAboutDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveAboutDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveAboutDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveAboutDialogMethod "getComments" o = AboutDialogGetCommentsMethodInfo
+    ResolveAboutDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveAboutDialogMethod "getContentArea" o = Gtk.Dialog.DialogGetContentAreaMethodInfo
+    ResolveAboutDialogMethod "getCopyright" o = AboutDialogGetCopyrightMethodInfo
+    ResolveAboutDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAboutDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveAboutDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveAboutDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveAboutDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveAboutDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveAboutDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveAboutDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveAboutDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveAboutDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveAboutDialogMethod "getDocumenters" o = AboutDialogGetDocumentersMethodInfo
+    ResolveAboutDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveAboutDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveAboutDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveAboutDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveAboutDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveAboutDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveAboutDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveAboutDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveAboutDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveAboutDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveAboutDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveAboutDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveAboutDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveAboutDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveAboutDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveAboutDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveAboutDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveAboutDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveAboutDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveAboutDialogMethod "getHeaderBar" o = Gtk.Dialog.DialogGetHeaderBarMethodInfo
+    ResolveAboutDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveAboutDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveAboutDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveAboutDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveAboutDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveAboutDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveAboutDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveAboutDialogMethod "getLicense" o = AboutDialogGetLicenseMethodInfo
+    ResolveAboutDialogMethod "getLicenseType" o = AboutDialogGetLicenseTypeMethodInfo
+    ResolveAboutDialogMethod "getLogo" o = AboutDialogGetLogoMethodInfo
+    ResolveAboutDialogMethod "getLogoIconName" o = AboutDialogGetLogoIconNameMethodInfo
+    ResolveAboutDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveAboutDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveAboutDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveAboutDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveAboutDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveAboutDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveAboutDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveAboutDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveAboutDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveAboutDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveAboutDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveAboutDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveAboutDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveAboutDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveAboutDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveAboutDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveAboutDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveAboutDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveAboutDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveAboutDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveAboutDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveAboutDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveAboutDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveAboutDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveAboutDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveAboutDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveAboutDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveAboutDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveAboutDialogMethod "getProgramName" o = AboutDialogGetProgramNameMethodInfo
+    ResolveAboutDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAboutDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAboutDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveAboutDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveAboutDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveAboutDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveAboutDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveAboutDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveAboutDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveAboutDialogMethod "getResponseForWidget" o = Gtk.Dialog.DialogGetResponseForWidgetMethodInfo
+    ResolveAboutDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveAboutDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveAboutDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveAboutDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveAboutDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveAboutDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveAboutDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveAboutDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveAboutDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveAboutDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveAboutDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveAboutDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveAboutDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveAboutDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveAboutDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveAboutDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveAboutDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveAboutDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveAboutDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveAboutDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveAboutDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveAboutDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveAboutDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveAboutDialogMethod "getTranslatorCredits" o = AboutDialogGetTranslatorCreditsMethodInfo
+    ResolveAboutDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveAboutDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveAboutDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveAboutDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveAboutDialogMethod "getVersion" o = AboutDialogGetVersionMethodInfo
+    ResolveAboutDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveAboutDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveAboutDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveAboutDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveAboutDialogMethod "getWebsite" o = AboutDialogGetWebsiteMethodInfo
+    ResolveAboutDialogMethod "getWebsiteLabel" o = AboutDialogGetWebsiteLabelMethodInfo
+    ResolveAboutDialogMethod "getWidgetForResponse" o = Gtk.Dialog.DialogGetWidgetForResponseMethodInfo
+    ResolveAboutDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveAboutDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveAboutDialogMethod "getWrapLicense" o = AboutDialogGetWrapLicenseMethodInfo
+    ResolveAboutDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveAboutDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveAboutDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveAboutDialogMethod "setAlternativeButtonOrderFromArray" o = Gtk.Dialog.DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveAboutDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveAboutDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveAboutDialogMethod "setArtists" o = AboutDialogSetArtistsMethodInfo
+    ResolveAboutDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveAboutDialogMethod "setAuthors" o = AboutDialogSetAuthorsMethodInfo
+    ResolveAboutDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveAboutDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveAboutDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveAboutDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveAboutDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveAboutDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveAboutDialogMethod "setComments" o = AboutDialogSetCommentsMethodInfo
+    ResolveAboutDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveAboutDialogMethod "setCopyright" o = AboutDialogSetCopyrightMethodInfo
+    ResolveAboutDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAboutDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveAboutDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveAboutDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveAboutDialogMethod "setDefaultResponse" o = Gtk.Dialog.DialogSetDefaultResponseMethodInfo
+    ResolveAboutDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveAboutDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveAboutDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveAboutDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveAboutDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveAboutDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveAboutDialogMethod "setDocumenters" o = AboutDialogSetDocumentersMethodInfo
+    ResolveAboutDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveAboutDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveAboutDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveAboutDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveAboutDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveAboutDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveAboutDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveAboutDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveAboutDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveAboutDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveAboutDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveAboutDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveAboutDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveAboutDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveAboutDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveAboutDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveAboutDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveAboutDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveAboutDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveAboutDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveAboutDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveAboutDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveAboutDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveAboutDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveAboutDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveAboutDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveAboutDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveAboutDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveAboutDialogMethod "setLicense" o = AboutDialogSetLicenseMethodInfo
+    ResolveAboutDialogMethod "setLicenseType" o = AboutDialogSetLicenseTypeMethodInfo
+    ResolveAboutDialogMethod "setLogo" o = AboutDialogSetLogoMethodInfo
+    ResolveAboutDialogMethod "setLogoIconName" o = AboutDialogSetLogoIconNameMethodInfo
+    ResolveAboutDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveAboutDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveAboutDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveAboutDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveAboutDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveAboutDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveAboutDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveAboutDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveAboutDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveAboutDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveAboutDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveAboutDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveAboutDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveAboutDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveAboutDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveAboutDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveAboutDialogMethod "setProgramName" o = AboutDialogSetProgramNameMethodInfo
+    ResolveAboutDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAboutDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveAboutDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveAboutDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveAboutDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveAboutDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveAboutDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveAboutDialogMethod "setResponseSensitive" o = Gtk.Dialog.DialogSetResponseSensitiveMethodInfo
+    ResolveAboutDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveAboutDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveAboutDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveAboutDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveAboutDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveAboutDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveAboutDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveAboutDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveAboutDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveAboutDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveAboutDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveAboutDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveAboutDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveAboutDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveAboutDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveAboutDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveAboutDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveAboutDialogMethod "setTranslatorCredits" o = AboutDialogSetTranslatorCreditsMethodInfo
+    ResolveAboutDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveAboutDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveAboutDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveAboutDialogMethod "setVersion" o = AboutDialogSetVersionMethodInfo
+    ResolveAboutDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveAboutDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveAboutDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveAboutDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveAboutDialogMethod "setWebsite" o = AboutDialogSetWebsiteMethodInfo
+    ResolveAboutDialogMethod "setWebsiteLabel" o = AboutDialogSetWebsiteLabelMethodInfo
+    ResolveAboutDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveAboutDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveAboutDialogMethod "setWrapLicense" o = AboutDialogSetWrapLicenseMethodInfo
+    ResolveAboutDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAboutDialogMethod t AboutDialog, O.MethodInfo info AboutDialog p) => OL.IsLabel t (AboutDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal AboutDialog::activate-link
+{- |
+The signal which gets emitted to activate a URI.
+Applications may connect to it to override the default behaviour,
+which is to call 'GI.Gtk.Functions.showUriOnWindow'.
+
+/Since: 2.24/
+-}
+type AboutDialogActivateLinkCallback =
+    T.Text
+    {- ^ /@uri@/: the URI that is activated -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the link has been activated -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AboutDialogActivateLinkCallback`@.
+noAboutDialogActivateLinkCallback :: Maybe AboutDialogActivateLinkCallback
+noAboutDialogActivateLinkCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AboutDialogActivateLinkCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_AboutDialogActivateLinkCallback`.
+foreign import ccall "wrapper"
+    mk_AboutDialogActivateLinkCallback :: C_AboutDialogActivateLinkCallback -> IO (FunPtr C_AboutDialogActivateLinkCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AboutDialogActivateLink :: MonadIO m => AboutDialogActivateLinkCallback -> m (GClosure C_AboutDialogActivateLinkCallback)
+genClosure_AboutDialogActivateLink cb = liftIO $ do
+    let cb' = wrap_AboutDialogActivateLinkCallback cb
+    mk_AboutDialogActivateLinkCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AboutDialogActivateLinkCallback` into a `C_AboutDialogActivateLinkCallback`.
+wrap_AboutDialogActivateLinkCallback ::
+    AboutDialogActivateLinkCallback ->
+    C_AboutDialogActivateLinkCallback
+wrap_AboutDialogActivateLinkCallback _cb _ uri _ = do
+    uri' <- cstringToText uri
+    result <- _cb  uri'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@activate-link@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' aboutDialog #activateLink callback
+@
+-}
+onAboutDialogActivateLink :: (IsAboutDialog a, MonadIO m) => a -> AboutDialogActivateLinkCallback -> m SignalHandlerId
+onAboutDialogActivateLink obj cb = liftIO $ do
+    let cb' = wrap_AboutDialogActivateLinkCallback cb
+    cb'' <- mk_AboutDialogActivateLinkCallback cb'
+    connectSignalFunPtr obj "activate-link" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-link@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' aboutDialog #activateLink callback
+@
+-}
+afterAboutDialogActivateLink :: (IsAboutDialog a, MonadIO m) => a -> AboutDialogActivateLinkCallback -> m SignalHandlerId
+afterAboutDialogActivateLink obj cb = liftIO $ do
+    let cb' = wrap_AboutDialogActivateLinkCallback cb
+    cb'' <- mk_AboutDialogActivateLinkCallback cb'
+    connectSignalFunPtr obj "activate-link" cb'' SignalConnectAfter
+
+
+-- VVV Prop "artists"
+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@artists@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #artists
+@
+-}
+getAboutDialogArtists :: (MonadIO m, IsAboutDialog o) => o -> m [T.Text]
+getAboutDialogArtists obj = liftIO $ checkUnexpectedNothing "getAboutDialogArtists" $ B.Properties.getObjectPropertyStringArray obj "artists"
+
+{- |
+Set the value of the “@artists@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #artists 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogArtists :: (MonadIO m, IsAboutDialog o) => o -> [T.Text] -> m ()
+setAboutDialogArtists obj val = liftIO $ B.Properties.setObjectPropertyStringArray obj "artists" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@artists@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogArtists :: (IsAboutDialog o) => [T.Text] -> IO (GValueConstruct o)
+constructAboutDialogArtists val = B.Properties.constructObjectPropertyStringArray "artists" (Just val)
+
+#if ENABLE_OVERLOADING
+data AboutDialogArtistsPropertyInfo
+instance AttrInfo AboutDialogArtistsPropertyInfo where
+    type AttrAllowedOps AboutDialogArtistsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AboutDialogArtistsPropertyInfo = (~) [T.Text]
+    type AttrBaseTypeConstraint AboutDialogArtistsPropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogArtistsPropertyInfo = [T.Text]
+    type AttrLabel AboutDialogArtistsPropertyInfo = "artists"
+    type AttrOrigin AboutDialogArtistsPropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogArtists
+    attrSet _ = setAboutDialogArtists
+    attrConstruct _ = constructAboutDialogArtists
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "authors"
+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@authors@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #authors
+@
+-}
+getAboutDialogAuthors :: (MonadIO m, IsAboutDialog o) => o -> m [T.Text]
+getAboutDialogAuthors obj = liftIO $ checkUnexpectedNothing "getAboutDialogAuthors" $ B.Properties.getObjectPropertyStringArray obj "authors"
+
+{- |
+Set the value of the “@authors@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #authors 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogAuthors :: (MonadIO m, IsAboutDialog o) => o -> [T.Text] -> m ()
+setAboutDialogAuthors obj val = liftIO $ B.Properties.setObjectPropertyStringArray obj "authors" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@authors@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogAuthors :: (IsAboutDialog o) => [T.Text] -> IO (GValueConstruct o)
+constructAboutDialogAuthors val = B.Properties.constructObjectPropertyStringArray "authors" (Just val)
+
+#if ENABLE_OVERLOADING
+data AboutDialogAuthorsPropertyInfo
+instance AttrInfo AboutDialogAuthorsPropertyInfo where
+    type AttrAllowedOps AboutDialogAuthorsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AboutDialogAuthorsPropertyInfo = (~) [T.Text]
+    type AttrBaseTypeConstraint AboutDialogAuthorsPropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogAuthorsPropertyInfo = [T.Text]
+    type AttrLabel AboutDialogAuthorsPropertyInfo = "authors"
+    type AttrOrigin AboutDialogAuthorsPropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogAuthors
+    attrSet _ = setAboutDialogAuthors
+    attrConstruct _ = constructAboutDialogAuthors
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "comments"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@comments@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #comments
+@
+-}
+getAboutDialogComments :: (MonadIO m, IsAboutDialog o) => o -> m T.Text
+getAboutDialogComments obj = liftIO $ checkUnexpectedNothing "getAboutDialogComments" $ B.Properties.getObjectPropertyString obj "comments"
+
+{- |
+Set the value of the “@comments@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #comments 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogComments :: (MonadIO m, IsAboutDialog o) => o -> T.Text -> m ()
+setAboutDialogComments obj val = liftIO $ B.Properties.setObjectPropertyString obj "comments" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@comments@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogComments :: (IsAboutDialog o) => T.Text -> IO (GValueConstruct o)
+constructAboutDialogComments val = B.Properties.constructObjectPropertyString "comments" (Just val)
+
+{- |
+Set the value of the “@comments@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #comments
+@
+-}
+clearAboutDialogComments :: (MonadIO m, IsAboutDialog o) => o -> m ()
+clearAboutDialogComments obj = liftIO $ B.Properties.setObjectPropertyString obj "comments" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data AboutDialogCommentsPropertyInfo
+instance AttrInfo AboutDialogCommentsPropertyInfo where
+    type AttrAllowedOps AboutDialogCommentsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AboutDialogCommentsPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AboutDialogCommentsPropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogCommentsPropertyInfo = T.Text
+    type AttrLabel AboutDialogCommentsPropertyInfo = "comments"
+    type AttrOrigin AboutDialogCommentsPropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogComments
+    attrSet _ = setAboutDialogComments
+    attrConstruct _ = constructAboutDialogComments
+    attrClear _ = clearAboutDialogComments
+#endif
+
+-- VVV Prop "copyright"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@copyright@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #copyright
+@
+-}
+getAboutDialogCopyright :: (MonadIO m, IsAboutDialog o) => o -> m T.Text
+getAboutDialogCopyright obj = liftIO $ checkUnexpectedNothing "getAboutDialogCopyright" $ B.Properties.getObjectPropertyString obj "copyright"
+
+{- |
+Set the value of the “@copyright@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #copyright 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogCopyright :: (MonadIO m, IsAboutDialog o) => o -> T.Text -> m ()
+setAboutDialogCopyright obj val = liftIO $ B.Properties.setObjectPropertyString obj "copyright" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@copyright@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogCopyright :: (IsAboutDialog o) => T.Text -> IO (GValueConstruct o)
+constructAboutDialogCopyright val = B.Properties.constructObjectPropertyString "copyright" (Just val)
+
+{- |
+Set the value of the “@copyright@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #copyright
+@
+-}
+clearAboutDialogCopyright :: (MonadIO m, IsAboutDialog o) => o -> m ()
+clearAboutDialogCopyright obj = liftIO $ B.Properties.setObjectPropertyString obj "copyright" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data AboutDialogCopyrightPropertyInfo
+instance AttrInfo AboutDialogCopyrightPropertyInfo where
+    type AttrAllowedOps AboutDialogCopyrightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AboutDialogCopyrightPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AboutDialogCopyrightPropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogCopyrightPropertyInfo = T.Text
+    type AttrLabel AboutDialogCopyrightPropertyInfo = "copyright"
+    type AttrOrigin AboutDialogCopyrightPropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogCopyright
+    attrSet _ = setAboutDialogCopyright
+    attrConstruct _ = constructAboutDialogCopyright
+    attrClear _ = clearAboutDialogCopyright
+#endif
+
+-- VVV Prop "documenters"
+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@documenters@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #documenters
+@
+-}
+getAboutDialogDocumenters :: (MonadIO m, IsAboutDialog o) => o -> m [T.Text]
+getAboutDialogDocumenters obj = liftIO $ checkUnexpectedNothing "getAboutDialogDocumenters" $ B.Properties.getObjectPropertyStringArray obj "documenters"
+
+{- |
+Set the value of the “@documenters@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #documenters 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogDocumenters :: (MonadIO m, IsAboutDialog o) => o -> [T.Text] -> m ()
+setAboutDialogDocumenters obj val = liftIO $ B.Properties.setObjectPropertyStringArray obj "documenters" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@documenters@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogDocumenters :: (IsAboutDialog o) => [T.Text] -> IO (GValueConstruct o)
+constructAboutDialogDocumenters val = B.Properties.constructObjectPropertyStringArray "documenters" (Just val)
+
+#if ENABLE_OVERLOADING
+data AboutDialogDocumentersPropertyInfo
+instance AttrInfo AboutDialogDocumentersPropertyInfo where
+    type AttrAllowedOps AboutDialogDocumentersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AboutDialogDocumentersPropertyInfo = (~) [T.Text]
+    type AttrBaseTypeConstraint AboutDialogDocumentersPropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogDocumentersPropertyInfo = [T.Text]
+    type AttrLabel AboutDialogDocumentersPropertyInfo = "documenters"
+    type AttrOrigin AboutDialogDocumentersPropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogDocumenters
+    attrSet _ = setAboutDialogDocumenters
+    attrConstruct _ = constructAboutDialogDocumenters
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "license"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@license@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #license
+@
+-}
+getAboutDialogLicense :: (MonadIO m, IsAboutDialog o) => o -> m T.Text
+getAboutDialogLicense obj = liftIO $ checkUnexpectedNothing "getAboutDialogLicense" $ B.Properties.getObjectPropertyString obj "license"
+
+{- |
+Set the value of the “@license@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #license 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogLicense :: (MonadIO m, IsAboutDialog o) => o -> T.Text -> m ()
+setAboutDialogLicense obj val = liftIO $ B.Properties.setObjectPropertyString obj "license" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@license@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogLicense :: (IsAboutDialog o) => T.Text -> IO (GValueConstruct o)
+constructAboutDialogLicense val = B.Properties.constructObjectPropertyString "license" (Just val)
+
+{- |
+Set the value of the “@license@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #license
+@
+-}
+clearAboutDialogLicense :: (MonadIO m, IsAboutDialog o) => o -> m ()
+clearAboutDialogLicense obj = liftIO $ B.Properties.setObjectPropertyString obj "license" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data AboutDialogLicensePropertyInfo
+instance AttrInfo AboutDialogLicensePropertyInfo where
+    type AttrAllowedOps AboutDialogLicensePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AboutDialogLicensePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AboutDialogLicensePropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogLicensePropertyInfo = T.Text
+    type AttrLabel AboutDialogLicensePropertyInfo = "license"
+    type AttrOrigin AboutDialogLicensePropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogLicense
+    attrSet _ = setAboutDialogLicense
+    attrConstruct _ = constructAboutDialogLicense
+    attrClear _ = clearAboutDialogLicense
+#endif
+
+-- VVV Prop "license-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "License"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@license-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #licenseType
+@
+-}
+getAboutDialogLicenseType :: (MonadIO m, IsAboutDialog o) => o -> m Gtk.Enums.License
+getAboutDialogLicenseType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "license-type"
+
+{- |
+Set the value of the “@license-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #licenseType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogLicenseType :: (MonadIO m, IsAboutDialog o) => o -> Gtk.Enums.License -> m ()
+setAboutDialogLicenseType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "license-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@license-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogLicenseType :: (IsAboutDialog o) => Gtk.Enums.License -> IO (GValueConstruct o)
+constructAboutDialogLicenseType val = B.Properties.constructObjectPropertyEnum "license-type" val
+
+#if ENABLE_OVERLOADING
+data AboutDialogLicenseTypePropertyInfo
+instance AttrInfo AboutDialogLicenseTypePropertyInfo where
+    type AttrAllowedOps AboutDialogLicenseTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AboutDialogLicenseTypePropertyInfo = (~) Gtk.Enums.License
+    type AttrBaseTypeConstraint AboutDialogLicenseTypePropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogLicenseTypePropertyInfo = Gtk.Enums.License
+    type AttrLabel AboutDialogLicenseTypePropertyInfo = "license-type"
+    type AttrOrigin AboutDialogLicenseTypePropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogLicenseType
+    attrSet _ = setAboutDialogLicenseType
+    attrConstruct _ = constructAboutDialogLicenseType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "logo"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@logo@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #logo
+@
+-}
+getAboutDialogLogo :: (MonadIO m, IsAboutDialog o) => o -> m GdkPixbuf.Pixbuf.Pixbuf
+getAboutDialogLogo obj = liftIO $ checkUnexpectedNothing "getAboutDialogLogo" $ B.Properties.getObjectPropertyObject obj "logo" GdkPixbuf.Pixbuf.Pixbuf
+
+{- |
+Set the value of the “@logo@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #logo 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogLogo :: (MonadIO m, IsAboutDialog o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
+setAboutDialogLogo obj val = liftIO $ B.Properties.setObjectPropertyObject obj "logo" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@logo@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogLogo :: (IsAboutDialog o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
+constructAboutDialogLogo val = B.Properties.constructObjectPropertyObject "logo" (Just val)
+
+{- |
+Set the value of the “@logo@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #logo
+@
+-}
+clearAboutDialogLogo :: (MonadIO m, IsAboutDialog o) => o -> m ()
+clearAboutDialogLogo obj = liftIO $ B.Properties.setObjectPropertyObject obj "logo" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)
+
+#if ENABLE_OVERLOADING
+data AboutDialogLogoPropertyInfo
+instance AttrInfo AboutDialogLogoPropertyInfo where
+    type AttrAllowedOps AboutDialogLogoPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AboutDialogLogoPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
+    type AttrBaseTypeConstraint AboutDialogLogoPropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogLogoPropertyInfo = GdkPixbuf.Pixbuf.Pixbuf
+    type AttrLabel AboutDialogLogoPropertyInfo = "logo"
+    type AttrOrigin AboutDialogLogoPropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogLogo
+    attrSet _ = setAboutDialogLogo
+    attrConstruct _ = constructAboutDialogLogo
+    attrClear _ = clearAboutDialogLogo
+#endif
+
+-- VVV Prop "logo-icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@logo-icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #logoIconName
+@
+-}
+getAboutDialogLogoIconName :: (MonadIO m, IsAboutDialog o) => o -> m T.Text
+getAboutDialogLogoIconName obj = liftIO $ checkUnexpectedNothing "getAboutDialogLogoIconName" $ B.Properties.getObjectPropertyString obj "logo-icon-name"
+
+{- |
+Set the value of the “@logo-icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #logoIconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogLogoIconName :: (MonadIO m, IsAboutDialog o) => o -> T.Text -> m ()
+setAboutDialogLogoIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "logo-icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@logo-icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogLogoIconName :: (IsAboutDialog o) => T.Text -> IO (GValueConstruct o)
+constructAboutDialogLogoIconName val = B.Properties.constructObjectPropertyString "logo-icon-name" (Just val)
+
+{- |
+Set the value of the “@logo-icon-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #logoIconName
+@
+-}
+clearAboutDialogLogoIconName :: (MonadIO m, IsAboutDialog o) => o -> m ()
+clearAboutDialogLogoIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "logo-icon-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data AboutDialogLogoIconNamePropertyInfo
+instance AttrInfo AboutDialogLogoIconNamePropertyInfo where
+    type AttrAllowedOps AboutDialogLogoIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AboutDialogLogoIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AboutDialogLogoIconNamePropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogLogoIconNamePropertyInfo = T.Text
+    type AttrLabel AboutDialogLogoIconNamePropertyInfo = "logo-icon-name"
+    type AttrOrigin AboutDialogLogoIconNamePropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogLogoIconName
+    attrSet _ = setAboutDialogLogoIconName
+    attrConstruct _ = constructAboutDialogLogoIconName
+    attrClear _ = clearAboutDialogLogoIconName
+#endif
+
+-- VVV Prop "program-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@program-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #programName
+@
+-}
+getAboutDialogProgramName :: (MonadIO m, IsAboutDialog o) => o -> m T.Text
+getAboutDialogProgramName obj = liftIO $ checkUnexpectedNothing "getAboutDialogProgramName" $ B.Properties.getObjectPropertyString obj "program-name"
+
+{- |
+Set the value of the “@program-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #programName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogProgramName :: (MonadIO m, IsAboutDialog o) => o -> T.Text -> m ()
+setAboutDialogProgramName obj val = liftIO $ B.Properties.setObjectPropertyString obj "program-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@program-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogProgramName :: (IsAboutDialog o) => T.Text -> IO (GValueConstruct o)
+constructAboutDialogProgramName val = B.Properties.constructObjectPropertyString "program-name" (Just val)
+
+#if ENABLE_OVERLOADING
+data AboutDialogProgramNamePropertyInfo
+instance AttrInfo AboutDialogProgramNamePropertyInfo where
+    type AttrAllowedOps AboutDialogProgramNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AboutDialogProgramNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AboutDialogProgramNamePropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogProgramNamePropertyInfo = T.Text
+    type AttrLabel AboutDialogProgramNamePropertyInfo = "program-name"
+    type AttrOrigin AboutDialogProgramNamePropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogProgramName
+    attrSet _ = setAboutDialogProgramName
+    attrConstruct _ = constructAboutDialogProgramName
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "translator-credits"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@translator-credits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #translatorCredits
+@
+-}
+getAboutDialogTranslatorCredits :: (MonadIO m, IsAboutDialog o) => o -> m T.Text
+getAboutDialogTranslatorCredits obj = liftIO $ checkUnexpectedNothing "getAboutDialogTranslatorCredits" $ B.Properties.getObjectPropertyString obj "translator-credits"
+
+{- |
+Set the value of the “@translator-credits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #translatorCredits 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogTranslatorCredits :: (MonadIO m, IsAboutDialog o) => o -> T.Text -> m ()
+setAboutDialogTranslatorCredits obj val = liftIO $ B.Properties.setObjectPropertyString obj "translator-credits" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@translator-credits@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogTranslatorCredits :: (IsAboutDialog o) => T.Text -> IO (GValueConstruct o)
+constructAboutDialogTranslatorCredits val = B.Properties.constructObjectPropertyString "translator-credits" (Just val)
+
+{- |
+Set the value of the “@translator-credits@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #translatorCredits
+@
+-}
+clearAboutDialogTranslatorCredits :: (MonadIO m, IsAboutDialog o) => o -> m ()
+clearAboutDialogTranslatorCredits obj = liftIO $ B.Properties.setObjectPropertyString obj "translator-credits" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data AboutDialogTranslatorCreditsPropertyInfo
+instance AttrInfo AboutDialogTranslatorCreditsPropertyInfo where
+    type AttrAllowedOps AboutDialogTranslatorCreditsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AboutDialogTranslatorCreditsPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AboutDialogTranslatorCreditsPropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogTranslatorCreditsPropertyInfo = T.Text
+    type AttrLabel AboutDialogTranslatorCreditsPropertyInfo = "translator-credits"
+    type AttrOrigin AboutDialogTranslatorCreditsPropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogTranslatorCredits
+    attrSet _ = setAboutDialogTranslatorCredits
+    attrConstruct _ = constructAboutDialogTranslatorCredits
+    attrClear _ = clearAboutDialogTranslatorCredits
+#endif
+
+-- VVV Prop "version"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@version@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #version
+@
+-}
+getAboutDialogVersion :: (MonadIO m, IsAboutDialog o) => o -> m T.Text
+getAboutDialogVersion obj = liftIO $ checkUnexpectedNothing "getAboutDialogVersion" $ B.Properties.getObjectPropertyString obj "version"
+
+{- |
+Set the value of the “@version@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #version 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogVersion :: (MonadIO m, IsAboutDialog o) => o -> T.Text -> m ()
+setAboutDialogVersion obj val = liftIO $ B.Properties.setObjectPropertyString obj "version" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@version@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogVersion :: (IsAboutDialog o) => T.Text -> IO (GValueConstruct o)
+constructAboutDialogVersion val = B.Properties.constructObjectPropertyString "version" (Just val)
+
+{- |
+Set the value of the “@version@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #version
+@
+-}
+clearAboutDialogVersion :: (MonadIO m, IsAboutDialog o) => o -> m ()
+clearAboutDialogVersion obj = liftIO $ B.Properties.setObjectPropertyString obj "version" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data AboutDialogVersionPropertyInfo
+instance AttrInfo AboutDialogVersionPropertyInfo where
+    type AttrAllowedOps AboutDialogVersionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AboutDialogVersionPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AboutDialogVersionPropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogVersionPropertyInfo = T.Text
+    type AttrLabel AboutDialogVersionPropertyInfo = "version"
+    type AttrOrigin AboutDialogVersionPropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogVersion
+    attrSet _ = setAboutDialogVersion
+    attrConstruct _ = constructAboutDialogVersion
+    attrClear _ = clearAboutDialogVersion
+#endif
+
+-- VVV Prop "website"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@website@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #website
+@
+-}
+getAboutDialogWebsite :: (MonadIO m, IsAboutDialog o) => o -> m T.Text
+getAboutDialogWebsite obj = liftIO $ checkUnexpectedNothing "getAboutDialogWebsite" $ B.Properties.getObjectPropertyString obj "website"
+
+{- |
+Set the value of the “@website@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #website 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogWebsite :: (MonadIO m, IsAboutDialog o) => o -> T.Text -> m ()
+setAboutDialogWebsite obj val = liftIO $ B.Properties.setObjectPropertyString obj "website" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@website@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogWebsite :: (IsAboutDialog o) => T.Text -> IO (GValueConstruct o)
+constructAboutDialogWebsite val = B.Properties.constructObjectPropertyString "website" (Just val)
+
+{- |
+Set the value of the “@website@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #website
+@
+-}
+clearAboutDialogWebsite :: (MonadIO m, IsAboutDialog o) => o -> m ()
+clearAboutDialogWebsite obj = liftIO $ B.Properties.setObjectPropertyString obj "website" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data AboutDialogWebsitePropertyInfo
+instance AttrInfo AboutDialogWebsitePropertyInfo where
+    type AttrAllowedOps AboutDialogWebsitePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AboutDialogWebsitePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AboutDialogWebsitePropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogWebsitePropertyInfo = T.Text
+    type AttrLabel AboutDialogWebsitePropertyInfo = "website"
+    type AttrOrigin AboutDialogWebsitePropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogWebsite
+    attrSet _ = setAboutDialogWebsite
+    attrConstruct _ = constructAboutDialogWebsite
+    attrClear _ = clearAboutDialogWebsite
+#endif
+
+-- VVV Prop "website-label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@website-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #websiteLabel
+@
+-}
+getAboutDialogWebsiteLabel :: (MonadIO m, IsAboutDialog o) => o -> m T.Text
+getAboutDialogWebsiteLabel obj = liftIO $ checkUnexpectedNothing "getAboutDialogWebsiteLabel" $ B.Properties.getObjectPropertyString obj "website-label"
+
+{- |
+Set the value of the “@website-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #websiteLabel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogWebsiteLabel :: (MonadIO m, IsAboutDialog o) => o -> T.Text -> m ()
+setAboutDialogWebsiteLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "website-label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@website-label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogWebsiteLabel :: (IsAboutDialog o) => T.Text -> IO (GValueConstruct o)
+constructAboutDialogWebsiteLabel val = B.Properties.constructObjectPropertyString "website-label" (Just val)
+
+#if ENABLE_OVERLOADING
+data AboutDialogWebsiteLabelPropertyInfo
+instance AttrInfo AboutDialogWebsiteLabelPropertyInfo where
+    type AttrAllowedOps AboutDialogWebsiteLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AboutDialogWebsiteLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AboutDialogWebsiteLabelPropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogWebsiteLabelPropertyInfo = T.Text
+    type AttrLabel AboutDialogWebsiteLabelPropertyInfo = "website-label"
+    type AttrOrigin AboutDialogWebsiteLabelPropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogWebsiteLabel
+    attrSet _ = setAboutDialogWebsiteLabel
+    attrConstruct _ = constructAboutDialogWebsiteLabel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wrap-license"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@wrap-license@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aboutDialog #wrapLicense
+@
+-}
+getAboutDialogWrapLicense :: (MonadIO m, IsAboutDialog o) => o -> m Bool
+getAboutDialogWrapLicense obj = liftIO $ B.Properties.getObjectPropertyBool obj "wrap-license"
+
+{- |
+Set the value of the “@wrap-license@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aboutDialog [ #wrapLicense 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAboutDialogWrapLicense :: (MonadIO m, IsAboutDialog o) => o -> Bool -> m ()
+setAboutDialogWrapLicense obj val = liftIO $ B.Properties.setObjectPropertyBool obj "wrap-license" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap-license@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAboutDialogWrapLicense :: (IsAboutDialog o) => Bool -> IO (GValueConstruct o)
+constructAboutDialogWrapLicense val = B.Properties.constructObjectPropertyBool "wrap-license" val
+
+#if ENABLE_OVERLOADING
+data AboutDialogWrapLicensePropertyInfo
+instance AttrInfo AboutDialogWrapLicensePropertyInfo where
+    type AttrAllowedOps AboutDialogWrapLicensePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AboutDialogWrapLicensePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint AboutDialogWrapLicensePropertyInfo = IsAboutDialog
+    type AttrGetType AboutDialogWrapLicensePropertyInfo = Bool
+    type AttrLabel AboutDialogWrapLicensePropertyInfo = "wrap-license"
+    type AttrOrigin AboutDialogWrapLicensePropertyInfo = AboutDialog
+    attrGet _ = getAboutDialogWrapLicense
+    attrSet _ = setAboutDialogWrapLicense
+    attrConstruct _ = constructAboutDialogWrapLicense
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AboutDialog
+type instance O.AttributeList AboutDialog = AboutDialogAttributeList
+type AboutDialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("artists", AboutDialogArtistsPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("authors", AboutDialogAuthorsPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("comments", AboutDialogCommentsPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("copyright", AboutDialogCopyrightPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("documenters", AboutDialogDocumentersPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("license", AboutDialogLicensePropertyInfo), '("licenseType", AboutDialogLicenseTypePropertyInfo), '("logo", AboutDialogLogoPropertyInfo), '("logoIconName", AboutDialogLogoIconNamePropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("programName", AboutDialogProgramNamePropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("translatorCredits", AboutDialogTranslatorCreditsPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", Gtk.Dialog.DialogUseHeaderBarPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("version", AboutDialogVersionPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("website", AboutDialogWebsitePropertyInfo), '("websiteLabel", AboutDialogWebsiteLabelPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo), '("wrapLicense", AboutDialogWrapLicensePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+aboutDialogArtists :: AttrLabelProxy "artists"
+aboutDialogArtists = AttrLabelProxy
+
+aboutDialogAuthors :: AttrLabelProxy "authors"
+aboutDialogAuthors = AttrLabelProxy
+
+aboutDialogComments :: AttrLabelProxy "comments"
+aboutDialogComments = AttrLabelProxy
+
+aboutDialogCopyright :: AttrLabelProxy "copyright"
+aboutDialogCopyright = AttrLabelProxy
+
+aboutDialogDocumenters :: AttrLabelProxy "documenters"
+aboutDialogDocumenters = AttrLabelProxy
+
+aboutDialogLicense :: AttrLabelProxy "license"
+aboutDialogLicense = AttrLabelProxy
+
+aboutDialogLicenseType :: AttrLabelProxy "licenseType"
+aboutDialogLicenseType = AttrLabelProxy
+
+aboutDialogLogo :: AttrLabelProxy "logo"
+aboutDialogLogo = AttrLabelProxy
+
+aboutDialogLogoIconName :: AttrLabelProxy "logoIconName"
+aboutDialogLogoIconName = AttrLabelProxy
+
+aboutDialogProgramName :: AttrLabelProxy "programName"
+aboutDialogProgramName = AttrLabelProxy
+
+aboutDialogTranslatorCredits :: AttrLabelProxy "translatorCredits"
+aboutDialogTranslatorCredits = AttrLabelProxy
+
+aboutDialogVersion :: AttrLabelProxy "version"
+aboutDialogVersion = AttrLabelProxy
+
+aboutDialogWebsite :: AttrLabelProxy "website"
+aboutDialogWebsite = AttrLabelProxy
+
+aboutDialogWebsiteLabel :: AttrLabelProxy "websiteLabel"
+aboutDialogWebsiteLabel = AttrLabelProxy
+
+aboutDialogWrapLicense :: AttrLabelProxy "wrapLicense"
+aboutDialogWrapLicense = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data AboutDialogActivateLinkSignalInfo
+instance SignalInfo AboutDialogActivateLinkSignalInfo where
+    type HaskellCallbackType AboutDialogActivateLinkSignalInfo = AboutDialogActivateLinkCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AboutDialogActivateLinkCallback cb
+        cb'' <- mk_AboutDialogActivateLinkCallback cb'
+        connectSignalFunPtr obj "activate-link" cb'' connectMode
+
+type instance O.SignalList AboutDialog = AboutDialogSignalList
+type AboutDialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("activateLink", AboutDialogActivateLinkSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", Gtk.Dialog.DialogCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", Gtk.Dialog.DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method AboutDialog::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AboutDialog"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_new" gtk_about_dialog_new :: 
+    IO (Ptr AboutDialog)
+
+{- |
+Creates a new 'GI.Gtk.Objects.AboutDialog.AboutDialog'.
+
+/Since: 2.6/
+-}
+aboutDialogNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m AboutDialog
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+aboutDialogNew  = liftIO $ do
+    result <- gtk_about_dialog_new
+    checkUnexpectedReturnNULL "aboutDialogNew" result
+    result' <- (newObject AboutDialog) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AboutDialog::add_credit_section
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "section_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of the section", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "people", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The people who belong to that section", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_add_credit_section" gtk_about_dialog_add_credit_section :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- section_name : TBasicType TUTF8
+    Ptr CString ->                          -- people : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+{- |
+Creates a new section in the Credits page.
+
+/Since: 3.4/
+-}
+aboutDialogAddCreditSection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: A 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> T.Text
+    {- ^ /@sectionName@/: The name of the section -}
+    -> [T.Text]
+    {- ^ /@people@/: The people who belong to that section -}
+    -> m ()
+aboutDialogAddCreditSection about sectionName people = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    sectionName' <- textToCString sectionName
+    people' <- packZeroTerminatedUTF8CArray people
+    gtk_about_dialog_add_credit_section about' sectionName' people'
+    touchManagedPtr about
+    freeMem sectionName'
+    mapZeroTerminatedCArray freeMem people'
+    freeMem people'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogAddCreditSectionMethodInfo
+instance (signature ~ (T.Text -> [T.Text] -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogAddCreditSectionMethodInfo a signature where
+    overloadedMethod _ = aboutDialogAddCreditSection
+
+#endif
+
+-- method AboutDialog::get_artists
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_artists" gtk_about_dialog_get_artists :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO (Ptr CString)
+
+{- |
+Returns the string which are displayed in the artists tab
+of the secondary credits dialog.
+
+/Since: 2.6/
+-}
+aboutDialogGetArtists ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ A
+ 'Nothing'-terminated string array containing the artists. The array is
+ owned by the about dialog and must not be modified. -}
+aboutDialogGetArtists about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_artists about'
+    checkUnexpectedReturnNULL "aboutDialogGetArtists" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetArtistsMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetArtistsMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetArtists
+
+#endif
+
+-- method AboutDialog::get_authors
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_authors" gtk_about_dialog_get_authors :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO (Ptr CString)
+
+{- |
+Returns the string which are displayed in the authors tab
+of the secondary credits dialog.
+
+/Since: 2.6/
+-}
+aboutDialogGetAuthors ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ A
+ 'Nothing'-terminated string array containing the authors. The array is
+ owned by the about dialog and must not be modified. -}
+aboutDialogGetAuthors about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_authors about'
+    checkUnexpectedReturnNULL "aboutDialogGetAuthors" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetAuthorsMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetAuthorsMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetAuthors
+
+#endif
+
+-- method AboutDialog::get_comments
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_comments" gtk_about_dialog_get_comments :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CString
+
+{- |
+Returns the comments string.
+
+/Since: 2.6/
+-}
+aboutDialogGetComments ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ The comments. The string is owned by the about
+ dialog and must not be modified. -}
+aboutDialogGetComments about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_comments about'
+    checkUnexpectedReturnNULL "aboutDialogGetComments" result
+    result' <- cstringToText result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetCommentsMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetCommentsMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetComments
+
+#endif
+
+-- method AboutDialog::get_copyright
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_copyright" gtk_about_dialog_get_copyright :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CString
+
+{- |
+Returns the copyright string.
+
+/Since: 2.6/
+-}
+aboutDialogGetCopyright ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ The copyright string. The string is owned by the about
+ dialog and must not be modified. -}
+aboutDialogGetCopyright about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_copyright about'
+    checkUnexpectedReturnNULL "aboutDialogGetCopyright" result
+    result' <- cstringToText result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetCopyrightMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetCopyrightMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetCopyright
+
+#endif
+
+-- method AboutDialog::get_documenters
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_documenters" gtk_about_dialog_get_documenters :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO (Ptr CString)
+
+{- |
+Returns the string which are displayed in the documenters
+tab of the secondary credits dialog.
+
+/Since: 2.6/
+-}
+aboutDialogGetDocumenters ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ A
+ 'Nothing'-terminated string array containing the documenters. The
+ array is owned by the about dialog and must not be modified. -}
+aboutDialogGetDocumenters about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_documenters about'
+    checkUnexpectedReturnNULL "aboutDialogGetDocumenters" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetDocumentersMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetDocumentersMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetDocumenters
+
+#endif
+
+-- method AboutDialog::get_license
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_license" gtk_about_dialog_get_license :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CString
+
+{- |
+Returns the license information.
+
+/Since: 2.6/
+-}
+aboutDialogGetLicense ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ The license information. The string is owned by the about
+ dialog and must not be modified. -}
+aboutDialogGetLicense about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_license about'
+    checkUnexpectedReturnNULL "aboutDialogGetLicense" result
+    result' <- cstringToText result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetLicenseMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetLicenseMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetLicense
+
+#endif
+
+-- method AboutDialog::get_license_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "License"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_license_type" gtk_about_dialog_get_license_type :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CUInt
+
+{- |
+Retrieves the license set using 'GI.Gtk.Objects.AboutDialog.aboutDialogSetLicenseType'
+
+/Since: 3.0/
+-}
+aboutDialogGetLicenseType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m Gtk.Enums.License
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.License' value -}
+aboutDialogGetLicenseType about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_license_type about'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetLicenseTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.License), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetLicenseTypeMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetLicenseType
+
+#endif
+
+-- method AboutDialog::get_logo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_logo" gtk_about_dialog_get_logo :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Returns the pixbuf displayed as logo in the about dialog.
+
+/Since: 2.6/
+-}
+aboutDialogGetLogo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ the pixbuf displayed as logo. The
+  pixbuf is owned by the about dialog. If you want to keep a
+  reference to it, you have to call 'GI.GObject.Objects.Object.objectRef' on it. -}
+aboutDialogGetLogo about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_logo about'
+    checkUnexpectedReturnNULL "aboutDialogGetLogo" result
+    result' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetLogoMethodInfo
+instance (signature ~ (m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetLogoMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetLogo
+
+#endif
+
+-- method AboutDialog::get_logo_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_logo_icon_name" gtk_about_dialog_get_logo_icon_name :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CString
+
+{- |
+Returns the icon name displayed as logo in the about dialog.
+
+/Since: 2.6/
+-}
+aboutDialogGetLogoIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ the icon name displayed as logo. The string is
+  owned by the dialog. If you want to keep a reference
+  to it, you have to call 'GI.GLib.Functions.strdup' on it. -}
+aboutDialogGetLogoIconName about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_logo_icon_name about'
+    checkUnexpectedReturnNULL "aboutDialogGetLogoIconName" result
+    result' <- cstringToText result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetLogoIconNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetLogoIconNameMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetLogoIconName
+
+#endif
+
+-- method AboutDialog::get_program_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_program_name" gtk_about_dialog_get_program_name :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CString
+
+{- |
+Returns the program name displayed in the about dialog.
+
+/Since: 2.12/
+-}
+aboutDialogGetProgramName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ The program name. The string is owned by the about
+ dialog and must not be modified. -}
+aboutDialogGetProgramName about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_program_name about'
+    checkUnexpectedReturnNULL "aboutDialogGetProgramName" result
+    result' <- cstringToText result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetProgramNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetProgramNameMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetProgramName
+
+#endif
+
+-- method AboutDialog::get_translator_credits
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_translator_credits" gtk_about_dialog_get_translator_credits :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CString
+
+{- |
+Returns the translator credits string which is displayed
+in the translators tab of the secondary credits dialog.
+
+/Since: 2.6/
+-}
+aboutDialogGetTranslatorCredits ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ The translator credits string. The string is
+  owned by the about dialog and must not be modified. -}
+aboutDialogGetTranslatorCredits about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_translator_credits about'
+    checkUnexpectedReturnNULL "aboutDialogGetTranslatorCredits" result
+    result' <- cstringToText result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetTranslatorCreditsMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetTranslatorCreditsMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetTranslatorCredits
+
+#endif
+
+-- method AboutDialog::get_version
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_version" gtk_about_dialog_get_version :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CString
+
+{- |
+Returns the version string.
+
+/Since: 2.6/
+-}
+aboutDialogGetVersion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ The version string. The string is owned by the about
+ dialog and must not be modified. -}
+aboutDialogGetVersion about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_version about'
+    checkUnexpectedReturnNULL "aboutDialogGetVersion" result
+    result' <- cstringToText result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetVersionMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetVersionMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetVersion
+
+#endif
+
+-- method AboutDialog::get_website
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_website" gtk_about_dialog_get_website :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CString
+
+{- |
+Returns the website URL.
+
+/Since: 2.6/
+-}
+aboutDialogGetWebsite ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ The website URL. The string is owned by the about
+ dialog and must not be modified. -}
+aboutDialogGetWebsite about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_website about'
+    checkUnexpectedReturnNULL "aboutDialogGetWebsite" result
+    result' <- cstringToText result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetWebsiteMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetWebsiteMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetWebsite
+
+#endif
+
+-- method AboutDialog::get_website_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_website_label" gtk_about_dialog_get_website_label :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CString
+
+{- |
+Returns the label used for the website link.
+
+/Since: 2.6/
+-}
+aboutDialogGetWebsiteLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ The label used for the website link. The string is
+    owned by the about dialog and must not be modified. -}
+aboutDialogGetWebsiteLabel about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_website_label about'
+    checkUnexpectedReturnNULL "aboutDialogGetWebsiteLabel" result
+    result' <- cstringToText result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetWebsiteLabelMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetWebsiteLabelMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetWebsiteLabel
+
+#endif
+
+-- method AboutDialog::get_wrap_license
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_get_wrap_license" gtk_about_dialog_get_wrap_license :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    IO CInt
+
+{- |
+Returns whether the license text in /@about@/ is
+automatically wrapped.
+
+/Since: 2.8/
+-}
+aboutDialogGetWrapLicense ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the license text is wrapped -}
+aboutDialogGetWrapLicense about = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    result <- gtk_about_dialog_get_wrap_license about'
+    let result' = (/= 0) result
+    touchManagedPtr about
+    return result'
+
+#if ENABLE_OVERLOADING
+data AboutDialogGetWrapLicenseMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogGetWrapLicenseMethodInfo a signature where
+    overloadedMethod _ = aboutDialogGetWrapLicense
+
+#endif
+
+-- method AboutDialog::set_artists
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "artists", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of strings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_artists" gtk_about_dialog_set_artists :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    Ptr CString ->                          -- artists : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+{- |
+Sets the strings which are displayed in the artists tab
+of the secondary credits dialog.
+
+/Since: 2.6/
+-}
+aboutDialogSetArtists ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> [T.Text]
+    {- ^ /@artists@/: a 'Nothing'-terminated array of strings -}
+    -> m ()
+aboutDialogSetArtists about artists = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    artists' <- packZeroTerminatedUTF8CArray artists
+    gtk_about_dialog_set_artists about' artists'
+    touchManagedPtr about
+    mapZeroTerminatedCArray freeMem artists'
+    freeMem artists'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetArtistsMethodInfo
+instance (signature ~ ([T.Text] -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetArtistsMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetArtists
+
+#endif
+
+-- method AboutDialog::set_authors
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "authors", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of strings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_authors" gtk_about_dialog_set_authors :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    Ptr CString ->                          -- authors : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+{- |
+Sets the strings which are displayed in the authors tab
+of the secondary credits dialog.
+
+/Since: 2.6/
+-}
+aboutDialogSetAuthors ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> [T.Text]
+    {- ^ /@authors@/: a 'Nothing'-terminated array of strings -}
+    -> m ()
+aboutDialogSetAuthors about authors = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    authors' <- packZeroTerminatedUTF8CArray authors
+    gtk_about_dialog_set_authors about' authors'
+    touchManagedPtr about
+    mapZeroTerminatedCArray freeMem authors'
+    freeMem authors'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetAuthorsMethodInfo
+instance (signature ~ ([T.Text] -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetAuthorsMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetAuthors
+
+#endif
+
+-- method AboutDialog::set_comments
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "comments", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a comments string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_comments" gtk_about_dialog_set_comments :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- comments : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the comments string to display in the about dialog.
+This should be a short string of one or two lines.
+
+/Since: 2.6/
+-}
+aboutDialogSetComments ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Maybe (T.Text)
+    {- ^ /@comments@/: a comments string -}
+    -> m ()
+aboutDialogSetComments about comments = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    maybeComments <- case comments of
+        Nothing -> return nullPtr
+        Just jComments -> do
+            jComments' <- textToCString jComments
+            return jComments'
+    gtk_about_dialog_set_comments about' maybeComments
+    touchManagedPtr about
+    freeMem maybeComments
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetCommentsMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetCommentsMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetComments
+
+#endif
+
+-- method AboutDialog::set_copyright
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "copyright", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the copyright string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_copyright" gtk_about_dialog_set_copyright :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- copyright : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the copyright string to display in the about dialog.
+This should be a short string of one or two lines.
+
+/Since: 2.6/
+-}
+aboutDialogSetCopyright ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Maybe (T.Text)
+    {- ^ /@copyright@/: the copyright string -}
+    -> m ()
+aboutDialogSetCopyright about copyright = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    maybeCopyright <- case copyright of
+        Nothing -> return nullPtr
+        Just jCopyright -> do
+            jCopyright' <- textToCString jCopyright
+            return jCopyright'
+    gtk_about_dialog_set_copyright about' maybeCopyright
+    touchManagedPtr about
+    freeMem maybeCopyright
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetCopyrightMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetCopyrightMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetCopyright
+
+#endif
+
+-- method AboutDialog::set_documenters
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "documenters", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of strings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_documenters" gtk_about_dialog_set_documenters :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    Ptr CString ->                          -- documenters : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+{- |
+Sets the strings which are displayed in the documenters tab
+of the secondary credits dialog.
+
+/Since: 2.6/
+-}
+aboutDialogSetDocumenters ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> [T.Text]
+    {- ^ /@documenters@/: a 'Nothing'-terminated array of strings -}
+    -> m ()
+aboutDialogSetDocumenters about documenters = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    documenters' <- packZeroTerminatedUTF8CArray documenters
+    gtk_about_dialog_set_documenters about' documenters'
+    touchManagedPtr about
+    mapZeroTerminatedCArray freeMem documenters'
+    freeMem documenters'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetDocumentersMethodInfo
+instance (signature ~ ([T.Text] -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetDocumentersMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetDocumenters
+
+#endif
+
+-- method AboutDialog::set_license
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "license", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the license information or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_license" gtk_about_dialog_set_license :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- license : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the license information to be displayed in the secondary
+license dialog. If /@license@/ is 'Nothing', the license button is
+hidden.
+
+/Since: 2.6/
+-}
+aboutDialogSetLicense ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Maybe (T.Text)
+    {- ^ /@license@/: the license information or 'Nothing' -}
+    -> m ()
+aboutDialogSetLicense about license = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    maybeLicense <- case license of
+        Nothing -> return nullPtr
+        Just jLicense -> do
+            jLicense' <- textToCString jLicense
+            return jLicense'
+    gtk_about_dialog_set_license about' maybeLicense
+    touchManagedPtr about
+    freeMem maybeLicense
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetLicenseMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetLicenseMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetLicense
+
+#endif
+
+-- method AboutDialog::set_license_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "license_type", argType = TInterface (Name {namespace = "Gtk", name = "License"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of license", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_license_type" gtk_about_dialog_set_license_type :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CUInt ->                                -- license_type : TInterface (Name {namespace = "Gtk", name = "License"})
+    IO ()
+
+{- |
+Sets the license of the application showing the /@about@/ dialog from a
+list of known licenses.
+
+This function overrides the license set using
+'GI.Gtk.Objects.AboutDialog.aboutDialogSetLicense'.
+
+/Since: 3.0/
+-}
+aboutDialogSetLicenseType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Gtk.Enums.License
+    {- ^ /@licenseType@/: the type of license -}
+    -> m ()
+aboutDialogSetLicenseType about licenseType = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    let licenseType' = (fromIntegral . fromEnum) licenseType
+    gtk_about_dialog_set_license_type about' licenseType'
+    touchManagedPtr about
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetLicenseTypeMethodInfo
+instance (signature ~ (Gtk.Enums.License -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetLicenseTypeMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetLicenseType
+
+#endif
+
+-- method AboutDialog::set_logo
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "logo", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_logo" gtk_about_dialog_set_logo :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- logo : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{- |
+Sets the pixbuf to be displayed as logo in the about dialog.
+If it is 'Nothing', the default window icon set with
+'GI.Gtk.Objects.Window.windowSetDefaultIcon' will be used.
+
+/Since: 2.6/
+-}
+aboutDialogSetLogo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Maybe (b)
+    {- ^ /@logo@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', or 'Nothing' -}
+    -> m ()
+aboutDialogSetLogo about logo = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    maybeLogo <- case logo of
+        Nothing -> return nullPtr
+        Just jLogo -> do
+            jLogo' <- unsafeManagedPtrCastPtr jLogo
+            return jLogo'
+    gtk_about_dialog_set_logo about' maybeLogo
+    touchManagedPtr about
+    whenJust logo touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetLogoMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsAboutDialog a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo AboutDialogSetLogoMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetLogo
+
+#endif
+
+-- method AboutDialog::set_logo_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an icon name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_logo_icon_name" gtk_about_dialog_set_logo_icon_name :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the pixbuf to be displayed as logo in the about dialog.
+If it is 'Nothing', the default window icon set with
+'GI.Gtk.Objects.Window.windowSetDefaultIcon' will be used.
+
+/Since: 2.6/
+-}
+aboutDialogSetLogoIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Maybe (T.Text)
+    {- ^ /@iconName@/: an icon name, or 'Nothing' -}
+    -> m ()
+aboutDialogSetLogoIconName about iconName = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    gtk_about_dialog_set_logo_icon_name about' maybeIconName
+    touchManagedPtr about
+    freeMem maybeIconName
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetLogoIconNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetLogoIconNameMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetLogoIconName
+
+#endif
+
+-- method AboutDialog::set_program_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the program name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_program_name" gtk_about_dialog_set_program_name :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the name to display in the about dialog.
+If this is not set, it defaults to 'GI.GLib.Functions.getApplicationName'.
+
+/Since: 2.12/
+-}
+aboutDialogSetProgramName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> T.Text
+    {- ^ /@name@/: the program name -}
+    -> m ()
+aboutDialogSetProgramName about name = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    name' <- textToCString name
+    gtk_about_dialog_set_program_name about' name'
+    touchManagedPtr about
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetProgramNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetProgramNameMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetProgramName
+
+#endif
+
+-- method AboutDialog::set_translator_credits
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "translator_credits", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the translator credits", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_translator_credits" gtk_about_dialog_set_translator_credits :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- translator_credits : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the translator credits string which is displayed in
+the translators tab of the secondary credits dialog.
+
+The intended use for this string is to display the translator
+of the language which is currently used in the user interface.
+Using @/gettext()/@, a simple way to achieve that is to mark the
+string for translation:
+
+=== /C code/
+>
+>GtkWidget *about = gtk_about_dialog_new ();
+>gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (about),
+>                                         _("translator-credits"));
+
+It is a good idea to use the customary msgid “translator-credits” for this
+purpose, since translators will already know the purpose of that msgid, and
+since 'GI.Gtk.Objects.AboutDialog.AboutDialog' will detect if “translator-credits” is untranslated
+and hide the tab.
+
+/Since: 2.6/
+-}
+aboutDialogSetTranslatorCredits ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Maybe (T.Text)
+    {- ^ /@translatorCredits@/: the translator credits -}
+    -> m ()
+aboutDialogSetTranslatorCredits about translatorCredits = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    maybeTranslatorCredits <- case translatorCredits of
+        Nothing -> return nullPtr
+        Just jTranslatorCredits -> do
+            jTranslatorCredits' <- textToCString jTranslatorCredits
+            return jTranslatorCredits'
+    gtk_about_dialog_set_translator_credits about' maybeTranslatorCredits
+    touchManagedPtr about
+    freeMem maybeTranslatorCredits
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetTranslatorCreditsMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetTranslatorCreditsMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetTranslatorCredits
+
+#endif
+
+-- method AboutDialog::set_version
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the version string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_version" gtk_about_dialog_set_version :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- version : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the version string to display in the about dialog.
+
+/Since: 2.6/
+-}
+aboutDialogSetVersion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Maybe (T.Text)
+    {- ^ /@version@/: the version string -}
+    -> m ()
+aboutDialogSetVersion about version = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    maybeVersion <- case version of
+        Nothing -> return nullPtr
+        Just jVersion -> do
+            jVersion' <- textToCString jVersion
+            return jVersion'
+    gtk_about_dialog_set_version about' maybeVersion
+    touchManagedPtr about
+    freeMem maybeVersion
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetVersionMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetVersionMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetVersion
+
+#endif
+
+-- method AboutDialog::set_website
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "website", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a URL string starting with \"http://\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_website" gtk_about_dialog_set_website :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- website : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the URL to use for the website link.
+
+/Since: 2.6/
+-}
+aboutDialogSetWebsite ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Maybe (T.Text)
+    {- ^ /@website@/: a URL string starting with \"http:\/\/\" -}
+    -> m ()
+aboutDialogSetWebsite about website = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    maybeWebsite <- case website of
+        Nothing -> return nullPtr
+        Just jWebsite -> do
+            jWebsite' <- textToCString jWebsite
+            return jWebsite'
+    gtk_about_dialog_set_website about' maybeWebsite
+    touchManagedPtr about
+    freeMem maybeWebsite
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetWebsiteMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetWebsiteMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetWebsite
+
+#endif
+
+-- method AboutDialog::set_website_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "website_label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the label used for the website link", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_website_label" gtk_about_dialog_set_website_label :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CString ->                              -- website_label : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the label to be used for the website link.
+
+/Since: 2.6/
+-}
+aboutDialogSetWebsiteLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> T.Text
+    {- ^ /@websiteLabel@/: the label used for the website link -}
+    -> m ()
+aboutDialogSetWebsiteLabel about websiteLabel = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    websiteLabel' <- textToCString websiteLabel
+    gtk_about_dialog_set_website_label about' websiteLabel'
+    touchManagedPtr about
+    freeMem websiteLabel'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetWebsiteLabelMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetWebsiteLabelMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetWebsiteLabel
+
+#endif
+
+-- method AboutDialog::set_wrap_license
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "about", argType = TInterface (Name {namespace = "Gtk", name = "AboutDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAboutDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wrap_license", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to wrap the license", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_about_dialog_set_wrap_license" gtk_about_dialog_set_wrap_license :: 
+    Ptr AboutDialog ->                      -- about : TInterface (Name {namespace = "Gtk", name = "AboutDialog"})
+    CInt ->                                 -- wrap_license : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the license text in /@about@/ is
+automatically wrapped.
+
+/Since: 2.8/
+-}
+aboutDialogSetWrapLicense ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAboutDialog a) =>
+    a
+    {- ^ /@about@/: a 'GI.Gtk.Objects.AboutDialog.AboutDialog' -}
+    -> Bool
+    {- ^ /@wrapLicense@/: whether to wrap the license -}
+    -> m ()
+aboutDialogSetWrapLicense about wrapLicense = liftIO $ do
+    about' <- unsafeManagedPtrCastPtr about
+    let wrapLicense' = (fromIntegral . fromEnum) wrapLicense
+    gtk_about_dialog_set_wrap_license about' wrapLicense'
+    touchManagedPtr about
+    return ()
+
+#if ENABLE_OVERLOADING
+data AboutDialogSetWrapLicenseMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAboutDialog a) => O.MethodInfo AboutDialogSetWrapLicenseMethodInfo a signature where
+    overloadedMethod _ = aboutDialogSetWrapLicense
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/AboutDialog.hs-boot b/GI/Gtk/Objects/AboutDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AboutDialog.hs-boot
@@ -0,0 +1,170 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.AboutDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AboutDialog = AboutDialog (ManagedPtr AboutDialog)
+instance GObject AboutDialog where
+class (GObject o, O.IsDescendantOf AboutDialog o) => IsAboutDialog o
+instance (GObject o, O.IsDescendantOf AboutDialog o) => IsAboutDialog o
+instance O.HasParentTypes AboutDialog
+#if ENABLE_OVERLOADING
+data AboutDialogArtistsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogAuthorsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogCommentsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogCopyrightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogDocumentersPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogLicensePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogLicenseTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogLogoPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogLogoIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogProgramNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogTranslatorCreditsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogVersionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogWebsitePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogWebsiteLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogWrapLicensePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogActivateLinkSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogAddCreditSectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetArtistsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetAuthorsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetCommentsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetCopyrightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetDocumentersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetLicenseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetLicenseTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetLogoMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetLogoIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetProgramNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetTranslatorCreditsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetVersionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetWebsiteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetWebsiteLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogGetWrapLicenseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetArtistsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetAuthorsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetCommentsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetCopyrightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetDocumentersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetLicenseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetLicenseTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetLogoMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetLogoIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetProgramNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetTranslatorCreditsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetVersionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetWebsiteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetWebsiteLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AboutDialogSetWrapLicenseMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/AccelGroup.hs b/GI/Gtk/Objects/AccelGroup.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AccelGroup.hs
@@ -0,0 +1,1124 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.AccelGroup.AccelGroup' represents a group of keyboard accelerators,
+typically attached to a toplevel 'GI.Gtk.Objects.Window.Window' (with
+'GI.Gtk.Objects.Window.windowAddAccelGroup'). Usually you won’t need to create a
+'GI.Gtk.Objects.AccelGroup.AccelGroup' directly; instead, when using 'GI.Gtk.Objects.UIManager.UIManager', GTK+
+automatically sets up the accelerators for your menus in the ui
+manager’s 'GI.Gtk.Objects.AccelGroup.AccelGroup'.
+
+Note that “accelerators” are different from
+“mnemonics”. Accelerators are shortcuts for
+activating a menu item; they appear alongside the menu item they’re a
+shortcut for. For example “Ctrl+Q” might appear alongside the “Quit”
+menu item. Mnemonics are shortcuts for GUI elements such as text
+entries or buttons; they appear as underlined characters. See
+'GI.Gtk.Objects.Label.labelNewWithMnemonic'. Menu items can have both accelerators
+and mnemonics, of course.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.AccelGroup
+    ( 
+
+-- * Exported types
+    AccelGroup(..)                          ,
+    IsAccelGroup                            ,
+    toAccelGroup                            ,
+    noAccelGroup                            ,
+
+
+ -- * Methods
+-- ** activate #method:activate#
+
+#if ENABLE_OVERLOADING
+    AccelGroupActivateMethodInfo            ,
+#endif
+    accelGroupActivate                      ,
+
+
+-- ** connect #method:connect#
+
+#if ENABLE_OVERLOADING
+    AccelGroupConnectMethodInfo             ,
+#endif
+    accelGroupConnect                       ,
+
+
+-- ** connectByPath #method:connectByPath#
+
+#if ENABLE_OVERLOADING
+    AccelGroupConnectByPathMethodInfo       ,
+#endif
+    accelGroupConnectByPath                 ,
+
+
+-- ** disconnect #method:disconnect#
+
+#if ENABLE_OVERLOADING
+    AccelGroupDisconnectMethodInfo          ,
+#endif
+    accelGroupDisconnect                    ,
+
+
+-- ** disconnectKey #method:disconnectKey#
+
+#if ENABLE_OVERLOADING
+    AccelGroupDisconnectKeyMethodInfo       ,
+#endif
+    accelGroupDisconnectKey                 ,
+
+
+-- ** find #method:find#
+
+#if ENABLE_OVERLOADING
+    AccelGroupFindMethodInfo                ,
+#endif
+    accelGroupFind                          ,
+
+
+-- ** fromAccelClosure #method:fromAccelClosure#
+
+    accelGroupFromAccelClosure              ,
+
+
+-- ** getIsLocked #method:getIsLocked#
+
+#if ENABLE_OVERLOADING
+    AccelGroupGetIsLockedMethodInfo         ,
+#endif
+    accelGroupGetIsLocked                   ,
+
+
+-- ** getModifierMask #method:getModifierMask#
+
+#if ENABLE_OVERLOADING
+    AccelGroupGetModifierMaskMethodInfo     ,
+#endif
+    accelGroupGetModifierMask               ,
+
+
+-- ** lock #method:lock#
+
+#if ENABLE_OVERLOADING
+    AccelGroupLockMethodInfo                ,
+#endif
+    accelGroupLock                          ,
+
+
+-- ** new #method:new#
+
+    accelGroupNew                           ,
+
+
+-- ** query #method:query#
+
+#if ENABLE_OVERLOADING
+    AccelGroupQueryMethodInfo               ,
+#endif
+    accelGroupQuery                         ,
+
+
+-- ** unlock #method:unlock#
+
+#if ENABLE_OVERLOADING
+    AccelGroupUnlockMethodInfo              ,
+#endif
+    accelGroupUnlock                        ,
+
+
+
+
+ -- * Properties
+-- ** isLocked #attr:isLocked#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    AccelGroupIsLockedPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    accelGroupIsLocked                      ,
+#endif
+    getAccelGroupIsLocked                   ,
+
+
+-- ** modifierMask #attr:modifierMask#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    AccelGroupModifierMaskPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    accelGroupModifierMask                  ,
+#endif
+    getAccelGroupModifierMask               ,
+
+
+
+
+ -- * Signals
+-- ** accelActivate #signal:accelActivate#
+
+    AccelGroupAccelActivateCallback         ,
+#if ENABLE_OVERLOADING
+    AccelGroupAccelActivateSignalInfo       ,
+#endif
+    C_AccelGroupAccelActivateCallback       ,
+    afterAccelGroupAccelActivate            ,
+    genClosure_AccelGroupAccelActivate      ,
+    mk_AccelGroupAccelActivateCallback      ,
+    noAccelGroupAccelActivateCallback       ,
+    onAccelGroupAccelActivate               ,
+    wrap_AccelGroupAccelActivateCallback    ,
+
+
+-- ** accelChanged #signal:accelChanged#
+
+    AccelGroupAccelChangedCallback          ,
+#if ENABLE_OVERLOADING
+    AccelGroupAccelChangedSignalInfo        ,
+#endif
+    C_AccelGroupAccelChangedCallback        ,
+    afterAccelGroupAccelChanged             ,
+    genClosure_AccelGroupAccelChanged       ,
+    mk_AccelGroupAccelChangedCallback       ,
+    noAccelGroupAccelChangedCallback        ,
+    onAccelGroupAccelChanged                ,
+    wrap_AccelGroupAccelChangedCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Structs.AccelGroupEntry as Gtk.AccelGroupEntry
+import {-# SOURCE #-} qualified GI.Gtk.Structs.AccelKey as Gtk.AccelKey
+
+-- | Memory-managed wrapper type.
+newtype AccelGroup = AccelGroup (ManagedPtr AccelGroup)
+foreign import ccall "gtk_accel_group_get_type"
+    c_gtk_accel_group_get_type :: IO GType
+
+instance GObject AccelGroup where
+    gobjectType = c_gtk_accel_group_get_type
+    
+
+-- | Type class for types which can be safely cast to `AccelGroup`, for instance with `toAccelGroup`.
+class (GObject o, O.IsDescendantOf AccelGroup o) => IsAccelGroup o
+instance (GObject o, O.IsDescendantOf AccelGroup o) => IsAccelGroup o
+
+instance O.HasParentTypes AccelGroup
+type instance O.ParentTypes AccelGroup = '[GObject.Object.Object]
+
+-- | Cast to `AccelGroup`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAccelGroup :: (MonadIO m, IsAccelGroup o) => o -> m AccelGroup
+toAccelGroup = liftIO . unsafeCastTo AccelGroup
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AccelGroup`.
+noAccelGroup :: Maybe AccelGroup
+noAccelGroup = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAccelGroupMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAccelGroupMethod "activate" o = AccelGroupActivateMethodInfo
+    ResolveAccelGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAccelGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAccelGroupMethod "connect" o = AccelGroupConnectMethodInfo
+    ResolveAccelGroupMethod "connectByPath" o = AccelGroupConnectByPathMethodInfo
+    ResolveAccelGroupMethod "disconnect" o = AccelGroupDisconnectMethodInfo
+    ResolveAccelGroupMethod "disconnectKey" o = AccelGroupDisconnectKeyMethodInfo
+    ResolveAccelGroupMethod "find" o = AccelGroupFindMethodInfo
+    ResolveAccelGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAccelGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAccelGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAccelGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAccelGroupMethod "lock" o = AccelGroupLockMethodInfo
+    ResolveAccelGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAccelGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAccelGroupMethod "query" o = AccelGroupQueryMethodInfo
+    ResolveAccelGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAccelGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAccelGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAccelGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAccelGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAccelGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAccelGroupMethod "unlock" o = AccelGroupUnlockMethodInfo
+    ResolveAccelGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAccelGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAccelGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAccelGroupMethod "getIsLocked" o = AccelGroupGetIsLockedMethodInfo
+    ResolveAccelGroupMethod "getModifierMask" o = AccelGroupGetModifierMaskMethodInfo
+    ResolveAccelGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAccelGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAccelGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAccelGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAccelGroupMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAccelGroupMethod t AccelGroup, O.MethodInfo info AccelGroup p) => OL.IsLabel t (AccelGroup -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal AccelGroup::accel-activate
+{- |
+The accel-activate signal is an implementation detail of
+'GI.Gtk.Objects.AccelGroup.AccelGroup' and not meant to be used by applications.
+-}
+type AccelGroupAccelActivateCallback =
+    GObject.Object.Object
+    {- ^ /@acceleratable@/: the object on which the accelerator was activated -}
+    -> Word32
+    {- ^ /@keyval@/: the accelerator keyval -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifier@/: the modifier combination of the accelerator -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the accelerator was activated -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AccelGroupAccelActivateCallback`@.
+noAccelGroupAccelActivateCallback :: Maybe AccelGroupAccelActivateCallback
+noAccelGroupAccelActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AccelGroupAccelActivateCallback =
+    Ptr () ->                               -- object
+    Ptr GObject.Object.Object ->
+    Word32 ->
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_AccelGroupAccelActivateCallback`.
+foreign import ccall "wrapper"
+    mk_AccelGroupAccelActivateCallback :: C_AccelGroupAccelActivateCallback -> IO (FunPtr C_AccelGroupAccelActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AccelGroupAccelActivate :: MonadIO m => AccelGroupAccelActivateCallback -> m (GClosure C_AccelGroupAccelActivateCallback)
+genClosure_AccelGroupAccelActivate cb = liftIO $ do
+    let cb' = wrap_AccelGroupAccelActivateCallback cb
+    mk_AccelGroupAccelActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AccelGroupAccelActivateCallback` into a `C_AccelGroupAccelActivateCallback`.
+wrap_AccelGroupAccelActivateCallback ::
+    AccelGroupAccelActivateCallback ->
+    C_AccelGroupAccelActivateCallback
+wrap_AccelGroupAccelActivateCallback _cb _ acceleratable keyval modifier _ = do
+    acceleratable' <- (newObject GObject.Object.Object) acceleratable
+    let modifier' = wordToGFlags modifier
+    result <- _cb  acceleratable' keyval modifier'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@accel-activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' accelGroup #accelActivate callback
+@
+-}
+onAccelGroupAccelActivate :: (IsAccelGroup a, MonadIO m) => a -> AccelGroupAccelActivateCallback -> m SignalHandlerId
+onAccelGroupAccelActivate obj cb = liftIO $ do
+    let cb' = wrap_AccelGroupAccelActivateCallback cb
+    cb'' <- mk_AccelGroupAccelActivateCallback cb'
+    connectSignalFunPtr obj "accel-activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@accel-activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' accelGroup #accelActivate callback
+@
+-}
+afterAccelGroupAccelActivate :: (IsAccelGroup a, MonadIO m) => a -> AccelGroupAccelActivateCallback -> m SignalHandlerId
+afterAccelGroupAccelActivate obj cb = liftIO $ do
+    let cb' = wrap_AccelGroupAccelActivateCallback cb
+    cb'' <- mk_AccelGroupAccelActivateCallback cb'
+    connectSignalFunPtr obj "accel-activate" cb'' SignalConnectAfter
+
+
+-- signal AccelGroup::accel-changed
+{- |
+The accel-changed signal is emitted when an entry
+is added to or removed from the accel group.
+
+Widgets like 'GI.Gtk.Objects.AccelLabel.AccelLabel' which display an associated
+accelerator should connect to this signal, and rebuild
+their visual representation if the /@accelClosure@/ is theirs.
+-}
+type AccelGroupAccelChangedCallback =
+    Word32
+    {- ^ /@keyval@/: the accelerator keyval -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifier@/: the modifier combination of the accelerator -}
+    -> GClosure ()
+    {- ^ /@accelClosure@/: the 'GI.GObject.Structs.Closure.Closure' of the accelerator -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AccelGroupAccelChangedCallback`@.
+noAccelGroupAccelChangedCallback :: Maybe AccelGroupAccelChangedCallback
+noAccelGroupAccelChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AccelGroupAccelChangedCallback =
+    Ptr () ->                               -- object
+    Word32 ->
+    CUInt ->
+    Ptr (GClosure ()) ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AccelGroupAccelChangedCallback`.
+foreign import ccall "wrapper"
+    mk_AccelGroupAccelChangedCallback :: C_AccelGroupAccelChangedCallback -> IO (FunPtr C_AccelGroupAccelChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AccelGroupAccelChanged :: MonadIO m => AccelGroupAccelChangedCallback -> m (GClosure C_AccelGroupAccelChangedCallback)
+genClosure_AccelGroupAccelChanged cb = liftIO $ do
+    let cb' = wrap_AccelGroupAccelChangedCallback cb
+    mk_AccelGroupAccelChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AccelGroupAccelChangedCallback` into a `C_AccelGroupAccelChangedCallback`.
+wrap_AccelGroupAccelChangedCallback ::
+    AccelGroupAccelChangedCallback ->
+    C_AccelGroupAccelChangedCallback
+wrap_AccelGroupAccelChangedCallback _cb _ keyval modifier accelClosure _ = do
+    let modifier' = wordToGFlags modifier
+    accelClosure' <- (B.GClosure.newGClosureFromPtr . FP.castPtr) accelClosure
+    _cb  keyval modifier' accelClosure'
+
+
+{- |
+Connect a signal handler for the “@accel-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' accelGroup #accelChanged callback
+@
+-}
+onAccelGroupAccelChanged :: (IsAccelGroup a, MonadIO m) => a -> AccelGroupAccelChangedCallback -> m SignalHandlerId
+onAccelGroupAccelChanged obj cb = liftIO $ do
+    let cb' = wrap_AccelGroupAccelChangedCallback cb
+    cb'' <- mk_AccelGroupAccelChangedCallback cb'
+    connectSignalFunPtr obj "accel-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@accel-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' accelGroup #accelChanged callback
+@
+-}
+afterAccelGroupAccelChanged :: (IsAccelGroup a, MonadIO m) => a -> AccelGroupAccelChangedCallback -> m SignalHandlerId
+afterAccelGroupAccelChanged obj cb = liftIO $ do
+    let cb' = wrap_AccelGroupAccelChangedCallback cb
+    cb'' <- mk_AccelGroupAccelChangedCallback cb'
+    connectSignalFunPtr obj "accel-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "is-locked"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@is-locked@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelGroup #isLocked
+@
+-}
+getAccelGroupIsLocked :: (MonadIO m, IsAccelGroup o) => o -> m Bool
+getAccelGroupIsLocked obj = liftIO $ B.Properties.getObjectPropertyBool obj "is-locked"
+
+#if ENABLE_OVERLOADING
+data AccelGroupIsLockedPropertyInfo
+instance AttrInfo AccelGroupIsLockedPropertyInfo where
+    type AttrAllowedOps AccelGroupIsLockedPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint AccelGroupIsLockedPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint AccelGroupIsLockedPropertyInfo = IsAccelGroup
+    type AttrGetType AccelGroupIsLockedPropertyInfo = Bool
+    type AttrLabel AccelGroupIsLockedPropertyInfo = "is-locked"
+    type AttrOrigin AccelGroupIsLockedPropertyInfo = AccelGroup
+    attrGet _ = getAccelGroupIsLocked
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "modifier-mask"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@modifier-mask@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelGroup #modifierMask
+@
+-}
+getAccelGroupModifierMask :: (MonadIO m, IsAccelGroup o) => o -> m [Gdk.Flags.ModifierType]
+getAccelGroupModifierMask obj = liftIO $ B.Properties.getObjectPropertyFlags obj "modifier-mask"
+
+#if ENABLE_OVERLOADING
+data AccelGroupModifierMaskPropertyInfo
+instance AttrInfo AccelGroupModifierMaskPropertyInfo where
+    type AttrAllowedOps AccelGroupModifierMaskPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint AccelGroupModifierMaskPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint AccelGroupModifierMaskPropertyInfo = IsAccelGroup
+    type AttrGetType AccelGroupModifierMaskPropertyInfo = [Gdk.Flags.ModifierType]
+    type AttrLabel AccelGroupModifierMaskPropertyInfo = "modifier-mask"
+    type AttrOrigin AccelGroupModifierMaskPropertyInfo = AccelGroup
+    attrGet _ = getAccelGroupModifierMask
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AccelGroup
+type instance O.AttributeList AccelGroup = AccelGroupAttributeList
+type AccelGroupAttributeList = ('[ '("isLocked", AccelGroupIsLockedPropertyInfo), '("modifierMask", AccelGroupModifierMaskPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+accelGroupIsLocked :: AttrLabelProxy "isLocked"
+accelGroupIsLocked = AttrLabelProxy
+
+accelGroupModifierMask :: AttrLabelProxy "modifierMask"
+accelGroupModifierMask = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data AccelGroupAccelActivateSignalInfo
+instance SignalInfo AccelGroupAccelActivateSignalInfo where
+    type HaskellCallbackType AccelGroupAccelActivateSignalInfo = AccelGroupAccelActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AccelGroupAccelActivateCallback cb
+        cb'' <- mk_AccelGroupAccelActivateCallback cb'
+        connectSignalFunPtr obj "accel-activate" cb'' connectMode
+
+data AccelGroupAccelChangedSignalInfo
+instance SignalInfo AccelGroupAccelChangedSignalInfo where
+    type HaskellCallbackType AccelGroupAccelChangedSignalInfo = AccelGroupAccelChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AccelGroupAccelChangedCallback cb
+        cb'' <- mk_AccelGroupAccelChangedCallback cb'
+        connectSignalFunPtr obj "accel-changed" cb'' connectMode
+
+type instance O.SignalList AccelGroup = AccelGroupSignalList
+type AccelGroupSignalList = ('[ '("accelActivate", AccelGroupAccelActivateSignalInfo), '("accelChanged", AccelGroupAccelChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method AccelGroup::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AccelGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_new" gtk_accel_group_new :: 
+    IO (Ptr AccelGroup)
+
+{- |
+Creates a new 'GI.Gtk.Objects.AccelGroup.AccelGroup'.
+-}
+accelGroupNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m AccelGroup
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.AccelGroup.AccelGroup' object -}
+accelGroupNew  = liftIO $ do
+    result <- gtk_accel_group_new
+    checkUnexpectedReturnNULL "accelGroupNew" result
+    result' <- (wrapObject AccelGroup) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelGroup::activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the quark for the accelerator name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "acceleratable", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GObject, usually a #GtkWindow, on which\n   to activate the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator keyval from a key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "keyboard state mask from a key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_activate" gtk_accel_group_activate :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    Word32 ->                               -- accel_quark : TBasicType TUInt32
+    Ptr GObject.Object.Object ->            -- acceleratable : TInterface (Name {namespace = "GObject", name = "Object"})
+    Word32 ->                               -- accel_key : TBasicType TUInt
+    CUInt ->                                -- accel_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{- |
+Finds the first accelerator in /@accelGroup@/ that matches
+/@accelKey@/ and /@accelMods@/, and activates it.
+-}
+accelGroupActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a, GObject.Object.IsObject b) =>
+    a
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' -}
+    -> Word32
+    {- ^ /@accelQuark@/: the quark for the accelerator name -}
+    -> b
+    {- ^ /@acceleratable@/: the 'GI.GObject.Objects.Object.Object', usually a 'GI.Gtk.Objects.Window.Window', on which
+   to activate the accelerator -}
+    -> Word32
+    {- ^ /@accelKey@/: accelerator keyval from a key event -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: keyboard state mask from a key event -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if an accelerator was activated and handled
+    this keypress -}
+accelGroupActivate accelGroup accelQuark acceleratable accelKey accelMods = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    acceleratable' <- unsafeManagedPtrCastPtr acceleratable
+    let accelMods' = gflagsToWord accelMods
+    result <- gtk_accel_group_activate accelGroup' accelQuark acceleratable' accelKey accelMods'
+    let result' = (/= 0) result
+    touchManagedPtr accelGroup
+    touchManagedPtr acceleratable
+    return result'
+
+#if ENABLE_OVERLOADING
+data AccelGroupActivateMethodInfo
+instance (signature ~ (Word32 -> b -> Word32 -> [Gdk.Flags.ModifierType] -> m Bool), MonadIO m, IsAccelGroup a, GObject.Object.IsObject b) => O.MethodInfo AccelGroupActivateMethodInfo a signature where
+    overloadedMethod _ = accelGroupActivate
+
+#endif
+
+-- method AccelGroup::connect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the accelerator group to install an accelerator in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key value of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "modifier combination of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_flags", argType = TInterface (Name {namespace = "Gtk", name = "AccelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a flag mask to configure this accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure (Just (TInterface (Name {namespace = "Gtk", name = "AccelGroupActivate"}))), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "closure to be executed upon accelerator activation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_connect" gtk_accel_group_connect :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    Word32 ->                               -- accel_key : TBasicType TUInt
+    CUInt ->                                -- accel_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    CUInt ->                                -- accel_flags : TInterface (Name {namespace = "Gtk", name = "AccelFlags"})
+    Ptr (GClosure Gtk.Callbacks.C_AccelGroupActivate) -> -- closure : TGClosure (Just (TInterface (Name {namespace = "Gtk", name = "AccelGroupActivate"})))
+    IO ()
+
+{- |
+Installs an accelerator in this group. When /@accelGroup@/ is being
+activated in response to a call to 'GI.Gtk.Functions.accelGroupsActivate',
+/@closure@/ will be invoked if the /@accelKey@/ and /@accelMods@/ from
+'GI.Gtk.Functions.accelGroupsActivate' match those of this connection.
+
+The signature used for the /@closure@/ is that of 'GI.Gtk.Callbacks.AccelGroupActivate'.
+
+Note that, due to implementation details, a single closure can
+only be connected to one accelerator group.
+-}
+accelGroupConnect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: the accelerator group to install an accelerator in -}
+    -> Word32
+    {- ^ /@accelKey@/: key value of the accelerator -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: modifier combination of the accelerator -}
+    -> [Gtk.Flags.AccelFlags]
+    {- ^ /@accelFlags@/: a flag mask to configure this accelerator -}
+    -> GClosure Gtk.Callbacks.C_AccelGroupActivate
+    {- ^ /@closure@/: closure to be executed upon accelerator activation -}
+    -> m ()
+accelGroupConnect accelGroup accelKey accelMods accelFlags closure = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    let accelMods' = gflagsToWord accelMods
+    let accelFlags' = gflagsToWord accelFlags
+    closure' <- unsafeManagedPtrGetPtr closure
+    gtk_accel_group_connect accelGroup' accelKey accelMods' accelFlags' closure'
+    touchManagedPtr accelGroup
+    touchManagedPtr closure
+    return ()
+
+#if ENABLE_OVERLOADING
+data AccelGroupConnectMethodInfo
+instance (signature ~ (Word32 -> [Gdk.Flags.ModifierType] -> [Gtk.Flags.AccelFlags] -> GClosure Gtk.Callbacks.C_AccelGroupActivate -> m ()), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupConnectMethodInfo a signature where
+    overloadedMethod _ = accelGroupConnect
+
+#endif
+
+-- method AccelGroup::connect_by_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the accelerator group to install an accelerator in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "path used for determining key and modifiers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "closure to be executed upon accelerator activation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_connect_by_path" gtk_accel_group_connect_by_path :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    CString ->                              -- accel_path : TBasicType TUTF8
+    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
+    IO ()
+
+{- |
+Installs an accelerator in this group, using an accelerator path
+to look up the appropriate key and modifiers (see
+'GI.Gtk.Objects.AccelMap.accelMapAddEntry'). When /@accelGroup@/ is being activated
+in response to a call to 'GI.Gtk.Functions.accelGroupsActivate', /@closure@/ will
+be invoked if the /@accelKey@/ and /@accelMods@/ from
+'GI.Gtk.Functions.accelGroupsActivate' match the key and modifiers for the path.
+
+The signature used for the /@closure@/ is that of 'GI.Gtk.Callbacks.AccelGroupActivate'.
+
+Note that /@accelPath@/ string will be stored in a @/GQuark/@. Therefore,
+if you pass a static string, you can save some memory by interning it
+first with 'GI.GLib.Functions.internStaticString'.
+-}
+accelGroupConnectByPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: the accelerator group to install an accelerator in -}
+    -> T.Text
+    {- ^ /@accelPath@/: path used for determining key and modifiers -}
+    -> GClosure b
+    {- ^ /@closure@/: closure to be executed upon accelerator activation -}
+    -> m ()
+accelGroupConnectByPath accelGroup accelPath closure = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    accelPath' <- textToCString accelPath
+    closure' <- unsafeManagedPtrCastPtr closure
+    gtk_accel_group_connect_by_path accelGroup' accelPath' closure'
+    touchManagedPtr accelGroup
+    touchManagedPtr closure
+    freeMem accelPath'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AccelGroupConnectByPathMethodInfo
+instance (signature ~ (T.Text -> GClosure b -> m ()), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupConnectByPathMethodInfo a signature where
+    overloadedMethod _ = accelGroupConnectByPath
+
+#endif
+
+-- method AccelGroup::disconnect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the accelerator group to remove an accelerator from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the closure to remove from this accelerator\n    group, or %NULL to remove all closures", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_disconnect" gtk_accel_group_disconnect :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
+    IO CInt
+
+{- |
+Removes an accelerator previously installed through
+'GI.Gtk.Objects.AccelGroup.accelGroupConnect'.
+
+Since 2.20 /@closure@/ can be 'Nothing'.
+-}
+accelGroupDisconnect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: the accelerator group to remove an accelerator from -}
+    -> Maybe (GClosure b)
+    {- ^ /@closure@/: the closure to remove from this accelerator
+    group, or 'Nothing' to remove all closures -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the closure was found and got disconnected -}
+accelGroupDisconnect accelGroup closure = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    maybeClosure <- case closure of
+        Nothing -> return nullPtr
+        Just jClosure -> do
+            jClosure' <- unsafeManagedPtrCastPtr jClosure
+            return jClosure'
+    result <- gtk_accel_group_disconnect accelGroup' maybeClosure
+    let result' = (/= 0) result
+    touchManagedPtr accelGroup
+    whenJust closure touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data AccelGroupDisconnectMethodInfo
+instance (signature ~ (Maybe (GClosure b) -> m Bool), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupDisconnectMethodInfo a signature where
+    overloadedMethod _ = accelGroupDisconnect
+
+#endif
+
+-- method AccelGroup::disconnect_key
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the accelerator group to install an accelerator in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key value of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "modifier combination of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_disconnect_key" gtk_accel_group_disconnect_key :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    Word32 ->                               -- accel_key : TBasicType TUInt
+    CUInt ->                                -- accel_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{- |
+Removes an accelerator previously installed through
+'GI.Gtk.Objects.AccelGroup.accelGroupConnect'.
+-}
+accelGroupDisconnectKey ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: the accelerator group to install an accelerator in -}
+    -> Word32
+    {- ^ /@accelKey@/: key value of the accelerator -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: modifier combination of the accelerator -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if there was an accelerator which could be
+    removed, 'False' otherwise -}
+accelGroupDisconnectKey accelGroup accelKey accelMods = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    let accelMods' = gflagsToWord accelMods
+    result <- gtk_accel_group_disconnect_key accelGroup' accelKey accelMods'
+    let result' = (/= 0) result
+    touchManagedPtr accelGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data AccelGroupDisconnectKeyMethodInfo
+instance (signature ~ (Word32 -> [Gdk.Flags.ModifierType] -> m Bool), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupDisconnectKeyMethodInfo a signature where
+    overloadedMethod _ = accelGroupDisconnectKey
+
+#endif
+
+-- method AccelGroup::find
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "find_func", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroupFindFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to filter the entries\n   of @accel_group with", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @find_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AccelKey"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_find" gtk_accel_group_find :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    FunPtr Gtk.Callbacks.C_AccelGroupFindFunc -> -- find_func : TInterface (Name {namespace = "Gtk", name = "AccelGroupFindFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO (Ptr Gtk.AccelKey.AccelKey)
+
+{- |
+Finds the first entry in an accelerator group for which
+/@findFunc@/ returns 'True' and returns its 'GI.Gtk.Structs.AccelKey.AccelKey'.
+-}
+accelGroupFind ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' -}
+    -> Gtk.Callbacks.AccelGroupFindFunc
+    {- ^ /@findFunc@/: a function to filter the entries
+   of /@accelGroup@/ with -}
+    -> m Gtk.AccelKey.AccelKey
+    {- ^ __Returns:__ the key of the first entry passing
+   /@findFunc@/. The key is owned by GTK+ and must not be freed. -}
+accelGroupFind accelGroup findFunc = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    findFunc' <- Gtk.Callbacks.mk_AccelGroupFindFunc (Gtk.Callbacks.wrap_AccelGroupFindFunc Nothing (Gtk.Callbacks.drop_closures_AccelGroupFindFunc findFunc))
+    let data_ = nullPtr
+    result <- gtk_accel_group_find accelGroup' findFunc' data_
+    checkUnexpectedReturnNULL "accelGroupFind" result
+    result' <- (newPtr Gtk.AccelKey.AccelKey) result
+    safeFreeFunPtr $ castFunPtrToPtr findFunc'
+    touchManagedPtr accelGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data AccelGroupFindMethodInfo
+instance (signature ~ (Gtk.Callbacks.AccelGroupFindFunc -> m Gtk.AccelKey.AccelKey), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupFindMethodInfo a signature where
+    overloadedMethod _ = accelGroupFind
+
+#endif
+
+-- method AccelGroup::get_is_locked
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_get_is_locked" gtk_accel_group_get_is_locked :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO CInt
+
+{- |
+Locks are added and removed using 'GI.Gtk.Objects.AccelGroup.accelGroupLock' and
+'GI.Gtk.Objects.AccelGroup.accelGroupUnlock'.
+
+/Since: 2.14/
+-}
+accelGroupGetIsLocked ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if there are 1 or more locks on the /@accelGroup@/,
+    'False' otherwise. -}
+accelGroupGetIsLocked accelGroup = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    result <- gtk_accel_group_get_is_locked accelGroup'
+    let result' = (/= 0) result
+    touchManagedPtr accelGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data AccelGroupGetIsLockedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupGetIsLockedMethodInfo a signature where
+    overloadedMethod _ = accelGroupGetIsLocked
+
+#endif
+
+-- method AccelGroup::get_modifier_mask
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "ModifierType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_get_modifier_mask" gtk_accel_group_get_modifier_mask :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO CUInt
+
+{- |
+Gets a 'GI.Gdk.Flags.ModifierType' representing the mask for this
+/@accelGroup@/. For example, @/GDK_CONTROL_MASK/@, @/GDK_SHIFT_MASK/@, etc.
+
+/Since: 2.14/
+-}
+accelGroupGetModifierMask ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' -}
+    -> m [Gdk.Flags.ModifierType]
+    {- ^ __Returns:__ the modifier mask for this accel group. -}
+accelGroupGetModifierMask accelGroup = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    result <- gtk_accel_group_get_modifier_mask accelGroup'
+    let result' = wordToGFlags result
+    touchManagedPtr accelGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data AccelGroupGetModifierMaskMethodInfo
+instance (signature ~ (m [Gdk.Flags.ModifierType]), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupGetModifierMaskMethodInfo a signature where
+    overloadedMethod _ = accelGroupGetModifierMask
+
+#endif
+
+-- method AccelGroup::lock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_lock" gtk_accel_group_lock :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO ()
+
+{- |
+Locks the given accelerator group.
+
+Locking an acelerator group prevents the accelerators contained
+within it to be changed during runtime. Refer to
+'GI.Gtk.Objects.AccelMap.accelMapChangeEntry' about runtime accelerator changes.
+
+If called more than once, /@accelGroup@/ remains locked until
+'GI.Gtk.Objects.AccelGroup.accelGroupUnlock' has been called an equivalent number
+of times.
+-}
+accelGroupLock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' -}
+    -> m ()
+accelGroupLock accelGroup = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    gtk_accel_group_lock accelGroup'
+    touchManagedPtr accelGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data AccelGroupLockMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupLockMethodInfo a signature where
+    overloadedMethod _ = accelGroupLock
+
+#endif
+
+-- method AccelGroup::query
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the accelerator group to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key value of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "modifier combination of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_entries", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return the number\n    of entries found, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_entries", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return the number\n    of entries found, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "AccelGroupEntry"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_query" gtk_accel_group_query :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    Word32 ->                               -- accel_key : TBasicType TUInt
+    CUInt ->                                -- accel_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    Ptr Word32 ->                           -- n_entries : TBasicType TUInt
+    IO (Ptr Gtk.AccelGroupEntry.AccelGroupEntry)
+
+{- |
+Queries an accelerator group for all entries matching /@accelKey@/
+and /@accelMods@/.
+-}
+accelGroupQuery ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: the accelerator group to query -}
+    -> Word32
+    {- ^ /@accelKey@/: key value of the accelerator -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: modifier combination of the accelerator -}
+    -> m (Maybe [Gtk.AccelGroupEntry.AccelGroupEntry])
+    {- ^ __Returns:__ an array of
+    /@nEntries@/ 'GI.Gtk.Structs.AccelGroupEntry.AccelGroupEntry' elements, or 'Nothing'. The array
+    is owned by GTK+ and must not be freed. -}
+accelGroupQuery accelGroup accelKey accelMods = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    let accelMods' = gflagsToWord accelMods
+    nEntries <- allocMem :: IO (Ptr Word32)
+    result <- gtk_accel_group_query accelGroup' accelKey accelMods' nEntries
+    nEntries' <- peek nEntries
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (unpackBlockArrayWithLength 32 nEntries') result'
+        result''' <- mapM (newPtr Gtk.AccelGroupEntry.AccelGroupEntry) result''
+        return result'''
+    touchManagedPtr accelGroup
+    freeMem nEntries
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data AccelGroupQueryMethodInfo
+instance (signature ~ (Word32 -> [Gdk.Flags.ModifierType] -> m (Maybe [Gtk.AccelGroupEntry.AccelGroupEntry])), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupQueryMethodInfo a signature where
+    overloadedMethod _ = accelGroupQuery
+
+#endif
+
+-- method AccelGroup::unlock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_unlock" gtk_accel_group_unlock :: 
+    Ptr AccelGroup ->                       -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO ()
+
+{- |
+Undoes the last call to 'GI.Gtk.Objects.AccelGroup.accelGroupLock' on this /@accelGroup@/.
+-}
+accelGroupUnlock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelGroup a) =>
+    a
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' -}
+    -> m ()
+accelGroupUnlock accelGroup = liftIO $ do
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    gtk_accel_group_unlock accelGroup'
+    touchManagedPtr accelGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data AccelGroupUnlockMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAccelGroup a) => O.MethodInfo AccelGroupUnlockMethodInfo a signature where
+    overloadedMethod _ = accelGroupUnlock
+
+#endif
+
+-- method AccelGroup::from_accel_closure
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GClosure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AccelGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_group_from_accel_closure" gtk_accel_group_from_accel_closure :: 
+    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
+    IO (Ptr AccelGroup)
+
+{- |
+Finds the 'GI.Gtk.Objects.AccelGroup.AccelGroup' to which /@closure@/ is connected;
+see 'GI.Gtk.Objects.AccelGroup.accelGroupConnect'.
+-}
+accelGroupFromAccelClosure ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GClosure a
+    {- ^ /@closure@/: a 'GI.GObject.Structs.Closure.Closure' -}
+    -> m (Maybe AccelGroup)
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.AccelGroup.AccelGroup' to which /@closure@/
+    is connected, or 'Nothing' -}
+accelGroupFromAccelClosure closure = liftIO $ do
+    closure' <- unsafeManagedPtrCastPtr closure
+    result <- gtk_accel_group_from_accel_closure closure'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject AccelGroup) result'
+        return result''
+    touchManagedPtr closure
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/AccelGroup.hs-boot b/GI/Gtk/Objects/AccelGroup.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AccelGroup.hs-boot
@@ -0,0 +1,74 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.AccelGroup where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AccelGroup = AccelGroup (ManagedPtr AccelGroup)
+instance GObject AccelGroup where
+class (GObject o, O.IsDescendantOf AccelGroup o) => IsAccelGroup o
+instance (GObject o, O.IsDescendantOf AccelGroup o) => IsAccelGroup o
+instance O.HasParentTypes AccelGroup
+#if ENABLE_OVERLOADING
+data AccelGroupIsLockedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupModifierMaskPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupAccelActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupAccelChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupConnectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupConnectByPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupDisconnectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupDisconnectKeyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupFindMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupGetIsLockedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupGetModifierMaskMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupLockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupQueryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelGroupUnlockMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/AccelLabel.hs b/GI/Gtk/Objects/AccelLabel.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AccelLabel.hs
@@ -0,0 +1,1070 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.AccelLabel.AccelLabel' widget is a subclass of 'GI.Gtk.Objects.Label.Label' that also displays an
+accelerator key on the right of the label text, e.g. “Ctrl+S”.
+It is commonly used in menus to show the keyboard short-cuts for commands.
+
+The accelerator key to display is typically not set explicitly (although it
+can be, with 'GI.Gtk.Objects.AccelLabel.accelLabelSetAccel'). Instead, the 'GI.Gtk.Objects.AccelLabel.AccelLabel' displays
+the accelerators which have been added to a particular widget. This widget is
+set by calling 'GI.Gtk.Objects.AccelLabel.accelLabelSetAccelWidget'.
+
+For example, a 'GI.Gtk.Objects.MenuItem.MenuItem' widget may have an accelerator added to emit
+the “activate” signal when the “Ctrl+S” key combination is pressed.
+A 'GI.Gtk.Objects.AccelLabel.AccelLabel' is created and added to the 'GI.Gtk.Objects.MenuItem.MenuItem', and
+'GI.Gtk.Objects.AccelLabel.accelLabelSetAccelWidget' is called with the 'GI.Gtk.Objects.MenuItem.MenuItem' as the
+second argument. The 'GI.Gtk.Objects.AccelLabel.AccelLabel' will now display “Ctrl+S” after its label.
+
+Note that creating a 'GI.Gtk.Objects.MenuItem.MenuItem' with 'GI.Gtk.Objects.MenuItem.menuItemNewWithLabel' (or
+one of the similar functions for 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' and 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem')
+automatically adds a 'GI.Gtk.Objects.AccelLabel.AccelLabel' to the 'GI.Gtk.Objects.MenuItem.MenuItem' and calls
+'GI.Gtk.Objects.AccelLabel.accelLabelSetAccelWidget' to set it up for you.
+
+A 'GI.Gtk.Objects.AccelLabel.AccelLabel' will only display accelerators which have 'GI.Gtk.Flags.AccelFlagsVisible'
+set (see 'GI.Gtk.Flags.AccelFlags').
+A 'GI.Gtk.Objects.AccelLabel.AccelLabel' can display multiple accelerators and even signal names,
+though it is almost always used to display just one accelerator key.
+
+== Creating a simple menu item with an accelerator key.
+
+
+=== /C code/
+>
+>  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+>  GtkWidget *menu = gtk_menu_new ();
+>  GtkWidget *save_item;
+>  GtkAccelGroup *accel_group;
+>
+>  // Create a GtkAccelGroup and add it to the window.
+>  accel_group = gtk_accel_group_new ();
+>  gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
+>
+>  // Create the menu item using the convenience function.
+>  save_item = gtk_menu_item_new_with_label ("Save");
+>  gtk_widget_show (save_item);
+>  gtk_container_add (GTK_CONTAINER (menu), save_item);
+>
+>  // Now add the accelerator to the GtkMenuItem. Note that since we
+>  // called gtk_menu_item_new_with_label() to create the GtkMenuItem
+>  // the GtkAccelLabel is automatically set up to display the
+>  // GtkMenuItem accelerators. We just need to make sure we use
+>  // GTK_ACCEL_VISIBLE here.
+>  gtk_widget_add_accelerator (save_item, "activate", accel_group,
+>                              GDK_KEY_s, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>label
+>╰── accelerator
+
+
+Like 'GI.Gtk.Objects.Label.Label', GtkAccelLabel has a main CSS node with the name label.
+It adds a subnode with name accelerator.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.AccelLabel
+    ( 
+
+-- * Exported types
+    AccelLabel(..)                          ,
+    IsAccelLabel                            ,
+    toAccelLabel                            ,
+    noAccelLabel                            ,
+
+
+ -- * Methods
+-- ** getAccel #method:getAccel#
+
+#if ENABLE_OVERLOADING
+    AccelLabelGetAccelMethodInfo            ,
+#endif
+    accelLabelGetAccel                      ,
+
+
+-- ** getAccelWidget #method:getAccelWidget#
+
+#if ENABLE_OVERLOADING
+    AccelLabelGetAccelWidgetMethodInfo      ,
+#endif
+    accelLabelGetAccelWidget                ,
+
+
+-- ** getAccelWidth #method:getAccelWidth#
+
+#if ENABLE_OVERLOADING
+    AccelLabelGetAccelWidthMethodInfo       ,
+#endif
+    accelLabelGetAccelWidth                 ,
+
+
+-- ** new #method:new#
+
+    accelLabelNew                           ,
+
+
+-- ** refetch #method:refetch#
+
+#if ENABLE_OVERLOADING
+    AccelLabelRefetchMethodInfo             ,
+#endif
+    accelLabelRefetch                       ,
+
+
+-- ** setAccel #method:setAccel#
+
+#if ENABLE_OVERLOADING
+    AccelLabelSetAccelMethodInfo            ,
+#endif
+    accelLabelSetAccel                      ,
+
+
+-- ** setAccelClosure #method:setAccelClosure#
+
+#if ENABLE_OVERLOADING
+    AccelLabelSetAccelClosureMethodInfo     ,
+#endif
+    accelLabelSetAccelClosure               ,
+
+
+-- ** setAccelWidget #method:setAccelWidget#
+
+#if ENABLE_OVERLOADING
+    AccelLabelSetAccelWidgetMethodInfo      ,
+#endif
+    accelLabelSetAccelWidget                ,
+
+
+
+
+ -- * Properties
+-- ** accelClosure #attr:accelClosure#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    AccelLabelAccelClosurePropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    accelLabelAccelClosure                  ,
+#endif
+    clearAccelLabelAccelClosure             ,
+    constructAccelLabelAccelClosure         ,
+    getAccelLabelAccelClosure               ,
+    setAccelLabelAccelClosure               ,
+
+
+-- ** accelWidget #attr:accelWidget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    AccelLabelAccelWidgetPropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    accelLabelAccelWidget                   ,
+#endif
+    clearAccelLabelAccelWidget              ,
+    constructAccelLabelAccelWidget          ,
+    getAccelLabelAccelWidget                ,
+    setAccelLabelAccelWidget                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Label as Gtk.Label
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Misc as Gtk.Misc
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype AccelLabel = AccelLabel (ManagedPtr AccelLabel)
+foreign import ccall "gtk_accel_label_get_type"
+    c_gtk_accel_label_get_type :: IO GType
+
+instance GObject AccelLabel where
+    gobjectType = c_gtk_accel_label_get_type
+    
+
+-- | Type class for types which can be safely cast to `AccelLabel`, for instance with `toAccelLabel`.
+class (GObject o, O.IsDescendantOf AccelLabel o) => IsAccelLabel o
+instance (GObject o, O.IsDescendantOf AccelLabel o) => IsAccelLabel o
+
+instance O.HasParentTypes AccelLabel
+type instance O.ParentTypes AccelLabel = '[Gtk.Label.Label, Gtk.Misc.Misc, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `AccelLabel`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAccelLabel :: (MonadIO m, IsAccelLabel o) => o -> m AccelLabel
+toAccelLabel = liftIO . unsafeCastTo AccelLabel
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AccelLabel`.
+noAccelLabel :: Maybe AccelLabel
+noAccelLabel = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAccelLabelMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAccelLabelMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveAccelLabelMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveAccelLabelMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveAccelLabelMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveAccelLabelMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveAccelLabelMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveAccelLabelMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveAccelLabelMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAccelLabelMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAccelLabelMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveAccelLabelMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveAccelLabelMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveAccelLabelMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveAccelLabelMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveAccelLabelMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveAccelLabelMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveAccelLabelMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveAccelLabelMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveAccelLabelMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveAccelLabelMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveAccelLabelMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveAccelLabelMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveAccelLabelMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveAccelLabelMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveAccelLabelMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveAccelLabelMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveAccelLabelMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveAccelLabelMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveAccelLabelMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveAccelLabelMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveAccelLabelMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveAccelLabelMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveAccelLabelMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveAccelLabelMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveAccelLabelMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveAccelLabelMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveAccelLabelMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveAccelLabelMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveAccelLabelMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveAccelLabelMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveAccelLabelMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveAccelLabelMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveAccelLabelMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveAccelLabelMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveAccelLabelMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveAccelLabelMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveAccelLabelMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveAccelLabelMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveAccelLabelMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveAccelLabelMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveAccelLabelMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveAccelLabelMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveAccelLabelMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveAccelLabelMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveAccelLabelMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveAccelLabelMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAccelLabelMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveAccelLabelMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAccelLabelMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAccelLabelMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveAccelLabelMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveAccelLabelMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveAccelLabelMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveAccelLabelMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveAccelLabelMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveAccelLabelMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveAccelLabelMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveAccelLabelMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveAccelLabelMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveAccelLabelMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveAccelLabelMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveAccelLabelMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveAccelLabelMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveAccelLabelMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveAccelLabelMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveAccelLabelMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveAccelLabelMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveAccelLabelMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveAccelLabelMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveAccelLabelMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAccelLabelMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveAccelLabelMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveAccelLabelMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveAccelLabelMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveAccelLabelMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveAccelLabelMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveAccelLabelMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveAccelLabelMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveAccelLabelMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveAccelLabelMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveAccelLabelMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveAccelLabelMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveAccelLabelMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveAccelLabelMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveAccelLabelMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveAccelLabelMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveAccelLabelMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveAccelLabelMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAccelLabelMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAccelLabelMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveAccelLabelMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveAccelLabelMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveAccelLabelMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveAccelLabelMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveAccelLabelMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveAccelLabelMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveAccelLabelMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveAccelLabelMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveAccelLabelMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveAccelLabelMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveAccelLabelMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveAccelLabelMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveAccelLabelMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveAccelLabelMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveAccelLabelMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAccelLabelMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAccelLabelMethod "refetch" o = AccelLabelRefetchMethodInfo
+    ResolveAccelLabelMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveAccelLabelMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveAccelLabelMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveAccelLabelMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveAccelLabelMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveAccelLabelMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveAccelLabelMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveAccelLabelMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveAccelLabelMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveAccelLabelMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveAccelLabelMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAccelLabelMethod "selectRegion" o = Gtk.Label.LabelSelectRegionMethodInfo
+    ResolveAccelLabelMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveAccelLabelMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveAccelLabelMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveAccelLabelMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveAccelLabelMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveAccelLabelMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveAccelLabelMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveAccelLabelMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveAccelLabelMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveAccelLabelMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAccelLabelMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAccelLabelMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveAccelLabelMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveAccelLabelMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveAccelLabelMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAccelLabelMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveAccelLabelMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveAccelLabelMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveAccelLabelMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveAccelLabelMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveAccelLabelMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAccelLabelMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveAccelLabelMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveAccelLabelMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAccelLabelMethod "getAccel" o = AccelLabelGetAccelMethodInfo
+    ResolveAccelLabelMethod "getAccelWidget" o = AccelLabelGetAccelWidgetMethodInfo
+    ResolveAccelLabelMethod "getAccelWidth" o = AccelLabelGetAccelWidthMethodInfo
+    ResolveAccelLabelMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveAccelLabelMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveAccelLabelMethod "getAlignment" o = Gtk.Misc.MiscGetAlignmentMethodInfo
+    ResolveAccelLabelMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveAccelLabelMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveAccelLabelMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveAccelLabelMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveAccelLabelMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveAccelLabelMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveAccelLabelMethod "getAngle" o = Gtk.Label.LabelGetAngleMethodInfo
+    ResolveAccelLabelMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveAccelLabelMethod "getAttributes" o = Gtk.Label.LabelGetAttributesMethodInfo
+    ResolveAccelLabelMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveAccelLabelMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveAccelLabelMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveAccelLabelMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveAccelLabelMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveAccelLabelMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveAccelLabelMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveAccelLabelMethod "getCurrentUri" o = Gtk.Label.LabelGetCurrentUriMethodInfo
+    ResolveAccelLabelMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAccelLabelMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveAccelLabelMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveAccelLabelMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveAccelLabelMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveAccelLabelMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveAccelLabelMethod "getEllipsize" o = Gtk.Label.LabelGetEllipsizeMethodInfo
+    ResolveAccelLabelMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveAccelLabelMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveAccelLabelMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveAccelLabelMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveAccelLabelMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveAccelLabelMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveAccelLabelMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveAccelLabelMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveAccelLabelMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveAccelLabelMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveAccelLabelMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveAccelLabelMethod "getJustify" o = Gtk.Label.LabelGetJustifyMethodInfo
+    ResolveAccelLabelMethod "getLabel" o = Gtk.Label.LabelGetLabelMethodInfo
+    ResolveAccelLabelMethod "getLayout" o = Gtk.Label.LabelGetLayoutMethodInfo
+    ResolveAccelLabelMethod "getLayoutOffsets" o = Gtk.Label.LabelGetLayoutOffsetsMethodInfo
+    ResolveAccelLabelMethod "getLineWrap" o = Gtk.Label.LabelGetLineWrapMethodInfo
+    ResolveAccelLabelMethod "getLineWrapMode" o = Gtk.Label.LabelGetLineWrapModeMethodInfo
+    ResolveAccelLabelMethod "getLines" o = Gtk.Label.LabelGetLinesMethodInfo
+    ResolveAccelLabelMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveAccelLabelMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveAccelLabelMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveAccelLabelMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveAccelLabelMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveAccelLabelMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveAccelLabelMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveAccelLabelMethod "getMaxWidthChars" o = Gtk.Label.LabelGetMaxWidthCharsMethodInfo
+    ResolveAccelLabelMethod "getMnemonicKeyval" o = Gtk.Label.LabelGetMnemonicKeyvalMethodInfo
+    ResolveAccelLabelMethod "getMnemonicWidget" o = Gtk.Label.LabelGetMnemonicWidgetMethodInfo
+    ResolveAccelLabelMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveAccelLabelMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveAccelLabelMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveAccelLabelMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveAccelLabelMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveAccelLabelMethod "getPadding" o = Gtk.Misc.MiscGetPaddingMethodInfo
+    ResolveAccelLabelMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveAccelLabelMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveAccelLabelMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveAccelLabelMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveAccelLabelMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveAccelLabelMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveAccelLabelMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveAccelLabelMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveAccelLabelMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveAccelLabelMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveAccelLabelMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveAccelLabelMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAccelLabelMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAccelLabelMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveAccelLabelMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveAccelLabelMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveAccelLabelMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveAccelLabelMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveAccelLabelMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveAccelLabelMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveAccelLabelMethod "getSelectable" o = Gtk.Label.LabelGetSelectableMethodInfo
+    ResolveAccelLabelMethod "getSelectionBounds" o = Gtk.Label.LabelGetSelectionBoundsMethodInfo
+    ResolveAccelLabelMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveAccelLabelMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveAccelLabelMethod "getSingleLineMode" o = Gtk.Label.LabelGetSingleLineModeMethodInfo
+    ResolveAccelLabelMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveAccelLabelMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveAccelLabelMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveAccelLabelMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveAccelLabelMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveAccelLabelMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveAccelLabelMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveAccelLabelMethod "getText" o = Gtk.Label.LabelGetTextMethodInfo
+    ResolveAccelLabelMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveAccelLabelMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveAccelLabelMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveAccelLabelMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveAccelLabelMethod "getTrackVisitedLinks" o = Gtk.Label.LabelGetTrackVisitedLinksMethodInfo
+    ResolveAccelLabelMethod "getUseMarkup" o = Gtk.Label.LabelGetUseMarkupMethodInfo
+    ResolveAccelLabelMethod "getUseUnderline" o = Gtk.Label.LabelGetUseUnderlineMethodInfo
+    ResolveAccelLabelMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveAccelLabelMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveAccelLabelMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveAccelLabelMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveAccelLabelMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveAccelLabelMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveAccelLabelMethod "getWidthChars" o = Gtk.Label.LabelGetWidthCharsMethodInfo
+    ResolveAccelLabelMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveAccelLabelMethod "getXalign" o = Gtk.Label.LabelGetXalignMethodInfo
+    ResolveAccelLabelMethod "getYalign" o = Gtk.Label.LabelGetYalignMethodInfo
+    ResolveAccelLabelMethod "setAccel" o = AccelLabelSetAccelMethodInfo
+    ResolveAccelLabelMethod "setAccelClosure" o = AccelLabelSetAccelClosureMethodInfo
+    ResolveAccelLabelMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveAccelLabelMethod "setAccelWidget" o = AccelLabelSetAccelWidgetMethodInfo
+    ResolveAccelLabelMethod "setAlignment" o = Gtk.Misc.MiscSetAlignmentMethodInfo
+    ResolveAccelLabelMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveAccelLabelMethod "setAngle" o = Gtk.Label.LabelSetAngleMethodInfo
+    ResolveAccelLabelMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveAccelLabelMethod "setAttributes" o = Gtk.Label.LabelSetAttributesMethodInfo
+    ResolveAccelLabelMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveAccelLabelMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveAccelLabelMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveAccelLabelMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveAccelLabelMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveAccelLabelMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveAccelLabelMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAccelLabelMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveAccelLabelMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveAccelLabelMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveAccelLabelMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveAccelLabelMethod "setEllipsize" o = Gtk.Label.LabelSetEllipsizeMethodInfo
+    ResolveAccelLabelMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveAccelLabelMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveAccelLabelMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveAccelLabelMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveAccelLabelMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveAccelLabelMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveAccelLabelMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveAccelLabelMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveAccelLabelMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveAccelLabelMethod "setJustify" o = Gtk.Label.LabelSetJustifyMethodInfo
+    ResolveAccelLabelMethod "setLabel" o = Gtk.Label.LabelSetLabelMethodInfo
+    ResolveAccelLabelMethod "setLineWrap" o = Gtk.Label.LabelSetLineWrapMethodInfo
+    ResolveAccelLabelMethod "setLineWrapMode" o = Gtk.Label.LabelSetLineWrapModeMethodInfo
+    ResolveAccelLabelMethod "setLines" o = Gtk.Label.LabelSetLinesMethodInfo
+    ResolveAccelLabelMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveAccelLabelMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveAccelLabelMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveAccelLabelMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveAccelLabelMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveAccelLabelMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveAccelLabelMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveAccelLabelMethod "setMarkup" o = Gtk.Label.LabelSetMarkupMethodInfo
+    ResolveAccelLabelMethod "setMarkupWithMnemonic" o = Gtk.Label.LabelSetMarkupWithMnemonicMethodInfo
+    ResolveAccelLabelMethod "setMaxWidthChars" o = Gtk.Label.LabelSetMaxWidthCharsMethodInfo
+    ResolveAccelLabelMethod "setMnemonicWidget" o = Gtk.Label.LabelSetMnemonicWidgetMethodInfo
+    ResolveAccelLabelMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveAccelLabelMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveAccelLabelMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveAccelLabelMethod "setPadding" o = Gtk.Misc.MiscSetPaddingMethodInfo
+    ResolveAccelLabelMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveAccelLabelMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveAccelLabelMethod "setPattern" o = Gtk.Label.LabelSetPatternMethodInfo
+    ResolveAccelLabelMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAccelLabelMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveAccelLabelMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveAccelLabelMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveAccelLabelMethod "setSelectable" o = Gtk.Label.LabelSetSelectableMethodInfo
+    ResolveAccelLabelMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveAccelLabelMethod "setSingleLineMode" o = Gtk.Label.LabelSetSingleLineModeMethodInfo
+    ResolveAccelLabelMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveAccelLabelMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveAccelLabelMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveAccelLabelMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveAccelLabelMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveAccelLabelMethod "setText" o = Gtk.Label.LabelSetTextMethodInfo
+    ResolveAccelLabelMethod "setTextWithMnemonic" o = Gtk.Label.LabelSetTextWithMnemonicMethodInfo
+    ResolveAccelLabelMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveAccelLabelMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveAccelLabelMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveAccelLabelMethod "setTrackVisitedLinks" o = Gtk.Label.LabelSetTrackVisitedLinksMethodInfo
+    ResolveAccelLabelMethod "setUseMarkup" o = Gtk.Label.LabelSetUseMarkupMethodInfo
+    ResolveAccelLabelMethod "setUseUnderline" o = Gtk.Label.LabelSetUseUnderlineMethodInfo
+    ResolveAccelLabelMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveAccelLabelMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveAccelLabelMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveAccelLabelMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveAccelLabelMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveAccelLabelMethod "setWidthChars" o = Gtk.Label.LabelSetWidthCharsMethodInfo
+    ResolveAccelLabelMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveAccelLabelMethod "setXalign" o = Gtk.Label.LabelSetXalignMethodInfo
+    ResolveAccelLabelMethod "setYalign" o = Gtk.Label.LabelSetYalignMethodInfo
+    ResolveAccelLabelMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAccelLabelMethod t AccelLabel, O.MethodInfo info AccelLabel p) => OL.IsLabel t (AccelLabel -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+--- XXX Duplicated object with different types:
+  --- Name {namespace = "Gtk", name = "Label"} -> Property {propName = "xalign", propType = TBasicType TFloat, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The xalign property determines the horizontal aligment of the label text\ninside the labels size allocation. Compare this to #GtkWidget:halign,\nwhich determines how the labels size allocation is positioned in the\nspace available for the label.", sinceVersion = Just "3.16"}, propDeprecated = Nothing}
+  --- Name {namespace = "Gtk", name = "Misc"} -> Property {propName = "xalign", propType = TBasicType TFloat, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The horizontal alignment. A value of 0.0 means left alignment (or right\non RTL locales); a value of 1.0 means right alignment (or left on RTL\nlocales).", sinceVersion = Nothing}, propDeprecated = Just (DeprecationInfo {deprecatedSinceVersion = Just "3.14", deprecationMessage = Just "Use gtk_widget_set_halign() instead. If you are using\n  #GtkLabel, use #GtkLabel:xalign instead."})}
+--- XXX Duplicated object with different types:
+  --- Name {namespace = "Gtk", name = "Label"} -> Property {propName = "yalign", propType = TBasicType TFloat, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The yalign property determines the vertical aligment of the label text\ninside the labels size allocation. Compare this to #GtkWidget:valign,\nwhich determines how the labels size allocation is positioned in the\nspace available for the label.", sinceVersion = Just "3.16"}, propDeprecated = Nothing}
+  --- Name {namespace = "Gtk", name = "Misc"} -> Property {propName = "yalign", propType = TBasicType TFloat, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The vertical alignment. A value of 0.0 means top alignment;\na value of 1.0 means bottom alignment.", sinceVersion = Nothing}, propDeprecated = Just (DeprecationInfo {deprecatedSinceVersion = Just "3.14", deprecationMessage = Just "Use gtk_widget_set_valign() instead. If you are using\n  #GtkLabel, use #GtkLabel:yalign instead."})}
+-- VVV Prop "accel-closure"
+   -- Type: TGClosure Nothing
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+{- |
+Get the value of the “@accel-closure@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelLabel #accelClosure
+@
+-}
+getAccelLabelAccelClosure :: (MonadIO m, IsAccelLabel o) => o -> m (Maybe (GClosure ()))
+getAccelLabelAccelClosure obj = liftIO $ B.Properties.getObjectPropertyClosure obj "accel-closure"
+
+{- |
+Set the value of the “@accel-closure@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' accelLabel [ #accelClosure 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAccelLabelAccelClosure :: (MonadIO m, IsAccelLabel o) => o -> GClosure a -> m ()
+setAccelLabelAccelClosure obj val = liftIO $ B.Properties.setObjectPropertyClosure obj "accel-closure" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-closure@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAccelLabelAccelClosure :: (IsAccelLabel o) => GClosure a -> IO (GValueConstruct o)
+constructAccelLabelAccelClosure val = B.Properties.constructObjectPropertyClosure "accel-closure" (Just val)
+
+{- |
+Set the value of the “@accel-closure@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelClosure
+@
+-}
+clearAccelLabelAccelClosure :: (MonadIO m, IsAccelLabel o) => o -> m ()
+clearAccelLabelAccelClosure obj = liftIO $ B.Properties.setObjectPropertyClosure obj "accel-closure" (Nothing :: Maybe (GClosure a))
+
+#if ENABLE_OVERLOADING
+data AccelLabelAccelClosurePropertyInfo
+instance AttrInfo AccelLabelAccelClosurePropertyInfo where
+    type AttrAllowedOps AccelLabelAccelClosurePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AccelLabelAccelClosurePropertyInfo = (~) (GClosure ())
+    type AttrBaseTypeConstraint AccelLabelAccelClosurePropertyInfo = IsAccelLabel
+    type AttrGetType AccelLabelAccelClosurePropertyInfo = (Maybe (GClosure ()))
+    type AttrLabel AccelLabelAccelClosurePropertyInfo = "accel-closure"
+    type AttrOrigin AccelLabelAccelClosurePropertyInfo = AccelLabel
+    attrGet _ = getAccelLabelAccelClosure
+    attrSet _ = setAccelLabelAccelClosure
+    attrConstruct _ = constructAccelLabelAccelClosure
+    attrClear _ = clearAccelLabelAccelClosure
+#endif
+
+-- VVV Prop "accel-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@accel-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelLabel #accelWidget
+@
+-}
+getAccelLabelAccelWidget :: (MonadIO m, IsAccelLabel o) => o -> m (Maybe Gtk.Widget.Widget)
+getAccelLabelAccelWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "accel-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@accel-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' accelLabel [ #accelWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAccelLabelAccelWidget :: (MonadIO m, IsAccelLabel o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setAccelLabelAccelWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accel-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAccelLabelAccelWidget :: (IsAccelLabel o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructAccelLabelAccelWidget val = B.Properties.constructObjectPropertyObject "accel-widget" (Just val)
+
+{- |
+Set the value of the “@accel-widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelWidget
+@
+-}
+clearAccelLabelAccelWidget :: (MonadIO m, IsAccelLabel o) => o -> m ()
+clearAccelLabelAccelWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "accel-widget" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data AccelLabelAccelWidgetPropertyInfo
+instance AttrInfo AccelLabelAccelWidgetPropertyInfo where
+    type AttrAllowedOps AccelLabelAccelWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AccelLabelAccelWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint AccelLabelAccelWidgetPropertyInfo = IsAccelLabel
+    type AttrGetType AccelLabelAccelWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel AccelLabelAccelWidgetPropertyInfo = "accel-widget"
+    type AttrOrigin AccelLabelAccelWidgetPropertyInfo = AccelLabel
+    attrGet _ = getAccelLabelAccelWidget
+    attrSet _ = setAccelLabelAccelWidget
+    attrConstruct _ = constructAccelLabelAccelWidget
+    attrClear _ = clearAccelLabelAccelWidget
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AccelLabel
+type instance O.AttributeList AccelLabel = AccelLabelAttributeList
+type AccelLabelAttributeList = ('[ '("accelClosure", AccelLabelAccelClosurePropertyInfo), '("accelWidget", AccelLabelAccelWidgetPropertyInfo), '("angle", Gtk.Label.LabelAnglePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("attributes", Gtk.Label.LabelAttributesPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("cursorPosition", Gtk.Label.LabelCursorPositionPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("ellipsize", Gtk.Label.LabelEllipsizePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("justify", Gtk.Label.LabelJustifyPropertyInfo), '("label", Gtk.Label.LabelLabelPropertyInfo), '("lines", Gtk.Label.LabelLinesPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxWidthChars", Gtk.Label.LabelMaxWidthCharsPropertyInfo), '("mnemonicKeyval", Gtk.Label.LabelMnemonicKeyvalPropertyInfo), '("mnemonicWidget", Gtk.Label.LabelMnemonicWidgetPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("pattern", Gtk.Label.LabelPatternPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectable", Gtk.Label.LabelSelectablePropertyInfo), '("selectionBound", Gtk.Label.LabelSelectionBoundPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("singleLineMode", Gtk.Label.LabelSingleLineModePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("trackVisitedLinks", Gtk.Label.LabelTrackVisitedLinksPropertyInfo), '("useMarkup", Gtk.Label.LabelUseMarkupPropertyInfo), '("useUnderline", Gtk.Label.LabelUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthChars", Gtk.Label.LabelWidthCharsPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("wrap", Gtk.Label.LabelWrapPropertyInfo), '("wrapMode", Gtk.Label.LabelWrapModePropertyInfo), '("xalign", Gtk.Label.LabelXalignPropertyInfo), '("xpad", Gtk.Misc.MiscXpadPropertyInfo), '("yalign", Gtk.Label.LabelYalignPropertyInfo), '("ypad", Gtk.Misc.MiscYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+accelLabelAccelClosure :: AttrLabelProxy "accelClosure"
+accelLabelAccelClosure = AttrLabelProxy
+
+accelLabelAccelWidget :: AttrLabelProxy "accelWidget"
+accelLabelAccelWidget = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList AccelLabel = AccelLabelSignalList
+type AccelLabelSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateCurrentLink", Gtk.Label.LabelActivateCurrentLinkSignalInfo), '("activateLink", Gtk.Label.LabelActivateLinkSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("copyClipboard", Gtk.Label.LabelCopyClipboardSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", Gtk.Label.LabelMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("populatePopup", Gtk.Label.LabelPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method AccelLabel::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the label string. Must be non-%NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AccelLabel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_label_new" gtk_accel_label_new :: 
+    CString ->                              -- string : TBasicType TUTF8
+    IO (Ptr AccelLabel)
+
+{- |
+Creates a new 'GI.Gtk.Objects.AccelLabel.AccelLabel'.
+-}
+accelLabelNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@string@/: the label string. Must be non-'Nothing'. -}
+    -> m AccelLabel
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.AccelLabel.AccelLabel'. -}
+accelLabelNew string = liftIO $ do
+    string' <- textToCString string
+    result <- gtk_accel_label_new string'
+    checkUnexpectedReturnNULL "accelLabelNew" result
+    result' <- (newObject AccelLabel) result
+    freeMem string'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelLabel::get_accel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_label", argType = TInterface (Name {namespace = "Gtk", name = "AccelLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_key", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the keyval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "accelerator_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_label_get_accel" gtk_accel_label_get_accel :: 
+    Ptr AccelLabel ->                       -- accel_label : TInterface (Name {namespace = "Gtk", name = "AccelLabel"})
+    Ptr Word32 ->                           -- accelerator_key : TBasicType TUInt
+    Ptr CUInt ->                            -- accelerator_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO ()
+
+{- |
+Gets the keyval and modifier mask set with
+'GI.Gtk.Objects.AccelLabel.accelLabelSetAccel'.
+
+/Since: 3.12/
+-}
+accelLabelGetAccel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelLabel a) =>
+    a
+    {- ^ /@accelLabel@/: a 'GI.Gtk.Objects.AccelLabel.AccelLabel' -}
+    -> m ((Word32, [Gdk.Flags.ModifierType]))
+accelLabelGetAccel accelLabel = liftIO $ do
+    accelLabel' <- unsafeManagedPtrCastPtr accelLabel
+    acceleratorKey <- allocMem :: IO (Ptr Word32)
+    acceleratorMods <- allocMem :: IO (Ptr CUInt)
+    gtk_accel_label_get_accel accelLabel' acceleratorKey acceleratorMods
+    acceleratorKey' <- peek acceleratorKey
+    acceleratorMods' <- peek acceleratorMods
+    let acceleratorMods'' = wordToGFlags acceleratorMods'
+    touchManagedPtr accelLabel
+    freeMem acceleratorKey
+    freeMem acceleratorMods
+    return (acceleratorKey', acceleratorMods'')
+
+#if ENABLE_OVERLOADING
+data AccelLabelGetAccelMethodInfo
+instance (signature ~ (m ((Word32, [Gdk.Flags.ModifierType]))), MonadIO m, IsAccelLabel a) => O.MethodInfo AccelLabelGetAccelMethodInfo a signature where
+    overloadedMethod _ = accelLabelGetAccel
+
+#endif
+
+-- method AccelLabel::get_accel_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_label", argType = TInterface (Name {namespace = "Gtk", name = "AccelLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_label_get_accel_widget" gtk_accel_label_get_accel_widget :: 
+    Ptr AccelLabel ->                       -- accel_label : TInterface (Name {namespace = "Gtk", name = "AccelLabel"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Fetches the widget monitored by this accelerator label. See
+'GI.Gtk.Objects.AccelLabel.accelLabelSetAccelWidget'.
+-}
+accelLabelGetAccelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelLabel a) =>
+    a
+    {- ^ /@accelLabel@/: a 'GI.Gtk.Objects.AccelLabel.AccelLabel' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the object monitored by the accelerator label, or 'Nothing'. -}
+accelLabelGetAccelWidget accelLabel = liftIO $ do
+    accelLabel' <- unsafeManagedPtrCastPtr accelLabel
+    result <- gtk_accel_label_get_accel_widget accelLabel'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr accelLabel
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data AccelLabelGetAccelWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsAccelLabel a) => O.MethodInfo AccelLabelGetAccelWidgetMethodInfo a signature where
+    overloadedMethod _ = accelLabelGetAccelWidget
+
+#endif
+
+-- method AccelLabel::get_accel_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_label", argType = TInterface (Name {namespace = "Gtk", name = "AccelLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelLabel.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_label_get_accel_width" gtk_accel_label_get_accel_width :: 
+    Ptr AccelLabel ->                       -- accel_label : TInterface (Name {namespace = "Gtk", name = "AccelLabel"})
+    IO Word32
+
+{- |
+Returns the width needed to display the accelerator key(s).
+This is used by menus to align all of the 'GI.Gtk.Objects.MenuItem.MenuItem' widgets, and shouldn\'t
+be needed by applications.
+-}
+accelLabelGetAccelWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelLabel a) =>
+    a
+    {- ^ /@accelLabel@/: a 'GI.Gtk.Objects.AccelLabel.AccelLabel'. -}
+    -> m Word32
+    {- ^ __Returns:__ the width needed to display the accelerator key(s). -}
+accelLabelGetAccelWidth accelLabel = liftIO $ do
+    accelLabel' <- unsafeManagedPtrCastPtr accelLabel
+    result <- gtk_accel_label_get_accel_width accelLabel'
+    touchManagedPtr accelLabel
+    return result
+
+#if ENABLE_OVERLOADING
+data AccelLabelGetAccelWidthMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsAccelLabel a) => O.MethodInfo AccelLabelGetAccelWidthMethodInfo a signature where
+    overloadedMethod _ = accelLabelGetAccelWidth
+
+#endif
+
+-- method AccelLabel::refetch
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_label", argType = TInterface (Name {namespace = "Gtk", name = "AccelLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelLabel.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_label_refetch" gtk_accel_label_refetch :: 
+    Ptr AccelLabel ->                       -- accel_label : TInterface (Name {namespace = "Gtk", name = "AccelLabel"})
+    IO CInt
+
+{- |
+Recreates the string representing the accelerator keys.
+This should not be needed since the string is automatically updated whenever
+accelerators are added or removed from the associated widget.
+-}
+accelLabelRefetch ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelLabel a) =>
+    a
+    {- ^ /@accelLabel@/: a 'GI.Gtk.Objects.AccelLabel.AccelLabel'. -}
+    -> m Bool
+    {- ^ __Returns:__ always returns 'False'. -}
+accelLabelRefetch accelLabel = liftIO $ do
+    accelLabel' <- unsafeManagedPtrCastPtr accelLabel
+    result <- gtk_accel_label_refetch accelLabel'
+    let result' = (/= 0) result
+    touchManagedPtr accelLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+data AccelLabelRefetchMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAccelLabel a) => O.MethodInfo AccelLabelRefetchMethodInfo a signature where
+    overloadedMethod _ = accelLabelRefetch
+
+#endif
+
+-- method AccelLabel::set_accel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_label", argType = TInterface (Name {namespace = "Gtk", name = "AccelLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a keyval, or 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the modifier mask for the accel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_label_set_accel" gtk_accel_label_set_accel :: 
+    Ptr AccelLabel ->                       -- accel_label : TInterface (Name {namespace = "Gtk", name = "AccelLabel"})
+    Word32 ->                               -- accelerator_key : TBasicType TUInt
+    CUInt ->                                -- accelerator_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO ()
+
+{- |
+Manually sets a keyval and modifier mask as the accelerator rendered
+by /@accelLabel@/.
+
+If a keyval and modifier are explicitly set then these values are
+used regardless of any associated accel closure or widget.
+
+Providing an /@acceleratorKey@/ of 0 removes the manual setting.
+
+/Since: 3.6/
+-}
+accelLabelSetAccel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelLabel a) =>
+    a
+    {- ^ /@accelLabel@/: a 'GI.Gtk.Objects.AccelLabel.AccelLabel' -}
+    -> Word32
+    {- ^ /@acceleratorKey@/: a keyval, or 0 -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@acceleratorMods@/: the modifier mask for the accel -}
+    -> m ()
+accelLabelSetAccel accelLabel acceleratorKey acceleratorMods = liftIO $ do
+    accelLabel' <- unsafeManagedPtrCastPtr accelLabel
+    let acceleratorMods' = gflagsToWord acceleratorMods
+    gtk_accel_label_set_accel accelLabel' acceleratorKey acceleratorMods'
+    touchManagedPtr accelLabel
+    return ()
+
+#if ENABLE_OVERLOADING
+data AccelLabelSetAccelMethodInfo
+instance (signature ~ (Word32 -> [Gdk.Flags.ModifierType] -> m ()), MonadIO m, IsAccelLabel a) => O.MethodInfo AccelLabelSetAccelMethodInfo a signature where
+    overloadedMethod _ = accelLabelSetAccel
+
+#endif
+
+-- method AccelLabel::set_accel_closure
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_label", argType = TInterface (Name {namespace = "Gtk", name = "AccelLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the closure to monitor for accelerator changes,\nor %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_label_set_accel_closure" gtk_accel_label_set_accel_closure :: 
+    Ptr AccelLabel ->                       -- accel_label : TInterface (Name {namespace = "Gtk", name = "AccelLabel"})
+    Ptr (GClosure ()) ->                    -- accel_closure : TGClosure Nothing
+    IO ()
+
+{- |
+Sets the closure to be monitored by this accelerator label. The closure
+must be connected to an accelerator group; see 'GI.Gtk.Objects.AccelGroup.accelGroupConnect'.
+Passing 'Nothing' for /@accelClosure@/ will dissociate /@accelLabel@/ from its
+current closure, if any.
+-}
+accelLabelSetAccelClosure ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelLabel a) =>
+    a
+    {- ^ /@accelLabel@/: a 'GI.Gtk.Objects.AccelLabel.AccelLabel' -}
+    -> Maybe (GClosure b)
+    {- ^ /@accelClosure@/: the closure to monitor for accelerator changes,
+or 'Nothing' -}
+    -> m ()
+accelLabelSetAccelClosure accelLabel accelClosure = liftIO $ do
+    accelLabel' <- unsafeManagedPtrCastPtr accelLabel
+    maybeAccelClosure <- case accelClosure of
+        Nothing -> return nullPtr
+        Just jAccelClosure -> do
+            jAccelClosure' <- unsafeManagedPtrCastPtr jAccelClosure
+            return jAccelClosure'
+    gtk_accel_label_set_accel_closure accelLabel' maybeAccelClosure
+    touchManagedPtr accelLabel
+    whenJust accelClosure touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data AccelLabelSetAccelClosureMethodInfo
+instance (signature ~ (Maybe (GClosure b) -> m ()), MonadIO m, IsAccelLabel a) => O.MethodInfo AccelLabelSetAccelClosureMethodInfo a signature where
+    overloadedMethod _ = accelLabelSetAccelClosure
+
+#endif
+
+-- method AccelLabel::set_accel_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accel_label", argType = TInterface (Name {namespace = "Gtk", name = "AccelLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget to be monitored, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_label_set_accel_widget" gtk_accel_label_set_accel_widget :: 
+    Ptr AccelLabel ->                       -- accel_label : TInterface (Name {namespace = "Gtk", name = "AccelLabel"})
+    Ptr Gtk.Widget.Widget ->                -- accel_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the widget to be monitored by this accelerator label. Passing 'Nothing' for
+/@accelWidget@/ will dissociate /@accelLabel@/ from its current widget, if any.
+-}
+accelLabelSetAccelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccelLabel a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@accelLabel@/: a 'GI.Gtk.Objects.AccelLabel.AccelLabel' -}
+    -> Maybe (b)
+    {- ^ /@accelWidget@/: the widget to be monitored, or 'Nothing' -}
+    -> m ()
+accelLabelSetAccelWidget accelLabel accelWidget = liftIO $ do
+    accelLabel' <- unsafeManagedPtrCastPtr accelLabel
+    maybeAccelWidget <- case accelWidget of
+        Nothing -> return nullPtr
+        Just jAccelWidget -> do
+            jAccelWidget' <- unsafeManagedPtrCastPtr jAccelWidget
+            return jAccelWidget'
+    gtk_accel_label_set_accel_widget accelLabel' maybeAccelWidget
+    touchManagedPtr accelLabel
+    whenJust accelWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data AccelLabelSetAccelWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsAccelLabel a, Gtk.Widget.IsWidget b) => O.MethodInfo AccelLabelSetAccelWidgetMethodInfo a signature where
+    overloadedMethod _ = accelLabelSetAccelWidget
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/AccelLabel.hs-boot b/GI/Gtk/Objects/AccelLabel.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AccelLabel.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.AccelLabel where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AccelLabel = AccelLabel (ManagedPtr AccelLabel)
+instance GObject AccelLabel where
+class (GObject o, O.IsDescendantOf AccelLabel o) => IsAccelLabel o
+instance (GObject o, O.IsDescendantOf AccelLabel o) => IsAccelLabel o
+instance O.HasParentTypes AccelLabel
+#if ENABLE_OVERLOADING
+data AccelLabelAccelClosurePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelLabelAccelWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelLabelGetAccelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelLabelGetAccelWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelLabelGetAccelWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelLabelRefetchMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelLabelSetAccelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelLabelSetAccelClosureMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccelLabelSetAccelWidgetMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/AccelMap.hs b/GI/Gtk/Objects/AccelMap.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AccelMap.hs
@@ -0,0 +1,863 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Accelerator maps are used to define runtime configurable accelerators.
+Functions for manipulating them are are usually used by higher level
+convenience mechanisms like 'GI.Gtk.Objects.UIManager.UIManager' and are thus considered
+“low-level”. You’ll want to use them if you’re manually creating menus that
+should have user-configurable accelerators.
+
+An accelerator is uniquely defined by:
+
+* accelerator path
+* accelerator key
+* accelerator modifiers
+
+
+The accelerator path must consist of
+“\<WINDOWTYPE>\/Category1\/Category2\/...\/Action”, where WINDOWTYPE
+should be a unique application-specific identifier that corresponds
+to the kind of window the accelerator is being used in, e.g.
+“Gimp-Image”, “Abiword-Document” or “Gnumeric-Settings”.
+The “Category1\/...\/Action” portion is most appropriately chosen by
+the action the accelerator triggers, i.e. for accelerators on menu
+items, choose the item’s menu path, e.g. “File\/Save As”,
+“Image\/View\/Zoom” or “Edit\/Select All”. So a full valid accelerator
+path may look like: “\<Gimp-Toolbox>\/File\/Dialogs\/Tool Options...”.
+
+All accelerators are stored inside one global 'GI.Gtk.Objects.AccelMap.AccelMap' that can
+be obtained using 'GI.Gtk.Objects.AccelMap.accelMapGet'. See
+[Monitoring changes][monitoring-changes] for additional
+details.
+
+= Manipulating accelerators
+
+New accelerators can be added using 'GI.Gtk.Objects.AccelMap.accelMapAddEntry'.
+To search for specific accelerator, use 'GI.Gtk.Objects.AccelMap.accelMapLookupEntry'.
+Modifications of existing accelerators should be done using
+'GI.Gtk.Objects.AccelMap.accelMapChangeEntry'.
+
+In order to avoid having some accelerators changed, they can be
+locked using 'GI.Gtk.Objects.AccelMap.accelMapLockPath'. Unlocking is done using
+'GI.Gtk.Objects.AccelMap.accelMapUnlockPath'.
+
+= Saving and loading accelerator maps
+
+Accelerator maps can be saved to and loaded from some external
+resource. For simple saving and loading from file,
+'GI.Gtk.Objects.AccelMap.accelMapSave' and 'GI.Gtk.Objects.AccelMap.accelMapLoad' are provided.
+Saving and loading can also be done by providing file descriptor
+to 'GI.Gtk.Objects.AccelMap.accelMapSaveFd' and 'GI.Gtk.Objects.AccelMap.accelMapLoadFd'.
+
+= Monitoring changes
+
+'GI.Gtk.Objects.AccelMap.AccelMap' object is only useful for monitoring changes of
+accelerators. By connecting to 'GI.Gtk.Objects.AccelMap.AccelMap'::@/changed/@ signal, one
+can monitor changes of all accelerators. It is also possible to
+monitor only single accelerator path by using it as a detail of
+the 'GI.Gtk.Objects.AccelMap.AccelMap'::@/changed/@ signal.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.AccelMap
+    ( 
+
+-- * Exported types
+    AccelMap(..)                            ,
+    IsAccelMap                              ,
+    toAccelMap                              ,
+    noAccelMap                              ,
+
+
+ -- * Methods
+-- ** addEntry #method:addEntry#
+
+    accelMapAddEntry                        ,
+
+
+-- ** addFilter #method:addFilter#
+
+    accelMapAddFilter                       ,
+
+
+-- ** changeEntry #method:changeEntry#
+
+    accelMapChangeEntry                     ,
+
+
+-- ** foreach #method:foreach#
+
+    accelMapForeach                         ,
+
+
+-- ** foreachUnfiltered #method:foreachUnfiltered#
+
+    accelMapForeachUnfiltered               ,
+
+
+-- ** get #method:get#
+
+    accelMapGet                             ,
+
+
+-- ** load #method:load#
+
+    accelMapLoad                            ,
+
+
+-- ** loadFd #method:loadFd#
+
+    accelMapLoadFd                          ,
+
+
+-- ** loadScanner #method:loadScanner#
+
+    accelMapLoadScanner                     ,
+
+
+-- ** lockPath #method:lockPath#
+
+    accelMapLockPath                        ,
+
+
+-- ** lookupEntry #method:lookupEntry#
+
+    accelMapLookupEntry                     ,
+
+
+-- ** save #method:save#
+
+    accelMapSave                            ,
+
+
+-- ** saveFd #method:saveFd#
+
+    accelMapSaveFd                          ,
+
+
+-- ** unlockPath #method:unlockPath#
+
+    accelMapUnlockPath                      ,
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    AccelMapChangedCallback                 ,
+#if ENABLE_OVERLOADING
+    AccelMapChangedSignalInfo               ,
+#endif
+    C_AccelMapChangedCallback               ,
+    afterAccelMapChanged                    ,
+    genClosure_AccelMapChanged              ,
+    mk_AccelMapChangedCallback              ,
+    noAccelMapChangedCallback               ,
+    onAccelMapChanged                       ,
+    wrap_AccelMapChangedCallback            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Structs.Scanner as GLib.Scanner
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Structs.AccelKey as Gtk.AccelKey
+
+-- | Memory-managed wrapper type.
+newtype AccelMap = AccelMap (ManagedPtr AccelMap)
+foreign import ccall "gtk_accel_map_get_type"
+    c_gtk_accel_map_get_type :: IO GType
+
+instance GObject AccelMap where
+    gobjectType = c_gtk_accel_map_get_type
+    
+
+-- | Type class for types which can be safely cast to `AccelMap`, for instance with `toAccelMap`.
+class (GObject o, O.IsDescendantOf AccelMap o) => IsAccelMap o
+instance (GObject o, O.IsDescendantOf AccelMap o) => IsAccelMap o
+
+instance O.HasParentTypes AccelMap
+type instance O.ParentTypes AccelMap = '[GObject.Object.Object]
+
+-- | Cast to `AccelMap`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAccelMap :: (MonadIO m, IsAccelMap o) => o -> m AccelMap
+toAccelMap = liftIO . unsafeCastTo AccelMap
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AccelMap`.
+noAccelMap :: Maybe AccelMap
+noAccelMap = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAccelMapMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAccelMapMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAccelMapMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAccelMapMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAccelMapMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAccelMapMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAccelMapMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAccelMapMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAccelMapMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAccelMapMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAccelMapMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAccelMapMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAccelMapMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAccelMapMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAccelMapMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAccelMapMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAccelMapMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAccelMapMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAccelMapMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAccelMapMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAccelMapMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAccelMapMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAccelMapMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAccelMapMethod t AccelMap, O.MethodInfo info AccelMap p) => OL.IsLabel t (AccelMap -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal AccelMap::changed
+{- |
+Notifies of a change in the global accelerator map.
+The path is also used as the detail for the signal,
+so it is possible to connect to
+changed::@accel_path@.
+
+/Since: 2.4/
+-}
+type AccelMapChangedCallback =
+    T.Text
+    {- ^ /@accelPath@/: the path of the accelerator that changed -}
+    -> Word32
+    {- ^ /@accelKey@/: the key value for the new accelerator -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: the modifier mask for the new accelerator -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AccelMapChangedCallback`@.
+noAccelMapChangedCallback :: Maybe AccelMapChangedCallback
+noAccelMapChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AccelMapChangedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Word32 ->
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AccelMapChangedCallback`.
+foreign import ccall "wrapper"
+    mk_AccelMapChangedCallback :: C_AccelMapChangedCallback -> IO (FunPtr C_AccelMapChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AccelMapChanged :: MonadIO m => AccelMapChangedCallback -> m (GClosure C_AccelMapChangedCallback)
+genClosure_AccelMapChanged cb = liftIO $ do
+    let cb' = wrap_AccelMapChangedCallback cb
+    mk_AccelMapChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AccelMapChangedCallback` into a `C_AccelMapChangedCallback`.
+wrap_AccelMapChangedCallback ::
+    AccelMapChangedCallback ->
+    C_AccelMapChangedCallback
+wrap_AccelMapChangedCallback _cb _ accelPath accelKey accelMods _ = do
+    accelPath' <- cstringToText accelPath
+    let accelMods' = wordToGFlags accelMods
+    _cb  accelPath' accelKey accelMods'
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' accelMap #changed callback
+@
+-}
+onAccelMapChanged :: (IsAccelMap a, MonadIO m) => a -> AccelMapChangedCallback -> m SignalHandlerId
+onAccelMapChanged obj cb = liftIO $ do
+    let cb' = wrap_AccelMapChangedCallback cb
+    cb'' <- mk_AccelMapChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' accelMap #changed callback
+@
+-}
+afterAccelMapChanged :: (IsAccelMap a, MonadIO m) => a -> AccelMapChangedCallback -> m SignalHandlerId
+afterAccelMapChanged obj cb = liftIO $ do
+    let cb' = wrap_AccelMapChangedCallback cb
+    cb'' <- mk_AccelMapChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AccelMap
+type instance O.AttributeList AccelMap = AccelMapAttributeList
+type AccelMapAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data AccelMapChangedSignalInfo
+instance SignalInfo AccelMapChangedSignalInfo where
+    type HaskellCallbackType AccelMapChangedSignalInfo = AccelMapChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AccelMapChangedCallback cb
+        cb'' <- mk_AccelMapChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+type instance O.SignalList AccelMap = AccelMapSignalList
+type AccelMapSignalList = ('[ '("changed", AccelMapChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method AccelMap::add_entry
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "valid accelerator path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the accelerator key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the accelerator modifiers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_add_entry" gtk_accel_map_add_entry :: 
+    CString ->                              -- accel_path : TBasicType TUTF8
+    Word32 ->                               -- accel_key : TBasicType TUInt
+    CUInt ->                                -- accel_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO ()
+
+{- |
+Registers a new accelerator with the global accelerator map.
+This function should only be called once per /@accelPath@/
+with the canonical /@accelKey@/ and /@accelMods@/ for this path.
+To change the accelerator during runtime programatically, use
+'GI.Gtk.Objects.AccelMap.accelMapChangeEntry'.
+
+Set /@accelKey@/ and /@accelMods@/ to 0 to request a removal of
+the accelerator.
+
+Note that /@accelPath@/ string will be stored in a @/GQuark/@. Therefore, if you
+pass a static string, you can save some memory by interning it first with
+'GI.GLib.Functions.internStaticString'.
+-}
+accelMapAddEntry ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@accelPath@/: valid accelerator path -}
+    -> Word32
+    {- ^ /@accelKey@/: the accelerator key -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: the accelerator modifiers -}
+    -> m ()
+accelMapAddEntry accelPath accelKey accelMods = liftIO $ do
+    accelPath' <- textToCString accelPath
+    let accelMods' = gflagsToWord accelMods
+    gtk_accel_map_add_entry accelPath' accelKey accelMods'
+    freeMem accelPath'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::add_filter
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "filter_pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pattern (see #GPatternSpec)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_add_filter" gtk_accel_map_add_filter :: 
+    CString ->                              -- filter_pattern : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a filter to the global list of accel path filters.
+
+Accel map entries whose accel path matches one of the filters
+are skipped by 'GI.Gtk.Objects.AccelMap.accelMapForeach'.
+
+This function is intended for GTK+ modules that create their own
+menus, but don’t want them to be saved into the applications accelerator
+map dump.
+-}
+accelMapAddFilter ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@filterPattern@/: a pattern (see 'GI.GLib.Structs.PatternSpec.PatternSpec') -}
+    -> m ()
+accelMapAddFilter filterPattern = liftIO $ do
+    filterPattern' <- textToCString filterPattern
+    gtk_accel_map_add_filter filterPattern'
+    freeMem filterPattern'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::change_entry
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid accelerator path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new accelerator key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new accelerator modifiers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replace", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if other accelerators may be deleted upon conflicts", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_change_entry" gtk_accel_map_change_entry :: 
+    CString ->                              -- accel_path : TBasicType TUTF8
+    Word32 ->                               -- accel_key : TBasicType TUInt
+    CUInt ->                                -- accel_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    CInt ->                                 -- replace : TBasicType TBoolean
+    IO CInt
+
+{- |
+Changes the /@accelKey@/ and /@accelMods@/ currently associated with /@accelPath@/.
+Due to conflicts with other accelerators, a change may not always be possible,
+/@replace@/ indicates whether other accelerators may be deleted to resolve such
+conflicts. A change will only occur if all conflicts could be resolved (which
+might not be the case if conflicting accelerators are locked). Successful
+changes are indicated by a 'True' return value.
+
+Note that /@accelPath@/ string will be stored in a @/GQuark/@. Therefore, if you
+pass a static string, you can save some memory by interning it first with
+'GI.GLib.Functions.internStaticString'.
+-}
+accelMapChangeEntry ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@accelPath@/: a valid accelerator path -}
+    -> Word32
+    {- ^ /@accelKey@/: the new accelerator key -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: the new accelerator modifiers -}
+    -> Bool
+    {- ^ /@replace@/: 'True' if other accelerators may be deleted upon conflicts -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the accelerator could be changed, 'False' otherwise -}
+accelMapChangeEntry accelPath accelKey accelMods replace = liftIO $ do
+    accelPath' <- textToCString accelPath
+    let accelMods' = gflagsToWord accelMods
+    let replace' = (fromIntegral . fromEnum) replace
+    result <- gtk_accel_map_change_entry accelPath' accelKey accelMods' replace'
+    let result' = (/= 0) result
+    freeMem accelPath'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::foreach
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to be passed into @foreach_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "foreach_func", argType = TInterface (Name {namespace = "Gtk", name = "AccelMapForeach"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to be executed for each accel\n               map entry which is not filtered out", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_foreach" gtk_accel_map_foreach :: 
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr Gtk.Callbacks.C_AccelMapForeach -> -- foreach_func : TInterface (Name {namespace = "Gtk", name = "AccelMapForeach"})
+    IO ()
+
+{- |
+Loops over the entries in the accelerator map whose accel path
+doesn’t match any of the filters added with 'GI.Gtk.Objects.AccelMap.accelMapAddFilter',
+and execute /@foreachFunc@/ on each. The signature of /@foreachFunc@/ is
+that of 'GI.Gtk.Callbacks.AccelMapForeach', the /@changed@/ parameter indicates whether
+this accelerator was changed during runtime (thus, would need
+saving during an accelerator map dump).
+-}
+accelMapForeach ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Ptr ()
+    {- ^ /@data@/: data to be passed into /@foreachFunc@/ -}
+    -> Gtk.Callbacks.AccelMapForeach
+    {- ^ /@foreachFunc@/: function to be executed for each accel
+               map entry which is not filtered out -}
+    -> m ()
+accelMapForeach data_ foreachFunc = liftIO $ do
+    foreachFunc' <- Gtk.Callbacks.mk_AccelMapForeach (Gtk.Callbacks.wrap_AccelMapForeach Nothing foreachFunc)
+    gtk_accel_map_foreach data_ foreachFunc'
+    safeFreeFunPtr $ castFunPtrToPtr foreachFunc'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::foreach_unfiltered
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to be passed into @foreach_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "foreach_func", argType = TInterface (Name {namespace = "Gtk", name = "AccelMapForeach"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to be executed for each accel\n               map entry", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_foreach_unfiltered" gtk_accel_map_foreach_unfiltered :: 
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr Gtk.Callbacks.C_AccelMapForeach -> -- foreach_func : TInterface (Name {namespace = "Gtk", name = "AccelMapForeach"})
+    IO ()
+
+{- |
+Loops over all entries in the accelerator map, and execute
+/@foreachFunc@/ on each. The signature of /@foreachFunc@/ is that of
+'GI.Gtk.Callbacks.AccelMapForeach', the /@changed@/ parameter indicates whether
+this accelerator was changed during runtime (thus, would need
+saving during an accelerator map dump).
+-}
+accelMapForeachUnfiltered ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Ptr ()
+    {- ^ /@data@/: data to be passed into /@foreachFunc@/ -}
+    -> Gtk.Callbacks.AccelMapForeach
+    {- ^ /@foreachFunc@/: function to be executed for each accel
+               map entry -}
+    -> m ()
+accelMapForeachUnfiltered data_ foreachFunc = liftIO $ do
+    foreachFunc' <- Gtk.Callbacks.mk_AccelMapForeach (Gtk.Callbacks.wrap_AccelMapForeach Nothing foreachFunc)
+    gtk_accel_map_foreach_unfiltered data_ foreachFunc'
+    safeFreeFunPtr $ castFunPtrToPtr foreachFunc'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::get
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AccelMap"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_get" gtk_accel_map_get :: 
+    IO (Ptr AccelMap)
+
+{- |
+Gets the singleton global 'GI.Gtk.Objects.AccelMap.AccelMap' object. This object
+is useful only for notification of changes to the accelerator
+map via the ::changed signal; it isn’t a parameter to the
+other accelerator map functions.
+
+/Since: 2.4/
+-}
+accelMapGet ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m AccelMap
+    {- ^ __Returns:__ the global 'GI.Gtk.Objects.AccelMap.AccelMap' object -}
+accelMapGet  = liftIO $ do
+    result <- gtk_accel_map_get
+    checkUnexpectedReturnNULL "accelMapGet" result
+    result' <- (newObject AccelMap) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::load
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file containing accelerator specifications,\n  in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_load" gtk_accel_map_load :: 
+    CString ->                              -- file_name : TBasicType TFileName
+    IO ()
+
+{- |
+Parses a file previously saved with 'GI.Gtk.Objects.AccelMap.accelMapSave' for
+accelerator specifications, and propagates them accordingly.
+-}
+accelMapLoad ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Char]
+    {- ^ /@fileName@/: a file containing accelerator specifications,
+  in the GLib file name encoding -}
+    -> m ()
+accelMapLoad fileName = liftIO $ do
+    fileName' <- stringToCString fileName
+    gtk_accel_map_load fileName'
+    freeMem fileName'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::load_fd
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid readable file descriptor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_load_fd" gtk_accel_map_load_fd :: 
+    Int32 ->                                -- fd : TBasicType TInt
+    IO ()
+
+{- |
+Filedescriptor variant of 'GI.Gtk.Objects.AccelMap.accelMapLoad'.
+
+Note that the file descriptor will not be closed by this function.
+-}
+accelMapLoadFd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Int32
+    {- ^ /@fd@/: a valid readable file descriptor -}
+    -> m ()
+accelMapLoadFd fd = liftIO $ do
+    gtk_accel_map_load_fd fd
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::load_scanner
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner which has already been provided with an input file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_load_scanner" gtk_accel_map_load_scanner :: 
+    Ptr GLib.Scanner.Scanner ->             -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})
+    IO ()
+
+{- |
+'GI.GLib.Structs.Scanner.Scanner' variant of 'GI.Gtk.Objects.AccelMap.accelMapLoad'.
+-}
+accelMapLoadScanner ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GLib.Scanner.Scanner
+    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' which has already been provided with an input file -}
+    -> m ()
+accelMapLoadScanner scanner = liftIO $ do
+    scanner' <- unsafeManagedPtrGetPtr scanner
+    gtk_accel_map_load_scanner scanner'
+    touchManagedPtr scanner
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::lock_path
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid accelerator path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_lock_path" gtk_accel_map_lock_path :: 
+    CString ->                              -- accel_path : TBasicType TUTF8
+    IO ()
+
+{- |
+Locks the given accelerator path. If the accelerator map doesn’t yet contain
+an entry for /@accelPath@/, a new one is created.
+
+Locking an accelerator path prevents its accelerator from being changed
+during runtime. A locked accelerator path can be unlocked by
+'GI.Gtk.Objects.AccelMap.accelMapUnlockPath'. Refer to 'GI.Gtk.Objects.AccelMap.accelMapChangeEntry'
+for information about runtime accelerator changes.
+
+If called more than once, /@accelPath@/ remains locked until
+'GI.Gtk.Objects.AccelMap.accelMapUnlockPath' has been called an equivalent number
+of times.
+
+Note that locking of individual accelerator paths is independent from
+locking the 'GI.Gtk.Objects.AccelGroup.AccelGroup' containing them. For runtime accelerator
+changes to be possible, both the accelerator path and its 'GI.Gtk.Objects.AccelGroup.AccelGroup'
+have to be unlocked.
+
+/Since: 2.4/
+-}
+accelMapLockPath ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@accelPath@/: a valid accelerator path -}
+    -> m ()
+accelMapLockPath accelPath = liftIO $ do
+    accelPath' <- textToCString accelPath
+    gtk_accel_map_lock_path accelPath'
+    freeMem accelPath'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::lookup_entry
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid accelerator path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TInterface (Name {namespace = "Gtk", name = "AccelKey"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the accelerator key to be filled in (optional)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_lookup_entry" gtk_accel_map_lookup_entry :: 
+    CString ->                              -- accel_path : TBasicType TUTF8
+    Ptr Gtk.AccelKey.AccelKey ->            -- key : TInterface (Name {namespace = "Gtk", name = "AccelKey"})
+    IO CInt
+
+{- |
+Looks up the accelerator entry for /@accelPath@/ and fills in /@key@/.
+-}
+accelMapLookupEntry ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@accelPath@/: a valid accelerator path -}
+    -> m ((Bool, Gtk.AccelKey.AccelKey))
+    {- ^ __Returns:__ 'True' if /@accelPath@/ is known, 'False' otherwise -}
+accelMapLookupEntry accelPath = liftIO $ do
+    accelPath' <- textToCString accelPath
+    key <- callocBytes 12 :: IO (Ptr Gtk.AccelKey.AccelKey)
+    result <- gtk_accel_map_lookup_entry accelPath' key
+    let result' = (/= 0) result
+    key' <- (wrapPtr Gtk.AccelKey.AccelKey) key
+    freeMem accelPath'
+    return (result', key')
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::save
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file to contain\n  accelerator specifications, in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_save" gtk_accel_map_save :: 
+    CString ->                              -- file_name : TBasicType TFileName
+    IO ()
+
+{- |
+Saves current accelerator specifications (accelerator path, key
+and modifiers) to /@fileName@/.
+The file is written in a format suitable to be read back in by
+'GI.Gtk.Objects.AccelMap.accelMapLoad'.
+-}
+accelMapSave ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Char]
+    {- ^ /@fileName@/: the name of the file to contain
+  accelerator specifications, in the GLib file name encoding -}
+    -> m ()
+accelMapSave fileName = liftIO $ do
+    fileName' <- stringToCString fileName
+    gtk_accel_map_save fileName'
+    freeMem fileName'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::save_fd
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid writable file descriptor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_save_fd" gtk_accel_map_save_fd :: 
+    Int32 ->                                -- fd : TBasicType TInt
+    IO ()
+
+{- |
+Filedescriptor variant of 'GI.Gtk.Objects.AccelMap.accelMapSave'.
+
+Note that the file descriptor will not be closed by this function.
+-}
+accelMapSaveFd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Int32
+    {- ^ /@fd@/: a valid writable file descriptor -}
+    -> m ()
+accelMapSaveFd fd = liftIO $ do
+    gtk_accel_map_save_fd fd
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AccelMap::unlock_path
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid accelerator path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accel_map_unlock_path" gtk_accel_map_unlock_path :: 
+    CString ->                              -- accel_path : TBasicType TUTF8
+    IO ()
+
+{- |
+Undoes the last call to 'GI.Gtk.Objects.AccelMap.accelMapLockPath' on this /@accelPath@/.
+Refer to 'GI.Gtk.Objects.AccelMap.accelMapLockPath' for information about accelerator path locking.
+
+/Since: 2.4/
+-}
+accelMapUnlockPath ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@accelPath@/: a valid accelerator path -}
+    -> m ()
+accelMapUnlockPath accelPath = liftIO $ do
+    accelPath' <- textToCString accelPath
+    gtk_accel_map_unlock_path accelPath'
+    freeMem accelPath'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/AccelMap.hs-boot b/GI/Gtk/Objects/AccelMap.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AccelMap.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.AccelMap where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AccelMap = AccelMap (ManagedPtr AccelMap)
+instance GObject AccelMap where
+class (GObject o, O.IsDescendantOf AccelMap o) => IsAccelMap o
+instance (GObject o, O.IsDescendantOf AccelMap o) => IsAccelMap o
+instance O.HasParentTypes AccelMap
+#if ENABLE_OVERLOADING
+data AccelMapChangedSignalInfo
+#endif
diff --git a/GI/Gtk/Objects/Accessible.hs b/GI/Gtk/Objects/Accessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Accessible.hs
@@ -0,0 +1,392 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Accessible.Accessible' class is the base class for accessible
+implementations for 'GI.Gtk.Objects.Widget.Widget' subclasses. It is a thin
+wrapper around 'GI.Atk.Objects.Object.Object', which adds facilities for associating
+a widget with its accessible object.
+
+An accessible implementation for a third-party widget should
+derive from 'GI.Gtk.Objects.Accessible.Accessible' and implement the suitable interfaces
+from ATK, such as 'GI.Atk.Interfaces.Text.Text' or 'GI.Atk.Interfaces.Selection.Selection'. To establish
+the connection between the widget class and its corresponding
+acccessible implementation, override the get_accessible vfunc
+in 'GI.Gtk.Structs.WidgetClass.WidgetClass'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Accessible
+    ( 
+
+-- * Exported types
+    Accessible(..)                          ,
+    IsAccessible                            ,
+    toAccessible                            ,
+    noAccessible                            ,
+
+
+ -- * Methods
+-- ** connectWidgetDestroyed #method:connectWidgetDestroyed#
+
+#if ENABLE_OVERLOADING
+    AccessibleConnectWidgetDestroyedMethodInfo,
+#endif
+    accessibleConnectWidgetDestroyed        ,
+
+
+-- ** getWidget #method:getWidget#
+
+#if ENABLE_OVERLOADING
+    AccessibleGetWidgetMethodInfo           ,
+#endif
+    accessibleGetWidget                     ,
+
+
+-- ** setWidget #method:setWidget#
+
+#if ENABLE_OVERLOADING
+    AccessibleSetWidgetMethodInfo           ,
+#endif
+    accessibleSetWidget                     ,
+
+
+
+
+ -- * Properties
+-- ** widget #attr:widget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    AccessibleWidgetPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    accessibleWidget                        ,
+#endif
+    clearAccessibleWidget                   ,
+    constructAccessibleWidget               ,
+    getAccessibleWidget                     ,
+    setAccessibleWidget                     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Accessible = Accessible (ManagedPtr Accessible)
+foreign import ccall "gtk_accessible_get_type"
+    c_gtk_accessible_get_type :: IO GType
+
+instance GObject Accessible where
+    gobjectType = c_gtk_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `Accessible`, for instance with `toAccessible`.
+class (GObject o, O.IsDescendantOf Accessible o) => IsAccessible o
+instance (GObject o, O.IsDescendantOf Accessible o) => IsAccessible o
+
+instance O.HasParentTypes Accessible
+type instance O.ParentTypes Accessible = '[Atk.Object.Object, GObject.Object.Object]
+
+-- | Cast to `Accessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAccessible :: (MonadIO m, IsAccessible o) => o -> m Accessible
+toAccessible = liftIO . unsafeCastTo Accessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Accessible`.
+noAccessible :: Maybe Accessible
+noAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAccessibleMethod "connectWidgetDestroyed" o = AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveAccessibleMethod "getWidget" o = AccessibleGetWidgetMethodInfo
+    ResolveAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveAccessibleMethod "setWidget" o = AccessibleSetWidgetMethodInfo
+    ResolveAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAccessibleMethod t Accessible, O.MethodInfo info Accessible p) => OL.IsLabel t (Accessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accessible #widget
+@
+-}
+getAccessibleWidget :: (MonadIO m, IsAccessible o) => o -> m (Maybe Gtk.Widget.Widget)
+getAccessibleWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' accessible [ #widget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAccessibleWidget :: (MonadIO m, IsAccessible o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setAccessibleWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAccessibleWidget :: (IsAccessible o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructAccessibleWidget val = B.Properties.constructObjectPropertyObject "widget" (Just val)
+
+{- |
+Set the value of the “@widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #widget
+@
+-}
+clearAccessibleWidget :: (MonadIO m, IsAccessible o) => o -> m ()
+clearAccessibleWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "widget" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data AccessibleWidgetPropertyInfo
+instance AttrInfo AccessibleWidgetPropertyInfo where
+    type AttrAllowedOps AccessibleWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AccessibleWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint AccessibleWidgetPropertyInfo = IsAccessible
+    type AttrGetType AccessibleWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel AccessibleWidgetPropertyInfo = "widget"
+    type AttrOrigin AccessibleWidgetPropertyInfo = Accessible
+    attrGet _ = getAccessibleWidget
+    attrSet _ = setAccessibleWidget
+    attrConstruct _ = constructAccessibleWidget
+    attrClear _ = clearAccessibleWidget
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Accessible
+type instance O.AttributeList Accessible = AccessibleAttributeList
+type AccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+accessibleWidget :: AttrLabelProxy "widget"
+accessibleWidget = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Accessible = AccessibleSignalList
+type AccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Accessible::connect_widget_destroyed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Gtk", name = "Accessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccessible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accessible_connect_widget_destroyed" gtk_accessible_connect_widget_destroyed :: 
+    Ptr Accessible ->                       -- accessible : TInterface (Name {namespace = "Gtk", name = "Accessible"})
+    IO ()
+
+{-# DEPRECATED accessibleConnectWidgetDestroyed ["(Since version 3.4)","Use 'GI.Gtk.Objects.Accessible.accessibleSetWidget' and its vfuncs."] #-}
+{- |
+This function specifies the callback function to be called
+when the widget corresponding to a GtkAccessible is destroyed.
+-}
+accessibleConnectWidgetDestroyed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccessible a) =>
+    a
+    {- ^ /@accessible@/: a 'GI.Gtk.Objects.Accessible.Accessible' -}
+    -> m ()
+accessibleConnectWidgetDestroyed accessible = liftIO $ do
+    accessible' <- unsafeManagedPtrCastPtr accessible
+    gtk_accessible_connect_widget_destroyed accessible'
+    touchManagedPtr accessible
+    return ()
+
+#if ENABLE_OVERLOADING
+data AccessibleConnectWidgetDestroyedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAccessible a) => O.MethodInfo AccessibleConnectWidgetDestroyedMethodInfo a signature where
+    overloadedMethod _ = accessibleConnectWidgetDestroyed
+
+#endif
+
+-- method Accessible::get_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Gtk", name = "Accessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccessible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accessible_get_widget" gtk_accessible_get_widget :: 
+    Ptr Accessible ->                       -- accessible : TInterface (Name {namespace = "Gtk", name = "Accessible"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the 'GI.Gtk.Objects.Widget.Widget' corresponding to the 'GI.Gtk.Objects.Accessible.Accessible'.
+The returned widget does not have a reference added, so
+you do not need to unref it.
+
+/Since: 2.22/
+-}
+accessibleGetWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccessible a) =>
+    a
+    {- ^ /@accessible@/: a 'GI.Gtk.Objects.Accessible.Accessible' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ pointer to the 'GI.Gtk.Objects.Widget.Widget'
+    corresponding to the 'GI.Gtk.Objects.Accessible.Accessible', or 'Nothing'. -}
+accessibleGetWidget accessible = liftIO $ do
+    accessible' <- unsafeManagedPtrCastPtr accessible
+    result <- gtk_accessible_get_widget accessible'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr accessible
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data AccessibleGetWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsAccessible a) => O.MethodInfo AccessibleGetWidgetMethodInfo a signature where
+    overloadedMethod _ = accessibleGetWidget
+
+#endif
+
+-- method Accessible::set_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Gtk", name = "Accessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccessible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWidget or %NULL to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_accessible_set_widget" gtk_accessible_set_widget :: 
+    Ptr Accessible ->                       -- accessible : TInterface (Name {namespace = "Gtk", name = "Accessible"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Widget.Widget' corresponding to the 'GI.Gtk.Objects.Accessible.Accessible'.
+
+/@accessible@/ will not hold a reference to /@widget@/.
+It is the caller’s responsibility to ensure that when /@widget@/
+is destroyed, the widget is unset by calling this function
+again with /@widget@/ set to 'Nothing'.
+
+/Since: 2.22/
+-}
+accessibleSetWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAccessible a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@accessible@/: a 'GI.Gtk.Objects.Accessible.Accessible' -}
+    -> Maybe (b)
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' or 'Nothing' to unset -}
+    -> m ()
+accessibleSetWidget accessible widget = liftIO $ do
+    accessible' <- unsafeManagedPtrCastPtr accessible
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    gtk_accessible_set_widget accessible' maybeWidget
+    touchManagedPtr accessible
+    whenJust widget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data AccessibleSetWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsAccessible a, Gtk.Widget.IsWidget b) => O.MethodInfo AccessibleSetWidgetMethodInfo a signature where
+    overloadedMethod _ = accessibleSetWidget
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Accessible.hs-boot b/GI/Gtk/Objects/Accessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Accessible.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Accessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Accessible = Accessible (ManagedPtr Accessible)
+instance GObject Accessible where
+class (GObject o, O.IsDescendantOf Accessible o) => IsAccessible o
+instance (GObject o, O.IsDescendantOf Accessible o) => IsAccessible o
+instance O.HasParentTypes Accessible
+#if ENABLE_OVERLOADING
+data AccessibleWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccessibleConnectWidgetDestroyedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccessibleGetWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AccessibleSetWidgetMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Action.hs b/GI/Gtk/Objects/Action.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Action.hs
@@ -0,0 +1,3457 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+> In GTK+ 3.10, GtkAction has been deprecated. Use 'GI.Gio.Interfaces.Action.Action'
+> instead, and associate actions with 'GI.Gtk.Interfaces.Actionable.Actionable' widgets. Use
+> 'GI.Gio.Objects.MenuModel.MenuModel' for creating menus with 'GI.Gtk.Objects.Menu.menuNewFromModel'.
+
+Actions represent operations that the user can be perform, along with
+some information how it should be presented in the interface. Each action
+provides methods to create icons, menu items and toolbar items
+representing itself.
+
+As well as the callback that is called when the action gets activated,
+the following also gets associated with the action:
+
+* a name (not translated, for path lookup)
+* a label (translated, for display)
+* an accelerator
+* whether label indicates a stock id
+* a tooltip (optional, translated)
+* a toolbar label (optional, shorter than label)
+
+
+
+The action will also have some state information:
+
+* visible (shown\/hidden)
+* sensitive (enabled\/disabled)
+
+
+Apart from regular actions, there are [toggle actions][GtkToggleAction],
+which can be toggled between two states and
+[radio actions][GtkRadioAction], of which only one in a group
+can be in the “active” state. Other actions can be implemented as 'GI.Gtk.Objects.Action.Action'
+subclasses.
+
+Each action can have one or more proxy widgets. To act as an action proxy,
+widget needs to implement 'GI.Gtk.Interfaces.Activatable.Activatable' interface. Proxies mirror the state
+of the action and should change when the action’s state changes. Properties
+that are always mirrored by proxies are 'GI.Gtk.Objects.Action.Action':@/sensitive/@ and
+'GI.Gtk.Objects.Action.Action':@/visible/@. 'GI.Gtk.Objects.Action.Action':@/gicon/@, 'GI.Gtk.Objects.Action.Action':@/icon-name/@, 'GI.Gtk.Objects.Action.Action':@/label/@,
+'GI.Gtk.Objects.Action.Action':@/short-label/@ and 'GI.Gtk.Objects.Action.Action':@/stock-id/@ properties are only mirorred
+if proxy widget has 'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ property set to
+'True'.
+
+When the proxy is activated, it should activate its action.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Action
+    ( 
+
+-- * Exported types
+    Action(..)                              ,
+    IsAction                                ,
+    toAction                                ,
+    noAction                                ,
+
+
+ -- * Methods
+-- ** activate #method:activate#
+
+#if ENABLE_OVERLOADING
+    ActionActivateMethodInfo                ,
+#endif
+    actionActivate                          ,
+
+
+-- ** blockActivate #method:blockActivate#
+
+#if ENABLE_OVERLOADING
+    ActionBlockActivateMethodInfo           ,
+#endif
+    actionBlockActivate                     ,
+
+
+-- ** connectAccelerator #method:connectAccelerator#
+
+#if ENABLE_OVERLOADING
+    ActionConnectAcceleratorMethodInfo      ,
+#endif
+    actionConnectAccelerator                ,
+
+
+-- ** createIcon #method:createIcon#
+
+#if ENABLE_OVERLOADING
+    ActionCreateIconMethodInfo              ,
+#endif
+    actionCreateIcon                        ,
+
+
+-- ** createMenu #method:createMenu#
+
+#if ENABLE_OVERLOADING
+    ActionCreateMenuMethodInfo              ,
+#endif
+    actionCreateMenu                        ,
+
+
+-- ** createMenuItem #method:createMenuItem#
+
+#if ENABLE_OVERLOADING
+    ActionCreateMenuItemMethodInfo          ,
+#endif
+    actionCreateMenuItem                    ,
+
+
+-- ** createToolItem #method:createToolItem#
+
+#if ENABLE_OVERLOADING
+    ActionCreateToolItemMethodInfo          ,
+#endif
+    actionCreateToolItem                    ,
+
+
+-- ** disconnectAccelerator #method:disconnectAccelerator#
+
+#if ENABLE_OVERLOADING
+    ActionDisconnectAcceleratorMethodInfo   ,
+#endif
+    actionDisconnectAccelerator             ,
+
+
+-- ** getAccelClosure #method:getAccelClosure#
+
+#if ENABLE_OVERLOADING
+    ActionGetAccelClosureMethodInfo         ,
+#endif
+    actionGetAccelClosure                   ,
+
+
+-- ** getAccelPath #method:getAccelPath#
+
+#if ENABLE_OVERLOADING
+    ActionGetAccelPathMethodInfo            ,
+#endif
+    actionGetAccelPath                      ,
+
+
+-- ** getAlwaysShowImage #method:getAlwaysShowImage#
+
+#if ENABLE_OVERLOADING
+    ActionGetAlwaysShowImageMethodInfo      ,
+#endif
+    actionGetAlwaysShowImage                ,
+
+
+-- ** getGicon #method:getGicon#
+
+#if ENABLE_OVERLOADING
+    ActionGetGiconMethodInfo                ,
+#endif
+    actionGetGicon                          ,
+
+
+-- ** getIconName #method:getIconName#
+
+#if ENABLE_OVERLOADING
+    ActionGetIconNameMethodInfo             ,
+#endif
+    actionGetIconName                       ,
+
+
+-- ** getIsImportant #method:getIsImportant#
+
+#if ENABLE_OVERLOADING
+    ActionGetIsImportantMethodInfo          ,
+#endif
+    actionGetIsImportant                    ,
+
+
+-- ** getLabel #method:getLabel#
+
+#if ENABLE_OVERLOADING
+    ActionGetLabelMethodInfo                ,
+#endif
+    actionGetLabel                          ,
+
+
+-- ** getName #method:getName#
+
+#if ENABLE_OVERLOADING
+    ActionGetNameMethodInfo                 ,
+#endif
+    actionGetName                           ,
+
+
+-- ** getProxies #method:getProxies#
+
+#if ENABLE_OVERLOADING
+    ActionGetProxiesMethodInfo              ,
+#endif
+    actionGetProxies                        ,
+
+
+-- ** getSensitive #method:getSensitive#
+
+#if ENABLE_OVERLOADING
+    ActionGetSensitiveMethodInfo            ,
+#endif
+    actionGetSensitive                      ,
+
+
+-- ** getShortLabel #method:getShortLabel#
+
+#if ENABLE_OVERLOADING
+    ActionGetShortLabelMethodInfo           ,
+#endif
+    actionGetShortLabel                     ,
+
+
+-- ** getStockId #method:getStockId#
+
+#if ENABLE_OVERLOADING
+    ActionGetStockIdMethodInfo              ,
+#endif
+    actionGetStockId                        ,
+
+
+-- ** getTooltip #method:getTooltip#
+
+#if ENABLE_OVERLOADING
+    ActionGetTooltipMethodInfo              ,
+#endif
+    actionGetTooltip                        ,
+
+
+-- ** getVisible #method:getVisible#
+
+#if ENABLE_OVERLOADING
+    ActionGetVisibleMethodInfo              ,
+#endif
+    actionGetVisible                        ,
+
+
+-- ** getVisibleHorizontal #method:getVisibleHorizontal#
+
+#if ENABLE_OVERLOADING
+    ActionGetVisibleHorizontalMethodInfo    ,
+#endif
+    actionGetVisibleHorizontal              ,
+
+
+-- ** getVisibleVertical #method:getVisibleVertical#
+
+#if ENABLE_OVERLOADING
+    ActionGetVisibleVerticalMethodInfo      ,
+#endif
+    actionGetVisibleVertical                ,
+
+
+-- ** isSensitive #method:isSensitive#
+
+#if ENABLE_OVERLOADING
+    ActionIsSensitiveMethodInfo             ,
+#endif
+    actionIsSensitive                       ,
+
+
+-- ** isVisible #method:isVisible#
+
+#if ENABLE_OVERLOADING
+    ActionIsVisibleMethodInfo               ,
+#endif
+    actionIsVisible                         ,
+
+
+-- ** new #method:new#
+
+    actionNew                               ,
+
+
+-- ** setAccelGroup #method:setAccelGroup#
+
+#if ENABLE_OVERLOADING
+    ActionSetAccelGroupMethodInfo           ,
+#endif
+    actionSetAccelGroup                     ,
+
+
+-- ** setAccelPath #method:setAccelPath#
+
+#if ENABLE_OVERLOADING
+    ActionSetAccelPathMethodInfo            ,
+#endif
+    actionSetAccelPath                      ,
+
+
+-- ** setAlwaysShowImage #method:setAlwaysShowImage#
+
+#if ENABLE_OVERLOADING
+    ActionSetAlwaysShowImageMethodInfo      ,
+#endif
+    actionSetAlwaysShowImage                ,
+
+
+-- ** setGicon #method:setGicon#
+
+#if ENABLE_OVERLOADING
+    ActionSetGiconMethodInfo                ,
+#endif
+    actionSetGicon                          ,
+
+
+-- ** setIconName #method:setIconName#
+
+#if ENABLE_OVERLOADING
+    ActionSetIconNameMethodInfo             ,
+#endif
+    actionSetIconName                       ,
+
+
+-- ** setIsImportant #method:setIsImportant#
+
+#if ENABLE_OVERLOADING
+    ActionSetIsImportantMethodInfo          ,
+#endif
+    actionSetIsImportant                    ,
+
+
+-- ** setLabel #method:setLabel#
+
+#if ENABLE_OVERLOADING
+    ActionSetLabelMethodInfo                ,
+#endif
+    actionSetLabel                          ,
+
+
+-- ** setSensitive #method:setSensitive#
+
+#if ENABLE_OVERLOADING
+    ActionSetSensitiveMethodInfo            ,
+#endif
+    actionSetSensitive                      ,
+
+
+-- ** setShortLabel #method:setShortLabel#
+
+#if ENABLE_OVERLOADING
+    ActionSetShortLabelMethodInfo           ,
+#endif
+    actionSetShortLabel                     ,
+
+
+-- ** setStockId #method:setStockId#
+
+#if ENABLE_OVERLOADING
+    ActionSetStockIdMethodInfo              ,
+#endif
+    actionSetStockId                        ,
+
+
+-- ** setTooltip #method:setTooltip#
+
+#if ENABLE_OVERLOADING
+    ActionSetTooltipMethodInfo              ,
+#endif
+    actionSetTooltip                        ,
+
+
+-- ** setVisible #method:setVisible#
+
+#if ENABLE_OVERLOADING
+    ActionSetVisibleMethodInfo              ,
+#endif
+    actionSetVisible                        ,
+
+
+-- ** setVisibleHorizontal #method:setVisibleHorizontal#
+
+#if ENABLE_OVERLOADING
+    ActionSetVisibleHorizontalMethodInfo    ,
+#endif
+    actionSetVisibleHorizontal              ,
+
+
+-- ** setVisibleVertical #method:setVisibleVertical#
+
+#if ENABLE_OVERLOADING
+    ActionSetVisibleVerticalMethodInfo      ,
+#endif
+    actionSetVisibleVertical                ,
+
+
+-- ** unblockActivate #method:unblockActivate#
+
+#if ENABLE_OVERLOADING
+    ActionUnblockActivateMethodInfo         ,
+#endif
+    actionUnblockActivate                   ,
+
+
+
+
+ -- * Properties
+-- ** actionGroup #attr:actionGroup#
+{- | The GtkActionGroup this GtkAction is associated with, or NULL
+(for internal use).
+-}
+#if ENABLE_OVERLOADING
+    ActionActionGroupPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    actionActionGroup                       ,
+#endif
+    clearActionActionGroup                  ,
+    constructActionActionGroup              ,
+    getActionActionGroup                    ,
+    setActionActionGroup                    ,
+
+
+-- ** alwaysShowImage #attr:alwaysShowImage#
+{- | If 'True', the action\'s menu item proxies will ignore the 'GI.Gtk.Objects.Settings.Settings':@/gtk-menu-images/@
+setting and always show their image, if available.
+
+Use this property if the menu item would be useless or hard to use
+without their image.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    ActionAlwaysShowImagePropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    actionAlwaysShowImage                   ,
+#endif
+    constructActionAlwaysShowImage          ,
+    getActionAlwaysShowImage                ,
+    setActionAlwaysShowImage                ,
+
+
+-- ** gicon #attr:gicon#
+{- | The 'GI.Gio.Interfaces.Icon.Icon' displayed in the 'GI.Gtk.Objects.Action.Action'.
+
+Note that the stock icon is preferred, if the 'GI.Gtk.Objects.Action.Action':@/stock-id/@
+property holds the id of an existing stock icon.
+
+This is an appearance property and thus only applies if
+'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ is 'True'.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    ActionGiconPropertyInfo                 ,
+#endif
+#if ENABLE_OVERLOADING
+    actionGicon                             ,
+#endif
+    constructActionGicon                    ,
+    getActionGicon                          ,
+    setActionGicon                          ,
+
+
+-- ** hideIfEmpty #attr:hideIfEmpty#
+{- | When TRUE, empty menu proxies for this action are hidden.
+-}
+#if ENABLE_OVERLOADING
+    ActionHideIfEmptyPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    actionHideIfEmpty                       ,
+#endif
+    constructActionHideIfEmpty              ,
+    getActionHideIfEmpty                    ,
+    setActionHideIfEmpty                    ,
+
+
+-- ** iconName #attr:iconName#
+{- | The name of the icon from the icon theme.
+
+Note that the stock icon is preferred, if the 'GI.Gtk.Objects.Action.Action':@/stock-id/@
+property holds the id of an existing stock icon, and the 'GI.Gio.Interfaces.Icon.Icon' is
+preferred if the 'GI.Gtk.Objects.Action.Action':@/gicon/@ property is set.
+
+This is an appearance property and thus only applies if
+'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ is 'True'.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    ActionIconNamePropertyInfo              ,
+#endif
+#if ENABLE_OVERLOADING
+    actionIconName                          ,
+#endif
+    constructActionIconName                 ,
+    getActionIconName                       ,
+    setActionIconName                       ,
+
+
+-- ** isImportant #attr:isImportant#
+{- | Whether the action is considered important. When TRUE, toolitem
+proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode.
+-}
+#if ENABLE_OVERLOADING
+    ActionIsImportantPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    actionIsImportant                       ,
+#endif
+    constructActionIsImportant              ,
+    getActionIsImportant                    ,
+    setActionIsImportant                    ,
+
+
+-- ** label #attr:label#
+{- | The label used for menu items and buttons that activate
+this action. If the label is 'Nothing', GTK+ uses the stock
+label specified via the stock-id property.
+
+This is an appearance property and thus only applies if
+'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ is 'True'.
+-}
+#if ENABLE_OVERLOADING
+    ActionLabelPropertyInfo                 ,
+#endif
+#if ENABLE_OVERLOADING
+    actionLabel                             ,
+#endif
+    constructActionLabel                    ,
+    getActionLabel                          ,
+    setActionLabel                          ,
+
+
+-- ** name #attr:name#
+{- | A unique name for the action.
+-}
+#if ENABLE_OVERLOADING
+    ActionNamePropertyInfo                  ,
+#endif
+#if ENABLE_OVERLOADING
+    actionName                              ,
+#endif
+    constructActionName                     ,
+    getActionName                           ,
+
+
+-- ** sensitive #attr:sensitive#
+{- | Whether the action is enabled.
+-}
+#if ENABLE_OVERLOADING
+    ActionSensitivePropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    actionSensitive                         ,
+#endif
+    constructActionSensitive                ,
+    getActionSensitive                      ,
+    setActionSensitive                      ,
+
+
+-- ** shortLabel #attr:shortLabel#
+{- | A shorter label that may be used on toolbar buttons.
+
+This is an appearance property and thus only applies if
+'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ is 'True'.
+-}
+#if ENABLE_OVERLOADING
+    ActionShortLabelPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    actionShortLabel                        ,
+#endif
+    constructActionShortLabel               ,
+    getActionShortLabel                     ,
+    setActionShortLabel                     ,
+
+
+-- ** stockId #attr:stockId#
+{- | The stock icon displayed in widgets representing this action.
+
+This is an appearance property and thus only applies if
+'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ is 'True'.
+-}
+#if ENABLE_OVERLOADING
+    ActionStockIdPropertyInfo               ,
+#endif
+#if ENABLE_OVERLOADING
+    actionStockId                           ,
+#endif
+    constructActionStockId                  ,
+    getActionStockId                        ,
+    setActionStockId                        ,
+
+
+-- ** tooltip #attr:tooltip#
+{- | A tooltip for this action.
+-}
+#if ENABLE_OVERLOADING
+    ActionTooltipPropertyInfo               ,
+#endif
+#if ENABLE_OVERLOADING
+    actionTooltip                           ,
+#endif
+    constructActionTooltip                  ,
+    getActionTooltip                        ,
+    setActionTooltip                        ,
+
+
+-- ** visible #attr:visible#
+{- | Whether the action is visible.
+-}
+#if ENABLE_OVERLOADING
+    ActionVisiblePropertyInfo               ,
+#endif
+#if ENABLE_OVERLOADING
+    actionVisible                           ,
+#endif
+    constructActionVisible                  ,
+    getActionVisible                        ,
+    setActionVisible                        ,
+
+
+-- ** visibleHorizontal #attr:visibleHorizontal#
+{- | Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
+-}
+#if ENABLE_OVERLOADING
+    ActionVisibleHorizontalPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    actionVisibleHorizontal                 ,
+#endif
+    constructActionVisibleHorizontal        ,
+    getActionVisibleHorizontal              ,
+    setActionVisibleHorizontal              ,
+
+
+-- ** visibleOverflown #attr:visibleOverflown#
+{- | When 'True', toolitem proxies for this action are represented in the
+toolbar overflow menu.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    ActionVisibleOverflownPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    actionVisibleOverflown                  ,
+#endif
+    constructActionVisibleOverflown         ,
+    getActionVisibleOverflown               ,
+    setActionVisibleOverflown               ,
+
+
+-- ** visibleVertical #attr:visibleVertical#
+{- | Whether the toolbar item is visible when the toolbar is in a vertical orientation.
+-}
+#if ENABLE_OVERLOADING
+    ActionVisibleVerticalPropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    actionVisibleVertical                   ,
+#endif
+    constructActionVisibleVertical          ,
+    getActionVisibleVertical                ,
+    setActionVisibleVertical                ,
+
+
+
+
+ -- * Signals
+-- ** activate #signal:activate#
+
+    ActionActivateCallback                  ,
+#if ENABLE_OVERLOADING
+    ActionActivateSignalInfo                ,
+#endif
+    C_ActionActivateCallback                ,
+    afterActionActivate                     ,
+    genClosure_ActionActivate               ,
+    mk_ActionActivateCallback               ,
+    noActionActivateCallback                ,
+    onActionActivate                        ,
+    wrap_ActionActivateCallback             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ActionGroup as Gtk.ActionGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Action = Action (ManagedPtr Action)
+foreign import ccall "gtk_action_get_type"
+    c_gtk_action_get_type :: IO GType
+
+instance GObject Action where
+    gobjectType = c_gtk_action_get_type
+    
+
+-- | Type class for types which can be safely cast to `Action`, for instance with `toAction`.
+class (GObject o, O.IsDescendantOf Action o) => IsAction o
+instance (GObject o, O.IsDescendantOf Action o) => IsAction o
+
+instance O.HasParentTypes Action
+type instance O.ParentTypes Action = '[GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `Action`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAction :: (MonadIO m, IsAction o) => o -> m Action
+toAction = liftIO . unsafeCastTo Action
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Action`.
+noAction :: Maybe Action
+noAction = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveActionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveActionMethod "activate" o = ActionActivateMethodInfo
+    ResolveActionMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveActionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveActionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveActionMethod "blockActivate" o = ActionBlockActivateMethodInfo
+    ResolveActionMethod "connectAccelerator" o = ActionConnectAcceleratorMethodInfo
+    ResolveActionMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveActionMethod "createIcon" o = ActionCreateIconMethodInfo
+    ResolveActionMethod "createMenu" o = ActionCreateMenuMethodInfo
+    ResolveActionMethod "createMenuItem" o = ActionCreateMenuItemMethodInfo
+    ResolveActionMethod "createToolItem" o = ActionCreateToolItemMethodInfo
+    ResolveActionMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveActionMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveActionMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveActionMethod "disconnectAccelerator" o = ActionDisconnectAcceleratorMethodInfo
+    ResolveActionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveActionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveActionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveActionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveActionMethod "isSensitive" o = ActionIsSensitiveMethodInfo
+    ResolveActionMethod "isVisible" o = ActionIsVisibleMethodInfo
+    ResolveActionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveActionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveActionMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveActionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveActionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveActionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveActionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveActionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveActionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveActionMethod "unblockActivate" o = ActionUnblockActivateMethodInfo
+    ResolveActionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveActionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveActionMethod "getAccelClosure" o = ActionGetAccelClosureMethodInfo
+    ResolveActionMethod "getAccelPath" o = ActionGetAccelPathMethodInfo
+    ResolveActionMethod "getAlwaysShowImage" o = ActionGetAlwaysShowImageMethodInfo
+    ResolveActionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveActionMethod "getGicon" o = ActionGetGiconMethodInfo
+    ResolveActionMethod "getIconName" o = ActionGetIconNameMethodInfo
+    ResolveActionMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveActionMethod "getIsImportant" o = ActionGetIsImportantMethodInfo
+    ResolveActionMethod "getLabel" o = ActionGetLabelMethodInfo
+    ResolveActionMethod "getName" o = ActionGetNameMethodInfo
+    ResolveActionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveActionMethod "getProxies" o = ActionGetProxiesMethodInfo
+    ResolveActionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveActionMethod "getSensitive" o = ActionGetSensitiveMethodInfo
+    ResolveActionMethod "getShortLabel" o = ActionGetShortLabelMethodInfo
+    ResolveActionMethod "getStockId" o = ActionGetStockIdMethodInfo
+    ResolveActionMethod "getTooltip" o = ActionGetTooltipMethodInfo
+    ResolveActionMethod "getVisible" o = ActionGetVisibleMethodInfo
+    ResolveActionMethod "getVisibleHorizontal" o = ActionGetVisibleHorizontalMethodInfo
+    ResolveActionMethod "getVisibleVertical" o = ActionGetVisibleVerticalMethodInfo
+    ResolveActionMethod "setAccelGroup" o = ActionSetAccelGroupMethodInfo
+    ResolveActionMethod "setAccelPath" o = ActionSetAccelPathMethodInfo
+    ResolveActionMethod "setAlwaysShowImage" o = ActionSetAlwaysShowImageMethodInfo
+    ResolveActionMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveActionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveActionMethod "setGicon" o = ActionSetGiconMethodInfo
+    ResolveActionMethod "setIconName" o = ActionSetIconNameMethodInfo
+    ResolveActionMethod "setIsImportant" o = ActionSetIsImportantMethodInfo
+    ResolveActionMethod "setLabel" o = ActionSetLabelMethodInfo
+    ResolveActionMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveActionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveActionMethod "setSensitive" o = ActionSetSensitiveMethodInfo
+    ResolveActionMethod "setShortLabel" o = ActionSetShortLabelMethodInfo
+    ResolveActionMethod "setStockId" o = ActionSetStockIdMethodInfo
+    ResolveActionMethod "setTooltip" o = ActionSetTooltipMethodInfo
+    ResolveActionMethod "setVisible" o = ActionSetVisibleMethodInfo
+    ResolveActionMethod "setVisibleHorizontal" o = ActionSetVisibleHorizontalMethodInfo
+    ResolveActionMethod "setVisibleVertical" o = ActionSetVisibleVerticalMethodInfo
+    ResolveActionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveActionMethod t Action, O.MethodInfo info Action p) => OL.IsLabel t (Action -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Action::activate
+{-# DEPRECATED ActionActivateCallback ["(Since version 3.10)","Use 'GI.Gio.Objects.SimpleAction.SimpleAction'::@/activate/@ instead"] #-}
+{- |
+The \"activate\" signal is emitted when the action is activated.
+
+/Since: 2.4/
+-}
+type ActionActivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ActionActivateCallback`@.
+noActionActivateCallback :: Maybe ActionActivateCallback
+noActionActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ActionActivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ActionActivateCallback`.
+foreign import ccall "wrapper"
+    mk_ActionActivateCallback :: C_ActionActivateCallback -> IO (FunPtr C_ActionActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ActionActivate :: MonadIO m => ActionActivateCallback -> m (GClosure C_ActionActivateCallback)
+genClosure_ActionActivate cb = liftIO $ do
+    let cb' = wrap_ActionActivateCallback cb
+    mk_ActionActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ActionActivateCallback` into a `C_ActionActivateCallback`.
+wrap_ActionActivateCallback ::
+    ActionActivateCallback ->
+    C_ActionActivateCallback
+wrap_ActionActivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' action #activate callback
+@
+-}
+onActionActivate :: (IsAction a, MonadIO m) => a -> ActionActivateCallback -> m SignalHandlerId
+onActionActivate obj cb = liftIO $ do
+    let cb' = wrap_ActionActivateCallback cb
+    cb'' <- mk_ActionActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' action #activate callback
+@
+-}
+afterActionActivate :: (IsAction a, MonadIO m) => a -> ActionActivateCallback -> m SignalHandlerId
+afterActionActivate obj cb = liftIO $ do
+    let cb' = wrap_ActionActivateCallback cb
+    cb'' <- mk_ActionActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter
+
+
+-- VVV Prop "action-group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@action-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #actionGroup
+@
+-}
+getActionActionGroup :: (MonadIO m, IsAction o) => o -> m (Maybe Gtk.ActionGroup.ActionGroup)
+getActionActionGroup obj = liftIO $ B.Properties.getObjectPropertyObject obj "action-group" Gtk.ActionGroup.ActionGroup
+
+{- |
+Set the value of the “@action-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #actionGroup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionActionGroup :: (MonadIO m, IsAction o, Gtk.ActionGroup.IsActionGroup a) => o -> a -> m ()
+setActionActionGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "action-group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@action-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionActionGroup :: (IsAction o, Gtk.ActionGroup.IsActionGroup a) => a -> IO (GValueConstruct o)
+constructActionActionGroup val = B.Properties.constructObjectPropertyObject "action-group" (Just val)
+
+{- |
+Set the value of the “@action-group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #actionGroup
+@
+-}
+clearActionActionGroup :: (MonadIO m, IsAction o) => o -> m ()
+clearActionActionGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "action-group" (Nothing :: Maybe Gtk.ActionGroup.ActionGroup)
+
+#if ENABLE_OVERLOADING
+data ActionActionGroupPropertyInfo
+instance AttrInfo ActionActionGroupPropertyInfo where
+    type AttrAllowedOps ActionActionGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionActionGroupPropertyInfo = Gtk.ActionGroup.IsActionGroup
+    type AttrBaseTypeConstraint ActionActionGroupPropertyInfo = IsAction
+    type AttrGetType ActionActionGroupPropertyInfo = (Maybe Gtk.ActionGroup.ActionGroup)
+    type AttrLabel ActionActionGroupPropertyInfo = "action-group"
+    type AttrOrigin ActionActionGroupPropertyInfo = Action
+    attrGet _ = getActionActionGroup
+    attrSet _ = setActionActionGroup
+    attrConstruct _ = constructActionActionGroup
+    attrClear _ = clearActionActionGroup
+#endif
+
+-- VVV Prop "always-show-image"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@always-show-image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #alwaysShowImage
+@
+-}
+getActionAlwaysShowImage :: (MonadIO m, IsAction o) => o -> m Bool
+getActionAlwaysShowImage obj = liftIO $ B.Properties.getObjectPropertyBool obj "always-show-image"
+
+{- |
+Set the value of the “@always-show-image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #alwaysShowImage 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionAlwaysShowImage :: (MonadIO m, IsAction o) => o -> Bool -> m ()
+setActionAlwaysShowImage obj val = liftIO $ B.Properties.setObjectPropertyBool obj "always-show-image" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@always-show-image@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionAlwaysShowImage :: (IsAction o) => Bool -> IO (GValueConstruct o)
+constructActionAlwaysShowImage val = B.Properties.constructObjectPropertyBool "always-show-image" val
+
+#if ENABLE_OVERLOADING
+data ActionAlwaysShowImagePropertyInfo
+instance AttrInfo ActionAlwaysShowImagePropertyInfo where
+    type AttrAllowedOps ActionAlwaysShowImagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionAlwaysShowImagePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionAlwaysShowImagePropertyInfo = IsAction
+    type AttrGetType ActionAlwaysShowImagePropertyInfo = Bool
+    type AttrLabel ActionAlwaysShowImagePropertyInfo = "always-show-image"
+    type AttrOrigin ActionAlwaysShowImagePropertyInfo = Action
+    attrGet _ = getActionAlwaysShowImage
+    attrSet _ = setActionAlwaysShowImage
+    attrConstruct _ = constructActionAlwaysShowImage
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gicon"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #gicon
+@
+-}
+getActionGicon :: (MonadIO m, IsAction o) => o -> m Gio.Icon.Icon
+getActionGicon obj = liftIO $ checkUnexpectedNothing "getActionGicon" $ B.Properties.getObjectPropertyObject obj "gicon" Gio.Icon.Icon
+
+{- |
+Set the value of the “@gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #gicon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionGicon :: (MonadIO m, IsAction o, Gio.Icon.IsIcon a) => o -> a -> m ()
+setActionGicon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "gicon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gicon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionGicon :: (IsAction o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
+constructActionGicon val = B.Properties.constructObjectPropertyObject "gicon" (Just val)
+
+#if ENABLE_OVERLOADING
+data ActionGiconPropertyInfo
+instance AttrInfo ActionGiconPropertyInfo where
+    type AttrAllowedOps ActionGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionGiconPropertyInfo = Gio.Icon.IsIcon
+    type AttrBaseTypeConstraint ActionGiconPropertyInfo = IsAction
+    type AttrGetType ActionGiconPropertyInfo = Gio.Icon.Icon
+    type AttrLabel ActionGiconPropertyInfo = "gicon"
+    type AttrOrigin ActionGiconPropertyInfo = Action
+    attrGet _ = getActionGicon
+    attrSet _ = setActionGicon
+    attrConstruct _ = constructActionGicon
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "hide-if-empty"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@hide-if-empty@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #hideIfEmpty
+@
+-}
+getActionHideIfEmpty :: (MonadIO m, IsAction o) => o -> m Bool
+getActionHideIfEmpty obj = liftIO $ B.Properties.getObjectPropertyBool obj "hide-if-empty"
+
+{- |
+Set the value of the “@hide-if-empty@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #hideIfEmpty 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionHideIfEmpty :: (MonadIO m, IsAction o) => o -> Bool -> m ()
+setActionHideIfEmpty obj val = liftIO $ B.Properties.setObjectPropertyBool obj "hide-if-empty" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hide-if-empty@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionHideIfEmpty :: (IsAction o) => Bool -> IO (GValueConstruct o)
+constructActionHideIfEmpty val = B.Properties.constructObjectPropertyBool "hide-if-empty" val
+
+#if ENABLE_OVERLOADING
+data ActionHideIfEmptyPropertyInfo
+instance AttrInfo ActionHideIfEmptyPropertyInfo where
+    type AttrAllowedOps ActionHideIfEmptyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionHideIfEmptyPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionHideIfEmptyPropertyInfo = IsAction
+    type AttrGetType ActionHideIfEmptyPropertyInfo = Bool
+    type AttrLabel ActionHideIfEmptyPropertyInfo = "hide-if-empty"
+    type AttrOrigin ActionHideIfEmptyPropertyInfo = Action
+    attrGet _ = getActionHideIfEmpty
+    attrSet _ = setActionHideIfEmpty
+    attrConstruct _ = constructActionHideIfEmpty
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #iconName
+@
+-}
+getActionIconName :: (MonadIO m, IsAction o) => o -> m T.Text
+getActionIconName obj = liftIO $ checkUnexpectedNothing "getActionIconName" $ B.Properties.getObjectPropertyString obj "icon-name"
+
+{- |
+Set the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #iconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionIconName :: (MonadIO m, IsAction o) => o -> T.Text -> m ()
+setActionIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionIconName :: (IsAction o) => T.Text -> IO (GValueConstruct o)
+constructActionIconName val = B.Properties.constructObjectPropertyString "icon-name" (Just val)
+
+#if ENABLE_OVERLOADING
+data ActionIconNamePropertyInfo
+instance AttrInfo ActionIconNamePropertyInfo where
+    type AttrAllowedOps ActionIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ActionIconNamePropertyInfo = IsAction
+    type AttrGetType ActionIconNamePropertyInfo = T.Text
+    type AttrLabel ActionIconNamePropertyInfo = "icon-name"
+    type AttrOrigin ActionIconNamePropertyInfo = Action
+    attrGet _ = getActionIconName
+    attrSet _ = setActionIconName
+    attrConstruct _ = constructActionIconName
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "is-important"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@is-important@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #isImportant
+@
+-}
+getActionIsImportant :: (MonadIO m, IsAction o) => o -> m Bool
+getActionIsImportant obj = liftIO $ B.Properties.getObjectPropertyBool obj "is-important"
+
+{- |
+Set the value of the “@is-important@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #isImportant 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionIsImportant :: (MonadIO m, IsAction o) => o -> Bool -> m ()
+setActionIsImportant obj val = liftIO $ B.Properties.setObjectPropertyBool obj "is-important" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@is-important@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionIsImportant :: (IsAction o) => Bool -> IO (GValueConstruct o)
+constructActionIsImportant val = B.Properties.constructObjectPropertyBool "is-important" val
+
+#if ENABLE_OVERLOADING
+data ActionIsImportantPropertyInfo
+instance AttrInfo ActionIsImportantPropertyInfo where
+    type AttrAllowedOps ActionIsImportantPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionIsImportantPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionIsImportantPropertyInfo = IsAction
+    type AttrGetType ActionIsImportantPropertyInfo = Bool
+    type AttrLabel ActionIsImportantPropertyInfo = "is-important"
+    type AttrOrigin ActionIsImportantPropertyInfo = Action
+    attrGet _ = getActionIsImportant
+    attrSet _ = setActionIsImportant
+    attrConstruct _ = constructActionIsImportant
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #label
+@
+-}
+getActionLabel :: (MonadIO m, IsAction o) => o -> m T.Text
+getActionLabel obj = liftIO $ checkUnexpectedNothing "getActionLabel" $ B.Properties.getObjectPropertyString obj "label"
+
+{- |
+Set the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionLabel :: (MonadIO m, IsAction o) => o -> T.Text -> m ()
+setActionLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionLabel :: (IsAction o) => T.Text -> IO (GValueConstruct o)
+constructActionLabel val = B.Properties.constructObjectPropertyString "label" (Just val)
+
+#if ENABLE_OVERLOADING
+data ActionLabelPropertyInfo
+instance AttrInfo ActionLabelPropertyInfo where
+    type AttrAllowedOps ActionLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ActionLabelPropertyInfo = IsAction
+    type AttrGetType ActionLabelPropertyInfo = T.Text
+    type AttrLabel ActionLabelPropertyInfo = "label"
+    type AttrOrigin ActionLabelPropertyInfo = Action
+    attrGet _ = getActionLabel
+    attrSet _ = setActionLabel
+    attrConstruct _ = constructActionLabel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #name
+@
+-}
+getActionName :: (MonadIO m, IsAction o) => o -> m T.Text
+getActionName obj = liftIO $ checkUnexpectedNothing "getActionName" $ B.Properties.getObjectPropertyString obj "name"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionName :: (IsAction o) => T.Text -> IO (GValueConstruct o)
+constructActionName val = B.Properties.constructObjectPropertyString "name" (Just val)
+
+#if ENABLE_OVERLOADING
+data ActionNamePropertyInfo
+instance AttrInfo ActionNamePropertyInfo where
+    type AttrAllowedOps ActionNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ActionNamePropertyInfo = IsAction
+    type AttrGetType ActionNamePropertyInfo = T.Text
+    type AttrLabel ActionNamePropertyInfo = "name"
+    type AttrOrigin ActionNamePropertyInfo = Action
+    attrGet _ = getActionName
+    attrSet _ = undefined
+    attrConstruct _ = constructActionName
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "sensitive"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #sensitive
+@
+-}
+getActionSensitive :: (MonadIO m, IsAction o) => o -> m Bool
+getActionSensitive obj = liftIO $ B.Properties.getObjectPropertyBool obj "sensitive"
+
+{- |
+Set the value of the “@sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #sensitive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionSensitive :: (MonadIO m, IsAction o) => o -> Bool -> m ()
+setActionSensitive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "sensitive" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@sensitive@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionSensitive :: (IsAction o) => Bool -> IO (GValueConstruct o)
+constructActionSensitive val = B.Properties.constructObjectPropertyBool "sensitive" val
+
+#if ENABLE_OVERLOADING
+data ActionSensitivePropertyInfo
+instance AttrInfo ActionSensitivePropertyInfo where
+    type AttrAllowedOps ActionSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionSensitivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionSensitivePropertyInfo = IsAction
+    type AttrGetType ActionSensitivePropertyInfo = Bool
+    type AttrLabel ActionSensitivePropertyInfo = "sensitive"
+    type AttrOrigin ActionSensitivePropertyInfo = Action
+    attrGet _ = getActionSensitive
+    attrSet _ = setActionSensitive
+    attrConstruct _ = constructActionSensitive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "short-label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@short-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #shortLabel
+@
+-}
+getActionShortLabel :: (MonadIO m, IsAction o) => o -> m T.Text
+getActionShortLabel obj = liftIO $ checkUnexpectedNothing "getActionShortLabel" $ B.Properties.getObjectPropertyString obj "short-label"
+
+{- |
+Set the value of the “@short-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #shortLabel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionShortLabel :: (MonadIO m, IsAction o) => o -> T.Text -> m ()
+setActionShortLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "short-label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@short-label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionShortLabel :: (IsAction o) => T.Text -> IO (GValueConstruct o)
+constructActionShortLabel val = B.Properties.constructObjectPropertyString "short-label" (Just val)
+
+#if ENABLE_OVERLOADING
+data ActionShortLabelPropertyInfo
+instance AttrInfo ActionShortLabelPropertyInfo where
+    type AttrAllowedOps ActionShortLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionShortLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ActionShortLabelPropertyInfo = IsAction
+    type AttrGetType ActionShortLabelPropertyInfo = T.Text
+    type AttrLabel ActionShortLabelPropertyInfo = "short-label"
+    type AttrOrigin ActionShortLabelPropertyInfo = Action
+    attrGet _ = getActionShortLabel
+    attrSet _ = setActionShortLabel
+    attrConstruct _ = constructActionShortLabel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "stock-id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@stock-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #stockId
+@
+-}
+getActionStockId :: (MonadIO m, IsAction o) => o -> m T.Text
+getActionStockId obj = liftIO $ checkUnexpectedNothing "getActionStockId" $ B.Properties.getObjectPropertyString obj "stock-id"
+
+{- |
+Set the value of the “@stock-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #stockId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionStockId :: (MonadIO m, IsAction o) => o -> T.Text -> m ()
+setActionStockId obj val = liftIO $ B.Properties.setObjectPropertyString obj "stock-id" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stock-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionStockId :: (IsAction o) => T.Text -> IO (GValueConstruct o)
+constructActionStockId val = B.Properties.constructObjectPropertyString "stock-id" (Just val)
+
+#if ENABLE_OVERLOADING
+data ActionStockIdPropertyInfo
+instance AttrInfo ActionStockIdPropertyInfo where
+    type AttrAllowedOps ActionStockIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionStockIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ActionStockIdPropertyInfo = IsAction
+    type AttrGetType ActionStockIdPropertyInfo = T.Text
+    type AttrLabel ActionStockIdPropertyInfo = "stock-id"
+    type AttrOrigin ActionStockIdPropertyInfo = Action
+    attrGet _ = getActionStockId
+    attrSet _ = setActionStockId
+    attrConstruct _ = constructActionStockId
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tooltip"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@tooltip@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #tooltip
+@
+-}
+getActionTooltip :: (MonadIO m, IsAction o) => o -> m T.Text
+getActionTooltip obj = liftIO $ checkUnexpectedNothing "getActionTooltip" $ B.Properties.getObjectPropertyString obj "tooltip"
+
+{- |
+Set the value of the “@tooltip@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #tooltip 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionTooltip :: (MonadIO m, IsAction o) => o -> T.Text -> m ()
+setActionTooltip obj val = liftIO $ B.Properties.setObjectPropertyString obj "tooltip" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionTooltip :: (IsAction o) => T.Text -> IO (GValueConstruct o)
+constructActionTooltip val = B.Properties.constructObjectPropertyString "tooltip" (Just val)
+
+#if ENABLE_OVERLOADING
+data ActionTooltipPropertyInfo
+instance AttrInfo ActionTooltipPropertyInfo where
+    type AttrAllowedOps ActionTooltipPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionTooltipPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ActionTooltipPropertyInfo = IsAction
+    type AttrGetType ActionTooltipPropertyInfo = T.Text
+    type AttrLabel ActionTooltipPropertyInfo = "tooltip"
+    type AttrOrigin ActionTooltipPropertyInfo = Action
+    attrGet _ = getActionTooltip
+    attrSet _ = setActionTooltip
+    attrConstruct _ = constructActionTooltip
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #visible
+@
+-}
+getActionVisible :: (MonadIO m, IsAction o) => o -> m Bool
+getActionVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible"
+
+{- |
+Set the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #visible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionVisible :: (MonadIO m, IsAction o) => o -> Bool -> m ()
+setActionVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionVisible :: (IsAction o) => Bool -> IO (GValueConstruct o)
+constructActionVisible val = B.Properties.constructObjectPropertyBool "visible" val
+
+#if ENABLE_OVERLOADING
+data ActionVisiblePropertyInfo
+instance AttrInfo ActionVisiblePropertyInfo where
+    type AttrAllowedOps ActionVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionVisiblePropertyInfo = IsAction
+    type AttrGetType ActionVisiblePropertyInfo = Bool
+    type AttrLabel ActionVisiblePropertyInfo = "visible"
+    type AttrOrigin ActionVisiblePropertyInfo = Action
+    attrGet _ = getActionVisible
+    attrSet _ = setActionVisible
+    attrConstruct _ = constructActionVisible
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible-horizontal"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible-horizontal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #visibleHorizontal
+@
+-}
+getActionVisibleHorizontal :: (MonadIO m, IsAction o) => o -> m Bool
+getActionVisibleHorizontal obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible-horizontal"
+
+{- |
+Set the value of the “@visible-horizontal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #visibleHorizontal 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionVisibleHorizontal :: (MonadIO m, IsAction o) => o -> Bool -> m ()
+setActionVisibleHorizontal obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible-horizontal" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible-horizontal@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionVisibleHorizontal :: (IsAction o) => Bool -> IO (GValueConstruct o)
+constructActionVisibleHorizontal val = B.Properties.constructObjectPropertyBool "visible-horizontal" val
+
+#if ENABLE_OVERLOADING
+data ActionVisibleHorizontalPropertyInfo
+instance AttrInfo ActionVisibleHorizontalPropertyInfo where
+    type AttrAllowedOps ActionVisibleHorizontalPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionVisibleHorizontalPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionVisibleHorizontalPropertyInfo = IsAction
+    type AttrGetType ActionVisibleHorizontalPropertyInfo = Bool
+    type AttrLabel ActionVisibleHorizontalPropertyInfo = "visible-horizontal"
+    type AttrOrigin ActionVisibleHorizontalPropertyInfo = Action
+    attrGet _ = getActionVisibleHorizontal
+    attrSet _ = setActionVisibleHorizontal
+    attrConstruct _ = constructActionVisibleHorizontal
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible-overflown"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@visible-overflown@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #visibleOverflown
+@
+-}
+getActionVisibleOverflown :: (MonadIO m, IsAction o) => o -> m Bool
+getActionVisibleOverflown obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible-overflown"
+
+{- |
+Set the value of the “@visible-overflown@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #visibleOverflown 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionVisibleOverflown :: (MonadIO m, IsAction o) => o -> Bool -> m ()
+setActionVisibleOverflown obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible-overflown" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible-overflown@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionVisibleOverflown :: (IsAction o) => Bool -> IO (GValueConstruct o)
+constructActionVisibleOverflown val = B.Properties.constructObjectPropertyBool "visible-overflown" val
+
+#if ENABLE_OVERLOADING
+data ActionVisibleOverflownPropertyInfo
+instance AttrInfo ActionVisibleOverflownPropertyInfo where
+    type AttrAllowedOps ActionVisibleOverflownPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionVisibleOverflownPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionVisibleOverflownPropertyInfo = IsAction
+    type AttrGetType ActionVisibleOverflownPropertyInfo = Bool
+    type AttrLabel ActionVisibleOverflownPropertyInfo = "visible-overflown"
+    type AttrOrigin ActionVisibleOverflownPropertyInfo = Action
+    attrGet _ = getActionVisibleOverflown
+    attrSet _ = setActionVisibleOverflown
+    attrConstruct _ = constructActionVisibleOverflown
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible-vertical"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible-vertical@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' action #visibleVertical
+@
+-}
+getActionVisibleVertical :: (MonadIO m, IsAction o) => o -> m Bool
+getActionVisibleVertical obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible-vertical"
+
+{- |
+Set the value of the “@visible-vertical@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' action [ #visibleVertical 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionVisibleVertical :: (MonadIO m, IsAction o) => o -> Bool -> m ()
+setActionVisibleVertical obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible-vertical" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible-vertical@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionVisibleVertical :: (IsAction o) => Bool -> IO (GValueConstruct o)
+constructActionVisibleVertical val = B.Properties.constructObjectPropertyBool "visible-vertical" val
+
+#if ENABLE_OVERLOADING
+data ActionVisibleVerticalPropertyInfo
+instance AttrInfo ActionVisibleVerticalPropertyInfo where
+    type AttrAllowedOps ActionVisibleVerticalPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionVisibleVerticalPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionVisibleVerticalPropertyInfo = IsAction
+    type AttrGetType ActionVisibleVerticalPropertyInfo = Bool
+    type AttrLabel ActionVisibleVerticalPropertyInfo = "visible-vertical"
+    type AttrOrigin ActionVisibleVerticalPropertyInfo = Action
+    attrGet _ = getActionVisibleVertical
+    attrSet _ = setActionVisibleVertical
+    attrConstruct _ = constructActionVisibleVertical
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Action
+type instance O.AttributeList Action = ActionAttributeList
+type ActionAttributeList = ('[ '("actionGroup", ActionActionGroupPropertyInfo), '("alwaysShowImage", ActionAlwaysShowImagePropertyInfo), '("gicon", ActionGiconPropertyInfo), '("hideIfEmpty", ActionHideIfEmptyPropertyInfo), '("iconName", ActionIconNamePropertyInfo), '("isImportant", ActionIsImportantPropertyInfo), '("label", ActionLabelPropertyInfo), '("name", ActionNamePropertyInfo), '("sensitive", ActionSensitivePropertyInfo), '("shortLabel", ActionShortLabelPropertyInfo), '("stockId", ActionStockIdPropertyInfo), '("tooltip", ActionTooltipPropertyInfo), '("visible", ActionVisiblePropertyInfo), '("visibleHorizontal", ActionVisibleHorizontalPropertyInfo), '("visibleOverflown", ActionVisibleOverflownPropertyInfo), '("visibleVertical", ActionVisibleVerticalPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+actionActionGroup :: AttrLabelProxy "actionGroup"
+actionActionGroup = AttrLabelProxy
+
+actionAlwaysShowImage :: AttrLabelProxy "alwaysShowImage"
+actionAlwaysShowImage = AttrLabelProxy
+
+actionGicon :: AttrLabelProxy "gicon"
+actionGicon = AttrLabelProxy
+
+actionHideIfEmpty :: AttrLabelProxy "hideIfEmpty"
+actionHideIfEmpty = AttrLabelProxy
+
+actionIconName :: AttrLabelProxy "iconName"
+actionIconName = AttrLabelProxy
+
+actionIsImportant :: AttrLabelProxy "isImportant"
+actionIsImportant = AttrLabelProxy
+
+actionLabel :: AttrLabelProxy "label"
+actionLabel = AttrLabelProxy
+
+actionName :: AttrLabelProxy "name"
+actionName = AttrLabelProxy
+
+actionSensitive :: AttrLabelProxy "sensitive"
+actionSensitive = AttrLabelProxy
+
+actionShortLabel :: AttrLabelProxy "shortLabel"
+actionShortLabel = AttrLabelProxy
+
+actionStockId :: AttrLabelProxy "stockId"
+actionStockId = AttrLabelProxy
+
+actionTooltip :: AttrLabelProxy "tooltip"
+actionTooltip = AttrLabelProxy
+
+actionVisible :: AttrLabelProxy "visible"
+actionVisible = AttrLabelProxy
+
+actionVisibleHorizontal :: AttrLabelProxy "visibleHorizontal"
+actionVisibleHorizontal = AttrLabelProxy
+
+actionVisibleOverflown :: AttrLabelProxy "visibleOverflown"
+actionVisibleOverflown = AttrLabelProxy
+
+actionVisibleVertical :: AttrLabelProxy "visibleVertical"
+actionVisibleVertical = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ActionActivateSignalInfo
+instance SignalInfo ActionActivateSignalInfo where
+    type HaskellCallbackType ActionActivateSignalInfo = ActionActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ActionActivateCallback cb
+        cb'' <- mk_ActionActivateCallback cb'
+        connectSignalFunPtr obj "activate" cb'' connectMode
+
+type instance O.SignalList Action = ActionSignalList
+type ActionSignalList = ('[ '("activate", ActionActivateSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Action::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A unique name for the action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the label displayed in menu items and on buttons,\n        or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a tooltip for the action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the stock icon to display in widgets representing\n           the action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Action"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_new" gtk_action_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- label : TBasicType TUTF8
+    CString ->                              -- tooltip : TBasicType TUTF8
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr Action)
+
+{-# DEPRECATED actionNew ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, associating it to a widget with","'GI.Gtk.Interfaces.Actionable.Actionable' or creating a 'GI.Gtk.Objects.Menu.Menu' with 'GI.Gtk.Objects.Menu.menuNewFromModel'"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.Action.Action' object. To add the action to a
+'GI.Gtk.Objects.ActionGroup.ActionGroup' and set the accelerator for the action,
+call 'GI.Gtk.Objects.ActionGroup.actionGroupAddActionWithAccel'.
+See the [UI Definition section][XML-UI] for information on allowed action
+names.
+
+/Since: 2.4/
+-}
+actionNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: A unique name for the action -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: the label displayed in menu items and on buttons,
+        or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@tooltip@/: a tooltip for the action, or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@stockId@/: the stock icon to display in widgets representing
+           the action, or 'Nothing' -}
+    -> m Action
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Action.Action' -}
+actionNew name label tooltip stockId = liftIO $ do
+    name' <- textToCString name
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    maybeTooltip <- case tooltip of
+        Nothing -> return nullPtr
+        Just jTooltip -> do
+            jTooltip' <- textToCString jTooltip
+            return jTooltip'
+    maybeStockId <- case stockId of
+        Nothing -> return nullPtr
+        Just jStockId -> do
+            jStockId' <- textToCString jStockId
+            return jStockId'
+    result <- gtk_action_new name' maybeLabel maybeTooltip maybeStockId
+    checkUnexpectedReturnNULL "actionNew" result
+    result' <- (wrapObject Action) result
+    freeMem name'
+    freeMem maybeLabel
+    freeMem maybeTooltip
+    freeMem maybeStockId
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Action::activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_activate" gtk_action_activate :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED actionActivate ["(Since version 3.10)","Use 'GI.Gio.Interfaces.ActionGroup.actionGroupActivateAction' on a 'GI.Gio.Interfaces.Action.Action' instead"] #-}
+{- |
+Emits the “activate” signal on the specified action, if it isn\'t
+insensitive. This gets called by the proxy widgets when they get
+activated.
+
+It can also be used to manually activate an action.
+
+/Since: 2.4/
+-}
+actionActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m ()
+actionActivate action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_action_activate action'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionActivateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAction a) => O.MethodInfo ActionActivateMethodInfo a signature where
+    overloadedMethod _ = actionActivate
+
+#endif
+
+-- method Action::block_activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_block_activate" gtk_action_block_activate :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED actionBlockActivate ["(Since version 3.10)","Use 'GI.Gio.Objects.SimpleAction.simpleActionSetEnabled' to disable the","'GI.Gio.Objects.SimpleAction.SimpleAction' instead"] #-}
+{- |
+Disable activation signals from the action
+
+This is needed when updating the state of your proxy
+'GI.Gtk.Interfaces.Activatable.Activatable' widget could result in calling 'GI.Gtk.Objects.Action.actionActivate',
+this is a convenience function to avoid recursing in those
+cases (updating toggle state for instance).
+
+/Since: 2.16/
+-}
+actionBlockActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m ()
+actionBlockActivate action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_action_block_activate action'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionBlockActivateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAction a) => O.MethodInfo ActionBlockActivateMethodInfo a signature where
+    overloadedMethod _ = actionBlockActivate
+
+#endif
+
+-- method Action::connect_accelerator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_connect_accelerator" gtk_action_connect_accelerator :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED actionConnectAccelerator ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' and the accelerator group on an associated","'GI.Gtk.Objects.Menu.Menu' instead"] #-}
+{- |
+Installs the accelerator for /@action@/ if /@action@/ has an
+accel path and group. See 'GI.Gtk.Objects.Action.actionSetAccelPath' and
+'GI.Gtk.Objects.Action.actionSetAccelGroup'
+
+Since multiple proxies may independently trigger the installation
+of the accelerator, the /@action@/ counts the number of times this
+function has been called and doesn’t remove the accelerator until
+'GI.Gtk.Objects.Action.actionDisconnectAccelerator' has been called as many times.
+
+/Since: 2.4/
+-}
+actionConnectAccelerator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m ()
+actionConnectAccelerator action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_action_connect_accelerator action'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionConnectAcceleratorMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAction a) => O.MethodInfo ActionConnectAcceleratorMethodInfo a signature where
+    overloadedMethod _ = actionConnectAccelerator
+
+#endif
+
+-- method Action::create_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the icon (#GtkIconSize) that should\n     be created.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_create_icon" gtk_action_create_icon :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    Int32 ->                                -- icon_size : TBasicType TInt
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED actionCreateIcon ["(Since version 3.10)","Use 'GI.Gio.Objects.MenuItem.menuItemSetIcon' to set an icon on a 'GI.Gio.Objects.MenuItem.MenuItem',","or 'GI.Gtk.Objects.Container.containerAdd' to add a 'GI.Gtk.Objects.Image.Image' to a 'GI.Gtk.Objects.Button.Button'"] #-}
+{- |
+This function is intended for use by action implementations to
+create icons displayed in the proxy widgets.
+
+/Since: 2.4/
+-}
+actionCreateIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> Int32
+    {- ^ /@iconSize@/: the size of the icon ('GI.Gtk.Enums.IconSize') that should
+     be created. -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a widget that displays the icon for this action. -}
+actionCreateIcon action iconSize = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_create_icon action' iconSize
+    checkUnexpectedReturnNULL "actionCreateIcon" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionCreateIconMethodInfo
+instance (signature ~ (Int32 -> m Gtk.Widget.Widget), MonadIO m, IsAction a) => O.MethodInfo ActionCreateIconMethodInfo a signature where
+    overloadedMethod _ = actionCreateIcon
+
+#endif
+
+-- method Action::create_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_create_menu" gtk_action_create_menu :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED actionCreateMenu ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' and 'GI.Gio.Objects.MenuModel.MenuModel' instead, and create a","'GI.Gtk.Objects.Menu.Menu' with 'GI.Gtk.Objects.Menu.menuNewFromModel'"] #-}
+{- |
+If /@action@/ provides a 'GI.Gtk.Objects.Menu.Menu' widget as a submenu for the menu
+item or the toolbar item it creates, this function returns an
+instance of that menu.
+
+/Since: 2.12/
+-}
+actionCreateMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the menu item provided by the
+              action, or 'Nothing'. -}
+actionCreateMenu action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_create_menu action'
+    checkUnexpectedReturnNULL "actionCreateMenu" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionCreateMenuMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsAction a) => O.MethodInfo ActionCreateMenuMethodInfo a signature where
+    overloadedMethod _ = actionCreateMenu
+
+#endif
+
+-- method Action::create_menu_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_create_menu_item" gtk_action_create_menu_item :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED actionCreateMenuItem ["(Since version 3.10)","Use 'GI.Gio.Objects.MenuItem.menuItemNew' and associate it with a 'GI.Gio.Interfaces.Action.Action'","instead."] #-}
+{- |
+Creates a menu item widget that proxies for the given action.
+
+/Since: 2.4/
+-}
+actionCreateMenuItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a menu item connected to the action. -}
+actionCreateMenuItem action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_create_menu_item action'
+    checkUnexpectedReturnNULL "actionCreateMenuItem" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionCreateMenuItemMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsAction a) => O.MethodInfo ActionCreateMenuItemMethodInfo a signature where
+    overloadedMethod _ = actionCreateMenuItem
+
+#endif
+
+-- method Action::create_tool_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_create_tool_item" gtk_action_create_tool_item :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED actionCreateToolItem ["(Since version 3.10)","Use a 'GI.Gtk.Objects.ToolItem.ToolItem' and associate it with a 'GI.Gio.Interfaces.Action.Action' using","'GI.Gtk.Interfaces.Actionable.actionableSetActionName' instead"] #-}
+{- |
+Creates a toolbar item widget that proxies for the given action.
+
+/Since: 2.4/
+-}
+actionCreateToolItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a toolbar item connected to the action. -}
+actionCreateToolItem action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_create_tool_item action'
+    checkUnexpectedReturnNULL "actionCreateToolItem" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionCreateToolItemMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsAction a) => O.MethodInfo ActionCreateToolItemMethodInfo a signature where
+    overloadedMethod _ = actionCreateToolItem
+
+#endif
+
+-- method Action::disconnect_accelerator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_disconnect_accelerator" gtk_action_disconnect_accelerator :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED actionDisconnectAccelerator ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' and the accelerator group on an associated","'GI.Gtk.Objects.Menu.Menu' instead"] #-}
+{- |
+Undoes the effect of one call to 'GI.Gtk.Objects.Action.actionConnectAccelerator'.
+
+/Since: 2.4/
+-}
+actionDisconnectAccelerator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m ()
+actionDisconnectAccelerator action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_action_disconnect_accelerator action'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionDisconnectAcceleratorMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAction a) => O.MethodInfo ActionDisconnectAcceleratorMethodInfo a signature where
+    overloadedMethod _ = actionDisconnectAccelerator
+
+#endif
+
+-- method Action::get_accel_closure
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGClosure Nothing)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_accel_closure" gtk_action_get_accel_closure :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO (Ptr (GClosure ()))
+
+{-# DEPRECATED actionGetAccelClosure ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' and 'GI.Gtk.Objects.Menu.Menu' instead, which have no","equivalent for getting the accel closure"] #-}
+{- |
+Returns the accel closure for this action.
+
+/Since: 2.8/
+-}
+actionGetAccelClosure ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m (GClosure b)
+    {- ^ __Returns:__ the accel closure for this action. The
+         returned closure is owned by GTK+ and must not be unreffed
+         or modified. -}
+actionGetAccelClosure action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_accel_closure action'
+    checkUnexpectedReturnNULL "actionGetAccelClosure" result
+    result' <- (B.GClosure.newGClosureFromPtr . FP.castPtr) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetAccelClosureMethodInfo
+instance (signature ~ (m (GClosure b)), MonadIO m, IsAction a) => O.MethodInfo ActionGetAccelClosureMethodInfo a signature where
+    overloadedMethod _ = actionGetAccelClosure
+
+#endif
+
+-- method Action::get_accel_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_accel_path" gtk_action_get_accel_path :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CString
+
+{-# DEPRECATED actionGetAccelPath ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' and the accelerator path on an associated","'GI.Gtk.Objects.Menu.Menu' instead"] #-}
+{- |
+Returns the accel path for this action.
+
+/Since: 2.6/
+-}
+actionGetAccelPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m T.Text
+    {- ^ __Returns:__ the accel path for this action, or 'Nothing'
+  if none is set. The returned string is owned by GTK+
+  and must not be freed or modified. -}
+actionGetAccelPath action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_accel_path action'
+    checkUnexpectedReturnNULL "actionGetAccelPath" result
+    result' <- cstringToText result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetAccelPathMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAction a) => O.MethodInfo ActionGetAccelPathMethodInfo a signature where
+    overloadedMethod _ = actionGetAccelPath
+
+#endif
+
+-- method Action::get_always_show_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_always_show_image" gtk_action_get_always_show_image :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CInt
+
+{-# DEPRECATED actionGetAlwaysShowImage ["(Since version 3.10)","Use 'GI.Gio.Objects.MenuItem.menuItemGetAttributeValue' on a 'GI.Gio.Objects.MenuItem.MenuItem'","instead"] #-}
+{- |
+Returns whether /@action@/\'s menu item proxies will always
+show their image, if available.
+
+/Since: 2.20/
+-}
+actionGetAlwaysShowImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the menu item proxies will always show their image -}
+actionGetAlwaysShowImage action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_always_show_image action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetAlwaysShowImageMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionGetAlwaysShowImageMethodInfo a signature where
+    overloadedMethod _ = actionGetAlwaysShowImage
+
+#endif
+
+-- method Action::get_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_gicon" gtk_action_get_gicon :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO (Ptr Gio.Icon.Icon)
+
+{-# DEPRECATED actionGetGicon ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and","'GI.Gio.Objects.MenuItem.menuItemGetAttributeValue' to get an icon from a 'GI.Gio.Objects.MenuItem.MenuItem'","associated with a 'GI.Gio.Interfaces.Action.Action'"] #-}
+{- |
+Gets the gicon of /@action@/.
+
+/Since: 2.16/
+-}
+actionGetGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m Gio.Icon.Icon
+    {- ^ __Returns:__ The action’s 'GI.Gio.Interfaces.Icon.Icon' if one is set. -}
+actionGetGicon action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_gicon action'
+    checkUnexpectedReturnNULL "actionGetGicon" result
+    result' <- (newObject Gio.Icon.Icon) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetGiconMethodInfo
+instance (signature ~ (m Gio.Icon.Icon), MonadIO m, IsAction a) => O.MethodInfo ActionGetGiconMethodInfo a signature where
+    overloadedMethod _ = actionGetGicon
+
+#endif
+
+-- method Action::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_icon_name" gtk_action_get_icon_name :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CString
+
+{-# DEPRECATED actionGetIconName ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and","'GI.Gio.Objects.MenuItem.menuItemGetAttributeValue' to get an icon from a 'GI.Gio.Objects.MenuItem.MenuItem'","associated with a 'GI.Gio.Interfaces.Action.Action'"] #-}
+{- |
+Gets the icon name of /@action@/.
+
+/Since: 2.16/
+-}
+actionGetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m T.Text
+    {- ^ __Returns:__ the icon name -}
+actionGetIconName action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_icon_name action'
+    checkUnexpectedReturnNULL "actionGetIconName" result
+    result' <- cstringToText result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetIconNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAction a) => O.MethodInfo ActionGetIconNameMethodInfo a signature where
+    overloadedMethod _ = actionGetIconName
+
+#endif
+
+-- method Action::get_is_important
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_is_important" gtk_action_get_is_important :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CInt
+
+{-# DEPRECATED actionGetIsImportant ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and control and monitor whether","labels are shown directly"] #-}
+{- |
+Checks whether /@action@/ is important or not
+
+/Since: 2.16/
+-}
+actionGetIsImportant ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@action@/ is important -}
+actionGetIsImportant action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_is_important action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetIsImportantMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionGetIsImportantMethodInfo a signature where
+    overloadedMethod _ = actionGetIsImportant
+
+#endif
+
+-- method Action::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_label" gtk_action_get_label :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CString
+
+{-# DEPRECATED actionGetLabel ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and get a label from a menu item","with 'GI.Gio.Objects.MenuItem.menuItemGetAttributeValue'. For 'GI.Gtk.Interfaces.Actionable.Actionable' widgets, use the","widget-specific API to get a label"] #-}
+{- |
+Gets the label text of /@action@/.
+
+/Since: 2.16/
+-}
+actionGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m T.Text
+    {- ^ __Returns:__ the label text -}
+actionGetLabel action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_label action'
+    checkUnexpectedReturnNULL "actionGetLabel" result
+    result' <- cstringToText result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetLabelMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAction a) => O.MethodInfo ActionGetLabelMethodInfo a signature where
+    overloadedMethod _ = actionGetLabel
+
+#endif
+
+-- method Action::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_name" gtk_action_get_name :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CString
+
+{-# DEPRECATED actionGetName ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.actionGetName' on a 'GI.Gio.Interfaces.Action.Action' instead"] #-}
+{- |
+Returns the name of the action.
+
+/Since: 2.4/
+-}
+actionGetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m T.Text
+    {- ^ __Returns:__ the name of the action. The string belongs to GTK+ and should not
+  be freed. -}
+actionGetName action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_name action'
+    checkUnexpectedReturnNULL "actionGetName" result
+    result' <- cstringToText result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAction a) => O.MethodInfo ActionGetNameMethodInfo a signature where
+    overloadedMethod _ = actionGetName
+
+#endif
+
+-- method Action::get_proxies
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "Widget"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_proxies" gtk_action_get_proxies :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO (Ptr (GSList (Ptr Gtk.Widget.Widget)))
+
+{-# DEPRECATED actionGetProxies ["(Since version 3.10)"] #-}
+{- |
+Returns the proxy widgets for an action.
+See also 'GI.Gtk.Interfaces.Activatable.activatableGetRelatedAction'.
+
+/Since: 2.4/
+-}
+actionGetProxies ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m [Gtk.Widget.Widget]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.SList.SList' of proxy widgets. The list is owned by GTK+
+and must not be modified. -}
+actionGetProxies action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_proxies action'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.Widget.Widget) result'
+    touchManagedPtr action
+    return result''
+
+#if ENABLE_OVERLOADING
+data ActionGetProxiesMethodInfo
+instance (signature ~ (m [Gtk.Widget.Widget]), MonadIO m, IsAction a) => O.MethodInfo ActionGetProxiesMethodInfo a signature where
+    overloadedMethod _ = actionGetProxies
+
+#endif
+
+-- method Action::get_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_sensitive" gtk_action_get_sensitive :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CInt
+
+{-# DEPRECATED actionGetSensitive ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.actionGetEnabled' on a 'GI.Gio.Interfaces.Action.Action'","instead"] #-}
+{- |
+Returns whether the action itself is sensitive. Note that this doesn’t
+necessarily mean effective sensitivity. See 'GI.Gtk.Objects.Action.actionIsSensitive'
+for that.
+
+/Since: 2.4/
+-}
+actionGetSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the action itself is sensitive. -}
+actionGetSensitive action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_sensitive action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetSensitiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionGetSensitiveMethodInfo a signature where
+    overloadedMethod _ = actionGetSensitive
+
+#endif
+
+-- method Action::get_short_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_short_label" gtk_action_get_short_label :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CString
+
+{-# DEPRECATED actionGetShortLabel ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, which has no equivalent of short","labels"] #-}
+{- |
+Gets the short label text of /@action@/.
+
+/Since: 2.16/
+-}
+actionGetShortLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m T.Text
+    {- ^ __Returns:__ the short label text. -}
+actionGetShortLabel action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_short_label action'
+    checkUnexpectedReturnNULL "actionGetShortLabel" result
+    result' <- cstringToText result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetShortLabelMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAction a) => O.MethodInfo ActionGetShortLabelMethodInfo a signature where
+    overloadedMethod _ = actionGetShortLabel
+
+#endif
+
+-- method Action::get_stock_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_stock_id" gtk_action_get_stock_id :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CString
+
+{-# DEPRECATED actionGetStockId ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, which has no equivalent of stock","items"] #-}
+{- |
+Gets the stock id of /@action@/.
+
+/Since: 2.16/
+-}
+actionGetStockId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m T.Text
+    {- ^ __Returns:__ the stock id -}
+actionGetStockId action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_stock_id action'
+    checkUnexpectedReturnNULL "actionGetStockId" result
+    result' <- cstringToText result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetStockIdMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAction a) => O.MethodInfo ActionGetStockIdMethodInfo a signature where
+    overloadedMethod _ = actionGetStockId
+
+#endif
+
+-- method Action::get_tooltip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_tooltip" gtk_action_get_tooltip :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CString
+
+{-# DEPRECATED actionGetTooltip ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and get tooltips from associated","'GI.Gtk.Interfaces.Actionable.Actionable' widgets with 'GI.Gtk.Objects.Widget.widgetGetTooltipText'"] #-}
+{- |
+Gets the tooltip text of /@action@/.
+
+/Since: 2.16/
+-}
+actionGetTooltip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m T.Text
+    {- ^ __Returns:__ the tooltip text -}
+actionGetTooltip action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_tooltip action'
+    checkUnexpectedReturnNULL "actionGetTooltip" result
+    result' <- cstringToText result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetTooltipMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAction a) => O.MethodInfo ActionGetTooltipMethodInfo a signature where
+    overloadedMethod _ = actionGetTooltip
+
+#endif
+
+-- method Action::get_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_visible" gtk_action_get_visible :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CInt
+
+{-# DEPRECATED actionGetVisible ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and control and monitor the state of","'GI.Gtk.Interfaces.Actionable.Actionable' widgets directly"] #-}
+{- |
+Returns whether the action itself is visible. Note that this doesn’t
+necessarily mean effective visibility. See 'GI.Gtk.Objects.Action.actionIsSensitive'
+for that.
+
+/Since: 2.4/
+-}
+actionGetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the action itself is visible. -}
+actionGetVisible action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_visible action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionGetVisibleMethodInfo a signature where
+    overloadedMethod _ = actionGetVisible
+
+#endif
+
+-- method Action::get_visible_horizontal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_visible_horizontal" gtk_action_get_visible_horizontal :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CInt
+
+{-# DEPRECATED actionGetVisibleHorizontal ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and control and monitor the","visibility of associated widgets and menu items directly"] #-}
+{- |
+Checks whether /@action@/ is visible when horizontal
+
+/Since: 2.16/
+-}
+actionGetVisibleHorizontal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@action@/ is visible when horizontal -}
+actionGetVisibleHorizontal action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_visible_horizontal action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetVisibleHorizontalMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionGetVisibleHorizontalMethodInfo a signature where
+    overloadedMethod _ = actionGetVisibleHorizontal
+
+#endif
+
+-- method Action::get_visible_vertical
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_get_visible_vertical" gtk_action_get_visible_vertical :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CInt
+
+{-# DEPRECATED actionGetVisibleVertical ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and control and monitor the","visibility of associated widgets and menu items directly"] #-}
+{- |
+Checks whether /@action@/ is visible when horizontal
+
+/Since: 2.16/
+-}
+actionGetVisibleVertical ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@action@/ is visible when horizontal -}
+actionGetVisibleVertical action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_get_visible_vertical action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGetVisibleVerticalMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionGetVisibleVerticalMethodInfo a signature where
+    overloadedMethod _ = actionGetVisibleVertical
+
+#endif
+
+-- method Action::is_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_is_sensitive" gtk_action_is_sensitive :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CInt
+
+{-# DEPRECATED actionIsSensitive ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.actionGetEnabled' on a 'GI.Gio.Interfaces.Action.Action'","instead"] #-}
+{- |
+Returns whether the action is effectively sensitive.
+
+/Since: 2.4/
+-}
+actionIsSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the action and its associated action group
+are both sensitive. -}
+actionIsSensitive action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_is_sensitive action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionIsSensitiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionIsSensitiveMethodInfo a signature where
+    overloadedMethod _ = actionIsSensitive
+
+#endif
+
+-- method Action::is_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_is_visible" gtk_action_is_visible :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO CInt
+
+{-# DEPRECATED actionIsVisible ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and control and monitor the state of","'GI.Gtk.Interfaces.Actionable.Actionable' widgets directly"] #-}
+{- |
+Returns whether the action is effectively visible.
+
+/Since: 2.4/
+-}
+actionIsVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the action and its associated action group
+are both visible. -}
+actionIsVisible action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_action_is_visible action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionIsVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAction a) => O.MethodInfo ActionIsVisibleMethodInfo a signature where
+    overloadedMethod _ = actionIsVisible
+
+#endif
+
+-- method Action::set_accel_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_accel_group" gtk_action_set_accel_group :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO ()
+
+{-# DEPRECATED actionSetAccelGroup ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' and the accelerator group on an associated","'GI.Gtk.Objects.Menu.Menu' instead"] #-}
+{- |
+Sets the 'GI.Gtk.Objects.AccelGroup.AccelGroup' in which the accelerator for this action
+will be installed.
+
+/Since: 2.4/
+-}
+actionSetAccelGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a, Gtk.AccelGroup.IsAccelGroup b) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> Maybe (b)
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' or 'Nothing' -}
+    -> m ()
+actionSetAccelGroup action accelGroup = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    maybeAccelGroup <- case accelGroup of
+        Nothing -> return nullPtr
+        Just jAccelGroup -> do
+            jAccelGroup' <- unsafeManagedPtrCastPtr jAccelGroup
+            return jAccelGroup'
+    gtk_action_set_accel_group action' maybeAccelGroup
+    touchManagedPtr action
+    whenJust accelGroup touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetAccelGroupMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsAction a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo ActionSetAccelGroupMethodInfo a signature where
+    overloadedMethod _ = actionSetAccelGroup
+
+#endif
+
+-- method Action::set_accel_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the accelerator path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_accel_path" gtk_action_set_accel_path :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CString ->                              -- accel_path : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED actionSetAccelPath ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' and the accelerator path on an associated","'GI.Gtk.Objects.Menu.Menu' instead"] #-}
+{- |
+Sets the accel path for this action.  All proxy widgets associated
+with the action will have this accel path, so that their
+accelerators are consistent.
+
+Note that /@accelPath@/ string will be stored in a @/GQuark/@. Therefore, if you
+pass a static string, you can save some memory by interning it first with
+'GI.GLib.Functions.internStaticString'.
+
+/Since: 2.4/
+-}
+actionSetAccelPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> T.Text
+    {- ^ /@accelPath@/: the accelerator path -}
+    -> m ()
+actionSetAccelPath action accelPath = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    accelPath' <- textToCString accelPath
+    gtk_action_set_accel_path action' accelPath'
+    touchManagedPtr action
+    freeMem accelPath'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetAccelPathMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetAccelPathMethodInfo a signature where
+    overloadedMethod _ = actionSetAccelPath
+
+#endif
+
+-- method Action::set_always_show_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "always_show", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if menuitem proxies should always show their image", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_always_show_image" gtk_action_set_always_show_image :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CInt ->                                 -- always_show : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED actionSetAlwaysShowImage ["(Since version 3.10)","Use 'GI.Gio.Objects.MenuItem.menuItemSetIcon' on a 'GI.Gio.Objects.MenuItem.MenuItem' instead, if the","item should have an image"] #-}
+{- |
+Sets whether /@action@/\'s menu item proxies will ignore the
+'GI.Gtk.Objects.Settings.Settings':@/gtk-menu-images/@ setting and always show their image, if available.
+
+Use this if the menu item would be useless or hard to use
+without their image.
+
+/Since: 2.20/
+-}
+actionSetAlwaysShowImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> Bool
+    {- ^ /@alwaysShow@/: 'True' if menuitem proxies should always show their image -}
+    -> m ()
+actionSetAlwaysShowImage action alwaysShow = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    let alwaysShow' = (fromIntegral . fromEnum) alwaysShow
+    gtk_action_set_always_show_image action' alwaysShow'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetAlwaysShowImageMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetAlwaysShowImageMethodInfo a signature where
+    overloadedMethod _ = actionSetAlwaysShowImage
+
+#endif
+
+-- method Action::set_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GIcon to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_gicon" gtk_action_set_gicon :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    IO ()
+
+{-# DEPRECATED actionSetGicon ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and 'GI.Gio.Objects.MenuItem.menuItemSetIcon' to set an","icon on a 'GI.Gio.Objects.MenuItem.MenuItem' associated with a 'GI.Gio.Interfaces.Action.Action', or 'GI.Gtk.Objects.Container.containerAdd' to","add a 'GI.Gtk.Objects.Image.Image' to a 'GI.Gtk.Objects.Button.Button'"] #-}
+{- |
+Sets the icon of /@action@/.
+
+/Since: 2.16/
+-}
+actionSetGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> b
+    {- ^ /@icon@/: the 'GI.Gio.Interfaces.Icon.Icon' to set -}
+    -> m ()
+actionSetGicon action icon = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    icon' <- unsafeManagedPtrCastPtr icon
+    gtk_action_set_gicon action' icon'
+    touchManagedPtr action
+    touchManagedPtr icon
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetGiconMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsAction a, Gio.Icon.IsIcon b) => O.MethodInfo ActionSetGiconMethodInfo a signature where
+    overloadedMethod _ = actionSetGicon
+
+#endif
+
+-- method Action::set_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon name to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_icon_name" gtk_action_set_icon_name :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED actionSetIconName ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and 'GI.Gio.Objects.MenuItem.menuItemSetIcon' to set an","icon on a 'GI.Gio.Objects.MenuItem.MenuItem' associated with a 'GI.Gio.Interfaces.Action.Action', or 'GI.Gtk.Objects.Container.containerAdd' to","add a 'GI.Gtk.Objects.Image.Image' to a 'GI.Gtk.Objects.Button.Button'"] #-}
+{- |
+Sets the icon name on /@action@/
+
+/Since: 2.16/
+-}
+actionSetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> T.Text
+    {- ^ /@iconName@/: the icon name to set -}
+    -> m ()
+actionSetIconName action iconName = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    iconName' <- textToCString iconName
+    gtk_action_set_icon_name action' iconName'
+    touchManagedPtr action
+    freeMem iconName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetIconNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetIconNameMethodInfo a signature where
+    overloadedMethod _ = actionSetIconName
+
+#endif
+
+-- method Action::set_is_important
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_important", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make the action important", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_is_important" gtk_action_set_is_important :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CInt ->                                 -- is_important : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED actionSetIsImportant ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and control and monitor whether","labels are shown directly"] #-}
+{- |
+Sets whether the action is important, this attribute is used
+primarily by toolbar items to decide whether to show a label
+or not.
+
+/Since: 2.16/
+-}
+actionSetIsImportant ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> Bool
+    {- ^ /@isImportant@/: 'True' to make the action important -}
+    -> m ()
+actionSetIsImportant action isImportant = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    let isImportant' = (fromIntegral . fromEnum) isImportant
+    gtk_action_set_is_important action' isImportant'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetIsImportantMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetIsImportantMethodInfo a signature where
+    overloadedMethod _ = actionSetIsImportant
+
+#endif
+
+-- method Action::set_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the label text to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_label" gtk_action_set_label :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED actionSetLabel ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and set a label on a menu item with","'GI.Gio.Objects.MenuItem.menuItemSetLabel'. For 'GI.Gtk.Interfaces.Actionable.Actionable' widgets, use the widget-specific","API to set a label"] #-}
+{- |
+Sets the label of /@action@/.
+
+/Since: 2.16/
+-}
+actionSetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> T.Text
+    {- ^ /@label@/: the label text to set -}
+    -> m ()
+actionSetLabel action label = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    label' <- textToCString label
+    gtk_action_set_label action' label'
+    touchManagedPtr action
+    freeMem label'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetLabelMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetLabelMethodInfo a signature where
+    overloadedMethod _ = actionSetLabel
+
+#endif
+
+-- method Action::set_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make the action sensitive", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_sensitive" gtk_action_set_sensitive :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CInt ->                                 -- sensitive : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED actionSetSensitive ["(Since version 3.10)","Use 'GI.Gio.Objects.SimpleAction.simpleActionSetEnabled' on a 'GI.Gio.Objects.SimpleAction.SimpleAction'","instead"] #-}
+{- |
+Sets the :sensitive property of the action to /@sensitive@/. Note that
+this doesn’t necessarily mean effective sensitivity. See
+'GI.Gtk.Objects.Action.actionIsSensitive'
+for that.
+
+/Since: 2.6/
+-}
+actionSetSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> Bool
+    {- ^ /@sensitive@/: 'True' to make the action sensitive -}
+    -> m ()
+actionSetSensitive action sensitive = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    let sensitive' = (fromIntegral . fromEnum) sensitive
+    gtk_action_set_sensitive action' sensitive'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetSensitiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetSensitiveMethodInfo a signature where
+    overloadedMethod _ = actionSetSensitive
+
+#endif
+
+-- method Action::set_short_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "short_label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the label text to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_short_label" gtk_action_set_short_label :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CString ->                              -- short_label : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED actionSetShortLabel ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, which has no equivalent of short","labels"] #-}
+{- |
+Sets a shorter label text on /@action@/.
+
+/Since: 2.16/
+-}
+actionSetShortLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> T.Text
+    {- ^ /@shortLabel@/: the label text to set -}
+    -> m ()
+actionSetShortLabel action shortLabel = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    shortLabel' <- textToCString shortLabel
+    gtk_action_set_short_label action' shortLabel'
+    touchManagedPtr action
+    freeMem shortLabel'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetShortLabelMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetShortLabelMethodInfo a signature where
+    overloadedMethod _ = actionSetShortLabel
+
+#endif
+
+-- method Action::set_stock_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stock id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_stock_id" gtk_action_set_stock_id :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED actionSetStockId ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, which has no equivalent of stock","items"] #-}
+{- |
+Sets the stock id on /@action@/
+
+/Since: 2.16/
+-}
+actionSetStockId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> T.Text
+    {- ^ /@stockId@/: the stock id -}
+    -> m ()
+actionSetStockId action stockId = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    stockId' <- textToCString stockId
+    gtk_action_set_stock_id action' stockId'
+    touchManagedPtr action
+    freeMem stockId'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetStockIdMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetStockIdMethodInfo a signature where
+    overloadedMethod _ = actionSetStockId
+
+#endif
+
+-- method Action::set_tooltip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tooltip text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_tooltip" gtk_action_set_tooltip :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CString ->                              -- tooltip : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED actionSetTooltip ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and set tooltips on associated","'GI.Gtk.Interfaces.Actionable.Actionable' widgets with 'GI.Gtk.Objects.Widget.widgetSetTooltipText'"] #-}
+{- |
+Sets the tooltip text on /@action@/
+
+/Since: 2.16/
+-}
+actionSetTooltip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> T.Text
+    {- ^ /@tooltip@/: the tooltip text -}
+    -> m ()
+actionSetTooltip action tooltip = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    tooltip' <- textToCString tooltip
+    gtk_action_set_tooltip action' tooltip'
+    touchManagedPtr action
+    freeMem tooltip'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetTooltipMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetTooltipMethodInfo a signature where
+    overloadedMethod _ = actionSetTooltip
+
+#endif
+
+-- method Action::set_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make the action visible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_visible" gtk_action_set_visible :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CInt ->                                 -- visible : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED actionSetVisible ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and control and monitor the state of","'GI.Gtk.Interfaces.Actionable.Actionable' widgets directly"] #-}
+{- |
+Sets the :visible property of the action to /@visible@/. Note that
+this doesn’t necessarily mean effective visibility. See
+'GI.Gtk.Objects.Action.actionIsVisible'
+for that.
+
+/Since: 2.6/
+-}
+actionSetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> Bool
+    {- ^ /@visible@/: 'True' to make the action visible -}
+    -> m ()
+actionSetVisible action visible = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    let visible' = (fromIntegral . fromEnum) visible
+    gtk_action_set_visible action' visible'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetVisibleMethodInfo a signature where
+    overloadedMethod _ = actionSetVisible
+
+#endif
+
+-- method Action::set_visible_horizontal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible_horizontal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the action is visible horizontally", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_visible_horizontal" gtk_action_set_visible_horizontal :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CInt ->                                 -- visible_horizontal : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED actionSetVisibleHorizontal ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and control and monitor the","visibility of associated widgets and menu items directly"] #-}
+{- |
+Sets whether /@action@/ is visible when horizontal
+
+/Since: 2.16/
+-}
+actionSetVisibleHorizontal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> Bool
+    {- ^ /@visibleHorizontal@/: whether the action is visible horizontally -}
+    -> m ()
+actionSetVisibleHorizontal action visibleHorizontal = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    let visibleHorizontal' = (fromIntegral . fromEnum) visibleHorizontal
+    gtk_action_set_visible_horizontal action' visibleHorizontal'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetVisibleHorizontalMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetVisibleHorizontalMethodInfo a signature where
+    overloadedMethod _ = actionSetVisibleHorizontal
+
+#endif
+
+-- method Action::set_visible_vertical
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible_vertical", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the action is visible vertically", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_set_visible_vertical" gtk_action_set_visible_vertical :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CInt ->                                 -- visible_vertical : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED actionSetVisibleVertical ["(Since version 3.10)","Use 'GI.Gio.Interfaces.Action.Action' instead, and control and monitor the","visibility of associated widgets and menu items directly"] #-}
+{- |
+Sets whether /@action@/ is visible when vertical
+
+/Since: 2.16/
+-}
+actionSetVisibleVertical ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> Bool
+    {- ^ /@visibleVertical@/: whether the action is visible vertically -}
+    -> m ()
+actionSetVisibleVertical action visibleVertical = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    let visibleVertical' = (fromIntegral . fromEnum) visibleVertical
+    gtk_action_set_visible_vertical action' visibleVertical'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionSetVisibleVerticalMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAction a) => O.MethodInfo ActionSetVisibleVerticalMethodInfo a signature where
+    overloadedMethod _ = actionSetVisibleVertical
+
+#endif
+
+-- method Action::unblock_activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_unblock_activate" gtk_action_unblock_activate :: 
+    Ptr Action ->                           -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED actionUnblockActivate ["(Since version 3.10)","Use 'GI.Gio.Objects.SimpleAction.simpleActionSetEnabled' to enable the","'GI.Gio.Objects.SimpleAction.SimpleAction' instead"] #-}
+{- |
+Reenable activation signals from the action
+
+/Since: 2.16/
+-}
+actionUnblockActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.Action.Action' -}
+    -> m ()
+actionUnblockActivate action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_action_unblock_activate action'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionUnblockActivateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAction a) => O.MethodInfo ActionUnblockActivateMethodInfo a signature where
+    overloadedMethod _ = actionUnblockActivate
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Action.hs-boot b/GI/Gtk/Objects/Action.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Action.hs-boot
@@ -0,0 +1,203 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Action where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Action = Action (ManagedPtr Action)
+instance GObject Action where
+class (GObject o, O.IsDescendantOf Action o) => IsAction o
+instance (GObject o, O.IsDescendantOf Action o) => IsAction o
+instance O.HasParentTypes Action
+#if ENABLE_OVERLOADING
+data ActionActionGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionAlwaysShowImagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGiconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionHideIfEmptyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionIsImportantPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSensitivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionShortLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionStockIdPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionTooltipPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionVisibleHorizontalPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionVisibleOverflownPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionVisibleVerticalPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionBlockActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionConnectAcceleratorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionCreateIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionCreateMenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionCreateMenuItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionCreateToolItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionDisconnectAcceleratorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetAccelClosureMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetAccelPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetAlwaysShowImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetIsImportantMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetProxiesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetShortLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetStockIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetTooltipMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetVisibleHorizontalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGetVisibleVerticalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionIsSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionIsVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetAccelGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetAccelPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetAlwaysShowImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetIsImportantMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetShortLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetStockIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetTooltipMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetVisibleHorizontalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionSetVisibleVerticalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionUnblockActivateMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ActionBar.hs b/GI/Gtk/Objects/ActionBar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ActionBar.hs
@@ -0,0 +1,672 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkActionBar is designed to present contextual actions. It is
+expected to be displayed below the content and expand horizontally
+to fill the area.
+
+It allows placing children at the start or the end. In addition, it
+contains an internal centered box which is centered with respect to
+the full width of the box, even if the children at either side take
+up different amounts of space.
+
+= CSS nodes
+
+GtkActionBar has a single CSS node with name actionbar.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ActionBar
+    ( 
+
+-- * Exported types
+    ActionBar(..)                           ,
+    IsActionBar                             ,
+    toActionBar                             ,
+    noActionBar                             ,
+
+
+ -- * Methods
+-- ** getCenterWidget #method:getCenterWidget#
+
+#if ENABLE_OVERLOADING
+    ActionBarGetCenterWidgetMethodInfo      ,
+#endif
+    actionBarGetCenterWidget                ,
+
+
+-- ** new #method:new#
+
+    actionBarNew                            ,
+
+
+-- ** packEnd #method:packEnd#
+
+#if ENABLE_OVERLOADING
+    ActionBarPackEndMethodInfo              ,
+#endif
+    actionBarPackEnd                        ,
+
+
+-- ** packStart #method:packStart#
+
+#if ENABLE_OVERLOADING
+    ActionBarPackStartMethodInfo            ,
+#endif
+    actionBarPackStart                      ,
+
+
+-- ** setCenterWidget #method:setCenterWidget#
+
+#if ENABLE_OVERLOADING
+    ActionBarSetCenterWidgetMethodInfo      ,
+#endif
+    actionBarSetCenterWidget                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ActionBar = ActionBar (ManagedPtr ActionBar)
+foreign import ccall "gtk_action_bar_get_type"
+    c_gtk_action_bar_get_type :: IO GType
+
+instance GObject ActionBar where
+    gobjectType = c_gtk_action_bar_get_type
+    
+
+-- | Type class for types which can be safely cast to `ActionBar`, for instance with `toActionBar`.
+class (GObject o, O.IsDescendantOf ActionBar o) => IsActionBar o
+instance (GObject o, O.IsDescendantOf ActionBar o) => IsActionBar o
+
+instance O.HasParentTypes ActionBar
+type instance O.ParentTypes ActionBar = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `ActionBar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toActionBar :: (MonadIO m, IsActionBar o) => o -> m ActionBar
+toActionBar = liftIO . unsafeCastTo ActionBar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ActionBar`.
+noActionBar :: Maybe ActionBar
+noActionBar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveActionBarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveActionBarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveActionBarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveActionBarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveActionBarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveActionBarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveActionBarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveActionBarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveActionBarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveActionBarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveActionBarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveActionBarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveActionBarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveActionBarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveActionBarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveActionBarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveActionBarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveActionBarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveActionBarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveActionBarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveActionBarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveActionBarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveActionBarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveActionBarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveActionBarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveActionBarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveActionBarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveActionBarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveActionBarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveActionBarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveActionBarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveActionBarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveActionBarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveActionBarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveActionBarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveActionBarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveActionBarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveActionBarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveActionBarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveActionBarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveActionBarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveActionBarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveActionBarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveActionBarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveActionBarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveActionBarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveActionBarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveActionBarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveActionBarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveActionBarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveActionBarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveActionBarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveActionBarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveActionBarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveActionBarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveActionBarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveActionBarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveActionBarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveActionBarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveActionBarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveActionBarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveActionBarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveActionBarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveActionBarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveActionBarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveActionBarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveActionBarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveActionBarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveActionBarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveActionBarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveActionBarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveActionBarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveActionBarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveActionBarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveActionBarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveActionBarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveActionBarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveActionBarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveActionBarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveActionBarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveActionBarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveActionBarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveActionBarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveActionBarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveActionBarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveActionBarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveActionBarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveActionBarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveActionBarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveActionBarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveActionBarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveActionBarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveActionBarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveActionBarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveActionBarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveActionBarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveActionBarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveActionBarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveActionBarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveActionBarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveActionBarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveActionBarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveActionBarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveActionBarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveActionBarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveActionBarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveActionBarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveActionBarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveActionBarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveActionBarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveActionBarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveActionBarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveActionBarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveActionBarMethod "packEnd" o = ActionBarPackEndMethodInfo
+    ResolveActionBarMethod "packStart" o = ActionBarPackStartMethodInfo
+    ResolveActionBarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveActionBarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveActionBarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveActionBarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveActionBarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveActionBarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveActionBarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveActionBarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveActionBarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveActionBarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveActionBarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveActionBarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveActionBarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveActionBarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveActionBarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveActionBarMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveActionBarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveActionBarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveActionBarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveActionBarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveActionBarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveActionBarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveActionBarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveActionBarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveActionBarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveActionBarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveActionBarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveActionBarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveActionBarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveActionBarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveActionBarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveActionBarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveActionBarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveActionBarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveActionBarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveActionBarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveActionBarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveActionBarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveActionBarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveActionBarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveActionBarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveActionBarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveActionBarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveActionBarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveActionBarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveActionBarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveActionBarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveActionBarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveActionBarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveActionBarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveActionBarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveActionBarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveActionBarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveActionBarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveActionBarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveActionBarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveActionBarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveActionBarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveActionBarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveActionBarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveActionBarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveActionBarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveActionBarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveActionBarMethod "getCenterWidget" o = ActionBarGetCenterWidgetMethodInfo
+    ResolveActionBarMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveActionBarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveActionBarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveActionBarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveActionBarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveActionBarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveActionBarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveActionBarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveActionBarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveActionBarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveActionBarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveActionBarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveActionBarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveActionBarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveActionBarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveActionBarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveActionBarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveActionBarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveActionBarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveActionBarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveActionBarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveActionBarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveActionBarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveActionBarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveActionBarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveActionBarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveActionBarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveActionBarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveActionBarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveActionBarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveActionBarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveActionBarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveActionBarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveActionBarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveActionBarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveActionBarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveActionBarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveActionBarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveActionBarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveActionBarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveActionBarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveActionBarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveActionBarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveActionBarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveActionBarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveActionBarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveActionBarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveActionBarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveActionBarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveActionBarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveActionBarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveActionBarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveActionBarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveActionBarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveActionBarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveActionBarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveActionBarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveActionBarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveActionBarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveActionBarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveActionBarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveActionBarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveActionBarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveActionBarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveActionBarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveActionBarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveActionBarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveActionBarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveActionBarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveActionBarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveActionBarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveActionBarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveActionBarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveActionBarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveActionBarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveActionBarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveActionBarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveActionBarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveActionBarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveActionBarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveActionBarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveActionBarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveActionBarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveActionBarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveActionBarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveActionBarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveActionBarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveActionBarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveActionBarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveActionBarMethod "setCenterWidget" o = ActionBarSetCenterWidgetMethodInfo
+    ResolveActionBarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveActionBarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveActionBarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveActionBarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveActionBarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveActionBarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveActionBarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveActionBarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveActionBarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveActionBarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveActionBarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveActionBarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveActionBarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveActionBarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveActionBarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveActionBarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveActionBarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveActionBarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveActionBarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveActionBarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveActionBarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveActionBarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveActionBarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveActionBarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveActionBarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveActionBarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveActionBarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveActionBarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveActionBarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveActionBarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveActionBarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveActionBarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveActionBarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveActionBarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveActionBarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveActionBarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveActionBarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveActionBarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveActionBarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveActionBarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveActionBarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveActionBarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveActionBarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveActionBarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveActionBarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveActionBarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveActionBarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveActionBarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveActionBarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveActionBarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveActionBarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveActionBarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveActionBarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveActionBarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveActionBarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveActionBarMethod t ActionBar, O.MethodInfo info ActionBar p) => OL.IsLabel t (ActionBar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ActionBar
+type instance O.AttributeList ActionBar = ActionBarAttributeList
+type ActionBarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ActionBar = ActionBarSignalList
+type ActionBarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ActionBar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ActionBar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_bar_new" gtk_action_bar_new :: 
+    IO (Ptr ActionBar)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ActionBar.ActionBar' widget.
+
+/Since: 3.12/
+-}
+actionBarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ActionBar
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ActionBar.ActionBar' -}
+actionBarNew  = liftIO $ do
+    result <- gtk_action_bar_new
+    checkUnexpectedReturnNULL "actionBarNew" result
+    result' <- (newObject ActionBar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ActionBar::get_center_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_bar", argType = TInterface (Name {namespace = "Gtk", name = "ActionBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_bar_get_center_widget" gtk_action_bar_get_center_widget :: 
+    Ptr ActionBar ->                        -- action_bar : TInterface (Name {namespace = "Gtk", name = "ActionBar"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the center bar widget of the bar.
+
+/Since: 3.12/
+-}
+actionBarGetCenterWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionBar a) =>
+    a
+    {- ^ /@actionBar@/: a 'GI.Gtk.Objects.ActionBar.ActionBar' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the center 'GI.Gtk.Objects.Widget.Widget' or 'Nothing'. -}
+actionBarGetCenterWidget actionBar = liftIO $ do
+    actionBar' <- unsafeManagedPtrCastPtr actionBar
+    result <- gtk_action_bar_get_center_widget actionBar'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr actionBar
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ActionBarGetCenterWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsActionBar a) => O.MethodInfo ActionBarGetCenterWidgetMethodInfo a signature where
+    overloadedMethod _ = actionBarGetCenterWidget
+
+#endif
+
+-- method ActionBar::pack_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_bar", argType = TInterface (Name {namespace = "Gtk", name = "ActionBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkActionBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be added to @action_bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_bar_pack_end" gtk_action_bar_pack_end :: 
+    Ptr ActionBar ->                        -- action_bar : TInterface (Name {namespace = "Gtk", name = "ActionBar"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds /@child@/ to /@actionBar@/, packed with reference to the
+end of the /@actionBar@/.
+
+/Since: 3.12/
+-}
+actionBarPackEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionBar a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@actionBar@/: A 'GI.Gtk.Objects.ActionBar.ActionBar' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to be added to /@actionBar@/ -}
+    -> m ()
+actionBarPackEnd actionBar child = liftIO $ do
+    actionBar' <- unsafeManagedPtrCastPtr actionBar
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_action_bar_pack_end actionBar' child'
+    touchManagedPtr actionBar
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionBarPackEndMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsActionBar a, Gtk.Widget.IsWidget b) => O.MethodInfo ActionBarPackEndMethodInfo a signature where
+    overloadedMethod _ = actionBarPackEnd
+
+#endif
+
+-- method ActionBar::pack_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_bar", argType = TInterface (Name {namespace = "Gtk", name = "ActionBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkActionBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be added to @action_bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_bar_pack_start" gtk_action_bar_pack_start :: 
+    Ptr ActionBar ->                        -- action_bar : TInterface (Name {namespace = "Gtk", name = "ActionBar"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds /@child@/ to /@actionBar@/, packed with reference to the
+start of the /@actionBar@/.
+
+/Since: 3.12/
+-}
+actionBarPackStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionBar a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@actionBar@/: A 'GI.Gtk.Objects.ActionBar.ActionBar' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to be added to /@actionBar@/ -}
+    -> m ()
+actionBarPackStart actionBar child = liftIO $ do
+    actionBar' <- unsafeManagedPtrCastPtr actionBar
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_action_bar_pack_start actionBar' child'
+    touchManagedPtr actionBar
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionBarPackStartMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsActionBar a, Gtk.Widget.IsWidget b) => O.MethodInfo ActionBarPackStartMethodInfo a signature where
+    overloadedMethod _ = actionBarPackStart
+
+#endif
+
+-- method ActionBar::set_center_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_bar", argType = TInterface (Name {namespace = "Gtk", name = "ActionBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "center_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a widget to use for the center", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_bar_set_center_widget" gtk_action_bar_set_center_widget :: 
+    Ptr ActionBar ->                        -- action_bar : TInterface (Name {namespace = "Gtk", name = "ActionBar"})
+    Ptr Gtk.Widget.Widget ->                -- center_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the center widget for the 'GI.Gtk.Objects.ActionBar.ActionBar'.
+
+/Since: 3.12/
+-}
+actionBarSetCenterWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionBar a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@actionBar@/: a 'GI.Gtk.Objects.ActionBar.ActionBar' -}
+    -> Maybe (b)
+    {- ^ /@centerWidget@/: a widget to use for the center -}
+    -> m ()
+actionBarSetCenterWidget actionBar centerWidget = liftIO $ do
+    actionBar' <- unsafeManagedPtrCastPtr actionBar
+    maybeCenterWidget <- case centerWidget of
+        Nothing -> return nullPtr
+        Just jCenterWidget -> do
+            jCenterWidget' <- unsafeManagedPtrCastPtr jCenterWidget
+            return jCenterWidget'
+    gtk_action_bar_set_center_widget actionBar' maybeCenterWidget
+    touchManagedPtr actionBar
+    whenJust centerWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionBarSetCenterWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsActionBar a, Gtk.Widget.IsWidget b) => O.MethodInfo ActionBarSetCenterWidgetMethodInfo a signature where
+    overloadedMethod _ = actionBarSetCenterWidget
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ActionBar.hs-boot b/GI/Gtk/Objects/ActionBar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ActionBar.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ActionBar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ActionBar = ActionBar (ManagedPtr ActionBar)
+instance GObject ActionBar where
+class (GObject o, O.IsDescendantOf ActionBar o) => IsActionBar o
+instance (GObject o, O.IsDescendantOf ActionBar o) => IsActionBar o
+instance O.HasParentTypes ActionBar
+#if ENABLE_OVERLOADING
+data ActionBarGetCenterWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionBarPackEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionBarPackStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionBarSetCenterWidgetMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ActionGroup.hs b/GI/Gtk/Objects/ActionGroup.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ActionGroup.hs
@@ -0,0 +1,1701 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Actions are organised into groups. An action group is essentially a
+map from names to 'GI.Gtk.Objects.Action.Action' objects.
+
+All actions that would make sense to use in a particular context
+should be in a single group. Multiple action groups may be used for a
+particular user interface. In fact, it is expected that most nontrivial
+applications will make use of multiple groups. For example, in an
+application that can edit multiple documents, one group holding global
+actions (e.g. quit, about, new), and one group per document holding
+actions that act on that document (eg. save, cut\/copy\/paste, etc). Each
+window’s menus would be constructed from a combination of two action
+groups.
+
+## Accelerators ## {@/Action/@-Accel}
+
+Accelerators are handled by the GTK+ accelerator map. All actions are
+assigned an accelerator path (which normally has the form
+@\<Actions>\/group-name\/action-name@) and a shortcut is associated with
+this accelerator path. All menuitems and toolitems take on this accelerator
+path. The GTK+ accelerator map code makes sure that the correct shortcut
+is displayed next to the menu item.
+
+# GtkActionGroup as GtkBuildable # {'GI.Gtk.Objects.ActionGroup.ActionGroup'-BUILDER-UI}
+
+The 'GI.Gtk.Objects.ActionGroup.ActionGroup' implementation of the 'GI.Gtk.Interfaces.Buildable.Buildable' interface accepts
+'GI.Gtk.Objects.Action.Action' objects as \<child> elements in UI definitions.
+
+Note that it is probably more common to define actions and action groups
+in the code, since they are directly related to what the code can do.
+
+The GtkActionGroup implementation of the GtkBuildable interface supports
+a custom \<accelerator> element, which has attributes named “key“ and
+“modifiers“ and allows to specify accelerators. This is similar to the
+\<accelerator> element of 'GI.Gtk.Objects.Widget.Widget', the main difference is that
+it doesn’t allow you to specify a signal.
+
+## A 'GI.Gtk.Objects.Dialog.Dialog' UI definition fragment. ##
+>
+><object class="GtkActionGroup" id="actiongroup">
+>  <child>
+>      <object class="GtkAction" id="About">
+>          <property name="name">About</property>
+>          <property name="stock_id">gtk-about</property>
+>          <signal handler="about_activate" name="activate"/>
+>      </object>
+>      <accelerator key="F1" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK"/>
+>  </child>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ActionGroup
+    ( 
+
+-- * Exported types
+    ActionGroup(..)                         ,
+    IsActionGroup                           ,
+    toActionGroup                           ,
+    noActionGroup                           ,
+
+
+ -- * Methods
+-- ** addAction #method:addAction#
+
+#if ENABLE_OVERLOADING
+    ActionGroupAddActionMethodInfo          ,
+#endif
+    actionGroupAddAction                    ,
+
+
+-- ** addActionWithAccel #method:addActionWithAccel#
+
+#if ENABLE_OVERLOADING
+    ActionGroupAddActionWithAccelMethodInfo ,
+#endif
+    actionGroupAddActionWithAccel           ,
+
+
+-- ** getAccelGroup #method:getAccelGroup#
+
+#if ENABLE_OVERLOADING
+    ActionGroupGetAccelGroupMethodInfo      ,
+#endif
+    actionGroupGetAccelGroup                ,
+
+
+-- ** getAction #method:getAction#
+
+#if ENABLE_OVERLOADING
+    ActionGroupGetActionMethodInfo          ,
+#endif
+    actionGroupGetAction                    ,
+
+
+-- ** getName #method:getName#
+
+#if ENABLE_OVERLOADING
+    ActionGroupGetNameMethodInfo            ,
+#endif
+    actionGroupGetName                      ,
+
+
+-- ** getSensitive #method:getSensitive#
+
+#if ENABLE_OVERLOADING
+    ActionGroupGetSensitiveMethodInfo       ,
+#endif
+    actionGroupGetSensitive                 ,
+
+
+-- ** getVisible #method:getVisible#
+
+#if ENABLE_OVERLOADING
+    ActionGroupGetVisibleMethodInfo         ,
+#endif
+    actionGroupGetVisible                   ,
+
+
+-- ** listActions #method:listActions#
+
+#if ENABLE_OVERLOADING
+    ActionGroupListActionsMethodInfo        ,
+#endif
+    actionGroupListActions                  ,
+
+
+-- ** new #method:new#
+
+    actionGroupNew                          ,
+
+
+-- ** removeAction #method:removeAction#
+
+#if ENABLE_OVERLOADING
+    ActionGroupRemoveActionMethodInfo       ,
+#endif
+    actionGroupRemoveAction                 ,
+
+
+-- ** setAccelGroup #method:setAccelGroup#
+
+#if ENABLE_OVERLOADING
+    ActionGroupSetAccelGroupMethodInfo      ,
+#endif
+    actionGroupSetAccelGroup                ,
+
+
+-- ** setSensitive #method:setSensitive#
+
+#if ENABLE_OVERLOADING
+    ActionGroupSetSensitiveMethodInfo       ,
+#endif
+    actionGroupSetSensitive                 ,
+
+
+-- ** setTranslateFunc #method:setTranslateFunc#
+
+#if ENABLE_OVERLOADING
+    ActionGroupSetTranslateFuncMethodInfo   ,
+#endif
+    actionGroupSetTranslateFunc             ,
+
+
+-- ** setTranslationDomain #method:setTranslationDomain#
+
+#if ENABLE_OVERLOADING
+    ActionGroupSetTranslationDomainMethodInfo,
+#endif
+    actionGroupSetTranslationDomain         ,
+
+
+-- ** setVisible #method:setVisible#
+
+#if ENABLE_OVERLOADING
+    ActionGroupSetVisibleMethodInfo         ,
+#endif
+    actionGroupSetVisible                   ,
+
+
+-- ** translateString #method:translateString#
+
+#if ENABLE_OVERLOADING
+    ActionGroupTranslateStringMethodInfo    ,
+#endif
+    actionGroupTranslateString              ,
+
+
+
+
+ -- * Properties
+-- ** accelGroup #attr:accelGroup#
+{- | The accelerator group the actions of this group should use.
+-}
+#if ENABLE_OVERLOADING
+    ActionGroupAccelGroupPropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    actionGroupAccelGroup                   ,
+#endif
+    clearActionGroupAccelGroup              ,
+    constructActionGroupAccelGroup          ,
+    getActionGroupAccelGroup                ,
+    setActionGroupAccelGroup                ,
+
+
+-- ** name #attr:name#
+{- | A name for the action.
+-}
+#if ENABLE_OVERLOADING
+    ActionGroupNamePropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    actionGroupName                         ,
+#endif
+    constructActionGroupName                ,
+    getActionGroupName                      ,
+
+
+-- ** sensitive #attr:sensitive#
+{- | Whether the action group is enabled.
+-}
+#if ENABLE_OVERLOADING
+    ActionGroupSensitivePropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    actionGroupSensitive                    ,
+#endif
+    constructActionGroupSensitive           ,
+    getActionGroupSensitive                 ,
+    setActionGroupSensitive                 ,
+
+
+-- ** visible #attr:visible#
+{- | Whether the action group is visible.
+-}
+#if ENABLE_OVERLOADING
+    ActionGroupVisiblePropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    actionGroupVisible                      ,
+#endif
+    constructActionGroupVisible             ,
+    getActionGroupVisible                   ,
+    setActionGroupVisible                   ,
+
+
+
+
+ -- * Signals
+-- ** connectProxy #signal:connectProxy#
+
+    ActionGroupConnectProxyCallback         ,
+#if ENABLE_OVERLOADING
+    ActionGroupConnectProxySignalInfo       ,
+#endif
+    C_ActionGroupConnectProxyCallback       ,
+    afterActionGroupConnectProxy            ,
+    genClosure_ActionGroupConnectProxy      ,
+    mk_ActionGroupConnectProxyCallback      ,
+    noActionGroupConnectProxyCallback       ,
+    onActionGroupConnectProxy               ,
+    wrap_ActionGroupConnectProxyCallback    ,
+
+
+-- ** disconnectProxy #signal:disconnectProxy#
+
+    ActionGroupDisconnectProxyCallback      ,
+#if ENABLE_OVERLOADING
+    ActionGroupDisconnectProxySignalInfo    ,
+#endif
+    C_ActionGroupDisconnectProxyCallback    ,
+    afterActionGroupDisconnectProxy         ,
+    genClosure_ActionGroupDisconnectProxy   ,
+    mk_ActionGroupDisconnectProxyCallback   ,
+    noActionGroupDisconnectProxyCallback    ,
+    onActionGroupDisconnectProxy            ,
+    wrap_ActionGroupDisconnectProxyCallback ,
+
+
+-- ** postActivate #signal:postActivate#
+
+    ActionGroupPostActivateCallback         ,
+#if ENABLE_OVERLOADING
+    ActionGroupPostActivateSignalInfo       ,
+#endif
+    C_ActionGroupPostActivateCallback       ,
+    afterActionGroupPostActivate            ,
+    genClosure_ActionGroupPostActivate      ,
+    mk_ActionGroupPostActivateCallback      ,
+    noActionGroupPostActivateCallback       ,
+    onActionGroupPostActivate               ,
+    wrap_ActionGroupPostActivateCallback    ,
+
+
+-- ** preActivate #signal:preActivate#
+
+    ActionGroupPreActivateCallback          ,
+#if ENABLE_OVERLOADING
+    ActionGroupPreActivateSignalInfo        ,
+#endif
+    C_ActionGroupPreActivateCallback        ,
+    afterActionGroupPreActivate             ,
+    genClosure_ActionGroupPreActivate       ,
+    mk_ActionGroupPreActivateCallback       ,
+    noActionGroupPreActivateCallback        ,
+    onActionGroupPreActivate                ,
+    wrap_ActionGroupPreActivateCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Action as Gtk.Action
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ActionGroup = ActionGroup (ManagedPtr ActionGroup)
+foreign import ccall "gtk_action_group_get_type"
+    c_gtk_action_group_get_type :: IO GType
+
+instance GObject ActionGroup where
+    gobjectType = c_gtk_action_group_get_type
+    
+
+-- | Type class for types which can be safely cast to `ActionGroup`, for instance with `toActionGroup`.
+class (GObject o, O.IsDescendantOf ActionGroup o) => IsActionGroup o
+instance (GObject o, O.IsDescendantOf ActionGroup o) => IsActionGroup o
+
+instance O.HasParentTypes ActionGroup
+type instance O.ParentTypes ActionGroup = '[GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `ActionGroup`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toActionGroup :: (MonadIO m, IsActionGroup o) => o -> m ActionGroup
+toActionGroup = liftIO . unsafeCastTo ActionGroup
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ActionGroup`.
+noActionGroup :: Maybe ActionGroup
+noActionGroup = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveActionGroupMethod (t :: Symbol) (o :: *) :: * where
+    ResolveActionGroupMethod "addAction" o = ActionGroupAddActionMethodInfo
+    ResolveActionGroupMethod "addActionWithAccel" o = ActionGroupAddActionWithAccelMethodInfo
+    ResolveActionGroupMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveActionGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveActionGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveActionGroupMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveActionGroupMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveActionGroupMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveActionGroupMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveActionGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveActionGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveActionGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveActionGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveActionGroupMethod "listActions" o = ActionGroupListActionsMethodInfo
+    ResolveActionGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveActionGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveActionGroupMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveActionGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveActionGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveActionGroupMethod "removeAction" o = ActionGroupRemoveActionMethodInfo
+    ResolveActionGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveActionGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveActionGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveActionGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveActionGroupMethod "translateString" o = ActionGroupTranslateStringMethodInfo
+    ResolveActionGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveActionGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveActionGroupMethod "getAccelGroup" o = ActionGroupGetAccelGroupMethodInfo
+    ResolveActionGroupMethod "getAction" o = ActionGroupGetActionMethodInfo
+    ResolveActionGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveActionGroupMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveActionGroupMethod "getName" o = ActionGroupGetNameMethodInfo
+    ResolveActionGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveActionGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveActionGroupMethod "getSensitive" o = ActionGroupGetSensitiveMethodInfo
+    ResolveActionGroupMethod "getVisible" o = ActionGroupGetVisibleMethodInfo
+    ResolveActionGroupMethod "setAccelGroup" o = ActionGroupSetAccelGroupMethodInfo
+    ResolveActionGroupMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveActionGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveActionGroupMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveActionGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveActionGroupMethod "setSensitive" o = ActionGroupSetSensitiveMethodInfo
+    ResolveActionGroupMethod "setTranslateFunc" o = ActionGroupSetTranslateFuncMethodInfo
+    ResolveActionGroupMethod "setTranslationDomain" o = ActionGroupSetTranslationDomainMethodInfo
+    ResolveActionGroupMethod "setVisible" o = ActionGroupSetVisibleMethodInfo
+    ResolveActionGroupMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveActionGroupMethod t ActionGroup, O.MethodInfo info ActionGroup p) => OL.IsLabel t (ActionGroup -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ActionGroup::connect-proxy
+{-# DEPRECATED ActionGroupConnectProxyCallback ["(Since version 3.10)"] #-}
+{- |
+The ::connect-proxy signal is emitted after connecting a proxy to
+an action in the group. Note that the proxy may have been connected
+to a different action before.
+
+This is intended for simple customizations for which a custom action
+class would be too clumsy, e.g. showing tooltips for menuitems in the
+statusbar.
+
+'GI.Gtk.Objects.UIManager.UIManager' proxies the signal and provides global notification
+just before any action is connected to a proxy, which is probably more
+convenient to use.
+
+/Since: 2.4/
+-}
+type ActionGroupConnectProxyCallback =
+    Gtk.Action.Action
+    {- ^ /@action@/: the action -}
+    -> Gtk.Widget.Widget
+    {- ^ /@proxy@/: the proxy -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ActionGroupConnectProxyCallback`@.
+noActionGroupConnectProxyCallback :: Maybe ActionGroupConnectProxyCallback
+noActionGroupConnectProxyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ActionGroupConnectProxyCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Action.Action ->
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ActionGroupConnectProxyCallback`.
+foreign import ccall "wrapper"
+    mk_ActionGroupConnectProxyCallback :: C_ActionGroupConnectProxyCallback -> IO (FunPtr C_ActionGroupConnectProxyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ActionGroupConnectProxy :: MonadIO m => ActionGroupConnectProxyCallback -> m (GClosure C_ActionGroupConnectProxyCallback)
+genClosure_ActionGroupConnectProxy cb = liftIO $ do
+    let cb' = wrap_ActionGroupConnectProxyCallback cb
+    mk_ActionGroupConnectProxyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ActionGroupConnectProxyCallback` into a `C_ActionGroupConnectProxyCallback`.
+wrap_ActionGroupConnectProxyCallback ::
+    ActionGroupConnectProxyCallback ->
+    C_ActionGroupConnectProxyCallback
+wrap_ActionGroupConnectProxyCallback _cb _ action proxy _ = do
+    action' <- (newObject Gtk.Action.Action) action
+    proxy' <- (newObject Gtk.Widget.Widget) proxy
+    _cb  action' proxy'
+
+
+{- |
+Connect a signal handler for the “@connect-proxy@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' actionGroup #connectProxy callback
+@
+-}
+onActionGroupConnectProxy :: (IsActionGroup a, MonadIO m) => a -> ActionGroupConnectProxyCallback -> m SignalHandlerId
+onActionGroupConnectProxy obj cb = liftIO $ do
+    let cb' = wrap_ActionGroupConnectProxyCallback cb
+    cb'' <- mk_ActionGroupConnectProxyCallback cb'
+    connectSignalFunPtr obj "connect-proxy" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@connect-proxy@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' actionGroup #connectProxy callback
+@
+-}
+afterActionGroupConnectProxy :: (IsActionGroup a, MonadIO m) => a -> ActionGroupConnectProxyCallback -> m SignalHandlerId
+afterActionGroupConnectProxy obj cb = liftIO $ do
+    let cb' = wrap_ActionGroupConnectProxyCallback cb
+    cb'' <- mk_ActionGroupConnectProxyCallback cb'
+    connectSignalFunPtr obj "connect-proxy" cb'' SignalConnectAfter
+
+
+-- signal ActionGroup::disconnect-proxy
+{-# DEPRECATED ActionGroupDisconnectProxyCallback ["(Since version 3.10)"] #-}
+{- |
+The ::disconnect-proxy signal is emitted after disconnecting a proxy
+from an action in the group.
+
+'GI.Gtk.Objects.UIManager.UIManager' proxies the signal and provides global notification
+just before any action is connected to a proxy, which is probably more
+convenient to use.
+
+/Since: 2.4/
+-}
+type ActionGroupDisconnectProxyCallback =
+    Gtk.Action.Action
+    {- ^ /@action@/: the action -}
+    -> Gtk.Widget.Widget
+    {- ^ /@proxy@/: the proxy -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ActionGroupDisconnectProxyCallback`@.
+noActionGroupDisconnectProxyCallback :: Maybe ActionGroupDisconnectProxyCallback
+noActionGroupDisconnectProxyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ActionGroupDisconnectProxyCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Action.Action ->
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ActionGroupDisconnectProxyCallback`.
+foreign import ccall "wrapper"
+    mk_ActionGroupDisconnectProxyCallback :: C_ActionGroupDisconnectProxyCallback -> IO (FunPtr C_ActionGroupDisconnectProxyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ActionGroupDisconnectProxy :: MonadIO m => ActionGroupDisconnectProxyCallback -> m (GClosure C_ActionGroupDisconnectProxyCallback)
+genClosure_ActionGroupDisconnectProxy cb = liftIO $ do
+    let cb' = wrap_ActionGroupDisconnectProxyCallback cb
+    mk_ActionGroupDisconnectProxyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ActionGroupDisconnectProxyCallback` into a `C_ActionGroupDisconnectProxyCallback`.
+wrap_ActionGroupDisconnectProxyCallback ::
+    ActionGroupDisconnectProxyCallback ->
+    C_ActionGroupDisconnectProxyCallback
+wrap_ActionGroupDisconnectProxyCallback _cb _ action proxy _ = do
+    action' <- (newObject Gtk.Action.Action) action
+    proxy' <- (newObject Gtk.Widget.Widget) proxy
+    _cb  action' proxy'
+
+
+{- |
+Connect a signal handler for the “@disconnect-proxy@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' actionGroup #disconnectProxy callback
+@
+-}
+onActionGroupDisconnectProxy :: (IsActionGroup a, MonadIO m) => a -> ActionGroupDisconnectProxyCallback -> m SignalHandlerId
+onActionGroupDisconnectProxy obj cb = liftIO $ do
+    let cb' = wrap_ActionGroupDisconnectProxyCallback cb
+    cb'' <- mk_ActionGroupDisconnectProxyCallback cb'
+    connectSignalFunPtr obj "disconnect-proxy" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@disconnect-proxy@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' actionGroup #disconnectProxy callback
+@
+-}
+afterActionGroupDisconnectProxy :: (IsActionGroup a, MonadIO m) => a -> ActionGroupDisconnectProxyCallback -> m SignalHandlerId
+afterActionGroupDisconnectProxy obj cb = liftIO $ do
+    let cb' = wrap_ActionGroupDisconnectProxyCallback cb
+    cb'' <- mk_ActionGroupDisconnectProxyCallback cb'
+    connectSignalFunPtr obj "disconnect-proxy" cb'' SignalConnectAfter
+
+
+-- signal ActionGroup::post-activate
+{-# DEPRECATED ActionGroupPostActivateCallback ["(Since version 3.10)"] #-}
+{- |
+The ::post-activate signal is emitted just after the /@action@/ in the
+/@actionGroup@/ is activated
+
+This is intended for 'GI.Gtk.Objects.UIManager.UIManager' to proxy the signal and provide global
+notification just after any action is activated.
+
+/Since: 2.4/
+-}
+type ActionGroupPostActivateCallback =
+    Gtk.Action.Action
+    {- ^ /@action@/: the action -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ActionGroupPostActivateCallback`@.
+noActionGroupPostActivateCallback :: Maybe ActionGroupPostActivateCallback
+noActionGroupPostActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ActionGroupPostActivateCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Action.Action ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ActionGroupPostActivateCallback`.
+foreign import ccall "wrapper"
+    mk_ActionGroupPostActivateCallback :: C_ActionGroupPostActivateCallback -> IO (FunPtr C_ActionGroupPostActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ActionGroupPostActivate :: MonadIO m => ActionGroupPostActivateCallback -> m (GClosure C_ActionGroupPostActivateCallback)
+genClosure_ActionGroupPostActivate cb = liftIO $ do
+    let cb' = wrap_ActionGroupPostActivateCallback cb
+    mk_ActionGroupPostActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ActionGroupPostActivateCallback` into a `C_ActionGroupPostActivateCallback`.
+wrap_ActionGroupPostActivateCallback ::
+    ActionGroupPostActivateCallback ->
+    C_ActionGroupPostActivateCallback
+wrap_ActionGroupPostActivateCallback _cb _ action _ = do
+    action' <- (newObject Gtk.Action.Action) action
+    _cb  action'
+
+
+{- |
+Connect a signal handler for the “@post-activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' actionGroup #postActivate callback
+@
+-}
+onActionGroupPostActivate :: (IsActionGroup a, MonadIO m) => a -> ActionGroupPostActivateCallback -> m SignalHandlerId
+onActionGroupPostActivate obj cb = liftIO $ do
+    let cb' = wrap_ActionGroupPostActivateCallback cb
+    cb'' <- mk_ActionGroupPostActivateCallback cb'
+    connectSignalFunPtr obj "post-activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@post-activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' actionGroup #postActivate callback
+@
+-}
+afterActionGroupPostActivate :: (IsActionGroup a, MonadIO m) => a -> ActionGroupPostActivateCallback -> m SignalHandlerId
+afterActionGroupPostActivate obj cb = liftIO $ do
+    let cb' = wrap_ActionGroupPostActivateCallback cb
+    cb'' <- mk_ActionGroupPostActivateCallback cb'
+    connectSignalFunPtr obj "post-activate" cb'' SignalConnectAfter
+
+
+-- signal ActionGroup::pre-activate
+{-# DEPRECATED ActionGroupPreActivateCallback ["(Since version 3.10)"] #-}
+{- |
+The ::pre-activate signal is emitted just before the /@action@/ in the
+/@actionGroup@/ is activated
+
+This is intended for 'GI.Gtk.Objects.UIManager.UIManager' to proxy the signal and provide global
+notification just before any action is activated.
+
+/Since: 2.4/
+-}
+type ActionGroupPreActivateCallback =
+    Gtk.Action.Action
+    {- ^ /@action@/: the action -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ActionGroupPreActivateCallback`@.
+noActionGroupPreActivateCallback :: Maybe ActionGroupPreActivateCallback
+noActionGroupPreActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ActionGroupPreActivateCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Action.Action ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ActionGroupPreActivateCallback`.
+foreign import ccall "wrapper"
+    mk_ActionGroupPreActivateCallback :: C_ActionGroupPreActivateCallback -> IO (FunPtr C_ActionGroupPreActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ActionGroupPreActivate :: MonadIO m => ActionGroupPreActivateCallback -> m (GClosure C_ActionGroupPreActivateCallback)
+genClosure_ActionGroupPreActivate cb = liftIO $ do
+    let cb' = wrap_ActionGroupPreActivateCallback cb
+    mk_ActionGroupPreActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ActionGroupPreActivateCallback` into a `C_ActionGroupPreActivateCallback`.
+wrap_ActionGroupPreActivateCallback ::
+    ActionGroupPreActivateCallback ->
+    C_ActionGroupPreActivateCallback
+wrap_ActionGroupPreActivateCallback _cb _ action _ = do
+    action' <- (newObject Gtk.Action.Action) action
+    _cb  action'
+
+
+{- |
+Connect a signal handler for the “@pre-activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' actionGroup #preActivate callback
+@
+-}
+onActionGroupPreActivate :: (IsActionGroup a, MonadIO m) => a -> ActionGroupPreActivateCallback -> m SignalHandlerId
+onActionGroupPreActivate obj cb = liftIO $ do
+    let cb' = wrap_ActionGroupPreActivateCallback cb
+    cb'' <- mk_ActionGroupPreActivateCallback cb'
+    connectSignalFunPtr obj "pre-activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@pre-activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' actionGroup #preActivate callback
+@
+-}
+afterActionGroupPreActivate :: (IsActionGroup a, MonadIO m) => a -> ActionGroupPreActivateCallback -> m SignalHandlerId
+afterActionGroupPreActivate obj cb = liftIO $ do
+    let cb' = wrap_ActionGroupPreActivateCallback cb
+    cb'' <- mk_ActionGroupPreActivateCallback cb'
+    connectSignalFunPtr obj "pre-activate" cb'' SignalConnectAfter
+
+
+-- VVV Prop "accel-group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@accel-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionGroup #accelGroup
+@
+-}
+getActionGroupAccelGroup :: (MonadIO m, IsActionGroup o) => o -> m Gtk.AccelGroup.AccelGroup
+getActionGroupAccelGroup obj = liftIO $ checkUnexpectedNothing "getActionGroupAccelGroup" $ B.Properties.getObjectPropertyObject obj "accel-group" Gtk.AccelGroup.AccelGroup
+
+{- |
+Set the value of the “@accel-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionGroup [ #accelGroup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionGroupAccelGroup :: (MonadIO m, IsActionGroup o, Gtk.AccelGroup.IsAccelGroup a) => o -> a -> m ()
+setActionGroupAccelGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accel-group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionGroupAccelGroup :: (IsActionGroup o, Gtk.AccelGroup.IsAccelGroup a) => a -> IO (GValueConstruct o)
+constructActionGroupAccelGroup val = B.Properties.constructObjectPropertyObject "accel-group" (Just val)
+
+{- |
+Set the value of the “@accel-group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelGroup
+@
+-}
+clearActionGroupAccelGroup :: (MonadIO m, IsActionGroup o) => o -> m ()
+clearActionGroupAccelGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "accel-group" (Nothing :: Maybe Gtk.AccelGroup.AccelGroup)
+
+#if ENABLE_OVERLOADING
+data ActionGroupAccelGroupPropertyInfo
+instance AttrInfo ActionGroupAccelGroupPropertyInfo where
+    type AttrAllowedOps ActionGroupAccelGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionGroupAccelGroupPropertyInfo = Gtk.AccelGroup.IsAccelGroup
+    type AttrBaseTypeConstraint ActionGroupAccelGroupPropertyInfo = IsActionGroup
+    type AttrGetType ActionGroupAccelGroupPropertyInfo = Gtk.AccelGroup.AccelGroup
+    type AttrLabel ActionGroupAccelGroupPropertyInfo = "accel-group"
+    type AttrOrigin ActionGroupAccelGroupPropertyInfo = ActionGroup
+    attrGet _ = getActionGroupAccelGroup
+    attrSet _ = setActionGroupAccelGroup
+    attrConstruct _ = constructActionGroupAccelGroup
+    attrClear _ = clearActionGroupAccelGroup
+#endif
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionGroup #name
+@
+-}
+getActionGroupName :: (MonadIO m, IsActionGroup o) => o -> m T.Text
+getActionGroupName obj = liftIO $ checkUnexpectedNothing "getActionGroupName" $ B.Properties.getObjectPropertyString obj "name"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionGroupName :: (IsActionGroup o) => T.Text -> IO (GValueConstruct o)
+constructActionGroupName val = B.Properties.constructObjectPropertyString "name" (Just val)
+
+#if ENABLE_OVERLOADING
+data ActionGroupNamePropertyInfo
+instance AttrInfo ActionGroupNamePropertyInfo where
+    type AttrAllowedOps ActionGroupNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionGroupNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ActionGroupNamePropertyInfo = IsActionGroup
+    type AttrGetType ActionGroupNamePropertyInfo = T.Text
+    type AttrLabel ActionGroupNamePropertyInfo = "name"
+    type AttrOrigin ActionGroupNamePropertyInfo = ActionGroup
+    attrGet _ = getActionGroupName
+    attrSet _ = undefined
+    attrConstruct _ = constructActionGroupName
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "sensitive"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionGroup #sensitive
+@
+-}
+getActionGroupSensitive :: (MonadIO m, IsActionGroup o) => o -> m Bool
+getActionGroupSensitive obj = liftIO $ B.Properties.getObjectPropertyBool obj "sensitive"
+
+{- |
+Set the value of the “@sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionGroup [ #sensitive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionGroupSensitive :: (MonadIO m, IsActionGroup o) => o -> Bool -> m ()
+setActionGroupSensitive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "sensitive" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@sensitive@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionGroupSensitive :: (IsActionGroup o) => Bool -> IO (GValueConstruct o)
+constructActionGroupSensitive val = B.Properties.constructObjectPropertyBool "sensitive" val
+
+#if ENABLE_OVERLOADING
+data ActionGroupSensitivePropertyInfo
+instance AttrInfo ActionGroupSensitivePropertyInfo where
+    type AttrAllowedOps ActionGroupSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionGroupSensitivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionGroupSensitivePropertyInfo = IsActionGroup
+    type AttrGetType ActionGroupSensitivePropertyInfo = Bool
+    type AttrLabel ActionGroupSensitivePropertyInfo = "sensitive"
+    type AttrOrigin ActionGroupSensitivePropertyInfo = ActionGroup
+    attrGet _ = getActionGroupSensitive
+    attrSet _ = setActionGroupSensitive
+    attrConstruct _ = constructActionGroupSensitive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionGroup #visible
+@
+-}
+getActionGroupVisible :: (MonadIO m, IsActionGroup o) => o -> m Bool
+getActionGroupVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible"
+
+{- |
+Set the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionGroup [ #visible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionGroupVisible :: (MonadIO m, IsActionGroup o) => o -> Bool -> m ()
+setActionGroupVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructActionGroupVisible :: (IsActionGroup o) => Bool -> IO (GValueConstruct o)
+constructActionGroupVisible val = B.Properties.constructObjectPropertyBool "visible" val
+
+#if ENABLE_OVERLOADING
+data ActionGroupVisiblePropertyInfo
+instance AttrInfo ActionGroupVisiblePropertyInfo where
+    type AttrAllowedOps ActionGroupVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ActionGroupVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ActionGroupVisiblePropertyInfo = IsActionGroup
+    type AttrGetType ActionGroupVisiblePropertyInfo = Bool
+    type AttrLabel ActionGroupVisiblePropertyInfo = "visible"
+    type AttrOrigin ActionGroupVisiblePropertyInfo = ActionGroup
+    attrGet _ = getActionGroupVisible
+    attrSet _ = setActionGroupVisible
+    attrConstruct _ = constructActionGroupVisible
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ActionGroup
+type instance O.AttributeList ActionGroup = ActionGroupAttributeList
+type ActionGroupAttributeList = ('[ '("accelGroup", ActionGroupAccelGroupPropertyInfo), '("name", ActionGroupNamePropertyInfo), '("sensitive", ActionGroupSensitivePropertyInfo), '("visible", ActionGroupVisiblePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+actionGroupAccelGroup :: AttrLabelProxy "accelGroup"
+actionGroupAccelGroup = AttrLabelProxy
+
+actionGroupName :: AttrLabelProxy "name"
+actionGroupName = AttrLabelProxy
+
+actionGroupSensitive :: AttrLabelProxy "sensitive"
+actionGroupSensitive = AttrLabelProxy
+
+actionGroupVisible :: AttrLabelProxy "visible"
+actionGroupVisible = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ActionGroupConnectProxySignalInfo
+instance SignalInfo ActionGroupConnectProxySignalInfo where
+    type HaskellCallbackType ActionGroupConnectProxySignalInfo = ActionGroupConnectProxyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ActionGroupConnectProxyCallback cb
+        cb'' <- mk_ActionGroupConnectProxyCallback cb'
+        connectSignalFunPtr obj "connect-proxy" cb'' connectMode
+
+data ActionGroupDisconnectProxySignalInfo
+instance SignalInfo ActionGroupDisconnectProxySignalInfo where
+    type HaskellCallbackType ActionGroupDisconnectProxySignalInfo = ActionGroupDisconnectProxyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ActionGroupDisconnectProxyCallback cb
+        cb'' <- mk_ActionGroupDisconnectProxyCallback cb'
+        connectSignalFunPtr obj "disconnect-proxy" cb'' connectMode
+
+data ActionGroupPostActivateSignalInfo
+instance SignalInfo ActionGroupPostActivateSignalInfo where
+    type HaskellCallbackType ActionGroupPostActivateSignalInfo = ActionGroupPostActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ActionGroupPostActivateCallback cb
+        cb'' <- mk_ActionGroupPostActivateCallback cb'
+        connectSignalFunPtr obj "post-activate" cb'' connectMode
+
+data ActionGroupPreActivateSignalInfo
+instance SignalInfo ActionGroupPreActivateSignalInfo where
+    type HaskellCallbackType ActionGroupPreActivateSignalInfo = ActionGroupPreActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ActionGroupPreActivateCallback cb
+        cb'' <- mk_ActionGroupPreActivateCallback cb'
+        connectSignalFunPtr obj "pre-activate" cb'' connectMode
+
+type instance O.SignalList ActionGroup = ActionGroupSignalList
+type ActionGroupSignalList = ('[ '("connectProxy", ActionGroupConnectProxySignalInfo), '("disconnectProxy", ActionGroupDisconnectProxySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("postActivate", ActionGroupPostActivateSignalInfo), '("preActivate", ActionGroupPreActivateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ActionGroup::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the action group.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ActionGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_new" gtk_action_group_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr ActionGroup)
+
+{-# DEPRECATED actionGroupNew ["(Since version 3.10)"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.ActionGroup.ActionGroup' object. The name of the action group
+is used when associating [keybindings][Action-Accel]
+with the actions.
+
+/Since: 2.4/
+-}
+actionGroupNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: the name of the action group. -}
+    -> m ActionGroup
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.ActionGroup.ActionGroup' -}
+actionGroupNew name = liftIO $ do
+    name' <- textToCString name
+    result <- gtk_action_group_new name'
+    checkUnexpectedReturnNULL "actionGroupNew" result
+    result' <- (wrapObject ActionGroup) result
+    freeMem name'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ActionGroup::add_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_add_action" gtk_action_group_add_action :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    Ptr Gtk.Action.Action ->                -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED actionGroupAddAction ["(Since version 3.10)"] #-}
+{- |
+Adds an action object to the action group. Note that this function
+does not set up the accel path of the action, which can lead to problems
+if a user tries to modify the accelerator of a menuitem associated with
+the action. Therefore you must either set the accel path yourself with
+'GI.Gtk.Objects.Action.actionSetAccelPath', or use
+@gtk_action_group_add_action_with_accel (..., NULL)@.
+
+/Since: 2.4/
+-}
+actionGroupAddAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> b
+    {- ^ /@action@/: an action -}
+    -> m ()
+actionGroupAddAction actionGroup action = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_action_group_add_action actionGroup' action'
+    touchManagedPtr actionGroup
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionGroupAddActionMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) => O.MethodInfo ActionGroupAddActionMethodInfo a signature where
+    overloadedMethod _ = actionGroupAddAction
+
+#endif
+
+-- method ActionGroup::add_action_with_accel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the accelerator for the action, in\n  the format understood by gtk_accelerator_parse(), or \"\" for no accelerator, or\n  %NULL to use the stock accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_add_action_with_accel" gtk_action_group_add_action_with_accel :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    Ptr Gtk.Action.Action ->                -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    CString ->                              -- accelerator : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED actionGroupAddActionWithAccel ["(Since version 3.10)"] #-}
+{- |
+Adds an action object to the action group and sets up the accelerator.
+
+If /@accelerator@/ is 'Nothing', attempts to use the accelerator associated
+with the stock_id of the action.
+
+Accel paths are set to @\<Actions>\/group-name\/action-name@.
+
+/Since: 2.4/
+-}
+actionGroupAddActionWithAccel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> b
+    {- ^ /@action@/: the action to add -}
+    -> Maybe (T.Text)
+    {- ^ /@accelerator@/: the accelerator for the action, in
+  the format understood by 'GI.Gtk.Functions.acceleratorParse', or \"\" for no accelerator, or
+  'Nothing' to use the stock accelerator -}
+    -> m ()
+actionGroupAddActionWithAccel actionGroup action accelerator = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    action' <- unsafeManagedPtrCastPtr action
+    maybeAccelerator <- case accelerator of
+        Nothing -> return nullPtr
+        Just jAccelerator -> do
+            jAccelerator' <- textToCString jAccelerator
+            return jAccelerator'
+    gtk_action_group_add_action_with_accel actionGroup' action' maybeAccelerator
+    touchManagedPtr actionGroup
+    touchManagedPtr action
+    freeMem maybeAccelerator
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionGroupAddActionWithAccelMethodInfo
+instance (signature ~ (b -> Maybe (T.Text) -> m ()), MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) => O.MethodInfo ActionGroupAddActionWithAccelMethodInfo a signature where
+    overloadedMethod _ = actionGroupAddActionWithAccel
+
+#endif
+
+-- method ActionGroup::get_accel_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AccelGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_get_accel_group" gtk_action_group_get_accel_group :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    IO (Ptr Gtk.AccelGroup.AccelGroup)
+
+{-# DEPRECATED actionGroupGetAccelGroup ["(Since version 3.10)"] #-}
+{- |
+Gets the accelerator group.
+
+/Since: 3.6/
+-}
+actionGroupGetAccelGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -}
+    -> m Gtk.AccelGroup.AccelGroup
+    {- ^ __Returns:__ the accelerator group associated with this action
+group or 'Nothing' if there is none. -}
+actionGroupGetAccelGroup actionGroup = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    result <- gtk_action_group_get_accel_group actionGroup'
+    checkUnexpectedReturnNULL "actionGroupGetAccelGroup" result
+    result' <- (newObject Gtk.AccelGroup.AccelGroup) result
+    touchManagedPtr actionGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGroupGetAccelGroupMethodInfo
+instance (signature ~ (m Gtk.AccelGroup.AccelGroup), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetAccelGroupMethodInfo a signature where
+    overloadedMethod _ = actionGroupGetAccelGroup
+
+#endif
+
+-- method ActionGroup::get_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Action"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_get_action" gtk_action_group_get_action :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    CString ->                              -- action_name : TBasicType TUTF8
+    IO (Ptr Gtk.Action.Action)
+
+{-# DEPRECATED actionGroupGetAction ["(Since version 3.10)"] #-}
+{- |
+Looks up an action in the action group by name.
+
+/Since: 2.4/
+-}
+actionGroupGetAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> T.Text
+    {- ^ /@actionName@/: the name of the action -}
+    -> m (Maybe Gtk.Action.Action)
+    {- ^ __Returns:__ the action, or 'Nothing' if no action by that name exists -}
+actionGroupGetAction actionGroup actionName = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    actionName' <- textToCString actionName
+    result <- gtk_action_group_get_action actionGroup' actionName'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Action.Action) result'
+        return result''
+    touchManagedPtr actionGroup
+    freeMem actionName'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ActionGroupGetActionMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.Action.Action)), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetActionMethodInfo a signature where
+    overloadedMethod _ = actionGroupGetAction
+
+#endif
+
+-- method ActionGroup::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_get_name" gtk_action_group_get_name :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    IO CString
+
+{-# DEPRECATED actionGroupGetName ["(Since version 3.10)"] #-}
+{- |
+Gets the name of the action group.
+
+/Since: 2.4/
+-}
+actionGroupGetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> m T.Text
+    {- ^ __Returns:__ the name of the action group. -}
+actionGroupGetName actionGroup = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    result <- gtk_action_group_get_name actionGroup'
+    checkUnexpectedReturnNULL "actionGroupGetName" result
+    result' <- cstringToText result
+    touchManagedPtr actionGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGroupGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetNameMethodInfo a signature where
+    overloadedMethod _ = actionGroupGetName
+
+#endif
+
+-- method ActionGroup::get_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_get_sensitive" gtk_action_group_get_sensitive :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    IO CInt
+
+{-# DEPRECATED actionGroupGetSensitive ["(Since version 3.10)"] #-}
+{- |
+Returns 'True' if the group is sensitive.  The constituent actions
+can only be logically sensitive (see 'GI.Gtk.Objects.Action.actionIsSensitive') if
+they are sensitive (see 'GI.Gtk.Objects.Action.actionGetSensitive') and their group
+is sensitive.
+
+/Since: 2.4/
+-}
+actionGroupGetSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the group is sensitive. -}
+actionGroupGetSensitive actionGroup = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    result <- gtk_action_group_get_sensitive actionGroup'
+    let result' = (/= 0) result
+    touchManagedPtr actionGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGroupGetSensitiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetSensitiveMethodInfo a signature where
+    overloadedMethod _ = actionGroupGetSensitive
+
+#endif
+
+-- method ActionGroup::get_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_get_visible" gtk_action_group_get_visible :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    IO CInt
+
+{-# DEPRECATED actionGroupGetVisible ["(Since version 3.10)"] #-}
+{- |
+Returns 'True' if the group is visible.  The constituent actions
+can only be logically visible (see 'GI.Gtk.Objects.Action.actionIsVisible') if
+they are visible (see 'GI.Gtk.Objects.Action.actionGetVisible') and their group
+is visible.
+
+/Since: 2.4/
+-}
+actionGroupGetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the group is visible. -}
+actionGroupGetVisible actionGroup = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    result <- gtk_action_group_get_visible actionGroup'
+    let result' = (/= 0) result
+    touchManagedPtr actionGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGroupGetVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetVisibleMethodInfo a signature where
+    overloadedMethod _ = actionGroupGetVisible
+
+#endif
+
+-- method ActionGroup::list_actions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Action"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_list_actions" gtk_action_group_list_actions :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    IO (Ptr (GList (Ptr Gtk.Action.Action)))
+
+{-# DEPRECATED actionGroupListActions ["(Since version 3.10)"] #-}
+{- |
+Lists the actions in the action group.
+
+/Since: 2.4/
+-}
+actionGroupListActions ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> m [Gtk.Action.Action]
+    {- ^ __Returns:__ an allocated list of the action objects in the action group -}
+actionGroupListActions actionGroup = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    result <- gtk_action_group_list_actions actionGroup'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.Action.Action) result'
+    g_list_free result
+    touchManagedPtr actionGroup
+    return result''
+
+#if ENABLE_OVERLOADING
+data ActionGroupListActionsMethodInfo
+instance (signature ~ (m [Gtk.Action.Action]), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupListActionsMethodInfo a signature where
+    overloadedMethod _ = actionGroupListActions
+
+#endif
+
+-- method ActionGroup::remove_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_remove_action" gtk_action_group_remove_action :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    Ptr Gtk.Action.Action ->                -- action : TInterface (Name {namespace = "Gtk", name = "Action"})
+    IO ()
+
+{-# DEPRECATED actionGroupRemoveAction ["(Since version 3.10)"] #-}
+{- |
+Removes an action object from the action group.
+
+/Since: 2.4/
+-}
+actionGroupRemoveAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> b
+    {- ^ /@action@/: an action -}
+    -> m ()
+actionGroupRemoveAction actionGroup action = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_action_group_remove_action actionGroup' action'
+    touchManagedPtr actionGroup
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionGroupRemoveActionMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) => O.MethodInfo ActionGroupRemoveActionMethodInfo a signature where
+    overloadedMethod _ = actionGroupRemoveAction
+
+#endif
+
+-- method ActionGroup::set_accel_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup to set or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_set_accel_group" gtk_action_group_set_accel_group :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO ()
+
+{-# DEPRECATED actionGroupSetAccelGroup ["(Since version 3.10)"] #-}
+{- |
+Sets the accelerator group to be used by every action in this group.
+
+/Since: 3.6/
+-}
+actionGroupSetAccelGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a, Gtk.AccelGroup.IsAccelGroup b) =>
+    a
+    {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -}
+    -> Maybe (b)
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' to set or 'Nothing' -}
+    -> m ()
+actionGroupSetAccelGroup actionGroup accelGroup = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    maybeAccelGroup <- case accelGroup of
+        Nothing -> return nullPtr
+        Just jAccelGroup -> do
+            jAccelGroup' <- unsafeManagedPtrCastPtr jAccelGroup
+            return jAccelGroup'
+    gtk_action_group_set_accel_group actionGroup' maybeAccelGroup
+    touchManagedPtr actionGroup
+    whenJust accelGroup touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionGroupSetAccelGroupMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsActionGroup a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo ActionGroupSetAccelGroupMethodInfo a signature where
+    overloadedMethod _ = actionGroupSetAccelGroup
+
+#endif
+
+-- method ActionGroup::set_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new sensitivity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_set_sensitive" gtk_action_group_set_sensitive :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    CInt ->                                 -- sensitive : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED actionGroupSetSensitive ["(Since version 3.10)"] #-}
+{- |
+Changes the sensitivity of /@actionGroup@/
+
+/Since: 2.4/
+-}
+actionGroupSetSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> Bool
+    {- ^ /@sensitive@/: new sensitivity -}
+    -> m ()
+actionGroupSetSensitive actionGroup sensitive = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    let sensitive' = (fromIntegral . fromEnum) sensitive
+    gtk_action_group_set_sensitive actionGroup' sensitive'
+    touchManagedPtr actionGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionGroupSetSensitiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupSetSensitiveMethodInfo a signature where
+    overloadedMethod _ = actionGroupSetSensitive
+
+#endif
+
+-- method ActionGroup::set_translate_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TranslateFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTranslateFunc", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to be passed to @func and @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDestroyNotify function to be called when @action_group is\n  destroyed and when the translation function is changed again", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_set_translate_func" gtk_action_group_set_translate_func :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    FunPtr Gtk.Callbacks.C_TranslateFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TranslateFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{-# DEPRECATED actionGroupSetTranslateFunc ["(Since version 3.10)"] #-}
+{- |
+Sets a function to be used for translating the /@label@/ and /@tooltip@/ of
+@/GtkActionEntrys/@ added by @/gtk_action_group_add_actions()/@.
+
+If you’re using @/gettext()/@, it is enough to set the translation domain
+with 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslationDomain'.
+
+/Since: 2.4/
+-}
+actionGroupSetTranslateFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -}
+    -> Gtk.Callbacks.TranslateFunc
+    {- ^ /@func@/: a 'GI.Gtk.Callbacks.TranslateFunc' -}
+    -> m ()
+actionGroupSetTranslateFunc actionGroup func = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    func' <- Gtk.Callbacks.mk_TranslateFunc (Gtk.Callbacks.wrap_TranslateFunc Nothing (Gtk.Callbacks.drop_closures_TranslateFunc func))
+    let data_ = castFunPtrToPtr func'
+    let notify = safeFreeFunPtrPtr
+    gtk_action_group_set_translate_func actionGroup' func' data_ notify
+    touchManagedPtr actionGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionGroupSetTranslateFuncMethodInfo
+instance (signature ~ (Gtk.Callbacks.TranslateFunc -> m ()), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupSetTranslateFuncMethodInfo a signature where
+    overloadedMethod _ = actionGroupSetTranslateFunc
+
+#endif
+
+-- method ActionGroup::set_translation_domain
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the translation domain to use for g_dgettext()\ncalls, or %NULL to use the domain set with textdomain()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_set_translation_domain" gtk_action_group_set_translation_domain :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    CString ->                              -- domain : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED actionGroupSetTranslationDomain ["(Since version 3.10)"] #-}
+{- |
+Sets the translation domain and uses 'GI.GLib.Functions.dgettext' for translating the
+/@label@/ and /@tooltip@/ of @/GtkActionEntrys/@ added by
+@/gtk_action_group_add_actions()/@.
+
+If you’re not using @/gettext()/@ for localization, see
+'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslateFunc'.
+
+/Since: 2.4/
+-}
+actionGroupSetTranslationDomain ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -}
+    -> Maybe (T.Text)
+    {- ^ /@domain@/: the translation domain to use for 'GI.GLib.Functions.dgettext'
+calls, or 'Nothing' to use the domain set with @/textdomain()/@ -}
+    -> m ()
+actionGroupSetTranslationDomain actionGroup domain = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    maybeDomain <- case domain of
+        Nothing -> return nullPtr
+        Just jDomain -> do
+            jDomain' <- textToCString jDomain
+            return jDomain'
+    gtk_action_group_set_translation_domain actionGroup' maybeDomain
+    touchManagedPtr actionGroup
+    freeMem maybeDomain
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionGroupSetTranslationDomainMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupSetTranslationDomainMethodInfo a signature where
+    overloadedMethod _ = actionGroupSetTranslationDomain
+
+#endif
+
+-- method ActionGroup::set_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new visiblity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_set_visible" gtk_action_group_set_visible :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    CInt ->                                 -- visible : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED actionGroupSetVisible ["(Since version 3.10)"] #-}
+{- |
+Changes the visible of /@actionGroup@/.
+
+/Since: 2.4/
+-}
+actionGroupSetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: the action group -}
+    -> Bool
+    {- ^ /@visible@/: new visiblity -}
+    -> m ()
+actionGroupSetVisible actionGroup visible = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    let visible' = (fromIntegral . fromEnum) visible
+    gtk_action_group_set_visible actionGroup' visible'
+    touchManagedPtr actionGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data ActionGroupSetVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupSetVisibleMethodInfo a signature where
+    overloadedMethod _ = actionGroupSetVisible
+
+#endif
+
+-- method ActionGroup::translate_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_action_group_translate_string" gtk_action_group_translate_string :: 
+    Ptr ActionGroup ->                      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    CString ->                              -- string : TBasicType TUTF8
+    IO CString
+
+{-# DEPRECATED actionGroupTranslateString ["(Since version 3.10)"] #-}
+{- |
+Translates a string using the function set with
+'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslateFunc'. This
+is mainly intended for language bindings.
+
+/Since: 2.6/
+-}
+actionGroupTranslateString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) =>
+    a
+    {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -}
+    -> T.Text
+    {- ^ /@string@/: a string -}
+    -> m T.Text
+    {- ^ __Returns:__ the translation of /@string@/ -}
+actionGroupTranslateString actionGroup string = liftIO $ do
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    string' <- textToCString string
+    result <- gtk_action_group_translate_string actionGroup' string'
+    checkUnexpectedReturnNULL "actionGroupTranslateString" result
+    result' <- cstringToText result
+    touchManagedPtr actionGroup
+    freeMem string'
+    return result'
+
+#if ENABLE_OVERLOADING
+data ActionGroupTranslateStringMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupTranslateStringMethodInfo a signature where
+    overloadedMethod _ = actionGroupTranslateString
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ActionGroup.hs-boot b/GI/Gtk/Objects/ActionGroup.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ActionGroup.hs-boot
@@ -0,0 +1,98 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ActionGroup where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ActionGroup = ActionGroup (ManagedPtr ActionGroup)
+instance GObject ActionGroup where
+class (GObject o, O.IsDescendantOf ActionGroup o) => IsActionGroup o
+instance (GObject o, O.IsDescendantOf ActionGroup o) => IsActionGroup o
+instance O.HasParentTypes ActionGroup
+#if ENABLE_OVERLOADING
+data ActionGroupAccelGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupSensitivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupConnectProxySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupDisconnectProxySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupPostActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupPreActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupAddActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupAddActionWithAccelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupGetAccelGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupGetActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupGetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupGetSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupGetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupListActionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupRemoveActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupSetAccelGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupSetSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupSetTranslateFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupSetTranslationDomainMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupSetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ActionGroupTranslateStringMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Adjustment.hs b/GI/Gtk/Objects/Adjustment.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Adjustment.hs
@@ -0,0 +1,1639 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Adjustment.Adjustment' object represents a value which has an associated lower
+and upper bound, together with step and page increments, and a page size.
+It is used within several GTK+ widgets, including 'GI.Gtk.Objects.SpinButton.SpinButton', 'GI.Gtk.Objects.Viewport.Viewport',
+and 'GI.Gtk.Objects.Range.Range' (which is a base class for 'GI.Gtk.Objects.Scrollbar.Scrollbar' and 'GI.Gtk.Objects.Scale.Scale').
+
+The 'GI.Gtk.Objects.Adjustment.Adjustment' object does not update the value itself. Instead
+it is left up to the owner of the 'GI.Gtk.Objects.Adjustment.Adjustment' to control the value.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Adjustment
+    ( 
+
+-- * Exported types
+    Adjustment(..)                          ,
+    IsAdjustment                            ,
+    toAdjustment                            ,
+    noAdjustment                            ,
+
+
+ -- * Methods
+-- ** changed #method:changed#
+
+#if ENABLE_OVERLOADING
+    AdjustmentChangedMethodInfo             ,
+#endif
+    adjustmentChanged                       ,
+
+
+-- ** clampPage #method:clampPage#
+
+#if ENABLE_OVERLOADING
+    AdjustmentClampPageMethodInfo           ,
+#endif
+    adjustmentClampPage                     ,
+
+
+-- ** configure #method:configure#
+
+#if ENABLE_OVERLOADING
+    AdjustmentConfigureMethodInfo           ,
+#endif
+    adjustmentConfigure                     ,
+
+
+-- ** getLower #method:getLower#
+
+#if ENABLE_OVERLOADING
+    AdjustmentGetLowerMethodInfo            ,
+#endif
+    adjustmentGetLower                      ,
+
+
+-- ** getMinimumIncrement #method:getMinimumIncrement#
+
+#if ENABLE_OVERLOADING
+    AdjustmentGetMinimumIncrementMethodInfo ,
+#endif
+    adjustmentGetMinimumIncrement           ,
+
+
+-- ** getPageIncrement #method:getPageIncrement#
+
+#if ENABLE_OVERLOADING
+    AdjustmentGetPageIncrementMethodInfo    ,
+#endif
+    adjustmentGetPageIncrement              ,
+
+
+-- ** getPageSize #method:getPageSize#
+
+#if ENABLE_OVERLOADING
+    AdjustmentGetPageSizeMethodInfo         ,
+#endif
+    adjustmentGetPageSize                   ,
+
+
+-- ** getStepIncrement #method:getStepIncrement#
+
+#if ENABLE_OVERLOADING
+    AdjustmentGetStepIncrementMethodInfo    ,
+#endif
+    adjustmentGetStepIncrement              ,
+
+
+-- ** getUpper #method:getUpper#
+
+#if ENABLE_OVERLOADING
+    AdjustmentGetUpperMethodInfo            ,
+#endif
+    adjustmentGetUpper                      ,
+
+
+-- ** getValue #method:getValue#
+
+#if ENABLE_OVERLOADING
+    AdjustmentGetValueMethodInfo            ,
+#endif
+    adjustmentGetValue                      ,
+
+
+-- ** new #method:new#
+
+    adjustmentNew                           ,
+
+
+-- ** setLower #method:setLower#
+
+#if ENABLE_OVERLOADING
+    AdjustmentSetLowerMethodInfo            ,
+#endif
+    adjustmentSetLower                      ,
+
+
+-- ** setPageIncrement #method:setPageIncrement#
+
+#if ENABLE_OVERLOADING
+    AdjustmentSetPageIncrementMethodInfo    ,
+#endif
+    adjustmentSetPageIncrement              ,
+
+
+-- ** setPageSize #method:setPageSize#
+
+#if ENABLE_OVERLOADING
+    AdjustmentSetPageSizeMethodInfo         ,
+#endif
+    adjustmentSetPageSize                   ,
+
+
+-- ** setStepIncrement #method:setStepIncrement#
+
+#if ENABLE_OVERLOADING
+    AdjustmentSetStepIncrementMethodInfo    ,
+#endif
+    adjustmentSetStepIncrement              ,
+
+
+-- ** setUpper #method:setUpper#
+
+#if ENABLE_OVERLOADING
+    AdjustmentSetUpperMethodInfo            ,
+#endif
+    adjustmentSetUpper                      ,
+
+
+-- ** setValue #method:setValue#
+
+#if ENABLE_OVERLOADING
+    AdjustmentSetValueMethodInfo            ,
+#endif
+    adjustmentSetValue                      ,
+
+
+-- ** valueChanged #method:valueChanged#
+
+#if ENABLE_OVERLOADING
+    AdjustmentValueChangedMethodInfo        ,
+#endif
+    adjustmentValueChanged                  ,
+
+
+
+
+ -- * Properties
+-- ** lower #attr:lower#
+{- | The minimum value of the adjustment.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AdjustmentLowerPropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    adjustmentLower                         ,
+#endif
+    constructAdjustmentLower                ,
+    getAdjustmentLower                      ,
+    setAdjustmentLower                      ,
+
+
+-- ** pageIncrement #attr:pageIncrement#
+{- | The page increment of the adjustment.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AdjustmentPageIncrementPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    adjustmentPageIncrement                 ,
+#endif
+    constructAdjustmentPageIncrement        ,
+    getAdjustmentPageIncrement              ,
+    setAdjustmentPageIncrement              ,
+
+
+-- ** pageSize #attr:pageSize#
+{- | The page size of the adjustment.
+Note that the page-size is irrelevant and should be set to zero
+if the adjustment is used for a simple scalar value, e.g. in a
+'GI.Gtk.Objects.SpinButton.SpinButton'.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AdjustmentPageSizePropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    adjustmentPageSize                      ,
+#endif
+    constructAdjustmentPageSize             ,
+    getAdjustmentPageSize                   ,
+    setAdjustmentPageSize                   ,
+
+
+-- ** stepIncrement #attr:stepIncrement#
+{- | The step increment of the adjustment.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AdjustmentStepIncrementPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    adjustmentStepIncrement                 ,
+#endif
+    constructAdjustmentStepIncrement        ,
+    getAdjustmentStepIncrement              ,
+    setAdjustmentStepIncrement              ,
+
+
+-- ** upper #attr:upper#
+{- | The maximum value of the adjustment.
+Note that values will be restricted by
+@upper - page-size@ if the page-size
+property is nonzero.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AdjustmentUpperPropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    adjustmentUpper                         ,
+#endif
+    constructAdjustmentUpper                ,
+    getAdjustmentUpper                      ,
+    setAdjustmentUpper                      ,
+
+
+-- ** value #attr:value#
+{- | The value of the adjustment.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AdjustmentValuePropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    adjustmentValue                         ,
+#endif
+    constructAdjustmentValue                ,
+    getAdjustmentValue                      ,
+    setAdjustmentValue                      ,
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    AdjustmentChangedCallback               ,
+#if ENABLE_OVERLOADING
+    AdjustmentChangedSignalInfo             ,
+#endif
+    C_AdjustmentChangedCallback             ,
+    afterAdjustmentChanged                  ,
+    genClosure_AdjustmentChanged            ,
+    mk_AdjustmentChangedCallback            ,
+    noAdjustmentChangedCallback             ,
+    onAdjustmentChanged                     ,
+    wrap_AdjustmentChangedCallback          ,
+
+
+-- ** valueChanged #signal:valueChanged#
+
+    AdjustmentValueChangedCallback          ,
+#if ENABLE_OVERLOADING
+    AdjustmentValueChangedSignalInfo        ,
+#endif
+    C_AdjustmentValueChangedCallback        ,
+    afterAdjustmentValueChanged             ,
+    genClosure_AdjustmentValueChanged       ,
+    mk_AdjustmentValueChangedCallback       ,
+    noAdjustmentValueChangedCallback        ,
+    onAdjustmentValueChanged                ,
+    wrap_AdjustmentValueChangedCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+
+-- | Memory-managed wrapper type.
+newtype Adjustment = Adjustment (ManagedPtr Adjustment)
+foreign import ccall "gtk_adjustment_get_type"
+    c_gtk_adjustment_get_type :: IO GType
+
+instance GObject Adjustment where
+    gobjectType = c_gtk_adjustment_get_type
+    
+
+-- | Type class for types which can be safely cast to `Adjustment`, for instance with `toAdjustment`.
+class (GObject o, O.IsDescendantOf Adjustment o) => IsAdjustment o
+instance (GObject o, O.IsDescendantOf Adjustment o) => IsAdjustment o
+
+instance O.HasParentTypes Adjustment
+type instance O.ParentTypes Adjustment = '[GObject.Object.Object]
+
+-- | Cast to `Adjustment`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAdjustment :: (MonadIO m, IsAdjustment o) => o -> m Adjustment
+toAdjustment = liftIO . unsafeCastTo Adjustment
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Adjustment`.
+noAdjustment :: Maybe Adjustment
+noAdjustment = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAdjustmentMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAdjustmentMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAdjustmentMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAdjustmentMethod "changed" o = AdjustmentChangedMethodInfo
+    ResolveAdjustmentMethod "clampPage" o = AdjustmentClampPageMethodInfo
+    ResolveAdjustmentMethod "configure" o = AdjustmentConfigureMethodInfo
+    ResolveAdjustmentMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAdjustmentMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAdjustmentMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAdjustmentMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAdjustmentMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAdjustmentMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAdjustmentMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAdjustmentMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAdjustmentMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAdjustmentMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAdjustmentMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAdjustmentMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAdjustmentMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAdjustmentMethod "valueChanged" o = AdjustmentValueChangedMethodInfo
+    ResolveAdjustmentMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAdjustmentMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAdjustmentMethod "getLower" o = AdjustmentGetLowerMethodInfo
+    ResolveAdjustmentMethod "getMinimumIncrement" o = AdjustmentGetMinimumIncrementMethodInfo
+    ResolveAdjustmentMethod "getPageIncrement" o = AdjustmentGetPageIncrementMethodInfo
+    ResolveAdjustmentMethod "getPageSize" o = AdjustmentGetPageSizeMethodInfo
+    ResolveAdjustmentMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAdjustmentMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAdjustmentMethod "getStepIncrement" o = AdjustmentGetStepIncrementMethodInfo
+    ResolveAdjustmentMethod "getUpper" o = AdjustmentGetUpperMethodInfo
+    ResolveAdjustmentMethod "getValue" o = AdjustmentGetValueMethodInfo
+    ResolveAdjustmentMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAdjustmentMethod "setLower" o = AdjustmentSetLowerMethodInfo
+    ResolveAdjustmentMethod "setPageIncrement" o = AdjustmentSetPageIncrementMethodInfo
+    ResolveAdjustmentMethod "setPageSize" o = AdjustmentSetPageSizeMethodInfo
+    ResolveAdjustmentMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAdjustmentMethod "setStepIncrement" o = AdjustmentSetStepIncrementMethodInfo
+    ResolveAdjustmentMethod "setUpper" o = AdjustmentSetUpperMethodInfo
+    ResolveAdjustmentMethod "setValue" o = AdjustmentSetValueMethodInfo
+    ResolveAdjustmentMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAdjustmentMethod t Adjustment, O.MethodInfo info Adjustment p) => OL.IsLabel t (Adjustment -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Adjustment::changed
+{- |
+Emitted when one or more of the 'GI.Gtk.Objects.Adjustment.Adjustment' properties have been
+changed, other than the 'GI.Gtk.Objects.Adjustment.Adjustment':@/value/@ property.
+-}
+type AdjustmentChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AdjustmentChangedCallback`@.
+noAdjustmentChangedCallback :: Maybe AdjustmentChangedCallback
+noAdjustmentChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AdjustmentChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AdjustmentChangedCallback`.
+foreign import ccall "wrapper"
+    mk_AdjustmentChangedCallback :: C_AdjustmentChangedCallback -> IO (FunPtr C_AdjustmentChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AdjustmentChanged :: MonadIO m => AdjustmentChangedCallback -> m (GClosure C_AdjustmentChangedCallback)
+genClosure_AdjustmentChanged cb = liftIO $ do
+    let cb' = wrap_AdjustmentChangedCallback cb
+    mk_AdjustmentChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AdjustmentChangedCallback` into a `C_AdjustmentChangedCallback`.
+wrap_AdjustmentChangedCallback ::
+    AdjustmentChangedCallback ->
+    C_AdjustmentChangedCallback
+wrap_AdjustmentChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' adjustment #changed callback
+@
+-}
+onAdjustmentChanged :: (IsAdjustment a, MonadIO m) => a -> AdjustmentChangedCallback -> m SignalHandlerId
+onAdjustmentChanged obj cb = liftIO $ do
+    let cb' = wrap_AdjustmentChangedCallback cb
+    cb'' <- mk_AdjustmentChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' adjustment #changed callback
+@
+-}
+afterAdjustmentChanged :: (IsAdjustment a, MonadIO m) => a -> AdjustmentChangedCallback -> m SignalHandlerId
+afterAdjustmentChanged obj cb = liftIO $ do
+    let cb' = wrap_AdjustmentChangedCallback cb
+    cb'' <- mk_AdjustmentChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- signal Adjustment::value-changed
+{- |
+Emitted when the 'GI.Gtk.Objects.Adjustment.Adjustment':@/value/@ property has been changed.
+-}
+type AdjustmentValueChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AdjustmentValueChangedCallback`@.
+noAdjustmentValueChangedCallback :: Maybe AdjustmentValueChangedCallback
+noAdjustmentValueChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AdjustmentValueChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AdjustmentValueChangedCallback`.
+foreign import ccall "wrapper"
+    mk_AdjustmentValueChangedCallback :: C_AdjustmentValueChangedCallback -> IO (FunPtr C_AdjustmentValueChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AdjustmentValueChanged :: MonadIO m => AdjustmentValueChangedCallback -> m (GClosure C_AdjustmentValueChangedCallback)
+genClosure_AdjustmentValueChanged cb = liftIO $ do
+    let cb' = wrap_AdjustmentValueChangedCallback cb
+    mk_AdjustmentValueChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AdjustmentValueChangedCallback` into a `C_AdjustmentValueChangedCallback`.
+wrap_AdjustmentValueChangedCallback ::
+    AdjustmentValueChangedCallback ->
+    C_AdjustmentValueChangedCallback
+wrap_AdjustmentValueChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@value-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' adjustment #valueChanged callback
+@
+-}
+onAdjustmentValueChanged :: (IsAdjustment a, MonadIO m) => a -> AdjustmentValueChangedCallback -> m SignalHandlerId
+onAdjustmentValueChanged obj cb = liftIO $ do
+    let cb' = wrap_AdjustmentValueChangedCallback cb
+    cb'' <- mk_AdjustmentValueChangedCallback cb'
+    connectSignalFunPtr obj "value-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@value-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' adjustment #valueChanged callback
+@
+-}
+afterAdjustmentValueChanged :: (IsAdjustment a, MonadIO m) => a -> AdjustmentValueChangedCallback -> m SignalHandlerId
+afterAdjustmentValueChanged obj cb = liftIO $ do
+    let cb' = wrap_AdjustmentValueChangedCallback cb
+    cb'' <- mk_AdjustmentValueChangedCallback cb'
+    connectSignalFunPtr obj "value-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "lower"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@lower@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' adjustment #lower
+@
+-}
+getAdjustmentLower :: (MonadIO m, IsAdjustment o) => o -> m Double
+getAdjustmentLower obj = liftIO $ B.Properties.getObjectPropertyDouble obj "lower"
+
+{- |
+Set the value of the “@lower@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' adjustment [ #lower 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAdjustmentLower :: (MonadIO m, IsAdjustment o) => o -> Double -> m ()
+setAdjustmentLower obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "lower" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@lower@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAdjustmentLower :: (IsAdjustment o) => Double -> IO (GValueConstruct o)
+constructAdjustmentLower val = B.Properties.constructObjectPropertyDouble "lower" val
+
+#if ENABLE_OVERLOADING
+data AdjustmentLowerPropertyInfo
+instance AttrInfo AdjustmentLowerPropertyInfo where
+    type AttrAllowedOps AdjustmentLowerPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AdjustmentLowerPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint AdjustmentLowerPropertyInfo = IsAdjustment
+    type AttrGetType AdjustmentLowerPropertyInfo = Double
+    type AttrLabel AdjustmentLowerPropertyInfo = "lower"
+    type AttrOrigin AdjustmentLowerPropertyInfo = Adjustment
+    attrGet _ = getAdjustmentLower
+    attrSet _ = setAdjustmentLower
+    attrConstruct _ = constructAdjustmentLower
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "page-increment"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@page-increment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' adjustment #pageIncrement
+@
+-}
+getAdjustmentPageIncrement :: (MonadIO m, IsAdjustment o) => o -> m Double
+getAdjustmentPageIncrement obj = liftIO $ B.Properties.getObjectPropertyDouble obj "page-increment"
+
+{- |
+Set the value of the “@page-increment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' adjustment [ #pageIncrement 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAdjustmentPageIncrement :: (MonadIO m, IsAdjustment o) => o -> Double -> m ()
+setAdjustmentPageIncrement obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "page-increment" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@page-increment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAdjustmentPageIncrement :: (IsAdjustment o) => Double -> IO (GValueConstruct o)
+constructAdjustmentPageIncrement val = B.Properties.constructObjectPropertyDouble "page-increment" val
+
+#if ENABLE_OVERLOADING
+data AdjustmentPageIncrementPropertyInfo
+instance AttrInfo AdjustmentPageIncrementPropertyInfo where
+    type AttrAllowedOps AdjustmentPageIncrementPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AdjustmentPageIncrementPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint AdjustmentPageIncrementPropertyInfo = IsAdjustment
+    type AttrGetType AdjustmentPageIncrementPropertyInfo = Double
+    type AttrLabel AdjustmentPageIncrementPropertyInfo = "page-increment"
+    type AttrOrigin AdjustmentPageIncrementPropertyInfo = Adjustment
+    attrGet _ = getAdjustmentPageIncrement
+    attrSet _ = setAdjustmentPageIncrement
+    attrConstruct _ = constructAdjustmentPageIncrement
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "page-size"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@page-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' adjustment #pageSize
+@
+-}
+getAdjustmentPageSize :: (MonadIO m, IsAdjustment o) => o -> m Double
+getAdjustmentPageSize obj = liftIO $ B.Properties.getObjectPropertyDouble obj "page-size"
+
+{- |
+Set the value of the “@page-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' adjustment [ #pageSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAdjustmentPageSize :: (MonadIO m, IsAdjustment o) => o -> Double -> m ()
+setAdjustmentPageSize obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "page-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@page-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAdjustmentPageSize :: (IsAdjustment o) => Double -> IO (GValueConstruct o)
+constructAdjustmentPageSize val = B.Properties.constructObjectPropertyDouble "page-size" val
+
+#if ENABLE_OVERLOADING
+data AdjustmentPageSizePropertyInfo
+instance AttrInfo AdjustmentPageSizePropertyInfo where
+    type AttrAllowedOps AdjustmentPageSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AdjustmentPageSizePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint AdjustmentPageSizePropertyInfo = IsAdjustment
+    type AttrGetType AdjustmentPageSizePropertyInfo = Double
+    type AttrLabel AdjustmentPageSizePropertyInfo = "page-size"
+    type AttrOrigin AdjustmentPageSizePropertyInfo = Adjustment
+    attrGet _ = getAdjustmentPageSize
+    attrSet _ = setAdjustmentPageSize
+    attrConstruct _ = constructAdjustmentPageSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "step-increment"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@step-increment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' adjustment #stepIncrement
+@
+-}
+getAdjustmentStepIncrement :: (MonadIO m, IsAdjustment o) => o -> m Double
+getAdjustmentStepIncrement obj = liftIO $ B.Properties.getObjectPropertyDouble obj "step-increment"
+
+{- |
+Set the value of the “@step-increment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' adjustment [ #stepIncrement 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAdjustmentStepIncrement :: (MonadIO m, IsAdjustment o) => o -> Double -> m ()
+setAdjustmentStepIncrement obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "step-increment" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@step-increment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAdjustmentStepIncrement :: (IsAdjustment o) => Double -> IO (GValueConstruct o)
+constructAdjustmentStepIncrement val = B.Properties.constructObjectPropertyDouble "step-increment" val
+
+#if ENABLE_OVERLOADING
+data AdjustmentStepIncrementPropertyInfo
+instance AttrInfo AdjustmentStepIncrementPropertyInfo where
+    type AttrAllowedOps AdjustmentStepIncrementPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AdjustmentStepIncrementPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint AdjustmentStepIncrementPropertyInfo = IsAdjustment
+    type AttrGetType AdjustmentStepIncrementPropertyInfo = Double
+    type AttrLabel AdjustmentStepIncrementPropertyInfo = "step-increment"
+    type AttrOrigin AdjustmentStepIncrementPropertyInfo = Adjustment
+    attrGet _ = getAdjustmentStepIncrement
+    attrSet _ = setAdjustmentStepIncrement
+    attrConstruct _ = constructAdjustmentStepIncrement
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "upper"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@upper@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' adjustment #upper
+@
+-}
+getAdjustmentUpper :: (MonadIO m, IsAdjustment o) => o -> m Double
+getAdjustmentUpper obj = liftIO $ B.Properties.getObjectPropertyDouble obj "upper"
+
+{- |
+Set the value of the “@upper@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' adjustment [ #upper 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAdjustmentUpper :: (MonadIO m, IsAdjustment o) => o -> Double -> m ()
+setAdjustmentUpper obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "upper" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@upper@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAdjustmentUpper :: (IsAdjustment o) => Double -> IO (GValueConstruct o)
+constructAdjustmentUpper val = B.Properties.constructObjectPropertyDouble "upper" val
+
+#if ENABLE_OVERLOADING
+data AdjustmentUpperPropertyInfo
+instance AttrInfo AdjustmentUpperPropertyInfo where
+    type AttrAllowedOps AdjustmentUpperPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AdjustmentUpperPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint AdjustmentUpperPropertyInfo = IsAdjustment
+    type AttrGetType AdjustmentUpperPropertyInfo = Double
+    type AttrLabel AdjustmentUpperPropertyInfo = "upper"
+    type AttrOrigin AdjustmentUpperPropertyInfo = Adjustment
+    attrGet _ = getAdjustmentUpper
+    attrSet _ = setAdjustmentUpper
+    attrConstruct _ = constructAdjustmentUpper
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "value"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' adjustment #value
+@
+-}
+getAdjustmentValue :: (MonadIO m, IsAdjustment o) => o -> m Double
+getAdjustmentValue obj = liftIO $ B.Properties.getObjectPropertyDouble obj "value"
+
+{- |
+Set the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' adjustment [ #value 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAdjustmentValue :: (MonadIO m, IsAdjustment o) => o -> Double -> m ()
+setAdjustmentValue obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAdjustmentValue :: (IsAdjustment o) => Double -> IO (GValueConstruct o)
+constructAdjustmentValue val = B.Properties.constructObjectPropertyDouble "value" val
+
+#if ENABLE_OVERLOADING
+data AdjustmentValuePropertyInfo
+instance AttrInfo AdjustmentValuePropertyInfo where
+    type AttrAllowedOps AdjustmentValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AdjustmentValuePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint AdjustmentValuePropertyInfo = IsAdjustment
+    type AttrGetType AdjustmentValuePropertyInfo = Double
+    type AttrLabel AdjustmentValuePropertyInfo = "value"
+    type AttrOrigin AdjustmentValuePropertyInfo = Adjustment
+    attrGet _ = getAdjustmentValue
+    attrSet _ = setAdjustmentValue
+    attrConstruct _ = constructAdjustmentValue
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Adjustment
+type instance O.AttributeList Adjustment = AdjustmentAttributeList
+type AdjustmentAttributeList = ('[ '("lower", AdjustmentLowerPropertyInfo), '("pageIncrement", AdjustmentPageIncrementPropertyInfo), '("pageSize", AdjustmentPageSizePropertyInfo), '("stepIncrement", AdjustmentStepIncrementPropertyInfo), '("upper", AdjustmentUpperPropertyInfo), '("value", AdjustmentValuePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+adjustmentLower :: AttrLabelProxy "lower"
+adjustmentLower = AttrLabelProxy
+
+adjustmentPageIncrement :: AttrLabelProxy "pageIncrement"
+adjustmentPageIncrement = AttrLabelProxy
+
+adjustmentPageSize :: AttrLabelProxy "pageSize"
+adjustmentPageSize = AttrLabelProxy
+
+adjustmentStepIncrement :: AttrLabelProxy "stepIncrement"
+adjustmentStepIncrement = AttrLabelProxy
+
+adjustmentUpper :: AttrLabelProxy "upper"
+adjustmentUpper = AttrLabelProxy
+
+adjustmentValue :: AttrLabelProxy "value"
+adjustmentValue = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data AdjustmentChangedSignalInfo
+instance SignalInfo AdjustmentChangedSignalInfo where
+    type HaskellCallbackType AdjustmentChangedSignalInfo = AdjustmentChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AdjustmentChangedCallback cb
+        cb'' <- mk_AdjustmentChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+data AdjustmentValueChangedSignalInfo
+instance SignalInfo AdjustmentValueChangedSignalInfo where
+    type HaskellCallbackType AdjustmentValueChangedSignalInfo = AdjustmentValueChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AdjustmentValueChangedCallback cb
+        cb'' <- mk_AdjustmentValueChangedCallback cb'
+        connectSignalFunPtr obj "value-changed" cb'' connectMode
+
+type instance O.SignalList Adjustment = AdjustmentSignalList
+type AdjustmentSignalList = ('[ '("changed", AdjustmentChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("valueChanged", AdjustmentValueChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Adjustment::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the initial value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lower", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "upper", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step_increment", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the step increment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_increment", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the page increment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_size", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the page size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_new" gtk_adjustment_new :: 
+    CDouble ->                              -- value : TBasicType TDouble
+    CDouble ->                              -- lower : TBasicType TDouble
+    CDouble ->                              -- upper : TBasicType TDouble
+    CDouble ->                              -- step_increment : TBasicType TDouble
+    CDouble ->                              -- page_increment : TBasicType TDouble
+    CDouble ->                              -- page_size : TBasicType TDouble
+    IO (Ptr Adjustment)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Adjustment.Adjustment'.
+-}
+adjustmentNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Double
+    {- ^ /@value@/: the initial value -}
+    -> Double
+    {- ^ /@lower@/: the minimum value -}
+    -> Double
+    {- ^ /@upper@/: the maximum value -}
+    -> Double
+    {- ^ /@stepIncrement@/: the step increment -}
+    -> Double
+    {- ^ /@pageIncrement@/: the page increment -}
+    -> Double
+    {- ^ /@pageSize@/: the page size -}
+    -> m Adjustment
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+adjustmentNew value lower upper stepIncrement pageIncrement pageSize = liftIO $ do
+    let value' = realToFrac value
+    let lower' = realToFrac lower
+    let upper' = realToFrac upper
+    let stepIncrement' = realToFrac stepIncrement
+    let pageIncrement' = realToFrac pageIncrement
+    let pageSize' = realToFrac pageSize
+    result <- gtk_adjustment_new value' lower' upper' stepIncrement' pageIncrement' pageSize'
+    checkUnexpectedReturnNULL "adjustmentNew" result
+    result' <- (newObject Adjustment) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Adjustment::changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_changed" gtk_adjustment_changed :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{-# DEPRECATED adjustmentChanged ["(Since version 3.18)","GTK+ emits 'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ itself whenever any","   of the properties (other than value) change"] #-}
+{- |
+Emits a 'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ signal from the 'GI.Gtk.Objects.Adjustment.Adjustment'.
+This is typically called by the owner of the 'GI.Gtk.Objects.Adjustment.Adjustment' after it has
+changed any of the 'GI.Gtk.Objects.Adjustment.Adjustment' properties other than the value.
+-}
+adjustmentChanged ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m ()
+adjustmentChanged adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    gtk_adjustment_changed adjustment'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentChangedMethodInfo a signature where
+    overloadedMethod _ = adjustmentChanged
+
+#endif
+
+-- method Adjustment::clamp_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lower", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the lower value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "upper", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the upper value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_clamp_page" gtk_adjustment_clamp_page :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- lower : TBasicType TDouble
+    CDouble ->                              -- upper : TBasicType TDouble
+    IO ()
+
+{- |
+Updates the 'GI.Gtk.Objects.Adjustment.Adjustment':@/value/@ property to ensure that the range
+between /@lower@/ and /@upper@/ is in the current page (i.e. between
+'GI.Gtk.Objects.Adjustment.Adjustment':@/value/@ and 'GI.Gtk.Objects.Adjustment.Adjustment':@/value/@ + 'GI.Gtk.Objects.Adjustment.Adjustment':@/page-size/@).
+If the range is larger than the page size, then only the start of it will
+be in the current page.
+
+A 'GI.Gtk.Objects.Adjustment.Adjustment'::@/value-changed/@ signal will be emitted if the value is changed.
+-}
+adjustmentClampPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> Double
+    {- ^ /@lower@/: the lower value -}
+    -> Double
+    {- ^ /@upper@/: the upper value -}
+    -> m ()
+adjustmentClampPage adjustment lower upper = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    let lower' = realToFrac lower
+    let upper' = realToFrac upper
+    gtk_adjustment_clamp_page adjustment' lower' upper'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentClampPageMethodInfo
+instance (signature ~ (Double -> Double -> m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentClampPageMethodInfo a signature where
+    overloadedMethod _ = adjustmentClampPage
+
+#endif
+
+-- method Adjustment::configure
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lower", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new minimum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "upper", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new maximum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step_increment", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new step increment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_increment", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new page increment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_size", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new page size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_configure" gtk_adjustment_configure :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- value : TBasicType TDouble
+    CDouble ->                              -- lower : TBasicType TDouble
+    CDouble ->                              -- upper : TBasicType TDouble
+    CDouble ->                              -- step_increment : TBasicType TDouble
+    CDouble ->                              -- page_increment : TBasicType TDouble
+    CDouble ->                              -- page_size : TBasicType TDouble
+    IO ()
+
+{- |
+Sets all properties of the adjustment at once.
+
+Use this function to avoid multiple emissions of the
+'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ signal. See 'GI.Gtk.Objects.Adjustment.adjustmentSetLower'
+for an alternative way of compressing multiple emissions of
+'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ into one.
+
+/Since: 2.14/
+-}
+adjustmentConfigure ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> Double
+    {- ^ /@value@/: the new value -}
+    -> Double
+    {- ^ /@lower@/: the new minimum value -}
+    -> Double
+    {- ^ /@upper@/: the new maximum value -}
+    -> Double
+    {- ^ /@stepIncrement@/: the new step increment -}
+    -> Double
+    {- ^ /@pageIncrement@/: the new page increment -}
+    -> Double
+    {- ^ /@pageSize@/: the new page size -}
+    -> m ()
+adjustmentConfigure adjustment value lower upper stepIncrement pageIncrement pageSize = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    let value' = realToFrac value
+    let lower' = realToFrac lower
+    let upper' = realToFrac upper
+    let stepIncrement' = realToFrac stepIncrement
+    let pageIncrement' = realToFrac pageIncrement
+    let pageSize' = realToFrac pageSize
+    gtk_adjustment_configure adjustment' value' lower' upper' stepIncrement' pageIncrement' pageSize'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentConfigureMethodInfo
+instance (signature ~ (Double -> Double -> Double -> Double -> Double -> Double -> m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentConfigureMethodInfo a signature where
+    overloadedMethod _ = adjustmentConfigure
+
+#endif
+
+-- method Adjustment::get_lower
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_get_lower" gtk_adjustment_get_lower :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO CDouble
+
+{- |
+Retrieves the minimum value of the adjustment.
+
+/Since: 2.14/
+-}
+adjustmentGetLower ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m Double
+    {- ^ __Returns:__ The current minimum value of the adjustment -}
+adjustmentGetLower adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    result <- gtk_adjustment_get_lower adjustment'
+    let result' = realToFrac result
+    touchManagedPtr adjustment
+    return result'
+
+#if ENABLE_OVERLOADING
+data AdjustmentGetLowerMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentGetLowerMethodInfo a signature where
+    overloadedMethod _ = adjustmentGetLower
+
+#endif
+
+-- method Adjustment::get_minimum_increment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_get_minimum_increment" gtk_adjustment_get_minimum_increment :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO CDouble
+
+{- |
+Gets the smaller of step increment and page increment.
+
+/Since: 3.2/
+-}
+adjustmentGetMinimumIncrement ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m Double
+    {- ^ __Returns:__ the minimum increment of /@adjustment@/ -}
+adjustmentGetMinimumIncrement adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    result <- gtk_adjustment_get_minimum_increment adjustment'
+    let result' = realToFrac result
+    touchManagedPtr adjustment
+    return result'
+
+#if ENABLE_OVERLOADING
+data AdjustmentGetMinimumIncrementMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentGetMinimumIncrementMethodInfo a signature where
+    overloadedMethod _ = adjustmentGetMinimumIncrement
+
+#endif
+
+-- method Adjustment::get_page_increment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_get_page_increment" gtk_adjustment_get_page_increment :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO CDouble
+
+{- |
+Retrieves the page increment of the adjustment.
+
+/Since: 2.14/
+-}
+adjustmentGetPageIncrement ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m Double
+    {- ^ __Returns:__ The current page increment of the adjustment -}
+adjustmentGetPageIncrement adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    result <- gtk_adjustment_get_page_increment adjustment'
+    let result' = realToFrac result
+    touchManagedPtr adjustment
+    return result'
+
+#if ENABLE_OVERLOADING
+data AdjustmentGetPageIncrementMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentGetPageIncrementMethodInfo a signature where
+    overloadedMethod _ = adjustmentGetPageIncrement
+
+#endif
+
+-- method Adjustment::get_page_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_get_page_size" gtk_adjustment_get_page_size :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO CDouble
+
+{- |
+Retrieves the page size of the adjustment.
+
+/Since: 2.14/
+-}
+adjustmentGetPageSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m Double
+    {- ^ __Returns:__ The current page size of the adjustment -}
+adjustmentGetPageSize adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    result <- gtk_adjustment_get_page_size adjustment'
+    let result' = realToFrac result
+    touchManagedPtr adjustment
+    return result'
+
+#if ENABLE_OVERLOADING
+data AdjustmentGetPageSizeMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentGetPageSizeMethodInfo a signature where
+    overloadedMethod _ = adjustmentGetPageSize
+
+#endif
+
+-- method Adjustment::get_step_increment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_get_step_increment" gtk_adjustment_get_step_increment :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO CDouble
+
+{- |
+Retrieves the step increment of the adjustment.
+
+/Since: 2.14/
+-}
+adjustmentGetStepIncrement ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m Double
+    {- ^ __Returns:__ The current step increment of the adjustment. -}
+adjustmentGetStepIncrement adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    result <- gtk_adjustment_get_step_increment adjustment'
+    let result' = realToFrac result
+    touchManagedPtr adjustment
+    return result'
+
+#if ENABLE_OVERLOADING
+data AdjustmentGetStepIncrementMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentGetStepIncrementMethodInfo a signature where
+    overloadedMethod _ = adjustmentGetStepIncrement
+
+#endif
+
+-- method Adjustment::get_upper
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_get_upper" gtk_adjustment_get_upper :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO CDouble
+
+{- |
+Retrieves the maximum value of the adjustment.
+
+/Since: 2.14/
+-}
+adjustmentGetUpper ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m Double
+    {- ^ __Returns:__ The current maximum value of the adjustment -}
+adjustmentGetUpper adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    result <- gtk_adjustment_get_upper adjustment'
+    let result' = realToFrac result
+    touchManagedPtr adjustment
+    return result'
+
+#if ENABLE_OVERLOADING
+data AdjustmentGetUpperMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentGetUpperMethodInfo a signature where
+    overloadedMethod _ = adjustmentGetUpper
+
+#endif
+
+-- method Adjustment::get_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_get_value" gtk_adjustment_get_value :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO CDouble
+
+{- |
+Gets the current value of the adjustment.
+See 'GI.Gtk.Objects.Adjustment.adjustmentSetValue'.
+-}
+adjustmentGetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m Double
+    {- ^ __Returns:__ The current value of the adjustment -}
+adjustmentGetValue adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    result <- gtk_adjustment_get_value adjustment'
+    let result' = realToFrac result
+    touchManagedPtr adjustment
+    return result'
+
+#if ENABLE_OVERLOADING
+data AdjustmentGetValueMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentGetValueMethodInfo a signature where
+    overloadedMethod _ = adjustmentGetValue
+
+#endif
+
+-- method Adjustment::set_lower
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lower", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new minimum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_set_lower" gtk_adjustment_set_lower :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- lower : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the minimum value of the adjustment.
+
+When setting multiple adjustment properties via their individual
+setters, multiple 'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ signals will be emitted.
+However, since the emission of the 'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ signal
+is tied to the emission of the 'GI.GObject.Objects.Object.Object'::@/notify/@ signals of the changed
+properties, it’s possible to compress the 'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@
+signals into one by calling 'GI.GObject.Objects.Object.objectFreezeNotify' and
+'GI.GObject.Objects.Object.objectThawNotify' around the calls to the individual setters.
+
+Alternatively, using a single @/g_object_set()/@ for all the properties
+to change, or using 'GI.Gtk.Objects.Adjustment.adjustmentConfigure' has the same effect
+of compressing 'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ emissions.
+
+/Since: 2.14/
+-}
+adjustmentSetLower ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> Double
+    {- ^ /@lower@/: the new minimum value -}
+    -> m ()
+adjustmentSetLower adjustment lower = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    let lower' = realToFrac lower
+    gtk_adjustment_set_lower adjustment' lower'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentSetLowerMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentSetLowerMethodInfo a signature where
+    overloadedMethod _ = adjustmentSetLower
+
+#endif
+
+-- method Adjustment::set_page_increment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_increment", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new page increment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_set_page_increment" gtk_adjustment_set_page_increment :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- page_increment : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the page increment of the adjustment.
+
+See 'GI.Gtk.Objects.Adjustment.adjustmentSetLower' about how to compress multiple
+emissions of the 'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ signal when setting
+multiple adjustment properties.
+
+/Since: 2.14/
+-}
+adjustmentSetPageIncrement ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> Double
+    {- ^ /@pageIncrement@/: the new page increment -}
+    -> m ()
+adjustmentSetPageIncrement adjustment pageIncrement = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    let pageIncrement' = realToFrac pageIncrement
+    gtk_adjustment_set_page_increment adjustment' pageIncrement'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentSetPageIncrementMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentSetPageIncrementMethodInfo a signature where
+    overloadedMethod _ = adjustmentSetPageIncrement
+
+#endif
+
+-- method Adjustment::set_page_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_size", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new page size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_set_page_size" gtk_adjustment_set_page_size :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- page_size : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the page size of the adjustment.
+
+See 'GI.Gtk.Objects.Adjustment.adjustmentSetLower' about how to compress multiple
+emissions of the GtkAdjustment::changed signal when setting
+multiple adjustment properties.
+
+/Since: 2.14/
+-}
+adjustmentSetPageSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> Double
+    {- ^ /@pageSize@/: the new page size -}
+    -> m ()
+adjustmentSetPageSize adjustment pageSize = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    let pageSize' = realToFrac pageSize
+    gtk_adjustment_set_page_size adjustment' pageSize'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentSetPageSizeMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentSetPageSizeMethodInfo a signature where
+    overloadedMethod _ = adjustmentSetPageSize
+
+#endif
+
+-- method Adjustment::set_step_increment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step_increment", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new step increment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_set_step_increment" gtk_adjustment_set_step_increment :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- step_increment : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the step increment of the adjustment.
+
+See 'GI.Gtk.Objects.Adjustment.adjustmentSetLower' about how to compress multiple
+emissions of the 'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ signal when setting
+multiple adjustment properties.
+
+/Since: 2.14/
+-}
+adjustmentSetStepIncrement ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> Double
+    {- ^ /@stepIncrement@/: the new step increment -}
+    -> m ()
+adjustmentSetStepIncrement adjustment stepIncrement = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    let stepIncrement' = realToFrac stepIncrement
+    gtk_adjustment_set_step_increment adjustment' stepIncrement'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentSetStepIncrementMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentSetStepIncrementMethodInfo a signature where
+    overloadedMethod _ = adjustmentSetStepIncrement
+
+#endif
+
+-- method Adjustment::set_upper
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "upper", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new maximum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_set_upper" gtk_adjustment_set_upper :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- upper : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the maximum value of the adjustment.
+
+Note that values will be restricted by @upper - page-size@
+if the page-size property is nonzero.
+
+See 'GI.Gtk.Objects.Adjustment.adjustmentSetLower' about how to compress multiple
+emissions of the 'GI.Gtk.Objects.Adjustment.Adjustment'::@/changed/@ signal when setting
+multiple adjustment properties.
+
+/Since: 2.14/
+-}
+adjustmentSetUpper ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> Double
+    {- ^ /@upper@/: the new maximum value -}
+    -> m ()
+adjustmentSetUpper adjustment upper = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    let upper' = realToFrac upper
+    gtk_adjustment_set_upper adjustment' upper'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentSetUpperMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentSetUpperMethodInfo a signature where
+    overloadedMethod _ = adjustmentSetUpper
+
+#endif
+
+-- method Adjustment::set_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_set_value" gtk_adjustment_set_value :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- value : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Adjustment.Adjustment' value. The value is clamped to lie between
+'GI.Gtk.Objects.Adjustment.Adjustment':@/lower/@ and 'GI.Gtk.Objects.Adjustment.Adjustment':@/upper/@.
+
+Note that for adjustments which are used in a 'GI.Gtk.Objects.Scrollbar.Scrollbar', the
+effective range of allowed values goes from 'GI.Gtk.Objects.Adjustment.Adjustment':@/lower/@ to
+'GI.Gtk.Objects.Adjustment.Adjustment':@/upper/@ - 'GI.Gtk.Objects.Adjustment.Adjustment':@/page-size/@.
+-}
+adjustmentSetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> Double
+    {- ^ /@value@/: the new value -}
+    -> m ()
+adjustmentSetValue adjustment value = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    let value' = realToFrac value
+    gtk_adjustment_set_value adjustment' value'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentSetValueMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentSetValueMethodInfo a signature where
+    overloadedMethod _ = adjustmentSetValue
+
+#endif
+
+-- method Adjustment::value_changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_adjustment_value_changed" gtk_adjustment_value_changed :: 
+    Ptr Adjustment ->                       -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{-# DEPRECATED adjustmentValueChanged ["(Since version 3.18)","GTK+ emits 'GI.Gtk.Objects.Adjustment.Adjustment'::@/value-changed/@ itself whenever","   the value changes"] #-}
+{- |
+Emits a 'GI.Gtk.Objects.Adjustment.Adjustment'::@/value-changed/@ signal from the 'GI.Gtk.Objects.Adjustment.Adjustment'.
+This is typically called by the owner of the 'GI.Gtk.Objects.Adjustment.Adjustment' after it has
+changed the 'GI.Gtk.Objects.Adjustment.Adjustment':@/value/@ property.
+-}
+adjustmentValueChanged ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m ()
+adjustmentValueChanged adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    gtk_adjustment_value_changed adjustment'
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AdjustmentValueChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAdjustment a) => O.MethodInfo AdjustmentValueChangedMethodInfo a signature where
+    overloadedMethod _ = adjustmentValueChanged
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Adjustment.hs-boot b/GI/Gtk/Objects/Adjustment.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Adjustment.hs-boot
@@ -0,0 +1,104 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Adjustment where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Adjustment = Adjustment (ManagedPtr Adjustment)
+instance GObject Adjustment where
+class (GObject o, O.IsDescendantOf Adjustment o) => IsAdjustment o
+instance (GObject o, O.IsDescendantOf Adjustment o) => IsAdjustment o
+instance O.HasParentTypes Adjustment
+#if ENABLE_OVERLOADING
+data AdjustmentLowerPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentPageIncrementPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentPageSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentStepIncrementPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentUpperPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentValuePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentValueChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentChangedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentClampPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentConfigureMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentGetLowerMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentGetMinimumIncrementMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentGetPageIncrementMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentGetPageSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentGetStepIncrementMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentGetUpperMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentGetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentSetLowerMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentSetPageIncrementMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentSetPageSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentSetStepIncrementMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentSetUpperMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentSetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AdjustmentValueChangedMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Alignment.hs b/GI/Gtk/Objects/Alignment.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Alignment.hs
@@ -0,0 +1,1225 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Alignment.Alignment' widget controls the alignment and size of its child widget.
+It has four settings: xscale, yscale, xalign, and yalign.
+
+The scale settings are used to specify how much the child widget should
+expand to fill the space allocated to the 'GI.Gtk.Objects.Alignment.Alignment'.
+The values can range from 0 (meaning the child doesn’t expand at all) to
+1 (meaning the child expands to fill all of the available space).
+
+The align settings are used to place the child widget within the available
+area. The values range from 0 (top or left) to 1 (bottom or right).
+Of course, if the scale settings are both set to 1, the alignment settings
+have no effect.
+
+GtkAlignment has been deprecated in 3.14 and should not be used in
+newly-written code. The desired effect can be achieved by using the
+'GI.Gtk.Objects.Widget.Widget':@/halign/@, 'GI.Gtk.Objects.Widget.Widget':@/valign/@ and 'GI.Gtk.Objects.Widget.Widget':@/margin/@ properties on the
+child widget.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Alignment
+    ( 
+
+-- * Exported types
+    Alignment(..)                           ,
+    IsAlignment                             ,
+    toAlignment                             ,
+    noAlignment                             ,
+
+
+ -- * Methods
+-- ** getPadding #method:getPadding#
+
+#if ENABLE_OVERLOADING
+    AlignmentGetPaddingMethodInfo           ,
+#endif
+    alignmentGetPadding                     ,
+
+
+-- ** new #method:new#
+
+    alignmentNew                            ,
+
+
+-- ** set #method:set#
+
+#if ENABLE_OVERLOADING
+    AlignmentSetMethodInfo                  ,
+#endif
+    alignmentSet                            ,
+
+
+-- ** setPadding #method:setPadding#
+
+#if ENABLE_OVERLOADING
+    AlignmentSetPaddingMethodInfo           ,
+#endif
+    alignmentSetPadding                     ,
+
+
+
+
+ -- * Properties
+-- ** bottomPadding #attr:bottomPadding#
+{- | The padding to insert at the bottom of the widget.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AlignmentBottomPaddingPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    alignmentBottomPadding                  ,
+#endif
+    constructAlignmentBottomPadding         ,
+    getAlignmentBottomPadding               ,
+    setAlignmentBottomPadding               ,
+
+
+-- ** leftPadding #attr:leftPadding#
+{- | The padding to insert at the left of the widget.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AlignmentLeftPaddingPropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    alignmentLeftPadding                    ,
+#endif
+    constructAlignmentLeftPadding           ,
+    getAlignmentLeftPadding                 ,
+    setAlignmentLeftPadding                 ,
+
+
+-- ** rightPadding #attr:rightPadding#
+{- | The padding to insert at the right of the widget.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AlignmentRightPaddingPropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    alignmentRightPadding                   ,
+#endif
+    constructAlignmentRightPadding          ,
+    getAlignmentRightPadding                ,
+    setAlignmentRightPadding                ,
+
+
+-- ** topPadding #attr:topPadding#
+{- | The padding to insert at the top of the widget.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    AlignmentTopPaddingPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    alignmentTopPadding                     ,
+#endif
+    constructAlignmentTopPadding            ,
+    getAlignmentTopPadding                  ,
+    setAlignmentTopPadding                  ,
+
+
+-- ** xalign #attr:xalign#
+{- | Horizontal position of child in available space. A value of 0.0
+will flush the child left (or right, in RTL locales); a value
+of 1.0 will flush the child right (or left, in RTL locales).
+-}
+#if ENABLE_OVERLOADING
+    AlignmentXalignPropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    alignmentXalign                         ,
+#endif
+    constructAlignmentXalign                ,
+    getAlignmentXalign                      ,
+    setAlignmentXalign                      ,
+
+
+-- ** xscale #attr:xscale#
+{- | If available horizontal space is bigger than needed, how much
+of it to use for the child. A value of 0.0 means none; a value
+of 1.0 means all.
+-}
+#if ENABLE_OVERLOADING
+    AlignmentXscalePropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    alignmentXscale                         ,
+#endif
+    constructAlignmentXscale                ,
+    getAlignmentXscale                      ,
+    setAlignmentXscale                      ,
+
+
+-- ** yalign #attr:yalign#
+{- | Vertical position of child in available space. A value of 0.0
+will flush the child to the top; a value of 1.0 will flush the
+child to the bottom.
+-}
+#if ENABLE_OVERLOADING
+    AlignmentYalignPropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    alignmentYalign                         ,
+#endif
+    constructAlignmentYalign                ,
+    getAlignmentYalign                      ,
+    setAlignmentYalign                      ,
+
+
+-- ** yscale #attr:yscale#
+{- | If available vertical space is bigger than needed, how much
+of it to use for the child. A value of 0.0 means none; a value
+of 1.0 means all.
+-}
+#if ENABLE_OVERLOADING
+    AlignmentYscalePropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    alignmentYscale                         ,
+#endif
+    constructAlignmentYscale                ,
+    getAlignmentYscale                      ,
+    setAlignmentYscale                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Alignment = Alignment (ManagedPtr Alignment)
+foreign import ccall "gtk_alignment_get_type"
+    c_gtk_alignment_get_type :: IO GType
+
+instance GObject Alignment where
+    gobjectType = c_gtk_alignment_get_type
+    
+
+-- | Type class for types which can be safely cast to `Alignment`, for instance with `toAlignment`.
+class (GObject o, O.IsDescendantOf Alignment o) => IsAlignment o
+instance (GObject o, O.IsDescendantOf Alignment o) => IsAlignment o
+
+instance O.HasParentTypes Alignment
+type instance O.ParentTypes Alignment = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Alignment`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAlignment :: (MonadIO m, IsAlignment o) => o -> m Alignment
+toAlignment = liftIO . unsafeCastTo Alignment
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Alignment`.
+noAlignment :: Maybe Alignment
+noAlignment = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAlignmentMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAlignmentMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveAlignmentMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveAlignmentMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveAlignmentMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveAlignmentMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveAlignmentMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveAlignmentMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveAlignmentMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveAlignmentMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAlignmentMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAlignmentMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveAlignmentMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveAlignmentMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveAlignmentMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveAlignmentMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveAlignmentMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveAlignmentMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveAlignmentMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveAlignmentMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveAlignmentMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveAlignmentMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveAlignmentMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveAlignmentMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveAlignmentMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveAlignmentMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveAlignmentMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveAlignmentMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveAlignmentMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveAlignmentMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveAlignmentMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveAlignmentMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveAlignmentMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveAlignmentMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveAlignmentMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveAlignmentMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveAlignmentMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveAlignmentMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveAlignmentMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveAlignmentMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveAlignmentMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveAlignmentMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveAlignmentMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveAlignmentMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveAlignmentMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveAlignmentMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveAlignmentMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveAlignmentMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveAlignmentMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveAlignmentMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveAlignmentMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveAlignmentMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveAlignmentMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveAlignmentMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveAlignmentMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveAlignmentMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveAlignmentMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveAlignmentMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveAlignmentMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveAlignmentMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveAlignmentMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveAlignmentMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveAlignmentMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveAlignmentMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAlignmentMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveAlignmentMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveAlignmentMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAlignmentMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAlignmentMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveAlignmentMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveAlignmentMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveAlignmentMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveAlignmentMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveAlignmentMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveAlignmentMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveAlignmentMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveAlignmentMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveAlignmentMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveAlignmentMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveAlignmentMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveAlignmentMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveAlignmentMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveAlignmentMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveAlignmentMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveAlignmentMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveAlignmentMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveAlignmentMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveAlignmentMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveAlignmentMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAlignmentMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveAlignmentMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveAlignmentMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveAlignmentMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveAlignmentMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveAlignmentMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveAlignmentMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveAlignmentMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveAlignmentMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveAlignmentMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveAlignmentMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveAlignmentMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveAlignmentMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveAlignmentMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveAlignmentMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveAlignmentMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveAlignmentMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveAlignmentMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAlignmentMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAlignmentMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveAlignmentMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveAlignmentMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveAlignmentMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveAlignmentMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveAlignmentMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveAlignmentMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveAlignmentMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveAlignmentMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveAlignmentMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveAlignmentMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveAlignmentMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveAlignmentMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveAlignmentMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveAlignmentMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveAlignmentMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveAlignmentMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAlignmentMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAlignmentMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveAlignmentMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveAlignmentMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveAlignmentMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveAlignmentMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveAlignmentMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveAlignmentMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveAlignmentMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveAlignmentMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveAlignmentMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveAlignmentMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveAlignmentMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveAlignmentMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAlignmentMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveAlignmentMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveAlignmentMethod "set" o = AlignmentSetMethodInfo
+    ResolveAlignmentMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveAlignmentMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveAlignmentMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveAlignmentMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveAlignmentMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveAlignmentMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveAlignmentMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveAlignmentMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAlignmentMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAlignmentMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveAlignmentMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveAlignmentMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveAlignmentMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAlignmentMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveAlignmentMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveAlignmentMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveAlignmentMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveAlignmentMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveAlignmentMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAlignmentMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveAlignmentMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveAlignmentMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveAlignmentMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAlignmentMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveAlignmentMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveAlignmentMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveAlignmentMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveAlignmentMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveAlignmentMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveAlignmentMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveAlignmentMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveAlignmentMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveAlignmentMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveAlignmentMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveAlignmentMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveAlignmentMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveAlignmentMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveAlignmentMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveAlignmentMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveAlignmentMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveAlignmentMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveAlignmentMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveAlignmentMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAlignmentMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveAlignmentMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveAlignmentMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveAlignmentMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveAlignmentMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveAlignmentMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveAlignmentMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveAlignmentMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveAlignmentMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveAlignmentMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveAlignmentMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveAlignmentMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveAlignmentMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveAlignmentMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveAlignmentMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveAlignmentMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveAlignmentMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveAlignmentMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveAlignmentMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveAlignmentMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveAlignmentMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveAlignmentMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveAlignmentMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveAlignmentMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveAlignmentMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveAlignmentMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveAlignmentMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveAlignmentMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveAlignmentMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveAlignmentMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveAlignmentMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveAlignmentMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveAlignmentMethod "getPadding" o = AlignmentGetPaddingMethodInfo
+    ResolveAlignmentMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveAlignmentMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveAlignmentMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveAlignmentMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveAlignmentMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveAlignmentMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveAlignmentMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveAlignmentMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveAlignmentMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveAlignmentMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveAlignmentMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveAlignmentMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveAlignmentMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAlignmentMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAlignmentMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveAlignmentMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveAlignmentMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveAlignmentMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveAlignmentMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveAlignmentMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveAlignmentMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveAlignmentMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveAlignmentMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveAlignmentMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveAlignmentMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveAlignmentMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveAlignmentMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveAlignmentMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveAlignmentMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveAlignmentMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveAlignmentMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveAlignmentMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveAlignmentMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveAlignmentMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveAlignmentMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveAlignmentMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveAlignmentMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveAlignmentMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveAlignmentMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveAlignmentMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveAlignmentMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveAlignmentMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveAlignmentMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveAlignmentMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveAlignmentMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveAlignmentMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveAlignmentMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveAlignmentMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveAlignmentMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveAlignmentMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveAlignmentMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveAlignmentMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveAlignmentMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAlignmentMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveAlignmentMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveAlignmentMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveAlignmentMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveAlignmentMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveAlignmentMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveAlignmentMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveAlignmentMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveAlignmentMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveAlignmentMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveAlignmentMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveAlignmentMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveAlignmentMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveAlignmentMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveAlignmentMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveAlignmentMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveAlignmentMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveAlignmentMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveAlignmentMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveAlignmentMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveAlignmentMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveAlignmentMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveAlignmentMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveAlignmentMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveAlignmentMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveAlignmentMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveAlignmentMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveAlignmentMethod "setPadding" o = AlignmentSetPaddingMethodInfo
+    ResolveAlignmentMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveAlignmentMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveAlignmentMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAlignmentMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveAlignmentMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveAlignmentMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveAlignmentMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveAlignmentMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveAlignmentMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveAlignmentMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveAlignmentMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveAlignmentMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveAlignmentMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveAlignmentMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveAlignmentMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveAlignmentMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveAlignmentMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveAlignmentMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveAlignmentMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveAlignmentMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveAlignmentMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveAlignmentMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveAlignmentMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveAlignmentMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAlignmentMethod t Alignment, O.MethodInfo info Alignment p) => OL.IsLabel t (Alignment -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "bottom-padding"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@bottom-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' alignment #bottomPadding
+@
+-}
+getAlignmentBottomPadding :: (MonadIO m, IsAlignment o) => o -> m Word32
+getAlignmentBottomPadding obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "bottom-padding"
+
+{- |
+Set the value of the “@bottom-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' alignment [ #bottomPadding 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAlignmentBottomPadding :: (MonadIO m, IsAlignment o) => o -> Word32 -> m ()
+setAlignmentBottomPadding obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "bottom-padding" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@bottom-padding@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAlignmentBottomPadding :: (IsAlignment o) => Word32 -> IO (GValueConstruct o)
+constructAlignmentBottomPadding val = B.Properties.constructObjectPropertyUInt32 "bottom-padding" val
+
+#if ENABLE_OVERLOADING
+data AlignmentBottomPaddingPropertyInfo
+instance AttrInfo AlignmentBottomPaddingPropertyInfo where
+    type AttrAllowedOps AlignmentBottomPaddingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AlignmentBottomPaddingPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint AlignmentBottomPaddingPropertyInfo = IsAlignment
+    type AttrGetType AlignmentBottomPaddingPropertyInfo = Word32
+    type AttrLabel AlignmentBottomPaddingPropertyInfo = "bottom-padding"
+    type AttrOrigin AlignmentBottomPaddingPropertyInfo = Alignment
+    attrGet _ = getAlignmentBottomPadding
+    attrSet _ = setAlignmentBottomPadding
+    attrConstruct _ = constructAlignmentBottomPadding
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "left-padding"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@left-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' alignment #leftPadding
+@
+-}
+getAlignmentLeftPadding :: (MonadIO m, IsAlignment o) => o -> m Word32
+getAlignmentLeftPadding obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "left-padding"
+
+{- |
+Set the value of the “@left-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' alignment [ #leftPadding 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAlignmentLeftPadding :: (MonadIO m, IsAlignment o) => o -> Word32 -> m ()
+setAlignmentLeftPadding obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "left-padding" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@left-padding@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAlignmentLeftPadding :: (IsAlignment o) => Word32 -> IO (GValueConstruct o)
+constructAlignmentLeftPadding val = B.Properties.constructObjectPropertyUInt32 "left-padding" val
+
+#if ENABLE_OVERLOADING
+data AlignmentLeftPaddingPropertyInfo
+instance AttrInfo AlignmentLeftPaddingPropertyInfo where
+    type AttrAllowedOps AlignmentLeftPaddingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AlignmentLeftPaddingPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint AlignmentLeftPaddingPropertyInfo = IsAlignment
+    type AttrGetType AlignmentLeftPaddingPropertyInfo = Word32
+    type AttrLabel AlignmentLeftPaddingPropertyInfo = "left-padding"
+    type AttrOrigin AlignmentLeftPaddingPropertyInfo = Alignment
+    attrGet _ = getAlignmentLeftPadding
+    attrSet _ = setAlignmentLeftPadding
+    attrConstruct _ = constructAlignmentLeftPadding
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "right-padding"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@right-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' alignment #rightPadding
+@
+-}
+getAlignmentRightPadding :: (MonadIO m, IsAlignment o) => o -> m Word32
+getAlignmentRightPadding obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "right-padding"
+
+{- |
+Set the value of the “@right-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' alignment [ #rightPadding 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAlignmentRightPadding :: (MonadIO m, IsAlignment o) => o -> Word32 -> m ()
+setAlignmentRightPadding obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "right-padding" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@right-padding@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAlignmentRightPadding :: (IsAlignment o) => Word32 -> IO (GValueConstruct o)
+constructAlignmentRightPadding val = B.Properties.constructObjectPropertyUInt32 "right-padding" val
+
+#if ENABLE_OVERLOADING
+data AlignmentRightPaddingPropertyInfo
+instance AttrInfo AlignmentRightPaddingPropertyInfo where
+    type AttrAllowedOps AlignmentRightPaddingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AlignmentRightPaddingPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint AlignmentRightPaddingPropertyInfo = IsAlignment
+    type AttrGetType AlignmentRightPaddingPropertyInfo = Word32
+    type AttrLabel AlignmentRightPaddingPropertyInfo = "right-padding"
+    type AttrOrigin AlignmentRightPaddingPropertyInfo = Alignment
+    attrGet _ = getAlignmentRightPadding
+    attrSet _ = setAlignmentRightPadding
+    attrConstruct _ = constructAlignmentRightPadding
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "top-padding"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@top-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' alignment #topPadding
+@
+-}
+getAlignmentTopPadding :: (MonadIO m, IsAlignment o) => o -> m Word32
+getAlignmentTopPadding obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "top-padding"
+
+{- |
+Set the value of the “@top-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' alignment [ #topPadding 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAlignmentTopPadding :: (MonadIO m, IsAlignment o) => o -> Word32 -> m ()
+setAlignmentTopPadding obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "top-padding" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@top-padding@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAlignmentTopPadding :: (IsAlignment o) => Word32 -> IO (GValueConstruct o)
+constructAlignmentTopPadding val = B.Properties.constructObjectPropertyUInt32 "top-padding" val
+
+#if ENABLE_OVERLOADING
+data AlignmentTopPaddingPropertyInfo
+instance AttrInfo AlignmentTopPaddingPropertyInfo where
+    type AttrAllowedOps AlignmentTopPaddingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AlignmentTopPaddingPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint AlignmentTopPaddingPropertyInfo = IsAlignment
+    type AttrGetType AlignmentTopPaddingPropertyInfo = Word32
+    type AttrLabel AlignmentTopPaddingPropertyInfo = "top-padding"
+    type AttrOrigin AlignmentTopPaddingPropertyInfo = Alignment
+    attrGet _ = getAlignmentTopPadding
+    attrSet _ = setAlignmentTopPadding
+    attrConstruct _ = constructAlignmentTopPadding
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' alignment #xalign
+@
+-}
+getAlignmentXalign :: (MonadIO m, IsAlignment o) => o -> m Float
+getAlignmentXalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "xalign"
+
+{- |
+Set the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' alignment [ #xalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAlignmentXalign :: (MonadIO m, IsAlignment o) => o -> Float -> m ()
+setAlignmentXalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "xalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAlignmentXalign :: (IsAlignment o) => Float -> IO (GValueConstruct o)
+constructAlignmentXalign val = B.Properties.constructObjectPropertyFloat "xalign" val
+
+#if ENABLE_OVERLOADING
+data AlignmentXalignPropertyInfo
+instance AttrInfo AlignmentXalignPropertyInfo where
+    type AttrAllowedOps AlignmentXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AlignmentXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint AlignmentXalignPropertyInfo = IsAlignment
+    type AttrGetType AlignmentXalignPropertyInfo = Float
+    type AttrLabel AlignmentXalignPropertyInfo = "xalign"
+    type AttrOrigin AlignmentXalignPropertyInfo = Alignment
+    attrGet _ = getAlignmentXalign
+    attrSet _ = setAlignmentXalign
+    attrConstruct _ = constructAlignmentXalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "xscale"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@xscale@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' alignment #xscale
+@
+-}
+getAlignmentXscale :: (MonadIO m, IsAlignment o) => o -> m Float
+getAlignmentXscale obj = liftIO $ B.Properties.getObjectPropertyFloat obj "xscale"
+
+{- |
+Set the value of the “@xscale@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' alignment [ #xscale 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAlignmentXscale :: (MonadIO m, IsAlignment o) => o -> Float -> m ()
+setAlignmentXscale obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "xscale" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xscale@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAlignmentXscale :: (IsAlignment o) => Float -> IO (GValueConstruct o)
+constructAlignmentXscale val = B.Properties.constructObjectPropertyFloat "xscale" val
+
+#if ENABLE_OVERLOADING
+data AlignmentXscalePropertyInfo
+instance AttrInfo AlignmentXscalePropertyInfo where
+    type AttrAllowedOps AlignmentXscalePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AlignmentXscalePropertyInfo = (~) Float
+    type AttrBaseTypeConstraint AlignmentXscalePropertyInfo = IsAlignment
+    type AttrGetType AlignmentXscalePropertyInfo = Float
+    type AttrLabel AlignmentXscalePropertyInfo = "xscale"
+    type AttrOrigin AlignmentXscalePropertyInfo = Alignment
+    attrGet _ = getAlignmentXscale
+    attrSet _ = setAlignmentXscale
+    attrConstruct _ = constructAlignmentXscale
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "yalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' alignment #yalign
+@
+-}
+getAlignmentYalign :: (MonadIO m, IsAlignment o) => o -> m Float
+getAlignmentYalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "yalign"
+
+{- |
+Set the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' alignment [ #yalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAlignmentYalign :: (MonadIO m, IsAlignment o) => o -> Float -> m ()
+setAlignmentYalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "yalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@yalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAlignmentYalign :: (IsAlignment o) => Float -> IO (GValueConstruct o)
+constructAlignmentYalign val = B.Properties.constructObjectPropertyFloat "yalign" val
+
+#if ENABLE_OVERLOADING
+data AlignmentYalignPropertyInfo
+instance AttrInfo AlignmentYalignPropertyInfo where
+    type AttrAllowedOps AlignmentYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AlignmentYalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint AlignmentYalignPropertyInfo = IsAlignment
+    type AttrGetType AlignmentYalignPropertyInfo = Float
+    type AttrLabel AlignmentYalignPropertyInfo = "yalign"
+    type AttrOrigin AlignmentYalignPropertyInfo = Alignment
+    attrGet _ = getAlignmentYalign
+    attrSet _ = setAlignmentYalign
+    attrConstruct _ = constructAlignmentYalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "yscale"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@yscale@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' alignment #yscale
+@
+-}
+getAlignmentYscale :: (MonadIO m, IsAlignment o) => o -> m Float
+getAlignmentYscale obj = liftIO $ B.Properties.getObjectPropertyFloat obj "yscale"
+
+{- |
+Set the value of the “@yscale@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' alignment [ #yscale 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAlignmentYscale :: (MonadIO m, IsAlignment o) => o -> Float -> m ()
+setAlignmentYscale obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "yscale" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@yscale@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAlignmentYscale :: (IsAlignment o) => Float -> IO (GValueConstruct o)
+constructAlignmentYscale val = B.Properties.constructObjectPropertyFloat "yscale" val
+
+#if ENABLE_OVERLOADING
+data AlignmentYscalePropertyInfo
+instance AttrInfo AlignmentYscalePropertyInfo where
+    type AttrAllowedOps AlignmentYscalePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AlignmentYscalePropertyInfo = (~) Float
+    type AttrBaseTypeConstraint AlignmentYscalePropertyInfo = IsAlignment
+    type AttrGetType AlignmentYscalePropertyInfo = Float
+    type AttrLabel AlignmentYscalePropertyInfo = "yscale"
+    type AttrOrigin AlignmentYscalePropertyInfo = Alignment
+    attrGet _ = getAlignmentYscale
+    attrSet _ = setAlignmentYscale
+    attrConstruct _ = constructAlignmentYscale
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Alignment
+type instance O.AttributeList Alignment = AlignmentAttributeList
+type AlignmentAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("bottomPadding", AlignmentBottomPaddingPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("leftPadding", AlignmentLeftPaddingPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rightPadding", AlignmentRightPaddingPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("topPadding", AlignmentTopPaddingPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", AlignmentXalignPropertyInfo), '("xscale", AlignmentXscalePropertyInfo), '("yalign", AlignmentYalignPropertyInfo), '("yscale", AlignmentYscalePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+alignmentBottomPadding :: AttrLabelProxy "bottomPadding"
+alignmentBottomPadding = AttrLabelProxy
+
+alignmentLeftPadding :: AttrLabelProxy "leftPadding"
+alignmentLeftPadding = AttrLabelProxy
+
+alignmentRightPadding :: AttrLabelProxy "rightPadding"
+alignmentRightPadding = AttrLabelProxy
+
+alignmentTopPadding :: AttrLabelProxy "topPadding"
+alignmentTopPadding = AttrLabelProxy
+
+alignmentXalign :: AttrLabelProxy "xalign"
+alignmentXalign = AttrLabelProxy
+
+alignmentXscale :: AttrLabelProxy "xscale"
+alignmentXscale = AttrLabelProxy
+
+alignmentYalign :: AttrLabelProxy "yalign"
+alignmentYalign = AttrLabelProxy
+
+alignmentYscale :: AttrLabelProxy "yscale"
+alignmentYscale = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Alignment = AlignmentSignalList
+type AlignmentSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Alignment::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal alignment of the child widget, from 0 (left) to 1\n (right).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical alignment of the child widget, from 0 (top) to 1\n (bottom).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xscale", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount that the child widget expands horizontally to fill up\n unused space, from 0 to 1.\n A value of 0 indicates that the child widget should never expand.\n A value of 1 indicates that the child widget will expand to fill all of the\n space allocated for the #GtkAlignment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yscale", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount that the child widget expands vertically to fill up\n unused space, from 0 to 1. The values are similar to @xscale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Alignment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_alignment_new" gtk_alignment_new :: 
+    CFloat ->                               -- xalign : TBasicType TFloat
+    CFloat ->                               -- yalign : TBasicType TFloat
+    CFloat ->                               -- xscale : TBasicType TFloat
+    CFloat ->                               -- yscale : TBasicType TFloat
+    IO (Ptr Alignment)
+
+{-# DEPRECATED alignmentNew ["(Since version 3.14)","Use 'GI.Gtk.Objects.Widget.Widget' alignment and margin properties"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.Alignment.Alignment'.
+-}
+alignmentNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Float
+    {- ^ /@xalign@/: the horizontal alignment of the child widget, from 0 (left) to 1
+ (right). -}
+    -> Float
+    {- ^ /@yalign@/: the vertical alignment of the child widget, from 0 (top) to 1
+ (bottom). -}
+    -> Float
+    {- ^ /@xscale@/: the amount that the child widget expands horizontally to fill up
+ unused space, from 0 to 1.
+ A value of 0 indicates that the child widget should never expand.
+ A value of 1 indicates that the child widget will expand to fill all of the
+ space allocated for the 'GI.Gtk.Objects.Alignment.Alignment'. -}
+    -> Float
+    {- ^ /@yscale@/: the amount that the child widget expands vertically to fill up
+ unused space, from 0 to 1. The values are similar to /@xscale@/. -}
+    -> m Alignment
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Alignment.Alignment' -}
+alignmentNew xalign yalign xscale yscale = liftIO $ do
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    let xscale' = realToFrac xscale
+    let yscale' = realToFrac yscale
+    result <- gtk_alignment_new xalign' yalign' xscale' yscale'
+    checkUnexpectedReturnNULL "alignmentNew" result
+    result' <- (newObject Alignment) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Alignment::get_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "alignment", argType = TInterface (Name {namespace = "Gtk", name = "Alignment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAlignment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding_top", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the padding for\n    the top of the widget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "padding_bottom", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the padding\n    for the bottom of the widget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "padding_left", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the padding\n    for the left of the widget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "padding_right", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the padding\n    for the right of the widget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_alignment_get_padding" gtk_alignment_get_padding :: 
+    Ptr Alignment ->                        -- alignment : TInterface (Name {namespace = "Gtk", name = "Alignment"})
+    Ptr Word32 ->                           -- padding_top : TBasicType TUInt
+    Ptr Word32 ->                           -- padding_bottom : TBasicType TUInt
+    Ptr Word32 ->                           -- padding_left : TBasicType TUInt
+    Ptr Word32 ->                           -- padding_right : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED alignmentGetPadding ["(Since version 3.14)","Use 'GI.Gtk.Objects.Widget.Widget' alignment and margin properties"] #-}
+{- |
+Gets the padding on the different sides of the widget.
+See gtk_alignment_set_padding ().
+
+/Since: 2.4/
+-}
+alignmentGetPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAlignment a) =>
+    a
+    {- ^ /@alignment@/: a 'GI.Gtk.Objects.Alignment.Alignment' -}
+    -> m ((Word32, Word32, Word32, Word32))
+alignmentGetPadding alignment = liftIO $ do
+    alignment' <- unsafeManagedPtrCastPtr alignment
+    paddingTop <- allocMem :: IO (Ptr Word32)
+    paddingBottom <- allocMem :: IO (Ptr Word32)
+    paddingLeft <- allocMem :: IO (Ptr Word32)
+    paddingRight <- allocMem :: IO (Ptr Word32)
+    gtk_alignment_get_padding alignment' paddingTop paddingBottom paddingLeft paddingRight
+    paddingTop' <- peek paddingTop
+    paddingBottom' <- peek paddingBottom
+    paddingLeft' <- peek paddingLeft
+    paddingRight' <- peek paddingRight
+    touchManagedPtr alignment
+    freeMem paddingTop
+    freeMem paddingBottom
+    freeMem paddingLeft
+    freeMem paddingRight
+    return (paddingTop', paddingBottom', paddingLeft', paddingRight')
+
+#if ENABLE_OVERLOADING
+data AlignmentGetPaddingMethodInfo
+instance (signature ~ (m ((Word32, Word32, Word32, Word32))), MonadIO m, IsAlignment a) => O.MethodInfo AlignmentGetPaddingMethodInfo a signature where
+    overloadedMethod _ = alignmentGetPadding
+
+#endif
+
+-- method Alignment::set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "alignment", argType = TInterface (Name {namespace = "Gtk", name = "Alignment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAlignment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal alignment of the child widget, from 0 (left) to 1\n (right).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical alignment of the child widget, from 0 (top) to 1\n (bottom).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xscale", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount that the child widget expands horizontally to fill up\n unused space, from 0 to 1.\n A value of 0 indicates that the child widget should never expand.\n A value of 1 indicates that the child widget will expand to fill all of the\n space allocated for the #GtkAlignment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yscale", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount that the child widget expands vertically to fill up\n unused space, from 0 to 1. The values are similar to @xscale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_alignment_set" gtk_alignment_set :: 
+    Ptr Alignment ->                        -- alignment : TInterface (Name {namespace = "Gtk", name = "Alignment"})
+    CFloat ->                               -- xalign : TBasicType TFloat
+    CFloat ->                               -- yalign : TBasicType TFloat
+    CFloat ->                               -- xscale : TBasicType TFloat
+    CFloat ->                               -- yscale : TBasicType TFloat
+    IO ()
+
+{-# DEPRECATED alignmentSet ["(Since version 3.14)","Use 'GI.Gtk.Objects.Widget.Widget' alignment and margin properties"] #-}
+{- |
+Sets the 'GI.Gtk.Objects.Alignment.Alignment' values.
+-}
+alignmentSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAlignment a) =>
+    a
+    {- ^ /@alignment@/: a 'GI.Gtk.Objects.Alignment.Alignment'. -}
+    -> Float
+    {- ^ /@xalign@/: the horizontal alignment of the child widget, from 0 (left) to 1
+ (right). -}
+    -> Float
+    {- ^ /@yalign@/: the vertical alignment of the child widget, from 0 (top) to 1
+ (bottom). -}
+    -> Float
+    {- ^ /@xscale@/: the amount that the child widget expands horizontally to fill up
+ unused space, from 0 to 1.
+ A value of 0 indicates that the child widget should never expand.
+ A value of 1 indicates that the child widget will expand to fill all of the
+ space allocated for the 'GI.Gtk.Objects.Alignment.Alignment'. -}
+    -> Float
+    {- ^ /@yscale@/: the amount that the child widget expands vertically to fill up
+ unused space, from 0 to 1. The values are similar to /@xscale@/. -}
+    -> m ()
+alignmentSet alignment xalign yalign xscale yscale = liftIO $ do
+    alignment' <- unsafeManagedPtrCastPtr alignment
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    let xscale' = realToFrac xscale
+    let yscale' = realToFrac yscale
+    gtk_alignment_set alignment' xalign' yalign' xscale' yscale'
+    touchManagedPtr alignment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AlignmentSetMethodInfo
+instance (signature ~ (Float -> Float -> Float -> Float -> m ()), MonadIO m, IsAlignment a) => O.MethodInfo AlignmentSetMethodInfo a signature where
+    overloadedMethod _ = alignmentSet
+
+#endif
+
+-- method Alignment::set_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "alignment", argType = TInterface (Name {namespace = "Gtk", name = "Alignment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAlignment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding_top", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the padding at the top of the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding_bottom", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the padding at the bottom of the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding_left", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the padding at the left of the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding_right", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the padding at the right of the widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_alignment_set_padding" gtk_alignment_set_padding :: 
+    Ptr Alignment ->                        -- alignment : TInterface (Name {namespace = "Gtk", name = "Alignment"})
+    Word32 ->                               -- padding_top : TBasicType TUInt
+    Word32 ->                               -- padding_bottom : TBasicType TUInt
+    Word32 ->                               -- padding_left : TBasicType TUInt
+    Word32 ->                               -- padding_right : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED alignmentSetPadding ["(Since version 3.14)","Use 'GI.Gtk.Objects.Widget.Widget' alignment and margin properties"] #-}
+{- |
+Sets the padding on the different sides of the widget.
+The padding adds blank space to the sides of the widget. For instance,
+this can be used to indent the child widget towards the right by adding
+padding on the left.
+
+/Since: 2.4/
+-}
+alignmentSetPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAlignment a) =>
+    a
+    {- ^ /@alignment@/: a 'GI.Gtk.Objects.Alignment.Alignment' -}
+    -> Word32
+    {- ^ /@paddingTop@/: the padding at the top of the widget -}
+    -> Word32
+    {- ^ /@paddingBottom@/: the padding at the bottom of the widget -}
+    -> Word32
+    {- ^ /@paddingLeft@/: the padding at the left of the widget -}
+    -> Word32
+    {- ^ /@paddingRight@/: the padding at the right of the widget. -}
+    -> m ()
+alignmentSetPadding alignment paddingTop paddingBottom paddingLeft paddingRight = liftIO $ do
+    alignment' <- unsafeManagedPtrCastPtr alignment
+    gtk_alignment_set_padding alignment' paddingTop paddingBottom paddingLeft paddingRight
+    touchManagedPtr alignment
+    return ()
+
+#if ENABLE_OVERLOADING
+data AlignmentSetPaddingMethodInfo
+instance (signature ~ (Word32 -> Word32 -> Word32 -> Word32 -> m ()), MonadIO m, IsAlignment a) => O.MethodInfo AlignmentSetPaddingMethodInfo a signature where
+    overloadedMethod _ = alignmentSetPadding
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Alignment.hs-boot b/GI/Gtk/Objects/Alignment.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Alignment.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Alignment where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Alignment = Alignment (ManagedPtr Alignment)
+instance GObject Alignment where
+class (GObject o, O.IsDescendantOf Alignment o) => IsAlignment o
+instance (GObject o, O.IsDescendantOf Alignment o) => IsAlignment o
+instance O.HasParentTypes Alignment
+#if ENABLE_OVERLOADING
+data AlignmentBottomPaddingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentLeftPaddingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentRightPaddingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentTopPaddingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentXalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentXscalePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentYalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentYscalePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentGetPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AlignmentSetPaddingMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/AppChooserButton.hs b/GI/Gtk/Objects/AppChooserButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AppChooserButton.hs
@@ -0,0 +1,1290 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' is a widget that lets the user select
+an application. It implements the 'GI.Gtk.Interfaces.AppChooser.AppChooser' interface.
+
+Initially, a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' selects the first application
+in its list, which will either be the most-recently used application
+or, if 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-default-item/@ is 'True', the
+default application.
+
+The list of applications shown in a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' includes
+the recommended applications for the given content type. When
+'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-default-item/@ is set, the default application
+is also included. To let the user chooser other applications,
+you can set the 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-dialog-item/@ property,
+which allows to open a full 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog'.
+
+It is possible to add custom items to the list, using
+'GI.Gtk.Objects.AppChooserButton.appChooserButtonAppendCustomItem'. These items cause
+the 'GI.Gtk.Objects.AppChooserButton.AppChooserButton'::@/custom-item-activated/@ signal to be
+emitted when they are selected.
+
+To track changes in the selected application, use the
+'GI.Gtk.Objects.ComboBox.ComboBox'::@/changed/@ signal.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.AppChooserButton
+    ( 
+
+-- * Exported types
+    AppChooserButton(..)                    ,
+    IsAppChooserButton                      ,
+    toAppChooserButton                      ,
+    noAppChooserButton                      ,
+
+
+ -- * Methods
+-- ** appendCustomItem #method:appendCustomItem#
+
+#if ENABLE_OVERLOADING
+    AppChooserButtonAppendCustomItemMethodInfo,
+#endif
+    appChooserButtonAppendCustomItem        ,
+
+
+-- ** appendSeparator #method:appendSeparator#
+
+#if ENABLE_OVERLOADING
+    AppChooserButtonAppendSeparatorMethodInfo,
+#endif
+    appChooserButtonAppendSeparator         ,
+
+
+-- ** getHeading #method:getHeading#
+
+#if ENABLE_OVERLOADING
+    AppChooserButtonGetHeadingMethodInfo    ,
+#endif
+    appChooserButtonGetHeading              ,
+
+
+-- ** getShowDefaultItem #method:getShowDefaultItem#
+
+#if ENABLE_OVERLOADING
+    AppChooserButtonGetShowDefaultItemMethodInfo,
+#endif
+    appChooserButtonGetShowDefaultItem      ,
+
+
+-- ** getShowDialogItem #method:getShowDialogItem#
+
+#if ENABLE_OVERLOADING
+    AppChooserButtonGetShowDialogItemMethodInfo,
+#endif
+    appChooserButtonGetShowDialogItem       ,
+
+
+-- ** new #method:new#
+
+    appChooserButtonNew                     ,
+
+
+-- ** setActiveCustomItem #method:setActiveCustomItem#
+
+#if ENABLE_OVERLOADING
+    AppChooserButtonSetActiveCustomItemMethodInfo,
+#endif
+    appChooserButtonSetActiveCustomItem     ,
+
+
+-- ** setHeading #method:setHeading#
+
+#if ENABLE_OVERLOADING
+    AppChooserButtonSetHeadingMethodInfo    ,
+#endif
+    appChooserButtonSetHeading              ,
+
+
+-- ** setShowDefaultItem #method:setShowDefaultItem#
+
+#if ENABLE_OVERLOADING
+    AppChooserButtonSetShowDefaultItemMethodInfo,
+#endif
+    appChooserButtonSetShowDefaultItem      ,
+
+
+-- ** setShowDialogItem #method:setShowDialogItem#
+
+#if ENABLE_OVERLOADING
+    AppChooserButtonSetShowDialogItemMethodInfo,
+#endif
+    appChooserButtonSetShowDialogItem       ,
+
+
+
+
+ -- * Properties
+-- ** heading #attr:heading#
+{- | The text to show at the top of the dialog that can be
+opened from the button. The string may contain Pango markup.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserButtonHeadingPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserButtonHeading                 ,
+#endif
+    constructAppChooserButtonHeading        ,
+    getAppChooserButtonHeading              ,
+    setAppChooserButtonHeading              ,
+
+
+-- ** showDefaultItem #attr:showDefaultItem#
+{- | The 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-default-item/@ property determines
+whether the dropdown menu should show the default application
+on top for the provided content type.
+
+/Since: 3.2/
+-}
+#if ENABLE_OVERLOADING
+    AppChooserButtonShowDefaultItemPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserButtonShowDefaultItem         ,
+#endif
+    constructAppChooserButtonShowDefaultItem,
+    getAppChooserButtonShowDefaultItem      ,
+    setAppChooserButtonShowDefaultItem      ,
+
+
+-- ** showDialogItem #attr:showDialogItem#
+{- | The 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-dialog-item/@ property determines
+whether the dropdown menu should show an item that triggers
+a 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' when clicked.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserButtonShowDialogItemPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserButtonShowDialogItem          ,
+#endif
+    constructAppChooserButtonShowDialogItem ,
+    getAppChooserButtonShowDialogItem       ,
+    setAppChooserButtonShowDialogItem       ,
+
+
+
+
+ -- * Signals
+-- ** customItemActivated #signal:customItemActivated#
+
+    AppChooserButtonCustomItemActivatedCallback,
+#if ENABLE_OVERLOADING
+    AppChooserButtonCustomItemActivatedSignalInfo,
+#endif
+    C_AppChooserButtonCustomItemActivatedCallback,
+    afterAppChooserButtonCustomItemActivated,
+    genClosure_AppChooserButtonCustomItemActivated,
+    mk_AppChooserButtonCustomItemActivatedCallback,
+    noAppChooserButtonCustomItemActivatedCallback,
+    onAppChooserButtonCustomItemActivated   ,
+    wrap_AppChooserButtonCustomItemActivatedCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.AppChooser as Gtk.AppChooser
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellEditable as Gtk.CellEditable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ComboBox as Gtk.ComboBox
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype AppChooserButton = AppChooserButton (ManagedPtr AppChooserButton)
+foreign import ccall "gtk_app_chooser_button_get_type"
+    c_gtk_app_chooser_button_get_type :: IO GType
+
+instance GObject AppChooserButton where
+    gobjectType = c_gtk_app_chooser_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `AppChooserButton`, for instance with `toAppChooserButton`.
+class (GObject o, O.IsDescendantOf AppChooserButton o) => IsAppChooserButton o
+instance (GObject o, O.IsDescendantOf AppChooserButton o) => IsAppChooserButton o
+
+instance O.HasParentTypes AppChooserButton
+type instance O.ParentTypes AppChooserButton = '[Gtk.ComboBox.ComboBox, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.AppChooser.AppChooser, Gtk.Buildable.Buildable, Gtk.CellEditable.CellEditable, Gtk.CellLayout.CellLayout]
+
+-- | Cast to `AppChooserButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAppChooserButton :: (MonadIO m, IsAppChooserButton o) => o -> m AppChooserButton
+toAppChooserButton = liftIO . unsafeCastTo AppChooserButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AppChooserButton`.
+noAppChooserButton :: Maybe AppChooserButton
+noAppChooserButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAppChooserButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAppChooserButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveAppChooserButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveAppChooserButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveAppChooserButtonMethod "addAttribute" o = Gtk.CellLayout.CellLayoutAddAttributeMethodInfo
+    ResolveAppChooserButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveAppChooserButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveAppChooserButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveAppChooserButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveAppChooserButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveAppChooserButtonMethod "appendCustomItem" o = AppChooserButtonAppendCustomItemMethodInfo
+    ResolveAppChooserButtonMethod "appendSeparator" o = AppChooserButtonAppendSeparatorMethodInfo
+    ResolveAppChooserButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAppChooserButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAppChooserButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveAppChooserButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveAppChooserButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveAppChooserButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveAppChooserButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveAppChooserButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveAppChooserButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveAppChooserButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveAppChooserButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveAppChooserButtonMethod "clear" o = Gtk.CellLayout.CellLayoutClearMethodInfo
+    ResolveAppChooserButtonMethod "clearAttributes" o = Gtk.CellLayout.CellLayoutClearAttributesMethodInfo
+    ResolveAppChooserButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveAppChooserButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveAppChooserButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveAppChooserButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveAppChooserButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveAppChooserButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveAppChooserButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveAppChooserButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveAppChooserButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveAppChooserButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveAppChooserButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveAppChooserButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveAppChooserButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveAppChooserButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveAppChooserButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveAppChooserButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveAppChooserButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveAppChooserButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveAppChooserButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveAppChooserButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveAppChooserButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveAppChooserButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveAppChooserButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveAppChooserButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveAppChooserButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveAppChooserButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveAppChooserButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveAppChooserButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveAppChooserButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveAppChooserButtonMethod "editingDone" o = Gtk.CellEditable.CellEditableEditingDoneMethodInfo
+    ResolveAppChooserButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveAppChooserButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveAppChooserButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveAppChooserButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveAppChooserButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAppChooserButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveAppChooserButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveAppChooserButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAppChooserButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAppChooserButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveAppChooserButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveAppChooserButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveAppChooserButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveAppChooserButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveAppChooserButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveAppChooserButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveAppChooserButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveAppChooserButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveAppChooserButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveAppChooserButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveAppChooserButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveAppChooserButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveAppChooserButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveAppChooserButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveAppChooserButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveAppChooserButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveAppChooserButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveAppChooserButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveAppChooserButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveAppChooserButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAppChooserButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveAppChooserButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveAppChooserButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveAppChooserButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveAppChooserButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveAppChooserButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveAppChooserButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveAppChooserButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveAppChooserButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveAppChooserButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveAppChooserButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveAppChooserButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveAppChooserButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveAppChooserButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveAppChooserButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveAppChooserButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveAppChooserButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveAppChooserButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAppChooserButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAppChooserButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveAppChooserButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveAppChooserButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveAppChooserButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveAppChooserButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveAppChooserButtonMethod "packEnd" o = Gtk.CellLayout.CellLayoutPackEndMethodInfo
+    ResolveAppChooserButtonMethod "packStart" o = Gtk.CellLayout.CellLayoutPackStartMethodInfo
+    ResolveAppChooserButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveAppChooserButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveAppChooserButtonMethod "popdown" o = Gtk.ComboBox.ComboBoxPopdownMethodInfo
+    ResolveAppChooserButtonMethod "popup" o = Gtk.ComboBox.ComboBoxPopupMethodInfo
+    ResolveAppChooserButtonMethod "popupForDevice" o = Gtk.ComboBox.ComboBoxPopupForDeviceMethodInfo
+    ResolveAppChooserButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveAppChooserButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveAppChooserButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveAppChooserButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveAppChooserButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveAppChooserButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveAppChooserButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveAppChooserButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveAppChooserButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveAppChooserButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAppChooserButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAppChooserButtonMethod "refresh" o = Gtk.AppChooser.AppChooserRefreshMethodInfo
+    ResolveAppChooserButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveAppChooserButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveAppChooserButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveAppChooserButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveAppChooserButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveAppChooserButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveAppChooserButtonMethod "removeWidget" o = Gtk.CellEditable.CellEditableRemoveWidgetMethodInfo
+    ResolveAppChooserButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveAppChooserButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveAppChooserButtonMethod "reorder" o = Gtk.CellLayout.CellLayoutReorderMethodInfo
+    ResolveAppChooserButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveAppChooserButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveAppChooserButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveAppChooserButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveAppChooserButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAppChooserButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveAppChooserButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveAppChooserButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveAppChooserButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveAppChooserButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveAppChooserButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveAppChooserButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveAppChooserButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveAppChooserButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveAppChooserButtonMethod "startEditing" o = Gtk.CellEditable.CellEditableStartEditingMethodInfo
+    ResolveAppChooserButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAppChooserButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAppChooserButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveAppChooserButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveAppChooserButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveAppChooserButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAppChooserButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveAppChooserButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveAppChooserButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveAppChooserButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveAppChooserButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveAppChooserButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAppChooserButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveAppChooserButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveAppChooserButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveAppChooserButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAppChooserButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveAppChooserButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveAppChooserButtonMethod "getActive" o = Gtk.ComboBox.ComboBoxGetActiveMethodInfo
+    ResolveAppChooserButtonMethod "getActiveId" o = Gtk.ComboBox.ComboBoxGetActiveIdMethodInfo
+    ResolveAppChooserButtonMethod "getActiveIter" o = Gtk.ComboBox.ComboBoxGetActiveIterMethodInfo
+    ResolveAppChooserButtonMethod "getAddTearoffs" o = Gtk.ComboBox.ComboBoxGetAddTearoffsMethodInfo
+    ResolveAppChooserButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveAppChooserButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveAppChooserButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveAppChooserButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveAppChooserButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveAppChooserButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveAppChooserButtonMethod "getAppInfo" o = Gtk.AppChooser.AppChooserGetAppInfoMethodInfo
+    ResolveAppChooserButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveAppChooserButtonMethod "getArea" o = Gtk.CellLayout.CellLayoutGetAreaMethodInfo
+    ResolveAppChooserButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveAppChooserButtonMethod "getButtonSensitivity" o = Gtk.ComboBox.ComboBoxGetButtonSensitivityMethodInfo
+    ResolveAppChooserButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveAppChooserButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveAppChooserButtonMethod "getCells" o = Gtk.CellLayout.CellLayoutGetCellsMethodInfo
+    ResolveAppChooserButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveAppChooserButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveAppChooserButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveAppChooserButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveAppChooserButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveAppChooserButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveAppChooserButtonMethod "getColumnSpanColumn" o = Gtk.ComboBox.ComboBoxGetColumnSpanColumnMethodInfo
+    ResolveAppChooserButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveAppChooserButtonMethod "getContentType" o = Gtk.AppChooser.AppChooserGetContentTypeMethodInfo
+    ResolveAppChooserButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAppChooserButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveAppChooserButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveAppChooserButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveAppChooserButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveAppChooserButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveAppChooserButtonMethod "getEntryTextColumn" o = Gtk.ComboBox.ComboBoxGetEntryTextColumnMethodInfo
+    ResolveAppChooserButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveAppChooserButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveAppChooserButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveAppChooserButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveAppChooserButtonMethod "getFocusOnClick" o = Gtk.ComboBox.ComboBoxGetFocusOnClickMethodInfo
+    ResolveAppChooserButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveAppChooserButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveAppChooserButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveAppChooserButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveAppChooserButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveAppChooserButtonMethod "getHasEntry" o = Gtk.ComboBox.ComboBoxGetHasEntryMethodInfo
+    ResolveAppChooserButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveAppChooserButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveAppChooserButtonMethod "getHeading" o = AppChooserButtonGetHeadingMethodInfo
+    ResolveAppChooserButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveAppChooserButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveAppChooserButtonMethod "getIdColumn" o = Gtk.ComboBox.ComboBoxGetIdColumnMethodInfo
+    ResolveAppChooserButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveAppChooserButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveAppChooserButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveAppChooserButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveAppChooserButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveAppChooserButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveAppChooserButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveAppChooserButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveAppChooserButtonMethod "getModel" o = Gtk.ComboBox.ComboBoxGetModelMethodInfo
+    ResolveAppChooserButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveAppChooserButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveAppChooserButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveAppChooserButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveAppChooserButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveAppChooserButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveAppChooserButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveAppChooserButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveAppChooserButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveAppChooserButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveAppChooserButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveAppChooserButtonMethod "getPopupAccessible" o = Gtk.ComboBox.ComboBoxGetPopupAccessibleMethodInfo
+    ResolveAppChooserButtonMethod "getPopupFixedWidth" o = Gtk.ComboBox.ComboBoxGetPopupFixedWidthMethodInfo
+    ResolveAppChooserButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveAppChooserButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveAppChooserButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveAppChooserButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveAppChooserButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveAppChooserButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveAppChooserButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAppChooserButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAppChooserButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveAppChooserButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveAppChooserButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveAppChooserButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveAppChooserButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveAppChooserButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveAppChooserButtonMethod "getRowSpanColumn" o = Gtk.ComboBox.ComboBoxGetRowSpanColumnMethodInfo
+    ResolveAppChooserButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveAppChooserButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveAppChooserButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveAppChooserButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveAppChooserButtonMethod "getShowDefaultItem" o = AppChooserButtonGetShowDefaultItemMethodInfo
+    ResolveAppChooserButtonMethod "getShowDialogItem" o = AppChooserButtonGetShowDialogItemMethodInfo
+    ResolveAppChooserButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveAppChooserButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveAppChooserButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveAppChooserButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveAppChooserButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveAppChooserButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveAppChooserButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveAppChooserButtonMethod "getTitle" o = Gtk.ComboBox.ComboBoxGetTitleMethodInfo
+    ResolveAppChooserButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveAppChooserButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveAppChooserButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveAppChooserButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveAppChooserButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveAppChooserButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveAppChooserButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveAppChooserButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveAppChooserButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveAppChooserButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveAppChooserButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveAppChooserButtonMethod "getWrapWidth" o = Gtk.ComboBox.ComboBoxGetWrapWidthMethodInfo
+    ResolveAppChooserButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveAppChooserButtonMethod "setActive" o = Gtk.ComboBox.ComboBoxSetActiveMethodInfo
+    ResolveAppChooserButtonMethod "setActiveCustomItem" o = AppChooserButtonSetActiveCustomItemMethodInfo
+    ResolveAppChooserButtonMethod "setActiveId" o = Gtk.ComboBox.ComboBoxSetActiveIdMethodInfo
+    ResolveAppChooserButtonMethod "setActiveIter" o = Gtk.ComboBox.ComboBoxSetActiveIterMethodInfo
+    ResolveAppChooserButtonMethod "setAddTearoffs" o = Gtk.ComboBox.ComboBoxSetAddTearoffsMethodInfo
+    ResolveAppChooserButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveAppChooserButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveAppChooserButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveAppChooserButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveAppChooserButtonMethod "setButtonSensitivity" o = Gtk.ComboBox.ComboBoxSetButtonSensitivityMethodInfo
+    ResolveAppChooserButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveAppChooserButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveAppChooserButtonMethod "setCellDataFunc" o = Gtk.CellLayout.CellLayoutSetCellDataFuncMethodInfo
+    ResolveAppChooserButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveAppChooserButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveAppChooserButtonMethod "setColumnSpanColumn" o = Gtk.ComboBox.ComboBoxSetColumnSpanColumnMethodInfo
+    ResolveAppChooserButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveAppChooserButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAppChooserButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveAppChooserButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveAppChooserButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveAppChooserButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveAppChooserButtonMethod "setEntryTextColumn" o = Gtk.ComboBox.ComboBoxSetEntryTextColumnMethodInfo
+    ResolveAppChooserButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveAppChooserButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveAppChooserButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveAppChooserButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveAppChooserButtonMethod "setFocusOnClick" o = Gtk.ComboBox.ComboBoxSetFocusOnClickMethodInfo
+    ResolveAppChooserButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveAppChooserButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveAppChooserButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveAppChooserButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveAppChooserButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveAppChooserButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveAppChooserButtonMethod "setHeading" o = AppChooserButtonSetHeadingMethodInfo
+    ResolveAppChooserButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveAppChooserButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveAppChooserButtonMethod "setIdColumn" o = Gtk.ComboBox.ComboBoxSetIdColumnMethodInfo
+    ResolveAppChooserButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveAppChooserButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveAppChooserButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveAppChooserButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveAppChooserButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveAppChooserButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveAppChooserButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveAppChooserButtonMethod "setModel" o = Gtk.ComboBox.ComboBoxSetModelMethodInfo
+    ResolveAppChooserButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveAppChooserButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveAppChooserButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveAppChooserButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveAppChooserButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveAppChooserButtonMethod "setPopupFixedWidth" o = Gtk.ComboBox.ComboBoxSetPopupFixedWidthMethodInfo
+    ResolveAppChooserButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAppChooserButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveAppChooserButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveAppChooserButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveAppChooserButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveAppChooserButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveAppChooserButtonMethod "setRowSeparatorFunc" o = Gtk.ComboBox.ComboBoxSetRowSeparatorFuncMethodInfo
+    ResolveAppChooserButtonMethod "setRowSpanColumn" o = Gtk.ComboBox.ComboBoxSetRowSpanColumnMethodInfo
+    ResolveAppChooserButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveAppChooserButtonMethod "setShowDefaultItem" o = AppChooserButtonSetShowDefaultItemMethodInfo
+    ResolveAppChooserButtonMethod "setShowDialogItem" o = AppChooserButtonSetShowDialogItemMethodInfo
+    ResolveAppChooserButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveAppChooserButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveAppChooserButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveAppChooserButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveAppChooserButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveAppChooserButtonMethod "setTitle" o = Gtk.ComboBox.ComboBoxSetTitleMethodInfo
+    ResolveAppChooserButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveAppChooserButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveAppChooserButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveAppChooserButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveAppChooserButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveAppChooserButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveAppChooserButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveAppChooserButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveAppChooserButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveAppChooserButtonMethod "setWrapWidth" o = Gtk.ComboBox.ComboBoxSetWrapWidthMethodInfo
+    ResolveAppChooserButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAppChooserButtonMethod t AppChooserButton, O.MethodInfo info AppChooserButton p) => OL.IsLabel t (AppChooserButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal AppChooserButton::custom-item-activated
+{- |
+Emitted when a custom item, previously added with
+'GI.Gtk.Objects.AppChooserButton.appChooserButtonAppendCustomItem', is activated from the
+dropdown menu.
+-}
+type AppChooserButtonCustomItemActivatedCallback =
+    T.Text
+    {- ^ /@itemName@/: the name of the activated item -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AppChooserButtonCustomItemActivatedCallback`@.
+noAppChooserButtonCustomItemActivatedCallback :: Maybe AppChooserButtonCustomItemActivatedCallback
+noAppChooserButtonCustomItemActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AppChooserButtonCustomItemActivatedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AppChooserButtonCustomItemActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_AppChooserButtonCustomItemActivatedCallback :: C_AppChooserButtonCustomItemActivatedCallback -> IO (FunPtr C_AppChooserButtonCustomItemActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AppChooserButtonCustomItemActivated :: MonadIO m => AppChooserButtonCustomItemActivatedCallback -> m (GClosure C_AppChooserButtonCustomItemActivatedCallback)
+genClosure_AppChooserButtonCustomItemActivated cb = liftIO $ do
+    let cb' = wrap_AppChooserButtonCustomItemActivatedCallback cb
+    mk_AppChooserButtonCustomItemActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AppChooserButtonCustomItemActivatedCallback` into a `C_AppChooserButtonCustomItemActivatedCallback`.
+wrap_AppChooserButtonCustomItemActivatedCallback ::
+    AppChooserButtonCustomItemActivatedCallback ->
+    C_AppChooserButtonCustomItemActivatedCallback
+wrap_AppChooserButtonCustomItemActivatedCallback _cb _ itemName _ = do
+    itemName' <- cstringToText itemName
+    _cb  itemName'
+
+
+{- |
+Connect a signal handler for the “@custom-item-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' appChooserButton #customItemActivated callback
+@
+-}
+onAppChooserButtonCustomItemActivated :: (IsAppChooserButton a, MonadIO m) => a -> AppChooserButtonCustomItemActivatedCallback -> m SignalHandlerId
+onAppChooserButtonCustomItemActivated obj cb = liftIO $ do
+    let cb' = wrap_AppChooserButtonCustomItemActivatedCallback cb
+    cb'' <- mk_AppChooserButtonCustomItemActivatedCallback cb'
+    connectSignalFunPtr obj "custom-item-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@custom-item-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' appChooserButton #customItemActivated callback
+@
+-}
+afterAppChooserButtonCustomItemActivated :: (IsAppChooserButton a, MonadIO m) => a -> AppChooserButtonCustomItemActivatedCallback -> m SignalHandlerId
+afterAppChooserButtonCustomItemActivated obj cb = liftIO $ do
+    let cb' = wrap_AppChooserButtonCustomItemActivatedCallback cb
+    cb'' <- mk_AppChooserButtonCustomItemActivatedCallback cb'
+    connectSignalFunPtr obj "custom-item-activated" cb'' SignalConnectAfter
+
+
+-- VVV Prop "heading"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@heading@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserButton #heading
+@
+-}
+getAppChooserButtonHeading :: (MonadIO m, IsAppChooserButton o) => o -> m (Maybe T.Text)
+getAppChooserButtonHeading obj = liftIO $ B.Properties.getObjectPropertyString obj "heading"
+
+{- |
+Set the value of the “@heading@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserButton [ #heading 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserButtonHeading :: (MonadIO m, IsAppChooserButton o) => o -> T.Text -> m ()
+setAppChooserButtonHeading obj val = liftIO $ B.Properties.setObjectPropertyString obj "heading" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@heading@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserButtonHeading :: (IsAppChooserButton o) => T.Text -> IO (GValueConstruct o)
+constructAppChooserButtonHeading val = B.Properties.constructObjectPropertyString "heading" (Just val)
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonHeadingPropertyInfo
+instance AttrInfo AppChooserButtonHeadingPropertyInfo where
+    type AttrAllowedOps AppChooserButtonHeadingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserButtonHeadingPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AppChooserButtonHeadingPropertyInfo = IsAppChooserButton
+    type AttrGetType AppChooserButtonHeadingPropertyInfo = (Maybe T.Text)
+    type AttrLabel AppChooserButtonHeadingPropertyInfo = "heading"
+    type AttrOrigin AppChooserButtonHeadingPropertyInfo = AppChooserButton
+    attrGet _ = getAppChooserButtonHeading
+    attrSet _ = setAppChooserButtonHeading
+    attrConstruct _ = constructAppChooserButtonHeading
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-default-item"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-default-item@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserButton #showDefaultItem
+@
+-}
+getAppChooserButtonShowDefaultItem :: (MonadIO m, IsAppChooserButton o) => o -> m Bool
+getAppChooserButtonShowDefaultItem obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-default-item"
+
+{- |
+Set the value of the “@show-default-item@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserButton [ #showDefaultItem 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserButtonShowDefaultItem :: (MonadIO m, IsAppChooserButton o) => o -> Bool -> m ()
+setAppChooserButtonShowDefaultItem obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-default-item" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-default-item@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserButtonShowDefaultItem :: (IsAppChooserButton o) => Bool -> IO (GValueConstruct o)
+constructAppChooserButtonShowDefaultItem val = B.Properties.constructObjectPropertyBool "show-default-item" val
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonShowDefaultItemPropertyInfo
+instance AttrInfo AppChooserButtonShowDefaultItemPropertyInfo where
+    type AttrAllowedOps AppChooserButtonShowDefaultItemPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserButtonShowDefaultItemPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint AppChooserButtonShowDefaultItemPropertyInfo = IsAppChooserButton
+    type AttrGetType AppChooserButtonShowDefaultItemPropertyInfo = Bool
+    type AttrLabel AppChooserButtonShowDefaultItemPropertyInfo = "show-default-item"
+    type AttrOrigin AppChooserButtonShowDefaultItemPropertyInfo = AppChooserButton
+    attrGet _ = getAppChooserButtonShowDefaultItem
+    attrSet _ = setAppChooserButtonShowDefaultItem
+    attrConstruct _ = constructAppChooserButtonShowDefaultItem
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-dialog-item"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-dialog-item@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserButton #showDialogItem
+@
+-}
+getAppChooserButtonShowDialogItem :: (MonadIO m, IsAppChooserButton o) => o -> m Bool
+getAppChooserButtonShowDialogItem obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-dialog-item"
+
+{- |
+Set the value of the “@show-dialog-item@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserButton [ #showDialogItem 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserButtonShowDialogItem :: (MonadIO m, IsAppChooserButton o) => o -> Bool -> m ()
+setAppChooserButtonShowDialogItem obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-dialog-item" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-dialog-item@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserButtonShowDialogItem :: (IsAppChooserButton o) => Bool -> IO (GValueConstruct o)
+constructAppChooserButtonShowDialogItem val = B.Properties.constructObjectPropertyBool "show-dialog-item" val
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonShowDialogItemPropertyInfo
+instance AttrInfo AppChooserButtonShowDialogItemPropertyInfo where
+    type AttrAllowedOps AppChooserButtonShowDialogItemPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserButtonShowDialogItemPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint AppChooserButtonShowDialogItemPropertyInfo = IsAppChooserButton
+    type AttrGetType AppChooserButtonShowDialogItemPropertyInfo = Bool
+    type AttrLabel AppChooserButtonShowDialogItemPropertyInfo = "show-dialog-item"
+    type AttrOrigin AppChooserButtonShowDialogItemPropertyInfo = AppChooserButton
+    attrGet _ = getAppChooserButtonShowDialogItem
+    attrSet _ = setAppChooserButtonShowDialogItem
+    attrConstruct _ = constructAppChooserButtonShowDialogItem
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AppChooserButton
+type instance O.AttributeList AppChooserButton = AppChooserButtonAttributeList
+type AppChooserButtonAttributeList = ('[ '("active", Gtk.ComboBox.ComboBoxActivePropertyInfo), '("activeId", Gtk.ComboBox.ComboBoxActiveIdPropertyInfo), '("addTearoffs", Gtk.ComboBox.ComboBoxAddTearoffsPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("buttonSensitivity", Gtk.ComboBox.ComboBoxButtonSensitivityPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("cellArea", Gtk.ComboBox.ComboBoxCellAreaPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("columnSpanColumn", Gtk.ComboBox.ComboBoxColumnSpanColumnPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("contentType", Gtk.AppChooser.AppChooserContentTypePropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("editingCanceled", Gtk.CellEditable.CellEditableEditingCanceledPropertyInfo), '("entryTextColumn", Gtk.ComboBox.ComboBoxEntryTextColumnPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasEntry", Gtk.ComboBox.ComboBoxHasEntryPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasFrame", Gtk.ComboBox.ComboBoxHasFramePropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heading", AppChooserButtonHeadingPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("idColumn", Gtk.ComboBox.ComboBoxIdColumnPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("model", Gtk.ComboBox.ComboBoxModelPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("popupFixedWidth", Gtk.ComboBox.ComboBoxPopupFixedWidthPropertyInfo), '("popupShown", Gtk.ComboBox.ComboBoxPopupShownPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rowSpanColumn", Gtk.ComboBox.ComboBoxRowSpanColumnPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showDefaultItem", AppChooserButtonShowDefaultItemPropertyInfo), '("showDialogItem", AppChooserButtonShowDialogItemPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tearoffTitle", Gtk.ComboBox.ComboBoxTearoffTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("wrapWidth", Gtk.ComboBox.ComboBoxWrapWidthPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+appChooserButtonHeading :: AttrLabelProxy "heading"
+appChooserButtonHeading = AttrLabelProxy
+
+appChooserButtonShowDefaultItem :: AttrLabelProxy "showDefaultItem"
+appChooserButtonShowDefaultItem = AttrLabelProxy
+
+appChooserButtonShowDialogItem :: AttrLabelProxy "showDialogItem"
+appChooserButtonShowDialogItem = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonCustomItemActivatedSignalInfo
+instance SignalInfo AppChooserButtonCustomItemActivatedSignalInfo where
+    type HaskellCallbackType AppChooserButtonCustomItemActivatedSignalInfo = AppChooserButtonCustomItemActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AppChooserButtonCustomItemActivatedCallback cb
+        cb'' <- mk_AppChooserButtonCustomItemActivatedCallback cb'
+        connectSignalFunPtr obj "custom-item-activated" cb'' connectMode
+
+type instance O.SignalList AppChooserButton = AppChooserButtonSignalList
+type AppChooserButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changed", Gtk.ComboBox.ComboBoxChangedSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("customItemActivated", AppChooserButtonCustomItemActivatedSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("editingDone", Gtk.CellEditable.CellEditableEditingDoneSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("formatEntryText", Gtk.ComboBox.ComboBoxFormatEntryTextSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveActive", Gtk.ComboBox.ComboBoxMoveActiveSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popdown", Gtk.ComboBox.ComboBoxPopdownSignalInfo), '("popup", Gtk.ComboBox.ComboBoxPopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("removeWidget", Gtk.CellEditable.CellEditableRemoveWidgetSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method AppChooserButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the content type to show applications for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_new" gtk_app_chooser_button_new :: 
+    CString ->                              -- content_type : TBasicType TUTF8
+    IO (Ptr AppChooserButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' for applications
+that can handle content of the given type.
+
+/Since: 3.0/
+-}
+appChooserButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@contentType@/: the content type to show applications for -}
+    -> m AppChooserButton
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+appChooserButtonNew contentType = liftIO $ do
+    contentType' <- textToCString contentType
+    result <- gtk_app_chooser_button_new contentType'
+    checkUnexpectedReturnNULL "appChooserButtonNew" result
+    result' <- (newObject AppChooserButton) result
+    freeMem contentType'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AppChooserButton::append_custom_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the custom item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the label for the custom item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon for the custom item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_append_custom_item" gtk_app_chooser_button_append_custom_item :: 
+    Ptr AppChooserButton ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserButton"})
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- label : TBasicType TUTF8
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    IO ()
+
+{- |
+Appends a custom item to the list of applications that is shown
+in the popup; the item name must be unique per-widget.
+Clients can use the provided name as a detail for the
+'GI.Gtk.Objects.AppChooserButton.AppChooserButton'::@/custom-item-activated/@ signal, to add a
+callback for the activation of a particular custom item in the list.
+See also 'GI.Gtk.Objects.AppChooserButton.appChooserButtonAppendSeparator'.
+
+/Since: 3.0/
+-}
+appChooserButtonAppendCustomItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserButton a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+    -> T.Text
+    {- ^ /@name@/: the name of the custom item -}
+    -> T.Text
+    {- ^ /@label@/: the label for the custom item -}
+    -> b
+    {- ^ /@icon@/: the icon for the custom item -}
+    -> m ()
+appChooserButtonAppendCustomItem self name label icon = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    name' <- textToCString name
+    label' <- textToCString label
+    icon' <- unsafeManagedPtrCastPtr icon
+    gtk_app_chooser_button_append_custom_item self' name' label' icon'
+    touchManagedPtr self
+    touchManagedPtr icon
+    freeMem name'
+    freeMem label'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonAppendCustomItemMethodInfo
+instance (signature ~ (T.Text -> T.Text -> b -> m ()), MonadIO m, IsAppChooserButton a, Gio.Icon.IsIcon b) => O.MethodInfo AppChooserButtonAppendCustomItemMethodInfo a signature where
+    overloadedMethod _ = appChooserButtonAppendCustomItem
+
+#endif
+
+-- method AppChooserButton::append_separator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_append_separator" gtk_app_chooser_button_append_separator :: 
+    Ptr AppChooserButton ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserButton"})
+    IO ()
+
+{- |
+Appends a separator to the list of applications that is shown
+in the popup.
+
+/Since: 3.0/
+-}
+appChooserButtonAppendSeparator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserButton a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+    -> m ()
+appChooserButtonAppendSeparator self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    gtk_app_chooser_button_append_separator self'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonAppendSeparatorMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAppChooserButton a) => O.MethodInfo AppChooserButtonAppendSeparatorMethodInfo a signature where
+    overloadedMethod _ = appChooserButtonAppendSeparator
+
+#endif
+
+-- method AppChooserButton::get_heading
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_get_heading" gtk_app_chooser_button_get_heading :: 
+    Ptr AppChooserButton ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserButton"})
+    IO CString
+
+{- |
+Returns the text to display at the top of the dialog.
+-}
+appChooserButtonGetHeading ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserButton a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the text to display at the top of the dialog,
+    or 'Nothing', in which case a default text is displayed -}
+appChooserButtonGetHeading self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_button_get_heading self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonGetHeadingMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsAppChooserButton a) => O.MethodInfo AppChooserButtonGetHeadingMethodInfo a signature where
+    overloadedMethod _ = appChooserButtonGetHeading
+
+#endif
+
+-- method AppChooserButton::get_show_default_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_get_show_default_item" gtk_app_chooser_button_get_show_default_item :: 
+    Ptr AppChooserButton ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserButton"})
+    IO CInt
+
+{- |
+Returns the current value of the 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-default-item/@
+property.
+
+/Since: 3.2/
+-}
+appChooserButtonGetShowDefaultItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserButton a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+    -> m Bool
+    {- ^ __Returns:__ the value of 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-default-item/@ -}
+appChooserButtonGetShowDefaultItem self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_button_get_show_default_item self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonGetShowDefaultItemMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAppChooserButton a) => O.MethodInfo AppChooserButtonGetShowDefaultItemMethodInfo a signature where
+    overloadedMethod _ = appChooserButtonGetShowDefaultItem
+
+#endif
+
+-- method AppChooserButton::get_show_dialog_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_get_show_dialog_item" gtk_app_chooser_button_get_show_dialog_item :: 
+    Ptr AppChooserButton ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserButton"})
+    IO CInt
+
+{- |
+Returns the current value of the 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-dialog-item/@
+property.
+
+/Since: 3.0/
+-}
+appChooserButtonGetShowDialogItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserButton a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+    -> m Bool
+    {- ^ __Returns:__ the value of 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-dialog-item/@ -}
+appChooserButtonGetShowDialogItem self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_button_get_show_dialog_item self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonGetShowDialogItemMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAppChooserButton a) => O.MethodInfo AppChooserButtonGetShowDialogItemMethodInfo a signature where
+    overloadedMethod _ = appChooserButtonGetShowDialogItem
+
+#endif
+
+-- method AppChooserButton::set_active_custom_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the custom item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_set_active_custom_item" gtk_app_chooser_button_set_active_custom_item :: 
+    Ptr AppChooserButton ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserButton"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Selects a custom item previously added with
+'GI.Gtk.Objects.AppChooserButton.appChooserButtonAppendCustomItem'.
+
+Use 'GI.Gtk.Interfaces.AppChooser.appChooserRefresh' to bring the selection
+to its initial state.
+
+/Since: 3.0/
+-}
+appChooserButtonSetActiveCustomItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserButton a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+    -> T.Text
+    {- ^ /@name@/: the name of the custom item -}
+    -> m ()
+appChooserButtonSetActiveCustomItem self name = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    name' <- textToCString name
+    gtk_app_chooser_button_set_active_custom_item self' name'
+    touchManagedPtr self
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonSetActiveCustomItemMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAppChooserButton a) => O.MethodInfo AppChooserButtonSetActiveCustomItemMethodInfo a signature where
+    overloadedMethod _ = appChooserButtonSetActiveCustomItem
+
+#endif
+
+-- method AppChooserButton::set_heading
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "heading", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string containing Pango markup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_set_heading" gtk_app_chooser_button_set_heading :: 
+    Ptr AppChooserButton ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserButton"})
+    CString ->                              -- heading : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text to display at the top of the dialog.
+If the heading is not set, the dialog displays a default text.
+-}
+appChooserButtonSetHeading ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserButton a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+    -> T.Text
+    {- ^ /@heading@/: a string containing Pango markup -}
+    -> m ()
+appChooserButtonSetHeading self heading = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    heading' <- textToCString heading
+    gtk_app_chooser_button_set_heading self' heading'
+    touchManagedPtr self
+    freeMem heading'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonSetHeadingMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAppChooserButton a) => O.MethodInfo AppChooserButtonSetHeadingMethodInfo a signature where
+    overloadedMethod _ = appChooserButtonSetHeading
+
+#endif
+
+-- method AppChooserButton::set_show_default_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for #GtkAppChooserButton:show-default-item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_set_show_default_item" gtk_app_chooser_button_set_show_default_item :: 
+    Ptr AppChooserButton ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserButton"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the dropdown menu of this button should show the
+default application for the given content type at top.
+
+/Since: 3.2/
+-}
+appChooserButtonSetShowDefaultItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserButton a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+    -> Bool
+    {- ^ /@setting@/: the new value for 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-default-item/@ -}
+    -> m ()
+appChooserButtonSetShowDefaultItem self setting = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_app_chooser_button_set_show_default_item self' setting'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonSetShowDefaultItemMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAppChooserButton a) => O.MethodInfo AppChooserButtonSetShowDefaultItemMethodInfo a signature where
+    overloadedMethod _ = appChooserButtonSetShowDefaultItem
+
+#endif
+
+-- method AppChooserButton::set_show_dialog_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for #GtkAppChooserButton:show-dialog-item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_button_set_show_dialog_item" gtk_app_chooser_button_set_show_dialog_item :: 
+    Ptr AppChooserButton ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserButton"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the dropdown menu of this button should show an
+entry to trigger a 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog'.
+
+/Since: 3.0/
+-}
+appChooserButtonSetShowDialogItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserButton a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserButton.AppChooserButton' -}
+    -> Bool
+    {- ^ /@setting@/: the new value for 'GI.Gtk.Objects.AppChooserButton.AppChooserButton':@/show-dialog-item/@ -}
+    -> m ()
+appChooserButtonSetShowDialogItem self setting = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_app_chooser_button_set_show_dialog_item self' setting'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserButtonSetShowDialogItemMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAppChooserButton a) => O.MethodInfo AppChooserButtonSetShowDialogItemMethodInfo a signature where
+    overloadedMethod _ = appChooserButtonSetShowDialogItem
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/AppChooserButton.hs-boot b/GI/Gtk/Objects/AppChooserButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AppChooserButton.hs-boot
@@ -0,0 +1,68 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.AppChooserButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AppChooserButton = AppChooserButton (ManagedPtr AppChooserButton)
+instance GObject AppChooserButton where
+class (GObject o, O.IsDescendantOf AppChooserButton o) => IsAppChooserButton o
+instance (GObject o, O.IsDescendantOf AppChooserButton o) => IsAppChooserButton o
+instance O.HasParentTypes AppChooserButton
+#if ENABLE_OVERLOADING
+data AppChooserButtonHeadingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonShowDefaultItemPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonShowDialogItemPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonCustomItemActivatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonAppendCustomItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonAppendSeparatorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonGetHeadingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonGetShowDefaultItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonGetShowDialogItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonSetActiveCustomItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonSetHeadingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonSetShowDefaultItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserButtonSetShowDialogItemMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/AppChooserDialog.hs b/GI/Gtk/Objects/AppChooserDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AppChooserDialog.hs
@@ -0,0 +1,931 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' shows a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' inside a 'GI.Gtk.Objects.Dialog.Dialog'.
+
+Note that 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' does not have any interesting methods
+of its own. Instead, you should get the embedded 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget'
+using 'GI.Gtk.Objects.AppChooserDialog.appChooserDialogGetWidget' and call its methods if
+the generic 'GI.Gtk.Interfaces.AppChooser.AppChooser' interface is not sufficient for your needs.
+
+To set the heading that is shown above the 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget',
+use 'GI.Gtk.Objects.AppChooserDialog.appChooserDialogSetHeading'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.AppChooserDialog
+    ( 
+
+-- * Exported types
+    AppChooserDialog(..)                    ,
+    IsAppChooserDialog                      ,
+    toAppChooserDialog                      ,
+    noAppChooserDialog                      ,
+
+
+ -- * Methods
+-- ** getHeading #method:getHeading#
+
+#if ENABLE_OVERLOADING
+    AppChooserDialogGetHeadingMethodInfo    ,
+#endif
+    appChooserDialogGetHeading              ,
+
+
+-- ** getWidget #method:getWidget#
+
+#if ENABLE_OVERLOADING
+    AppChooserDialogGetWidgetMethodInfo     ,
+#endif
+    appChooserDialogGetWidget               ,
+
+
+-- ** new #method:new#
+
+    appChooserDialogNew                     ,
+
+
+-- ** newForContentType #method:newForContentType#
+
+    appChooserDialogNewForContentType       ,
+
+
+-- ** setHeading #method:setHeading#
+
+#if ENABLE_OVERLOADING
+    AppChooserDialogSetHeadingMethodInfo    ,
+#endif
+    appChooserDialogSetHeading              ,
+
+
+
+
+ -- * Properties
+-- ** gfile #attr:gfile#
+{- | The GFile used by the 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog'.
+The dialog\'s 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' content type will be guessed from the
+file, if present.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserDialogGfilePropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserDialogGfile                   ,
+#endif
+    constructAppChooserDialogGfile          ,
+    getAppChooserDialogGfile                ,
+
+
+-- ** heading #attr:heading#
+{- | The text to show at the top of the dialog.
+The string may contain Pango markup.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserDialogHeadingPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserDialogHeading                 ,
+#endif
+    constructAppChooserDialogHeading        ,
+    getAppChooserDialogHeading              ,
+    setAppChooserDialogHeading              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.File as Gio.File
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.AppChooser as Gtk.AppChooser
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype AppChooserDialog = AppChooserDialog (ManagedPtr AppChooserDialog)
+foreign import ccall "gtk_app_chooser_dialog_get_type"
+    c_gtk_app_chooser_dialog_get_type :: IO GType
+
+instance GObject AppChooserDialog where
+    gobjectType = c_gtk_app_chooser_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `AppChooserDialog`, for instance with `toAppChooserDialog`.
+class (GObject o, O.IsDescendantOf AppChooserDialog o) => IsAppChooserDialog o
+instance (GObject o, O.IsDescendantOf AppChooserDialog o) => IsAppChooserDialog o
+
+instance O.HasParentTypes AppChooserDialog
+type instance O.ParentTypes AppChooserDialog = '[Gtk.Dialog.Dialog, Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.AppChooser.AppChooser, Gtk.Buildable.Buildable]
+
+-- | Cast to `AppChooserDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAppChooserDialog :: (MonadIO m, IsAppChooserDialog o) => o -> m AppChooserDialog
+toAppChooserDialog = liftIO . unsafeCastTo AppChooserDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AppChooserDialog`.
+noAppChooserDialog :: Maybe AppChooserDialog
+noAppChooserDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAppChooserDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAppChooserDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveAppChooserDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveAppChooserDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveAppChooserDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveAppChooserDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveAppChooserDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveAppChooserDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveAppChooserDialogMethod "addActionWidget" o = Gtk.Dialog.DialogAddActionWidgetMethodInfo
+    ResolveAppChooserDialogMethod "addButton" o = Gtk.Dialog.DialogAddButtonMethodInfo
+    ResolveAppChooserDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveAppChooserDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveAppChooserDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveAppChooserDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveAppChooserDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveAppChooserDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveAppChooserDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveAppChooserDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveAppChooserDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAppChooserDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAppChooserDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveAppChooserDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveAppChooserDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveAppChooserDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveAppChooserDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveAppChooserDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveAppChooserDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveAppChooserDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveAppChooserDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveAppChooserDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveAppChooserDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveAppChooserDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveAppChooserDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveAppChooserDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveAppChooserDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveAppChooserDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveAppChooserDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveAppChooserDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveAppChooserDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveAppChooserDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveAppChooserDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveAppChooserDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveAppChooserDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveAppChooserDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveAppChooserDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveAppChooserDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveAppChooserDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveAppChooserDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveAppChooserDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveAppChooserDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveAppChooserDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveAppChooserDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveAppChooserDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveAppChooserDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveAppChooserDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveAppChooserDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveAppChooserDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveAppChooserDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveAppChooserDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveAppChooserDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveAppChooserDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveAppChooserDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveAppChooserDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveAppChooserDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveAppChooserDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAppChooserDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveAppChooserDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveAppChooserDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAppChooserDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveAppChooserDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveAppChooserDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAppChooserDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveAppChooserDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveAppChooserDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveAppChooserDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveAppChooserDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveAppChooserDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveAppChooserDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveAppChooserDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveAppChooserDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveAppChooserDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveAppChooserDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveAppChooserDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveAppChooserDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveAppChooserDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveAppChooserDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveAppChooserDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveAppChooserDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveAppChooserDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveAppChooserDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveAppChooserDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveAppChooserDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveAppChooserDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveAppChooserDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveAppChooserDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveAppChooserDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAppChooserDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveAppChooserDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveAppChooserDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveAppChooserDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveAppChooserDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveAppChooserDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveAppChooserDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveAppChooserDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveAppChooserDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveAppChooserDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveAppChooserDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveAppChooserDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveAppChooserDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveAppChooserDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveAppChooserDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveAppChooserDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveAppChooserDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveAppChooserDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveAppChooserDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveAppChooserDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveAppChooserDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAppChooserDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAppChooserDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveAppChooserDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveAppChooserDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveAppChooserDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveAppChooserDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveAppChooserDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveAppChooserDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveAppChooserDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveAppChooserDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveAppChooserDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveAppChooserDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveAppChooserDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveAppChooserDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveAppChooserDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveAppChooserDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveAppChooserDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveAppChooserDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveAppChooserDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveAppChooserDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveAppChooserDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveAppChooserDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAppChooserDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAppChooserDialogMethod "refresh" o = Gtk.AppChooser.AppChooserRefreshMethodInfo
+    ResolveAppChooserDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveAppChooserDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveAppChooserDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveAppChooserDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveAppChooserDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveAppChooserDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveAppChooserDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveAppChooserDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveAppChooserDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveAppChooserDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveAppChooserDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveAppChooserDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveAppChooserDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveAppChooserDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveAppChooserDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveAppChooserDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveAppChooserDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveAppChooserDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveAppChooserDialogMethod "response" o = Gtk.Dialog.DialogResponseMethodInfo
+    ResolveAppChooserDialogMethod "run" o = Gtk.Dialog.DialogRunMethodInfo
+    ResolveAppChooserDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAppChooserDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveAppChooserDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveAppChooserDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveAppChooserDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveAppChooserDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveAppChooserDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveAppChooserDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveAppChooserDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveAppChooserDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveAppChooserDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAppChooserDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAppChooserDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveAppChooserDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveAppChooserDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveAppChooserDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveAppChooserDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAppChooserDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveAppChooserDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveAppChooserDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveAppChooserDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveAppChooserDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveAppChooserDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveAppChooserDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveAppChooserDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAppChooserDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveAppChooserDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveAppChooserDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveAppChooserDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveAppChooserDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAppChooserDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveAppChooserDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveAppChooserDialogMethod "getActionArea" o = Gtk.Dialog.DialogGetActionAreaMethodInfo
+    ResolveAppChooserDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveAppChooserDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveAppChooserDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveAppChooserDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveAppChooserDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveAppChooserDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveAppChooserDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveAppChooserDialogMethod "getAppInfo" o = Gtk.AppChooser.AppChooserGetAppInfoMethodInfo
+    ResolveAppChooserDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveAppChooserDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveAppChooserDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveAppChooserDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveAppChooserDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveAppChooserDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveAppChooserDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveAppChooserDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveAppChooserDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveAppChooserDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveAppChooserDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveAppChooserDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveAppChooserDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveAppChooserDialogMethod "getContentArea" o = Gtk.Dialog.DialogGetContentAreaMethodInfo
+    ResolveAppChooserDialogMethod "getContentType" o = Gtk.AppChooser.AppChooserGetContentTypeMethodInfo
+    ResolveAppChooserDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAppChooserDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveAppChooserDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveAppChooserDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveAppChooserDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveAppChooserDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveAppChooserDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveAppChooserDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveAppChooserDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveAppChooserDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveAppChooserDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveAppChooserDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveAppChooserDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveAppChooserDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveAppChooserDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveAppChooserDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveAppChooserDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveAppChooserDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveAppChooserDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveAppChooserDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveAppChooserDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveAppChooserDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveAppChooserDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveAppChooserDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveAppChooserDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveAppChooserDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveAppChooserDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveAppChooserDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveAppChooserDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveAppChooserDialogMethod "getHeaderBar" o = Gtk.Dialog.DialogGetHeaderBarMethodInfo
+    ResolveAppChooserDialogMethod "getHeading" o = AppChooserDialogGetHeadingMethodInfo
+    ResolveAppChooserDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveAppChooserDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveAppChooserDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveAppChooserDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveAppChooserDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveAppChooserDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveAppChooserDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveAppChooserDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveAppChooserDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveAppChooserDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveAppChooserDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveAppChooserDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveAppChooserDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveAppChooserDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveAppChooserDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveAppChooserDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveAppChooserDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveAppChooserDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveAppChooserDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveAppChooserDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveAppChooserDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveAppChooserDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveAppChooserDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveAppChooserDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveAppChooserDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveAppChooserDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveAppChooserDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveAppChooserDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveAppChooserDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveAppChooserDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveAppChooserDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveAppChooserDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveAppChooserDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveAppChooserDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveAppChooserDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveAppChooserDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAppChooserDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAppChooserDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveAppChooserDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveAppChooserDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveAppChooserDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveAppChooserDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveAppChooserDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveAppChooserDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveAppChooserDialogMethod "getResponseForWidget" o = Gtk.Dialog.DialogGetResponseForWidgetMethodInfo
+    ResolveAppChooserDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveAppChooserDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveAppChooserDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveAppChooserDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveAppChooserDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveAppChooserDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveAppChooserDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveAppChooserDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveAppChooserDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveAppChooserDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveAppChooserDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveAppChooserDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveAppChooserDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveAppChooserDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveAppChooserDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveAppChooserDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveAppChooserDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveAppChooserDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveAppChooserDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveAppChooserDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveAppChooserDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveAppChooserDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveAppChooserDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveAppChooserDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveAppChooserDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveAppChooserDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveAppChooserDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveAppChooserDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveAppChooserDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveAppChooserDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveAppChooserDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveAppChooserDialogMethod "getWidget" o = AppChooserDialogGetWidgetMethodInfo
+    ResolveAppChooserDialogMethod "getWidgetForResponse" o = Gtk.Dialog.DialogGetWidgetForResponseMethodInfo
+    ResolveAppChooserDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveAppChooserDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveAppChooserDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveAppChooserDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveAppChooserDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveAppChooserDialogMethod "setAlternativeButtonOrderFromArray" o = Gtk.Dialog.DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveAppChooserDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveAppChooserDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveAppChooserDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveAppChooserDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveAppChooserDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveAppChooserDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveAppChooserDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveAppChooserDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveAppChooserDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveAppChooserDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveAppChooserDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAppChooserDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveAppChooserDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveAppChooserDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveAppChooserDialogMethod "setDefaultResponse" o = Gtk.Dialog.DialogSetDefaultResponseMethodInfo
+    ResolveAppChooserDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveAppChooserDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveAppChooserDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveAppChooserDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveAppChooserDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveAppChooserDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveAppChooserDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveAppChooserDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveAppChooserDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveAppChooserDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveAppChooserDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveAppChooserDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveAppChooserDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveAppChooserDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveAppChooserDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveAppChooserDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveAppChooserDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveAppChooserDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveAppChooserDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveAppChooserDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveAppChooserDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveAppChooserDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveAppChooserDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveAppChooserDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveAppChooserDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveAppChooserDialogMethod "setHeading" o = AppChooserDialogSetHeadingMethodInfo
+    ResolveAppChooserDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveAppChooserDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveAppChooserDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveAppChooserDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveAppChooserDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveAppChooserDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveAppChooserDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveAppChooserDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveAppChooserDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveAppChooserDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveAppChooserDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveAppChooserDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveAppChooserDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveAppChooserDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveAppChooserDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveAppChooserDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveAppChooserDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveAppChooserDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveAppChooserDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveAppChooserDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveAppChooserDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveAppChooserDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveAppChooserDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveAppChooserDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveAppChooserDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveAppChooserDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAppChooserDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveAppChooserDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveAppChooserDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveAppChooserDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveAppChooserDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveAppChooserDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveAppChooserDialogMethod "setResponseSensitive" o = Gtk.Dialog.DialogSetResponseSensitiveMethodInfo
+    ResolveAppChooserDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveAppChooserDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveAppChooserDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveAppChooserDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveAppChooserDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveAppChooserDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveAppChooserDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveAppChooserDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveAppChooserDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveAppChooserDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveAppChooserDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveAppChooserDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveAppChooserDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveAppChooserDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveAppChooserDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveAppChooserDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveAppChooserDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveAppChooserDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveAppChooserDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveAppChooserDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveAppChooserDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveAppChooserDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveAppChooserDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveAppChooserDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveAppChooserDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveAppChooserDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveAppChooserDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAppChooserDialogMethod t AppChooserDialog, O.MethodInfo info AppChooserDialog p) => OL.IsLabel t (AppChooserDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "gfile"
+   -- Type: TInterface (Name {namespace = "Gio", name = "File"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gfile@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserDialog #gfile
+@
+-}
+getAppChooserDialogGfile :: (MonadIO m, IsAppChooserDialog o) => o -> m (Maybe Gio.File.File)
+getAppChooserDialogGfile obj = liftIO $ B.Properties.getObjectPropertyObject obj "gfile" Gio.File.File
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gfile@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserDialogGfile :: (IsAppChooserDialog o, Gio.File.IsFile a) => a -> IO (GValueConstruct o)
+constructAppChooserDialogGfile val = B.Properties.constructObjectPropertyObject "gfile" (Just val)
+
+#if ENABLE_OVERLOADING
+data AppChooserDialogGfilePropertyInfo
+instance AttrInfo AppChooserDialogGfilePropertyInfo where
+    type AttrAllowedOps AppChooserDialogGfilePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AppChooserDialogGfilePropertyInfo = Gio.File.IsFile
+    type AttrBaseTypeConstraint AppChooserDialogGfilePropertyInfo = IsAppChooserDialog
+    type AttrGetType AppChooserDialogGfilePropertyInfo = (Maybe Gio.File.File)
+    type AttrLabel AppChooserDialogGfilePropertyInfo = "gfile"
+    type AttrOrigin AppChooserDialogGfilePropertyInfo = AppChooserDialog
+    attrGet _ = getAppChooserDialogGfile
+    attrSet _ = undefined
+    attrConstruct _ = constructAppChooserDialogGfile
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "heading"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@heading@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserDialog #heading
+@
+-}
+getAppChooserDialogHeading :: (MonadIO m, IsAppChooserDialog o) => o -> m (Maybe T.Text)
+getAppChooserDialogHeading obj = liftIO $ B.Properties.getObjectPropertyString obj "heading"
+
+{- |
+Set the value of the “@heading@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserDialog [ #heading 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserDialogHeading :: (MonadIO m, IsAppChooserDialog o) => o -> T.Text -> m ()
+setAppChooserDialogHeading obj val = liftIO $ B.Properties.setObjectPropertyString obj "heading" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@heading@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserDialogHeading :: (IsAppChooserDialog o) => T.Text -> IO (GValueConstruct o)
+constructAppChooserDialogHeading val = B.Properties.constructObjectPropertyString "heading" (Just val)
+
+#if ENABLE_OVERLOADING
+data AppChooserDialogHeadingPropertyInfo
+instance AttrInfo AppChooserDialogHeadingPropertyInfo where
+    type AttrAllowedOps AppChooserDialogHeadingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserDialogHeadingPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AppChooserDialogHeadingPropertyInfo = IsAppChooserDialog
+    type AttrGetType AppChooserDialogHeadingPropertyInfo = (Maybe T.Text)
+    type AttrLabel AppChooserDialogHeadingPropertyInfo = "heading"
+    type AttrOrigin AppChooserDialogHeadingPropertyInfo = AppChooserDialog
+    attrGet _ = getAppChooserDialogHeading
+    attrSet _ = setAppChooserDialogHeading
+    attrConstruct _ = constructAppChooserDialogHeading
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AppChooserDialog
+type instance O.AttributeList AppChooserDialog = AppChooserDialogAttributeList
+type AppChooserDialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("contentType", Gtk.AppChooser.AppChooserContentTypePropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gfile", AppChooserDialogGfilePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heading", AppChooserDialogHeadingPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", Gtk.Dialog.DialogUseHeaderBarPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+appChooserDialogGfile :: AttrLabelProxy "gfile"
+appChooserDialogGfile = AttrLabelProxy
+
+appChooserDialogHeading :: AttrLabelProxy "heading"
+appChooserDialogHeading = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList AppChooserDialog = AppChooserDialogSignalList
+type AppChooserDialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", Gtk.Dialog.DialogCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", Gtk.Dialog.DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method AppChooserDialog::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWindow, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "DialogFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for this dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AppChooserDialog"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_dialog_new" gtk_app_chooser_dialog_new :: 
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "DialogFlags"})
+    Ptr Gio.File.File ->                    -- file : TInterface (Name {namespace = "Gio", name = "File"})
+    IO (Ptr AppChooserDialog)
+
+{- |
+Creates a new 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' for the provided 'GI.Gio.Interfaces.File.File',
+to allow the user to select an application for it.
+
+/Since: 3.0/
+-}
+appChooserDialogNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a, Gio.File.IsFile b) =>
+    Maybe (a)
+    {- ^ /@parent@/: a 'GI.Gtk.Objects.Window.Window', or 'Nothing' -}
+    -> [Gtk.Flags.DialogFlags]
+    {- ^ /@flags@/: flags for this dialog -}
+    -> b
+    {- ^ /@file@/: a 'GI.Gio.Interfaces.File.File' -}
+    -> m AppChooserDialog
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' -}
+appChooserDialogNew parent flags file = liftIO $ do
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    let flags' = gflagsToWord flags
+    file' <- unsafeManagedPtrCastPtr file
+    result <- gtk_app_chooser_dialog_new maybeParent flags' file'
+    checkUnexpectedReturnNULL "appChooserDialogNew" result
+    result' <- (newObject AppChooserDialog) result
+    whenJust parent touchManagedPtr
+    touchManagedPtr file
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AppChooserDialog::new_for_content_type
+-- method type : Constructor
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWindow, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "DialogFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for this dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a content type string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AppChooserDialog"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_dialog_new_for_content_type" gtk_app_chooser_dialog_new_for_content_type :: 
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "DialogFlags"})
+    CString ->                              -- content_type : TBasicType TUTF8
+    IO (Ptr AppChooserDialog)
+
+{- |
+Creates a new 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' for the provided content type,
+to allow the user to select an application for it.
+
+/Since: 3.0/
+-}
+appChooserDialogNewForContentType ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a) =>
+    Maybe (a)
+    {- ^ /@parent@/: a 'GI.Gtk.Objects.Window.Window', or 'Nothing' -}
+    -> [Gtk.Flags.DialogFlags]
+    {- ^ /@flags@/: flags for this dialog -}
+    -> T.Text
+    {- ^ /@contentType@/: a content type string -}
+    -> m AppChooserDialog
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' -}
+appChooserDialogNewForContentType parent flags contentType = liftIO $ do
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    let flags' = gflagsToWord flags
+    contentType' <- textToCString contentType
+    result <- gtk_app_chooser_dialog_new_for_content_type maybeParent flags' contentType'
+    checkUnexpectedReturnNULL "appChooserDialogNewForContentType" result
+    result' <- (newObject AppChooserDialog) result
+    whenJust parent touchManagedPtr
+    freeMem contentType'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AppChooserDialog::get_heading
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_dialog_get_heading" gtk_app_chooser_dialog_get_heading :: 
+    Ptr AppChooserDialog ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserDialog"})
+    IO CString
+
+{- |
+Returns the text to display at the top of the dialog.
+-}
+appChooserDialogGetHeading ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the text to display at the top of the dialog, or 'Nothing', in which
+    case a default text is displayed -}
+appChooserDialogGetHeading self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_dialog_get_heading self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data AppChooserDialogGetHeadingMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsAppChooserDialog a) => O.MethodInfo AppChooserDialogGetHeadingMethodInfo a signature where
+    overloadedMethod _ = appChooserDialogGetHeading
+
+#endif
+
+-- method AppChooserDialog::get_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_dialog_get_widget" gtk_app_chooser_dialog_get_widget :: 
+    Ptr AppChooserDialog ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserDialog"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' of this dialog.
+
+/Since: 3.0/
+-}
+appChooserDialogGetWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' of /@self@/ -}
+appChooserDialogGetWidget self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_dialog_get_widget self'
+    checkUnexpectedReturnNULL "appChooserDialogGetWidget" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserDialogGetWidgetMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsAppChooserDialog a) => O.MethodInfo AppChooserDialogGetWidgetMethodInfo a signature where
+    overloadedMethod _ = appChooserDialogGetWidget
+
+#endif
+
+-- method AppChooserDialog::set_heading
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "heading", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string containing Pango markup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_dialog_set_heading" gtk_app_chooser_dialog_set_heading :: 
+    Ptr AppChooserDialog ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserDialog"})
+    CString ->                              -- heading : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text to display at the top of the dialog.
+If the heading is not set, the dialog displays a default text.
+-}
+appChooserDialogSetHeading ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog' -}
+    -> T.Text
+    {- ^ /@heading@/: a string containing Pango markup -}
+    -> m ()
+appChooserDialogSetHeading self heading = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    heading' <- textToCString heading
+    gtk_app_chooser_dialog_set_heading self' heading'
+    touchManagedPtr self
+    freeMem heading'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserDialogSetHeadingMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAppChooserDialog a) => O.MethodInfo AppChooserDialogSetHeadingMethodInfo a signature where
+    overloadedMethod _ = appChooserDialogSetHeading
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/AppChooserDialog.hs-boot b/GI/Gtk/Objects/AppChooserDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AppChooserDialog.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.AppChooserDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AppChooserDialog = AppChooserDialog (ManagedPtr AppChooserDialog)
+instance GObject AppChooserDialog where
+class (GObject o, O.IsDescendantOf AppChooserDialog o) => IsAppChooserDialog o
+instance (GObject o, O.IsDescendantOf AppChooserDialog o) => IsAppChooserDialog o
+instance O.HasParentTypes AppChooserDialog
+#if ENABLE_OVERLOADING
+data AppChooserDialogGfilePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserDialogHeadingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserDialogGetHeadingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserDialogGetWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserDialogSetHeadingMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/AppChooserWidget.hs b/GI/Gtk/Objects/AppChooserWidget.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AppChooserWidget.hs
@@ -0,0 +1,1781 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' is a widget for selecting applications.
+It is the main building block for 'GI.Gtk.Objects.AppChooserDialog.AppChooserDialog'. Most
+applications only need to use the latter; but you can use
+this widget as part of a larger widget if you have special needs.
+
+'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' offers detailed control over what applications
+are shown, using the
+'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-default/@,
+'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-recommended/@,
+'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-fallback/@,
+'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-other/@ and
+'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-all/@
+properties. See the 'GI.Gtk.Interfaces.AppChooser.AppChooser' documentation for more information
+about these groups of applications.
+
+To keep track of the selected application, use the
+'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget'::@/application-selected/@ and 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget'::@/application-activated/@ signals.
+
+= CSS nodes
+
+GtkAppChooserWidget has a single CSS node with name appchooser.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.AppChooserWidget
+    ( 
+
+-- * Exported types
+    AppChooserWidget(..)                    ,
+    IsAppChooserWidget                      ,
+    toAppChooserWidget                      ,
+    noAppChooserWidget                      ,
+
+
+ -- * Methods
+-- ** getDefaultText #method:getDefaultText#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetGetDefaultTextMethodInfo,
+#endif
+    appChooserWidgetGetDefaultText          ,
+
+
+-- ** getShowAll #method:getShowAll#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetGetShowAllMethodInfo    ,
+#endif
+    appChooserWidgetGetShowAll              ,
+
+
+-- ** getShowDefault #method:getShowDefault#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetGetShowDefaultMethodInfo,
+#endif
+    appChooserWidgetGetShowDefault          ,
+
+
+-- ** getShowFallback #method:getShowFallback#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetGetShowFallbackMethodInfo,
+#endif
+    appChooserWidgetGetShowFallback         ,
+
+
+-- ** getShowOther #method:getShowOther#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetGetShowOtherMethodInfo  ,
+#endif
+    appChooserWidgetGetShowOther            ,
+
+
+-- ** getShowRecommended #method:getShowRecommended#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetGetShowRecommendedMethodInfo,
+#endif
+    appChooserWidgetGetShowRecommended      ,
+
+
+-- ** new #method:new#
+
+    appChooserWidgetNew                     ,
+
+
+-- ** setDefaultText #method:setDefaultText#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetSetDefaultTextMethodInfo,
+#endif
+    appChooserWidgetSetDefaultText          ,
+
+
+-- ** setShowAll #method:setShowAll#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetSetShowAllMethodInfo    ,
+#endif
+    appChooserWidgetSetShowAll              ,
+
+
+-- ** setShowDefault #method:setShowDefault#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetSetShowDefaultMethodInfo,
+#endif
+    appChooserWidgetSetShowDefault          ,
+
+
+-- ** setShowFallback #method:setShowFallback#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetSetShowFallbackMethodInfo,
+#endif
+    appChooserWidgetSetShowFallback         ,
+
+
+-- ** setShowOther #method:setShowOther#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetSetShowOtherMethodInfo  ,
+#endif
+    appChooserWidgetSetShowOther            ,
+
+
+-- ** setShowRecommended #method:setShowRecommended#
+
+#if ENABLE_OVERLOADING
+    AppChooserWidgetSetShowRecommendedMethodInfo,
+#endif
+    appChooserWidgetSetShowRecommended      ,
+
+
+
+
+ -- * Properties
+-- ** defaultText #attr:defaultText#
+{- | The 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/default-text/@ property determines the text
+that appears in the widget when there are no applications for the
+given content type.
+See also 'GI.Gtk.Objects.AppChooserWidget.appChooserWidgetSetDefaultText'.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserWidgetDefaultTextPropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserWidgetDefaultText             ,
+#endif
+    constructAppChooserWidgetDefaultText    ,
+    getAppChooserWidgetDefaultText          ,
+    setAppChooserWidgetDefaultText          ,
+
+
+-- ** showAll #attr:showAll#
+{- | If the 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-all/@ property is 'True', the app
+chooser presents all applications in a single list, without
+subsections for default, recommended or related applications.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserWidgetShowAllPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserWidgetShowAll                 ,
+#endif
+    constructAppChooserWidgetShowAll        ,
+    getAppChooserWidgetShowAll              ,
+    setAppChooserWidgetShowAll              ,
+
+
+-- ** showDefault #attr:showDefault#
+{- | The ::show-default property determines whether the app chooser
+should show the default handler for the content type in a
+separate section. If 'False', the default handler is listed
+among the recommended applications.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserWidgetShowDefaultPropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserWidgetShowDefault             ,
+#endif
+    constructAppChooserWidgetShowDefault    ,
+    getAppChooserWidgetShowDefault          ,
+    setAppChooserWidgetShowDefault          ,
+
+
+-- ** showFallback #attr:showFallback#
+{- | The 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-fallback/@ property determines whether
+the app chooser should show a section for fallback applications.
+If 'False', the fallback applications are listed among the other
+applications.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserWidgetShowFallbackPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserWidgetShowFallback            ,
+#endif
+    constructAppChooserWidgetShowFallback   ,
+    getAppChooserWidgetShowFallback         ,
+    setAppChooserWidgetShowFallback         ,
+
+
+-- ** showOther #attr:showOther#
+{- | The 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-other/@ property determines whether
+the app chooser should show a section for other applications.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserWidgetShowOtherPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserWidgetShowOther               ,
+#endif
+    constructAppChooserWidgetShowOther      ,
+    getAppChooserWidgetShowOther            ,
+    setAppChooserWidgetShowOther            ,
+
+
+-- ** showRecommended #attr:showRecommended#
+{- | The 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-recommended/@ property determines
+whether the app chooser should show a section for recommended
+applications. If 'False', the recommended applications are listed
+among the other applications.
+-}
+#if ENABLE_OVERLOADING
+    AppChooserWidgetShowRecommendedPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    appChooserWidgetShowRecommended         ,
+#endif
+    constructAppChooserWidgetShowRecommended,
+    getAppChooserWidgetShowRecommended      ,
+    setAppChooserWidgetShowRecommended      ,
+
+
+
+
+ -- * Signals
+-- ** applicationActivated #signal:applicationActivated#
+
+    AppChooserWidgetApplicationActivatedCallback,
+#if ENABLE_OVERLOADING
+    AppChooserWidgetApplicationActivatedSignalInfo,
+#endif
+    C_AppChooserWidgetApplicationActivatedCallback,
+    afterAppChooserWidgetApplicationActivated,
+    genClosure_AppChooserWidgetApplicationActivated,
+    mk_AppChooserWidgetApplicationActivatedCallback,
+    noAppChooserWidgetApplicationActivatedCallback,
+    onAppChooserWidgetApplicationActivated  ,
+    wrap_AppChooserWidgetApplicationActivatedCallback,
+
+
+-- ** applicationSelected #signal:applicationSelected#
+
+    AppChooserWidgetApplicationSelectedCallback,
+#if ENABLE_OVERLOADING
+    AppChooserWidgetApplicationSelectedSignalInfo,
+#endif
+    C_AppChooserWidgetApplicationSelectedCallback,
+    afterAppChooserWidgetApplicationSelected,
+    genClosure_AppChooserWidgetApplicationSelected,
+    mk_AppChooserWidgetApplicationSelectedCallback,
+    noAppChooserWidgetApplicationSelectedCallback,
+    onAppChooserWidgetApplicationSelected   ,
+    wrap_AppChooserWidgetApplicationSelectedCallback,
+
+
+-- ** populatePopup #signal:populatePopup#
+
+    AppChooserWidgetPopulatePopupCallback   ,
+#if ENABLE_OVERLOADING
+    AppChooserWidgetPopulatePopupSignalInfo ,
+#endif
+    C_AppChooserWidgetPopulatePopupCallback ,
+    afterAppChooserWidgetPopulatePopup      ,
+    genClosure_AppChooserWidgetPopulatePopup,
+    mk_AppChooserWidgetPopulatePopupCallback,
+    noAppChooserWidgetPopulatePopupCallback ,
+    onAppChooserWidgetPopulatePopup         ,
+    wrap_AppChooserWidgetPopulatePopupCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.AppInfo as Gio.AppInfo
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.AppChooser as Gtk.AppChooser
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Menu as Gtk.Menu
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype AppChooserWidget = AppChooserWidget (ManagedPtr AppChooserWidget)
+foreign import ccall "gtk_app_chooser_widget_get_type"
+    c_gtk_app_chooser_widget_get_type :: IO GType
+
+instance GObject AppChooserWidget where
+    gobjectType = c_gtk_app_chooser_widget_get_type
+    
+
+-- | Type class for types which can be safely cast to `AppChooserWidget`, for instance with `toAppChooserWidget`.
+class (GObject o, O.IsDescendantOf AppChooserWidget o) => IsAppChooserWidget o
+instance (GObject o, O.IsDescendantOf AppChooserWidget o) => IsAppChooserWidget o
+
+instance O.HasParentTypes AppChooserWidget
+type instance O.ParentTypes AppChooserWidget = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.AppChooser.AppChooser, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `AppChooserWidget`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAppChooserWidget :: (MonadIO m, IsAppChooserWidget o) => o -> m AppChooserWidget
+toAppChooserWidget = liftIO . unsafeCastTo AppChooserWidget
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AppChooserWidget`.
+noAppChooserWidget :: Maybe AppChooserWidget
+noAppChooserWidget = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAppChooserWidgetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAppChooserWidgetMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveAppChooserWidgetMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveAppChooserWidgetMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveAppChooserWidgetMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveAppChooserWidgetMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveAppChooserWidgetMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveAppChooserWidgetMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveAppChooserWidgetMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveAppChooserWidgetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAppChooserWidgetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAppChooserWidgetMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveAppChooserWidgetMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveAppChooserWidgetMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveAppChooserWidgetMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveAppChooserWidgetMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveAppChooserWidgetMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveAppChooserWidgetMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveAppChooserWidgetMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveAppChooserWidgetMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveAppChooserWidgetMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveAppChooserWidgetMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveAppChooserWidgetMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveAppChooserWidgetMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveAppChooserWidgetMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveAppChooserWidgetMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveAppChooserWidgetMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveAppChooserWidgetMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveAppChooserWidgetMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveAppChooserWidgetMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveAppChooserWidgetMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveAppChooserWidgetMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveAppChooserWidgetMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveAppChooserWidgetMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveAppChooserWidgetMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveAppChooserWidgetMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveAppChooserWidgetMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveAppChooserWidgetMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveAppChooserWidgetMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveAppChooserWidgetMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveAppChooserWidgetMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveAppChooserWidgetMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveAppChooserWidgetMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveAppChooserWidgetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAppChooserWidgetMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveAppChooserWidgetMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveAppChooserWidgetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAppChooserWidgetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAppChooserWidgetMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveAppChooserWidgetMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveAppChooserWidgetMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveAppChooserWidgetMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveAppChooserWidgetMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveAppChooserWidgetMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveAppChooserWidgetMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveAppChooserWidgetMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveAppChooserWidgetMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveAppChooserWidgetMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveAppChooserWidgetMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveAppChooserWidgetMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveAppChooserWidgetMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveAppChooserWidgetMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveAppChooserWidgetMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveAppChooserWidgetMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveAppChooserWidgetMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveAppChooserWidgetMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveAppChooserWidgetMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveAppChooserWidgetMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveAppChooserWidgetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAppChooserWidgetMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveAppChooserWidgetMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveAppChooserWidgetMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveAppChooserWidgetMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveAppChooserWidgetMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveAppChooserWidgetMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveAppChooserWidgetMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveAppChooserWidgetMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveAppChooserWidgetMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveAppChooserWidgetMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveAppChooserWidgetMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveAppChooserWidgetMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveAppChooserWidgetMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveAppChooserWidgetMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveAppChooserWidgetMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveAppChooserWidgetMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveAppChooserWidgetMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveAppChooserWidgetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAppChooserWidgetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAppChooserWidgetMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveAppChooserWidgetMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveAppChooserWidgetMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveAppChooserWidgetMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveAppChooserWidgetMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveAppChooserWidgetMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveAppChooserWidgetMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveAppChooserWidgetMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveAppChooserWidgetMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveAppChooserWidgetMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveAppChooserWidgetMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveAppChooserWidgetMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveAppChooserWidgetMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveAppChooserWidgetMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveAppChooserWidgetMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveAppChooserWidgetMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveAppChooserWidgetMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveAppChooserWidgetMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveAppChooserWidgetMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveAppChooserWidgetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAppChooserWidgetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAppChooserWidgetMethod "refresh" o = Gtk.AppChooser.AppChooserRefreshMethodInfo
+    ResolveAppChooserWidgetMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveAppChooserWidgetMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveAppChooserWidgetMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveAppChooserWidgetMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveAppChooserWidgetMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveAppChooserWidgetMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveAppChooserWidgetMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveAppChooserWidgetMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveAppChooserWidgetMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveAppChooserWidgetMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveAppChooserWidgetMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveAppChooserWidgetMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveAppChooserWidgetMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveAppChooserWidgetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAppChooserWidgetMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveAppChooserWidgetMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveAppChooserWidgetMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveAppChooserWidgetMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveAppChooserWidgetMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveAppChooserWidgetMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveAppChooserWidgetMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveAppChooserWidgetMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveAppChooserWidgetMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveAppChooserWidgetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAppChooserWidgetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAppChooserWidgetMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveAppChooserWidgetMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveAppChooserWidgetMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveAppChooserWidgetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAppChooserWidgetMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveAppChooserWidgetMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveAppChooserWidgetMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveAppChooserWidgetMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveAppChooserWidgetMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveAppChooserWidgetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAppChooserWidgetMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveAppChooserWidgetMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveAppChooserWidgetMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveAppChooserWidgetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAppChooserWidgetMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveAppChooserWidgetMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveAppChooserWidgetMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveAppChooserWidgetMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveAppChooserWidgetMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveAppChooserWidgetMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveAppChooserWidgetMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveAppChooserWidgetMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveAppChooserWidgetMethod "getAppInfo" o = Gtk.AppChooser.AppChooserGetAppInfoMethodInfo
+    ResolveAppChooserWidgetMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveAppChooserWidgetMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveAppChooserWidgetMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveAppChooserWidgetMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveAppChooserWidgetMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveAppChooserWidgetMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveAppChooserWidgetMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveAppChooserWidgetMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveAppChooserWidgetMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveAppChooserWidgetMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveAppChooserWidgetMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveAppChooserWidgetMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveAppChooserWidgetMethod "getContentType" o = Gtk.AppChooser.AppChooserGetContentTypeMethodInfo
+    ResolveAppChooserWidgetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAppChooserWidgetMethod "getDefaultText" o = AppChooserWidgetGetDefaultTextMethodInfo
+    ResolveAppChooserWidgetMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveAppChooserWidgetMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveAppChooserWidgetMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveAppChooserWidgetMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveAppChooserWidgetMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveAppChooserWidgetMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveAppChooserWidgetMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveAppChooserWidgetMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveAppChooserWidgetMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveAppChooserWidgetMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveAppChooserWidgetMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveAppChooserWidgetMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveAppChooserWidgetMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveAppChooserWidgetMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveAppChooserWidgetMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveAppChooserWidgetMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveAppChooserWidgetMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveAppChooserWidgetMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveAppChooserWidgetMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveAppChooserWidgetMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveAppChooserWidgetMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveAppChooserWidgetMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveAppChooserWidgetMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveAppChooserWidgetMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveAppChooserWidgetMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveAppChooserWidgetMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveAppChooserWidgetMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveAppChooserWidgetMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveAppChooserWidgetMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveAppChooserWidgetMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveAppChooserWidgetMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveAppChooserWidgetMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveAppChooserWidgetMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveAppChooserWidgetMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveAppChooserWidgetMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveAppChooserWidgetMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveAppChooserWidgetMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveAppChooserWidgetMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveAppChooserWidgetMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveAppChooserWidgetMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveAppChooserWidgetMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveAppChooserWidgetMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveAppChooserWidgetMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveAppChooserWidgetMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveAppChooserWidgetMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveAppChooserWidgetMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveAppChooserWidgetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAppChooserWidgetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAppChooserWidgetMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveAppChooserWidgetMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveAppChooserWidgetMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveAppChooserWidgetMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveAppChooserWidgetMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveAppChooserWidgetMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveAppChooserWidgetMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveAppChooserWidgetMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveAppChooserWidgetMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveAppChooserWidgetMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveAppChooserWidgetMethod "getShowAll" o = AppChooserWidgetGetShowAllMethodInfo
+    ResolveAppChooserWidgetMethod "getShowDefault" o = AppChooserWidgetGetShowDefaultMethodInfo
+    ResolveAppChooserWidgetMethod "getShowFallback" o = AppChooserWidgetGetShowFallbackMethodInfo
+    ResolveAppChooserWidgetMethod "getShowOther" o = AppChooserWidgetGetShowOtherMethodInfo
+    ResolveAppChooserWidgetMethod "getShowRecommended" o = AppChooserWidgetGetShowRecommendedMethodInfo
+    ResolveAppChooserWidgetMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveAppChooserWidgetMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveAppChooserWidgetMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveAppChooserWidgetMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveAppChooserWidgetMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveAppChooserWidgetMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveAppChooserWidgetMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveAppChooserWidgetMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveAppChooserWidgetMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveAppChooserWidgetMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveAppChooserWidgetMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveAppChooserWidgetMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveAppChooserWidgetMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveAppChooserWidgetMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveAppChooserWidgetMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveAppChooserWidgetMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveAppChooserWidgetMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveAppChooserWidgetMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveAppChooserWidgetMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveAppChooserWidgetMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveAppChooserWidgetMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveAppChooserWidgetMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveAppChooserWidgetMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveAppChooserWidgetMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveAppChooserWidgetMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveAppChooserWidgetMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveAppChooserWidgetMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveAppChooserWidgetMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveAppChooserWidgetMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveAppChooserWidgetMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveAppChooserWidgetMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveAppChooserWidgetMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveAppChooserWidgetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAppChooserWidgetMethod "setDefaultText" o = AppChooserWidgetSetDefaultTextMethodInfo
+    ResolveAppChooserWidgetMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveAppChooserWidgetMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveAppChooserWidgetMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveAppChooserWidgetMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveAppChooserWidgetMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveAppChooserWidgetMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveAppChooserWidgetMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveAppChooserWidgetMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveAppChooserWidgetMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveAppChooserWidgetMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveAppChooserWidgetMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveAppChooserWidgetMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveAppChooserWidgetMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveAppChooserWidgetMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveAppChooserWidgetMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveAppChooserWidgetMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveAppChooserWidgetMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveAppChooserWidgetMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveAppChooserWidgetMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveAppChooserWidgetMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveAppChooserWidgetMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveAppChooserWidgetMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveAppChooserWidgetMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveAppChooserWidgetMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveAppChooserWidgetMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveAppChooserWidgetMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveAppChooserWidgetMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveAppChooserWidgetMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveAppChooserWidgetMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveAppChooserWidgetMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveAppChooserWidgetMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveAppChooserWidgetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAppChooserWidgetMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveAppChooserWidgetMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveAppChooserWidgetMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveAppChooserWidgetMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveAppChooserWidgetMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveAppChooserWidgetMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveAppChooserWidgetMethod "setShowAll" o = AppChooserWidgetSetShowAllMethodInfo
+    ResolveAppChooserWidgetMethod "setShowDefault" o = AppChooserWidgetSetShowDefaultMethodInfo
+    ResolveAppChooserWidgetMethod "setShowFallback" o = AppChooserWidgetSetShowFallbackMethodInfo
+    ResolveAppChooserWidgetMethod "setShowOther" o = AppChooserWidgetSetShowOtherMethodInfo
+    ResolveAppChooserWidgetMethod "setShowRecommended" o = AppChooserWidgetSetShowRecommendedMethodInfo
+    ResolveAppChooserWidgetMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveAppChooserWidgetMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveAppChooserWidgetMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveAppChooserWidgetMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveAppChooserWidgetMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveAppChooserWidgetMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveAppChooserWidgetMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveAppChooserWidgetMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveAppChooserWidgetMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveAppChooserWidgetMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveAppChooserWidgetMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveAppChooserWidgetMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveAppChooserWidgetMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveAppChooserWidgetMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveAppChooserWidgetMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveAppChooserWidgetMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAppChooserWidgetMethod t AppChooserWidget, O.MethodInfo info AppChooserWidget p) => OL.IsLabel t (AppChooserWidget -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal AppChooserWidget::application-activated
+{- |
+Emitted when an application item is activated from the widget\'s list.
+
+This usually happens when the user double clicks an item, or an item
+is selected and the user presses one of the keys Space, Shift+Space,
+Return or Enter.
+-}
+type AppChooserWidgetApplicationActivatedCallback =
+    Gio.AppInfo.AppInfo
+    {- ^ /@application@/: the activated 'GI.Gio.Interfaces.AppInfo.AppInfo' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AppChooserWidgetApplicationActivatedCallback`@.
+noAppChooserWidgetApplicationActivatedCallback :: Maybe AppChooserWidgetApplicationActivatedCallback
+noAppChooserWidgetApplicationActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AppChooserWidgetApplicationActivatedCallback =
+    Ptr () ->                               -- object
+    Ptr Gio.AppInfo.AppInfo ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AppChooserWidgetApplicationActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_AppChooserWidgetApplicationActivatedCallback :: C_AppChooserWidgetApplicationActivatedCallback -> IO (FunPtr C_AppChooserWidgetApplicationActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AppChooserWidgetApplicationActivated :: MonadIO m => AppChooserWidgetApplicationActivatedCallback -> m (GClosure C_AppChooserWidgetApplicationActivatedCallback)
+genClosure_AppChooserWidgetApplicationActivated cb = liftIO $ do
+    let cb' = wrap_AppChooserWidgetApplicationActivatedCallback cb
+    mk_AppChooserWidgetApplicationActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AppChooserWidgetApplicationActivatedCallback` into a `C_AppChooserWidgetApplicationActivatedCallback`.
+wrap_AppChooserWidgetApplicationActivatedCallback ::
+    AppChooserWidgetApplicationActivatedCallback ->
+    C_AppChooserWidgetApplicationActivatedCallback
+wrap_AppChooserWidgetApplicationActivatedCallback _cb _ application _ = do
+    application' <- (newObject Gio.AppInfo.AppInfo) application
+    _cb  application'
+
+
+{- |
+Connect a signal handler for the “@application-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' appChooserWidget #applicationActivated callback
+@
+-}
+onAppChooserWidgetApplicationActivated :: (IsAppChooserWidget a, MonadIO m) => a -> AppChooserWidgetApplicationActivatedCallback -> m SignalHandlerId
+onAppChooserWidgetApplicationActivated obj cb = liftIO $ do
+    let cb' = wrap_AppChooserWidgetApplicationActivatedCallback cb
+    cb'' <- mk_AppChooserWidgetApplicationActivatedCallback cb'
+    connectSignalFunPtr obj "application-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@application-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' appChooserWidget #applicationActivated callback
+@
+-}
+afterAppChooserWidgetApplicationActivated :: (IsAppChooserWidget a, MonadIO m) => a -> AppChooserWidgetApplicationActivatedCallback -> m SignalHandlerId
+afterAppChooserWidgetApplicationActivated obj cb = liftIO $ do
+    let cb' = wrap_AppChooserWidgetApplicationActivatedCallback cb
+    cb'' <- mk_AppChooserWidgetApplicationActivatedCallback cb'
+    connectSignalFunPtr obj "application-activated" cb'' SignalConnectAfter
+
+
+-- signal AppChooserWidget::application-selected
+{- |
+Emitted when an application item is selected from the widget\'s list.
+-}
+type AppChooserWidgetApplicationSelectedCallback =
+    Gio.AppInfo.AppInfo
+    {- ^ /@application@/: the selected 'GI.Gio.Interfaces.AppInfo.AppInfo' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AppChooserWidgetApplicationSelectedCallback`@.
+noAppChooserWidgetApplicationSelectedCallback :: Maybe AppChooserWidgetApplicationSelectedCallback
+noAppChooserWidgetApplicationSelectedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AppChooserWidgetApplicationSelectedCallback =
+    Ptr () ->                               -- object
+    Ptr Gio.AppInfo.AppInfo ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AppChooserWidgetApplicationSelectedCallback`.
+foreign import ccall "wrapper"
+    mk_AppChooserWidgetApplicationSelectedCallback :: C_AppChooserWidgetApplicationSelectedCallback -> IO (FunPtr C_AppChooserWidgetApplicationSelectedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AppChooserWidgetApplicationSelected :: MonadIO m => AppChooserWidgetApplicationSelectedCallback -> m (GClosure C_AppChooserWidgetApplicationSelectedCallback)
+genClosure_AppChooserWidgetApplicationSelected cb = liftIO $ do
+    let cb' = wrap_AppChooserWidgetApplicationSelectedCallback cb
+    mk_AppChooserWidgetApplicationSelectedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AppChooserWidgetApplicationSelectedCallback` into a `C_AppChooserWidgetApplicationSelectedCallback`.
+wrap_AppChooserWidgetApplicationSelectedCallback ::
+    AppChooserWidgetApplicationSelectedCallback ->
+    C_AppChooserWidgetApplicationSelectedCallback
+wrap_AppChooserWidgetApplicationSelectedCallback _cb _ application _ = do
+    application' <- (newObject Gio.AppInfo.AppInfo) application
+    _cb  application'
+
+
+{- |
+Connect a signal handler for the “@application-selected@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' appChooserWidget #applicationSelected callback
+@
+-}
+onAppChooserWidgetApplicationSelected :: (IsAppChooserWidget a, MonadIO m) => a -> AppChooserWidgetApplicationSelectedCallback -> m SignalHandlerId
+onAppChooserWidgetApplicationSelected obj cb = liftIO $ do
+    let cb' = wrap_AppChooserWidgetApplicationSelectedCallback cb
+    cb'' <- mk_AppChooserWidgetApplicationSelectedCallback cb'
+    connectSignalFunPtr obj "application-selected" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@application-selected@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' appChooserWidget #applicationSelected callback
+@
+-}
+afterAppChooserWidgetApplicationSelected :: (IsAppChooserWidget a, MonadIO m) => a -> AppChooserWidgetApplicationSelectedCallback -> m SignalHandlerId
+afterAppChooserWidgetApplicationSelected obj cb = liftIO $ do
+    let cb' = wrap_AppChooserWidgetApplicationSelectedCallback cb
+    cb'' <- mk_AppChooserWidgetApplicationSelectedCallback cb'
+    connectSignalFunPtr obj "application-selected" cb'' SignalConnectAfter
+
+
+-- signal AppChooserWidget::populate-popup
+{- |
+Emitted when a context menu is about to popup over an application item.
+Clients can insert menu items into the provided 'GI.Gtk.Objects.Menu.Menu' object in the
+callback of this signal; the context menu will be shown over the item
+if at least one item has been added to the menu.
+-}
+type AppChooserWidgetPopulatePopupCallback =
+    Gtk.Menu.Menu
+    {- ^ /@menu@/: the 'GI.Gtk.Objects.Menu.Menu' to populate -}
+    -> Gio.AppInfo.AppInfo
+    {- ^ /@application@/: the current 'GI.Gio.Interfaces.AppInfo.AppInfo' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AppChooserWidgetPopulatePopupCallback`@.
+noAppChooserWidgetPopulatePopupCallback :: Maybe AppChooserWidgetPopulatePopupCallback
+noAppChooserWidgetPopulatePopupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AppChooserWidgetPopulatePopupCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Menu.Menu ->
+    Ptr Gio.AppInfo.AppInfo ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AppChooserWidgetPopulatePopupCallback`.
+foreign import ccall "wrapper"
+    mk_AppChooserWidgetPopulatePopupCallback :: C_AppChooserWidgetPopulatePopupCallback -> IO (FunPtr C_AppChooserWidgetPopulatePopupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AppChooserWidgetPopulatePopup :: MonadIO m => AppChooserWidgetPopulatePopupCallback -> m (GClosure C_AppChooserWidgetPopulatePopupCallback)
+genClosure_AppChooserWidgetPopulatePopup cb = liftIO $ do
+    let cb' = wrap_AppChooserWidgetPopulatePopupCallback cb
+    mk_AppChooserWidgetPopulatePopupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AppChooserWidgetPopulatePopupCallback` into a `C_AppChooserWidgetPopulatePopupCallback`.
+wrap_AppChooserWidgetPopulatePopupCallback ::
+    AppChooserWidgetPopulatePopupCallback ->
+    C_AppChooserWidgetPopulatePopupCallback
+wrap_AppChooserWidgetPopulatePopupCallback _cb _ menu application _ = do
+    menu' <- (newObject Gtk.Menu.Menu) menu
+    application' <- (newObject Gio.AppInfo.AppInfo) application
+    _cb  menu' application'
+
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' appChooserWidget #populatePopup callback
+@
+-}
+onAppChooserWidgetPopulatePopup :: (IsAppChooserWidget a, MonadIO m) => a -> AppChooserWidgetPopulatePopupCallback -> m SignalHandlerId
+onAppChooserWidgetPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_AppChooserWidgetPopulatePopupCallback cb
+    cb'' <- mk_AppChooserWidgetPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' appChooserWidget #populatePopup callback
+@
+-}
+afterAppChooserWidgetPopulatePopup :: (IsAppChooserWidget a, MonadIO m) => a -> AppChooserWidgetPopulatePopupCallback -> m SignalHandlerId
+afterAppChooserWidgetPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_AppChooserWidgetPopulatePopupCallback cb
+    cb'' <- mk_AppChooserWidgetPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectAfter
+
+
+-- VVV Prop "default-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@default-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserWidget #defaultText
+@
+-}
+getAppChooserWidgetDefaultText :: (MonadIO m, IsAppChooserWidget o) => o -> m T.Text
+getAppChooserWidgetDefaultText obj = liftIO $ checkUnexpectedNothing "getAppChooserWidgetDefaultText" $ B.Properties.getObjectPropertyString obj "default-text"
+
+{- |
+Set the value of the “@default-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserWidget [ #defaultText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserWidgetDefaultText :: (MonadIO m, IsAppChooserWidget o) => o -> T.Text -> m ()
+setAppChooserWidgetDefaultText obj val = liftIO $ B.Properties.setObjectPropertyString obj "default-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@default-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserWidgetDefaultText :: (IsAppChooserWidget o) => T.Text -> IO (GValueConstruct o)
+constructAppChooserWidgetDefaultText val = B.Properties.constructObjectPropertyString "default-text" (Just val)
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetDefaultTextPropertyInfo
+instance AttrInfo AppChooserWidgetDefaultTextPropertyInfo where
+    type AttrAllowedOps AppChooserWidgetDefaultTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserWidgetDefaultTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint AppChooserWidgetDefaultTextPropertyInfo = IsAppChooserWidget
+    type AttrGetType AppChooserWidgetDefaultTextPropertyInfo = T.Text
+    type AttrLabel AppChooserWidgetDefaultTextPropertyInfo = "default-text"
+    type AttrOrigin AppChooserWidgetDefaultTextPropertyInfo = AppChooserWidget
+    attrGet _ = getAppChooserWidgetDefaultText
+    attrSet _ = setAppChooserWidgetDefaultText
+    attrConstruct _ = constructAppChooserWidgetDefaultText
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-all"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserWidget #showAll
+@
+-}
+getAppChooserWidgetShowAll :: (MonadIO m, IsAppChooserWidget o) => o -> m Bool
+getAppChooserWidgetShowAll obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-all"
+
+{- |
+Set the value of the “@show-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserWidget [ #showAll 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserWidgetShowAll :: (MonadIO m, IsAppChooserWidget o) => o -> Bool -> m ()
+setAppChooserWidgetShowAll obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-all" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-all@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserWidgetShowAll :: (IsAppChooserWidget o) => Bool -> IO (GValueConstruct o)
+constructAppChooserWidgetShowAll val = B.Properties.constructObjectPropertyBool "show-all" val
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowAllPropertyInfo
+instance AttrInfo AppChooserWidgetShowAllPropertyInfo where
+    type AttrAllowedOps AppChooserWidgetShowAllPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserWidgetShowAllPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint AppChooserWidgetShowAllPropertyInfo = IsAppChooserWidget
+    type AttrGetType AppChooserWidgetShowAllPropertyInfo = Bool
+    type AttrLabel AppChooserWidgetShowAllPropertyInfo = "show-all"
+    type AttrOrigin AppChooserWidgetShowAllPropertyInfo = AppChooserWidget
+    attrGet _ = getAppChooserWidgetShowAll
+    attrSet _ = setAppChooserWidgetShowAll
+    attrConstruct _ = constructAppChooserWidgetShowAll
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-default"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserWidget #showDefault
+@
+-}
+getAppChooserWidgetShowDefault :: (MonadIO m, IsAppChooserWidget o) => o -> m Bool
+getAppChooserWidgetShowDefault obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-default"
+
+{- |
+Set the value of the “@show-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserWidget [ #showDefault 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserWidgetShowDefault :: (MonadIO m, IsAppChooserWidget o) => o -> Bool -> m ()
+setAppChooserWidgetShowDefault obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-default" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-default@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserWidgetShowDefault :: (IsAppChooserWidget o) => Bool -> IO (GValueConstruct o)
+constructAppChooserWidgetShowDefault val = B.Properties.constructObjectPropertyBool "show-default" val
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowDefaultPropertyInfo
+instance AttrInfo AppChooserWidgetShowDefaultPropertyInfo where
+    type AttrAllowedOps AppChooserWidgetShowDefaultPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserWidgetShowDefaultPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint AppChooserWidgetShowDefaultPropertyInfo = IsAppChooserWidget
+    type AttrGetType AppChooserWidgetShowDefaultPropertyInfo = Bool
+    type AttrLabel AppChooserWidgetShowDefaultPropertyInfo = "show-default"
+    type AttrOrigin AppChooserWidgetShowDefaultPropertyInfo = AppChooserWidget
+    attrGet _ = getAppChooserWidgetShowDefault
+    attrSet _ = setAppChooserWidgetShowDefault
+    attrConstruct _ = constructAppChooserWidgetShowDefault
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-fallback"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-fallback@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserWidget #showFallback
+@
+-}
+getAppChooserWidgetShowFallback :: (MonadIO m, IsAppChooserWidget o) => o -> m Bool
+getAppChooserWidgetShowFallback obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-fallback"
+
+{- |
+Set the value of the “@show-fallback@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserWidget [ #showFallback 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserWidgetShowFallback :: (MonadIO m, IsAppChooserWidget o) => o -> Bool -> m ()
+setAppChooserWidgetShowFallback obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-fallback" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-fallback@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserWidgetShowFallback :: (IsAppChooserWidget o) => Bool -> IO (GValueConstruct o)
+constructAppChooserWidgetShowFallback val = B.Properties.constructObjectPropertyBool "show-fallback" val
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowFallbackPropertyInfo
+instance AttrInfo AppChooserWidgetShowFallbackPropertyInfo where
+    type AttrAllowedOps AppChooserWidgetShowFallbackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserWidgetShowFallbackPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint AppChooserWidgetShowFallbackPropertyInfo = IsAppChooserWidget
+    type AttrGetType AppChooserWidgetShowFallbackPropertyInfo = Bool
+    type AttrLabel AppChooserWidgetShowFallbackPropertyInfo = "show-fallback"
+    type AttrOrigin AppChooserWidgetShowFallbackPropertyInfo = AppChooserWidget
+    attrGet _ = getAppChooserWidgetShowFallback
+    attrSet _ = setAppChooserWidgetShowFallback
+    attrConstruct _ = constructAppChooserWidgetShowFallback
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-other"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-other@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserWidget #showOther
+@
+-}
+getAppChooserWidgetShowOther :: (MonadIO m, IsAppChooserWidget o) => o -> m Bool
+getAppChooserWidgetShowOther obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-other"
+
+{- |
+Set the value of the “@show-other@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserWidget [ #showOther 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserWidgetShowOther :: (MonadIO m, IsAppChooserWidget o) => o -> Bool -> m ()
+setAppChooserWidgetShowOther obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-other" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-other@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserWidgetShowOther :: (IsAppChooserWidget o) => Bool -> IO (GValueConstruct o)
+constructAppChooserWidgetShowOther val = B.Properties.constructObjectPropertyBool "show-other" val
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowOtherPropertyInfo
+instance AttrInfo AppChooserWidgetShowOtherPropertyInfo where
+    type AttrAllowedOps AppChooserWidgetShowOtherPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserWidgetShowOtherPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint AppChooserWidgetShowOtherPropertyInfo = IsAppChooserWidget
+    type AttrGetType AppChooserWidgetShowOtherPropertyInfo = Bool
+    type AttrLabel AppChooserWidgetShowOtherPropertyInfo = "show-other"
+    type AttrOrigin AppChooserWidgetShowOtherPropertyInfo = AppChooserWidget
+    attrGet _ = getAppChooserWidgetShowOther
+    attrSet _ = setAppChooserWidgetShowOther
+    attrConstruct _ = constructAppChooserWidgetShowOther
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-recommended"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-recommended@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' appChooserWidget #showRecommended
+@
+-}
+getAppChooserWidgetShowRecommended :: (MonadIO m, IsAppChooserWidget o) => o -> m Bool
+getAppChooserWidgetShowRecommended obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-recommended"
+
+{- |
+Set the value of the “@show-recommended@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' appChooserWidget [ #showRecommended 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAppChooserWidgetShowRecommended :: (MonadIO m, IsAppChooserWidget o) => o -> Bool -> m ()
+setAppChooserWidgetShowRecommended obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-recommended" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-recommended@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAppChooserWidgetShowRecommended :: (IsAppChooserWidget o) => Bool -> IO (GValueConstruct o)
+constructAppChooserWidgetShowRecommended val = B.Properties.constructObjectPropertyBool "show-recommended" val
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowRecommendedPropertyInfo
+instance AttrInfo AppChooserWidgetShowRecommendedPropertyInfo where
+    type AttrAllowedOps AppChooserWidgetShowRecommendedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppChooserWidgetShowRecommendedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint AppChooserWidgetShowRecommendedPropertyInfo = IsAppChooserWidget
+    type AttrGetType AppChooserWidgetShowRecommendedPropertyInfo = Bool
+    type AttrLabel AppChooserWidgetShowRecommendedPropertyInfo = "show-recommended"
+    type AttrOrigin AppChooserWidgetShowRecommendedPropertyInfo = AppChooserWidget
+    attrGet _ = getAppChooserWidgetShowRecommended
+    attrSet _ = setAppChooserWidgetShowRecommended
+    attrConstruct _ = constructAppChooserWidgetShowRecommended
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AppChooserWidget
+type instance O.AttributeList AppChooserWidget = AppChooserWidgetAttributeList
+type AppChooserWidgetAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("contentType", Gtk.AppChooser.AppChooserContentTypePropertyInfo), '("defaultText", AppChooserWidgetDefaultTextPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showAll", AppChooserWidgetShowAllPropertyInfo), '("showDefault", AppChooserWidgetShowDefaultPropertyInfo), '("showFallback", AppChooserWidgetShowFallbackPropertyInfo), '("showOther", AppChooserWidgetShowOtherPropertyInfo), '("showRecommended", AppChooserWidgetShowRecommendedPropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+appChooserWidgetDefaultText :: AttrLabelProxy "defaultText"
+appChooserWidgetDefaultText = AttrLabelProxy
+
+appChooserWidgetShowAll :: AttrLabelProxy "showAll"
+appChooserWidgetShowAll = AttrLabelProxy
+
+appChooserWidgetShowDefault :: AttrLabelProxy "showDefault"
+appChooserWidgetShowDefault = AttrLabelProxy
+
+appChooserWidgetShowFallback :: AttrLabelProxy "showFallback"
+appChooserWidgetShowFallback = AttrLabelProxy
+
+appChooserWidgetShowOther :: AttrLabelProxy "showOther"
+appChooserWidgetShowOther = AttrLabelProxy
+
+appChooserWidgetShowRecommended :: AttrLabelProxy "showRecommended"
+appChooserWidgetShowRecommended = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetApplicationActivatedSignalInfo
+instance SignalInfo AppChooserWidgetApplicationActivatedSignalInfo where
+    type HaskellCallbackType AppChooserWidgetApplicationActivatedSignalInfo = AppChooserWidgetApplicationActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AppChooserWidgetApplicationActivatedCallback cb
+        cb'' <- mk_AppChooserWidgetApplicationActivatedCallback cb'
+        connectSignalFunPtr obj "application-activated" cb'' connectMode
+
+data AppChooserWidgetApplicationSelectedSignalInfo
+instance SignalInfo AppChooserWidgetApplicationSelectedSignalInfo where
+    type HaskellCallbackType AppChooserWidgetApplicationSelectedSignalInfo = AppChooserWidgetApplicationSelectedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AppChooserWidgetApplicationSelectedCallback cb
+        cb'' <- mk_AppChooserWidgetApplicationSelectedCallback cb'
+        connectSignalFunPtr obj "application-selected" cb'' connectMode
+
+data AppChooserWidgetPopulatePopupSignalInfo
+instance SignalInfo AppChooserWidgetPopulatePopupSignalInfo where
+    type HaskellCallbackType AppChooserWidgetPopulatePopupSignalInfo = AppChooserWidgetPopulatePopupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AppChooserWidgetPopulatePopupCallback cb
+        cb'' <- mk_AppChooserWidgetPopulatePopupCallback cb'
+        connectSignalFunPtr obj "populate-popup" cb'' connectMode
+
+type instance O.SignalList AppChooserWidget = AppChooserWidgetSignalList
+type AppChooserWidgetSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("applicationActivated", AppChooserWidgetApplicationActivatedSignalInfo), '("applicationSelected", AppChooserWidgetApplicationSelectedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("populatePopup", AppChooserWidgetPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method AppChooserWidget::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the content type to show applications for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_new" gtk_app_chooser_widget_new :: 
+    CString ->                              -- content_type : TBasicType TUTF8
+    IO (Ptr AppChooserWidget)
+
+{- |
+Creates a new 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' for applications
+that can handle content of the given type.
+
+/Since: 3.0/
+-}
+appChooserWidgetNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@contentType@/: the content type to show applications for -}
+    -> m AppChooserWidget
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+appChooserWidgetNew contentType = liftIO $ do
+    contentType' <- textToCString contentType
+    result <- gtk_app_chooser_widget_new contentType'
+    checkUnexpectedReturnNULL "appChooserWidgetNew" result
+    result' <- (newObject AppChooserWidget) result
+    freeMem contentType'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AppChooserWidget::get_default_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_get_default_text" gtk_app_chooser_widget_get_default_text :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    IO CString
+
+{- |
+Returns the text that is shown if there are not applications
+that can handle the content type.
+
+/Since: 3.0/
+-}
+appChooserWidgetGetDefaultText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> m T.Text
+    {- ^ __Returns:__ the value of 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/default-text/@ -}
+appChooserWidgetGetDefaultText self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_widget_get_default_text self'
+    checkUnexpectedReturnNULL "appChooserWidgetGetDefaultText" result
+    result' <- cstringToText result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetDefaultTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetGetDefaultTextMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetGetDefaultText
+
+#endif
+
+-- method AppChooserWidget::get_show_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_get_show_all" gtk_app_chooser_widget_get_show_all :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    IO CInt
+
+{- |
+Returns the current value of the 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-all/@
+property.
+
+/Since: 3.0/
+-}
+appChooserWidgetGetShowAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> m Bool
+    {- ^ __Returns:__ the value of 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-all/@ -}
+appChooserWidgetGetShowAll self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_widget_get_show_all self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowAllMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetGetShowAllMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetGetShowAll
+
+#endif
+
+-- method AppChooserWidget::get_show_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_get_show_default" gtk_app_chooser_widget_get_show_default :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    IO CInt
+
+{- |
+Returns the current value of the 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-default/@
+property.
+
+/Since: 3.0/
+-}
+appChooserWidgetGetShowDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> m Bool
+    {- ^ __Returns:__ the value of 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-default/@ -}
+appChooserWidgetGetShowDefault self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_widget_get_show_default self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowDefaultMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetGetShowDefaultMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetGetShowDefault
+
+#endif
+
+-- method AppChooserWidget::get_show_fallback
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_get_show_fallback" gtk_app_chooser_widget_get_show_fallback :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    IO CInt
+
+{- |
+Returns the current value of the 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-fallback/@
+property.
+
+/Since: 3.0/
+-}
+appChooserWidgetGetShowFallback ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> m Bool
+    {- ^ __Returns:__ the value of 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-fallback/@ -}
+appChooserWidgetGetShowFallback self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_widget_get_show_fallback self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowFallbackMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetGetShowFallbackMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetGetShowFallback
+
+#endif
+
+-- method AppChooserWidget::get_show_other
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_get_show_other" gtk_app_chooser_widget_get_show_other :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    IO CInt
+
+{- |
+Returns the current value of the 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-other/@
+property.
+
+/Since: 3.0/
+-}
+appChooserWidgetGetShowOther ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> m Bool
+    {- ^ __Returns:__ the value of 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-other/@ -}
+appChooserWidgetGetShowOther self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_widget_get_show_other self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowOtherMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetGetShowOtherMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetGetShowOther
+
+#endif
+
+-- method AppChooserWidget::get_show_recommended
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_get_show_recommended" gtk_app_chooser_widget_get_show_recommended :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    IO CInt
+
+{- |
+Returns the current value of the 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-recommended/@
+property.
+
+/Since: 3.0/
+-}
+appChooserWidgetGetShowRecommended ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> m Bool
+    {- ^ __Returns:__ the value of 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-recommended/@ -}
+appChooserWidgetGetShowRecommended self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_app_chooser_widget_get_show_recommended self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowRecommendedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetGetShowRecommendedMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetGetShowRecommended
+
+#endif
+
+-- method AppChooserWidget::set_default_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for #GtkAppChooserWidget:default-text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_set_default_text" gtk_app_chooser_widget_set_default_text :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text that is shown if there are not applications
+that can handle the content type.
+-}
+appChooserWidgetSetDefaultText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> T.Text
+    {- ^ /@text@/: the new value for 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/default-text/@ -}
+    -> m ()
+appChooserWidgetSetDefaultText self text = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    text' <- textToCString text
+    gtk_app_chooser_widget_set_default_text self' text'
+    touchManagedPtr self
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetDefaultTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetSetDefaultTextMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetSetDefaultText
+
+#endif
+
+-- method AppChooserWidget::set_show_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for #GtkAppChooserWidget:show-all", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_set_show_all" gtk_app_chooser_widget_set_show_all :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the app chooser should show all applications
+in a flat list.
+
+/Since: 3.0/
+-}
+appChooserWidgetSetShowAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> Bool
+    {- ^ /@setting@/: the new value for 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-all/@ -}
+    -> m ()
+appChooserWidgetSetShowAll self setting = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_app_chooser_widget_set_show_all self' setting'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowAllMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetSetShowAllMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetSetShowAll
+
+#endif
+
+-- method AppChooserWidget::set_show_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for #GtkAppChooserWidget:show-default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_set_show_default" gtk_app_chooser_widget_set_show_default :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the app chooser should show the default handler
+for the content type in a separate section.
+
+/Since: 3.0/
+-}
+appChooserWidgetSetShowDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> Bool
+    {- ^ /@setting@/: the new value for 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-default/@ -}
+    -> m ()
+appChooserWidgetSetShowDefault self setting = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_app_chooser_widget_set_show_default self' setting'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowDefaultMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetSetShowDefaultMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetSetShowDefault
+
+#endif
+
+-- method AppChooserWidget::set_show_fallback
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for #GtkAppChooserWidget:show-fallback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_set_show_fallback" gtk_app_chooser_widget_set_show_fallback :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the app chooser should show related applications
+for the content type in a separate section.
+
+/Since: 3.0/
+-}
+appChooserWidgetSetShowFallback ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> Bool
+    {- ^ /@setting@/: the new value for 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-fallback/@ -}
+    -> m ()
+appChooserWidgetSetShowFallback self setting = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_app_chooser_widget_set_show_fallback self' setting'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowFallbackMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetSetShowFallbackMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetSetShowFallback
+
+#endif
+
+-- method AppChooserWidget::set_show_other
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for #GtkAppChooserWidget:show-other", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_set_show_other" gtk_app_chooser_widget_set_show_other :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the app chooser should show applications
+which are unrelated to the content type.
+
+/Since: 3.0/
+-}
+appChooserWidgetSetShowOther ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> Bool
+    {- ^ /@setting@/: the new value for 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-other/@ -}
+    -> m ()
+appChooserWidgetSetShowOther self setting = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_app_chooser_widget_set_show_other self' setting'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowOtherMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetSetShowOtherMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetSetShowOther
+
+#endif
+
+-- method AppChooserWidget::set_show_recommended
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAppChooserWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for #GtkAppChooserWidget:show-recommended", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_app_chooser_widget_set_show_recommended" gtk_app_chooser_widget_set_show_recommended :: 
+    Ptr AppChooserWidget ->                 -- self : TInterface (Name {namespace = "Gtk", name = "AppChooserWidget"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the app chooser should show recommended applications
+for the content type in a separate section.
+
+/Since: 3.0/
+-}
+appChooserWidgetSetShowRecommended ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAppChooserWidget a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget' -}
+    -> Bool
+    {- ^ /@setting@/: the new value for 'GI.Gtk.Objects.AppChooserWidget.AppChooserWidget':@/show-recommended/@ -}
+    -> m ()
+appChooserWidgetSetShowRecommended self setting = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_app_chooser_widget_set_show_recommended self' setting'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowRecommendedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsAppChooserWidget a) => O.MethodInfo AppChooserWidgetSetShowRecommendedMethodInfo a signature where
+    overloadedMethod _ = appChooserWidgetSetShowRecommended
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/AppChooserWidget.hs-boot b/GI/Gtk/Objects/AppChooserWidget.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AppChooserWidget.hs-boot
@@ -0,0 +1,92 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.AppChooserWidget where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AppChooserWidget = AppChooserWidget (ManagedPtr AppChooserWidget)
+instance GObject AppChooserWidget where
+class (GObject o, O.IsDescendantOf AppChooserWidget o) => IsAppChooserWidget o
+instance (GObject o, O.IsDescendantOf AppChooserWidget o) => IsAppChooserWidget o
+instance O.HasParentTypes AppChooserWidget
+#if ENABLE_OVERLOADING
+data AppChooserWidgetDefaultTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowAllPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowDefaultPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowFallbackPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowOtherPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetShowRecommendedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetApplicationActivatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetApplicationSelectedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetPopulatePopupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetDefaultTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowFallbackMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowOtherMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetGetShowRecommendedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetDefaultTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowFallbackMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowOtherMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AppChooserWidgetSetShowRecommendedMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Application.hs b/GI/Gtk/Objects/Application.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Application.hs
@@ -0,0 +1,2169 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.Application.Application' is a class that handles many important aspects
+of a GTK+ application in a convenient fashion, without enforcing
+a one-size-fits-all application model.
+
+Currently, GtkApplication handles GTK+ initialization, application
+uniqueness, session management, provides some basic scriptability and
+desktop shell integration by exporting actions and menus and manages a
+list of toplevel windows whose life-cycle is automatically tied to the
+life-cycle of your application.
+
+While GtkApplication works fine with plain @/GtkWindows/@, it is recommended
+to use it together with 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow'.
+
+When GDK threads are enabled, GtkApplication will acquire the GDK
+lock when invoking actions that arrive from other processes.  The GDK
+lock is not touched for local action invocations.  In order to have
+actions invoked in a predictable context it is therefore recommended
+that the GDK lock be held while invoking actions locally with
+'GI.Gio.Interfaces.ActionGroup.actionGroupActivateAction'.  The same applies to actions
+associated with 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' and to the “activate” and
+“open” 'GI.Gio.Objects.Application.Application' methods.
+
+## Automatic resources ## {@/automatic/@-resources}
+
+'GI.Gtk.Objects.Application.Application' will automatically load menus from the 'GI.Gtk.Objects.Builder.Builder'
+resource located at \"gtk\/menus.ui\", relative to the application\'s
+resource base path (see 'GI.Gio.Objects.Application.applicationSetResourceBasePath').  The
+menu with the ID \"app-menu\" is taken as the application\'s app menu
+and the menu with the ID \"menubar\" is taken as the application\'s
+menubar.  Additional menus (most interesting submenus) can be named
+and accessed via 'GI.Gtk.Objects.Application.applicationGetMenuById' which allows for
+dynamic population of a part of the menu structure.
+
+If the resources \"gtk\/menus-appmenu.ui\" or \"gtk\/menus-traditional.ui\" are
+present then these files will be used in preference, depending on the value
+of 'GI.Gtk.Objects.Application.applicationPrefersAppMenu'. If the resource \"gtk\/menus-common.ui\"
+is present it will be loaded as well. This is useful for storing items that
+are referenced from both \"gtk\/menus-appmenu.ui\" and
+\"gtk\/menus-traditional.ui\".
+
+It is also possible to provide the menus manually using
+'GI.Gtk.Objects.Application.applicationSetAppMenu' and 'GI.Gtk.Objects.Application.applicationSetMenubar'.
+
+'GI.Gtk.Objects.Application.Application' will also automatically setup an icon search path for
+the default icon theme by appending \"icons\" to the resource base
+path.  This allows your application to easily store its icons as
+resources.  See 'GI.Gtk.Objects.IconTheme.iconThemeAddResourcePath' for more
+information.
+
+If there is a resource located at \"gtk\/help-overlay.ui\" which
+defines a 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow' with ID \"help_overlay\" then GtkApplication
+associates an instance of this shortcuts window with each
+'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' and sets up keyboard accelerators (Control-F1
+and Control-?) to open it. To create a menu item that displays the
+shortcuts window, associate the item with the action win.show-help-overlay.
+
+## A simple application ## {@/gtkapplication/@}
+
+<https://git.gnome.org/browse/gtk+/tree/examples/bp/bloatpad.c A simple example>
+
+GtkApplication optionally registers with a session manager
+of the users session (if you set the 'GI.Gtk.Objects.Application.Application':@/register-session/@
+property) and offers various functionality related to the session
+life-cycle.
+
+An application can block various ways to end the session with
+the 'GI.Gtk.Objects.Application.applicationInhibit' function. Typical use cases for
+this kind of inhibiting are long-running, uninterruptible operations,
+such as burning a CD or performing a disk backup. The session
+manager may not honor the inhibitor, but it can be expected to
+inform the user about the negative consequences of ending the
+session while inhibitors are present.
+
+## See Also ## {@/seealso/@}
+<https://wiki.gnome.org/HowDoI/GtkApplication HowDoI: Using GtkApplication>,
+<https://developer.gnome.org/gtk3/stable/gtk-getting-started.html#id-1.2.3.3 Getting Started with GTK+: Basics>
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Application
+    ( 
+
+-- * Exported types
+    Application(..)                         ,
+    IsApplication                           ,
+    toApplication                           ,
+    noApplication                           ,
+
+
+ -- * Methods
+-- ** addAccelerator #method:addAccelerator#
+
+#if ENABLE_OVERLOADING
+    ApplicationAddAcceleratorMethodInfo     ,
+#endif
+    applicationAddAccelerator               ,
+
+
+-- ** addWindow #method:addWindow#
+
+#if ENABLE_OVERLOADING
+    ApplicationAddWindowMethodInfo          ,
+#endif
+    applicationAddWindow                    ,
+
+
+-- ** getAccelsForAction #method:getAccelsForAction#
+
+#if ENABLE_OVERLOADING
+    ApplicationGetAccelsForActionMethodInfo ,
+#endif
+    applicationGetAccelsForAction           ,
+
+
+-- ** getActionsForAccel #method:getActionsForAccel#
+
+#if ENABLE_OVERLOADING
+    ApplicationGetActionsForAccelMethodInfo ,
+#endif
+    applicationGetActionsForAccel           ,
+
+
+-- ** getActiveWindow #method:getActiveWindow#
+
+#if ENABLE_OVERLOADING
+    ApplicationGetActiveWindowMethodInfo    ,
+#endif
+    applicationGetActiveWindow              ,
+
+
+-- ** getAppMenu #method:getAppMenu#
+
+#if ENABLE_OVERLOADING
+    ApplicationGetAppMenuMethodInfo         ,
+#endif
+    applicationGetAppMenu                   ,
+
+
+-- ** getMenuById #method:getMenuById#
+
+#if ENABLE_OVERLOADING
+    ApplicationGetMenuByIdMethodInfo        ,
+#endif
+    applicationGetMenuById                  ,
+
+
+-- ** getMenubar #method:getMenubar#
+
+#if ENABLE_OVERLOADING
+    ApplicationGetMenubarMethodInfo         ,
+#endif
+    applicationGetMenubar                   ,
+
+
+-- ** getWindowById #method:getWindowById#
+
+#if ENABLE_OVERLOADING
+    ApplicationGetWindowByIdMethodInfo      ,
+#endif
+    applicationGetWindowById                ,
+
+
+-- ** getWindows #method:getWindows#
+
+#if ENABLE_OVERLOADING
+    ApplicationGetWindowsMethodInfo         ,
+#endif
+    applicationGetWindows                   ,
+
+
+-- ** inhibit #method:inhibit#
+
+#if ENABLE_OVERLOADING
+    ApplicationInhibitMethodInfo            ,
+#endif
+    applicationInhibit                      ,
+
+
+-- ** isInhibited #method:isInhibited#
+
+#if ENABLE_OVERLOADING
+    ApplicationIsInhibitedMethodInfo        ,
+#endif
+    applicationIsInhibited                  ,
+
+
+-- ** listActionDescriptions #method:listActionDescriptions#
+
+#if ENABLE_OVERLOADING
+    ApplicationListActionDescriptionsMethodInfo,
+#endif
+    applicationListActionDescriptions       ,
+
+
+-- ** new #method:new#
+
+    applicationNew                          ,
+
+
+-- ** prefersAppMenu #method:prefersAppMenu#
+
+#if ENABLE_OVERLOADING
+    ApplicationPrefersAppMenuMethodInfo     ,
+#endif
+    applicationPrefersAppMenu               ,
+
+
+-- ** removeAccelerator #method:removeAccelerator#
+
+#if ENABLE_OVERLOADING
+    ApplicationRemoveAcceleratorMethodInfo  ,
+#endif
+    applicationRemoveAccelerator            ,
+
+
+-- ** removeWindow #method:removeWindow#
+
+#if ENABLE_OVERLOADING
+    ApplicationRemoveWindowMethodInfo       ,
+#endif
+    applicationRemoveWindow                 ,
+
+
+-- ** setAccelsForAction #method:setAccelsForAction#
+
+#if ENABLE_OVERLOADING
+    ApplicationSetAccelsForActionMethodInfo ,
+#endif
+    applicationSetAccelsForAction           ,
+
+
+-- ** setAppMenu #method:setAppMenu#
+
+#if ENABLE_OVERLOADING
+    ApplicationSetAppMenuMethodInfo         ,
+#endif
+    applicationSetAppMenu                   ,
+
+
+-- ** setMenubar #method:setMenubar#
+
+#if ENABLE_OVERLOADING
+    ApplicationSetMenubarMethodInfo         ,
+#endif
+    applicationSetMenubar                   ,
+
+
+-- ** uninhibit #method:uninhibit#
+
+#if ENABLE_OVERLOADING
+    ApplicationUninhibitMethodInfo          ,
+#endif
+    applicationUninhibit                    ,
+
+
+
+
+ -- * Properties
+-- ** activeWindow #attr:activeWindow#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ApplicationActiveWindowPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    applicationActiveWindow                 ,
+#endif
+    getApplicationActiveWindow              ,
+
+
+-- ** appMenu #attr:appMenu#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ApplicationAppMenuPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    applicationAppMenu                      ,
+#endif
+    clearApplicationAppMenu                 ,
+    constructApplicationAppMenu             ,
+    getApplicationAppMenu                   ,
+    setApplicationAppMenu                   ,
+
+
+-- ** menubar #attr:menubar#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ApplicationMenubarPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    applicationMenubar                      ,
+#endif
+    clearApplicationMenubar                 ,
+    constructApplicationMenubar             ,
+    getApplicationMenubar                   ,
+    setApplicationMenubar                   ,
+
+
+-- ** registerSession #attr:registerSession#
+{- | Set this property to 'True' to register with the session manager.
+
+/Since: 3.4/
+-}
+#if ENABLE_OVERLOADING
+    ApplicationRegisterSessionPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    applicationRegisterSession              ,
+#endif
+    constructApplicationRegisterSession     ,
+    getApplicationRegisterSession           ,
+    setApplicationRegisterSession           ,
+
+
+-- ** screensaverActive #attr:screensaverActive#
+{- | This property is 'True' if GTK+ believes that the screensaver is
+currently active. GTK+ only tracks session state (including this)
+when 'GI.Gtk.Objects.Application.Application'::@/register-session/@ is set to 'True'.
+
+Tracking the screensaver state is supported on Linux.
+
+/Since: 3.24/
+-}
+#if ENABLE_OVERLOADING
+    ApplicationScreensaverActivePropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    applicationScreensaverActive            ,
+#endif
+    getApplicationScreensaverActive         ,
+
+
+
+
+ -- * Signals
+-- ** queryEnd #signal:queryEnd#
+
+    ApplicationQueryEndCallback             ,
+#if ENABLE_OVERLOADING
+    ApplicationQueryEndSignalInfo           ,
+#endif
+    C_ApplicationQueryEndCallback           ,
+    afterApplicationQueryEnd                ,
+    genClosure_ApplicationQueryEnd          ,
+    mk_ApplicationQueryEndCallback          ,
+    noApplicationQueryEndCallback           ,
+    onApplicationQueryEnd                   ,
+    wrap_ApplicationQueryEndCallback        ,
+
+
+-- ** windowAdded #signal:windowAdded#
+
+    ApplicationWindowAddedCallback          ,
+#if ENABLE_OVERLOADING
+    ApplicationWindowAddedSignalInfo        ,
+#endif
+    C_ApplicationWindowAddedCallback        ,
+    afterApplicationWindowAdded             ,
+    genClosure_ApplicationWindowAdded       ,
+    mk_ApplicationWindowAddedCallback       ,
+    noApplicationWindowAddedCallback        ,
+    onApplicationWindowAdded                ,
+    wrap_ApplicationWindowAddedCallback     ,
+
+
+-- ** windowRemoved #signal:windowRemoved#
+
+    ApplicationWindowRemovedCallback        ,
+#if ENABLE_OVERLOADING
+    ApplicationWindowRemovedSignalInfo      ,
+#endif
+    C_ApplicationWindowRemovedCallback      ,
+    afterApplicationWindowRemoved           ,
+    genClosure_ApplicationWindowRemoved     ,
+    mk_ApplicationWindowRemovedCallback     ,
+    noApplicationWindowRemovedCallback      ,
+    onApplicationWindowRemoved              ,
+    wrap_ApplicationWindowRemovedCallback   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Flags as Gio.Flags
+import qualified GI.Gio.Interfaces.ActionGroup as Gio.ActionGroup
+import qualified GI.Gio.Interfaces.ActionMap as Gio.ActionMap
+import qualified GI.Gio.Objects.Application as Gio.Application
+import qualified GI.Gio.Objects.Menu as Gio.Menu
+import qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype Application = Application (ManagedPtr Application)
+foreign import ccall "gtk_application_get_type"
+    c_gtk_application_get_type :: IO GType
+
+instance GObject Application where
+    gobjectType = c_gtk_application_get_type
+    
+
+-- | Type class for types which can be safely cast to `Application`, for instance with `toApplication`.
+class (GObject o, O.IsDescendantOf Application o) => IsApplication o
+instance (GObject o, O.IsDescendantOf Application o) => IsApplication o
+
+instance O.HasParentTypes Application
+type instance O.ParentTypes Application = '[Gio.Application.Application, GObject.Object.Object, Gio.ActionGroup.ActionGroup, Gio.ActionMap.ActionMap]
+
+-- | Cast to `Application`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toApplication :: (MonadIO m, IsApplication o) => o -> m Application
+toApplication = liftIO . unsafeCastTo Application
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Application`.
+noApplication :: Maybe Application
+noApplication = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveApplicationMethod (t :: Symbol) (o :: *) :: * where
+    ResolveApplicationMethod "actionAdded" o = Gio.ActionGroup.ActionGroupActionAddedMethodInfo
+    ResolveApplicationMethod "actionEnabledChanged" o = Gio.ActionGroup.ActionGroupActionEnabledChangedMethodInfo
+    ResolveApplicationMethod "actionRemoved" o = Gio.ActionGroup.ActionGroupActionRemovedMethodInfo
+    ResolveApplicationMethod "actionStateChanged" o = Gio.ActionGroup.ActionGroupActionStateChangedMethodInfo
+    ResolveApplicationMethod "activate" o = Gio.Application.ApplicationActivateMethodInfo
+    ResolveApplicationMethod "activateAction" o = Gio.ActionGroup.ActionGroupActivateActionMethodInfo
+    ResolveApplicationMethod "addAccelerator" o = ApplicationAddAcceleratorMethodInfo
+    ResolveApplicationMethod "addAction" o = Gio.ActionMap.ActionMapAddActionMethodInfo
+    ResolveApplicationMethod "addActionEntries" o = Gio.ActionMap.ActionMapAddActionEntriesMethodInfo
+    ResolveApplicationMethod "addMainOption" o = Gio.Application.ApplicationAddMainOptionMethodInfo
+    ResolveApplicationMethod "addMainOptionEntries" o = Gio.Application.ApplicationAddMainOptionEntriesMethodInfo
+    ResolveApplicationMethod "addOptionGroup" o = Gio.Application.ApplicationAddOptionGroupMethodInfo
+    ResolveApplicationMethod "addWindow" o = ApplicationAddWindowMethodInfo
+    ResolveApplicationMethod "bindBusyProperty" o = Gio.Application.ApplicationBindBusyPropertyMethodInfo
+    ResolveApplicationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveApplicationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveApplicationMethod "changeActionState" o = Gio.ActionGroup.ActionGroupChangeActionStateMethodInfo
+    ResolveApplicationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveApplicationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveApplicationMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveApplicationMethod "hasAction" o = Gio.ActionGroup.ActionGroupHasActionMethodInfo
+    ResolveApplicationMethod "hold" o = Gio.Application.ApplicationHoldMethodInfo
+    ResolveApplicationMethod "inhibit" o = ApplicationInhibitMethodInfo
+    ResolveApplicationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveApplicationMethod "isInhibited" o = ApplicationIsInhibitedMethodInfo
+    ResolveApplicationMethod "listActionDescriptions" o = ApplicationListActionDescriptionsMethodInfo
+    ResolveApplicationMethod "listActions" o = Gio.ActionGroup.ActionGroupListActionsMethodInfo
+    ResolveApplicationMethod "lookupAction" o = Gio.ActionMap.ActionMapLookupActionMethodInfo
+    ResolveApplicationMethod "markBusy" o = Gio.Application.ApplicationMarkBusyMethodInfo
+    ResolveApplicationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveApplicationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveApplicationMethod "open" o = Gio.Application.ApplicationOpenMethodInfo
+    ResolveApplicationMethod "prefersAppMenu" o = ApplicationPrefersAppMenuMethodInfo
+    ResolveApplicationMethod "queryAction" o = Gio.ActionGroup.ActionGroupQueryActionMethodInfo
+    ResolveApplicationMethod "quit" o = Gio.Application.ApplicationQuitMethodInfo
+    ResolveApplicationMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveApplicationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveApplicationMethod "register" o = Gio.Application.ApplicationRegisterMethodInfo
+    ResolveApplicationMethod "release" o = Gio.Application.ApplicationReleaseMethodInfo
+    ResolveApplicationMethod "removeAccelerator" o = ApplicationRemoveAcceleratorMethodInfo
+    ResolveApplicationMethod "removeAction" o = Gio.ActionMap.ActionMapRemoveActionMethodInfo
+    ResolveApplicationMethod "removeWindow" o = ApplicationRemoveWindowMethodInfo
+    ResolveApplicationMethod "run" o = Gio.Application.ApplicationRunMethodInfo
+    ResolveApplicationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveApplicationMethod "sendNotification" o = Gio.Application.ApplicationSendNotificationMethodInfo
+    ResolveApplicationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveApplicationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveApplicationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveApplicationMethod "unbindBusyProperty" o = Gio.Application.ApplicationUnbindBusyPropertyMethodInfo
+    ResolveApplicationMethod "uninhibit" o = ApplicationUninhibitMethodInfo
+    ResolveApplicationMethod "unmarkBusy" o = Gio.Application.ApplicationUnmarkBusyMethodInfo
+    ResolveApplicationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveApplicationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveApplicationMethod "withdrawNotification" o = Gio.Application.ApplicationWithdrawNotificationMethodInfo
+    ResolveApplicationMethod "getAccelsForAction" o = ApplicationGetAccelsForActionMethodInfo
+    ResolveApplicationMethod "getActionEnabled" o = Gio.ActionGroup.ActionGroupGetActionEnabledMethodInfo
+    ResolveApplicationMethod "getActionParameterType" o = Gio.ActionGroup.ActionGroupGetActionParameterTypeMethodInfo
+    ResolveApplicationMethod "getActionState" o = Gio.ActionGroup.ActionGroupGetActionStateMethodInfo
+    ResolveApplicationMethod "getActionStateHint" o = Gio.ActionGroup.ActionGroupGetActionStateHintMethodInfo
+    ResolveApplicationMethod "getActionStateType" o = Gio.ActionGroup.ActionGroupGetActionStateTypeMethodInfo
+    ResolveApplicationMethod "getActionsForAccel" o = ApplicationGetActionsForAccelMethodInfo
+    ResolveApplicationMethod "getActiveWindow" o = ApplicationGetActiveWindowMethodInfo
+    ResolveApplicationMethod "getAppMenu" o = ApplicationGetAppMenuMethodInfo
+    ResolveApplicationMethod "getApplicationId" o = Gio.Application.ApplicationGetApplicationIdMethodInfo
+    ResolveApplicationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveApplicationMethod "getDbusConnection" o = Gio.Application.ApplicationGetDbusConnectionMethodInfo
+    ResolveApplicationMethod "getDbusObjectPath" o = Gio.Application.ApplicationGetDbusObjectPathMethodInfo
+    ResolveApplicationMethod "getFlags" o = Gio.Application.ApplicationGetFlagsMethodInfo
+    ResolveApplicationMethod "getInactivityTimeout" o = Gio.Application.ApplicationGetInactivityTimeoutMethodInfo
+    ResolveApplicationMethod "getIsBusy" o = Gio.Application.ApplicationGetIsBusyMethodInfo
+    ResolveApplicationMethod "getIsRegistered" o = Gio.Application.ApplicationGetIsRegisteredMethodInfo
+    ResolveApplicationMethod "getIsRemote" o = Gio.Application.ApplicationGetIsRemoteMethodInfo
+    ResolveApplicationMethod "getMenuById" o = ApplicationGetMenuByIdMethodInfo
+    ResolveApplicationMethod "getMenubar" o = ApplicationGetMenubarMethodInfo
+    ResolveApplicationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveApplicationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveApplicationMethod "getResourceBasePath" o = Gio.Application.ApplicationGetResourceBasePathMethodInfo
+    ResolveApplicationMethod "getWindowById" o = ApplicationGetWindowByIdMethodInfo
+    ResolveApplicationMethod "getWindows" o = ApplicationGetWindowsMethodInfo
+    ResolveApplicationMethod "setAccelsForAction" o = ApplicationSetAccelsForActionMethodInfo
+    ResolveApplicationMethod "setActionGroup" o = Gio.Application.ApplicationSetActionGroupMethodInfo
+    ResolveApplicationMethod "setAppMenu" o = ApplicationSetAppMenuMethodInfo
+    ResolveApplicationMethod "setApplicationId" o = Gio.Application.ApplicationSetApplicationIdMethodInfo
+    ResolveApplicationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveApplicationMethod "setDefault" o = Gio.Application.ApplicationSetDefaultMethodInfo
+    ResolveApplicationMethod "setFlags" o = Gio.Application.ApplicationSetFlagsMethodInfo
+    ResolveApplicationMethod "setInactivityTimeout" o = Gio.Application.ApplicationSetInactivityTimeoutMethodInfo
+    ResolveApplicationMethod "setMenubar" o = ApplicationSetMenubarMethodInfo
+    ResolveApplicationMethod "setOptionContextDescription" o = Gio.Application.ApplicationSetOptionContextDescriptionMethodInfo
+    ResolveApplicationMethod "setOptionContextParameterString" o = Gio.Application.ApplicationSetOptionContextParameterStringMethodInfo
+    ResolveApplicationMethod "setOptionContextSummary" o = Gio.Application.ApplicationSetOptionContextSummaryMethodInfo
+    ResolveApplicationMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveApplicationMethod "setResourceBasePath" o = Gio.Application.ApplicationSetResourceBasePathMethodInfo
+    ResolveApplicationMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveApplicationMethod t Application, O.MethodInfo info Application p) => OL.IsLabel t (Application -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Application::query-end
+{- |
+Emitted when the session manager is about to end the session, only
+if 'GI.Gtk.Objects.Application.Application'::@/register-session/@ is 'True'. Applications can
+connect to this signal and call 'GI.Gtk.Objects.Application.applicationInhibit' with
+'GI.Gtk.Flags.ApplicationInhibitFlagsLogout' to delay the end of the session
+until state has been saved.
+
+/Since: 3.24.8/
+-}
+type ApplicationQueryEndCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ApplicationQueryEndCallback`@.
+noApplicationQueryEndCallback :: Maybe ApplicationQueryEndCallback
+noApplicationQueryEndCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ApplicationQueryEndCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ApplicationQueryEndCallback`.
+foreign import ccall "wrapper"
+    mk_ApplicationQueryEndCallback :: C_ApplicationQueryEndCallback -> IO (FunPtr C_ApplicationQueryEndCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ApplicationQueryEnd :: MonadIO m => ApplicationQueryEndCallback -> m (GClosure C_ApplicationQueryEndCallback)
+genClosure_ApplicationQueryEnd cb = liftIO $ do
+    let cb' = wrap_ApplicationQueryEndCallback cb
+    mk_ApplicationQueryEndCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ApplicationQueryEndCallback` into a `C_ApplicationQueryEndCallback`.
+wrap_ApplicationQueryEndCallback ::
+    ApplicationQueryEndCallback ->
+    C_ApplicationQueryEndCallback
+wrap_ApplicationQueryEndCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@query-end@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' application #queryEnd callback
+@
+-}
+onApplicationQueryEnd :: (IsApplication a, MonadIO m) => a -> ApplicationQueryEndCallback -> m SignalHandlerId
+onApplicationQueryEnd obj cb = liftIO $ do
+    let cb' = wrap_ApplicationQueryEndCallback cb
+    cb'' <- mk_ApplicationQueryEndCallback cb'
+    connectSignalFunPtr obj "query-end" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@query-end@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' application #queryEnd callback
+@
+-}
+afterApplicationQueryEnd :: (IsApplication a, MonadIO m) => a -> ApplicationQueryEndCallback -> m SignalHandlerId
+afterApplicationQueryEnd obj cb = liftIO $ do
+    let cb' = wrap_ApplicationQueryEndCallback cb
+    cb'' <- mk_ApplicationQueryEndCallback cb'
+    connectSignalFunPtr obj "query-end" cb'' SignalConnectAfter
+
+
+-- signal Application::window-added
+{- |
+Emitted when a 'GI.Gtk.Objects.Window.Window' is added to /@application@/ through
+'GI.Gtk.Objects.Application.applicationAddWindow'.
+
+/Since: 3.2/
+-}
+type ApplicationWindowAddedCallback =
+    Gtk.Window.Window
+    {- ^ /@window@/: the newly-added 'GI.Gtk.Objects.Window.Window' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ApplicationWindowAddedCallback`@.
+noApplicationWindowAddedCallback :: Maybe ApplicationWindowAddedCallback
+noApplicationWindowAddedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ApplicationWindowAddedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Window.Window ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ApplicationWindowAddedCallback`.
+foreign import ccall "wrapper"
+    mk_ApplicationWindowAddedCallback :: C_ApplicationWindowAddedCallback -> IO (FunPtr C_ApplicationWindowAddedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ApplicationWindowAdded :: MonadIO m => ApplicationWindowAddedCallback -> m (GClosure C_ApplicationWindowAddedCallback)
+genClosure_ApplicationWindowAdded cb = liftIO $ do
+    let cb' = wrap_ApplicationWindowAddedCallback cb
+    mk_ApplicationWindowAddedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ApplicationWindowAddedCallback` into a `C_ApplicationWindowAddedCallback`.
+wrap_ApplicationWindowAddedCallback ::
+    ApplicationWindowAddedCallback ->
+    C_ApplicationWindowAddedCallback
+wrap_ApplicationWindowAddedCallback _cb _ window _ = do
+    window' <- (newObject Gtk.Window.Window) window
+    _cb  window'
+
+
+{- |
+Connect a signal handler for the “@window-added@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' application #windowAdded callback
+@
+-}
+onApplicationWindowAdded :: (IsApplication a, MonadIO m) => a -> ApplicationWindowAddedCallback -> m SignalHandlerId
+onApplicationWindowAdded obj cb = liftIO $ do
+    let cb' = wrap_ApplicationWindowAddedCallback cb
+    cb'' <- mk_ApplicationWindowAddedCallback cb'
+    connectSignalFunPtr obj "window-added" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@window-added@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' application #windowAdded callback
+@
+-}
+afterApplicationWindowAdded :: (IsApplication a, MonadIO m) => a -> ApplicationWindowAddedCallback -> m SignalHandlerId
+afterApplicationWindowAdded obj cb = liftIO $ do
+    let cb' = wrap_ApplicationWindowAddedCallback cb
+    cb'' <- mk_ApplicationWindowAddedCallback cb'
+    connectSignalFunPtr obj "window-added" cb'' SignalConnectAfter
+
+
+-- signal Application::window-removed
+{- |
+Emitted when a 'GI.Gtk.Objects.Window.Window' is removed from /@application@/,
+either as a side-effect of being destroyed or explicitly
+through 'GI.Gtk.Objects.Application.applicationRemoveWindow'.
+
+/Since: 3.2/
+-}
+type ApplicationWindowRemovedCallback =
+    Gtk.Window.Window
+    {- ^ /@window@/: the 'GI.Gtk.Objects.Window.Window' that is being removed -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ApplicationWindowRemovedCallback`@.
+noApplicationWindowRemovedCallback :: Maybe ApplicationWindowRemovedCallback
+noApplicationWindowRemovedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ApplicationWindowRemovedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Window.Window ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ApplicationWindowRemovedCallback`.
+foreign import ccall "wrapper"
+    mk_ApplicationWindowRemovedCallback :: C_ApplicationWindowRemovedCallback -> IO (FunPtr C_ApplicationWindowRemovedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ApplicationWindowRemoved :: MonadIO m => ApplicationWindowRemovedCallback -> m (GClosure C_ApplicationWindowRemovedCallback)
+genClosure_ApplicationWindowRemoved cb = liftIO $ do
+    let cb' = wrap_ApplicationWindowRemovedCallback cb
+    mk_ApplicationWindowRemovedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ApplicationWindowRemovedCallback` into a `C_ApplicationWindowRemovedCallback`.
+wrap_ApplicationWindowRemovedCallback ::
+    ApplicationWindowRemovedCallback ->
+    C_ApplicationWindowRemovedCallback
+wrap_ApplicationWindowRemovedCallback _cb _ window _ = do
+    window' <- (newObject Gtk.Window.Window) window
+    _cb  window'
+
+
+{- |
+Connect a signal handler for the “@window-removed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' application #windowRemoved callback
+@
+-}
+onApplicationWindowRemoved :: (IsApplication a, MonadIO m) => a -> ApplicationWindowRemovedCallback -> m SignalHandlerId
+onApplicationWindowRemoved obj cb = liftIO $ do
+    let cb' = wrap_ApplicationWindowRemovedCallback cb
+    cb'' <- mk_ApplicationWindowRemovedCallback cb'
+    connectSignalFunPtr obj "window-removed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@window-removed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' application #windowRemoved callback
+@
+-}
+afterApplicationWindowRemoved :: (IsApplication a, MonadIO m) => a -> ApplicationWindowRemovedCallback -> m SignalHandlerId
+afterApplicationWindowRemoved obj cb = liftIO $ do
+    let cb' = wrap_ApplicationWindowRemovedCallback cb
+    cb'' <- mk_ApplicationWindowRemovedCallback cb'
+    connectSignalFunPtr obj "window-removed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "active-window"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Window"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@active-window@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' application #activeWindow
+@
+-}
+getApplicationActiveWindow :: (MonadIO m, IsApplication o) => o -> m (Maybe Gtk.Window.Window)
+getApplicationActiveWindow obj = liftIO $ B.Properties.getObjectPropertyObject obj "active-window" Gtk.Window.Window
+
+#if ENABLE_OVERLOADING
+data ApplicationActiveWindowPropertyInfo
+instance AttrInfo ApplicationActiveWindowPropertyInfo where
+    type AttrAllowedOps ApplicationActiveWindowPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ApplicationActiveWindowPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ApplicationActiveWindowPropertyInfo = IsApplication
+    type AttrGetType ApplicationActiveWindowPropertyInfo = (Maybe Gtk.Window.Window)
+    type AttrLabel ApplicationActiveWindowPropertyInfo = "active-window"
+    type AttrOrigin ApplicationActiveWindowPropertyInfo = Application
+    attrGet _ = getApplicationActiveWindow
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "app-menu"
+   -- Type: TInterface (Name {namespace = "Gio", name = "MenuModel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@app-menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' application #appMenu
+@
+-}
+getApplicationAppMenu :: (MonadIO m, IsApplication o) => o -> m (Maybe Gio.MenuModel.MenuModel)
+getApplicationAppMenu obj = liftIO $ B.Properties.getObjectPropertyObject obj "app-menu" Gio.MenuModel.MenuModel
+
+{- |
+Set the value of the “@app-menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' application [ #appMenu 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setApplicationAppMenu :: (MonadIO m, IsApplication o, Gio.MenuModel.IsMenuModel a) => o -> a -> m ()
+setApplicationAppMenu obj val = liftIO $ B.Properties.setObjectPropertyObject obj "app-menu" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@app-menu@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructApplicationAppMenu :: (IsApplication o, Gio.MenuModel.IsMenuModel a) => a -> IO (GValueConstruct o)
+constructApplicationAppMenu val = B.Properties.constructObjectPropertyObject "app-menu" (Just val)
+
+{- |
+Set the value of the “@app-menu@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #appMenu
+@
+-}
+clearApplicationAppMenu :: (MonadIO m, IsApplication o) => o -> m ()
+clearApplicationAppMenu obj = liftIO $ B.Properties.setObjectPropertyObject obj "app-menu" (Nothing :: Maybe Gio.MenuModel.MenuModel)
+
+#if ENABLE_OVERLOADING
+data ApplicationAppMenuPropertyInfo
+instance AttrInfo ApplicationAppMenuPropertyInfo where
+    type AttrAllowedOps ApplicationAppMenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ApplicationAppMenuPropertyInfo = Gio.MenuModel.IsMenuModel
+    type AttrBaseTypeConstraint ApplicationAppMenuPropertyInfo = IsApplication
+    type AttrGetType ApplicationAppMenuPropertyInfo = (Maybe Gio.MenuModel.MenuModel)
+    type AttrLabel ApplicationAppMenuPropertyInfo = "app-menu"
+    type AttrOrigin ApplicationAppMenuPropertyInfo = Application
+    attrGet _ = getApplicationAppMenu
+    attrSet _ = setApplicationAppMenu
+    attrConstruct _ = constructApplicationAppMenu
+    attrClear _ = clearApplicationAppMenu
+#endif
+
+-- VVV Prop "menubar"
+   -- Type: TInterface (Name {namespace = "Gio", name = "MenuModel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@menubar@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' application #menubar
+@
+-}
+getApplicationMenubar :: (MonadIO m, IsApplication o) => o -> m Gio.MenuModel.MenuModel
+getApplicationMenubar obj = liftIO $ checkUnexpectedNothing "getApplicationMenubar" $ B.Properties.getObjectPropertyObject obj "menubar" Gio.MenuModel.MenuModel
+
+{- |
+Set the value of the “@menubar@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' application [ #menubar 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setApplicationMenubar :: (MonadIO m, IsApplication o, Gio.MenuModel.IsMenuModel a) => o -> a -> m ()
+setApplicationMenubar obj val = liftIO $ B.Properties.setObjectPropertyObject obj "menubar" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@menubar@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructApplicationMenubar :: (IsApplication o, Gio.MenuModel.IsMenuModel a) => a -> IO (GValueConstruct o)
+constructApplicationMenubar val = B.Properties.constructObjectPropertyObject "menubar" (Just val)
+
+{- |
+Set the value of the “@menubar@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #menubar
+@
+-}
+clearApplicationMenubar :: (MonadIO m, IsApplication o) => o -> m ()
+clearApplicationMenubar obj = liftIO $ B.Properties.setObjectPropertyObject obj "menubar" (Nothing :: Maybe Gio.MenuModel.MenuModel)
+
+#if ENABLE_OVERLOADING
+data ApplicationMenubarPropertyInfo
+instance AttrInfo ApplicationMenubarPropertyInfo where
+    type AttrAllowedOps ApplicationMenubarPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ApplicationMenubarPropertyInfo = Gio.MenuModel.IsMenuModel
+    type AttrBaseTypeConstraint ApplicationMenubarPropertyInfo = IsApplication
+    type AttrGetType ApplicationMenubarPropertyInfo = Gio.MenuModel.MenuModel
+    type AttrLabel ApplicationMenubarPropertyInfo = "menubar"
+    type AttrOrigin ApplicationMenubarPropertyInfo = Application
+    attrGet _ = getApplicationMenubar
+    attrSet _ = setApplicationMenubar
+    attrConstruct _ = constructApplicationMenubar
+    attrClear _ = clearApplicationMenubar
+#endif
+
+-- VVV Prop "register-session"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@register-session@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' application #registerSession
+@
+-}
+getApplicationRegisterSession :: (MonadIO m, IsApplication o) => o -> m Bool
+getApplicationRegisterSession obj = liftIO $ B.Properties.getObjectPropertyBool obj "register-session"
+
+{- |
+Set the value of the “@register-session@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' application [ #registerSession 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setApplicationRegisterSession :: (MonadIO m, IsApplication o) => o -> Bool -> m ()
+setApplicationRegisterSession obj val = liftIO $ B.Properties.setObjectPropertyBool obj "register-session" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@register-session@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructApplicationRegisterSession :: (IsApplication o) => Bool -> IO (GValueConstruct o)
+constructApplicationRegisterSession val = B.Properties.constructObjectPropertyBool "register-session" val
+
+#if ENABLE_OVERLOADING
+data ApplicationRegisterSessionPropertyInfo
+instance AttrInfo ApplicationRegisterSessionPropertyInfo where
+    type AttrAllowedOps ApplicationRegisterSessionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ApplicationRegisterSessionPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ApplicationRegisterSessionPropertyInfo = IsApplication
+    type AttrGetType ApplicationRegisterSessionPropertyInfo = Bool
+    type AttrLabel ApplicationRegisterSessionPropertyInfo = "register-session"
+    type AttrOrigin ApplicationRegisterSessionPropertyInfo = Application
+    attrGet _ = getApplicationRegisterSession
+    attrSet _ = setApplicationRegisterSession
+    attrConstruct _ = constructApplicationRegisterSession
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "screensaver-active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@screensaver-active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' application #screensaverActive
+@
+-}
+getApplicationScreensaverActive :: (MonadIO m, IsApplication o) => o -> m Bool
+getApplicationScreensaverActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "screensaver-active"
+
+#if ENABLE_OVERLOADING
+data ApplicationScreensaverActivePropertyInfo
+instance AttrInfo ApplicationScreensaverActivePropertyInfo where
+    type AttrAllowedOps ApplicationScreensaverActivePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint ApplicationScreensaverActivePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ApplicationScreensaverActivePropertyInfo = IsApplication
+    type AttrGetType ApplicationScreensaverActivePropertyInfo = Bool
+    type AttrLabel ApplicationScreensaverActivePropertyInfo = "screensaver-active"
+    type AttrOrigin ApplicationScreensaverActivePropertyInfo = Application
+    attrGet _ = getApplicationScreensaverActive
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Application
+type instance O.AttributeList Application = ApplicationAttributeList
+type ApplicationAttributeList = ('[ '("actionGroup", Gio.Application.ApplicationActionGroupPropertyInfo), '("activeWindow", ApplicationActiveWindowPropertyInfo), '("appMenu", ApplicationAppMenuPropertyInfo), '("applicationId", Gio.Application.ApplicationApplicationIdPropertyInfo), '("flags", Gio.Application.ApplicationFlagsPropertyInfo), '("inactivityTimeout", Gio.Application.ApplicationInactivityTimeoutPropertyInfo), '("isBusy", Gio.Application.ApplicationIsBusyPropertyInfo), '("isRegistered", Gio.Application.ApplicationIsRegisteredPropertyInfo), '("isRemote", Gio.Application.ApplicationIsRemotePropertyInfo), '("menubar", ApplicationMenubarPropertyInfo), '("registerSession", ApplicationRegisterSessionPropertyInfo), '("resourceBasePath", Gio.Application.ApplicationResourceBasePathPropertyInfo), '("screensaverActive", ApplicationScreensaverActivePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+applicationActiveWindow :: AttrLabelProxy "activeWindow"
+applicationActiveWindow = AttrLabelProxy
+
+applicationAppMenu :: AttrLabelProxy "appMenu"
+applicationAppMenu = AttrLabelProxy
+
+applicationMenubar :: AttrLabelProxy "menubar"
+applicationMenubar = AttrLabelProxy
+
+applicationRegisterSession :: AttrLabelProxy "registerSession"
+applicationRegisterSession = AttrLabelProxy
+
+applicationScreensaverActive :: AttrLabelProxy "screensaverActive"
+applicationScreensaverActive = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ApplicationQueryEndSignalInfo
+instance SignalInfo ApplicationQueryEndSignalInfo where
+    type HaskellCallbackType ApplicationQueryEndSignalInfo = ApplicationQueryEndCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ApplicationQueryEndCallback cb
+        cb'' <- mk_ApplicationQueryEndCallback cb'
+        connectSignalFunPtr obj "query-end" cb'' connectMode
+
+data ApplicationWindowAddedSignalInfo
+instance SignalInfo ApplicationWindowAddedSignalInfo where
+    type HaskellCallbackType ApplicationWindowAddedSignalInfo = ApplicationWindowAddedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ApplicationWindowAddedCallback cb
+        cb'' <- mk_ApplicationWindowAddedCallback cb'
+        connectSignalFunPtr obj "window-added" cb'' connectMode
+
+data ApplicationWindowRemovedSignalInfo
+instance SignalInfo ApplicationWindowRemovedSignalInfo where
+    type HaskellCallbackType ApplicationWindowRemovedSignalInfo = ApplicationWindowRemovedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ApplicationWindowRemovedCallback cb
+        cb'' <- mk_ApplicationWindowRemovedCallback cb'
+        connectSignalFunPtr obj "window-removed" cb'' connectMode
+
+type instance O.SignalList Application = ApplicationSignalList
+type ApplicationSignalList = ('[ '("actionAdded", Gio.ActionGroup.ActionGroupActionAddedSignalInfo), '("actionEnabledChanged", Gio.ActionGroup.ActionGroupActionEnabledChangedSignalInfo), '("actionRemoved", Gio.ActionGroup.ActionGroupActionRemovedSignalInfo), '("actionStateChanged", Gio.ActionGroup.ActionGroupActionStateChangedSignalInfo), '("activate", Gio.Application.ApplicationActivateSignalInfo), '("commandLine", Gio.Application.ApplicationCommandLineSignalInfo), '("handleLocalOptions", Gio.Application.ApplicationHandleLocalOptionsSignalInfo), '("nameLost", Gio.Application.ApplicationNameLostSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("open", Gio.Application.ApplicationOpenSignalInfo), '("queryEnd", ApplicationQueryEndSignalInfo), '("shutdown", Gio.Application.ApplicationShutdownSignalInfo), '("startup", Gio.Application.ApplicationStartupSignalInfo), '("windowAdded", ApplicationWindowAddedSignalInfo), '("windowRemoved", ApplicationWindowRemovedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Application::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "application_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The application ID.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gio", name = "ApplicationFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the application flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Application"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_new" gtk_application_new :: 
+    CString ->                              -- application_id : TBasicType TUTF8
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gio", name = "ApplicationFlags"})
+    IO (Ptr Application)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Application.Application' instance.
+
+When using 'GI.Gtk.Objects.Application.Application', it is not necessary to call 'GI.Gtk.Functions.init'
+manually. It is called as soon as the application gets registered as
+the primary instance.
+
+Concretely, 'GI.Gtk.Functions.init' is called in the default handler for the
+'GI.Gio.Objects.Application.Application'::@/startup/@ signal. Therefore, 'GI.Gtk.Objects.Application.Application' subclasses should
+chain up in their 'GI.Gio.Objects.Application.Application'::@/startup/@ handler before using any GTK+ API.
+
+Note that commandline arguments are not passed to 'GI.Gtk.Functions.init'.
+All GTK+ functionality that is available via commandline arguments
+can also be achieved by setting suitable environment variables
+such as @G_DEBUG@, so this should not be a big
+problem. If you absolutely must support GTK+ commandline arguments,
+you can explicitly call 'GI.Gtk.Functions.init' before creating the application
+instance.
+
+If non-'Nothing', the application ID must be valid.  See
+'GI.Gio.Objects.Application.applicationIdIsValid'.
+
+If no application ID is given then some features (most notably application
+uniqueness) will be disabled. A null application ID is only allowed with
+GTK+ 3.6 or later.
+
+/Since: 3.0/
+-}
+applicationNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@applicationId@/: The application ID. -}
+    -> [Gio.Flags.ApplicationFlags]
+    {- ^ /@flags@/: the application flags -}
+    -> m (Maybe Application)
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Application.Application' instance -}
+applicationNew applicationId flags = liftIO $ do
+    maybeApplicationId <- case applicationId of
+        Nothing -> return nullPtr
+        Just jApplicationId -> do
+            jApplicationId' <- textToCString jApplicationId
+            return jApplicationId'
+    let flags' = gflagsToWord flags
+    result <- gtk_application_new maybeApplicationId flags'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Application) result'
+        return result''
+    freeMem maybeApplicationId
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Application::add_accelerator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accelerator string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the action to activate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parameter", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "parameter to pass when activating the action,\n  or %NULL if the action does not accept an activation parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_add_accelerator" gtk_application_add_accelerator :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    CString ->                              -- accelerator : TBasicType TUTF8
+    CString ->                              -- action_name : TBasicType TUTF8
+    Ptr GVariant ->                         -- parameter : TVariant
+    IO ()
+
+{-# DEPRECATED applicationAddAccelerator ["(Since version 3.14)","Use 'GI.Gtk.Objects.Application.applicationSetAccelsForAction' instead"] #-}
+{- |
+Installs an accelerator that will cause the named action
+to be activated when the key combination specificed by /@accelerator@/
+is pressed.
+
+/@accelerator@/ must be a string that can be parsed by 'GI.Gtk.Functions.acceleratorParse',
+e.g. \"\<Primary>q\" or “\<Control>\<Alt>p”.
+
+/@actionName@/ must be the name of an action as it would be used
+in the app menu, i.e. actions that have been added to the application
+are referred to with an “app.” prefix, and window-specific actions
+with a “win.” prefix.
+
+GtkApplication also extracts accelerators out of “accel” attributes
+in the @/GMenuModels/@ passed to 'GI.Gtk.Objects.Application.applicationSetAppMenu' and
+'GI.Gtk.Objects.Application.applicationSetMenubar', which is usually more convenient
+than calling this function for each accelerator.
+
+/Since: 3.4/
+-}
+applicationAddAccelerator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> T.Text
+    {- ^ /@accelerator@/: accelerator string -}
+    -> T.Text
+    {- ^ /@actionName@/: the name of the action to activate -}
+    -> Maybe (GVariant)
+    {- ^ /@parameter@/: parameter to pass when activating the action,
+  or 'Nothing' if the action does not accept an activation parameter -}
+    -> m ()
+applicationAddAccelerator application accelerator actionName parameter = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    accelerator' <- textToCString accelerator
+    actionName' <- textToCString actionName
+    maybeParameter <- case parameter of
+        Nothing -> return nullPtr
+        Just jParameter -> do
+            jParameter' <- unsafeManagedPtrGetPtr jParameter
+            return jParameter'
+    gtk_application_add_accelerator application' accelerator' actionName' maybeParameter
+    touchManagedPtr application
+    whenJust parameter touchManagedPtr
+    freeMem accelerator'
+    freeMem actionName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationAddAcceleratorMethodInfo
+instance (signature ~ (T.Text -> T.Text -> Maybe (GVariant) -> m ()), MonadIO m, IsApplication a) => O.MethodInfo ApplicationAddAcceleratorMethodInfo a signature where
+    overloadedMethod _ = applicationAddAccelerator
+
+#endif
+
+-- method Application::add_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_add_window" gtk_application_add_window :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    Ptr Gtk.Window.Window ->                -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Adds a window to /@application@/.
+
+This call can only happen after the /@application@/ has started;
+typically, you should add new application windows in response
+to the emission of the 'GI.Gio.Objects.Application.Application'::@/activate/@ signal.
+
+This call is equivalent to setting the 'GI.Gtk.Objects.Window.Window':@/application/@
+property of /@window@/ to /@application@/.
+
+Normally, the connection between the application and the window
+will remain until the window is destroyed, but you can explicitly
+remove it with 'GI.Gtk.Objects.Application.applicationRemoveWindow'.
+
+GTK+ will keep the /@application@/ running as long as it has
+any windows.
+
+/Since: 3.0/
+-}
+applicationAddWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a, Gtk.Window.IsWindow b) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> b
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+applicationAddWindow application window = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_application_add_window application' window'
+    touchManagedPtr application
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationAddWindowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsApplication a, Gtk.Window.IsWindow b) => O.MethodInfo ApplicationAddWindowMethodInfo a signature where
+    overloadedMethod _ = applicationAddWindow
+
+#endif
+
+-- method Application::get_accels_for_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detailed_action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a detailed action name, specifying an action\n    and target to obtain accelerators for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_get_accels_for_action" gtk_application_get_accels_for_action :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    CString ->                              -- detailed_action_name : TBasicType TUTF8
+    IO (Ptr CString)
+
+{- |
+Gets the accelerators that are currently associated with
+the given action.
+
+/Since: 3.12/
+-}
+applicationGetAccelsForAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> T.Text
+    {- ^ /@detailedActionName@/: a detailed action name, specifying an action
+    and target to obtain accelerators for -}
+    -> m [T.Text]
+    {- ^ __Returns:__ accelerators for /@detailedActionName@/, as
+    a 'Nothing'-terminated array. Free with 'GI.GLib.Functions.strfreev' when no longer needed -}
+applicationGetAccelsForAction application detailedActionName = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    detailedActionName' <- textToCString detailedActionName
+    result <- gtk_application_get_accels_for_action application' detailedActionName'
+    checkUnexpectedReturnNULL "applicationGetAccelsForAction" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    mapZeroTerminatedCArray freeMem result
+    freeMem result
+    touchManagedPtr application
+    freeMem detailedActionName'
+    return result'
+
+#if ENABLE_OVERLOADING
+data ApplicationGetAccelsForActionMethodInfo
+instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, IsApplication a) => O.MethodInfo ApplicationGetAccelsForActionMethodInfo a signature where
+    overloadedMethod _ = applicationGetAccelsForAction
+
+#endif
+
+-- method Application::get_actions_for_accel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an accelerator that can be parsed by gtk_accelerator_parse()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_get_actions_for_accel" gtk_application_get_actions_for_accel :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    CString ->                              -- accel : TBasicType TUTF8
+    IO (Ptr CString)
+
+{- |
+Returns the list of actions (possibly empty) that /@accel@/ maps to.
+Each item in the list is a detailed action name in the usual form.
+
+This might be useful to discover if an accel already exists in
+order to prevent installation of a conflicting accelerator (from
+an accelerator editor or a plugin system, for example). Note that
+having more than one action per accelerator may not be a bad thing
+and might make sense in cases where the actions never appear in the
+same context.
+
+In case there are no actions for a given accelerator, an empty array
+is returned.  'Nothing' is never returned.
+
+It is a programmer error to pass an invalid accelerator string.
+If you are unsure, check it with 'GI.Gtk.Functions.acceleratorParse' first.
+
+/Since: 3.14/
+-}
+applicationGetActionsForAccel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> T.Text
+    {- ^ /@accel@/: an accelerator that can be parsed by 'GI.Gtk.Functions.acceleratorParse' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ a 'Nothing'-terminated array of actions for /@accel@/ -}
+applicationGetActionsForAccel application accel = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    accel' <- textToCString accel
+    result <- gtk_application_get_actions_for_accel application' accel'
+    checkUnexpectedReturnNULL "applicationGetActionsForAccel" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    mapZeroTerminatedCArray freeMem result
+    freeMem result
+    touchManagedPtr application
+    freeMem accel'
+    return result'
+
+#if ENABLE_OVERLOADING
+data ApplicationGetActionsForAccelMethodInfo
+instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, IsApplication a) => O.MethodInfo ApplicationGetActionsForAccelMethodInfo a signature where
+    overloadedMethod _ = applicationGetActionsForAccel
+
+#endif
+
+-- method Application::get_active_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_get_active_window" gtk_application_get_active_window :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    IO (Ptr Gtk.Window.Window)
+
+{- |
+Gets the “active” window for the application.
+
+The active window is the one that was most recently focused (within
+the application).  This window may not have the focus at the moment
+if another application has it — this is just the most
+recently-focused window within this application.
+
+/Since: 3.6/
+-}
+applicationGetActiveWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> m (Maybe Gtk.Window.Window)
+    {- ^ __Returns:__ the active window, or 'Nothing' if
+  there isn\'t one. -}
+applicationGetActiveWindow application = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    result <- gtk_application_get_active_window application'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Window.Window) result'
+        return result''
+    touchManagedPtr application
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ApplicationGetActiveWindowMethodInfo
+instance (signature ~ (m (Maybe Gtk.Window.Window)), MonadIO m, IsApplication a) => O.MethodInfo ApplicationGetActiveWindowMethodInfo a signature where
+    overloadedMethod _ = applicationGetActiveWindow
+
+#endif
+
+-- method Application::get_app_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "MenuModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_get_app_menu" gtk_application_get_app_menu :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    IO (Ptr Gio.MenuModel.MenuModel)
+
+{- |
+Returns the menu model that has been set with
+'GI.Gtk.Objects.Application.applicationSetAppMenu'.
+
+/Since: 3.4/
+-}
+applicationGetAppMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> m (Maybe Gio.MenuModel.MenuModel)
+    {- ^ __Returns:__ the application menu of /@application@/
+  or 'Nothing' if no application menu has been set. -}
+applicationGetAppMenu application = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    result <- gtk_application_get_app_menu application'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.MenuModel.MenuModel) result'
+        return result''
+    touchManagedPtr application
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ApplicationGetAppMenuMethodInfo
+instance (signature ~ (m (Maybe Gio.MenuModel.MenuModel)), MonadIO m, IsApplication a) => O.MethodInfo ApplicationGetAppMenuMethodInfo a signature where
+    overloadedMethod _ = applicationGetAppMenu
+
+#endif
+
+-- method Application::get_menu_by_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id of the menu to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Menu"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_get_menu_by_id" gtk_application_get_menu_by_id :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    CString ->                              -- id : TBasicType TUTF8
+    IO (Ptr Gio.Menu.Menu)
+
+{- |
+Gets a menu from automatically loaded resources.
+See [Automatic resources][automatic-resources]
+for more information.
+
+/Since: 3.14/
+-}
+applicationGetMenuById ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> T.Text
+    {- ^ /@id@/: the id of the menu to look up -}
+    -> m Gio.Menu.Menu
+    {- ^ __Returns:__ Gets the menu with the
+    given id from the automatically loaded resources -}
+applicationGetMenuById application id = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    id' <- textToCString id
+    result <- gtk_application_get_menu_by_id application' id'
+    checkUnexpectedReturnNULL "applicationGetMenuById" result
+    result' <- (newObject Gio.Menu.Menu) result
+    touchManagedPtr application
+    freeMem id'
+    return result'
+
+#if ENABLE_OVERLOADING
+data ApplicationGetMenuByIdMethodInfo
+instance (signature ~ (T.Text -> m Gio.Menu.Menu), MonadIO m, IsApplication a) => O.MethodInfo ApplicationGetMenuByIdMethodInfo a signature where
+    overloadedMethod _ = applicationGetMenuById
+
+#endif
+
+-- method Application::get_menubar
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "MenuModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_get_menubar" gtk_application_get_menubar :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    IO (Ptr Gio.MenuModel.MenuModel)
+
+{- |
+Returns the menu model that has been set with
+'GI.Gtk.Objects.Application.applicationSetMenubar'.
+
+/Since: 3.4/
+-}
+applicationGetMenubar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> m Gio.MenuModel.MenuModel
+    {- ^ __Returns:__ the menubar for windows of /@application@/ -}
+applicationGetMenubar application = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    result <- gtk_application_get_menubar application'
+    checkUnexpectedReturnNULL "applicationGetMenubar" result
+    result' <- (newObject Gio.MenuModel.MenuModel) result
+    touchManagedPtr application
+    return result'
+
+#if ENABLE_OVERLOADING
+data ApplicationGetMenubarMethodInfo
+instance (signature ~ (m Gio.MenuModel.MenuModel), MonadIO m, IsApplication a) => O.MethodInfo ApplicationGetMenubarMethodInfo a signature where
+    overloadedMethod _ = applicationGetMenubar
+
+#endif
+
+-- method Application::get_window_by_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an identifier number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_get_window_by_id" gtk_application_get_window_by_id :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    Word32 ->                               -- id : TBasicType TUInt
+    IO (Ptr Gtk.Window.Window)
+
+{- |
+Returns the 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' with the given ID.
+
+The ID of a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' can be retrieved with
+'GI.Gtk.Objects.ApplicationWindow.applicationWindowGetId'.
+
+/Since: 3.6/
+-}
+applicationGetWindowById ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> Word32
+    {- ^ /@id@/: an identifier number -}
+    -> m (Maybe Gtk.Window.Window)
+    {- ^ __Returns:__ the window with ID /@id@/, or
+  'Nothing' if there is no window with this ID -}
+applicationGetWindowById application id = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    result <- gtk_application_get_window_by_id application' id
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Window.Window) result'
+        return result''
+    touchManagedPtr application
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ApplicationGetWindowByIdMethodInfo
+instance (signature ~ (Word32 -> m (Maybe Gtk.Window.Window)), MonadIO m, IsApplication a) => O.MethodInfo ApplicationGetWindowByIdMethodInfo a signature where
+    overloadedMethod _ = applicationGetWindowById
+
+#endif
+
+-- method Application::get_windows
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Window"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_get_windows" gtk_application_get_windows :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    IO (Ptr (GList (Ptr Gtk.Window.Window)))
+
+{- |
+Gets a list of the @/GtkWindows/@ associated with /@application@/.
+
+The list is sorted by most recently focused window, such that the first
+element is the currently focused window. (Useful for choosing a parent
+for a transient window.)
+
+The list that is returned should not be modified in any way. It will
+only remain valid until the next focus change or window creation or
+deletion.
+
+/Since: 3.0/
+-}
+applicationGetWindows ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> m [Gtk.Window.Window]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of 'GI.Gtk.Objects.Window.Window' -}
+applicationGetWindows application = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    result <- gtk_application_get_windows application'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.Window.Window) result'
+    touchManagedPtr application
+    return result''
+
+#if ENABLE_OVERLOADING
+data ApplicationGetWindowsMethodInfo
+instance (signature ~ (m [Gtk.Window.Window]), MonadIO m, IsApplication a) => O.MethodInfo ApplicationGetWindowsMethodInfo a signature where
+    overloadedMethod _ = applicationGetWindows
+
+#endif
+
+-- method Application::inhibit
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWindow, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "ApplicationInhibitFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "what types of actions should be inhibited", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reason", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a short, human-readable string that explains\n    why these operations are inhibited", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_inhibit" gtk_application_inhibit :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    Ptr Gtk.Window.Window ->                -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "ApplicationInhibitFlags"})
+    CString ->                              -- reason : TBasicType TUTF8
+    IO Word32
+
+{- |
+Inform the session manager that certain types of actions should be
+inhibited. This is not guaranteed to work on all platforms and for
+all types of actions.
+
+Applications should invoke this method when they begin an operation
+that should not be interrupted, such as creating a CD or DVD. The
+types of actions that may be blocked are specified by the /@flags@/
+parameter. When the application completes the operation it should
+call 'GI.Gtk.Objects.Application.applicationUninhibit' to remove the inhibitor. Note that
+an application can have multiple inhibitors, and all of them must
+be individually removed. Inhibitors are also cleared when the
+application exits.
+
+Applications should not expect that they will always be able to block
+the action. In most cases, users will be given the option to force
+the action to take place.
+
+Reasons should be short and to the point.
+
+If /@window@/ is given, the session manager may point the user to
+this window to find out more about why the action is inhibited.
+
+/Since: 3.4/
+-}
+applicationInhibit ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a, Gtk.Window.IsWindow b) =>
+    a
+    {- ^ /@application@/: the 'GI.Gtk.Objects.Application.Application' -}
+    -> Maybe (b)
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window', or 'Nothing' -}
+    -> [Gtk.Flags.ApplicationInhibitFlags]
+    {- ^ /@flags@/: what types of actions should be inhibited -}
+    -> Maybe (T.Text)
+    {- ^ /@reason@/: a short, human-readable string that explains
+    why these operations are inhibited -}
+    -> m Word32
+    {- ^ __Returns:__ A non-zero cookie that is used to uniquely identify this
+    request. It should be used as an argument to 'GI.Gtk.Objects.Application.applicationUninhibit'
+    in order to remove the request. If the platform does not support
+    inhibiting or the request failed for some reason, 0 is returned. -}
+applicationInhibit application window flags reason = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    maybeWindow <- case window of
+        Nothing -> return nullPtr
+        Just jWindow -> do
+            jWindow' <- unsafeManagedPtrCastPtr jWindow
+            return jWindow'
+    let flags' = gflagsToWord flags
+    maybeReason <- case reason of
+        Nothing -> return nullPtr
+        Just jReason -> do
+            jReason' <- textToCString jReason
+            return jReason'
+    result <- gtk_application_inhibit application' maybeWindow flags' maybeReason
+    touchManagedPtr application
+    whenJust window touchManagedPtr
+    freeMem maybeReason
+    return result
+
+#if ENABLE_OVERLOADING
+data ApplicationInhibitMethodInfo
+instance (signature ~ (Maybe (b) -> [Gtk.Flags.ApplicationInhibitFlags] -> Maybe (T.Text) -> m Word32), MonadIO m, IsApplication a, Gtk.Window.IsWindow b) => O.MethodInfo ApplicationInhibitMethodInfo a signature where
+    overloadedMethod _ = applicationInhibit
+
+#endif
+
+-- method Application::is_inhibited
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "ApplicationInhibitFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "what types of actions should be queried", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_is_inhibited" gtk_application_is_inhibited :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "ApplicationInhibitFlags"})
+    IO CInt
+
+{- |
+Determines if any of the actions specified in /@flags@/ are
+currently inhibited (possibly by another application).
+
+Note that this information may not be available (for example
+when the application is running in a sandbox).
+
+/Since: 3.4/
+-}
+applicationIsInhibited ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: the 'GI.Gtk.Objects.Application.Application' -}
+    -> [Gtk.Flags.ApplicationInhibitFlags]
+    {- ^ /@flags@/: what types of actions should be queried -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if any of the actions specified in /@flags@/ are inhibited -}
+applicationIsInhibited application flags = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    let flags' = gflagsToWord flags
+    result <- gtk_application_is_inhibited application' flags'
+    let result' = (/= 0) result
+    touchManagedPtr application
+    return result'
+
+#if ENABLE_OVERLOADING
+data ApplicationIsInhibitedMethodInfo
+instance (signature ~ ([Gtk.Flags.ApplicationInhibitFlags] -> m Bool), MonadIO m, IsApplication a) => O.MethodInfo ApplicationIsInhibitedMethodInfo a signature where
+    overloadedMethod _ = applicationIsInhibited
+
+#endif
+
+-- method Application::list_action_descriptions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_list_action_descriptions" gtk_application_list_action_descriptions :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    IO (Ptr CString)
+
+{- |
+Lists the detailed action names which have associated accelerators.
+See 'GI.Gtk.Objects.Application.applicationSetAccelsForAction'.
+
+/Since: 3.12/
+-}
+applicationListActionDescriptions ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ a 'Nothing'-terminated array of strings,
+    free with 'GI.GLib.Functions.strfreev' when done -}
+applicationListActionDescriptions application = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    result <- gtk_application_list_action_descriptions application'
+    checkUnexpectedReturnNULL "applicationListActionDescriptions" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    mapZeroTerminatedCArray freeMem result
+    freeMem result
+    touchManagedPtr application
+    return result'
+
+#if ENABLE_OVERLOADING
+data ApplicationListActionDescriptionsMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsApplication a) => O.MethodInfo ApplicationListActionDescriptionsMethodInfo a signature where
+    overloadedMethod _ = applicationListActionDescriptions
+
+#endif
+
+-- method Application::prefers_app_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_prefers_app_menu" gtk_application_prefers_app_menu :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    IO CInt
+
+{- |
+Determines if the desktop environment in which the application is
+running would prefer an application menu be shown.
+
+If this function returns 'True' then the application should call
+'GI.Gtk.Objects.Application.applicationSetAppMenu' with the contents of an application
+menu, which will be shown by the desktop environment.  If it returns
+'False' then you should consider using an alternate approach, such as
+a menubar.
+
+The value returned by this function is purely advisory and you are
+free to ignore it.  If you call 'GI.Gtk.Objects.Application.applicationSetAppMenu' even
+if the desktop environment doesn\'t support app menus, then a fallback
+will be provided.
+
+Applications are similarly free not to set an app menu even if the
+desktop environment wants to show one.  In that case, a fallback will
+also be created by the desktop environment (GNOME, for example, uses
+a menu with only a \"Quit\" item in it).
+
+The value returned by this function never changes.  Once it returns a
+particular value, it is guaranteed to always return the same value.
+
+You may only call this function after the application has been
+registered and after the base startup handler has run.  You\'re most
+likely to want to use this from your own startup handler.  It may
+also make sense to consult this function while constructing UI (in
+activate, open or an action activation handler) in order to determine
+if you should show a gear menu or not.
+
+This function will return 'False' on Mac OS and a default app menu
+will be created automatically with the \"usual\" contents of that menu
+typical to most Mac OS applications.  If you call
+'GI.Gtk.Objects.Application.applicationSetAppMenu' anyway, then this menu will be
+replaced with your own.
+
+/Since: 3.14/
+-}
+applicationPrefersAppMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if you should set an app menu -}
+applicationPrefersAppMenu application = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    result <- gtk_application_prefers_app_menu application'
+    let result' = (/= 0) result
+    touchManagedPtr application
+    return result'
+
+#if ENABLE_OVERLOADING
+data ApplicationPrefersAppMenuMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsApplication a) => O.MethodInfo ApplicationPrefersAppMenuMethodInfo a signature where
+    overloadedMethod _ = applicationPrefersAppMenu
+
+#endif
+
+-- method Application::remove_accelerator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the action to activate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parameter", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "parameter to pass when activating the action,\n  or %NULL if the action does not accept an activation parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_remove_accelerator" gtk_application_remove_accelerator :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    CString ->                              -- action_name : TBasicType TUTF8
+    Ptr GVariant ->                         -- parameter : TVariant
+    IO ()
+
+{-# DEPRECATED applicationRemoveAccelerator ["(Since version 3.14)","Use 'GI.Gtk.Objects.Application.applicationSetAccelsForAction' instead"] #-}
+{- |
+Removes an accelerator that has been previously added
+with 'GI.Gtk.Objects.Application.applicationAddAccelerator'.
+
+/Since: 3.4/
+-}
+applicationRemoveAccelerator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> T.Text
+    {- ^ /@actionName@/: the name of the action to activate -}
+    -> Maybe (GVariant)
+    {- ^ /@parameter@/: parameter to pass when activating the action,
+  or 'Nothing' if the action does not accept an activation parameter -}
+    -> m ()
+applicationRemoveAccelerator application actionName parameter = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    actionName' <- textToCString actionName
+    maybeParameter <- case parameter of
+        Nothing -> return nullPtr
+        Just jParameter -> do
+            jParameter' <- unsafeManagedPtrGetPtr jParameter
+            return jParameter'
+    gtk_application_remove_accelerator application' actionName' maybeParameter
+    touchManagedPtr application
+    whenJust parameter touchManagedPtr
+    freeMem actionName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationRemoveAcceleratorMethodInfo
+instance (signature ~ (T.Text -> Maybe (GVariant) -> m ()), MonadIO m, IsApplication a) => O.MethodInfo ApplicationRemoveAcceleratorMethodInfo a signature where
+    overloadedMethod _ = applicationRemoveAccelerator
+
+#endif
+
+-- method Application::remove_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_remove_window" gtk_application_remove_window :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    Ptr Gtk.Window.Window ->                -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Remove a window from /@application@/.
+
+If /@window@/ belongs to /@application@/ then this call is equivalent to
+setting the 'GI.Gtk.Objects.Window.Window':@/application/@ property of /@window@/ to
+'Nothing'.
+
+The application may stop running as a result of a call to this
+function.
+
+/Since: 3.0/
+-}
+applicationRemoveWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a, Gtk.Window.IsWindow b) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> b
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+applicationRemoveWindow application window = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_application_remove_window application' window'
+    touchManagedPtr application
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationRemoveWindowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsApplication a, Gtk.Window.IsWindow b) => O.MethodInfo ApplicationRemoveWindowMethodInfo a signature where
+    overloadedMethod _ = applicationRemoveWindow
+
+#endif
+
+-- method Application::set_accels_for_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detailed_action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a detailed action name, specifying an action\n    and target to associate accelerators with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accels", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a list of accelerators in the format\n    understood by gtk_accelerator_parse()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_set_accels_for_action" gtk_application_set_accels_for_action :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    CString ->                              -- detailed_action_name : TBasicType TUTF8
+    Ptr CString ->                          -- accels : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+{- |
+Sets zero or more keyboard accelerators that will trigger the
+given action. The first item in /@accels@/ will be the primary
+accelerator, which may be displayed in the UI.
+
+To remove all accelerators for an action, use an empty, zero-terminated
+array for /@accels@/.
+
+For the /@detailedActionName@/, see 'GI.Gio.Functions.actionParseDetailedName' and
+'GI.Gio.Functions.actionPrintDetailedName'.
+
+/Since: 3.12/
+-}
+applicationSetAccelsForAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> T.Text
+    {- ^ /@detailedActionName@/: a detailed action name, specifying an action
+    and target to associate accelerators with -}
+    -> [T.Text]
+    {- ^ /@accels@/: a list of accelerators in the format
+    understood by 'GI.Gtk.Functions.acceleratorParse' -}
+    -> m ()
+applicationSetAccelsForAction application detailedActionName accels = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    detailedActionName' <- textToCString detailedActionName
+    accels' <- packZeroTerminatedUTF8CArray accels
+    gtk_application_set_accels_for_action application' detailedActionName' accels'
+    touchManagedPtr application
+    freeMem detailedActionName'
+    mapZeroTerminatedCArray freeMem accels'
+    freeMem accels'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationSetAccelsForActionMethodInfo
+instance (signature ~ (T.Text -> [T.Text] -> m ()), MonadIO m, IsApplication a) => O.MethodInfo ApplicationSetAccelsForActionMethodInfo a signature where
+    overloadedMethod _ = applicationSetAccelsForAction
+
+#endif
+
+-- method Application::set_app_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_menu", argType = TInterface (Name {namespace = "Gio", name = "MenuModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GMenuModel, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_set_app_menu" gtk_application_set_app_menu :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    Ptr Gio.MenuModel.MenuModel ->          -- app_menu : TInterface (Name {namespace = "Gio", name = "MenuModel"})
+    IO ()
+
+{- |
+Sets or unsets the application menu for /@application@/.
+
+This can only be done in the primary instance of the application,
+after it has been registered.  'GI.Gio.Objects.Application.Application'::@/startup/@ is a good place
+to call this.
+
+The application menu is a single menu containing items that typically
+impact the application as a whole, rather than acting on a specific
+window or document.  For example, you would expect to see
+“Preferences” or “Quit” in an application menu, but not “Save” or
+“Print”.
+
+If supported, the application menu will be rendered by the desktop
+environment.
+
+Use the base 'GI.Gio.Interfaces.ActionMap.ActionMap' interface to add actions, to respond to the user
+selecting these menu items.
+
+/Since: 3.4/
+-}
+applicationSetAppMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a, Gio.MenuModel.IsMenuModel b) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> Maybe (b)
+    {- ^ /@appMenu@/: a 'GI.Gio.Objects.MenuModel.MenuModel', or 'Nothing' -}
+    -> m ()
+applicationSetAppMenu application appMenu = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    maybeAppMenu <- case appMenu of
+        Nothing -> return nullPtr
+        Just jAppMenu -> do
+            jAppMenu' <- unsafeManagedPtrCastPtr jAppMenu
+            return jAppMenu'
+    gtk_application_set_app_menu application' maybeAppMenu
+    touchManagedPtr application
+    whenJust appMenu touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationSetAppMenuMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsApplication a, Gio.MenuModel.IsMenuModel b) => O.MethodInfo ApplicationSetAppMenuMethodInfo a signature where
+    overloadedMethod _ = applicationSetAppMenu
+
+#endif
+
+-- method Application::set_menubar
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menubar", argType = TInterface (Name {namespace = "Gio", name = "MenuModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GMenuModel, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_set_menubar" gtk_application_set_menubar :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    Ptr Gio.MenuModel.MenuModel ->          -- menubar : TInterface (Name {namespace = "Gio", name = "MenuModel"})
+    IO ()
+
+{- |
+Sets or unsets the menubar for windows of /@application@/.
+
+This is a menubar in the traditional sense.
+
+This can only be done in the primary instance of the application,
+after it has been registered.  'GI.Gio.Objects.Application.Application'::@/startup/@ is a good place
+to call this.
+
+Depending on the desktop environment, this may appear at the top of
+each window, or at the top of the screen.  In some environments, if
+both the application menu and the menubar are set, the application
+menu will be presented as if it were the first item of the menubar.
+Other environments treat the two as completely separate — for example,
+the application menu may be rendered by the desktop shell while the
+menubar (if set) remains in each individual window.
+
+Use the base 'GI.Gio.Interfaces.ActionMap.ActionMap' interface to add actions, to respond to the
+user selecting these menu items.
+
+/Since: 3.4/
+-}
+applicationSetMenubar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a, Gio.MenuModel.IsMenuModel b) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> Maybe (b)
+    {- ^ /@menubar@/: a 'GI.Gio.Objects.MenuModel.MenuModel', or 'Nothing' -}
+    -> m ()
+applicationSetMenubar application menubar = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    maybeMenubar <- case menubar of
+        Nothing -> return nullPtr
+        Just jMenubar -> do
+            jMenubar' <- unsafeManagedPtrCastPtr jMenubar
+            return jMenubar'
+    gtk_application_set_menubar application' maybeMenubar
+    touchManagedPtr application
+    whenJust menubar touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationSetMenubarMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsApplication a, Gio.MenuModel.IsMenuModel b) => O.MethodInfo ApplicationSetMenubarMethodInfo a signature where
+    overloadedMethod _ = applicationSetMenubar
+
+#endif
+
+-- method Application::uninhibit
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cookie", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cookie that was returned by gtk_application_inhibit()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_uninhibit" gtk_application_uninhibit :: 
+    Ptr Application ->                      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    Word32 ->                               -- cookie : TBasicType TUInt
+    IO ()
+
+{- |
+Removes an inhibitor that has been established with 'GI.Gtk.Objects.Application.applicationInhibit'.
+Inhibitors are also cleared when the application exits.
+
+/Since: 3.4/
+-}
+applicationUninhibit ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplication a) =>
+    a
+    {- ^ /@application@/: the 'GI.Gtk.Objects.Application.Application' -}
+    -> Word32
+    {- ^ /@cookie@/: a cookie that was returned by 'GI.Gtk.Objects.Application.applicationInhibit' -}
+    -> m ()
+applicationUninhibit application cookie = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    gtk_application_uninhibit application' cookie
+    touchManagedPtr application
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationUninhibitMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsApplication a) => O.MethodInfo ApplicationUninhibitMethodInfo a signature where
+    overloadedMethod _ = applicationUninhibit
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Application.hs-boot b/GI/Gtk/Objects/Application.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Application.hs-boot
@@ -0,0 +1,113 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Application where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Application = Application (ManagedPtr Application)
+instance GObject Application where
+class (GObject o, O.IsDescendantOf Application o) => IsApplication o
+instance (GObject o, O.IsDescendantOf Application o) => IsApplication o
+instance O.HasParentTypes Application
+#if ENABLE_OVERLOADING
+data ApplicationActiveWindowPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationAppMenuPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationMenubarPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationRegisterSessionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationScreensaverActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationQueryEndSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationWindowAddedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationWindowRemovedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationAddAcceleratorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationAddWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationGetAccelsForActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationGetActionsForAccelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationGetActiveWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationGetAppMenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationGetMenuByIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationGetMenubarMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationGetWindowByIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationGetWindowsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationInhibitMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationIsInhibitedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationListActionDescriptionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationPrefersAppMenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationRemoveAcceleratorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationRemoveWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationSetAccelsForActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationSetAppMenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationSetMenubarMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationUninhibitMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ApplicationWindow.hs b/GI/Gtk/Objects/ApplicationWindow.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ApplicationWindow.hs
@@ -0,0 +1,1026 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' is a 'GI.Gtk.Objects.Window.Window' subclass that offers some
+extra functionality for better integration with 'GI.Gtk.Objects.Application.Application'
+features.  Notably, it can handle both the application menu as well
+as the menubar. See 'GI.Gtk.Objects.Application.applicationSetAppMenu' and
+'GI.Gtk.Objects.Application.applicationSetMenubar'.
+
+This class implements the 'GI.Gio.Interfaces.ActionGroup.ActionGroup' and 'GI.Gio.Interfaces.ActionMap.ActionMap' interfaces,
+to let you add window-specific actions that will be exported by the
+associated 'GI.Gtk.Objects.Application.Application', together with its application-wide
+actions.  Window-specific actions are prefixed with the “win.”
+prefix and application-wide actions are prefixed with the “app.”
+prefix.  Actions must be addressed with the prefixed name when
+referring to them from a 'GI.Gio.Objects.MenuModel.MenuModel'.
+
+Note that widgets that are placed inside a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow'
+can also activate these actions, if they implement the
+'GI.Gtk.Interfaces.Actionable.Actionable' interface.
+
+As with 'GI.Gtk.Objects.Application.Application', the GDK lock will be acquired when
+processing actions arriving from other processes and should therefore
+be held when activating actions locally (if GDK threads are enabled).
+
+The settings 'GI.Gtk.Objects.Settings.Settings':@/gtk-shell-shows-app-menu/@ and
+'GI.Gtk.Objects.Settings.Settings':@/gtk-shell-shows-menubar/@ tell GTK+ whether the
+desktop environment is showing the application menu and menubar
+models outside the application as part of the desktop shell.
+For instance, on OS X, both menus will be displayed remotely;
+on Windows neither will be. gnome-shell (starting with version 3.4)
+will display the application menu, but not the menubar.
+
+If the desktop environment does not display the menubar, then
+'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' will automatically show a 'GI.Gtk.Objects.MenuBar.MenuBar' for it.
+This behaviour can be overridden with the 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow':@/show-menubar/@
+property. If the desktop environment does not display the application
+menu, then it will automatically be included in the menubar or in the
+windows client-side decorations.
+
+== A GtkApplicationWindow with a menubar
+
+
+=== /C code/
+>
+>GtkApplication *app = gtk_application_new ("org.gtk.test", 0);
+>
+>GtkBuilder *builder = gtk_builder_new_from_string (
+>    "<interface>"
+>    "  <menu id='menubar'>"
+>    "    <submenu label='_Edit'>"
+>    "      <item label='_Copy' action='win.copy'/>"
+>    "      <item label='_Paste' action='win.paste'/>"
+>    "    </submenu>"
+>    "  </menu>"
+>    "</interface>",
+>    -1);
+>
+>GMenuModel *menubar = G_MENU_MODEL (gtk_builder_get_object (builder,
+>                                                            "menubar"));
+>gtk_application_set_menubar (GTK_APPLICATION (app), menubar);
+>g_object_unref (builder);
+>
+>// ...
+>
+>GtkWidget *window = gtk_application_window_new (app);
+
+
+== Handling fallback yourself
+
+<https://git.gnome.org/browse/gtk+/tree/examples/sunny.c A simple example>
+
+The XML format understood by 'GI.Gtk.Objects.Builder.Builder' for 'GI.Gio.Objects.MenuModel.MenuModel' consists
+of a toplevel @\<menu>@ element, which contains one or more @\<item>@
+elements. Each @\<item>@ element contains @\<attribute>@ and @\<link>@
+elements with a mandatory name attribute. @\<link>@ elements have the
+same content model as @\<menu>@. Instead of @\<link name=\"submenu>@ or
+@\<link name=\"section\">@, you can use @\<submenu>@ or @\<section>@
+elements.
+
+Attribute values can be translated using gettext, like other 'GI.Gtk.Objects.Builder.Builder'
+content. @\<attribute>@ elements can be marked for translation with a
+@translatable=\"yes\"@ attribute. It is also possible to specify message
+context and translator comments, using the context and comments attributes.
+To make use of this, the 'GI.Gtk.Objects.Builder.Builder' must have been given the gettext
+domain to use.
+
+The following attributes are used when constructing menu items:
+
+* \"label\": a user-visible string to display
+* \"action\": the prefixed name of the action to trigger
+* \"target\": the parameter to use when activating the action
+* \"icon\" and \"verb-icon\": names of icons that may be displayed
+* \"submenu-action\": name of an action that may be used to determine
+   if a submenu can be opened
+* \"hidden-when\": a string used to determine when the item will be hidden.
+   Possible values include \"action-disabled\", \"action-missing\", \"macos-menubar\".
+
+
+The following attributes are used when constructing sections:
+
+* \"label\": a user-visible string to use as section heading
+* \"display-hint\": a string used to determine special formatting for the section.
+  Possible values include \"horizontal-buttons\".
+* \"text-direction\": a string used to determine the 'GI.Gtk.Enums.TextDirection' to use
+  when \"display-hint\" is set to \"horizontal-buttons\". Possible values
+  include \"rtl\", \"ltr\", and \"none\".
+
+
+The following attributes are used when constructing submenus:
+
+* \"label\": a user-visible string to display
+* \"icon\": icon name to display
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ApplicationWindow
+    ( 
+
+-- * Exported types
+    ApplicationWindow(..)                   ,
+    IsApplicationWindow                     ,
+    toApplicationWindow                     ,
+    noApplicationWindow                     ,
+
+
+ -- * Methods
+-- ** getHelpOverlay #method:getHelpOverlay#
+
+#if ENABLE_OVERLOADING
+    ApplicationWindowGetHelpOverlayMethodInfo,
+#endif
+    applicationWindowGetHelpOverlay         ,
+
+
+-- ** getId #method:getId#
+
+#if ENABLE_OVERLOADING
+    ApplicationWindowGetIdMethodInfo        ,
+#endif
+    applicationWindowGetId                  ,
+
+
+-- ** getShowMenubar #method:getShowMenubar#
+
+#if ENABLE_OVERLOADING
+    ApplicationWindowGetShowMenubarMethodInfo,
+#endif
+    applicationWindowGetShowMenubar         ,
+
+
+-- ** new #method:new#
+
+    applicationWindowNew                    ,
+
+
+-- ** setHelpOverlay #method:setHelpOverlay#
+
+#if ENABLE_OVERLOADING
+    ApplicationWindowSetHelpOverlayMethodInfo,
+#endif
+    applicationWindowSetHelpOverlay         ,
+
+
+-- ** setShowMenubar #method:setShowMenubar#
+
+#if ENABLE_OVERLOADING
+    ApplicationWindowSetShowMenubarMethodInfo,
+#endif
+    applicationWindowSetShowMenubar         ,
+
+
+
+
+ -- * Properties
+-- ** showMenubar #attr:showMenubar#
+{- | If this property is 'True', the window will display a menubar
+that includes the app menu and menubar, unless these are
+shown by the desktop shell. See 'GI.Gtk.Objects.Application.applicationSetAppMenu'
+and 'GI.Gtk.Objects.Application.applicationSetMenubar'.
+
+If 'False', the window will not display a menubar, regardless
+of whether the desktop shell is showing the menus or not.
+-}
+#if ENABLE_OVERLOADING
+    ApplicationWindowShowMenubarPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    applicationWindowShowMenubar            ,
+#endif
+    constructApplicationWindowShowMenubar   ,
+    getApplicationWindowShowMenubar         ,
+    setApplicationWindowShowMenubar         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.ActionGroup as Gio.ActionGroup
+import qualified GI.Gio.Interfaces.ActionMap as Gio.ActionMap
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Application as Gtk.Application
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ShortcutsWindow as Gtk.ShortcutsWindow
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype ApplicationWindow = ApplicationWindow (ManagedPtr ApplicationWindow)
+foreign import ccall "gtk_application_window_get_type"
+    c_gtk_application_window_get_type :: IO GType
+
+instance GObject ApplicationWindow where
+    gobjectType = c_gtk_application_window_get_type
+    
+
+-- | Type class for types which can be safely cast to `ApplicationWindow`, for instance with `toApplicationWindow`.
+class (GObject o, O.IsDescendantOf ApplicationWindow o) => IsApplicationWindow o
+instance (GObject o, O.IsDescendantOf ApplicationWindow o) => IsApplicationWindow o
+
+instance O.HasParentTypes ApplicationWindow
+type instance O.ParentTypes ApplicationWindow = '[Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gio.ActionGroup.ActionGroup, Gio.ActionMap.ActionMap, Gtk.Buildable.Buildable]
+
+-- | Cast to `ApplicationWindow`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toApplicationWindow :: (MonadIO m, IsApplicationWindow o) => o -> m ApplicationWindow
+toApplicationWindow = liftIO . unsafeCastTo ApplicationWindow
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ApplicationWindow`.
+noApplicationWindow :: Maybe ApplicationWindow
+noApplicationWindow = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveApplicationWindowMethod (t :: Symbol) (o :: *) :: * where
+    ResolveApplicationWindowMethod "actionAdded" o = Gio.ActionGroup.ActionGroupActionAddedMethodInfo
+    ResolveApplicationWindowMethod "actionEnabledChanged" o = Gio.ActionGroup.ActionGroupActionEnabledChangedMethodInfo
+    ResolveApplicationWindowMethod "actionRemoved" o = Gio.ActionGroup.ActionGroupActionRemovedMethodInfo
+    ResolveApplicationWindowMethod "actionStateChanged" o = Gio.ActionGroup.ActionGroupActionStateChangedMethodInfo
+    ResolveApplicationWindowMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveApplicationWindowMethod "activateAction" o = Gio.ActionGroup.ActionGroupActivateActionMethodInfo
+    ResolveApplicationWindowMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveApplicationWindowMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveApplicationWindowMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveApplicationWindowMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveApplicationWindowMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveApplicationWindowMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveApplicationWindowMethod "addAction" o = Gio.ActionMap.ActionMapAddActionMethodInfo
+    ResolveApplicationWindowMethod "addActionEntries" o = Gio.ActionMap.ActionMapAddActionEntriesMethodInfo
+    ResolveApplicationWindowMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveApplicationWindowMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveApplicationWindowMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveApplicationWindowMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveApplicationWindowMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveApplicationWindowMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveApplicationWindowMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveApplicationWindowMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveApplicationWindowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveApplicationWindowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveApplicationWindowMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveApplicationWindowMethod "changeActionState" o = Gio.ActionGroup.ActionGroupChangeActionStateMethodInfo
+    ResolveApplicationWindowMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveApplicationWindowMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveApplicationWindowMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveApplicationWindowMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveApplicationWindowMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveApplicationWindowMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveApplicationWindowMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveApplicationWindowMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveApplicationWindowMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveApplicationWindowMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveApplicationWindowMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveApplicationWindowMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveApplicationWindowMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveApplicationWindowMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveApplicationWindowMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveApplicationWindowMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveApplicationWindowMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveApplicationWindowMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveApplicationWindowMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveApplicationWindowMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveApplicationWindowMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveApplicationWindowMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveApplicationWindowMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveApplicationWindowMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveApplicationWindowMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveApplicationWindowMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveApplicationWindowMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveApplicationWindowMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveApplicationWindowMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveApplicationWindowMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveApplicationWindowMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveApplicationWindowMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveApplicationWindowMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveApplicationWindowMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveApplicationWindowMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveApplicationWindowMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveApplicationWindowMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveApplicationWindowMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveApplicationWindowMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveApplicationWindowMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveApplicationWindowMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveApplicationWindowMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveApplicationWindowMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveApplicationWindowMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveApplicationWindowMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveApplicationWindowMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveApplicationWindowMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveApplicationWindowMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveApplicationWindowMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveApplicationWindowMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveApplicationWindowMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveApplicationWindowMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveApplicationWindowMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveApplicationWindowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveApplicationWindowMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveApplicationWindowMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveApplicationWindowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveApplicationWindowMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveApplicationWindowMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveApplicationWindowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveApplicationWindowMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveApplicationWindowMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveApplicationWindowMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveApplicationWindowMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveApplicationWindowMethod "hasAction" o = Gio.ActionGroup.ActionGroupHasActionMethodInfo
+    ResolveApplicationWindowMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveApplicationWindowMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveApplicationWindowMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveApplicationWindowMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveApplicationWindowMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveApplicationWindowMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveApplicationWindowMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveApplicationWindowMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveApplicationWindowMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveApplicationWindowMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveApplicationWindowMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveApplicationWindowMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveApplicationWindowMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveApplicationWindowMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveApplicationWindowMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveApplicationWindowMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveApplicationWindowMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveApplicationWindowMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveApplicationWindowMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveApplicationWindowMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveApplicationWindowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveApplicationWindowMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveApplicationWindowMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveApplicationWindowMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveApplicationWindowMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveApplicationWindowMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveApplicationWindowMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveApplicationWindowMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveApplicationWindowMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveApplicationWindowMethod "listActions" o = Gio.ActionGroup.ActionGroupListActionsMethodInfo
+    ResolveApplicationWindowMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveApplicationWindowMethod "lookupAction" o = Gio.ActionMap.ActionMapLookupActionMethodInfo
+    ResolveApplicationWindowMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveApplicationWindowMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveApplicationWindowMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveApplicationWindowMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveApplicationWindowMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveApplicationWindowMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveApplicationWindowMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveApplicationWindowMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveApplicationWindowMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveApplicationWindowMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveApplicationWindowMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveApplicationWindowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveApplicationWindowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveApplicationWindowMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveApplicationWindowMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveApplicationWindowMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveApplicationWindowMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveApplicationWindowMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveApplicationWindowMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveApplicationWindowMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveApplicationWindowMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveApplicationWindowMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveApplicationWindowMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveApplicationWindowMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveApplicationWindowMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveApplicationWindowMethod "queryAction" o = Gio.ActionGroup.ActionGroupQueryActionMethodInfo
+    ResolveApplicationWindowMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveApplicationWindowMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveApplicationWindowMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveApplicationWindowMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveApplicationWindowMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveApplicationWindowMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveApplicationWindowMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveApplicationWindowMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveApplicationWindowMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveApplicationWindowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveApplicationWindowMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveApplicationWindowMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveApplicationWindowMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveApplicationWindowMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveApplicationWindowMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveApplicationWindowMethod "removeAction" o = Gio.ActionMap.ActionMapRemoveActionMethodInfo
+    ResolveApplicationWindowMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveApplicationWindowMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveApplicationWindowMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveApplicationWindowMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveApplicationWindowMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveApplicationWindowMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveApplicationWindowMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveApplicationWindowMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveApplicationWindowMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveApplicationWindowMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveApplicationWindowMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveApplicationWindowMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveApplicationWindowMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveApplicationWindowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveApplicationWindowMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveApplicationWindowMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveApplicationWindowMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveApplicationWindowMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveApplicationWindowMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveApplicationWindowMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveApplicationWindowMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveApplicationWindowMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveApplicationWindowMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveApplicationWindowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveApplicationWindowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveApplicationWindowMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveApplicationWindowMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveApplicationWindowMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveApplicationWindowMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveApplicationWindowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveApplicationWindowMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveApplicationWindowMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveApplicationWindowMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveApplicationWindowMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveApplicationWindowMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveApplicationWindowMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveApplicationWindowMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveApplicationWindowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveApplicationWindowMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveApplicationWindowMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveApplicationWindowMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveApplicationWindowMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveApplicationWindowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveApplicationWindowMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveApplicationWindowMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveApplicationWindowMethod "getActionEnabled" o = Gio.ActionGroup.ActionGroupGetActionEnabledMethodInfo
+    ResolveApplicationWindowMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveApplicationWindowMethod "getActionParameterType" o = Gio.ActionGroup.ActionGroupGetActionParameterTypeMethodInfo
+    ResolveApplicationWindowMethod "getActionState" o = Gio.ActionGroup.ActionGroupGetActionStateMethodInfo
+    ResolveApplicationWindowMethod "getActionStateHint" o = Gio.ActionGroup.ActionGroupGetActionStateHintMethodInfo
+    ResolveApplicationWindowMethod "getActionStateType" o = Gio.ActionGroup.ActionGroupGetActionStateTypeMethodInfo
+    ResolveApplicationWindowMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveApplicationWindowMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveApplicationWindowMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveApplicationWindowMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveApplicationWindowMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveApplicationWindowMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveApplicationWindowMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveApplicationWindowMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveApplicationWindowMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveApplicationWindowMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveApplicationWindowMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveApplicationWindowMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveApplicationWindowMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveApplicationWindowMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveApplicationWindowMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveApplicationWindowMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveApplicationWindowMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveApplicationWindowMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveApplicationWindowMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveApplicationWindowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveApplicationWindowMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveApplicationWindowMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveApplicationWindowMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveApplicationWindowMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveApplicationWindowMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveApplicationWindowMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveApplicationWindowMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveApplicationWindowMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveApplicationWindowMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveApplicationWindowMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveApplicationWindowMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveApplicationWindowMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveApplicationWindowMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveApplicationWindowMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveApplicationWindowMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveApplicationWindowMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveApplicationWindowMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveApplicationWindowMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveApplicationWindowMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveApplicationWindowMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveApplicationWindowMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveApplicationWindowMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveApplicationWindowMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveApplicationWindowMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveApplicationWindowMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveApplicationWindowMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveApplicationWindowMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveApplicationWindowMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveApplicationWindowMethod "getHelpOverlay" o = ApplicationWindowGetHelpOverlayMethodInfo
+    ResolveApplicationWindowMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveApplicationWindowMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveApplicationWindowMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveApplicationWindowMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveApplicationWindowMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveApplicationWindowMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveApplicationWindowMethod "getId" o = ApplicationWindowGetIdMethodInfo
+    ResolveApplicationWindowMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveApplicationWindowMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveApplicationWindowMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveApplicationWindowMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveApplicationWindowMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveApplicationWindowMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveApplicationWindowMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveApplicationWindowMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveApplicationWindowMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveApplicationWindowMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveApplicationWindowMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveApplicationWindowMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveApplicationWindowMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveApplicationWindowMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveApplicationWindowMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveApplicationWindowMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveApplicationWindowMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveApplicationWindowMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveApplicationWindowMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveApplicationWindowMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveApplicationWindowMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveApplicationWindowMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveApplicationWindowMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveApplicationWindowMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveApplicationWindowMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveApplicationWindowMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveApplicationWindowMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveApplicationWindowMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveApplicationWindowMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveApplicationWindowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveApplicationWindowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveApplicationWindowMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveApplicationWindowMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveApplicationWindowMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveApplicationWindowMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveApplicationWindowMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveApplicationWindowMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveApplicationWindowMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveApplicationWindowMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveApplicationWindowMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveApplicationWindowMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveApplicationWindowMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveApplicationWindowMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveApplicationWindowMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveApplicationWindowMethod "getShowMenubar" o = ApplicationWindowGetShowMenubarMethodInfo
+    ResolveApplicationWindowMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveApplicationWindowMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveApplicationWindowMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveApplicationWindowMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveApplicationWindowMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveApplicationWindowMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveApplicationWindowMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveApplicationWindowMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveApplicationWindowMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveApplicationWindowMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveApplicationWindowMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveApplicationWindowMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveApplicationWindowMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveApplicationWindowMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveApplicationWindowMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveApplicationWindowMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveApplicationWindowMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveApplicationWindowMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveApplicationWindowMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveApplicationWindowMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveApplicationWindowMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveApplicationWindowMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveApplicationWindowMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveApplicationWindowMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveApplicationWindowMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveApplicationWindowMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveApplicationWindowMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveApplicationWindowMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveApplicationWindowMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveApplicationWindowMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveApplicationWindowMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveApplicationWindowMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveApplicationWindowMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveApplicationWindowMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveApplicationWindowMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveApplicationWindowMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveApplicationWindowMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveApplicationWindowMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveApplicationWindowMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveApplicationWindowMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveApplicationWindowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveApplicationWindowMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveApplicationWindowMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveApplicationWindowMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveApplicationWindowMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveApplicationWindowMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveApplicationWindowMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveApplicationWindowMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveApplicationWindowMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveApplicationWindowMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveApplicationWindowMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveApplicationWindowMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveApplicationWindowMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveApplicationWindowMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveApplicationWindowMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveApplicationWindowMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveApplicationWindowMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveApplicationWindowMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveApplicationWindowMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveApplicationWindowMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveApplicationWindowMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveApplicationWindowMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveApplicationWindowMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveApplicationWindowMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveApplicationWindowMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveApplicationWindowMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveApplicationWindowMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveApplicationWindowMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveApplicationWindowMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveApplicationWindowMethod "setHelpOverlay" o = ApplicationWindowSetHelpOverlayMethodInfo
+    ResolveApplicationWindowMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveApplicationWindowMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveApplicationWindowMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveApplicationWindowMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveApplicationWindowMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveApplicationWindowMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveApplicationWindowMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveApplicationWindowMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveApplicationWindowMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveApplicationWindowMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveApplicationWindowMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveApplicationWindowMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveApplicationWindowMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveApplicationWindowMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveApplicationWindowMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveApplicationWindowMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveApplicationWindowMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveApplicationWindowMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveApplicationWindowMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveApplicationWindowMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveApplicationWindowMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveApplicationWindowMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveApplicationWindowMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveApplicationWindowMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveApplicationWindowMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveApplicationWindowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveApplicationWindowMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveApplicationWindowMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveApplicationWindowMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveApplicationWindowMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveApplicationWindowMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveApplicationWindowMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveApplicationWindowMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveApplicationWindowMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveApplicationWindowMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveApplicationWindowMethod "setShowMenubar" o = ApplicationWindowSetShowMenubarMethodInfo
+    ResolveApplicationWindowMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveApplicationWindowMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveApplicationWindowMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveApplicationWindowMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveApplicationWindowMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveApplicationWindowMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveApplicationWindowMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveApplicationWindowMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveApplicationWindowMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveApplicationWindowMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveApplicationWindowMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveApplicationWindowMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveApplicationWindowMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveApplicationWindowMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveApplicationWindowMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveApplicationWindowMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveApplicationWindowMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveApplicationWindowMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveApplicationWindowMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveApplicationWindowMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveApplicationWindowMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveApplicationWindowMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveApplicationWindowMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveApplicationWindowMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveApplicationWindowMethod t ApplicationWindow, O.MethodInfo info ApplicationWindow p) => OL.IsLabel t (ApplicationWindow -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "show-menubar"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-menubar@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' applicationWindow #showMenubar
+@
+-}
+getApplicationWindowShowMenubar :: (MonadIO m, IsApplicationWindow o) => o -> m Bool
+getApplicationWindowShowMenubar obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-menubar"
+
+{- |
+Set the value of the “@show-menubar@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' applicationWindow [ #showMenubar 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setApplicationWindowShowMenubar :: (MonadIO m, IsApplicationWindow o) => o -> Bool -> m ()
+setApplicationWindowShowMenubar obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-menubar" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-menubar@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructApplicationWindowShowMenubar :: (IsApplicationWindow o) => Bool -> IO (GValueConstruct o)
+constructApplicationWindowShowMenubar val = B.Properties.constructObjectPropertyBool "show-menubar" val
+
+#if ENABLE_OVERLOADING
+data ApplicationWindowShowMenubarPropertyInfo
+instance AttrInfo ApplicationWindowShowMenubarPropertyInfo where
+    type AttrAllowedOps ApplicationWindowShowMenubarPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ApplicationWindowShowMenubarPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ApplicationWindowShowMenubarPropertyInfo = IsApplicationWindow
+    type AttrGetType ApplicationWindowShowMenubarPropertyInfo = Bool
+    type AttrLabel ApplicationWindowShowMenubarPropertyInfo = "show-menubar"
+    type AttrOrigin ApplicationWindowShowMenubarPropertyInfo = ApplicationWindow
+    attrGet _ = getApplicationWindowShowMenubar
+    attrSet _ = setApplicationWindowShowMenubar
+    attrConstruct _ = constructApplicationWindowShowMenubar
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ApplicationWindow
+type instance O.AttributeList ApplicationWindow = ApplicationWindowAttributeList
+type ApplicationWindowAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showMenubar", ApplicationWindowShowMenubarPropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+applicationWindowShowMenubar :: AttrLabelProxy "showMenubar"
+applicationWindowShowMenubar = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ApplicationWindow = ApplicationWindowSignalList
+type ApplicationWindowSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("actionAdded", Gio.ActionGroup.ActionGroupActionAddedSignalInfo), '("actionEnabledChanged", Gio.ActionGroup.ActionGroupActionEnabledChangedSignalInfo), '("actionRemoved", Gio.ActionGroup.ActionGroupActionRemovedSignalInfo), '("actionStateChanged", Gio.ActionGroup.ActionGroupActionStateChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ApplicationWindow::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_window_new" gtk_application_window_new :: 
+    Ptr Gtk.Application.Application ->      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    IO (Ptr ApplicationWindow)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow'.
+
+/Since: 3.4/
+-}
+applicationWindowNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Application.IsApplication a) =>
+    a
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> m ApplicationWindow
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' -}
+applicationWindowNew application = liftIO $ do
+    application' <- unsafeManagedPtrCastPtr application
+    result <- gtk_application_window_new application'
+    checkUnexpectedReturnNULL "applicationWindowNew" result
+    result' <- (newObject ApplicationWindow) result
+    touchManagedPtr application
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ApplicationWindow::get_help_overlay
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplicationWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ShortcutsWindow"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_window_get_help_overlay" gtk_application_window_get_help_overlay :: 
+    Ptr ApplicationWindow ->                -- window : TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"})
+    IO (Ptr Gtk.ShortcutsWindow.ShortcutsWindow)
+
+{- |
+Gets the 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow' that has been set up with
+a prior call to 'GI.Gtk.Objects.ApplicationWindow.applicationWindowSetHelpOverlay'.
+
+/Since: 3.20/
+-}
+applicationWindowGetHelpOverlay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplicationWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' -}
+    -> m (Maybe Gtk.ShortcutsWindow.ShortcutsWindow)
+    {- ^ __Returns:__ the help overlay associated with /@window@/, or 'Nothing' -}
+applicationWindowGetHelpOverlay window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_application_window_get_help_overlay window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.ShortcutsWindow.ShortcutsWindow) result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ApplicationWindowGetHelpOverlayMethodInfo
+instance (signature ~ (m (Maybe Gtk.ShortcutsWindow.ShortcutsWindow)), MonadIO m, IsApplicationWindow a) => O.MethodInfo ApplicationWindowGetHelpOverlayMethodInfo a signature where
+    overloadedMethod _ = applicationWindowGetHelpOverlay
+
+#endif
+
+-- method ApplicationWindow::get_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplicationWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_window_get_id" gtk_application_window_get_id :: 
+    Ptr ApplicationWindow ->                -- window : TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"})
+    IO Word32
+
+{- |
+Returns the unique ID of the window. If the window has not yet been added to
+a 'GI.Gtk.Objects.Application.Application', returns @0@.
+
+/Since: 3.6/
+-}
+applicationWindowGetId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplicationWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' -}
+    -> m Word32
+    {- ^ __Returns:__ the unique ID for /@window@/, or @0@ if the window
+  has not yet been added to a 'GI.Gtk.Objects.Application.Application' -}
+applicationWindowGetId window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_application_window_get_id window'
+    touchManagedPtr window
+    return result
+
+#if ENABLE_OVERLOADING
+data ApplicationWindowGetIdMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsApplicationWindow a) => O.MethodInfo ApplicationWindowGetIdMethodInfo a signature where
+    overloadedMethod _ = applicationWindowGetId
+
+#endif
+
+-- method ApplicationWindow::get_show_menubar
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplicationWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_window_get_show_menubar" gtk_application_window_get_show_menubar :: 
+    Ptr ApplicationWindow ->                -- window : TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"})
+    IO CInt
+
+{- |
+Returns whether the window will display a menubar for the app menu
+and menubar as needed.
+
+/Since: 3.4/
+-}
+applicationWindowGetShowMenubar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplicationWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@window@/ will display a menubar when needed -}
+applicationWindowGetShowMenubar window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_application_window_get_show_menubar window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data ApplicationWindowGetShowMenubarMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsApplicationWindow a) => O.MethodInfo ApplicationWindowGetShowMenubarMethodInfo a signature where
+    overloadedMethod _ = applicationWindowGetShowMenubar
+
+#endif
+
+-- method ApplicationWindow::set_help_overlay
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplicationWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "help_overlay", argType = TInterface (Name {namespace = "Gtk", name = "ShortcutsWindow"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkShortcutsWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_window_set_help_overlay" gtk_application_window_set_help_overlay :: 
+    Ptr ApplicationWindow ->                -- window : TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"})
+    Ptr Gtk.ShortcutsWindow.ShortcutsWindow -> -- help_overlay : TInterface (Name {namespace = "Gtk", name = "ShortcutsWindow"})
+    IO ()
+
+{- |
+Associates a shortcuts window with the application window, and
+sets up an action with the name win.show-help-overlay to present
+it.
+
+/@window@/ takes resposibility for destroying /@helpOverlay@/.
+
+/Since: 3.20/
+-}
+applicationWindowSetHelpOverlay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplicationWindow a, Gtk.ShortcutsWindow.IsShortcutsWindow b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' -}
+    -> Maybe (b)
+    {- ^ /@helpOverlay@/: a 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow' -}
+    -> m ()
+applicationWindowSetHelpOverlay window helpOverlay = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeHelpOverlay <- case helpOverlay of
+        Nothing -> return nullPtr
+        Just jHelpOverlay -> do
+            jHelpOverlay' <- unsafeManagedPtrCastPtr jHelpOverlay
+            return jHelpOverlay'
+    gtk_application_window_set_help_overlay window' maybeHelpOverlay
+    touchManagedPtr window
+    whenJust helpOverlay touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationWindowSetHelpOverlayMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsApplicationWindow a, Gtk.ShortcutsWindow.IsShortcutsWindow b) => O.MethodInfo ApplicationWindowSetHelpOverlayMethodInfo a signature where
+    overloadedMethod _ = applicationWindowSetHelpOverlay
+
+#endif
+
+-- method ApplicationWindow::set_show_menubar
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplicationWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_menubar", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show a menubar when needed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_application_window_set_show_menubar" gtk_application_window_set_show_menubar :: 
+    Ptr ApplicationWindow ->                -- window : TInterface (Name {namespace = "Gtk", name = "ApplicationWindow"})
+    CInt ->                                 -- show_menubar : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the window will display a menubar for the app menu
+and menubar as needed.
+
+/Since: 3.4/
+-}
+applicationWindowSetShowMenubar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsApplicationWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' -}
+    -> Bool
+    {- ^ /@showMenubar@/: whether to show a menubar when needed -}
+    -> m ()
+applicationWindowSetShowMenubar window showMenubar = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let showMenubar' = (fromIntegral . fromEnum) showMenubar
+    gtk_application_window_set_show_menubar window' showMenubar'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data ApplicationWindowSetShowMenubarMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsApplicationWindow a) => O.MethodInfo ApplicationWindowSetShowMenubarMethodInfo a signature where
+    overloadedMethod _ = applicationWindowSetShowMenubar
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ApplicationWindow.hs-boot b/GI/Gtk/Objects/ApplicationWindow.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ApplicationWindow.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ApplicationWindow where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ApplicationWindow = ApplicationWindow (ManagedPtr ApplicationWindow)
+instance GObject ApplicationWindow where
+class (GObject o, O.IsDescendantOf ApplicationWindow o) => IsApplicationWindow o
+instance (GObject o, O.IsDescendantOf ApplicationWindow o) => IsApplicationWindow o
+instance O.HasParentTypes ApplicationWindow
+#if ENABLE_OVERLOADING
+data ApplicationWindowShowMenubarPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationWindowGetHelpOverlayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationWindowGetIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationWindowGetShowMenubarMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationWindowSetHelpOverlayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ApplicationWindowSetShowMenubarMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Arrow.hs b/GI/Gtk/Objects/Arrow.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Arrow.hs
@@ -0,0 +1,646 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkArrow should be used to draw simple arrows that need to point in
+one of the four cardinal directions (up, down, left, or right).  The
+style of the arrow can be one of shadow in, shadow out, etched in, or
+etched out.  Note that these directions and style types may be
+amended in versions of GTK+ to come.
+
+GtkArrow will fill any space alloted to it, but since it is inherited
+from 'GI.Gtk.Objects.Misc.Misc', it can be padded and\/or aligned, to fill exactly the
+space the programmer desires.
+
+Arrows are created with a call to 'GI.Gtk.Objects.Arrow.arrowNew'.  The direction or
+style of an arrow can be changed after creation by using 'GI.Gtk.Objects.Arrow.arrowSet'.
+
+GtkArrow has been deprecated; you can simply use a 'GI.Gtk.Objects.Image.Image' with a
+suitable icon name, such as “pan-down-symbolic“. When replacing
+GtkArrow by an image, pay attention to the fact that GtkArrow is
+doing automatic flipping between @/GTK_ARROW_LEFT/@ and @/GTK_ARROW_RIGHT/@,
+depending on the text direction. To get the same effect with an image,
+use the icon names “pan-start-symbolic“ and “pan-end-symbolic“, which
+react to the text direction.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Arrow
+    ( 
+
+-- * Exported types
+    Arrow(..)                               ,
+    IsArrow                                 ,
+    toArrow                                 ,
+    noArrow                                 ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    arrowNew                                ,
+
+
+-- ** set #method:set#
+
+#if ENABLE_OVERLOADING
+    ArrowSetMethodInfo                      ,
+#endif
+    arrowSet                                ,
+
+
+
+
+ -- * Properties
+-- ** arrowType #attr:arrowType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ArrowArrowTypePropertyInfo              ,
+#endif
+#if ENABLE_OVERLOADING
+    arrowArrowType                          ,
+#endif
+    constructArrowArrowType                 ,
+    getArrowArrowType                       ,
+    setArrowArrowType                       ,
+
+
+-- ** shadowType #attr:shadowType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ArrowShadowTypePropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    arrowShadowType                         ,
+#endif
+    constructArrowShadowType                ,
+    getArrowShadowType                      ,
+    setArrowShadowType                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Misc as Gtk.Misc
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Arrow = Arrow (ManagedPtr Arrow)
+foreign import ccall "gtk_arrow_get_type"
+    c_gtk_arrow_get_type :: IO GType
+
+instance GObject Arrow where
+    gobjectType = c_gtk_arrow_get_type
+    
+
+-- | Type class for types which can be safely cast to `Arrow`, for instance with `toArrow`.
+class (GObject o, O.IsDescendantOf Arrow o) => IsArrow o
+instance (GObject o, O.IsDescendantOf Arrow o) => IsArrow o
+
+instance O.HasParentTypes Arrow
+type instance O.ParentTypes Arrow = '[Gtk.Misc.Misc, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Arrow`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toArrow :: (MonadIO m, IsArrow o) => o -> m Arrow
+toArrow = liftIO . unsafeCastTo Arrow
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Arrow`.
+noArrow :: Maybe Arrow
+noArrow = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveArrowMethod (t :: Symbol) (o :: *) :: * where
+    ResolveArrowMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveArrowMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveArrowMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveArrowMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveArrowMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveArrowMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveArrowMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveArrowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveArrowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveArrowMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveArrowMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveArrowMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveArrowMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveArrowMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveArrowMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveArrowMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveArrowMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveArrowMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveArrowMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveArrowMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveArrowMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveArrowMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveArrowMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveArrowMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveArrowMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveArrowMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveArrowMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveArrowMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveArrowMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveArrowMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveArrowMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveArrowMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveArrowMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveArrowMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveArrowMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveArrowMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveArrowMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveArrowMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveArrowMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveArrowMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveArrowMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveArrowMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveArrowMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveArrowMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveArrowMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveArrowMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveArrowMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveArrowMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveArrowMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveArrowMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveArrowMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveArrowMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveArrowMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveArrowMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveArrowMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveArrowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveArrowMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveArrowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveArrowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveArrowMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveArrowMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveArrowMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveArrowMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveArrowMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveArrowMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveArrowMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveArrowMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveArrowMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveArrowMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveArrowMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveArrowMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveArrowMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveArrowMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveArrowMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveArrowMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveArrowMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveArrowMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveArrowMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveArrowMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveArrowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveArrowMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveArrowMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveArrowMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveArrowMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveArrowMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveArrowMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveArrowMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveArrowMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveArrowMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveArrowMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveArrowMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveArrowMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveArrowMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveArrowMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveArrowMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveArrowMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveArrowMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveArrowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveArrowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveArrowMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveArrowMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveArrowMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveArrowMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveArrowMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveArrowMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveArrowMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveArrowMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveArrowMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveArrowMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveArrowMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveArrowMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveArrowMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveArrowMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveArrowMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveArrowMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveArrowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveArrowMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveArrowMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveArrowMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveArrowMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveArrowMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveArrowMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveArrowMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveArrowMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveArrowMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveArrowMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveArrowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveArrowMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveArrowMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveArrowMethod "set" o = ArrowSetMethodInfo
+    ResolveArrowMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveArrowMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveArrowMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveArrowMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveArrowMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveArrowMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveArrowMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveArrowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveArrowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveArrowMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveArrowMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveArrowMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveArrowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveArrowMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveArrowMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveArrowMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveArrowMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveArrowMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveArrowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveArrowMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveArrowMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveArrowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveArrowMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveArrowMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveArrowMethod "getAlignment" o = Gtk.Misc.MiscGetAlignmentMethodInfo
+    ResolveArrowMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveArrowMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveArrowMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveArrowMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveArrowMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveArrowMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveArrowMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveArrowMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveArrowMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveArrowMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveArrowMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveArrowMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveArrowMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveArrowMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveArrowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveArrowMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveArrowMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveArrowMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveArrowMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveArrowMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveArrowMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveArrowMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveArrowMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveArrowMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveArrowMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveArrowMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveArrowMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveArrowMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveArrowMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveArrowMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveArrowMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveArrowMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveArrowMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveArrowMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveArrowMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveArrowMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveArrowMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveArrowMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveArrowMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveArrowMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveArrowMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveArrowMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveArrowMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveArrowMethod "getPadding" o = Gtk.Misc.MiscGetPaddingMethodInfo
+    ResolveArrowMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveArrowMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveArrowMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveArrowMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveArrowMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveArrowMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveArrowMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveArrowMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveArrowMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveArrowMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveArrowMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveArrowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveArrowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveArrowMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveArrowMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveArrowMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveArrowMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveArrowMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveArrowMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveArrowMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveArrowMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveArrowMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveArrowMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveArrowMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveArrowMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveArrowMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveArrowMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveArrowMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveArrowMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveArrowMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveArrowMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveArrowMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveArrowMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveArrowMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveArrowMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveArrowMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveArrowMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveArrowMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveArrowMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveArrowMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveArrowMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveArrowMethod "setAlignment" o = Gtk.Misc.MiscSetAlignmentMethodInfo
+    ResolveArrowMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveArrowMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveArrowMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveArrowMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveArrowMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveArrowMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveArrowMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveArrowMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveArrowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveArrowMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveArrowMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveArrowMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveArrowMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveArrowMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveArrowMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveArrowMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveArrowMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveArrowMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveArrowMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveArrowMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveArrowMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveArrowMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveArrowMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveArrowMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveArrowMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveArrowMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveArrowMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveArrowMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveArrowMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveArrowMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveArrowMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveArrowMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveArrowMethod "setPadding" o = Gtk.Misc.MiscSetPaddingMethodInfo
+    ResolveArrowMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveArrowMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveArrowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveArrowMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveArrowMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveArrowMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveArrowMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveArrowMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveArrowMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveArrowMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveArrowMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveArrowMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveArrowMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveArrowMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveArrowMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveArrowMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveArrowMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveArrowMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveArrowMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveArrowMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveArrowMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveArrowMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveArrowMethod t Arrow, O.MethodInfo info Arrow p) => OL.IsLabel t (Arrow -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "arrow-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ArrowType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@arrow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' arrow #arrowType
+@
+-}
+getArrowArrowType :: (MonadIO m, IsArrow o) => o -> m Gtk.Enums.ArrowType
+getArrowArrowType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "arrow-type"
+
+{- |
+Set the value of the “@arrow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' arrow [ #arrowType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setArrowArrowType :: (MonadIO m, IsArrow o) => o -> Gtk.Enums.ArrowType -> m ()
+setArrowArrowType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "arrow-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@arrow-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructArrowArrowType :: (IsArrow o) => Gtk.Enums.ArrowType -> IO (GValueConstruct o)
+constructArrowArrowType val = B.Properties.constructObjectPropertyEnum "arrow-type" val
+
+#if ENABLE_OVERLOADING
+data ArrowArrowTypePropertyInfo
+instance AttrInfo ArrowArrowTypePropertyInfo where
+    type AttrAllowedOps ArrowArrowTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ArrowArrowTypePropertyInfo = (~) Gtk.Enums.ArrowType
+    type AttrBaseTypeConstraint ArrowArrowTypePropertyInfo = IsArrow
+    type AttrGetType ArrowArrowTypePropertyInfo = Gtk.Enums.ArrowType
+    type AttrLabel ArrowArrowTypePropertyInfo = "arrow-type"
+    type AttrOrigin ArrowArrowTypePropertyInfo = Arrow
+    attrGet _ = getArrowArrowType
+    attrSet _ = setArrowArrowType
+    attrConstruct _ = constructArrowArrowType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "shadow-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' arrow #shadowType
+@
+-}
+getArrowShadowType :: (MonadIO m, IsArrow o) => o -> m Gtk.Enums.ShadowType
+getArrowShadowType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "shadow-type"
+
+{- |
+Set the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' arrow [ #shadowType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setArrowShadowType :: (MonadIO m, IsArrow o) => o -> Gtk.Enums.ShadowType -> m ()
+setArrowShadowType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "shadow-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@shadow-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructArrowShadowType :: (IsArrow o) => Gtk.Enums.ShadowType -> IO (GValueConstruct o)
+constructArrowShadowType val = B.Properties.constructObjectPropertyEnum "shadow-type" val
+
+#if ENABLE_OVERLOADING
+data ArrowShadowTypePropertyInfo
+instance AttrInfo ArrowShadowTypePropertyInfo where
+    type AttrAllowedOps ArrowShadowTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ArrowShadowTypePropertyInfo = (~) Gtk.Enums.ShadowType
+    type AttrBaseTypeConstraint ArrowShadowTypePropertyInfo = IsArrow
+    type AttrGetType ArrowShadowTypePropertyInfo = Gtk.Enums.ShadowType
+    type AttrLabel ArrowShadowTypePropertyInfo = "shadow-type"
+    type AttrOrigin ArrowShadowTypePropertyInfo = Arrow
+    attrGet _ = getArrowShadowType
+    attrSet _ = setArrowShadowType
+    attrConstruct _ = constructArrowShadowType
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Arrow
+type instance O.AttributeList Arrow = ArrowAttributeList
+type ArrowAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("arrowType", ArrowArrowTypePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", ArrowShadowTypePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Misc.MiscXalignPropertyInfo), '("xpad", Gtk.Misc.MiscXpadPropertyInfo), '("yalign", Gtk.Misc.MiscYalignPropertyInfo), '("ypad", Gtk.Misc.MiscYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+arrowArrowType :: AttrLabelProxy "arrowType"
+arrowArrowType = AttrLabelProxy
+
+arrowShadowType :: AttrLabelProxy "shadowType"
+arrowShadowType = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Arrow = ArrowSignalList
+type ArrowSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Arrow::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "arrow_type", argType = TInterface (Name {namespace = "Gtk", name = "ArrowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkArrowType.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkShadowType.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Arrow"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_arrow_new" gtk_arrow_new :: 
+    CUInt ->                                -- arrow_type : TInterface (Name {namespace = "Gtk", name = "ArrowType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    IO (Ptr Arrow)
+
+{-# DEPRECATED arrowNew ["(Since version 3.14)","Use a 'GI.Gtk.Objects.Image.Image' with a suitable icon."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.Arrow.Arrow' widget.
+-}
+arrowNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.ArrowType
+    {- ^ /@arrowType@/: a valid 'GI.Gtk.Enums.ArrowType'. -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: a valid 'GI.Gtk.Enums.ShadowType'. -}
+    -> m Arrow
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Arrow.Arrow' widget. -}
+arrowNew arrowType shadowType = liftIO $ do
+    let arrowType' = (fromIntegral . fromEnum) arrowType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    result <- gtk_arrow_new arrowType' shadowType'
+    checkUnexpectedReturnNULL "arrowNew" result
+    result' <- (newObject Arrow) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Arrow::set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "arrow", argType = TInterface (Name {namespace = "Gtk", name = "Arrow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget of type #GtkArrow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "arrow_type", argType = TInterface (Name {namespace = "Gtk", name = "ArrowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkArrowType.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shadow_type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkShadowType.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_arrow_set" gtk_arrow_set :: 
+    Ptr Arrow ->                            -- arrow : TInterface (Name {namespace = "Gtk", name = "Arrow"})
+    CUInt ->                                -- arrow_type : TInterface (Name {namespace = "Gtk", name = "ArrowType"})
+    CUInt ->                                -- shadow_type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    IO ()
+
+{-# DEPRECATED arrowSet ["(Since version 3.14)","Use a 'GI.Gtk.Objects.Image.Image' with a suitable icon."] #-}
+{- |
+Sets the direction and style of the 'GI.Gtk.Objects.Arrow.Arrow', /@arrow@/.
+-}
+arrowSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsArrow a) =>
+    a
+    {- ^ /@arrow@/: a widget of type 'GI.Gtk.Objects.Arrow.Arrow'. -}
+    -> Gtk.Enums.ArrowType
+    {- ^ /@arrowType@/: a valid 'GI.Gtk.Enums.ArrowType'. -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@shadowType@/: a valid 'GI.Gtk.Enums.ShadowType'. -}
+    -> m ()
+arrowSet arrow arrowType shadowType = liftIO $ do
+    arrow' <- unsafeManagedPtrCastPtr arrow
+    let arrowType' = (fromIntegral . fromEnum) arrowType
+    let shadowType' = (fromIntegral . fromEnum) shadowType
+    gtk_arrow_set arrow' arrowType' shadowType'
+    touchManagedPtr arrow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ArrowSetMethodInfo
+instance (signature ~ (Gtk.Enums.ArrowType -> Gtk.Enums.ShadowType -> m ()), MonadIO m, IsArrow a) => O.MethodInfo ArrowSetMethodInfo a signature where
+    overloadedMethod _ = arrowSet
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Arrow.hs-boot b/GI/Gtk/Objects/Arrow.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Arrow.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Arrow where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Arrow = Arrow (ManagedPtr Arrow)
+instance GObject Arrow where
+class (GObject o, O.IsDescendantOf Arrow o) => IsArrow o
+instance (GObject o, O.IsDescendantOf Arrow o) => IsArrow o
+instance O.HasParentTypes Arrow
+#if ENABLE_OVERLOADING
+data ArrowArrowTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ArrowShadowTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ArrowSetMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ArrowAccessible.hs b/GI/Gtk/Objects/ArrowAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ArrowAccessible.hs
@@ -0,0 +1,170 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ArrowAccessible
+    ( 
+
+-- * Exported types
+    ArrowAccessible(..)                     ,
+    IsArrowAccessible                       ,
+    toArrowAccessible                       ,
+    noArrowAccessible                       ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ArrowAccessible = ArrowAccessible (ManagedPtr ArrowAccessible)
+foreign import ccall "gtk_arrow_accessible_get_type"
+    c_gtk_arrow_accessible_get_type :: IO GType
+
+instance GObject ArrowAccessible where
+    gobjectType = c_gtk_arrow_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ArrowAccessible`, for instance with `toArrowAccessible`.
+class (GObject o, O.IsDescendantOf ArrowAccessible o) => IsArrowAccessible o
+instance (GObject o, O.IsDescendantOf ArrowAccessible o) => IsArrowAccessible o
+
+instance O.HasParentTypes ArrowAccessible
+type instance O.ParentTypes ArrowAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Image.Image]
+
+-- | Cast to `ArrowAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toArrowAccessible :: (MonadIO m, IsArrowAccessible o) => o -> m ArrowAccessible
+toArrowAccessible = liftIO . unsafeCastTo ArrowAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ArrowAccessible`.
+noArrowAccessible :: Maybe ArrowAccessible
+noArrowAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveArrowAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveArrowAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveArrowAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveArrowAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveArrowAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveArrowAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveArrowAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveArrowAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveArrowAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveArrowAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveArrowAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveArrowAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveArrowAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveArrowAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveArrowAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveArrowAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveArrowAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveArrowAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveArrowAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveArrowAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveArrowAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveArrowAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveArrowAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveArrowAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveArrowAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveArrowAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveArrowAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveArrowAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveArrowAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveArrowAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveArrowAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveArrowAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveArrowAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveArrowAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveArrowAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveArrowAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveArrowAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveArrowAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveArrowAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveArrowAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveArrowAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveArrowAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveArrowAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveArrowAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveArrowAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveArrowAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveArrowAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveArrowAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveArrowAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveArrowAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveArrowAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveArrowAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveArrowAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveArrowAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveArrowAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveArrowAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveArrowAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveArrowAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveArrowAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveArrowAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveArrowAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveArrowAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveArrowAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveArrowAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveArrowAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveArrowAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveArrowAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveArrowAccessibleMethod t ArrowAccessible, O.MethodInfo info ArrowAccessible p) => OL.IsLabel t (ArrowAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ArrowAccessible
+type instance O.AttributeList ArrowAccessible = ArrowAccessibleAttributeList
+type ArrowAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ArrowAccessible = ArrowAccessibleSignalList
+type ArrowAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ArrowAccessible.hs-boot b/GI/Gtk/Objects/ArrowAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ArrowAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ArrowAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ArrowAccessible = ArrowAccessible (ManagedPtr ArrowAccessible)
+instance GObject ArrowAccessible where
+class (GObject o, O.IsDescendantOf ArrowAccessible o) => IsArrowAccessible o
+instance (GObject o, O.IsDescendantOf ArrowAccessible o) => IsArrowAccessible o
+instance O.HasParentTypes ArrowAccessible
diff --git a/GI/Gtk/Objects/AspectFrame.hs b/GI/Gtk/Objects/AspectFrame.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AspectFrame.hs
@@ -0,0 +1,833 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.AspectFrame.AspectFrame' is useful when you want
+pack a widget so that it can resize but always retains
+the same aspect ratio. For instance, one might be
+drawing a small preview of a larger image. 'GI.Gtk.Objects.AspectFrame.AspectFrame'
+derives from 'GI.Gtk.Objects.Frame.Frame', so it can draw a label and
+a frame around the child. The frame will be
+“shrink-wrapped” to the size of the child.
+
+= CSS nodes
+
+GtkAspectFrame uses a CSS node with name frame.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.AspectFrame
+    ( 
+
+-- * Exported types
+    AspectFrame(..)                         ,
+    IsAspectFrame                           ,
+    toAspectFrame                           ,
+    noAspectFrame                           ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    aspectFrameNew                          ,
+
+
+-- ** set #method:set#
+
+#if ENABLE_OVERLOADING
+    AspectFrameSetMethodInfo                ,
+#endif
+    aspectFrameSet                          ,
+
+
+
+
+ -- * Properties
+-- ** obeyChild #attr:obeyChild#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    AspectFrameObeyChildPropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    aspectFrameObeyChild                    ,
+#endif
+    constructAspectFrameObeyChild           ,
+    getAspectFrameObeyChild                 ,
+    setAspectFrameObeyChild                 ,
+
+
+-- ** ratio #attr:ratio#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    AspectFrameRatioPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    aspectFrameRatio                        ,
+#endif
+    constructAspectFrameRatio               ,
+    getAspectFrameRatio                     ,
+    setAspectFrameRatio                     ,
+
+
+-- ** xalign #attr:xalign#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    AspectFrameXalignPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    aspectFrameXalign                       ,
+#endif
+    constructAspectFrameXalign              ,
+    getAspectFrameXalign                    ,
+    setAspectFrameXalign                    ,
+
+
+-- ** yalign #attr:yalign#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    AspectFrameYalignPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    aspectFrameYalign                       ,
+#endif
+    constructAspectFrameYalign              ,
+    getAspectFrameYalign                    ,
+    setAspectFrameYalign                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Frame as Gtk.Frame
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype AspectFrame = AspectFrame (ManagedPtr AspectFrame)
+foreign import ccall "gtk_aspect_frame_get_type"
+    c_gtk_aspect_frame_get_type :: IO GType
+
+instance GObject AspectFrame where
+    gobjectType = c_gtk_aspect_frame_get_type
+    
+
+-- | Type class for types which can be safely cast to `AspectFrame`, for instance with `toAspectFrame`.
+class (GObject o, O.IsDescendantOf AspectFrame o) => IsAspectFrame o
+instance (GObject o, O.IsDescendantOf AspectFrame o) => IsAspectFrame o
+
+instance O.HasParentTypes AspectFrame
+type instance O.ParentTypes AspectFrame = '[Gtk.Frame.Frame, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `AspectFrame`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAspectFrame :: (MonadIO m, IsAspectFrame o) => o -> m AspectFrame
+toAspectFrame = liftIO . unsafeCastTo AspectFrame
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AspectFrame`.
+noAspectFrame :: Maybe AspectFrame
+noAspectFrame = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAspectFrameMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAspectFrameMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveAspectFrameMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveAspectFrameMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveAspectFrameMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveAspectFrameMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveAspectFrameMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveAspectFrameMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveAspectFrameMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveAspectFrameMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAspectFrameMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAspectFrameMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveAspectFrameMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveAspectFrameMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveAspectFrameMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveAspectFrameMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveAspectFrameMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveAspectFrameMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveAspectFrameMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveAspectFrameMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveAspectFrameMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveAspectFrameMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveAspectFrameMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveAspectFrameMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveAspectFrameMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveAspectFrameMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveAspectFrameMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveAspectFrameMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveAspectFrameMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveAspectFrameMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveAspectFrameMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveAspectFrameMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveAspectFrameMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveAspectFrameMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveAspectFrameMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveAspectFrameMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveAspectFrameMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveAspectFrameMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveAspectFrameMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveAspectFrameMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveAspectFrameMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveAspectFrameMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveAspectFrameMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveAspectFrameMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveAspectFrameMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveAspectFrameMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveAspectFrameMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveAspectFrameMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveAspectFrameMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveAspectFrameMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveAspectFrameMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveAspectFrameMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveAspectFrameMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveAspectFrameMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveAspectFrameMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveAspectFrameMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveAspectFrameMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveAspectFrameMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveAspectFrameMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveAspectFrameMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveAspectFrameMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveAspectFrameMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveAspectFrameMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveAspectFrameMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAspectFrameMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveAspectFrameMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveAspectFrameMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAspectFrameMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAspectFrameMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveAspectFrameMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveAspectFrameMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveAspectFrameMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveAspectFrameMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveAspectFrameMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveAspectFrameMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveAspectFrameMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveAspectFrameMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveAspectFrameMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveAspectFrameMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveAspectFrameMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveAspectFrameMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveAspectFrameMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveAspectFrameMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveAspectFrameMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveAspectFrameMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveAspectFrameMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveAspectFrameMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveAspectFrameMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveAspectFrameMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAspectFrameMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveAspectFrameMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveAspectFrameMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveAspectFrameMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveAspectFrameMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveAspectFrameMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveAspectFrameMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveAspectFrameMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveAspectFrameMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveAspectFrameMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveAspectFrameMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveAspectFrameMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveAspectFrameMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveAspectFrameMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveAspectFrameMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveAspectFrameMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveAspectFrameMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveAspectFrameMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAspectFrameMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAspectFrameMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveAspectFrameMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveAspectFrameMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveAspectFrameMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveAspectFrameMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveAspectFrameMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveAspectFrameMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveAspectFrameMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveAspectFrameMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveAspectFrameMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveAspectFrameMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveAspectFrameMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveAspectFrameMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveAspectFrameMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveAspectFrameMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveAspectFrameMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveAspectFrameMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAspectFrameMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAspectFrameMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveAspectFrameMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveAspectFrameMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveAspectFrameMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveAspectFrameMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveAspectFrameMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveAspectFrameMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveAspectFrameMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveAspectFrameMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveAspectFrameMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveAspectFrameMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveAspectFrameMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveAspectFrameMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAspectFrameMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveAspectFrameMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveAspectFrameMethod "set" o = AspectFrameSetMethodInfo
+    ResolveAspectFrameMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveAspectFrameMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveAspectFrameMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveAspectFrameMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveAspectFrameMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveAspectFrameMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveAspectFrameMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveAspectFrameMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAspectFrameMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAspectFrameMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveAspectFrameMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveAspectFrameMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveAspectFrameMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAspectFrameMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveAspectFrameMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveAspectFrameMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveAspectFrameMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveAspectFrameMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveAspectFrameMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAspectFrameMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveAspectFrameMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveAspectFrameMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveAspectFrameMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAspectFrameMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveAspectFrameMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveAspectFrameMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveAspectFrameMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveAspectFrameMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveAspectFrameMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveAspectFrameMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveAspectFrameMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveAspectFrameMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveAspectFrameMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveAspectFrameMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveAspectFrameMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveAspectFrameMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveAspectFrameMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveAspectFrameMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveAspectFrameMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveAspectFrameMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveAspectFrameMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveAspectFrameMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveAspectFrameMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAspectFrameMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveAspectFrameMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveAspectFrameMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveAspectFrameMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveAspectFrameMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveAspectFrameMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveAspectFrameMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveAspectFrameMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveAspectFrameMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveAspectFrameMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveAspectFrameMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveAspectFrameMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveAspectFrameMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveAspectFrameMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveAspectFrameMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveAspectFrameMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveAspectFrameMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveAspectFrameMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveAspectFrameMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveAspectFrameMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveAspectFrameMethod "getLabel" o = Gtk.Frame.FrameGetLabelMethodInfo
+    ResolveAspectFrameMethod "getLabelAlign" o = Gtk.Frame.FrameGetLabelAlignMethodInfo
+    ResolveAspectFrameMethod "getLabelWidget" o = Gtk.Frame.FrameGetLabelWidgetMethodInfo
+    ResolveAspectFrameMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveAspectFrameMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveAspectFrameMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveAspectFrameMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveAspectFrameMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveAspectFrameMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveAspectFrameMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveAspectFrameMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveAspectFrameMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveAspectFrameMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveAspectFrameMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveAspectFrameMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveAspectFrameMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveAspectFrameMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveAspectFrameMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveAspectFrameMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveAspectFrameMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveAspectFrameMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveAspectFrameMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveAspectFrameMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveAspectFrameMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveAspectFrameMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveAspectFrameMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveAspectFrameMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveAspectFrameMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAspectFrameMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAspectFrameMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveAspectFrameMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveAspectFrameMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveAspectFrameMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveAspectFrameMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveAspectFrameMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveAspectFrameMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveAspectFrameMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveAspectFrameMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveAspectFrameMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveAspectFrameMethod "getShadowType" o = Gtk.Frame.FrameGetShadowTypeMethodInfo
+    ResolveAspectFrameMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveAspectFrameMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveAspectFrameMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveAspectFrameMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveAspectFrameMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveAspectFrameMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveAspectFrameMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveAspectFrameMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveAspectFrameMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveAspectFrameMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveAspectFrameMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveAspectFrameMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveAspectFrameMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveAspectFrameMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveAspectFrameMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveAspectFrameMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveAspectFrameMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveAspectFrameMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveAspectFrameMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveAspectFrameMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveAspectFrameMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveAspectFrameMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveAspectFrameMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveAspectFrameMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveAspectFrameMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveAspectFrameMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveAspectFrameMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveAspectFrameMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveAspectFrameMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAspectFrameMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveAspectFrameMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveAspectFrameMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveAspectFrameMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveAspectFrameMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveAspectFrameMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveAspectFrameMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveAspectFrameMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveAspectFrameMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveAspectFrameMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveAspectFrameMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveAspectFrameMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveAspectFrameMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveAspectFrameMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveAspectFrameMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveAspectFrameMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveAspectFrameMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveAspectFrameMethod "setLabel" o = Gtk.Frame.FrameSetLabelMethodInfo
+    ResolveAspectFrameMethod "setLabelAlign" o = Gtk.Frame.FrameSetLabelAlignMethodInfo
+    ResolveAspectFrameMethod "setLabelWidget" o = Gtk.Frame.FrameSetLabelWidgetMethodInfo
+    ResolveAspectFrameMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveAspectFrameMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveAspectFrameMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveAspectFrameMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveAspectFrameMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveAspectFrameMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveAspectFrameMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveAspectFrameMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveAspectFrameMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveAspectFrameMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveAspectFrameMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveAspectFrameMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveAspectFrameMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAspectFrameMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveAspectFrameMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveAspectFrameMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveAspectFrameMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveAspectFrameMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveAspectFrameMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveAspectFrameMethod "setShadowType" o = Gtk.Frame.FrameSetShadowTypeMethodInfo
+    ResolveAspectFrameMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveAspectFrameMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveAspectFrameMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveAspectFrameMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveAspectFrameMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveAspectFrameMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveAspectFrameMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveAspectFrameMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveAspectFrameMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveAspectFrameMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveAspectFrameMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveAspectFrameMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveAspectFrameMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveAspectFrameMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveAspectFrameMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAspectFrameMethod t AspectFrame, O.MethodInfo info AspectFrame p) => OL.IsLabel t (AspectFrame -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "obey-child"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@obey-child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aspectFrame #obeyChild
+@
+-}
+getAspectFrameObeyChild :: (MonadIO m, IsAspectFrame o) => o -> m Bool
+getAspectFrameObeyChild obj = liftIO $ B.Properties.getObjectPropertyBool obj "obey-child"
+
+{- |
+Set the value of the “@obey-child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aspectFrame [ #obeyChild 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAspectFrameObeyChild :: (MonadIO m, IsAspectFrame o) => o -> Bool -> m ()
+setAspectFrameObeyChild obj val = liftIO $ B.Properties.setObjectPropertyBool obj "obey-child" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@obey-child@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAspectFrameObeyChild :: (IsAspectFrame o) => Bool -> IO (GValueConstruct o)
+constructAspectFrameObeyChild val = B.Properties.constructObjectPropertyBool "obey-child" val
+
+#if ENABLE_OVERLOADING
+data AspectFrameObeyChildPropertyInfo
+instance AttrInfo AspectFrameObeyChildPropertyInfo where
+    type AttrAllowedOps AspectFrameObeyChildPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AspectFrameObeyChildPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint AspectFrameObeyChildPropertyInfo = IsAspectFrame
+    type AttrGetType AspectFrameObeyChildPropertyInfo = Bool
+    type AttrLabel AspectFrameObeyChildPropertyInfo = "obey-child"
+    type AttrOrigin AspectFrameObeyChildPropertyInfo = AspectFrame
+    attrGet _ = getAspectFrameObeyChild
+    attrSet _ = setAspectFrameObeyChild
+    attrConstruct _ = constructAspectFrameObeyChild
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "ratio"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@ratio@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aspectFrame #ratio
+@
+-}
+getAspectFrameRatio :: (MonadIO m, IsAspectFrame o) => o -> m Float
+getAspectFrameRatio obj = liftIO $ B.Properties.getObjectPropertyFloat obj "ratio"
+
+{- |
+Set the value of the “@ratio@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aspectFrame [ #ratio 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAspectFrameRatio :: (MonadIO m, IsAspectFrame o) => o -> Float -> m ()
+setAspectFrameRatio obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "ratio" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@ratio@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAspectFrameRatio :: (IsAspectFrame o) => Float -> IO (GValueConstruct o)
+constructAspectFrameRatio val = B.Properties.constructObjectPropertyFloat "ratio" val
+
+#if ENABLE_OVERLOADING
+data AspectFrameRatioPropertyInfo
+instance AttrInfo AspectFrameRatioPropertyInfo where
+    type AttrAllowedOps AspectFrameRatioPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AspectFrameRatioPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint AspectFrameRatioPropertyInfo = IsAspectFrame
+    type AttrGetType AspectFrameRatioPropertyInfo = Float
+    type AttrLabel AspectFrameRatioPropertyInfo = "ratio"
+    type AttrOrigin AspectFrameRatioPropertyInfo = AspectFrame
+    attrGet _ = getAspectFrameRatio
+    attrSet _ = setAspectFrameRatio
+    attrConstruct _ = constructAspectFrameRatio
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aspectFrame #xalign
+@
+-}
+getAspectFrameXalign :: (MonadIO m, IsAspectFrame o) => o -> m Float
+getAspectFrameXalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "xalign"
+
+{- |
+Set the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aspectFrame [ #xalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAspectFrameXalign :: (MonadIO m, IsAspectFrame o) => o -> Float -> m ()
+setAspectFrameXalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "xalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAspectFrameXalign :: (IsAspectFrame o) => Float -> IO (GValueConstruct o)
+constructAspectFrameXalign val = B.Properties.constructObjectPropertyFloat "xalign" val
+
+#if ENABLE_OVERLOADING
+data AspectFrameXalignPropertyInfo
+instance AttrInfo AspectFrameXalignPropertyInfo where
+    type AttrAllowedOps AspectFrameXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AspectFrameXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint AspectFrameXalignPropertyInfo = IsAspectFrame
+    type AttrGetType AspectFrameXalignPropertyInfo = Float
+    type AttrLabel AspectFrameXalignPropertyInfo = "xalign"
+    type AttrOrigin AspectFrameXalignPropertyInfo = AspectFrame
+    attrGet _ = getAspectFrameXalign
+    attrSet _ = setAspectFrameXalign
+    attrConstruct _ = constructAspectFrameXalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "yalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' aspectFrame #yalign
+@
+-}
+getAspectFrameYalign :: (MonadIO m, IsAspectFrame o) => o -> m Float
+getAspectFrameYalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "yalign"
+
+{- |
+Set the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' aspectFrame [ #yalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAspectFrameYalign :: (MonadIO m, IsAspectFrame o) => o -> Float -> m ()
+setAspectFrameYalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "yalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@yalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAspectFrameYalign :: (IsAspectFrame o) => Float -> IO (GValueConstruct o)
+constructAspectFrameYalign val = B.Properties.constructObjectPropertyFloat "yalign" val
+
+#if ENABLE_OVERLOADING
+data AspectFrameYalignPropertyInfo
+instance AttrInfo AspectFrameYalignPropertyInfo where
+    type AttrAllowedOps AspectFrameYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AspectFrameYalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint AspectFrameYalignPropertyInfo = IsAspectFrame
+    type AttrGetType AspectFrameYalignPropertyInfo = Float
+    type AttrLabel AspectFrameYalignPropertyInfo = "yalign"
+    type AttrOrigin AspectFrameYalignPropertyInfo = AspectFrame
+    attrGet _ = getAspectFrameYalign
+    attrSet _ = setAspectFrameYalign
+    attrConstruct _ = constructAspectFrameYalign
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AspectFrame
+type instance O.AttributeList AspectFrame = AspectFrameAttributeList
+type AspectFrameAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Frame.FrameLabelPropertyInfo), '("labelWidget", Gtk.Frame.FrameLabelWidgetPropertyInfo), '("labelXalign", Gtk.Frame.FrameLabelXalignPropertyInfo), '("labelYalign", Gtk.Frame.FrameLabelYalignPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("obeyChild", AspectFrameObeyChildPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("ratio", AspectFrameRatioPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", Gtk.Frame.FrameShadowTypePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", AspectFrameXalignPropertyInfo), '("yalign", AspectFrameYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+aspectFrameObeyChild :: AttrLabelProxy "obeyChild"
+aspectFrameObeyChild = AttrLabelProxy
+
+aspectFrameRatio :: AttrLabelProxy "ratio"
+aspectFrameRatio = AttrLabelProxy
+
+aspectFrameXalign :: AttrLabelProxy "xalign"
+aspectFrameXalign = AttrLabelProxy
+
+aspectFrameYalign :: AttrLabelProxy "yalign"
+aspectFrameYalign = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList AspectFrame = AspectFrameSignalList
+type AspectFrameSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method AspectFrame::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Label text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Horizontal alignment of the child within the allocation of\n the #GtkAspectFrame. This ranges from 0.0 (left aligned)\n to 1.0 (right aligned)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Vertical alignment of the child within the allocation of\n the #GtkAspectFrame. This ranges from 0.0 (top aligned)\n to 1.0 (bottom aligned)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ratio", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The desired aspect ratio.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "obey_child", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, @ratio is ignored, and the aspect\n ratio is taken from the requistion of the child.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AspectFrame"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_aspect_frame_new" gtk_aspect_frame_new :: 
+    CString ->                              -- label : TBasicType TUTF8
+    CFloat ->                               -- xalign : TBasicType TFloat
+    CFloat ->                               -- yalign : TBasicType TFloat
+    CFloat ->                               -- ratio : TBasicType TFloat
+    CInt ->                                 -- obey_child : TBasicType TBoolean
+    IO (Ptr AspectFrame)
+
+{- |
+Create a new 'GI.Gtk.Objects.AspectFrame.AspectFrame'.
+-}
+aspectFrameNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@label@/: Label text. -}
+    -> Float
+    {- ^ /@xalign@/: Horizontal alignment of the child within the allocation of
+ the 'GI.Gtk.Objects.AspectFrame.AspectFrame'. This ranges from 0.0 (left aligned)
+ to 1.0 (right aligned) -}
+    -> Float
+    {- ^ /@yalign@/: Vertical alignment of the child within the allocation of
+ the 'GI.Gtk.Objects.AspectFrame.AspectFrame'. This ranges from 0.0 (top aligned)
+ to 1.0 (bottom aligned) -}
+    -> Float
+    {- ^ /@ratio@/: The desired aspect ratio. -}
+    -> Bool
+    {- ^ /@obeyChild@/: If 'True', /@ratio@/ is ignored, and the aspect
+ ratio is taken from the requistion of the child. -}
+    -> m AspectFrame
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.AspectFrame.AspectFrame'. -}
+aspectFrameNew label xalign yalign ratio obeyChild = liftIO $ do
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    let ratio' = realToFrac ratio
+    let obeyChild' = (fromIntegral . fromEnum) obeyChild
+    result <- gtk_aspect_frame_new maybeLabel xalign' yalign' ratio' obeyChild'
+    checkUnexpectedReturnNULL "aspectFrameNew" result
+    result' <- (newObject AspectFrame) result
+    freeMem maybeLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method AspectFrame::set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "aspect_frame", argType = TInterface (Name {namespace = "Gtk", name = "AspectFrame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAspectFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Horizontal alignment of the child within the allocation of\n the #GtkAspectFrame. This ranges from 0.0 (left aligned)\n to 1.0 (right aligned)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Vertical alignment of the child within the allocation of\n the #GtkAspectFrame. This ranges from 0.0 (top aligned)\n to 1.0 (bottom aligned)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ratio", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The desired aspect ratio.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "obey_child", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, @ratio is ignored, and the aspect\n ratio is taken from the requistion of the child.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_aspect_frame_set" gtk_aspect_frame_set :: 
+    Ptr AspectFrame ->                      -- aspect_frame : TInterface (Name {namespace = "Gtk", name = "AspectFrame"})
+    CFloat ->                               -- xalign : TBasicType TFloat
+    CFloat ->                               -- yalign : TBasicType TFloat
+    CFloat ->                               -- ratio : TBasicType TFloat
+    CInt ->                                 -- obey_child : TBasicType TBoolean
+    IO ()
+
+{- |
+Set parameters for an existing 'GI.Gtk.Objects.AspectFrame.AspectFrame'.
+-}
+aspectFrameSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAspectFrame a) =>
+    a
+    {- ^ /@aspectFrame@/: a 'GI.Gtk.Objects.AspectFrame.AspectFrame' -}
+    -> Float
+    {- ^ /@xalign@/: Horizontal alignment of the child within the allocation of
+ the 'GI.Gtk.Objects.AspectFrame.AspectFrame'. This ranges from 0.0 (left aligned)
+ to 1.0 (right aligned) -}
+    -> Float
+    {- ^ /@yalign@/: Vertical alignment of the child within the allocation of
+ the 'GI.Gtk.Objects.AspectFrame.AspectFrame'. This ranges from 0.0 (top aligned)
+ to 1.0 (bottom aligned) -}
+    -> Float
+    {- ^ /@ratio@/: The desired aspect ratio. -}
+    -> Bool
+    {- ^ /@obeyChild@/: If 'True', /@ratio@/ is ignored, and the aspect
+ ratio is taken from the requistion of the child. -}
+    -> m ()
+aspectFrameSet aspectFrame xalign yalign ratio obeyChild = liftIO $ do
+    aspectFrame' <- unsafeManagedPtrCastPtr aspectFrame
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    let ratio' = realToFrac ratio
+    let obeyChild' = (fromIntegral . fromEnum) obeyChild
+    gtk_aspect_frame_set aspectFrame' xalign' yalign' ratio' obeyChild'
+    touchManagedPtr aspectFrame
+    return ()
+
+#if ENABLE_OVERLOADING
+data AspectFrameSetMethodInfo
+instance (signature ~ (Float -> Float -> Float -> Bool -> m ()), MonadIO m, IsAspectFrame a) => O.MethodInfo AspectFrameSetMethodInfo a signature where
+    overloadedMethod _ = aspectFrameSet
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/AspectFrame.hs-boot b/GI/Gtk/Objects/AspectFrame.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/AspectFrame.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.AspectFrame where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AspectFrame = AspectFrame (ManagedPtr AspectFrame)
+instance GObject AspectFrame where
+class (GObject o, O.IsDescendantOf AspectFrame o) => IsAspectFrame o
+instance (GObject o, O.IsDescendantOf AspectFrame o) => IsAspectFrame o
+instance O.HasParentTypes AspectFrame
+#if ENABLE_OVERLOADING
+data AspectFrameObeyChildPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AspectFrameRatioPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AspectFrameXalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AspectFrameYalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AspectFrameSetMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Assistant.hs b/GI/Gtk/Objects/Assistant.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Assistant.hs
@@ -0,0 +1,2552 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.Assistant.Assistant' is a widget used to represent a generally complex
+operation splitted in several steps, guiding the user through its
+pages and controlling the page flow to collect the necessary data.
+
+The design of GtkAssistant is that it controls what buttons to show
+and to make sensitive, based on what it knows about the page sequence
+and the [type][GtkAssistantPageType] of each page,
+in addition to state information like the page
+[completion][gtk-assistant-set-page-complete]
+and [committed][gtk-assistant-commit] status.
+
+If you have a case that doesn’t quite fit in @/GtkAssistants/@ way of
+handling buttons, you can use the @/GTK_ASSISTANT_PAGE_CUSTOM/@ page
+type and handle buttons yourself.
+
+= GtkAssistant as GtkBuildable
+
+The GtkAssistant implementation of the 'GI.Gtk.Interfaces.Buildable.Buildable' interface
+exposes the /@actionArea@/ as internal children with the name
+“action_area”.
+
+To add pages to an assistant in 'GI.Gtk.Objects.Builder.Builder', simply add it as a
+child to the GtkAssistant object, and set its child properties
+as necessary.
+
+= CSS nodes
+
+GtkAssistant has a single CSS node with the name assistant.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Assistant
+    ( 
+
+-- * Exported types
+    Assistant(..)                           ,
+    IsAssistant                             ,
+    toAssistant                             ,
+    noAssistant                             ,
+
+
+ -- * Methods
+-- ** addActionWidget #method:addActionWidget#
+
+#if ENABLE_OVERLOADING
+    AssistantAddActionWidgetMethodInfo      ,
+#endif
+    assistantAddActionWidget                ,
+
+
+-- ** appendPage #method:appendPage#
+
+#if ENABLE_OVERLOADING
+    AssistantAppendPageMethodInfo           ,
+#endif
+    assistantAppendPage                     ,
+
+
+-- ** commit #method:commit#
+
+#if ENABLE_OVERLOADING
+    AssistantCommitMethodInfo               ,
+#endif
+    assistantCommit                         ,
+
+
+-- ** getCurrentPage #method:getCurrentPage#
+
+#if ENABLE_OVERLOADING
+    AssistantGetCurrentPageMethodInfo       ,
+#endif
+    assistantGetCurrentPage                 ,
+
+
+-- ** getNPages #method:getNPages#
+
+#if ENABLE_OVERLOADING
+    AssistantGetNPagesMethodInfo            ,
+#endif
+    assistantGetNPages                      ,
+
+
+-- ** getNthPage #method:getNthPage#
+
+#if ENABLE_OVERLOADING
+    AssistantGetNthPageMethodInfo           ,
+#endif
+    assistantGetNthPage                     ,
+
+
+-- ** getPageComplete #method:getPageComplete#
+
+#if ENABLE_OVERLOADING
+    AssistantGetPageCompleteMethodInfo      ,
+#endif
+    assistantGetPageComplete                ,
+
+
+-- ** getPageHasPadding #method:getPageHasPadding#
+
+#if ENABLE_OVERLOADING
+    AssistantGetPageHasPaddingMethodInfo    ,
+#endif
+    assistantGetPageHasPadding              ,
+
+
+-- ** getPageHeaderImage #method:getPageHeaderImage#
+
+#if ENABLE_OVERLOADING
+    AssistantGetPageHeaderImageMethodInfo   ,
+#endif
+    assistantGetPageHeaderImage             ,
+
+
+-- ** getPageSideImage #method:getPageSideImage#
+
+#if ENABLE_OVERLOADING
+    AssistantGetPageSideImageMethodInfo     ,
+#endif
+    assistantGetPageSideImage               ,
+
+
+-- ** getPageTitle #method:getPageTitle#
+
+#if ENABLE_OVERLOADING
+    AssistantGetPageTitleMethodInfo         ,
+#endif
+    assistantGetPageTitle                   ,
+
+
+-- ** getPageType #method:getPageType#
+
+#if ENABLE_OVERLOADING
+    AssistantGetPageTypeMethodInfo          ,
+#endif
+    assistantGetPageType                    ,
+
+
+-- ** insertPage #method:insertPage#
+
+#if ENABLE_OVERLOADING
+    AssistantInsertPageMethodInfo           ,
+#endif
+    assistantInsertPage                     ,
+
+
+-- ** new #method:new#
+
+    assistantNew                            ,
+
+
+-- ** nextPage #method:nextPage#
+
+#if ENABLE_OVERLOADING
+    AssistantNextPageMethodInfo             ,
+#endif
+    assistantNextPage                       ,
+
+
+-- ** prependPage #method:prependPage#
+
+#if ENABLE_OVERLOADING
+    AssistantPrependPageMethodInfo          ,
+#endif
+    assistantPrependPage                    ,
+
+
+-- ** previousPage #method:previousPage#
+
+#if ENABLE_OVERLOADING
+    AssistantPreviousPageMethodInfo         ,
+#endif
+    assistantPreviousPage                   ,
+
+
+-- ** removeActionWidget #method:removeActionWidget#
+
+#if ENABLE_OVERLOADING
+    AssistantRemoveActionWidgetMethodInfo   ,
+#endif
+    assistantRemoveActionWidget             ,
+
+
+-- ** removePage #method:removePage#
+
+#if ENABLE_OVERLOADING
+    AssistantRemovePageMethodInfo           ,
+#endif
+    assistantRemovePage                     ,
+
+
+-- ** setCurrentPage #method:setCurrentPage#
+
+#if ENABLE_OVERLOADING
+    AssistantSetCurrentPageMethodInfo       ,
+#endif
+    assistantSetCurrentPage                 ,
+
+
+-- ** setForwardPageFunc #method:setForwardPageFunc#
+
+#if ENABLE_OVERLOADING
+    AssistantSetForwardPageFuncMethodInfo   ,
+#endif
+    assistantSetForwardPageFunc             ,
+
+
+-- ** setPageComplete #method:setPageComplete#
+
+#if ENABLE_OVERLOADING
+    AssistantSetPageCompleteMethodInfo      ,
+#endif
+    assistantSetPageComplete                ,
+
+
+-- ** setPageHasPadding #method:setPageHasPadding#
+
+#if ENABLE_OVERLOADING
+    AssistantSetPageHasPaddingMethodInfo    ,
+#endif
+    assistantSetPageHasPadding              ,
+
+
+-- ** setPageHeaderImage #method:setPageHeaderImage#
+
+#if ENABLE_OVERLOADING
+    AssistantSetPageHeaderImageMethodInfo   ,
+#endif
+    assistantSetPageHeaderImage             ,
+
+
+-- ** setPageSideImage #method:setPageSideImage#
+
+#if ENABLE_OVERLOADING
+    AssistantSetPageSideImageMethodInfo     ,
+#endif
+    assistantSetPageSideImage               ,
+
+
+-- ** setPageTitle #method:setPageTitle#
+
+#if ENABLE_OVERLOADING
+    AssistantSetPageTitleMethodInfo         ,
+#endif
+    assistantSetPageTitle                   ,
+
+
+-- ** setPageType #method:setPageType#
+
+#if ENABLE_OVERLOADING
+    AssistantSetPageTypeMethodInfo          ,
+#endif
+    assistantSetPageType                    ,
+
+
+-- ** updateButtonsState #method:updateButtonsState#
+
+#if ENABLE_OVERLOADING
+    AssistantUpdateButtonsStateMethodInfo   ,
+#endif
+    assistantUpdateButtonsState             ,
+
+
+
+
+ -- * Properties
+-- ** useHeaderBar #attr:useHeaderBar#
+{- | 'True' if the assistant uses a 'GI.Gtk.Objects.HeaderBar.HeaderBar' for action buttons
+instead of the action-area.
+
+For technical reasons, this property is declared as an integer
+property, but you should only set it to 'True' or 'False'.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    AssistantUseHeaderBarPropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    assistantUseHeaderBar                   ,
+#endif
+    constructAssistantUseHeaderBar          ,
+    getAssistantUseHeaderBar                ,
+
+
+
+
+ -- * Signals
+-- ** apply #signal:apply#
+
+    AssistantApplyCallback                  ,
+#if ENABLE_OVERLOADING
+    AssistantApplySignalInfo                ,
+#endif
+    C_AssistantApplyCallback                ,
+    afterAssistantApply                     ,
+    genClosure_AssistantApply               ,
+    mk_AssistantApplyCallback               ,
+    noAssistantApplyCallback                ,
+    onAssistantApply                        ,
+    wrap_AssistantApplyCallback             ,
+
+
+-- ** cancel #signal:cancel#
+
+    AssistantCancelCallback                 ,
+#if ENABLE_OVERLOADING
+    AssistantCancelSignalInfo               ,
+#endif
+    C_AssistantCancelCallback               ,
+    afterAssistantCancel                    ,
+    genClosure_AssistantCancel              ,
+    mk_AssistantCancelCallback              ,
+    noAssistantCancelCallback               ,
+    onAssistantCancel                       ,
+    wrap_AssistantCancelCallback            ,
+
+
+-- ** close #signal:close#
+
+    AssistantCloseCallback                  ,
+#if ENABLE_OVERLOADING
+    AssistantCloseSignalInfo                ,
+#endif
+    C_AssistantCloseCallback                ,
+    afterAssistantClose                     ,
+    genClosure_AssistantClose               ,
+    mk_AssistantCloseCallback               ,
+    noAssistantCloseCallback                ,
+    onAssistantClose                        ,
+    wrap_AssistantCloseCallback             ,
+
+
+-- ** escape #signal:escape#
+
+    AssistantEscapeCallback                 ,
+#if ENABLE_OVERLOADING
+    AssistantEscapeSignalInfo               ,
+#endif
+    C_AssistantEscapeCallback               ,
+    afterAssistantEscape                    ,
+    genClosure_AssistantEscape              ,
+    mk_AssistantEscapeCallback              ,
+    noAssistantEscapeCallback               ,
+    onAssistantEscape                       ,
+    wrap_AssistantEscapeCallback            ,
+
+
+-- ** prepare #signal:prepare#
+
+    AssistantPrepareCallback                ,
+#if ENABLE_OVERLOADING
+    AssistantPrepareSignalInfo              ,
+#endif
+    C_AssistantPrepareCallback              ,
+    afterAssistantPrepare                   ,
+    genClosure_AssistantPrepare             ,
+    mk_AssistantPrepareCallback             ,
+    noAssistantPrepareCallback              ,
+    onAssistantPrepare                      ,
+    wrap_AssistantPrepareCallback           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype Assistant = Assistant (ManagedPtr Assistant)
+foreign import ccall "gtk_assistant_get_type"
+    c_gtk_assistant_get_type :: IO GType
+
+instance GObject Assistant where
+    gobjectType = c_gtk_assistant_get_type
+    
+
+-- | Type class for types which can be safely cast to `Assistant`, for instance with `toAssistant`.
+class (GObject o, O.IsDescendantOf Assistant o) => IsAssistant o
+instance (GObject o, O.IsDescendantOf Assistant o) => IsAssistant o
+
+instance O.HasParentTypes Assistant
+type instance O.ParentTypes Assistant = '[Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Assistant`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toAssistant :: (MonadIO m, IsAssistant o) => o -> m Assistant
+toAssistant = liftIO . unsafeCastTo Assistant
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Assistant`.
+noAssistant :: Maybe Assistant
+noAssistant = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveAssistantMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAssistantMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveAssistantMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveAssistantMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveAssistantMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveAssistantMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveAssistantMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveAssistantMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveAssistantMethod "addActionWidget" o = AssistantAddActionWidgetMethodInfo
+    ResolveAssistantMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveAssistantMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveAssistantMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveAssistantMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveAssistantMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveAssistantMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveAssistantMethod "appendPage" o = AssistantAppendPageMethodInfo
+    ResolveAssistantMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveAssistantMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveAssistantMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveAssistantMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveAssistantMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveAssistantMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveAssistantMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveAssistantMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveAssistantMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveAssistantMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveAssistantMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveAssistantMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveAssistantMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveAssistantMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveAssistantMethod "commit" o = AssistantCommitMethodInfo
+    ResolveAssistantMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveAssistantMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveAssistantMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveAssistantMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveAssistantMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveAssistantMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveAssistantMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveAssistantMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveAssistantMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveAssistantMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveAssistantMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveAssistantMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveAssistantMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveAssistantMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveAssistantMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveAssistantMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveAssistantMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveAssistantMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveAssistantMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveAssistantMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveAssistantMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveAssistantMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveAssistantMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveAssistantMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveAssistantMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveAssistantMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveAssistantMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveAssistantMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveAssistantMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveAssistantMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveAssistantMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveAssistantMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveAssistantMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveAssistantMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveAssistantMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveAssistantMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveAssistantMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveAssistantMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveAssistantMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveAssistantMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveAssistantMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveAssistantMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveAssistantMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveAssistantMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveAssistantMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveAssistantMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveAssistantMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveAssistantMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveAssistantMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveAssistantMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveAssistantMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveAssistantMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveAssistantMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveAssistantMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveAssistantMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveAssistantMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveAssistantMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveAssistantMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveAssistantMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveAssistantMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveAssistantMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveAssistantMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveAssistantMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveAssistantMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveAssistantMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveAssistantMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveAssistantMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveAssistantMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveAssistantMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveAssistantMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveAssistantMethod "insertPage" o = AssistantInsertPageMethodInfo
+    ResolveAssistantMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveAssistantMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveAssistantMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveAssistantMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveAssistantMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveAssistantMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveAssistantMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveAssistantMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveAssistantMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveAssistantMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveAssistantMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveAssistantMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveAssistantMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveAssistantMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveAssistantMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveAssistantMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveAssistantMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveAssistantMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveAssistantMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveAssistantMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveAssistantMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveAssistantMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveAssistantMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveAssistantMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveAssistantMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveAssistantMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveAssistantMethod "nextPage" o = AssistantNextPageMethodInfo
+    ResolveAssistantMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveAssistantMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveAssistantMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveAssistantMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveAssistantMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveAssistantMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveAssistantMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveAssistantMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveAssistantMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveAssistantMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveAssistantMethod "prependPage" o = AssistantPrependPageMethodInfo
+    ResolveAssistantMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveAssistantMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveAssistantMethod "previousPage" o = AssistantPreviousPageMethodInfo
+    ResolveAssistantMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveAssistantMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveAssistantMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveAssistantMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveAssistantMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveAssistantMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveAssistantMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveAssistantMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveAssistantMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveAssistantMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveAssistantMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveAssistantMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveAssistantMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveAssistantMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveAssistantMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveAssistantMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveAssistantMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveAssistantMethod "removeActionWidget" o = AssistantRemoveActionWidgetMethodInfo
+    ResolveAssistantMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveAssistantMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveAssistantMethod "removePage" o = AssistantRemovePageMethodInfo
+    ResolveAssistantMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveAssistantMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveAssistantMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveAssistantMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveAssistantMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveAssistantMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveAssistantMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveAssistantMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveAssistantMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveAssistantMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveAssistantMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveAssistantMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveAssistantMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveAssistantMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveAssistantMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveAssistantMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveAssistantMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveAssistantMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveAssistantMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveAssistantMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveAssistantMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveAssistantMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveAssistantMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveAssistantMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveAssistantMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveAssistantMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveAssistantMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveAssistantMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveAssistantMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveAssistantMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveAssistantMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveAssistantMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveAssistantMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveAssistantMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveAssistantMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveAssistantMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveAssistantMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveAssistantMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveAssistantMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveAssistantMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveAssistantMethod "updateButtonsState" o = AssistantUpdateButtonsStateMethodInfo
+    ResolveAssistantMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveAssistantMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveAssistantMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveAssistantMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveAssistantMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveAssistantMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveAssistantMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveAssistantMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveAssistantMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveAssistantMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveAssistantMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveAssistantMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveAssistantMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveAssistantMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveAssistantMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveAssistantMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveAssistantMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveAssistantMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveAssistantMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveAssistantMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveAssistantMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveAssistantMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveAssistantMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveAssistantMethod "getCurrentPage" o = AssistantGetCurrentPageMethodInfo
+    ResolveAssistantMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveAssistantMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveAssistantMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveAssistantMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveAssistantMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveAssistantMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveAssistantMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveAssistantMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveAssistantMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveAssistantMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveAssistantMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveAssistantMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveAssistantMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveAssistantMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveAssistantMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveAssistantMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveAssistantMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveAssistantMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveAssistantMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveAssistantMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveAssistantMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveAssistantMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveAssistantMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveAssistantMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveAssistantMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveAssistantMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveAssistantMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveAssistantMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveAssistantMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveAssistantMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveAssistantMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveAssistantMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveAssistantMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveAssistantMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveAssistantMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveAssistantMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveAssistantMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveAssistantMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveAssistantMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveAssistantMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveAssistantMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveAssistantMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveAssistantMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveAssistantMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveAssistantMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveAssistantMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveAssistantMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveAssistantMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveAssistantMethod "getNPages" o = AssistantGetNPagesMethodInfo
+    ResolveAssistantMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveAssistantMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveAssistantMethod "getNthPage" o = AssistantGetNthPageMethodInfo
+    ResolveAssistantMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveAssistantMethod "getPageComplete" o = AssistantGetPageCompleteMethodInfo
+    ResolveAssistantMethod "getPageHasPadding" o = AssistantGetPageHasPaddingMethodInfo
+    ResolveAssistantMethod "getPageHeaderImage" o = AssistantGetPageHeaderImageMethodInfo
+    ResolveAssistantMethod "getPageSideImage" o = AssistantGetPageSideImageMethodInfo
+    ResolveAssistantMethod "getPageTitle" o = AssistantGetPageTitleMethodInfo
+    ResolveAssistantMethod "getPageType" o = AssistantGetPageTypeMethodInfo
+    ResolveAssistantMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveAssistantMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveAssistantMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveAssistantMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveAssistantMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveAssistantMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveAssistantMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveAssistantMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveAssistantMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveAssistantMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveAssistantMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveAssistantMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveAssistantMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveAssistantMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveAssistantMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveAssistantMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveAssistantMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveAssistantMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveAssistantMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveAssistantMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveAssistantMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveAssistantMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveAssistantMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveAssistantMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveAssistantMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveAssistantMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveAssistantMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveAssistantMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveAssistantMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveAssistantMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveAssistantMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveAssistantMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveAssistantMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveAssistantMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveAssistantMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveAssistantMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveAssistantMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveAssistantMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveAssistantMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveAssistantMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveAssistantMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveAssistantMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveAssistantMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveAssistantMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveAssistantMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveAssistantMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveAssistantMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveAssistantMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveAssistantMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveAssistantMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveAssistantMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveAssistantMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveAssistantMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveAssistantMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveAssistantMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveAssistantMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveAssistantMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveAssistantMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveAssistantMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveAssistantMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveAssistantMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveAssistantMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveAssistantMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveAssistantMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveAssistantMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveAssistantMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveAssistantMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveAssistantMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveAssistantMethod "setCurrentPage" o = AssistantSetCurrentPageMethodInfo
+    ResolveAssistantMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveAssistantMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveAssistantMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveAssistantMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveAssistantMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveAssistantMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveAssistantMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveAssistantMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveAssistantMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveAssistantMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveAssistantMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveAssistantMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveAssistantMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveAssistantMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveAssistantMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveAssistantMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveAssistantMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveAssistantMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveAssistantMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveAssistantMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveAssistantMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveAssistantMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveAssistantMethod "setForwardPageFunc" o = AssistantSetForwardPageFuncMethodInfo
+    ResolveAssistantMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveAssistantMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveAssistantMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveAssistantMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveAssistantMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveAssistantMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveAssistantMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveAssistantMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveAssistantMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveAssistantMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveAssistantMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveAssistantMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveAssistantMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveAssistantMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveAssistantMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveAssistantMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveAssistantMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveAssistantMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveAssistantMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveAssistantMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveAssistantMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveAssistantMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveAssistantMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveAssistantMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveAssistantMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveAssistantMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveAssistantMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveAssistantMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveAssistantMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveAssistantMethod "setPageComplete" o = AssistantSetPageCompleteMethodInfo
+    ResolveAssistantMethod "setPageHasPadding" o = AssistantSetPageHasPaddingMethodInfo
+    ResolveAssistantMethod "setPageHeaderImage" o = AssistantSetPageHeaderImageMethodInfo
+    ResolveAssistantMethod "setPageSideImage" o = AssistantSetPageSideImageMethodInfo
+    ResolveAssistantMethod "setPageTitle" o = AssistantSetPageTitleMethodInfo
+    ResolveAssistantMethod "setPageType" o = AssistantSetPageTypeMethodInfo
+    ResolveAssistantMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveAssistantMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveAssistantMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveAssistantMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveAssistantMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveAssistantMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveAssistantMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveAssistantMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveAssistantMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveAssistantMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveAssistantMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveAssistantMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveAssistantMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveAssistantMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveAssistantMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveAssistantMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveAssistantMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveAssistantMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveAssistantMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveAssistantMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveAssistantMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveAssistantMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveAssistantMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveAssistantMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveAssistantMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveAssistantMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveAssistantMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveAssistantMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveAssistantMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveAssistantMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveAssistantMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveAssistantMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveAssistantMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveAssistantMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveAssistantMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveAssistantMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveAssistantMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAssistantMethod t Assistant, O.MethodInfo info Assistant p) => OL.IsLabel t (Assistant -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Assistant::apply
+{- |
+The ::apply signal is emitted when the apply button is clicked.
+
+The default behavior of the 'GI.Gtk.Objects.Assistant.Assistant' is to switch to the page
+after the current page, unless the current page is the last one.
+
+A handler for the ::apply signal should carry out the actions for
+which the wizard has collected data. If the action takes a long time
+to complete, you might consider putting a page of type
+'GI.Gtk.Enums.AssistantPageTypeProgress' after the confirmation page and handle
+this operation within the 'GI.Gtk.Objects.Assistant.Assistant'::@/prepare/@ signal of the progress
+page.
+
+/Since: 2.10/
+-}
+type AssistantApplyCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AssistantApplyCallback`@.
+noAssistantApplyCallback :: Maybe AssistantApplyCallback
+noAssistantApplyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AssistantApplyCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AssistantApplyCallback`.
+foreign import ccall "wrapper"
+    mk_AssistantApplyCallback :: C_AssistantApplyCallback -> IO (FunPtr C_AssistantApplyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AssistantApply :: MonadIO m => AssistantApplyCallback -> m (GClosure C_AssistantApplyCallback)
+genClosure_AssistantApply cb = liftIO $ do
+    let cb' = wrap_AssistantApplyCallback cb
+    mk_AssistantApplyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AssistantApplyCallback` into a `C_AssistantApplyCallback`.
+wrap_AssistantApplyCallback ::
+    AssistantApplyCallback ->
+    C_AssistantApplyCallback
+wrap_AssistantApplyCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@apply@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' assistant #apply callback
+@
+-}
+onAssistantApply :: (IsAssistant a, MonadIO m) => a -> AssistantApplyCallback -> m SignalHandlerId
+onAssistantApply obj cb = liftIO $ do
+    let cb' = wrap_AssistantApplyCallback cb
+    cb'' <- mk_AssistantApplyCallback cb'
+    connectSignalFunPtr obj "apply" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@apply@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' assistant #apply callback
+@
+-}
+afterAssistantApply :: (IsAssistant a, MonadIO m) => a -> AssistantApplyCallback -> m SignalHandlerId
+afterAssistantApply obj cb = liftIO $ do
+    let cb' = wrap_AssistantApplyCallback cb
+    cb'' <- mk_AssistantApplyCallback cb'
+    connectSignalFunPtr obj "apply" cb'' SignalConnectAfter
+
+
+-- signal Assistant::cancel
+{- |
+The ::cancel signal is emitted when then the cancel button is clicked.
+
+/Since: 2.10/
+-}
+type AssistantCancelCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AssistantCancelCallback`@.
+noAssistantCancelCallback :: Maybe AssistantCancelCallback
+noAssistantCancelCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AssistantCancelCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AssistantCancelCallback`.
+foreign import ccall "wrapper"
+    mk_AssistantCancelCallback :: C_AssistantCancelCallback -> IO (FunPtr C_AssistantCancelCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AssistantCancel :: MonadIO m => AssistantCancelCallback -> m (GClosure C_AssistantCancelCallback)
+genClosure_AssistantCancel cb = liftIO $ do
+    let cb' = wrap_AssistantCancelCallback cb
+    mk_AssistantCancelCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AssistantCancelCallback` into a `C_AssistantCancelCallback`.
+wrap_AssistantCancelCallback ::
+    AssistantCancelCallback ->
+    C_AssistantCancelCallback
+wrap_AssistantCancelCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@cancel@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' assistant #cancel callback
+@
+-}
+onAssistantCancel :: (IsAssistant a, MonadIO m) => a -> AssistantCancelCallback -> m SignalHandlerId
+onAssistantCancel obj cb = liftIO $ do
+    let cb' = wrap_AssistantCancelCallback cb
+    cb'' <- mk_AssistantCancelCallback cb'
+    connectSignalFunPtr obj "cancel" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cancel@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' assistant #cancel callback
+@
+-}
+afterAssistantCancel :: (IsAssistant a, MonadIO m) => a -> AssistantCancelCallback -> m SignalHandlerId
+afterAssistantCancel obj cb = liftIO $ do
+    let cb' = wrap_AssistantCancelCallback cb
+    cb'' <- mk_AssistantCancelCallback cb'
+    connectSignalFunPtr obj "cancel" cb'' SignalConnectAfter
+
+
+-- signal Assistant::close
+{- |
+The ::close signal is emitted either when the close button of
+a summary page is clicked, or when the apply button in the last
+page in the flow (of type 'GI.Gtk.Enums.AssistantPageTypeConfirm') is clicked.
+
+/Since: 2.10/
+-}
+type AssistantCloseCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AssistantCloseCallback`@.
+noAssistantCloseCallback :: Maybe AssistantCloseCallback
+noAssistantCloseCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AssistantCloseCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AssistantCloseCallback`.
+foreign import ccall "wrapper"
+    mk_AssistantCloseCallback :: C_AssistantCloseCallback -> IO (FunPtr C_AssistantCloseCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AssistantClose :: MonadIO m => AssistantCloseCallback -> m (GClosure C_AssistantCloseCallback)
+genClosure_AssistantClose cb = liftIO $ do
+    let cb' = wrap_AssistantCloseCallback cb
+    mk_AssistantCloseCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AssistantCloseCallback` into a `C_AssistantCloseCallback`.
+wrap_AssistantCloseCallback ::
+    AssistantCloseCallback ->
+    C_AssistantCloseCallback
+wrap_AssistantCloseCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@close@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' assistant #close callback
+@
+-}
+onAssistantClose :: (IsAssistant a, MonadIO m) => a -> AssistantCloseCallback -> m SignalHandlerId
+onAssistantClose obj cb = liftIO $ do
+    let cb' = wrap_AssistantCloseCallback cb
+    cb'' <- mk_AssistantCloseCallback cb'
+    connectSignalFunPtr obj "close" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@close@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' assistant #close callback
+@
+-}
+afterAssistantClose :: (IsAssistant a, MonadIO m) => a -> AssistantCloseCallback -> m SignalHandlerId
+afterAssistantClose obj cb = liftIO $ do
+    let cb' = wrap_AssistantCloseCallback cb
+    cb'' <- mk_AssistantCloseCallback cb'
+    connectSignalFunPtr obj "close" cb'' SignalConnectAfter
+
+
+-- signal Assistant::escape
+{- |
+/No description available in the introspection data./
+-}
+type AssistantEscapeCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AssistantEscapeCallback`@.
+noAssistantEscapeCallback :: Maybe AssistantEscapeCallback
+noAssistantEscapeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AssistantEscapeCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AssistantEscapeCallback`.
+foreign import ccall "wrapper"
+    mk_AssistantEscapeCallback :: C_AssistantEscapeCallback -> IO (FunPtr C_AssistantEscapeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AssistantEscape :: MonadIO m => AssistantEscapeCallback -> m (GClosure C_AssistantEscapeCallback)
+genClosure_AssistantEscape cb = liftIO $ do
+    let cb' = wrap_AssistantEscapeCallback cb
+    mk_AssistantEscapeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AssistantEscapeCallback` into a `C_AssistantEscapeCallback`.
+wrap_AssistantEscapeCallback ::
+    AssistantEscapeCallback ->
+    C_AssistantEscapeCallback
+wrap_AssistantEscapeCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@escape@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' assistant #escape callback
+@
+-}
+onAssistantEscape :: (IsAssistant a, MonadIO m) => a -> AssistantEscapeCallback -> m SignalHandlerId
+onAssistantEscape obj cb = liftIO $ do
+    let cb' = wrap_AssistantEscapeCallback cb
+    cb'' <- mk_AssistantEscapeCallback cb'
+    connectSignalFunPtr obj "escape" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@escape@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' assistant #escape callback
+@
+-}
+afterAssistantEscape :: (IsAssistant a, MonadIO m) => a -> AssistantEscapeCallback -> m SignalHandlerId
+afterAssistantEscape obj cb = liftIO $ do
+    let cb' = wrap_AssistantEscapeCallback cb
+    cb'' <- mk_AssistantEscapeCallback cb'
+    connectSignalFunPtr obj "escape" cb'' SignalConnectAfter
+
+
+-- signal Assistant::prepare
+{- |
+The ::prepare signal is emitted when a new page is set as the
+assistant\'s current page, before making the new page visible.
+
+A handler for this signal can do any preparations which are
+necessary before showing /@page@/.
+
+/Since: 2.10/
+-}
+type AssistantPrepareCallback =
+    Gtk.Widget.Widget
+    {- ^ /@page@/: the current page -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `AssistantPrepareCallback`@.
+noAssistantPrepareCallback :: Maybe AssistantPrepareCallback
+noAssistantPrepareCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_AssistantPrepareCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_AssistantPrepareCallback`.
+foreign import ccall "wrapper"
+    mk_AssistantPrepareCallback :: C_AssistantPrepareCallback -> IO (FunPtr C_AssistantPrepareCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_AssistantPrepare :: MonadIO m => AssistantPrepareCallback -> m (GClosure C_AssistantPrepareCallback)
+genClosure_AssistantPrepare cb = liftIO $ do
+    let cb' = wrap_AssistantPrepareCallback cb
+    mk_AssistantPrepareCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `AssistantPrepareCallback` into a `C_AssistantPrepareCallback`.
+wrap_AssistantPrepareCallback ::
+    AssistantPrepareCallback ->
+    C_AssistantPrepareCallback
+wrap_AssistantPrepareCallback _cb _ page _ = do
+    page' <- (newObject Gtk.Widget.Widget) page
+    _cb  page'
+
+
+{- |
+Connect a signal handler for the “@prepare@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' assistant #prepare callback
+@
+-}
+onAssistantPrepare :: (IsAssistant a, MonadIO m) => a -> AssistantPrepareCallback -> m SignalHandlerId
+onAssistantPrepare obj cb = liftIO $ do
+    let cb' = wrap_AssistantPrepareCallback cb
+    cb'' <- mk_AssistantPrepareCallback cb'
+    connectSignalFunPtr obj "prepare" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@prepare@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' assistant #prepare callback
+@
+-}
+afterAssistantPrepare :: (IsAssistant a, MonadIO m) => a -> AssistantPrepareCallback -> m SignalHandlerId
+afterAssistantPrepare obj cb = liftIO $ do
+    let cb' = wrap_AssistantPrepareCallback cb
+    cb'' <- mk_AssistantPrepareCallback cb'
+    connectSignalFunPtr obj "prepare" cb'' SignalConnectAfter
+
+
+-- VVV Prop "use-header-bar"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@use-header-bar@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' assistant #useHeaderBar
+@
+-}
+getAssistantUseHeaderBar :: (MonadIO m, IsAssistant o) => o -> m Int32
+getAssistantUseHeaderBar obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "use-header-bar"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-header-bar@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructAssistantUseHeaderBar :: (IsAssistant o) => Int32 -> IO (GValueConstruct o)
+constructAssistantUseHeaderBar val = B.Properties.constructObjectPropertyInt32 "use-header-bar" val
+
+#if ENABLE_OVERLOADING
+data AssistantUseHeaderBarPropertyInfo
+instance AttrInfo AssistantUseHeaderBarPropertyInfo where
+    type AttrAllowedOps AssistantUseHeaderBarPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AssistantUseHeaderBarPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint AssistantUseHeaderBarPropertyInfo = IsAssistant
+    type AttrGetType AssistantUseHeaderBarPropertyInfo = Int32
+    type AttrLabel AssistantUseHeaderBarPropertyInfo = "use-header-bar"
+    type AttrOrigin AssistantUseHeaderBarPropertyInfo = Assistant
+    attrGet _ = getAssistantUseHeaderBar
+    attrSet _ = undefined
+    attrConstruct _ = constructAssistantUseHeaderBar
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Assistant
+type instance O.AttributeList Assistant = AssistantAttributeList
+type AssistantAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", AssistantUseHeaderBarPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+assistantUseHeaderBar :: AttrLabelProxy "useHeaderBar"
+assistantUseHeaderBar = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data AssistantApplySignalInfo
+instance SignalInfo AssistantApplySignalInfo where
+    type HaskellCallbackType AssistantApplySignalInfo = AssistantApplyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AssistantApplyCallback cb
+        cb'' <- mk_AssistantApplyCallback cb'
+        connectSignalFunPtr obj "apply" cb'' connectMode
+
+data AssistantCancelSignalInfo
+instance SignalInfo AssistantCancelSignalInfo where
+    type HaskellCallbackType AssistantCancelSignalInfo = AssistantCancelCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AssistantCancelCallback cb
+        cb'' <- mk_AssistantCancelCallback cb'
+        connectSignalFunPtr obj "cancel" cb'' connectMode
+
+data AssistantCloseSignalInfo
+instance SignalInfo AssistantCloseSignalInfo where
+    type HaskellCallbackType AssistantCloseSignalInfo = AssistantCloseCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AssistantCloseCallback cb
+        cb'' <- mk_AssistantCloseCallback cb'
+        connectSignalFunPtr obj "close" cb'' connectMode
+
+data AssistantEscapeSignalInfo
+instance SignalInfo AssistantEscapeSignalInfo where
+    type HaskellCallbackType AssistantEscapeSignalInfo = AssistantEscapeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AssistantEscapeCallback cb
+        cb'' <- mk_AssistantEscapeCallback cb'
+        connectSignalFunPtr obj "escape" cb'' connectMode
+
+data AssistantPrepareSignalInfo
+instance SignalInfo AssistantPrepareSignalInfo where
+    type HaskellCallbackType AssistantPrepareSignalInfo = AssistantPrepareCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_AssistantPrepareCallback cb
+        cb'' <- mk_AssistantPrepareCallback cb'
+        connectSignalFunPtr obj "prepare" cb'' connectMode
+
+type instance O.SignalList Assistant = AssistantSignalList
+type AssistantSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("apply", AssistantApplySignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("cancel", AssistantCancelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", AssistantCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("escape", AssistantEscapeSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("prepare", AssistantPrepareSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Assistant::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Assistant"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_new" gtk_assistant_new :: 
+    IO (Ptr Assistant)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Assistant.Assistant'.
+
+/Since: 2.10/
+-}
+assistantNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Assistant
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.Assistant.Assistant' -}
+assistantNew  = liftIO $ do
+    result <- gtk_assistant_new
+    checkUnexpectedReturnNULL "assistantNew" result
+    result' <- (newObject Assistant) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Assistant::add_action_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_add_action_widget" gtk_assistant_add_action_widget :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds a widget to the action area of a 'GI.Gtk.Objects.Assistant.Assistant'.
+
+/Since: 2.10/
+-}
+assistantAddActionWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@child@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+assistantAddActionWidget assistant child = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_assistant_add_action_widget assistant' child'
+    touchManagedPtr assistant
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantAddActionWidgetMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantAddActionWidgetMethodInfo a signature where
+    overloadedMethod _ = assistantAddActionWidget
+
+#endif
+
+-- method Assistant::append_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_append_page" gtk_assistant_append_page :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Appends a page to the /@assistant@/.
+
+/Since: 2.10/
+-}
+assistantAppendPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting at 0) of the inserted page -}
+assistantAppendPage assistant page = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    result <- gtk_assistant_append_page assistant' page'
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return result
+
+#if ENABLE_OVERLOADING
+data AssistantAppendPageMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantAppendPageMethodInfo a signature where
+    overloadedMethod _ = assistantAppendPage
+
+#endif
+
+-- method Assistant::commit
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_commit" gtk_assistant_commit :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    IO ()
+
+{- |
+Erases the visited page history so the back button is not
+shown on the current page, and removes the cancel button
+from subsequent pages.
+
+Use this when the information provided up to the current
+page is hereafter deemed permanent and cannot be modified
+or undone. For example, showing a progress page to track
+a long-running, unreversible operation after the user has
+clicked apply on a confirmation page.
+
+/Since: 2.22/
+-}
+assistantCommit ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> m ()
+assistantCommit assistant = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    gtk_assistant_commit assistant'
+    touchManagedPtr assistant
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantCommitMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAssistant a) => O.MethodInfo AssistantCommitMethodInfo a signature where
+    overloadedMethod _ = assistantCommit
+
+#endif
+
+-- method Assistant::get_current_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_get_current_page" gtk_assistant_get_current_page :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    IO Int32
+
+{- |
+Returns the page number of the current page.
+
+/Since: 2.10/
+-}
+assistantGetCurrentPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> m Int32
+    {- ^ __Returns:__ The index (starting from 0) of the current
+    page in the /@assistant@/, or -1 if the /@assistant@/ has no pages,
+    or no current page. -}
+assistantGetCurrentPage assistant = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    result <- gtk_assistant_get_current_page assistant'
+    touchManagedPtr assistant
+    return result
+
+#if ENABLE_OVERLOADING
+data AssistantGetCurrentPageMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsAssistant a) => O.MethodInfo AssistantGetCurrentPageMethodInfo a signature where
+    overloadedMethod _ = assistantGetCurrentPage
+
+#endif
+
+-- method Assistant::get_n_pages
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_get_n_pages" gtk_assistant_get_n_pages :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    IO Int32
+
+{- |
+Returns the number of pages in the /@assistant@/
+
+/Since: 2.10/
+-}
+assistantGetNPages ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of pages in the /@assistant@/ -}
+assistantGetNPages assistant = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    result <- gtk_assistant_get_n_pages assistant'
+    touchManagedPtr assistant
+    return result
+
+#if ENABLE_OVERLOADING
+data AssistantGetNPagesMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsAssistant a) => O.MethodInfo AssistantGetNPagesMethodInfo a signature where
+    overloadedMethod _ = assistantGetNPages
+
+#endif
+
+-- method Assistant::get_nth_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of a page in the @assistant,\n    or -1 to get the last page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_get_nth_page" gtk_assistant_get_nth_page :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Int32 ->                                -- page_num : TBasicType TInt
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the child widget contained in page number /@pageNum@/.
+
+/Since: 2.10/
+-}
+assistantGetNthPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> Int32
+    {- ^ /@pageNum@/: the index of a page in the /@assistant@/,
+    or -1 to get the last page -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the child widget, or 'Nothing'
+    if /@pageNum@/ is out of bounds -}
+assistantGetNthPage assistant pageNum = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    result <- gtk_assistant_get_nth_page assistant' pageNum
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr assistant
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data AssistantGetNthPageMethodInfo
+instance (signature ~ (Int32 -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsAssistant a) => O.MethodInfo AssistantGetNthPageMethodInfo a signature where
+    overloadedMethod _ = assistantGetNthPage
+
+#endif
+
+-- method Assistant::get_page_complete
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_get_page_complete" gtk_assistant_get_page_complete :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Gets whether /@page@/ is complete.
+
+/Since: 2.10/
+-}
+assistantGetPageComplete ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@page@/ is complete. -}
+assistantGetPageComplete assistant page = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    result <- gtk_assistant_get_page_complete assistant' page'
+    let result' = (/= 0) result
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return result'
+
+#if ENABLE_OVERLOADING
+data AssistantGetPageCompleteMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantGetPageCompleteMethodInfo a signature where
+    overloadedMethod _ = assistantGetPageComplete
+
+#endif
+
+-- method Assistant::get_page_has_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_get_page_has_padding" gtk_assistant_get_page_has_padding :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Gets whether page has padding.
+
+/Since: 3.18/
+-}
+assistantGetPageHasPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@page@/ has padding -}
+assistantGetPageHasPadding assistant page = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    result <- gtk_assistant_get_page_has_padding assistant' page'
+    let result' = (/= 0) result
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return result'
+
+#if ENABLE_OVERLOADING
+data AssistantGetPageHasPaddingMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantGetPageHasPaddingMethodInfo a signature where
+    overloadedMethod _ = assistantGetPageHasPadding
+
+#endif
+
+-- method Assistant::get_page_header_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_get_page_header_image" gtk_assistant_get_page_header_image :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED assistantGetPageHeaderImage ["(Since version 3.2)","Since GTK+ 3.2, a header is no longer shown;","    add your header decoration to the page content instead."] #-}
+{- |
+Gets the header image for /@page@/.
+
+/Since: 2.10/
+-}
+assistantGetPageHeaderImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ the header image for /@page@/,
+    or 'Nothing' if there’s no header image for the page -}
+assistantGetPageHeaderImage assistant page = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    result <- gtk_assistant_get_page_header_image assistant' page'
+    checkUnexpectedReturnNULL "assistantGetPageHeaderImage" result
+    result' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return result'
+
+#if ENABLE_OVERLOADING
+data AssistantGetPageHeaderImageMethodInfo
+instance (signature ~ (b -> m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantGetPageHeaderImageMethodInfo a signature where
+    overloadedMethod _ = assistantGetPageHeaderImage
+
+#endif
+
+-- method Assistant::get_page_side_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_get_page_side_image" gtk_assistant_get_page_side_image :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED assistantGetPageSideImage ["(Since version 3.2)","Since GTK+ 3.2, sidebar images are not","    shown anymore."] #-}
+{- |
+Gets the side image for /@page@/.
+
+/Since: 2.10/
+-}
+assistantGetPageSideImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ the side image for /@page@/,
+    or 'Nothing' if there’s no side image for the page -}
+assistantGetPageSideImage assistant page = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    result <- gtk_assistant_get_page_side_image assistant' page'
+    checkUnexpectedReturnNULL "assistantGetPageSideImage" result
+    result' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return result'
+
+#if ENABLE_OVERLOADING
+data AssistantGetPageSideImageMethodInfo
+instance (signature ~ (b -> m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantGetPageSideImageMethodInfo a signature where
+    overloadedMethod _ = assistantGetPageSideImage
+
+#endif
+
+-- method Assistant::get_page_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_get_page_title" gtk_assistant_get_page_title :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CString
+
+{- |
+Gets the title for /@page@/.
+
+/Since: 2.10/
+-}
+assistantGetPageTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> m T.Text
+    {- ^ __Returns:__ the title for /@page@/ -}
+assistantGetPageTitle assistant page = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    result <- gtk_assistant_get_page_title assistant' page'
+    checkUnexpectedReturnNULL "assistantGetPageTitle" result
+    result' <- cstringToText result
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return result'
+
+#if ENABLE_OVERLOADING
+data AssistantGetPageTitleMethodInfo
+instance (signature ~ (b -> m T.Text), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantGetPageTitleMethodInfo a signature where
+    overloadedMethod _ = assistantGetPageTitle
+
+#endif
+
+-- method Assistant::get_page_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AssistantPageType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_get_page_type" gtk_assistant_get_page_type :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CUInt
+
+{- |
+Gets the page type of /@page@/.
+
+/Since: 2.10/
+-}
+assistantGetPageType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> m Gtk.Enums.AssistantPageType
+    {- ^ __Returns:__ the page type of /@page@/ -}
+assistantGetPageType assistant page = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    result <- gtk_assistant_get_page_type assistant' page'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return result'
+
+#if ENABLE_OVERLOADING
+data AssistantGetPageTypeMethodInfo
+instance (signature ~ (b -> m Gtk.Enums.AssistantPageType), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantGetPageTypeMethodInfo a signature where
+    overloadedMethod _ = assistantGetPageType
+
+#endif
+
+-- method Assistant::insert_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index (starting at 0) at which to insert the page,\n    or -1 to append the page to the @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_insert_page" gtk_assistant_insert_page :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO Int32
+
+{- |
+Inserts a page in the /@assistant@/ at a given position.
+
+/Since: 2.10/
+-}
+assistantInsertPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@position@/: the index (starting at 0) at which to insert the page,
+    or -1 to append the page to the /@assistant@/ -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting from 0) of the inserted page -}
+assistantInsertPage assistant page position = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    result <- gtk_assistant_insert_page assistant' page' position
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return result
+
+#if ENABLE_OVERLOADING
+data AssistantInsertPageMethodInfo
+instance (signature ~ (b -> Int32 -> m Int32), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantInsertPageMethodInfo a signature where
+    overloadedMethod _ = assistantInsertPage
+
+#endif
+
+-- method Assistant::next_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_next_page" gtk_assistant_next_page :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    IO ()
+
+{- |
+Navigate to the next page.
+
+It is a programming error to call this function when
+there is no next page.
+
+This function is for use when creating pages of the
+@/GTK_ASSISTANT_PAGE_CUSTOM/@ type.
+
+/Since: 3.0/
+-}
+assistantNextPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> m ()
+assistantNextPage assistant = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    gtk_assistant_next_page assistant'
+    touchManagedPtr assistant
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantNextPageMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAssistant a) => O.MethodInfo AssistantNextPageMethodInfo a signature where
+    overloadedMethod _ = assistantNextPage
+
+#endif
+
+-- method Assistant::prepend_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_prepend_page" gtk_assistant_prepend_page :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Prepends a page to the /@assistant@/.
+
+/Since: 2.10/
+-}
+assistantPrependPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting at 0) of the inserted page -}
+assistantPrependPage assistant page = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    result <- gtk_assistant_prepend_page assistant' page'
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return result
+
+#if ENABLE_OVERLOADING
+data AssistantPrependPageMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantPrependPageMethodInfo a signature where
+    overloadedMethod _ = assistantPrependPage
+
+#endif
+
+-- method Assistant::previous_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_previous_page" gtk_assistant_previous_page :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    IO ()
+
+{- |
+Navigate to the previous visited page.
+
+It is a programming error to call this function when
+no previous page is available.
+
+This function is for use when creating pages of the
+@/GTK_ASSISTANT_PAGE_CUSTOM/@ type.
+
+/Since: 3.0/
+-}
+assistantPreviousPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> m ()
+assistantPreviousPage assistant = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    gtk_assistant_previous_page assistant'
+    touchManagedPtr assistant
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantPreviousPageMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAssistant a) => O.MethodInfo AssistantPreviousPageMethodInfo a signature where
+    overloadedMethod _ = assistantPreviousPage
+
+#endif
+
+-- method Assistant::remove_action_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_remove_action_widget" gtk_assistant_remove_action_widget :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Removes a widget from the action area of a 'GI.Gtk.Objects.Assistant.Assistant'.
+
+/Since: 2.10/
+-}
+assistantRemoveActionWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@child@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+assistantRemoveActionWidget assistant child = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_assistant_remove_action_widget assistant' child'
+    touchManagedPtr assistant
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantRemoveActionWidgetMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantRemoveActionWidgetMethodInfo a signature where
+    overloadedMethod _ = assistantRemoveActionWidget
+
+#endif
+
+-- method Assistant::remove_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of a page in the @assistant,\n    or -1 to remove the last page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_remove_page" gtk_assistant_remove_page :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Int32 ->                                -- page_num : TBasicType TInt
+    IO ()
+
+{- |
+Removes the /@pageNum@/’s page from /@assistant@/.
+
+/Since: 3.2/
+-}
+assistantRemovePage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> Int32
+    {- ^ /@pageNum@/: the index of a page in the /@assistant@/,
+    or -1 to remove the last page -}
+    -> m ()
+assistantRemovePage assistant pageNum = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    gtk_assistant_remove_page assistant' pageNum
+    touchManagedPtr assistant
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantRemovePageMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsAssistant a) => O.MethodInfo AssistantRemovePageMethodInfo a signature where
+    overloadedMethod _ = assistantRemovePage
+
+#endif
+
+-- method Assistant::set_current_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of the page to switch to, starting from 0.\n    If negative, the last page will be used. If greater\n    than the number of pages in the @assistant, nothing\n    will be done.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_set_current_page" gtk_assistant_set_current_page :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Int32 ->                                -- page_num : TBasicType TInt
+    IO ()
+
+{- |
+Switches the page to /@pageNum@/.
+
+Note that this will only be necessary in custom buttons,
+as the /@assistant@/ flow can be set with
+'GI.Gtk.Objects.Assistant.assistantSetForwardPageFunc'.
+
+/Since: 2.10/
+-}
+assistantSetCurrentPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> Int32
+    {- ^ /@pageNum@/: index of the page to switch to, starting from 0.
+    If negative, the last page will be used. If greater
+    than the number of pages in the /@assistant@/, nothing
+    will be done. -}
+    -> m ()
+assistantSetCurrentPage assistant pageNum = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    gtk_assistant_set_current_page assistant' pageNum
+    touchManagedPtr assistant
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantSetCurrentPageMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsAssistant a) => O.MethodInfo AssistantSetCurrentPageMethodInfo a signature where
+    overloadedMethod _ = assistantSetCurrentPage
+
+#endif
+
+-- method Assistant::set_forward_page_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_func", argType = TInterface (Name {namespace = "Gtk", name = "AssistantPageFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkAssistantPageFunc, or %NULL\n    to use the default one", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @page_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notifier for @data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_set_forward_page_func" gtk_assistant_set_forward_page_func :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    FunPtr Gtk.Callbacks.C_AssistantPageFunc -> -- page_func : TInterface (Name {namespace = "Gtk", name = "AssistantPageFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the page forwarding function to be /@pageFunc@/.
+
+This function will be used to determine what will be
+the next page when the user presses the forward button.
+Setting /@pageFunc@/ to 'Nothing' will make the assistant to
+use the default forward function, which just goes to the
+next visible page.
+
+/Since: 2.10/
+-}
+assistantSetForwardPageFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> Maybe (Gtk.Callbacks.AssistantPageFunc)
+    {- ^ /@pageFunc@/: the 'GI.Gtk.Callbacks.AssistantPageFunc', or 'Nothing'
+    to use the default one -}
+    -> m ()
+assistantSetForwardPageFunc assistant pageFunc = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    maybePageFunc <- case pageFunc of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jPageFunc -> do
+            jPageFunc' <- Gtk.Callbacks.mk_AssistantPageFunc (Gtk.Callbacks.wrap_AssistantPageFunc Nothing (Gtk.Callbacks.drop_closures_AssistantPageFunc jPageFunc))
+            return jPageFunc'
+    let data_ = castFunPtrToPtr maybePageFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_assistant_set_forward_page_func assistant' maybePageFunc data_ destroy
+    touchManagedPtr assistant
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantSetForwardPageFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.AssistantPageFunc) -> m ()), MonadIO m, IsAssistant a) => O.MethodInfo AssistantSetForwardPageFuncMethodInfo a signature where
+    overloadedMethod _ = assistantSetForwardPageFunc
+
+#endif
+
+-- method Assistant::set_page_complete
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "complete", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the completeness status of the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_set_page_complete" gtk_assistant_set_page_complete :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- complete : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@page@/ contents are complete.
+
+This will make /@assistant@/ update the buttons state
+to be able to continue the task.
+
+/Since: 2.10/
+-}
+assistantSetPageComplete ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> Bool
+    {- ^ /@complete@/: the completeness status of the page -}
+    -> m ()
+assistantSetPageComplete assistant page complete = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    let complete' = (fromIntegral . fromEnum) complete
+    gtk_assistant_set_page_complete assistant' page' complete'
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantSetPageCompleteMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantSetPageCompleteMethodInfo a signature where
+    overloadedMethod _ = assistantSetPageComplete
+
+#endif
+
+-- method Assistant::set_page_has_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_padding", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether this page has padding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_set_page_has_padding" gtk_assistant_set_page_has_padding :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- has_padding : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the assistant is adding padding around
+the page.
+
+/Since: 3.18/
+-}
+assistantSetPageHasPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> Bool
+    {- ^ /@hasPadding@/: whether this page has padding -}
+    -> m ()
+assistantSetPageHasPadding assistant page hasPadding = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    let hasPadding' = (fromIntegral . fromEnum) hasPadding
+    gtk_assistant_set_page_has_padding assistant' page' hasPadding'
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantSetPageHasPaddingMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantSetPageHasPaddingMethodInfo a signature where
+    overloadedMethod _ = assistantSetPageHasPadding
+
+#endif
+
+-- method Assistant::set_page_header_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the new header image @page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_set_page_header_image" gtk_assistant_set_page_header_image :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{-# DEPRECATED assistantSetPageHeaderImage ["(Since version 3.2)","Since GTK+ 3.2, a header is no longer shown;","    add your header decoration to the page content instead."] #-}
+{- |
+Sets a header image for /@page@/.
+
+/Since: 2.10/
+-}
+assistantSetPageHeaderImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b, GdkPixbuf.Pixbuf.IsPixbuf c) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> Maybe (c)
+    {- ^ /@pixbuf@/: the new header image /@page@/ -}
+    -> m ()
+assistantSetPageHeaderImage assistant page pixbuf = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    maybePixbuf <- case pixbuf of
+        Nothing -> return nullPtr
+        Just jPixbuf -> do
+            jPixbuf' <- unsafeManagedPtrCastPtr jPixbuf
+            return jPixbuf'
+    gtk_assistant_set_page_header_image assistant' page' maybePixbuf
+    touchManagedPtr assistant
+    touchManagedPtr page
+    whenJust pixbuf touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantSetPageHeaderImageMethodInfo
+instance (signature ~ (b -> Maybe (c) -> m ()), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b, GdkPixbuf.Pixbuf.IsPixbuf c) => O.MethodInfo AssistantSetPageHeaderImageMethodInfo a signature where
+    overloadedMethod _ = assistantSetPageHeaderImage
+
+#endif
+
+-- method Assistant::set_page_side_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the new side image @page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_set_page_side_image" gtk_assistant_set_page_side_image :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{-# DEPRECATED assistantSetPageSideImage ["(Since version 3.2)","Since GTK+ 3.2, sidebar images are not","    shown anymore."] #-}
+{- |
+Sets a side image for /@page@/.
+
+This image used to be displayed in the side area of the assistant
+when /@page@/ is the current page.
+
+/Since: 2.10/
+-}
+assistantSetPageSideImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b, GdkPixbuf.Pixbuf.IsPixbuf c) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> Maybe (c)
+    {- ^ /@pixbuf@/: the new side image /@page@/ -}
+    -> m ()
+assistantSetPageSideImage assistant page pixbuf = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    maybePixbuf <- case pixbuf of
+        Nothing -> return nullPtr
+        Just jPixbuf -> do
+            jPixbuf' <- unsafeManagedPtrCastPtr jPixbuf
+            return jPixbuf'
+    gtk_assistant_set_page_side_image assistant' page' maybePixbuf
+    touchManagedPtr assistant
+    touchManagedPtr page
+    whenJust pixbuf touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantSetPageSideImageMethodInfo
+instance (signature ~ (b -> Maybe (c) -> m ()), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b, GdkPixbuf.Pixbuf.IsPixbuf c) => O.MethodInfo AssistantSetPageSideImageMethodInfo a signature where
+    overloadedMethod _ = assistantSetPageSideImage
+
+#endif
+
+-- method Assistant::set_page_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new title for @page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_set_page_title" gtk_assistant_set_page_title :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets a title for /@page@/.
+
+The title is displayed in the header area of the assistant
+when /@page@/ is the current page.
+
+/Since: 2.10/
+-}
+assistantSetPageTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> T.Text
+    {- ^ /@title@/: the new title for /@page@/ -}
+    -> m ()
+assistantSetPageTitle assistant page title = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    title' <- textToCString title
+    gtk_assistant_set_page_title assistant' page' title'
+    touchManagedPtr assistant
+    touchManagedPtr page
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantSetPageTitleMethodInfo
+instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantSetPageTitleMethodInfo a signature where
+    overloadedMethod _ = assistantSetPageTitle
+
+#endif
+
+-- method Assistant::set_page_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page of @assistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "AssistantPageType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new type for @page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_set_page_type" gtk_assistant_set_page_type :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    Ptr Gtk.Widget.Widget ->                -- page : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "AssistantPageType"})
+    IO ()
+
+{- |
+Sets the page type for /@page@/.
+
+The page type determines the page behavior in the /@assistant@/.
+
+/Since: 2.10/
+-}
+assistantSetPageType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> b
+    {- ^ /@page@/: a page of /@assistant@/ -}
+    -> Gtk.Enums.AssistantPageType
+    {- ^ /@type@/: the new type for /@page@/ -}
+    -> m ()
+assistantSetPageType assistant page type_ = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    page' <- unsafeManagedPtrCastPtr page
+    let type_' = (fromIntegral . fromEnum) type_
+    gtk_assistant_set_page_type assistant' page' type_'
+    touchManagedPtr assistant
+    touchManagedPtr page
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantSetPageTypeMethodInfo
+instance (signature ~ (b -> Gtk.Enums.AssistantPageType -> m ()), MonadIO m, IsAssistant a, Gtk.Widget.IsWidget b) => O.MethodInfo AssistantSetPageTypeMethodInfo a signature where
+    overloadedMethod _ = assistantSetPageType
+
+#endif
+
+-- method Assistant::update_buttons_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "assistant", argType = TInterface (Name {namespace = "Gtk", name = "Assistant"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAssistant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_assistant_update_buttons_state" gtk_assistant_update_buttons_state :: 
+    Ptr Assistant ->                        -- assistant : TInterface (Name {namespace = "Gtk", name = "Assistant"})
+    IO ()
+
+{- |
+Forces /@assistant@/ to recompute the buttons state.
+
+GTK+ automatically takes care of this in most situations,
+e.g. when the user goes to a different page, or when the
+visibility or completeness of a page changes.
+
+One situation where it can be necessary to call this
+function is when changing a value on the current page
+affects the future page flow of the assistant.
+
+/Since: 2.10/
+-}
+assistantUpdateButtonsState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsAssistant a) =>
+    a
+    {- ^ /@assistant@/: a 'GI.Gtk.Objects.Assistant.Assistant' -}
+    -> m ()
+assistantUpdateButtonsState assistant = liftIO $ do
+    assistant' <- unsafeManagedPtrCastPtr assistant
+    gtk_assistant_update_buttons_state assistant'
+    touchManagedPtr assistant
+    return ()
+
+#if ENABLE_OVERLOADING
+data AssistantUpdateButtonsStateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsAssistant a) => O.MethodInfo AssistantUpdateButtonsStateMethodInfo a signature where
+    overloadedMethod _ = assistantUpdateButtonsState
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Assistant.hs-boot b/GI/Gtk/Objects/Assistant.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Assistant.hs-boot
@@ -0,0 +1,128 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Assistant where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Assistant = Assistant (ManagedPtr Assistant)
+instance GObject Assistant where
+class (GObject o, O.IsDescendantOf Assistant o) => IsAssistant o
+instance (GObject o, O.IsDescendantOf Assistant o) => IsAssistant o
+instance O.HasParentTypes Assistant
+#if ENABLE_OVERLOADING
+data AssistantUseHeaderBarPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantApplySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantCancelSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantCloseSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantEscapeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantPrepareSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantAddActionWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantAppendPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantCommitMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantGetCurrentPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantGetNPagesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantGetNthPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantGetPageCompleteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantGetPageHasPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantGetPageHeaderImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantGetPageSideImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantGetPageTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantGetPageTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantInsertPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantNextPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantPrependPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantPreviousPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantRemoveActionWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantRemovePageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantSetCurrentPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantSetForwardPageFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantSetPageCompleteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantSetPageHasPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantSetPageHeaderImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantSetPageSideImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantSetPageTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantSetPageTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data AssistantUpdateButtonsStateMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Bin.hs b/GI/Gtk/Objects/Bin.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Bin.hs
@@ -0,0 +1,478 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Bin.Bin' widget is a container with just one child.
+It is not very useful itself, but it is useful for deriving subclasses,
+since it provides common code needed for handling a single child widget.
+
+Many GTK+ widgets are subclasses of 'GI.Gtk.Objects.Bin.Bin', including 'GI.Gtk.Objects.Window.Window',
+'GI.Gtk.Objects.Button.Button', 'GI.Gtk.Objects.Frame.Frame', 'GI.Gtk.Objects.HandleBox.HandleBox' or 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Bin
+    ( 
+
+-- * Exported types
+    Bin(..)                                 ,
+    IsBin                                   ,
+    toBin                                   ,
+    noBin                                   ,
+
+
+ -- * Methods
+-- ** getChild #method:getChild#
+
+#if ENABLE_OVERLOADING
+    BinGetChildMethodInfo                   ,
+#endif
+    binGetChild                             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Bin = Bin (ManagedPtr Bin)
+foreign import ccall "gtk_bin_get_type"
+    c_gtk_bin_get_type :: IO GType
+
+instance GObject Bin where
+    gobjectType = c_gtk_bin_get_type
+    
+
+-- | Type class for types which can be safely cast to `Bin`, for instance with `toBin`.
+class (GObject o, O.IsDescendantOf Bin o) => IsBin o
+instance (GObject o, O.IsDescendantOf Bin o) => IsBin o
+
+instance O.HasParentTypes Bin
+type instance O.ParentTypes Bin = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Bin`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toBin :: (MonadIO m, IsBin o) => o -> m Bin
+toBin = liftIO . unsafeCastTo Bin
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Bin`.
+noBin :: Maybe Bin
+noBin = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveBinMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBinMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveBinMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveBinMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveBinMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveBinMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveBinMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveBinMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveBinMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveBinMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveBinMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveBinMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveBinMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveBinMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveBinMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveBinMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveBinMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveBinMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveBinMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveBinMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveBinMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveBinMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveBinMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveBinMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveBinMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveBinMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveBinMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveBinMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveBinMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveBinMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveBinMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveBinMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveBinMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveBinMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveBinMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveBinMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveBinMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveBinMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveBinMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveBinMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveBinMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveBinMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveBinMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveBinMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveBinMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveBinMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveBinMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveBinMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveBinMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveBinMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveBinMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveBinMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveBinMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveBinMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveBinMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveBinMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveBinMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveBinMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveBinMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveBinMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveBinMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveBinMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveBinMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveBinMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveBinMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveBinMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveBinMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveBinMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveBinMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveBinMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveBinMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveBinMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveBinMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveBinMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveBinMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveBinMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveBinMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveBinMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveBinMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveBinMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveBinMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveBinMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveBinMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveBinMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveBinMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveBinMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveBinMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveBinMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveBinMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveBinMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveBinMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveBinMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveBinMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveBinMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveBinMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveBinMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveBinMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveBinMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveBinMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveBinMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveBinMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveBinMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveBinMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveBinMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveBinMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveBinMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveBinMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveBinMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveBinMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveBinMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveBinMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveBinMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveBinMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveBinMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveBinMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveBinMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveBinMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveBinMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveBinMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveBinMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveBinMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveBinMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveBinMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveBinMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveBinMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveBinMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveBinMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveBinMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveBinMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveBinMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveBinMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveBinMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveBinMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveBinMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveBinMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveBinMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveBinMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveBinMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveBinMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveBinMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveBinMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveBinMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveBinMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveBinMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveBinMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveBinMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveBinMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveBinMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveBinMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveBinMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveBinMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveBinMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveBinMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveBinMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveBinMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveBinMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveBinMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveBinMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveBinMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveBinMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveBinMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveBinMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveBinMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveBinMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveBinMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveBinMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveBinMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveBinMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveBinMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveBinMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveBinMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveBinMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveBinMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveBinMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveBinMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveBinMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveBinMethod "getChild" o = BinGetChildMethodInfo
+    ResolveBinMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveBinMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveBinMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveBinMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveBinMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveBinMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveBinMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveBinMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveBinMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveBinMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveBinMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveBinMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveBinMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveBinMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveBinMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveBinMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveBinMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveBinMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveBinMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveBinMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveBinMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveBinMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveBinMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveBinMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveBinMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveBinMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveBinMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveBinMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveBinMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveBinMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveBinMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveBinMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveBinMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveBinMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveBinMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveBinMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveBinMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveBinMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveBinMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveBinMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveBinMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveBinMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveBinMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveBinMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveBinMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveBinMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveBinMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveBinMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveBinMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveBinMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveBinMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveBinMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveBinMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveBinMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveBinMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveBinMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveBinMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveBinMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveBinMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveBinMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveBinMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveBinMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveBinMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveBinMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveBinMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveBinMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveBinMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveBinMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveBinMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveBinMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveBinMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveBinMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveBinMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveBinMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveBinMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveBinMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveBinMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveBinMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveBinMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveBinMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveBinMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveBinMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveBinMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveBinMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveBinMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveBinMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveBinMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveBinMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveBinMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveBinMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveBinMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveBinMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveBinMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveBinMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveBinMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveBinMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveBinMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveBinMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveBinMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveBinMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveBinMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveBinMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveBinMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveBinMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveBinMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveBinMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveBinMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveBinMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveBinMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveBinMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveBinMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveBinMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveBinMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveBinMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveBinMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveBinMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveBinMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveBinMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveBinMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveBinMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveBinMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveBinMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveBinMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveBinMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveBinMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveBinMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveBinMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveBinMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveBinMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveBinMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveBinMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveBinMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveBinMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveBinMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveBinMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveBinMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveBinMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveBinMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveBinMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveBinMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveBinMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveBinMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveBinMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBinMethod t Bin, O.MethodInfo info Bin p) => OL.IsLabel t (Bin -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Bin
+type instance O.AttributeList Bin = BinAttributeList
+type BinAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Bin = BinSignalList
+type BinSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Bin::get_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gtk", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_bin_get_child" gtk_bin_get_child :: 
+    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gtk", name = "Bin"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the child of the 'GI.Gtk.Objects.Bin.Bin', or 'Nothing' if the bin contains
+no child widget. The returned widget does not have a reference
+added, so you do not need to unref it.
+-}
+binGetChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>
+    a
+    {- ^ /@bin@/: a 'GI.Gtk.Objects.Bin.Bin' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the child of /@bin@/, or 'Nothing' if it does
+not have a child. -}
+binGetChild bin = liftIO $ do
+    bin' <- unsafeManagedPtrCastPtr bin
+    result <- gtk_bin_get_child bin'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr bin
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data BinGetChildMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsBin a) => O.MethodInfo BinGetChildMethodInfo a signature where
+    overloadedMethod _ = binGetChild
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Bin.hs-boot b/GI/Gtk/Objects/Bin.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Bin.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Bin where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Bin = Bin (ManagedPtr Bin)
+instance GObject Bin where
+class (GObject o, O.IsDescendantOf Bin o) => IsBin o
+instance (GObject o, O.IsDescendantOf Bin o) => IsBin o
+instance O.HasParentTypes Bin
+#if ENABLE_OVERLOADING
+data BinGetChildMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/BooleanCellAccessible.hs b/GI/Gtk/Objects/BooleanCellAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/BooleanCellAccessible.hs
@@ -0,0 +1,177 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.BooleanCellAccessible
+    ( 
+
+-- * Exported types
+    BooleanCellAccessible(..)               ,
+    IsBooleanCellAccessible                 ,
+    toBooleanCellAccessible                 ,
+    noBooleanCellAccessible                 ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.TableCell as Atk.TableCell
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellAccessible as Gtk.CellAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RendererCellAccessible as Gtk.RendererCellAccessible
+
+-- | Memory-managed wrapper type.
+newtype BooleanCellAccessible = BooleanCellAccessible (ManagedPtr BooleanCellAccessible)
+foreign import ccall "gtk_boolean_cell_accessible_get_type"
+    c_gtk_boolean_cell_accessible_get_type :: IO GType
+
+instance GObject BooleanCellAccessible where
+    gobjectType = c_gtk_boolean_cell_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `BooleanCellAccessible`, for instance with `toBooleanCellAccessible`.
+class (GObject o, O.IsDescendantOf BooleanCellAccessible o) => IsBooleanCellAccessible o
+instance (GObject o, O.IsDescendantOf BooleanCellAccessible o) => IsBooleanCellAccessible o
+
+instance O.HasParentTypes BooleanCellAccessible
+type instance O.ParentTypes BooleanCellAccessible = '[Gtk.RendererCellAccessible.RendererCellAccessible, Gtk.CellAccessible.CellAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.TableCell.TableCell]
+
+-- | Cast to `BooleanCellAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toBooleanCellAccessible :: (MonadIO m, IsBooleanCellAccessible o) => o -> m BooleanCellAccessible
+toBooleanCellAccessible = liftIO . unsafeCastTo BooleanCellAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `BooleanCellAccessible`.
+noBooleanCellAccessible :: Maybe BooleanCellAccessible
+noBooleanCellAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveBooleanCellAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBooleanCellAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveBooleanCellAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveBooleanCellAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveBooleanCellAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveBooleanCellAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveBooleanCellAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveBooleanCellAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveBooleanCellAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveBooleanCellAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveBooleanCellAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveBooleanCellAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveBooleanCellAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveBooleanCellAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveBooleanCellAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveBooleanCellAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveBooleanCellAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveBooleanCellAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveBooleanCellAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveBooleanCellAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveBooleanCellAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveBooleanCellAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveBooleanCellAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveBooleanCellAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveBooleanCellAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveBooleanCellAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveBooleanCellAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveBooleanCellAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveBooleanCellAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveBooleanCellAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveBooleanCellAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveBooleanCellAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveBooleanCellAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveBooleanCellAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveBooleanCellAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveBooleanCellAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveBooleanCellAccessibleMethod "getColumnHeaderCells" o = Atk.TableCell.TableCellGetColumnHeaderCellsMethodInfo
+    ResolveBooleanCellAccessibleMethod "getColumnSpan" o = Atk.TableCell.TableCellGetColumnSpanMethodInfo
+    ResolveBooleanCellAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveBooleanCellAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveBooleanCellAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveBooleanCellAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveBooleanCellAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveBooleanCellAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveBooleanCellAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveBooleanCellAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveBooleanCellAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveBooleanCellAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveBooleanCellAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveBooleanCellAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveBooleanCellAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveBooleanCellAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveBooleanCellAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveBooleanCellAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveBooleanCellAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveBooleanCellAccessibleMethod "getRowColumnSpan" o = Atk.TableCell.TableCellGetRowColumnSpanMethodInfo
+    ResolveBooleanCellAccessibleMethod "getRowHeaderCells" o = Atk.TableCell.TableCellGetRowHeaderCellsMethodInfo
+    ResolveBooleanCellAccessibleMethod "getRowSpan" o = Atk.TableCell.TableCellGetRowSpanMethodInfo
+    ResolveBooleanCellAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveBooleanCellAccessibleMethod "getTable" o = Atk.TableCell.TableCellGetTableMethodInfo
+    ResolveBooleanCellAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveBooleanCellAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveBooleanCellAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveBooleanCellAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveBooleanCellAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveBooleanCellAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveBooleanCellAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveBooleanCellAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveBooleanCellAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveBooleanCellAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveBooleanCellAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveBooleanCellAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBooleanCellAccessibleMethod t BooleanCellAccessible, O.MethodInfo info BooleanCellAccessible p) => OL.IsLabel t (BooleanCellAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList BooleanCellAccessible
+type instance O.AttributeList BooleanCellAccessible = BooleanCellAccessibleAttributeList
+type BooleanCellAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("renderer", Gtk.RendererCellAccessible.RendererCellAccessibleRendererPropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList BooleanCellAccessible = BooleanCellAccessibleSignalList
+type BooleanCellAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/BooleanCellAccessible.hs-boot b/GI/Gtk/Objects/BooleanCellAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/BooleanCellAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.BooleanCellAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype BooleanCellAccessible = BooleanCellAccessible (ManagedPtr BooleanCellAccessible)
+instance GObject BooleanCellAccessible where
+class (GObject o, O.IsDescendantOf BooleanCellAccessible o) => IsBooleanCellAccessible o
+instance (GObject o, O.IsDescendantOf BooleanCellAccessible o) => IsBooleanCellAccessible o
+instance O.HasParentTypes BooleanCellAccessible
diff --git a/GI/Gtk/Objects/Box.hs b/GI/Gtk/Objects/Box.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Box.hs
@@ -0,0 +1,1428 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The GtkBox widget arranges child widgets into a single row or column,
+depending upon the value of its 'GI.Gtk.Interfaces.Orientable.Orientable':@/orientation/@ property. Within
+the other dimension, all children are allocated the same size. Of course,
+the 'GI.Gtk.Objects.Widget.Widget':@/halign/@ and 'GI.Gtk.Objects.Widget.Widget':@/valign/@ properties can be used on
+the children to influence their allocation.
+
+GtkBox uses a notion of packing. Packing refers
+to adding widgets with reference to a particular position in a
+'GI.Gtk.Objects.Container.Container'. For a GtkBox, there are two reference positions: the
+start and the end of the box.
+For a vertical 'GI.Gtk.Objects.Box.Box', the start is defined as the top of the box and
+the end is defined as the bottom. For a horizontal 'GI.Gtk.Objects.Box.Box' the start
+is defined as the left side and the end is defined as the right side.
+
+Use repeated calls to 'GI.Gtk.Objects.Box.boxPackStart' to pack widgets into a
+GtkBox from start to end. Use 'GI.Gtk.Objects.Box.boxPackEnd' to add widgets from
+end to start. You may intersperse these calls and add widgets from
+both ends of the same GtkBox.
+
+Because GtkBox is a 'GI.Gtk.Objects.Container.Container', you may also use 'GI.Gtk.Objects.Container.containerAdd'
+to insert widgets into the box, and they will be packed with the default
+values for expand and fill child properties. Use 'GI.Gtk.Objects.Container.containerRemove'
+to remove widgets from the GtkBox.
+
+Use 'GI.Gtk.Objects.Box.boxSetHomogeneous' to specify whether or not all children
+of the GtkBox are forced to get the same amount of space.
+
+Use 'GI.Gtk.Objects.Box.boxSetSpacing' to determine how much space will be
+minimally placed between all children in the GtkBox. Note that
+spacing is added between the children, while
+padding added by 'GI.Gtk.Objects.Box.boxPackStart' or 'GI.Gtk.Objects.Box.boxPackEnd' is added
+on either side of the widget it belongs to.
+
+Use 'GI.Gtk.Objects.Box.boxReorderChild' to move a GtkBox child to a different
+place in the box.
+
+Use 'GI.Gtk.Objects.Box.boxSetChildPacking' to reset the expand,
+fill and padding child properties.
+Use 'GI.Gtk.Objects.Box.boxQueryChildPacking' to query these fields.
+
+= CSS nodes
+
+GtkBox uses a single CSS node with name box.
+
+In horizontal orientation, the nodes of the children are always arranged
+from left to right. So :first-child will always select the leftmost child,
+regardless of text direction.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Box
+    ( 
+
+-- * Exported types
+    Box(..)                                 ,
+    IsBox                                   ,
+    toBox                                   ,
+    noBox                                   ,
+
+
+ -- * Methods
+-- ** getBaselinePosition #method:getBaselinePosition#
+
+#if ENABLE_OVERLOADING
+    BoxGetBaselinePositionMethodInfo        ,
+#endif
+    boxGetBaselinePosition                  ,
+
+
+-- ** getCenterWidget #method:getCenterWidget#
+
+#if ENABLE_OVERLOADING
+    BoxGetCenterWidgetMethodInfo            ,
+#endif
+    boxGetCenterWidget                      ,
+
+
+-- ** getHomogeneous #method:getHomogeneous#
+
+#if ENABLE_OVERLOADING
+    BoxGetHomogeneousMethodInfo             ,
+#endif
+    boxGetHomogeneous                       ,
+
+
+-- ** getSpacing #method:getSpacing#
+
+#if ENABLE_OVERLOADING
+    BoxGetSpacingMethodInfo                 ,
+#endif
+    boxGetSpacing                           ,
+
+
+-- ** new #method:new#
+
+    boxNew                                  ,
+
+
+-- ** packEnd #method:packEnd#
+
+#if ENABLE_OVERLOADING
+    BoxPackEndMethodInfo                    ,
+#endif
+    boxPackEnd                              ,
+
+
+-- ** packStart #method:packStart#
+
+#if ENABLE_OVERLOADING
+    BoxPackStartMethodInfo                  ,
+#endif
+    boxPackStart                            ,
+
+
+-- ** queryChildPacking #method:queryChildPacking#
+
+#if ENABLE_OVERLOADING
+    BoxQueryChildPackingMethodInfo          ,
+#endif
+    boxQueryChildPacking                    ,
+
+
+-- ** reorderChild #method:reorderChild#
+
+#if ENABLE_OVERLOADING
+    BoxReorderChildMethodInfo               ,
+#endif
+    boxReorderChild                         ,
+
+
+-- ** setBaselinePosition #method:setBaselinePosition#
+
+#if ENABLE_OVERLOADING
+    BoxSetBaselinePositionMethodInfo        ,
+#endif
+    boxSetBaselinePosition                  ,
+
+
+-- ** setCenterWidget #method:setCenterWidget#
+
+#if ENABLE_OVERLOADING
+    BoxSetCenterWidgetMethodInfo            ,
+#endif
+    boxSetCenterWidget                      ,
+
+
+-- ** setChildPacking #method:setChildPacking#
+
+#if ENABLE_OVERLOADING
+    BoxSetChildPackingMethodInfo            ,
+#endif
+    boxSetChildPacking                      ,
+
+
+-- ** setHomogeneous #method:setHomogeneous#
+
+#if ENABLE_OVERLOADING
+    BoxSetHomogeneousMethodInfo             ,
+#endif
+    boxSetHomogeneous                       ,
+
+
+-- ** setSpacing #method:setSpacing#
+
+#if ENABLE_OVERLOADING
+    BoxSetSpacingMethodInfo                 ,
+#endif
+    boxSetSpacing                           ,
+
+
+
+
+ -- * Properties
+-- ** baselinePosition #attr:baselinePosition#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    BoxBaselinePositionPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    boxBaselinePosition                     ,
+#endif
+    constructBoxBaselinePosition            ,
+    getBoxBaselinePosition                  ,
+    setBoxBaselinePosition                  ,
+
+
+-- ** homogeneous #attr:homogeneous#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    BoxHomogeneousPropertyInfo              ,
+#endif
+#if ENABLE_OVERLOADING
+    boxHomogeneous                          ,
+#endif
+    constructBoxHomogeneous                 ,
+    getBoxHomogeneous                       ,
+    setBoxHomogeneous                       ,
+
+
+-- ** spacing #attr:spacing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    BoxSpacingPropertyInfo                  ,
+#endif
+#if ENABLE_OVERLOADING
+    boxSpacing                              ,
+#endif
+    constructBoxSpacing                     ,
+    getBoxSpacing                           ,
+    setBoxSpacing                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Box = Box (ManagedPtr Box)
+foreign import ccall "gtk_box_get_type"
+    c_gtk_box_get_type :: IO GType
+
+instance GObject Box where
+    gobjectType = c_gtk_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `Box`, for instance with `toBox`.
+class (GObject o, O.IsDescendantOf Box o) => IsBox o
+instance (GObject o, O.IsDescendantOf Box o) => IsBox o
+
+instance O.HasParentTypes Box
+type instance O.ParentTypes Box = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `Box`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toBox :: (MonadIO m, IsBox o) => o -> m Box
+toBox = liftIO . unsafeCastTo Box
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Box`.
+noBox :: Maybe Box
+noBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveBoxMethod "packEnd" o = BoxPackEndMethodInfo
+    ResolveBoxMethod "packStart" o = BoxPackStartMethodInfo
+    ResolveBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveBoxMethod "queryChildPacking" o = BoxQueryChildPackingMethodInfo
+    ResolveBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveBoxMethod "reorderChild" o = BoxReorderChildMethodInfo
+    ResolveBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveBoxMethod "getBaselinePosition" o = BoxGetBaselinePositionMethodInfo
+    ResolveBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveBoxMethod "getCenterWidget" o = BoxGetCenterWidgetMethodInfo
+    ResolveBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveBoxMethod "getHomogeneous" o = BoxGetHomogeneousMethodInfo
+    ResolveBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveBoxMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveBoxMethod "getSpacing" o = BoxGetSpacingMethodInfo
+    ResolveBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveBoxMethod "setBaselinePosition" o = BoxSetBaselinePositionMethodInfo
+    ResolveBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveBoxMethod "setCenterWidget" o = BoxSetCenterWidgetMethodInfo
+    ResolveBoxMethod "setChildPacking" o = BoxSetChildPackingMethodInfo
+    ResolveBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveBoxMethod "setHomogeneous" o = BoxSetHomogeneousMethodInfo
+    ResolveBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveBoxMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveBoxMethod "setSpacing" o = BoxSetSpacingMethodInfo
+    ResolveBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBoxMethod t Box, O.MethodInfo info Box p) => OL.IsLabel t (Box -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "baseline-position"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "BaselinePosition"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@baseline-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' box #baselinePosition
+@
+-}
+getBoxBaselinePosition :: (MonadIO m, IsBox o) => o -> m Gtk.Enums.BaselinePosition
+getBoxBaselinePosition obj = liftIO $ B.Properties.getObjectPropertyEnum obj "baseline-position"
+
+{- |
+Set the value of the “@baseline-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' box [ #baselinePosition 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBoxBaselinePosition :: (MonadIO m, IsBox o) => o -> Gtk.Enums.BaselinePosition -> m ()
+setBoxBaselinePosition obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "baseline-position" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@baseline-position@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructBoxBaselinePosition :: (IsBox o) => Gtk.Enums.BaselinePosition -> IO (GValueConstruct o)
+constructBoxBaselinePosition val = B.Properties.constructObjectPropertyEnum "baseline-position" val
+
+#if ENABLE_OVERLOADING
+data BoxBaselinePositionPropertyInfo
+instance AttrInfo BoxBaselinePositionPropertyInfo where
+    type AttrAllowedOps BoxBaselinePositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint BoxBaselinePositionPropertyInfo = (~) Gtk.Enums.BaselinePosition
+    type AttrBaseTypeConstraint BoxBaselinePositionPropertyInfo = IsBox
+    type AttrGetType BoxBaselinePositionPropertyInfo = Gtk.Enums.BaselinePosition
+    type AttrLabel BoxBaselinePositionPropertyInfo = "baseline-position"
+    type AttrOrigin BoxBaselinePositionPropertyInfo = Box
+    attrGet _ = getBoxBaselinePosition
+    attrSet _ = setBoxBaselinePosition
+    attrConstruct _ = constructBoxBaselinePosition
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "homogeneous"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' box #homogeneous
+@
+-}
+getBoxHomogeneous :: (MonadIO m, IsBox o) => o -> m Bool
+getBoxHomogeneous obj = liftIO $ B.Properties.getObjectPropertyBool obj "homogeneous"
+
+{- |
+Set the value of the “@homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' box [ #homogeneous 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBoxHomogeneous :: (MonadIO m, IsBox o) => o -> Bool -> m ()
+setBoxHomogeneous obj val = liftIO $ B.Properties.setObjectPropertyBool obj "homogeneous" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@homogeneous@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructBoxHomogeneous :: (IsBox o) => Bool -> IO (GValueConstruct o)
+constructBoxHomogeneous val = B.Properties.constructObjectPropertyBool "homogeneous" val
+
+#if ENABLE_OVERLOADING
+data BoxHomogeneousPropertyInfo
+instance AttrInfo BoxHomogeneousPropertyInfo where
+    type AttrAllowedOps BoxHomogeneousPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint BoxHomogeneousPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint BoxHomogeneousPropertyInfo = IsBox
+    type AttrGetType BoxHomogeneousPropertyInfo = Bool
+    type AttrLabel BoxHomogeneousPropertyInfo = "homogeneous"
+    type AttrOrigin BoxHomogeneousPropertyInfo = Box
+    attrGet _ = getBoxHomogeneous
+    attrSet _ = setBoxHomogeneous
+    attrConstruct _ = constructBoxHomogeneous
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' box #spacing
+@
+-}
+getBoxSpacing :: (MonadIO m, IsBox o) => o -> m Int32
+getBoxSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "spacing"
+
+{- |
+Set the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' box [ #spacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBoxSpacing :: (MonadIO m, IsBox o) => o -> Int32 -> m ()
+setBoxSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructBoxSpacing :: (IsBox o) => Int32 -> IO (GValueConstruct o)
+constructBoxSpacing val = B.Properties.constructObjectPropertyInt32 "spacing" val
+
+#if ENABLE_OVERLOADING
+data BoxSpacingPropertyInfo
+instance AttrInfo BoxSpacingPropertyInfo where
+    type AttrAllowedOps BoxSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint BoxSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint BoxSpacingPropertyInfo = IsBox
+    type AttrGetType BoxSpacingPropertyInfo = Int32
+    type AttrLabel BoxSpacingPropertyInfo = "spacing"
+    type AttrOrigin BoxSpacingPropertyInfo = Box
+    attrGet _ = getBoxSpacing
+    attrSet _ = setBoxSpacing
+    attrConstruct _ = constructBoxSpacing
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Box
+type instance O.AttributeList Box = BoxAttributeList
+type BoxAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+boxBaselinePosition :: AttrLabelProxy "baselinePosition"
+boxBaselinePosition = AttrLabelProxy
+
+boxHomogeneous :: AttrLabelProxy "homogeneous"
+boxHomogeneous = AttrLabelProxy
+
+boxSpacing :: AttrLabelProxy "spacing"
+boxSpacing = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Box = BoxSignalList
+type BoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Box::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the box\8217s orientation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of pixels to place by default between children.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Box"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_new" gtk_box_new :: 
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    Int32 ->                                -- spacing : TBasicType TInt
+    IO (Ptr Box)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Box.Box'.
+
+/Since: 3.0/
+-}
+boxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the box’s orientation. -}
+    -> Int32
+    {- ^ /@spacing@/: the number of pixels to place by default between children. -}
+    -> m Box
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Box.Box'. -}
+boxNew orientation spacing = liftIO $ do
+    let orientation' = (fromIntegral . fromEnum) orientation
+    result <- gtk_box_new orientation' spacing
+    checkUnexpectedReturnNULL "boxNew" result
+    result' <- (newObject Box) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Box::get_baseline_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "BaselinePosition"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_get_baseline_position" gtk_box_get_baseline_position :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    IO CUInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Box.boxSetBaselinePosition'.
+
+/Since: 3.10/
+-}
+boxGetBaselinePosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> m Gtk.Enums.BaselinePosition
+    {- ^ __Returns:__ the baseline position -}
+boxGetBaselinePosition box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_box_get_baseline_position box'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr box
+    return result'
+
+#if ENABLE_OVERLOADING
+data BoxGetBaselinePositionMethodInfo
+instance (signature ~ (m Gtk.Enums.BaselinePosition), MonadIO m, IsBox a) => O.MethodInfo BoxGetBaselinePositionMethodInfo a signature where
+    overloadedMethod _ = boxGetBaselinePosition
+
+#endif
+
+-- method Box::get_center_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_get_center_widget" gtk_box_get_center_widget :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the center widget of the box.
+
+/Since: 3.12/
+-}
+boxGetCenterWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the center widget
+  or 'Nothing' in case no center widget is set. -}
+boxGetCenterWidget box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_box_get_center_widget box'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr box
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data BoxGetCenterWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsBox a) => O.MethodInfo BoxGetCenterWidgetMethodInfo a signature where
+    overloadedMethod _ = boxGetCenterWidget
+
+#endif
+
+-- method Box::get_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_get_homogeneous" gtk_box_get_homogeneous :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    IO CInt
+
+{- |
+Returns whether the box is homogeneous (all children are the
+same size). See 'GI.Gtk.Objects.Box.boxSetHomogeneous'.
+-}
+boxGetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the box is homogeneous. -}
+boxGetHomogeneous box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_box_get_homogeneous box'
+    let result' = (/= 0) result
+    touchManagedPtr box
+    return result'
+
+#if ENABLE_OVERLOADING
+data BoxGetHomogeneousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsBox a) => O.MethodInfo BoxGetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = boxGetHomogeneous
+
+#endif
+
+-- method Box::get_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_get_spacing" gtk_box_get_spacing :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    IO Int32
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Box.boxSetSpacing'.
+-}
+boxGetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> m Int32
+    {- ^ __Returns:__ spacing between children -}
+boxGetSpacing box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_box_get_spacing box'
+    touchManagedPtr box
+    return result
+
+#if ENABLE_OVERLOADING
+data BoxGetSpacingMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsBox a) => O.MethodInfo BoxGetSpacingMethodInfo a signature where
+    overloadedMethod _ = boxGetSpacing
+
+#endif
+
+-- method Box::pack_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be added to @box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the new child is to be given extra space allocated\n  to @box. The extra space will be divided evenly between all children\n  of @box that use this option", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fill", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if space given to @child by the @expand option is\n  actually allocated to @child, rather than just padding it.  This\n  parameter has no effect if @expand is set to %FALSE.  A child is\n  always allocated the full height of a horizontal #GtkBox and the full width\n  of a vertical #GtkBox.  This option affects the other dimension", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "extra space in pixels to put between this child and its\n  neighbors, over and above the global amount specified by\n  #GtkBox:spacing property.  If @child is a widget at one of the\n  reference ends of @box, then @padding pixels are also put between\n  @child and the reference edge of @box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_pack_end" gtk_box_pack_end :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    CInt ->                                 -- fill : TBasicType TBoolean
+    Word32 ->                               -- padding : TBasicType TUInt
+    IO ()
+
+{- |
+Adds /@child@/ to /@box@/, packed with reference to the end of /@box@/.
+The /@child@/ is packed after (away from end of) any other child
+packed with reference to the end of /@box@/.
+-}
+boxPackEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to be added to /@box@/ -}
+    -> Bool
+    {- ^ /@expand@/: 'True' if the new child is to be given extra space allocated
+  to /@box@/. The extra space will be divided evenly between all children
+  of /@box@/ that use this option -}
+    -> Bool
+    {- ^ /@fill@/: 'True' if space given to /@child@/ by the /@expand@/ option is
+  actually allocated to /@child@/, rather than just padding it.  This
+  parameter has no effect if /@expand@/ is set to 'False'.  A child is
+  always allocated the full height of a horizontal 'GI.Gtk.Objects.Box.Box' and the full width
+  of a vertical 'GI.Gtk.Objects.Box.Box'.  This option affects the other dimension -}
+    -> Word32
+    {- ^ /@padding@/: extra space in pixels to put between this child and its
+  neighbors, over and above the global amount specified by
+  'GI.Gtk.Objects.Box.Box':@/spacing/@ property.  If /@child@/ is a widget at one of the
+  reference ends of /@box@/, then /@padding@/ pixels are also put between
+  /@child@/ and the reference edge of /@box@/ -}
+    -> m ()
+boxPackEnd box child expand fill padding = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    let expand' = (fromIntegral . fromEnum) expand
+    let fill' = (fromIntegral . fromEnum) fill
+    gtk_box_pack_end box' child' expand' fill' padding
+    touchManagedPtr box
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data BoxPackEndMethodInfo
+instance (signature ~ (b -> Bool -> Bool -> Word32 -> m ()), MonadIO m, IsBox a, Gtk.Widget.IsWidget b) => O.MethodInfo BoxPackEndMethodInfo a signature where
+    overloadedMethod _ = boxPackEnd
+
+#endif
+
+-- method Box::pack_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be added to @box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the new child is to be given extra space allocated\n    to @box. The extra space will be divided evenly between all children\n    that use this option", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fill", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if space given to @child by the @expand option is\n    actually allocated to @child, rather than just padding it.  This\n    parameter has no effect if @expand is set to %FALSE.  A child is\n    always allocated the full height of a horizontal #GtkBox and the full width\n    of a vertical #GtkBox. This option affects the other dimension", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "extra space in pixels to put between this child and its\n  neighbors, over and above the global amount specified by\n  #GtkBox:spacing property.  If @child is a widget at one of the\n  reference ends of @box, then @padding pixels are also put between\n  @child and the reference edge of @box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_pack_start" gtk_box_pack_start :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    CInt ->                                 -- fill : TBasicType TBoolean
+    Word32 ->                               -- padding : TBasicType TUInt
+    IO ()
+
+{- |
+Adds /@child@/ to /@box@/, packed with reference to the start of /@box@/.
+The /@child@/ is packed after any other child packed with reference
+to the start of /@box@/.
+-}
+boxPackStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to be added to /@box@/ -}
+    -> Bool
+    {- ^ /@expand@/: 'True' if the new child is to be given extra space allocated
+    to /@box@/. The extra space will be divided evenly between all children
+    that use this option -}
+    -> Bool
+    {- ^ /@fill@/: 'True' if space given to /@child@/ by the /@expand@/ option is
+    actually allocated to /@child@/, rather than just padding it.  This
+    parameter has no effect if /@expand@/ is set to 'False'.  A child is
+    always allocated the full height of a horizontal 'GI.Gtk.Objects.Box.Box' and the full width
+    of a vertical 'GI.Gtk.Objects.Box.Box'. This option affects the other dimension -}
+    -> Word32
+    {- ^ /@padding@/: extra space in pixels to put between this child and its
+  neighbors, over and above the global amount specified by
+  'GI.Gtk.Objects.Box.Box':@/spacing/@ property.  If /@child@/ is a widget at one of the
+  reference ends of /@box@/, then /@padding@/ pixels are also put between
+  /@child@/ and the reference edge of /@box@/ -}
+    -> m ()
+boxPackStart box child expand fill padding = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    let expand' = (fromIntegral . fromEnum) expand
+    let fill' = (fromIntegral . fromEnum) fill
+    gtk_box_pack_start box' child' expand' fill' padding
+    touchManagedPtr box
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data BoxPackStartMethodInfo
+instance (signature ~ (b -> Bool -> Bool -> Word32 -> m ()), MonadIO m, IsBox a, Gtk.Widget.IsWidget b) => O.MethodInfo BoxPackStartMethodInfo a signature where
+    overloadedMethod _ = boxPackStart
+
+#endif
+
+-- method Box::query_child_packing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget of the child to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to return location for expand child\n    property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "fill", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to return location for fill child\n    property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "padding", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to return location for padding\n    child property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "pack_type", argType = TInterface (Name {namespace = "Gtk", name = "PackType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to return location for pack-type\n    child property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_query_child_packing" gtk_box_query_child_packing :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr CInt ->                             -- expand : TBasicType TBoolean
+    Ptr CInt ->                             -- fill : TBasicType TBoolean
+    Ptr Word32 ->                           -- padding : TBasicType TUInt
+    Ptr CUInt ->                            -- pack_type : TInterface (Name {namespace = "Gtk", name = "PackType"})
+    IO ()
+
+{- |
+Obtains information about how /@child@/ is packed into /@box@/.
+-}
+boxQueryChildPacking ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' of the child to query -}
+    -> m ((Bool, Bool, Word32, Gtk.Enums.PackType))
+boxQueryChildPacking box child = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    expand <- allocMem :: IO (Ptr CInt)
+    fill <- allocMem :: IO (Ptr CInt)
+    padding <- allocMem :: IO (Ptr Word32)
+    packType <- allocMem :: IO (Ptr CUInt)
+    gtk_box_query_child_packing box' child' expand fill padding packType
+    expand' <- peek expand
+    let expand'' = (/= 0) expand'
+    fill' <- peek fill
+    let fill'' = (/= 0) fill'
+    padding' <- peek padding
+    packType' <- peek packType
+    let packType'' = (toEnum . fromIntegral) packType'
+    touchManagedPtr box
+    touchManagedPtr child
+    freeMem expand
+    freeMem fill
+    freeMem padding
+    freeMem packType
+    return (expand'', fill'', padding', packType'')
+
+#if ENABLE_OVERLOADING
+data BoxQueryChildPackingMethodInfo
+instance (signature ~ (b -> m ((Bool, Bool, Word32, Gtk.Enums.PackType))), MonadIO m, IsBox a, Gtk.Widget.IsWidget b) => O.MethodInfo BoxQueryChildPackingMethodInfo a signature where
+    overloadedMethod _ = boxQueryChildPacking
+
+#endif
+
+-- method Box::reorder_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new position for @child in the list of children\n  of @box, starting from 0. If negative, indicates the end of\n  the list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_reorder_child" gtk_box_reorder_child :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Moves /@child@/ to a new /@position@/ in the list of /@box@/ children.
+The list contains widgets packed @/GTK_PACK_START/@
+as well as widgets packed @/GTK_PACK_END/@, in the order that these
+widgets were added to /@box@/.
+
+A widget’s position in the /@box@/ children list determines where
+the widget is packed into /@box@/.  A child widget at some position
+in the list will be packed just after all other widgets of the
+same packing type that appear earlier in the list.
+-}
+boxReorderChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to move -}
+    -> Int32
+    {- ^ /@position@/: the new position for /@child@/ in the list of children
+  of /@box@/, starting from 0. If negative, indicates the end of
+  the list -}
+    -> m ()
+boxReorderChild box child position = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_box_reorder_child box' child' position
+    touchManagedPtr box
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data BoxReorderChildMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsBox a, Gtk.Widget.IsWidget b) => O.MethodInfo BoxReorderChildMethodInfo a signature where
+    overloadedMethod _ = boxReorderChild
+
+#endif
+
+-- method Box::set_baseline_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "BaselinePosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBaselinePosition", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_set_baseline_position" gtk_box_set_baseline_position :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    CUInt ->                                -- position : TInterface (Name {namespace = "Gtk", name = "BaselinePosition"})
+    IO ()
+
+{- |
+Sets the baseline position of a box. This affects
+only horizontal boxes with at least one baseline aligned
+child. If there is more vertical space available than requested,
+and the baseline is not allocated by the parent then
+/@position@/ is used to allocate the baseline wrt the
+extra space available.
+
+/Since: 3.10/
+-}
+boxSetBaselinePosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> Gtk.Enums.BaselinePosition
+    {- ^ /@position@/: a 'GI.Gtk.Enums.BaselinePosition' -}
+    -> m ()
+boxSetBaselinePosition box position = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    let position' = (fromIntegral . fromEnum) position
+    gtk_box_set_baseline_position box' position'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data BoxSetBaselinePositionMethodInfo
+instance (signature ~ (Gtk.Enums.BaselinePosition -> m ()), MonadIO m, IsBox a) => O.MethodInfo BoxSetBaselinePositionMethodInfo a signature where
+    overloadedMethod _ = boxSetBaselinePosition
+
+#endif
+
+-- method Box::set_center_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget to center", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_set_center_widget" gtk_box_set_center_widget :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets a center widget; that is a child widget that will be
+centered with respect to the full width of the box, even
+if the children at either side take up different amounts
+of space.
+
+/Since: 3.12/
+-}
+boxSetCenterWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget to center -}
+    -> m ()
+boxSetCenterWidget box widget = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    gtk_box_set_center_widget box' maybeWidget
+    touchManagedPtr box
+    whenJust widget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data BoxSetCenterWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsBox a, Gtk.Widget.IsWidget b) => O.MethodInfo BoxSetCenterWidgetMethodInfo a signature where
+    overloadedMethod _ = boxSetCenterWidget
+
+#endif
+
+-- method Box::set_child_packing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget of the child to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value of the expand child property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fill", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value of the fill child property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value of the padding child property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pack_type", argType = TInterface (Name {namespace = "Gtk", name = "PackType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value of the pack-type child property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_set_child_packing" gtk_box_set_child_packing :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    CInt ->                                 -- fill : TBasicType TBoolean
+    Word32 ->                               -- padding : TBasicType TUInt
+    CUInt ->                                -- pack_type : TInterface (Name {namespace = "Gtk", name = "PackType"})
+    IO ()
+
+{- |
+Sets the way /@child@/ is packed into /@box@/.
+-}
+boxSetChildPacking ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' of the child to set -}
+    -> Bool
+    {- ^ /@expand@/: the new value of the expand child property -}
+    -> Bool
+    {- ^ /@fill@/: the new value of the fill child property -}
+    -> Word32
+    {- ^ /@padding@/: the new value of the padding child property -}
+    -> Gtk.Enums.PackType
+    {- ^ /@packType@/: the new value of the pack-type child property -}
+    -> m ()
+boxSetChildPacking box child expand fill padding packType = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    let expand' = (fromIntegral . fromEnum) expand
+    let fill' = (fromIntegral . fromEnum) fill
+    let packType' = (fromIntegral . fromEnum) packType
+    gtk_box_set_child_packing box' child' expand' fill' padding packType'
+    touchManagedPtr box
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data BoxSetChildPackingMethodInfo
+instance (signature ~ (b -> Bool -> Bool -> Word32 -> Gtk.Enums.PackType -> m ()), MonadIO m, IsBox a, Gtk.Widget.IsWidget b) => O.MethodInfo BoxSetChildPackingMethodInfo a signature where
+    overloadedMethod _ = boxSetChildPacking
+
+#endif
+
+-- method Box::set_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a boolean value, %TRUE to create equal allotments,\n  %FALSE for variable allotments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_set_homogeneous" gtk_box_set_homogeneous :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Box.Box':@/homogeneous/@ property of /@box@/, controlling
+whether or not all children of /@box@/ are given equal space
+in the box.
+-}
+boxSetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> Bool
+    {- ^ /@homogeneous@/: a boolean value, 'True' to create equal allotments,
+  'False' for variable allotments -}
+    -> m ()
+boxSetHomogeneous box homogeneous = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    gtk_box_set_homogeneous box' homogeneous'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data BoxSetHomogeneousMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsBox a) => O.MethodInfo BoxSetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = boxSetHomogeneous
+
+#endif
+
+-- method Box::set_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "Box"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of pixels to put between children", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_box_set_spacing" gtk_box_set_spacing :: 
+    Ptr Box ->                              -- box : TInterface (Name {namespace = "Gtk", name = "Box"})
+    Int32 ->                                -- spacing : TBasicType TInt
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Box.Box':@/spacing/@ property of /@box@/, which is the
+number of pixels to place between children of /@box@/.
+-}
+boxSetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.Box.Box' -}
+    -> Int32
+    {- ^ /@spacing@/: the number of pixels to put between children -}
+    -> m ()
+boxSetSpacing box spacing = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_box_set_spacing box' spacing
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data BoxSetSpacingMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsBox a) => O.MethodInfo BoxSetSpacingMethodInfo a signature where
+    overloadedMethod _ = boxSetSpacing
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Box.hs-boot b/GI/Gtk/Objects/Box.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Box.hs-boot
@@ -0,0 +1,77 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Box where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Box = Box (ManagedPtr Box)
+instance GObject Box where
+class (GObject o, O.IsDescendantOf Box o) => IsBox o
+instance (GObject o, O.IsDescendantOf Box o) => IsBox o
+instance O.HasParentTypes Box
+#if ENABLE_OVERLOADING
+data BoxBaselinePositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxHomogeneousPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxGetBaselinePositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxGetCenterWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxGetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxGetSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxPackEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxPackStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxQueryChildPackingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxReorderChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxSetBaselinePositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxSetCenterWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxSetChildPackingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxSetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BoxSetSpacingMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Builder.hs b/GI/Gtk/Objects/Builder.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Builder.hs
@@ -0,0 +1,1814 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkBuilder is an auxiliary object that reads textual descriptions
+of a user interface and instantiates the described objects. To create
+a GtkBuilder from a user interface description, call
+'GI.Gtk.Objects.Builder.builderNewFromFile', 'GI.Gtk.Objects.Builder.builderNewFromResource' or
+'GI.Gtk.Objects.Builder.builderNewFromString'.
+
+In the (unusual) case that you want to add user interface
+descriptions from multiple sources to the same GtkBuilder you can
+call 'GI.Gtk.Objects.Builder.builderNew' to get an empty builder and populate it by
+(multiple) calls to 'GI.Gtk.Objects.Builder.builderAddFromFile',
+'GI.Gtk.Objects.Builder.builderAddFromResource' or 'GI.Gtk.Objects.Builder.builderAddFromString'.
+
+A GtkBuilder holds a reference to all objects that it has constructed
+and drops these references when it is finalized. This finalization can
+cause the destruction of non-widget objects or widgets which are not
+contained in a toplevel window. For toplevel windows constructed by a
+builder, it is the responsibility of the user to call 'GI.Gtk.Objects.Widget.widgetDestroy'
+to get rid of them and all the widgets they contain.
+
+The functions 'GI.Gtk.Objects.Builder.builderGetObject' and 'GI.Gtk.Objects.Builder.builderGetObjects'
+can be used to access the widgets in the interface by the names assigned
+to them inside the UI description. Toplevel windows returned by these
+functions will stay around until the user explicitly destroys them
+with 'GI.Gtk.Objects.Widget.widgetDestroy'. Other widgets will either be part of a
+larger hierarchy constructed by the builder (in which case you should
+not have to worry about their lifecycle), or without a parent, in which
+case they have to be added to some container to make use of them.
+Non-widget objects need to be reffed with 'GI.GObject.Objects.Object.objectRef' to keep them
+beyond the lifespan of the builder.
+
+The function 'GI.Gtk.Objects.Builder.builderConnectSignals' and variants thereof can be
+used to connect handlers to the named signals in the description.
+
+# GtkBuilder UI Definitions # {@/BUILDER/@-UI}
+
+GtkBuilder parses textual descriptions of user interfaces which are
+specified in an XML format which can be roughly described by the
+RELAX NG schema below. We refer to these descriptions as “GtkBuilder
+UI definitions” or just “UI definitions” if the context is clear.
+Do not confuse GtkBuilder UI Definitions with
+[GtkUIManager UI Definitions][XML-UI], which are more limited in scope.
+It is common to use @.ui@ as the filename extension for files containing
+GtkBuilder UI definitions.
+
+<https://git.gnome.org/browse/gtk+/tree/gtk/gtkbuilder.rnc RELAX NG Compact Syntax>
+
+The toplevel element is \<interface>. It optionally takes a “domain”
+attribute, which will make the builder look for translated strings
+using @/dgettext()/@ in the domain specified. This can also be done by
+calling 'GI.Gtk.Objects.Builder.builderSetTranslationDomain' on the builder.
+Objects are described by \<object> elements, which can contain
+\<property> elements to set properties, \<signal> elements which
+connect signals to handlers, and \<child> elements, which describe
+child objects (most often widgets inside a container, but also e.g.
+actions in an action group, or columns in a tree model). A \<child>
+element contains an \<object> element which describes the child object.
+The target toolkit version(s) are described by \<requires> elements,
+the “lib” attribute specifies the widget library in question (currently
+the only supported value is “gtk+”) and the “version” attribute specifies
+the target version in the form “\<major>.\<minor>”. The builder will error
+out if the version requirements are not met.
+
+Typically, the specific kind of object represented by an \<object>
+element is specified by the “class” attribute. If the type has not
+been loaded yet, GTK+ tries to find the @/get_type()/@ function from the
+class name by applying heuristics. This works in most cases, but if
+necessary, it is possible to specify the name of the @/get_type()/@ function
+explictly with the \"type-func\" attribute. As a special case, GtkBuilder
+allows to use an object that has been constructed by a 'GI.Gtk.Objects.UIManager.UIManager' in
+another part of the UI definition by specifying the id of the 'GI.Gtk.Objects.UIManager.UIManager'
+in the “constructor” attribute and the name of the object in the “id”
+attribute.
+
+Objects may be given a name with the “id” attribute, which allows the
+application to retrieve them from the builder with 'GI.Gtk.Objects.Builder.builderGetObject'.
+An id is also necessary to use the object as property value in other
+parts of the UI definition. GTK+ reserves ids starting and ending
+with ___ (3 underscores) for its own purposes.
+
+Setting properties of objects is pretty straightforward with the
+\<property> element: the “name” attribute specifies the name of the
+property, and the content of the element specifies the value.
+If the “translatable” attribute is set to a true value, GTK+ uses
+@/gettext()/@ (or @/dgettext()/@ if the builder has a translation domain set)
+to find a translation for the value. This happens before the value
+is parsed, so it can be used for properties of any type, but it is
+probably most useful for string properties. It is also possible to
+specify a context to disambiguate short strings, and comments which
+may help the translators.
+
+GtkBuilder can parse textual representations for the most common
+property types: characters, strings, integers, floating-point numbers,
+booleans (strings like “TRUE”, “t”, “yes”, “y”, “1” are interpreted
+as 'True', strings like “FALSE”, “f”, “no”, “n”, “0” are interpreted
+as 'False'), enumerations (can be specified by their name, nick or
+integer value), flags (can be specified by their name, nick, integer
+value, optionally combined with “|”, e.g. “GTK_VISIBLE|GTK_REALIZED”)
+and colors (in a format understood by 'GI.Gdk.Structs.RGBA.rGBAParse').
+
+GVariants can be specified in the format understood by 'GI.GLib.Functions.variantParse',
+and pixbufs can be specified as a filename of an image file to load.
+
+Objects can be referred to by their name and by default refer to
+objects declared in the local xml fragment and objects exposed via
+'GI.Gtk.Objects.Builder.builderExposeObject'. In general, GtkBuilder allows forward
+references to objects — declared in the local xml; an object doesn’t
+have to be constructed before it can be referred to. The exception
+to this rule is that an object has to be constructed before it can
+be used as the value of a construct-only property.
+
+It is also possible to bind a property value to another object\'s
+property value using the attributes
+\"bind-source\" to specify the source object of the binding,
+\"bind-property\" to specify the source property and optionally
+\"bind-flags\" to specify the binding flags
+Internally builder implement this using GBinding objects.
+For more information see 'GI.GObject.Objects.Object.objectBindProperty'
+
+Signal handlers are set up with the \<signal> element. The “name”
+attribute specifies the name of the signal, and the “handler” attribute
+specifies the function to connect to the signal. By default, GTK+ tries
+to find the handler using 'GI.GModule.Structs.Module.moduleSymbol', but this can be changed by
+passing a custom 'GI.Gtk.Callbacks.BuilderConnectFunc' to
+'GI.Gtk.Objects.Builder.builderConnectSignalsFull'. The remaining attributes, “after”,
+“swapped” and “object”, have the same meaning as the corresponding
+parameters of the @/g_signal_connect_object()/@ or
+@/g_signal_connect_data()/@ functions. A “last_modification_time”
+attribute is also allowed, but it does not have a meaning to the
+builder.
+
+Sometimes it is necessary to refer to widgets which have implicitly
+been constructed by GTK+ as part of a composite widget, to set
+properties on them or to add further children (e.g. the /@vbox@/ of
+a 'GI.Gtk.Objects.Dialog.Dialog'). This can be achieved by setting the “internal-child”
+propery of the \<child> element to a true value. Note that GtkBuilder
+still requires an \<object> element for the internal child, even if it
+has already been constructed.
+
+A number of widgets have different places where a child can be added
+(e.g. tabs vs. page content in notebooks). This can be reflected in
+a UI definition by specifying the “type” attribute on a \<child>
+The possible values for the “type” attribute are described in the
+sections describing the widget-specific portions of UI definitions.
+
+= A GtkBuilder UI Definition
+
+>
+><interface>
+>  <object class="GtkDialog" id="dialog1">
+>    <child internal-child="vbox">
+>      <object class="GtkBox" id="vbox1">
+>        <property name="border-width">10</property>
+>        <child internal-child="action_area">
+>          <object class="GtkButtonBox" id="hbuttonbox1">
+>            <property name="border-width">20</property>
+>            <child>
+>              <object class="GtkButton" id="ok_button">
+>                <property name="label">gtk-ok</property>
+>                <property name="use-stock">TRUE</property>
+>                <signal name="clicked" handler="ok_button_clicked"/>
+>              </object>
+>            </child>
+>          </object>
+>        </child>
+>      </object>
+>    </child>
+>  </object>
+></interface>
+
+
+Beyond this general structure, several object classes define their
+own XML DTD fragments for filling in the ANY placeholders in the DTD
+above. Note that a custom element in a \<child> element gets parsed by
+the custom tag handler of the parent object, while a custom element in
+an \<object> element gets parsed by the custom tag handler of the object.
+
+These XML fragments are explained in the documentation of the
+respective objects.
+
+Additionally, since 3.10 a special \<template> tag has been added
+to the format allowing one to define a widget class’s components.
+See the [GtkWidget documentation][composite-templates] for details.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Builder
+    ( 
+
+-- * Exported types
+    Builder(..)                             ,
+    IsBuilder                               ,
+    toBuilder                               ,
+    noBuilder                               ,
+
+
+ -- * Methods
+-- ** addCallbackSymbol #method:addCallbackSymbol#
+
+#if ENABLE_OVERLOADING
+    BuilderAddCallbackSymbolMethodInfo      ,
+#endif
+    builderAddCallbackSymbol                ,
+
+
+-- ** addFromFile #method:addFromFile#
+
+#if ENABLE_OVERLOADING
+    BuilderAddFromFileMethodInfo            ,
+#endif
+    builderAddFromFile                      ,
+
+
+-- ** addFromResource #method:addFromResource#
+
+#if ENABLE_OVERLOADING
+    BuilderAddFromResourceMethodInfo        ,
+#endif
+    builderAddFromResource                  ,
+
+
+-- ** addFromString #method:addFromString#
+
+#if ENABLE_OVERLOADING
+    BuilderAddFromStringMethodInfo          ,
+#endif
+    builderAddFromString                    ,
+
+
+-- ** addObjectsFromFile #method:addObjectsFromFile#
+
+#if ENABLE_OVERLOADING
+    BuilderAddObjectsFromFileMethodInfo     ,
+#endif
+    builderAddObjectsFromFile               ,
+
+
+-- ** addObjectsFromResource #method:addObjectsFromResource#
+
+#if ENABLE_OVERLOADING
+    BuilderAddObjectsFromResourceMethodInfo ,
+#endif
+    builderAddObjectsFromResource           ,
+
+
+-- ** addObjectsFromString #method:addObjectsFromString#
+
+#if ENABLE_OVERLOADING
+    BuilderAddObjectsFromStringMethodInfo   ,
+#endif
+    builderAddObjectsFromString             ,
+
+
+-- ** connectSignals #method:connectSignals#
+
+#if ENABLE_OVERLOADING
+    BuilderConnectSignalsMethodInfo         ,
+#endif
+    builderConnectSignals                   ,
+
+
+-- ** connectSignalsFull #method:connectSignalsFull#
+
+#if ENABLE_OVERLOADING
+    BuilderConnectSignalsFullMethodInfo     ,
+#endif
+    builderConnectSignalsFull               ,
+
+
+-- ** exposeObject #method:exposeObject#
+
+#if ENABLE_OVERLOADING
+    BuilderExposeObjectMethodInfo           ,
+#endif
+    builderExposeObject                     ,
+
+
+-- ** extendWithTemplate #method:extendWithTemplate#
+
+#if ENABLE_OVERLOADING
+    BuilderExtendWithTemplateMethodInfo     ,
+#endif
+    builderExtendWithTemplate               ,
+
+
+-- ** getApplication #method:getApplication#
+
+#if ENABLE_OVERLOADING
+    BuilderGetApplicationMethodInfo         ,
+#endif
+    builderGetApplication                   ,
+
+
+-- ** getObject #method:getObject#
+
+#if ENABLE_OVERLOADING
+    BuilderGetObjectMethodInfo              ,
+#endif
+    builderGetObject                        ,
+
+
+-- ** getObjects #method:getObjects#
+
+#if ENABLE_OVERLOADING
+    BuilderGetObjectsMethodInfo             ,
+#endif
+    builderGetObjects                       ,
+
+
+-- ** getTranslationDomain #method:getTranslationDomain#
+
+#if ENABLE_OVERLOADING
+    BuilderGetTranslationDomainMethodInfo   ,
+#endif
+    builderGetTranslationDomain             ,
+
+
+-- ** getTypeFromName #method:getTypeFromName#
+
+#if ENABLE_OVERLOADING
+    BuilderGetTypeFromNameMethodInfo        ,
+#endif
+    builderGetTypeFromName                  ,
+
+
+-- ** new #method:new#
+
+    builderNew                              ,
+
+
+-- ** newFromFile #method:newFromFile#
+
+    builderNewFromFile                      ,
+
+
+-- ** newFromResource #method:newFromResource#
+
+    builderNewFromResource                  ,
+
+
+-- ** newFromString #method:newFromString#
+
+    builderNewFromString                    ,
+
+
+-- ** setApplication #method:setApplication#
+
+#if ENABLE_OVERLOADING
+    BuilderSetApplicationMethodInfo         ,
+#endif
+    builderSetApplication                   ,
+
+
+-- ** setTranslationDomain #method:setTranslationDomain#
+
+#if ENABLE_OVERLOADING
+    BuilderSetTranslationDomainMethodInfo   ,
+#endif
+    builderSetTranslationDomain             ,
+
+
+-- ** valueFromString #method:valueFromString#
+
+#if ENABLE_OVERLOADING
+    BuilderValueFromStringMethodInfo        ,
+#endif
+    builderValueFromString                  ,
+
+
+-- ** valueFromStringType #method:valueFromStringType#
+
+#if ENABLE_OVERLOADING
+    BuilderValueFromStringTypeMethodInfo    ,
+#endif
+    builderValueFromStringType              ,
+
+
+
+
+ -- * Properties
+-- ** translationDomain #attr:translationDomain#
+{- | The translation domain used when translating property values that
+have been marked as translatable in interface descriptions.
+If the translation domain is 'Nothing', 'GI.Gtk.Objects.Builder.Builder' uses @/gettext()/@,
+otherwise 'GI.GLib.Functions.dgettext'.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    BuilderTranslationDomainPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    builderTranslationDomain                ,
+#endif
+    clearBuilderTranslationDomain           ,
+    constructBuilderTranslationDomain       ,
+    getBuilderTranslationDomain             ,
+    setBuilderTranslationDomain             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Callbacks as GObject.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Application as Gtk.Application
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Builder = Builder (ManagedPtr Builder)
+foreign import ccall "gtk_builder_get_type"
+    c_gtk_builder_get_type :: IO GType
+
+instance GObject Builder where
+    gobjectType = c_gtk_builder_get_type
+    
+
+-- | Type class for types which can be safely cast to `Builder`, for instance with `toBuilder`.
+class (GObject o, O.IsDescendantOf Builder o) => IsBuilder o
+instance (GObject o, O.IsDescendantOf Builder o) => IsBuilder o
+
+instance O.HasParentTypes Builder
+type instance O.ParentTypes Builder = '[GObject.Object.Object]
+
+-- | Cast to `Builder`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toBuilder :: (MonadIO m, IsBuilder o) => o -> m Builder
+toBuilder = liftIO . unsafeCastTo Builder
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Builder`.
+noBuilder :: Maybe Builder
+noBuilder = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveBuilderMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBuilderMethod "addCallbackSymbol" o = BuilderAddCallbackSymbolMethodInfo
+    ResolveBuilderMethod "addFromFile" o = BuilderAddFromFileMethodInfo
+    ResolveBuilderMethod "addFromResource" o = BuilderAddFromResourceMethodInfo
+    ResolveBuilderMethod "addFromString" o = BuilderAddFromStringMethodInfo
+    ResolveBuilderMethod "addObjectsFromFile" o = BuilderAddObjectsFromFileMethodInfo
+    ResolveBuilderMethod "addObjectsFromResource" o = BuilderAddObjectsFromResourceMethodInfo
+    ResolveBuilderMethod "addObjectsFromString" o = BuilderAddObjectsFromStringMethodInfo
+    ResolveBuilderMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveBuilderMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveBuilderMethod "connectSignals" o = BuilderConnectSignalsMethodInfo
+    ResolveBuilderMethod "connectSignalsFull" o = BuilderConnectSignalsFullMethodInfo
+    ResolveBuilderMethod "exposeObject" o = BuilderExposeObjectMethodInfo
+    ResolveBuilderMethod "extendWithTemplate" o = BuilderExtendWithTemplateMethodInfo
+    ResolveBuilderMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveBuilderMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveBuilderMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveBuilderMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveBuilderMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveBuilderMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveBuilderMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveBuilderMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveBuilderMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveBuilderMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveBuilderMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveBuilderMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveBuilderMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveBuilderMethod "valueFromString" o = BuilderValueFromStringMethodInfo
+    ResolveBuilderMethod "valueFromStringType" o = BuilderValueFromStringTypeMethodInfo
+    ResolveBuilderMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveBuilderMethod "getApplication" o = BuilderGetApplicationMethodInfo
+    ResolveBuilderMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveBuilderMethod "getObject" o = BuilderGetObjectMethodInfo
+    ResolveBuilderMethod "getObjects" o = BuilderGetObjectsMethodInfo
+    ResolveBuilderMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveBuilderMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveBuilderMethod "getTranslationDomain" o = BuilderGetTranslationDomainMethodInfo
+    ResolveBuilderMethod "getTypeFromName" o = BuilderGetTypeFromNameMethodInfo
+    ResolveBuilderMethod "setApplication" o = BuilderSetApplicationMethodInfo
+    ResolveBuilderMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveBuilderMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveBuilderMethod "setTranslationDomain" o = BuilderSetTranslationDomainMethodInfo
+    ResolveBuilderMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBuilderMethod t Builder, O.MethodInfo info Builder p) => OL.IsLabel t (Builder -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "translation-domain"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@translation-domain@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' builder #translationDomain
+@
+-}
+getBuilderTranslationDomain :: (MonadIO m, IsBuilder o) => o -> m T.Text
+getBuilderTranslationDomain obj = liftIO $ checkUnexpectedNothing "getBuilderTranslationDomain" $ B.Properties.getObjectPropertyString obj "translation-domain"
+
+{- |
+Set the value of the “@translation-domain@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' builder [ #translationDomain 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBuilderTranslationDomain :: (MonadIO m, IsBuilder o) => o -> T.Text -> m ()
+setBuilderTranslationDomain obj val = liftIO $ B.Properties.setObjectPropertyString obj "translation-domain" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@translation-domain@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructBuilderTranslationDomain :: (IsBuilder o) => T.Text -> IO (GValueConstruct o)
+constructBuilderTranslationDomain val = B.Properties.constructObjectPropertyString "translation-domain" (Just val)
+
+{- |
+Set the value of the “@translation-domain@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #translationDomain
+@
+-}
+clearBuilderTranslationDomain :: (MonadIO m, IsBuilder o) => o -> m ()
+clearBuilderTranslationDomain obj = liftIO $ B.Properties.setObjectPropertyString obj "translation-domain" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data BuilderTranslationDomainPropertyInfo
+instance AttrInfo BuilderTranslationDomainPropertyInfo where
+    type AttrAllowedOps BuilderTranslationDomainPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BuilderTranslationDomainPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint BuilderTranslationDomainPropertyInfo = IsBuilder
+    type AttrGetType BuilderTranslationDomainPropertyInfo = T.Text
+    type AttrLabel BuilderTranslationDomainPropertyInfo = "translation-domain"
+    type AttrOrigin BuilderTranslationDomainPropertyInfo = Builder
+    attrGet _ = getBuilderTranslationDomain
+    attrSet _ = setBuilderTranslationDomain
+    attrConstruct _ = constructBuilderTranslationDomain
+    attrClear _ = clearBuilderTranslationDomain
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Builder
+type instance O.AttributeList Builder = BuilderAttributeList
+type BuilderAttributeList = ('[ '("translationDomain", BuilderTranslationDomainPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+builderTranslationDomain :: AttrLabelProxy "translationDomain"
+builderTranslationDomain = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Builder = BuilderSignalList
+type BuilderSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Builder::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Builder"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_new" gtk_builder_new :: 
+    IO (Ptr Builder)
+
+{- |
+Creates a new empty builder object.
+
+This function is only useful if you intend to make multiple calls
+to 'GI.Gtk.Objects.Builder.builderAddFromFile', 'GI.Gtk.Objects.Builder.builderAddFromResource'
+or 'GI.Gtk.Objects.Builder.builderAddFromString' in order to merge multiple UI
+descriptions into a single builder.
+
+Most users will probably want to use 'GI.Gtk.Objects.Builder.builderNewFromFile',
+'GI.Gtk.Objects.Builder.builderNewFromResource' or 'GI.Gtk.Objects.Builder.builderNewFromString'.
+
+/Since: 2.12/
+-}
+builderNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Builder
+    {- ^ __Returns:__ a new (empty) 'GI.Gtk.Objects.Builder.Builder' object -}
+builderNew  = liftIO $ do
+    result <- gtk_builder_new
+    checkUnexpectedReturnNULL "builderNew" result
+    result' <- (wrapObject Builder) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Builder::new_from_file
+-- method type : Constructor
+-- Args : [Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "filename of user interface description file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Builder"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_new_from_file" gtk_builder_new_from_file :: 
+    CString ->                              -- filename : TBasicType TUTF8
+    IO (Ptr Builder)
+
+{- |
+Builds the [GtkBuilder UI definition][BUILDER-UI]
+in the file /@filename@/.
+
+If there is an error opening the file or parsing the description then
+the program will be aborted.  You should only ever attempt to parse
+user interface descriptions that are shipped as part of your program.
+
+/Since: 3.10/
+-}
+builderNewFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@filename@/: filename of user interface description file -}
+    -> m Builder
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Builder.Builder' containing the described interface -}
+builderNewFromFile filename = liftIO $ do
+    filename' <- textToCString filename
+    result <- gtk_builder_new_from_file filename'
+    checkUnexpectedReturnNULL "builderNewFromFile" result
+    result' <- (wrapObject Builder) result
+    freeMem filename'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Builder::new_from_resource
+-- method type : Constructor
+-- Args : [Arg {argCName = "resource_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GResource resource path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Builder"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_new_from_resource" gtk_builder_new_from_resource :: 
+    CString ->                              -- resource_path : TBasicType TUTF8
+    IO (Ptr Builder)
+
+{- |
+Builds the [GtkBuilder UI definition][BUILDER-UI]
+at /@resourcePath@/.
+
+If there is an error locating the resource or parsing the
+description, then the program will be aborted.
+
+/Since: 3.10/
+-}
+builderNewFromResource ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@resourcePath@/: a 'GI.Gio.Structs.Resource.Resource' resource path -}
+    -> m Builder
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Builder.Builder' containing the described interface -}
+builderNewFromResource resourcePath = liftIO $ do
+    resourcePath' <- textToCString resourcePath
+    result <- gtk_builder_new_from_resource resourcePath'
+    checkUnexpectedReturnNULL "builderNewFromResource" result
+    result' <- (wrapObject Builder) result
+    freeMem resourcePath'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Builder::new_from_string
+-- method type : Constructor
+-- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a user interface (XML) description", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Builder"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_new_from_string" gtk_builder_new_from_string :: 
+    CString ->                              -- string : TBasicType TUTF8
+    Int64 ->                                -- length : TBasicType TInt64
+    IO (Ptr Builder)
+
+{- |
+Builds the user interface described by /@string@/ (in the
+[GtkBuilder UI definition][BUILDER-UI] format).
+
+If /@string@/ is 'Nothing'-terminated, then /@length@/ should be -1.
+If /@length@/ is not -1, then it is the length of /@string@/.
+
+If there is an error parsing /@string@/ then the program will be
+aborted. You should not attempt to parse user interface description
+from untrusted sources.
+
+/Since: 3.10/
+-}
+builderNewFromString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@string@/: a user interface (XML) description -}
+    -> Int64
+    {- ^ /@length@/: the length of /@string@/, or -1 -}
+    -> m Builder
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Builder.Builder' containing the interface described by /@string@/ -}
+builderNewFromString string length_ = liftIO $ do
+    string' <- textToCString string
+    result <- gtk_builder_new_from_string string' length_
+    checkUnexpectedReturnNULL "builderNewFromString" result
+    result' <- (wrapObject Builder) result
+    freeMem string'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Builder::add_callback_symbol
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of the callback, as expected in the XML", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_symbol", argType = TInterface (Name {namespace = "GObject", name = "Callback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The callback pointer", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_add_callback_symbol" gtk_builder_add_callback_symbol :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- callback_name : TBasicType TUTF8
+    FunPtr GObject.Callbacks.C_Callback ->  -- callback_symbol : TInterface (Name {namespace = "GObject", name = "Callback"})
+    IO ()
+
+{- |
+Adds the /@callbackSymbol@/ to the scope of /@builder@/ under the given /@callbackName@/.
+
+Using this function overrides the behavior of 'GI.Gtk.Objects.Builder.builderConnectSignals'
+for any callback symbols that are added. Using this method allows for better
+encapsulation as it does not require that callback symbols be declared in
+the global namespace.
+
+/Since: 3.10/
+-}
+builderAddCallbackSymbol ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@callbackName@/: The name of the callback, as expected in the XML -}
+    -> GObject.Callbacks.Callback
+    {- ^ /@callbackSymbol@/: The callback pointer -}
+    -> m ()
+builderAddCallbackSymbol builder callbackName callbackSymbol = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    callbackName' <- textToCString callbackName
+    callbackSymbol' <- GObject.Callbacks.mk_Callback (GObject.Callbacks.wrap_Callback Nothing callbackSymbol)
+    gtk_builder_add_callback_symbol builder' callbackName' callbackSymbol'
+    touchManagedPtr builder
+    freeMem callbackName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuilderAddCallbackSymbolMethodInfo
+instance (signature ~ (T.Text -> GObject.Callbacks.Callback -> m ()), MonadIO m, IsBuilder a) => O.MethodInfo BuilderAddCallbackSymbolMethodInfo a signature where
+    overloadedMethod _ = builderAddCallbackSymbol
+
+#endif
+
+-- method Builder::add_from_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_builder_add_from_file" gtk_builder_add_from_file :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- filename : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{- |
+Parses a file containing a [GtkBuilder UI definition][BUILDER-UI]
+and merges it with the current contents of /@builder@/.
+
+Most users will probably want to use 'GI.Gtk.Objects.Builder.builderNewFromFile'.
+
+If an error occurs, 0 will be returned and /@error@/ will be assigned a
+'GError' from the @/GTK_BUILDER_ERROR/@, @/G_MARKUP_ERROR/@ or @/G_FILE_ERROR/@
+domain.
+
+It’s not really reasonable to attempt to handle failures of this
+call. You should not use this function with untrusted files (ie:
+files that are not part of your application). Broken 'GI.Gtk.Objects.Builder.Builder'
+files can easily crash your program, and it’s possible that memory
+was leaked leading up to the reported failure. The only reasonable
+thing to do when an error is detected is to call @/g_error()/@.
+
+/Since: 2.12/
+-}
+builderAddFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@filename@/: the name of the file to parse -}
+    -> m Word32
+    {- ^ __Returns:__ A positive value on success, 0 if an error occurred /(Can throw 'Data.GI.Base.GError.GError')/ -}
+builderAddFromFile builder filename = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    filename' <- textToCString filename
+    onException (do
+        result <- propagateGError $ gtk_builder_add_from_file builder' filename'
+        touchManagedPtr builder
+        freeMem filename'
+        return result
+     ) (do
+        freeMem filename'
+     )
+
+#if ENABLE_OVERLOADING
+data BuilderAddFromFileMethodInfo
+instance (signature ~ (T.Text -> m Word32), MonadIO m, IsBuilder a) => O.MethodInfo BuilderAddFromFileMethodInfo a signature where
+    overloadedMethod _ = builderAddFromFile
+
+#endif
+
+-- method Builder::add_from_resource
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resource_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the path of the resource file to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_builder_add_from_resource" gtk_builder_add_from_resource :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- resource_path : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{- |
+Parses a resource file containing a [GtkBuilder UI definition][BUILDER-UI]
+and merges it with the current contents of /@builder@/.
+
+Most users will probably want to use 'GI.Gtk.Objects.Builder.builderNewFromResource'.
+
+If an error occurs, 0 will be returned and /@error@/ will be assigned a
+'GError' from the @/GTK_BUILDER_ERROR/@, @/G_MARKUP_ERROR/@ or @/G_RESOURCE_ERROR/@
+domain.
+
+It’s not really reasonable to attempt to handle failures of this
+call.  The only reasonable thing to do when an error is detected is
+to call @/g_error()/@.
+
+/Since: 3.4/
+-}
+builderAddFromResource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@resourcePath@/: the path of the resource file to parse -}
+    -> m Word32
+    {- ^ __Returns:__ A positive value on success, 0 if an error occurred /(Can throw 'Data.GI.Base.GError.GError')/ -}
+builderAddFromResource builder resourcePath = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    resourcePath' <- textToCString resourcePath
+    onException (do
+        result <- propagateGError $ gtk_builder_add_from_resource builder' resourcePath'
+        touchManagedPtr builder
+        freeMem resourcePath'
+        return result
+     ) (do
+        freeMem resourcePath'
+     )
+
+#if ENABLE_OVERLOADING
+data BuilderAddFromResourceMethodInfo
+instance (signature ~ (T.Text -> m Word32), MonadIO m, IsBuilder a) => O.MethodInfo BuilderAddFromResourceMethodInfo a signature where
+    overloadedMethod _ = builderAddFromResource
+
+#endif
+
+-- method Builder::add_from_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @buffer (may be -1 if @buffer is nul-terminated)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_builder_add_from_string" gtk_builder_add_from_string :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- buffer : TBasicType TUTF8
+    Int64 ->                                -- length : TBasicType TInt64
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{- |
+Parses a string containing a [GtkBuilder UI definition][BUILDER-UI]
+and merges it with the current contents of /@builder@/.
+
+Most users will probably want to use 'GI.Gtk.Objects.Builder.builderNewFromString'.
+
+Upon errors 0 will be returned and /@error@/ will be assigned a
+'GError' from the @/GTK_BUILDER_ERROR/@, @/G_MARKUP_ERROR/@ or
+@/G_VARIANT_PARSE_ERROR/@ domain.
+
+It’s not really reasonable to attempt to handle failures of this
+call.  The only reasonable thing to do when an error is detected is
+to call @/g_error()/@.
+
+/Since: 2.12/
+-}
+builderAddFromString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@buffer@/: the string to parse -}
+    -> Int64
+    {- ^ /@length@/: the length of /@buffer@/ (may be -1 if /@buffer@/ is nul-terminated) -}
+    -> m Word32
+    {- ^ __Returns:__ A positive value on success, 0 if an error occurred /(Can throw 'Data.GI.Base.GError.GError')/ -}
+builderAddFromString builder buffer length_ = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    buffer' <- textToCString buffer
+    onException (do
+        result <- propagateGError $ gtk_builder_add_from_string builder' buffer' length_
+        touchManagedPtr builder
+        freeMem buffer'
+        return result
+     ) (do
+        freeMem buffer'
+     )
+
+#if ENABLE_OVERLOADING
+data BuilderAddFromStringMethodInfo
+instance (signature ~ (T.Text -> Int64 -> m Word32), MonadIO m, IsBuilder a) => O.MethodInfo BuilderAddFromStringMethodInfo a signature where
+    overloadedMethod _ = builderAddFromString
+
+#endif
+
+-- method Builder::add_objects_from_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object_ids", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nul-terminated array of objects to build", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_builder_add_objects_from_file" gtk_builder_add_objects_from_file :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- filename : TBasicType TUTF8
+    Ptr CString ->                          -- object_ids : TCArray True (-1) (-1) (TBasicType TUTF8)
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{- |
+Parses a file containing a [GtkBuilder UI definition][BUILDER-UI]
+building only the requested objects and merges
+them with the current contents of /@builder@/.
+
+Upon errors 0 will be returned and /@error@/ will be assigned a
+'GError' from the @/GTK_BUILDER_ERROR/@, @/G_MARKUP_ERROR/@ or @/G_FILE_ERROR/@
+domain.
+
+If you are adding an object that depends on an object that is not
+its child (for instance a 'GI.Gtk.Objects.TreeView.TreeView' that depends on its
+'GI.Gtk.Interfaces.TreeModel.TreeModel'), you have to explicitly list all of them in /@objectIds@/.
+
+/Since: 2.14/
+-}
+builderAddObjectsFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@filename@/: the name of the file to parse -}
+    -> [T.Text]
+    {- ^ /@objectIds@/: nul-terminated array of objects to build -}
+    -> m Word32
+    {- ^ __Returns:__ A positive value on success, 0 if an error occurred /(Can throw 'Data.GI.Base.GError.GError')/ -}
+builderAddObjectsFromFile builder filename objectIds = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    filename' <- textToCString filename
+    objectIds' <- packZeroTerminatedUTF8CArray objectIds
+    onException (do
+        result <- propagateGError $ gtk_builder_add_objects_from_file builder' filename' objectIds'
+        touchManagedPtr builder
+        freeMem filename'
+        mapZeroTerminatedCArray freeMem objectIds'
+        freeMem objectIds'
+        return result
+     ) (do
+        freeMem filename'
+        mapZeroTerminatedCArray freeMem objectIds'
+        freeMem objectIds'
+     )
+
+#if ENABLE_OVERLOADING
+data BuilderAddObjectsFromFileMethodInfo
+instance (signature ~ (T.Text -> [T.Text] -> m Word32), MonadIO m, IsBuilder a) => O.MethodInfo BuilderAddObjectsFromFileMethodInfo a signature where
+    overloadedMethod _ = builderAddObjectsFromFile
+
+#endif
+
+-- method Builder::add_objects_from_resource
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resource_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the path of the resource file to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object_ids", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nul-terminated array of objects to build", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_builder_add_objects_from_resource" gtk_builder_add_objects_from_resource :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- resource_path : TBasicType TUTF8
+    Ptr CString ->                          -- object_ids : TCArray True (-1) (-1) (TBasicType TUTF8)
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{- |
+Parses a resource file containing a [GtkBuilder UI definition][BUILDER-UI]
+building only the requested objects and merges
+them with the current contents of /@builder@/.
+
+Upon errors 0 will be returned and /@error@/ will be assigned a
+'GError' from the @/GTK_BUILDER_ERROR/@, @/G_MARKUP_ERROR/@ or @/G_RESOURCE_ERROR/@
+domain.
+
+If you are adding an object that depends on an object that is not
+its child (for instance a 'GI.Gtk.Objects.TreeView.TreeView' that depends on its
+'GI.Gtk.Interfaces.TreeModel.TreeModel'), you have to explicitly list all of them in /@objectIds@/.
+
+/Since: 3.4/
+-}
+builderAddObjectsFromResource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@resourcePath@/: the path of the resource file to parse -}
+    -> [T.Text]
+    {- ^ /@objectIds@/: nul-terminated array of objects to build -}
+    -> m Word32
+    {- ^ __Returns:__ A positive value on success, 0 if an error occurred /(Can throw 'Data.GI.Base.GError.GError')/ -}
+builderAddObjectsFromResource builder resourcePath objectIds = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    resourcePath' <- textToCString resourcePath
+    objectIds' <- packZeroTerminatedUTF8CArray objectIds
+    onException (do
+        result <- propagateGError $ gtk_builder_add_objects_from_resource builder' resourcePath' objectIds'
+        touchManagedPtr builder
+        freeMem resourcePath'
+        mapZeroTerminatedCArray freeMem objectIds'
+        freeMem objectIds'
+        return result
+     ) (do
+        freeMem resourcePath'
+        mapZeroTerminatedCArray freeMem objectIds'
+        freeMem objectIds'
+     )
+
+#if ENABLE_OVERLOADING
+data BuilderAddObjectsFromResourceMethodInfo
+instance (signature ~ (T.Text -> [T.Text] -> m Word32), MonadIO m, IsBuilder a) => O.MethodInfo BuilderAddObjectsFromResourceMethodInfo a signature where
+    overloadedMethod _ = builderAddObjectsFromResource
+
+#endif
+
+-- method Builder::add_objects_from_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @buffer (may be -1 if @buffer is nul-terminated)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object_ids", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nul-terminated array of objects to build", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_builder_add_objects_from_string" gtk_builder_add_objects_from_string :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- buffer : TBasicType TUTF8
+    Word64 ->                               -- length : TBasicType TUInt64
+    Ptr CString ->                          -- object_ids : TCArray True (-1) (-1) (TBasicType TUTF8)
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{- |
+Parses a string containing a [GtkBuilder UI definition][BUILDER-UI]
+building only the requested objects and merges
+them with the current contents of /@builder@/.
+
+Upon errors 0 will be returned and /@error@/ will be assigned a
+'GError' from the @/GTK_BUILDER_ERROR/@ or @/G_MARKUP_ERROR/@ domain.
+
+If you are adding an object that depends on an object that is not
+its child (for instance a 'GI.Gtk.Objects.TreeView.TreeView' that depends on its
+'GI.Gtk.Interfaces.TreeModel.TreeModel'), you have to explicitly list all of them in /@objectIds@/.
+
+/Since: 2.14/
+-}
+builderAddObjectsFromString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@buffer@/: the string to parse -}
+    -> Word64
+    {- ^ /@length@/: the length of /@buffer@/ (may be -1 if /@buffer@/ is nul-terminated) -}
+    -> [T.Text]
+    {- ^ /@objectIds@/: nul-terminated array of objects to build -}
+    -> m Word32
+    {- ^ __Returns:__ A positive value on success, 0 if an error occurred /(Can throw 'Data.GI.Base.GError.GError')/ -}
+builderAddObjectsFromString builder buffer length_ objectIds = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    buffer' <- textToCString buffer
+    objectIds' <- packZeroTerminatedUTF8CArray objectIds
+    onException (do
+        result <- propagateGError $ gtk_builder_add_objects_from_string builder' buffer' length_ objectIds'
+        touchManagedPtr builder
+        freeMem buffer'
+        mapZeroTerminatedCArray freeMem objectIds'
+        freeMem objectIds'
+        return result
+     ) (do
+        freeMem buffer'
+        mapZeroTerminatedCArray freeMem objectIds'
+        freeMem objectIds'
+     )
+
+#if ENABLE_OVERLOADING
+data BuilderAddObjectsFromStringMethodInfo
+instance (signature ~ (T.Text -> Word64 -> [T.Text] -> m Word32), MonadIO m, IsBuilder a) => O.MethodInfo BuilderAddObjectsFromStringMethodInfo a signature where
+    overloadedMethod _ = builderAddObjectsFromString
+
+#endif
+
+-- method Builder::connect_signals
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass back with all signals", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_connect_signals" gtk_builder_connect_signals :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+This method is a simpler variation of 'GI.Gtk.Objects.Builder.builderConnectSignalsFull'.
+It uses symbols explicitly added to /@builder@/ with prior calls to
+'GI.Gtk.Objects.Builder.builderAddCallbackSymbol'. In the case that symbols are not
+explicitly added; it uses 'GI.GModule.Structs.Module.Module'’s introspective features (by opening the module 'Nothing')
+to look at the application’s symbol table. From here it tries to match
+the signal handler names given in the interface description with
+symbols in the application and connects the signals. Note that this
+function can only be called once, subsequent calls will do nothing.
+
+Note that unless 'GI.Gtk.Objects.Builder.builderAddCallbackSymbol' is called for
+all signal callbacks which are referenced by the loaded XML, this
+function will require that 'GI.GModule.Structs.Module.Module' be supported on the platform.
+
+If you rely on 'GI.GModule.Structs.Module.Module' support to lookup callbacks in the symbol table,
+the following details should be noted:
+
+When compiling applications for Windows, you must declare signal callbacks
+with @/G_MODULE_EXPORT/@, or they will not be put in the symbol table.
+On Linux and Unices, this is not necessary; applications should instead
+be compiled with the -Wl,--export-dynamic CFLAGS, and linked against
+gmodule-export-2.0.
+
+/Since: 2.12/
+-}
+builderConnectSignals ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> Ptr ()
+    {- ^ /@userData@/: user data to pass back with all signals -}
+    -> m ()
+builderConnectSignals builder userData = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    gtk_builder_connect_signals builder' userData
+    touchManagedPtr builder
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuilderConnectSignalsMethodInfo
+instance (signature ~ (Ptr () -> m ()), MonadIO m, IsBuilder a) => O.MethodInfo BuilderConnectSignalsMethodInfo a signature where
+    overloadedMethod _ = builderConnectSignals
+
+#endif
+
+-- method Builder::connect_signals_full
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "BuilderConnectFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function used to connect the signals", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "arbitrary data that will be passed to the connection function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_connect_signals_full" gtk_builder_connect_signals_full :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    FunPtr Gtk.Callbacks.C_BuilderConnectFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "BuilderConnectFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+This function can be thought of the interpreted language binding
+version of 'GI.Gtk.Objects.Builder.builderConnectSignals', except that it does not
+require GModule to function correctly.
+
+/Since: 2.12/
+-}
+builderConnectSignalsFull ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> Gtk.Callbacks.BuilderConnectFunc
+    {- ^ /@func@/: the function used to connect the signals -}
+    -> m ()
+builderConnectSignalsFull builder func = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    func' <- Gtk.Callbacks.mk_BuilderConnectFunc (Gtk.Callbacks.wrap_BuilderConnectFunc Nothing (Gtk.Callbacks.drop_closures_BuilderConnectFunc func))
+    let userData = nullPtr
+    gtk_builder_connect_signals_full builder' func' userData
+    safeFreeFunPtr $ castFunPtrToPtr func'
+    touchManagedPtr builder
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuilderConnectSignalsFullMethodInfo
+instance (signature ~ (Gtk.Callbacks.BuilderConnectFunc -> m ()), MonadIO m, IsBuilder a) => O.MethodInfo BuilderConnectSignalsFullMethodInfo a signature where
+    overloadedMethod _ = builderConnectSignalsFull
+
+#endif
+
+-- method Builder::expose_object
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the object exposed to the builder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object to expose", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_expose_object" gtk_builder_expose_object :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})
+    IO ()
+
+{- |
+Add /@object@/ to the /@builder@/ object pool so it can be referenced just like any
+other object built by builder.
+
+/Since: 3.8/
+-}
+builderExposeObject ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a, GObject.Object.IsObject b) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@name@/: the name of the object exposed to the builder -}
+    -> b
+    {- ^ /@object@/: the object to expose -}
+    -> m ()
+builderExposeObject builder name object = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    name' <- textToCString name
+    object' <- unsafeManagedPtrCastPtr object
+    gtk_builder_expose_object builder' name' object'
+    touchManagedPtr builder
+    touchManagedPtr object
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuilderExposeObjectMethodInfo
+instance (signature ~ (T.Text -> b -> m ()), MonadIO m, IsBuilder a, GObject.Object.IsObject b) => O.MethodInfo BuilderExposeObjectMethodInfo a signature where
+    overloadedMethod _ = builderExposeObject
+
+#endif
+
+-- method Builder::extend_with_template
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget that is being extended", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "template_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type that the template is for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @buffer (may be -1 if @buffer is nul-terminated)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_builder_extend_with_template" gtk_builder_extend_with_template :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CGType ->                               -- template_type : TBasicType TGType
+    CString ->                              -- buffer : TBasicType TUTF8
+    Word64 ->                               -- length : TBasicType TUInt64
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{- |
+Main private entry point for building composite container
+components from template XML.
+
+This is exported purely to let gtk-builder-tool validate
+templates, applications have no need to call this function.
+-}
+builderExtendWithTemplate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> b
+    {- ^ /@widget@/: the widget that is being extended -}
+    -> GType
+    {- ^ /@templateType@/: the type that the template is for -}
+    -> T.Text
+    {- ^ /@buffer@/: the string to parse -}
+    -> Word64
+    {- ^ /@length@/: the length of /@buffer@/ (may be -1 if /@buffer@/ is nul-terminated) -}
+    -> m Word32
+    {- ^ __Returns:__ A positive value on success, 0 if an error occurred /(Can throw 'Data.GI.Base.GError.GError')/ -}
+builderExtendWithTemplate builder widget templateType buffer length_ = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    widget' <- unsafeManagedPtrCastPtr widget
+    let templateType' = gtypeToCGType templateType
+    buffer' <- textToCString buffer
+    onException (do
+        result <- propagateGError $ gtk_builder_extend_with_template builder' widget' templateType' buffer' length_
+        touchManagedPtr builder
+        touchManagedPtr widget
+        freeMem buffer'
+        return result
+     ) (do
+        freeMem buffer'
+     )
+
+#if ENABLE_OVERLOADING
+data BuilderExtendWithTemplateMethodInfo
+instance (signature ~ (b -> GType -> T.Text -> Word64 -> m Word32), MonadIO m, IsBuilder a, Gtk.Widget.IsWidget b) => O.MethodInfo BuilderExtendWithTemplateMethodInfo a signature where
+    overloadedMethod _ = builderExtendWithTemplate
+
+#endif
+
+-- method Builder::get_application
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Application"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_get_application" gtk_builder_get_application :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    IO (Ptr Gtk.Application.Application)
+
+{- |
+Gets the 'GI.Gtk.Objects.Application.Application' associated with the builder.
+
+The 'GI.Gtk.Objects.Application.Application' is used for creating action proxies as requested
+from XML that the builder is loading.
+
+By default, the builder uses the default application: the one from
+'GI.Gio.Objects.Application.applicationGetDefault'. If you want to use another application
+for constructing proxies, use 'GI.Gtk.Objects.Builder.builderSetApplication'.
+
+/Since: 3.10/
+-}
+builderGetApplication ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> m (Maybe Gtk.Application.Application)
+    {- ^ __Returns:__ the application being used by the builder,
+    or 'Nothing' -}
+builderGetApplication builder = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    result <- gtk_builder_get_application builder'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Application.Application) result'
+        return result''
+    touchManagedPtr builder
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data BuilderGetApplicationMethodInfo
+instance (signature ~ (m (Maybe Gtk.Application.Application)), MonadIO m, IsBuilder a) => O.MethodInfo BuilderGetApplicationMethodInfo a signature where
+    overloadedMethod _ = builderGetApplication
+
+#endif
+
+-- method Builder::get_object
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of object to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_get_object" gtk_builder_get_object :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr GObject.Object.Object)
+
+{- |
+Gets the object named /@name@/. Note that this function does not
+increment the reference count of the returned object.
+
+/Since: 2.12/
+-}
+builderGetObject ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@name@/: name of object to get -}
+    -> m (Maybe GObject.Object.Object)
+    {- ^ __Returns:__ the object named /@name@/ or 'Nothing' if
+   it could not be found in the object tree. -}
+builderGetObject builder name = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    name' <- textToCString name
+    result <- gtk_builder_get_object builder' name'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GObject.Object.Object) result'
+        return result''
+    touchManagedPtr builder
+    freeMem name'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data BuilderGetObjectMethodInfo
+instance (signature ~ (T.Text -> m (Maybe GObject.Object.Object)), MonadIO m, IsBuilder a) => O.MethodInfo BuilderGetObjectMethodInfo a signature where
+    overloadedMethod _ = builderGetObject
+
+#endif
+
+-- method Builder::get_objects
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "GObject", name = "Object"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_get_objects" gtk_builder_get_objects :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    IO (Ptr (GSList (Ptr GObject.Object.Object)))
+
+{- |
+Gets all objects that have been constructed by /@builder@/. Note that
+this function does not increment the reference counts of the returned
+objects.
+
+/Since: 2.12/
+-}
+builderGetObjects ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> m [GObject.Object.Object]
+    {- ^ __Returns:__ a newly-allocated 'GI.GLib.Structs.SList.SList' containing all the objects
+  constructed by the 'GI.Gtk.Objects.Builder.Builder' instance. It should be freed by
+  @/g_slist_free()/@ -}
+builderGetObjects builder = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    result <- gtk_builder_get_objects builder'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject GObject.Object.Object) result'
+    g_slist_free result
+    touchManagedPtr builder
+    return result''
+
+#if ENABLE_OVERLOADING
+data BuilderGetObjectsMethodInfo
+instance (signature ~ (m [GObject.Object.Object]), MonadIO m, IsBuilder a) => O.MethodInfo BuilderGetObjectsMethodInfo a signature where
+    overloadedMethod _ = builderGetObjects
+
+#endif
+
+-- method Builder::get_translation_domain
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_get_translation_domain" gtk_builder_get_translation_domain :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    IO CString
+
+{- |
+Gets the translation domain of /@builder@/.
+
+/Since: 2.12/
+-}
+builderGetTranslationDomain ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> m T.Text
+    {- ^ __Returns:__ the translation domain. This string is owned
+by the builder object and must not be modified or freed. -}
+builderGetTranslationDomain builder = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    result <- gtk_builder_get_translation_domain builder'
+    checkUnexpectedReturnNULL "builderGetTranslationDomain" result
+    result' <- cstringToText result
+    touchManagedPtr builder
+    return result'
+
+#if ENABLE_OVERLOADING
+data BuilderGetTranslationDomainMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsBuilder a) => O.MethodInfo BuilderGetTranslationDomainMethodInfo a signature where
+    overloadedMethod _ = builderGetTranslationDomain
+
+#endif
+
+-- method Builder::get_type_from_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type name to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TGType)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_get_type_from_name" gtk_builder_get_type_from_name :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- type_name : TBasicType TUTF8
+    IO CGType
+
+{- |
+Looks up a type by name, using the virtual function that
+'GI.Gtk.Objects.Builder.Builder' has for that purpose. This is mainly used when
+implementing the 'GI.Gtk.Interfaces.Buildable.Buildable' interface on a type.
+
+/Since: 2.12/
+-}
+builderGetTypeFromName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> T.Text
+    {- ^ /@typeName@/: type name to lookup -}
+    -> m GType
+    {- ^ __Returns:__ the 'GType' found for /@typeName@/ or @/G_TYPE_INVALID/@
+  if no type was found -}
+builderGetTypeFromName builder typeName = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    typeName' <- textToCString typeName
+    result <- gtk_builder_get_type_from_name builder' typeName'
+    let result' = GType result
+    touchManagedPtr builder
+    freeMem typeName'
+    return result'
+
+#if ENABLE_OVERLOADING
+data BuilderGetTypeFromNameMethodInfo
+instance (signature ~ (T.Text -> m GType), MonadIO m, IsBuilder a) => O.MethodInfo BuilderGetTypeFromNameMethodInfo a signature where
+    overloadedMethod _ = builderGetTypeFromName
+
+#endif
+
+-- method Builder::set_application
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkApplication", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_set_application" gtk_builder_set_application :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    Ptr Gtk.Application.Application ->      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    IO ()
+
+{- |
+Sets the application associated with /@builder@/.
+
+You only need this function if there is more than one 'GI.Gio.Objects.Application.Application'
+in your process. /@application@/ cannot be 'Nothing'.
+
+/Since: 3.10/
+-}
+builderSetApplication ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a, Gtk.Application.IsApplication b) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> b
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application' -}
+    -> m ()
+builderSetApplication builder application = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    application' <- unsafeManagedPtrCastPtr application
+    gtk_builder_set_application builder' application'
+    touchManagedPtr builder
+    touchManagedPtr application
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuilderSetApplicationMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsBuilder a, Gtk.Application.IsApplication b) => O.MethodInfo BuilderSetApplicationMethodInfo a signature where
+    overloadedMethod _ = builderSetApplication
+
+#endif
+
+-- method Builder::set_translation_domain
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the translation domain or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_builder_set_translation_domain" gtk_builder_set_translation_domain :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CString ->                              -- domain : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the translation domain of /@builder@/.
+See 'GI.Gtk.Objects.Builder.Builder':@/translation-domain/@.
+
+/Since: 2.12/
+-}
+builderSetTranslationDomain ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> Maybe (T.Text)
+    {- ^ /@domain@/: the translation domain or 'Nothing' -}
+    -> m ()
+builderSetTranslationDomain builder domain = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    maybeDomain <- case domain of
+        Nothing -> return nullPtr
+        Just jDomain -> do
+            jDomain' <- textToCString jDomain
+            return jDomain'
+    gtk_builder_set_translation_domain builder' maybeDomain
+    touchManagedPtr builder
+    freeMem maybeDomain
+    return ()
+
+#if ENABLE_OVERLOADING
+data BuilderSetTranslationDomainMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsBuilder a) => O.MethodInfo BuilderSetTranslationDomainMethodInfo a signature where
+    overloadedMethod _ = builderSetTranslationDomain
+
+#endif
+
+-- method Builder::value_from_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec for the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string representation of the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue to store the result in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_builder_value_from_string" gtk_builder_value_from_string :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    CString ->                              -- string : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+This function demarshals a value from a string. This function
+calls 'GI.GObject.Structs.Value.valueInit' on the /@value@/ argument, so it need not be
+initialised beforehand.
+
+This function can handle char, uchar, boolean, int, uint, long,
+ulong, enum, flags, float, double, string, 'GI.Gdk.Structs.Color.Color', 'GI.Gdk.Structs.RGBA.RGBA' and
+'GI.Gtk.Objects.Adjustment.Adjustment' type values. Support for 'GI.Gtk.Objects.Widget.Widget' type values is
+still to come.
+
+Upon errors 'False' will be returned and /@error@/ will be assigned a
+'GError' from the @/GTK_BUILDER_ERROR/@ domain.
+
+/Since: 2.12/
+-}
+builderValueFromString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> GParamSpec
+    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' for the property -}
+    -> T.Text
+    {- ^ /@string@/: the string representation of the value -}
+    -> m (GValue)
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+builderValueFromString builder pspec string = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    string' <- textToCString string
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    onException (do
+        _ <- propagateGError $ gtk_builder_value_from_string builder' pspec' string' value
+        value' <- (wrapBoxed GValue) value
+        touchManagedPtr builder
+        touchManagedPtr pspec
+        freeMem string'
+        return value'
+     ) (do
+        freeMem string'
+        freeMem value
+     )
+
+#if ENABLE_OVERLOADING
+data BuilderValueFromStringMethodInfo
+instance (signature ~ (GParamSpec -> T.Text -> m (GValue)), MonadIO m, IsBuilder a) => O.MethodInfo BuilderValueFromStringMethodInfo a signature where
+    overloadedMethod _ = builderValueFromString
+
+#endif
+
+-- method Builder::value_from_string_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "Gtk", name = "Builder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string representation of the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue to store the result in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_builder_value_from_string_type" gtk_builder_value_from_string_type :: 
+    Ptr Builder ->                          -- builder : TInterface (Name {namespace = "Gtk", name = "Builder"})
+    CGType ->                               -- type : TBasicType TGType
+    CString ->                              -- string : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Like 'GI.Gtk.Objects.Builder.builderValueFromString', this function demarshals
+a value from a string, but takes a 'GType' instead of 'GI.GObject.Objects.ParamSpec.ParamSpec'.
+This function calls 'GI.GObject.Structs.Value.valueInit' on the /@value@/ argument, so it
+need not be initialised beforehand.
+
+Upon errors 'False' will be returned and /@error@/ will be assigned a
+'GError' from the @/GTK_BUILDER_ERROR/@ domain.
+
+/Since: 2.12/
+-}
+builderValueFromStringType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsBuilder a) =>
+    a
+    {- ^ /@builder@/: a 'GI.Gtk.Objects.Builder.Builder' -}
+    -> GType
+    {- ^ /@type@/: the 'GType' of the value -}
+    -> T.Text
+    {- ^ /@string@/: the string representation of the value -}
+    -> m (GValue)
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+builderValueFromStringType builder type_ string = liftIO $ do
+    builder' <- unsafeManagedPtrCastPtr builder
+    let type_' = gtypeToCGType type_
+    string' <- textToCString string
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    onException (do
+        _ <- propagateGError $ gtk_builder_value_from_string_type builder' type_' string' value
+        value' <- (wrapBoxed GValue) value
+        touchManagedPtr builder
+        freeMem string'
+        return value'
+     ) (do
+        freeMem string'
+        freeMem value
+     )
+
+#if ENABLE_OVERLOADING
+data BuilderValueFromStringTypeMethodInfo
+instance (signature ~ (GType -> T.Text -> m (GValue)), MonadIO m, IsBuilder a) => O.MethodInfo BuilderValueFromStringTypeMethodInfo a signature where
+    overloadedMethod _ = builderValueFromStringType
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Builder.hs-boot b/GI/Gtk/Objects/Builder.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Builder.hs-boot
@@ -0,0 +1,92 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Builder where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Builder = Builder (ManagedPtr Builder)
+instance GObject Builder where
+class (GObject o, O.IsDescendantOf Builder o) => IsBuilder o
+instance (GObject o, O.IsDescendantOf Builder o) => IsBuilder o
+instance O.HasParentTypes Builder
+#if ENABLE_OVERLOADING
+data BuilderTranslationDomainPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderAddCallbackSymbolMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderAddFromFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderAddFromResourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderAddFromStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderAddObjectsFromFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderAddObjectsFromResourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderAddObjectsFromStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderConnectSignalsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderConnectSignalsFullMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderExposeObjectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderExtendWithTemplateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderGetApplicationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderGetObjectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderGetObjectsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderGetTranslationDomainMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderGetTypeFromNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderSetApplicationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderSetTranslationDomainMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderValueFromStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BuilderValueFromStringTypeMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Button.hs b/GI/Gtk/Objects/Button.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Button.hs
@@ -0,0 +1,2986 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Button.Button' widget is generally used to trigger a callback function that is
+called when the button is pressed.  The various signals and how to use them
+are outlined below.
+
+The 'GI.Gtk.Objects.Button.Button' widget can hold any valid child widget.  That is, it can hold
+almost any other standard 'GI.Gtk.Objects.Widget.Widget'.  The most commonly used child is the
+'GI.Gtk.Objects.Label.Label'.
+
+= CSS nodes
+
+GtkButton has a single CSS node with name button. The node will get the
+style classes .image-button or .text-button, if the content is just an
+image or label, respectively. It may also receive the .flat style class.
+
+Other style classes that are commonly used with GtkButton include
+.suggested-action and .destructive-action. In special cases, buttons
+can be made round by adding the .circular style class.
+
+Button-like widgets like 'GI.Gtk.Objects.ToggleButton.ToggleButton', 'GI.Gtk.Objects.MenuButton.MenuButton', 'GI.Gtk.Objects.VolumeButton.VolumeButton',
+'GI.Gtk.Objects.LockButton.LockButton', 'GI.Gtk.Objects.ColorButton.ColorButton', 'GI.Gtk.Objects.FontButton.FontButton' or 'GI.Gtk.Objects.FileChooserButton.FileChooserButton' use
+style classes such as .toggle, .popup, .scale, .lock, .color, .font, .file
+to differentiate themselves from a plain GtkButton.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Button
+    ( 
+
+-- * Exported types
+    Button(..)                              ,
+    IsButton                                ,
+    toButton                                ,
+    noButton                                ,
+
+
+ -- * Methods
+-- ** clicked #method:clicked#
+
+#if ENABLE_OVERLOADING
+    ButtonClickedMethodInfo                 ,
+#endif
+    buttonClicked                           ,
+
+
+-- ** enter #method:enter#
+
+#if ENABLE_OVERLOADING
+    ButtonEnterMethodInfo                   ,
+#endif
+    buttonEnter                             ,
+
+
+-- ** getAlignment #method:getAlignment#
+
+#if ENABLE_OVERLOADING
+    ButtonGetAlignmentMethodInfo            ,
+#endif
+    buttonGetAlignment                      ,
+
+
+-- ** getAlwaysShowImage #method:getAlwaysShowImage#
+
+#if ENABLE_OVERLOADING
+    ButtonGetAlwaysShowImageMethodInfo      ,
+#endif
+    buttonGetAlwaysShowImage                ,
+
+
+-- ** getEventWindow #method:getEventWindow#
+
+#if ENABLE_OVERLOADING
+    ButtonGetEventWindowMethodInfo          ,
+#endif
+    buttonGetEventWindow                    ,
+
+
+-- ** getFocusOnClick #method:getFocusOnClick#
+
+#if ENABLE_OVERLOADING
+    ButtonGetFocusOnClickMethodInfo         ,
+#endif
+    buttonGetFocusOnClick                   ,
+
+
+-- ** getImage #method:getImage#
+
+#if ENABLE_OVERLOADING
+    ButtonGetImageMethodInfo                ,
+#endif
+    buttonGetImage                          ,
+
+
+-- ** getImagePosition #method:getImagePosition#
+
+#if ENABLE_OVERLOADING
+    ButtonGetImagePositionMethodInfo        ,
+#endif
+    buttonGetImagePosition                  ,
+
+
+-- ** getLabel #method:getLabel#
+
+#if ENABLE_OVERLOADING
+    ButtonGetLabelMethodInfo                ,
+#endif
+    buttonGetLabel                          ,
+
+
+-- ** getRelief #method:getRelief#
+
+#if ENABLE_OVERLOADING
+    ButtonGetReliefMethodInfo               ,
+#endif
+    buttonGetRelief                         ,
+
+
+-- ** getUseStock #method:getUseStock#
+
+#if ENABLE_OVERLOADING
+    ButtonGetUseStockMethodInfo             ,
+#endif
+    buttonGetUseStock                       ,
+
+
+-- ** getUseUnderline #method:getUseUnderline#
+
+#if ENABLE_OVERLOADING
+    ButtonGetUseUnderlineMethodInfo         ,
+#endif
+    buttonGetUseUnderline                   ,
+
+
+-- ** leave #method:leave#
+
+#if ENABLE_OVERLOADING
+    ButtonLeaveMethodInfo                   ,
+#endif
+    buttonLeave                             ,
+
+
+-- ** new #method:new#
+
+    buttonNew                               ,
+
+
+-- ** newFromIconName #method:newFromIconName#
+
+    buttonNewFromIconName                   ,
+
+
+-- ** newFromStock #method:newFromStock#
+
+    buttonNewFromStock                      ,
+
+
+-- ** newWithLabel #method:newWithLabel#
+
+    buttonNewWithLabel                      ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    buttonNewWithMnemonic                   ,
+
+
+-- ** pressed #method:pressed#
+
+#if ENABLE_OVERLOADING
+    ButtonPressedMethodInfo                 ,
+#endif
+    buttonPressed                           ,
+
+
+-- ** released #method:released#
+
+#if ENABLE_OVERLOADING
+    ButtonReleasedMethodInfo                ,
+#endif
+    buttonReleased                          ,
+
+
+-- ** setAlignment #method:setAlignment#
+
+#if ENABLE_OVERLOADING
+    ButtonSetAlignmentMethodInfo            ,
+#endif
+    buttonSetAlignment                      ,
+
+
+-- ** setAlwaysShowImage #method:setAlwaysShowImage#
+
+#if ENABLE_OVERLOADING
+    ButtonSetAlwaysShowImageMethodInfo      ,
+#endif
+    buttonSetAlwaysShowImage                ,
+
+
+-- ** setFocusOnClick #method:setFocusOnClick#
+
+#if ENABLE_OVERLOADING
+    ButtonSetFocusOnClickMethodInfo         ,
+#endif
+    buttonSetFocusOnClick                   ,
+
+
+-- ** setImage #method:setImage#
+
+#if ENABLE_OVERLOADING
+    ButtonSetImageMethodInfo                ,
+#endif
+    buttonSetImage                          ,
+
+
+-- ** setImagePosition #method:setImagePosition#
+
+#if ENABLE_OVERLOADING
+    ButtonSetImagePositionMethodInfo        ,
+#endif
+    buttonSetImagePosition                  ,
+
+
+-- ** setLabel #method:setLabel#
+
+#if ENABLE_OVERLOADING
+    ButtonSetLabelMethodInfo                ,
+#endif
+    buttonSetLabel                          ,
+
+
+-- ** setRelief #method:setRelief#
+
+#if ENABLE_OVERLOADING
+    ButtonSetReliefMethodInfo               ,
+#endif
+    buttonSetRelief                         ,
+
+
+-- ** setUseStock #method:setUseStock#
+
+#if ENABLE_OVERLOADING
+    ButtonSetUseStockMethodInfo             ,
+#endif
+    buttonSetUseStock                       ,
+
+
+-- ** setUseUnderline #method:setUseUnderline#
+
+#if ENABLE_OVERLOADING
+    ButtonSetUseUnderlineMethodInfo         ,
+#endif
+    buttonSetUseUnderline                   ,
+
+
+
+
+ -- * Properties
+-- ** alwaysShowImage #attr:alwaysShowImage#
+{- | If 'True', the button will ignore the 'GI.Gtk.Objects.Settings.Settings':@/gtk-button-images/@
+setting and always show the image, if available.
+
+Use this property if the button would be useless or hard to use
+without the image.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    ButtonAlwaysShowImagePropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonAlwaysShowImage                   ,
+#endif
+    constructButtonAlwaysShowImage          ,
+    getButtonAlwaysShowImage                ,
+    setButtonAlwaysShowImage                ,
+
+
+-- ** image #attr:image#
+{- | The child widget to appear next to the button text.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    ButtonImagePropertyInfo                 ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonImage                             ,
+#endif
+    clearButtonImage                        ,
+    constructButtonImage                    ,
+    getButtonImage                          ,
+    setButtonImage                          ,
+
+
+-- ** imagePosition #attr:imagePosition#
+{- | The position of the image relative to the text inside the button.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    ButtonImagePositionPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonImagePosition                     ,
+#endif
+    constructButtonImagePosition            ,
+    getButtonImagePosition                  ,
+    setButtonImagePosition                  ,
+
+
+-- ** label #attr:label#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ButtonLabelPropertyInfo                 ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonLabel                             ,
+#endif
+    constructButtonLabel                    ,
+    getButtonLabel                          ,
+    setButtonLabel                          ,
+
+
+-- ** relief #attr:relief#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ButtonReliefPropertyInfo                ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonRelief                            ,
+#endif
+    constructButtonRelief                   ,
+    getButtonRelief                         ,
+    setButtonRelief                         ,
+
+
+-- ** useStock #attr:useStock#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ButtonUseStockPropertyInfo              ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonUseStock                          ,
+#endif
+    constructButtonUseStock                 ,
+    getButtonUseStock                       ,
+    setButtonUseStock                       ,
+
+
+-- ** useUnderline #attr:useUnderline#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ButtonUseUnderlinePropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonUseUnderline                      ,
+#endif
+    constructButtonUseUnderline             ,
+    getButtonUseUnderline                   ,
+    setButtonUseUnderline                   ,
+
+
+-- ** xalign #attr:xalign#
+{- | If the child of the button is a 'GI.Gtk.Objects.Misc.Misc' or 'GI.Gtk.Objects.Alignment.Alignment', this property
+can be used to control its horizontal alignment. 0.0 is left aligned,
+1.0 is right aligned.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ButtonXalignPropertyInfo                ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonXalign                            ,
+#endif
+    constructButtonXalign                   ,
+    getButtonXalign                         ,
+    setButtonXalign                         ,
+
+
+-- ** yalign #attr:yalign#
+{- | If the child of the button is a 'GI.Gtk.Objects.Misc.Misc' or 'GI.Gtk.Objects.Alignment.Alignment', this property
+can be used to control its vertical alignment. 0.0 is top aligned,
+1.0 is bottom aligned.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ButtonYalignPropertyInfo                ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonYalign                            ,
+#endif
+    constructButtonYalign                   ,
+    getButtonYalign                         ,
+    setButtonYalign                         ,
+
+
+
+
+ -- * Signals
+-- ** activate #signal:activate#
+
+    ButtonActivateCallback                  ,
+#if ENABLE_OVERLOADING
+    ButtonActivateSignalInfo                ,
+#endif
+    C_ButtonActivateCallback                ,
+    afterButtonActivate                     ,
+    genClosure_ButtonActivate               ,
+    mk_ButtonActivateCallback               ,
+    noButtonActivateCallback                ,
+    onButtonActivate                        ,
+    wrap_ButtonActivateCallback             ,
+
+
+-- ** clicked #signal:clicked#
+
+    ButtonClickedCallback                   ,
+#if ENABLE_OVERLOADING
+    ButtonClickedSignalInfo                 ,
+#endif
+    C_ButtonClickedCallback                 ,
+    afterButtonClicked                      ,
+    genClosure_ButtonClicked                ,
+    mk_ButtonClickedCallback                ,
+    noButtonClickedCallback                 ,
+    onButtonClicked                         ,
+    wrap_ButtonClickedCallback              ,
+
+
+-- ** enter #signal:enter#
+
+    ButtonEnterCallback                     ,
+#if ENABLE_OVERLOADING
+    ButtonEnterSignalInfo                   ,
+#endif
+    C_ButtonEnterCallback                   ,
+    afterButtonEnter                        ,
+    genClosure_ButtonEnter                  ,
+    mk_ButtonEnterCallback                  ,
+    noButtonEnterCallback                   ,
+    onButtonEnter                           ,
+    wrap_ButtonEnterCallback                ,
+
+
+-- ** leave #signal:leave#
+
+    ButtonLeaveCallback                     ,
+#if ENABLE_OVERLOADING
+    ButtonLeaveSignalInfo                   ,
+#endif
+    C_ButtonLeaveCallback                   ,
+    afterButtonLeave                        ,
+    genClosure_ButtonLeave                  ,
+    mk_ButtonLeaveCallback                  ,
+    noButtonLeaveCallback                   ,
+    onButtonLeave                           ,
+    wrap_ButtonLeaveCallback                ,
+
+
+-- ** pressed #signal:pressed#
+
+    ButtonPressedCallback                   ,
+#if ENABLE_OVERLOADING
+    ButtonPressedSignalInfo                 ,
+#endif
+    C_ButtonPressedCallback                 ,
+    afterButtonPressed                      ,
+    genClosure_ButtonPressed                ,
+    mk_ButtonPressedCallback                ,
+    noButtonPressedCallback                 ,
+    onButtonPressed                         ,
+    wrap_ButtonPressedCallback              ,
+
+
+-- ** released #signal:released#
+
+    ButtonReleasedCallback                  ,
+#if ENABLE_OVERLOADING
+    ButtonReleasedSignalInfo                ,
+#endif
+    C_ButtonReleasedCallback                ,
+    afterButtonReleased                     ,
+    genClosure_ButtonReleased               ,
+    mk_ButtonReleasedCallback               ,
+    noButtonReleasedCallback                ,
+    onButtonReleased                        ,
+    wrap_ButtonReleasedCallback             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Button = Button (ManagedPtr Button)
+foreign import ccall "gtk_button_get_type"
+    c_gtk_button_get_type :: IO GType
+
+instance GObject Button where
+    gobjectType = c_gtk_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `Button`, for instance with `toButton`.
+class (GObject o, O.IsDescendantOf Button o) => IsButton o
+instance (GObject o, O.IsDescendantOf Button o) => IsButton o
+
+instance O.HasParentTypes Button
+type instance O.ParentTypes Button = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `Button`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toButton :: (MonadIO m, IsButton o) => o -> m Button
+toButton = liftIO . unsafeCastTo Button
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Button`.
+noButton :: Maybe Button
+noButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveButtonMethod "clicked" o = ButtonClickedMethodInfo
+    ResolveButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveButtonMethod "enter" o = ButtonEnterMethodInfo
+    ResolveButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveButtonMethod "leave" o = ButtonLeaveMethodInfo
+    ResolveButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveButtonMethod "pressed" o = ButtonPressedMethodInfo
+    ResolveButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveButtonMethod "released" o = ButtonReleasedMethodInfo
+    ResolveButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveButtonMethod "getAlignment" o = ButtonGetAlignmentMethodInfo
+    ResolveButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveButtonMethod "getAlwaysShowImage" o = ButtonGetAlwaysShowImageMethodInfo
+    ResolveButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveButtonMethod "getEventWindow" o = ButtonGetEventWindowMethodInfo
+    ResolveButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveButtonMethod "getFocusOnClick" o = ButtonGetFocusOnClickMethodInfo
+    ResolveButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveButtonMethod "getImage" o = ButtonGetImageMethodInfo
+    ResolveButtonMethod "getImagePosition" o = ButtonGetImagePositionMethodInfo
+    ResolveButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveButtonMethod "getLabel" o = ButtonGetLabelMethodInfo
+    ResolveButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveButtonMethod "getRelief" o = ButtonGetReliefMethodInfo
+    ResolveButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveButtonMethod "getUseStock" o = ButtonGetUseStockMethodInfo
+    ResolveButtonMethod "getUseUnderline" o = ButtonGetUseUnderlineMethodInfo
+    ResolveButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveButtonMethod "setAlignment" o = ButtonSetAlignmentMethodInfo
+    ResolveButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveButtonMethod "setAlwaysShowImage" o = ButtonSetAlwaysShowImageMethodInfo
+    ResolveButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveButtonMethod "setFocusOnClick" o = ButtonSetFocusOnClickMethodInfo
+    ResolveButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveButtonMethod "setImage" o = ButtonSetImageMethodInfo
+    ResolveButtonMethod "setImagePosition" o = ButtonSetImagePositionMethodInfo
+    ResolveButtonMethod "setLabel" o = ButtonSetLabelMethodInfo
+    ResolveButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveButtonMethod "setRelief" o = ButtonSetReliefMethodInfo
+    ResolveButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveButtonMethod "setUseStock" o = ButtonSetUseStockMethodInfo
+    ResolveButtonMethod "setUseUnderline" o = ButtonSetUseUnderlineMethodInfo
+    ResolveButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveButtonMethod t Button, O.MethodInfo info Button p) => OL.IsLabel t (Button -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Button::activate
+{- |
+The ::activate signal on GtkButton is an action signal and
+emitting it causes the button to animate press then release.
+Applications should never connect to this signal, but use the
+'GI.Gtk.Objects.Button.Button'::@/clicked/@ signal.
+-}
+type ButtonActivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ButtonActivateCallback`@.
+noButtonActivateCallback :: Maybe ButtonActivateCallback
+noButtonActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ButtonActivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ButtonActivateCallback`.
+foreign import ccall "wrapper"
+    mk_ButtonActivateCallback :: C_ButtonActivateCallback -> IO (FunPtr C_ButtonActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ButtonActivate :: MonadIO m => ButtonActivateCallback -> m (GClosure C_ButtonActivateCallback)
+genClosure_ButtonActivate cb = liftIO $ do
+    let cb' = wrap_ButtonActivateCallback cb
+    mk_ButtonActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ButtonActivateCallback` into a `C_ButtonActivateCallback`.
+wrap_ButtonActivateCallback ::
+    ButtonActivateCallback ->
+    C_ButtonActivateCallback
+wrap_ButtonActivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' button #activate callback
+@
+-}
+onButtonActivate :: (IsButton a, MonadIO m) => a -> ButtonActivateCallback -> m SignalHandlerId
+onButtonActivate obj cb = liftIO $ do
+    let cb' = wrap_ButtonActivateCallback cb
+    cb'' <- mk_ButtonActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' button #activate callback
+@
+-}
+afterButtonActivate :: (IsButton a, MonadIO m) => a -> ButtonActivateCallback -> m SignalHandlerId
+afterButtonActivate obj cb = liftIO $ do
+    let cb' = wrap_ButtonActivateCallback cb
+    cb'' <- mk_ButtonActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter
+
+
+-- signal Button::clicked
+{- |
+Emitted when the button has been activated (pressed and released).
+-}
+type ButtonClickedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ButtonClickedCallback`@.
+noButtonClickedCallback :: Maybe ButtonClickedCallback
+noButtonClickedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ButtonClickedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ButtonClickedCallback`.
+foreign import ccall "wrapper"
+    mk_ButtonClickedCallback :: C_ButtonClickedCallback -> IO (FunPtr C_ButtonClickedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ButtonClicked :: MonadIO m => ButtonClickedCallback -> m (GClosure C_ButtonClickedCallback)
+genClosure_ButtonClicked cb = liftIO $ do
+    let cb' = wrap_ButtonClickedCallback cb
+    mk_ButtonClickedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ButtonClickedCallback` into a `C_ButtonClickedCallback`.
+wrap_ButtonClickedCallback ::
+    ButtonClickedCallback ->
+    C_ButtonClickedCallback
+wrap_ButtonClickedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@clicked@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' button #clicked callback
+@
+-}
+onButtonClicked :: (IsButton a, MonadIO m) => a -> ButtonClickedCallback -> m SignalHandlerId
+onButtonClicked obj cb = liftIO $ do
+    let cb' = wrap_ButtonClickedCallback cb
+    cb'' <- mk_ButtonClickedCallback cb'
+    connectSignalFunPtr obj "clicked" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@clicked@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' button #clicked callback
+@
+-}
+afterButtonClicked :: (IsButton a, MonadIO m) => a -> ButtonClickedCallback -> m SignalHandlerId
+afterButtonClicked obj cb = liftIO $ do
+    let cb' = wrap_ButtonClickedCallback cb
+    cb'' <- mk_ButtonClickedCallback cb'
+    connectSignalFunPtr obj "clicked" cb'' SignalConnectAfter
+
+
+-- signal Button::enter
+{-# DEPRECATED ButtonEnterCallback ["(Since version 2.8)","Use the 'GI.Gtk.Objects.Widget.Widget'::@/enter-notify-event/@ signal."] #-}
+{- |
+Emitted when the pointer enters the button.
+-}
+type ButtonEnterCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ButtonEnterCallback`@.
+noButtonEnterCallback :: Maybe ButtonEnterCallback
+noButtonEnterCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ButtonEnterCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ButtonEnterCallback`.
+foreign import ccall "wrapper"
+    mk_ButtonEnterCallback :: C_ButtonEnterCallback -> IO (FunPtr C_ButtonEnterCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ButtonEnter :: MonadIO m => ButtonEnterCallback -> m (GClosure C_ButtonEnterCallback)
+genClosure_ButtonEnter cb = liftIO $ do
+    let cb' = wrap_ButtonEnterCallback cb
+    mk_ButtonEnterCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ButtonEnterCallback` into a `C_ButtonEnterCallback`.
+wrap_ButtonEnterCallback ::
+    ButtonEnterCallback ->
+    C_ButtonEnterCallback
+wrap_ButtonEnterCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@enter@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' button #enter callback
+@
+-}
+onButtonEnter :: (IsButton a, MonadIO m) => a -> ButtonEnterCallback -> m SignalHandlerId
+onButtonEnter obj cb = liftIO $ do
+    let cb' = wrap_ButtonEnterCallback cb
+    cb'' <- mk_ButtonEnterCallback cb'
+    connectSignalFunPtr obj "enter" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@enter@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' button #enter callback
+@
+-}
+afterButtonEnter :: (IsButton a, MonadIO m) => a -> ButtonEnterCallback -> m SignalHandlerId
+afterButtonEnter obj cb = liftIO $ do
+    let cb' = wrap_ButtonEnterCallback cb
+    cb'' <- mk_ButtonEnterCallback cb'
+    connectSignalFunPtr obj "enter" cb'' SignalConnectAfter
+
+
+-- signal Button::leave
+{-# DEPRECATED ButtonLeaveCallback ["(Since version 2.8)","Use the 'GI.Gtk.Objects.Widget.Widget'::@/leave-notify-event/@ signal."] #-}
+{- |
+Emitted when the pointer leaves the button.
+-}
+type ButtonLeaveCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ButtonLeaveCallback`@.
+noButtonLeaveCallback :: Maybe ButtonLeaveCallback
+noButtonLeaveCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ButtonLeaveCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ButtonLeaveCallback`.
+foreign import ccall "wrapper"
+    mk_ButtonLeaveCallback :: C_ButtonLeaveCallback -> IO (FunPtr C_ButtonLeaveCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ButtonLeave :: MonadIO m => ButtonLeaveCallback -> m (GClosure C_ButtonLeaveCallback)
+genClosure_ButtonLeave cb = liftIO $ do
+    let cb' = wrap_ButtonLeaveCallback cb
+    mk_ButtonLeaveCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ButtonLeaveCallback` into a `C_ButtonLeaveCallback`.
+wrap_ButtonLeaveCallback ::
+    ButtonLeaveCallback ->
+    C_ButtonLeaveCallback
+wrap_ButtonLeaveCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@leave@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' button #leave callback
+@
+-}
+onButtonLeave :: (IsButton a, MonadIO m) => a -> ButtonLeaveCallback -> m SignalHandlerId
+onButtonLeave obj cb = liftIO $ do
+    let cb' = wrap_ButtonLeaveCallback cb
+    cb'' <- mk_ButtonLeaveCallback cb'
+    connectSignalFunPtr obj "leave" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@leave@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' button #leave callback
+@
+-}
+afterButtonLeave :: (IsButton a, MonadIO m) => a -> ButtonLeaveCallback -> m SignalHandlerId
+afterButtonLeave obj cb = liftIO $ do
+    let cb' = wrap_ButtonLeaveCallback cb
+    cb'' <- mk_ButtonLeaveCallback cb'
+    connectSignalFunPtr obj "leave" cb'' SignalConnectAfter
+
+
+-- signal Button::pressed
+{-# DEPRECATED ButtonPressedCallback ["(Since version 2.8)","Use the 'GI.Gtk.Objects.Widget.Widget'::@/button-press-event/@ signal."] #-}
+{- |
+Emitted when the button is pressed.
+-}
+type ButtonPressedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ButtonPressedCallback`@.
+noButtonPressedCallback :: Maybe ButtonPressedCallback
+noButtonPressedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ButtonPressedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ButtonPressedCallback`.
+foreign import ccall "wrapper"
+    mk_ButtonPressedCallback :: C_ButtonPressedCallback -> IO (FunPtr C_ButtonPressedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ButtonPressed :: MonadIO m => ButtonPressedCallback -> m (GClosure C_ButtonPressedCallback)
+genClosure_ButtonPressed cb = liftIO $ do
+    let cb' = wrap_ButtonPressedCallback cb
+    mk_ButtonPressedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ButtonPressedCallback` into a `C_ButtonPressedCallback`.
+wrap_ButtonPressedCallback ::
+    ButtonPressedCallback ->
+    C_ButtonPressedCallback
+wrap_ButtonPressedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@pressed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' button #pressed callback
+@
+-}
+onButtonPressed :: (IsButton a, MonadIO m) => a -> ButtonPressedCallback -> m SignalHandlerId
+onButtonPressed obj cb = liftIO $ do
+    let cb' = wrap_ButtonPressedCallback cb
+    cb'' <- mk_ButtonPressedCallback cb'
+    connectSignalFunPtr obj "pressed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@pressed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' button #pressed callback
+@
+-}
+afterButtonPressed :: (IsButton a, MonadIO m) => a -> ButtonPressedCallback -> m SignalHandlerId
+afterButtonPressed obj cb = liftIO $ do
+    let cb' = wrap_ButtonPressedCallback cb
+    cb'' <- mk_ButtonPressedCallback cb'
+    connectSignalFunPtr obj "pressed" cb'' SignalConnectAfter
+
+
+-- signal Button::released
+{-# DEPRECATED ButtonReleasedCallback ["(Since version 2.8)","Use the 'GI.Gtk.Objects.Widget.Widget'::@/button-release-event/@ signal."] #-}
+{- |
+Emitted when the button is released.
+-}
+type ButtonReleasedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ButtonReleasedCallback`@.
+noButtonReleasedCallback :: Maybe ButtonReleasedCallback
+noButtonReleasedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ButtonReleasedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ButtonReleasedCallback`.
+foreign import ccall "wrapper"
+    mk_ButtonReleasedCallback :: C_ButtonReleasedCallback -> IO (FunPtr C_ButtonReleasedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ButtonReleased :: MonadIO m => ButtonReleasedCallback -> m (GClosure C_ButtonReleasedCallback)
+genClosure_ButtonReleased cb = liftIO $ do
+    let cb' = wrap_ButtonReleasedCallback cb
+    mk_ButtonReleasedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ButtonReleasedCallback` into a `C_ButtonReleasedCallback`.
+wrap_ButtonReleasedCallback ::
+    ButtonReleasedCallback ->
+    C_ButtonReleasedCallback
+wrap_ButtonReleasedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@released@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' button #released callback
+@
+-}
+onButtonReleased :: (IsButton a, MonadIO m) => a -> ButtonReleasedCallback -> m SignalHandlerId
+onButtonReleased obj cb = liftIO $ do
+    let cb' = wrap_ButtonReleasedCallback cb
+    cb'' <- mk_ButtonReleasedCallback cb'
+    connectSignalFunPtr obj "released" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@released@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' button #released callback
+@
+-}
+afterButtonReleased :: (IsButton a, MonadIO m) => a -> ButtonReleasedCallback -> m SignalHandlerId
+afterButtonReleased obj cb = liftIO $ do
+    let cb' = wrap_ButtonReleasedCallback cb
+    cb'' <- mk_ButtonReleasedCallback cb'
+    connectSignalFunPtr obj "released" cb'' SignalConnectAfter
+
+
+-- VVV Prop "always-show-image"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@always-show-image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' button #alwaysShowImage
+@
+-}
+getButtonAlwaysShowImage :: (MonadIO m, IsButton o) => o -> m Bool
+getButtonAlwaysShowImage obj = liftIO $ B.Properties.getObjectPropertyBool obj "always-show-image"
+
+{- |
+Set the value of the “@always-show-image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' button [ #alwaysShowImage 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonAlwaysShowImage :: (MonadIO m, IsButton o) => o -> Bool -> m ()
+setButtonAlwaysShowImage obj val = liftIO $ B.Properties.setObjectPropertyBool obj "always-show-image" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@always-show-image@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonAlwaysShowImage :: (IsButton o) => Bool -> IO (GValueConstruct o)
+constructButtonAlwaysShowImage val = B.Properties.constructObjectPropertyBool "always-show-image" val
+
+#if ENABLE_OVERLOADING
+data ButtonAlwaysShowImagePropertyInfo
+instance AttrInfo ButtonAlwaysShowImagePropertyInfo where
+    type AttrAllowedOps ButtonAlwaysShowImagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ButtonAlwaysShowImagePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ButtonAlwaysShowImagePropertyInfo = IsButton
+    type AttrGetType ButtonAlwaysShowImagePropertyInfo = Bool
+    type AttrLabel ButtonAlwaysShowImagePropertyInfo = "always-show-image"
+    type AttrOrigin ButtonAlwaysShowImagePropertyInfo = Button
+    attrGet _ = getButtonAlwaysShowImage
+    attrSet _ = setButtonAlwaysShowImage
+    attrConstruct _ = constructButtonAlwaysShowImage
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "image"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' button #image
+@
+-}
+getButtonImage :: (MonadIO m, IsButton o) => o -> m (Maybe Gtk.Widget.Widget)
+getButtonImage obj = liftIO $ B.Properties.getObjectPropertyObject obj "image" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' button [ #image 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonImage :: (MonadIO m, IsButton o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setButtonImage obj val = liftIO $ B.Properties.setObjectPropertyObject obj "image" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@image@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonImage :: (IsButton o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructButtonImage val = B.Properties.constructObjectPropertyObject "image" (Just val)
+
+{- |
+Set the value of the “@image@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #image
+@
+-}
+clearButtonImage :: (MonadIO m, IsButton o) => o -> m ()
+clearButtonImage obj = liftIO $ B.Properties.setObjectPropertyObject obj "image" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data ButtonImagePropertyInfo
+instance AttrInfo ButtonImagePropertyInfo where
+    type AttrAllowedOps ButtonImagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ButtonImagePropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint ButtonImagePropertyInfo = IsButton
+    type AttrGetType ButtonImagePropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel ButtonImagePropertyInfo = "image"
+    type AttrOrigin ButtonImagePropertyInfo = Button
+    attrGet _ = getButtonImage
+    attrSet _ = setButtonImage
+    attrConstruct _ = constructButtonImage
+    attrClear _ = clearButtonImage
+#endif
+
+-- VVV Prop "image-position"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PositionType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@image-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' button #imagePosition
+@
+-}
+getButtonImagePosition :: (MonadIO m, IsButton o) => o -> m Gtk.Enums.PositionType
+getButtonImagePosition obj = liftIO $ B.Properties.getObjectPropertyEnum obj "image-position"
+
+{- |
+Set the value of the “@image-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' button [ #imagePosition 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonImagePosition :: (MonadIO m, IsButton o) => o -> Gtk.Enums.PositionType -> m ()
+setButtonImagePosition obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "image-position" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@image-position@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonImagePosition :: (IsButton o) => Gtk.Enums.PositionType -> IO (GValueConstruct o)
+constructButtonImagePosition val = B.Properties.constructObjectPropertyEnum "image-position" val
+
+#if ENABLE_OVERLOADING
+data ButtonImagePositionPropertyInfo
+instance AttrInfo ButtonImagePositionPropertyInfo where
+    type AttrAllowedOps ButtonImagePositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ButtonImagePositionPropertyInfo = (~) Gtk.Enums.PositionType
+    type AttrBaseTypeConstraint ButtonImagePositionPropertyInfo = IsButton
+    type AttrGetType ButtonImagePositionPropertyInfo = Gtk.Enums.PositionType
+    type AttrLabel ButtonImagePositionPropertyInfo = "image-position"
+    type AttrOrigin ButtonImagePositionPropertyInfo = Button
+    attrGet _ = getButtonImagePosition
+    attrSet _ = setButtonImagePosition
+    attrConstruct _ = constructButtonImagePosition
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' button #label
+@
+-}
+getButtonLabel :: (MonadIO m, IsButton o) => o -> m T.Text
+getButtonLabel obj = liftIO $ checkUnexpectedNothing "getButtonLabel" $ B.Properties.getObjectPropertyString obj "label"
+
+{- |
+Set the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' button [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonLabel :: (MonadIO m, IsButton o) => o -> T.Text -> m ()
+setButtonLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonLabel :: (IsButton o) => T.Text -> IO (GValueConstruct o)
+constructButtonLabel val = B.Properties.constructObjectPropertyString "label" (Just val)
+
+#if ENABLE_OVERLOADING
+data ButtonLabelPropertyInfo
+instance AttrInfo ButtonLabelPropertyInfo where
+    type AttrAllowedOps ButtonLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ButtonLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ButtonLabelPropertyInfo = IsButton
+    type AttrGetType ButtonLabelPropertyInfo = T.Text
+    type AttrLabel ButtonLabelPropertyInfo = "label"
+    type AttrOrigin ButtonLabelPropertyInfo = Button
+    attrGet _ = getButtonLabel
+    attrSet _ = setButtonLabel
+    attrConstruct _ = constructButtonLabel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "relief"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ReliefStyle"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@relief@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' button #relief
+@
+-}
+getButtonRelief :: (MonadIO m, IsButton o) => o -> m Gtk.Enums.ReliefStyle
+getButtonRelief obj = liftIO $ B.Properties.getObjectPropertyEnum obj "relief"
+
+{- |
+Set the value of the “@relief@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' button [ #relief 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonRelief :: (MonadIO m, IsButton o) => o -> Gtk.Enums.ReliefStyle -> m ()
+setButtonRelief obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "relief" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@relief@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonRelief :: (IsButton o) => Gtk.Enums.ReliefStyle -> IO (GValueConstruct o)
+constructButtonRelief val = B.Properties.constructObjectPropertyEnum "relief" val
+
+#if ENABLE_OVERLOADING
+data ButtonReliefPropertyInfo
+instance AttrInfo ButtonReliefPropertyInfo where
+    type AttrAllowedOps ButtonReliefPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ButtonReliefPropertyInfo = (~) Gtk.Enums.ReliefStyle
+    type AttrBaseTypeConstraint ButtonReliefPropertyInfo = IsButton
+    type AttrGetType ButtonReliefPropertyInfo = Gtk.Enums.ReliefStyle
+    type AttrLabel ButtonReliefPropertyInfo = "relief"
+    type AttrOrigin ButtonReliefPropertyInfo = Button
+    attrGet _ = getButtonRelief
+    attrSet _ = setButtonRelief
+    attrConstruct _ = constructButtonRelief
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-stock"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' button #useStock
+@
+-}
+getButtonUseStock :: (MonadIO m, IsButton o) => o -> m Bool
+getButtonUseStock obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-stock"
+
+{- |
+Set the value of the “@use-stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' button [ #useStock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonUseStock :: (MonadIO m, IsButton o) => o -> Bool -> m ()
+setButtonUseStock obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-stock" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-stock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonUseStock :: (IsButton o) => Bool -> IO (GValueConstruct o)
+constructButtonUseStock val = B.Properties.constructObjectPropertyBool "use-stock" val
+
+#if ENABLE_OVERLOADING
+data ButtonUseStockPropertyInfo
+instance AttrInfo ButtonUseStockPropertyInfo where
+    type AttrAllowedOps ButtonUseStockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ButtonUseStockPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ButtonUseStockPropertyInfo = IsButton
+    type AttrGetType ButtonUseStockPropertyInfo = Bool
+    type AttrLabel ButtonUseStockPropertyInfo = "use-stock"
+    type AttrOrigin ButtonUseStockPropertyInfo = Button
+    attrGet _ = getButtonUseStock
+    attrSet _ = setButtonUseStock
+    attrConstruct _ = constructButtonUseStock
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-underline"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' button #useUnderline
+@
+-}
+getButtonUseUnderline :: (MonadIO m, IsButton o) => o -> m Bool
+getButtonUseUnderline obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-underline"
+
+{- |
+Set the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' button [ #useUnderline 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonUseUnderline :: (MonadIO m, IsButton o) => o -> Bool -> m ()
+setButtonUseUnderline obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-underline" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-underline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonUseUnderline :: (IsButton o) => Bool -> IO (GValueConstruct o)
+constructButtonUseUnderline val = B.Properties.constructObjectPropertyBool "use-underline" val
+
+#if ENABLE_OVERLOADING
+data ButtonUseUnderlinePropertyInfo
+instance AttrInfo ButtonUseUnderlinePropertyInfo where
+    type AttrAllowedOps ButtonUseUnderlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ButtonUseUnderlinePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ButtonUseUnderlinePropertyInfo = IsButton
+    type AttrGetType ButtonUseUnderlinePropertyInfo = Bool
+    type AttrLabel ButtonUseUnderlinePropertyInfo = "use-underline"
+    type AttrOrigin ButtonUseUnderlinePropertyInfo = Button
+    attrGet _ = getButtonUseUnderline
+    attrSet _ = setButtonUseUnderline
+    attrConstruct _ = constructButtonUseUnderline
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' button #xalign
+@
+-}
+getButtonXalign :: (MonadIO m, IsButton o) => o -> m Float
+getButtonXalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "xalign"
+
+{- |
+Set the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' button [ #xalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonXalign :: (MonadIO m, IsButton o) => o -> Float -> m ()
+setButtonXalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "xalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonXalign :: (IsButton o) => Float -> IO (GValueConstruct o)
+constructButtonXalign val = B.Properties.constructObjectPropertyFloat "xalign" val
+
+#if ENABLE_OVERLOADING
+data ButtonXalignPropertyInfo
+instance AttrInfo ButtonXalignPropertyInfo where
+    type AttrAllowedOps ButtonXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ButtonXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint ButtonXalignPropertyInfo = IsButton
+    type AttrGetType ButtonXalignPropertyInfo = Float
+    type AttrLabel ButtonXalignPropertyInfo = "xalign"
+    type AttrOrigin ButtonXalignPropertyInfo = Button
+    attrGet _ = getButtonXalign
+    attrSet _ = setButtonXalign
+    attrConstruct _ = constructButtonXalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "yalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' button #yalign
+@
+-}
+getButtonYalign :: (MonadIO m, IsButton o) => o -> m Float
+getButtonYalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "yalign"
+
+{- |
+Set the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' button [ #yalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonYalign :: (MonadIO m, IsButton o) => o -> Float -> m ()
+setButtonYalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "yalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@yalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonYalign :: (IsButton o) => Float -> IO (GValueConstruct o)
+constructButtonYalign val = B.Properties.constructObjectPropertyFloat "yalign" val
+
+#if ENABLE_OVERLOADING
+data ButtonYalignPropertyInfo
+instance AttrInfo ButtonYalignPropertyInfo where
+    type AttrAllowedOps ButtonYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ButtonYalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint ButtonYalignPropertyInfo = IsButton
+    type AttrGetType ButtonYalignPropertyInfo = Float
+    type AttrLabel ButtonYalignPropertyInfo = "yalign"
+    type AttrOrigin ButtonYalignPropertyInfo = Button
+    attrGet _ = getButtonYalign
+    attrSet _ = setButtonYalign
+    attrConstruct _ = constructButtonYalign
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Button
+type instance O.AttributeList Button = ButtonAttributeList
+type ButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("alwaysShowImage", ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", ButtonImagePropertyInfo), '("imagePosition", ButtonImagePositionPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useStock", ButtonUseStockPropertyInfo), '("useUnderline", ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", ButtonXalignPropertyInfo), '("yalign", ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+buttonAlwaysShowImage :: AttrLabelProxy "alwaysShowImage"
+buttonAlwaysShowImage = AttrLabelProxy
+
+buttonImage :: AttrLabelProxy "image"
+buttonImage = AttrLabelProxy
+
+buttonImagePosition :: AttrLabelProxy "imagePosition"
+buttonImagePosition = AttrLabelProxy
+
+buttonLabel :: AttrLabelProxy "label"
+buttonLabel = AttrLabelProxy
+
+buttonRelief :: AttrLabelProxy "relief"
+buttonRelief = AttrLabelProxy
+
+buttonUseStock :: AttrLabelProxy "useStock"
+buttonUseStock = AttrLabelProxy
+
+buttonUseUnderline :: AttrLabelProxy "useUnderline"
+buttonUseUnderline = AttrLabelProxy
+
+buttonXalign :: AttrLabelProxy "xalign"
+buttonXalign = AttrLabelProxy
+
+buttonYalign :: AttrLabelProxy "yalign"
+buttonYalign = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ButtonActivateSignalInfo
+instance SignalInfo ButtonActivateSignalInfo where
+    type HaskellCallbackType ButtonActivateSignalInfo = ButtonActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ButtonActivateCallback cb
+        cb'' <- mk_ButtonActivateCallback cb'
+        connectSignalFunPtr obj "activate" cb'' connectMode
+
+data ButtonClickedSignalInfo
+instance SignalInfo ButtonClickedSignalInfo where
+    type HaskellCallbackType ButtonClickedSignalInfo = ButtonClickedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ButtonClickedCallback cb
+        cb'' <- mk_ButtonClickedCallback cb'
+        connectSignalFunPtr obj "clicked" cb'' connectMode
+
+data ButtonEnterSignalInfo
+instance SignalInfo ButtonEnterSignalInfo where
+    type HaskellCallbackType ButtonEnterSignalInfo = ButtonEnterCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ButtonEnterCallback cb
+        cb'' <- mk_ButtonEnterCallback cb'
+        connectSignalFunPtr obj "enter" cb'' connectMode
+
+data ButtonLeaveSignalInfo
+instance SignalInfo ButtonLeaveSignalInfo where
+    type HaskellCallbackType ButtonLeaveSignalInfo = ButtonLeaveCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ButtonLeaveCallback cb
+        cb'' <- mk_ButtonLeaveCallback cb'
+        connectSignalFunPtr obj "leave" cb'' connectMode
+
+data ButtonPressedSignalInfo
+instance SignalInfo ButtonPressedSignalInfo where
+    type HaskellCallbackType ButtonPressedSignalInfo = ButtonPressedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ButtonPressedCallback cb
+        cb'' <- mk_ButtonPressedCallback cb'
+        connectSignalFunPtr obj "pressed" cb'' connectMode
+
+data ButtonReleasedSignalInfo
+instance SignalInfo ButtonReleasedSignalInfo where
+    type HaskellCallbackType ButtonReleasedSignalInfo = ButtonReleasedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ButtonReleasedCallback cb
+        cb'' <- mk_ButtonReleasedCallback cb'
+        connectSignalFunPtr obj "released" cb'' connectMode
+
+type instance O.SignalList Button = ButtonSignalList
+type ButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Button::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Button"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_new" gtk_button_new :: 
+    IO (Ptr Button)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Button.Button' widget. To add a child widget to the button,
+use 'GI.Gtk.Objects.Container.containerAdd'.
+-}
+buttonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Button
+    {- ^ __Returns:__ The newly created 'GI.Gtk.Objects.Button.Button' widget. -}
+buttonNew  = liftIO $ do
+    result <- gtk_button_new
+    checkUnexpectedReturnNULL "buttonNew" result
+    result' <- (newObject Button) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Button::new_from_icon_name
+-- method type : Constructor
+-- Args : [Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an icon name or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Button"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_new_from_icon_name" gtk_button_new_from_icon_name :: 
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr Button)
+
+{- |
+Creates a new button containing an icon from the current icon theme.
+
+If the icon name isn’t known, a “broken image” icon will be
+displayed instead. If the current icon theme is changed, the icon
+will be updated appropriately.
+
+This function is a convenience wrapper around 'GI.Gtk.Objects.Button.buttonNew' and
+'GI.Gtk.Objects.Button.buttonSetImage'.
+
+/Since: 3.10/
+-}
+buttonNewFromIconName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@iconName@/: an icon name or 'Nothing' -}
+    -> Int32
+    {- ^ /@size@/: an icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m Button
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Button.Button' displaying the themed icon -}
+buttonNewFromIconName iconName size = liftIO $ do
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    result <- gtk_button_new_from_icon_name maybeIconName size
+    checkUnexpectedReturnNULL "buttonNewFromIconName" result
+    result' <- (newObject Button) result
+    freeMem maybeIconName
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Button::new_from_stock
+-- method type : Constructor
+-- Args : [Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the stock item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Button"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_new_from_stock" gtk_button_new_from_stock :: 
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr Button)
+
+{-# DEPRECATED buttonNewFromStock ["(Since version 3.10)","Stock items are deprecated. Use 'GI.Gtk.Objects.Button.buttonNewWithLabel'","instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.Button.Button' containing the image and text from a
+[stock item][gtkstock].
+Some stock ids have preprocessor macros like 'GI.Gtk.Constants.STOCK_OK' and
+'GI.Gtk.Constants.STOCK_APPLY'.
+
+If /@stockId@/ is unknown, then it will be treated as a mnemonic
+label (as for 'GI.Gtk.Objects.Button.buttonNewWithMnemonic').
+-}
+buttonNewFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@stockId@/: the name of the stock item -}
+    -> m Button
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Button.Button' -}
+buttonNewFromStock stockId = liftIO $ do
+    stockId' <- textToCString stockId
+    result <- gtk_button_new_from_stock stockId'
+    checkUnexpectedReturnNULL "buttonNewFromStock" result
+    result' <- (newObject Button) result
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Button::new_with_label
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The text you want the #GtkLabel to hold.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Button"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_new_with_label" gtk_button_new_with_label :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr Button)
+
+{- |
+Creates a 'GI.Gtk.Objects.Button.Button' widget with a 'GI.Gtk.Objects.Label.Label' child containing the given
+text.
+-}
+buttonNewWithLabel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: The text you want the 'GI.Gtk.Objects.Label.Label' to hold. -}
+    -> m Button
+    {- ^ __Returns:__ The newly created 'GI.Gtk.Objects.Button.Button' widget. -}
+buttonNewWithLabel label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_button_new_with_label label'
+    checkUnexpectedReturnNULL "buttonNewWithLabel" result
+    result' <- (newObject Button) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Button::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The text of the button, with an underscore in front of the\n        mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Button"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_new_with_mnemonic" gtk_button_new_with_mnemonic :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr Button)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Button.Button' containing a label.
+If characters in /@label@/ are preceded by an underscore, they are underlined.
+If you need a literal underscore character in a label, use “__” (two
+underscores). The first underlined character represents a keyboard
+accelerator called a mnemonic.
+Pressing Alt and that key activates the button.
+-}
+buttonNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: The text of the button, with an underscore in front of the
+        mnemonic character -}
+    -> m Button
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Button.Button' -}
+buttonNewWithMnemonic label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_button_new_with_mnemonic label'
+    checkUnexpectedReturnNULL "buttonNewWithMnemonic" result
+    result' <- (newObject Button) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Button::clicked
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkButton you want to send the signal to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_clicked" gtk_button_clicked :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO ()
+
+{- |
+Emits a 'GI.Gtk.Objects.Button.Button'::@/clicked/@ signal to the given 'GI.Gtk.Objects.Button.Button'.
+-}
+buttonClicked ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: The 'GI.Gtk.Objects.Button.Button' you want to send the signal to. -}
+    -> m ()
+buttonClicked button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    gtk_button_clicked button'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonClickedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonClickedMethodInfo a signature where
+    overloadedMethod _ = buttonClicked
+
+#endif
+
+-- method Button::enter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkButton you want to send the signal to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_enter" gtk_button_enter :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO ()
+
+{-# DEPRECATED buttonEnter ["(Since version 2.20)","Use the 'GI.Gtk.Objects.Widget.Widget'::@/enter-notify-event/@ signal."] #-}
+{- |
+Emits a 'GI.Gtk.Objects.Button.Button'::@/enter/@ signal to the given 'GI.Gtk.Objects.Button.Button'.
+-}
+buttonEnter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: The 'GI.Gtk.Objects.Button.Button' you want to send the signal to. -}
+    -> m ()
+buttonEnter button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    gtk_button_enter button'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonEnterMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonEnterMethodInfo a signature where
+    overloadedMethod _ = buttonEnter
+
+#endif
+
+-- method Button::get_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for horizontal alignment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for vertical alignment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_alignment" gtk_button_get_alignment :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    Ptr CFloat ->                           -- xalign : TBasicType TFloat
+    Ptr CFloat ->                           -- yalign : TBasicType TFloat
+    IO ()
+
+{-# DEPRECATED buttonGetAlignment ["(Since version 3.14)","Access the child widget directly if you need to control","its alignment."] #-}
+{- |
+Gets the alignment of the child in the button.
+
+/Since: 2.4/
+-}
+buttonGetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> m ((Float, Float))
+buttonGetAlignment button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    xalign <- allocMem :: IO (Ptr CFloat)
+    yalign <- allocMem :: IO (Ptr CFloat)
+    gtk_button_get_alignment button' xalign yalign
+    xalign' <- peek xalign
+    let xalign'' = realToFrac xalign'
+    yalign' <- peek yalign
+    let yalign'' = realToFrac yalign'
+    touchManagedPtr button
+    freeMem xalign
+    freeMem yalign
+    return (xalign'', yalign'')
+
+#if ENABLE_OVERLOADING
+data ButtonGetAlignmentMethodInfo
+instance (signature ~ (m ((Float, Float))), MonadIO m, IsButton a) => O.MethodInfo ButtonGetAlignmentMethodInfo a signature where
+    overloadedMethod _ = buttonGetAlignment
+
+#endif
+
+-- method Button::get_always_show_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_always_show_image" gtk_button_get_always_show_image :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO CInt
+
+{- |
+Returns whether the button will ignore the 'GI.Gtk.Objects.Settings.Settings':@/gtk-button-images/@
+setting and always show the image, if available.
+
+/Since: 3.6/
+-}
+buttonGetAlwaysShowImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the button will always show the image -}
+buttonGetAlwaysShowImage button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_button_get_always_show_image button'
+    let result' = (/= 0) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonGetAlwaysShowImageMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsButton a) => O.MethodInfo ButtonGetAlwaysShowImageMethodInfo a signature where
+    overloadedMethod _ = buttonGetAlwaysShowImage
+
+#endif
+
+-- method Button::get_event_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_event_window" gtk_button_get_event_window :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Returns the button’s event window if it is realized, 'Nothing' otherwise.
+This function should be rarely needed.
+
+/Since: 2.22/
+-}
+buttonGetEventWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> m Gdk.Window.Window
+    {- ^ __Returns:__ /@button@/’s event window. -}
+buttonGetEventWindow button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_button_get_event_window button'
+    checkUnexpectedReturnNULL "buttonGetEventWindow" result
+    result' <- (newObject Gdk.Window.Window) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonGetEventWindowMethodInfo
+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsButton a) => O.MethodInfo ButtonGetEventWindowMethodInfo a signature where
+    overloadedMethod _ = buttonGetEventWindow
+
+#endif
+
+-- method Button::get_focus_on_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_focus_on_click" gtk_button_get_focus_on_click :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO CInt
+
+{-# DEPRECATED buttonGetFocusOnClick ["(Since version 3.20)","Use 'GI.Gtk.Objects.Widget.widgetGetFocusOnClick' instead"] #-}
+{- |
+Returns whether the button grabs focus when it is clicked with the mouse.
+See 'GI.Gtk.Objects.Button.buttonSetFocusOnClick'.
+
+/Since: 2.4/
+-}
+buttonGetFocusOnClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the button grabs focus when it is clicked with
+              the mouse. -}
+buttonGetFocusOnClick button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_button_get_focus_on_click button'
+    let result' = (/= 0) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonGetFocusOnClickMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsButton a) => O.MethodInfo ButtonGetFocusOnClickMethodInfo a signature where
+    overloadedMethod _ = buttonGetFocusOnClick
+
+#endif
+
+-- method Button::get_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_image" gtk_button_get_image :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the widget that is currenty set as the image of /@button@/.
+This may have been explicitly set by 'GI.Gtk.Objects.Button.buttonSetImage'
+or constructed by 'GI.Gtk.Objects.Button.buttonNewFromStock'.
+
+/Since: 2.6/
+-}
+buttonGetImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' or 'Nothing' in case
+    there is no image -}
+buttonGetImage button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_button_get_image button'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr button
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ButtonGetImageMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsButton a) => O.MethodInfo ButtonGetImageMethodInfo a signature where
+    overloadedMethod _ = buttonGetImage
+
+#endif
+
+-- method Button::get_image_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PositionType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_image_position" gtk_button_get_image_position :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO CUInt
+
+{- |
+Gets the position of the image relative to the text
+inside the button.
+
+/Since: 2.10/
+-}
+buttonGetImagePosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> m Gtk.Enums.PositionType
+    {- ^ __Returns:__ the position -}
+buttonGetImagePosition button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_button_get_image_position button'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonGetImagePositionMethodInfo
+instance (signature ~ (m Gtk.Enums.PositionType), MonadIO m, IsButton a) => O.MethodInfo ButtonGetImagePositionMethodInfo a signature where
+    overloadedMethod _ = buttonGetImagePosition
+
+#endif
+
+-- method Button::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_label" gtk_button_get_label :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO CString
+
+{- |
+Fetches the text from the label of the button, as set by
+'GI.Gtk.Objects.Button.buttonSetLabel'. If the label text has not
+been set the return value will be 'Nothing'. This will be the
+case if you create an empty button with 'GI.Gtk.Objects.Button.buttonNew' to
+use as a container.
+-}
+buttonGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> m T.Text
+    {- ^ __Returns:__ The text of the label widget. This string is owned
+by the widget and must not be modified or freed. -}
+buttonGetLabel button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_button_get_label button'
+    checkUnexpectedReturnNULL "buttonGetLabel" result
+    result' <- cstringToText result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonGetLabelMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsButton a) => O.MethodInfo ButtonGetLabelMethodInfo a signature where
+    overloadedMethod _ = buttonGetLabel
+
+#endif
+
+-- method Button::get_relief
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkButton you want the #GtkReliefStyle from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ReliefStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_relief" gtk_button_get_relief :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO CUInt
+
+{- |
+Returns the current relief style of the given 'GI.Gtk.Objects.Button.Button'.
+-}
+buttonGetRelief ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: The 'GI.Gtk.Objects.Button.Button' you want the 'GI.Gtk.Enums.ReliefStyle' from. -}
+    -> m Gtk.Enums.ReliefStyle
+    {- ^ __Returns:__ The current 'GI.Gtk.Enums.ReliefStyle' -}
+buttonGetRelief button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_button_get_relief button'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonGetReliefMethodInfo
+instance (signature ~ (m Gtk.Enums.ReliefStyle), MonadIO m, IsButton a) => O.MethodInfo ButtonGetReliefMethodInfo a signature where
+    overloadedMethod _ = buttonGetRelief
+
+#endif
+
+-- method Button::get_use_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_use_stock" gtk_button_get_use_stock :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO CInt
+
+{-# DEPRECATED buttonGetUseStock ["(Since version 3.10)"] #-}
+{- |
+Returns whether the button label is a stock item.
+-}
+buttonGetUseStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the button label is used to
+              select a stock item instead of being
+              used directly as the label text. -}
+buttonGetUseStock button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_button_get_use_stock button'
+    let result' = (/= 0) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonGetUseStockMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsButton a) => O.MethodInfo ButtonGetUseStockMethodInfo a signature where
+    overloadedMethod _ = buttonGetUseStock
+
+#endif
+
+-- method Button::get_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_get_use_underline" gtk_button_get_use_underline :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO CInt
+
+{- |
+Returns whether an embedded underline in the button label indicates a
+mnemonic. See gtk_button_set_use_underline ().
+-}
+buttonGetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if an embedded underline in the button label
+              indicates the mnemonic accelerator keys. -}
+buttonGetUseUnderline button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_button_get_use_underline button'
+    let result' = (/= 0) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonGetUseUnderlineMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsButton a) => O.MethodInfo ButtonGetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = buttonGetUseUnderline
+
+#endif
+
+-- method Button::leave
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkButton you want to send the signal to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_leave" gtk_button_leave :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO ()
+
+{-# DEPRECATED buttonLeave ["(Since version 2.20)","Use the 'GI.Gtk.Objects.Widget.Widget'::@/leave-notify-event/@ signal."] #-}
+{- |
+Emits a 'GI.Gtk.Objects.Button.Button'::@/leave/@ signal to the given 'GI.Gtk.Objects.Button.Button'.
+-}
+buttonLeave ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: The 'GI.Gtk.Objects.Button.Button' you want to send the signal to. -}
+    -> m ()
+buttonLeave button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    gtk_button_leave button'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonLeaveMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonLeaveMethodInfo a signature where
+    overloadedMethod _ = buttonLeave
+
+#endif
+
+-- method Button::pressed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkButton you want to send the signal to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_pressed" gtk_button_pressed :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO ()
+
+{-# DEPRECATED buttonPressed ["(Since version 2.20)","Use the 'GI.Gtk.Objects.Widget.Widget'::@/button-press-event/@ signal."] #-}
+{- |
+Emits a 'GI.Gtk.Objects.Button.Button'::@/pressed/@ signal to the given 'GI.Gtk.Objects.Button.Button'.
+-}
+buttonPressed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: The 'GI.Gtk.Objects.Button.Button' you want to send the signal to. -}
+    -> m ()
+buttonPressed button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    gtk_button_pressed button'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonPressedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonPressedMethodInfo a signature where
+    overloadedMethod _ = buttonPressed
+
+#endif
+
+-- method Button::released
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkButton you want to send the signal to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_released" gtk_button_released :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    IO ()
+
+{-# DEPRECATED buttonReleased ["(Since version 2.20)","Use the 'GI.Gtk.Objects.Widget.Widget'::@/button-release-event/@ signal."] #-}
+{- |
+Emits a 'GI.Gtk.Objects.Button.Button'::@/released/@ signal to the given 'GI.Gtk.Objects.Button.Button'.
+-}
+buttonReleased ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: The 'GI.Gtk.Objects.Button.Button' you want to send the signal to. -}
+    -> m ()
+buttonReleased button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    gtk_button_released button'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonReleasedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonReleasedMethodInfo a signature where
+    overloadedMethod _ = buttonReleased
+
+#endif
+
+-- method Button::set_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal position of the child, 0.0 is left aligned,\n  1.0 is right aligned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical position of the child, 0.0 is top aligned,\n  1.0 is bottom aligned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_set_alignment" gtk_button_set_alignment :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    CFloat ->                               -- xalign : TBasicType TFloat
+    CFloat ->                               -- yalign : TBasicType TFloat
+    IO ()
+
+{-# DEPRECATED buttonSetAlignment ["(Since version 3.14)","Access the child widget directly if you need to control","its alignment."] #-}
+{- |
+Sets the alignment of the child. This property has no effect unless
+the child is a 'GI.Gtk.Objects.Misc.Misc' or a 'GI.Gtk.Objects.Alignment.Alignment'.
+
+/Since: 2.4/
+-}
+buttonSetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> Float
+    {- ^ /@xalign@/: the horizontal position of the child, 0.0 is left aligned,
+  1.0 is right aligned -}
+    -> Float
+    {- ^ /@yalign@/: the vertical position of the child, 0.0 is top aligned,
+  1.0 is bottom aligned -}
+    -> m ()
+buttonSetAlignment button xalign yalign = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    gtk_button_set_alignment button' xalign' yalign'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonSetAlignmentMethodInfo
+instance (signature ~ (Float -> Float -> m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonSetAlignmentMethodInfo a signature where
+    overloadedMethod _ = buttonSetAlignment
+
+#endif
+
+-- method Button::set_always_show_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "always_show", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the menuitem should always show the image", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_set_always_show_image" gtk_button_set_always_show_image :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    CInt ->                                 -- always_show : TBasicType TBoolean
+    IO ()
+
+{- |
+If 'True', the button will ignore the 'GI.Gtk.Objects.Settings.Settings':@/gtk-button-images/@
+setting and always show the image, if available.
+
+Use this property if the button  would be useless or hard to use
+without the image.
+
+/Since: 3.6/
+-}
+buttonSetAlwaysShowImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> Bool
+    {- ^ /@alwaysShow@/: 'True' if the menuitem should always show the image -}
+    -> m ()
+buttonSetAlwaysShowImage button alwaysShow = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let alwaysShow' = (fromIntegral . fromEnum) alwaysShow
+    gtk_button_set_always_show_image button' alwaysShow'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonSetAlwaysShowImageMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonSetAlwaysShowImageMethodInfo a signature where
+    overloadedMethod _ = buttonSetAlwaysShowImage
+
+#endif
+
+-- method Button::set_focus_on_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_on_click", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the button grabs focus when clicked with the mouse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_set_focus_on_click" gtk_button_set_focus_on_click :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    CInt ->                                 -- focus_on_click : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED buttonSetFocusOnClick ["(Since version 3.20)","Use 'GI.Gtk.Objects.Widget.widgetSetFocusOnClick' instead"] #-}
+{- |
+Sets whether the button will grab focus when it is clicked with the mouse.
+Making mouse clicks not grab focus is useful in places like toolbars where
+you don’t want the keyboard focus removed from the main area of the
+application.
+
+/Since: 2.4/
+-}
+buttonSetFocusOnClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> Bool
+    {- ^ /@focusOnClick@/: whether the button grabs focus when clicked with the mouse -}
+    -> m ()
+buttonSetFocusOnClick button focusOnClick = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let focusOnClick' = (fromIntegral . fromEnum) focusOnClick
+    gtk_button_set_focus_on_click button' focusOnClick'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonSetFocusOnClickMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonSetFocusOnClickMethodInfo a signature where
+    overloadedMethod _ = buttonSetFocusOnClick
+
+#endif
+
+-- method Button::set_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a widget to set as the image for the button, or %NULL to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_set_image" gtk_button_set_image :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    Ptr Gtk.Widget.Widget ->                -- image : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Set the image of /@button@/ to the given widget. The image will be
+displayed if the label text is 'Nothing' or if
+'GI.Gtk.Objects.Button.Button':@/always-show-image/@ is 'True'. You don’t have to call
+'GI.Gtk.Objects.Widget.widgetShow' on /@image@/ yourself.
+
+/Since: 2.6/
+-}
+buttonSetImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> Maybe (b)
+    {- ^ /@image@/: a widget to set as the image for the button, or 'Nothing' to unset -}
+    -> m ()
+buttonSetImage button image = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    maybeImage <- case image of
+        Nothing -> return nullPtr
+        Just jImage -> do
+            jImage' <- unsafeManagedPtrCastPtr jImage
+            return jImage'
+    gtk_button_set_image button' maybeImage
+    touchManagedPtr button
+    whenJust image touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonSetImageMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsButton a, Gtk.Widget.IsWidget b) => O.MethodInfo ButtonSetImageMethodInfo a signature where
+    overloadedMethod _ = buttonSetImage
+
+#endif
+
+-- method Button::set_image_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_set_image_position" gtk_button_set_image_position :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    CUInt ->                                -- position : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    IO ()
+
+{- |
+Sets the position of the image relative to the text
+inside the button.
+
+/Since: 2.10/
+-}
+buttonSetImagePosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@position@/: the position -}
+    -> m ()
+buttonSetImagePosition button position = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let position' = (fromIntegral . fromEnum) position
+    gtk_button_set_image_position button' position'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonSetImagePositionMethodInfo
+instance (signature ~ (Gtk.Enums.PositionType -> m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonSetImagePositionMethodInfo a signature where
+    overloadedMethod _ = buttonSetImagePosition
+
+#endif
+
+-- method Button::set_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_set_label" gtk_button_set_label :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text of the label of the button to /@str@/. This text is
+also used to select the stock item if 'GI.Gtk.Objects.Button.buttonSetUseStock'
+is used.
+
+This will also clear any previously set labels.
+-}
+buttonSetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> T.Text
+    {- ^ /@label@/: a string -}
+    -> m ()
+buttonSetLabel button label = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    label' <- textToCString label
+    gtk_button_set_label button' label'
+    touchManagedPtr button
+    freeMem label'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonSetLabelMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonSetLabelMethodInfo a signature where
+    overloadedMethod _ = buttonSetLabel
+
+#endif
+
+-- method Button::set_relief
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkButton you want to set relief styles of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relief", argType = TInterface (Name {namespace = "Gtk", name = "ReliefStyle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GtkReliefStyle as described above", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_set_relief" gtk_button_set_relief :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    CUInt ->                                -- relief : TInterface (Name {namespace = "Gtk", name = "ReliefStyle"})
+    IO ()
+
+{- |
+Sets the relief style of the edges of the given 'GI.Gtk.Objects.Button.Button' widget.
+Two styles exist, 'GI.Gtk.Enums.ReliefStyleNormal' and 'GI.Gtk.Enums.ReliefStyleNone'.
+The default style is, as one can guess, 'GI.Gtk.Enums.ReliefStyleNormal'.
+The deprecated value 'GI.Gtk.Enums.ReliefStyleHalf' behaves the same as
+'GI.Gtk.Enums.ReliefStyleNormal'.
+-}
+buttonSetRelief ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: The 'GI.Gtk.Objects.Button.Button' you want to set relief styles of -}
+    -> Gtk.Enums.ReliefStyle
+    {- ^ /@relief@/: The GtkReliefStyle as described above -}
+    -> m ()
+buttonSetRelief button relief = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let relief' = (fromIntegral . fromEnum) relief
+    gtk_button_set_relief button' relief'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonSetReliefMethodInfo
+instance (signature ~ (Gtk.Enums.ReliefStyle -> m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonSetReliefMethodInfo a signature where
+    overloadedMethod _ = buttonSetRelief
+
+#endif
+
+-- method Button::set_use_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_stock", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the button should use a stock item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_set_use_stock" gtk_button_set_use_stock :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    CInt ->                                 -- use_stock : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED buttonSetUseStock ["(Since version 3.10)"] #-}
+{- |
+If 'True', the label set on the button is used as a
+stock id to select the stock item for the button.
+-}
+buttonSetUseStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> Bool
+    {- ^ /@useStock@/: 'True' if the button should use a stock item -}
+    -> m ()
+buttonSetUseStock button useStock = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let useStock' = (fromIntegral . fromEnum) useStock
+    gtk_button_set_use_stock button' useStock'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonSetUseStockMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonSetUseStockMethodInfo a signature where
+    overloadedMethod _ = buttonSetUseStock
+
+#endif
+
+-- method Button::set_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "Button"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_underline", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if underlines in the text indicate mnemonics", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_set_use_underline" gtk_button_set_use_underline :: 
+    Ptr Button ->                           -- button : TInterface (Name {namespace = "Gtk", name = "Button"})
+    CInt ->                                 -- use_underline : TBasicType TBoolean
+    IO ()
+
+{- |
+If true, an underline in the text of the button label indicates
+the next character should be used for the mnemonic accelerator key.
+-}
+buttonSetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.Button.Button' -}
+    -> Bool
+    {- ^ /@useUnderline@/: 'True' if underlines in the text indicate mnemonics -}
+    -> m ()
+buttonSetUseUnderline button useUnderline = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let useUnderline' = (fromIntegral . fromEnum) useUnderline
+    gtk_button_set_use_underline button' useUnderline'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonSetUseUnderlineMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsButton a) => O.MethodInfo ButtonSetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = buttonSetUseUnderline
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Button.hs-boot b/GI/Gtk/Objects/Button.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Button.hs-boot
@@ -0,0 +1,146 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Button where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Button = Button (ManagedPtr Button)
+instance GObject Button where
+class (GObject o, O.IsDescendantOf Button o) => IsButton o
+instance (GObject o, O.IsDescendantOf Button o) => IsButton o
+instance O.HasParentTypes Button
+#if ENABLE_OVERLOADING
+data ButtonAlwaysShowImagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonImagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonImagePositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonReliefPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonUseStockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonUseUnderlinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonXalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonYalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonClickedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonEnterSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonLeaveSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonPressedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonReleasedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonClickedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonEnterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetAlwaysShowImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetEventWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetFocusOnClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetImagePositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetReliefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetUseStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonGetUseUnderlineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonLeaveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonPressedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonReleasedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonSetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonSetAlwaysShowImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonSetFocusOnClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonSetImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonSetImagePositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonSetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonSetReliefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonSetUseStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonSetUseUnderlineMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ButtonAccessible.hs b/GI/Gtk/Objects/ButtonAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ButtonAccessible.hs
@@ -0,0 +1,176 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ButtonAccessible
+    ( 
+
+-- * Exported types
+    ButtonAccessible(..)                    ,
+    IsButtonAccessible                      ,
+    toButtonAccessible                      ,
+    noButtonAccessible                      ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ButtonAccessible = ButtonAccessible (ManagedPtr ButtonAccessible)
+foreign import ccall "gtk_button_accessible_get_type"
+    c_gtk_button_accessible_get_type :: IO GType
+
+instance GObject ButtonAccessible where
+    gobjectType = c_gtk_button_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ButtonAccessible`, for instance with `toButtonAccessible`.
+class (GObject o, O.IsDescendantOf ButtonAccessible o) => IsButtonAccessible o
+instance (GObject o, O.IsDescendantOf ButtonAccessible o) => IsButtonAccessible o
+
+instance O.HasParentTypes ButtonAccessible
+type instance O.ParentTypes ButtonAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Image.Image]
+
+-- | Cast to `ButtonAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toButtonAccessible :: (MonadIO m, IsButtonAccessible o) => o -> m ButtonAccessible
+toButtonAccessible = liftIO . unsafeCastTo ButtonAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ButtonAccessible`.
+noButtonAccessible :: Maybe ButtonAccessible
+noButtonAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveButtonAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveButtonAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveButtonAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveButtonAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveButtonAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveButtonAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveButtonAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveButtonAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveButtonAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveButtonAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveButtonAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveButtonAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveButtonAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveButtonAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveButtonAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveButtonAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveButtonAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveButtonAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveButtonAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveButtonAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveButtonAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveButtonAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveButtonAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveButtonAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveButtonAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveButtonAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveButtonAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveButtonAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveButtonAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveButtonAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveButtonAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveButtonAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveButtonAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveButtonAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveButtonAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveButtonAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveButtonAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveButtonAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveButtonAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveButtonAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveButtonAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveButtonAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveButtonAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveButtonAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveButtonAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveButtonAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveButtonAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveButtonAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveButtonAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveButtonAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveButtonAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveButtonAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveButtonAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveButtonAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveButtonAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveButtonAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveButtonAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveButtonAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveButtonAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveButtonAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveButtonAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveButtonAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveButtonAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveButtonAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveButtonAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveButtonAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveButtonAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveButtonAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveButtonAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveButtonAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveButtonAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveButtonAccessibleMethod t ButtonAccessible, O.MethodInfo info ButtonAccessible p) => OL.IsLabel t (ButtonAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ButtonAccessible
+type instance O.AttributeList ButtonAccessible = ButtonAccessibleAttributeList
+type ButtonAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ButtonAccessible = ButtonAccessibleSignalList
+type ButtonAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ButtonAccessible.hs-boot b/GI/Gtk/Objects/ButtonAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ButtonAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ButtonAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ButtonAccessible = ButtonAccessible (ManagedPtr ButtonAccessible)
+instance GObject ButtonAccessible where
+class (GObject o, O.IsDescendantOf ButtonAccessible o) => IsButtonAccessible o
+instance (GObject o, O.IsDescendantOf ButtonAccessible o) => IsButtonAccessible o
+instance O.HasParentTypes ButtonAccessible
diff --git a/GI/Gtk/Objects/ButtonBox.hs b/GI/Gtk/Objects/ButtonBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ButtonBox.hs
@@ -0,0 +1,857 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ButtonBox
+    ( 
+
+-- * Exported types
+    ButtonBox(..)                           ,
+    IsButtonBox                             ,
+    toButtonBox                             ,
+    noButtonBox                             ,
+
+
+ -- * Methods
+-- ** getChildNonHomogeneous #method:getChildNonHomogeneous#
+
+#if ENABLE_OVERLOADING
+    ButtonBoxGetChildNonHomogeneousMethodInfo,
+#endif
+    buttonBoxGetChildNonHomogeneous         ,
+
+
+-- ** getChildSecondary #method:getChildSecondary#
+
+#if ENABLE_OVERLOADING
+    ButtonBoxGetChildSecondaryMethodInfo    ,
+#endif
+    buttonBoxGetChildSecondary              ,
+
+
+-- ** getLayout #method:getLayout#
+
+#if ENABLE_OVERLOADING
+    ButtonBoxGetLayoutMethodInfo            ,
+#endif
+    buttonBoxGetLayout                      ,
+
+
+-- ** new #method:new#
+
+    buttonBoxNew                            ,
+
+
+-- ** setChildNonHomogeneous #method:setChildNonHomogeneous#
+
+#if ENABLE_OVERLOADING
+    ButtonBoxSetChildNonHomogeneousMethodInfo,
+#endif
+    buttonBoxSetChildNonHomogeneous         ,
+
+
+-- ** setChildSecondary #method:setChildSecondary#
+
+#if ENABLE_OVERLOADING
+    ButtonBoxSetChildSecondaryMethodInfo    ,
+#endif
+    buttonBoxSetChildSecondary              ,
+
+
+-- ** setLayout #method:setLayout#
+
+#if ENABLE_OVERLOADING
+    ButtonBoxSetLayoutMethodInfo            ,
+#endif
+    buttonBoxSetLayout                      ,
+
+
+
+
+ -- * Properties
+-- ** layoutStyle #attr:layoutStyle#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ButtonBoxLayoutStylePropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    buttonBoxLayoutStyle                    ,
+#endif
+    constructButtonBoxLayoutStyle           ,
+    getButtonBoxLayoutStyle                 ,
+    setButtonBoxLayoutStyle                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ButtonBox = ButtonBox (ManagedPtr ButtonBox)
+foreign import ccall "gtk_button_box_get_type"
+    c_gtk_button_box_get_type :: IO GType
+
+instance GObject ButtonBox where
+    gobjectType = c_gtk_button_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `ButtonBox`, for instance with `toButtonBox`.
+class (GObject o, O.IsDescendantOf ButtonBox o) => IsButtonBox o
+instance (GObject o, O.IsDescendantOf ButtonBox o) => IsButtonBox o
+
+instance O.HasParentTypes ButtonBox
+type instance O.ParentTypes ButtonBox = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `ButtonBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toButtonBox :: (MonadIO m, IsButtonBox o) => o -> m ButtonBox
+toButtonBox = liftIO . unsafeCastTo ButtonBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ButtonBox`.
+noButtonBox :: Maybe ButtonBox
+noButtonBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveButtonBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveButtonBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveButtonBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveButtonBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveButtonBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveButtonBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveButtonBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveButtonBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveButtonBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveButtonBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveButtonBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveButtonBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveButtonBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveButtonBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveButtonBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveButtonBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveButtonBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveButtonBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveButtonBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveButtonBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveButtonBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveButtonBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveButtonBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveButtonBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveButtonBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveButtonBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveButtonBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveButtonBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveButtonBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveButtonBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveButtonBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveButtonBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveButtonBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveButtonBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveButtonBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveButtonBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveButtonBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveButtonBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveButtonBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveButtonBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveButtonBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveButtonBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveButtonBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveButtonBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveButtonBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveButtonBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveButtonBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveButtonBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveButtonBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveButtonBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveButtonBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveButtonBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveButtonBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveButtonBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveButtonBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveButtonBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveButtonBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveButtonBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveButtonBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveButtonBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveButtonBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveButtonBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveButtonBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveButtonBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveButtonBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveButtonBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveButtonBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveButtonBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveButtonBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveButtonBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveButtonBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveButtonBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveButtonBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveButtonBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveButtonBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveButtonBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveButtonBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveButtonBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveButtonBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveButtonBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveButtonBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveButtonBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveButtonBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveButtonBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveButtonBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveButtonBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveButtonBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveButtonBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveButtonBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveButtonBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveButtonBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveButtonBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveButtonBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveButtonBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveButtonBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveButtonBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveButtonBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveButtonBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveButtonBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveButtonBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveButtonBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveButtonBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveButtonBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveButtonBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveButtonBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveButtonBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveButtonBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveButtonBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveButtonBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveButtonBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveButtonBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveButtonBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveButtonBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveButtonBoxMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveButtonBoxMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveButtonBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveButtonBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveButtonBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveButtonBoxMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveButtonBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveButtonBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveButtonBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveButtonBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveButtonBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveButtonBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveButtonBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveButtonBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveButtonBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveButtonBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveButtonBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveButtonBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveButtonBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveButtonBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveButtonBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveButtonBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveButtonBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveButtonBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveButtonBoxMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveButtonBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveButtonBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveButtonBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveButtonBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveButtonBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveButtonBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveButtonBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveButtonBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveButtonBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveButtonBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveButtonBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveButtonBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveButtonBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveButtonBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveButtonBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveButtonBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveButtonBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveButtonBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveButtonBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveButtonBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveButtonBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveButtonBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveButtonBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveButtonBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveButtonBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveButtonBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveButtonBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveButtonBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveButtonBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveButtonBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveButtonBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveButtonBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveButtonBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveButtonBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveButtonBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveButtonBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveButtonBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveButtonBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveButtonBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveButtonBoxMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveButtonBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveButtonBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveButtonBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveButtonBoxMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveButtonBoxMethod "getChildNonHomogeneous" o = ButtonBoxGetChildNonHomogeneousMethodInfo
+    ResolveButtonBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveButtonBoxMethod "getChildSecondary" o = ButtonBoxGetChildSecondaryMethodInfo
+    ResolveButtonBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveButtonBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveButtonBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveButtonBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveButtonBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveButtonBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveButtonBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveButtonBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveButtonBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveButtonBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveButtonBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveButtonBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveButtonBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveButtonBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveButtonBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveButtonBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveButtonBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveButtonBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveButtonBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveButtonBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveButtonBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveButtonBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveButtonBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveButtonBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveButtonBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveButtonBoxMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveButtonBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveButtonBoxMethod "getLayout" o = ButtonBoxGetLayoutMethodInfo
+    ResolveButtonBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveButtonBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveButtonBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveButtonBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveButtonBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveButtonBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveButtonBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveButtonBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveButtonBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveButtonBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveButtonBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveButtonBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveButtonBoxMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveButtonBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveButtonBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveButtonBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveButtonBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveButtonBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveButtonBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveButtonBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveButtonBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveButtonBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveButtonBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveButtonBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveButtonBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveButtonBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveButtonBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveButtonBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveButtonBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveButtonBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveButtonBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveButtonBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveButtonBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveButtonBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveButtonBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveButtonBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveButtonBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveButtonBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveButtonBoxMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveButtonBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveButtonBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveButtonBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveButtonBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveButtonBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveButtonBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveButtonBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveButtonBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveButtonBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveButtonBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveButtonBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveButtonBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveButtonBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveButtonBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveButtonBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveButtonBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveButtonBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveButtonBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveButtonBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveButtonBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveButtonBoxMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveButtonBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveButtonBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveButtonBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveButtonBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveButtonBoxMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveButtonBoxMethod "setChildNonHomogeneous" o = ButtonBoxSetChildNonHomogeneousMethodInfo
+    ResolveButtonBoxMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveButtonBoxMethod "setChildSecondary" o = ButtonBoxSetChildSecondaryMethodInfo
+    ResolveButtonBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveButtonBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveButtonBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveButtonBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveButtonBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveButtonBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveButtonBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveButtonBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveButtonBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveButtonBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveButtonBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveButtonBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveButtonBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveButtonBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveButtonBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveButtonBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveButtonBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveButtonBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveButtonBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveButtonBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveButtonBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveButtonBoxMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveButtonBoxMethod "setLayout" o = ButtonBoxSetLayoutMethodInfo
+    ResolveButtonBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveButtonBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveButtonBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveButtonBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveButtonBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveButtonBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveButtonBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveButtonBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveButtonBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveButtonBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveButtonBoxMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveButtonBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveButtonBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveButtonBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveButtonBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveButtonBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveButtonBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveButtonBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveButtonBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveButtonBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveButtonBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveButtonBoxMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveButtonBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveButtonBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveButtonBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveButtonBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveButtonBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveButtonBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveButtonBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveButtonBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveButtonBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveButtonBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveButtonBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveButtonBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveButtonBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveButtonBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveButtonBoxMethod t ButtonBox, O.MethodInfo info ButtonBox p) => OL.IsLabel t (ButtonBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "layout-style"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ButtonBoxStyle"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@layout-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' buttonBox #layoutStyle
+@
+-}
+getButtonBoxLayoutStyle :: (MonadIO m, IsButtonBox o) => o -> m Gtk.Enums.ButtonBoxStyle
+getButtonBoxLayoutStyle obj = liftIO $ B.Properties.getObjectPropertyEnum obj "layout-style"
+
+{- |
+Set the value of the “@layout-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' buttonBox [ #layoutStyle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setButtonBoxLayoutStyle :: (MonadIO m, IsButtonBox o) => o -> Gtk.Enums.ButtonBoxStyle -> m ()
+setButtonBoxLayoutStyle obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "layout-style" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@layout-style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructButtonBoxLayoutStyle :: (IsButtonBox o) => Gtk.Enums.ButtonBoxStyle -> IO (GValueConstruct o)
+constructButtonBoxLayoutStyle val = B.Properties.constructObjectPropertyEnum "layout-style" val
+
+#if ENABLE_OVERLOADING
+data ButtonBoxLayoutStylePropertyInfo
+instance AttrInfo ButtonBoxLayoutStylePropertyInfo where
+    type AttrAllowedOps ButtonBoxLayoutStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ButtonBoxLayoutStylePropertyInfo = (~) Gtk.Enums.ButtonBoxStyle
+    type AttrBaseTypeConstraint ButtonBoxLayoutStylePropertyInfo = IsButtonBox
+    type AttrGetType ButtonBoxLayoutStylePropertyInfo = Gtk.Enums.ButtonBoxStyle
+    type AttrLabel ButtonBoxLayoutStylePropertyInfo = "layout-style"
+    type AttrOrigin ButtonBoxLayoutStylePropertyInfo = ButtonBox
+    attrGet _ = getButtonBoxLayoutStyle
+    attrSet _ = setButtonBoxLayoutStyle
+    attrConstruct _ = constructButtonBoxLayoutStyle
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ButtonBox
+type instance O.AttributeList ButtonBox = ButtonBoxAttributeList
+type ButtonBoxAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("layoutStyle", ButtonBoxLayoutStylePropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+buttonBoxLayoutStyle :: AttrLabelProxy "layoutStyle"
+buttonBoxLayoutStyle = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ButtonBox = ButtonBoxSignalList
+type ButtonBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ButtonBox::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the box's orientation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ButtonBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_box_new" gtk_button_box_new :: 
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO (Ptr ButtonBox)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ButtonBox.ButtonBox'.
+
+/Since: 3.0/
+-}
+buttonBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the box\'s orientation. -}
+    -> m ButtonBox
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ButtonBox.ButtonBox'. -}
+buttonBoxNew orientation = liftIO $ do
+    let orientation' = (fromIntegral . fromEnum) orientation
+    result <- gtk_button_box_new orientation'
+    checkUnexpectedReturnNULL "buttonBoxNew" result
+    result' <- (newObject ButtonBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ButtonBox::get_child_non_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "ButtonBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButtonBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_box_get_child_non_homogeneous" gtk_button_box_get_child_non_homogeneous :: 
+    Ptr ButtonBox ->                        -- widget : TInterface (Name {namespace = "Gtk", name = "ButtonBox"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns whether the child is exempted from homogenous
+sizing.
+
+/Since: 3.2/
+-}
+buttonBoxGetChildNonHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButtonBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.ButtonBox.ButtonBox' -}
+    -> b
+    {- ^ /@child@/: a child of /@widget@/ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the child is not subject to homogenous sizing -}
+buttonBoxGetChildNonHomogeneous widget child = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_button_box_get_child_non_homogeneous widget' child'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr child
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonBoxGetChildNonHomogeneousMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsButtonBox a, Gtk.Widget.IsWidget b) => O.MethodInfo ButtonBoxGetChildNonHomogeneousMethodInfo a signature where
+    overloadedMethod _ = buttonBoxGetChildNonHomogeneous
+
+#endif
+
+-- method ButtonBox::get_child_secondary
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "ButtonBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButtonBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_box_get_child_secondary" gtk_button_box_get_child_secondary :: 
+    Ptr ButtonBox ->                        -- widget : TInterface (Name {namespace = "Gtk", name = "ButtonBox"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns whether /@child@/ should appear in a secondary group of children.
+
+/Since: 2.4/
+-}
+buttonBoxGetChildSecondary ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButtonBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.ButtonBox.ButtonBox' -}
+    -> b
+    {- ^ /@child@/: a child of /@widget@/ -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@child@/ should appear in a secondary group of children. -}
+buttonBoxGetChildSecondary widget child = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_button_box_get_child_secondary widget' child'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr child
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonBoxGetChildSecondaryMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsButtonBox a, Gtk.Widget.IsWidget b) => O.MethodInfo ButtonBoxGetChildSecondaryMethodInfo a signature where
+    overloadedMethod _ = buttonBoxGetChildSecondary
+
+#endif
+
+-- method ButtonBox::get_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "ButtonBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButtonBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ButtonBoxStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_box_get_layout" gtk_button_box_get_layout :: 
+    Ptr ButtonBox ->                        -- widget : TInterface (Name {namespace = "Gtk", name = "ButtonBox"})
+    IO CUInt
+
+{- |
+Retrieves the method being used to arrange the buttons in a button box.
+-}
+buttonBoxGetLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButtonBox a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.ButtonBox.ButtonBox' -}
+    -> m Gtk.Enums.ButtonBoxStyle
+    {- ^ __Returns:__ the method used to lay out buttons in /@widget@/. -}
+buttonBoxGetLayout widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_button_box_get_layout widget'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data ButtonBoxGetLayoutMethodInfo
+instance (signature ~ (m Gtk.Enums.ButtonBoxStyle), MonadIO m, IsButtonBox a) => O.MethodInfo ButtonBoxGetLayoutMethodInfo a signature where
+    overloadedMethod _ = buttonBoxGetLayout
+
+#endif
+
+-- method ButtonBox::set_child_non_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "ButtonBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButtonBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "non_homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_box_set_child_non_homogeneous" gtk_button_box_set_child_non_homogeneous :: 
+    Ptr ButtonBox ->                        -- widget : TInterface (Name {namespace = "Gtk", name = "ButtonBox"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- non_homogeneous : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the child is exempted from homogeous sizing.
+
+/Since: 3.2/
+-}
+buttonBoxSetChildNonHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButtonBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.ButtonBox.ButtonBox' -}
+    -> b
+    {- ^ /@child@/: a child of /@widget@/ -}
+    -> Bool
+    {- ^ /@nonHomogeneous@/: the new value -}
+    -> m ()
+buttonBoxSetChildNonHomogeneous widget child nonHomogeneous = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    child' <- unsafeManagedPtrCastPtr child
+    let nonHomogeneous' = (fromIntegral . fromEnum) nonHomogeneous
+    gtk_button_box_set_child_non_homogeneous widget' child' nonHomogeneous'
+    touchManagedPtr widget
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonBoxSetChildNonHomogeneousMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsButtonBox a, Gtk.Widget.IsWidget b) => O.MethodInfo ButtonBoxSetChildNonHomogeneousMethodInfo a signature where
+    overloadedMethod _ = buttonBoxSetChildNonHomogeneous
+
+#endif
+
+-- method ButtonBox::set_child_secondary
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "ButtonBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButtonBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_secondary", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, the @child appears in a secondary group of the\n               button box.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_box_set_child_secondary" gtk_button_box_set_child_secondary :: 
+    Ptr ButtonBox ->                        -- widget : TInterface (Name {namespace = "Gtk", name = "ButtonBox"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- is_secondary : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@child@/ should appear in a secondary group of children.
+A typical use of a secondary child is the help button in a dialog.
+
+This group appears after the other children if the style
+is 'GI.Gtk.Enums.ButtonBoxStyleStart', 'GI.Gtk.Enums.ButtonBoxStyleSpread' or
+'GI.Gtk.Enums.ButtonBoxStyleEdge', and before the other children if the style
+is 'GI.Gtk.Enums.ButtonBoxStyleEnd'. For horizontal button boxes, the definition
+of before\/after depends on direction of the widget (see
+'GI.Gtk.Objects.Widget.widgetSetDirection'). If the style is 'GI.Gtk.Enums.ButtonBoxStyleStart'
+or 'GI.Gtk.Enums.ButtonBoxStyleEnd', then the secondary children are aligned at
+the other end of the button box from the main children. For the
+other styles, they appear immediately next to the main children.
+-}
+buttonBoxSetChildSecondary ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButtonBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.ButtonBox.ButtonBox' -}
+    -> b
+    {- ^ /@child@/: a child of /@widget@/ -}
+    -> Bool
+    {- ^ /@isSecondary@/: if 'True', the /@child@/ appears in a secondary group of the
+               button box. -}
+    -> m ()
+buttonBoxSetChildSecondary widget child isSecondary = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    child' <- unsafeManagedPtrCastPtr child
+    let isSecondary' = (fromIntegral . fromEnum) isSecondary
+    gtk_button_box_set_child_secondary widget' child' isSecondary'
+    touchManagedPtr widget
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonBoxSetChildSecondaryMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsButtonBox a, Gtk.Widget.IsWidget b) => O.MethodInfo ButtonBoxSetChildSecondaryMethodInfo a signature where
+    overloadedMethod _ = buttonBoxSetChildSecondary
+
+#endif
+
+-- method ButtonBox::set_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "ButtonBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkButtonBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "layout_style", argType = TInterface (Name {namespace = "Gtk", name = "ButtonBoxStyle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new layout style", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_button_box_set_layout" gtk_button_box_set_layout :: 
+    Ptr ButtonBox ->                        -- widget : TInterface (Name {namespace = "Gtk", name = "ButtonBox"})
+    CUInt ->                                -- layout_style : TInterface (Name {namespace = "Gtk", name = "ButtonBoxStyle"})
+    IO ()
+
+{- |
+Changes the way buttons are arranged in their container.
+-}
+buttonBoxSetLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsButtonBox a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.ButtonBox.ButtonBox' -}
+    -> Gtk.Enums.ButtonBoxStyle
+    {- ^ /@layoutStyle@/: the new layout style -}
+    -> m ()
+buttonBoxSetLayout widget layoutStyle = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let layoutStyle' = (fromIntegral . fromEnum) layoutStyle
+    gtk_button_box_set_layout widget' layoutStyle'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data ButtonBoxSetLayoutMethodInfo
+instance (signature ~ (Gtk.Enums.ButtonBoxStyle -> m ()), MonadIO m, IsButtonBox a) => O.MethodInfo ButtonBoxSetLayoutMethodInfo a signature where
+    overloadedMethod _ = buttonBoxSetLayout
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ButtonBox.hs-boot b/GI/Gtk/Objects/ButtonBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ButtonBox.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ButtonBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ButtonBox = ButtonBox (ManagedPtr ButtonBox)
+instance GObject ButtonBox where
+class (GObject o, O.IsDescendantOf ButtonBox o) => IsButtonBox o
+instance (GObject o, O.IsDescendantOf ButtonBox o) => IsButtonBox o
+instance O.HasParentTypes ButtonBox
+#if ENABLE_OVERLOADING
+data ButtonBoxLayoutStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonBoxGetChildNonHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonBoxGetChildSecondaryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonBoxGetLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonBoxSetChildNonHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonBoxSetChildSecondaryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ButtonBoxSetLayoutMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Calendar.hs b/GI/Gtk/Objects/Calendar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Calendar.hs
@@ -0,0 +1,2419 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.Calendar.Calendar' is a widget that displays a Gregorian calendar, one month
+at a time. It can be created with 'GI.Gtk.Objects.Calendar.calendarNew'.
+
+The month and year currently displayed can be altered with
+'GI.Gtk.Objects.Calendar.calendarSelectMonth'. The exact day can be selected from the
+displayed month using 'GI.Gtk.Objects.Calendar.calendarSelectDay'.
+
+To place a visual marker on a particular day, use 'GI.Gtk.Objects.Calendar.calendarMarkDay'
+and to remove the marker, 'GI.Gtk.Objects.Calendar.calendarUnmarkDay'. Alternative, all
+marks can be cleared with 'GI.Gtk.Objects.Calendar.calendarClearMarks'.
+
+The way in which the calendar itself is displayed can be altered using
+'GI.Gtk.Objects.Calendar.calendarSetDisplayOptions'.
+
+The selected date can be retrieved from a 'GI.Gtk.Objects.Calendar.Calendar' using
+'GI.Gtk.Objects.Calendar.calendarGetDate'.
+
+Users should be aware that, although the Gregorian calendar is the
+legal calendar in most countries, it was adopted progressively
+between 1582 and 1929. Display before these dates is likely to be
+historically incorrect.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Calendar
+    ( 
+
+-- * Exported types
+    Calendar(..)                            ,
+    IsCalendar                              ,
+    toCalendar                              ,
+    noCalendar                              ,
+
+
+ -- * Methods
+-- ** clearMarks #method:clearMarks#
+
+#if ENABLE_OVERLOADING
+    CalendarClearMarksMethodInfo            ,
+#endif
+    calendarClearMarks                      ,
+
+
+-- ** getDate #method:getDate#
+
+#if ENABLE_OVERLOADING
+    CalendarGetDateMethodInfo               ,
+#endif
+    calendarGetDate                         ,
+
+
+-- ** getDayIsMarked #method:getDayIsMarked#
+
+#if ENABLE_OVERLOADING
+    CalendarGetDayIsMarkedMethodInfo        ,
+#endif
+    calendarGetDayIsMarked                  ,
+
+
+-- ** getDetailHeightRows #method:getDetailHeightRows#
+
+#if ENABLE_OVERLOADING
+    CalendarGetDetailHeightRowsMethodInfo   ,
+#endif
+    calendarGetDetailHeightRows             ,
+
+
+-- ** getDetailWidthChars #method:getDetailWidthChars#
+
+#if ENABLE_OVERLOADING
+    CalendarGetDetailWidthCharsMethodInfo   ,
+#endif
+    calendarGetDetailWidthChars             ,
+
+
+-- ** getDisplayOptions #method:getDisplayOptions#
+
+#if ENABLE_OVERLOADING
+    CalendarGetDisplayOptionsMethodInfo     ,
+#endif
+    calendarGetDisplayOptions               ,
+
+
+-- ** markDay #method:markDay#
+
+#if ENABLE_OVERLOADING
+    CalendarMarkDayMethodInfo               ,
+#endif
+    calendarMarkDay                         ,
+
+
+-- ** new #method:new#
+
+    calendarNew                             ,
+
+
+-- ** selectDay #method:selectDay#
+
+#if ENABLE_OVERLOADING
+    CalendarSelectDayMethodInfo             ,
+#endif
+    calendarSelectDay                       ,
+
+
+-- ** selectMonth #method:selectMonth#
+
+#if ENABLE_OVERLOADING
+    CalendarSelectMonthMethodInfo           ,
+#endif
+    calendarSelectMonth                     ,
+
+
+-- ** setDetailFunc #method:setDetailFunc#
+
+#if ENABLE_OVERLOADING
+    CalendarSetDetailFuncMethodInfo         ,
+#endif
+    calendarSetDetailFunc                   ,
+
+
+-- ** setDetailHeightRows #method:setDetailHeightRows#
+
+#if ENABLE_OVERLOADING
+    CalendarSetDetailHeightRowsMethodInfo   ,
+#endif
+    calendarSetDetailHeightRows             ,
+
+
+-- ** setDetailWidthChars #method:setDetailWidthChars#
+
+#if ENABLE_OVERLOADING
+    CalendarSetDetailWidthCharsMethodInfo   ,
+#endif
+    calendarSetDetailWidthChars             ,
+
+
+-- ** setDisplayOptions #method:setDisplayOptions#
+
+#if ENABLE_OVERLOADING
+    CalendarSetDisplayOptionsMethodInfo     ,
+#endif
+    calendarSetDisplayOptions               ,
+
+
+-- ** unmarkDay #method:unmarkDay#
+
+#if ENABLE_OVERLOADING
+    CalendarUnmarkDayMethodInfo             ,
+#endif
+    calendarUnmarkDay                       ,
+
+
+
+
+ -- * Properties
+-- ** day #attr:day#
+{- | The selected day (as a number between 1 and 31, or 0
+to unselect the currently selected day).
+This property gets initially set to the current day.
+-}
+#if ENABLE_OVERLOADING
+    CalendarDayPropertyInfo                 ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarDay                             ,
+#endif
+    constructCalendarDay                    ,
+    getCalendarDay                          ,
+    setCalendarDay                          ,
+
+
+-- ** detailHeightRows #attr:detailHeightRows#
+{- | Height of a detail cell, in rows.
+A value of 0 allows any width. See 'GI.Gtk.Objects.Calendar.calendarSetDetailFunc'.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    CalendarDetailHeightRowsPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarDetailHeightRows                ,
+#endif
+    constructCalendarDetailHeightRows       ,
+    getCalendarDetailHeightRows             ,
+    setCalendarDetailHeightRows             ,
+
+
+-- ** detailWidthChars #attr:detailWidthChars#
+{- | Width of a detail cell, in characters.
+A value of 0 allows any width. See 'GI.Gtk.Objects.Calendar.calendarSetDetailFunc'.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    CalendarDetailWidthCharsPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarDetailWidthChars                ,
+#endif
+    constructCalendarDetailWidthChars       ,
+    getCalendarDetailWidthChars             ,
+    setCalendarDetailWidthChars             ,
+
+
+-- ** month #attr:month#
+{- | The selected month (as a number between 0 and 11).
+This property gets initially set to the current month.
+-}
+#if ENABLE_OVERLOADING
+    CalendarMonthPropertyInfo               ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarMonth                           ,
+#endif
+    constructCalendarMonth                  ,
+    getCalendarMonth                        ,
+    setCalendarMonth                        ,
+
+
+-- ** noMonthChange #attr:noMonthChange#
+{- | Determines whether the selected month can be changed.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    CalendarNoMonthChangePropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarNoMonthChange                   ,
+#endif
+    constructCalendarNoMonthChange          ,
+    getCalendarNoMonthChange                ,
+    setCalendarNoMonthChange                ,
+
+
+-- ** showDayNames #attr:showDayNames#
+{- | Determines whether day names are displayed.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    CalendarShowDayNamesPropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarShowDayNames                    ,
+#endif
+    constructCalendarShowDayNames           ,
+    getCalendarShowDayNames                 ,
+    setCalendarShowDayNames                 ,
+
+
+-- ** showDetails #attr:showDetails#
+{- | Determines whether details are shown directly in the widget, or if they are
+available only as tooltip. When this property is set days with details are
+marked.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    CalendarShowDetailsPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarShowDetails                     ,
+#endif
+    constructCalendarShowDetails            ,
+    getCalendarShowDetails                  ,
+    setCalendarShowDetails                  ,
+
+
+-- ** showHeading #attr:showHeading#
+{- | Determines whether a heading is displayed.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    CalendarShowHeadingPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarShowHeading                     ,
+#endif
+    constructCalendarShowHeading            ,
+    getCalendarShowHeading                  ,
+    setCalendarShowHeading                  ,
+
+
+-- ** showWeekNumbers #attr:showWeekNumbers#
+{- | Determines whether week numbers are displayed.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    CalendarShowWeekNumbersPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarShowWeekNumbers                 ,
+#endif
+    constructCalendarShowWeekNumbers        ,
+    getCalendarShowWeekNumbers              ,
+    setCalendarShowWeekNumbers              ,
+
+
+-- ** year #attr:year#
+{- | The selected year.
+This property gets initially set to the current year.
+-}
+#if ENABLE_OVERLOADING
+    CalendarYearPropertyInfo                ,
+#endif
+#if ENABLE_OVERLOADING
+    calendarYear                            ,
+#endif
+    constructCalendarYear                   ,
+    getCalendarYear                         ,
+    setCalendarYear                         ,
+
+
+
+
+ -- * Signals
+-- ** daySelected #signal:daySelected#
+
+    C_CalendarDaySelectedCallback           ,
+    CalendarDaySelectedCallback             ,
+#if ENABLE_OVERLOADING
+    CalendarDaySelectedSignalInfo           ,
+#endif
+    afterCalendarDaySelected                ,
+    genClosure_CalendarDaySelected          ,
+    mk_CalendarDaySelectedCallback          ,
+    noCalendarDaySelectedCallback           ,
+    onCalendarDaySelected                   ,
+    wrap_CalendarDaySelectedCallback        ,
+
+
+-- ** daySelectedDoubleClick #signal:daySelectedDoubleClick#
+
+    C_CalendarDaySelectedDoubleClickCallback,
+    CalendarDaySelectedDoubleClickCallback  ,
+#if ENABLE_OVERLOADING
+    CalendarDaySelectedDoubleClickSignalInfo,
+#endif
+    afterCalendarDaySelectedDoubleClick     ,
+    genClosure_CalendarDaySelectedDoubleClick,
+    mk_CalendarDaySelectedDoubleClickCallback,
+    noCalendarDaySelectedDoubleClickCallback,
+    onCalendarDaySelectedDoubleClick        ,
+    wrap_CalendarDaySelectedDoubleClickCallback,
+
+
+-- ** monthChanged #signal:monthChanged#
+
+    C_CalendarMonthChangedCallback          ,
+    CalendarMonthChangedCallback            ,
+#if ENABLE_OVERLOADING
+    CalendarMonthChangedSignalInfo          ,
+#endif
+    afterCalendarMonthChanged               ,
+    genClosure_CalendarMonthChanged         ,
+    mk_CalendarMonthChangedCallback         ,
+    noCalendarMonthChangedCallback          ,
+    onCalendarMonthChanged                  ,
+    wrap_CalendarMonthChangedCallback       ,
+
+
+-- ** nextMonth #signal:nextMonth#
+
+    C_CalendarNextMonthCallback             ,
+    CalendarNextMonthCallback               ,
+#if ENABLE_OVERLOADING
+    CalendarNextMonthSignalInfo             ,
+#endif
+    afterCalendarNextMonth                  ,
+    genClosure_CalendarNextMonth            ,
+    mk_CalendarNextMonthCallback            ,
+    noCalendarNextMonthCallback             ,
+    onCalendarNextMonth                     ,
+    wrap_CalendarNextMonthCallback          ,
+
+
+-- ** nextYear #signal:nextYear#
+
+    C_CalendarNextYearCallback              ,
+    CalendarNextYearCallback                ,
+#if ENABLE_OVERLOADING
+    CalendarNextYearSignalInfo              ,
+#endif
+    afterCalendarNextYear                   ,
+    genClosure_CalendarNextYear             ,
+    mk_CalendarNextYearCallback             ,
+    noCalendarNextYearCallback              ,
+    onCalendarNextYear                      ,
+    wrap_CalendarNextYearCallback           ,
+
+
+-- ** prevMonth #signal:prevMonth#
+
+    C_CalendarPrevMonthCallback             ,
+    CalendarPrevMonthCallback               ,
+#if ENABLE_OVERLOADING
+    CalendarPrevMonthSignalInfo             ,
+#endif
+    afterCalendarPrevMonth                  ,
+    genClosure_CalendarPrevMonth            ,
+    mk_CalendarPrevMonthCallback            ,
+    noCalendarPrevMonthCallback             ,
+    onCalendarPrevMonth                     ,
+    wrap_CalendarPrevMonthCallback          ,
+
+
+-- ** prevYear #signal:prevYear#
+
+    C_CalendarPrevYearCallback              ,
+    CalendarPrevYearCallback                ,
+#if ENABLE_OVERLOADING
+    CalendarPrevYearSignalInfo              ,
+#endif
+    afterCalendarPrevYear                   ,
+    genClosure_CalendarPrevYear             ,
+    mk_CalendarPrevYearCallback             ,
+    noCalendarPrevYearCallback              ,
+    onCalendarPrevYear                      ,
+    wrap_CalendarPrevYearCallback           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Calendar = Calendar (ManagedPtr Calendar)
+foreign import ccall "gtk_calendar_get_type"
+    c_gtk_calendar_get_type :: IO GType
+
+instance GObject Calendar where
+    gobjectType = c_gtk_calendar_get_type
+    
+
+-- | Type class for types which can be safely cast to `Calendar`, for instance with `toCalendar`.
+class (GObject o, O.IsDescendantOf Calendar o) => IsCalendar o
+instance (GObject o, O.IsDescendantOf Calendar o) => IsCalendar o
+
+instance O.HasParentTypes Calendar
+type instance O.ParentTypes Calendar = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Calendar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCalendar :: (MonadIO m, IsCalendar o) => o -> m Calendar
+toCalendar = liftIO . unsafeCastTo Calendar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Calendar`.
+noCalendar :: Maybe Calendar
+noCalendar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCalendarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCalendarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveCalendarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveCalendarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveCalendarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveCalendarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveCalendarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveCalendarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveCalendarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCalendarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCalendarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveCalendarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveCalendarMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveCalendarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveCalendarMethod "clearMarks" o = CalendarClearMarksMethodInfo
+    ResolveCalendarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveCalendarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveCalendarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveCalendarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveCalendarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveCalendarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveCalendarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveCalendarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveCalendarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveCalendarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveCalendarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveCalendarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveCalendarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveCalendarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveCalendarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveCalendarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveCalendarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveCalendarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveCalendarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveCalendarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveCalendarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveCalendarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveCalendarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveCalendarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveCalendarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveCalendarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveCalendarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveCalendarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveCalendarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveCalendarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveCalendarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveCalendarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveCalendarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveCalendarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveCalendarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveCalendarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveCalendarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveCalendarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveCalendarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveCalendarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveCalendarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveCalendarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveCalendarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCalendarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveCalendarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCalendarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCalendarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveCalendarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveCalendarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveCalendarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveCalendarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveCalendarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveCalendarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveCalendarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveCalendarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveCalendarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveCalendarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveCalendarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveCalendarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveCalendarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveCalendarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveCalendarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveCalendarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveCalendarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveCalendarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveCalendarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveCalendarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCalendarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveCalendarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveCalendarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveCalendarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveCalendarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveCalendarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveCalendarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveCalendarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveCalendarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveCalendarMethod "markDay" o = CalendarMarkDayMethodInfo
+    ResolveCalendarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveCalendarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveCalendarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveCalendarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveCalendarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveCalendarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveCalendarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveCalendarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveCalendarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCalendarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCalendarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveCalendarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveCalendarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveCalendarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveCalendarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveCalendarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveCalendarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveCalendarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveCalendarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveCalendarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveCalendarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveCalendarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveCalendarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveCalendarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveCalendarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveCalendarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCalendarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCalendarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveCalendarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveCalendarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveCalendarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveCalendarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveCalendarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveCalendarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveCalendarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveCalendarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveCalendarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveCalendarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCalendarMethod "selectDay" o = CalendarSelectDayMethodInfo
+    ResolveCalendarMethod "selectMonth" o = CalendarSelectMonthMethodInfo
+    ResolveCalendarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveCalendarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveCalendarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveCalendarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveCalendarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveCalendarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveCalendarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveCalendarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveCalendarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveCalendarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCalendarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCalendarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveCalendarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveCalendarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveCalendarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCalendarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveCalendarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveCalendarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveCalendarMethod "unmarkDay" o = CalendarUnmarkDayMethodInfo
+    ResolveCalendarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveCalendarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveCalendarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCalendarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveCalendarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveCalendarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCalendarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveCalendarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveCalendarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveCalendarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveCalendarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveCalendarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveCalendarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveCalendarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveCalendarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveCalendarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveCalendarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveCalendarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveCalendarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveCalendarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveCalendarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveCalendarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveCalendarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCalendarMethod "getDate" o = CalendarGetDateMethodInfo
+    ResolveCalendarMethod "getDayIsMarked" o = CalendarGetDayIsMarkedMethodInfo
+    ResolveCalendarMethod "getDetailHeightRows" o = CalendarGetDetailHeightRowsMethodInfo
+    ResolveCalendarMethod "getDetailWidthChars" o = CalendarGetDetailWidthCharsMethodInfo
+    ResolveCalendarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveCalendarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveCalendarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveCalendarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveCalendarMethod "getDisplayOptions" o = CalendarGetDisplayOptionsMethodInfo
+    ResolveCalendarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveCalendarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveCalendarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveCalendarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveCalendarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveCalendarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveCalendarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveCalendarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveCalendarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveCalendarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveCalendarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveCalendarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveCalendarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveCalendarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveCalendarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveCalendarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveCalendarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveCalendarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveCalendarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveCalendarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveCalendarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveCalendarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveCalendarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveCalendarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveCalendarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveCalendarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveCalendarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveCalendarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveCalendarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveCalendarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveCalendarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveCalendarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveCalendarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveCalendarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveCalendarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveCalendarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCalendarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCalendarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveCalendarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveCalendarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveCalendarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveCalendarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveCalendarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveCalendarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveCalendarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveCalendarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveCalendarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveCalendarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveCalendarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveCalendarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveCalendarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveCalendarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveCalendarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveCalendarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveCalendarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveCalendarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveCalendarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveCalendarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveCalendarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveCalendarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveCalendarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveCalendarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveCalendarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveCalendarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveCalendarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveCalendarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveCalendarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveCalendarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveCalendarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveCalendarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveCalendarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveCalendarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveCalendarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveCalendarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCalendarMethod "setDetailFunc" o = CalendarSetDetailFuncMethodInfo
+    ResolveCalendarMethod "setDetailHeightRows" o = CalendarSetDetailHeightRowsMethodInfo
+    ResolveCalendarMethod "setDetailWidthChars" o = CalendarSetDetailWidthCharsMethodInfo
+    ResolveCalendarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveCalendarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveCalendarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveCalendarMethod "setDisplayOptions" o = CalendarSetDisplayOptionsMethodInfo
+    ResolveCalendarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveCalendarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveCalendarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveCalendarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveCalendarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveCalendarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveCalendarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveCalendarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveCalendarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveCalendarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveCalendarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveCalendarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveCalendarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveCalendarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveCalendarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveCalendarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveCalendarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveCalendarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveCalendarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveCalendarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveCalendarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveCalendarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveCalendarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCalendarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveCalendarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveCalendarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveCalendarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveCalendarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveCalendarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveCalendarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveCalendarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveCalendarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveCalendarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveCalendarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveCalendarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveCalendarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveCalendarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveCalendarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveCalendarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveCalendarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveCalendarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveCalendarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCalendarMethod t Calendar, O.MethodInfo info Calendar p) => OL.IsLabel t (Calendar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Calendar::day-selected
+{- |
+Emitted when the user selects a day.
+-}
+type CalendarDaySelectedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CalendarDaySelectedCallback`@.
+noCalendarDaySelectedCallback :: Maybe CalendarDaySelectedCallback
+noCalendarDaySelectedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CalendarDaySelectedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CalendarDaySelectedCallback`.
+foreign import ccall "wrapper"
+    mk_CalendarDaySelectedCallback :: C_CalendarDaySelectedCallback -> IO (FunPtr C_CalendarDaySelectedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CalendarDaySelected :: MonadIO m => CalendarDaySelectedCallback -> m (GClosure C_CalendarDaySelectedCallback)
+genClosure_CalendarDaySelected cb = liftIO $ do
+    let cb' = wrap_CalendarDaySelectedCallback cb
+    mk_CalendarDaySelectedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CalendarDaySelectedCallback` into a `C_CalendarDaySelectedCallback`.
+wrap_CalendarDaySelectedCallback ::
+    CalendarDaySelectedCallback ->
+    C_CalendarDaySelectedCallback
+wrap_CalendarDaySelectedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@day-selected@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' calendar #daySelected callback
+@
+-}
+onCalendarDaySelected :: (IsCalendar a, MonadIO m) => a -> CalendarDaySelectedCallback -> m SignalHandlerId
+onCalendarDaySelected obj cb = liftIO $ do
+    let cb' = wrap_CalendarDaySelectedCallback cb
+    cb'' <- mk_CalendarDaySelectedCallback cb'
+    connectSignalFunPtr obj "day-selected" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@day-selected@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' calendar #daySelected callback
+@
+-}
+afterCalendarDaySelected :: (IsCalendar a, MonadIO m) => a -> CalendarDaySelectedCallback -> m SignalHandlerId
+afterCalendarDaySelected obj cb = liftIO $ do
+    let cb' = wrap_CalendarDaySelectedCallback cb
+    cb'' <- mk_CalendarDaySelectedCallback cb'
+    connectSignalFunPtr obj "day-selected" cb'' SignalConnectAfter
+
+
+-- signal Calendar::day-selected-double-click
+{- |
+Emitted when the user double-clicks a day.
+-}
+type CalendarDaySelectedDoubleClickCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CalendarDaySelectedDoubleClickCallback`@.
+noCalendarDaySelectedDoubleClickCallback :: Maybe CalendarDaySelectedDoubleClickCallback
+noCalendarDaySelectedDoubleClickCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CalendarDaySelectedDoubleClickCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CalendarDaySelectedDoubleClickCallback`.
+foreign import ccall "wrapper"
+    mk_CalendarDaySelectedDoubleClickCallback :: C_CalendarDaySelectedDoubleClickCallback -> IO (FunPtr C_CalendarDaySelectedDoubleClickCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CalendarDaySelectedDoubleClick :: MonadIO m => CalendarDaySelectedDoubleClickCallback -> m (GClosure C_CalendarDaySelectedDoubleClickCallback)
+genClosure_CalendarDaySelectedDoubleClick cb = liftIO $ do
+    let cb' = wrap_CalendarDaySelectedDoubleClickCallback cb
+    mk_CalendarDaySelectedDoubleClickCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CalendarDaySelectedDoubleClickCallback` into a `C_CalendarDaySelectedDoubleClickCallback`.
+wrap_CalendarDaySelectedDoubleClickCallback ::
+    CalendarDaySelectedDoubleClickCallback ->
+    C_CalendarDaySelectedDoubleClickCallback
+wrap_CalendarDaySelectedDoubleClickCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@day-selected-double-click@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' calendar #daySelectedDoubleClick callback
+@
+-}
+onCalendarDaySelectedDoubleClick :: (IsCalendar a, MonadIO m) => a -> CalendarDaySelectedDoubleClickCallback -> m SignalHandlerId
+onCalendarDaySelectedDoubleClick obj cb = liftIO $ do
+    let cb' = wrap_CalendarDaySelectedDoubleClickCallback cb
+    cb'' <- mk_CalendarDaySelectedDoubleClickCallback cb'
+    connectSignalFunPtr obj "day-selected-double-click" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@day-selected-double-click@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' calendar #daySelectedDoubleClick callback
+@
+-}
+afterCalendarDaySelectedDoubleClick :: (IsCalendar a, MonadIO m) => a -> CalendarDaySelectedDoubleClickCallback -> m SignalHandlerId
+afterCalendarDaySelectedDoubleClick obj cb = liftIO $ do
+    let cb' = wrap_CalendarDaySelectedDoubleClickCallback cb
+    cb'' <- mk_CalendarDaySelectedDoubleClickCallback cb'
+    connectSignalFunPtr obj "day-selected-double-click" cb'' SignalConnectAfter
+
+
+-- signal Calendar::month-changed
+{- |
+Emitted when the user clicks a button to change the selected month on a
+calendar.
+-}
+type CalendarMonthChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CalendarMonthChangedCallback`@.
+noCalendarMonthChangedCallback :: Maybe CalendarMonthChangedCallback
+noCalendarMonthChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CalendarMonthChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CalendarMonthChangedCallback`.
+foreign import ccall "wrapper"
+    mk_CalendarMonthChangedCallback :: C_CalendarMonthChangedCallback -> IO (FunPtr C_CalendarMonthChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CalendarMonthChanged :: MonadIO m => CalendarMonthChangedCallback -> m (GClosure C_CalendarMonthChangedCallback)
+genClosure_CalendarMonthChanged cb = liftIO $ do
+    let cb' = wrap_CalendarMonthChangedCallback cb
+    mk_CalendarMonthChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CalendarMonthChangedCallback` into a `C_CalendarMonthChangedCallback`.
+wrap_CalendarMonthChangedCallback ::
+    CalendarMonthChangedCallback ->
+    C_CalendarMonthChangedCallback
+wrap_CalendarMonthChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@month-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' calendar #monthChanged callback
+@
+-}
+onCalendarMonthChanged :: (IsCalendar a, MonadIO m) => a -> CalendarMonthChangedCallback -> m SignalHandlerId
+onCalendarMonthChanged obj cb = liftIO $ do
+    let cb' = wrap_CalendarMonthChangedCallback cb
+    cb'' <- mk_CalendarMonthChangedCallback cb'
+    connectSignalFunPtr obj "month-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@month-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' calendar #monthChanged callback
+@
+-}
+afterCalendarMonthChanged :: (IsCalendar a, MonadIO m) => a -> CalendarMonthChangedCallback -> m SignalHandlerId
+afterCalendarMonthChanged obj cb = liftIO $ do
+    let cb' = wrap_CalendarMonthChangedCallback cb
+    cb'' <- mk_CalendarMonthChangedCallback cb'
+    connectSignalFunPtr obj "month-changed" cb'' SignalConnectAfter
+
+
+-- signal Calendar::next-month
+{- |
+Emitted when the user switched to the next month.
+-}
+type CalendarNextMonthCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CalendarNextMonthCallback`@.
+noCalendarNextMonthCallback :: Maybe CalendarNextMonthCallback
+noCalendarNextMonthCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CalendarNextMonthCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CalendarNextMonthCallback`.
+foreign import ccall "wrapper"
+    mk_CalendarNextMonthCallback :: C_CalendarNextMonthCallback -> IO (FunPtr C_CalendarNextMonthCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CalendarNextMonth :: MonadIO m => CalendarNextMonthCallback -> m (GClosure C_CalendarNextMonthCallback)
+genClosure_CalendarNextMonth cb = liftIO $ do
+    let cb' = wrap_CalendarNextMonthCallback cb
+    mk_CalendarNextMonthCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CalendarNextMonthCallback` into a `C_CalendarNextMonthCallback`.
+wrap_CalendarNextMonthCallback ::
+    CalendarNextMonthCallback ->
+    C_CalendarNextMonthCallback
+wrap_CalendarNextMonthCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@next-month@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' calendar #nextMonth callback
+@
+-}
+onCalendarNextMonth :: (IsCalendar a, MonadIO m) => a -> CalendarNextMonthCallback -> m SignalHandlerId
+onCalendarNextMonth obj cb = liftIO $ do
+    let cb' = wrap_CalendarNextMonthCallback cb
+    cb'' <- mk_CalendarNextMonthCallback cb'
+    connectSignalFunPtr obj "next-month" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@next-month@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' calendar #nextMonth callback
+@
+-}
+afterCalendarNextMonth :: (IsCalendar a, MonadIO m) => a -> CalendarNextMonthCallback -> m SignalHandlerId
+afterCalendarNextMonth obj cb = liftIO $ do
+    let cb' = wrap_CalendarNextMonthCallback cb
+    cb'' <- mk_CalendarNextMonthCallback cb'
+    connectSignalFunPtr obj "next-month" cb'' SignalConnectAfter
+
+
+-- signal Calendar::next-year
+{- |
+Emitted when user switched to the next year.
+-}
+type CalendarNextYearCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CalendarNextYearCallback`@.
+noCalendarNextYearCallback :: Maybe CalendarNextYearCallback
+noCalendarNextYearCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CalendarNextYearCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CalendarNextYearCallback`.
+foreign import ccall "wrapper"
+    mk_CalendarNextYearCallback :: C_CalendarNextYearCallback -> IO (FunPtr C_CalendarNextYearCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CalendarNextYear :: MonadIO m => CalendarNextYearCallback -> m (GClosure C_CalendarNextYearCallback)
+genClosure_CalendarNextYear cb = liftIO $ do
+    let cb' = wrap_CalendarNextYearCallback cb
+    mk_CalendarNextYearCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CalendarNextYearCallback` into a `C_CalendarNextYearCallback`.
+wrap_CalendarNextYearCallback ::
+    CalendarNextYearCallback ->
+    C_CalendarNextYearCallback
+wrap_CalendarNextYearCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@next-year@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' calendar #nextYear callback
+@
+-}
+onCalendarNextYear :: (IsCalendar a, MonadIO m) => a -> CalendarNextYearCallback -> m SignalHandlerId
+onCalendarNextYear obj cb = liftIO $ do
+    let cb' = wrap_CalendarNextYearCallback cb
+    cb'' <- mk_CalendarNextYearCallback cb'
+    connectSignalFunPtr obj "next-year" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@next-year@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' calendar #nextYear callback
+@
+-}
+afterCalendarNextYear :: (IsCalendar a, MonadIO m) => a -> CalendarNextYearCallback -> m SignalHandlerId
+afterCalendarNextYear obj cb = liftIO $ do
+    let cb' = wrap_CalendarNextYearCallback cb
+    cb'' <- mk_CalendarNextYearCallback cb'
+    connectSignalFunPtr obj "next-year" cb'' SignalConnectAfter
+
+
+-- signal Calendar::prev-month
+{- |
+Emitted when the user switched to the previous month.
+-}
+type CalendarPrevMonthCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CalendarPrevMonthCallback`@.
+noCalendarPrevMonthCallback :: Maybe CalendarPrevMonthCallback
+noCalendarPrevMonthCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CalendarPrevMonthCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CalendarPrevMonthCallback`.
+foreign import ccall "wrapper"
+    mk_CalendarPrevMonthCallback :: C_CalendarPrevMonthCallback -> IO (FunPtr C_CalendarPrevMonthCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CalendarPrevMonth :: MonadIO m => CalendarPrevMonthCallback -> m (GClosure C_CalendarPrevMonthCallback)
+genClosure_CalendarPrevMonth cb = liftIO $ do
+    let cb' = wrap_CalendarPrevMonthCallback cb
+    mk_CalendarPrevMonthCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CalendarPrevMonthCallback` into a `C_CalendarPrevMonthCallback`.
+wrap_CalendarPrevMonthCallback ::
+    CalendarPrevMonthCallback ->
+    C_CalendarPrevMonthCallback
+wrap_CalendarPrevMonthCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@prev-month@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' calendar #prevMonth callback
+@
+-}
+onCalendarPrevMonth :: (IsCalendar a, MonadIO m) => a -> CalendarPrevMonthCallback -> m SignalHandlerId
+onCalendarPrevMonth obj cb = liftIO $ do
+    let cb' = wrap_CalendarPrevMonthCallback cb
+    cb'' <- mk_CalendarPrevMonthCallback cb'
+    connectSignalFunPtr obj "prev-month" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@prev-month@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' calendar #prevMonth callback
+@
+-}
+afterCalendarPrevMonth :: (IsCalendar a, MonadIO m) => a -> CalendarPrevMonthCallback -> m SignalHandlerId
+afterCalendarPrevMonth obj cb = liftIO $ do
+    let cb' = wrap_CalendarPrevMonthCallback cb
+    cb'' <- mk_CalendarPrevMonthCallback cb'
+    connectSignalFunPtr obj "prev-month" cb'' SignalConnectAfter
+
+
+-- signal Calendar::prev-year
+{- |
+Emitted when user switched to the previous year.
+-}
+type CalendarPrevYearCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CalendarPrevYearCallback`@.
+noCalendarPrevYearCallback :: Maybe CalendarPrevYearCallback
+noCalendarPrevYearCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CalendarPrevYearCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CalendarPrevYearCallback`.
+foreign import ccall "wrapper"
+    mk_CalendarPrevYearCallback :: C_CalendarPrevYearCallback -> IO (FunPtr C_CalendarPrevYearCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CalendarPrevYear :: MonadIO m => CalendarPrevYearCallback -> m (GClosure C_CalendarPrevYearCallback)
+genClosure_CalendarPrevYear cb = liftIO $ do
+    let cb' = wrap_CalendarPrevYearCallback cb
+    mk_CalendarPrevYearCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CalendarPrevYearCallback` into a `C_CalendarPrevYearCallback`.
+wrap_CalendarPrevYearCallback ::
+    CalendarPrevYearCallback ->
+    C_CalendarPrevYearCallback
+wrap_CalendarPrevYearCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@prev-year@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' calendar #prevYear callback
+@
+-}
+onCalendarPrevYear :: (IsCalendar a, MonadIO m) => a -> CalendarPrevYearCallback -> m SignalHandlerId
+onCalendarPrevYear obj cb = liftIO $ do
+    let cb' = wrap_CalendarPrevYearCallback cb
+    cb'' <- mk_CalendarPrevYearCallback cb'
+    connectSignalFunPtr obj "prev-year" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@prev-year@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' calendar #prevYear callback
+@
+-}
+afterCalendarPrevYear :: (IsCalendar a, MonadIO m) => a -> CalendarPrevYearCallback -> m SignalHandlerId
+afterCalendarPrevYear obj cb = liftIO $ do
+    let cb' = wrap_CalendarPrevYearCallback cb
+    cb'' <- mk_CalendarPrevYearCallback cb'
+    connectSignalFunPtr obj "prev-year" cb'' SignalConnectAfter
+
+
+-- VVV Prop "day"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@day@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #day
+@
+-}
+getCalendarDay :: (MonadIO m, IsCalendar o) => o -> m Int32
+getCalendarDay obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "day"
+
+{- |
+Set the value of the “@day@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #day 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarDay :: (MonadIO m, IsCalendar o) => o -> Int32 -> m ()
+setCalendarDay obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "day" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@day@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarDay :: (IsCalendar o) => Int32 -> IO (GValueConstruct o)
+constructCalendarDay val = B.Properties.constructObjectPropertyInt32 "day" val
+
+#if ENABLE_OVERLOADING
+data CalendarDayPropertyInfo
+instance AttrInfo CalendarDayPropertyInfo where
+    type AttrAllowedOps CalendarDayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarDayPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CalendarDayPropertyInfo = IsCalendar
+    type AttrGetType CalendarDayPropertyInfo = Int32
+    type AttrLabel CalendarDayPropertyInfo = "day"
+    type AttrOrigin CalendarDayPropertyInfo = Calendar
+    attrGet _ = getCalendarDay
+    attrSet _ = setCalendarDay
+    attrConstruct _ = constructCalendarDay
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "detail-height-rows"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@detail-height-rows@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #detailHeightRows
+@
+-}
+getCalendarDetailHeightRows :: (MonadIO m, IsCalendar o) => o -> m Int32
+getCalendarDetailHeightRows obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "detail-height-rows"
+
+{- |
+Set the value of the “@detail-height-rows@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #detailHeightRows 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarDetailHeightRows :: (MonadIO m, IsCalendar o) => o -> Int32 -> m ()
+setCalendarDetailHeightRows obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "detail-height-rows" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@detail-height-rows@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarDetailHeightRows :: (IsCalendar o) => Int32 -> IO (GValueConstruct o)
+constructCalendarDetailHeightRows val = B.Properties.constructObjectPropertyInt32 "detail-height-rows" val
+
+#if ENABLE_OVERLOADING
+data CalendarDetailHeightRowsPropertyInfo
+instance AttrInfo CalendarDetailHeightRowsPropertyInfo where
+    type AttrAllowedOps CalendarDetailHeightRowsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarDetailHeightRowsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CalendarDetailHeightRowsPropertyInfo = IsCalendar
+    type AttrGetType CalendarDetailHeightRowsPropertyInfo = Int32
+    type AttrLabel CalendarDetailHeightRowsPropertyInfo = "detail-height-rows"
+    type AttrOrigin CalendarDetailHeightRowsPropertyInfo = Calendar
+    attrGet _ = getCalendarDetailHeightRows
+    attrSet _ = setCalendarDetailHeightRows
+    attrConstruct _ = constructCalendarDetailHeightRows
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "detail-width-chars"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@detail-width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #detailWidthChars
+@
+-}
+getCalendarDetailWidthChars :: (MonadIO m, IsCalendar o) => o -> m Int32
+getCalendarDetailWidthChars obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "detail-width-chars"
+
+{- |
+Set the value of the “@detail-width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #detailWidthChars 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarDetailWidthChars :: (MonadIO m, IsCalendar o) => o -> Int32 -> m ()
+setCalendarDetailWidthChars obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "detail-width-chars" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@detail-width-chars@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarDetailWidthChars :: (IsCalendar o) => Int32 -> IO (GValueConstruct o)
+constructCalendarDetailWidthChars val = B.Properties.constructObjectPropertyInt32 "detail-width-chars" val
+
+#if ENABLE_OVERLOADING
+data CalendarDetailWidthCharsPropertyInfo
+instance AttrInfo CalendarDetailWidthCharsPropertyInfo where
+    type AttrAllowedOps CalendarDetailWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarDetailWidthCharsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CalendarDetailWidthCharsPropertyInfo = IsCalendar
+    type AttrGetType CalendarDetailWidthCharsPropertyInfo = Int32
+    type AttrLabel CalendarDetailWidthCharsPropertyInfo = "detail-width-chars"
+    type AttrOrigin CalendarDetailWidthCharsPropertyInfo = Calendar
+    attrGet _ = getCalendarDetailWidthChars
+    attrSet _ = setCalendarDetailWidthChars
+    attrConstruct _ = constructCalendarDetailWidthChars
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "month"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@month@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #month
+@
+-}
+getCalendarMonth :: (MonadIO m, IsCalendar o) => o -> m Int32
+getCalendarMonth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "month"
+
+{- |
+Set the value of the “@month@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #month 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarMonth :: (MonadIO m, IsCalendar o) => o -> Int32 -> m ()
+setCalendarMonth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "month" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@month@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarMonth :: (IsCalendar o) => Int32 -> IO (GValueConstruct o)
+constructCalendarMonth val = B.Properties.constructObjectPropertyInt32 "month" val
+
+#if ENABLE_OVERLOADING
+data CalendarMonthPropertyInfo
+instance AttrInfo CalendarMonthPropertyInfo where
+    type AttrAllowedOps CalendarMonthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarMonthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CalendarMonthPropertyInfo = IsCalendar
+    type AttrGetType CalendarMonthPropertyInfo = Int32
+    type AttrLabel CalendarMonthPropertyInfo = "month"
+    type AttrOrigin CalendarMonthPropertyInfo = Calendar
+    attrGet _ = getCalendarMonth
+    attrSet _ = setCalendarMonth
+    attrConstruct _ = constructCalendarMonth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "no-month-change"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@no-month-change@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #noMonthChange
+@
+-}
+getCalendarNoMonthChange :: (MonadIO m, IsCalendar o) => o -> m Bool
+getCalendarNoMonthChange obj = liftIO $ B.Properties.getObjectPropertyBool obj "no-month-change"
+
+{- |
+Set the value of the “@no-month-change@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #noMonthChange 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarNoMonthChange :: (MonadIO m, IsCalendar o) => o -> Bool -> m ()
+setCalendarNoMonthChange obj val = liftIO $ B.Properties.setObjectPropertyBool obj "no-month-change" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@no-month-change@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarNoMonthChange :: (IsCalendar o) => Bool -> IO (GValueConstruct o)
+constructCalendarNoMonthChange val = B.Properties.constructObjectPropertyBool "no-month-change" val
+
+#if ENABLE_OVERLOADING
+data CalendarNoMonthChangePropertyInfo
+instance AttrInfo CalendarNoMonthChangePropertyInfo where
+    type AttrAllowedOps CalendarNoMonthChangePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarNoMonthChangePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CalendarNoMonthChangePropertyInfo = IsCalendar
+    type AttrGetType CalendarNoMonthChangePropertyInfo = Bool
+    type AttrLabel CalendarNoMonthChangePropertyInfo = "no-month-change"
+    type AttrOrigin CalendarNoMonthChangePropertyInfo = Calendar
+    attrGet _ = getCalendarNoMonthChange
+    attrSet _ = setCalendarNoMonthChange
+    attrConstruct _ = constructCalendarNoMonthChange
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-day-names"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@show-day-names@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #showDayNames
+@
+-}
+getCalendarShowDayNames :: (MonadIO m, IsCalendar o) => o -> m Bool
+getCalendarShowDayNames obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-day-names"
+
+{- |
+Set the value of the “@show-day-names@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #showDayNames 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarShowDayNames :: (MonadIO m, IsCalendar o) => o -> Bool -> m ()
+setCalendarShowDayNames obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-day-names" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-day-names@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarShowDayNames :: (IsCalendar o) => Bool -> IO (GValueConstruct o)
+constructCalendarShowDayNames val = B.Properties.constructObjectPropertyBool "show-day-names" val
+
+#if ENABLE_OVERLOADING
+data CalendarShowDayNamesPropertyInfo
+instance AttrInfo CalendarShowDayNamesPropertyInfo where
+    type AttrAllowedOps CalendarShowDayNamesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarShowDayNamesPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CalendarShowDayNamesPropertyInfo = IsCalendar
+    type AttrGetType CalendarShowDayNamesPropertyInfo = Bool
+    type AttrLabel CalendarShowDayNamesPropertyInfo = "show-day-names"
+    type AttrOrigin CalendarShowDayNamesPropertyInfo = Calendar
+    attrGet _ = getCalendarShowDayNames
+    attrSet _ = setCalendarShowDayNames
+    attrConstruct _ = constructCalendarShowDayNames
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-details"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@show-details@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #showDetails
+@
+-}
+getCalendarShowDetails :: (MonadIO m, IsCalendar o) => o -> m Bool
+getCalendarShowDetails obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-details"
+
+{- |
+Set the value of the “@show-details@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #showDetails 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarShowDetails :: (MonadIO m, IsCalendar o) => o -> Bool -> m ()
+setCalendarShowDetails obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-details" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-details@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarShowDetails :: (IsCalendar o) => Bool -> IO (GValueConstruct o)
+constructCalendarShowDetails val = B.Properties.constructObjectPropertyBool "show-details" val
+
+#if ENABLE_OVERLOADING
+data CalendarShowDetailsPropertyInfo
+instance AttrInfo CalendarShowDetailsPropertyInfo where
+    type AttrAllowedOps CalendarShowDetailsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarShowDetailsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CalendarShowDetailsPropertyInfo = IsCalendar
+    type AttrGetType CalendarShowDetailsPropertyInfo = Bool
+    type AttrLabel CalendarShowDetailsPropertyInfo = "show-details"
+    type AttrOrigin CalendarShowDetailsPropertyInfo = Calendar
+    attrGet _ = getCalendarShowDetails
+    attrSet _ = setCalendarShowDetails
+    attrConstruct _ = constructCalendarShowDetails
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-heading"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@show-heading@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #showHeading
+@
+-}
+getCalendarShowHeading :: (MonadIO m, IsCalendar o) => o -> m Bool
+getCalendarShowHeading obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-heading"
+
+{- |
+Set the value of the “@show-heading@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #showHeading 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarShowHeading :: (MonadIO m, IsCalendar o) => o -> Bool -> m ()
+setCalendarShowHeading obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-heading" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-heading@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarShowHeading :: (IsCalendar o) => Bool -> IO (GValueConstruct o)
+constructCalendarShowHeading val = B.Properties.constructObjectPropertyBool "show-heading" val
+
+#if ENABLE_OVERLOADING
+data CalendarShowHeadingPropertyInfo
+instance AttrInfo CalendarShowHeadingPropertyInfo where
+    type AttrAllowedOps CalendarShowHeadingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarShowHeadingPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CalendarShowHeadingPropertyInfo = IsCalendar
+    type AttrGetType CalendarShowHeadingPropertyInfo = Bool
+    type AttrLabel CalendarShowHeadingPropertyInfo = "show-heading"
+    type AttrOrigin CalendarShowHeadingPropertyInfo = Calendar
+    attrGet _ = getCalendarShowHeading
+    attrSet _ = setCalendarShowHeading
+    attrConstruct _ = constructCalendarShowHeading
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-week-numbers"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@show-week-numbers@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #showWeekNumbers
+@
+-}
+getCalendarShowWeekNumbers :: (MonadIO m, IsCalendar o) => o -> m Bool
+getCalendarShowWeekNumbers obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-week-numbers"
+
+{- |
+Set the value of the “@show-week-numbers@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #showWeekNumbers 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarShowWeekNumbers :: (MonadIO m, IsCalendar o) => o -> Bool -> m ()
+setCalendarShowWeekNumbers obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-week-numbers" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-week-numbers@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarShowWeekNumbers :: (IsCalendar o) => Bool -> IO (GValueConstruct o)
+constructCalendarShowWeekNumbers val = B.Properties.constructObjectPropertyBool "show-week-numbers" val
+
+#if ENABLE_OVERLOADING
+data CalendarShowWeekNumbersPropertyInfo
+instance AttrInfo CalendarShowWeekNumbersPropertyInfo where
+    type AttrAllowedOps CalendarShowWeekNumbersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarShowWeekNumbersPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CalendarShowWeekNumbersPropertyInfo = IsCalendar
+    type AttrGetType CalendarShowWeekNumbersPropertyInfo = Bool
+    type AttrLabel CalendarShowWeekNumbersPropertyInfo = "show-week-numbers"
+    type AttrOrigin CalendarShowWeekNumbersPropertyInfo = Calendar
+    attrGet _ = getCalendarShowWeekNumbers
+    attrSet _ = setCalendarShowWeekNumbers
+    attrConstruct _ = constructCalendarShowWeekNumbers
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "year"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@year@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' calendar #year
+@
+-}
+getCalendarYear :: (MonadIO m, IsCalendar o) => o -> m Int32
+getCalendarYear obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "year"
+
+{- |
+Set the value of the “@year@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' calendar [ #year 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCalendarYear :: (MonadIO m, IsCalendar o) => o -> Int32 -> m ()
+setCalendarYear obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "year" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@year@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCalendarYear :: (IsCalendar o) => Int32 -> IO (GValueConstruct o)
+constructCalendarYear val = B.Properties.constructObjectPropertyInt32 "year" val
+
+#if ENABLE_OVERLOADING
+data CalendarYearPropertyInfo
+instance AttrInfo CalendarYearPropertyInfo where
+    type AttrAllowedOps CalendarYearPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CalendarYearPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CalendarYearPropertyInfo = IsCalendar
+    type AttrGetType CalendarYearPropertyInfo = Int32
+    type AttrLabel CalendarYearPropertyInfo = "year"
+    type AttrOrigin CalendarYearPropertyInfo = Calendar
+    attrGet _ = getCalendarYear
+    attrSet _ = setCalendarYear
+    attrConstruct _ = constructCalendarYear
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Calendar
+type instance O.AttributeList Calendar = CalendarAttributeList
+type CalendarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("day", CalendarDayPropertyInfo), '("detailHeightRows", CalendarDetailHeightRowsPropertyInfo), '("detailWidthChars", CalendarDetailWidthCharsPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("month", CalendarMonthPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noMonthChange", CalendarNoMonthChangePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showDayNames", CalendarShowDayNamesPropertyInfo), '("showDetails", CalendarShowDetailsPropertyInfo), '("showHeading", CalendarShowHeadingPropertyInfo), '("showWeekNumbers", CalendarShowWeekNumbersPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("year", CalendarYearPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+calendarDay :: AttrLabelProxy "day"
+calendarDay = AttrLabelProxy
+
+calendarDetailHeightRows :: AttrLabelProxy "detailHeightRows"
+calendarDetailHeightRows = AttrLabelProxy
+
+calendarDetailWidthChars :: AttrLabelProxy "detailWidthChars"
+calendarDetailWidthChars = AttrLabelProxy
+
+calendarMonth :: AttrLabelProxy "month"
+calendarMonth = AttrLabelProxy
+
+calendarNoMonthChange :: AttrLabelProxy "noMonthChange"
+calendarNoMonthChange = AttrLabelProxy
+
+calendarShowDayNames :: AttrLabelProxy "showDayNames"
+calendarShowDayNames = AttrLabelProxy
+
+calendarShowDetails :: AttrLabelProxy "showDetails"
+calendarShowDetails = AttrLabelProxy
+
+calendarShowHeading :: AttrLabelProxy "showHeading"
+calendarShowHeading = AttrLabelProxy
+
+calendarShowWeekNumbers :: AttrLabelProxy "showWeekNumbers"
+calendarShowWeekNumbers = AttrLabelProxy
+
+calendarYear :: AttrLabelProxy "year"
+calendarYear = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data CalendarDaySelectedSignalInfo
+instance SignalInfo CalendarDaySelectedSignalInfo where
+    type HaskellCallbackType CalendarDaySelectedSignalInfo = CalendarDaySelectedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CalendarDaySelectedCallback cb
+        cb'' <- mk_CalendarDaySelectedCallback cb'
+        connectSignalFunPtr obj "day-selected" cb'' connectMode
+
+data CalendarDaySelectedDoubleClickSignalInfo
+instance SignalInfo CalendarDaySelectedDoubleClickSignalInfo where
+    type HaskellCallbackType CalendarDaySelectedDoubleClickSignalInfo = CalendarDaySelectedDoubleClickCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CalendarDaySelectedDoubleClickCallback cb
+        cb'' <- mk_CalendarDaySelectedDoubleClickCallback cb'
+        connectSignalFunPtr obj "day-selected-double-click" cb'' connectMode
+
+data CalendarMonthChangedSignalInfo
+instance SignalInfo CalendarMonthChangedSignalInfo where
+    type HaskellCallbackType CalendarMonthChangedSignalInfo = CalendarMonthChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CalendarMonthChangedCallback cb
+        cb'' <- mk_CalendarMonthChangedCallback cb'
+        connectSignalFunPtr obj "month-changed" cb'' connectMode
+
+data CalendarNextMonthSignalInfo
+instance SignalInfo CalendarNextMonthSignalInfo where
+    type HaskellCallbackType CalendarNextMonthSignalInfo = CalendarNextMonthCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CalendarNextMonthCallback cb
+        cb'' <- mk_CalendarNextMonthCallback cb'
+        connectSignalFunPtr obj "next-month" cb'' connectMode
+
+data CalendarNextYearSignalInfo
+instance SignalInfo CalendarNextYearSignalInfo where
+    type HaskellCallbackType CalendarNextYearSignalInfo = CalendarNextYearCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CalendarNextYearCallback cb
+        cb'' <- mk_CalendarNextYearCallback cb'
+        connectSignalFunPtr obj "next-year" cb'' connectMode
+
+data CalendarPrevMonthSignalInfo
+instance SignalInfo CalendarPrevMonthSignalInfo where
+    type HaskellCallbackType CalendarPrevMonthSignalInfo = CalendarPrevMonthCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CalendarPrevMonthCallback cb
+        cb'' <- mk_CalendarPrevMonthCallback cb'
+        connectSignalFunPtr obj "prev-month" cb'' connectMode
+
+data CalendarPrevYearSignalInfo
+instance SignalInfo CalendarPrevYearSignalInfo where
+    type HaskellCallbackType CalendarPrevYearSignalInfo = CalendarPrevYearCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CalendarPrevYearCallback cb
+        cb'' <- mk_CalendarPrevYearCallback cb'
+        connectSignalFunPtr obj "prev-year" cb'' connectMode
+
+type instance O.SignalList Calendar = CalendarSignalList
+type CalendarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("daySelected", CalendarDaySelectedSignalInfo), '("daySelectedDoubleClick", CalendarDaySelectedDoubleClickSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("monthChanged", CalendarMonthChangedSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("nextMonth", CalendarNextMonthSignalInfo), '("nextYear", CalendarNextYearSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("prevMonth", CalendarPrevMonthSignalInfo), '("prevYear", CalendarPrevYearSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Calendar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Calendar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_new" gtk_calendar_new :: 
+    IO (Ptr Calendar)
+
+{- |
+Creates a new calendar, with the current date being selected.
+-}
+calendarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Calendar
+    {- ^ __Returns:__ a newly 'GI.Gtk.Objects.Calendar.Calendar' widget -}
+calendarNew  = liftIO $ do
+    result <- gtk_calendar_new
+    checkUnexpectedReturnNULL "calendarNew" result
+    result' <- (newObject Calendar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Calendar::clear_marks
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_clear_marks" gtk_calendar_clear_marks :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    IO ()
+
+{- |
+Remove all visual markers.
+-}
+calendarClearMarks ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar' -}
+    -> m ()
+calendarClearMarks calendar = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    gtk_calendar_clear_marks calendar'
+    touchManagedPtr calendar
+    return ()
+
+#if ENABLE_OVERLOADING
+data CalendarClearMarksMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsCalendar a) => O.MethodInfo CalendarClearMarksMethodInfo a signature where
+    overloadedMethod _ = calendarClearMarks
+
+#endif
+
+-- method Calendar::get_date
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the year as a decimal\n    number (e.g. 2011), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "month", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the month number\n    (between 0 and 11), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "day", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the day number (between\n    1 and 31), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_get_date" gtk_calendar_get_date :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    Ptr Word32 ->                           -- year : TBasicType TUInt
+    Ptr Word32 ->                           -- month : TBasicType TUInt
+    Ptr Word32 ->                           -- day : TBasicType TUInt
+    IO ()
+
+{- |
+Obtains the selected date from a 'GI.Gtk.Objects.Calendar.Calendar'.
+-}
+calendarGetDate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar' -}
+    -> m ((Word32, Word32, Word32))
+calendarGetDate calendar = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    year <- allocMem :: IO (Ptr Word32)
+    month <- allocMem :: IO (Ptr Word32)
+    day <- allocMem :: IO (Ptr Word32)
+    gtk_calendar_get_date calendar' year month day
+    year' <- peek year
+    month' <- peek month
+    day' <- peek day
+    touchManagedPtr calendar
+    freeMem year
+    freeMem month
+    freeMem day
+    return (year', month', day')
+
+#if ENABLE_OVERLOADING
+data CalendarGetDateMethodInfo
+instance (signature ~ (m ((Word32, Word32, Word32))), MonadIO m, IsCalendar a) => O.MethodInfo CalendarGetDateMethodInfo a signature where
+    overloadedMethod _ = calendarGetDate
+
+#endif
+
+-- method Calendar::get_day_is_marked
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day number between 1 and 31.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_get_day_is_marked" gtk_calendar_get_day_is_marked :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    Word32 ->                               -- day : TBasicType TUInt
+    IO CInt
+
+{- |
+Returns if the /@day@/ of the /@calendar@/ is already marked.
+
+/Since: 3.0/
+-}
+calendarGetDayIsMarked ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar' -}
+    -> Word32
+    {- ^ /@day@/: the day number between 1 and 31. -}
+    -> m Bool
+    {- ^ __Returns:__ whether the day is marked. -}
+calendarGetDayIsMarked calendar day = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    result <- gtk_calendar_get_day_is_marked calendar' day
+    let result' = (/= 0) result
+    touchManagedPtr calendar
+    return result'
+
+#if ENABLE_OVERLOADING
+data CalendarGetDayIsMarkedMethodInfo
+instance (signature ~ (Word32 -> m Bool), MonadIO m, IsCalendar a) => O.MethodInfo CalendarGetDayIsMarkedMethodInfo a signature where
+    overloadedMethod _ = calendarGetDayIsMarked
+
+#endif
+
+-- method Calendar::get_detail_height_rows
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_get_detail_height_rows" gtk_calendar_get_detail_height_rows :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    IO Int32
+
+{- |
+Queries the height of detail cells, in rows.
+See 'GI.Gtk.Objects.Calendar.Calendar':@/detail-width-chars/@.
+
+/Since: 2.14/
+-}
+calendarGetDetailHeightRows ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> m Int32
+    {- ^ __Returns:__ The height of detail cells, in rows. -}
+calendarGetDetailHeightRows calendar = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    result <- gtk_calendar_get_detail_height_rows calendar'
+    touchManagedPtr calendar
+    return result
+
+#if ENABLE_OVERLOADING
+data CalendarGetDetailHeightRowsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsCalendar a) => O.MethodInfo CalendarGetDetailHeightRowsMethodInfo a signature where
+    overloadedMethod _ = calendarGetDetailHeightRows
+
+#endif
+
+-- method Calendar::get_detail_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_get_detail_width_chars" gtk_calendar_get_detail_width_chars :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    IO Int32
+
+{- |
+Queries the width of detail cells, in characters.
+See 'GI.Gtk.Objects.Calendar.Calendar':@/detail-width-chars/@.
+
+/Since: 2.14/
+-}
+calendarGetDetailWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> m Int32
+    {- ^ __Returns:__ The width of detail cells, in characters. -}
+calendarGetDetailWidthChars calendar = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    result <- gtk_calendar_get_detail_width_chars calendar'
+    touchManagedPtr calendar
+    return result
+
+#if ENABLE_OVERLOADING
+data CalendarGetDetailWidthCharsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsCalendar a) => O.MethodInfo CalendarGetDetailWidthCharsMethodInfo a signature where
+    overloadedMethod _ = calendarGetDetailWidthChars
+
+#endif
+
+-- method Calendar::get_display_options
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CalendarDisplayOptions"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_get_display_options" gtk_calendar_get_display_options :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    IO CUInt
+
+{- |
+Returns the current display options of /@calendar@/.
+
+/Since: 2.4/
+-}
+calendarGetDisplayOptions ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar' -}
+    -> m [Gtk.Flags.CalendarDisplayOptions]
+    {- ^ __Returns:__ the display options. -}
+calendarGetDisplayOptions calendar = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    result <- gtk_calendar_get_display_options calendar'
+    let result' = wordToGFlags result
+    touchManagedPtr calendar
+    return result'
+
+#if ENABLE_OVERLOADING
+data CalendarGetDisplayOptionsMethodInfo
+instance (signature ~ (m [Gtk.Flags.CalendarDisplayOptions]), MonadIO m, IsCalendar a) => O.MethodInfo CalendarGetDisplayOptionsMethodInfo a signature where
+    overloadedMethod _ = calendarGetDisplayOptions
+
+#endif
+
+-- method Calendar::mark_day
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day number to mark between 1 and 31.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_mark_day" gtk_calendar_mark_day :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    Word32 ->                               -- day : TBasicType TUInt
+    IO ()
+
+{- |
+Places a visual marker on a particular day.
+-}
+calendarMarkDay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar' -}
+    -> Word32
+    {- ^ /@day@/: the day number to mark between 1 and 31. -}
+    -> m ()
+calendarMarkDay calendar day = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    gtk_calendar_mark_day calendar' day
+    touchManagedPtr calendar
+    return ()
+
+#if ENABLE_OVERLOADING
+data CalendarMarkDayMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsCalendar a) => O.MethodInfo CalendarMarkDayMethodInfo a signature where
+    overloadedMethod _ = calendarMarkDay
+
+#endif
+
+-- method Calendar::select_day
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day number between 1 and 31, or 0 to unselect\n  the currently selected day.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_select_day" gtk_calendar_select_day :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    Word32 ->                               -- day : TBasicType TUInt
+    IO ()
+
+{- |
+Selects a day from the current month.
+-}
+calendarSelectDay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> Word32
+    {- ^ /@day@/: the day number between 1 and 31, or 0 to unselect
+  the currently selected day. -}
+    -> m ()
+calendarSelectDay calendar day = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    gtk_calendar_select_day calendar' day
+    touchManagedPtr calendar
+    return ()
+
+#if ENABLE_OVERLOADING
+data CalendarSelectDayMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsCalendar a) => O.MethodInfo CalendarSelectDayMethodInfo a signature where
+    overloadedMethod _ = calendarSelectDay
+
+#endif
+
+-- method Calendar::select_month
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a month number between 0 and 11.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the year the month is in.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_select_month" gtk_calendar_select_month :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    Word32 ->                               -- month : TBasicType TUInt
+    Word32 ->                               -- year : TBasicType TUInt
+    IO ()
+
+{- |
+Shifts the calendar to a different month.
+-}
+calendarSelectMonth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar' -}
+    -> Word32
+    {- ^ /@month@/: a month number between 0 and 11. -}
+    -> Word32
+    {- ^ /@year@/: the year the month is in. -}
+    -> m ()
+calendarSelectMonth calendar month year = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    gtk_calendar_select_month calendar' month year
+    touchManagedPtr calendar
+    return ()
+
+#if ENABLE_OVERLOADING
+data CalendarSelectMonthMethodInfo
+instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsCalendar a) => O.MethodInfo CalendarSelectMonthMethodInfo a signature where
+    overloadedMethod _ = calendarSelectMonth
+
+#endif
+
+-- method Calendar::set_detail_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "CalendarDetailFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function providing details for each day.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @func invokations.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function for releasing @data.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_set_detail_func" gtk_calendar_set_detail_func :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    FunPtr Gtk.Callbacks.C_CalendarDetailFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "CalendarDetailFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Installs a function which provides Pango markup with detail information
+for each day. Examples for such details are holidays or appointments. That
+information is shown below each day when 'GI.Gtk.Objects.Calendar.Calendar':@/show-details/@ is set.
+A tooltip containing with full detail information is provided, if the entire
+text should not fit into the details area, or if 'GI.Gtk.Objects.Calendar.Calendar':@/show-details/@
+is not set.
+
+The size of the details area can be restricted by setting the
+'GI.Gtk.Objects.Calendar.Calendar':@/detail-width-chars/@ and 'GI.Gtk.Objects.Calendar.Calendar':@/detail-height-rows/@
+properties.
+
+/Since: 2.14/
+-}
+calendarSetDetailFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> Gtk.Callbacks.CalendarDetailFunc
+    {- ^ /@func@/: a function providing details for each day. -}
+    -> m ()
+calendarSetDetailFunc calendar func = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    func' <- Gtk.Callbacks.mk_CalendarDetailFunc (Gtk.Callbacks.wrap_CalendarDetailFunc Nothing (Gtk.Callbacks.drop_closures_CalendarDetailFunc func))
+    let data_ = castFunPtrToPtr func'
+    let destroy = safeFreeFunPtrPtr
+    gtk_calendar_set_detail_func calendar' func' data_ destroy
+    touchManagedPtr calendar
+    return ()
+
+#if ENABLE_OVERLOADING
+data CalendarSetDetailFuncMethodInfo
+instance (signature ~ (Gtk.Callbacks.CalendarDetailFunc -> m ()), MonadIO m, IsCalendar a) => O.MethodInfo CalendarSetDetailFuncMethodInfo a signature where
+    overloadedMethod _ = calendarSetDetailFunc
+
+#endif
+
+-- method Calendar::set_detail_height_rows
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rows", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "detail height in rows.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_set_detail_height_rows" gtk_calendar_set_detail_height_rows :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    Int32 ->                                -- rows : TBasicType TInt
+    IO ()
+
+{- |
+Updates the height of detail cells.
+See 'GI.Gtk.Objects.Calendar.Calendar':@/detail-height-rows/@.
+
+/Since: 2.14/
+-}
+calendarSetDetailHeightRows ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> Int32
+    {- ^ /@rows@/: detail height in rows. -}
+    -> m ()
+calendarSetDetailHeightRows calendar rows = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    gtk_calendar_set_detail_height_rows calendar' rows
+    touchManagedPtr calendar
+    return ()
+
+#if ENABLE_OVERLOADING
+data CalendarSetDetailHeightRowsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsCalendar a) => O.MethodInfo CalendarSetDetailHeightRowsMethodInfo a signature where
+    overloadedMethod _ = calendarSetDetailHeightRows
+
+#endif
+
+-- method Calendar::set_detail_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "detail width in characters.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_set_detail_width_chars" gtk_calendar_set_detail_width_chars :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    Int32 ->                                -- chars : TBasicType TInt
+    IO ()
+
+{- |
+Updates the width of detail cells.
+See 'GI.Gtk.Objects.Calendar.Calendar':@/detail-width-chars/@.
+
+/Since: 2.14/
+-}
+calendarSetDetailWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> Int32
+    {- ^ /@chars@/: detail width in characters. -}
+    -> m ()
+calendarSetDetailWidthChars calendar chars = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    gtk_calendar_set_detail_width_chars calendar' chars
+    touchManagedPtr calendar
+    return ()
+
+#if ENABLE_OVERLOADING
+data CalendarSetDetailWidthCharsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsCalendar a) => O.MethodInfo CalendarSetDetailWidthCharsMethodInfo a signature where
+    overloadedMethod _ = calendarSetDetailWidthChars
+
+#endif
+
+-- method Calendar::set_display_options
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "CalendarDisplayOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the display options to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_set_display_options" gtk_calendar_set_display_options :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "CalendarDisplayOptions"})
+    IO ()
+
+{- |
+Sets display options (whether to display the heading and the month
+headings).
+
+/Since: 2.4/
+-}
+calendarSetDisplayOptions ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar' -}
+    -> [Gtk.Flags.CalendarDisplayOptions]
+    {- ^ /@flags@/: the display options to set -}
+    -> m ()
+calendarSetDisplayOptions calendar flags = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    let flags' = gflagsToWord flags
+    gtk_calendar_set_display_options calendar' flags'
+    touchManagedPtr calendar
+    return ()
+
+#if ENABLE_OVERLOADING
+data CalendarSetDisplayOptionsMethodInfo
+instance (signature ~ ([Gtk.Flags.CalendarDisplayOptions] -> m ()), MonadIO m, IsCalendar a) => O.MethodInfo CalendarSetDisplayOptionsMethodInfo a signature where
+    overloadedMethod _ = calendarSetDisplayOptions
+
+#endif
+
+-- method Calendar::unmark_day
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "calendar", argType = TInterface (Name {namespace = "Gtk", name = "Calendar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCalendar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day number to unmark between 1 and 31.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_calendar_unmark_day" gtk_calendar_unmark_day :: 
+    Ptr Calendar ->                         -- calendar : TInterface (Name {namespace = "Gtk", name = "Calendar"})
+    Word32 ->                               -- day : TBasicType TUInt
+    IO ()
+
+{- |
+Removes the visual marker from a particular day.
+-}
+calendarUnmarkDay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCalendar a) =>
+    a
+    {- ^ /@calendar@/: a 'GI.Gtk.Objects.Calendar.Calendar'. -}
+    -> Word32
+    {- ^ /@day@/: the day number to unmark between 1 and 31. -}
+    -> m ()
+calendarUnmarkDay calendar day = liftIO $ do
+    calendar' <- unsafeManagedPtrCastPtr calendar
+    gtk_calendar_unmark_day calendar' day
+    touchManagedPtr calendar
+    return ()
+
+#if ENABLE_OVERLOADING
+data CalendarUnmarkDayMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsCalendar a) => O.MethodInfo CalendarUnmarkDayMethodInfo a signature where
+    overloadedMethod _ = calendarUnmarkDay
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Calendar.hs-boot b/GI/Gtk/Objects/Calendar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Calendar.hs-boot
@@ -0,0 +1,122 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Calendar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Calendar = Calendar (ManagedPtr Calendar)
+instance GObject Calendar where
+class (GObject o, O.IsDescendantOf Calendar o) => IsCalendar o
+instance (GObject o, O.IsDescendantOf Calendar o) => IsCalendar o
+instance O.HasParentTypes Calendar
+#if ENABLE_OVERLOADING
+data CalendarDayPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarDetailHeightRowsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarDetailWidthCharsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarMonthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarNoMonthChangePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarShowDayNamesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarShowDetailsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarShowHeadingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarShowWeekNumbersPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarYearPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarDaySelectedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarDaySelectedDoubleClickSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarMonthChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarNextMonthSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarNextYearSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarPrevMonthSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarPrevYearSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarClearMarksMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarGetDateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarGetDayIsMarkedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarGetDetailHeightRowsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarGetDetailWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarGetDisplayOptionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarMarkDayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarSelectDayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarSelectMonthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarSetDetailFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarSetDetailHeightRowsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarSetDetailWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarSetDisplayOptionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CalendarUnmarkDayMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CellAccessible.hs b/GI/Gtk/Objects/CellAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellAccessible.hs
@@ -0,0 +1,175 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellAccessible
+    ( 
+
+-- * Exported types
+    CellAccessible(..)                      ,
+    IsCellAccessible                        ,
+    toCellAccessible                        ,
+    noCellAccessible                        ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.TableCell as Atk.TableCell
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+
+-- | Memory-managed wrapper type.
+newtype CellAccessible = CellAccessible (ManagedPtr CellAccessible)
+foreign import ccall "gtk_cell_accessible_get_type"
+    c_gtk_cell_accessible_get_type :: IO GType
+
+instance GObject CellAccessible where
+    gobjectType = c_gtk_cell_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellAccessible`, for instance with `toCellAccessible`.
+class (GObject o, O.IsDescendantOf CellAccessible o) => IsCellAccessible o
+instance (GObject o, O.IsDescendantOf CellAccessible o) => IsCellAccessible o
+
+instance O.HasParentTypes CellAccessible
+type instance O.ParentTypes CellAccessible = '[Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.TableCell.TableCell]
+
+-- | Cast to `CellAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellAccessible :: (MonadIO m, IsCellAccessible o) => o -> m CellAccessible
+toCellAccessible = liftIO . unsafeCastTo CellAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellAccessible`.
+noCellAccessible :: Maybe CellAccessible
+noCellAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveCellAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveCellAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveCellAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveCellAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveCellAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveCellAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveCellAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveCellAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveCellAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveCellAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveCellAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveCellAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveCellAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveCellAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveCellAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveCellAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveCellAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveCellAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveCellAccessibleMethod "getColumnHeaderCells" o = Atk.TableCell.TableCellGetColumnHeaderCellsMethodInfo
+    ResolveCellAccessibleMethod "getColumnSpan" o = Atk.TableCell.TableCellGetColumnSpanMethodInfo
+    ResolveCellAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveCellAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveCellAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveCellAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveCellAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveCellAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveCellAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveCellAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveCellAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveCellAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveCellAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveCellAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveCellAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveCellAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveCellAccessibleMethod "getRowColumnSpan" o = Atk.TableCell.TableCellGetRowColumnSpanMethodInfo
+    ResolveCellAccessibleMethod "getRowHeaderCells" o = Atk.TableCell.TableCellGetRowHeaderCellsMethodInfo
+    ResolveCellAccessibleMethod "getRowSpan" o = Atk.TableCell.TableCellGetRowSpanMethodInfo
+    ResolveCellAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveCellAccessibleMethod "getTable" o = Atk.TableCell.TableCellGetTableMethodInfo
+    ResolveCellAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveCellAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveCellAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveCellAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveCellAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveCellAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveCellAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveCellAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveCellAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveCellAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellAccessibleMethod t CellAccessible, O.MethodInfo info CellAccessible p) => OL.IsLabel t (CellAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellAccessible
+type instance O.AttributeList CellAccessible = CellAccessibleAttributeList
+type CellAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellAccessible = CellAccessibleSignalList
+type CellAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellAccessible.hs-boot b/GI/Gtk/Objects/CellAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellAccessible = CellAccessible (ManagedPtr CellAccessible)
+instance GObject CellAccessible where
+class (GObject o, O.IsDescendantOf CellAccessible o) => IsCellAccessible o
+instance (GObject o, O.IsDescendantOf CellAccessible o) => IsCellAccessible o
+instance O.HasParentTypes CellAccessible
diff --git a/GI/Gtk/Objects/CellArea.hs b/GI/Gtk/Objects/CellArea.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellArea.hs
@@ -0,0 +1,3410 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.CellArea.CellArea' is an abstract class for 'GI.Gtk.Interfaces.CellLayout.CellLayout' widgets
+(also referred to as \"layouting widgets\") to interface with an
+arbitrary number of @/GtkCellRenderers/@ and interact with the user
+for a given 'GI.Gtk.Interfaces.TreeModel.TreeModel' row.
+
+The cell area handles events, focus navigation, drawing and
+size requests and allocations for a given row of data.
+
+Usually users dont have to interact with the 'GI.Gtk.Objects.CellArea.CellArea' directly
+unless they are implementing a cell-layouting widget themselves.
+
+= Requesting area sizes
+
+As outlined in
+[GtkWidget’s geometry management section][geometry-management],
+GTK+ uses a height-for-width
+geometry management system to compute the sizes of widgets and user
+interfaces. 'GI.Gtk.Objects.CellArea.CellArea' uses the same semantics to calculate the
+size of an area for an arbitrary number of 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows.
+
+When requesting the size of a cell area one needs to calculate
+the size for a handful of rows, and this will be done differently by
+different layouting widgets. For instance a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'
+always lines up the areas from top to bottom while a 'GI.Gtk.Objects.IconView.IconView'
+on the other hand might enforce that all areas received the same
+width and wrap the areas around, requesting height for more cell
+areas when allocated less width.
+
+It’s also important for areas to maintain some cell
+alignments with areas rendered for adjacent rows (cells can
+appear “columnized” inside an area even when the size of
+cells are different in each row). For this reason the 'GI.Gtk.Objects.CellArea.CellArea'
+uses a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' object to store the alignments
+and sizes along the way (as well as the overall largest minimum
+and natural size for all the rows which have been calculated
+with the said context).
+
+The 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' is an opaque object specific to the
+'GI.Gtk.Objects.CellArea.CellArea' which created it (see 'GI.Gtk.Objects.CellArea.cellAreaCreateContext').
+The owning cell-layouting widget can create as many contexts as
+it wishes to calculate sizes of rows which should receive the
+same size in at least one orientation (horizontally or vertically),
+However, it’s important that the same 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' which
+was used to request the sizes for a given 'GI.Gtk.Interfaces.TreeModel.TreeModel' row be
+used when rendering or processing events for that row.
+
+In order to request the width of all the rows at the root level
+of a 'GI.Gtk.Interfaces.TreeModel.TreeModel' one would do the following:
+
+
+=== /C code/
+>
+>GtkTreeIter iter;
+>gint        minimum_width;
+>gint        natural_width;
+>
+>valid = gtk_tree_model_get_iter_first (model, &iter);
+>while (valid)
+>  {
+>    gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
+>    gtk_cell_area_get_preferred_width (area, context, widget, NULL, NULL);
+>
+>    valid = gtk_tree_model_iter_next (model, &iter);
+>  }
+>gtk_cell_area_context_get_preferred_width (context, &minimum_width, &natural_width);
+
+
+Note that in this example it’s not important to observe the
+returned minimum and natural width of the area for each row
+unless the cell-layouting object is actually interested in the
+widths of individual rows. The overall width is however stored
+in the accompanying 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' object and can be consulted
+at any time.
+
+This can be useful since 'GI.Gtk.Interfaces.CellLayout.CellLayout' widgets usually have to
+support requesting and rendering rows in treemodels with an
+exceedingly large amount of rows. The 'GI.Gtk.Interfaces.CellLayout.CellLayout' widget in
+that case would calculate the required width of the rows in an
+idle or timeout source (see @/g_timeout_add()/@) and when the widget
+is requested its actual width in 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_width/@()
+it can simply consult the width accumulated so far in the
+'GI.Gtk.Objects.CellAreaContext.CellAreaContext' object.
+
+A simple example where rows are rendered from top to bottom and
+take up the full width of the layouting widget would look like:
+
+
+=== /C code/
+>
+>static void
+>foo_get_preferred_width (GtkWidget       *widget,
+>                         gint            *minimum_size,
+>                         gint            *natural_size)
+>{
+>  Foo        *foo  = FOO (widget);
+>  FooPrivate *priv = foo->priv;
+>
+>  foo_ensure_at_least_one_handfull_of_rows_have_been_requested (foo);
+>
+>  gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size);
+>}
+
+
+In the above example the Foo widget has to make sure that some
+row sizes have been calculated (the amount of rows that Foo judged
+was appropriate to request space for in a single timeout iteration)
+before simply returning the amount of space required by the area via
+the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext'.
+
+Requesting the height for width (or width for height) of an area is
+a similar task except in this case the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' does not
+store the data (actually, it does not know how much space the layouting
+widget plans to allocate it for every row. It’s up to the layouting
+widget to render each row of data with the appropriate height and
+width which was requested by the 'GI.Gtk.Objects.CellArea.CellArea').
+
+In order to request the height for width of all the rows at the
+root level of a 'GI.Gtk.Interfaces.TreeModel.TreeModel' one would do the following:
+
+
+=== /C code/
+>
+>GtkTreeIter iter;
+>gint        minimum_height;
+>gint        natural_height;
+>gint        full_minimum_height = 0;
+>gint        full_natural_height = 0;
+>
+>valid = gtk_tree_model_get_iter_first (model, &iter);
+>while (valid)
+>  {
+>    gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
+>    gtk_cell_area_get_preferred_height_for_width (area, context, widget,
+>                                                  width, &minimum_height, &natural_height);
+>
+>    if (width_is_for_allocation)
+>       cache_row_height (&iter, minimum_height, natural_height);
+>
+>    full_minimum_height += minimum_height;
+>    full_natural_height += natural_height;
+>
+>    valid = gtk_tree_model_iter_next (model, &iter);
+>  }
+
+
+Note that in the above example we would need to cache the heights
+returned for each row so that we would know what sizes to render the
+areas for each row. However we would only want to really cache the
+heights if the request is intended for the layouting widgets real
+allocation.
+
+In some cases the layouting widget is requested the height for an
+arbitrary for_width, this is a special case for layouting widgets
+who need to request size for tens of thousands  of rows. For this
+case it’s only important that the layouting widget calculate
+one reasonably sized chunk of rows and return that height
+synchronously. The reasoning here is that any layouting widget is
+at least capable of synchronously calculating enough height to fill
+the screen height (or scrolled window height) in response to a single
+call to 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_height_for_width/@(). Returning
+a perfect height for width that is larger than the screen area is
+inconsequential since after the layouting receives an allocation
+from a scrolled window it simply continues to drive the scrollbar
+values while more and more height is required for the row heights
+that are calculated in the background.
+
+= Rendering Areas
+
+Once area sizes have been aquired at least for the rows in the
+visible area of the layouting widget they can be rendered at
+'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/draw/@() time.
+
+A crude example of how to render all the rows at the root level
+runs as follows:
+
+
+=== /C code/
+>
+>GtkAllocation allocation;
+>GdkRectangle  cell_area = { 0, };
+>GtkTreeIter   iter;
+>gint          minimum_width;
+>gint          natural_width;
+>
+>gtk_widget_get_allocation (widget, &allocation);
+>cell_area.width = allocation.width;
+>
+>valid = gtk_tree_model_get_iter_first (model, &iter);
+>while (valid)
+>  {
+>    cell_area.height = get_cached_height_for_row (&iter);
+>
+>    gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
+>    gtk_cell_area_render (area, context, widget, cr,
+>                          &cell_area, &cell_area, state_flags, FALSE);
+>
+>    cell_area.y += cell_area.height;
+>
+>    valid = gtk_tree_model_iter_next (model, &iter);
+>  }
+
+
+Note that the cached height in this example really depends on how
+the layouting widget works. The layouting widget might decide to
+give every row its minimum or natural height or, if the model content
+is expected to fit inside the layouting widget without scrolling, it
+would make sense to calculate the allocation for each row at
+'GI.Gtk.Objects.Widget.Widget'::@/size-allocate/@ time using 'GI.Gtk.Functions.distributeNaturalAllocation'.
+
+= Handling Events and Driving Keyboard Focus
+
+Passing events to the area is as simple as handling events on any
+normal widget and then passing them to the 'GI.Gtk.Objects.CellArea.cellAreaEvent'
+API as they come in. Usually 'GI.Gtk.Objects.CellArea.CellArea' is only interested in
+button events, however some customized derived areas can be implemented
+who are interested in handling other events. Handling an event can
+trigger the 'GI.Gtk.Objects.CellArea.CellArea'::@/focus-changed/@ signal to fire; as well as
+'GI.Gtk.Objects.CellArea.CellArea'::@/add-editable/@ in the case that an editable cell was
+clicked and needs to start editing. You can call
+'GI.Gtk.Objects.CellArea.cellAreaStopEditing' at any time to cancel any cell editing
+that is currently in progress.
+
+The 'GI.Gtk.Objects.CellArea.CellArea' drives keyboard focus from cell to cell in a way
+similar to 'GI.Gtk.Objects.Widget.Widget'. For layouting widgets that support giving
+focus to cells it’s important to remember to pass 'GI.Gtk.Flags.CellRendererStateFocused'
+to the area functions for the row that has focus and to tell the
+area to paint the focus at render time.
+
+Layouting widgets that accept focus on cells should implement the
+'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/focus/@() virtual method. The layouting widget is always
+responsible for knowing where 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows are rendered inside
+the widget, so at 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/focus/@() time the layouting widget
+should use the 'GI.Gtk.Objects.CellArea.CellArea' methods to navigate focus inside the area
+and then observe the GtkDirectionType to pass the focus to adjacent
+rows and areas.
+
+A basic example of how the 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/focus/@() virtual method
+should be implemented:
+
+
+=== /C code/
+>
+>static gboolean
+>foo_focus (GtkWidget       *widget,
+>           GtkDirectionType direction)
+>{
+>  Foo        *foo  = FOO (widget);
+>  FooPrivate *priv = foo->priv;
+>  gint        focus_row;
+>  gboolean    have_focus = FALSE;
+>
+>  focus_row = priv->focus_row;
+>
+>  if (!gtk_widget_has_focus (widget))
+>    gtk_widget_grab_focus (widget);
+>
+>  valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, priv->focus_row);
+>  while (valid)
+>    {
+>      gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE);
+>
+>      if (gtk_cell_area_focus (priv->area, direction))
+>        {
+>           priv->focus_row = focus_row;
+>           have_focus = TRUE;
+>           break;
+>        }
+>      else
+>        {
+>          if (direction == GTK_DIR_RIGHT ||
+>              direction == GTK_DIR_LEFT)
+>            break;
+>          else if (direction == GTK_DIR_UP ||
+>                   direction == GTK_DIR_TAB_BACKWARD)
+>           {
+>              if (focus_row == 0)
+>                break;
+>              else
+>               {
+>                  focus_row--;
+>                  valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row);
+>               }
+>            }
+>          else
+>            {
+>              if (focus_row == last_row)
+>                break;
+>              else
+>                {
+>                  focus_row++;
+>                  valid = gtk_tree_model_iter_next (priv->model, &iter);
+>                }
+>            }
+>        }
+>    }
+>    return have_focus;
+>}
+
+
+Note that the layouting widget is responsible for matching the
+GtkDirectionType values to the way it lays out its cells.
+
+= Cell Properties
+
+The 'GI.Gtk.Objects.CellArea.CellArea' introduces cell properties for @/GtkCellRenderers/@
+in very much the same way that 'GI.Gtk.Objects.Container.Container' introduces
+[child properties][child-properties]
+for @/GtkWidgets/@. This provides some general interfaces for defining
+the relationship cell areas have with their cells. For instance in a
+'GI.Gtk.Objects.CellAreaBox.CellAreaBox' a cell might “expand” and receive extra space when
+the area is allocated more than its full natural request, or a cell
+might be configured to “align” with adjacent rows which were requested
+and rendered with the same 'GI.Gtk.Objects.CellAreaContext.CellAreaContext'.
+
+Use 'GI.Gtk.Structs.CellAreaClass.cellAreaClassInstallCellProperty' to install cell
+properties for a cell area class and 'GI.Gtk.Structs.CellAreaClass.cellAreaClassFindCellProperty'
+or 'GI.Gtk.Structs.CellAreaClass.cellAreaClassListCellProperties' to get information about
+existing cell properties.
+
+To set the value of a cell property, use 'GI.Gtk.Objects.CellArea.cellAreaCellSetProperty',
+@/gtk_cell_area_cell_set()/@ or @/gtk_cell_area_cell_set_valist()/@. To obtain
+the value of a cell property, use 'GI.Gtk.Objects.CellArea.cellAreaCellGetProperty',
+@/gtk_cell_area_cell_get()/@ or @/gtk_cell_area_cell_get_valist()/@.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellArea
+    ( 
+
+-- * Exported types
+    CellArea(..)                            ,
+    IsCellArea                              ,
+    toCellArea                              ,
+    noCellArea                              ,
+
+
+ -- * Methods
+-- ** activate #method:activate#
+
+#if ENABLE_OVERLOADING
+    CellAreaActivateMethodInfo              ,
+#endif
+    cellAreaActivate                        ,
+
+
+-- ** activateCell #method:activateCell#
+
+#if ENABLE_OVERLOADING
+    CellAreaActivateCellMethodInfo          ,
+#endif
+    cellAreaActivateCell                    ,
+
+
+-- ** add #method:add#
+
+#if ENABLE_OVERLOADING
+    CellAreaAddMethodInfo                   ,
+#endif
+    cellAreaAdd                             ,
+
+
+-- ** addFocusSibling #method:addFocusSibling#
+
+#if ENABLE_OVERLOADING
+    CellAreaAddFocusSiblingMethodInfo       ,
+#endif
+    cellAreaAddFocusSibling                 ,
+
+
+-- ** applyAttributes #method:applyAttributes#
+
+#if ENABLE_OVERLOADING
+    CellAreaApplyAttributesMethodInfo       ,
+#endif
+    cellAreaApplyAttributes                 ,
+
+
+-- ** attributeConnect #method:attributeConnect#
+
+#if ENABLE_OVERLOADING
+    CellAreaAttributeConnectMethodInfo      ,
+#endif
+    cellAreaAttributeConnect                ,
+
+
+-- ** attributeDisconnect #method:attributeDisconnect#
+
+#if ENABLE_OVERLOADING
+    CellAreaAttributeDisconnectMethodInfo   ,
+#endif
+    cellAreaAttributeDisconnect             ,
+
+
+-- ** attributeGetColumn #method:attributeGetColumn#
+
+#if ENABLE_OVERLOADING
+    CellAreaAttributeGetColumnMethodInfo    ,
+#endif
+    cellAreaAttributeGetColumn              ,
+
+
+-- ** cellGetProperty #method:cellGetProperty#
+
+#if ENABLE_OVERLOADING
+    CellAreaCellGetPropertyMethodInfo       ,
+#endif
+    cellAreaCellGetProperty                 ,
+
+
+-- ** cellSetProperty #method:cellSetProperty#
+
+#if ENABLE_OVERLOADING
+    CellAreaCellSetPropertyMethodInfo       ,
+#endif
+    cellAreaCellSetProperty                 ,
+
+
+-- ** copyContext #method:copyContext#
+
+#if ENABLE_OVERLOADING
+    CellAreaCopyContextMethodInfo           ,
+#endif
+    cellAreaCopyContext                     ,
+
+
+-- ** createContext #method:createContext#
+
+#if ENABLE_OVERLOADING
+    CellAreaCreateContextMethodInfo         ,
+#endif
+    cellAreaCreateContext                   ,
+
+
+-- ** event #method:event#
+
+#if ENABLE_OVERLOADING
+    CellAreaEventMethodInfo                 ,
+#endif
+    cellAreaEvent                           ,
+
+
+-- ** focus #method:focus#
+
+#if ENABLE_OVERLOADING
+    CellAreaFocusMethodInfo                 ,
+#endif
+    cellAreaFocus                           ,
+
+
+-- ** foreach #method:foreach#
+
+#if ENABLE_OVERLOADING
+    CellAreaForeachMethodInfo               ,
+#endif
+    cellAreaForeach                         ,
+
+
+-- ** foreachAlloc #method:foreachAlloc#
+
+#if ENABLE_OVERLOADING
+    CellAreaForeachAllocMethodInfo          ,
+#endif
+    cellAreaForeachAlloc                    ,
+
+
+-- ** getCellAllocation #method:getCellAllocation#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetCellAllocationMethodInfo     ,
+#endif
+    cellAreaGetCellAllocation               ,
+
+
+-- ** getCellAtPosition #method:getCellAtPosition#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetCellAtPositionMethodInfo     ,
+#endif
+    cellAreaGetCellAtPosition               ,
+
+
+-- ** getCurrentPathString #method:getCurrentPathString#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetCurrentPathStringMethodInfo  ,
+#endif
+    cellAreaGetCurrentPathString            ,
+
+
+-- ** getEditWidget #method:getEditWidget#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetEditWidgetMethodInfo         ,
+#endif
+    cellAreaGetEditWidget                   ,
+
+
+-- ** getEditedCell #method:getEditedCell#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetEditedCellMethodInfo         ,
+#endif
+    cellAreaGetEditedCell                   ,
+
+
+-- ** getFocusCell #method:getFocusCell#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetFocusCellMethodInfo          ,
+#endif
+    cellAreaGetFocusCell                    ,
+
+
+-- ** getFocusFromSibling #method:getFocusFromSibling#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetFocusFromSiblingMethodInfo   ,
+#endif
+    cellAreaGetFocusFromSibling             ,
+
+
+-- ** getFocusSiblings #method:getFocusSiblings#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetFocusSiblingsMethodInfo      ,
+#endif
+    cellAreaGetFocusSiblings                ,
+
+
+-- ** getPreferredHeight #method:getPreferredHeight#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetPreferredHeightMethodInfo    ,
+#endif
+    cellAreaGetPreferredHeight              ,
+
+
+-- ** getPreferredHeightForWidth #method:getPreferredHeightForWidth#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetPreferredHeightForWidthMethodInfo,
+#endif
+    cellAreaGetPreferredHeightForWidth      ,
+
+
+-- ** getPreferredWidth #method:getPreferredWidth#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetPreferredWidthMethodInfo     ,
+#endif
+    cellAreaGetPreferredWidth               ,
+
+
+-- ** getPreferredWidthForHeight #method:getPreferredWidthForHeight#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetPreferredWidthForHeightMethodInfo,
+#endif
+    cellAreaGetPreferredWidthForHeight      ,
+
+
+-- ** getRequestMode #method:getRequestMode#
+
+#if ENABLE_OVERLOADING
+    CellAreaGetRequestModeMethodInfo        ,
+#endif
+    cellAreaGetRequestMode                  ,
+
+
+-- ** hasRenderer #method:hasRenderer#
+
+#if ENABLE_OVERLOADING
+    CellAreaHasRendererMethodInfo           ,
+#endif
+    cellAreaHasRenderer                     ,
+
+
+-- ** innerCellArea #method:innerCellArea#
+
+#if ENABLE_OVERLOADING
+    CellAreaInnerCellAreaMethodInfo         ,
+#endif
+    cellAreaInnerCellArea                   ,
+
+
+-- ** isActivatable #method:isActivatable#
+
+#if ENABLE_OVERLOADING
+    CellAreaIsActivatableMethodInfo         ,
+#endif
+    cellAreaIsActivatable                   ,
+
+
+-- ** isFocusSibling #method:isFocusSibling#
+
+#if ENABLE_OVERLOADING
+    CellAreaIsFocusSiblingMethodInfo        ,
+#endif
+    cellAreaIsFocusSibling                  ,
+
+
+-- ** remove #method:remove#
+
+#if ENABLE_OVERLOADING
+    CellAreaRemoveMethodInfo                ,
+#endif
+    cellAreaRemove                          ,
+
+
+-- ** removeFocusSibling #method:removeFocusSibling#
+
+#if ENABLE_OVERLOADING
+    CellAreaRemoveFocusSiblingMethodInfo    ,
+#endif
+    cellAreaRemoveFocusSibling              ,
+
+
+-- ** render #method:render#
+
+#if ENABLE_OVERLOADING
+    CellAreaRenderMethodInfo                ,
+#endif
+    cellAreaRender                          ,
+
+
+-- ** requestRenderer #method:requestRenderer#
+
+#if ENABLE_OVERLOADING
+    CellAreaRequestRendererMethodInfo       ,
+#endif
+    cellAreaRequestRenderer                 ,
+
+
+-- ** setFocusCell #method:setFocusCell#
+
+#if ENABLE_OVERLOADING
+    CellAreaSetFocusCellMethodInfo          ,
+#endif
+    cellAreaSetFocusCell                    ,
+
+
+-- ** stopEditing #method:stopEditing#
+
+#if ENABLE_OVERLOADING
+    CellAreaStopEditingMethodInfo           ,
+#endif
+    cellAreaStopEditing                     ,
+
+
+
+
+ -- * Properties
+-- ** editWidget #attr:editWidget#
+{- | The widget currently editing the edited cell
+
+This property is read-only and only changes as
+a result of a call 'GI.Gtk.Objects.CellArea.cellAreaActivateCell'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellAreaEditWidgetPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    cellAreaEditWidget                      ,
+#endif
+    getCellAreaEditWidget                   ,
+
+
+-- ** editedCell #attr:editedCell#
+{- | The cell in the area that is currently edited
+
+This property is read-only and only changes as
+a result of a call 'GI.Gtk.Objects.CellArea.cellAreaActivateCell'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellAreaEditedCellPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    cellAreaEditedCell                      ,
+#endif
+    getCellAreaEditedCell                   ,
+
+
+-- ** focusCell #attr:focusCell#
+{- | The cell in the area that currently has focus
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellAreaFocusCellPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    cellAreaFocusCell                       ,
+#endif
+    constructCellAreaFocusCell              ,
+    getCellAreaFocusCell                    ,
+    setCellAreaFocusCell                    ,
+
+
+
+
+ -- * Signals
+-- ** addEditable #signal:addEditable#
+
+    C_CellAreaAddEditableCallback           ,
+    CellAreaAddEditableCallback             ,
+#if ENABLE_OVERLOADING
+    CellAreaAddEditableSignalInfo           ,
+#endif
+    afterCellAreaAddEditable                ,
+    genClosure_CellAreaAddEditable          ,
+    mk_CellAreaAddEditableCallback          ,
+    noCellAreaAddEditableCallback           ,
+    onCellAreaAddEditable                   ,
+    wrap_CellAreaAddEditableCallback        ,
+
+
+-- ** applyAttributes #signal:applyAttributes#
+
+    C_CellAreaApplyAttributesCallback       ,
+    CellAreaApplyAttributesCallback         ,
+#if ENABLE_OVERLOADING
+    CellAreaApplyAttributesSignalInfo       ,
+#endif
+    afterCellAreaApplyAttributes            ,
+    genClosure_CellAreaApplyAttributes      ,
+    mk_CellAreaApplyAttributesCallback      ,
+    noCellAreaApplyAttributesCallback       ,
+    onCellAreaApplyAttributes               ,
+    wrap_CellAreaApplyAttributesCallback    ,
+
+
+-- ** focusChanged #signal:focusChanged#
+
+    C_CellAreaFocusChangedCallback          ,
+    CellAreaFocusChangedCallback            ,
+#if ENABLE_OVERLOADING
+    CellAreaFocusChangedSignalInfo          ,
+#endif
+    afterCellAreaFocusChanged               ,
+    genClosure_CellAreaFocusChanged         ,
+    mk_CellAreaFocusChangedCallback         ,
+    noCellAreaFocusChangedCallback          ,
+    onCellAreaFocusChanged                  ,
+    wrap_CellAreaFocusChangedCallback       ,
+
+
+-- ** removeEditable #signal:removeEditable#
+
+    C_CellAreaRemoveEditableCallback        ,
+    CellAreaRemoveEditableCallback          ,
+#if ENABLE_OVERLOADING
+    CellAreaRemoveEditableSignalInfo        ,
+#endif
+    afterCellAreaRemoveEditable             ,
+    genClosure_CellAreaRemoveEditable       ,
+    mk_CellAreaRemoveEditableCallback       ,
+    noCellAreaRemoveEditableCallback        ,
+    onCellAreaRemoveEditable                ,
+    wrap_CellAreaRemoveEditableCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Context as Cairo.Context
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellEditable as Gtk.CellEditable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellAreaContext as Gtk.CellAreaContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+
+-- | Memory-managed wrapper type.
+newtype CellArea = CellArea (ManagedPtr CellArea)
+foreign import ccall "gtk_cell_area_get_type"
+    c_gtk_cell_area_get_type :: IO GType
+
+instance GObject CellArea where
+    gobjectType = c_gtk_cell_area_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellArea`, for instance with `toCellArea`.
+class (GObject o, O.IsDescendantOf CellArea o) => IsCellArea o
+instance (GObject o, O.IsDescendantOf CellArea o) => IsCellArea o
+
+instance O.HasParentTypes CellArea
+type instance O.ParentTypes CellArea = '[GObject.Object.Object, Gtk.Buildable.Buildable, Gtk.CellLayout.CellLayout]
+
+-- | Cast to `CellArea`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellArea :: (MonadIO m, IsCellArea o) => o -> m CellArea
+toCellArea = liftIO . unsafeCastTo CellArea
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellArea`.
+noCellArea :: Maybe CellArea
+noCellArea = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellAreaMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellAreaMethod "activate" o = CellAreaActivateMethodInfo
+    ResolveCellAreaMethod "activateCell" o = CellAreaActivateCellMethodInfo
+    ResolveCellAreaMethod "add" o = CellAreaAddMethodInfo
+    ResolveCellAreaMethod "addAttribute" o = Gtk.CellLayout.CellLayoutAddAttributeMethodInfo
+    ResolveCellAreaMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveCellAreaMethod "addFocusSibling" o = CellAreaAddFocusSiblingMethodInfo
+    ResolveCellAreaMethod "applyAttributes" o = CellAreaApplyAttributesMethodInfo
+    ResolveCellAreaMethod "attributeConnect" o = CellAreaAttributeConnectMethodInfo
+    ResolveCellAreaMethod "attributeDisconnect" o = CellAreaAttributeDisconnectMethodInfo
+    ResolveCellAreaMethod "attributeGetColumn" o = CellAreaAttributeGetColumnMethodInfo
+    ResolveCellAreaMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellAreaMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellAreaMethod "cellGetProperty" o = CellAreaCellGetPropertyMethodInfo
+    ResolveCellAreaMethod "cellSetProperty" o = CellAreaCellSetPropertyMethodInfo
+    ResolveCellAreaMethod "clear" o = Gtk.CellLayout.CellLayoutClearMethodInfo
+    ResolveCellAreaMethod "clearAttributes" o = Gtk.CellLayout.CellLayoutClearAttributesMethodInfo
+    ResolveCellAreaMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveCellAreaMethod "copyContext" o = CellAreaCopyContextMethodInfo
+    ResolveCellAreaMethod "createContext" o = CellAreaCreateContextMethodInfo
+    ResolveCellAreaMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveCellAreaMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveCellAreaMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveCellAreaMethod "event" o = CellAreaEventMethodInfo
+    ResolveCellAreaMethod "focus" o = CellAreaFocusMethodInfo
+    ResolveCellAreaMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellAreaMethod "foreach" o = CellAreaForeachMethodInfo
+    ResolveCellAreaMethod "foreachAlloc" o = CellAreaForeachAllocMethodInfo
+    ResolveCellAreaMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellAreaMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellAreaMethod "hasRenderer" o = CellAreaHasRendererMethodInfo
+    ResolveCellAreaMethod "innerCellArea" o = CellAreaInnerCellAreaMethodInfo
+    ResolveCellAreaMethod "isActivatable" o = CellAreaIsActivatableMethodInfo
+    ResolveCellAreaMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellAreaMethod "isFocusSibling" o = CellAreaIsFocusSiblingMethodInfo
+    ResolveCellAreaMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellAreaMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellAreaMethod "packEnd" o = Gtk.CellLayout.CellLayoutPackEndMethodInfo
+    ResolveCellAreaMethod "packStart" o = Gtk.CellLayout.CellLayoutPackStartMethodInfo
+    ResolveCellAreaMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveCellAreaMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellAreaMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellAreaMethod "remove" o = CellAreaRemoveMethodInfo
+    ResolveCellAreaMethod "removeFocusSibling" o = CellAreaRemoveFocusSiblingMethodInfo
+    ResolveCellAreaMethod "render" o = CellAreaRenderMethodInfo
+    ResolveCellAreaMethod "reorder" o = Gtk.CellLayout.CellLayoutReorderMethodInfo
+    ResolveCellAreaMethod "requestRenderer" o = CellAreaRequestRendererMethodInfo
+    ResolveCellAreaMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellAreaMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellAreaMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellAreaMethod "stopEditing" o = CellAreaStopEditingMethodInfo
+    ResolveCellAreaMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellAreaMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellAreaMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellAreaMethod "getArea" o = Gtk.CellLayout.CellLayoutGetAreaMethodInfo
+    ResolveCellAreaMethod "getCellAllocation" o = CellAreaGetCellAllocationMethodInfo
+    ResolveCellAreaMethod "getCellAtPosition" o = CellAreaGetCellAtPositionMethodInfo
+    ResolveCellAreaMethod "getCells" o = Gtk.CellLayout.CellLayoutGetCellsMethodInfo
+    ResolveCellAreaMethod "getCurrentPathString" o = CellAreaGetCurrentPathStringMethodInfo
+    ResolveCellAreaMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellAreaMethod "getEditWidget" o = CellAreaGetEditWidgetMethodInfo
+    ResolveCellAreaMethod "getEditedCell" o = CellAreaGetEditedCellMethodInfo
+    ResolveCellAreaMethod "getFocusCell" o = CellAreaGetFocusCellMethodInfo
+    ResolveCellAreaMethod "getFocusFromSibling" o = CellAreaGetFocusFromSiblingMethodInfo
+    ResolveCellAreaMethod "getFocusSiblings" o = CellAreaGetFocusSiblingsMethodInfo
+    ResolveCellAreaMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveCellAreaMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveCellAreaMethod "getPreferredHeight" o = CellAreaGetPreferredHeightMethodInfo
+    ResolveCellAreaMethod "getPreferredHeightForWidth" o = CellAreaGetPreferredHeightForWidthMethodInfo
+    ResolveCellAreaMethod "getPreferredWidth" o = CellAreaGetPreferredWidthMethodInfo
+    ResolveCellAreaMethod "getPreferredWidthForHeight" o = CellAreaGetPreferredWidthForHeightMethodInfo
+    ResolveCellAreaMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellAreaMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellAreaMethod "getRequestMode" o = CellAreaGetRequestModeMethodInfo
+    ResolveCellAreaMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveCellAreaMethod "setCellDataFunc" o = Gtk.CellLayout.CellLayoutSetCellDataFuncMethodInfo
+    ResolveCellAreaMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellAreaMethod "setFocusCell" o = CellAreaSetFocusCellMethodInfo
+    ResolveCellAreaMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveCellAreaMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellAreaMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellAreaMethod t CellArea, O.MethodInfo info CellArea p) => OL.IsLabel t (CellArea -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal CellArea::add-editable
+{- |
+Indicates that editing has started on /@renderer@/ and that /@editable@/
+should be added to the owning cell-layouting widget at /@cellArea@/.
+
+/Since: 3.0/
+-}
+type CellAreaAddEditableCallback =
+    Gtk.CellRenderer.CellRenderer
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' that started the edited -}
+    -> Gtk.CellEditable.CellEditable
+    {- ^ /@editable@/: the 'GI.Gtk.Interfaces.CellEditable.CellEditable' widget to add -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the 'GI.Gtk.Objects.Widget.Widget' relative 'GI.Gdk.Structs.Rectangle.Rectangle' coordinates
+            where /@editable@/ should be added -}
+    -> T.Text
+    {- ^ /@path@/: the 'GI.Gtk.Structs.TreePath.TreePath' string this edit was initiated for -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellAreaAddEditableCallback`@.
+noCellAreaAddEditableCallback :: Maybe CellAreaAddEditableCallback
+noCellAreaAddEditableCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellAreaAddEditableCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.CellRenderer.CellRenderer ->
+    Ptr Gtk.CellEditable.CellEditable ->
+    Ptr Gdk.Rectangle.Rectangle ->
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellAreaAddEditableCallback`.
+foreign import ccall "wrapper"
+    mk_CellAreaAddEditableCallback :: C_CellAreaAddEditableCallback -> IO (FunPtr C_CellAreaAddEditableCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellAreaAddEditable :: MonadIO m => CellAreaAddEditableCallback -> m (GClosure C_CellAreaAddEditableCallback)
+genClosure_CellAreaAddEditable cb = liftIO $ do
+    let cb' = wrap_CellAreaAddEditableCallback cb
+    mk_CellAreaAddEditableCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellAreaAddEditableCallback` into a `C_CellAreaAddEditableCallback`.
+wrap_CellAreaAddEditableCallback ::
+    CellAreaAddEditableCallback ->
+    C_CellAreaAddEditableCallback
+wrap_CellAreaAddEditableCallback _cb _ renderer editable cellArea path _ = do
+    renderer' <- (newObject Gtk.CellRenderer.CellRenderer) renderer
+    editable' <- (newObject Gtk.CellEditable.CellEditable) editable
+    B.ManagedPtr.withTransient Gdk.Rectangle.Rectangle cellArea $ \cellArea' -> do
+        path' <- cstringToText path
+        _cb  renderer' editable' cellArea' path'
+
+
+{- |
+Connect a signal handler for the “@add-editable@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellArea #addEditable callback
+@
+-}
+onCellAreaAddEditable :: (IsCellArea a, MonadIO m) => a -> CellAreaAddEditableCallback -> m SignalHandlerId
+onCellAreaAddEditable obj cb = liftIO $ do
+    let cb' = wrap_CellAreaAddEditableCallback cb
+    cb'' <- mk_CellAreaAddEditableCallback cb'
+    connectSignalFunPtr obj "add-editable" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@add-editable@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellArea #addEditable callback
+@
+-}
+afterCellAreaAddEditable :: (IsCellArea a, MonadIO m) => a -> CellAreaAddEditableCallback -> m SignalHandlerId
+afterCellAreaAddEditable obj cb = liftIO $ do
+    let cb' = wrap_CellAreaAddEditableCallback cb
+    cb'' <- mk_CellAreaAddEditableCallback cb'
+    connectSignalFunPtr obj "add-editable" cb'' SignalConnectAfter
+
+
+-- signal CellArea::apply-attributes
+{- |
+This signal is emitted whenever applying attributes to /@area@/ from /@model@/
+
+/Since: 3.0/
+-}
+type CellAreaApplyAttributesCallback =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' to apply the attributes from -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter' indicating which row to apply the attributes of -}
+    -> Bool
+    {- ^ /@isExpander@/: whether the view shows children for this row -}
+    -> Bool
+    {- ^ /@isExpanded@/: whether the view is currently showing the children of this row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellAreaApplyAttributesCallback`@.
+noCellAreaApplyAttributesCallback :: Maybe CellAreaApplyAttributesCallback
+noCellAreaApplyAttributesCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellAreaApplyAttributesCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    CInt ->
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellAreaApplyAttributesCallback`.
+foreign import ccall "wrapper"
+    mk_CellAreaApplyAttributesCallback :: C_CellAreaApplyAttributesCallback -> IO (FunPtr C_CellAreaApplyAttributesCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellAreaApplyAttributes :: MonadIO m => CellAreaApplyAttributesCallback -> m (GClosure C_CellAreaApplyAttributesCallback)
+genClosure_CellAreaApplyAttributes cb = liftIO $ do
+    let cb' = wrap_CellAreaApplyAttributesCallback cb
+    mk_CellAreaApplyAttributesCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellAreaApplyAttributesCallback` into a `C_CellAreaApplyAttributesCallback`.
+wrap_CellAreaApplyAttributesCallback ::
+    CellAreaApplyAttributesCallback ->
+    C_CellAreaApplyAttributesCallback
+wrap_CellAreaApplyAttributesCallback _cb _ model iter isExpander isExpanded _ = do
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        let isExpander' = (/= 0) isExpander
+        let isExpanded' = (/= 0) isExpanded
+        _cb  model' iter' isExpander' isExpanded'
+
+
+{- |
+Connect a signal handler for the “@apply-attributes@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellArea #applyAttributes callback
+@
+-}
+onCellAreaApplyAttributes :: (IsCellArea a, MonadIO m) => a -> CellAreaApplyAttributesCallback -> m SignalHandlerId
+onCellAreaApplyAttributes obj cb = liftIO $ do
+    let cb' = wrap_CellAreaApplyAttributesCallback cb
+    cb'' <- mk_CellAreaApplyAttributesCallback cb'
+    connectSignalFunPtr obj "apply-attributes" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@apply-attributes@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellArea #applyAttributes callback
+@
+-}
+afterCellAreaApplyAttributes :: (IsCellArea a, MonadIO m) => a -> CellAreaApplyAttributesCallback -> m SignalHandlerId
+afterCellAreaApplyAttributes obj cb = liftIO $ do
+    let cb' = wrap_CellAreaApplyAttributesCallback cb
+    cb'' <- mk_CellAreaApplyAttributesCallback cb'
+    connectSignalFunPtr obj "apply-attributes" cb'' SignalConnectAfter
+
+
+-- signal CellArea::focus-changed
+{- |
+Indicates that focus changed on this /@area@/. This signal
+is emitted either as a result of focus handling or event
+handling.
+
+It\'s possible that the signal is emitted even if the
+currently focused renderer did not change, this is
+because focus may change to the same renderer in the
+same cell area for a different row of data.
+
+/Since: 3.0/
+-}
+type CellAreaFocusChangedCallback =
+    Gtk.CellRenderer.CellRenderer
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' that has focus -}
+    -> T.Text
+    {- ^ /@path@/: the current 'GI.Gtk.Structs.TreePath.TreePath' string set for /@area@/ -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellAreaFocusChangedCallback`@.
+noCellAreaFocusChangedCallback :: Maybe CellAreaFocusChangedCallback
+noCellAreaFocusChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellAreaFocusChangedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.CellRenderer.CellRenderer ->
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellAreaFocusChangedCallback`.
+foreign import ccall "wrapper"
+    mk_CellAreaFocusChangedCallback :: C_CellAreaFocusChangedCallback -> IO (FunPtr C_CellAreaFocusChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellAreaFocusChanged :: MonadIO m => CellAreaFocusChangedCallback -> m (GClosure C_CellAreaFocusChangedCallback)
+genClosure_CellAreaFocusChanged cb = liftIO $ do
+    let cb' = wrap_CellAreaFocusChangedCallback cb
+    mk_CellAreaFocusChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellAreaFocusChangedCallback` into a `C_CellAreaFocusChangedCallback`.
+wrap_CellAreaFocusChangedCallback ::
+    CellAreaFocusChangedCallback ->
+    C_CellAreaFocusChangedCallback
+wrap_CellAreaFocusChangedCallback _cb _ renderer path _ = do
+    renderer' <- (newObject Gtk.CellRenderer.CellRenderer) renderer
+    path' <- cstringToText path
+    _cb  renderer' path'
+
+
+{- |
+Connect a signal handler for the “@focus-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellArea #focusChanged callback
+@
+-}
+onCellAreaFocusChanged :: (IsCellArea a, MonadIO m) => a -> CellAreaFocusChangedCallback -> m SignalHandlerId
+onCellAreaFocusChanged obj cb = liftIO $ do
+    let cb' = wrap_CellAreaFocusChangedCallback cb
+    cb'' <- mk_CellAreaFocusChangedCallback cb'
+    connectSignalFunPtr obj "focus-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@focus-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellArea #focusChanged callback
+@
+-}
+afterCellAreaFocusChanged :: (IsCellArea a, MonadIO m) => a -> CellAreaFocusChangedCallback -> m SignalHandlerId
+afterCellAreaFocusChanged obj cb = liftIO $ do
+    let cb' = wrap_CellAreaFocusChangedCallback cb
+    cb'' <- mk_CellAreaFocusChangedCallback cb'
+    connectSignalFunPtr obj "focus-changed" cb'' SignalConnectAfter
+
+
+-- signal CellArea::remove-editable
+{- |
+Indicates that editing finished on /@renderer@/ and that /@editable@/
+should be removed from the owning cell-layouting widget.
+
+/Since: 3.0/
+-}
+type CellAreaRemoveEditableCallback =
+    Gtk.CellRenderer.CellRenderer
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' that finished editeding -}
+    -> Gtk.CellEditable.CellEditable
+    {- ^ /@editable@/: the 'GI.Gtk.Interfaces.CellEditable.CellEditable' widget to remove -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellAreaRemoveEditableCallback`@.
+noCellAreaRemoveEditableCallback :: Maybe CellAreaRemoveEditableCallback
+noCellAreaRemoveEditableCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellAreaRemoveEditableCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.CellRenderer.CellRenderer ->
+    Ptr Gtk.CellEditable.CellEditable ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellAreaRemoveEditableCallback`.
+foreign import ccall "wrapper"
+    mk_CellAreaRemoveEditableCallback :: C_CellAreaRemoveEditableCallback -> IO (FunPtr C_CellAreaRemoveEditableCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellAreaRemoveEditable :: MonadIO m => CellAreaRemoveEditableCallback -> m (GClosure C_CellAreaRemoveEditableCallback)
+genClosure_CellAreaRemoveEditable cb = liftIO $ do
+    let cb' = wrap_CellAreaRemoveEditableCallback cb
+    mk_CellAreaRemoveEditableCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellAreaRemoveEditableCallback` into a `C_CellAreaRemoveEditableCallback`.
+wrap_CellAreaRemoveEditableCallback ::
+    CellAreaRemoveEditableCallback ->
+    C_CellAreaRemoveEditableCallback
+wrap_CellAreaRemoveEditableCallback _cb _ renderer editable _ = do
+    renderer' <- (newObject Gtk.CellRenderer.CellRenderer) renderer
+    editable' <- (newObject Gtk.CellEditable.CellEditable) editable
+    _cb  renderer' editable'
+
+
+{- |
+Connect a signal handler for the “@remove-editable@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellArea #removeEditable callback
+@
+-}
+onCellAreaRemoveEditable :: (IsCellArea a, MonadIO m) => a -> CellAreaRemoveEditableCallback -> m SignalHandlerId
+onCellAreaRemoveEditable obj cb = liftIO $ do
+    let cb' = wrap_CellAreaRemoveEditableCallback cb
+    cb'' <- mk_CellAreaRemoveEditableCallback cb'
+    connectSignalFunPtr obj "remove-editable" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@remove-editable@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellArea #removeEditable callback
+@
+-}
+afterCellAreaRemoveEditable :: (IsCellArea a, MonadIO m) => a -> CellAreaRemoveEditableCallback -> m SignalHandlerId
+afterCellAreaRemoveEditable obj cb = liftIO $ do
+    let cb' = wrap_CellAreaRemoveEditableCallback cb
+    cb'' <- mk_CellAreaRemoveEditableCallback cb'
+    connectSignalFunPtr obj "remove-editable" cb'' SignalConnectAfter
+
+
+-- VVV Prop "edit-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellEditable"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@edit-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellArea #editWidget
+@
+-}
+getCellAreaEditWidget :: (MonadIO m, IsCellArea o) => o -> m Gtk.CellEditable.CellEditable
+getCellAreaEditWidget obj = liftIO $ checkUnexpectedNothing "getCellAreaEditWidget" $ B.Properties.getObjectPropertyObject obj "edit-widget" Gtk.CellEditable.CellEditable
+
+#if ENABLE_OVERLOADING
+data CellAreaEditWidgetPropertyInfo
+instance AttrInfo CellAreaEditWidgetPropertyInfo where
+    type AttrAllowedOps CellAreaEditWidgetPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellAreaEditWidgetPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint CellAreaEditWidgetPropertyInfo = IsCellArea
+    type AttrGetType CellAreaEditWidgetPropertyInfo = Gtk.CellEditable.CellEditable
+    type AttrLabel CellAreaEditWidgetPropertyInfo = "edit-widget"
+    type AttrOrigin CellAreaEditWidgetPropertyInfo = CellArea
+    attrGet _ = getCellAreaEditWidget
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "edited-cell"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@edited-cell@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellArea #editedCell
+@
+-}
+getCellAreaEditedCell :: (MonadIO m, IsCellArea o) => o -> m Gtk.CellRenderer.CellRenderer
+getCellAreaEditedCell obj = liftIO $ checkUnexpectedNothing "getCellAreaEditedCell" $ B.Properties.getObjectPropertyObject obj "edited-cell" Gtk.CellRenderer.CellRenderer
+
+#if ENABLE_OVERLOADING
+data CellAreaEditedCellPropertyInfo
+instance AttrInfo CellAreaEditedCellPropertyInfo where
+    type AttrAllowedOps CellAreaEditedCellPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellAreaEditedCellPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint CellAreaEditedCellPropertyInfo = IsCellArea
+    type AttrGetType CellAreaEditedCellPropertyInfo = Gtk.CellRenderer.CellRenderer
+    type AttrLabel CellAreaEditedCellPropertyInfo = "edited-cell"
+    type AttrOrigin CellAreaEditedCellPropertyInfo = CellArea
+    attrGet _ = getCellAreaEditedCell
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "focus-cell"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@focus-cell@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellArea #focusCell
+@
+-}
+getCellAreaFocusCell :: (MonadIO m, IsCellArea o) => o -> m Gtk.CellRenderer.CellRenderer
+getCellAreaFocusCell obj = liftIO $ checkUnexpectedNothing "getCellAreaFocusCell" $ B.Properties.getObjectPropertyObject obj "focus-cell" Gtk.CellRenderer.CellRenderer
+
+{- |
+Set the value of the “@focus-cell@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellArea [ #focusCell 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellAreaFocusCell :: (MonadIO m, IsCellArea o, Gtk.CellRenderer.IsCellRenderer a) => o -> a -> m ()
+setCellAreaFocusCell obj val = liftIO $ B.Properties.setObjectPropertyObject obj "focus-cell" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@focus-cell@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellAreaFocusCell :: (IsCellArea o, Gtk.CellRenderer.IsCellRenderer a) => a -> IO (GValueConstruct o)
+constructCellAreaFocusCell val = B.Properties.constructObjectPropertyObject "focus-cell" (Just val)
+
+#if ENABLE_OVERLOADING
+data CellAreaFocusCellPropertyInfo
+instance AttrInfo CellAreaFocusCellPropertyInfo where
+    type AttrAllowedOps CellAreaFocusCellPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellAreaFocusCellPropertyInfo = Gtk.CellRenderer.IsCellRenderer
+    type AttrBaseTypeConstraint CellAreaFocusCellPropertyInfo = IsCellArea
+    type AttrGetType CellAreaFocusCellPropertyInfo = Gtk.CellRenderer.CellRenderer
+    type AttrLabel CellAreaFocusCellPropertyInfo = "focus-cell"
+    type AttrOrigin CellAreaFocusCellPropertyInfo = CellArea
+    attrGet _ = getCellAreaFocusCell
+    attrSet _ = setCellAreaFocusCell
+    attrConstruct _ = constructCellAreaFocusCell
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellArea
+type instance O.AttributeList CellArea = CellAreaAttributeList
+type CellAreaAttributeList = ('[ '("editWidget", CellAreaEditWidgetPropertyInfo), '("editedCell", CellAreaEditedCellPropertyInfo), '("focusCell", CellAreaFocusCellPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellAreaEditWidget :: AttrLabelProxy "editWidget"
+cellAreaEditWidget = AttrLabelProxy
+
+cellAreaEditedCell :: AttrLabelProxy "editedCell"
+cellAreaEditedCell = AttrLabelProxy
+
+cellAreaFocusCell :: AttrLabelProxy "focusCell"
+cellAreaFocusCell = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data CellAreaAddEditableSignalInfo
+instance SignalInfo CellAreaAddEditableSignalInfo where
+    type HaskellCallbackType CellAreaAddEditableSignalInfo = CellAreaAddEditableCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellAreaAddEditableCallback cb
+        cb'' <- mk_CellAreaAddEditableCallback cb'
+        connectSignalFunPtr obj "add-editable" cb'' connectMode
+
+data CellAreaApplyAttributesSignalInfo
+instance SignalInfo CellAreaApplyAttributesSignalInfo where
+    type HaskellCallbackType CellAreaApplyAttributesSignalInfo = CellAreaApplyAttributesCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellAreaApplyAttributesCallback cb
+        cb'' <- mk_CellAreaApplyAttributesCallback cb'
+        connectSignalFunPtr obj "apply-attributes" cb'' connectMode
+
+data CellAreaFocusChangedSignalInfo
+instance SignalInfo CellAreaFocusChangedSignalInfo where
+    type HaskellCallbackType CellAreaFocusChangedSignalInfo = CellAreaFocusChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellAreaFocusChangedCallback cb
+        cb'' <- mk_CellAreaFocusChangedCallback cb'
+        connectSignalFunPtr obj "focus-changed" cb'' connectMode
+
+data CellAreaRemoveEditableSignalInfo
+instance SignalInfo CellAreaRemoveEditableSignalInfo where
+    type HaskellCallbackType CellAreaRemoveEditableSignalInfo = CellAreaRemoveEditableCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellAreaRemoveEditableCallback cb
+        cb'' <- mk_CellAreaRemoveEditableCallback cb'
+        connectSignalFunPtr obj "remove-editable" cb'' connectMode
+
+type instance O.SignalList CellArea = CellAreaSignalList
+type CellAreaSignalList = ('[ '("addEditable", CellAreaAddEditableSignalInfo), '("applyAttributes", CellAreaApplyAttributesSignalInfo), '("focusChanged", CellAreaFocusChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("removeEditable", CellAreaRemoveEditableSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellArea::activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext in context with the current row data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that @area is rendering on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size and location of @area relative to @widget\8217s allocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRendererState flags for @area for this row of data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "edit_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE then only cell renderers that are %GTK_CELL_RENDERER_MODE_EDITABLE\n            will be activated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_activate" gtk_cell_area_activate :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "CellRendererState"})
+    CInt ->                                 -- edit_only : TBasicType TBoolean
+    IO CInt
+
+{- |
+Activates /@area@/, usually by activating the currently focused
+cell, however some subclasses which embed widgets in the area
+can also activate a widget if it currently has the focus.
+
+/Since: 3.0/
+-}
+cellAreaActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' in context with the current row data -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' that /@area@/ is rendering on -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the size and location of /@area@/ relative to /@widget@/’s allocation -}
+    -> [Gtk.Flags.CellRendererState]
+    {- ^ /@flags@/: the 'GI.Gtk.Flags.CellRendererState' flags for /@area@/ for this row of data. -}
+    -> Bool
+    {- ^ /@editOnly@/: if 'True' then only cell renderers that are 'GI.Gtk.Enums.CellRendererModeEditable'
+            will be activated. -}
+    -> m Bool
+    {- ^ __Returns:__ Whether /@area@/ was successfully activated. -}
+cellAreaActivate area context widget cellArea flags editOnly = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    let flags' = gflagsToWord flags
+    let editOnly' = (fromIntegral . fromEnum) editOnly
+    result <- gtk_cell_area_activate area' context' widget' cellArea' flags' editOnly'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    touchManagedPtr cellArea
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaActivateMethodInfo
+instance (signature ~ (b -> c -> Gdk.Rectangle.Rectangle -> [Gtk.Flags.CellRendererState] -> Bool -> m Bool), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaActivateMethodInfo a signature where
+    overloadedMethod _ = cellAreaActivate
+
+#endif
+
+-- method CellArea::activate_cell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that @area is rendering onto", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer in @area to activate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkEvent for which cell activation should occur", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkRectangle in @widget relative coordinates\n            of @renderer for the current row.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRendererState for @renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_activate_cell" gtk_cell_area_activate_cell :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "CellRendererState"})
+    IO CInt
+
+{- |
+This is used by 'GI.Gtk.Objects.CellArea.CellArea' subclasses when handling events
+to activate cells, the base 'GI.Gtk.Objects.CellArea.CellArea' class activates cells
+for keyboard events for free in its own GtkCellArea->@/activate()/@
+implementation.
+
+/Since: 3.0/
+-}
+cellAreaActivateCell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.Widget.IsWidget b, Gtk.CellRenderer.IsCellRenderer c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' that /@area@/ is rendering onto -}
+    -> c
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' in /@area@/ to activate -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: the 'GI.Gdk.Unions.Event.Event' for which cell activation should occur -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the 'GI.Gdk.Structs.Rectangle.Rectangle' in /@widget@/ relative coordinates
+            of /@renderer@/ for the current row. -}
+    -> [Gtk.Flags.CellRendererState]
+    {- ^ /@flags@/: the 'GI.Gtk.Flags.CellRendererState' for /@renderer@/ -}
+    -> m Bool
+    {- ^ __Returns:__ whether cell activation was successful -}
+cellAreaActivateCell area widget renderer event cellArea flags = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    widget' <- unsafeManagedPtrCastPtr widget
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    event' <- unsafeManagedPtrGetPtr event
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    let flags' = gflagsToWord flags
+    result <- gtk_cell_area_activate_cell area' widget' renderer' event' cellArea' flags'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    touchManagedPtr widget
+    touchManagedPtr renderer
+    touchManagedPtr event
+    touchManagedPtr cellArea
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaActivateCellMethodInfo
+instance (signature ~ (b -> c -> Gdk.Event.Event -> Gdk.Rectangle.Rectangle -> [Gtk.Flags.CellRendererState] -> m Bool), MonadIO m, IsCellArea a, Gtk.Widget.IsWidget b, Gtk.CellRenderer.IsCellRenderer c) => O.MethodInfo CellAreaActivateCellMethodInfo a signature where
+    overloadedMethod _ = cellAreaActivateCell
+
+#endif
+
+-- method CellArea::add
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to add to @area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_add" gtk_cell_area_add :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Adds /@renderer@/ to /@area@/ with the default child cell properties.
+
+/Since: 3.0/
+-}
+cellAreaAdd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to add to /@area@/ -}
+    -> m ()
+cellAreaAdd area renderer = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    gtk_cell_area_add area' renderer'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaAddMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaAddMethodInfo a signature where
+    overloadedMethod _ = cellAreaAdd
+
+#endif
+
+-- method CellArea::add_focus_sibling
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer expected to have focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to add to @renderer\8217s focus area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_add_focus_sibling" gtk_cell_area_add_focus_sibling :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- sibling : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Adds /@sibling@/ to /@renderer@/’s focusable area, focus will be drawn
+around /@renderer@/ and all of its siblings if /@renderer@/ can
+focus for a given row.
+
+Events handled by focus siblings can also activate the given
+focusable /@renderer@/.
+
+/Since: 3.0/
+-}
+cellAreaAddFocusSibling ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b, Gtk.CellRenderer.IsCellRenderer c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' expected to have focus -}
+    -> c
+    {- ^ /@sibling@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to add to /@renderer@/’s focus area -}
+    -> m ()
+cellAreaAddFocusSibling area renderer sibling = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    sibling' <- unsafeManagedPtrCastPtr sibling
+    gtk_cell_area_add_focus_sibling area' renderer' sibling'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    touchManagedPtr sibling
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaAddFocusSiblingMethodInfo
+instance (signature ~ (b -> c -> m ()), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b, Gtk.CellRenderer.IsCellRenderer c) => O.MethodInfo CellAreaAddFocusSiblingMethodInfo a signature where
+    overloadedMethod _ = cellAreaAddFocusSibling
+
+#endif
+
+-- method CellArea::apply_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeModel to pull values from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeIter in @tree_model to apply values for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_expander", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @iter has children", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_expanded", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @iter is expanded in the view and\n              children are visible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_apply_attributes" gtk_cell_area_apply_attributes :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.TreeModel.TreeModel ->          -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    CInt ->                                 -- is_expander : TBasicType TBoolean
+    CInt ->                                 -- is_expanded : TBasicType TBoolean
+    IO ()
+
+{- |
+Applies any connected attributes to the renderers in
+/@area@/ by pulling the values from /@treeModel@/.
+
+/Since: 3.0/
+-}
+cellAreaApplyAttributes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.TreeModel.IsTreeModel b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@treeModel@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' to pull values from -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the 'GI.Gtk.Structs.TreeIter.TreeIter' in /@treeModel@/ to apply values for -}
+    -> Bool
+    {- ^ /@isExpander@/: whether /@iter@/ has children -}
+    -> Bool
+    {- ^ /@isExpanded@/: whether /@iter@/ is expanded in the view and
+              children are visible -}
+    -> m ()
+cellAreaApplyAttributes area treeModel iter isExpander isExpanded = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    let isExpander' = (fromIntegral . fromEnum) isExpander
+    let isExpanded' = (fromIntegral . fromEnum) isExpanded
+    gtk_cell_area_apply_attributes area' treeModel' iter' isExpander' isExpanded'
+    touchManagedPtr area
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaApplyAttributesMethodInfo
+instance (signature ~ (b -> Gtk.TreeIter.TreeIter -> Bool -> Bool -> m ()), MonadIO m, IsCellArea a, Gtk.TreeModel.IsTreeModel b) => O.MethodInfo CellAreaApplyAttributesMethodInfo a signature where
+    overloadedMethod _ = cellAreaApplyAttributes
+
+#endif
+
+-- method CellArea::attribute_connect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to connect an attribute for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the attribute name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreeModel column to fetch attribute values from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_attribute_connect" gtk_cell_area_attribute_connect :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CString ->                              -- attribute : TBasicType TUTF8
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+Connects an /@attribute@/ to apply values from /@column@/ for the
+'GI.Gtk.Interfaces.TreeModel.TreeModel' in use.
+
+/Since: 3.0/
+-}
+cellAreaAttributeConnect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to connect an attribute for -}
+    -> T.Text
+    {- ^ /@attribute@/: the attribute name -}
+    -> Int32
+    {- ^ /@column@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' column to fetch attribute values from -}
+    -> m ()
+cellAreaAttributeConnect area renderer attribute column = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    attribute' <- textToCString attribute
+    gtk_cell_area_attribute_connect area' renderer' attribute' column
+    touchManagedPtr area
+    touchManagedPtr renderer
+    freeMem attribute'
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaAttributeConnectMethodInfo
+instance (signature ~ (b -> T.Text -> Int32 -> m ()), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaAttributeConnectMethodInfo a signature where
+    overloadedMethod _ = cellAreaAttributeConnect
+
+#endif
+
+-- method CellArea::attribute_disconnect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to disconnect an attribute for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the attribute name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_attribute_disconnect" gtk_cell_area_attribute_disconnect :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CString ->                              -- attribute : TBasicType TUTF8
+    IO ()
+
+{- |
+Disconnects /@attribute@/ for the /@renderer@/ in /@area@/ so that
+attribute will no longer be updated with values from the
+model.
+
+/Since: 3.0/
+-}
+cellAreaAttributeDisconnect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to disconnect an attribute for -}
+    -> T.Text
+    {- ^ /@attribute@/: the attribute name -}
+    -> m ()
+cellAreaAttributeDisconnect area renderer attribute = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    attribute' <- textToCString attribute
+    gtk_cell_area_attribute_disconnect area' renderer' attribute'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    freeMem attribute'
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaAttributeDisconnectMethodInfo
+instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaAttributeDisconnectMethodInfo a signature where
+    overloadedMethod _ = cellAreaAttributeDisconnect
+
+#endif
+
+-- method CellArea::attribute_get_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an attribute on the renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_attribute_get_column" gtk_cell_area_attribute_get_column :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CString ->                              -- attribute : TBasicType TUTF8
+    IO Int32
+
+{- |
+Returns the model column that an attribute has been mapped to,
+or -1 if the attribute is not mapped.
+
+/Since: 3.14/
+-}
+cellAreaAttributeGetColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> T.Text
+    {- ^ /@attribute@/: an attribute on the renderer -}
+    -> m Int32
+    {- ^ __Returns:__ the model column, or -1 -}
+cellAreaAttributeGetColumn area renderer attribute = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    attribute' <- textToCString attribute
+    result <- gtk_cell_area_attribute_get_column area' renderer' attribute'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    freeMem attribute'
+    return result
+
+#if ENABLE_OVERLOADING
+data CellAreaAttributeGetColumnMethodInfo
+instance (signature ~ (b -> T.Text -> m Int32), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaAttributeGetColumnMethodInfo a signature where
+    overloadedMethod _ = cellAreaAttributeGetColumn
+
+#endif
+
+-- method CellArea::cell_get_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer inside @area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to return the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_cell_get_property" gtk_cell_area_cell_get_property :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CString ->                              -- property_name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Gets the value of a cell property for /@renderer@/ in /@area@/.
+
+/Since: 3.0/
+-}
+cellAreaCellGetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' inside /@area@/ -}
+    -> T.Text
+    {- ^ /@propertyName@/: the name of the property to get -}
+    -> GValue
+    {- ^ /@value@/: a location to return the value -}
+    -> m ()
+cellAreaCellGetProperty area renderer propertyName value = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    propertyName' <- textToCString propertyName
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_cell_area_cell_get_property area' renderer' propertyName' value'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    touchManagedPtr value
+    freeMem propertyName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaCellGetPropertyMethodInfo
+instance (signature ~ (b -> T.Text -> GValue -> m ()), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaCellGetPropertyMethodInfo a signature where
+    overloadedMethod _ = cellAreaCellGetProperty
+
+#endif
+
+-- method CellArea::cell_set_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer inside @area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the cell property to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to set the cell property to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_cell_set_property" gtk_cell_area_cell_set_property :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CString ->                              -- property_name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Sets a cell property for /@renderer@/ in /@area@/.
+
+/Since: 3.0/
+-}
+cellAreaCellSetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' inside /@area@/ -}
+    -> T.Text
+    {- ^ /@propertyName@/: the name of the cell property to set -}
+    -> GValue
+    {- ^ /@value@/: the value to set the cell property to -}
+    -> m ()
+cellAreaCellSetProperty area renderer propertyName value = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    propertyName' <- textToCString propertyName
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_cell_area_cell_set_property area' renderer' propertyName' value'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    touchManagedPtr value
+    freeMem propertyName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaCellSetPropertyMethodInfo
+instance (signature ~ (b -> T.Text -> GValue -> m ()), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaCellSetPropertyMethodInfo a signature where
+    overloadedMethod _ = cellAreaCellSetProperty
+
+#endif
+
+-- method CellArea::copy_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_copy_context" gtk_cell_area_copy_context :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    IO (Ptr Gtk.CellAreaContext.CellAreaContext)
+
+{- |
+This is sometimes needed for cases where rows need to share
+alignments in one orientation but may be separately grouped
+in the opposing orientation.
+
+For instance, 'GI.Gtk.Objects.IconView.IconView' creates all icons (rows) to have
+the same width and the cells theirin to have the same
+horizontal alignments. However each row of icons may have
+a separate collective height. 'GI.Gtk.Objects.IconView.IconView' uses this to
+request the heights of each row based on a context which
+was already used to request all the row widths that are
+to be displayed.
+
+/Since: 3.0/
+-}
+cellAreaCopyContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' to copy -}
+    -> m Gtk.CellAreaContext.CellAreaContext
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' copy of /@context@/. -}
+cellAreaCopyContext area context = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_cell_area_copy_context area' context'
+    checkUnexpectedReturnNULL "cellAreaCopyContext" result
+    result' <- (wrapObject Gtk.CellAreaContext.CellAreaContext) result
+    touchManagedPtr area
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaCopyContextMethodInfo
+instance (signature ~ (b -> m Gtk.CellAreaContext.CellAreaContext), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b) => O.MethodInfo CellAreaCopyContextMethodInfo a signature where
+    overloadedMethod _ = cellAreaCopyContext
+
+#endif
+
+-- method CellArea::create_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_create_context" gtk_cell_area_create_context :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO (Ptr Gtk.CellAreaContext.CellAreaContext)
+
+{- |
+Creates a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' to be used with /@area@/ for
+all purposes. 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' stores geometry information
+for rows for which it was operated on, it is important to use
+the same context for the same row of data at all times (i.e.
+one should render and handle events with the same 'GI.Gtk.Objects.CellAreaContext.CellAreaContext'
+which was used to request the size of those rows of data).
+
+/Since: 3.0/
+-}
+cellAreaCreateContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> m Gtk.CellAreaContext.CellAreaContext
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' which can be used with /@area@/. -}
+cellAreaCreateContext area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_cell_area_create_context area'
+    checkUnexpectedReturnNULL "cellAreaCreateContext" result
+    result' <- (wrapObject Gtk.CellAreaContext.CellAreaContext) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaCreateContextMethodInfo
+instance (signature ~ (m Gtk.CellAreaContext.CellAreaContext), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaCreateContextMethodInfo a signature where
+    overloadedMethod _ = cellAreaCreateContext
+
+#endif
+
+-- method CellArea::event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext for this row of data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that @area is rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkEvent to handle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the @widget relative coordinates for @area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRendererState for @area in this row.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_event" gtk_cell_area_event :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "CellRendererState"})
+    IO Int32
+
+{- |
+Delegates event handling to a 'GI.Gtk.Objects.CellArea.CellArea'.
+
+/Since: 3.0/
+-}
+cellAreaEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' for this row of data. -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' that /@area@/ is rendering to -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: the 'GI.Gdk.Unions.Event.Event' to handle -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the /@widget@/ relative coordinates for /@area@/ -}
+    -> [Gtk.Flags.CellRendererState]
+    {- ^ /@flags@/: the 'GI.Gtk.Flags.CellRendererState' for /@area@/ in this row. -}
+    -> m Int32
+    {- ^ __Returns:__ 'True' if the event was handled by /@area@/. -}
+cellAreaEvent area context widget event cellArea flags = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    event' <- unsafeManagedPtrGetPtr event
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    let flags' = gflagsToWord flags
+    result <- gtk_cell_area_event area' context' widget' event' cellArea' flags'
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    touchManagedPtr event
+    touchManagedPtr cellArea
+    return result
+
+#if ENABLE_OVERLOADING
+data CellAreaEventMethodInfo
+instance (signature ~ (b -> c -> Gdk.Event.Event -> Gdk.Rectangle.Rectangle -> [Gtk.Flags.CellRendererState] -> m Int32), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaEventMethodInfo a signature where
+    overloadedMethod _ = cellAreaEvent
+
+#endif
+
+-- method CellArea::focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "DirectionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkDirectionType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_focus" gtk_cell_area_focus :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "DirectionType"})
+    IO CInt
+
+{- |
+This should be called by the /@area@/’s owning layout widget
+when focus is to be passed to /@area@/, or moved within /@area@/
+for a given /@direction@/ and row data.
+
+Implementing 'GI.Gtk.Objects.CellArea.CellArea' classes should implement this
+method to receive and navigate focus in its own way particular
+to how it lays out cells.
+
+/Since: 3.0/
+-}
+cellAreaFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> Gtk.Enums.DirectionType
+    {- ^ /@direction@/: the 'GI.Gtk.Enums.DirectionType' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if focus remains inside /@area@/ as a result of this call. -}
+cellAreaFocus area direction = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    let direction' = (fromIntegral . fromEnum) direction
+    result <- gtk_cell_area_focus area' direction'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaFocusMethodInfo
+instance (signature ~ (Gtk.Enums.DirectionType -> m Bool), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaFocusMethodInfo a signature where
+    overloadedMethod _ = cellAreaFocus
+
+#endif
+
+-- method CellArea::foreach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "CellCallback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellCallback to call", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user provided data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_foreach" gtk_cell_area_foreach :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    FunPtr Gtk.Callbacks.C_CellCallback ->  -- callback : TInterface (Name {namespace = "Gtk", name = "CellCallback"})
+    Ptr () ->                               -- callback_data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls /@callback@/ for every 'GI.Gtk.Objects.CellRenderer.CellRenderer' in /@area@/.
+
+/Since: 3.0/
+-}
+cellAreaForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> Gtk.Callbacks.CellCallback
+    {- ^ /@callback@/: the 'GI.Gtk.Callbacks.CellCallback' to call -}
+    -> m ()
+cellAreaForeach area callback = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    callback' <- Gtk.Callbacks.mk_CellCallback (Gtk.Callbacks.wrap_CellCallback Nothing (Gtk.Callbacks.drop_closures_CellCallback callback))
+    let callbackData = nullPtr
+    gtk_cell_area_foreach area' callback' callbackData
+    safeFreeFunPtr $ castFunPtrToPtr callback'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaForeachMethodInfo
+instance (signature ~ (Gtk.Callbacks.CellCallback -> m ()), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaForeachMethodInfo a signature where
+    overloadedMethod _ = cellAreaForeach
+
+#endif
+
+-- method CellArea::foreach_alloc
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext for this row of data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that @area is rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the @widget relative coordinates and size for @area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the @widget relative coordinates of the background area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "CellAllocCallback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAllocCallback to call", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user provided data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_foreach_alloc" gtk_cell_area_foreach_alloc :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- background_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    FunPtr Gtk.Callbacks.C_CellAllocCallback -> -- callback : TInterface (Name {namespace = "Gtk", name = "CellAllocCallback"})
+    Ptr () ->                               -- callback_data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls /@callback@/ for every 'GI.Gtk.Objects.CellRenderer.CellRenderer' in /@area@/ with the
+allocated rectangle inside /@cellArea@/.
+
+/Since: 3.0/
+-}
+cellAreaForeachAlloc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' for this row of data. -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' that /@area@/ is rendering to -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the /@widget@/ relative coordinates and size for /@area@/ -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@backgroundArea@/: the /@widget@/ relative coordinates of the background area -}
+    -> Gtk.Callbacks.CellAllocCallback
+    {- ^ /@callback@/: the 'GI.Gtk.Callbacks.CellAllocCallback' to call -}
+    -> m ()
+cellAreaForeachAlloc area context widget cellArea backgroundArea callback = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    backgroundArea' <- unsafeManagedPtrGetPtr backgroundArea
+    callback' <- Gtk.Callbacks.mk_CellAllocCallback (Gtk.Callbacks.wrap_CellAllocCallback Nothing (Gtk.Callbacks.drop_closures_CellAllocCallback callback))
+    let callbackData = nullPtr
+    gtk_cell_area_foreach_alloc area' context' widget' cellArea' backgroundArea' callback' callbackData
+    safeFreeFunPtr $ castFunPtrToPtr callback'
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    touchManagedPtr cellArea
+    touchManagedPtr backgroundArea
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaForeachAllocMethodInfo
+instance (signature ~ (b -> c -> Gdk.Rectangle.Rectangle -> Gdk.Rectangle.Rectangle -> Gtk.Callbacks.CellAllocCallback -> m ()), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaForeachAllocMethodInfo a signature where
+    overloadedMethod _ = cellAreaForeachAlloc
+
+#endif
+
+-- method CellArea::get_cell_allocation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext used to hold sizes for @area.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that @area is rendering on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to get the allocation for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the whole allocated area for @area in @widget\n            for this row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocation", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "where to store the allocation for @renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_cell_allocation" gtk_cell_area_get_cell_allocation :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- allocation : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Derives the allocation of /@renderer@/ inside /@area@/ if /@area@/
+were to be renderered in /@cellArea@/.
+
+/Since: 3.0/
+-}
+cellAreaGetCellAllocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c, Gtk.CellRenderer.IsCellRenderer d) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' used to hold sizes for /@area@/. -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' that /@area@/ is rendering on -}
+    -> d
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to get the allocation for -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the whole allocated area for /@area@/ in /@widget@/
+            for this row -}
+    -> m (Gdk.Rectangle.Rectangle)
+cellAreaGetCellAllocation area context widget renderer cellArea = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    allocation <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_cell_area_get_cell_allocation area' context' widget' renderer' cellArea' allocation
+    allocation' <- (wrapBoxed Gdk.Rectangle.Rectangle) allocation
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    touchManagedPtr renderer
+    touchManagedPtr cellArea
+    return allocation'
+
+#if ENABLE_OVERLOADING
+data CellAreaGetCellAllocationMethodInfo
+instance (signature ~ (b -> c -> d -> Gdk.Rectangle.Rectangle -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c, Gtk.CellRenderer.IsCellRenderer d) => O.MethodInfo CellAreaGetCellAllocationMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetCellAllocation
+
+#endif
+
+-- method CellArea::get_cell_at_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext used to hold sizes for @area.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that @area is rendering on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the whole allocated area for @area in @widget\n            for this row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alloc_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "where to store the inner allocated area of the\n                                 returned cell renderer, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRenderer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_cell_at_position" gtk_cell_area_get_cell_at_position :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Ptr Gdk.Rectangle.Rectangle ->          -- alloc_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO (Ptr Gtk.CellRenderer.CellRenderer)
+
+{- |
+Gets the 'GI.Gtk.Objects.CellRenderer.CellRenderer' at /@x@/ and /@y@/ coordinates inside /@area@/ and optionally
+returns the full cell allocation for it inside /@cellArea@/.
+
+/Since: 3.0/
+-}
+cellAreaGetCellAtPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' used to hold sizes for /@area@/. -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' that /@area@/ is rendering on -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the whole allocated area for /@area@/ in /@widget@/
+            for this row -}
+    -> Int32
+    {- ^ /@x@/: the x position -}
+    -> Int32
+    {- ^ /@y@/: the y position -}
+    -> m ((Gtk.CellRenderer.CellRenderer, Gdk.Rectangle.Rectangle))
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.CellRenderer.CellRenderer' at /@x@/ and /@y@/. -}
+cellAreaGetCellAtPosition area context widget cellArea x y = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    allocArea <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    result <- gtk_cell_area_get_cell_at_position area' context' widget' cellArea' x y allocArea
+    checkUnexpectedReturnNULL "cellAreaGetCellAtPosition" result
+    result' <- (newObject Gtk.CellRenderer.CellRenderer) result
+    allocArea' <- (wrapBoxed Gdk.Rectangle.Rectangle) allocArea
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    touchManagedPtr cellArea
+    return (result', allocArea')
+
+#if ENABLE_OVERLOADING
+data CellAreaGetCellAtPositionMethodInfo
+instance (signature ~ (b -> c -> Gdk.Rectangle.Rectangle -> Int32 -> Int32 -> m ((Gtk.CellRenderer.CellRenderer, Gdk.Rectangle.Rectangle))), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaGetCellAtPositionMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetCellAtPosition
+
+#endif
+
+-- method CellArea::get_current_path_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_current_path_string" gtk_cell_area_get_current_path_string :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO CString
+
+{- |
+Gets the current 'GI.Gtk.Structs.TreePath.TreePath' string for the currently
+applied 'GI.Gtk.Structs.TreeIter.TreeIter', this is implicitly updated when
+'GI.Gtk.Objects.CellArea.cellAreaApplyAttributes' is called and can be
+used to interact with renderers from 'GI.Gtk.Objects.CellArea.CellArea'
+subclasses.
+
+/Since: 3.0/
+-}
+cellAreaGetCurrentPathString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> m T.Text
+    {- ^ __Returns:__ The current 'GI.Gtk.Structs.TreePath.TreePath' string for the current
+attributes applied to /@area@/. This string belongs to the area and
+should not be freed. -}
+cellAreaGetCurrentPathString area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_cell_area_get_current_path_string area'
+    checkUnexpectedReturnNULL "cellAreaGetCurrentPathString" result
+    result' <- cstringToText result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaGetCurrentPathStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaGetCurrentPathStringMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetCurrentPathString
+
+#endif
+
+-- method CellArea::get_edit_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellEditable"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_edit_widget" gtk_cell_area_get_edit_widget :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO (Ptr Gtk.CellEditable.CellEditable)
+
+{- |
+Gets the 'GI.Gtk.Interfaces.CellEditable.CellEditable' widget currently used
+to edit the currently edited cell.
+
+/Since: 3.0/
+-}
+cellAreaGetEditWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> m Gtk.CellEditable.CellEditable
+    {- ^ __Returns:__ The currently active 'GI.Gtk.Interfaces.CellEditable.CellEditable' widget -}
+cellAreaGetEditWidget area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_cell_area_get_edit_widget area'
+    checkUnexpectedReturnNULL "cellAreaGetEditWidget" result
+    result' <- (newObject Gtk.CellEditable.CellEditable) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaGetEditWidgetMethodInfo
+instance (signature ~ (m Gtk.CellEditable.CellEditable), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaGetEditWidgetMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetEditWidget
+
+#endif
+
+-- method CellArea::get_edited_cell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRenderer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_edited_cell" gtk_cell_area_get_edited_cell :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO (Ptr Gtk.CellRenderer.CellRenderer)
+
+{- |
+Gets the 'GI.Gtk.Objects.CellRenderer.CellRenderer' in /@area@/ that is currently
+being edited.
+
+/Since: 3.0/
+-}
+cellAreaGetEditedCell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> m Gtk.CellRenderer.CellRenderer
+    {- ^ __Returns:__ The currently edited 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+cellAreaGetEditedCell area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_cell_area_get_edited_cell area'
+    checkUnexpectedReturnNULL "cellAreaGetEditedCell" result
+    result' <- (newObject Gtk.CellRenderer.CellRenderer) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaGetEditedCellMethodInfo
+instance (signature ~ (m Gtk.CellRenderer.CellRenderer), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaGetEditedCellMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetEditedCell
+
+#endif
+
+-- method CellArea::get_focus_cell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRenderer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_focus_cell" gtk_cell_area_get_focus_cell :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO (Ptr Gtk.CellRenderer.CellRenderer)
+
+{- |
+Retrieves the currently focused cell for /@area@/
+
+/Since: 3.0/
+-}
+cellAreaGetFocusCell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> m Gtk.CellRenderer.CellRenderer
+    {- ^ __Returns:__ the currently focused cell in /@area@/. -}
+cellAreaGetFocusCell area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_cell_area_get_focus_cell area'
+    checkUnexpectedReturnNULL "cellAreaGetFocusCell" result
+    result' <- (newObject Gtk.CellRenderer.CellRenderer) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaGetFocusCellMethodInfo
+instance (signature ~ (m Gtk.CellRenderer.CellRenderer), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaGetFocusCellMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetFocusCell
+
+#endif
+
+-- method CellArea::get_focus_from_sibling
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRenderer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_focus_from_sibling" gtk_cell_area_get_focus_from_sibling :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO (Ptr Gtk.CellRenderer.CellRenderer)
+
+{- |
+Gets the 'GI.Gtk.Objects.CellRenderer.CellRenderer' which is expected to be focusable
+for which /@renderer@/ is, or may be a sibling.
+
+This is handy for 'GI.Gtk.Objects.CellArea.CellArea' subclasses when handling events,
+after determining the renderer at the event location it can
+then chose to activate the focus cell for which the event
+cell may have been a sibling.
+
+/Since: 3.0/
+-}
+cellAreaGetFocusFromSibling ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> m (Maybe Gtk.CellRenderer.CellRenderer)
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.CellRenderer.CellRenderer' for which /@renderer@/
+   is a sibling, or 'Nothing'. -}
+cellAreaGetFocusFromSibling area renderer = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    result <- gtk_cell_area_get_focus_from_sibling area' renderer'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.CellRenderer.CellRenderer) result'
+        return result''
+    touchManagedPtr area
+    touchManagedPtr renderer
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data CellAreaGetFocusFromSiblingMethodInfo
+instance (signature ~ (b -> m (Maybe Gtk.CellRenderer.CellRenderer)), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaGetFocusFromSiblingMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetFocusFromSibling
+
+#endif
+
+-- method CellArea::get_focus_siblings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer expected to have focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "CellRenderer"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_focus_siblings" gtk_cell_area_get_focus_siblings :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO (Ptr (GList (Ptr Gtk.CellRenderer.CellRenderer)))
+
+{- |
+Gets the focus sibling cell renderers for /@renderer@/.
+
+/Since: 3.0/
+-}
+cellAreaGetFocusSiblings ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' expected to have focus -}
+    -> m [Gtk.CellRenderer.CellRenderer]
+    {- ^ __Returns:__ A 'GI.GLib.Structs.List.List' of @/GtkCellRenderers/@.
+      The returned list is internal and should not be freed. -}
+cellAreaGetFocusSiblings area renderer = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    result <- gtk_cell_area_get_focus_siblings area' renderer'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.CellRenderer.CellRenderer) result'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    return result''
+
+#if ENABLE_OVERLOADING
+data CellAreaGetFocusSiblingsMethodInfo
+instance (signature ~ (b -> m [Gtk.CellRenderer.CellRenderer]), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaGetFocusSiblingsMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetFocusSiblings
+
+#endif
+
+-- method CellArea::get_preferred_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext to perform this request with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget where @area will be rendering", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_preferred_height" gtk_cell_area_get_preferred_height :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Int32 ->                            -- minimum_height : TBasicType TInt
+    Ptr Int32 ->                            -- natural_height : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves a cell area’s initial minimum and natural height.
+
+/@area@/ will store some geometrical information in /@context@/ along the way;
+when requesting sizes over an arbitrary number of rows, it’s not important
+to check the /@minimumHeight@/ and /@naturalHeight@/ of this call but rather to
+consult 'GI.Gtk.Objects.CellAreaContext.cellAreaContextGetPreferredHeight' after a series of
+requests.
+
+/Since: 3.0/
+-}
+cellAreaGetPreferredHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' to perform this request with -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' where /@area@/ will be rendering -}
+    -> m ((Int32, Int32))
+cellAreaGetPreferredHeight area context widget = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumHeight <- allocMem :: IO (Ptr Int32)
+    naturalHeight <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_get_preferred_height area' context' widget' minimumHeight naturalHeight
+    minimumHeight' <- peek minimumHeight
+    naturalHeight' <- peek naturalHeight
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    freeMem minimumHeight
+    freeMem naturalHeight
+    return (minimumHeight', naturalHeight')
+
+#if ENABLE_OVERLOADING
+data CellAreaGetPreferredHeightMethodInfo
+instance (signature ~ (b -> c -> m ((Int32, Int32))), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaGetPreferredHeightMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetPreferredHeight
+
+#endif
+
+-- method CellArea::get_preferred_height_for_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext which has already been requested for widths.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget where @area will be rendering", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width for which to check the height of this area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_preferred_height_for_width" gtk_cell_area_get_preferred_height_for_width :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- width : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_height : TBasicType TInt
+    Ptr Int32 ->                            -- natural_height : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves a cell area’s minimum and natural height if it would be given
+the specified /@width@/.
+
+/@area@/ stores some geometrical information in /@context@/ along the way
+while calling 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredWidth'. It’s important to
+perform a series of 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredWidth' requests with
+/@context@/ first and then call 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredHeightForWidth'
+on each cell area individually to get the height for width of each
+fully requested row.
+
+If at some point, the width of a single row changes, it should be
+requested with 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredWidth' again and then
+the full width of the requested rows checked again with
+'GI.Gtk.Objects.CellAreaContext.cellAreaContextGetPreferredWidth'.
+
+/Since: 3.0/
+-}
+cellAreaGetPreferredHeightForWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' which has already been requested for widths. -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' where /@area@/ will be rendering -}
+    -> Int32
+    {- ^ /@width@/: the width for which to check the height of this area -}
+    -> m ((Int32, Int32))
+cellAreaGetPreferredHeightForWidth area context widget width = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumHeight <- allocMem :: IO (Ptr Int32)
+    naturalHeight <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_get_preferred_height_for_width area' context' widget' width minimumHeight naturalHeight
+    minimumHeight' <- peek minimumHeight
+    naturalHeight' <- peek naturalHeight
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    freeMem minimumHeight
+    freeMem naturalHeight
+    return (minimumHeight', naturalHeight')
+
+#if ENABLE_OVERLOADING
+data CellAreaGetPreferredHeightForWidthMethodInfo
+instance (signature ~ (b -> c -> Int32 -> m ((Int32, Int32))), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaGetPreferredHeightForWidthMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetPreferredHeightForWidth
+
+#endif
+
+-- method CellArea::get_preferred_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext to perform this request with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget where @area will be rendering", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_preferred_width" gtk_cell_area_get_preferred_width :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Int32 ->                            -- minimum_width : TBasicType TInt
+    Ptr Int32 ->                            -- natural_width : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves a cell area’s initial minimum and natural width.
+
+/@area@/ will store some geometrical information in /@context@/ along the way;
+when requesting sizes over an arbitrary number of rows, it’s not important
+to check the /@minimumWidth@/ and /@naturalWidth@/ of this call but rather to
+consult 'GI.Gtk.Objects.CellAreaContext.cellAreaContextGetPreferredWidth' after a series of
+requests.
+
+/Since: 3.0/
+-}
+cellAreaGetPreferredWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' to perform this request with -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' where /@area@/ will be rendering -}
+    -> m ((Int32, Int32))
+cellAreaGetPreferredWidth area context widget = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumWidth <- allocMem :: IO (Ptr Int32)
+    naturalWidth <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_get_preferred_width area' context' widget' minimumWidth naturalWidth
+    minimumWidth' <- peek minimumWidth
+    naturalWidth' <- peek naturalWidth
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    freeMem minimumWidth
+    freeMem naturalWidth
+    return (minimumWidth', naturalWidth')
+
+#if ENABLE_OVERLOADING
+data CellAreaGetPreferredWidthMethodInfo
+instance (signature ~ (b -> c -> m ((Int32, Int32))), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaGetPreferredWidthMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetPreferredWidth
+
+#endif
+
+-- method CellArea::get_preferred_width_for_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext which has already been requested for widths.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget where @area will be rendering", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height for which to check the width of this area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_preferred_width_for_height" gtk_cell_area_get_preferred_width_for_height :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- height : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_width : TBasicType TInt
+    Ptr Int32 ->                            -- natural_width : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves a cell area’s minimum and natural width if it would be given
+the specified /@height@/.
+
+/@area@/ stores some geometrical information in /@context@/ along the way
+while calling 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredHeight'. It’s important to
+perform a series of 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredHeight' requests with
+/@context@/ first and then call 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredWidthForHeight'
+on each cell area individually to get the height for width of each
+fully requested row.
+
+If at some point, the height of a single row changes, it should be
+requested with 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredHeight' again and then
+the full height of the requested rows checked again with
+'GI.Gtk.Objects.CellAreaContext.cellAreaContextGetPreferredHeight'.
+
+/Since: 3.0/
+-}
+cellAreaGetPreferredWidthForHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' which has already been requested for widths. -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' where /@area@/ will be rendering -}
+    -> Int32
+    {- ^ /@height@/: the height for which to check the width of this area -}
+    -> m ((Int32, Int32))
+cellAreaGetPreferredWidthForHeight area context widget height = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumWidth <- allocMem :: IO (Ptr Int32)
+    naturalWidth <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_get_preferred_width_for_height area' context' widget' height minimumWidth naturalWidth
+    minimumWidth' <- peek minimumWidth
+    naturalWidth' <- peek naturalWidth
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    freeMem minimumWidth
+    freeMem naturalWidth
+    return (minimumWidth', naturalWidth')
+
+#if ENABLE_OVERLOADING
+data CellAreaGetPreferredWidthForHeightMethodInfo
+instance (signature ~ (b -> c -> Int32 -> m ((Int32, Int32))), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaGetPreferredWidthForHeightMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetPreferredWidthForHeight
+
+#endif
+
+-- method CellArea::get_request_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SizeRequestMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_get_request_mode" gtk_cell_area_get_request_mode :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO CUInt
+
+{- |
+Gets whether the area prefers a height-for-width layout
+or a width-for-height layout.
+
+/Since: 3.0/
+-}
+cellAreaGetRequestMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> m Gtk.Enums.SizeRequestMode
+    {- ^ __Returns:__ The 'GI.Gtk.Enums.SizeRequestMode' preferred by /@area@/. -}
+cellAreaGetRequestMode area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_cell_area_get_request_mode area'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaGetRequestModeMethodInfo
+instance (signature ~ (m Gtk.Enums.SizeRequestMode), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaGetRequestModeMethodInfo a signature where
+    overloadedMethod _ = cellAreaGetRequestMode
+
+#endif
+
+-- method CellArea::has_renderer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_has_renderer" gtk_cell_area_has_renderer :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO CInt
+
+{- |
+Checks if /@area@/ contains /@renderer@/.
+
+/Since: 3.0/
+-}
+cellAreaHasRenderer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to check -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@renderer@/ is in the /@area@/. -}
+cellAreaHasRenderer area renderer = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    result <- gtk_cell_area_has_renderer area' renderer'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    touchManagedPtr renderer
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaHasRendererMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaHasRendererMethodInfo a signature where
+    overloadedMethod _ = cellAreaHasRenderer
+
+#endif
+
+-- method CellArea::inner_cell_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that @area is rendering onto", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the @widget relative coordinates where one of @area\8217s cells\n            is to be placed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "inner_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the return location for the inner cell area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_inner_cell_area" gtk_cell_area_inner_cell_area :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- inner_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+This is a convenience function for 'GI.Gtk.Objects.CellArea.CellArea' implementations
+to get the inner area where a given 'GI.Gtk.Objects.CellRenderer.CellRenderer' will be
+rendered. It removes any padding previously added by 'GI.Gtk.Objects.CellArea.cellAreaRequestRenderer'.
+
+/Since: 3.0/
+-}
+cellAreaInnerCellArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' that /@area@/ is rendering onto -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the /@widget@/ relative coordinates where one of /@area@/’s cells
+            is to be placed -}
+    -> m (Gdk.Rectangle.Rectangle)
+cellAreaInnerCellArea area widget cellArea = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    widget' <- unsafeManagedPtrCastPtr widget
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    innerArea <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_cell_area_inner_cell_area area' widget' cellArea' innerArea
+    innerArea' <- (wrapBoxed Gdk.Rectangle.Rectangle) innerArea
+    touchManagedPtr area
+    touchManagedPtr widget
+    touchManagedPtr cellArea
+    return innerArea'
+
+#if ENABLE_OVERLOADING
+data CellAreaInnerCellAreaMethodInfo
+instance (signature ~ (b -> Gdk.Rectangle.Rectangle -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsCellArea a, Gtk.Widget.IsWidget b) => O.MethodInfo CellAreaInnerCellAreaMethodInfo a signature where
+    overloadedMethod _ = cellAreaInnerCellArea
+
+#endif
+
+-- method CellArea::is_activatable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_is_activatable" gtk_cell_area_is_activatable :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO CInt
+
+{- |
+Returns whether the area can do anything when activated,
+after applying new attributes to /@area@/.
+
+/Since: 3.0/
+-}
+cellAreaIsActivatable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@area@/ can do anything when activated. -}
+cellAreaIsActivatable area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_cell_area_is_activatable area'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaIsActivatableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaIsActivatableMethodInfo a signature where
+    overloadedMethod _ = cellAreaIsActivatable
+
+#endif
+
+-- method CellArea::is_focus_sibling
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer expected to have focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to check against @renderer\8217s sibling list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_is_focus_sibling" gtk_cell_area_is_focus_sibling :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- sibling : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO CInt
+
+{- |
+Returns whether /@sibling@/ is one of /@renderer@/’s focus siblings
+(see 'GI.Gtk.Objects.CellArea.cellAreaAddFocusSibling').
+
+/Since: 3.0/
+-}
+cellAreaIsFocusSibling ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b, Gtk.CellRenderer.IsCellRenderer c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' expected to have focus -}
+    -> c
+    {- ^ /@sibling@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to check against /@renderer@/’s sibling list -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@sibling@/ is a focus sibling of /@renderer@/ -}
+cellAreaIsFocusSibling area renderer sibling = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    sibling' <- unsafeManagedPtrCastPtr sibling
+    result <- gtk_cell_area_is_focus_sibling area' renderer' sibling'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    touchManagedPtr renderer
+    touchManagedPtr sibling
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaIsFocusSiblingMethodInfo
+instance (signature ~ (b -> c -> m Bool), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b, Gtk.CellRenderer.IsCellRenderer c) => O.MethodInfo CellAreaIsFocusSiblingMethodInfo a signature where
+    overloadedMethod _ = cellAreaIsFocusSibling
+
+#endif
+
+-- method CellArea::remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to remove from @area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_remove" gtk_cell_area_remove :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Removes /@renderer@/ from /@area@/.
+
+/Since: 3.0/
+-}
+cellAreaRemove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to remove from /@area@/ -}
+    -> m ()
+cellAreaRemove area renderer = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    gtk_cell_area_remove area' renderer'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaRemoveMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaRemoveMethodInfo a signature where
+    overloadedMethod _ = cellAreaRemove
+
+#endif
+
+-- method CellArea::remove_focus_sibling
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer expected to have focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to remove from @renderer\8217s focus area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_remove_focus_sibling" gtk_cell_area_remove_focus_sibling :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- sibling : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Removes /@sibling@/ from /@renderer@/’s focus sibling list
+(see 'GI.Gtk.Objects.CellArea.cellAreaAddFocusSibling').
+
+/Since: 3.0/
+-}
+cellAreaRemoveFocusSibling ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b, Gtk.CellRenderer.IsCellRenderer c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' expected to have focus -}
+    -> c
+    {- ^ /@sibling@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to remove from /@renderer@/’s focus area -}
+    -> m ()
+cellAreaRemoveFocusSibling area renderer sibling = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    sibling' <- unsafeManagedPtrCastPtr sibling
+    gtk_cell_area_remove_focus_sibling area' renderer' sibling'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    touchManagedPtr sibling
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaRemoveFocusSiblingMethodInfo
+instance (signature ~ (b -> c -> m ()), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b, Gtk.CellRenderer.IsCellRenderer c) => O.MethodInfo CellAreaRemoveFocusSiblingMethodInfo a signature where
+    overloadedMethod _ = cellAreaRemoveFocusSibling
+
+#endif
+
+-- method CellArea::render
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext for this row of data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that @area is rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #cairo_t to render with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the @widget relative coordinates for @area\8217s background", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the @widget relative coordinates for @area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRendererState for @area in this row.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "paint_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @area should paint focus on focused cells for focused rows or not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_render" gtk_cell_area_render :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- background_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "CellRendererState"})
+    CInt ->                                 -- paint_focus : TBasicType TBoolean
+    IO ()
+
+{- |
+Renders /@area@/’s cells according to /@area@/’s layout onto /@widget@/ at
+the given coordinates.
+
+/Since: 3.0/
+-}
+cellAreaRender ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' for this row of data. -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' that /@area@/ is rendering to -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: the 'GI.Cairo.Structs.Context.Context' to render with -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@backgroundArea@/: the /@widget@/ relative coordinates for /@area@/’s background -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: the /@widget@/ relative coordinates for /@area@/ -}
+    -> [Gtk.Flags.CellRendererState]
+    {- ^ /@flags@/: the 'GI.Gtk.Flags.CellRendererState' for /@area@/ in this row. -}
+    -> Bool
+    {- ^ /@paintFocus@/: whether /@area@/ should paint focus on focused cells for focused rows or not. -}
+    -> m ()
+cellAreaRender area context widget cr backgroundArea cellArea flags paintFocus = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    widget' <- unsafeManagedPtrCastPtr widget
+    cr' <- unsafeManagedPtrGetPtr cr
+    backgroundArea' <- unsafeManagedPtrGetPtr backgroundArea
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    let flags' = gflagsToWord flags
+    let paintFocus' = (fromIntegral . fromEnum) paintFocus
+    gtk_cell_area_render area' context' widget' cr' backgroundArea' cellArea' flags' paintFocus'
+    touchManagedPtr area
+    touchManagedPtr context
+    touchManagedPtr widget
+    touchManagedPtr cr
+    touchManagedPtr backgroundArea
+    touchManagedPtr cellArea
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaRenderMethodInfo
+instance (signature ~ (b -> c -> Cairo.Context.Context -> Gdk.Rectangle.Rectangle -> Gdk.Rectangle.Rectangle -> [Gtk.Flags.CellRendererState] -> Bool -> m ()), MonadIO m, IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaRenderMethodInfo a signature where
+    overloadedMethod _ = cellAreaRender
+
+#endif
+
+-- method CellArea::request_renderer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to request size for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkOrientation in which to request size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that @area is rendering onto", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "for_size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the allocation contextual size to request for, or -1 if\nthe base request for the orientation is to be returned.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_request_renderer" gtk_cell_area_request_renderer :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- for_size : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_size : TBasicType TInt
+    Ptr Int32 ->                            -- natural_size : TBasicType TInt
+    IO ()
+
+{- |
+This is a convenience function for 'GI.Gtk.Objects.CellArea.CellArea' implementations
+to request size for cell renderers. It’s important to use this
+function to request size and then use 'GI.Gtk.Objects.CellArea.cellAreaInnerCellArea'
+at render and event time since this function will add padding
+around the cell for focus painting.
+
+/Since: 3.0/
+-}
+cellAreaRequestRenderer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to request size for -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the 'GI.Gtk.Enums.Orientation' in which to request size -}
+    -> c
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' that /@area@/ is rendering onto -}
+    -> Int32
+    {- ^ /@forSize@/: the allocation contextual size to request for, or -1 if
+the base request for the orientation is to be returned. -}
+    -> m ((Int32, Int32))
+cellAreaRequestRenderer area renderer orientation widget forSize = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    let orientation' = (fromIntegral . fromEnum) orientation
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumSize <- allocMem :: IO (Ptr Int32)
+    naturalSize <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_request_renderer area' renderer' orientation' widget' forSize minimumSize naturalSize
+    minimumSize' <- peek minimumSize
+    naturalSize' <- peek naturalSize
+    touchManagedPtr area
+    touchManagedPtr renderer
+    touchManagedPtr widget
+    freeMem minimumSize
+    freeMem naturalSize
+    return (minimumSize', naturalSize')
+
+#if ENABLE_OVERLOADING
+data CellAreaRequestRendererMethodInfo
+instance (signature ~ (b -> Gtk.Enums.Orientation -> c -> Int32 -> m ((Int32, Int32))), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b, Gtk.Widget.IsWidget c) => O.MethodInfo CellAreaRequestRendererMethodInfo a signature where
+    overloadedMethod _ = cellAreaRequestRenderer
+
+#endif
+
+-- method CellArea::set_focus_cell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to give focus to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_set_focus_cell" gtk_cell_area_set_focus_cell :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Explicitly sets the currently focused cell to /@renderer@/.
+
+This is generally called by implementations of
+'GI.Gtk.Structs.CellAreaClass.CellAreaClass'.@/focus/@() or 'GI.Gtk.Structs.CellAreaClass.CellAreaClass'.@/event/@(),
+however it can also be used to implement functions such
+as 'GI.Gtk.Objects.TreeView.treeViewSetCursorOnCell'.
+
+/Since: 3.0/
+-}
+cellAreaSetFocusCell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to give focus to -}
+    -> m ()
+cellAreaSetFocusCell area renderer = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    gtk_cell_area_set_focus_cell area' renderer'
+    touchManagedPtr area
+    touchManagedPtr renderer
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaSetFocusCellMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsCellArea a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaSetFocusCellMethodInfo a signature where
+    overloadedMethod _ = cellAreaSetFocusCell
+
+#endif
+
+-- method CellArea::stop_editing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "canceled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether editing was canceled.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_stop_editing" gtk_cell_area_stop_editing :: 
+    Ptr CellArea ->                         -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    CInt ->                                 -- canceled : TBasicType TBoolean
+    IO ()
+
+{- |
+Explicitly stops the editing of the currently edited cell.
+
+If /@canceled@/ is 'True', the currently edited cell renderer
+will emit the ::editing-canceled signal, otherwise the
+the ::editing-done signal will be emitted on the current
+edit widget.
+
+See 'GI.Gtk.Objects.CellArea.cellAreaGetEditedCell' and 'GI.Gtk.Objects.CellArea.cellAreaGetEditWidget'.
+
+/Since: 3.0/
+-}
+cellAreaStopEditing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.CellArea.CellArea' -}
+    -> Bool
+    {- ^ /@canceled@/: whether editing was canceled. -}
+    -> m ()
+cellAreaStopEditing area canceled = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    let canceled' = (fromIntegral . fromEnum) canceled
+    gtk_cell_area_stop_editing area' canceled'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaStopEditingMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCellArea a) => O.MethodInfo CellAreaStopEditingMethodInfo a signature where
+    overloadedMethod _ = cellAreaStopEditing
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellArea.hs-boot b/GI/Gtk/Objects/CellArea.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellArea.hs-boot
@@ -0,0 +1,167 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellArea where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellArea = CellArea (ManagedPtr CellArea)
+instance GObject CellArea where
+class (GObject o, O.IsDescendantOf CellArea o) => IsCellArea o
+instance (GObject o, O.IsDescendantOf CellArea o) => IsCellArea o
+instance O.HasParentTypes CellArea
+#if ENABLE_OVERLOADING
+data CellAreaEditWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaEditedCellPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaFocusCellPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaAddEditableSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaApplyAttributesSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaFocusChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaRemoveEditableSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaActivateCellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaAddMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaAddFocusSiblingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaApplyAttributesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaAttributeConnectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaAttributeDisconnectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaAttributeGetColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaCellGetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaCellSetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaCopyContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaCreateContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaEventMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaForeachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaForeachAllocMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetCellAllocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetCellAtPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetCurrentPathStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetEditWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetEditedCellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetFocusCellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetFocusFromSiblingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetFocusSiblingsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetPreferredHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetPreferredHeightForWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetPreferredWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetPreferredWidthForHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaGetRequestModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaHasRendererMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaInnerCellAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaIsActivatableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaIsFocusSiblingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaRemoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaRemoveFocusSiblingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaRenderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaRequestRendererMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaSetFocusCellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaStopEditingMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CellAreaBox.hs b/GI/Gtk/Objects/CellAreaBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellAreaBox.hs
@@ -0,0 +1,529 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' renders cell renderers into a row or a column
+depending on its 'GI.Gtk.Enums.Orientation'.
+
+GtkCellAreaBox uses a notion of packing. Packing
+refers to adding cell renderers with reference to a particular position
+in a 'GI.Gtk.Objects.CellAreaBox.CellAreaBox'. There are two reference positions: the
+start and the end of the box.
+When the 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' is oriented in the 'GI.Gtk.Enums.OrientationVertical'
+orientation, the start is defined as the top of the box and the end is
+defined as the bottom. In the 'GI.Gtk.Enums.OrientationHorizontal' orientation
+start is defined as the left side and the end is defined as the right
+side.
+
+Alignments of @/GtkCellRenderers/@ rendered in adjacent rows can be
+configured by configuring the 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' align child cell property
+with 'GI.Gtk.Objects.CellArea.cellAreaCellSetProperty' or by specifying the \"align\"
+argument to 'GI.Gtk.Objects.CellAreaBox.cellAreaBoxPackStart' and 'GI.Gtk.Objects.CellAreaBox.cellAreaBoxPackEnd'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellAreaBox
+    ( 
+
+-- * Exported types
+    CellAreaBox(..)                         ,
+    IsCellAreaBox                           ,
+    toCellAreaBox                           ,
+    noCellAreaBox                           ,
+
+
+ -- * Methods
+-- ** getSpacing #method:getSpacing#
+
+#if ENABLE_OVERLOADING
+    CellAreaBoxGetSpacingMethodInfo         ,
+#endif
+    cellAreaBoxGetSpacing                   ,
+
+
+-- ** new #method:new#
+
+    cellAreaBoxNew                          ,
+
+
+-- ** packEnd #method:packEnd#
+
+#if ENABLE_OVERLOADING
+    CellAreaBoxPackEndMethodInfo            ,
+#endif
+    cellAreaBoxPackEnd                      ,
+
+
+-- ** packStart #method:packStart#
+
+#if ENABLE_OVERLOADING
+    CellAreaBoxPackStartMethodInfo          ,
+#endif
+    cellAreaBoxPackStart                    ,
+
+
+-- ** setSpacing #method:setSpacing#
+
+#if ENABLE_OVERLOADING
+    CellAreaBoxSetSpacingMethodInfo         ,
+#endif
+    cellAreaBoxSetSpacing                   ,
+
+
+
+
+ -- * Properties
+-- ** spacing #attr:spacing#
+{- | The amount of space to reserve between cells.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellAreaBoxSpacingPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    cellAreaBoxSpacing                      ,
+#endif
+    constructCellAreaBoxSpacing             ,
+    getCellAreaBoxSpacing                   ,
+    setCellAreaBoxSpacing                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellArea as Gtk.CellArea
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+
+-- | Memory-managed wrapper type.
+newtype CellAreaBox = CellAreaBox (ManagedPtr CellAreaBox)
+foreign import ccall "gtk_cell_area_box_get_type"
+    c_gtk_cell_area_box_get_type :: IO GType
+
+instance GObject CellAreaBox where
+    gobjectType = c_gtk_cell_area_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellAreaBox`, for instance with `toCellAreaBox`.
+class (GObject o, O.IsDescendantOf CellAreaBox o) => IsCellAreaBox o
+instance (GObject o, O.IsDescendantOf CellAreaBox o) => IsCellAreaBox o
+
+instance O.HasParentTypes CellAreaBox
+type instance O.ParentTypes CellAreaBox = '[Gtk.CellArea.CellArea, GObject.Object.Object, Gtk.Buildable.Buildable, Gtk.CellLayout.CellLayout, Gtk.Orientable.Orientable]
+
+-- | Cast to `CellAreaBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellAreaBox :: (MonadIO m, IsCellAreaBox o) => o -> m CellAreaBox
+toCellAreaBox = liftIO . unsafeCastTo CellAreaBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellAreaBox`.
+noCellAreaBox :: Maybe CellAreaBox
+noCellAreaBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellAreaBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellAreaBoxMethod "activate" o = Gtk.CellArea.CellAreaActivateMethodInfo
+    ResolveCellAreaBoxMethod "activateCell" o = Gtk.CellArea.CellAreaActivateCellMethodInfo
+    ResolveCellAreaBoxMethod "add" o = Gtk.CellArea.CellAreaAddMethodInfo
+    ResolveCellAreaBoxMethod "addAttribute" o = Gtk.CellLayout.CellLayoutAddAttributeMethodInfo
+    ResolveCellAreaBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveCellAreaBoxMethod "addFocusSibling" o = Gtk.CellArea.CellAreaAddFocusSiblingMethodInfo
+    ResolveCellAreaBoxMethod "applyAttributes" o = Gtk.CellArea.CellAreaApplyAttributesMethodInfo
+    ResolveCellAreaBoxMethod "attributeConnect" o = Gtk.CellArea.CellAreaAttributeConnectMethodInfo
+    ResolveCellAreaBoxMethod "attributeDisconnect" o = Gtk.CellArea.CellAreaAttributeDisconnectMethodInfo
+    ResolveCellAreaBoxMethod "attributeGetColumn" o = Gtk.CellArea.CellAreaAttributeGetColumnMethodInfo
+    ResolveCellAreaBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellAreaBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellAreaBoxMethod "cellGetProperty" o = Gtk.CellArea.CellAreaCellGetPropertyMethodInfo
+    ResolveCellAreaBoxMethod "cellSetProperty" o = Gtk.CellArea.CellAreaCellSetPropertyMethodInfo
+    ResolveCellAreaBoxMethod "clear" o = Gtk.CellLayout.CellLayoutClearMethodInfo
+    ResolveCellAreaBoxMethod "clearAttributes" o = Gtk.CellLayout.CellLayoutClearAttributesMethodInfo
+    ResolveCellAreaBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveCellAreaBoxMethod "copyContext" o = Gtk.CellArea.CellAreaCopyContextMethodInfo
+    ResolveCellAreaBoxMethod "createContext" o = Gtk.CellArea.CellAreaCreateContextMethodInfo
+    ResolveCellAreaBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveCellAreaBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveCellAreaBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveCellAreaBoxMethod "event" o = Gtk.CellArea.CellAreaEventMethodInfo
+    ResolveCellAreaBoxMethod "focus" o = Gtk.CellArea.CellAreaFocusMethodInfo
+    ResolveCellAreaBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellAreaBoxMethod "foreach" o = Gtk.CellArea.CellAreaForeachMethodInfo
+    ResolveCellAreaBoxMethod "foreachAlloc" o = Gtk.CellArea.CellAreaForeachAllocMethodInfo
+    ResolveCellAreaBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellAreaBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellAreaBoxMethod "hasRenderer" o = Gtk.CellArea.CellAreaHasRendererMethodInfo
+    ResolveCellAreaBoxMethod "innerCellArea" o = Gtk.CellArea.CellAreaInnerCellAreaMethodInfo
+    ResolveCellAreaBoxMethod "isActivatable" o = Gtk.CellArea.CellAreaIsActivatableMethodInfo
+    ResolveCellAreaBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellAreaBoxMethod "isFocusSibling" o = Gtk.CellArea.CellAreaIsFocusSiblingMethodInfo
+    ResolveCellAreaBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellAreaBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellAreaBoxMethod "packEnd" o = CellAreaBoxPackEndMethodInfo
+    ResolveCellAreaBoxMethod "packStart" o = CellAreaBoxPackStartMethodInfo
+    ResolveCellAreaBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveCellAreaBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellAreaBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellAreaBoxMethod "remove" o = Gtk.CellArea.CellAreaRemoveMethodInfo
+    ResolveCellAreaBoxMethod "removeFocusSibling" o = Gtk.CellArea.CellAreaRemoveFocusSiblingMethodInfo
+    ResolveCellAreaBoxMethod "render" o = Gtk.CellArea.CellAreaRenderMethodInfo
+    ResolveCellAreaBoxMethod "reorder" o = Gtk.CellLayout.CellLayoutReorderMethodInfo
+    ResolveCellAreaBoxMethod "requestRenderer" o = Gtk.CellArea.CellAreaRequestRendererMethodInfo
+    ResolveCellAreaBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellAreaBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellAreaBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellAreaBoxMethod "stopEditing" o = Gtk.CellArea.CellAreaStopEditingMethodInfo
+    ResolveCellAreaBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellAreaBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellAreaBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellAreaBoxMethod "getArea" o = Gtk.CellLayout.CellLayoutGetAreaMethodInfo
+    ResolveCellAreaBoxMethod "getCellAllocation" o = Gtk.CellArea.CellAreaGetCellAllocationMethodInfo
+    ResolveCellAreaBoxMethod "getCellAtPosition" o = Gtk.CellArea.CellAreaGetCellAtPositionMethodInfo
+    ResolveCellAreaBoxMethod "getCells" o = Gtk.CellLayout.CellLayoutGetCellsMethodInfo
+    ResolveCellAreaBoxMethod "getCurrentPathString" o = Gtk.CellArea.CellAreaGetCurrentPathStringMethodInfo
+    ResolveCellAreaBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellAreaBoxMethod "getEditWidget" o = Gtk.CellArea.CellAreaGetEditWidgetMethodInfo
+    ResolveCellAreaBoxMethod "getEditedCell" o = Gtk.CellArea.CellAreaGetEditedCellMethodInfo
+    ResolveCellAreaBoxMethod "getFocusCell" o = Gtk.CellArea.CellAreaGetFocusCellMethodInfo
+    ResolveCellAreaBoxMethod "getFocusFromSibling" o = Gtk.CellArea.CellAreaGetFocusFromSiblingMethodInfo
+    ResolveCellAreaBoxMethod "getFocusSiblings" o = Gtk.CellArea.CellAreaGetFocusSiblingsMethodInfo
+    ResolveCellAreaBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveCellAreaBoxMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveCellAreaBoxMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveCellAreaBoxMethod "getPreferredHeight" o = Gtk.CellArea.CellAreaGetPreferredHeightMethodInfo
+    ResolveCellAreaBoxMethod "getPreferredHeightForWidth" o = Gtk.CellArea.CellAreaGetPreferredHeightForWidthMethodInfo
+    ResolveCellAreaBoxMethod "getPreferredWidth" o = Gtk.CellArea.CellAreaGetPreferredWidthMethodInfo
+    ResolveCellAreaBoxMethod "getPreferredWidthForHeight" o = Gtk.CellArea.CellAreaGetPreferredWidthForHeightMethodInfo
+    ResolveCellAreaBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellAreaBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellAreaBoxMethod "getRequestMode" o = Gtk.CellArea.CellAreaGetRequestModeMethodInfo
+    ResolveCellAreaBoxMethod "getSpacing" o = CellAreaBoxGetSpacingMethodInfo
+    ResolveCellAreaBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveCellAreaBoxMethod "setCellDataFunc" o = Gtk.CellLayout.CellLayoutSetCellDataFuncMethodInfo
+    ResolveCellAreaBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellAreaBoxMethod "setFocusCell" o = Gtk.CellArea.CellAreaSetFocusCellMethodInfo
+    ResolveCellAreaBoxMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveCellAreaBoxMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveCellAreaBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellAreaBoxMethod "setSpacing" o = CellAreaBoxSetSpacingMethodInfo
+    ResolveCellAreaBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellAreaBoxMethod t CellAreaBox, O.MethodInfo info CellAreaBox p) => OL.IsLabel t (CellAreaBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellAreaBox #spacing
+@
+-}
+getCellAreaBoxSpacing :: (MonadIO m, IsCellAreaBox o) => o -> m Int32
+getCellAreaBoxSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "spacing"
+
+{- |
+Set the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellAreaBox [ #spacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellAreaBoxSpacing :: (MonadIO m, IsCellAreaBox o) => o -> Int32 -> m ()
+setCellAreaBoxSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellAreaBoxSpacing :: (IsCellAreaBox o) => Int32 -> IO (GValueConstruct o)
+constructCellAreaBoxSpacing val = B.Properties.constructObjectPropertyInt32 "spacing" val
+
+#if ENABLE_OVERLOADING
+data CellAreaBoxSpacingPropertyInfo
+instance AttrInfo CellAreaBoxSpacingPropertyInfo where
+    type AttrAllowedOps CellAreaBoxSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellAreaBoxSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellAreaBoxSpacingPropertyInfo = IsCellAreaBox
+    type AttrGetType CellAreaBoxSpacingPropertyInfo = Int32
+    type AttrLabel CellAreaBoxSpacingPropertyInfo = "spacing"
+    type AttrOrigin CellAreaBoxSpacingPropertyInfo = CellAreaBox
+    attrGet _ = getCellAreaBoxSpacing
+    attrSet _ = setCellAreaBoxSpacing
+    attrConstruct _ = constructCellAreaBoxSpacing
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellAreaBox
+type instance O.AttributeList CellAreaBox = CellAreaBoxAttributeList
+type CellAreaBoxAttributeList = ('[ '("editWidget", Gtk.CellArea.CellAreaEditWidgetPropertyInfo), '("editedCell", Gtk.CellArea.CellAreaEditedCellPropertyInfo), '("focusCell", Gtk.CellArea.CellAreaFocusCellPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("spacing", CellAreaBoxSpacingPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellAreaBoxSpacing :: AttrLabelProxy "spacing"
+cellAreaBoxSpacing = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellAreaBox = CellAreaBoxSignalList
+type CellAreaBoxSignalList = ('[ '("addEditable", Gtk.CellArea.CellAreaAddEditableSignalInfo), '("applyAttributes", Gtk.CellArea.CellAreaApplyAttributesSignalInfo), '("focusChanged", Gtk.CellArea.CellAreaFocusChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("removeEditable", Gtk.CellArea.CellAreaRemoveEditableSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellAreaBox::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellAreaBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_box_new" gtk_cell_area_box_new :: 
+    IO (Ptr CellAreaBox)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellAreaBox.CellAreaBox'.
+
+/Since: 3.0/
+-}
+cellAreaBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellAreaBox
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' -}
+cellAreaBoxNew  = liftIO $ do
+    result <- gtk_cell_area_box_new
+    checkUnexpectedReturnNULL "cellAreaBoxNew" result
+    result' <- (newObject CellAreaBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CellAreaBox::get_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_box_get_spacing" gtk_cell_area_box_get_spacing :: 
+    Ptr CellAreaBox ->                      -- box : TInterface (Name {namespace = "Gtk", name = "CellAreaBox"})
+    IO Int32
+
+{- |
+Gets the spacing added between cell renderers.
+
+/Since: 3.0/
+-}
+cellAreaBoxGetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' -}
+    -> m Int32
+    {- ^ __Returns:__ the space added between cell renderers in /@box@/. -}
+cellAreaBoxGetSpacing box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_cell_area_box_get_spacing box'
+    touchManagedPtr box
+    return result
+
+#if ENABLE_OVERLOADING
+data CellAreaBoxGetSpacingMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsCellAreaBox a) => O.MethodInfo CellAreaBoxGetSpacingMethodInfo a signature where
+    overloadedMethod _ = cellAreaBoxGetSpacing
+
+#endif
+
+-- method CellAreaBox::pack_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @renderer should receive extra space when the area receives\nmore than its natural size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "align", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @renderer should be aligned in adjacent rows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fixed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @renderer should have the same size in all rows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_box_pack_end" gtk_cell_area_box_pack_end :: 
+    Ptr CellAreaBox ->                      -- box : TInterface (Name {namespace = "Gtk", name = "CellAreaBox"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    CInt ->                                 -- align : TBasicType TBoolean
+    CInt ->                                 -- fixed : TBasicType TBoolean
+    IO ()
+
+{- |
+Adds /@renderer@/ to /@box@/, packed with reference to the end of /@box@/.
+
+The /@renderer@/ is packed after (away from end of) any other
+'GI.Gtk.Objects.CellRenderer.CellRenderer' packed with reference to the end of /@box@/.
+
+/Since: 3.0/
+-}
+cellAreaBoxPackEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaBox a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to add -}
+    -> Bool
+    {- ^ /@expand@/: whether /@renderer@/ should receive extra space when the area receives
+more than its natural size -}
+    -> Bool
+    {- ^ /@align@/: whether /@renderer@/ should be aligned in adjacent rows -}
+    -> Bool
+    {- ^ /@fixed@/: whether /@renderer@/ should have the same size in all rows -}
+    -> m ()
+cellAreaBoxPackEnd box renderer expand align fixed = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    let expand' = (fromIntegral . fromEnum) expand
+    let align' = (fromIntegral . fromEnum) align
+    let fixed' = (fromIntegral . fromEnum) fixed
+    gtk_cell_area_box_pack_end box' renderer' expand' align' fixed'
+    touchManagedPtr box
+    touchManagedPtr renderer
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaBoxPackEndMethodInfo
+instance (signature ~ (b -> Bool -> Bool -> Bool -> m ()), MonadIO m, IsCellAreaBox a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaBoxPackEndMethodInfo a signature where
+    overloadedMethod _ = cellAreaBoxPackEnd
+
+#endif
+
+-- method CellAreaBox::pack_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @renderer should receive extra space when the area receives\nmore than its natural size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "align", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @renderer should be aligned in adjacent rows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fixed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @renderer should have the same size in all rows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_box_pack_start" gtk_cell_area_box_pack_start :: 
+    Ptr CellAreaBox ->                      -- box : TInterface (Name {namespace = "Gtk", name = "CellAreaBox"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    CInt ->                                 -- align : TBasicType TBoolean
+    CInt ->                                 -- fixed : TBasicType TBoolean
+    IO ()
+
+{- |
+Adds /@renderer@/ to /@box@/, packed with reference to the start of /@box@/.
+
+The /@renderer@/ is packed after any other 'GI.Gtk.Objects.CellRenderer.CellRenderer' packed
+with reference to the start of /@box@/.
+
+/Since: 3.0/
+-}
+cellAreaBoxPackStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaBox a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' -}
+    -> b
+    {- ^ /@renderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to add -}
+    -> Bool
+    {- ^ /@expand@/: whether /@renderer@/ should receive extra space when the area receives
+more than its natural size -}
+    -> Bool
+    {- ^ /@align@/: whether /@renderer@/ should be aligned in adjacent rows -}
+    -> Bool
+    {- ^ /@fixed@/: whether /@renderer@/ should have the same size in all rows -}
+    -> m ()
+cellAreaBoxPackStart box renderer expand align fixed = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    let expand' = (fromIntegral . fromEnum) expand
+    let align' = (fromIntegral . fromEnum) align
+    let fixed' = (fromIntegral . fromEnum) fixed
+    gtk_cell_area_box_pack_start box' renderer' expand' align' fixed'
+    touchManagedPtr box
+    touchManagedPtr renderer
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaBoxPackStartMethodInfo
+instance (signature ~ (b -> Bool -> Bool -> Bool -> m ()), MonadIO m, IsCellAreaBox a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo CellAreaBoxPackStartMethodInfo a signature where
+    overloadedMethod _ = cellAreaBoxPackStart
+
+#endif
+
+-- method CellAreaBox::set_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the space to add between #GtkCellRenderers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_box_set_spacing" gtk_cell_area_box_set_spacing :: 
+    Ptr CellAreaBox ->                      -- box : TInterface (Name {namespace = "Gtk", name = "CellAreaBox"})
+    Int32 ->                                -- spacing : TBasicType TInt
+    IO ()
+
+{- |
+Sets the spacing to add between cell renderers in /@box@/.
+
+/Since: 3.0/
+-}
+cellAreaBoxSetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' -}
+    -> Int32
+    {- ^ /@spacing@/: the space to add between @/GtkCellRenderers/@ -}
+    -> m ()
+cellAreaBoxSetSpacing box spacing = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_cell_area_box_set_spacing box' spacing
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaBoxSetSpacingMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsCellAreaBox a) => O.MethodInfo CellAreaBoxSetSpacingMethodInfo a signature where
+    overloadedMethod _ = cellAreaBoxSetSpacing
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellAreaBox.hs-boot b/GI/Gtk/Objects/CellAreaBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellAreaBox.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellAreaBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellAreaBox = CellAreaBox (ManagedPtr CellAreaBox)
+instance GObject CellAreaBox where
+class (GObject o, O.IsDescendantOf CellAreaBox o) => IsCellAreaBox o
+instance (GObject o, O.IsDescendantOf CellAreaBox o) => IsCellAreaBox o
+instance O.HasParentTypes CellAreaBox
+#if ENABLE_OVERLOADING
+data CellAreaBoxSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaBoxGetSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaBoxPackEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaBoxPackStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaBoxSetSpacingMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CellAreaContext.hs b/GI/Gtk/Objects/CellAreaContext.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellAreaContext.hs
@@ -0,0 +1,972 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' object is created by a given 'GI.Gtk.Objects.CellArea.CellArea'
+implementation via its 'GI.Gtk.Structs.CellAreaClass.CellAreaClass'.@/create_context/@() virtual
+method and is used to store cell sizes and alignments for a series of
+'GI.Gtk.Interfaces.TreeModel.TreeModel' rows that are requested and rendered in the same context.
+
+'GI.Gtk.Interfaces.CellLayout.CellLayout' widgets can create any number of contexts in which to
+request and render groups of data rows. However, it’s important that the
+same context which was used to request sizes for a given 'GI.Gtk.Interfaces.TreeModel.TreeModel'
+row also be used for the same row when calling other 'GI.Gtk.Objects.CellArea.CellArea' APIs
+such as 'GI.Gtk.Objects.CellArea.cellAreaRender' and 'GI.Gtk.Objects.CellArea.cellAreaEvent'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellAreaContext
+    ( 
+
+-- * Exported types
+    CellAreaContext(..)                     ,
+    IsCellAreaContext                       ,
+    toCellAreaContext                       ,
+    noCellAreaContext                       ,
+
+
+ -- * Methods
+-- ** allocate #method:allocate#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextAllocateMethodInfo       ,
+#endif
+    cellAreaContextAllocate                 ,
+
+
+-- ** getAllocation #method:getAllocation#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextGetAllocationMethodInfo  ,
+#endif
+    cellAreaContextGetAllocation            ,
+
+
+-- ** getArea #method:getArea#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextGetAreaMethodInfo        ,
+#endif
+    cellAreaContextGetArea                  ,
+
+
+-- ** getPreferredHeight #method:getPreferredHeight#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextGetPreferredHeightMethodInfo,
+#endif
+    cellAreaContextGetPreferredHeight       ,
+
+
+-- ** getPreferredHeightForWidth #method:getPreferredHeightForWidth#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextGetPreferredHeightForWidthMethodInfo,
+#endif
+    cellAreaContextGetPreferredHeightForWidth,
+
+
+-- ** getPreferredWidth #method:getPreferredWidth#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextGetPreferredWidthMethodInfo,
+#endif
+    cellAreaContextGetPreferredWidth        ,
+
+
+-- ** getPreferredWidthForHeight #method:getPreferredWidthForHeight#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextGetPreferredWidthForHeightMethodInfo,
+#endif
+    cellAreaContextGetPreferredWidthForHeight,
+
+
+-- ** pushPreferredHeight #method:pushPreferredHeight#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextPushPreferredHeightMethodInfo,
+#endif
+    cellAreaContextPushPreferredHeight      ,
+
+
+-- ** pushPreferredWidth #method:pushPreferredWidth#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextPushPreferredWidthMethodInfo,
+#endif
+    cellAreaContextPushPreferredWidth       ,
+
+
+-- ** reset #method:reset#
+
+#if ENABLE_OVERLOADING
+    CellAreaContextResetMethodInfo          ,
+#endif
+    cellAreaContextReset                    ,
+
+
+
+
+ -- * Properties
+-- ** area #attr:area#
+{- | The 'GI.Gtk.Objects.CellArea.CellArea' this context was created by
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellAreaContextAreaPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    cellAreaContextArea                     ,
+#endif
+    constructCellAreaContextArea            ,
+    getCellAreaContextArea                  ,
+
+
+-- ** minimumHeight #attr:minimumHeight#
+{- | The minimum height for the 'GI.Gtk.Objects.CellArea.CellArea' in this context
+for all 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows that this context was requested
+for using 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredHeight'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellAreaContextMinimumHeightPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellAreaContextMinimumHeight            ,
+#endif
+    getCellAreaContextMinimumHeight         ,
+
+
+-- ** minimumWidth #attr:minimumWidth#
+{- | The minimum width for the 'GI.Gtk.Objects.CellArea.CellArea' in this context
+for all 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows that this context was requested
+for using 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredWidth'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellAreaContextMinimumWidthPropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    cellAreaContextMinimumWidth             ,
+#endif
+    getCellAreaContextMinimumWidth          ,
+
+
+-- ** naturalHeight #attr:naturalHeight#
+{- | The natural height for the 'GI.Gtk.Objects.CellArea.CellArea' in this context
+for all 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows that this context was requested
+for using 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredHeight'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellAreaContextNaturalHeightPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellAreaContextNaturalHeight            ,
+#endif
+    getCellAreaContextNaturalHeight         ,
+
+
+-- ** naturalWidth #attr:naturalWidth#
+{- | The natural width for the 'GI.Gtk.Objects.CellArea.CellArea' in this context
+for all 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows that this context was requested
+for using 'GI.Gtk.Objects.CellArea.cellAreaGetPreferredWidth'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellAreaContextNaturalWidthPropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    cellAreaContextNaturalWidth             ,
+#endif
+    getCellAreaContextNaturalWidth          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellArea as Gtk.CellArea
+
+-- | Memory-managed wrapper type.
+newtype CellAreaContext = CellAreaContext (ManagedPtr CellAreaContext)
+foreign import ccall "gtk_cell_area_context_get_type"
+    c_gtk_cell_area_context_get_type :: IO GType
+
+instance GObject CellAreaContext where
+    gobjectType = c_gtk_cell_area_context_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellAreaContext`, for instance with `toCellAreaContext`.
+class (GObject o, O.IsDescendantOf CellAreaContext o) => IsCellAreaContext o
+instance (GObject o, O.IsDescendantOf CellAreaContext o) => IsCellAreaContext o
+
+instance O.HasParentTypes CellAreaContext
+type instance O.ParentTypes CellAreaContext = '[GObject.Object.Object]
+
+-- | Cast to `CellAreaContext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellAreaContext :: (MonadIO m, IsCellAreaContext o) => o -> m CellAreaContext
+toCellAreaContext = liftIO . unsafeCastTo CellAreaContext
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellAreaContext`.
+noCellAreaContext :: Maybe CellAreaContext
+noCellAreaContext = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellAreaContextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellAreaContextMethod "allocate" o = CellAreaContextAllocateMethodInfo
+    ResolveCellAreaContextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellAreaContextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellAreaContextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellAreaContextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellAreaContextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellAreaContextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellAreaContextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellAreaContextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellAreaContextMethod "pushPreferredHeight" o = CellAreaContextPushPreferredHeightMethodInfo
+    ResolveCellAreaContextMethod "pushPreferredWidth" o = CellAreaContextPushPreferredWidthMethodInfo
+    ResolveCellAreaContextMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellAreaContextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellAreaContextMethod "reset" o = CellAreaContextResetMethodInfo
+    ResolveCellAreaContextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellAreaContextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellAreaContextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellAreaContextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellAreaContextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellAreaContextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellAreaContextMethod "getAllocation" o = CellAreaContextGetAllocationMethodInfo
+    ResolveCellAreaContextMethod "getArea" o = CellAreaContextGetAreaMethodInfo
+    ResolveCellAreaContextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellAreaContextMethod "getPreferredHeight" o = CellAreaContextGetPreferredHeightMethodInfo
+    ResolveCellAreaContextMethod "getPreferredHeightForWidth" o = CellAreaContextGetPreferredHeightForWidthMethodInfo
+    ResolveCellAreaContextMethod "getPreferredWidth" o = CellAreaContextGetPreferredWidthMethodInfo
+    ResolveCellAreaContextMethod "getPreferredWidthForHeight" o = CellAreaContextGetPreferredWidthForHeightMethodInfo
+    ResolveCellAreaContextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellAreaContextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellAreaContextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellAreaContextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellAreaContextMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellAreaContextMethod t CellAreaContext, O.MethodInfo info CellAreaContext p) => OL.IsLabel t (CellAreaContext -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "area"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellArea"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@area@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellAreaContext #area
+@
+-}
+getCellAreaContextArea :: (MonadIO m, IsCellAreaContext o) => o -> m Gtk.CellArea.CellArea
+getCellAreaContextArea obj = liftIO $ checkUnexpectedNothing "getCellAreaContextArea" $ B.Properties.getObjectPropertyObject obj "area" Gtk.CellArea.CellArea
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@area@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellAreaContextArea :: (IsCellAreaContext o, Gtk.CellArea.IsCellArea a) => a -> IO (GValueConstruct o)
+constructCellAreaContextArea val = B.Properties.constructObjectPropertyObject "area" (Just val)
+
+#if ENABLE_OVERLOADING
+data CellAreaContextAreaPropertyInfo
+instance AttrInfo CellAreaContextAreaPropertyInfo where
+    type AttrAllowedOps CellAreaContextAreaPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellAreaContextAreaPropertyInfo = Gtk.CellArea.IsCellArea
+    type AttrBaseTypeConstraint CellAreaContextAreaPropertyInfo = IsCellAreaContext
+    type AttrGetType CellAreaContextAreaPropertyInfo = Gtk.CellArea.CellArea
+    type AttrLabel CellAreaContextAreaPropertyInfo = "area"
+    type AttrOrigin CellAreaContextAreaPropertyInfo = CellAreaContext
+    attrGet _ = getCellAreaContextArea
+    attrSet _ = undefined
+    attrConstruct _ = constructCellAreaContextArea
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "minimum-height"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@minimum-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellAreaContext #minimumHeight
+@
+-}
+getCellAreaContextMinimumHeight :: (MonadIO m, IsCellAreaContext o) => o -> m Int32
+getCellAreaContextMinimumHeight obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "minimum-height"
+
+#if ENABLE_OVERLOADING
+data CellAreaContextMinimumHeightPropertyInfo
+instance AttrInfo CellAreaContextMinimumHeightPropertyInfo where
+    type AttrAllowedOps CellAreaContextMinimumHeightPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint CellAreaContextMinimumHeightPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint CellAreaContextMinimumHeightPropertyInfo = IsCellAreaContext
+    type AttrGetType CellAreaContextMinimumHeightPropertyInfo = Int32
+    type AttrLabel CellAreaContextMinimumHeightPropertyInfo = "minimum-height"
+    type AttrOrigin CellAreaContextMinimumHeightPropertyInfo = CellAreaContext
+    attrGet _ = getCellAreaContextMinimumHeight
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "minimum-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@minimum-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellAreaContext #minimumWidth
+@
+-}
+getCellAreaContextMinimumWidth :: (MonadIO m, IsCellAreaContext o) => o -> m Int32
+getCellAreaContextMinimumWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "minimum-width"
+
+#if ENABLE_OVERLOADING
+data CellAreaContextMinimumWidthPropertyInfo
+instance AttrInfo CellAreaContextMinimumWidthPropertyInfo where
+    type AttrAllowedOps CellAreaContextMinimumWidthPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint CellAreaContextMinimumWidthPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint CellAreaContextMinimumWidthPropertyInfo = IsCellAreaContext
+    type AttrGetType CellAreaContextMinimumWidthPropertyInfo = Int32
+    type AttrLabel CellAreaContextMinimumWidthPropertyInfo = "minimum-width"
+    type AttrOrigin CellAreaContextMinimumWidthPropertyInfo = CellAreaContext
+    attrGet _ = getCellAreaContextMinimumWidth
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "natural-height"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@natural-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellAreaContext #naturalHeight
+@
+-}
+getCellAreaContextNaturalHeight :: (MonadIO m, IsCellAreaContext o) => o -> m Int32
+getCellAreaContextNaturalHeight obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "natural-height"
+
+#if ENABLE_OVERLOADING
+data CellAreaContextNaturalHeightPropertyInfo
+instance AttrInfo CellAreaContextNaturalHeightPropertyInfo where
+    type AttrAllowedOps CellAreaContextNaturalHeightPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint CellAreaContextNaturalHeightPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint CellAreaContextNaturalHeightPropertyInfo = IsCellAreaContext
+    type AttrGetType CellAreaContextNaturalHeightPropertyInfo = Int32
+    type AttrLabel CellAreaContextNaturalHeightPropertyInfo = "natural-height"
+    type AttrOrigin CellAreaContextNaturalHeightPropertyInfo = CellAreaContext
+    attrGet _ = getCellAreaContextNaturalHeight
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "natural-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@natural-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellAreaContext #naturalWidth
+@
+-}
+getCellAreaContextNaturalWidth :: (MonadIO m, IsCellAreaContext o) => o -> m Int32
+getCellAreaContextNaturalWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "natural-width"
+
+#if ENABLE_OVERLOADING
+data CellAreaContextNaturalWidthPropertyInfo
+instance AttrInfo CellAreaContextNaturalWidthPropertyInfo where
+    type AttrAllowedOps CellAreaContextNaturalWidthPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint CellAreaContextNaturalWidthPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint CellAreaContextNaturalWidthPropertyInfo = IsCellAreaContext
+    type AttrGetType CellAreaContextNaturalWidthPropertyInfo = Int32
+    type AttrLabel CellAreaContextNaturalWidthPropertyInfo = "natural-width"
+    type AttrOrigin CellAreaContextNaturalWidthPropertyInfo = CellAreaContext
+    attrGet _ = getCellAreaContextNaturalWidth
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellAreaContext
+type instance O.AttributeList CellAreaContext = CellAreaContextAttributeList
+type CellAreaContextAttributeList = ('[ '("area", CellAreaContextAreaPropertyInfo), '("minimumHeight", CellAreaContextMinimumHeightPropertyInfo), '("minimumWidth", CellAreaContextMinimumWidthPropertyInfo), '("naturalHeight", CellAreaContextNaturalHeightPropertyInfo), '("naturalWidth", CellAreaContextNaturalWidthPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellAreaContextArea :: AttrLabelProxy "area"
+cellAreaContextArea = AttrLabelProxy
+
+cellAreaContextMinimumHeight :: AttrLabelProxy "minimumHeight"
+cellAreaContextMinimumHeight = AttrLabelProxy
+
+cellAreaContextMinimumWidth :: AttrLabelProxy "minimumWidth"
+cellAreaContextMinimumWidth = AttrLabelProxy
+
+cellAreaContextNaturalHeight :: AttrLabelProxy "naturalHeight"
+cellAreaContextNaturalHeight = AttrLabelProxy
+
+cellAreaContextNaturalWidth :: AttrLabelProxy "naturalWidth"
+cellAreaContextNaturalWidth = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellAreaContext = CellAreaContextSignalList
+type CellAreaContextSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellAreaContext::allocate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the allocated width for all #GtkTreeModel rows rendered\n    with @context, or -1.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the allocated height for all #GtkTreeModel rows rendered\n    with @context, or -1.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_allocate" gtk_cell_area_context_allocate :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Allocates a width and\/or a height for all rows which are to be
+rendered with /@context@/.
+
+Usually allocation is performed only horizontally or sometimes
+vertically since a group of rows are usually rendered side by
+side vertically or horizontally and share either the same width
+or the same height. Sometimes they are allocated in both horizontal
+and vertical orientations producing a homogeneous effect of the
+rows. This is generally the case for 'GI.Gtk.Objects.TreeView.TreeView' when
+'GI.Gtk.Objects.TreeView.TreeView':@/fixed-height-mode/@ is enabled.
+
+Since 3.0
+-}
+cellAreaContextAllocate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> Int32
+    {- ^ /@width@/: the allocated width for all 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows rendered
+    with /@context@/, or -1. -}
+    -> Int32
+    {- ^ /@height@/: the allocated height for all 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows rendered
+    with /@context@/, or -1. -}
+    -> m ()
+cellAreaContextAllocate context width height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_cell_area_context_allocate context' width height
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaContextAllocateMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextAllocateMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextAllocate
+
+#endif
+
+-- method CellAreaContext::get_allocation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the allocated width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the allocated height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_get_allocation" gtk_cell_area_context_get_allocation :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+{- |
+Fetches the current allocation size for /@context@/.
+
+If the context was not allocated in width or height, or if the
+context was recently reset with 'GI.Gtk.Objects.CellAreaContext.cellAreaContextReset',
+the returned value will be -1.
+
+/Since: 3.0/
+-}
+cellAreaContextGetAllocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> m ((Int32, Int32))
+cellAreaContextGetAllocation context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_context_get_allocation context' width height
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr context
+    freeMem width
+    freeMem height
+    return (width', height')
+
+#if ENABLE_OVERLOADING
+data CellAreaContextGetAllocationMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextGetAllocationMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextGetAllocation
+
+#endif
+
+-- method CellAreaContext::get_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellArea"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_get_area" gtk_cell_area_context_get_area :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    IO (Ptr Gtk.CellArea.CellArea)
+
+{- |
+Fetches the 'GI.Gtk.Objects.CellArea.CellArea' this /@context@/ was created by.
+
+This is generally unneeded by layouting widgets; however,
+it is important for the context implementation itself to
+fetch information about the area it is being used for.
+
+For instance at 'GI.Gtk.Structs.CellAreaContextClass.CellAreaContextClass'.@/allocate/@() time
+it’s important to know details about any cell spacing
+that the 'GI.Gtk.Objects.CellArea.CellArea' is configured with in order to
+compute a proper allocation.
+
+/Since: 3.0/
+-}
+cellAreaContextGetArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> m Gtk.CellArea.CellArea
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.CellArea.CellArea' this context was created by. -}
+cellAreaContextGetArea context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_cell_area_context_get_area context'
+    checkUnexpectedReturnNULL "cellAreaContextGetArea" result
+    result' <- (newObject Gtk.CellArea.CellArea) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellAreaContextGetAreaMethodInfo
+instance (signature ~ (m Gtk.CellArea.CellArea), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextGetAreaMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextGetArea
+
+#endif
+
+-- method CellAreaContext::get_preferred_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum height,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural height,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_get_preferred_height" gtk_cell_area_context_get_preferred_height :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Int32 ->                            -- minimum_height : TBasicType TInt
+    Ptr Int32 ->                            -- natural_height : TBasicType TInt
+    IO ()
+
+{- |
+Gets the accumulative preferred height for all rows which have been
+requested with this context.
+
+After 'GI.Gtk.Objects.CellAreaContext.cellAreaContextReset' is called and\/or before ever
+requesting the size of a 'GI.Gtk.Objects.CellArea.CellArea', the returned values are 0.
+
+/Since: 3.0/
+-}
+cellAreaContextGetPreferredHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> m ((Int32, Int32))
+cellAreaContextGetPreferredHeight context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    minimumHeight <- allocMem :: IO (Ptr Int32)
+    naturalHeight <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_context_get_preferred_height context' minimumHeight naturalHeight
+    minimumHeight' <- peek minimumHeight
+    naturalHeight' <- peek naturalHeight
+    touchManagedPtr context
+    freeMem minimumHeight
+    freeMem naturalHeight
+    return (minimumHeight', naturalHeight')
+
+#if ENABLE_OVERLOADING
+data CellAreaContextGetPreferredHeightMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextGetPreferredHeightMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextGetPreferredHeight
+
+#endif
+
+-- method CellAreaContext::get_preferred_height_for_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a proposed width for allocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum height,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural height,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_get_preferred_height_for_width" gtk_cell_area_context_get_preferred_height_for_width :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Int32 ->                                -- width : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_height : TBasicType TInt
+    Ptr Int32 ->                            -- natural_height : TBasicType TInt
+    IO ()
+
+{- |
+Gets the accumulative preferred height for /@width@/ for all rows
+which have been requested for the same said /@width@/ with this context.
+
+After 'GI.Gtk.Objects.CellAreaContext.cellAreaContextReset' is called and\/or before ever
+requesting the size of a 'GI.Gtk.Objects.CellArea.CellArea', the returned values are -1.
+
+/Since: 3.0/
+-}
+cellAreaContextGetPreferredHeightForWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> Int32
+    {- ^ /@width@/: a proposed width for allocation -}
+    -> m ((Int32, Int32))
+cellAreaContextGetPreferredHeightForWidth context width = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    minimumHeight <- allocMem :: IO (Ptr Int32)
+    naturalHeight <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_context_get_preferred_height_for_width context' width minimumHeight naturalHeight
+    minimumHeight' <- peek minimumHeight
+    naturalHeight' <- peek naturalHeight
+    touchManagedPtr context
+    freeMem minimumHeight
+    freeMem naturalHeight
+    return (minimumHeight', naturalHeight')
+
+#if ENABLE_OVERLOADING
+data CellAreaContextGetPreferredHeightForWidthMethodInfo
+instance (signature ~ (Int32 -> m ((Int32, Int32))), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextGetPreferredHeightForWidthMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextGetPreferredHeightForWidth
+
+#endif
+
+-- method CellAreaContext::get_preferred_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum width,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural width,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_get_preferred_width" gtk_cell_area_context_get_preferred_width :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Ptr Int32 ->                            -- minimum_width : TBasicType TInt
+    Ptr Int32 ->                            -- natural_width : TBasicType TInt
+    IO ()
+
+{- |
+Gets the accumulative preferred width for all rows which have been
+requested with this context.
+
+After 'GI.Gtk.Objects.CellAreaContext.cellAreaContextReset' is called and\/or before ever
+requesting the size of a 'GI.Gtk.Objects.CellArea.CellArea', the returned values are 0.
+
+/Since: 3.0/
+-}
+cellAreaContextGetPreferredWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> m ((Int32, Int32))
+cellAreaContextGetPreferredWidth context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    minimumWidth <- allocMem :: IO (Ptr Int32)
+    naturalWidth <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_context_get_preferred_width context' minimumWidth naturalWidth
+    minimumWidth' <- peek minimumWidth
+    naturalWidth' <- peek naturalWidth
+    touchManagedPtr context
+    freeMem minimumWidth
+    freeMem naturalWidth
+    return (minimumWidth', naturalWidth')
+
+#if ENABLE_OVERLOADING
+data CellAreaContextGetPreferredWidthMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextGetPreferredWidthMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextGetPreferredWidth
+
+#endif
+
+-- method CellAreaContext::get_preferred_width_for_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a proposed height for allocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum width,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural width,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_get_preferred_width_for_height" gtk_cell_area_context_get_preferred_width_for_height :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Int32 ->                                -- height : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_width : TBasicType TInt
+    Ptr Int32 ->                            -- natural_width : TBasicType TInt
+    IO ()
+
+{- |
+Gets the accumulative preferred width for /@height@/ for all rows which
+have been requested for the same said /@height@/ with this context.
+
+After 'GI.Gtk.Objects.CellAreaContext.cellAreaContextReset' is called and\/or before ever
+requesting the size of a 'GI.Gtk.Objects.CellArea.CellArea', the returned values are -1.
+
+/Since: 3.0/
+-}
+cellAreaContextGetPreferredWidthForHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> Int32
+    {- ^ /@height@/: a proposed height for allocation -}
+    -> m ((Int32, Int32))
+cellAreaContextGetPreferredWidthForHeight context height = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    minimumWidth <- allocMem :: IO (Ptr Int32)
+    naturalWidth <- allocMem :: IO (Ptr Int32)
+    gtk_cell_area_context_get_preferred_width_for_height context' height minimumWidth naturalWidth
+    minimumWidth' <- peek minimumWidth
+    naturalWidth' <- peek naturalWidth
+    touchManagedPtr context
+    freeMem minimumWidth
+    freeMem naturalWidth
+    return (minimumWidth', naturalWidth')
+
+#if ENABLE_OVERLOADING
+data CellAreaContextGetPreferredWidthForHeightMethodInfo
+instance (signature ~ (Int32 -> m ((Int32, Int32))), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextGetPreferredWidthForHeightMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextGetPreferredWidthForHeight
+
+#endif
+
+-- method CellAreaContext::push_preferred_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the proposed new minimum height for @context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "natural_height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the proposed new natural height for @context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_push_preferred_height" gtk_cell_area_context_push_preferred_height :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Int32 ->                                -- minimum_height : TBasicType TInt
+    Int32 ->                                -- natural_height : TBasicType TInt
+    IO ()
+
+{- |
+Causes the minimum and\/or natural height to grow if the new
+proposed sizes exceed the current minimum and natural height.
+
+This is used by 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' implementations during
+the request process over a series of 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows to
+progressively push the requested height over a series of
+'GI.Gtk.Objects.CellArea.cellAreaGetPreferredHeight' requests.
+
+/Since: 3.0/
+-}
+cellAreaContextPushPreferredHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> Int32
+    {- ^ /@minimumHeight@/: the proposed new minimum height for /@context@/ -}
+    -> Int32
+    {- ^ /@naturalHeight@/: the proposed new natural height for /@context@/ -}
+    -> m ()
+cellAreaContextPushPreferredHeight context minimumHeight naturalHeight = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_cell_area_context_push_preferred_height context' minimumHeight naturalHeight
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaContextPushPreferredHeightMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextPushPreferredHeightMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextPushPreferredHeight
+
+#endif
+
+-- method CellAreaContext::push_preferred_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the proposed new minimum width for @context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "natural_width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the proposed new natural width for @context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_push_preferred_width" gtk_cell_area_context_push_preferred_width :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    Int32 ->                                -- minimum_width : TBasicType TInt
+    Int32 ->                                -- natural_width : TBasicType TInt
+    IO ()
+
+{- |
+Causes the minimum and\/or natural width to grow if the new
+proposed sizes exceed the current minimum and natural width.
+
+This is used by 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' implementations during
+the request process over a series of 'GI.Gtk.Interfaces.TreeModel.TreeModel' rows to
+progressively push the requested width over a series of
+'GI.Gtk.Objects.CellArea.cellAreaGetPreferredWidth' requests.
+
+/Since: 3.0/
+-}
+cellAreaContextPushPreferredWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> Int32
+    {- ^ /@minimumWidth@/: the proposed new minimum width for /@context@/ -}
+    -> Int32
+    {- ^ /@naturalWidth@/: the proposed new natural width for /@context@/ -}
+    -> m ()
+cellAreaContextPushPreferredWidth context minimumWidth naturalWidth = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_cell_area_context_push_preferred_width context' minimumWidth naturalWidth
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaContextPushPreferredWidthMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextPushPreferredWidthMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextPushPreferredWidth
+
+#endif
+
+-- method CellAreaContext::reset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellAreaContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_area_context_reset" gtk_cell_area_context_reset :: 
+    Ptr CellAreaContext ->                  -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    IO ()
+
+{- |
+Resets any previously cached request and allocation
+data.
+
+When underlying 'GI.Gtk.Interfaces.TreeModel.TreeModel' data changes its
+important to reset the context if the content
+size is allowed to shrink. If the content size
+is only allowed to grow (this is usually an option
+for views rendering large data stores as a measure
+of optimization), then only the row that changed
+or was inserted needs to be (re)requested with
+'GI.Gtk.Objects.CellArea.cellAreaGetPreferredWidth'.
+
+When the new overall size of the context requires
+that the allocated size changes (or whenever this
+allocation changes at all), the variable row
+sizes need to be re-requested for every row.
+
+For instance, if the rows are displayed all with
+the same width from top to bottom then a change
+in the allocated width necessitates a recalculation
+of all the displayed row heights using
+'GI.Gtk.Objects.CellArea.cellAreaGetPreferredHeightForWidth'.
+
+Since 3.0
+-}
+cellAreaContextReset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellAreaContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' -}
+    -> m ()
+cellAreaContextReset context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_cell_area_context_reset context'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellAreaContextResetMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsCellAreaContext a) => O.MethodInfo CellAreaContextResetMethodInfo a signature where
+    overloadedMethod _ = cellAreaContextReset
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellAreaContext.hs-boot b/GI/Gtk/Objects/CellAreaContext.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellAreaContext.hs-boot
@@ -0,0 +1,74 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellAreaContext where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellAreaContext = CellAreaContext (ManagedPtr CellAreaContext)
+instance GObject CellAreaContext where
+class (GObject o, O.IsDescendantOf CellAreaContext o) => IsCellAreaContext o
+instance (GObject o, O.IsDescendantOf CellAreaContext o) => IsCellAreaContext o
+instance O.HasParentTypes CellAreaContext
+#if ENABLE_OVERLOADING
+data CellAreaContextAreaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextMinimumHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextMinimumWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextNaturalHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextNaturalWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextAllocateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextGetAllocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextGetAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextGetPreferredHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextGetPreferredHeightForWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextGetPreferredWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextGetPreferredWidthForHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextPushPreferredHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextPushPreferredWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellAreaContextResetMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CellRenderer.hs b/GI/Gtk/Objects/CellRenderer.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRenderer.hs
@@ -0,0 +1,2809 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.CellRenderer.CellRenderer' is a base class of a set of objects used for
+rendering a cell to a 'GI.Cairo.Structs.Context.Context'.  These objects are used primarily by
+the 'GI.Gtk.Objects.TreeView.TreeView' widget, though they aren’t tied to them in any
+specific way.  It is worth noting that 'GI.Gtk.Objects.CellRenderer.CellRenderer' is not a
+'GI.Gtk.Objects.Widget.Widget' and cannot be treated as such.
+
+The primary use of a 'GI.Gtk.Objects.CellRenderer.CellRenderer' is for drawing a certain graphical
+elements on a 'GI.Cairo.Structs.Context.Context'. Typically, one cell renderer is used to
+draw many cells on the screen.  To this extent, it isn’t expected that a
+CellRenderer keep any permanent state around.  Instead, any state is set
+just prior to use using @/GObjects/@ property system.  Then, the
+cell is measured using 'GI.Gtk.Objects.CellRenderer.cellRendererGetSize'. Finally, the cell
+is rendered in the correct location using 'GI.Gtk.Objects.CellRenderer.cellRendererRender'.
+
+There are a number of rules that must be followed when writing a new
+'GI.Gtk.Objects.CellRenderer.CellRenderer'.  First and foremost, it’s important that a certain set
+of properties will always yield a cell renderer of the same size,
+barring a 'GI.Gtk.Objects.Style.Style' change.  The 'GI.Gtk.Objects.CellRenderer.CellRenderer' also has a number of
+generic properties that are expected to be honored by all children.
+
+Beyond merely rendering a cell, cell renderers can optionally
+provide active user interface elements. A cell renderer can be
+“activatable” like 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle',
+which toggles when it gets activated by a mouse click, or it can be
+“editable” like 'GI.Gtk.Objects.CellRendererText.CellRendererText', which
+allows the user to edit the text using a widget implementing the
+'GI.Gtk.Interfaces.CellEditable.CellEditable' interface, e.g. 'GI.Gtk.Objects.Entry.Entry'.
+To make a cell renderer activatable or editable, you have to
+implement the 'GI.Gtk.Structs.CellRendererClass.CellRendererClass'.@/activate/@ or
+'GI.Gtk.Structs.CellRendererClass.CellRendererClass'.@/start_editing/@ virtual functions, respectively.
+
+Many properties of 'GI.Gtk.Objects.CellRenderer.CellRenderer' and its subclasses have a
+corresponding “set” property, e.g. “cell-background-set” corresponds
+to “cell-background”. These “set” properties reflect whether a property
+has been set or not. You should not set them independently.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellRenderer
+    ( 
+
+-- * Exported types
+    CellRenderer(..)                        ,
+    IsCellRenderer                          ,
+    toCellRenderer                          ,
+    noCellRenderer                          ,
+
+
+ -- * Methods
+-- ** activate #method:activate#
+
+#if ENABLE_OVERLOADING
+    CellRendererActivateMethodInfo          ,
+#endif
+    cellRendererActivate                    ,
+
+
+-- ** getAlignedArea #method:getAlignedArea#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetAlignedAreaMethodInfo    ,
+#endif
+    cellRendererGetAlignedArea              ,
+
+
+-- ** getAlignment #method:getAlignment#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetAlignmentMethodInfo      ,
+#endif
+    cellRendererGetAlignment                ,
+
+
+-- ** getFixedSize #method:getFixedSize#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetFixedSizeMethodInfo      ,
+#endif
+    cellRendererGetFixedSize                ,
+
+
+-- ** getPadding #method:getPadding#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetPaddingMethodInfo        ,
+#endif
+    cellRendererGetPadding                  ,
+
+
+-- ** getPreferredHeight #method:getPreferredHeight#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetPreferredHeightMethodInfo,
+#endif
+    cellRendererGetPreferredHeight          ,
+
+
+-- ** getPreferredHeightForWidth #method:getPreferredHeightForWidth#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetPreferredHeightForWidthMethodInfo,
+#endif
+    cellRendererGetPreferredHeightForWidth  ,
+
+
+-- ** getPreferredSize #method:getPreferredSize#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetPreferredSizeMethodInfo  ,
+#endif
+    cellRendererGetPreferredSize            ,
+
+
+-- ** getPreferredWidth #method:getPreferredWidth#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetPreferredWidthMethodInfo ,
+#endif
+    cellRendererGetPreferredWidth           ,
+
+
+-- ** getPreferredWidthForHeight #method:getPreferredWidthForHeight#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetPreferredWidthForHeightMethodInfo,
+#endif
+    cellRendererGetPreferredWidthForHeight  ,
+
+
+-- ** getRequestMode #method:getRequestMode#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetRequestModeMethodInfo    ,
+#endif
+    cellRendererGetRequestMode              ,
+
+
+-- ** getSensitive #method:getSensitive#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetSensitiveMethodInfo      ,
+#endif
+    cellRendererGetSensitive                ,
+
+
+-- ** getSize #method:getSize#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetSizeMethodInfo           ,
+#endif
+    cellRendererGetSize                     ,
+
+
+-- ** getState #method:getState#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetStateMethodInfo          ,
+#endif
+    cellRendererGetState                    ,
+
+
+-- ** getVisible #method:getVisible#
+
+#if ENABLE_OVERLOADING
+    CellRendererGetVisibleMethodInfo        ,
+#endif
+    cellRendererGetVisible                  ,
+
+
+-- ** isActivatable #method:isActivatable#
+
+#if ENABLE_OVERLOADING
+    CellRendererIsActivatableMethodInfo     ,
+#endif
+    cellRendererIsActivatable               ,
+
+
+-- ** render #method:render#
+
+#if ENABLE_OVERLOADING
+    CellRendererRenderMethodInfo            ,
+#endif
+    cellRendererRender                      ,
+
+
+-- ** setAlignment #method:setAlignment#
+
+#if ENABLE_OVERLOADING
+    CellRendererSetAlignmentMethodInfo      ,
+#endif
+    cellRendererSetAlignment                ,
+
+
+-- ** setFixedSize #method:setFixedSize#
+
+#if ENABLE_OVERLOADING
+    CellRendererSetFixedSizeMethodInfo      ,
+#endif
+    cellRendererSetFixedSize                ,
+
+
+-- ** setPadding #method:setPadding#
+
+#if ENABLE_OVERLOADING
+    CellRendererSetPaddingMethodInfo        ,
+#endif
+    cellRendererSetPadding                  ,
+
+
+-- ** setSensitive #method:setSensitive#
+
+#if ENABLE_OVERLOADING
+    CellRendererSetSensitiveMethodInfo      ,
+#endif
+    cellRendererSetSensitive                ,
+
+
+-- ** setVisible #method:setVisible#
+
+#if ENABLE_OVERLOADING
+    CellRendererSetVisibleMethodInfo        ,
+#endif
+    cellRendererSetVisible                  ,
+
+
+-- ** startEditing #method:startEditing#
+
+#if ENABLE_OVERLOADING
+    CellRendererStartEditingMethodInfo      ,
+#endif
+    cellRendererStartEditing                ,
+
+
+-- ** stopEditing #method:stopEditing#
+
+#if ENABLE_OVERLOADING
+    CellRendererStopEditingMethodInfo       ,
+#endif
+    cellRendererStopEditing                 ,
+
+
+
+
+ -- * Properties
+-- ** cellBackground #attr:cellBackground#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererCellBackgroundPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererCellBackground              ,
+#endif
+    clearCellRendererCellBackground         ,
+    constructCellRendererCellBackground     ,
+    setCellRendererCellBackground           ,
+
+
+-- ** cellBackgroundGdk #attr:cellBackgroundGdk#
+{- | Cell background as a 'GI.Gdk.Structs.Color.Color'
+-}
+#if ENABLE_OVERLOADING
+    CellRendererCellBackgroundGdkPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererCellBackgroundGdk           ,
+#endif
+    clearCellRendererCellBackgroundGdk      ,
+    constructCellRendererCellBackgroundGdk  ,
+    getCellRendererCellBackgroundGdk        ,
+    setCellRendererCellBackgroundGdk        ,
+
+
+-- ** cellBackgroundRgba #attr:cellBackgroundRgba#
+{- | Cell background as a 'GI.Gdk.Structs.RGBA.RGBA'
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererCellBackgroundRgbaPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererCellBackgroundRgba          ,
+#endif
+    clearCellRendererCellBackgroundRgba     ,
+    constructCellRendererCellBackgroundRgba ,
+    getCellRendererCellBackgroundRgba       ,
+    setCellRendererCellBackgroundRgba       ,
+
+
+-- ** cellBackgroundSet #attr:cellBackgroundSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererCellBackgroundSetPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererCellBackgroundSet           ,
+#endif
+    constructCellRendererCellBackgroundSet  ,
+    getCellRendererCellBackgroundSet        ,
+    setCellRendererCellBackgroundSet        ,
+
+
+-- ** editing #attr:editing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererEditingPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererEditing                     ,
+#endif
+    getCellRendererEditing                  ,
+
+
+-- ** height #attr:height#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererHeightPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererHeight                      ,
+#endif
+    constructCellRendererHeight             ,
+    getCellRendererHeight                   ,
+    setCellRendererHeight                   ,
+
+
+-- ** isExpanded #attr:isExpanded#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererIsExpandedPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererIsExpanded                  ,
+#endif
+    constructCellRendererIsExpanded         ,
+    getCellRendererIsExpanded               ,
+    setCellRendererIsExpanded               ,
+
+
+-- ** isExpander #attr:isExpander#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererIsExpanderPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererIsExpander                  ,
+#endif
+    constructCellRendererIsExpander         ,
+    getCellRendererIsExpander               ,
+    setCellRendererIsExpander               ,
+
+
+-- ** mode #attr:mode#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererModePropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererMode                        ,
+#endif
+    constructCellRendererMode               ,
+    getCellRendererMode                     ,
+    setCellRendererMode                     ,
+
+
+-- ** sensitive #attr:sensitive#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererSensitivePropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererSensitive                   ,
+#endif
+    constructCellRendererSensitive          ,
+    getCellRendererSensitive                ,
+    setCellRendererSensitive                ,
+
+
+-- ** visible #attr:visible#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererVisiblePropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererVisible                     ,
+#endif
+    constructCellRendererVisible            ,
+    getCellRendererVisible                  ,
+    setCellRendererVisible                  ,
+
+
+-- ** width #attr:width#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererWidthPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererWidth                       ,
+#endif
+    constructCellRendererWidth              ,
+    getCellRendererWidth                    ,
+    setCellRendererWidth                    ,
+
+
+-- ** xalign #attr:xalign#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererXalignPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererXalign                      ,
+#endif
+    constructCellRendererXalign             ,
+    getCellRendererXalign                   ,
+    setCellRendererXalign                   ,
+
+
+-- ** xpad #attr:xpad#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererXpadPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererXpad                        ,
+#endif
+    constructCellRendererXpad               ,
+    getCellRendererXpad                     ,
+    setCellRendererXpad                     ,
+
+
+-- ** yalign #attr:yalign#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererYalignPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererYalign                      ,
+#endif
+    constructCellRendererYalign             ,
+    getCellRendererYalign                   ,
+    setCellRendererYalign                   ,
+
+
+-- ** ypad #attr:ypad#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererYpadPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererYpad                        ,
+#endif
+    constructCellRendererYpad               ,
+    getCellRendererYpad                     ,
+    setCellRendererYpad                     ,
+
+
+
+
+ -- * Signals
+-- ** editingCanceled #signal:editingCanceled#
+
+    C_CellRendererEditingCanceledCallback   ,
+    CellRendererEditingCanceledCallback     ,
+#if ENABLE_OVERLOADING
+    CellRendererEditingCanceledSignalInfo   ,
+#endif
+    afterCellRendererEditingCanceled        ,
+    genClosure_CellRendererEditingCanceled  ,
+    mk_CellRendererEditingCanceledCallback  ,
+    noCellRendererEditingCanceledCallback   ,
+    onCellRendererEditingCanceled           ,
+    wrap_CellRendererEditingCanceledCallback,
+
+
+-- ** editingStarted #signal:editingStarted#
+
+    C_CellRendererEditingStartedCallback    ,
+    CellRendererEditingStartedCallback      ,
+#if ENABLE_OVERLOADING
+    CellRendererEditingStartedSignalInfo    ,
+#endif
+    afterCellRendererEditingStarted         ,
+    genClosure_CellRendererEditingStarted   ,
+    mk_CellRendererEditingStartedCallback   ,
+    noCellRendererEditingStartedCallback    ,
+    onCellRendererEditingStarted            ,
+    wrap_CellRendererEditingStartedCallback ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Context as Cairo.Context
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellEditable as Gtk.CellEditable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.Requisition as Gtk.Requisition
+
+-- | Memory-managed wrapper type.
+newtype CellRenderer = CellRenderer (ManagedPtr CellRenderer)
+foreign import ccall "gtk_cell_renderer_get_type"
+    c_gtk_cell_renderer_get_type :: IO GType
+
+instance GObject CellRenderer where
+    gobjectType = c_gtk_cell_renderer_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellRenderer`, for instance with `toCellRenderer`.
+class (GObject o, O.IsDescendantOf CellRenderer o) => IsCellRenderer o
+instance (GObject o, O.IsDescendantOf CellRenderer o) => IsCellRenderer o
+
+instance O.HasParentTypes CellRenderer
+type instance O.ParentTypes CellRenderer = '[GObject.Object.Object]
+
+-- | Cast to `CellRenderer`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellRenderer :: (MonadIO m, IsCellRenderer o) => o -> m CellRenderer
+toCellRenderer = liftIO . unsafeCastTo CellRenderer
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellRenderer`.
+noCellRenderer :: Maybe CellRenderer
+noCellRenderer = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellRendererMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellRendererMethod "activate" o = CellRendererActivateMethodInfo
+    ResolveCellRendererMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellRendererMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellRendererMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellRendererMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellRendererMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellRendererMethod "isActivatable" o = CellRendererIsActivatableMethodInfo
+    ResolveCellRendererMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellRendererMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellRendererMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellRendererMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellRendererMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellRendererMethod "render" o = CellRendererRenderMethodInfo
+    ResolveCellRendererMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellRendererMethod "startEditing" o = CellRendererStartEditingMethodInfo
+    ResolveCellRendererMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellRendererMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellRendererMethod "stopEditing" o = CellRendererStopEditingMethodInfo
+    ResolveCellRendererMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellRendererMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellRendererMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellRendererMethod "getAlignedArea" o = CellRendererGetAlignedAreaMethodInfo
+    ResolveCellRendererMethod "getAlignment" o = CellRendererGetAlignmentMethodInfo
+    ResolveCellRendererMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellRendererMethod "getFixedSize" o = CellRendererGetFixedSizeMethodInfo
+    ResolveCellRendererMethod "getPadding" o = CellRendererGetPaddingMethodInfo
+    ResolveCellRendererMethod "getPreferredHeight" o = CellRendererGetPreferredHeightMethodInfo
+    ResolveCellRendererMethod "getPreferredHeightForWidth" o = CellRendererGetPreferredHeightForWidthMethodInfo
+    ResolveCellRendererMethod "getPreferredSize" o = CellRendererGetPreferredSizeMethodInfo
+    ResolveCellRendererMethod "getPreferredWidth" o = CellRendererGetPreferredWidthMethodInfo
+    ResolveCellRendererMethod "getPreferredWidthForHeight" o = CellRendererGetPreferredWidthForHeightMethodInfo
+    ResolveCellRendererMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellRendererMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellRendererMethod "getRequestMode" o = CellRendererGetRequestModeMethodInfo
+    ResolveCellRendererMethod "getSensitive" o = CellRendererGetSensitiveMethodInfo
+    ResolveCellRendererMethod "getSize" o = CellRendererGetSizeMethodInfo
+    ResolveCellRendererMethod "getState" o = CellRendererGetStateMethodInfo
+    ResolveCellRendererMethod "getVisible" o = CellRendererGetVisibleMethodInfo
+    ResolveCellRendererMethod "setAlignment" o = CellRendererSetAlignmentMethodInfo
+    ResolveCellRendererMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellRendererMethod "setFixedSize" o = CellRendererSetFixedSizeMethodInfo
+    ResolveCellRendererMethod "setPadding" o = CellRendererSetPaddingMethodInfo
+    ResolveCellRendererMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellRendererMethod "setSensitive" o = CellRendererSetSensitiveMethodInfo
+    ResolveCellRendererMethod "setVisible" o = CellRendererSetVisibleMethodInfo
+    ResolveCellRendererMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellRendererMethod t CellRenderer, O.MethodInfo info CellRenderer p) => OL.IsLabel t (CellRenderer -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal CellRenderer::editing-canceled
+{- |
+This signal gets emitted when the user cancels the process of editing a
+cell.  For example, an editable cell renderer could be written to cancel
+editing when the user presses Escape.
+
+See also: 'GI.Gtk.Objects.CellRenderer.cellRendererStopEditing'.
+
+/Since: 2.4/
+-}
+type CellRendererEditingCanceledCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellRendererEditingCanceledCallback`@.
+noCellRendererEditingCanceledCallback :: Maybe CellRendererEditingCanceledCallback
+noCellRendererEditingCanceledCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellRendererEditingCanceledCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellRendererEditingCanceledCallback`.
+foreign import ccall "wrapper"
+    mk_CellRendererEditingCanceledCallback :: C_CellRendererEditingCanceledCallback -> IO (FunPtr C_CellRendererEditingCanceledCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellRendererEditingCanceled :: MonadIO m => CellRendererEditingCanceledCallback -> m (GClosure C_CellRendererEditingCanceledCallback)
+genClosure_CellRendererEditingCanceled cb = liftIO $ do
+    let cb' = wrap_CellRendererEditingCanceledCallback cb
+    mk_CellRendererEditingCanceledCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellRendererEditingCanceledCallback` into a `C_CellRendererEditingCanceledCallback`.
+wrap_CellRendererEditingCanceledCallback ::
+    CellRendererEditingCanceledCallback ->
+    C_CellRendererEditingCanceledCallback
+wrap_CellRendererEditingCanceledCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@editing-canceled@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellRenderer #editingCanceled callback
+@
+-}
+onCellRendererEditingCanceled :: (IsCellRenderer a, MonadIO m) => a -> CellRendererEditingCanceledCallback -> m SignalHandlerId
+onCellRendererEditingCanceled obj cb = liftIO $ do
+    let cb' = wrap_CellRendererEditingCanceledCallback cb
+    cb'' <- mk_CellRendererEditingCanceledCallback cb'
+    connectSignalFunPtr obj "editing-canceled" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@editing-canceled@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellRenderer #editingCanceled callback
+@
+-}
+afterCellRendererEditingCanceled :: (IsCellRenderer a, MonadIO m) => a -> CellRendererEditingCanceledCallback -> m SignalHandlerId
+afterCellRendererEditingCanceled obj cb = liftIO $ do
+    let cb' = wrap_CellRendererEditingCanceledCallback cb
+    cb'' <- mk_CellRendererEditingCanceledCallback cb'
+    connectSignalFunPtr obj "editing-canceled" cb'' SignalConnectAfter
+
+
+-- signal CellRenderer::editing-started
+{- |
+This signal gets emitted when a cell starts to be edited.
+The intended use of this signal is to do special setup
+on /@editable@/, e.g. adding a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' or setting
+up additional columns in a 'GI.Gtk.Objects.ComboBox.ComboBox'.
+
+See 'GI.Gtk.Interfaces.CellEditable.cellEditableStartEditing' for information on the lifecycle of
+the /@editable@/ and a way to do setup that doesn’t depend on the /@renderer@/.
+
+Note that GTK+ doesn\'t guarantee that cell renderers will
+continue to use the same kind of widget for editing in future
+releases, therefore you should check the type of /@editable@/
+before doing any specific setup, as in the following example:
+
+=== /C code/
+>
+>static void
+>text_editing_started (GtkCellRenderer *cell,
+>                      GtkCellEditable *editable,
+>                      const gchar     *path,
+>                      gpointer         data)
+>{
+>  if (GTK_IS_ENTRY (editable))
+>    {
+>      GtkEntry *entry = GTK_ENTRY (editable);
+>      
+>      // ... create a GtkEntryCompletion
+>      
+>      gtk_entry_set_completion (entry, completion);
+>    }
+>}
+
+
+/Since: 2.6/
+-}
+type CellRendererEditingStartedCallback =
+    Gtk.CellEditable.CellEditable
+    {- ^ /@editable@/: the 'GI.Gtk.Interfaces.CellEditable.CellEditable' -}
+    -> T.Text
+    {- ^ /@path@/: the path identifying the edited cell -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellRendererEditingStartedCallback`@.
+noCellRendererEditingStartedCallback :: Maybe CellRendererEditingStartedCallback
+noCellRendererEditingStartedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellRendererEditingStartedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.CellEditable.CellEditable ->
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellRendererEditingStartedCallback`.
+foreign import ccall "wrapper"
+    mk_CellRendererEditingStartedCallback :: C_CellRendererEditingStartedCallback -> IO (FunPtr C_CellRendererEditingStartedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellRendererEditingStarted :: MonadIO m => CellRendererEditingStartedCallback -> m (GClosure C_CellRendererEditingStartedCallback)
+genClosure_CellRendererEditingStarted cb = liftIO $ do
+    let cb' = wrap_CellRendererEditingStartedCallback cb
+    mk_CellRendererEditingStartedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellRendererEditingStartedCallback` into a `C_CellRendererEditingStartedCallback`.
+wrap_CellRendererEditingStartedCallback ::
+    CellRendererEditingStartedCallback ->
+    C_CellRendererEditingStartedCallback
+wrap_CellRendererEditingStartedCallback _cb _ editable path _ = do
+    editable' <- (newObject Gtk.CellEditable.CellEditable) editable
+    path' <- cstringToText path
+    _cb  editable' path'
+
+
+{- |
+Connect a signal handler for the “@editing-started@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellRenderer #editingStarted callback
+@
+-}
+onCellRendererEditingStarted :: (IsCellRenderer a, MonadIO m) => a -> CellRendererEditingStartedCallback -> m SignalHandlerId
+onCellRendererEditingStarted obj cb = liftIO $ do
+    let cb' = wrap_CellRendererEditingStartedCallback cb
+    cb'' <- mk_CellRendererEditingStartedCallback cb'
+    connectSignalFunPtr obj "editing-started" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@editing-started@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellRenderer #editingStarted callback
+@
+-}
+afterCellRendererEditingStarted :: (IsCellRenderer a, MonadIO m) => a -> CellRendererEditingStartedCallback -> m SignalHandlerId
+afterCellRendererEditingStarted obj cb = liftIO $ do
+    let cb' = wrap_CellRendererEditingStartedCallback cb
+    cb'' <- mk_CellRendererEditingStartedCallback cb'
+    connectSignalFunPtr obj "editing-started" cb'' SignalConnectAfter
+
+
+-- VVV Prop "cell-background"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@cell-background@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #cellBackground 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererCellBackground :: (MonadIO m, IsCellRenderer o) => o -> T.Text -> m ()
+setCellRendererCellBackground obj val = liftIO $ B.Properties.setObjectPropertyString obj "cell-background" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-background@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererCellBackground :: (IsCellRenderer o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererCellBackground val = B.Properties.constructObjectPropertyString "cell-background" (Just val)
+
+{- |
+Set the value of the “@cell-background@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #cellBackground
+@
+-}
+clearCellRendererCellBackground :: (MonadIO m, IsCellRenderer o) => o -> m ()
+clearCellRendererCellBackground obj = liftIO $ B.Properties.setObjectPropertyString obj "cell-background" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererCellBackgroundPropertyInfo
+instance AttrInfo CellRendererCellBackgroundPropertyInfo where
+    type AttrAllowedOps CellRendererCellBackgroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererCellBackgroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererCellBackgroundPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererCellBackgroundPropertyInfo = ()
+    type AttrLabel CellRendererCellBackgroundPropertyInfo = "cell-background"
+    type AttrOrigin CellRendererCellBackgroundPropertyInfo = CellRenderer
+    attrGet _ = undefined
+    attrSet _ = setCellRendererCellBackground
+    attrConstruct _ = constructCellRendererCellBackground
+    attrClear _ = clearCellRendererCellBackground
+#endif
+
+-- VVV Prop "cell-background-gdk"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Color"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cell-background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #cellBackgroundGdk
+@
+-}
+getCellRendererCellBackgroundGdk :: (MonadIO m, IsCellRenderer o) => o -> m (Maybe Gdk.Color.Color)
+getCellRendererCellBackgroundGdk obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "cell-background-gdk" Gdk.Color.Color
+
+{- |
+Set the value of the “@cell-background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #cellBackgroundGdk 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererCellBackgroundGdk :: (MonadIO m, IsCellRenderer o) => o -> Gdk.Color.Color -> m ()
+setCellRendererCellBackgroundGdk obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "cell-background-gdk" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-background-gdk@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererCellBackgroundGdk :: (IsCellRenderer o) => Gdk.Color.Color -> IO (GValueConstruct o)
+constructCellRendererCellBackgroundGdk val = B.Properties.constructObjectPropertyBoxed "cell-background-gdk" (Just val)
+
+{- |
+Set the value of the “@cell-background-gdk@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #cellBackgroundGdk
+@
+-}
+clearCellRendererCellBackgroundGdk :: (MonadIO m, IsCellRenderer o) => o -> m ()
+clearCellRendererCellBackgroundGdk obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "cell-background-gdk" (Nothing :: Maybe Gdk.Color.Color)
+
+#if ENABLE_OVERLOADING
+data CellRendererCellBackgroundGdkPropertyInfo
+instance AttrInfo CellRendererCellBackgroundGdkPropertyInfo where
+    type AttrAllowedOps CellRendererCellBackgroundGdkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererCellBackgroundGdkPropertyInfo = (~) Gdk.Color.Color
+    type AttrBaseTypeConstraint CellRendererCellBackgroundGdkPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererCellBackgroundGdkPropertyInfo = (Maybe Gdk.Color.Color)
+    type AttrLabel CellRendererCellBackgroundGdkPropertyInfo = "cell-background-gdk"
+    type AttrOrigin CellRendererCellBackgroundGdkPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererCellBackgroundGdk
+    attrSet _ = setCellRendererCellBackgroundGdk
+    attrConstruct _ = constructCellRendererCellBackgroundGdk
+    attrClear _ = clearCellRendererCellBackgroundGdk
+#endif
+
+-- VVV Prop "cell-background-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cell-background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #cellBackgroundRgba
+@
+-}
+getCellRendererCellBackgroundRgba :: (MonadIO m, IsCellRenderer o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getCellRendererCellBackgroundRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "cell-background-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@cell-background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #cellBackgroundRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererCellBackgroundRgba :: (MonadIO m, IsCellRenderer o) => o -> Gdk.RGBA.RGBA -> m ()
+setCellRendererCellBackgroundRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "cell-background-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-background-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererCellBackgroundRgba :: (IsCellRenderer o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructCellRendererCellBackgroundRgba val = B.Properties.constructObjectPropertyBoxed "cell-background-rgba" (Just val)
+
+{- |
+Set the value of the “@cell-background-rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #cellBackgroundRgba
+@
+-}
+clearCellRendererCellBackgroundRgba :: (MonadIO m, IsCellRenderer o) => o -> m ()
+clearCellRendererCellBackgroundRgba obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "cell-background-rgba" (Nothing :: Maybe Gdk.RGBA.RGBA)
+
+#if ENABLE_OVERLOADING
+data CellRendererCellBackgroundRgbaPropertyInfo
+instance AttrInfo CellRendererCellBackgroundRgbaPropertyInfo where
+    type AttrAllowedOps CellRendererCellBackgroundRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererCellBackgroundRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint CellRendererCellBackgroundRgbaPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererCellBackgroundRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel CellRendererCellBackgroundRgbaPropertyInfo = "cell-background-rgba"
+    type AttrOrigin CellRendererCellBackgroundRgbaPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererCellBackgroundRgba
+    attrSet _ = setCellRendererCellBackgroundRgba
+    attrConstruct _ = constructCellRendererCellBackgroundRgba
+    attrClear _ = clearCellRendererCellBackgroundRgba
+#endif
+
+-- VVV Prop "cell-background-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cell-background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #cellBackgroundSet
+@
+-}
+getCellRendererCellBackgroundSet :: (MonadIO m, IsCellRenderer o) => o -> m Bool
+getCellRendererCellBackgroundSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "cell-background-set"
+
+{- |
+Set the value of the “@cell-background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #cellBackgroundSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererCellBackgroundSet :: (MonadIO m, IsCellRenderer o) => o -> Bool -> m ()
+setCellRendererCellBackgroundSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "cell-background-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-background-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererCellBackgroundSet :: (IsCellRenderer o) => Bool -> IO (GValueConstruct o)
+constructCellRendererCellBackgroundSet val = B.Properties.constructObjectPropertyBool "cell-background-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererCellBackgroundSetPropertyInfo
+instance AttrInfo CellRendererCellBackgroundSetPropertyInfo where
+    type AttrAllowedOps CellRendererCellBackgroundSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererCellBackgroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererCellBackgroundSetPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererCellBackgroundSetPropertyInfo = Bool
+    type AttrLabel CellRendererCellBackgroundSetPropertyInfo = "cell-background-set"
+    type AttrOrigin CellRendererCellBackgroundSetPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererCellBackgroundSet
+    attrSet _ = setCellRendererCellBackgroundSet
+    attrConstruct _ = constructCellRendererCellBackgroundSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "editing"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@editing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #editing
+@
+-}
+getCellRendererEditing :: (MonadIO m, IsCellRenderer o) => o -> m Bool
+getCellRendererEditing obj = liftIO $ B.Properties.getObjectPropertyBool obj "editing"
+
+#if ENABLE_OVERLOADING
+data CellRendererEditingPropertyInfo
+instance AttrInfo CellRendererEditingPropertyInfo where
+    type AttrAllowedOps CellRendererEditingPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint CellRendererEditingPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint CellRendererEditingPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererEditingPropertyInfo = Bool
+    type AttrLabel CellRendererEditingPropertyInfo = "editing"
+    type AttrOrigin CellRendererEditingPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererEditing
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "height"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #height
+@
+-}
+getCellRendererHeight :: (MonadIO m, IsCellRenderer o) => o -> m Int32
+getCellRendererHeight obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "height"
+
+{- |
+Set the value of the “@height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #height 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererHeight :: (MonadIO m, IsCellRenderer o) => o -> Int32 -> m ()
+setCellRendererHeight obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "height" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@height@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererHeight :: (IsCellRenderer o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererHeight val = B.Properties.constructObjectPropertyInt32 "height" val
+
+#if ENABLE_OVERLOADING
+data CellRendererHeightPropertyInfo
+instance AttrInfo CellRendererHeightPropertyInfo where
+    type AttrAllowedOps CellRendererHeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererHeightPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererHeightPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererHeightPropertyInfo = Int32
+    type AttrLabel CellRendererHeightPropertyInfo = "height"
+    type AttrOrigin CellRendererHeightPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererHeight
+    attrSet _ = setCellRendererHeight
+    attrConstruct _ = constructCellRendererHeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "is-expanded"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@is-expanded@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #isExpanded
+@
+-}
+getCellRendererIsExpanded :: (MonadIO m, IsCellRenderer o) => o -> m Bool
+getCellRendererIsExpanded obj = liftIO $ B.Properties.getObjectPropertyBool obj "is-expanded"
+
+{- |
+Set the value of the “@is-expanded@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #isExpanded 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererIsExpanded :: (MonadIO m, IsCellRenderer o) => o -> Bool -> m ()
+setCellRendererIsExpanded obj val = liftIO $ B.Properties.setObjectPropertyBool obj "is-expanded" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@is-expanded@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererIsExpanded :: (IsCellRenderer o) => Bool -> IO (GValueConstruct o)
+constructCellRendererIsExpanded val = B.Properties.constructObjectPropertyBool "is-expanded" val
+
+#if ENABLE_OVERLOADING
+data CellRendererIsExpandedPropertyInfo
+instance AttrInfo CellRendererIsExpandedPropertyInfo where
+    type AttrAllowedOps CellRendererIsExpandedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererIsExpandedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererIsExpandedPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererIsExpandedPropertyInfo = Bool
+    type AttrLabel CellRendererIsExpandedPropertyInfo = "is-expanded"
+    type AttrOrigin CellRendererIsExpandedPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererIsExpanded
+    attrSet _ = setCellRendererIsExpanded
+    attrConstruct _ = constructCellRendererIsExpanded
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "is-expander"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@is-expander@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #isExpander
+@
+-}
+getCellRendererIsExpander :: (MonadIO m, IsCellRenderer o) => o -> m Bool
+getCellRendererIsExpander obj = liftIO $ B.Properties.getObjectPropertyBool obj "is-expander"
+
+{- |
+Set the value of the “@is-expander@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #isExpander 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererIsExpander :: (MonadIO m, IsCellRenderer o) => o -> Bool -> m ()
+setCellRendererIsExpander obj val = liftIO $ B.Properties.setObjectPropertyBool obj "is-expander" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@is-expander@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererIsExpander :: (IsCellRenderer o) => Bool -> IO (GValueConstruct o)
+constructCellRendererIsExpander val = B.Properties.constructObjectPropertyBool "is-expander" val
+
+#if ENABLE_OVERLOADING
+data CellRendererIsExpanderPropertyInfo
+instance AttrInfo CellRendererIsExpanderPropertyInfo where
+    type AttrAllowedOps CellRendererIsExpanderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererIsExpanderPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererIsExpanderPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererIsExpanderPropertyInfo = Bool
+    type AttrLabel CellRendererIsExpanderPropertyInfo = "is-expander"
+    type AttrOrigin CellRendererIsExpanderPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererIsExpander
+    attrSet _ = setCellRendererIsExpander
+    attrConstruct _ = constructCellRendererIsExpander
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellRendererMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #mode
+@
+-}
+getCellRendererMode :: (MonadIO m, IsCellRenderer o) => o -> m Gtk.Enums.CellRendererMode
+getCellRendererMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "mode"
+
+{- |
+Set the value of the “@mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #mode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererMode :: (MonadIO m, IsCellRenderer o) => o -> Gtk.Enums.CellRendererMode -> m ()
+setCellRendererMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererMode :: (IsCellRenderer o) => Gtk.Enums.CellRendererMode -> IO (GValueConstruct o)
+constructCellRendererMode val = B.Properties.constructObjectPropertyEnum "mode" val
+
+#if ENABLE_OVERLOADING
+data CellRendererModePropertyInfo
+instance AttrInfo CellRendererModePropertyInfo where
+    type AttrAllowedOps CellRendererModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererModePropertyInfo = (~) Gtk.Enums.CellRendererMode
+    type AttrBaseTypeConstraint CellRendererModePropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererModePropertyInfo = Gtk.Enums.CellRendererMode
+    type AttrLabel CellRendererModePropertyInfo = "mode"
+    type AttrOrigin CellRendererModePropertyInfo = CellRenderer
+    attrGet _ = getCellRendererMode
+    attrSet _ = setCellRendererMode
+    attrConstruct _ = constructCellRendererMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "sensitive"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #sensitive
+@
+-}
+getCellRendererSensitive :: (MonadIO m, IsCellRenderer o) => o -> m Bool
+getCellRendererSensitive obj = liftIO $ B.Properties.getObjectPropertyBool obj "sensitive"
+
+{- |
+Set the value of the “@sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #sensitive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererSensitive :: (MonadIO m, IsCellRenderer o) => o -> Bool -> m ()
+setCellRendererSensitive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "sensitive" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@sensitive@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererSensitive :: (IsCellRenderer o) => Bool -> IO (GValueConstruct o)
+constructCellRendererSensitive val = B.Properties.constructObjectPropertyBool "sensitive" val
+
+#if ENABLE_OVERLOADING
+data CellRendererSensitivePropertyInfo
+instance AttrInfo CellRendererSensitivePropertyInfo where
+    type AttrAllowedOps CellRendererSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererSensitivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererSensitivePropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererSensitivePropertyInfo = Bool
+    type AttrLabel CellRendererSensitivePropertyInfo = "sensitive"
+    type AttrOrigin CellRendererSensitivePropertyInfo = CellRenderer
+    attrGet _ = getCellRendererSensitive
+    attrSet _ = setCellRendererSensitive
+    attrConstruct _ = constructCellRendererSensitive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #visible
+@
+-}
+getCellRendererVisible :: (MonadIO m, IsCellRenderer o) => o -> m Bool
+getCellRendererVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible"
+
+{- |
+Set the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #visible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererVisible :: (MonadIO m, IsCellRenderer o) => o -> Bool -> m ()
+setCellRendererVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererVisible :: (IsCellRenderer o) => Bool -> IO (GValueConstruct o)
+constructCellRendererVisible val = B.Properties.constructObjectPropertyBool "visible" val
+
+#if ENABLE_OVERLOADING
+data CellRendererVisiblePropertyInfo
+instance AttrInfo CellRendererVisiblePropertyInfo where
+    type AttrAllowedOps CellRendererVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererVisiblePropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererVisiblePropertyInfo = Bool
+    type AttrLabel CellRendererVisiblePropertyInfo = "visible"
+    type AttrOrigin CellRendererVisiblePropertyInfo = CellRenderer
+    attrGet _ = getCellRendererVisible
+    attrSet _ = setCellRendererVisible
+    attrConstruct _ = constructCellRendererVisible
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #width
+@
+-}
+getCellRendererWidth :: (MonadIO m, IsCellRenderer o) => o -> m Int32
+getCellRendererWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "width"
+
+{- |
+Set the value of the “@width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #width 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererWidth :: (MonadIO m, IsCellRenderer o) => o -> Int32 -> m ()
+setCellRendererWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererWidth :: (IsCellRenderer o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererWidth val = B.Properties.constructObjectPropertyInt32 "width" val
+
+#if ENABLE_OVERLOADING
+data CellRendererWidthPropertyInfo
+instance AttrInfo CellRendererWidthPropertyInfo where
+    type AttrAllowedOps CellRendererWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererWidthPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererWidthPropertyInfo = Int32
+    type AttrLabel CellRendererWidthPropertyInfo = "width"
+    type AttrOrigin CellRendererWidthPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererWidth
+    attrSet _ = setCellRendererWidth
+    attrConstruct _ = constructCellRendererWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #xalign
+@
+-}
+getCellRendererXalign :: (MonadIO m, IsCellRenderer o) => o -> m Float
+getCellRendererXalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "xalign"
+
+{- |
+Set the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #xalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererXalign :: (MonadIO m, IsCellRenderer o) => o -> Float -> m ()
+setCellRendererXalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "xalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererXalign :: (IsCellRenderer o) => Float -> IO (GValueConstruct o)
+constructCellRendererXalign val = B.Properties.constructObjectPropertyFloat "xalign" val
+
+#if ENABLE_OVERLOADING
+data CellRendererXalignPropertyInfo
+instance AttrInfo CellRendererXalignPropertyInfo where
+    type AttrAllowedOps CellRendererXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint CellRendererXalignPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererXalignPropertyInfo = Float
+    type AttrLabel CellRendererXalignPropertyInfo = "xalign"
+    type AttrOrigin CellRendererXalignPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererXalign
+    attrSet _ = setCellRendererXalign
+    attrConstruct _ = constructCellRendererXalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "xpad"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@xpad@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #xpad
+@
+-}
+getCellRendererXpad :: (MonadIO m, IsCellRenderer o) => o -> m Word32
+getCellRendererXpad obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "xpad"
+
+{- |
+Set the value of the “@xpad@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #xpad 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererXpad :: (MonadIO m, IsCellRenderer o) => o -> Word32 -> m ()
+setCellRendererXpad obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "xpad" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xpad@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererXpad :: (IsCellRenderer o) => Word32 -> IO (GValueConstruct o)
+constructCellRendererXpad val = B.Properties.constructObjectPropertyUInt32 "xpad" val
+
+#if ENABLE_OVERLOADING
+data CellRendererXpadPropertyInfo
+instance AttrInfo CellRendererXpadPropertyInfo where
+    type AttrAllowedOps CellRendererXpadPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererXpadPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CellRendererXpadPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererXpadPropertyInfo = Word32
+    type AttrLabel CellRendererXpadPropertyInfo = "xpad"
+    type AttrOrigin CellRendererXpadPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererXpad
+    attrSet _ = setCellRendererXpad
+    attrConstruct _ = constructCellRendererXpad
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "yalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #yalign
+@
+-}
+getCellRendererYalign :: (MonadIO m, IsCellRenderer o) => o -> m Float
+getCellRendererYalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "yalign"
+
+{- |
+Set the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #yalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererYalign :: (MonadIO m, IsCellRenderer o) => o -> Float -> m ()
+setCellRendererYalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "yalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@yalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererYalign :: (IsCellRenderer o) => Float -> IO (GValueConstruct o)
+constructCellRendererYalign val = B.Properties.constructObjectPropertyFloat "yalign" val
+
+#if ENABLE_OVERLOADING
+data CellRendererYalignPropertyInfo
+instance AttrInfo CellRendererYalignPropertyInfo where
+    type AttrAllowedOps CellRendererYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererYalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint CellRendererYalignPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererYalignPropertyInfo = Float
+    type AttrLabel CellRendererYalignPropertyInfo = "yalign"
+    type AttrOrigin CellRendererYalignPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererYalign
+    attrSet _ = setCellRendererYalign
+    attrConstruct _ = constructCellRendererYalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "ypad"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@ypad@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRenderer #ypad
+@
+-}
+getCellRendererYpad :: (MonadIO m, IsCellRenderer o) => o -> m Word32
+getCellRendererYpad obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "ypad"
+
+{- |
+Set the value of the “@ypad@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRenderer [ #ypad 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererYpad :: (MonadIO m, IsCellRenderer o) => o -> Word32 -> m ()
+setCellRendererYpad obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "ypad" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@ypad@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererYpad :: (IsCellRenderer o) => Word32 -> IO (GValueConstruct o)
+constructCellRendererYpad val = B.Properties.constructObjectPropertyUInt32 "ypad" val
+
+#if ENABLE_OVERLOADING
+data CellRendererYpadPropertyInfo
+instance AttrInfo CellRendererYpadPropertyInfo where
+    type AttrAllowedOps CellRendererYpadPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererYpadPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CellRendererYpadPropertyInfo = IsCellRenderer
+    type AttrGetType CellRendererYpadPropertyInfo = Word32
+    type AttrLabel CellRendererYpadPropertyInfo = "ypad"
+    type AttrOrigin CellRendererYpadPropertyInfo = CellRenderer
+    attrGet _ = getCellRendererYpad
+    attrSet _ = setCellRendererYpad
+    attrConstruct _ = constructCellRendererYpad
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellRenderer
+type instance O.AttributeList CellRenderer = CellRendererAttributeList
+type CellRendererAttributeList = ('[ '("cellBackground", CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", CellRendererCellBackgroundSetPropertyInfo), '("editing", CellRendererEditingPropertyInfo), '("height", CellRendererHeightPropertyInfo), '("isExpanded", CellRendererIsExpandedPropertyInfo), '("isExpander", CellRendererIsExpanderPropertyInfo), '("mode", CellRendererModePropertyInfo), '("sensitive", CellRendererSensitivePropertyInfo), '("visible", CellRendererVisiblePropertyInfo), '("width", CellRendererWidthPropertyInfo), '("xalign", CellRendererXalignPropertyInfo), '("xpad", CellRendererXpadPropertyInfo), '("yalign", CellRendererYalignPropertyInfo), '("ypad", CellRendererYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellRendererCellBackground :: AttrLabelProxy "cellBackground"
+cellRendererCellBackground = AttrLabelProxy
+
+cellRendererCellBackgroundGdk :: AttrLabelProxy "cellBackgroundGdk"
+cellRendererCellBackgroundGdk = AttrLabelProxy
+
+cellRendererCellBackgroundRgba :: AttrLabelProxy "cellBackgroundRgba"
+cellRendererCellBackgroundRgba = AttrLabelProxy
+
+cellRendererCellBackgroundSet :: AttrLabelProxy "cellBackgroundSet"
+cellRendererCellBackgroundSet = AttrLabelProxy
+
+cellRendererEditing :: AttrLabelProxy "editing"
+cellRendererEditing = AttrLabelProxy
+
+cellRendererHeight :: AttrLabelProxy "height"
+cellRendererHeight = AttrLabelProxy
+
+cellRendererIsExpanded :: AttrLabelProxy "isExpanded"
+cellRendererIsExpanded = AttrLabelProxy
+
+cellRendererIsExpander :: AttrLabelProxy "isExpander"
+cellRendererIsExpander = AttrLabelProxy
+
+cellRendererMode :: AttrLabelProxy "mode"
+cellRendererMode = AttrLabelProxy
+
+cellRendererSensitive :: AttrLabelProxy "sensitive"
+cellRendererSensitive = AttrLabelProxy
+
+cellRendererVisible :: AttrLabelProxy "visible"
+cellRendererVisible = AttrLabelProxy
+
+cellRendererWidth :: AttrLabelProxy "width"
+cellRendererWidth = AttrLabelProxy
+
+cellRendererXalign :: AttrLabelProxy "xalign"
+cellRendererXalign = AttrLabelProxy
+
+cellRendererXpad :: AttrLabelProxy "xpad"
+cellRendererXpad = AttrLabelProxy
+
+cellRendererYalign :: AttrLabelProxy "yalign"
+cellRendererYalign = AttrLabelProxy
+
+cellRendererYpad :: AttrLabelProxy "ypad"
+cellRendererYpad = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data CellRendererEditingCanceledSignalInfo
+instance SignalInfo CellRendererEditingCanceledSignalInfo where
+    type HaskellCallbackType CellRendererEditingCanceledSignalInfo = CellRendererEditingCanceledCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellRendererEditingCanceledCallback cb
+        cb'' <- mk_CellRendererEditingCanceledCallback cb'
+        connectSignalFunPtr obj "editing-canceled" cb'' connectMode
+
+data CellRendererEditingStartedSignalInfo
+instance SignalInfo CellRendererEditingStartedSignalInfo where
+    type HaskellCallbackType CellRendererEditingStartedSignalInfo = CellRendererEditingStartedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellRendererEditingStartedCallback cb
+        cb'' <- mk_CellRendererEditingStartedCallback cb'
+        connectSignalFunPtr obj "editing-started" cb'' connectMode
+
+type instance O.SignalList CellRenderer = CellRendererSignalList
+type CellRendererSignalList = ('[ '("editingCanceled", CellRendererEditingCanceledSignalInfo), '("editingStarted", CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellRenderer::activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget that received the event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget-dependent string representation of the event location;\n   e.g. for #GtkTreeView, a string representation of #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "background area as passed to gtk_cell_renderer_render()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "cell area as passed to gtk_cell_renderer_render()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "render flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_activate" gtk_cell_renderer_activate :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- path : TBasicType TUTF8
+    Ptr Gdk.Rectangle.Rectangle ->          -- background_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "CellRendererState"})
+    IO CInt
+
+{- |
+Passes an activate event to the cell renderer for possible processing.
+Some cell renderers may use events; for example, 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle'
+toggles when it gets a mouse click.
+-}
+cellRendererActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}
+    -> b
+    {- ^ /@widget@/: widget that received the event -}
+    -> T.Text
+    {- ^ /@path@/: widget-dependent string representation of the event location;
+   e.g. for 'GI.Gtk.Objects.TreeView.TreeView', a string representation of 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@backgroundArea@/: background area as passed to 'GI.Gtk.Objects.CellRenderer.cellRendererRender' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: cell area as passed to 'GI.Gtk.Objects.CellRenderer.cellRendererRender' -}
+    -> [Gtk.Flags.CellRendererState]
+    {- ^ /@flags@/: render flags -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the event was consumed\/handled -}
+cellRendererActivate cell event widget path backgroundArea cellArea flags = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    event' <- unsafeManagedPtrGetPtr event
+    widget' <- unsafeManagedPtrCastPtr widget
+    path' <- textToCString path
+    backgroundArea' <- unsafeManagedPtrGetPtr backgroundArea
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    let flags' = gflagsToWord flags
+    result <- gtk_cell_renderer_activate cell' event' widget' path' backgroundArea' cellArea' flags'
+    let result' = (/= 0) result
+    touchManagedPtr cell
+    touchManagedPtr event
+    touchManagedPtr widget
+    touchManagedPtr backgroundArea
+    touchManagedPtr cellArea
+    freeMem path'
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellRendererActivateMethodInfo
+instance (signature ~ (Gdk.Event.Event -> b -> T.Text -> Gdk.Rectangle.Rectangle -> Gdk.Rectangle.Rectangle -> [Gtk.Flags.CellRendererState] -> m Bool), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererActivateMethodInfo a signature where
+    overloadedMethod _ = cellRendererActivate
+
+#endif
+
+-- method CellRenderer::get_aligned_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget this cell will be rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "render flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "cell area which would be passed to gtk_cell_renderer_render()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "aligned_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the return location for the space inside @cell_area\n               that would acually be used to render.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_aligned_area" gtk_cell_renderer_get_aligned_area :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "CellRendererState"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- aligned_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Gets the aligned area used by /@cell@/ inside /@cellArea@/. Used for finding
+the appropriate edit and focus rectangle.
+
+/Since: 3.0/
+-}
+cellRendererGetAlignedArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' instance -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' this cell will be rendering to -}
+    -> [Gtk.Flags.CellRendererState]
+    {- ^ /@flags@/: render flags -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: cell area which would be passed to 'GI.Gtk.Objects.CellRenderer.cellRendererRender' -}
+    -> m (Gdk.Rectangle.Rectangle)
+cellRendererGetAlignedArea cell widget flags cellArea = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    widget' <- unsafeManagedPtrCastPtr widget
+    let flags' = gflagsToWord flags
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    alignedArea <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_cell_renderer_get_aligned_area cell' widget' flags' cellArea' alignedArea
+    alignedArea' <- (wrapBoxed Gdk.Rectangle.Rectangle) alignedArea
+    touchManagedPtr cell
+    touchManagedPtr widget
+    touchManagedPtr cellArea
+    return alignedArea'
+
+#if ENABLE_OVERLOADING
+data CellRendererGetAlignedAreaMethodInfo
+instance (signature ~ (b -> [Gtk.Flags.CellRendererState] -> Gdk.Rectangle.Rectangle -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererGetAlignedAreaMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetAlignedArea
+
+#endif
+
+-- method CellRenderer::get_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to fill in with the x alignment of the cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to fill in with the y alignment of the cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_alignment" gtk_cell_renderer_get_alignment :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr CFloat ->                           -- xalign : TBasicType TFloat
+    Ptr CFloat ->                           -- yalign : TBasicType TFloat
+    IO ()
+
+{- |
+Fills in /@xalign@/ and /@yalign@/ with the appropriate values of /@cell@/.
+
+/Since: 2.18/
+-}
+cellRendererGetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> m ((Float, Float))
+cellRendererGetAlignment cell = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    xalign <- allocMem :: IO (Ptr CFloat)
+    yalign <- allocMem :: IO (Ptr CFloat)
+    gtk_cell_renderer_get_alignment cell' xalign yalign
+    xalign' <- peek xalign
+    let xalign'' = realToFrac xalign'
+    yalign' <- peek yalign
+    let yalign'' = realToFrac yalign'
+    touchManagedPtr cell
+    freeMem xalign
+    freeMem yalign
+    return (xalign'', yalign'')
+
+#if ENABLE_OVERLOADING
+data CellRendererGetAlignmentMethodInfo
+instance (signature ~ (m ((Float, Float))), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererGetAlignmentMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetAlignment
+
+#endif
+
+-- method CellRenderer::get_fixed_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to fill in with the fixed width of the cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to fill in with the fixed height of the cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_fixed_size" gtk_cell_renderer_get_fixed_size :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+{- |
+Fills in /@width@/ and /@height@/ with the appropriate size of /@cell@/.
+-}
+cellRendererGetFixedSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> m ((Int32, Int32))
+cellRendererGetFixedSize cell = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_cell_renderer_get_fixed_size cell' width height
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr cell
+    freeMem width
+    freeMem height
+    return (width', height')
+
+#if ENABLE_OVERLOADING
+data CellRendererGetFixedSizeMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererGetFixedSizeMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetFixedSize
+
+#endif
+
+-- method CellRenderer::get_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpad", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to fill in with the x padding of the cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "ypad", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to fill in with the y padding of the cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_padding" gtk_cell_renderer_get_padding :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Int32 ->                            -- xpad : TBasicType TInt
+    Ptr Int32 ->                            -- ypad : TBasicType TInt
+    IO ()
+
+{- |
+Fills in /@xpad@/ and /@ypad@/ with the appropriate values of /@cell@/.
+
+/Since: 2.18/
+-}
+cellRendererGetPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> m ((Int32, Int32))
+cellRendererGetPadding cell = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    xpad <- allocMem :: IO (Ptr Int32)
+    ypad <- allocMem :: IO (Ptr Int32)
+    gtk_cell_renderer_get_padding cell' xpad ypad
+    xpad' <- peek xpad
+    ypad' <- peek ypad
+    touchManagedPtr cell
+    freeMem xpad
+    freeMem ypad
+    return (xpad', ypad')
+
+#if ENABLE_OVERLOADING
+data CellRendererGetPaddingMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererGetPaddingMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetPadding
+
+#endif
+
+-- method CellRenderer::get_preferred_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget this cell will be rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_preferred_height" gtk_cell_renderer_get_preferred_height :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Int32 ->                            -- minimum_size : TBasicType TInt
+    Ptr Int32 ->                            -- natural_size : TBasicType TInt
+    IO ()
+
+{- |
+Retreives a renderer’s natural size when rendered to /@widget@/.
+
+/Since: 3.0/
+-}
+cellRendererGetPreferredHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' instance -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' this cell will be rendering to -}
+    -> m ((Int32, Int32))
+cellRendererGetPreferredHeight cell widget = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumSize <- allocMem :: IO (Ptr Int32)
+    naturalSize <- allocMem :: IO (Ptr Int32)
+    gtk_cell_renderer_get_preferred_height cell' widget' minimumSize naturalSize
+    minimumSize' <- peek minimumSize
+    naturalSize' <- peek naturalSize
+    touchManagedPtr cell
+    touchManagedPtr widget
+    freeMem minimumSize
+    freeMem naturalSize
+    return (minimumSize', naturalSize')
+
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredHeightMethodInfo
+instance (signature ~ (b -> m ((Int32, Int32))), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererGetPreferredHeightMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetPreferredHeight
+
+#endif
+
+-- method CellRenderer::get_preferred_height_for_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget this cell will be rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size which is available for allocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the minimum size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the preferred size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_preferred_height_for_width" gtk_cell_renderer_get_preferred_height_for_width :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- width : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_height : TBasicType TInt
+    Ptr Int32 ->                            -- natural_height : TBasicType TInt
+    IO ()
+
+{- |
+Retreives a cell renderers’s minimum and natural height if it were rendered to
+/@widget@/ with the specified /@width@/.
+
+/Since: 3.0/
+-}
+cellRendererGetPreferredHeightForWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' instance -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' this cell will be rendering to -}
+    -> Int32
+    {- ^ /@width@/: the size which is available for allocation -}
+    -> m ((Int32, Int32))
+cellRendererGetPreferredHeightForWidth cell widget width = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumHeight <- allocMem :: IO (Ptr Int32)
+    naturalHeight <- allocMem :: IO (Ptr Int32)
+    gtk_cell_renderer_get_preferred_height_for_width cell' widget' width minimumHeight naturalHeight
+    minimumHeight' <- peek minimumHeight
+    naturalHeight' <- peek naturalHeight
+    touchManagedPtr cell
+    touchManagedPtr widget
+    freeMem minimumHeight
+    freeMem naturalHeight
+    return (minimumHeight', naturalHeight')
+
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredHeightForWidthMethodInfo
+instance (signature ~ (b -> Int32 -> m ((Int32, Int32))), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererGetPreferredHeightForWidthMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetPreferredHeightForWidth
+
+#endif
+
+-- method CellRenderer::get_preferred_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget this cell will be rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_size", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the minimum size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "natural_size", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the natural size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_preferred_size" gtk_cell_renderer_get_preferred_size :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Requisition.Requisition ->      -- minimum_size : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    Ptr Gtk.Requisition.Requisition ->      -- natural_size : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    IO ()
+
+{- |
+Retrieves the minimum and natural size of a cell taking
+into account the widget’s preference for height-for-width management.
+
+/Since: 3.0/
+-}
+cellRendererGetPreferredSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' instance -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' this cell will be rendering to -}
+    -> m ((Gtk.Requisition.Requisition, Gtk.Requisition.Requisition))
+cellRendererGetPreferredSize cell widget = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumSize <- callocBoxedBytes 8 :: IO (Ptr Gtk.Requisition.Requisition)
+    naturalSize <- callocBoxedBytes 8 :: IO (Ptr Gtk.Requisition.Requisition)
+    gtk_cell_renderer_get_preferred_size cell' widget' minimumSize naturalSize
+    minimumSize' <- (wrapBoxed Gtk.Requisition.Requisition) minimumSize
+    naturalSize' <- (wrapBoxed Gtk.Requisition.Requisition) naturalSize
+    touchManagedPtr cell
+    touchManagedPtr widget
+    return (minimumSize', naturalSize')
+
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredSizeMethodInfo
+instance (signature ~ (b -> m ((Gtk.Requisition.Requisition, Gtk.Requisition.Requisition))), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererGetPreferredSizeMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetPreferredSize
+
+#endif
+
+-- method CellRenderer::get_preferred_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget this cell will be rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_preferred_width" gtk_cell_renderer_get_preferred_width :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Int32 ->                            -- minimum_size : TBasicType TInt
+    Ptr Int32 ->                            -- natural_size : TBasicType TInt
+    IO ()
+
+{- |
+Retreives a renderer’s natural size when rendered to /@widget@/.
+
+/Since: 3.0/
+-}
+cellRendererGetPreferredWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' instance -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' this cell will be rendering to -}
+    -> m ((Int32, Int32))
+cellRendererGetPreferredWidth cell widget = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumSize <- allocMem :: IO (Ptr Int32)
+    naturalSize <- allocMem :: IO (Ptr Int32)
+    gtk_cell_renderer_get_preferred_width cell' widget' minimumSize naturalSize
+    minimumSize' <- peek minimumSize
+    naturalSize' <- peek naturalSize
+    touchManagedPtr cell
+    touchManagedPtr widget
+    freeMem minimumSize
+    freeMem naturalSize
+    return (minimumSize', naturalSize')
+
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredWidthMethodInfo
+instance (signature ~ (b -> m ((Int32, Int32))), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererGetPreferredWidthMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetPreferredWidth
+
+#endif
+
+-- method CellRenderer::get_preferred_width_for_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget this cell will be rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size which is available for allocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the minimum size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the preferred size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_preferred_width_for_height" gtk_cell_renderer_get_preferred_width_for_height :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- height : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_width : TBasicType TInt
+    Ptr Int32 ->                            -- natural_width : TBasicType TInt
+    IO ()
+
+{- |
+Retreives a cell renderers’s minimum and natural width if it were rendered to
+/@widget@/ with the specified /@height@/.
+
+/Since: 3.0/
+-}
+cellRendererGetPreferredWidthForHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' instance -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' this cell will be rendering to -}
+    -> Int32
+    {- ^ /@height@/: the size which is available for allocation -}
+    -> m ((Int32, Int32))
+cellRendererGetPreferredWidthForHeight cell widget height = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumWidth <- allocMem :: IO (Ptr Int32)
+    naturalWidth <- allocMem :: IO (Ptr Int32)
+    gtk_cell_renderer_get_preferred_width_for_height cell' widget' height minimumWidth naturalWidth
+    minimumWidth' <- peek minimumWidth
+    naturalWidth' <- peek naturalWidth
+    touchManagedPtr cell
+    touchManagedPtr widget
+    freeMem minimumWidth
+    freeMem naturalWidth
+    return (minimumWidth', naturalWidth')
+
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredWidthForHeightMethodInfo
+instance (signature ~ (b -> Int32 -> m ((Int32, Int32))), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererGetPreferredWidthForHeightMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetPreferredWidthForHeight
+
+#endif
+
+-- method CellRenderer::get_request_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer    instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SizeRequestMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_request_mode" gtk_cell_renderer_get_request_mode :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO CUInt
+
+{- |
+Gets whether the cell renderer prefers a height-for-width layout
+or a width-for-height layout.
+
+/Since: 3.0/
+-}
+cellRendererGetRequestMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer'    instance -}
+    -> m Gtk.Enums.SizeRequestMode
+    {- ^ __Returns:__ The 'GI.Gtk.Enums.SizeRequestMode' preferred by this renderer. -}
+cellRendererGetRequestMode cell = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    result <- gtk_cell_renderer_get_request_mode cell'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr cell
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellRendererGetRequestModeMethodInfo
+instance (signature ~ (m Gtk.Enums.SizeRequestMode), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererGetRequestModeMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetRequestMode
+
+#endif
+
+-- method CellRenderer::get_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_sensitive" gtk_cell_renderer_get_sensitive :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO CInt
+
+{- |
+Returns the cell renderer’s sensitivity.
+
+/Since: 2.18/
+-}
+cellRendererGetSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the cell renderer is sensitive -}
+cellRendererGetSensitive cell = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    result <- gtk_cell_renderer_get_sensitive cell'
+    let result' = (/= 0) result
+    touchManagedPtr cell
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellRendererGetSensitiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererGetSensitiveMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetSensitive
+
+#endif
+
+-- method CellRenderer::get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget the renderer is rendering to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The area a cell will be allocated, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return x offset of cell relative to @cell_area, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return y offset of cell relative to @cell_area, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return width needed to render a cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return height needed to render a cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_size" gtk_cell_renderer_get_size :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Int32 ->                            -- x_offset : TBasicType TInt
+    Ptr Int32 ->                            -- y_offset : TBasicType TInt
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED cellRendererGetSize ["(Since version 3.0)","Use 'GI.Gtk.Objects.CellRenderer.cellRendererGetPreferredSize' instead."] #-}
+{- |
+Obtains the width and height needed to render the cell. Used by view
+widgets to determine the appropriate size for the cell_area passed to
+'GI.Gtk.Objects.CellRenderer.cellRendererRender'.  If /@cellArea@/ is not 'Nothing', fills in the
+x and y offsets (if set) of the cell relative to this location.
+
+Please note that the values set in /@width@/ and /@height@/, as well as those
+in /@xOffset@/ and /@yOffset@/ are inclusive of the xpad and ypad properties.
+-}
+cellRendererGetSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> b
+    {- ^ /@widget@/: the widget the renderer is rendering to -}
+    -> Maybe (Gdk.Rectangle.Rectangle)
+    {- ^ /@cellArea@/: The area a cell will be allocated, or 'Nothing' -}
+    -> m ((Int32, Int32, Int32, Int32))
+cellRendererGetSize cell widget cellArea = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeCellArea <- case cellArea of
+        Nothing -> return nullPtr
+        Just jCellArea -> do
+            jCellArea' <- unsafeManagedPtrGetPtr jCellArea
+            return jCellArea'
+    xOffset <- allocMem :: IO (Ptr Int32)
+    yOffset <- allocMem :: IO (Ptr Int32)
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_cell_renderer_get_size cell' widget' maybeCellArea xOffset yOffset width height
+    xOffset' <- peek xOffset
+    yOffset' <- peek yOffset
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr cell
+    touchManagedPtr widget
+    whenJust cellArea touchManagedPtr
+    freeMem xOffset
+    freeMem yOffset
+    freeMem width
+    freeMem height
+    return (xOffset', yOffset', width', height')
+
+#if ENABLE_OVERLOADING
+data CellRendererGetSizeMethodInfo
+instance (signature ~ (b -> Maybe (Gdk.Rectangle.Rectangle) -> m ((Int32, Int32, Int32, Int32))), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererGetSizeMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetSize
+
+#endif
+
+-- method CellRenderer::get_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWidget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_state", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "cell renderer state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StateFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_state" gtk_cell_renderer_get_state :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- cell_state : TInterface (Name {namespace = "Gtk", name = "CellRendererState"})
+    IO CUInt
+
+{- |
+Translates the cell renderer state to 'GI.Gtk.Flags.StateFlags',
+based on the cell renderer and widget sensitivity, and
+the given 'GI.Gtk.Flags.CellRendererState'.
+
+/Since: 3.0/
+-}
+cellRendererGetState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer', or 'Nothing' -}
+    -> Maybe (b)
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget', or 'Nothing' -}
+    -> [Gtk.Flags.CellRendererState]
+    {- ^ /@cellState@/: cell renderer state -}
+    -> m [Gtk.Flags.StateFlags]
+    {- ^ __Returns:__ the widget state flags applying to /@cell@/ -}
+cellRendererGetState cell widget cellState = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    let cellState' = gflagsToWord cellState
+    result <- gtk_cell_renderer_get_state cell' maybeWidget cellState'
+    let result' = wordToGFlags result
+    touchManagedPtr cell
+    whenJust widget touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellRendererGetStateMethodInfo
+instance (signature ~ (Maybe (b) -> [Gtk.Flags.CellRendererState] -> m [Gtk.Flags.StateFlags]), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererGetStateMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetState
+
+#endif
+
+-- method CellRenderer::get_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_get_visible" gtk_cell_renderer_get_visible :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO CInt
+
+{- |
+Returns the cell renderer’s visibility.
+
+/Since: 2.18/
+-}
+cellRendererGetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the cell renderer is visible -}
+cellRendererGetVisible cell = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    result <- gtk_cell_renderer_get_visible cell'
+    let result' = (/= 0) result
+    touchManagedPtr cell
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellRendererGetVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererGetVisibleMethodInfo a signature where
+    overloadedMethod _ = cellRendererGetVisible
+
+#endif
+
+-- method CellRenderer::is_activatable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_is_activatable" gtk_cell_renderer_is_activatable :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO CInt
+
+{- |
+Checks whether the cell renderer can do something when activated.
+
+/Since: 3.0/
+-}
+cellRendererIsActivatable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the cell renderer can do anything when activated -}
+cellRendererIsActivatable cell = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    result <- gtk_cell_renderer_is_activatable cell'
+    let result' = (/= 0) result
+    touchManagedPtr cell
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellRendererIsActivatableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererIsActivatableMethodInfo a signature where
+    overloadedMethod _ = cellRendererIsActivatable
+
+#endif
+
+-- method CellRenderer::render
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context to draw to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget owning @window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "entire cell area (including tree expanders and maybe\n   padding on the sides)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "area normally rendered by a cell renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags that affect rendering", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_render" gtk_cell_renderer_render :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- background_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "CellRendererState"})
+    IO ()
+
+{- |
+Invokes the virtual render function of the 'GI.Gtk.Objects.CellRenderer.CellRenderer'. The three
+passed-in rectangles are areas in /@cr@/. Most renderers will draw within
+/@cellArea@/; the xalign, yalign, xpad, and ypad fields of the 'GI.Gtk.Objects.CellRenderer.CellRenderer'
+should be honored with respect to /@cellArea@/. /@backgroundArea@/ includes the
+blank space around the cell, and also the area containing the tree expander;
+so the /@backgroundArea@/ rectangles for all cells tile to cover the entire
+/@window@/.
+-}
+cellRendererRender ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a cairo context to draw to -}
+    -> b
+    {- ^ /@widget@/: the widget owning /@window@/ -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@backgroundArea@/: entire cell area (including tree expanders and maybe
+   padding on the sides) -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: area normally rendered by a cell renderer -}
+    -> [Gtk.Flags.CellRendererState]
+    {- ^ /@flags@/: flags that affect rendering -}
+    -> m ()
+cellRendererRender cell cr widget backgroundArea cellArea flags = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    cr' <- unsafeManagedPtrGetPtr cr
+    widget' <- unsafeManagedPtrCastPtr widget
+    backgroundArea' <- unsafeManagedPtrGetPtr backgroundArea
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    let flags' = gflagsToWord flags
+    gtk_cell_renderer_render cell' cr' widget' backgroundArea' cellArea' flags'
+    touchManagedPtr cell
+    touchManagedPtr cr
+    touchManagedPtr widget
+    touchManagedPtr backgroundArea
+    touchManagedPtr cellArea
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererRenderMethodInfo
+instance (signature ~ (Cairo.Context.Context -> b -> Gdk.Rectangle.Rectangle -> Gdk.Rectangle.Rectangle -> [Gtk.Flags.CellRendererState] -> m ()), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererRenderMethodInfo a signature where
+    overloadedMethod _ = cellRendererRender
+
+#endif
+
+-- method CellRenderer::set_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x alignment of the cell renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y alignment of the cell renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_set_alignment" gtk_cell_renderer_set_alignment :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CFloat ->                               -- xalign : TBasicType TFloat
+    CFloat ->                               -- yalign : TBasicType TFloat
+    IO ()
+
+{- |
+Sets the renderer’s alignment within its available space.
+
+/Since: 2.18/
+-}
+cellRendererSetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Float
+    {- ^ /@xalign@/: the x alignment of the cell renderer -}
+    -> Float
+    {- ^ /@yalign@/: the y alignment of the cell renderer -}
+    -> m ()
+cellRendererSetAlignment cell xalign yalign = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    gtk_cell_renderer_set_alignment cell' xalign' yalign'
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererSetAlignmentMethodInfo
+instance (signature ~ (Float -> Float -> m ()), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererSetAlignmentMethodInfo a signature where
+    overloadedMethod _ = cellRendererSetAlignment
+
+#endif
+
+-- method CellRenderer::set_fixed_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width of the cell renderer, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height of the cell renderer, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_set_fixed_size" gtk_cell_renderer_set_fixed_size :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Sets the renderer size to be explicit, independent of the properties set.
+-}
+cellRendererSetFixedSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Int32
+    {- ^ /@width@/: the width of the cell renderer, or -1 -}
+    -> Int32
+    {- ^ /@height@/: the height of the cell renderer, or -1 -}
+    -> m ()
+cellRendererSetFixedSize cell width height = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    gtk_cell_renderer_set_fixed_size cell' width height
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererSetFixedSizeMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererSetFixedSizeMethodInfo a signature where
+    overloadedMethod _ = cellRendererSetFixedSize
+
+#endif
+
+-- method CellRenderer::set_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x padding of the cell renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ypad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y padding of the cell renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_set_padding" gtk_cell_renderer_set_padding :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Int32 ->                                -- xpad : TBasicType TInt
+    Int32 ->                                -- ypad : TBasicType TInt
+    IO ()
+
+{- |
+Sets the renderer’s padding.
+
+/Since: 2.18/
+-}
+cellRendererSetPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Int32
+    {- ^ /@xpad@/: the x padding of the cell renderer -}
+    -> Int32
+    {- ^ /@ypad@/: the y padding of the cell renderer -}
+    -> m ()
+cellRendererSetPadding cell xpad ypad = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    gtk_cell_renderer_set_padding cell' xpad ypad
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererSetPaddingMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererSetPaddingMethodInfo a signature where
+    overloadedMethod _ = cellRendererSetPadding
+
+#endif
+
+-- method CellRenderer::set_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sensitivity of the cell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_set_sensitive" gtk_cell_renderer_set_sensitive :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- sensitive : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the cell renderer’s sensitivity.
+
+/Since: 2.18/
+-}
+cellRendererSetSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Bool
+    {- ^ /@sensitive@/: the sensitivity of the cell -}
+    -> m ()
+cellRendererSetSensitive cell sensitive = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    let sensitive' = (fromIntegral . fromEnum) sensitive
+    gtk_cell_renderer_set_sensitive cell' sensitive'
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererSetSensitiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererSetSensitiveMethodInfo a signature where
+    overloadedMethod _ = cellRendererSetSensitive
+
+#endif
+
+-- method CellRenderer::set_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the visibility of the cell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_set_visible" gtk_cell_renderer_set_visible :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- visible : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the cell renderer’s visibility.
+
+/Since: 2.18/
+-}
+cellRendererSetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Bool
+    {- ^ /@visible@/: the visibility of the cell -}
+    -> m ()
+cellRendererSetVisible cell visible = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    let visible' = (fromIntegral . fromEnum) visible
+    gtk_cell_renderer_set_visible cell' visible'
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererSetVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererSetVisibleMethodInfo a signature where
+    overloadedMethod _ = cellRendererSetVisible
+
+#endif
+
+-- method CellRenderer::start_editing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget that received the event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget-dependent string representation of the event location;\n   e.g. for #GtkTreeView, a string representation of #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "background area as passed to gtk_cell_renderer_render()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "cell area as passed to gtk_cell_renderer_render()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "render flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellEditable"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_start_editing" gtk_cell_renderer_start_editing :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- path : TBasicType TUTF8
+    Ptr Gdk.Rectangle.Rectangle ->          -- background_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "CellRendererState"})
+    IO (Ptr Gtk.CellEditable.CellEditable)
+
+{- |
+Starts editing the contents of this /@cell@/, through a new 'GI.Gtk.Interfaces.CellEditable.CellEditable'
+widget created by the 'GI.Gtk.Structs.CellRendererClass.CellRendererClass'.@/start_editing/@ virtual function.
+-}
+cellRendererStartEditing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Maybe (Gdk.Event.Event)
+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}
+    -> b
+    {- ^ /@widget@/: widget that received the event -}
+    -> T.Text
+    {- ^ /@path@/: widget-dependent string representation of the event location;
+   e.g. for 'GI.Gtk.Objects.TreeView.TreeView', a string representation of 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@backgroundArea@/: background area as passed to 'GI.Gtk.Objects.CellRenderer.cellRendererRender' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@cellArea@/: cell area as passed to 'GI.Gtk.Objects.CellRenderer.cellRendererRender' -}
+    -> [Gtk.Flags.CellRendererState]
+    {- ^ /@flags@/: render flags -}
+    -> m (Maybe Gtk.CellEditable.CellEditable)
+    {- ^ __Returns:__ A new 'GI.Gtk.Interfaces.CellEditable.CellEditable' for editing this
+  /@cell@/, or 'Nothing' if editing is not possible -}
+cellRendererStartEditing cell event widget path backgroundArea cellArea flags = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    maybeEvent <- case event of
+        Nothing -> return nullPtr
+        Just jEvent -> do
+            jEvent' <- unsafeManagedPtrGetPtr jEvent
+            return jEvent'
+    widget' <- unsafeManagedPtrCastPtr widget
+    path' <- textToCString path
+    backgroundArea' <- unsafeManagedPtrGetPtr backgroundArea
+    cellArea' <- unsafeManagedPtrGetPtr cellArea
+    let flags' = gflagsToWord flags
+    result <- gtk_cell_renderer_start_editing cell' maybeEvent widget' path' backgroundArea' cellArea' flags'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.CellEditable.CellEditable) result'
+        return result''
+    touchManagedPtr cell
+    whenJust event touchManagedPtr
+    touchManagedPtr widget
+    touchManagedPtr backgroundArea
+    touchManagedPtr cellArea
+    freeMem path'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data CellRendererStartEditingMethodInfo
+instance (signature ~ (Maybe (Gdk.Event.Event) -> b -> T.Text -> Gdk.Rectangle.Rectangle -> Gdk.Rectangle.Rectangle -> [Gtk.Flags.CellRendererState] -> m (Maybe Gtk.CellEditable.CellEditable)), MonadIO m, IsCellRenderer a, Gtk.Widget.IsWidget b) => O.MethodInfo CellRendererStartEditingMethodInfo a signature where
+    overloadedMethod _ = cellRendererStartEditing
+
+#endif
+
+-- method CellRenderer::stop_editing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "canceled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the editing has been canceled", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_stop_editing" gtk_cell_renderer_stop_editing :: 
+    Ptr CellRenderer ->                     -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- canceled : TBasicType TBoolean
+    IO ()
+
+{- |
+Informs the cell renderer that the editing is stopped.
+If /@canceled@/ is 'True', the cell renderer will emit the
+'GI.Gtk.Objects.CellRenderer.CellRenderer'::@/editing-canceled/@ signal.
+
+This function should be called by cell renderer implementations
+in response to the 'GI.Gtk.Interfaces.CellEditable.CellEditable'::@/editing-done/@ signal of
+'GI.Gtk.Interfaces.CellEditable.CellEditable'.
+
+/Since: 2.6/
+-}
+cellRendererStopEditing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRenderer a) =>
+    a
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Bool
+    {- ^ /@canceled@/: 'True' if the editing has been canceled -}
+    -> m ()
+cellRendererStopEditing cell canceled = liftIO $ do
+    cell' <- unsafeManagedPtrCastPtr cell
+    let canceled' = (fromIntegral . fromEnum) canceled
+    gtk_cell_renderer_stop_editing cell' canceled'
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererStopEditingMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCellRenderer a) => O.MethodInfo CellRendererStopEditingMethodInfo a signature where
+    overloadedMethod _ = cellRendererStopEditing
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellRenderer.hs-boot b/GI/Gtk/Objects/CellRenderer.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRenderer.hs-boot
@@ -0,0 +1,155 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellRenderer where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellRenderer = CellRenderer (ManagedPtr CellRenderer)
+instance GObject CellRenderer where
+class (GObject o, O.IsDescendantOf CellRenderer o) => IsCellRenderer o
+instance (GObject o, O.IsDescendantOf CellRenderer o) => IsCellRenderer o
+instance O.HasParentTypes CellRenderer
+#if ENABLE_OVERLOADING
+data CellRendererCellBackgroundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererCellBackgroundGdkPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererCellBackgroundRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererCellBackgroundSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererEditingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererIsExpandedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererIsExpanderPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSensitivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererXalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererXpadPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererYalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererYpadPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererEditingCanceledSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererEditingStartedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetAlignedAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetFixedSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredHeightForWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetPreferredWidthForHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetRequestModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererGetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererIsActivatableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererRenderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSetFixedSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSetPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSetSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererStartEditingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererStopEditingMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CellRendererAccel.hs b/GI/Gtk/Objects/CellRendererAccel.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererAccel.hs
@@ -0,0 +1,668 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.CellRendererAccel.CellRendererAccel' displays a keyboard accelerator (i.e. a key
+combination like @Control + a@). If the cell renderer is editable,
+the accelerator can be changed by simply typing the new combination.
+
+The 'GI.Gtk.Objects.CellRendererAccel.CellRendererAccel' cell renderer was added in GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellRendererAccel
+    ( 
+
+-- * Exported types
+    CellRendererAccel(..)                   ,
+    IsCellRendererAccel                     ,
+    toCellRendererAccel                     ,
+    noCellRendererAccel                     ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    cellRendererAccelNew                    ,
+
+
+
+
+ -- * Properties
+-- ** accelKey #attr:accelKey#
+{- | The keyval of the accelerator.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererAccelAccelKeyPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererAccelAccelKey               ,
+#endif
+    constructCellRendererAccelAccelKey      ,
+    getCellRendererAccelAccelKey            ,
+    setCellRendererAccelAccelKey            ,
+
+
+-- ** accelMode #attr:accelMode#
+{- | Determines if the edited accelerators are GTK+ accelerators. If
+they are, consumed modifiers are suppressed, only accelerators
+accepted by GTK+ are allowed, and the accelerators are rendered
+in the same way as they are in menus.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererAccelAccelModePropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererAccelAccelMode              ,
+#endif
+    constructCellRendererAccelAccelMode     ,
+    getCellRendererAccelAccelMode           ,
+    setCellRendererAccelAccelMode           ,
+
+
+-- ** accelMods #attr:accelMods#
+{- | The modifier mask of the accelerator.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererAccelAccelModsPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererAccelAccelMods              ,
+#endif
+    constructCellRendererAccelAccelMods     ,
+    getCellRendererAccelAccelMods           ,
+    setCellRendererAccelAccelMods           ,
+
+
+-- ** keycode #attr:keycode#
+{- | The hardware keycode of the accelerator. Note that the hardware keycode is
+only relevant if the key does not have a keyval. Normally, the keyboard
+configuration should assign keyvals to all keys.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererAccelKeycodePropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererAccelKeycode                ,
+#endif
+    constructCellRendererAccelKeycode       ,
+    getCellRendererAccelKeycode             ,
+    setCellRendererAccelKeycode             ,
+
+
+
+
+ -- * Signals
+-- ** accelCleared #signal:accelCleared#
+
+    C_CellRendererAccelAccelClearedCallback ,
+    CellRendererAccelAccelClearedCallback   ,
+#if ENABLE_OVERLOADING
+    CellRendererAccelAccelClearedSignalInfo ,
+#endif
+    afterCellRendererAccelAccelCleared      ,
+    genClosure_CellRendererAccelAccelCleared,
+    mk_CellRendererAccelAccelClearedCallback,
+    noCellRendererAccelAccelClearedCallback ,
+    onCellRendererAccelAccelCleared         ,
+    wrap_CellRendererAccelAccelClearedCallback,
+
+
+-- ** accelEdited #signal:accelEdited#
+
+    C_CellRendererAccelAccelEditedCallback  ,
+    CellRendererAccelAccelEditedCallback    ,
+#if ENABLE_OVERLOADING
+    CellRendererAccelAccelEditedSignalInfo  ,
+#endif
+    afterCellRendererAccelAccelEdited       ,
+    genClosure_CellRendererAccelAccelEdited ,
+    mk_CellRendererAccelAccelEditedCallback ,
+    noCellRendererAccelAccelEditedCallback  ,
+    onCellRendererAccelAccelEdited          ,
+    wrap_CellRendererAccelAccelEditedCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRendererText as Gtk.CellRendererText
+
+-- | Memory-managed wrapper type.
+newtype CellRendererAccel = CellRendererAccel (ManagedPtr CellRendererAccel)
+foreign import ccall "gtk_cell_renderer_accel_get_type"
+    c_gtk_cell_renderer_accel_get_type :: IO GType
+
+instance GObject CellRendererAccel where
+    gobjectType = c_gtk_cell_renderer_accel_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellRendererAccel`, for instance with `toCellRendererAccel`.
+class (GObject o, O.IsDescendantOf CellRendererAccel o) => IsCellRendererAccel o
+instance (GObject o, O.IsDescendantOf CellRendererAccel o) => IsCellRendererAccel o
+
+instance O.HasParentTypes CellRendererAccel
+type instance O.ParentTypes CellRendererAccel = '[Gtk.CellRendererText.CellRendererText, Gtk.CellRenderer.CellRenderer, GObject.Object.Object]
+
+-- | Cast to `CellRendererAccel`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellRendererAccel :: (MonadIO m, IsCellRendererAccel o) => o -> m CellRendererAccel
+toCellRendererAccel = liftIO . unsafeCastTo CellRendererAccel
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellRendererAccel`.
+noCellRendererAccel :: Maybe CellRendererAccel
+noCellRendererAccel = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellRendererAccelMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellRendererAccelMethod "activate" o = Gtk.CellRenderer.CellRendererActivateMethodInfo
+    ResolveCellRendererAccelMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellRendererAccelMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellRendererAccelMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellRendererAccelMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellRendererAccelMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellRendererAccelMethod "isActivatable" o = Gtk.CellRenderer.CellRendererIsActivatableMethodInfo
+    ResolveCellRendererAccelMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellRendererAccelMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellRendererAccelMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellRendererAccelMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellRendererAccelMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellRendererAccelMethod "render" o = Gtk.CellRenderer.CellRendererRenderMethodInfo
+    ResolveCellRendererAccelMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellRendererAccelMethod "startEditing" o = Gtk.CellRenderer.CellRendererStartEditingMethodInfo
+    ResolveCellRendererAccelMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellRendererAccelMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellRendererAccelMethod "stopEditing" o = Gtk.CellRenderer.CellRendererStopEditingMethodInfo
+    ResolveCellRendererAccelMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellRendererAccelMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellRendererAccelMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellRendererAccelMethod "getAlignedArea" o = Gtk.CellRenderer.CellRendererGetAlignedAreaMethodInfo
+    ResolveCellRendererAccelMethod "getAlignment" o = Gtk.CellRenderer.CellRendererGetAlignmentMethodInfo
+    ResolveCellRendererAccelMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellRendererAccelMethod "getFixedSize" o = Gtk.CellRenderer.CellRendererGetFixedSizeMethodInfo
+    ResolveCellRendererAccelMethod "getPadding" o = Gtk.CellRenderer.CellRendererGetPaddingMethodInfo
+    ResolveCellRendererAccelMethod "getPreferredHeight" o = Gtk.CellRenderer.CellRendererGetPreferredHeightMethodInfo
+    ResolveCellRendererAccelMethod "getPreferredHeightForWidth" o = Gtk.CellRenderer.CellRendererGetPreferredHeightForWidthMethodInfo
+    ResolveCellRendererAccelMethod "getPreferredSize" o = Gtk.CellRenderer.CellRendererGetPreferredSizeMethodInfo
+    ResolveCellRendererAccelMethod "getPreferredWidth" o = Gtk.CellRenderer.CellRendererGetPreferredWidthMethodInfo
+    ResolveCellRendererAccelMethod "getPreferredWidthForHeight" o = Gtk.CellRenderer.CellRendererGetPreferredWidthForHeightMethodInfo
+    ResolveCellRendererAccelMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellRendererAccelMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellRendererAccelMethod "getRequestMode" o = Gtk.CellRenderer.CellRendererGetRequestModeMethodInfo
+    ResolveCellRendererAccelMethod "getSensitive" o = Gtk.CellRenderer.CellRendererGetSensitiveMethodInfo
+    ResolveCellRendererAccelMethod "getSize" o = Gtk.CellRenderer.CellRendererGetSizeMethodInfo
+    ResolveCellRendererAccelMethod "getState" o = Gtk.CellRenderer.CellRendererGetStateMethodInfo
+    ResolveCellRendererAccelMethod "getVisible" o = Gtk.CellRenderer.CellRendererGetVisibleMethodInfo
+    ResolveCellRendererAccelMethod "setAlignment" o = Gtk.CellRenderer.CellRendererSetAlignmentMethodInfo
+    ResolveCellRendererAccelMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellRendererAccelMethod "setFixedHeightFromFont" o = Gtk.CellRendererText.CellRendererTextSetFixedHeightFromFontMethodInfo
+    ResolveCellRendererAccelMethod "setFixedSize" o = Gtk.CellRenderer.CellRendererSetFixedSizeMethodInfo
+    ResolveCellRendererAccelMethod "setPadding" o = Gtk.CellRenderer.CellRendererSetPaddingMethodInfo
+    ResolveCellRendererAccelMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellRendererAccelMethod "setSensitive" o = Gtk.CellRenderer.CellRendererSetSensitiveMethodInfo
+    ResolveCellRendererAccelMethod "setVisible" o = Gtk.CellRenderer.CellRendererSetVisibleMethodInfo
+    ResolveCellRendererAccelMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellRendererAccelMethod t CellRendererAccel, O.MethodInfo info CellRendererAccel p) => OL.IsLabel t (CellRendererAccel -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal CellRendererAccel::accel-cleared
+{- |
+Gets emitted when the user has removed the accelerator.
+
+/Since: 2.10/
+-}
+type CellRendererAccelAccelClearedCallback =
+    T.Text
+    {- ^ /@pathString@/: the path identifying the row of the edited cell -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellRendererAccelAccelClearedCallback`@.
+noCellRendererAccelAccelClearedCallback :: Maybe CellRendererAccelAccelClearedCallback
+noCellRendererAccelAccelClearedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellRendererAccelAccelClearedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellRendererAccelAccelClearedCallback`.
+foreign import ccall "wrapper"
+    mk_CellRendererAccelAccelClearedCallback :: C_CellRendererAccelAccelClearedCallback -> IO (FunPtr C_CellRendererAccelAccelClearedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellRendererAccelAccelCleared :: MonadIO m => CellRendererAccelAccelClearedCallback -> m (GClosure C_CellRendererAccelAccelClearedCallback)
+genClosure_CellRendererAccelAccelCleared cb = liftIO $ do
+    let cb' = wrap_CellRendererAccelAccelClearedCallback cb
+    mk_CellRendererAccelAccelClearedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellRendererAccelAccelClearedCallback` into a `C_CellRendererAccelAccelClearedCallback`.
+wrap_CellRendererAccelAccelClearedCallback ::
+    CellRendererAccelAccelClearedCallback ->
+    C_CellRendererAccelAccelClearedCallback
+wrap_CellRendererAccelAccelClearedCallback _cb _ pathString _ = do
+    pathString' <- cstringToText pathString
+    _cb  pathString'
+
+
+{- |
+Connect a signal handler for the “@accel-cleared@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellRendererAccel #accelCleared callback
+@
+-}
+onCellRendererAccelAccelCleared :: (IsCellRendererAccel a, MonadIO m) => a -> CellRendererAccelAccelClearedCallback -> m SignalHandlerId
+onCellRendererAccelAccelCleared obj cb = liftIO $ do
+    let cb' = wrap_CellRendererAccelAccelClearedCallback cb
+    cb'' <- mk_CellRendererAccelAccelClearedCallback cb'
+    connectSignalFunPtr obj "accel-cleared" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@accel-cleared@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellRendererAccel #accelCleared callback
+@
+-}
+afterCellRendererAccelAccelCleared :: (IsCellRendererAccel a, MonadIO m) => a -> CellRendererAccelAccelClearedCallback -> m SignalHandlerId
+afterCellRendererAccelAccelCleared obj cb = liftIO $ do
+    let cb' = wrap_CellRendererAccelAccelClearedCallback cb
+    cb'' <- mk_CellRendererAccelAccelClearedCallback cb'
+    connectSignalFunPtr obj "accel-cleared" cb'' SignalConnectAfter
+
+
+-- signal CellRendererAccel::accel-edited
+{- |
+Gets emitted when the user has selected a new accelerator.
+
+/Since: 2.10/
+-}
+type CellRendererAccelAccelEditedCallback =
+    T.Text
+    {- ^ /@pathString@/: the path identifying the row of the edited cell -}
+    -> Word32
+    {- ^ /@accelKey@/: the new accelerator keyval -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: the new acclerator modifier mask -}
+    -> Word32
+    {- ^ /@hardwareKeycode@/: the keycode of the new accelerator -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellRendererAccelAccelEditedCallback`@.
+noCellRendererAccelAccelEditedCallback :: Maybe CellRendererAccelAccelEditedCallback
+noCellRendererAccelAccelEditedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellRendererAccelAccelEditedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Word32 ->
+    CUInt ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellRendererAccelAccelEditedCallback`.
+foreign import ccall "wrapper"
+    mk_CellRendererAccelAccelEditedCallback :: C_CellRendererAccelAccelEditedCallback -> IO (FunPtr C_CellRendererAccelAccelEditedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellRendererAccelAccelEdited :: MonadIO m => CellRendererAccelAccelEditedCallback -> m (GClosure C_CellRendererAccelAccelEditedCallback)
+genClosure_CellRendererAccelAccelEdited cb = liftIO $ do
+    let cb' = wrap_CellRendererAccelAccelEditedCallback cb
+    mk_CellRendererAccelAccelEditedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellRendererAccelAccelEditedCallback` into a `C_CellRendererAccelAccelEditedCallback`.
+wrap_CellRendererAccelAccelEditedCallback ::
+    CellRendererAccelAccelEditedCallback ->
+    C_CellRendererAccelAccelEditedCallback
+wrap_CellRendererAccelAccelEditedCallback _cb _ pathString accelKey accelMods hardwareKeycode _ = do
+    pathString' <- cstringToText pathString
+    let accelMods' = wordToGFlags accelMods
+    _cb  pathString' accelKey accelMods' hardwareKeycode
+
+
+{- |
+Connect a signal handler for the “@accel-edited@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellRendererAccel #accelEdited callback
+@
+-}
+onCellRendererAccelAccelEdited :: (IsCellRendererAccel a, MonadIO m) => a -> CellRendererAccelAccelEditedCallback -> m SignalHandlerId
+onCellRendererAccelAccelEdited obj cb = liftIO $ do
+    let cb' = wrap_CellRendererAccelAccelEditedCallback cb
+    cb'' <- mk_CellRendererAccelAccelEditedCallback cb'
+    connectSignalFunPtr obj "accel-edited" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@accel-edited@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellRendererAccel #accelEdited callback
+@
+-}
+afterCellRendererAccelAccelEdited :: (IsCellRendererAccel a, MonadIO m) => a -> CellRendererAccelAccelEditedCallback -> m SignalHandlerId
+afterCellRendererAccelAccelEdited obj cb = liftIO $ do
+    let cb' = wrap_CellRendererAccelAccelEditedCallback cb
+    cb'' <- mk_CellRendererAccelAccelEditedCallback cb'
+    connectSignalFunPtr obj "accel-edited" cb'' SignalConnectAfter
+
+
+-- VVV Prop "accel-key"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@accel-key@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererAccel #accelKey
+@
+-}
+getCellRendererAccelAccelKey :: (MonadIO m, IsCellRendererAccel o) => o -> m Word32
+getCellRendererAccelAccelKey obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "accel-key"
+
+{- |
+Set the value of the “@accel-key@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererAccel [ #accelKey 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererAccelAccelKey :: (MonadIO m, IsCellRendererAccel o) => o -> Word32 -> m ()
+setCellRendererAccelAccelKey obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "accel-key" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-key@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererAccelAccelKey :: (IsCellRendererAccel o) => Word32 -> IO (GValueConstruct o)
+constructCellRendererAccelAccelKey val = B.Properties.constructObjectPropertyUInt32 "accel-key" val
+
+#if ENABLE_OVERLOADING
+data CellRendererAccelAccelKeyPropertyInfo
+instance AttrInfo CellRendererAccelAccelKeyPropertyInfo where
+    type AttrAllowedOps CellRendererAccelAccelKeyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererAccelAccelKeyPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CellRendererAccelAccelKeyPropertyInfo = IsCellRendererAccel
+    type AttrGetType CellRendererAccelAccelKeyPropertyInfo = Word32
+    type AttrLabel CellRendererAccelAccelKeyPropertyInfo = "accel-key"
+    type AttrOrigin CellRendererAccelAccelKeyPropertyInfo = CellRendererAccel
+    attrGet _ = getCellRendererAccelAccelKey
+    attrSet _ = setCellRendererAccelAccelKey
+    attrConstruct _ = constructCellRendererAccelAccelKey
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "accel-mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellRendererAccelMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@accel-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererAccel #accelMode
+@
+-}
+getCellRendererAccelAccelMode :: (MonadIO m, IsCellRendererAccel o) => o -> m Gtk.Enums.CellRendererAccelMode
+getCellRendererAccelAccelMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "accel-mode"
+
+{- |
+Set the value of the “@accel-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererAccel [ #accelMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererAccelAccelMode :: (MonadIO m, IsCellRendererAccel o) => o -> Gtk.Enums.CellRendererAccelMode -> m ()
+setCellRendererAccelAccelMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "accel-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererAccelAccelMode :: (IsCellRendererAccel o) => Gtk.Enums.CellRendererAccelMode -> IO (GValueConstruct o)
+constructCellRendererAccelAccelMode val = B.Properties.constructObjectPropertyEnum "accel-mode" val
+
+#if ENABLE_OVERLOADING
+data CellRendererAccelAccelModePropertyInfo
+instance AttrInfo CellRendererAccelAccelModePropertyInfo where
+    type AttrAllowedOps CellRendererAccelAccelModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererAccelAccelModePropertyInfo = (~) Gtk.Enums.CellRendererAccelMode
+    type AttrBaseTypeConstraint CellRendererAccelAccelModePropertyInfo = IsCellRendererAccel
+    type AttrGetType CellRendererAccelAccelModePropertyInfo = Gtk.Enums.CellRendererAccelMode
+    type AttrLabel CellRendererAccelAccelModePropertyInfo = "accel-mode"
+    type AttrOrigin CellRendererAccelAccelModePropertyInfo = CellRendererAccel
+    attrGet _ = getCellRendererAccelAccelMode
+    attrSet _ = setCellRendererAccelAccelMode
+    attrConstruct _ = constructCellRendererAccelAccelMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "accel-mods"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@accel-mods@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererAccel #accelMods
+@
+-}
+getCellRendererAccelAccelMods :: (MonadIO m, IsCellRendererAccel o) => o -> m [Gdk.Flags.ModifierType]
+getCellRendererAccelAccelMods obj = liftIO $ B.Properties.getObjectPropertyFlags obj "accel-mods"
+
+{- |
+Set the value of the “@accel-mods@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererAccel [ #accelMods 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererAccelAccelMods :: (MonadIO m, IsCellRendererAccel o) => o -> [Gdk.Flags.ModifierType] -> m ()
+setCellRendererAccelAccelMods obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "accel-mods" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-mods@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererAccelAccelMods :: (IsCellRendererAccel o) => [Gdk.Flags.ModifierType] -> IO (GValueConstruct o)
+constructCellRendererAccelAccelMods val = B.Properties.constructObjectPropertyFlags "accel-mods" val
+
+#if ENABLE_OVERLOADING
+data CellRendererAccelAccelModsPropertyInfo
+instance AttrInfo CellRendererAccelAccelModsPropertyInfo where
+    type AttrAllowedOps CellRendererAccelAccelModsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererAccelAccelModsPropertyInfo = (~) [Gdk.Flags.ModifierType]
+    type AttrBaseTypeConstraint CellRendererAccelAccelModsPropertyInfo = IsCellRendererAccel
+    type AttrGetType CellRendererAccelAccelModsPropertyInfo = [Gdk.Flags.ModifierType]
+    type AttrLabel CellRendererAccelAccelModsPropertyInfo = "accel-mods"
+    type AttrOrigin CellRendererAccelAccelModsPropertyInfo = CellRendererAccel
+    attrGet _ = getCellRendererAccelAccelMods
+    attrSet _ = setCellRendererAccelAccelMods
+    attrConstruct _ = constructCellRendererAccelAccelMods
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "keycode"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@keycode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererAccel #keycode
+@
+-}
+getCellRendererAccelKeycode :: (MonadIO m, IsCellRendererAccel o) => o -> m Word32
+getCellRendererAccelKeycode obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "keycode"
+
+{- |
+Set the value of the “@keycode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererAccel [ #keycode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererAccelKeycode :: (MonadIO m, IsCellRendererAccel o) => o -> Word32 -> m ()
+setCellRendererAccelKeycode obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "keycode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@keycode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererAccelKeycode :: (IsCellRendererAccel o) => Word32 -> IO (GValueConstruct o)
+constructCellRendererAccelKeycode val = B.Properties.constructObjectPropertyUInt32 "keycode" val
+
+#if ENABLE_OVERLOADING
+data CellRendererAccelKeycodePropertyInfo
+instance AttrInfo CellRendererAccelKeycodePropertyInfo where
+    type AttrAllowedOps CellRendererAccelKeycodePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererAccelKeycodePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CellRendererAccelKeycodePropertyInfo = IsCellRendererAccel
+    type AttrGetType CellRendererAccelKeycodePropertyInfo = Word32
+    type AttrLabel CellRendererAccelKeycodePropertyInfo = "keycode"
+    type AttrOrigin CellRendererAccelKeycodePropertyInfo = CellRendererAccel
+    attrGet _ = getCellRendererAccelKeycode
+    attrSet _ = setCellRendererAccelKeycode
+    attrConstruct _ = constructCellRendererAccelKeycode
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellRendererAccel
+type instance O.AttributeList CellRendererAccel = CellRendererAccelAttributeList
+type CellRendererAccelAttributeList = ('[ '("accelKey", CellRendererAccelAccelKeyPropertyInfo), '("accelMode", CellRendererAccelAccelModePropertyInfo), '("accelMods", CellRendererAccelAccelModsPropertyInfo), '("alignSet", Gtk.CellRendererText.CellRendererTextAlignSetPropertyInfo), '("alignment", Gtk.CellRendererText.CellRendererTextAlignmentPropertyInfo), '("attributes", Gtk.CellRendererText.CellRendererTextAttributesPropertyInfo), '("background", Gtk.CellRendererText.CellRendererTextBackgroundPropertyInfo), '("backgroundGdk", Gtk.CellRendererText.CellRendererTextBackgroundGdkPropertyInfo), '("backgroundRgba", Gtk.CellRendererText.CellRendererTextBackgroundRgbaPropertyInfo), '("backgroundSet", Gtk.CellRendererText.CellRendererTextBackgroundSetPropertyInfo), '("cellBackground", Gtk.CellRenderer.CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", Gtk.CellRenderer.CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", Gtk.CellRenderer.CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", Gtk.CellRenderer.CellRendererCellBackgroundSetPropertyInfo), '("editable", Gtk.CellRendererText.CellRendererTextEditablePropertyInfo), '("editableSet", Gtk.CellRendererText.CellRendererTextEditableSetPropertyInfo), '("editing", Gtk.CellRenderer.CellRendererEditingPropertyInfo), '("ellipsize", Gtk.CellRendererText.CellRendererTextEllipsizePropertyInfo), '("ellipsizeSet", Gtk.CellRendererText.CellRendererTextEllipsizeSetPropertyInfo), '("family", Gtk.CellRendererText.CellRendererTextFamilyPropertyInfo), '("familySet", Gtk.CellRendererText.CellRendererTextFamilySetPropertyInfo), '("font", Gtk.CellRendererText.CellRendererTextFontPropertyInfo), '("fontDesc", Gtk.CellRendererText.CellRendererTextFontDescPropertyInfo), '("foreground", Gtk.CellRendererText.CellRendererTextForegroundPropertyInfo), '("foregroundGdk", Gtk.CellRendererText.CellRendererTextForegroundGdkPropertyInfo), '("foregroundRgba", Gtk.CellRendererText.CellRendererTextForegroundRgbaPropertyInfo), '("foregroundSet", Gtk.CellRendererText.CellRendererTextForegroundSetPropertyInfo), '("height", Gtk.CellRenderer.CellRendererHeightPropertyInfo), '("isExpanded", Gtk.CellRenderer.CellRendererIsExpandedPropertyInfo), '("isExpander", Gtk.CellRenderer.CellRendererIsExpanderPropertyInfo), '("keycode", CellRendererAccelKeycodePropertyInfo), '("language", Gtk.CellRendererText.CellRendererTextLanguagePropertyInfo), '("languageSet", Gtk.CellRendererText.CellRendererTextLanguageSetPropertyInfo), '("markup", Gtk.CellRendererText.CellRendererTextMarkupPropertyInfo), '("maxWidthChars", Gtk.CellRendererText.CellRendererTextMaxWidthCharsPropertyInfo), '("mode", Gtk.CellRenderer.CellRendererModePropertyInfo), '("placeholderText", Gtk.CellRendererText.CellRendererTextPlaceholderTextPropertyInfo), '("rise", Gtk.CellRendererText.CellRendererTextRisePropertyInfo), '("riseSet", Gtk.CellRendererText.CellRendererTextRiseSetPropertyInfo), '("scale", Gtk.CellRendererText.CellRendererTextScalePropertyInfo), '("scaleSet", Gtk.CellRendererText.CellRendererTextScaleSetPropertyInfo), '("sensitive", Gtk.CellRenderer.CellRendererSensitivePropertyInfo), '("singleParagraphMode", Gtk.CellRendererText.CellRendererTextSingleParagraphModePropertyInfo), '("size", Gtk.CellRendererText.CellRendererTextSizePropertyInfo), '("sizePoints", Gtk.CellRendererText.CellRendererTextSizePointsPropertyInfo), '("sizeSet", Gtk.CellRendererText.CellRendererTextSizeSetPropertyInfo), '("stretch", Gtk.CellRendererText.CellRendererTextStretchPropertyInfo), '("stretchSet", Gtk.CellRendererText.CellRendererTextStretchSetPropertyInfo), '("strikethrough", Gtk.CellRendererText.CellRendererTextStrikethroughPropertyInfo), '("strikethroughSet", Gtk.CellRendererText.CellRendererTextStrikethroughSetPropertyInfo), '("style", Gtk.CellRendererText.CellRendererTextStylePropertyInfo), '("styleSet", Gtk.CellRendererText.CellRendererTextStyleSetPropertyInfo), '("text", Gtk.CellRendererText.CellRendererTextTextPropertyInfo), '("underline", Gtk.CellRendererText.CellRendererTextUnderlinePropertyInfo), '("underlineSet", Gtk.CellRendererText.CellRendererTextUnderlineSetPropertyInfo), '("variant", Gtk.CellRendererText.CellRendererTextVariantPropertyInfo), '("variantSet", Gtk.CellRendererText.CellRendererTextVariantSetPropertyInfo), '("visible", Gtk.CellRenderer.CellRendererVisiblePropertyInfo), '("weight", Gtk.CellRendererText.CellRendererTextWeightPropertyInfo), '("weightSet", Gtk.CellRendererText.CellRendererTextWeightSetPropertyInfo), '("width", Gtk.CellRenderer.CellRendererWidthPropertyInfo), '("widthChars", Gtk.CellRendererText.CellRendererTextWidthCharsPropertyInfo), '("wrapMode", Gtk.CellRendererText.CellRendererTextWrapModePropertyInfo), '("wrapWidth", Gtk.CellRendererText.CellRendererTextWrapWidthPropertyInfo), '("xalign", Gtk.CellRenderer.CellRendererXalignPropertyInfo), '("xpad", Gtk.CellRenderer.CellRendererXpadPropertyInfo), '("yalign", Gtk.CellRenderer.CellRendererYalignPropertyInfo), '("ypad", Gtk.CellRenderer.CellRendererYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellRendererAccelAccelKey :: AttrLabelProxy "accelKey"
+cellRendererAccelAccelKey = AttrLabelProxy
+
+cellRendererAccelAccelMode :: AttrLabelProxy "accelMode"
+cellRendererAccelAccelMode = AttrLabelProxy
+
+cellRendererAccelAccelMods :: AttrLabelProxy "accelMods"
+cellRendererAccelAccelMods = AttrLabelProxy
+
+cellRendererAccelKeycode :: AttrLabelProxy "keycode"
+cellRendererAccelKeycode = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data CellRendererAccelAccelClearedSignalInfo
+instance SignalInfo CellRendererAccelAccelClearedSignalInfo where
+    type HaskellCallbackType CellRendererAccelAccelClearedSignalInfo = CellRendererAccelAccelClearedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellRendererAccelAccelClearedCallback cb
+        cb'' <- mk_CellRendererAccelAccelClearedCallback cb'
+        connectSignalFunPtr obj "accel-cleared" cb'' connectMode
+
+data CellRendererAccelAccelEditedSignalInfo
+instance SignalInfo CellRendererAccelAccelEditedSignalInfo where
+    type HaskellCallbackType CellRendererAccelAccelEditedSignalInfo = CellRendererAccelAccelEditedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellRendererAccelAccelEditedCallback cb
+        cb'' <- mk_CellRendererAccelAccelEditedCallback cb'
+        connectSignalFunPtr obj "accel-edited" cb'' connectMode
+
+type instance O.SignalList CellRendererAccel = CellRendererAccelSignalList
+type CellRendererAccelSignalList = ('[ '("accelCleared", CellRendererAccelAccelClearedSignalInfo), '("accelEdited", CellRendererAccelAccelEditedSignalInfo), '("edited", Gtk.CellRendererText.CellRendererTextEditedSignalInfo), '("editingCanceled", Gtk.CellRenderer.CellRendererEditingCanceledSignalInfo), '("editingStarted", Gtk.CellRenderer.CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellRendererAccel::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererAccel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_accel_new" gtk_cell_renderer_accel_new :: 
+    IO (Ptr CellRendererAccel)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellRendererAccel.CellRendererAccel'.
+
+/Since: 2.10/
+-}
+cellRendererAccelNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellRendererAccel
+    {- ^ __Returns:__ the new cell renderer -}
+cellRendererAccelNew  = liftIO $ do
+    result <- gtk_cell_renderer_accel_new
+    checkUnexpectedReturnNULL "cellRendererAccelNew" result
+    result' <- (newObject CellRendererAccel) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellRendererAccel.hs-boot b/GI/Gtk/Objects/CellRendererAccel.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererAccel.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellRendererAccel where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellRendererAccel = CellRendererAccel (ManagedPtr CellRendererAccel)
+instance GObject CellRendererAccel where
+class (GObject o, O.IsDescendantOf CellRendererAccel o) => IsCellRendererAccel o
+instance (GObject o, O.IsDescendantOf CellRendererAccel o) => IsCellRendererAccel o
+instance O.HasParentTypes CellRendererAccel
+#if ENABLE_OVERLOADING
+data CellRendererAccelAccelKeyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererAccelAccelModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererAccelAccelModsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererAccelKeycodePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererAccelAccelClearedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererAccelAccelEditedSignalInfo
+#endif
diff --git a/GI/Gtk/Objects/CellRendererCombo.hs b/GI/Gtk/Objects/CellRendererCombo.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererCombo.hs
@@ -0,0 +1,543 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.CellRendererCombo.CellRendererCombo' renders text in a cell like 'GI.Gtk.Objects.CellRendererText.CellRendererText' from
+which it is derived. But while 'GI.Gtk.Objects.CellRendererText.CellRendererText' offers a simple entry to
+edit the text, 'GI.Gtk.Objects.CellRendererCombo.CellRendererCombo' offers a 'GI.Gtk.Objects.ComboBox.ComboBox'
+widget to edit the text. The values to display in the combo box are taken from
+the tree model specified in the 'GI.Gtk.Objects.CellRendererCombo.CellRendererCombo':@/model/@ property.
+
+The combo cell renderer takes care of adding a text cell renderer to the combo
+box and sets it to display the column specified by its
+'GI.Gtk.Objects.CellRendererCombo.CellRendererCombo':@/text-column/@ property. Further properties of the combo box
+can be set in a handler for the 'GI.Gtk.Objects.CellRenderer.CellRenderer'::@/editing-started/@ signal.
+
+The 'GI.Gtk.Objects.CellRendererCombo.CellRendererCombo' cell renderer was added in GTK+ 2.6.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellRendererCombo
+    ( 
+
+-- * Exported types
+    CellRendererCombo(..)                   ,
+    IsCellRendererCombo                     ,
+    toCellRendererCombo                     ,
+    noCellRendererCombo                     ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    cellRendererComboNew                    ,
+
+
+
+
+ -- * Properties
+-- ** hasEntry #attr:hasEntry#
+{- | If 'True', the cell renderer will include an entry and allow to enter
+values other than the ones in the popup list.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererComboHasEntryPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererComboHasEntry               ,
+#endif
+    constructCellRendererComboHasEntry      ,
+    getCellRendererComboHasEntry            ,
+    setCellRendererComboHasEntry            ,
+
+
+-- ** model #attr:model#
+{- | Holds a tree model containing the possible values for the combo box.
+Use the text_column property to specify the column holding the values.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererComboModelPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererComboModel                  ,
+#endif
+    clearCellRendererComboModel             ,
+    constructCellRendererComboModel         ,
+    getCellRendererComboModel               ,
+    setCellRendererComboModel               ,
+
+
+-- ** textColumn #attr:textColumn#
+{- | Specifies the model column which holds the possible values for the
+combo box.
+
+Note that this refers to the model specified in the model property,
+not the model backing the tree view to which
+this cell renderer is attached.
+
+'GI.Gtk.Objects.CellRendererCombo.CellRendererCombo' automatically adds a text cell renderer for
+this column to its combo box.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererComboTextColumnPropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererComboTextColumn             ,
+#endif
+    constructCellRendererComboTextColumn    ,
+    getCellRendererComboTextColumn          ,
+    setCellRendererComboTextColumn          ,
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    C_CellRendererComboChangedCallback      ,
+    CellRendererComboChangedCallback        ,
+#if ENABLE_OVERLOADING
+    CellRendererComboChangedSignalInfo      ,
+#endif
+    afterCellRendererComboChanged           ,
+    genClosure_CellRendererComboChanged     ,
+    mk_CellRendererComboChangedCallback     ,
+    noCellRendererComboChangedCallback      ,
+    onCellRendererComboChanged              ,
+    wrap_CellRendererComboChangedCallback   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRendererText as Gtk.CellRendererText
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+
+-- | Memory-managed wrapper type.
+newtype CellRendererCombo = CellRendererCombo (ManagedPtr CellRendererCombo)
+foreign import ccall "gtk_cell_renderer_combo_get_type"
+    c_gtk_cell_renderer_combo_get_type :: IO GType
+
+instance GObject CellRendererCombo where
+    gobjectType = c_gtk_cell_renderer_combo_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellRendererCombo`, for instance with `toCellRendererCombo`.
+class (GObject o, O.IsDescendantOf CellRendererCombo o) => IsCellRendererCombo o
+instance (GObject o, O.IsDescendantOf CellRendererCombo o) => IsCellRendererCombo o
+
+instance O.HasParentTypes CellRendererCombo
+type instance O.ParentTypes CellRendererCombo = '[Gtk.CellRendererText.CellRendererText, Gtk.CellRenderer.CellRenderer, GObject.Object.Object]
+
+-- | Cast to `CellRendererCombo`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellRendererCombo :: (MonadIO m, IsCellRendererCombo o) => o -> m CellRendererCombo
+toCellRendererCombo = liftIO . unsafeCastTo CellRendererCombo
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellRendererCombo`.
+noCellRendererCombo :: Maybe CellRendererCombo
+noCellRendererCombo = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellRendererComboMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellRendererComboMethod "activate" o = Gtk.CellRenderer.CellRendererActivateMethodInfo
+    ResolveCellRendererComboMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellRendererComboMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellRendererComboMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellRendererComboMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellRendererComboMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellRendererComboMethod "isActivatable" o = Gtk.CellRenderer.CellRendererIsActivatableMethodInfo
+    ResolveCellRendererComboMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellRendererComboMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellRendererComboMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellRendererComboMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellRendererComboMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellRendererComboMethod "render" o = Gtk.CellRenderer.CellRendererRenderMethodInfo
+    ResolveCellRendererComboMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellRendererComboMethod "startEditing" o = Gtk.CellRenderer.CellRendererStartEditingMethodInfo
+    ResolveCellRendererComboMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellRendererComboMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellRendererComboMethod "stopEditing" o = Gtk.CellRenderer.CellRendererStopEditingMethodInfo
+    ResolveCellRendererComboMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellRendererComboMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellRendererComboMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellRendererComboMethod "getAlignedArea" o = Gtk.CellRenderer.CellRendererGetAlignedAreaMethodInfo
+    ResolveCellRendererComboMethod "getAlignment" o = Gtk.CellRenderer.CellRendererGetAlignmentMethodInfo
+    ResolveCellRendererComboMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellRendererComboMethod "getFixedSize" o = Gtk.CellRenderer.CellRendererGetFixedSizeMethodInfo
+    ResolveCellRendererComboMethod "getPadding" o = Gtk.CellRenderer.CellRendererGetPaddingMethodInfo
+    ResolveCellRendererComboMethod "getPreferredHeight" o = Gtk.CellRenderer.CellRendererGetPreferredHeightMethodInfo
+    ResolveCellRendererComboMethod "getPreferredHeightForWidth" o = Gtk.CellRenderer.CellRendererGetPreferredHeightForWidthMethodInfo
+    ResolveCellRendererComboMethod "getPreferredSize" o = Gtk.CellRenderer.CellRendererGetPreferredSizeMethodInfo
+    ResolveCellRendererComboMethod "getPreferredWidth" o = Gtk.CellRenderer.CellRendererGetPreferredWidthMethodInfo
+    ResolveCellRendererComboMethod "getPreferredWidthForHeight" o = Gtk.CellRenderer.CellRendererGetPreferredWidthForHeightMethodInfo
+    ResolveCellRendererComboMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellRendererComboMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellRendererComboMethod "getRequestMode" o = Gtk.CellRenderer.CellRendererGetRequestModeMethodInfo
+    ResolveCellRendererComboMethod "getSensitive" o = Gtk.CellRenderer.CellRendererGetSensitiveMethodInfo
+    ResolveCellRendererComboMethod "getSize" o = Gtk.CellRenderer.CellRendererGetSizeMethodInfo
+    ResolveCellRendererComboMethod "getState" o = Gtk.CellRenderer.CellRendererGetStateMethodInfo
+    ResolveCellRendererComboMethod "getVisible" o = Gtk.CellRenderer.CellRendererGetVisibleMethodInfo
+    ResolveCellRendererComboMethod "setAlignment" o = Gtk.CellRenderer.CellRendererSetAlignmentMethodInfo
+    ResolveCellRendererComboMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellRendererComboMethod "setFixedHeightFromFont" o = Gtk.CellRendererText.CellRendererTextSetFixedHeightFromFontMethodInfo
+    ResolveCellRendererComboMethod "setFixedSize" o = Gtk.CellRenderer.CellRendererSetFixedSizeMethodInfo
+    ResolveCellRendererComboMethod "setPadding" o = Gtk.CellRenderer.CellRendererSetPaddingMethodInfo
+    ResolveCellRendererComboMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellRendererComboMethod "setSensitive" o = Gtk.CellRenderer.CellRendererSetSensitiveMethodInfo
+    ResolveCellRendererComboMethod "setVisible" o = Gtk.CellRenderer.CellRendererSetVisibleMethodInfo
+    ResolveCellRendererComboMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellRendererComboMethod t CellRendererCombo, O.MethodInfo info CellRendererCombo p) => OL.IsLabel t (CellRendererCombo -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal CellRendererCombo::changed
+{- |
+This signal is emitted each time after the user selected an item in
+the combo box, either by using the mouse or the arrow keys.  Contrary
+to GtkComboBox, GtkCellRendererCombo::changed is not emitted for
+changes made to a selected item in the entry.  The argument /@newIter@/
+corresponds to the newly selected item in the combo box and it is relative
+to the GtkTreeModel set via the model property on GtkCellRendererCombo.
+
+Note that as soon as you change the model displayed in the tree view,
+the tree view will immediately cease the editing operating.  This
+means that you most probably want to refrain from changing the model
+until the combo cell renderer emits the edited or editing_canceled signal.
+
+/Since: 2.14/
+-}
+type CellRendererComboChangedCallback =
+    T.Text
+    {- ^ /@pathString@/: a string of the path identifying the edited cell
+              (relative to the tree view model) -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@newIter@/: the new iter selected in the combo box
+           (relative to the combo box model) -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellRendererComboChangedCallback`@.
+noCellRendererComboChangedCallback :: Maybe CellRendererComboChangedCallback
+noCellRendererComboChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellRendererComboChangedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellRendererComboChangedCallback`.
+foreign import ccall "wrapper"
+    mk_CellRendererComboChangedCallback :: C_CellRendererComboChangedCallback -> IO (FunPtr C_CellRendererComboChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellRendererComboChanged :: MonadIO m => CellRendererComboChangedCallback -> m (GClosure C_CellRendererComboChangedCallback)
+genClosure_CellRendererComboChanged cb = liftIO $ do
+    let cb' = wrap_CellRendererComboChangedCallback cb
+    mk_CellRendererComboChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellRendererComboChangedCallback` into a `C_CellRendererComboChangedCallback`.
+wrap_CellRendererComboChangedCallback ::
+    CellRendererComboChangedCallback ->
+    C_CellRendererComboChangedCallback
+wrap_CellRendererComboChangedCallback _cb _ pathString newIter _ = do
+    pathString' <- cstringToText pathString
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter newIter $ \newIter' -> do
+        _cb  pathString' newIter'
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellRendererCombo #changed callback
+@
+-}
+onCellRendererComboChanged :: (IsCellRendererCombo a, MonadIO m) => a -> CellRendererComboChangedCallback -> m SignalHandlerId
+onCellRendererComboChanged obj cb = liftIO $ do
+    let cb' = wrap_CellRendererComboChangedCallback cb
+    cb'' <- mk_CellRendererComboChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellRendererCombo #changed callback
+@
+-}
+afterCellRendererComboChanged :: (IsCellRendererCombo a, MonadIO m) => a -> CellRendererComboChangedCallback -> m SignalHandlerId
+afterCellRendererComboChanged obj cb = liftIO $ do
+    let cb' = wrap_CellRendererComboChangedCallback cb
+    cb'' <- mk_CellRendererComboChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "has-entry"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@has-entry@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererCombo #hasEntry
+@
+-}
+getCellRendererComboHasEntry :: (MonadIO m, IsCellRendererCombo o) => o -> m Bool
+getCellRendererComboHasEntry obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-entry"
+
+{- |
+Set the value of the “@has-entry@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererCombo [ #hasEntry 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererComboHasEntry :: (MonadIO m, IsCellRendererCombo o) => o -> Bool -> m ()
+setCellRendererComboHasEntry obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-entry" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-entry@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererComboHasEntry :: (IsCellRendererCombo o) => Bool -> IO (GValueConstruct o)
+constructCellRendererComboHasEntry val = B.Properties.constructObjectPropertyBool "has-entry" val
+
+#if ENABLE_OVERLOADING
+data CellRendererComboHasEntryPropertyInfo
+instance AttrInfo CellRendererComboHasEntryPropertyInfo where
+    type AttrAllowedOps CellRendererComboHasEntryPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererComboHasEntryPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererComboHasEntryPropertyInfo = IsCellRendererCombo
+    type AttrGetType CellRendererComboHasEntryPropertyInfo = Bool
+    type AttrLabel CellRendererComboHasEntryPropertyInfo = "has-entry"
+    type AttrOrigin CellRendererComboHasEntryPropertyInfo = CellRendererCombo
+    attrGet _ = getCellRendererComboHasEntry
+    attrSet _ = setCellRendererComboHasEntry
+    attrConstruct _ = constructCellRendererComboHasEntry
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "model"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererCombo #model
+@
+-}
+getCellRendererComboModel :: (MonadIO m, IsCellRendererCombo o) => o -> m (Maybe Gtk.TreeModel.TreeModel)
+getCellRendererComboModel obj = liftIO $ B.Properties.getObjectPropertyObject obj "model" Gtk.TreeModel.TreeModel
+
+{- |
+Set the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererCombo [ #model 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererComboModel :: (MonadIO m, IsCellRendererCombo o, Gtk.TreeModel.IsTreeModel a) => o -> a -> m ()
+setCellRendererComboModel obj val = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererComboModel :: (IsCellRendererCombo o, Gtk.TreeModel.IsTreeModel a) => a -> IO (GValueConstruct o)
+constructCellRendererComboModel val = B.Properties.constructObjectPropertyObject "model" (Just val)
+
+{- |
+Set the value of the “@model@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #model
+@
+-}
+clearCellRendererComboModel :: (MonadIO m, IsCellRendererCombo o) => o -> m ()
+clearCellRendererComboModel obj = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Nothing :: Maybe Gtk.TreeModel.TreeModel)
+
+#if ENABLE_OVERLOADING
+data CellRendererComboModelPropertyInfo
+instance AttrInfo CellRendererComboModelPropertyInfo where
+    type AttrAllowedOps CellRendererComboModelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererComboModelPropertyInfo = Gtk.TreeModel.IsTreeModel
+    type AttrBaseTypeConstraint CellRendererComboModelPropertyInfo = IsCellRendererCombo
+    type AttrGetType CellRendererComboModelPropertyInfo = (Maybe Gtk.TreeModel.TreeModel)
+    type AttrLabel CellRendererComboModelPropertyInfo = "model"
+    type AttrOrigin CellRendererComboModelPropertyInfo = CellRendererCombo
+    attrGet _ = getCellRendererComboModel
+    attrSet _ = setCellRendererComboModel
+    attrConstruct _ = constructCellRendererComboModel
+    attrClear _ = clearCellRendererComboModel
+#endif
+
+-- VVV Prop "text-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererCombo #textColumn
+@
+-}
+getCellRendererComboTextColumn :: (MonadIO m, IsCellRendererCombo o) => o -> m Int32
+getCellRendererComboTextColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "text-column"
+
+{- |
+Set the value of the “@text-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererCombo [ #textColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererComboTextColumn :: (MonadIO m, IsCellRendererCombo o) => o -> Int32 -> m ()
+setCellRendererComboTextColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "text-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererComboTextColumn :: (IsCellRendererCombo o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererComboTextColumn val = B.Properties.constructObjectPropertyInt32 "text-column" val
+
+#if ENABLE_OVERLOADING
+data CellRendererComboTextColumnPropertyInfo
+instance AttrInfo CellRendererComboTextColumnPropertyInfo where
+    type AttrAllowedOps CellRendererComboTextColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererComboTextColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererComboTextColumnPropertyInfo = IsCellRendererCombo
+    type AttrGetType CellRendererComboTextColumnPropertyInfo = Int32
+    type AttrLabel CellRendererComboTextColumnPropertyInfo = "text-column"
+    type AttrOrigin CellRendererComboTextColumnPropertyInfo = CellRendererCombo
+    attrGet _ = getCellRendererComboTextColumn
+    attrSet _ = setCellRendererComboTextColumn
+    attrConstruct _ = constructCellRendererComboTextColumn
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellRendererCombo
+type instance O.AttributeList CellRendererCombo = CellRendererComboAttributeList
+type CellRendererComboAttributeList = ('[ '("alignSet", Gtk.CellRendererText.CellRendererTextAlignSetPropertyInfo), '("alignment", Gtk.CellRendererText.CellRendererTextAlignmentPropertyInfo), '("attributes", Gtk.CellRendererText.CellRendererTextAttributesPropertyInfo), '("background", Gtk.CellRendererText.CellRendererTextBackgroundPropertyInfo), '("backgroundGdk", Gtk.CellRendererText.CellRendererTextBackgroundGdkPropertyInfo), '("backgroundRgba", Gtk.CellRendererText.CellRendererTextBackgroundRgbaPropertyInfo), '("backgroundSet", Gtk.CellRendererText.CellRendererTextBackgroundSetPropertyInfo), '("cellBackground", Gtk.CellRenderer.CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", Gtk.CellRenderer.CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", Gtk.CellRenderer.CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", Gtk.CellRenderer.CellRendererCellBackgroundSetPropertyInfo), '("editable", Gtk.CellRendererText.CellRendererTextEditablePropertyInfo), '("editableSet", Gtk.CellRendererText.CellRendererTextEditableSetPropertyInfo), '("editing", Gtk.CellRenderer.CellRendererEditingPropertyInfo), '("ellipsize", Gtk.CellRendererText.CellRendererTextEllipsizePropertyInfo), '("ellipsizeSet", Gtk.CellRendererText.CellRendererTextEllipsizeSetPropertyInfo), '("family", Gtk.CellRendererText.CellRendererTextFamilyPropertyInfo), '("familySet", Gtk.CellRendererText.CellRendererTextFamilySetPropertyInfo), '("font", Gtk.CellRendererText.CellRendererTextFontPropertyInfo), '("fontDesc", Gtk.CellRendererText.CellRendererTextFontDescPropertyInfo), '("foreground", Gtk.CellRendererText.CellRendererTextForegroundPropertyInfo), '("foregroundGdk", Gtk.CellRendererText.CellRendererTextForegroundGdkPropertyInfo), '("foregroundRgba", Gtk.CellRendererText.CellRendererTextForegroundRgbaPropertyInfo), '("foregroundSet", Gtk.CellRendererText.CellRendererTextForegroundSetPropertyInfo), '("hasEntry", CellRendererComboHasEntryPropertyInfo), '("height", Gtk.CellRenderer.CellRendererHeightPropertyInfo), '("isExpanded", Gtk.CellRenderer.CellRendererIsExpandedPropertyInfo), '("isExpander", Gtk.CellRenderer.CellRendererIsExpanderPropertyInfo), '("language", Gtk.CellRendererText.CellRendererTextLanguagePropertyInfo), '("languageSet", Gtk.CellRendererText.CellRendererTextLanguageSetPropertyInfo), '("markup", Gtk.CellRendererText.CellRendererTextMarkupPropertyInfo), '("maxWidthChars", Gtk.CellRendererText.CellRendererTextMaxWidthCharsPropertyInfo), '("mode", Gtk.CellRenderer.CellRendererModePropertyInfo), '("model", CellRendererComboModelPropertyInfo), '("placeholderText", Gtk.CellRendererText.CellRendererTextPlaceholderTextPropertyInfo), '("rise", Gtk.CellRendererText.CellRendererTextRisePropertyInfo), '("riseSet", Gtk.CellRendererText.CellRendererTextRiseSetPropertyInfo), '("scale", Gtk.CellRendererText.CellRendererTextScalePropertyInfo), '("scaleSet", Gtk.CellRendererText.CellRendererTextScaleSetPropertyInfo), '("sensitive", Gtk.CellRenderer.CellRendererSensitivePropertyInfo), '("singleParagraphMode", Gtk.CellRendererText.CellRendererTextSingleParagraphModePropertyInfo), '("size", Gtk.CellRendererText.CellRendererTextSizePropertyInfo), '("sizePoints", Gtk.CellRendererText.CellRendererTextSizePointsPropertyInfo), '("sizeSet", Gtk.CellRendererText.CellRendererTextSizeSetPropertyInfo), '("stretch", Gtk.CellRendererText.CellRendererTextStretchPropertyInfo), '("stretchSet", Gtk.CellRendererText.CellRendererTextStretchSetPropertyInfo), '("strikethrough", Gtk.CellRendererText.CellRendererTextStrikethroughPropertyInfo), '("strikethroughSet", Gtk.CellRendererText.CellRendererTextStrikethroughSetPropertyInfo), '("style", Gtk.CellRendererText.CellRendererTextStylePropertyInfo), '("styleSet", Gtk.CellRendererText.CellRendererTextStyleSetPropertyInfo), '("text", Gtk.CellRendererText.CellRendererTextTextPropertyInfo), '("textColumn", CellRendererComboTextColumnPropertyInfo), '("underline", Gtk.CellRendererText.CellRendererTextUnderlinePropertyInfo), '("underlineSet", Gtk.CellRendererText.CellRendererTextUnderlineSetPropertyInfo), '("variant", Gtk.CellRendererText.CellRendererTextVariantPropertyInfo), '("variantSet", Gtk.CellRendererText.CellRendererTextVariantSetPropertyInfo), '("visible", Gtk.CellRenderer.CellRendererVisiblePropertyInfo), '("weight", Gtk.CellRendererText.CellRendererTextWeightPropertyInfo), '("weightSet", Gtk.CellRendererText.CellRendererTextWeightSetPropertyInfo), '("width", Gtk.CellRenderer.CellRendererWidthPropertyInfo), '("widthChars", Gtk.CellRendererText.CellRendererTextWidthCharsPropertyInfo), '("wrapMode", Gtk.CellRendererText.CellRendererTextWrapModePropertyInfo), '("wrapWidth", Gtk.CellRendererText.CellRendererTextWrapWidthPropertyInfo), '("xalign", Gtk.CellRenderer.CellRendererXalignPropertyInfo), '("xpad", Gtk.CellRenderer.CellRendererXpadPropertyInfo), '("yalign", Gtk.CellRenderer.CellRendererYalignPropertyInfo), '("ypad", Gtk.CellRenderer.CellRendererYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellRendererComboHasEntry :: AttrLabelProxy "hasEntry"
+cellRendererComboHasEntry = AttrLabelProxy
+
+cellRendererComboModel :: AttrLabelProxy "model"
+cellRendererComboModel = AttrLabelProxy
+
+cellRendererComboTextColumn :: AttrLabelProxy "textColumn"
+cellRendererComboTextColumn = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data CellRendererComboChangedSignalInfo
+instance SignalInfo CellRendererComboChangedSignalInfo where
+    type HaskellCallbackType CellRendererComboChangedSignalInfo = CellRendererComboChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellRendererComboChangedCallback cb
+        cb'' <- mk_CellRendererComboChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+type instance O.SignalList CellRendererCombo = CellRendererComboSignalList
+type CellRendererComboSignalList = ('[ '("changed", CellRendererComboChangedSignalInfo), '("edited", Gtk.CellRendererText.CellRendererTextEditedSignalInfo), '("editingCanceled", Gtk.CellRenderer.CellRendererEditingCanceledSignalInfo), '("editingStarted", Gtk.CellRenderer.CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellRendererCombo::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererCombo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_combo_new" gtk_cell_renderer_combo_new :: 
+    IO (Ptr CellRendererCombo)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellRendererCombo.CellRendererCombo'.
+Adjust how text is drawn using object properties.
+Object properties can be set globally (with @/g_object_set()/@).
+Also, with 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn', you can bind a property to a value
+in a 'GI.Gtk.Interfaces.TreeModel.TreeModel'. For example, you can bind the “text” property
+on the cell renderer to a string value in the model, thus rendering
+a different string in each row of the 'GI.Gtk.Objects.TreeView.TreeView'.
+
+/Since: 2.6/
+-}
+cellRendererComboNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellRendererCombo
+    {- ^ __Returns:__ the new cell renderer -}
+cellRendererComboNew  = liftIO $ do
+    result <- gtk_cell_renderer_combo_new
+    checkUnexpectedReturnNULL "cellRendererComboNew" result
+    result' <- (newObject CellRendererCombo) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellRendererCombo.hs-boot b/GI/Gtk/Objects/CellRendererCombo.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererCombo.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellRendererCombo where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellRendererCombo = CellRendererCombo (ManagedPtr CellRendererCombo)
+instance GObject CellRendererCombo where
+class (GObject o, O.IsDescendantOf CellRendererCombo o) => IsCellRendererCombo o
+instance (GObject o, O.IsDescendantOf CellRendererCombo o) => IsCellRendererCombo o
+instance O.HasParentTypes CellRendererCombo
+#if ENABLE_OVERLOADING
+data CellRendererComboHasEntryPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererComboModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererComboTextColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererComboChangedSignalInfo
+#endif
diff --git a/GI/Gtk/Objects/CellRendererPixbuf.hs b/GI/Gtk/Objects/CellRendererPixbuf.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererPixbuf.hs
@@ -0,0 +1,967 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.CellRendererPixbuf.CellRendererPixbuf' can be used to render an image in a cell. It allows
+to render either a given 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' (set via the
+'GI.Gtk.Objects.CellRendererPixbuf.CellRendererPixbuf':@/pixbuf/@ property) or a named icon (set via the
+'GI.Gtk.Objects.CellRendererPixbuf.CellRendererPixbuf':@/icon-name/@ property).
+
+To support the tree view, 'GI.Gtk.Objects.CellRendererPixbuf.CellRendererPixbuf' also supports rendering two
+alternative pixbufs, when the 'GI.Gtk.Objects.CellRenderer.CellRenderer':@/is-expander/@ property is 'True'.
+If the 'GI.Gtk.Objects.CellRenderer.CellRenderer':@/is-expanded/@ property is 'True' and the
+'GI.Gtk.Objects.CellRendererPixbuf.CellRendererPixbuf':@/pixbuf-expander-open/@ property is set to a pixbuf, it
+renders that pixbuf, if the 'GI.Gtk.Objects.CellRenderer.CellRenderer':@/is-expanded/@ property is 'False'
+and the 'GI.Gtk.Objects.CellRendererPixbuf.CellRendererPixbuf':@/pixbuf-expander-closed/@ property is set to a
+pixbuf, it renders that one.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellRendererPixbuf
+    ( 
+
+-- * Exported types
+    CellRendererPixbuf(..)                  ,
+    IsCellRendererPixbuf                    ,
+    toCellRendererPixbuf                    ,
+    noCellRendererPixbuf                    ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    cellRendererPixbufNew                   ,
+
+
+
+
+ -- * Properties
+-- ** followState #attr:followState#
+{- | Specifies whether the rendered pixbuf should be colorized
+according to the 'GI.Gtk.Flags.CellRendererState'.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufFollowStatePropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufFollowState           ,
+#endif
+    constructCellRendererPixbufFollowState  ,
+    getCellRendererPixbufFollowState        ,
+    setCellRendererPixbufFollowState        ,
+
+
+-- ** gicon #attr:gicon#
+{- | The GIcon representing the icon to display.
+If the icon theme is changed, the image will be updated
+automatically.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufGiconPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufGicon                 ,
+#endif
+    clearCellRendererPixbufGicon            ,
+    constructCellRendererPixbufGicon        ,
+    getCellRendererPixbufGicon              ,
+    setCellRendererPixbufGicon              ,
+
+
+-- ** iconName #attr:iconName#
+{- | The name of the themed icon to display.
+This property only has an effect if not overridden by \"stock_id\"
+or \"pixbuf\" properties.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufIconNamePropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufIconName              ,
+#endif
+    clearCellRendererPixbufIconName         ,
+    constructCellRendererPixbufIconName     ,
+    getCellRendererPixbufIconName           ,
+    setCellRendererPixbufIconName           ,
+
+
+-- ** pixbuf #attr:pixbuf#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufPixbufPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufPixbuf                ,
+#endif
+    clearCellRendererPixbufPixbuf           ,
+    constructCellRendererPixbufPixbuf       ,
+    getCellRendererPixbufPixbuf             ,
+    setCellRendererPixbufPixbuf             ,
+
+
+-- ** pixbufExpanderClosed #attr:pixbufExpanderClosed#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufPixbufExpanderClosedPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufPixbufExpanderClosed  ,
+#endif
+    clearCellRendererPixbufPixbufExpanderClosed,
+    constructCellRendererPixbufPixbufExpanderClosed,
+    getCellRendererPixbufPixbufExpanderClosed,
+    setCellRendererPixbufPixbufExpanderClosed,
+
+
+-- ** pixbufExpanderOpen #attr:pixbufExpanderOpen#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufPixbufExpanderOpenPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufPixbufExpanderOpen    ,
+#endif
+    clearCellRendererPixbufPixbufExpanderOpen,
+    constructCellRendererPixbufPixbufExpanderOpen,
+    getCellRendererPixbufPixbufExpanderOpen ,
+    setCellRendererPixbufPixbufExpanderOpen ,
+
+
+-- ** stockDetail #attr:stockDetail#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufStockDetailPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufStockDetail           ,
+#endif
+    clearCellRendererPixbufStockDetail      ,
+    constructCellRendererPixbufStockDetail  ,
+    getCellRendererPixbufStockDetail        ,
+    setCellRendererPixbufStockDetail        ,
+
+
+-- ** stockId #attr:stockId#
+{- | /No description available in the introspection data./
+
+/Since: 2.2/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufStockIdPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufStockId               ,
+#endif
+    clearCellRendererPixbufStockId          ,
+    constructCellRendererPixbufStockId      ,
+    getCellRendererPixbufStockId            ,
+    setCellRendererPixbufStockId            ,
+
+
+-- ** stockSize #attr:stockSize#
+{- | The 'GI.Gtk.Enums.IconSize' value that specifies the size of the rendered icon.
+
+/Since: 2.2/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufStockSizePropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufStockSize             ,
+#endif
+    constructCellRendererPixbufStockSize    ,
+    getCellRendererPixbufStockSize          ,
+    setCellRendererPixbufStockSize          ,
+
+
+-- ** surface #attr:surface#
+{- | /No description available in the introspection data./
+
+/Since: 3.10/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererPixbufSurfacePropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererPixbufSurface               ,
+#endif
+    clearCellRendererPixbufSurface          ,
+    constructCellRendererPixbufSurface      ,
+    getCellRendererPixbufSurface            ,
+    setCellRendererPixbufSurface            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Surface as Cairo.Surface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+
+-- | Memory-managed wrapper type.
+newtype CellRendererPixbuf = CellRendererPixbuf (ManagedPtr CellRendererPixbuf)
+foreign import ccall "gtk_cell_renderer_pixbuf_get_type"
+    c_gtk_cell_renderer_pixbuf_get_type :: IO GType
+
+instance GObject CellRendererPixbuf where
+    gobjectType = c_gtk_cell_renderer_pixbuf_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellRendererPixbuf`, for instance with `toCellRendererPixbuf`.
+class (GObject o, O.IsDescendantOf CellRendererPixbuf o) => IsCellRendererPixbuf o
+instance (GObject o, O.IsDescendantOf CellRendererPixbuf o) => IsCellRendererPixbuf o
+
+instance O.HasParentTypes CellRendererPixbuf
+type instance O.ParentTypes CellRendererPixbuf = '[Gtk.CellRenderer.CellRenderer, GObject.Object.Object]
+
+-- | Cast to `CellRendererPixbuf`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellRendererPixbuf :: (MonadIO m, IsCellRendererPixbuf o) => o -> m CellRendererPixbuf
+toCellRendererPixbuf = liftIO . unsafeCastTo CellRendererPixbuf
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellRendererPixbuf`.
+noCellRendererPixbuf :: Maybe CellRendererPixbuf
+noCellRendererPixbuf = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellRendererPixbufMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellRendererPixbufMethod "activate" o = Gtk.CellRenderer.CellRendererActivateMethodInfo
+    ResolveCellRendererPixbufMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellRendererPixbufMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellRendererPixbufMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellRendererPixbufMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellRendererPixbufMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellRendererPixbufMethod "isActivatable" o = Gtk.CellRenderer.CellRendererIsActivatableMethodInfo
+    ResolveCellRendererPixbufMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellRendererPixbufMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellRendererPixbufMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellRendererPixbufMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellRendererPixbufMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellRendererPixbufMethod "render" o = Gtk.CellRenderer.CellRendererRenderMethodInfo
+    ResolveCellRendererPixbufMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellRendererPixbufMethod "startEditing" o = Gtk.CellRenderer.CellRendererStartEditingMethodInfo
+    ResolveCellRendererPixbufMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellRendererPixbufMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellRendererPixbufMethod "stopEditing" o = Gtk.CellRenderer.CellRendererStopEditingMethodInfo
+    ResolveCellRendererPixbufMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellRendererPixbufMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellRendererPixbufMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellRendererPixbufMethod "getAlignedArea" o = Gtk.CellRenderer.CellRendererGetAlignedAreaMethodInfo
+    ResolveCellRendererPixbufMethod "getAlignment" o = Gtk.CellRenderer.CellRendererGetAlignmentMethodInfo
+    ResolveCellRendererPixbufMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellRendererPixbufMethod "getFixedSize" o = Gtk.CellRenderer.CellRendererGetFixedSizeMethodInfo
+    ResolveCellRendererPixbufMethod "getPadding" o = Gtk.CellRenderer.CellRendererGetPaddingMethodInfo
+    ResolveCellRendererPixbufMethod "getPreferredHeight" o = Gtk.CellRenderer.CellRendererGetPreferredHeightMethodInfo
+    ResolveCellRendererPixbufMethod "getPreferredHeightForWidth" o = Gtk.CellRenderer.CellRendererGetPreferredHeightForWidthMethodInfo
+    ResolveCellRendererPixbufMethod "getPreferredSize" o = Gtk.CellRenderer.CellRendererGetPreferredSizeMethodInfo
+    ResolveCellRendererPixbufMethod "getPreferredWidth" o = Gtk.CellRenderer.CellRendererGetPreferredWidthMethodInfo
+    ResolveCellRendererPixbufMethod "getPreferredWidthForHeight" o = Gtk.CellRenderer.CellRendererGetPreferredWidthForHeightMethodInfo
+    ResolveCellRendererPixbufMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellRendererPixbufMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellRendererPixbufMethod "getRequestMode" o = Gtk.CellRenderer.CellRendererGetRequestModeMethodInfo
+    ResolveCellRendererPixbufMethod "getSensitive" o = Gtk.CellRenderer.CellRendererGetSensitiveMethodInfo
+    ResolveCellRendererPixbufMethod "getSize" o = Gtk.CellRenderer.CellRendererGetSizeMethodInfo
+    ResolveCellRendererPixbufMethod "getState" o = Gtk.CellRenderer.CellRendererGetStateMethodInfo
+    ResolveCellRendererPixbufMethod "getVisible" o = Gtk.CellRenderer.CellRendererGetVisibleMethodInfo
+    ResolveCellRendererPixbufMethod "setAlignment" o = Gtk.CellRenderer.CellRendererSetAlignmentMethodInfo
+    ResolveCellRendererPixbufMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellRendererPixbufMethod "setFixedSize" o = Gtk.CellRenderer.CellRendererSetFixedSizeMethodInfo
+    ResolveCellRendererPixbufMethod "setPadding" o = Gtk.CellRenderer.CellRendererSetPaddingMethodInfo
+    ResolveCellRendererPixbufMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellRendererPixbufMethod "setSensitive" o = Gtk.CellRenderer.CellRendererSetSensitiveMethodInfo
+    ResolveCellRendererPixbufMethod "setVisible" o = Gtk.CellRenderer.CellRendererSetVisibleMethodInfo
+    ResolveCellRendererPixbufMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellRendererPixbufMethod t CellRendererPixbuf, O.MethodInfo info CellRendererPixbuf p) => OL.IsLabel t (CellRendererPixbuf -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "follow-state"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@follow-state@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #followState
+@
+-}
+getCellRendererPixbufFollowState :: (MonadIO m, IsCellRendererPixbuf o) => o -> m Bool
+getCellRendererPixbufFollowState obj = liftIO $ B.Properties.getObjectPropertyBool obj "follow-state"
+
+{- |
+Set the value of the “@follow-state@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #followState 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufFollowState :: (MonadIO m, IsCellRendererPixbuf o) => o -> Bool -> m ()
+setCellRendererPixbufFollowState obj val = liftIO $ B.Properties.setObjectPropertyBool obj "follow-state" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@follow-state@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufFollowState :: (IsCellRendererPixbuf o) => Bool -> IO (GValueConstruct o)
+constructCellRendererPixbufFollowState val = B.Properties.constructObjectPropertyBool "follow-state" val
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufFollowStatePropertyInfo
+instance AttrInfo CellRendererPixbufFollowStatePropertyInfo where
+    type AttrAllowedOps CellRendererPixbufFollowStatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererPixbufFollowStatePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererPixbufFollowStatePropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufFollowStatePropertyInfo = Bool
+    type AttrLabel CellRendererPixbufFollowStatePropertyInfo = "follow-state"
+    type AttrOrigin CellRendererPixbufFollowStatePropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufFollowState
+    attrSet _ = setCellRendererPixbufFollowState
+    attrConstruct _ = constructCellRendererPixbufFollowState
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gicon"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #gicon
+@
+-}
+getCellRendererPixbufGicon :: (MonadIO m, IsCellRendererPixbuf o) => o -> m (Maybe Gio.Icon.Icon)
+getCellRendererPixbufGicon obj = liftIO $ B.Properties.getObjectPropertyObject obj "gicon" Gio.Icon.Icon
+
+{- |
+Set the value of the “@gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #gicon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufGicon :: (MonadIO m, IsCellRendererPixbuf o, Gio.Icon.IsIcon a) => o -> a -> m ()
+setCellRendererPixbufGicon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "gicon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gicon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufGicon :: (IsCellRendererPixbuf o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
+constructCellRendererPixbufGicon val = B.Properties.constructObjectPropertyObject "gicon" (Just val)
+
+{- |
+Set the value of the “@gicon@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gicon
+@
+-}
+clearCellRendererPixbufGicon :: (MonadIO m, IsCellRendererPixbuf o) => o -> m ()
+clearCellRendererPixbufGicon obj = liftIO $ B.Properties.setObjectPropertyObject obj "gicon" (Nothing :: Maybe Gio.Icon.Icon)
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufGiconPropertyInfo
+instance AttrInfo CellRendererPixbufGiconPropertyInfo where
+    type AttrAllowedOps CellRendererPixbufGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererPixbufGiconPropertyInfo = Gio.Icon.IsIcon
+    type AttrBaseTypeConstraint CellRendererPixbufGiconPropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufGiconPropertyInfo = (Maybe Gio.Icon.Icon)
+    type AttrLabel CellRendererPixbufGiconPropertyInfo = "gicon"
+    type AttrOrigin CellRendererPixbufGiconPropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufGicon
+    attrSet _ = setCellRendererPixbufGicon
+    attrConstruct _ = constructCellRendererPixbufGicon
+    attrClear _ = clearCellRendererPixbufGicon
+#endif
+
+-- VVV Prop "icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #iconName
+@
+-}
+getCellRendererPixbufIconName :: (MonadIO m, IsCellRendererPixbuf o) => o -> m (Maybe T.Text)
+getCellRendererPixbufIconName obj = liftIO $ B.Properties.getObjectPropertyString obj "icon-name"
+
+{- |
+Set the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #iconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufIconName :: (MonadIO m, IsCellRendererPixbuf o) => o -> T.Text -> m ()
+setCellRendererPixbufIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufIconName :: (IsCellRendererPixbuf o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererPixbufIconName val = B.Properties.constructObjectPropertyString "icon-name" (Just val)
+
+{- |
+Set the value of the “@icon-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #iconName
+@
+-}
+clearCellRendererPixbufIconName :: (MonadIO m, IsCellRendererPixbuf o) => o -> m ()
+clearCellRendererPixbufIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufIconNamePropertyInfo
+instance AttrInfo CellRendererPixbufIconNamePropertyInfo where
+    type AttrAllowedOps CellRendererPixbufIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererPixbufIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererPixbufIconNamePropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufIconNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel CellRendererPixbufIconNamePropertyInfo = "icon-name"
+    type AttrOrigin CellRendererPixbufIconNamePropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufIconName
+    attrSet _ = setCellRendererPixbufIconName
+    attrConstruct _ = constructCellRendererPixbufIconName
+    attrClear _ = clearCellRendererPixbufIconName
+#endif
+
+-- VVV Prop "pixbuf"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #pixbuf
+@
+-}
+getCellRendererPixbufPixbuf :: (MonadIO m, IsCellRendererPixbuf o) => o -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+getCellRendererPixbufPixbuf obj = liftIO $ B.Properties.getObjectPropertyObject obj "pixbuf" GdkPixbuf.Pixbuf.Pixbuf
+
+{- |
+Set the value of the “@pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #pixbuf 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufPixbuf :: (MonadIO m, IsCellRendererPixbuf o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
+setCellRendererPixbufPixbuf obj val = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixbuf@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufPixbuf :: (IsCellRendererPixbuf o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
+constructCellRendererPixbufPixbuf val = B.Properties.constructObjectPropertyObject "pixbuf" (Just val)
+
+{- |
+Set the value of the “@pixbuf@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #pixbuf
+@
+-}
+clearCellRendererPixbufPixbuf :: (MonadIO m, IsCellRendererPixbuf o) => o -> m ()
+clearCellRendererPixbufPixbuf obj = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufPixbufPropertyInfo
+instance AttrInfo CellRendererPixbufPixbufPropertyInfo where
+    type AttrAllowedOps CellRendererPixbufPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererPixbufPixbufPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
+    type AttrBaseTypeConstraint CellRendererPixbufPixbufPropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufPixbufPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    type AttrLabel CellRendererPixbufPixbufPropertyInfo = "pixbuf"
+    type AttrOrigin CellRendererPixbufPixbufPropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufPixbuf
+    attrSet _ = setCellRendererPixbufPixbuf
+    attrConstruct _ = constructCellRendererPixbufPixbuf
+    attrClear _ = clearCellRendererPixbufPixbuf
+#endif
+
+-- VVV Prop "pixbuf-expander-closed"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixbuf-expander-closed@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #pixbufExpanderClosed
+@
+-}
+getCellRendererPixbufPixbufExpanderClosed :: (MonadIO m, IsCellRendererPixbuf o) => o -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+getCellRendererPixbufPixbufExpanderClosed obj = liftIO $ B.Properties.getObjectPropertyObject obj "pixbuf-expander-closed" GdkPixbuf.Pixbuf.Pixbuf
+
+{- |
+Set the value of the “@pixbuf-expander-closed@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #pixbufExpanderClosed 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufPixbufExpanderClosed :: (MonadIO m, IsCellRendererPixbuf o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
+setCellRendererPixbufPixbufExpanderClosed obj val = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf-expander-closed" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixbuf-expander-closed@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufPixbufExpanderClosed :: (IsCellRendererPixbuf o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
+constructCellRendererPixbufPixbufExpanderClosed val = B.Properties.constructObjectPropertyObject "pixbuf-expander-closed" (Just val)
+
+{- |
+Set the value of the “@pixbuf-expander-closed@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #pixbufExpanderClosed
+@
+-}
+clearCellRendererPixbufPixbufExpanderClosed :: (MonadIO m, IsCellRendererPixbuf o) => o -> m ()
+clearCellRendererPixbufPixbufExpanderClosed obj = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf-expander-closed" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufPixbufExpanderClosedPropertyInfo
+instance AttrInfo CellRendererPixbufPixbufExpanderClosedPropertyInfo where
+    type AttrAllowedOps CellRendererPixbufPixbufExpanderClosedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererPixbufPixbufExpanderClosedPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
+    type AttrBaseTypeConstraint CellRendererPixbufPixbufExpanderClosedPropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufPixbufExpanderClosedPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    type AttrLabel CellRendererPixbufPixbufExpanderClosedPropertyInfo = "pixbuf-expander-closed"
+    type AttrOrigin CellRendererPixbufPixbufExpanderClosedPropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufPixbufExpanderClosed
+    attrSet _ = setCellRendererPixbufPixbufExpanderClosed
+    attrConstruct _ = constructCellRendererPixbufPixbufExpanderClosed
+    attrClear _ = clearCellRendererPixbufPixbufExpanderClosed
+#endif
+
+-- VVV Prop "pixbuf-expander-open"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixbuf-expander-open@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #pixbufExpanderOpen
+@
+-}
+getCellRendererPixbufPixbufExpanderOpen :: (MonadIO m, IsCellRendererPixbuf o) => o -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+getCellRendererPixbufPixbufExpanderOpen obj = liftIO $ B.Properties.getObjectPropertyObject obj "pixbuf-expander-open" GdkPixbuf.Pixbuf.Pixbuf
+
+{- |
+Set the value of the “@pixbuf-expander-open@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #pixbufExpanderOpen 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufPixbufExpanderOpen :: (MonadIO m, IsCellRendererPixbuf o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
+setCellRendererPixbufPixbufExpanderOpen obj val = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf-expander-open" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixbuf-expander-open@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufPixbufExpanderOpen :: (IsCellRendererPixbuf o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
+constructCellRendererPixbufPixbufExpanderOpen val = B.Properties.constructObjectPropertyObject "pixbuf-expander-open" (Just val)
+
+{- |
+Set the value of the “@pixbuf-expander-open@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #pixbufExpanderOpen
+@
+-}
+clearCellRendererPixbufPixbufExpanderOpen :: (MonadIO m, IsCellRendererPixbuf o) => o -> m ()
+clearCellRendererPixbufPixbufExpanderOpen obj = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf-expander-open" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufPixbufExpanderOpenPropertyInfo
+instance AttrInfo CellRendererPixbufPixbufExpanderOpenPropertyInfo where
+    type AttrAllowedOps CellRendererPixbufPixbufExpanderOpenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererPixbufPixbufExpanderOpenPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
+    type AttrBaseTypeConstraint CellRendererPixbufPixbufExpanderOpenPropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufPixbufExpanderOpenPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    type AttrLabel CellRendererPixbufPixbufExpanderOpenPropertyInfo = "pixbuf-expander-open"
+    type AttrOrigin CellRendererPixbufPixbufExpanderOpenPropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufPixbufExpanderOpen
+    attrSet _ = setCellRendererPixbufPixbufExpanderOpen
+    attrConstruct _ = constructCellRendererPixbufPixbufExpanderOpen
+    attrClear _ = clearCellRendererPixbufPixbufExpanderOpen
+#endif
+
+-- VVV Prop "stock-detail"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@stock-detail@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #stockDetail
+@
+-}
+getCellRendererPixbufStockDetail :: (MonadIO m, IsCellRendererPixbuf o) => o -> m (Maybe T.Text)
+getCellRendererPixbufStockDetail obj = liftIO $ B.Properties.getObjectPropertyString obj "stock-detail"
+
+{- |
+Set the value of the “@stock-detail@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #stockDetail 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufStockDetail :: (MonadIO m, IsCellRendererPixbuf o) => o -> T.Text -> m ()
+setCellRendererPixbufStockDetail obj val = liftIO $ B.Properties.setObjectPropertyString obj "stock-detail" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stock-detail@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufStockDetail :: (IsCellRendererPixbuf o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererPixbufStockDetail val = B.Properties.constructObjectPropertyString "stock-detail" (Just val)
+
+{- |
+Set the value of the “@stock-detail@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stockDetail
+@
+-}
+clearCellRendererPixbufStockDetail :: (MonadIO m, IsCellRendererPixbuf o) => o -> m ()
+clearCellRendererPixbufStockDetail obj = liftIO $ B.Properties.setObjectPropertyString obj "stock-detail" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufStockDetailPropertyInfo
+instance AttrInfo CellRendererPixbufStockDetailPropertyInfo where
+    type AttrAllowedOps CellRendererPixbufStockDetailPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererPixbufStockDetailPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererPixbufStockDetailPropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufStockDetailPropertyInfo = (Maybe T.Text)
+    type AttrLabel CellRendererPixbufStockDetailPropertyInfo = "stock-detail"
+    type AttrOrigin CellRendererPixbufStockDetailPropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufStockDetail
+    attrSet _ = setCellRendererPixbufStockDetail
+    attrConstruct _ = constructCellRendererPixbufStockDetail
+    attrClear _ = clearCellRendererPixbufStockDetail
+#endif
+
+-- VVV Prop "stock-id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@stock-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #stockId
+@
+-}
+getCellRendererPixbufStockId :: (MonadIO m, IsCellRendererPixbuf o) => o -> m (Maybe T.Text)
+getCellRendererPixbufStockId obj = liftIO $ B.Properties.getObjectPropertyString obj "stock-id"
+
+{- |
+Set the value of the “@stock-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #stockId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufStockId :: (MonadIO m, IsCellRendererPixbuf o) => o -> T.Text -> m ()
+setCellRendererPixbufStockId obj val = liftIO $ B.Properties.setObjectPropertyString obj "stock-id" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stock-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufStockId :: (IsCellRendererPixbuf o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererPixbufStockId val = B.Properties.constructObjectPropertyString "stock-id" (Just val)
+
+{- |
+Set the value of the “@stock-id@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stockId
+@
+-}
+clearCellRendererPixbufStockId :: (MonadIO m, IsCellRendererPixbuf o) => o -> m ()
+clearCellRendererPixbufStockId obj = liftIO $ B.Properties.setObjectPropertyString obj "stock-id" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufStockIdPropertyInfo
+instance AttrInfo CellRendererPixbufStockIdPropertyInfo where
+    type AttrAllowedOps CellRendererPixbufStockIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererPixbufStockIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererPixbufStockIdPropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufStockIdPropertyInfo = (Maybe T.Text)
+    type AttrLabel CellRendererPixbufStockIdPropertyInfo = "stock-id"
+    type AttrOrigin CellRendererPixbufStockIdPropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufStockId
+    attrSet _ = setCellRendererPixbufStockId
+    attrConstruct _ = constructCellRendererPixbufStockId
+    attrClear _ = clearCellRendererPixbufStockId
+#endif
+
+-- VVV Prop "stock-size"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@stock-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #stockSize
+@
+-}
+getCellRendererPixbufStockSize :: (MonadIO m, IsCellRendererPixbuf o) => o -> m Word32
+getCellRendererPixbufStockSize obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "stock-size"
+
+{- |
+Set the value of the “@stock-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #stockSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufStockSize :: (MonadIO m, IsCellRendererPixbuf o) => o -> Word32 -> m ()
+setCellRendererPixbufStockSize obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "stock-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stock-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufStockSize :: (IsCellRendererPixbuf o) => Word32 -> IO (GValueConstruct o)
+constructCellRendererPixbufStockSize val = B.Properties.constructObjectPropertyUInt32 "stock-size" val
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufStockSizePropertyInfo
+instance AttrInfo CellRendererPixbufStockSizePropertyInfo where
+    type AttrAllowedOps CellRendererPixbufStockSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererPixbufStockSizePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CellRendererPixbufStockSizePropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufStockSizePropertyInfo = Word32
+    type AttrLabel CellRendererPixbufStockSizePropertyInfo = "stock-size"
+    type AttrOrigin CellRendererPixbufStockSizePropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufStockSize
+    attrSet _ = setCellRendererPixbufStockSize
+    attrConstruct _ = constructCellRendererPixbufStockSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "surface"
+   -- Type: TInterface (Name {namespace = "cairo", name = "Surface"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@surface@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererPixbuf #surface
+@
+-}
+getCellRendererPixbufSurface :: (MonadIO m, IsCellRendererPixbuf o) => o -> m (Maybe Cairo.Surface.Surface)
+getCellRendererPixbufSurface obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "surface" Cairo.Surface.Surface
+
+{- |
+Set the value of the “@surface@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererPixbuf [ #surface 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererPixbufSurface :: (MonadIO m, IsCellRendererPixbuf o) => o -> Cairo.Surface.Surface -> m ()
+setCellRendererPixbufSurface obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "surface" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@surface@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererPixbufSurface :: (IsCellRendererPixbuf o) => Cairo.Surface.Surface -> IO (GValueConstruct o)
+constructCellRendererPixbufSurface val = B.Properties.constructObjectPropertyBoxed "surface" (Just val)
+
+{- |
+Set the value of the “@surface@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #surface
+@
+-}
+clearCellRendererPixbufSurface :: (MonadIO m, IsCellRendererPixbuf o) => o -> m ()
+clearCellRendererPixbufSurface obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "surface" (Nothing :: Maybe Cairo.Surface.Surface)
+
+#if ENABLE_OVERLOADING
+data CellRendererPixbufSurfacePropertyInfo
+instance AttrInfo CellRendererPixbufSurfacePropertyInfo where
+    type AttrAllowedOps CellRendererPixbufSurfacePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererPixbufSurfacePropertyInfo = (~) Cairo.Surface.Surface
+    type AttrBaseTypeConstraint CellRendererPixbufSurfacePropertyInfo = IsCellRendererPixbuf
+    type AttrGetType CellRendererPixbufSurfacePropertyInfo = (Maybe Cairo.Surface.Surface)
+    type AttrLabel CellRendererPixbufSurfacePropertyInfo = "surface"
+    type AttrOrigin CellRendererPixbufSurfacePropertyInfo = CellRendererPixbuf
+    attrGet _ = getCellRendererPixbufSurface
+    attrSet _ = setCellRendererPixbufSurface
+    attrConstruct _ = constructCellRendererPixbufSurface
+    attrClear _ = clearCellRendererPixbufSurface
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellRendererPixbuf
+type instance O.AttributeList CellRendererPixbuf = CellRendererPixbufAttributeList
+type CellRendererPixbufAttributeList = ('[ '("cellBackground", Gtk.CellRenderer.CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", Gtk.CellRenderer.CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", Gtk.CellRenderer.CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", Gtk.CellRenderer.CellRendererCellBackgroundSetPropertyInfo), '("editing", Gtk.CellRenderer.CellRendererEditingPropertyInfo), '("followState", CellRendererPixbufFollowStatePropertyInfo), '("gicon", CellRendererPixbufGiconPropertyInfo), '("height", Gtk.CellRenderer.CellRendererHeightPropertyInfo), '("iconName", CellRendererPixbufIconNamePropertyInfo), '("isExpanded", Gtk.CellRenderer.CellRendererIsExpandedPropertyInfo), '("isExpander", Gtk.CellRenderer.CellRendererIsExpanderPropertyInfo), '("mode", Gtk.CellRenderer.CellRendererModePropertyInfo), '("pixbuf", CellRendererPixbufPixbufPropertyInfo), '("pixbufExpanderClosed", CellRendererPixbufPixbufExpanderClosedPropertyInfo), '("pixbufExpanderOpen", CellRendererPixbufPixbufExpanderOpenPropertyInfo), '("sensitive", Gtk.CellRenderer.CellRendererSensitivePropertyInfo), '("stockDetail", CellRendererPixbufStockDetailPropertyInfo), '("stockId", CellRendererPixbufStockIdPropertyInfo), '("stockSize", CellRendererPixbufStockSizePropertyInfo), '("surface", CellRendererPixbufSurfacePropertyInfo), '("visible", Gtk.CellRenderer.CellRendererVisiblePropertyInfo), '("width", Gtk.CellRenderer.CellRendererWidthPropertyInfo), '("xalign", Gtk.CellRenderer.CellRendererXalignPropertyInfo), '("xpad", Gtk.CellRenderer.CellRendererXpadPropertyInfo), '("yalign", Gtk.CellRenderer.CellRendererYalignPropertyInfo), '("ypad", Gtk.CellRenderer.CellRendererYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellRendererPixbufFollowState :: AttrLabelProxy "followState"
+cellRendererPixbufFollowState = AttrLabelProxy
+
+cellRendererPixbufGicon :: AttrLabelProxy "gicon"
+cellRendererPixbufGicon = AttrLabelProxy
+
+cellRendererPixbufIconName :: AttrLabelProxy "iconName"
+cellRendererPixbufIconName = AttrLabelProxy
+
+cellRendererPixbufPixbuf :: AttrLabelProxy "pixbuf"
+cellRendererPixbufPixbuf = AttrLabelProxy
+
+cellRendererPixbufPixbufExpanderClosed :: AttrLabelProxy "pixbufExpanderClosed"
+cellRendererPixbufPixbufExpanderClosed = AttrLabelProxy
+
+cellRendererPixbufPixbufExpanderOpen :: AttrLabelProxy "pixbufExpanderOpen"
+cellRendererPixbufPixbufExpanderOpen = AttrLabelProxy
+
+cellRendererPixbufStockDetail :: AttrLabelProxy "stockDetail"
+cellRendererPixbufStockDetail = AttrLabelProxy
+
+cellRendererPixbufStockId :: AttrLabelProxy "stockId"
+cellRendererPixbufStockId = AttrLabelProxy
+
+cellRendererPixbufStockSize :: AttrLabelProxy "stockSize"
+cellRendererPixbufStockSize = AttrLabelProxy
+
+cellRendererPixbufSurface :: AttrLabelProxy "surface"
+cellRendererPixbufSurface = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellRendererPixbuf = CellRendererPixbufSignalList
+type CellRendererPixbufSignalList = ('[ '("editingCanceled", Gtk.CellRenderer.CellRendererEditingCanceledSignalInfo), '("editingStarted", Gtk.CellRenderer.CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellRendererPixbuf::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererPixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_pixbuf_new" gtk_cell_renderer_pixbuf_new :: 
+    IO (Ptr CellRendererPixbuf)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellRendererPixbuf.CellRendererPixbuf'. Adjust rendering
+parameters using object properties. Object properties can be set
+globally (with @/g_object_set()/@). Also, with 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn', you
+can bind a property to a value in a 'GI.Gtk.Interfaces.TreeModel.TreeModel'. For example, you
+can bind the “pixbuf” property on the cell renderer to a pixbuf value
+in the model, thus rendering a different image in each row of the
+'GI.Gtk.Objects.TreeView.TreeView'.
+-}
+cellRendererPixbufNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellRendererPixbuf
+    {- ^ __Returns:__ the new cell renderer -}
+cellRendererPixbufNew  = liftIO $ do
+    result <- gtk_cell_renderer_pixbuf_new
+    checkUnexpectedReturnNULL "cellRendererPixbufNew" result
+    result' <- (newObject CellRendererPixbuf) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellRendererPixbuf.hs-boot b/GI/Gtk/Objects/CellRendererPixbuf.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererPixbuf.hs-boot
@@ -0,0 +1,59 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellRendererPixbuf where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellRendererPixbuf = CellRendererPixbuf (ManagedPtr CellRendererPixbuf)
+instance GObject CellRendererPixbuf where
+class (GObject o, O.IsDescendantOf CellRendererPixbuf o) => IsCellRendererPixbuf o
+instance (GObject o, O.IsDescendantOf CellRendererPixbuf o) => IsCellRendererPixbuf o
+instance O.HasParentTypes CellRendererPixbuf
+#if ENABLE_OVERLOADING
+data CellRendererPixbufFollowStatePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererPixbufGiconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererPixbufIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererPixbufPixbufPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererPixbufPixbufExpanderClosedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererPixbufPixbufExpanderOpenPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererPixbufStockDetailPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererPixbufStockIdPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererPixbufStockSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererPixbufSurfacePropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/CellRendererProgress.hs b/GI/Gtk/Objects/CellRendererProgress.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererProgress.hs
@@ -0,0 +1,621 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.CellRendererProgress.CellRendererProgress' renders a numeric value as a progress par in a cell.
+Additionally, it can display a text on top of the progress bar.
+
+The 'GI.Gtk.Objects.CellRendererProgress.CellRendererProgress' cell renderer was added in GTK+ 2.6.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellRendererProgress
+    ( 
+
+-- * Exported types
+    CellRendererProgress(..)                ,
+    IsCellRendererProgress                  ,
+    toCellRendererProgress                  ,
+    noCellRendererProgress                  ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    cellRendererProgressNew                 ,
+
+
+
+
+ -- * Properties
+-- ** inverted #attr:inverted#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererProgressInvertedPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererProgressInverted            ,
+#endif
+    constructCellRendererProgressInverted   ,
+    getCellRendererProgressInverted         ,
+    setCellRendererProgressInverted         ,
+
+
+-- ** pulse #attr:pulse#
+{- | Setting this to a non-negative value causes the cell renderer to
+enter \"activity mode\", where a block bounces back and forth to
+indicate that some progress is made, without specifying exactly how
+much.
+
+Each increment of the property causes the block to move by a little
+bit.
+
+To indicate that the activity has not started yet, set the property
+to zero. To indicate completion, set the property to @/G_MAXINT/@.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererProgressPulsePropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererProgressPulse               ,
+#endif
+    constructCellRendererProgressPulse      ,
+    getCellRendererProgressPulse            ,
+    setCellRendererProgressPulse            ,
+
+
+-- ** text #attr:text#
+{- | The \"text\" property determines the label which will be drawn
+over the progress bar. Setting this property to 'Nothing' causes the default
+label to be displayed. Setting this property to an empty string causes
+no label to be displayed.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererProgressTextPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererProgressText                ,
+#endif
+    clearCellRendererProgressText           ,
+    constructCellRendererProgressText       ,
+    getCellRendererProgressText             ,
+    setCellRendererProgressText             ,
+
+
+-- ** textXalign #attr:textXalign#
+{- | The \"text-xalign\" property controls the horizontal alignment of the
+text in the progress bar.  Valid values range from 0 (left) to 1
+(right).  Reserved for RTL layouts.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererProgressTextXalignPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererProgressTextXalign          ,
+#endif
+    constructCellRendererProgressTextXalign ,
+    getCellRendererProgressTextXalign       ,
+    setCellRendererProgressTextXalign       ,
+
+
+-- ** textYalign #attr:textYalign#
+{- | The \"text-yalign\" property controls the vertical alignment of the
+text in the progress bar.  Valid values range from 0 (top) to 1
+(bottom).
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererProgressTextYalignPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererProgressTextYalign          ,
+#endif
+    constructCellRendererProgressTextYalign ,
+    getCellRendererProgressTextYalign       ,
+    setCellRendererProgressTextYalign       ,
+
+
+-- ** value #attr:value#
+{- | The \"value\" property determines the percentage to which the
+progress bar will be \"filled in\".
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererProgressValuePropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererProgressValue               ,
+#endif
+    constructCellRendererProgressValue      ,
+    getCellRendererProgressValue            ,
+    setCellRendererProgressValue            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+
+-- | Memory-managed wrapper type.
+newtype CellRendererProgress = CellRendererProgress (ManagedPtr CellRendererProgress)
+foreign import ccall "gtk_cell_renderer_progress_get_type"
+    c_gtk_cell_renderer_progress_get_type :: IO GType
+
+instance GObject CellRendererProgress where
+    gobjectType = c_gtk_cell_renderer_progress_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellRendererProgress`, for instance with `toCellRendererProgress`.
+class (GObject o, O.IsDescendantOf CellRendererProgress o) => IsCellRendererProgress o
+instance (GObject o, O.IsDescendantOf CellRendererProgress o) => IsCellRendererProgress o
+
+instance O.HasParentTypes CellRendererProgress
+type instance O.ParentTypes CellRendererProgress = '[Gtk.CellRenderer.CellRenderer, GObject.Object.Object, Gtk.Orientable.Orientable]
+
+-- | Cast to `CellRendererProgress`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellRendererProgress :: (MonadIO m, IsCellRendererProgress o) => o -> m CellRendererProgress
+toCellRendererProgress = liftIO . unsafeCastTo CellRendererProgress
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellRendererProgress`.
+noCellRendererProgress :: Maybe CellRendererProgress
+noCellRendererProgress = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellRendererProgressMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellRendererProgressMethod "activate" o = Gtk.CellRenderer.CellRendererActivateMethodInfo
+    ResolveCellRendererProgressMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellRendererProgressMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellRendererProgressMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellRendererProgressMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellRendererProgressMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellRendererProgressMethod "isActivatable" o = Gtk.CellRenderer.CellRendererIsActivatableMethodInfo
+    ResolveCellRendererProgressMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellRendererProgressMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellRendererProgressMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellRendererProgressMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellRendererProgressMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellRendererProgressMethod "render" o = Gtk.CellRenderer.CellRendererRenderMethodInfo
+    ResolveCellRendererProgressMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellRendererProgressMethod "startEditing" o = Gtk.CellRenderer.CellRendererStartEditingMethodInfo
+    ResolveCellRendererProgressMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellRendererProgressMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellRendererProgressMethod "stopEditing" o = Gtk.CellRenderer.CellRendererStopEditingMethodInfo
+    ResolveCellRendererProgressMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellRendererProgressMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellRendererProgressMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellRendererProgressMethod "getAlignedArea" o = Gtk.CellRenderer.CellRendererGetAlignedAreaMethodInfo
+    ResolveCellRendererProgressMethod "getAlignment" o = Gtk.CellRenderer.CellRendererGetAlignmentMethodInfo
+    ResolveCellRendererProgressMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellRendererProgressMethod "getFixedSize" o = Gtk.CellRenderer.CellRendererGetFixedSizeMethodInfo
+    ResolveCellRendererProgressMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveCellRendererProgressMethod "getPadding" o = Gtk.CellRenderer.CellRendererGetPaddingMethodInfo
+    ResolveCellRendererProgressMethod "getPreferredHeight" o = Gtk.CellRenderer.CellRendererGetPreferredHeightMethodInfo
+    ResolveCellRendererProgressMethod "getPreferredHeightForWidth" o = Gtk.CellRenderer.CellRendererGetPreferredHeightForWidthMethodInfo
+    ResolveCellRendererProgressMethod "getPreferredSize" o = Gtk.CellRenderer.CellRendererGetPreferredSizeMethodInfo
+    ResolveCellRendererProgressMethod "getPreferredWidth" o = Gtk.CellRenderer.CellRendererGetPreferredWidthMethodInfo
+    ResolveCellRendererProgressMethod "getPreferredWidthForHeight" o = Gtk.CellRenderer.CellRendererGetPreferredWidthForHeightMethodInfo
+    ResolveCellRendererProgressMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellRendererProgressMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellRendererProgressMethod "getRequestMode" o = Gtk.CellRenderer.CellRendererGetRequestModeMethodInfo
+    ResolveCellRendererProgressMethod "getSensitive" o = Gtk.CellRenderer.CellRendererGetSensitiveMethodInfo
+    ResolveCellRendererProgressMethod "getSize" o = Gtk.CellRenderer.CellRendererGetSizeMethodInfo
+    ResolveCellRendererProgressMethod "getState" o = Gtk.CellRenderer.CellRendererGetStateMethodInfo
+    ResolveCellRendererProgressMethod "getVisible" o = Gtk.CellRenderer.CellRendererGetVisibleMethodInfo
+    ResolveCellRendererProgressMethod "setAlignment" o = Gtk.CellRenderer.CellRendererSetAlignmentMethodInfo
+    ResolveCellRendererProgressMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellRendererProgressMethod "setFixedSize" o = Gtk.CellRenderer.CellRendererSetFixedSizeMethodInfo
+    ResolveCellRendererProgressMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveCellRendererProgressMethod "setPadding" o = Gtk.CellRenderer.CellRendererSetPaddingMethodInfo
+    ResolveCellRendererProgressMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellRendererProgressMethod "setSensitive" o = Gtk.CellRenderer.CellRendererSetSensitiveMethodInfo
+    ResolveCellRendererProgressMethod "setVisible" o = Gtk.CellRenderer.CellRendererSetVisibleMethodInfo
+    ResolveCellRendererProgressMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellRendererProgressMethod t CellRendererProgress, O.MethodInfo info CellRendererProgress p) => OL.IsLabel t (CellRendererProgress -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "inverted"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererProgress #inverted
+@
+-}
+getCellRendererProgressInverted :: (MonadIO m, IsCellRendererProgress o) => o -> m Bool
+getCellRendererProgressInverted obj = liftIO $ B.Properties.getObjectPropertyBool obj "inverted"
+
+{- |
+Set the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererProgress [ #inverted 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererProgressInverted :: (MonadIO m, IsCellRendererProgress o) => o -> Bool -> m ()
+setCellRendererProgressInverted obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inverted" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inverted@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererProgressInverted :: (IsCellRendererProgress o) => Bool -> IO (GValueConstruct o)
+constructCellRendererProgressInverted val = B.Properties.constructObjectPropertyBool "inverted" val
+
+#if ENABLE_OVERLOADING
+data CellRendererProgressInvertedPropertyInfo
+instance AttrInfo CellRendererProgressInvertedPropertyInfo where
+    type AttrAllowedOps CellRendererProgressInvertedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererProgressInvertedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererProgressInvertedPropertyInfo = IsCellRendererProgress
+    type AttrGetType CellRendererProgressInvertedPropertyInfo = Bool
+    type AttrLabel CellRendererProgressInvertedPropertyInfo = "inverted"
+    type AttrOrigin CellRendererProgressInvertedPropertyInfo = CellRendererProgress
+    attrGet _ = getCellRendererProgressInverted
+    attrSet _ = setCellRendererProgressInverted
+    attrConstruct _ = constructCellRendererProgressInverted
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pulse"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pulse@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererProgress #pulse
+@
+-}
+getCellRendererProgressPulse :: (MonadIO m, IsCellRendererProgress o) => o -> m Int32
+getCellRendererProgressPulse obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "pulse"
+
+{- |
+Set the value of the “@pulse@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererProgress [ #pulse 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererProgressPulse :: (MonadIO m, IsCellRendererProgress o) => o -> Int32 -> m ()
+setCellRendererProgressPulse obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "pulse" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pulse@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererProgressPulse :: (IsCellRendererProgress o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererProgressPulse val = B.Properties.constructObjectPropertyInt32 "pulse" val
+
+#if ENABLE_OVERLOADING
+data CellRendererProgressPulsePropertyInfo
+instance AttrInfo CellRendererProgressPulsePropertyInfo where
+    type AttrAllowedOps CellRendererProgressPulsePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererProgressPulsePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererProgressPulsePropertyInfo = IsCellRendererProgress
+    type AttrGetType CellRendererProgressPulsePropertyInfo = Int32
+    type AttrLabel CellRendererProgressPulsePropertyInfo = "pulse"
+    type AttrOrigin CellRendererProgressPulsePropertyInfo = CellRendererProgress
+    attrGet _ = getCellRendererProgressPulse
+    attrSet _ = setCellRendererProgressPulse
+    attrConstruct _ = constructCellRendererProgressPulse
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererProgress #text
+@
+-}
+getCellRendererProgressText :: (MonadIO m, IsCellRendererProgress o) => o -> m (Maybe T.Text)
+getCellRendererProgressText obj = liftIO $ B.Properties.getObjectPropertyString obj "text"
+
+{- |
+Set the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererProgress [ #text 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererProgressText :: (MonadIO m, IsCellRendererProgress o) => o -> T.Text -> m ()
+setCellRendererProgressText obj val = liftIO $ B.Properties.setObjectPropertyString obj "text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererProgressText :: (IsCellRendererProgress o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererProgressText val = B.Properties.constructObjectPropertyString "text" (Just val)
+
+{- |
+Set the value of the “@text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #text
+@
+-}
+clearCellRendererProgressText :: (MonadIO m, IsCellRendererProgress o) => o -> m ()
+clearCellRendererProgressText obj = liftIO $ B.Properties.setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererProgressTextPropertyInfo
+instance AttrInfo CellRendererProgressTextPropertyInfo where
+    type AttrAllowedOps CellRendererProgressTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererProgressTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererProgressTextPropertyInfo = IsCellRendererProgress
+    type AttrGetType CellRendererProgressTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel CellRendererProgressTextPropertyInfo = "text"
+    type AttrOrigin CellRendererProgressTextPropertyInfo = CellRendererProgress
+    attrGet _ = getCellRendererProgressText
+    attrSet _ = setCellRendererProgressText
+    attrConstruct _ = constructCellRendererProgressText
+    attrClear _ = clearCellRendererProgressText
+#endif
+
+-- VVV Prop "text-xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text-xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererProgress #textXalign
+@
+-}
+getCellRendererProgressTextXalign :: (MonadIO m, IsCellRendererProgress o) => o -> m Float
+getCellRendererProgressTextXalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "text-xalign"
+
+{- |
+Set the value of the “@text-xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererProgress [ #textXalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererProgressTextXalign :: (MonadIO m, IsCellRendererProgress o) => o -> Float -> m ()
+setCellRendererProgressTextXalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "text-xalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text-xalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererProgressTextXalign :: (IsCellRendererProgress o) => Float -> IO (GValueConstruct o)
+constructCellRendererProgressTextXalign val = B.Properties.constructObjectPropertyFloat "text-xalign" val
+
+#if ENABLE_OVERLOADING
+data CellRendererProgressTextXalignPropertyInfo
+instance AttrInfo CellRendererProgressTextXalignPropertyInfo where
+    type AttrAllowedOps CellRendererProgressTextXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererProgressTextXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint CellRendererProgressTextXalignPropertyInfo = IsCellRendererProgress
+    type AttrGetType CellRendererProgressTextXalignPropertyInfo = Float
+    type AttrLabel CellRendererProgressTextXalignPropertyInfo = "text-xalign"
+    type AttrOrigin CellRendererProgressTextXalignPropertyInfo = CellRendererProgress
+    attrGet _ = getCellRendererProgressTextXalign
+    attrSet _ = setCellRendererProgressTextXalign
+    attrConstruct _ = constructCellRendererProgressTextXalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text-yalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text-yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererProgress #textYalign
+@
+-}
+getCellRendererProgressTextYalign :: (MonadIO m, IsCellRendererProgress o) => o -> m Float
+getCellRendererProgressTextYalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "text-yalign"
+
+{- |
+Set the value of the “@text-yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererProgress [ #textYalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererProgressTextYalign :: (MonadIO m, IsCellRendererProgress o) => o -> Float -> m ()
+setCellRendererProgressTextYalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "text-yalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text-yalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererProgressTextYalign :: (IsCellRendererProgress o) => Float -> IO (GValueConstruct o)
+constructCellRendererProgressTextYalign val = B.Properties.constructObjectPropertyFloat "text-yalign" val
+
+#if ENABLE_OVERLOADING
+data CellRendererProgressTextYalignPropertyInfo
+instance AttrInfo CellRendererProgressTextYalignPropertyInfo where
+    type AttrAllowedOps CellRendererProgressTextYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererProgressTextYalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint CellRendererProgressTextYalignPropertyInfo = IsCellRendererProgress
+    type AttrGetType CellRendererProgressTextYalignPropertyInfo = Float
+    type AttrLabel CellRendererProgressTextYalignPropertyInfo = "text-yalign"
+    type AttrOrigin CellRendererProgressTextYalignPropertyInfo = CellRendererProgress
+    attrGet _ = getCellRendererProgressTextYalign
+    attrSet _ = setCellRendererProgressTextYalign
+    attrConstruct _ = constructCellRendererProgressTextYalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "value"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererProgress #value
+@
+-}
+getCellRendererProgressValue :: (MonadIO m, IsCellRendererProgress o) => o -> m Int32
+getCellRendererProgressValue obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "value"
+
+{- |
+Set the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererProgress [ #value 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererProgressValue :: (MonadIO m, IsCellRendererProgress o) => o -> Int32 -> m ()
+setCellRendererProgressValue obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererProgressValue :: (IsCellRendererProgress o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererProgressValue val = B.Properties.constructObjectPropertyInt32 "value" val
+
+#if ENABLE_OVERLOADING
+data CellRendererProgressValuePropertyInfo
+instance AttrInfo CellRendererProgressValuePropertyInfo where
+    type AttrAllowedOps CellRendererProgressValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererProgressValuePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererProgressValuePropertyInfo = IsCellRendererProgress
+    type AttrGetType CellRendererProgressValuePropertyInfo = Int32
+    type AttrLabel CellRendererProgressValuePropertyInfo = "value"
+    type AttrOrigin CellRendererProgressValuePropertyInfo = CellRendererProgress
+    attrGet _ = getCellRendererProgressValue
+    attrSet _ = setCellRendererProgressValue
+    attrConstruct _ = constructCellRendererProgressValue
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellRendererProgress
+type instance O.AttributeList CellRendererProgress = CellRendererProgressAttributeList
+type CellRendererProgressAttributeList = ('[ '("cellBackground", Gtk.CellRenderer.CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", Gtk.CellRenderer.CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", Gtk.CellRenderer.CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", Gtk.CellRenderer.CellRendererCellBackgroundSetPropertyInfo), '("editing", Gtk.CellRenderer.CellRendererEditingPropertyInfo), '("height", Gtk.CellRenderer.CellRendererHeightPropertyInfo), '("inverted", CellRendererProgressInvertedPropertyInfo), '("isExpanded", Gtk.CellRenderer.CellRendererIsExpandedPropertyInfo), '("isExpander", Gtk.CellRenderer.CellRendererIsExpanderPropertyInfo), '("mode", Gtk.CellRenderer.CellRendererModePropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("pulse", CellRendererProgressPulsePropertyInfo), '("sensitive", Gtk.CellRenderer.CellRendererSensitivePropertyInfo), '("text", CellRendererProgressTextPropertyInfo), '("textXalign", CellRendererProgressTextXalignPropertyInfo), '("textYalign", CellRendererProgressTextYalignPropertyInfo), '("value", CellRendererProgressValuePropertyInfo), '("visible", Gtk.CellRenderer.CellRendererVisiblePropertyInfo), '("width", Gtk.CellRenderer.CellRendererWidthPropertyInfo), '("xalign", Gtk.CellRenderer.CellRendererXalignPropertyInfo), '("xpad", Gtk.CellRenderer.CellRendererXpadPropertyInfo), '("yalign", Gtk.CellRenderer.CellRendererYalignPropertyInfo), '("ypad", Gtk.CellRenderer.CellRendererYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellRendererProgressInverted :: AttrLabelProxy "inverted"
+cellRendererProgressInverted = AttrLabelProxy
+
+cellRendererProgressPulse :: AttrLabelProxy "pulse"
+cellRendererProgressPulse = AttrLabelProxy
+
+cellRendererProgressText :: AttrLabelProxy "text"
+cellRendererProgressText = AttrLabelProxy
+
+cellRendererProgressTextXalign :: AttrLabelProxy "textXalign"
+cellRendererProgressTextXalign = AttrLabelProxy
+
+cellRendererProgressTextYalign :: AttrLabelProxy "textYalign"
+cellRendererProgressTextYalign = AttrLabelProxy
+
+cellRendererProgressValue :: AttrLabelProxy "value"
+cellRendererProgressValue = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellRendererProgress = CellRendererProgressSignalList
+type CellRendererProgressSignalList = ('[ '("editingCanceled", Gtk.CellRenderer.CellRendererEditingCanceledSignalInfo), '("editingStarted", Gtk.CellRenderer.CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellRendererProgress::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererProgress"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_progress_new" gtk_cell_renderer_progress_new :: 
+    IO (Ptr CellRendererProgress)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellRendererProgress.CellRendererProgress'.
+
+/Since: 2.6/
+-}
+cellRendererProgressNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellRendererProgress
+    {- ^ __Returns:__ the new cell renderer -}
+cellRendererProgressNew  = liftIO $ do
+    result <- gtk_cell_renderer_progress_new
+    checkUnexpectedReturnNULL "cellRendererProgressNew" result
+    result' <- (newObject CellRendererProgress) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellRendererProgress.hs-boot b/GI/Gtk/Objects/CellRendererProgress.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererProgress.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellRendererProgress where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellRendererProgress = CellRendererProgress (ManagedPtr CellRendererProgress)
+instance GObject CellRendererProgress where
+class (GObject o, O.IsDescendantOf CellRendererProgress o) => IsCellRendererProgress o
+instance (GObject o, O.IsDescendantOf CellRendererProgress o) => IsCellRendererProgress o
+instance O.HasParentTypes CellRendererProgress
+#if ENABLE_OVERLOADING
+data CellRendererProgressInvertedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererProgressPulsePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererProgressTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererProgressTextXalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererProgressTextYalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererProgressValuePropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/CellRendererSpin.hs b/GI/Gtk/Objects/CellRendererSpin.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererSpin.hs
@@ -0,0 +1,415 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.CellRendererSpin.CellRendererSpin' renders text in a cell like 'GI.Gtk.Objects.CellRendererText.CellRendererText' from
+which it is derived. But while 'GI.Gtk.Objects.CellRendererText.CellRendererText' offers a simple entry to
+edit the text, 'GI.Gtk.Objects.CellRendererSpin.CellRendererSpin' offers a 'GI.Gtk.Objects.SpinButton.SpinButton' widget. Of course,
+that means that the text has to be parseable as a floating point number.
+
+The range of the spinbutton is taken from the adjustment property of the
+cell renderer, which can be set explicitly or mapped to a column in the
+tree model, like all properties of cell renders. 'GI.Gtk.Objects.CellRendererSpin.CellRendererSpin'
+also has properties for the 'GI.Gtk.Objects.CellRendererSpin.CellRendererSpin':@/climb-rate/@ and the number
+of 'GI.Gtk.Objects.CellRendererSpin.CellRendererSpin':@/digits/@ to display. Other 'GI.Gtk.Objects.SpinButton.SpinButton' properties
+can be set in a handler for the 'GI.Gtk.Objects.CellRenderer.CellRenderer'::@/editing-started/@ signal.
+
+The 'GI.Gtk.Objects.CellRendererSpin.CellRendererSpin' cell renderer was added in GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellRendererSpin
+    ( 
+
+-- * Exported types
+    CellRendererSpin(..)                    ,
+    IsCellRendererSpin                      ,
+    toCellRendererSpin                      ,
+    noCellRendererSpin                      ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    cellRendererSpinNew                     ,
+
+
+
+
+ -- * Properties
+-- ** adjustment #attr:adjustment#
+{- | The adjustment that holds the value of the spinbutton.
+This must be non-'Nothing' for the cell renderer to be editable.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererSpinAdjustmentPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererSpinAdjustment              ,
+#endif
+    clearCellRendererSpinAdjustment         ,
+    constructCellRendererSpinAdjustment     ,
+    getCellRendererSpinAdjustment           ,
+    setCellRendererSpinAdjustment           ,
+
+
+-- ** climbRate #attr:climbRate#
+{- | The acceleration rate when you hold down a button.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererSpinClimbRatePropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererSpinClimbRate               ,
+#endif
+    constructCellRendererSpinClimbRate      ,
+    getCellRendererSpinClimbRate            ,
+    setCellRendererSpinClimbRate            ,
+
+
+-- ** digits #attr:digits#
+{- | The number of decimal places to display.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererSpinDigitsPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererSpinDigits                  ,
+#endif
+    constructCellRendererSpinDigits         ,
+    getCellRendererSpinDigits               ,
+    setCellRendererSpinDigits               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRendererText as Gtk.CellRendererText
+
+-- | Memory-managed wrapper type.
+newtype CellRendererSpin = CellRendererSpin (ManagedPtr CellRendererSpin)
+foreign import ccall "gtk_cell_renderer_spin_get_type"
+    c_gtk_cell_renderer_spin_get_type :: IO GType
+
+instance GObject CellRendererSpin where
+    gobjectType = c_gtk_cell_renderer_spin_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellRendererSpin`, for instance with `toCellRendererSpin`.
+class (GObject o, O.IsDescendantOf CellRendererSpin o) => IsCellRendererSpin o
+instance (GObject o, O.IsDescendantOf CellRendererSpin o) => IsCellRendererSpin o
+
+instance O.HasParentTypes CellRendererSpin
+type instance O.ParentTypes CellRendererSpin = '[Gtk.CellRendererText.CellRendererText, Gtk.CellRenderer.CellRenderer, GObject.Object.Object]
+
+-- | Cast to `CellRendererSpin`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellRendererSpin :: (MonadIO m, IsCellRendererSpin o) => o -> m CellRendererSpin
+toCellRendererSpin = liftIO . unsafeCastTo CellRendererSpin
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellRendererSpin`.
+noCellRendererSpin :: Maybe CellRendererSpin
+noCellRendererSpin = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellRendererSpinMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellRendererSpinMethod "activate" o = Gtk.CellRenderer.CellRendererActivateMethodInfo
+    ResolveCellRendererSpinMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellRendererSpinMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellRendererSpinMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellRendererSpinMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellRendererSpinMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellRendererSpinMethod "isActivatable" o = Gtk.CellRenderer.CellRendererIsActivatableMethodInfo
+    ResolveCellRendererSpinMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellRendererSpinMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellRendererSpinMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellRendererSpinMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellRendererSpinMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellRendererSpinMethod "render" o = Gtk.CellRenderer.CellRendererRenderMethodInfo
+    ResolveCellRendererSpinMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellRendererSpinMethod "startEditing" o = Gtk.CellRenderer.CellRendererStartEditingMethodInfo
+    ResolveCellRendererSpinMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellRendererSpinMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellRendererSpinMethod "stopEditing" o = Gtk.CellRenderer.CellRendererStopEditingMethodInfo
+    ResolveCellRendererSpinMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellRendererSpinMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellRendererSpinMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellRendererSpinMethod "getAlignedArea" o = Gtk.CellRenderer.CellRendererGetAlignedAreaMethodInfo
+    ResolveCellRendererSpinMethod "getAlignment" o = Gtk.CellRenderer.CellRendererGetAlignmentMethodInfo
+    ResolveCellRendererSpinMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellRendererSpinMethod "getFixedSize" o = Gtk.CellRenderer.CellRendererGetFixedSizeMethodInfo
+    ResolveCellRendererSpinMethod "getPadding" o = Gtk.CellRenderer.CellRendererGetPaddingMethodInfo
+    ResolveCellRendererSpinMethod "getPreferredHeight" o = Gtk.CellRenderer.CellRendererGetPreferredHeightMethodInfo
+    ResolveCellRendererSpinMethod "getPreferredHeightForWidth" o = Gtk.CellRenderer.CellRendererGetPreferredHeightForWidthMethodInfo
+    ResolveCellRendererSpinMethod "getPreferredSize" o = Gtk.CellRenderer.CellRendererGetPreferredSizeMethodInfo
+    ResolveCellRendererSpinMethod "getPreferredWidth" o = Gtk.CellRenderer.CellRendererGetPreferredWidthMethodInfo
+    ResolveCellRendererSpinMethod "getPreferredWidthForHeight" o = Gtk.CellRenderer.CellRendererGetPreferredWidthForHeightMethodInfo
+    ResolveCellRendererSpinMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellRendererSpinMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellRendererSpinMethod "getRequestMode" o = Gtk.CellRenderer.CellRendererGetRequestModeMethodInfo
+    ResolveCellRendererSpinMethod "getSensitive" o = Gtk.CellRenderer.CellRendererGetSensitiveMethodInfo
+    ResolveCellRendererSpinMethod "getSize" o = Gtk.CellRenderer.CellRendererGetSizeMethodInfo
+    ResolveCellRendererSpinMethod "getState" o = Gtk.CellRenderer.CellRendererGetStateMethodInfo
+    ResolveCellRendererSpinMethod "getVisible" o = Gtk.CellRenderer.CellRendererGetVisibleMethodInfo
+    ResolveCellRendererSpinMethod "setAlignment" o = Gtk.CellRenderer.CellRendererSetAlignmentMethodInfo
+    ResolveCellRendererSpinMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellRendererSpinMethod "setFixedHeightFromFont" o = Gtk.CellRendererText.CellRendererTextSetFixedHeightFromFontMethodInfo
+    ResolveCellRendererSpinMethod "setFixedSize" o = Gtk.CellRenderer.CellRendererSetFixedSizeMethodInfo
+    ResolveCellRendererSpinMethod "setPadding" o = Gtk.CellRenderer.CellRendererSetPaddingMethodInfo
+    ResolveCellRendererSpinMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellRendererSpinMethod "setSensitive" o = Gtk.CellRenderer.CellRendererSetSensitiveMethodInfo
+    ResolveCellRendererSpinMethod "setVisible" o = Gtk.CellRenderer.CellRendererSetVisibleMethodInfo
+    ResolveCellRendererSpinMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellRendererSpinMethod t CellRendererSpin, O.MethodInfo info CellRendererSpin p) => OL.IsLabel t (CellRendererSpin -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "adjustment"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@adjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererSpin #adjustment
+@
+-}
+getCellRendererSpinAdjustment :: (MonadIO m, IsCellRendererSpin o) => o -> m (Maybe Gtk.Adjustment.Adjustment)
+getCellRendererSpinAdjustment obj = liftIO $ B.Properties.getObjectPropertyObject obj "adjustment" Gtk.Adjustment.Adjustment
+
+{- |
+Set the value of the “@adjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererSpin [ #adjustment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererSpinAdjustment :: (MonadIO m, IsCellRendererSpin o, Gtk.Adjustment.IsAdjustment a) => o -> a -> m ()
+setCellRendererSpinAdjustment obj val = liftIO $ B.Properties.setObjectPropertyObject obj "adjustment" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@adjustment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererSpinAdjustment :: (IsCellRendererSpin o, Gtk.Adjustment.IsAdjustment a) => a -> IO (GValueConstruct o)
+constructCellRendererSpinAdjustment val = B.Properties.constructObjectPropertyObject "adjustment" (Just val)
+
+{- |
+Set the value of the “@adjustment@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #adjustment
+@
+-}
+clearCellRendererSpinAdjustment :: (MonadIO m, IsCellRendererSpin o) => o -> m ()
+clearCellRendererSpinAdjustment obj = liftIO $ B.Properties.setObjectPropertyObject obj "adjustment" (Nothing :: Maybe Gtk.Adjustment.Adjustment)
+
+#if ENABLE_OVERLOADING
+data CellRendererSpinAdjustmentPropertyInfo
+instance AttrInfo CellRendererSpinAdjustmentPropertyInfo where
+    type AttrAllowedOps CellRendererSpinAdjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererSpinAdjustmentPropertyInfo = Gtk.Adjustment.IsAdjustment
+    type AttrBaseTypeConstraint CellRendererSpinAdjustmentPropertyInfo = IsCellRendererSpin
+    type AttrGetType CellRendererSpinAdjustmentPropertyInfo = (Maybe Gtk.Adjustment.Adjustment)
+    type AttrLabel CellRendererSpinAdjustmentPropertyInfo = "adjustment"
+    type AttrOrigin CellRendererSpinAdjustmentPropertyInfo = CellRendererSpin
+    attrGet _ = getCellRendererSpinAdjustment
+    attrSet _ = setCellRendererSpinAdjustment
+    attrConstruct _ = constructCellRendererSpinAdjustment
+    attrClear _ = clearCellRendererSpinAdjustment
+#endif
+
+-- VVV Prop "climb-rate"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@climb-rate@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererSpin #climbRate
+@
+-}
+getCellRendererSpinClimbRate :: (MonadIO m, IsCellRendererSpin o) => o -> m Double
+getCellRendererSpinClimbRate obj = liftIO $ B.Properties.getObjectPropertyDouble obj "climb-rate"
+
+{- |
+Set the value of the “@climb-rate@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererSpin [ #climbRate 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererSpinClimbRate :: (MonadIO m, IsCellRendererSpin o) => o -> Double -> m ()
+setCellRendererSpinClimbRate obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "climb-rate" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@climb-rate@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererSpinClimbRate :: (IsCellRendererSpin o) => Double -> IO (GValueConstruct o)
+constructCellRendererSpinClimbRate val = B.Properties.constructObjectPropertyDouble "climb-rate" val
+
+#if ENABLE_OVERLOADING
+data CellRendererSpinClimbRatePropertyInfo
+instance AttrInfo CellRendererSpinClimbRatePropertyInfo where
+    type AttrAllowedOps CellRendererSpinClimbRatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererSpinClimbRatePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint CellRendererSpinClimbRatePropertyInfo = IsCellRendererSpin
+    type AttrGetType CellRendererSpinClimbRatePropertyInfo = Double
+    type AttrLabel CellRendererSpinClimbRatePropertyInfo = "climb-rate"
+    type AttrOrigin CellRendererSpinClimbRatePropertyInfo = CellRendererSpin
+    attrGet _ = getCellRendererSpinClimbRate
+    attrSet _ = setCellRendererSpinClimbRate
+    attrConstruct _ = constructCellRendererSpinClimbRate
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "digits"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@digits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererSpin #digits
+@
+-}
+getCellRendererSpinDigits :: (MonadIO m, IsCellRendererSpin o) => o -> m Word32
+getCellRendererSpinDigits obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "digits"
+
+{- |
+Set the value of the “@digits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererSpin [ #digits 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererSpinDigits :: (MonadIO m, IsCellRendererSpin o) => o -> Word32 -> m ()
+setCellRendererSpinDigits obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "digits" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@digits@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererSpinDigits :: (IsCellRendererSpin o) => Word32 -> IO (GValueConstruct o)
+constructCellRendererSpinDigits val = B.Properties.constructObjectPropertyUInt32 "digits" val
+
+#if ENABLE_OVERLOADING
+data CellRendererSpinDigitsPropertyInfo
+instance AttrInfo CellRendererSpinDigitsPropertyInfo where
+    type AttrAllowedOps CellRendererSpinDigitsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererSpinDigitsPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CellRendererSpinDigitsPropertyInfo = IsCellRendererSpin
+    type AttrGetType CellRendererSpinDigitsPropertyInfo = Word32
+    type AttrLabel CellRendererSpinDigitsPropertyInfo = "digits"
+    type AttrOrigin CellRendererSpinDigitsPropertyInfo = CellRendererSpin
+    attrGet _ = getCellRendererSpinDigits
+    attrSet _ = setCellRendererSpinDigits
+    attrConstruct _ = constructCellRendererSpinDigits
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellRendererSpin
+type instance O.AttributeList CellRendererSpin = CellRendererSpinAttributeList
+type CellRendererSpinAttributeList = ('[ '("adjustment", CellRendererSpinAdjustmentPropertyInfo), '("alignSet", Gtk.CellRendererText.CellRendererTextAlignSetPropertyInfo), '("alignment", Gtk.CellRendererText.CellRendererTextAlignmentPropertyInfo), '("attributes", Gtk.CellRendererText.CellRendererTextAttributesPropertyInfo), '("background", Gtk.CellRendererText.CellRendererTextBackgroundPropertyInfo), '("backgroundGdk", Gtk.CellRendererText.CellRendererTextBackgroundGdkPropertyInfo), '("backgroundRgba", Gtk.CellRendererText.CellRendererTextBackgroundRgbaPropertyInfo), '("backgroundSet", Gtk.CellRendererText.CellRendererTextBackgroundSetPropertyInfo), '("cellBackground", Gtk.CellRenderer.CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", Gtk.CellRenderer.CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", Gtk.CellRenderer.CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", Gtk.CellRenderer.CellRendererCellBackgroundSetPropertyInfo), '("climbRate", CellRendererSpinClimbRatePropertyInfo), '("digits", CellRendererSpinDigitsPropertyInfo), '("editable", Gtk.CellRendererText.CellRendererTextEditablePropertyInfo), '("editableSet", Gtk.CellRendererText.CellRendererTextEditableSetPropertyInfo), '("editing", Gtk.CellRenderer.CellRendererEditingPropertyInfo), '("ellipsize", Gtk.CellRendererText.CellRendererTextEllipsizePropertyInfo), '("ellipsizeSet", Gtk.CellRendererText.CellRendererTextEllipsizeSetPropertyInfo), '("family", Gtk.CellRendererText.CellRendererTextFamilyPropertyInfo), '("familySet", Gtk.CellRendererText.CellRendererTextFamilySetPropertyInfo), '("font", Gtk.CellRendererText.CellRendererTextFontPropertyInfo), '("fontDesc", Gtk.CellRendererText.CellRendererTextFontDescPropertyInfo), '("foreground", Gtk.CellRendererText.CellRendererTextForegroundPropertyInfo), '("foregroundGdk", Gtk.CellRendererText.CellRendererTextForegroundGdkPropertyInfo), '("foregroundRgba", Gtk.CellRendererText.CellRendererTextForegroundRgbaPropertyInfo), '("foregroundSet", Gtk.CellRendererText.CellRendererTextForegroundSetPropertyInfo), '("height", Gtk.CellRenderer.CellRendererHeightPropertyInfo), '("isExpanded", Gtk.CellRenderer.CellRendererIsExpandedPropertyInfo), '("isExpander", Gtk.CellRenderer.CellRendererIsExpanderPropertyInfo), '("language", Gtk.CellRendererText.CellRendererTextLanguagePropertyInfo), '("languageSet", Gtk.CellRendererText.CellRendererTextLanguageSetPropertyInfo), '("markup", Gtk.CellRendererText.CellRendererTextMarkupPropertyInfo), '("maxWidthChars", Gtk.CellRendererText.CellRendererTextMaxWidthCharsPropertyInfo), '("mode", Gtk.CellRenderer.CellRendererModePropertyInfo), '("placeholderText", Gtk.CellRendererText.CellRendererTextPlaceholderTextPropertyInfo), '("rise", Gtk.CellRendererText.CellRendererTextRisePropertyInfo), '("riseSet", Gtk.CellRendererText.CellRendererTextRiseSetPropertyInfo), '("scale", Gtk.CellRendererText.CellRendererTextScalePropertyInfo), '("scaleSet", Gtk.CellRendererText.CellRendererTextScaleSetPropertyInfo), '("sensitive", Gtk.CellRenderer.CellRendererSensitivePropertyInfo), '("singleParagraphMode", Gtk.CellRendererText.CellRendererTextSingleParagraphModePropertyInfo), '("size", Gtk.CellRendererText.CellRendererTextSizePropertyInfo), '("sizePoints", Gtk.CellRendererText.CellRendererTextSizePointsPropertyInfo), '("sizeSet", Gtk.CellRendererText.CellRendererTextSizeSetPropertyInfo), '("stretch", Gtk.CellRendererText.CellRendererTextStretchPropertyInfo), '("stretchSet", Gtk.CellRendererText.CellRendererTextStretchSetPropertyInfo), '("strikethrough", Gtk.CellRendererText.CellRendererTextStrikethroughPropertyInfo), '("strikethroughSet", Gtk.CellRendererText.CellRendererTextStrikethroughSetPropertyInfo), '("style", Gtk.CellRendererText.CellRendererTextStylePropertyInfo), '("styleSet", Gtk.CellRendererText.CellRendererTextStyleSetPropertyInfo), '("text", Gtk.CellRendererText.CellRendererTextTextPropertyInfo), '("underline", Gtk.CellRendererText.CellRendererTextUnderlinePropertyInfo), '("underlineSet", Gtk.CellRendererText.CellRendererTextUnderlineSetPropertyInfo), '("variant", Gtk.CellRendererText.CellRendererTextVariantPropertyInfo), '("variantSet", Gtk.CellRendererText.CellRendererTextVariantSetPropertyInfo), '("visible", Gtk.CellRenderer.CellRendererVisiblePropertyInfo), '("weight", Gtk.CellRendererText.CellRendererTextWeightPropertyInfo), '("weightSet", Gtk.CellRendererText.CellRendererTextWeightSetPropertyInfo), '("width", Gtk.CellRenderer.CellRendererWidthPropertyInfo), '("widthChars", Gtk.CellRendererText.CellRendererTextWidthCharsPropertyInfo), '("wrapMode", Gtk.CellRendererText.CellRendererTextWrapModePropertyInfo), '("wrapWidth", Gtk.CellRendererText.CellRendererTextWrapWidthPropertyInfo), '("xalign", Gtk.CellRenderer.CellRendererXalignPropertyInfo), '("xpad", Gtk.CellRenderer.CellRendererXpadPropertyInfo), '("yalign", Gtk.CellRenderer.CellRendererYalignPropertyInfo), '("ypad", Gtk.CellRenderer.CellRendererYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellRendererSpinAdjustment :: AttrLabelProxy "adjustment"
+cellRendererSpinAdjustment = AttrLabelProxy
+
+cellRendererSpinClimbRate :: AttrLabelProxy "climbRate"
+cellRendererSpinClimbRate = AttrLabelProxy
+
+cellRendererSpinDigits :: AttrLabelProxy "digits"
+cellRendererSpinDigits = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellRendererSpin = CellRendererSpinSignalList
+type CellRendererSpinSignalList = ('[ '("edited", Gtk.CellRendererText.CellRendererTextEditedSignalInfo), '("editingCanceled", Gtk.CellRenderer.CellRendererEditingCanceledSignalInfo), '("editingStarted", Gtk.CellRenderer.CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellRendererSpin::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererSpin"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_spin_new" gtk_cell_renderer_spin_new :: 
+    IO (Ptr CellRendererSpin)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellRendererSpin.CellRendererSpin'.
+
+/Since: 2.10/
+-}
+cellRendererSpinNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellRendererSpin
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.CellRendererSpin.CellRendererSpin' -}
+cellRendererSpinNew  = liftIO $ do
+    result <- gtk_cell_renderer_spin_new
+    checkUnexpectedReturnNULL "cellRendererSpinNew" result
+    result' <- (newObject CellRendererSpin) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellRendererSpin.hs-boot b/GI/Gtk/Objects/CellRendererSpin.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererSpin.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellRendererSpin where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellRendererSpin = CellRendererSpin (ManagedPtr CellRendererSpin)
+instance GObject CellRendererSpin where
+class (GObject o, O.IsDescendantOf CellRendererSpin o) => IsCellRendererSpin o
+instance (GObject o, O.IsDescendantOf CellRendererSpin o) => IsCellRendererSpin o
+instance O.HasParentTypes CellRendererSpin
+#if ENABLE_OVERLOADING
+data CellRendererSpinAdjustmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSpinClimbRatePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSpinDigitsPropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/CellRendererSpinner.hs b/GI/Gtk/Objects/CellRendererSpinner.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererSpinner.hs
@@ -0,0 +1,400 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkCellRendererSpinner renders a spinning animation in a cell, very
+similar to 'GI.Gtk.Objects.Spinner.Spinner'. It can often be used as an alternative
+to a 'GI.Gtk.Objects.CellRendererProgress.CellRendererProgress' for displaying indefinite activity,
+instead of actual progress.
+
+To start the animation in a cell, set the 'GI.Gtk.Objects.CellRendererSpinner.CellRendererSpinner':@/active/@
+property to 'True' and increment the 'GI.Gtk.Objects.CellRendererSpinner.CellRendererSpinner':@/pulse/@ property
+at regular intervals. The usual way to set the cell renderer properties
+for each cell is to bind them to columns in your tree model using e.g.
+'GI.Gtk.Objects.TreeViewColumn.treeViewColumnAddAttribute'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellRendererSpinner
+    ( 
+
+-- * Exported types
+    CellRendererSpinner(..)                 ,
+    IsCellRendererSpinner                   ,
+    toCellRendererSpinner                   ,
+    noCellRendererSpinner                   ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    cellRendererSpinnerNew                  ,
+
+
+
+
+ -- * Properties
+-- ** active #attr:active#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererSpinnerActivePropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererSpinnerActive               ,
+#endif
+    constructCellRendererSpinnerActive      ,
+    getCellRendererSpinnerActive            ,
+    setCellRendererSpinnerActive            ,
+
+
+-- ** pulse #attr:pulse#
+{- | Pulse of the spinner. Increment this value to draw the next frame of the
+spinner animation. Usually, you would update this value in a timeout.
+
+By default, the 'GI.Gtk.Objects.Spinner.Spinner' widget draws one full cycle of the animation,
+consisting of 12 frames, in 750 milliseconds.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererSpinnerPulsePropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererSpinnerPulse                ,
+#endif
+    constructCellRendererSpinnerPulse       ,
+    getCellRendererSpinnerPulse             ,
+    setCellRendererSpinnerPulse             ,
+
+
+-- ** size #attr:size#
+{- | The 'GI.Gtk.Enums.IconSize' value that specifies the size of the rendered spinner.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererSpinnerSizePropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererSpinnerSize                 ,
+#endif
+    constructCellRendererSpinnerSize        ,
+    getCellRendererSpinnerSize              ,
+    setCellRendererSpinnerSize              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+
+-- | Memory-managed wrapper type.
+newtype CellRendererSpinner = CellRendererSpinner (ManagedPtr CellRendererSpinner)
+foreign import ccall "gtk_cell_renderer_spinner_get_type"
+    c_gtk_cell_renderer_spinner_get_type :: IO GType
+
+instance GObject CellRendererSpinner where
+    gobjectType = c_gtk_cell_renderer_spinner_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellRendererSpinner`, for instance with `toCellRendererSpinner`.
+class (GObject o, O.IsDescendantOf CellRendererSpinner o) => IsCellRendererSpinner o
+instance (GObject o, O.IsDescendantOf CellRendererSpinner o) => IsCellRendererSpinner o
+
+instance O.HasParentTypes CellRendererSpinner
+type instance O.ParentTypes CellRendererSpinner = '[Gtk.CellRenderer.CellRenderer, GObject.Object.Object]
+
+-- | Cast to `CellRendererSpinner`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellRendererSpinner :: (MonadIO m, IsCellRendererSpinner o) => o -> m CellRendererSpinner
+toCellRendererSpinner = liftIO . unsafeCastTo CellRendererSpinner
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellRendererSpinner`.
+noCellRendererSpinner :: Maybe CellRendererSpinner
+noCellRendererSpinner = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellRendererSpinnerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellRendererSpinnerMethod "activate" o = Gtk.CellRenderer.CellRendererActivateMethodInfo
+    ResolveCellRendererSpinnerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellRendererSpinnerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellRendererSpinnerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellRendererSpinnerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellRendererSpinnerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellRendererSpinnerMethod "isActivatable" o = Gtk.CellRenderer.CellRendererIsActivatableMethodInfo
+    ResolveCellRendererSpinnerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellRendererSpinnerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellRendererSpinnerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellRendererSpinnerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellRendererSpinnerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellRendererSpinnerMethod "render" o = Gtk.CellRenderer.CellRendererRenderMethodInfo
+    ResolveCellRendererSpinnerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellRendererSpinnerMethod "startEditing" o = Gtk.CellRenderer.CellRendererStartEditingMethodInfo
+    ResolveCellRendererSpinnerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellRendererSpinnerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellRendererSpinnerMethod "stopEditing" o = Gtk.CellRenderer.CellRendererStopEditingMethodInfo
+    ResolveCellRendererSpinnerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellRendererSpinnerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellRendererSpinnerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellRendererSpinnerMethod "getAlignedArea" o = Gtk.CellRenderer.CellRendererGetAlignedAreaMethodInfo
+    ResolveCellRendererSpinnerMethod "getAlignment" o = Gtk.CellRenderer.CellRendererGetAlignmentMethodInfo
+    ResolveCellRendererSpinnerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellRendererSpinnerMethod "getFixedSize" o = Gtk.CellRenderer.CellRendererGetFixedSizeMethodInfo
+    ResolveCellRendererSpinnerMethod "getPadding" o = Gtk.CellRenderer.CellRendererGetPaddingMethodInfo
+    ResolveCellRendererSpinnerMethod "getPreferredHeight" o = Gtk.CellRenderer.CellRendererGetPreferredHeightMethodInfo
+    ResolveCellRendererSpinnerMethod "getPreferredHeightForWidth" o = Gtk.CellRenderer.CellRendererGetPreferredHeightForWidthMethodInfo
+    ResolveCellRendererSpinnerMethod "getPreferredSize" o = Gtk.CellRenderer.CellRendererGetPreferredSizeMethodInfo
+    ResolveCellRendererSpinnerMethod "getPreferredWidth" o = Gtk.CellRenderer.CellRendererGetPreferredWidthMethodInfo
+    ResolveCellRendererSpinnerMethod "getPreferredWidthForHeight" o = Gtk.CellRenderer.CellRendererGetPreferredWidthForHeightMethodInfo
+    ResolveCellRendererSpinnerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellRendererSpinnerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellRendererSpinnerMethod "getRequestMode" o = Gtk.CellRenderer.CellRendererGetRequestModeMethodInfo
+    ResolveCellRendererSpinnerMethod "getSensitive" o = Gtk.CellRenderer.CellRendererGetSensitiveMethodInfo
+    ResolveCellRendererSpinnerMethod "getSize" o = Gtk.CellRenderer.CellRendererGetSizeMethodInfo
+    ResolveCellRendererSpinnerMethod "getState" o = Gtk.CellRenderer.CellRendererGetStateMethodInfo
+    ResolveCellRendererSpinnerMethod "getVisible" o = Gtk.CellRenderer.CellRendererGetVisibleMethodInfo
+    ResolveCellRendererSpinnerMethod "setAlignment" o = Gtk.CellRenderer.CellRendererSetAlignmentMethodInfo
+    ResolveCellRendererSpinnerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellRendererSpinnerMethod "setFixedSize" o = Gtk.CellRenderer.CellRendererSetFixedSizeMethodInfo
+    ResolveCellRendererSpinnerMethod "setPadding" o = Gtk.CellRenderer.CellRendererSetPaddingMethodInfo
+    ResolveCellRendererSpinnerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellRendererSpinnerMethod "setSensitive" o = Gtk.CellRenderer.CellRendererSetSensitiveMethodInfo
+    ResolveCellRendererSpinnerMethod "setVisible" o = Gtk.CellRenderer.CellRendererSetVisibleMethodInfo
+    ResolveCellRendererSpinnerMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellRendererSpinnerMethod t CellRendererSpinner, O.MethodInfo info CellRendererSpinner p) => OL.IsLabel t (CellRendererSpinner -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererSpinner #active
+@
+-}
+getCellRendererSpinnerActive :: (MonadIO m, IsCellRendererSpinner o) => o -> m Bool
+getCellRendererSpinnerActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererSpinner [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererSpinnerActive :: (MonadIO m, IsCellRendererSpinner o) => o -> Bool -> m ()
+setCellRendererSpinnerActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererSpinnerActive :: (IsCellRendererSpinner o) => Bool -> IO (GValueConstruct o)
+constructCellRendererSpinnerActive val = B.Properties.constructObjectPropertyBool "active" val
+
+#if ENABLE_OVERLOADING
+data CellRendererSpinnerActivePropertyInfo
+instance AttrInfo CellRendererSpinnerActivePropertyInfo where
+    type AttrAllowedOps CellRendererSpinnerActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererSpinnerActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererSpinnerActivePropertyInfo = IsCellRendererSpinner
+    type AttrGetType CellRendererSpinnerActivePropertyInfo = Bool
+    type AttrLabel CellRendererSpinnerActivePropertyInfo = "active"
+    type AttrOrigin CellRendererSpinnerActivePropertyInfo = CellRendererSpinner
+    attrGet _ = getCellRendererSpinnerActive
+    attrSet _ = setCellRendererSpinnerActive
+    attrConstruct _ = constructCellRendererSpinnerActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pulse"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pulse@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererSpinner #pulse
+@
+-}
+getCellRendererSpinnerPulse :: (MonadIO m, IsCellRendererSpinner o) => o -> m Word32
+getCellRendererSpinnerPulse obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "pulse"
+
+{- |
+Set the value of the “@pulse@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererSpinner [ #pulse 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererSpinnerPulse :: (MonadIO m, IsCellRendererSpinner o) => o -> Word32 -> m ()
+setCellRendererSpinnerPulse obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "pulse" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pulse@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererSpinnerPulse :: (IsCellRendererSpinner o) => Word32 -> IO (GValueConstruct o)
+constructCellRendererSpinnerPulse val = B.Properties.constructObjectPropertyUInt32 "pulse" val
+
+#if ENABLE_OVERLOADING
+data CellRendererSpinnerPulsePropertyInfo
+instance AttrInfo CellRendererSpinnerPulsePropertyInfo where
+    type AttrAllowedOps CellRendererSpinnerPulsePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererSpinnerPulsePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint CellRendererSpinnerPulsePropertyInfo = IsCellRendererSpinner
+    type AttrGetType CellRendererSpinnerPulsePropertyInfo = Word32
+    type AttrLabel CellRendererSpinnerPulsePropertyInfo = "pulse"
+    type AttrOrigin CellRendererSpinnerPulsePropertyInfo = CellRendererSpinner
+    attrGet _ = getCellRendererSpinnerPulse
+    attrSet _ = setCellRendererSpinnerPulse
+    attrConstruct _ = constructCellRendererSpinnerPulse
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "IconSize"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererSpinner #size
+@
+-}
+getCellRendererSpinnerSize :: (MonadIO m, IsCellRendererSpinner o) => o -> m Gtk.Enums.IconSize
+getCellRendererSpinnerSize obj = liftIO $ B.Properties.getObjectPropertyEnum obj "size"
+
+{- |
+Set the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererSpinner [ #size 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererSpinnerSize :: (MonadIO m, IsCellRendererSpinner o) => o -> Gtk.Enums.IconSize -> m ()
+setCellRendererSpinnerSize obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererSpinnerSize :: (IsCellRendererSpinner o) => Gtk.Enums.IconSize -> IO (GValueConstruct o)
+constructCellRendererSpinnerSize val = B.Properties.constructObjectPropertyEnum "size" val
+
+#if ENABLE_OVERLOADING
+data CellRendererSpinnerSizePropertyInfo
+instance AttrInfo CellRendererSpinnerSizePropertyInfo where
+    type AttrAllowedOps CellRendererSpinnerSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererSpinnerSizePropertyInfo = (~) Gtk.Enums.IconSize
+    type AttrBaseTypeConstraint CellRendererSpinnerSizePropertyInfo = IsCellRendererSpinner
+    type AttrGetType CellRendererSpinnerSizePropertyInfo = Gtk.Enums.IconSize
+    type AttrLabel CellRendererSpinnerSizePropertyInfo = "size"
+    type AttrOrigin CellRendererSpinnerSizePropertyInfo = CellRendererSpinner
+    attrGet _ = getCellRendererSpinnerSize
+    attrSet _ = setCellRendererSpinnerSize
+    attrConstruct _ = constructCellRendererSpinnerSize
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellRendererSpinner
+type instance O.AttributeList CellRendererSpinner = CellRendererSpinnerAttributeList
+type CellRendererSpinnerAttributeList = ('[ '("active", CellRendererSpinnerActivePropertyInfo), '("cellBackground", Gtk.CellRenderer.CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", Gtk.CellRenderer.CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", Gtk.CellRenderer.CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", Gtk.CellRenderer.CellRendererCellBackgroundSetPropertyInfo), '("editing", Gtk.CellRenderer.CellRendererEditingPropertyInfo), '("height", Gtk.CellRenderer.CellRendererHeightPropertyInfo), '("isExpanded", Gtk.CellRenderer.CellRendererIsExpandedPropertyInfo), '("isExpander", Gtk.CellRenderer.CellRendererIsExpanderPropertyInfo), '("mode", Gtk.CellRenderer.CellRendererModePropertyInfo), '("pulse", CellRendererSpinnerPulsePropertyInfo), '("sensitive", Gtk.CellRenderer.CellRendererSensitivePropertyInfo), '("size", CellRendererSpinnerSizePropertyInfo), '("visible", Gtk.CellRenderer.CellRendererVisiblePropertyInfo), '("width", Gtk.CellRenderer.CellRendererWidthPropertyInfo), '("xalign", Gtk.CellRenderer.CellRendererXalignPropertyInfo), '("xpad", Gtk.CellRenderer.CellRendererXpadPropertyInfo), '("yalign", Gtk.CellRenderer.CellRendererYalignPropertyInfo), '("ypad", Gtk.CellRenderer.CellRendererYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellRendererSpinnerActive :: AttrLabelProxy "active"
+cellRendererSpinnerActive = AttrLabelProxy
+
+cellRendererSpinnerPulse :: AttrLabelProxy "pulse"
+cellRendererSpinnerPulse = AttrLabelProxy
+
+cellRendererSpinnerSize :: AttrLabelProxy "size"
+cellRendererSpinnerSize = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellRendererSpinner = CellRendererSpinnerSignalList
+type CellRendererSpinnerSignalList = ('[ '("editingCanceled", Gtk.CellRenderer.CellRendererEditingCanceledSignalInfo), '("editingStarted", Gtk.CellRenderer.CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellRendererSpinner::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererSpinner"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_spinner_new" gtk_cell_renderer_spinner_new :: 
+    IO (Ptr CellRendererSpinner)
+
+{- |
+Returns a new cell renderer which will show a spinner to indicate
+activity.
+
+/Since: 2.20/
+-}
+cellRendererSpinnerNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellRendererSpinner
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+cellRendererSpinnerNew  = liftIO $ do
+    result <- gtk_cell_renderer_spinner_new
+    checkUnexpectedReturnNULL "cellRendererSpinnerNew" result
+    result' <- (newObject CellRendererSpinner) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellRendererSpinner.hs-boot b/GI/Gtk/Objects/CellRendererSpinner.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererSpinner.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellRendererSpinner where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellRendererSpinner = CellRendererSpinner (ManagedPtr CellRendererSpinner)
+instance GObject CellRendererSpinner where
+class (GObject o, O.IsDescendantOf CellRendererSpinner o) => IsCellRendererSpinner o
+instance (GObject o, O.IsDescendantOf CellRendererSpinner o) => IsCellRendererSpinner o
+instance O.HasParentTypes CellRendererSpinner
+#if ENABLE_OVERLOADING
+data CellRendererSpinnerActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSpinnerPulsePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererSpinnerSizePropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/CellRendererText.hs b/GI/Gtk/Objects/CellRendererText.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererText.hs
@@ -0,0 +1,3644 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.CellRendererText.CellRendererText' renders a given text in its cell, using the font, color and
+style information provided by its properties. The text will be ellipsized if it is
+too long and the 'GI.Gtk.Objects.CellRendererText.CellRendererText':@/ellipsize/@ property allows it.
+
+If the 'GI.Gtk.Objects.CellRenderer.CellRenderer':@/mode/@ is 'GI.Gtk.Enums.CellRendererModeEditable',
+the 'GI.Gtk.Objects.CellRendererText.CellRendererText' allows to edit its text using an entry.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellRendererText
+    ( 
+
+-- * Exported types
+    CellRendererText(..)                    ,
+    IsCellRendererText                      ,
+    toCellRendererText                      ,
+    noCellRendererText                      ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    cellRendererTextNew                     ,
+
+
+-- ** setFixedHeightFromFont #method:setFixedHeightFromFont#
+
+#if ENABLE_OVERLOADING
+    CellRendererTextSetFixedHeightFromFontMethodInfo,
+#endif
+    cellRendererTextSetFixedHeightFromFont  ,
+
+
+
+
+ -- * Properties
+-- ** alignSet #attr:alignSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextAlignSetPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextAlignSet                ,
+#endif
+    constructCellRendererTextAlignSet       ,
+    getCellRendererTextAlignSet             ,
+    setCellRendererTextAlignSet             ,
+
+
+-- ** alignment #attr:alignment#
+{- | Specifies how to align the lines of text with respect to each other.
+
+Note that this property describes how to align the lines of text in
+case there are several of them. The \"xalign\" property of 'GI.Gtk.Objects.CellRenderer.CellRenderer',
+on the other hand, sets the horizontal alignment of the whole text.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextAlignmentPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextAlignment               ,
+#endif
+    constructCellRendererTextAlignment      ,
+    getCellRendererTextAlignment            ,
+    setCellRendererTextAlignment            ,
+
+
+-- ** attributes #attr:attributes#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextAttributesPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextAttributes              ,
+#endif
+    clearCellRendererTextAttributes         ,
+    constructCellRendererTextAttributes     ,
+    getCellRendererTextAttributes           ,
+    setCellRendererTextAttributes           ,
+
+
+-- ** background #attr:background#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextBackgroundPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextBackground              ,
+#endif
+    clearCellRendererTextBackground         ,
+    constructCellRendererTextBackground     ,
+    setCellRendererTextBackground           ,
+
+
+-- ** backgroundGdk #attr:backgroundGdk#
+{- | Background color as a 'GI.Gdk.Structs.Color.Color'
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextBackgroundGdkPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextBackgroundGdk           ,
+#endif
+    clearCellRendererTextBackgroundGdk      ,
+    constructCellRendererTextBackgroundGdk  ,
+    getCellRendererTextBackgroundGdk        ,
+    setCellRendererTextBackgroundGdk        ,
+
+
+-- ** backgroundRgba #attr:backgroundRgba#
+{- | Background color as a 'GI.Gdk.Structs.RGBA.RGBA'
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextBackgroundRgbaPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextBackgroundRgba          ,
+#endif
+    clearCellRendererTextBackgroundRgba     ,
+    constructCellRendererTextBackgroundRgba ,
+    getCellRendererTextBackgroundRgba       ,
+    setCellRendererTextBackgroundRgba       ,
+
+
+-- ** backgroundSet #attr:backgroundSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextBackgroundSetPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextBackgroundSet           ,
+#endif
+    constructCellRendererTextBackgroundSet  ,
+    getCellRendererTextBackgroundSet        ,
+    setCellRendererTextBackgroundSet        ,
+
+
+-- ** editable #attr:editable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextEditablePropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextEditable                ,
+#endif
+    constructCellRendererTextEditable       ,
+    getCellRendererTextEditable             ,
+    setCellRendererTextEditable             ,
+
+
+-- ** editableSet #attr:editableSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextEditableSetPropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextEditableSet             ,
+#endif
+    constructCellRendererTextEditableSet    ,
+    getCellRendererTextEditableSet          ,
+    setCellRendererTextEditableSet          ,
+
+
+-- ** ellipsize #attr:ellipsize#
+{- | Specifies the preferred place to ellipsize the string, if the cell renderer
+does not have enough room to display the entire string. Setting it to
+'GI.Pango.Enums.EllipsizeModeNone' turns off ellipsizing. See the wrap-width property
+for another way of making the text fit into a given width.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextEllipsizePropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextEllipsize               ,
+#endif
+    constructCellRendererTextEllipsize      ,
+    getCellRendererTextEllipsize            ,
+    setCellRendererTextEllipsize            ,
+
+
+-- ** ellipsizeSet #attr:ellipsizeSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextEllipsizeSetPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextEllipsizeSet            ,
+#endif
+    constructCellRendererTextEllipsizeSet   ,
+    getCellRendererTextEllipsizeSet         ,
+    setCellRendererTextEllipsizeSet         ,
+
+
+-- ** family #attr:family#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextFamilyPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextFamily                  ,
+#endif
+    clearCellRendererTextFamily             ,
+    constructCellRendererTextFamily         ,
+    getCellRendererTextFamily               ,
+    setCellRendererTextFamily               ,
+
+
+-- ** familySet #attr:familySet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextFamilySetPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextFamilySet               ,
+#endif
+    constructCellRendererTextFamilySet      ,
+    getCellRendererTextFamilySet            ,
+    setCellRendererTextFamilySet            ,
+
+
+-- ** font #attr:font#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextFontPropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextFont                    ,
+#endif
+    clearCellRendererTextFont               ,
+    constructCellRendererTextFont           ,
+    getCellRendererTextFont                 ,
+    setCellRendererTextFont                 ,
+
+
+-- ** fontDesc #attr:fontDesc#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextFontDescPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextFontDesc                ,
+#endif
+    clearCellRendererTextFontDesc           ,
+    constructCellRendererTextFontDesc       ,
+    getCellRendererTextFontDesc             ,
+    setCellRendererTextFontDesc             ,
+
+
+-- ** foreground #attr:foreground#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextForegroundPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextForeground              ,
+#endif
+    clearCellRendererTextForeground         ,
+    constructCellRendererTextForeground     ,
+    setCellRendererTextForeground           ,
+
+
+-- ** foregroundGdk #attr:foregroundGdk#
+{- | Foreground color as a 'GI.Gdk.Structs.Color.Color'
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextForegroundGdkPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextForegroundGdk           ,
+#endif
+    clearCellRendererTextForegroundGdk      ,
+    constructCellRendererTextForegroundGdk  ,
+    getCellRendererTextForegroundGdk        ,
+    setCellRendererTextForegroundGdk        ,
+
+
+-- ** foregroundRgba #attr:foregroundRgba#
+{- | Foreground color as a 'GI.Gdk.Structs.RGBA.RGBA'
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextForegroundRgbaPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextForegroundRgba          ,
+#endif
+    clearCellRendererTextForegroundRgba     ,
+    constructCellRendererTextForegroundRgba ,
+    getCellRendererTextForegroundRgba       ,
+    setCellRendererTextForegroundRgba       ,
+
+
+-- ** foregroundSet #attr:foregroundSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextForegroundSetPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextForegroundSet           ,
+#endif
+    constructCellRendererTextForegroundSet  ,
+    getCellRendererTextForegroundSet        ,
+    setCellRendererTextForegroundSet        ,
+
+
+-- ** language #attr:language#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextLanguagePropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextLanguage                ,
+#endif
+    clearCellRendererTextLanguage           ,
+    constructCellRendererTextLanguage       ,
+    getCellRendererTextLanguage             ,
+    setCellRendererTextLanguage             ,
+
+
+-- ** languageSet #attr:languageSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextLanguageSetPropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextLanguageSet             ,
+#endif
+    constructCellRendererTextLanguageSet    ,
+    getCellRendererTextLanguageSet          ,
+    setCellRendererTextLanguageSet          ,
+
+
+-- ** markup #attr:markup#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextMarkupPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextMarkup                  ,
+#endif
+    clearCellRendererTextMarkup             ,
+    constructCellRendererTextMarkup         ,
+    setCellRendererTextMarkup               ,
+
+
+-- ** maxWidthChars #attr:maxWidthChars#
+{- | The desired maximum width of the cell, in characters. If this property
+is set to -1, the width will be calculated automatically.
+
+For cell renderers that ellipsize or wrap text; this property
+controls the maximum reported width of the cell. The
+cell should not receive any greater allocation unless it is
+set to expand in its 'GI.Gtk.Interfaces.CellLayout.CellLayout' and all of the cell\'s siblings
+have received their natural width.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextMaxWidthCharsPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextMaxWidthChars           ,
+#endif
+    constructCellRendererTextMaxWidthChars  ,
+    getCellRendererTextMaxWidthChars        ,
+    setCellRendererTextMaxWidthChars        ,
+
+
+-- ** placeholderText #attr:placeholderText#
+{- | The text that will be displayed in the 'GI.Gtk.Objects.CellRenderer.CellRenderer' if
+'GI.Gtk.Objects.CellRendererText.CellRendererText':@/editable/@ is 'True' and the cell is empty.
+
+Since 3.6
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextPlaceholderTextPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextPlaceholderText         ,
+#endif
+    clearCellRendererTextPlaceholderText    ,
+    constructCellRendererTextPlaceholderText,
+    getCellRendererTextPlaceholderText      ,
+    setCellRendererTextPlaceholderText      ,
+
+
+-- ** rise #attr:rise#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextRisePropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextRise                    ,
+#endif
+    constructCellRendererTextRise           ,
+    getCellRendererTextRise                 ,
+    setCellRendererTextRise                 ,
+
+
+-- ** riseSet #attr:riseSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextRiseSetPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextRiseSet                 ,
+#endif
+    constructCellRendererTextRiseSet        ,
+    getCellRendererTextRiseSet              ,
+    setCellRendererTextRiseSet              ,
+
+
+-- ** scale #attr:scale#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextScalePropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextScale                   ,
+#endif
+    constructCellRendererTextScale          ,
+    getCellRendererTextScale                ,
+    setCellRendererTextScale                ,
+
+
+-- ** scaleSet #attr:scaleSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextScaleSetPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextScaleSet                ,
+#endif
+    constructCellRendererTextScaleSet       ,
+    getCellRendererTextScaleSet             ,
+    setCellRendererTextScaleSet             ,
+
+
+-- ** singleParagraphMode #attr:singleParagraphMode#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextSingleParagraphModePropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextSingleParagraphMode     ,
+#endif
+    constructCellRendererTextSingleParagraphMode,
+    getCellRendererTextSingleParagraphMode  ,
+    setCellRendererTextSingleParagraphMode  ,
+
+
+-- ** size #attr:size#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextSizePropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextSize                    ,
+#endif
+    constructCellRendererTextSize           ,
+    getCellRendererTextSize                 ,
+    setCellRendererTextSize                 ,
+
+
+-- ** sizePoints #attr:sizePoints#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextSizePointsPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextSizePoints              ,
+#endif
+    constructCellRendererTextSizePoints     ,
+    getCellRendererTextSizePoints           ,
+    setCellRendererTextSizePoints           ,
+
+
+-- ** sizeSet #attr:sizeSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextSizeSetPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextSizeSet                 ,
+#endif
+    constructCellRendererTextSizeSet        ,
+    getCellRendererTextSizeSet              ,
+    setCellRendererTextSizeSet              ,
+
+
+-- ** stretch #attr:stretch#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextStretchPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextStretch                 ,
+#endif
+    constructCellRendererTextStretch        ,
+    getCellRendererTextStretch              ,
+    setCellRendererTextStretch              ,
+
+
+-- ** stretchSet #attr:stretchSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextStretchSetPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextStretchSet              ,
+#endif
+    constructCellRendererTextStretchSet     ,
+    getCellRendererTextStretchSet           ,
+    setCellRendererTextStretchSet           ,
+
+
+-- ** strikethrough #attr:strikethrough#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextStrikethroughPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextStrikethrough           ,
+#endif
+    constructCellRendererTextStrikethrough  ,
+    getCellRendererTextStrikethrough        ,
+    setCellRendererTextStrikethrough        ,
+
+
+-- ** strikethroughSet #attr:strikethroughSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextStrikethroughSetPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextStrikethroughSet        ,
+#endif
+    constructCellRendererTextStrikethroughSet,
+    getCellRendererTextStrikethroughSet     ,
+    setCellRendererTextStrikethroughSet     ,
+
+
+-- ** style #attr:style#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextStylePropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextStyle                   ,
+#endif
+    constructCellRendererTextStyle          ,
+    getCellRendererTextStyle                ,
+    setCellRendererTextStyle                ,
+
+
+-- ** styleSet #attr:styleSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextStyleSetPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextStyleSet                ,
+#endif
+    constructCellRendererTextStyleSet       ,
+    getCellRendererTextStyleSet             ,
+    setCellRendererTextStyleSet             ,
+
+
+-- ** text #attr:text#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextTextPropertyInfo        ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextText                    ,
+#endif
+    clearCellRendererTextText               ,
+    constructCellRendererTextText           ,
+    getCellRendererTextText                 ,
+    setCellRendererTextText                 ,
+
+
+-- ** underline #attr:underline#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextUnderlinePropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextUnderline               ,
+#endif
+    constructCellRendererTextUnderline      ,
+    getCellRendererTextUnderline            ,
+    setCellRendererTextUnderline            ,
+
+
+-- ** underlineSet #attr:underlineSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextUnderlineSetPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextUnderlineSet            ,
+#endif
+    constructCellRendererTextUnderlineSet   ,
+    getCellRendererTextUnderlineSet         ,
+    setCellRendererTextUnderlineSet         ,
+
+
+-- ** variant #attr:variant#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextVariantPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextVariant                 ,
+#endif
+    constructCellRendererTextVariant        ,
+    getCellRendererTextVariant              ,
+    setCellRendererTextVariant              ,
+
+
+-- ** variantSet #attr:variantSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextVariantSetPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextVariantSet              ,
+#endif
+    constructCellRendererTextVariantSet     ,
+    getCellRendererTextVariantSet           ,
+    setCellRendererTextVariantSet           ,
+
+
+-- ** weight #attr:weight#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextWeightPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextWeight                  ,
+#endif
+    constructCellRendererTextWeight         ,
+    getCellRendererTextWeight               ,
+    setCellRendererTextWeight               ,
+
+
+-- ** weightSet #attr:weightSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextWeightSetPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextWeightSet               ,
+#endif
+    constructCellRendererTextWeightSet      ,
+    getCellRendererTextWeightSet            ,
+    setCellRendererTextWeightSet            ,
+
+
+-- ** widthChars #attr:widthChars#
+{- | The desired width of the cell, in characters. If this property is set to
+-1, the width will be calculated automatically, otherwise the cell will
+request either 3 characters or the property value, whichever is greater.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextWidthCharsPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextWidthChars              ,
+#endif
+    constructCellRendererTextWidthChars     ,
+    getCellRendererTextWidthChars           ,
+    setCellRendererTextWidthChars           ,
+
+
+-- ** wrapMode #attr:wrapMode#
+{- | Specifies how to break the string into multiple lines, if the cell
+renderer does not have enough room to display the entire string.
+This property has no effect unless the wrap-width property is set.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextWrapModePropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextWrapMode                ,
+#endif
+    constructCellRendererTextWrapMode       ,
+    getCellRendererTextWrapMode             ,
+    setCellRendererTextWrapMode             ,
+
+
+-- ** wrapWidth #attr:wrapWidth#
+{- | Specifies the minimum width at which the text is wrapped. The wrap-mode property can
+be used to influence at what character positions the line breaks can be placed.
+Setting wrap-width to -1 turns wrapping off.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    CellRendererTextWrapWidthPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererTextWrapWidth               ,
+#endif
+    constructCellRendererTextWrapWidth      ,
+    getCellRendererTextWrapWidth            ,
+    setCellRendererTextWrapWidth            ,
+
+
+
+
+ -- * Signals
+-- ** edited #signal:edited#
+
+    C_CellRendererTextEditedCallback        ,
+    CellRendererTextEditedCallback          ,
+#if ENABLE_OVERLOADING
+    CellRendererTextEditedSignalInfo        ,
+#endif
+    afterCellRendererTextEdited             ,
+    genClosure_CellRendererTextEdited       ,
+    mk_CellRendererTextEditedCallback       ,
+    noCellRendererTextEditedCallback        ,
+    onCellRendererTextEdited                ,
+    wrap_CellRendererTextEditedCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+import qualified GI.Pango.Enums as Pango.Enums
+import qualified GI.Pango.Structs.AttrList as Pango.AttrList
+import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
+
+-- | Memory-managed wrapper type.
+newtype CellRendererText = CellRendererText (ManagedPtr CellRendererText)
+foreign import ccall "gtk_cell_renderer_text_get_type"
+    c_gtk_cell_renderer_text_get_type :: IO GType
+
+instance GObject CellRendererText where
+    gobjectType = c_gtk_cell_renderer_text_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellRendererText`, for instance with `toCellRendererText`.
+class (GObject o, O.IsDescendantOf CellRendererText o) => IsCellRendererText o
+instance (GObject o, O.IsDescendantOf CellRendererText o) => IsCellRendererText o
+
+instance O.HasParentTypes CellRendererText
+type instance O.ParentTypes CellRendererText = '[Gtk.CellRenderer.CellRenderer, GObject.Object.Object]
+
+-- | Cast to `CellRendererText`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellRendererText :: (MonadIO m, IsCellRendererText o) => o -> m CellRendererText
+toCellRendererText = liftIO . unsafeCastTo CellRendererText
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellRendererText`.
+noCellRendererText :: Maybe CellRendererText
+noCellRendererText = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellRendererTextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellRendererTextMethod "activate" o = Gtk.CellRenderer.CellRendererActivateMethodInfo
+    ResolveCellRendererTextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellRendererTextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellRendererTextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellRendererTextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellRendererTextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellRendererTextMethod "isActivatable" o = Gtk.CellRenderer.CellRendererIsActivatableMethodInfo
+    ResolveCellRendererTextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellRendererTextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellRendererTextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellRendererTextMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellRendererTextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellRendererTextMethod "render" o = Gtk.CellRenderer.CellRendererRenderMethodInfo
+    ResolveCellRendererTextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellRendererTextMethod "startEditing" o = Gtk.CellRenderer.CellRendererStartEditingMethodInfo
+    ResolveCellRendererTextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellRendererTextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellRendererTextMethod "stopEditing" o = Gtk.CellRenderer.CellRendererStopEditingMethodInfo
+    ResolveCellRendererTextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellRendererTextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellRendererTextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellRendererTextMethod "getAlignedArea" o = Gtk.CellRenderer.CellRendererGetAlignedAreaMethodInfo
+    ResolveCellRendererTextMethod "getAlignment" o = Gtk.CellRenderer.CellRendererGetAlignmentMethodInfo
+    ResolveCellRendererTextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellRendererTextMethod "getFixedSize" o = Gtk.CellRenderer.CellRendererGetFixedSizeMethodInfo
+    ResolveCellRendererTextMethod "getPadding" o = Gtk.CellRenderer.CellRendererGetPaddingMethodInfo
+    ResolveCellRendererTextMethod "getPreferredHeight" o = Gtk.CellRenderer.CellRendererGetPreferredHeightMethodInfo
+    ResolveCellRendererTextMethod "getPreferredHeightForWidth" o = Gtk.CellRenderer.CellRendererGetPreferredHeightForWidthMethodInfo
+    ResolveCellRendererTextMethod "getPreferredSize" o = Gtk.CellRenderer.CellRendererGetPreferredSizeMethodInfo
+    ResolveCellRendererTextMethod "getPreferredWidth" o = Gtk.CellRenderer.CellRendererGetPreferredWidthMethodInfo
+    ResolveCellRendererTextMethod "getPreferredWidthForHeight" o = Gtk.CellRenderer.CellRendererGetPreferredWidthForHeightMethodInfo
+    ResolveCellRendererTextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellRendererTextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellRendererTextMethod "getRequestMode" o = Gtk.CellRenderer.CellRendererGetRequestModeMethodInfo
+    ResolveCellRendererTextMethod "getSensitive" o = Gtk.CellRenderer.CellRendererGetSensitiveMethodInfo
+    ResolveCellRendererTextMethod "getSize" o = Gtk.CellRenderer.CellRendererGetSizeMethodInfo
+    ResolveCellRendererTextMethod "getState" o = Gtk.CellRenderer.CellRendererGetStateMethodInfo
+    ResolveCellRendererTextMethod "getVisible" o = Gtk.CellRenderer.CellRendererGetVisibleMethodInfo
+    ResolveCellRendererTextMethod "setAlignment" o = Gtk.CellRenderer.CellRendererSetAlignmentMethodInfo
+    ResolveCellRendererTextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellRendererTextMethod "setFixedHeightFromFont" o = CellRendererTextSetFixedHeightFromFontMethodInfo
+    ResolveCellRendererTextMethod "setFixedSize" o = Gtk.CellRenderer.CellRendererSetFixedSizeMethodInfo
+    ResolveCellRendererTextMethod "setPadding" o = Gtk.CellRenderer.CellRendererSetPaddingMethodInfo
+    ResolveCellRendererTextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellRendererTextMethod "setSensitive" o = Gtk.CellRenderer.CellRendererSetSensitiveMethodInfo
+    ResolveCellRendererTextMethod "setVisible" o = Gtk.CellRenderer.CellRendererSetVisibleMethodInfo
+    ResolveCellRendererTextMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellRendererTextMethod t CellRendererText, O.MethodInfo info CellRendererText p) => OL.IsLabel t (CellRendererText -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal CellRendererText::edited
+{- |
+This signal is emitted after /@renderer@/ has been edited.
+
+It is the responsibility of the application to update the model
+and store /@newText@/ at the position indicated by /@path@/.
+-}
+type CellRendererTextEditedCallback =
+    T.Text
+    {- ^ /@path@/: the path identifying the edited cell -}
+    -> T.Text
+    {- ^ /@newText@/: the new text -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellRendererTextEditedCallback`@.
+noCellRendererTextEditedCallback :: Maybe CellRendererTextEditedCallback
+noCellRendererTextEditedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellRendererTextEditedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellRendererTextEditedCallback`.
+foreign import ccall "wrapper"
+    mk_CellRendererTextEditedCallback :: C_CellRendererTextEditedCallback -> IO (FunPtr C_CellRendererTextEditedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellRendererTextEdited :: MonadIO m => CellRendererTextEditedCallback -> m (GClosure C_CellRendererTextEditedCallback)
+genClosure_CellRendererTextEdited cb = liftIO $ do
+    let cb' = wrap_CellRendererTextEditedCallback cb
+    mk_CellRendererTextEditedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellRendererTextEditedCallback` into a `C_CellRendererTextEditedCallback`.
+wrap_CellRendererTextEditedCallback ::
+    CellRendererTextEditedCallback ->
+    C_CellRendererTextEditedCallback
+wrap_CellRendererTextEditedCallback _cb _ path newText _ = do
+    path' <- cstringToText path
+    newText' <- cstringToText newText
+    _cb  path' newText'
+
+
+{- |
+Connect a signal handler for the “@edited@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellRendererText #edited callback
+@
+-}
+onCellRendererTextEdited :: (IsCellRendererText a, MonadIO m) => a -> CellRendererTextEditedCallback -> m SignalHandlerId
+onCellRendererTextEdited obj cb = liftIO $ do
+    let cb' = wrap_CellRendererTextEditedCallback cb
+    cb'' <- mk_CellRendererTextEditedCallback cb'
+    connectSignalFunPtr obj "edited" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@edited@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellRendererText #edited callback
+@
+-}
+afterCellRendererTextEdited :: (IsCellRendererText a, MonadIO m) => a -> CellRendererTextEditedCallback -> m SignalHandlerId
+afterCellRendererTextEdited obj cb = liftIO $ do
+    let cb' = wrap_CellRendererTextEditedCallback cb
+    cb'' <- mk_CellRendererTextEditedCallback cb'
+    connectSignalFunPtr obj "edited" cb'' SignalConnectAfter
+
+
+-- VVV Prop "align-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@align-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #alignSet
+@
+-}
+getCellRendererTextAlignSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextAlignSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "align-set"
+
+{- |
+Set the value of the “@align-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #alignSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextAlignSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextAlignSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "align-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@align-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextAlignSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextAlignSet val = B.Properties.constructObjectPropertyBool "align-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextAlignSetPropertyInfo
+instance AttrInfo CellRendererTextAlignSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextAlignSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextAlignSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextAlignSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextAlignSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextAlignSetPropertyInfo = "align-set"
+    type AttrOrigin CellRendererTextAlignSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextAlignSet
+    attrSet _ = setCellRendererTextAlignSet
+    attrConstruct _ = constructCellRendererTextAlignSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "alignment"
+   -- Type: TInterface (Name {namespace = "Pango", name = "Alignment"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@alignment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #alignment
+@
+-}
+getCellRendererTextAlignment :: (MonadIO m, IsCellRendererText o) => o -> m Pango.Enums.Alignment
+getCellRendererTextAlignment obj = liftIO $ B.Properties.getObjectPropertyEnum obj "alignment"
+
+{- |
+Set the value of the “@alignment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #alignment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextAlignment :: (MonadIO m, IsCellRendererText o) => o -> Pango.Enums.Alignment -> m ()
+setCellRendererTextAlignment obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "alignment" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@alignment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextAlignment :: (IsCellRendererText o) => Pango.Enums.Alignment -> IO (GValueConstruct o)
+constructCellRendererTextAlignment val = B.Properties.constructObjectPropertyEnum "alignment" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextAlignmentPropertyInfo
+instance AttrInfo CellRendererTextAlignmentPropertyInfo where
+    type AttrAllowedOps CellRendererTextAlignmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextAlignmentPropertyInfo = (~) Pango.Enums.Alignment
+    type AttrBaseTypeConstraint CellRendererTextAlignmentPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextAlignmentPropertyInfo = Pango.Enums.Alignment
+    type AttrLabel CellRendererTextAlignmentPropertyInfo = "alignment"
+    type AttrOrigin CellRendererTextAlignmentPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextAlignment
+    attrSet _ = setCellRendererTextAlignment
+    attrConstruct _ = constructCellRendererTextAlignment
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "attributes"
+   -- Type: TInterface (Name {namespace = "Pango", name = "AttrList"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@attributes@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #attributes
+@
+-}
+getCellRendererTextAttributes :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe Pango.AttrList.AttrList)
+getCellRendererTextAttributes obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "attributes" Pango.AttrList.AttrList
+
+{- |
+Set the value of the “@attributes@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #attributes 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextAttributes :: (MonadIO m, IsCellRendererText o) => o -> Pango.AttrList.AttrList -> m ()
+setCellRendererTextAttributes obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "attributes" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@attributes@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextAttributes :: (IsCellRendererText o) => Pango.AttrList.AttrList -> IO (GValueConstruct o)
+constructCellRendererTextAttributes val = B.Properties.constructObjectPropertyBoxed "attributes" (Just val)
+
+{- |
+Set the value of the “@attributes@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #attributes
+@
+-}
+clearCellRendererTextAttributes :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextAttributes obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "attributes" (Nothing :: Maybe Pango.AttrList.AttrList)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextAttributesPropertyInfo
+instance AttrInfo CellRendererTextAttributesPropertyInfo where
+    type AttrAllowedOps CellRendererTextAttributesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextAttributesPropertyInfo = (~) Pango.AttrList.AttrList
+    type AttrBaseTypeConstraint CellRendererTextAttributesPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextAttributesPropertyInfo = (Maybe Pango.AttrList.AttrList)
+    type AttrLabel CellRendererTextAttributesPropertyInfo = "attributes"
+    type AttrOrigin CellRendererTextAttributesPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextAttributes
+    attrSet _ = setCellRendererTextAttributes
+    attrConstruct _ = constructCellRendererTextAttributes
+    attrClear _ = clearCellRendererTextAttributes
+#endif
+
+-- VVV Prop "background"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@background@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #background 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextBackground :: (MonadIO m, IsCellRendererText o) => o -> T.Text -> m ()
+setCellRendererTextBackground obj val = liftIO $ B.Properties.setObjectPropertyString obj "background" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextBackground :: (IsCellRendererText o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererTextBackground val = B.Properties.constructObjectPropertyString "background" (Just val)
+
+{- |
+Set the value of the “@background@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #background
+@
+-}
+clearCellRendererTextBackground :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextBackground obj = liftIO $ B.Properties.setObjectPropertyString obj "background" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextBackgroundPropertyInfo
+instance AttrInfo CellRendererTextBackgroundPropertyInfo where
+    type AttrAllowedOps CellRendererTextBackgroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextBackgroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererTextBackgroundPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextBackgroundPropertyInfo = ()
+    type AttrLabel CellRendererTextBackgroundPropertyInfo = "background"
+    type AttrOrigin CellRendererTextBackgroundPropertyInfo = CellRendererText
+    attrGet _ = undefined
+    attrSet _ = setCellRendererTextBackground
+    attrConstruct _ = constructCellRendererTextBackground
+    attrClear _ = clearCellRendererTextBackground
+#endif
+
+-- VVV Prop "background-gdk"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Color"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #backgroundGdk
+@
+-}
+getCellRendererTextBackgroundGdk :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe Gdk.Color.Color)
+getCellRendererTextBackgroundGdk obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "background-gdk" Gdk.Color.Color
+
+{- |
+Set the value of the “@background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #backgroundGdk 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextBackgroundGdk :: (MonadIO m, IsCellRendererText o) => o -> Gdk.Color.Color -> m ()
+setCellRendererTextBackgroundGdk obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-gdk" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-gdk@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextBackgroundGdk :: (IsCellRendererText o) => Gdk.Color.Color -> IO (GValueConstruct o)
+constructCellRendererTextBackgroundGdk val = B.Properties.constructObjectPropertyBoxed "background-gdk" (Just val)
+
+{- |
+Set the value of the “@background-gdk@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #backgroundGdk
+@
+-}
+clearCellRendererTextBackgroundGdk :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextBackgroundGdk obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-gdk" (Nothing :: Maybe Gdk.Color.Color)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextBackgroundGdkPropertyInfo
+instance AttrInfo CellRendererTextBackgroundGdkPropertyInfo where
+    type AttrAllowedOps CellRendererTextBackgroundGdkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextBackgroundGdkPropertyInfo = (~) Gdk.Color.Color
+    type AttrBaseTypeConstraint CellRendererTextBackgroundGdkPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextBackgroundGdkPropertyInfo = (Maybe Gdk.Color.Color)
+    type AttrLabel CellRendererTextBackgroundGdkPropertyInfo = "background-gdk"
+    type AttrOrigin CellRendererTextBackgroundGdkPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextBackgroundGdk
+    attrSet _ = setCellRendererTextBackgroundGdk
+    attrConstruct _ = constructCellRendererTextBackgroundGdk
+    attrClear _ = clearCellRendererTextBackgroundGdk
+#endif
+
+-- VVV Prop "background-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #backgroundRgba
+@
+-}
+getCellRendererTextBackgroundRgba :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getCellRendererTextBackgroundRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "background-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #backgroundRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextBackgroundRgba :: (MonadIO m, IsCellRendererText o) => o -> Gdk.RGBA.RGBA -> m ()
+setCellRendererTextBackgroundRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextBackgroundRgba :: (IsCellRendererText o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructCellRendererTextBackgroundRgba val = B.Properties.constructObjectPropertyBoxed "background-rgba" (Just val)
+
+{- |
+Set the value of the “@background-rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #backgroundRgba
+@
+-}
+clearCellRendererTextBackgroundRgba :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextBackgroundRgba obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-rgba" (Nothing :: Maybe Gdk.RGBA.RGBA)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextBackgroundRgbaPropertyInfo
+instance AttrInfo CellRendererTextBackgroundRgbaPropertyInfo where
+    type AttrAllowedOps CellRendererTextBackgroundRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextBackgroundRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint CellRendererTextBackgroundRgbaPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextBackgroundRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel CellRendererTextBackgroundRgbaPropertyInfo = "background-rgba"
+    type AttrOrigin CellRendererTextBackgroundRgbaPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextBackgroundRgba
+    attrSet _ = setCellRendererTextBackgroundRgba
+    attrConstruct _ = constructCellRendererTextBackgroundRgba
+    attrClear _ = clearCellRendererTextBackgroundRgba
+#endif
+
+-- VVV Prop "background-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #backgroundSet
+@
+-}
+getCellRendererTextBackgroundSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextBackgroundSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "background-set"
+
+{- |
+Set the value of the “@background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #backgroundSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextBackgroundSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextBackgroundSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "background-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextBackgroundSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextBackgroundSet val = B.Properties.constructObjectPropertyBool "background-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextBackgroundSetPropertyInfo
+instance AttrInfo CellRendererTextBackgroundSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextBackgroundSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextBackgroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextBackgroundSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextBackgroundSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextBackgroundSetPropertyInfo = "background-set"
+    type AttrOrigin CellRendererTextBackgroundSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextBackgroundSet
+    attrSet _ = setCellRendererTextBackgroundSet
+    attrConstruct _ = constructCellRendererTextBackgroundSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "editable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@editable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #editable
+@
+-}
+getCellRendererTextEditable :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextEditable obj = liftIO $ B.Properties.getObjectPropertyBool obj "editable"
+
+{- |
+Set the value of the “@editable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #editable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextEditable :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextEditable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "editable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@editable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextEditable :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextEditable val = B.Properties.constructObjectPropertyBool "editable" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextEditablePropertyInfo
+instance AttrInfo CellRendererTextEditablePropertyInfo where
+    type AttrAllowedOps CellRendererTextEditablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextEditablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextEditablePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextEditablePropertyInfo = Bool
+    type AttrLabel CellRendererTextEditablePropertyInfo = "editable"
+    type AttrOrigin CellRendererTextEditablePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextEditable
+    attrSet _ = setCellRendererTextEditable
+    attrConstruct _ = constructCellRendererTextEditable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "editable-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@editable-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #editableSet
+@
+-}
+getCellRendererTextEditableSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextEditableSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "editable-set"
+
+{- |
+Set the value of the “@editable-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #editableSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextEditableSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextEditableSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "editable-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@editable-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextEditableSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextEditableSet val = B.Properties.constructObjectPropertyBool "editable-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextEditableSetPropertyInfo
+instance AttrInfo CellRendererTextEditableSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextEditableSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextEditableSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextEditableSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextEditableSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextEditableSetPropertyInfo = "editable-set"
+    type AttrOrigin CellRendererTextEditableSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextEditableSet
+    attrSet _ = setCellRendererTextEditableSet
+    attrConstruct _ = constructCellRendererTextEditableSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "ellipsize"
+   -- Type: TInterface (Name {namespace = "Pango", name = "EllipsizeMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@ellipsize@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #ellipsize
+@
+-}
+getCellRendererTextEllipsize :: (MonadIO m, IsCellRendererText o) => o -> m Pango.Enums.EllipsizeMode
+getCellRendererTextEllipsize obj = liftIO $ B.Properties.getObjectPropertyEnum obj "ellipsize"
+
+{- |
+Set the value of the “@ellipsize@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #ellipsize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextEllipsize :: (MonadIO m, IsCellRendererText o) => o -> Pango.Enums.EllipsizeMode -> m ()
+setCellRendererTextEllipsize obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "ellipsize" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@ellipsize@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextEllipsize :: (IsCellRendererText o) => Pango.Enums.EllipsizeMode -> IO (GValueConstruct o)
+constructCellRendererTextEllipsize val = B.Properties.constructObjectPropertyEnum "ellipsize" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextEllipsizePropertyInfo
+instance AttrInfo CellRendererTextEllipsizePropertyInfo where
+    type AttrAllowedOps CellRendererTextEllipsizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextEllipsizePropertyInfo = (~) Pango.Enums.EllipsizeMode
+    type AttrBaseTypeConstraint CellRendererTextEllipsizePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextEllipsizePropertyInfo = Pango.Enums.EllipsizeMode
+    type AttrLabel CellRendererTextEllipsizePropertyInfo = "ellipsize"
+    type AttrOrigin CellRendererTextEllipsizePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextEllipsize
+    attrSet _ = setCellRendererTextEllipsize
+    attrConstruct _ = constructCellRendererTextEllipsize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "ellipsize-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@ellipsize-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #ellipsizeSet
+@
+-}
+getCellRendererTextEllipsizeSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextEllipsizeSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "ellipsize-set"
+
+{- |
+Set the value of the “@ellipsize-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #ellipsizeSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextEllipsizeSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextEllipsizeSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "ellipsize-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@ellipsize-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextEllipsizeSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextEllipsizeSet val = B.Properties.constructObjectPropertyBool "ellipsize-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextEllipsizeSetPropertyInfo
+instance AttrInfo CellRendererTextEllipsizeSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextEllipsizeSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextEllipsizeSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextEllipsizeSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextEllipsizeSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextEllipsizeSetPropertyInfo = "ellipsize-set"
+    type AttrOrigin CellRendererTextEllipsizeSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextEllipsizeSet
+    attrSet _ = setCellRendererTextEllipsizeSet
+    attrConstruct _ = constructCellRendererTextEllipsizeSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "family"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@family@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #family
+@
+-}
+getCellRendererTextFamily :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe T.Text)
+getCellRendererTextFamily obj = liftIO $ B.Properties.getObjectPropertyString obj "family"
+
+{- |
+Set the value of the “@family@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #family 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextFamily :: (MonadIO m, IsCellRendererText o) => o -> T.Text -> m ()
+setCellRendererTextFamily obj val = liftIO $ B.Properties.setObjectPropertyString obj "family" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@family@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextFamily :: (IsCellRendererText o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererTextFamily val = B.Properties.constructObjectPropertyString "family" (Just val)
+
+{- |
+Set the value of the “@family@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #family
+@
+-}
+clearCellRendererTextFamily :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextFamily obj = liftIO $ B.Properties.setObjectPropertyString obj "family" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextFamilyPropertyInfo
+instance AttrInfo CellRendererTextFamilyPropertyInfo where
+    type AttrAllowedOps CellRendererTextFamilyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextFamilyPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererTextFamilyPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextFamilyPropertyInfo = (Maybe T.Text)
+    type AttrLabel CellRendererTextFamilyPropertyInfo = "family"
+    type AttrOrigin CellRendererTextFamilyPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextFamily
+    attrSet _ = setCellRendererTextFamily
+    attrConstruct _ = constructCellRendererTextFamily
+    attrClear _ = clearCellRendererTextFamily
+#endif
+
+-- VVV Prop "family-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@family-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #familySet
+@
+-}
+getCellRendererTextFamilySet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextFamilySet obj = liftIO $ B.Properties.getObjectPropertyBool obj "family-set"
+
+{- |
+Set the value of the “@family-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #familySet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextFamilySet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextFamilySet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "family-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@family-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextFamilySet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextFamilySet val = B.Properties.constructObjectPropertyBool "family-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextFamilySetPropertyInfo
+instance AttrInfo CellRendererTextFamilySetPropertyInfo where
+    type AttrAllowedOps CellRendererTextFamilySetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextFamilySetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextFamilySetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextFamilySetPropertyInfo = Bool
+    type AttrLabel CellRendererTextFamilySetPropertyInfo = "family-set"
+    type AttrOrigin CellRendererTextFamilySetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextFamilySet
+    attrSet _ = setCellRendererTextFamilySet
+    attrConstruct _ = constructCellRendererTextFamilySet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "font"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@font@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #font
+@
+-}
+getCellRendererTextFont :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe T.Text)
+getCellRendererTextFont obj = liftIO $ B.Properties.getObjectPropertyString obj "font"
+
+{- |
+Set the value of the “@font@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #font 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextFont :: (MonadIO m, IsCellRendererText o) => o -> T.Text -> m ()
+setCellRendererTextFont obj val = liftIO $ B.Properties.setObjectPropertyString obj "font" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextFont :: (IsCellRendererText o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererTextFont val = B.Properties.constructObjectPropertyString "font" (Just val)
+
+{- |
+Set the value of the “@font@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #font
+@
+-}
+clearCellRendererTextFont :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextFont obj = liftIO $ B.Properties.setObjectPropertyString obj "font" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextFontPropertyInfo
+instance AttrInfo CellRendererTextFontPropertyInfo where
+    type AttrAllowedOps CellRendererTextFontPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextFontPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererTextFontPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextFontPropertyInfo = (Maybe T.Text)
+    type AttrLabel CellRendererTextFontPropertyInfo = "font"
+    type AttrOrigin CellRendererTextFontPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextFont
+    attrSet _ = setCellRendererTextFont
+    attrConstruct _ = constructCellRendererTextFont
+    attrClear _ = clearCellRendererTextFont
+#endif
+
+-- VVV Prop "font-desc"
+   -- Type: TInterface (Name {namespace = "Pango", name = "FontDescription"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@font-desc@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #fontDesc
+@
+-}
+getCellRendererTextFontDesc :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe Pango.FontDescription.FontDescription)
+getCellRendererTextFontDesc obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "font-desc" Pango.FontDescription.FontDescription
+
+{- |
+Set the value of the “@font-desc@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #fontDesc 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextFontDesc :: (MonadIO m, IsCellRendererText o) => o -> Pango.FontDescription.FontDescription -> m ()
+setCellRendererTextFontDesc obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "font-desc" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font-desc@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextFontDesc :: (IsCellRendererText o) => Pango.FontDescription.FontDescription -> IO (GValueConstruct o)
+constructCellRendererTextFontDesc val = B.Properties.constructObjectPropertyBoxed "font-desc" (Just val)
+
+{- |
+Set the value of the “@font-desc@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #fontDesc
+@
+-}
+clearCellRendererTextFontDesc :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextFontDesc obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "font-desc" (Nothing :: Maybe Pango.FontDescription.FontDescription)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextFontDescPropertyInfo
+instance AttrInfo CellRendererTextFontDescPropertyInfo where
+    type AttrAllowedOps CellRendererTextFontDescPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextFontDescPropertyInfo = (~) Pango.FontDescription.FontDescription
+    type AttrBaseTypeConstraint CellRendererTextFontDescPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextFontDescPropertyInfo = (Maybe Pango.FontDescription.FontDescription)
+    type AttrLabel CellRendererTextFontDescPropertyInfo = "font-desc"
+    type AttrOrigin CellRendererTextFontDescPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextFontDesc
+    attrSet _ = setCellRendererTextFontDesc
+    attrConstruct _ = constructCellRendererTextFontDesc
+    attrClear _ = clearCellRendererTextFontDesc
+#endif
+
+-- VVV Prop "foreground"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@foreground@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #foreground 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextForeground :: (MonadIO m, IsCellRendererText o) => o -> T.Text -> m ()
+setCellRendererTextForeground obj val = liftIO $ B.Properties.setObjectPropertyString obj "foreground" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@foreground@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextForeground :: (IsCellRendererText o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererTextForeground val = B.Properties.constructObjectPropertyString "foreground" (Just val)
+
+{- |
+Set the value of the “@foreground@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #foreground
+@
+-}
+clearCellRendererTextForeground :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextForeground obj = liftIO $ B.Properties.setObjectPropertyString obj "foreground" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextForegroundPropertyInfo
+instance AttrInfo CellRendererTextForegroundPropertyInfo where
+    type AttrAllowedOps CellRendererTextForegroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextForegroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererTextForegroundPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextForegroundPropertyInfo = ()
+    type AttrLabel CellRendererTextForegroundPropertyInfo = "foreground"
+    type AttrOrigin CellRendererTextForegroundPropertyInfo = CellRendererText
+    attrGet _ = undefined
+    attrSet _ = setCellRendererTextForeground
+    attrConstruct _ = constructCellRendererTextForeground
+    attrClear _ = clearCellRendererTextForeground
+#endif
+
+-- VVV Prop "foreground-gdk"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Color"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@foreground-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #foregroundGdk
+@
+-}
+getCellRendererTextForegroundGdk :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe Gdk.Color.Color)
+getCellRendererTextForegroundGdk obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "foreground-gdk" Gdk.Color.Color
+
+{- |
+Set the value of the “@foreground-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #foregroundGdk 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextForegroundGdk :: (MonadIO m, IsCellRendererText o) => o -> Gdk.Color.Color -> m ()
+setCellRendererTextForegroundGdk obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "foreground-gdk" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@foreground-gdk@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextForegroundGdk :: (IsCellRendererText o) => Gdk.Color.Color -> IO (GValueConstruct o)
+constructCellRendererTextForegroundGdk val = B.Properties.constructObjectPropertyBoxed "foreground-gdk" (Just val)
+
+{- |
+Set the value of the “@foreground-gdk@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #foregroundGdk
+@
+-}
+clearCellRendererTextForegroundGdk :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextForegroundGdk obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "foreground-gdk" (Nothing :: Maybe Gdk.Color.Color)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextForegroundGdkPropertyInfo
+instance AttrInfo CellRendererTextForegroundGdkPropertyInfo where
+    type AttrAllowedOps CellRendererTextForegroundGdkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextForegroundGdkPropertyInfo = (~) Gdk.Color.Color
+    type AttrBaseTypeConstraint CellRendererTextForegroundGdkPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextForegroundGdkPropertyInfo = (Maybe Gdk.Color.Color)
+    type AttrLabel CellRendererTextForegroundGdkPropertyInfo = "foreground-gdk"
+    type AttrOrigin CellRendererTextForegroundGdkPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextForegroundGdk
+    attrSet _ = setCellRendererTextForegroundGdk
+    attrConstruct _ = constructCellRendererTextForegroundGdk
+    attrClear _ = clearCellRendererTextForegroundGdk
+#endif
+
+-- VVV Prop "foreground-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@foreground-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #foregroundRgba
+@
+-}
+getCellRendererTextForegroundRgba :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getCellRendererTextForegroundRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "foreground-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@foreground-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #foregroundRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextForegroundRgba :: (MonadIO m, IsCellRendererText o) => o -> Gdk.RGBA.RGBA -> m ()
+setCellRendererTextForegroundRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "foreground-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@foreground-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextForegroundRgba :: (IsCellRendererText o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructCellRendererTextForegroundRgba val = B.Properties.constructObjectPropertyBoxed "foreground-rgba" (Just val)
+
+{- |
+Set the value of the “@foreground-rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #foregroundRgba
+@
+-}
+clearCellRendererTextForegroundRgba :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextForegroundRgba obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "foreground-rgba" (Nothing :: Maybe Gdk.RGBA.RGBA)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextForegroundRgbaPropertyInfo
+instance AttrInfo CellRendererTextForegroundRgbaPropertyInfo where
+    type AttrAllowedOps CellRendererTextForegroundRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextForegroundRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint CellRendererTextForegroundRgbaPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextForegroundRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel CellRendererTextForegroundRgbaPropertyInfo = "foreground-rgba"
+    type AttrOrigin CellRendererTextForegroundRgbaPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextForegroundRgba
+    attrSet _ = setCellRendererTextForegroundRgba
+    attrConstruct _ = constructCellRendererTextForegroundRgba
+    attrClear _ = clearCellRendererTextForegroundRgba
+#endif
+
+-- VVV Prop "foreground-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@foreground-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #foregroundSet
+@
+-}
+getCellRendererTextForegroundSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextForegroundSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "foreground-set"
+
+{- |
+Set the value of the “@foreground-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #foregroundSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextForegroundSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextForegroundSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "foreground-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@foreground-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextForegroundSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextForegroundSet val = B.Properties.constructObjectPropertyBool "foreground-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextForegroundSetPropertyInfo
+instance AttrInfo CellRendererTextForegroundSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextForegroundSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextForegroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextForegroundSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextForegroundSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextForegroundSetPropertyInfo = "foreground-set"
+    type AttrOrigin CellRendererTextForegroundSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextForegroundSet
+    attrSet _ = setCellRendererTextForegroundSet
+    attrConstruct _ = constructCellRendererTextForegroundSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "language"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@language@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #language
+@
+-}
+getCellRendererTextLanguage :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe T.Text)
+getCellRendererTextLanguage obj = liftIO $ B.Properties.getObjectPropertyString obj "language"
+
+{- |
+Set the value of the “@language@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #language 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextLanguage :: (MonadIO m, IsCellRendererText o) => o -> T.Text -> m ()
+setCellRendererTextLanguage obj val = liftIO $ B.Properties.setObjectPropertyString obj "language" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@language@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextLanguage :: (IsCellRendererText o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererTextLanguage val = B.Properties.constructObjectPropertyString "language" (Just val)
+
+{- |
+Set the value of the “@language@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #language
+@
+-}
+clearCellRendererTextLanguage :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextLanguage obj = liftIO $ B.Properties.setObjectPropertyString obj "language" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextLanguagePropertyInfo
+instance AttrInfo CellRendererTextLanguagePropertyInfo where
+    type AttrAllowedOps CellRendererTextLanguagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextLanguagePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererTextLanguagePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextLanguagePropertyInfo = (Maybe T.Text)
+    type AttrLabel CellRendererTextLanguagePropertyInfo = "language"
+    type AttrOrigin CellRendererTextLanguagePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextLanguage
+    attrSet _ = setCellRendererTextLanguage
+    attrConstruct _ = constructCellRendererTextLanguage
+    attrClear _ = clearCellRendererTextLanguage
+#endif
+
+-- VVV Prop "language-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@language-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #languageSet
+@
+-}
+getCellRendererTextLanguageSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextLanguageSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "language-set"
+
+{- |
+Set the value of the “@language-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #languageSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextLanguageSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextLanguageSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "language-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@language-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextLanguageSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextLanguageSet val = B.Properties.constructObjectPropertyBool "language-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextLanguageSetPropertyInfo
+instance AttrInfo CellRendererTextLanguageSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextLanguageSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextLanguageSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextLanguageSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextLanguageSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextLanguageSetPropertyInfo = "language-set"
+    type AttrOrigin CellRendererTextLanguageSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextLanguageSet
+    attrSet _ = setCellRendererTextLanguageSet
+    attrConstruct _ = constructCellRendererTextLanguageSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "markup"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #markup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextMarkup :: (MonadIO m, IsCellRendererText o) => o -> T.Text -> m ()
+setCellRendererTextMarkup obj val = liftIO $ B.Properties.setObjectPropertyString obj "markup" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextMarkup :: (IsCellRendererText o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererTextMarkup val = B.Properties.constructObjectPropertyString "markup" (Just val)
+
+{- |
+Set the value of the “@markup@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #markup
+@
+-}
+clearCellRendererTextMarkup :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextMarkup obj = liftIO $ B.Properties.setObjectPropertyString obj "markup" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextMarkupPropertyInfo
+instance AttrInfo CellRendererTextMarkupPropertyInfo where
+    type AttrAllowedOps CellRendererTextMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextMarkupPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererTextMarkupPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextMarkupPropertyInfo = ()
+    type AttrLabel CellRendererTextMarkupPropertyInfo = "markup"
+    type AttrOrigin CellRendererTextMarkupPropertyInfo = CellRendererText
+    attrGet _ = undefined
+    attrSet _ = setCellRendererTextMarkup
+    attrConstruct _ = constructCellRendererTextMarkup
+    attrClear _ = clearCellRendererTextMarkup
+#endif
+
+-- VVV Prop "max-width-chars"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@max-width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #maxWidthChars
+@
+-}
+getCellRendererTextMaxWidthChars :: (MonadIO m, IsCellRendererText o) => o -> m Int32
+getCellRendererTextMaxWidthChars obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-width-chars"
+
+{- |
+Set the value of the “@max-width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #maxWidthChars 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextMaxWidthChars :: (MonadIO m, IsCellRendererText o) => o -> Int32 -> m ()
+setCellRendererTextMaxWidthChars obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "max-width-chars" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-width-chars@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextMaxWidthChars :: (IsCellRendererText o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererTextMaxWidthChars val = B.Properties.constructObjectPropertyInt32 "max-width-chars" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextMaxWidthCharsPropertyInfo
+instance AttrInfo CellRendererTextMaxWidthCharsPropertyInfo where
+    type AttrAllowedOps CellRendererTextMaxWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextMaxWidthCharsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererTextMaxWidthCharsPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextMaxWidthCharsPropertyInfo = Int32
+    type AttrLabel CellRendererTextMaxWidthCharsPropertyInfo = "max-width-chars"
+    type AttrOrigin CellRendererTextMaxWidthCharsPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextMaxWidthChars
+    attrSet _ = setCellRendererTextMaxWidthChars
+    attrConstruct _ = constructCellRendererTextMaxWidthChars
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "placeholder-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@placeholder-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #placeholderText
+@
+-}
+getCellRendererTextPlaceholderText :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe T.Text)
+getCellRendererTextPlaceholderText obj = liftIO $ B.Properties.getObjectPropertyString obj "placeholder-text"
+
+{- |
+Set the value of the “@placeholder-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #placeholderText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextPlaceholderText :: (MonadIO m, IsCellRendererText o) => o -> T.Text -> m ()
+setCellRendererTextPlaceholderText obj val = liftIO $ B.Properties.setObjectPropertyString obj "placeholder-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@placeholder-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextPlaceholderText :: (IsCellRendererText o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererTextPlaceholderText val = B.Properties.constructObjectPropertyString "placeholder-text" (Just val)
+
+{- |
+Set the value of the “@placeholder-text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #placeholderText
+@
+-}
+clearCellRendererTextPlaceholderText :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextPlaceholderText obj = liftIO $ B.Properties.setObjectPropertyString obj "placeholder-text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextPlaceholderTextPropertyInfo
+instance AttrInfo CellRendererTextPlaceholderTextPropertyInfo where
+    type AttrAllowedOps CellRendererTextPlaceholderTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextPlaceholderTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererTextPlaceholderTextPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextPlaceholderTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel CellRendererTextPlaceholderTextPropertyInfo = "placeholder-text"
+    type AttrOrigin CellRendererTextPlaceholderTextPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextPlaceholderText
+    attrSet _ = setCellRendererTextPlaceholderText
+    attrConstruct _ = constructCellRendererTextPlaceholderText
+    attrClear _ = clearCellRendererTextPlaceholderText
+#endif
+
+-- VVV Prop "rise"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@rise@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #rise
+@
+-}
+getCellRendererTextRise :: (MonadIO m, IsCellRendererText o) => o -> m Int32
+getCellRendererTextRise obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "rise"
+
+{- |
+Set the value of the “@rise@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #rise 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextRise :: (MonadIO m, IsCellRendererText o) => o -> Int32 -> m ()
+setCellRendererTextRise obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "rise" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rise@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextRise :: (IsCellRendererText o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererTextRise val = B.Properties.constructObjectPropertyInt32 "rise" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextRisePropertyInfo
+instance AttrInfo CellRendererTextRisePropertyInfo where
+    type AttrAllowedOps CellRendererTextRisePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextRisePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererTextRisePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextRisePropertyInfo = Int32
+    type AttrLabel CellRendererTextRisePropertyInfo = "rise"
+    type AttrOrigin CellRendererTextRisePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextRise
+    attrSet _ = setCellRendererTextRise
+    attrConstruct _ = constructCellRendererTextRise
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "rise-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@rise-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #riseSet
+@
+-}
+getCellRendererTextRiseSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextRiseSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "rise-set"
+
+{- |
+Set the value of the “@rise-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #riseSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextRiseSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextRiseSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "rise-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rise-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextRiseSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextRiseSet val = B.Properties.constructObjectPropertyBool "rise-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextRiseSetPropertyInfo
+instance AttrInfo CellRendererTextRiseSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextRiseSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextRiseSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextRiseSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextRiseSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextRiseSetPropertyInfo = "rise-set"
+    type AttrOrigin CellRendererTextRiseSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextRiseSet
+    attrSet _ = setCellRendererTextRiseSet
+    attrConstruct _ = constructCellRendererTextRiseSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "scale"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@scale@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #scale
+@
+-}
+getCellRendererTextScale :: (MonadIO m, IsCellRendererText o) => o -> m Double
+getCellRendererTextScale obj = liftIO $ B.Properties.getObjectPropertyDouble obj "scale"
+
+{- |
+Set the value of the “@scale@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #scale 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextScale :: (MonadIO m, IsCellRendererText o) => o -> Double -> m ()
+setCellRendererTextScale obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "scale" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@scale@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextScale :: (IsCellRendererText o) => Double -> IO (GValueConstruct o)
+constructCellRendererTextScale val = B.Properties.constructObjectPropertyDouble "scale" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextScalePropertyInfo
+instance AttrInfo CellRendererTextScalePropertyInfo where
+    type AttrAllowedOps CellRendererTextScalePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextScalePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint CellRendererTextScalePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextScalePropertyInfo = Double
+    type AttrLabel CellRendererTextScalePropertyInfo = "scale"
+    type AttrOrigin CellRendererTextScalePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextScale
+    attrSet _ = setCellRendererTextScale
+    attrConstruct _ = constructCellRendererTextScale
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "scale-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@scale-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #scaleSet
+@
+-}
+getCellRendererTextScaleSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextScaleSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "scale-set"
+
+{- |
+Set the value of the “@scale-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #scaleSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextScaleSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextScaleSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "scale-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@scale-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextScaleSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextScaleSet val = B.Properties.constructObjectPropertyBool "scale-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextScaleSetPropertyInfo
+instance AttrInfo CellRendererTextScaleSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextScaleSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextScaleSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextScaleSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextScaleSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextScaleSetPropertyInfo = "scale-set"
+    type AttrOrigin CellRendererTextScaleSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextScaleSet
+    attrSet _ = setCellRendererTextScaleSet
+    attrConstruct _ = constructCellRendererTextScaleSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "single-paragraph-mode"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@single-paragraph-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #singleParagraphMode
+@
+-}
+getCellRendererTextSingleParagraphMode :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextSingleParagraphMode obj = liftIO $ B.Properties.getObjectPropertyBool obj "single-paragraph-mode"
+
+{- |
+Set the value of the “@single-paragraph-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #singleParagraphMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextSingleParagraphMode :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextSingleParagraphMode obj val = liftIO $ B.Properties.setObjectPropertyBool obj "single-paragraph-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@single-paragraph-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextSingleParagraphMode :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextSingleParagraphMode val = B.Properties.constructObjectPropertyBool "single-paragraph-mode" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextSingleParagraphModePropertyInfo
+instance AttrInfo CellRendererTextSingleParagraphModePropertyInfo where
+    type AttrAllowedOps CellRendererTextSingleParagraphModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextSingleParagraphModePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextSingleParagraphModePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextSingleParagraphModePropertyInfo = Bool
+    type AttrLabel CellRendererTextSingleParagraphModePropertyInfo = "single-paragraph-mode"
+    type AttrOrigin CellRendererTextSingleParagraphModePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextSingleParagraphMode
+    attrSet _ = setCellRendererTextSingleParagraphMode
+    attrConstruct _ = constructCellRendererTextSingleParagraphMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #size
+@
+-}
+getCellRendererTextSize :: (MonadIO m, IsCellRendererText o) => o -> m Int32
+getCellRendererTextSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "size"
+
+{- |
+Set the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #size 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextSize :: (MonadIO m, IsCellRendererText o) => o -> Int32 -> m ()
+setCellRendererTextSize obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextSize :: (IsCellRendererText o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererTextSize val = B.Properties.constructObjectPropertyInt32 "size" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextSizePropertyInfo
+instance AttrInfo CellRendererTextSizePropertyInfo where
+    type AttrAllowedOps CellRendererTextSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextSizePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererTextSizePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextSizePropertyInfo = Int32
+    type AttrLabel CellRendererTextSizePropertyInfo = "size"
+    type AttrOrigin CellRendererTextSizePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextSize
+    attrSet _ = setCellRendererTextSize
+    attrConstruct _ = constructCellRendererTextSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size-points"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@size-points@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #sizePoints
+@
+-}
+getCellRendererTextSizePoints :: (MonadIO m, IsCellRendererText o) => o -> m Double
+getCellRendererTextSizePoints obj = liftIO $ B.Properties.getObjectPropertyDouble obj "size-points"
+
+{- |
+Set the value of the “@size-points@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #sizePoints 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextSizePoints :: (MonadIO m, IsCellRendererText o) => o -> Double -> m ()
+setCellRendererTextSizePoints obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "size-points" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@size-points@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextSizePoints :: (IsCellRendererText o) => Double -> IO (GValueConstruct o)
+constructCellRendererTextSizePoints val = B.Properties.constructObjectPropertyDouble "size-points" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextSizePointsPropertyInfo
+instance AttrInfo CellRendererTextSizePointsPropertyInfo where
+    type AttrAllowedOps CellRendererTextSizePointsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextSizePointsPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint CellRendererTextSizePointsPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextSizePointsPropertyInfo = Double
+    type AttrLabel CellRendererTextSizePointsPropertyInfo = "size-points"
+    type AttrOrigin CellRendererTextSizePointsPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextSizePoints
+    attrSet _ = setCellRendererTextSizePoints
+    attrConstruct _ = constructCellRendererTextSizePoints
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@size-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #sizeSet
+@
+-}
+getCellRendererTextSizeSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextSizeSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "size-set"
+
+{- |
+Set the value of the “@size-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #sizeSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextSizeSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextSizeSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "size-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@size-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextSizeSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextSizeSet val = B.Properties.constructObjectPropertyBool "size-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextSizeSetPropertyInfo
+instance AttrInfo CellRendererTextSizeSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextSizeSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextSizeSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextSizeSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextSizeSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextSizeSetPropertyInfo = "size-set"
+    type AttrOrigin CellRendererTextSizeSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextSizeSet
+    attrSet _ = setCellRendererTextSizeSet
+    attrConstruct _ = constructCellRendererTextSizeSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "stretch"
+   -- Type: TInterface (Name {namespace = "Pango", name = "Stretch"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@stretch@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #stretch
+@
+-}
+getCellRendererTextStretch :: (MonadIO m, IsCellRendererText o) => o -> m Pango.Enums.Stretch
+getCellRendererTextStretch obj = liftIO $ B.Properties.getObjectPropertyEnum obj "stretch"
+
+{- |
+Set the value of the “@stretch@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #stretch 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextStretch :: (MonadIO m, IsCellRendererText o) => o -> Pango.Enums.Stretch -> m ()
+setCellRendererTextStretch obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "stretch" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stretch@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextStretch :: (IsCellRendererText o) => Pango.Enums.Stretch -> IO (GValueConstruct o)
+constructCellRendererTextStretch val = B.Properties.constructObjectPropertyEnum "stretch" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextStretchPropertyInfo
+instance AttrInfo CellRendererTextStretchPropertyInfo where
+    type AttrAllowedOps CellRendererTextStretchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextStretchPropertyInfo = (~) Pango.Enums.Stretch
+    type AttrBaseTypeConstraint CellRendererTextStretchPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextStretchPropertyInfo = Pango.Enums.Stretch
+    type AttrLabel CellRendererTextStretchPropertyInfo = "stretch"
+    type AttrOrigin CellRendererTextStretchPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextStretch
+    attrSet _ = setCellRendererTextStretch
+    attrConstruct _ = constructCellRendererTextStretch
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "stretch-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@stretch-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #stretchSet
+@
+-}
+getCellRendererTextStretchSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextStretchSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "stretch-set"
+
+{- |
+Set the value of the “@stretch-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #stretchSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextStretchSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextStretchSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "stretch-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stretch-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextStretchSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextStretchSet val = B.Properties.constructObjectPropertyBool "stretch-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextStretchSetPropertyInfo
+instance AttrInfo CellRendererTextStretchSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextStretchSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextStretchSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextStretchSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextStretchSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextStretchSetPropertyInfo = "stretch-set"
+    type AttrOrigin CellRendererTextStretchSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextStretchSet
+    attrSet _ = setCellRendererTextStretchSet
+    attrConstruct _ = constructCellRendererTextStretchSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "strikethrough"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@strikethrough@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #strikethrough
+@
+-}
+getCellRendererTextStrikethrough :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextStrikethrough obj = liftIO $ B.Properties.getObjectPropertyBool obj "strikethrough"
+
+{- |
+Set the value of the “@strikethrough@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #strikethrough 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextStrikethrough :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextStrikethrough obj val = liftIO $ B.Properties.setObjectPropertyBool obj "strikethrough" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@strikethrough@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextStrikethrough :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextStrikethrough val = B.Properties.constructObjectPropertyBool "strikethrough" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextStrikethroughPropertyInfo
+instance AttrInfo CellRendererTextStrikethroughPropertyInfo where
+    type AttrAllowedOps CellRendererTextStrikethroughPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextStrikethroughPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextStrikethroughPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextStrikethroughPropertyInfo = Bool
+    type AttrLabel CellRendererTextStrikethroughPropertyInfo = "strikethrough"
+    type AttrOrigin CellRendererTextStrikethroughPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextStrikethrough
+    attrSet _ = setCellRendererTextStrikethrough
+    attrConstruct _ = constructCellRendererTextStrikethrough
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "strikethrough-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@strikethrough-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #strikethroughSet
+@
+-}
+getCellRendererTextStrikethroughSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextStrikethroughSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "strikethrough-set"
+
+{- |
+Set the value of the “@strikethrough-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #strikethroughSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextStrikethroughSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextStrikethroughSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "strikethrough-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@strikethrough-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextStrikethroughSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextStrikethroughSet val = B.Properties.constructObjectPropertyBool "strikethrough-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextStrikethroughSetPropertyInfo
+instance AttrInfo CellRendererTextStrikethroughSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextStrikethroughSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextStrikethroughSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextStrikethroughSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextStrikethroughSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextStrikethroughSetPropertyInfo = "strikethrough-set"
+    type AttrOrigin CellRendererTextStrikethroughSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextStrikethroughSet
+    attrSet _ = setCellRendererTextStrikethroughSet
+    attrConstruct _ = constructCellRendererTextStrikethroughSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "style"
+   -- Type: TInterface (Name {namespace = "Pango", name = "Style"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #style
+@
+-}
+getCellRendererTextStyle :: (MonadIO m, IsCellRendererText o) => o -> m Pango.Enums.Style
+getCellRendererTextStyle obj = liftIO $ B.Properties.getObjectPropertyEnum obj "style"
+
+{- |
+Set the value of the “@style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #style 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextStyle :: (MonadIO m, IsCellRendererText o) => o -> Pango.Enums.Style -> m ()
+setCellRendererTextStyle obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "style" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextStyle :: (IsCellRendererText o) => Pango.Enums.Style -> IO (GValueConstruct o)
+constructCellRendererTextStyle val = B.Properties.constructObjectPropertyEnum "style" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextStylePropertyInfo
+instance AttrInfo CellRendererTextStylePropertyInfo where
+    type AttrAllowedOps CellRendererTextStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextStylePropertyInfo = (~) Pango.Enums.Style
+    type AttrBaseTypeConstraint CellRendererTextStylePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextStylePropertyInfo = Pango.Enums.Style
+    type AttrLabel CellRendererTextStylePropertyInfo = "style"
+    type AttrOrigin CellRendererTextStylePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextStyle
+    attrSet _ = setCellRendererTextStyle
+    attrConstruct _ = constructCellRendererTextStyle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "style-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@style-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #styleSet
+@
+-}
+getCellRendererTextStyleSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextStyleSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "style-set"
+
+{- |
+Set the value of the “@style-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #styleSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextStyleSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextStyleSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "style-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@style-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextStyleSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextStyleSet val = B.Properties.constructObjectPropertyBool "style-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextStyleSetPropertyInfo
+instance AttrInfo CellRendererTextStyleSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextStyleSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextStyleSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextStyleSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextStyleSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextStyleSetPropertyInfo = "style-set"
+    type AttrOrigin CellRendererTextStyleSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextStyleSet
+    attrSet _ = setCellRendererTextStyleSet
+    attrConstruct _ = constructCellRendererTextStyleSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #text
+@
+-}
+getCellRendererTextText :: (MonadIO m, IsCellRendererText o) => o -> m (Maybe T.Text)
+getCellRendererTextText obj = liftIO $ B.Properties.getObjectPropertyString obj "text"
+
+{- |
+Set the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #text 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextText :: (MonadIO m, IsCellRendererText o) => o -> T.Text -> m ()
+setCellRendererTextText obj val = liftIO $ B.Properties.setObjectPropertyString obj "text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextText :: (IsCellRendererText o) => T.Text -> IO (GValueConstruct o)
+constructCellRendererTextText val = B.Properties.constructObjectPropertyString "text" (Just val)
+
+{- |
+Set the value of the “@text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #text
+@
+-}
+clearCellRendererTextText :: (MonadIO m, IsCellRendererText o) => o -> m ()
+clearCellRendererTextText obj = liftIO $ B.Properties.setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellRendererTextTextPropertyInfo
+instance AttrInfo CellRendererTextTextPropertyInfo where
+    type AttrAllowedOps CellRendererTextTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellRendererTextTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellRendererTextTextPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel CellRendererTextTextPropertyInfo = "text"
+    type AttrOrigin CellRendererTextTextPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextText
+    attrSet _ = setCellRendererTextText
+    attrConstruct _ = constructCellRendererTextText
+    attrClear _ = clearCellRendererTextText
+#endif
+
+-- VVV Prop "underline"
+   -- Type: TInterface (Name {namespace = "Pango", name = "Underline"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #underline
+@
+-}
+getCellRendererTextUnderline :: (MonadIO m, IsCellRendererText o) => o -> m Pango.Enums.Underline
+getCellRendererTextUnderline obj = liftIO $ B.Properties.getObjectPropertyEnum obj "underline"
+
+{- |
+Set the value of the “@underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #underline 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextUnderline :: (MonadIO m, IsCellRendererText o) => o -> Pango.Enums.Underline -> m ()
+setCellRendererTextUnderline obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "underline" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@underline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextUnderline :: (IsCellRendererText o) => Pango.Enums.Underline -> IO (GValueConstruct o)
+constructCellRendererTextUnderline val = B.Properties.constructObjectPropertyEnum "underline" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextUnderlinePropertyInfo
+instance AttrInfo CellRendererTextUnderlinePropertyInfo where
+    type AttrAllowedOps CellRendererTextUnderlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextUnderlinePropertyInfo = (~) Pango.Enums.Underline
+    type AttrBaseTypeConstraint CellRendererTextUnderlinePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextUnderlinePropertyInfo = Pango.Enums.Underline
+    type AttrLabel CellRendererTextUnderlinePropertyInfo = "underline"
+    type AttrOrigin CellRendererTextUnderlinePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextUnderline
+    attrSet _ = setCellRendererTextUnderline
+    attrConstruct _ = constructCellRendererTextUnderline
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "underline-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@underline-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #underlineSet
+@
+-}
+getCellRendererTextUnderlineSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextUnderlineSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "underline-set"
+
+{- |
+Set the value of the “@underline-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #underlineSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextUnderlineSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextUnderlineSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "underline-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@underline-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextUnderlineSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextUnderlineSet val = B.Properties.constructObjectPropertyBool "underline-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextUnderlineSetPropertyInfo
+instance AttrInfo CellRendererTextUnderlineSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextUnderlineSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextUnderlineSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextUnderlineSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextUnderlineSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextUnderlineSetPropertyInfo = "underline-set"
+    type AttrOrigin CellRendererTextUnderlineSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextUnderlineSet
+    attrSet _ = setCellRendererTextUnderlineSet
+    attrConstruct _ = constructCellRendererTextUnderlineSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "variant"
+   -- Type: TInterface (Name {namespace = "Pango", name = "Variant"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@variant@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #variant
+@
+-}
+getCellRendererTextVariant :: (MonadIO m, IsCellRendererText o) => o -> m Pango.Enums.Variant
+getCellRendererTextVariant obj = liftIO $ B.Properties.getObjectPropertyEnum obj "variant"
+
+{- |
+Set the value of the “@variant@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #variant 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextVariant :: (MonadIO m, IsCellRendererText o) => o -> Pango.Enums.Variant -> m ()
+setCellRendererTextVariant obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "variant" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@variant@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextVariant :: (IsCellRendererText o) => Pango.Enums.Variant -> IO (GValueConstruct o)
+constructCellRendererTextVariant val = B.Properties.constructObjectPropertyEnum "variant" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextVariantPropertyInfo
+instance AttrInfo CellRendererTextVariantPropertyInfo where
+    type AttrAllowedOps CellRendererTextVariantPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextVariantPropertyInfo = (~) Pango.Enums.Variant
+    type AttrBaseTypeConstraint CellRendererTextVariantPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextVariantPropertyInfo = Pango.Enums.Variant
+    type AttrLabel CellRendererTextVariantPropertyInfo = "variant"
+    type AttrOrigin CellRendererTextVariantPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextVariant
+    attrSet _ = setCellRendererTextVariant
+    attrConstruct _ = constructCellRendererTextVariant
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "variant-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@variant-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #variantSet
+@
+-}
+getCellRendererTextVariantSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextVariantSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "variant-set"
+
+{- |
+Set the value of the “@variant-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #variantSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextVariantSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextVariantSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "variant-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@variant-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextVariantSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextVariantSet val = B.Properties.constructObjectPropertyBool "variant-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextVariantSetPropertyInfo
+instance AttrInfo CellRendererTextVariantSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextVariantSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextVariantSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextVariantSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextVariantSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextVariantSetPropertyInfo = "variant-set"
+    type AttrOrigin CellRendererTextVariantSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextVariantSet
+    attrSet _ = setCellRendererTextVariantSet
+    attrConstruct _ = constructCellRendererTextVariantSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "weight"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@weight@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #weight
+@
+-}
+getCellRendererTextWeight :: (MonadIO m, IsCellRendererText o) => o -> m Int32
+getCellRendererTextWeight obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "weight"
+
+{- |
+Set the value of the “@weight@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #weight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextWeight :: (MonadIO m, IsCellRendererText o) => o -> Int32 -> m ()
+setCellRendererTextWeight obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "weight" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@weight@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextWeight :: (IsCellRendererText o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererTextWeight val = B.Properties.constructObjectPropertyInt32 "weight" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextWeightPropertyInfo
+instance AttrInfo CellRendererTextWeightPropertyInfo where
+    type AttrAllowedOps CellRendererTextWeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextWeightPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererTextWeightPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextWeightPropertyInfo = Int32
+    type AttrLabel CellRendererTextWeightPropertyInfo = "weight"
+    type AttrOrigin CellRendererTextWeightPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextWeight
+    attrSet _ = setCellRendererTextWeight
+    attrConstruct _ = constructCellRendererTextWeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "weight-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@weight-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #weightSet
+@
+-}
+getCellRendererTextWeightSet :: (MonadIO m, IsCellRendererText o) => o -> m Bool
+getCellRendererTextWeightSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "weight-set"
+
+{- |
+Set the value of the “@weight-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #weightSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextWeightSet :: (MonadIO m, IsCellRendererText o) => o -> Bool -> m ()
+setCellRendererTextWeightSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "weight-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@weight-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextWeightSet :: (IsCellRendererText o) => Bool -> IO (GValueConstruct o)
+constructCellRendererTextWeightSet val = B.Properties.constructObjectPropertyBool "weight-set" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextWeightSetPropertyInfo
+instance AttrInfo CellRendererTextWeightSetPropertyInfo where
+    type AttrAllowedOps CellRendererTextWeightSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextWeightSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererTextWeightSetPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextWeightSetPropertyInfo = Bool
+    type AttrLabel CellRendererTextWeightSetPropertyInfo = "weight-set"
+    type AttrOrigin CellRendererTextWeightSetPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextWeightSet
+    attrSet _ = setCellRendererTextWeightSet
+    attrConstruct _ = constructCellRendererTextWeightSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "width-chars"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #widthChars
+@
+-}
+getCellRendererTextWidthChars :: (MonadIO m, IsCellRendererText o) => o -> m Int32
+getCellRendererTextWidthChars obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "width-chars"
+
+{- |
+Set the value of the “@width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #widthChars 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextWidthChars :: (MonadIO m, IsCellRendererText o) => o -> Int32 -> m ()
+setCellRendererTextWidthChars obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "width-chars" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@width-chars@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextWidthChars :: (IsCellRendererText o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererTextWidthChars val = B.Properties.constructObjectPropertyInt32 "width-chars" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextWidthCharsPropertyInfo
+instance AttrInfo CellRendererTextWidthCharsPropertyInfo where
+    type AttrAllowedOps CellRendererTextWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextWidthCharsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererTextWidthCharsPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextWidthCharsPropertyInfo = Int32
+    type AttrLabel CellRendererTextWidthCharsPropertyInfo = "width-chars"
+    type AttrOrigin CellRendererTextWidthCharsPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextWidthChars
+    attrSet _ = setCellRendererTextWidthChars
+    attrConstruct _ = constructCellRendererTextWidthChars
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wrap-mode"
+   -- Type: TInterface (Name {namespace = "Pango", name = "WrapMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@wrap-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #wrapMode
+@
+-}
+getCellRendererTextWrapMode :: (MonadIO m, IsCellRendererText o) => o -> m Pango.Enums.WrapMode
+getCellRendererTextWrapMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "wrap-mode"
+
+{- |
+Set the value of the “@wrap-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #wrapMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextWrapMode :: (MonadIO m, IsCellRendererText o) => o -> Pango.Enums.WrapMode -> m ()
+setCellRendererTextWrapMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "wrap-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextWrapMode :: (IsCellRendererText o) => Pango.Enums.WrapMode -> IO (GValueConstruct o)
+constructCellRendererTextWrapMode val = B.Properties.constructObjectPropertyEnum "wrap-mode" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextWrapModePropertyInfo
+instance AttrInfo CellRendererTextWrapModePropertyInfo where
+    type AttrAllowedOps CellRendererTextWrapModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextWrapModePropertyInfo = (~) Pango.Enums.WrapMode
+    type AttrBaseTypeConstraint CellRendererTextWrapModePropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextWrapModePropertyInfo = Pango.Enums.WrapMode
+    type AttrLabel CellRendererTextWrapModePropertyInfo = "wrap-mode"
+    type AttrOrigin CellRendererTextWrapModePropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextWrapMode
+    attrSet _ = setCellRendererTextWrapMode
+    attrConstruct _ = constructCellRendererTextWrapMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wrap-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@wrap-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererText #wrapWidth
+@
+-}
+getCellRendererTextWrapWidth :: (MonadIO m, IsCellRendererText o) => o -> m Int32
+getCellRendererTextWrapWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "wrap-width"
+
+{- |
+Set the value of the “@wrap-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererText [ #wrapWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererTextWrapWidth :: (MonadIO m, IsCellRendererText o) => o -> Int32 -> m ()
+setCellRendererTextWrapWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "wrap-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererTextWrapWidth :: (IsCellRendererText o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererTextWrapWidth val = B.Properties.constructObjectPropertyInt32 "wrap-width" val
+
+#if ENABLE_OVERLOADING
+data CellRendererTextWrapWidthPropertyInfo
+instance AttrInfo CellRendererTextWrapWidthPropertyInfo where
+    type AttrAllowedOps CellRendererTextWrapWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererTextWrapWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererTextWrapWidthPropertyInfo = IsCellRendererText
+    type AttrGetType CellRendererTextWrapWidthPropertyInfo = Int32
+    type AttrLabel CellRendererTextWrapWidthPropertyInfo = "wrap-width"
+    type AttrOrigin CellRendererTextWrapWidthPropertyInfo = CellRendererText
+    attrGet _ = getCellRendererTextWrapWidth
+    attrSet _ = setCellRendererTextWrapWidth
+    attrConstruct _ = constructCellRendererTextWrapWidth
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellRendererText
+type instance O.AttributeList CellRendererText = CellRendererTextAttributeList
+type CellRendererTextAttributeList = ('[ '("alignSet", CellRendererTextAlignSetPropertyInfo), '("alignment", CellRendererTextAlignmentPropertyInfo), '("attributes", CellRendererTextAttributesPropertyInfo), '("background", CellRendererTextBackgroundPropertyInfo), '("backgroundGdk", CellRendererTextBackgroundGdkPropertyInfo), '("backgroundRgba", CellRendererTextBackgroundRgbaPropertyInfo), '("backgroundSet", CellRendererTextBackgroundSetPropertyInfo), '("cellBackground", Gtk.CellRenderer.CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", Gtk.CellRenderer.CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", Gtk.CellRenderer.CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", Gtk.CellRenderer.CellRendererCellBackgroundSetPropertyInfo), '("editable", CellRendererTextEditablePropertyInfo), '("editableSet", CellRendererTextEditableSetPropertyInfo), '("editing", Gtk.CellRenderer.CellRendererEditingPropertyInfo), '("ellipsize", CellRendererTextEllipsizePropertyInfo), '("ellipsizeSet", CellRendererTextEllipsizeSetPropertyInfo), '("family", CellRendererTextFamilyPropertyInfo), '("familySet", CellRendererTextFamilySetPropertyInfo), '("font", CellRendererTextFontPropertyInfo), '("fontDesc", CellRendererTextFontDescPropertyInfo), '("foreground", CellRendererTextForegroundPropertyInfo), '("foregroundGdk", CellRendererTextForegroundGdkPropertyInfo), '("foregroundRgba", CellRendererTextForegroundRgbaPropertyInfo), '("foregroundSet", CellRendererTextForegroundSetPropertyInfo), '("height", Gtk.CellRenderer.CellRendererHeightPropertyInfo), '("isExpanded", Gtk.CellRenderer.CellRendererIsExpandedPropertyInfo), '("isExpander", Gtk.CellRenderer.CellRendererIsExpanderPropertyInfo), '("language", CellRendererTextLanguagePropertyInfo), '("languageSet", CellRendererTextLanguageSetPropertyInfo), '("markup", CellRendererTextMarkupPropertyInfo), '("maxWidthChars", CellRendererTextMaxWidthCharsPropertyInfo), '("mode", Gtk.CellRenderer.CellRendererModePropertyInfo), '("placeholderText", CellRendererTextPlaceholderTextPropertyInfo), '("rise", CellRendererTextRisePropertyInfo), '("riseSet", CellRendererTextRiseSetPropertyInfo), '("scale", CellRendererTextScalePropertyInfo), '("scaleSet", CellRendererTextScaleSetPropertyInfo), '("sensitive", Gtk.CellRenderer.CellRendererSensitivePropertyInfo), '("singleParagraphMode", CellRendererTextSingleParagraphModePropertyInfo), '("size", CellRendererTextSizePropertyInfo), '("sizePoints", CellRendererTextSizePointsPropertyInfo), '("sizeSet", CellRendererTextSizeSetPropertyInfo), '("stretch", CellRendererTextStretchPropertyInfo), '("stretchSet", CellRendererTextStretchSetPropertyInfo), '("strikethrough", CellRendererTextStrikethroughPropertyInfo), '("strikethroughSet", CellRendererTextStrikethroughSetPropertyInfo), '("style", CellRendererTextStylePropertyInfo), '("styleSet", CellRendererTextStyleSetPropertyInfo), '("text", CellRendererTextTextPropertyInfo), '("underline", CellRendererTextUnderlinePropertyInfo), '("underlineSet", CellRendererTextUnderlineSetPropertyInfo), '("variant", CellRendererTextVariantPropertyInfo), '("variantSet", CellRendererTextVariantSetPropertyInfo), '("visible", Gtk.CellRenderer.CellRendererVisiblePropertyInfo), '("weight", CellRendererTextWeightPropertyInfo), '("weightSet", CellRendererTextWeightSetPropertyInfo), '("width", Gtk.CellRenderer.CellRendererWidthPropertyInfo), '("widthChars", CellRendererTextWidthCharsPropertyInfo), '("wrapMode", CellRendererTextWrapModePropertyInfo), '("wrapWidth", CellRendererTextWrapWidthPropertyInfo), '("xalign", Gtk.CellRenderer.CellRendererXalignPropertyInfo), '("xpad", Gtk.CellRenderer.CellRendererXpadPropertyInfo), '("yalign", Gtk.CellRenderer.CellRendererYalignPropertyInfo), '("ypad", Gtk.CellRenderer.CellRendererYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellRendererTextAlignSet :: AttrLabelProxy "alignSet"
+cellRendererTextAlignSet = AttrLabelProxy
+
+cellRendererTextAlignment :: AttrLabelProxy "alignment"
+cellRendererTextAlignment = AttrLabelProxy
+
+cellRendererTextAttributes :: AttrLabelProxy "attributes"
+cellRendererTextAttributes = AttrLabelProxy
+
+cellRendererTextBackground :: AttrLabelProxy "background"
+cellRendererTextBackground = AttrLabelProxy
+
+cellRendererTextBackgroundGdk :: AttrLabelProxy "backgroundGdk"
+cellRendererTextBackgroundGdk = AttrLabelProxy
+
+cellRendererTextBackgroundRgba :: AttrLabelProxy "backgroundRgba"
+cellRendererTextBackgroundRgba = AttrLabelProxy
+
+cellRendererTextBackgroundSet :: AttrLabelProxy "backgroundSet"
+cellRendererTextBackgroundSet = AttrLabelProxy
+
+cellRendererTextEditable :: AttrLabelProxy "editable"
+cellRendererTextEditable = AttrLabelProxy
+
+cellRendererTextEditableSet :: AttrLabelProxy "editableSet"
+cellRendererTextEditableSet = AttrLabelProxy
+
+cellRendererTextEllipsize :: AttrLabelProxy "ellipsize"
+cellRendererTextEllipsize = AttrLabelProxy
+
+cellRendererTextEllipsizeSet :: AttrLabelProxy "ellipsizeSet"
+cellRendererTextEllipsizeSet = AttrLabelProxy
+
+cellRendererTextFamily :: AttrLabelProxy "family"
+cellRendererTextFamily = AttrLabelProxy
+
+cellRendererTextFamilySet :: AttrLabelProxy "familySet"
+cellRendererTextFamilySet = AttrLabelProxy
+
+cellRendererTextFont :: AttrLabelProxy "font"
+cellRendererTextFont = AttrLabelProxy
+
+cellRendererTextFontDesc :: AttrLabelProxy "fontDesc"
+cellRendererTextFontDesc = AttrLabelProxy
+
+cellRendererTextForeground :: AttrLabelProxy "foreground"
+cellRendererTextForeground = AttrLabelProxy
+
+cellRendererTextForegroundGdk :: AttrLabelProxy "foregroundGdk"
+cellRendererTextForegroundGdk = AttrLabelProxy
+
+cellRendererTextForegroundRgba :: AttrLabelProxy "foregroundRgba"
+cellRendererTextForegroundRgba = AttrLabelProxy
+
+cellRendererTextForegroundSet :: AttrLabelProxy "foregroundSet"
+cellRendererTextForegroundSet = AttrLabelProxy
+
+cellRendererTextLanguage :: AttrLabelProxy "language"
+cellRendererTextLanguage = AttrLabelProxy
+
+cellRendererTextLanguageSet :: AttrLabelProxy "languageSet"
+cellRendererTextLanguageSet = AttrLabelProxy
+
+cellRendererTextMarkup :: AttrLabelProxy "markup"
+cellRendererTextMarkup = AttrLabelProxy
+
+cellRendererTextMaxWidthChars :: AttrLabelProxy "maxWidthChars"
+cellRendererTextMaxWidthChars = AttrLabelProxy
+
+cellRendererTextPlaceholderText :: AttrLabelProxy "placeholderText"
+cellRendererTextPlaceholderText = AttrLabelProxy
+
+cellRendererTextRise :: AttrLabelProxy "rise"
+cellRendererTextRise = AttrLabelProxy
+
+cellRendererTextRiseSet :: AttrLabelProxy "riseSet"
+cellRendererTextRiseSet = AttrLabelProxy
+
+cellRendererTextScale :: AttrLabelProxy "scale"
+cellRendererTextScale = AttrLabelProxy
+
+cellRendererTextScaleSet :: AttrLabelProxy "scaleSet"
+cellRendererTextScaleSet = AttrLabelProxy
+
+cellRendererTextSingleParagraphMode :: AttrLabelProxy "singleParagraphMode"
+cellRendererTextSingleParagraphMode = AttrLabelProxy
+
+cellRendererTextSize :: AttrLabelProxy "size"
+cellRendererTextSize = AttrLabelProxy
+
+cellRendererTextSizePoints :: AttrLabelProxy "sizePoints"
+cellRendererTextSizePoints = AttrLabelProxy
+
+cellRendererTextSizeSet :: AttrLabelProxy "sizeSet"
+cellRendererTextSizeSet = AttrLabelProxy
+
+cellRendererTextStretch :: AttrLabelProxy "stretch"
+cellRendererTextStretch = AttrLabelProxy
+
+cellRendererTextStretchSet :: AttrLabelProxy "stretchSet"
+cellRendererTextStretchSet = AttrLabelProxy
+
+cellRendererTextStrikethrough :: AttrLabelProxy "strikethrough"
+cellRendererTextStrikethrough = AttrLabelProxy
+
+cellRendererTextStrikethroughSet :: AttrLabelProxy "strikethroughSet"
+cellRendererTextStrikethroughSet = AttrLabelProxy
+
+cellRendererTextStyle :: AttrLabelProxy "style"
+cellRendererTextStyle = AttrLabelProxy
+
+cellRendererTextStyleSet :: AttrLabelProxy "styleSet"
+cellRendererTextStyleSet = AttrLabelProxy
+
+cellRendererTextText :: AttrLabelProxy "text"
+cellRendererTextText = AttrLabelProxy
+
+cellRendererTextUnderline :: AttrLabelProxy "underline"
+cellRendererTextUnderline = AttrLabelProxy
+
+cellRendererTextUnderlineSet :: AttrLabelProxy "underlineSet"
+cellRendererTextUnderlineSet = AttrLabelProxy
+
+cellRendererTextVariant :: AttrLabelProxy "variant"
+cellRendererTextVariant = AttrLabelProxy
+
+cellRendererTextVariantSet :: AttrLabelProxy "variantSet"
+cellRendererTextVariantSet = AttrLabelProxy
+
+cellRendererTextWeight :: AttrLabelProxy "weight"
+cellRendererTextWeight = AttrLabelProxy
+
+cellRendererTextWeightSet :: AttrLabelProxy "weightSet"
+cellRendererTextWeightSet = AttrLabelProxy
+
+cellRendererTextWidthChars :: AttrLabelProxy "widthChars"
+cellRendererTextWidthChars = AttrLabelProxy
+
+cellRendererTextWrapMode :: AttrLabelProxy "wrapMode"
+cellRendererTextWrapMode = AttrLabelProxy
+
+cellRendererTextWrapWidth :: AttrLabelProxy "wrapWidth"
+cellRendererTextWrapWidth = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data CellRendererTextEditedSignalInfo
+instance SignalInfo CellRendererTextEditedSignalInfo where
+    type HaskellCallbackType CellRendererTextEditedSignalInfo = CellRendererTextEditedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellRendererTextEditedCallback cb
+        cb'' <- mk_CellRendererTextEditedCallback cb'
+        connectSignalFunPtr obj "edited" cb'' connectMode
+
+type instance O.SignalList CellRendererText = CellRendererTextSignalList
+type CellRendererTextSignalList = ('[ '("edited", CellRendererTextEditedSignalInfo), '("editingCanceled", Gtk.CellRenderer.CellRendererEditingCanceledSignalInfo), '("editingStarted", Gtk.CellRenderer.CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellRendererText::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererText"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_text_new" gtk_cell_renderer_text_new :: 
+    IO (Ptr CellRendererText)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellRendererText.CellRendererText'. Adjust how text is drawn using
+object properties. Object properties can be
+set globally (with @/g_object_set()/@). Also, with 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn',
+you can bind a property to a value in a 'GI.Gtk.Interfaces.TreeModel.TreeModel'. For example,
+you can bind the “text” property on the cell renderer to a string
+value in the model, thus rendering a different string in each row
+of the 'GI.Gtk.Objects.TreeView.TreeView'
+-}
+cellRendererTextNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellRendererText
+    {- ^ __Returns:__ the new cell renderer -}
+cellRendererTextNew  = liftIO $ do
+    result <- gtk_cell_renderer_text_new
+    checkUnexpectedReturnNULL "cellRendererTextNew" result
+    result' <- (newObject CellRendererText) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CellRendererText::set_fixed_height_from_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRendererText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "number_of_rows", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of rows of text each cell renderer is allocated, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_text_set_fixed_height_from_font" gtk_cell_renderer_text_set_fixed_height_from_font :: 
+    Ptr CellRendererText ->                 -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRendererText"})
+    Int32 ->                                -- number_of_rows : TBasicType TInt
+    IO ()
+
+{- |
+Sets the height of a renderer to explicitly be determined by the “font” and
+“y_pad” property set on it.  Further changes in these properties do not
+affect the height, so they must be accompanied by a subsequent call to this
+function.  Using this function is unflexible, and should really only be used
+if calculating the size of a cell is too slow (ie, a massive number of cells
+displayed).  If /@numberOfRows@/ is -1, then the fixed height is unset, and
+the height is determined by the properties again.
+-}
+cellRendererTextSetFixedHeightFromFont ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRendererText a) =>
+    a
+    {- ^ /@renderer@/: A 'GI.Gtk.Objects.CellRendererText.CellRendererText' -}
+    -> Int32
+    {- ^ /@numberOfRows@/: Number of rows of text each cell renderer is allocated, or -1 -}
+    -> m ()
+cellRendererTextSetFixedHeightFromFont renderer numberOfRows = liftIO $ do
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    gtk_cell_renderer_text_set_fixed_height_from_font renderer' numberOfRows
+    touchManagedPtr renderer
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererTextSetFixedHeightFromFontMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsCellRendererText a) => O.MethodInfo CellRendererTextSetFixedHeightFromFontMethodInfo a signature where
+    overloadedMethod _ = cellRendererTextSetFixedHeightFromFont
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellRendererText.hs-boot b/GI/Gtk/Objects/CellRendererText.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererText.hs-boot
@@ -0,0 +1,179 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellRendererText where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellRendererText = CellRendererText (ManagedPtr CellRendererText)
+instance GObject CellRendererText where
+class (GObject o, O.IsDescendantOf CellRendererText o) => IsCellRendererText o
+instance (GObject o, O.IsDescendantOf CellRendererText o) => IsCellRendererText o
+instance O.HasParentTypes CellRendererText
+#if ENABLE_OVERLOADING
+data CellRendererTextAlignSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextAlignmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextAttributesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextBackgroundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextBackgroundGdkPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextBackgroundRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextBackgroundSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextEditablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextEditableSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextEllipsizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextEllipsizeSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextFamilyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextFamilySetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextFontPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextFontDescPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextForegroundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextForegroundGdkPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextForegroundRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextForegroundSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextLanguagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextLanguageSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextMarkupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextMaxWidthCharsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextPlaceholderTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextRisePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextRiseSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextScalePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextScaleSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextSingleParagraphModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextSizePointsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextSizeSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextStretchPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextStretchSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextStrikethroughPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextStrikethroughSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextStyleSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextUnderlinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextUnderlineSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextVariantPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextVariantSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextWeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextWeightSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextWidthCharsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextWrapModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextWrapWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextEditedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererTextSetFixedHeightFromFontMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CellRendererToggle.hs b/GI/Gtk/Objects/CellRendererToggle.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererToggle.hs
@@ -0,0 +1,900 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle' renders a toggle button in a cell. The
+button is drawn as a radio or a checkbutton, depending on the
+'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle':@/radio/@ property.
+When activated, it emits the 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle'::@/toggled/@ signal.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellRendererToggle
+    ( 
+
+-- * Exported types
+    CellRendererToggle(..)                  ,
+    IsCellRendererToggle                    ,
+    toCellRendererToggle                    ,
+    noCellRendererToggle                    ,
+
+
+ -- * Methods
+-- ** getActivatable #method:getActivatable#
+
+#if ENABLE_OVERLOADING
+    CellRendererToggleGetActivatableMethodInfo,
+#endif
+    cellRendererToggleGetActivatable        ,
+
+
+-- ** getActive #method:getActive#
+
+#if ENABLE_OVERLOADING
+    CellRendererToggleGetActiveMethodInfo   ,
+#endif
+    cellRendererToggleGetActive             ,
+
+
+-- ** getRadio #method:getRadio#
+
+#if ENABLE_OVERLOADING
+    CellRendererToggleGetRadioMethodInfo    ,
+#endif
+    cellRendererToggleGetRadio              ,
+
+
+-- ** new #method:new#
+
+    cellRendererToggleNew                   ,
+
+
+-- ** setActivatable #method:setActivatable#
+
+#if ENABLE_OVERLOADING
+    CellRendererToggleSetActivatableMethodInfo,
+#endif
+    cellRendererToggleSetActivatable        ,
+
+
+-- ** setActive #method:setActive#
+
+#if ENABLE_OVERLOADING
+    CellRendererToggleSetActiveMethodInfo   ,
+#endif
+    cellRendererToggleSetActive             ,
+
+
+-- ** setRadio #method:setRadio#
+
+#if ENABLE_OVERLOADING
+    CellRendererToggleSetRadioMethodInfo    ,
+#endif
+    cellRendererToggleSetRadio              ,
+
+
+
+
+ -- * Properties
+-- ** activatable #attr:activatable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererToggleActivatablePropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererToggleActivatable           ,
+#endif
+    constructCellRendererToggleActivatable  ,
+    getCellRendererToggleActivatable        ,
+    setCellRendererToggleActivatable        ,
+
+
+-- ** active #attr:active#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererToggleActivePropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererToggleActive                ,
+#endif
+    constructCellRendererToggleActive       ,
+    getCellRendererToggleActive             ,
+    setCellRendererToggleActive             ,
+
+
+-- ** inconsistent #attr:inconsistent#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererToggleInconsistentPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererToggleInconsistent          ,
+#endif
+    constructCellRendererToggleInconsistent ,
+    getCellRendererToggleInconsistent       ,
+    setCellRendererToggleInconsistent       ,
+
+
+-- ** indicatorSize #attr:indicatorSize#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererToggleIndicatorSizePropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererToggleIndicatorSize         ,
+#endif
+    constructCellRendererToggleIndicatorSize,
+    getCellRendererToggleIndicatorSize      ,
+    setCellRendererToggleIndicatorSize      ,
+
+
+-- ** radio #attr:radio#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellRendererToggleRadioPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    cellRendererToggleRadio                 ,
+#endif
+    constructCellRendererToggleRadio        ,
+    getCellRendererToggleRadio              ,
+    setCellRendererToggleRadio              ,
+
+
+
+
+ -- * Signals
+-- ** toggled #signal:toggled#
+
+    C_CellRendererToggleToggledCallback     ,
+    CellRendererToggleToggledCallback       ,
+#if ENABLE_OVERLOADING
+    CellRendererToggleToggledSignalInfo     ,
+#endif
+    afterCellRendererToggleToggled          ,
+    genClosure_CellRendererToggleToggled    ,
+    mk_CellRendererToggleToggledCallback    ,
+    noCellRendererToggleToggledCallback     ,
+    onCellRendererToggleToggled             ,
+    wrap_CellRendererToggleToggledCallback  ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+
+-- | Memory-managed wrapper type.
+newtype CellRendererToggle = CellRendererToggle (ManagedPtr CellRendererToggle)
+foreign import ccall "gtk_cell_renderer_toggle_get_type"
+    c_gtk_cell_renderer_toggle_get_type :: IO GType
+
+instance GObject CellRendererToggle where
+    gobjectType = c_gtk_cell_renderer_toggle_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellRendererToggle`, for instance with `toCellRendererToggle`.
+class (GObject o, O.IsDescendantOf CellRendererToggle o) => IsCellRendererToggle o
+instance (GObject o, O.IsDescendantOf CellRendererToggle o) => IsCellRendererToggle o
+
+instance O.HasParentTypes CellRendererToggle
+type instance O.ParentTypes CellRendererToggle = '[Gtk.CellRenderer.CellRenderer, GObject.Object.Object]
+
+-- | Cast to `CellRendererToggle`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellRendererToggle :: (MonadIO m, IsCellRendererToggle o) => o -> m CellRendererToggle
+toCellRendererToggle = liftIO . unsafeCastTo CellRendererToggle
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellRendererToggle`.
+noCellRendererToggle :: Maybe CellRendererToggle
+noCellRendererToggle = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellRendererToggleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellRendererToggleMethod "activate" o = Gtk.CellRenderer.CellRendererActivateMethodInfo
+    ResolveCellRendererToggleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellRendererToggleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellRendererToggleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellRendererToggleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellRendererToggleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellRendererToggleMethod "isActivatable" o = Gtk.CellRenderer.CellRendererIsActivatableMethodInfo
+    ResolveCellRendererToggleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellRendererToggleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellRendererToggleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellRendererToggleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellRendererToggleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellRendererToggleMethod "render" o = Gtk.CellRenderer.CellRendererRenderMethodInfo
+    ResolveCellRendererToggleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellRendererToggleMethod "startEditing" o = Gtk.CellRenderer.CellRendererStartEditingMethodInfo
+    ResolveCellRendererToggleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellRendererToggleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellRendererToggleMethod "stopEditing" o = Gtk.CellRenderer.CellRendererStopEditingMethodInfo
+    ResolveCellRendererToggleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellRendererToggleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellRendererToggleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellRendererToggleMethod "getActivatable" o = CellRendererToggleGetActivatableMethodInfo
+    ResolveCellRendererToggleMethod "getActive" o = CellRendererToggleGetActiveMethodInfo
+    ResolveCellRendererToggleMethod "getAlignedArea" o = Gtk.CellRenderer.CellRendererGetAlignedAreaMethodInfo
+    ResolveCellRendererToggleMethod "getAlignment" o = Gtk.CellRenderer.CellRendererGetAlignmentMethodInfo
+    ResolveCellRendererToggleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellRendererToggleMethod "getFixedSize" o = Gtk.CellRenderer.CellRendererGetFixedSizeMethodInfo
+    ResolveCellRendererToggleMethod "getPadding" o = Gtk.CellRenderer.CellRendererGetPaddingMethodInfo
+    ResolveCellRendererToggleMethod "getPreferredHeight" o = Gtk.CellRenderer.CellRendererGetPreferredHeightMethodInfo
+    ResolveCellRendererToggleMethod "getPreferredHeightForWidth" o = Gtk.CellRenderer.CellRendererGetPreferredHeightForWidthMethodInfo
+    ResolveCellRendererToggleMethod "getPreferredSize" o = Gtk.CellRenderer.CellRendererGetPreferredSizeMethodInfo
+    ResolveCellRendererToggleMethod "getPreferredWidth" o = Gtk.CellRenderer.CellRendererGetPreferredWidthMethodInfo
+    ResolveCellRendererToggleMethod "getPreferredWidthForHeight" o = Gtk.CellRenderer.CellRendererGetPreferredWidthForHeightMethodInfo
+    ResolveCellRendererToggleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellRendererToggleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellRendererToggleMethod "getRadio" o = CellRendererToggleGetRadioMethodInfo
+    ResolveCellRendererToggleMethod "getRequestMode" o = Gtk.CellRenderer.CellRendererGetRequestModeMethodInfo
+    ResolveCellRendererToggleMethod "getSensitive" o = Gtk.CellRenderer.CellRendererGetSensitiveMethodInfo
+    ResolveCellRendererToggleMethod "getSize" o = Gtk.CellRenderer.CellRendererGetSizeMethodInfo
+    ResolveCellRendererToggleMethod "getState" o = Gtk.CellRenderer.CellRendererGetStateMethodInfo
+    ResolveCellRendererToggleMethod "getVisible" o = Gtk.CellRenderer.CellRendererGetVisibleMethodInfo
+    ResolveCellRendererToggleMethod "setActivatable" o = CellRendererToggleSetActivatableMethodInfo
+    ResolveCellRendererToggleMethod "setActive" o = CellRendererToggleSetActiveMethodInfo
+    ResolveCellRendererToggleMethod "setAlignment" o = Gtk.CellRenderer.CellRendererSetAlignmentMethodInfo
+    ResolveCellRendererToggleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellRendererToggleMethod "setFixedSize" o = Gtk.CellRenderer.CellRendererSetFixedSizeMethodInfo
+    ResolveCellRendererToggleMethod "setPadding" o = Gtk.CellRenderer.CellRendererSetPaddingMethodInfo
+    ResolveCellRendererToggleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellRendererToggleMethod "setRadio" o = CellRendererToggleSetRadioMethodInfo
+    ResolveCellRendererToggleMethod "setSensitive" o = Gtk.CellRenderer.CellRendererSetSensitiveMethodInfo
+    ResolveCellRendererToggleMethod "setVisible" o = Gtk.CellRenderer.CellRendererSetVisibleMethodInfo
+    ResolveCellRendererToggleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellRendererToggleMethod t CellRendererToggle, O.MethodInfo info CellRendererToggle p) => OL.IsLabel t (CellRendererToggle -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal CellRendererToggle::toggled
+{- |
+The ::toggled signal is emitted when the cell is toggled.
+
+It is the responsibility of the application to update the model
+with the correct value to store at /@path@/.  Often this is simply the
+opposite of the value currently stored at /@path@/.
+-}
+type CellRendererToggleToggledCallback =
+    T.Text
+    {- ^ /@path@/: string representation of 'GI.Gtk.Structs.TreePath.TreePath' describing the
+       event location -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CellRendererToggleToggledCallback`@.
+noCellRendererToggleToggledCallback :: Maybe CellRendererToggleToggledCallback
+noCellRendererToggleToggledCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CellRendererToggleToggledCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CellRendererToggleToggledCallback`.
+foreign import ccall "wrapper"
+    mk_CellRendererToggleToggledCallback :: C_CellRendererToggleToggledCallback -> IO (FunPtr C_CellRendererToggleToggledCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CellRendererToggleToggled :: MonadIO m => CellRendererToggleToggledCallback -> m (GClosure C_CellRendererToggleToggledCallback)
+genClosure_CellRendererToggleToggled cb = liftIO $ do
+    let cb' = wrap_CellRendererToggleToggledCallback cb
+    mk_CellRendererToggleToggledCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CellRendererToggleToggledCallback` into a `C_CellRendererToggleToggledCallback`.
+wrap_CellRendererToggleToggledCallback ::
+    CellRendererToggleToggledCallback ->
+    C_CellRendererToggleToggledCallback
+wrap_CellRendererToggleToggledCallback _cb _ path _ = do
+    path' <- cstringToText path
+    _cb  path'
+
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cellRendererToggle #toggled callback
+@
+-}
+onCellRendererToggleToggled :: (IsCellRendererToggle a, MonadIO m) => a -> CellRendererToggleToggledCallback -> m SignalHandlerId
+onCellRendererToggleToggled obj cb = liftIO $ do
+    let cb' = wrap_CellRendererToggleToggledCallback cb
+    cb'' <- mk_CellRendererToggleToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cellRendererToggle #toggled callback
+@
+-}
+afterCellRendererToggleToggled :: (IsCellRendererToggle a, MonadIO m) => a -> CellRendererToggleToggledCallback -> m SignalHandlerId
+afterCellRendererToggleToggled obj cb = liftIO $ do
+    let cb' = wrap_CellRendererToggleToggledCallback cb
+    cb'' <- mk_CellRendererToggleToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectAfter
+
+
+-- VVV Prop "activatable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@activatable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererToggle #activatable
+@
+-}
+getCellRendererToggleActivatable :: (MonadIO m, IsCellRendererToggle o) => o -> m Bool
+getCellRendererToggleActivatable obj = liftIO $ B.Properties.getObjectPropertyBool obj "activatable"
+
+{- |
+Set the value of the “@activatable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererToggle [ #activatable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererToggleActivatable :: (MonadIO m, IsCellRendererToggle o) => o -> Bool -> m ()
+setCellRendererToggleActivatable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "activatable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@activatable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererToggleActivatable :: (IsCellRendererToggle o) => Bool -> IO (GValueConstruct o)
+constructCellRendererToggleActivatable val = B.Properties.constructObjectPropertyBool "activatable" val
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleActivatablePropertyInfo
+instance AttrInfo CellRendererToggleActivatablePropertyInfo where
+    type AttrAllowedOps CellRendererToggleActivatablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererToggleActivatablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererToggleActivatablePropertyInfo = IsCellRendererToggle
+    type AttrGetType CellRendererToggleActivatablePropertyInfo = Bool
+    type AttrLabel CellRendererToggleActivatablePropertyInfo = "activatable"
+    type AttrOrigin CellRendererToggleActivatablePropertyInfo = CellRendererToggle
+    attrGet _ = getCellRendererToggleActivatable
+    attrSet _ = setCellRendererToggleActivatable
+    attrConstruct _ = constructCellRendererToggleActivatable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererToggle #active
+@
+-}
+getCellRendererToggleActive :: (MonadIO m, IsCellRendererToggle o) => o -> m Bool
+getCellRendererToggleActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererToggle [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererToggleActive :: (MonadIO m, IsCellRendererToggle o) => o -> Bool -> m ()
+setCellRendererToggleActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererToggleActive :: (IsCellRendererToggle o) => Bool -> IO (GValueConstruct o)
+constructCellRendererToggleActive val = B.Properties.constructObjectPropertyBool "active" val
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleActivePropertyInfo
+instance AttrInfo CellRendererToggleActivePropertyInfo where
+    type AttrAllowedOps CellRendererToggleActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererToggleActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererToggleActivePropertyInfo = IsCellRendererToggle
+    type AttrGetType CellRendererToggleActivePropertyInfo = Bool
+    type AttrLabel CellRendererToggleActivePropertyInfo = "active"
+    type AttrOrigin CellRendererToggleActivePropertyInfo = CellRendererToggle
+    attrGet _ = getCellRendererToggleActive
+    attrSet _ = setCellRendererToggleActive
+    attrConstruct _ = constructCellRendererToggleActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "inconsistent"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@inconsistent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererToggle #inconsistent
+@
+-}
+getCellRendererToggleInconsistent :: (MonadIO m, IsCellRendererToggle o) => o -> m Bool
+getCellRendererToggleInconsistent obj = liftIO $ B.Properties.getObjectPropertyBool obj "inconsistent"
+
+{- |
+Set the value of the “@inconsistent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererToggle [ #inconsistent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererToggleInconsistent :: (MonadIO m, IsCellRendererToggle o) => o -> Bool -> m ()
+setCellRendererToggleInconsistent obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inconsistent" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inconsistent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererToggleInconsistent :: (IsCellRendererToggle o) => Bool -> IO (GValueConstruct o)
+constructCellRendererToggleInconsistent val = B.Properties.constructObjectPropertyBool "inconsistent" val
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleInconsistentPropertyInfo
+instance AttrInfo CellRendererToggleInconsistentPropertyInfo where
+    type AttrAllowedOps CellRendererToggleInconsistentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererToggleInconsistentPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererToggleInconsistentPropertyInfo = IsCellRendererToggle
+    type AttrGetType CellRendererToggleInconsistentPropertyInfo = Bool
+    type AttrLabel CellRendererToggleInconsistentPropertyInfo = "inconsistent"
+    type AttrOrigin CellRendererToggleInconsistentPropertyInfo = CellRendererToggle
+    attrGet _ = getCellRendererToggleInconsistent
+    attrSet _ = setCellRendererToggleInconsistent
+    attrConstruct _ = constructCellRendererToggleInconsistent
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "indicator-size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@indicator-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererToggle #indicatorSize
+@
+-}
+getCellRendererToggleIndicatorSize :: (MonadIO m, IsCellRendererToggle o) => o -> m Int32
+getCellRendererToggleIndicatorSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "indicator-size"
+
+{- |
+Set the value of the “@indicator-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererToggle [ #indicatorSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererToggleIndicatorSize :: (MonadIO m, IsCellRendererToggle o) => o -> Int32 -> m ()
+setCellRendererToggleIndicatorSize obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "indicator-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@indicator-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererToggleIndicatorSize :: (IsCellRendererToggle o) => Int32 -> IO (GValueConstruct o)
+constructCellRendererToggleIndicatorSize val = B.Properties.constructObjectPropertyInt32 "indicator-size" val
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleIndicatorSizePropertyInfo
+instance AttrInfo CellRendererToggleIndicatorSizePropertyInfo where
+    type AttrAllowedOps CellRendererToggleIndicatorSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererToggleIndicatorSizePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint CellRendererToggleIndicatorSizePropertyInfo = IsCellRendererToggle
+    type AttrGetType CellRendererToggleIndicatorSizePropertyInfo = Int32
+    type AttrLabel CellRendererToggleIndicatorSizePropertyInfo = "indicator-size"
+    type AttrOrigin CellRendererToggleIndicatorSizePropertyInfo = CellRendererToggle
+    attrGet _ = getCellRendererToggleIndicatorSize
+    attrSet _ = setCellRendererToggleIndicatorSize
+    attrConstruct _ = constructCellRendererToggleIndicatorSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "radio"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@radio@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellRendererToggle #radio
+@
+-}
+getCellRendererToggleRadio :: (MonadIO m, IsCellRendererToggle o) => o -> m Bool
+getCellRendererToggleRadio obj = liftIO $ B.Properties.getObjectPropertyBool obj "radio"
+
+{- |
+Set the value of the “@radio@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellRendererToggle [ #radio 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellRendererToggleRadio :: (MonadIO m, IsCellRendererToggle o) => o -> Bool -> m ()
+setCellRendererToggleRadio obj val = liftIO $ B.Properties.setObjectPropertyBool obj "radio" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@radio@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellRendererToggleRadio :: (IsCellRendererToggle o) => Bool -> IO (GValueConstruct o)
+constructCellRendererToggleRadio val = B.Properties.constructObjectPropertyBool "radio" val
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleRadioPropertyInfo
+instance AttrInfo CellRendererToggleRadioPropertyInfo where
+    type AttrAllowedOps CellRendererToggleRadioPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellRendererToggleRadioPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellRendererToggleRadioPropertyInfo = IsCellRendererToggle
+    type AttrGetType CellRendererToggleRadioPropertyInfo = Bool
+    type AttrLabel CellRendererToggleRadioPropertyInfo = "radio"
+    type AttrOrigin CellRendererToggleRadioPropertyInfo = CellRendererToggle
+    attrGet _ = getCellRendererToggleRadio
+    attrSet _ = setCellRendererToggleRadio
+    attrConstruct _ = constructCellRendererToggleRadio
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellRendererToggle
+type instance O.AttributeList CellRendererToggle = CellRendererToggleAttributeList
+type CellRendererToggleAttributeList = ('[ '("activatable", CellRendererToggleActivatablePropertyInfo), '("active", CellRendererToggleActivePropertyInfo), '("cellBackground", Gtk.CellRenderer.CellRendererCellBackgroundPropertyInfo), '("cellBackgroundGdk", Gtk.CellRenderer.CellRendererCellBackgroundGdkPropertyInfo), '("cellBackgroundRgba", Gtk.CellRenderer.CellRendererCellBackgroundRgbaPropertyInfo), '("cellBackgroundSet", Gtk.CellRenderer.CellRendererCellBackgroundSetPropertyInfo), '("editing", Gtk.CellRenderer.CellRendererEditingPropertyInfo), '("height", Gtk.CellRenderer.CellRendererHeightPropertyInfo), '("inconsistent", CellRendererToggleInconsistentPropertyInfo), '("indicatorSize", CellRendererToggleIndicatorSizePropertyInfo), '("isExpanded", Gtk.CellRenderer.CellRendererIsExpandedPropertyInfo), '("isExpander", Gtk.CellRenderer.CellRendererIsExpanderPropertyInfo), '("mode", Gtk.CellRenderer.CellRendererModePropertyInfo), '("radio", CellRendererToggleRadioPropertyInfo), '("sensitive", Gtk.CellRenderer.CellRendererSensitivePropertyInfo), '("visible", Gtk.CellRenderer.CellRendererVisiblePropertyInfo), '("width", Gtk.CellRenderer.CellRendererWidthPropertyInfo), '("xalign", Gtk.CellRenderer.CellRendererXalignPropertyInfo), '("xpad", Gtk.CellRenderer.CellRendererXpadPropertyInfo), '("yalign", Gtk.CellRenderer.CellRendererYalignPropertyInfo), '("ypad", Gtk.CellRenderer.CellRendererYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellRendererToggleActivatable :: AttrLabelProxy "activatable"
+cellRendererToggleActivatable = AttrLabelProxy
+
+cellRendererToggleActive :: AttrLabelProxy "active"
+cellRendererToggleActive = AttrLabelProxy
+
+cellRendererToggleInconsistent :: AttrLabelProxy "inconsistent"
+cellRendererToggleInconsistent = AttrLabelProxy
+
+cellRendererToggleIndicatorSize :: AttrLabelProxy "indicatorSize"
+cellRendererToggleIndicatorSize = AttrLabelProxy
+
+cellRendererToggleRadio :: AttrLabelProxy "radio"
+cellRendererToggleRadio = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleToggledSignalInfo
+instance SignalInfo CellRendererToggleToggledSignalInfo where
+    type HaskellCallbackType CellRendererToggleToggledSignalInfo = CellRendererToggleToggledCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CellRendererToggleToggledCallback cb
+        cb'' <- mk_CellRendererToggleToggledCallback cb'
+        connectSignalFunPtr obj "toggled" cb'' connectMode
+
+type instance O.SignalList CellRendererToggle = CellRendererToggleSignalList
+type CellRendererToggleSignalList = ('[ '("editingCanceled", Gtk.CellRenderer.CellRendererEditingCanceledSignalInfo), '("editingStarted", Gtk.CellRenderer.CellRendererEditingStartedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("toggled", CellRendererToggleToggledSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellRendererToggle::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_toggle_new" gtk_cell_renderer_toggle_new :: 
+    IO (Ptr CellRendererToggle)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle'. Adjust rendering
+parameters using object properties. Object properties can be set
+globally (with @/g_object_set()/@). Also, with 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn', you
+can bind a property to a value in a 'GI.Gtk.Interfaces.TreeModel.TreeModel'. For example, you
+can bind the “active” property on the cell renderer to a boolean value
+in the model, thus causing the check button to reflect the state of
+the model.
+-}
+cellRendererToggleNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellRendererToggle
+    {- ^ __Returns:__ the new cell renderer -}
+cellRendererToggleNew  = liftIO $ do
+    result <- gtk_cell_renderer_toggle_new
+    checkUnexpectedReturnNULL "cellRendererToggleNew" result
+    result' <- (newObject CellRendererToggle) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CellRendererToggle::get_activatable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRendererToggle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_toggle_get_activatable" gtk_cell_renderer_toggle_get_activatable :: 
+    Ptr CellRendererToggle ->               -- toggle : TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"})
+    IO CInt
+
+{- |
+Returns whether the cell renderer is activatable. See
+'GI.Gtk.Objects.CellRendererToggle.cellRendererToggleSetActivatable'.
+
+/Since: 2.18/
+-}
+cellRendererToggleGetActivatable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRendererToggle a) =>
+    a
+    {- ^ /@toggle@/: a 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the cell renderer is activatable. -}
+cellRendererToggleGetActivatable toggle = liftIO $ do
+    toggle' <- unsafeManagedPtrCastPtr toggle
+    result <- gtk_cell_renderer_toggle_get_activatable toggle'
+    let result' = (/= 0) result
+    touchManagedPtr toggle
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleGetActivatableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCellRendererToggle a) => O.MethodInfo CellRendererToggleGetActivatableMethodInfo a signature where
+    overloadedMethod _ = cellRendererToggleGetActivatable
+
+#endif
+
+-- method CellRendererToggle::get_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRendererToggle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_toggle_get_active" gtk_cell_renderer_toggle_get_active :: 
+    Ptr CellRendererToggle ->               -- toggle : TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"})
+    IO CInt
+
+{- |
+Returns whether the cell renderer is active. See
+'GI.Gtk.Objects.CellRendererToggle.cellRendererToggleSetActive'.
+-}
+cellRendererToggleGetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRendererToggle a) =>
+    a
+    {- ^ /@toggle@/: a 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the cell renderer is active. -}
+cellRendererToggleGetActive toggle = liftIO $ do
+    toggle' <- unsafeManagedPtrCastPtr toggle
+    result <- gtk_cell_renderer_toggle_get_active toggle'
+    let result' = (/= 0) result
+    touchManagedPtr toggle
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleGetActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCellRendererToggle a) => O.MethodInfo CellRendererToggleGetActiveMethodInfo a signature where
+    overloadedMethod _ = cellRendererToggleGetActive
+
+#endif
+
+-- method CellRendererToggle::get_radio
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRendererToggle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_toggle_get_radio" gtk_cell_renderer_toggle_get_radio :: 
+    Ptr CellRendererToggle ->               -- toggle : TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"})
+    IO CInt
+
+{- |
+Returns whether we’re rendering radio toggles rather than checkboxes.
+-}
+cellRendererToggleGetRadio ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRendererToggle a) =>
+    a
+    {- ^ /@toggle@/: a 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we’re rendering radio toggles rather than checkboxes -}
+cellRendererToggleGetRadio toggle = liftIO $ do
+    toggle' <- unsafeManagedPtrCastPtr toggle
+    result <- gtk_cell_renderer_toggle_get_radio toggle'
+    let result' = (/= 0) result
+    touchManagedPtr toggle
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleGetRadioMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCellRendererToggle a) => O.MethodInfo CellRendererToggleGetRadioMethodInfo a signature where
+    overloadedMethod _ = cellRendererToggleGetRadio
+
+#endif
+
+-- method CellRendererToggle::set_activatable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRendererToggle.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_toggle_set_activatable" gtk_cell_renderer_toggle_set_activatable :: 
+    Ptr CellRendererToggle ->               -- toggle : TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Makes the cell renderer activatable.
+
+/Since: 2.18/
+-}
+cellRendererToggleSetActivatable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRendererToggle a) =>
+    a
+    {- ^ /@toggle@/: a 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle'. -}
+    -> Bool
+    {- ^ /@setting@/: the value to set. -}
+    -> m ()
+cellRendererToggleSetActivatable toggle setting = liftIO $ do
+    toggle' <- unsafeManagedPtrCastPtr toggle
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_cell_renderer_toggle_set_activatable toggle' setting'
+    touchManagedPtr toggle
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleSetActivatableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCellRendererToggle a) => O.MethodInfo CellRendererToggleSetActivatableMethodInfo a signature where
+    overloadedMethod _ = cellRendererToggleSetActivatable
+
+#endif
+
+-- method CellRendererToggle::set_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRendererToggle.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_toggle_set_active" gtk_cell_renderer_toggle_set_active :: 
+    Ptr CellRendererToggle ->               -- toggle : TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Activates or deactivates a cell renderer.
+-}
+cellRendererToggleSetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRendererToggle a) =>
+    a
+    {- ^ /@toggle@/: a 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle'. -}
+    -> Bool
+    {- ^ /@setting@/: the value to set. -}
+    -> m ()
+cellRendererToggleSetActive toggle setting = liftIO $ do
+    toggle' <- unsafeManagedPtrCastPtr toggle
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_cell_renderer_toggle_set_active toggle' setting'
+    touchManagedPtr toggle
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleSetActiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCellRendererToggle a) => O.MethodInfo CellRendererToggleSetActiveMethodInfo a signature where
+    overloadedMethod _ = cellRendererToggleSetActive
+
+#endif
+
+-- method CellRendererToggle::set_radio
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle", argType = TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRendererToggle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "radio", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make the toggle look like a radio button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_renderer_toggle_set_radio" gtk_cell_renderer_toggle_set_radio :: 
+    Ptr CellRendererToggle ->               -- toggle : TInterface (Name {namespace = "Gtk", name = "CellRendererToggle"})
+    CInt ->                                 -- radio : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@radio@/ is 'True', the cell renderer renders a radio toggle
+(i.e. a toggle in a group of mutually-exclusive toggles).
+If 'False', it renders a check toggle (a standalone boolean option).
+This can be set globally for the cell renderer, or changed just
+before rendering each cell in the model (for 'GI.Gtk.Objects.TreeView.TreeView', you set
+up a per-row setting using 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' to associate model
+columns with cell renderer properties).
+-}
+cellRendererToggleSetRadio ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellRendererToggle a) =>
+    a
+    {- ^ /@toggle@/: a 'GI.Gtk.Objects.CellRendererToggle.CellRendererToggle' -}
+    -> Bool
+    {- ^ /@radio@/: 'True' to make the toggle look like a radio button -}
+    -> m ()
+cellRendererToggleSetRadio toggle radio = liftIO $ do
+    toggle' <- unsafeManagedPtrCastPtr toggle
+    let radio' = (fromIntegral . fromEnum) radio
+    gtk_cell_renderer_toggle_set_radio toggle' radio'
+    touchManagedPtr toggle
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellRendererToggleSetRadioMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCellRendererToggle a) => O.MethodInfo CellRendererToggleSetRadioMethodInfo a signature where
+    overloadedMethod _ = cellRendererToggleSetRadio
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellRendererToggle.hs-boot b/GI/Gtk/Objects/CellRendererToggle.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellRendererToggle.hs-boot
@@ -0,0 +1,65 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellRendererToggle where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellRendererToggle = CellRendererToggle (ManagedPtr CellRendererToggle)
+instance GObject CellRendererToggle where
+class (GObject o, O.IsDescendantOf CellRendererToggle o) => IsCellRendererToggle o
+instance (GObject o, O.IsDescendantOf CellRendererToggle o) => IsCellRendererToggle o
+instance O.HasParentTypes CellRendererToggle
+#if ENABLE_OVERLOADING
+data CellRendererToggleActivatablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleInconsistentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleIndicatorSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleRadioPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleToggledSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleGetActivatableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleGetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleGetRadioMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleSetActivatableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleSetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellRendererToggleSetRadioMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CellView.hs b/GI/Gtk/Objects/CellView.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellView.hs
@@ -0,0 +1,1821 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.CellView.CellView' displays a single row of a 'GI.Gtk.Interfaces.TreeModel.TreeModel' using a 'GI.Gtk.Objects.CellArea.CellArea'
+and 'GI.Gtk.Objects.CellAreaContext.CellAreaContext'. A 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' can be provided to the
+'GI.Gtk.Objects.CellView.CellView' at construction time in order to keep the cellview in context
+of a group of cell views, this ensures that the renderers displayed will
+be properly aligned with eachother (like the aligned cells in the menus
+of 'GI.Gtk.Objects.ComboBox.ComboBox').
+
+'GI.Gtk.Objects.CellView.CellView' is 'GI.Gtk.Interfaces.Orientable.Orientable' in order to decide in which orientation
+the underlying 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' should be allocated. Taking the 'GI.Gtk.Objects.ComboBox.ComboBox'
+menu as an example, cellviews should be oriented horizontally if the menus are
+listed top-to-bottom and thus all share the same width but may have separate
+individual heights (left-to-right menus should be allocated vertically since
+they all share the same height but may have variable widths).
+
+= CSS nodes
+
+GtkCellView has a single CSS node with name cellview.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CellView
+    ( 
+
+-- * Exported types
+    CellView(..)                            ,
+    IsCellView                              ,
+    toCellView                              ,
+    noCellView                              ,
+
+
+ -- * Methods
+-- ** getDisplayedRow #method:getDisplayedRow#
+
+#if ENABLE_OVERLOADING
+    CellViewGetDisplayedRowMethodInfo       ,
+#endif
+    cellViewGetDisplayedRow                 ,
+
+
+-- ** getDrawSensitive #method:getDrawSensitive#
+
+#if ENABLE_OVERLOADING
+    CellViewGetDrawSensitiveMethodInfo      ,
+#endif
+    cellViewGetDrawSensitive                ,
+
+
+-- ** getFitModel #method:getFitModel#
+
+#if ENABLE_OVERLOADING
+    CellViewGetFitModelMethodInfo           ,
+#endif
+    cellViewGetFitModel                     ,
+
+
+-- ** getModel #method:getModel#
+
+#if ENABLE_OVERLOADING
+    CellViewGetModelMethodInfo              ,
+#endif
+    cellViewGetModel                        ,
+
+
+-- ** getSizeOfRow #method:getSizeOfRow#
+
+#if ENABLE_OVERLOADING
+    CellViewGetSizeOfRowMethodInfo          ,
+#endif
+    cellViewGetSizeOfRow                    ,
+
+
+-- ** new #method:new#
+
+    cellViewNew                             ,
+
+
+-- ** newWithContext #method:newWithContext#
+
+    cellViewNewWithContext                  ,
+
+
+-- ** newWithMarkup #method:newWithMarkup#
+
+    cellViewNewWithMarkup                   ,
+
+
+-- ** newWithPixbuf #method:newWithPixbuf#
+
+    cellViewNewWithPixbuf                   ,
+
+
+-- ** newWithText #method:newWithText#
+
+    cellViewNewWithText                     ,
+
+
+-- ** setBackgroundColor #method:setBackgroundColor#
+
+#if ENABLE_OVERLOADING
+    CellViewSetBackgroundColorMethodInfo    ,
+#endif
+    cellViewSetBackgroundColor              ,
+
+
+-- ** setBackgroundRgba #method:setBackgroundRgba#
+
+#if ENABLE_OVERLOADING
+    CellViewSetBackgroundRgbaMethodInfo     ,
+#endif
+    cellViewSetBackgroundRgba               ,
+
+
+-- ** setDisplayedRow #method:setDisplayedRow#
+
+#if ENABLE_OVERLOADING
+    CellViewSetDisplayedRowMethodInfo       ,
+#endif
+    cellViewSetDisplayedRow                 ,
+
+
+-- ** setDrawSensitive #method:setDrawSensitive#
+
+#if ENABLE_OVERLOADING
+    CellViewSetDrawSensitiveMethodInfo      ,
+#endif
+    cellViewSetDrawSensitive                ,
+
+
+-- ** setFitModel #method:setFitModel#
+
+#if ENABLE_OVERLOADING
+    CellViewSetFitModelMethodInfo           ,
+#endif
+    cellViewSetFitModel                     ,
+
+
+-- ** setModel #method:setModel#
+
+#if ENABLE_OVERLOADING
+    CellViewSetModelMethodInfo              ,
+#endif
+    cellViewSetModel                        ,
+
+
+
+
+ -- * Properties
+-- ** background #attr:background#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellViewBackgroundPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    cellViewBackground                      ,
+#endif
+    clearCellViewBackground                 ,
+    constructCellViewBackground             ,
+    setCellViewBackground                   ,
+
+
+-- ** backgroundGdk #attr:backgroundGdk#
+{- | The background color as a 'GI.Gdk.Structs.Color.Color'
+-}
+#if ENABLE_OVERLOADING
+    CellViewBackgroundGdkPropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    cellViewBackgroundGdk                   ,
+#endif
+    clearCellViewBackgroundGdk              ,
+    constructCellViewBackgroundGdk          ,
+    getCellViewBackgroundGdk                ,
+    setCellViewBackgroundGdk                ,
+
+
+-- ** backgroundRgba #attr:backgroundRgba#
+{- | The background color as a 'GI.Gdk.Structs.RGBA.RGBA'
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    CellViewBackgroundRgbaPropertyInfo      ,
+#endif
+#if ENABLE_OVERLOADING
+    cellViewBackgroundRgba                  ,
+#endif
+    constructCellViewBackgroundRgba         ,
+    getCellViewBackgroundRgba               ,
+    setCellViewBackgroundRgba               ,
+
+
+-- ** backgroundSet #attr:backgroundSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CellViewBackgroundSetPropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    cellViewBackgroundSet                   ,
+#endif
+    constructCellViewBackgroundSet          ,
+    getCellViewBackgroundSet                ,
+    setCellViewBackgroundSet                ,
+
+
+-- ** cellArea #attr:cellArea#
+{- | The 'GI.Gtk.Objects.CellArea.CellArea' rendering cells
+
+If no area is specified when creating the cell view with 'GI.Gtk.Objects.CellView.cellViewNewWithContext'
+a horizontally oriented 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' will be used.
+
+since 3.0
+-}
+#if ENABLE_OVERLOADING
+    CellViewCellAreaPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    cellViewCellArea                        ,
+#endif
+    constructCellViewCellArea               ,
+    getCellViewCellArea                     ,
+
+
+-- ** cellAreaContext #attr:cellAreaContext#
+{- | The 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' used to compute the geometry of the cell view.
+
+A group of cell views can be assigned the same context in order to
+ensure the sizes and cell alignments match across all the views with
+the same context.
+
+'GI.Gtk.Objects.ComboBox.ComboBox' menus uses this to assign the same context to all cell views
+in the menu items for a single menu (each submenu creates its own
+context since the size of each submenu does not depend on parent
+or sibling menus).
+
+since 3.0
+-}
+#if ENABLE_OVERLOADING
+    CellViewCellAreaContextPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    cellViewCellAreaContext                 ,
+#endif
+    constructCellViewCellAreaContext        ,
+    getCellViewCellAreaContext              ,
+
+
+-- ** drawSensitive #attr:drawSensitive#
+{- | Whether all cells should be draw as sensitive for this view regardless
+of the actual cell properties (used to make menus with submenus appear
+sensitive when the items in submenus might be insensitive).
+
+since 3.0
+-}
+#if ENABLE_OVERLOADING
+    CellViewDrawSensitivePropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    cellViewDrawSensitive                   ,
+#endif
+    constructCellViewDrawSensitive          ,
+    getCellViewDrawSensitive                ,
+    setCellViewDrawSensitive                ,
+
+
+-- ** fitModel #attr:fitModel#
+{- | Whether the view should request enough space to always fit
+the size of every row in the model (used by the combo box to
+ensure the combo box size doesnt change when different items
+are selected).
+
+since 3.0
+-}
+#if ENABLE_OVERLOADING
+    CellViewFitModelPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    cellViewFitModel                        ,
+#endif
+    constructCellViewFitModel               ,
+    getCellViewFitModel                     ,
+    setCellViewFitModel                     ,
+
+
+-- ** model #attr:model#
+{- | The model for cell view
+
+since 2.10
+-}
+#if ENABLE_OVERLOADING
+    CellViewModelPropertyInfo               ,
+#endif
+#if ENABLE_OVERLOADING
+    cellViewModel                           ,
+#endif
+    clearCellViewModel                      ,
+    constructCellViewModel                  ,
+    getCellViewModel                        ,
+    setCellViewModel                        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellArea as Gtk.CellArea
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellAreaContext as Gtk.CellAreaContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.Requisition as Gtk.Requisition
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- | Memory-managed wrapper type.
+newtype CellView = CellView (ManagedPtr CellView)
+foreign import ccall "gtk_cell_view_get_type"
+    c_gtk_cell_view_get_type :: IO GType
+
+instance GObject CellView where
+    gobjectType = c_gtk_cell_view_get_type
+    
+
+-- | Type class for types which can be safely cast to `CellView`, for instance with `toCellView`.
+class (GObject o, O.IsDescendantOf CellView o) => IsCellView o
+instance (GObject o, O.IsDescendantOf CellView o) => IsCellView o
+
+instance O.HasParentTypes CellView
+type instance O.ParentTypes CellView = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.CellLayout.CellLayout, Gtk.Orientable.Orientable]
+
+-- | Cast to `CellView`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCellView :: (MonadIO m, IsCellView o) => o -> m CellView
+toCellView = liftIO . unsafeCastTo CellView
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CellView`.
+noCellView :: Maybe CellView
+noCellView = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCellViewMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCellViewMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveCellViewMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveCellViewMethod "addAttribute" o = Gtk.CellLayout.CellLayoutAddAttributeMethodInfo
+    ResolveCellViewMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveCellViewMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveCellViewMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveCellViewMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveCellViewMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveCellViewMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCellViewMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCellViewMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveCellViewMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveCellViewMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveCellViewMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveCellViewMethod "clear" o = Gtk.CellLayout.CellLayoutClearMethodInfo
+    ResolveCellViewMethod "clearAttributes" o = Gtk.CellLayout.CellLayoutClearAttributesMethodInfo
+    ResolveCellViewMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveCellViewMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveCellViewMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveCellViewMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveCellViewMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveCellViewMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveCellViewMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveCellViewMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveCellViewMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveCellViewMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveCellViewMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveCellViewMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveCellViewMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveCellViewMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveCellViewMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveCellViewMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveCellViewMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveCellViewMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveCellViewMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveCellViewMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveCellViewMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveCellViewMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveCellViewMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveCellViewMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveCellViewMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveCellViewMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveCellViewMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveCellViewMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveCellViewMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveCellViewMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveCellViewMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveCellViewMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveCellViewMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveCellViewMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveCellViewMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveCellViewMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveCellViewMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveCellViewMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveCellViewMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveCellViewMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveCellViewMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveCellViewMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveCellViewMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCellViewMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveCellViewMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCellViewMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCellViewMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveCellViewMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveCellViewMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveCellViewMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveCellViewMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveCellViewMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveCellViewMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveCellViewMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveCellViewMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveCellViewMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveCellViewMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveCellViewMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveCellViewMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveCellViewMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveCellViewMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveCellViewMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveCellViewMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveCellViewMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveCellViewMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveCellViewMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveCellViewMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCellViewMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveCellViewMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveCellViewMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveCellViewMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveCellViewMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveCellViewMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveCellViewMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveCellViewMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveCellViewMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveCellViewMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveCellViewMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveCellViewMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveCellViewMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveCellViewMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveCellViewMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveCellViewMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveCellViewMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveCellViewMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCellViewMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCellViewMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveCellViewMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveCellViewMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveCellViewMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveCellViewMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveCellViewMethod "packEnd" o = Gtk.CellLayout.CellLayoutPackEndMethodInfo
+    ResolveCellViewMethod "packStart" o = Gtk.CellLayout.CellLayoutPackStartMethodInfo
+    ResolveCellViewMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveCellViewMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveCellViewMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveCellViewMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveCellViewMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveCellViewMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveCellViewMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveCellViewMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveCellViewMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveCellViewMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveCellViewMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCellViewMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCellViewMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveCellViewMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveCellViewMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveCellViewMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveCellViewMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveCellViewMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveCellViewMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveCellViewMethod "reorder" o = Gtk.CellLayout.CellLayoutReorderMethodInfo
+    ResolveCellViewMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveCellViewMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveCellViewMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveCellViewMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCellViewMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveCellViewMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveCellViewMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveCellViewMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveCellViewMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveCellViewMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveCellViewMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveCellViewMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveCellViewMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveCellViewMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCellViewMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCellViewMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveCellViewMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveCellViewMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveCellViewMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCellViewMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveCellViewMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveCellViewMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveCellViewMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveCellViewMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveCellViewMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCellViewMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveCellViewMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveCellViewMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCellViewMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveCellViewMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveCellViewMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveCellViewMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveCellViewMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveCellViewMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveCellViewMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveCellViewMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveCellViewMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveCellViewMethod "getArea" o = Gtk.CellLayout.CellLayoutGetAreaMethodInfo
+    ResolveCellViewMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveCellViewMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveCellViewMethod "getCells" o = Gtk.CellLayout.CellLayoutGetCellsMethodInfo
+    ResolveCellViewMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveCellViewMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveCellViewMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveCellViewMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveCellViewMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveCellViewMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCellViewMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveCellViewMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveCellViewMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveCellViewMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveCellViewMethod "getDisplayedRow" o = CellViewGetDisplayedRowMethodInfo
+    ResolveCellViewMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveCellViewMethod "getDrawSensitive" o = CellViewGetDrawSensitiveMethodInfo
+    ResolveCellViewMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveCellViewMethod "getFitModel" o = CellViewGetFitModelMethodInfo
+    ResolveCellViewMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveCellViewMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveCellViewMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveCellViewMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveCellViewMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveCellViewMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveCellViewMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveCellViewMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveCellViewMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveCellViewMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveCellViewMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveCellViewMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveCellViewMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveCellViewMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveCellViewMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveCellViewMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveCellViewMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveCellViewMethod "getModel" o = CellViewGetModelMethodInfo
+    ResolveCellViewMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveCellViewMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveCellViewMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveCellViewMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveCellViewMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveCellViewMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveCellViewMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveCellViewMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveCellViewMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveCellViewMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveCellViewMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveCellViewMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveCellViewMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveCellViewMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveCellViewMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveCellViewMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveCellViewMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveCellViewMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCellViewMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCellViewMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveCellViewMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveCellViewMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveCellViewMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveCellViewMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveCellViewMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveCellViewMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveCellViewMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveCellViewMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveCellViewMethod "getSizeOfRow" o = CellViewGetSizeOfRowMethodInfo
+    ResolveCellViewMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveCellViewMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveCellViewMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveCellViewMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveCellViewMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveCellViewMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveCellViewMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveCellViewMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveCellViewMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveCellViewMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveCellViewMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveCellViewMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveCellViewMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveCellViewMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveCellViewMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveCellViewMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveCellViewMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveCellViewMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveCellViewMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveCellViewMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveCellViewMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveCellViewMethod "setBackgroundColor" o = CellViewSetBackgroundColorMethodInfo
+    ResolveCellViewMethod "setBackgroundRgba" o = CellViewSetBackgroundRgbaMethodInfo
+    ResolveCellViewMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveCellViewMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveCellViewMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveCellViewMethod "setCellDataFunc" o = Gtk.CellLayout.CellLayoutSetCellDataFuncMethodInfo
+    ResolveCellViewMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveCellViewMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveCellViewMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveCellViewMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCellViewMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveCellViewMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveCellViewMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveCellViewMethod "setDisplayedRow" o = CellViewSetDisplayedRowMethodInfo
+    ResolveCellViewMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveCellViewMethod "setDrawSensitive" o = CellViewSetDrawSensitiveMethodInfo
+    ResolveCellViewMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveCellViewMethod "setFitModel" o = CellViewSetFitModelMethodInfo
+    ResolveCellViewMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveCellViewMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveCellViewMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveCellViewMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveCellViewMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveCellViewMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveCellViewMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveCellViewMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveCellViewMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveCellViewMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveCellViewMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveCellViewMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveCellViewMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveCellViewMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveCellViewMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveCellViewMethod "setModel" o = CellViewSetModelMethodInfo
+    ResolveCellViewMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveCellViewMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveCellViewMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveCellViewMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveCellViewMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveCellViewMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveCellViewMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCellViewMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveCellViewMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveCellViewMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveCellViewMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveCellViewMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveCellViewMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveCellViewMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveCellViewMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveCellViewMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveCellViewMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveCellViewMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveCellViewMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveCellViewMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveCellViewMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveCellViewMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveCellViewMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveCellViewMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveCellViewMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveCellViewMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCellViewMethod t CellView, O.MethodInfo info CellView p) => OL.IsLabel t (CellView -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "background"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@background@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellView [ #background 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellViewBackground :: (MonadIO m, IsCellView o) => o -> T.Text -> m ()
+setCellViewBackground obj val = liftIO $ B.Properties.setObjectPropertyString obj "background" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellViewBackground :: (IsCellView o) => T.Text -> IO (GValueConstruct o)
+constructCellViewBackground val = B.Properties.constructObjectPropertyString "background" (Just val)
+
+{- |
+Set the value of the “@background@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #background
+@
+-}
+clearCellViewBackground :: (MonadIO m, IsCellView o) => o -> m ()
+clearCellViewBackground obj = liftIO $ B.Properties.setObjectPropertyString obj "background" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data CellViewBackgroundPropertyInfo
+instance AttrInfo CellViewBackgroundPropertyInfo where
+    type AttrAllowedOps CellViewBackgroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint CellViewBackgroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint CellViewBackgroundPropertyInfo = IsCellView
+    type AttrGetType CellViewBackgroundPropertyInfo = ()
+    type AttrLabel CellViewBackgroundPropertyInfo = "background"
+    type AttrOrigin CellViewBackgroundPropertyInfo = CellView
+    attrGet _ = undefined
+    attrSet _ = setCellViewBackground
+    attrConstruct _ = constructCellViewBackground
+    attrClear _ = clearCellViewBackground
+#endif
+
+-- VVV Prop "background-gdk"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Color"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellView #backgroundGdk
+@
+-}
+getCellViewBackgroundGdk :: (MonadIO m, IsCellView o) => o -> m (Maybe Gdk.Color.Color)
+getCellViewBackgroundGdk obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "background-gdk" Gdk.Color.Color
+
+{- |
+Set the value of the “@background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellView [ #backgroundGdk 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellViewBackgroundGdk :: (MonadIO m, IsCellView o) => o -> Gdk.Color.Color -> m ()
+setCellViewBackgroundGdk obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-gdk" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-gdk@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellViewBackgroundGdk :: (IsCellView o) => Gdk.Color.Color -> IO (GValueConstruct o)
+constructCellViewBackgroundGdk val = B.Properties.constructObjectPropertyBoxed "background-gdk" (Just val)
+
+{- |
+Set the value of the “@background-gdk@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #backgroundGdk
+@
+-}
+clearCellViewBackgroundGdk :: (MonadIO m, IsCellView o) => o -> m ()
+clearCellViewBackgroundGdk obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-gdk" (Nothing :: Maybe Gdk.Color.Color)
+
+#if ENABLE_OVERLOADING
+data CellViewBackgroundGdkPropertyInfo
+instance AttrInfo CellViewBackgroundGdkPropertyInfo where
+    type AttrAllowedOps CellViewBackgroundGdkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellViewBackgroundGdkPropertyInfo = (~) Gdk.Color.Color
+    type AttrBaseTypeConstraint CellViewBackgroundGdkPropertyInfo = IsCellView
+    type AttrGetType CellViewBackgroundGdkPropertyInfo = (Maybe Gdk.Color.Color)
+    type AttrLabel CellViewBackgroundGdkPropertyInfo = "background-gdk"
+    type AttrOrigin CellViewBackgroundGdkPropertyInfo = CellView
+    attrGet _ = getCellViewBackgroundGdk
+    attrSet _ = setCellViewBackgroundGdk
+    attrConstruct _ = constructCellViewBackgroundGdk
+    attrClear _ = clearCellViewBackgroundGdk
+#endif
+
+-- VVV Prop "background-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellView #backgroundRgba
+@
+-}
+getCellViewBackgroundRgba :: (MonadIO m, IsCellView o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getCellViewBackgroundRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "background-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellView [ #backgroundRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellViewBackgroundRgba :: (MonadIO m, IsCellView o) => o -> Gdk.RGBA.RGBA -> m ()
+setCellViewBackgroundRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellViewBackgroundRgba :: (IsCellView o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructCellViewBackgroundRgba val = B.Properties.constructObjectPropertyBoxed "background-rgba" (Just val)
+
+#if ENABLE_OVERLOADING
+data CellViewBackgroundRgbaPropertyInfo
+instance AttrInfo CellViewBackgroundRgbaPropertyInfo where
+    type AttrAllowedOps CellViewBackgroundRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellViewBackgroundRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint CellViewBackgroundRgbaPropertyInfo = IsCellView
+    type AttrGetType CellViewBackgroundRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel CellViewBackgroundRgbaPropertyInfo = "background-rgba"
+    type AttrOrigin CellViewBackgroundRgbaPropertyInfo = CellView
+    attrGet _ = getCellViewBackgroundRgba
+    attrSet _ = setCellViewBackgroundRgba
+    attrConstruct _ = constructCellViewBackgroundRgba
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "background-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellView #backgroundSet
+@
+-}
+getCellViewBackgroundSet :: (MonadIO m, IsCellView o) => o -> m Bool
+getCellViewBackgroundSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "background-set"
+
+{- |
+Set the value of the “@background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellView [ #backgroundSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellViewBackgroundSet :: (MonadIO m, IsCellView o) => o -> Bool -> m ()
+setCellViewBackgroundSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "background-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellViewBackgroundSet :: (IsCellView o) => Bool -> IO (GValueConstruct o)
+constructCellViewBackgroundSet val = B.Properties.constructObjectPropertyBool "background-set" val
+
+#if ENABLE_OVERLOADING
+data CellViewBackgroundSetPropertyInfo
+instance AttrInfo CellViewBackgroundSetPropertyInfo where
+    type AttrAllowedOps CellViewBackgroundSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellViewBackgroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellViewBackgroundSetPropertyInfo = IsCellView
+    type AttrGetType CellViewBackgroundSetPropertyInfo = Bool
+    type AttrLabel CellViewBackgroundSetPropertyInfo = "background-set"
+    type AttrOrigin CellViewBackgroundSetPropertyInfo = CellView
+    attrGet _ = getCellViewBackgroundSet
+    attrSet _ = setCellViewBackgroundSet
+    attrConstruct _ = constructCellViewBackgroundSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "cell-area"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellArea"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cell-area@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellView #cellArea
+@
+-}
+getCellViewCellArea :: (MonadIO m, IsCellView o) => o -> m (Maybe Gtk.CellArea.CellArea)
+getCellViewCellArea obj = liftIO $ B.Properties.getObjectPropertyObject obj "cell-area" Gtk.CellArea.CellArea
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-area@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellViewCellArea :: (IsCellView o, Gtk.CellArea.IsCellArea a) => a -> IO (GValueConstruct o)
+constructCellViewCellArea val = B.Properties.constructObjectPropertyObject "cell-area" (Just val)
+
+#if ENABLE_OVERLOADING
+data CellViewCellAreaPropertyInfo
+instance AttrInfo CellViewCellAreaPropertyInfo where
+    type AttrAllowedOps CellViewCellAreaPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellViewCellAreaPropertyInfo = Gtk.CellArea.IsCellArea
+    type AttrBaseTypeConstraint CellViewCellAreaPropertyInfo = IsCellView
+    type AttrGetType CellViewCellAreaPropertyInfo = (Maybe Gtk.CellArea.CellArea)
+    type AttrLabel CellViewCellAreaPropertyInfo = "cell-area"
+    type AttrOrigin CellViewCellAreaPropertyInfo = CellView
+    attrGet _ = getCellViewCellArea
+    attrSet _ = undefined
+    attrConstruct _ = constructCellViewCellArea
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "cell-area-context"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cell-area-context@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellView #cellAreaContext
+@
+-}
+getCellViewCellAreaContext :: (MonadIO m, IsCellView o) => o -> m (Maybe Gtk.CellAreaContext.CellAreaContext)
+getCellViewCellAreaContext obj = liftIO $ B.Properties.getObjectPropertyObject obj "cell-area-context" Gtk.CellAreaContext.CellAreaContext
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-area-context@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellViewCellAreaContext :: (IsCellView o, Gtk.CellAreaContext.IsCellAreaContext a) => a -> IO (GValueConstruct o)
+constructCellViewCellAreaContext val = B.Properties.constructObjectPropertyObject "cell-area-context" (Just val)
+
+#if ENABLE_OVERLOADING
+data CellViewCellAreaContextPropertyInfo
+instance AttrInfo CellViewCellAreaContextPropertyInfo where
+    type AttrAllowedOps CellViewCellAreaContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellViewCellAreaContextPropertyInfo = Gtk.CellAreaContext.IsCellAreaContext
+    type AttrBaseTypeConstraint CellViewCellAreaContextPropertyInfo = IsCellView
+    type AttrGetType CellViewCellAreaContextPropertyInfo = (Maybe Gtk.CellAreaContext.CellAreaContext)
+    type AttrLabel CellViewCellAreaContextPropertyInfo = "cell-area-context"
+    type AttrOrigin CellViewCellAreaContextPropertyInfo = CellView
+    attrGet _ = getCellViewCellAreaContext
+    attrSet _ = undefined
+    attrConstruct _ = constructCellViewCellAreaContext
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "draw-sensitive"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@draw-sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellView #drawSensitive
+@
+-}
+getCellViewDrawSensitive :: (MonadIO m, IsCellView o) => o -> m Bool
+getCellViewDrawSensitive obj = liftIO $ B.Properties.getObjectPropertyBool obj "draw-sensitive"
+
+{- |
+Set the value of the “@draw-sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellView [ #drawSensitive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellViewDrawSensitive :: (MonadIO m, IsCellView o) => o -> Bool -> m ()
+setCellViewDrawSensitive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "draw-sensitive" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@draw-sensitive@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellViewDrawSensitive :: (IsCellView o) => Bool -> IO (GValueConstruct o)
+constructCellViewDrawSensitive val = B.Properties.constructObjectPropertyBool "draw-sensitive" val
+
+#if ENABLE_OVERLOADING
+data CellViewDrawSensitivePropertyInfo
+instance AttrInfo CellViewDrawSensitivePropertyInfo where
+    type AttrAllowedOps CellViewDrawSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellViewDrawSensitivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellViewDrawSensitivePropertyInfo = IsCellView
+    type AttrGetType CellViewDrawSensitivePropertyInfo = Bool
+    type AttrLabel CellViewDrawSensitivePropertyInfo = "draw-sensitive"
+    type AttrOrigin CellViewDrawSensitivePropertyInfo = CellView
+    attrGet _ = getCellViewDrawSensitive
+    attrSet _ = setCellViewDrawSensitive
+    attrConstruct _ = constructCellViewDrawSensitive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "fit-model"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@fit-model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellView #fitModel
+@
+-}
+getCellViewFitModel :: (MonadIO m, IsCellView o) => o -> m Bool
+getCellViewFitModel obj = liftIO $ B.Properties.getObjectPropertyBool obj "fit-model"
+
+{- |
+Set the value of the “@fit-model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellView [ #fitModel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellViewFitModel :: (MonadIO m, IsCellView o) => o -> Bool -> m ()
+setCellViewFitModel obj val = liftIO $ B.Properties.setObjectPropertyBool obj "fit-model" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@fit-model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellViewFitModel :: (IsCellView o) => Bool -> IO (GValueConstruct o)
+constructCellViewFitModel val = B.Properties.constructObjectPropertyBool "fit-model" val
+
+#if ENABLE_OVERLOADING
+data CellViewFitModelPropertyInfo
+instance AttrInfo CellViewFitModelPropertyInfo where
+    type AttrAllowedOps CellViewFitModelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CellViewFitModelPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CellViewFitModelPropertyInfo = IsCellView
+    type AttrGetType CellViewFitModelPropertyInfo = Bool
+    type AttrLabel CellViewFitModelPropertyInfo = "fit-model"
+    type AttrOrigin CellViewFitModelPropertyInfo = CellView
+    attrGet _ = getCellViewFitModel
+    attrSet _ = setCellViewFitModel
+    attrConstruct _ = constructCellViewFitModel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "model"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' cellView #model
+@
+-}
+getCellViewModel :: (MonadIO m, IsCellView o) => o -> m (Maybe Gtk.TreeModel.TreeModel)
+getCellViewModel obj = liftIO $ B.Properties.getObjectPropertyObject obj "model" Gtk.TreeModel.TreeModel
+
+{- |
+Set the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' cellView [ #model 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCellViewModel :: (MonadIO m, IsCellView o, Gtk.TreeModel.IsTreeModel a) => o -> a -> m ()
+setCellViewModel obj val = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCellViewModel :: (IsCellView o, Gtk.TreeModel.IsTreeModel a) => a -> IO (GValueConstruct o)
+constructCellViewModel val = B.Properties.constructObjectPropertyObject "model" (Just val)
+
+{- |
+Set the value of the “@model@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #model
+@
+-}
+clearCellViewModel :: (MonadIO m, IsCellView o) => o -> m ()
+clearCellViewModel obj = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Nothing :: Maybe Gtk.TreeModel.TreeModel)
+
+#if ENABLE_OVERLOADING
+data CellViewModelPropertyInfo
+instance AttrInfo CellViewModelPropertyInfo where
+    type AttrAllowedOps CellViewModelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint CellViewModelPropertyInfo = Gtk.TreeModel.IsTreeModel
+    type AttrBaseTypeConstraint CellViewModelPropertyInfo = IsCellView
+    type AttrGetType CellViewModelPropertyInfo = (Maybe Gtk.TreeModel.TreeModel)
+    type AttrLabel CellViewModelPropertyInfo = "model"
+    type AttrOrigin CellViewModelPropertyInfo = CellView
+    attrGet _ = getCellViewModel
+    attrSet _ = setCellViewModel
+    attrConstruct _ = constructCellViewModel
+    attrClear _ = clearCellViewModel
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CellView
+type instance O.AttributeList CellView = CellViewAttributeList
+type CellViewAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("background", CellViewBackgroundPropertyInfo), '("backgroundGdk", CellViewBackgroundGdkPropertyInfo), '("backgroundRgba", CellViewBackgroundRgbaPropertyInfo), '("backgroundSet", CellViewBackgroundSetPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("cellArea", CellViewCellAreaPropertyInfo), '("cellAreaContext", CellViewCellAreaContextPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawSensitive", CellViewDrawSensitivePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("fitModel", CellViewFitModelPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("model", CellViewModelPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+cellViewBackground :: AttrLabelProxy "background"
+cellViewBackground = AttrLabelProxy
+
+cellViewBackgroundGdk :: AttrLabelProxy "backgroundGdk"
+cellViewBackgroundGdk = AttrLabelProxy
+
+cellViewBackgroundRgba :: AttrLabelProxy "backgroundRgba"
+cellViewBackgroundRgba = AttrLabelProxy
+
+cellViewBackgroundSet :: AttrLabelProxy "backgroundSet"
+cellViewBackgroundSet = AttrLabelProxy
+
+cellViewCellArea :: AttrLabelProxy "cellArea"
+cellViewCellArea = AttrLabelProxy
+
+cellViewCellAreaContext :: AttrLabelProxy "cellAreaContext"
+cellViewCellAreaContext = AttrLabelProxy
+
+cellViewDrawSensitive :: AttrLabelProxy "drawSensitive"
+cellViewDrawSensitive = AttrLabelProxy
+
+cellViewFitModel :: AttrLabelProxy "fitModel"
+cellViewFitModel = AttrLabelProxy
+
+cellViewModel :: AttrLabelProxy "model"
+cellViewModel = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CellView = CellViewSignalList
+type CellViewSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CellView::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_new" gtk_cell_view_new :: 
+    IO (Ptr CellView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellView.CellView' widget.
+
+/Since: 2.6/
+-}
+cellViewNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CellView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.CellView.CellView' widget. -}
+cellViewNew  = liftIO $ do
+    result <- gtk_cell_view_new
+    checkUnexpectedReturnNULL "cellViewNew" result
+    result' <- (newObject CellView) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CellView::new_with_context
+-- method type : Constructor
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellArea to layout cells", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "CellAreaContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellAreaContext in which to calculate cell geometry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_new_with_context" gtk_cell_view_new_with_context :: 
+    Ptr Gtk.CellArea.CellArea ->            -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    Ptr Gtk.CellAreaContext.CellAreaContext -> -- context : TInterface (Name {namespace = "Gtk", name = "CellAreaContext"})
+    IO (Ptr CellView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellView.CellView' widget with a specific 'GI.Gtk.Objects.CellArea.CellArea'
+to layout cells and a specific 'GI.Gtk.Objects.CellAreaContext.CellAreaContext'.
+
+Specifying the same context for a handfull of cells lets
+the underlying area synchronize the geometry for those cells,
+in this way alignments with cellviews for other rows are
+possible.
+
+/Since: 2.6/
+-}
+cellViewNewWithContext ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellArea.IsCellArea a, Gtk.CellAreaContext.IsCellAreaContext b) =>
+    a
+    {- ^ /@area@/: the 'GI.Gtk.Objects.CellArea.CellArea' to layout cells -}
+    -> b
+    {- ^ /@context@/: the 'GI.Gtk.Objects.CellAreaContext.CellAreaContext' in which to calculate cell geometry -}
+    -> m CellView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.CellView.CellView' widget. -}
+cellViewNewWithContext area context = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_cell_view_new_with_context area' context'
+    checkUnexpectedReturnNULL "cellViewNewWithContext" result
+    result' <- (newObject CellView) result
+    touchManagedPtr area
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CellView::new_with_markup
+-- method type : Constructor
+-- Args : [Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to display in the cell view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_new_with_markup" gtk_cell_view_new_with_markup :: 
+    CString ->                              -- markup : TBasicType TUTF8
+    IO (Ptr CellView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellView.CellView' widget, adds a 'GI.Gtk.Objects.CellRendererText.CellRendererText'
+to it, and makes it show /@markup@/. The text can be
+marked up with the [Pango text markup language][PangoMarkupFormat].
+
+/Since: 2.6/
+-}
+cellViewNewWithMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@markup@/: the text to display in the cell view -}
+    -> m CellView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.CellView.CellView' widget. -}
+cellViewNewWithMarkup markup = liftIO $ do
+    markup' <- textToCString markup
+    result <- gtk_cell_view_new_with_markup markup'
+    checkUnexpectedReturnNULL "cellViewNewWithMarkup" result
+    result' <- (newObject CellView) result
+    freeMem markup'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CellView::new_with_pixbuf
+-- method type : Constructor
+-- Args : [Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the image to display in the cell view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_new_with_pixbuf" gtk_cell_view_new_with_pixbuf :: 
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO (Ptr CellView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellView.CellView' widget, adds a 'GI.Gtk.Objects.CellRendererPixbuf.CellRendererPixbuf'
+to it, and makes it show /@pixbuf@/.
+
+/Since: 2.6/
+-}
+cellViewNewWithPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>
+    a
+    {- ^ /@pixbuf@/: the image to display in the cell view -}
+    -> m CellView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.CellView.CellView' widget. -}
+cellViewNewWithPixbuf pixbuf = liftIO $ do
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    result <- gtk_cell_view_new_with_pixbuf pixbuf'
+    checkUnexpectedReturnNULL "cellViewNewWithPixbuf" result
+    result' <- (newObject CellView) result
+    touchManagedPtr pixbuf
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CellView::new_with_text
+-- method type : Constructor
+-- Args : [Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to display in the cell view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CellView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_new_with_text" gtk_cell_view_new_with_text :: 
+    CString ->                              -- text : TBasicType TUTF8
+    IO (Ptr CellView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CellView.CellView' widget, adds a 'GI.Gtk.Objects.CellRendererText.CellRendererText'
+to it, and makes it show /@text@/.
+
+/Since: 2.6/
+-}
+cellViewNewWithText ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@text@/: the text to display in the cell view -}
+    -> m CellView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.CellView.CellView' widget. -}
+cellViewNewWithText text = liftIO $ do
+    text' <- textToCString text
+    result <- gtk_cell_view_new_with_text text'
+    checkUnexpectedReturnNULL "cellViewNewWithText" result
+    result' <- (newObject CellView) result
+    freeMem text'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CellView::get_displayed_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_get_displayed_row" gtk_cell_view_get_displayed_row :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    IO (Ptr Gtk.TreePath.TreePath)
+
+{- |
+Returns a 'GI.Gtk.Structs.TreePath.TreePath' referring to the currently
+displayed row. If no row is currently displayed,
+'Nothing' is returned.
+
+/Since: 2.6/
+-}
+cellViewGetDisplayedRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> m (Maybe Gtk.TreePath.TreePath)
+    {- ^ __Returns:__ the currently displayed row or 'Nothing' -}
+cellViewGetDisplayedRow cellView = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    result <- gtk_cell_view_get_displayed_row cellView'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gtk.TreePath.TreePath) result'
+        return result''
+    touchManagedPtr cellView
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data CellViewGetDisplayedRowMethodInfo
+instance (signature ~ (m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsCellView a) => O.MethodInfo CellViewGetDisplayedRowMethodInfo a signature where
+    overloadedMethod _ = cellViewGetDisplayedRow
+
+#endif
+
+-- method CellView::get_draw_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_get_draw_sensitive" gtk_cell_view_get_draw_sensitive :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    IO CInt
+
+{- |
+Gets whether /@cellView@/ is configured to draw all of its
+cells in a sensitive state.
+
+/Since: 3.0/
+-}
+cellViewGetDrawSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@cellView@/ draws all of its
+cells in a sensitive state -}
+cellViewGetDrawSensitive cellView = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    result <- gtk_cell_view_get_draw_sensitive cellView'
+    let result' = (/= 0) result
+    touchManagedPtr cellView
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellViewGetDrawSensitiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCellView a) => O.MethodInfo CellViewGetDrawSensitiveMethodInfo a signature where
+    overloadedMethod _ = cellViewGetDrawSensitive
+
+#endif
+
+-- method CellView::get_fit_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_get_fit_model" gtk_cell_view_get_fit_model :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    IO CInt
+
+{- |
+Gets whether /@cellView@/ is configured to request space
+to fit the entire 'GI.Gtk.Interfaces.TreeModel.TreeModel'.
+
+/Since: 3.0/
+-}
+cellViewGetFitModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@cellView@/ requests space to fit
+the entire 'GI.Gtk.Interfaces.TreeModel.TreeModel'. -}
+cellViewGetFitModel cellView = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    result <- gtk_cell_view_get_fit_model cellView'
+    let result' = (/= 0) result
+    touchManagedPtr cellView
+    return result'
+
+#if ENABLE_OVERLOADING
+data CellViewGetFitModelMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCellView a) => O.MethodInfo CellViewGetFitModelMethodInfo a signature where
+    overloadedMethod _ = cellViewGetFitModel
+
+#endif
+
+-- method CellView::get_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_get_model" gtk_cell_view_get_model :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    IO (Ptr Gtk.TreeModel.TreeModel)
+
+{- |
+Returns the model for /@cellView@/. If no model is used 'Nothing' is
+returned.
+
+/Since: 2.16/
+-}
+cellViewGetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> m (Maybe Gtk.TreeModel.TreeModel)
+    {- ^ __Returns:__ a 'GI.Gtk.Interfaces.TreeModel.TreeModel' used or 'Nothing' -}
+cellViewGetModel cellView = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    result <- gtk_cell_view_get_model cellView'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.TreeModel.TreeModel) result'
+        return result''
+    touchManagedPtr cellView
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data CellViewGetModelMethodInfo
+instance (signature ~ (m (Maybe Gtk.TreeModel.TreeModel)), MonadIO m, IsCellView a) => O.MethodInfo CellViewGetModelMethodInfo a signature where
+    overloadedMethod _ = cellViewGetModel
+
+#endif
+
+-- method CellView::get_size_of_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "requisition", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_get_size_of_row" gtk_cell_view_get_size_of_row :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.Requisition.Requisition ->      -- requisition : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    IO CInt
+
+{-# DEPRECATED cellViewGetSizeOfRow ["(Since version 3.0)","Combo box formerly used this to calculate the","sizes for cellviews, now you can achieve this by either using","the 'GI.Gtk.Objects.CellView.CellView':@/fit-model/@ property or by setting the currently","displayed row of the 'GI.Gtk.Objects.CellView.CellView' and using 'GI.Gtk.Objects.Widget.widgetGetPreferredSize'."] #-}
+{- |
+Sets /@requisition@/ to the size needed by /@cellView@/ to display
+the model row pointed to by /@path@/.
+
+/Since: 2.6/
+-}
+cellViewGetSizeOfRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> m ((Bool, Gtk.Requisition.Requisition))
+    {- ^ __Returns:__ 'True' -}
+cellViewGetSizeOfRow cellView path = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    path' <- unsafeManagedPtrGetPtr path
+    requisition <- callocBoxedBytes 8 :: IO (Ptr Gtk.Requisition.Requisition)
+    result <- gtk_cell_view_get_size_of_row cellView' path' requisition
+    let result' = (/= 0) result
+    requisition' <- (wrapBoxed Gtk.Requisition.Requisition) requisition
+    touchManagedPtr cellView
+    touchManagedPtr path
+    return (result', requisition')
+
+#if ENABLE_OVERLOADING
+data CellViewGetSizeOfRowMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m ((Bool, Gtk.Requisition.Requisition))), MonadIO m, IsCellView a) => O.MethodInfo CellViewGetSizeOfRowMethodInfo a signature where
+    overloadedMethod _ = cellViewGetSizeOfRow
+
+#endif
+
+-- method CellView::set_background_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new background color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_set_background_color" gtk_cell_view_set_background_color :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED cellViewSetBackgroundColor ["(Since version 3.4)","Use 'GI.Gtk.Objects.CellView.cellViewSetBackgroundRgba' instead."] #-}
+{- |
+Sets the background color of /@view@/.
+
+/Since: 2.6/
+-}
+cellViewSetBackgroundColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> Gdk.Color.Color
+    {- ^ /@color@/: the new background color -}
+    -> m ()
+cellViewSetBackgroundColor cellView color = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    color' <- unsafeManagedPtrGetPtr color
+    gtk_cell_view_set_background_color cellView' color'
+    touchManagedPtr cellView
+    touchManagedPtr color
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellViewSetBackgroundColorMethodInfo
+instance (signature ~ (Gdk.Color.Color -> m ()), MonadIO m, IsCellView a) => O.MethodInfo CellViewSetBackgroundColorMethodInfo a signature where
+    overloadedMethod _ = cellViewSetBackgroundColor
+
+#endif
+
+-- method CellView::set_background_rgba
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new background color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_set_background_rgba" gtk_cell_view_set_background_rgba :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{- |
+Sets the background color of /@cellView@/.
+
+/Since: 3.0/
+-}
+cellViewSetBackgroundRgba ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> Gdk.RGBA.RGBA
+    {- ^ /@rgba@/: the new background color -}
+    -> m ()
+cellViewSetBackgroundRgba cellView rgba = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    rgba' <- unsafeManagedPtrGetPtr rgba
+    gtk_cell_view_set_background_rgba cellView' rgba'
+    touchManagedPtr cellView
+    touchManagedPtr rgba
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellViewSetBackgroundRgbaMethodInfo
+instance (signature ~ (Gdk.RGBA.RGBA -> m ()), MonadIO m, IsCellView a) => O.MethodInfo CellViewSetBackgroundRgbaMethodInfo a signature where
+    overloadedMethod _ = cellViewSetBackgroundRgba
+
+#endif
+
+-- method CellView::set_displayed_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreePath or %NULL to unset.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_set_displayed_row" gtk_cell_view_set_displayed_row :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Sets the row of the model that is currently displayed
+by the 'GI.Gtk.Objects.CellView.CellView'. If the path is unset, then the
+contents of the cellview “stick” at their last value;
+this is not normally a desired result, but may be
+a needed intermediate state if say, the model for
+the 'GI.Gtk.Objects.CellView.CellView' becomes temporarily empty.
+
+/Since: 2.6/
+-}
+cellViewSetDisplayedRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> Maybe (Gtk.TreePath.TreePath)
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' or 'Nothing' to unset. -}
+    -> m ()
+cellViewSetDisplayedRow cellView path = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    maybePath <- case path of
+        Nothing -> return nullPtr
+        Just jPath -> do
+            jPath' <- unsafeManagedPtrGetPtr jPath
+            return jPath'
+    gtk_cell_view_set_displayed_row cellView' maybePath
+    touchManagedPtr cellView
+    whenJust path touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellViewSetDisplayedRowMethodInfo
+instance (signature ~ (Maybe (Gtk.TreePath.TreePath) -> m ()), MonadIO m, IsCellView a) => O.MethodInfo CellViewSetDisplayedRowMethodInfo a signature where
+    overloadedMethod _ = cellViewSetDisplayedRow
+
+#endif
+
+-- method CellView::set_draw_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "draw_sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to draw all cells in a sensitive state.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_set_draw_sensitive" gtk_cell_view_set_draw_sensitive :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    CInt ->                                 -- draw_sensitive : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@cellView@/ should draw all of its
+cells in a sensitive state, this is used by 'GI.Gtk.Objects.ComboBox.ComboBox' menus
+to ensure that rows with insensitive cells that contain
+children appear sensitive in the parent menu item.
+
+/Since: 3.0/
+-}
+cellViewSetDrawSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> Bool
+    {- ^ /@drawSensitive@/: whether to draw all cells in a sensitive state. -}
+    -> m ()
+cellViewSetDrawSensitive cellView drawSensitive = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    let drawSensitive' = (fromIntegral . fromEnum) drawSensitive
+    gtk_cell_view_set_draw_sensitive cellView' drawSensitive'
+    touchManagedPtr cellView
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellViewSetDrawSensitiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCellView a) => O.MethodInfo CellViewSetDrawSensitiveMethodInfo a signature where
+    overloadedMethod _ = cellViewSetDrawSensitive
+
+#endif
+
+-- method CellView::set_fit_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fit_model", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @cell_view should request space for the whole model.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_set_fit_model" gtk_cell_view_set_fit_model :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    CInt ->                                 -- fit_model : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@cellView@/ should request space to fit the entire 'GI.Gtk.Interfaces.TreeModel.TreeModel'.
+
+This is used by 'GI.Gtk.Objects.ComboBox.ComboBox' to ensure that the cell view displayed on
+the combo box’s button always gets enough space and does not resize
+when selection changes.
+
+/Since: 3.0/
+-}
+cellViewSetFitModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> Bool
+    {- ^ /@fitModel@/: whether /@cellView@/ should request space for the whole model. -}
+    -> m ()
+cellViewSetFitModel cellView fitModel = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    let fitModel' = (fromIntegral . fromEnum) fitModel
+    gtk_cell_view_set_fit_model cellView' fitModel'
+    touchManagedPtr cellView
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellViewSetFitModelMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCellView a) => O.MethodInfo CellViewSetFitModelMethodInfo a signature where
+    overloadedMethod _ = cellViewSetFitModel
+
+#endif
+
+-- method CellView::set_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "cell_view", argType = TInterface (Name {namespace = "Gtk", name = "CellView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_cell_view_set_model" gtk_cell_view_set_model :: 
+    Ptr CellView ->                         -- cell_view : TInterface (Name {namespace = "Gtk", name = "CellView"})
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO ()
+
+{- |
+Sets the model for /@cellView@/.  If /@cellView@/ already has a model
+set, it will remove it before setting the new model.  If /@model@/ is
+'Nothing', then it will unset the old model.
+
+/Since: 2.6/
+-}
+cellViewSetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCellView a, Gtk.TreeModel.IsTreeModel b) =>
+    a
+    {- ^ /@cellView@/: a 'GI.Gtk.Objects.CellView.CellView' -}
+    -> Maybe (b)
+    {- ^ /@model@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> m ()
+cellViewSetModel cellView model = liftIO $ do
+    cellView' <- unsafeManagedPtrCastPtr cellView
+    maybeModel <- case model of
+        Nothing -> return nullPtr
+        Just jModel -> do
+            jModel' <- unsafeManagedPtrCastPtr jModel
+            return jModel'
+    gtk_cell_view_set_model cellView' maybeModel
+    touchManagedPtr cellView
+    whenJust model touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data CellViewSetModelMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsCellView a, Gtk.TreeModel.IsTreeModel b) => O.MethodInfo CellViewSetModelMethodInfo a signature where
+    overloadedMethod _ = cellViewSetModel
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CellView.hs-boot b/GI/Gtk/Objects/CellView.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CellView.hs-boot
@@ -0,0 +1,89 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CellView where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CellView = CellView (ManagedPtr CellView)
+instance GObject CellView where
+class (GObject o, O.IsDescendantOf CellView o) => IsCellView o
+instance (GObject o, O.IsDescendantOf CellView o) => IsCellView o
+instance O.HasParentTypes CellView
+#if ENABLE_OVERLOADING
+data CellViewBackgroundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewBackgroundGdkPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewBackgroundRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewBackgroundSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewCellAreaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewCellAreaContextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewDrawSensitivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewFitModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewGetDisplayedRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewGetDrawSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewGetFitModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewGetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewGetSizeOfRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewSetBackgroundColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewSetBackgroundRgbaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewSetDisplayedRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewSetDrawSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewSetFitModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CellViewSetModelMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CheckButton.hs b/GI/Gtk/Objects/CheckButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CheckButton.hs
@@ -0,0 +1,609 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.CheckButton.CheckButton' places a discrete 'GI.Gtk.Objects.ToggleButton.ToggleButton' next to a widget,
+(usually a 'GI.Gtk.Objects.Label.Label'). See the section on 'GI.Gtk.Objects.ToggleButton.ToggleButton' widgets for
+more information about toggle\/check buttons.
+
+The important signal ( 'GI.Gtk.Objects.ToggleButton.ToggleButton'::@/toggled/@ ) is also inherited from
+'GI.Gtk.Objects.ToggleButton.ToggleButton'.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>checkbutton
+>├── check
+>╰── <child>
+
+
+A GtkCheckButton with indicator (see 'GI.Gtk.Objects.ToggleButton.toggleButtonSetMode') has a
+main CSS node with name checkbutton and a subnode with name check.
+
+
+=== /plain code/
+>
+>button.check
+>├── check
+>╰── <child>
+
+
+A GtkCheckButton without indicator changes the name of its main node
+to button and adds a .check style class to it. The subnode is invisible
+in this case.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CheckButton
+    ( 
+
+-- * Exported types
+    CheckButton(..)                         ,
+    IsCheckButton                           ,
+    toCheckButton                           ,
+    noCheckButton                           ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    checkButtonNew                          ,
+
+
+-- ** newWithLabel #method:newWithLabel#
+
+    checkButtonNewWithLabel                 ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    checkButtonNewWithMnemonic              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToggleButton as Gtk.ToggleButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype CheckButton = CheckButton (ManagedPtr CheckButton)
+foreign import ccall "gtk_check_button_get_type"
+    c_gtk_check_button_get_type :: IO GType
+
+instance GObject CheckButton where
+    gobjectType = c_gtk_check_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `CheckButton`, for instance with `toCheckButton`.
+class (GObject o, O.IsDescendantOf CheckButton o) => IsCheckButton o
+instance (GObject o, O.IsDescendantOf CheckButton o) => IsCheckButton o
+
+instance O.HasParentTypes CheckButton
+type instance O.ParentTypes CheckButton = '[Gtk.ToggleButton.ToggleButton, Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `CheckButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCheckButton :: (MonadIO m, IsCheckButton o) => o -> m CheckButton
+toCheckButton = liftIO . unsafeCastTo CheckButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CheckButton`.
+noCheckButton :: Maybe CheckButton
+noCheckButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCheckButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCheckButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveCheckButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveCheckButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveCheckButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveCheckButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveCheckButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveCheckButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveCheckButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveCheckButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCheckButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCheckButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveCheckButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveCheckButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveCheckButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveCheckButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveCheckButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveCheckButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveCheckButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveCheckButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveCheckButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveCheckButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveCheckButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveCheckButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveCheckButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveCheckButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveCheckButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveCheckButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveCheckButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveCheckButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveCheckButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveCheckButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveCheckButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveCheckButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveCheckButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveCheckButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveCheckButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveCheckButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveCheckButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveCheckButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveCheckButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveCheckButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveCheckButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveCheckButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveCheckButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveCheckButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveCheckButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveCheckButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveCheckButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveCheckButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveCheckButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveCheckButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveCheckButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveCheckButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveCheckButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveCheckButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveCheckButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveCheckButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveCheckButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveCheckButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveCheckButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveCheckButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveCheckButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveCheckButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveCheckButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveCheckButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveCheckButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCheckButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveCheckButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveCheckButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCheckButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCheckButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveCheckButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveCheckButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveCheckButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveCheckButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveCheckButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveCheckButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveCheckButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveCheckButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveCheckButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveCheckButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveCheckButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveCheckButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveCheckButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveCheckButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveCheckButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveCheckButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveCheckButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveCheckButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveCheckButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveCheckButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCheckButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveCheckButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveCheckButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveCheckButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveCheckButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveCheckButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveCheckButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveCheckButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveCheckButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveCheckButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveCheckButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveCheckButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveCheckButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveCheckButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveCheckButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveCheckButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveCheckButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveCheckButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveCheckButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCheckButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCheckButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveCheckButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveCheckButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveCheckButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveCheckButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveCheckButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveCheckButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveCheckButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveCheckButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveCheckButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveCheckButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveCheckButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveCheckButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveCheckButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveCheckButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveCheckButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveCheckButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveCheckButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCheckButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCheckButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveCheckButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveCheckButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveCheckButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveCheckButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveCheckButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveCheckButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveCheckButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveCheckButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveCheckButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveCheckButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveCheckButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveCheckButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveCheckButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCheckButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveCheckButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveCheckButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveCheckButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveCheckButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveCheckButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveCheckButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveCheckButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveCheckButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveCheckButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCheckButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCheckButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveCheckButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveCheckButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveCheckButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveCheckButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCheckButtonMethod "toggled" o = Gtk.ToggleButton.ToggleButtonToggledMethodInfo
+    ResolveCheckButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveCheckButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveCheckButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveCheckButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveCheckButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveCheckButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCheckButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveCheckButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveCheckButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveCheckButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCheckButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveCheckButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveCheckButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveCheckButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveCheckButtonMethod "getActive" o = Gtk.ToggleButton.ToggleButtonGetActiveMethodInfo
+    ResolveCheckButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveCheckButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveCheckButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveCheckButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveCheckButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveCheckButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveCheckButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveCheckButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveCheckButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveCheckButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveCheckButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveCheckButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveCheckButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveCheckButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveCheckButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveCheckButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveCheckButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveCheckButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveCheckButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveCheckButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCheckButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveCheckButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveCheckButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveCheckButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveCheckButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveCheckButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveCheckButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveCheckButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveCheckButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveCheckButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveCheckButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveCheckButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveCheckButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveCheckButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveCheckButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveCheckButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveCheckButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveCheckButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveCheckButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveCheckButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveCheckButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveCheckButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveCheckButtonMethod "getInconsistent" o = Gtk.ToggleButton.ToggleButtonGetInconsistentMethodInfo
+    ResolveCheckButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveCheckButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveCheckButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveCheckButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveCheckButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveCheckButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveCheckButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveCheckButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveCheckButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveCheckButtonMethod "getMode" o = Gtk.ToggleButton.ToggleButtonGetModeMethodInfo
+    ResolveCheckButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveCheckButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveCheckButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveCheckButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveCheckButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveCheckButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveCheckButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveCheckButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveCheckButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveCheckButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveCheckButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveCheckButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveCheckButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveCheckButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveCheckButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveCheckButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveCheckButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveCheckButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCheckButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCheckButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveCheckButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveCheckButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveCheckButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveCheckButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveCheckButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveCheckButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveCheckButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveCheckButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveCheckButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveCheckButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveCheckButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveCheckButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveCheckButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveCheckButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveCheckButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveCheckButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveCheckButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveCheckButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveCheckButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveCheckButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveCheckButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveCheckButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveCheckButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveCheckButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveCheckButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveCheckButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveCheckButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveCheckButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveCheckButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveCheckButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveCheckButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveCheckButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveCheckButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveCheckButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveCheckButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveCheckButtonMethod "setActive" o = Gtk.ToggleButton.ToggleButtonSetActiveMethodInfo
+    ResolveCheckButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveCheckButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveCheckButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveCheckButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveCheckButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveCheckButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveCheckButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveCheckButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveCheckButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveCheckButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveCheckButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveCheckButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCheckButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveCheckButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveCheckButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveCheckButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveCheckButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveCheckButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveCheckButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveCheckButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveCheckButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveCheckButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveCheckButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveCheckButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveCheckButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveCheckButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveCheckButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveCheckButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveCheckButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveCheckButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveCheckButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveCheckButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveCheckButtonMethod "setInconsistent" o = Gtk.ToggleButton.ToggleButtonSetInconsistentMethodInfo
+    ResolveCheckButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveCheckButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveCheckButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveCheckButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveCheckButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveCheckButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveCheckButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveCheckButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveCheckButtonMethod "setMode" o = Gtk.ToggleButton.ToggleButtonSetModeMethodInfo
+    ResolveCheckButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveCheckButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveCheckButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveCheckButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveCheckButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveCheckButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCheckButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveCheckButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveCheckButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveCheckButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveCheckButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveCheckButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveCheckButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveCheckButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveCheckButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveCheckButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveCheckButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveCheckButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveCheckButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveCheckButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveCheckButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveCheckButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveCheckButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveCheckButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveCheckButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveCheckButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveCheckButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveCheckButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveCheckButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveCheckButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveCheckButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveCheckButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCheckButtonMethod t CheckButton, O.MethodInfo info CheckButton p) => OL.IsLabel t (CheckButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CheckButton
+type instance O.AttributeList CheckButton = CheckButtonAttributeList
+type CheckButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", Gtk.ToggleButton.ToggleButtonActivePropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawIndicator", Gtk.ToggleButton.ToggleButtonDrawIndicatorPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("inconsistent", Gtk.ToggleButton.ToggleButtonInconsistentPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CheckButton = CheckButtonSignalList
+type CheckButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggled", Gtk.ToggleButton.ToggleButtonToggledSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CheckButton::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CheckButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_button_new" gtk_check_button_new :: 
+    IO (Ptr CheckButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CheckButton.CheckButton'.
+-}
+checkButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CheckButton
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget'. -}
+checkButtonNew  = liftIO $ do
+    result <- gtk_check_button_new
+    checkUnexpectedReturnNULL "checkButtonNew" result
+    result' <- (newObject CheckButton) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CheckButton::new_with_label
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text for the check button.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CheckButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_button_new_with_label" gtk_check_button_new_with_label :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr CheckButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CheckButton.CheckButton' with a 'GI.Gtk.Objects.Label.Label' to the right of it.
+-}
+checkButtonNewWithLabel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: the text for the check button. -}
+    -> m CheckButton
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget'. -}
+checkButtonNewWithLabel label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_check_button_new_with_label label'
+    checkUnexpectedReturnNULL "checkButtonNewWithLabel" result
+    result' <- (newObject CheckButton) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CheckButton::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The text of the button, with an underscore in front of the\n  mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CheckButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_button_new_with_mnemonic" gtk_check_button_new_with_mnemonic :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr CheckButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CheckButton.CheckButton' containing a label. The label
+will be created using 'GI.Gtk.Objects.Label.labelNewWithMnemonic', so underscores
+in /@label@/ indicate the mnemonic for the check button.
+-}
+checkButtonNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: The text of the button, with an underscore in front of the
+  mnemonic character -}
+    -> m CheckButton
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.CheckButton.CheckButton' -}
+checkButtonNewWithMnemonic label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_check_button_new_with_mnemonic label'
+    checkUnexpectedReturnNULL "checkButtonNewWithMnemonic" result
+    result' <- (newObject CheckButton) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/CheckButton.hs-boot b/GI/Gtk/Objects/CheckButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CheckButton.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CheckButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CheckButton = CheckButton (ManagedPtr CheckButton)
+instance GObject CheckButton where
+class (GObject o, O.IsDescendantOf CheckButton o) => IsCheckButton o
+instance (GObject o, O.IsDescendantOf CheckButton o) => IsCheckButton o
+instance O.HasParentTypes CheckButton
diff --git a/GI/Gtk/Objects/CheckMenuItem.hs b/GI/Gtk/Objects/CheckMenuItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CheckMenuItem.hs
@@ -0,0 +1,1199 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' is a menu item that maintains the state of a boolean
+value in addition to a 'GI.Gtk.Objects.MenuItem.MenuItem' usual role in activating application
+code.
+
+A check box indicating the state of the boolean value is displayed
+at the left side of the 'GI.Gtk.Objects.MenuItem.MenuItem'.  Activating the 'GI.Gtk.Objects.MenuItem.MenuItem'
+toggles the value.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>menuitem
+>├── check.left
+>╰── <child>
+
+
+GtkCheckMenuItem has a main CSS node with name menuitem, and a subnode
+with name check, which gets the .left or .right style class.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CheckMenuItem
+    ( 
+
+-- * Exported types
+    CheckMenuItem(..)                       ,
+    IsCheckMenuItem                         ,
+    toCheckMenuItem                         ,
+    noCheckMenuItem                         ,
+
+
+ -- * Methods
+-- ** getActive #method:getActive#
+
+#if ENABLE_OVERLOADING
+    CheckMenuItemGetActiveMethodInfo        ,
+#endif
+    checkMenuItemGetActive                  ,
+
+
+-- ** getDrawAsRadio #method:getDrawAsRadio#
+
+#if ENABLE_OVERLOADING
+    CheckMenuItemGetDrawAsRadioMethodInfo   ,
+#endif
+    checkMenuItemGetDrawAsRadio             ,
+
+
+-- ** getInconsistent #method:getInconsistent#
+
+#if ENABLE_OVERLOADING
+    CheckMenuItemGetInconsistentMethodInfo  ,
+#endif
+    checkMenuItemGetInconsistent            ,
+
+
+-- ** new #method:new#
+
+    checkMenuItemNew                        ,
+
+
+-- ** newWithLabel #method:newWithLabel#
+
+    checkMenuItemNewWithLabel               ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    checkMenuItemNewWithMnemonic            ,
+
+
+-- ** setActive #method:setActive#
+
+#if ENABLE_OVERLOADING
+    CheckMenuItemSetActiveMethodInfo        ,
+#endif
+    checkMenuItemSetActive                  ,
+
+
+-- ** setDrawAsRadio #method:setDrawAsRadio#
+
+#if ENABLE_OVERLOADING
+    CheckMenuItemSetDrawAsRadioMethodInfo   ,
+#endif
+    checkMenuItemSetDrawAsRadio             ,
+
+
+-- ** setInconsistent #method:setInconsistent#
+
+#if ENABLE_OVERLOADING
+    CheckMenuItemSetInconsistentMethodInfo  ,
+#endif
+    checkMenuItemSetInconsistent            ,
+
+
+-- ** toggled #method:toggled#
+
+#if ENABLE_OVERLOADING
+    CheckMenuItemToggledMethodInfo          ,
+#endif
+    checkMenuItemToggled                    ,
+
+
+
+
+ -- * Properties
+-- ** active #attr:active#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CheckMenuItemActivePropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    checkMenuItemActive                     ,
+#endif
+    constructCheckMenuItemActive            ,
+    getCheckMenuItemActive                  ,
+    setCheckMenuItemActive                  ,
+
+
+-- ** drawAsRadio #attr:drawAsRadio#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CheckMenuItemDrawAsRadioPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    checkMenuItemDrawAsRadio                ,
+#endif
+    constructCheckMenuItemDrawAsRadio       ,
+    getCheckMenuItemDrawAsRadio             ,
+    setCheckMenuItemDrawAsRadio             ,
+
+
+-- ** inconsistent #attr:inconsistent#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    CheckMenuItemInconsistentPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    checkMenuItemInconsistent               ,
+#endif
+    constructCheckMenuItemInconsistent      ,
+    getCheckMenuItemInconsistent            ,
+    setCheckMenuItemInconsistent            ,
+
+
+
+
+ -- * Signals
+-- ** toggled #signal:toggled#
+
+    C_CheckMenuItemToggledCallback          ,
+    CheckMenuItemToggledCallback            ,
+#if ENABLE_OVERLOADING
+    CheckMenuItemToggledSignalInfo          ,
+#endif
+    afterCheckMenuItemToggled               ,
+    genClosure_CheckMenuItemToggled         ,
+    mk_CheckMenuItemToggledCallback         ,
+    noCheckMenuItemToggledCallback          ,
+    onCheckMenuItemToggled                  ,
+    wrap_CheckMenuItemToggledCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuItem as Gtk.MenuItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype CheckMenuItem = CheckMenuItem (ManagedPtr CheckMenuItem)
+foreign import ccall "gtk_check_menu_item_get_type"
+    c_gtk_check_menu_item_get_type :: IO GType
+
+instance GObject CheckMenuItem where
+    gobjectType = c_gtk_check_menu_item_get_type
+    
+
+-- | Type class for types which can be safely cast to `CheckMenuItem`, for instance with `toCheckMenuItem`.
+class (GObject o, O.IsDescendantOf CheckMenuItem o) => IsCheckMenuItem o
+instance (GObject o, O.IsDescendantOf CheckMenuItem o) => IsCheckMenuItem o
+
+instance O.HasParentTypes CheckMenuItem
+type instance O.ParentTypes CheckMenuItem = '[Gtk.MenuItem.MenuItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `CheckMenuItem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCheckMenuItem :: (MonadIO m, IsCheckMenuItem o) => o -> m CheckMenuItem
+toCheckMenuItem = liftIO . unsafeCastTo CheckMenuItem
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CheckMenuItem`.
+noCheckMenuItem :: Maybe CheckMenuItem
+noCheckMenuItem = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCheckMenuItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCheckMenuItemMethod "activate" o = Gtk.MenuItem.MenuItemActivateMethodInfo
+    ResolveCheckMenuItemMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveCheckMenuItemMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveCheckMenuItemMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveCheckMenuItemMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveCheckMenuItemMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveCheckMenuItemMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveCheckMenuItemMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveCheckMenuItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCheckMenuItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCheckMenuItemMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveCheckMenuItemMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveCheckMenuItemMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveCheckMenuItemMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveCheckMenuItemMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveCheckMenuItemMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveCheckMenuItemMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveCheckMenuItemMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveCheckMenuItemMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveCheckMenuItemMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveCheckMenuItemMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveCheckMenuItemMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveCheckMenuItemMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveCheckMenuItemMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveCheckMenuItemMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveCheckMenuItemMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveCheckMenuItemMethod "deselect" o = Gtk.MenuItem.MenuItemDeselectMethodInfo
+    ResolveCheckMenuItemMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveCheckMenuItemMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveCheckMenuItemMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveCheckMenuItemMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveCheckMenuItemMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveCheckMenuItemMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveCheckMenuItemMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveCheckMenuItemMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveCheckMenuItemMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveCheckMenuItemMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveCheckMenuItemMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveCheckMenuItemMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveCheckMenuItemMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveCheckMenuItemMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveCheckMenuItemMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveCheckMenuItemMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveCheckMenuItemMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveCheckMenuItemMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveCheckMenuItemMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveCheckMenuItemMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveCheckMenuItemMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveCheckMenuItemMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveCheckMenuItemMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveCheckMenuItemMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveCheckMenuItemMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveCheckMenuItemMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveCheckMenuItemMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveCheckMenuItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCheckMenuItemMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveCheckMenuItemMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveCheckMenuItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCheckMenuItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCheckMenuItemMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveCheckMenuItemMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveCheckMenuItemMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveCheckMenuItemMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveCheckMenuItemMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveCheckMenuItemMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveCheckMenuItemMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveCheckMenuItemMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveCheckMenuItemMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveCheckMenuItemMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveCheckMenuItemMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveCheckMenuItemMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveCheckMenuItemMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveCheckMenuItemMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveCheckMenuItemMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveCheckMenuItemMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveCheckMenuItemMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveCheckMenuItemMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveCheckMenuItemMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveCheckMenuItemMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveCheckMenuItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCheckMenuItemMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveCheckMenuItemMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveCheckMenuItemMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveCheckMenuItemMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveCheckMenuItemMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveCheckMenuItemMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveCheckMenuItemMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveCheckMenuItemMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveCheckMenuItemMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveCheckMenuItemMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveCheckMenuItemMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveCheckMenuItemMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveCheckMenuItemMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveCheckMenuItemMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveCheckMenuItemMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveCheckMenuItemMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveCheckMenuItemMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveCheckMenuItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCheckMenuItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCheckMenuItemMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveCheckMenuItemMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveCheckMenuItemMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveCheckMenuItemMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveCheckMenuItemMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveCheckMenuItemMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveCheckMenuItemMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveCheckMenuItemMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveCheckMenuItemMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveCheckMenuItemMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveCheckMenuItemMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveCheckMenuItemMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveCheckMenuItemMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveCheckMenuItemMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveCheckMenuItemMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveCheckMenuItemMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveCheckMenuItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCheckMenuItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCheckMenuItemMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveCheckMenuItemMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveCheckMenuItemMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveCheckMenuItemMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveCheckMenuItemMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveCheckMenuItemMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveCheckMenuItemMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveCheckMenuItemMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveCheckMenuItemMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveCheckMenuItemMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveCheckMenuItemMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveCheckMenuItemMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveCheckMenuItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCheckMenuItemMethod "select" o = Gtk.MenuItem.MenuItemSelectMethodInfo
+    ResolveCheckMenuItemMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveCheckMenuItemMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveCheckMenuItemMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveCheckMenuItemMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveCheckMenuItemMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveCheckMenuItemMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveCheckMenuItemMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveCheckMenuItemMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveCheckMenuItemMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveCheckMenuItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCheckMenuItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCheckMenuItemMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveCheckMenuItemMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveCheckMenuItemMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveCheckMenuItemMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveCheckMenuItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCheckMenuItemMethod "toggleSizeAllocate" o = Gtk.MenuItem.MenuItemToggleSizeAllocateMethodInfo
+    ResolveCheckMenuItemMethod "toggleSizeRequest" o = Gtk.MenuItem.MenuItemToggleSizeRequestMethodInfo
+    ResolveCheckMenuItemMethod "toggled" o = CheckMenuItemToggledMethodInfo
+    ResolveCheckMenuItemMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveCheckMenuItemMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveCheckMenuItemMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveCheckMenuItemMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveCheckMenuItemMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveCheckMenuItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCheckMenuItemMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveCheckMenuItemMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveCheckMenuItemMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveCheckMenuItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCheckMenuItemMethod "getAccelPath" o = Gtk.MenuItem.MenuItemGetAccelPathMethodInfo
+    ResolveCheckMenuItemMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveCheckMenuItemMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveCheckMenuItemMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveCheckMenuItemMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveCheckMenuItemMethod "getActive" o = CheckMenuItemGetActiveMethodInfo
+    ResolveCheckMenuItemMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveCheckMenuItemMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveCheckMenuItemMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveCheckMenuItemMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveCheckMenuItemMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveCheckMenuItemMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveCheckMenuItemMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveCheckMenuItemMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveCheckMenuItemMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveCheckMenuItemMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveCheckMenuItemMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveCheckMenuItemMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveCheckMenuItemMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveCheckMenuItemMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveCheckMenuItemMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveCheckMenuItemMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveCheckMenuItemMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveCheckMenuItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCheckMenuItemMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveCheckMenuItemMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveCheckMenuItemMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveCheckMenuItemMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveCheckMenuItemMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveCheckMenuItemMethod "getDrawAsRadio" o = CheckMenuItemGetDrawAsRadioMethodInfo
+    ResolveCheckMenuItemMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveCheckMenuItemMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveCheckMenuItemMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveCheckMenuItemMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveCheckMenuItemMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveCheckMenuItemMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveCheckMenuItemMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveCheckMenuItemMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveCheckMenuItemMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveCheckMenuItemMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveCheckMenuItemMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveCheckMenuItemMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveCheckMenuItemMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveCheckMenuItemMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveCheckMenuItemMethod "getInconsistent" o = CheckMenuItemGetInconsistentMethodInfo
+    ResolveCheckMenuItemMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveCheckMenuItemMethod "getLabel" o = Gtk.MenuItem.MenuItemGetLabelMethodInfo
+    ResolveCheckMenuItemMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveCheckMenuItemMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveCheckMenuItemMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveCheckMenuItemMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveCheckMenuItemMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveCheckMenuItemMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveCheckMenuItemMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveCheckMenuItemMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveCheckMenuItemMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveCheckMenuItemMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveCheckMenuItemMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveCheckMenuItemMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveCheckMenuItemMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveCheckMenuItemMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveCheckMenuItemMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveCheckMenuItemMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveCheckMenuItemMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveCheckMenuItemMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveCheckMenuItemMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveCheckMenuItemMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveCheckMenuItemMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveCheckMenuItemMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveCheckMenuItemMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveCheckMenuItemMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveCheckMenuItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCheckMenuItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCheckMenuItemMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveCheckMenuItemMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveCheckMenuItemMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveCheckMenuItemMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveCheckMenuItemMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveCheckMenuItemMethod "getReserveIndicator" o = Gtk.MenuItem.MenuItemGetReserveIndicatorMethodInfo
+    ResolveCheckMenuItemMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveCheckMenuItemMethod "getRightJustified" o = Gtk.MenuItem.MenuItemGetRightJustifiedMethodInfo
+    ResolveCheckMenuItemMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveCheckMenuItemMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveCheckMenuItemMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveCheckMenuItemMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveCheckMenuItemMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveCheckMenuItemMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveCheckMenuItemMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveCheckMenuItemMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveCheckMenuItemMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveCheckMenuItemMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveCheckMenuItemMethod "getSubmenu" o = Gtk.MenuItem.MenuItemGetSubmenuMethodInfo
+    ResolveCheckMenuItemMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveCheckMenuItemMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveCheckMenuItemMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveCheckMenuItemMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveCheckMenuItemMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveCheckMenuItemMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveCheckMenuItemMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveCheckMenuItemMethod "getUseUnderline" o = Gtk.MenuItem.MenuItemGetUseUnderlineMethodInfo
+    ResolveCheckMenuItemMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveCheckMenuItemMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveCheckMenuItemMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveCheckMenuItemMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveCheckMenuItemMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveCheckMenuItemMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveCheckMenuItemMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveCheckMenuItemMethod "setAccelPath" o = Gtk.MenuItem.MenuItemSetAccelPathMethodInfo
+    ResolveCheckMenuItemMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveCheckMenuItemMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveCheckMenuItemMethod "setActive" o = CheckMenuItemSetActiveMethodInfo
+    ResolveCheckMenuItemMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveCheckMenuItemMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveCheckMenuItemMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveCheckMenuItemMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveCheckMenuItemMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveCheckMenuItemMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveCheckMenuItemMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveCheckMenuItemMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveCheckMenuItemMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveCheckMenuItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCheckMenuItemMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveCheckMenuItemMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveCheckMenuItemMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveCheckMenuItemMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveCheckMenuItemMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveCheckMenuItemMethod "setDrawAsRadio" o = CheckMenuItemSetDrawAsRadioMethodInfo
+    ResolveCheckMenuItemMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveCheckMenuItemMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveCheckMenuItemMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveCheckMenuItemMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveCheckMenuItemMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveCheckMenuItemMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveCheckMenuItemMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveCheckMenuItemMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveCheckMenuItemMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveCheckMenuItemMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveCheckMenuItemMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveCheckMenuItemMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveCheckMenuItemMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveCheckMenuItemMethod "setInconsistent" o = CheckMenuItemSetInconsistentMethodInfo
+    ResolveCheckMenuItemMethod "setLabel" o = Gtk.MenuItem.MenuItemSetLabelMethodInfo
+    ResolveCheckMenuItemMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveCheckMenuItemMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveCheckMenuItemMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveCheckMenuItemMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveCheckMenuItemMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveCheckMenuItemMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveCheckMenuItemMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveCheckMenuItemMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveCheckMenuItemMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveCheckMenuItemMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveCheckMenuItemMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveCheckMenuItemMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveCheckMenuItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCheckMenuItemMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveCheckMenuItemMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveCheckMenuItemMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveCheckMenuItemMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveCheckMenuItemMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveCheckMenuItemMethod "setReserveIndicator" o = Gtk.MenuItem.MenuItemSetReserveIndicatorMethodInfo
+    ResolveCheckMenuItemMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveCheckMenuItemMethod "setRightJustified" o = Gtk.MenuItem.MenuItemSetRightJustifiedMethodInfo
+    ResolveCheckMenuItemMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveCheckMenuItemMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveCheckMenuItemMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveCheckMenuItemMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveCheckMenuItemMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveCheckMenuItemMethod "setSubmenu" o = Gtk.MenuItem.MenuItemSetSubmenuMethodInfo
+    ResolveCheckMenuItemMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveCheckMenuItemMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveCheckMenuItemMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveCheckMenuItemMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveCheckMenuItemMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveCheckMenuItemMethod "setUseUnderline" o = Gtk.MenuItem.MenuItemSetUseUnderlineMethodInfo
+    ResolveCheckMenuItemMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveCheckMenuItemMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveCheckMenuItemMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveCheckMenuItemMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveCheckMenuItemMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveCheckMenuItemMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveCheckMenuItemMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCheckMenuItemMethod t CheckMenuItem, O.MethodInfo info CheckMenuItem p) => OL.IsLabel t (CheckMenuItem -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal CheckMenuItem::toggled
+{- |
+This signal is emitted when the state of the check box is changed.
+
+A signal handler can use 'GI.Gtk.Objects.CheckMenuItem.checkMenuItemGetActive'
+to discover the new state.
+-}
+type CheckMenuItemToggledCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CheckMenuItemToggledCallback`@.
+noCheckMenuItemToggledCallback :: Maybe CheckMenuItemToggledCallback
+noCheckMenuItemToggledCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CheckMenuItemToggledCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CheckMenuItemToggledCallback`.
+foreign import ccall "wrapper"
+    mk_CheckMenuItemToggledCallback :: C_CheckMenuItemToggledCallback -> IO (FunPtr C_CheckMenuItemToggledCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CheckMenuItemToggled :: MonadIO m => CheckMenuItemToggledCallback -> m (GClosure C_CheckMenuItemToggledCallback)
+genClosure_CheckMenuItemToggled cb = liftIO $ do
+    let cb' = wrap_CheckMenuItemToggledCallback cb
+    mk_CheckMenuItemToggledCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CheckMenuItemToggledCallback` into a `C_CheckMenuItemToggledCallback`.
+wrap_CheckMenuItemToggledCallback ::
+    CheckMenuItemToggledCallback ->
+    C_CheckMenuItemToggledCallback
+wrap_CheckMenuItemToggledCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' checkMenuItem #toggled callback
+@
+-}
+onCheckMenuItemToggled :: (IsCheckMenuItem a, MonadIO m) => a -> CheckMenuItemToggledCallback -> m SignalHandlerId
+onCheckMenuItemToggled obj cb = liftIO $ do
+    let cb' = wrap_CheckMenuItemToggledCallback cb
+    cb'' <- mk_CheckMenuItemToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' checkMenuItem #toggled callback
+@
+-}
+afterCheckMenuItemToggled :: (IsCheckMenuItem a, MonadIO m) => a -> CheckMenuItemToggledCallback -> m SignalHandlerId
+afterCheckMenuItemToggled obj cb = liftIO $ do
+    let cb' = wrap_CheckMenuItemToggledCallback cb
+    cb'' <- mk_CheckMenuItemToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectAfter
+
+
+-- VVV Prop "active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' checkMenuItem #active
+@
+-}
+getCheckMenuItemActive :: (MonadIO m, IsCheckMenuItem o) => o -> m Bool
+getCheckMenuItemActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' checkMenuItem [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCheckMenuItemActive :: (MonadIO m, IsCheckMenuItem o) => o -> Bool -> m ()
+setCheckMenuItemActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCheckMenuItemActive :: (IsCheckMenuItem o) => Bool -> IO (GValueConstruct o)
+constructCheckMenuItemActive val = B.Properties.constructObjectPropertyBool "active" val
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemActivePropertyInfo
+instance AttrInfo CheckMenuItemActivePropertyInfo where
+    type AttrAllowedOps CheckMenuItemActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CheckMenuItemActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CheckMenuItemActivePropertyInfo = IsCheckMenuItem
+    type AttrGetType CheckMenuItemActivePropertyInfo = Bool
+    type AttrLabel CheckMenuItemActivePropertyInfo = "active"
+    type AttrOrigin CheckMenuItemActivePropertyInfo = CheckMenuItem
+    attrGet _ = getCheckMenuItemActive
+    attrSet _ = setCheckMenuItemActive
+    attrConstruct _ = constructCheckMenuItemActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "draw-as-radio"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@draw-as-radio@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' checkMenuItem #drawAsRadio
+@
+-}
+getCheckMenuItemDrawAsRadio :: (MonadIO m, IsCheckMenuItem o) => o -> m Bool
+getCheckMenuItemDrawAsRadio obj = liftIO $ B.Properties.getObjectPropertyBool obj "draw-as-radio"
+
+{- |
+Set the value of the “@draw-as-radio@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' checkMenuItem [ #drawAsRadio 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCheckMenuItemDrawAsRadio :: (MonadIO m, IsCheckMenuItem o) => o -> Bool -> m ()
+setCheckMenuItemDrawAsRadio obj val = liftIO $ B.Properties.setObjectPropertyBool obj "draw-as-radio" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@draw-as-radio@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCheckMenuItemDrawAsRadio :: (IsCheckMenuItem o) => Bool -> IO (GValueConstruct o)
+constructCheckMenuItemDrawAsRadio val = B.Properties.constructObjectPropertyBool "draw-as-radio" val
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemDrawAsRadioPropertyInfo
+instance AttrInfo CheckMenuItemDrawAsRadioPropertyInfo where
+    type AttrAllowedOps CheckMenuItemDrawAsRadioPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CheckMenuItemDrawAsRadioPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CheckMenuItemDrawAsRadioPropertyInfo = IsCheckMenuItem
+    type AttrGetType CheckMenuItemDrawAsRadioPropertyInfo = Bool
+    type AttrLabel CheckMenuItemDrawAsRadioPropertyInfo = "draw-as-radio"
+    type AttrOrigin CheckMenuItemDrawAsRadioPropertyInfo = CheckMenuItem
+    attrGet _ = getCheckMenuItemDrawAsRadio
+    attrSet _ = setCheckMenuItemDrawAsRadio
+    attrConstruct _ = constructCheckMenuItemDrawAsRadio
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "inconsistent"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@inconsistent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' checkMenuItem #inconsistent
+@
+-}
+getCheckMenuItemInconsistent :: (MonadIO m, IsCheckMenuItem o) => o -> m Bool
+getCheckMenuItemInconsistent obj = liftIO $ B.Properties.getObjectPropertyBool obj "inconsistent"
+
+{- |
+Set the value of the “@inconsistent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' checkMenuItem [ #inconsistent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setCheckMenuItemInconsistent :: (MonadIO m, IsCheckMenuItem o) => o -> Bool -> m ()
+setCheckMenuItemInconsistent obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inconsistent" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inconsistent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructCheckMenuItemInconsistent :: (IsCheckMenuItem o) => Bool -> IO (GValueConstruct o)
+constructCheckMenuItemInconsistent val = B.Properties.constructObjectPropertyBool "inconsistent" val
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemInconsistentPropertyInfo
+instance AttrInfo CheckMenuItemInconsistentPropertyInfo where
+    type AttrAllowedOps CheckMenuItemInconsistentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CheckMenuItemInconsistentPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint CheckMenuItemInconsistentPropertyInfo = IsCheckMenuItem
+    type AttrGetType CheckMenuItemInconsistentPropertyInfo = Bool
+    type AttrLabel CheckMenuItemInconsistentPropertyInfo = "inconsistent"
+    type AttrOrigin CheckMenuItemInconsistentPropertyInfo = CheckMenuItem
+    attrGet _ = getCheckMenuItemInconsistent
+    attrSet _ = setCheckMenuItemInconsistent
+    attrConstruct _ = constructCheckMenuItemInconsistent
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CheckMenuItem
+type instance O.AttributeList CheckMenuItem = CheckMenuItemAttributeList
+type CheckMenuItemAttributeList = ('[ '("accelPath", Gtk.MenuItem.MenuItemAccelPathPropertyInfo), '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", CheckMenuItemActivePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawAsRadio", CheckMenuItemDrawAsRadioPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inconsistent", CheckMenuItemInconsistentPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.MenuItem.MenuItemLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rightJustified", Gtk.MenuItem.MenuItemRightJustifiedPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("submenu", Gtk.MenuItem.MenuItemSubmenuPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useUnderline", Gtk.MenuItem.MenuItemUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+checkMenuItemActive :: AttrLabelProxy "active"
+checkMenuItemActive = AttrLabelProxy
+
+checkMenuItemDrawAsRadio :: AttrLabelProxy "drawAsRadio"
+checkMenuItemDrawAsRadio = AttrLabelProxy
+
+checkMenuItemInconsistent :: AttrLabelProxy "inconsistent"
+checkMenuItemInconsistent = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemToggledSignalInfo
+instance SignalInfo CheckMenuItemToggledSignalInfo where
+    type HaskellCallbackType CheckMenuItemToggledSignalInfo = CheckMenuItemToggledCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CheckMenuItemToggledCallback cb
+        cb'' <- mk_CheckMenuItemToggledCallback cb'
+        connectSignalFunPtr obj "toggled" cb'' connectMode
+
+type instance O.SignalList CheckMenuItem = CheckMenuItemSignalList
+type CheckMenuItemSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.MenuItem.MenuItemActivateSignalInfo), '("activateItem", Gtk.MenuItem.MenuItemActivateItemSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deselect", Gtk.MenuItem.MenuItemDeselectSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("select", Gtk.MenuItem.MenuItemSelectSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleSizeAllocate", Gtk.MenuItem.MenuItemToggleSizeAllocateSignalInfo), '("toggleSizeRequest", Gtk.MenuItem.MenuItemToggleSizeRequestSignalInfo), '("toggled", CheckMenuItemToggledSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CheckMenuItem::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_new" gtk_check_menu_item_new :: 
+    IO (Ptr CheckMenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem'.
+-}
+checkMenuItemNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CheckMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem'. -}
+checkMenuItemNew  = liftIO $ do
+    result <- gtk_check_menu_item_new
+    checkUnexpectedReturnNULL "checkMenuItemNew" result
+    result' <- (newObject CheckMenuItem) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CheckMenuItem::new_with_label
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to use for the label.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_new_with_label" gtk_check_menu_item_new_with_label :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr CheckMenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' with a label.
+-}
+checkMenuItemNewWithLabel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: the string to use for the label. -}
+    -> m CheckMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem'. -}
+checkMenuItemNewWithLabel label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_check_menu_item_new_with_label label'
+    checkUnexpectedReturnNULL "checkMenuItemNewWithLabel" result
+    result' <- (newObject CheckMenuItem) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CheckMenuItem::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The text of the button, with an underscore in front of the\n    character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_new_with_mnemonic" gtk_check_menu_item_new_with_mnemonic :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr CheckMenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' containing a label. The label
+will be created using 'GI.Gtk.Objects.Label.labelNewWithMnemonic', so underscores
+in /@label@/ indicate the mnemonic for the menu item.
+-}
+checkMenuItemNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: The text of the button, with an underscore in front of the
+    character -}
+    -> m CheckMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' -}
+checkMenuItemNewWithMnemonic label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_check_menu_item_new_with_mnemonic label'
+    checkUnexpectedReturnNULL "checkMenuItemNewWithMnemonic" result
+    result' <- (newObject CheckMenuItem) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CheckMenuItem::get_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "check_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCheckMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_get_active" gtk_check_menu_item_get_active :: 
+    Ptr CheckMenuItem ->                    -- check_menu_item : TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"})
+    IO CInt
+
+{- |
+Returns whether the check menu item is active. See
+gtk_check_menu_item_set_active ().
+-}
+checkMenuItemGetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCheckMenuItem a) =>
+    a
+    {- ^ /@checkMenuItem@/: a 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the menu item is checked. -}
+checkMenuItemGetActive checkMenuItem = liftIO $ do
+    checkMenuItem' <- unsafeManagedPtrCastPtr checkMenuItem
+    result <- gtk_check_menu_item_get_active checkMenuItem'
+    let result' = (/= 0) result
+    touchManagedPtr checkMenuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemGetActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCheckMenuItem a) => O.MethodInfo CheckMenuItemGetActiveMethodInfo a signature where
+    overloadedMethod _ = checkMenuItemGetActive
+
+#endif
+
+-- method CheckMenuItem::get_draw_as_radio
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "check_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCheckMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_get_draw_as_radio" gtk_check_menu_item_get_draw_as_radio :: 
+    Ptr CheckMenuItem ->                    -- check_menu_item : TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"})
+    IO CInt
+
+{- |
+Returns whether /@checkMenuItem@/ looks like a 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem'
+
+/Since: 2.4/
+-}
+checkMenuItemGetDrawAsRadio ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCheckMenuItem a) =>
+    a
+    {- ^ /@checkMenuItem@/: a 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' -}
+    -> m Bool
+    {- ^ __Returns:__ Whether /@checkMenuItem@/ looks like a 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+checkMenuItemGetDrawAsRadio checkMenuItem = liftIO $ do
+    checkMenuItem' <- unsafeManagedPtrCastPtr checkMenuItem
+    result <- gtk_check_menu_item_get_draw_as_radio checkMenuItem'
+    let result' = (/= 0) result
+    touchManagedPtr checkMenuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemGetDrawAsRadioMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCheckMenuItem a) => O.MethodInfo CheckMenuItemGetDrawAsRadioMethodInfo a signature where
+    overloadedMethod _ = checkMenuItemGetDrawAsRadio
+
+#endif
+
+-- method CheckMenuItem::get_inconsistent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "check_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCheckMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_get_inconsistent" gtk_check_menu_item_get_inconsistent :: 
+    Ptr CheckMenuItem ->                    -- check_menu_item : TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"})
+    IO CInt
+
+{- |
+Retrieves the value set by 'GI.Gtk.Objects.CheckMenuItem.checkMenuItemSetInconsistent'.
+-}
+checkMenuItemGetInconsistent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCheckMenuItem a) =>
+    a
+    {- ^ /@checkMenuItem@/: a 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if inconsistent -}
+checkMenuItemGetInconsistent checkMenuItem = liftIO $ do
+    checkMenuItem' <- unsafeManagedPtrCastPtr checkMenuItem
+    result <- gtk_check_menu_item_get_inconsistent checkMenuItem'
+    let result' = (/= 0) result
+    touchManagedPtr checkMenuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemGetInconsistentMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsCheckMenuItem a) => O.MethodInfo CheckMenuItemGetInconsistentMethodInfo a signature where
+    overloadedMethod _ = checkMenuItemGetInconsistent
+
+#endif
+
+-- method CheckMenuItem::set_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "check_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCheckMenuItem.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "boolean value indicating whether the check box is active.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_set_active" gtk_check_menu_item_set_active :: 
+    Ptr CheckMenuItem ->                    -- check_menu_item : TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"})
+    CInt ->                                 -- is_active : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the active state of the menu item’s check box.
+-}
+checkMenuItemSetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCheckMenuItem a) =>
+    a
+    {- ^ /@checkMenuItem@/: a 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem'. -}
+    -> Bool
+    {- ^ /@isActive@/: boolean value indicating whether the check box is active. -}
+    -> m ()
+checkMenuItemSetActive checkMenuItem isActive = liftIO $ do
+    checkMenuItem' <- unsafeManagedPtrCastPtr checkMenuItem
+    let isActive' = (fromIntegral . fromEnum) isActive
+    gtk_check_menu_item_set_active checkMenuItem' isActive'
+    touchManagedPtr checkMenuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemSetActiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCheckMenuItem a) => O.MethodInfo CheckMenuItemSetActiveMethodInfo a signature where
+    overloadedMethod _ = checkMenuItemSetActive
+
+#endif
+
+-- method CheckMenuItem::set_draw_as_radio
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "check_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCheckMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "draw_as_radio", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @check_menu_item is drawn like a #GtkRadioMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_set_draw_as_radio" gtk_check_menu_item_set_draw_as_radio :: 
+    Ptr CheckMenuItem ->                    -- check_menu_item : TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"})
+    CInt ->                                 -- draw_as_radio : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@checkMenuItem@/ is drawn like a 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem'
+
+/Since: 2.4/
+-}
+checkMenuItemSetDrawAsRadio ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCheckMenuItem a) =>
+    a
+    {- ^ /@checkMenuItem@/: a 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' -}
+    -> Bool
+    {- ^ /@drawAsRadio@/: whether /@checkMenuItem@/ is drawn like a 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+    -> m ()
+checkMenuItemSetDrawAsRadio checkMenuItem drawAsRadio = liftIO $ do
+    checkMenuItem' <- unsafeManagedPtrCastPtr checkMenuItem
+    let drawAsRadio' = (fromIntegral . fromEnum) drawAsRadio
+    gtk_check_menu_item_set_draw_as_radio checkMenuItem' drawAsRadio'
+    touchManagedPtr checkMenuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemSetDrawAsRadioMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCheckMenuItem a) => O.MethodInfo CheckMenuItemSetDrawAsRadioMethodInfo a signature where
+    overloadedMethod _ = checkMenuItemSetDrawAsRadio
+
+#endif
+
+-- method CheckMenuItem::set_inconsistent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "check_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCheckMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to display an \8220inconsistent\8221 third state check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_set_inconsistent" gtk_check_menu_item_set_inconsistent :: 
+    Ptr CheckMenuItem ->                    -- check_menu_item : TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+If the user has selected a range of elements (such as some text or
+spreadsheet cells) that are affected by a boolean setting, and the
+current values in that range are inconsistent, you may want to
+display the check in an “in between” state. This function turns on
+“in between” display.  Normally you would turn off the inconsistent
+state again if the user explicitly selects a setting. This has to be
+done manually, 'GI.Gtk.Objects.CheckMenuItem.checkMenuItemSetInconsistent' only affects
+visual appearance, it doesn’t affect the semantics of the widget.
+-}
+checkMenuItemSetInconsistent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCheckMenuItem a) =>
+    a
+    {- ^ /@checkMenuItem@/: a 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to display an “inconsistent” third state check -}
+    -> m ()
+checkMenuItemSetInconsistent checkMenuItem setting = liftIO $ do
+    checkMenuItem' <- unsafeManagedPtrCastPtr checkMenuItem
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_check_menu_item_set_inconsistent checkMenuItem' setting'
+    touchManagedPtr checkMenuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemSetInconsistentMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsCheckMenuItem a) => O.MethodInfo CheckMenuItemSetInconsistentMethodInfo a signature where
+    overloadedMethod _ = checkMenuItemSetInconsistent
+
+#endif
+
+-- method CheckMenuItem::toggled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "check_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCheckMenuItem.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_check_menu_item_toggled" gtk_check_menu_item_toggled :: 
+    Ptr CheckMenuItem ->                    -- check_menu_item : TInterface (Name {namespace = "Gtk", name = "CheckMenuItem"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem'::@/toggled/@ signal.
+-}
+checkMenuItemToggled ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCheckMenuItem a) =>
+    a
+    {- ^ /@checkMenuItem@/: a 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem'. -}
+    -> m ()
+checkMenuItemToggled checkMenuItem = liftIO $ do
+    checkMenuItem' <- unsafeManagedPtrCastPtr checkMenuItem
+    gtk_check_menu_item_toggled checkMenuItem'
+    touchManagedPtr checkMenuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data CheckMenuItemToggledMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsCheckMenuItem a) => O.MethodInfo CheckMenuItemToggledMethodInfo a signature where
+    overloadedMethod _ = checkMenuItemToggled
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CheckMenuItem.hs-boot b/GI/Gtk/Objects/CheckMenuItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CheckMenuItem.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CheckMenuItem where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CheckMenuItem = CheckMenuItem (ManagedPtr CheckMenuItem)
+instance GObject CheckMenuItem where
+class (GObject o, O.IsDescendantOf CheckMenuItem o) => IsCheckMenuItem o
+instance (GObject o, O.IsDescendantOf CheckMenuItem o) => IsCheckMenuItem o
+instance O.HasParentTypes CheckMenuItem
+#if ENABLE_OVERLOADING
+data CheckMenuItemActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemDrawAsRadioPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemInconsistentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemToggledSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemGetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemGetDrawAsRadioMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemGetInconsistentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemSetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemSetDrawAsRadioMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemSetInconsistentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CheckMenuItemToggledMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CheckMenuItemAccessible.hs b/GI/Gtk/Objects/CheckMenuItemAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CheckMenuItemAccessible.hs
@@ -0,0 +1,179 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CheckMenuItemAccessible
+    ( 
+
+-- * Exported types
+    CheckMenuItemAccessible(..)             ,
+    IsCheckMenuItemAccessible               ,
+    toCheckMenuItemAccessible               ,
+    noCheckMenuItemAccessible               ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuItemAccessible as Gtk.MenuItemAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype CheckMenuItemAccessible = CheckMenuItemAccessible (ManagedPtr CheckMenuItemAccessible)
+foreign import ccall "gtk_check_menu_item_accessible_get_type"
+    c_gtk_check_menu_item_accessible_get_type :: IO GType
+
+instance GObject CheckMenuItemAccessible where
+    gobjectType = c_gtk_check_menu_item_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `CheckMenuItemAccessible`, for instance with `toCheckMenuItemAccessible`.
+class (GObject o, O.IsDescendantOf CheckMenuItemAccessible o) => IsCheckMenuItemAccessible o
+instance (GObject o, O.IsDescendantOf CheckMenuItemAccessible o) => IsCheckMenuItemAccessible o
+
+instance O.HasParentTypes CheckMenuItemAccessible
+type instance O.ParentTypes CheckMenuItemAccessible = '[Gtk.MenuItemAccessible.MenuItemAccessible, Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `CheckMenuItemAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCheckMenuItemAccessible :: (MonadIO m, IsCheckMenuItemAccessible o) => o -> m CheckMenuItemAccessible
+toCheckMenuItemAccessible = liftIO . unsafeCastTo CheckMenuItemAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CheckMenuItemAccessible`.
+noCheckMenuItemAccessible :: Maybe CheckMenuItemAccessible
+noCheckMenuItemAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCheckMenuItemAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCheckMenuItemAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveCheckMenuItemAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveCheckMenuItemAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCheckMenuItemAccessibleMethod t CheckMenuItemAccessible, O.MethodInfo info CheckMenuItemAccessible p) => OL.IsLabel t (CheckMenuItemAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CheckMenuItemAccessible
+type instance O.AttributeList CheckMenuItemAccessible = CheckMenuItemAccessibleAttributeList
+type CheckMenuItemAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList CheckMenuItemAccessible = CheckMenuItemAccessibleSignalList
+type CheckMenuItemAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/CheckMenuItemAccessible.hs-boot b/GI/Gtk/Objects/CheckMenuItemAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CheckMenuItemAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CheckMenuItemAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CheckMenuItemAccessible = CheckMenuItemAccessible (ManagedPtr CheckMenuItemAccessible)
+instance GObject CheckMenuItemAccessible where
+class (GObject o, O.IsDescendantOf CheckMenuItemAccessible o) => IsCheckMenuItemAccessible o
+instance (GObject o, O.IsDescendantOf CheckMenuItemAccessible o) => IsCheckMenuItemAccessible o
+instance O.HasParentTypes CheckMenuItemAccessible
diff --git a/GI/Gtk/Objects/Clipboard.hs b/GI/Gtk/Objects/Clipboard.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Clipboard.hs
@@ -0,0 +1,1737 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Clipboard.Clipboard' object represents a clipboard of data shared
+between different processes or between different widgets in
+the same process. Each clipboard is identified by a name encoded as a
+'GI.Gdk.Structs.Atom.Atom'. (Conversion to and from strings can be done with
+'GI.Gdk.Functions.atomIntern' and 'GI.Gdk.Structs.Atom.atomName'.) The default clipboard
+corresponds to the “CLIPBOARD” atom; another commonly used clipboard
+is the “PRIMARY” clipboard, which, in X, traditionally contains
+the currently selected text.
+
+To support having a number of different formats on the clipboard
+at the same time, the clipboard mechanism allows providing
+callbacks instead of the actual data.  When you set the contents
+of the clipboard, you can either supply the data directly (via
+functions like 'GI.Gtk.Objects.Clipboard.clipboardSetText'), or you can supply a
+callback to be called at a later time when the data is needed (via
+@/gtk_clipboard_set_with_data()/@ or @/gtk_clipboard_set_with_owner()/@.)
+Providing a callback also avoids having to make copies of the data
+when it is not needed.
+
+@/gtk_clipboard_set_with_data()/@ and @/gtk_clipboard_set_with_owner()/@
+are quite similar; the choice between the two depends mostly on
+which is more convenient in a particular situation.
+The former is most useful when you want to have a blob of data
+with callbacks to convert it into the various data types that you
+advertise. When the /@clearFunc@/ you provided is called, you
+simply free the data blob. The latter is more useful when the
+contents of clipboard reflect the internal state of a 'GI.GObject.Objects.Object.Object'
+(As an example, for the PRIMARY clipboard, when an entry widget
+provides the clipboard’s contents the contents are simply the
+text within the selected region.) If the contents change, the
+entry widget can call @/gtk_clipboard_set_with_owner()/@ to update
+the timestamp for clipboard ownership, without having to worry
+about /@clearFunc@/ being called.
+
+Requesting the data from the clipboard is essentially
+asynchronous. If the contents of the clipboard are provided within
+the same process, then a direct function call will be made to
+retrieve the data, but if they are provided by another process,
+then the data needs to be retrieved from the other process, which
+may take some time. To avoid blocking the user interface, the call
+to request the selection, 'GI.Gtk.Objects.Clipboard.clipboardRequestContents' takes a
+callback that will be called when the contents are received (or
+when the request fails.) If you don’t want to deal with providing
+a separate callback, you can also use 'GI.Gtk.Objects.Clipboard.clipboardWaitForContents'.
+What this does is run the GLib main loop recursively waiting for
+the contents. This can simplify the code flow, but you still have
+to be aware that other callbacks in your program can be called
+while this recursive mainloop is running.
+
+Along with the functions to get the clipboard contents as an
+arbitrary data chunk, there are also functions to retrieve
+it as text, 'GI.Gtk.Objects.Clipboard.clipboardRequestText' and
+'GI.Gtk.Objects.Clipboard.clipboardWaitForText'. These functions take care of
+determining which formats are advertised by the clipboard
+provider, asking for the clipboard in the best available format
+and converting the results into the UTF-8 encoding. (The standard
+form for representing strings in GTK+.)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Clipboard
+    ( 
+#if ENABLE_OVERLOADING
+    ClipboardWaitForRichTextMethodInfo      ,
+#endif
+
+-- * Exported types
+    Clipboard(..)                           ,
+    IsClipboard                             ,
+    toClipboard                             ,
+    noClipboard                             ,
+
+
+ -- * Methods
+-- ** clear #method:clear#
+
+#if ENABLE_OVERLOADING
+    ClipboardClearMethodInfo                ,
+#endif
+    clipboardClear                          ,
+
+
+-- ** get #method:get#
+
+    clipboardGet                            ,
+
+
+-- ** getDefault #method:getDefault#
+
+    clipboardGetDefault                     ,
+
+
+-- ** getDisplay #method:getDisplay#
+
+#if ENABLE_OVERLOADING
+    ClipboardGetDisplayMethodInfo           ,
+#endif
+    clipboardGetDisplay                     ,
+
+
+-- ** getForDisplay #method:getForDisplay#
+
+    clipboardGetForDisplay                  ,
+
+
+-- ** getOwner #method:getOwner#
+
+#if ENABLE_OVERLOADING
+    ClipboardGetOwnerMethodInfo             ,
+#endif
+    clipboardGetOwner                       ,
+
+
+-- ** requestContents #method:requestContents#
+
+#if ENABLE_OVERLOADING
+    ClipboardRequestContentsMethodInfo      ,
+#endif
+    clipboardRequestContents                ,
+
+
+-- ** requestImage #method:requestImage#
+
+#if ENABLE_OVERLOADING
+    ClipboardRequestImageMethodInfo         ,
+#endif
+    clipboardRequestImage                   ,
+
+
+-- ** requestRichText #method:requestRichText#
+
+#if ENABLE_OVERLOADING
+    ClipboardRequestRichTextMethodInfo      ,
+#endif
+    clipboardRequestRichText                ,
+
+
+-- ** requestTargets #method:requestTargets#
+
+#if ENABLE_OVERLOADING
+    ClipboardRequestTargetsMethodInfo       ,
+#endif
+    clipboardRequestTargets                 ,
+
+
+-- ** requestText #method:requestText#
+
+#if ENABLE_OVERLOADING
+    ClipboardRequestTextMethodInfo          ,
+#endif
+    clipboardRequestText                    ,
+
+
+-- ** requestUris #method:requestUris#
+
+#if ENABLE_OVERLOADING
+    ClipboardRequestUrisMethodInfo          ,
+#endif
+    clipboardRequestUris                    ,
+
+
+-- ** setCanStore #method:setCanStore#
+
+#if ENABLE_OVERLOADING
+    ClipboardSetCanStoreMethodInfo          ,
+#endif
+    clipboardSetCanStore                    ,
+
+
+-- ** setImage #method:setImage#
+
+#if ENABLE_OVERLOADING
+    ClipboardSetImageMethodInfo             ,
+#endif
+    clipboardSetImage                       ,
+
+
+-- ** setText #method:setText#
+
+#if ENABLE_OVERLOADING
+    ClipboardSetTextMethodInfo              ,
+#endif
+    clipboardSetText                        ,
+
+
+-- ** store #method:store#
+
+#if ENABLE_OVERLOADING
+    ClipboardStoreMethodInfo                ,
+#endif
+    clipboardStore                          ,
+
+
+-- ** waitForContents #method:waitForContents#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitForContentsMethodInfo      ,
+#endif
+    clipboardWaitForContents                ,
+
+
+-- ** waitForImage #method:waitForImage#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitForImageMethodInfo         ,
+#endif
+    clipboardWaitForImage                   ,
+
+
+-- ** waitForTargets #method:waitForTargets#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitForTargetsMethodInfo       ,
+#endif
+    clipboardWaitForTargets                 ,
+
+
+-- ** waitForText #method:waitForText#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitForTextMethodInfo          ,
+#endif
+    clipboardWaitForText                    ,
+
+
+-- ** waitForUris #method:waitForUris#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitForUrisMethodInfo          ,
+#endif
+    clipboardWaitForUris                    ,
+
+
+-- ** waitIsImageAvailable #method:waitIsImageAvailable#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitIsImageAvailableMethodInfo ,
+#endif
+    clipboardWaitIsImageAvailable           ,
+
+
+-- ** waitIsRichTextAvailable #method:waitIsRichTextAvailable#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitIsRichTextAvailableMethodInfo,
+#endif
+    clipboardWaitIsRichTextAvailable        ,
+
+
+-- ** waitIsTargetAvailable #method:waitIsTargetAvailable#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitIsTargetAvailableMethodInfo,
+#endif
+    clipboardWaitIsTargetAvailable          ,
+
+
+-- ** waitIsTextAvailable #method:waitIsTextAvailable#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitIsTextAvailableMethodInfo  ,
+#endif
+    clipboardWaitIsTextAvailable            ,
+
+
+-- ** waitIsUrisAvailable #method:waitIsUrisAvailable#
+
+#if ENABLE_OVERLOADING
+    ClipboardWaitIsUrisAvailableMethodInfo  ,
+#endif
+    clipboardWaitIsUrisAvailable            ,
+
+
+
+
+ -- * Signals
+-- ** ownerChange #signal:ownerChange#
+
+    C_ClipboardOwnerChangeCallback          ,
+    ClipboardOwnerChangeCallback            ,
+#if ENABLE_OVERLOADING
+    ClipboardOwnerChangeSignalInfo          ,
+#endif
+    afterClipboardOwnerChange               ,
+    genClosure_ClipboardOwnerChange         ,
+    mk_ClipboardOwnerChangeCallback         ,
+    noClipboardOwnerChangeCallback          ,
+    onClipboardOwnerChange                  ,
+    wrap_ClipboardOwnerChangeCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Display as Gdk.Display
+import qualified GI.Gdk.Structs.Atom as Gdk.Atom
+import qualified GI.Gdk.Structs.EventOwnerChange as Gdk.EventOwnerChange
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SelectionData as Gtk.SelectionData
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetEntry as Gtk.TargetEntry
+
+-- | Memory-managed wrapper type.
+newtype Clipboard = Clipboard (ManagedPtr Clipboard)
+foreign import ccall "gtk_clipboard_get_type"
+    c_gtk_clipboard_get_type :: IO GType
+
+instance GObject Clipboard where
+    gobjectType = c_gtk_clipboard_get_type
+    
+
+-- | Type class for types which can be safely cast to `Clipboard`, for instance with `toClipboard`.
+class (GObject o, O.IsDescendantOf Clipboard o) => IsClipboard o
+instance (GObject o, O.IsDescendantOf Clipboard o) => IsClipboard o
+
+instance O.HasParentTypes Clipboard
+type instance O.ParentTypes Clipboard = '[GObject.Object.Object]
+
+-- | Cast to `Clipboard`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toClipboard :: (MonadIO m, IsClipboard o) => o -> m Clipboard
+toClipboard = liftIO . unsafeCastTo Clipboard
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Clipboard`.
+noClipboard :: Maybe Clipboard
+noClipboard = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveClipboardMethod (t :: Symbol) (o :: *) :: * where
+    ResolveClipboardMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveClipboardMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveClipboardMethod "clear" o = ClipboardClearMethodInfo
+    ResolveClipboardMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveClipboardMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveClipboardMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveClipboardMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveClipboardMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveClipboardMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveClipboardMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveClipboardMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveClipboardMethod "requestContents" o = ClipboardRequestContentsMethodInfo
+    ResolveClipboardMethod "requestImage" o = ClipboardRequestImageMethodInfo
+    ResolveClipboardMethod "requestRichText" o = ClipboardRequestRichTextMethodInfo
+    ResolveClipboardMethod "requestTargets" o = ClipboardRequestTargetsMethodInfo
+    ResolveClipboardMethod "requestText" o = ClipboardRequestTextMethodInfo
+    ResolveClipboardMethod "requestUris" o = ClipboardRequestUrisMethodInfo
+    ResolveClipboardMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveClipboardMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveClipboardMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveClipboardMethod "store" o = ClipboardStoreMethodInfo
+    ResolveClipboardMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveClipboardMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveClipboardMethod "waitForContents" o = ClipboardWaitForContentsMethodInfo
+    ResolveClipboardMethod "waitForImage" o = ClipboardWaitForImageMethodInfo
+    ResolveClipboardMethod "waitForRichText" o = ClipboardWaitForRichTextMethodInfo
+    ResolveClipboardMethod "waitForTargets" o = ClipboardWaitForTargetsMethodInfo
+    ResolveClipboardMethod "waitForText" o = ClipboardWaitForTextMethodInfo
+    ResolveClipboardMethod "waitForUris" o = ClipboardWaitForUrisMethodInfo
+    ResolveClipboardMethod "waitIsImageAvailable" o = ClipboardWaitIsImageAvailableMethodInfo
+    ResolveClipboardMethod "waitIsRichTextAvailable" o = ClipboardWaitIsRichTextAvailableMethodInfo
+    ResolveClipboardMethod "waitIsTargetAvailable" o = ClipboardWaitIsTargetAvailableMethodInfo
+    ResolveClipboardMethod "waitIsTextAvailable" o = ClipboardWaitIsTextAvailableMethodInfo
+    ResolveClipboardMethod "waitIsUrisAvailable" o = ClipboardWaitIsUrisAvailableMethodInfo
+    ResolveClipboardMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveClipboardMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveClipboardMethod "getDisplay" o = ClipboardGetDisplayMethodInfo
+    ResolveClipboardMethod "getOwner" o = ClipboardGetOwnerMethodInfo
+    ResolveClipboardMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveClipboardMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveClipboardMethod "setCanStore" o = ClipboardSetCanStoreMethodInfo
+    ResolveClipboardMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveClipboardMethod "setImage" o = ClipboardSetImageMethodInfo
+    ResolveClipboardMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveClipboardMethod "setText" o = ClipboardSetTextMethodInfo
+    ResolveClipboardMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveClipboardMethod t Clipboard, O.MethodInfo info Clipboard p) => OL.IsLabel t (Clipboard -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Clipboard::owner-change
+{- |
+The ::owner-change signal is emitted when GTK+ receives an
+event that indicates that the ownership of the selection
+associated with /@clipboard@/ has changed.
+
+/Since: 2.6/
+-}
+type ClipboardOwnerChangeCallback =
+    Gdk.EventOwnerChange.EventOwnerChange
+    {- ^ /@event@/: the /@gdkEventOwnerChange@/ event -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ClipboardOwnerChangeCallback`@.
+noClipboardOwnerChangeCallback :: Maybe ClipboardOwnerChangeCallback
+noClipboardOwnerChangeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ClipboardOwnerChangeCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventOwnerChange.EventOwnerChange ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ClipboardOwnerChangeCallback`.
+foreign import ccall "wrapper"
+    mk_ClipboardOwnerChangeCallback :: C_ClipboardOwnerChangeCallback -> IO (FunPtr C_ClipboardOwnerChangeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ClipboardOwnerChange :: MonadIO m => ClipboardOwnerChangeCallback -> m (GClosure C_ClipboardOwnerChangeCallback)
+genClosure_ClipboardOwnerChange cb = liftIO $ do
+    let cb' = wrap_ClipboardOwnerChangeCallback cb
+    mk_ClipboardOwnerChangeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ClipboardOwnerChangeCallback` into a `C_ClipboardOwnerChangeCallback`.
+wrap_ClipboardOwnerChangeCallback ::
+    ClipboardOwnerChangeCallback ->
+    C_ClipboardOwnerChangeCallback
+wrap_ClipboardOwnerChangeCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventOwnerChange.EventOwnerChange) event
+    _cb  event'
+
+
+{- |
+Connect a signal handler for the “@owner-change@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' clipboard #ownerChange callback
+@
+-}
+onClipboardOwnerChange :: (IsClipboard a, MonadIO m) => a -> ClipboardOwnerChangeCallback -> m SignalHandlerId
+onClipboardOwnerChange obj cb = liftIO $ do
+    let cb' = wrap_ClipboardOwnerChangeCallback cb
+    cb'' <- mk_ClipboardOwnerChangeCallback cb'
+    connectSignalFunPtr obj "owner-change" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@owner-change@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' clipboard #ownerChange callback
+@
+-}
+afterClipboardOwnerChange :: (IsClipboard a, MonadIO m) => a -> ClipboardOwnerChangeCallback -> m SignalHandlerId
+afterClipboardOwnerChange obj cb = liftIO $ do
+    let cb' = wrap_ClipboardOwnerChangeCallback cb
+    cb'' <- mk_ClipboardOwnerChangeCallback cb'
+    connectSignalFunPtr obj "owner-change" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Clipboard
+type instance O.AttributeList Clipboard = ClipboardAttributeList
+type ClipboardAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data ClipboardOwnerChangeSignalInfo
+instance SignalInfo ClipboardOwnerChangeSignalInfo where
+    type HaskellCallbackType ClipboardOwnerChangeSignalInfo = ClipboardOwnerChangeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ClipboardOwnerChangeCallback cb
+        cb'' <- mk_ClipboardOwnerChangeCallback cb'
+        connectSignalFunPtr obj "owner-change" cb'' connectMode
+
+type instance O.SignalList Clipboard = ClipboardSignalList
+type ClipboardSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("ownerChange", ClipboardOwnerChangeSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Clipboard::clear
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_clear" gtk_clipboard_clear :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO ()
+
+{- |
+Clears the contents of the clipboard. Generally this should only
+be called between the time you call @/gtk_clipboard_set_with_owner()/@
+or @/gtk_clipboard_set_with_data()/@,
+and when the /@clearFunc@/ you supplied is called. Otherwise, the
+clipboard may be owned by someone else.
+-}
+clipboardClear ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m ()
+clipboardClear clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    gtk_clipboard_clear clipboard'
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardClearMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardClearMethodInfo a signature where
+    overloadedMethod _ = clipboardClear
+
+#endif
+
+-- method Clipboard::get_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_get_display" gtk_clipboard_get_display :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO (Ptr Gdk.Display.Display)
+
+{- |
+Gets the 'GI.Gdk.Objects.Display.Display' associated with /@clipboard@/
+
+/Since: 2.2/
+-}
+clipboardGetDisplay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m Gdk.Display.Display
+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Display.Display' associated with /@clipboard@/ -}
+clipboardGetDisplay clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    result <- gtk_clipboard_get_display clipboard'
+    checkUnexpectedReturnNULL "clipboardGetDisplay" result
+    result' <- (newObject Gdk.Display.Display) result
+    touchManagedPtr clipboard
+    return result'
+
+#if ENABLE_OVERLOADING
+data ClipboardGetDisplayMethodInfo
+instance (signature ~ (m Gdk.Display.Display), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardGetDisplayMethodInfo a signature where
+    overloadedMethod _ = clipboardGetDisplay
+
+#endif
+
+-- method Clipboard::get_owner
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_get_owner" gtk_clipboard_get_owner :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO (Ptr GObject.Object.Object)
+
+{- |
+If the clipboard contents callbacks were set with
+@/gtk_clipboard_set_with_owner()/@, and the @/gtk_clipboard_set_with_data()/@ or
+'GI.Gtk.Objects.Clipboard.clipboardClear' has not subsequently called, returns the owner set
+by @/gtk_clipboard_set_with_owner()/@.
+-}
+clipboardGetOwner ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m (Maybe GObject.Object.Object)
+    {- ^ __Returns:__ the owner of the clipboard, if any;
+    otherwise 'Nothing'. -}
+clipboardGetOwner clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    result <- gtk_clipboard_get_owner clipboard'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GObject.Object.Object) result'
+        return result''
+    touchManagedPtr clipboard
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ClipboardGetOwnerMethodInfo
+instance (signature ~ (m (Maybe GObject.Object.Object)), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardGetOwnerMethodInfo a signature where
+    overloadedMethod _ = clipboardGetOwner
+
+#endif
+
+-- method Clipboard::request_contents
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an atom representing the form into which the clipboard\n    owner should convert the selection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "ClipboardReceivedFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A function to call when the results are received\n    (or the retrieval fails). If the retrieval fails the length field of\n    @selection_data will be negative.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_request_contents" gtk_clipboard_request_contents :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    FunPtr Gtk.Callbacks.C_ClipboardReceivedFunc -> -- callback : TInterface (Name {namespace = "Gtk", name = "ClipboardReceivedFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Requests the contents of clipboard as the given target.
+When the results of the result are later received the supplied callback
+will be called.
+-}
+clipboardRequestContents ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@target@/: an atom representing the form into which the clipboard
+    owner should convert the selection. -}
+    -> Gtk.Callbacks.ClipboardReceivedFunc
+    {- ^ /@callback@/: A function to call when the results are received
+    (or the retrieval fails). If the retrieval fails the length field of
+    /@selectionData@/ will be negative. -}
+    -> m ()
+clipboardRequestContents clipboard target callback = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    target' <- unsafeManagedPtrGetPtr target
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gtk.Callbacks.C_ClipboardReceivedFunc))
+    callback' <- Gtk.Callbacks.mk_ClipboardReceivedFunc (Gtk.Callbacks.wrap_ClipboardReceivedFunc (Just ptrcallback) (Gtk.Callbacks.drop_closures_ClipboardReceivedFunc callback))
+    poke ptrcallback callback'
+    let userData = nullPtr
+    gtk_clipboard_request_contents clipboard' target' callback' userData
+    touchManagedPtr clipboard
+    touchManagedPtr target
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardRequestContentsMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> Gtk.Callbacks.ClipboardReceivedFunc -> m ()), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardRequestContentsMethodInfo a signature where
+    overloadedMethod _ = clipboardRequestContents
+
+#endif
+
+-- method Clipboard::request_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "ClipboardImageReceivedFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when the image is received,\n    or the retrieval fails. (It will always be called one way or the other.)", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @callback.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_request_image" gtk_clipboard_request_image :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    FunPtr Gtk.Callbacks.C_ClipboardImageReceivedFunc -> -- callback : TInterface (Name {namespace = "Gtk", name = "ClipboardImageReceivedFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Requests the contents of the clipboard as image. When the image is
+later received, it will be converted to a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', and
+/@callback@/ will be called.
+
+The /@pixbuf@/ parameter to /@callback@/ will contain the resulting
+'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' if the request succeeded, or 'Nothing' if it failed. This
+could happen for various reasons, in particular if the clipboard
+was empty or if the contents of the clipboard could not be
+converted into an image.
+
+/Since: 2.6/
+-}
+clipboardRequestImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gtk.Callbacks.ClipboardImageReceivedFunc
+    {- ^ /@callback@/: a function to call when the image is received,
+    or the retrieval fails. (It will always be called one way or the other.) -}
+    -> m ()
+clipboardRequestImage clipboard callback = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gtk.Callbacks.C_ClipboardImageReceivedFunc))
+    callback' <- Gtk.Callbacks.mk_ClipboardImageReceivedFunc (Gtk.Callbacks.wrap_ClipboardImageReceivedFunc (Just ptrcallback) (Gtk.Callbacks.drop_closures_ClipboardImageReceivedFunc callback))
+    poke ptrcallback callback'
+    let userData = nullPtr
+    gtk_clipboard_request_image clipboard' callback' userData
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardRequestImageMethodInfo
+instance (signature ~ (Gtk.Callbacks.ClipboardImageReceivedFunc -> m ()), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardRequestImageMethodInfo a signature where
+    overloadedMethod _ = clipboardRequestImage
+
+#endif
+
+-- method Clipboard::request_rich_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "ClipboardRichTextReceivedFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when the text is received,\n    or the retrieval fails. (It will always be called one way or the other.)", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @callback.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_request_rich_text" gtk_clipboard_request_rich_text :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    Ptr Gtk.TextBuffer.TextBuffer ->        -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    FunPtr Gtk.Callbacks.C_ClipboardRichTextReceivedFunc -> -- callback : TInterface (Name {namespace = "Gtk", name = "ClipboardRichTextReceivedFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Requests the contents of the clipboard as rich text. When the rich
+text is later received, /@callback@/ will be called.
+
+The /@text@/ parameter to /@callback@/ will contain the resulting rich
+text if the request succeeded, or 'Nothing' if it failed. The /@length@/
+parameter will contain /@text@/’s length. This function can fail for
+various reasons, in particular if the clipboard was empty or if the
+contents of the clipboard could not be converted into rich text form.
+
+/Since: 2.10/
+-}
+clipboardRequestRichText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a, Gtk.TextBuffer.IsTextBuffer b) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> b
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.Callbacks.ClipboardRichTextReceivedFunc
+    {- ^ /@callback@/: a function to call when the text is received,
+    or the retrieval fails. (It will always be called one way or the other.) -}
+    -> m ()
+clipboardRequestRichText clipboard buffer callback = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gtk.Callbacks.C_ClipboardRichTextReceivedFunc))
+    callback' <- Gtk.Callbacks.mk_ClipboardRichTextReceivedFunc (Gtk.Callbacks.wrap_ClipboardRichTextReceivedFunc (Just ptrcallback) (Gtk.Callbacks.drop_closures_ClipboardRichTextReceivedFunc callback))
+    poke ptrcallback callback'
+    let userData = nullPtr
+    gtk_clipboard_request_rich_text clipboard' buffer' callback' userData
+    touchManagedPtr clipboard
+    touchManagedPtr buffer
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardRequestRichTextMethodInfo
+instance (signature ~ (b -> Gtk.Callbacks.ClipboardRichTextReceivedFunc -> m ()), MonadIO m, IsClipboard a, Gtk.TextBuffer.IsTextBuffer b) => O.MethodInfo ClipboardRequestRichTextMethodInfo a signature where
+    overloadedMethod _ = clipboardRequestRichText
+
+#endif
+
+-- method Clipboard::request_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "ClipboardTargetsReceivedFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when the targets are\n    received, or the retrieval fails. (It will always be called\n    one way or the other.)", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @callback.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_request_targets" gtk_clipboard_request_targets :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    FunPtr Gtk.Callbacks.C_ClipboardTargetsReceivedFunc -> -- callback : TInterface (Name {namespace = "Gtk", name = "ClipboardTargetsReceivedFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Requests the contents of the clipboard as list of supported targets.
+When the list is later received, /@callback@/ will be called.
+
+The /@targets@/ parameter to /@callback@/ will contain the resulting targets if
+the request succeeded, or 'Nothing' if it failed.
+
+/Since: 2.4/
+-}
+clipboardRequestTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gtk.Callbacks.ClipboardTargetsReceivedFunc
+    {- ^ /@callback@/: a function to call when the targets are
+    received, or the retrieval fails. (It will always be called
+    one way or the other.) -}
+    -> m ()
+clipboardRequestTargets clipboard callback = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gtk.Callbacks.C_ClipboardTargetsReceivedFunc))
+    callback' <- Gtk.Callbacks.mk_ClipboardTargetsReceivedFunc (Gtk.Callbacks.wrap_ClipboardTargetsReceivedFunc (Just ptrcallback) (Gtk.Callbacks.drop_closures_ClipboardTargetsReceivedFunc callback))
+    poke ptrcallback callback'
+    let userData = nullPtr
+    gtk_clipboard_request_targets clipboard' callback' userData
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardRequestTargetsMethodInfo
+instance (signature ~ (Gtk.Callbacks.ClipboardTargetsReceivedFunc -> m ()), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardRequestTargetsMethodInfo a signature where
+    overloadedMethod _ = clipboardRequestTargets
+
+#endif
+
+-- method Clipboard::request_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "ClipboardTextReceivedFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when the text is received,\n    or the retrieval fails. (It will always be called one way or the other.)", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @callback.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_request_text" gtk_clipboard_request_text :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    FunPtr Gtk.Callbacks.C_ClipboardTextReceivedFunc -> -- callback : TInterface (Name {namespace = "Gtk", name = "ClipboardTextReceivedFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Requests the contents of the clipboard as text. When the text is
+later received, it will be converted to UTF-8 if necessary, and
+/@callback@/ will be called.
+
+The /@text@/ parameter to /@callback@/ will contain the resulting text if
+the request succeeded, or 'Nothing' if it failed. This could happen for
+various reasons, in particular if the clipboard was empty or if the
+contents of the clipboard could not be converted into text form.
+-}
+clipboardRequestText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gtk.Callbacks.ClipboardTextReceivedFunc
+    {- ^ /@callback@/: a function to call when the text is received,
+    or the retrieval fails. (It will always be called one way or the other.) -}
+    -> m ()
+clipboardRequestText clipboard callback = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gtk.Callbacks.C_ClipboardTextReceivedFunc))
+    callback' <- Gtk.Callbacks.mk_ClipboardTextReceivedFunc (Gtk.Callbacks.wrap_ClipboardTextReceivedFunc (Just ptrcallback) (Gtk.Callbacks.drop_closures_ClipboardTextReceivedFunc callback))
+    poke ptrcallback callback'
+    let userData = nullPtr
+    gtk_clipboard_request_text clipboard' callback' userData
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardRequestTextMethodInfo
+instance (signature ~ (Gtk.Callbacks.ClipboardTextReceivedFunc -> m ()), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardRequestTextMethodInfo a signature where
+    overloadedMethod _ = clipboardRequestText
+
+#endif
+
+-- method Clipboard::request_uris
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "ClipboardURIReceivedFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when the URIs are received,\n    or the retrieval fails. (It will always be called one way or the other.)", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @callback.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_request_uris" gtk_clipboard_request_uris :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    FunPtr Gtk.Callbacks.C_ClipboardURIReceivedFunc -> -- callback : TInterface (Name {namespace = "Gtk", name = "ClipboardURIReceivedFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Requests the contents of the clipboard as URIs. When the URIs are
+later received /@callback@/ will be called.
+
+The /@uris@/ parameter to /@callback@/ will contain the resulting array of
+URIs if the request succeeded, or 'Nothing' if it failed. This could happen
+for various reasons, in particular if the clipboard was empty or if the
+contents of the clipboard could not be converted into URI form.
+
+/Since: 2.14/
+-}
+clipboardRequestUris ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gtk.Callbacks.ClipboardURIReceivedFunc
+    {- ^ /@callback@/: a function to call when the URIs are received,
+    or the retrieval fails. (It will always be called one way or the other.) -}
+    -> m ()
+clipboardRequestUris clipboard callback = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    ptrcallback <- callocMem :: IO (Ptr (FunPtr Gtk.Callbacks.C_ClipboardURIReceivedFunc))
+    callback' <- Gtk.Callbacks.mk_ClipboardURIReceivedFunc (Gtk.Callbacks.wrap_ClipboardURIReceivedFunc (Just ptrcallback) (Gtk.Callbacks.drop_closures_ClipboardURIReceivedFunc callback))
+    poke ptrcallback callback'
+    let userData = nullPtr
+    gtk_clipboard_request_uris clipboard' callback' userData
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardRequestUrisMethodInfo
+instance (signature ~ (Gtk.Callbacks.ClipboardURIReceivedFunc -> m ()), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardRequestUrisMethodInfo a signature where
+    overloadedMethod _ = clipboardRequestUris
+
+#endif
+
+-- method Clipboard::set_can_store
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "array containing\n          information about which forms should be stored or %NULL\n          to indicate that all forms should be stored.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_set_can_store" gtk_clipboard_set_can_store :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    IO ()
+
+{- |
+Hints that the clipboard data should be stored somewhere when the
+application exits or when gtk_clipboard_store () is called.
+
+This value is reset when the clipboard owner changes.
+Where the clipboard data is stored is platform dependent,
+see gdk_display_store_clipboard () for more information.
+
+/Since: 2.6/
+-}
+clipboardSetCanStore ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Maybe ([Gtk.TargetEntry.TargetEntry])
+    {- ^ /@targets@/: array containing
+          information about which forms should be stored or 'Nothing'
+          to indicate that all forms should be stored. -}
+    -> m ()
+clipboardSetCanStore clipboard targets = liftIO $ do
+    let nTargets = case targets of
+            Nothing -> 0
+            Just jTargets -> fromIntegral $ length jTargets
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    maybeTargets <- case targets of
+        Nothing -> return nullPtr
+        Just jTargets -> do
+            jTargets' <- mapM unsafeManagedPtrGetPtr jTargets
+            jTargets'' <- packBlockArray 16 jTargets'
+            return jTargets''
+    gtk_clipboard_set_can_store clipboard' maybeTargets nTargets
+    touchManagedPtr clipboard
+    whenJust targets (mapM_ touchManagedPtr)
+    freeMem maybeTargets
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardSetCanStoreMethodInfo
+instance (signature ~ (Maybe ([Gtk.TargetEntry.TargetEntry]) -> m ()), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardSetCanStoreMethodInfo a signature where
+    overloadedMethod _ = clipboardSetCanStore
+
+#endif
+
+-- method Clipboard::set_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_set_image" gtk_clipboard_set_image :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{- |
+Sets the contents of the clipboard to the given 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'.
+GTK+ will take responsibility for responding for requests
+for the image, and for converting the image into the
+requested format.
+
+/Since: 2.6/
+-}
+clipboardSetImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' object -}
+    -> b
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}
+    -> m ()
+clipboardSetImage clipboard pixbuf = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    gtk_clipboard_set_image clipboard' pixbuf'
+    touchManagedPtr clipboard
+    touchManagedPtr pixbuf
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardSetImageMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsClipboard a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo ClipboardSetImageMethodInfo a signature where
+    overloadedMethod _ = clipboardSetImage
+
+#endif
+
+-- method Clipboard::set_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @text, in bytes, or -1, in which case\n            the length will be determined with strlen().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_set_text" gtk_clipboard_set_text :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    CString ->                              -- text : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt
+    IO ()
+
+{- |
+Sets the contents of the clipboard to the given UTF-8 string. GTK+ will
+make a copy of the text and take responsibility for responding
+for requests for the text, and for converting the text into
+the requested format.
+-}
+clipboardSetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' object -}
+    -> T.Text
+    {- ^ /@text@/: a UTF-8 string. -}
+    -> Int32
+    {- ^ /@len@/: length of /@text@/, in bytes, or -1, in which case
+            the length will be determined with @/strlen()/@. -}
+    -> m ()
+clipboardSetText clipboard text len = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    text' <- textToCString text
+    gtk_clipboard_set_text clipboard' text' len
+    touchManagedPtr clipboard
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardSetTextMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardSetTextMethodInfo a signature where
+    overloadedMethod _ = clipboardSetText
+
+#endif
+
+-- method Clipboard::store
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_store" gtk_clipboard_store :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO ()
+
+{- |
+Stores the current clipboard data somewhere so that it will stay
+around after the application has quit.
+
+/Since: 2.6/
+-}
+clipboardStore ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m ()
+clipboardStore clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    gtk_clipboard_store clipboard'
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data ClipboardStoreMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardStoreMethodInfo a signature where
+    overloadedMethod _ = clipboardStore
+
+#endif
+
+-- method Clipboard::wait_for_contents
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an atom representing the form into which the clipboard\n         owner should convert the selection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SelectionData"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_for_contents" gtk_clipboard_wait_for_contents :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO (Ptr Gtk.SelectionData.SelectionData)
+
+{- |
+Requests the contents of the clipboard using the given target.
+This function waits for the data to be received using the main
+loop, so events, timeouts, etc, may be dispatched during the wait.
+-}
+clipboardWaitForContents ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@target@/: an atom representing the form into which the clipboard
+         owner should convert the selection. -}
+    -> m (Maybe Gtk.SelectionData.SelectionData)
+    {- ^ __Returns:__ a newly-allocated 'GI.Gtk.Structs.SelectionData.SelectionData' object or 'Nothing'
+              if retrieving the given target failed. If non-'Nothing',
+              this value must be freed with 'GI.Gtk.Structs.SelectionData.selectionDataFree'
+              when you are finished with it. -}
+clipboardWaitForContents clipboard target = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    target' <- unsafeManagedPtrGetPtr target
+    result <- gtk_clipboard_wait_for_contents clipboard' target'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gtk.SelectionData.SelectionData) result'
+        return result''
+    touchManagedPtr clipboard
+    touchManagedPtr target
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitForContentsMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> m (Maybe Gtk.SelectionData.SelectionData)), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardWaitForContentsMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitForContents
+
+#endif
+
+-- method Clipboard::wait_for_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_for_image" gtk_clipboard_wait_for_image :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Requests the contents of the clipboard as image and converts
+the result to a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'. This function waits for
+the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+/Since: 2.6/
+-}
+clipboardWaitForImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ a newly-allocated 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'
+    object which must be disposed with 'GI.GObject.Objects.Object.objectUnref', or
+    'Nothing' if retrieving the selection data failed. (This could
+    happen for various reasons, in particular if the clipboard
+    was empty or if the contents of the clipboard could not be
+    converted into an image.) -}
+clipboardWaitForImage clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    result <- gtk_clipboard_wait_for_image clipboard'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr clipboard
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitForImageMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardWaitForImageMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitForImage
+
+#endif
+
+-- XXX Could not generate method Clipboard::wait_for_rich_text
+-- Error was : Not implemented: "Don't know how to allocate \"format\" of type TInterface (Name {namespace = \"Gdk\", name = \"Atom\"})"
+#if ENABLE_OVERLOADING
+-- XXX: Dummy instance, since code generation failed.
+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.
+data ClipboardWaitForRichTextMethodInfo
+instance (p ~ (), o ~ O.MethodResolutionFailed "waitForRichText" Clipboard) => O.MethodInfo ClipboardWaitForRichTextMethodInfo o p where
+    overloadedMethod _ = undefined
+#endif
+
+-- method Clipboard::wait_for_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location\n          to store an array of targets. The result stored here must\n          be freed with g_free().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferContainer},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store number of items in @targets.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store number of items in @targets.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_for_targets" gtk_clipboard_wait_for_targets :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    Ptr (Ptr (Ptr Gdk.Atom.Atom)) ->        -- targets : TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+    Ptr Int32 ->                            -- n_targets : TBasicType TInt
+    IO CInt
+
+{- |
+Returns a list of targets that are present on the clipboard, or 'Nothing'
+if there aren’t any targets available. The returned list must be
+freed with 'GI.GLib.Functions.free'.
+This function waits for the data to be received using the main
+loop, so events, timeouts, etc, may be dispatched during the wait.
+
+/Since: 2.4/
+-}
+clipboardWaitForTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m ((Bool, [Gdk.Atom.Atom]))
+    {- ^ __Returns:__ 'True' if any targets are present on the clipboard,
+              otherwise 'False'. -}
+clipboardWaitForTargets clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    targets <- allocMem :: IO (Ptr (Ptr (Ptr Gdk.Atom.Atom)))
+    nTargets <- allocMem :: IO (Ptr Int32)
+    result <- gtk_clipboard_wait_for_targets clipboard' targets nTargets
+    nTargets' <- peek nTargets
+    let result' = (/= 0) result
+    targets' <- peek targets
+    targets'' <- (unpackPtrArrayWithLength nTargets') targets'
+    targets''' <- mapM (newPtr Gdk.Atom.Atom) targets''
+    freeMem targets'
+    touchManagedPtr clipboard
+    freeMem targets
+    freeMem nTargets
+    return (result', targets''')
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitForTargetsMethodInfo
+instance (signature ~ (m ((Bool, [Gdk.Atom.Atom]))), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardWaitForTargetsMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitForTargets
+
+#endif
+
+-- method Clipboard::wait_for_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_for_text" gtk_clipboard_wait_for_text :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO CString
+
+{- |
+Requests the contents of the clipboard as text and converts
+the result to UTF-8 if necessary. This function waits for
+the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+-}
+clipboardWaitForText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ a newly-allocated UTF-8 string which must
+              be freed with 'GI.GLib.Functions.free', or 'Nothing' if retrieving
+              the selection data failed. (This could happen
+              for various reasons, in particular if the
+              clipboard was empty or if the contents of the
+              clipboard could not be converted into text form.) -}
+clipboardWaitForText clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    result <- gtk_clipboard_wait_for_text clipboard'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr clipboard
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitForTextMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardWaitForTextMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitForText
+
+#endif
+
+-- method Clipboard::wait_for_uris
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_for_uris" gtk_clipboard_wait_for_uris :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO (Ptr CString)
+
+{- |
+Requests the contents of the clipboard as URIs. This function waits
+for the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+/Since: 2.14/
+-}
+clipboardWaitForUris ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m (Maybe [T.Text])
+    {- ^ __Returns:__ 
+    a newly-allocated 'Nothing'-terminated array of strings which must
+    be freed with 'GI.GLib.Functions.strfreev', or 'Nothing' if retrieving the
+    selection data failed. (This could happen for various reasons,
+    in particular if the clipboard was empty or if the contents of
+    the clipboard could not be converted into URI form.) -}
+clipboardWaitForUris clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    result <- gtk_clipboard_wait_for_uris clipboard'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- unpackZeroTerminatedUTF8CArray result'
+        mapZeroTerminatedCArray freeMem result'
+        freeMem result'
+        return result''
+    touchManagedPtr clipboard
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitForUrisMethodInfo
+instance (signature ~ (m (Maybe [T.Text])), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardWaitForUrisMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitForUris
+
+#endif
+
+-- method Clipboard::wait_is_image_available
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_is_image_available" gtk_clipboard_wait_is_image_available :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO CInt
+
+{- |
+Test to see if there is an image available to be pasted
+This is done by requesting the TARGETS atom and checking
+if it contains any of the supported image targets. This function
+waits for the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+This function is a little faster than calling
+'GI.Gtk.Objects.Clipboard.clipboardWaitForImage' since it doesn’t need to retrieve
+the actual image data.
+
+/Since: 2.6/
+-}
+clipboardWaitIsImageAvailable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' is there is an image available, 'False' otherwise. -}
+clipboardWaitIsImageAvailable clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    result <- gtk_clipboard_wait_is_image_available clipboard'
+    let result' = (/= 0) result
+    touchManagedPtr clipboard
+    return result'
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsImageAvailableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardWaitIsImageAvailableMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitIsImageAvailable
+
+#endif
+
+-- method Clipboard::wait_is_rich_text_available
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_is_rich_text_available" gtk_clipboard_wait_is_rich_text_available :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    Ptr Gtk.TextBuffer.TextBuffer ->        -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO CInt
+
+{- |
+Test to see if there is rich text available to be pasted
+This is done by requesting the TARGETS atom and checking
+if it contains any of the supported rich text targets. This function
+waits for the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+This function is a little faster than calling
+'GI.Gtk.Objects.Clipboard.clipboardWaitForRichText' since it doesn’t need to retrieve
+the actual text.
+
+/Since: 2.10/
+-}
+clipboardWaitIsRichTextAvailable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a, Gtk.TextBuffer.IsTextBuffer b) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> b
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' is there is rich text available, 'False' otherwise. -}
+clipboardWaitIsRichTextAvailable clipboard buffer = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_clipboard_wait_is_rich_text_available clipboard' buffer'
+    let result' = (/= 0) result
+    touchManagedPtr clipboard
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsRichTextAvailableMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsClipboard a, Gtk.TextBuffer.IsTextBuffer b) => O.MethodInfo ClipboardWaitIsRichTextAvailableMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitIsRichTextAvailable
+
+#endif
+
+-- method Clipboard::wait_is_target_available
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkAtom indicating which target to look for.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_is_target_available" gtk_clipboard_wait_is_target_available :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO CInt
+
+{- |
+Checks if a clipboard supports pasting data of a given type. This
+function can be used to determine if a “Paste” menu item should be
+insensitive or not.
+
+If you want to see if there’s text available on the clipboard, use
+gtk_clipboard_wait_is_text_available () instead.
+
+/Since: 2.6/
+-}
+clipboardWaitIsTargetAvailable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@target@/: A 'GI.Gdk.Structs.Atom.Atom' indicating which target to look for. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the target is available, 'False' otherwise. -}
+clipboardWaitIsTargetAvailable clipboard target = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    target' <- unsafeManagedPtrGetPtr target
+    result <- gtk_clipboard_wait_is_target_available clipboard' target'
+    let result' = (/= 0) result
+    touchManagedPtr clipboard
+    touchManagedPtr target
+    return result'
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsTargetAvailableMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> m Bool), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardWaitIsTargetAvailableMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitIsTargetAvailable
+
+#endif
+
+-- method Clipboard::wait_is_text_available
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_is_text_available" gtk_clipboard_wait_is_text_available :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO CInt
+
+{- |
+Test to see if there is text available to be pasted
+This is done by requesting the TARGETS atom and checking
+if it contains any of the supported text targets. This function
+waits for the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+This function is a little faster than calling
+'GI.Gtk.Objects.Clipboard.clipboardWaitForText' since it doesn’t need to retrieve
+the actual text.
+-}
+clipboardWaitIsTextAvailable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' is there is text available, 'False' otherwise. -}
+clipboardWaitIsTextAvailable clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    result <- gtk_clipboard_wait_is_text_available clipboard'
+    let result' = (/= 0) result
+    touchManagedPtr clipboard
+    return result'
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsTextAvailableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardWaitIsTextAvailableMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitIsTextAvailable
+
+#endif
+
+-- method Clipboard::wait_is_uris_available
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_wait_is_uris_available" gtk_clipboard_wait_is_uris_available :: 
+    Ptr Clipboard ->                        -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO CInt
+
+{- |
+Test to see if there is a list of URIs available to be pasted
+This is done by requesting the TARGETS atom and checking
+if it contains the URI targets. This function
+waits for the data to be received using the main loop, so events,
+timeouts, etc, may be dispatched during the wait.
+
+This function is a little faster than calling
+'GI.Gtk.Objects.Clipboard.clipboardWaitForUris' since it doesn’t need to retrieve
+the actual URI data.
+
+/Since: 2.14/
+-}
+clipboardWaitIsUrisAvailable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsClipboard a) =>
+    a
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' is there is an URI list available, 'False' otherwise. -}
+clipboardWaitIsUrisAvailable clipboard = liftIO $ do
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    result <- gtk_clipboard_wait_is_uris_available clipboard'
+    let result' = (/= 0) result
+    touchManagedPtr clipboard
+    return result'
+
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsUrisAvailableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsClipboard a) => O.MethodInfo ClipboardWaitIsUrisAvailableMethodInfo a signature where
+    overloadedMethod _ = clipboardWaitIsUrisAvailable
+
+#endif
+
+-- method Clipboard::get
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAtom which identifies the clipboard to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Clipboard"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_get" gtk_clipboard_get :: 
+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO (Ptr Clipboard)
+
+{- |
+Returns the clipboard object for the given selection.
+See 'GI.Gtk.Objects.Clipboard.clipboardGetForDisplay' for complete details.
+-}
+clipboardGet ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gdk.Atom.Atom
+    {- ^ /@selection@/: a 'GI.Gdk.Structs.Atom.Atom' which identifies the clipboard to use -}
+    -> m Clipboard
+    {- ^ __Returns:__ the appropriate clipboard object. If no clipboard
+    already exists, a new one will be created. Once a clipboard
+    object has been created, it is persistent and, since it is
+    owned by GTK+, must not be freed or unreffed. -}
+clipboardGet selection = liftIO $ do
+    selection' <- unsafeManagedPtrGetPtr selection
+    result <- gtk_clipboard_get selection'
+    checkUnexpectedReturnNULL "clipboardGet" result
+    result' <- (newObject Clipboard) result
+    touchManagedPtr selection
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Clipboard::get_default
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay for which the clipboard is to be retrieved.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Clipboard"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_get_default" gtk_clipboard_get_default :: 
+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
+    IO (Ptr Clipboard)
+
+{- |
+Returns the default clipboard object for use with cut\/copy\/paste menu items
+and keyboard shortcuts.
+
+/Since: 3.16/
+-}
+clipboardGetDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>
+    a
+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' for which the clipboard is to be retrieved. -}
+    -> m Clipboard
+    {- ^ __Returns:__ the default clipboard object. -}
+clipboardGetDefault display = liftIO $ do
+    display' <- unsafeManagedPtrCastPtr display
+    result <- gtk_clipboard_get_default display'
+    checkUnexpectedReturnNULL "clipboardGetDefault" result
+    result' <- (newObject Clipboard) result
+    touchManagedPtr display
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Clipboard::get_for_display
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay for which the clipboard is to be retrieved or created.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAtom which identifies the clipboard to use.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Clipboard"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_clipboard_get_for_display" gtk_clipboard_get_for_display :: 
+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO (Ptr Clipboard)
+
+{- |
+Returns the clipboard object for the given selection.
+Cut\/copy\/paste menu items and keyboard shortcuts should use
+the default clipboard, returned by passing @/GDK_SELECTION_CLIPBOARD/@ for /@selection@/.
+(@/GDK_NONE/@ is supported as a synonym for GDK_SELECTION_CLIPBOARD
+for backwards compatibility reasons.)
+The currently-selected object or text should be provided on the clipboard
+identified by @/GDK_SELECTION_PRIMARY/@. Cut\/copy\/paste menu items
+conceptually copy the contents of the @/GDK_SELECTION_PRIMARY/@ clipboard
+to the default clipboard, i.e. they copy the selection to what the
+user sees as the clipboard.
+
+(Passing @/GDK_NONE/@ is the same as using @gdk_atom_intern
+(\"CLIPBOARD\", FALSE)@.
+
+See the
+<http://www.freedesktop.org/Standards/clipboards-spec FreeDesktop Clipboard Specification>
+for a detailed discussion of the “CLIPBOARD” vs. “PRIMARY”
+selections under the X window system. On Win32 the
+@/GDK_SELECTION_PRIMARY/@ clipboard is essentially ignored.)
+
+It’s possible to have arbitrary named clipboards; if you do invent
+new clipboards, you should prefix the selection name with an
+underscore (because the ICCCM requires that nonstandard atoms are
+underscore-prefixed), and namespace it as well. For example,
+if your application called “Foo” has a special-purpose
+clipboard, you might call it “_FOO_SPECIAL_CLIPBOARD”.
+
+/Since: 2.2/
+-}
+clipboardGetForDisplay ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>
+    a
+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' for which the clipboard is to be retrieved or created. -}
+    -> Gdk.Atom.Atom
+    {- ^ /@selection@/: a 'GI.Gdk.Structs.Atom.Atom' which identifies the clipboard to use. -}
+    -> m Clipboard
+    {- ^ __Returns:__ the appropriate clipboard object. If no
+  clipboard already exists, a new one will be created. Once a clipboard
+  object has been created, it is persistent and, since it is owned by
+  GTK+, must not be freed or unrefd. -}
+clipboardGetForDisplay display selection = liftIO $ do
+    display' <- unsafeManagedPtrCastPtr display
+    selection' <- unsafeManagedPtrGetPtr selection
+    result <- gtk_clipboard_get_for_display display' selection'
+    checkUnexpectedReturnNULL "clipboardGetForDisplay" result
+    result' <- (newObject Clipboard) result
+    touchManagedPtr display
+    touchManagedPtr selection
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/Clipboard.hs-boot b/GI/Gtk/Objects/Clipboard.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Clipboard.hs-boot
@@ -0,0 +1,104 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Clipboard where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Clipboard = Clipboard (ManagedPtr Clipboard)
+instance GObject Clipboard where
+class (GObject o, O.IsDescendantOf Clipboard o) => IsClipboard o
+instance (GObject o, O.IsDescendantOf Clipboard o) => IsClipboard o
+instance O.HasParentTypes Clipboard
+#if ENABLE_OVERLOADING
+data ClipboardOwnerChangeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardClearMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardGetDisplayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardGetOwnerMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardRequestContentsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardRequestImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardRequestRichTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardRequestTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardRequestTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardRequestUrisMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardSetCanStoreMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardSetImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardSetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardStoreMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitForContentsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitForImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitForRichTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitForTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitForTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitForUrisMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsImageAvailableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsRichTextAvailableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsTargetAvailableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsTextAvailableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ClipboardWaitIsUrisAvailableMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ColorButton.hs b/GI/Gtk/Objects/ColorButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorButton.hs
@@ -0,0 +1,1507 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.ColorButton.ColorButton' is a button which displays the currently selected
+color and allows to open a color selection dialog to change the color.
+It is suitable widget for selecting a color in a preference dialog.
+
+= CSS nodes
+
+GtkColorButton has a single CSS node with name button. To differentiate
+it from a plain 'GI.Gtk.Objects.Button.Button', it gets the .color style class.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ColorButton
+    ( 
+
+-- * Exported types
+    ColorButton(..)                         ,
+    IsColorButton                           ,
+    toColorButton                           ,
+    noColorButton                           ,
+
+
+ -- * Methods
+-- ** getAlpha #method:getAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorButtonGetAlphaMethodInfo           ,
+#endif
+    colorButtonGetAlpha                     ,
+
+
+-- ** getColor #method:getColor#
+
+#if ENABLE_OVERLOADING
+    ColorButtonGetColorMethodInfo           ,
+#endif
+    colorButtonGetColor                     ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    ColorButtonGetTitleMethodInfo           ,
+#endif
+    colorButtonGetTitle                     ,
+
+
+-- ** getUseAlpha #method:getUseAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorButtonGetUseAlphaMethodInfo        ,
+#endif
+    colorButtonGetUseAlpha                  ,
+
+
+-- ** new #method:new#
+
+    colorButtonNew                          ,
+
+
+-- ** newWithColor #method:newWithColor#
+
+    colorButtonNewWithColor                 ,
+
+
+-- ** newWithRgba #method:newWithRgba#
+
+    colorButtonNewWithRgba                  ,
+
+
+-- ** setAlpha #method:setAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorButtonSetAlphaMethodInfo           ,
+#endif
+    colorButtonSetAlpha                     ,
+
+
+-- ** setColor #method:setColor#
+
+#if ENABLE_OVERLOADING
+    ColorButtonSetColorMethodInfo           ,
+#endif
+    colorButtonSetColor                     ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    ColorButtonSetTitleMethodInfo           ,
+#endif
+    colorButtonSetTitle                     ,
+
+
+-- ** setUseAlpha #method:setUseAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorButtonSetUseAlphaMethodInfo        ,
+#endif
+    colorButtonSetUseAlpha                  ,
+
+
+
+
+ -- * Properties
+-- ** alpha #attr:alpha#
+{- | The selected opacity value (0 fully transparent, 65535 fully opaque).
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ColorButtonAlphaPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    colorButtonAlpha                        ,
+#endif
+    constructColorButtonAlpha               ,
+    getColorButtonAlpha                     ,
+    setColorButtonAlpha                     ,
+
+
+-- ** color #attr:color#
+{- | The selected color.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ColorButtonColorPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    colorButtonColor                        ,
+#endif
+    constructColorButtonColor               ,
+    getColorButtonColor                     ,
+    setColorButtonColor                     ,
+
+
+-- ** rgba #attr:rgba#
+{- | The RGBA color.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ColorButtonRgbaPropertyInfo             ,
+#endif
+    clearColorButtonRgba                    ,
+#if ENABLE_OVERLOADING
+    colorButtonRgba                         ,
+#endif
+    constructColorButtonRgba                ,
+    getColorButtonRgba                      ,
+    setColorButtonRgba                      ,
+
+
+-- ** showEditor #attr:showEditor#
+{- | Set this property to 'True' to skip the palette
+in the dialog and go directly to the color editor.
+
+This property should be used in cases where the palette
+in the editor would be redundant, such as when the color
+button is already part of a palette.
+
+/Since: 3.20/
+-}
+#if ENABLE_OVERLOADING
+    ColorButtonShowEditorPropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    colorButtonShowEditor                   ,
+#endif
+    constructColorButtonShowEditor          ,
+    getColorButtonShowEditor                ,
+    setColorButtonShowEditor                ,
+
+
+-- ** title #attr:title#
+{- | The title of the color selection dialog
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ColorButtonTitlePropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    colorButtonTitle                        ,
+#endif
+    constructColorButtonTitle               ,
+    getColorButtonTitle                     ,
+    setColorButtonTitle                     ,
+
+
+-- ** useAlpha #attr:useAlpha#
+{- | If this property is set to 'True', the color swatch on the button is
+rendered against a checkerboard background to show its opacity and
+the opacity slider is displayed in the color selection dialog.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ColorButtonUseAlphaPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    colorButtonUseAlpha                     ,
+#endif
+    constructColorButtonUseAlpha            ,
+    getColorButtonUseAlpha                  ,
+    setColorButtonUseAlpha                  ,
+
+
+
+
+ -- * Signals
+-- ** colorSet #signal:colorSet#
+
+    C_ColorButtonColorSetCallback           ,
+    ColorButtonColorSetCallback             ,
+#if ENABLE_OVERLOADING
+    ColorButtonColorSetSignalInfo           ,
+#endif
+    afterColorButtonColorSet                ,
+    genClosure_ColorButtonColorSet          ,
+    mk_ColorButtonColorSetCallback          ,
+    noColorButtonColorSetCallback           ,
+    onColorButtonColorSet                   ,
+    wrap_ColorButtonColorSetCallback        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.ColorChooser as Gtk.ColorChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ColorButton = ColorButton (ManagedPtr ColorButton)
+foreign import ccall "gtk_color_button_get_type"
+    c_gtk_color_button_get_type :: IO GType
+
+instance GObject ColorButton where
+    gobjectType = c_gtk_color_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `ColorButton`, for instance with `toColorButton`.
+class (GObject o, O.IsDescendantOf ColorButton o) => IsColorButton o
+instance (GObject o, O.IsDescendantOf ColorButton o) => IsColorButton o
+
+instance O.HasParentTypes ColorButton
+type instance O.ParentTypes ColorButton = '[Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable, Gtk.ColorChooser.ColorChooser]
+
+-- | Cast to `ColorButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toColorButton :: (MonadIO m, IsColorButton o) => o -> m ColorButton
+toColorButton = liftIO . unsafeCastTo ColorButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ColorButton`.
+noColorButton :: Maybe ColorButton
+noColorButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveColorButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveColorButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveColorButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveColorButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveColorButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveColorButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveColorButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveColorButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveColorButtonMethod "addPalette" o = Gtk.ColorChooser.ColorChooserAddPaletteMethodInfo
+    ResolveColorButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveColorButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveColorButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveColorButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveColorButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveColorButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveColorButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveColorButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveColorButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveColorButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveColorButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveColorButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveColorButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveColorButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveColorButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveColorButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveColorButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveColorButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveColorButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveColorButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveColorButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveColorButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveColorButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveColorButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveColorButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveColorButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveColorButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveColorButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveColorButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveColorButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveColorButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveColorButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveColorButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveColorButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveColorButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveColorButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveColorButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveColorButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveColorButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveColorButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveColorButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveColorButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveColorButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveColorButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveColorButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveColorButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveColorButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveColorButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveColorButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveColorButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveColorButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveColorButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveColorButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveColorButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveColorButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveColorButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveColorButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveColorButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveColorButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveColorButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveColorButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveColorButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveColorButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveColorButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveColorButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveColorButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveColorButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveColorButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveColorButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveColorButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveColorButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveColorButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveColorButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveColorButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveColorButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveColorButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveColorButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveColorButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveColorButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveColorButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveColorButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveColorButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveColorButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveColorButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveColorButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveColorButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveColorButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveColorButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveColorButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveColorButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveColorButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveColorButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveColorButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveColorButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveColorButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveColorButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveColorButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveColorButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveColorButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveColorButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveColorButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveColorButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveColorButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveColorButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveColorButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveColorButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveColorButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveColorButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveColorButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveColorButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveColorButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveColorButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveColorButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveColorButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveColorButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveColorButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveColorButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveColorButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveColorButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveColorButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveColorButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveColorButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveColorButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveColorButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveColorButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveColorButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveColorButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveColorButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveColorButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveColorButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveColorButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveColorButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveColorButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveColorButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveColorButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveColorButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveColorButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveColorButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveColorButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveColorButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveColorButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveColorButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveColorButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveColorButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveColorButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveColorButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveColorButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveColorButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveColorButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveColorButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveColorButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveColorButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveColorButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveColorButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveColorButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveColorButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveColorButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveColorButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveColorButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveColorButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveColorButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveColorButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveColorButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveColorButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveColorButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveColorButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveColorButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveColorButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveColorButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveColorButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveColorButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveColorButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveColorButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveColorButtonMethod "getAlpha" o = ColorButtonGetAlphaMethodInfo
+    ResolveColorButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveColorButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveColorButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveColorButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveColorButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveColorButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveColorButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveColorButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveColorButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveColorButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveColorButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveColorButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveColorButtonMethod "getColor" o = ColorButtonGetColorMethodInfo
+    ResolveColorButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveColorButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveColorButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveColorButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveColorButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveColorButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveColorButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveColorButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveColorButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveColorButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveColorButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveColorButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveColorButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveColorButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveColorButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveColorButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveColorButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveColorButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveColorButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveColorButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveColorButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveColorButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveColorButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveColorButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveColorButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveColorButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveColorButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveColorButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveColorButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveColorButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveColorButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveColorButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveColorButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveColorButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveColorButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveColorButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveColorButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveColorButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveColorButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveColorButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveColorButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveColorButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveColorButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveColorButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveColorButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveColorButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveColorButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveColorButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveColorButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveColorButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveColorButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveColorButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveColorButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveColorButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveColorButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveColorButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveColorButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveColorButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveColorButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveColorButtonMethod "getRgba" o = Gtk.ColorChooser.ColorChooserGetRgbaMethodInfo
+    ResolveColorButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveColorButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveColorButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveColorButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveColorButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveColorButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveColorButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveColorButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveColorButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveColorButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveColorButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveColorButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveColorButtonMethod "getTitle" o = ColorButtonGetTitleMethodInfo
+    ResolveColorButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveColorButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveColorButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveColorButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveColorButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveColorButtonMethod "getUseAlpha" o = ColorButtonGetUseAlphaMethodInfo
+    ResolveColorButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveColorButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveColorButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveColorButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveColorButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveColorButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveColorButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveColorButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveColorButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveColorButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveColorButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveColorButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveColorButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveColorButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveColorButtonMethod "setAlpha" o = ColorButtonSetAlphaMethodInfo
+    ResolveColorButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveColorButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveColorButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveColorButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveColorButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveColorButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveColorButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveColorButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveColorButtonMethod "setColor" o = ColorButtonSetColorMethodInfo
+    ResolveColorButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveColorButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveColorButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveColorButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveColorButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveColorButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveColorButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveColorButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveColorButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveColorButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveColorButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveColorButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveColorButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveColorButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveColorButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveColorButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveColorButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveColorButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveColorButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveColorButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveColorButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveColorButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveColorButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveColorButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveColorButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveColorButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveColorButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveColorButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveColorButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveColorButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveColorButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveColorButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveColorButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveColorButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveColorButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveColorButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveColorButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveColorButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveColorButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveColorButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveColorButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveColorButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveColorButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveColorButtonMethod "setRgba" o = Gtk.ColorChooser.ColorChooserSetRgbaMethodInfo
+    ResolveColorButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveColorButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveColorButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveColorButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveColorButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveColorButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveColorButtonMethod "setTitle" o = ColorButtonSetTitleMethodInfo
+    ResolveColorButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveColorButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveColorButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveColorButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveColorButtonMethod "setUseAlpha" o = ColorButtonSetUseAlphaMethodInfo
+    ResolveColorButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveColorButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveColorButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveColorButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveColorButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveColorButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveColorButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveColorButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveColorButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveColorButtonMethod t ColorButton, O.MethodInfo info ColorButton p) => OL.IsLabel t (ColorButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ColorButton::color-set
+{- |
+The ::color-set signal is emitted when the user selects a color.
+When handling this signal, use @/gtk_color_button_get_rgba()/@ to
+find out which color was just selected.
+
+Note that this signal is only emitted when the user
+changes the color. If you need to react to programmatic color changes
+as well, use the notify::color signal.
+
+/Since: 2.4/
+-}
+type ColorButtonColorSetCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ColorButtonColorSetCallback`@.
+noColorButtonColorSetCallback :: Maybe ColorButtonColorSetCallback
+noColorButtonColorSetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ColorButtonColorSetCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ColorButtonColorSetCallback`.
+foreign import ccall "wrapper"
+    mk_ColorButtonColorSetCallback :: C_ColorButtonColorSetCallback -> IO (FunPtr C_ColorButtonColorSetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ColorButtonColorSet :: MonadIO m => ColorButtonColorSetCallback -> m (GClosure C_ColorButtonColorSetCallback)
+genClosure_ColorButtonColorSet cb = liftIO $ do
+    let cb' = wrap_ColorButtonColorSetCallback cb
+    mk_ColorButtonColorSetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ColorButtonColorSetCallback` into a `C_ColorButtonColorSetCallback`.
+wrap_ColorButtonColorSetCallback ::
+    ColorButtonColorSetCallback ->
+    C_ColorButtonColorSetCallback
+wrap_ColorButtonColorSetCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@color-set@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' colorButton #colorSet callback
+@
+-}
+onColorButtonColorSet :: (IsColorButton a, MonadIO m) => a -> ColorButtonColorSetCallback -> m SignalHandlerId
+onColorButtonColorSet obj cb = liftIO $ do
+    let cb' = wrap_ColorButtonColorSetCallback cb
+    cb'' <- mk_ColorButtonColorSetCallback cb'
+    connectSignalFunPtr obj "color-set" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@color-set@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' colorButton #colorSet callback
+@
+-}
+afterColorButtonColorSet :: (IsColorButton a, MonadIO m) => a -> ColorButtonColorSetCallback -> m SignalHandlerId
+afterColorButtonColorSet obj cb = liftIO $ do
+    let cb' = wrap_ColorButtonColorSetCallback cb
+    cb'' <- mk_ColorButtonColorSetCallback cb'
+    connectSignalFunPtr obj "color-set" cb'' SignalConnectAfter
+
+
+--- XXX Duplicated object with different types:
+  --- Name {namespace = "Gtk", name = "ColorButton"} -> Property {propName = "rgba", propType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The RGBA color.", sinceVersion = Just "3.0"}, propDeprecated = Nothing}
+  --- Name {namespace = "Gtk", name = "ColorChooser"} -> Property {propName = "rgba", propType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The ::rgba property contains the currently selected color,\nas a #GdkRGBA struct. The property can be set to change\nthe current selection programmatically.", sinceVersion = Just "3.4"}, propDeprecated = Nothing}
+--- XXX Duplicated object with different types:
+  --- Name {namespace = "Gtk", name = "ColorButton"} -> Property {propName = "use-alpha", propType = TBasicType TBoolean, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "If this property is set to %TRUE, the color swatch on the button is\nrendered against a checkerboard background to show its opacity and\nthe opacity slider is displayed in the color selection dialog.", sinceVersion = Just "2.4"}, propDeprecated = Nothing}
+  --- Name {namespace = "Gtk", name = "ColorChooser"} -> Property {propName = "use-alpha", propType = TBasicType TBoolean, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "When ::use-alpha is %TRUE, colors may have alpha (translucency)\ninformation. When it is %FALSE, the #GdkRGBA struct obtained\nvia the #GtkColorChooser:rgba property will be forced to have\nalpha == 1.\n\nImplementations are expected to show alpha by rendering the color\nover a non-uniform background (like a checkerboard pattern).", sinceVersion = Just "3.4"}, propDeprecated = Nothing}
+-- VVV Prop "alpha"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorButton #alpha
+@
+-}
+getColorButtonAlpha :: (MonadIO m, IsColorButton o) => o -> m Word32
+getColorButtonAlpha obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "alpha"
+
+{- |
+Set the value of the “@alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorButton [ #alpha 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorButtonAlpha :: (MonadIO m, IsColorButton o) => o -> Word32 -> m ()
+setColorButtonAlpha obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "alpha" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@alpha@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorButtonAlpha :: (IsColorButton o) => Word32 -> IO (GValueConstruct o)
+constructColorButtonAlpha val = B.Properties.constructObjectPropertyUInt32 "alpha" val
+
+#if ENABLE_OVERLOADING
+data ColorButtonAlphaPropertyInfo
+instance AttrInfo ColorButtonAlphaPropertyInfo where
+    type AttrAllowedOps ColorButtonAlphaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorButtonAlphaPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint ColorButtonAlphaPropertyInfo = IsColorButton
+    type AttrGetType ColorButtonAlphaPropertyInfo = Word32
+    type AttrLabel ColorButtonAlphaPropertyInfo = "alpha"
+    type AttrOrigin ColorButtonAlphaPropertyInfo = ColorButton
+    attrGet _ = getColorButtonAlpha
+    attrSet _ = setColorButtonAlpha
+    attrConstruct _ = constructColorButtonAlpha
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "color"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Color"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@color@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorButton #color
+@
+-}
+getColorButtonColor :: (MonadIO m, IsColorButton o) => o -> m (Maybe Gdk.Color.Color)
+getColorButtonColor obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "color" Gdk.Color.Color
+
+{- |
+Set the value of the “@color@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorButton [ #color 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorButtonColor :: (MonadIO m, IsColorButton o) => o -> Gdk.Color.Color -> m ()
+setColorButtonColor obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "color" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@color@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorButtonColor :: (IsColorButton o) => Gdk.Color.Color -> IO (GValueConstruct o)
+constructColorButtonColor val = B.Properties.constructObjectPropertyBoxed "color" (Just val)
+
+#if ENABLE_OVERLOADING
+data ColorButtonColorPropertyInfo
+instance AttrInfo ColorButtonColorPropertyInfo where
+    type AttrAllowedOps ColorButtonColorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorButtonColorPropertyInfo = (~) Gdk.Color.Color
+    type AttrBaseTypeConstraint ColorButtonColorPropertyInfo = IsColorButton
+    type AttrGetType ColorButtonColorPropertyInfo = (Maybe Gdk.Color.Color)
+    type AttrLabel ColorButtonColorPropertyInfo = "color"
+    type AttrOrigin ColorButtonColorPropertyInfo = ColorButton
+    attrGet _ = getColorButtonColor
+    attrSet _ = setColorButtonColor
+    attrConstruct _ = constructColorButtonColor
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorButton #rgba
+@
+-}
+getColorButtonRgba :: (MonadIO m, IsColorButton o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getColorButtonRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorButton [ #rgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorButtonRgba :: (MonadIO m, IsColorButton o) => o -> Gdk.RGBA.RGBA -> m ()
+setColorButtonRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorButtonRgba :: (IsColorButton o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructColorButtonRgba val = B.Properties.constructObjectPropertyBoxed "rgba" (Just val)
+
+{- |
+Set the value of the “@rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #rgba
+@
+-}
+clearColorButtonRgba :: (MonadIO m, IsColorButton o) => o -> m ()
+clearColorButtonRgba obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "rgba" (Nothing :: Maybe Gdk.RGBA.RGBA)
+
+#if ENABLE_OVERLOADING
+data ColorButtonRgbaPropertyInfo
+instance AttrInfo ColorButtonRgbaPropertyInfo where
+    type AttrAllowedOps ColorButtonRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ColorButtonRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint ColorButtonRgbaPropertyInfo = IsColorButton
+    type AttrGetType ColorButtonRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel ColorButtonRgbaPropertyInfo = "rgba"
+    type AttrOrigin ColorButtonRgbaPropertyInfo = ColorButton
+    attrGet _ = getColorButtonRgba
+    attrSet _ = setColorButtonRgba
+    attrConstruct _ = constructColorButtonRgba
+    attrClear _ = clearColorButtonRgba
+#endif
+
+-- VVV Prop "show-editor"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@show-editor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorButton #showEditor
+@
+-}
+getColorButtonShowEditor :: (MonadIO m, IsColorButton o) => o -> m Bool
+getColorButtonShowEditor obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-editor"
+
+{- |
+Set the value of the “@show-editor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorButton [ #showEditor 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorButtonShowEditor :: (MonadIO m, IsColorButton o) => o -> Bool -> m ()
+setColorButtonShowEditor obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-editor" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-editor@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorButtonShowEditor :: (IsColorButton o) => Bool -> IO (GValueConstruct o)
+constructColorButtonShowEditor val = B.Properties.constructObjectPropertyBool "show-editor" val
+
+#if ENABLE_OVERLOADING
+data ColorButtonShowEditorPropertyInfo
+instance AttrInfo ColorButtonShowEditorPropertyInfo where
+    type AttrAllowedOps ColorButtonShowEditorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorButtonShowEditorPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ColorButtonShowEditorPropertyInfo = IsColorButton
+    type AttrGetType ColorButtonShowEditorPropertyInfo = Bool
+    type AttrLabel ColorButtonShowEditorPropertyInfo = "show-editor"
+    type AttrOrigin ColorButtonShowEditorPropertyInfo = ColorButton
+    attrGet _ = getColorButtonShowEditor
+    attrSet _ = setColorButtonShowEditor
+    attrConstruct _ = constructColorButtonShowEditor
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorButton #title
+@
+-}
+getColorButtonTitle :: (MonadIO m, IsColorButton o) => o -> m T.Text
+getColorButtonTitle obj = liftIO $ checkUnexpectedNothing "getColorButtonTitle" $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorButton [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorButtonTitle :: (MonadIO m, IsColorButton o) => o -> T.Text -> m ()
+setColorButtonTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorButtonTitle :: (IsColorButton o) => T.Text -> IO (GValueConstruct o)
+constructColorButtonTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+#if ENABLE_OVERLOADING
+data ColorButtonTitlePropertyInfo
+instance AttrInfo ColorButtonTitlePropertyInfo where
+    type AttrAllowedOps ColorButtonTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorButtonTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ColorButtonTitlePropertyInfo = IsColorButton
+    type AttrGetType ColorButtonTitlePropertyInfo = T.Text
+    type AttrLabel ColorButtonTitlePropertyInfo = "title"
+    type AttrOrigin ColorButtonTitlePropertyInfo = ColorButton
+    attrGet _ = getColorButtonTitle
+    attrSet _ = setColorButtonTitle
+    attrConstruct _ = constructColorButtonTitle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-alpha"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorButton #useAlpha
+@
+-}
+getColorButtonUseAlpha :: (MonadIO m, IsColorButton o) => o -> m Bool
+getColorButtonUseAlpha obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-alpha"
+
+{- |
+Set the value of the “@use-alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorButton [ #useAlpha 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorButtonUseAlpha :: (MonadIO m, IsColorButton o) => o -> Bool -> m ()
+setColorButtonUseAlpha obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-alpha" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-alpha@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorButtonUseAlpha :: (IsColorButton o) => Bool -> IO (GValueConstruct o)
+constructColorButtonUseAlpha val = B.Properties.constructObjectPropertyBool "use-alpha" val
+
+#if ENABLE_OVERLOADING
+data ColorButtonUseAlphaPropertyInfo
+instance AttrInfo ColorButtonUseAlphaPropertyInfo where
+    type AttrAllowedOps ColorButtonUseAlphaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorButtonUseAlphaPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ColorButtonUseAlphaPropertyInfo = IsColorButton
+    type AttrGetType ColorButtonUseAlphaPropertyInfo = Bool
+    type AttrLabel ColorButtonUseAlphaPropertyInfo = "use-alpha"
+    type AttrOrigin ColorButtonUseAlphaPropertyInfo = ColorButton
+    attrGet _ = getColorButtonUseAlpha
+    attrSet _ = setColorButtonUseAlpha
+    attrConstruct _ = constructColorButtonUseAlpha
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ColorButton
+type instance O.AttributeList ColorButton = ColorButtonAttributeList
+type ColorButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("alpha", ColorButtonAlphaPropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("color", ColorButtonColorPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rgba", ColorButtonRgbaPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showEditor", ColorButtonShowEditorPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", ColorButtonTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useAlpha", ColorButtonUseAlphaPropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+colorButtonAlpha :: AttrLabelProxy "alpha"
+colorButtonAlpha = AttrLabelProxy
+
+colorButtonColor :: AttrLabelProxy "color"
+colorButtonColor = AttrLabelProxy
+
+colorButtonRgba :: AttrLabelProxy "rgba"
+colorButtonRgba = AttrLabelProxy
+
+colorButtonShowEditor :: AttrLabelProxy "showEditor"
+colorButtonShowEditor = AttrLabelProxy
+
+colorButtonTitle :: AttrLabelProxy "title"
+colorButtonTitle = AttrLabelProxy
+
+colorButtonUseAlpha :: AttrLabelProxy "useAlpha"
+colorButtonUseAlpha = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ColorButtonColorSetSignalInfo
+instance SignalInfo ColorButtonColorSetSignalInfo where
+    type HaskellCallbackType ColorButtonColorSetSignalInfo = ColorButtonColorSetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ColorButtonColorSetCallback cb
+        cb'' <- mk_ColorButtonColorSetCallback cb'
+        connectSignalFunPtr obj "color-set" cb'' connectMode
+
+type instance O.SignalList ColorButton = ColorButtonSignalList
+type ColorButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("colorActivated", Gtk.ColorChooser.ColorChooserColorActivatedSignalInfo), '("colorSet", ColorButtonColorSetSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ColorButton::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ColorButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_new" gtk_color_button_new :: 
+    IO (Ptr ColorButton)
+
+{- |
+Creates a new color button.
+
+This returns a widget in the form of a small button containing
+a swatch representing the current selected color. When the button
+is clicked, a color-selection dialog will open, allowing the user
+to select a color. The swatch will be updated to reflect the new
+color when the user finishes.
+
+/Since: 2.4/
+-}
+colorButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ColorButton
+    {- ^ __Returns:__ a new color button -}
+colorButtonNew  = liftIO $ do
+    result <- gtk_color_button_new
+    checkUnexpectedReturnNULL "colorButtonNew" result
+    result' <- (newObject ColorButton) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ColorButton::new_with_color
+-- method type : Constructor
+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkColor to set the current color with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ColorButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_new_with_color" gtk_color_button_new_with_color :: 
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO (Ptr ColorButton)
+
+{-# DEPRECATED colorButtonNewWithColor ["(Since version 3.4)","Use 'GI.Gtk.Objects.ColorButton.colorButtonNewWithRgba' instead."] #-}
+{- |
+Creates a new color button.
+
+/Since: 2.4/
+-}
+colorButtonNewWithColor ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gdk.Color.Color
+    {- ^ /@color@/: A 'GI.Gdk.Structs.Color.Color' to set the current color with -}
+    -> m ColorButton
+    {- ^ __Returns:__ a new color button -}
+colorButtonNewWithColor color = liftIO $ do
+    color' <- unsafeManagedPtrGetPtr color
+    result <- gtk_color_button_new_with_color color'
+    checkUnexpectedReturnNULL "colorButtonNewWithColor" result
+    result' <- (newObject ColorButton) result
+    touchManagedPtr color
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ColorButton::new_with_rgba
+-- method type : Constructor
+-- Args : [Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkRGBA to set the current color with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ColorButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_new_with_rgba" gtk_color_button_new_with_rgba :: 
+    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO (Ptr ColorButton)
+
+{- |
+Creates a new color button.
+
+/Since: 3.0/
+-}
+colorButtonNewWithRgba ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gdk.RGBA.RGBA
+    {- ^ /@rgba@/: A 'GI.Gdk.Structs.RGBA.RGBA' to set the current color with -}
+    -> m ColorButton
+    {- ^ __Returns:__ a new color button -}
+colorButtonNewWithRgba rgba = liftIO $ do
+    rgba' <- unsafeManagedPtrGetPtr rgba
+    result <- gtk_color_button_new_with_rgba rgba'
+    checkUnexpectedReturnNULL "colorButtonNewWithRgba" result
+    result' <- (newObject ColorButton) result
+    touchManagedPtr rgba
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ColorButton::get_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ColorButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt16)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_get_alpha" gtk_color_button_get_alpha :: 
+    Ptr ColorButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ColorButton"})
+    IO Word16
+
+{-# DEPRECATED colorButtonGetAlpha ["(Since version 3.4)","Use 'GI.Gtk.Interfaces.ColorChooser.colorChooserGetRgba' instead."] #-}
+{- |
+Returns the current alpha value.
+
+/Since: 2.4/
+-}
+colorButtonGetAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ColorButton.ColorButton' -}
+    -> m Word16
+    {- ^ __Returns:__ an integer between 0 and 65535 -}
+colorButtonGetAlpha button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_color_button_get_alpha button'
+    touchManagedPtr button
+    return result
+
+#if ENABLE_OVERLOADING
+data ColorButtonGetAlphaMethodInfo
+instance (signature ~ (m Word16), MonadIO m, IsColorButton a) => O.MethodInfo ColorButtonGetAlphaMethodInfo a signature where
+    overloadedMethod _ = colorButtonGetAlpha
+
+#endif
+
+-- method ColorButton::get_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ColorButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor to fill in with the current color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_get_color" gtk_color_button_get_color :: 
+    Ptr ColorButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ColorButton"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED colorButtonGetColor ["(Since version 3.4)","Use 'GI.Gtk.Interfaces.ColorChooser.colorChooserGetRgba' instead."] #-}
+{- |
+Sets /@color@/ to be the current color in the 'GI.Gtk.Objects.ColorButton.ColorButton' widget.
+
+/Since: 2.4/
+-}
+colorButtonGetColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ColorButton.ColorButton' -}
+    -> m (Gdk.Color.Color)
+colorButtonGetColor button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    color <- callocBoxedBytes 12 :: IO (Ptr Gdk.Color.Color)
+    gtk_color_button_get_color button' color
+    color' <- (wrapBoxed Gdk.Color.Color) color
+    touchManagedPtr button
+    return color'
+
+#if ENABLE_OVERLOADING
+data ColorButtonGetColorMethodInfo
+instance (signature ~ (m (Gdk.Color.Color)), MonadIO m, IsColorButton a) => O.MethodInfo ColorButtonGetColorMethodInfo a signature where
+    overloadedMethod _ = colorButtonGetColor
+
+#endif
+
+-- method ColorButton::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ColorButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_get_title" gtk_color_button_get_title :: 
+    Ptr ColorButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ColorButton"})
+    IO CString
+
+{- |
+Gets the title of the color selection dialog.
+
+/Since: 2.4/
+-}
+colorButtonGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ColorButton.ColorButton' -}
+    -> m T.Text
+    {- ^ __Returns:__ An internal string, do not free the return value -}
+colorButtonGetTitle button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_color_button_get_title button'
+    checkUnexpectedReturnNULL "colorButtonGetTitle" result
+    result' <- cstringToText result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ColorButtonGetTitleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsColorButton a) => O.MethodInfo ColorButtonGetTitleMethodInfo a signature where
+    overloadedMethod _ = colorButtonGetTitle
+
+#endif
+
+-- method ColorButton::get_use_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ColorButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_get_use_alpha" gtk_color_button_get_use_alpha :: 
+    Ptr ColorButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ColorButton"})
+    IO CInt
+
+{-# DEPRECATED colorButtonGetUseAlpha ["(Since version 3.4)","Use 'GI.Gtk.Interfaces.ColorChooser.colorChooserGetUseAlpha' instead."] #-}
+{- |
+Does the color selection dialog use the alpha channel ?
+
+/Since: 2.4/
+-}
+colorButtonGetUseAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ColorButton.ColorButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the color sample uses alpha channel, 'False' if not -}
+colorButtonGetUseAlpha button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_color_button_get_use_alpha button'
+    let result' = (/= 0) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ColorButtonGetUseAlphaMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsColorButton a) => O.MethodInfo ColorButtonGetUseAlphaMethodInfo a signature where
+    overloadedMethod _ = colorButtonGetUseAlpha
+
+#endif
+
+-- method ColorButton::set_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ColorButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alpha", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer between 0 and 65535", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_set_alpha" gtk_color_button_set_alpha :: 
+    Ptr ColorButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ColorButton"})
+    Word16 ->                               -- alpha : TBasicType TUInt16
+    IO ()
+
+{-# DEPRECATED colorButtonSetAlpha ["(Since version 3.4)","Use 'GI.Gtk.Interfaces.ColorChooser.colorChooserSetRgba' instead."] #-}
+{- |
+Sets the current opacity to be /@alpha@/.
+
+/Since: 2.4/
+-}
+colorButtonSetAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ColorButton.ColorButton' -}
+    -> Word16
+    {- ^ /@alpha@/: an integer between 0 and 65535 -}
+    -> m ()
+colorButtonSetAlpha button alpha = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    gtk_color_button_set_alpha button' alpha
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorButtonSetAlphaMethodInfo
+instance (signature ~ (Word16 -> m ()), MonadIO m, IsColorButton a) => O.MethodInfo ColorButtonSetAlphaMethodInfo a signature where
+    overloadedMethod _ = colorButtonSetAlpha
+
+#endif
+
+-- method ColorButton::set_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ColorButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkColor to set the current color with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_set_color" gtk_color_button_set_color :: 
+    Ptr ColorButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ColorButton"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED colorButtonSetColor ["Use 'GI.Gtk.Interfaces.ColorChooser.colorChooserSetRgba' instead."] #-}
+{- |
+Sets the current color to be /@color@/.
+
+/Since: 2.4/
+-}
+colorButtonSetColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ColorButton.ColorButton' -}
+    -> Gdk.Color.Color
+    {- ^ /@color@/: A 'GI.Gdk.Structs.Color.Color' to set the current color with -}
+    -> m ()
+colorButtonSetColor button color = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    color' <- unsafeManagedPtrGetPtr color
+    gtk_color_button_set_color button' color'
+    touchManagedPtr button
+    touchManagedPtr color
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorButtonSetColorMethodInfo
+instance (signature ~ (Gdk.Color.Color -> m ()), MonadIO m, IsColorButton a) => O.MethodInfo ColorButtonSetColorMethodInfo a signature where
+    overloadedMethod _ = colorButtonSetColor
+
+#endif
+
+-- method ColorButton::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ColorButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "String containing new window title", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_set_title" gtk_color_button_set_title :: 
+    Ptr ColorButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ColorButton"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the title for the color selection dialog.
+
+/Since: 2.4/
+-}
+colorButtonSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ColorButton.ColorButton' -}
+    -> T.Text
+    {- ^ /@title@/: String containing new window title -}
+    -> m ()
+colorButtonSetTitle button title = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    title' <- textToCString title
+    gtk_color_button_set_title button' title'
+    touchManagedPtr button
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorButtonSetTitleMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsColorButton a) => O.MethodInfo ColorButtonSetTitleMethodInfo a signature where
+    overloadedMethod _ = colorButtonSetTitle
+
+#endif
+
+-- method ColorButton::set_use_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ColorButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_alpha", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if color button should use alpha channel, %FALSE if not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_button_set_use_alpha" gtk_color_button_set_use_alpha :: 
+    Ptr ColorButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ColorButton"})
+    CInt ->                                 -- use_alpha : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED colorButtonSetUseAlpha ["(Since version 3.4)","Use 'GI.Gtk.Interfaces.ColorChooser.colorChooserSetUseAlpha' instead."] #-}
+{- |
+Sets whether or not the color button should use the alpha channel.
+
+/Since: 2.4/
+-}
+colorButtonSetUseAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ColorButton.ColorButton' -}
+    -> Bool
+    {- ^ /@useAlpha@/: 'True' if color button should use alpha channel, 'False' if not -}
+    -> m ()
+colorButtonSetUseAlpha button useAlpha = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let useAlpha' = (fromIntegral . fromEnum) useAlpha
+    gtk_color_button_set_use_alpha button' useAlpha'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorButtonSetUseAlphaMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsColorButton a) => O.MethodInfo ColorButtonSetUseAlphaMethodInfo a signature where
+    overloadedMethod _ = colorButtonSetUseAlpha
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ColorButton.hs-boot b/GI/Gtk/Objects/ColorButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorButton.hs-boot
@@ -0,0 +1,74 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ColorButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ColorButton = ColorButton (ManagedPtr ColorButton)
+instance GObject ColorButton where
+class (GObject o, O.IsDescendantOf ColorButton o) => IsColorButton o
+instance (GObject o, O.IsDescendantOf ColorButton o) => IsColorButton o
+instance O.HasParentTypes ColorButton
+#if ENABLE_OVERLOADING
+data ColorButtonAlphaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonColorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonShowEditorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonUseAlphaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonColorSetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonGetAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonGetColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonGetUseAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonSetAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonSetColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonSetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorButtonSetUseAlphaMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ColorChooserDialog.hs b/GI/Gtk/Objects/ColorChooserDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorChooserDialog.hs
@@ -0,0 +1,674 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.ColorChooserDialog.ColorChooserDialog' widget is a dialog for choosing
+a color. It implements the 'GI.Gtk.Interfaces.ColorChooser.ColorChooser' interface.
+
+/Since: 3.4/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ColorChooserDialog
+    ( 
+
+-- * Exported types
+    ColorChooserDialog(..)                  ,
+    IsColorChooserDialog                    ,
+    toColorChooserDialog                    ,
+    noColorChooserDialog                    ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    colorChooserDialogNew                   ,
+
+
+
+
+ -- * Properties
+-- ** showEditor #attr:showEditor#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ColorChooserDialogShowEditorPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    colorChooserDialogShowEditor            ,
+#endif
+    constructColorChooserDialogShowEditor   ,
+    getColorChooserDialogShowEditor         ,
+    setColorChooserDialogShowEditor         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.ColorChooser as Gtk.ColorChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype ColorChooserDialog = ColorChooserDialog (ManagedPtr ColorChooserDialog)
+foreign import ccall "gtk_color_chooser_dialog_get_type"
+    c_gtk_color_chooser_dialog_get_type :: IO GType
+
+instance GObject ColorChooserDialog where
+    gobjectType = c_gtk_color_chooser_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `ColorChooserDialog`, for instance with `toColorChooserDialog`.
+class (GObject o, O.IsDescendantOf ColorChooserDialog o) => IsColorChooserDialog o
+instance (GObject o, O.IsDescendantOf ColorChooserDialog o) => IsColorChooserDialog o
+
+instance O.HasParentTypes ColorChooserDialog
+type instance O.ParentTypes ColorChooserDialog = '[Gtk.Dialog.Dialog, Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.ColorChooser.ColorChooser]
+
+-- | Cast to `ColorChooserDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toColorChooserDialog :: (MonadIO m, IsColorChooserDialog o) => o -> m ColorChooserDialog
+toColorChooserDialog = liftIO . unsafeCastTo ColorChooserDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ColorChooserDialog`.
+noColorChooserDialog :: Maybe ColorChooserDialog
+noColorChooserDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveColorChooserDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveColorChooserDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveColorChooserDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveColorChooserDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveColorChooserDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveColorChooserDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveColorChooserDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveColorChooserDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveColorChooserDialogMethod "addActionWidget" o = Gtk.Dialog.DialogAddActionWidgetMethodInfo
+    ResolveColorChooserDialogMethod "addButton" o = Gtk.Dialog.DialogAddButtonMethodInfo
+    ResolveColorChooserDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveColorChooserDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveColorChooserDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveColorChooserDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveColorChooserDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveColorChooserDialogMethod "addPalette" o = Gtk.ColorChooser.ColorChooserAddPaletteMethodInfo
+    ResolveColorChooserDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveColorChooserDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveColorChooserDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveColorChooserDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveColorChooserDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveColorChooserDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveColorChooserDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveColorChooserDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveColorChooserDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveColorChooserDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveColorChooserDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveColorChooserDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveColorChooserDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveColorChooserDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveColorChooserDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveColorChooserDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveColorChooserDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveColorChooserDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveColorChooserDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveColorChooserDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveColorChooserDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveColorChooserDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveColorChooserDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveColorChooserDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveColorChooserDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveColorChooserDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveColorChooserDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveColorChooserDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveColorChooserDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveColorChooserDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveColorChooserDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveColorChooserDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveColorChooserDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveColorChooserDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveColorChooserDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveColorChooserDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveColorChooserDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveColorChooserDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveColorChooserDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveColorChooserDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveColorChooserDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveColorChooserDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveColorChooserDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveColorChooserDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveColorChooserDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveColorChooserDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveColorChooserDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveColorChooserDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveColorChooserDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveColorChooserDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveColorChooserDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveColorChooserDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveColorChooserDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveColorChooserDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveColorChooserDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveColorChooserDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveColorChooserDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveColorChooserDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveColorChooserDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveColorChooserDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveColorChooserDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveColorChooserDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveColorChooserDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveColorChooserDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveColorChooserDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveColorChooserDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveColorChooserDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveColorChooserDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveColorChooserDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveColorChooserDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveColorChooserDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveColorChooserDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveColorChooserDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveColorChooserDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveColorChooserDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveColorChooserDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveColorChooserDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveColorChooserDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveColorChooserDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveColorChooserDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveColorChooserDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveColorChooserDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveColorChooserDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveColorChooserDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveColorChooserDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveColorChooserDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveColorChooserDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveColorChooserDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveColorChooserDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveColorChooserDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveColorChooserDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveColorChooserDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveColorChooserDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveColorChooserDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveColorChooserDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveColorChooserDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveColorChooserDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveColorChooserDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveColorChooserDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveColorChooserDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveColorChooserDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveColorChooserDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveColorChooserDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveColorChooserDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveColorChooserDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveColorChooserDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveColorChooserDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveColorChooserDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveColorChooserDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveColorChooserDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveColorChooserDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveColorChooserDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveColorChooserDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveColorChooserDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveColorChooserDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveColorChooserDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveColorChooserDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveColorChooserDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveColorChooserDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveColorChooserDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveColorChooserDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveColorChooserDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveColorChooserDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveColorChooserDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveColorChooserDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveColorChooserDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveColorChooserDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveColorChooserDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveColorChooserDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveColorChooserDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveColorChooserDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveColorChooserDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveColorChooserDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveColorChooserDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveColorChooserDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveColorChooserDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveColorChooserDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveColorChooserDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveColorChooserDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveColorChooserDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveColorChooserDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveColorChooserDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveColorChooserDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveColorChooserDialogMethod "response" o = Gtk.Dialog.DialogResponseMethodInfo
+    ResolveColorChooserDialogMethod "run" o = Gtk.Dialog.DialogRunMethodInfo
+    ResolveColorChooserDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveColorChooserDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveColorChooserDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveColorChooserDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveColorChooserDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveColorChooserDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveColorChooserDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveColorChooserDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveColorChooserDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveColorChooserDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveColorChooserDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveColorChooserDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveColorChooserDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveColorChooserDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveColorChooserDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveColorChooserDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveColorChooserDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveColorChooserDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveColorChooserDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveColorChooserDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveColorChooserDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveColorChooserDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveColorChooserDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveColorChooserDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveColorChooserDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveColorChooserDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveColorChooserDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveColorChooserDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveColorChooserDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveColorChooserDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveColorChooserDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveColorChooserDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveColorChooserDialogMethod "getActionArea" o = Gtk.Dialog.DialogGetActionAreaMethodInfo
+    ResolveColorChooserDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveColorChooserDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveColorChooserDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveColorChooserDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveColorChooserDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveColorChooserDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveColorChooserDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveColorChooserDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveColorChooserDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveColorChooserDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveColorChooserDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveColorChooserDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveColorChooserDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveColorChooserDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveColorChooserDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveColorChooserDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveColorChooserDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveColorChooserDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveColorChooserDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveColorChooserDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveColorChooserDialogMethod "getContentArea" o = Gtk.Dialog.DialogGetContentAreaMethodInfo
+    ResolveColorChooserDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveColorChooserDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveColorChooserDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveColorChooserDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveColorChooserDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveColorChooserDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveColorChooserDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveColorChooserDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveColorChooserDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveColorChooserDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveColorChooserDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveColorChooserDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveColorChooserDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveColorChooserDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveColorChooserDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveColorChooserDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveColorChooserDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveColorChooserDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveColorChooserDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveColorChooserDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveColorChooserDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveColorChooserDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveColorChooserDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveColorChooserDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveColorChooserDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveColorChooserDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveColorChooserDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveColorChooserDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveColorChooserDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveColorChooserDialogMethod "getHeaderBar" o = Gtk.Dialog.DialogGetHeaderBarMethodInfo
+    ResolveColorChooserDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveColorChooserDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveColorChooserDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveColorChooserDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveColorChooserDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveColorChooserDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveColorChooserDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveColorChooserDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveColorChooserDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveColorChooserDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveColorChooserDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveColorChooserDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveColorChooserDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveColorChooserDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveColorChooserDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveColorChooserDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveColorChooserDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveColorChooserDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveColorChooserDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveColorChooserDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveColorChooserDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveColorChooserDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveColorChooserDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveColorChooserDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveColorChooserDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveColorChooserDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveColorChooserDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveColorChooserDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveColorChooserDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveColorChooserDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveColorChooserDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveColorChooserDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveColorChooserDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveColorChooserDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveColorChooserDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveColorChooserDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveColorChooserDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveColorChooserDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveColorChooserDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveColorChooserDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveColorChooserDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveColorChooserDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveColorChooserDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveColorChooserDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveColorChooserDialogMethod "getResponseForWidget" o = Gtk.Dialog.DialogGetResponseForWidgetMethodInfo
+    ResolveColorChooserDialogMethod "getRgba" o = Gtk.ColorChooser.ColorChooserGetRgbaMethodInfo
+    ResolveColorChooserDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveColorChooserDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveColorChooserDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveColorChooserDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveColorChooserDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveColorChooserDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveColorChooserDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveColorChooserDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveColorChooserDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveColorChooserDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveColorChooserDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveColorChooserDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveColorChooserDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveColorChooserDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveColorChooserDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveColorChooserDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveColorChooserDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveColorChooserDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveColorChooserDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveColorChooserDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveColorChooserDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveColorChooserDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveColorChooserDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveColorChooserDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveColorChooserDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveColorChooserDialogMethod "getUseAlpha" o = Gtk.ColorChooser.ColorChooserGetUseAlphaMethodInfo
+    ResolveColorChooserDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveColorChooserDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveColorChooserDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveColorChooserDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveColorChooserDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveColorChooserDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveColorChooserDialogMethod "getWidgetForResponse" o = Gtk.Dialog.DialogGetWidgetForResponseMethodInfo
+    ResolveColorChooserDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveColorChooserDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveColorChooserDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveColorChooserDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveColorChooserDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveColorChooserDialogMethod "setAlternativeButtonOrderFromArray" o = Gtk.Dialog.DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveColorChooserDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveColorChooserDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveColorChooserDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveColorChooserDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveColorChooserDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveColorChooserDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveColorChooserDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveColorChooserDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveColorChooserDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveColorChooserDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveColorChooserDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveColorChooserDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveColorChooserDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveColorChooserDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveColorChooserDialogMethod "setDefaultResponse" o = Gtk.Dialog.DialogSetDefaultResponseMethodInfo
+    ResolveColorChooserDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveColorChooserDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveColorChooserDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveColorChooserDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveColorChooserDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveColorChooserDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveColorChooserDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveColorChooserDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveColorChooserDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveColorChooserDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveColorChooserDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveColorChooserDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveColorChooserDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveColorChooserDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveColorChooserDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveColorChooserDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveColorChooserDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveColorChooserDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveColorChooserDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveColorChooserDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveColorChooserDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveColorChooserDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveColorChooserDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveColorChooserDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveColorChooserDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveColorChooserDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveColorChooserDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveColorChooserDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveColorChooserDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveColorChooserDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveColorChooserDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveColorChooserDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveColorChooserDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveColorChooserDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveColorChooserDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveColorChooserDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveColorChooserDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveColorChooserDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveColorChooserDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveColorChooserDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveColorChooserDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveColorChooserDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveColorChooserDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveColorChooserDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveColorChooserDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveColorChooserDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveColorChooserDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveColorChooserDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveColorChooserDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveColorChooserDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveColorChooserDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveColorChooserDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveColorChooserDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveColorChooserDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveColorChooserDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveColorChooserDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveColorChooserDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveColorChooserDialogMethod "setResponseSensitive" o = Gtk.Dialog.DialogSetResponseSensitiveMethodInfo
+    ResolveColorChooserDialogMethod "setRgba" o = Gtk.ColorChooser.ColorChooserSetRgbaMethodInfo
+    ResolveColorChooserDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveColorChooserDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveColorChooserDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveColorChooserDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveColorChooserDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveColorChooserDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveColorChooserDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveColorChooserDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveColorChooserDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveColorChooserDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveColorChooserDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveColorChooserDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveColorChooserDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveColorChooserDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveColorChooserDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveColorChooserDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveColorChooserDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveColorChooserDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveColorChooserDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveColorChooserDialogMethod "setUseAlpha" o = Gtk.ColorChooser.ColorChooserSetUseAlphaMethodInfo
+    ResolveColorChooserDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveColorChooserDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveColorChooserDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveColorChooserDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveColorChooserDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveColorChooserDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveColorChooserDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveColorChooserDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveColorChooserDialogMethod t ColorChooserDialog, O.MethodInfo info ColorChooserDialog p) => OL.IsLabel t (ColorChooserDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "show-editor"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@show-editor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorChooserDialog #showEditor
+@
+-}
+getColorChooserDialogShowEditor :: (MonadIO m, IsColorChooserDialog o) => o -> m Bool
+getColorChooserDialogShowEditor obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-editor"
+
+{- |
+Set the value of the “@show-editor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorChooserDialog [ #showEditor 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorChooserDialogShowEditor :: (MonadIO m, IsColorChooserDialog o) => o -> Bool -> m ()
+setColorChooserDialogShowEditor obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-editor" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-editor@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorChooserDialogShowEditor :: (IsColorChooserDialog o) => Bool -> IO (GValueConstruct o)
+constructColorChooserDialogShowEditor val = B.Properties.constructObjectPropertyBool "show-editor" val
+
+#if ENABLE_OVERLOADING
+data ColorChooserDialogShowEditorPropertyInfo
+instance AttrInfo ColorChooserDialogShowEditorPropertyInfo where
+    type AttrAllowedOps ColorChooserDialogShowEditorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorChooserDialogShowEditorPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ColorChooserDialogShowEditorPropertyInfo = IsColorChooserDialog
+    type AttrGetType ColorChooserDialogShowEditorPropertyInfo = Bool
+    type AttrLabel ColorChooserDialogShowEditorPropertyInfo = "show-editor"
+    type AttrOrigin ColorChooserDialogShowEditorPropertyInfo = ColorChooserDialog
+    attrGet _ = getColorChooserDialogShowEditor
+    attrSet _ = setColorChooserDialogShowEditor
+    attrConstruct _ = constructColorChooserDialogShowEditor
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ColorChooserDialog
+type instance O.AttributeList ColorChooserDialog = ColorChooserDialogAttributeList
+type ColorChooserDialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rgba", Gtk.ColorChooser.ColorChooserRgbaPropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showEditor", ColorChooserDialogShowEditorPropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useAlpha", Gtk.ColorChooser.ColorChooserUseAlphaPropertyInfo), '("useHeaderBar", Gtk.Dialog.DialogUseHeaderBarPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+colorChooserDialogShowEditor :: AttrLabelProxy "showEditor"
+colorChooserDialogShowEditor = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ColorChooserDialog = ColorChooserDialogSignalList
+type ColorChooserDialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", Gtk.Dialog.DialogCloseSignalInfo), '("colorActivated", Gtk.ColorChooser.ColorChooserColorActivatedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", Gtk.Dialog.DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ColorChooserDialog::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Title of the dialog, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Transient parent of the dialog, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ColorChooserDialog"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_chooser_dialog_new" gtk_color_chooser_dialog_new :: 
+    CString ->                              -- title : TBasicType TUTF8
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr ColorChooserDialog)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ColorChooserDialog.ColorChooserDialog'.
+
+/Since: 3.4/
+-}
+colorChooserDialogNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a) =>
+    Maybe (T.Text)
+    {- ^ /@title@/: Title of the dialog, or 'Nothing' -}
+    -> Maybe (a)
+    {- ^ /@parent@/: Transient parent of the dialog, or 'Nothing' -}
+    -> m ColorChooserDialog
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ColorChooserDialog.ColorChooserDialog' -}
+colorChooserDialogNew title parent = liftIO $ do
+    maybeTitle <- case title of
+        Nothing -> return nullPtr
+        Just jTitle -> do
+            jTitle' <- textToCString jTitle
+            return jTitle'
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    result <- gtk_color_chooser_dialog_new maybeTitle maybeParent
+    checkUnexpectedReturnNULL "colorChooserDialogNew" result
+    result' <- (newObject ColorChooserDialog) result
+    whenJust parent touchManagedPtr
+    freeMem maybeTitle
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/ColorChooserDialog.hs-boot b/GI/Gtk/Objects/ColorChooserDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorChooserDialog.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ColorChooserDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ColorChooserDialog = ColorChooserDialog (ManagedPtr ColorChooserDialog)
+instance GObject ColorChooserDialog where
+class (GObject o, O.IsDescendantOf ColorChooserDialog o) => IsColorChooserDialog o
+instance (GObject o, O.IsDescendantOf ColorChooserDialog o) => IsColorChooserDialog o
+instance O.HasParentTypes ColorChooserDialog
+#if ENABLE_OVERLOADING
+data ColorChooserDialogShowEditorPropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/ColorChooserWidget.hs b/GI/Gtk/Objects/ColorChooserWidget.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorChooserWidget.hs
@@ -0,0 +1,574 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.ColorChooserWidget.ColorChooserWidget' widget lets the user select a
+color. By default, the chooser presents a predefined palette
+of colors, plus a small number of settable custom colors.
+It is also possible to select a different color with the
+single-color editor. To enter the single-color editing mode,
+use the context menu of any color of the palette, or use the
+\'+\' button to add a new custom color.
+
+The chooser automatically remembers the last selection, as well
+as custom colors.
+
+To change the initially selected color, use 'GI.Gtk.Interfaces.ColorChooser.colorChooserSetRgba'.
+To get the selected color use 'GI.Gtk.Interfaces.ColorChooser.colorChooserGetRgba'.
+
+The 'GI.Gtk.Objects.ColorChooserWidget.ColorChooserWidget' is used in the 'GI.Gtk.Objects.ColorChooserDialog.ColorChooserDialog'
+to provide a dialog for selecting colors.
+
+= CSS names
+
+GtkColorChooserWidget has a single CSS node with name colorchooser.
+
+/Since: 3.4/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ColorChooserWidget
+    ( 
+
+-- * Exported types
+    ColorChooserWidget(..)                  ,
+    IsColorChooserWidget                    ,
+    toColorChooserWidget                    ,
+    noColorChooserWidget                    ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    colorChooserWidgetNew                   ,
+
+
+
+
+ -- * Properties
+-- ** showEditor #attr:showEditor#
+{- | The ::show-editor property is 'True' when the color chooser
+is showing the single-color editor. It can be set to switch
+the color chooser into single-color editing mode.
+
+/Since: 3.4/
+-}
+#if ENABLE_OVERLOADING
+    ColorChooserWidgetShowEditorPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    colorChooserWidgetShowEditor            ,
+#endif
+    constructColorChooserWidgetShowEditor   ,
+    getColorChooserWidgetShowEditor         ,
+    setColorChooserWidgetShowEditor         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.ColorChooser as Gtk.ColorChooser
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ColorChooserWidget = ColorChooserWidget (ManagedPtr ColorChooserWidget)
+foreign import ccall "gtk_color_chooser_widget_get_type"
+    c_gtk_color_chooser_widget_get_type :: IO GType
+
+instance GObject ColorChooserWidget where
+    gobjectType = c_gtk_color_chooser_widget_get_type
+    
+
+-- | Type class for types which can be safely cast to `ColorChooserWidget`, for instance with `toColorChooserWidget`.
+class (GObject o, O.IsDescendantOf ColorChooserWidget o) => IsColorChooserWidget o
+instance (GObject o, O.IsDescendantOf ColorChooserWidget o) => IsColorChooserWidget o
+
+instance O.HasParentTypes ColorChooserWidget
+type instance O.ParentTypes ColorChooserWidget = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.ColorChooser.ColorChooser, Gtk.Orientable.Orientable]
+
+-- | Cast to `ColorChooserWidget`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toColorChooserWidget :: (MonadIO m, IsColorChooserWidget o) => o -> m ColorChooserWidget
+toColorChooserWidget = liftIO . unsafeCastTo ColorChooserWidget
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ColorChooserWidget`.
+noColorChooserWidget :: Maybe ColorChooserWidget
+noColorChooserWidget = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveColorChooserWidgetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveColorChooserWidgetMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveColorChooserWidgetMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveColorChooserWidgetMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveColorChooserWidgetMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveColorChooserWidgetMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveColorChooserWidgetMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveColorChooserWidgetMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveColorChooserWidgetMethod "addPalette" o = Gtk.ColorChooser.ColorChooserAddPaletteMethodInfo
+    ResolveColorChooserWidgetMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveColorChooserWidgetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveColorChooserWidgetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveColorChooserWidgetMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveColorChooserWidgetMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveColorChooserWidgetMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveColorChooserWidgetMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveColorChooserWidgetMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveColorChooserWidgetMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveColorChooserWidgetMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveColorChooserWidgetMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveColorChooserWidgetMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveColorChooserWidgetMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveColorChooserWidgetMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveColorChooserWidgetMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveColorChooserWidgetMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveColorChooserWidgetMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveColorChooserWidgetMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveColorChooserWidgetMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveColorChooserWidgetMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveColorChooserWidgetMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveColorChooserWidgetMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveColorChooserWidgetMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveColorChooserWidgetMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveColorChooserWidgetMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveColorChooserWidgetMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveColorChooserWidgetMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveColorChooserWidgetMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveColorChooserWidgetMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveColorChooserWidgetMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveColorChooserWidgetMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveColorChooserWidgetMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveColorChooserWidgetMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveColorChooserWidgetMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveColorChooserWidgetMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveColorChooserWidgetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveColorChooserWidgetMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveColorChooserWidgetMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveColorChooserWidgetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveColorChooserWidgetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveColorChooserWidgetMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveColorChooserWidgetMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveColorChooserWidgetMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveColorChooserWidgetMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveColorChooserWidgetMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveColorChooserWidgetMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveColorChooserWidgetMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveColorChooserWidgetMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveColorChooserWidgetMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveColorChooserWidgetMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveColorChooserWidgetMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveColorChooserWidgetMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveColorChooserWidgetMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveColorChooserWidgetMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveColorChooserWidgetMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveColorChooserWidgetMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveColorChooserWidgetMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveColorChooserWidgetMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveColorChooserWidgetMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveColorChooserWidgetMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveColorChooserWidgetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveColorChooserWidgetMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveColorChooserWidgetMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveColorChooserWidgetMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveColorChooserWidgetMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveColorChooserWidgetMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveColorChooserWidgetMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveColorChooserWidgetMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveColorChooserWidgetMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveColorChooserWidgetMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveColorChooserWidgetMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveColorChooserWidgetMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveColorChooserWidgetMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveColorChooserWidgetMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveColorChooserWidgetMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveColorChooserWidgetMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveColorChooserWidgetMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveColorChooserWidgetMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveColorChooserWidgetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveColorChooserWidgetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveColorChooserWidgetMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveColorChooserWidgetMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveColorChooserWidgetMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveColorChooserWidgetMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveColorChooserWidgetMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveColorChooserWidgetMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveColorChooserWidgetMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveColorChooserWidgetMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveColorChooserWidgetMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveColorChooserWidgetMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveColorChooserWidgetMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveColorChooserWidgetMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveColorChooserWidgetMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveColorChooserWidgetMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveColorChooserWidgetMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveColorChooserWidgetMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveColorChooserWidgetMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveColorChooserWidgetMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveColorChooserWidgetMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveColorChooserWidgetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveColorChooserWidgetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveColorChooserWidgetMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveColorChooserWidgetMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveColorChooserWidgetMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveColorChooserWidgetMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveColorChooserWidgetMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveColorChooserWidgetMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveColorChooserWidgetMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveColorChooserWidgetMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveColorChooserWidgetMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveColorChooserWidgetMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveColorChooserWidgetMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveColorChooserWidgetMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveColorChooserWidgetMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveColorChooserWidgetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveColorChooserWidgetMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveColorChooserWidgetMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveColorChooserWidgetMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveColorChooserWidgetMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveColorChooserWidgetMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveColorChooserWidgetMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveColorChooserWidgetMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveColorChooserWidgetMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveColorChooserWidgetMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveColorChooserWidgetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveColorChooserWidgetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveColorChooserWidgetMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveColorChooserWidgetMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveColorChooserWidgetMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveColorChooserWidgetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveColorChooserWidgetMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveColorChooserWidgetMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveColorChooserWidgetMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveColorChooserWidgetMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveColorChooserWidgetMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveColorChooserWidgetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveColorChooserWidgetMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveColorChooserWidgetMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveColorChooserWidgetMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveColorChooserWidgetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveColorChooserWidgetMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveColorChooserWidgetMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveColorChooserWidgetMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveColorChooserWidgetMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveColorChooserWidgetMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveColorChooserWidgetMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveColorChooserWidgetMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveColorChooserWidgetMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveColorChooserWidgetMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveColorChooserWidgetMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveColorChooserWidgetMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveColorChooserWidgetMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveColorChooserWidgetMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveColorChooserWidgetMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveColorChooserWidgetMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveColorChooserWidgetMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveColorChooserWidgetMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveColorChooserWidgetMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveColorChooserWidgetMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveColorChooserWidgetMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveColorChooserWidgetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveColorChooserWidgetMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveColorChooserWidgetMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveColorChooserWidgetMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveColorChooserWidgetMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveColorChooserWidgetMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveColorChooserWidgetMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveColorChooserWidgetMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveColorChooserWidgetMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveColorChooserWidgetMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveColorChooserWidgetMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveColorChooserWidgetMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveColorChooserWidgetMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveColorChooserWidgetMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveColorChooserWidgetMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveColorChooserWidgetMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveColorChooserWidgetMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveColorChooserWidgetMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveColorChooserWidgetMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveColorChooserWidgetMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveColorChooserWidgetMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveColorChooserWidgetMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveColorChooserWidgetMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveColorChooserWidgetMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveColorChooserWidgetMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveColorChooserWidgetMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveColorChooserWidgetMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveColorChooserWidgetMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveColorChooserWidgetMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveColorChooserWidgetMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveColorChooserWidgetMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveColorChooserWidgetMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveColorChooserWidgetMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveColorChooserWidgetMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveColorChooserWidgetMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveColorChooserWidgetMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveColorChooserWidgetMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveColorChooserWidgetMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveColorChooserWidgetMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveColorChooserWidgetMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveColorChooserWidgetMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveColorChooserWidgetMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveColorChooserWidgetMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveColorChooserWidgetMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveColorChooserWidgetMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveColorChooserWidgetMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveColorChooserWidgetMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveColorChooserWidgetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveColorChooserWidgetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveColorChooserWidgetMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveColorChooserWidgetMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveColorChooserWidgetMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveColorChooserWidgetMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveColorChooserWidgetMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveColorChooserWidgetMethod "getRgba" o = Gtk.ColorChooser.ColorChooserGetRgbaMethodInfo
+    ResolveColorChooserWidgetMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveColorChooserWidgetMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveColorChooserWidgetMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveColorChooserWidgetMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveColorChooserWidgetMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveColorChooserWidgetMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveColorChooserWidgetMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveColorChooserWidgetMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveColorChooserWidgetMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveColorChooserWidgetMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveColorChooserWidgetMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveColorChooserWidgetMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveColorChooserWidgetMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveColorChooserWidgetMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveColorChooserWidgetMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveColorChooserWidgetMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveColorChooserWidgetMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveColorChooserWidgetMethod "getUseAlpha" o = Gtk.ColorChooser.ColorChooserGetUseAlphaMethodInfo
+    ResolveColorChooserWidgetMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveColorChooserWidgetMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveColorChooserWidgetMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveColorChooserWidgetMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveColorChooserWidgetMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveColorChooserWidgetMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveColorChooserWidgetMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveColorChooserWidgetMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveColorChooserWidgetMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveColorChooserWidgetMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveColorChooserWidgetMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveColorChooserWidgetMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveColorChooserWidgetMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveColorChooserWidgetMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveColorChooserWidgetMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveColorChooserWidgetMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveColorChooserWidgetMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveColorChooserWidgetMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveColorChooserWidgetMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveColorChooserWidgetMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveColorChooserWidgetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveColorChooserWidgetMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveColorChooserWidgetMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveColorChooserWidgetMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveColorChooserWidgetMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveColorChooserWidgetMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveColorChooserWidgetMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveColorChooserWidgetMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveColorChooserWidgetMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveColorChooserWidgetMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveColorChooserWidgetMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveColorChooserWidgetMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveColorChooserWidgetMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveColorChooserWidgetMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveColorChooserWidgetMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveColorChooserWidgetMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveColorChooserWidgetMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveColorChooserWidgetMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveColorChooserWidgetMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveColorChooserWidgetMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveColorChooserWidgetMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveColorChooserWidgetMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveColorChooserWidgetMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveColorChooserWidgetMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveColorChooserWidgetMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveColorChooserWidgetMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveColorChooserWidgetMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveColorChooserWidgetMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveColorChooserWidgetMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveColorChooserWidgetMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveColorChooserWidgetMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveColorChooserWidgetMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveColorChooserWidgetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveColorChooserWidgetMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveColorChooserWidgetMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveColorChooserWidgetMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveColorChooserWidgetMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveColorChooserWidgetMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveColorChooserWidgetMethod "setRgba" o = Gtk.ColorChooser.ColorChooserSetRgbaMethodInfo
+    ResolveColorChooserWidgetMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveColorChooserWidgetMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveColorChooserWidgetMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveColorChooserWidgetMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveColorChooserWidgetMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveColorChooserWidgetMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveColorChooserWidgetMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveColorChooserWidgetMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveColorChooserWidgetMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveColorChooserWidgetMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveColorChooserWidgetMethod "setUseAlpha" o = Gtk.ColorChooser.ColorChooserSetUseAlphaMethodInfo
+    ResolveColorChooserWidgetMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveColorChooserWidgetMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveColorChooserWidgetMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveColorChooserWidgetMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveColorChooserWidgetMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveColorChooserWidgetMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveColorChooserWidgetMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveColorChooserWidgetMethod t ColorChooserWidget, O.MethodInfo info ColorChooserWidget p) => OL.IsLabel t (ColorChooserWidget -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "show-editor"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@show-editor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorChooserWidget #showEditor
+@
+-}
+getColorChooserWidgetShowEditor :: (MonadIO m, IsColorChooserWidget o) => o -> m Bool
+getColorChooserWidgetShowEditor obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-editor"
+
+{- |
+Set the value of the “@show-editor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorChooserWidget [ #showEditor 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorChooserWidgetShowEditor :: (MonadIO m, IsColorChooserWidget o) => o -> Bool -> m ()
+setColorChooserWidgetShowEditor obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-editor" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-editor@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorChooserWidgetShowEditor :: (IsColorChooserWidget o) => Bool -> IO (GValueConstruct o)
+constructColorChooserWidgetShowEditor val = B.Properties.constructObjectPropertyBool "show-editor" val
+
+#if ENABLE_OVERLOADING
+data ColorChooserWidgetShowEditorPropertyInfo
+instance AttrInfo ColorChooserWidgetShowEditorPropertyInfo where
+    type AttrAllowedOps ColorChooserWidgetShowEditorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorChooserWidgetShowEditorPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ColorChooserWidgetShowEditorPropertyInfo = IsColorChooserWidget
+    type AttrGetType ColorChooserWidgetShowEditorPropertyInfo = Bool
+    type AttrLabel ColorChooserWidgetShowEditorPropertyInfo = "show-editor"
+    type AttrOrigin ColorChooserWidgetShowEditorPropertyInfo = ColorChooserWidget
+    attrGet _ = getColorChooserWidgetShowEditor
+    attrSet _ = setColorChooserWidgetShowEditor
+    attrConstruct _ = constructColorChooserWidgetShowEditor
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ColorChooserWidget
+type instance O.AttributeList ColorChooserWidget = ColorChooserWidgetAttributeList
+type ColorChooserWidgetAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rgba", Gtk.ColorChooser.ColorChooserRgbaPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showEditor", ColorChooserWidgetShowEditorPropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useAlpha", Gtk.ColorChooser.ColorChooserUseAlphaPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+colorChooserWidgetShowEditor :: AttrLabelProxy "showEditor"
+colorChooserWidgetShowEditor = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ColorChooserWidget = ColorChooserWidgetSignalList
+type ColorChooserWidgetSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("colorActivated", Gtk.ColorChooser.ColorChooserColorActivatedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ColorChooserWidget::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ColorChooserWidget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_chooser_widget_new" gtk_color_chooser_widget_new :: 
+    IO (Ptr ColorChooserWidget)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ColorChooserWidget.ColorChooserWidget'.
+
+/Since: 3.4/
+-}
+colorChooserWidgetNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ColorChooserWidget
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ColorChooserWidget.ColorChooserWidget' -}
+colorChooserWidgetNew  = liftIO $ do
+    result <- gtk_color_chooser_widget_new
+    checkUnexpectedReturnNULL "colorChooserWidgetNew" result
+    result' <- (newObject ColorChooserWidget) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/ColorChooserWidget.hs-boot b/GI/Gtk/Objects/ColorChooserWidget.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorChooserWidget.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ColorChooserWidget where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ColorChooserWidget = ColorChooserWidget (ManagedPtr ColorChooserWidget)
+instance GObject ColorChooserWidget where
+class (GObject o, O.IsDescendantOf ColorChooserWidget o) => IsColorChooserWidget o
+instance (GObject o, O.IsDescendantOf ColorChooserWidget o) => IsColorChooserWidget o
+instance O.HasParentTypes ColorChooserWidget
+#if ENABLE_OVERLOADING
+data ColorChooserWidgetShowEditorPropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/ColorSelection.hs b/GI/Gtk/Objects/ColorSelection.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorSelection.hs
@@ -0,0 +1,1791 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ColorSelection
+    ( 
+
+-- * Exported types
+    ColorSelection(..)                      ,
+    IsColorSelection                        ,
+    toColorSelection                        ,
+    noColorSelection                        ,
+
+
+ -- * Methods
+-- ** getCurrentAlpha #method:getCurrentAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionGetCurrentAlphaMethodInfo ,
+#endif
+    colorSelectionGetCurrentAlpha           ,
+
+
+-- ** getCurrentColor #method:getCurrentColor#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionGetCurrentColorMethodInfo ,
+#endif
+    colorSelectionGetCurrentColor           ,
+
+
+-- ** getCurrentRgba #method:getCurrentRgba#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionGetCurrentRgbaMethodInfo  ,
+#endif
+    colorSelectionGetCurrentRgba            ,
+
+
+-- ** getHasOpacityControl #method:getHasOpacityControl#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionGetHasOpacityControlMethodInfo,
+#endif
+    colorSelectionGetHasOpacityControl      ,
+
+
+-- ** getHasPalette #method:getHasPalette#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionGetHasPaletteMethodInfo   ,
+#endif
+    colorSelectionGetHasPalette             ,
+
+
+-- ** getPreviousAlpha #method:getPreviousAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionGetPreviousAlphaMethodInfo,
+#endif
+    colorSelectionGetPreviousAlpha          ,
+
+
+-- ** getPreviousColor #method:getPreviousColor#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionGetPreviousColorMethodInfo,
+#endif
+    colorSelectionGetPreviousColor          ,
+
+
+-- ** getPreviousRgba #method:getPreviousRgba#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionGetPreviousRgbaMethodInfo ,
+#endif
+    colorSelectionGetPreviousRgba           ,
+
+
+-- ** isAdjusting #method:isAdjusting#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionIsAdjustingMethodInfo     ,
+#endif
+    colorSelectionIsAdjusting               ,
+
+
+-- ** new #method:new#
+
+    colorSelectionNew                       ,
+
+
+-- ** paletteFromString #method:paletteFromString#
+
+    colorSelectionPaletteFromString         ,
+
+
+-- ** paletteToString #method:paletteToString#
+
+    colorSelectionPaletteToString           ,
+
+
+-- ** setCurrentAlpha #method:setCurrentAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionSetCurrentAlphaMethodInfo ,
+#endif
+    colorSelectionSetCurrentAlpha           ,
+
+
+-- ** setCurrentColor #method:setCurrentColor#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionSetCurrentColorMethodInfo ,
+#endif
+    colorSelectionSetCurrentColor           ,
+
+
+-- ** setCurrentRgba #method:setCurrentRgba#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionSetCurrentRgbaMethodInfo  ,
+#endif
+    colorSelectionSetCurrentRgba            ,
+
+
+-- ** setHasOpacityControl #method:setHasOpacityControl#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionSetHasOpacityControlMethodInfo,
+#endif
+    colorSelectionSetHasOpacityControl      ,
+
+
+-- ** setHasPalette #method:setHasPalette#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionSetHasPaletteMethodInfo   ,
+#endif
+    colorSelectionSetHasPalette             ,
+
+
+-- ** setPreviousAlpha #method:setPreviousAlpha#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionSetPreviousAlphaMethodInfo,
+#endif
+    colorSelectionSetPreviousAlpha          ,
+
+
+-- ** setPreviousColor #method:setPreviousColor#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionSetPreviousColorMethodInfo,
+#endif
+    colorSelectionSetPreviousColor          ,
+
+
+-- ** setPreviousRgba #method:setPreviousRgba#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionSetPreviousRgbaMethodInfo ,
+#endif
+    colorSelectionSetPreviousRgba           ,
+
+
+
+
+ -- * Properties
+-- ** currentAlpha #attr:currentAlpha#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ColorSelectionCurrentAlphaPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    colorSelectionCurrentAlpha              ,
+#endif
+    constructColorSelectionCurrentAlpha     ,
+    getColorSelectionCurrentAlpha           ,
+    setColorSelectionCurrentAlpha           ,
+
+
+-- ** currentColor #attr:currentColor#
+{- | The current GdkColor color.
+-}
+#if ENABLE_OVERLOADING
+    ColorSelectionCurrentColorPropertyInfo  ,
+#endif
+#if ENABLE_OVERLOADING
+    colorSelectionCurrentColor              ,
+#endif
+    constructColorSelectionCurrentColor     ,
+    getColorSelectionCurrentColor           ,
+    setColorSelectionCurrentColor           ,
+
+
+-- ** currentRgba #attr:currentRgba#
+{- | The current RGBA color.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ColorSelectionCurrentRgbaPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    colorSelectionCurrentRgba               ,
+#endif
+    constructColorSelectionCurrentRgba      ,
+    getColorSelectionCurrentRgba            ,
+    setColorSelectionCurrentRgba            ,
+
+
+-- ** hasOpacityControl #attr:hasOpacityControl#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ColorSelectionHasOpacityControlPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    colorSelectionHasOpacityControl         ,
+#endif
+    constructColorSelectionHasOpacityControl,
+    getColorSelectionHasOpacityControl      ,
+    setColorSelectionHasOpacityControl      ,
+
+
+-- ** hasPalette #attr:hasPalette#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ColorSelectionHasPalettePropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    colorSelectionHasPalette                ,
+#endif
+    constructColorSelectionHasPalette       ,
+    getColorSelectionHasPalette             ,
+    setColorSelectionHasPalette             ,
+
+
+
+
+ -- * Signals
+-- ** colorChanged #signal:colorChanged#
+
+    C_ColorSelectionColorChangedCallback    ,
+    ColorSelectionColorChangedCallback      ,
+#if ENABLE_OVERLOADING
+    ColorSelectionColorChangedSignalInfo    ,
+#endif
+    afterColorSelectionColorChanged         ,
+    genClosure_ColorSelectionColorChanged   ,
+    mk_ColorSelectionColorChangedCallback   ,
+    noColorSelectionColorChangedCallback    ,
+    onColorSelectionColorChanged            ,
+    wrap_ColorSelectionColorChangedCallback ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ColorSelection = ColorSelection (ManagedPtr ColorSelection)
+foreign import ccall "gtk_color_selection_get_type"
+    c_gtk_color_selection_get_type :: IO GType
+
+instance GObject ColorSelection where
+    gobjectType = c_gtk_color_selection_get_type
+    
+
+-- | Type class for types which can be safely cast to `ColorSelection`, for instance with `toColorSelection`.
+class (GObject o, O.IsDescendantOf ColorSelection o) => IsColorSelection o
+instance (GObject o, O.IsDescendantOf ColorSelection o) => IsColorSelection o
+
+instance O.HasParentTypes ColorSelection
+type instance O.ParentTypes ColorSelection = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `ColorSelection`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toColorSelection :: (MonadIO m, IsColorSelection o) => o -> m ColorSelection
+toColorSelection = liftIO . unsafeCastTo ColorSelection
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ColorSelection`.
+noColorSelection :: Maybe ColorSelection
+noColorSelection = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveColorSelectionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveColorSelectionMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveColorSelectionMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveColorSelectionMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveColorSelectionMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveColorSelectionMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveColorSelectionMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveColorSelectionMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveColorSelectionMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveColorSelectionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveColorSelectionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveColorSelectionMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveColorSelectionMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveColorSelectionMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveColorSelectionMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveColorSelectionMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveColorSelectionMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveColorSelectionMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveColorSelectionMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveColorSelectionMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveColorSelectionMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveColorSelectionMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveColorSelectionMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveColorSelectionMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveColorSelectionMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveColorSelectionMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveColorSelectionMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveColorSelectionMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveColorSelectionMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveColorSelectionMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveColorSelectionMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveColorSelectionMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveColorSelectionMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveColorSelectionMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveColorSelectionMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveColorSelectionMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveColorSelectionMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveColorSelectionMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveColorSelectionMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveColorSelectionMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveColorSelectionMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveColorSelectionMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveColorSelectionMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveColorSelectionMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveColorSelectionMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveColorSelectionMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveColorSelectionMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveColorSelectionMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveColorSelectionMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveColorSelectionMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveColorSelectionMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveColorSelectionMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveColorSelectionMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveColorSelectionMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveColorSelectionMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveColorSelectionMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveColorSelectionMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveColorSelectionMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveColorSelectionMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveColorSelectionMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveColorSelectionMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveColorSelectionMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveColorSelectionMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveColorSelectionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveColorSelectionMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveColorSelectionMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveColorSelectionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveColorSelectionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveColorSelectionMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveColorSelectionMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveColorSelectionMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveColorSelectionMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveColorSelectionMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveColorSelectionMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveColorSelectionMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveColorSelectionMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveColorSelectionMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveColorSelectionMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveColorSelectionMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveColorSelectionMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveColorSelectionMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveColorSelectionMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveColorSelectionMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveColorSelectionMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveColorSelectionMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveColorSelectionMethod "isAdjusting" o = ColorSelectionIsAdjustingMethodInfo
+    ResolveColorSelectionMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveColorSelectionMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveColorSelectionMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveColorSelectionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveColorSelectionMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveColorSelectionMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveColorSelectionMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveColorSelectionMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveColorSelectionMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveColorSelectionMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveColorSelectionMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveColorSelectionMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveColorSelectionMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveColorSelectionMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveColorSelectionMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveColorSelectionMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveColorSelectionMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveColorSelectionMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveColorSelectionMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveColorSelectionMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveColorSelectionMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveColorSelectionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveColorSelectionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveColorSelectionMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveColorSelectionMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveColorSelectionMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveColorSelectionMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveColorSelectionMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveColorSelectionMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveColorSelectionMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveColorSelectionMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveColorSelectionMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveColorSelectionMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveColorSelectionMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveColorSelectionMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveColorSelectionMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveColorSelectionMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveColorSelectionMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveColorSelectionMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveColorSelectionMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveColorSelectionMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveColorSelectionMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveColorSelectionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveColorSelectionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveColorSelectionMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveColorSelectionMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveColorSelectionMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveColorSelectionMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveColorSelectionMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveColorSelectionMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveColorSelectionMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveColorSelectionMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveColorSelectionMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveColorSelectionMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveColorSelectionMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveColorSelectionMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveColorSelectionMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveColorSelectionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveColorSelectionMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveColorSelectionMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveColorSelectionMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveColorSelectionMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveColorSelectionMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveColorSelectionMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveColorSelectionMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveColorSelectionMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveColorSelectionMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveColorSelectionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveColorSelectionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveColorSelectionMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveColorSelectionMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveColorSelectionMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveColorSelectionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveColorSelectionMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveColorSelectionMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveColorSelectionMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveColorSelectionMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveColorSelectionMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveColorSelectionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveColorSelectionMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveColorSelectionMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveColorSelectionMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveColorSelectionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveColorSelectionMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveColorSelectionMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveColorSelectionMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveColorSelectionMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveColorSelectionMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveColorSelectionMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveColorSelectionMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveColorSelectionMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveColorSelectionMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveColorSelectionMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveColorSelectionMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveColorSelectionMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveColorSelectionMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveColorSelectionMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveColorSelectionMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveColorSelectionMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveColorSelectionMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveColorSelectionMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveColorSelectionMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveColorSelectionMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveColorSelectionMethod "getCurrentAlpha" o = ColorSelectionGetCurrentAlphaMethodInfo
+    ResolveColorSelectionMethod "getCurrentColor" o = ColorSelectionGetCurrentColorMethodInfo
+    ResolveColorSelectionMethod "getCurrentRgba" o = ColorSelectionGetCurrentRgbaMethodInfo
+    ResolveColorSelectionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveColorSelectionMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveColorSelectionMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveColorSelectionMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveColorSelectionMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveColorSelectionMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveColorSelectionMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveColorSelectionMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveColorSelectionMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveColorSelectionMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveColorSelectionMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveColorSelectionMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveColorSelectionMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveColorSelectionMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveColorSelectionMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveColorSelectionMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveColorSelectionMethod "getHasOpacityControl" o = ColorSelectionGetHasOpacityControlMethodInfo
+    ResolveColorSelectionMethod "getHasPalette" o = ColorSelectionGetHasPaletteMethodInfo
+    ResolveColorSelectionMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveColorSelectionMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveColorSelectionMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveColorSelectionMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveColorSelectionMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveColorSelectionMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveColorSelectionMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveColorSelectionMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveColorSelectionMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveColorSelectionMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveColorSelectionMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveColorSelectionMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveColorSelectionMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveColorSelectionMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveColorSelectionMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveColorSelectionMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveColorSelectionMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveColorSelectionMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveColorSelectionMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveColorSelectionMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveColorSelectionMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveColorSelectionMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveColorSelectionMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveColorSelectionMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveColorSelectionMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveColorSelectionMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveColorSelectionMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveColorSelectionMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveColorSelectionMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveColorSelectionMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveColorSelectionMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveColorSelectionMethod "getPreviousAlpha" o = ColorSelectionGetPreviousAlphaMethodInfo
+    ResolveColorSelectionMethod "getPreviousColor" o = ColorSelectionGetPreviousColorMethodInfo
+    ResolveColorSelectionMethod "getPreviousRgba" o = ColorSelectionGetPreviousRgbaMethodInfo
+    ResolveColorSelectionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveColorSelectionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveColorSelectionMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveColorSelectionMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveColorSelectionMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveColorSelectionMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveColorSelectionMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveColorSelectionMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveColorSelectionMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveColorSelectionMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveColorSelectionMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveColorSelectionMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveColorSelectionMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveColorSelectionMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveColorSelectionMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveColorSelectionMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveColorSelectionMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveColorSelectionMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveColorSelectionMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveColorSelectionMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveColorSelectionMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveColorSelectionMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveColorSelectionMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveColorSelectionMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveColorSelectionMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveColorSelectionMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveColorSelectionMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveColorSelectionMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveColorSelectionMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveColorSelectionMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveColorSelectionMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveColorSelectionMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveColorSelectionMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveColorSelectionMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveColorSelectionMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveColorSelectionMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveColorSelectionMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveColorSelectionMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveColorSelectionMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveColorSelectionMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveColorSelectionMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveColorSelectionMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveColorSelectionMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveColorSelectionMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveColorSelectionMethod "setCurrentAlpha" o = ColorSelectionSetCurrentAlphaMethodInfo
+    ResolveColorSelectionMethod "setCurrentColor" o = ColorSelectionSetCurrentColorMethodInfo
+    ResolveColorSelectionMethod "setCurrentRgba" o = ColorSelectionSetCurrentRgbaMethodInfo
+    ResolveColorSelectionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveColorSelectionMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveColorSelectionMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveColorSelectionMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveColorSelectionMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveColorSelectionMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveColorSelectionMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveColorSelectionMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveColorSelectionMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveColorSelectionMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveColorSelectionMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveColorSelectionMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveColorSelectionMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveColorSelectionMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveColorSelectionMethod "setHasOpacityControl" o = ColorSelectionSetHasOpacityControlMethodInfo
+    ResolveColorSelectionMethod "setHasPalette" o = ColorSelectionSetHasPaletteMethodInfo
+    ResolveColorSelectionMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveColorSelectionMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveColorSelectionMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveColorSelectionMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveColorSelectionMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveColorSelectionMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveColorSelectionMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveColorSelectionMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveColorSelectionMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveColorSelectionMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveColorSelectionMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveColorSelectionMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveColorSelectionMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveColorSelectionMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveColorSelectionMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveColorSelectionMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveColorSelectionMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveColorSelectionMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveColorSelectionMethod "setPreviousAlpha" o = ColorSelectionSetPreviousAlphaMethodInfo
+    ResolveColorSelectionMethod "setPreviousColor" o = ColorSelectionSetPreviousColorMethodInfo
+    ResolveColorSelectionMethod "setPreviousRgba" o = ColorSelectionSetPreviousRgbaMethodInfo
+    ResolveColorSelectionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveColorSelectionMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveColorSelectionMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveColorSelectionMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveColorSelectionMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveColorSelectionMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveColorSelectionMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveColorSelectionMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveColorSelectionMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveColorSelectionMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveColorSelectionMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveColorSelectionMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveColorSelectionMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveColorSelectionMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveColorSelectionMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveColorSelectionMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveColorSelectionMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveColorSelectionMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveColorSelectionMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveColorSelectionMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveColorSelectionMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveColorSelectionMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveColorSelectionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveColorSelectionMethod t ColorSelection, O.MethodInfo info ColorSelection p) => OL.IsLabel t (ColorSelection -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ColorSelection::color-changed
+{- |
+This signal is emitted when the color changes in the 'GI.Gtk.Objects.ColorSelection.ColorSelection'
+according to its update policy.
+-}
+type ColorSelectionColorChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ColorSelectionColorChangedCallback`@.
+noColorSelectionColorChangedCallback :: Maybe ColorSelectionColorChangedCallback
+noColorSelectionColorChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ColorSelectionColorChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ColorSelectionColorChangedCallback`.
+foreign import ccall "wrapper"
+    mk_ColorSelectionColorChangedCallback :: C_ColorSelectionColorChangedCallback -> IO (FunPtr C_ColorSelectionColorChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ColorSelectionColorChanged :: MonadIO m => ColorSelectionColorChangedCallback -> m (GClosure C_ColorSelectionColorChangedCallback)
+genClosure_ColorSelectionColorChanged cb = liftIO $ do
+    let cb' = wrap_ColorSelectionColorChangedCallback cb
+    mk_ColorSelectionColorChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ColorSelectionColorChangedCallback` into a `C_ColorSelectionColorChangedCallback`.
+wrap_ColorSelectionColorChangedCallback ::
+    ColorSelectionColorChangedCallback ->
+    C_ColorSelectionColorChangedCallback
+wrap_ColorSelectionColorChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@color-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' colorSelection #colorChanged callback
+@
+-}
+onColorSelectionColorChanged :: (IsColorSelection a, MonadIO m) => a -> ColorSelectionColorChangedCallback -> m SignalHandlerId
+onColorSelectionColorChanged obj cb = liftIO $ do
+    let cb' = wrap_ColorSelectionColorChangedCallback cb
+    cb'' <- mk_ColorSelectionColorChangedCallback cb'
+    connectSignalFunPtr obj "color-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@color-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' colorSelection #colorChanged callback
+@
+-}
+afterColorSelectionColorChanged :: (IsColorSelection a, MonadIO m) => a -> ColorSelectionColorChangedCallback -> m SignalHandlerId
+afterColorSelectionColorChanged obj cb = liftIO $ do
+    let cb' = wrap_ColorSelectionColorChangedCallback cb
+    cb'' <- mk_ColorSelectionColorChangedCallback cb'
+    connectSignalFunPtr obj "color-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "current-alpha"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@current-alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorSelection #currentAlpha
+@
+-}
+getColorSelectionCurrentAlpha :: (MonadIO m, IsColorSelection o) => o -> m Word32
+getColorSelectionCurrentAlpha obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "current-alpha"
+
+{- |
+Set the value of the “@current-alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorSelection [ #currentAlpha 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorSelectionCurrentAlpha :: (MonadIO m, IsColorSelection o) => o -> Word32 -> m ()
+setColorSelectionCurrentAlpha obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "current-alpha" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@current-alpha@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorSelectionCurrentAlpha :: (IsColorSelection o) => Word32 -> IO (GValueConstruct o)
+constructColorSelectionCurrentAlpha val = B.Properties.constructObjectPropertyUInt32 "current-alpha" val
+
+#if ENABLE_OVERLOADING
+data ColorSelectionCurrentAlphaPropertyInfo
+instance AttrInfo ColorSelectionCurrentAlphaPropertyInfo where
+    type AttrAllowedOps ColorSelectionCurrentAlphaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorSelectionCurrentAlphaPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint ColorSelectionCurrentAlphaPropertyInfo = IsColorSelection
+    type AttrGetType ColorSelectionCurrentAlphaPropertyInfo = Word32
+    type AttrLabel ColorSelectionCurrentAlphaPropertyInfo = "current-alpha"
+    type AttrOrigin ColorSelectionCurrentAlphaPropertyInfo = ColorSelection
+    attrGet _ = getColorSelectionCurrentAlpha
+    attrSet _ = setColorSelectionCurrentAlpha
+    attrConstruct _ = constructColorSelectionCurrentAlpha
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "current-color"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Color"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@current-color@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorSelection #currentColor
+@
+-}
+getColorSelectionCurrentColor :: (MonadIO m, IsColorSelection o) => o -> m (Maybe Gdk.Color.Color)
+getColorSelectionCurrentColor obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "current-color" Gdk.Color.Color
+
+{- |
+Set the value of the “@current-color@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorSelection [ #currentColor 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorSelectionCurrentColor :: (MonadIO m, IsColorSelection o) => o -> Gdk.Color.Color -> m ()
+setColorSelectionCurrentColor obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "current-color" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@current-color@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorSelectionCurrentColor :: (IsColorSelection o) => Gdk.Color.Color -> IO (GValueConstruct o)
+constructColorSelectionCurrentColor val = B.Properties.constructObjectPropertyBoxed "current-color" (Just val)
+
+#if ENABLE_OVERLOADING
+data ColorSelectionCurrentColorPropertyInfo
+instance AttrInfo ColorSelectionCurrentColorPropertyInfo where
+    type AttrAllowedOps ColorSelectionCurrentColorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorSelectionCurrentColorPropertyInfo = (~) Gdk.Color.Color
+    type AttrBaseTypeConstraint ColorSelectionCurrentColorPropertyInfo = IsColorSelection
+    type AttrGetType ColorSelectionCurrentColorPropertyInfo = (Maybe Gdk.Color.Color)
+    type AttrLabel ColorSelectionCurrentColorPropertyInfo = "current-color"
+    type AttrOrigin ColorSelectionCurrentColorPropertyInfo = ColorSelection
+    attrGet _ = getColorSelectionCurrentColor
+    attrSet _ = setColorSelectionCurrentColor
+    attrConstruct _ = constructColorSelectionCurrentColor
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "current-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@current-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorSelection #currentRgba
+@
+-}
+getColorSelectionCurrentRgba :: (MonadIO m, IsColorSelection o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getColorSelectionCurrentRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "current-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@current-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorSelection [ #currentRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorSelectionCurrentRgba :: (MonadIO m, IsColorSelection o) => o -> Gdk.RGBA.RGBA -> m ()
+setColorSelectionCurrentRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "current-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@current-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorSelectionCurrentRgba :: (IsColorSelection o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructColorSelectionCurrentRgba val = B.Properties.constructObjectPropertyBoxed "current-rgba" (Just val)
+
+#if ENABLE_OVERLOADING
+data ColorSelectionCurrentRgbaPropertyInfo
+instance AttrInfo ColorSelectionCurrentRgbaPropertyInfo where
+    type AttrAllowedOps ColorSelectionCurrentRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorSelectionCurrentRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint ColorSelectionCurrentRgbaPropertyInfo = IsColorSelection
+    type AttrGetType ColorSelectionCurrentRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel ColorSelectionCurrentRgbaPropertyInfo = "current-rgba"
+    type AttrOrigin ColorSelectionCurrentRgbaPropertyInfo = ColorSelection
+    attrGet _ = getColorSelectionCurrentRgba
+    attrSet _ = setColorSelectionCurrentRgba
+    attrConstruct _ = constructColorSelectionCurrentRgba
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-opacity-control"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-opacity-control@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorSelection #hasOpacityControl
+@
+-}
+getColorSelectionHasOpacityControl :: (MonadIO m, IsColorSelection o) => o -> m Bool
+getColorSelectionHasOpacityControl obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-opacity-control"
+
+{- |
+Set the value of the “@has-opacity-control@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorSelection [ #hasOpacityControl 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorSelectionHasOpacityControl :: (MonadIO m, IsColorSelection o) => o -> Bool -> m ()
+setColorSelectionHasOpacityControl obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-opacity-control" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-opacity-control@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorSelectionHasOpacityControl :: (IsColorSelection o) => Bool -> IO (GValueConstruct o)
+constructColorSelectionHasOpacityControl val = B.Properties.constructObjectPropertyBool "has-opacity-control" val
+
+#if ENABLE_OVERLOADING
+data ColorSelectionHasOpacityControlPropertyInfo
+instance AttrInfo ColorSelectionHasOpacityControlPropertyInfo where
+    type AttrAllowedOps ColorSelectionHasOpacityControlPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorSelectionHasOpacityControlPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ColorSelectionHasOpacityControlPropertyInfo = IsColorSelection
+    type AttrGetType ColorSelectionHasOpacityControlPropertyInfo = Bool
+    type AttrLabel ColorSelectionHasOpacityControlPropertyInfo = "has-opacity-control"
+    type AttrOrigin ColorSelectionHasOpacityControlPropertyInfo = ColorSelection
+    attrGet _ = getColorSelectionHasOpacityControl
+    attrSet _ = setColorSelectionHasOpacityControl
+    attrConstruct _ = constructColorSelectionHasOpacityControl
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-palette"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-palette@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorSelection #hasPalette
+@
+-}
+getColorSelectionHasPalette :: (MonadIO m, IsColorSelection o) => o -> m Bool
+getColorSelectionHasPalette obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-palette"
+
+{- |
+Set the value of the “@has-palette@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' colorSelection [ #hasPalette 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setColorSelectionHasPalette :: (MonadIO m, IsColorSelection o) => o -> Bool -> m ()
+setColorSelectionHasPalette obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-palette" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-palette@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructColorSelectionHasPalette :: (IsColorSelection o) => Bool -> IO (GValueConstruct o)
+constructColorSelectionHasPalette val = B.Properties.constructObjectPropertyBool "has-palette" val
+
+#if ENABLE_OVERLOADING
+data ColorSelectionHasPalettePropertyInfo
+instance AttrInfo ColorSelectionHasPalettePropertyInfo where
+    type AttrAllowedOps ColorSelectionHasPalettePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ColorSelectionHasPalettePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ColorSelectionHasPalettePropertyInfo = IsColorSelection
+    type AttrGetType ColorSelectionHasPalettePropertyInfo = Bool
+    type AttrLabel ColorSelectionHasPalettePropertyInfo = "has-palette"
+    type AttrOrigin ColorSelectionHasPalettePropertyInfo = ColorSelection
+    attrGet _ = getColorSelectionHasPalette
+    attrSet _ = setColorSelectionHasPalette
+    attrConstruct _ = constructColorSelectionHasPalette
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ColorSelection
+type instance O.AttributeList ColorSelection = ColorSelectionAttributeList
+type ColorSelectionAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("currentAlpha", ColorSelectionCurrentAlphaPropertyInfo), '("currentColor", ColorSelectionCurrentColorPropertyInfo), '("currentRgba", ColorSelectionCurrentRgbaPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasOpacityControl", ColorSelectionHasOpacityControlPropertyInfo), '("hasPalette", ColorSelectionHasPalettePropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+colorSelectionCurrentAlpha :: AttrLabelProxy "currentAlpha"
+colorSelectionCurrentAlpha = AttrLabelProxy
+
+colorSelectionCurrentColor :: AttrLabelProxy "currentColor"
+colorSelectionCurrentColor = AttrLabelProxy
+
+colorSelectionCurrentRgba :: AttrLabelProxy "currentRgba"
+colorSelectionCurrentRgba = AttrLabelProxy
+
+colorSelectionHasOpacityControl :: AttrLabelProxy "hasOpacityControl"
+colorSelectionHasOpacityControl = AttrLabelProxy
+
+colorSelectionHasPalette :: AttrLabelProxy "hasPalette"
+colorSelectionHasPalette = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ColorSelectionColorChangedSignalInfo
+instance SignalInfo ColorSelectionColorChangedSignalInfo where
+    type HaskellCallbackType ColorSelectionColorChangedSignalInfo = ColorSelectionColorChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ColorSelectionColorChangedCallback cb
+        cb'' <- mk_ColorSelectionColorChangedCallback cb'
+        connectSignalFunPtr obj "color-changed" cb'' connectMode
+
+type instance O.SignalList ColorSelection = ColorSelectionSignalList
+type ColorSelectionSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("colorChanged", ColorSelectionColorChangedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ColorSelection::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ColorSelection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_new" gtk_color_selection_new :: 
+    IO (Ptr ColorSelection)
+
+{- |
+Creates a new GtkColorSelection.
+-}
+colorSelectionNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ColorSelection
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+colorSelectionNew  = liftIO $ do
+    result <- gtk_color_selection_new
+    checkUnexpectedReturnNULL "colorSelectionNew" result
+    result' <- (newObject ColorSelection) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ColorSelection::get_current_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt16)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_get_current_alpha" gtk_color_selection_get_current_alpha :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    IO Word16
+
+{- |
+Returns the current alpha value.
+-}
+colorSelectionGetCurrentAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> m Word16
+    {- ^ __Returns:__ an integer between 0 and 65535 -}
+colorSelectionGetCurrentAlpha colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    result <- gtk_color_selection_get_current_alpha colorsel'
+    touchManagedPtr colorsel
+    return result
+
+#if ENABLE_OVERLOADING
+data ColorSelectionGetCurrentAlphaMethodInfo
+instance (signature ~ (m Word16), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionGetCurrentAlphaMethodInfo a signature where
+    overloadedMethod _ = colorSelectionGetCurrentAlpha
+
+#endif
+
+-- method ColorSelection::get_current_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor to fill in with the current color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_get_current_color" gtk_color_selection_get_current_color :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED colorSelectionGetCurrentColor ["(Since version 3.4)","Use 'GI.Gtk.Objects.ColorSelection.colorSelectionGetCurrentRgba' instead."] #-}
+{- |
+Sets /@color@/ to be the current color in the GtkColorSelection widget.
+-}
+colorSelectionGetCurrentColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> m (Gdk.Color.Color)
+colorSelectionGetCurrentColor colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    color <- callocBoxedBytes 12 :: IO (Ptr Gdk.Color.Color)
+    gtk_color_selection_get_current_color colorsel' color
+    color' <- (wrapBoxed Gdk.Color.Color) color
+    touchManagedPtr colorsel
+    return color'
+
+#if ENABLE_OVERLOADING
+data ColorSelectionGetCurrentColorMethodInfo
+instance (signature ~ (m (Gdk.Color.Color)), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionGetCurrentColorMethodInfo a signature where
+    overloadedMethod _ = colorSelectionGetCurrentColor
+
+#endif
+
+-- method ColorSelection::get_current_rgba
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA to fill in with the current color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_get_current_rgba" gtk_color_selection_get_current_rgba :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{- |
+Sets /@rgba@/ to be the current color in the GtkColorSelection widget.
+
+/Since: 3.0/
+-}
+colorSelectionGetCurrentRgba ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> m (Gdk.RGBA.RGBA)
+colorSelectionGetCurrentRgba colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    rgba <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    gtk_color_selection_get_current_rgba colorsel' rgba
+    rgba' <- (wrapBoxed Gdk.RGBA.RGBA) rgba
+    touchManagedPtr colorsel
+    return rgba'
+
+#if ENABLE_OVERLOADING
+data ColorSelectionGetCurrentRgbaMethodInfo
+instance (signature ~ (m (Gdk.RGBA.RGBA)), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionGetCurrentRgbaMethodInfo a signature where
+    overloadedMethod _ = colorSelectionGetCurrentRgba
+
+#endif
+
+-- method ColorSelection::get_has_opacity_control
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_get_has_opacity_control" gtk_color_selection_get_has_opacity_control :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    IO CInt
+
+{- |
+Determines whether the colorsel has an opacity control.
+-}
+colorSelectionGetHasOpacityControl ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the /@colorsel@/ has an opacity control,
+    'False' if it does\'t -}
+colorSelectionGetHasOpacityControl colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    result <- gtk_color_selection_get_has_opacity_control colorsel'
+    let result' = (/= 0) result
+    touchManagedPtr colorsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data ColorSelectionGetHasOpacityControlMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionGetHasOpacityControlMethodInfo a signature where
+    overloadedMethod _ = colorSelectionGetHasOpacityControl
+
+#endif
+
+-- method ColorSelection::get_has_palette
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_get_has_palette" gtk_color_selection_get_has_palette :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    IO CInt
+
+{- |
+Determines whether the color selector has a color palette.
+-}
+colorSelectionGetHasPalette ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the selector has a palette, 'False' if it hasn\'t -}
+colorSelectionGetHasPalette colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    result <- gtk_color_selection_get_has_palette colorsel'
+    let result' = (/= 0) result
+    touchManagedPtr colorsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data ColorSelectionGetHasPaletteMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionGetHasPaletteMethodInfo a signature where
+    overloadedMethod _ = colorSelectionGetHasPalette
+
+#endif
+
+-- method ColorSelection::get_previous_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt16)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_get_previous_alpha" gtk_color_selection_get_previous_alpha :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    IO Word16
+
+{- |
+Returns the previous alpha value.
+-}
+colorSelectionGetPreviousAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> m Word16
+    {- ^ __Returns:__ an integer between 0 and 65535 -}
+colorSelectionGetPreviousAlpha colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    result <- gtk_color_selection_get_previous_alpha colorsel'
+    touchManagedPtr colorsel
+    return result
+
+#if ENABLE_OVERLOADING
+data ColorSelectionGetPreviousAlphaMethodInfo
+instance (signature ~ (m Word16), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionGetPreviousAlphaMethodInfo a signature where
+    overloadedMethod _ = colorSelectionGetPreviousAlpha
+
+#endif
+
+-- method ColorSelection::get_previous_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor to fill in with the original color value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_get_previous_color" gtk_color_selection_get_previous_color :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED colorSelectionGetPreviousColor ["(Since version 3.4)","Use 'GI.Gtk.Objects.ColorSelection.colorSelectionGetPreviousRgba' instead."] #-}
+{- |
+Fills /@color@/ in with the original color value.
+-}
+colorSelectionGetPreviousColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> m (Gdk.Color.Color)
+colorSelectionGetPreviousColor colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    color <- callocBoxedBytes 12 :: IO (Ptr Gdk.Color.Color)
+    gtk_color_selection_get_previous_color colorsel' color
+    color' <- (wrapBoxed Gdk.Color.Color) color
+    touchManagedPtr colorsel
+    return color'
+
+#if ENABLE_OVERLOADING
+data ColorSelectionGetPreviousColorMethodInfo
+instance (signature ~ (m (Gdk.Color.Color)), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionGetPreviousColorMethodInfo a signature where
+    overloadedMethod _ = colorSelectionGetPreviousColor
+
+#endif
+
+-- method ColorSelection::get_previous_rgba
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA to fill in with the original color value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_get_previous_rgba" gtk_color_selection_get_previous_rgba :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{- |
+Fills /@rgba@/ in with the original color value.
+
+/Since: 3.0/
+-}
+colorSelectionGetPreviousRgba ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> m (Gdk.RGBA.RGBA)
+colorSelectionGetPreviousRgba colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    rgba <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    gtk_color_selection_get_previous_rgba colorsel' rgba
+    rgba' <- (wrapBoxed Gdk.RGBA.RGBA) rgba
+    touchManagedPtr colorsel
+    return rgba'
+
+#if ENABLE_OVERLOADING
+data ColorSelectionGetPreviousRgbaMethodInfo
+instance (signature ~ (m (Gdk.RGBA.RGBA)), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionGetPreviousRgbaMethodInfo a signature where
+    overloadedMethod _ = colorSelectionGetPreviousRgba
+
+#endif
+
+-- method ColorSelection::is_adjusting
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_is_adjusting" gtk_color_selection_is_adjusting :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    IO CInt
+
+{- |
+Gets the current state of the /@colorsel@/.
+-}
+colorSelectionIsAdjusting ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the user is currently dragging
+    a color around, and 'False' if the selection has stopped -}
+colorSelectionIsAdjusting colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    result <- gtk_color_selection_is_adjusting colorsel'
+    let result' = (/= 0) result
+    touchManagedPtr colorsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data ColorSelectionIsAdjustingMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionIsAdjustingMethodInfo a signature where
+    overloadedMethod _ = colorSelectionIsAdjusting
+
+#endif
+
+-- method ColorSelection::set_current_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alpha", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer between 0 and 65535", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_set_current_alpha" gtk_color_selection_set_current_alpha :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Word16 ->                               -- alpha : TBasicType TUInt16
+    IO ()
+
+{- |
+Sets the current opacity to be /@alpha@/.
+
+The first time this is called, it will also set
+the original opacity to be /@alpha@/ too.
+-}
+colorSelectionSetCurrentAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> Word16
+    {- ^ /@alpha@/: an integer between 0 and 65535 -}
+    -> m ()
+colorSelectionSetCurrentAlpha colorsel alpha = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    gtk_color_selection_set_current_alpha colorsel' alpha
+    touchManagedPtr colorsel
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorSelectionSetCurrentAlphaMethodInfo
+instance (signature ~ (Word16 -> m ()), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionSetCurrentAlphaMethodInfo a signature where
+    overloadedMethod _ = colorSelectionSetCurrentAlpha
+
+#endif
+
+-- method ColorSelection::set_current_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor to set the current color with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_set_current_color" gtk_color_selection_set_current_color :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED colorSelectionSetCurrentColor ["(Since version 3.4)","Use 'GI.Gtk.Objects.ColorSelection.colorSelectionSetCurrentRgba' instead."] #-}
+{- |
+Sets the current color to be /@color@/.
+
+The first time this is called, it will also set
+the original color to be /@color@/ too.
+-}
+colorSelectionSetCurrentColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> Gdk.Color.Color
+    {- ^ /@color@/: a 'GI.Gdk.Structs.Color.Color' to set the current color with -}
+    -> m ()
+colorSelectionSetCurrentColor colorsel color = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    color' <- unsafeManagedPtrGetPtr color
+    gtk_color_selection_set_current_color colorsel' color'
+    touchManagedPtr colorsel
+    touchManagedPtr color
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorSelectionSetCurrentColorMethodInfo
+instance (signature ~ (Gdk.Color.Color -> m ()), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionSetCurrentColorMethodInfo a signature where
+    overloadedMethod _ = colorSelectionSetCurrentColor
+
+#endif
+
+-- method ColorSelection::set_current_rgba
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GdkRGBA to set the current color with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_set_current_rgba" gtk_color_selection_set_current_rgba :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{- |
+Sets the current color to be /@rgba@/.
+
+The first time this is called, it will also set
+the original color to be /@rgba@/ too.
+
+/Since: 3.0/
+-}
+colorSelectionSetCurrentRgba ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> Gdk.RGBA.RGBA
+    {- ^ /@rgba@/: A 'GI.Gdk.Structs.RGBA.RGBA' to set the current color with -}
+    -> m ()
+colorSelectionSetCurrentRgba colorsel rgba = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    rgba' <- unsafeManagedPtrGetPtr rgba
+    gtk_color_selection_set_current_rgba colorsel' rgba'
+    touchManagedPtr colorsel
+    touchManagedPtr rgba
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorSelectionSetCurrentRgbaMethodInfo
+instance (signature ~ (Gdk.RGBA.RGBA -> m ()), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionSetCurrentRgbaMethodInfo a signature where
+    overloadedMethod _ = colorSelectionSetCurrentRgba
+
+#endif
+
+-- method ColorSelection::set_has_opacity_control
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_opacity", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if @colorsel can set the opacity, %FALSE otherwise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_set_has_opacity_control" gtk_color_selection_set_has_opacity_control :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    CInt ->                                 -- has_opacity : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the /@colorsel@/ to use or not use opacity.
+-}
+colorSelectionSetHasOpacityControl ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> Bool
+    {- ^ /@hasOpacity@/: 'True' if /@colorsel@/ can set the opacity, 'False' otherwise -}
+    -> m ()
+colorSelectionSetHasOpacityControl colorsel hasOpacity = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    let hasOpacity' = (fromIntegral . fromEnum) hasOpacity
+    gtk_color_selection_set_has_opacity_control colorsel' hasOpacity'
+    touchManagedPtr colorsel
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorSelectionSetHasOpacityControlMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionSetHasOpacityControlMethodInfo a signature where
+    overloadedMethod _ = colorSelectionSetHasOpacityControl
+
+#endif
+
+-- method ColorSelection::set_has_palette
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_palette", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if palette is to be visible, %FALSE otherwise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_set_has_palette" gtk_color_selection_set_has_palette :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    CInt ->                                 -- has_palette : TBasicType TBoolean
+    IO ()
+
+{- |
+Shows and hides the palette based upon the value of /@hasPalette@/.
+-}
+colorSelectionSetHasPalette ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> Bool
+    {- ^ /@hasPalette@/: 'True' if palette is to be visible, 'False' otherwise -}
+    -> m ()
+colorSelectionSetHasPalette colorsel hasPalette = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    let hasPalette' = (fromIntegral . fromEnum) hasPalette
+    gtk_color_selection_set_has_palette colorsel' hasPalette'
+    touchManagedPtr colorsel
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorSelectionSetHasPaletteMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionSetHasPaletteMethodInfo a signature where
+    overloadedMethod _ = colorSelectionSetHasPalette
+
+#endif
+
+-- method ColorSelection::set_previous_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alpha", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer between 0 and 65535", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_set_previous_alpha" gtk_color_selection_set_previous_alpha :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Word16 ->                               -- alpha : TBasicType TUInt16
+    IO ()
+
+{- |
+Sets the “previous” alpha to be /@alpha@/.
+
+This function should be called with some hesitations,
+as it might seem confusing to have that alpha change.
+-}
+colorSelectionSetPreviousAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> Word16
+    {- ^ /@alpha@/: an integer between 0 and 65535 -}
+    -> m ()
+colorSelectionSetPreviousAlpha colorsel alpha = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    gtk_color_selection_set_previous_alpha colorsel' alpha
+    touchManagedPtr colorsel
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorSelectionSetPreviousAlphaMethodInfo
+instance (signature ~ (Word16 -> m ()), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionSetPreviousAlphaMethodInfo a signature where
+    overloadedMethod _ = colorSelectionSetPreviousAlpha
+
+#endif
+
+-- method ColorSelection::set_previous_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkColor to set the previous color with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_set_previous_color" gtk_color_selection_set_previous_color :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED colorSelectionSetPreviousColor ["(Since version 3.4)","Use 'GI.Gtk.Objects.ColorSelection.colorSelectionSetPreviousRgba' instead."] #-}
+{- |
+Sets the “previous” color to be /@color@/.
+
+This function should be called with some hesitations,
+as it might seem confusing to have that color change.
+Calling 'GI.Gtk.Objects.ColorSelection.colorSelectionSetCurrentColor' will also
+set this color the first time it is called.
+-}
+colorSelectionSetPreviousColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> Gdk.Color.Color
+    {- ^ /@color@/: a 'GI.Gdk.Structs.Color.Color' to set the previous color with -}
+    -> m ()
+colorSelectionSetPreviousColor colorsel color = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    color' <- unsafeManagedPtrGetPtr color
+    gtk_color_selection_set_previous_color colorsel' color'
+    touchManagedPtr colorsel
+    touchManagedPtr color
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorSelectionSetPreviousColorMethodInfo
+instance (signature ~ (Gdk.Color.Color -> m ()), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionSetPreviousColorMethodInfo a signature where
+    overloadedMethod _ = colorSelectionSetPreviousColor
+
+#endif
+
+-- method ColorSelection::set_previous_rgba
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rgba", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA to set the previous color with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_set_previous_rgba" gtk_color_selection_set_previous_rgba :: 
+    Ptr ColorSelection ->                   -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelection"})
+    Ptr Gdk.RGBA.RGBA ->                    -- rgba : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{- |
+Sets the “previous” color to be /@rgba@/.
+
+This function should be called with some hesitations,
+as it might seem confusing to have that color change.
+Calling 'GI.Gtk.Objects.ColorSelection.colorSelectionSetCurrentRgba' will also
+set this color the first time it is called.
+
+/Since: 3.0/
+-}
+colorSelectionSetPreviousRgba ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelection a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+    -> Gdk.RGBA.RGBA
+    {- ^ /@rgba@/: a 'GI.Gdk.Structs.RGBA.RGBA' to set the previous color with -}
+    -> m ()
+colorSelectionSetPreviousRgba colorsel rgba = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    rgba' <- unsafeManagedPtrGetPtr rgba
+    gtk_color_selection_set_previous_rgba colorsel' rgba'
+    touchManagedPtr colorsel
+    touchManagedPtr rgba
+    return ()
+
+#if ENABLE_OVERLOADING
+data ColorSelectionSetPreviousRgbaMethodInfo
+instance (signature ~ (Gdk.RGBA.RGBA -> m ()), MonadIO m, IsColorSelection a) => O.MethodInfo ColorSelectionSetPreviousRgbaMethodInfo a signature where
+    overloadedMethod _ = colorSelectionSetPreviousRgba
+
+#endif
+
+-- method ColorSelection::palette_from_string
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string encoding a color palette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "colors", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Color"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for\n    allocated array of #GdkColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for length of array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for length of array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_palette_from_string" gtk_color_selection_palette_from_string :: 
+    CString ->                              -- str : TBasicType TUTF8
+    Ptr (Ptr Gdk.Color.Color) ->            -- colors : TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Color"}))
+    Ptr Int32 ->                            -- n_colors : TBasicType TInt
+    IO CInt
+
+{- |
+Parses a color palette string; the string is a colon-separated
+list of color names readable by 'GI.Gdk.Functions.colorParse'.
+-}
+colorSelectionPaletteFromString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@str@/: a string encoding a color palette -}
+    -> m ((Bool, [Gdk.Color.Color]))
+    {- ^ __Returns:__ 'True' if a palette was successfully parsed -}
+colorSelectionPaletteFromString str = liftIO $ do
+    str' <- textToCString str
+    colors <- allocMem :: IO (Ptr (Ptr Gdk.Color.Color))
+    nColors <- allocMem :: IO (Ptr Int32)
+    result <- gtk_color_selection_palette_from_string str' colors nColors
+    nColors' <- peek nColors
+    let result' = (/= 0) result
+    colors' <- peek colors
+    colors'' <- (unpackBoxedArrayWithLength 12 nColors') colors'
+    colors''' <- mapM (wrapBoxed Gdk.Color.Color) colors''
+    freeMem colors'
+    freeMem str'
+    freeMem colors
+    freeMem nColors
+    return (result', colors''')
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ColorSelection::palette_to_string
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "colors", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Color"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of colors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_colors", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_palette_to_string" gtk_color_selection_palette_to_string :: 
+    Ptr Gdk.Color.Color ->                  -- colors : TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Color"}))
+    Int32 ->                                -- n_colors : TBasicType TInt
+    IO CString
+
+{- |
+Encodes a palette as a string, useful for persistent storage.
+-}
+colorSelectionPaletteToString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Gdk.Color.Color]
+    {- ^ /@colors@/: an array of colors -}
+    -> m T.Text
+    {- ^ __Returns:__ allocated string encoding the palette -}
+colorSelectionPaletteToString colors = liftIO $ do
+    let nColors = fromIntegral $ length colors
+    colors' <- mapM unsafeManagedPtrGetPtr colors
+    colors'' <- packBlockArray 12 colors'
+    result <- gtk_color_selection_palette_to_string colors'' nColors
+    checkUnexpectedReturnNULL "colorSelectionPaletteToString" result
+    result' <- cstringToText result
+    freeMem result
+    mapM_ touchManagedPtr colors
+    freeMem colors''
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/ColorSelection.hs-boot b/GI/Gtk/Objects/ColorSelection.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorSelection.hs-boot
@@ -0,0 +1,98 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ColorSelection where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ColorSelection = ColorSelection (ManagedPtr ColorSelection)
+instance GObject ColorSelection where
+class (GObject o, O.IsDescendantOf ColorSelection o) => IsColorSelection o
+instance (GObject o, O.IsDescendantOf ColorSelection o) => IsColorSelection o
+instance O.HasParentTypes ColorSelection
+#if ENABLE_OVERLOADING
+data ColorSelectionCurrentAlphaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionCurrentColorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionCurrentRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionHasOpacityControlPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionHasPalettePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionColorChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionGetCurrentAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionGetCurrentColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionGetCurrentRgbaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionGetHasOpacityControlMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionGetHasPaletteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionGetPreviousAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionGetPreviousColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionGetPreviousRgbaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionIsAdjustingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionSetCurrentAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionSetCurrentColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionSetCurrentRgbaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionSetHasOpacityControlMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionSetHasPaletteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionSetPreviousAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionSetPreviousColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionSetPreviousRgbaMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ColorSelectionDialog.hs b/GI/Gtk/Objects/ColorSelectionDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorSelectionDialog.hs
@@ -0,0 +1,816 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ColorSelectionDialog
+    ( 
+
+-- * Exported types
+    ColorSelectionDialog(..)                ,
+    IsColorSelectionDialog                  ,
+    toColorSelectionDialog                  ,
+    noColorSelectionDialog                  ,
+
+
+ -- * Methods
+-- ** getColorSelection #method:getColorSelection#
+
+#if ENABLE_OVERLOADING
+    ColorSelectionDialogGetColorSelectionMethodInfo,
+#endif
+    colorSelectionDialogGetColorSelection   ,
+
+
+-- ** new #method:new#
+
+    colorSelectionDialogNew                 ,
+
+
+
+
+ -- * Properties
+-- ** cancelButton #attr:cancelButton#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ColorSelectionDialogCancelButtonPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    colorSelectionDialogCancelButton        ,
+#endif
+    getColorSelectionDialogCancelButton     ,
+
+
+-- ** colorSelection #attr:colorSelection#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ColorSelectionDialogColorSelectionPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    colorSelectionDialogColorSelection      ,
+#endif
+    getColorSelectionDialogColorSelection   ,
+
+
+-- ** helpButton #attr:helpButton#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ColorSelectionDialogHelpButtonPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    colorSelectionDialogHelpButton          ,
+#endif
+    getColorSelectionDialogHelpButton       ,
+
+
+-- ** okButton #attr:okButton#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ColorSelectionDialogOkButtonPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    colorSelectionDialogOkButton            ,
+#endif
+    getColorSelectionDialogOkButton         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype ColorSelectionDialog = ColorSelectionDialog (ManagedPtr ColorSelectionDialog)
+foreign import ccall "gtk_color_selection_dialog_get_type"
+    c_gtk_color_selection_dialog_get_type :: IO GType
+
+instance GObject ColorSelectionDialog where
+    gobjectType = c_gtk_color_selection_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `ColorSelectionDialog`, for instance with `toColorSelectionDialog`.
+class (GObject o, O.IsDescendantOf ColorSelectionDialog o) => IsColorSelectionDialog o
+instance (GObject o, O.IsDescendantOf ColorSelectionDialog o) => IsColorSelectionDialog o
+
+instance O.HasParentTypes ColorSelectionDialog
+type instance O.ParentTypes ColorSelectionDialog = '[Gtk.Dialog.Dialog, Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `ColorSelectionDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toColorSelectionDialog :: (MonadIO m, IsColorSelectionDialog o) => o -> m ColorSelectionDialog
+toColorSelectionDialog = liftIO . unsafeCastTo ColorSelectionDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ColorSelectionDialog`.
+noColorSelectionDialog :: Maybe ColorSelectionDialog
+noColorSelectionDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveColorSelectionDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveColorSelectionDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveColorSelectionDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveColorSelectionDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveColorSelectionDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveColorSelectionDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveColorSelectionDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveColorSelectionDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveColorSelectionDialogMethod "addActionWidget" o = Gtk.Dialog.DialogAddActionWidgetMethodInfo
+    ResolveColorSelectionDialogMethod "addButton" o = Gtk.Dialog.DialogAddButtonMethodInfo
+    ResolveColorSelectionDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveColorSelectionDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveColorSelectionDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveColorSelectionDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveColorSelectionDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveColorSelectionDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveColorSelectionDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveColorSelectionDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveColorSelectionDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveColorSelectionDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveColorSelectionDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveColorSelectionDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveColorSelectionDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveColorSelectionDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveColorSelectionDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveColorSelectionDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveColorSelectionDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveColorSelectionDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveColorSelectionDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveColorSelectionDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveColorSelectionDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveColorSelectionDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveColorSelectionDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveColorSelectionDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveColorSelectionDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveColorSelectionDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveColorSelectionDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveColorSelectionDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveColorSelectionDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveColorSelectionDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveColorSelectionDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveColorSelectionDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveColorSelectionDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveColorSelectionDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveColorSelectionDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveColorSelectionDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveColorSelectionDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveColorSelectionDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveColorSelectionDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveColorSelectionDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveColorSelectionDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveColorSelectionDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveColorSelectionDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveColorSelectionDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveColorSelectionDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveColorSelectionDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveColorSelectionDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveColorSelectionDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveColorSelectionDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveColorSelectionDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveColorSelectionDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveColorSelectionDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveColorSelectionDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveColorSelectionDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveColorSelectionDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveColorSelectionDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveColorSelectionDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveColorSelectionDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveColorSelectionDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveColorSelectionDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveColorSelectionDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveColorSelectionDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveColorSelectionDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveColorSelectionDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveColorSelectionDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveColorSelectionDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveColorSelectionDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveColorSelectionDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveColorSelectionDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveColorSelectionDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveColorSelectionDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveColorSelectionDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveColorSelectionDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveColorSelectionDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveColorSelectionDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveColorSelectionDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveColorSelectionDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveColorSelectionDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveColorSelectionDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveColorSelectionDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveColorSelectionDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveColorSelectionDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveColorSelectionDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveColorSelectionDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveColorSelectionDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveColorSelectionDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveColorSelectionDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveColorSelectionDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveColorSelectionDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveColorSelectionDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveColorSelectionDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveColorSelectionDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveColorSelectionDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveColorSelectionDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveColorSelectionDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveColorSelectionDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveColorSelectionDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveColorSelectionDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveColorSelectionDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveColorSelectionDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveColorSelectionDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveColorSelectionDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveColorSelectionDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveColorSelectionDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveColorSelectionDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveColorSelectionDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveColorSelectionDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveColorSelectionDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveColorSelectionDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveColorSelectionDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveColorSelectionDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveColorSelectionDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveColorSelectionDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveColorSelectionDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveColorSelectionDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveColorSelectionDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveColorSelectionDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveColorSelectionDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveColorSelectionDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveColorSelectionDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveColorSelectionDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveColorSelectionDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveColorSelectionDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveColorSelectionDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveColorSelectionDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveColorSelectionDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveColorSelectionDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveColorSelectionDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveColorSelectionDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveColorSelectionDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveColorSelectionDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveColorSelectionDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveColorSelectionDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveColorSelectionDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveColorSelectionDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveColorSelectionDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveColorSelectionDialogMethod "response" o = Gtk.Dialog.DialogResponseMethodInfo
+    ResolveColorSelectionDialogMethod "run" o = Gtk.Dialog.DialogRunMethodInfo
+    ResolveColorSelectionDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveColorSelectionDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveColorSelectionDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveColorSelectionDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveColorSelectionDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveColorSelectionDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveColorSelectionDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveColorSelectionDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveColorSelectionDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveColorSelectionDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveColorSelectionDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveColorSelectionDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveColorSelectionDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveColorSelectionDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveColorSelectionDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveColorSelectionDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveColorSelectionDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveColorSelectionDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveColorSelectionDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveColorSelectionDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveColorSelectionDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveColorSelectionDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveColorSelectionDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveColorSelectionDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveColorSelectionDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveColorSelectionDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveColorSelectionDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveColorSelectionDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveColorSelectionDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveColorSelectionDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveColorSelectionDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveColorSelectionDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveColorSelectionDialogMethod "getActionArea" o = Gtk.Dialog.DialogGetActionAreaMethodInfo
+    ResolveColorSelectionDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveColorSelectionDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveColorSelectionDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveColorSelectionDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveColorSelectionDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveColorSelectionDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveColorSelectionDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveColorSelectionDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveColorSelectionDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveColorSelectionDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveColorSelectionDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveColorSelectionDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveColorSelectionDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveColorSelectionDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveColorSelectionDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveColorSelectionDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveColorSelectionDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveColorSelectionDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveColorSelectionDialogMethod "getColorSelection" o = ColorSelectionDialogGetColorSelectionMethodInfo
+    ResolveColorSelectionDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveColorSelectionDialogMethod "getContentArea" o = Gtk.Dialog.DialogGetContentAreaMethodInfo
+    ResolveColorSelectionDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveColorSelectionDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveColorSelectionDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveColorSelectionDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveColorSelectionDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveColorSelectionDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveColorSelectionDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveColorSelectionDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveColorSelectionDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveColorSelectionDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveColorSelectionDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveColorSelectionDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveColorSelectionDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveColorSelectionDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveColorSelectionDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveColorSelectionDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveColorSelectionDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveColorSelectionDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveColorSelectionDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveColorSelectionDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveColorSelectionDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveColorSelectionDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveColorSelectionDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveColorSelectionDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveColorSelectionDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveColorSelectionDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveColorSelectionDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveColorSelectionDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveColorSelectionDialogMethod "getHeaderBar" o = Gtk.Dialog.DialogGetHeaderBarMethodInfo
+    ResolveColorSelectionDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveColorSelectionDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveColorSelectionDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveColorSelectionDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveColorSelectionDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveColorSelectionDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveColorSelectionDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveColorSelectionDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveColorSelectionDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveColorSelectionDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveColorSelectionDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveColorSelectionDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveColorSelectionDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveColorSelectionDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveColorSelectionDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveColorSelectionDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveColorSelectionDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveColorSelectionDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveColorSelectionDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveColorSelectionDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveColorSelectionDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveColorSelectionDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveColorSelectionDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveColorSelectionDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveColorSelectionDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveColorSelectionDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveColorSelectionDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveColorSelectionDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveColorSelectionDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveColorSelectionDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveColorSelectionDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveColorSelectionDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveColorSelectionDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveColorSelectionDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveColorSelectionDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveColorSelectionDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveColorSelectionDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveColorSelectionDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveColorSelectionDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveColorSelectionDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveColorSelectionDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveColorSelectionDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveColorSelectionDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveColorSelectionDialogMethod "getResponseForWidget" o = Gtk.Dialog.DialogGetResponseForWidgetMethodInfo
+    ResolveColorSelectionDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveColorSelectionDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveColorSelectionDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveColorSelectionDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveColorSelectionDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveColorSelectionDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveColorSelectionDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveColorSelectionDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveColorSelectionDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveColorSelectionDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveColorSelectionDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveColorSelectionDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveColorSelectionDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveColorSelectionDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveColorSelectionDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveColorSelectionDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveColorSelectionDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveColorSelectionDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveColorSelectionDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveColorSelectionDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveColorSelectionDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveColorSelectionDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveColorSelectionDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveColorSelectionDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveColorSelectionDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveColorSelectionDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveColorSelectionDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveColorSelectionDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveColorSelectionDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveColorSelectionDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveColorSelectionDialogMethod "getWidgetForResponse" o = Gtk.Dialog.DialogGetWidgetForResponseMethodInfo
+    ResolveColorSelectionDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveColorSelectionDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveColorSelectionDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveColorSelectionDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveColorSelectionDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveColorSelectionDialogMethod "setAlternativeButtonOrderFromArray" o = Gtk.Dialog.DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveColorSelectionDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveColorSelectionDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveColorSelectionDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveColorSelectionDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveColorSelectionDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveColorSelectionDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveColorSelectionDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveColorSelectionDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveColorSelectionDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveColorSelectionDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveColorSelectionDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveColorSelectionDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveColorSelectionDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveColorSelectionDialogMethod "setDefaultResponse" o = Gtk.Dialog.DialogSetDefaultResponseMethodInfo
+    ResolveColorSelectionDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveColorSelectionDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveColorSelectionDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveColorSelectionDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveColorSelectionDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveColorSelectionDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveColorSelectionDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveColorSelectionDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveColorSelectionDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveColorSelectionDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveColorSelectionDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveColorSelectionDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveColorSelectionDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveColorSelectionDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveColorSelectionDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveColorSelectionDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveColorSelectionDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveColorSelectionDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveColorSelectionDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveColorSelectionDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveColorSelectionDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveColorSelectionDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveColorSelectionDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveColorSelectionDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveColorSelectionDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveColorSelectionDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveColorSelectionDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveColorSelectionDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveColorSelectionDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveColorSelectionDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveColorSelectionDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveColorSelectionDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveColorSelectionDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveColorSelectionDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveColorSelectionDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveColorSelectionDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveColorSelectionDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveColorSelectionDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveColorSelectionDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveColorSelectionDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveColorSelectionDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveColorSelectionDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveColorSelectionDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveColorSelectionDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveColorSelectionDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveColorSelectionDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveColorSelectionDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveColorSelectionDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveColorSelectionDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveColorSelectionDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveColorSelectionDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveColorSelectionDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveColorSelectionDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveColorSelectionDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveColorSelectionDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveColorSelectionDialogMethod "setResponseSensitive" o = Gtk.Dialog.DialogSetResponseSensitiveMethodInfo
+    ResolveColorSelectionDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveColorSelectionDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveColorSelectionDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveColorSelectionDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveColorSelectionDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveColorSelectionDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveColorSelectionDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveColorSelectionDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveColorSelectionDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveColorSelectionDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveColorSelectionDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveColorSelectionDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveColorSelectionDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveColorSelectionDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveColorSelectionDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveColorSelectionDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveColorSelectionDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveColorSelectionDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveColorSelectionDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveColorSelectionDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveColorSelectionDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveColorSelectionDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveColorSelectionDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveColorSelectionDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveColorSelectionDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveColorSelectionDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveColorSelectionDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveColorSelectionDialogMethod t ColorSelectionDialog, O.MethodInfo info ColorSelectionDialog p) => OL.IsLabel t (ColorSelectionDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "cancel-button"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cancel-button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorSelectionDialog #cancelButton
+@
+-}
+getColorSelectionDialogCancelButton :: (MonadIO m, IsColorSelectionDialog o) => o -> m (Maybe Gtk.Widget.Widget)
+getColorSelectionDialogCancelButton obj = liftIO $ B.Properties.getObjectPropertyObject obj "cancel-button" Gtk.Widget.Widget
+
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogCancelButtonPropertyInfo
+instance AttrInfo ColorSelectionDialogCancelButtonPropertyInfo where
+    type AttrAllowedOps ColorSelectionDialogCancelButtonPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ColorSelectionDialogCancelButtonPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ColorSelectionDialogCancelButtonPropertyInfo = IsColorSelectionDialog
+    type AttrGetType ColorSelectionDialogCancelButtonPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel ColorSelectionDialogCancelButtonPropertyInfo = "cancel-button"
+    type AttrOrigin ColorSelectionDialogCancelButtonPropertyInfo = ColorSelectionDialog
+    attrGet _ = getColorSelectionDialogCancelButton
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "color-selection"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@color-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorSelectionDialog #colorSelection
+@
+-}
+getColorSelectionDialogColorSelection :: (MonadIO m, IsColorSelectionDialog o) => o -> m Gtk.Widget.Widget
+getColorSelectionDialogColorSelection obj = liftIO $ checkUnexpectedNothing "getColorSelectionDialogColorSelection" $ B.Properties.getObjectPropertyObject obj "color-selection" Gtk.Widget.Widget
+
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogColorSelectionPropertyInfo
+instance AttrInfo ColorSelectionDialogColorSelectionPropertyInfo where
+    type AttrAllowedOps ColorSelectionDialogColorSelectionPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ColorSelectionDialogColorSelectionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ColorSelectionDialogColorSelectionPropertyInfo = IsColorSelectionDialog
+    type AttrGetType ColorSelectionDialogColorSelectionPropertyInfo = Gtk.Widget.Widget
+    type AttrLabel ColorSelectionDialogColorSelectionPropertyInfo = "color-selection"
+    type AttrOrigin ColorSelectionDialogColorSelectionPropertyInfo = ColorSelectionDialog
+    attrGet _ = getColorSelectionDialogColorSelection
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "help-button"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@help-button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorSelectionDialog #helpButton
+@
+-}
+getColorSelectionDialogHelpButton :: (MonadIO m, IsColorSelectionDialog o) => o -> m (Maybe Gtk.Widget.Widget)
+getColorSelectionDialogHelpButton obj = liftIO $ B.Properties.getObjectPropertyObject obj "help-button" Gtk.Widget.Widget
+
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogHelpButtonPropertyInfo
+instance AttrInfo ColorSelectionDialogHelpButtonPropertyInfo where
+    type AttrAllowedOps ColorSelectionDialogHelpButtonPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ColorSelectionDialogHelpButtonPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ColorSelectionDialogHelpButtonPropertyInfo = IsColorSelectionDialog
+    type AttrGetType ColorSelectionDialogHelpButtonPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel ColorSelectionDialogHelpButtonPropertyInfo = "help-button"
+    type AttrOrigin ColorSelectionDialogHelpButtonPropertyInfo = ColorSelectionDialog
+    attrGet _ = getColorSelectionDialogHelpButton
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "ok-button"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@ok-button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' colorSelectionDialog #okButton
+@
+-}
+getColorSelectionDialogOkButton :: (MonadIO m, IsColorSelectionDialog o) => o -> m (Maybe Gtk.Widget.Widget)
+getColorSelectionDialogOkButton obj = liftIO $ B.Properties.getObjectPropertyObject obj "ok-button" Gtk.Widget.Widget
+
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogOkButtonPropertyInfo
+instance AttrInfo ColorSelectionDialogOkButtonPropertyInfo where
+    type AttrAllowedOps ColorSelectionDialogOkButtonPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ColorSelectionDialogOkButtonPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ColorSelectionDialogOkButtonPropertyInfo = IsColorSelectionDialog
+    type AttrGetType ColorSelectionDialogOkButtonPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel ColorSelectionDialogOkButtonPropertyInfo = "ok-button"
+    type AttrOrigin ColorSelectionDialogOkButtonPropertyInfo = ColorSelectionDialog
+    attrGet _ = getColorSelectionDialogOkButton
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ColorSelectionDialog
+type instance O.AttributeList ColorSelectionDialog = ColorSelectionDialogAttributeList
+type ColorSelectionDialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("cancelButton", ColorSelectionDialogCancelButtonPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("colorSelection", ColorSelectionDialogColorSelectionPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("helpButton", ColorSelectionDialogHelpButtonPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("okButton", ColorSelectionDialogOkButtonPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", Gtk.Dialog.DialogUseHeaderBarPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+colorSelectionDialogCancelButton :: AttrLabelProxy "cancelButton"
+colorSelectionDialogCancelButton = AttrLabelProxy
+
+colorSelectionDialogColorSelection :: AttrLabelProxy "colorSelection"
+colorSelectionDialogColorSelection = AttrLabelProxy
+
+colorSelectionDialogHelpButton :: AttrLabelProxy "helpButton"
+colorSelectionDialogHelpButton = AttrLabelProxy
+
+colorSelectionDialogOkButton :: AttrLabelProxy "okButton"
+colorSelectionDialogOkButton = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ColorSelectionDialog = ColorSelectionDialogSignalList
+type ColorSelectionDialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", Gtk.Dialog.DialogCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", Gtk.Dialog.DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ColorSelectionDialog::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string containing the title text for the dialog.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ColorSelectionDialog"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_dialog_new" gtk_color_selection_dialog_new :: 
+    CString ->                              -- title : TBasicType TUTF8
+    IO (Ptr ColorSelectionDialog)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ColorSelectionDialog.ColorSelectionDialog'.
+-}
+colorSelectionDialogNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@title@/: a string containing the title text for the dialog. -}
+    -> m ColorSelectionDialog
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.ColorSelectionDialog.ColorSelectionDialog'. -}
+colorSelectionDialogNew title = liftIO $ do
+    title' <- textToCString title
+    result <- gtk_color_selection_dialog_new title'
+    checkUnexpectedReturnNULL "colorSelectionDialogNew" result
+    result' <- (newObject ColorSelectionDialog) result
+    freeMem title'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ColorSelectionDialog::get_color_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "colorsel", argType = TInterface (Name {namespace = "Gtk", name = "ColorSelectionDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkColorSelectionDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_color_selection_dialog_get_color_selection" gtk_color_selection_dialog_get_color_selection :: 
+    Ptr ColorSelectionDialog ->             -- colorsel : TInterface (Name {namespace = "Gtk", name = "ColorSelectionDialog"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the 'GI.Gtk.Objects.ColorSelection.ColorSelection' widget embedded in the dialog.
+
+/Since: 2.14/
+-}
+colorSelectionDialogGetColorSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsColorSelectionDialog a) =>
+    a
+    {- ^ /@colorsel@/: a 'GI.Gtk.Objects.ColorSelectionDialog.ColorSelectionDialog' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the embedded 'GI.Gtk.Objects.ColorSelection.ColorSelection' -}
+colorSelectionDialogGetColorSelection colorsel = liftIO $ do
+    colorsel' <- unsafeManagedPtrCastPtr colorsel
+    result <- gtk_color_selection_dialog_get_color_selection colorsel'
+    checkUnexpectedReturnNULL "colorSelectionDialogGetColorSelection" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr colorsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogGetColorSelectionMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsColorSelectionDialog a) => O.MethodInfo ColorSelectionDialogGetColorSelectionMethodInfo a signature where
+    overloadedMethod _ = colorSelectionDialogGetColorSelection
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ColorSelectionDialog.hs-boot b/GI/Gtk/Objects/ColorSelectionDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ColorSelectionDialog.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ColorSelectionDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ColorSelectionDialog = ColorSelectionDialog (ManagedPtr ColorSelectionDialog)
+instance GObject ColorSelectionDialog where
+class (GObject o, O.IsDescendantOf ColorSelectionDialog o) => IsColorSelectionDialog o
+instance (GObject o, O.IsDescendantOf ColorSelectionDialog o) => IsColorSelectionDialog o
+instance O.HasParentTypes ColorSelectionDialog
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogCancelButtonPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogColorSelectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogHelpButtonPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogOkButtonPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ColorSelectionDialogGetColorSelectionMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ComboBox.hs b/GI/Gtk/Objects/ComboBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ComboBox.hs
@@ -0,0 +1,4034 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkComboBox is a widget that allows the user to choose from a list of
+valid choices. The GtkComboBox displays the selected choice. When
+activated, the GtkComboBox displays a popup which allows the user to
+make a new choice. The style in which the selected value is displayed,
+and the style of the popup is determined by the current theme. It may
+be similar to a Windows-style combo box.
+
+The GtkComboBox uses the model-view pattern; the list of valid choices
+is specified in the form of a tree model, and the display of the choices
+can be adapted to the data in the model by using cell renderers, as you
+would in a tree view. This is possible since GtkComboBox implements the
+'GI.Gtk.Interfaces.CellLayout.CellLayout' interface. The tree model holding the valid choices is
+not restricted to a flat list, it can be a real tree, and the popup will
+reflect the tree structure.
+
+To allow the user to enter values not in the model, the “has-entry”
+property allows the GtkComboBox to contain a 'GI.Gtk.Objects.Entry.Entry'. This entry
+can be accessed by calling 'GI.Gtk.Objects.Bin.binGetChild' on the combo box.
+
+For a simple list of textual choices, the model-view API of GtkComboBox
+can be a bit overwhelming. In this case, 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' offers a
+simple alternative. Both GtkComboBox and 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' can contain
+an entry.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>combobox
+>├── box.linked
+>│   ╰── button.combo
+>│       ╰── box
+>│           ├── cellview
+>│           ╰── arrow
+>╰── window.popup
+
+
+A normal combobox contains a box with the .linked class, a button
+with the .combo class and inside those buttons, there are a cellview and
+an arrow.
+
+
+=== /plain code/
+>
+>combobox
+>├── box.linked
+>│   ├── entry.combo
+>│   ╰── button.combo
+>│       ╰── box
+>│           ╰── arrow
+>╰── window.popup
+
+
+A GtkComboBox with an entry has a single CSS node with name combobox. It
+contains a box with the .linked class. That box contains an entry and a
+button, both with the .combo class added.
+The button also contains another node with name arrow.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ComboBox
+    ( 
+
+-- * Exported types
+    ComboBox(..)                            ,
+    IsComboBox                              ,
+    toComboBox                              ,
+    noComboBox                              ,
+
+
+ -- * Methods
+-- ** getActive #method:getActive#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetActiveMethodInfo             ,
+#endif
+    comboBoxGetActive                       ,
+
+
+-- ** getActiveId #method:getActiveId#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetActiveIdMethodInfo           ,
+#endif
+    comboBoxGetActiveId                     ,
+
+
+-- ** getActiveIter #method:getActiveIter#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetActiveIterMethodInfo         ,
+#endif
+    comboBoxGetActiveIter                   ,
+
+
+-- ** getAddTearoffs #method:getAddTearoffs#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetAddTearoffsMethodInfo        ,
+#endif
+    comboBoxGetAddTearoffs                  ,
+
+
+-- ** getButtonSensitivity #method:getButtonSensitivity#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetButtonSensitivityMethodInfo  ,
+#endif
+    comboBoxGetButtonSensitivity            ,
+
+
+-- ** getColumnSpanColumn #method:getColumnSpanColumn#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetColumnSpanColumnMethodInfo   ,
+#endif
+    comboBoxGetColumnSpanColumn             ,
+
+
+-- ** getEntryTextColumn #method:getEntryTextColumn#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetEntryTextColumnMethodInfo    ,
+#endif
+    comboBoxGetEntryTextColumn              ,
+
+
+-- ** getFocusOnClick #method:getFocusOnClick#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetFocusOnClickMethodInfo       ,
+#endif
+    comboBoxGetFocusOnClick                 ,
+
+
+-- ** getHasEntry #method:getHasEntry#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetHasEntryMethodInfo           ,
+#endif
+    comboBoxGetHasEntry                     ,
+
+
+-- ** getIdColumn #method:getIdColumn#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetIdColumnMethodInfo           ,
+#endif
+    comboBoxGetIdColumn                     ,
+
+
+-- ** getModel #method:getModel#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetModelMethodInfo              ,
+#endif
+    comboBoxGetModel                        ,
+
+
+-- ** getPopupAccessible #method:getPopupAccessible#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetPopupAccessibleMethodInfo    ,
+#endif
+    comboBoxGetPopupAccessible              ,
+
+
+-- ** getPopupFixedWidth #method:getPopupFixedWidth#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetPopupFixedWidthMethodInfo    ,
+#endif
+    comboBoxGetPopupFixedWidth              ,
+
+
+-- ** getRowSpanColumn #method:getRowSpanColumn#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetRowSpanColumnMethodInfo      ,
+#endif
+    comboBoxGetRowSpanColumn                ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetTitleMethodInfo              ,
+#endif
+    comboBoxGetTitle                        ,
+
+
+-- ** getWrapWidth #method:getWrapWidth#
+
+#if ENABLE_OVERLOADING
+    ComboBoxGetWrapWidthMethodInfo          ,
+#endif
+    comboBoxGetWrapWidth                    ,
+
+
+-- ** new #method:new#
+
+    comboBoxNew                             ,
+
+
+-- ** newWithArea #method:newWithArea#
+
+    comboBoxNewWithArea                     ,
+
+
+-- ** newWithAreaAndEntry #method:newWithAreaAndEntry#
+
+    comboBoxNewWithAreaAndEntry             ,
+
+
+-- ** newWithEntry #method:newWithEntry#
+
+    comboBoxNewWithEntry                    ,
+
+
+-- ** newWithModel #method:newWithModel#
+
+    comboBoxNewWithModel                    ,
+
+
+-- ** newWithModelAndEntry #method:newWithModelAndEntry#
+
+    comboBoxNewWithModelAndEntry            ,
+
+
+-- ** popdown #method:popdown#
+
+#if ENABLE_OVERLOADING
+    ComboBoxPopdownMethodInfo               ,
+#endif
+    comboBoxPopdown                         ,
+
+
+-- ** popup #method:popup#
+
+#if ENABLE_OVERLOADING
+    ComboBoxPopupMethodInfo                 ,
+#endif
+    comboBoxPopup                           ,
+
+
+-- ** popupForDevice #method:popupForDevice#
+
+#if ENABLE_OVERLOADING
+    ComboBoxPopupForDeviceMethodInfo        ,
+#endif
+    comboBoxPopupForDevice                  ,
+
+
+-- ** setActive #method:setActive#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetActiveMethodInfo             ,
+#endif
+    comboBoxSetActive                       ,
+
+
+-- ** setActiveId #method:setActiveId#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetActiveIdMethodInfo           ,
+#endif
+    comboBoxSetActiveId                     ,
+
+
+-- ** setActiveIter #method:setActiveIter#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetActiveIterMethodInfo         ,
+#endif
+    comboBoxSetActiveIter                   ,
+
+
+-- ** setAddTearoffs #method:setAddTearoffs#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetAddTearoffsMethodInfo        ,
+#endif
+    comboBoxSetAddTearoffs                  ,
+
+
+-- ** setButtonSensitivity #method:setButtonSensitivity#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetButtonSensitivityMethodInfo  ,
+#endif
+    comboBoxSetButtonSensitivity            ,
+
+
+-- ** setColumnSpanColumn #method:setColumnSpanColumn#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetColumnSpanColumnMethodInfo   ,
+#endif
+    comboBoxSetColumnSpanColumn             ,
+
+
+-- ** setEntryTextColumn #method:setEntryTextColumn#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetEntryTextColumnMethodInfo    ,
+#endif
+    comboBoxSetEntryTextColumn              ,
+
+
+-- ** setFocusOnClick #method:setFocusOnClick#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetFocusOnClickMethodInfo       ,
+#endif
+    comboBoxSetFocusOnClick                 ,
+
+
+-- ** setIdColumn #method:setIdColumn#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetIdColumnMethodInfo           ,
+#endif
+    comboBoxSetIdColumn                     ,
+
+
+-- ** setModel #method:setModel#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetModelMethodInfo              ,
+#endif
+    comboBoxSetModel                        ,
+
+
+-- ** setPopupFixedWidth #method:setPopupFixedWidth#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetPopupFixedWidthMethodInfo    ,
+#endif
+    comboBoxSetPopupFixedWidth              ,
+
+
+-- ** setRowSeparatorFunc #method:setRowSeparatorFunc#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetRowSeparatorFuncMethodInfo   ,
+#endif
+    comboBoxSetRowSeparatorFunc             ,
+
+
+-- ** setRowSpanColumn #method:setRowSpanColumn#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetRowSpanColumnMethodInfo      ,
+#endif
+    comboBoxSetRowSpanColumn                ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetTitleMethodInfo              ,
+#endif
+    comboBoxSetTitle                        ,
+
+
+-- ** setWrapWidth #method:setWrapWidth#
+
+#if ENABLE_OVERLOADING
+    ComboBoxSetWrapWidthMethodInfo          ,
+#endif
+    comboBoxSetWrapWidth                    ,
+
+
+
+
+ -- * Properties
+-- ** active #attr:active#
+{- | The item which is currently active. If the model is a non-flat treemodel,
+and the active item is not an immediate child of the root of the tree,
+this property has the value
+@gtk_tree_path_get_indices (path)[0]@,
+where @path@ is the 'GI.Gtk.Structs.TreePath.TreePath' of the active item.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxActivePropertyInfo              ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxActive                          ,
+#endif
+    constructComboBoxActive                 ,
+    getComboBoxActive                       ,
+    setComboBoxActive                       ,
+
+
+-- ** activeId #attr:activeId#
+{- | The value of the ID column of the active row.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxActiveIdPropertyInfo            ,
+#endif
+    clearComboBoxActiveId                   ,
+#if ENABLE_OVERLOADING
+    comboBoxActiveId                        ,
+#endif
+    constructComboBoxActiveId               ,
+    getComboBoxActiveId                     ,
+    setComboBoxActiveId                     ,
+
+
+-- ** addTearoffs #attr:addTearoffs#
+{- | The add-tearoffs property controls whether generated menus
+have tearoff menu items.
+
+Note that this only affects menu style combo boxes.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxAddTearoffsPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxAddTearoffs                     ,
+#endif
+    constructComboBoxAddTearoffs            ,
+    getComboBoxAddTearoffs                  ,
+    setComboBoxAddTearoffs                  ,
+
+
+-- ** buttonSensitivity #attr:buttonSensitivity#
+{- | Whether the dropdown button is sensitive when
+the model is empty.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxButtonSensitivityPropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxButtonSensitivity               ,
+#endif
+    constructComboBoxButtonSensitivity      ,
+    getComboBoxButtonSensitivity            ,
+    setComboBoxButtonSensitivity            ,
+
+
+-- ** cellArea #attr:cellArea#
+{- | The 'GI.Gtk.Objects.CellArea.CellArea' used to layout cell renderers for this combo box.
+
+If no area is specified when creating the combo box with 'GI.Gtk.Objects.ComboBox.comboBoxNewWithArea'
+a horizontally oriented 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' will be used.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxCellAreaPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxCellArea                        ,
+#endif
+    constructComboBoxCellArea               ,
+    getComboBoxCellArea                     ,
+
+
+-- ** columnSpanColumn #attr:columnSpanColumn#
+{- | If this is set to a non-negative value, it must be the index of a column
+of type @/G_TYPE_INT/@ in the model. The value in that column for each item
+will determine how many columns that item will span in the popup.
+Therefore, values in this column must be greater than zero, and the sum of
+an item’s column position + span should not exceed 'GI.Gtk.Objects.ComboBox.ComboBox':@/wrap-width/@.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxColumnSpanColumnPropertyInfo    ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxColumnSpanColumn                ,
+#endif
+    constructComboBoxColumnSpanColumn       ,
+    getComboBoxColumnSpanColumn             ,
+    setComboBoxColumnSpanColumn             ,
+
+
+-- ** entryTextColumn #attr:entryTextColumn#
+{- | The column in the combo box\'s model to associate with strings from the entry
+if the combo was created with 'GI.Gtk.Objects.ComboBox.ComboBox':@/has-entry/@ = 'True'.
+
+/Since: 2.24/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxEntryTextColumnPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxEntryTextColumn                 ,
+#endif
+    constructComboBoxEntryTextColumn        ,
+    getComboBoxEntryTextColumn              ,
+    setComboBoxEntryTextColumn              ,
+
+
+-- ** hasEntry #attr:hasEntry#
+{- | Whether the combo box has an entry.
+
+/Since: 2.24/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxHasEntryPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxHasEntry                        ,
+#endif
+    constructComboBoxHasEntry               ,
+    getComboBoxHasEntry                     ,
+
+
+-- ** hasFrame #attr:hasFrame#
+{- | The has-frame property controls whether a frame
+is drawn around the entry.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxHasFramePropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxHasFrame                        ,
+#endif
+    constructComboBoxHasFrame               ,
+    getComboBoxHasFrame                     ,
+    setComboBoxHasFrame                     ,
+
+
+-- ** idColumn #attr:idColumn#
+{- | The column in the combo box\'s model that provides string
+IDs for the values in the model, if != -1.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxIdColumnPropertyInfo            ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxIdColumn                        ,
+#endif
+    constructComboBoxIdColumn               ,
+    getComboBoxIdColumn                     ,
+    setComboBoxIdColumn                     ,
+
+
+-- ** model #attr:model#
+{- | The model from which the combo box takes the values shown
+in the list.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxModelPropertyInfo               ,
+#endif
+    clearComboBoxModel                      ,
+#if ENABLE_OVERLOADING
+    comboBoxModel                           ,
+#endif
+    constructComboBoxModel                  ,
+    getComboBoxModel                        ,
+    setComboBoxModel                        ,
+
+
+-- ** popupFixedWidth #attr:popupFixedWidth#
+{- | Whether the popup\'s width should be a fixed width matching the
+allocated width of the combo box.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxPopupFixedWidthPropertyInfo     ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxPopupFixedWidth                 ,
+#endif
+    constructComboBoxPopupFixedWidth        ,
+    getComboBoxPopupFixedWidth              ,
+    setComboBoxPopupFixedWidth              ,
+
+
+-- ** popupShown #attr:popupShown#
+{- | Whether the combo boxes dropdown is popped up.
+Note that this property is mainly useful, because
+it allows you to connect to notify::popup-shown.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxPopupShownPropertyInfo          ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxPopupShown                      ,
+#endif
+    getComboBoxPopupShown                   ,
+
+
+-- ** rowSpanColumn #attr:rowSpanColumn#
+{- | If this is set to a non-negative value, it must be the index of a column
+of type @/G_TYPE_INT/@ in the model. The value in that column for each item
+will determine how many rows that item will span in the popup. Therefore,
+values in this column must be greater than zero.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxRowSpanColumnPropertyInfo       ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxRowSpanColumn                   ,
+#endif
+    constructComboBoxRowSpanColumn          ,
+    getComboBoxRowSpanColumn                ,
+    setComboBoxRowSpanColumn                ,
+
+
+-- ** tearoffTitle #attr:tearoffTitle#
+{- | A title that may be displayed by the window manager
+when the popup is torn-off.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxTearoffTitlePropertyInfo        ,
+#endif
+    clearComboBoxTearoffTitle               ,
+#if ENABLE_OVERLOADING
+    comboBoxTearoffTitle                    ,
+#endif
+    constructComboBoxTearoffTitle           ,
+    getComboBoxTearoffTitle                 ,
+    setComboBoxTearoffTitle                 ,
+
+
+-- ** wrapWidth #attr:wrapWidth#
+{- | If wrap-width is set to a positive value, items in the popup will be laid
+out along multiple columns, starting a new row on reaching the wrap width.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    ComboBoxWrapWidthPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    comboBoxWrapWidth                       ,
+#endif
+    constructComboBoxWrapWidth              ,
+    getComboBoxWrapWidth                    ,
+    setComboBoxWrapWidth                    ,
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    C_ComboBoxChangedCallback               ,
+    ComboBoxChangedCallback                 ,
+#if ENABLE_OVERLOADING
+    ComboBoxChangedSignalInfo               ,
+#endif
+    afterComboBoxChanged                    ,
+    genClosure_ComboBoxChanged              ,
+    mk_ComboBoxChangedCallback              ,
+    noComboBoxChangedCallback               ,
+    onComboBoxChanged                       ,
+    wrap_ComboBoxChangedCallback            ,
+
+
+-- ** formatEntryText #signal:formatEntryText#
+
+    C_ComboBoxFormatEntryTextCallback       ,
+    ComboBoxFormatEntryTextCallback         ,
+#if ENABLE_OVERLOADING
+    ComboBoxFormatEntryTextSignalInfo       ,
+#endif
+    afterComboBoxFormatEntryText            ,
+    genClosure_ComboBoxFormatEntryText      ,
+    mk_ComboBoxFormatEntryTextCallback      ,
+    noComboBoxFormatEntryTextCallback       ,
+    onComboBoxFormatEntryText               ,
+    wrap_ComboBoxFormatEntryTextCallback    ,
+
+
+-- ** moveActive #signal:moveActive#
+
+    C_ComboBoxMoveActiveCallback            ,
+    ComboBoxMoveActiveCallback              ,
+#if ENABLE_OVERLOADING
+    ComboBoxMoveActiveSignalInfo            ,
+#endif
+    afterComboBoxMoveActive                 ,
+    genClosure_ComboBoxMoveActive           ,
+    mk_ComboBoxMoveActiveCallback           ,
+    noComboBoxMoveActiveCallback            ,
+    onComboBoxMoveActive                    ,
+    wrap_ComboBoxMoveActiveCallback         ,
+
+
+-- ** popdown #signal:popdown#
+
+    C_ComboBoxPopdownCallback               ,
+    ComboBoxPopdownCallback                 ,
+#if ENABLE_OVERLOADING
+    ComboBoxPopdownSignalInfo               ,
+#endif
+    afterComboBoxPopdown                    ,
+    genClosure_ComboBoxPopdown              ,
+    mk_ComboBoxPopdownCallback              ,
+    noComboBoxPopdownCallback               ,
+    onComboBoxPopdown                       ,
+    wrap_ComboBoxPopdownCallback            ,
+
+
+-- ** popup #signal:popup#
+
+    C_ComboBoxPopupCallback                 ,
+    ComboBoxPopupCallback                   ,
+#if ENABLE_OVERLOADING
+    ComboBoxPopupSignalInfo                 ,
+#endif
+    afterComboBoxPopup                      ,
+    genClosure_ComboBoxPopup                ,
+    mk_ComboBoxPopupCallback                ,
+    noComboBoxPopupCallback                 ,
+    onComboBoxPopup                         ,
+    wrap_ComboBoxPopupCallback              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Device as Gdk.Device
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellEditable as Gtk.CellEditable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellArea as Gtk.CellArea
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+
+-- | Memory-managed wrapper type.
+newtype ComboBox = ComboBox (ManagedPtr ComboBox)
+foreign import ccall "gtk_combo_box_get_type"
+    c_gtk_combo_box_get_type :: IO GType
+
+instance GObject ComboBox where
+    gobjectType = c_gtk_combo_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `ComboBox`, for instance with `toComboBox`.
+class (GObject o, O.IsDescendantOf ComboBox o) => IsComboBox o
+instance (GObject o, O.IsDescendantOf ComboBox o) => IsComboBox o
+
+instance O.HasParentTypes ComboBox
+type instance O.ParentTypes ComboBox = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.CellEditable.CellEditable, Gtk.CellLayout.CellLayout]
+
+-- | Cast to `ComboBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toComboBox :: (MonadIO m, IsComboBox o) => o -> m ComboBox
+toComboBox = liftIO . unsafeCastTo ComboBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ComboBox`.
+noComboBox :: Maybe ComboBox
+noComboBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveComboBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveComboBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveComboBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveComboBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveComboBoxMethod "addAttribute" o = Gtk.CellLayout.CellLayoutAddAttributeMethodInfo
+    ResolveComboBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveComboBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveComboBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveComboBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveComboBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveComboBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveComboBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveComboBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveComboBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveComboBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveComboBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveComboBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveComboBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveComboBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveComboBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveComboBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveComboBoxMethod "clear" o = Gtk.CellLayout.CellLayoutClearMethodInfo
+    ResolveComboBoxMethod "clearAttributes" o = Gtk.CellLayout.CellLayoutClearAttributesMethodInfo
+    ResolveComboBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveComboBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveComboBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveComboBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveComboBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveComboBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveComboBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveComboBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveComboBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveComboBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveComboBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveComboBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveComboBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveComboBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveComboBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveComboBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveComboBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveComboBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveComboBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveComboBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveComboBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveComboBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveComboBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveComboBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveComboBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveComboBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveComboBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveComboBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveComboBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveComboBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveComboBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveComboBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveComboBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveComboBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveComboBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveComboBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveComboBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveComboBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveComboBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveComboBoxMethod "editingDone" o = Gtk.CellEditable.CellEditableEditingDoneMethodInfo
+    ResolveComboBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveComboBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveComboBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveComboBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveComboBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveComboBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveComboBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveComboBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveComboBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveComboBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveComboBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveComboBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveComboBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveComboBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveComboBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveComboBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveComboBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveComboBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveComboBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveComboBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveComboBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveComboBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveComboBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveComboBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveComboBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveComboBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveComboBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveComboBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveComboBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveComboBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveComboBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveComboBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveComboBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveComboBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveComboBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveComboBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveComboBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveComboBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveComboBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveComboBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveComboBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveComboBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveComboBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveComboBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveComboBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveComboBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveComboBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveComboBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveComboBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveComboBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveComboBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveComboBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveComboBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveComboBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveComboBoxMethod "packEnd" o = Gtk.CellLayout.CellLayoutPackEndMethodInfo
+    ResolveComboBoxMethod "packStart" o = Gtk.CellLayout.CellLayoutPackStartMethodInfo
+    ResolveComboBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveComboBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveComboBoxMethod "popdown" o = ComboBoxPopdownMethodInfo
+    ResolveComboBoxMethod "popup" o = ComboBoxPopupMethodInfo
+    ResolveComboBoxMethod "popupForDevice" o = ComboBoxPopupForDeviceMethodInfo
+    ResolveComboBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveComboBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveComboBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveComboBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveComboBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveComboBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveComboBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveComboBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveComboBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveComboBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveComboBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveComboBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveComboBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveComboBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveComboBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveComboBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveComboBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveComboBoxMethod "removeWidget" o = Gtk.CellEditable.CellEditableRemoveWidgetMethodInfo
+    ResolveComboBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveComboBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveComboBoxMethod "reorder" o = Gtk.CellLayout.CellLayoutReorderMethodInfo
+    ResolveComboBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveComboBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveComboBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveComboBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveComboBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveComboBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveComboBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveComboBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveComboBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveComboBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveComboBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveComboBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveComboBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveComboBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveComboBoxMethod "startEditing" o = Gtk.CellEditable.CellEditableStartEditingMethodInfo
+    ResolveComboBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveComboBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveComboBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveComboBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveComboBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveComboBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveComboBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveComboBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveComboBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveComboBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveComboBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveComboBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveComboBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveComboBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveComboBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveComboBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveComboBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveComboBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveComboBoxMethod "getActive" o = ComboBoxGetActiveMethodInfo
+    ResolveComboBoxMethod "getActiveId" o = ComboBoxGetActiveIdMethodInfo
+    ResolveComboBoxMethod "getActiveIter" o = ComboBoxGetActiveIterMethodInfo
+    ResolveComboBoxMethod "getAddTearoffs" o = ComboBoxGetAddTearoffsMethodInfo
+    ResolveComboBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveComboBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveComboBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveComboBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveComboBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveComboBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveComboBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveComboBoxMethod "getArea" o = Gtk.CellLayout.CellLayoutGetAreaMethodInfo
+    ResolveComboBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveComboBoxMethod "getButtonSensitivity" o = ComboBoxGetButtonSensitivityMethodInfo
+    ResolveComboBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveComboBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveComboBoxMethod "getCells" o = Gtk.CellLayout.CellLayoutGetCellsMethodInfo
+    ResolveComboBoxMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveComboBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveComboBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveComboBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveComboBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveComboBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveComboBoxMethod "getColumnSpanColumn" o = ComboBoxGetColumnSpanColumnMethodInfo
+    ResolveComboBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveComboBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveComboBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveComboBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveComboBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveComboBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveComboBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveComboBoxMethod "getEntryTextColumn" o = ComboBoxGetEntryTextColumnMethodInfo
+    ResolveComboBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveComboBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveComboBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveComboBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveComboBoxMethod "getFocusOnClick" o = ComboBoxGetFocusOnClickMethodInfo
+    ResolveComboBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveComboBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveComboBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveComboBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveComboBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveComboBoxMethod "getHasEntry" o = ComboBoxGetHasEntryMethodInfo
+    ResolveComboBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveComboBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveComboBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveComboBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveComboBoxMethod "getIdColumn" o = ComboBoxGetIdColumnMethodInfo
+    ResolveComboBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveComboBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveComboBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveComboBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveComboBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveComboBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveComboBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveComboBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveComboBoxMethod "getModel" o = ComboBoxGetModelMethodInfo
+    ResolveComboBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveComboBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveComboBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveComboBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveComboBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveComboBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveComboBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveComboBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveComboBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveComboBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveComboBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveComboBoxMethod "getPopupAccessible" o = ComboBoxGetPopupAccessibleMethodInfo
+    ResolveComboBoxMethod "getPopupFixedWidth" o = ComboBoxGetPopupFixedWidthMethodInfo
+    ResolveComboBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveComboBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveComboBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveComboBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveComboBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveComboBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveComboBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveComboBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveComboBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveComboBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveComboBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveComboBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveComboBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveComboBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveComboBoxMethod "getRowSpanColumn" o = ComboBoxGetRowSpanColumnMethodInfo
+    ResolveComboBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveComboBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveComboBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveComboBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveComboBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveComboBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveComboBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveComboBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveComboBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveComboBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveComboBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveComboBoxMethod "getTitle" o = ComboBoxGetTitleMethodInfo
+    ResolveComboBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveComboBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveComboBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveComboBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveComboBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveComboBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveComboBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveComboBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveComboBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveComboBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveComboBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveComboBoxMethod "getWrapWidth" o = ComboBoxGetWrapWidthMethodInfo
+    ResolveComboBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveComboBoxMethod "setActive" o = ComboBoxSetActiveMethodInfo
+    ResolveComboBoxMethod "setActiveId" o = ComboBoxSetActiveIdMethodInfo
+    ResolveComboBoxMethod "setActiveIter" o = ComboBoxSetActiveIterMethodInfo
+    ResolveComboBoxMethod "setAddTearoffs" o = ComboBoxSetAddTearoffsMethodInfo
+    ResolveComboBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveComboBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveComboBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveComboBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveComboBoxMethod "setButtonSensitivity" o = ComboBoxSetButtonSensitivityMethodInfo
+    ResolveComboBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveComboBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveComboBoxMethod "setCellDataFunc" o = Gtk.CellLayout.CellLayoutSetCellDataFuncMethodInfo
+    ResolveComboBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveComboBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveComboBoxMethod "setColumnSpanColumn" o = ComboBoxSetColumnSpanColumnMethodInfo
+    ResolveComboBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveComboBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveComboBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveComboBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveComboBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveComboBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveComboBoxMethod "setEntryTextColumn" o = ComboBoxSetEntryTextColumnMethodInfo
+    ResolveComboBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveComboBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveComboBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveComboBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveComboBoxMethod "setFocusOnClick" o = ComboBoxSetFocusOnClickMethodInfo
+    ResolveComboBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveComboBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveComboBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveComboBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveComboBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveComboBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveComboBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveComboBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveComboBoxMethod "setIdColumn" o = ComboBoxSetIdColumnMethodInfo
+    ResolveComboBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveComboBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveComboBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveComboBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveComboBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveComboBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveComboBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveComboBoxMethod "setModel" o = ComboBoxSetModelMethodInfo
+    ResolveComboBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveComboBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveComboBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveComboBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveComboBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveComboBoxMethod "setPopupFixedWidth" o = ComboBoxSetPopupFixedWidthMethodInfo
+    ResolveComboBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveComboBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveComboBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveComboBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveComboBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveComboBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveComboBoxMethod "setRowSeparatorFunc" o = ComboBoxSetRowSeparatorFuncMethodInfo
+    ResolveComboBoxMethod "setRowSpanColumn" o = ComboBoxSetRowSpanColumnMethodInfo
+    ResolveComboBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveComboBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveComboBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveComboBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveComboBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveComboBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveComboBoxMethod "setTitle" o = ComboBoxSetTitleMethodInfo
+    ResolveComboBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveComboBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveComboBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveComboBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveComboBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveComboBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveComboBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveComboBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveComboBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveComboBoxMethod "setWrapWidth" o = ComboBoxSetWrapWidthMethodInfo
+    ResolveComboBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveComboBoxMethod t ComboBox, O.MethodInfo info ComboBox p) => OL.IsLabel t (ComboBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ComboBox::changed
+{- |
+The changed signal is emitted when the active
+item is changed. The can be due to the user selecting
+a different item from the list, or due to a
+call to 'GI.Gtk.Objects.ComboBox.comboBoxSetActiveIter'.
+It will also be emitted while typing into the entry of a combo box
+with an entry.
+
+/Since: 2.4/
+-}
+type ComboBoxChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ComboBoxChangedCallback`@.
+noComboBoxChangedCallback :: Maybe ComboBoxChangedCallback
+noComboBoxChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ComboBoxChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ComboBoxChangedCallback`.
+foreign import ccall "wrapper"
+    mk_ComboBoxChangedCallback :: C_ComboBoxChangedCallback -> IO (FunPtr C_ComboBoxChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ComboBoxChanged :: MonadIO m => ComboBoxChangedCallback -> m (GClosure C_ComboBoxChangedCallback)
+genClosure_ComboBoxChanged cb = liftIO $ do
+    let cb' = wrap_ComboBoxChangedCallback cb
+    mk_ComboBoxChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ComboBoxChangedCallback` into a `C_ComboBoxChangedCallback`.
+wrap_ComboBoxChangedCallback ::
+    ComboBoxChangedCallback ->
+    C_ComboBoxChangedCallback
+wrap_ComboBoxChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' comboBox #changed callback
+@
+-}
+onComboBoxChanged :: (IsComboBox a, MonadIO m) => a -> ComboBoxChangedCallback -> m SignalHandlerId
+onComboBoxChanged obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxChangedCallback cb
+    cb'' <- mk_ComboBoxChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' comboBox #changed callback
+@
+-}
+afterComboBoxChanged :: (IsComboBox a, MonadIO m) => a -> ComboBoxChangedCallback -> m SignalHandlerId
+afterComboBoxChanged obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxChangedCallback cb
+    cb'' <- mk_ComboBoxChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- signal ComboBox::format-entry-text
+{- |
+For combo boxes that are created with an entry (See GtkComboBox:has-entry).
+
+A signal which allows you to change how the text displayed in a combo box\'s
+entry is displayed.
+
+Connect a signal handler which returns an allocated string representing
+/@path@/. That string will then be used to set the text in the combo box\'s entry.
+The default signal handler uses the text from the GtkComboBox::entry-text-column
+model column.
+
+Here\'s an example signal handler which fetches data from the model and
+displays it in the entry.
+
+=== /C code/
+>
+>static gchar*
+>format_entry_text_callback (GtkComboBox *combo,
+>                            const gchar *path,
+>                            gpointer     user_data)
+>{
+>  GtkTreeIter iter;
+>  GtkTreeModel model;
+>  gdouble      value;
+>
+>  model = gtk_combo_box_get_model (combo);
+>
+>  gtk_tree_model_get_iter_from_string (model, &iter, path);
+>  gtk_tree_model_get (model, &iter,
+>                      THE_DOUBLE_VALUE_COLUMN, &value,
+>                      -1);
+>
+>  return g_strdup_printf ("%g", value);
+>}
+
+
+/Since: 3.4/
+-}
+type ComboBoxFormatEntryTextCallback =
+    T.Text
+    {- ^ /@path@/: the GtkTreePath string from the combo box\'s current model to format text for -}
+    -> IO T.Text
+    {- ^ __Returns:__ a newly allocated string representing /@path@/
+for the current GtkComboBox model. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ComboBoxFormatEntryTextCallback`@.
+noComboBoxFormatEntryTextCallback :: Maybe ComboBoxFormatEntryTextCallback
+noComboBoxFormatEntryTextCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ComboBoxFormatEntryTextCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO CString
+
+-- | Generate a function pointer callable from C code, from a `C_ComboBoxFormatEntryTextCallback`.
+foreign import ccall "wrapper"
+    mk_ComboBoxFormatEntryTextCallback :: C_ComboBoxFormatEntryTextCallback -> IO (FunPtr C_ComboBoxFormatEntryTextCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ComboBoxFormatEntryText :: MonadIO m => ComboBoxFormatEntryTextCallback -> m (GClosure C_ComboBoxFormatEntryTextCallback)
+genClosure_ComboBoxFormatEntryText cb = liftIO $ do
+    let cb' = wrap_ComboBoxFormatEntryTextCallback cb
+    mk_ComboBoxFormatEntryTextCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ComboBoxFormatEntryTextCallback` into a `C_ComboBoxFormatEntryTextCallback`.
+wrap_ComboBoxFormatEntryTextCallback ::
+    ComboBoxFormatEntryTextCallback ->
+    C_ComboBoxFormatEntryTextCallback
+wrap_ComboBoxFormatEntryTextCallback _cb _ path _ = do
+    path' <- cstringToText path
+    result <- _cb  path'
+    result' <- textToCString result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@format-entry-text@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' comboBox #formatEntryText callback
+@
+-}
+onComboBoxFormatEntryText :: (IsComboBox a, MonadIO m) => a -> ComboBoxFormatEntryTextCallback -> m SignalHandlerId
+onComboBoxFormatEntryText obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxFormatEntryTextCallback cb
+    cb'' <- mk_ComboBoxFormatEntryTextCallback cb'
+    connectSignalFunPtr obj "format-entry-text" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@format-entry-text@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' comboBox #formatEntryText callback
+@
+-}
+afterComboBoxFormatEntryText :: (IsComboBox a, MonadIO m) => a -> ComboBoxFormatEntryTextCallback -> m SignalHandlerId
+afterComboBoxFormatEntryText obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxFormatEntryTextCallback cb
+    cb'' <- mk_ComboBoxFormatEntryTextCallback cb'
+    connectSignalFunPtr obj "format-entry-text" cb'' SignalConnectAfter
+
+
+-- signal ComboBox::move-active
+{- |
+The ::move-active signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to move the active selection.
+
+/Since: 2.12/
+-}
+type ComboBoxMoveActiveCallback =
+    Gtk.Enums.ScrollType
+    {- ^ /@scrollType@/: a 'GI.Gtk.Enums.ScrollType' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ComboBoxMoveActiveCallback`@.
+noComboBoxMoveActiveCallback :: Maybe ComboBoxMoveActiveCallback
+noComboBoxMoveActiveCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ComboBoxMoveActiveCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ComboBoxMoveActiveCallback`.
+foreign import ccall "wrapper"
+    mk_ComboBoxMoveActiveCallback :: C_ComboBoxMoveActiveCallback -> IO (FunPtr C_ComboBoxMoveActiveCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ComboBoxMoveActive :: MonadIO m => ComboBoxMoveActiveCallback -> m (GClosure C_ComboBoxMoveActiveCallback)
+genClosure_ComboBoxMoveActive cb = liftIO $ do
+    let cb' = wrap_ComboBoxMoveActiveCallback cb
+    mk_ComboBoxMoveActiveCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ComboBoxMoveActiveCallback` into a `C_ComboBoxMoveActiveCallback`.
+wrap_ComboBoxMoveActiveCallback ::
+    ComboBoxMoveActiveCallback ->
+    C_ComboBoxMoveActiveCallback
+wrap_ComboBoxMoveActiveCallback _cb _ scrollType _ = do
+    let scrollType' = (toEnum . fromIntegral) scrollType
+    _cb  scrollType'
+
+
+{- |
+Connect a signal handler for the “@move-active@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' comboBox #moveActive callback
+@
+-}
+onComboBoxMoveActive :: (IsComboBox a, MonadIO m) => a -> ComboBoxMoveActiveCallback -> m SignalHandlerId
+onComboBoxMoveActive obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxMoveActiveCallback cb
+    cb'' <- mk_ComboBoxMoveActiveCallback cb'
+    connectSignalFunPtr obj "move-active" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-active@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' comboBox #moveActive callback
+@
+-}
+afterComboBoxMoveActive :: (IsComboBox a, MonadIO m) => a -> ComboBoxMoveActiveCallback -> m SignalHandlerId
+afterComboBoxMoveActive obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxMoveActiveCallback cb
+    cb'' <- mk_ComboBoxMoveActiveCallback cb'
+    connectSignalFunPtr obj "move-active" cb'' SignalConnectAfter
+
+
+-- signal ComboBox::popdown
+{- |
+The ::popdown signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to popdown the combo box list.
+
+The default bindings for this signal are Alt+Up and Escape.
+
+/Since: 2.12/
+-}
+type ComboBoxPopdownCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ComboBoxPopdownCallback`@.
+noComboBoxPopdownCallback :: Maybe ComboBoxPopdownCallback
+noComboBoxPopdownCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ComboBoxPopdownCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_ComboBoxPopdownCallback`.
+foreign import ccall "wrapper"
+    mk_ComboBoxPopdownCallback :: C_ComboBoxPopdownCallback -> IO (FunPtr C_ComboBoxPopdownCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ComboBoxPopdown :: MonadIO m => ComboBoxPopdownCallback -> m (GClosure C_ComboBoxPopdownCallback)
+genClosure_ComboBoxPopdown cb = liftIO $ do
+    let cb' = wrap_ComboBoxPopdownCallback cb
+    mk_ComboBoxPopdownCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ComboBoxPopdownCallback` into a `C_ComboBoxPopdownCallback`.
+wrap_ComboBoxPopdownCallback ::
+    ComboBoxPopdownCallback ->
+    C_ComboBoxPopdownCallback
+wrap_ComboBoxPopdownCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@popdown@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' comboBox #popdown callback
+@
+-}
+onComboBoxPopdown :: (IsComboBox a, MonadIO m) => a -> ComboBoxPopdownCallback -> m SignalHandlerId
+onComboBoxPopdown obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxPopdownCallback cb
+    cb'' <- mk_ComboBoxPopdownCallback cb'
+    connectSignalFunPtr obj "popdown" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@popdown@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' comboBox #popdown callback
+@
+-}
+afterComboBoxPopdown :: (IsComboBox a, MonadIO m) => a -> ComboBoxPopdownCallback -> m SignalHandlerId
+afterComboBoxPopdown obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxPopdownCallback cb
+    cb'' <- mk_ComboBoxPopdownCallback cb'
+    connectSignalFunPtr obj "popdown" cb'' SignalConnectAfter
+
+
+-- signal ComboBox::popup
+{- |
+The ::popup signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to popup the combo box list.
+
+The default binding for this signal is Alt+Down.
+
+/Since: 2.12/
+-}
+type ComboBoxPopupCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ComboBoxPopupCallback`@.
+noComboBoxPopupCallback :: Maybe ComboBoxPopupCallback
+noComboBoxPopupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ComboBoxPopupCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ComboBoxPopupCallback`.
+foreign import ccall "wrapper"
+    mk_ComboBoxPopupCallback :: C_ComboBoxPopupCallback -> IO (FunPtr C_ComboBoxPopupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ComboBoxPopup :: MonadIO m => ComboBoxPopupCallback -> m (GClosure C_ComboBoxPopupCallback)
+genClosure_ComboBoxPopup cb = liftIO $ do
+    let cb' = wrap_ComboBoxPopupCallback cb
+    mk_ComboBoxPopupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ComboBoxPopupCallback` into a `C_ComboBoxPopupCallback`.
+wrap_ComboBoxPopupCallback ::
+    ComboBoxPopupCallback ->
+    C_ComboBoxPopupCallback
+wrap_ComboBoxPopupCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@popup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' comboBox #popup callback
+@
+-}
+onComboBoxPopup :: (IsComboBox a, MonadIO m) => a -> ComboBoxPopupCallback -> m SignalHandlerId
+onComboBoxPopup obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxPopupCallback cb
+    cb'' <- mk_ComboBoxPopupCallback cb'
+    connectSignalFunPtr obj "popup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@popup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' comboBox #popup callback
+@
+-}
+afterComboBoxPopup :: (IsComboBox a, MonadIO m) => a -> ComboBoxPopupCallback -> m SignalHandlerId
+afterComboBoxPopup obj cb = liftIO $ do
+    let cb' = wrap_ComboBoxPopupCallback cb
+    cb'' <- mk_ComboBoxPopupCallback cb'
+    connectSignalFunPtr obj "popup" cb'' SignalConnectAfter
+
+
+-- VVV Prop "active"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #active
+@
+-}
+getComboBoxActive :: (MonadIO m, IsComboBox o) => o -> m Int32
+getComboBoxActive obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxActive :: (MonadIO m, IsComboBox o) => o -> Int32 -> m ()
+setComboBoxActive obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxActive :: (IsComboBox o) => Int32 -> IO (GValueConstruct o)
+constructComboBoxActive val = B.Properties.constructObjectPropertyInt32 "active" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxActivePropertyInfo
+instance AttrInfo ComboBoxActivePropertyInfo where
+    type AttrAllowedOps ComboBoxActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxActivePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ComboBoxActivePropertyInfo = IsComboBox
+    type AttrGetType ComboBoxActivePropertyInfo = Int32
+    type AttrLabel ComboBoxActivePropertyInfo = "active"
+    type AttrOrigin ComboBoxActivePropertyInfo = ComboBox
+    attrGet _ = getComboBoxActive
+    attrSet _ = setComboBoxActive
+    attrConstruct _ = constructComboBoxActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "active-id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@active-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #activeId
+@
+-}
+getComboBoxActiveId :: (MonadIO m, IsComboBox o) => o -> m (Maybe T.Text)
+getComboBoxActiveId obj = liftIO $ B.Properties.getObjectPropertyString obj "active-id"
+
+{- |
+Set the value of the “@active-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #activeId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxActiveId :: (MonadIO m, IsComboBox o) => o -> T.Text -> m ()
+setComboBoxActiveId obj val = liftIO $ B.Properties.setObjectPropertyString obj "active-id" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxActiveId :: (IsComboBox o) => T.Text -> IO (GValueConstruct o)
+constructComboBoxActiveId val = B.Properties.constructObjectPropertyString "active-id" (Just val)
+
+{- |
+Set the value of the “@active-id@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #activeId
+@
+-}
+clearComboBoxActiveId :: (MonadIO m, IsComboBox o) => o -> m ()
+clearComboBoxActiveId obj = liftIO $ B.Properties.setObjectPropertyString obj "active-id" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ComboBoxActiveIdPropertyInfo
+instance AttrInfo ComboBoxActiveIdPropertyInfo where
+    type AttrAllowedOps ComboBoxActiveIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ComboBoxActiveIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ComboBoxActiveIdPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxActiveIdPropertyInfo = (Maybe T.Text)
+    type AttrLabel ComboBoxActiveIdPropertyInfo = "active-id"
+    type AttrOrigin ComboBoxActiveIdPropertyInfo = ComboBox
+    attrGet _ = getComboBoxActiveId
+    attrSet _ = setComboBoxActiveId
+    attrConstruct _ = constructComboBoxActiveId
+    attrClear _ = clearComboBoxActiveId
+#endif
+
+-- VVV Prop "add-tearoffs"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@add-tearoffs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #addTearoffs
+@
+-}
+getComboBoxAddTearoffs :: (MonadIO m, IsComboBox o) => o -> m Bool
+getComboBoxAddTearoffs obj = liftIO $ B.Properties.getObjectPropertyBool obj "add-tearoffs"
+
+{- |
+Set the value of the “@add-tearoffs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #addTearoffs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxAddTearoffs :: (MonadIO m, IsComboBox o) => o -> Bool -> m ()
+setComboBoxAddTearoffs obj val = liftIO $ B.Properties.setObjectPropertyBool obj "add-tearoffs" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@add-tearoffs@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxAddTearoffs :: (IsComboBox o) => Bool -> IO (GValueConstruct o)
+constructComboBoxAddTearoffs val = B.Properties.constructObjectPropertyBool "add-tearoffs" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxAddTearoffsPropertyInfo
+instance AttrInfo ComboBoxAddTearoffsPropertyInfo where
+    type AttrAllowedOps ComboBoxAddTearoffsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxAddTearoffsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ComboBoxAddTearoffsPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxAddTearoffsPropertyInfo = Bool
+    type AttrLabel ComboBoxAddTearoffsPropertyInfo = "add-tearoffs"
+    type AttrOrigin ComboBoxAddTearoffsPropertyInfo = ComboBox
+    attrGet _ = getComboBoxAddTearoffs
+    attrSet _ = setComboBoxAddTearoffs
+    attrConstruct _ = constructComboBoxAddTearoffs
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "button-sensitivity"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SensitivityType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@button-sensitivity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #buttonSensitivity
+@
+-}
+getComboBoxButtonSensitivity :: (MonadIO m, IsComboBox o) => o -> m Gtk.Enums.SensitivityType
+getComboBoxButtonSensitivity obj = liftIO $ B.Properties.getObjectPropertyEnum obj "button-sensitivity"
+
+{- |
+Set the value of the “@button-sensitivity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #buttonSensitivity 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxButtonSensitivity :: (MonadIO m, IsComboBox o) => o -> Gtk.Enums.SensitivityType -> m ()
+setComboBoxButtonSensitivity obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "button-sensitivity" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@button-sensitivity@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxButtonSensitivity :: (IsComboBox o) => Gtk.Enums.SensitivityType -> IO (GValueConstruct o)
+constructComboBoxButtonSensitivity val = B.Properties.constructObjectPropertyEnum "button-sensitivity" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxButtonSensitivityPropertyInfo
+instance AttrInfo ComboBoxButtonSensitivityPropertyInfo where
+    type AttrAllowedOps ComboBoxButtonSensitivityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxButtonSensitivityPropertyInfo = (~) Gtk.Enums.SensitivityType
+    type AttrBaseTypeConstraint ComboBoxButtonSensitivityPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxButtonSensitivityPropertyInfo = Gtk.Enums.SensitivityType
+    type AttrLabel ComboBoxButtonSensitivityPropertyInfo = "button-sensitivity"
+    type AttrOrigin ComboBoxButtonSensitivityPropertyInfo = ComboBox
+    attrGet _ = getComboBoxButtonSensitivity
+    attrSet _ = setComboBoxButtonSensitivity
+    attrConstruct _ = constructComboBoxButtonSensitivity
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "cell-area"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellArea"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cell-area@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #cellArea
+@
+-}
+getComboBoxCellArea :: (MonadIO m, IsComboBox o) => o -> m (Maybe Gtk.CellArea.CellArea)
+getComboBoxCellArea obj = liftIO $ B.Properties.getObjectPropertyObject obj "cell-area" Gtk.CellArea.CellArea
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-area@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxCellArea :: (IsComboBox o, Gtk.CellArea.IsCellArea a) => a -> IO (GValueConstruct o)
+constructComboBoxCellArea val = B.Properties.constructObjectPropertyObject "cell-area" (Just val)
+
+#if ENABLE_OVERLOADING
+data ComboBoxCellAreaPropertyInfo
+instance AttrInfo ComboBoxCellAreaPropertyInfo where
+    type AttrAllowedOps ComboBoxCellAreaPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ComboBoxCellAreaPropertyInfo = Gtk.CellArea.IsCellArea
+    type AttrBaseTypeConstraint ComboBoxCellAreaPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxCellAreaPropertyInfo = (Maybe Gtk.CellArea.CellArea)
+    type AttrLabel ComboBoxCellAreaPropertyInfo = "cell-area"
+    type AttrOrigin ComboBoxCellAreaPropertyInfo = ComboBox
+    attrGet _ = getComboBoxCellArea
+    attrSet _ = undefined
+    attrConstruct _ = constructComboBoxCellArea
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "column-span-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@column-span-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #columnSpanColumn
+@
+-}
+getComboBoxColumnSpanColumn :: (MonadIO m, IsComboBox o) => o -> m Int32
+getComboBoxColumnSpanColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "column-span-column"
+
+{- |
+Set the value of the “@column-span-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #columnSpanColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxColumnSpanColumn :: (MonadIO m, IsComboBox o) => o -> Int32 -> m ()
+setComboBoxColumnSpanColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "column-span-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@column-span-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxColumnSpanColumn :: (IsComboBox o) => Int32 -> IO (GValueConstruct o)
+constructComboBoxColumnSpanColumn val = B.Properties.constructObjectPropertyInt32 "column-span-column" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxColumnSpanColumnPropertyInfo
+instance AttrInfo ComboBoxColumnSpanColumnPropertyInfo where
+    type AttrAllowedOps ComboBoxColumnSpanColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxColumnSpanColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ComboBoxColumnSpanColumnPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxColumnSpanColumnPropertyInfo = Int32
+    type AttrLabel ComboBoxColumnSpanColumnPropertyInfo = "column-span-column"
+    type AttrOrigin ComboBoxColumnSpanColumnPropertyInfo = ComboBox
+    attrGet _ = getComboBoxColumnSpanColumn
+    attrSet _ = setComboBoxColumnSpanColumn
+    attrConstruct _ = constructComboBoxColumnSpanColumn
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "entry-text-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@entry-text-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #entryTextColumn
+@
+-}
+getComboBoxEntryTextColumn :: (MonadIO m, IsComboBox o) => o -> m Int32
+getComboBoxEntryTextColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "entry-text-column"
+
+{- |
+Set the value of the “@entry-text-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #entryTextColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxEntryTextColumn :: (MonadIO m, IsComboBox o) => o -> Int32 -> m ()
+setComboBoxEntryTextColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "entry-text-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@entry-text-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxEntryTextColumn :: (IsComboBox o) => Int32 -> IO (GValueConstruct o)
+constructComboBoxEntryTextColumn val = B.Properties.constructObjectPropertyInt32 "entry-text-column" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxEntryTextColumnPropertyInfo
+instance AttrInfo ComboBoxEntryTextColumnPropertyInfo where
+    type AttrAllowedOps ComboBoxEntryTextColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxEntryTextColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ComboBoxEntryTextColumnPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxEntryTextColumnPropertyInfo = Int32
+    type AttrLabel ComboBoxEntryTextColumnPropertyInfo = "entry-text-column"
+    type AttrOrigin ComboBoxEntryTextColumnPropertyInfo = ComboBox
+    attrGet _ = getComboBoxEntryTextColumn
+    attrSet _ = setComboBoxEntryTextColumn
+    attrConstruct _ = constructComboBoxEntryTextColumn
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-entry"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@has-entry@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #hasEntry
+@
+-}
+getComboBoxHasEntry :: (MonadIO m, IsComboBox o) => o -> m Bool
+getComboBoxHasEntry obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-entry"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-entry@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxHasEntry :: (IsComboBox o) => Bool -> IO (GValueConstruct o)
+constructComboBoxHasEntry val = B.Properties.constructObjectPropertyBool "has-entry" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxHasEntryPropertyInfo
+instance AttrInfo ComboBoxHasEntryPropertyInfo where
+    type AttrAllowedOps ComboBoxHasEntryPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxHasEntryPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ComboBoxHasEntryPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxHasEntryPropertyInfo = Bool
+    type AttrLabel ComboBoxHasEntryPropertyInfo = "has-entry"
+    type AttrOrigin ComboBoxHasEntryPropertyInfo = ComboBox
+    attrGet _ = getComboBoxHasEntry
+    attrSet _ = undefined
+    attrConstruct _ = constructComboBoxHasEntry
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-frame"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@has-frame@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #hasFrame
+@
+-}
+getComboBoxHasFrame :: (MonadIO m, IsComboBox o) => o -> m Bool
+getComboBoxHasFrame obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-frame"
+
+{- |
+Set the value of the “@has-frame@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #hasFrame 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxHasFrame :: (MonadIO m, IsComboBox o) => o -> Bool -> m ()
+setComboBoxHasFrame obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-frame" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-frame@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxHasFrame :: (IsComboBox o) => Bool -> IO (GValueConstruct o)
+constructComboBoxHasFrame val = B.Properties.constructObjectPropertyBool "has-frame" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxHasFramePropertyInfo
+instance AttrInfo ComboBoxHasFramePropertyInfo where
+    type AttrAllowedOps ComboBoxHasFramePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxHasFramePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ComboBoxHasFramePropertyInfo = IsComboBox
+    type AttrGetType ComboBoxHasFramePropertyInfo = Bool
+    type AttrLabel ComboBoxHasFramePropertyInfo = "has-frame"
+    type AttrOrigin ComboBoxHasFramePropertyInfo = ComboBox
+    attrGet _ = getComboBoxHasFrame
+    attrSet _ = setComboBoxHasFrame
+    attrConstruct _ = constructComboBoxHasFrame
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "id-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@id-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #idColumn
+@
+-}
+getComboBoxIdColumn :: (MonadIO m, IsComboBox o) => o -> m Int32
+getComboBoxIdColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "id-column"
+
+{- |
+Set the value of the “@id-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #idColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxIdColumn :: (MonadIO m, IsComboBox o) => o -> Int32 -> m ()
+setComboBoxIdColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "id-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@id-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxIdColumn :: (IsComboBox o) => Int32 -> IO (GValueConstruct o)
+constructComboBoxIdColumn val = B.Properties.constructObjectPropertyInt32 "id-column" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxIdColumnPropertyInfo
+instance AttrInfo ComboBoxIdColumnPropertyInfo where
+    type AttrAllowedOps ComboBoxIdColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxIdColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ComboBoxIdColumnPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxIdColumnPropertyInfo = Int32
+    type AttrLabel ComboBoxIdColumnPropertyInfo = "id-column"
+    type AttrOrigin ComboBoxIdColumnPropertyInfo = ComboBox
+    attrGet _ = getComboBoxIdColumn
+    attrSet _ = setComboBoxIdColumn
+    attrConstruct _ = constructComboBoxIdColumn
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "model"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #model
+@
+-}
+getComboBoxModel :: (MonadIO m, IsComboBox o) => o -> m Gtk.TreeModel.TreeModel
+getComboBoxModel obj = liftIO $ checkUnexpectedNothing "getComboBoxModel" $ B.Properties.getObjectPropertyObject obj "model" Gtk.TreeModel.TreeModel
+
+{- |
+Set the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #model 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxModel :: (MonadIO m, IsComboBox o, Gtk.TreeModel.IsTreeModel a) => o -> a -> m ()
+setComboBoxModel obj val = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxModel :: (IsComboBox o, Gtk.TreeModel.IsTreeModel a) => a -> IO (GValueConstruct o)
+constructComboBoxModel val = B.Properties.constructObjectPropertyObject "model" (Just val)
+
+{- |
+Set the value of the “@model@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #model
+@
+-}
+clearComboBoxModel :: (MonadIO m, IsComboBox o) => o -> m ()
+clearComboBoxModel obj = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Nothing :: Maybe Gtk.TreeModel.TreeModel)
+
+#if ENABLE_OVERLOADING
+data ComboBoxModelPropertyInfo
+instance AttrInfo ComboBoxModelPropertyInfo where
+    type AttrAllowedOps ComboBoxModelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ComboBoxModelPropertyInfo = Gtk.TreeModel.IsTreeModel
+    type AttrBaseTypeConstraint ComboBoxModelPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxModelPropertyInfo = Gtk.TreeModel.TreeModel
+    type AttrLabel ComboBoxModelPropertyInfo = "model"
+    type AttrOrigin ComboBoxModelPropertyInfo = ComboBox
+    attrGet _ = getComboBoxModel
+    attrSet _ = setComboBoxModel
+    attrConstruct _ = constructComboBoxModel
+    attrClear _ = clearComboBoxModel
+#endif
+
+-- VVV Prop "popup-fixed-width"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@popup-fixed-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #popupFixedWidth
+@
+-}
+getComboBoxPopupFixedWidth :: (MonadIO m, IsComboBox o) => o -> m Bool
+getComboBoxPopupFixedWidth obj = liftIO $ B.Properties.getObjectPropertyBool obj "popup-fixed-width"
+
+{- |
+Set the value of the “@popup-fixed-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #popupFixedWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxPopupFixedWidth :: (MonadIO m, IsComboBox o) => o -> Bool -> m ()
+setComboBoxPopupFixedWidth obj val = liftIO $ B.Properties.setObjectPropertyBool obj "popup-fixed-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@popup-fixed-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxPopupFixedWidth :: (IsComboBox o) => Bool -> IO (GValueConstruct o)
+constructComboBoxPopupFixedWidth val = B.Properties.constructObjectPropertyBool "popup-fixed-width" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxPopupFixedWidthPropertyInfo
+instance AttrInfo ComboBoxPopupFixedWidthPropertyInfo where
+    type AttrAllowedOps ComboBoxPopupFixedWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxPopupFixedWidthPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ComboBoxPopupFixedWidthPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxPopupFixedWidthPropertyInfo = Bool
+    type AttrLabel ComboBoxPopupFixedWidthPropertyInfo = "popup-fixed-width"
+    type AttrOrigin ComboBoxPopupFixedWidthPropertyInfo = ComboBox
+    attrGet _ = getComboBoxPopupFixedWidth
+    attrSet _ = setComboBoxPopupFixedWidth
+    attrConstruct _ = constructComboBoxPopupFixedWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "popup-shown"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@popup-shown@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #popupShown
+@
+-}
+getComboBoxPopupShown :: (MonadIO m, IsComboBox o) => o -> m Bool
+getComboBoxPopupShown obj = liftIO $ B.Properties.getObjectPropertyBool obj "popup-shown"
+
+#if ENABLE_OVERLOADING
+data ComboBoxPopupShownPropertyInfo
+instance AttrInfo ComboBoxPopupShownPropertyInfo where
+    type AttrAllowedOps ComboBoxPopupShownPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxPopupShownPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ComboBoxPopupShownPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxPopupShownPropertyInfo = Bool
+    type AttrLabel ComboBoxPopupShownPropertyInfo = "popup-shown"
+    type AttrOrigin ComboBoxPopupShownPropertyInfo = ComboBox
+    attrGet _ = getComboBoxPopupShown
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "row-span-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@row-span-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #rowSpanColumn
+@
+-}
+getComboBoxRowSpanColumn :: (MonadIO m, IsComboBox o) => o -> m Int32
+getComboBoxRowSpanColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "row-span-column"
+
+{- |
+Set the value of the “@row-span-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #rowSpanColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxRowSpanColumn :: (MonadIO m, IsComboBox o) => o -> Int32 -> m ()
+setComboBoxRowSpanColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "row-span-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@row-span-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxRowSpanColumn :: (IsComboBox o) => Int32 -> IO (GValueConstruct o)
+constructComboBoxRowSpanColumn val = B.Properties.constructObjectPropertyInt32 "row-span-column" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxRowSpanColumnPropertyInfo
+instance AttrInfo ComboBoxRowSpanColumnPropertyInfo where
+    type AttrAllowedOps ComboBoxRowSpanColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxRowSpanColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ComboBoxRowSpanColumnPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxRowSpanColumnPropertyInfo = Int32
+    type AttrLabel ComboBoxRowSpanColumnPropertyInfo = "row-span-column"
+    type AttrOrigin ComboBoxRowSpanColumnPropertyInfo = ComboBox
+    attrGet _ = getComboBoxRowSpanColumn
+    attrSet _ = setComboBoxRowSpanColumn
+    attrConstruct _ = constructComboBoxRowSpanColumn
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tearoff-title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@tearoff-title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #tearoffTitle
+@
+-}
+getComboBoxTearoffTitle :: (MonadIO m, IsComboBox o) => o -> m (Maybe T.Text)
+getComboBoxTearoffTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "tearoff-title"
+
+{- |
+Set the value of the “@tearoff-title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #tearoffTitle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxTearoffTitle :: (MonadIO m, IsComboBox o) => o -> T.Text -> m ()
+setComboBoxTearoffTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "tearoff-title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tearoff-title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxTearoffTitle :: (IsComboBox o) => T.Text -> IO (GValueConstruct o)
+constructComboBoxTearoffTitle val = B.Properties.constructObjectPropertyString "tearoff-title" (Just val)
+
+{- |
+Set the value of the “@tearoff-title@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tearoffTitle
+@
+-}
+clearComboBoxTearoffTitle :: (MonadIO m, IsComboBox o) => o -> m ()
+clearComboBoxTearoffTitle obj = liftIO $ B.Properties.setObjectPropertyString obj "tearoff-title" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ComboBoxTearoffTitlePropertyInfo
+instance AttrInfo ComboBoxTearoffTitlePropertyInfo where
+    type AttrAllowedOps ComboBoxTearoffTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ComboBoxTearoffTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ComboBoxTearoffTitlePropertyInfo = IsComboBox
+    type AttrGetType ComboBoxTearoffTitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel ComboBoxTearoffTitlePropertyInfo = "tearoff-title"
+    type AttrOrigin ComboBoxTearoffTitlePropertyInfo = ComboBox
+    attrGet _ = getComboBoxTearoffTitle
+    attrSet _ = setComboBoxTearoffTitle
+    attrConstruct _ = constructComboBoxTearoffTitle
+    attrClear _ = clearComboBoxTearoffTitle
+#endif
+
+-- VVV Prop "wrap-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@wrap-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' comboBox #wrapWidth
+@
+-}
+getComboBoxWrapWidth :: (MonadIO m, IsComboBox o) => o -> m Int32
+getComboBoxWrapWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "wrap-width"
+
+{- |
+Set the value of the “@wrap-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' comboBox [ #wrapWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setComboBoxWrapWidth :: (MonadIO m, IsComboBox o) => o -> Int32 -> m ()
+setComboBoxWrapWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "wrap-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructComboBoxWrapWidth :: (IsComboBox o) => Int32 -> IO (GValueConstruct o)
+constructComboBoxWrapWidth val = B.Properties.constructObjectPropertyInt32 "wrap-width" val
+
+#if ENABLE_OVERLOADING
+data ComboBoxWrapWidthPropertyInfo
+instance AttrInfo ComboBoxWrapWidthPropertyInfo where
+    type AttrAllowedOps ComboBoxWrapWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ComboBoxWrapWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ComboBoxWrapWidthPropertyInfo = IsComboBox
+    type AttrGetType ComboBoxWrapWidthPropertyInfo = Int32
+    type AttrLabel ComboBoxWrapWidthPropertyInfo = "wrap-width"
+    type AttrOrigin ComboBoxWrapWidthPropertyInfo = ComboBox
+    attrGet _ = getComboBoxWrapWidth
+    attrSet _ = setComboBoxWrapWidth
+    attrConstruct _ = constructComboBoxWrapWidth
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ComboBox
+type instance O.AttributeList ComboBox = ComboBoxAttributeList
+type ComboBoxAttributeList = ('[ '("active", ComboBoxActivePropertyInfo), '("activeId", ComboBoxActiveIdPropertyInfo), '("addTearoffs", ComboBoxAddTearoffsPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("buttonSensitivity", ComboBoxButtonSensitivityPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("cellArea", ComboBoxCellAreaPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("columnSpanColumn", ComboBoxColumnSpanColumnPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("editingCanceled", Gtk.CellEditable.CellEditableEditingCanceledPropertyInfo), '("entryTextColumn", ComboBoxEntryTextColumnPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasEntry", ComboBoxHasEntryPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasFrame", ComboBoxHasFramePropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("idColumn", ComboBoxIdColumnPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("model", ComboBoxModelPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("popupFixedWidth", ComboBoxPopupFixedWidthPropertyInfo), '("popupShown", ComboBoxPopupShownPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rowSpanColumn", ComboBoxRowSpanColumnPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tearoffTitle", ComboBoxTearoffTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("wrapWidth", ComboBoxWrapWidthPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+comboBoxActive :: AttrLabelProxy "active"
+comboBoxActive = AttrLabelProxy
+
+comboBoxActiveId :: AttrLabelProxy "activeId"
+comboBoxActiveId = AttrLabelProxy
+
+comboBoxAddTearoffs :: AttrLabelProxy "addTearoffs"
+comboBoxAddTearoffs = AttrLabelProxy
+
+comboBoxButtonSensitivity :: AttrLabelProxy "buttonSensitivity"
+comboBoxButtonSensitivity = AttrLabelProxy
+
+comboBoxCellArea :: AttrLabelProxy "cellArea"
+comboBoxCellArea = AttrLabelProxy
+
+comboBoxColumnSpanColumn :: AttrLabelProxy "columnSpanColumn"
+comboBoxColumnSpanColumn = AttrLabelProxy
+
+comboBoxEntryTextColumn :: AttrLabelProxy "entryTextColumn"
+comboBoxEntryTextColumn = AttrLabelProxy
+
+comboBoxHasEntry :: AttrLabelProxy "hasEntry"
+comboBoxHasEntry = AttrLabelProxy
+
+comboBoxHasFrame :: AttrLabelProxy "hasFrame"
+comboBoxHasFrame = AttrLabelProxy
+
+comboBoxIdColumn :: AttrLabelProxy "idColumn"
+comboBoxIdColumn = AttrLabelProxy
+
+comboBoxModel :: AttrLabelProxy "model"
+comboBoxModel = AttrLabelProxy
+
+comboBoxPopupFixedWidth :: AttrLabelProxy "popupFixedWidth"
+comboBoxPopupFixedWidth = AttrLabelProxy
+
+comboBoxPopupShown :: AttrLabelProxy "popupShown"
+comboBoxPopupShown = AttrLabelProxy
+
+comboBoxRowSpanColumn :: AttrLabelProxy "rowSpanColumn"
+comboBoxRowSpanColumn = AttrLabelProxy
+
+comboBoxTearoffTitle :: AttrLabelProxy "tearoffTitle"
+comboBoxTearoffTitle = AttrLabelProxy
+
+comboBoxWrapWidth :: AttrLabelProxy "wrapWidth"
+comboBoxWrapWidth = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ComboBoxChangedSignalInfo
+instance SignalInfo ComboBoxChangedSignalInfo where
+    type HaskellCallbackType ComboBoxChangedSignalInfo = ComboBoxChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ComboBoxChangedCallback cb
+        cb'' <- mk_ComboBoxChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+data ComboBoxFormatEntryTextSignalInfo
+instance SignalInfo ComboBoxFormatEntryTextSignalInfo where
+    type HaskellCallbackType ComboBoxFormatEntryTextSignalInfo = ComboBoxFormatEntryTextCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ComboBoxFormatEntryTextCallback cb
+        cb'' <- mk_ComboBoxFormatEntryTextCallback cb'
+        connectSignalFunPtr obj "format-entry-text" cb'' connectMode
+
+data ComboBoxMoveActiveSignalInfo
+instance SignalInfo ComboBoxMoveActiveSignalInfo where
+    type HaskellCallbackType ComboBoxMoveActiveSignalInfo = ComboBoxMoveActiveCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ComboBoxMoveActiveCallback cb
+        cb'' <- mk_ComboBoxMoveActiveCallback cb'
+        connectSignalFunPtr obj "move-active" cb'' connectMode
+
+data ComboBoxPopdownSignalInfo
+instance SignalInfo ComboBoxPopdownSignalInfo where
+    type HaskellCallbackType ComboBoxPopdownSignalInfo = ComboBoxPopdownCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ComboBoxPopdownCallback cb
+        cb'' <- mk_ComboBoxPopdownCallback cb'
+        connectSignalFunPtr obj "popdown" cb'' connectMode
+
+data ComboBoxPopupSignalInfo
+instance SignalInfo ComboBoxPopupSignalInfo where
+    type HaskellCallbackType ComboBoxPopupSignalInfo = ComboBoxPopupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ComboBoxPopupCallback cb
+        cb'' <- mk_ComboBoxPopupCallback cb'
+        connectSignalFunPtr obj "popup" cb'' connectMode
+
+type instance O.SignalList ComboBox = ComboBoxSignalList
+type ComboBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changed", ComboBoxChangedSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("editingDone", Gtk.CellEditable.CellEditableEditingDoneSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("formatEntryText", ComboBoxFormatEntryTextSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveActive", ComboBoxMoveActiveSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popdown", ComboBoxPopdownSignalInfo), '("popup", ComboBoxPopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("removeWidget", Gtk.CellEditable.CellEditableRemoveWidgetSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ComboBox::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ComboBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_new" gtk_combo_box_new :: 
+    IO (Ptr ComboBox)
+
+{- |
+Creates a new empty 'GI.Gtk.Objects.ComboBox.ComboBox'.
+
+/Since: 2.4/
+-}
+comboBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ComboBox
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ComboBox.ComboBox'. -}
+comboBoxNew  = liftIO $ do
+    result <- gtk_combo_box_new
+    checkUnexpectedReturnNULL "comboBoxNew" result
+    result' <- (newObject ComboBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ComboBox::new_with_area
+-- method type : Constructor
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellArea to use to layout cell renderers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ComboBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_new_with_area" gtk_combo_box_new_with_area :: 
+    Ptr Gtk.CellArea.CellArea ->            -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO (Ptr ComboBox)
+
+{- |
+Creates a new empty 'GI.Gtk.Objects.ComboBox.ComboBox' using /@area@/ to layout cells.
+-}
+comboBoxNewWithArea ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellArea.IsCellArea a) =>
+    a
+    {- ^ /@area@/: the 'GI.Gtk.Objects.CellArea.CellArea' to use to layout cell renderers -}
+    -> m ComboBox
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ComboBox.ComboBox'. -}
+comboBoxNewWithArea area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_combo_box_new_with_area area'
+    checkUnexpectedReturnNULL "comboBoxNewWithArea" result
+    result' <- (newObject ComboBox) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ComboBox::new_with_area_and_entry
+-- method type : Constructor
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellArea to use to layout cell renderers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ComboBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_new_with_area_and_entry" gtk_combo_box_new_with_area_and_entry :: 
+    Ptr Gtk.CellArea.CellArea ->            -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO (Ptr ComboBox)
+
+{- |
+Creates a new empty 'GI.Gtk.Objects.ComboBox.ComboBox' with an entry.
+
+The new combo box will use /@area@/ to layout cells.
+-}
+comboBoxNewWithAreaAndEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellArea.IsCellArea a) =>
+    a
+    {- ^ /@area@/: the 'GI.Gtk.Objects.CellArea.CellArea' to use to layout cell renderers -}
+    -> m ComboBox
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ComboBox.ComboBox'. -}
+comboBoxNewWithAreaAndEntry area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_combo_box_new_with_area_and_entry area'
+    checkUnexpectedReturnNULL "comboBoxNewWithAreaAndEntry" result
+    result' <- (newObject ComboBox) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ComboBox::new_with_entry
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ComboBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_new_with_entry" gtk_combo_box_new_with_entry :: 
+    IO (Ptr ComboBox)
+
+{- |
+Creates a new empty 'GI.Gtk.Objects.ComboBox.ComboBox' with an entry.
+
+/Since: 2.24/
+-}
+comboBoxNewWithEntry ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ComboBox
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ComboBox.ComboBox'. -}
+comboBoxNewWithEntry  = liftIO $ do
+    result <- gtk_combo_box_new_with_entry
+    checkUnexpectedReturnNULL "comboBoxNewWithEntry" result
+    result' <- (newObject ComboBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ComboBox::new_with_model
+-- method type : Constructor
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModel.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ComboBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_new_with_model" gtk_combo_box_new_with_model :: 
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO (Ptr ComboBox)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ComboBox.ComboBox' with the model initialized to /@model@/.
+
+/Since: 2.4/
+-}
+comboBoxNewWithModel ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    a
+    {- ^ /@model@/: A 'GI.Gtk.Interfaces.TreeModel.TreeModel'. -}
+    -> m ComboBox
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ComboBox.ComboBox'. -}
+comboBoxNewWithModel model = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    result <- gtk_combo_box_new_with_model model'
+    checkUnexpectedReturnNULL "comboBoxNewWithModel" result
+    result' <- (newObject ComboBox) result
+    touchManagedPtr model
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ComboBox::new_with_model_and_entry
+-- method type : Constructor
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ComboBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_new_with_model_and_entry" gtk_combo_box_new_with_model_and_entry :: 
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO (Ptr ComboBox)
+
+{- |
+Creates a new empty 'GI.Gtk.Objects.ComboBox.ComboBox' with an entry
+and with the model initialized to /@model@/.
+
+/Since: 2.24/
+-}
+comboBoxNewWithModelAndEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    a
+    {- ^ /@model@/: A 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> m ComboBox
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+comboBoxNewWithModelAndEntry model = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    result <- gtk_combo_box_new_with_model_and_entry model'
+    checkUnexpectedReturnNULL "comboBoxNewWithModelAndEntry" result
+    result' <- (newObject ComboBox) result
+    touchManagedPtr model
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ComboBox::get_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_active" gtk_combo_box_get_active :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO Int32
+
+{- |
+Returns the index of the currently active item, or -1 if there’s no
+active item. If the model is a non-flat treemodel, and the active item
+is not an immediate child of the root of the tree, this function returns
+@gtk_tree_path_get_indices (path)[0]@, where
+@path@ is the 'GI.Gtk.Structs.TreePath.TreePath' of the active item.
+
+/Since: 2.4/
+-}
+comboBoxGetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Int32
+    {- ^ __Returns:__ An integer which is the index of the currently active item,
+    or -1 if there’s no active item. -}
+comboBoxGetActive comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_active comboBox'
+    touchManagedPtr comboBox
+    return result
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetActiveMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetActiveMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetActive
+
+#endif
+
+-- method ComboBox::get_active_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_active_id" gtk_combo_box_get_active_id :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO CString
+
+{- |
+Returns the ID of the active row of /@comboBox@/.  This value is taken
+from the active row and the column specified by the 'GI.Gtk.Objects.ComboBox.ComboBox':@/id-column/@
+property of /@comboBox@/ (see 'GI.Gtk.Objects.ComboBox.comboBoxSetIdColumn').
+
+The returned value is an interned string which means that you can
+compare the pointer by value to other interned strings and that you
+must not free it.
+
+If the 'GI.Gtk.Objects.ComboBox.ComboBox':@/id-column/@ property of /@comboBox@/ is not set, or if
+no row is active, or if the active row has a 'Nothing' ID value, then 'Nothing'
+is returned.
+
+/Since: 3.0/
+-}
+comboBoxGetActiveId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the ID of the active row, or 'Nothing' -}
+comboBoxGetActiveId comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_active_id comboBox'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr comboBox
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetActiveIdMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetActiveIdMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetActiveId
+
+#endif
+
+-- method ComboBox::get_active_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_active_iter" gtk_combo_box_get_active_iter :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Sets /@iter@/ to point to the currently active item, if any item is active.
+Otherwise, /@iter@/ is left unchanged.
+
+/Since: 2.4/
+-}
+comboBoxGetActiveIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m ((Bool, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ 'True' if /@iter@/ was set, 'False' otherwise -}
+comboBoxGetActiveIter comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    result <- gtk_combo_box_get_active_iter comboBox' iter
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr comboBox
+    return (result', iter')
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetActiveIterMethodInfo
+instance (signature ~ (m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetActiveIterMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetActiveIter
+
+#endif
+
+-- method ComboBox::get_add_tearoffs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_add_tearoffs" gtk_combo_box_get_add_tearoffs :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO CInt
+
+{-# DEPRECATED comboBoxGetAddTearoffs ["(Since version 3.10)"] #-}
+{- |
+Gets the current value of the :add-tearoffs property.
+-}
+comboBoxGetAddTearoffs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Bool
+    {- ^ __Returns:__ the current value of the :add-tearoffs property. -}
+comboBoxGetAddTearoffs comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_add_tearoffs comboBox'
+    let result' = (/= 0) result
+    touchManagedPtr comboBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetAddTearoffsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetAddTearoffsMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetAddTearoffs
+
+#endif
+
+-- method ComboBox::get_button_sensitivity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SensitivityType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_button_sensitivity" gtk_combo_box_get_button_sensitivity :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO CUInt
+
+{- |
+Returns whether the combo box sets the dropdown button
+sensitive or not when there are no items in the model.
+
+/Since: 2.14/
+-}
+comboBoxGetButtonSensitivity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Gtk.Enums.SensitivityType
+    {- ^ __Returns:__ 'GI.Gtk.Enums.SensitivityTypeOn' if the dropdown button
+   is sensitive when the model is empty, 'GI.Gtk.Enums.SensitivityTypeOff'
+   if the button is always insensitive or
+   'GI.Gtk.Enums.SensitivityTypeAuto' if it is only sensitive as long as
+   the model has one item to be selected. -}
+comboBoxGetButtonSensitivity comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_button_sensitivity comboBox'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr comboBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetButtonSensitivityMethodInfo
+instance (signature ~ (m Gtk.Enums.SensitivityType), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetButtonSensitivityMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetButtonSensitivity
+
+#endif
+
+-- method ComboBox::get_column_span_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_column_span_column" gtk_combo_box_get_column_span_column :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO Int32
+
+{- |
+Returns the column with column span information for /@comboBox@/.
+
+/Since: 2.6/
+-}
+comboBoxGetColumnSpanColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Int32
+    {- ^ __Returns:__ the column span column. -}
+comboBoxGetColumnSpanColumn comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_column_span_column comboBox'
+    touchManagedPtr comboBox
+    return result
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetColumnSpanColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetColumnSpanColumnMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetColumnSpanColumn
+
+#endif
+
+-- method ComboBox::get_entry_text_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_entry_text_column" gtk_combo_box_get_entry_text_column :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO Int32
+
+{- |
+Returns the column which /@comboBox@/ is using to get the strings
+from to display in the internal entry.
+
+/Since: 2.24/
+-}
+comboBoxGetEntryTextColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox'. -}
+    -> m Int32
+    {- ^ __Returns:__ A column in the data source model of /@comboBox@/. -}
+comboBoxGetEntryTextColumn comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_entry_text_column comboBox'
+    touchManagedPtr comboBox
+    return result
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetEntryTextColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetEntryTextColumnMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetEntryTextColumn
+
+#endif
+
+-- method ComboBox::get_focus_on_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_focus_on_click" gtk_combo_box_get_focus_on_click :: 
+    Ptr ComboBox ->                         -- combo : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO CInt
+
+{-# DEPRECATED comboBoxGetFocusOnClick ["(Since version 3.20)","Use 'GI.Gtk.Objects.Widget.widgetGetFocusOnClick' instead"] #-}
+{- |
+Returns whether the combo box grabs focus when it is clicked
+with the mouse. See 'GI.Gtk.Objects.ComboBox.comboBoxSetFocusOnClick'.
+
+/Since: 2.6/
+-}
+comboBoxGetFocusOnClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@combo@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the combo box grabs focus when it is
+    clicked with the mouse. -}
+comboBoxGetFocusOnClick combo = liftIO $ do
+    combo' <- unsafeManagedPtrCastPtr combo
+    result <- gtk_combo_box_get_focus_on_click combo'
+    let result' = (/= 0) result
+    touchManagedPtr combo
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetFocusOnClickMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetFocusOnClickMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetFocusOnClick
+
+#endif
+
+-- method ComboBox::get_has_entry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_has_entry" gtk_combo_box_get_has_entry :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO CInt
+
+{- |
+Returns whether the combo box has an entry.
+
+/Since: 2.24/
+-}
+comboBoxGetHasEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Bool
+    {- ^ __Returns:__ whether there is an entry in /@comboBox@/. -}
+comboBoxGetHasEntry comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_has_entry comboBox'
+    let result' = (/= 0) result
+    touchManagedPtr comboBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetHasEntryMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetHasEntryMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetHasEntry
+
+#endif
+
+-- method ComboBox::get_id_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_id_column" gtk_combo_box_get_id_column :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO Int32
+
+{- |
+Returns the column which /@comboBox@/ is using to get string IDs
+for values from.
+
+/Since: 3.0/
+-}
+comboBoxGetIdColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Int32
+    {- ^ __Returns:__ A column in the data source model of /@comboBox@/. -}
+comboBoxGetIdColumn comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_id_column comboBox'
+    touchManagedPtr comboBox
+    return result
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetIdColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetIdColumnMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetIdColumn
+
+#endif
+
+-- method ComboBox::get_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_model" gtk_combo_box_get_model :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO (Ptr Gtk.TreeModel.TreeModel)
+
+{- |
+Returns the 'GI.Gtk.Interfaces.TreeModel.TreeModel' which is acting as data source for /@comboBox@/.
+
+/Since: 2.4/
+-}
+comboBoxGetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Gtk.TreeModel.TreeModel
+    {- ^ __Returns:__ A 'GI.Gtk.Interfaces.TreeModel.TreeModel' which was passed
+    during construction. -}
+comboBoxGetModel comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_model comboBox'
+    checkUnexpectedReturnNULL "comboBoxGetModel" result
+    result' <- (newObject Gtk.TreeModel.TreeModel) result
+    touchManagedPtr comboBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetModelMethodInfo
+instance (signature ~ (m Gtk.TreeModel.TreeModel), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetModelMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetModel
+
+#endif
+
+-- method ComboBox::get_popup_accessible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_popup_accessible" gtk_combo_box_get_popup_accessible :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO (Ptr Atk.Object.Object)
+
+{- |
+Gets the accessible object corresponding to the combo box’s popup.
+
+This function is mostly intended for use by accessibility technologies;
+applications should have little use for it.
+
+/Since: 2.6/
+-}
+comboBoxGetPopupAccessible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Atk.Object.Object
+    {- ^ __Returns:__ the accessible object corresponding
+    to the combo box’s popup. -}
+comboBoxGetPopupAccessible comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_popup_accessible comboBox'
+    checkUnexpectedReturnNULL "comboBoxGetPopupAccessible" result
+    result' <- (newObject Atk.Object.Object) result
+    touchManagedPtr comboBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetPopupAccessibleMethodInfo
+instance (signature ~ (m Atk.Object.Object), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetPopupAccessibleMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetPopupAccessible
+
+#endif
+
+-- method ComboBox::get_popup_fixed_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_popup_fixed_width" gtk_combo_box_get_popup_fixed_width :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO CInt
+
+{- |
+Gets whether the popup uses a fixed width matching
+the allocated width of the combo box.
+
+/Since: 3.0/
+-}
+comboBoxGetPopupFixedWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the popup uses a fixed width -}
+comboBoxGetPopupFixedWidth comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_popup_fixed_width comboBox'
+    let result' = (/= 0) result
+    touchManagedPtr comboBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetPopupFixedWidthMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetPopupFixedWidthMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetPopupFixedWidth
+
+#endif
+
+-- method ComboBox::get_row_span_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_row_span_column" gtk_combo_box_get_row_span_column :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO Int32
+
+{- |
+Returns the column with row span information for /@comboBox@/.
+
+/Since: 2.6/
+-}
+comboBoxGetRowSpanColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Int32
+    {- ^ __Returns:__ the row span column. -}
+comboBoxGetRowSpanColumn comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_row_span_column comboBox'
+    touchManagedPtr comboBox
+    return result
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetRowSpanColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetRowSpanColumnMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetRowSpanColumn
+
+#endif
+
+-- method ComboBox::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_title" gtk_combo_box_get_title :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO CString
+
+{-# DEPRECATED comboBoxGetTitle ["(Since version 3.10)"] #-}
+{- |
+Gets the current title of the menu in tearoff mode. See
+'GI.Gtk.Objects.ComboBox.comboBoxSetAddTearoffs'.
+
+/Since: 2.10/
+-}
+comboBoxGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m T.Text
+    {- ^ __Returns:__ the menu’s title in tearoff mode. This is an internal copy of the
+string which must not be freed. -}
+comboBoxGetTitle comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_title comboBox'
+    checkUnexpectedReturnNULL "comboBoxGetTitle" result
+    result' <- cstringToText result
+    touchManagedPtr comboBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetTitleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetTitleMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetTitle
+
+#endif
+
+-- method ComboBox::get_wrap_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_get_wrap_width" gtk_combo_box_get_wrap_width :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO Int32
+
+{- |
+Returns the wrap width which is used to determine the number of columns
+for the popup menu. If the wrap width is larger than 1, the combo box
+is in table mode.
+
+/Since: 2.6/
+-}
+comboBoxGetWrapWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m Int32
+    {- ^ __Returns:__ the wrap width. -}
+comboBoxGetWrapWidth comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_get_wrap_width comboBox'
+    touchManagedPtr comboBox
+    return result
+
+#if ENABLE_OVERLOADING
+data ComboBoxGetWrapWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxGetWrapWidthMethodInfo a signature where
+    overloadedMethod _ = comboBoxGetWrapWidth
+
+#endif
+
+-- method ComboBox::popdown
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_popdown" gtk_combo_box_popdown :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO ()
+
+{- |
+Hides the menu or dropdown list of /@comboBox@/.
+
+This function is mostly intended for use by accessibility technologies;
+applications should have little use for it.
+
+/Since: 2.4/
+-}
+comboBoxPopdown ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m ()
+comboBoxPopdown comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_popdown comboBox'
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxPopdownMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxPopdownMethodInfo a signature where
+    overloadedMethod _ = comboBoxPopdown
+
+#endif
+
+-- method ComboBox::popup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_popup" gtk_combo_box_popup :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    IO ()
+
+{- |
+Pops up the menu or dropdown list of /@comboBox@/.
+
+This function is mostly intended for use by accessibility technologies;
+applications should have little use for it.
+
+Before calling this, /@comboBox@/ must be mapped, or nothing will happen.
+
+/Since: 2.4/
+-}
+comboBoxPopup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> m ()
+comboBoxPopup comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_popup comboBox'
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxPopupMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxPopupMethodInfo a signature where
+    overloadedMethod _ = comboBoxPopup
+
+#endif
+
+-- method ComboBox::popup_for_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_popup_for_device" gtk_combo_box_popup_for_device :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    IO ()
+
+{- |
+Pops up the menu or dropdown list of /@comboBox@/, the popup window
+will be grabbed so only /@device@/ and its associated pointer\/keyboard
+are the only @/GdkDevices/@ able to send events to it.
+
+/Since: 3.0/
+-}
+comboBoxPopupForDevice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> m ()
+comboBoxPopupForDevice comboBox device = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    device' <- unsafeManagedPtrCastPtr device
+    gtk_combo_box_popup_for_device comboBox' device'
+    touchManagedPtr comboBox
+    touchManagedPtr device
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxPopupForDeviceMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsComboBox a, Gdk.Device.IsDevice b) => O.MethodInfo ComboBoxPopupForDeviceMethodInfo a signature where
+    overloadedMethod _ = comboBoxPopupForDevice
+
+#endif
+
+-- method ComboBox::set_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An index in the model passed during construction, or -1 to have\nno active item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_active" gtk_combo_box_set_active :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Int32 ->                                -- index_ : TBasicType TInt
+    IO ()
+
+{- |
+Sets the active item of /@comboBox@/ to be the item at /@index@/.
+
+/Since: 2.4/
+-}
+comboBoxSetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Int32
+    {- ^ /@index_@/: An index in the model passed during construction, or -1 to have
+no active item -}
+    -> m ()
+comboBoxSetActive comboBox index_ = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_set_active comboBox' index_
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetActiveMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetActiveMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetActive
+
+#endif
+
+-- method ComboBox::set_active_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the ID of the row to select, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_active_id" gtk_combo_box_set_active_id :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    CString ->                              -- active_id : TBasicType TUTF8
+    IO CInt
+
+{- |
+Changes the active row of /@comboBox@/ to the one that has an ID equal to
+/@activeId@/, or unsets the active row if /@activeId@/ is 'Nothing'.  Rows having
+a 'Nothing' ID string cannot be made active by this function.
+
+If the 'GI.Gtk.Objects.ComboBox.ComboBox':@/id-column/@ property of /@comboBox@/ is unset or if no
+row has the given ID then the function does nothing and returns 'False'.
+
+/Since: 3.0/
+-}
+comboBoxSetActiveId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Maybe (T.Text)
+    {- ^ /@activeId@/: the ID of the row to select, or 'Nothing' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a row with a matching ID was found.  If a 'Nothing'
+         /@activeId@/ was given to unset the active row, the function
+         always returns 'True'. -}
+comboBoxSetActiveId comboBox activeId = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    maybeActiveId <- case activeId of
+        Nothing -> return nullPtr
+        Just jActiveId -> do
+            jActiveId' <- textToCString jActiveId
+            return jActiveId'
+    result <- gtk_combo_box_set_active_id comboBox' maybeActiveId
+    let result' = (/= 0) result
+    touchManagedPtr comboBox
+    freeMem maybeActiveId
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetActiveIdMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m Bool), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetActiveIdMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetActiveId
+
+#endif
+
+-- method ComboBox::set_active_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_active_iter" gtk_combo_box_set_active_iter :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Sets the current active item to be the one referenced by /@iter@/, or
+unsets the active item if /@iter@/ is 'Nothing'.
+
+/Since: 2.4/
+-}
+comboBoxSetActiveIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@iter@/: The 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> m ()
+comboBoxSetActiveIter comboBox iter = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    maybeIter <- case iter of
+        Nothing -> return nullPtr
+        Just jIter -> do
+            jIter' <- unsafeManagedPtrGetPtr jIter
+            return jIter'
+    gtk_combo_box_set_active_iter comboBox' maybeIter
+    touchManagedPtr comboBox
+    whenJust iter touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetActiveIterMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetActiveIterMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetActiveIter
+
+#endif
+
+-- method ComboBox::set_add_tearoffs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "add_tearoffs", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to add tearoff menu items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_add_tearoffs" gtk_combo_box_set_add_tearoffs :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    CInt ->                                 -- add_tearoffs : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED comboBoxSetAddTearoffs ["(Since version 3.10)"] #-}
+{- |
+Sets whether the popup menu should have a tearoff
+menu item.
+
+/Since: 2.6/
+-}
+comboBoxSetAddTearoffs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Bool
+    {- ^ /@addTearoffs@/: 'True' to add tearoff menu items -}
+    -> m ()
+comboBoxSetAddTearoffs comboBox addTearoffs = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    let addTearoffs' = (fromIntegral . fromEnum) addTearoffs
+    gtk_combo_box_set_add_tearoffs comboBox' addTearoffs'
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetAddTearoffsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetAddTearoffsMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetAddTearoffs
+
+#endif
+
+-- method ComboBox::set_button_sensitivity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitivity", argType = TInterface (Name {namespace = "Gtk", name = "SensitivityType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specify the sensitivity of the dropdown button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_button_sensitivity" gtk_combo_box_set_button_sensitivity :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    CUInt ->                                -- sensitivity : TInterface (Name {namespace = "Gtk", name = "SensitivityType"})
+    IO ()
+
+{- |
+Sets whether the dropdown button of the combo box should be
+always sensitive ('GI.Gtk.Enums.SensitivityTypeOn'), never sensitive ('GI.Gtk.Enums.SensitivityTypeOff')
+or only if there is at least one item to display ('GI.Gtk.Enums.SensitivityTypeAuto').
+
+/Since: 2.14/
+-}
+comboBoxSetButtonSensitivity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Gtk.Enums.SensitivityType
+    {- ^ /@sensitivity@/: specify the sensitivity of the dropdown button -}
+    -> m ()
+comboBoxSetButtonSensitivity comboBox sensitivity = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    let sensitivity' = (fromIntegral . fromEnum) sensitivity
+    gtk_combo_box_set_button_sensitivity comboBox' sensitivity'
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetButtonSensitivityMethodInfo
+instance (signature ~ (Gtk.Enums.SensitivityType -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetButtonSensitivityMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetButtonSensitivity
+
+#endif
+
+-- method ComboBox::set_column_span_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column_span", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A column in the model passed during construction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_column_span_column" gtk_combo_box_set_column_span_column :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Int32 ->                                -- column_span : TBasicType TInt
+    IO ()
+
+{- |
+Sets the column with column span information for /@comboBox@/ to be
+/@columnSpan@/. The column span column contains integers which indicate
+how many columns an item should span.
+
+/Since: 2.4/
+-}
+comboBoxSetColumnSpanColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Int32
+    {- ^ /@columnSpan@/: A column in the model passed during construction -}
+    -> m ()
+comboBoxSetColumnSpanColumn comboBox columnSpan = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_set_column_span_column comboBox' columnSpan
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetColumnSpanColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetColumnSpanColumnMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetColumnSpanColumn
+
+#endif
+
+-- method ComboBox::set_entry_text_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text_column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A column in @model to get the strings from for\n    the internal entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_entry_text_column" gtk_combo_box_set_entry_text_column :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Int32 ->                                -- text_column : TBasicType TInt
+    IO ()
+
+{- |
+Sets the model column which /@comboBox@/ should use to get strings from
+to be /@textColumn@/. The column /@textColumn@/ in the model of /@comboBox@/
+must be of type @/G_TYPE_STRING/@.
+
+This is only relevant if /@comboBox@/ has been created with
+'GI.Gtk.Objects.ComboBox.ComboBox':@/has-entry/@ as 'True'.
+
+/Since: 2.24/
+-}
+comboBoxSetEntryTextColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Int32
+    {- ^ /@textColumn@/: A column in /@model@/ to get the strings from for
+    the internal entry -}
+    -> m ()
+comboBoxSetEntryTextColumn comboBox textColumn = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_set_entry_text_column comboBox' textColumn
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetEntryTextColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetEntryTextColumnMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetEntryTextColumn
+
+#endif
+
+-- method ComboBox::set_focus_on_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_on_click", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the combo box grabs focus when clicked\n   with the mouse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_focus_on_click" gtk_combo_box_set_focus_on_click :: 
+    Ptr ComboBox ->                         -- combo : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    CInt ->                                 -- focus_on_click : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED comboBoxSetFocusOnClick ["(Since version 3.20)","Use 'GI.Gtk.Objects.Widget.widgetSetFocusOnClick' instead"] #-}
+{- |
+Sets whether the combo box will grab focus when it is clicked with
+the mouse. Making mouse clicks not grab focus is useful in places
+like toolbars where you don’t want the keyboard focus removed from
+the main area of the application.
+
+/Since: 2.6/
+-}
+comboBoxSetFocusOnClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@combo@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Bool
+    {- ^ /@focusOnClick@/: whether the combo box grabs focus when clicked
+   with the mouse -}
+    -> m ()
+comboBoxSetFocusOnClick combo focusOnClick = liftIO $ do
+    combo' <- unsafeManagedPtrCastPtr combo
+    let focusOnClick' = (fromIntegral . fromEnum) focusOnClick
+    gtk_combo_box_set_focus_on_click combo' focusOnClick'
+    touchManagedPtr combo
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetFocusOnClickMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetFocusOnClickMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetFocusOnClick
+
+#endif
+
+-- method ComboBox::set_id_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id_column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A column in @model to get string IDs for values from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_id_column" gtk_combo_box_set_id_column :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Int32 ->                                -- id_column : TBasicType TInt
+    IO ()
+
+{- |
+Sets the model column which /@comboBox@/ should use to get string IDs
+for values from. The column /@idColumn@/ in the model of /@comboBox@/
+must be of type @/G_TYPE_STRING/@.
+
+/Since: 3.0/
+-}
+comboBoxSetIdColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Int32
+    {- ^ /@idColumn@/: A column in /@model@/ to get string IDs for values from -}
+    -> m ()
+comboBoxSetIdColumn comboBox idColumn = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_set_id_column comboBox' idColumn
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetIdColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetIdColumnMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetIdColumn
+
+#endif
+
+-- method ComboBox::set_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_model" gtk_combo_box_set_model :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO ()
+
+{- |
+Sets the model used by /@comboBox@/ to be /@model@/. Will unset a previously set
+model (if applicable). If model is 'Nothing', then it will unset the model.
+
+Note that this function does not clear the cell renderers, you have to
+call 'GI.Gtk.Interfaces.CellLayout.cellLayoutClear' yourself if you need to set up different
+cell renderers for the new model.
+
+/Since: 2.4/
+-}
+comboBoxSetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a, Gtk.TreeModel.IsTreeModel b) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Maybe (b)
+    {- ^ /@model@/: A 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> m ()
+comboBoxSetModel comboBox model = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    maybeModel <- case model of
+        Nothing -> return nullPtr
+        Just jModel -> do
+            jModel' <- unsafeManagedPtrCastPtr jModel
+            return jModel'
+    gtk_combo_box_set_model comboBox' maybeModel
+    touchManagedPtr comboBox
+    whenJust model touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetModelMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsComboBox a, Gtk.TreeModel.IsTreeModel b) => O.MethodInfo ComboBoxSetModelMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetModel
+
+#endif
+
+-- method ComboBox::set_popup_fixed_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fixed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to use a fixed popup width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_popup_fixed_width" gtk_combo_box_set_popup_fixed_width :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    CInt ->                                 -- fixed : TBasicType TBoolean
+    IO ()
+
+{- |
+Specifies whether the popup’s width should be a fixed width
+matching the allocated width of the combo box.
+
+/Since: 3.0/
+-}
+comboBoxSetPopupFixedWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Bool
+    {- ^ /@fixed@/: whether to use a fixed popup width -}
+    -> m ()
+comboBoxSetPopupFixedWidth comboBox fixed = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    let fixed' = (fromIntegral . fromEnum) fixed
+    gtk_combo_box_set_popup_fixed_width comboBox' fixed'
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetPopupFixedWidthMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetPopupFixedWidthMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetPopupFixedWidth
+
+#endif
+
+-- method ComboBox::set_row_separator_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewRowSeparatorFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewRowSeparatorFunc", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "destroy notifier for @data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_row_separator_func" gtk_combo_box_set_row_separator_func :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    FunPtr Gtk.Callbacks.C_TreeViewRowSeparatorFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeViewRowSeparatorFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the row separator function, which is used to determine
+whether a row should be drawn as a separator. If the row separator
+function is 'Nothing', no separators are drawn. This is the default value.
+
+/Since: 2.6/
+-}
+comboBoxSetRowSeparatorFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Gtk.Callbacks.TreeViewRowSeparatorFunc
+    {- ^ /@func@/: a 'GI.Gtk.Callbacks.TreeViewRowSeparatorFunc' -}
+    -> m ()
+comboBoxSetRowSeparatorFunc comboBox func = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    func' <- Gtk.Callbacks.mk_TreeViewRowSeparatorFunc (Gtk.Callbacks.wrap_TreeViewRowSeparatorFunc Nothing (Gtk.Callbacks.drop_closures_TreeViewRowSeparatorFunc func))
+    let data_ = castFunPtrToPtr func'
+    let destroy = safeFreeFunPtrPtr
+    gtk_combo_box_set_row_separator_func comboBox' func' data_ destroy
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetRowSeparatorFuncMethodInfo
+instance (signature ~ (Gtk.Callbacks.TreeViewRowSeparatorFunc -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetRowSeparatorFuncMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetRowSeparatorFunc
+
+#endif
+
+-- method ComboBox::set_row_span_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row_span", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A column in the model passed during construction.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_row_span_column" gtk_combo_box_set_row_span_column :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Int32 ->                                -- row_span : TBasicType TInt
+    IO ()
+
+{- |
+Sets the column with row span information for /@comboBox@/ to be /@rowSpan@/.
+The row span column contains integers which indicate how many rows
+an item should span.
+
+/Since: 2.4/
+-}
+comboBoxSetRowSpanColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox'. -}
+    -> Int32
+    {- ^ /@rowSpan@/: A column in the model passed during construction. -}
+    -> m ()
+comboBoxSetRowSpanColumn comboBox rowSpan = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_set_row_span_column comboBox' rowSpan
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetRowSpanColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetRowSpanColumnMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetRowSpanColumn
+
+#endif
+
+-- method ComboBox::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a title for the menu in tearoff mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_title" gtk_combo_box_set_title :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED comboBoxSetTitle ["(Since version 3.10)"] #-}
+{- |
+Sets the menu’s title in tearoff mode.
+
+/Since: 2.10/
+-}
+comboBoxSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: a 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> T.Text
+    {- ^ /@title@/: a title for the menu in tearoff mode -}
+    -> m ()
+comboBoxSetTitle comboBox title = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    title' <- textToCString title
+    gtk_combo_box_set_title comboBox' title'
+    touchManagedPtr comboBox
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetTitleMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetTitleMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetTitle
+
+#endif
+
+-- method ComboBox::set_wrap_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Preferred number of columns", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_set_wrap_width" gtk_combo_box_set_wrap_width :: 
+    Ptr ComboBox ->                         -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBox"})
+    Int32 ->                                -- width : TBasicType TInt
+    IO ()
+
+{- |
+Sets the wrap width of /@comboBox@/ to be /@width@/. The wrap width is basically
+the preferred number of columns when you want the popup to be layed out
+in a table.
+
+/Since: 2.4/
+-}
+comboBoxSetWrapWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBox a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Int32
+    {- ^ /@width@/: Preferred number of columns -}
+    -> m ()
+comboBoxSetWrapWidth comboBox width = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_set_wrap_width comboBox' width
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxSetWrapWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsComboBox a) => O.MethodInfo ComboBoxSetWrapWidthMethodInfo a signature where
+    overloadedMethod _ = comboBoxSetWrapWidth
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ComboBox.hs-boot b/GI/Gtk/Objects/ComboBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ComboBox.hs-boot
@@ -0,0 +1,194 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ComboBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ComboBox = ComboBox (ManagedPtr ComboBox)
+instance GObject ComboBox where
+class (GObject o, O.IsDescendantOf ComboBox o) => IsComboBox o
+instance (GObject o, O.IsDescendantOf ComboBox o) => IsComboBox o
+instance O.HasParentTypes ComboBox
+#if ENABLE_OVERLOADING
+data ComboBoxActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxActiveIdPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxAddTearoffsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxButtonSensitivityPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxCellAreaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxColumnSpanColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxEntryTextColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxHasEntryPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxHasFramePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxIdColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxPopupFixedWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxPopupShownPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxRowSpanColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxTearoffTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxWrapWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxFormatEntryTextSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxMoveActiveSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxPopdownSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxPopupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetActiveIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetActiveIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetAddTearoffsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetButtonSensitivityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetColumnSpanColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetEntryTextColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetFocusOnClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetHasEntryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetIdColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetPopupAccessibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetPopupFixedWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetRowSpanColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxGetWrapWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxPopdownMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxPopupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxPopupForDeviceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetActiveIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetActiveIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetAddTearoffsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetButtonSensitivityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetColumnSpanColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetEntryTextColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetFocusOnClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetIdColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetPopupFixedWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetRowSeparatorFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetRowSpanColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxSetWrapWidthMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ComboBoxAccessible.hs b/GI/Gtk/Objects/ComboBoxAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ComboBoxAccessible.hs
@@ -0,0 +1,178 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ComboBoxAccessible
+    ( 
+
+-- * Exported types
+    ComboBoxAccessible(..)                  ,
+    IsComboBoxAccessible                    ,
+    toComboBoxAccessible                    ,
+    noComboBoxAccessible                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ComboBoxAccessible = ComboBoxAccessible (ManagedPtr ComboBoxAccessible)
+foreign import ccall "gtk_combo_box_accessible_get_type"
+    c_gtk_combo_box_accessible_get_type :: IO GType
+
+instance GObject ComboBoxAccessible where
+    gobjectType = c_gtk_combo_box_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ComboBoxAccessible`, for instance with `toComboBoxAccessible`.
+class (GObject o, O.IsDescendantOf ComboBoxAccessible o) => IsComboBoxAccessible o
+instance (GObject o, O.IsDescendantOf ComboBoxAccessible o) => IsComboBoxAccessible o
+
+instance O.HasParentTypes ComboBoxAccessible
+type instance O.ParentTypes ComboBoxAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `ComboBoxAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toComboBoxAccessible :: (MonadIO m, IsComboBoxAccessible o) => o -> m ComboBoxAccessible
+toComboBoxAccessible = liftIO . unsafeCastTo ComboBoxAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ComboBoxAccessible`.
+noComboBoxAccessible :: Maybe ComboBoxAccessible
+noComboBoxAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveComboBoxAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveComboBoxAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveComboBoxAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveComboBoxAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveComboBoxAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveComboBoxAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveComboBoxAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveComboBoxAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveComboBoxAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveComboBoxAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveComboBoxAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveComboBoxAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveComboBoxAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveComboBoxAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveComboBoxAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveComboBoxAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveComboBoxAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveComboBoxAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveComboBoxAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveComboBoxAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveComboBoxAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveComboBoxAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveComboBoxAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveComboBoxAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveComboBoxAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveComboBoxAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveComboBoxAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveComboBoxAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveComboBoxAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveComboBoxAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveComboBoxAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveComboBoxAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveComboBoxAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveComboBoxAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveComboBoxAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveComboBoxAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveComboBoxAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveComboBoxAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveComboBoxAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveComboBoxAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveComboBoxAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveComboBoxAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveComboBoxAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveComboBoxAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveComboBoxAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveComboBoxAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveComboBoxAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveComboBoxAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveComboBoxAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveComboBoxAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveComboBoxAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveComboBoxAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveComboBoxAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveComboBoxAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveComboBoxAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveComboBoxAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveComboBoxAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveComboBoxAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveComboBoxAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveComboBoxAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveComboBoxAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveComboBoxAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveComboBoxAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveComboBoxAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveComboBoxAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveComboBoxAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveComboBoxAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveComboBoxAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveComboBoxAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveComboBoxAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveComboBoxAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveComboBoxAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveComboBoxAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveComboBoxAccessibleMethod t ComboBoxAccessible, O.MethodInfo info ComboBoxAccessible p) => OL.IsLabel t (ComboBoxAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ComboBoxAccessible
+type instance O.AttributeList ComboBoxAccessible = ComboBoxAccessibleAttributeList
+type ComboBoxAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ComboBoxAccessible = ComboBoxAccessibleSignalList
+type ComboBoxAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ComboBoxAccessible.hs-boot b/GI/Gtk/Objects/ComboBoxAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ComboBoxAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ComboBoxAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ComboBoxAccessible = ComboBoxAccessible (ManagedPtr ComboBoxAccessible)
+instance GObject ComboBoxAccessible where
+class (GObject o, O.IsDescendantOf ComboBoxAccessible o) => IsComboBoxAccessible o
+instance (GObject o, O.IsDescendantOf ComboBoxAccessible o) => IsComboBoxAccessible o
+instance O.HasParentTypes ComboBoxAccessible
diff --git a/GI/Gtk/Objects/ComboBoxText.hs b/GI/Gtk/Objects/ComboBoxText.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ComboBoxText.hs
@@ -0,0 +1,1087 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkComboBoxText is a simple variant of 'GI.Gtk.Objects.ComboBox.ComboBox' that hides
+the model-view complexity for simple text-only use cases.
+
+To create a GtkComboBoxText, use 'GI.Gtk.Objects.ComboBoxText.comboBoxTextNew' or
+'GI.Gtk.Objects.ComboBoxText.comboBoxTextNewWithEntry'.
+
+You can add items to a GtkComboBoxText with
+'GI.Gtk.Objects.ComboBoxText.comboBoxTextAppendText', 'GI.Gtk.Objects.ComboBoxText.comboBoxTextInsertText'
+or 'GI.Gtk.Objects.ComboBoxText.comboBoxTextPrependText' and remove options with
+'GI.Gtk.Objects.ComboBoxText.comboBoxTextRemove'.
+
+If the GtkComboBoxText contains an entry (via the “has-entry” property),
+its contents can be retrieved using 'GI.Gtk.Objects.ComboBoxText.comboBoxTextGetActiveText'.
+The entry itself can be accessed by calling 'GI.Gtk.Objects.Bin.binGetChild' on the
+combo box.
+
+You should not call 'GI.Gtk.Objects.ComboBox.comboBoxSetModel' or attempt to pack more cells
+into this combo box via its GtkCellLayout interface.
+
+= GtkComboBoxText as GtkBuildable
+
+The GtkComboBoxText implementation of the GtkBuildable interface supports
+adding items directly using the \<items> element and specifying \<item>
+elements for each item. Each \<item> element can specify the “id”
+corresponding to the appended text and also supports the regular
+translation attributes “translatable”, “context” and “comments”.
+
+Here is a UI definition fragment specifying GtkComboBoxText items:
+>
+><object class="GtkComboBoxText">
+>  <items>
+>    <item translatable="yes" id="factory">Factory</item>
+>    <item translatable="yes" id="home">Home</item>
+>    <item translatable="yes" id="subway">Subway</item>
+>  </items>
+></object>
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>combobox
+>╰── box.linked
+>    ├── entry.combo
+>    ├── button.combo
+>    ╰── window.popup
+
+
+GtkComboBoxText has a single CSS node with name combobox. It adds
+the style class .combo to the main CSS nodes of its entry and button
+children, and the .linked class to the node of its internal box.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ComboBoxText
+    ( 
+
+-- * Exported types
+    ComboBoxText(..)                        ,
+    IsComboBoxText                          ,
+    toComboBoxText                          ,
+    noComboBoxText                          ,
+
+
+ -- * Methods
+-- ** append #method:append#
+
+#if ENABLE_OVERLOADING
+    ComboBoxTextAppendMethodInfo            ,
+#endif
+    comboBoxTextAppend                      ,
+
+
+-- ** appendText #method:appendText#
+
+#if ENABLE_OVERLOADING
+    ComboBoxTextAppendTextMethodInfo        ,
+#endif
+    comboBoxTextAppendText                  ,
+
+
+-- ** getActiveText #method:getActiveText#
+
+#if ENABLE_OVERLOADING
+    ComboBoxTextGetActiveTextMethodInfo     ,
+#endif
+    comboBoxTextGetActiveText               ,
+
+
+-- ** insert #method:insert#
+
+#if ENABLE_OVERLOADING
+    ComboBoxTextInsertMethodInfo            ,
+#endif
+    comboBoxTextInsert                      ,
+
+
+-- ** insertText #method:insertText#
+
+#if ENABLE_OVERLOADING
+    ComboBoxTextInsertTextMethodInfo        ,
+#endif
+    comboBoxTextInsertText                  ,
+
+
+-- ** new #method:new#
+
+    comboBoxTextNew                         ,
+
+
+-- ** newWithEntry #method:newWithEntry#
+
+    comboBoxTextNewWithEntry                ,
+
+
+-- ** prepend #method:prepend#
+
+#if ENABLE_OVERLOADING
+    ComboBoxTextPrependMethodInfo           ,
+#endif
+    comboBoxTextPrepend                     ,
+
+
+-- ** prependText #method:prependText#
+
+#if ENABLE_OVERLOADING
+    ComboBoxTextPrependTextMethodInfo       ,
+#endif
+    comboBoxTextPrependText                 ,
+
+
+-- ** remove #method:remove#
+
+#if ENABLE_OVERLOADING
+    ComboBoxTextRemoveMethodInfo            ,
+#endif
+    comboBoxTextRemove                      ,
+
+
+-- ** removeAll #method:removeAll#
+
+#if ENABLE_OVERLOADING
+    ComboBoxTextRemoveAllMethodInfo         ,
+#endif
+    comboBoxTextRemoveAll                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellEditable as Gtk.CellEditable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ComboBox as Gtk.ComboBox
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ComboBoxText = ComboBoxText (ManagedPtr ComboBoxText)
+foreign import ccall "gtk_combo_box_text_get_type"
+    c_gtk_combo_box_text_get_type :: IO GType
+
+instance GObject ComboBoxText where
+    gobjectType = c_gtk_combo_box_text_get_type
+    
+
+-- | Type class for types which can be safely cast to `ComboBoxText`, for instance with `toComboBoxText`.
+class (GObject o, O.IsDescendantOf ComboBoxText o) => IsComboBoxText o
+instance (GObject o, O.IsDescendantOf ComboBoxText o) => IsComboBoxText o
+
+instance O.HasParentTypes ComboBoxText
+type instance O.ParentTypes ComboBoxText = '[Gtk.ComboBox.ComboBox, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.CellEditable.CellEditable, Gtk.CellLayout.CellLayout]
+
+-- | Cast to `ComboBoxText`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toComboBoxText :: (MonadIO m, IsComboBoxText o) => o -> m ComboBoxText
+toComboBoxText = liftIO . unsafeCastTo ComboBoxText
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ComboBoxText`.
+noComboBoxText :: Maybe ComboBoxText
+noComboBoxText = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveComboBoxTextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveComboBoxTextMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveComboBoxTextMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveComboBoxTextMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveComboBoxTextMethod "addAttribute" o = Gtk.CellLayout.CellLayoutAddAttributeMethodInfo
+    ResolveComboBoxTextMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveComboBoxTextMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveComboBoxTextMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveComboBoxTextMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveComboBoxTextMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveComboBoxTextMethod "append" o = ComboBoxTextAppendMethodInfo
+    ResolveComboBoxTextMethod "appendText" o = ComboBoxTextAppendTextMethodInfo
+    ResolveComboBoxTextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveComboBoxTextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveComboBoxTextMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveComboBoxTextMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveComboBoxTextMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveComboBoxTextMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveComboBoxTextMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveComboBoxTextMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveComboBoxTextMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveComboBoxTextMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveComboBoxTextMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveComboBoxTextMethod "clear" o = Gtk.CellLayout.CellLayoutClearMethodInfo
+    ResolveComboBoxTextMethod "clearAttributes" o = Gtk.CellLayout.CellLayoutClearAttributesMethodInfo
+    ResolveComboBoxTextMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveComboBoxTextMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveComboBoxTextMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveComboBoxTextMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveComboBoxTextMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveComboBoxTextMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveComboBoxTextMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveComboBoxTextMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveComboBoxTextMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveComboBoxTextMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveComboBoxTextMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveComboBoxTextMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveComboBoxTextMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveComboBoxTextMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveComboBoxTextMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveComboBoxTextMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveComboBoxTextMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveComboBoxTextMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveComboBoxTextMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveComboBoxTextMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveComboBoxTextMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveComboBoxTextMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveComboBoxTextMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveComboBoxTextMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveComboBoxTextMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveComboBoxTextMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveComboBoxTextMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveComboBoxTextMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveComboBoxTextMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveComboBoxTextMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveComboBoxTextMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveComboBoxTextMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveComboBoxTextMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveComboBoxTextMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveComboBoxTextMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveComboBoxTextMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveComboBoxTextMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveComboBoxTextMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveComboBoxTextMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveComboBoxTextMethod "editingDone" o = Gtk.CellEditable.CellEditableEditingDoneMethodInfo
+    ResolveComboBoxTextMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveComboBoxTextMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveComboBoxTextMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveComboBoxTextMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveComboBoxTextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveComboBoxTextMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveComboBoxTextMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveComboBoxTextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveComboBoxTextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveComboBoxTextMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveComboBoxTextMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveComboBoxTextMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveComboBoxTextMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveComboBoxTextMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveComboBoxTextMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveComboBoxTextMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveComboBoxTextMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveComboBoxTextMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveComboBoxTextMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveComboBoxTextMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveComboBoxTextMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveComboBoxTextMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveComboBoxTextMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveComboBoxTextMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveComboBoxTextMethod "insert" o = ComboBoxTextInsertMethodInfo
+    ResolveComboBoxTextMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveComboBoxTextMethod "insertText" o = ComboBoxTextInsertTextMethodInfo
+    ResolveComboBoxTextMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveComboBoxTextMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveComboBoxTextMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveComboBoxTextMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveComboBoxTextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveComboBoxTextMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveComboBoxTextMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveComboBoxTextMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveComboBoxTextMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveComboBoxTextMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveComboBoxTextMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveComboBoxTextMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveComboBoxTextMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveComboBoxTextMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveComboBoxTextMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveComboBoxTextMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveComboBoxTextMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveComboBoxTextMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveComboBoxTextMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveComboBoxTextMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveComboBoxTextMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveComboBoxTextMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveComboBoxTextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveComboBoxTextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveComboBoxTextMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveComboBoxTextMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveComboBoxTextMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveComboBoxTextMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveComboBoxTextMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveComboBoxTextMethod "packEnd" o = Gtk.CellLayout.CellLayoutPackEndMethodInfo
+    ResolveComboBoxTextMethod "packStart" o = Gtk.CellLayout.CellLayoutPackStartMethodInfo
+    ResolveComboBoxTextMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveComboBoxTextMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveComboBoxTextMethod "popdown" o = Gtk.ComboBox.ComboBoxPopdownMethodInfo
+    ResolveComboBoxTextMethod "popup" o = Gtk.ComboBox.ComboBoxPopupMethodInfo
+    ResolveComboBoxTextMethod "popupForDevice" o = Gtk.ComboBox.ComboBoxPopupForDeviceMethodInfo
+    ResolveComboBoxTextMethod "prepend" o = ComboBoxTextPrependMethodInfo
+    ResolveComboBoxTextMethod "prependText" o = ComboBoxTextPrependTextMethodInfo
+    ResolveComboBoxTextMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveComboBoxTextMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveComboBoxTextMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveComboBoxTextMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveComboBoxTextMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveComboBoxTextMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveComboBoxTextMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveComboBoxTextMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveComboBoxTextMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveComboBoxTextMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveComboBoxTextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveComboBoxTextMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveComboBoxTextMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveComboBoxTextMethod "remove" o = ComboBoxTextRemoveMethodInfo
+    ResolveComboBoxTextMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveComboBoxTextMethod "removeAll" o = ComboBoxTextRemoveAllMethodInfo
+    ResolveComboBoxTextMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveComboBoxTextMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveComboBoxTextMethod "removeWidget" o = Gtk.CellEditable.CellEditableRemoveWidgetMethodInfo
+    ResolveComboBoxTextMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveComboBoxTextMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveComboBoxTextMethod "reorder" o = Gtk.CellLayout.CellLayoutReorderMethodInfo
+    ResolveComboBoxTextMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveComboBoxTextMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveComboBoxTextMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveComboBoxTextMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveComboBoxTextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveComboBoxTextMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveComboBoxTextMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveComboBoxTextMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveComboBoxTextMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveComboBoxTextMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveComboBoxTextMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveComboBoxTextMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveComboBoxTextMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveComboBoxTextMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveComboBoxTextMethod "startEditing" o = Gtk.CellEditable.CellEditableStartEditingMethodInfo
+    ResolveComboBoxTextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveComboBoxTextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveComboBoxTextMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveComboBoxTextMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveComboBoxTextMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveComboBoxTextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveComboBoxTextMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveComboBoxTextMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveComboBoxTextMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveComboBoxTextMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveComboBoxTextMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveComboBoxTextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveComboBoxTextMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveComboBoxTextMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveComboBoxTextMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveComboBoxTextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveComboBoxTextMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveComboBoxTextMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveComboBoxTextMethod "getActive" o = Gtk.ComboBox.ComboBoxGetActiveMethodInfo
+    ResolveComboBoxTextMethod "getActiveId" o = Gtk.ComboBox.ComboBoxGetActiveIdMethodInfo
+    ResolveComboBoxTextMethod "getActiveIter" o = Gtk.ComboBox.ComboBoxGetActiveIterMethodInfo
+    ResolveComboBoxTextMethod "getActiveText" o = ComboBoxTextGetActiveTextMethodInfo
+    ResolveComboBoxTextMethod "getAddTearoffs" o = Gtk.ComboBox.ComboBoxGetAddTearoffsMethodInfo
+    ResolveComboBoxTextMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveComboBoxTextMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveComboBoxTextMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveComboBoxTextMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveComboBoxTextMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveComboBoxTextMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveComboBoxTextMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveComboBoxTextMethod "getArea" o = Gtk.CellLayout.CellLayoutGetAreaMethodInfo
+    ResolveComboBoxTextMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveComboBoxTextMethod "getButtonSensitivity" o = Gtk.ComboBox.ComboBoxGetButtonSensitivityMethodInfo
+    ResolveComboBoxTextMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveComboBoxTextMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveComboBoxTextMethod "getCells" o = Gtk.CellLayout.CellLayoutGetCellsMethodInfo
+    ResolveComboBoxTextMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveComboBoxTextMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveComboBoxTextMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveComboBoxTextMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveComboBoxTextMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveComboBoxTextMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveComboBoxTextMethod "getColumnSpanColumn" o = Gtk.ComboBox.ComboBoxGetColumnSpanColumnMethodInfo
+    ResolveComboBoxTextMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveComboBoxTextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveComboBoxTextMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveComboBoxTextMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveComboBoxTextMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveComboBoxTextMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveComboBoxTextMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveComboBoxTextMethod "getEntryTextColumn" o = Gtk.ComboBox.ComboBoxGetEntryTextColumnMethodInfo
+    ResolveComboBoxTextMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveComboBoxTextMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveComboBoxTextMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveComboBoxTextMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveComboBoxTextMethod "getFocusOnClick" o = Gtk.ComboBox.ComboBoxGetFocusOnClickMethodInfo
+    ResolveComboBoxTextMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveComboBoxTextMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveComboBoxTextMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveComboBoxTextMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveComboBoxTextMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveComboBoxTextMethod "getHasEntry" o = Gtk.ComboBox.ComboBoxGetHasEntryMethodInfo
+    ResolveComboBoxTextMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveComboBoxTextMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveComboBoxTextMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveComboBoxTextMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveComboBoxTextMethod "getIdColumn" o = Gtk.ComboBox.ComboBoxGetIdColumnMethodInfo
+    ResolveComboBoxTextMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveComboBoxTextMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveComboBoxTextMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveComboBoxTextMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveComboBoxTextMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveComboBoxTextMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveComboBoxTextMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveComboBoxTextMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveComboBoxTextMethod "getModel" o = Gtk.ComboBox.ComboBoxGetModelMethodInfo
+    ResolveComboBoxTextMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveComboBoxTextMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveComboBoxTextMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveComboBoxTextMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveComboBoxTextMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveComboBoxTextMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveComboBoxTextMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveComboBoxTextMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveComboBoxTextMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveComboBoxTextMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveComboBoxTextMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveComboBoxTextMethod "getPopupAccessible" o = Gtk.ComboBox.ComboBoxGetPopupAccessibleMethodInfo
+    ResolveComboBoxTextMethod "getPopupFixedWidth" o = Gtk.ComboBox.ComboBoxGetPopupFixedWidthMethodInfo
+    ResolveComboBoxTextMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveComboBoxTextMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveComboBoxTextMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveComboBoxTextMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveComboBoxTextMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveComboBoxTextMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveComboBoxTextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveComboBoxTextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveComboBoxTextMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveComboBoxTextMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveComboBoxTextMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveComboBoxTextMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveComboBoxTextMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveComboBoxTextMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveComboBoxTextMethod "getRowSpanColumn" o = Gtk.ComboBox.ComboBoxGetRowSpanColumnMethodInfo
+    ResolveComboBoxTextMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveComboBoxTextMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveComboBoxTextMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveComboBoxTextMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveComboBoxTextMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveComboBoxTextMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveComboBoxTextMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveComboBoxTextMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveComboBoxTextMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveComboBoxTextMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveComboBoxTextMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveComboBoxTextMethod "getTitle" o = Gtk.ComboBox.ComboBoxGetTitleMethodInfo
+    ResolveComboBoxTextMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveComboBoxTextMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveComboBoxTextMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveComboBoxTextMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveComboBoxTextMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveComboBoxTextMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveComboBoxTextMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveComboBoxTextMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveComboBoxTextMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveComboBoxTextMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveComboBoxTextMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveComboBoxTextMethod "getWrapWidth" o = Gtk.ComboBox.ComboBoxGetWrapWidthMethodInfo
+    ResolveComboBoxTextMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveComboBoxTextMethod "setActive" o = Gtk.ComboBox.ComboBoxSetActiveMethodInfo
+    ResolveComboBoxTextMethod "setActiveId" o = Gtk.ComboBox.ComboBoxSetActiveIdMethodInfo
+    ResolveComboBoxTextMethod "setActiveIter" o = Gtk.ComboBox.ComboBoxSetActiveIterMethodInfo
+    ResolveComboBoxTextMethod "setAddTearoffs" o = Gtk.ComboBox.ComboBoxSetAddTearoffsMethodInfo
+    ResolveComboBoxTextMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveComboBoxTextMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveComboBoxTextMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveComboBoxTextMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveComboBoxTextMethod "setButtonSensitivity" o = Gtk.ComboBox.ComboBoxSetButtonSensitivityMethodInfo
+    ResolveComboBoxTextMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveComboBoxTextMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveComboBoxTextMethod "setCellDataFunc" o = Gtk.CellLayout.CellLayoutSetCellDataFuncMethodInfo
+    ResolveComboBoxTextMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveComboBoxTextMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveComboBoxTextMethod "setColumnSpanColumn" o = Gtk.ComboBox.ComboBoxSetColumnSpanColumnMethodInfo
+    ResolveComboBoxTextMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveComboBoxTextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveComboBoxTextMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveComboBoxTextMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveComboBoxTextMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveComboBoxTextMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveComboBoxTextMethod "setEntryTextColumn" o = Gtk.ComboBox.ComboBoxSetEntryTextColumnMethodInfo
+    ResolveComboBoxTextMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveComboBoxTextMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveComboBoxTextMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveComboBoxTextMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveComboBoxTextMethod "setFocusOnClick" o = Gtk.ComboBox.ComboBoxSetFocusOnClickMethodInfo
+    ResolveComboBoxTextMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveComboBoxTextMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveComboBoxTextMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveComboBoxTextMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveComboBoxTextMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveComboBoxTextMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveComboBoxTextMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveComboBoxTextMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveComboBoxTextMethod "setIdColumn" o = Gtk.ComboBox.ComboBoxSetIdColumnMethodInfo
+    ResolveComboBoxTextMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveComboBoxTextMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveComboBoxTextMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveComboBoxTextMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveComboBoxTextMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveComboBoxTextMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveComboBoxTextMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveComboBoxTextMethod "setModel" o = Gtk.ComboBox.ComboBoxSetModelMethodInfo
+    ResolveComboBoxTextMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveComboBoxTextMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveComboBoxTextMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveComboBoxTextMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveComboBoxTextMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveComboBoxTextMethod "setPopupFixedWidth" o = Gtk.ComboBox.ComboBoxSetPopupFixedWidthMethodInfo
+    ResolveComboBoxTextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveComboBoxTextMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveComboBoxTextMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveComboBoxTextMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveComboBoxTextMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveComboBoxTextMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveComboBoxTextMethod "setRowSeparatorFunc" o = Gtk.ComboBox.ComboBoxSetRowSeparatorFuncMethodInfo
+    ResolveComboBoxTextMethod "setRowSpanColumn" o = Gtk.ComboBox.ComboBoxSetRowSpanColumnMethodInfo
+    ResolveComboBoxTextMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveComboBoxTextMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveComboBoxTextMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveComboBoxTextMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveComboBoxTextMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveComboBoxTextMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveComboBoxTextMethod "setTitle" o = Gtk.ComboBox.ComboBoxSetTitleMethodInfo
+    ResolveComboBoxTextMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveComboBoxTextMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveComboBoxTextMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveComboBoxTextMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveComboBoxTextMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveComboBoxTextMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveComboBoxTextMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveComboBoxTextMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveComboBoxTextMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveComboBoxTextMethod "setWrapWidth" o = Gtk.ComboBox.ComboBoxSetWrapWidthMethodInfo
+    ResolveComboBoxTextMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveComboBoxTextMethod t ComboBoxText, O.MethodInfo info ComboBoxText p) => OL.IsLabel t (ComboBoxText -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ComboBoxText
+type instance O.AttributeList ComboBoxText = ComboBoxTextAttributeList
+type ComboBoxTextAttributeList = ('[ '("active", Gtk.ComboBox.ComboBoxActivePropertyInfo), '("activeId", Gtk.ComboBox.ComboBoxActiveIdPropertyInfo), '("addTearoffs", Gtk.ComboBox.ComboBoxAddTearoffsPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("buttonSensitivity", Gtk.ComboBox.ComboBoxButtonSensitivityPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("cellArea", Gtk.ComboBox.ComboBoxCellAreaPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("columnSpanColumn", Gtk.ComboBox.ComboBoxColumnSpanColumnPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("editingCanceled", Gtk.CellEditable.CellEditableEditingCanceledPropertyInfo), '("entryTextColumn", Gtk.ComboBox.ComboBoxEntryTextColumnPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasEntry", Gtk.ComboBox.ComboBoxHasEntryPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasFrame", Gtk.ComboBox.ComboBoxHasFramePropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("idColumn", Gtk.ComboBox.ComboBoxIdColumnPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("model", Gtk.ComboBox.ComboBoxModelPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("popupFixedWidth", Gtk.ComboBox.ComboBoxPopupFixedWidthPropertyInfo), '("popupShown", Gtk.ComboBox.ComboBoxPopupShownPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rowSpanColumn", Gtk.ComboBox.ComboBoxRowSpanColumnPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tearoffTitle", Gtk.ComboBox.ComboBoxTearoffTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("wrapWidth", Gtk.ComboBox.ComboBoxWrapWidthPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ComboBoxText = ComboBoxTextSignalList
+type ComboBoxTextSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changed", Gtk.ComboBox.ComboBoxChangedSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("editingDone", Gtk.CellEditable.CellEditableEditingDoneSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("formatEntryText", Gtk.ComboBox.ComboBoxFormatEntryTextSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveActive", Gtk.ComboBox.ComboBoxMoveActiveSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popdown", Gtk.ComboBox.ComboBoxPopdownSignalInfo), '("popup", Gtk.ComboBox.ComboBoxPopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("removeWidget", Gtk.CellEditable.CellEditableRemoveWidgetSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ComboBoxText::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_new" gtk_combo_box_text_new :: 
+    IO (Ptr ComboBoxText)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ComboBoxText.ComboBoxText', which is a 'GI.Gtk.Objects.ComboBox.ComboBox' just displaying
+strings.
+
+/Since: 2.24/
+-}
+comboBoxTextNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ComboBoxText
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' -}
+comboBoxTextNew  = liftIO $ do
+    result <- gtk_combo_box_text_new
+    checkUnexpectedReturnNULL "comboBoxTextNew" result
+    result' <- (newObject ComboBoxText) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ComboBoxText::new_with_entry
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_new_with_entry" gtk_combo_box_text_new_with_entry :: 
+    IO (Ptr ComboBoxText)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ComboBoxText.ComboBoxText', which is a 'GI.Gtk.Objects.ComboBox.ComboBox' just displaying
+strings. The combo box created by this function has an entry.
+
+/Since: 2.24/
+-}
+comboBoxTextNewWithEntry ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ComboBoxText
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' -}
+comboBoxTextNewWithEntry  = liftIO $ do
+    result <- gtk_combo_box_text_new_with_entry
+    checkUnexpectedReturnNULL "comboBoxTextNewWithEntry" result
+    result' <- (newObject ComboBoxText) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ComboBoxText::append
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBoxText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string ID for this value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_append" gtk_combo_box_text_append :: 
+    Ptr ComboBoxText ->                     -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBoxText"})
+    CString ->                              -- id : TBasicType TUTF8
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Appends /@text@/ to the list of strings stored in /@comboBox@/.
+If /@id@/ is non-'Nothing' then it is used as the ID of the row.
+
+This is the same as calling 'GI.Gtk.Objects.ComboBoxText.comboBoxTextInsert' with a
+position of -1.
+
+/Since: 2.24/
+-}
+comboBoxTextAppend ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBoxText a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' -}
+    -> Maybe (T.Text)
+    {- ^ /@id@/: a string ID for this value, or 'Nothing' -}
+    -> T.Text
+    {- ^ /@text@/: A string -}
+    -> m ()
+comboBoxTextAppend comboBox id text = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    maybeId <- case id of
+        Nothing -> return nullPtr
+        Just jId -> do
+            jId' <- textToCString jId
+            return jId'
+    text' <- textToCString text
+    gtk_combo_box_text_append comboBox' maybeId text'
+    touchManagedPtr comboBox
+    freeMem maybeId
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxTextAppendMethodInfo
+instance (signature ~ (Maybe (T.Text) -> T.Text -> m ()), MonadIO m, IsComboBoxText a) => O.MethodInfo ComboBoxTextAppendMethodInfo a signature where
+    overloadedMethod _ = comboBoxTextAppend
+
+#endif
+
+-- method ComboBoxText::append_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBoxText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_append_text" gtk_combo_box_text_append_text :: 
+    Ptr ComboBoxText ->                     -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBoxText"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Appends /@text@/ to the list of strings stored in /@comboBox@/.
+
+This is the same as calling 'GI.Gtk.Objects.ComboBoxText.comboBoxTextInsertText' with a
+position of -1.
+
+/Since: 2.24/
+-}
+comboBoxTextAppendText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBoxText a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' -}
+    -> T.Text
+    {- ^ /@text@/: A string -}
+    -> m ()
+comboBoxTextAppendText comboBox text = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    text' <- textToCString text
+    gtk_combo_box_text_append_text comboBox' text'
+    touchManagedPtr comboBox
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxTextAppendTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsComboBoxText a) => O.MethodInfo ComboBoxTextAppendTextMethodInfo a signature where
+    overloadedMethod _ = comboBoxTextAppendText
+
+#endif
+
+-- method ComboBoxText::get_active_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBoxText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_get_active_text" gtk_combo_box_text_get_active_text :: 
+    Ptr ComboBoxText ->                     -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBoxText"})
+    IO CString
+
+{- |
+Returns the currently active string in /@comboBox@/, or 'Nothing'
+if none is selected. If /@comboBox@/ contains an entry, this
+function will return its contents (which will not necessarily
+be an item from the list).
+
+/Since: 2.24/
+-}
+comboBoxTextGetActiveText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBoxText a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' -}
+    -> m T.Text
+    {- ^ __Returns:__ a newly allocated string containing the
+    currently active text. Must be freed with 'GI.GLib.Functions.free'. -}
+comboBoxTextGetActiveText comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    result <- gtk_combo_box_text_get_active_text comboBox'
+    checkUnexpectedReturnNULL "comboBoxTextGetActiveText" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr comboBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data ComboBoxTextGetActiveTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsComboBoxText a) => O.MethodInfo ComboBoxTextGetActiveTextMethodInfo a signature where
+    overloadedMethod _ = comboBoxTextGetActiveText
+
+#endif
+
+-- method ComboBoxText::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBoxText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An index to insert @text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string ID for this value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A string to display", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_insert" gtk_combo_box_text_insert :: 
+    Ptr ComboBoxText ->                     -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBoxText"})
+    Int32 ->                                -- position : TBasicType TInt
+    CString ->                              -- id : TBasicType TUTF8
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Inserts /@text@/ at /@position@/ in the list of strings stored in /@comboBox@/.
+If /@id@/ is non-'Nothing' then it is used as the ID of the row.  See
+'GI.Gtk.Objects.ComboBox.ComboBox':@/id-column/@.
+
+If /@position@/ is negative then /@text@/ is appended.
+
+/Since: 3.0/
+-}
+comboBoxTextInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBoxText a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' -}
+    -> Int32
+    {- ^ /@position@/: An index to insert /@text@/ -}
+    -> Maybe (T.Text)
+    {- ^ /@id@/: a string ID for this value, or 'Nothing' -}
+    -> T.Text
+    {- ^ /@text@/: A string to display -}
+    -> m ()
+comboBoxTextInsert comboBox position id text = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    maybeId <- case id of
+        Nothing -> return nullPtr
+        Just jId -> do
+            jId' <- textToCString jId
+            return jId'
+    text' <- textToCString text
+    gtk_combo_box_text_insert comboBox' position maybeId text'
+    touchManagedPtr comboBox
+    freeMem maybeId
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxTextInsertMethodInfo
+instance (signature ~ (Int32 -> Maybe (T.Text) -> T.Text -> m ()), MonadIO m, IsComboBoxText a) => O.MethodInfo ComboBoxTextInsertMethodInfo a signature where
+    overloadedMethod _ = comboBoxTextInsert
+
+#endif
+
+-- method ComboBoxText::insert_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBoxText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An index to insert @text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_insert_text" gtk_combo_box_text_insert_text :: 
+    Ptr ComboBoxText ->                     -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBoxText"})
+    Int32 ->                                -- position : TBasicType TInt
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Inserts /@text@/ at /@position@/ in the list of strings stored in /@comboBox@/.
+
+If /@position@/ is negative then /@text@/ is appended.
+
+This is the same as calling 'GI.Gtk.Objects.ComboBoxText.comboBoxTextInsert' with a 'Nothing'
+ID string.
+
+/Since: 2.24/
+-}
+comboBoxTextInsertText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBoxText a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' -}
+    -> Int32
+    {- ^ /@position@/: An index to insert /@text@/ -}
+    -> T.Text
+    {- ^ /@text@/: A string -}
+    -> m ()
+comboBoxTextInsertText comboBox position text = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    text' <- textToCString text
+    gtk_combo_box_text_insert_text comboBox' position text'
+    touchManagedPtr comboBox
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxTextInsertTextMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m, IsComboBoxText a) => O.MethodInfo ComboBoxTextInsertTextMethodInfo a signature where
+    overloadedMethod _ = comboBoxTextInsertText
+
+#endif
+
+-- method ComboBoxText::prepend
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string ID for this value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_prepend" gtk_combo_box_text_prepend :: 
+    Ptr ComboBoxText ->                     -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBoxText"})
+    CString ->                              -- id : TBasicType TUTF8
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Prepends /@text@/ to the list of strings stored in /@comboBox@/.
+If /@id@/ is non-'Nothing' then it is used as the ID of the row.
+
+This is the same as calling 'GI.Gtk.Objects.ComboBoxText.comboBoxTextInsert' with a
+position of 0.
+
+/Since: 2.24/
+-}
+comboBoxTextPrepend ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBoxText a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Maybe (T.Text)
+    {- ^ /@id@/: a string ID for this value, or 'Nothing' -}
+    -> T.Text
+    {- ^ /@text@/: a string -}
+    -> m ()
+comboBoxTextPrepend comboBox id text = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    maybeId <- case id of
+        Nothing -> return nullPtr
+        Just jId -> do
+            jId' <- textToCString jId
+            return jId'
+    text' <- textToCString text
+    gtk_combo_box_text_prepend comboBox' maybeId text'
+    touchManagedPtr comboBox
+    freeMem maybeId
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxTextPrependMethodInfo
+instance (signature ~ (Maybe (T.Text) -> T.Text -> m ()), MonadIO m, IsComboBoxText a) => O.MethodInfo ComboBoxTextPrependMethodInfo a signature where
+    overloadedMethod _ = comboBoxTextPrepend
+
+#endif
+
+-- method ComboBoxText::prepend_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_prepend_text" gtk_combo_box_text_prepend_text :: 
+    Ptr ComboBoxText ->                     -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBoxText"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Prepends /@text@/ to the list of strings stored in /@comboBox@/.
+
+This is the same as calling 'GI.Gtk.Objects.ComboBoxText.comboBoxTextInsertText' with a
+position of 0.
+
+/Since: 2.24/
+-}
+comboBoxTextPrependText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBoxText a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> T.Text
+    {- ^ /@text@/: A string -}
+    -> m ()
+comboBoxTextPrependText comboBox text = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    text' <- textToCString text
+    gtk_combo_box_text_prepend_text comboBox' text'
+    touchManagedPtr comboBox
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxTextPrependTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsComboBoxText a) => O.MethodInfo ComboBoxTextPrependTextMethodInfo a signature where
+    overloadedMethod _ = comboBoxTextPrependText
+
+#endif
+
+-- method ComboBoxText::remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Index of the item to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_remove" gtk_combo_box_text_remove :: 
+    Ptr ComboBoxText ->                     -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBoxText"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Removes the string at /@position@/ from /@comboBox@/.
+
+/Since: 2.24/
+-}
+comboBoxTextRemove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBoxText a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBox.ComboBox' -}
+    -> Int32
+    {- ^ /@position@/: Index of the item to remove -}
+    -> m ()
+comboBoxTextRemove comboBox position = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_text_remove comboBox' position
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxTextRemoveMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsComboBoxText a) => O.MethodInfo ComboBoxTextRemoveMethodInfo a signature where
+    overloadedMethod _ = comboBoxTextRemove
+
+#endif
+
+-- method ComboBoxText::remove_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "combo_box", argType = TInterface (Name {namespace = "Gtk", name = "ComboBoxText"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkComboBoxText", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_combo_box_text_remove_all" gtk_combo_box_text_remove_all :: 
+    Ptr ComboBoxText ->                     -- combo_box : TInterface (Name {namespace = "Gtk", name = "ComboBoxText"})
+    IO ()
+
+{- |
+Removes all the text entries from the combo box.
+
+/Since: 3.0/
+-}
+comboBoxTextRemoveAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsComboBoxText a) =>
+    a
+    {- ^ /@comboBox@/: A 'GI.Gtk.Objects.ComboBoxText.ComboBoxText' -}
+    -> m ()
+comboBoxTextRemoveAll comboBox = liftIO $ do
+    comboBox' <- unsafeManagedPtrCastPtr comboBox
+    gtk_combo_box_text_remove_all comboBox'
+    touchManagedPtr comboBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data ComboBoxTextRemoveAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsComboBoxText a) => O.MethodInfo ComboBoxTextRemoveAllMethodInfo a signature where
+    overloadedMethod _ = comboBoxTextRemoveAll
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ComboBoxText.hs-boot b/GI/Gtk/Objects/ComboBoxText.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ComboBoxText.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ComboBoxText where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ComboBoxText = ComboBoxText (ManagedPtr ComboBoxText)
+instance GObject ComboBoxText where
+class (GObject o, O.IsDescendantOf ComboBoxText o) => IsComboBoxText o
+instance (GObject o, O.IsDescendantOf ComboBoxText o) => IsComboBoxText o
+instance O.HasParentTypes ComboBoxText
+#if ENABLE_OVERLOADING
+data ComboBoxTextAppendMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxTextAppendTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxTextGetActiveTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxTextInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxTextInsertTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxTextPrependMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxTextPrependTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxTextRemoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ComboBoxTextRemoveAllMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Container.hs b/GI/Gtk/Objects/Container.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Container.hs
@@ -0,0 +1,2645 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GTK+ user interface is constructed by nesting widgets inside widgets.
+Container widgets are the inner nodes in the resulting tree of widgets:
+they contain other widgets. So, for example, you might have a 'GI.Gtk.Objects.Window.Window'
+containing a 'GI.Gtk.Objects.Frame.Frame' containing a 'GI.Gtk.Objects.Label.Label'. If you wanted an image instead
+of a textual label inside the frame, you might replace the 'GI.Gtk.Objects.Label.Label' widget
+with a 'GI.Gtk.Objects.Image.Image' widget.
+
+There are two major kinds of container widgets in GTK+. Both are subclasses
+of the abstract GtkContainer base class.
+
+The first type of container widget has a single child widget and derives
+from 'GI.Gtk.Objects.Bin.Bin'. These containers are decorators, which
+add some kind of functionality to the child. For example, a 'GI.Gtk.Objects.Button.Button' makes
+its child into a clickable button; a 'GI.Gtk.Objects.Frame.Frame' draws a frame around its child
+and a 'GI.Gtk.Objects.Window.Window' places its child widget inside a top-level window.
+
+The second type of container can have more than one child; its purpose is to
+manage layout. This means that these containers assign
+sizes and positions to their children. For example, a 'GI.Gtk.Objects.HBox.HBox' arranges its
+children in a horizontal row, and a 'GI.Gtk.Objects.Grid.Grid' arranges the widgets it contains
+in a two-dimensional grid.
+
+For implementations of 'GI.Gtk.Objects.Container.Container' the virtual method 'GI.Gtk.Structs.ContainerClass.ContainerClass'.@/forall/@()
+is always required, since it\'s used for drawing and other internal operations
+on the children.
+If the 'GI.Gtk.Objects.Container.Container' implementation expect to have non internal children
+it\'s needed to implement both 'GI.Gtk.Structs.ContainerClass.ContainerClass'.@/add/@() and 'GI.Gtk.Structs.ContainerClass.ContainerClass'.@/remove/@().
+If the GtkContainer implementation has internal children, they should be added
+with 'GI.Gtk.Objects.Widget.widgetSetParent' on @/init()/@ and removed with 'GI.Gtk.Objects.Widget.widgetUnparent'
+in the 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/destroy/@() implementation.
+See more about implementing custom widgets at https:\/\/wiki.gnome.org\/HowDoI\/CustomWidgets
+
+= Height for width geometry management
+
+GTK+ uses a height-for-width (and width-for-height) geometry management system.
+Height-for-width means that a widget can change how much vertical space it needs,
+depending on the amount of horizontal space that it is given (and similar for
+width-for-height).
+
+There are some things to keep in mind when implementing container widgets
+that make use of GTK+’s height for width geometry management system. First,
+it’s important to note that a container must prioritize one of its
+dimensions, that is to say that a widget or container can only have a
+'GI.Gtk.Enums.SizeRequestMode' that is 'GI.Gtk.Enums.SizeRequestModeHeightForWidth' or
+'GI.Gtk.Enums.SizeRequestModeWidthForHeight'. However, every widget and container
+must be able to respond to the APIs for both dimensions, i.e. even if a
+widget has a request mode that is height-for-width, it is possible that
+its parent will request its sizes using the width-for-height APIs.
+
+To ensure that everything works properly, here are some guidelines to follow
+when implementing height-for-width (or width-for-height) containers.
+
+Each request mode involves 2 virtual methods. Height-for-width apis run
+through 'GI.Gtk.Objects.Widget.widgetGetPreferredWidth' and then through 'GI.Gtk.Objects.Widget.widgetGetPreferredHeightForWidth'.
+When handling requests in the opposite 'GI.Gtk.Enums.SizeRequestMode' it is important that
+every widget request at least enough space to display all of its content at all times.
+
+When 'GI.Gtk.Objects.Widget.widgetGetPreferredHeight' is called on a container that is height-for-width,
+the container must return the height for its minimum width. This is easily achieved by
+simply calling the reverse apis implemented for itself as follows:
+
+
+=== /C code/
+>
+>static void
+>foo_container_get_preferred_height (GtkWidget *widget,
+>                                    gint *min_height,
+>                                    gint *nat_height)
+>{
+>   if (i_am_in_height_for_width_mode)
+>     {
+>       gint min_width;
+>
+>       GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget,
+>                                                           &min_width,
+>                                                           NULL);
+>       GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width
+>                                                          (widget,
+>                                                           min_width,
+>                                                           min_height,
+>                                                           nat_height);
+>     }
+>   else
+>     {
+>       ... many containers support both request modes, execute the
+>       real width-for-height request here by returning the
+>       collective heights of all widgets that are stacked
+>       vertically (or whatever is appropriate for this container)
+>       ...
+>     }
+>}
+
+
+Similarly, when 'GI.Gtk.Objects.Widget.widgetGetPreferredWidthForHeight' is called for a container or widget
+that is height-for-width, it then only needs to return the base minimum width like so:
+
+
+=== /C code/
+>
+>static void
+>foo_container_get_preferred_width_for_height (GtkWidget *widget,
+>                                              gint for_height,
+>                                              gint *min_width,
+>                                              gint *nat_width)
+>{
+>   if (i_am_in_height_for_width_mode)
+>     {
+>       GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget,
+>                                                           min_width,
+>                                                           nat_width);
+>     }
+>   else
+>     {
+>       ... execute the real width-for-height request here based on
+>       the required width of the children collectively if the
+>       container were to be allocated the said height ...
+>     }
+>}
+
+
+Height for width requests are generally implemented in terms of a virtual allocation
+of widgets in the input orientation. Assuming an height-for-width request mode, a container
+would implement the @/get_preferred_height_for_width()/@ virtual function by first calling
+'GI.Gtk.Objects.Widget.widgetGetPreferredWidth' for each of its children.
+
+For each potential group of children that are lined up horizontally, the values returned by
+'GI.Gtk.Objects.Widget.widgetGetPreferredWidth' should be collected in an array of 'GI.Gtk.Structs.RequestedSize.RequestedSize' structures.
+Any child spacing should be removed from the input /@forWidth@/ and then the collective size should be
+allocated using the 'GI.Gtk.Functions.distributeNaturalAllocation' convenience function.
+
+The container will then move on to request the preferred height for each child by using
+'GI.Gtk.Objects.Widget.widgetGetPreferredHeightForWidth' and using the sizes stored in the 'GI.Gtk.Structs.RequestedSize.RequestedSize' array.
+
+To allocate a height-for-width container, it’s again important
+to consider that a container must prioritize one dimension over the other. So if
+a container is a height-for-width container it must first allocate all widgets horizontally
+using a 'GI.Gtk.Structs.RequestedSize.RequestedSize' array and 'GI.Gtk.Functions.distributeNaturalAllocation' and then add any
+extra space (if and where appropriate) for the widget to expand.
+
+After adding all the expand space, the container assumes it was allocated sufficient
+height to fit all of its content. At this time, the container must use the total horizontal sizes
+of each widget to request the height-for-width of each of its children and store the requests in a
+'GI.Gtk.Structs.RequestedSize.RequestedSize' array for any widgets that stack vertically (for tabular containers this can
+be generalized into the heights and widths of rows and columns).
+The vertical space must then again be distributed using 'GI.Gtk.Functions.distributeNaturalAllocation'
+while this time considering the allocated height of the widget minus any vertical spacing
+that the container adds. Then vertical expand space should be added where appropriate and available
+and the container should go on to actually allocating the child widgets.
+
+See [GtkWidget’s geometry management section][geometry-management]
+to learn more about implementing height-for-width geometry management for widgets.
+
+= Child properties
+
+GtkContainer introduces child properties.
+These are object properties that are not specific
+to either the container or the contained widget, but rather to their relation.
+Typical examples of child properties are the position or pack-type of a widget
+which is contained in a 'GI.Gtk.Objects.Box.Box'.
+
+Use 'GI.Gtk.Structs.ContainerClass.containerClassInstallChildProperty' to install child properties
+for a container class and 'GI.Gtk.Structs.ContainerClass.containerClassFindChildProperty' or
+'GI.Gtk.Structs.ContainerClass.containerClassListChildProperties' to get information about existing
+child properties.
+
+To set the value of a child property, use 'GI.Gtk.Objects.Container.containerChildSetProperty',
+@/gtk_container_child_set()/@ or @/gtk_container_child_set_valist()/@.
+To obtain the value of a child property, use
+'GI.Gtk.Objects.Container.containerChildGetProperty', @/gtk_container_child_get()/@ or
+@/gtk_container_child_get_valist()/@. To emit notification about child property
+changes, use 'GI.Gtk.Objects.Widget.widgetChildNotify'.
+
+= GtkContainer as GtkBuildable
+
+The GtkContainer implementation of the GtkBuildable interface supports
+a \<packing> element for children, which can contain multiple \<property>
+elements that specify child properties for the child.
+
+Since 2.16, child properties can also be marked as translatable using
+the same “translatable”, “comments” and “context” attributes that are used
+for regular properties.
+
+Since 3.16, containers can have a \<focus-chain> element containing multiple
+\<widget> elements, one for each child that should be added to the focus
+chain. The ”name” attribute gives the id of the widget.
+
+An example of these properties in UI definitions:
+>
+><object class="GtkBox">
+>  <child>
+>    <object class="GtkEntry" id="entry1"/>
+>    <packing>
+>      <property name="pack-type">start</property>
+>    </packing>
+>  </child>
+>  <child>
+>    <object class="GtkEntry" id="entry2"/>
+>  </child>
+>  <focus-chain>
+>    <widget name="entry1"/>
+>    <widget name="entry2"/>
+>  </focus-chain>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Container
+    ( 
+
+-- * Exported types
+    Container(..)                           ,
+    IsContainer                             ,
+    toContainer                             ,
+    noContainer                             ,
+
+
+ -- * Methods
+-- ** add #method:add#
+
+#if ENABLE_OVERLOADING
+    ContainerAddMethodInfo                  ,
+#endif
+    containerAdd                            ,
+
+
+-- ** checkResize #method:checkResize#
+
+#if ENABLE_OVERLOADING
+    ContainerCheckResizeMethodInfo          ,
+#endif
+    containerCheckResize                    ,
+
+
+-- ** childGetProperty #method:childGetProperty#
+
+#if ENABLE_OVERLOADING
+    ContainerChildGetPropertyMethodInfo     ,
+#endif
+    containerChildGetProperty               ,
+
+
+-- ** childNotify #method:childNotify#
+
+#if ENABLE_OVERLOADING
+    ContainerChildNotifyMethodInfo          ,
+#endif
+    containerChildNotify                    ,
+
+
+-- ** childNotifyByPspec #method:childNotifyByPspec#
+
+#if ENABLE_OVERLOADING
+    ContainerChildNotifyByPspecMethodInfo   ,
+#endif
+    containerChildNotifyByPspec             ,
+
+
+-- ** childSetProperty #method:childSetProperty#
+
+#if ENABLE_OVERLOADING
+    ContainerChildSetPropertyMethodInfo     ,
+#endif
+    containerChildSetProperty               ,
+
+
+-- ** childType #method:childType#
+
+#if ENABLE_OVERLOADING
+    ContainerChildTypeMethodInfo            ,
+#endif
+    containerChildType                      ,
+
+
+-- ** forall #method:forall#
+
+#if ENABLE_OVERLOADING
+    ContainerForallMethodInfo               ,
+#endif
+    containerForall                         ,
+
+
+-- ** foreach #method:foreach#
+
+#if ENABLE_OVERLOADING
+    ContainerForeachMethodInfo              ,
+#endif
+    containerForeach                        ,
+
+
+-- ** getBorderWidth #method:getBorderWidth#
+
+#if ENABLE_OVERLOADING
+    ContainerGetBorderWidthMethodInfo       ,
+#endif
+    containerGetBorderWidth                 ,
+
+
+-- ** getChildren #method:getChildren#
+
+#if ENABLE_OVERLOADING
+    ContainerGetChildrenMethodInfo          ,
+#endif
+    containerGetChildren                    ,
+
+
+-- ** getFocusChain #method:getFocusChain#
+
+#if ENABLE_OVERLOADING
+    ContainerGetFocusChainMethodInfo        ,
+#endif
+    containerGetFocusChain                  ,
+
+
+-- ** getFocusChild #method:getFocusChild#
+
+#if ENABLE_OVERLOADING
+    ContainerGetFocusChildMethodInfo        ,
+#endif
+    containerGetFocusChild                  ,
+
+
+-- ** getFocusHadjustment #method:getFocusHadjustment#
+
+#if ENABLE_OVERLOADING
+    ContainerGetFocusHadjustmentMethodInfo  ,
+#endif
+    containerGetFocusHadjustment            ,
+
+
+-- ** getFocusVadjustment #method:getFocusVadjustment#
+
+#if ENABLE_OVERLOADING
+    ContainerGetFocusVadjustmentMethodInfo  ,
+#endif
+    containerGetFocusVadjustment            ,
+
+
+-- ** getPathForChild #method:getPathForChild#
+
+#if ENABLE_OVERLOADING
+    ContainerGetPathForChildMethodInfo      ,
+#endif
+    containerGetPathForChild                ,
+
+
+-- ** getResizeMode #method:getResizeMode#
+
+#if ENABLE_OVERLOADING
+    ContainerGetResizeModeMethodInfo        ,
+#endif
+    containerGetResizeMode                  ,
+
+
+-- ** propagateDraw #method:propagateDraw#
+
+#if ENABLE_OVERLOADING
+    ContainerPropagateDrawMethodInfo        ,
+#endif
+    containerPropagateDraw                  ,
+
+
+-- ** remove #method:remove#
+
+#if ENABLE_OVERLOADING
+    ContainerRemoveMethodInfo               ,
+#endif
+    containerRemove                         ,
+
+
+-- ** resizeChildren #method:resizeChildren#
+
+#if ENABLE_OVERLOADING
+    ContainerResizeChildrenMethodInfo       ,
+#endif
+    containerResizeChildren                 ,
+
+
+-- ** setBorderWidth #method:setBorderWidth#
+
+#if ENABLE_OVERLOADING
+    ContainerSetBorderWidthMethodInfo       ,
+#endif
+    containerSetBorderWidth                 ,
+
+
+-- ** setFocusChain #method:setFocusChain#
+
+#if ENABLE_OVERLOADING
+    ContainerSetFocusChainMethodInfo        ,
+#endif
+    containerSetFocusChain                  ,
+
+
+-- ** setFocusChild #method:setFocusChild#
+
+#if ENABLE_OVERLOADING
+    ContainerSetFocusChildMethodInfo        ,
+#endif
+    containerSetFocusChild                  ,
+
+
+-- ** setFocusHadjustment #method:setFocusHadjustment#
+
+#if ENABLE_OVERLOADING
+    ContainerSetFocusHadjustmentMethodInfo  ,
+#endif
+    containerSetFocusHadjustment            ,
+
+
+-- ** setFocusVadjustment #method:setFocusVadjustment#
+
+#if ENABLE_OVERLOADING
+    ContainerSetFocusVadjustmentMethodInfo  ,
+#endif
+    containerSetFocusVadjustment            ,
+
+
+-- ** setReallocateRedraws #method:setReallocateRedraws#
+
+#if ENABLE_OVERLOADING
+    ContainerSetReallocateRedrawsMethodInfo ,
+#endif
+    containerSetReallocateRedraws           ,
+
+
+-- ** setResizeMode #method:setResizeMode#
+
+#if ENABLE_OVERLOADING
+    ContainerSetResizeModeMethodInfo        ,
+#endif
+    containerSetResizeMode                  ,
+
+
+-- ** unsetFocusChain #method:unsetFocusChain#
+
+#if ENABLE_OVERLOADING
+    ContainerUnsetFocusChainMethodInfo      ,
+#endif
+    containerUnsetFocusChain                ,
+
+
+
+
+ -- * Properties
+-- ** borderWidth #attr:borderWidth#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ContainerBorderWidthPropertyInfo        ,
+#endif
+    constructContainerBorderWidth           ,
+#if ENABLE_OVERLOADING
+    containerBorderWidth                    ,
+#endif
+    getContainerBorderWidth                 ,
+    setContainerBorderWidth                 ,
+
+
+-- ** child #attr:child#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ContainerChildPropertyInfo              ,
+#endif
+    clearContainerChild                     ,
+    constructContainerChild                 ,
+#if ENABLE_OVERLOADING
+    containerChild                          ,
+#endif
+    setContainerChild                       ,
+
+
+-- ** resizeMode #attr:resizeMode#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ContainerResizeModePropertyInfo         ,
+#endif
+    constructContainerResizeMode            ,
+#if ENABLE_OVERLOADING
+    containerResizeMode                     ,
+#endif
+    getContainerResizeMode                  ,
+    setContainerResizeMode                  ,
+
+
+
+
+ -- * Signals
+-- ** add #signal:add#
+
+    C_ContainerAddCallback                  ,
+    ContainerAddCallback                    ,
+#if ENABLE_OVERLOADING
+    ContainerAddSignalInfo                  ,
+#endif
+    afterContainerAdd                       ,
+    genClosure_ContainerAdd                 ,
+    mk_ContainerAddCallback                 ,
+    noContainerAddCallback                  ,
+    onContainerAdd                          ,
+    wrap_ContainerAddCallback               ,
+
+
+-- ** checkResize #signal:checkResize#
+
+    C_ContainerCheckResizeCallback          ,
+    ContainerCheckResizeCallback            ,
+#if ENABLE_OVERLOADING
+    ContainerCheckResizeSignalInfo          ,
+#endif
+    afterContainerCheckResize               ,
+    genClosure_ContainerCheckResize         ,
+    mk_ContainerCheckResizeCallback         ,
+    noContainerCheckResizeCallback          ,
+    onContainerCheckResize                  ,
+    wrap_ContainerCheckResizeCallback       ,
+
+
+-- ** remove #signal:remove#
+
+    C_ContainerRemoveCallback               ,
+    ContainerRemoveCallback                 ,
+#if ENABLE_OVERLOADING
+    ContainerRemoveSignalInfo               ,
+#endif
+    afterContainerRemove                    ,
+    genClosure_ContainerRemove              ,
+    mk_ContainerRemoveCallback              ,
+    noContainerRemoveCallback               ,
+    onContainerRemove                       ,
+    wrap_ContainerRemoveCallback            ,
+
+
+-- ** setFocusChild #signal:setFocusChild#
+
+    C_ContainerSetFocusChildCallback        ,
+    ContainerSetFocusChildCallback          ,
+#if ENABLE_OVERLOADING
+    ContainerSetFocusChildSignalInfo        ,
+#endif
+    afterContainerSetFocusChild             ,
+    genClosure_ContainerSetFocusChild       ,
+    mk_ContainerSetFocusChildCallback       ,
+    noContainerSetFocusChildCallback        ,
+    onContainerSetFocusChild                ,
+    wrap_ContainerSetFocusChildCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.Cairo.Structs.Context as Cairo.Context
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.WidgetPath as Gtk.WidgetPath
+
+-- | Memory-managed wrapper type.
+newtype Container = Container (ManagedPtr Container)
+foreign import ccall "gtk_container_get_type"
+    c_gtk_container_get_type :: IO GType
+
+instance GObject Container where
+    gobjectType = c_gtk_container_get_type
+    
+
+-- | Type class for types which can be safely cast to `Container`, for instance with `toContainer`.
+class (GObject o, O.IsDescendantOf Container o) => IsContainer o
+instance (GObject o, O.IsDescendantOf Container o) => IsContainer o
+
+instance O.HasParentTypes Container
+type instance O.ParentTypes Container = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Container`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toContainer :: (MonadIO m, IsContainer o) => o -> m Container
+toContainer = liftIO . unsafeCastTo Container
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Container`.
+noContainer :: Maybe Container
+noContainer = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveContainerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveContainerMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveContainerMethod "add" o = ContainerAddMethodInfo
+    ResolveContainerMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveContainerMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveContainerMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveContainerMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveContainerMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveContainerMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveContainerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveContainerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveContainerMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveContainerMethod "checkResize" o = ContainerCheckResizeMethodInfo
+    ResolveContainerMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveContainerMethod "childGetProperty" o = ContainerChildGetPropertyMethodInfo
+    ResolveContainerMethod "childNotify" o = ContainerChildNotifyMethodInfo
+    ResolveContainerMethod "childNotifyByPspec" o = ContainerChildNotifyByPspecMethodInfo
+    ResolveContainerMethod "childSetProperty" o = ContainerChildSetPropertyMethodInfo
+    ResolveContainerMethod "childType" o = ContainerChildTypeMethodInfo
+    ResolveContainerMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveContainerMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveContainerMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveContainerMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveContainerMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveContainerMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveContainerMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveContainerMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveContainerMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveContainerMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveContainerMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveContainerMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveContainerMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveContainerMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveContainerMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveContainerMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveContainerMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveContainerMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveContainerMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveContainerMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveContainerMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveContainerMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveContainerMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveContainerMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveContainerMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveContainerMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveContainerMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveContainerMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveContainerMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveContainerMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveContainerMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveContainerMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveContainerMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveContainerMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveContainerMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveContainerMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveContainerMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveContainerMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveContainerMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveContainerMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveContainerMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveContainerMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveContainerMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveContainerMethod "forall" o = ContainerForallMethodInfo
+    ResolveContainerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveContainerMethod "foreach" o = ContainerForeachMethodInfo
+    ResolveContainerMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveContainerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveContainerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveContainerMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveContainerMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveContainerMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveContainerMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveContainerMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveContainerMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveContainerMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveContainerMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveContainerMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveContainerMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveContainerMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveContainerMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveContainerMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveContainerMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveContainerMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveContainerMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveContainerMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveContainerMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveContainerMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveContainerMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveContainerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveContainerMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveContainerMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveContainerMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveContainerMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveContainerMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveContainerMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveContainerMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveContainerMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveContainerMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveContainerMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveContainerMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveContainerMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveContainerMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveContainerMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveContainerMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveContainerMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveContainerMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveContainerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveContainerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveContainerMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveContainerMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveContainerMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveContainerMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveContainerMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveContainerMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveContainerMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveContainerMethod "propagateDraw" o = ContainerPropagateDrawMethodInfo
+    ResolveContainerMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveContainerMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveContainerMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveContainerMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveContainerMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveContainerMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveContainerMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveContainerMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveContainerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveContainerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveContainerMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveContainerMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveContainerMethod "remove" o = ContainerRemoveMethodInfo
+    ResolveContainerMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveContainerMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveContainerMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveContainerMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveContainerMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveContainerMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveContainerMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveContainerMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveContainerMethod "resizeChildren" o = ContainerResizeChildrenMethodInfo
+    ResolveContainerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveContainerMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveContainerMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveContainerMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveContainerMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveContainerMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveContainerMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveContainerMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveContainerMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveContainerMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveContainerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveContainerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveContainerMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveContainerMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveContainerMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveContainerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveContainerMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveContainerMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveContainerMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveContainerMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveContainerMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveContainerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveContainerMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveContainerMethod "unsetFocusChain" o = ContainerUnsetFocusChainMethodInfo
+    ResolveContainerMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveContainerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveContainerMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveContainerMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveContainerMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveContainerMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveContainerMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveContainerMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveContainerMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveContainerMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveContainerMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveContainerMethod "getBorderWidth" o = ContainerGetBorderWidthMethodInfo
+    ResolveContainerMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveContainerMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveContainerMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveContainerMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveContainerMethod "getChildren" o = ContainerGetChildrenMethodInfo
+    ResolveContainerMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveContainerMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveContainerMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveContainerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveContainerMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveContainerMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveContainerMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveContainerMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveContainerMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveContainerMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveContainerMethod "getFocusChain" o = ContainerGetFocusChainMethodInfo
+    ResolveContainerMethod "getFocusChild" o = ContainerGetFocusChildMethodInfo
+    ResolveContainerMethod "getFocusHadjustment" o = ContainerGetFocusHadjustmentMethodInfo
+    ResolveContainerMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveContainerMethod "getFocusVadjustment" o = ContainerGetFocusVadjustmentMethodInfo
+    ResolveContainerMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveContainerMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveContainerMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveContainerMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveContainerMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveContainerMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveContainerMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveContainerMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveContainerMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveContainerMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveContainerMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveContainerMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveContainerMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveContainerMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveContainerMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveContainerMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveContainerMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveContainerMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveContainerMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveContainerMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveContainerMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveContainerMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveContainerMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveContainerMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveContainerMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveContainerMethod "getPathForChild" o = ContainerGetPathForChildMethodInfo
+    ResolveContainerMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveContainerMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveContainerMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveContainerMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveContainerMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveContainerMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveContainerMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveContainerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveContainerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveContainerMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveContainerMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveContainerMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveContainerMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveContainerMethod "getResizeMode" o = ContainerGetResizeModeMethodInfo
+    ResolveContainerMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveContainerMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveContainerMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveContainerMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveContainerMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveContainerMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveContainerMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveContainerMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveContainerMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveContainerMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveContainerMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveContainerMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveContainerMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveContainerMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveContainerMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveContainerMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveContainerMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveContainerMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveContainerMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveContainerMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveContainerMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveContainerMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveContainerMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveContainerMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveContainerMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveContainerMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveContainerMethod "setBorderWidth" o = ContainerSetBorderWidthMethodInfo
+    ResolveContainerMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveContainerMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveContainerMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveContainerMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveContainerMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveContainerMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveContainerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveContainerMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveContainerMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveContainerMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveContainerMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveContainerMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveContainerMethod "setFocusChain" o = ContainerSetFocusChainMethodInfo
+    ResolveContainerMethod "setFocusChild" o = ContainerSetFocusChildMethodInfo
+    ResolveContainerMethod "setFocusHadjustment" o = ContainerSetFocusHadjustmentMethodInfo
+    ResolveContainerMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveContainerMethod "setFocusVadjustment" o = ContainerSetFocusVadjustmentMethodInfo
+    ResolveContainerMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveContainerMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveContainerMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveContainerMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveContainerMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveContainerMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveContainerMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveContainerMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveContainerMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveContainerMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveContainerMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveContainerMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveContainerMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveContainerMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveContainerMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveContainerMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveContainerMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveContainerMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveContainerMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveContainerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveContainerMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveContainerMethod "setReallocateRedraws" o = ContainerSetReallocateRedrawsMethodInfo
+    ResolveContainerMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveContainerMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveContainerMethod "setResizeMode" o = ContainerSetResizeModeMethodInfo
+    ResolveContainerMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveContainerMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveContainerMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveContainerMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveContainerMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveContainerMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveContainerMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveContainerMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveContainerMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveContainerMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveContainerMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveContainerMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveContainerMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveContainerMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveContainerMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveContainerMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveContainerMethod t Container, O.MethodInfo info Container p) => OL.IsLabel t (Container -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Container::add
+{- |
+/No description available in the introspection data./
+-}
+type ContainerAddCallback =
+    Gtk.Widget.Widget
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ContainerAddCallback`@.
+noContainerAddCallback :: Maybe ContainerAddCallback
+noContainerAddCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ContainerAddCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ContainerAddCallback`.
+foreign import ccall "wrapper"
+    mk_ContainerAddCallback :: C_ContainerAddCallback -> IO (FunPtr C_ContainerAddCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ContainerAdd :: MonadIO m => ContainerAddCallback -> m (GClosure C_ContainerAddCallback)
+genClosure_ContainerAdd cb = liftIO $ do
+    let cb' = wrap_ContainerAddCallback cb
+    mk_ContainerAddCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ContainerAddCallback` into a `C_ContainerAddCallback`.
+wrap_ContainerAddCallback ::
+    ContainerAddCallback ->
+    C_ContainerAddCallback
+wrap_ContainerAddCallback _cb _ object _ = do
+    object' <- (newObject Gtk.Widget.Widget) object
+    _cb  object'
+
+
+{- |
+Connect a signal handler for the “@add@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' container #add callback
+@
+-}
+onContainerAdd :: (IsContainer a, MonadIO m) => a -> ContainerAddCallback -> m SignalHandlerId
+onContainerAdd obj cb = liftIO $ do
+    let cb' = wrap_ContainerAddCallback cb
+    cb'' <- mk_ContainerAddCallback cb'
+    connectSignalFunPtr obj "add" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@add@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' container #add callback
+@
+-}
+afterContainerAdd :: (IsContainer a, MonadIO m) => a -> ContainerAddCallback -> m SignalHandlerId
+afterContainerAdd obj cb = liftIO $ do
+    let cb' = wrap_ContainerAddCallback cb
+    cb'' <- mk_ContainerAddCallback cb'
+    connectSignalFunPtr obj "add" cb'' SignalConnectAfter
+
+
+-- signal Container::check-resize
+{- |
+/No description available in the introspection data./
+-}
+type ContainerCheckResizeCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ContainerCheckResizeCallback`@.
+noContainerCheckResizeCallback :: Maybe ContainerCheckResizeCallback
+noContainerCheckResizeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ContainerCheckResizeCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ContainerCheckResizeCallback`.
+foreign import ccall "wrapper"
+    mk_ContainerCheckResizeCallback :: C_ContainerCheckResizeCallback -> IO (FunPtr C_ContainerCheckResizeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ContainerCheckResize :: MonadIO m => ContainerCheckResizeCallback -> m (GClosure C_ContainerCheckResizeCallback)
+genClosure_ContainerCheckResize cb = liftIO $ do
+    let cb' = wrap_ContainerCheckResizeCallback cb
+    mk_ContainerCheckResizeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ContainerCheckResizeCallback` into a `C_ContainerCheckResizeCallback`.
+wrap_ContainerCheckResizeCallback ::
+    ContainerCheckResizeCallback ->
+    C_ContainerCheckResizeCallback
+wrap_ContainerCheckResizeCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@check-resize@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' container #checkResize callback
+@
+-}
+onContainerCheckResize :: (IsContainer a, MonadIO m) => a -> ContainerCheckResizeCallback -> m SignalHandlerId
+onContainerCheckResize obj cb = liftIO $ do
+    let cb' = wrap_ContainerCheckResizeCallback cb
+    cb'' <- mk_ContainerCheckResizeCallback cb'
+    connectSignalFunPtr obj "check-resize" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@check-resize@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' container #checkResize callback
+@
+-}
+afterContainerCheckResize :: (IsContainer a, MonadIO m) => a -> ContainerCheckResizeCallback -> m SignalHandlerId
+afterContainerCheckResize obj cb = liftIO $ do
+    let cb' = wrap_ContainerCheckResizeCallback cb
+    cb'' <- mk_ContainerCheckResizeCallback cb'
+    connectSignalFunPtr obj "check-resize" cb'' SignalConnectAfter
+
+
+-- signal Container::remove
+{- |
+/No description available in the introspection data./
+-}
+type ContainerRemoveCallback =
+    Gtk.Widget.Widget
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ContainerRemoveCallback`@.
+noContainerRemoveCallback :: Maybe ContainerRemoveCallback
+noContainerRemoveCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ContainerRemoveCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ContainerRemoveCallback`.
+foreign import ccall "wrapper"
+    mk_ContainerRemoveCallback :: C_ContainerRemoveCallback -> IO (FunPtr C_ContainerRemoveCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ContainerRemove :: MonadIO m => ContainerRemoveCallback -> m (GClosure C_ContainerRemoveCallback)
+genClosure_ContainerRemove cb = liftIO $ do
+    let cb' = wrap_ContainerRemoveCallback cb
+    mk_ContainerRemoveCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ContainerRemoveCallback` into a `C_ContainerRemoveCallback`.
+wrap_ContainerRemoveCallback ::
+    ContainerRemoveCallback ->
+    C_ContainerRemoveCallback
+wrap_ContainerRemoveCallback _cb _ object _ = do
+    object' <- (newObject Gtk.Widget.Widget) object
+    _cb  object'
+
+
+{- |
+Connect a signal handler for the “@remove@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' container #remove callback
+@
+-}
+onContainerRemove :: (IsContainer a, MonadIO m) => a -> ContainerRemoveCallback -> m SignalHandlerId
+onContainerRemove obj cb = liftIO $ do
+    let cb' = wrap_ContainerRemoveCallback cb
+    cb'' <- mk_ContainerRemoveCallback cb'
+    connectSignalFunPtr obj "remove" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@remove@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' container #remove callback
+@
+-}
+afterContainerRemove :: (IsContainer a, MonadIO m) => a -> ContainerRemoveCallback -> m SignalHandlerId
+afterContainerRemove obj cb = liftIO $ do
+    let cb' = wrap_ContainerRemoveCallback cb
+    cb'' <- mk_ContainerRemoveCallback cb'
+    connectSignalFunPtr obj "remove" cb'' SignalConnectAfter
+
+
+-- signal Container::set-focus-child
+{- |
+/No description available in the introspection data./
+-}
+type ContainerSetFocusChildCallback =
+    Gtk.Widget.Widget
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ContainerSetFocusChildCallback`@.
+noContainerSetFocusChildCallback :: Maybe ContainerSetFocusChildCallback
+noContainerSetFocusChildCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ContainerSetFocusChildCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ContainerSetFocusChildCallback`.
+foreign import ccall "wrapper"
+    mk_ContainerSetFocusChildCallback :: C_ContainerSetFocusChildCallback -> IO (FunPtr C_ContainerSetFocusChildCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ContainerSetFocusChild :: MonadIO m => ContainerSetFocusChildCallback -> m (GClosure C_ContainerSetFocusChildCallback)
+genClosure_ContainerSetFocusChild cb = liftIO $ do
+    let cb' = wrap_ContainerSetFocusChildCallback cb
+    mk_ContainerSetFocusChildCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ContainerSetFocusChildCallback` into a `C_ContainerSetFocusChildCallback`.
+wrap_ContainerSetFocusChildCallback ::
+    ContainerSetFocusChildCallback ->
+    C_ContainerSetFocusChildCallback
+wrap_ContainerSetFocusChildCallback _cb _ object _ = do
+    object' <- (newObject Gtk.Widget.Widget) object
+    _cb  object'
+
+
+{- |
+Connect a signal handler for the “@set-focus-child@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' container #setFocusChild callback
+@
+-}
+onContainerSetFocusChild :: (IsContainer a, MonadIO m) => a -> ContainerSetFocusChildCallback -> m SignalHandlerId
+onContainerSetFocusChild obj cb = liftIO $ do
+    let cb' = wrap_ContainerSetFocusChildCallback cb
+    cb'' <- mk_ContainerSetFocusChildCallback cb'
+    connectSignalFunPtr obj "set-focus-child" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@set-focus-child@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' container #setFocusChild callback
+@
+-}
+afterContainerSetFocusChild :: (IsContainer a, MonadIO m) => a -> ContainerSetFocusChildCallback -> m SignalHandlerId
+afterContainerSetFocusChild obj cb = liftIO $ do
+    let cb' = wrap_ContainerSetFocusChildCallback cb
+    cb'' <- mk_ContainerSetFocusChildCallback cb'
+    connectSignalFunPtr obj "set-focus-child" cb'' SignalConnectAfter
+
+
+-- VVV Prop "border-width"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@border-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' container #borderWidth
+@
+-}
+getContainerBorderWidth :: (MonadIO m, IsContainer o) => o -> m Word32
+getContainerBorderWidth obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "border-width"
+
+{- |
+Set the value of the “@border-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' container [ #borderWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setContainerBorderWidth :: (MonadIO m, IsContainer o) => o -> Word32 -> m ()
+setContainerBorderWidth obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "border-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@border-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructContainerBorderWidth :: (IsContainer o) => Word32 -> IO (GValueConstruct o)
+constructContainerBorderWidth val = B.Properties.constructObjectPropertyUInt32 "border-width" val
+
+#if ENABLE_OVERLOADING
+data ContainerBorderWidthPropertyInfo
+instance AttrInfo ContainerBorderWidthPropertyInfo where
+    type AttrAllowedOps ContainerBorderWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ContainerBorderWidthPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint ContainerBorderWidthPropertyInfo = IsContainer
+    type AttrGetType ContainerBorderWidthPropertyInfo = Word32
+    type AttrLabel ContainerBorderWidthPropertyInfo = "border-width"
+    type AttrOrigin ContainerBorderWidthPropertyInfo = Container
+    attrGet _ = getContainerBorderWidth
+    attrSet _ = setContainerBorderWidth
+    attrConstruct _ = constructContainerBorderWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "child"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' container [ #child 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setContainerChild :: (MonadIO m, IsContainer o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setContainerChild obj val = liftIO $ B.Properties.setObjectPropertyObject obj "child" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@child@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructContainerChild :: (IsContainer o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructContainerChild val = B.Properties.constructObjectPropertyObject "child" (Just val)
+
+{- |
+Set the value of the “@child@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #child
+@
+-}
+clearContainerChild :: (MonadIO m, IsContainer o) => o -> m ()
+clearContainerChild obj = liftIO $ B.Properties.setObjectPropertyObject obj "child" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data ContainerChildPropertyInfo
+instance AttrInfo ContainerChildPropertyInfo where
+    type AttrAllowedOps ContainerChildPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint ContainerChildPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint ContainerChildPropertyInfo = IsContainer
+    type AttrGetType ContainerChildPropertyInfo = ()
+    type AttrLabel ContainerChildPropertyInfo = "child"
+    type AttrOrigin ContainerChildPropertyInfo = Container
+    attrGet _ = undefined
+    attrSet _ = setContainerChild
+    attrConstruct _ = constructContainerChild
+    attrClear _ = clearContainerChild
+#endif
+
+-- VVV Prop "resize-mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ResizeMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@resize-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' container #resizeMode
+@
+-}
+getContainerResizeMode :: (MonadIO m, IsContainer o) => o -> m Gtk.Enums.ResizeMode
+getContainerResizeMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "resize-mode"
+
+{- |
+Set the value of the “@resize-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' container [ #resizeMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setContainerResizeMode :: (MonadIO m, IsContainer o) => o -> Gtk.Enums.ResizeMode -> m ()
+setContainerResizeMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "resize-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@resize-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructContainerResizeMode :: (IsContainer o) => Gtk.Enums.ResizeMode -> IO (GValueConstruct o)
+constructContainerResizeMode val = B.Properties.constructObjectPropertyEnum "resize-mode" val
+
+#if ENABLE_OVERLOADING
+data ContainerResizeModePropertyInfo
+instance AttrInfo ContainerResizeModePropertyInfo where
+    type AttrAllowedOps ContainerResizeModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ContainerResizeModePropertyInfo = (~) Gtk.Enums.ResizeMode
+    type AttrBaseTypeConstraint ContainerResizeModePropertyInfo = IsContainer
+    type AttrGetType ContainerResizeModePropertyInfo = Gtk.Enums.ResizeMode
+    type AttrLabel ContainerResizeModePropertyInfo = "resize-mode"
+    type AttrOrigin ContainerResizeModePropertyInfo = Container
+    attrGet _ = getContainerResizeMode
+    attrSet _ = setContainerResizeMode
+    attrConstruct _ = constructContainerResizeMode
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Container
+type instance O.AttributeList Container = ContainerAttributeList
+type ContainerAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+containerBorderWidth :: AttrLabelProxy "borderWidth"
+containerBorderWidth = AttrLabelProxy
+
+containerChild :: AttrLabelProxy "child"
+containerChild = AttrLabelProxy
+
+containerResizeMode :: AttrLabelProxy "resizeMode"
+containerResizeMode = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ContainerAddSignalInfo
+instance SignalInfo ContainerAddSignalInfo where
+    type HaskellCallbackType ContainerAddSignalInfo = ContainerAddCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ContainerAddCallback cb
+        cb'' <- mk_ContainerAddCallback cb'
+        connectSignalFunPtr obj "add" cb'' connectMode
+
+data ContainerCheckResizeSignalInfo
+instance SignalInfo ContainerCheckResizeSignalInfo where
+    type HaskellCallbackType ContainerCheckResizeSignalInfo = ContainerCheckResizeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ContainerCheckResizeCallback cb
+        cb'' <- mk_ContainerCheckResizeCallback cb'
+        connectSignalFunPtr obj "check-resize" cb'' connectMode
+
+data ContainerRemoveSignalInfo
+instance SignalInfo ContainerRemoveSignalInfo where
+    type HaskellCallbackType ContainerRemoveSignalInfo = ContainerRemoveCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ContainerRemoveCallback cb
+        cb'' <- mk_ContainerRemoveCallback cb'
+        connectSignalFunPtr obj "remove" cb'' connectMode
+
+data ContainerSetFocusChildSignalInfo
+instance SignalInfo ContainerSetFocusChildSignalInfo where
+    type HaskellCallbackType ContainerSetFocusChildSignalInfo = ContainerSetFocusChildCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ContainerSetFocusChildCallback cb
+        cb'' <- mk_ContainerSetFocusChildCallback cb'
+        connectSignalFunPtr obj "set-focus-child" cb'' connectMode
+
+type instance O.SignalList Container = ContainerSignalList
+type ContainerSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Container::add
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget to be placed inside @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_add" gtk_container_add :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds /@widget@/ to /@container@/. Typically used for simple containers
+such as 'GI.Gtk.Objects.Window.Window', 'GI.Gtk.Objects.Frame.Frame', or 'GI.Gtk.Objects.Button.Button'; for more complicated
+layout containers such as 'GI.Gtk.Objects.Box.Box' or 'GI.Gtk.Objects.Grid.Grid', this function will
+pick default packing parameters that may not be correct.  So
+consider functions such as 'GI.Gtk.Objects.Box.boxPackStart' and
+'GI.Gtk.Objects.Grid.gridAttach' as an alternative to 'GI.Gtk.Objects.Container.containerAdd' in
+those cases. A widget may be added to only one container at a time;
+you can’t place the same widget inside two different containers.
+
+Note that some containers, such as 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' or 'GI.Gtk.Objects.ListBox.ListBox',
+may add intermediate children between the added widget and the
+container.
+-}
+containerAdd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@widget@/: a widget to be placed inside /@container@/ -}
+    -> m ()
+containerAdd container widget = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_container_add container' widget'
+    touchManagedPtr container
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerAddMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerAddMethodInfo a signature where
+    overloadedMethod _ = containerAdd
+
+#endif
+
+-- method Container::check_resize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_check_resize" gtk_container_check_resize :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+containerCheckResize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    -> m ()
+containerCheckResize container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    gtk_container_check_resize container'
+    touchManagedPtr container
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerCheckResizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsContainer a) => O.MethodInfo ContainerCheckResizeMethodInfo a signature where
+    overloadedMethod _ = containerCheckResize
+
+#endif
+
+-- method Container::child_get_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget which is a child of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to return the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_child_get_property" gtk_container_child_get_property :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- property_name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Gets the value of a child property for /@child@/ and /@container@/.
+-}
+containerChildGetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@child@/: a widget which is a child of /@container@/ -}
+    -> T.Text
+    {- ^ /@propertyName@/: the name of the property to get -}
+    -> GValue
+    {- ^ /@value@/: a location to return the value -}
+    -> m ()
+containerChildGetProperty container child propertyName value = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    child' <- unsafeManagedPtrCastPtr child
+    propertyName' <- textToCString propertyName
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_container_child_get_property container' child' propertyName' value'
+    touchManagedPtr container
+    touchManagedPtr child
+    touchManagedPtr value
+    freeMem propertyName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerChildGetPropertyMethodInfo
+instance (signature ~ (b -> T.Text -> GValue -> m ()), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerChildGetPropertyMethodInfo a signature where
+    overloadedMethod _ = containerChildGetProperty
+
+#endif
+
+-- method Container::child_notify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a child property installed on\n    the class of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_child_notify" gtk_container_child_notify :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- child_property : TBasicType TUTF8
+    IO ()
+
+{- |
+Emits a 'GI.Gtk.Objects.Widget.Widget'::@/child-notify/@ signal for the
+[child property][child-properties]
+/@childProperty@/ on the child.
+
+This is an analogue of 'GI.GObject.Objects.Object.objectNotify' for child properties.
+
+Also see 'GI.Gtk.Objects.Widget.widgetChildNotify'.
+
+/Since: 3.2/
+-}
+containerChildNotify ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: the 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@child@/: the child widget -}
+    -> T.Text
+    {- ^ /@childProperty@/: the name of a child property installed on
+    the class of /@container@/ -}
+    -> m ()
+containerChildNotify container child childProperty = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    child' <- unsafeManagedPtrCastPtr child
+    childProperty' <- textToCString childProperty
+    gtk_container_child_notify container' child' childProperty'
+    touchManagedPtr container
+    touchManagedPtr child
+    freeMem childProperty'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerChildNotifyMethodInfo
+instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerChildNotifyMethodInfo a signature where
+    overloadedMethod _ = containerChildNotify
+
+#endif
+
+-- method Container::child_notify_by_pspec
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec of a child property instealled on\n    the class of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_child_notify_by_pspec" gtk_container_child_notify_by_pspec :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    IO ()
+
+{- |
+Emits a 'GI.Gtk.Objects.Widget.Widget'::@/child-notify/@ signal for the
+[child property][child-properties] specified by
+/@pspec@/ on the child.
+
+This is an analogue of 'GI.GObject.Objects.Object.objectNotifyByPspec' for child properties.
+
+/Since: 3.18/
+-}
+containerChildNotifyByPspec ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: the 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@child@/: the child widget -}
+    -> GParamSpec
+    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' of a child property instealled on
+    the class of /@container@/ -}
+    -> m ()
+containerChildNotifyByPspec container child pspec = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    child' <- unsafeManagedPtrCastPtr child
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    gtk_container_child_notify_by_pspec container' child' pspec'
+    touchManagedPtr container
+    touchManagedPtr child
+    touchManagedPtr pspec
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerChildNotifyByPspecMethodInfo
+instance (signature ~ (b -> GParamSpec -> m ()), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerChildNotifyByPspecMethodInfo a signature where
+    overloadedMethod _ = containerChildNotifyByPspec
+
+#endif
+
+-- method Container::child_set_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget which is a child of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the property to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to set the property to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_child_set_property" gtk_container_child_set_property :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- property_name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Sets a child property for /@child@/ and /@container@/.
+-}
+containerChildSetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@child@/: a widget which is a child of /@container@/ -}
+    -> T.Text
+    {- ^ /@propertyName@/: the name of the property to set -}
+    -> GValue
+    {- ^ /@value@/: the value to set the property to -}
+    -> m ()
+containerChildSetProperty container child propertyName value = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    child' <- unsafeManagedPtrCastPtr child
+    propertyName' <- textToCString propertyName
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_container_child_set_property container' child' propertyName' value'
+    touchManagedPtr container
+    touchManagedPtr child
+    touchManagedPtr value
+    freeMem propertyName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerChildSetPropertyMethodInfo
+instance (signature ~ (b -> T.Text -> GValue -> m ()), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerChildSetPropertyMethodInfo a signature where
+    overloadedMethod _ = containerChildSetProperty
+
+#endif
+
+-- method Container::child_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TGType)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_child_type" gtk_container_child_type :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO CGType
+
+{- |
+Returns the type of the children supported by the container.
+
+Note that this may return @/G_TYPE_NONE/@ to indicate that no more
+children can be added, e.g. for a 'GI.Gtk.Objects.Paned.Paned' which already has two
+children.
+-}
+containerChildType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m GType
+    {- ^ __Returns:__ a 'GType'. -}
+containerChildType container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    result <- gtk_container_child_type container'
+    let result' = GType result
+    touchManagedPtr container
+    return result'
+
+#if ENABLE_OVERLOADING
+data ContainerChildTypeMethodInfo
+instance (signature ~ (m GType), MonadIO m, IsContainer a) => O.MethodInfo ContainerChildTypeMethodInfo a signature where
+    overloadedMethod _ = containerChildType
+
+#endif
+
+-- method Container::forall
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "Callback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a callback", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "callback user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_forall" gtk_container_forall :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    FunPtr Gtk.Callbacks.C_Callback ->      -- callback : TInterface (Name {namespace = "Gtk", name = "Callback"})
+    Ptr () ->                               -- callback_data : TBasicType TPtr
+    IO ()
+
+{- |
+Invokes /@callback@/ on each direct child of /@container@/, including
+children that are considered “internal” (implementation details
+of the container). “Internal” children generally weren’t added
+by the user of the container, but were added by the container
+implementation itself.
+
+Most applications should use 'GI.Gtk.Objects.Container.containerForeach', rather
+than 'GI.Gtk.Objects.Container.containerForall'.
+-}
+containerForall ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> Gtk.Callbacks.Callback
+    {- ^ /@callback@/: a callback -}
+    -> m ()
+containerForall container callback = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    callback' <- Gtk.Callbacks.mk_Callback (Gtk.Callbacks.wrap_Callback Nothing (Gtk.Callbacks.drop_closures_Callback callback))
+    let callbackData = nullPtr
+    gtk_container_forall container' callback' callbackData
+    safeFreeFunPtr $ castFunPtrToPtr callback'
+    touchManagedPtr container
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerForallMethodInfo
+instance (signature ~ (Gtk.Callbacks.Callback -> m ()), MonadIO m, IsContainer a) => O.MethodInfo ContainerForallMethodInfo a signature where
+    overloadedMethod _ = containerForall
+
+#endif
+
+-- method Container::foreach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "Callback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a callback", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "callback user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_foreach" gtk_container_foreach :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    FunPtr Gtk.Callbacks.C_Callback ->      -- callback : TInterface (Name {namespace = "Gtk", name = "Callback"})
+    Ptr () ->                               -- callback_data : TBasicType TPtr
+    IO ()
+
+{- |
+Invokes /@callback@/ on each non-internal child of /@container@/.
+See 'GI.Gtk.Objects.Container.containerForall' for details on what constitutes
+an “internal” child. For all practical purposes, this function
+should iterate over precisely those child widgets that were
+added to the container by the application with explicit @/add()/@
+calls.
+
+It is permissible to remove the child from the /@callback@/ handler.
+
+Most applications should use 'GI.Gtk.Objects.Container.containerForeach',
+rather than 'GI.Gtk.Objects.Container.containerForall'.
+-}
+containerForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> Gtk.Callbacks.Callback
+    {- ^ /@callback@/: a callback -}
+    -> m ()
+containerForeach container callback = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    callback' <- Gtk.Callbacks.mk_Callback (Gtk.Callbacks.wrap_Callback Nothing (Gtk.Callbacks.drop_closures_Callback callback))
+    let callbackData = nullPtr
+    gtk_container_foreach container' callback' callbackData
+    safeFreeFunPtr $ castFunPtrToPtr callback'
+    touchManagedPtr container
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerForeachMethodInfo
+instance (signature ~ (Gtk.Callbacks.Callback -> m ()), MonadIO m, IsContainer a) => O.MethodInfo ContainerForeachMethodInfo a signature where
+    overloadedMethod _ = containerForeach
+
+#endif
+
+-- method Container::get_border_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_get_border_width" gtk_container_get_border_width :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO Word32
+
+{- |
+Retrieves the border width of the container. See
+'GI.Gtk.Objects.Container.containerSetBorderWidth'.
+-}
+containerGetBorderWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m Word32
+    {- ^ __Returns:__ the current border width -}
+containerGetBorderWidth container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    result <- gtk_container_get_border_width container'
+    touchManagedPtr container
+    return result
+
+#if ENABLE_OVERLOADING
+data ContainerGetBorderWidthMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsContainer a) => O.MethodInfo ContainerGetBorderWidthMethodInfo a signature where
+    overloadedMethod _ = containerGetBorderWidth
+
+#endif
+
+-- method Container::get_children
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Widget"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_get_children" gtk_container_get_children :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO (Ptr (GList (Ptr Gtk.Widget.Widget)))
+
+{- |
+Returns the container’s non-internal children. See
+'GI.Gtk.Objects.Container.containerForall' for details on what constitutes an \"internal\" child.
+-}
+containerGetChildren ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m [Gtk.Widget.Widget]
+    {- ^ __Returns:__ a newly-allocated list of the container’s non-internal children. -}
+containerGetChildren container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    result <- gtk_container_get_children container'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.Widget.Widget) result'
+    g_list_free result
+    touchManagedPtr container
+    return result''
+
+#if ENABLE_OVERLOADING
+data ContainerGetChildrenMethodInfo
+instance (signature ~ (m [Gtk.Widget.Widget]), MonadIO m, IsContainer a) => O.MethodInfo ContainerGetChildrenMethodInfo a signature where
+    overloadedMethod _ = containerGetChildren
+
+#endif
+
+-- method Container::get_focus_chain
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focusable_widgets", argType = TGList (TInterface (Name {namespace = "Gtk", name = "Widget"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location\n                    to store the focus chain of the\n                    container, or %NULL. You should free this list\n                    using g_list_free() when you are done with it, however\n                    no additional reference count is added to the\n                    individual widgets in the focus chain.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferContainer}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_get_focus_chain" gtk_container_get_focus_chain :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr (Ptr (GList (Ptr Gtk.Widget.Widget))) -> -- focusable_widgets : TGList (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+    IO CInt
+
+{-# DEPRECATED containerGetFocusChain ["(Since version 3.24)","For overriding focus behavior, use the","    GtkWidgetClass::focus signal."] #-}
+{- |
+Retrieves the focus chain of the container, if one has been
+set explicitly. If no focus chain has been explicitly
+set, GTK+ computes the focus chain based on the positions
+of the children. In that case, GTK+ stores 'Nothing' in
+/@focusableWidgets@/ and returns 'False'.
+-}
+containerGetFocusChain ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m ((Bool, [Gtk.Widget.Widget]))
+    {- ^ __Returns:__ 'True' if the focus chain of the container
+has been set explicitly. -}
+containerGetFocusChain container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    focusableWidgets <- allocMem :: IO (Ptr (Ptr (GList (Ptr Gtk.Widget.Widget))))
+    result <- gtk_container_get_focus_chain container' focusableWidgets
+    let result' = (/= 0) result
+    focusableWidgets' <- peek focusableWidgets
+    focusableWidgets'' <- unpackGList focusableWidgets'
+    focusableWidgets''' <- mapM (newObject Gtk.Widget.Widget) focusableWidgets''
+    g_list_free focusableWidgets'
+    touchManagedPtr container
+    freeMem focusableWidgets
+    return (result', focusableWidgets''')
+
+#if ENABLE_OVERLOADING
+data ContainerGetFocusChainMethodInfo
+instance (signature ~ (m ((Bool, [Gtk.Widget.Widget]))), MonadIO m, IsContainer a) => O.MethodInfo ContainerGetFocusChainMethodInfo a signature where
+    overloadedMethod _ = containerGetFocusChain
+
+#endif
+
+-- method Container::get_focus_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_get_focus_child" gtk_container_get_focus_child :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the current focus child widget inside /@container@/. This is not the
+currently focused widget. That can be obtained by calling
+'GI.Gtk.Objects.Window.windowGetFocus'.
+
+/Since: 2.14/
+-}
+containerGetFocusChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ The child widget which will receive the
+         focus inside /@container@/ when the /@container@/ is focused,
+         or 'Nothing' if none is set. -}
+containerGetFocusChild container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    result <- gtk_container_get_focus_child container'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr container
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ContainerGetFocusChildMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsContainer a) => O.MethodInfo ContainerGetFocusChildMethodInfo a signature where
+    overloadedMethod _ = containerGetFocusChild
+
+#endif
+
+-- method Container::get_focus_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_get_focus_hadjustment" gtk_container_get_focus_hadjustment :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Retrieves the horizontal focus adjustment for the container. See
+gtk_container_set_focus_hadjustment ().
+-}
+containerGetFocusHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m (Maybe Gtk.Adjustment.Adjustment)
+    {- ^ __Returns:__ the horizontal focus adjustment, or 'Nothing' if
+  none has been set. -}
+containerGetFocusHadjustment container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    result <- gtk_container_get_focus_hadjustment container'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Adjustment.Adjustment) result'
+        return result''
+    touchManagedPtr container
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ContainerGetFocusHadjustmentMethodInfo
+instance (signature ~ (m (Maybe Gtk.Adjustment.Adjustment)), MonadIO m, IsContainer a) => O.MethodInfo ContainerGetFocusHadjustmentMethodInfo a signature where
+    overloadedMethod _ = containerGetFocusHadjustment
+
+#endif
+
+-- method Container::get_focus_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_get_focus_vadjustment" gtk_container_get_focus_vadjustment :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Retrieves the vertical focus adjustment for the container. See
+'GI.Gtk.Objects.Container.containerSetFocusVadjustment'.
+-}
+containerGetFocusVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m (Maybe Gtk.Adjustment.Adjustment)
+    {- ^ __Returns:__ the vertical focus adjustment, or
+  'Nothing' if none has been set. -}
+containerGetFocusVadjustment container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    result <- gtk_container_get_focus_vadjustment container'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Adjustment.Adjustment) result'
+        return result''
+    touchManagedPtr container
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ContainerGetFocusVadjustmentMethodInfo
+instance (signature ~ (m (Maybe Gtk.Adjustment.Adjustment)), MonadIO m, IsContainer a) => O.MethodInfo ContainerGetFocusVadjustmentMethodInfo a signature where
+    overloadedMethod _ = containerGetFocusVadjustment
+
+#endif
+
+-- method Container::get_path_for_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_get_path_for_child" gtk_container_get_path_for_child :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.WidgetPath.WidgetPath)
+
+{- |
+Returns a newly created widget path representing all the widget hierarchy
+from the toplevel down to and including /@child@/.
+-}
+containerGetPathForChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@child@/: a child of /@container@/ -}
+    -> m Gtk.WidgetPath.WidgetPath
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+containerGetPathForChild container child = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_container_get_path_for_child container' child'
+    checkUnexpectedReturnNULL "containerGetPathForChild" result
+    result' <- (wrapBoxed Gtk.WidgetPath.WidgetPath) result
+    touchManagedPtr container
+    touchManagedPtr child
+    return result'
+
+#if ENABLE_OVERLOADING
+data ContainerGetPathForChildMethodInfo
+instance (signature ~ (b -> m Gtk.WidgetPath.WidgetPath), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerGetPathForChildMethodInfo a signature where
+    overloadedMethod _ = containerGetPathForChild
+
+#endif
+
+-- method Container::get_resize_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ResizeMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_get_resize_mode" gtk_container_get_resize_mode :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO CUInt
+
+{-# DEPRECATED containerGetResizeMode ["(Since version 3.12)","Resize modes are deprecated. They aren\8217t necessary","    anymore since frame clocks and might introduce obscure bugs if","    used."] #-}
+{- |
+Returns the resize mode for the container. See
+gtk_container_set_resize_mode ().
+-}
+containerGetResizeMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m Gtk.Enums.ResizeMode
+    {- ^ __Returns:__ the current resize mode -}
+containerGetResizeMode container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    result <- gtk_container_get_resize_mode container'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr container
+    return result'
+
+#if ENABLE_OVERLOADING
+data ContainerGetResizeModeMethodInfo
+instance (signature ~ (m Gtk.Enums.ResizeMode), MonadIO m, IsContainer a) => O.MethodInfo ContainerGetResizeModeMethodInfo a signature where
+    overloadedMethod _ = containerGetResizeMode
+
+#endif
+
+-- method Container::propagate_draw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Cairo context as passed to the container. If you want to use @cr\n  in container\8217s draw function, consider using cairo_save() and\n  cairo_restore() before calling this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_propagate_draw" gtk_container_propagate_draw :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    IO ()
+
+{- |
+When a container receives a call to the draw function, it must send
+synthetic 'GI.Gtk.Objects.Widget.Widget'::@/draw/@ calls to all children that don’t have their
+own @/GdkWindows/@. This function provides a convenient way of doing this.
+A container, when it receives a call to its 'GI.Gtk.Objects.Widget.Widget'::@/draw/@ function,
+calls 'GI.Gtk.Objects.Container.containerPropagateDraw' once for each child, passing in
+the /@cr@/ the container received.
+
+'GI.Gtk.Objects.Container.containerPropagateDraw' takes care of translating the origin of /@cr@/,
+and deciding whether the draw needs to be sent to the child. It is a
+convenient and optimized way of getting the same effect as calling
+'GI.Gtk.Objects.Widget.widgetDraw' on the child directly.
+
+In most cases, a container can simply either inherit the
+'GI.Gtk.Objects.Widget.Widget'::@/draw/@ implementation from 'GI.Gtk.Objects.Container.Container', or do some drawing
+and then chain to the ::draw implementation from 'GI.Gtk.Objects.Container.Container'.
+-}
+containerPropagateDraw ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@child@/: a child of /@container@/ -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: Cairo context as passed to the container. If you want to use /@cr@/
+  in container’s draw function, consider using @/cairo_save()/@ and
+  @/cairo_restore()/@ before calling this function. -}
+    -> m ()
+containerPropagateDraw container child cr = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    child' <- unsafeManagedPtrCastPtr child
+    cr' <- unsafeManagedPtrGetPtr cr
+    gtk_container_propagate_draw container' child' cr'
+    touchManagedPtr container
+    touchManagedPtr child
+    touchManagedPtr cr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerPropagateDrawMethodInfo
+instance (signature ~ (b -> Cairo.Context.Context -> m ()), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerPropagateDrawMethodInfo a signature where
+    overloadedMethod _ = containerPropagateDraw
+
+#endif
+
+-- method Container::remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a current child of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_remove" gtk_container_remove :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Removes /@widget@/ from /@container@/. /@widget@/ must be inside /@container@/.
+Note that /@container@/ will own a reference to /@widget@/, and that this
+may be the last reference held; so removing a widget from its
+container can destroy that widget. If you want to use /@widget@/
+again, you need to add a reference to it before removing it from
+a container, using 'GI.GObject.Objects.Object.objectRef'. If you don’t want to use /@widget@/
+again it’s usually more efficient to simply destroy it directly
+using 'GI.Gtk.Objects.Widget.widgetDestroy' since this will remove it from the
+container and help break any circular reference count cycles.
+-}
+containerRemove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@widget@/: a current child of /@container@/ -}
+    -> m ()
+containerRemove container widget = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_container_remove container' widget'
+    touchManagedPtr container
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerRemoveMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerRemoveMethodInfo a signature where
+    overloadedMethod _ = containerRemove
+
+#endif
+
+-- method Container::resize_children
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_resize_children" gtk_container_resize_children :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO ()
+
+{-# DEPRECATED containerResizeChildren ["(Since version 3.10)"] #-}
+{- |
+/No description available in the introspection data./
+-}
+containerResizeChildren ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m ()
+containerResizeChildren container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    gtk_container_resize_children container'
+    touchManagedPtr container
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerResizeChildrenMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsContainer a) => O.MethodInfo ContainerResizeChildrenMethodInfo a signature where
+    overloadedMethod _ = containerResizeChildren
+
+#endif
+
+-- method Container::set_border_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "border_width", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "amount of blank space to leave outside\n  the container. Valid values are in the range 0-65535 pixels.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_set_border_width" gtk_container_set_border_width :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Word32 ->                               -- border_width : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the border width of the container.
+
+The border width of a container is the amount of space to leave
+around the outside of the container. The only exception to this is
+'GI.Gtk.Objects.Window.Window'; because toplevel windows can’t leave space outside,
+they leave the space inside. The border is added on all sides of
+the container. To add space to only one side, use a specific
+'GI.Gtk.Objects.Widget.Widget':@/margin/@ property on the child widget, for example
+'GI.Gtk.Objects.Widget.Widget':@/margin-top/@.
+-}
+containerSetBorderWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> Word32
+    {- ^ /@borderWidth@/: amount of blank space to leave outside
+  the container. Valid values are in the range 0-65535 pixels. -}
+    -> m ()
+containerSetBorderWidth container borderWidth = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    gtk_container_set_border_width container' borderWidth
+    touchManagedPtr container
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerSetBorderWidthMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsContainer a) => O.MethodInfo ContainerSetBorderWidthMethodInfo a signature where
+    overloadedMethod _ = containerSetBorderWidth
+
+#endif
+
+-- method Container::set_focus_chain
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focusable_widgets", argType = TGList (TInterface (Name {namespace = "Gtk", name = "Widget"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n    the new focus chain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_set_focus_chain" gtk_container_set_focus_chain :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr (GList (Ptr Gtk.Widget.Widget)) ->  -- focusable_widgets : TGList (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+    IO ()
+
+{-# DEPRECATED containerSetFocusChain ["(Since version 3.24)","For overriding focus behavior, use the","    GtkWidgetClass::focus signal."] #-}
+{- |
+Sets a focus chain, overriding the one computed automatically by GTK+.
+
+In principle each widget in the chain should be a descendant of the
+container, but this is not enforced by this method, since it’s allowed
+to set the focus chain before you pack the widgets, or have a widget
+in the chain that isn’t always packed. The necessary checks are done
+when the focus chain is actually traversed.
+-}
+containerSetFocusChain ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> [b]
+    {- ^ /@focusableWidgets@/: 
+    the new focus chain -}
+    -> m ()
+containerSetFocusChain container focusableWidgets = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    focusableWidgets' <- mapM unsafeManagedPtrCastPtr focusableWidgets
+    focusableWidgets'' <- packGList focusableWidgets'
+    gtk_container_set_focus_chain container' focusableWidgets''
+    touchManagedPtr container
+    mapM_ touchManagedPtr focusableWidgets
+    g_list_free focusableWidgets''
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerSetFocusChainMethodInfo
+instance (signature ~ ([b] -> m ()), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerSetFocusChainMethodInfo a signature where
+    overloadedMethod _ = containerSetFocusChain
+
+#endif
+
+-- method Container::set_focus_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWidget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_set_focus_child" gtk_container_set_focus_child :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets, or unsets if /@child@/ is 'Nothing', the focused child of /@container@/.
+
+This function emits the GtkContainer::set_focus_child signal of
+/@container@/. Implementations of 'GI.Gtk.Objects.Container.Container' can override the
+default behaviour by overriding the class closure of this signal.
+
+This is function is mostly meant to be used by widgets. Applications can use
+'GI.Gtk.Objects.Widget.widgetGrabFocus' to manually set the focus to a specific widget.
+-}
+containerSetFocusChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> Maybe (b)
+    {- ^ /@child@/: a 'GI.Gtk.Objects.Widget.Widget', or 'Nothing' -}
+    -> m ()
+containerSetFocusChild container child = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    maybeChild <- case child of
+        Nothing -> return nullPtr
+        Just jChild -> do
+            jChild' <- unsafeManagedPtrCastPtr jChild
+            return jChild'
+    gtk_container_set_focus_child container' maybeChild
+    touchManagedPtr container
+    whenJust child touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerSetFocusChildMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsContainer a, Gtk.Widget.IsWidget b) => O.MethodInfo ContainerSetFocusChildMethodInfo a signature where
+    overloadedMethod _ = containerSetFocusChild
+
+#endif
+
+-- method Container::set_focus_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an adjustment which should be adjusted when the focus is\n  moved among the descendents of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_set_focus_hadjustment" gtk_container_set_focus_hadjustment :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Hooks up an adjustment to focus handling in a container, so when a child
+of the container is focused, the adjustment is scrolled to show that
+widget. This function sets the horizontal alignment.
+See 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowGetHadjustment' for a typical way of obtaining
+the adjustment and 'GI.Gtk.Objects.Container.containerSetFocusVadjustment' for setting
+the vertical adjustment.
+
+The adjustments have to be in pixel units and in the same coordinate
+system as the allocation for immediate children of the container.
+-}
+containerSetFocusHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@adjustment@/: an adjustment which should be adjusted when the focus is
+  moved among the descendents of /@container@/ -}
+    -> m ()
+containerSetFocusHadjustment container adjustment = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    gtk_container_set_focus_hadjustment container' adjustment'
+    touchManagedPtr container
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerSetFocusHadjustmentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsContainer a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ContainerSetFocusHadjustmentMethodInfo a signature where
+    overloadedMethod _ = containerSetFocusHadjustment
+
+#endif
+
+-- method Container::set_focus_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an adjustment which should be adjusted when the focus\n  is moved among the descendents of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_set_focus_vadjustment" gtk_container_set_focus_vadjustment :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Hooks up an adjustment to focus handling in a container, so when a
+child of the container is focused, the adjustment is scrolled to
+show that widget. This function sets the vertical alignment. See
+'GI.Gtk.Objects.ScrolledWindow.scrolledWindowGetVadjustment' for a typical way of obtaining
+the adjustment and 'GI.Gtk.Objects.Container.containerSetFocusHadjustment' for setting
+the horizontal adjustment.
+
+The adjustments have to be in pixel units and in the same coordinate
+system as the allocation for immediate children of the container.
+-}
+containerSetFocusVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> b
+    {- ^ /@adjustment@/: an adjustment which should be adjusted when the focus
+  is moved among the descendents of /@container@/ -}
+    -> m ()
+containerSetFocusVadjustment container adjustment = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    gtk_container_set_focus_vadjustment container' adjustment'
+    touchManagedPtr container
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerSetFocusVadjustmentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsContainer a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ContainerSetFocusVadjustmentMethodInfo a signature where
+    overloadedMethod _ = containerSetFocusVadjustment
+
+#endif
+
+-- method Container::set_reallocate_redraws
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "needs_redraws", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for the container\8217s @reallocate_redraws flag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_set_reallocate_redraws" gtk_container_set_reallocate_redraws :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    CInt ->                                 -- needs_redraws : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED containerSetReallocateRedraws ["(Since version 3.14)","Call 'GI.Gtk.Objects.Widget.widgetQueueDraw' in your size_allocate handler."] #-}
+{- |
+Sets the /@reallocateRedraws@/ flag of the container to the given value.
+
+Containers requesting reallocation redraws get automatically
+redrawn if any of their children changed allocation.
+-}
+containerSetReallocateRedraws ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> Bool
+    {- ^ /@needsRedraws@/: the new value for the container’s /@reallocateRedraws@/ flag -}
+    -> m ()
+containerSetReallocateRedraws container needsRedraws = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    let needsRedraws' = (fromIntegral . fromEnum) needsRedraws
+    gtk_container_set_reallocate_redraws container' needsRedraws'
+    touchManagedPtr container
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerSetReallocateRedrawsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsContainer a) => O.MethodInfo ContainerSetReallocateRedrawsMethodInfo a signature where
+    overloadedMethod _ = containerSetReallocateRedraws
+
+#endif
+
+-- method Container::set_resize_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resize_mode", argType = TInterface (Name {namespace = "Gtk", name = "ResizeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new resize mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_set_resize_mode" gtk_container_set_resize_mode :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    CUInt ->                                -- resize_mode : TInterface (Name {namespace = "Gtk", name = "ResizeMode"})
+    IO ()
+
+{-# DEPRECATED containerSetResizeMode ["(Since version 3.12)","Resize modes are deprecated. They aren\8217t necessary","    anymore since frame clocks and might introduce obscure bugs if","    used."] #-}
+{- |
+Sets the resize mode for the container.
+
+The resize mode of a container determines whether a resize request
+will be passed to the container’s parent, queued for later execution
+or executed immediately.
+-}
+containerSetResizeMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> Gtk.Enums.ResizeMode
+    {- ^ /@resizeMode@/: the new resize mode -}
+    -> m ()
+containerSetResizeMode container resizeMode = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    let resizeMode' = (fromIntegral . fromEnum) resizeMode
+    gtk_container_set_resize_mode container' resizeMode'
+    touchManagedPtr container
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerSetResizeModeMethodInfo
+instance (signature ~ (Gtk.Enums.ResizeMode -> m ()), MonadIO m, IsContainer a) => O.MethodInfo ContainerSetResizeModeMethodInfo a signature where
+    overloadedMethod _ = containerSetResizeMode
+
+#endif
+
+-- method Container::unset_focus_chain
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "Container"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_unset_focus_chain" gtk_container_unset_focus_chain :: 
+    Ptr Container ->                        -- container : TInterface (Name {namespace = "Gtk", name = "Container"})
+    IO ()
+
+{-# DEPRECATED containerUnsetFocusChain ["(Since version 3.24)","For overriding focus behavior, use the","    GtkWidgetClass::focus signal."] #-}
+{- |
+Removes a focus chain explicitly set with 'GI.Gtk.Objects.Container.containerSetFocusChain'.
+-}
+containerUnsetFocusChain ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainer a) =>
+    a
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Container.Container' -}
+    -> m ()
+containerUnsetFocusChain container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    gtk_container_unset_focus_chain container'
+    touchManagedPtr container
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerUnsetFocusChainMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsContainer a) => O.MethodInfo ContainerUnsetFocusChainMethodInfo a signature where
+    overloadedMethod _ = containerUnsetFocusChain
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Container.hs-boot b/GI/Gtk/Objects/Container.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Container.hs-boot
@@ -0,0 +1,134 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Container where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Container = Container (ManagedPtr Container)
+instance GObject Container where
+class (GObject o, O.IsDescendantOf Container o) => IsContainer o
+instance (GObject o, O.IsDescendantOf Container o) => IsContainer o
+instance O.HasParentTypes Container
+#if ENABLE_OVERLOADING
+data ContainerBorderWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerChildPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerResizeModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerAddSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerCheckResizeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerRemoveSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerSetFocusChildSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerAddMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerCheckResizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerChildGetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerChildNotifyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerChildNotifyByPspecMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerChildSetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerChildTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerForallMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerForeachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerGetBorderWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerGetChildrenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerGetFocusChainMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerGetFocusChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerGetFocusHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerGetFocusVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerGetPathForChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerGetResizeModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerPropagateDrawMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerRemoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerResizeChildrenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerSetBorderWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerSetFocusChainMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerSetFocusChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerSetFocusHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerSetFocusVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerSetReallocateRedrawsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerSetResizeModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerUnsetFocusChainMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ContainerAccessible.hs b/GI/Gtk/Objects/ContainerAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ContainerAccessible.hs
@@ -0,0 +1,164 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ContainerAccessible
+    ( 
+
+-- * Exported types
+    ContainerAccessible(..)                 ,
+    IsContainerAccessible                   ,
+    toContainerAccessible                   ,
+    noContainerAccessible                   ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ContainerAccessible = ContainerAccessible (ManagedPtr ContainerAccessible)
+foreign import ccall "gtk_container_accessible_get_type"
+    c_gtk_container_accessible_get_type :: IO GType
+
+instance GObject ContainerAccessible where
+    gobjectType = c_gtk_container_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ContainerAccessible`, for instance with `toContainerAccessible`.
+class (GObject o, O.IsDescendantOf ContainerAccessible o) => IsContainerAccessible o
+instance (GObject o, O.IsDescendantOf ContainerAccessible o) => IsContainerAccessible o
+
+instance O.HasParentTypes ContainerAccessible
+type instance O.ParentTypes ContainerAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `ContainerAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toContainerAccessible :: (MonadIO m, IsContainerAccessible o) => o -> m ContainerAccessible
+toContainerAccessible = liftIO . unsafeCastTo ContainerAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ContainerAccessible`.
+noContainerAccessible :: Maybe ContainerAccessible
+noContainerAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveContainerAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveContainerAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveContainerAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveContainerAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveContainerAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveContainerAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveContainerAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveContainerAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveContainerAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveContainerAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveContainerAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveContainerAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveContainerAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveContainerAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveContainerAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveContainerAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveContainerAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveContainerAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveContainerAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveContainerAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveContainerAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveContainerAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveContainerAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveContainerAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveContainerAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveContainerAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveContainerAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveContainerAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveContainerAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveContainerAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveContainerAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveContainerAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveContainerAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveContainerAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveContainerAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveContainerAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveContainerAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveContainerAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveContainerAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveContainerAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveContainerAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveContainerAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveContainerAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveContainerAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveContainerAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveContainerAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveContainerAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveContainerAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveContainerAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveContainerAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveContainerAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveContainerAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveContainerAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveContainerAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveContainerAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveContainerAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveContainerAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveContainerAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveContainerAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveContainerAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveContainerAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveContainerAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveContainerAccessibleMethod t ContainerAccessible, O.MethodInfo info ContainerAccessible p) => OL.IsLabel t (ContainerAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ContainerAccessible
+type instance O.AttributeList ContainerAccessible = ContainerAccessibleAttributeList
+type ContainerAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ContainerAccessible = ContainerAccessibleSignalList
+type ContainerAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ContainerAccessible.hs-boot b/GI/Gtk/Objects/ContainerAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ContainerAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ContainerAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ContainerAccessible = ContainerAccessible (ManagedPtr ContainerAccessible)
+instance GObject ContainerAccessible where
+class (GObject o, O.IsDescendantOf ContainerAccessible o) => IsContainerAccessible o
+instance (GObject o, O.IsDescendantOf ContainerAccessible o) => IsContainerAccessible o
+instance O.HasParentTypes ContainerAccessible
diff --git a/GI/Gtk/Objects/ContainerCellAccessible.hs b/GI/Gtk/Objects/ContainerCellAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ContainerCellAccessible.hs
@@ -0,0 +1,344 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ContainerCellAccessible
+    ( 
+
+-- * Exported types
+    ContainerCellAccessible(..)             ,
+    IsContainerCellAccessible               ,
+    toContainerCellAccessible               ,
+    noContainerCellAccessible               ,
+
+
+ -- * Methods
+-- ** addChild #method:addChild#
+
+#if ENABLE_OVERLOADING
+    ContainerCellAccessibleAddChildMethodInfo,
+#endif
+    containerCellAccessibleAddChild         ,
+
+
+-- ** getChildren #method:getChildren#
+
+#if ENABLE_OVERLOADING
+    ContainerCellAccessibleGetChildrenMethodInfo,
+#endif
+    containerCellAccessibleGetChildren      ,
+
+
+-- ** new #method:new#
+
+    containerCellAccessibleNew              ,
+
+
+-- ** removeChild #method:removeChild#
+
+#if ENABLE_OVERLOADING
+    ContainerCellAccessibleRemoveChildMethodInfo,
+#endif
+    containerCellAccessibleRemoveChild      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.TableCell as Atk.TableCell
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellAccessible as Gtk.CellAccessible
+
+-- | Memory-managed wrapper type.
+newtype ContainerCellAccessible = ContainerCellAccessible (ManagedPtr ContainerCellAccessible)
+foreign import ccall "gtk_container_cell_accessible_get_type"
+    c_gtk_container_cell_accessible_get_type :: IO GType
+
+instance GObject ContainerCellAccessible where
+    gobjectType = c_gtk_container_cell_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ContainerCellAccessible`, for instance with `toContainerCellAccessible`.
+class (GObject o, O.IsDescendantOf ContainerCellAccessible o) => IsContainerCellAccessible o
+instance (GObject o, O.IsDescendantOf ContainerCellAccessible o) => IsContainerCellAccessible o
+
+instance O.HasParentTypes ContainerCellAccessible
+type instance O.ParentTypes ContainerCellAccessible = '[Gtk.CellAccessible.CellAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.TableCell.TableCell]
+
+-- | Cast to `ContainerCellAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toContainerCellAccessible :: (MonadIO m, IsContainerCellAccessible o) => o -> m ContainerCellAccessible
+toContainerCellAccessible = liftIO . unsafeCastTo ContainerCellAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ContainerCellAccessible`.
+noContainerCellAccessible :: Maybe ContainerCellAccessible
+noContainerCellAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveContainerCellAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveContainerCellAccessibleMethod "addChild" o = ContainerCellAccessibleAddChildMethodInfo
+    ResolveContainerCellAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveContainerCellAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveContainerCellAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveContainerCellAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveContainerCellAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveContainerCellAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveContainerCellAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveContainerCellAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveContainerCellAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveContainerCellAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveContainerCellAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveContainerCellAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveContainerCellAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveContainerCellAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveContainerCellAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveContainerCellAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveContainerCellAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveContainerCellAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveContainerCellAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveContainerCellAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveContainerCellAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveContainerCellAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveContainerCellAccessibleMethod "removeChild" o = ContainerCellAccessibleRemoveChildMethodInfo
+    ResolveContainerCellAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveContainerCellAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveContainerCellAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveContainerCellAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveContainerCellAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveContainerCellAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveContainerCellAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveContainerCellAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveContainerCellAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveContainerCellAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveContainerCellAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveContainerCellAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveContainerCellAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveContainerCellAccessibleMethod "getChildren" o = ContainerCellAccessibleGetChildrenMethodInfo
+    ResolveContainerCellAccessibleMethod "getColumnHeaderCells" o = Atk.TableCell.TableCellGetColumnHeaderCellsMethodInfo
+    ResolveContainerCellAccessibleMethod "getColumnSpan" o = Atk.TableCell.TableCellGetColumnSpanMethodInfo
+    ResolveContainerCellAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveContainerCellAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveContainerCellAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveContainerCellAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveContainerCellAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveContainerCellAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveContainerCellAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveContainerCellAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveContainerCellAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveContainerCellAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveContainerCellAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveContainerCellAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveContainerCellAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveContainerCellAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveContainerCellAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveContainerCellAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveContainerCellAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveContainerCellAccessibleMethod "getRowColumnSpan" o = Atk.TableCell.TableCellGetRowColumnSpanMethodInfo
+    ResolveContainerCellAccessibleMethod "getRowHeaderCells" o = Atk.TableCell.TableCellGetRowHeaderCellsMethodInfo
+    ResolveContainerCellAccessibleMethod "getRowSpan" o = Atk.TableCell.TableCellGetRowSpanMethodInfo
+    ResolveContainerCellAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveContainerCellAccessibleMethod "getTable" o = Atk.TableCell.TableCellGetTableMethodInfo
+    ResolveContainerCellAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveContainerCellAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveContainerCellAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveContainerCellAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveContainerCellAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveContainerCellAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveContainerCellAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveContainerCellAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveContainerCellAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveContainerCellAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveContainerCellAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveContainerCellAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveContainerCellAccessibleMethod t ContainerCellAccessible, O.MethodInfo info ContainerCellAccessible p) => OL.IsLabel t (ContainerCellAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ContainerCellAccessible
+type instance O.AttributeList ContainerCellAccessible = ContainerCellAccessibleAttributeList
+type ContainerCellAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ContainerCellAccessible = ContainerCellAccessibleSignalList
+type ContainerCellAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ContainerCellAccessible::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ContainerCellAccessible"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_cell_accessible_new" gtk_container_cell_accessible_new :: 
+    IO (Ptr ContainerCellAccessible)
+
+{- |
+/No description available in the introspection data./
+-}
+containerCellAccessibleNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ContainerCellAccessible
+containerCellAccessibleNew  = liftIO $ do
+    result <- gtk_container_cell_accessible_new
+    checkUnexpectedReturnNULL "containerCellAccessibleNew" result
+    result' <- (wrapObject ContainerCellAccessible) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ContainerCellAccessible::add_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "ContainerCellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_cell_accessible_add_child" gtk_container_cell_accessible_add_child :: 
+    Ptr ContainerCellAccessible ->          -- container : TInterface (Name {namespace = "Gtk", name = "ContainerCellAccessible"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- child : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+containerCellAccessibleAddChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainerCellAccessible a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m ()
+containerCellAccessibleAddChild container child = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_container_cell_accessible_add_child container' child'
+    touchManagedPtr container
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerCellAccessibleAddChildMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsContainerCellAccessible a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo ContainerCellAccessibleAddChildMethodInfo a signature where
+    overloadedMethod _ = containerCellAccessibleAddChild
+
+#endif
+
+-- method ContainerCellAccessible::get_children
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "ContainerCellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "CellAccessible"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_cell_accessible_get_children" gtk_container_cell_accessible_get_children :: 
+    Ptr ContainerCellAccessible ->          -- container : TInterface (Name {namespace = "Gtk", name = "ContainerCellAccessible"})
+    IO (Ptr (GList (Ptr Gtk.CellAccessible.CellAccessible)))
+
+{- |
+Get a list of children.
+-}
+containerCellAccessibleGetChildren ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainerCellAccessible a) =>
+    a
+    {- ^ /@container@/: the container -}
+    -> m [Gtk.CellAccessible.CellAccessible]
+containerCellAccessibleGetChildren container = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    result <- gtk_container_cell_accessible_get_children container'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.CellAccessible.CellAccessible) result'
+    touchManagedPtr container
+    return result''
+
+#if ENABLE_OVERLOADING
+data ContainerCellAccessibleGetChildrenMethodInfo
+instance (signature ~ (m [Gtk.CellAccessible.CellAccessible]), MonadIO m, IsContainerCellAccessible a) => O.MethodInfo ContainerCellAccessibleGetChildrenMethodInfo a signature where
+    overloadedMethod _ = containerCellAccessibleGetChildren
+
+#endif
+
+-- method ContainerCellAccessible::remove_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "container", argType = TInterface (Name {namespace = "Gtk", name = "ContainerCellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "CellAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_container_cell_accessible_remove_child" gtk_container_cell_accessible_remove_child :: 
+    Ptr ContainerCellAccessible ->          -- container : TInterface (Name {namespace = "Gtk", name = "ContainerCellAccessible"})
+    Ptr Gtk.CellAccessible.CellAccessible -> -- child : TInterface (Name {namespace = "Gtk", name = "CellAccessible"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+containerCellAccessibleRemoveChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsContainerCellAccessible a, Gtk.CellAccessible.IsCellAccessible b) =>
+    a
+    -> b
+    -> m ()
+containerCellAccessibleRemoveChild container child = liftIO $ do
+    container' <- unsafeManagedPtrCastPtr container
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_container_cell_accessible_remove_child container' child'
+    touchManagedPtr container
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data ContainerCellAccessibleRemoveChildMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsContainerCellAccessible a, Gtk.CellAccessible.IsCellAccessible b) => O.MethodInfo ContainerCellAccessibleRemoveChildMethodInfo a signature where
+    overloadedMethod _ = containerCellAccessibleRemoveChild
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ContainerCellAccessible.hs-boot b/GI/Gtk/Objects/ContainerCellAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ContainerCellAccessible.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ContainerCellAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ContainerCellAccessible = ContainerCellAccessible (ManagedPtr ContainerCellAccessible)
+instance GObject ContainerCellAccessible where
+class (GObject o, O.IsDescendantOf ContainerCellAccessible o) => IsContainerCellAccessible o
+instance (GObject o, O.IsDescendantOf ContainerCellAccessible o) => IsContainerCellAccessible o
+instance O.HasParentTypes ContainerCellAccessible
+#if ENABLE_OVERLOADING
+data ContainerCellAccessibleAddChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerCellAccessibleGetChildrenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ContainerCellAccessibleRemoveChildMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/CssProvider.hs b/GI/Gtk/Objects/CssProvider.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CssProvider.hs
@@ -0,0 +1,647 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkCssProvider is an object implementing the 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' interface.
+It is able to parse [CSS-like][css-overview] input in order to style widgets.
+
+An application can make GTK+ parse a specific CSS style sheet by calling
+'GI.Gtk.Objects.CssProvider.cssProviderLoadFromFile' or 'GI.Gtk.Objects.CssProvider.cssProviderLoadFromResource'
+and adding the provider with 'GI.Gtk.Objects.StyleContext.styleContextAddProvider' or
+'GI.Gtk.Objects.StyleContext.styleContextAddProviderForScreen'.
+
+In addition, certain files will be read when GTK+ is initialized. First, the
+file @$XDG_CONFIG_HOME\/gtk-3.0\/gtk.css@ is loaded if it exists. Then, GTK+
+loads the first existing file among
+@XDG_DATA_HOME\/themes\/THEME\/gtk-VERSION\/gtk.css@,
+@$HOME\/.themes\/THEME\/gtk-VERSION\/gtk.css@,
+@$XDG_DATA_DIRS\/themes\/THEME\/gtk-VERSION\/gtk.css@ and
+@DATADIR\/share\/themes\/THEME\/gtk-VERSION\/gtk.css@, where @THEME@ is the name of
+the current theme (see the 'GI.Gtk.Objects.Settings.Settings':@/gtk-theme-name/@ setting), @DATADIR@
+is the prefix configured when GTK+ was compiled (unless overridden by the
+@GTK_DATA_PREFIX@ environment variable), and @VERSION@ is the GTK+ version number.
+If no file is found for the current version, GTK+ tries older versions all the
+way back to 3.0.
+
+In the same way, GTK+ tries to load a gtk-keys.css file for the current
+key theme, as defined by 'GI.Gtk.Objects.Settings.Settings':@/gtk-key-theme-name/@.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.CssProvider
+    ( 
+
+-- * Exported types
+    CssProvider(..)                         ,
+    IsCssProvider                           ,
+    toCssProvider                           ,
+    noCssProvider                           ,
+
+
+ -- * Methods
+-- ** getDefault #method:getDefault#
+
+    cssProviderGetDefault                   ,
+
+
+-- ** getNamed #method:getNamed#
+
+    cssProviderGetNamed                     ,
+
+
+-- ** loadFromData #method:loadFromData#
+
+#if ENABLE_OVERLOADING
+    CssProviderLoadFromDataMethodInfo       ,
+#endif
+    cssProviderLoadFromData                 ,
+
+
+-- ** loadFromFile #method:loadFromFile#
+
+#if ENABLE_OVERLOADING
+    CssProviderLoadFromFileMethodInfo       ,
+#endif
+    cssProviderLoadFromFile                 ,
+
+
+-- ** loadFromPath #method:loadFromPath#
+
+#if ENABLE_OVERLOADING
+    CssProviderLoadFromPathMethodInfo       ,
+#endif
+    cssProviderLoadFromPath                 ,
+
+
+-- ** loadFromResource #method:loadFromResource#
+
+#if ENABLE_OVERLOADING
+    CssProviderLoadFromResourceMethodInfo   ,
+#endif
+    cssProviderLoadFromResource             ,
+
+
+-- ** new #method:new#
+
+    cssProviderNew                          ,
+
+
+-- ** toString #method:toString#
+
+#if ENABLE_OVERLOADING
+    CssProviderToStringMethodInfo           ,
+#endif
+    cssProviderToString                     ,
+
+
+
+
+ -- * Signals
+-- ** parsingError #signal:parsingError#
+
+    C_CssProviderParsingErrorCallback       ,
+    CssProviderParsingErrorCallback         ,
+#if ENABLE_OVERLOADING
+    CssProviderParsingErrorSignalInfo       ,
+#endif
+    afterCssProviderParsingError            ,
+    genClosure_CssProviderParsingError      ,
+    mk_CssProviderParsingErrorCallback      ,
+    noCssProviderParsingErrorCallback       ,
+    onCssProviderParsingError               ,
+    wrap_CssProviderParsingErrorCallback    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.File as Gio.File
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.StyleProvider as Gtk.StyleProvider
+import {-# SOURCE #-} qualified GI.Gtk.Structs.CssSection as Gtk.CssSection
+
+-- | Memory-managed wrapper type.
+newtype CssProvider = CssProvider (ManagedPtr CssProvider)
+foreign import ccall "gtk_css_provider_get_type"
+    c_gtk_css_provider_get_type :: IO GType
+
+instance GObject CssProvider where
+    gobjectType = c_gtk_css_provider_get_type
+    
+
+-- | Type class for types which can be safely cast to `CssProvider`, for instance with `toCssProvider`.
+class (GObject o, O.IsDescendantOf CssProvider o) => IsCssProvider o
+instance (GObject o, O.IsDescendantOf CssProvider o) => IsCssProvider o
+
+instance O.HasParentTypes CssProvider
+type instance O.ParentTypes CssProvider = '[GObject.Object.Object, Gtk.StyleProvider.StyleProvider]
+
+-- | Cast to `CssProvider`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toCssProvider :: (MonadIO m, IsCssProvider o) => o -> m CssProvider
+toCssProvider = liftIO . unsafeCastTo CssProvider
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CssProvider`.
+noCssProvider :: Maybe CssProvider
+noCssProvider = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveCssProviderMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCssProviderMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveCssProviderMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveCssProviderMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveCssProviderMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveCssProviderMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveCssProviderMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveCssProviderMethod "loadFromData" o = CssProviderLoadFromDataMethodInfo
+    ResolveCssProviderMethod "loadFromFile" o = CssProviderLoadFromFileMethodInfo
+    ResolveCssProviderMethod "loadFromPath" o = CssProviderLoadFromPathMethodInfo
+    ResolveCssProviderMethod "loadFromResource" o = CssProviderLoadFromResourceMethodInfo
+    ResolveCssProviderMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveCssProviderMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveCssProviderMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveCssProviderMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveCssProviderMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveCssProviderMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveCssProviderMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveCssProviderMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveCssProviderMethod "toString" o = CssProviderToStringMethodInfo
+    ResolveCssProviderMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveCssProviderMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveCssProviderMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveCssProviderMethod "getIconFactory" o = Gtk.StyleProvider.StyleProviderGetIconFactoryMethodInfo
+    ResolveCssProviderMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveCssProviderMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveCssProviderMethod "getStyle" o = Gtk.StyleProvider.StyleProviderGetStyleMethodInfo
+    ResolveCssProviderMethod "getStyleProperty" o = Gtk.StyleProvider.StyleProviderGetStylePropertyMethodInfo
+    ResolveCssProviderMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveCssProviderMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveCssProviderMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCssProviderMethod t CssProvider, O.MethodInfo info CssProvider p) => OL.IsLabel t (CssProvider -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal CssProvider::parsing-error
+{- |
+Signals that a parsing error occurred. the /@path@/, /@line@/ and /@position@/
+describe the actual location of the error as accurately as possible.
+
+Parsing errors are never fatal, so the parsing will resume after
+the error. Errors may however cause parts of the given
+data or even all of it to not be parsed at all. So it is a useful idea
+to check that the parsing succeeds by connecting to this signal.
+
+Note that this signal may be emitted at any time as the css provider
+may opt to defer parsing parts or all of the input to a later time
+than when a loading function was called.
+-}
+type CssProviderParsingErrorCallback =
+    Gtk.CssSection.CssSection
+    {- ^ /@section@/: section the error happened in -}
+    -> GError
+    {- ^ /@error@/: The parsing error -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `CssProviderParsingErrorCallback`@.
+noCssProviderParsingErrorCallback :: Maybe CssProviderParsingErrorCallback
+noCssProviderParsingErrorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_CssProviderParsingErrorCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.CssSection.CssSection ->
+    Ptr GError ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_CssProviderParsingErrorCallback`.
+foreign import ccall "wrapper"
+    mk_CssProviderParsingErrorCallback :: C_CssProviderParsingErrorCallback -> IO (FunPtr C_CssProviderParsingErrorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_CssProviderParsingError :: MonadIO m => CssProviderParsingErrorCallback -> m (GClosure C_CssProviderParsingErrorCallback)
+genClosure_CssProviderParsingError cb = liftIO $ do
+    let cb' = wrap_CssProviderParsingErrorCallback cb
+    mk_CssProviderParsingErrorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `CssProviderParsingErrorCallback` into a `C_CssProviderParsingErrorCallback`.
+wrap_CssProviderParsingErrorCallback ::
+    CssProviderParsingErrorCallback ->
+    C_CssProviderParsingErrorCallback
+wrap_CssProviderParsingErrorCallback _cb _ section error_ _ = do
+    B.ManagedPtr.withTransient Gtk.CssSection.CssSection section $ \section' -> do
+        error_' <- (newBoxed GError) error_
+        _cb  section' error_'
+
+
+{- |
+Connect a signal handler for the “@parsing-error@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' cssProvider #parsingError callback
+@
+-}
+onCssProviderParsingError :: (IsCssProvider a, MonadIO m) => a -> CssProviderParsingErrorCallback -> m SignalHandlerId
+onCssProviderParsingError obj cb = liftIO $ do
+    let cb' = wrap_CssProviderParsingErrorCallback cb
+    cb'' <- mk_CssProviderParsingErrorCallback cb'
+    connectSignalFunPtr obj "parsing-error" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@parsing-error@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' cssProvider #parsingError callback
+@
+-}
+afterCssProviderParsingError :: (IsCssProvider a, MonadIO m) => a -> CssProviderParsingErrorCallback -> m SignalHandlerId
+afterCssProviderParsingError obj cb = liftIO $ do
+    let cb' = wrap_CssProviderParsingErrorCallback cb
+    cb'' <- mk_CssProviderParsingErrorCallback cb'
+    connectSignalFunPtr obj "parsing-error" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CssProvider
+type instance O.AttributeList CssProvider = CssProviderAttributeList
+type CssProviderAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data CssProviderParsingErrorSignalInfo
+instance SignalInfo CssProviderParsingErrorSignalInfo where
+    type HaskellCallbackType CssProviderParsingErrorSignalInfo = CssProviderParsingErrorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_CssProviderParsingErrorCallback cb
+        cb'' <- mk_CssProviderParsingErrorCallback cb'
+        connectSignalFunPtr obj "parsing-error" cb'' connectMode
+
+type instance O.SignalList CssProvider = CssProviderSignalList
+type CssProviderSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("parsingError", CssProviderParsingErrorSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method CssProvider::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CssProvider"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_provider_new" gtk_css_provider_new :: 
+    IO (Ptr CssProvider)
+
+{- |
+Returns a newly created 'GI.Gtk.Objects.CssProvider.CssProvider'.
+-}
+cssProviderNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CssProvider
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.CssProvider.CssProvider' -}
+cssProviderNew  = liftIO $ do
+    result <- gtk_css_provider_new
+    checkUnexpectedReturnNULL "cssProviderNew" result
+    result' <- (wrapObject CssProvider) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CssProvider::load_from_data
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "css_provider", argType = TInterface (Name {namespace = "Gtk", name = "CssProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCssProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "CSS data loaded in memory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @data in bytes, or -1 for NUL terminated strings. If\n  @length is not -1, the code will assume it is not NUL terminated and will\n  potentially do a copy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @data in bytes, or -1 for NUL terminated strings. If\n  @length is not -1, the code will assume it is not NUL terminated and will\n  potentially do a copy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_css_provider_load_from_data" gtk_css_provider_load_from_data :: 
+    Ptr CssProvider ->                      -- css_provider : TInterface (Name {namespace = "Gtk", name = "CssProvider"})
+    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)
+    Int64 ->                                -- length : TBasicType TInt64
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Loads /@data@/ into /@cssProvider@/, and by doing so clears any previously loaded
+information.
+-}
+cssProviderLoadFromData ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCssProvider a) =>
+    a
+    {- ^ /@cssProvider@/: a 'GI.Gtk.Objects.CssProvider.CssProvider' -}
+    -> ByteString
+    {- ^ /@data@/: CSS data loaded in memory -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+cssProviderLoadFromData cssProvider data_ = liftIO $ do
+    let length_ = fromIntegral $ B.length data_
+    cssProvider' <- unsafeManagedPtrCastPtr cssProvider
+    data_' <- packByteString data_
+    onException (do
+        _ <- propagateGError $ gtk_css_provider_load_from_data cssProvider' data_' length_
+        touchManagedPtr cssProvider
+        freeMem data_'
+        return ()
+     ) (do
+        freeMem data_'
+     )
+
+#if ENABLE_OVERLOADING
+data CssProviderLoadFromDataMethodInfo
+instance (signature ~ (ByteString -> m ()), MonadIO m, IsCssProvider a) => O.MethodInfo CssProviderLoadFromDataMethodInfo a signature where
+    overloadedMethod _ = cssProviderLoadFromData
+
+#endif
+
+-- method CssProvider::load_from_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "css_provider", argType = TInterface (Name {namespace = "Gtk", name = "CssProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCssProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GFile pointing to a file to load", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_css_provider_load_from_file" gtk_css_provider_load_from_file :: 
+    Ptr CssProvider ->                      -- css_provider : TInterface (Name {namespace = "Gtk", name = "CssProvider"})
+    Ptr Gio.File.File ->                    -- file : TInterface (Name {namespace = "Gio", name = "File"})
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Loads the data contained in /@file@/ into /@cssProvider@/, making it
+clear any previously loaded information.
+-}
+cssProviderLoadFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCssProvider a, Gio.File.IsFile b) =>
+    a
+    {- ^ /@cssProvider@/: a 'GI.Gtk.Objects.CssProvider.CssProvider' -}
+    -> b
+    {- ^ /@file@/: 'GI.Gio.Interfaces.File.File' pointing to a file to load -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+cssProviderLoadFromFile cssProvider file = liftIO $ do
+    cssProvider' <- unsafeManagedPtrCastPtr cssProvider
+    file' <- unsafeManagedPtrCastPtr file
+    onException (do
+        _ <- propagateGError $ gtk_css_provider_load_from_file cssProvider' file'
+        touchManagedPtr cssProvider
+        touchManagedPtr file
+        return ()
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data CssProviderLoadFromFileMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsCssProvider a, Gio.File.IsFile b) => O.MethodInfo CssProviderLoadFromFileMethodInfo a signature where
+    overloadedMethod _ = cssProviderLoadFromFile
+
+#endif
+
+-- method CssProvider::load_from_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "css_provider", argType = TInterface (Name {namespace = "Gtk", name = "CssProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCssProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the path of a filename to load, in the GLib filename encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_css_provider_load_from_path" gtk_css_provider_load_from_path :: 
+    Ptr CssProvider ->                      -- css_provider : TInterface (Name {namespace = "Gtk", name = "CssProvider"})
+    CString ->                              -- path : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Loads the data contained in /@path@/ into /@cssProvider@/, making it clear
+any previously loaded information.
+-}
+cssProviderLoadFromPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCssProvider a) =>
+    a
+    {- ^ /@cssProvider@/: a 'GI.Gtk.Objects.CssProvider.CssProvider' -}
+    -> T.Text
+    {- ^ /@path@/: the path of a filename to load, in the GLib filename encoding -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+cssProviderLoadFromPath cssProvider path = liftIO $ do
+    cssProvider' <- unsafeManagedPtrCastPtr cssProvider
+    path' <- textToCString path
+    onException (do
+        _ <- propagateGError $ gtk_css_provider_load_from_path cssProvider' path'
+        touchManagedPtr cssProvider
+        freeMem path'
+        return ()
+     ) (do
+        freeMem path'
+     )
+
+#if ENABLE_OVERLOADING
+data CssProviderLoadFromPathMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsCssProvider a) => O.MethodInfo CssProviderLoadFromPathMethodInfo a signature where
+    overloadedMethod _ = cssProviderLoadFromPath
+
+#endif
+
+-- method CssProvider::load_from_resource
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "css_provider", argType = TInterface (Name {namespace = "Gtk", name = "CssProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCssProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resource_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GResource resource path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_provider_load_from_resource" gtk_css_provider_load_from_resource :: 
+    Ptr CssProvider ->                      -- css_provider : TInterface (Name {namespace = "Gtk", name = "CssProvider"})
+    CString ->                              -- resource_path : TBasicType TUTF8
+    IO ()
+
+{- |
+Loads the data contained in the resource at /@resourcePath@/ into
+the 'GI.Gtk.Objects.CssProvider.CssProvider', clearing any previously loaded information.
+
+To track errors while loading CSS, connect to the
+'GI.Gtk.Objects.CssProvider.CssProvider'::@/parsing-error/@ signal.
+
+/Since: 3.16/
+-}
+cssProviderLoadFromResource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCssProvider a) =>
+    a
+    {- ^ /@cssProvider@/: a 'GI.Gtk.Objects.CssProvider.CssProvider' -}
+    -> T.Text
+    {- ^ /@resourcePath@/: a 'GI.Gio.Structs.Resource.Resource' resource path -}
+    -> m ()
+cssProviderLoadFromResource cssProvider resourcePath = liftIO $ do
+    cssProvider' <- unsafeManagedPtrCastPtr cssProvider
+    resourcePath' <- textToCString resourcePath
+    gtk_css_provider_load_from_resource cssProvider' resourcePath'
+    touchManagedPtr cssProvider
+    freeMem resourcePath'
+    return ()
+
+#if ENABLE_OVERLOADING
+data CssProviderLoadFromResourceMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsCssProvider a) => O.MethodInfo CssProviderLoadFromResourceMethodInfo a signature where
+    overloadedMethod _ = cssProviderLoadFromResource
+
+#endif
+
+-- method CssProvider::to_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gtk", name = "CssProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the provider to write to a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_provider_to_string" gtk_css_provider_to_string :: 
+    Ptr CssProvider ->                      -- provider : TInterface (Name {namespace = "Gtk", name = "CssProvider"})
+    IO CString
+
+{- |
+Converts the /@provider@/ into a string representation in CSS
+format.
+
+Using 'GI.Gtk.Objects.CssProvider.cssProviderLoadFromData' with the return value
+from this function on a new provider created with
+'GI.Gtk.Objects.CssProvider.cssProviderNew' will basically create a duplicate of
+this /@provider@/.
+
+/Since: 3.2/
+-}
+cssProviderToString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsCssProvider a) =>
+    a
+    {- ^ /@provider@/: the provider to write to a string -}
+    -> m T.Text
+    {- ^ __Returns:__ a new string representing the /@provider@/. -}
+cssProviderToString provider = liftIO $ do
+    provider' <- unsafeManagedPtrCastPtr provider
+    result <- gtk_css_provider_to_string provider'
+    checkUnexpectedReturnNULL "cssProviderToString" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr provider
+    return result'
+
+#if ENABLE_OVERLOADING
+data CssProviderToStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsCssProvider a) => O.MethodInfo CssProviderToStringMethodInfo a signature where
+    overloadedMethod _ = cssProviderToString
+
+#endif
+
+-- method CssProvider::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CssProvider"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_provider_get_default" gtk_css_provider_get_default :: 
+    IO (Ptr CssProvider)
+
+{-# DEPRECATED cssProviderGetDefault ["(Since version 3.24)","Use 'GI.Gtk.Objects.CssProvider.cssProviderNew' instead."] #-}
+{- |
+Returns the provider containing the style settings used as a
+fallback for all widgets.
+-}
+cssProviderGetDefault ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m CssProvider
+    {- ^ __Returns:__ The provider used for fallback styling.
+         This memory is owned by GTK+, and you must not free it. -}
+cssProviderGetDefault  = liftIO $ do
+    result <- gtk_css_provider_get_default
+    checkUnexpectedReturnNULL "cssProviderGetDefault" result
+    result' <- (newObject CssProvider) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method CssProvider::get_named
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A theme name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "variant", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "variant to load, for example, \"dark\", or\n    %NULL for the default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CssProvider"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_provider_get_named" gtk_css_provider_get_named :: 
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- variant : TBasicType TUTF8
+    IO (Ptr CssProvider)
+
+{- |
+Loads a theme from the usual theme paths
+-}
+cssProviderGetNamed ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: A theme name -}
+    -> Maybe (T.Text)
+    {- ^ /@variant@/: variant to load, for example, \"dark\", or
+    'Nothing' for the default -}
+    -> m CssProvider
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.CssProvider.CssProvider' with the theme loaded.
+    This memory is owned by GTK+, and you must not free it. -}
+cssProviderGetNamed name variant = liftIO $ do
+    name' <- textToCString name
+    maybeVariant <- case variant of
+        Nothing -> return nullPtr
+        Just jVariant -> do
+            jVariant' <- textToCString jVariant
+            return jVariant'
+    result <- gtk_css_provider_get_named name' maybeVariant
+    checkUnexpectedReturnNULL "cssProviderGetNamed" result
+    result' <- (newObject CssProvider) result
+    freeMem name'
+    freeMem maybeVariant
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/CssProvider.hs-boot b/GI/Gtk/Objects/CssProvider.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/CssProvider.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.CssProvider where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CssProvider = CssProvider (ManagedPtr CssProvider)
+instance GObject CssProvider where
+class (GObject o, O.IsDescendantOf CssProvider o) => IsCssProvider o
+instance (GObject o, O.IsDescendantOf CssProvider o) => IsCssProvider o
+instance O.HasParentTypes CssProvider
+#if ENABLE_OVERLOADING
+data CssProviderParsingErrorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssProviderLoadFromDataMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssProviderLoadFromFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssProviderLoadFromPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssProviderLoadFromResourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssProviderToStringMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Dialog.hs b/GI/Gtk/Objects/Dialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Dialog.hs
@@ -0,0 +1,1594 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Dialog boxes are a convenient way to prompt the user for a small amount
+of input, e.g. to display a message, ask a question, or anything else
+that does not require extensive effort on the user’s part.
+
+GTK+ treats a dialog as a window split vertically. The top section is a
+'GI.Gtk.Objects.VBox.VBox', and is where widgets such as a 'GI.Gtk.Objects.Label.Label' or a 'GI.Gtk.Objects.Entry.Entry' should
+be packed. The bottom area is known as the
+“action area”. This is generally used for
+packing buttons into the dialog which may perform functions such as
+cancel, ok, or apply.
+
+'GI.Gtk.Objects.Dialog.Dialog' boxes are created with a call to 'GI.Gtk.Objects.Dialog.dialogNew' or
+@/gtk_dialog_new_with_buttons()/@. @/gtk_dialog_new_with_buttons()/@ is
+recommended; it allows you to set the dialog title, some convenient
+flags, and add simple buttons.
+
+If “dialog” is a newly created dialog, the two primary areas of the
+window can be accessed through 'GI.Gtk.Objects.Dialog.dialogGetContentArea' and
+'GI.Gtk.Objects.Dialog.dialogGetActionArea', as can be seen from the example below.
+
+A “modal” dialog (that is, one which freezes the rest of the application
+from user input), can be created by calling 'GI.Gtk.Objects.Window.windowSetModal' on the
+dialog. Use the @/GTK_WINDOW()/@ macro to cast the widget returned from
+'GI.Gtk.Objects.Dialog.dialogNew' into a 'GI.Gtk.Objects.Window.Window'. When using @/gtk_dialog_new_with_buttons()/@
+you can also pass the @/GTK_DIALOG_MODAL/@ flag to make a dialog modal.
+
+If you add buttons to 'GI.Gtk.Objects.Dialog.Dialog' using @/gtk_dialog_new_with_buttons()/@,
+'GI.Gtk.Objects.Dialog.dialogAddButton', @/gtk_dialog_add_buttons()/@, or
+'GI.Gtk.Objects.Dialog.dialogAddActionWidget', clicking the button will emit a signal
+called 'GI.Gtk.Objects.Dialog.Dialog'::@/response/@ with a response ID that you specified. GTK+
+will never assign a meaning to positive response IDs; these are entirely
+user-defined. But for convenience, you can use the response IDs in the
+'GI.Gtk.Enums.ResponseType' enumeration (these all have values less than zero). If
+a dialog receives a delete event, the 'GI.Gtk.Objects.Dialog.Dialog'::@/response/@ signal will
+be emitted with a response ID of @/GTK_RESPONSE_DELETE_EVENT/@.
+
+If you want to block waiting for a dialog to return before returning
+control flow to your code, you can call 'GI.Gtk.Objects.Dialog.dialogRun'. This function
+enters a recursive main loop and waits for the user to respond to the
+dialog, returning the response ID corresponding to the button the user
+clicked.
+
+For the simple dialog in the following example, in reality you’d probably
+use 'GI.Gtk.Objects.MessageDialog.MessageDialog' to save yourself some effort. But you’d need to
+create the dialog contents manually if you had more than a simple message
+in the dialog.
+
+An example for simple GtkDialog usage:
+
+=== /C code/
+>
+>// Function to open a dialog box with a message
+>void
+>quick_message (GtkWindow *parent, gchar *message)
+>{
+> GtkWidget *dialog, *label, *content_area;
+> GtkDialogFlags flags;
+>
+> // Create the widgets
+> flags = GTK_DIALOG_DESTROY_WITH_PARENT;
+> dialog = gtk_dialog_new_with_buttons ("Message",
+>                                       parent,
+>                                       flags,
+>                                       _("_OK"),
+>                                       GTK_RESPONSE_NONE,
+>                                       NULL);
+> content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+> label = gtk_label_new (message);
+>
+> // Ensure that the dialog box is destroyed when the user responds
+>
+> g_signal_connect_swapped (dialog,
+>                           "response",
+>                           G_CALLBACK (gtk_widget_destroy),
+>                           dialog);
+>
+> // Add the label, and show everything we’ve added
+>
+> gtk_container_add (GTK_CONTAINER (content_area), label);
+> gtk_widget_show_all (dialog);
+>}
+
+
+= GtkDialog as GtkBuildable
+
+The GtkDialog implementation of the 'GI.Gtk.Interfaces.Buildable.Buildable' interface exposes the
+/@vbox@/ and /@actionArea@/ as internal children with the names “vbox” and
+“action_area”.
+
+GtkDialog supports a custom \<action-widgets> element, which can contain
+multiple \<action-widget> elements. The “response” attribute specifies a
+numeric response, and the content of the element is the id of widget
+(which should be a child of the dialogs /@actionArea@/). To mark a response
+as default, set the “default“ attribute of the \<action-widget> element
+to true.
+
+GtkDialog supports adding action widgets by specifying “action“ as
+the “type“ attribute of a \<child> element. The widget will be added
+either to the action area or the headerbar of the dialog, depending
+on the “use-header-bar“ property. The response id has to be associated
+with the action widget using the \<action-widgets> element.
+
+An example of a 'GI.Gtk.Objects.Dialog.Dialog' UI definition fragment:
+>
+><object class="GtkDialog" id="dialog1">
+>  <child type="action">
+>    <object class="GtkButton" id="button_cancel"/>
+>  </child>
+>  <child type="action">
+>    <object class="GtkButton" id="button_ok">
+>      <property name="can-default">True</property>
+>    </object>
+>  </child>
+>  <action-widgets>
+>    <action-widget response="cancel">button_cancel</action-widget>
+>    <action-widget response="ok" default="true">button_ok</action-widget>
+>  </action-widgets>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Dialog
+    ( 
+
+-- * Exported types
+    Dialog(..)                              ,
+    IsDialog                                ,
+    toDialog                                ,
+    noDialog                                ,
+
+
+ -- * Methods
+-- ** addActionWidget #method:addActionWidget#
+
+#if ENABLE_OVERLOADING
+    DialogAddActionWidgetMethodInfo         ,
+#endif
+    dialogAddActionWidget                   ,
+
+
+-- ** addButton #method:addButton#
+
+#if ENABLE_OVERLOADING
+    DialogAddButtonMethodInfo               ,
+#endif
+    dialogAddButton                         ,
+
+
+-- ** getActionArea #method:getActionArea#
+
+#if ENABLE_OVERLOADING
+    DialogGetActionAreaMethodInfo           ,
+#endif
+    dialogGetActionArea                     ,
+
+
+-- ** getContentArea #method:getContentArea#
+
+#if ENABLE_OVERLOADING
+    DialogGetContentAreaMethodInfo          ,
+#endif
+    dialogGetContentArea                    ,
+
+
+-- ** getHeaderBar #method:getHeaderBar#
+
+#if ENABLE_OVERLOADING
+    DialogGetHeaderBarMethodInfo            ,
+#endif
+    dialogGetHeaderBar                      ,
+
+
+-- ** getResponseForWidget #method:getResponseForWidget#
+
+#if ENABLE_OVERLOADING
+    DialogGetResponseForWidgetMethodInfo    ,
+#endif
+    dialogGetResponseForWidget              ,
+
+
+-- ** getWidgetForResponse #method:getWidgetForResponse#
+
+#if ENABLE_OVERLOADING
+    DialogGetWidgetForResponseMethodInfo    ,
+#endif
+    dialogGetWidgetForResponse              ,
+
+
+-- ** new #method:new#
+
+    dialogNew                               ,
+
+
+-- ** response #method:response#
+
+#if ENABLE_OVERLOADING
+    DialogResponseMethodInfo                ,
+#endif
+    dialogResponse                          ,
+
+
+-- ** run #method:run#
+
+#if ENABLE_OVERLOADING
+    DialogRunMethodInfo                     ,
+#endif
+    dialogRun                               ,
+
+
+-- ** setAlternativeButtonOrderFromArray #method:setAlternativeButtonOrderFromArray#
+
+#if ENABLE_OVERLOADING
+    DialogSetAlternativeButtonOrderFromArrayMethodInfo,
+#endif
+    dialogSetAlternativeButtonOrderFromArray,
+
+
+-- ** setDefaultResponse #method:setDefaultResponse#
+
+#if ENABLE_OVERLOADING
+    DialogSetDefaultResponseMethodInfo      ,
+#endif
+    dialogSetDefaultResponse                ,
+
+
+-- ** setResponseSensitive #method:setResponseSensitive#
+
+#if ENABLE_OVERLOADING
+    DialogSetResponseSensitiveMethodInfo    ,
+#endif
+    dialogSetResponseSensitive              ,
+
+
+
+
+ -- * Properties
+-- ** useHeaderBar #attr:useHeaderBar#
+{- | 'True' if the dialog uses a 'GI.Gtk.Objects.HeaderBar.HeaderBar' for action buttons
+instead of the action-area.
+
+For technical reasons, this property is declared as an integer
+property, but you should only set it to 'True' or 'False'.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    DialogUseHeaderBarPropertyInfo          ,
+#endif
+    constructDialogUseHeaderBar             ,
+#if ENABLE_OVERLOADING
+    dialogUseHeaderBar                      ,
+#endif
+    getDialogUseHeaderBar                   ,
+
+
+
+
+ -- * Signals
+-- ** close #signal:close#
+
+    C_DialogCloseCallback                   ,
+    DialogCloseCallback                     ,
+#if ENABLE_OVERLOADING
+    DialogCloseSignalInfo                   ,
+#endif
+    afterDialogClose                        ,
+    genClosure_DialogClose                  ,
+    mk_DialogCloseCallback                  ,
+    noDialogCloseCallback                   ,
+    onDialogClose                           ,
+    wrap_DialogCloseCallback                ,
+
+
+-- ** response #signal:response#
+
+    C_DialogResponseCallback                ,
+    DialogResponseCallback                  ,
+#if ENABLE_OVERLOADING
+    DialogResponseSignalInfo                ,
+#endif
+    afterDialogResponse                     ,
+    genClosure_DialogResponse               ,
+    mk_DialogResponseCallback               ,
+    noDialogResponseCallback                ,
+    onDialogResponse                        ,
+    wrap_DialogResponseCallback             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype Dialog = Dialog (ManagedPtr Dialog)
+foreign import ccall "gtk_dialog_get_type"
+    c_gtk_dialog_get_type :: IO GType
+
+instance GObject Dialog where
+    gobjectType = c_gtk_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `Dialog`, for instance with `toDialog`.
+class (GObject o, O.IsDescendantOf Dialog o) => IsDialog o
+instance (GObject o, O.IsDescendantOf Dialog o) => IsDialog o
+
+instance O.HasParentTypes Dialog
+type instance O.ParentTypes Dialog = '[Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Dialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toDialog :: (MonadIO m, IsDialog o) => o -> m Dialog
+toDialog = liftIO . unsafeCastTo Dialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Dialog`.
+noDialog :: Maybe Dialog
+noDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveDialogMethod "addActionWidget" o = DialogAddActionWidgetMethodInfo
+    ResolveDialogMethod "addButton" o = DialogAddButtonMethodInfo
+    ResolveDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveDialogMethod "response" o = DialogResponseMethodInfo
+    ResolveDialogMethod "run" o = DialogRunMethodInfo
+    ResolveDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveDialogMethod "getActionArea" o = DialogGetActionAreaMethodInfo
+    ResolveDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveDialogMethod "getContentArea" o = DialogGetContentAreaMethodInfo
+    ResolveDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveDialogMethod "getHeaderBar" o = DialogGetHeaderBarMethodInfo
+    ResolveDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveDialogMethod "getResponseForWidget" o = DialogGetResponseForWidgetMethodInfo
+    ResolveDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveDialogMethod "getWidgetForResponse" o = DialogGetWidgetForResponseMethodInfo
+    ResolveDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveDialogMethod "setAlternativeButtonOrderFromArray" o = DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveDialogMethod "setDefaultResponse" o = DialogSetDefaultResponseMethodInfo
+    ResolveDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveDialogMethod "setResponseSensitive" o = DialogSetResponseSensitiveMethodInfo
+    ResolveDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveDialogMethod t Dialog, O.MethodInfo info Dialog p) => OL.IsLabel t (Dialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Dialog::close
+{- |
+The ::close signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user uses a keybinding to close
+the dialog.
+
+The default binding for this signal is the Escape key.
+-}
+type DialogCloseCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `DialogCloseCallback`@.
+noDialogCloseCallback :: Maybe DialogCloseCallback
+noDialogCloseCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_DialogCloseCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_DialogCloseCallback`.
+foreign import ccall "wrapper"
+    mk_DialogCloseCallback :: C_DialogCloseCallback -> IO (FunPtr C_DialogCloseCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_DialogClose :: MonadIO m => DialogCloseCallback -> m (GClosure C_DialogCloseCallback)
+genClosure_DialogClose cb = liftIO $ do
+    let cb' = wrap_DialogCloseCallback cb
+    mk_DialogCloseCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `DialogCloseCallback` into a `C_DialogCloseCallback`.
+wrap_DialogCloseCallback ::
+    DialogCloseCallback ->
+    C_DialogCloseCallback
+wrap_DialogCloseCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@close@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' dialog #close callback
+@
+-}
+onDialogClose :: (IsDialog a, MonadIO m) => a -> DialogCloseCallback -> m SignalHandlerId
+onDialogClose obj cb = liftIO $ do
+    let cb' = wrap_DialogCloseCallback cb
+    cb'' <- mk_DialogCloseCallback cb'
+    connectSignalFunPtr obj "close" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@close@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' dialog #close callback
+@
+-}
+afterDialogClose :: (IsDialog a, MonadIO m) => a -> DialogCloseCallback -> m SignalHandlerId
+afterDialogClose obj cb = liftIO $ do
+    let cb' = wrap_DialogCloseCallback cb
+    cb'' <- mk_DialogCloseCallback cb'
+    connectSignalFunPtr obj "close" cb'' SignalConnectAfter
+
+
+-- signal Dialog::response
+{- |
+Emitted when an action widget is clicked, the dialog receives a
+delete event, or the application programmer calls 'GI.Gtk.Objects.Dialog.dialogResponse'.
+On a delete event, the response ID is @/GTK_RESPONSE_DELETE_EVENT/@.
+Otherwise, it depends on which action widget was clicked.
+-}
+type DialogResponseCallback =
+    Int32
+    {- ^ /@responseId@/: the response ID -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `DialogResponseCallback`@.
+noDialogResponseCallback :: Maybe DialogResponseCallback
+noDialogResponseCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_DialogResponseCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_DialogResponseCallback`.
+foreign import ccall "wrapper"
+    mk_DialogResponseCallback :: C_DialogResponseCallback -> IO (FunPtr C_DialogResponseCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_DialogResponse :: MonadIO m => DialogResponseCallback -> m (GClosure C_DialogResponseCallback)
+genClosure_DialogResponse cb = liftIO $ do
+    let cb' = wrap_DialogResponseCallback cb
+    mk_DialogResponseCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `DialogResponseCallback` into a `C_DialogResponseCallback`.
+wrap_DialogResponseCallback ::
+    DialogResponseCallback ->
+    C_DialogResponseCallback
+wrap_DialogResponseCallback _cb _ responseId _ = do
+    _cb  responseId
+
+
+{- |
+Connect a signal handler for the “@response@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' dialog #response callback
+@
+-}
+onDialogResponse :: (IsDialog a, MonadIO m) => a -> DialogResponseCallback -> m SignalHandlerId
+onDialogResponse obj cb = liftIO $ do
+    let cb' = wrap_DialogResponseCallback cb
+    cb'' <- mk_DialogResponseCallback cb'
+    connectSignalFunPtr obj "response" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@response@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' dialog #response callback
+@
+-}
+afterDialogResponse :: (IsDialog a, MonadIO m) => a -> DialogResponseCallback -> m SignalHandlerId
+afterDialogResponse obj cb = liftIO $ do
+    let cb' = wrap_DialogResponseCallback cb
+    cb'' <- mk_DialogResponseCallback cb'
+    connectSignalFunPtr obj "response" cb'' SignalConnectAfter
+
+
+-- VVV Prop "use-header-bar"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@use-header-bar@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' dialog #useHeaderBar
+@
+-}
+getDialogUseHeaderBar :: (MonadIO m, IsDialog o) => o -> m Int32
+getDialogUseHeaderBar obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "use-header-bar"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-header-bar@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructDialogUseHeaderBar :: (IsDialog o) => Int32 -> IO (GValueConstruct o)
+constructDialogUseHeaderBar val = B.Properties.constructObjectPropertyInt32 "use-header-bar" val
+
+#if ENABLE_OVERLOADING
+data DialogUseHeaderBarPropertyInfo
+instance AttrInfo DialogUseHeaderBarPropertyInfo where
+    type AttrAllowedOps DialogUseHeaderBarPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DialogUseHeaderBarPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint DialogUseHeaderBarPropertyInfo = IsDialog
+    type AttrGetType DialogUseHeaderBarPropertyInfo = Int32
+    type AttrLabel DialogUseHeaderBarPropertyInfo = "use-header-bar"
+    type AttrOrigin DialogUseHeaderBarPropertyInfo = Dialog
+    attrGet _ = getDialogUseHeaderBar
+    attrSet _ = undefined
+    attrConstruct _ = constructDialogUseHeaderBar
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Dialog
+type instance O.AttributeList Dialog = DialogAttributeList
+type DialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", DialogUseHeaderBarPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+dialogUseHeaderBar :: AttrLabelProxy "useHeaderBar"
+dialogUseHeaderBar = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data DialogCloseSignalInfo
+instance SignalInfo DialogCloseSignalInfo where
+    type HaskellCallbackType DialogCloseSignalInfo = DialogCloseCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_DialogCloseCallback cb
+        cb'' <- mk_DialogCloseCallback cb'
+        connectSignalFunPtr obj "close" cb'' connectMode
+
+data DialogResponseSignalInfo
+instance SignalInfo DialogResponseSignalInfo where
+    type HaskellCallbackType DialogResponseSignalInfo = DialogResponseCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_DialogResponseCallback cb
+        cb'' <- mk_DialogResponseCallback cb'
+        connectSignalFunPtr obj "response" cb'' connectMode
+
+type instance O.SignalList Dialog = DialogSignalList
+type DialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", DialogCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Dialog::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Dialog"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_new" gtk_dialog_new :: 
+    IO (Ptr Dialog)
+
+{- |
+Creates a new dialog box.
+
+Widgets should not be packed into this 'GI.Gtk.Objects.Window.Window'
+directly, but into the /@vbox@/ and /@actionArea@/, as described above.
+-}
+dialogNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Dialog
+    {- ^ __Returns:__ the new dialog as a 'GI.Gtk.Objects.Widget.Widget' -}
+dialogNew  = liftIO $ do
+    result <- gtk_dialog_new
+    checkUnexpectedReturnNULL "dialogNew" result
+    result' <- (newObject Dialog) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Dialog::add_action_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an activatable widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "response ID for @child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_add_action_widget" gtk_dialog_add_action_widget :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- response_id : TBasicType TInt
+    IO ()
+
+{- |
+Adds an activatable widget to the action area of a 'GI.Gtk.Objects.Dialog.Dialog',
+connecting a signal handler that will emit the 'GI.Gtk.Objects.Dialog.Dialog'::@/response/@
+signal on the dialog when the widget is activated. The widget is
+appended to the end of the dialog’s action area. If you want to add a
+non-activatable widget, simply pack it into the /@actionArea@/ field
+of the 'GI.Gtk.Objects.Dialog.Dialog' struct.
+-}
+dialogAddActionWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> b
+    {- ^ /@child@/: an activatable widget -}
+    -> Int32
+    {- ^ /@responseId@/: response ID for /@child@/ -}
+    -> m ()
+dialogAddActionWidget dialog child responseId = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_dialog_add_action_widget dialog' child' responseId
+    touchManagedPtr dialog
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data DialogAddActionWidgetMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsDialog a, Gtk.Widget.IsWidget b) => O.MethodInfo DialogAddActionWidgetMethodInfo a signature where
+    overloadedMethod _ = dialogAddActionWidget
+
+#endif
+
+-- method Dialog::add_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text of button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "response ID for the button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_add_button" gtk_dialog_add_button :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    CString ->                              -- button_text : TBasicType TUTF8
+    Int32 ->                                -- response_id : TBasicType TInt
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Adds a button with the given text and sets things up so that
+clicking the button will emit the 'GI.Gtk.Objects.Dialog.Dialog'::@/response/@ signal with
+the given /@responseId@/. The button is appended to the end of the
+dialog’s action area. The button widget is returned, but usually
+you don’t need it.
+-}
+dialogAddButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> T.Text
+    {- ^ /@buttonText@/: text of button -}
+    -> Int32
+    {- ^ /@responseId@/: response ID for the button -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.Button.Button' widget that was added -}
+dialogAddButton dialog buttonText responseId = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    buttonText' <- textToCString buttonText
+    result <- gtk_dialog_add_button dialog' buttonText' responseId
+    checkUnexpectedReturnNULL "dialogAddButton" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr dialog
+    freeMem buttonText'
+    return result'
+
+#if ENABLE_OVERLOADING
+data DialogAddButtonMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m Gtk.Widget.Widget), MonadIO m, IsDialog a) => O.MethodInfo DialogAddButtonMethodInfo a signature where
+    overloadedMethod _ = dialogAddButton
+
+#endif
+
+-- method Dialog::get_action_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_get_action_area" gtk_dialog_get_action_area :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED dialogGetActionArea ["(Since version 3.12)","Direct access to the action area","  is discouraged; use 'GI.Gtk.Objects.Dialog.dialogAddButton', etc."] #-}
+{- |
+Returns the action area of /@dialog@/.
+
+/Since: 2.14/
+-}
+dialogGetActionArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the action area -}
+dialogGetActionArea dialog = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    result <- gtk_dialog_get_action_area dialog'
+    checkUnexpectedReturnNULL "dialogGetActionArea" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr dialog
+    return result'
+
+#if ENABLE_OVERLOADING
+data DialogGetActionAreaMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsDialog a) => O.MethodInfo DialogGetActionAreaMethodInfo a signature where
+    overloadedMethod _ = dialogGetActionArea
+
+#endif
+
+-- method Dialog::get_content_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Box"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_get_content_area" gtk_dialog_get_content_area :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    IO (Ptr Gtk.Box.Box)
+
+{- |
+Returns the content area of /@dialog@/.
+
+/Since: 2.14/
+-}
+dialogGetContentArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> m Gtk.Box.Box
+    {- ^ __Returns:__ the content area 'GI.Gtk.Objects.Box.Box'. -}
+dialogGetContentArea dialog = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    result <- gtk_dialog_get_content_area dialog'
+    checkUnexpectedReturnNULL "dialogGetContentArea" result
+    result' <- (newObject Gtk.Box.Box) result
+    touchManagedPtr dialog
+    return result'
+
+#if ENABLE_OVERLOADING
+data DialogGetContentAreaMethodInfo
+instance (signature ~ (m Gtk.Box.Box), MonadIO m, IsDialog a) => O.MethodInfo DialogGetContentAreaMethodInfo a signature where
+    overloadedMethod _ = dialogGetContentArea
+
+#endif
+
+-- method Dialog::get_header_bar
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_get_header_bar" gtk_dialog_get_header_bar :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the header bar of /@dialog@/. Note that the
+headerbar is only used by the dialog if the
+'GI.Gtk.Objects.Dialog.Dialog':@/use-header-bar/@ property is 'True'.
+
+/Since: 3.12/
+-}
+dialogGetHeaderBar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the header bar -}
+dialogGetHeaderBar dialog = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    result <- gtk_dialog_get_header_bar dialog'
+    checkUnexpectedReturnNULL "dialogGetHeaderBar" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr dialog
+    return result'
+
+#if ENABLE_OVERLOADING
+data DialogGetHeaderBarMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsDialog a) => O.MethodInfo DialogGetHeaderBarMethodInfo a signature where
+    overloadedMethod _ = dialogGetHeaderBar
+
+#endif
+
+-- method Dialog::get_response_for_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget in the action area of @dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_get_response_for_widget" gtk_dialog_get_response_for_widget :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Gets the response id of a widget in the action area
+of a dialog.
+
+/Since: 2.8/
+-}
+dialogGetResponseForWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> b
+    {- ^ /@widget@/: a widget in the action area of /@dialog@/ -}
+    -> m Int32
+    {- ^ __Returns:__ the response id of /@widget@/, or 'GI.Gtk.Enums.ResponseTypeNone'
+ if /@widget@/ doesn’t have a response id set. -}
+dialogGetResponseForWidget dialog widget = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_dialog_get_response_for_widget dialog' widget'
+    touchManagedPtr dialog
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data DialogGetResponseForWidgetMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsDialog a, Gtk.Widget.IsWidget b) => O.MethodInfo DialogGetResponseForWidgetMethodInfo a signature where
+    overloadedMethod _ = dialogGetResponseForWidget
+
+#endif
+
+-- method Dialog::get_widget_for_response
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the response ID used by the @dialog widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_get_widget_for_response" gtk_dialog_get_widget_for_response :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    Int32 ->                                -- response_id : TBasicType TInt
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the widget button that uses the given response ID in the action area
+of a dialog.
+
+/Since: 2.20/
+-}
+dialogGetWidgetForResponse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> Int32
+    {- ^ /@responseId@/: the response ID used by the /@dialog@/ widget -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the /@widget@/ button that uses the given
+    /@responseId@/, or 'Nothing'. -}
+dialogGetWidgetForResponse dialog responseId = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    result <- gtk_dialog_get_widget_for_response dialog' responseId
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr dialog
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data DialogGetWidgetForResponseMethodInfo
+instance (signature ~ (Int32 -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsDialog a) => O.MethodInfo DialogGetWidgetForResponseMethodInfo a signature where
+    overloadedMethod _ = dialogGetWidgetForResponse
+
+#endif
+
+-- method Dialog::response
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "response ID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_response" gtk_dialog_response :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    Int32 ->                                -- response_id : TBasicType TInt
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Objects.Dialog.Dialog'::@/response/@ signal with the given response ID.
+Used to indicate that the user has responded to the dialog in some way;
+typically either you or 'GI.Gtk.Objects.Dialog.dialogRun' will be monitoring the
+::response signal and take appropriate action.
+-}
+dialogResponse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> Int32
+    {- ^ /@responseId@/: response ID -}
+    -> m ()
+dialogResponse dialog responseId = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    gtk_dialog_response dialog' responseId
+    touchManagedPtr dialog
+    return ()
+
+#if ENABLE_OVERLOADING
+data DialogResponseMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsDialog a) => O.MethodInfo DialogResponseMethodInfo a signature where
+    overloadedMethod _ = dialogResponse
+
+#endif
+
+-- method Dialog::run
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_run" gtk_dialog_run :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    IO Int32
+
+{- |
+Blocks in a recursive main loop until the /@dialog@/ either emits the
+'GI.Gtk.Objects.Dialog.Dialog'::@/response/@ signal, or is destroyed. If the dialog is
+destroyed during the call to 'GI.Gtk.Objects.Dialog.dialogRun', 'GI.Gtk.Objects.Dialog.dialogRun' returns
+@/GTK_RESPONSE_NONE/@. Otherwise, it returns the response ID from the
+::response signal emission.
+
+Before entering the recursive main loop, 'GI.Gtk.Objects.Dialog.dialogRun' calls
+'GI.Gtk.Objects.Widget.widgetShow' on the dialog for you. Note that you still
+need to show any children of the dialog yourself.
+
+During 'GI.Gtk.Objects.Dialog.dialogRun', the default behavior of 'GI.Gtk.Objects.Widget.Widget'::@/delete-event/@
+is disabled; if the dialog receives ::delete_event, it will not be
+destroyed as windows usually are, and 'GI.Gtk.Objects.Dialog.dialogRun' will return
+@/GTK_RESPONSE_DELETE_EVENT/@. Also, during 'GI.Gtk.Objects.Dialog.dialogRun' the dialog
+will be modal. You can force 'GI.Gtk.Objects.Dialog.dialogRun' to return at any time by
+calling 'GI.Gtk.Objects.Dialog.dialogResponse' to emit the ::response signal. Destroying
+the dialog during 'GI.Gtk.Objects.Dialog.dialogRun' is a very bad idea, because your
+post-run code won’t know whether the dialog was destroyed or not.
+
+After 'GI.Gtk.Objects.Dialog.dialogRun' returns, you are responsible for hiding or
+destroying the dialog if you wish to do so.
+
+Typical usage of this function might be:
+
+=== /C code/
+>
+>  GtkWidget *dialog = gtk_dialog_new ();
+>  // Set up dialog...
+>
+>  int result = gtk_dialog_run (GTK_DIALOG (dialog));
+>  switch (result)
+>    {
+>      case GTK_RESPONSE_ACCEPT:
+>         // do_application_specific_something ();
+>         break;
+>      default:
+>         // do_nothing_since_dialog_was_cancelled ();
+>         break;
+>    }
+>  gtk_widget_destroy (dialog);
+
+
+Note that even though the recursive main loop gives the effect of a
+modal dialog (it prevents the user from interacting with other
+windows in the same window group while the dialog is run), callbacks
+such as timeouts, IO channel watches, DND drops, etc, will
+be triggered during a 'GI.Gtk.Objects.Dialog.dialogRun' call.
+-}
+dialogRun ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> m Int32
+    {- ^ __Returns:__ response ID -}
+dialogRun dialog = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    result <- gtk_dialog_run dialog'
+    touchManagedPtr dialog
+    return result
+
+#if ENABLE_OVERLOADING
+data DialogRunMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsDialog a) => O.MethodInfo DialogRunMethodInfo a signature where
+    overloadedMethod _ = dialogRun
+
+#endif
+
+-- method Dialog::set_alternative_button_order_from_array
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_params", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of response ids in @new_order", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_order", argType = TCArray False (-1) 1 (TBasicType TInt), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of response ids of\n    @dialog\8217s buttons", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_params", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of response ids in @new_order", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_set_alternative_button_order_from_array" gtk_dialog_set_alternative_button_order_from_array :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    Int32 ->                                -- n_params : TBasicType TInt
+    Ptr Int32 ->                            -- new_order : TCArray False (-1) 1 (TBasicType TInt)
+    IO ()
+
+{-# DEPRECATED dialogSetAlternativeButtonOrderFromArray ["(Since version 3.10)","Deprecated"] #-}
+{- |
+Sets an alternative button order. If the
+'GI.Gtk.Objects.Settings.Settings':@/gtk-alternative-button-order/@ setting is set to 'True',
+the dialog buttons are reordered according to the order of the
+response ids in /@newOrder@/.
+
+See @/gtk_dialog_set_alternative_button_order()/@ for more information.
+
+This function is for use by language bindings.
+
+/Since: 2.6/
+-}
+dialogSetAlternativeButtonOrderFromArray ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> [Int32]
+    {- ^ /@newOrder@/: an array of response ids of
+    /@dialog@/’s buttons -}
+    -> m ()
+dialogSetAlternativeButtonOrderFromArray dialog newOrder = liftIO $ do
+    let nParams = fromIntegral $ length newOrder
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    newOrder' <- packStorableArray newOrder
+    gtk_dialog_set_alternative_button_order_from_array dialog' nParams newOrder'
+    touchManagedPtr dialog
+    freeMem newOrder'
+    return ()
+
+#if ENABLE_OVERLOADING
+data DialogSetAlternativeButtonOrderFromArrayMethodInfo
+instance (signature ~ ([Int32] -> m ()), MonadIO m, IsDialog a) => O.MethodInfo DialogSetAlternativeButtonOrderFromArrayMethodInfo a signature where
+    overloadedMethod _ = dialogSetAlternativeButtonOrderFromArray
+
+#endif
+
+-- method Dialog::set_default_response
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a response ID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_set_default_response" gtk_dialog_set_default_response :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    Int32 ->                                -- response_id : TBasicType TInt
+    IO ()
+
+{- |
+Sets the last widget in the dialog’s action area with the given /@responseId@/
+as the default widget for the dialog. Pressing “Enter” normally activates
+the default widget.
+-}
+dialogSetDefaultResponse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> Int32
+    {- ^ /@responseId@/: a response ID -}
+    -> m ()
+dialogSetDefaultResponse dialog responseId = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    gtk_dialog_set_default_response dialog' responseId
+    touchManagedPtr dialog
+    return ()
+
+#if ENABLE_OVERLOADING
+data DialogSetDefaultResponseMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsDialog a) => O.MethodInfo DialogSetDefaultResponseMethodInfo a signature where
+    overloadedMethod _ = dialogSetDefaultResponse
+
+#endif
+
+-- method Dialog::set_response_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a response ID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE for sensitive", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_dialog_set_response_sensitive" gtk_dialog_set_response_sensitive :: 
+    Ptr Dialog ->                           -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    Int32 ->                                -- response_id : TBasicType TInt
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Calls @gtk_widget_set_sensitive (widget, \@setting)@
+for each widget in the dialog’s action area with the given /@responseId@/.
+A convenient way to sensitize\/desensitize dialog buttons.
+-}
+dialogSetResponseSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.Dialog.Dialog' -}
+    -> Int32
+    {- ^ /@responseId@/: a response ID -}
+    -> Bool
+    {- ^ /@setting@/: 'True' for sensitive -}
+    -> m ()
+dialogSetResponseSensitive dialog responseId setting = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_dialog_set_response_sensitive dialog' responseId setting'
+    touchManagedPtr dialog
+    return ()
+
+#if ENABLE_OVERLOADING
+data DialogSetResponseSensitiveMethodInfo
+instance (signature ~ (Int32 -> Bool -> m ()), MonadIO m, IsDialog a) => O.MethodInfo DialogSetResponseSensitiveMethodInfo a signature where
+    overloadedMethod _ = dialogSetResponseSensitive
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Dialog.hs-boot b/GI/Gtk/Objects/Dialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Dialog.hs-boot
@@ -0,0 +1,74 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Dialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Dialog = Dialog (ManagedPtr Dialog)
+instance GObject Dialog where
+class (GObject o, O.IsDescendantOf Dialog o) => IsDialog o
+instance (GObject o, O.IsDescendantOf Dialog o) => IsDialog o
+instance O.HasParentTypes Dialog
+#if ENABLE_OVERLOADING
+data DialogUseHeaderBarPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogCloseSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogResponseSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogAddActionWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogAddButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogGetActionAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogGetContentAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogGetHeaderBarMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogGetResponseForWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogGetWidgetForResponseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogResponseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogRunMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogSetAlternativeButtonOrderFromArrayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogSetDefaultResponseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data DialogSetResponseSensitiveMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/DrawingArea.hs b/GI/Gtk/Objects/DrawingArea.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/DrawingArea.hs
@@ -0,0 +1,510 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.DrawingArea.DrawingArea' widget is used for creating custom user interface
+elements. It’s essentially a blank widget; you can draw on it. After
+creating a drawing area, the application may want to connect to:
+
+* Mouse and button press signals to respond to input from
+the user. (Use 'GI.Gtk.Objects.Widget.widgetAddEvents' to enable events
+you wish to receive.)
+* The 'GI.Gtk.Objects.Widget.Widget'::@/realize/@ signal to take any necessary actions
+when the widget is instantiated on a particular display.
+(Create GDK resources in response to this signal.)
+* The 'GI.Gtk.Objects.Widget.Widget'::@/size-allocate/@ signal to take any necessary
+actions when the widget changes size.
+* The 'GI.Gtk.Objects.Widget.Widget'::@/draw/@ signal to handle redrawing the
+contents of the widget.
+
+
+The following code portion demonstrates using a drawing
+area to display a circle in the normal widget foreground
+color.
+
+Note that GDK automatically clears the exposed area before sending
+the expose event, and that drawing is implicitly clipped to the exposed
+area. If you want to have a theme-provided background, you need
+to call 'GI.Gtk.Functions.renderBackground' in your ::draw method.
+
+== Simple GtkDrawingArea usage
+
+
+=== /C code/
+>
+>gboolean
+>draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data)
+>{
+>  guint width, height;
+>  GdkRGBA color;
+>  GtkStyleContext *context;
+>
+>  context = gtk_widget_get_style_context (widget);
+>
+>  width = gtk_widget_get_allocated_width (widget);
+>  height = gtk_widget_get_allocated_height (widget);
+>
+>  gtk_render_background (context, cr, 0, 0, width, height);
+>
+>  cairo_arc (cr,
+>             width / 2.0, height / 2.0,
+>             MIN (width, height) / 2.0,
+>             0, 2 * G_PI);
+>
+>  gtk_style_context_get_color (context,
+>                               gtk_style_context_get_state (context),
+>                               &color);
+>  gdk_cairo_set_source_rgba (cr, &color);
+>
+>  cairo_fill (cr);
+>
+> return FALSE;
+>}
+>[...]
+>  GtkWidget *drawing_area = gtk_drawing_area_new ();
+>  gtk_widget_set_size_request (drawing_area, 100, 100);
+>  g_signal_connect (G_OBJECT (drawing_area), "draw",
+>                    G_CALLBACK (draw_callback), NULL);
+
+
+Draw signals are normally delivered when a drawing area first comes
+onscreen, or when it’s covered by another window and then uncovered.
+You can also force an expose event by adding to the “damage region”
+of the drawing area’s window; 'GI.Gtk.Objects.Widget.widgetQueueDrawArea' and
+'GI.Gdk.Objects.Window.windowInvalidateRect' are equally good ways to do this.
+You’ll then get a draw signal for the invalid region.
+
+The available routines for drawing are documented on the
+[GDK Drawing Primitives][gdk3-Cairo-Interaction] page
+and the cairo documentation.
+
+To receive mouse events on a drawing area, you will need to enable
+them with 'GI.Gtk.Objects.Widget.widgetAddEvents'. To receive keyboard events, you
+will need to set the “can-focus” property on the drawing area, and you
+should probably draw some user-visible indication that the drawing
+area is focused. Use 'GI.Gtk.Objects.Widget.widgetHasFocus' in your expose event
+handler to decide whether to draw the focus indicator. See
+'GI.Gtk.Functions.renderFocus' for one way to draw focus.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.DrawingArea
+    ( 
+
+-- * Exported types
+    DrawingArea(..)                         ,
+    IsDrawingArea                           ,
+    toDrawingArea                           ,
+    noDrawingArea                           ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    drawingAreaNew                          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype DrawingArea = DrawingArea (ManagedPtr DrawingArea)
+foreign import ccall "gtk_drawing_area_get_type"
+    c_gtk_drawing_area_get_type :: IO GType
+
+instance GObject DrawingArea where
+    gobjectType = c_gtk_drawing_area_get_type
+    
+
+-- | Type class for types which can be safely cast to `DrawingArea`, for instance with `toDrawingArea`.
+class (GObject o, O.IsDescendantOf DrawingArea o) => IsDrawingArea o
+instance (GObject o, O.IsDescendantOf DrawingArea o) => IsDrawingArea o
+
+instance O.HasParentTypes DrawingArea
+type instance O.ParentTypes DrawingArea = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `DrawingArea`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toDrawingArea :: (MonadIO m, IsDrawingArea o) => o -> m DrawingArea
+toDrawingArea = liftIO . unsafeCastTo DrawingArea
+
+-- | A convenience alias for `Nothing` :: `Maybe` `DrawingArea`.
+noDrawingArea :: Maybe DrawingArea
+noDrawingArea = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveDrawingAreaMethod (t :: Symbol) (o :: *) :: * where
+    ResolveDrawingAreaMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveDrawingAreaMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveDrawingAreaMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveDrawingAreaMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveDrawingAreaMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveDrawingAreaMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveDrawingAreaMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveDrawingAreaMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveDrawingAreaMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveDrawingAreaMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveDrawingAreaMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveDrawingAreaMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveDrawingAreaMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveDrawingAreaMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveDrawingAreaMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveDrawingAreaMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveDrawingAreaMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveDrawingAreaMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveDrawingAreaMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveDrawingAreaMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveDrawingAreaMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveDrawingAreaMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveDrawingAreaMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveDrawingAreaMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveDrawingAreaMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveDrawingAreaMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveDrawingAreaMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveDrawingAreaMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveDrawingAreaMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveDrawingAreaMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveDrawingAreaMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveDrawingAreaMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveDrawingAreaMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveDrawingAreaMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveDrawingAreaMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveDrawingAreaMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveDrawingAreaMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveDrawingAreaMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveDrawingAreaMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveDrawingAreaMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveDrawingAreaMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveDrawingAreaMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveDrawingAreaMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveDrawingAreaMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveDrawingAreaMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveDrawingAreaMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveDrawingAreaMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveDrawingAreaMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveDrawingAreaMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveDrawingAreaMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveDrawingAreaMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveDrawingAreaMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveDrawingAreaMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveDrawingAreaMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveDrawingAreaMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveDrawingAreaMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveDrawingAreaMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveDrawingAreaMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveDrawingAreaMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveDrawingAreaMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveDrawingAreaMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveDrawingAreaMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveDrawingAreaMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveDrawingAreaMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveDrawingAreaMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveDrawingAreaMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveDrawingAreaMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveDrawingAreaMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveDrawingAreaMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveDrawingAreaMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveDrawingAreaMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveDrawingAreaMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveDrawingAreaMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveDrawingAreaMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveDrawingAreaMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveDrawingAreaMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveDrawingAreaMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveDrawingAreaMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveDrawingAreaMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveDrawingAreaMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveDrawingAreaMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveDrawingAreaMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveDrawingAreaMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveDrawingAreaMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveDrawingAreaMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveDrawingAreaMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveDrawingAreaMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveDrawingAreaMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveDrawingAreaMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveDrawingAreaMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveDrawingAreaMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveDrawingAreaMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveDrawingAreaMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveDrawingAreaMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveDrawingAreaMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveDrawingAreaMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveDrawingAreaMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveDrawingAreaMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveDrawingAreaMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveDrawingAreaMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveDrawingAreaMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveDrawingAreaMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveDrawingAreaMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveDrawingAreaMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveDrawingAreaMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveDrawingAreaMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveDrawingAreaMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveDrawingAreaMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveDrawingAreaMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveDrawingAreaMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveDrawingAreaMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveDrawingAreaMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveDrawingAreaMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveDrawingAreaMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveDrawingAreaMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveDrawingAreaMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveDrawingAreaMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveDrawingAreaMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveDrawingAreaMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveDrawingAreaMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveDrawingAreaMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveDrawingAreaMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveDrawingAreaMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveDrawingAreaMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveDrawingAreaMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveDrawingAreaMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveDrawingAreaMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveDrawingAreaMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveDrawingAreaMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveDrawingAreaMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveDrawingAreaMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveDrawingAreaMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveDrawingAreaMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveDrawingAreaMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveDrawingAreaMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveDrawingAreaMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveDrawingAreaMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveDrawingAreaMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveDrawingAreaMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveDrawingAreaMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveDrawingAreaMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveDrawingAreaMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveDrawingAreaMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveDrawingAreaMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveDrawingAreaMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveDrawingAreaMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveDrawingAreaMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveDrawingAreaMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveDrawingAreaMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveDrawingAreaMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveDrawingAreaMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveDrawingAreaMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveDrawingAreaMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveDrawingAreaMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveDrawingAreaMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveDrawingAreaMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveDrawingAreaMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveDrawingAreaMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveDrawingAreaMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveDrawingAreaMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveDrawingAreaMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveDrawingAreaMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveDrawingAreaMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveDrawingAreaMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveDrawingAreaMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveDrawingAreaMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveDrawingAreaMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveDrawingAreaMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveDrawingAreaMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveDrawingAreaMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveDrawingAreaMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveDrawingAreaMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveDrawingAreaMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveDrawingAreaMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveDrawingAreaMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveDrawingAreaMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveDrawingAreaMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveDrawingAreaMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveDrawingAreaMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveDrawingAreaMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveDrawingAreaMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveDrawingAreaMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveDrawingAreaMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveDrawingAreaMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveDrawingAreaMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveDrawingAreaMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveDrawingAreaMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveDrawingAreaMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveDrawingAreaMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveDrawingAreaMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveDrawingAreaMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveDrawingAreaMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveDrawingAreaMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveDrawingAreaMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveDrawingAreaMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveDrawingAreaMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveDrawingAreaMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveDrawingAreaMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveDrawingAreaMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveDrawingAreaMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveDrawingAreaMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveDrawingAreaMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveDrawingAreaMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveDrawingAreaMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveDrawingAreaMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveDrawingAreaMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveDrawingAreaMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveDrawingAreaMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveDrawingAreaMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveDrawingAreaMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveDrawingAreaMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveDrawingAreaMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveDrawingAreaMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveDrawingAreaMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveDrawingAreaMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveDrawingAreaMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveDrawingAreaMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveDrawingAreaMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveDrawingAreaMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveDrawingAreaMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveDrawingAreaMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveDrawingAreaMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveDrawingAreaMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveDrawingAreaMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveDrawingAreaMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveDrawingAreaMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveDrawingAreaMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveDrawingAreaMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveDrawingAreaMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveDrawingAreaMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveDrawingAreaMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveDrawingAreaMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveDrawingAreaMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveDrawingAreaMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveDrawingAreaMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveDrawingAreaMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveDrawingAreaMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveDrawingAreaMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveDrawingAreaMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveDrawingAreaMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveDrawingAreaMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveDrawingAreaMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveDrawingAreaMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveDrawingAreaMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveDrawingAreaMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveDrawingAreaMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveDrawingAreaMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveDrawingAreaMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveDrawingAreaMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveDrawingAreaMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveDrawingAreaMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveDrawingAreaMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveDrawingAreaMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveDrawingAreaMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveDrawingAreaMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveDrawingAreaMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveDrawingAreaMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveDrawingAreaMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveDrawingAreaMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveDrawingAreaMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveDrawingAreaMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveDrawingAreaMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveDrawingAreaMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveDrawingAreaMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveDrawingAreaMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveDrawingAreaMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveDrawingAreaMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveDrawingAreaMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveDrawingAreaMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveDrawingAreaMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveDrawingAreaMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveDrawingAreaMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveDrawingAreaMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveDrawingAreaMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveDrawingAreaMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveDrawingAreaMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveDrawingAreaMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveDrawingAreaMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveDrawingAreaMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveDrawingAreaMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveDrawingAreaMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveDrawingAreaMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveDrawingAreaMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveDrawingAreaMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveDrawingAreaMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveDrawingAreaMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveDrawingAreaMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveDrawingAreaMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveDrawingAreaMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveDrawingAreaMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveDrawingAreaMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveDrawingAreaMethod t DrawingArea, O.MethodInfo info DrawingArea p) => OL.IsLabel t (DrawingArea -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList DrawingArea
+type instance O.AttributeList DrawingArea = DrawingAreaAttributeList
+type DrawingAreaAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList DrawingArea = DrawingAreaSignalList
+type DrawingAreaSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method DrawingArea::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "DrawingArea"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drawing_area_new" gtk_drawing_area_new :: 
+    IO (Ptr DrawingArea)
+
+{- |
+Creates a new drawing area.
+-}
+drawingAreaNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m DrawingArea
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.DrawingArea.DrawingArea' -}
+drawingAreaNew  = liftIO $ do
+    result <- gtk_drawing_area_new
+    checkUnexpectedReturnNULL "drawingAreaNew" result
+    result' <- (newObject DrawingArea) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/DrawingArea.hs-boot b/GI/Gtk/Objects/DrawingArea.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/DrawingArea.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.DrawingArea where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype DrawingArea = DrawingArea (ManagedPtr DrawingArea)
+instance GObject DrawingArea where
+class (GObject o, O.IsDescendantOf DrawingArea o) => IsDrawingArea o
+instance (GObject o, O.IsDescendantOf DrawingArea o) => IsDrawingArea o
+instance O.HasParentTypes DrawingArea
diff --git a/GI/Gtk/Objects/Entry.hs b/GI/Gtk/Objects/Entry.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Entry.hs
@@ -0,0 +1,9343 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Entry.Entry' widget is a single line text entry
+widget. A fairly large set of key bindings are supported
+by default. If the entered text is longer than the allocation
+of the widget, the widget will scroll so that the cursor
+position is visible.
+
+When using an entry for passwords and other sensitive information,
+it can be put into “password mode” using 'GI.Gtk.Objects.Entry.entrySetVisibility'.
+In this mode, entered text is displayed using a “invisible” character.
+By default, GTK+ picks the best invisible character that is available
+in the current font, but it can be changed with
+'GI.Gtk.Objects.Entry.entrySetInvisibleChar'. Since 2.16, GTK+ displays a warning
+when Caps Lock or input methods might interfere with entering text in
+a password entry. The warning can be turned off with the
+'GI.Gtk.Objects.Entry.Entry':@/caps-lock-warning/@ property.
+
+Since 2.16, GtkEntry has the ability to display progress or activity
+information behind the text. To make an entry display such information,
+use 'GI.Gtk.Objects.Entry.entrySetProgressFraction' or 'GI.Gtk.Objects.Entry.entrySetProgressPulseStep'.
+
+Additionally, GtkEntry can show icons at either side of the entry. These
+icons can be activatable by clicking, can be set up as drag source and
+can have tooltips. To add an icon, use 'GI.Gtk.Objects.Entry.entrySetIconFromGicon' or
+one of the various other functions that set an icon from a stock id, an
+icon name or a pixbuf. To trigger an action when the user clicks an icon,
+connect to the 'GI.Gtk.Objects.Entry.Entry'::@/icon-press/@ signal. To allow DND operations
+from an icon, use 'GI.Gtk.Objects.Entry.entrySetIconDragSource'. To set a tooltip on
+an icon, use 'GI.Gtk.Objects.Entry.entrySetIconTooltipText' or the corresponding function
+for markup.
+
+Note that functionality or information that is only available by clicking
+on an icon in an entry may not be accessible at all to users which are not
+able to use a mouse or other pointing device. It is therefore recommended
+that any such functionality should also be available by other means, e.g.
+via the context menu of the entry.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>entry[.read-only][.flat][.warning][.error]
+>├── image.left
+>├── image.right
+>├── undershoot.left
+>├── undershoot.right
+>├── [selection]
+>├── [progress[.pulse]]
+>╰── [window.popup]
+
+
+GtkEntry has a main node with the name entry. Depending on the properties
+of the entry, the style classes .read-only and .flat may appear. The style
+classes .warning and .error may also be used with entries.
+
+When the entry shows icons, it adds subnodes with the name image and the
+style class .left or .right, depending on where the icon appears.
+
+When the entry has a selection, it adds a subnode with the name selection.
+
+When the entry shows progress, it adds a subnode with the name progress.
+The node has the style class .pulse when the shown progress is pulsing.
+
+The CSS node for a context menu is added as a subnode below entry as well.
+
+The undershoot nodes are used to draw the underflow indication when content
+is scrolled out of view. These nodes get the .left and .right style classes
+added depending on where the indication is drawn.
+
+When touch is used and touch selection handles are shown, they are using
+CSS nodes with name cursor-handle. They get the .top or .bottom style class
+depending on where they are shown in relation to the selection. If there is
+just a single handle for the text cursor, it gets the style class
+.insertion-cursor.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Entry
+    ( 
+
+-- * Exported types
+    Entry(..)                               ,
+    IsEntry                                 ,
+    toEntry                                 ,
+    noEntry                                 ,
+
+
+ -- * Methods
+-- ** getActivatesDefault #method:getActivatesDefault#
+
+#if ENABLE_OVERLOADING
+    EntryGetActivatesDefaultMethodInfo      ,
+#endif
+    entryGetActivatesDefault                ,
+
+
+-- ** getAlignment #method:getAlignment#
+
+#if ENABLE_OVERLOADING
+    EntryGetAlignmentMethodInfo             ,
+#endif
+    entryGetAlignment                       ,
+
+
+-- ** getAttributes #method:getAttributes#
+
+#if ENABLE_OVERLOADING
+    EntryGetAttributesMethodInfo            ,
+#endif
+    entryGetAttributes                      ,
+
+
+-- ** getBuffer #method:getBuffer#
+
+#if ENABLE_OVERLOADING
+    EntryGetBufferMethodInfo                ,
+#endif
+    entryGetBuffer                          ,
+
+
+-- ** getCompletion #method:getCompletion#
+
+#if ENABLE_OVERLOADING
+    EntryGetCompletionMethodInfo            ,
+#endif
+    entryGetCompletion                      ,
+
+
+-- ** getCurrentIconDragSource #method:getCurrentIconDragSource#
+
+#if ENABLE_OVERLOADING
+    EntryGetCurrentIconDragSourceMethodInfo ,
+#endif
+    entryGetCurrentIconDragSource           ,
+
+
+-- ** getCursorHadjustment #method:getCursorHadjustment#
+
+#if ENABLE_OVERLOADING
+    EntryGetCursorHadjustmentMethodInfo     ,
+#endif
+    entryGetCursorHadjustment               ,
+
+
+-- ** getHasFrame #method:getHasFrame#
+
+#if ENABLE_OVERLOADING
+    EntryGetHasFrameMethodInfo              ,
+#endif
+    entryGetHasFrame                        ,
+
+
+-- ** getIconActivatable #method:getIconActivatable#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconActivatableMethodInfo       ,
+#endif
+    entryGetIconActivatable                 ,
+
+
+-- ** getIconArea #method:getIconArea#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconAreaMethodInfo              ,
+#endif
+    entryGetIconArea                        ,
+
+
+-- ** getIconAtPos #method:getIconAtPos#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconAtPosMethodInfo             ,
+#endif
+    entryGetIconAtPos                       ,
+
+
+-- ** getIconGicon #method:getIconGicon#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconGiconMethodInfo             ,
+#endif
+    entryGetIconGicon                       ,
+
+
+-- ** getIconName #method:getIconName#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconNameMethodInfo              ,
+#endif
+    entryGetIconName                        ,
+
+
+-- ** getIconPixbuf #method:getIconPixbuf#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconPixbufMethodInfo            ,
+#endif
+    entryGetIconPixbuf                      ,
+
+
+-- ** getIconSensitive #method:getIconSensitive#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconSensitiveMethodInfo         ,
+#endif
+    entryGetIconSensitive                   ,
+
+
+-- ** getIconStock #method:getIconStock#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconStockMethodInfo             ,
+#endif
+    entryGetIconStock                       ,
+
+
+-- ** getIconStorageType #method:getIconStorageType#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconStorageTypeMethodInfo       ,
+#endif
+    entryGetIconStorageType                 ,
+
+
+-- ** getIconTooltipMarkup #method:getIconTooltipMarkup#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconTooltipMarkupMethodInfo     ,
+#endif
+    entryGetIconTooltipMarkup               ,
+
+
+-- ** getIconTooltipText #method:getIconTooltipText#
+
+#if ENABLE_OVERLOADING
+    EntryGetIconTooltipTextMethodInfo       ,
+#endif
+    entryGetIconTooltipText                 ,
+
+
+-- ** getInnerBorder #method:getInnerBorder#
+
+#if ENABLE_OVERLOADING
+    EntryGetInnerBorderMethodInfo           ,
+#endif
+    entryGetInnerBorder                     ,
+
+
+-- ** getInputHints #method:getInputHints#
+
+#if ENABLE_OVERLOADING
+    EntryGetInputHintsMethodInfo            ,
+#endif
+    entryGetInputHints                      ,
+
+
+-- ** getInputPurpose #method:getInputPurpose#
+
+#if ENABLE_OVERLOADING
+    EntryGetInputPurposeMethodInfo          ,
+#endif
+    entryGetInputPurpose                    ,
+
+
+-- ** getInvisibleChar #method:getInvisibleChar#
+
+#if ENABLE_OVERLOADING
+    EntryGetInvisibleCharMethodInfo         ,
+#endif
+    entryGetInvisibleChar                   ,
+
+
+-- ** getLayout #method:getLayout#
+
+#if ENABLE_OVERLOADING
+    EntryGetLayoutMethodInfo                ,
+#endif
+    entryGetLayout                          ,
+
+
+-- ** getLayoutOffsets #method:getLayoutOffsets#
+
+#if ENABLE_OVERLOADING
+    EntryGetLayoutOffsetsMethodInfo         ,
+#endif
+    entryGetLayoutOffsets                   ,
+
+
+-- ** getMaxLength #method:getMaxLength#
+
+#if ENABLE_OVERLOADING
+    EntryGetMaxLengthMethodInfo             ,
+#endif
+    entryGetMaxLength                       ,
+
+
+-- ** getMaxWidthChars #method:getMaxWidthChars#
+
+#if ENABLE_OVERLOADING
+    EntryGetMaxWidthCharsMethodInfo         ,
+#endif
+    entryGetMaxWidthChars                   ,
+
+
+-- ** getOverwriteMode #method:getOverwriteMode#
+
+#if ENABLE_OVERLOADING
+    EntryGetOverwriteModeMethodInfo         ,
+#endif
+    entryGetOverwriteMode                   ,
+
+
+-- ** getPlaceholderText #method:getPlaceholderText#
+
+#if ENABLE_OVERLOADING
+    EntryGetPlaceholderTextMethodInfo       ,
+#endif
+    entryGetPlaceholderText                 ,
+
+
+-- ** getProgressFraction #method:getProgressFraction#
+
+#if ENABLE_OVERLOADING
+    EntryGetProgressFractionMethodInfo      ,
+#endif
+    entryGetProgressFraction                ,
+
+
+-- ** getProgressPulseStep #method:getProgressPulseStep#
+
+#if ENABLE_OVERLOADING
+    EntryGetProgressPulseStepMethodInfo     ,
+#endif
+    entryGetProgressPulseStep               ,
+
+
+-- ** getTabs #method:getTabs#
+
+#if ENABLE_OVERLOADING
+    EntryGetTabsMethodInfo                  ,
+#endif
+    entryGetTabs                            ,
+
+
+-- ** getText #method:getText#
+
+#if ENABLE_OVERLOADING
+    EntryGetTextMethodInfo                  ,
+#endif
+    entryGetText                            ,
+
+
+-- ** getTextArea #method:getTextArea#
+
+#if ENABLE_OVERLOADING
+    EntryGetTextAreaMethodInfo              ,
+#endif
+    entryGetTextArea                        ,
+
+
+-- ** getTextLength #method:getTextLength#
+
+#if ENABLE_OVERLOADING
+    EntryGetTextLengthMethodInfo            ,
+#endif
+    entryGetTextLength                      ,
+
+
+-- ** getVisibility #method:getVisibility#
+
+#if ENABLE_OVERLOADING
+    EntryGetVisibilityMethodInfo            ,
+#endif
+    entryGetVisibility                      ,
+
+
+-- ** getWidthChars #method:getWidthChars#
+
+#if ENABLE_OVERLOADING
+    EntryGetWidthCharsMethodInfo            ,
+#endif
+    entryGetWidthChars                      ,
+
+
+-- ** grabFocusWithoutSelecting #method:grabFocusWithoutSelecting#
+
+#if ENABLE_OVERLOADING
+    EntryGrabFocusWithoutSelectingMethodInfo,
+#endif
+    entryGrabFocusWithoutSelecting          ,
+
+
+-- ** imContextFilterKeypress #method:imContextFilterKeypress#
+
+#if ENABLE_OVERLOADING
+    EntryImContextFilterKeypressMethodInfo  ,
+#endif
+    entryImContextFilterKeypress            ,
+
+
+-- ** layoutIndexToTextIndex #method:layoutIndexToTextIndex#
+
+#if ENABLE_OVERLOADING
+    EntryLayoutIndexToTextIndexMethodInfo   ,
+#endif
+    entryLayoutIndexToTextIndex             ,
+
+
+-- ** new #method:new#
+
+    entryNew                                ,
+
+
+-- ** newWithBuffer #method:newWithBuffer#
+
+    entryNewWithBuffer                      ,
+
+
+-- ** progressPulse #method:progressPulse#
+
+#if ENABLE_OVERLOADING
+    EntryProgressPulseMethodInfo            ,
+#endif
+    entryProgressPulse                      ,
+
+
+-- ** resetImContext #method:resetImContext#
+
+#if ENABLE_OVERLOADING
+    EntryResetImContextMethodInfo           ,
+#endif
+    entryResetImContext                     ,
+
+
+-- ** setActivatesDefault #method:setActivatesDefault#
+
+#if ENABLE_OVERLOADING
+    EntrySetActivatesDefaultMethodInfo      ,
+#endif
+    entrySetActivatesDefault                ,
+
+
+-- ** setAlignment #method:setAlignment#
+
+#if ENABLE_OVERLOADING
+    EntrySetAlignmentMethodInfo             ,
+#endif
+    entrySetAlignment                       ,
+
+
+-- ** setAttributes #method:setAttributes#
+
+#if ENABLE_OVERLOADING
+    EntrySetAttributesMethodInfo            ,
+#endif
+    entrySetAttributes                      ,
+
+
+-- ** setBuffer #method:setBuffer#
+
+#if ENABLE_OVERLOADING
+    EntrySetBufferMethodInfo                ,
+#endif
+    entrySetBuffer                          ,
+
+
+-- ** setCompletion #method:setCompletion#
+
+#if ENABLE_OVERLOADING
+    EntrySetCompletionMethodInfo            ,
+#endif
+    entrySetCompletion                      ,
+
+
+-- ** setCursorHadjustment #method:setCursorHadjustment#
+
+#if ENABLE_OVERLOADING
+    EntrySetCursorHadjustmentMethodInfo     ,
+#endif
+    entrySetCursorHadjustment               ,
+
+
+-- ** setHasFrame #method:setHasFrame#
+
+#if ENABLE_OVERLOADING
+    EntrySetHasFrameMethodInfo              ,
+#endif
+    entrySetHasFrame                        ,
+
+
+-- ** setIconActivatable #method:setIconActivatable#
+
+#if ENABLE_OVERLOADING
+    EntrySetIconActivatableMethodInfo       ,
+#endif
+    entrySetIconActivatable                 ,
+
+
+-- ** setIconDragSource #method:setIconDragSource#
+
+#if ENABLE_OVERLOADING
+    EntrySetIconDragSourceMethodInfo        ,
+#endif
+    entrySetIconDragSource                  ,
+
+
+-- ** setIconFromGicon #method:setIconFromGicon#
+
+#if ENABLE_OVERLOADING
+    EntrySetIconFromGiconMethodInfo         ,
+#endif
+    entrySetIconFromGicon                   ,
+
+
+-- ** setIconFromIconName #method:setIconFromIconName#
+
+#if ENABLE_OVERLOADING
+    EntrySetIconFromIconNameMethodInfo      ,
+#endif
+    entrySetIconFromIconName                ,
+
+
+-- ** setIconFromPixbuf #method:setIconFromPixbuf#
+
+#if ENABLE_OVERLOADING
+    EntrySetIconFromPixbufMethodInfo        ,
+#endif
+    entrySetIconFromPixbuf                  ,
+
+
+-- ** setIconFromStock #method:setIconFromStock#
+
+#if ENABLE_OVERLOADING
+    EntrySetIconFromStockMethodInfo         ,
+#endif
+    entrySetIconFromStock                   ,
+
+
+-- ** setIconSensitive #method:setIconSensitive#
+
+#if ENABLE_OVERLOADING
+    EntrySetIconSensitiveMethodInfo         ,
+#endif
+    entrySetIconSensitive                   ,
+
+
+-- ** setIconTooltipMarkup #method:setIconTooltipMarkup#
+
+#if ENABLE_OVERLOADING
+    EntrySetIconTooltipMarkupMethodInfo     ,
+#endif
+    entrySetIconTooltipMarkup               ,
+
+
+-- ** setIconTooltipText #method:setIconTooltipText#
+
+#if ENABLE_OVERLOADING
+    EntrySetIconTooltipTextMethodInfo       ,
+#endif
+    entrySetIconTooltipText                 ,
+
+
+-- ** setInnerBorder #method:setInnerBorder#
+
+#if ENABLE_OVERLOADING
+    EntrySetInnerBorderMethodInfo           ,
+#endif
+    entrySetInnerBorder                     ,
+
+
+-- ** setInputHints #method:setInputHints#
+
+#if ENABLE_OVERLOADING
+    EntrySetInputHintsMethodInfo            ,
+#endif
+    entrySetInputHints                      ,
+
+
+-- ** setInputPurpose #method:setInputPurpose#
+
+#if ENABLE_OVERLOADING
+    EntrySetInputPurposeMethodInfo          ,
+#endif
+    entrySetInputPurpose                    ,
+
+
+-- ** setInvisibleChar #method:setInvisibleChar#
+
+#if ENABLE_OVERLOADING
+    EntrySetInvisibleCharMethodInfo         ,
+#endif
+    entrySetInvisibleChar                   ,
+
+
+-- ** setMaxLength #method:setMaxLength#
+
+#if ENABLE_OVERLOADING
+    EntrySetMaxLengthMethodInfo             ,
+#endif
+    entrySetMaxLength                       ,
+
+
+-- ** setMaxWidthChars #method:setMaxWidthChars#
+
+#if ENABLE_OVERLOADING
+    EntrySetMaxWidthCharsMethodInfo         ,
+#endif
+    entrySetMaxWidthChars                   ,
+
+
+-- ** setOverwriteMode #method:setOverwriteMode#
+
+#if ENABLE_OVERLOADING
+    EntrySetOverwriteModeMethodInfo         ,
+#endif
+    entrySetOverwriteMode                   ,
+
+
+-- ** setPlaceholderText #method:setPlaceholderText#
+
+#if ENABLE_OVERLOADING
+    EntrySetPlaceholderTextMethodInfo       ,
+#endif
+    entrySetPlaceholderText                 ,
+
+
+-- ** setProgressFraction #method:setProgressFraction#
+
+#if ENABLE_OVERLOADING
+    EntrySetProgressFractionMethodInfo      ,
+#endif
+    entrySetProgressFraction                ,
+
+
+-- ** setProgressPulseStep #method:setProgressPulseStep#
+
+#if ENABLE_OVERLOADING
+    EntrySetProgressPulseStepMethodInfo     ,
+#endif
+    entrySetProgressPulseStep               ,
+
+
+-- ** setTabs #method:setTabs#
+
+#if ENABLE_OVERLOADING
+    EntrySetTabsMethodInfo                  ,
+#endif
+    entrySetTabs                            ,
+
+
+-- ** setText #method:setText#
+
+#if ENABLE_OVERLOADING
+    EntrySetTextMethodInfo                  ,
+#endif
+    entrySetText                            ,
+
+
+-- ** setVisibility #method:setVisibility#
+
+#if ENABLE_OVERLOADING
+    EntrySetVisibilityMethodInfo            ,
+#endif
+    entrySetVisibility                      ,
+
+
+-- ** setWidthChars #method:setWidthChars#
+
+#if ENABLE_OVERLOADING
+    EntrySetWidthCharsMethodInfo            ,
+#endif
+    entrySetWidthChars                      ,
+
+
+-- ** textIndexToLayoutIndex #method:textIndexToLayoutIndex#
+
+#if ENABLE_OVERLOADING
+    EntryTextIndexToLayoutIndexMethodInfo   ,
+#endif
+    entryTextIndexToLayoutIndex             ,
+
+
+-- ** unsetInvisibleChar #method:unsetInvisibleChar#
+
+#if ENABLE_OVERLOADING
+    EntryUnsetInvisibleCharMethodInfo       ,
+#endif
+    entryUnsetInvisibleChar                 ,
+
+
+
+
+ -- * Properties
+-- ** activatesDefault #attr:activatesDefault#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryActivatesDefaultPropertyInfo       ,
+#endif
+    constructEntryActivatesDefault          ,
+#if ENABLE_OVERLOADING
+    entryActivatesDefault                   ,
+#endif
+    getEntryActivatesDefault                ,
+    setEntryActivatesDefault                ,
+
+
+-- ** attributes #attr:attributes#
+{- | A list of Pango attributes to apply to the text of the entry.
+
+This is mainly useful to change the size or weight of the text.
+
+The 'GI.Pango.Structs.Attribute.Attribute'\'s /@startIndex@/ and /@endIndex@/ must refer to the
+'GI.Gtk.Objects.EntryBuffer.EntryBuffer' text, i.e. without the preedit string.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    EntryAttributesPropertyInfo             ,
+#endif
+    constructEntryAttributes                ,
+#if ENABLE_OVERLOADING
+    entryAttributes                         ,
+#endif
+    getEntryAttributes                      ,
+    setEntryAttributes                      ,
+
+
+-- ** buffer #attr:buffer#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryBufferPropertyInfo                 ,
+#endif
+    constructEntryBuffer                    ,
+#if ENABLE_OVERLOADING
+    entryBuffer                             ,
+#endif
+    getEntryBuffer                          ,
+    setEntryBuffer                          ,
+
+
+-- ** capsLockWarning #attr:capsLockWarning#
+{- | Whether password entries will show a warning when Caps Lock is on.
+
+Note that the warning is shown using a secondary icon, and thus
+does not work if you are using the secondary icon position for some
+other purpose.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryCapsLockWarningPropertyInfo        ,
+#endif
+    constructEntryCapsLockWarning           ,
+#if ENABLE_OVERLOADING
+    entryCapsLockWarning                    ,
+#endif
+    getEntryCapsLockWarning                 ,
+    setEntryCapsLockWarning                 ,
+
+
+-- ** completion #attr:completion#
+{- | The auxiliary completion object to use with the entry.
+
+/Since: 3.2/
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionPropertyInfo             ,
+#endif
+    clearEntryCompletion                    ,
+    constructEntryCompletion                ,
+#if ENABLE_OVERLOADING
+    entryCompletion                         ,
+#endif
+    getEntryCompletion                      ,
+    setEntryCompletion                      ,
+
+
+-- ** cursorPosition #attr:cursorPosition#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryCursorPositionPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    entryCursorPosition                     ,
+#endif
+    getEntryCursorPosition                  ,
+
+
+-- ** editable #attr:editable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryEditablePropertyInfo               ,
+#endif
+    constructEntryEditable                  ,
+#if ENABLE_OVERLOADING
+    entryEditable                           ,
+#endif
+    getEntryEditable                        ,
+    setEntryEditable                        ,
+
+
+-- ** enableEmojiCompletion #attr:enableEmojiCompletion#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryEnableEmojiCompletionPropertyInfo  ,
+#endif
+    constructEntryEnableEmojiCompletion     ,
+#if ENABLE_OVERLOADING
+    entryEnableEmojiCompletion              ,
+#endif
+    getEntryEnableEmojiCompletion           ,
+    setEntryEnableEmojiCompletion           ,
+
+
+-- ** hasFrame #attr:hasFrame#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryHasFramePropertyInfo               ,
+#endif
+    constructEntryHasFrame                  ,
+#if ENABLE_OVERLOADING
+    entryHasFrame                           ,
+#endif
+    getEntryHasFrame                        ,
+    setEntryHasFrame                        ,
+
+
+-- ** imModule #attr:imModule#
+{- | Which IM (input method) module should be used for this entry.
+See 'GI.Gtk.Objects.IMContext.IMContext'.
+
+Setting this to a non-'Nothing' value overrides the
+system-wide IM module setting. See the GtkSettings
+'GI.Gtk.Objects.Settings.Settings':@/gtk-im-module/@ property.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryImModulePropertyInfo               ,
+#endif
+    clearEntryImModule                      ,
+    constructEntryImModule                  ,
+#if ENABLE_OVERLOADING
+    entryImModule                           ,
+#endif
+    getEntryImModule                        ,
+    setEntryImModule                        ,
+
+
+-- ** innerBorder #attr:innerBorder#
+{- | Sets the text area\'s border between the text and the frame.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    EntryInnerBorderPropertyInfo            ,
+#endif
+    clearEntryInnerBorder                   ,
+    constructEntryInnerBorder               ,
+#if ENABLE_OVERLOADING
+    entryInnerBorder                        ,
+#endif
+    getEntryInnerBorder                     ,
+    setEntryInnerBorder                     ,
+
+
+-- ** inputHints #attr:inputHints#
+{- | Additional hints (beyond 'GI.Gtk.Objects.Entry.Entry':@/input-purpose/@) that
+allow input methods to fine-tune their behaviour.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    EntryInputHintsPropertyInfo             ,
+#endif
+    constructEntryInputHints                ,
+#if ENABLE_OVERLOADING
+    entryInputHints                         ,
+#endif
+    getEntryInputHints                      ,
+    setEntryInputHints                      ,
+
+
+-- ** inputPurpose #attr:inputPurpose#
+{- | The purpose of this text field.
+
+This property can be used by on-screen keyboards and other input
+methods to adjust their behaviour.
+
+Note that setting the purpose to 'GI.Gtk.Enums.InputPurposePassword' or
+'GI.Gtk.Enums.InputPurposePin' is independent from setting
+'GI.Gtk.Objects.Entry.Entry':@/visibility/@.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    EntryInputPurposePropertyInfo           ,
+#endif
+    constructEntryInputPurpose              ,
+#if ENABLE_OVERLOADING
+    entryInputPurpose                       ,
+#endif
+    getEntryInputPurpose                    ,
+    setEntryInputPurpose                    ,
+
+
+-- ** invisibleChar #attr:invisibleChar#
+{- | The invisible character is used when masking entry contents (in
+\\\"password mode\\\")\"). When it is not explicitly set with the
+'GI.Gtk.Objects.Entry.Entry':@/invisible-char/@ property, GTK+ determines the character
+to use from a list of possible candidates, depending on availability
+in the current font.
+
+This style property allows the theme to prepend a character
+to the list of candidates.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    EntryInvisibleCharPropertyInfo          ,
+#endif
+    constructEntryInvisibleChar             ,
+#if ENABLE_OVERLOADING
+    entryInvisibleChar                      ,
+#endif
+    getEntryInvisibleChar                   ,
+    setEntryInvisibleChar                   ,
+
+
+-- ** invisibleCharSet #attr:invisibleCharSet#
+{- | Whether the invisible char has been set for the 'GI.Gtk.Objects.Entry.Entry'.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryInvisibleCharSetPropertyInfo       ,
+#endif
+    constructEntryInvisibleCharSet          ,
+#if ENABLE_OVERLOADING
+    entryInvisibleCharSet                   ,
+#endif
+    getEntryInvisibleCharSet                ,
+    setEntryInvisibleCharSet                ,
+
+
+-- ** maxLength #attr:maxLength#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryMaxLengthPropertyInfo              ,
+#endif
+    constructEntryMaxLength                 ,
+#if ENABLE_OVERLOADING
+    entryMaxLength                          ,
+#endif
+    getEntryMaxLength                       ,
+    setEntryMaxLength                       ,
+
+
+-- ** maxWidthChars #attr:maxWidthChars#
+{- | The desired maximum width of the entry, in characters.
+If this property is set to -1, the width will be calculated
+automatically.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    EntryMaxWidthCharsPropertyInfo          ,
+#endif
+    constructEntryMaxWidthChars             ,
+#if ENABLE_OVERLOADING
+    entryMaxWidthChars                      ,
+#endif
+    getEntryMaxWidthChars                   ,
+    setEntryMaxWidthChars                   ,
+
+
+-- ** overwriteMode #attr:overwriteMode#
+{- | If text is overwritten when typing in the 'GI.Gtk.Objects.Entry.Entry'.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    EntryOverwriteModePropertyInfo          ,
+#endif
+    constructEntryOverwriteMode             ,
+#if ENABLE_OVERLOADING
+    entryOverwriteMode                      ,
+#endif
+    getEntryOverwriteMode                   ,
+    setEntryOverwriteMode                   ,
+
+
+-- ** placeholderText #attr:placeholderText#
+{- | The text that will be displayed in the 'GI.Gtk.Objects.Entry.Entry' when it is empty
+and unfocused.
+
+/Since: 3.2/
+-}
+#if ENABLE_OVERLOADING
+    EntryPlaceholderTextPropertyInfo        ,
+#endif
+    clearEntryPlaceholderText               ,
+    constructEntryPlaceholderText           ,
+#if ENABLE_OVERLOADING
+    entryPlaceholderText                    ,
+#endif
+    getEntryPlaceholderText                 ,
+    setEntryPlaceholderText                 ,
+
+
+-- ** populateAll #attr:populateAll#
+{- | If :populate-all is 'True', the 'GI.Gtk.Objects.Entry.Entry'::@/populate-popup/@
+signal is also emitted for touch popups.
+
+/Since: 3.8/
+-}
+#if ENABLE_OVERLOADING
+    EntryPopulateAllPropertyInfo            ,
+#endif
+    constructEntryPopulateAll               ,
+#if ENABLE_OVERLOADING
+    entryPopulateAll                        ,
+#endif
+    getEntryPopulateAll                     ,
+    setEntryPopulateAll                     ,
+
+
+-- ** primaryIconActivatable #attr:primaryIconActivatable#
+{- | Whether the primary icon is activatable.
+
+GTK+ emits the 'GI.Gtk.Objects.Entry.Entry'::@/icon-press/@ and 'GI.Gtk.Objects.Entry.Entry'::@/icon-release/@
+signals only on sensitive, activatable icons.
+
+Sensitive, but non-activatable icons can be used for purely
+informational purposes.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryPrimaryIconActivatablePropertyInfo ,
+#endif
+    constructEntryPrimaryIconActivatable    ,
+#if ENABLE_OVERLOADING
+    entryPrimaryIconActivatable             ,
+#endif
+    getEntryPrimaryIconActivatable          ,
+    setEntryPrimaryIconActivatable          ,
+
+
+-- ** primaryIconGicon #attr:primaryIconGicon#
+{- | The 'GI.Gio.Interfaces.Icon.Icon' to use for the primary icon for the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryPrimaryIconGiconPropertyInfo       ,
+#endif
+    clearEntryPrimaryIconGicon              ,
+    constructEntryPrimaryIconGicon          ,
+#if ENABLE_OVERLOADING
+    entryPrimaryIconGicon                   ,
+#endif
+    getEntryPrimaryIconGicon                ,
+    setEntryPrimaryIconGicon                ,
+
+
+-- ** primaryIconName #attr:primaryIconName#
+{- | The icon name to use for the primary icon for the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryPrimaryIconNamePropertyInfo        ,
+#endif
+    clearEntryPrimaryIconName               ,
+    constructEntryPrimaryIconName           ,
+#if ENABLE_OVERLOADING
+    entryPrimaryIconName                    ,
+#endif
+    getEntryPrimaryIconName                 ,
+    setEntryPrimaryIconName                 ,
+
+
+-- ** primaryIconPixbuf #attr:primaryIconPixbuf#
+{- | A pixbuf to use as the primary icon for the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryPrimaryIconPixbufPropertyInfo      ,
+#endif
+    clearEntryPrimaryIconPixbuf             ,
+    constructEntryPrimaryIconPixbuf         ,
+#if ENABLE_OVERLOADING
+    entryPrimaryIconPixbuf                  ,
+#endif
+    getEntryPrimaryIconPixbuf               ,
+    setEntryPrimaryIconPixbuf               ,
+
+
+-- ** primaryIconSensitive #attr:primaryIconSensitive#
+{- | Whether the primary icon is sensitive.
+
+An insensitive icon appears grayed out. GTK+ does not emit the
+'GI.Gtk.Objects.Entry.Entry'::@/icon-press/@ and 'GI.Gtk.Objects.Entry.Entry'::@/icon-release/@ signals and
+does not allow DND from insensitive icons.
+
+An icon should be set insensitive if the action that would trigger
+when clicked is currently not available.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryPrimaryIconSensitivePropertyInfo   ,
+#endif
+    constructEntryPrimaryIconSensitive      ,
+#if ENABLE_OVERLOADING
+    entryPrimaryIconSensitive               ,
+#endif
+    getEntryPrimaryIconSensitive            ,
+    setEntryPrimaryIconSensitive            ,
+
+
+-- ** primaryIconStock #attr:primaryIconStock#
+{- | The stock id to use for the primary icon for the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryPrimaryIconStockPropertyInfo       ,
+#endif
+    clearEntryPrimaryIconStock              ,
+    constructEntryPrimaryIconStock          ,
+#if ENABLE_OVERLOADING
+    entryPrimaryIconStock                   ,
+#endif
+    getEntryPrimaryIconStock                ,
+    setEntryPrimaryIconStock                ,
+
+
+-- ** primaryIconStorageType #attr:primaryIconStorageType#
+{- | The representation which is used for the primary icon of the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryPrimaryIconStorageTypePropertyInfo ,
+#endif
+#if ENABLE_OVERLOADING
+    entryPrimaryIconStorageType             ,
+#endif
+    getEntryPrimaryIconStorageType          ,
+
+
+-- ** primaryIconTooltipMarkup #attr:primaryIconTooltipMarkup#
+{- | The contents of the tooltip on the primary icon, which is marked up
+with the [Pango text markup language][PangoMarkupFormat].
+
+Also see 'GI.Gtk.Objects.Entry.entrySetIconTooltipMarkup'.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryPrimaryIconTooltipMarkupPropertyInfo,
+#endif
+    clearEntryPrimaryIconTooltipMarkup      ,
+    constructEntryPrimaryIconTooltipMarkup  ,
+#if ENABLE_OVERLOADING
+    entryPrimaryIconTooltipMarkup           ,
+#endif
+    getEntryPrimaryIconTooltipMarkup        ,
+    setEntryPrimaryIconTooltipMarkup        ,
+
+
+-- ** primaryIconTooltipText #attr:primaryIconTooltipText#
+{- | The contents of the tooltip on the primary icon.
+
+Also see 'GI.Gtk.Objects.Entry.entrySetIconTooltipText'.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryPrimaryIconTooltipTextPropertyInfo ,
+#endif
+    clearEntryPrimaryIconTooltipText        ,
+    constructEntryPrimaryIconTooltipText    ,
+#if ENABLE_OVERLOADING
+    entryPrimaryIconTooltipText             ,
+#endif
+    getEntryPrimaryIconTooltipText          ,
+    setEntryPrimaryIconTooltipText          ,
+
+
+-- ** progressFraction #attr:progressFraction#
+{- | The current fraction of the task that\'s been completed.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryProgressFractionPropertyInfo       ,
+#endif
+    constructEntryProgressFraction          ,
+#if ENABLE_OVERLOADING
+    entryProgressFraction                   ,
+#endif
+    getEntryProgressFraction                ,
+    setEntryProgressFraction                ,
+
+
+-- ** progressPulseStep #attr:progressPulseStep#
+{- | The fraction of total entry width to move the progress
+bouncing block for each call to 'GI.Gtk.Objects.Entry.entryProgressPulse'.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntryProgressPulseStepPropertyInfo      ,
+#endif
+    constructEntryProgressPulseStep         ,
+#if ENABLE_OVERLOADING
+    entryProgressPulseStep                  ,
+#endif
+    getEntryProgressPulseStep               ,
+    setEntryProgressPulseStep               ,
+
+
+-- ** scrollOffset #attr:scrollOffset#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryScrollOffsetPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    entryScrollOffset                       ,
+#endif
+    getEntryScrollOffset                    ,
+
+
+-- ** secondaryIconActivatable #attr:secondaryIconActivatable#
+{- | Whether the secondary icon is activatable.
+
+GTK+ emits the 'GI.Gtk.Objects.Entry.Entry'::@/icon-press/@ and 'GI.Gtk.Objects.Entry.Entry'::@/icon-release/@
+signals only on sensitive, activatable icons.
+
+Sensitive, but non-activatable icons can be used for purely
+informational purposes.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntrySecondaryIconActivatablePropertyInfo,
+#endif
+    constructEntrySecondaryIconActivatable  ,
+#if ENABLE_OVERLOADING
+    entrySecondaryIconActivatable           ,
+#endif
+    getEntrySecondaryIconActivatable        ,
+    setEntrySecondaryIconActivatable        ,
+
+
+-- ** secondaryIconGicon #attr:secondaryIconGicon#
+{- | The 'GI.Gio.Interfaces.Icon.Icon' to use for the secondary icon for the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntrySecondaryIconGiconPropertyInfo     ,
+#endif
+    clearEntrySecondaryIconGicon            ,
+    constructEntrySecondaryIconGicon        ,
+#if ENABLE_OVERLOADING
+    entrySecondaryIconGicon                 ,
+#endif
+    getEntrySecondaryIconGicon              ,
+    setEntrySecondaryIconGicon              ,
+
+
+-- ** secondaryIconName #attr:secondaryIconName#
+{- | The icon name to use for the secondary icon for the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntrySecondaryIconNamePropertyInfo      ,
+#endif
+    clearEntrySecondaryIconName             ,
+    constructEntrySecondaryIconName         ,
+#if ENABLE_OVERLOADING
+    entrySecondaryIconName                  ,
+#endif
+    getEntrySecondaryIconName               ,
+    setEntrySecondaryIconName               ,
+
+
+-- ** secondaryIconPixbuf #attr:secondaryIconPixbuf#
+{- | An pixbuf to use as the secondary icon for the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntrySecondaryIconPixbufPropertyInfo    ,
+#endif
+    clearEntrySecondaryIconPixbuf           ,
+    constructEntrySecondaryIconPixbuf       ,
+#if ENABLE_OVERLOADING
+    entrySecondaryIconPixbuf                ,
+#endif
+    getEntrySecondaryIconPixbuf             ,
+    setEntrySecondaryIconPixbuf             ,
+
+
+-- ** secondaryIconSensitive #attr:secondaryIconSensitive#
+{- | Whether the secondary icon is sensitive.
+
+An insensitive icon appears grayed out. GTK+ does not emit the
+'GI.Gtk.Objects.Entry.Entry'::@/icon-press/@ and 'GI.Gtk.Objects.Entry.Entry'::@/icon-release/@ signals and
+does not allow DND from insensitive icons.
+
+An icon should be set insensitive if the action that would trigger
+when clicked is currently not available.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntrySecondaryIconSensitivePropertyInfo ,
+#endif
+    constructEntrySecondaryIconSensitive    ,
+#if ENABLE_OVERLOADING
+    entrySecondaryIconSensitive             ,
+#endif
+    getEntrySecondaryIconSensitive          ,
+    setEntrySecondaryIconSensitive          ,
+
+
+-- ** secondaryIconStock #attr:secondaryIconStock#
+{- | The stock id to use for the secondary icon for the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntrySecondaryIconStockPropertyInfo     ,
+#endif
+    clearEntrySecondaryIconStock            ,
+    constructEntrySecondaryIconStock        ,
+#if ENABLE_OVERLOADING
+    entrySecondaryIconStock                 ,
+#endif
+    getEntrySecondaryIconStock              ,
+    setEntrySecondaryIconStock              ,
+
+
+-- ** secondaryIconStorageType #attr:secondaryIconStorageType#
+{- | The representation which is used for the secondary icon of the entry.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntrySecondaryIconStorageTypePropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    entrySecondaryIconStorageType           ,
+#endif
+    getEntrySecondaryIconStorageType        ,
+
+
+-- ** secondaryIconTooltipMarkup #attr:secondaryIconTooltipMarkup#
+{- | The contents of the tooltip on the secondary icon, which is marked up
+with the [Pango text markup language][PangoMarkupFormat].
+
+Also see 'GI.Gtk.Objects.Entry.entrySetIconTooltipMarkup'.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntrySecondaryIconTooltipMarkupPropertyInfo,
+#endif
+    clearEntrySecondaryIconTooltipMarkup    ,
+    constructEntrySecondaryIconTooltipMarkup,
+#if ENABLE_OVERLOADING
+    entrySecondaryIconTooltipMarkup         ,
+#endif
+    getEntrySecondaryIconTooltipMarkup      ,
+    setEntrySecondaryIconTooltipMarkup      ,
+
+
+-- ** secondaryIconTooltipText #attr:secondaryIconTooltipText#
+{- | The contents of the tooltip on the secondary icon.
+
+Also see 'GI.Gtk.Objects.Entry.entrySetIconTooltipText'.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    EntrySecondaryIconTooltipTextPropertyInfo,
+#endif
+    clearEntrySecondaryIconTooltipText      ,
+    constructEntrySecondaryIconTooltipText  ,
+#if ENABLE_OVERLOADING
+    entrySecondaryIconTooltipText           ,
+#endif
+    getEntrySecondaryIconTooltipText        ,
+    setEntrySecondaryIconTooltipText        ,
+
+
+-- ** selectionBound #attr:selectionBound#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntrySelectionBoundPropertyInfo         ,
+#endif
+#if ENABLE_OVERLOADING
+    entrySelectionBound                     ,
+#endif
+    getEntrySelectionBound                  ,
+
+
+-- ** shadowType #attr:shadowType#
+{- | Which kind of shadow to draw around the entry when
+'GI.Gtk.Objects.Entry.Entry':@/has-frame/@ is set to 'True'.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    EntryShadowTypePropertyInfo             ,
+#endif
+    constructEntryShadowType                ,
+#if ENABLE_OVERLOADING
+    entryShadowType                         ,
+#endif
+    getEntryShadowType                      ,
+    setEntryShadowType                      ,
+
+
+-- ** showEmojiIcon #attr:showEmojiIcon#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryShowEmojiIconPropertyInfo          ,
+#endif
+    constructEntryShowEmojiIcon             ,
+#if ENABLE_OVERLOADING
+    entryShowEmojiIcon                      ,
+#endif
+    getEntryShowEmojiIcon                   ,
+    setEntryShowEmojiIcon                   ,
+
+
+-- ** tabs #attr:tabs#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryTabsPropertyInfo                   ,
+#endif
+    constructEntryTabs                      ,
+#if ENABLE_OVERLOADING
+    entryTabs                               ,
+#endif
+    getEntryTabs                            ,
+    setEntryTabs                            ,
+
+
+-- ** text #attr:text#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryTextPropertyInfo                   ,
+#endif
+    constructEntryText                      ,
+#if ENABLE_OVERLOADING
+    entryText                               ,
+#endif
+    getEntryText                            ,
+    setEntryText                            ,
+
+
+-- ** textLength #attr:textLength#
+{- | The length of the text in the 'GI.Gtk.Objects.Entry.Entry'.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    EntryTextLengthPropertyInfo             ,
+#endif
+#if ENABLE_OVERLOADING
+    entryTextLength                         ,
+#endif
+    getEntryTextLength                      ,
+
+
+-- ** truncateMultiline #attr:truncateMultiline#
+{- | When 'True', pasted multi-line text is truncated to the first line.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    EntryTruncateMultilinePropertyInfo      ,
+#endif
+    constructEntryTruncateMultiline         ,
+#if ENABLE_OVERLOADING
+    entryTruncateMultiline                  ,
+#endif
+    getEntryTruncateMultiline               ,
+    setEntryTruncateMultiline               ,
+
+
+-- ** visibility #attr:visibility#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryVisibilityPropertyInfo             ,
+#endif
+    constructEntryVisibility                ,
+#if ENABLE_OVERLOADING
+    entryVisibility                         ,
+#endif
+    getEntryVisibility                      ,
+    setEntryVisibility                      ,
+
+
+-- ** widthChars #attr:widthChars#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryWidthCharsPropertyInfo             ,
+#endif
+    constructEntryWidthChars                ,
+#if ENABLE_OVERLOADING
+    entryWidthChars                         ,
+#endif
+    getEntryWidthChars                      ,
+    setEntryWidthChars                      ,
+
+
+-- ** xalign #attr:xalign#
+{- | The horizontal alignment, from 0 (left) to 1 (right).
+Reversed for RTL layouts.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    EntryXalignPropertyInfo                 ,
+#endif
+    constructEntryXalign                    ,
+#if ENABLE_OVERLOADING
+    entryXalign                             ,
+#endif
+    getEntryXalign                          ,
+    setEntryXalign                          ,
+
+
+
+
+ -- * Signals
+-- ** activate #signal:activate#
+
+    C_EntryActivateCallback                 ,
+    EntryActivateCallback                   ,
+#if ENABLE_OVERLOADING
+    EntryActivateSignalInfo                 ,
+#endif
+    afterEntryActivate                      ,
+    genClosure_EntryActivate                ,
+    mk_EntryActivateCallback                ,
+    noEntryActivateCallback                 ,
+    onEntryActivate                         ,
+    wrap_EntryActivateCallback              ,
+
+
+-- ** backspace #signal:backspace#
+
+    C_EntryBackspaceCallback                ,
+    EntryBackspaceCallback                  ,
+#if ENABLE_OVERLOADING
+    EntryBackspaceSignalInfo                ,
+#endif
+    afterEntryBackspace                     ,
+    genClosure_EntryBackspace               ,
+    mk_EntryBackspaceCallback               ,
+    noEntryBackspaceCallback                ,
+    onEntryBackspace                        ,
+    wrap_EntryBackspaceCallback             ,
+
+
+-- ** copyClipboard #signal:copyClipboard#
+
+    C_EntryCopyClipboardCallback            ,
+    EntryCopyClipboardCallback              ,
+#if ENABLE_OVERLOADING
+    EntryCopyClipboardSignalInfo            ,
+#endif
+    afterEntryCopyClipboard                 ,
+    genClosure_EntryCopyClipboard           ,
+    mk_EntryCopyClipboardCallback           ,
+    noEntryCopyClipboardCallback            ,
+    onEntryCopyClipboard                    ,
+    wrap_EntryCopyClipboardCallback         ,
+
+
+-- ** cutClipboard #signal:cutClipboard#
+
+    C_EntryCutClipboardCallback             ,
+    EntryCutClipboardCallback               ,
+#if ENABLE_OVERLOADING
+    EntryCutClipboardSignalInfo             ,
+#endif
+    afterEntryCutClipboard                  ,
+    genClosure_EntryCutClipboard            ,
+    mk_EntryCutClipboardCallback            ,
+    noEntryCutClipboardCallback             ,
+    onEntryCutClipboard                     ,
+    wrap_EntryCutClipboardCallback          ,
+
+
+-- ** deleteFromCursor #signal:deleteFromCursor#
+
+    C_EntryDeleteFromCursorCallback         ,
+    EntryDeleteFromCursorCallback           ,
+#if ENABLE_OVERLOADING
+    EntryDeleteFromCursorSignalInfo         ,
+#endif
+    afterEntryDeleteFromCursor              ,
+    genClosure_EntryDeleteFromCursor        ,
+    mk_EntryDeleteFromCursorCallback        ,
+    noEntryDeleteFromCursorCallback         ,
+    onEntryDeleteFromCursor                 ,
+    wrap_EntryDeleteFromCursorCallback      ,
+
+
+-- ** iconPress #signal:iconPress#
+
+    C_EntryIconPressCallback                ,
+    EntryIconPressCallback                  ,
+#if ENABLE_OVERLOADING
+    EntryIconPressSignalInfo                ,
+#endif
+    afterEntryIconPress                     ,
+    genClosure_EntryIconPress               ,
+    mk_EntryIconPressCallback               ,
+    noEntryIconPressCallback                ,
+    onEntryIconPress                        ,
+    wrap_EntryIconPressCallback             ,
+
+
+-- ** iconRelease #signal:iconRelease#
+
+    C_EntryIconReleaseCallback              ,
+    EntryIconReleaseCallback                ,
+#if ENABLE_OVERLOADING
+    EntryIconReleaseSignalInfo              ,
+#endif
+    afterEntryIconRelease                   ,
+    genClosure_EntryIconRelease             ,
+    mk_EntryIconReleaseCallback             ,
+    noEntryIconReleaseCallback              ,
+    onEntryIconRelease                      ,
+    wrap_EntryIconReleaseCallback           ,
+
+
+-- ** insertAtCursor #signal:insertAtCursor#
+
+    C_EntryInsertAtCursorCallback           ,
+    EntryInsertAtCursorCallback             ,
+#if ENABLE_OVERLOADING
+    EntryInsertAtCursorSignalInfo           ,
+#endif
+    afterEntryInsertAtCursor                ,
+    genClosure_EntryInsertAtCursor          ,
+    mk_EntryInsertAtCursorCallback          ,
+    noEntryInsertAtCursorCallback           ,
+    onEntryInsertAtCursor                   ,
+    wrap_EntryInsertAtCursorCallback        ,
+
+
+-- ** insertEmoji #signal:insertEmoji#
+
+    C_EntryInsertEmojiCallback              ,
+    EntryInsertEmojiCallback                ,
+#if ENABLE_OVERLOADING
+    EntryInsertEmojiSignalInfo              ,
+#endif
+    afterEntryInsertEmoji                   ,
+    genClosure_EntryInsertEmoji             ,
+    mk_EntryInsertEmojiCallback             ,
+    noEntryInsertEmojiCallback              ,
+    onEntryInsertEmoji                      ,
+    wrap_EntryInsertEmojiCallback           ,
+
+
+-- ** moveCursor #signal:moveCursor#
+
+    C_EntryMoveCursorCallback               ,
+    EntryMoveCursorCallback                 ,
+#if ENABLE_OVERLOADING
+    EntryMoveCursorSignalInfo               ,
+#endif
+    afterEntryMoveCursor                    ,
+    genClosure_EntryMoveCursor              ,
+    mk_EntryMoveCursorCallback              ,
+    noEntryMoveCursorCallback               ,
+    onEntryMoveCursor                       ,
+    wrap_EntryMoveCursorCallback            ,
+
+
+-- ** pasteClipboard #signal:pasteClipboard#
+
+    C_EntryPasteClipboardCallback           ,
+    EntryPasteClipboardCallback             ,
+#if ENABLE_OVERLOADING
+    EntryPasteClipboardSignalInfo           ,
+#endif
+    afterEntryPasteClipboard                ,
+    genClosure_EntryPasteClipboard          ,
+    mk_EntryPasteClipboardCallback          ,
+    noEntryPasteClipboardCallback           ,
+    onEntryPasteClipboard                   ,
+    wrap_EntryPasteClipboardCallback        ,
+
+
+-- ** populatePopup #signal:populatePopup#
+
+    C_EntryPopulatePopupCallback            ,
+    EntryPopulatePopupCallback              ,
+#if ENABLE_OVERLOADING
+    EntryPopulatePopupSignalInfo            ,
+#endif
+    afterEntryPopulatePopup                 ,
+    genClosure_EntryPopulatePopup           ,
+    mk_EntryPopulatePopupCallback           ,
+    noEntryPopulatePopupCallback            ,
+    onEntryPopulatePopup                    ,
+    wrap_EntryPopulatePopupCallback         ,
+
+
+-- ** preeditChanged #signal:preeditChanged#
+
+    C_EntryPreeditChangedCallback           ,
+    EntryPreeditChangedCallback             ,
+#if ENABLE_OVERLOADING
+    EntryPreeditChangedSignalInfo           ,
+#endif
+    afterEntryPreeditChanged                ,
+    genClosure_EntryPreeditChanged          ,
+    mk_EntryPreeditChangedCallback          ,
+    noEntryPreeditChangedCallback           ,
+    onEntryPreeditChanged                   ,
+    wrap_EntryPreeditChangedCallback        ,
+
+
+-- ** toggleOverwrite #signal:toggleOverwrite#
+
+    C_EntryToggleOverwriteCallback          ,
+    EntryToggleOverwriteCallback            ,
+#if ENABLE_OVERLOADING
+    EntryToggleOverwriteSignalInfo          ,
+#endif
+    afterEntryToggleOverwrite               ,
+    genClosure_EntryToggleOverwrite         ,
+    mk_EntryToggleOverwriteCallback         ,
+    noEntryToggleOverwriteCallback          ,
+    onEntryToggleOverwrite                  ,
+    wrap_EntryToggleOverwriteCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gdk.Structs.EventButton as Gdk.EventButton
+import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellEditable as Gtk.CellEditable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Editable as Gtk.Editable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EntryBuffer as Gtk.EntryBuffer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EntryCompletion as Gtk.EntryCompletion
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.Border as Gtk.Border
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetList as Gtk.TargetList
+import qualified GI.Pango.Objects.Layout as Pango.Layout
+import qualified GI.Pango.Structs.AttrList as Pango.AttrList
+import qualified GI.Pango.Structs.TabArray as Pango.TabArray
+
+-- | Memory-managed wrapper type.
+newtype Entry = Entry (ManagedPtr Entry)
+foreign import ccall "gtk_entry_get_type"
+    c_gtk_entry_get_type :: IO GType
+
+instance GObject Entry where
+    gobjectType = c_gtk_entry_get_type
+    
+
+-- | Type class for types which can be safely cast to `Entry`, for instance with `toEntry`.
+class (GObject o, O.IsDescendantOf Entry o) => IsEntry o
+instance (GObject o, O.IsDescendantOf Entry o) => IsEntry o
+
+instance O.HasParentTypes Entry
+type instance O.ParentTypes Entry = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.CellEditable.CellEditable, Gtk.Editable.Editable]
+
+-- | Cast to `Entry`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEntry :: (MonadIO m, IsEntry o) => o -> m Entry
+toEntry = liftIO . unsafeCastTo Entry
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Entry`.
+noEntry :: Maybe Entry
+noEntry = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEntryMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveEntryMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveEntryMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveEntryMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveEntryMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveEntryMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveEntryMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveEntryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEntryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEntryMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveEntryMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveEntryMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveEntryMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveEntryMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveEntryMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveEntryMethod "copyClipboard" o = Gtk.Editable.EditableCopyClipboardMethodInfo
+    ResolveEntryMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveEntryMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveEntryMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveEntryMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveEntryMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveEntryMethod "cutClipboard" o = Gtk.Editable.EditableCutClipboardMethodInfo
+    ResolveEntryMethod "deleteSelection" o = Gtk.Editable.EditableDeleteSelectionMethodInfo
+    ResolveEntryMethod "deleteText" o = Gtk.Editable.EditableDeleteTextMethodInfo
+    ResolveEntryMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveEntryMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveEntryMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveEntryMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveEntryMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveEntryMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveEntryMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveEntryMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveEntryMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveEntryMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveEntryMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveEntryMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveEntryMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveEntryMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveEntryMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveEntryMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveEntryMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveEntryMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveEntryMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveEntryMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveEntryMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveEntryMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveEntryMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveEntryMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveEntryMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveEntryMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveEntryMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveEntryMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveEntryMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveEntryMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveEntryMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveEntryMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveEntryMethod "editingDone" o = Gtk.CellEditable.CellEditableEditingDoneMethodInfo
+    ResolveEntryMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveEntryMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveEntryMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveEntryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEntryMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveEntryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEntryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEntryMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveEntryMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveEntryMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveEntryMethod "grabFocusWithoutSelecting" o = EntryGrabFocusWithoutSelectingMethodInfo
+    ResolveEntryMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveEntryMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveEntryMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveEntryMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveEntryMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveEntryMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveEntryMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveEntryMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveEntryMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveEntryMethod "imContextFilterKeypress" o = EntryImContextFilterKeypressMethodInfo
+    ResolveEntryMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveEntryMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveEntryMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveEntryMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveEntryMethod "insertText" o = Gtk.Editable.EditableInsertTextMethodInfo
+    ResolveEntryMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveEntryMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveEntryMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveEntryMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveEntryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEntryMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveEntryMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveEntryMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveEntryMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveEntryMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveEntryMethod "layoutIndexToTextIndex" o = EntryLayoutIndexToTextIndexMethodInfo
+    ResolveEntryMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveEntryMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveEntryMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveEntryMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveEntryMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveEntryMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveEntryMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveEntryMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveEntryMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveEntryMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveEntryMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveEntryMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveEntryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEntryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEntryMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveEntryMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveEntryMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveEntryMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveEntryMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveEntryMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveEntryMethod "pasteClipboard" o = Gtk.Editable.EditablePasteClipboardMethodInfo
+    ResolveEntryMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveEntryMethod "progressPulse" o = EntryProgressPulseMethodInfo
+    ResolveEntryMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveEntryMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveEntryMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveEntryMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveEntryMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveEntryMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveEntryMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveEntryMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveEntryMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEntryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEntryMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveEntryMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveEntryMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveEntryMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveEntryMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveEntryMethod "removeWidget" o = Gtk.CellEditable.CellEditableRemoveWidgetMethodInfo
+    ResolveEntryMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveEntryMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveEntryMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveEntryMethod "resetImContext" o = EntryResetImContextMethodInfo
+    ResolveEntryMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveEntryMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveEntryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEntryMethod "selectRegion" o = Gtk.Editable.EditableSelectRegionMethodInfo
+    ResolveEntryMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveEntryMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveEntryMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveEntryMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveEntryMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveEntryMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveEntryMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveEntryMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveEntryMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveEntryMethod "startEditing" o = Gtk.CellEditable.CellEditableStartEditingMethodInfo
+    ResolveEntryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEntryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEntryMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveEntryMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveEntryMethod "textIndexToLayoutIndex" o = EntryTextIndexToLayoutIndexMethodInfo
+    ResolveEntryMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveEntryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEntryMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveEntryMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveEntryMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveEntryMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveEntryMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveEntryMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEntryMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveEntryMethod "unsetInvisibleChar" o = EntryUnsetInvisibleCharMethodInfo
+    ResolveEntryMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveEntryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEntryMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveEntryMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveEntryMethod "getActivatesDefault" o = EntryGetActivatesDefaultMethodInfo
+    ResolveEntryMethod "getAlignment" o = EntryGetAlignmentMethodInfo
+    ResolveEntryMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveEntryMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveEntryMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveEntryMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveEntryMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveEntryMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveEntryMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveEntryMethod "getAttributes" o = EntryGetAttributesMethodInfo
+    ResolveEntryMethod "getBuffer" o = EntryGetBufferMethodInfo
+    ResolveEntryMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveEntryMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveEntryMethod "getChars" o = Gtk.Editable.EditableGetCharsMethodInfo
+    ResolveEntryMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveEntryMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveEntryMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveEntryMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveEntryMethod "getCompletion" o = EntryGetCompletionMethodInfo
+    ResolveEntryMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveEntryMethod "getCurrentIconDragSource" o = EntryGetCurrentIconDragSourceMethodInfo
+    ResolveEntryMethod "getCursorHadjustment" o = EntryGetCursorHadjustmentMethodInfo
+    ResolveEntryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEntryMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveEntryMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveEntryMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveEntryMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveEntryMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveEntryMethod "getEditable" o = Gtk.Editable.EditableGetEditableMethodInfo
+    ResolveEntryMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveEntryMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveEntryMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveEntryMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveEntryMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveEntryMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveEntryMethod "getHasFrame" o = EntryGetHasFrameMethodInfo
+    ResolveEntryMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveEntryMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveEntryMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveEntryMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveEntryMethod "getIconActivatable" o = EntryGetIconActivatableMethodInfo
+    ResolveEntryMethod "getIconArea" o = EntryGetIconAreaMethodInfo
+    ResolveEntryMethod "getIconAtPos" o = EntryGetIconAtPosMethodInfo
+    ResolveEntryMethod "getIconGicon" o = EntryGetIconGiconMethodInfo
+    ResolveEntryMethod "getIconName" o = EntryGetIconNameMethodInfo
+    ResolveEntryMethod "getIconPixbuf" o = EntryGetIconPixbufMethodInfo
+    ResolveEntryMethod "getIconSensitive" o = EntryGetIconSensitiveMethodInfo
+    ResolveEntryMethod "getIconStock" o = EntryGetIconStockMethodInfo
+    ResolveEntryMethod "getIconStorageType" o = EntryGetIconStorageTypeMethodInfo
+    ResolveEntryMethod "getIconTooltipMarkup" o = EntryGetIconTooltipMarkupMethodInfo
+    ResolveEntryMethod "getIconTooltipText" o = EntryGetIconTooltipTextMethodInfo
+    ResolveEntryMethod "getInnerBorder" o = EntryGetInnerBorderMethodInfo
+    ResolveEntryMethod "getInputHints" o = EntryGetInputHintsMethodInfo
+    ResolveEntryMethod "getInputPurpose" o = EntryGetInputPurposeMethodInfo
+    ResolveEntryMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveEntryMethod "getInvisibleChar" o = EntryGetInvisibleCharMethodInfo
+    ResolveEntryMethod "getLayout" o = EntryGetLayoutMethodInfo
+    ResolveEntryMethod "getLayoutOffsets" o = EntryGetLayoutOffsetsMethodInfo
+    ResolveEntryMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveEntryMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveEntryMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveEntryMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveEntryMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveEntryMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveEntryMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveEntryMethod "getMaxLength" o = EntryGetMaxLengthMethodInfo
+    ResolveEntryMethod "getMaxWidthChars" o = EntryGetMaxWidthCharsMethodInfo
+    ResolveEntryMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveEntryMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveEntryMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveEntryMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveEntryMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveEntryMethod "getOverwriteMode" o = EntryGetOverwriteModeMethodInfo
+    ResolveEntryMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveEntryMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveEntryMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveEntryMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveEntryMethod "getPlaceholderText" o = EntryGetPlaceholderTextMethodInfo
+    ResolveEntryMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveEntryMethod "getPosition" o = Gtk.Editable.EditableGetPositionMethodInfo
+    ResolveEntryMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveEntryMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveEntryMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveEntryMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveEntryMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveEntryMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveEntryMethod "getProgressFraction" o = EntryGetProgressFractionMethodInfo
+    ResolveEntryMethod "getProgressPulseStep" o = EntryGetProgressPulseStepMethodInfo
+    ResolveEntryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEntryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEntryMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveEntryMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveEntryMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveEntryMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveEntryMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveEntryMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveEntryMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveEntryMethod "getSelectionBounds" o = Gtk.Editable.EditableGetSelectionBoundsMethodInfo
+    ResolveEntryMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveEntryMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveEntryMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveEntryMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveEntryMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveEntryMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveEntryMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveEntryMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveEntryMethod "getTabs" o = EntryGetTabsMethodInfo
+    ResolveEntryMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveEntryMethod "getText" o = EntryGetTextMethodInfo
+    ResolveEntryMethod "getTextArea" o = EntryGetTextAreaMethodInfo
+    ResolveEntryMethod "getTextLength" o = EntryGetTextLengthMethodInfo
+    ResolveEntryMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveEntryMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveEntryMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveEntryMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveEntryMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveEntryMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveEntryMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveEntryMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveEntryMethod "getVisibility" o = EntryGetVisibilityMethodInfo
+    ResolveEntryMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveEntryMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveEntryMethod "getWidthChars" o = EntryGetWidthCharsMethodInfo
+    ResolveEntryMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveEntryMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveEntryMethod "setActivatesDefault" o = EntrySetActivatesDefaultMethodInfo
+    ResolveEntryMethod "setAlignment" o = EntrySetAlignmentMethodInfo
+    ResolveEntryMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveEntryMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveEntryMethod "setAttributes" o = EntrySetAttributesMethodInfo
+    ResolveEntryMethod "setBuffer" o = EntrySetBufferMethodInfo
+    ResolveEntryMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveEntryMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveEntryMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveEntryMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveEntryMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveEntryMethod "setCompletion" o = EntrySetCompletionMethodInfo
+    ResolveEntryMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveEntryMethod "setCursorHadjustment" o = EntrySetCursorHadjustmentMethodInfo
+    ResolveEntryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEntryMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveEntryMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveEntryMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveEntryMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveEntryMethod "setEditable" o = Gtk.Editable.EditableSetEditableMethodInfo
+    ResolveEntryMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveEntryMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveEntryMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveEntryMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveEntryMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveEntryMethod "setHasFrame" o = EntrySetHasFrameMethodInfo
+    ResolveEntryMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveEntryMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveEntryMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveEntryMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveEntryMethod "setIconActivatable" o = EntrySetIconActivatableMethodInfo
+    ResolveEntryMethod "setIconDragSource" o = EntrySetIconDragSourceMethodInfo
+    ResolveEntryMethod "setIconFromGicon" o = EntrySetIconFromGiconMethodInfo
+    ResolveEntryMethod "setIconFromIconName" o = EntrySetIconFromIconNameMethodInfo
+    ResolveEntryMethod "setIconFromPixbuf" o = EntrySetIconFromPixbufMethodInfo
+    ResolveEntryMethod "setIconFromStock" o = EntrySetIconFromStockMethodInfo
+    ResolveEntryMethod "setIconSensitive" o = EntrySetIconSensitiveMethodInfo
+    ResolveEntryMethod "setIconTooltipMarkup" o = EntrySetIconTooltipMarkupMethodInfo
+    ResolveEntryMethod "setIconTooltipText" o = EntrySetIconTooltipTextMethodInfo
+    ResolveEntryMethod "setInnerBorder" o = EntrySetInnerBorderMethodInfo
+    ResolveEntryMethod "setInputHints" o = EntrySetInputHintsMethodInfo
+    ResolveEntryMethod "setInputPurpose" o = EntrySetInputPurposeMethodInfo
+    ResolveEntryMethod "setInvisibleChar" o = EntrySetInvisibleCharMethodInfo
+    ResolveEntryMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveEntryMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveEntryMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveEntryMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveEntryMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveEntryMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveEntryMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveEntryMethod "setMaxLength" o = EntrySetMaxLengthMethodInfo
+    ResolveEntryMethod "setMaxWidthChars" o = EntrySetMaxWidthCharsMethodInfo
+    ResolveEntryMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveEntryMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveEntryMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveEntryMethod "setOverwriteMode" o = EntrySetOverwriteModeMethodInfo
+    ResolveEntryMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveEntryMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveEntryMethod "setPlaceholderText" o = EntrySetPlaceholderTextMethodInfo
+    ResolveEntryMethod "setPosition" o = Gtk.Editable.EditableSetPositionMethodInfo
+    ResolveEntryMethod "setProgressFraction" o = EntrySetProgressFractionMethodInfo
+    ResolveEntryMethod "setProgressPulseStep" o = EntrySetProgressPulseStepMethodInfo
+    ResolveEntryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEntryMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveEntryMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveEntryMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveEntryMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveEntryMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveEntryMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveEntryMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveEntryMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveEntryMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveEntryMethod "setTabs" o = EntrySetTabsMethodInfo
+    ResolveEntryMethod "setText" o = EntrySetTextMethodInfo
+    ResolveEntryMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveEntryMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveEntryMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveEntryMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveEntryMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveEntryMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveEntryMethod "setVisibility" o = EntrySetVisibilityMethodInfo
+    ResolveEntryMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveEntryMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveEntryMethod "setWidthChars" o = EntrySetWidthCharsMethodInfo
+    ResolveEntryMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveEntryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEntryMethod t Entry, O.MethodInfo info Entry p) => OL.IsLabel t (Entry -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Entry::activate
+{- |
+The ::activate signal is emitted when the user hits
+the Enter key.
+
+While this signal is used as a
+[keybinding signal][GtkBindingSignal],
+it is also commonly used by applications to intercept
+activation of entries.
+
+The default bindings for this signal are all forms of the Enter key.
+-}
+type EntryActivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryActivateCallback`@.
+noEntryActivateCallback :: Maybe EntryActivateCallback
+noEntryActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryActivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryActivateCallback`.
+foreign import ccall "wrapper"
+    mk_EntryActivateCallback :: C_EntryActivateCallback -> IO (FunPtr C_EntryActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryActivate :: MonadIO m => EntryActivateCallback -> m (GClosure C_EntryActivateCallback)
+genClosure_EntryActivate cb = liftIO $ do
+    let cb' = wrap_EntryActivateCallback cb
+    mk_EntryActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryActivateCallback` into a `C_EntryActivateCallback`.
+wrap_EntryActivateCallback ::
+    EntryActivateCallback ->
+    C_EntryActivateCallback
+wrap_EntryActivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #activate callback
+@
+-}
+onEntryActivate :: (IsEntry a, MonadIO m) => a -> EntryActivateCallback -> m SignalHandlerId
+onEntryActivate obj cb = liftIO $ do
+    let cb' = wrap_EntryActivateCallback cb
+    cb'' <- mk_EntryActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #activate callback
+@
+-}
+afterEntryActivate :: (IsEntry a, MonadIO m) => a -> EntryActivateCallback -> m SignalHandlerId
+afterEntryActivate obj cb = liftIO $ do
+    let cb' = wrap_EntryActivateCallback cb
+    cb'' <- mk_EntryActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter
+
+
+-- signal Entry::backspace
+{- |
+The ::backspace signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+The default bindings for this signal are
+Backspace and Shift-Backspace.
+-}
+type EntryBackspaceCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryBackspaceCallback`@.
+noEntryBackspaceCallback :: Maybe EntryBackspaceCallback
+noEntryBackspaceCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryBackspaceCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryBackspaceCallback`.
+foreign import ccall "wrapper"
+    mk_EntryBackspaceCallback :: C_EntryBackspaceCallback -> IO (FunPtr C_EntryBackspaceCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryBackspace :: MonadIO m => EntryBackspaceCallback -> m (GClosure C_EntryBackspaceCallback)
+genClosure_EntryBackspace cb = liftIO $ do
+    let cb' = wrap_EntryBackspaceCallback cb
+    mk_EntryBackspaceCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryBackspaceCallback` into a `C_EntryBackspaceCallback`.
+wrap_EntryBackspaceCallback ::
+    EntryBackspaceCallback ->
+    C_EntryBackspaceCallback
+wrap_EntryBackspaceCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@backspace@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #backspace callback
+@
+-}
+onEntryBackspace :: (IsEntry a, MonadIO m) => a -> EntryBackspaceCallback -> m SignalHandlerId
+onEntryBackspace obj cb = liftIO $ do
+    let cb' = wrap_EntryBackspaceCallback cb
+    cb'' <- mk_EntryBackspaceCallback cb'
+    connectSignalFunPtr obj "backspace" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@backspace@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #backspace callback
+@
+-}
+afterEntryBackspace :: (IsEntry a, MonadIO m) => a -> EntryBackspaceCallback -> m SignalHandlerId
+afterEntryBackspace obj cb = liftIO $ do
+    let cb' = wrap_EntryBackspaceCallback cb
+    cb'' <- mk_EntryBackspaceCallback cb'
+    connectSignalFunPtr obj "backspace" cb'' SignalConnectAfter
+
+
+-- signal Entry::copy-clipboard
+{- |
+The ::copy-clipboard signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to copy the selection to the clipboard.
+
+The default bindings for this signal are
+Ctrl-c and Ctrl-Insert.
+-}
+type EntryCopyClipboardCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryCopyClipboardCallback`@.
+noEntryCopyClipboardCallback :: Maybe EntryCopyClipboardCallback
+noEntryCopyClipboardCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryCopyClipboardCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryCopyClipboardCallback`.
+foreign import ccall "wrapper"
+    mk_EntryCopyClipboardCallback :: C_EntryCopyClipboardCallback -> IO (FunPtr C_EntryCopyClipboardCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryCopyClipboard :: MonadIO m => EntryCopyClipboardCallback -> m (GClosure C_EntryCopyClipboardCallback)
+genClosure_EntryCopyClipboard cb = liftIO $ do
+    let cb' = wrap_EntryCopyClipboardCallback cb
+    mk_EntryCopyClipboardCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryCopyClipboardCallback` into a `C_EntryCopyClipboardCallback`.
+wrap_EntryCopyClipboardCallback ::
+    EntryCopyClipboardCallback ->
+    C_EntryCopyClipboardCallback
+wrap_EntryCopyClipboardCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@copy-clipboard@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #copyClipboard callback
+@
+-}
+onEntryCopyClipboard :: (IsEntry a, MonadIO m) => a -> EntryCopyClipboardCallback -> m SignalHandlerId
+onEntryCopyClipboard obj cb = liftIO $ do
+    let cb' = wrap_EntryCopyClipboardCallback cb
+    cb'' <- mk_EntryCopyClipboardCallback cb'
+    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@copy-clipboard@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #copyClipboard callback
+@
+-}
+afterEntryCopyClipboard :: (IsEntry a, MonadIO m) => a -> EntryCopyClipboardCallback -> m SignalHandlerId
+afterEntryCopyClipboard obj cb = liftIO $ do
+    let cb' = wrap_EntryCopyClipboardCallback cb
+    cb'' <- mk_EntryCopyClipboardCallback cb'
+    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectAfter
+
+
+-- signal Entry::cut-clipboard
+{- |
+The ::cut-clipboard signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to cut the selection to the clipboard.
+
+The default bindings for this signal are
+Ctrl-x and Shift-Delete.
+-}
+type EntryCutClipboardCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryCutClipboardCallback`@.
+noEntryCutClipboardCallback :: Maybe EntryCutClipboardCallback
+noEntryCutClipboardCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryCutClipboardCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryCutClipboardCallback`.
+foreign import ccall "wrapper"
+    mk_EntryCutClipboardCallback :: C_EntryCutClipboardCallback -> IO (FunPtr C_EntryCutClipboardCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryCutClipboard :: MonadIO m => EntryCutClipboardCallback -> m (GClosure C_EntryCutClipboardCallback)
+genClosure_EntryCutClipboard cb = liftIO $ do
+    let cb' = wrap_EntryCutClipboardCallback cb
+    mk_EntryCutClipboardCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryCutClipboardCallback` into a `C_EntryCutClipboardCallback`.
+wrap_EntryCutClipboardCallback ::
+    EntryCutClipboardCallback ->
+    C_EntryCutClipboardCallback
+wrap_EntryCutClipboardCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@cut-clipboard@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #cutClipboard callback
+@
+-}
+onEntryCutClipboard :: (IsEntry a, MonadIO m) => a -> EntryCutClipboardCallback -> m SignalHandlerId
+onEntryCutClipboard obj cb = liftIO $ do
+    let cb' = wrap_EntryCutClipboardCallback cb
+    cb'' <- mk_EntryCutClipboardCallback cb'
+    connectSignalFunPtr obj "cut-clipboard" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cut-clipboard@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #cutClipboard callback
+@
+-}
+afterEntryCutClipboard :: (IsEntry a, MonadIO m) => a -> EntryCutClipboardCallback -> m SignalHandlerId
+afterEntryCutClipboard obj cb = liftIO $ do
+    let cb' = wrap_EntryCutClipboardCallback cb
+    cb'' <- mk_EntryCutClipboardCallback cb'
+    connectSignalFunPtr obj "cut-clipboard" cb'' SignalConnectAfter
+
+
+-- signal Entry::delete-from-cursor
+{- |
+The ::delete-from-cursor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a text deletion.
+
+If the /@type@/ is 'GI.Gtk.Enums.DeleteTypeChars', GTK+ deletes the selection
+if there is one, otherwise it deletes the requested number
+of characters.
+
+The default bindings for this signal are
+Delete for deleting a character and Ctrl-Delete for
+deleting a word.
+-}
+type EntryDeleteFromCursorCallback =
+    Gtk.Enums.DeleteType
+    {- ^ /@type@/: the granularity of the deletion, as a 'GI.Gtk.Enums.DeleteType' -}
+    -> Int32
+    {- ^ /@count@/: the number of /@type@/ units to delete -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryDeleteFromCursorCallback`@.
+noEntryDeleteFromCursorCallback :: Maybe EntryDeleteFromCursorCallback
+noEntryDeleteFromCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryDeleteFromCursorCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryDeleteFromCursorCallback`.
+foreign import ccall "wrapper"
+    mk_EntryDeleteFromCursorCallback :: C_EntryDeleteFromCursorCallback -> IO (FunPtr C_EntryDeleteFromCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryDeleteFromCursor :: MonadIO m => EntryDeleteFromCursorCallback -> m (GClosure C_EntryDeleteFromCursorCallback)
+genClosure_EntryDeleteFromCursor cb = liftIO $ do
+    let cb' = wrap_EntryDeleteFromCursorCallback cb
+    mk_EntryDeleteFromCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryDeleteFromCursorCallback` into a `C_EntryDeleteFromCursorCallback`.
+wrap_EntryDeleteFromCursorCallback ::
+    EntryDeleteFromCursorCallback ->
+    C_EntryDeleteFromCursorCallback
+wrap_EntryDeleteFromCursorCallback _cb _ type_ count _ = do
+    let type_' = (toEnum . fromIntegral) type_
+    _cb  type_' count
+
+
+{- |
+Connect a signal handler for the “@delete-from-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #deleteFromCursor callback
+@
+-}
+onEntryDeleteFromCursor :: (IsEntry a, MonadIO m) => a -> EntryDeleteFromCursorCallback -> m SignalHandlerId
+onEntryDeleteFromCursor obj cb = liftIO $ do
+    let cb' = wrap_EntryDeleteFromCursorCallback cb
+    cb'' <- mk_EntryDeleteFromCursorCallback cb'
+    connectSignalFunPtr obj "delete-from-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@delete-from-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #deleteFromCursor callback
+@
+-}
+afterEntryDeleteFromCursor :: (IsEntry a, MonadIO m) => a -> EntryDeleteFromCursorCallback -> m SignalHandlerId
+afterEntryDeleteFromCursor obj cb = liftIO $ do
+    let cb' = wrap_EntryDeleteFromCursorCallback cb
+    cb'' <- mk_EntryDeleteFromCursorCallback cb'
+    connectSignalFunPtr obj "delete-from-cursor" cb'' SignalConnectAfter
+
+
+-- signal Entry::icon-press
+{- |
+The ::icon-press signal is emitted when an activatable icon
+is clicked.
+
+/Since: 2.16/
+-}
+type EntryIconPressCallback =
+    Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: The position of the clicked icon -}
+    -> Gdk.EventButton.EventButton
+    {- ^ /@event@/: the button press event -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryIconPressCallback`@.
+noEntryIconPressCallback :: Maybe EntryIconPressCallback
+noEntryIconPressCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryIconPressCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr Gdk.EventButton.EventButton ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryIconPressCallback`.
+foreign import ccall "wrapper"
+    mk_EntryIconPressCallback :: C_EntryIconPressCallback -> IO (FunPtr C_EntryIconPressCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryIconPress :: MonadIO m => EntryIconPressCallback -> m (GClosure C_EntryIconPressCallback)
+genClosure_EntryIconPress cb = liftIO $ do
+    let cb' = wrap_EntryIconPressCallback cb
+    mk_EntryIconPressCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryIconPressCallback` into a `C_EntryIconPressCallback`.
+wrap_EntryIconPressCallback ::
+    EntryIconPressCallback ->
+    C_EntryIconPressCallback
+wrap_EntryIconPressCallback _cb _ iconPos event _ = do
+    let iconPos' = (toEnum . fromIntegral) iconPos
+    event' <- (newPtr Gdk.EventButton.EventButton) event
+    _cb  iconPos' event'
+
+
+{- |
+Connect a signal handler for the “@icon-press@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #iconPress callback
+@
+-}
+onEntryIconPress :: (IsEntry a, MonadIO m) => a -> EntryIconPressCallback -> m SignalHandlerId
+onEntryIconPress obj cb = liftIO $ do
+    let cb' = wrap_EntryIconPressCallback cb
+    cb'' <- mk_EntryIconPressCallback cb'
+    connectSignalFunPtr obj "icon-press" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@icon-press@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #iconPress callback
+@
+-}
+afterEntryIconPress :: (IsEntry a, MonadIO m) => a -> EntryIconPressCallback -> m SignalHandlerId
+afterEntryIconPress obj cb = liftIO $ do
+    let cb' = wrap_EntryIconPressCallback cb
+    cb'' <- mk_EntryIconPressCallback cb'
+    connectSignalFunPtr obj "icon-press" cb'' SignalConnectAfter
+
+
+-- signal Entry::icon-release
+{- |
+The ::icon-release signal is emitted on the button release from a
+mouse click over an activatable icon.
+
+/Since: 2.16/
+-}
+type EntryIconReleaseCallback =
+    Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: The position of the clicked icon -}
+    -> Gdk.EventButton.EventButton
+    {- ^ /@event@/: the button release event -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryIconReleaseCallback`@.
+noEntryIconReleaseCallback :: Maybe EntryIconReleaseCallback
+noEntryIconReleaseCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryIconReleaseCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr Gdk.EventButton.EventButton ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryIconReleaseCallback`.
+foreign import ccall "wrapper"
+    mk_EntryIconReleaseCallback :: C_EntryIconReleaseCallback -> IO (FunPtr C_EntryIconReleaseCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryIconRelease :: MonadIO m => EntryIconReleaseCallback -> m (GClosure C_EntryIconReleaseCallback)
+genClosure_EntryIconRelease cb = liftIO $ do
+    let cb' = wrap_EntryIconReleaseCallback cb
+    mk_EntryIconReleaseCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryIconReleaseCallback` into a `C_EntryIconReleaseCallback`.
+wrap_EntryIconReleaseCallback ::
+    EntryIconReleaseCallback ->
+    C_EntryIconReleaseCallback
+wrap_EntryIconReleaseCallback _cb _ iconPos event _ = do
+    let iconPos' = (toEnum . fromIntegral) iconPos
+    event' <- (newPtr Gdk.EventButton.EventButton) event
+    _cb  iconPos' event'
+
+
+{- |
+Connect a signal handler for the “@icon-release@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #iconRelease callback
+@
+-}
+onEntryIconRelease :: (IsEntry a, MonadIO m) => a -> EntryIconReleaseCallback -> m SignalHandlerId
+onEntryIconRelease obj cb = liftIO $ do
+    let cb' = wrap_EntryIconReleaseCallback cb
+    cb'' <- mk_EntryIconReleaseCallback cb'
+    connectSignalFunPtr obj "icon-release" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@icon-release@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #iconRelease callback
+@
+-}
+afterEntryIconRelease :: (IsEntry a, MonadIO m) => a -> EntryIconReleaseCallback -> m SignalHandlerId
+afterEntryIconRelease obj cb = liftIO $ do
+    let cb' = wrap_EntryIconReleaseCallback cb
+    cb'' <- mk_EntryIconReleaseCallback cb'
+    connectSignalFunPtr obj "icon-release" cb'' SignalConnectAfter
+
+
+-- signal Entry::insert-at-cursor
+{- |
+The ::insert-at-cursor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates the insertion of a
+fixed string at the cursor.
+
+This signal has no default bindings.
+-}
+type EntryInsertAtCursorCallback =
+    T.Text
+    {- ^ /@string@/: the string to insert -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryInsertAtCursorCallback`@.
+noEntryInsertAtCursorCallback :: Maybe EntryInsertAtCursorCallback
+noEntryInsertAtCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryInsertAtCursorCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryInsertAtCursorCallback`.
+foreign import ccall "wrapper"
+    mk_EntryInsertAtCursorCallback :: C_EntryInsertAtCursorCallback -> IO (FunPtr C_EntryInsertAtCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryInsertAtCursor :: MonadIO m => EntryInsertAtCursorCallback -> m (GClosure C_EntryInsertAtCursorCallback)
+genClosure_EntryInsertAtCursor cb = liftIO $ do
+    let cb' = wrap_EntryInsertAtCursorCallback cb
+    mk_EntryInsertAtCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryInsertAtCursorCallback` into a `C_EntryInsertAtCursorCallback`.
+wrap_EntryInsertAtCursorCallback ::
+    EntryInsertAtCursorCallback ->
+    C_EntryInsertAtCursorCallback
+wrap_EntryInsertAtCursorCallback _cb _ string _ = do
+    string' <- cstringToText string
+    _cb  string'
+
+
+{- |
+Connect a signal handler for the “@insert-at-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #insertAtCursor callback
+@
+-}
+onEntryInsertAtCursor :: (IsEntry a, MonadIO m) => a -> EntryInsertAtCursorCallback -> m SignalHandlerId
+onEntryInsertAtCursor obj cb = liftIO $ do
+    let cb' = wrap_EntryInsertAtCursorCallback cb
+    cb'' <- mk_EntryInsertAtCursorCallback cb'
+    connectSignalFunPtr obj "insert-at-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert-at-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #insertAtCursor callback
+@
+-}
+afterEntryInsertAtCursor :: (IsEntry a, MonadIO m) => a -> EntryInsertAtCursorCallback -> m SignalHandlerId
+afterEntryInsertAtCursor obj cb = liftIO $ do
+    let cb' = wrap_EntryInsertAtCursorCallback cb
+    cb'' <- mk_EntryInsertAtCursorCallback cb'
+    connectSignalFunPtr obj "insert-at-cursor" cb'' SignalConnectAfter
+
+
+-- signal Entry::insert-emoji
+{- |
+The ::insert-emoji signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to present the Emoji chooser for the /@entry@/.
+
+The default bindings for this signal are Ctrl-. and Ctrl-;
+
+/Since: 3.22.27/
+-}
+type EntryInsertEmojiCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryInsertEmojiCallback`@.
+noEntryInsertEmojiCallback :: Maybe EntryInsertEmojiCallback
+noEntryInsertEmojiCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryInsertEmojiCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryInsertEmojiCallback`.
+foreign import ccall "wrapper"
+    mk_EntryInsertEmojiCallback :: C_EntryInsertEmojiCallback -> IO (FunPtr C_EntryInsertEmojiCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryInsertEmoji :: MonadIO m => EntryInsertEmojiCallback -> m (GClosure C_EntryInsertEmojiCallback)
+genClosure_EntryInsertEmoji cb = liftIO $ do
+    let cb' = wrap_EntryInsertEmojiCallback cb
+    mk_EntryInsertEmojiCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryInsertEmojiCallback` into a `C_EntryInsertEmojiCallback`.
+wrap_EntryInsertEmojiCallback ::
+    EntryInsertEmojiCallback ->
+    C_EntryInsertEmojiCallback
+wrap_EntryInsertEmojiCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@insert-emoji@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #insertEmoji callback
+@
+-}
+onEntryInsertEmoji :: (IsEntry a, MonadIO m) => a -> EntryInsertEmojiCallback -> m SignalHandlerId
+onEntryInsertEmoji obj cb = liftIO $ do
+    let cb' = wrap_EntryInsertEmojiCallback cb
+    cb'' <- mk_EntryInsertEmojiCallback cb'
+    connectSignalFunPtr obj "insert-emoji" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert-emoji@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #insertEmoji callback
+@
+-}
+afterEntryInsertEmoji :: (IsEntry a, MonadIO m) => a -> EntryInsertEmojiCallback -> m SignalHandlerId
+afterEntryInsertEmoji obj cb = liftIO $ do
+    let cb' = wrap_EntryInsertEmojiCallback cb
+    cb'' <- mk_EntryInsertEmojiCallback cb'
+    connectSignalFunPtr obj "insert-emoji" cb'' SignalConnectAfter
+
+
+-- signal Entry::move-cursor
+{- |
+The ::move-cursor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a cursor movement.
+If the cursor is not visible in /@entry@/, this signal causes
+the viewport to be moved instead.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control the cursor
+programmatically.
+
+The default bindings for this signal come in two variants,
+the variant with the Shift modifier extends the selection,
+the variant without the Shift modifer does not.
+There are too many key combinations to list them all here.
+
+* Arrow keys move by individual characters\/lines
+* Ctrl-arrow key combinations move by words\/paragraphs
+* Home\/End keys move to the ends of the buffer
+-}
+type EntryMoveCursorCallback =
+    Gtk.Enums.MovementStep
+    {- ^ /@step@/: the granularity of the move, as a 'GI.Gtk.Enums.MovementStep' -}
+    -> Int32
+    {- ^ /@count@/: the number of /@step@/ units to move -}
+    -> Bool
+    {- ^ /@extendSelection@/: 'True' if the move should extend the selection -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryMoveCursorCallback`@.
+noEntryMoveCursorCallback :: Maybe EntryMoveCursorCallback
+noEntryMoveCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryMoveCursorCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryMoveCursorCallback`.
+foreign import ccall "wrapper"
+    mk_EntryMoveCursorCallback :: C_EntryMoveCursorCallback -> IO (FunPtr C_EntryMoveCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryMoveCursor :: MonadIO m => EntryMoveCursorCallback -> m (GClosure C_EntryMoveCursorCallback)
+genClosure_EntryMoveCursor cb = liftIO $ do
+    let cb' = wrap_EntryMoveCursorCallback cb
+    mk_EntryMoveCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryMoveCursorCallback` into a `C_EntryMoveCursorCallback`.
+wrap_EntryMoveCursorCallback ::
+    EntryMoveCursorCallback ->
+    C_EntryMoveCursorCallback
+wrap_EntryMoveCursorCallback _cb _ step count extendSelection _ = do
+    let step' = (toEnum . fromIntegral) step
+    let extendSelection' = (/= 0) extendSelection
+    _cb  step' count extendSelection'
+
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #moveCursor callback
+@
+-}
+onEntryMoveCursor :: (IsEntry a, MonadIO m) => a -> EntryMoveCursorCallback -> m SignalHandlerId
+onEntryMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_EntryMoveCursorCallback cb
+    cb'' <- mk_EntryMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #moveCursor callback
+@
+-}
+afterEntryMoveCursor :: (IsEntry a, MonadIO m) => a -> EntryMoveCursorCallback -> m SignalHandlerId
+afterEntryMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_EntryMoveCursorCallback cb
+    cb'' <- mk_EntryMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectAfter
+
+
+-- signal Entry::paste-clipboard
+{- |
+The ::paste-clipboard signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to paste the contents of the clipboard
+into the text view.
+
+The default bindings for this signal are
+Ctrl-v and Shift-Insert.
+-}
+type EntryPasteClipboardCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryPasteClipboardCallback`@.
+noEntryPasteClipboardCallback :: Maybe EntryPasteClipboardCallback
+noEntryPasteClipboardCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryPasteClipboardCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryPasteClipboardCallback`.
+foreign import ccall "wrapper"
+    mk_EntryPasteClipboardCallback :: C_EntryPasteClipboardCallback -> IO (FunPtr C_EntryPasteClipboardCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryPasteClipboard :: MonadIO m => EntryPasteClipboardCallback -> m (GClosure C_EntryPasteClipboardCallback)
+genClosure_EntryPasteClipboard cb = liftIO $ do
+    let cb' = wrap_EntryPasteClipboardCallback cb
+    mk_EntryPasteClipboardCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryPasteClipboardCallback` into a `C_EntryPasteClipboardCallback`.
+wrap_EntryPasteClipboardCallback ::
+    EntryPasteClipboardCallback ->
+    C_EntryPasteClipboardCallback
+wrap_EntryPasteClipboardCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@paste-clipboard@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #pasteClipboard callback
+@
+-}
+onEntryPasteClipboard :: (IsEntry a, MonadIO m) => a -> EntryPasteClipboardCallback -> m SignalHandlerId
+onEntryPasteClipboard obj cb = liftIO $ do
+    let cb' = wrap_EntryPasteClipboardCallback cb
+    cb'' <- mk_EntryPasteClipboardCallback cb'
+    connectSignalFunPtr obj "paste-clipboard" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@paste-clipboard@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #pasteClipboard callback
+@
+-}
+afterEntryPasteClipboard :: (IsEntry a, MonadIO m) => a -> EntryPasteClipboardCallback -> m SignalHandlerId
+afterEntryPasteClipboard obj cb = liftIO $ do
+    let cb' = wrap_EntryPasteClipboardCallback cb
+    cb'' <- mk_EntryPasteClipboardCallback cb'
+    connectSignalFunPtr obj "paste-clipboard" cb'' SignalConnectAfter
+
+
+-- signal Entry::populate-popup
+{- |
+The ::populate-popup signal gets emitted before showing the
+context menu of the entry.
+
+If you need to add items to the context menu, connect
+to this signal and append your items to the /@widget@/, which
+will be a 'GI.Gtk.Objects.Menu.Menu' in this case.
+
+If 'GI.Gtk.Objects.Entry.Entry':@/populate-all/@ is 'True', this signal will
+also be emitted to populate touch popups. In this case,
+/@widget@/ will be a different container, e.g. a 'GI.Gtk.Objects.Toolbar.Toolbar'.
+The signal handler should not make assumptions about the
+type of /@widget@/.
+-}
+type EntryPopulatePopupCallback =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the container that is being populated -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryPopulatePopupCallback`@.
+noEntryPopulatePopupCallback :: Maybe EntryPopulatePopupCallback
+noEntryPopulatePopupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryPopulatePopupCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryPopulatePopupCallback`.
+foreign import ccall "wrapper"
+    mk_EntryPopulatePopupCallback :: C_EntryPopulatePopupCallback -> IO (FunPtr C_EntryPopulatePopupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryPopulatePopup :: MonadIO m => EntryPopulatePopupCallback -> m (GClosure C_EntryPopulatePopupCallback)
+genClosure_EntryPopulatePopup cb = liftIO $ do
+    let cb' = wrap_EntryPopulatePopupCallback cb
+    mk_EntryPopulatePopupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryPopulatePopupCallback` into a `C_EntryPopulatePopupCallback`.
+wrap_EntryPopulatePopupCallback ::
+    EntryPopulatePopupCallback ->
+    C_EntryPopulatePopupCallback
+wrap_EntryPopulatePopupCallback _cb _ widget _ = do
+    widget' <- (newObject Gtk.Widget.Widget) widget
+    _cb  widget'
+
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #populatePopup callback
+@
+-}
+onEntryPopulatePopup :: (IsEntry a, MonadIO m) => a -> EntryPopulatePopupCallback -> m SignalHandlerId
+onEntryPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_EntryPopulatePopupCallback cb
+    cb'' <- mk_EntryPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #populatePopup callback
+@
+-}
+afterEntryPopulatePopup :: (IsEntry a, MonadIO m) => a -> EntryPopulatePopupCallback -> m SignalHandlerId
+afterEntryPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_EntryPopulatePopupCallback cb
+    cb'' <- mk_EntryPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectAfter
+
+
+-- signal Entry::preedit-changed
+{- |
+If an input method is used, the typed text will not immediately
+be committed to the buffer. So if you are interested in the text,
+connect to this signal.
+
+/Since: 2.20/
+-}
+type EntryPreeditChangedCallback =
+    T.Text
+    {- ^ /@preedit@/: the current preedit string -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryPreeditChangedCallback`@.
+noEntryPreeditChangedCallback :: Maybe EntryPreeditChangedCallback
+noEntryPreeditChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryPreeditChangedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryPreeditChangedCallback`.
+foreign import ccall "wrapper"
+    mk_EntryPreeditChangedCallback :: C_EntryPreeditChangedCallback -> IO (FunPtr C_EntryPreeditChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryPreeditChanged :: MonadIO m => EntryPreeditChangedCallback -> m (GClosure C_EntryPreeditChangedCallback)
+genClosure_EntryPreeditChanged cb = liftIO $ do
+    let cb' = wrap_EntryPreeditChangedCallback cb
+    mk_EntryPreeditChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryPreeditChangedCallback` into a `C_EntryPreeditChangedCallback`.
+wrap_EntryPreeditChangedCallback ::
+    EntryPreeditChangedCallback ->
+    C_EntryPreeditChangedCallback
+wrap_EntryPreeditChangedCallback _cb _ preedit _ = do
+    preedit' <- cstringToText preedit
+    _cb  preedit'
+
+
+{- |
+Connect a signal handler for the “@preedit-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #preeditChanged callback
+@
+-}
+onEntryPreeditChanged :: (IsEntry a, MonadIO m) => a -> EntryPreeditChangedCallback -> m SignalHandlerId
+onEntryPreeditChanged obj cb = liftIO $ do
+    let cb' = wrap_EntryPreeditChangedCallback cb
+    cb'' <- mk_EntryPreeditChangedCallback cb'
+    connectSignalFunPtr obj "preedit-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@preedit-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #preeditChanged callback
+@
+-}
+afterEntryPreeditChanged :: (IsEntry a, MonadIO m) => a -> EntryPreeditChangedCallback -> m SignalHandlerId
+afterEntryPreeditChanged obj cb = liftIO $ do
+    let cb' = wrap_EntryPreeditChangedCallback cb
+    cb'' <- mk_EntryPreeditChangedCallback cb'
+    connectSignalFunPtr obj "preedit-changed" cb'' SignalConnectAfter
+
+
+-- signal Entry::toggle-overwrite
+{- |
+The ::toggle-overwrite signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to toggle the overwrite mode of the entry.
+
+The default bindings for this signal is Insert.
+-}
+type EntryToggleOverwriteCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryToggleOverwriteCallback`@.
+noEntryToggleOverwriteCallback :: Maybe EntryToggleOverwriteCallback
+noEntryToggleOverwriteCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryToggleOverwriteCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryToggleOverwriteCallback`.
+foreign import ccall "wrapper"
+    mk_EntryToggleOverwriteCallback :: C_EntryToggleOverwriteCallback -> IO (FunPtr C_EntryToggleOverwriteCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryToggleOverwrite :: MonadIO m => EntryToggleOverwriteCallback -> m (GClosure C_EntryToggleOverwriteCallback)
+genClosure_EntryToggleOverwrite cb = liftIO $ do
+    let cb' = wrap_EntryToggleOverwriteCallback cb
+    mk_EntryToggleOverwriteCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryToggleOverwriteCallback` into a `C_EntryToggleOverwriteCallback`.
+wrap_EntryToggleOverwriteCallback ::
+    EntryToggleOverwriteCallback ->
+    C_EntryToggleOverwriteCallback
+wrap_EntryToggleOverwriteCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggle-overwrite@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entry #toggleOverwrite callback
+@
+-}
+onEntryToggleOverwrite :: (IsEntry a, MonadIO m) => a -> EntryToggleOverwriteCallback -> m SignalHandlerId
+onEntryToggleOverwrite obj cb = liftIO $ do
+    let cb' = wrap_EntryToggleOverwriteCallback cb
+    cb'' <- mk_EntryToggleOverwriteCallback cb'
+    connectSignalFunPtr obj "toggle-overwrite" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-overwrite@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entry #toggleOverwrite callback
+@
+-}
+afterEntryToggleOverwrite :: (IsEntry a, MonadIO m) => a -> EntryToggleOverwriteCallback -> m SignalHandlerId
+afterEntryToggleOverwrite obj cb = liftIO $ do
+    let cb' = wrap_EntryToggleOverwriteCallback cb
+    cb'' <- mk_EntryToggleOverwriteCallback cb'
+    connectSignalFunPtr obj "toggle-overwrite" cb'' SignalConnectAfter
+
+
+-- VVV Prop "activates-default"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@activates-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #activatesDefault
+@
+-}
+getEntryActivatesDefault :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryActivatesDefault obj = liftIO $ B.Properties.getObjectPropertyBool obj "activates-default"
+
+{- |
+Set the value of the “@activates-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #activatesDefault 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryActivatesDefault :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryActivatesDefault obj val = liftIO $ B.Properties.setObjectPropertyBool obj "activates-default" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@activates-default@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryActivatesDefault :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryActivatesDefault val = B.Properties.constructObjectPropertyBool "activates-default" val
+
+#if ENABLE_OVERLOADING
+data EntryActivatesDefaultPropertyInfo
+instance AttrInfo EntryActivatesDefaultPropertyInfo where
+    type AttrAllowedOps EntryActivatesDefaultPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryActivatesDefaultPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryActivatesDefaultPropertyInfo = IsEntry
+    type AttrGetType EntryActivatesDefaultPropertyInfo = Bool
+    type AttrLabel EntryActivatesDefaultPropertyInfo = "activates-default"
+    type AttrOrigin EntryActivatesDefaultPropertyInfo = Entry
+    attrGet _ = getEntryActivatesDefault
+    attrSet _ = setEntryActivatesDefault
+    attrConstruct _ = constructEntryActivatesDefault
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "attributes"
+   -- Type: TInterface (Name {namespace = "Pango", name = "AttrList"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@attributes@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #attributes
+@
+-}
+getEntryAttributes :: (MonadIO m, IsEntry o) => o -> m (Maybe Pango.AttrList.AttrList)
+getEntryAttributes obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "attributes" Pango.AttrList.AttrList
+
+{- |
+Set the value of the “@attributes@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #attributes 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryAttributes :: (MonadIO m, IsEntry o) => o -> Pango.AttrList.AttrList -> m ()
+setEntryAttributes obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "attributes" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@attributes@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryAttributes :: (IsEntry o) => Pango.AttrList.AttrList -> IO (GValueConstruct o)
+constructEntryAttributes val = B.Properties.constructObjectPropertyBoxed "attributes" (Just val)
+
+#if ENABLE_OVERLOADING
+data EntryAttributesPropertyInfo
+instance AttrInfo EntryAttributesPropertyInfo where
+    type AttrAllowedOps EntryAttributesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryAttributesPropertyInfo = (~) Pango.AttrList.AttrList
+    type AttrBaseTypeConstraint EntryAttributesPropertyInfo = IsEntry
+    type AttrGetType EntryAttributesPropertyInfo = (Maybe Pango.AttrList.AttrList)
+    type AttrLabel EntryAttributesPropertyInfo = "attributes"
+    type AttrOrigin EntryAttributesPropertyInfo = Entry
+    attrGet _ = getEntryAttributes
+    attrSet _ = setEntryAttributes
+    attrConstruct _ = constructEntryAttributes
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "buffer"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@buffer@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #buffer
+@
+-}
+getEntryBuffer :: (MonadIO m, IsEntry o) => o -> m Gtk.EntryBuffer.EntryBuffer
+getEntryBuffer obj = liftIO $ checkUnexpectedNothing "getEntryBuffer" $ B.Properties.getObjectPropertyObject obj "buffer" Gtk.EntryBuffer.EntryBuffer
+
+{- |
+Set the value of the “@buffer@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #buffer 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryBuffer :: (MonadIO m, IsEntry o, Gtk.EntryBuffer.IsEntryBuffer a) => o -> a -> m ()
+setEntryBuffer obj val = liftIO $ B.Properties.setObjectPropertyObject obj "buffer" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@buffer@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryBuffer :: (IsEntry o, Gtk.EntryBuffer.IsEntryBuffer a) => a -> IO (GValueConstruct o)
+constructEntryBuffer val = B.Properties.constructObjectPropertyObject "buffer" (Just val)
+
+#if ENABLE_OVERLOADING
+data EntryBufferPropertyInfo
+instance AttrInfo EntryBufferPropertyInfo where
+    type AttrAllowedOps EntryBufferPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryBufferPropertyInfo = Gtk.EntryBuffer.IsEntryBuffer
+    type AttrBaseTypeConstraint EntryBufferPropertyInfo = IsEntry
+    type AttrGetType EntryBufferPropertyInfo = Gtk.EntryBuffer.EntryBuffer
+    type AttrLabel EntryBufferPropertyInfo = "buffer"
+    type AttrOrigin EntryBufferPropertyInfo = Entry
+    attrGet _ = getEntryBuffer
+    attrSet _ = setEntryBuffer
+    attrConstruct _ = constructEntryBuffer
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "caps-lock-warning"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@caps-lock-warning@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #capsLockWarning
+@
+-}
+getEntryCapsLockWarning :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryCapsLockWarning obj = liftIO $ B.Properties.getObjectPropertyBool obj "caps-lock-warning"
+
+{- |
+Set the value of the “@caps-lock-warning@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #capsLockWarning 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCapsLockWarning :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryCapsLockWarning obj val = liftIO $ B.Properties.setObjectPropertyBool obj "caps-lock-warning" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@caps-lock-warning@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCapsLockWarning :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryCapsLockWarning val = B.Properties.constructObjectPropertyBool "caps-lock-warning" val
+
+#if ENABLE_OVERLOADING
+data EntryCapsLockWarningPropertyInfo
+instance AttrInfo EntryCapsLockWarningPropertyInfo where
+    type AttrAllowedOps EntryCapsLockWarningPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryCapsLockWarningPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryCapsLockWarningPropertyInfo = IsEntry
+    type AttrGetType EntryCapsLockWarningPropertyInfo = Bool
+    type AttrLabel EntryCapsLockWarningPropertyInfo = "caps-lock-warning"
+    type AttrOrigin EntryCapsLockWarningPropertyInfo = Entry
+    attrGet _ = getEntryCapsLockWarning
+    attrSet _ = setEntryCapsLockWarning
+    attrConstruct _ = constructEntryCapsLockWarning
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "completion"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@completion@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #completion
+@
+-}
+getEntryCompletion :: (MonadIO m, IsEntry o) => o -> m Gtk.EntryCompletion.EntryCompletion
+getEntryCompletion obj = liftIO $ checkUnexpectedNothing "getEntryCompletion" $ B.Properties.getObjectPropertyObject obj "completion" Gtk.EntryCompletion.EntryCompletion
+
+{- |
+Set the value of the “@completion@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #completion 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCompletion :: (MonadIO m, IsEntry o, Gtk.EntryCompletion.IsEntryCompletion a) => o -> a -> m ()
+setEntryCompletion obj val = liftIO $ B.Properties.setObjectPropertyObject obj "completion" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@completion@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletion :: (IsEntry o, Gtk.EntryCompletion.IsEntryCompletion a) => a -> IO (GValueConstruct o)
+constructEntryCompletion val = B.Properties.constructObjectPropertyObject "completion" (Just val)
+
+{- |
+Set the value of the “@completion@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #completion
+@
+-}
+clearEntryCompletion :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryCompletion obj = liftIO $ B.Properties.setObjectPropertyObject obj "completion" (Nothing :: Maybe Gtk.EntryCompletion.EntryCompletion)
+
+#if ENABLE_OVERLOADING
+data EntryCompletionPropertyInfo
+instance AttrInfo EntryCompletionPropertyInfo where
+    type AttrAllowedOps EntryCompletionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryCompletionPropertyInfo = Gtk.EntryCompletion.IsEntryCompletion
+    type AttrBaseTypeConstraint EntryCompletionPropertyInfo = IsEntry
+    type AttrGetType EntryCompletionPropertyInfo = Gtk.EntryCompletion.EntryCompletion
+    type AttrLabel EntryCompletionPropertyInfo = "completion"
+    type AttrOrigin EntryCompletionPropertyInfo = Entry
+    attrGet _ = getEntryCompletion
+    attrSet _ = setEntryCompletion
+    attrConstruct _ = constructEntryCompletion
+    attrClear _ = clearEntryCompletion
+#endif
+
+-- VVV Prop "cursor-position"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cursor-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #cursorPosition
+@
+-}
+getEntryCursorPosition :: (MonadIO m, IsEntry o) => o -> m Int32
+getEntryCursorPosition obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "cursor-position"
+
+#if ENABLE_OVERLOADING
+data EntryCursorPositionPropertyInfo
+instance AttrInfo EntryCursorPositionPropertyInfo where
+    type AttrAllowedOps EntryCursorPositionPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint EntryCursorPositionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint EntryCursorPositionPropertyInfo = IsEntry
+    type AttrGetType EntryCursorPositionPropertyInfo = Int32
+    type AttrLabel EntryCursorPositionPropertyInfo = "cursor-position"
+    type AttrOrigin EntryCursorPositionPropertyInfo = Entry
+    attrGet _ = getEntryCursorPosition
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "editable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@editable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #editable
+@
+-}
+getEntryEditable :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryEditable obj = liftIO $ B.Properties.getObjectPropertyBool obj "editable"
+
+{- |
+Set the value of the “@editable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #editable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryEditable :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryEditable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "editable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@editable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryEditable :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryEditable val = B.Properties.constructObjectPropertyBool "editable" val
+
+#if ENABLE_OVERLOADING
+data EntryEditablePropertyInfo
+instance AttrInfo EntryEditablePropertyInfo where
+    type AttrAllowedOps EntryEditablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryEditablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryEditablePropertyInfo = IsEntry
+    type AttrGetType EntryEditablePropertyInfo = Bool
+    type AttrLabel EntryEditablePropertyInfo = "editable"
+    type AttrOrigin EntryEditablePropertyInfo = Entry
+    attrGet _ = getEntryEditable
+    attrSet _ = setEntryEditable
+    attrConstruct _ = constructEntryEditable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "enable-emoji-completion"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@enable-emoji-completion@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #enableEmojiCompletion
+@
+-}
+getEntryEnableEmojiCompletion :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryEnableEmojiCompletion obj = liftIO $ B.Properties.getObjectPropertyBool obj "enable-emoji-completion"
+
+{- |
+Set the value of the “@enable-emoji-completion@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #enableEmojiCompletion 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryEnableEmojiCompletion :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryEnableEmojiCompletion obj val = liftIO $ B.Properties.setObjectPropertyBool obj "enable-emoji-completion" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@enable-emoji-completion@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryEnableEmojiCompletion :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryEnableEmojiCompletion val = B.Properties.constructObjectPropertyBool "enable-emoji-completion" val
+
+#if ENABLE_OVERLOADING
+data EntryEnableEmojiCompletionPropertyInfo
+instance AttrInfo EntryEnableEmojiCompletionPropertyInfo where
+    type AttrAllowedOps EntryEnableEmojiCompletionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryEnableEmojiCompletionPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryEnableEmojiCompletionPropertyInfo = IsEntry
+    type AttrGetType EntryEnableEmojiCompletionPropertyInfo = Bool
+    type AttrLabel EntryEnableEmojiCompletionPropertyInfo = "enable-emoji-completion"
+    type AttrOrigin EntryEnableEmojiCompletionPropertyInfo = Entry
+    attrGet _ = getEntryEnableEmojiCompletion
+    attrSet _ = setEntryEnableEmojiCompletion
+    attrConstruct _ = constructEntryEnableEmojiCompletion
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-frame"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-frame@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #hasFrame
+@
+-}
+getEntryHasFrame :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryHasFrame obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-frame"
+
+{- |
+Set the value of the “@has-frame@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #hasFrame 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryHasFrame :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryHasFrame obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-frame" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-frame@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryHasFrame :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryHasFrame val = B.Properties.constructObjectPropertyBool "has-frame" val
+
+#if ENABLE_OVERLOADING
+data EntryHasFramePropertyInfo
+instance AttrInfo EntryHasFramePropertyInfo where
+    type AttrAllowedOps EntryHasFramePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryHasFramePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryHasFramePropertyInfo = IsEntry
+    type AttrGetType EntryHasFramePropertyInfo = Bool
+    type AttrLabel EntryHasFramePropertyInfo = "has-frame"
+    type AttrOrigin EntryHasFramePropertyInfo = Entry
+    attrGet _ = getEntryHasFrame
+    attrSet _ = setEntryHasFrame
+    attrConstruct _ = constructEntryHasFrame
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "im-module"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@im-module@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #imModule
+@
+-}
+getEntryImModule :: (MonadIO m, IsEntry o) => o -> m (Maybe T.Text)
+getEntryImModule obj = liftIO $ B.Properties.getObjectPropertyString obj "im-module"
+
+{- |
+Set the value of the “@im-module@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #imModule 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryImModule :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntryImModule obj val = liftIO $ B.Properties.setObjectPropertyString obj "im-module" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@im-module@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryImModule :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntryImModule val = B.Properties.constructObjectPropertyString "im-module" (Just val)
+
+{- |
+Set the value of the “@im-module@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #imModule
+@
+-}
+clearEntryImModule :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryImModule obj = liftIO $ B.Properties.setObjectPropertyString obj "im-module" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntryImModulePropertyInfo
+instance AttrInfo EntryImModulePropertyInfo where
+    type AttrAllowedOps EntryImModulePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryImModulePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntryImModulePropertyInfo = IsEntry
+    type AttrGetType EntryImModulePropertyInfo = (Maybe T.Text)
+    type AttrLabel EntryImModulePropertyInfo = "im-module"
+    type AttrOrigin EntryImModulePropertyInfo = Entry
+    attrGet _ = getEntryImModule
+    attrSet _ = setEntryImModule
+    attrConstruct _ = constructEntryImModule
+    attrClear _ = clearEntryImModule
+#endif
+
+-- VVV Prop "inner-border"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Border"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@inner-border@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #innerBorder
+@
+-}
+getEntryInnerBorder :: (MonadIO m, IsEntry o) => o -> m (Maybe Gtk.Border.Border)
+getEntryInnerBorder obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "inner-border" Gtk.Border.Border
+
+{- |
+Set the value of the “@inner-border@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #innerBorder 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryInnerBorder :: (MonadIO m, IsEntry o) => o -> Gtk.Border.Border -> m ()
+setEntryInnerBorder obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "inner-border" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inner-border@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryInnerBorder :: (IsEntry o) => Gtk.Border.Border -> IO (GValueConstruct o)
+constructEntryInnerBorder val = B.Properties.constructObjectPropertyBoxed "inner-border" (Just val)
+
+{- |
+Set the value of the “@inner-border@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #innerBorder
+@
+-}
+clearEntryInnerBorder :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryInnerBorder obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "inner-border" (Nothing :: Maybe Gtk.Border.Border)
+
+#if ENABLE_OVERLOADING
+data EntryInnerBorderPropertyInfo
+instance AttrInfo EntryInnerBorderPropertyInfo where
+    type AttrAllowedOps EntryInnerBorderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryInnerBorderPropertyInfo = (~) Gtk.Border.Border
+    type AttrBaseTypeConstraint EntryInnerBorderPropertyInfo = IsEntry
+    type AttrGetType EntryInnerBorderPropertyInfo = (Maybe Gtk.Border.Border)
+    type AttrLabel EntryInnerBorderPropertyInfo = "inner-border"
+    type AttrOrigin EntryInnerBorderPropertyInfo = Entry
+    attrGet _ = getEntryInnerBorder
+    attrSet _ = setEntryInnerBorder
+    attrConstruct _ = constructEntryInnerBorder
+    attrClear _ = clearEntryInnerBorder
+#endif
+
+-- VVV Prop "input-hints"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "InputHints"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@input-hints@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #inputHints
+@
+-}
+getEntryInputHints :: (MonadIO m, IsEntry o) => o -> m [Gtk.Flags.InputHints]
+getEntryInputHints obj = liftIO $ B.Properties.getObjectPropertyFlags obj "input-hints"
+
+{- |
+Set the value of the “@input-hints@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #inputHints 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryInputHints :: (MonadIO m, IsEntry o) => o -> [Gtk.Flags.InputHints] -> m ()
+setEntryInputHints obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "input-hints" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@input-hints@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryInputHints :: (IsEntry o) => [Gtk.Flags.InputHints] -> IO (GValueConstruct o)
+constructEntryInputHints val = B.Properties.constructObjectPropertyFlags "input-hints" val
+
+#if ENABLE_OVERLOADING
+data EntryInputHintsPropertyInfo
+instance AttrInfo EntryInputHintsPropertyInfo where
+    type AttrAllowedOps EntryInputHintsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryInputHintsPropertyInfo = (~) [Gtk.Flags.InputHints]
+    type AttrBaseTypeConstraint EntryInputHintsPropertyInfo = IsEntry
+    type AttrGetType EntryInputHintsPropertyInfo = [Gtk.Flags.InputHints]
+    type AttrLabel EntryInputHintsPropertyInfo = "input-hints"
+    type AttrOrigin EntryInputHintsPropertyInfo = Entry
+    attrGet _ = getEntryInputHints
+    attrSet _ = setEntryInputHints
+    attrConstruct _ = constructEntryInputHints
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "input-purpose"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "InputPurpose"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@input-purpose@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #inputPurpose
+@
+-}
+getEntryInputPurpose :: (MonadIO m, IsEntry o) => o -> m Gtk.Enums.InputPurpose
+getEntryInputPurpose obj = liftIO $ B.Properties.getObjectPropertyEnum obj "input-purpose"
+
+{- |
+Set the value of the “@input-purpose@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #inputPurpose 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryInputPurpose :: (MonadIO m, IsEntry o) => o -> Gtk.Enums.InputPurpose -> m ()
+setEntryInputPurpose obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "input-purpose" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@input-purpose@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryInputPurpose :: (IsEntry o) => Gtk.Enums.InputPurpose -> IO (GValueConstruct o)
+constructEntryInputPurpose val = B.Properties.constructObjectPropertyEnum "input-purpose" val
+
+#if ENABLE_OVERLOADING
+data EntryInputPurposePropertyInfo
+instance AttrInfo EntryInputPurposePropertyInfo where
+    type AttrAllowedOps EntryInputPurposePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryInputPurposePropertyInfo = (~) Gtk.Enums.InputPurpose
+    type AttrBaseTypeConstraint EntryInputPurposePropertyInfo = IsEntry
+    type AttrGetType EntryInputPurposePropertyInfo = Gtk.Enums.InputPurpose
+    type AttrLabel EntryInputPurposePropertyInfo = "input-purpose"
+    type AttrOrigin EntryInputPurposePropertyInfo = Entry
+    attrGet _ = getEntryInputPurpose
+    attrSet _ = setEntryInputPurpose
+    attrConstruct _ = constructEntryInputPurpose
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "invisible-char"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@invisible-char@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #invisibleChar
+@
+-}
+getEntryInvisibleChar :: (MonadIO m, IsEntry o) => o -> m Word32
+getEntryInvisibleChar obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "invisible-char"
+
+{- |
+Set the value of the “@invisible-char@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #invisibleChar 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryInvisibleChar :: (MonadIO m, IsEntry o) => o -> Word32 -> m ()
+setEntryInvisibleChar obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "invisible-char" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@invisible-char@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryInvisibleChar :: (IsEntry o) => Word32 -> IO (GValueConstruct o)
+constructEntryInvisibleChar val = B.Properties.constructObjectPropertyUInt32 "invisible-char" val
+
+#if ENABLE_OVERLOADING
+data EntryInvisibleCharPropertyInfo
+instance AttrInfo EntryInvisibleCharPropertyInfo where
+    type AttrAllowedOps EntryInvisibleCharPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryInvisibleCharPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint EntryInvisibleCharPropertyInfo = IsEntry
+    type AttrGetType EntryInvisibleCharPropertyInfo = Word32
+    type AttrLabel EntryInvisibleCharPropertyInfo = "invisible-char"
+    type AttrOrigin EntryInvisibleCharPropertyInfo = Entry
+    attrGet _ = getEntryInvisibleChar
+    attrSet _ = setEntryInvisibleChar
+    attrConstruct _ = constructEntryInvisibleChar
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "invisible-char-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@invisible-char-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #invisibleCharSet
+@
+-}
+getEntryInvisibleCharSet :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryInvisibleCharSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "invisible-char-set"
+
+{- |
+Set the value of the “@invisible-char-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #invisibleCharSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryInvisibleCharSet :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryInvisibleCharSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "invisible-char-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@invisible-char-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryInvisibleCharSet :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryInvisibleCharSet val = B.Properties.constructObjectPropertyBool "invisible-char-set" val
+
+#if ENABLE_OVERLOADING
+data EntryInvisibleCharSetPropertyInfo
+instance AttrInfo EntryInvisibleCharSetPropertyInfo where
+    type AttrAllowedOps EntryInvisibleCharSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryInvisibleCharSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryInvisibleCharSetPropertyInfo = IsEntry
+    type AttrGetType EntryInvisibleCharSetPropertyInfo = Bool
+    type AttrLabel EntryInvisibleCharSetPropertyInfo = "invisible-char-set"
+    type AttrOrigin EntryInvisibleCharSetPropertyInfo = Entry
+    attrGet _ = getEntryInvisibleCharSet
+    attrSet _ = setEntryInvisibleCharSet
+    attrConstruct _ = constructEntryInvisibleCharSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "max-length"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@max-length@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #maxLength
+@
+-}
+getEntryMaxLength :: (MonadIO m, IsEntry o) => o -> m Int32
+getEntryMaxLength obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-length"
+
+{- |
+Set the value of the “@max-length@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #maxLength 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryMaxLength :: (MonadIO m, IsEntry o) => o -> Int32 -> m ()
+setEntryMaxLength obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "max-length" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-length@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryMaxLength :: (IsEntry o) => Int32 -> IO (GValueConstruct o)
+constructEntryMaxLength val = B.Properties.constructObjectPropertyInt32 "max-length" val
+
+#if ENABLE_OVERLOADING
+data EntryMaxLengthPropertyInfo
+instance AttrInfo EntryMaxLengthPropertyInfo where
+    type AttrAllowedOps EntryMaxLengthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryMaxLengthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint EntryMaxLengthPropertyInfo = IsEntry
+    type AttrGetType EntryMaxLengthPropertyInfo = Int32
+    type AttrLabel EntryMaxLengthPropertyInfo = "max-length"
+    type AttrOrigin EntryMaxLengthPropertyInfo = Entry
+    attrGet _ = getEntryMaxLength
+    attrSet _ = setEntryMaxLength
+    attrConstruct _ = constructEntryMaxLength
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "max-width-chars"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@max-width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #maxWidthChars
+@
+-}
+getEntryMaxWidthChars :: (MonadIO m, IsEntry o) => o -> m Int32
+getEntryMaxWidthChars obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-width-chars"
+
+{- |
+Set the value of the “@max-width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #maxWidthChars 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryMaxWidthChars :: (MonadIO m, IsEntry o) => o -> Int32 -> m ()
+setEntryMaxWidthChars obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "max-width-chars" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-width-chars@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryMaxWidthChars :: (IsEntry o) => Int32 -> IO (GValueConstruct o)
+constructEntryMaxWidthChars val = B.Properties.constructObjectPropertyInt32 "max-width-chars" val
+
+#if ENABLE_OVERLOADING
+data EntryMaxWidthCharsPropertyInfo
+instance AttrInfo EntryMaxWidthCharsPropertyInfo where
+    type AttrAllowedOps EntryMaxWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryMaxWidthCharsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint EntryMaxWidthCharsPropertyInfo = IsEntry
+    type AttrGetType EntryMaxWidthCharsPropertyInfo = Int32
+    type AttrLabel EntryMaxWidthCharsPropertyInfo = "max-width-chars"
+    type AttrOrigin EntryMaxWidthCharsPropertyInfo = Entry
+    attrGet _ = getEntryMaxWidthChars
+    attrSet _ = setEntryMaxWidthChars
+    attrConstruct _ = constructEntryMaxWidthChars
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "overwrite-mode"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@overwrite-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #overwriteMode
+@
+-}
+getEntryOverwriteMode :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryOverwriteMode obj = liftIO $ B.Properties.getObjectPropertyBool obj "overwrite-mode"
+
+{- |
+Set the value of the “@overwrite-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #overwriteMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryOverwriteMode :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryOverwriteMode obj val = liftIO $ B.Properties.setObjectPropertyBool obj "overwrite-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@overwrite-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryOverwriteMode :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryOverwriteMode val = B.Properties.constructObjectPropertyBool "overwrite-mode" val
+
+#if ENABLE_OVERLOADING
+data EntryOverwriteModePropertyInfo
+instance AttrInfo EntryOverwriteModePropertyInfo where
+    type AttrAllowedOps EntryOverwriteModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryOverwriteModePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryOverwriteModePropertyInfo = IsEntry
+    type AttrGetType EntryOverwriteModePropertyInfo = Bool
+    type AttrLabel EntryOverwriteModePropertyInfo = "overwrite-mode"
+    type AttrOrigin EntryOverwriteModePropertyInfo = Entry
+    attrGet _ = getEntryOverwriteMode
+    attrSet _ = setEntryOverwriteMode
+    attrConstruct _ = constructEntryOverwriteMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "placeholder-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@placeholder-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #placeholderText
+@
+-}
+getEntryPlaceholderText :: (MonadIO m, IsEntry o) => o -> m T.Text
+getEntryPlaceholderText obj = liftIO $ checkUnexpectedNothing "getEntryPlaceholderText" $ B.Properties.getObjectPropertyString obj "placeholder-text"
+
+{- |
+Set the value of the “@placeholder-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #placeholderText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPlaceholderText :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntryPlaceholderText obj val = liftIO $ B.Properties.setObjectPropertyString obj "placeholder-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@placeholder-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPlaceholderText :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntryPlaceholderText val = B.Properties.constructObjectPropertyString "placeholder-text" (Just val)
+
+{- |
+Set the value of the “@placeholder-text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #placeholderText
+@
+-}
+clearEntryPlaceholderText :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryPlaceholderText obj = liftIO $ B.Properties.setObjectPropertyString obj "placeholder-text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntryPlaceholderTextPropertyInfo
+instance AttrInfo EntryPlaceholderTextPropertyInfo where
+    type AttrAllowedOps EntryPlaceholderTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryPlaceholderTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntryPlaceholderTextPropertyInfo = IsEntry
+    type AttrGetType EntryPlaceholderTextPropertyInfo = T.Text
+    type AttrLabel EntryPlaceholderTextPropertyInfo = "placeholder-text"
+    type AttrOrigin EntryPlaceholderTextPropertyInfo = Entry
+    attrGet _ = getEntryPlaceholderText
+    attrSet _ = setEntryPlaceholderText
+    attrConstruct _ = constructEntryPlaceholderText
+    attrClear _ = clearEntryPlaceholderText
+#endif
+
+-- VVV Prop "populate-all"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@populate-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #populateAll
+@
+-}
+getEntryPopulateAll :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryPopulateAll obj = liftIO $ B.Properties.getObjectPropertyBool obj "populate-all"
+
+{- |
+Set the value of the “@populate-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #populateAll 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPopulateAll :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryPopulateAll obj val = liftIO $ B.Properties.setObjectPropertyBool obj "populate-all" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@populate-all@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPopulateAll :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryPopulateAll val = B.Properties.constructObjectPropertyBool "populate-all" val
+
+#if ENABLE_OVERLOADING
+data EntryPopulateAllPropertyInfo
+instance AttrInfo EntryPopulateAllPropertyInfo where
+    type AttrAllowedOps EntryPopulateAllPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryPopulateAllPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryPopulateAllPropertyInfo = IsEntry
+    type AttrGetType EntryPopulateAllPropertyInfo = Bool
+    type AttrLabel EntryPopulateAllPropertyInfo = "populate-all"
+    type AttrOrigin EntryPopulateAllPropertyInfo = Entry
+    attrGet _ = getEntryPopulateAll
+    attrSet _ = setEntryPopulateAll
+    attrConstruct _ = constructEntryPopulateAll
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "primary-icon-activatable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@primary-icon-activatable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #primaryIconActivatable
+@
+-}
+getEntryPrimaryIconActivatable :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryPrimaryIconActivatable obj = liftIO $ B.Properties.getObjectPropertyBool obj "primary-icon-activatable"
+
+{- |
+Set the value of the “@primary-icon-activatable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #primaryIconActivatable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPrimaryIconActivatable :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryPrimaryIconActivatable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "primary-icon-activatable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@primary-icon-activatable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPrimaryIconActivatable :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryPrimaryIconActivatable val = B.Properties.constructObjectPropertyBool "primary-icon-activatable" val
+
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconActivatablePropertyInfo
+instance AttrInfo EntryPrimaryIconActivatablePropertyInfo where
+    type AttrAllowedOps EntryPrimaryIconActivatablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryPrimaryIconActivatablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryPrimaryIconActivatablePropertyInfo = IsEntry
+    type AttrGetType EntryPrimaryIconActivatablePropertyInfo = Bool
+    type AttrLabel EntryPrimaryIconActivatablePropertyInfo = "primary-icon-activatable"
+    type AttrOrigin EntryPrimaryIconActivatablePropertyInfo = Entry
+    attrGet _ = getEntryPrimaryIconActivatable
+    attrSet _ = setEntryPrimaryIconActivatable
+    attrConstruct _ = constructEntryPrimaryIconActivatable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "primary-icon-gicon"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@primary-icon-gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #primaryIconGicon
+@
+-}
+getEntryPrimaryIconGicon :: (MonadIO m, IsEntry o) => o -> m (Maybe Gio.Icon.Icon)
+getEntryPrimaryIconGicon obj = liftIO $ B.Properties.getObjectPropertyObject obj "primary-icon-gicon" Gio.Icon.Icon
+
+{- |
+Set the value of the “@primary-icon-gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #primaryIconGicon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPrimaryIconGicon :: (MonadIO m, IsEntry o, Gio.Icon.IsIcon a) => o -> a -> m ()
+setEntryPrimaryIconGicon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "primary-icon-gicon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@primary-icon-gicon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPrimaryIconGicon :: (IsEntry o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
+constructEntryPrimaryIconGicon val = B.Properties.constructObjectPropertyObject "primary-icon-gicon" (Just val)
+
+{- |
+Set the value of the “@primary-icon-gicon@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #primaryIconGicon
+@
+-}
+clearEntryPrimaryIconGicon :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryPrimaryIconGicon obj = liftIO $ B.Properties.setObjectPropertyObject obj "primary-icon-gicon" (Nothing :: Maybe Gio.Icon.Icon)
+
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconGiconPropertyInfo
+instance AttrInfo EntryPrimaryIconGiconPropertyInfo where
+    type AttrAllowedOps EntryPrimaryIconGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryPrimaryIconGiconPropertyInfo = Gio.Icon.IsIcon
+    type AttrBaseTypeConstraint EntryPrimaryIconGiconPropertyInfo = IsEntry
+    type AttrGetType EntryPrimaryIconGiconPropertyInfo = (Maybe Gio.Icon.Icon)
+    type AttrLabel EntryPrimaryIconGiconPropertyInfo = "primary-icon-gicon"
+    type AttrOrigin EntryPrimaryIconGiconPropertyInfo = Entry
+    attrGet _ = getEntryPrimaryIconGicon
+    attrSet _ = setEntryPrimaryIconGicon
+    attrConstruct _ = constructEntryPrimaryIconGicon
+    attrClear _ = clearEntryPrimaryIconGicon
+#endif
+
+-- VVV Prop "primary-icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@primary-icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #primaryIconName
+@
+-}
+getEntryPrimaryIconName :: (MonadIO m, IsEntry o) => o -> m (Maybe T.Text)
+getEntryPrimaryIconName obj = liftIO $ B.Properties.getObjectPropertyString obj "primary-icon-name"
+
+{- |
+Set the value of the “@primary-icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #primaryIconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPrimaryIconName :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntryPrimaryIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "primary-icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@primary-icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPrimaryIconName :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntryPrimaryIconName val = B.Properties.constructObjectPropertyString "primary-icon-name" (Just val)
+
+{- |
+Set the value of the “@primary-icon-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #primaryIconName
+@
+-}
+clearEntryPrimaryIconName :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryPrimaryIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "primary-icon-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconNamePropertyInfo
+instance AttrInfo EntryPrimaryIconNamePropertyInfo where
+    type AttrAllowedOps EntryPrimaryIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryPrimaryIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntryPrimaryIconNamePropertyInfo = IsEntry
+    type AttrGetType EntryPrimaryIconNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel EntryPrimaryIconNamePropertyInfo = "primary-icon-name"
+    type AttrOrigin EntryPrimaryIconNamePropertyInfo = Entry
+    attrGet _ = getEntryPrimaryIconName
+    attrSet _ = setEntryPrimaryIconName
+    attrConstruct _ = constructEntryPrimaryIconName
+    attrClear _ = clearEntryPrimaryIconName
+#endif
+
+-- VVV Prop "primary-icon-pixbuf"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@primary-icon-pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #primaryIconPixbuf
+@
+-}
+getEntryPrimaryIconPixbuf :: (MonadIO m, IsEntry o) => o -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+getEntryPrimaryIconPixbuf obj = liftIO $ B.Properties.getObjectPropertyObject obj "primary-icon-pixbuf" GdkPixbuf.Pixbuf.Pixbuf
+
+{- |
+Set the value of the “@primary-icon-pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #primaryIconPixbuf 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPrimaryIconPixbuf :: (MonadIO m, IsEntry o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
+setEntryPrimaryIconPixbuf obj val = liftIO $ B.Properties.setObjectPropertyObject obj "primary-icon-pixbuf" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@primary-icon-pixbuf@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPrimaryIconPixbuf :: (IsEntry o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
+constructEntryPrimaryIconPixbuf val = B.Properties.constructObjectPropertyObject "primary-icon-pixbuf" (Just val)
+
+{- |
+Set the value of the “@primary-icon-pixbuf@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #primaryIconPixbuf
+@
+-}
+clearEntryPrimaryIconPixbuf :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryPrimaryIconPixbuf obj = liftIO $ B.Properties.setObjectPropertyObject obj "primary-icon-pixbuf" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)
+
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconPixbufPropertyInfo
+instance AttrInfo EntryPrimaryIconPixbufPropertyInfo where
+    type AttrAllowedOps EntryPrimaryIconPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryPrimaryIconPixbufPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
+    type AttrBaseTypeConstraint EntryPrimaryIconPixbufPropertyInfo = IsEntry
+    type AttrGetType EntryPrimaryIconPixbufPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    type AttrLabel EntryPrimaryIconPixbufPropertyInfo = "primary-icon-pixbuf"
+    type AttrOrigin EntryPrimaryIconPixbufPropertyInfo = Entry
+    attrGet _ = getEntryPrimaryIconPixbuf
+    attrSet _ = setEntryPrimaryIconPixbuf
+    attrConstruct _ = constructEntryPrimaryIconPixbuf
+    attrClear _ = clearEntryPrimaryIconPixbuf
+#endif
+
+-- VVV Prop "primary-icon-sensitive"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@primary-icon-sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #primaryIconSensitive
+@
+-}
+getEntryPrimaryIconSensitive :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryPrimaryIconSensitive obj = liftIO $ B.Properties.getObjectPropertyBool obj "primary-icon-sensitive"
+
+{- |
+Set the value of the “@primary-icon-sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #primaryIconSensitive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPrimaryIconSensitive :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryPrimaryIconSensitive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "primary-icon-sensitive" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@primary-icon-sensitive@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPrimaryIconSensitive :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryPrimaryIconSensitive val = B.Properties.constructObjectPropertyBool "primary-icon-sensitive" val
+
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconSensitivePropertyInfo
+instance AttrInfo EntryPrimaryIconSensitivePropertyInfo where
+    type AttrAllowedOps EntryPrimaryIconSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryPrimaryIconSensitivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryPrimaryIconSensitivePropertyInfo = IsEntry
+    type AttrGetType EntryPrimaryIconSensitivePropertyInfo = Bool
+    type AttrLabel EntryPrimaryIconSensitivePropertyInfo = "primary-icon-sensitive"
+    type AttrOrigin EntryPrimaryIconSensitivePropertyInfo = Entry
+    attrGet _ = getEntryPrimaryIconSensitive
+    attrSet _ = setEntryPrimaryIconSensitive
+    attrConstruct _ = constructEntryPrimaryIconSensitive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "primary-icon-stock"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@primary-icon-stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #primaryIconStock
+@
+-}
+getEntryPrimaryIconStock :: (MonadIO m, IsEntry o) => o -> m (Maybe T.Text)
+getEntryPrimaryIconStock obj = liftIO $ B.Properties.getObjectPropertyString obj "primary-icon-stock"
+
+{- |
+Set the value of the “@primary-icon-stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #primaryIconStock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPrimaryIconStock :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntryPrimaryIconStock obj val = liftIO $ B.Properties.setObjectPropertyString obj "primary-icon-stock" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@primary-icon-stock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPrimaryIconStock :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntryPrimaryIconStock val = B.Properties.constructObjectPropertyString "primary-icon-stock" (Just val)
+
+{- |
+Set the value of the “@primary-icon-stock@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #primaryIconStock
+@
+-}
+clearEntryPrimaryIconStock :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryPrimaryIconStock obj = liftIO $ B.Properties.setObjectPropertyString obj "primary-icon-stock" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconStockPropertyInfo
+instance AttrInfo EntryPrimaryIconStockPropertyInfo where
+    type AttrAllowedOps EntryPrimaryIconStockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryPrimaryIconStockPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntryPrimaryIconStockPropertyInfo = IsEntry
+    type AttrGetType EntryPrimaryIconStockPropertyInfo = (Maybe T.Text)
+    type AttrLabel EntryPrimaryIconStockPropertyInfo = "primary-icon-stock"
+    type AttrOrigin EntryPrimaryIconStockPropertyInfo = Entry
+    attrGet _ = getEntryPrimaryIconStock
+    attrSet _ = setEntryPrimaryIconStock
+    attrConstruct _ = constructEntryPrimaryIconStock
+    attrClear _ = clearEntryPrimaryIconStock
+#endif
+
+-- VVV Prop "primary-icon-storage-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ImageType"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@primary-icon-storage-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #primaryIconStorageType
+@
+-}
+getEntryPrimaryIconStorageType :: (MonadIO m, IsEntry o) => o -> m Gtk.Enums.ImageType
+getEntryPrimaryIconStorageType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "primary-icon-storage-type"
+
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconStorageTypePropertyInfo
+instance AttrInfo EntryPrimaryIconStorageTypePropertyInfo where
+    type AttrAllowedOps EntryPrimaryIconStorageTypePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint EntryPrimaryIconStorageTypePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint EntryPrimaryIconStorageTypePropertyInfo = IsEntry
+    type AttrGetType EntryPrimaryIconStorageTypePropertyInfo = Gtk.Enums.ImageType
+    type AttrLabel EntryPrimaryIconStorageTypePropertyInfo = "primary-icon-storage-type"
+    type AttrOrigin EntryPrimaryIconStorageTypePropertyInfo = Entry
+    attrGet _ = getEntryPrimaryIconStorageType
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "primary-icon-tooltip-markup"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@primary-icon-tooltip-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #primaryIconTooltipMarkup
+@
+-}
+getEntryPrimaryIconTooltipMarkup :: (MonadIO m, IsEntry o) => o -> m (Maybe T.Text)
+getEntryPrimaryIconTooltipMarkup obj = liftIO $ B.Properties.getObjectPropertyString obj "primary-icon-tooltip-markup"
+
+{- |
+Set the value of the “@primary-icon-tooltip-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #primaryIconTooltipMarkup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPrimaryIconTooltipMarkup :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntryPrimaryIconTooltipMarkup obj val = liftIO $ B.Properties.setObjectPropertyString obj "primary-icon-tooltip-markup" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@primary-icon-tooltip-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPrimaryIconTooltipMarkup :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntryPrimaryIconTooltipMarkup val = B.Properties.constructObjectPropertyString "primary-icon-tooltip-markup" (Just val)
+
+{- |
+Set the value of the “@primary-icon-tooltip-markup@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #primaryIconTooltipMarkup
+@
+-}
+clearEntryPrimaryIconTooltipMarkup :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryPrimaryIconTooltipMarkup obj = liftIO $ B.Properties.setObjectPropertyString obj "primary-icon-tooltip-markup" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconTooltipMarkupPropertyInfo
+instance AttrInfo EntryPrimaryIconTooltipMarkupPropertyInfo where
+    type AttrAllowedOps EntryPrimaryIconTooltipMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryPrimaryIconTooltipMarkupPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntryPrimaryIconTooltipMarkupPropertyInfo = IsEntry
+    type AttrGetType EntryPrimaryIconTooltipMarkupPropertyInfo = (Maybe T.Text)
+    type AttrLabel EntryPrimaryIconTooltipMarkupPropertyInfo = "primary-icon-tooltip-markup"
+    type AttrOrigin EntryPrimaryIconTooltipMarkupPropertyInfo = Entry
+    attrGet _ = getEntryPrimaryIconTooltipMarkup
+    attrSet _ = setEntryPrimaryIconTooltipMarkup
+    attrConstruct _ = constructEntryPrimaryIconTooltipMarkup
+    attrClear _ = clearEntryPrimaryIconTooltipMarkup
+#endif
+
+-- VVV Prop "primary-icon-tooltip-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@primary-icon-tooltip-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #primaryIconTooltipText
+@
+-}
+getEntryPrimaryIconTooltipText :: (MonadIO m, IsEntry o) => o -> m (Maybe T.Text)
+getEntryPrimaryIconTooltipText obj = liftIO $ B.Properties.getObjectPropertyString obj "primary-icon-tooltip-text"
+
+{- |
+Set the value of the “@primary-icon-tooltip-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #primaryIconTooltipText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryPrimaryIconTooltipText :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntryPrimaryIconTooltipText obj val = liftIO $ B.Properties.setObjectPropertyString obj "primary-icon-tooltip-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@primary-icon-tooltip-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryPrimaryIconTooltipText :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntryPrimaryIconTooltipText val = B.Properties.constructObjectPropertyString "primary-icon-tooltip-text" (Just val)
+
+{- |
+Set the value of the “@primary-icon-tooltip-text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #primaryIconTooltipText
+@
+-}
+clearEntryPrimaryIconTooltipText :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntryPrimaryIconTooltipText obj = liftIO $ B.Properties.setObjectPropertyString obj "primary-icon-tooltip-text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconTooltipTextPropertyInfo
+instance AttrInfo EntryPrimaryIconTooltipTextPropertyInfo where
+    type AttrAllowedOps EntryPrimaryIconTooltipTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryPrimaryIconTooltipTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntryPrimaryIconTooltipTextPropertyInfo = IsEntry
+    type AttrGetType EntryPrimaryIconTooltipTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel EntryPrimaryIconTooltipTextPropertyInfo = "primary-icon-tooltip-text"
+    type AttrOrigin EntryPrimaryIconTooltipTextPropertyInfo = Entry
+    attrGet _ = getEntryPrimaryIconTooltipText
+    attrSet _ = setEntryPrimaryIconTooltipText
+    attrConstruct _ = constructEntryPrimaryIconTooltipText
+    attrClear _ = clearEntryPrimaryIconTooltipText
+#endif
+
+-- VVV Prop "progress-fraction"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@progress-fraction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #progressFraction
+@
+-}
+getEntryProgressFraction :: (MonadIO m, IsEntry o) => o -> m Double
+getEntryProgressFraction obj = liftIO $ B.Properties.getObjectPropertyDouble obj "progress-fraction"
+
+{- |
+Set the value of the “@progress-fraction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #progressFraction 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryProgressFraction :: (MonadIO m, IsEntry o) => o -> Double -> m ()
+setEntryProgressFraction obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "progress-fraction" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@progress-fraction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryProgressFraction :: (IsEntry o) => Double -> IO (GValueConstruct o)
+constructEntryProgressFraction val = B.Properties.constructObjectPropertyDouble "progress-fraction" val
+
+#if ENABLE_OVERLOADING
+data EntryProgressFractionPropertyInfo
+instance AttrInfo EntryProgressFractionPropertyInfo where
+    type AttrAllowedOps EntryProgressFractionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryProgressFractionPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint EntryProgressFractionPropertyInfo = IsEntry
+    type AttrGetType EntryProgressFractionPropertyInfo = Double
+    type AttrLabel EntryProgressFractionPropertyInfo = "progress-fraction"
+    type AttrOrigin EntryProgressFractionPropertyInfo = Entry
+    attrGet _ = getEntryProgressFraction
+    attrSet _ = setEntryProgressFraction
+    attrConstruct _ = constructEntryProgressFraction
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "progress-pulse-step"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@progress-pulse-step@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #progressPulseStep
+@
+-}
+getEntryProgressPulseStep :: (MonadIO m, IsEntry o) => o -> m Double
+getEntryProgressPulseStep obj = liftIO $ B.Properties.getObjectPropertyDouble obj "progress-pulse-step"
+
+{- |
+Set the value of the “@progress-pulse-step@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #progressPulseStep 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryProgressPulseStep :: (MonadIO m, IsEntry o) => o -> Double -> m ()
+setEntryProgressPulseStep obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "progress-pulse-step" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@progress-pulse-step@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryProgressPulseStep :: (IsEntry o) => Double -> IO (GValueConstruct o)
+constructEntryProgressPulseStep val = B.Properties.constructObjectPropertyDouble "progress-pulse-step" val
+
+#if ENABLE_OVERLOADING
+data EntryProgressPulseStepPropertyInfo
+instance AttrInfo EntryProgressPulseStepPropertyInfo where
+    type AttrAllowedOps EntryProgressPulseStepPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryProgressPulseStepPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint EntryProgressPulseStepPropertyInfo = IsEntry
+    type AttrGetType EntryProgressPulseStepPropertyInfo = Double
+    type AttrLabel EntryProgressPulseStepPropertyInfo = "progress-pulse-step"
+    type AttrOrigin EntryProgressPulseStepPropertyInfo = Entry
+    attrGet _ = getEntryProgressPulseStep
+    attrSet _ = setEntryProgressPulseStep
+    attrConstruct _ = constructEntryProgressPulseStep
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "scroll-offset"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@scroll-offset@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #scrollOffset
+@
+-}
+getEntryScrollOffset :: (MonadIO m, IsEntry o) => o -> m Int32
+getEntryScrollOffset obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "scroll-offset"
+
+#if ENABLE_OVERLOADING
+data EntryScrollOffsetPropertyInfo
+instance AttrInfo EntryScrollOffsetPropertyInfo where
+    type AttrAllowedOps EntryScrollOffsetPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint EntryScrollOffsetPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint EntryScrollOffsetPropertyInfo = IsEntry
+    type AttrGetType EntryScrollOffsetPropertyInfo = Int32
+    type AttrLabel EntryScrollOffsetPropertyInfo = "scroll-offset"
+    type AttrOrigin EntryScrollOffsetPropertyInfo = Entry
+    attrGet _ = getEntryScrollOffset
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "secondary-icon-activatable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-icon-activatable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #secondaryIconActivatable
+@
+-}
+getEntrySecondaryIconActivatable :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntrySecondaryIconActivatable obj = liftIO $ B.Properties.getObjectPropertyBool obj "secondary-icon-activatable"
+
+{- |
+Set the value of the “@secondary-icon-activatable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #secondaryIconActivatable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntrySecondaryIconActivatable :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntrySecondaryIconActivatable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "secondary-icon-activatable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-icon-activatable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntrySecondaryIconActivatable :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntrySecondaryIconActivatable val = B.Properties.constructObjectPropertyBool "secondary-icon-activatable" val
+
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconActivatablePropertyInfo
+instance AttrInfo EntrySecondaryIconActivatablePropertyInfo where
+    type AttrAllowedOps EntrySecondaryIconActivatablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntrySecondaryIconActivatablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntrySecondaryIconActivatablePropertyInfo = IsEntry
+    type AttrGetType EntrySecondaryIconActivatablePropertyInfo = Bool
+    type AttrLabel EntrySecondaryIconActivatablePropertyInfo = "secondary-icon-activatable"
+    type AttrOrigin EntrySecondaryIconActivatablePropertyInfo = Entry
+    attrGet _ = getEntrySecondaryIconActivatable
+    attrSet _ = setEntrySecondaryIconActivatable
+    attrConstruct _ = constructEntrySecondaryIconActivatable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "secondary-icon-gicon"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-icon-gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #secondaryIconGicon
+@
+-}
+getEntrySecondaryIconGicon :: (MonadIO m, IsEntry o) => o -> m (Maybe Gio.Icon.Icon)
+getEntrySecondaryIconGicon obj = liftIO $ B.Properties.getObjectPropertyObject obj "secondary-icon-gicon" Gio.Icon.Icon
+
+{- |
+Set the value of the “@secondary-icon-gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #secondaryIconGicon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntrySecondaryIconGicon :: (MonadIO m, IsEntry o, Gio.Icon.IsIcon a) => o -> a -> m ()
+setEntrySecondaryIconGicon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "secondary-icon-gicon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-icon-gicon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntrySecondaryIconGicon :: (IsEntry o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
+constructEntrySecondaryIconGicon val = B.Properties.constructObjectPropertyObject "secondary-icon-gicon" (Just val)
+
+{- |
+Set the value of the “@secondary-icon-gicon@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #secondaryIconGicon
+@
+-}
+clearEntrySecondaryIconGicon :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntrySecondaryIconGicon obj = liftIO $ B.Properties.setObjectPropertyObject obj "secondary-icon-gicon" (Nothing :: Maybe Gio.Icon.Icon)
+
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconGiconPropertyInfo
+instance AttrInfo EntrySecondaryIconGiconPropertyInfo where
+    type AttrAllowedOps EntrySecondaryIconGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntrySecondaryIconGiconPropertyInfo = Gio.Icon.IsIcon
+    type AttrBaseTypeConstraint EntrySecondaryIconGiconPropertyInfo = IsEntry
+    type AttrGetType EntrySecondaryIconGiconPropertyInfo = (Maybe Gio.Icon.Icon)
+    type AttrLabel EntrySecondaryIconGiconPropertyInfo = "secondary-icon-gicon"
+    type AttrOrigin EntrySecondaryIconGiconPropertyInfo = Entry
+    attrGet _ = getEntrySecondaryIconGicon
+    attrSet _ = setEntrySecondaryIconGicon
+    attrConstruct _ = constructEntrySecondaryIconGicon
+    attrClear _ = clearEntrySecondaryIconGicon
+#endif
+
+-- VVV Prop "secondary-icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #secondaryIconName
+@
+-}
+getEntrySecondaryIconName :: (MonadIO m, IsEntry o) => o -> m (Maybe T.Text)
+getEntrySecondaryIconName obj = liftIO $ B.Properties.getObjectPropertyString obj "secondary-icon-name"
+
+{- |
+Set the value of the “@secondary-icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #secondaryIconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntrySecondaryIconName :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntrySecondaryIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "secondary-icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntrySecondaryIconName :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntrySecondaryIconName val = B.Properties.constructObjectPropertyString "secondary-icon-name" (Just val)
+
+{- |
+Set the value of the “@secondary-icon-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #secondaryIconName
+@
+-}
+clearEntrySecondaryIconName :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntrySecondaryIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "secondary-icon-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconNamePropertyInfo
+instance AttrInfo EntrySecondaryIconNamePropertyInfo where
+    type AttrAllowedOps EntrySecondaryIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntrySecondaryIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntrySecondaryIconNamePropertyInfo = IsEntry
+    type AttrGetType EntrySecondaryIconNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel EntrySecondaryIconNamePropertyInfo = "secondary-icon-name"
+    type AttrOrigin EntrySecondaryIconNamePropertyInfo = Entry
+    attrGet _ = getEntrySecondaryIconName
+    attrSet _ = setEntrySecondaryIconName
+    attrConstruct _ = constructEntrySecondaryIconName
+    attrClear _ = clearEntrySecondaryIconName
+#endif
+
+-- VVV Prop "secondary-icon-pixbuf"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-icon-pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #secondaryIconPixbuf
+@
+-}
+getEntrySecondaryIconPixbuf :: (MonadIO m, IsEntry o) => o -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+getEntrySecondaryIconPixbuf obj = liftIO $ B.Properties.getObjectPropertyObject obj "secondary-icon-pixbuf" GdkPixbuf.Pixbuf.Pixbuf
+
+{- |
+Set the value of the “@secondary-icon-pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #secondaryIconPixbuf 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntrySecondaryIconPixbuf :: (MonadIO m, IsEntry o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
+setEntrySecondaryIconPixbuf obj val = liftIO $ B.Properties.setObjectPropertyObject obj "secondary-icon-pixbuf" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-icon-pixbuf@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntrySecondaryIconPixbuf :: (IsEntry o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
+constructEntrySecondaryIconPixbuf val = B.Properties.constructObjectPropertyObject "secondary-icon-pixbuf" (Just val)
+
+{- |
+Set the value of the “@secondary-icon-pixbuf@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #secondaryIconPixbuf
+@
+-}
+clearEntrySecondaryIconPixbuf :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntrySecondaryIconPixbuf obj = liftIO $ B.Properties.setObjectPropertyObject obj "secondary-icon-pixbuf" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)
+
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconPixbufPropertyInfo
+instance AttrInfo EntrySecondaryIconPixbufPropertyInfo where
+    type AttrAllowedOps EntrySecondaryIconPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntrySecondaryIconPixbufPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
+    type AttrBaseTypeConstraint EntrySecondaryIconPixbufPropertyInfo = IsEntry
+    type AttrGetType EntrySecondaryIconPixbufPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    type AttrLabel EntrySecondaryIconPixbufPropertyInfo = "secondary-icon-pixbuf"
+    type AttrOrigin EntrySecondaryIconPixbufPropertyInfo = Entry
+    attrGet _ = getEntrySecondaryIconPixbuf
+    attrSet _ = setEntrySecondaryIconPixbuf
+    attrConstruct _ = constructEntrySecondaryIconPixbuf
+    attrClear _ = clearEntrySecondaryIconPixbuf
+#endif
+
+-- VVV Prop "secondary-icon-sensitive"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-icon-sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #secondaryIconSensitive
+@
+-}
+getEntrySecondaryIconSensitive :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntrySecondaryIconSensitive obj = liftIO $ B.Properties.getObjectPropertyBool obj "secondary-icon-sensitive"
+
+{- |
+Set the value of the “@secondary-icon-sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #secondaryIconSensitive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntrySecondaryIconSensitive :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntrySecondaryIconSensitive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "secondary-icon-sensitive" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-icon-sensitive@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntrySecondaryIconSensitive :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntrySecondaryIconSensitive val = B.Properties.constructObjectPropertyBool "secondary-icon-sensitive" val
+
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconSensitivePropertyInfo
+instance AttrInfo EntrySecondaryIconSensitivePropertyInfo where
+    type AttrAllowedOps EntrySecondaryIconSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntrySecondaryIconSensitivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntrySecondaryIconSensitivePropertyInfo = IsEntry
+    type AttrGetType EntrySecondaryIconSensitivePropertyInfo = Bool
+    type AttrLabel EntrySecondaryIconSensitivePropertyInfo = "secondary-icon-sensitive"
+    type AttrOrigin EntrySecondaryIconSensitivePropertyInfo = Entry
+    attrGet _ = getEntrySecondaryIconSensitive
+    attrSet _ = setEntrySecondaryIconSensitive
+    attrConstruct _ = constructEntrySecondaryIconSensitive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "secondary-icon-stock"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-icon-stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #secondaryIconStock
+@
+-}
+getEntrySecondaryIconStock :: (MonadIO m, IsEntry o) => o -> m (Maybe T.Text)
+getEntrySecondaryIconStock obj = liftIO $ B.Properties.getObjectPropertyString obj "secondary-icon-stock"
+
+{- |
+Set the value of the “@secondary-icon-stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #secondaryIconStock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntrySecondaryIconStock :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntrySecondaryIconStock obj val = liftIO $ B.Properties.setObjectPropertyString obj "secondary-icon-stock" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-icon-stock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntrySecondaryIconStock :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntrySecondaryIconStock val = B.Properties.constructObjectPropertyString "secondary-icon-stock" (Just val)
+
+{- |
+Set the value of the “@secondary-icon-stock@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #secondaryIconStock
+@
+-}
+clearEntrySecondaryIconStock :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntrySecondaryIconStock obj = liftIO $ B.Properties.setObjectPropertyString obj "secondary-icon-stock" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconStockPropertyInfo
+instance AttrInfo EntrySecondaryIconStockPropertyInfo where
+    type AttrAllowedOps EntrySecondaryIconStockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntrySecondaryIconStockPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntrySecondaryIconStockPropertyInfo = IsEntry
+    type AttrGetType EntrySecondaryIconStockPropertyInfo = (Maybe T.Text)
+    type AttrLabel EntrySecondaryIconStockPropertyInfo = "secondary-icon-stock"
+    type AttrOrigin EntrySecondaryIconStockPropertyInfo = Entry
+    attrGet _ = getEntrySecondaryIconStock
+    attrSet _ = setEntrySecondaryIconStock
+    attrConstruct _ = constructEntrySecondaryIconStock
+    attrClear _ = clearEntrySecondaryIconStock
+#endif
+
+-- VVV Prop "secondary-icon-storage-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ImageType"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-icon-storage-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #secondaryIconStorageType
+@
+-}
+getEntrySecondaryIconStorageType :: (MonadIO m, IsEntry o) => o -> m Gtk.Enums.ImageType
+getEntrySecondaryIconStorageType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "secondary-icon-storage-type"
+
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconStorageTypePropertyInfo
+instance AttrInfo EntrySecondaryIconStorageTypePropertyInfo where
+    type AttrAllowedOps EntrySecondaryIconStorageTypePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint EntrySecondaryIconStorageTypePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint EntrySecondaryIconStorageTypePropertyInfo = IsEntry
+    type AttrGetType EntrySecondaryIconStorageTypePropertyInfo = Gtk.Enums.ImageType
+    type AttrLabel EntrySecondaryIconStorageTypePropertyInfo = "secondary-icon-storage-type"
+    type AttrOrigin EntrySecondaryIconStorageTypePropertyInfo = Entry
+    attrGet _ = getEntrySecondaryIconStorageType
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "secondary-icon-tooltip-markup"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-icon-tooltip-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #secondaryIconTooltipMarkup
+@
+-}
+getEntrySecondaryIconTooltipMarkup :: (MonadIO m, IsEntry o) => o -> m (Maybe T.Text)
+getEntrySecondaryIconTooltipMarkup obj = liftIO $ B.Properties.getObjectPropertyString obj "secondary-icon-tooltip-markup"
+
+{- |
+Set the value of the “@secondary-icon-tooltip-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #secondaryIconTooltipMarkup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntrySecondaryIconTooltipMarkup :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntrySecondaryIconTooltipMarkup obj val = liftIO $ B.Properties.setObjectPropertyString obj "secondary-icon-tooltip-markup" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-icon-tooltip-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntrySecondaryIconTooltipMarkup :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntrySecondaryIconTooltipMarkup val = B.Properties.constructObjectPropertyString "secondary-icon-tooltip-markup" (Just val)
+
+{- |
+Set the value of the “@secondary-icon-tooltip-markup@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #secondaryIconTooltipMarkup
+@
+-}
+clearEntrySecondaryIconTooltipMarkup :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntrySecondaryIconTooltipMarkup obj = liftIO $ B.Properties.setObjectPropertyString obj "secondary-icon-tooltip-markup" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconTooltipMarkupPropertyInfo
+instance AttrInfo EntrySecondaryIconTooltipMarkupPropertyInfo where
+    type AttrAllowedOps EntrySecondaryIconTooltipMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntrySecondaryIconTooltipMarkupPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntrySecondaryIconTooltipMarkupPropertyInfo = IsEntry
+    type AttrGetType EntrySecondaryIconTooltipMarkupPropertyInfo = (Maybe T.Text)
+    type AttrLabel EntrySecondaryIconTooltipMarkupPropertyInfo = "secondary-icon-tooltip-markup"
+    type AttrOrigin EntrySecondaryIconTooltipMarkupPropertyInfo = Entry
+    attrGet _ = getEntrySecondaryIconTooltipMarkup
+    attrSet _ = setEntrySecondaryIconTooltipMarkup
+    attrConstruct _ = constructEntrySecondaryIconTooltipMarkup
+    attrClear _ = clearEntrySecondaryIconTooltipMarkup
+#endif
+
+-- VVV Prop "secondary-icon-tooltip-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-icon-tooltip-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #secondaryIconTooltipText
+@
+-}
+getEntrySecondaryIconTooltipText :: (MonadIO m, IsEntry o) => o -> m (Maybe T.Text)
+getEntrySecondaryIconTooltipText obj = liftIO $ B.Properties.getObjectPropertyString obj "secondary-icon-tooltip-text"
+
+{- |
+Set the value of the “@secondary-icon-tooltip-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #secondaryIconTooltipText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntrySecondaryIconTooltipText :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntrySecondaryIconTooltipText obj val = liftIO $ B.Properties.setObjectPropertyString obj "secondary-icon-tooltip-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-icon-tooltip-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntrySecondaryIconTooltipText :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntrySecondaryIconTooltipText val = B.Properties.constructObjectPropertyString "secondary-icon-tooltip-text" (Just val)
+
+{- |
+Set the value of the “@secondary-icon-tooltip-text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #secondaryIconTooltipText
+@
+-}
+clearEntrySecondaryIconTooltipText :: (MonadIO m, IsEntry o) => o -> m ()
+clearEntrySecondaryIconTooltipText obj = liftIO $ B.Properties.setObjectPropertyString obj "secondary-icon-tooltip-text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconTooltipTextPropertyInfo
+instance AttrInfo EntrySecondaryIconTooltipTextPropertyInfo where
+    type AttrAllowedOps EntrySecondaryIconTooltipTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntrySecondaryIconTooltipTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntrySecondaryIconTooltipTextPropertyInfo = IsEntry
+    type AttrGetType EntrySecondaryIconTooltipTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel EntrySecondaryIconTooltipTextPropertyInfo = "secondary-icon-tooltip-text"
+    type AttrOrigin EntrySecondaryIconTooltipTextPropertyInfo = Entry
+    attrGet _ = getEntrySecondaryIconTooltipText
+    attrSet _ = setEntrySecondaryIconTooltipText
+    attrConstruct _ = constructEntrySecondaryIconTooltipText
+    attrClear _ = clearEntrySecondaryIconTooltipText
+#endif
+
+-- VVV Prop "selection-bound"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@selection-bound@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #selectionBound
+@
+-}
+getEntrySelectionBound :: (MonadIO m, IsEntry o) => o -> m Int32
+getEntrySelectionBound obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "selection-bound"
+
+#if ENABLE_OVERLOADING
+data EntrySelectionBoundPropertyInfo
+instance AttrInfo EntrySelectionBoundPropertyInfo where
+    type AttrAllowedOps EntrySelectionBoundPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint EntrySelectionBoundPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint EntrySelectionBoundPropertyInfo = IsEntry
+    type AttrGetType EntrySelectionBoundPropertyInfo = Int32
+    type AttrLabel EntrySelectionBoundPropertyInfo = "selection-bound"
+    type AttrOrigin EntrySelectionBoundPropertyInfo = Entry
+    attrGet _ = getEntrySelectionBound
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "shadow-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #shadowType
+@
+-}
+getEntryShadowType :: (MonadIO m, IsEntry o) => o -> m Gtk.Enums.ShadowType
+getEntryShadowType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "shadow-type"
+
+{- |
+Set the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #shadowType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryShadowType :: (MonadIO m, IsEntry o) => o -> Gtk.Enums.ShadowType -> m ()
+setEntryShadowType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "shadow-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@shadow-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryShadowType :: (IsEntry o) => Gtk.Enums.ShadowType -> IO (GValueConstruct o)
+constructEntryShadowType val = B.Properties.constructObjectPropertyEnum "shadow-type" val
+
+#if ENABLE_OVERLOADING
+data EntryShadowTypePropertyInfo
+instance AttrInfo EntryShadowTypePropertyInfo where
+    type AttrAllowedOps EntryShadowTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryShadowTypePropertyInfo = (~) Gtk.Enums.ShadowType
+    type AttrBaseTypeConstraint EntryShadowTypePropertyInfo = IsEntry
+    type AttrGetType EntryShadowTypePropertyInfo = Gtk.Enums.ShadowType
+    type AttrLabel EntryShadowTypePropertyInfo = "shadow-type"
+    type AttrOrigin EntryShadowTypePropertyInfo = Entry
+    attrGet _ = getEntryShadowType
+    attrSet _ = setEntryShadowType
+    attrConstruct _ = constructEntryShadowType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-emoji-icon"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@show-emoji-icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #showEmojiIcon
+@
+-}
+getEntryShowEmojiIcon :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryShowEmojiIcon obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-emoji-icon"
+
+{- |
+Set the value of the “@show-emoji-icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #showEmojiIcon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryShowEmojiIcon :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryShowEmojiIcon obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-emoji-icon" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-emoji-icon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryShowEmojiIcon :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryShowEmojiIcon val = B.Properties.constructObjectPropertyBool "show-emoji-icon" val
+
+#if ENABLE_OVERLOADING
+data EntryShowEmojiIconPropertyInfo
+instance AttrInfo EntryShowEmojiIconPropertyInfo where
+    type AttrAllowedOps EntryShowEmojiIconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryShowEmojiIconPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryShowEmojiIconPropertyInfo = IsEntry
+    type AttrGetType EntryShowEmojiIconPropertyInfo = Bool
+    type AttrLabel EntryShowEmojiIconPropertyInfo = "show-emoji-icon"
+    type AttrOrigin EntryShowEmojiIconPropertyInfo = Entry
+    attrGet _ = getEntryShowEmojiIcon
+    attrSet _ = setEntryShowEmojiIcon
+    attrConstruct _ = constructEntryShowEmojiIcon
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tabs"
+   -- Type: TInterface (Name {namespace = "Pango", name = "TabArray"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@tabs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #tabs
+@
+-}
+getEntryTabs :: (MonadIO m, IsEntry o) => o -> m (Maybe Pango.TabArray.TabArray)
+getEntryTabs obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "tabs" Pango.TabArray.TabArray
+
+{- |
+Set the value of the “@tabs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #tabs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryTabs :: (MonadIO m, IsEntry o) => o -> Pango.TabArray.TabArray -> m ()
+setEntryTabs obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "tabs" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tabs@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryTabs :: (IsEntry o) => Pango.TabArray.TabArray -> IO (GValueConstruct o)
+constructEntryTabs val = B.Properties.constructObjectPropertyBoxed "tabs" (Just val)
+
+#if ENABLE_OVERLOADING
+data EntryTabsPropertyInfo
+instance AttrInfo EntryTabsPropertyInfo where
+    type AttrAllowedOps EntryTabsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryTabsPropertyInfo = (~) Pango.TabArray.TabArray
+    type AttrBaseTypeConstraint EntryTabsPropertyInfo = IsEntry
+    type AttrGetType EntryTabsPropertyInfo = (Maybe Pango.TabArray.TabArray)
+    type AttrLabel EntryTabsPropertyInfo = "tabs"
+    type AttrOrigin EntryTabsPropertyInfo = Entry
+    attrGet _ = getEntryTabs
+    attrSet _ = setEntryTabs
+    attrConstruct _ = constructEntryTabs
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #text
+@
+-}
+getEntryText :: (MonadIO m, IsEntry o) => o -> m T.Text
+getEntryText obj = liftIO $ checkUnexpectedNothing "getEntryText" $ B.Properties.getObjectPropertyString obj "text"
+
+{- |
+Set the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #text 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryText :: (MonadIO m, IsEntry o) => o -> T.Text -> m ()
+setEntryText obj val = liftIO $ B.Properties.setObjectPropertyString obj "text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryText :: (IsEntry o) => T.Text -> IO (GValueConstruct o)
+constructEntryText val = B.Properties.constructObjectPropertyString "text" (Just val)
+
+#if ENABLE_OVERLOADING
+data EntryTextPropertyInfo
+instance AttrInfo EntryTextPropertyInfo where
+    type AttrAllowedOps EntryTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntryTextPropertyInfo = IsEntry
+    type AttrGetType EntryTextPropertyInfo = T.Text
+    type AttrLabel EntryTextPropertyInfo = "text"
+    type AttrOrigin EntryTextPropertyInfo = Entry
+    attrGet _ = getEntryText
+    attrSet _ = setEntryText
+    attrConstruct _ = constructEntryText
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text-length"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text-length@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #textLength
+@
+-}
+getEntryTextLength :: (MonadIO m, IsEntry o) => o -> m Word32
+getEntryTextLength obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "text-length"
+
+#if ENABLE_OVERLOADING
+data EntryTextLengthPropertyInfo
+instance AttrInfo EntryTextLengthPropertyInfo where
+    type AttrAllowedOps EntryTextLengthPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint EntryTextLengthPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint EntryTextLengthPropertyInfo = IsEntry
+    type AttrGetType EntryTextLengthPropertyInfo = Word32
+    type AttrLabel EntryTextLengthPropertyInfo = "text-length"
+    type AttrOrigin EntryTextLengthPropertyInfo = Entry
+    attrGet _ = getEntryTextLength
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "truncate-multiline"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@truncate-multiline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #truncateMultiline
+@
+-}
+getEntryTruncateMultiline :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryTruncateMultiline obj = liftIO $ B.Properties.getObjectPropertyBool obj "truncate-multiline"
+
+{- |
+Set the value of the “@truncate-multiline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #truncateMultiline 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryTruncateMultiline :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryTruncateMultiline obj val = liftIO $ B.Properties.setObjectPropertyBool obj "truncate-multiline" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@truncate-multiline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryTruncateMultiline :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryTruncateMultiline val = B.Properties.constructObjectPropertyBool "truncate-multiline" val
+
+#if ENABLE_OVERLOADING
+data EntryTruncateMultilinePropertyInfo
+instance AttrInfo EntryTruncateMultilinePropertyInfo where
+    type AttrAllowedOps EntryTruncateMultilinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryTruncateMultilinePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryTruncateMultilinePropertyInfo = IsEntry
+    type AttrGetType EntryTruncateMultilinePropertyInfo = Bool
+    type AttrLabel EntryTruncateMultilinePropertyInfo = "truncate-multiline"
+    type AttrOrigin EntryTruncateMultilinePropertyInfo = Entry
+    attrGet _ = getEntryTruncateMultiline
+    attrSet _ = setEntryTruncateMultiline
+    attrConstruct _ = constructEntryTruncateMultiline
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visibility"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visibility@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #visibility
+@
+-}
+getEntryVisibility :: (MonadIO m, IsEntry o) => o -> m Bool
+getEntryVisibility obj = liftIO $ B.Properties.getObjectPropertyBool obj "visibility"
+
+{- |
+Set the value of the “@visibility@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #visibility 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryVisibility :: (MonadIO m, IsEntry o) => o -> Bool -> m ()
+setEntryVisibility obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visibility" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visibility@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryVisibility :: (IsEntry o) => Bool -> IO (GValueConstruct o)
+constructEntryVisibility val = B.Properties.constructObjectPropertyBool "visibility" val
+
+#if ENABLE_OVERLOADING
+data EntryVisibilityPropertyInfo
+instance AttrInfo EntryVisibilityPropertyInfo where
+    type AttrAllowedOps EntryVisibilityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryVisibilityPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryVisibilityPropertyInfo = IsEntry
+    type AttrGetType EntryVisibilityPropertyInfo = Bool
+    type AttrLabel EntryVisibilityPropertyInfo = "visibility"
+    type AttrOrigin EntryVisibilityPropertyInfo = Entry
+    attrGet _ = getEntryVisibility
+    attrSet _ = setEntryVisibility
+    attrConstruct _ = constructEntryVisibility
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "width-chars"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #widthChars
+@
+-}
+getEntryWidthChars :: (MonadIO m, IsEntry o) => o -> m Int32
+getEntryWidthChars obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "width-chars"
+
+{- |
+Set the value of the “@width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #widthChars 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryWidthChars :: (MonadIO m, IsEntry o) => o -> Int32 -> m ()
+setEntryWidthChars obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "width-chars" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@width-chars@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryWidthChars :: (IsEntry o) => Int32 -> IO (GValueConstruct o)
+constructEntryWidthChars val = B.Properties.constructObjectPropertyInt32 "width-chars" val
+
+#if ENABLE_OVERLOADING
+data EntryWidthCharsPropertyInfo
+instance AttrInfo EntryWidthCharsPropertyInfo where
+    type AttrAllowedOps EntryWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryWidthCharsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint EntryWidthCharsPropertyInfo = IsEntry
+    type AttrGetType EntryWidthCharsPropertyInfo = Int32
+    type AttrLabel EntryWidthCharsPropertyInfo = "width-chars"
+    type AttrOrigin EntryWidthCharsPropertyInfo = Entry
+    attrGet _ = getEntryWidthChars
+    attrSet _ = setEntryWidthChars
+    attrConstruct _ = constructEntryWidthChars
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entry #xalign
+@
+-}
+getEntryXalign :: (MonadIO m, IsEntry o) => o -> m Float
+getEntryXalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "xalign"
+
+{- |
+Set the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entry [ #xalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryXalign :: (MonadIO m, IsEntry o) => o -> Float -> m ()
+setEntryXalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "xalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryXalign :: (IsEntry o) => Float -> IO (GValueConstruct o)
+constructEntryXalign val = B.Properties.constructObjectPropertyFloat "xalign" val
+
+#if ENABLE_OVERLOADING
+data EntryXalignPropertyInfo
+instance AttrInfo EntryXalignPropertyInfo where
+    type AttrAllowedOps EntryXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint EntryXalignPropertyInfo = IsEntry
+    type AttrGetType EntryXalignPropertyInfo = Float
+    type AttrLabel EntryXalignPropertyInfo = "xalign"
+    type AttrOrigin EntryXalignPropertyInfo = Entry
+    attrGet _ = getEntryXalign
+    attrSet _ = setEntryXalign
+    attrConstruct _ = constructEntryXalign
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Entry
+type instance O.AttributeList Entry = EntryAttributeList
+type EntryAttributeList = ('[ '("activatesDefault", EntryActivatesDefaultPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("attributes", EntryAttributesPropertyInfo), '("buffer", EntryBufferPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("capsLockWarning", EntryCapsLockWarningPropertyInfo), '("completion", EntryCompletionPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("cursorPosition", EntryCursorPositionPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("editable", EntryEditablePropertyInfo), '("editingCanceled", Gtk.CellEditable.CellEditableEditingCanceledPropertyInfo), '("enableEmojiCompletion", EntryEnableEmojiCompletionPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasFrame", EntryHasFramePropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("imModule", EntryImModulePropertyInfo), '("innerBorder", EntryInnerBorderPropertyInfo), '("inputHints", EntryInputHintsPropertyInfo), '("inputPurpose", EntryInputPurposePropertyInfo), '("invisibleChar", EntryInvisibleCharPropertyInfo), '("invisibleCharSet", EntryInvisibleCharSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxLength", EntryMaxLengthPropertyInfo), '("maxWidthChars", EntryMaxWidthCharsPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overwriteMode", EntryOverwriteModePropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("placeholderText", EntryPlaceholderTextPropertyInfo), '("populateAll", EntryPopulateAllPropertyInfo), '("primaryIconActivatable", EntryPrimaryIconActivatablePropertyInfo), '("primaryIconGicon", EntryPrimaryIconGiconPropertyInfo), '("primaryIconName", EntryPrimaryIconNamePropertyInfo), '("primaryIconPixbuf", EntryPrimaryIconPixbufPropertyInfo), '("primaryIconSensitive", EntryPrimaryIconSensitivePropertyInfo), '("primaryIconStock", EntryPrimaryIconStockPropertyInfo), '("primaryIconStorageType", EntryPrimaryIconStorageTypePropertyInfo), '("primaryIconTooltipMarkup", EntryPrimaryIconTooltipMarkupPropertyInfo), '("primaryIconTooltipText", EntryPrimaryIconTooltipTextPropertyInfo), '("progressFraction", EntryProgressFractionPropertyInfo), '("progressPulseStep", EntryProgressPulseStepPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("scrollOffset", EntryScrollOffsetPropertyInfo), '("secondaryIconActivatable", EntrySecondaryIconActivatablePropertyInfo), '("secondaryIconGicon", EntrySecondaryIconGiconPropertyInfo), '("secondaryIconName", EntrySecondaryIconNamePropertyInfo), '("secondaryIconPixbuf", EntrySecondaryIconPixbufPropertyInfo), '("secondaryIconSensitive", EntrySecondaryIconSensitivePropertyInfo), '("secondaryIconStock", EntrySecondaryIconStockPropertyInfo), '("secondaryIconStorageType", EntrySecondaryIconStorageTypePropertyInfo), '("secondaryIconTooltipMarkup", EntrySecondaryIconTooltipMarkupPropertyInfo), '("secondaryIconTooltipText", EntrySecondaryIconTooltipTextPropertyInfo), '("selectionBound", EntrySelectionBoundPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", EntryShadowTypePropertyInfo), '("showEmojiIcon", EntryShowEmojiIconPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tabs", EntryTabsPropertyInfo), '("text", EntryTextPropertyInfo), '("textLength", EntryTextLengthPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("truncateMultiline", EntryTruncateMultilinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visibility", EntryVisibilityPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthChars", EntryWidthCharsPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", EntryXalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+entryActivatesDefault :: AttrLabelProxy "activatesDefault"
+entryActivatesDefault = AttrLabelProxy
+
+entryAttributes :: AttrLabelProxy "attributes"
+entryAttributes = AttrLabelProxy
+
+entryBuffer :: AttrLabelProxy "buffer"
+entryBuffer = AttrLabelProxy
+
+entryCapsLockWarning :: AttrLabelProxy "capsLockWarning"
+entryCapsLockWarning = AttrLabelProxy
+
+entryCompletion :: AttrLabelProxy "completion"
+entryCompletion = AttrLabelProxy
+
+entryCursorPosition :: AttrLabelProxy "cursorPosition"
+entryCursorPosition = AttrLabelProxy
+
+entryEditable :: AttrLabelProxy "editable"
+entryEditable = AttrLabelProxy
+
+entryEnableEmojiCompletion :: AttrLabelProxy "enableEmojiCompletion"
+entryEnableEmojiCompletion = AttrLabelProxy
+
+entryHasFrame :: AttrLabelProxy "hasFrame"
+entryHasFrame = AttrLabelProxy
+
+entryImModule :: AttrLabelProxy "imModule"
+entryImModule = AttrLabelProxy
+
+entryInnerBorder :: AttrLabelProxy "innerBorder"
+entryInnerBorder = AttrLabelProxy
+
+entryInputHints :: AttrLabelProxy "inputHints"
+entryInputHints = AttrLabelProxy
+
+entryInputPurpose :: AttrLabelProxy "inputPurpose"
+entryInputPurpose = AttrLabelProxy
+
+entryInvisibleChar :: AttrLabelProxy "invisibleChar"
+entryInvisibleChar = AttrLabelProxy
+
+entryInvisibleCharSet :: AttrLabelProxy "invisibleCharSet"
+entryInvisibleCharSet = AttrLabelProxy
+
+entryMaxLength :: AttrLabelProxy "maxLength"
+entryMaxLength = AttrLabelProxy
+
+entryMaxWidthChars :: AttrLabelProxy "maxWidthChars"
+entryMaxWidthChars = AttrLabelProxy
+
+entryOverwriteMode :: AttrLabelProxy "overwriteMode"
+entryOverwriteMode = AttrLabelProxy
+
+entryPlaceholderText :: AttrLabelProxy "placeholderText"
+entryPlaceholderText = AttrLabelProxy
+
+entryPopulateAll :: AttrLabelProxy "populateAll"
+entryPopulateAll = AttrLabelProxy
+
+entryPrimaryIconActivatable :: AttrLabelProxy "primaryIconActivatable"
+entryPrimaryIconActivatable = AttrLabelProxy
+
+entryPrimaryIconGicon :: AttrLabelProxy "primaryIconGicon"
+entryPrimaryIconGicon = AttrLabelProxy
+
+entryPrimaryIconName :: AttrLabelProxy "primaryIconName"
+entryPrimaryIconName = AttrLabelProxy
+
+entryPrimaryIconPixbuf :: AttrLabelProxy "primaryIconPixbuf"
+entryPrimaryIconPixbuf = AttrLabelProxy
+
+entryPrimaryIconSensitive :: AttrLabelProxy "primaryIconSensitive"
+entryPrimaryIconSensitive = AttrLabelProxy
+
+entryPrimaryIconStock :: AttrLabelProxy "primaryIconStock"
+entryPrimaryIconStock = AttrLabelProxy
+
+entryPrimaryIconStorageType :: AttrLabelProxy "primaryIconStorageType"
+entryPrimaryIconStorageType = AttrLabelProxy
+
+entryPrimaryIconTooltipMarkup :: AttrLabelProxy "primaryIconTooltipMarkup"
+entryPrimaryIconTooltipMarkup = AttrLabelProxy
+
+entryPrimaryIconTooltipText :: AttrLabelProxy "primaryIconTooltipText"
+entryPrimaryIconTooltipText = AttrLabelProxy
+
+entryProgressFraction :: AttrLabelProxy "progressFraction"
+entryProgressFraction = AttrLabelProxy
+
+entryProgressPulseStep :: AttrLabelProxy "progressPulseStep"
+entryProgressPulseStep = AttrLabelProxy
+
+entryScrollOffset :: AttrLabelProxy "scrollOffset"
+entryScrollOffset = AttrLabelProxy
+
+entrySecondaryIconActivatable :: AttrLabelProxy "secondaryIconActivatable"
+entrySecondaryIconActivatable = AttrLabelProxy
+
+entrySecondaryIconGicon :: AttrLabelProxy "secondaryIconGicon"
+entrySecondaryIconGicon = AttrLabelProxy
+
+entrySecondaryIconName :: AttrLabelProxy "secondaryIconName"
+entrySecondaryIconName = AttrLabelProxy
+
+entrySecondaryIconPixbuf :: AttrLabelProxy "secondaryIconPixbuf"
+entrySecondaryIconPixbuf = AttrLabelProxy
+
+entrySecondaryIconSensitive :: AttrLabelProxy "secondaryIconSensitive"
+entrySecondaryIconSensitive = AttrLabelProxy
+
+entrySecondaryIconStock :: AttrLabelProxy "secondaryIconStock"
+entrySecondaryIconStock = AttrLabelProxy
+
+entrySecondaryIconStorageType :: AttrLabelProxy "secondaryIconStorageType"
+entrySecondaryIconStorageType = AttrLabelProxy
+
+entrySecondaryIconTooltipMarkup :: AttrLabelProxy "secondaryIconTooltipMarkup"
+entrySecondaryIconTooltipMarkup = AttrLabelProxy
+
+entrySecondaryIconTooltipText :: AttrLabelProxy "secondaryIconTooltipText"
+entrySecondaryIconTooltipText = AttrLabelProxy
+
+entrySelectionBound :: AttrLabelProxy "selectionBound"
+entrySelectionBound = AttrLabelProxy
+
+entryShadowType :: AttrLabelProxy "shadowType"
+entryShadowType = AttrLabelProxy
+
+entryShowEmojiIcon :: AttrLabelProxy "showEmojiIcon"
+entryShowEmojiIcon = AttrLabelProxy
+
+entryTabs :: AttrLabelProxy "tabs"
+entryTabs = AttrLabelProxy
+
+entryText :: AttrLabelProxy "text"
+entryText = AttrLabelProxy
+
+entryTextLength :: AttrLabelProxy "textLength"
+entryTextLength = AttrLabelProxy
+
+entryTruncateMultiline :: AttrLabelProxy "truncateMultiline"
+entryTruncateMultiline = AttrLabelProxy
+
+entryVisibility :: AttrLabelProxy "visibility"
+entryVisibility = AttrLabelProxy
+
+entryWidthChars :: AttrLabelProxy "widthChars"
+entryWidthChars = AttrLabelProxy
+
+entryXalign :: AttrLabelProxy "xalign"
+entryXalign = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data EntryActivateSignalInfo
+instance SignalInfo EntryActivateSignalInfo where
+    type HaskellCallbackType EntryActivateSignalInfo = EntryActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryActivateCallback cb
+        cb'' <- mk_EntryActivateCallback cb'
+        connectSignalFunPtr obj "activate" cb'' connectMode
+
+data EntryBackspaceSignalInfo
+instance SignalInfo EntryBackspaceSignalInfo where
+    type HaskellCallbackType EntryBackspaceSignalInfo = EntryBackspaceCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryBackspaceCallback cb
+        cb'' <- mk_EntryBackspaceCallback cb'
+        connectSignalFunPtr obj "backspace" cb'' connectMode
+
+data EntryCopyClipboardSignalInfo
+instance SignalInfo EntryCopyClipboardSignalInfo where
+    type HaskellCallbackType EntryCopyClipboardSignalInfo = EntryCopyClipboardCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryCopyClipboardCallback cb
+        cb'' <- mk_EntryCopyClipboardCallback cb'
+        connectSignalFunPtr obj "copy-clipboard" cb'' connectMode
+
+data EntryCutClipboardSignalInfo
+instance SignalInfo EntryCutClipboardSignalInfo where
+    type HaskellCallbackType EntryCutClipboardSignalInfo = EntryCutClipboardCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryCutClipboardCallback cb
+        cb'' <- mk_EntryCutClipboardCallback cb'
+        connectSignalFunPtr obj "cut-clipboard" cb'' connectMode
+
+data EntryDeleteFromCursorSignalInfo
+instance SignalInfo EntryDeleteFromCursorSignalInfo where
+    type HaskellCallbackType EntryDeleteFromCursorSignalInfo = EntryDeleteFromCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryDeleteFromCursorCallback cb
+        cb'' <- mk_EntryDeleteFromCursorCallback cb'
+        connectSignalFunPtr obj "delete-from-cursor" cb'' connectMode
+
+data EntryIconPressSignalInfo
+instance SignalInfo EntryIconPressSignalInfo where
+    type HaskellCallbackType EntryIconPressSignalInfo = EntryIconPressCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryIconPressCallback cb
+        cb'' <- mk_EntryIconPressCallback cb'
+        connectSignalFunPtr obj "icon-press" cb'' connectMode
+
+data EntryIconReleaseSignalInfo
+instance SignalInfo EntryIconReleaseSignalInfo where
+    type HaskellCallbackType EntryIconReleaseSignalInfo = EntryIconReleaseCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryIconReleaseCallback cb
+        cb'' <- mk_EntryIconReleaseCallback cb'
+        connectSignalFunPtr obj "icon-release" cb'' connectMode
+
+data EntryInsertAtCursorSignalInfo
+instance SignalInfo EntryInsertAtCursorSignalInfo where
+    type HaskellCallbackType EntryInsertAtCursorSignalInfo = EntryInsertAtCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryInsertAtCursorCallback cb
+        cb'' <- mk_EntryInsertAtCursorCallback cb'
+        connectSignalFunPtr obj "insert-at-cursor" cb'' connectMode
+
+data EntryInsertEmojiSignalInfo
+instance SignalInfo EntryInsertEmojiSignalInfo where
+    type HaskellCallbackType EntryInsertEmojiSignalInfo = EntryInsertEmojiCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryInsertEmojiCallback cb
+        cb'' <- mk_EntryInsertEmojiCallback cb'
+        connectSignalFunPtr obj "insert-emoji" cb'' connectMode
+
+data EntryMoveCursorSignalInfo
+instance SignalInfo EntryMoveCursorSignalInfo where
+    type HaskellCallbackType EntryMoveCursorSignalInfo = EntryMoveCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryMoveCursorCallback cb
+        cb'' <- mk_EntryMoveCursorCallback cb'
+        connectSignalFunPtr obj "move-cursor" cb'' connectMode
+
+data EntryPasteClipboardSignalInfo
+instance SignalInfo EntryPasteClipboardSignalInfo where
+    type HaskellCallbackType EntryPasteClipboardSignalInfo = EntryPasteClipboardCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryPasteClipboardCallback cb
+        cb'' <- mk_EntryPasteClipboardCallback cb'
+        connectSignalFunPtr obj "paste-clipboard" cb'' connectMode
+
+data EntryPopulatePopupSignalInfo
+instance SignalInfo EntryPopulatePopupSignalInfo where
+    type HaskellCallbackType EntryPopulatePopupSignalInfo = EntryPopulatePopupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryPopulatePopupCallback cb
+        cb'' <- mk_EntryPopulatePopupCallback cb'
+        connectSignalFunPtr obj "populate-popup" cb'' connectMode
+
+data EntryPreeditChangedSignalInfo
+instance SignalInfo EntryPreeditChangedSignalInfo where
+    type HaskellCallbackType EntryPreeditChangedSignalInfo = EntryPreeditChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryPreeditChangedCallback cb
+        cb'' <- mk_EntryPreeditChangedCallback cb'
+        connectSignalFunPtr obj "preedit-changed" cb'' connectMode
+
+data EntryToggleOverwriteSignalInfo
+instance SignalInfo EntryToggleOverwriteSignalInfo where
+    type HaskellCallbackType EntryToggleOverwriteSignalInfo = EntryToggleOverwriteCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryToggleOverwriteCallback cb
+        cb'' <- mk_EntryToggleOverwriteCallback cb'
+        connectSignalFunPtr obj "toggle-overwrite" cb'' connectMode
+
+type instance O.SignalList Entry = EntrySignalList
+type EntrySignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", EntryActivateSignalInfo), '("backspace", EntryBackspaceSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changed", Gtk.Editable.EditableChangedSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("copyClipboard", EntryCopyClipboardSignalInfo), '("cutClipboard", EntryCutClipboardSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deleteFromCursor", EntryDeleteFromCursorSignalInfo), '("deleteText", Gtk.Editable.EditableDeleteTextSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("editingDone", Gtk.CellEditable.CellEditableEditingDoneSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("iconPress", EntryIconPressSignalInfo), '("iconRelease", EntryIconReleaseSignalInfo), '("insertAtCursor", EntryInsertAtCursorSignalInfo), '("insertEmoji", EntryInsertEmojiSignalInfo), '("insertText", Gtk.Editable.EditableInsertTextSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", EntryMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("pasteClipboard", EntryPasteClipboardSignalInfo), '("populatePopup", EntryPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("preeditChanged", EntryPreeditChangedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("removeWidget", Gtk.CellEditable.CellEditableRemoveWidgetSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleOverwrite", EntryToggleOverwriteSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Entry::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Entry"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_new" gtk_entry_new :: 
+    IO (Ptr Entry)
+
+{- |
+Creates a new entry.
+-}
+entryNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Entry
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Entry.Entry'. -}
+entryNew  = liftIO $ do
+    result <- gtk_entry_new
+    checkUnexpectedReturnNULL "entryNew" result
+    result' <- (newObject Entry) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Entry::new_with_buffer
+-- method type : Constructor
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The buffer to use for the new #GtkEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Entry"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_new_with_buffer" gtk_entry_new_with_buffer :: 
+    Ptr Gtk.EntryBuffer.EntryBuffer ->      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    IO (Ptr Entry)
+
+{- |
+Creates a new entry with the specified text buffer.
+
+/Since: 2.18/
+-}
+entryNewWithBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.EntryBuffer.IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: The buffer to use for the new 'GI.Gtk.Objects.Entry.Entry'. -}
+    -> m Entry
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Entry.Entry' -}
+entryNewWithBuffer buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_entry_new_with_buffer buffer'
+    checkUnexpectedReturnNULL "entryNewWithBuffer" result
+    result' <- (newObject Entry) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Entry::get_activates_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_activates_default" gtk_entry_get_activates_default :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CInt
+
+{- |
+Retrieves the value set by 'GI.Gtk.Objects.Entry.entrySetActivatesDefault'.
+-}
+entryGetActivatesDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the entry will activate the default widget -}
+entryGetActivatesDefault entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_activates_default entry'
+    let result' = (/= 0) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetActivatesDefaultMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetActivatesDefaultMethodInfo a signature where
+    overloadedMethod _ = entryGetActivatesDefault
+
+#endif
+
+-- method Entry::get_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFloat)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_alignment" gtk_entry_get_alignment :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CFloat
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Entry.entrySetAlignment'.
+
+/Since: 2.4/
+-}
+entryGetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Float
+    {- ^ __Returns:__ the alignment -}
+entryGetAlignment entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_alignment entry'
+    let result' = realToFrac result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetAlignmentMethodInfo
+instance (signature ~ (m Float), MonadIO m, IsEntry a) => O.MethodInfo EntryGetAlignmentMethodInfo a signature where
+    overloadedMethod _ = entryGetAlignment
+
+#endif
+
+-- method Entry::get_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "AttrList"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_attributes" gtk_entry_get_attributes :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO (Ptr Pango.AttrList.AttrList)
+
+{- |
+Gets the attribute list that was set on the entry using
+'GI.Gtk.Objects.Entry.entrySetAttributes', if any.
+
+/Since: 3.6/
+-}
+entryGetAttributes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m (Maybe Pango.AttrList.AttrList)
+    {- ^ __Returns:__ the attribute list, or 'Nothing'
+    if none was set. -}
+entryGetAttributes entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_attributes entry'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Pango.AttrList.AttrList) result'
+        return result''
+    touchManagedPtr entry
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryGetAttributesMethodInfo
+instance (signature ~ (m (Maybe Pango.AttrList.AttrList)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetAttributesMethodInfo a signature where
+    overloadedMethod _ = entryGetAttributes
+
+#endif
+
+-- method Entry::get_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_buffer" gtk_entry_get_buffer :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO (Ptr Gtk.EntryBuffer.EntryBuffer)
+
+{- |
+Get the 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' object which holds the text for
+this widget.
+
+/Since: 2.18/
+-}
+entryGetBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Gtk.EntryBuffer.EntryBuffer
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' object. -}
+entryGetBuffer entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_buffer entry'
+    checkUnexpectedReturnNULL "entryGetBuffer" result
+    result' <- (newObject Gtk.EntryBuffer.EntryBuffer) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetBufferMethodInfo
+instance (signature ~ (m Gtk.EntryBuffer.EntryBuffer), MonadIO m, IsEntry a) => O.MethodInfo EntryGetBufferMethodInfo a signature where
+    overloadedMethod _ = entryGetBuffer
+
+#endif
+
+-- method Entry::get_completion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_completion" gtk_entry_get_completion :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO (Ptr Gtk.EntryCompletion.EntryCompletion)
+
+{- |
+Returns the auxiliary completion object currently in use by /@entry@/.
+
+/Since: 2.4/
+-}
+entryGetCompletion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Gtk.EntryCompletion.EntryCompletion
+    {- ^ __Returns:__ The auxiliary completion object currently
+    in use by /@entry@/. -}
+entryGetCompletion entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_completion entry'
+    checkUnexpectedReturnNULL "entryGetCompletion" result
+    result' <- (newObject Gtk.EntryCompletion.EntryCompletion) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetCompletionMethodInfo
+instance (signature ~ (m Gtk.EntryCompletion.EntryCompletion), MonadIO m, IsEntry a) => O.MethodInfo EntryGetCompletionMethodInfo a signature where
+    overloadedMethod _ = entryGetCompletion
+
+#endif
+
+-- method Entry::get_current_icon_drag_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_current_icon_drag_source" gtk_entry_get_current_icon_drag_source :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO Int32
+
+{- |
+Returns the index of the icon which is the source of the current
+DND operation, or -1.
+
+This function is meant to be used in a 'GI.Gtk.Objects.Widget.Widget'::@/drag-data-get/@
+callback.
+
+/Since: 2.16/
+-}
+entryGetCurrentIconDragSource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Int32
+    {- ^ __Returns:__ index of the icon which is the source of the current
+         DND operation, or -1. -}
+entryGetCurrentIconDragSource entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_current_icon_drag_source entry'
+    touchManagedPtr entry
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryGetCurrentIconDragSourceMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetCurrentIconDragSourceMethodInfo a signature where
+    overloadedMethod _ = entryGetCurrentIconDragSource
+
+#endif
+
+-- method Entry::get_cursor_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_cursor_hadjustment" gtk_entry_get_cursor_hadjustment :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Retrieves the horizontal cursor adjustment for the entry.
+See 'GI.Gtk.Objects.Entry.entrySetCursorHadjustment'.
+
+/Since: 2.12/
+-}
+entryGetCursorHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m (Maybe Gtk.Adjustment.Adjustment)
+    {- ^ __Returns:__ the horizontal cursor adjustment, or 'Nothing'
+  if none has been set. -}
+entryGetCursorHadjustment entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_cursor_hadjustment entry'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Adjustment.Adjustment) result'
+        return result''
+    touchManagedPtr entry
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryGetCursorHadjustmentMethodInfo
+instance (signature ~ (m (Maybe Gtk.Adjustment.Adjustment)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetCursorHadjustmentMethodInfo a signature where
+    overloadedMethod _ = entryGetCursorHadjustment
+
+#endif
+
+-- method Entry::get_has_frame
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_has_frame" gtk_entry_get_has_frame :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Entry.entrySetHasFrame'.
+-}
+entryGetHasFrame ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the entry has a beveled frame -}
+entryGetHasFrame entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_has_frame entry'
+    let result' = (/= 0) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetHasFrameMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetHasFrameMethodInfo a signature where
+    overloadedMethod _ = entryGetHasFrame
+
+#endif
+
+-- method Entry::get_icon_activatable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_activatable" gtk_entry_get_icon_activatable :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    IO CInt
+
+{- |
+Returns whether the icon is activatable.
+
+/Since: 2.16/
+-}
+entryGetIconActivatable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the icon is activatable. -}
+entryGetIconActivatable entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    result <- gtk_entry_get_icon_activatable entry' iconPos'
+    let result' = (/= 0) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetIconActivatableMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconActivatableMethodInfo a signature where
+    overloadedMethod _ = entryGetIconActivatable
+
+#endif
+
+-- method Entry::get_icon_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the icon\8217s area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_area" gtk_entry_get_icon_area :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- icon_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Gets the area where entry’s icon at /@iconPos@/ is drawn.
+This function is useful when drawing something to the
+entry in a draw callback.
+
+If the entry is not realized or has no icon at the given position,
+/@iconArea@/ is filled with zeros. Otherwise, /@iconArea@/ will be filled
+with the icon’s allocation, relative to /@entry@/’s allocation.
+
+See also 'GI.Gtk.Objects.Entry.entryGetTextArea'
+
+/Since: 3.0/
+-}
+entryGetIconArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> m (Gdk.Rectangle.Rectangle)
+entryGetIconArea entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    iconArea <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_entry_get_icon_area entry' iconPos' iconArea
+    iconArea' <- (wrapBoxed Gdk.Rectangle.Rectangle) iconArea
+    touchManagedPtr entry
+    return iconArea'
+
+#if ENABLE_OVERLOADING
+data EntryGetIconAreaMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconAreaMethodInfo a signature where
+    overloadedMethod _ = entryGetIconArea
+
+#endif
+
+-- method Entry::get_icon_at_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate of the position to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate of the position to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_at_pos" gtk_entry_get_icon_at_pos :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO Int32
+
+{- |
+Finds the icon at the given position and return its index. The
+position’s coordinates are relative to the /@entry@/’s top left corner.
+If /@x@/, /@y@/ doesn’t lie inside an icon, -1 is returned.
+This function is intended for use in a 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@
+signal handler.
+
+/Since: 2.16/
+-}
+entryGetIconAtPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Int32
+    {- ^ /@x@/: the x coordinate of the position to find -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate of the position to find -}
+    -> m Int32
+    {- ^ __Returns:__ the index of the icon at the given position, or -1 -}
+entryGetIconAtPos entry x y = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_icon_at_pos entry' x y
+    touchManagedPtr entry
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryGetIconAtPosMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconAtPosMethodInfo a signature where
+    overloadedMethod _ = entryGetIconAtPos
+
+#endif
+
+-- method Entry::get_icon_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_gicon" gtk_entry_get_icon_gicon :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    IO (Ptr Gio.Icon.Icon)
+
+{- |
+Retrieves the 'GI.Gio.Interfaces.Icon.Icon' used for the icon, or 'Nothing' if there is
+no icon or if the icon was set by some other method (e.g., by
+stock, pixbuf, or icon name).
+
+/Since: 2.16/
+-}
+entryGetIconGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> m (Maybe Gio.Icon.Icon)
+    {- ^ __Returns:__ A 'GI.Gio.Interfaces.Icon.Icon', or 'Nothing' if no icon is set
+    or if the icon is not a 'GI.Gio.Interfaces.Icon.Icon' -}
+entryGetIconGicon entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    result <- gtk_entry_get_icon_gicon entry' iconPos'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.Icon.Icon) result'
+        return result''
+    touchManagedPtr entry
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryGetIconGiconMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe Gio.Icon.Icon)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconGiconMethodInfo a signature where
+    overloadedMethod _ = entryGetIconGicon
+
+#endif
+
+-- method Entry::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_name" gtk_entry_get_icon_name :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    IO CString
+
+{- |
+Retrieves the icon name used for the icon, or 'Nothing' if there is
+no icon or if the icon was set by some other method (e.g., by
+pixbuf, stock or gicon).
+
+/Since: 2.16/
+-}
+entryGetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ An icon name, or 'Nothing' if no icon is set or if the icon
+         wasn’t set from an icon name -}
+entryGetIconName entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    result <- gtk_entry_get_icon_name entry' iconPos'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr entry
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryGetIconNameMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe T.Text)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconNameMethodInfo a signature where
+    overloadedMethod _ = entryGetIconName
+
+#endif
+
+-- method Entry::get_icon_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_pixbuf" gtk_entry_get_icon_pixbuf :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Retrieves the image used for the icon.
+
+Unlike the other methods of setting and getting icon data, this
+method will work regardless of whether the icon was set using a
+'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', a 'GI.Gio.Interfaces.Icon.Icon', a stock item, or an icon name.
+
+/Since: 2.16/
+-}
+entryGetIconPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ A 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', or 'Nothing' if no icon is
+    set for this position. -}
+entryGetIconPixbuf entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    result <- gtk_entry_get_icon_pixbuf entry' iconPos'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr entry
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryGetIconPixbufMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconPixbufMethodInfo a signature where
+    overloadedMethod _ = entryGetIconPixbuf
+
+#endif
+
+-- method Entry::get_icon_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_sensitive" gtk_entry_get_icon_sensitive :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    IO CInt
+
+{- |
+Returns whether the icon appears sensitive or insensitive.
+
+/Since: 2.16/
+-}
+entryGetIconSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the icon is sensitive. -}
+entryGetIconSensitive entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    result <- gtk_entry_get_icon_sensitive entry' iconPos'
+    let result' = (/= 0) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetIconSensitiveMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconSensitiveMethodInfo a signature where
+    overloadedMethod _ = entryGetIconSensitive
+
+#endif
+
+-- method Entry::get_icon_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_stock" gtk_entry_get_icon_stock :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    IO CString
+
+{-# DEPRECATED entryGetIconStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.Entry.entryGetIconName' instead."] #-}
+{- |
+Retrieves the stock id used for the icon, or 'Nothing' if there is
+no icon or if the icon was set by some other method (e.g., by
+pixbuf, icon name or gicon).
+
+/Since: 2.16/
+-}
+entryGetIconStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> m T.Text
+    {- ^ __Returns:__ A stock id, or 'Nothing' if no icon is set or if the icon
+         wasn’t set from a stock id -}
+entryGetIconStock entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    result <- gtk_entry_get_icon_stock entry' iconPos'
+    checkUnexpectedReturnNULL "entryGetIconStock" result
+    result' <- cstringToText result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetIconStockMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m T.Text), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconStockMethodInfo a signature where
+    overloadedMethod _ = entryGetIconStock
+
+#endif
+
+-- method Entry::get_icon_storage_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ImageType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_storage_type" gtk_entry_get_icon_storage_type :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    IO CUInt
+
+{- |
+Gets the type of representation being used by the icon
+to store image data. If the icon has no image data,
+the return value will be 'GI.Gtk.Enums.ImageTypeEmpty'.
+
+/Since: 2.16/
+-}
+entryGetIconStorageType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> m Gtk.Enums.ImageType
+    {- ^ __Returns:__ image representation being used -}
+entryGetIconStorageType entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    result <- gtk_entry_get_icon_storage_type entry' iconPos'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetIconStorageTypeMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m Gtk.Enums.ImageType), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconStorageTypeMethodInfo a signature where
+    overloadedMethod _ = entryGetIconStorageType
+
+#endif
+
+-- method Entry::get_icon_tooltip_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_tooltip_markup" gtk_entry_get_icon_tooltip_markup :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    IO CString
+
+{- |
+Gets the contents of the tooltip on the icon at the specified
+position in /@entry@/.
+
+/Since: 2.16/
+-}
+entryGetIconTooltipMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: the icon position -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the tooltip text, or 'Nothing'. Free the returned
+    string with 'GI.GLib.Functions.free' when done. -}
+entryGetIconTooltipMarkup entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    result <- gtk_entry_get_icon_tooltip_markup entry' iconPos'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr entry
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryGetIconTooltipMarkupMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe T.Text)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconTooltipMarkupMethodInfo a signature where
+    overloadedMethod _ = entryGetIconTooltipMarkup
+
+#endif
+
+-- method Entry::get_icon_tooltip_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_icon_tooltip_text" gtk_entry_get_icon_tooltip_text :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    IO CString
+
+{- |
+Gets the contents of the tooltip on the icon at the specified
+position in /@entry@/.
+
+/Since: 2.16/
+-}
+entryGetIconTooltipText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: the icon position -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the tooltip text, or 'Nothing'. Free the returned
+    string with 'GI.GLib.Functions.free' when done. -}
+entryGetIconTooltipText entry iconPos = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    result <- gtk_entry_get_icon_tooltip_text entry' iconPos'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr entry
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryGetIconTooltipTextMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> m (Maybe T.Text)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetIconTooltipTextMethodInfo a signature where
+    overloadedMethod _ = entryGetIconTooltipText
+
+#endif
+
+-- method Entry::get_inner_border
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Border"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_inner_border" gtk_entry_get_inner_border :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO (Ptr Gtk.Border.Border)
+
+{-# DEPRECATED entryGetInnerBorder ["(Since version 3.4)","Use the standard border and padding CSS properties (through","  objects like 'GI.Gtk.Objects.StyleContext.StyleContext' and 'GI.Gtk.Objects.CssProvider.CssProvider'); the value returned by","  this function is ignored by 'GI.Gtk.Objects.Entry.Entry'."] #-}
+{- |
+This function returns the entry’s 'GI.Gtk.Objects.Entry.Entry':@/inner-border/@ property. See
+'GI.Gtk.Objects.Entry.entrySetInnerBorder' for more information.
+
+/Since: 2.10/
+-}
+entryGetInnerBorder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m (Maybe Gtk.Border.Border)
+    {- ^ __Returns:__ the entry’s 'GI.Gtk.Structs.Border.Border', or
+  'Nothing' if none was set. -}
+entryGetInnerBorder entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_inner_border entry'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Gtk.Border.Border) result'
+        return result''
+    touchManagedPtr entry
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryGetInnerBorderMethodInfo
+instance (signature ~ (m (Maybe Gtk.Border.Border)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetInnerBorderMethodInfo a signature where
+    overloadedMethod _ = entryGetInnerBorder
+
+#endif
+
+-- method Entry::get_input_hints
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "InputHints"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_input_hints" gtk_entry_get_input_hints :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CUInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Entry.Entry':@/input-hints/@ property.
+
+/Since: 3.6/
+-}
+entryGetInputHints ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m [Gtk.Flags.InputHints]
+entryGetInputHints entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_input_hints entry'
+    let result' = wordToGFlags result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetInputHintsMethodInfo
+instance (signature ~ (m [Gtk.Flags.InputHints]), MonadIO m, IsEntry a) => O.MethodInfo EntryGetInputHintsMethodInfo a signature where
+    overloadedMethod _ = entryGetInputHints
+
+#endif
+
+-- method Entry::get_input_purpose
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "InputPurpose"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_input_purpose" gtk_entry_get_input_purpose :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CUInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Entry.Entry':@/input-purpose/@ property.
+
+/Since: 3.6/
+-}
+entryGetInputPurpose ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Gtk.Enums.InputPurpose
+entryGetInputPurpose entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_input_purpose entry'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetInputPurposeMethodInfo
+instance (signature ~ (m Gtk.Enums.InputPurpose), MonadIO m, IsEntry a) => O.MethodInfo EntryGetInputPurposeMethodInfo a signature where
+    overloadedMethod _ = entryGetInputPurpose
+
+#endif
+
+-- method Entry::get_invisible_char
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUniChar)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_invisible_char" gtk_entry_get_invisible_char :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CInt
+
+{- |
+Retrieves the character displayed in place of the real characters
+for entries with visibility set to false. See 'GI.Gtk.Objects.Entry.entrySetInvisibleChar'.
+-}
+entryGetInvisibleChar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Char
+    {- ^ __Returns:__ the current invisible char, or 0, if the entry does not
+              show invisible text at all. -}
+entryGetInvisibleChar entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_invisible_char entry'
+    let result' = (chr . fromIntegral) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetInvisibleCharMethodInfo
+instance (signature ~ (m Char), MonadIO m, IsEntry a) => O.MethodInfo EntryGetInvisibleCharMethodInfo a signature where
+    overloadedMethod _ = entryGetInvisibleChar
+
+#endif
+
+-- method Entry::get_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Layout"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_layout" gtk_entry_get_layout :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO (Ptr Pango.Layout.Layout)
+
+{- |
+Gets the 'GI.Pango.Objects.Layout.Layout' used to display the entry.
+The layout is useful to e.g. convert text positions to
+pixel positions, in combination with 'GI.Gtk.Objects.Entry.entryGetLayoutOffsets'.
+The returned layout is owned by the entry and must not be
+modified or freed by the caller.
+
+Keep in mind that the layout text may contain a preedit string, so
+'GI.Gtk.Objects.Entry.entryLayoutIndexToTextIndex' and
+'GI.Gtk.Objects.Entry.entryTextIndexToLayoutIndex' are needed to convert byte
+indices in the layout to byte indices in the entry contents.
+-}
+entryGetLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Pango.Layout.Layout
+    {- ^ __Returns:__ the 'GI.Pango.Objects.Layout.Layout' for this entry -}
+entryGetLayout entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_layout entry'
+    checkUnexpectedReturnNULL "entryGetLayout" result
+    result' <- (newObject Pango.Layout.Layout) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetLayoutMethodInfo
+instance (signature ~ (m Pango.Layout.Layout), MonadIO m, IsEntry a) => O.MethodInfo EntryGetLayoutMethodInfo a signature where
+    overloadedMethod _ = entryGetLayout
+
+#endif
+
+-- method Entry::get_layout_offsets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store X offset of layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store Y offset of layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_layout_offsets" gtk_entry_get_layout_offsets :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Ptr Int32 ->                            -- x : TBasicType TInt
+    Ptr Int32 ->                            -- y : TBasicType TInt
+    IO ()
+
+{- |
+Obtains the position of the 'GI.Pango.Objects.Layout.Layout' used to render text
+in the entry, in widget coordinates. Useful if you want to line
+up the text in an entry with some other text, e.g. when using the
+entry to implement editable cells in a sheet widget.
+
+Also useful to convert mouse events into coordinates inside the
+'GI.Pango.Objects.Layout.Layout', e.g. to take some action if some part of the entry text
+is clicked.
+
+Note that as the user scrolls around in the entry the offsets will
+change; you’ll need to connect to the “notify::scroll-offset”
+signal to track this. Remember when using the 'GI.Pango.Objects.Layout.Layout'
+functions you need to convert to and from pixels using
+@/PANGO_PIXELS()/@ or 'GI.Pango.Constants.SCALE'.
+
+Keep in mind that the layout text may contain a preedit string, so
+'GI.Gtk.Objects.Entry.entryLayoutIndexToTextIndex' and
+'GI.Gtk.Objects.Entry.entryTextIndexToLayoutIndex' are needed to convert byte
+indices in the layout to byte indices in the entry contents.
+-}
+entryGetLayoutOffsets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m ((Int32, Int32))
+entryGetLayoutOffsets entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    gtk_entry_get_layout_offsets entry' x y
+    x' <- peek x
+    y' <- peek y
+    touchManagedPtr entry
+    freeMem x
+    freeMem y
+    return (x', y')
+
+#if ENABLE_OVERLOADING
+data EntryGetLayoutOffsetsMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsEntry a) => O.MethodInfo EntryGetLayoutOffsetsMethodInfo a signature where
+    overloadedMethod _ = entryGetLayoutOffsets
+
+#endif
+
+-- method Entry::get_max_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_max_length" gtk_entry_get_max_length :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO Int32
+
+{- |
+Retrieves the maximum allowed length of the text in
+/@entry@/. See 'GI.Gtk.Objects.Entry.entrySetMaxLength'.
+
+This is equivalent to getting /@entry@/\'s 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' and
+calling 'GI.Gtk.Objects.EntryBuffer.entryBufferGetMaxLength' on it.
+-}
+entryGetMaxLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Int32
+    {- ^ __Returns:__ the maximum allowed number of characters
+              in 'GI.Gtk.Objects.Entry.Entry', or 0 if there is no maximum. -}
+entryGetMaxLength entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_max_length entry'
+    touchManagedPtr entry
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryGetMaxLengthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetMaxLengthMethodInfo a signature where
+    overloadedMethod _ = entryGetMaxLength
+
+#endif
+
+-- method Entry::get_max_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_max_width_chars" gtk_entry_get_max_width_chars :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO Int32
+
+{- |
+Retrieves the desired maximum width of /@entry@/, in characters.
+See 'GI.Gtk.Objects.Entry.entrySetMaxWidthChars'.
+
+/Since: 3.12/
+-}
+entryGetMaxWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Int32
+    {- ^ __Returns:__ the maximum width of the entry, in characters -}
+entryGetMaxWidthChars entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_max_width_chars entry'
+    touchManagedPtr entry
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryGetMaxWidthCharsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetMaxWidthCharsMethodInfo a signature where
+    overloadedMethod _ = entryGetMaxWidthChars
+
+#endif
+
+-- method Entry::get_overwrite_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_overwrite_mode" gtk_entry_get_overwrite_mode :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Entry.entrySetOverwriteMode'.
+
+/Since: 2.14/
+-}
+entryGetOverwriteMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the text is overwritten when typing. -}
+entryGetOverwriteMode entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_overwrite_mode entry'
+    let result' = (/= 0) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetOverwriteModeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetOverwriteModeMethodInfo a signature where
+    overloadedMethod _ = entryGetOverwriteMode
+
+#endif
+
+-- method Entry::get_placeholder_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_placeholder_text" gtk_entry_get_placeholder_text :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CString
+
+{- |
+Retrieves the text that will be displayed when /@entry@/ is empty and unfocused
+
+/Since: 3.2/
+-}
+entryGetPlaceholderText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m T.Text
+    {- ^ __Returns:__ a pointer to the placeholder text as a string. This string points to internally allocated
+storage in the widget and must not be freed, modified or stored. -}
+entryGetPlaceholderText entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_placeholder_text entry'
+    checkUnexpectedReturnNULL "entryGetPlaceholderText" result
+    result' <- cstringToText result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetPlaceholderTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsEntry a) => O.MethodInfo EntryGetPlaceholderTextMethodInfo a signature where
+    overloadedMethod _ = entryGetPlaceholderText
+
+#endif
+
+-- method Entry::get_progress_fraction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_progress_fraction" gtk_entry_get_progress_fraction :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CDouble
+
+{- |
+Returns the current fraction of the task that’s been completed.
+See 'GI.Gtk.Objects.Entry.entrySetProgressFraction'.
+
+/Since: 2.16/
+-}
+entryGetProgressFraction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Double
+    {- ^ __Returns:__ a fraction from 0.0 to 1.0 -}
+entryGetProgressFraction entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_progress_fraction entry'
+    let result' = realToFrac result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetProgressFractionMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsEntry a) => O.MethodInfo EntryGetProgressFractionMethodInfo a signature where
+    overloadedMethod _ = entryGetProgressFraction
+
+#endif
+
+-- method Entry::get_progress_pulse_step
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_progress_pulse_step" gtk_entry_get_progress_pulse_step :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CDouble
+
+{- |
+Retrieves the pulse step set with 'GI.Gtk.Objects.Entry.entrySetProgressPulseStep'.
+
+/Since: 2.16/
+-}
+entryGetProgressPulseStep ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Double
+    {- ^ __Returns:__ a fraction from 0.0 to 1.0 -}
+entryGetProgressPulseStep entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_progress_pulse_step entry'
+    let result' = realToFrac result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetProgressPulseStepMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsEntry a) => O.MethodInfo EntryGetProgressPulseStepMethodInfo a signature where
+    overloadedMethod _ = entryGetProgressPulseStep
+
+#endif
+
+-- method Entry::get_tabs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "TabArray"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_tabs" gtk_entry_get_tabs :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO (Ptr Pango.TabArray.TabArray)
+
+{- |
+Gets the tabstops that were set on the entry using 'GI.Gtk.Objects.Entry.entrySetTabs', if
+any.
+
+/Since: 3.10/
+-}
+entryGetTabs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m (Maybe Pango.TabArray.TabArray)
+    {- ^ __Returns:__ the tabstops, or 'Nothing' if none was set. -}
+entryGetTabs entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_tabs entry'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Pango.TabArray.TabArray) result'
+        return result''
+    touchManagedPtr entry
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryGetTabsMethodInfo
+instance (signature ~ (m (Maybe Pango.TabArray.TabArray)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetTabsMethodInfo a signature where
+    overloadedMethod _ = entryGetTabs
+
+#endif
+
+-- method Entry::get_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_text" gtk_entry_get_text :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CString
+
+{- |
+Retrieves the contents of the entry widget.
+See also 'GI.Gtk.Interfaces.Editable.editableGetChars'.
+
+This is equivalent to getting /@entry@/\'s 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' and calling
+'GI.Gtk.Objects.EntryBuffer.entryBufferGetText' on it.
+-}
+entryGetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m T.Text
+    {- ^ __Returns:__ a pointer to the contents of the widget as a
+     string. This string points to internally allocated
+     storage in the widget and must not be freed, modified or
+     stored. -}
+entryGetText entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_text entry'
+    checkUnexpectedReturnNULL "entryGetText" result
+    result' <- cstringToText result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsEntry a) => O.MethodInfo EntryGetTextMethodInfo a signature where
+    overloadedMethod _ = entryGetText
+
+#endif
+
+-- method Entry::get_text_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the text area.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_text_area" gtk_entry_get_text_area :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- text_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Gets the area where the entry’s text is drawn. This function is
+useful when drawing something to the entry in a draw callback.
+
+If the entry is not realized, /@textArea@/ is filled with zeros.
+
+See also 'GI.Gtk.Objects.Entry.entryGetIconArea'.
+
+/Since: 3.0/
+-}
+entryGetTextArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m (Gdk.Rectangle.Rectangle)
+entryGetTextArea entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    textArea <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_entry_get_text_area entry' textArea
+    textArea' <- (wrapBoxed Gdk.Rectangle.Rectangle) textArea
+    touchManagedPtr entry
+    return textArea'
+
+#if ENABLE_OVERLOADING
+data EntryGetTextAreaMethodInfo
+instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsEntry a) => O.MethodInfo EntryGetTextAreaMethodInfo a signature where
+    overloadedMethod _ = entryGetTextArea
+
+#endif
+
+-- method Entry::get_text_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt16)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_text_length" gtk_entry_get_text_length :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO Word16
+
+{- |
+Retrieves the current length of the text in
+/@entry@/.
+
+This is equivalent to getting /@entry@/\'s 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' and
+calling 'GI.Gtk.Objects.EntryBuffer.entryBufferGetLength' on it.
+
+/Since: 2.14/
+-}
+entryGetTextLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Word16
+    {- ^ __Returns:__ the current number of characters
+              in 'GI.Gtk.Objects.Entry.Entry', or 0 if there are none. -}
+entryGetTextLength entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_text_length entry'
+    touchManagedPtr entry
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryGetTextLengthMethodInfo
+instance (signature ~ (m Word16), MonadIO m, IsEntry a) => O.MethodInfo EntryGetTextLengthMethodInfo a signature where
+    overloadedMethod _ = entryGetTextLength
+
+#endif
+
+-- method Entry::get_visibility
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_visibility" gtk_entry_get_visibility :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO CInt
+
+{- |
+Retrieves whether the text in /@entry@/ is visible. See
+'GI.Gtk.Objects.Entry.entrySetVisibility'.
+-}
+entryGetVisibility ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the text is currently visible -}
+entryGetVisibility entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_visibility entry'
+    let result' = (/= 0) result
+    touchManagedPtr entry
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryGetVisibilityMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryGetVisibilityMethodInfo a signature where
+    overloadedMethod _ = entryGetVisibility
+
+#endif
+
+-- method Entry::get_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_get_width_chars" gtk_entry_get_width_chars :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO Int32
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Entry.entrySetWidthChars'.
+-}
+entryGetWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m Int32
+    {- ^ __Returns:__ number of chars to request space for, or negative if unset -}
+entryGetWidthChars entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_get_width_chars entry'
+    touchManagedPtr entry
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryGetWidthCharsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryGetWidthCharsMethodInfo a signature where
+    overloadedMethod _ = entryGetWidthChars
+
+#endif
+
+-- method Entry::grab_focus_without_selecting
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_grab_focus_without_selecting" gtk_entry_grab_focus_without_selecting :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO ()
+
+{- |
+Causes /@entry@/ to have keyboard focus.
+
+It behaves like 'GI.Gtk.Objects.Widget.widgetGrabFocus',
+except that it doesn\'t select the contents of the entry.
+You only want to call this on some special entries
+which the user usually doesn\'t want to replace all text in,
+such as search-as-you-type entries.
+
+/Since: 3.16/
+-}
+entryGrabFocusWithoutSelecting ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m ()
+entryGrabFocusWithoutSelecting entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    gtk_entry_grab_focus_without_selecting entry'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryGrabFocusWithoutSelectingMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEntry a) => O.MethodInfo EntryGrabFocusWithoutSelectingMethodInfo a signature where
+    overloadedMethod _ = entryGrabFocusWithoutSelecting
+
+#endif
+
+-- method Entry::im_context_filter_keypress
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_im_context_filter_keypress" gtk_entry_im_context_filter_keypress :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Ptr Gdk.EventKey.EventKey ->            -- event : TInterface (Name {namespace = "Gdk", name = "EventKey"})
+    IO CInt
+
+{- |
+Allow the 'GI.Gtk.Objects.Entry.Entry' input method to internally handle key press
+and release events. If this function returns 'True', then no further
+processing should be done for this key event. See
+'GI.Gtk.Objects.IMContext.iMContextFilterKeypress'.
+
+Note that you are expected to call this function from your handler
+when overriding key event handling. This is needed in the case when
+you need to insert your own key handling between the input method
+and the default key event handling of the 'GI.Gtk.Objects.Entry.Entry'.
+See 'GI.Gtk.Objects.TextView.textViewResetImContext' for an example of use.
+
+/Since: 2.22/
+-}
+entryImContextFilterKeypress ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gdk.EventKey.EventKey
+    {- ^ /@event@/: the key event -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the input method handled the key event. -}
+entryImContextFilterKeypress entry event = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_entry_im_context_filter_keypress entry' event'
+    let result' = (/= 0) result
+    touchManagedPtr entry
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryImContextFilterKeypressMethodInfo
+instance (signature ~ (Gdk.EventKey.EventKey -> m Bool), MonadIO m, IsEntry a) => O.MethodInfo EntryImContextFilterKeypressMethodInfo a signature where
+    overloadedMethod _ = entryImContextFilterKeypress
+
+#endif
+
+-- method Entry::layout_index_to_text_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "layout_index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "byte index into the entry layout text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_layout_index_to_text_index" gtk_entry_layout_index_to_text_index :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Int32 ->                                -- layout_index : TBasicType TInt
+    IO Int32
+
+{- |
+Converts from a position in the entry’s 'GI.Pango.Objects.Layout.Layout' (returned by
+'GI.Gtk.Objects.Entry.entryGetLayout') to a position in the entry contents
+(returned by 'GI.Gtk.Objects.Entry.entryGetText').
+-}
+entryLayoutIndexToTextIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Int32
+    {- ^ /@layoutIndex@/: byte index into the entry layout text -}
+    -> m Int32
+    {- ^ __Returns:__ byte index into the entry contents -}
+entryLayoutIndexToTextIndex entry layoutIndex = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_layout_index_to_text_index entry' layoutIndex
+    touchManagedPtr entry
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryLayoutIndexToTextIndexMethodInfo
+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryLayoutIndexToTextIndexMethodInfo a signature where
+    overloadedMethod _ = entryLayoutIndexToTextIndex
+
+#endif
+
+-- method Entry::progress_pulse
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_progress_pulse" gtk_entry_progress_pulse :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO ()
+
+{- |
+Indicates that some progress is made, but you don’t know how much.
+Causes the entry’s progress indicator to enter “activity mode,”
+where a block bounces back and forth. Each call to
+'GI.Gtk.Objects.Entry.entryProgressPulse' causes the block to move by a little bit
+(the amount of movement per pulse is determined by
+'GI.Gtk.Objects.Entry.entrySetProgressPulseStep').
+
+/Since: 2.16/
+-}
+entryProgressPulse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m ()
+entryProgressPulse entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    gtk_entry_progress_pulse entry'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryProgressPulseMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEntry a) => O.MethodInfo EntryProgressPulseMethodInfo a signature where
+    overloadedMethod _ = entryProgressPulse
+
+#endif
+
+-- method Entry::reset_im_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_reset_im_context" gtk_entry_reset_im_context :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO ()
+
+{- |
+Reset the input method context of the entry if needed.
+
+This can be necessary in the case where modifying the buffer
+would confuse on-going input method behavior.
+
+/Since: 2.22/
+-}
+entryResetImContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m ()
+entryResetImContext entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    gtk_entry_reset_im_context entry'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryResetImContextMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEntry a) => O.MethodInfo EntryResetImContextMethodInfo a signature where
+    overloadedMethod _ = entryResetImContext
+
+#endif
+
+-- method Entry::set_activates_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to activate window\8217s default widget on Enter keypress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_activates_default" gtk_entry_set_activates_default :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@setting@/ is 'True', pressing Enter in the /@entry@/ will activate the default
+widget for the window containing the entry. This usually means that
+the dialog box containing the entry will be closed, since the default
+widget is usually one of the dialog buttons.
+
+(For experts: if /@setting@/ is 'True', the entry calls
+'GI.Gtk.Objects.Window.windowActivateDefault' on the window containing the entry, in
+the default handler for the 'GI.Gtk.Objects.Entry.Entry'::@/activate/@ signal.)
+-}
+entrySetActivatesDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to activate window’s default widget on Enter keypress -}
+    -> m ()
+entrySetActivatesDefault entry setting = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_entry_set_activates_default entry' setting'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetActivatesDefaultMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetActivatesDefaultMethodInfo a signature where
+    overloadedMethod _ = entrySetActivatesDefault
+
+#endif
+
+-- method Entry::set_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The horizontal alignment, from 0 (left) to 1 (right).\n         Reversed for RTL layouts", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_alignment" gtk_entry_set_alignment :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CFloat ->                               -- xalign : TBasicType TFloat
+    IO ()
+
+{- |
+Sets the alignment for the contents of the entry. This controls
+the horizontal positioning of the contents when the displayed
+text is shorter than the width of the entry.
+
+/Since: 2.4/
+-}
+entrySetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Float
+    {- ^ /@xalign@/: The horizontal alignment, from 0 (left) to 1 (right).
+         Reversed for RTL layouts -}
+    -> m ()
+entrySetAlignment entry xalign = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let xalign' = realToFrac xalign
+    gtk_entry_set_alignment entry' xalign'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetAlignmentMethodInfo
+instance (signature ~ (Float -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetAlignmentMethodInfo a signature where
+    overloadedMethod _ = entrySetAlignment
+
+#endif
+
+-- method Entry::set_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs", argType = TInterface (Name {namespace = "Pango", name = "AttrList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoAttrList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_attributes" gtk_entry_set_attributes :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Ptr Pango.AttrList.AttrList ->          -- attrs : TInterface (Name {namespace = "Pango", name = "AttrList"})
+    IO ()
+
+{- |
+Sets a 'GI.Pango.Structs.AttrList.AttrList'; the attributes in the list are applied to the
+entry text.
+
+/Since: 3.6/
+-}
+entrySetAttributes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Pango.AttrList.AttrList
+    {- ^ /@attrs@/: a 'GI.Pango.Structs.AttrList.AttrList' -}
+    -> m ()
+entrySetAttributes entry attrs = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    attrs' <- unsafeManagedPtrGetPtr attrs
+    gtk_entry_set_attributes entry' attrs'
+    touchManagedPtr entry
+    touchManagedPtr attrs
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetAttributesMethodInfo
+instance (signature ~ (Pango.AttrList.AttrList -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetAttributesMethodInfo a signature where
+    overloadedMethod _ = entrySetAttributes
+
+#endif
+
+-- method Entry::set_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_buffer" gtk_entry_set_buffer :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Ptr Gtk.EntryBuffer.EntryBuffer ->      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    IO ()
+
+{- |
+Set the 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' object which holds the text for
+this widget.
+
+/Since: 2.18/
+-}
+entrySetBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, Gtk.EntryBuffer.IsEntryBuffer b) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> b
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> m ()
+entrySetBuffer entry buffer = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    gtk_entry_set_buffer entry' buffer'
+    touchManagedPtr entry
+    touchManagedPtr buffer
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetBufferMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsEntry a, Gtk.EntryBuffer.IsEntryBuffer b) => O.MethodInfo EntrySetBufferMethodInfo a signature where
+    overloadedMethod _ = entrySetBuffer
+
+#endif
+
+-- method Entry::set_completion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The #GtkEntryCompletion or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_completion" gtk_entry_set_completion :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Ptr Gtk.EntryCompletion.EntryCompletion -> -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO ()
+
+{- |
+Sets /@completion@/ to be the auxiliary completion object to use with /@entry@/.
+All further configuration of the completion mechanism is done on
+/@completion@/ using the 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' API. Completion is disabled if
+/@completion@/ is set to 'Nothing'.
+
+/Since: 2.4/
+-}
+entrySetCompletion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, Gtk.EntryCompletion.IsEntryCompletion b) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Maybe (b)
+    {- ^ /@completion@/: The 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' or 'Nothing' -}
+    -> m ()
+entrySetCompletion entry completion = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    maybeCompletion <- case completion of
+        Nothing -> return nullPtr
+        Just jCompletion -> do
+            jCompletion' <- unsafeManagedPtrCastPtr jCompletion
+            return jCompletion'
+    gtk_entry_set_completion entry' maybeCompletion
+    touchManagedPtr entry
+    whenJust completion touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetCompletionMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsEntry a, Gtk.EntryCompletion.IsEntryCompletion b) => O.MethodInfo EntrySetCompletionMethodInfo a signature where
+    overloadedMethod _ = entrySetCompletion
+
+#endif
+
+-- method Entry::set_cursor_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an adjustment which should be adjusted when the cursor\n             is moved, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_cursor_hadjustment" gtk_entry_set_cursor_hadjustment :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Hooks up an adjustment to the cursor position in an entry, so that when
+the cursor is moved, the adjustment is scrolled to show that position.
+See 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowGetHadjustment' for a typical way of obtaining
+the adjustment.
+
+The adjustment has to be in pixel units and in the same coordinate system
+as the entry.
+
+/Since: 2.12/
+-}
+entrySetCursorHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Maybe (b)
+    {- ^ /@adjustment@/: an adjustment which should be adjusted when the cursor
+             is moved, or 'Nothing' -}
+    -> m ()
+entrySetCursorHadjustment entry adjustment = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    gtk_entry_set_cursor_hadjustment entry' maybeAdjustment
+    touchManagedPtr entry
+    whenJust adjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetCursorHadjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsEntry a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo EntrySetCursorHadjustmentMethodInfo a signature where
+    overloadedMethod _ = entrySetCursorHadjustment
+
+#endif
+
+-- method Entry::set_has_frame
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_has_frame" gtk_entry_set_has_frame :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the entry has a beveled frame around it.
+-}
+entrySetHasFrame ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Bool
+    {- ^ /@setting@/: new value -}
+    -> m ()
+entrySetHasFrame entry setting = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_entry_set_has_frame entry' setting'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetHasFrameMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetHasFrameMethodInfo a signature where
+    overloadedMethod _ = entrySetHasFrame
+
+#endif
+
+-- method Entry::set_icon_activatable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "activatable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the icon should be activatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_icon_activatable" gtk_entry_set_icon_activatable :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    CInt ->                                 -- activatable : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the icon is activatable.
+
+/Since: 2.16/
+-}
+entrySetIconActivatable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> Bool
+    {- ^ /@activatable@/: 'True' if the icon should be activatable -}
+    -> m ()
+entrySetIconActivatable entry iconPos activatable = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    let activatable' = (fromIntegral . fromEnum) activatable
+    gtk_entry_set_icon_activatable entry' iconPos' activatable'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetIconActivatableMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconActivatableMethodInfo a signature where
+    overloadedMethod _ = entrySetIconActivatable
+
+#endif
+
+-- method Entry::set_icon_drag_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the targets (data formats) in which the data can be provided", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bitmask of the allowed drag actions", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_icon_drag_source" gtk_entry_set_icon_drag_source :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    Ptr Gtk.TargetList.TargetList ->        -- target_list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    IO ()
+
+{- |
+Sets up the icon at the given position so that GTK+ will start a drag
+operation when the user clicks and drags the icon.
+
+To handle the drag operation, you need to connect to the usual
+'GI.Gtk.Objects.Widget.Widget'::@/drag-data-get/@ (or possibly 'GI.Gtk.Objects.Widget.Widget'::@/drag-data-delete/@)
+signal, and use 'GI.Gtk.Objects.Entry.entryGetCurrentIconDragSource' in
+your signal handler to find out if the drag was started from
+an icon.
+
+By default, GTK+ uses the icon as the drag icon. You can use the
+'GI.Gtk.Objects.Widget.Widget'::@/drag-begin/@ signal to set a different icon. Note that you
+have to use @/g_signal_connect_after()/@ to ensure that your signal handler
+gets executed after the default handler.
+
+/Since: 2.16/
+-}
+entrySetIconDragSource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: icon position -}
+    -> Gtk.TargetList.TargetList
+    {- ^ /@targetList@/: the targets (data formats) in which the data can be provided -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: a bitmask of the allowed drag actions -}
+    -> m ()
+entrySetIconDragSource entry iconPos targetList actions = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    targetList' <- unsafeManagedPtrGetPtr targetList
+    let actions' = gflagsToWord actions
+    gtk_entry_set_icon_drag_source entry' iconPos' targetList' actions'
+    touchManagedPtr entry
+    touchManagedPtr targetList
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetIconDragSourceMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> Gtk.TargetList.TargetList -> [Gdk.Flags.DragAction] -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconDragSourceMethodInfo a signature where
+    overloadedMethod _ = entrySetIconDragSource
+
+#endif
+
+-- method Entry::set_icon_from_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position at which to set the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The icon to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_icon_from_gicon" gtk_entry_set_icon_from_gicon :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    IO ()
+
+{- |
+Sets the icon shown in the entry at the specified position
+from the current icon theme.
+If the icon isn’t known, a “broken image” icon will be displayed
+instead.
+
+If /@icon@/ is 'Nothing', no icon will be shown in the specified position.
+
+/Since: 2.16/
+-}
+entrySetIconFromGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: The position at which to set the icon -}
+    -> Maybe (b)
+    {- ^ /@icon@/: The icon to set, or 'Nothing' -}
+    -> m ()
+entrySetIconFromGicon entry iconPos icon = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    maybeIcon <- case icon of
+        Nothing -> return nullPtr
+        Just jIcon -> do
+            jIcon' <- unsafeManagedPtrCastPtr jIcon
+            return jIcon'
+    gtk_entry_set_icon_from_gicon entry' iconPos' maybeIcon
+    touchManagedPtr entry
+    whenJust icon touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetIconFromGiconMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (b) -> m ()), MonadIO m, IsEntry a, Gio.Icon.IsIcon b) => O.MethodInfo EntrySetIconFromGiconMethodInfo a signature where
+    overloadedMethod _ = entrySetIconFromGicon
+
+#endif
+
+-- method Entry::set_icon_from_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position at which to set the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "An icon name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_icon_from_icon_name" gtk_entry_set_icon_from_icon_name :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the icon shown in the entry at the specified position
+from the current icon theme.
+
+If the icon name isn’t known, a “broken image” icon will be displayed
+instead.
+
+If /@iconName@/ is 'Nothing', no icon will be shown in the specified position.
+
+/Since: 2.16/
+-}
+entrySetIconFromIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: The position at which to set the icon -}
+    -> Maybe (T.Text)
+    {- ^ /@iconName@/: An icon name, or 'Nothing' -}
+    -> m ()
+entrySetIconFromIconName entry iconPos iconName = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    gtk_entry_set_icon_from_icon_name entry' iconPos' maybeIconName
+    touchManagedPtr entry
+    freeMem maybeIconName
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetIconFromIconNameMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconFromIconNameMethodInfo a signature where
+    overloadedMethod _ = entrySetIconFromIconName
+
+#endif
+
+-- method Entry::set_icon_from_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GdkPixbuf, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_icon_from_pixbuf" gtk_entry_set_icon_from_pixbuf :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{- |
+Sets the icon shown in the specified position using a pixbuf.
+
+If /@pixbuf@/ is 'Nothing', no icon will be shown in the specified position.
+
+/Since: 2.16/
+-}
+entrySetIconFromPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> Maybe (b)
+    {- ^ /@pixbuf@/: A 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', or 'Nothing' -}
+    -> m ()
+entrySetIconFromPixbuf entry iconPos pixbuf = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    maybePixbuf <- case pixbuf of
+        Nothing -> return nullPtr
+        Just jPixbuf -> do
+            jPixbuf' <- unsafeManagedPtrCastPtr jPixbuf
+            return jPixbuf'
+    gtk_entry_set_icon_from_pixbuf entry' iconPos' maybePixbuf
+    touchManagedPtr entry
+    whenJust pixbuf touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetIconFromPixbufMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (b) -> m ()), MonadIO m, IsEntry a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo EntrySetIconFromPixbufMethodInfo a signature where
+    overloadedMethod _ = entrySetIconFromPixbuf
+
+#endif
+
+-- method Entry::set_icon_from_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The name of the stock item, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_icon_from_stock" gtk_entry_set_icon_from_stock :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED entrySetIconFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.Entry.entrySetIconFromIconName' instead."] #-}
+{- |
+Sets the icon shown in the entry at the specified position from
+a stock image.
+
+If /@stockId@/ is 'Nothing', no icon will be shown in the specified position.
+
+/Since: 2.16/
+-}
+entrySetIconFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> Maybe (T.Text)
+    {- ^ /@stockId@/: The name of the stock item, or 'Nothing' -}
+    -> m ()
+entrySetIconFromStock entry iconPos stockId = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    maybeStockId <- case stockId of
+        Nothing -> return nullPtr
+        Just jStockId -> do
+            jStockId' <- textToCString jStockId
+            return jStockId'
+    gtk_entry_set_icon_from_stock entry' iconPos' maybeStockId
+    touchManagedPtr entry
+    freeMem maybeStockId
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetIconFromStockMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconFromStockMethodInfo a signature where
+    overloadedMethod _ = entrySetIconFromStock
+
+#endif
+
+-- method Entry::set_icon_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Specifies whether the icon should appear\n            sensitive or insensitive", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_icon_sensitive" gtk_entry_set_icon_sensitive :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    CInt ->                                 -- sensitive : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the sensitivity for the specified icon.
+
+/Since: 2.16/
+-}
+entrySetIconSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: A 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: Icon position -}
+    -> Bool
+    {- ^ /@sensitive@/: Specifies whether the icon should appear
+            sensitive or insensitive -}
+    -> m ()
+entrySetIconSensitive entry iconPos sensitive = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    let sensitive' = (fromIntegral . fromEnum) sensitive
+    gtk_entry_set_icon_sensitive entry' iconPos' sensitive'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetIconSensitiveMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconSensitiveMethodInfo a signature where
+    overloadedMethod _ = entrySetIconSensitive
+
+#endif
+
+-- method Entry::set_icon_tooltip_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the contents of the tooltip for the icon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_icon_tooltip_markup" gtk_entry_set_icon_tooltip_markup :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    CString ->                              -- tooltip : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets /@tooltip@/ as the contents of the tooltip for the icon at
+the specified position. /@tooltip@/ is assumed to be marked up with
+the [Pango text markup language][PangoMarkupFormat].
+
+Use 'Nothing' for /@tooltip@/ to remove an existing tooltip.
+
+See also 'GI.Gtk.Objects.Widget.widgetSetTooltipMarkup' and
+'GI.Gtk.Objects.Entry.entrySetIconTooltipText'.
+
+/Since: 2.16/
+-}
+entrySetIconTooltipMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: the icon position -}
+    -> Maybe (T.Text)
+    {- ^ /@tooltip@/: the contents of the tooltip for the icon, or 'Nothing' -}
+    -> m ()
+entrySetIconTooltipMarkup entry iconPos tooltip = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    maybeTooltip <- case tooltip of
+        Nothing -> return nullPtr
+        Just jTooltip -> do
+            jTooltip' <- textToCString jTooltip
+            return jTooltip'
+    gtk_entry_set_icon_tooltip_markup entry' iconPos' maybeTooltip
+    touchManagedPtr entry
+    freeMem maybeTooltip
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetIconTooltipMarkupMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconTooltipMarkupMethodInfo a signature where
+    overloadedMethod _ = entrySetIconTooltipMarkup
+
+#endif
+
+-- method Entry::set_icon_tooltip_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_pos", argType = TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the contents of the tooltip for the icon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_icon_tooltip_text" gtk_entry_set_icon_tooltip_text :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- icon_pos : TInterface (Name {namespace = "Gtk", name = "EntryIconPosition"})
+    CString ->                              -- tooltip : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets /@tooltip@/ as the contents of the tooltip for the icon
+at the specified position.
+
+Use 'Nothing' for /@tooltip@/ to remove an existing tooltip.
+
+See also 'GI.Gtk.Objects.Widget.widgetSetTooltipText' and
+'GI.Gtk.Objects.Entry.entrySetIconTooltipMarkup'.
+
+If you unset the widget tooltip via 'GI.Gtk.Objects.Widget.widgetSetTooltipText' or
+'GI.Gtk.Objects.Widget.widgetSetTooltipMarkup', this sets GtkWidget:has-tooltip to 'False',
+which suppresses icon tooltips too. You can resolve this by then calling
+'GI.Gtk.Objects.Widget.widgetSetHasTooltip' to set GtkWidget:has-tooltip back to 'True', or
+setting at least one non-empty tooltip on any icon achieves the same result.
+
+/Since: 2.16/
+-}
+entrySetIconTooltipText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.EntryIconPosition
+    {- ^ /@iconPos@/: the icon position -}
+    -> Maybe (T.Text)
+    {- ^ /@tooltip@/: the contents of the tooltip for the icon, or 'Nothing' -}
+    -> m ()
+entrySetIconTooltipText entry iconPos tooltip = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let iconPos' = (fromIntegral . fromEnum) iconPos
+    maybeTooltip <- case tooltip of
+        Nothing -> return nullPtr
+        Just jTooltip -> do
+            jTooltip' <- textToCString jTooltip
+            return jTooltip'
+    gtk_entry_set_icon_tooltip_text entry' iconPos' maybeTooltip
+    touchManagedPtr entry
+    freeMem maybeTooltip
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetIconTooltipTextMethodInfo
+instance (signature ~ (Gtk.Enums.EntryIconPosition -> Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetIconTooltipTextMethodInfo a signature where
+    overloadedMethod _ = entrySetIconTooltipText
+
+#endif
+
+-- method Entry::set_inner_border
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "border", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkBorder, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_inner_border" gtk_entry_set_inner_border :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Ptr Gtk.Border.Border ->                -- border : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO ()
+
+{-# DEPRECATED entrySetInnerBorder ["(Since version 3.4)","Use the standard border and padding CSS properties (through","  objects like 'GI.Gtk.Objects.StyleContext.StyleContext' and 'GI.Gtk.Objects.CssProvider.CssProvider'); the value set with","  this function is ignored by 'GI.Gtk.Objects.Entry.Entry'."] #-}
+{- |
+Sets @/entry/@’s inner-border property to /@border@/, or clears it if 'Nothing'
+is passed. The inner-border is the area around the entry’s text, but
+inside its frame.
+
+If set, this property overrides the inner-border style property.
+Overriding the style-provided border is useful when you want to do
+in-place editing of some text in a canvas or list widget, where
+pixel-exact positioning of the entry is important.
+
+/Since: 2.10/
+-}
+entrySetInnerBorder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Maybe (Gtk.Border.Border)
+    {- ^ /@border@/: a 'GI.Gtk.Structs.Border.Border', or 'Nothing' -}
+    -> m ()
+entrySetInnerBorder entry border = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    maybeBorder <- case border of
+        Nothing -> return nullPtr
+        Just jBorder -> do
+            jBorder' <- unsafeManagedPtrGetPtr jBorder
+            return jBorder'
+    gtk_entry_set_inner_border entry' maybeBorder
+    touchManagedPtr entry
+    whenJust border touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetInnerBorderMethodInfo
+instance (signature ~ (Maybe (Gtk.Border.Border) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetInnerBorderMethodInfo a signature where
+    overloadedMethod _ = entrySetInnerBorder
+
+#endif
+
+-- method Entry::set_input_hints
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hints", argType = TInterface (Name {namespace = "Gtk", name = "InputHints"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hints", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_input_hints" gtk_entry_set_input_hints :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- hints : TInterface (Name {namespace = "Gtk", name = "InputHints"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Entry.Entry':@/input-hints/@ property, which
+allows input methods to fine-tune their behaviour.
+
+/Since: 3.6/
+-}
+entrySetInputHints ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> [Gtk.Flags.InputHints]
+    {- ^ /@hints@/: the hints -}
+    -> m ()
+entrySetInputHints entry hints = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let hints' = gflagsToWord hints
+    gtk_entry_set_input_hints entry' hints'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetInputHintsMethodInfo
+instance (signature ~ ([Gtk.Flags.InputHints] -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetInputHintsMethodInfo a signature where
+    overloadedMethod _ = entrySetInputHints
+
+#endif
+
+-- method Entry::set_input_purpose
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "purpose", argType = TInterface (Name {namespace = "Gtk", name = "InputPurpose"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the purpose", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_input_purpose" gtk_entry_set_input_purpose :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CUInt ->                                -- purpose : TInterface (Name {namespace = "Gtk", name = "InputPurpose"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Entry.Entry':@/input-purpose/@ property which
+can be used by on-screen keyboards and other input
+methods to adjust their behaviour.
+
+/Since: 3.6/
+-}
+entrySetInputPurpose ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Gtk.Enums.InputPurpose
+    {- ^ /@purpose@/: the purpose -}
+    -> m ()
+entrySetInputPurpose entry purpose = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let purpose' = (fromIntegral . fromEnum) purpose
+    gtk_entry_set_input_purpose entry' purpose'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetInputPurposeMethodInfo
+instance (signature ~ (Gtk.Enums.InputPurpose -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetInputPurposeMethodInfo a signature where
+    overloadedMethod _ = entrySetInputPurpose
+
+#endif
+
+-- method Entry::set_invisible_char
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_invisible_char" gtk_entry_set_invisible_char :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CInt ->                                 -- ch : TBasicType TUniChar
+    IO ()
+
+{- |
+Sets the character to use in place of the actual text when
+'GI.Gtk.Objects.Entry.entrySetVisibility' has been called to set text visibility
+to 'False'. i.e. this is the character used in “password mode” to
+show the user how many characters have been typed. By default, GTK+
+picks the best invisible char available in the current font. If you
+set the invisible char to 0, then the user will get no feedback
+at all; there will be no text on the screen as they type.
+-}
+entrySetInvisibleChar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Char
+    {- ^ /@ch@/: a Unicode character -}
+    -> m ()
+entrySetInvisibleChar entry ch = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let ch' = (fromIntegral . ord) ch
+    gtk_entry_set_invisible_char entry' ch'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetInvisibleCharMethodInfo
+instance (signature ~ (Char -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetInvisibleCharMethodInfo a signature where
+    overloadedMethod _ = entrySetInvisibleChar
+
+#endif
+
+-- method Entry::set_max_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of the entry, or 0 for no maximum.\n  (other than the maximum length of entries.) The value passed in will\n  be clamped to the range 0-65536.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_max_length" gtk_entry_set_max_length :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Int32 ->                                -- max : TBasicType TInt
+    IO ()
+
+{- |
+Sets the maximum allowed length of the contents of the widget. If
+the current contents are longer than the given length, then they
+will be truncated to fit.
+
+This is equivalent to getting /@entry@/\'s 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' and
+calling 'GI.Gtk.Objects.EntryBuffer.entryBufferSetMaxLength' on it.
+]|
+-}
+entrySetMaxLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Int32
+    {- ^ /@max@/: the maximum length of the entry, or 0 for no maximum.
+  (other than the maximum length of entries.) The value passed in will
+  be clamped to the range 0-65536. -}
+    -> m ()
+entrySetMaxLength entry max = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    gtk_entry_set_max_length entry' max
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetMaxLengthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetMaxLengthMethodInfo a signature where
+    overloadedMethod _ = entrySetMaxLength
+
+#endif
+
+-- method Entry::set_max_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new desired maximum width, in characters", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_max_width_chars" gtk_entry_set_max_width_chars :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Int32 ->                                -- n_chars : TBasicType TInt
+    IO ()
+
+{- |
+Sets the desired maximum width in characters of /@entry@/.
+
+/Since: 3.12/
+-}
+entrySetMaxWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Int32
+    {- ^ /@nChars@/: the new desired maximum width, in characters -}
+    -> m ()
+entrySetMaxWidthChars entry nChars = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    gtk_entry_set_max_width_chars entry' nChars
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetMaxWidthCharsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetMaxWidthCharsMethodInfo a signature where
+    overloadedMethod _ = entrySetMaxWidthChars
+
+#endif
+
+-- method Entry::set_overwrite_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "overwrite", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_overwrite_mode" gtk_entry_set_overwrite_mode :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CInt ->                                 -- overwrite : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the text is overwritten when typing in the 'GI.Gtk.Objects.Entry.Entry'.
+
+/Since: 2.14/
+-}
+entrySetOverwriteMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Bool
+    {- ^ /@overwrite@/: new value -}
+    -> m ()
+entrySetOverwriteMode entry overwrite = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let overwrite' = (fromIntegral . fromEnum) overwrite
+    gtk_entry_set_overwrite_mode entry' overwrite'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetOverwriteModeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetOverwriteModeMethodInfo a signature where
+    overloadedMethod _ = entrySetOverwriteMode
+
+#endif
+
+-- method Entry::set_placeholder_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string to be displayed when @entry is empty and unfocused, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_placeholder_text" gtk_entry_set_placeholder_text :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets text to be displayed in /@entry@/ when it is empty and unfocused.
+This can be used to give a visual hint of the expected contents of
+the 'GI.Gtk.Objects.Entry.Entry'.
+
+Note that since the placeholder text gets removed when the entry
+received focus, using this feature is a bit problematic if the entry
+is given the initial focus in a window. Sometimes this can be
+worked around by delaying the initial focus setting until the
+first key event arrives.
+
+/Since: 3.2/
+-}
+entrySetPlaceholderText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Maybe (T.Text)
+    {- ^ /@text@/: a string to be displayed when /@entry@/ is empty and unfocused, or 'Nothing' -}
+    -> m ()
+entrySetPlaceholderText entry text = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    maybeText <- case text of
+        Nothing -> return nullPtr
+        Just jText -> do
+            jText' <- textToCString jText
+            return jText'
+    gtk_entry_set_placeholder_text entry' maybeText
+    touchManagedPtr entry
+    freeMem maybeText
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetPlaceholderTextMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetPlaceholderTextMethodInfo a signature where
+    overloadedMethod _ = entrySetPlaceholderText
+
+#endif
+
+-- method Entry::set_progress_fraction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "fraction of the task that\8217s been completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_progress_fraction" gtk_entry_set_progress_fraction :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CDouble ->                              -- fraction : TBasicType TDouble
+    IO ()
+
+{- |
+Causes the entry’s progress indicator to “fill in” the given
+fraction of the bar. The fraction should be between 0.0 and 1.0,
+inclusive.
+
+/Since: 2.16/
+-}
+entrySetProgressFraction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Double
+    {- ^ /@fraction@/: fraction of the task that’s been completed -}
+    -> m ()
+entrySetProgressFraction entry fraction = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let fraction' = realToFrac fraction
+    gtk_entry_set_progress_fraction entry' fraction'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetProgressFractionMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetProgressFractionMethodInfo a signature where
+    overloadedMethod _ = entrySetProgressFraction
+
+#endif
+
+-- method Entry::set_progress_pulse_step
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "fraction between 0.0 and 1.0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_progress_pulse_step" gtk_entry_set_progress_pulse_step :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CDouble ->                              -- fraction : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the fraction of total entry width to move the progress
+bouncing block for each call to 'GI.Gtk.Objects.Entry.entryProgressPulse'.
+
+/Since: 2.16/
+-}
+entrySetProgressPulseStep ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Double
+    {- ^ /@fraction@/: fraction between 0.0 and 1.0 -}
+    -> m ()
+entrySetProgressPulseStep entry fraction = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let fraction' = realToFrac fraction
+    gtk_entry_set_progress_pulse_step entry' fraction'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetProgressPulseStepMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetProgressPulseStepMethodInfo a signature where
+    overloadedMethod _ = entrySetProgressPulseStep
+
+#endif
+
+-- method Entry::set_tabs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tabs", argType = TInterface (Name {namespace = "Pango", name = "TabArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoTabArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_tabs" gtk_entry_set_tabs :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Ptr Pango.TabArray.TabArray ->          -- tabs : TInterface (Name {namespace = "Pango", name = "TabArray"})
+    IO ()
+
+{- |
+Sets a 'GI.Pango.Structs.TabArray.TabArray'; the tabstops in the array are applied to the entry
+text.
+
+/Since: 3.10/
+-}
+entrySetTabs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Pango.TabArray.TabArray
+    {- ^ /@tabs@/: a 'GI.Pango.Structs.TabArray.TabArray' -}
+    -> m ()
+entrySetTabs entry tabs = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    tabs' <- unsafeManagedPtrGetPtr tabs
+    gtk_entry_set_tabs entry' tabs'
+    touchManagedPtr entry
+    touchManagedPtr tabs
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetTabsMethodInfo
+instance (signature ~ (Pango.TabArray.TabArray -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetTabsMethodInfo a signature where
+    overloadedMethod _ = entrySetTabs
+
+#endif
+
+-- method Entry::set_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_text" gtk_entry_set_text :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text in the widget to the given
+value, replacing the current contents.
+
+See 'GI.Gtk.Objects.EntryBuffer.entryBufferSetText'.
+-}
+entrySetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> T.Text
+    {- ^ /@text@/: the new text -}
+    -> m ()
+entrySetText entry text = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    text' <- textToCString text
+    gtk_entry_set_text entry' text'
+    touchManagedPtr entry
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetTextMethodInfo a signature where
+    overloadedMethod _ = entrySetText
+
+#endif
+
+-- method Entry::set_visibility
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the contents of the entry are displayed\n          as plaintext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_visibility" gtk_entry_set_visibility :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    CInt ->                                 -- visible : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the contents of the entry are visible or not.
+When visibility is set to 'False', characters are displayed
+as the invisible char, and will also appear that way when
+the text in the entry widget is copied elsewhere.
+
+By default, GTK+ picks the best invisible character available
+in the current font, but it can be changed with
+'GI.Gtk.Objects.Entry.entrySetInvisibleChar'.
+
+Note that you probably want to set 'GI.Gtk.Objects.Entry.Entry':@/input-purpose/@
+to 'GI.Gtk.Enums.InputPurposePassword' or 'GI.Gtk.Enums.InputPurposePin' to
+inform input methods about the purpose of this entry,
+in addition to setting visibility to 'False'.
+-}
+entrySetVisibility ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Bool
+    {- ^ /@visible@/: 'True' if the contents of the entry are displayed
+          as plaintext -}
+    -> m ()
+entrySetVisibility entry visible = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    let visible' = (fromIntegral . fromEnum) visible
+    gtk_entry_set_visibility entry' visible'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetVisibilityMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetVisibilityMethodInfo a signature where
+    overloadedMethod _ = entrySetVisibility
+
+#endif
+
+-- method Entry::set_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width in chars", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_set_width_chars" gtk_entry_set_width_chars :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Int32 ->                                -- n_chars : TBasicType TInt
+    IO ()
+
+{- |
+Changes the size request of the entry to be about the right size
+for /@nChars@/ characters. Note that it changes the size
+request, the size can still be affected by
+how you pack the widget into containers. If /@nChars@/ is -1, the
+size reverts to the default entry size.
+-}
+entrySetWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Int32
+    {- ^ /@nChars@/: width in chars -}
+    -> m ()
+entrySetWidthChars entry nChars = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    gtk_entry_set_width_chars entry' nChars
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntrySetWidthCharsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntry a) => O.MethodInfo EntrySetWidthCharsMethodInfo a signature where
+    overloadedMethod _ = entrySetWidthChars
+
+#endif
+
+-- method Entry::text_index_to_layout_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text_index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "byte index into the entry contents", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_text_index_to_layout_index" gtk_entry_text_index_to_layout_index :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    Int32 ->                                -- text_index : TBasicType TInt
+    IO Int32
+
+{- |
+Converts from a position in the entry contents (returned
+by 'GI.Gtk.Objects.Entry.entryGetText') to a position in the
+entry’s 'GI.Pango.Objects.Layout.Layout' (returned by 'GI.Gtk.Objects.Entry.entryGetLayout',
+with text retrieved via 'GI.Pango.Objects.Layout.layoutGetText').
+-}
+entryTextIndexToLayoutIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> Int32
+    {- ^ /@textIndex@/: byte index into the entry contents -}
+    -> m Int32
+    {- ^ __Returns:__ byte index into the entry layout text -}
+entryTextIndexToLayoutIndex entry textIndex = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    result <- gtk_entry_text_index_to_layout_index entry' textIndex
+    touchManagedPtr entry
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryTextIndexToLayoutIndexMethodInfo
+instance (signature ~ (Int32 -> m Int32), MonadIO m, IsEntry a) => O.MethodInfo EntryTextIndexToLayoutIndexMethodInfo a signature where
+    overloadedMethod _ = entryTextIndexToLayoutIndex
+
+#endif
+
+-- method Entry::unset_invisible_char
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_unset_invisible_char" gtk_entry_unset_invisible_char :: 
+    Ptr Entry ->                            -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO ()
+
+{- |
+Unsets the invisible char previously set with
+'GI.Gtk.Objects.Entry.entrySetInvisibleChar'. So that the
+default invisible char is used again.
+
+/Since: 2.16/
+-}
+entryUnsetInvisibleChar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m ()
+entryUnsetInvisibleChar entry = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    gtk_entry_unset_invisible_char entry'
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryUnsetInvisibleCharMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEntry a) => O.MethodInfo EntryUnsetInvisibleCharMethodInfo a signature where
+    overloadedMethod _ = entryUnsetInvisibleChar
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Entry.hs-boot b/GI/Gtk/Objects/Entry.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Entry.hs-boot
@@ -0,0 +1,446 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Entry where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Entry = Entry (ManagedPtr Entry)
+instance GObject Entry where
+class (GObject o, O.IsDescendantOf Entry o) => IsEntry o
+instance (GObject o, O.IsDescendantOf Entry o) => IsEntry o
+instance O.HasParentTypes Entry
+#if ENABLE_OVERLOADING
+data EntryActivatesDefaultPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryAttributesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCapsLockWarningPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCursorPositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryEditablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryEnableEmojiCompletionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryHasFramePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryImModulePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryInnerBorderPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryInputHintsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryInputPurposePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryInvisibleCharPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryInvisibleCharSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryMaxLengthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryMaxWidthCharsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryOverwriteModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPlaceholderTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPopulateAllPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconActivatablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconGiconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconPixbufPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconSensitivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconStockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconStorageTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconTooltipMarkupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPrimaryIconTooltipTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryProgressFractionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryProgressPulseStepPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryScrollOffsetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconActivatablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconGiconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconPixbufPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconSensitivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconStockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconStorageTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconTooltipMarkupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySecondaryIconTooltipTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySelectionBoundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryShadowTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryShowEmojiIconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryTabsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryTextLengthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryTruncateMultilinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryVisibilityPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryWidthCharsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryXalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBackspaceSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCopyClipboardSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCutClipboardSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryDeleteFromCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryIconPressSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryIconReleaseSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryInsertAtCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryInsertEmojiSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryMoveCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPasteClipboardSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPopulatePopupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryPreeditChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryToggleOverwriteSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetActivatesDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetAttributesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetCompletionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetCurrentIconDragSourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetCursorHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetHasFrameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconActivatableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconAtPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconStorageTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconTooltipMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetIconTooltipTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetInnerBorderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetInputHintsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetInputPurposeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetInvisibleCharMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetLayoutOffsetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetMaxLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetMaxWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetOverwriteModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetPlaceholderTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetProgressFractionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetProgressPulseStepMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetTabsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetTextAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetTextLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetVisibilityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGetWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryGrabFocusWithoutSelectingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryImContextFilterKeypressMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryLayoutIndexToTextIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryProgressPulseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryResetImContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetActivatesDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetAttributesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetCompletionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetCursorHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetHasFrameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetIconActivatableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetIconDragSourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetIconFromGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetIconFromIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetIconFromPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetIconFromStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetIconSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetIconTooltipMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetIconTooltipTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetInnerBorderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetInputHintsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetInputPurposeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetInvisibleCharMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetMaxLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetMaxWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetOverwriteModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetPlaceholderTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetProgressFractionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetProgressPulseStepMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetTabsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetVisibilityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntrySetWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryTextIndexToLayoutIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryUnsetInvisibleCharMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/EntryAccessible.hs b/GI/Gtk/Objects/EntryAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EntryAccessible.hs
@@ -0,0 +1,200 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.EntryAccessible
+    ( 
+
+-- * Exported types
+    EntryAccessible(..)                     ,
+    IsEntryAccessible                       ,
+    toEntryAccessible                       ,
+    noEntryAccessible                       ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.EditableText as Atk.EditableText
+import qualified GI.Atk.Interfaces.Text as Atk.Text
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype EntryAccessible = EntryAccessible (ManagedPtr EntryAccessible)
+foreign import ccall "gtk_entry_accessible_get_type"
+    c_gtk_entry_accessible_get_type :: IO GType
+
+instance GObject EntryAccessible where
+    gobjectType = c_gtk_entry_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `EntryAccessible`, for instance with `toEntryAccessible`.
+class (GObject o, O.IsDescendantOf EntryAccessible o) => IsEntryAccessible o
+instance (GObject o, O.IsDescendantOf EntryAccessible o) => IsEntryAccessible o
+
+instance O.HasParentTypes EntryAccessible
+type instance O.ParentTypes EntryAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.EditableText.EditableText, Atk.Text.Text]
+
+-- | Cast to `EntryAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEntryAccessible :: (MonadIO m, IsEntryAccessible o) => o -> m EntryAccessible
+toEntryAccessible = liftIO . unsafeCastTo EntryAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `EntryAccessible`.
+noEntryAccessible :: Maybe EntryAccessible
+noEntryAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEntryAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEntryAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveEntryAccessibleMethod "addSelection" o = Atk.Text.TextAddSelectionMethodInfo
+    ResolveEntryAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEntryAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEntryAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveEntryAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveEntryAccessibleMethod "copyText" o = Atk.EditableText.EditableTextCopyTextMethodInfo
+    ResolveEntryAccessibleMethod "cutText" o = Atk.EditableText.EditableTextCutTextMethodInfo
+    ResolveEntryAccessibleMethod "deleteText" o = Atk.EditableText.EditableTextDeleteTextMethodInfo
+    ResolveEntryAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveEntryAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEntryAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEntryAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEntryAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveEntryAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveEntryAccessibleMethod "insertText" o = Atk.EditableText.EditableTextInsertTextMethodInfo
+    ResolveEntryAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEntryAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEntryAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEntryAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveEntryAccessibleMethod "pasteText" o = Atk.EditableText.EditableTextPasteTextMethodInfo
+    ResolveEntryAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveEntryAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEntryAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveEntryAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveEntryAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveEntryAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEntryAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveEntryAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveEntryAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveEntryAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveEntryAccessibleMethod "removeSelection" o = Atk.Text.TextRemoveSelectionMethodInfo
+    ResolveEntryAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEntryAccessibleMethod "scrollSubstringTo" o = Atk.Text.TextScrollSubstringToMethodInfo
+    ResolveEntryAccessibleMethod "scrollSubstringToPoint" o = Atk.Text.TextScrollSubstringToPointMethodInfo
+    ResolveEntryAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveEntryAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveEntryAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEntryAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEntryAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEntryAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEntryAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEntryAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveEntryAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveEntryAccessibleMethod "getBoundedRanges" o = Atk.Text.TextGetBoundedRangesMethodInfo
+    ResolveEntryAccessibleMethod "getCaretOffset" o = Atk.Text.TextGetCaretOffsetMethodInfo
+    ResolveEntryAccessibleMethod "getCharacterAtOffset" o = Atk.Text.TextGetCharacterAtOffsetMethodInfo
+    ResolveEntryAccessibleMethod "getCharacterCount" o = Atk.Text.TextGetCharacterCountMethodInfo
+    ResolveEntryAccessibleMethod "getCharacterExtents" o = Atk.Text.TextGetCharacterExtentsMethodInfo
+    ResolveEntryAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEntryAccessibleMethod "getDefaultAttributes" o = Atk.Text.TextGetDefaultAttributesMethodInfo
+    ResolveEntryAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveEntryAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveEntryAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveEntryAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveEntryAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveEntryAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveEntryAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveEntryAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveEntryAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveEntryAccessibleMethod "getNSelections" o = Atk.Text.TextGetNSelectionsMethodInfo
+    ResolveEntryAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveEntryAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveEntryAccessibleMethod "getOffsetAtPoint" o = Atk.Text.TextGetOffsetAtPointMethodInfo
+    ResolveEntryAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveEntryAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveEntryAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEntryAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEntryAccessibleMethod "getRangeExtents" o = Atk.Text.TextGetRangeExtentsMethodInfo
+    ResolveEntryAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveEntryAccessibleMethod "getRunAttributes" o = Atk.Text.TextGetRunAttributesMethodInfo
+    ResolveEntryAccessibleMethod "getSelection" o = Atk.Text.TextGetSelectionMethodInfo
+    ResolveEntryAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveEntryAccessibleMethod "getStringAtOffset" o = Atk.Text.TextGetStringAtOffsetMethodInfo
+    ResolveEntryAccessibleMethod "getText" o = Atk.Text.TextGetTextMethodInfo
+    ResolveEntryAccessibleMethod "getTextAfterOffset" o = Atk.Text.TextGetTextAfterOffsetMethodInfo
+    ResolveEntryAccessibleMethod "getTextAtOffset" o = Atk.Text.TextGetTextAtOffsetMethodInfo
+    ResolveEntryAccessibleMethod "getTextBeforeOffset" o = Atk.Text.TextGetTextBeforeOffsetMethodInfo
+    ResolveEntryAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveEntryAccessibleMethod "setCaretOffset" o = Atk.Text.TextSetCaretOffsetMethodInfo
+    ResolveEntryAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEntryAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveEntryAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveEntryAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveEntryAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveEntryAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveEntryAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEntryAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveEntryAccessibleMethod "setRunAttributes" o = Atk.EditableText.EditableTextSetRunAttributesMethodInfo
+    ResolveEntryAccessibleMethod "setSelection" o = Atk.Text.TextSetSelectionMethodInfo
+    ResolveEntryAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveEntryAccessibleMethod "setTextContents" o = Atk.EditableText.EditableTextSetTextContentsMethodInfo
+    ResolveEntryAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveEntryAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEntryAccessibleMethod t EntryAccessible, O.MethodInfo info EntryAccessible p) => OL.IsLabel t (EntryAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList EntryAccessible
+type instance O.AttributeList EntryAccessible = EntryAccessibleAttributeList
+type EntryAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList EntryAccessible = EntryAccessibleSignalList
+type EntryAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("textAttributesChanged", Atk.Text.TextTextAttributesChangedSignalInfo), '("textCaretMoved", Atk.Text.TextTextCaretMovedSignalInfo), '("textChanged", Atk.Text.TextTextChangedSignalInfo), '("textInsert", Atk.Text.TextTextInsertSignalInfo), '("textRemove", Atk.Text.TextTextRemoveSignalInfo), '("textSelectionChanged", Atk.Text.TextTextSelectionChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/EntryAccessible.hs-boot b/GI/Gtk/Objects/EntryAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EntryAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.EntryAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype EntryAccessible = EntryAccessible (ManagedPtr EntryAccessible)
+instance GObject EntryAccessible where
+class (GObject o, O.IsDescendantOf EntryAccessible o) => IsEntryAccessible o
+instance (GObject o, O.IsDescendantOf EntryAccessible o) => IsEntryAccessible o
+instance O.HasParentTypes EntryAccessible
diff --git a/GI/Gtk/Objects/EntryBuffer.hs b/GI/Gtk/Objects/EntryBuffer.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EntryBuffer.hs
@@ -0,0 +1,1106 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' class contains the actual text displayed in a
+'GI.Gtk.Objects.Entry.Entry' widget.
+
+A single 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' object can be shared by multiple 'GI.Gtk.Objects.Entry.Entry'
+widgets which will then share the same text content, but not the cursor
+position, visibility attributes, icon etc.
+
+'GI.Gtk.Objects.EntryBuffer.EntryBuffer' may be derived from. Such a derived class might allow
+text to be stored in an alternate location, such as non-pageable memory,
+useful in the case of important passwords. Or a derived class could
+integrate with an application’s concept of undo\/redo.
+
+/Since: 2.18/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.EntryBuffer
+    ( 
+
+-- * Exported types
+    EntryBuffer(..)                         ,
+    IsEntryBuffer                           ,
+    toEntryBuffer                           ,
+    noEntryBuffer                           ,
+
+
+ -- * Methods
+-- ** deleteText #method:deleteText#
+
+#if ENABLE_OVERLOADING
+    EntryBufferDeleteTextMethodInfo         ,
+#endif
+    entryBufferDeleteText                   ,
+
+
+-- ** emitDeletedText #method:emitDeletedText#
+
+#if ENABLE_OVERLOADING
+    EntryBufferEmitDeletedTextMethodInfo    ,
+#endif
+    entryBufferEmitDeletedText              ,
+
+
+-- ** emitInsertedText #method:emitInsertedText#
+
+#if ENABLE_OVERLOADING
+    EntryBufferEmitInsertedTextMethodInfo   ,
+#endif
+    entryBufferEmitInsertedText             ,
+
+
+-- ** getBytes #method:getBytes#
+
+#if ENABLE_OVERLOADING
+    EntryBufferGetBytesMethodInfo           ,
+#endif
+    entryBufferGetBytes                     ,
+
+
+-- ** getLength #method:getLength#
+
+#if ENABLE_OVERLOADING
+    EntryBufferGetLengthMethodInfo          ,
+#endif
+    entryBufferGetLength                    ,
+
+
+-- ** getMaxLength #method:getMaxLength#
+
+#if ENABLE_OVERLOADING
+    EntryBufferGetMaxLengthMethodInfo       ,
+#endif
+    entryBufferGetMaxLength                 ,
+
+
+-- ** getText #method:getText#
+
+#if ENABLE_OVERLOADING
+    EntryBufferGetTextMethodInfo            ,
+#endif
+    entryBufferGetText                      ,
+
+
+-- ** insertText #method:insertText#
+
+#if ENABLE_OVERLOADING
+    EntryBufferInsertTextMethodInfo         ,
+#endif
+    entryBufferInsertText                   ,
+
+
+-- ** new #method:new#
+
+    entryBufferNew                          ,
+
+
+-- ** setMaxLength #method:setMaxLength#
+
+#if ENABLE_OVERLOADING
+    EntryBufferSetMaxLengthMethodInfo       ,
+#endif
+    entryBufferSetMaxLength                 ,
+
+
+-- ** setText #method:setText#
+
+#if ENABLE_OVERLOADING
+    EntryBufferSetTextMethodInfo            ,
+#endif
+    entryBufferSetText                      ,
+
+
+
+
+ -- * Properties
+-- ** length #attr:length#
+{- | The length (in characters) of the text in buffer.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    EntryBufferLengthPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    entryBufferLength                       ,
+#endif
+    getEntryBufferLength                    ,
+
+
+-- ** maxLength #attr:maxLength#
+{- | The maximum length (in characters) of the text in the buffer.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    EntryBufferMaxLengthPropertyInfo        ,
+#endif
+    constructEntryBufferMaxLength           ,
+#if ENABLE_OVERLOADING
+    entryBufferMaxLength                    ,
+#endif
+    getEntryBufferMaxLength                 ,
+    setEntryBufferMaxLength                 ,
+
+
+-- ** text #attr:text#
+{- | The contents of the buffer.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    EntryBufferTextPropertyInfo             ,
+#endif
+    clearEntryBufferText                    ,
+    constructEntryBufferText                ,
+#if ENABLE_OVERLOADING
+    entryBufferText                         ,
+#endif
+    getEntryBufferText                      ,
+    setEntryBufferText                      ,
+
+
+
+
+ -- * Signals
+-- ** deletedText #signal:deletedText#
+
+    C_EntryBufferDeletedTextCallback        ,
+    EntryBufferDeletedTextCallback          ,
+#if ENABLE_OVERLOADING
+    EntryBufferDeletedTextSignalInfo        ,
+#endif
+    afterEntryBufferDeletedText             ,
+    genClosure_EntryBufferDeletedText       ,
+    mk_EntryBufferDeletedTextCallback       ,
+    noEntryBufferDeletedTextCallback        ,
+    onEntryBufferDeletedText                ,
+    wrap_EntryBufferDeletedTextCallback     ,
+
+
+-- ** insertedText #signal:insertedText#
+
+    C_EntryBufferInsertedTextCallback       ,
+    EntryBufferInsertedTextCallback         ,
+#if ENABLE_OVERLOADING
+    EntryBufferInsertedTextSignalInfo       ,
+#endif
+    afterEntryBufferInsertedText            ,
+    genClosure_EntryBufferInsertedText      ,
+    mk_EntryBufferInsertedTextCallback      ,
+    noEntryBufferInsertedTextCallback       ,
+    onEntryBufferInsertedText               ,
+    wrap_EntryBufferInsertedTextCallback    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+
+-- | Memory-managed wrapper type.
+newtype EntryBuffer = EntryBuffer (ManagedPtr EntryBuffer)
+foreign import ccall "gtk_entry_buffer_get_type"
+    c_gtk_entry_buffer_get_type :: IO GType
+
+instance GObject EntryBuffer where
+    gobjectType = c_gtk_entry_buffer_get_type
+    
+
+-- | Type class for types which can be safely cast to `EntryBuffer`, for instance with `toEntryBuffer`.
+class (GObject o, O.IsDescendantOf EntryBuffer o) => IsEntryBuffer o
+instance (GObject o, O.IsDescendantOf EntryBuffer o) => IsEntryBuffer o
+
+instance O.HasParentTypes EntryBuffer
+type instance O.ParentTypes EntryBuffer = '[GObject.Object.Object]
+
+-- | Cast to `EntryBuffer`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEntryBuffer :: (MonadIO m, IsEntryBuffer o) => o -> m EntryBuffer
+toEntryBuffer = liftIO . unsafeCastTo EntryBuffer
+
+-- | A convenience alias for `Nothing` :: `Maybe` `EntryBuffer`.
+noEntryBuffer :: Maybe EntryBuffer
+noEntryBuffer = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEntryBufferMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEntryBufferMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEntryBufferMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEntryBufferMethod "deleteText" o = EntryBufferDeleteTextMethodInfo
+    ResolveEntryBufferMethod "emitDeletedText" o = EntryBufferEmitDeletedTextMethodInfo
+    ResolveEntryBufferMethod "emitInsertedText" o = EntryBufferEmitInsertedTextMethodInfo
+    ResolveEntryBufferMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEntryBufferMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEntryBufferMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEntryBufferMethod "insertText" o = EntryBufferInsertTextMethodInfo
+    ResolveEntryBufferMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEntryBufferMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEntryBufferMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEntryBufferMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEntryBufferMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEntryBufferMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEntryBufferMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEntryBufferMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEntryBufferMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEntryBufferMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEntryBufferMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEntryBufferMethod "getBytes" o = EntryBufferGetBytesMethodInfo
+    ResolveEntryBufferMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEntryBufferMethod "getLength" o = EntryBufferGetLengthMethodInfo
+    ResolveEntryBufferMethod "getMaxLength" o = EntryBufferGetMaxLengthMethodInfo
+    ResolveEntryBufferMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEntryBufferMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEntryBufferMethod "getText" o = EntryBufferGetTextMethodInfo
+    ResolveEntryBufferMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEntryBufferMethod "setMaxLength" o = EntryBufferSetMaxLengthMethodInfo
+    ResolveEntryBufferMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEntryBufferMethod "setText" o = EntryBufferSetTextMethodInfo
+    ResolveEntryBufferMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEntryBufferMethod t EntryBuffer, O.MethodInfo info EntryBuffer p) => OL.IsLabel t (EntryBuffer -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal EntryBuffer::deleted-text
+{- |
+This signal is emitted after text is deleted from the buffer.
+
+/Since: 2.18/
+-}
+type EntryBufferDeletedTextCallback =
+    Word32
+    {- ^ /@position@/: the position the text was deleted at. -}
+    -> Word32
+    {- ^ /@nChars@/: The number of characters that were deleted. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryBufferDeletedTextCallback`@.
+noEntryBufferDeletedTextCallback :: Maybe EntryBufferDeletedTextCallback
+noEntryBufferDeletedTextCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryBufferDeletedTextCallback =
+    Ptr () ->                               -- object
+    Word32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryBufferDeletedTextCallback`.
+foreign import ccall "wrapper"
+    mk_EntryBufferDeletedTextCallback :: C_EntryBufferDeletedTextCallback -> IO (FunPtr C_EntryBufferDeletedTextCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryBufferDeletedText :: MonadIO m => EntryBufferDeletedTextCallback -> m (GClosure C_EntryBufferDeletedTextCallback)
+genClosure_EntryBufferDeletedText cb = liftIO $ do
+    let cb' = wrap_EntryBufferDeletedTextCallback cb
+    mk_EntryBufferDeletedTextCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryBufferDeletedTextCallback` into a `C_EntryBufferDeletedTextCallback`.
+wrap_EntryBufferDeletedTextCallback ::
+    EntryBufferDeletedTextCallback ->
+    C_EntryBufferDeletedTextCallback
+wrap_EntryBufferDeletedTextCallback _cb _ position nChars _ = do
+    _cb  position nChars
+
+
+{- |
+Connect a signal handler for the “@deleted-text@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entryBuffer #deletedText callback
+@
+-}
+onEntryBufferDeletedText :: (IsEntryBuffer a, MonadIO m) => a -> EntryBufferDeletedTextCallback -> m SignalHandlerId
+onEntryBufferDeletedText obj cb = liftIO $ do
+    let cb' = wrap_EntryBufferDeletedTextCallback cb
+    cb'' <- mk_EntryBufferDeletedTextCallback cb'
+    connectSignalFunPtr obj "deleted-text" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@deleted-text@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entryBuffer #deletedText callback
+@
+-}
+afterEntryBufferDeletedText :: (IsEntryBuffer a, MonadIO m) => a -> EntryBufferDeletedTextCallback -> m SignalHandlerId
+afterEntryBufferDeletedText obj cb = liftIO $ do
+    let cb' = wrap_EntryBufferDeletedTextCallback cb
+    cb'' <- mk_EntryBufferDeletedTextCallback cb'
+    connectSignalFunPtr obj "deleted-text" cb'' SignalConnectAfter
+
+
+-- signal EntryBuffer::inserted-text
+{- |
+This signal is emitted after text is inserted into the buffer.
+
+/Since: 2.18/
+-}
+type EntryBufferInsertedTextCallback =
+    Word32
+    {- ^ /@position@/: the position the text was inserted at. -}
+    -> T.Text
+    {- ^ /@chars@/: The text that was inserted. -}
+    -> Word32
+    {- ^ /@nChars@/: The number of characters that were inserted. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryBufferInsertedTextCallback`@.
+noEntryBufferInsertedTextCallback :: Maybe EntryBufferInsertedTextCallback
+noEntryBufferInsertedTextCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryBufferInsertedTextCallback =
+    Ptr () ->                               -- object
+    Word32 ->
+    CString ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryBufferInsertedTextCallback`.
+foreign import ccall "wrapper"
+    mk_EntryBufferInsertedTextCallback :: C_EntryBufferInsertedTextCallback -> IO (FunPtr C_EntryBufferInsertedTextCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryBufferInsertedText :: MonadIO m => EntryBufferInsertedTextCallback -> m (GClosure C_EntryBufferInsertedTextCallback)
+genClosure_EntryBufferInsertedText cb = liftIO $ do
+    let cb' = wrap_EntryBufferInsertedTextCallback cb
+    mk_EntryBufferInsertedTextCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryBufferInsertedTextCallback` into a `C_EntryBufferInsertedTextCallback`.
+wrap_EntryBufferInsertedTextCallback ::
+    EntryBufferInsertedTextCallback ->
+    C_EntryBufferInsertedTextCallback
+wrap_EntryBufferInsertedTextCallback _cb _ position chars nChars _ = do
+    chars' <- cstringToText chars
+    _cb  position chars' nChars
+
+
+{- |
+Connect a signal handler for the “@inserted-text@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entryBuffer #insertedText callback
+@
+-}
+onEntryBufferInsertedText :: (IsEntryBuffer a, MonadIO m) => a -> EntryBufferInsertedTextCallback -> m SignalHandlerId
+onEntryBufferInsertedText obj cb = liftIO $ do
+    let cb' = wrap_EntryBufferInsertedTextCallback cb
+    cb'' <- mk_EntryBufferInsertedTextCallback cb'
+    connectSignalFunPtr obj "inserted-text" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@inserted-text@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entryBuffer #insertedText callback
+@
+-}
+afterEntryBufferInsertedText :: (IsEntryBuffer a, MonadIO m) => a -> EntryBufferInsertedTextCallback -> m SignalHandlerId
+afterEntryBufferInsertedText obj cb = liftIO $ do
+    let cb' = wrap_EntryBufferInsertedTextCallback cb
+    cb'' <- mk_EntryBufferInsertedTextCallback cb'
+    connectSignalFunPtr obj "inserted-text" cb'' SignalConnectAfter
+
+
+-- VVV Prop "length"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@length@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryBuffer #length
+@
+-}
+getEntryBufferLength :: (MonadIO m, IsEntryBuffer o) => o -> m Word32
+getEntryBufferLength obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "length"
+
+#if ENABLE_OVERLOADING
+data EntryBufferLengthPropertyInfo
+instance AttrInfo EntryBufferLengthPropertyInfo where
+    type AttrAllowedOps EntryBufferLengthPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint EntryBufferLengthPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint EntryBufferLengthPropertyInfo = IsEntryBuffer
+    type AttrGetType EntryBufferLengthPropertyInfo = Word32
+    type AttrLabel EntryBufferLengthPropertyInfo = "length"
+    type AttrOrigin EntryBufferLengthPropertyInfo = EntryBuffer
+    attrGet _ = getEntryBufferLength
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "max-length"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@max-length@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryBuffer #maxLength
+@
+-}
+getEntryBufferMaxLength :: (MonadIO m, IsEntryBuffer o) => o -> m Int32
+getEntryBufferMaxLength obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-length"
+
+{- |
+Set the value of the “@max-length@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryBuffer [ #maxLength 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryBufferMaxLength :: (MonadIO m, IsEntryBuffer o) => o -> Int32 -> m ()
+setEntryBufferMaxLength obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "max-length" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-length@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryBufferMaxLength :: (IsEntryBuffer o) => Int32 -> IO (GValueConstruct o)
+constructEntryBufferMaxLength val = B.Properties.constructObjectPropertyInt32 "max-length" val
+
+#if ENABLE_OVERLOADING
+data EntryBufferMaxLengthPropertyInfo
+instance AttrInfo EntryBufferMaxLengthPropertyInfo where
+    type AttrAllowedOps EntryBufferMaxLengthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryBufferMaxLengthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint EntryBufferMaxLengthPropertyInfo = IsEntryBuffer
+    type AttrGetType EntryBufferMaxLengthPropertyInfo = Int32
+    type AttrLabel EntryBufferMaxLengthPropertyInfo = "max-length"
+    type AttrOrigin EntryBufferMaxLengthPropertyInfo = EntryBuffer
+    attrGet _ = getEntryBufferMaxLength
+    attrSet _ = setEntryBufferMaxLength
+    attrConstruct _ = constructEntryBufferMaxLength
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryBuffer #text
+@
+-}
+getEntryBufferText :: (MonadIO m, IsEntryBuffer o) => o -> m T.Text
+getEntryBufferText obj = liftIO $ checkUnexpectedNothing "getEntryBufferText" $ B.Properties.getObjectPropertyString obj "text"
+
+{- |
+Set the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryBuffer [ #text 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryBufferText :: (MonadIO m, IsEntryBuffer o) => o -> T.Text -> m ()
+setEntryBufferText obj val = liftIO $ B.Properties.setObjectPropertyString obj "text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryBufferText :: (IsEntryBuffer o) => T.Text -> IO (GValueConstruct o)
+constructEntryBufferText val = B.Properties.constructObjectPropertyString "text" (Just val)
+
+{- |
+Set the value of the “@text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #text
+@
+-}
+clearEntryBufferText :: (MonadIO m, IsEntryBuffer o) => o -> m ()
+clearEntryBufferText obj = liftIO $ B.Properties.setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data EntryBufferTextPropertyInfo
+instance AttrInfo EntryBufferTextPropertyInfo where
+    type AttrAllowedOps EntryBufferTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryBufferTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint EntryBufferTextPropertyInfo = IsEntryBuffer
+    type AttrGetType EntryBufferTextPropertyInfo = T.Text
+    type AttrLabel EntryBufferTextPropertyInfo = "text"
+    type AttrOrigin EntryBufferTextPropertyInfo = EntryBuffer
+    attrGet _ = getEntryBufferText
+    attrSet _ = setEntryBufferText
+    attrConstruct _ = constructEntryBufferText
+    attrClear _ = clearEntryBufferText
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList EntryBuffer
+type instance O.AttributeList EntryBuffer = EntryBufferAttributeList
+type EntryBufferAttributeList = ('[ '("length", EntryBufferLengthPropertyInfo), '("maxLength", EntryBufferMaxLengthPropertyInfo), '("text", EntryBufferTextPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+entryBufferLength :: AttrLabelProxy "length"
+entryBufferLength = AttrLabelProxy
+
+entryBufferMaxLength :: AttrLabelProxy "maxLength"
+entryBufferMaxLength = AttrLabelProxy
+
+entryBufferText :: AttrLabelProxy "text"
+entryBufferText = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data EntryBufferDeletedTextSignalInfo
+instance SignalInfo EntryBufferDeletedTextSignalInfo where
+    type HaskellCallbackType EntryBufferDeletedTextSignalInfo = EntryBufferDeletedTextCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryBufferDeletedTextCallback cb
+        cb'' <- mk_EntryBufferDeletedTextCallback cb'
+        connectSignalFunPtr obj "deleted-text" cb'' connectMode
+
+data EntryBufferInsertedTextSignalInfo
+instance SignalInfo EntryBufferInsertedTextSignalInfo where
+    type HaskellCallbackType EntryBufferInsertedTextSignalInfo = EntryBufferInsertedTextCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryBufferInsertedTextCallback cb
+        cb'' <- mk_EntryBufferInsertedTextCallback cb'
+        connectSignalFunPtr obj "inserted-text" cb'' connectMode
+
+type instance O.SignalList EntryBuffer = EntryBufferSignalList
+type EntryBufferSignalList = ('[ '("deletedText", EntryBufferDeletedTextSignalInfo), '("insertedText", EntryBufferInsertedTextSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method EntryBuffer::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "initial_chars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "initial buffer text, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_initial_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters in @initial_chars, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_new" gtk_entry_buffer_new :: 
+    CString ->                              -- initial_chars : TBasicType TUTF8
+    Int32 ->                                -- n_initial_chars : TBasicType TInt
+    IO (Ptr EntryBuffer)
+
+{- |
+Create a new GtkEntryBuffer object.
+
+Optionally, specify initial text to set in the buffer.
+
+/Since: 2.18/
+-}
+entryBufferNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@initialChars@/: initial buffer text, or 'Nothing' -}
+    -> Int32
+    {- ^ /@nInitialChars@/: number of characters in /@initialChars@/, or -1 -}
+    -> m EntryBuffer
+    {- ^ __Returns:__ A new GtkEntryBuffer object. -}
+entryBufferNew initialChars nInitialChars = liftIO $ do
+    maybeInitialChars <- case initialChars of
+        Nothing -> return nullPtr
+        Just jInitialChars -> do
+            jInitialChars' <- textToCString jInitialChars
+            return jInitialChars'
+    result <- gtk_entry_buffer_new maybeInitialChars nInitialChars
+    checkUnexpectedReturnNULL "entryBufferNew" result
+    result' <- (wrapObject EntryBuffer) result
+    freeMem maybeInitialChars
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method EntryBuffer::delete_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position at which to delete text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters to delete", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_delete_text" gtk_entry_buffer_delete_text :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    Word32 ->                               -- position : TBasicType TUInt
+    Int32 ->                                -- n_chars : TBasicType TInt
+    IO Word32
+
+{- |
+Deletes a sequence of characters from the buffer. /@nChars@/ characters are
+deleted starting at /@position@/. If /@nChars@/ is negative, then all characters
+until the end of the text are deleted.
+
+If /@position@/ or /@nChars@/ are out of bounds, then they are coerced to sane
+values.
+
+Note that the positions are specified in characters, not bytes.
+
+/Since: 2.18/
+-}
+entryBufferDeleteText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> Word32
+    {- ^ /@position@/: position at which to delete text -}
+    -> Int32
+    {- ^ /@nChars@/: number of characters to delete -}
+    -> m Word32
+    {- ^ __Returns:__ The number of characters deleted. -}
+entryBufferDeleteText buffer position nChars = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_entry_buffer_delete_text buffer' position nChars
+    touchManagedPtr buffer
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryBufferDeleteTextMethodInfo
+instance (signature ~ (Word32 -> Int32 -> m Word32), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferDeleteTextMethodInfo a signature where
+    overloadedMethod _ = entryBufferDeleteText
+
+#endif
+
+-- method EntryBuffer::emit_deleted_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position at which text was deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_emit_deleted_text" gtk_entry_buffer_emit_deleted_text :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    Word32 ->                               -- position : TBasicType TUInt
+    Word32 ->                               -- n_chars : TBasicType TUInt
+    IO ()
+
+{- |
+Used when subclassing 'GI.Gtk.Objects.EntryBuffer.EntryBuffer'
+
+/Since: 2.18/
+-}
+entryBufferEmitDeletedText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> Word32
+    {- ^ /@position@/: position at which text was deleted -}
+    -> Word32
+    {- ^ /@nChars@/: number of characters deleted -}
+    -> m ()
+entryBufferEmitDeletedText buffer position nChars = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    gtk_entry_buffer_emit_deleted_text buffer' position nChars
+    touchManagedPtr buffer
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryBufferEmitDeletedTextMethodInfo
+instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferEmitDeletedTextMethodInfo a signature where
+    overloadedMethod _ = entryBufferEmitDeletedText
+
+#endif
+
+-- method EntryBuffer::emit_inserted_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position at which text was inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text that was inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_emit_inserted_text" gtk_entry_buffer_emit_inserted_text :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    Word32 ->                               -- position : TBasicType TUInt
+    CString ->                              -- chars : TBasicType TUTF8
+    Word32 ->                               -- n_chars : TBasicType TUInt
+    IO ()
+
+{- |
+Used when subclassing 'GI.Gtk.Objects.EntryBuffer.EntryBuffer'
+
+/Since: 2.18/
+-}
+entryBufferEmitInsertedText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> Word32
+    {- ^ /@position@/: position at which text was inserted -}
+    -> T.Text
+    {- ^ /@chars@/: text that was inserted -}
+    -> Word32
+    {- ^ /@nChars@/: number of characters inserted -}
+    -> m ()
+entryBufferEmitInsertedText buffer position chars nChars = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    chars' <- textToCString chars
+    gtk_entry_buffer_emit_inserted_text buffer' position chars' nChars
+    touchManagedPtr buffer
+    freeMem chars'
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryBufferEmitInsertedTextMethodInfo
+instance (signature ~ (Word32 -> T.Text -> Word32 -> m ()), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferEmitInsertedTextMethodInfo a signature where
+    overloadedMethod _ = entryBufferEmitInsertedText
+
+#endif
+
+-- method EntryBuffer::get_bytes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt64)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_get_bytes" gtk_entry_buffer_get_bytes :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    IO Word64
+
+{- |
+Retrieves the length in bytes of the buffer.
+See 'GI.Gtk.Objects.EntryBuffer.entryBufferGetLength'.
+
+/Since: 2.18/
+-}
+entryBufferGetBytes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> m Word64
+    {- ^ __Returns:__ The byte length of the buffer. -}
+entryBufferGetBytes buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_entry_buffer_get_bytes buffer'
+    touchManagedPtr buffer
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryBufferGetBytesMethodInfo
+instance (signature ~ (m Word64), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferGetBytesMethodInfo a signature where
+    overloadedMethod _ = entryBufferGetBytes
+
+#endif
+
+-- method EntryBuffer::get_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_get_length" gtk_entry_buffer_get_length :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    IO Word32
+
+{- |
+Retrieves the length in characters of the buffer.
+
+/Since: 2.18/
+-}
+entryBufferGetLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> m Word32
+    {- ^ __Returns:__ The number of characters in the buffer. -}
+entryBufferGetLength buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_entry_buffer_get_length buffer'
+    touchManagedPtr buffer
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryBufferGetLengthMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferGetLengthMethodInfo a signature where
+    overloadedMethod _ = entryBufferGetLength
+
+#endif
+
+-- method EntryBuffer::get_max_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_get_max_length" gtk_entry_buffer_get_max_length :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    IO Int32
+
+{- |
+Retrieves the maximum allowed length of the text in
+/@buffer@/. See 'GI.Gtk.Objects.EntryBuffer.entryBufferSetMaxLength'.
+
+/Since: 2.18/
+-}
+entryBufferGetMaxLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> m Int32
+    {- ^ __Returns:__ the maximum allowed number of characters
+              in 'GI.Gtk.Objects.EntryBuffer.EntryBuffer', or 0 if there is no maximum. -}
+entryBufferGetMaxLength buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_entry_buffer_get_max_length buffer'
+    touchManagedPtr buffer
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryBufferGetMaxLengthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferGetMaxLengthMethodInfo a signature where
+    overloadedMethod _ = entryBufferGetMaxLength
+
+#endif
+
+-- method EntryBuffer::get_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_get_text" gtk_entry_buffer_get_text :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    IO CString
+
+{- |
+Retrieves the contents of the buffer.
+
+The memory pointer returned by this call will not change
+unless this object emits a signal, or is finalized.
+
+/Since: 2.18/
+-}
+entryBufferGetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> m T.Text
+    {- ^ __Returns:__ a pointer to the contents of the widget as a
+     string. This string points to internally allocated
+     storage in the buffer and must not be freed, modified or
+     stored. -}
+entryBufferGetText buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_entry_buffer_get_text buffer'
+    checkUnexpectedReturnNULL "entryBufferGetText" result
+    result' <- cstringToText result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryBufferGetTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferGetTextMethodInfo a signature where
+    overloadedMethod _ = entryBufferGetText
+
+#endif
+
+-- method EntryBuffer::insert_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position at which to insert text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to insert into the buffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the text in characters, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_insert_text" gtk_entry_buffer_insert_text :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    Word32 ->                               -- position : TBasicType TUInt
+    CString ->                              -- chars : TBasicType TUTF8
+    Int32 ->                                -- n_chars : TBasicType TInt
+    IO Word32
+
+{- |
+Inserts /@nChars@/ characters of /@chars@/ into the contents of the
+buffer, at position /@position@/.
+
+If /@nChars@/ is negative, then characters from chars will be inserted
+until a null-terminator is found. If /@position@/ or /@nChars@/ are out of
+bounds, or the maximum buffer text length is exceeded, then they are
+coerced to sane values.
+
+Note that the position and length are in characters, not in bytes.
+
+/Since: 2.18/
+-}
+entryBufferInsertText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> Word32
+    {- ^ /@position@/: the position at which to insert text. -}
+    -> T.Text
+    {- ^ /@chars@/: the text to insert into the buffer. -}
+    -> Int32
+    {- ^ /@nChars@/: the length of the text in characters, or -1 -}
+    -> m Word32
+    {- ^ __Returns:__ The number of characters actually inserted. -}
+entryBufferInsertText buffer position chars nChars = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    chars' <- textToCString chars
+    result <- gtk_entry_buffer_insert_text buffer' position chars' nChars
+    touchManagedPtr buffer
+    freeMem chars'
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryBufferInsertTextMethodInfo
+instance (signature ~ (Word32 -> T.Text -> Int32 -> m Word32), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferInsertTextMethodInfo a signature where
+    overloadedMethod _ = entryBufferInsertText
+
+#endif
+
+-- method EntryBuffer::set_max_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of the entry buffer, or 0 for no maximum.\n  (other than the maximum length of entries.) The value passed in will\n  be clamped to the range 0-65536.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_set_max_length" gtk_entry_buffer_set_max_length :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    Int32 ->                                -- max_length : TBasicType TInt
+    IO ()
+
+{- |
+Sets the maximum allowed length of the contents of the buffer. If
+the current contents are longer than the given length, then they
+will be truncated to fit.
+
+/Since: 2.18/
+-}
+entryBufferSetMaxLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> Int32
+    {- ^ /@maxLength@/: the maximum length of the entry buffer, or 0 for no maximum.
+  (other than the maximum length of entries.) The value passed in will
+  be clamped to the range 0-65536. -}
+    -> m ()
+entryBufferSetMaxLength buffer maxLength = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    gtk_entry_buffer_set_max_length buffer' maxLength
+    touchManagedPtr buffer
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryBufferSetMaxLengthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferSetMaxLengthMethodInfo a signature where
+    overloadedMethod _ = entryBufferSetMaxLength
+
+#endif
+
+-- method EntryBuffer::set_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "EntryBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of characters in @text, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_buffer_set_text" gtk_entry_buffer_set_text :: 
+    Ptr EntryBuffer ->                      -- buffer : TInterface (Name {namespace = "Gtk", name = "EntryBuffer"})
+    CString ->                              -- chars : TBasicType TUTF8
+    Int32 ->                                -- n_chars : TBasicType TInt
+    IO ()
+
+{- |
+Sets the text in the buffer.
+
+This is roughly equivalent to calling 'GI.Gtk.Objects.EntryBuffer.entryBufferDeleteText'
+and 'GI.Gtk.Objects.EntryBuffer.entryBufferInsertText'.
+
+Note that /@nChars@/ is in characters, not in bytes.
+
+/Since: 2.18/
+-}
+entryBufferSetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.EntryBuffer.EntryBuffer' -}
+    -> T.Text
+    {- ^ /@chars@/: the new text -}
+    -> Int32
+    {- ^ /@nChars@/: the number of characters in /@text@/, or -1 -}
+    -> m ()
+entryBufferSetText buffer chars nChars = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    chars' <- textToCString chars
+    gtk_entry_buffer_set_text buffer' chars' nChars
+    touchManagedPtr buffer
+    freeMem chars'
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryBufferSetTextMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsEntryBuffer a) => O.MethodInfo EntryBufferSetTextMethodInfo a signature where
+    overloadedMethod _ = entryBufferSetText
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/EntryBuffer.hs-boot b/GI/Gtk/Objects/EntryBuffer.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EntryBuffer.hs-boot
@@ -0,0 +1,74 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.EntryBuffer where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype EntryBuffer = EntryBuffer (ManagedPtr EntryBuffer)
+instance GObject EntryBuffer where
+class (GObject o, O.IsDescendantOf EntryBuffer o) => IsEntryBuffer o
+instance (GObject o, O.IsDescendantOf EntryBuffer o) => IsEntryBuffer o
+instance O.HasParentTypes EntryBuffer
+#if ENABLE_OVERLOADING
+data EntryBufferLengthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferMaxLengthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferDeletedTextSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferInsertedTextSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferDeleteTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferEmitDeletedTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferEmitInsertedTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferGetBytesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferGetLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferGetMaxLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferGetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferInsertTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferSetMaxLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryBufferSetTextMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/EntryCompletion.hs b/GI/Gtk/Objects/EntryCompletion.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EntryCompletion.hs
@@ -0,0 +1,2626 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.EntryCompletion.EntryCompletion' is an auxiliary object to be used in conjunction with
+'GI.Gtk.Objects.Entry.Entry' to provide the completion functionality. It implements the
+'GI.Gtk.Interfaces.CellLayout.CellLayout' interface, to allow the user to add extra cells to the
+'GI.Gtk.Objects.TreeView.TreeView' with completion matches.
+
+“Completion functionality” means that when the user modifies the text
+in the entry, 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' checks which rows in the model match
+the current content of the entry, and displays a list of matches.
+By default, the matching is done by comparing the entry text
+case-insensitively against the text column of the model (see
+'GI.Gtk.Objects.EntryCompletion.entryCompletionSetTextColumn'), but this can be overridden
+with a custom match function (see 'GI.Gtk.Objects.EntryCompletion.entryCompletionSetMatchFunc').
+
+When the user selects a completion, the content of the entry is
+updated. By default, the content of the entry is replaced by the
+text column of the model, but this can be overridden by connecting
+to the 'GI.Gtk.Objects.EntryCompletion.EntryCompletion'::@/match-selected/@ signal and updating the
+entry in the signal handler. Note that you should return 'True' from
+the signal handler to suppress the default behaviour.
+
+To add completion functionality to an entry, use 'GI.Gtk.Objects.Entry.entrySetCompletion'.
+
+In addition to regular completion matches, which will be inserted into the
+entry when they are selected, 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' also allows to display
+“actions” in the popup window. Their appearance is similar to menuitems,
+to differentiate them clearly from completion strings. When an action is
+selected, the 'GI.Gtk.Objects.EntryCompletion.EntryCompletion'::@/action-activated/@ signal is emitted.
+
+GtkEntryCompletion uses a 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' model to represent the
+subset of the entire model that is currently matching. While the
+GtkEntryCompletion signals 'GI.Gtk.Objects.EntryCompletion.EntryCompletion'::@/match-selected/@ and
+'GI.Gtk.Objects.EntryCompletion.EntryCompletion'::@/cursor-on-match/@ take the original model and an
+iter pointing to that model as arguments, other callbacks and signals
+(such as @/GtkCellLayoutDataFuncs/@ or 'GI.Gtk.Objects.CellArea.CellArea'::@/apply-attributes/@)
+will generally take the filter model as argument. As long as you are
+only calling @/gtk_tree_model_get()/@, this will make no difference to
+you. If for some reason, you need the original model, use
+'GI.Gtk.Objects.TreeModelFilter.treeModelFilterGetModel'. Don’t forget to use
+'GI.Gtk.Objects.TreeModelFilter.treeModelFilterConvertIterToChildIter' to obtain a
+matching iter.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.EntryCompletion
+    ( 
+
+-- * Exported types
+    EntryCompletion(..)                     ,
+    IsEntryCompletion                       ,
+    toEntryCompletion                       ,
+    noEntryCompletion                       ,
+
+
+ -- * Methods
+-- ** complete #method:complete#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionCompleteMethodInfo       ,
+#endif
+    entryCompletionComplete                 ,
+
+
+-- ** computePrefix #method:computePrefix#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionComputePrefixMethodInfo  ,
+#endif
+    entryCompletionComputePrefix            ,
+
+
+-- ** deleteAction #method:deleteAction#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionDeleteActionMethodInfo   ,
+#endif
+    entryCompletionDeleteAction             ,
+
+
+-- ** getCompletionPrefix #method:getCompletionPrefix#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetCompletionPrefixMethodInfo,
+#endif
+    entryCompletionGetCompletionPrefix      ,
+
+
+-- ** getEntry #method:getEntry#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetEntryMethodInfo       ,
+#endif
+    entryCompletionGetEntry                 ,
+
+
+-- ** getInlineCompletion #method:getInlineCompletion#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetInlineCompletionMethodInfo,
+#endif
+    entryCompletionGetInlineCompletion      ,
+
+
+-- ** getInlineSelection #method:getInlineSelection#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetInlineSelectionMethodInfo,
+#endif
+    entryCompletionGetInlineSelection       ,
+
+
+-- ** getMinimumKeyLength #method:getMinimumKeyLength#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetMinimumKeyLengthMethodInfo,
+#endif
+    entryCompletionGetMinimumKeyLength      ,
+
+
+-- ** getModel #method:getModel#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetModelMethodInfo       ,
+#endif
+    entryCompletionGetModel                 ,
+
+
+-- ** getPopupCompletion #method:getPopupCompletion#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetPopupCompletionMethodInfo,
+#endif
+    entryCompletionGetPopupCompletion       ,
+
+
+-- ** getPopupSetWidth #method:getPopupSetWidth#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetPopupSetWidthMethodInfo,
+#endif
+    entryCompletionGetPopupSetWidth         ,
+
+
+-- ** getPopupSingleMatch #method:getPopupSingleMatch#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetPopupSingleMatchMethodInfo,
+#endif
+    entryCompletionGetPopupSingleMatch      ,
+
+
+-- ** getTextColumn #method:getTextColumn#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionGetTextColumnMethodInfo  ,
+#endif
+    entryCompletionGetTextColumn            ,
+
+
+-- ** insertActionMarkup #method:insertActionMarkup#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionInsertActionMarkupMethodInfo,
+#endif
+    entryCompletionInsertActionMarkup       ,
+
+
+-- ** insertActionText #method:insertActionText#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionInsertActionTextMethodInfo,
+#endif
+    entryCompletionInsertActionText         ,
+
+
+-- ** insertPrefix #method:insertPrefix#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionInsertPrefixMethodInfo   ,
+#endif
+    entryCompletionInsertPrefix             ,
+
+
+-- ** new #method:new#
+
+    entryCompletionNew                      ,
+
+
+-- ** newWithArea #method:newWithArea#
+
+    entryCompletionNewWithArea              ,
+
+
+-- ** setInlineCompletion #method:setInlineCompletion#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionSetInlineCompletionMethodInfo,
+#endif
+    entryCompletionSetInlineCompletion      ,
+
+
+-- ** setInlineSelection #method:setInlineSelection#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionSetInlineSelectionMethodInfo,
+#endif
+    entryCompletionSetInlineSelection       ,
+
+
+-- ** setMatchFunc #method:setMatchFunc#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionSetMatchFuncMethodInfo   ,
+#endif
+    entryCompletionSetMatchFunc             ,
+
+
+-- ** setMinimumKeyLength #method:setMinimumKeyLength#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionSetMinimumKeyLengthMethodInfo,
+#endif
+    entryCompletionSetMinimumKeyLength      ,
+
+
+-- ** setModel #method:setModel#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionSetModelMethodInfo       ,
+#endif
+    entryCompletionSetModel                 ,
+
+
+-- ** setPopupCompletion #method:setPopupCompletion#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionSetPopupCompletionMethodInfo,
+#endif
+    entryCompletionSetPopupCompletion       ,
+
+
+-- ** setPopupSetWidth #method:setPopupSetWidth#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionSetPopupSetWidthMethodInfo,
+#endif
+    entryCompletionSetPopupSetWidth         ,
+
+
+-- ** setPopupSingleMatch #method:setPopupSingleMatch#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionSetPopupSingleMatchMethodInfo,
+#endif
+    entryCompletionSetPopupSingleMatch      ,
+
+
+-- ** setTextColumn #method:setTextColumn#
+
+#if ENABLE_OVERLOADING
+    EntryCompletionSetTextColumnMethodInfo  ,
+#endif
+    entryCompletionSetTextColumn            ,
+
+
+
+
+ -- * Properties
+-- ** cellArea #attr:cellArea#
+{- | The 'GI.Gtk.Objects.CellArea.CellArea' used to layout cell renderers in the treeview column.
+
+If no area is specified when creating the entry completion with
+'GI.Gtk.Objects.EntryCompletion.entryCompletionNewWithArea' a horizontally oriented
+'GI.Gtk.Objects.CellAreaBox.CellAreaBox' will be used.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionCellAreaPropertyInfo     ,
+#endif
+    constructEntryCompletionCellArea        ,
+#if ENABLE_OVERLOADING
+    entryCompletionCellArea                 ,
+#endif
+    getEntryCompletionCellArea              ,
+
+
+-- ** inlineCompletion #attr:inlineCompletion#
+{- | Determines whether the common prefix of the possible completions
+should be inserted automatically in the entry. Note that this
+requires text-column to be set, even if you are using a custom
+match function.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionInlineCompletionPropertyInfo,
+#endif
+    constructEntryCompletionInlineCompletion,
+#if ENABLE_OVERLOADING
+    entryCompletionInlineCompletion         ,
+#endif
+    getEntryCompletionInlineCompletion      ,
+    setEntryCompletionInlineCompletion      ,
+
+
+-- ** inlineSelection #attr:inlineSelection#
+{- | Determines whether the possible completions on the popup
+will appear in the entry as you navigate through them.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionInlineSelectionPropertyInfo,
+#endif
+    constructEntryCompletionInlineSelection ,
+#if ENABLE_OVERLOADING
+    entryCompletionInlineSelection          ,
+#endif
+    getEntryCompletionInlineSelection       ,
+    setEntryCompletionInlineSelection       ,
+
+
+-- ** minimumKeyLength #attr:minimumKeyLength#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionMinimumKeyLengthPropertyInfo,
+#endif
+    constructEntryCompletionMinimumKeyLength,
+#if ENABLE_OVERLOADING
+    entryCompletionMinimumKeyLength         ,
+#endif
+    getEntryCompletionMinimumKeyLength      ,
+    setEntryCompletionMinimumKeyLength      ,
+
+
+-- ** model #attr:model#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionModelPropertyInfo        ,
+#endif
+    clearEntryCompletionModel               ,
+    constructEntryCompletionModel           ,
+#if ENABLE_OVERLOADING
+    entryCompletionModel                    ,
+#endif
+    getEntryCompletionModel                 ,
+    setEntryCompletionModel                 ,
+
+
+-- ** popupCompletion #attr:popupCompletion#
+{- | Determines whether the possible completions should be
+shown in a popup window.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionPopupCompletionPropertyInfo,
+#endif
+    constructEntryCompletionPopupCompletion ,
+#if ENABLE_OVERLOADING
+    entryCompletionPopupCompletion          ,
+#endif
+    getEntryCompletionPopupCompletion       ,
+    setEntryCompletionPopupCompletion       ,
+
+
+-- ** popupSetWidth #attr:popupSetWidth#
+{- | Determines whether the completions popup window will be
+resized to the width of the entry.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionPopupSetWidthPropertyInfo,
+#endif
+    constructEntryCompletionPopupSetWidth   ,
+#if ENABLE_OVERLOADING
+    entryCompletionPopupSetWidth            ,
+#endif
+    getEntryCompletionPopupSetWidth         ,
+    setEntryCompletionPopupSetWidth         ,
+
+
+-- ** popupSingleMatch #attr:popupSingleMatch#
+{- | Determines whether the completions popup window will shown
+for a single possible completion. You probably want to set
+this to 'False' if you are using
+[inline completion][GtkEntryCompletion--inline-completion].
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionPopupSingleMatchPropertyInfo,
+#endif
+    constructEntryCompletionPopupSingleMatch,
+#if ENABLE_OVERLOADING
+    entryCompletionPopupSingleMatch         ,
+#endif
+    getEntryCompletionPopupSingleMatch      ,
+    setEntryCompletionPopupSingleMatch      ,
+
+
+-- ** textColumn #attr:textColumn#
+{- | The column of the model containing the strings.
+Note that the strings must be UTF-8.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    EntryCompletionTextColumnPropertyInfo   ,
+#endif
+    constructEntryCompletionTextColumn      ,
+#if ENABLE_OVERLOADING
+    entryCompletionTextColumn               ,
+#endif
+    getEntryCompletionTextColumn            ,
+    setEntryCompletionTextColumn            ,
+
+
+
+
+ -- * Signals
+-- ** actionActivated #signal:actionActivated#
+
+    C_EntryCompletionActionActivatedCallback,
+    EntryCompletionActionActivatedCallback  ,
+#if ENABLE_OVERLOADING
+    EntryCompletionActionActivatedSignalInfo,
+#endif
+    afterEntryCompletionActionActivated     ,
+    genClosure_EntryCompletionActionActivated,
+    mk_EntryCompletionActionActivatedCallback,
+    noEntryCompletionActionActivatedCallback,
+    onEntryCompletionActionActivated        ,
+    wrap_EntryCompletionActionActivatedCallback,
+
+
+-- ** cursorOnMatch #signal:cursorOnMatch#
+
+    C_EntryCompletionCursorOnMatchCallback  ,
+    EntryCompletionCursorOnMatchCallback    ,
+#if ENABLE_OVERLOADING
+    EntryCompletionCursorOnMatchSignalInfo  ,
+#endif
+    afterEntryCompletionCursorOnMatch       ,
+    genClosure_EntryCompletionCursorOnMatch ,
+    mk_EntryCompletionCursorOnMatchCallback ,
+    noEntryCompletionCursorOnMatchCallback  ,
+    onEntryCompletionCursorOnMatch          ,
+    wrap_EntryCompletionCursorOnMatchCallback,
+
+
+-- ** insertPrefix #signal:insertPrefix#
+
+    C_EntryCompletionInsertPrefixCallback   ,
+    EntryCompletionInsertPrefixCallback     ,
+#if ENABLE_OVERLOADING
+    EntryCompletionInsertPrefixSignalInfo   ,
+#endif
+    afterEntryCompletionInsertPrefix        ,
+    genClosure_EntryCompletionInsertPrefix  ,
+    mk_EntryCompletionInsertPrefixCallback  ,
+    noEntryCompletionInsertPrefixCallback   ,
+    onEntryCompletionInsertPrefix           ,
+    wrap_EntryCompletionInsertPrefixCallback,
+
+
+-- ** matchSelected #signal:matchSelected#
+
+    C_EntryCompletionMatchSelectedCallback  ,
+    EntryCompletionMatchSelectedCallback    ,
+#if ENABLE_OVERLOADING
+    EntryCompletionMatchSelectedSignalInfo  ,
+#endif
+    afterEntryCompletionMatchSelected       ,
+    genClosure_EntryCompletionMatchSelected ,
+    mk_EntryCompletionMatchSelectedCallback ,
+    noEntryCompletionMatchSelectedCallback  ,
+    onEntryCompletionMatchSelected          ,
+    wrap_EntryCompletionMatchSelectedCallback,
+
+
+-- ** noMatches #signal:noMatches#
+
+    C_EntryCompletionNoMatchesCallback      ,
+    EntryCompletionNoMatchesCallback        ,
+#if ENABLE_OVERLOADING
+    EntryCompletionNoMatchesSignalInfo      ,
+#endif
+    afterEntryCompletionNoMatches           ,
+    genClosure_EntryCompletionNoMatches     ,
+    mk_EntryCompletionNoMatchesCallback     ,
+    noEntryCompletionNoMatchesCallback      ,
+    onEntryCompletionNoMatches              ,
+    wrap_EntryCompletionNoMatchesCallback   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellArea as Gtk.CellArea
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+
+-- | Memory-managed wrapper type.
+newtype EntryCompletion = EntryCompletion (ManagedPtr EntryCompletion)
+foreign import ccall "gtk_entry_completion_get_type"
+    c_gtk_entry_completion_get_type :: IO GType
+
+instance GObject EntryCompletion where
+    gobjectType = c_gtk_entry_completion_get_type
+    
+
+-- | Type class for types which can be safely cast to `EntryCompletion`, for instance with `toEntryCompletion`.
+class (GObject o, O.IsDescendantOf EntryCompletion o) => IsEntryCompletion o
+instance (GObject o, O.IsDescendantOf EntryCompletion o) => IsEntryCompletion o
+
+instance O.HasParentTypes EntryCompletion
+type instance O.ParentTypes EntryCompletion = '[GObject.Object.Object, Gtk.Buildable.Buildable, Gtk.CellLayout.CellLayout]
+
+-- | Cast to `EntryCompletion`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEntryCompletion :: (MonadIO m, IsEntryCompletion o) => o -> m EntryCompletion
+toEntryCompletion = liftIO . unsafeCastTo EntryCompletion
+
+-- | A convenience alias for `Nothing` :: `Maybe` `EntryCompletion`.
+noEntryCompletion :: Maybe EntryCompletion
+noEntryCompletion = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEntryCompletionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEntryCompletionMethod "addAttribute" o = Gtk.CellLayout.CellLayoutAddAttributeMethodInfo
+    ResolveEntryCompletionMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveEntryCompletionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEntryCompletionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEntryCompletionMethod "clear" o = Gtk.CellLayout.CellLayoutClearMethodInfo
+    ResolveEntryCompletionMethod "clearAttributes" o = Gtk.CellLayout.CellLayoutClearAttributesMethodInfo
+    ResolveEntryCompletionMethod "complete" o = EntryCompletionCompleteMethodInfo
+    ResolveEntryCompletionMethod "computePrefix" o = EntryCompletionComputePrefixMethodInfo
+    ResolveEntryCompletionMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveEntryCompletionMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveEntryCompletionMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveEntryCompletionMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveEntryCompletionMethod "deleteAction" o = EntryCompletionDeleteActionMethodInfo
+    ResolveEntryCompletionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEntryCompletionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEntryCompletionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEntryCompletionMethod "insertActionMarkup" o = EntryCompletionInsertActionMarkupMethodInfo
+    ResolveEntryCompletionMethod "insertActionText" o = EntryCompletionInsertActionTextMethodInfo
+    ResolveEntryCompletionMethod "insertPrefix" o = EntryCompletionInsertPrefixMethodInfo
+    ResolveEntryCompletionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEntryCompletionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEntryCompletionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEntryCompletionMethod "packEnd" o = Gtk.CellLayout.CellLayoutPackEndMethodInfo
+    ResolveEntryCompletionMethod "packStart" o = Gtk.CellLayout.CellLayoutPackStartMethodInfo
+    ResolveEntryCompletionMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveEntryCompletionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEntryCompletionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEntryCompletionMethod "reorder" o = Gtk.CellLayout.CellLayoutReorderMethodInfo
+    ResolveEntryCompletionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEntryCompletionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEntryCompletionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEntryCompletionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEntryCompletionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEntryCompletionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEntryCompletionMethod "getArea" o = Gtk.CellLayout.CellLayoutGetAreaMethodInfo
+    ResolveEntryCompletionMethod "getCells" o = Gtk.CellLayout.CellLayoutGetCellsMethodInfo
+    ResolveEntryCompletionMethod "getCompletionPrefix" o = EntryCompletionGetCompletionPrefixMethodInfo
+    ResolveEntryCompletionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEntryCompletionMethod "getEntry" o = EntryCompletionGetEntryMethodInfo
+    ResolveEntryCompletionMethod "getInlineCompletion" o = EntryCompletionGetInlineCompletionMethodInfo
+    ResolveEntryCompletionMethod "getInlineSelection" o = EntryCompletionGetInlineSelectionMethodInfo
+    ResolveEntryCompletionMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveEntryCompletionMethod "getMinimumKeyLength" o = EntryCompletionGetMinimumKeyLengthMethodInfo
+    ResolveEntryCompletionMethod "getModel" o = EntryCompletionGetModelMethodInfo
+    ResolveEntryCompletionMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveEntryCompletionMethod "getPopupCompletion" o = EntryCompletionGetPopupCompletionMethodInfo
+    ResolveEntryCompletionMethod "getPopupSetWidth" o = EntryCompletionGetPopupSetWidthMethodInfo
+    ResolveEntryCompletionMethod "getPopupSingleMatch" o = EntryCompletionGetPopupSingleMatchMethodInfo
+    ResolveEntryCompletionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEntryCompletionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEntryCompletionMethod "getTextColumn" o = EntryCompletionGetTextColumnMethodInfo
+    ResolveEntryCompletionMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveEntryCompletionMethod "setCellDataFunc" o = Gtk.CellLayout.CellLayoutSetCellDataFuncMethodInfo
+    ResolveEntryCompletionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEntryCompletionMethod "setInlineCompletion" o = EntryCompletionSetInlineCompletionMethodInfo
+    ResolveEntryCompletionMethod "setInlineSelection" o = EntryCompletionSetInlineSelectionMethodInfo
+    ResolveEntryCompletionMethod "setMatchFunc" o = EntryCompletionSetMatchFuncMethodInfo
+    ResolveEntryCompletionMethod "setMinimumKeyLength" o = EntryCompletionSetMinimumKeyLengthMethodInfo
+    ResolveEntryCompletionMethod "setModel" o = EntryCompletionSetModelMethodInfo
+    ResolveEntryCompletionMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveEntryCompletionMethod "setPopupCompletion" o = EntryCompletionSetPopupCompletionMethodInfo
+    ResolveEntryCompletionMethod "setPopupSetWidth" o = EntryCompletionSetPopupSetWidthMethodInfo
+    ResolveEntryCompletionMethod "setPopupSingleMatch" o = EntryCompletionSetPopupSingleMatchMethodInfo
+    ResolveEntryCompletionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEntryCompletionMethod "setTextColumn" o = EntryCompletionSetTextColumnMethodInfo
+    ResolveEntryCompletionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEntryCompletionMethod t EntryCompletion, O.MethodInfo info EntryCompletion p) => OL.IsLabel t (EntryCompletion -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal EntryCompletion::action-activated
+{- |
+Gets emitted when an action is activated.
+
+/Since: 2.4/
+-}
+type EntryCompletionActionActivatedCallback =
+    Int32
+    {- ^ /@index@/: the index of the activated action -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryCompletionActionActivatedCallback`@.
+noEntryCompletionActionActivatedCallback :: Maybe EntryCompletionActionActivatedCallback
+noEntryCompletionActionActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryCompletionActionActivatedCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryCompletionActionActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_EntryCompletionActionActivatedCallback :: C_EntryCompletionActionActivatedCallback -> IO (FunPtr C_EntryCompletionActionActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryCompletionActionActivated :: MonadIO m => EntryCompletionActionActivatedCallback -> m (GClosure C_EntryCompletionActionActivatedCallback)
+genClosure_EntryCompletionActionActivated cb = liftIO $ do
+    let cb' = wrap_EntryCompletionActionActivatedCallback cb
+    mk_EntryCompletionActionActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryCompletionActionActivatedCallback` into a `C_EntryCompletionActionActivatedCallback`.
+wrap_EntryCompletionActionActivatedCallback ::
+    EntryCompletionActionActivatedCallback ->
+    C_EntryCompletionActionActivatedCallback
+wrap_EntryCompletionActionActivatedCallback _cb _ index _ = do
+    _cb  index
+
+
+{- |
+Connect a signal handler for the “@action-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entryCompletion #actionActivated callback
+@
+-}
+onEntryCompletionActionActivated :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionActionActivatedCallback -> m SignalHandlerId
+onEntryCompletionActionActivated obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionActionActivatedCallback cb
+    cb'' <- mk_EntryCompletionActionActivatedCallback cb'
+    connectSignalFunPtr obj "action-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@action-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entryCompletion #actionActivated callback
+@
+-}
+afterEntryCompletionActionActivated :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionActionActivatedCallback -> m SignalHandlerId
+afterEntryCompletionActionActivated obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionActionActivatedCallback cb
+    cb'' <- mk_EntryCompletionActionActivatedCallback cb'
+    connectSignalFunPtr obj "action-activated" cb'' SignalConnectAfter
+
+
+-- signal EntryCompletion::cursor-on-match
+{- |
+Gets emitted when a match from the cursor is on a match
+of the list. The default behaviour is to replace the contents
+of the entry with the contents of the text column in the row
+pointed to by /@iter@/.
+
+Note that /@model@/ is the model that was passed to
+'GI.Gtk.Objects.EntryCompletion.entryCompletionSetModel'.
+
+/Since: 2.12/
+-}
+type EntryCompletionCursorOnMatchCallback =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' containing the matches -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' positioned at the selected match -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the signal has been handled -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryCompletionCursorOnMatchCallback`@.
+noEntryCompletionCursorOnMatchCallback :: Maybe EntryCompletionCursorOnMatchCallback
+noEntryCompletionCursorOnMatchCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryCompletionCursorOnMatchCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_EntryCompletionCursorOnMatchCallback`.
+foreign import ccall "wrapper"
+    mk_EntryCompletionCursorOnMatchCallback :: C_EntryCompletionCursorOnMatchCallback -> IO (FunPtr C_EntryCompletionCursorOnMatchCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryCompletionCursorOnMatch :: MonadIO m => EntryCompletionCursorOnMatchCallback -> m (GClosure C_EntryCompletionCursorOnMatchCallback)
+genClosure_EntryCompletionCursorOnMatch cb = liftIO $ do
+    let cb' = wrap_EntryCompletionCursorOnMatchCallback cb
+    mk_EntryCompletionCursorOnMatchCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryCompletionCursorOnMatchCallback` into a `C_EntryCompletionCursorOnMatchCallback`.
+wrap_EntryCompletionCursorOnMatchCallback ::
+    EntryCompletionCursorOnMatchCallback ->
+    C_EntryCompletionCursorOnMatchCallback
+wrap_EntryCompletionCursorOnMatchCallback _cb _ model iter _ = do
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        result <- _cb  model' iter'
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+{- |
+Connect a signal handler for the “@cursor-on-match@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entryCompletion #cursorOnMatch callback
+@
+-}
+onEntryCompletionCursorOnMatch :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionCursorOnMatchCallback -> m SignalHandlerId
+onEntryCompletionCursorOnMatch obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionCursorOnMatchCallback cb
+    cb'' <- mk_EntryCompletionCursorOnMatchCallback cb'
+    connectSignalFunPtr obj "cursor-on-match" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cursor-on-match@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entryCompletion #cursorOnMatch callback
+@
+-}
+afterEntryCompletionCursorOnMatch :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionCursorOnMatchCallback -> m SignalHandlerId
+afterEntryCompletionCursorOnMatch obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionCursorOnMatchCallback cb
+    cb'' <- mk_EntryCompletionCursorOnMatchCallback cb'
+    connectSignalFunPtr obj "cursor-on-match" cb'' SignalConnectAfter
+
+
+-- signal EntryCompletion::insert-prefix
+{- |
+Gets emitted when the inline autocompletion is triggered.
+The default behaviour is to make the entry display the
+whole prefix and select the newly inserted part.
+
+Applications may connect to this signal in order to insert only a
+smaller part of the /@prefix@/ into the entry - e.g. the entry used in
+the 'GI.Gtk.Interfaces.FileChooser.FileChooser' inserts only the part of the prefix up to the
+next \'\/\'.
+
+/Since: 2.6/
+-}
+type EntryCompletionInsertPrefixCallback =
+    T.Text
+    {- ^ /@prefix@/: the common prefix of all possible completions -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the signal has been handled -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryCompletionInsertPrefixCallback`@.
+noEntryCompletionInsertPrefixCallback :: Maybe EntryCompletionInsertPrefixCallback
+noEntryCompletionInsertPrefixCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryCompletionInsertPrefixCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_EntryCompletionInsertPrefixCallback`.
+foreign import ccall "wrapper"
+    mk_EntryCompletionInsertPrefixCallback :: C_EntryCompletionInsertPrefixCallback -> IO (FunPtr C_EntryCompletionInsertPrefixCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryCompletionInsertPrefix :: MonadIO m => EntryCompletionInsertPrefixCallback -> m (GClosure C_EntryCompletionInsertPrefixCallback)
+genClosure_EntryCompletionInsertPrefix cb = liftIO $ do
+    let cb' = wrap_EntryCompletionInsertPrefixCallback cb
+    mk_EntryCompletionInsertPrefixCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryCompletionInsertPrefixCallback` into a `C_EntryCompletionInsertPrefixCallback`.
+wrap_EntryCompletionInsertPrefixCallback ::
+    EntryCompletionInsertPrefixCallback ->
+    C_EntryCompletionInsertPrefixCallback
+wrap_EntryCompletionInsertPrefixCallback _cb _ prefix _ = do
+    prefix' <- cstringToText prefix
+    result <- _cb  prefix'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@insert-prefix@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entryCompletion #insertPrefix callback
+@
+-}
+onEntryCompletionInsertPrefix :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionInsertPrefixCallback -> m SignalHandlerId
+onEntryCompletionInsertPrefix obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionInsertPrefixCallback cb
+    cb'' <- mk_EntryCompletionInsertPrefixCallback cb'
+    connectSignalFunPtr obj "insert-prefix" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert-prefix@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entryCompletion #insertPrefix callback
+@
+-}
+afterEntryCompletionInsertPrefix :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionInsertPrefixCallback -> m SignalHandlerId
+afterEntryCompletionInsertPrefix obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionInsertPrefixCallback cb
+    cb'' <- mk_EntryCompletionInsertPrefixCallback cb'
+    connectSignalFunPtr obj "insert-prefix" cb'' SignalConnectAfter
+
+
+-- signal EntryCompletion::match-selected
+{- |
+Gets emitted when a match from the list is selected.
+The default behaviour is to replace the contents of the
+entry with the contents of the text column in the row
+pointed to by /@iter@/.
+
+Note that /@model@/ is the model that was passed to
+'GI.Gtk.Objects.EntryCompletion.entryCompletionSetModel'.
+
+/Since: 2.4/
+-}
+type EntryCompletionMatchSelectedCallback =
+    Gtk.TreeModel.TreeModel
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' containing the matches -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter' positioned at the selected match -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the signal has been handled -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryCompletionMatchSelectedCallback`@.
+noEntryCompletionMatchSelectedCallback :: Maybe EntryCompletionMatchSelectedCallback
+noEntryCompletionMatchSelectedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryCompletionMatchSelectedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreeModel.TreeModel ->
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_EntryCompletionMatchSelectedCallback`.
+foreign import ccall "wrapper"
+    mk_EntryCompletionMatchSelectedCallback :: C_EntryCompletionMatchSelectedCallback -> IO (FunPtr C_EntryCompletionMatchSelectedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryCompletionMatchSelected :: MonadIO m => EntryCompletionMatchSelectedCallback -> m (GClosure C_EntryCompletionMatchSelectedCallback)
+genClosure_EntryCompletionMatchSelected cb = liftIO $ do
+    let cb' = wrap_EntryCompletionMatchSelectedCallback cb
+    mk_EntryCompletionMatchSelectedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryCompletionMatchSelectedCallback` into a `C_EntryCompletionMatchSelectedCallback`.
+wrap_EntryCompletionMatchSelectedCallback ::
+    EntryCompletionMatchSelectedCallback ->
+    C_EntryCompletionMatchSelectedCallback
+wrap_EntryCompletionMatchSelectedCallback _cb _ model iter _ = do
+    model' <- (newObject Gtk.TreeModel.TreeModel) model
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        result <- _cb  model' iter'
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+{- |
+Connect a signal handler for the “@match-selected@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entryCompletion #matchSelected callback
+@
+-}
+onEntryCompletionMatchSelected :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionMatchSelectedCallback -> m SignalHandlerId
+onEntryCompletionMatchSelected obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionMatchSelectedCallback cb
+    cb'' <- mk_EntryCompletionMatchSelectedCallback cb'
+    connectSignalFunPtr obj "match-selected" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@match-selected@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entryCompletion #matchSelected callback
+@
+-}
+afterEntryCompletionMatchSelected :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionMatchSelectedCallback -> m SignalHandlerId
+afterEntryCompletionMatchSelected obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionMatchSelectedCallback cb
+    cb'' <- mk_EntryCompletionMatchSelectedCallback cb'
+    connectSignalFunPtr obj "match-selected" cb'' SignalConnectAfter
+
+
+-- signal EntryCompletion::no-matches
+{- |
+Gets emitted when the filter model has zero
+number of rows in completion_complete method.
+(In other words when GtkEntryCompletion is out of
+ suggestions)
+
+/Since: 3.14/
+-}
+type EntryCompletionNoMatchesCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EntryCompletionNoMatchesCallback`@.
+noEntryCompletionNoMatchesCallback :: Maybe EntryCompletionNoMatchesCallback
+noEntryCompletionNoMatchesCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EntryCompletionNoMatchesCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EntryCompletionNoMatchesCallback`.
+foreign import ccall "wrapper"
+    mk_EntryCompletionNoMatchesCallback :: C_EntryCompletionNoMatchesCallback -> IO (FunPtr C_EntryCompletionNoMatchesCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EntryCompletionNoMatches :: MonadIO m => EntryCompletionNoMatchesCallback -> m (GClosure C_EntryCompletionNoMatchesCallback)
+genClosure_EntryCompletionNoMatches cb = liftIO $ do
+    let cb' = wrap_EntryCompletionNoMatchesCallback cb
+    mk_EntryCompletionNoMatchesCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EntryCompletionNoMatchesCallback` into a `C_EntryCompletionNoMatchesCallback`.
+wrap_EntryCompletionNoMatchesCallback ::
+    EntryCompletionNoMatchesCallback ->
+    C_EntryCompletionNoMatchesCallback
+wrap_EntryCompletionNoMatchesCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@no-matches@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' entryCompletion #noMatches callback
+@
+-}
+onEntryCompletionNoMatches :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionNoMatchesCallback -> m SignalHandlerId
+onEntryCompletionNoMatches obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionNoMatchesCallback cb
+    cb'' <- mk_EntryCompletionNoMatchesCallback cb'
+    connectSignalFunPtr obj "no-matches" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@no-matches@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' entryCompletion #noMatches callback
+@
+-}
+afterEntryCompletionNoMatches :: (IsEntryCompletion a, MonadIO m) => a -> EntryCompletionNoMatchesCallback -> m SignalHandlerId
+afterEntryCompletionNoMatches obj cb = liftIO $ do
+    let cb' = wrap_EntryCompletionNoMatchesCallback cb
+    cb'' <- mk_EntryCompletionNoMatchesCallback cb'
+    connectSignalFunPtr obj "no-matches" cb'' SignalConnectAfter
+
+
+-- VVV Prop "cell-area"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellArea"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cell-area@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryCompletion #cellArea
+@
+-}
+getEntryCompletionCellArea :: (MonadIO m, IsEntryCompletion o) => o -> m (Maybe Gtk.CellArea.CellArea)
+getEntryCompletionCellArea obj = liftIO $ B.Properties.getObjectPropertyObject obj "cell-area" Gtk.CellArea.CellArea
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-area@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletionCellArea :: (IsEntryCompletion o, Gtk.CellArea.IsCellArea a) => a -> IO (GValueConstruct o)
+constructEntryCompletionCellArea val = B.Properties.constructObjectPropertyObject "cell-area" (Just val)
+
+#if ENABLE_OVERLOADING
+data EntryCompletionCellAreaPropertyInfo
+instance AttrInfo EntryCompletionCellAreaPropertyInfo where
+    type AttrAllowedOps EntryCompletionCellAreaPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryCompletionCellAreaPropertyInfo = Gtk.CellArea.IsCellArea
+    type AttrBaseTypeConstraint EntryCompletionCellAreaPropertyInfo = IsEntryCompletion
+    type AttrGetType EntryCompletionCellAreaPropertyInfo = (Maybe Gtk.CellArea.CellArea)
+    type AttrLabel EntryCompletionCellAreaPropertyInfo = "cell-area"
+    type AttrOrigin EntryCompletionCellAreaPropertyInfo = EntryCompletion
+    attrGet _ = getEntryCompletionCellArea
+    attrSet _ = undefined
+    attrConstruct _ = constructEntryCompletionCellArea
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "inline-completion"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@inline-completion@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryCompletion #inlineCompletion
+@
+-}
+getEntryCompletionInlineCompletion :: (MonadIO m, IsEntryCompletion o) => o -> m Bool
+getEntryCompletionInlineCompletion obj = liftIO $ B.Properties.getObjectPropertyBool obj "inline-completion"
+
+{- |
+Set the value of the “@inline-completion@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryCompletion [ #inlineCompletion 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCompletionInlineCompletion :: (MonadIO m, IsEntryCompletion o) => o -> Bool -> m ()
+setEntryCompletionInlineCompletion obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inline-completion" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inline-completion@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletionInlineCompletion :: (IsEntryCompletion o) => Bool -> IO (GValueConstruct o)
+constructEntryCompletionInlineCompletion val = B.Properties.constructObjectPropertyBool "inline-completion" val
+
+#if ENABLE_OVERLOADING
+data EntryCompletionInlineCompletionPropertyInfo
+instance AttrInfo EntryCompletionInlineCompletionPropertyInfo where
+    type AttrAllowedOps EntryCompletionInlineCompletionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryCompletionInlineCompletionPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryCompletionInlineCompletionPropertyInfo = IsEntryCompletion
+    type AttrGetType EntryCompletionInlineCompletionPropertyInfo = Bool
+    type AttrLabel EntryCompletionInlineCompletionPropertyInfo = "inline-completion"
+    type AttrOrigin EntryCompletionInlineCompletionPropertyInfo = EntryCompletion
+    attrGet _ = getEntryCompletionInlineCompletion
+    attrSet _ = setEntryCompletionInlineCompletion
+    attrConstruct _ = constructEntryCompletionInlineCompletion
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "inline-selection"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@inline-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryCompletion #inlineSelection
+@
+-}
+getEntryCompletionInlineSelection :: (MonadIO m, IsEntryCompletion o) => o -> m Bool
+getEntryCompletionInlineSelection obj = liftIO $ B.Properties.getObjectPropertyBool obj "inline-selection"
+
+{- |
+Set the value of the “@inline-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryCompletion [ #inlineSelection 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCompletionInlineSelection :: (MonadIO m, IsEntryCompletion o) => o -> Bool -> m ()
+setEntryCompletionInlineSelection obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inline-selection" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inline-selection@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletionInlineSelection :: (IsEntryCompletion o) => Bool -> IO (GValueConstruct o)
+constructEntryCompletionInlineSelection val = B.Properties.constructObjectPropertyBool "inline-selection" val
+
+#if ENABLE_OVERLOADING
+data EntryCompletionInlineSelectionPropertyInfo
+instance AttrInfo EntryCompletionInlineSelectionPropertyInfo where
+    type AttrAllowedOps EntryCompletionInlineSelectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryCompletionInlineSelectionPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryCompletionInlineSelectionPropertyInfo = IsEntryCompletion
+    type AttrGetType EntryCompletionInlineSelectionPropertyInfo = Bool
+    type AttrLabel EntryCompletionInlineSelectionPropertyInfo = "inline-selection"
+    type AttrOrigin EntryCompletionInlineSelectionPropertyInfo = EntryCompletion
+    attrGet _ = getEntryCompletionInlineSelection
+    attrSet _ = setEntryCompletionInlineSelection
+    attrConstruct _ = constructEntryCompletionInlineSelection
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "minimum-key-length"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@minimum-key-length@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryCompletion #minimumKeyLength
+@
+-}
+getEntryCompletionMinimumKeyLength :: (MonadIO m, IsEntryCompletion o) => o -> m Int32
+getEntryCompletionMinimumKeyLength obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "minimum-key-length"
+
+{- |
+Set the value of the “@minimum-key-length@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryCompletion [ #minimumKeyLength 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCompletionMinimumKeyLength :: (MonadIO m, IsEntryCompletion o) => o -> Int32 -> m ()
+setEntryCompletionMinimumKeyLength obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "minimum-key-length" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@minimum-key-length@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletionMinimumKeyLength :: (IsEntryCompletion o) => Int32 -> IO (GValueConstruct o)
+constructEntryCompletionMinimumKeyLength val = B.Properties.constructObjectPropertyInt32 "minimum-key-length" val
+
+#if ENABLE_OVERLOADING
+data EntryCompletionMinimumKeyLengthPropertyInfo
+instance AttrInfo EntryCompletionMinimumKeyLengthPropertyInfo where
+    type AttrAllowedOps EntryCompletionMinimumKeyLengthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryCompletionMinimumKeyLengthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint EntryCompletionMinimumKeyLengthPropertyInfo = IsEntryCompletion
+    type AttrGetType EntryCompletionMinimumKeyLengthPropertyInfo = Int32
+    type AttrLabel EntryCompletionMinimumKeyLengthPropertyInfo = "minimum-key-length"
+    type AttrOrigin EntryCompletionMinimumKeyLengthPropertyInfo = EntryCompletion
+    attrGet _ = getEntryCompletionMinimumKeyLength
+    attrSet _ = setEntryCompletionMinimumKeyLength
+    attrConstruct _ = constructEntryCompletionMinimumKeyLength
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "model"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryCompletion #model
+@
+-}
+getEntryCompletionModel :: (MonadIO m, IsEntryCompletion o) => o -> m (Maybe Gtk.TreeModel.TreeModel)
+getEntryCompletionModel obj = liftIO $ B.Properties.getObjectPropertyObject obj "model" Gtk.TreeModel.TreeModel
+
+{- |
+Set the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryCompletion [ #model 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCompletionModel :: (MonadIO m, IsEntryCompletion o, Gtk.TreeModel.IsTreeModel a) => o -> a -> m ()
+setEntryCompletionModel obj val = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletionModel :: (IsEntryCompletion o, Gtk.TreeModel.IsTreeModel a) => a -> IO (GValueConstruct o)
+constructEntryCompletionModel val = B.Properties.constructObjectPropertyObject "model" (Just val)
+
+{- |
+Set the value of the “@model@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #model
+@
+-}
+clearEntryCompletionModel :: (MonadIO m, IsEntryCompletion o) => o -> m ()
+clearEntryCompletionModel obj = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Nothing :: Maybe Gtk.TreeModel.TreeModel)
+
+#if ENABLE_OVERLOADING
+data EntryCompletionModelPropertyInfo
+instance AttrInfo EntryCompletionModelPropertyInfo where
+    type AttrAllowedOps EntryCompletionModelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EntryCompletionModelPropertyInfo = Gtk.TreeModel.IsTreeModel
+    type AttrBaseTypeConstraint EntryCompletionModelPropertyInfo = IsEntryCompletion
+    type AttrGetType EntryCompletionModelPropertyInfo = (Maybe Gtk.TreeModel.TreeModel)
+    type AttrLabel EntryCompletionModelPropertyInfo = "model"
+    type AttrOrigin EntryCompletionModelPropertyInfo = EntryCompletion
+    attrGet _ = getEntryCompletionModel
+    attrSet _ = setEntryCompletionModel
+    attrConstruct _ = constructEntryCompletionModel
+    attrClear _ = clearEntryCompletionModel
+#endif
+
+-- VVV Prop "popup-completion"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@popup-completion@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryCompletion #popupCompletion
+@
+-}
+getEntryCompletionPopupCompletion :: (MonadIO m, IsEntryCompletion o) => o -> m Bool
+getEntryCompletionPopupCompletion obj = liftIO $ B.Properties.getObjectPropertyBool obj "popup-completion"
+
+{- |
+Set the value of the “@popup-completion@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryCompletion [ #popupCompletion 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCompletionPopupCompletion :: (MonadIO m, IsEntryCompletion o) => o -> Bool -> m ()
+setEntryCompletionPopupCompletion obj val = liftIO $ B.Properties.setObjectPropertyBool obj "popup-completion" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@popup-completion@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletionPopupCompletion :: (IsEntryCompletion o) => Bool -> IO (GValueConstruct o)
+constructEntryCompletionPopupCompletion val = B.Properties.constructObjectPropertyBool "popup-completion" val
+
+#if ENABLE_OVERLOADING
+data EntryCompletionPopupCompletionPropertyInfo
+instance AttrInfo EntryCompletionPopupCompletionPropertyInfo where
+    type AttrAllowedOps EntryCompletionPopupCompletionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryCompletionPopupCompletionPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryCompletionPopupCompletionPropertyInfo = IsEntryCompletion
+    type AttrGetType EntryCompletionPopupCompletionPropertyInfo = Bool
+    type AttrLabel EntryCompletionPopupCompletionPropertyInfo = "popup-completion"
+    type AttrOrigin EntryCompletionPopupCompletionPropertyInfo = EntryCompletion
+    attrGet _ = getEntryCompletionPopupCompletion
+    attrSet _ = setEntryCompletionPopupCompletion
+    attrConstruct _ = constructEntryCompletionPopupCompletion
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "popup-set-width"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@popup-set-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryCompletion #popupSetWidth
+@
+-}
+getEntryCompletionPopupSetWidth :: (MonadIO m, IsEntryCompletion o) => o -> m Bool
+getEntryCompletionPopupSetWidth obj = liftIO $ B.Properties.getObjectPropertyBool obj "popup-set-width"
+
+{- |
+Set the value of the “@popup-set-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryCompletion [ #popupSetWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCompletionPopupSetWidth :: (MonadIO m, IsEntryCompletion o) => o -> Bool -> m ()
+setEntryCompletionPopupSetWidth obj val = liftIO $ B.Properties.setObjectPropertyBool obj "popup-set-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@popup-set-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletionPopupSetWidth :: (IsEntryCompletion o) => Bool -> IO (GValueConstruct o)
+constructEntryCompletionPopupSetWidth val = B.Properties.constructObjectPropertyBool "popup-set-width" val
+
+#if ENABLE_OVERLOADING
+data EntryCompletionPopupSetWidthPropertyInfo
+instance AttrInfo EntryCompletionPopupSetWidthPropertyInfo where
+    type AttrAllowedOps EntryCompletionPopupSetWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryCompletionPopupSetWidthPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryCompletionPopupSetWidthPropertyInfo = IsEntryCompletion
+    type AttrGetType EntryCompletionPopupSetWidthPropertyInfo = Bool
+    type AttrLabel EntryCompletionPopupSetWidthPropertyInfo = "popup-set-width"
+    type AttrOrigin EntryCompletionPopupSetWidthPropertyInfo = EntryCompletion
+    attrGet _ = getEntryCompletionPopupSetWidth
+    attrSet _ = setEntryCompletionPopupSetWidth
+    attrConstruct _ = constructEntryCompletionPopupSetWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "popup-single-match"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@popup-single-match@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryCompletion #popupSingleMatch
+@
+-}
+getEntryCompletionPopupSingleMatch :: (MonadIO m, IsEntryCompletion o) => o -> m Bool
+getEntryCompletionPopupSingleMatch obj = liftIO $ B.Properties.getObjectPropertyBool obj "popup-single-match"
+
+{- |
+Set the value of the “@popup-single-match@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryCompletion [ #popupSingleMatch 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCompletionPopupSingleMatch :: (MonadIO m, IsEntryCompletion o) => o -> Bool -> m ()
+setEntryCompletionPopupSingleMatch obj val = liftIO $ B.Properties.setObjectPropertyBool obj "popup-single-match" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@popup-single-match@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletionPopupSingleMatch :: (IsEntryCompletion o) => Bool -> IO (GValueConstruct o)
+constructEntryCompletionPopupSingleMatch val = B.Properties.constructObjectPropertyBool "popup-single-match" val
+
+#if ENABLE_OVERLOADING
+data EntryCompletionPopupSingleMatchPropertyInfo
+instance AttrInfo EntryCompletionPopupSingleMatchPropertyInfo where
+    type AttrAllowedOps EntryCompletionPopupSingleMatchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryCompletionPopupSingleMatchPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EntryCompletionPopupSingleMatchPropertyInfo = IsEntryCompletion
+    type AttrGetType EntryCompletionPopupSingleMatchPropertyInfo = Bool
+    type AttrLabel EntryCompletionPopupSingleMatchPropertyInfo = "popup-single-match"
+    type AttrOrigin EntryCompletionPopupSingleMatchPropertyInfo = EntryCompletion
+    attrGet _ = getEntryCompletionPopupSingleMatch
+    attrSet _ = setEntryCompletionPopupSingleMatch
+    attrConstruct _ = constructEntryCompletionPopupSingleMatch
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@text-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' entryCompletion #textColumn
+@
+-}
+getEntryCompletionTextColumn :: (MonadIO m, IsEntryCompletion o) => o -> m Int32
+getEntryCompletionTextColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "text-column"
+
+{- |
+Set the value of the “@text-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' entryCompletion [ #textColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEntryCompletionTextColumn :: (MonadIO m, IsEntryCompletion o) => o -> Int32 -> m ()
+setEntryCompletionTextColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "text-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEntryCompletionTextColumn :: (IsEntryCompletion o) => Int32 -> IO (GValueConstruct o)
+constructEntryCompletionTextColumn val = B.Properties.constructObjectPropertyInt32 "text-column" val
+
+#if ENABLE_OVERLOADING
+data EntryCompletionTextColumnPropertyInfo
+instance AttrInfo EntryCompletionTextColumnPropertyInfo where
+    type AttrAllowedOps EntryCompletionTextColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EntryCompletionTextColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint EntryCompletionTextColumnPropertyInfo = IsEntryCompletion
+    type AttrGetType EntryCompletionTextColumnPropertyInfo = Int32
+    type AttrLabel EntryCompletionTextColumnPropertyInfo = "text-column"
+    type AttrOrigin EntryCompletionTextColumnPropertyInfo = EntryCompletion
+    attrGet _ = getEntryCompletionTextColumn
+    attrSet _ = setEntryCompletionTextColumn
+    attrConstruct _ = constructEntryCompletionTextColumn
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList EntryCompletion
+type instance O.AttributeList EntryCompletion = EntryCompletionAttributeList
+type EntryCompletionAttributeList = ('[ '("cellArea", EntryCompletionCellAreaPropertyInfo), '("inlineCompletion", EntryCompletionInlineCompletionPropertyInfo), '("inlineSelection", EntryCompletionInlineSelectionPropertyInfo), '("minimumKeyLength", EntryCompletionMinimumKeyLengthPropertyInfo), '("model", EntryCompletionModelPropertyInfo), '("popupCompletion", EntryCompletionPopupCompletionPropertyInfo), '("popupSetWidth", EntryCompletionPopupSetWidthPropertyInfo), '("popupSingleMatch", EntryCompletionPopupSingleMatchPropertyInfo), '("textColumn", EntryCompletionTextColumnPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+entryCompletionCellArea :: AttrLabelProxy "cellArea"
+entryCompletionCellArea = AttrLabelProxy
+
+entryCompletionInlineCompletion :: AttrLabelProxy "inlineCompletion"
+entryCompletionInlineCompletion = AttrLabelProxy
+
+entryCompletionInlineSelection :: AttrLabelProxy "inlineSelection"
+entryCompletionInlineSelection = AttrLabelProxy
+
+entryCompletionMinimumKeyLength :: AttrLabelProxy "minimumKeyLength"
+entryCompletionMinimumKeyLength = AttrLabelProxy
+
+entryCompletionModel :: AttrLabelProxy "model"
+entryCompletionModel = AttrLabelProxy
+
+entryCompletionPopupCompletion :: AttrLabelProxy "popupCompletion"
+entryCompletionPopupCompletion = AttrLabelProxy
+
+entryCompletionPopupSetWidth :: AttrLabelProxy "popupSetWidth"
+entryCompletionPopupSetWidth = AttrLabelProxy
+
+entryCompletionPopupSingleMatch :: AttrLabelProxy "popupSingleMatch"
+entryCompletionPopupSingleMatch = AttrLabelProxy
+
+entryCompletionTextColumn :: AttrLabelProxy "textColumn"
+entryCompletionTextColumn = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data EntryCompletionActionActivatedSignalInfo
+instance SignalInfo EntryCompletionActionActivatedSignalInfo where
+    type HaskellCallbackType EntryCompletionActionActivatedSignalInfo = EntryCompletionActionActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryCompletionActionActivatedCallback cb
+        cb'' <- mk_EntryCompletionActionActivatedCallback cb'
+        connectSignalFunPtr obj "action-activated" cb'' connectMode
+
+data EntryCompletionCursorOnMatchSignalInfo
+instance SignalInfo EntryCompletionCursorOnMatchSignalInfo where
+    type HaskellCallbackType EntryCompletionCursorOnMatchSignalInfo = EntryCompletionCursorOnMatchCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryCompletionCursorOnMatchCallback cb
+        cb'' <- mk_EntryCompletionCursorOnMatchCallback cb'
+        connectSignalFunPtr obj "cursor-on-match" cb'' connectMode
+
+data EntryCompletionInsertPrefixSignalInfo
+instance SignalInfo EntryCompletionInsertPrefixSignalInfo where
+    type HaskellCallbackType EntryCompletionInsertPrefixSignalInfo = EntryCompletionInsertPrefixCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryCompletionInsertPrefixCallback cb
+        cb'' <- mk_EntryCompletionInsertPrefixCallback cb'
+        connectSignalFunPtr obj "insert-prefix" cb'' connectMode
+
+data EntryCompletionMatchSelectedSignalInfo
+instance SignalInfo EntryCompletionMatchSelectedSignalInfo where
+    type HaskellCallbackType EntryCompletionMatchSelectedSignalInfo = EntryCompletionMatchSelectedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryCompletionMatchSelectedCallback cb
+        cb'' <- mk_EntryCompletionMatchSelectedCallback cb'
+        connectSignalFunPtr obj "match-selected" cb'' connectMode
+
+data EntryCompletionNoMatchesSignalInfo
+instance SignalInfo EntryCompletionNoMatchesSignalInfo where
+    type HaskellCallbackType EntryCompletionNoMatchesSignalInfo = EntryCompletionNoMatchesCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EntryCompletionNoMatchesCallback cb
+        cb'' <- mk_EntryCompletionNoMatchesCallback cb'
+        connectSignalFunPtr obj "no-matches" cb'' connectMode
+
+type instance O.SignalList EntryCompletion = EntryCompletionSignalList
+type EntryCompletionSignalList = ('[ '("actionActivated", EntryCompletionActionActivatedSignalInfo), '("cursorOnMatch", EntryCompletionCursorOnMatchSignalInfo), '("insertPrefix", EntryCompletionInsertPrefixSignalInfo), '("matchSelected", EntryCompletionMatchSelectedSignalInfo), '("noMatches", EntryCompletionNoMatchesSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method EntryCompletion::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_new" gtk_entry_completion_new :: 
+    IO (Ptr EntryCompletion)
+
+{- |
+Creates a new 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' object.
+
+/Since: 2.4/
+-}
+entryCompletionNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m EntryCompletion
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' object -}
+entryCompletionNew  = liftIO $ do
+    result <- gtk_entry_completion_new
+    checkUnexpectedReturnNULL "entryCompletionNew" result
+    result' <- (wrapObject EntryCompletion) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method EntryCompletion::new_with_area
+-- method type : Constructor
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellArea used to layout cells", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_new_with_area" gtk_entry_completion_new_with_area :: 
+    Ptr Gtk.CellArea.CellArea ->            -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO (Ptr EntryCompletion)
+
+{- |
+Creates a new 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' object using the
+specified /@area@/ to layout cells in the underlying
+'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' for the drop-down menu.
+
+/Since: 3.0/
+-}
+entryCompletionNewWithArea ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellArea.IsCellArea a) =>
+    a
+    {- ^ /@area@/: the 'GI.Gtk.Objects.CellArea.CellArea' used to layout cells -}
+    -> m EntryCompletion
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' object -}
+entryCompletionNewWithArea area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_entry_completion_new_with_area area'
+    checkUnexpectedReturnNULL "entryCompletionNewWithArea" result
+    result' <- (wrapObject EntryCompletion) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method EntryCompletion::complete
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_complete" gtk_entry_completion_complete :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO ()
+
+{- |
+Requests a completion operation, or in other words a refiltering of the
+current list with completions, using the current key. The completion list
+view will be updated accordingly.
+
+/Since: 2.4/
+-}
+entryCompletionComplete ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m ()
+entryCompletionComplete completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    gtk_entry_completion_complete completion'
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionCompleteMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionCompleteMethodInfo a signature where
+    overloadedMethod _ = entryCompletionComplete
+
+#endif
+
+-- method EntryCompletion::compute_prefix
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the entry completion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The text to complete for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_compute_prefix" gtk_entry_completion_compute_prefix :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    CString ->                              -- key : TBasicType TUTF8
+    IO CString
+
+{- |
+Computes the common prefix that is shared by all rows in /@completion@/
+that start with /@key@/. If no row matches /@key@/, 'Nothing' will be returned.
+Note that a text column must have been set for this function to work,
+see 'GI.Gtk.Objects.EntryCompletion.entryCompletionSetTextColumn' for details.
+
+/Since: 3.4/
+-}
+entryCompletionComputePrefix ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: the entry completion -}
+    -> T.Text
+    {- ^ /@key@/: The text to complete for -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ The common prefix all rows starting with
+  /@key@/ or 'Nothing' if no row matches /@key@/. -}
+entryCompletionComputePrefix completion key = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    key' <- textToCString key
+    result <- gtk_entry_completion_compute_prefix completion' key'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr completion
+    freeMem key'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryCompletionComputePrefixMethodInfo
+instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionComputePrefixMethodInfo a signature where
+    overloadedMethod _ = entryCompletionComputePrefix
+
+#endif
+
+-- method EntryCompletion::delete_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the item to delete", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_delete_action" gtk_entry_completion_delete_action :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    Int32 ->                                -- index_ : TBasicType TInt
+    IO ()
+
+{- |
+Deletes the action at /@index_@/ from /@completion@/’s action list.
+
+Note that /@index_@/ is a relative position and the position of an
+action may have changed since it was inserted.
+
+/Since: 2.4/
+-}
+entryCompletionDeleteAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Int32
+    {- ^ /@index_@/: the index of the item to delete -}
+    -> m ()
+entryCompletionDeleteAction completion index_ = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    gtk_entry_completion_delete_action completion' index_
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionDeleteActionMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionDeleteActionMethodInfo a signature where
+    overloadedMethod _ = entryCompletionDeleteAction
+
+#endif
+
+-- method EntryCompletion::get_completion_prefix
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_completion_prefix" gtk_entry_completion_get_completion_prefix :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO CString
+
+{- |
+Get the original text entered by the user that triggered
+the completion or 'Nothing' if there’s no completion ongoing.
+
+/Since: 2.12/
+-}
+entryCompletionGetCompletionPrefix ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m T.Text
+    {- ^ __Returns:__ the prefix for the current completion -}
+entryCompletionGetCompletionPrefix completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_completion_prefix completion'
+    checkUnexpectedReturnNULL "entryCompletionGetCompletionPrefix" result
+    result' <- cstringToText result
+    touchManagedPtr completion
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetCompletionPrefixMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetCompletionPrefixMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetCompletionPrefix
+
+#endif
+
+-- method EntryCompletion::get_entry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_entry" gtk_entry_completion_get_entry :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the entry /@completion@/ has been attached to.
+
+/Since: 2.4/
+-}
+entryCompletionGetEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ The entry /@completion@/ has been attached to -}
+entryCompletionGetEntry completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_entry completion'
+    checkUnexpectedReturnNULL "entryCompletionGetEntry" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr completion
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetEntryMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetEntryMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetEntry
+
+#endif
+
+-- method EntryCompletion::get_inline_completion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_inline_completion" gtk_entry_completion_get_inline_completion :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO CInt
+
+{- |
+Returns whether the common prefix of the possible completions should
+be automatically inserted in the entry.
+
+/Since: 2.6/
+-}
+entryCompletionGetInlineCompletion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if inline completion is turned on -}
+entryCompletionGetInlineCompletion completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_inline_completion completion'
+    let result' = (/= 0) result
+    touchManagedPtr completion
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetInlineCompletionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetInlineCompletionMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetInlineCompletion
+
+#endif
+
+-- method EntryCompletion::get_inline_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_inline_selection" gtk_entry_completion_get_inline_selection :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO CInt
+
+{- |
+Returns 'True' if inline-selection mode is turned on.
+
+/Since: 2.12/
+-}
+entryCompletionGetInlineSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if inline-selection mode is on -}
+entryCompletionGetInlineSelection completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_inline_selection completion'
+    let result' = (/= 0) result
+    touchManagedPtr completion
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetInlineSelectionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetInlineSelectionMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetInlineSelection
+
+#endif
+
+-- method EntryCompletion::get_minimum_key_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_minimum_key_length" gtk_entry_completion_get_minimum_key_length :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO Int32
+
+{- |
+Returns the minimum key length as set for /@completion@/.
+
+/Since: 2.4/
+-}
+entryCompletionGetMinimumKeyLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m Int32
+    {- ^ __Returns:__ The currently used minimum key length -}
+entryCompletionGetMinimumKeyLength completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_minimum_key_length completion'
+    touchManagedPtr completion
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetMinimumKeyLengthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetMinimumKeyLengthMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetMinimumKeyLength
+
+#endif
+
+-- method EntryCompletion::get_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_model" gtk_entry_completion_get_model :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO (Ptr Gtk.TreeModel.TreeModel)
+
+{- |
+Returns the model the 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' is using as data source.
+Returns 'Nothing' if the model is unset.
+
+/Since: 2.4/
+-}
+entryCompletionGetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m (Maybe Gtk.TreeModel.TreeModel)
+    {- ^ __Returns:__ A 'GI.Gtk.Interfaces.TreeModel.TreeModel', or 'Nothing' if none
+    is currently being used -}
+entryCompletionGetModel completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_model completion'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.TreeModel.TreeModel) result'
+        return result''
+    touchManagedPtr completion
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetModelMethodInfo
+instance (signature ~ (m (Maybe Gtk.TreeModel.TreeModel)), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetModelMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetModel
+
+#endif
+
+-- method EntryCompletion::get_popup_completion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_popup_completion" gtk_entry_completion_get_popup_completion :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO CInt
+
+{- |
+Returns whether the completions should be presented in a popup window.
+
+/Since: 2.6/
+-}
+entryCompletionGetPopupCompletion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if popup completion is turned on -}
+entryCompletionGetPopupCompletion completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_popup_completion completion'
+    let result' = (/= 0) result
+    touchManagedPtr completion
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetPopupCompletionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetPopupCompletionMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetPopupCompletion
+
+#endif
+
+-- method EntryCompletion::get_popup_set_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_popup_set_width" gtk_entry_completion_get_popup_set_width :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO CInt
+
+{- |
+Returns whether the  completion popup window will be resized to the
+width of the entry.
+
+/Since: 2.8/
+-}
+entryCompletionGetPopupSetWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the popup window will be resized to the width of
+  the entry -}
+entryCompletionGetPopupSetWidth completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_popup_set_width completion'
+    let result' = (/= 0) result
+    touchManagedPtr completion
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetPopupSetWidthMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetPopupSetWidthMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetPopupSetWidth
+
+#endif
+
+-- method EntryCompletion::get_popup_single_match
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_popup_single_match" gtk_entry_completion_get_popup_single_match :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO CInt
+
+{- |
+Returns whether the completion popup window will appear even if there is
+only a single match.
+
+/Since: 2.8/
+-}
+entryCompletionGetPopupSingleMatch ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the popup window will appear regardless of the
+   number of matches -}
+entryCompletionGetPopupSingleMatch completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_popup_single_match completion'
+    let result' = (/= 0) result
+    touchManagedPtr completion
+    return result'
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetPopupSingleMatchMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetPopupSingleMatchMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetPopupSingleMatch
+
+#endif
+
+-- method EntryCompletion::get_text_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_get_text_column" gtk_entry_completion_get_text_column :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO Int32
+
+{- |
+Returns the column in the model of /@completion@/ to get strings from.
+
+/Since: 2.6/
+-}
+entryCompletionGetTextColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m Int32
+    {- ^ __Returns:__ the column containing the strings -}
+entryCompletionGetTextColumn completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    result <- gtk_entry_completion_get_text_column completion'
+    touchManagedPtr completion
+    return result
+
+#if ENABLE_OVERLOADING
+data EntryCompletionGetTextColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionGetTextColumnMethodInfo a signature where
+    overloadedMethod _ = entryCompletionGetTextColumn
+
+#endif
+
+-- method EntryCompletion::insert_action_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the item to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "markup of the item to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_insert_action_markup" gtk_entry_completion_insert_action_markup :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    Int32 ->                                -- index_ : TBasicType TInt
+    CString ->                              -- markup : TBasicType TUTF8
+    IO ()
+
+{- |
+Inserts an action in /@completion@/’s action item list at position /@index_@/
+with markup /@markup@/.
+
+/Since: 2.4/
+-}
+entryCompletionInsertActionMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Int32
+    {- ^ /@index_@/: the index of the item to insert -}
+    -> T.Text
+    {- ^ /@markup@/: markup of the item to insert -}
+    -> m ()
+entryCompletionInsertActionMarkup completion index_ markup = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    markup' <- textToCString markup
+    gtk_entry_completion_insert_action_markup completion' index_ markup'
+    touchManagedPtr completion
+    freeMem markup'
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionInsertActionMarkupMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionInsertActionMarkupMethodInfo a signature where
+    overloadedMethod _ = entryCompletionInsertActionMarkup
+
+#endif
+
+-- method EntryCompletion::insert_action_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the item to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text of the item to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_insert_action_text" gtk_entry_completion_insert_action_text :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    Int32 ->                                -- index_ : TBasicType TInt
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Inserts an action in /@completion@/’s action item list at position /@index_@/
+with text /@text@/. If you want the action item to have markup, use
+'GI.Gtk.Objects.EntryCompletion.entryCompletionInsertActionMarkup'.
+
+Note that /@index_@/ is a relative position in the list of actions and
+the position of an action can change when deleting a different action.
+
+/Since: 2.4/
+-}
+entryCompletionInsertActionText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Int32
+    {- ^ /@index_@/: the index of the item to insert -}
+    -> T.Text
+    {- ^ /@text@/: text of the item to insert -}
+    -> m ()
+entryCompletionInsertActionText completion index_ text = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    text' <- textToCString text
+    gtk_entry_completion_insert_action_text completion' index_ text'
+    touchManagedPtr completion
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionInsertActionTextMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionInsertActionTextMethodInfo a signature where
+    overloadedMethod _ = entryCompletionInsertActionText
+
+#endif
+
+-- method EntryCompletion::insert_prefix
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_insert_prefix" gtk_entry_completion_insert_prefix :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    IO ()
+
+{- |
+Requests a prefix insertion.
+
+/Since: 2.6/
+-}
+entryCompletionInsertPrefix ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> m ()
+entryCompletionInsertPrefix completion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    gtk_entry_completion_insert_prefix completion'
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionInsertPrefixMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionInsertPrefixMethodInfo a signature where
+    overloadedMethod _ = entryCompletionInsertPrefix
+
+#endif
+
+-- method EntryCompletion::set_inline_completion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "inline_completion", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to do inline completion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_set_inline_completion" gtk_entry_completion_set_inline_completion :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    CInt ->                                 -- inline_completion : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the common prefix of the possible completions should
+be automatically inserted in the entry.
+
+/Since: 2.6/
+-}
+entryCompletionSetInlineCompletion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Bool
+    {- ^ /@inlineCompletion@/: 'True' to do inline completion -}
+    -> m ()
+entryCompletionSetInlineCompletion completion inlineCompletion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    let inlineCompletion' = (fromIntegral . fromEnum) inlineCompletion
+    gtk_entry_completion_set_inline_completion completion' inlineCompletion'
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionSetInlineCompletionMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionSetInlineCompletionMethodInfo a signature where
+    overloadedMethod _ = entryCompletionSetInlineCompletion
+
+#endif
+
+-- method EntryCompletion::set_inline_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "inline_selection", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to do inline selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_set_inline_selection" gtk_entry_completion_set_inline_selection :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    CInt ->                                 -- inline_selection : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether it is possible to cycle through the possible completions
+inside the entry.
+
+/Since: 2.12/
+-}
+entryCompletionSetInlineSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Bool
+    {- ^ /@inlineSelection@/: 'True' to do inline selection -}
+    -> m ()
+entryCompletionSetInlineSelection completion inlineSelection = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    let inlineSelection' = (fromIntegral . fromEnum) inlineSelection
+    gtk_entry_completion_set_inline_selection completion' inlineSelection'
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionSetInlineSelectionMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionSetInlineSelectionMethodInfo a signature where
+    overloadedMethod _ = entryCompletionSetInlineSelection
+
+#endif
+
+-- method EntryCompletion::set_match_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletionMatchFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkEntryCompletionMatchFunc to use", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func_notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notify for @func_data.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_set_match_func" gtk_entry_completion_set_match_func :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    FunPtr Gtk.Callbacks.C_EntryCompletionMatchFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "EntryCompletionMatchFunc"})
+    Ptr () ->                               -- func_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- func_notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the match function for /@completion@/ to be /@func@/. The match function
+is used to determine if a row should or should not be in the completion
+list.
+
+/Since: 2.4/
+-}
+entryCompletionSetMatchFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Gtk.Callbacks.EntryCompletionMatchFunc
+    {- ^ /@func@/: the 'GI.Gtk.Callbacks.EntryCompletionMatchFunc' to use -}
+    -> m ()
+entryCompletionSetMatchFunc completion func = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    func' <- Gtk.Callbacks.mk_EntryCompletionMatchFunc (Gtk.Callbacks.wrap_EntryCompletionMatchFunc Nothing (Gtk.Callbacks.drop_closures_EntryCompletionMatchFunc func))
+    let funcData = castFunPtrToPtr func'
+    let funcNotify = safeFreeFunPtrPtr
+    gtk_entry_completion_set_match_func completion' func' funcData funcNotify
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionSetMatchFuncMethodInfo
+instance (signature ~ (Gtk.Callbacks.EntryCompletionMatchFunc -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionSetMatchFuncMethodInfo a signature where
+    overloadedMethod _ = entryCompletionSetMatchFunc
+
+#endif
+
+-- method EntryCompletion::set_minimum_key_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum length of the key in order to start completing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_set_minimum_key_length" gtk_entry_completion_set_minimum_key_length :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    Int32 ->                                -- length : TBasicType TInt
+    IO ()
+
+{- |
+Requires the length of the search key for /@completion@/ to be at least
+/@length@/. This is useful for long lists, where completing using a small
+key takes a lot of time and will come up with meaningless results anyway
+(ie, a too large dataset).
+
+/Since: 2.4/
+-}
+entryCompletionSetMinimumKeyLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Int32
+    {- ^ /@length@/: the minimum length of the key in order to start completing -}
+    -> m ()
+entryCompletionSetMinimumKeyLength completion length_ = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    gtk_entry_completion_set_minimum_key_length completion' length_
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionSetMinimumKeyLengthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionSetMinimumKeyLengthMethodInfo a signature where
+    overloadedMethod _ = entryCompletionSetMinimumKeyLength
+
+#endif
+
+-- method EntryCompletion::set_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_set_model" gtk_entry_completion_set_model :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO ()
+
+{- |
+Sets the model for a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion'. If /@completion@/ already has
+a model set, it will remove it before setting the new model.
+If model is 'Nothing', then it will unset the model.
+
+/Since: 2.4/
+-}
+entryCompletionSetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a, Gtk.TreeModel.IsTreeModel b) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Maybe (b)
+    {- ^ /@model@/: the 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> m ()
+entryCompletionSetModel completion model = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    maybeModel <- case model of
+        Nothing -> return nullPtr
+        Just jModel -> do
+            jModel' <- unsafeManagedPtrCastPtr jModel
+            return jModel'
+    gtk_entry_completion_set_model completion' maybeModel
+    touchManagedPtr completion
+    whenJust model touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionSetModelMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsEntryCompletion a, Gtk.TreeModel.IsTreeModel b) => O.MethodInfo EntryCompletionSetModelMethodInfo a signature where
+    overloadedMethod _ = entryCompletionSetModel
+
+#endif
+
+-- method EntryCompletion::set_popup_completion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "popup_completion", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to do popup completion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_set_popup_completion" gtk_entry_completion_set_popup_completion :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    CInt ->                                 -- popup_completion : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the completions should be presented in a popup window.
+
+/Since: 2.6/
+-}
+entryCompletionSetPopupCompletion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Bool
+    {- ^ /@popupCompletion@/: 'True' to do popup completion -}
+    -> m ()
+entryCompletionSetPopupCompletion completion popupCompletion = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    let popupCompletion' = (fromIntegral . fromEnum) popupCompletion
+    gtk_entry_completion_set_popup_completion completion' popupCompletion'
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionSetPopupCompletionMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionSetPopupCompletionMethodInfo a signature where
+    overloadedMethod _ = entryCompletionSetPopupCompletion
+
+#endif
+
+-- method EntryCompletion::set_popup_set_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "popup_set_width", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make the width of the popup the same as the entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_set_popup_set_width" gtk_entry_completion_set_popup_set_width :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    CInt ->                                 -- popup_set_width : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the completion popup window will be resized to be the same
+width as the entry.
+
+/Since: 2.8/
+-}
+entryCompletionSetPopupSetWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Bool
+    {- ^ /@popupSetWidth@/: 'True' to make the width of the popup the same as the entry -}
+    -> m ()
+entryCompletionSetPopupSetWidth completion popupSetWidth = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    let popupSetWidth' = (fromIntegral . fromEnum) popupSetWidth
+    gtk_entry_completion_set_popup_set_width completion' popupSetWidth'
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionSetPopupSetWidthMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionSetPopupSetWidthMethodInfo a signature where
+    overloadedMethod _ = entryCompletionSetPopupSetWidth
+
+#endif
+
+-- method EntryCompletion::set_popup_single_match
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "popup_single_match", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the popup should appear even for a single\n    match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_set_popup_single_match" gtk_entry_completion_set_popup_single_match :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    CInt ->                                 -- popup_single_match : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the completion popup window will appear even if there is
+only a single match. You may want to set this to 'False' if you
+are using [inline completion][GtkEntryCompletion--inline-completion].
+
+/Since: 2.8/
+-}
+entryCompletionSetPopupSingleMatch ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Bool
+    {- ^ /@popupSingleMatch@/: 'True' if the popup should appear even for a single
+    match -}
+    -> m ()
+entryCompletionSetPopupSingleMatch completion popupSingleMatch = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    let popupSingleMatch' = (fromIntegral . fromEnum) popupSingleMatch
+    gtk_entry_completion_set_popup_single_match completion' popupSingleMatch'
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionSetPopupSingleMatchMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionSetPopupSingleMatchMethodInfo a signature where
+    overloadedMethod _ = entryCompletionSetPopupSingleMatch
+
+#endif
+
+-- method EntryCompletion::set_text_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "completion", argType = TInterface (Name {namespace = "Gtk", name = "EntryCompletion"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntryCompletion", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column in the model of @completion to get strings from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_entry_completion_set_text_column" gtk_entry_completion_set_text_column :: 
+    Ptr EntryCompletion ->                  -- completion : TInterface (Name {namespace = "Gtk", name = "EntryCompletion"})
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+Convenience function for setting up the most used case of this code: a
+completion list with just strings. This function will set up /@completion@/
+to have a list displaying all (and just) strings in the completion list,
+and to get those strings from /@column@/ in the model of /@completion@/.
+
+This functions creates and adds a 'GI.Gtk.Objects.CellRendererText.CellRendererText' for the selected
+column. If you need to set the text column, but don\'t want the cell
+renderer, use @/g_object_set()/@ to set the 'GI.Gtk.Objects.EntryCompletion.EntryCompletion':@/text-column/@
+property directly.
+
+/Since: 2.4/
+-}
+entryCompletionSetTextColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEntryCompletion a) =>
+    a
+    {- ^ /@completion@/: a 'GI.Gtk.Objects.EntryCompletion.EntryCompletion' -}
+    -> Int32
+    {- ^ /@column@/: the column in the model of /@completion@/ to get strings from -}
+    -> m ()
+entryCompletionSetTextColumn completion column = liftIO $ do
+    completion' <- unsafeManagedPtrCastPtr completion
+    gtk_entry_completion_set_text_column completion' column
+    touchManagedPtr completion
+    return ()
+
+#if ENABLE_OVERLOADING
+data EntryCompletionSetTextColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsEntryCompletion a) => O.MethodInfo EntryCompletionSetTextColumnMethodInfo a signature where
+    overloadedMethod _ = entryCompletionSetTextColumn
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/EntryCompletion.hs-boot b/GI/Gtk/Objects/EntryCompletion.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EntryCompletion.hs-boot
@@ -0,0 +1,146 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.EntryCompletion where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype EntryCompletion = EntryCompletion (ManagedPtr EntryCompletion)
+instance GObject EntryCompletion where
+class (GObject o, O.IsDescendantOf EntryCompletion o) => IsEntryCompletion o
+instance (GObject o, O.IsDescendantOf EntryCompletion o) => IsEntryCompletion o
+instance O.HasParentTypes EntryCompletion
+#if ENABLE_OVERLOADING
+data EntryCompletionCellAreaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionInlineCompletionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionInlineSelectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionMinimumKeyLengthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionPopupCompletionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionPopupSetWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionPopupSingleMatchPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionTextColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionActionActivatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionCursorOnMatchSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionInsertPrefixSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionMatchSelectedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionNoMatchesSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionCompleteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionComputePrefixMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionDeleteActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetCompletionPrefixMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetEntryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetInlineCompletionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetInlineSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetMinimumKeyLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetPopupCompletionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetPopupSetWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetPopupSingleMatchMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionGetTextColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionInsertActionMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionInsertActionTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionInsertPrefixMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionSetInlineCompletionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionSetInlineSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionSetMatchFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionSetMinimumKeyLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionSetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionSetPopupCompletionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionSetPopupSetWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionSetPopupSingleMatchMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EntryCompletionSetTextColumnMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/EntryIconAccessible.hs b/GI/Gtk/Objects/EntryIconAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EntryIconAccessible.hs
@@ -0,0 +1,164 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.EntryIconAccessible
+    ( 
+
+-- * Exported types
+    EntryIconAccessible(..)                 ,
+    IsEntryIconAccessible                   ,
+    toEntryIconAccessible                   ,
+    noEntryIconAccessible                   ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+
+-- | Memory-managed wrapper type.
+newtype EntryIconAccessible = EntryIconAccessible (ManagedPtr EntryIconAccessible)
+foreign import ccall "gtk_entry_icon_accessible_get_type"
+    c_gtk_entry_icon_accessible_get_type :: IO GType
+
+instance GObject EntryIconAccessible where
+    gobjectType = c_gtk_entry_icon_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `EntryIconAccessible`, for instance with `toEntryIconAccessible`.
+class (GObject o, O.IsDescendantOf EntryIconAccessible o) => IsEntryIconAccessible o
+instance (GObject o, O.IsDescendantOf EntryIconAccessible o) => IsEntryIconAccessible o
+
+instance O.HasParentTypes EntryIconAccessible
+type instance O.ParentTypes EntryIconAccessible = '[Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component]
+
+-- | Cast to `EntryIconAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEntryIconAccessible :: (MonadIO m, IsEntryIconAccessible o) => o -> m EntryIconAccessible
+toEntryIconAccessible = liftIO . unsafeCastTo EntryIconAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `EntryIconAccessible`.
+noEntryIconAccessible :: Maybe EntryIconAccessible
+noEntryIconAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEntryIconAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEntryIconAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveEntryIconAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEntryIconAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEntryIconAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveEntryIconAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveEntryIconAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEntryIconAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEntryIconAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEntryIconAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveEntryIconAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveEntryIconAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEntryIconAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEntryIconAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEntryIconAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveEntryIconAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveEntryIconAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEntryIconAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveEntryIconAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveEntryIconAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveEntryIconAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEntryIconAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveEntryIconAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveEntryIconAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveEntryIconAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveEntryIconAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEntryIconAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveEntryIconAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveEntryIconAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEntryIconAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEntryIconAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEntryIconAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEntryIconAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEntryIconAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveEntryIconAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveEntryIconAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEntryIconAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveEntryIconAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveEntryIconAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveEntryIconAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveEntryIconAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveEntryIconAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveEntryIconAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveEntryIconAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveEntryIconAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveEntryIconAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveEntryIconAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveEntryIconAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveEntryIconAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveEntryIconAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEntryIconAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEntryIconAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveEntryIconAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveEntryIconAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEntryIconAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveEntryIconAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveEntryIconAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveEntryIconAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveEntryIconAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveEntryIconAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEntryIconAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveEntryIconAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveEntryIconAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEntryIconAccessibleMethod t EntryIconAccessible, O.MethodInfo info EntryIconAccessible p) => OL.IsLabel t (EntryIconAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList EntryIconAccessible
+type instance O.AttributeList EntryIconAccessible = EntryIconAccessibleAttributeList
+type EntryIconAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList EntryIconAccessible = EntryIconAccessibleSignalList
+type EntryIconAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/EntryIconAccessible.hs-boot b/GI/Gtk/Objects/EntryIconAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EntryIconAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.EntryIconAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype EntryIconAccessible = EntryIconAccessible (ManagedPtr EntryIconAccessible)
+instance GObject EntryIconAccessible where
+class (GObject o, O.IsDescendantOf EntryIconAccessible o) => IsEntryIconAccessible o
+instance (GObject o, O.IsDescendantOf EntryIconAccessible o) => IsEntryIconAccessible o
+instance O.HasParentTypes EntryIconAccessible
diff --git a/GI/Gtk/Objects/EventBox.hs b/GI/Gtk/Objects/EventBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventBox.hs
@@ -0,0 +1,823 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.EventBox.EventBox' widget is a subclass of 'GI.Gtk.Objects.Bin.Bin' which also has its
+own window. It is useful since it allows you to catch events for widgets
+which do not have their own window.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.EventBox
+    ( 
+
+-- * Exported types
+    EventBox(..)                            ,
+    IsEventBox                              ,
+    toEventBox                              ,
+    noEventBox                              ,
+
+
+ -- * Methods
+-- ** getAboveChild #method:getAboveChild#
+
+#if ENABLE_OVERLOADING
+    EventBoxGetAboveChildMethodInfo         ,
+#endif
+    eventBoxGetAboveChild                   ,
+
+
+-- ** getVisibleWindow #method:getVisibleWindow#
+
+#if ENABLE_OVERLOADING
+    EventBoxGetVisibleWindowMethodInfo      ,
+#endif
+    eventBoxGetVisibleWindow                ,
+
+
+-- ** new #method:new#
+
+    eventBoxNew                             ,
+
+
+-- ** setAboveChild #method:setAboveChild#
+
+#if ENABLE_OVERLOADING
+    EventBoxSetAboveChildMethodInfo         ,
+#endif
+    eventBoxSetAboveChild                   ,
+
+
+-- ** setVisibleWindow #method:setVisibleWindow#
+
+#if ENABLE_OVERLOADING
+    EventBoxSetVisibleWindowMethodInfo      ,
+#endif
+    eventBoxSetVisibleWindow                ,
+
+
+
+
+ -- * Properties
+-- ** aboveChild #attr:aboveChild#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EventBoxAboveChildPropertyInfo          ,
+#endif
+    constructEventBoxAboveChild             ,
+#if ENABLE_OVERLOADING
+    eventBoxAboveChild                      ,
+#endif
+    getEventBoxAboveChild                   ,
+    setEventBoxAboveChild                   ,
+
+
+-- ** visibleWindow #attr:visibleWindow#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    EventBoxVisibleWindowPropertyInfo       ,
+#endif
+    constructEventBoxVisibleWindow          ,
+#if ENABLE_OVERLOADING
+    eventBoxVisibleWindow                   ,
+#endif
+    getEventBoxVisibleWindow                ,
+    setEventBoxVisibleWindow                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype EventBox = EventBox (ManagedPtr EventBox)
+foreign import ccall "gtk_event_box_get_type"
+    c_gtk_event_box_get_type :: IO GType
+
+instance GObject EventBox where
+    gobjectType = c_gtk_event_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `EventBox`, for instance with `toEventBox`.
+class (GObject o, O.IsDescendantOf EventBox o) => IsEventBox o
+instance (GObject o, O.IsDescendantOf EventBox o) => IsEventBox o
+
+instance O.HasParentTypes EventBox
+type instance O.ParentTypes EventBox = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `EventBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEventBox :: (MonadIO m, IsEventBox o) => o -> m EventBox
+toEventBox = liftIO . unsafeCastTo EventBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `EventBox`.
+noEventBox :: Maybe EventBox
+noEventBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEventBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEventBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveEventBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveEventBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveEventBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveEventBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveEventBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveEventBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveEventBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveEventBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEventBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEventBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveEventBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveEventBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveEventBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveEventBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveEventBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveEventBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveEventBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveEventBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveEventBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveEventBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveEventBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveEventBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveEventBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveEventBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveEventBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveEventBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveEventBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveEventBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveEventBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveEventBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveEventBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveEventBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveEventBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveEventBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveEventBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveEventBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveEventBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveEventBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveEventBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveEventBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveEventBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveEventBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveEventBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveEventBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveEventBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveEventBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveEventBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveEventBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveEventBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveEventBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveEventBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveEventBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveEventBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveEventBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveEventBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveEventBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveEventBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveEventBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveEventBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveEventBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveEventBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveEventBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEventBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveEventBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveEventBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEventBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEventBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveEventBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveEventBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveEventBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveEventBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveEventBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveEventBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveEventBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveEventBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveEventBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveEventBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveEventBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveEventBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveEventBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveEventBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveEventBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveEventBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveEventBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveEventBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveEventBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveEventBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEventBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveEventBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveEventBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveEventBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveEventBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveEventBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveEventBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveEventBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveEventBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveEventBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveEventBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveEventBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveEventBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveEventBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveEventBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveEventBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveEventBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveEventBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEventBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEventBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveEventBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveEventBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveEventBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveEventBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveEventBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveEventBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveEventBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveEventBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveEventBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveEventBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveEventBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveEventBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveEventBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveEventBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveEventBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveEventBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEventBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEventBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveEventBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveEventBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveEventBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveEventBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveEventBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveEventBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveEventBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveEventBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveEventBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveEventBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveEventBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveEventBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEventBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveEventBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveEventBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveEventBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveEventBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveEventBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveEventBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveEventBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveEventBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveEventBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEventBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEventBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveEventBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveEventBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveEventBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEventBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveEventBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveEventBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveEventBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveEventBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveEventBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEventBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveEventBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveEventBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveEventBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEventBoxMethod "getAboveChild" o = EventBoxGetAboveChildMethodInfo
+    ResolveEventBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveEventBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveEventBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveEventBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveEventBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveEventBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveEventBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveEventBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveEventBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveEventBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveEventBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveEventBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveEventBoxMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveEventBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveEventBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveEventBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveEventBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveEventBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveEventBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveEventBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEventBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveEventBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveEventBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveEventBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveEventBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveEventBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveEventBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveEventBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveEventBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveEventBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveEventBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveEventBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveEventBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveEventBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveEventBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveEventBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveEventBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveEventBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveEventBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveEventBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveEventBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveEventBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveEventBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveEventBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveEventBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveEventBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveEventBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveEventBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveEventBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveEventBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveEventBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveEventBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveEventBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveEventBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveEventBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveEventBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveEventBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveEventBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveEventBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveEventBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveEventBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveEventBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveEventBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveEventBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveEventBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEventBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEventBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveEventBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveEventBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveEventBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveEventBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveEventBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveEventBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveEventBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveEventBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveEventBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveEventBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveEventBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveEventBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveEventBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveEventBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveEventBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveEventBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveEventBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveEventBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveEventBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveEventBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveEventBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveEventBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveEventBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveEventBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveEventBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveEventBoxMethod "getVisibleWindow" o = EventBoxGetVisibleWindowMethodInfo
+    ResolveEventBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveEventBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveEventBoxMethod "setAboveChild" o = EventBoxSetAboveChildMethodInfo
+    ResolveEventBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveEventBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveEventBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveEventBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveEventBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveEventBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveEventBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveEventBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveEventBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveEventBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveEventBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEventBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveEventBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveEventBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveEventBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveEventBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveEventBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveEventBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveEventBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveEventBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveEventBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveEventBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveEventBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveEventBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveEventBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveEventBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveEventBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveEventBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveEventBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveEventBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveEventBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveEventBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveEventBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveEventBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveEventBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveEventBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveEventBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveEventBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveEventBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveEventBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveEventBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEventBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveEventBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveEventBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveEventBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveEventBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveEventBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveEventBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveEventBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveEventBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveEventBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveEventBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveEventBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveEventBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveEventBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveEventBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveEventBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveEventBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveEventBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveEventBoxMethod "setVisibleWindow" o = EventBoxSetVisibleWindowMethodInfo
+    ResolveEventBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveEventBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveEventBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEventBoxMethod t EventBox, O.MethodInfo info EventBox p) => OL.IsLabel t (EventBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "above-child"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@above-child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' eventBox #aboveChild
+@
+-}
+getEventBoxAboveChild :: (MonadIO m, IsEventBox o) => o -> m Bool
+getEventBoxAboveChild obj = liftIO $ B.Properties.getObjectPropertyBool obj "above-child"
+
+{- |
+Set the value of the “@above-child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' eventBox [ #aboveChild 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEventBoxAboveChild :: (MonadIO m, IsEventBox o) => o -> Bool -> m ()
+setEventBoxAboveChild obj val = liftIO $ B.Properties.setObjectPropertyBool obj "above-child" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@above-child@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEventBoxAboveChild :: (IsEventBox o) => Bool -> IO (GValueConstruct o)
+constructEventBoxAboveChild val = B.Properties.constructObjectPropertyBool "above-child" val
+
+#if ENABLE_OVERLOADING
+data EventBoxAboveChildPropertyInfo
+instance AttrInfo EventBoxAboveChildPropertyInfo where
+    type AttrAllowedOps EventBoxAboveChildPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EventBoxAboveChildPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EventBoxAboveChildPropertyInfo = IsEventBox
+    type AttrGetType EventBoxAboveChildPropertyInfo = Bool
+    type AttrLabel EventBoxAboveChildPropertyInfo = "above-child"
+    type AttrOrigin EventBoxAboveChildPropertyInfo = EventBox
+    attrGet _ = getEventBoxAboveChild
+    attrSet _ = setEventBoxAboveChild
+    attrConstruct _ = constructEventBoxAboveChild
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible-window"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible-window@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' eventBox #visibleWindow
+@
+-}
+getEventBoxVisibleWindow :: (MonadIO m, IsEventBox o) => o -> m Bool
+getEventBoxVisibleWindow obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible-window"
+
+{- |
+Set the value of the “@visible-window@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' eventBox [ #visibleWindow 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEventBoxVisibleWindow :: (MonadIO m, IsEventBox o) => o -> Bool -> m ()
+setEventBoxVisibleWindow obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible-window" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible-window@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEventBoxVisibleWindow :: (IsEventBox o) => Bool -> IO (GValueConstruct o)
+constructEventBoxVisibleWindow val = B.Properties.constructObjectPropertyBool "visible-window" val
+
+#if ENABLE_OVERLOADING
+data EventBoxVisibleWindowPropertyInfo
+instance AttrInfo EventBoxVisibleWindowPropertyInfo where
+    type AttrAllowedOps EventBoxVisibleWindowPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EventBoxVisibleWindowPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint EventBoxVisibleWindowPropertyInfo = IsEventBox
+    type AttrGetType EventBoxVisibleWindowPropertyInfo = Bool
+    type AttrLabel EventBoxVisibleWindowPropertyInfo = "visible-window"
+    type AttrOrigin EventBoxVisibleWindowPropertyInfo = EventBox
+    attrGet _ = getEventBoxVisibleWindow
+    attrSet _ = setEventBoxVisibleWindow
+    attrConstruct _ = constructEventBoxVisibleWindow
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList EventBox
+type instance O.AttributeList EventBox = EventBoxAttributeList
+type EventBoxAttributeList = ('[ '("aboveChild", EventBoxAboveChildPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visibleWindow", EventBoxVisibleWindowPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+eventBoxAboveChild :: AttrLabelProxy "aboveChild"
+eventBoxAboveChild = AttrLabelProxy
+
+eventBoxVisibleWindow :: AttrLabelProxy "visibleWindow"
+eventBoxVisibleWindow = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList EventBox = EventBoxSignalList
+type EventBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method EventBox::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EventBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_box_new" gtk_event_box_new :: 
+    IO (Ptr EventBox)
+
+{- |
+Creates a new 'GI.Gtk.Objects.EventBox.EventBox'.
+-}
+eventBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m EventBox
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.EventBox.EventBox' -}
+eventBoxNew  = liftIO $ do
+    result <- gtk_event_box_new
+    checkUnexpectedReturnNULL "eventBoxNew" result
+    result' <- (newObject EventBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method EventBox::get_above_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "event_box", argType = TInterface (Name {namespace = "Gtk", name = "EventBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_box_get_above_child" gtk_event_box_get_above_child :: 
+    Ptr EventBox ->                         -- event_box : TInterface (Name {namespace = "Gtk", name = "EventBox"})
+    IO CInt
+
+{- |
+Returns whether the event box window is above or below the
+windows of its child. See 'GI.Gtk.Objects.EventBox.eventBoxSetAboveChild'
+for details.
+
+/Since: 2.4/
+-}
+eventBoxGetAboveChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventBox a) =>
+    a
+    {- ^ /@eventBox@/: a 'GI.Gtk.Objects.EventBox.EventBox' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the event box window is above the
+    window of its child -}
+eventBoxGetAboveChild eventBox = liftIO $ do
+    eventBox' <- unsafeManagedPtrCastPtr eventBox
+    result <- gtk_event_box_get_above_child eventBox'
+    let result' = (/= 0) result
+    touchManagedPtr eventBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data EventBoxGetAboveChildMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEventBox a) => O.MethodInfo EventBoxGetAboveChildMethodInfo a signature where
+    overloadedMethod _ = eventBoxGetAboveChild
+
+#endif
+
+-- method EventBox::get_visible_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "event_box", argType = TInterface (Name {namespace = "Gtk", name = "EventBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_box_get_visible_window" gtk_event_box_get_visible_window :: 
+    Ptr EventBox ->                         -- event_box : TInterface (Name {namespace = "Gtk", name = "EventBox"})
+    IO CInt
+
+{- |
+Returns whether the event box has a visible window.
+See 'GI.Gtk.Objects.EventBox.eventBoxSetVisibleWindow' for details.
+
+/Since: 2.4/
+-}
+eventBoxGetVisibleWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventBox a) =>
+    a
+    {- ^ /@eventBox@/: a 'GI.Gtk.Objects.EventBox.EventBox' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the event box window is visible -}
+eventBoxGetVisibleWindow eventBox = liftIO $ do
+    eventBox' <- unsafeManagedPtrCastPtr eventBox
+    result <- gtk_event_box_get_visible_window eventBox'
+    let result' = (/= 0) result
+    touchManagedPtr eventBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data EventBoxGetVisibleWindowMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsEventBox a) => O.MethodInfo EventBoxGetVisibleWindowMethodInfo a signature where
+    overloadedMethod _ = eventBoxGetVisibleWindow
+
+#endif
+
+-- method EventBox::set_above_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "event_box", argType = TInterface (Name {namespace = "Gtk", name = "EventBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "above_child", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the event box window is above its child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_box_set_above_child" gtk_event_box_set_above_child :: 
+    Ptr EventBox ->                         -- event_box : TInterface (Name {namespace = "Gtk", name = "EventBox"})
+    CInt ->                                 -- above_child : TBasicType TBoolean
+    IO ()
+
+{- |
+Set whether the event box window is positioned above the windows
+of its child, as opposed to below it. If the window is above, all
+events inside the event box will go to the event box. If the window
+is below, events in windows of child widgets will first got to that
+widget, and then to its parents.
+
+The default is to keep the window below the child.
+
+/Since: 2.4/
+-}
+eventBoxSetAboveChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventBox a) =>
+    a
+    {- ^ /@eventBox@/: a 'GI.Gtk.Objects.EventBox.EventBox' -}
+    -> Bool
+    {- ^ /@aboveChild@/: 'True' if the event box window is above its child -}
+    -> m ()
+eventBoxSetAboveChild eventBox aboveChild = liftIO $ do
+    eventBox' <- unsafeManagedPtrCastPtr eventBox
+    let aboveChild' = (fromIntegral . fromEnum) aboveChild
+    gtk_event_box_set_above_child eventBox' aboveChild'
+    touchManagedPtr eventBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data EventBoxSetAboveChildMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEventBox a) => O.MethodInfo EventBoxSetAboveChildMethodInfo a signature where
+    overloadedMethod _ = eventBoxSetAboveChild
+
+#endif
+
+-- method EventBox::set_visible_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "event_box", argType = TInterface (Name {namespace = "Gtk", name = "EventBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible_window", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make the event box have a visible window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_box_set_visible_window" gtk_event_box_set_visible_window :: 
+    Ptr EventBox ->                         -- event_box : TInterface (Name {namespace = "Gtk", name = "EventBox"})
+    CInt ->                                 -- visible_window : TBasicType TBoolean
+    IO ()
+
+{- |
+Set whether the event box uses a visible or invisible child
+window. The default is to use visible windows.
+
+In an invisible window event box, the window that the
+event box creates is a 'GI.Gdk.Enums.WindowWindowClassInputOnly' window, which
+means that it is invisible and only serves to receive
+events.
+
+A visible window event box creates a visible ('GI.Gdk.Enums.WindowWindowClassInputOutput')
+window that acts as the parent window for all the widgets
+contained in the event box.
+
+You should generally make your event box invisible if
+you just want to trap events. Creating a visible window
+may cause artifacts that are visible to the user, especially
+if the user is using a theme with gradients or pixmaps.
+
+The main reason to create a non input-only event box is if
+you want to set the background to a different color or
+draw on it.
+
+There is one unexpected issue for an invisible event box that has its
+window below the child. (See 'GI.Gtk.Objects.EventBox.eventBoxSetAboveChild'.)
+Since the input-only window is not an ancestor window of any windows
+that descendent widgets of the event box create, events on these
+windows aren’t propagated up by the windowing system, but only by GTK+.
+The practical effect of this is if an event isn’t in the event
+mask for the descendant window (see 'GI.Gtk.Objects.Widget.widgetAddEvents'),
+it won’t be received by the event box.
+
+This problem doesn’t occur for visible event boxes, because in
+that case, the event box window is actually the ancestor of the
+descendant windows, not just at the same place on the screen.
+
+/Since: 2.4/
+-}
+eventBoxSetVisibleWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventBox a) =>
+    a
+    {- ^ /@eventBox@/: a 'GI.Gtk.Objects.EventBox.EventBox' -}
+    -> Bool
+    {- ^ /@visibleWindow@/: 'True' to make the event box have a visible window -}
+    -> m ()
+eventBoxSetVisibleWindow eventBox visibleWindow = liftIO $ do
+    eventBox' <- unsafeManagedPtrCastPtr eventBox
+    let visibleWindow' = (fromIntegral . fromEnum) visibleWindow
+    gtk_event_box_set_visible_window eventBox' visibleWindow'
+    touchManagedPtr eventBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data EventBoxSetVisibleWindowMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsEventBox a) => O.MethodInfo EventBoxSetVisibleWindowMethodInfo a signature where
+    overloadedMethod _ = eventBoxSetVisibleWindow
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/EventBox.hs-boot b/GI/Gtk/Objects/EventBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventBox.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.EventBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype EventBox = EventBox (ManagedPtr EventBox)
+instance GObject EventBox where
+class (GObject o, O.IsDescendantOf EventBox o) => IsEventBox o
+instance (GObject o, O.IsDescendantOf EventBox o) => IsEventBox o
+instance O.HasParentTypes EventBox
+#if ENABLE_OVERLOADING
+data EventBoxAboveChildPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventBoxVisibleWindowPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventBoxGetAboveChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventBoxGetVisibleWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventBoxSetAboveChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventBoxSetVisibleWindowMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/EventController.hs b/GI/Gtk/Objects/EventController.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventController.hs
@@ -0,0 +1,498 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.EventController.EventController' is a base, low-level implementation for event
+controllers. Those react to a series of @/GdkEvents/@, and possibly trigger
+actions as a consequence of those.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.EventController
+    ( 
+
+-- * Exported types
+    EventController(..)                     ,
+    IsEventController                       ,
+    toEventController                       ,
+    noEventController                       ,
+
+
+ -- * Methods
+-- ** getPropagationPhase #method:getPropagationPhase#
+
+#if ENABLE_OVERLOADING
+    EventControllerGetPropagationPhaseMethodInfo,
+#endif
+    eventControllerGetPropagationPhase      ,
+
+
+-- ** getWidget #method:getWidget#
+
+#if ENABLE_OVERLOADING
+    EventControllerGetWidgetMethodInfo      ,
+#endif
+    eventControllerGetWidget                ,
+
+
+-- ** handleEvent #method:handleEvent#
+
+#if ENABLE_OVERLOADING
+    EventControllerHandleEventMethodInfo    ,
+#endif
+    eventControllerHandleEvent              ,
+
+
+-- ** reset #method:reset#
+
+#if ENABLE_OVERLOADING
+    EventControllerResetMethodInfo          ,
+#endif
+    eventControllerReset                    ,
+
+
+-- ** setPropagationPhase #method:setPropagationPhase#
+
+#if ENABLE_OVERLOADING
+    EventControllerSetPropagationPhaseMethodInfo,
+#endif
+    eventControllerSetPropagationPhase      ,
+
+
+
+
+ -- * Properties
+-- ** propagationPhase #attr:propagationPhase#
+{- | The propagation phase at which this controller will handle events.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    EventControllerPropagationPhasePropertyInfo,
+#endif
+    constructEventControllerPropagationPhase,
+#if ENABLE_OVERLOADING
+    eventControllerPropagationPhase         ,
+#endif
+    getEventControllerPropagationPhase      ,
+    setEventControllerPropagationPhase      ,
+
+
+-- ** widget #attr:widget#
+{- | The widget receiving the @/GdkEvents/@ that the controller will handle.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    EventControllerWidgetPropertyInfo       ,
+#endif
+    constructEventControllerWidget          ,
+#if ENABLE_OVERLOADING
+    eventControllerWidget                   ,
+#endif
+    getEventControllerWidget                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype EventController = EventController (ManagedPtr EventController)
+foreign import ccall "gtk_event_controller_get_type"
+    c_gtk_event_controller_get_type :: IO GType
+
+instance GObject EventController where
+    gobjectType = c_gtk_event_controller_get_type
+    
+
+-- | Type class for types which can be safely cast to `EventController`, for instance with `toEventController`.
+class (GObject o, O.IsDescendantOf EventController o) => IsEventController o
+instance (GObject o, O.IsDescendantOf EventController o) => IsEventController o
+
+instance O.HasParentTypes EventController
+type instance O.ParentTypes EventController = '[GObject.Object.Object]
+
+-- | Cast to `EventController`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEventController :: (MonadIO m, IsEventController o) => o -> m EventController
+toEventController = liftIO . unsafeCastTo EventController
+
+-- | A convenience alias for `Nothing` :: `Maybe` `EventController`.
+noEventController :: Maybe EventController
+noEventController = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEventControllerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEventControllerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEventControllerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEventControllerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEventControllerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEventControllerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEventControllerMethod "handleEvent" o = EventControllerHandleEventMethodInfo
+    ResolveEventControllerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEventControllerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEventControllerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEventControllerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEventControllerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEventControllerMethod "reset" o = EventControllerResetMethodInfo
+    ResolveEventControllerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEventControllerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEventControllerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEventControllerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEventControllerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEventControllerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEventControllerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEventControllerMethod "getPropagationPhase" o = EventControllerGetPropagationPhaseMethodInfo
+    ResolveEventControllerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEventControllerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEventControllerMethod "getWidget" o = EventControllerGetWidgetMethodInfo
+    ResolveEventControllerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEventControllerMethod "setPropagationPhase" o = EventControllerSetPropagationPhaseMethodInfo
+    ResolveEventControllerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEventControllerMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEventControllerMethod t EventController, O.MethodInfo info EventController p) => OL.IsLabel t (EventController -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "propagation-phase"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PropagationPhase"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@propagation-phase@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' eventController #propagationPhase
+@
+-}
+getEventControllerPropagationPhase :: (MonadIO m, IsEventController o) => o -> m Gtk.Enums.PropagationPhase
+getEventControllerPropagationPhase obj = liftIO $ B.Properties.getObjectPropertyEnum obj "propagation-phase"
+
+{- |
+Set the value of the “@propagation-phase@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' eventController [ #propagationPhase 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEventControllerPropagationPhase :: (MonadIO m, IsEventController o) => o -> Gtk.Enums.PropagationPhase -> m ()
+setEventControllerPropagationPhase obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "propagation-phase" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@propagation-phase@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEventControllerPropagationPhase :: (IsEventController o) => Gtk.Enums.PropagationPhase -> IO (GValueConstruct o)
+constructEventControllerPropagationPhase val = B.Properties.constructObjectPropertyEnum "propagation-phase" val
+
+#if ENABLE_OVERLOADING
+data EventControllerPropagationPhasePropertyInfo
+instance AttrInfo EventControllerPropagationPhasePropertyInfo where
+    type AttrAllowedOps EventControllerPropagationPhasePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EventControllerPropagationPhasePropertyInfo = (~) Gtk.Enums.PropagationPhase
+    type AttrBaseTypeConstraint EventControllerPropagationPhasePropertyInfo = IsEventController
+    type AttrGetType EventControllerPropagationPhasePropertyInfo = Gtk.Enums.PropagationPhase
+    type AttrLabel EventControllerPropagationPhasePropertyInfo = "propagation-phase"
+    type AttrOrigin EventControllerPropagationPhasePropertyInfo = EventController
+    attrGet _ = getEventControllerPropagationPhase
+    attrSet _ = setEventControllerPropagationPhase
+    attrConstruct _ = constructEventControllerPropagationPhase
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' eventController #widget
+@
+-}
+getEventControllerWidget :: (MonadIO m, IsEventController o) => o -> m Gtk.Widget.Widget
+getEventControllerWidget obj = liftIO $ checkUnexpectedNothing "getEventControllerWidget" $ B.Properties.getObjectPropertyObject obj "widget" Gtk.Widget.Widget
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEventControllerWidget :: (IsEventController o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructEventControllerWidget val = B.Properties.constructObjectPropertyObject "widget" (Just val)
+
+#if ENABLE_OVERLOADING
+data EventControllerWidgetPropertyInfo
+instance AttrInfo EventControllerWidgetPropertyInfo where
+    type AttrAllowedOps EventControllerWidgetPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint EventControllerWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint EventControllerWidgetPropertyInfo = IsEventController
+    type AttrGetType EventControllerWidgetPropertyInfo = Gtk.Widget.Widget
+    type AttrLabel EventControllerWidgetPropertyInfo = "widget"
+    type AttrOrigin EventControllerWidgetPropertyInfo = EventController
+    attrGet _ = getEventControllerWidget
+    attrSet _ = undefined
+    attrConstruct _ = constructEventControllerWidget
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList EventController
+type instance O.AttributeList EventController = EventControllerAttributeList
+type EventControllerAttributeList = ('[ '("propagationPhase", EventControllerPropagationPhasePropertyInfo), '("widget", EventControllerWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+eventControllerPropagationPhase :: AttrLabelProxy "propagationPhase"
+eventControllerPropagationPhase = AttrLabelProxy
+
+eventControllerWidget :: AttrLabelProxy "widget"
+eventControllerWidget = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList EventController = EventControllerSignalList
+type EventControllerSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method EventController::get_propagation_phase
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventController"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventController", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PropagationPhase"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_get_propagation_phase" gtk_event_controller_get_propagation_phase :: 
+    Ptr EventController ->                  -- controller : TInterface (Name {namespace = "Gtk", name = "EventController"})
+    IO CUInt
+
+{- |
+Gets the propagation phase at which /@controller@/ handles events.
+
+/Since: 3.14/
+-}
+eventControllerGetPropagationPhase ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventController a) =>
+    a
+    {- ^ /@controller@/: a 'GI.Gtk.Objects.EventController.EventController' -}
+    -> m Gtk.Enums.PropagationPhase
+    {- ^ __Returns:__ the propagation phase -}
+eventControllerGetPropagationPhase controller = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    result <- gtk_event_controller_get_propagation_phase controller'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr controller
+    return result'
+
+#if ENABLE_OVERLOADING
+data EventControllerGetPropagationPhaseMethodInfo
+instance (signature ~ (m Gtk.Enums.PropagationPhase), MonadIO m, IsEventController a) => O.MethodInfo EventControllerGetPropagationPhaseMethodInfo a signature where
+    overloadedMethod _ = eventControllerGetPropagationPhase
+
+#endif
+
+-- method EventController::get_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventController"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventController", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_get_widget" gtk_event_controller_get_widget :: 
+    Ptr EventController ->                  -- controller : TInterface (Name {namespace = "Gtk", name = "EventController"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the 'GI.Gtk.Objects.Widget.Widget' this controller relates to.
+
+/Since: 3.14/
+-}
+eventControllerGetWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventController a) =>
+    a
+    {- ^ /@controller@/: a 'GI.Gtk.Objects.EventController.EventController' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' -}
+eventControllerGetWidget controller = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    result <- gtk_event_controller_get_widget controller'
+    checkUnexpectedReturnNULL "eventControllerGetWidget" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr controller
+    return result'
+
+#if ENABLE_OVERLOADING
+data EventControllerGetWidgetMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsEventController a) => O.MethodInfo EventControllerGetWidgetMethodInfo a signature where
+    overloadedMethod _ = eventControllerGetWidget
+
+#endif
+
+-- method EventController::handle_event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventController"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventController", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_handle_event" gtk_event_controller_handle_event :: 
+    Ptr EventController ->                  -- controller : TInterface (Name {namespace = "Gtk", name = "EventController"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO CInt
+
+{- |
+Feeds an events into /@controller@/, so it can be interpreted
+and the controller actions triggered.
+
+/Since: 3.14/
+-}
+eventControllerHandleEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventController a) =>
+    a
+    {- ^ /@controller@/: a 'GI.Gtk.Objects.EventController.EventController' -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the event was potentially useful to trigger the
+         controller action -}
+eventControllerHandleEvent controller event = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_event_controller_handle_event controller' event'
+    let result' = (/= 0) result
+    touchManagedPtr controller
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data EventControllerHandleEventMethodInfo
+instance (signature ~ (Gdk.Event.Event -> m Bool), MonadIO m, IsEventController a) => O.MethodInfo EventControllerHandleEventMethodInfo a signature where
+    overloadedMethod _ = eventControllerHandleEvent
+
+#endif
+
+-- method EventController::reset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventController"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventController", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_reset" gtk_event_controller_reset :: 
+    Ptr EventController ->                  -- controller : TInterface (Name {namespace = "Gtk", name = "EventController"})
+    IO ()
+
+{- |
+Resets the /@controller@/ to a clean state. Every interaction
+the controller did through 'GI.Gtk.Objects.EventController.EventController'::@/handle-event/@
+will be dropped at this point.
+
+/Since: 3.14/
+-}
+eventControllerReset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventController a) =>
+    a
+    {- ^ /@controller@/: a 'GI.Gtk.Objects.EventController.EventController' -}
+    -> m ()
+eventControllerReset controller = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    gtk_event_controller_reset controller'
+    touchManagedPtr controller
+    return ()
+
+#if ENABLE_OVERLOADING
+data EventControllerResetMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsEventController a) => O.MethodInfo EventControllerResetMethodInfo a signature where
+    overloadedMethod _ = eventControllerReset
+
+#endif
+
+-- method EventController::set_propagation_phase
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventController"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventController", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "phase", argType = TInterface (Name {namespace = "Gtk", name = "PropagationPhase"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a propagation phase", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_set_propagation_phase" gtk_event_controller_set_propagation_phase :: 
+    Ptr EventController ->                  -- controller : TInterface (Name {namespace = "Gtk", name = "EventController"})
+    CUInt ->                                -- phase : TInterface (Name {namespace = "Gtk", name = "PropagationPhase"})
+    IO ()
+
+{- |
+Sets the propagation phase at which a controller handles events.
+
+If /@phase@/ is 'GI.Gtk.Enums.PropagationPhaseNone', no automatic event handling will be
+performed, but other additional gesture maintenance will. In that phase,
+the events can be managed by calling 'GI.Gtk.Objects.EventController.eventControllerHandleEvent'.
+
+/Since: 3.14/
+-}
+eventControllerSetPropagationPhase ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventController a) =>
+    a
+    {- ^ /@controller@/: a 'GI.Gtk.Objects.EventController.EventController' -}
+    -> Gtk.Enums.PropagationPhase
+    {- ^ /@phase@/: a propagation phase -}
+    -> m ()
+eventControllerSetPropagationPhase controller phase = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    let phase' = (fromIntegral . fromEnum) phase
+    gtk_event_controller_set_propagation_phase controller' phase'
+    touchManagedPtr controller
+    return ()
+
+#if ENABLE_OVERLOADING
+data EventControllerSetPropagationPhaseMethodInfo
+instance (signature ~ (Gtk.Enums.PropagationPhase -> m ()), MonadIO m, IsEventController a) => O.MethodInfo EventControllerSetPropagationPhaseMethodInfo a signature where
+    overloadedMethod _ = eventControllerSetPropagationPhase
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/EventController.hs-boot b/GI/Gtk/Objects/EventController.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventController.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.EventController where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype EventController = EventController (ManagedPtr EventController)
+instance GObject EventController where
+class (GObject o, O.IsDescendantOf EventController o) => IsEventController o
+instance (GObject o, O.IsDescendantOf EventController o) => IsEventController o
+instance O.HasParentTypes EventController
+#if ENABLE_OVERLOADING
+data EventControllerPropagationPhasePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerGetPropagationPhaseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerGetWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerHandleEventMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerResetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerSetPropagationPhaseMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/EventControllerKey.hs b/GI/Gtk/Objects/EventControllerKey.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventControllerKey.hs
@@ -0,0 +1,913 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.EventControllerKey.EventControllerKey' is an event controller meant for situations
+where you need access to key events.
+
+This object was added in 3.24.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.EventControllerKey
+    ( 
+
+-- * Exported types
+    EventControllerKey(..)                  ,
+    IsEventControllerKey                    ,
+    toEventControllerKey                    ,
+    noEventControllerKey                    ,
+
+
+ -- * Methods
+-- ** forward #method:forward#
+
+#if ENABLE_OVERLOADING
+    EventControllerKeyForwardMethodInfo     ,
+#endif
+    eventControllerKeyForward               ,
+
+
+-- ** getGroup #method:getGroup#
+
+#if ENABLE_OVERLOADING
+    EventControllerKeyGetGroupMethodInfo    ,
+#endif
+    eventControllerKeyGetGroup              ,
+
+
+-- ** getImContext #method:getImContext#
+
+#if ENABLE_OVERLOADING
+    EventControllerKeyGetImContextMethodInfo,
+#endif
+    eventControllerKeyGetImContext          ,
+
+
+-- ** new #method:new#
+
+    eventControllerKeyNew                   ,
+
+
+-- ** setImContext #method:setImContext#
+
+#if ENABLE_OVERLOADING
+    EventControllerKeySetImContextMethodInfo,
+#endif
+    eventControllerKeySetImContext          ,
+
+
+
+
+ -- * Signals
+-- ** focusIn #signal:focusIn#
+
+    C_EventControllerKeyFocusInCallback     ,
+    EventControllerKeyFocusInCallback       ,
+#if ENABLE_OVERLOADING
+    EventControllerKeyFocusInSignalInfo     ,
+#endif
+    afterEventControllerKeyFocusIn          ,
+    genClosure_EventControllerKeyFocusIn    ,
+    mk_EventControllerKeyFocusInCallback    ,
+    noEventControllerKeyFocusInCallback     ,
+    onEventControllerKeyFocusIn             ,
+    wrap_EventControllerKeyFocusInCallback  ,
+
+
+-- ** focusOut #signal:focusOut#
+
+    C_EventControllerKeyFocusOutCallback    ,
+    EventControllerKeyFocusOutCallback      ,
+#if ENABLE_OVERLOADING
+    EventControllerKeyFocusOutSignalInfo    ,
+#endif
+    afterEventControllerKeyFocusOut         ,
+    genClosure_EventControllerKeyFocusOut   ,
+    mk_EventControllerKeyFocusOutCallback   ,
+    noEventControllerKeyFocusOutCallback    ,
+    onEventControllerKeyFocusOut            ,
+    wrap_EventControllerKeyFocusOutCallback ,
+
+
+-- ** imUpdate #signal:imUpdate#
+
+    C_EventControllerKeyImUpdateCallback    ,
+    EventControllerKeyImUpdateCallback      ,
+#if ENABLE_OVERLOADING
+    EventControllerKeyImUpdateSignalInfo    ,
+#endif
+    afterEventControllerKeyImUpdate         ,
+    genClosure_EventControllerKeyImUpdate   ,
+    mk_EventControllerKeyImUpdateCallback   ,
+    noEventControllerKeyImUpdateCallback    ,
+    onEventControllerKeyImUpdate            ,
+    wrap_EventControllerKeyImUpdateCallback ,
+
+
+-- ** keyPressed #signal:keyPressed#
+
+    C_EventControllerKeyKeyPressedCallback  ,
+    EventControllerKeyKeyPressedCallback    ,
+#if ENABLE_OVERLOADING
+    EventControllerKeyKeyPressedSignalInfo  ,
+#endif
+    afterEventControllerKeyKeyPressed       ,
+    genClosure_EventControllerKeyKeyPressed ,
+    mk_EventControllerKeyKeyPressedCallback ,
+    noEventControllerKeyKeyPressedCallback  ,
+    onEventControllerKeyKeyPressed          ,
+    wrap_EventControllerKeyKeyPressedCallback,
+
+
+-- ** keyReleased #signal:keyReleased#
+
+    C_EventControllerKeyKeyReleasedCallback ,
+    EventControllerKeyKeyReleasedCallback   ,
+#if ENABLE_OVERLOADING
+    EventControllerKeyKeyReleasedSignalInfo ,
+#endif
+    afterEventControllerKeyKeyReleased      ,
+    genClosure_EventControllerKeyKeyReleased,
+    mk_EventControllerKeyKeyReleasedCallback,
+    noEventControllerKeyKeyReleasedCallback ,
+    onEventControllerKeyKeyReleased         ,
+    wrap_EventControllerKeyKeyReleasedCallback,
+
+
+-- ** modifiers #signal:modifiers#
+
+    C_EventControllerKeyModifiersCallback   ,
+    EventControllerKeyModifiersCallback     ,
+#if ENABLE_OVERLOADING
+    EventControllerKeyModifiersSignalInfo   ,
+#endif
+    afterEventControllerKeyModifiers        ,
+    genClosure_EventControllerKeyModifiers  ,
+    mk_EventControllerKeyModifiersCallback  ,
+    noEventControllerKeyModifiersCallback   ,
+    onEventControllerKeyModifiers           ,
+    wrap_EventControllerKeyModifiersCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.IMContext as Gtk.IMContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype EventControllerKey = EventControllerKey (ManagedPtr EventControllerKey)
+foreign import ccall "gtk_event_controller_key_get_type"
+    c_gtk_event_controller_key_get_type :: IO GType
+
+instance GObject EventControllerKey where
+    gobjectType = c_gtk_event_controller_key_get_type
+    
+
+-- | Type class for types which can be safely cast to `EventControllerKey`, for instance with `toEventControllerKey`.
+class (GObject o, O.IsDescendantOf EventControllerKey o) => IsEventControllerKey o
+instance (GObject o, O.IsDescendantOf EventControllerKey o) => IsEventControllerKey o
+
+instance O.HasParentTypes EventControllerKey
+type instance O.ParentTypes EventControllerKey = '[Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `EventControllerKey`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEventControllerKey :: (MonadIO m, IsEventControllerKey o) => o -> m EventControllerKey
+toEventControllerKey = liftIO . unsafeCastTo EventControllerKey
+
+-- | A convenience alias for `Nothing` :: `Maybe` `EventControllerKey`.
+noEventControllerKey :: Maybe EventControllerKey
+noEventControllerKey = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEventControllerKeyMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEventControllerKeyMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEventControllerKeyMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEventControllerKeyMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEventControllerKeyMethod "forward" o = EventControllerKeyForwardMethodInfo
+    ResolveEventControllerKeyMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEventControllerKeyMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEventControllerKeyMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveEventControllerKeyMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEventControllerKeyMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEventControllerKeyMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEventControllerKeyMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEventControllerKeyMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEventControllerKeyMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveEventControllerKeyMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEventControllerKeyMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEventControllerKeyMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEventControllerKeyMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEventControllerKeyMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEventControllerKeyMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEventControllerKeyMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEventControllerKeyMethod "getGroup" o = EventControllerKeyGetGroupMethodInfo
+    ResolveEventControllerKeyMethod "getImContext" o = EventControllerKeyGetImContextMethodInfo
+    ResolveEventControllerKeyMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveEventControllerKeyMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEventControllerKeyMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEventControllerKeyMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveEventControllerKeyMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEventControllerKeyMethod "setImContext" o = EventControllerKeySetImContextMethodInfo
+    ResolveEventControllerKeyMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveEventControllerKeyMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEventControllerKeyMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEventControllerKeyMethod t EventControllerKey, O.MethodInfo info EventControllerKey p) => OL.IsLabel t (EventControllerKey -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal EventControllerKey::focus-in
+{- |
+/No description available in the introspection data./
+-}
+type EventControllerKeyFocusInCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerKeyFocusInCallback`@.
+noEventControllerKeyFocusInCallback :: Maybe EventControllerKeyFocusInCallback
+noEventControllerKeyFocusInCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerKeyFocusInCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerKeyFocusInCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerKeyFocusInCallback :: C_EventControllerKeyFocusInCallback -> IO (FunPtr C_EventControllerKeyFocusInCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerKeyFocusIn :: MonadIO m => EventControllerKeyFocusInCallback -> m (GClosure C_EventControllerKeyFocusInCallback)
+genClosure_EventControllerKeyFocusIn cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyFocusInCallback cb
+    mk_EventControllerKeyFocusInCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerKeyFocusInCallback` into a `C_EventControllerKeyFocusInCallback`.
+wrap_EventControllerKeyFocusInCallback ::
+    EventControllerKeyFocusInCallback ->
+    C_EventControllerKeyFocusInCallback
+wrap_EventControllerKeyFocusInCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@focus-in@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerKey #focusIn callback
+@
+-}
+onEventControllerKeyFocusIn :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyFocusInCallback -> m SignalHandlerId
+onEventControllerKeyFocusIn obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyFocusInCallback cb
+    cb'' <- mk_EventControllerKeyFocusInCallback cb'
+    connectSignalFunPtr obj "focus-in" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@focus-in@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerKey #focusIn callback
+@
+-}
+afterEventControllerKeyFocusIn :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyFocusInCallback -> m SignalHandlerId
+afterEventControllerKeyFocusIn obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyFocusInCallback cb
+    cb'' <- mk_EventControllerKeyFocusInCallback cb'
+    connectSignalFunPtr obj "focus-in" cb'' SignalConnectAfter
+
+
+-- signal EventControllerKey::focus-out
+{- |
+/No description available in the introspection data./
+-}
+type EventControllerKeyFocusOutCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerKeyFocusOutCallback`@.
+noEventControllerKeyFocusOutCallback :: Maybe EventControllerKeyFocusOutCallback
+noEventControllerKeyFocusOutCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerKeyFocusOutCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerKeyFocusOutCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerKeyFocusOutCallback :: C_EventControllerKeyFocusOutCallback -> IO (FunPtr C_EventControllerKeyFocusOutCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerKeyFocusOut :: MonadIO m => EventControllerKeyFocusOutCallback -> m (GClosure C_EventControllerKeyFocusOutCallback)
+genClosure_EventControllerKeyFocusOut cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyFocusOutCallback cb
+    mk_EventControllerKeyFocusOutCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerKeyFocusOutCallback` into a `C_EventControllerKeyFocusOutCallback`.
+wrap_EventControllerKeyFocusOutCallback ::
+    EventControllerKeyFocusOutCallback ->
+    C_EventControllerKeyFocusOutCallback
+wrap_EventControllerKeyFocusOutCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@focus-out@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerKey #focusOut callback
+@
+-}
+onEventControllerKeyFocusOut :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyFocusOutCallback -> m SignalHandlerId
+onEventControllerKeyFocusOut obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyFocusOutCallback cb
+    cb'' <- mk_EventControllerKeyFocusOutCallback cb'
+    connectSignalFunPtr obj "focus-out" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@focus-out@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerKey #focusOut callback
+@
+-}
+afterEventControllerKeyFocusOut :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyFocusOutCallback -> m SignalHandlerId
+afterEventControllerKeyFocusOut obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyFocusOutCallback cb
+    cb'' <- mk_EventControllerKeyFocusOutCallback cb'
+    connectSignalFunPtr obj "focus-out" cb'' SignalConnectAfter
+
+
+-- signal EventControllerKey::im-update
+{- |
+/No description available in the introspection data./
+-}
+type EventControllerKeyImUpdateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerKeyImUpdateCallback`@.
+noEventControllerKeyImUpdateCallback :: Maybe EventControllerKeyImUpdateCallback
+noEventControllerKeyImUpdateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerKeyImUpdateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerKeyImUpdateCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerKeyImUpdateCallback :: C_EventControllerKeyImUpdateCallback -> IO (FunPtr C_EventControllerKeyImUpdateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerKeyImUpdate :: MonadIO m => EventControllerKeyImUpdateCallback -> m (GClosure C_EventControllerKeyImUpdateCallback)
+genClosure_EventControllerKeyImUpdate cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyImUpdateCallback cb
+    mk_EventControllerKeyImUpdateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerKeyImUpdateCallback` into a `C_EventControllerKeyImUpdateCallback`.
+wrap_EventControllerKeyImUpdateCallback ::
+    EventControllerKeyImUpdateCallback ->
+    C_EventControllerKeyImUpdateCallback
+wrap_EventControllerKeyImUpdateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@im-update@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerKey #imUpdate callback
+@
+-}
+onEventControllerKeyImUpdate :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyImUpdateCallback -> m SignalHandlerId
+onEventControllerKeyImUpdate obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyImUpdateCallback cb
+    cb'' <- mk_EventControllerKeyImUpdateCallback cb'
+    connectSignalFunPtr obj "im-update" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@im-update@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerKey #imUpdate callback
+@
+-}
+afterEventControllerKeyImUpdate :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyImUpdateCallback -> m SignalHandlerId
+afterEventControllerKeyImUpdate obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyImUpdateCallback cb
+    cb'' <- mk_EventControllerKeyImUpdateCallback cb'
+    connectSignalFunPtr obj "im-update" cb'' SignalConnectAfter
+
+
+-- signal EventControllerKey::key-pressed
+{- |
+This signal is emitted whenever a key is pressed.
+
+/Since: 3.24/
+-}
+type EventControllerKeyKeyPressedCallback =
+    Word32
+    {- ^ /@keyval@/: the pressed key. -}
+    -> Word32
+    {- ^ /@keycode@/: the raw code of the pressed key. -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@state@/: the bitmask, representing the state of modifier keys and pointer buttons. See 'GI.Gdk.Flags.ModifierType'. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the key press was handled, 'False' otherwise. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerKeyKeyPressedCallback`@.
+noEventControllerKeyKeyPressedCallback :: Maybe EventControllerKeyKeyPressedCallback
+noEventControllerKeyKeyPressedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerKeyKeyPressedCallback =
+    Ptr () ->                               -- object
+    Word32 ->
+    Word32 ->
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerKeyKeyPressedCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerKeyKeyPressedCallback :: C_EventControllerKeyKeyPressedCallback -> IO (FunPtr C_EventControllerKeyKeyPressedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerKeyKeyPressed :: MonadIO m => EventControllerKeyKeyPressedCallback -> m (GClosure C_EventControllerKeyKeyPressedCallback)
+genClosure_EventControllerKeyKeyPressed cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyKeyPressedCallback cb
+    mk_EventControllerKeyKeyPressedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerKeyKeyPressedCallback` into a `C_EventControllerKeyKeyPressedCallback`.
+wrap_EventControllerKeyKeyPressedCallback ::
+    EventControllerKeyKeyPressedCallback ->
+    C_EventControllerKeyKeyPressedCallback
+wrap_EventControllerKeyKeyPressedCallback _cb _ keyval keycode state _ = do
+    let state' = wordToGFlags state
+    result <- _cb  keyval keycode state'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@key-pressed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerKey #keyPressed callback
+@
+-}
+onEventControllerKeyKeyPressed :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyKeyPressedCallback -> m SignalHandlerId
+onEventControllerKeyKeyPressed obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyKeyPressedCallback cb
+    cb'' <- mk_EventControllerKeyKeyPressedCallback cb'
+    connectSignalFunPtr obj "key-pressed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@key-pressed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerKey #keyPressed callback
+@
+-}
+afterEventControllerKeyKeyPressed :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyKeyPressedCallback -> m SignalHandlerId
+afterEventControllerKeyKeyPressed obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyKeyPressedCallback cb
+    cb'' <- mk_EventControllerKeyKeyPressedCallback cb'
+    connectSignalFunPtr obj "key-pressed" cb'' SignalConnectAfter
+
+
+-- signal EventControllerKey::key-released
+{- |
+This signal is emitted whenever a key is released.
+
+/Since: 3.24/
+-}
+type EventControllerKeyKeyReleasedCallback =
+    Word32
+    {- ^ /@keyval@/: the released key. -}
+    -> Word32
+    {- ^ /@keycode@/: the raw code of the released key. -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@state@/: the bitmask, representing the state of modifier keys and pointer buttons. See 'GI.Gdk.Flags.ModifierType'. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerKeyKeyReleasedCallback`@.
+noEventControllerKeyKeyReleasedCallback :: Maybe EventControllerKeyKeyReleasedCallback
+noEventControllerKeyKeyReleasedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerKeyKeyReleasedCallback =
+    Ptr () ->                               -- object
+    Word32 ->
+    Word32 ->
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerKeyKeyReleasedCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerKeyKeyReleasedCallback :: C_EventControllerKeyKeyReleasedCallback -> IO (FunPtr C_EventControllerKeyKeyReleasedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerKeyKeyReleased :: MonadIO m => EventControllerKeyKeyReleasedCallback -> m (GClosure C_EventControllerKeyKeyReleasedCallback)
+genClosure_EventControllerKeyKeyReleased cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyKeyReleasedCallback cb
+    mk_EventControllerKeyKeyReleasedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerKeyKeyReleasedCallback` into a `C_EventControllerKeyKeyReleasedCallback`.
+wrap_EventControllerKeyKeyReleasedCallback ::
+    EventControllerKeyKeyReleasedCallback ->
+    C_EventControllerKeyKeyReleasedCallback
+wrap_EventControllerKeyKeyReleasedCallback _cb _ keyval keycode state _ = do
+    let state' = wordToGFlags state
+    _cb  keyval keycode state'
+
+
+{- |
+Connect a signal handler for the “@key-released@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerKey #keyReleased callback
+@
+-}
+onEventControllerKeyKeyReleased :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyKeyReleasedCallback -> m SignalHandlerId
+onEventControllerKeyKeyReleased obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyKeyReleasedCallback cb
+    cb'' <- mk_EventControllerKeyKeyReleasedCallback cb'
+    connectSignalFunPtr obj "key-released" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@key-released@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerKey #keyReleased callback
+@
+-}
+afterEventControllerKeyKeyReleased :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyKeyReleasedCallback -> m SignalHandlerId
+afterEventControllerKeyKeyReleased obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyKeyReleasedCallback cb
+    cb'' <- mk_EventControllerKeyKeyReleasedCallback cb'
+    connectSignalFunPtr obj "key-released" cb'' SignalConnectAfter
+
+
+-- signal EventControllerKey::modifiers
+{- |
+/No description available in the introspection data./
+-}
+type EventControllerKeyModifiersCallback =
+    [Gdk.Flags.ModifierType]
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerKeyModifiersCallback`@.
+noEventControllerKeyModifiersCallback :: Maybe EventControllerKeyModifiersCallback
+noEventControllerKeyModifiersCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerKeyModifiersCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerKeyModifiersCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerKeyModifiersCallback :: C_EventControllerKeyModifiersCallback -> IO (FunPtr C_EventControllerKeyModifiersCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerKeyModifiers :: MonadIO m => EventControllerKeyModifiersCallback -> m (GClosure C_EventControllerKeyModifiersCallback)
+genClosure_EventControllerKeyModifiers cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyModifiersCallback cb
+    mk_EventControllerKeyModifiersCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerKeyModifiersCallback` into a `C_EventControllerKeyModifiersCallback`.
+wrap_EventControllerKeyModifiersCallback ::
+    EventControllerKeyModifiersCallback ->
+    C_EventControllerKeyModifiersCallback
+wrap_EventControllerKeyModifiersCallback _cb _ object _ = do
+    let object' = wordToGFlags object
+    result <- _cb  object'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@modifiers@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerKey #modifiers callback
+@
+-}
+onEventControllerKeyModifiers :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyModifiersCallback -> m SignalHandlerId
+onEventControllerKeyModifiers obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyModifiersCallback cb
+    cb'' <- mk_EventControllerKeyModifiersCallback cb'
+    connectSignalFunPtr obj "modifiers" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@modifiers@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerKey #modifiers callback
+@
+-}
+afterEventControllerKeyModifiers :: (IsEventControllerKey a, MonadIO m) => a -> EventControllerKeyModifiersCallback -> m SignalHandlerId
+afterEventControllerKeyModifiers obj cb = liftIO $ do
+    let cb' = wrap_EventControllerKeyModifiersCallback cb
+    cb'' <- mk_EventControllerKeyModifiersCallback cb'
+    connectSignalFunPtr obj "modifiers" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList EventControllerKey
+type instance O.AttributeList EventControllerKey = EventControllerKeyAttributeList
+type EventControllerKeyAttributeList = ('[ '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data EventControllerKeyFocusInSignalInfo
+instance SignalInfo EventControllerKeyFocusInSignalInfo where
+    type HaskellCallbackType EventControllerKeyFocusInSignalInfo = EventControllerKeyFocusInCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerKeyFocusInCallback cb
+        cb'' <- mk_EventControllerKeyFocusInCallback cb'
+        connectSignalFunPtr obj "focus-in" cb'' connectMode
+
+data EventControllerKeyFocusOutSignalInfo
+instance SignalInfo EventControllerKeyFocusOutSignalInfo where
+    type HaskellCallbackType EventControllerKeyFocusOutSignalInfo = EventControllerKeyFocusOutCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerKeyFocusOutCallback cb
+        cb'' <- mk_EventControllerKeyFocusOutCallback cb'
+        connectSignalFunPtr obj "focus-out" cb'' connectMode
+
+data EventControllerKeyImUpdateSignalInfo
+instance SignalInfo EventControllerKeyImUpdateSignalInfo where
+    type HaskellCallbackType EventControllerKeyImUpdateSignalInfo = EventControllerKeyImUpdateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerKeyImUpdateCallback cb
+        cb'' <- mk_EventControllerKeyImUpdateCallback cb'
+        connectSignalFunPtr obj "im-update" cb'' connectMode
+
+data EventControllerKeyKeyPressedSignalInfo
+instance SignalInfo EventControllerKeyKeyPressedSignalInfo where
+    type HaskellCallbackType EventControllerKeyKeyPressedSignalInfo = EventControllerKeyKeyPressedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerKeyKeyPressedCallback cb
+        cb'' <- mk_EventControllerKeyKeyPressedCallback cb'
+        connectSignalFunPtr obj "key-pressed" cb'' connectMode
+
+data EventControllerKeyKeyReleasedSignalInfo
+instance SignalInfo EventControllerKeyKeyReleasedSignalInfo where
+    type HaskellCallbackType EventControllerKeyKeyReleasedSignalInfo = EventControllerKeyKeyReleasedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerKeyKeyReleasedCallback cb
+        cb'' <- mk_EventControllerKeyKeyReleasedCallback cb'
+        connectSignalFunPtr obj "key-released" cb'' connectMode
+
+data EventControllerKeyModifiersSignalInfo
+instance SignalInfo EventControllerKeyModifiersSignalInfo where
+    type HaskellCallbackType EventControllerKeyModifiersSignalInfo = EventControllerKeyModifiersCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerKeyModifiersCallback cb
+        cb'' <- mk_EventControllerKeyModifiersCallback cb'
+        connectSignalFunPtr obj "modifiers" cb'' connectMode
+
+type instance O.SignalList EventControllerKey = EventControllerKeySignalList
+type EventControllerKeySignalList = ('[ '("focusIn", EventControllerKeyFocusInSignalInfo), '("focusOut", EventControllerKeyFocusOutSignalInfo), '("imUpdate", EventControllerKeyImUpdateSignalInfo), '("keyPressed", EventControllerKeyKeyPressedSignalInfo), '("keyReleased", EventControllerKeyKeyReleasedSignalInfo), '("modifiers", EventControllerKeyModifiersSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method EventControllerKey::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EventControllerKey"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_key_new" gtk_event_controller_key_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr EventControllerKey)
+
+{- |
+/No description available in the introspection data./
+-}
+eventControllerKeyNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    -> m EventControllerKey
+eventControllerKeyNew widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_event_controller_key_new widget'
+    checkUnexpectedReturnNULL "eventControllerKeyNew" result
+    result' <- (wrapObject EventControllerKey) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method EventControllerKey::forward
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventControllerKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_key_forward" gtk_event_controller_key_forward :: 
+    Ptr EventControllerKey ->               -- controller : TInterface (Name {namespace = "Gtk", name = "EventControllerKey"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+/No description available in the introspection data./
+-}
+eventControllerKeyForward ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventControllerKey a, Gtk.Widget.IsWidget b) =>
+    a
+    -> b
+    -> m Bool
+eventControllerKeyForward controller widget = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_event_controller_key_forward controller' widget'
+    let result' = (/= 0) result
+    touchManagedPtr controller
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data EventControllerKeyForwardMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsEventControllerKey a, Gtk.Widget.IsWidget b) => O.MethodInfo EventControllerKeyForwardMethodInfo a signature where
+    overloadedMethod _ = eventControllerKeyForward
+
+#endif
+
+-- method EventControllerKey::get_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventControllerKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_key_get_group" gtk_event_controller_key_get_group :: 
+    Ptr EventControllerKey ->               -- controller : TInterface (Name {namespace = "Gtk", name = "EventControllerKey"})
+    IO Word32
+
+{- |
+/No description available in the introspection data./
+-}
+eventControllerKeyGetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventControllerKey a) =>
+    a
+    -> m Word32
+eventControllerKeyGetGroup controller = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    result <- gtk_event_controller_key_get_group controller'
+    touchManagedPtr controller
+    return result
+
+#if ENABLE_OVERLOADING
+data EventControllerKeyGetGroupMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsEventControllerKey a) => O.MethodInfo EventControllerKeyGetGroupMethodInfo a signature where
+    overloadedMethod _ = eventControllerKeyGetGroup
+
+#endif
+
+-- method EventControllerKey::get_im_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventControllerKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEventControllerKey", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IMContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_key_get_im_context" gtk_event_controller_key_get_im_context :: 
+    Ptr EventControllerKey ->               -- controller : TInterface (Name {namespace = "Gtk", name = "EventControllerKey"})
+    IO (Ptr Gtk.IMContext.IMContext)
+
+{- |
+Gets the IM context of a key controller.
+
+/Since: 3.24/
+-}
+eventControllerKeyGetImContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventControllerKey a) =>
+    a
+    {- ^ /@controller@/: a 'GI.Gtk.Objects.EventControllerKey.EventControllerKey' -}
+    -> m Gtk.IMContext.IMContext
+    {- ^ __Returns:__ the IM context -}
+eventControllerKeyGetImContext controller = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    result <- gtk_event_controller_key_get_im_context controller'
+    checkUnexpectedReturnNULL "eventControllerKeyGetImContext" result
+    result' <- (newObject Gtk.IMContext.IMContext) result
+    touchManagedPtr controller
+    return result'
+
+#if ENABLE_OVERLOADING
+data EventControllerKeyGetImContextMethodInfo
+instance (signature ~ (m Gtk.IMContext.IMContext), MonadIO m, IsEventControllerKey a) => O.MethodInfo EventControllerKeyGetImContextMethodInfo a signature where
+    overloadedMethod _ = eventControllerKeyGetImContext
+
+#endif
+
+-- method EventControllerKey::set_im_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventControllerKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "im_context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_key_set_im_context" gtk_event_controller_key_set_im_context :: 
+    Ptr EventControllerKey ->               -- controller : TInterface (Name {namespace = "Gtk", name = "EventControllerKey"})
+    Ptr Gtk.IMContext.IMContext ->          -- im_context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+eventControllerKeySetImContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventControllerKey a, Gtk.IMContext.IsIMContext b) =>
+    a
+    -> b
+    -> m ()
+eventControllerKeySetImContext controller imContext = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    imContext' <- unsafeManagedPtrCastPtr imContext
+    gtk_event_controller_key_set_im_context controller' imContext'
+    touchManagedPtr controller
+    touchManagedPtr imContext
+    return ()
+
+#if ENABLE_OVERLOADING
+data EventControllerKeySetImContextMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsEventControllerKey a, Gtk.IMContext.IsIMContext b) => O.MethodInfo EventControllerKeySetImContextMethodInfo a signature where
+    overloadedMethod _ = eventControllerKeySetImContext
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/EventControllerKey.hs-boot b/GI/Gtk/Objects/EventControllerKey.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventControllerKey.hs-boot
@@ -0,0 +1,59 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.EventControllerKey where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype EventControllerKey = EventControllerKey (ManagedPtr EventControllerKey)
+instance GObject EventControllerKey where
+class (GObject o, O.IsDescendantOf EventControllerKey o) => IsEventControllerKey o
+instance (GObject o, O.IsDescendantOf EventControllerKey o) => IsEventControllerKey o
+instance O.HasParentTypes EventControllerKey
+#if ENABLE_OVERLOADING
+data EventControllerKeyFocusInSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerKeyFocusOutSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerKeyImUpdateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerKeyKeyPressedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerKeyKeyReleasedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerKeyModifiersSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerKeyForwardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerKeyGetGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerKeyGetImContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerKeySetImContextMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/EventControllerMotion.hs b/GI/Gtk/Objects/EventControllerMotion.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventControllerMotion.hs
@@ -0,0 +1,457 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.EventControllerMotion.EventControllerMotion' is an event controller meant for situations
+where you need to track the position of the pointer.
+
+This object was added in 3.24.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.EventControllerMotion
+    ( 
+
+-- * Exported types
+    EventControllerMotion(..)               ,
+    IsEventControllerMotion                 ,
+    toEventControllerMotion                 ,
+    noEventControllerMotion                 ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    eventControllerMotionNew                ,
+
+
+
+
+ -- * Signals
+-- ** enter #signal:enter#
+
+    C_EventControllerMotionEnterCallback    ,
+    EventControllerMotionEnterCallback      ,
+#if ENABLE_OVERLOADING
+    EventControllerMotionEnterSignalInfo    ,
+#endif
+    afterEventControllerMotionEnter         ,
+    genClosure_EventControllerMotionEnter   ,
+    mk_EventControllerMotionEnterCallback   ,
+    noEventControllerMotionEnterCallback    ,
+    onEventControllerMotionEnter            ,
+    wrap_EventControllerMotionEnterCallback ,
+
+
+-- ** leave #signal:leave#
+
+    C_EventControllerMotionLeaveCallback    ,
+    EventControllerMotionLeaveCallback      ,
+#if ENABLE_OVERLOADING
+    EventControllerMotionLeaveSignalInfo    ,
+#endif
+    afterEventControllerMotionLeave         ,
+    genClosure_EventControllerMotionLeave   ,
+    mk_EventControllerMotionLeaveCallback   ,
+    noEventControllerMotionLeaveCallback    ,
+    onEventControllerMotionLeave            ,
+    wrap_EventControllerMotionLeaveCallback ,
+
+
+-- ** motion #signal:motion#
+
+    C_EventControllerMotionMotionCallback   ,
+    EventControllerMotionMotionCallback     ,
+#if ENABLE_OVERLOADING
+    EventControllerMotionMotionSignalInfo   ,
+#endif
+    afterEventControllerMotionMotion        ,
+    genClosure_EventControllerMotionMotion  ,
+    mk_EventControllerMotionMotionCallback  ,
+    noEventControllerMotionMotionCallback   ,
+    onEventControllerMotionMotion           ,
+    wrap_EventControllerMotionMotionCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype EventControllerMotion = EventControllerMotion (ManagedPtr EventControllerMotion)
+foreign import ccall "gtk_event_controller_motion_get_type"
+    c_gtk_event_controller_motion_get_type :: IO GType
+
+instance GObject EventControllerMotion where
+    gobjectType = c_gtk_event_controller_motion_get_type
+    
+
+-- | Type class for types which can be safely cast to `EventControllerMotion`, for instance with `toEventControllerMotion`.
+class (GObject o, O.IsDescendantOf EventControllerMotion o) => IsEventControllerMotion o
+instance (GObject o, O.IsDescendantOf EventControllerMotion o) => IsEventControllerMotion o
+
+instance O.HasParentTypes EventControllerMotion
+type instance O.ParentTypes EventControllerMotion = '[Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `EventControllerMotion`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEventControllerMotion :: (MonadIO m, IsEventControllerMotion o) => o -> m EventControllerMotion
+toEventControllerMotion = liftIO . unsafeCastTo EventControllerMotion
+
+-- | A convenience alias for `Nothing` :: `Maybe` `EventControllerMotion`.
+noEventControllerMotion :: Maybe EventControllerMotion
+noEventControllerMotion = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEventControllerMotionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEventControllerMotionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEventControllerMotionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEventControllerMotionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEventControllerMotionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEventControllerMotionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEventControllerMotionMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveEventControllerMotionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEventControllerMotionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEventControllerMotionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEventControllerMotionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEventControllerMotionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEventControllerMotionMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveEventControllerMotionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEventControllerMotionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEventControllerMotionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEventControllerMotionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEventControllerMotionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEventControllerMotionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEventControllerMotionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEventControllerMotionMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveEventControllerMotionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEventControllerMotionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEventControllerMotionMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveEventControllerMotionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEventControllerMotionMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveEventControllerMotionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEventControllerMotionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEventControllerMotionMethod t EventControllerMotion, O.MethodInfo info EventControllerMotion p) => OL.IsLabel t (EventControllerMotion -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal EventControllerMotion::enter
+{- |
+Signals that the pointer has entered the widget.
+-}
+type EventControllerMotionEnterCallback =
+    Double
+    {- ^ /@x@/: the x coordinate -}
+    -> Double
+    {- ^ /@y@/: the y coordinate -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerMotionEnterCallback`@.
+noEventControllerMotionEnterCallback :: Maybe EventControllerMotionEnterCallback
+noEventControllerMotionEnterCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerMotionEnterCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerMotionEnterCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerMotionEnterCallback :: C_EventControllerMotionEnterCallback -> IO (FunPtr C_EventControllerMotionEnterCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerMotionEnter :: MonadIO m => EventControllerMotionEnterCallback -> m (GClosure C_EventControllerMotionEnterCallback)
+genClosure_EventControllerMotionEnter cb = liftIO $ do
+    let cb' = wrap_EventControllerMotionEnterCallback cb
+    mk_EventControllerMotionEnterCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerMotionEnterCallback` into a `C_EventControllerMotionEnterCallback`.
+wrap_EventControllerMotionEnterCallback ::
+    EventControllerMotionEnterCallback ->
+    C_EventControllerMotionEnterCallback
+wrap_EventControllerMotionEnterCallback _cb _ x y _ = do
+    let x' = realToFrac x
+    let y' = realToFrac y
+    _cb  x' y'
+
+
+{- |
+Connect a signal handler for the “@enter@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerMotion #enter callback
+@
+-}
+onEventControllerMotionEnter :: (IsEventControllerMotion a, MonadIO m) => a -> EventControllerMotionEnterCallback -> m SignalHandlerId
+onEventControllerMotionEnter obj cb = liftIO $ do
+    let cb' = wrap_EventControllerMotionEnterCallback cb
+    cb'' <- mk_EventControllerMotionEnterCallback cb'
+    connectSignalFunPtr obj "enter" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@enter@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerMotion #enter callback
+@
+-}
+afterEventControllerMotionEnter :: (IsEventControllerMotion a, MonadIO m) => a -> EventControllerMotionEnterCallback -> m SignalHandlerId
+afterEventControllerMotionEnter obj cb = liftIO $ do
+    let cb' = wrap_EventControllerMotionEnterCallback cb
+    cb'' <- mk_EventControllerMotionEnterCallback cb'
+    connectSignalFunPtr obj "enter" cb'' SignalConnectAfter
+
+
+-- signal EventControllerMotion::leave
+{- |
+Signals that pointer has left the widget.
+-}
+type EventControllerMotionLeaveCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerMotionLeaveCallback`@.
+noEventControllerMotionLeaveCallback :: Maybe EventControllerMotionLeaveCallback
+noEventControllerMotionLeaveCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerMotionLeaveCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerMotionLeaveCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerMotionLeaveCallback :: C_EventControllerMotionLeaveCallback -> IO (FunPtr C_EventControllerMotionLeaveCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerMotionLeave :: MonadIO m => EventControllerMotionLeaveCallback -> m (GClosure C_EventControllerMotionLeaveCallback)
+genClosure_EventControllerMotionLeave cb = liftIO $ do
+    let cb' = wrap_EventControllerMotionLeaveCallback cb
+    mk_EventControllerMotionLeaveCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerMotionLeaveCallback` into a `C_EventControllerMotionLeaveCallback`.
+wrap_EventControllerMotionLeaveCallback ::
+    EventControllerMotionLeaveCallback ->
+    C_EventControllerMotionLeaveCallback
+wrap_EventControllerMotionLeaveCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@leave@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerMotion #leave callback
+@
+-}
+onEventControllerMotionLeave :: (IsEventControllerMotion a, MonadIO m) => a -> EventControllerMotionLeaveCallback -> m SignalHandlerId
+onEventControllerMotionLeave obj cb = liftIO $ do
+    let cb' = wrap_EventControllerMotionLeaveCallback cb
+    cb'' <- mk_EventControllerMotionLeaveCallback cb'
+    connectSignalFunPtr obj "leave" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@leave@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerMotion #leave callback
+@
+-}
+afterEventControllerMotionLeave :: (IsEventControllerMotion a, MonadIO m) => a -> EventControllerMotionLeaveCallback -> m SignalHandlerId
+afterEventControllerMotionLeave obj cb = liftIO $ do
+    let cb' = wrap_EventControllerMotionLeaveCallback cb
+    cb'' <- mk_EventControllerMotionLeaveCallback cb'
+    connectSignalFunPtr obj "leave" cb'' SignalConnectAfter
+
+
+-- signal EventControllerMotion::motion
+{- |
+Emitted when the pointer moves inside the widget.
+-}
+type EventControllerMotionMotionCallback =
+    Double
+    {- ^ /@x@/: the x coordinate -}
+    -> Double
+    {- ^ /@y@/: the y coordinate -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerMotionMotionCallback`@.
+noEventControllerMotionMotionCallback :: Maybe EventControllerMotionMotionCallback
+noEventControllerMotionMotionCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerMotionMotionCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerMotionMotionCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerMotionMotionCallback :: C_EventControllerMotionMotionCallback -> IO (FunPtr C_EventControllerMotionMotionCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerMotionMotion :: MonadIO m => EventControllerMotionMotionCallback -> m (GClosure C_EventControllerMotionMotionCallback)
+genClosure_EventControllerMotionMotion cb = liftIO $ do
+    let cb' = wrap_EventControllerMotionMotionCallback cb
+    mk_EventControllerMotionMotionCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerMotionMotionCallback` into a `C_EventControllerMotionMotionCallback`.
+wrap_EventControllerMotionMotionCallback ::
+    EventControllerMotionMotionCallback ->
+    C_EventControllerMotionMotionCallback
+wrap_EventControllerMotionMotionCallback _cb _ x y _ = do
+    let x' = realToFrac x
+    let y' = realToFrac y
+    _cb  x' y'
+
+
+{- |
+Connect a signal handler for the “@motion@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerMotion #motion callback
+@
+-}
+onEventControllerMotionMotion :: (IsEventControllerMotion a, MonadIO m) => a -> EventControllerMotionMotionCallback -> m SignalHandlerId
+onEventControllerMotionMotion obj cb = liftIO $ do
+    let cb' = wrap_EventControllerMotionMotionCallback cb
+    cb'' <- mk_EventControllerMotionMotionCallback cb'
+    connectSignalFunPtr obj "motion" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@motion@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerMotion #motion callback
+@
+-}
+afterEventControllerMotionMotion :: (IsEventControllerMotion a, MonadIO m) => a -> EventControllerMotionMotionCallback -> m SignalHandlerId
+afterEventControllerMotionMotion obj cb = liftIO $ do
+    let cb' = wrap_EventControllerMotionMotionCallback cb
+    cb'' <- mk_EventControllerMotionMotionCallback cb'
+    connectSignalFunPtr obj "motion" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList EventControllerMotion
+type instance O.AttributeList EventControllerMotion = EventControllerMotionAttributeList
+type EventControllerMotionAttributeList = ('[ '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data EventControllerMotionEnterSignalInfo
+instance SignalInfo EventControllerMotionEnterSignalInfo where
+    type HaskellCallbackType EventControllerMotionEnterSignalInfo = EventControllerMotionEnterCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerMotionEnterCallback cb
+        cb'' <- mk_EventControllerMotionEnterCallback cb'
+        connectSignalFunPtr obj "enter" cb'' connectMode
+
+data EventControllerMotionLeaveSignalInfo
+instance SignalInfo EventControllerMotionLeaveSignalInfo where
+    type HaskellCallbackType EventControllerMotionLeaveSignalInfo = EventControllerMotionLeaveCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerMotionLeaveCallback cb
+        cb'' <- mk_EventControllerMotionLeaveCallback cb'
+        connectSignalFunPtr obj "leave" cb'' connectMode
+
+data EventControllerMotionMotionSignalInfo
+instance SignalInfo EventControllerMotionMotionSignalInfo where
+    type HaskellCallbackType EventControllerMotionMotionSignalInfo = EventControllerMotionMotionCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerMotionMotionCallback cb
+        cb'' <- mk_EventControllerMotionMotionCallback cb'
+        connectSignalFunPtr obj "motion" cb'' connectMode
+
+type instance O.SignalList EventControllerMotion = EventControllerMotionSignalList
+type EventControllerMotionSignalList = ('[ '("enter", EventControllerMotionEnterSignalInfo), '("leave", EventControllerMotionLeaveSignalInfo), '("motion", EventControllerMotionMotionSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method EventControllerMotion::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EventControllerMotion"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_motion_new" gtk_event_controller_motion_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr EventControllerMotion)
+
+{- |
+Creates a new event controller that will handle motion events
+for the given /@widget@/.
+
+/Since: 3.24/
+-}
+eventControllerMotionNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m EventControllerMotion
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.EventControllerMotion.EventControllerMotion' -}
+eventControllerMotionNew widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_event_controller_motion_new widget'
+    checkUnexpectedReturnNULL "eventControllerMotionNew" result
+    result' <- (wrapObject EventControllerMotion) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/EventControllerMotion.hs-boot b/GI/Gtk/Objects/EventControllerMotion.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventControllerMotion.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.EventControllerMotion where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype EventControllerMotion = EventControllerMotion (ManagedPtr EventControllerMotion)
+instance GObject EventControllerMotion where
+class (GObject o, O.IsDescendantOf EventControllerMotion o) => IsEventControllerMotion o
+instance (GObject o, O.IsDescendantOf EventControllerMotion o) => IsEventControllerMotion o
+instance O.HasParentTypes EventControllerMotion
+#if ENABLE_OVERLOADING
+data EventControllerMotionEnterSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerMotionLeaveSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerMotionMotionSignalInfo
+#endif
diff --git a/GI/Gtk/Objects/EventControllerScroll.hs b/GI/Gtk/Objects/EventControllerScroll.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventControllerScroll.hs
@@ -0,0 +1,748 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll' is an event controller meant to handle
+scroll events from mice and touchpads. It is capable of handling
+both discrete and continuous scroll events, abstracting them both
+on the 'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll'::@/scroll/@ signal (deltas in the
+discrete case are multiples of 1).
+
+In the case of continuous scroll events, 'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll'
+encloses all 'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll'::@/scroll/@ events between two
+'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll'::@/scroll-begin/@ and 'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll'::@/scroll-end/@
+signals.
+
+The behavior of the event controller can be modified by the
+flags given at creation time, or modified at a later point through
+'GI.Gtk.Objects.EventControllerScroll.eventControllerScrollSetFlags' (e.g. because the scrolling
+conditions of the widget changed).
+
+The controller can be set up to emit motion for either\/both vertical
+and horizontal scroll events through @/GTK_EVENT_CONTROLLER_SCROLL_VERTICAL/@,
+@/GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL/@ and @/GTK_EVENT_CONTROLLER_SCROLL_BOTH/@.
+If any axis is disabled, the respective 'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll'::@/scroll/@
+delta will be 0. Vertical scroll events will be translated to horizontal
+motion for the devices incapable of horizontal scrolling.
+
+The event controller can also be forced to emit discrete events on all devices
+through @/GTK_EVENT_CONTROLLER_SCROLL_DISCRETE/@. This can be used to implement
+discrete actions triggered through scroll events (e.g. switching across
+combobox options).
+
+The @/GTK_EVENT_CONTROLLER_SCROLL_KINETIC/@ flag toggles the emission of the
+'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll'::@/decelerate/@ signal, emitted at the end of scrolling
+with two X\/Y velocity arguments that are consistent with the motion that
+was received.
+
+This object was added in 3.24.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.EventControllerScroll
+    ( 
+
+-- * Exported types
+    EventControllerScroll(..)               ,
+    IsEventControllerScroll                 ,
+    toEventControllerScroll                 ,
+    noEventControllerScroll                 ,
+
+
+ -- * Methods
+-- ** getFlags #method:getFlags#
+
+#if ENABLE_OVERLOADING
+    EventControllerScrollGetFlagsMethodInfo ,
+#endif
+    eventControllerScrollGetFlags           ,
+
+
+-- ** new #method:new#
+
+    eventControllerScrollNew                ,
+
+
+-- ** setFlags #method:setFlags#
+
+#if ENABLE_OVERLOADING
+    EventControllerScrollSetFlagsMethodInfo ,
+#endif
+    eventControllerScrollSetFlags           ,
+
+
+
+
+ -- * Properties
+-- ** flags #attr:flags#
+{- | The flags affecting event controller behavior
+
+/Since: 3.24/
+-}
+#if ENABLE_OVERLOADING
+    EventControllerScrollFlagsPropertyInfo  ,
+#endif
+    constructEventControllerScrollFlags     ,
+#if ENABLE_OVERLOADING
+    eventControllerScrollFlags              ,
+#endif
+    getEventControllerScrollFlags           ,
+    setEventControllerScrollFlags           ,
+
+
+
+
+ -- * Signals
+-- ** decelerate #signal:decelerate#
+
+    C_EventControllerScrollDecelerateCallback,
+    EventControllerScrollDecelerateCallback ,
+#if ENABLE_OVERLOADING
+    EventControllerScrollDecelerateSignalInfo,
+#endif
+    afterEventControllerScrollDecelerate    ,
+    genClosure_EventControllerScrollDecelerate,
+    mk_EventControllerScrollDecelerateCallback,
+    noEventControllerScrollDecelerateCallback,
+    onEventControllerScrollDecelerate       ,
+    wrap_EventControllerScrollDecelerateCallback,
+
+
+-- ** scroll #signal:scroll#
+
+    C_EventControllerScrollScrollCallback   ,
+    EventControllerScrollScrollCallback     ,
+#if ENABLE_OVERLOADING
+    EventControllerScrollScrollSignalInfo   ,
+#endif
+    afterEventControllerScrollScroll        ,
+    genClosure_EventControllerScrollScroll  ,
+    mk_EventControllerScrollScrollCallback  ,
+    noEventControllerScrollScrollCallback   ,
+    onEventControllerScrollScroll           ,
+    wrap_EventControllerScrollScrollCallback,
+
+
+-- ** scrollBegin #signal:scrollBegin#
+
+    C_EventControllerScrollScrollBeginCallback,
+    EventControllerScrollScrollBeginCallback,
+#if ENABLE_OVERLOADING
+    EventControllerScrollScrollBeginSignalInfo,
+#endif
+    afterEventControllerScrollScrollBegin   ,
+    genClosure_EventControllerScrollScrollBegin,
+    mk_EventControllerScrollScrollBeginCallback,
+    noEventControllerScrollScrollBeginCallback,
+    onEventControllerScrollScrollBegin      ,
+    wrap_EventControllerScrollScrollBeginCallback,
+
+
+-- ** scrollEnd #signal:scrollEnd#
+
+    C_EventControllerScrollScrollEndCallback,
+    EventControllerScrollScrollEndCallback  ,
+#if ENABLE_OVERLOADING
+    EventControllerScrollScrollEndSignalInfo,
+#endif
+    afterEventControllerScrollScrollEnd     ,
+    genClosure_EventControllerScrollScrollEnd,
+    mk_EventControllerScrollScrollEndCallback,
+    noEventControllerScrollScrollEndCallback,
+    onEventControllerScrollScrollEnd        ,
+    wrap_EventControllerScrollScrollEndCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype EventControllerScroll = EventControllerScroll (ManagedPtr EventControllerScroll)
+foreign import ccall "gtk_event_controller_scroll_get_type"
+    c_gtk_event_controller_scroll_get_type :: IO GType
+
+instance GObject EventControllerScroll where
+    gobjectType = c_gtk_event_controller_scroll_get_type
+    
+
+-- | Type class for types which can be safely cast to `EventControllerScroll`, for instance with `toEventControllerScroll`.
+class (GObject o, O.IsDescendantOf EventControllerScroll o) => IsEventControllerScroll o
+instance (GObject o, O.IsDescendantOf EventControllerScroll o) => IsEventControllerScroll o
+
+instance O.HasParentTypes EventControllerScroll
+type instance O.ParentTypes EventControllerScroll = '[Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `EventControllerScroll`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toEventControllerScroll :: (MonadIO m, IsEventControllerScroll o) => o -> m EventControllerScroll
+toEventControllerScroll = liftIO . unsafeCastTo EventControllerScroll
+
+-- | A convenience alias for `Nothing` :: `Maybe` `EventControllerScroll`.
+noEventControllerScroll :: Maybe EventControllerScroll
+noEventControllerScroll = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveEventControllerScrollMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEventControllerScrollMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveEventControllerScrollMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveEventControllerScrollMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveEventControllerScrollMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveEventControllerScrollMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveEventControllerScrollMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveEventControllerScrollMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveEventControllerScrollMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveEventControllerScrollMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveEventControllerScrollMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveEventControllerScrollMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveEventControllerScrollMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveEventControllerScrollMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveEventControllerScrollMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveEventControllerScrollMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveEventControllerScrollMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveEventControllerScrollMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveEventControllerScrollMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveEventControllerScrollMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveEventControllerScrollMethod "getFlags" o = EventControllerScrollGetFlagsMethodInfo
+    ResolveEventControllerScrollMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveEventControllerScrollMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveEventControllerScrollMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveEventControllerScrollMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveEventControllerScrollMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveEventControllerScrollMethod "setFlags" o = EventControllerScrollSetFlagsMethodInfo
+    ResolveEventControllerScrollMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveEventControllerScrollMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveEventControllerScrollMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveEventControllerScrollMethod t EventControllerScroll, O.MethodInfo info EventControllerScroll p) => OL.IsLabel t (EventControllerScroll -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal EventControllerScroll::decelerate
+{- |
+Emitted after scroll is finished if the @/GTK_EVENT_CONTROLLER_SCROLL_KINETIC/@
+flag is set. /@velX@/ and /@velY@/ express the initial velocity that was
+imprinted by the scroll events. /@velX@/ and /@velY@/ are expressed in
+pixels\/ms.
+-}
+type EventControllerScrollDecelerateCallback =
+    Double
+    {- ^ /@velX@/: X velocity -}
+    -> Double
+    {- ^ /@velY@/: Y velocity -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerScrollDecelerateCallback`@.
+noEventControllerScrollDecelerateCallback :: Maybe EventControllerScrollDecelerateCallback
+noEventControllerScrollDecelerateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerScrollDecelerateCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerScrollDecelerateCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerScrollDecelerateCallback :: C_EventControllerScrollDecelerateCallback -> IO (FunPtr C_EventControllerScrollDecelerateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerScrollDecelerate :: MonadIO m => EventControllerScrollDecelerateCallback -> m (GClosure C_EventControllerScrollDecelerateCallback)
+genClosure_EventControllerScrollDecelerate cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollDecelerateCallback cb
+    mk_EventControllerScrollDecelerateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerScrollDecelerateCallback` into a `C_EventControllerScrollDecelerateCallback`.
+wrap_EventControllerScrollDecelerateCallback ::
+    EventControllerScrollDecelerateCallback ->
+    C_EventControllerScrollDecelerateCallback
+wrap_EventControllerScrollDecelerateCallback _cb _ velX velY _ = do
+    let velX' = realToFrac velX
+    let velY' = realToFrac velY
+    _cb  velX' velY'
+
+
+{- |
+Connect a signal handler for the “@decelerate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerScroll #decelerate callback
+@
+-}
+onEventControllerScrollDecelerate :: (IsEventControllerScroll a, MonadIO m) => a -> EventControllerScrollDecelerateCallback -> m SignalHandlerId
+onEventControllerScrollDecelerate obj cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollDecelerateCallback cb
+    cb'' <- mk_EventControllerScrollDecelerateCallback cb'
+    connectSignalFunPtr obj "decelerate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@decelerate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerScroll #decelerate callback
+@
+-}
+afterEventControllerScrollDecelerate :: (IsEventControllerScroll a, MonadIO m) => a -> EventControllerScrollDecelerateCallback -> m SignalHandlerId
+afterEventControllerScrollDecelerate obj cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollDecelerateCallback cb
+    cb'' <- mk_EventControllerScrollDecelerateCallback cb'
+    connectSignalFunPtr obj "decelerate" cb'' SignalConnectAfter
+
+
+-- signal EventControllerScroll::scroll
+{- |
+Signals that the widget should scroll by the
+amount specified by /@dx@/ and /@dy@/.
+-}
+type EventControllerScrollScrollCallback =
+    Double
+    {- ^ /@dx@/: X delta -}
+    -> Double
+    {- ^ /@dy@/: Y delta -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerScrollScrollCallback`@.
+noEventControllerScrollScrollCallback :: Maybe EventControllerScrollScrollCallback
+noEventControllerScrollScrollCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerScrollScrollCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerScrollScrollCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerScrollScrollCallback :: C_EventControllerScrollScrollCallback -> IO (FunPtr C_EventControllerScrollScrollCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerScrollScroll :: MonadIO m => EventControllerScrollScrollCallback -> m (GClosure C_EventControllerScrollScrollCallback)
+genClosure_EventControllerScrollScroll cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollScrollCallback cb
+    mk_EventControllerScrollScrollCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerScrollScrollCallback` into a `C_EventControllerScrollScrollCallback`.
+wrap_EventControllerScrollScrollCallback ::
+    EventControllerScrollScrollCallback ->
+    C_EventControllerScrollScrollCallback
+wrap_EventControllerScrollScrollCallback _cb _ dx dy _ = do
+    let dx' = realToFrac dx
+    let dy' = realToFrac dy
+    _cb  dx' dy'
+
+
+{- |
+Connect a signal handler for the “@scroll@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerScroll #scroll callback
+@
+-}
+onEventControllerScrollScroll :: (IsEventControllerScroll a, MonadIO m) => a -> EventControllerScrollScrollCallback -> m SignalHandlerId
+onEventControllerScrollScroll obj cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollScrollCallback cb
+    cb'' <- mk_EventControllerScrollScrollCallback cb'
+    connectSignalFunPtr obj "scroll" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@scroll@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerScroll #scroll callback
+@
+-}
+afterEventControllerScrollScroll :: (IsEventControllerScroll a, MonadIO m) => a -> EventControllerScrollScrollCallback -> m SignalHandlerId
+afterEventControllerScrollScroll obj cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollScrollCallback cb
+    cb'' <- mk_EventControllerScrollScrollCallback cb'
+    connectSignalFunPtr obj "scroll" cb'' SignalConnectAfter
+
+
+-- signal EventControllerScroll::scroll-begin
+{- |
+Signals that a new scrolling operation has begun. It will
+only be emitted on devices capable of it.
+-}
+type EventControllerScrollScrollBeginCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerScrollScrollBeginCallback`@.
+noEventControllerScrollScrollBeginCallback :: Maybe EventControllerScrollScrollBeginCallback
+noEventControllerScrollScrollBeginCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerScrollScrollBeginCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerScrollScrollBeginCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerScrollScrollBeginCallback :: C_EventControllerScrollScrollBeginCallback -> IO (FunPtr C_EventControllerScrollScrollBeginCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerScrollScrollBegin :: MonadIO m => EventControllerScrollScrollBeginCallback -> m (GClosure C_EventControllerScrollScrollBeginCallback)
+genClosure_EventControllerScrollScrollBegin cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollScrollBeginCallback cb
+    mk_EventControllerScrollScrollBeginCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerScrollScrollBeginCallback` into a `C_EventControllerScrollScrollBeginCallback`.
+wrap_EventControllerScrollScrollBeginCallback ::
+    EventControllerScrollScrollBeginCallback ->
+    C_EventControllerScrollScrollBeginCallback
+wrap_EventControllerScrollScrollBeginCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@scroll-begin@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerScroll #scrollBegin callback
+@
+-}
+onEventControllerScrollScrollBegin :: (IsEventControllerScroll a, MonadIO m) => a -> EventControllerScrollScrollBeginCallback -> m SignalHandlerId
+onEventControllerScrollScrollBegin obj cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollScrollBeginCallback cb
+    cb'' <- mk_EventControllerScrollScrollBeginCallback cb'
+    connectSignalFunPtr obj "scroll-begin" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@scroll-begin@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerScroll #scrollBegin callback
+@
+-}
+afterEventControllerScrollScrollBegin :: (IsEventControllerScroll a, MonadIO m) => a -> EventControllerScrollScrollBeginCallback -> m SignalHandlerId
+afterEventControllerScrollScrollBegin obj cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollScrollBeginCallback cb
+    cb'' <- mk_EventControllerScrollScrollBeginCallback cb'
+    connectSignalFunPtr obj "scroll-begin" cb'' SignalConnectAfter
+
+
+-- signal EventControllerScroll::scroll-end
+{- |
+Signals that a new scrolling operation has finished. It will
+only be emitted on devices capable of it.
+-}
+type EventControllerScrollScrollEndCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `EventControllerScrollScrollEndCallback`@.
+noEventControllerScrollScrollEndCallback :: Maybe EventControllerScrollScrollEndCallback
+noEventControllerScrollScrollEndCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_EventControllerScrollScrollEndCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_EventControllerScrollScrollEndCallback`.
+foreign import ccall "wrapper"
+    mk_EventControllerScrollScrollEndCallback :: C_EventControllerScrollScrollEndCallback -> IO (FunPtr C_EventControllerScrollScrollEndCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_EventControllerScrollScrollEnd :: MonadIO m => EventControllerScrollScrollEndCallback -> m (GClosure C_EventControllerScrollScrollEndCallback)
+genClosure_EventControllerScrollScrollEnd cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollScrollEndCallback cb
+    mk_EventControllerScrollScrollEndCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `EventControllerScrollScrollEndCallback` into a `C_EventControllerScrollScrollEndCallback`.
+wrap_EventControllerScrollScrollEndCallback ::
+    EventControllerScrollScrollEndCallback ->
+    C_EventControllerScrollScrollEndCallback
+wrap_EventControllerScrollScrollEndCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@scroll-end@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' eventControllerScroll #scrollEnd callback
+@
+-}
+onEventControllerScrollScrollEnd :: (IsEventControllerScroll a, MonadIO m) => a -> EventControllerScrollScrollEndCallback -> m SignalHandlerId
+onEventControllerScrollScrollEnd obj cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollScrollEndCallback cb
+    cb'' <- mk_EventControllerScrollScrollEndCallback cb'
+    connectSignalFunPtr obj "scroll-end" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@scroll-end@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' eventControllerScroll #scrollEnd callback
+@
+-}
+afterEventControllerScrollScrollEnd :: (IsEventControllerScroll a, MonadIO m) => a -> EventControllerScrollScrollEndCallback -> m SignalHandlerId
+afterEventControllerScrollScrollEnd obj cb = liftIO $ do
+    let cb' = wrap_EventControllerScrollScrollEndCallback cb
+    cb'' <- mk_EventControllerScrollScrollEndCallback cb'
+    connectSignalFunPtr obj "scroll-end" cb'' SignalConnectAfter
+
+
+-- VVV Prop "flags"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "EventControllerScrollFlags"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@flags@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' eventControllerScroll #flags
+@
+-}
+getEventControllerScrollFlags :: (MonadIO m, IsEventControllerScroll o) => o -> m [Gtk.Flags.EventControllerScrollFlags]
+getEventControllerScrollFlags obj = liftIO $ B.Properties.getObjectPropertyFlags obj "flags"
+
+{- |
+Set the value of the “@flags@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' eventControllerScroll [ #flags 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setEventControllerScrollFlags :: (MonadIO m, IsEventControllerScroll o) => o -> [Gtk.Flags.EventControllerScrollFlags] -> m ()
+setEventControllerScrollFlags obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "flags" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructEventControllerScrollFlags :: (IsEventControllerScroll o) => [Gtk.Flags.EventControllerScrollFlags] -> IO (GValueConstruct o)
+constructEventControllerScrollFlags val = B.Properties.constructObjectPropertyFlags "flags" val
+
+#if ENABLE_OVERLOADING
+data EventControllerScrollFlagsPropertyInfo
+instance AttrInfo EventControllerScrollFlagsPropertyInfo where
+    type AttrAllowedOps EventControllerScrollFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint EventControllerScrollFlagsPropertyInfo = (~) [Gtk.Flags.EventControllerScrollFlags]
+    type AttrBaseTypeConstraint EventControllerScrollFlagsPropertyInfo = IsEventControllerScroll
+    type AttrGetType EventControllerScrollFlagsPropertyInfo = [Gtk.Flags.EventControllerScrollFlags]
+    type AttrLabel EventControllerScrollFlagsPropertyInfo = "flags"
+    type AttrOrigin EventControllerScrollFlagsPropertyInfo = EventControllerScroll
+    attrGet _ = getEventControllerScrollFlags
+    attrSet _ = setEventControllerScrollFlags
+    attrConstruct _ = constructEventControllerScrollFlags
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList EventControllerScroll
+type instance O.AttributeList EventControllerScroll = EventControllerScrollAttributeList
+type EventControllerScrollAttributeList = ('[ '("flags", EventControllerScrollFlagsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+eventControllerScrollFlags :: AttrLabelProxy "flags"
+eventControllerScrollFlags = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data EventControllerScrollDecelerateSignalInfo
+instance SignalInfo EventControllerScrollDecelerateSignalInfo where
+    type HaskellCallbackType EventControllerScrollDecelerateSignalInfo = EventControllerScrollDecelerateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerScrollDecelerateCallback cb
+        cb'' <- mk_EventControllerScrollDecelerateCallback cb'
+        connectSignalFunPtr obj "decelerate" cb'' connectMode
+
+data EventControllerScrollScrollSignalInfo
+instance SignalInfo EventControllerScrollScrollSignalInfo where
+    type HaskellCallbackType EventControllerScrollScrollSignalInfo = EventControllerScrollScrollCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerScrollScrollCallback cb
+        cb'' <- mk_EventControllerScrollScrollCallback cb'
+        connectSignalFunPtr obj "scroll" cb'' connectMode
+
+data EventControllerScrollScrollBeginSignalInfo
+instance SignalInfo EventControllerScrollScrollBeginSignalInfo where
+    type HaskellCallbackType EventControllerScrollScrollBeginSignalInfo = EventControllerScrollScrollBeginCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerScrollScrollBeginCallback cb
+        cb'' <- mk_EventControllerScrollScrollBeginCallback cb'
+        connectSignalFunPtr obj "scroll-begin" cb'' connectMode
+
+data EventControllerScrollScrollEndSignalInfo
+instance SignalInfo EventControllerScrollScrollEndSignalInfo where
+    type HaskellCallbackType EventControllerScrollScrollEndSignalInfo = EventControllerScrollScrollEndCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_EventControllerScrollScrollEndCallback cb
+        cb'' <- mk_EventControllerScrollScrollEndCallback cb'
+        connectSignalFunPtr obj "scroll-end" cb'' connectMode
+
+type instance O.SignalList EventControllerScroll = EventControllerScrollSignalList
+type EventControllerScrollSignalList = ('[ '("decelerate", EventControllerScrollDecelerateSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("scroll", EventControllerScrollScrollSignalInfo), '("scrollBegin", EventControllerScrollScrollBeginSignalInfo), '("scrollEnd", EventControllerScrollScrollEndSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method EventControllerScroll::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "EventControllerScrollFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "behavior flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EventControllerScroll"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_scroll_new" gtk_event_controller_scroll_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "EventControllerScrollFlags"})
+    IO (Ptr EventControllerScroll)
+
+{- |
+Creates a new event controller that will handle scroll events
+for the given /@widget@/.
+
+/Since: 3.24/
+-}
+eventControllerScrollNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> [Gtk.Flags.EventControllerScrollFlags]
+    {- ^ /@flags@/: behavior flags -}
+    -> m EventControllerScroll
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.EventControllerScroll.EventControllerScroll' -}
+eventControllerScrollNew widget flags = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let flags' = gflagsToWord flags
+    result <- gtk_event_controller_scroll_new widget' flags'
+    checkUnexpectedReturnNULL "eventControllerScrollNew" result
+    result' <- (wrapObject EventControllerScroll) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method EventControllerScroll::get_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventControllerScroll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EventControllerScrollFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_scroll_get_flags" gtk_event_controller_scroll_get_flags :: 
+    Ptr EventControllerScroll ->            -- controller : TInterface (Name {namespace = "Gtk", name = "EventControllerScroll"})
+    IO CUInt
+
+{- |
+Gets the flags conditioning the scroll controller behavior.
+
+/Since: 3.24/
+-}
+eventControllerScrollGetFlags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventControllerScroll a) =>
+    a
+    -> m [Gtk.Flags.EventControllerScrollFlags]
+    {- ^ __Returns:__ the controller flags. -}
+eventControllerScrollGetFlags controller = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    result <- gtk_event_controller_scroll_get_flags controller'
+    let result' = wordToGFlags result
+    touchManagedPtr controller
+    return result'
+
+#if ENABLE_OVERLOADING
+data EventControllerScrollGetFlagsMethodInfo
+instance (signature ~ (m [Gtk.Flags.EventControllerScrollFlags]), MonadIO m, IsEventControllerScroll a) => O.MethodInfo EventControllerScrollGetFlagsMethodInfo a signature where
+    overloadedMethod _ = eventControllerScrollGetFlags
+
+#endif
+
+-- method EventControllerScroll::set_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "EventControllerScroll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "EventControllerScrollFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "behavior flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_event_controller_scroll_set_flags" gtk_event_controller_scroll_set_flags :: 
+    Ptr EventControllerScroll ->            -- controller : TInterface (Name {namespace = "Gtk", name = "EventControllerScroll"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "EventControllerScrollFlags"})
+    IO ()
+
+{- |
+Sets the flags conditioning scroll controller behavior.
+
+/Since: 3.24/
+-}
+eventControllerScrollSetFlags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsEventControllerScroll a) =>
+    a
+    -> [Gtk.Flags.EventControllerScrollFlags]
+    {- ^ /@flags@/: behavior flags -}
+    -> m ()
+eventControllerScrollSetFlags controller flags = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    let flags' = gflagsToWord flags
+    gtk_event_controller_scroll_set_flags controller' flags'
+    touchManagedPtr controller
+    return ()
+
+#if ENABLE_OVERLOADING
+data EventControllerScrollSetFlagsMethodInfo
+instance (signature ~ ([Gtk.Flags.EventControllerScrollFlags] -> m ()), MonadIO m, IsEventControllerScroll a) => O.MethodInfo EventControllerScrollSetFlagsMethodInfo a signature where
+    overloadedMethod _ = eventControllerScrollSetFlags
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/EventControllerScroll.hs-boot b/GI/Gtk/Objects/EventControllerScroll.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/EventControllerScroll.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.EventControllerScroll where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype EventControllerScroll = EventControllerScroll (ManagedPtr EventControllerScroll)
+instance GObject EventControllerScroll where
+class (GObject o, O.IsDescendantOf EventControllerScroll o) => IsEventControllerScroll o
+instance (GObject o, O.IsDescendantOf EventControllerScroll o) => IsEventControllerScroll o
+instance O.HasParentTypes EventControllerScroll
+#if ENABLE_OVERLOADING
+data EventControllerScrollFlagsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerScrollDecelerateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerScrollScrollSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerScrollScrollBeginSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerScrollScrollEndSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerScrollGetFlagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data EventControllerScrollSetFlagsMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Expander.hs b/GI/Gtk/Objects/Expander.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Expander.hs
@@ -0,0 +1,2045 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.Expander.Expander' allows the user to hide or show its child by clicking
+on an expander triangle similar to the triangles used in a 'GI.Gtk.Objects.TreeView.TreeView'.
+
+Normally you use an expander as you would use any other descendant
+of 'GI.Gtk.Objects.Bin.Bin'; you create the child widget and use 'GI.Gtk.Objects.Container.containerAdd'
+to add it to the expander. When the expander is toggled, it will take
+care of showing and hiding the child automatically.
+
+= Special Usage
+
+There are situations in which you may prefer to show and hide the
+expanded widget yourself, such as when you want to actually create
+the widget at expansion time. In this case, create a 'GI.Gtk.Objects.Expander.Expander'
+but do not add a child to it. The expander widget has an
+'GI.Gtk.Objects.Expander.Expander':@/expanded/@ property which can be used to monitor
+its expansion state. You should watch this property with a signal
+connection as follows:
+
+
+=== /C code/
+>
+>static void
+>expander_callback (GObject    *object,
+>                   GParamSpec *param_spec,
+>                   gpointer    user_data)
+>{
+>  GtkExpander *expander;
+>
+>  expander = GTK_EXPANDER (object);
+>
+>  if (gtk_expander_get_expanded (expander))
+>    {
+>      // Show or create widgets
+>    }
+>  else
+>    {
+>      // Hide or destroy widgets
+>    }
+>}
+>
+>static void
+>create_expander (void)
+>{
+>  GtkWidget *expander = gtk_expander_new_with_mnemonic ("_More Options");
+>  g_signal_connect (expander, "notify::expanded",
+>                    G_CALLBACK (expander_callback), NULL);
+>
+>  // ...
+>}
+
+
+= GtkExpander as GtkBuildable
+
+The GtkExpander implementation of the GtkBuildable interface supports
+placing a child in the label position by specifying “label” as the
+“type” attribute of a \<child> element. A normal content child can be
+specified without specifying a \<child> type attribute.
+
+An example of a UI definition fragment with GtkExpander:
+>
+><object class="GtkExpander">
+>  <child type="label">
+>    <object class="GtkLabel" id="expander-label"/>
+>  </child>
+>  <child>
+>    <object class="GtkEntry" id="expander-content"/>
+>  </child>
+></object>
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>expander
+>├── title
+>│   ├── arrow
+>│   ╰── <label widget>
+>╰── <child>
+
+
+GtkExpander has three CSS nodes, the main node with the name expander,
+a subnode with name title and node below it with name arrow. The arrow of an
+expander that is showing its child gets the :checked pseudoclass added to it.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Expander
+    ( 
+
+-- * Exported types
+    Expander(..)                            ,
+    IsExpander                              ,
+    toExpander                              ,
+    noExpander                              ,
+
+
+ -- * Methods
+-- ** getExpanded #method:getExpanded#
+
+#if ENABLE_OVERLOADING
+    ExpanderGetExpandedMethodInfo           ,
+#endif
+    expanderGetExpanded                     ,
+
+
+-- ** getLabel #method:getLabel#
+
+#if ENABLE_OVERLOADING
+    ExpanderGetLabelMethodInfo              ,
+#endif
+    expanderGetLabel                        ,
+
+
+-- ** getLabelFill #method:getLabelFill#
+
+#if ENABLE_OVERLOADING
+    ExpanderGetLabelFillMethodInfo          ,
+#endif
+    expanderGetLabelFill                    ,
+
+
+-- ** getLabelWidget #method:getLabelWidget#
+
+#if ENABLE_OVERLOADING
+    ExpanderGetLabelWidgetMethodInfo        ,
+#endif
+    expanderGetLabelWidget                  ,
+
+
+-- ** getResizeToplevel #method:getResizeToplevel#
+
+#if ENABLE_OVERLOADING
+    ExpanderGetResizeToplevelMethodInfo     ,
+#endif
+    expanderGetResizeToplevel               ,
+
+
+-- ** getSpacing #method:getSpacing#
+
+#if ENABLE_OVERLOADING
+    ExpanderGetSpacingMethodInfo            ,
+#endif
+    expanderGetSpacing                      ,
+
+
+-- ** getUseMarkup #method:getUseMarkup#
+
+#if ENABLE_OVERLOADING
+    ExpanderGetUseMarkupMethodInfo          ,
+#endif
+    expanderGetUseMarkup                    ,
+
+
+-- ** getUseUnderline #method:getUseUnderline#
+
+#if ENABLE_OVERLOADING
+    ExpanderGetUseUnderlineMethodInfo       ,
+#endif
+    expanderGetUseUnderline                 ,
+
+
+-- ** new #method:new#
+
+    expanderNew                             ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    expanderNewWithMnemonic                 ,
+
+
+-- ** setExpanded #method:setExpanded#
+
+#if ENABLE_OVERLOADING
+    ExpanderSetExpandedMethodInfo           ,
+#endif
+    expanderSetExpanded                     ,
+
+
+-- ** setLabel #method:setLabel#
+
+#if ENABLE_OVERLOADING
+    ExpanderSetLabelMethodInfo              ,
+#endif
+    expanderSetLabel                        ,
+
+
+-- ** setLabelFill #method:setLabelFill#
+
+#if ENABLE_OVERLOADING
+    ExpanderSetLabelFillMethodInfo          ,
+#endif
+    expanderSetLabelFill                    ,
+
+
+-- ** setLabelWidget #method:setLabelWidget#
+
+#if ENABLE_OVERLOADING
+    ExpanderSetLabelWidgetMethodInfo        ,
+#endif
+    expanderSetLabelWidget                  ,
+
+
+-- ** setResizeToplevel #method:setResizeToplevel#
+
+#if ENABLE_OVERLOADING
+    ExpanderSetResizeToplevelMethodInfo     ,
+#endif
+    expanderSetResizeToplevel               ,
+
+
+-- ** setSpacing #method:setSpacing#
+
+#if ENABLE_OVERLOADING
+    ExpanderSetSpacingMethodInfo            ,
+#endif
+    expanderSetSpacing                      ,
+
+
+-- ** setUseMarkup #method:setUseMarkup#
+
+#if ENABLE_OVERLOADING
+    ExpanderSetUseMarkupMethodInfo          ,
+#endif
+    expanderSetUseMarkup                    ,
+
+
+-- ** setUseUnderline #method:setUseUnderline#
+
+#if ENABLE_OVERLOADING
+    ExpanderSetUseUnderlineMethodInfo       ,
+#endif
+    expanderSetUseUnderline                 ,
+
+
+
+
+ -- * Properties
+-- ** expanded #attr:expanded#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ExpanderExpandedPropertyInfo            ,
+#endif
+    constructExpanderExpanded               ,
+#if ENABLE_OVERLOADING
+    expanderExpanded                        ,
+#endif
+    getExpanderExpanded                     ,
+    setExpanderExpanded                     ,
+
+
+-- ** label #attr:label#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ExpanderLabelPropertyInfo               ,
+#endif
+    clearExpanderLabel                      ,
+    constructExpanderLabel                  ,
+#if ENABLE_OVERLOADING
+    expanderLabel                           ,
+#endif
+    getExpanderLabel                        ,
+    setExpanderLabel                        ,
+
+
+-- ** labelFill #attr:labelFill#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ExpanderLabelFillPropertyInfo           ,
+#endif
+    constructExpanderLabelFill              ,
+#if ENABLE_OVERLOADING
+    expanderLabelFill                       ,
+#endif
+    getExpanderLabelFill                    ,
+    setExpanderLabelFill                    ,
+
+
+-- ** labelWidget #attr:labelWidget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ExpanderLabelWidgetPropertyInfo         ,
+#endif
+    clearExpanderLabelWidget                ,
+    constructExpanderLabelWidget            ,
+#if ENABLE_OVERLOADING
+    expanderLabelWidget                     ,
+#endif
+    getExpanderLabelWidget                  ,
+    setExpanderLabelWidget                  ,
+
+
+-- ** resizeToplevel #attr:resizeToplevel#
+{- | When this property is 'True', the expander will resize the toplevel
+widget containing the expander upon expanding and collapsing.
+
+/Since: 3.2/
+-}
+#if ENABLE_OVERLOADING
+    ExpanderResizeToplevelPropertyInfo      ,
+#endif
+    constructExpanderResizeToplevel         ,
+#if ENABLE_OVERLOADING
+    expanderResizeToplevel                  ,
+#endif
+    getExpanderResizeToplevel               ,
+    setExpanderResizeToplevel               ,
+
+
+-- ** spacing #attr:spacing#
+{- | Space to put between the label and the child when the
+expander is expanded.
+-}
+#if ENABLE_OVERLOADING
+    ExpanderSpacingPropertyInfo             ,
+#endif
+    constructExpanderSpacing                ,
+#if ENABLE_OVERLOADING
+    expanderSpacing                         ,
+#endif
+    getExpanderSpacing                      ,
+    setExpanderSpacing                      ,
+
+
+-- ** useMarkup #attr:useMarkup#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ExpanderUseMarkupPropertyInfo           ,
+#endif
+    constructExpanderUseMarkup              ,
+#if ENABLE_OVERLOADING
+    expanderUseMarkup                       ,
+#endif
+    getExpanderUseMarkup                    ,
+    setExpanderUseMarkup                    ,
+
+
+-- ** useUnderline #attr:useUnderline#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ExpanderUseUnderlinePropertyInfo        ,
+#endif
+    constructExpanderUseUnderline           ,
+#if ENABLE_OVERLOADING
+    expanderUseUnderline                    ,
+#endif
+    getExpanderUseUnderline                 ,
+    setExpanderUseUnderline                 ,
+
+
+
+
+ -- * Signals
+-- ** activate #signal:activate#
+
+    C_ExpanderActivateCallback              ,
+    ExpanderActivateCallback                ,
+#if ENABLE_OVERLOADING
+    ExpanderActivateSignalInfo              ,
+#endif
+    afterExpanderActivate                   ,
+    genClosure_ExpanderActivate             ,
+    mk_ExpanderActivateCallback             ,
+    noExpanderActivateCallback              ,
+    onExpanderActivate                      ,
+    wrap_ExpanderActivateCallback           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Expander = Expander (ManagedPtr Expander)
+foreign import ccall "gtk_expander_get_type"
+    c_gtk_expander_get_type :: IO GType
+
+instance GObject Expander where
+    gobjectType = c_gtk_expander_get_type
+    
+
+-- | Type class for types which can be safely cast to `Expander`, for instance with `toExpander`.
+class (GObject o, O.IsDescendantOf Expander o) => IsExpander o
+instance (GObject o, O.IsDescendantOf Expander o) => IsExpander o
+
+instance O.HasParentTypes Expander
+type instance O.ParentTypes Expander = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Expander`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toExpander :: (MonadIO m, IsExpander o) => o -> m Expander
+toExpander = liftIO . unsafeCastTo Expander
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Expander`.
+noExpander :: Maybe Expander
+noExpander = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveExpanderMethod (t :: Symbol) (o :: *) :: * where
+    ResolveExpanderMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveExpanderMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveExpanderMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveExpanderMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveExpanderMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveExpanderMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveExpanderMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveExpanderMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveExpanderMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveExpanderMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveExpanderMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveExpanderMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveExpanderMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveExpanderMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveExpanderMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveExpanderMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveExpanderMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveExpanderMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveExpanderMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveExpanderMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveExpanderMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveExpanderMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveExpanderMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveExpanderMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveExpanderMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveExpanderMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveExpanderMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveExpanderMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveExpanderMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveExpanderMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveExpanderMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveExpanderMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveExpanderMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveExpanderMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveExpanderMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveExpanderMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveExpanderMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveExpanderMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveExpanderMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveExpanderMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveExpanderMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveExpanderMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveExpanderMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveExpanderMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveExpanderMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveExpanderMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveExpanderMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveExpanderMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveExpanderMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveExpanderMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveExpanderMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveExpanderMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveExpanderMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveExpanderMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveExpanderMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveExpanderMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveExpanderMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveExpanderMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveExpanderMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveExpanderMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveExpanderMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveExpanderMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveExpanderMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveExpanderMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveExpanderMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveExpanderMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveExpanderMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveExpanderMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveExpanderMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveExpanderMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveExpanderMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveExpanderMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveExpanderMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveExpanderMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveExpanderMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveExpanderMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveExpanderMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveExpanderMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveExpanderMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveExpanderMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveExpanderMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveExpanderMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveExpanderMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveExpanderMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveExpanderMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveExpanderMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveExpanderMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveExpanderMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveExpanderMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveExpanderMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveExpanderMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveExpanderMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveExpanderMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveExpanderMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveExpanderMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveExpanderMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveExpanderMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveExpanderMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveExpanderMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveExpanderMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveExpanderMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveExpanderMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveExpanderMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveExpanderMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveExpanderMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveExpanderMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveExpanderMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveExpanderMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveExpanderMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveExpanderMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveExpanderMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveExpanderMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveExpanderMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveExpanderMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveExpanderMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveExpanderMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveExpanderMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveExpanderMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveExpanderMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveExpanderMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveExpanderMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveExpanderMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveExpanderMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveExpanderMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveExpanderMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveExpanderMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveExpanderMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveExpanderMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveExpanderMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveExpanderMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveExpanderMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveExpanderMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveExpanderMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveExpanderMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveExpanderMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveExpanderMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveExpanderMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveExpanderMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveExpanderMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveExpanderMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveExpanderMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveExpanderMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveExpanderMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveExpanderMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveExpanderMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveExpanderMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveExpanderMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveExpanderMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveExpanderMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveExpanderMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveExpanderMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveExpanderMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveExpanderMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveExpanderMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveExpanderMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveExpanderMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveExpanderMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveExpanderMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveExpanderMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveExpanderMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveExpanderMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveExpanderMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveExpanderMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveExpanderMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveExpanderMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveExpanderMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveExpanderMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveExpanderMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveExpanderMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveExpanderMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveExpanderMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveExpanderMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveExpanderMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveExpanderMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveExpanderMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveExpanderMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveExpanderMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveExpanderMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveExpanderMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveExpanderMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveExpanderMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveExpanderMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveExpanderMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveExpanderMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveExpanderMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveExpanderMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveExpanderMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveExpanderMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveExpanderMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveExpanderMethod "getExpanded" o = ExpanderGetExpandedMethodInfo
+    ResolveExpanderMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveExpanderMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveExpanderMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveExpanderMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveExpanderMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveExpanderMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveExpanderMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveExpanderMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveExpanderMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveExpanderMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveExpanderMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveExpanderMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveExpanderMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveExpanderMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveExpanderMethod "getLabel" o = ExpanderGetLabelMethodInfo
+    ResolveExpanderMethod "getLabelFill" o = ExpanderGetLabelFillMethodInfo
+    ResolveExpanderMethod "getLabelWidget" o = ExpanderGetLabelWidgetMethodInfo
+    ResolveExpanderMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveExpanderMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveExpanderMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveExpanderMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveExpanderMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveExpanderMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveExpanderMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveExpanderMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveExpanderMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveExpanderMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveExpanderMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveExpanderMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveExpanderMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveExpanderMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveExpanderMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveExpanderMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveExpanderMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveExpanderMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveExpanderMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveExpanderMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveExpanderMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveExpanderMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveExpanderMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveExpanderMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveExpanderMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveExpanderMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveExpanderMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveExpanderMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveExpanderMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveExpanderMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveExpanderMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveExpanderMethod "getResizeToplevel" o = ExpanderGetResizeToplevelMethodInfo
+    ResolveExpanderMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveExpanderMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveExpanderMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveExpanderMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveExpanderMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveExpanderMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveExpanderMethod "getSpacing" o = ExpanderGetSpacingMethodInfo
+    ResolveExpanderMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveExpanderMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveExpanderMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveExpanderMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveExpanderMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveExpanderMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveExpanderMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveExpanderMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveExpanderMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveExpanderMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveExpanderMethod "getUseMarkup" o = ExpanderGetUseMarkupMethodInfo
+    ResolveExpanderMethod "getUseUnderline" o = ExpanderGetUseUnderlineMethodInfo
+    ResolveExpanderMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveExpanderMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveExpanderMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveExpanderMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveExpanderMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveExpanderMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveExpanderMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveExpanderMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveExpanderMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveExpanderMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveExpanderMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveExpanderMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveExpanderMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveExpanderMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveExpanderMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveExpanderMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveExpanderMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveExpanderMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveExpanderMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveExpanderMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveExpanderMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveExpanderMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveExpanderMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveExpanderMethod "setExpanded" o = ExpanderSetExpandedMethodInfo
+    ResolveExpanderMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveExpanderMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveExpanderMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveExpanderMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveExpanderMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveExpanderMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveExpanderMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveExpanderMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveExpanderMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveExpanderMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveExpanderMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveExpanderMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveExpanderMethod "setLabel" o = ExpanderSetLabelMethodInfo
+    ResolveExpanderMethod "setLabelFill" o = ExpanderSetLabelFillMethodInfo
+    ResolveExpanderMethod "setLabelWidget" o = ExpanderSetLabelWidgetMethodInfo
+    ResolveExpanderMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveExpanderMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveExpanderMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveExpanderMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveExpanderMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveExpanderMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveExpanderMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveExpanderMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveExpanderMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveExpanderMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveExpanderMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveExpanderMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveExpanderMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveExpanderMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveExpanderMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveExpanderMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveExpanderMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveExpanderMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveExpanderMethod "setResizeToplevel" o = ExpanderSetResizeToplevelMethodInfo
+    ResolveExpanderMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveExpanderMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveExpanderMethod "setSpacing" o = ExpanderSetSpacingMethodInfo
+    ResolveExpanderMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveExpanderMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveExpanderMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveExpanderMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveExpanderMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveExpanderMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveExpanderMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveExpanderMethod "setUseMarkup" o = ExpanderSetUseMarkupMethodInfo
+    ResolveExpanderMethod "setUseUnderline" o = ExpanderSetUseUnderlineMethodInfo
+    ResolveExpanderMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveExpanderMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveExpanderMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveExpanderMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveExpanderMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveExpanderMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveExpanderMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveExpanderMethod t Expander, O.MethodInfo info Expander p) => OL.IsLabel t (Expander -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Expander::activate
+{- |
+/No description available in the introspection data./
+-}
+type ExpanderActivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ExpanderActivateCallback`@.
+noExpanderActivateCallback :: Maybe ExpanderActivateCallback
+noExpanderActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ExpanderActivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ExpanderActivateCallback`.
+foreign import ccall "wrapper"
+    mk_ExpanderActivateCallback :: C_ExpanderActivateCallback -> IO (FunPtr C_ExpanderActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ExpanderActivate :: MonadIO m => ExpanderActivateCallback -> m (GClosure C_ExpanderActivateCallback)
+genClosure_ExpanderActivate cb = liftIO $ do
+    let cb' = wrap_ExpanderActivateCallback cb
+    mk_ExpanderActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ExpanderActivateCallback` into a `C_ExpanderActivateCallback`.
+wrap_ExpanderActivateCallback ::
+    ExpanderActivateCallback ->
+    C_ExpanderActivateCallback
+wrap_ExpanderActivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' expander #activate callback
+@
+-}
+onExpanderActivate :: (IsExpander a, MonadIO m) => a -> ExpanderActivateCallback -> m SignalHandlerId
+onExpanderActivate obj cb = liftIO $ do
+    let cb' = wrap_ExpanderActivateCallback cb
+    cb'' <- mk_ExpanderActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' expander #activate callback
+@
+-}
+afterExpanderActivate :: (IsExpander a, MonadIO m) => a -> ExpanderActivateCallback -> m SignalHandlerId
+afterExpanderActivate obj cb = liftIO $ do
+    let cb' = wrap_ExpanderActivateCallback cb
+    cb'' <- mk_ExpanderActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter
+
+
+-- VVV Prop "expanded"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@expanded@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' expander #expanded
+@
+-}
+getExpanderExpanded :: (MonadIO m, IsExpander o) => o -> m Bool
+getExpanderExpanded obj = liftIO $ B.Properties.getObjectPropertyBool obj "expanded"
+
+{- |
+Set the value of the “@expanded@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' expander [ #expanded 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setExpanderExpanded :: (MonadIO m, IsExpander o) => o -> Bool -> m ()
+setExpanderExpanded obj val = liftIO $ B.Properties.setObjectPropertyBool obj "expanded" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@expanded@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructExpanderExpanded :: (IsExpander o) => Bool -> IO (GValueConstruct o)
+constructExpanderExpanded val = B.Properties.constructObjectPropertyBool "expanded" val
+
+#if ENABLE_OVERLOADING
+data ExpanderExpandedPropertyInfo
+instance AttrInfo ExpanderExpandedPropertyInfo where
+    type AttrAllowedOps ExpanderExpandedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ExpanderExpandedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ExpanderExpandedPropertyInfo = IsExpander
+    type AttrGetType ExpanderExpandedPropertyInfo = Bool
+    type AttrLabel ExpanderExpandedPropertyInfo = "expanded"
+    type AttrOrigin ExpanderExpandedPropertyInfo = Expander
+    attrGet _ = getExpanderExpanded
+    attrSet _ = setExpanderExpanded
+    attrConstruct _ = constructExpanderExpanded
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' expander #label
+@
+-}
+getExpanderLabel :: (MonadIO m, IsExpander o) => o -> m (Maybe T.Text)
+getExpanderLabel obj = liftIO $ B.Properties.getObjectPropertyString obj "label"
+
+{- |
+Set the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' expander [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setExpanderLabel :: (MonadIO m, IsExpander o) => o -> T.Text -> m ()
+setExpanderLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructExpanderLabel :: (IsExpander o) => T.Text -> IO (GValueConstruct o)
+constructExpanderLabel val = B.Properties.constructObjectPropertyString "label" (Just val)
+
+{- |
+Set the value of the “@label@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #label
+@
+-}
+clearExpanderLabel :: (MonadIO m, IsExpander o) => o -> m ()
+clearExpanderLabel obj = liftIO $ B.Properties.setObjectPropertyString obj "label" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ExpanderLabelPropertyInfo
+instance AttrInfo ExpanderLabelPropertyInfo where
+    type AttrAllowedOps ExpanderLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ExpanderLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ExpanderLabelPropertyInfo = IsExpander
+    type AttrGetType ExpanderLabelPropertyInfo = (Maybe T.Text)
+    type AttrLabel ExpanderLabelPropertyInfo = "label"
+    type AttrOrigin ExpanderLabelPropertyInfo = Expander
+    attrGet _ = getExpanderLabel
+    attrSet _ = setExpanderLabel
+    attrConstruct _ = constructExpanderLabel
+    attrClear _ = clearExpanderLabel
+#endif
+
+-- VVV Prop "label-fill"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@label-fill@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' expander #labelFill
+@
+-}
+getExpanderLabelFill :: (MonadIO m, IsExpander o) => o -> m Bool
+getExpanderLabelFill obj = liftIO $ B.Properties.getObjectPropertyBool obj "label-fill"
+
+{- |
+Set the value of the “@label-fill@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' expander [ #labelFill 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setExpanderLabelFill :: (MonadIO m, IsExpander o) => o -> Bool -> m ()
+setExpanderLabelFill obj val = liftIO $ B.Properties.setObjectPropertyBool obj "label-fill" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label-fill@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructExpanderLabelFill :: (IsExpander o) => Bool -> IO (GValueConstruct o)
+constructExpanderLabelFill val = B.Properties.constructObjectPropertyBool "label-fill" val
+
+#if ENABLE_OVERLOADING
+data ExpanderLabelFillPropertyInfo
+instance AttrInfo ExpanderLabelFillPropertyInfo where
+    type AttrAllowedOps ExpanderLabelFillPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ExpanderLabelFillPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ExpanderLabelFillPropertyInfo = IsExpander
+    type AttrGetType ExpanderLabelFillPropertyInfo = Bool
+    type AttrLabel ExpanderLabelFillPropertyInfo = "label-fill"
+    type AttrOrigin ExpanderLabelFillPropertyInfo = Expander
+    attrGet _ = getExpanderLabelFill
+    attrSet _ = setExpanderLabelFill
+    attrConstruct _ = constructExpanderLabelFill
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "label-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@label-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' expander #labelWidget
+@
+-}
+getExpanderLabelWidget :: (MonadIO m, IsExpander o) => o -> m (Maybe Gtk.Widget.Widget)
+getExpanderLabelWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "label-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@label-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' expander [ #labelWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setExpanderLabelWidget :: (MonadIO m, IsExpander o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setExpanderLabelWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "label-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructExpanderLabelWidget :: (IsExpander o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructExpanderLabelWidget val = B.Properties.constructObjectPropertyObject "label-widget" (Just val)
+
+{- |
+Set the value of the “@label-widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #labelWidget
+@
+-}
+clearExpanderLabelWidget :: (MonadIO m, IsExpander o) => o -> m ()
+clearExpanderLabelWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "label-widget" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data ExpanderLabelWidgetPropertyInfo
+instance AttrInfo ExpanderLabelWidgetPropertyInfo where
+    type AttrAllowedOps ExpanderLabelWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ExpanderLabelWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint ExpanderLabelWidgetPropertyInfo = IsExpander
+    type AttrGetType ExpanderLabelWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel ExpanderLabelWidgetPropertyInfo = "label-widget"
+    type AttrOrigin ExpanderLabelWidgetPropertyInfo = Expander
+    attrGet _ = getExpanderLabelWidget
+    attrSet _ = setExpanderLabelWidget
+    attrConstruct _ = constructExpanderLabelWidget
+    attrClear _ = clearExpanderLabelWidget
+#endif
+
+-- VVV Prop "resize-toplevel"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@resize-toplevel@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' expander #resizeToplevel
+@
+-}
+getExpanderResizeToplevel :: (MonadIO m, IsExpander o) => o -> m Bool
+getExpanderResizeToplevel obj = liftIO $ B.Properties.getObjectPropertyBool obj "resize-toplevel"
+
+{- |
+Set the value of the “@resize-toplevel@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' expander [ #resizeToplevel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setExpanderResizeToplevel :: (MonadIO m, IsExpander o) => o -> Bool -> m ()
+setExpanderResizeToplevel obj val = liftIO $ B.Properties.setObjectPropertyBool obj "resize-toplevel" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@resize-toplevel@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructExpanderResizeToplevel :: (IsExpander o) => Bool -> IO (GValueConstruct o)
+constructExpanderResizeToplevel val = B.Properties.constructObjectPropertyBool "resize-toplevel" val
+
+#if ENABLE_OVERLOADING
+data ExpanderResizeToplevelPropertyInfo
+instance AttrInfo ExpanderResizeToplevelPropertyInfo where
+    type AttrAllowedOps ExpanderResizeToplevelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ExpanderResizeToplevelPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ExpanderResizeToplevelPropertyInfo = IsExpander
+    type AttrGetType ExpanderResizeToplevelPropertyInfo = Bool
+    type AttrLabel ExpanderResizeToplevelPropertyInfo = "resize-toplevel"
+    type AttrOrigin ExpanderResizeToplevelPropertyInfo = Expander
+    attrGet _ = getExpanderResizeToplevel
+    attrSet _ = setExpanderResizeToplevel
+    attrConstruct _ = constructExpanderResizeToplevel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' expander #spacing
+@
+-}
+getExpanderSpacing :: (MonadIO m, IsExpander o) => o -> m Int32
+getExpanderSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "spacing"
+
+{- |
+Set the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' expander [ #spacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setExpanderSpacing :: (MonadIO m, IsExpander o) => o -> Int32 -> m ()
+setExpanderSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructExpanderSpacing :: (IsExpander o) => Int32 -> IO (GValueConstruct o)
+constructExpanderSpacing val = B.Properties.constructObjectPropertyInt32 "spacing" val
+
+#if ENABLE_OVERLOADING
+data ExpanderSpacingPropertyInfo
+instance AttrInfo ExpanderSpacingPropertyInfo where
+    type AttrAllowedOps ExpanderSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ExpanderSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ExpanderSpacingPropertyInfo = IsExpander
+    type AttrGetType ExpanderSpacingPropertyInfo = Int32
+    type AttrLabel ExpanderSpacingPropertyInfo = "spacing"
+    type AttrOrigin ExpanderSpacingPropertyInfo = Expander
+    attrGet _ = getExpanderSpacing
+    attrSet _ = setExpanderSpacing
+    attrConstruct _ = constructExpanderSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-markup"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' expander #useMarkup
+@
+-}
+getExpanderUseMarkup :: (MonadIO m, IsExpander o) => o -> m Bool
+getExpanderUseMarkup obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-markup"
+
+{- |
+Set the value of the “@use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' expander [ #useMarkup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setExpanderUseMarkup :: (MonadIO m, IsExpander o) => o -> Bool -> m ()
+setExpanderUseMarkup obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-markup" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructExpanderUseMarkup :: (IsExpander o) => Bool -> IO (GValueConstruct o)
+constructExpanderUseMarkup val = B.Properties.constructObjectPropertyBool "use-markup" val
+
+#if ENABLE_OVERLOADING
+data ExpanderUseMarkupPropertyInfo
+instance AttrInfo ExpanderUseMarkupPropertyInfo where
+    type AttrAllowedOps ExpanderUseMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ExpanderUseMarkupPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ExpanderUseMarkupPropertyInfo = IsExpander
+    type AttrGetType ExpanderUseMarkupPropertyInfo = Bool
+    type AttrLabel ExpanderUseMarkupPropertyInfo = "use-markup"
+    type AttrOrigin ExpanderUseMarkupPropertyInfo = Expander
+    attrGet _ = getExpanderUseMarkup
+    attrSet _ = setExpanderUseMarkup
+    attrConstruct _ = constructExpanderUseMarkup
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-underline"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' expander #useUnderline
+@
+-}
+getExpanderUseUnderline :: (MonadIO m, IsExpander o) => o -> m Bool
+getExpanderUseUnderline obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-underline"
+
+{- |
+Set the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' expander [ #useUnderline 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setExpanderUseUnderline :: (MonadIO m, IsExpander o) => o -> Bool -> m ()
+setExpanderUseUnderline obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-underline" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-underline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructExpanderUseUnderline :: (IsExpander o) => Bool -> IO (GValueConstruct o)
+constructExpanderUseUnderline val = B.Properties.constructObjectPropertyBool "use-underline" val
+
+#if ENABLE_OVERLOADING
+data ExpanderUseUnderlinePropertyInfo
+instance AttrInfo ExpanderUseUnderlinePropertyInfo where
+    type AttrAllowedOps ExpanderUseUnderlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ExpanderUseUnderlinePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ExpanderUseUnderlinePropertyInfo = IsExpander
+    type AttrGetType ExpanderUseUnderlinePropertyInfo = Bool
+    type AttrLabel ExpanderUseUnderlinePropertyInfo = "use-underline"
+    type AttrOrigin ExpanderUseUnderlinePropertyInfo = Expander
+    attrGet _ = getExpanderUseUnderline
+    attrSet _ = setExpanderUseUnderline
+    attrConstruct _ = constructExpanderUseUnderline
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Expander
+type instance O.AttributeList Expander = ExpanderAttributeList
+type ExpanderAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("expanded", ExpanderExpandedPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", ExpanderLabelPropertyInfo), '("labelFill", ExpanderLabelFillPropertyInfo), '("labelWidget", ExpanderLabelWidgetPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("resizeToplevel", ExpanderResizeToplevelPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", ExpanderSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useMarkup", ExpanderUseMarkupPropertyInfo), '("useUnderline", ExpanderUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+expanderExpanded :: AttrLabelProxy "expanded"
+expanderExpanded = AttrLabelProxy
+
+expanderLabel :: AttrLabelProxy "label"
+expanderLabel = AttrLabelProxy
+
+expanderLabelFill :: AttrLabelProxy "labelFill"
+expanderLabelFill = AttrLabelProxy
+
+expanderLabelWidget :: AttrLabelProxy "labelWidget"
+expanderLabelWidget = AttrLabelProxy
+
+expanderResizeToplevel :: AttrLabelProxy "resizeToplevel"
+expanderResizeToplevel = AttrLabelProxy
+
+expanderSpacing :: AttrLabelProxy "spacing"
+expanderSpacing = AttrLabelProxy
+
+expanderUseMarkup :: AttrLabelProxy "useMarkup"
+expanderUseMarkup = AttrLabelProxy
+
+expanderUseUnderline :: AttrLabelProxy "useUnderline"
+expanderUseUnderline = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ExpanderActivateSignalInfo
+instance SignalInfo ExpanderActivateSignalInfo where
+    type HaskellCallbackType ExpanderActivateSignalInfo = ExpanderActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ExpanderActivateCallback cb
+        cb'' <- mk_ExpanderActivateCallback cb'
+        connectSignalFunPtr obj "activate" cb'' connectMode
+
+type instance O.SignalList Expander = ExpanderSignalList
+type ExpanderSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", ExpanderActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Expander::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the text of the label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Expander"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_new" gtk_expander_new :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr Expander)
+
+{- |
+Creates a new expander using /@label@/ as the text of the label.
+
+/Since: 2.4/
+-}
+expanderNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@label@/: the text of the label -}
+    -> m Expander
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Expander.Expander' widget. -}
+expanderNew label = liftIO $ do
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    result <- gtk_expander_new maybeLabel
+    checkUnexpectedReturnNULL "expanderNew" result
+    result' <- (newObject Expander) result
+    freeMem maybeLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Expander::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the text of the label with an underscore\n    in front of the mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Expander"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_new_with_mnemonic" gtk_expander_new_with_mnemonic :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr Expander)
+
+{- |
+Creates a new expander using /@label@/ as the text of the label.
+If characters in /@label@/ are preceded by an underscore, they are underlined.
+If you need a literal underscore character in a label, use “__” (two
+underscores). The first underlined character represents a keyboard
+accelerator called a mnemonic.
+Pressing Alt and that key activates the button.
+
+/Since: 2.4/
+-}
+expanderNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@label@/: the text of the label with an underscore
+    in front of the mnemonic character -}
+    -> m Expander
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Expander.Expander' widget. -}
+expanderNewWithMnemonic label = liftIO $ do
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    result <- gtk_expander_new_with_mnemonic maybeLabel
+    checkUnexpectedReturnNULL "expanderNewWithMnemonic" result
+    result' <- (newObject Expander) result
+    freeMem maybeLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Expander::get_expanded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_get_expanded" gtk_expander_get_expanded :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    IO CInt
+
+{- |
+Queries a 'GI.Gtk.Objects.Expander.Expander' and returns its current state. Returns 'True'
+if the child widget is revealed.
+
+See 'GI.Gtk.Objects.Expander.expanderSetExpanded'.
+
+/Since: 2.4/
+-}
+expanderGetExpanded ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> m Bool
+    {- ^ __Returns:__ the current state of the expander -}
+expanderGetExpanded expander = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    result <- gtk_expander_get_expanded expander'
+    let result' = (/= 0) result
+    touchManagedPtr expander
+    return result'
+
+#if ENABLE_OVERLOADING
+data ExpanderGetExpandedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsExpander a) => O.MethodInfo ExpanderGetExpandedMethodInfo a signature where
+    overloadedMethod _ = expanderGetExpanded
+
+#endif
+
+-- method Expander::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_get_label" gtk_expander_get_label :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    IO CString
+
+{- |
+Fetches the text from a label widget including any embedded
+underlines indicating mnemonics and Pango markup, as set by
+'GI.Gtk.Objects.Expander.expanderSetLabel'. If the label text has not been set the
+return value will be 'Nothing'. This will be the case if you create an
+empty button with 'GI.Gtk.Objects.Button.buttonNew' to use as a container.
+
+Note that this function behaved differently in versions prior to
+2.14 and used to return the label text stripped of embedded
+underlines indicating mnemonics and Pango markup. This problem can
+be avoided by fetching the label text directly from the label
+widget.
+
+/Since: 2.4/
+-}
+expanderGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ The text of the label widget. This string is owned
+    by the widget and must not be modified or freed. -}
+expanderGetLabel expander = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    result <- gtk_expander_get_label expander'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr expander
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ExpanderGetLabelMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsExpander a) => O.MethodInfo ExpanderGetLabelMethodInfo a signature where
+    overloadedMethod _ = expanderGetLabel
+
+#endif
+
+-- method Expander::get_label_fill
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_get_label_fill" gtk_expander_get_label_fill :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    IO CInt
+
+{- |
+Returns whether the label widget will fill all available
+horizontal space allocated to /@expander@/.
+
+/Since: 2.22/
+-}
+expanderGetLabelFill ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the label widget will fill all
+    available horizontal space -}
+expanderGetLabelFill expander = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    result <- gtk_expander_get_label_fill expander'
+    let result' = (/= 0) result
+    touchManagedPtr expander
+    return result'
+
+#if ENABLE_OVERLOADING
+data ExpanderGetLabelFillMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsExpander a) => O.MethodInfo ExpanderGetLabelFillMethodInfo a signature where
+    overloadedMethod _ = expanderGetLabelFill
+
+#endif
+
+-- method Expander::get_label_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_get_label_widget" gtk_expander_get_label_widget :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the label widget for the frame. See
+'GI.Gtk.Objects.Expander.expanderSetLabelWidget'.
+
+/Since: 2.4/
+-}
+expanderGetLabelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the label widget,
+    or 'Nothing' if there is none -}
+expanderGetLabelWidget expander = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    result <- gtk_expander_get_label_widget expander'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr expander
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ExpanderGetLabelWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsExpander a) => O.MethodInfo ExpanderGetLabelWidgetMethodInfo a signature where
+    overloadedMethod _ = expanderGetLabelWidget
+
+#endif
+
+-- method Expander::get_resize_toplevel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_get_resize_toplevel" gtk_expander_get_resize_toplevel :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    IO CInt
+
+{- |
+Returns whether the expander will resize the toplevel widget
+containing the expander upon resizing and collpasing.
+
+/Since: 3.2/
+-}
+expanderGetResizeToplevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> m Bool
+    {- ^ __Returns:__ the “resize toplevel” setting. -}
+expanderGetResizeToplevel expander = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    result <- gtk_expander_get_resize_toplevel expander'
+    let result' = (/= 0) result
+    touchManagedPtr expander
+    return result'
+
+#if ENABLE_OVERLOADING
+data ExpanderGetResizeToplevelMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsExpander a) => O.MethodInfo ExpanderGetResizeToplevelMethodInfo a signature where
+    overloadedMethod _ = expanderGetResizeToplevel
+
+#endif
+
+-- method Expander::get_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_get_spacing" gtk_expander_get_spacing :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    IO Int32
+
+{-# DEPRECATED expanderGetSpacing ["(Since version 3.20)","Use margins on the child instead."] #-}
+{- |
+Gets the value set by 'GI.Gtk.Objects.Expander.expanderSetSpacing'.
+
+/Since: 2.4/
+-}
+expanderGetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> m Int32
+    {- ^ __Returns:__ spacing between the expander and child -}
+expanderGetSpacing expander = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    result <- gtk_expander_get_spacing expander'
+    touchManagedPtr expander
+    return result
+
+#if ENABLE_OVERLOADING
+data ExpanderGetSpacingMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsExpander a) => O.MethodInfo ExpanderGetSpacingMethodInfo a signature where
+    overloadedMethod _ = expanderGetSpacing
+
+#endif
+
+-- method Expander::get_use_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_get_use_markup" gtk_expander_get_use_markup :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    IO CInt
+
+{- |
+Returns whether the label’s text is interpreted as marked up with
+the [Pango text markup language][PangoMarkupFormat].
+See 'GI.Gtk.Objects.Expander.expanderSetUseMarkup'.
+
+/Since: 2.4/
+-}
+expanderGetUseMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the label’s text will be parsed for markup -}
+expanderGetUseMarkup expander = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    result <- gtk_expander_get_use_markup expander'
+    let result' = (/= 0) result
+    touchManagedPtr expander
+    return result'
+
+#if ENABLE_OVERLOADING
+data ExpanderGetUseMarkupMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsExpander a) => O.MethodInfo ExpanderGetUseMarkupMethodInfo a signature where
+    overloadedMethod _ = expanderGetUseMarkup
+
+#endif
+
+-- method Expander::get_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_get_use_underline" gtk_expander_get_use_underline :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    IO CInt
+
+{- |
+Returns whether an embedded underline in the expander label
+indicates a mnemonic. See 'GI.Gtk.Objects.Expander.expanderSetUseUnderline'.
+
+/Since: 2.4/
+-}
+expanderGetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if an embedded underline in the expander
+    label indicates the mnemonic accelerator keys -}
+expanderGetUseUnderline expander = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    result <- gtk_expander_get_use_underline expander'
+    let result' = (/= 0) result
+    touchManagedPtr expander
+    return result'
+
+#if ENABLE_OVERLOADING
+data ExpanderGetUseUnderlineMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsExpander a) => O.MethodInfo ExpanderGetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = expanderGetUseUnderline
+
+#endif
+
+-- method Expander::set_expanded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expanded", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the child widget is revealed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_set_expanded" gtk_expander_set_expanded :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    CInt ->                                 -- expanded : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the state of the expander. Set to 'True', if you want
+the child widget to be revealed, and 'False' if you want the
+child widget to be hidden.
+
+/Since: 2.4/
+-}
+expanderSetExpanded ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> Bool
+    {- ^ /@expanded@/: whether the child widget is revealed -}
+    -> m ()
+expanderSetExpanded expander expanded = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    let expanded' = (fromIntegral . fromEnum) expanded
+    gtk_expander_set_expanded expander' expanded'
+    touchManagedPtr expander
+    return ()
+
+#if ENABLE_OVERLOADING
+data ExpanderSetExpandedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsExpander a) => O.MethodInfo ExpanderSetExpandedMethodInfo a signature where
+    overloadedMethod _ = expanderSetExpanded
+
+#endif
+
+-- method Expander::set_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_set_label" gtk_expander_set_label :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text of the label of the expander to /@label@/.
+
+This will also clear any previously set labels.
+
+/Since: 2.4/
+-}
+expanderSetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: a string -}
+    -> m ()
+expanderSetLabel expander label = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    gtk_expander_set_label expander' maybeLabel
+    touchManagedPtr expander
+    freeMem maybeLabel
+    return ()
+
+#if ENABLE_OVERLOADING
+data ExpanderSetLabelMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsExpander a) => O.MethodInfo ExpanderSetLabelMethodInfo a signature where
+    overloadedMethod _ = expanderSetLabel
+
+#endif
+
+-- method Expander::set_label_fill
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label_fill", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the label should should fill\n    all available horizontal space", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_set_label_fill" gtk_expander_set_label_fill :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    CInt ->                                 -- label_fill : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the label widget should fill all available
+horizontal space allocated to /@expander@/.
+
+/Since: 2.22/
+-}
+expanderSetLabelFill ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> Bool
+    {- ^ /@labelFill@/: 'True' if the label should should fill
+    all available horizontal space -}
+    -> m ()
+expanderSetLabelFill expander labelFill = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    let labelFill' = (fromIntegral . fromEnum) labelFill
+    gtk_expander_set_label_fill expander' labelFill'
+    touchManagedPtr expander
+    return ()
+
+#if ENABLE_OVERLOADING
+data ExpanderSetLabelFillMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsExpander a) => O.MethodInfo ExpanderSetLabelFillMethodInfo a signature where
+    overloadedMethod _ = expanderSetLabelFill
+
+#endif
+
+-- method Expander::set_label_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the new label widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_set_label_widget" gtk_expander_set_label_widget :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    Ptr Gtk.Widget.Widget ->                -- label_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Set the label widget for the expander. This is the widget
+that will appear embedded alongside the expander arrow.
+
+/Since: 2.4/
+-}
+expanderSetLabelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> Maybe (b)
+    {- ^ /@labelWidget@/: the new label widget -}
+    -> m ()
+expanderSetLabelWidget expander labelWidget = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    maybeLabelWidget <- case labelWidget of
+        Nothing -> return nullPtr
+        Just jLabelWidget -> do
+            jLabelWidget' <- unsafeManagedPtrCastPtr jLabelWidget
+            return jLabelWidget'
+    gtk_expander_set_label_widget expander' maybeLabelWidget
+    touchManagedPtr expander
+    whenJust labelWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ExpanderSetLabelWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsExpander a, Gtk.Widget.IsWidget b) => O.MethodInfo ExpanderSetLabelWidgetMethodInfo a signature where
+    overloadedMethod _ = expanderSetLabelWidget
+
+#endif
+
+-- method Expander::set_resize_toplevel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resize_toplevel", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to resize the toplevel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_set_resize_toplevel" gtk_expander_set_resize_toplevel :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    CInt ->                                 -- resize_toplevel : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the expander will resize the toplevel widget
+containing the expander upon resizing and collpasing.
+
+/Since: 3.2/
+-}
+expanderSetResizeToplevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> Bool
+    {- ^ /@resizeToplevel@/: whether to resize the toplevel -}
+    -> m ()
+expanderSetResizeToplevel expander resizeToplevel = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    let resizeToplevel' = (fromIntegral . fromEnum) resizeToplevel
+    gtk_expander_set_resize_toplevel expander' resizeToplevel'
+    touchManagedPtr expander
+    return ()
+
+#if ENABLE_OVERLOADING
+data ExpanderSetResizeToplevelMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsExpander a) => O.MethodInfo ExpanderSetResizeToplevelMethodInfo a signature where
+    overloadedMethod _ = expanderSetResizeToplevel
+
+#endif
+
+-- method Expander::set_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "distance between the expander and child in pixels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_set_spacing" gtk_expander_set_spacing :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    Int32 ->                                -- spacing : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED expanderSetSpacing ["(Since version 3.20)","Use margins on the child instead."] #-}
+{- |
+Sets the spacing field of /@expander@/, which is the number of
+pixels to place between expander and the child.
+
+/Since: 2.4/
+-}
+expanderSetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> Int32
+    {- ^ /@spacing@/: distance between the expander and child in pixels -}
+    -> m ()
+expanderSetSpacing expander spacing = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    gtk_expander_set_spacing expander' spacing
+    touchManagedPtr expander
+    return ()
+
+#if ENABLE_OVERLOADING
+data ExpanderSetSpacingMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsExpander a) => O.MethodInfo ExpanderSetSpacingMethodInfo a signature where
+    overloadedMethod _ = expanderSetSpacing
+
+#endif
+
+-- method Expander::set_use_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_markup", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the label\8217s text should be parsed for markup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_set_use_markup" gtk_expander_set_use_markup :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    CInt ->                                 -- use_markup : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the text of the label contains markup in
+[Pango’s text markup language][PangoMarkupFormat].
+See 'GI.Gtk.Objects.Label.labelSetMarkup'.
+
+/Since: 2.4/
+-}
+expanderSetUseMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> Bool
+    {- ^ /@useMarkup@/: 'True' if the label’s text should be parsed for markup -}
+    -> m ()
+expanderSetUseMarkup expander useMarkup = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    let useMarkup' = (fromIntegral . fromEnum) useMarkup
+    gtk_expander_set_use_markup expander' useMarkup'
+    touchManagedPtr expander
+    return ()
+
+#if ENABLE_OVERLOADING
+data ExpanderSetUseMarkupMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsExpander a) => O.MethodInfo ExpanderSetUseMarkupMethodInfo a signature where
+    overloadedMethod _ = expanderSetUseMarkup
+
+#endif
+
+-- method Expander::set_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "expander", argType = TInterface (Name {namespace = "Gtk", name = "Expander"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkExpander", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_underline", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if underlines in the text indicate mnemonics", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_expander_set_use_underline" gtk_expander_set_use_underline :: 
+    Ptr Expander ->                         -- expander : TInterface (Name {namespace = "Gtk", name = "Expander"})
+    CInt ->                                 -- use_underline : TBasicType TBoolean
+    IO ()
+
+{- |
+If true, an underline in the text of the expander label indicates
+the next character should be used for the mnemonic accelerator key.
+
+/Since: 2.4/
+-}
+expanderSetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsExpander a) =>
+    a
+    {- ^ /@expander@/: a 'GI.Gtk.Objects.Expander.Expander' -}
+    -> Bool
+    {- ^ /@useUnderline@/: 'True' if underlines in the text indicate mnemonics -}
+    -> m ()
+expanderSetUseUnderline expander useUnderline = liftIO $ do
+    expander' <- unsafeManagedPtrCastPtr expander
+    let useUnderline' = (fromIntegral . fromEnum) useUnderline
+    gtk_expander_set_use_underline expander' useUnderline'
+    touchManagedPtr expander
+    return ()
+
+#if ENABLE_OVERLOADING
+data ExpanderSetUseUnderlineMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsExpander a) => O.MethodInfo ExpanderSetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = expanderSetUseUnderline
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Expander.hs-boot b/GI/Gtk/Objects/Expander.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Expander.hs-boot
@@ -0,0 +1,104 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Expander where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Expander = Expander (ManagedPtr Expander)
+instance GObject Expander where
+class (GObject o, O.IsDescendantOf Expander o) => IsExpander o
+instance (GObject o, O.IsDescendantOf Expander o) => IsExpander o
+instance O.HasParentTypes Expander
+#if ENABLE_OVERLOADING
+data ExpanderExpandedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderLabelFillPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderLabelWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderResizeToplevelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderUseMarkupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderUseUnderlinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderGetExpandedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderGetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderGetLabelFillMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderGetLabelWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderGetResizeToplevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderGetSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderGetUseMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderGetUseUnderlineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderSetExpandedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderSetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderSetLabelFillMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderSetLabelWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderSetResizeToplevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderSetSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderSetUseMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ExpanderSetUseUnderlineMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ExpanderAccessible.hs b/GI/Gtk/Objects/ExpanderAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ExpanderAccessible.hs
@@ -0,0 +1,170 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ExpanderAccessible
+    ( 
+
+-- * Exported types
+    ExpanderAccessible(..)                  ,
+    IsExpanderAccessible                    ,
+    toExpanderAccessible                    ,
+    noExpanderAccessible                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ExpanderAccessible = ExpanderAccessible (ManagedPtr ExpanderAccessible)
+foreign import ccall "gtk_expander_accessible_get_type"
+    c_gtk_expander_accessible_get_type :: IO GType
+
+instance GObject ExpanderAccessible where
+    gobjectType = c_gtk_expander_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ExpanderAccessible`, for instance with `toExpanderAccessible`.
+class (GObject o, O.IsDescendantOf ExpanderAccessible o) => IsExpanderAccessible o
+instance (GObject o, O.IsDescendantOf ExpanderAccessible o) => IsExpanderAccessible o
+
+instance O.HasParentTypes ExpanderAccessible
+type instance O.ParentTypes ExpanderAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component]
+
+-- | Cast to `ExpanderAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toExpanderAccessible :: (MonadIO m, IsExpanderAccessible o) => o -> m ExpanderAccessible
+toExpanderAccessible = liftIO . unsafeCastTo ExpanderAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ExpanderAccessible`.
+noExpanderAccessible :: Maybe ExpanderAccessible
+noExpanderAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveExpanderAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveExpanderAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveExpanderAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveExpanderAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveExpanderAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveExpanderAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveExpanderAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveExpanderAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveExpanderAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveExpanderAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveExpanderAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveExpanderAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveExpanderAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveExpanderAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveExpanderAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveExpanderAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveExpanderAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveExpanderAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveExpanderAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveExpanderAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveExpanderAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveExpanderAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveExpanderAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveExpanderAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveExpanderAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveExpanderAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveExpanderAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveExpanderAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveExpanderAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveExpanderAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveExpanderAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveExpanderAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveExpanderAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveExpanderAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveExpanderAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveExpanderAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveExpanderAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveExpanderAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveExpanderAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveExpanderAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveExpanderAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveExpanderAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveExpanderAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveExpanderAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveExpanderAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveExpanderAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveExpanderAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveExpanderAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveExpanderAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveExpanderAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveExpanderAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveExpanderAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveExpanderAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveExpanderAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveExpanderAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveExpanderAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveExpanderAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveExpanderAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveExpanderAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveExpanderAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveExpanderAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveExpanderAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveExpanderAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveExpanderAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveExpanderAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveExpanderAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveExpanderAccessibleMethod t ExpanderAccessible, O.MethodInfo info ExpanderAccessible p) => OL.IsLabel t (ExpanderAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ExpanderAccessible
+type instance O.AttributeList ExpanderAccessible = ExpanderAccessibleAttributeList
+type ExpanderAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ExpanderAccessible = ExpanderAccessibleSignalList
+type ExpanderAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ExpanderAccessible.hs-boot b/GI/Gtk/Objects/ExpanderAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ExpanderAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ExpanderAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ExpanderAccessible = ExpanderAccessible (ManagedPtr ExpanderAccessible)
+instance GObject ExpanderAccessible where
+class (GObject o, O.IsDescendantOf ExpanderAccessible o) => IsExpanderAccessible o
+instance (GObject o, O.IsDescendantOf ExpanderAccessible o) => IsExpanderAccessible o
+instance O.HasParentTypes ExpanderAccessible
diff --git a/GI/Gtk/Objects/FileChooserButton.hs b/GI/Gtk/Objects/FileChooserButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileChooserButton.hs
@@ -0,0 +1,1192 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.FileChooserButton.FileChooserButton' is a widget that lets the user select a
+file.  It implements the 'GI.Gtk.Interfaces.FileChooser.FileChooser' interface.  Visually, it is a
+file name with a button to bring up a 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog'.
+The user can then use that dialog to change the file associated with
+that button.  This widget does not support setting the
+'GI.Gtk.Interfaces.FileChooser.FileChooser':@/select-multiple/@ property to 'True'.
+
+== Create a button to let the user select a file in \/etc
+
+
+=== /C code/
+>
+>{
+>  GtkWidget *button;
+>
+>  button = gtk_file_chooser_button_new (_("Select a file"),
+>                                        GTK_FILE_CHOOSER_ACTION_OPEN);
+>  gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (button),
+>                                       "/etc");
+>}
+
+
+The 'GI.Gtk.Objects.FileChooserButton.FileChooserButton' supports the @/GtkFileChooserActions/@
+'GI.Gtk.Enums.FileChooserActionOpen' and 'GI.Gtk.Enums.FileChooserActionSelectFolder'.
+
+> The 'GI.Gtk.Objects.FileChooserButton.FileChooserButton' will ellipsize the label, and will thus
+> request little horizontal space.  To give the button more space,
+> you should call 'GI.Gtk.Objects.Widget.widgetGetPreferredSize',
+> 'GI.Gtk.Objects.FileChooserButton.fileChooserButtonSetWidthChars', or pack the button in
+> such a way that other interface elements give space to the
+> widget.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FileChooserButton
+    ( 
+
+-- * Exported types
+    FileChooserButton(..)                   ,
+    IsFileChooserButton                     ,
+    toFileChooserButton                     ,
+    noFileChooserButton                     ,
+
+
+ -- * Methods
+-- ** getFocusOnClick #method:getFocusOnClick#
+
+#if ENABLE_OVERLOADING
+    FileChooserButtonGetFocusOnClickMethodInfo,
+#endif
+    fileChooserButtonGetFocusOnClick        ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    FileChooserButtonGetTitleMethodInfo     ,
+#endif
+    fileChooserButtonGetTitle               ,
+
+
+-- ** getWidthChars #method:getWidthChars#
+
+#if ENABLE_OVERLOADING
+    FileChooserButtonGetWidthCharsMethodInfo,
+#endif
+    fileChooserButtonGetWidthChars          ,
+
+
+-- ** new #method:new#
+
+    fileChooserButtonNew                    ,
+
+
+-- ** newWithDialog #method:newWithDialog#
+
+    fileChooserButtonNewWithDialog          ,
+
+
+-- ** setFocusOnClick #method:setFocusOnClick#
+
+#if ENABLE_OVERLOADING
+    FileChooserButtonSetFocusOnClickMethodInfo,
+#endif
+    fileChooserButtonSetFocusOnClick        ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    FileChooserButtonSetTitleMethodInfo     ,
+#endif
+    fileChooserButtonSetTitle               ,
+
+
+-- ** setWidthChars #method:setWidthChars#
+
+#if ENABLE_OVERLOADING
+    FileChooserButtonSetWidthCharsMethodInfo,
+#endif
+    fileChooserButtonSetWidthChars          ,
+
+
+
+
+ -- * Properties
+-- ** dialog #attr:dialog#
+{- | Instance of the 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' associated with the button.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    FileChooserButtonDialogPropertyInfo     ,
+#endif
+    constructFileChooserButtonDialog        ,
+#if ENABLE_OVERLOADING
+    fileChooserButtonDialog                 ,
+#endif
+
+
+-- ** title #attr:title#
+{- | Title to put on the 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' associated with the button.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    FileChooserButtonTitlePropertyInfo      ,
+#endif
+    constructFileChooserButtonTitle         ,
+#if ENABLE_OVERLOADING
+    fileChooserButtonTitle                  ,
+#endif
+    getFileChooserButtonTitle               ,
+    setFileChooserButtonTitle               ,
+
+
+-- ** widthChars #attr:widthChars#
+{- | The width of the entry and label inside the button, in characters.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    FileChooserButtonWidthCharsPropertyInfo ,
+#endif
+    constructFileChooserButtonWidthChars    ,
+#if ENABLE_OVERLOADING
+    fileChooserButtonWidthChars             ,
+#endif
+    getFileChooserButtonWidthChars          ,
+    setFileChooserButtonWidthChars          ,
+
+
+
+
+ -- * Signals
+-- ** fileSet #signal:fileSet#
+
+    C_FileChooserButtonFileSetCallback      ,
+    FileChooserButtonFileSetCallback        ,
+#if ENABLE_OVERLOADING
+    FileChooserButtonFileSetSignalInfo      ,
+#endif
+    afterFileChooserButtonFileSet           ,
+    genClosure_FileChooserButtonFileSet     ,
+    mk_FileChooserButtonFileSetCallback     ,
+    noFileChooserButtonFileSetCallback      ,
+    onFileChooserButtonFileSet              ,
+    wrap_FileChooserButtonFileSetCallback   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.FileChooser as Gtk.FileChooser
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype FileChooserButton = FileChooserButton (ManagedPtr FileChooserButton)
+foreign import ccall "gtk_file_chooser_button_get_type"
+    c_gtk_file_chooser_button_get_type :: IO GType
+
+instance GObject FileChooserButton where
+    gobjectType = c_gtk_file_chooser_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `FileChooserButton`, for instance with `toFileChooserButton`.
+class (GObject o, O.IsDescendantOf FileChooserButton o) => IsFileChooserButton o
+instance (GObject o, O.IsDescendantOf FileChooserButton o) => IsFileChooserButton o
+
+instance O.HasParentTypes FileChooserButton
+type instance O.ParentTypes FileChooserButton = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.FileChooser.FileChooser, Gtk.Orientable.Orientable]
+
+-- | Cast to `FileChooserButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFileChooserButton :: (MonadIO m, IsFileChooserButton o) => o -> m FileChooserButton
+toFileChooserButton = liftIO . unsafeCastTo FileChooserButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FileChooserButton`.
+noFileChooserButton :: Maybe FileChooserButton
+noFileChooserButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFileChooserButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileChooserButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFileChooserButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFileChooserButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFileChooserButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFileChooserButtonMethod "addChoice" o = Gtk.FileChooser.FileChooserAddChoiceMethodInfo
+    ResolveFileChooserButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFileChooserButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFileChooserButtonMethod "addFilter" o = Gtk.FileChooser.FileChooserAddFilterMethodInfo
+    ResolveFileChooserButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFileChooserButtonMethod "addShortcutFolder" o = Gtk.FileChooser.FileChooserAddShortcutFolderMethodInfo
+    ResolveFileChooserButtonMethod "addShortcutFolderUri" o = Gtk.FileChooser.FileChooserAddShortcutFolderUriMethodInfo
+    ResolveFileChooserButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFileChooserButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFileChooserButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFileChooserButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFileChooserButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFileChooserButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFileChooserButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFileChooserButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFileChooserButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFileChooserButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFileChooserButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFileChooserButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFileChooserButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFileChooserButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFileChooserButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFileChooserButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFileChooserButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFileChooserButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFileChooserButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFileChooserButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFileChooserButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFileChooserButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFileChooserButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFileChooserButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFileChooserButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFileChooserButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFileChooserButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFileChooserButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFileChooserButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFileChooserButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFileChooserButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFileChooserButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFileChooserButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFileChooserButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFileChooserButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFileChooserButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFileChooserButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFileChooserButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFileChooserButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFileChooserButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFileChooserButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFileChooserButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFileChooserButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFileChooserButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFileChooserButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFileChooserButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFileChooserButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFileChooserButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFileChooserButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFileChooserButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFileChooserButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFileChooserButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFileChooserButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFileChooserButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFileChooserButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFileChooserButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFileChooserButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFileChooserButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFileChooserButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFileChooserButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFileChooserButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFileChooserButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFileChooserButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFileChooserButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFileChooserButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFileChooserButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFileChooserButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFileChooserButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFileChooserButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFileChooserButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFileChooserButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFileChooserButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFileChooserButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFileChooserButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFileChooserButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFileChooserButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFileChooserButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFileChooserButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFileChooserButtonMethod "listFilters" o = Gtk.FileChooser.FileChooserListFiltersMethodInfo
+    ResolveFileChooserButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFileChooserButtonMethod "listShortcutFolderUris" o = Gtk.FileChooser.FileChooserListShortcutFolderUrisMethodInfo
+    ResolveFileChooserButtonMethod "listShortcutFolders" o = Gtk.FileChooser.FileChooserListShortcutFoldersMethodInfo
+    ResolveFileChooserButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFileChooserButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveFileChooserButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFileChooserButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFileChooserButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFileChooserButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFileChooserButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFileChooserButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFileChooserButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFileChooserButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFileChooserButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFileChooserButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFileChooserButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFileChooserButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFileChooserButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFileChooserButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFileChooserButtonMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveFileChooserButtonMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveFileChooserButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFileChooserButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFileChooserButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFileChooserButtonMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveFileChooserButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFileChooserButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFileChooserButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFileChooserButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFileChooserButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFileChooserButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFileChooserButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFileChooserButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFileChooserButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFileChooserButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFileChooserButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFileChooserButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFileChooserButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFileChooserButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFileChooserButtonMethod "removeChoice" o = Gtk.FileChooser.FileChooserRemoveChoiceMethodInfo
+    ResolveFileChooserButtonMethod "removeFilter" o = Gtk.FileChooser.FileChooserRemoveFilterMethodInfo
+    ResolveFileChooserButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFileChooserButtonMethod "removeShortcutFolder" o = Gtk.FileChooser.FileChooserRemoveShortcutFolderMethodInfo
+    ResolveFileChooserButtonMethod "removeShortcutFolderUri" o = Gtk.FileChooser.FileChooserRemoveShortcutFolderUriMethodInfo
+    ResolveFileChooserButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFileChooserButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFileChooserButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFileChooserButtonMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveFileChooserButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFileChooserButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFileChooserButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFileChooserButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFileChooserButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFileChooserButtonMethod "selectAll" o = Gtk.FileChooser.FileChooserSelectAllMethodInfo
+    ResolveFileChooserButtonMethod "selectFile" o = Gtk.FileChooser.FileChooserSelectFileMethodInfo
+    ResolveFileChooserButtonMethod "selectFilename" o = Gtk.FileChooser.FileChooserSelectFilenameMethodInfo
+    ResolveFileChooserButtonMethod "selectUri" o = Gtk.FileChooser.FileChooserSelectUriMethodInfo
+    ResolveFileChooserButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFileChooserButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFileChooserButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFileChooserButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFileChooserButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFileChooserButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFileChooserButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFileChooserButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFileChooserButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFileChooserButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFileChooserButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFileChooserButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFileChooserButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFileChooserButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFileChooserButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFileChooserButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFileChooserButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFileChooserButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFileChooserButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFileChooserButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFileChooserButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFileChooserButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFileChooserButtonMethod "unselectAll" o = Gtk.FileChooser.FileChooserUnselectAllMethodInfo
+    ResolveFileChooserButtonMethod "unselectFile" o = Gtk.FileChooser.FileChooserUnselectFileMethodInfo
+    ResolveFileChooserButtonMethod "unselectFilename" o = Gtk.FileChooser.FileChooserUnselectFilenameMethodInfo
+    ResolveFileChooserButtonMethod "unselectUri" o = Gtk.FileChooser.FileChooserUnselectUriMethodInfo
+    ResolveFileChooserButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFileChooserButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFileChooserButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFileChooserButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFileChooserButtonMethod "getAction" o = Gtk.FileChooser.FileChooserGetActionMethodInfo
+    ResolveFileChooserButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFileChooserButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFileChooserButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFileChooserButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFileChooserButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFileChooserButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFileChooserButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFileChooserButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFileChooserButtonMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveFileChooserButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFileChooserButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFileChooserButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFileChooserButtonMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveFileChooserButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFileChooserButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFileChooserButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFileChooserButtonMethod "getChoice" o = Gtk.FileChooser.FileChooserGetChoiceMethodInfo
+    ResolveFileChooserButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFileChooserButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFileChooserButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFileChooserButtonMethod "getCreateFolders" o = Gtk.FileChooser.FileChooserGetCreateFoldersMethodInfo
+    ResolveFileChooserButtonMethod "getCurrentFolder" o = Gtk.FileChooser.FileChooserGetCurrentFolderMethodInfo
+    ResolveFileChooserButtonMethod "getCurrentFolderFile" o = Gtk.FileChooser.FileChooserGetCurrentFolderFileMethodInfo
+    ResolveFileChooserButtonMethod "getCurrentFolderUri" o = Gtk.FileChooser.FileChooserGetCurrentFolderUriMethodInfo
+    ResolveFileChooserButtonMethod "getCurrentName" o = Gtk.FileChooser.FileChooserGetCurrentNameMethodInfo
+    ResolveFileChooserButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFileChooserButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFileChooserButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFileChooserButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFileChooserButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFileChooserButtonMethod "getDoOverwriteConfirmation" o = Gtk.FileChooser.FileChooserGetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFileChooserButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFileChooserButtonMethod "getExtraWidget" o = Gtk.FileChooser.FileChooserGetExtraWidgetMethodInfo
+    ResolveFileChooserButtonMethod "getFile" o = Gtk.FileChooser.FileChooserGetFileMethodInfo
+    ResolveFileChooserButtonMethod "getFilename" o = Gtk.FileChooser.FileChooserGetFilenameMethodInfo
+    ResolveFileChooserButtonMethod "getFilenames" o = Gtk.FileChooser.FileChooserGetFilenamesMethodInfo
+    ResolveFileChooserButtonMethod "getFiles" o = Gtk.FileChooser.FileChooserGetFilesMethodInfo
+    ResolveFileChooserButtonMethod "getFilter" o = Gtk.FileChooser.FileChooserGetFilterMethodInfo
+    ResolveFileChooserButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFileChooserButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFileChooserButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFileChooserButtonMethod "getFocusOnClick" o = FileChooserButtonGetFocusOnClickMethodInfo
+    ResolveFileChooserButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFileChooserButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFileChooserButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFileChooserButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFileChooserButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFileChooserButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFileChooserButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFileChooserButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFileChooserButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFileChooserButtonMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveFileChooserButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFileChooserButtonMethod "getLocalOnly" o = Gtk.FileChooser.FileChooserGetLocalOnlyMethodInfo
+    ResolveFileChooserButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFileChooserButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFileChooserButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFileChooserButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFileChooserButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFileChooserButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFileChooserButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFileChooserButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFileChooserButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFileChooserButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFileChooserButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFileChooserButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveFileChooserButtonMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveFileChooserButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFileChooserButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFileChooserButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFileChooserButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFileChooserButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFileChooserButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFileChooserButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFileChooserButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFileChooserButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFileChooserButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFileChooserButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFileChooserButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFileChooserButtonMethod "getPreviewFile" o = Gtk.FileChooser.FileChooserGetPreviewFileMethodInfo
+    ResolveFileChooserButtonMethod "getPreviewFilename" o = Gtk.FileChooser.FileChooserGetPreviewFilenameMethodInfo
+    ResolveFileChooserButtonMethod "getPreviewUri" o = Gtk.FileChooser.FileChooserGetPreviewUriMethodInfo
+    ResolveFileChooserButtonMethod "getPreviewWidget" o = Gtk.FileChooser.FileChooserGetPreviewWidgetMethodInfo
+    ResolveFileChooserButtonMethod "getPreviewWidgetActive" o = Gtk.FileChooser.FileChooserGetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFileChooserButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFileChooserButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFileChooserButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFileChooserButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFileChooserButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFileChooserButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFileChooserButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFileChooserButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFileChooserButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveFileChooserButtonMethod "getSelectMultiple" o = Gtk.FileChooser.FileChooserGetSelectMultipleMethodInfo
+    ResolveFileChooserButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFileChooserButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFileChooserButtonMethod "getShowHidden" o = Gtk.FileChooser.FileChooserGetShowHiddenMethodInfo
+    ResolveFileChooserButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFileChooserButtonMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveFileChooserButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFileChooserButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFileChooserButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFileChooserButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFileChooserButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFileChooserButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFileChooserButtonMethod "getTitle" o = FileChooserButtonGetTitleMethodInfo
+    ResolveFileChooserButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFileChooserButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFileChooserButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFileChooserButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFileChooserButtonMethod "getUri" o = Gtk.FileChooser.FileChooserGetUriMethodInfo
+    ResolveFileChooserButtonMethod "getUris" o = Gtk.FileChooser.FileChooserGetUrisMethodInfo
+    ResolveFileChooserButtonMethod "getUsePreviewLabel" o = Gtk.FileChooser.FileChooserGetUsePreviewLabelMethodInfo
+    ResolveFileChooserButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFileChooserButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFileChooserButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFileChooserButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFileChooserButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFileChooserButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFileChooserButtonMethod "getWidthChars" o = FileChooserButtonGetWidthCharsMethodInfo
+    ResolveFileChooserButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFileChooserButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFileChooserButtonMethod "setAction" o = Gtk.FileChooser.FileChooserSetActionMethodInfo
+    ResolveFileChooserButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFileChooserButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFileChooserButtonMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveFileChooserButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFileChooserButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFileChooserButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFileChooserButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFileChooserButtonMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveFileChooserButtonMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveFileChooserButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFileChooserButtonMethod "setChoice" o = Gtk.FileChooser.FileChooserSetChoiceMethodInfo
+    ResolveFileChooserButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFileChooserButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFileChooserButtonMethod "setCreateFolders" o = Gtk.FileChooser.FileChooserSetCreateFoldersMethodInfo
+    ResolveFileChooserButtonMethod "setCurrentFolder" o = Gtk.FileChooser.FileChooserSetCurrentFolderMethodInfo
+    ResolveFileChooserButtonMethod "setCurrentFolderFile" o = Gtk.FileChooser.FileChooserSetCurrentFolderFileMethodInfo
+    ResolveFileChooserButtonMethod "setCurrentFolderUri" o = Gtk.FileChooser.FileChooserSetCurrentFolderUriMethodInfo
+    ResolveFileChooserButtonMethod "setCurrentName" o = Gtk.FileChooser.FileChooserSetCurrentNameMethodInfo
+    ResolveFileChooserButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFileChooserButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFileChooserButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFileChooserButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFileChooserButtonMethod "setDoOverwriteConfirmation" o = Gtk.FileChooser.FileChooserSetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFileChooserButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFileChooserButtonMethod "setExtraWidget" o = Gtk.FileChooser.FileChooserSetExtraWidgetMethodInfo
+    ResolveFileChooserButtonMethod "setFile" o = Gtk.FileChooser.FileChooserSetFileMethodInfo
+    ResolveFileChooserButtonMethod "setFilename" o = Gtk.FileChooser.FileChooserSetFilenameMethodInfo
+    ResolveFileChooserButtonMethod "setFilter" o = Gtk.FileChooser.FileChooserSetFilterMethodInfo
+    ResolveFileChooserButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFileChooserButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFileChooserButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFileChooserButtonMethod "setFocusOnClick" o = FileChooserButtonSetFocusOnClickMethodInfo
+    ResolveFileChooserButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFileChooserButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFileChooserButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFileChooserButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFileChooserButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFileChooserButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFileChooserButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFileChooserButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFileChooserButtonMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveFileChooserButtonMethod "setLocalOnly" o = Gtk.FileChooser.FileChooserSetLocalOnlyMethodInfo
+    ResolveFileChooserButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFileChooserButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFileChooserButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFileChooserButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFileChooserButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFileChooserButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFileChooserButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFileChooserButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFileChooserButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFileChooserButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveFileChooserButtonMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveFileChooserButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFileChooserButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFileChooserButtonMethod "setPreviewWidget" o = Gtk.FileChooser.FileChooserSetPreviewWidgetMethodInfo
+    ResolveFileChooserButtonMethod "setPreviewWidgetActive" o = Gtk.FileChooser.FileChooserSetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFileChooserButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFileChooserButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFileChooserButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFileChooserButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFileChooserButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFileChooserButtonMethod "setSelectMultiple" o = Gtk.FileChooser.FileChooserSetSelectMultipleMethodInfo
+    ResolveFileChooserButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFileChooserButtonMethod "setShowHidden" o = Gtk.FileChooser.FileChooserSetShowHiddenMethodInfo
+    ResolveFileChooserButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFileChooserButtonMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveFileChooserButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFileChooserButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFileChooserButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFileChooserButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFileChooserButtonMethod "setTitle" o = FileChooserButtonSetTitleMethodInfo
+    ResolveFileChooserButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFileChooserButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFileChooserButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFileChooserButtonMethod "setUri" o = Gtk.FileChooser.FileChooserSetUriMethodInfo
+    ResolveFileChooserButtonMethod "setUsePreviewLabel" o = Gtk.FileChooser.FileChooserSetUsePreviewLabelMethodInfo
+    ResolveFileChooserButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFileChooserButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFileChooserButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFileChooserButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFileChooserButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFileChooserButtonMethod "setWidthChars" o = FileChooserButtonSetWidthCharsMethodInfo
+    ResolveFileChooserButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFileChooserButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFileChooserButtonMethod t FileChooserButton, O.MethodInfo info FileChooserButton p) => OL.IsLabel t (FileChooserButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal FileChooserButton::file-set
+{- |
+The ::file-set signal is emitted when the user selects a file.
+
+Note that this signal is only emitted when the user
+changes the file.
+
+/Since: 2.12/
+-}
+type FileChooserButtonFileSetCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserButtonFileSetCallback`@.
+noFileChooserButtonFileSetCallback :: Maybe FileChooserButtonFileSetCallback
+noFileChooserButtonFileSetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserButtonFileSetCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserButtonFileSetCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserButtonFileSetCallback :: C_FileChooserButtonFileSetCallback -> IO (FunPtr C_FileChooserButtonFileSetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserButtonFileSet :: MonadIO m => FileChooserButtonFileSetCallback -> m (GClosure C_FileChooserButtonFileSetCallback)
+genClosure_FileChooserButtonFileSet cb = liftIO $ do
+    let cb' = wrap_FileChooserButtonFileSetCallback cb
+    mk_FileChooserButtonFileSetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserButtonFileSetCallback` into a `C_FileChooserButtonFileSetCallback`.
+wrap_FileChooserButtonFileSetCallback ::
+    FileChooserButtonFileSetCallback ->
+    C_FileChooserButtonFileSetCallback
+wrap_FileChooserButtonFileSetCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@file-set@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserButton #fileSet callback
+@
+-}
+onFileChooserButtonFileSet :: (IsFileChooserButton a, MonadIO m) => a -> FileChooserButtonFileSetCallback -> m SignalHandlerId
+onFileChooserButtonFileSet obj cb = liftIO $ do
+    let cb' = wrap_FileChooserButtonFileSetCallback cb
+    cb'' <- mk_FileChooserButtonFileSetCallback cb'
+    connectSignalFunPtr obj "file-set" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@file-set@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserButton #fileSet callback
+@
+-}
+afterFileChooserButtonFileSet :: (IsFileChooserButton a, MonadIO m) => a -> FileChooserButtonFileSetCallback -> m SignalHandlerId
+afterFileChooserButtonFileSet obj cb = liftIO $ do
+    let cb' = wrap_FileChooserButtonFileSetCallback cb
+    cb'' <- mk_FileChooserButtonFileSetCallback cb'
+    connectSignalFunPtr obj "file-set" cb'' SignalConnectAfter
+
+
+-- VVV Prop "dialog"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "FileChooser"})
+   -- Flags: [PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@dialog@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserButtonDialog :: (IsFileChooserButton o, Gtk.FileChooser.IsFileChooser a) => a -> IO (GValueConstruct o)
+constructFileChooserButtonDialog val = B.Properties.constructObjectPropertyObject "dialog" (Just val)
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonDialogPropertyInfo
+instance AttrInfo FileChooserButtonDialogPropertyInfo where
+    type AttrAllowedOps FileChooserButtonDialogPropertyInfo = '[ 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint FileChooserButtonDialogPropertyInfo = Gtk.FileChooser.IsFileChooser
+    type AttrBaseTypeConstraint FileChooserButtonDialogPropertyInfo = IsFileChooserButton
+    type AttrGetType FileChooserButtonDialogPropertyInfo = ()
+    type AttrLabel FileChooserButtonDialogPropertyInfo = "dialog"
+    type AttrOrigin FileChooserButtonDialogPropertyInfo = FileChooserButton
+    attrGet _ = undefined
+    attrSet _ = undefined
+    attrConstruct _ = constructFileChooserButtonDialog
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooserButton #title
+@
+-}
+getFileChooserButtonTitle :: (MonadIO m, IsFileChooserButton o) => o -> m T.Text
+getFileChooserButtonTitle obj = liftIO $ checkUnexpectedNothing "getFileChooserButtonTitle" $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooserButton [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserButtonTitle :: (MonadIO m, IsFileChooserButton o) => o -> T.Text -> m ()
+setFileChooserButtonTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserButtonTitle :: (IsFileChooserButton o) => T.Text -> IO (GValueConstruct o)
+constructFileChooserButtonTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonTitlePropertyInfo
+instance AttrInfo FileChooserButtonTitlePropertyInfo where
+    type AttrAllowedOps FileChooserButtonTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserButtonTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FileChooserButtonTitlePropertyInfo = IsFileChooserButton
+    type AttrGetType FileChooserButtonTitlePropertyInfo = T.Text
+    type AttrLabel FileChooserButtonTitlePropertyInfo = "title"
+    type AttrOrigin FileChooserButtonTitlePropertyInfo = FileChooserButton
+    attrGet _ = getFileChooserButtonTitle
+    attrSet _ = setFileChooserButtonTitle
+    attrConstruct _ = constructFileChooserButtonTitle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "width-chars"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooserButton #widthChars
+@
+-}
+getFileChooserButtonWidthChars :: (MonadIO m, IsFileChooserButton o) => o -> m Int32
+getFileChooserButtonWidthChars obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "width-chars"
+
+{- |
+Set the value of the “@width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooserButton [ #widthChars 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserButtonWidthChars :: (MonadIO m, IsFileChooserButton o) => o -> Int32 -> m ()
+setFileChooserButtonWidthChars obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "width-chars" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@width-chars@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserButtonWidthChars :: (IsFileChooserButton o) => Int32 -> IO (GValueConstruct o)
+constructFileChooserButtonWidthChars val = B.Properties.constructObjectPropertyInt32 "width-chars" val
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonWidthCharsPropertyInfo
+instance AttrInfo FileChooserButtonWidthCharsPropertyInfo where
+    type AttrAllowedOps FileChooserButtonWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserButtonWidthCharsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint FileChooserButtonWidthCharsPropertyInfo = IsFileChooserButton
+    type AttrGetType FileChooserButtonWidthCharsPropertyInfo = Int32
+    type AttrLabel FileChooserButtonWidthCharsPropertyInfo = "width-chars"
+    type AttrOrigin FileChooserButtonWidthCharsPropertyInfo = FileChooserButton
+    attrGet _ = getFileChooserButtonWidthChars
+    attrSet _ = setFileChooserButtonWidthChars
+    attrConstruct _ = constructFileChooserButtonWidthChars
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FileChooserButton
+type instance O.AttributeList FileChooserButton = FileChooserButtonAttributeList
+type FileChooserButtonAttributeList = ('[ '("action", Gtk.FileChooser.FileChooserActionPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("createFolders", Gtk.FileChooser.FileChooserCreateFoldersPropertyInfo), '("dialog", FileChooserButtonDialogPropertyInfo), '("doOverwriteConfirmation", Gtk.FileChooser.FileChooserDoOverwriteConfirmationPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("extraWidget", Gtk.FileChooser.FileChooserExtraWidgetPropertyInfo), '("filter", Gtk.FileChooser.FileChooserFilterPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("localOnly", Gtk.FileChooser.FileChooserLocalOnlyPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("previewWidget", Gtk.FileChooser.FileChooserPreviewWidgetPropertyInfo), '("previewWidgetActive", Gtk.FileChooser.FileChooserPreviewWidgetActivePropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectMultiple", Gtk.FileChooser.FileChooserSelectMultiplePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showHidden", Gtk.FileChooser.FileChooserShowHiddenPropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", FileChooserButtonTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("usePreviewLabel", Gtk.FileChooser.FileChooserUsePreviewLabelPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthChars", FileChooserButtonWidthCharsPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+fileChooserButtonDialog :: AttrLabelProxy "dialog"
+fileChooserButtonDialog = AttrLabelProxy
+
+fileChooserButtonTitle :: AttrLabelProxy "title"
+fileChooserButtonTitle = AttrLabelProxy
+
+fileChooserButtonWidthChars :: AttrLabelProxy "widthChars"
+fileChooserButtonWidthChars = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonFileSetSignalInfo
+instance SignalInfo FileChooserButtonFileSetSignalInfo where
+    type HaskellCallbackType FileChooserButtonFileSetSignalInfo = FileChooserButtonFileSetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserButtonFileSetCallback cb
+        cb'' <- mk_FileChooserButtonFileSetCallback cb'
+        connectSignalFunPtr obj "file-set" cb'' connectMode
+
+type instance O.SignalList FileChooserButton = FileChooserButtonSignalList
+type FileChooserButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("confirmOverwrite", Gtk.FileChooser.FileChooserConfirmOverwriteSignalInfo), '("currentFolderChanged", Gtk.FileChooser.FileChooserCurrentFolderChangedSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("fileActivated", Gtk.FileChooser.FileChooserFileActivatedSignalInfo), '("fileSet", FileChooserButtonFileSetSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionChanged", Gtk.FileChooser.FileChooserSelectionChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("updatePreview", Gtk.FileChooser.FileChooserUpdatePreviewSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FileChooserButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the title of the browse dialog.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the open mode for the widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FileChooserButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_button_new" gtk_file_chooser_button_new :: 
+    CString ->                              -- title : TBasicType TUTF8
+    CUInt ->                                -- action : TInterface (Name {namespace = "Gtk", name = "FileChooserAction"})
+    IO (Ptr FileChooserButton)
+
+{- |
+Creates a new file-selecting button widget.
+
+/Since: 2.6/
+-}
+fileChooserButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@title@/: the title of the browse dialog. -}
+    -> Gtk.Enums.FileChooserAction
+    {- ^ /@action@/: the open mode for the widget. -}
+    -> m FileChooserButton
+    {- ^ __Returns:__ a new button widget. -}
+fileChooserButtonNew title action = liftIO $ do
+    title' <- textToCString title
+    let action' = (fromIntegral . fromEnum) action
+    result <- gtk_file_chooser_button_new title' action'
+    checkUnexpectedReturnNULL "fileChooserButtonNew" result
+    result' <- (newObject FileChooserButton) result
+    freeMem title'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FileChooserButton::new_with_dialog
+-- method type : Constructor
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "Dialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to use as dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FileChooserButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_button_new_with_dialog" gtk_file_chooser_button_new_with_dialog :: 
+    Ptr Gtk.Dialog.Dialog ->                -- dialog : TInterface (Name {namespace = "Gtk", name = "Dialog"})
+    IO (Ptr FileChooserButton)
+
+{- |
+Creates a 'GI.Gtk.Objects.FileChooserButton.FileChooserButton' widget which uses /@dialog@/ as its
+file-picking window.
+
+Note that /@dialog@/ must be a 'GI.Gtk.Objects.Dialog.Dialog' (or subclass) which
+implements the 'GI.Gtk.Interfaces.FileChooser.FileChooser' interface and must not have
+'GI.Gtk.Flags.DialogFlagsDestroyWithParent' set.
+
+Also note that the dialog needs to have its confirmative button
+added with response 'GI.Gtk.Enums.ResponseTypeAccept' or 'GI.Gtk.Enums.ResponseTypeOk' in
+order for the button to take over the file selected in the dialog.
+
+/Since: 2.6/
+-}
+fileChooserButtonNewWithDialog ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Dialog.IsDialog a) =>
+    a
+    {- ^ /@dialog@/: the widget to use as dialog -}
+    -> m FileChooserButton
+    {- ^ __Returns:__ a new button widget. -}
+fileChooserButtonNewWithDialog dialog = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    result <- gtk_file_chooser_button_new_with_dialog dialog'
+    checkUnexpectedReturnNULL "fileChooserButtonNewWithDialog" result
+    result' <- (newObject FileChooserButton) result
+    touchManagedPtr dialog
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FileChooserButton::get_focus_on_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_button_get_focus_on_click" gtk_file_chooser_button_get_focus_on_click :: 
+    Ptr FileChooserButton ->                -- button : TInterface (Name {namespace = "Gtk", name = "FileChooserButton"})
+    IO CInt
+
+{-# DEPRECATED fileChooserButtonGetFocusOnClick ["(Since version 3.20)","Use 'GI.Gtk.Objects.Widget.widgetGetFocusOnClick' instead"] #-}
+{- |
+Returns whether the button grabs focus when it is clicked with the mouse.
+See 'GI.Gtk.Objects.FileChooserButton.fileChooserButtonSetFocusOnClick'.
+
+/Since: 2.10/
+-}
+fileChooserButtonGetFocusOnClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.FileChooserButton.FileChooserButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the button grabs focus when it is clicked with
+              the mouse. -}
+fileChooserButtonGetFocusOnClick button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_file_chooser_button_get_focus_on_click button'
+    let result' = (/= 0) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonGetFocusOnClickMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFileChooserButton a) => O.MethodInfo FileChooserButtonGetFocusOnClickMethodInfo a signature where
+    overloadedMethod _ = fileChooserButtonGetFocusOnClick
+
+#endif
+
+-- method FileChooserButton::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the button widget to examine.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_button_get_title" gtk_file_chooser_button_get_title :: 
+    Ptr FileChooserButton ->                -- button : TInterface (Name {namespace = "Gtk", name = "FileChooserButton"})
+    IO CString
+
+{- |
+Retrieves the title of the browse dialog used by /@button@/. The returned value
+should not be modified or freed.
+
+/Since: 2.6/
+-}
+fileChooserButtonGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserButton a) =>
+    a
+    {- ^ /@button@/: the button widget to examine. -}
+    -> m T.Text
+    {- ^ __Returns:__ a pointer to the browse dialog’s title. -}
+fileChooserButtonGetTitle button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_file_chooser_button_get_title button'
+    checkUnexpectedReturnNULL "fileChooserButtonGetTitle" result
+    result' <- cstringToText result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonGetTitleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFileChooserButton a) => O.MethodInfo FileChooserButtonGetTitleMethodInfo a signature where
+    overloadedMethod _ = fileChooserButtonGetTitle
+
+#endif
+
+-- method FileChooserButton::get_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the button widget to examine.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_button_get_width_chars" gtk_file_chooser_button_get_width_chars :: 
+    Ptr FileChooserButton ->                -- button : TInterface (Name {namespace = "Gtk", name = "FileChooserButton"})
+    IO Int32
+
+{- |
+Retrieves the width in characters of the /@button@/ widget’s entry and\/or label.
+
+/Since: 2.6/
+-}
+fileChooserButtonGetWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserButton a) =>
+    a
+    {- ^ /@button@/: the button widget to examine. -}
+    -> m Int32
+    {- ^ __Returns:__ an integer width (in characters) that the button will use to size itself. -}
+fileChooserButtonGetWidthChars button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_file_chooser_button_get_width_chars button'
+    touchManagedPtr button
+    return result
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonGetWidthCharsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsFileChooserButton a) => O.MethodInfo FileChooserButtonGetWidthCharsMethodInfo a signature where
+    overloadedMethod _ = fileChooserButtonGetWidthChars
+
+#endif
+
+-- method FileChooserButton::set_focus_on_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileChooserButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_on_click", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the button grabs focus when clicked with the mouse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_button_set_focus_on_click" gtk_file_chooser_button_set_focus_on_click :: 
+    Ptr FileChooserButton ->                -- button : TInterface (Name {namespace = "Gtk", name = "FileChooserButton"})
+    CInt ->                                 -- focus_on_click : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED fileChooserButtonSetFocusOnClick ["(Since version 3.20)","Use 'GI.Gtk.Objects.Widget.widgetSetFocusOnClick' instead"] #-}
+{- |
+Sets whether the button will grab focus when it is clicked with the mouse.
+Making mouse clicks not grab focus is useful in places like toolbars where
+you don’t want the keyboard focus removed from the main area of the
+application.
+
+/Since: 2.10/
+-}
+fileChooserButtonSetFocusOnClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.FileChooserButton.FileChooserButton' -}
+    -> Bool
+    {- ^ /@focusOnClick@/: whether the button grabs focus when clicked with the mouse -}
+    -> m ()
+fileChooserButtonSetFocusOnClick button focusOnClick = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let focusOnClick' = (fromIntegral . fromEnum) focusOnClick
+    gtk_file_chooser_button_set_focus_on_click button' focusOnClick'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonSetFocusOnClickMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFileChooserButton a) => O.MethodInfo FileChooserButtonSetFocusOnClickMethodInfo a signature where
+    overloadedMethod _ = fileChooserButtonSetFocusOnClick
+
+#endif
+
+-- method FileChooserButton::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the button widget to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new browse dialog title.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_button_set_title" gtk_file_chooser_button_set_title :: 
+    Ptr FileChooserButton ->                -- button : TInterface (Name {namespace = "Gtk", name = "FileChooserButton"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{- |
+Modifies the /@title@/ of the browse dialog used by /@button@/.
+
+/Since: 2.6/
+-}
+fileChooserButtonSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserButton a) =>
+    a
+    {- ^ /@button@/: the button widget to modify. -}
+    -> T.Text
+    {- ^ /@title@/: the new browse dialog title. -}
+    -> m ()
+fileChooserButtonSetTitle button title = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    title' <- textToCString title
+    gtk_file_chooser_button_set_title button' title'
+    touchManagedPtr button
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonSetTitleMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFileChooserButton a) => O.MethodInfo FileChooserButtonSetTitleMethodInfo a signature where
+    overloadedMethod _ = fileChooserButtonSetTitle
+
+#endif
+
+-- method FileChooserButton::set_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the button widget to examine.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new width, in characters.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_button_set_width_chars" gtk_file_chooser_button_set_width_chars :: 
+    Ptr FileChooserButton ->                -- button : TInterface (Name {namespace = "Gtk", name = "FileChooserButton"})
+    Int32 ->                                -- n_chars : TBasicType TInt
+    IO ()
+
+{- |
+Sets the width (in characters) that /@button@/ will use to /@nChars@/.
+
+/Since: 2.6/
+-}
+fileChooserButtonSetWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserButton a) =>
+    a
+    {- ^ /@button@/: the button widget to examine. -}
+    -> Int32
+    {- ^ /@nChars@/: the new width, in characters. -}
+    -> m ()
+fileChooserButtonSetWidthChars button nChars = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    gtk_file_chooser_button_set_width_chars button' nChars
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserButtonSetWidthCharsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsFileChooserButton a) => O.MethodInfo FileChooserButtonSetWidthCharsMethodInfo a signature where
+    overloadedMethod _ = fileChooserButtonSetWidthChars
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FileChooserButton.hs-boot b/GI/Gtk/Objects/FileChooserButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileChooserButton.hs-boot
@@ -0,0 +1,59 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FileChooserButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FileChooserButton = FileChooserButton (ManagedPtr FileChooserButton)
+instance GObject FileChooserButton where
+class (GObject o, O.IsDescendantOf FileChooserButton o) => IsFileChooserButton o
+instance (GObject o, O.IsDescendantOf FileChooserButton o) => IsFileChooserButton o
+instance O.HasParentTypes FileChooserButton
+#if ENABLE_OVERLOADING
+data FileChooserButtonDialogPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserButtonTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserButtonWidthCharsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserButtonFileSetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserButtonGetFocusOnClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserButtonGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserButtonGetWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserButtonSetFocusOnClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserButtonSetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserButtonSetWidthCharsMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/FileChooserDialog.hs b/GI/Gtk/Objects/FileChooserDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileChooserDialog.hs
@@ -0,0 +1,759 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' is a dialog box suitable for use with
+“File\/Open” or “File\/Save as” commands.  This widget works by
+putting a 'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget' inside a 'GI.Gtk.Objects.Dialog.Dialog'.  It exposes
+the 'GI.Gtk.Interfaces.FileChooser.FileChooser' interface, so you can use all of the
+'GI.Gtk.Interfaces.FileChooser.FileChooser' functions on the file chooser dialog as well as
+those for 'GI.Gtk.Objects.Dialog.Dialog'.
+
+Note that 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' does not have any methods of its
+own.  Instead, you should use the functions that work on a
+'GI.Gtk.Interfaces.FileChooser.FileChooser'.
+
+If you want to integrate well with the platform you should use the
+'GI.Gtk.Objects.FileChooserNative.FileChooserNative' API, which will use a platform-specific
+dialog if available and fall back to GtkFileChooserDialog
+otherwise.
+
+## Typical usage ## {@/gtkfilechooser/@-typical-usage}
+
+In the simplest of cases, you can the following code to use
+'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' to select a file for opening:
+
+>
+>GtkWidget *dialog;
+>GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN;
+>gint res;
+>
+>dialog = gtk_file_chooser_dialog_new ("Open File",
+>                                      parent_window,
+>                                      action,
+>                                      _("_Cancel"),
+>                                      GTK_RESPONSE_CANCEL,
+>                                      _("_Open"),
+>                                      GTK_RESPONSE_ACCEPT,
+>                                      NULL);
+>
+>res = gtk_dialog_run (GTK_DIALOG (dialog));
+>if (res == GTK_RESPONSE_ACCEPT)
+>  {
+>    char *filename;
+>    GtkFileChooser *chooser = GTK_FILE_CHOOSER (dialog);
+>    filename = gtk_file_chooser_get_filename (chooser);
+>    open_file (filename);
+>    g_free (filename);
+>  }
+>
+>gtk_widget_destroy (dialog);
+
+
+To use a dialog for saving, you can use this:
+
+>
+>GtkWidget *dialog;
+>GtkFileChooser *chooser;
+>GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_SAVE;
+>gint res;
+>
+>dialog = gtk_file_chooser_dialog_new ("Save File",
+>                                      parent_window,
+>                                      action,
+>                                      _("_Cancel"),
+>                                      GTK_RESPONSE_CANCEL,
+>                                      _("_Save"),
+>                                      GTK_RESPONSE_ACCEPT,
+>                                      NULL);
+>chooser = GTK_FILE_CHOOSER (dialog);
+>
+>gtk_file_chooser_set_do_overwrite_confirmation (chooser, TRUE);
+>
+>if (user_edited_a_new_document)
+>  gtk_file_chooser_set_current_name (chooser,
+>                                     _("Untitled document"));
+>else
+>  gtk_file_chooser_set_filename (chooser,
+>                                 existing_filename);
+>
+>res = gtk_dialog_run (GTK_DIALOG (dialog));
+>if (res == GTK_RESPONSE_ACCEPT)
+>  {
+>    char *filename;
+>
+>    filename = gtk_file_chooser_get_filename (chooser);
+>    save_to_file (filename);
+>    g_free (filename);
+>  }
+>
+>gtk_widget_destroy (dialog);
+
+
+## Setting up a file chooser dialog ## {@/gtkfilechooserdialog/@-setting-up}
+
+There are various cases in which you may need to use a 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog':
+
+* To select a file for opening. Use @/GTK_FILE_CHOOSER_ACTION_OPEN/@.
+* To save a file for the first time. Use @/GTK_FILE_CHOOSER_ACTION_SAVE/@,
+and suggest a name such as “Untitled” with 'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentName'.
+* To save a file under a different name. Use @/GTK_FILE_CHOOSER_ACTION_SAVE/@,
+and set the existing filename with 'GI.Gtk.Interfaces.FileChooser.fileChooserSetFilename'.
+* To choose a folder instead of a file. Use @/GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER/@.
+
+
+Note that old versions of the file chooser’s documentation suggested
+using 'GI.Gtk.Interfaces.FileChooser.fileChooserSetCurrentFolder' in various
+situations, with the intention of letting the application
+suggest a reasonable default folder.  This is no longer
+considered to be a good policy, as now the file chooser is
+able to make good suggestions on its own.  In general, you
+should only cause the file chooser to show a specific folder
+when it is appropriate to use 'GI.Gtk.Interfaces.FileChooser.fileChooserSetFilename',
+i.e. when you are doing a Save As command and you already
+have a file saved somewhere.
+
+## Response Codes ## {@/gtkfilechooserdialog/@-responses}
+
+'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' inherits from 'GI.Gtk.Objects.Dialog.Dialog', so buttons that
+go in its action area have response codes such as
+@/GTK_RESPONSE_ACCEPT/@ and @/GTK_RESPONSE_CANCEL/@.  For example, you
+could call @/gtk_file_chooser_dialog_new()/@ as follows:
+
+>
+>GtkWidget *dialog;
+>GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN;
+>
+>dialog = gtk_file_chooser_dialog_new ("Open File",
+>                                      parent_window,
+>                                      action,
+>                                      _("_Cancel"),
+>                                      GTK_RESPONSE_CANCEL,
+>                                      _("_Open"),
+>                                      GTK_RESPONSE_ACCEPT,
+>                                      NULL);
+
+
+This will create buttons for “Cancel” and “Open” that use stock
+response identifiers from 'GI.Gtk.Enums.ResponseType'.  For most dialog
+boxes you can use your own custom response codes rather than the
+ones in 'GI.Gtk.Enums.ResponseType', but 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' assumes that
+its “accept”-type action, e.g. an “Open” or “Save” button,
+will have one of the following response codes:
+
+* @/GTK_RESPONSE_ACCEPT/@
+* @/GTK_RESPONSE_OK/@
+* @/GTK_RESPONSE_YES/@
+* @/GTK_RESPONSE_APPLY/@
+
+
+This is because 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' must intercept responses
+and switch to folders if appropriate, rather than letting the
+dialog terminate — the implementation uses these known
+response codes to know which responses can be blocked if
+appropriate.
+
+To summarize, make sure you use a
+[stock response code][gtkfilechooserdialog-responses]
+when you use 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' to ensure proper operation.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FileChooserDialog
+    ( 
+
+-- * Exported types
+    FileChooserDialog(..)                   ,
+    IsFileChooserDialog                     ,
+    toFileChooserDialog                     ,
+    noFileChooserDialog                     ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.FileChooser as Gtk.FileChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype FileChooserDialog = FileChooserDialog (ManagedPtr FileChooserDialog)
+foreign import ccall "gtk_file_chooser_dialog_get_type"
+    c_gtk_file_chooser_dialog_get_type :: IO GType
+
+instance GObject FileChooserDialog where
+    gobjectType = c_gtk_file_chooser_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `FileChooserDialog`, for instance with `toFileChooserDialog`.
+class (GObject o, O.IsDescendantOf FileChooserDialog o) => IsFileChooserDialog o
+instance (GObject o, O.IsDescendantOf FileChooserDialog o) => IsFileChooserDialog o
+
+instance O.HasParentTypes FileChooserDialog
+type instance O.ParentTypes FileChooserDialog = '[Gtk.Dialog.Dialog, Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.FileChooser.FileChooser]
+
+-- | Cast to `FileChooserDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFileChooserDialog :: (MonadIO m, IsFileChooserDialog o) => o -> m FileChooserDialog
+toFileChooserDialog = liftIO . unsafeCastTo FileChooserDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FileChooserDialog`.
+noFileChooserDialog :: Maybe FileChooserDialog
+noFileChooserDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFileChooserDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileChooserDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFileChooserDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveFileChooserDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveFileChooserDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveFileChooserDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFileChooserDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveFileChooserDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFileChooserDialogMethod "addActionWidget" o = Gtk.Dialog.DialogAddActionWidgetMethodInfo
+    ResolveFileChooserDialogMethod "addButton" o = Gtk.Dialog.DialogAddButtonMethodInfo
+    ResolveFileChooserDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFileChooserDialogMethod "addChoice" o = Gtk.FileChooser.FileChooserAddChoiceMethodInfo
+    ResolveFileChooserDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFileChooserDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFileChooserDialogMethod "addFilter" o = Gtk.FileChooser.FileChooserAddFilterMethodInfo
+    ResolveFileChooserDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveFileChooserDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFileChooserDialogMethod "addShortcutFolder" o = Gtk.FileChooser.FileChooserAddShortcutFolderMethodInfo
+    ResolveFileChooserDialogMethod "addShortcutFolderUri" o = Gtk.FileChooser.FileChooserAddShortcutFolderUriMethodInfo
+    ResolveFileChooserDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFileChooserDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveFileChooserDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveFileChooserDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFileChooserDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFileChooserDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFileChooserDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFileChooserDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFileChooserDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFileChooserDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFileChooserDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFileChooserDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFileChooserDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFileChooserDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFileChooserDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveFileChooserDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFileChooserDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFileChooserDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFileChooserDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFileChooserDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFileChooserDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFileChooserDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFileChooserDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveFileChooserDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFileChooserDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFileChooserDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFileChooserDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFileChooserDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFileChooserDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFileChooserDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFileChooserDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFileChooserDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFileChooserDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFileChooserDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFileChooserDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFileChooserDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFileChooserDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFileChooserDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFileChooserDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFileChooserDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFileChooserDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFileChooserDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFileChooserDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFileChooserDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFileChooserDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFileChooserDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFileChooserDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFileChooserDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFileChooserDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFileChooserDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFileChooserDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFileChooserDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFileChooserDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFileChooserDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveFileChooserDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveFileChooserDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFileChooserDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFileChooserDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFileChooserDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFileChooserDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFileChooserDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFileChooserDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFileChooserDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFileChooserDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveFileChooserDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFileChooserDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFileChooserDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveFileChooserDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFileChooserDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFileChooserDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFileChooserDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveFileChooserDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFileChooserDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFileChooserDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFileChooserDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFileChooserDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFileChooserDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveFileChooserDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFileChooserDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFileChooserDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFileChooserDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFileChooserDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFileChooserDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveFileChooserDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFileChooserDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFileChooserDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFileChooserDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFileChooserDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFileChooserDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFileChooserDialogMethod "listFilters" o = Gtk.FileChooser.FileChooserListFiltersMethodInfo
+    ResolveFileChooserDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFileChooserDialogMethod "listShortcutFolderUris" o = Gtk.FileChooser.FileChooserListShortcutFolderUrisMethodInfo
+    ResolveFileChooserDialogMethod "listShortcutFolders" o = Gtk.FileChooser.FileChooserListShortcutFoldersMethodInfo
+    ResolveFileChooserDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFileChooserDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveFileChooserDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveFileChooserDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFileChooserDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFileChooserDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFileChooserDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFileChooserDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFileChooserDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFileChooserDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFileChooserDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveFileChooserDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFileChooserDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFileChooserDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFileChooserDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFileChooserDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFileChooserDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFileChooserDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFileChooserDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveFileChooserDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFileChooserDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFileChooserDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveFileChooserDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveFileChooserDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFileChooserDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveFileChooserDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFileChooserDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFileChooserDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFileChooserDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFileChooserDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFileChooserDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFileChooserDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFileChooserDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFileChooserDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFileChooserDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFileChooserDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFileChooserDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFileChooserDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFileChooserDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveFileChooserDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFileChooserDialogMethod "removeChoice" o = Gtk.FileChooser.FileChooserRemoveChoiceMethodInfo
+    ResolveFileChooserDialogMethod "removeFilter" o = Gtk.FileChooser.FileChooserRemoveFilterMethodInfo
+    ResolveFileChooserDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveFileChooserDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFileChooserDialogMethod "removeShortcutFolder" o = Gtk.FileChooser.FileChooserRemoveShortcutFolderMethodInfo
+    ResolveFileChooserDialogMethod "removeShortcutFolderUri" o = Gtk.FileChooser.FileChooserRemoveShortcutFolderUriMethodInfo
+    ResolveFileChooserDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFileChooserDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFileChooserDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFileChooserDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFileChooserDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFileChooserDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFileChooserDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveFileChooserDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveFileChooserDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFileChooserDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveFileChooserDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveFileChooserDialogMethod "response" o = Gtk.Dialog.DialogResponseMethodInfo
+    ResolveFileChooserDialogMethod "run" o = Gtk.Dialog.DialogRunMethodInfo
+    ResolveFileChooserDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFileChooserDialogMethod "selectAll" o = Gtk.FileChooser.FileChooserSelectAllMethodInfo
+    ResolveFileChooserDialogMethod "selectFile" o = Gtk.FileChooser.FileChooserSelectFileMethodInfo
+    ResolveFileChooserDialogMethod "selectFilename" o = Gtk.FileChooser.FileChooserSelectFilenameMethodInfo
+    ResolveFileChooserDialogMethod "selectUri" o = Gtk.FileChooser.FileChooserSelectUriMethodInfo
+    ResolveFileChooserDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFileChooserDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFileChooserDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFileChooserDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFileChooserDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFileChooserDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFileChooserDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFileChooserDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFileChooserDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFileChooserDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFileChooserDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFileChooserDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveFileChooserDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFileChooserDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFileChooserDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFileChooserDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFileChooserDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFileChooserDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFileChooserDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveFileChooserDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFileChooserDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveFileChooserDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFileChooserDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFileChooserDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFileChooserDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFileChooserDialogMethod "unselectAll" o = Gtk.FileChooser.FileChooserUnselectAllMethodInfo
+    ResolveFileChooserDialogMethod "unselectFile" o = Gtk.FileChooser.FileChooserUnselectFileMethodInfo
+    ResolveFileChooserDialogMethod "unselectFilename" o = Gtk.FileChooser.FileChooserUnselectFilenameMethodInfo
+    ResolveFileChooserDialogMethod "unselectUri" o = Gtk.FileChooser.FileChooserUnselectUriMethodInfo
+    ResolveFileChooserDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFileChooserDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFileChooserDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveFileChooserDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFileChooserDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveFileChooserDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFileChooserDialogMethod "getAction" o = Gtk.FileChooser.FileChooserGetActionMethodInfo
+    ResolveFileChooserDialogMethod "getActionArea" o = Gtk.Dialog.DialogGetActionAreaMethodInfo
+    ResolveFileChooserDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFileChooserDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFileChooserDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFileChooserDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFileChooserDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFileChooserDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFileChooserDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFileChooserDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFileChooserDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveFileChooserDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveFileChooserDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFileChooserDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFileChooserDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFileChooserDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveFileChooserDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFileChooserDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFileChooserDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFileChooserDialogMethod "getChoice" o = Gtk.FileChooser.FileChooserGetChoiceMethodInfo
+    ResolveFileChooserDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFileChooserDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFileChooserDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFileChooserDialogMethod "getContentArea" o = Gtk.Dialog.DialogGetContentAreaMethodInfo
+    ResolveFileChooserDialogMethod "getCreateFolders" o = Gtk.FileChooser.FileChooserGetCreateFoldersMethodInfo
+    ResolveFileChooserDialogMethod "getCurrentFolder" o = Gtk.FileChooser.FileChooserGetCurrentFolderMethodInfo
+    ResolveFileChooserDialogMethod "getCurrentFolderFile" o = Gtk.FileChooser.FileChooserGetCurrentFolderFileMethodInfo
+    ResolveFileChooserDialogMethod "getCurrentFolderUri" o = Gtk.FileChooser.FileChooserGetCurrentFolderUriMethodInfo
+    ResolveFileChooserDialogMethod "getCurrentName" o = Gtk.FileChooser.FileChooserGetCurrentNameMethodInfo
+    ResolveFileChooserDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFileChooserDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveFileChooserDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveFileChooserDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveFileChooserDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveFileChooserDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveFileChooserDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFileChooserDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFileChooserDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFileChooserDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFileChooserDialogMethod "getDoOverwriteConfirmation" o = Gtk.FileChooser.FileChooserGetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFileChooserDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFileChooserDialogMethod "getExtraWidget" o = Gtk.FileChooser.FileChooserGetExtraWidgetMethodInfo
+    ResolveFileChooserDialogMethod "getFile" o = Gtk.FileChooser.FileChooserGetFileMethodInfo
+    ResolveFileChooserDialogMethod "getFilename" o = Gtk.FileChooser.FileChooserGetFilenameMethodInfo
+    ResolveFileChooserDialogMethod "getFilenames" o = Gtk.FileChooser.FileChooserGetFilenamesMethodInfo
+    ResolveFileChooserDialogMethod "getFiles" o = Gtk.FileChooser.FileChooserGetFilesMethodInfo
+    ResolveFileChooserDialogMethod "getFilter" o = Gtk.FileChooser.FileChooserGetFilterMethodInfo
+    ResolveFileChooserDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveFileChooserDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFileChooserDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFileChooserDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFileChooserDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFileChooserDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveFileChooserDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFileChooserDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveFileChooserDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFileChooserDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFileChooserDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFileChooserDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveFileChooserDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveFileChooserDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFileChooserDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveFileChooserDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFileChooserDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFileChooserDialogMethod "getHeaderBar" o = Gtk.Dialog.DialogGetHeaderBarMethodInfo
+    ResolveFileChooserDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFileChooserDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFileChooserDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveFileChooserDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveFileChooserDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveFileChooserDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveFileChooserDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFileChooserDialogMethod "getLocalOnly" o = Gtk.FileChooser.FileChooserGetLocalOnlyMethodInfo
+    ResolveFileChooserDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFileChooserDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFileChooserDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFileChooserDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFileChooserDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFileChooserDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFileChooserDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFileChooserDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveFileChooserDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveFileChooserDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveFileChooserDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFileChooserDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFileChooserDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFileChooserDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFileChooserDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveFileChooserDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFileChooserDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFileChooserDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFileChooserDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFileChooserDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFileChooserDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFileChooserDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveFileChooserDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFileChooserDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFileChooserDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFileChooserDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFileChooserDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFileChooserDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFileChooserDialogMethod "getPreviewFile" o = Gtk.FileChooser.FileChooserGetPreviewFileMethodInfo
+    ResolveFileChooserDialogMethod "getPreviewFilename" o = Gtk.FileChooser.FileChooserGetPreviewFilenameMethodInfo
+    ResolveFileChooserDialogMethod "getPreviewUri" o = Gtk.FileChooser.FileChooserGetPreviewUriMethodInfo
+    ResolveFileChooserDialogMethod "getPreviewWidget" o = Gtk.FileChooser.FileChooserGetPreviewWidgetMethodInfo
+    ResolveFileChooserDialogMethod "getPreviewWidgetActive" o = Gtk.FileChooser.FileChooserGetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFileChooserDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFileChooserDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFileChooserDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFileChooserDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFileChooserDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFileChooserDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveFileChooserDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveFileChooserDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFileChooserDialogMethod "getResponseForWidget" o = Gtk.Dialog.DialogGetResponseForWidgetMethodInfo
+    ResolveFileChooserDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveFileChooserDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFileChooserDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFileChooserDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveFileChooserDialogMethod "getSelectMultiple" o = Gtk.FileChooser.FileChooserGetSelectMultipleMethodInfo
+    ResolveFileChooserDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFileChooserDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFileChooserDialogMethod "getShowHidden" o = Gtk.FileChooser.FileChooserGetShowHiddenMethodInfo
+    ResolveFileChooserDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveFileChooserDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFileChooserDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveFileChooserDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveFileChooserDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFileChooserDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFileChooserDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFileChooserDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFileChooserDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFileChooserDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFileChooserDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveFileChooserDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveFileChooserDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFileChooserDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFileChooserDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFileChooserDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFileChooserDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveFileChooserDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveFileChooserDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveFileChooserDialogMethod "getUri" o = Gtk.FileChooser.FileChooserGetUriMethodInfo
+    ResolveFileChooserDialogMethod "getUris" o = Gtk.FileChooser.FileChooserGetUrisMethodInfo
+    ResolveFileChooserDialogMethod "getUsePreviewLabel" o = Gtk.FileChooser.FileChooserGetUsePreviewLabelMethodInfo
+    ResolveFileChooserDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFileChooserDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFileChooserDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFileChooserDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFileChooserDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFileChooserDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFileChooserDialogMethod "getWidgetForResponse" o = Gtk.Dialog.DialogGetWidgetForResponseMethodInfo
+    ResolveFileChooserDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFileChooserDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveFileChooserDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFileChooserDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveFileChooserDialogMethod "setAction" o = Gtk.FileChooser.FileChooserSetActionMethodInfo
+    ResolveFileChooserDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFileChooserDialogMethod "setAlternativeButtonOrderFromArray" o = Gtk.Dialog.DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveFileChooserDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFileChooserDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveFileChooserDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveFileChooserDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFileChooserDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFileChooserDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFileChooserDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFileChooserDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFileChooserDialogMethod "setChoice" o = Gtk.FileChooser.FileChooserSetChoiceMethodInfo
+    ResolveFileChooserDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFileChooserDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFileChooserDialogMethod "setCreateFolders" o = Gtk.FileChooser.FileChooserSetCreateFoldersMethodInfo
+    ResolveFileChooserDialogMethod "setCurrentFolder" o = Gtk.FileChooser.FileChooserSetCurrentFolderMethodInfo
+    ResolveFileChooserDialogMethod "setCurrentFolderFile" o = Gtk.FileChooser.FileChooserSetCurrentFolderFileMethodInfo
+    ResolveFileChooserDialogMethod "setCurrentFolderUri" o = Gtk.FileChooser.FileChooserSetCurrentFolderUriMethodInfo
+    ResolveFileChooserDialogMethod "setCurrentName" o = Gtk.FileChooser.FileChooserSetCurrentNameMethodInfo
+    ResolveFileChooserDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFileChooserDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveFileChooserDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveFileChooserDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveFileChooserDialogMethod "setDefaultResponse" o = Gtk.Dialog.DialogSetDefaultResponseMethodInfo
+    ResolveFileChooserDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveFileChooserDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveFileChooserDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveFileChooserDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFileChooserDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFileChooserDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFileChooserDialogMethod "setDoOverwriteConfirmation" o = Gtk.FileChooser.FileChooserSetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFileChooserDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFileChooserDialogMethod "setExtraWidget" o = Gtk.FileChooser.FileChooserSetExtraWidgetMethodInfo
+    ResolveFileChooserDialogMethod "setFile" o = Gtk.FileChooser.FileChooserSetFileMethodInfo
+    ResolveFileChooserDialogMethod "setFilename" o = Gtk.FileChooser.FileChooserSetFilenameMethodInfo
+    ResolveFileChooserDialogMethod "setFilter" o = Gtk.FileChooser.FileChooserSetFilterMethodInfo
+    ResolveFileChooserDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveFileChooserDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFileChooserDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFileChooserDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFileChooserDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFileChooserDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveFileChooserDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFileChooserDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveFileChooserDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFileChooserDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFileChooserDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveFileChooserDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveFileChooserDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFileChooserDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveFileChooserDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFileChooserDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveFileChooserDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFileChooserDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFileChooserDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFileChooserDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveFileChooserDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveFileChooserDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveFileChooserDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveFileChooserDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveFileChooserDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveFileChooserDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveFileChooserDialogMethod "setLocalOnly" o = Gtk.FileChooser.FileChooserSetLocalOnlyMethodInfo
+    ResolveFileChooserDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFileChooserDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFileChooserDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFileChooserDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFileChooserDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFileChooserDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFileChooserDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFileChooserDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveFileChooserDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveFileChooserDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveFileChooserDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFileChooserDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFileChooserDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveFileChooserDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFileChooserDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFileChooserDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveFileChooserDialogMethod "setPreviewWidget" o = Gtk.FileChooser.FileChooserSetPreviewWidgetMethodInfo
+    ResolveFileChooserDialogMethod "setPreviewWidgetActive" o = Gtk.FileChooser.FileChooserSetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFileChooserDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFileChooserDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFileChooserDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFileChooserDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFileChooserDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveFileChooserDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFileChooserDialogMethod "setResponseSensitive" o = Gtk.Dialog.DialogSetResponseSensitiveMethodInfo
+    ResolveFileChooserDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveFileChooserDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveFileChooserDialogMethod "setSelectMultiple" o = Gtk.FileChooser.FileChooserSetSelectMultipleMethodInfo
+    ResolveFileChooserDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFileChooserDialogMethod "setShowHidden" o = Gtk.FileChooser.FileChooserSetShowHiddenMethodInfo
+    ResolveFileChooserDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFileChooserDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveFileChooserDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveFileChooserDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveFileChooserDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFileChooserDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFileChooserDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFileChooserDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFileChooserDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveFileChooserDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveFileChooserDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFileChooserDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFileChooserDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFileChooserDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveFileChooserDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveFileChooserDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveFileChooserDialogMethod "setUri" o = Gtk.FileChooser.FileChooserSetUriMethodInfo
+    ResolveFileChooserDialogMethod "setUsePreviewLabel" o = Gtk.FileChooser.FileChooserSetUsePreviewLabelMethodInfo
+    ResolveFileChooserDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFileChooserDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFileChooserDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFileChooserDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFileChooserDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFileChooserDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFileChooserDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveFileChooserDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFileChooserDialogMethod t FileChooserDialog, O.MethodInfo info FileChooserDialog p) => OL.IsLabel t (FileChooserDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FileChooserDialog
+type instance O.AttributeList FileChooserDialog = FileChooserDialogAttributeList
+type FileChooserDialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("action", Gtk.FileChooser.FileChooserActionPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("createFolders", Gtk.FileChooser.FileChooserCreateFoldersPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doOverwriteConfirmation", Gtk.FileChooser.FileChooserDoOverwriteConfirmationPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("extraWidget", Gtk.FileChooser.FileChooserExtraWidgetPropertyInfo), '("filter", Gtk.FileChooser.FileChooserFilterPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("localOnly", Gtk.FileChooser.FileChooserLocalOnlyPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("previewWidget", Gtk.FileChooser.FileChooserPreviewWidgetPropertyInfo), '("previewWidgetActive", Gtk.FileChooser.FileChooserPreviewWidgetActivePropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("selectMultiple", Gtk.FileChooser.FileChooserSelectMultiplePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showHidden", Gtk.FileChooser.FileChooserShowHiddenPropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", Gtk.Dialog.DialogUseHeaderBarPropertyInfo), '("usePreviewLabel", Gtk.FileChooser.FileChooserUsePreviewLabelPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FileChooserDialog = FileChooserDialogSignalList
+type FileChooserDialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", Gtk.Dialog.DialogCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("confirmOverwrite", Gtk.FileChooser.FileChooserConfirmOverwriteSignalInfo), '("currentFolderChanged", Gtk.FileChooser.FileChooserCurrentFolderChangedSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("fileActivated", Gtk.FileChooser.FileChooserFileActivatedSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", Gtk.Dialog.DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionChanged", Gtk.FileChooser.FileChooserSelectionChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("updatePreview", Gtk.FileChooser.FileChooserUpdatePreviewSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FileChooserDialog.hs-boot b/GI/Gtk/Objects/FileChooserDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileChooserDialog.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FileChooserDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FileChooserDialog = FileChooserDialog (ManagedPtr FileChooserDialog)
+instance GObject FileChooserDialog where
+class (GObject o, O.IsDescendantOf FileChooserDialog o) => IsFileChooserDialog o
+instance (GObject o, O.IsDescendantOf FileChooserDialog o) => IsFileChooserDialog o
+instance O.HasParentTypes FileChooserDialog
diff --git a/GI/Gtk/Objects/FileChooserNative.hs b/GI/Gtk/Objects/FileChooserNative.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileChooserNative.hs
@@ -0,0 +1,806 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.FileChooserNative.FileChooserNative' is an abstraction of a dialog box suitable
+for use with “File\/Open” or “File\/Save as” commands. By default, this
+just uses a 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' to implement the actual dialog.
+However, on certain platforms, such as Windows and macOS, the native platform
+file chooser is used instead. When the application is running in a
+sandboxed environment without direct filesystem access (such as Flatpak),
+'GI.Gtk.Objects.FileChooserNative.FileChooserNative' may call the proper APIs (portals) to let the user
+choose a file and make it available to the application.
+
+While the API of 'GI.Gtk.Objects.FileChooserNative.FileChooserNative' closely mirrors 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog', the main
+difference is that there is no access to any 'GI.Gtk.Objects.Window.Window' or 'GI.Gtk.Objects.Widget.Widget' for the dialog.
+This is required, as there may not be one in the case of a platform native dialog.
+Showing, hiding and running the dialog is handled by the 'GI.Gtk.Objects.NativeDialog.NativeDialog' functions.
+
+## Typical usage ## {@/gtkfilechoosernative/@-typical-usage}
+
+In the simplest of cases, you can the following code to use
+'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' to select a file for opening:
+
+>
+>GtkFileChooserNative *native;
+>GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN;
+>gint res;
+>
+>native = gtk_file_chooser_native_new ("Open File",
+>                                      parent_window,
+>                                      action,
+>                                      "_Open",
+>                                      "_Cancel");
+>
+>res = gtk_native_dialog_run (GTK_NATIVE_DIALOG (native));
+>if (res == GTK_RESPONSE_ACCEPT)
+>  {
+>    char *filename;
+>    GtkFileChooser *chooser = GTK_FILE_CHOOSER (native);
+>    filename = gtk_file_chooser_get_filename (chooser);
+>    open_file (filename);
+>    g_free (filename);
+>  }
+>
+>g_object_unref (native);
+
+
+To use a dialog for saving, you can use this:
+
+>
+>GtkFileChooserNative *native;
+>GtkFileChooser *chooser;
+>GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_SAVE;
+>gint res;
+>
+>native = gtk_file_chooser_native_new ("Save File",
+>                                      parent_window,
+>                                      action,
+>                                      "_Save",
+>                                      "_Cancel");
+>chooser = GTK_FILE_CHOOSER (native);
+>
+>gtk_file_chooser_set_do_overwrite_confirmation (chooser, TRUE);
+>
+>if (user_edited_a_new_document)
+>  gtk_file_chooser_set_current_name (chooser,
+>                                     _("Untitled document"));
+>else
+>  gtk_file_chooser_set_filename (chooser,
+>                                 existing_filename);
+>
+>res = gtk_native_dialog_run (GTK_NATIVE_DIALOG (native));
+>if (res == GTK_RESPONSE_ACCEPT)
+>  {
+>    char *filename;
+>
+>    filename = gtk_file_chooser_get_filename (chooser);
+>    save_to_file (filename);
+>    g_free (filename);
+>  }
+>
+>g_object_unref (native);
+
+
+For more information on how to best set up a file dialog, see 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog'.
+
+## Response Codes ## {@/gtkfilechooserdialognative/@-responses}
+
+'GI.Gtk.Objects.FileChooserNative.FileChooserNative' inherits from 'GI.Gtk.Objects.NativeDialog.NativeDialog', which means it
+will return @/GTK_RESPONSE_ACCEPT/@ if the user accepted, and
+@/GTK_RESPONSE_CANCEL/@ if he pressed cancel. It can also return
+@/GTK_RESPONSE_DELETE_EVENT/@ if the window was unexpectedly closed.
+
+## Differences from 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' ##  {@/gtkfilechooserdialognative/@-differences}
+
+There are a few things in the GtkFileChooser API that are not
+possible to use with 'GI.Gtk.Objects.FileChooserNative.FileChooserNative', as such use would
+prohibit the use of a native dialog.
+
+There is no support for the signals that are emitted when the user
+navigates in the dialog, including:
+* 'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/current-folder-changed/@
+* 'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/selection-changed/@
+* 'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/file-activated/@
+* 'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/confirm-overwrite/@
+
+You can also not use the methods that directly control user navigation:
+* 'GI.Gtk.Interfaces.FileChooser.fileChooserUnselectFilename'
+* 'GI.Gtk.Interfaces.FileChooser.fileChooserSelectAll'
+* 'GI.Gtk.Interfaces.FileChooser.fileChooserUnselectAll'
+
+If you need any of the above you will have to use 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' directly.
+
+No operations that change the the dialog work while the dialog is
+visible. Set all the properties that are required before showing the dialog.
+
+## Win32 details ## {@/gtkfilechooserdialognative/@-win32}
+
+On windows the IFileDialog implementation (added in Windows Vista) is
+used. It supports many of the features that 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog'
+does, but there are some things it does not handle:
+
+* Extra widgets added with 'GI.Gtk.Interfaces.FileChooser.fileChooserSetExtraWidget'.
+
+* Use of custom previews by connecting to 'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/update-preview/@.
+
+* Any 'GI.Gtk.Objects.FileFilter.FileFilter' added using a mimetype or custom filter.
+
+If any of these features are used the regular 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog'
+will be used in place of the native one.
+
+## Portal details ## {@/gtkfilechooserdialognative/@-portal}
+
+When the org.freedesktop.portal.FileChooser portal is available on the
+session bus, it is used to bring up an out-of-process file chooser. Depending
+on the kind of session the application is running in, this may or may not
+be a GTK+ file chooser. In this situation, the following things are not
+supported and will be silently ignored:
+
+* Extra widgets added with 'GI.Gtk.Interfaces.FileChooser.fileChooserSetExtraWidget'.
+
+* Use of custom previews by connecting to 'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/update-preview/@.
+
+* Any 'GI.Gtk.Objects.FileFilter.FileFilter' added with a custom filter.
+
+## macOS details ## {@/gtkfilechooserdialognative/@-macos}
+
+On macOS the NSSavePanel and NSOpenPanel classes are used to provide native
+file chooser dialogs. Some features provided by 'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog' are
+not supported:
+
+* Extra widgets added with 'GI.Gtk.Interfaces.FileChooser.fileChooserSetExtraWidget', unless the
+  widget is an instance of GtkLabel, in which case the label text will be used
+  to set the NSSavePanel message instance property.
+
+* Use of custom previews by connecting to 'GI.Gtk.Interfaces.FileChooser.FileChooser'::@/update-preview/@.
+
+* Any 'GI.Gtk.Objects.FileFilter.FileFilter' added with a custom filter.
+
+* Shortcut folders.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FileChooserNative
+    ( 
+
+-- * Exported types
+    FileChooserNative(..)                   ,
+    IsFileChooserNative                     ,
+    toFileChooserNative                     ,
+    noFileChooserNative                     ,
+
+
+ -- * Methods
+-- ** getAcceptLabel #method:getAcceptLabel#
+
+#if ENABLE_OVERLOADING
+    FileChooserNativeGetAcceptLabelMethodInfo,
+#endif
+    fileChooserNativeGetAcceptLabel         ,
+
+
+-- ** getCancelLabel #method:getCancelLabel#
+
+#if ENABLE_OVERLOADING
+    FileChooserNativeGetCancelLabelMethodInfo,
+#endif
+    fileChooserNativeGetCancelLabel         ,
+
+
+-- ** new #method:new#
+
+    fileChooserNativeNew                    ,
+
+
+-- ** setAcceptLabel #method:setAcceptLabel#
+
+#if ENABLE_OVERLOADING
+    FileChooserNativeSetAcceptLabelMethodInfo,
+#endif
+    fileChooserNativeSetAcceptLabel         ,
+
+
+-- ** setCancelLabel #method:setCancelLabel#
+
+#if ENABLE_OVERLOADING
+    FileChooserNativeSetCancelLabelMethodInfo,
+#endif
+    fileChooserNativeSetCancelLabel         ,
+
+
+
+
+ -- * Properties
+-- ** acceptLabel #attr:acceptLabel#
+{- | The text used for the label on the accept button in the dialog, or
+'Nothing' to use the default text.
+-}
+#if ENABLE_OVERLOADING
+    FileChooserNativeAcceptLabelPropertyInfo,
+#endif
+    clearFileChooserNativeAcceptLabel       ,
+    constructFileChooserNativeAcceptLabel   ,
+#if ENABLE_OVERLOADING
+    fileChooserNativeAcceptLabel            ,
+#endif
+    getFileChooserNativeAcceptLabel         ,
+    setFileChooserNativeAcceptLabel         ,
+
+
+-- ** cancelLabel #attr:cancelLabel#
+{- | The text used for the label on the cancel button in the dialog, or
+'Nothing' to use the default text.
+-}
+#if ENABLE_OVERLOADING
+    FileChooserNativeCancelLabelPropertyInfo,
+#endif
+    clearFileChooserNativeCancelLabel       ,
+    constructFileChooserNativeCancelLabel   ,
+#if ENABLE_OVERLOADING
+    fileChooserNativeCancelLabel            ,
+#endif
+    getFileChooserNativeCancelLabel         ,
+    setFileChooserNativeCancelLabel         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.FileChooser as Gtk.FileChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.NativeDialog as Gtk.NativeDialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype FileChooserNative = FileChooserNative (ManagedPtr FileChooserNative)
+foreign import ccall "gtk_file_chooser_native_get_type"
+    c_gtk_file_chooser_native_get_type :: IO GType
+
+instance GObject FileChooserNative where
+    gobjectType = c_gtk_file_chooser_native_get_type
+    
+
+-- | Type class for types which can be safely cast to `FileChooserNative`, for instance with `toFileChooserNative`.
+class (GObject o, O.IsDescendantOf FileChooserNative o) => IsFileChooserNative o
+instance (GObject o, O.IsDescendantOf FileChooserNative o) => IsFileChooserNative o
+
+instance O.HasParentTypes FileChooserNative
+type instance O.ParentTypes FileChooserNative = '[Gtk.NativeDialog.NativeDialog, GObject.Object.Object, Gtk.FileChooser.FileChooser]
+
+-- | Cast to `FileChooserNative`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFileChooserNative :: (MonadIO m, IsFileChooserNative o) => o -> m FileChooserNative
+toFileChooserNative = liftIO . unsafeCastTo FileChooserNative
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FileChooserNative`.
+noFileChooserNative :: Maybe FileChooserNative
+noFileChooserNative = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFileChooserNativeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileChooserNativeMethod "addChoice" o = Gtk.FileChooser.FileChooserAddChoiceMethodInfo
+    ResolveFileChooserNativeMethod "addFilter" o = Gtk.FileChooser.FileChooserAddFilterMethodInfo
+    ResolveFileChooserNativeMethod "addShortcutFolder" o = Gtk.FileChooser.FileChooserAddShortcutFolderMethodInfo
+    ResolveFileChooserNativeMethod "addShortcutFolderUri" o = Gtk.FileChooser.FileChooserAddShortcutFolderUriMethodInfo
+    ResolveFileChooserNativeMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFileChooserNativeMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFileChooserNativeMethod "destroy" o = Gtk.NativeDialog.NativeDialogDestroyMethodInfo
+    ResolveFileChooserNativeMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFileChooserNativeMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFileChooserNativeMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFileChooserNativeMethod "hide" o = Gtk.NativeDialog.NativeDialogHideMethodInfo
+    ResolveFileChooserNativeMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFileChooserNativeMethod "listFilters" o = Gtk.FileChooser.FileChooserListFiltersMethodInfo
+    ResolveFileChooserNativeMethod "listShortcutFolderUris" o = Gtk.FileChooser.FileChooserListShortcutFolderUrisMethodInfo
+    ResolveFileChooserNativeMethod "listShortcutFolders" o = Gtk.FileChooser.FileChooserListShortcutFoldersMethodInfo
+    ResolveFileChooserNativeMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFileChooserNativeMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFileChooserNativeMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFileChooserNativeMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFileChooserNativeMethod "removeChoice" o = Gtk.FileChooser.FileChooserRemoveChoiceMethodInfo
+    ResolveFileChooserNativeMethod "removeFilter" o = Gtk.FileChooser.FileChooserRemoveFilterMethodInfo
+    ResolveFileChooserNativeMethod "removeShortcutFolder" o = Gtk.FileChooser.FileChooserRemoveShortcutFolderMethodInfo
+    ResolveFileChooserNativeMethod "removeShortcutFolderUri" o = Gtk.FileChooser.FileChooserRemoveShortcutFolderUriMethodInfo
+    ResolveFileChooserNativeMethod "run" o = Gtk.NativeDialog.NativeDialogRunMethodInfo
+    ResolveFileChooserNativeMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFileChooserNativeMethod "selectAll" o = Gtk.FileChooser.FileChooserSelectAllMethodInfo
+    ResolveFileChooserNativeMethod "selectFile" o = Gtk.FileChooser.FileChooserSelectFileMethodInfo
+    ResolveFileChooserNativeMethod "selectFilename" o = Gtk.FileChooser.FileChooserSelectFilenameMethodInfo
+    ResolveFileChooserNativeMethod "selectUri" o = Gtk.FileChooser.FileChooserSelectUriMethodInfo
+    ResolveFileChooserNativeMethod "show" o = Gtk.NativeDialog.NativeDialogShowMethodInfo
+    ResolveFileChooserNativeMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFileChooserNativeMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFileChooserNativeMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFileChooserNativeMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFileChooserNativeMethod "unselectAll" o = Gtk.FileChooser.FileChooserUnselectAllMethodInfo
+    ResolveFileChooserNativeMethod "unselectFile" o = Gtk.FileChooser.FileChooserUnselectFileMethodInfo
+    ResolveFileChooserNativeMethod "unselectFilename" o = Gtk.FileChooser.FileChooserUnselectFilenameMethodInfo
+    ResolveFileChooserNativeMethod "unselectUri" o = Gtk.FileChooser.FileChooserUnselectUriMethodInfo
+    ResolveFileChooserNativeMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFileChooserNativeMethod "getAcceptLabel" o = FileChooserNativeGetAcceptLabelMethodInfo
+    ResolveFileChooserNativeMethod "getAction" o = Gtk.FileChooser.FileChooserGetActionMethodInfo
+    ResolveFileChooserNativeMethod "getCancelLabel" o = FileChooserNativeGetCancelLabelMethodInfo
+    ResolveFileChooserNativeMethod "getChoice" o = Gtk.FileChooser.FileChooserGetChoiceMethodInfo
+    ResolveFileChooserNativeMethod "getCreateFolders" o = Gtk.FileChooser.FileChooserGetCreateFoldersMethodInfo
+    ResolveFileChooserNativeMethod "getCurrentFolder" o = Gtk.FileChooser.FileChooserGetCurrentFolderMethodInfo
+    ResolveFileChooserNativeMethod "getCurrentFolderFile" o = Gtk.FileChooser.FileChooserGetCurrentFolderFileMethodInfo
+    ResolveFileChooserNativeMethod "getCurrentFolderUri" o = Gtk.FileChooser.FileChooserGetCurrentFolderUriMethodInfo
+    ResolveFileChooserNativeMethod "getCurrentName" o = Gtk.FileChooser.FileChooserGetCurrentNameMethodInfo
+    ResolveFileChooserNativeMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFileChooserNativeMethod "getDoOverwriteConfirmation" o = Gtk.FileChooser.FileChooserGetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserNativeMethod "getExtraWidget" o = Gtk.FileChooser.FileChooserGetExtraWidgetMethodInfo
+    ResolveFileChooserNativeMethod "getFile" o = Gtk.FileChooser.FileChooserGetFileMethodInfo
+    ResolveFileChooserNativeMethod "getFilename" o = Gtk.FileChooser.FileChooserGetFilenameMethodInfo
+    ResolveFileChooserNativeMethod "getFilenames" o = Gtk.FileChooser.FileChooserGetFilenamesMethodInfo
+    ResolveFileChooserNativeMethod "getFiles" o = Gtk.FileChooser.FileChooserGetFilesMethodInfo
+    ResolveFileChooserNativeMethod "getFilter" o = Gtk.FileChooser.FileChooserGetFilterMethodInfo
+    ResolveFileChooserNativeMethod "getLocalOnly" o = Gtk.FileChooser.FileChooserGetLocalOnlyMethodInfo
+    ResolveFileChooserNativeMethod "getModal" o = Gtk.NativeDialog.NativeDialogGetModalMethodInfo
+    ResolveFileChooserNativeMethod "getPreviewFile" o = Gtk.FileChooser.FileChooserGetPreviewFileMethodInfo
+    ResolveFileChooserNativeMethod "getPreviewFilename" o = Gtk.FileChooser.FileChooserGetPreviewFilenameMethodInfo
+    ResolveFileChooserNativeMethod "getPreviewUri" o = Gtk.FileChooser.FileChooserGetPreviewUriMethodInfo
+    ResolveFileChooserNativeMethod "getPreviewWidget" o = Gtk.FileChooser.FileChooserGetPreviewWidgetMethodInfo
+    ResolveFileChooserNativeMethod "getPreviewWidgetActive" o = Gtk.FileChooser.FileChooserGetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserNativeMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFileChooserNativeMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFileChooserNativeMethod "getSelectMultiple" o = Gtk.FileChooser.FileChooserGetSelectMultipleMethodInfo
+    ResolveFileChooserNativeMethod "getShowHidden" o = Gtk.FileChooser.FileChooserGetShowHiddenMethodInfo
+    ResolveFileChooserNativeMethod "getTitle" o = Gtk.NativeDialog.NativeDialogGetTitleMethodInfo
+    ResolveFileChooserNativeMethod "getTransientFor" o = Gtk.NativeDialog.NativeDialogGetTransientForMethodInfo
+    ResolveFileChooserNativeMethod "getUri" o = Gtk.FileChooser.FileChooserGetUriMethodInfo
+    ResolveFileChooserNativeMethod "getUris" o = Gtk.FileChooser.FileChooserGetUrisMethodInfo
+    ResolveFileChooserNativeMethod "getUsePreviewLabel" o = Gtk.FileChooser.FileChooserGetUsePreviewLabelMethodInfo
+    ResolveFileChooserNativeMethod "getVisible" o = Gtk.NativeDialog.NativeDialogGetVisibleMethodInfo
+    ResolveFileChooserNativeMethod "setAcceptLabel" o = FileChooserNativeSetAcceptLabelMethodInfo
+    ResolveFileChooserNativeMethod "setAction" o = Gtk.FileChooser.FileChooserSetActionMethodInfo
+    ResolveFileChooserNativeMethod "setCancelLabel" o = FileChooserNativeSetCancelLabelMethodInfo
+    ResolveFileChooserNativeMethod "setChoice" o = Gtk.FileChooser.FileChooserSetChoiceMethodInfo
+    ResolveFileChooserNativeMethod "setCreateFolders" o = Gtk.FileChooser.FileChooserSetCreateFoldersMethodInfo
+    ResolveFileChooserNativeMethod "setCurrentFolder" o = Gtk.FileChooser.FileChooserSetCurrentFolderMethodInfo
+    ResolveFileChooserNativeMethod "setCurrentFolderFile" o = Gtk.FileChooser.FileChooserSetCurrentFolderFileMethodInfo
+    ResolveFileChooserNativeMethod "setCurrentFolderUri" o = Gtk.FileChooser.FileChooserSetCurrentFolderUriMethodInfo
+    ResolveFileChooserNativeMethod "setCurrentName" o = Gtk.FileChooser.FileChooserSetCurrentNameMethodInfo
+    ResolveFileChooserNativeMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFileChooserNativeMethod "setDoOverwriteConfirmation" o = Gtk.FileChooser.FileChooserSetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserNativeMethod "setExtraWidget" o = Gtk.FileChooser.FileChooserSetExtraWidgetMethodInfo
+    ResolveFileChooserNativeMethod "setFile" o = Gtk.FileChooser.FileChooserSetFileMethodInfo
+    ResolveFileChooserNativeMethod "setFilename" o = Gtk.FileChooser.FileChooserSetFilenameMethodInfo
+    ResolveFileChooserNativeMethod "setFilter" o = Gtk.FileChooser.FileChooserSetFilterMethodInfo
+    ResolveFileChooserNativeMethod "setLocalOnly" o = Gtk.FileChooser.FileChooserSetLocalOnlyMethodInfo
+    ResolveFileChooserNativeMethod "setModal" o = Gtk.NativeDialog.NativeDialogSetModalMethodInfo
+    ResolveFileChooserNativeMethod "setPreviewWidget" o = Gtk.FileChooser.FileChooserSetPreviewWidgetMethodInfo
+    ResolveFileChooserNativeMethod "setPreviewWidgetActive" o = Gtk.FileChooser.FileChooserSetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserNativeMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFileChooserNativeMethod "setSelectMultiple" o = Gtk.FileChooser.FileChooserSetSelectMultipleMethodInfo
+    ResolveFileChooserNativeMethod "setShowHidden" o = Gtk.FileChooser.FileChooserSetShowHiddenMethodInfo
+    ResolveFileChooserNativeMethod "setTitle" o = Gtk.NativeDialog.NativeDialogSetTitleMethodInfo
+    ResolveFileChooserNativeMethod "setTransientFor" o = Gtk.NativeDialog.NativeDialogSetTransientForMethodInfo
+    ResolveFileChooserNativeMethod "setUri" o = Gtk.FileChooser.FileChooserSetUriMethodInfo
+    ResolveFileChooserNativeMethod "setUsePreviewLabel" o = Gtk.FileChooser.FileChooserSetUsePreviewLabelMethodInfo
+    ResolveFileChooserNativeMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFileChooserNativeMethod t FileChooserNative, O.MethodInfo info FileChooserNative p) => OL.IsLabel t (FileChooserNative -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "accept-label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@accept-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooserNative #acceptLabel
+@
+-}
+getFileChooserNativeAcceptLabel :: (MonadIO m, IsFileChooserNative o) => o -> m (Maybe T.Text)
+getFileChooserNativeAcceptLabel obj = liftIO $ B.Properties.getObjectPropertyString obj "accept-label"
+
+{- |
+Set the value of the “@accept-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooserNative [ #acceptLabel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserNativeAcceptLabel :: (MonadIO m, IsFileChooserNative o) => o -> T.Text -> m ()
+setFileChooserNativeAcceptLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "accept-label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accept-label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserNativeAcceptLabel :: (IsFileChooserNative o) => T.Text -> IO (GValueConstruct o)
+constructFileChooserNativeAcceptLabel val = B.Properties.constructObjectPropertyString "accept-label" (Just val)
+
+{- |
+Set the value of the “@accept-label@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #acceptLabel
+@
+-}
+clearFileChooserNativeAcceptLabel :: (MonadIO m, IsFileChooserNative o) => o -> m ()
+clearFileChooserNativeAcceptLabel obj = liftIO $ B.Properties.setObjectPropertyString obj "accept-label" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data FileChooserNativeAcceptLabelPropertyInfo
+instance AttrInfo FileChooserNativeAcceptLabelPropertyInfo where
+    type AttrAllowedOps FileChooserNativeAcceptLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileChooserNativeAcceptLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FileChooserNativeAcceptLabelPropertyInfo = IsFileChooserNative
+    type AttrGetType FileChooserNativeAcceptLabelPropertyInfo = (Maybe T.Text)
+    type AttrLabel FileChooserNativeAcceptLabelPropertyInfo = "accept-label"
+    type AttrOrigin FileChooserNativeAcceptLabelPropertyInfo = FileChooserNative
+    attrGet _ = getFileChooserNativeAcceptLabel
+    attrSet _ = setFileChooserNativeAcceptLabel
+    attrConstruct _ = constructFileChooserNativeAcceptLabel
+    attrClear _ = clearFileChooserNativeAcceptLabel
+#endif
+
+-- VVV Prop "cancel-label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@cancel-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooserNative #cancelLabel
+@
+-}
+getFileChooserNativeCancelLabel :: (MonadIO m, IsFileChooserNative o) => o -> m (Maybe T.Text)
+getFileChooserNativeCancelLabel obj = liftIO $ B.Properties.getObjectPropertyString obj "cancel-label"
+
+{- |
+Set the value of the “@cancel-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooserNative [ #cancelLabel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserNativeCancelLabel :: (MonadIO m, IsFileChooserNative o) => o -> T.Text -> m ()
+setFileChooserNativeCancelLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "cancel-label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cancel-label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserNativeCancelLabel :: (IsFileChooserNative o) => T.Text -> IO (GValueConstruct o)
+constructFileChooserNativeCancelLabel val = B.Properties.constructObjectPropertyString "cancel-label" (Just val)
+
+{- |
+Set the value of the “@cancel-label@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #cancelLabel
+@
+-}
+clearFileChooserNativeCancelLabel :: (MonadIO m, IsFileChooserNative o) => o -> m ()
+clearFileChooserNativeCancelLabel obj = liftIO $ B.Properties.setObjectPropertyString obj "cancel-label" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data FileChooserNativeCancelLabelPropertyInfo
+instance AttrInfo FileChooserNativeCancelLabelPropertyInfo where
+    type AttrAllowedOps FileChooserNativeCancelLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileChooserNativeCancelLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FileChooserNativeCancelLabelPropertyInfo = IsFileChooserNative
+    type AttrGetType FileChooserNativeCancelLabelPropertyInfo = (Maybe T.Text)
+    type AttrLabel FileChooserNativeCancelLabelPropertyInfo = "cancel-label"
+    type AttrOrigin FileChooserNativeCancelLabelPropertyInfo = FileChooserNative
+    attrGet _ = getFileChooserNativeCancelLabel
+    attrSet _ = setFileChooserNativeCancelLabel
+    attrConstruct _ = constructFileChooserNativeCancelLabel
+    attrClear _ = clearFileChooserNativeCancelLabel
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FileChooserNative
+type instance O.AttributeList FileChooserNative = FileChooserNativeAttributeList
+type FileChooserNativeAttributeList = ('[ '("acceptLabel", FileChooserNativeAcceptLabelPropertyInfo), '("action", Gtk.FileChooser.FileChooserActionPropertyInfo), '("cancelLabel", FileChooserNativeCancelLabelPropertyInfo), '("createFolders", Gtk.FileChooser.FileChooserCreateFoldersPropertyInfo), '("doOverwriteConfirmation", Gtk.FileChooser.FileChooserDoOverwriteConfirmationPropertyInfo), '("extraWidget", Gtk.FileChooser.FileChooserExtraWidgetPropertyInfo), '("filter", Gtk.FileChooser.FileChooserFilterPropertyInfo), '("localOnly", Gtk.FileChooser.FileChooserLocalOnlyPropertyInfo), '("modal", Gtk.NativeDialog.NativeDialogModalPropertyInfo), '("previewWidget", Gtk.FileChooser.FileChooserPreviewWidgetPropertyInfo), '("previewWidgetActive", Gtk.FileChooser.FileChooserPreviewWidgetActivePropertyInfo), '("selectMultiple", Gtk.FileChooser.FileChooserSelectMultiplePropertyInfo), '("showHidden", Gtk.FileChooser.FileChooserShowHiddenPropertyInfo), '("title", Gtk.NativeDialog.NativeDialogTitlePropertyInfo), '("transientFor", Gtk.NativeDialog.NativeDialogTransientForPropertyInfo), '("usePreviewLabel", Gtk.FileChooser.FileChooserUsePreviewLabelPropertyInfo), '("visible", Gtk.NativeDialog.NativeDialogVisiblePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+fileChooserNativeAcceptLabel :: AttrLabelProxy "acceptLabel"
+fileChooserNativeAcceptLabel = AttrLabelProxy
+
+fileChooserNativeCancelLabel :: AttrLabelProxy "cancelLabel"
+fileChooserNativeCancelLabel = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FileChooserNative = FileChooserNativeSignalList
+type FileChooserNativeSignalList = ('[ '("confirmOverwrite", Gtk.FileChooser.FileChooserConfirmOverwriteSignalInfo), '("currentFolderChanged", Gtk.FileChooser.FileChooserCurrentFolderChangedSignalInfo), '("fileActivated", Gtk.FileChooser.FileChooserFileActivatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("response", Gtk.NativeDialog.NativeDialogResponseSignalInfo), '("selectionChanged", Gtk.FileChooser.FileChooserSelectionChangedSignalInfo), '("updatePreview", Gtk.FileChooser.FileChooserUpdatePreviewSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FileChooserNative::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Title of the native, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Transient parent of the native, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Open or save mode for the dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accept_label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "text to go in the accept button, or %NULL for the default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancel_label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "text to go in the cancel button, or %NULL for the default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FileChooserNative"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_native_new" gtk_file_chooser_native_new :: 
+    CString ->                              -- title : TBasicType TUTF8
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CUInt ->                                -- action : TInterface (Name {namespace = "Gtk", name = "FileChooserAction"})
+    CString ->                              -- accept_label : TBasicType TUTF8
+    CString ->                              -- cancel_label : TBasicType TUTF8
+    IO (Ptr FileChooserNative)
+
+{- |
+Creates a new 'GI.Gtk.Objects.FileChooserNative.FileChooserNative'.
+
+/Since: 3.20/
+-}
+fileChooserNativeNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a) =>
+    Maybe (T.Text)
+    {- ^ /@title@/: Title of the native, or 'Nothing' -}
+    -> Maybe (a)
+    {- ^ /@parent@/: Transient parent of the native, or 'Nothing' -}
+    -> Gtk.Enums.FileChooserAction
+    {- ^ /@action@/: Open or save mode for the dialog -}
+    -> Maybe (T.Text)
+    {- ^ /@acceptLabel@/: text to go in the accept button, or 'Nothing' for the default -}
+    -> Maybe (T.Text)
+    {- ^ /@cancelLabel@/: text to go in the cancel button, or 'Nothing' for the default -}
+    -> m FileChooserNative
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FileChooserNative.FileChooserNative' -}
+fileChooserNativeNew title parent action acceptLabel cancelLabel = liftIO $ do
+    maybeTitle <- case title of
+        Nothing -> return nullPtr
+        Just jTitle -> do
+            jTitle' <- textToCString jTitle
+            return jTitle'
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    let action' = (fromIntegral . fromEnum) action
+    maybeAcceptLabel <- case acceptLabel of
+        Nothing -> return nullPtr
+        Just jAcceptLabel -> do
+            jAcceptLabel' <- textToCString jAcceptLabel
+            return jAcceptLabel'
+    maybeCancelLabel <- case cancelLabel of
+        Nothing -> return nullPtr
+        Just jCancelLabel -> do
+            jCancelLabel' <- textToCString jCancelLabel
+            return jCancelLabel'
+    result <- gtk_file_chooser_native_new maybeTitle maybeParent action' maybeAcceptLabel maybeCancelLabel
+    checkUnexpectedReturnNULL "fileChooserNativeNew" result
+    result' <- (wrapObject FileChooserNative) result
+    whenJust parent touchManagedPtr
+    freeMem maybeTitle
+    freeMem maybeAcceptLabel
+    freeMem maybeCancelLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FileChooserNative::get_accept_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserNative"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtFileChooserNative", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_native_get_accept_label" gtk_file_chooser_native_get_accept_label :: 
+    Ptr FileChooserNative ->                -- self : TInterface (Name {namespace = "Gtk", name = "FileChooserNative"})
+    IO CString
+
+{- |
+Retrieves the custom label text for the accept button.
+
+/Since: 3.20/
+-}
+fileChooserNativeGetAcceptLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserNative a) =>
+    a
+    {- ^ /@self@/: a @/GtFileChooserNative/@ -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ The custom label, or 'Nothing' for the default. This string
+is owned by GTK+ and should not be modified or freed -}
+fileChooserNativeGetAcceptLabel self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_file_chooser_native_get_accept_label self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserNativeGetAcceptLabelMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsFileChooserNative a) => O.MethodInfo FileChooserNativeGetAcceptLabelMethodInfo a signature where
+    overloadedMethod _ = fileChooserNativeGetAcceptLabel
+
+#endif
+
+-- method FileChooserNative::get_cancel_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserNative"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtFileChooserNative", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_native_get_cancel_label" gtk_file_chooser_native_get_cancel_label :: 
+    Ptr FileChooserNative ->                -- self : TInterface (Name {namespace = "Gtk", name = "FileChooserNative"})
+    IO CString
+
+{- |
+Retrieves the custom label text for the cancel button.
+
+/Since: 3.20/
+-}
+fileChooserNativeGetCancelLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserNative a) =>
+    a
+    {- ^ /@self@/: a @/GtFileChooserNative/@ -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ The custom label, or 'Nothing' for the default. This string
+is owned by GTK+ and should not be modified or freed -}
+fileChooserNativeGetCancelLabel self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_file_chooser_native_get_cancel_label self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileChooserNativeGetCancelLabelMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsFileChooserNative a) => O.MethodInfo FileChooserNativeGetCancelLabelMethodInfo a signature where
+    overloadedMethod _ = fileChooserNativeGetCancelLabel
+
+#endif
+
+-- method FileChooserNative::set_accept_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserNative"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtFileChooserNative", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accept_label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "custom label or %NULL for the default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_native_set_accept_label" gtk_file_chooser_native_set_accept_label :: 
+    Ptr FileChooserNative ->                -- self : TInterface (Name {namespace = "Gtk", name = "FileChooserNative"})
+    CString ->                              -- accept_label : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the custom label text for the accept button.
+
+If characters in /@label@/ are preceded by an underscore, they are underlined.
+If you need a literal underscore character in a label, use “__” (two
+underscores). The first underlined character represents a keyboard
+accelerator called a mnemonic.
+Pressing Alt and that key activates the button.
+
+/Since: 3.20/
+-}
+fileChooserNativeSetAcceptLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserNative a) =>
+    a
+    {- ^ /@self@/: a @/GtFileChooserNative/@ -}
+    -> Maybe (T.Text)
+    {- ^ /@acceptLabel@/: custom label or 'Nothing' for the default -}
+    -> m ()
+fileChooserNativeSetAcceptLabel self acceptLabel = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    maybeAcceptLabel <- case acceptLabel of
+        Nothing -> return nullPtr
+        Just jAcceptLabel -> do
+            jAcceptLabel' <- textToCString jAcceptLabel
+            return jAcceptLabel'
+    gtk_file_chooser_native_set_accept_label self' maybeAcceptLabel
+    touchManagedPtr self
+    freeMem maybeAcceptLabel
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserNativeSetAcceptLabelMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsFileChooserNative a) => O.MethodInfo FileChooserNativeSetAcceptLabelMethodInfo a signature where
+    overloadedMethod _ = fileChooserNativeSetAcceptLabel
+
+#endif
+
+-- method FileChooserNative::set_cancel_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserNative"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtFileChooserNative", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancel_label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "custom label or %NULL for the default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_native_set_cancel_label" gtk_file_chooser_native_set_cancel_label :: 
+    Ptr FileChooserNative ->                -- self : TInterface (Name {namespace = "Gtk", name = "FileChooserNative"})
+    CString ->                              -- cancel_label : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the custom label text for the cancel button.
+
+If characters in /@label@/ are preceded by an underscore, they are underlined.
+If you need a literal underscore character in a label, use “__” (two
+underscores). The first underlined character represents a keyboard
+accelerator called a mnemonic.
+Pressing Alt and that key activates the button.
+
+/Since: 3.20/
+-}
+fileChooserNativeSetCancelLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileChooserNative a) =>
+    a
+    {- ^ /@self@/: a @/GtFileChooserNative/@ -}
+    -> Maybe (T.Text)
+    {- ^ /@cancelLabel@/: custom label or 'Nothing' for the default -}
+    -> m ()
+fileChooserNativeSetCancelLabel self cancelLabel = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    maybeCancelLabel <- case cancelLabel of
+        Nothing -> return nullPtr
+        Just jCancelLabel -> do
+            jCancelLabel' <- textToCString jCancelLabel
+            return jCancelLabel'
+    gtk_file_chooser_native_set_cancel_label self' maybeCancelLabel
+    touchManagedPtr self
+    freeMem maybeCancelLabel
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileChooserNativeSetCancelLabelMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsFileChooserNative a) => O.MethodInfo FileChooserNativeSetCancelLabelMethodInfo a signature where
+    overloadedMethod _ = fileChooserNativeSetCancelLabel
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FileChooserNative.hs-boot b/GI/Gtk/Objects/FileChooserNative.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileChooserNative.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FileChooserNative where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FileChooserNative = FileChooserNative (ManagedPtr FileChooserNative)
+instance GObject FileChooserNative where
+class (GObject o, O.IsDescendantOf FileChooserNative o) => IsFileChooserNative o
+instance (GObject o, O.IsDescendantOf FileChooserNative o) => IsFileChooserNative o
+instance O.HasParentTypes FileChooserNative
+#if ENABLE_OVERLOADING
+data FileChooserNativeAcceptLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserNativeCancelLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserNativeGetAcceptLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserNativeGetCancelLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserNativeSetAcceptLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserNativeSetCancelLabelMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/FileChooserWidget.hs b/GI/Gtk/Objects/FileChooserWidget.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileChooserWidget.hs
@@ -0,0 +1,1813 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget' is a widget for choosing files.
+It exposes the 'GI.Gtk.Interfaces.FileChooser.FileChooser' interface, and you should
+use the methods of this interface to interact with the
+widget.
+
+= CSS nodes
+
+GtkFileChooserWidget has a single CSS node with name filechooser.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FileChooserWidget
+    ( 
+
+-- * Exported types
+    FileChooserWidget(..)                   ,
+    IsFileChooserWidget                     ,
+    toFileChooserWidget                     ,
+    noFileChooserWidget                     ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    fileChooserWidgetNew                    ,
+
+
+
+
+ -- * Properties
+-- ** searchMode #attr:searchMode#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserWidgetSearchModePropertyInfo ,
+#endif
+    constructFileChooserWidgetSearchMode    ,
+#if ENABLE_OVERLOADING
+    fileChooserWidgetSearchMode             ,
+#endif
+    getFileChooserWidgetSearchMode          ,
+    setFileChooserWidgetSearchMode          ,
+
+
+-- ** subtitle #attr:subtitle#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FileChooserWidgetSubtitlePropertyInfo   ,
+#endif
+#if ENABLE_OVERLOADING
+    fileChooserWidgetSubtitle               ,
+#endif
+    getFileChooserWidgetSubtitle            ,
+
+
+
+
+ -- * Signals
+-- ** desktopFolder #signal:desktopFolder#
+
+    C_FileChooserWidgetDesktopFolderCallback,
+    FileChooserWidgetDesktopFolderCallback  ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetDesktopFolderSignalInfo,
+#endif
+    afterFileChooserWidgetDesktopFolder     ,
+    genClosure_FileChooserWidgetDesktopFolder,
+    mk_FileChooserWidgetDesktopFolderCallback,
+    noFileChooserWidgetDesktopFolderCallback,
+    onFileChooserWidgetDesktopFolder        ,
+    wrap_FileChooserWidgetDesktopFolderCallback,
+
+
+-- ** downFolder #signal:downFolder#
+
+    C_FileChooserWidgetDownFolderCallback   ,
+    FileChooserWidgetDownFolderCallback     ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetDownFolderSignalInfo   ,
+#endif
+    afterFileChooserWidgetDownFolder        ,
+    genClosure_FileChooserWidgetDownFolder  ,
+    mk_FileChooserWidgetDownFolderCallback  ,
+    noFileChooserWidgetDownFolderCallback   ,
+    onFileChooserWidgetDownFolder           ,
+    wrap_FileChooserWidgetDownFolderCallback,
+
+
+-- ** homeFolder #signal:homeFolder#
+
+    C_FileChooserWidgetHomeFolderCallback   ,
+    FileChooserWidgetHomeFolderCallback     ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetHomeFolderSignalInfo   ,
+#endif
+    afterFileChooserWidgetHomeFolder        ,
+    genClosure_FileChooserWidgetHomeFolder  ,
+    mk_FileChooserWidgetHomeFolderCallback  ,
+    noFileChooserWidgetHomeFolderCallback   ,
+    onFileChooserWidgetHomeFolder           ,
+    wrap_FileChooserWidgetHomeFolderCallback,
+
+
+-- ** locationPopup #signal:locationPopup#
+
+    C_FileChooserWidgetLocationPopupCallback,
+    FileChooserWidgetLocationPopupCallback  ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetLocationPopupSignalInfo,
+#endif
+    afterFileChooserWidgetLocationPopup     ,
+    genClosure_FileChooserWidgetLocationPopup,
+    mk_FileChooserWidgetLocationPopupCallback,
+    noFileChooserWidgetLocationPopupCallback,
+    onFileChooserWidgetLocationPopup        ,
+    wrap_FileChooserWidgetLocationPopupCallback,
+
+
+-- ** locationPopupOnPaste #signal:locationPopupOnPaste#
+
+    C_FileChooserWidgetLocationPopupOnPasteCallback,
+    FileChooserWidgetLocationPopupOnPasteCallback,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetLocationPopupOnPasteSignalInfo,
+#endif
+    afterFileChooserWidgetLocationPopupOnPaste,
+    genClosure_FileChooserWidgetLocationPopupOnPaste,
+    mk_FileChooserWidgetLocationPopupOnPasteCallback,
+    noFileChooserWidgetLocationPopupOnPasteCallback,
+    onFileChooserWidgetLocationPopupOnPaste ,
+    wrap_FileChooserWidgetLocationPopupOnPasteCallback,
+
+
+-- ** locationTogglePopup #signal:locationTogglePopup#
+
+    C_FileChooserWidgetLocationTogglePopupCallback,
+    FileChooserWidgetLocationTogglePopupCallback,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetLocationTogglePopupSignalInfo,
+#endif
+    afterFileChooserWidgetLocationTogglePopup,
+    genClosure_FileChooserWidgetLocationTogglePopup,
+    mk_FileChooserWidgetLocationTogglePopupCallback,
+    noFileChooserWidgetLocationTogglePopupCallback,
+    onFileChooserWidgetLocationTogglePopup  ,
+    wrap_FileChooserWidgetLocationTogglePopupCallback,
+
+
+-- ** placesShortcut #signal:placesShortcut#
+
+    C_FileChooserWidgetPlacesShortcutCallback,
+    FileChooserWidgetPlacesShortcutCallback ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetPlacesShortcutSignalInfo,
+#endif
+    afterFileChooserWidgetPlacesShortcut    ,
+    genClosure_FileChooserWidgetPlacesShortcut,
+    mk_FileChooserWidgetPlacesShortcutCallback,
+    noFileChooserWidgetPlacesShortcutCallback,
+    onFileChooserWidgetPlacesShortcut       ,
+    wrap_FileChooserWidgetPlacesShortcutCallback,
+
+
+-- ** quickBookmark #signal:quickBookmark#
+
+    C_FileChooserWidgetQuickBookmarkCallback,
+    FileChooserWidgetQuickBookmarkCallback  ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetQuickBookmarkSignalInfo,
+#endif
+    afterFileChooserWidgetQuickBookmark     ,
+    genClosure_FileChooserWidgetQuickBookmark,
+    mk_FileChooserWidgetQuickBookmarkCallback,
+    noFileChooserWidgetQuickBookmarkCallback,
+    onFileChooserWidgetQuickBookmark        ,
+    wrap_FileChooserWidgetQuickBookmarkCallback,
+
+
+-- ** recentShortcut #signal:recentShortcut#
+
+    C_FileChooserWidgetRecentShortcutCallback,
+    FileChooserWidgetRecentShortcutCallback ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetRecentShortcutSignalInfo,
+#endif
+    afterFileChooserWidgetRecentShortcut    ,
+    genClosure_FileChooserWidgetRecentShortcut,
+    mk_FileChooserWidgetRecentShortcutCallback,
+    noFileChooserWidgetRecentShortcutCallback,
+    onFileChooserWidgetRecentShortcut       ,
+    wrap_FileChooserWidgetRecentShortcutCallback,
+
+
+-- ** searchShortcut #signal:searchShortcut#
+
+    C_FileChooserWidgetSearchShortcutCallback,
+    FileChooserWidgetSearchShortcutCallback ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetSearchShortcutSignalInfo,
+#endif
+    afterFileChooserWidgetSearchShortcut    ,
+    genClosure_FileChooserWidgetSearchShortcut,
+    mk_FileChooserWidgetSearchShortcutCallback,
+    noFileChooserWidgetSearchShortcutCallback,
+    onFileChooserWidgetSearchShortcut       ,
+    wrap_FileChooserWidgetSearchShortcutCallback,
+
+
+-- ** showHidden #signal:showHidden#
+
+    C_FileChooserWidgetShowHiddenCallback   ,
+    FileChooserWidgetShowHiddenCallback     ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetShowHiddenSignalInfo   ,
+#endif
+    afterFileChooserWidgetShowHidden        ,
+    genClosure_FileChooserWidgetShowHidden  ,
+    mk_FileChooserWidgetShowHiddenCallback  ,
+    noFileChooserWidgetShowHiddenCallback   ,
+    onFileChooserWidgetShowHidden           ,
+    wrap_FileChooserWidgetShowHiddenCallback,
+
+
+-- ** upFolder #signal:upFolder#
+
+    C_FileChooserWidgetUpFolderCallback     ,
+    FileChooserWidgetUpFolderCallback       ,
+#if ENABLE_OVERLOADING
+    FileChooserWidgetUpFolderSignalInfo     ,
+#endif
+    afterFileChooserWidgetUpFolder          ,
+    genClosure_FileChooserWidgetUpFolder    ,
+    mk_FileChooserWidgetUpFolderCallback    ,
+    noFileChooserWidgetUpFolderCallback     ,
+    onFileChooserWidgetUpFolder             ,
+    wrap_FileChooserWidgetUpFolderCallback  ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.FileChooser as Gtk.FileChooser
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype FileChooserWidget = FileChooserWidget (ManagedPtr FileChooserWidget)
+foreign import ccall "gtk_file_chooser_widget_get_type"
+    c_gtk_file_chooser_widget_get_type :: IO GType
+
+instance GObject FileChooserWidget where
+    gobjectType = c_gtk_file_chooser_widget_get_type
+    
+
+-- | Type class for types which can be safely cast to `FileChooserWidget`, for instance with `toFileChooserWidget`.
+class (GObject o, O.IsDescendantOf FileChooserWidget o) => IsFileChooserWidget o
+instance (GObject o, O.IsDescendantOf FileChooserWidget o) => IsFileChooserWidget o
+
+instance O.HasParentTypes FileChooserWidget
+type instance O.ParentTypes FileChooserWidget = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.FileChooser.FileChooser, Gtk.Orientable.Orientable]
+
+-- | Cast to `FileChooserWidget`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFileChooserWidget :: (MonadIO m, IsFileChooserWidget o) => o -> m FileChooserWidget
+toFileChooserWidget = liftIO . unsafeCastTo FileChooserWidget
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FileChooserWidget`.
+noFileChooserWidget :: Maybe FileChooserWidget
+noFileChooserWidget = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFileChooserWidgetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileChooserWidgetMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFileChooserWidgetMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFileChooserWidgetMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFileChooserWidgetMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFileChooserWidgetMethod "addChoice" o = Gtk.FileChooser.FileChooserAddChoiceMethodInfo
+    ResolveFileChooserWidgetMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFileChooserWidgetMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFileChooserWidgetMethod "addFilter" o = Gtk.FileChooser.FileChooserAddFilterMethodInfo
+    ResolveFileChooserWidgetMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFileChooserWidgetMethod "addShortcutFolder" o = Gtk.FileChooser.FileChooserAddShortcutFolderMethodInfo
+    ResolveFileChooserWidgetMethod "addShortcutFolderUri" o = Gtk.FileChooser.FileChooserAddShortcutFolderUriMethodInfo
+    ResolveFileChooserWidgetMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFileChooserWidgetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFileChooserWidgetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFileChooserWidgetMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFileChooserWidgetMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFileChooserWidgetMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFileChooserWidgetMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFileChooserWidgetMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFileChooserWidgetMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFileChooserWidgetMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFileChooserWidgetMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFileChooserWidgetMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFileChooserWidgetMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFileChooserWidgetMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFileChooserWidgetMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFileChooserWidgetMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFileChooserWidgetMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFileChooserWidgetMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFileChooserWidgetMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFileChooserWidgetMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFileChooserWidgetMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFileChooserWidgetMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFileChooserWidgetMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFileChooserWidgetMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFileChooserWidgetMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFileChooserWidgetMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFileChooserWidgetMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFileChooserWidgetMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFileChooserWidgetMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFileChooserWidgetMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFileChooserWidgetMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFileChooserWidgetMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFileChooserWidgetMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFileChooserWidgetMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFileChooserWidgetMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFileChooserWidgetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFileChooserWidgetMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFileChooserWidgetMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFileChooserWidgetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFileChooserWidgetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFileChooserWidgetMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFileChooserWidgetMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFileChooserWidgetMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFileChooserWidgetMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFileChooserWidgetMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFileChooserWidgetMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFileChooserWidgetMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFileChooserWidgetMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFileChooserWidgetMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFileChooserWidgetMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFileChooserWidgetMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFileChooserWidgetMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFileChooserWidgetMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFileChooserWidgetMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFileChooserWidgetMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFileChooserWidgetMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFileChooserWidgetMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFileChooserWidgetMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFileChooserWidgetMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFileChooserWidgetMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFileChooserWidgetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFileChooserWidgetMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFileChooserWidgetMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFileChooserWidgetMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFileChooserWidgetMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFileChooserWidgetMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFileChooserWidgetMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFileChooserWidgetMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFileChooserWidgetMethod "listFilters" o = Gtk.FileChooser.FileChooserListFiltersMethodInfo
+    ResolveFileChooserWidgetMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFileChooserWidgetMethod "listShortcutFolderUris" o = Gtk.FileChooser.FileChooserListShortcutFolderUrisMethodInfo
+    ResolveFileChooserWidgetMethod "listShortcutFolders" o = Gtk.FileChooser.FileChooserListShortcutFoldersMethodInfo
+    ResolveFileChooserWidgetMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFileChooserWidgetMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveFileChooserWidgetMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFileChooserWidgetMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFileChooserWidgetMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFileChooserWidgetMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFileChooserWidgetMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFileChooserWidgetMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFileChooserWidgetMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFileChooserWidgetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFileChooserWidgetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFileChooserWidgetMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFileChooserWidgetMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFileChooserWidgetMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFileChooserWidgetMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFileChooserWidgetMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFileChooserWidgetMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveFileChooserWidgetMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveFileChooserWidgetMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFileChooserWidgetMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFileChooserWidgetMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFileChooserWidgetMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveFileChooserWidgetMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFileChooserWidgetMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFileChooserWidgetMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFileChooserWidgetMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFileChooserWidgetMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFileChooserWidgetMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFileChooserWidgetMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFileChooserWidgetMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFileChooserWidgetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFileChooserWidgetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFileChooserWidgetMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFileChooserWidgetMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFileChooserWidgetMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFileChooserWidgetMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFileChooserWidgetMethod "removeChoice" o = Gtk.FileChooser.FileChooserRemoveChoiceMethodInfo
+    ResolveFileChooserWidgetMethod "removeFilter" o = Gtk.FileChooser.FileChooserRemoveFilterMethodInfo
+    ResolveFileChooserWidgetMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFileChooserWidgetMethod "removeShortcutFolder" o = Gtk.FileChooser.FileChooserRemoveShortcutFolderMethodInfo
+    ResolveFileChooserWidgetMethod "removeShortcutFolderUri" o = Gtk.FileChooser.FileChooserRemoveShortcutFolderUriMethodInfo
+    ResolveFileChooserWidgetMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFileChooserWidgetMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFileChooserWidgetMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFileChooserWidgetMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveFileChooserWidgetMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFileChooserWidgetMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFileChooserWidgetMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFileChooserWidgetMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFileChooserWidgetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFileChooserWidgetMethod "selectAll" o = Gtk.FileChooser.FileChooserSelectAllMethodInfo
+    ResolveFileChooserWidgetMethod "selectFile" o = Gtk.FileChooser.FileChooserSelectFileMethodInfo
+    ResolveFileChooserWidgetMethod "selectFilename" o = Gtk.FileChooser.FileChooserSelectFilenameMethodInfo
+    ResolveFileChooserWidgetMethod "selectUri" o = Gtk.FileChooser.FileChooserSelectUriMethodInfo
+    ResolveFileChooserWidgetMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFileChooserWidgetMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFileChooserWidgetMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFileChooserWidgetMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFileChooserWidgetMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFileChooserWidgetMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFileChooserWidgetMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFileChooserWidgetMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFileChooserWidgetMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFileChooserWidgetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFileChooserWidgetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFileChooserWidgetMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFileChooserWidgetMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFileChooserWidgetMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFileChooserWidgetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFileChooserWidgetMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFileChooserWidgetMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFileChooserWidgetMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFileChooserWidgetMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFileChooserWidgetMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFileChooserWidgetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFileChooserWidgetMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFileChooserWidgetMethod "unselectAll" o = Gtk.FileChooser.FileChooserUnselectAllMethodInfo
+    ResolveFileChooserWidgetMethod "unselectFile" o = Gtk.FileChooser.FileChooserUnselectFileMethodInfo
+    ResolveFileChooserWidgetMethod "unselectFilename" o = Gtk.FileChooser.FileChooserUnselectFilenameMethodInfo
+    ResolveFileChooserWidgetMethod "unselectUri" o = Gtk.FileChooser.FileChooserUnselectUriMethodInfo
+    ResolveFileChooserWidgetMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFileChooserWidgetMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFileChooserWidgetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFileChooserWidgetMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFileChooserWidgetMethod "getAction" o = Gtk.FileChooser.FileChooserGetActionMethodInfo
+    ResolveFileChooserWidgetMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFileChooserWidgetMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFileChooserWidgetMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFileChooserWidgetMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFileChooserWidgetMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFileChooserWidgetMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFileChooserWidgetMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFileChooserWidgetMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFileChooserWidgetMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveFileChooserWidgetMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFileChooserWidgetMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFileChooserWidgetMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFileChooserWidgetMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveFileChooserWidgetMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFileChooserWidgetMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFileChooserWidgetMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFileChooserWidgetMethod "getChoice" o = Gtk.FileChooser.FileChooserGetChoiceMethodInfo
+    ResolveFileChooserWidgetMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFileChooserWidgetMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFileChooserWidgetMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFileChooserWidgetMethod "getCreateFolders" o = Gtk.FileChooser.FileChooserGetCreateFoldersMethodInfo
+    ResolveFileChooserWidgetMethod "getCurrentFolder" o = Gtk.FileChooser.FileChooserGetCurrentFolderMethodInfo
+    ResolveFileChooserWidgetMethod "getCurrentFolderFile" o = Gtk.FileChooser.FileChooserGetCurrentFolderFileMethodInfo
+    ResolveFileChooserWidgetMethod "getCurrentFolderUri" o = Gtk.FileChooser.FileChooserGetCurrentFolderUriMethodInfo
+    ResolveFileChooserWidgetMethod "getCurrentName" o = Gtk.FileChooser.FileChooserGetCurrentNameMethodInfo
+    ResolveFileChooserWidgetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFileChooserWidgetMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFileChooserWidgetMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFileChooserWidgetMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFileChooserWidgetMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFileChooserWidgetMethod "getDoOverwriteConfirmation" o = Gtk.FileChooser.FileChooserGetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserWidgetMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFileChooserWidgetMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFileChooserWidgetMethod "getExtraWidget" o = Gtk.FileChooser.FileChooserGetExtraWidgetMethodInfo
+    ResolveFileChooserWidgetMethod "getFile" o = Gtk.FileChooser.FileChooserGetFileMethodInfo
+    ResolveFileChooserWidgetMethod "getFilename" o = Gtk.FileChooser.FileChooserGetFilenameMethodInfo
+    ResolveFileChooserWidgetMethod "getFilenames" o = Gtk.FileChooser.FileChooserGetFilenamesMethodInfo
+    ResolveFileChooserWidgetMethod "getFiles" o = Gtk.FileChooser.FileChooserGetFilesMethodInfo
+    ResolveFileChooserWidgetMethod "getFilter" o = Gtk.FileChooser.FileChooserGetFilterMethodInfo
+    ResolveFileChooserWidgetMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFileChooserWidgetMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFileChooserWidgetMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFileChooserWidgetMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFileChooserWidgetMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFileChooserWidgetMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFileChooserWidgetMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFileChooserWidgetMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFileChooserWidgetMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFileChooserWidgetMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFileChooserWidgetMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFileChooserWidgetMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFileChooserWidgetMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFileChooserWidgetMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveFileChooserWidgetMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFileChooserWidgetMethod "getLocalOnly" o = Gtk.FileChooser.FileChooserGetLocalOnlyMethodInfo
+    ResolveFileChooserWidgetMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFileChooserWidgetMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFileChooserWidgetMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFileChooserWidgetMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFileChooserWidgetMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFileChooserWidgetMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFileChooserWidgetMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFileChooserWidgetMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFileChooserWidgetMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFileChooserWidgetMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFileChooserWidgetMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFileChooserWidgetMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveFileChooserWidgetMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveFileChooserWidgetMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFileChooserWidgetMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFileChooserWidgetMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFileChooserWidgetMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFileChooserWidgetMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFileChooserWidgetMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFileChooserWidgetMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFileChooserWidgetMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFileChooserWidgetMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFileChooserWidgetMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFileChooserWidgetMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFileChooserWidgetMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFileChooserWidgetMethod "getPreviewFile" o = Gtk.FileChooser.FileChooserGetPreviewFileMethodInfo
+    ResolveFileChooserWidgetMethod "getPreviewFilename" o = Gtk.FileChooser.FileChooserGetPreviewFilenameMethodInfo
+    ResolveFileChooserWidgetMethod "getPreviewUri" o = Gtk.FileChooser.FileChooserGetPreviewUriMethodInfo
+    ResolveFileChooserWidgetMethod "getPreviewWidget" o = Gtk.FileChooser.FileChooserGetPreviewWidgetMethodInfo
+    ResolveFileChooserWidgetMethod "getPreviewWidgetActive" o = Gtk.FileChooser.FileChooserGetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserWidgetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFileChooserWidgetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFileChooserWidgetMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFileChooserWidgetMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFileChooserWidgetMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFileChooserWidgetMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFileChooserWidgetMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFileChooserWidgetMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFileChooserWidgetMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFileChooserWidgetMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveFileChooserWidgetMethod "getSelectMultiple" o = Gtk.FileChooser.FileChooserGetSelectMultipleMethodInfo
+    ResolveFileChooserWidgetMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFileChooserWidgetMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFileChooserWidgetMethod "getShowHidden" o = Gtk.FileChooser.FileChooserGetShowHiddenMethodInfo
+    ResolveFileChooserWidgetMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFileChooserWidgetMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveFileChooserWidgetMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFileChooserWidgetMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFileChooserWidgetMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFileChooserWidgetMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFileChooserWidgetMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFileChooserWidgetMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFileChooserWidgetMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFileChooserWidgetMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFileChooserWidgetMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFileChooserWidgetMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFileChooserWidgetMethod "getUri" o = Gtk.FileChooser.FileChooserGetUriMethodInfo
+    ResolveFileChooserWidgetMethod "getUris" o = Gtk.FileChooser.FileChooserGetUrisMethodInfo
+    ResolveFileChooserWidgetMethod "getUsePreviewLabel" o = Gtk.FileChooser.FileChooserGetUsePreviewLabelMethodInfo
+    ResolveFileChooserWidgetMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFileChooserWidgetMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFileChooserWidgetMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFileChooserWidgetMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFileChooserWidgetMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFileChooserWidgetMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFileChooserWidgetMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFileChooserWidgetMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFileChooserWidgetMethod "setAction" o = Gtk.FileChooser.FileChooserSetActionMethodInfo
+    ResolveFileChooserWidgetMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFileChooserWidgetMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFileChooserWidgetMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveFileChooserWidgetMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFileChooserWidgetMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFileChooserWidgetMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFileChooserWidgetMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFileChooserWidgetMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveFileChooserWidgetMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveFileChooserWidgetMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFileChooserWidgetMethod "setChoice" o = Gtk.FileChooser.FileChooserSetChoiceMethodInfo
+    ResolveFileChooserWidgetMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFileChooserWidgetMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFileChooserWidgetMethod "setCreateFolders" o = Gtk.FileChooser.FileChooserSetCreateFoldersMethodInfo
+    ResolveFileChooserWidgetMethod "setCurrentFolder" o = Gtk.FileChooser.FileChooserSetCurrentFolderMethodInfo
+    ResolveFileChooserWidgetMethod "setCurrentFolderFile" o = Gtk.FileChooser.FileChooserSetCurrentFolderFileMethodInfo
+    ResolveFileChooserWidgetMethod "setCurrentFolderUri" o = Gtk.FileChooser.FileChooserSetCurrentFolderUriMethodInfo
+    ResolveFileChooserWidgetMethod "setCurrentName" o = Gtk.FileChooser.FileChooserSetCurrentNameMethodInfo
+    ResolveFileChooserWidgetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFileChooserWidgetMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFileChooserWidgetMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFileChooserWidgetMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFileChooserWidgetMethod "setDoOverwriteConfirmation" o = Gtk.FileChooser.FileChooserSetDoOverwriteConfirmationMethodInfo
+    ResolveFileChooserWidgetMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFileChooserWidgetMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFileChooserWidgetMethod "setExtraWidget" o = Gtk.FileChooser.FileChooserSetExtraWidgetMethodInfo
+    ResolveFileChooserWidgetMethod "setFile" o = Gtk.FileChooser.FileChooserSetFileMethodInfo
+    ResolveFileChooserWidgetMethod "setFilename" o = Gtk.FileChooser.FileChooserSetFilenameMethodInfo
+    ResolveFileChooserWidgetMethod "setFilter" o = Gtk.FileChooser.FileChooserSetFilterMethodInfo
+    ResolveFileChooserWidgetMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFileChooserWidgetMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFileChooserWidgetMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFileChooserWidgetMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFileChooserWidgetMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFileChooserWidgetMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFileChooserWidgetMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFileChooserWidgetMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFileChooserWidgetMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFileChooserWidgetMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFileChooserWidgetMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFileChooserWidgetMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFileChooserWidgetMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveFileChooserWidgetMethod "setLocalOnly" o = Gtk.FileChooser.FileChooserSetLocalOnlyMethodInfo
+    ResolveFileChooserWidgetMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFileChooserWidgetMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFileChooserWidgetMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFileChooserWidgetMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFileChooserWidgetMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFileChooserWidgetMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFileChooserWidgetMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFileChooserWidgetMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFileChooserWidgetMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFileChooserWidgetMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveFileChooserWidgetMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveFileChooserWidgetMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFileChooserWidgetMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFileChooserWidgetMethod "setPreviewWidget" o = Gtk.FileChooser.FileChooserSetPreviewWidgetMethodInfo
+    ResolveFileChooserWidgetMethod "setPreviewWidgetActive" o = Gtk.FileChooser.FileChooserSetPreviewWidgetActiveMethodInfo
+    ResolveFileChooserWidgetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFileChooserWidgetMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFileChooserWidgetMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFileChooserWidgetMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFileChooserWidgetMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFileChooserWidgetMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFileChooserWidgetMethod "setSelectMultiple" o = Gtk.FileChooser.FileChooserSetSelectMultipleMethodInfo
+    ResolveFileChooserWidgetMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFileChooserWidgetMethod "setShowHidden" o = Gtk.FileChooser.FileChooserSetShowHiddenMethodInfo
+    ResolveFileChooserWidgetMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFileChooserWidgetMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveFileChooserWidgetMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFileChooserWidgetMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFileChooserWidgetMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFileChooserWidgetMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFileChooserWidgetMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFileChooserWidgetMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFileChooserWidgetMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFileChooserWidgetMethod "setUri" o = Gtk.FileChooser.FileChooserSetUriMethodInfo
+    ResolveFileChooserWidgetMethod "setUsePreviewLabel" o = Gtk.FileChooser.FileChooserSetUsePreviewLabelMethodInfo
+    ResolveFileChooserWidgetMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFileChooserWidgetMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFileChooserWidgetMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFileChooserWidgetMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFileChooserWidgetMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFileChooserWidgetMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFileChooserWidgetMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFileChooserWidgetMethod t FileChooserWidget, O.MethodInfo info FileChooserWidget p) => OL.IsLabel t (FileChooserWidget -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal FileChooserWidget::desktop-folder
+{- |
+The ::desktop-folder signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser show the user\'s Desktop
+folder in the file list.
+
+The default binding for this signal is @Alt + D@.
+-}
+type FileChooserWidgetDesktopFolderCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetDesktopFolderCallback`@.
+noFileChooserWidgetDesktopFolderCallback :: Maybe FileChooserWidgetDesktopFolderCallback
+noFileChooserWidgetDesktopFolderCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetDesktopFolderCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetDesktopFolderCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetDesktopFolderCallback :: C_FileChooserWidgetDesktopFolderCallback -> IO (FunPtr C_FileChooserWidgetDesktopFolderCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetDesktopFolder :: MonadIO m => FileChooserWidgetDesktopFolderCallback -> m (GClosure C_FileChooserWidgetDesktopFolderCallback)
+genClosure_FileChooserWidgetDesktopFolder cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetDesktopFolderCallback cb
+    mk_FileChooserWidgetDesktopFolderCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetDesktopFolderCallback` into a `C_FileChooserWidgetDesktopFolderCallback`.
+wrap_FileChooserWidgetDesktopFolderCallback ::
+    FileChooserWidgetDesktopFolderCallback ->
+    C_FileChooserWidgetDesktopFolderCallback
+wrap_FileChooserWidgetDesktopFolderCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@desktop-folder@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #desktopFolder callback
+@
+-}
+onFileChooserWidgetDesktopFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetDesktopFolderCallback -> m SignalHandlerId
+onFileChooserWidgetDesktopFolder obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetDesktopFolderCallback cb
+    cb'' <- mk_FileChooserWidgetDesktopFolderCallback cb'
+    connectSignalFunPtr obj "desktop-folder" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@desktop-folder@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #desktopFolder callback
+@
+-}
+afterFileChooserWidgetDesktopFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetDesktopFolderCallback -> m SignalHandlerId
+afterFileChooserWidgetDesktopFolder obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetDesktopFolderCallback cb
+    cb'' <- mk_FileChooserWidgetDesktopFolderCallback cb'
+    connectSignalFunPtr obj "desktop-folder" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::down-folder
+{- |
+The ::down-folder signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser go to a child of the current folder
+in the file hierarchy. The subfolder that will be used is displayed in the
+path bar widget of the file chooser. For example, if the path bar is showing
+\"\/foo\/bar\/baz\", with bar currently displayed, then this will cause the file
+chooser to switch to the \"baz\" subfolder.
+
+The default binding for this signal is @Alt + Down@.
+-}
+type FileChooserWidgetDownFolderCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetDownFolderCallback`@.
+noFileChooserWidgetDownFolderCallback :: Maybe FileChooserWidgetDownFolderCallback
+noFileChooserWidgetDownFolderCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetDownFolderCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetDownFolderCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetDownFolderCallback :: C_FileChooserWidgetDownFolderCallback -> IO (FunPtr C_FileChooserWidgetDownFolderCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetDownFolder :: MonadIO m => FileChooserWidgetDownFolderCallback -> m (GClosure C_FileChooserWidgetDownFolderCallback)
+genClosure_FileChooserWidgetDownFolder cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetDownFolderCallback cb
+    mk_FileChooserWidgetDownFolderCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetDownFolderCallback` into a `C_FileChooserWidgetDownFolderCallback`.
+wrap_FileChooserWidgetDownFolderCallback ::
+    FileChooserWidgetDownFolderCallback ->
+    C_FileChooserWidgetDownFolderCallback
+wrap_FileChooserWidgetDownFolderCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@down-folder@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #downFolder callback
+@
+-}
+onFileChooserWidgetDownFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetDownFolderCallback -> m SignalHandlerId
+onFileChooserWidgetDownFolder obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetDownFolderCallback cb
+    cb'' <- mk_FileChooserWidgetDownFolderCallback cb'
+    connectSignalFunPtr obj "down-folder" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@down-folder@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #downFolder callback
+@
+-}
+afterFileChooserWidgetDownFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetDownFolderCallback -> m SignalHandlerId
+afterFileChooserWidgetDownFolder obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetDownFolderCallback cb
+    cb'' <- mk_FileChooserWidgetDownFolderCallback cb'
+    connectSignalFunPtr obj "down-folder" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::home-folder
+{- |
+The ::home-folder signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser show the user\'s home
+folder in the file list.
+
+The default binding for this signal is @Alt + Home@.
+-}
+type FileChooserWidgetHomeFolderCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetHomeFolderCallback`@.
+noFileChooserWidgetHomeFolderCallback :: Maybe FileChooserWidgetHomeFolderCallback
+noFileChooserWidgetHomeFolderCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetHomeFolderCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetHomeFolderCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetHomeFolderCallback :: C_FileChooserWidgetHomeFolderCallback -> IO (FunPtr C_FileChooserWidgetHomeFolderCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetHomeFolder :: MonadIO m => FileChooserWidgetHomeFolderCallback -> m (GClosure C_FileChooserWidgetHomeFolderCallback)
+genClosure_FileChooserWidgetHomeFolder cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetHomeFolderCallback cb
+    mk_FileChooserWidgetHomeFolderCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetHomeFolderCallback` into a `C_FileChooserWidgetHomeFolderCallback`.
+wrap_FileChooserWidgetHomeFolderCallback ::
+    FileChooserWidgetHomeFolderCallback ->
+    C_FileChooserWidgetHomeFolderCallback
+wrap_FileChooserWidgetHomeFolderCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@home-folder@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #homeFolder callback
+@
+-}
+onFileChooserWidgetHomeFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetHomeFolderCallback -> m SignalHandlerId
+onFileChooserWidgetHomeFolder obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetHomeFolderCallback cb
+    cb'' <- mk_FileChooserWidgetHomeFolderCallback cb'
+    connectSignalFunPtr obj "home-folder" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@home-folder@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #homeFolder callback
+@
+-}
+afterFileChooserWidgetHomeFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetHomeFolderCallback -> m SignalHandlerId
+afterFileChooserWidgetHomeFolder obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetHomeFolderCallback cb
+    cb'' <- mk_FileChooserWidgetHomeFolderCallback cb'
+    connectSignalFunPtr obj "home-folder" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::location-popup
+{- |
+The ::location-popup signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser show a \"Location\" prompt which
+the user can use to manually type the name of the file he wishes to select.
+
+The default bindings for this signal are @Control + L@ with a /@path@/ string
+of \"\" (the empty string).  It is also bound to @\/@ with a /@path@/ string of
+\"@\/@\" (a slash):  this lets you type @\/@ and immediately type a path name.
+On Unix systems, this is bound to @~@ (tilde) with a /@path@/ string of \"~\"
+itself for access to home directories.
+-}
+type FileChooserWidgetLocationPopupCallback =
+    T.Text
+    {- ^ /@path@/: a string that gets put in the text entry for the file name -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetLocationPopupCallback`@.
+noFileChooserWidgetLocationPopupCallback :: Maybe FileChooserWidgetLocationPopupCallback
+noFileChooserWidgetLocationPopupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetLocationPopupCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetLocationPopupCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetLocationPopupCallback :: C_FileChooserWidgetLocationPopupCallback -> IO (FunPtr C_FileChooserWidgetLocationPopupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetLocationPopup :: MonadIO m => FileChooserWidgetLocationPopupCallback -> m (GClosure C_FileChooserWidgetLocationPopupCallback)
+genClosure_FileChooserWidgetLocationPopup cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetLocationPopupCallback cb
+    mk_FileChooserWidgetLocationPopupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetLocationPopupCallback` into a `C_FileChooserWidgetLocationPopupCallback`.
+wrap_FileChooserWidgetLocationPopupCallback ::
+    FileChooserWidgetLocationPopupCallback ->
+    C_FileChooserWidgetLocationPopupCallback
+wrap_FileChooserWidgetLocationPopupCallback _cb _ path _ = do
+    path' <- cstringToText path
+    _cb  path'
+
+
+{- |
+Connect a signal handler for the “@location-popup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #locationPopup callback
+@
+-}
+onFileChooserWidgetLocationPopup :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationPopupCallback -> m SignalHandlerId
+onFileChooserWidgetLocationPopup obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetLocationPopupCallback cb
+    cb'' <- mk_FileChooserWidgetLocationPopupCallback cb'
+    connectSignalFunPtr obj "location-popup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@location-popup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #locationPopup callback
+@
+-}
+afterFileChooserWidgetLocationPopup :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationPopupCallback -> m SignalHandlerId
+afterFileChooserWidgetLocationPopup obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetLocationPopupCallback cb
+    cb'' <- mk_FileChooserWidgetLocationPopupCallback cb'
+    connectSignalFunPtr obj "location-popup" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::location-popup-on-paste
+{- |
+The ::location-popup-on-paste signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser show a \"Location\" prompt when the user
+pastes into a 'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget'.
+
+The default binding for this signal is @Control + V@.
+-}
+type FileChooserWidgetLocationPopupOnPasteCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetLocationPopupOnPasteCallback`@.
+noFileChooserWidgetLocationPopupOnPasteCallback :: Maybe FileChooserWidgetLocationPopupOnPasteCallback
+noFileChooserWidgetLocationPopupOnPasteCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetLocationPopupOnPasteCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetLocationPopupOnPasteCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetLocationPopupOnPasteCallback :: C_FileChooserWidgetLocationPopupOnPasteCallback -> IO (FunPtr C_FileChooserWidgetLocationPopupOnPasteCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetLocationPopupOnPaste :: MonadIO m => FileChooserWidgetLocationPopupOnPasteCallback -> m (GClosure C_FileChooserWidgetLocationPopupOnPasteCallback)
+genClosure_FileChooserWidgetLocationPopupOnPaste cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetLocationPopupOnPasteCallback cb
+    mk_FileChooserWidgetLocationPopupOnPasteCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetLocationPopupOnPasteCallback` into a `C_FileChooserWidgetLocationPopupOnPasteCallback`.
+wrap_FileChooserWidgetLocationPopupOnPasteCallback ::
+    FileChooserWidgetLocationPopupOnPasteCallback ->
+    C_FileChooserWidgetLocationPopupOnPasteCallback
+wrap_FileChooserWidgetLocationPopupOnPasteCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@location-popup-on-paste@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #locationPopupOnPaste callback
+@
+-}
+onFileChooserWidgetLocationPopupOnPaste :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationPopupOnPasteCallback -> m SignalHandlerId
+onFileChooserWidgetLocationPopupOnPaste obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetLocationPopupOnPasteCallback cb
+    cb'' <- mk_FileChooserWidgetLocationPopupOnPasteCallback cb'
+    connectSignalFunPtr obj "location-popup-on-paste" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@location-popup-on-paste@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #locationPopupOnPaste callback
+@
+-}
+afterFileChooserWidgetLocationPopupOnPaste :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationPopupOnPasteCallback -> m SignalHandlerId
+afterFileChooserWidgetLocationPopupOnPaste obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetLocationPopupOnPasteCallback cb
+    cb'' <- mk_FileChooserWidgetLocationPopupOnPasteCallback cb'
+    connectSignalFunPtr obj "location-popup-on-paste" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::location-toggle-popup
+{- |
+The ::location-toggle-popup signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to toggle the visibility of a \"Location\" prompt which the user
+can use to manually type the name of the file he wishes to select.
+
+The default binding for this signal is @Control + L@.
+-}
+type FileChooserWidgetLocationTogglePopupCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetLocationTogglePopupCallback`@.
+noFileChooserWidgetLocationTogglePopupCallback :: Maybe FileChooserWidgetLocationTogglePopupCallback
+noFileChooserWidgetLocationTogglePopupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetLocationTogglePopupCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetLocationTogglePopupCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetLocationTogglePopupCallback :: C_FileChooserWidgetLocationTogglePopupCallback -> IO (FunPtr C_FileChooserWidgetLocationTogglePopupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetLocationTogglePopup :: MonadIO m => FileChooserWidgetLocationTogglePopupCallback -> m (GClosure C_FileChooserWidgetLocationTogglePopupCallback)
+genClosure_FileChooserWidgetLocationTogglePopup cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetLocationTogglePopupCallback cb
+    mk_FileChooserWidgetLocationTogglePopupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetLocationTogglePopupCallback` into a `C_FileChooserWidgetLocationTogglePopupCallback`.
+wrap_FileChooserWidgetLocationTogglePopupCallback ::
+    FileChooserWidgetLocationTogglePopupCallback ->
+    C_FileChooserWidgetLocationTogglePopupCallback
+wrap_FileChooserWidgetLocationTogglePopupCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@location-toggle-popup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #locationTogglePopup callback
+@
+-}
+onFileChooserWidgetLocationTogglePopup :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationTogglePopupCallback -> m SignalHandlerId
+onFileChooserWidgetLocationTogglePopup obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetLocationTogglePopupCallback cb
+    cb'' <- mk_FileChooserWidgetLocationTogglePopupCallback cb'
+    connectSignalFunPtr obj "location-toggle-popup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@location-toggle-popup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #locationTogglePopup callback
+@
+-}
+afterFileChooserWidgetLocationTogglePopup :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetLocationTogglePopupCallback -> m SignalHandlerId
+afterFileChooserWidgetLocationTogglePopup obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetLocationTogglePopupCallback cb
+    cb'' <- mk_FileChooserWidgetLocationTogglePopupCallback cb'
+    connectSignalFunPtr obj "location-toggle-popup" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::places-shortcut
+{- |
+The ::places-shortcut signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to move the focus to the places sidebar.
+
+The default binding for this signal is @Alt + P@.
+-}
+type FileChooserWidgetPlacesShortcutCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetPlacesShortcutCallback`@.
+noFileChooserWidgetPlacesShortcutCallback :: Maybe FileChooserWidgetPlacesShortcutCallback
+noFileChooserWidgetPlacesShortcutCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetPlacesShortcutCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetPlacesShortcutCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetPlacesShortcutCallback :: C_FileChooserWidgetPlacesShortcutCallback -> IO (FunPtr C_FileChooserWidgetPlacesShortcutCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetPlacesShortcut :: MonadIO m => FileChooserWidgetPlacesShortcutCallback -> m (GClosure C_FileChooserWidgetPlacesShortcutCallback)
+genClosure_FileChooserWidgetPlacesShortcut cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetPlacesShortcutCallback cb
+    mk_FileChooserWidgetPlacesShortcutCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetPlacesShortcutCallback` into a `C_FileChooserWidgetPlacesShortcutCallback`.
+wrap_FileChooserWidgetPlacesShortcutCallback ::
+    FileChooserWidgetPlacesShortcutCallback ->
+    C_FileChooserWidgetPlacesShortcutCallback
+wrap_FileChooserWidgetPlacesShortcutCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@places-shortcut@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #placesShortcut callback
+@
+-}
+onFileChooserWidgetPlacesShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetPlacesShortcutCallback -> m SignalHandlerId
+onFileChooserWidgetPlacesShortcut obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetPlacesShortcutCallback cb
+    cb'' <- mk_FileChooserWidgetPlacesShortcutCallback cb'
+    connectSignalFunPtr obj "places-shortcut" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@places-shortcut@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #placesShortcut callback
+@
+-}
+afterFileChooserWidgetPlacesShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetPlacesShortcutCallback -> m SignalHandlerId
+afterFileChooserWidgetPlacesShortcut obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetPlacesShortcutCallback cb
+    cb'' <- mk_FileChooserWidgetPlacesShortcutCallback cb'
+    connectSignalFunPtr obj "places-shortcut" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::quick-bookmark
+{- |
+The ::quick-bookmark signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser switch to the bookmark specified
+in the /@bookmarkIndex@/ parameter. For example, if you have three bookmarks,
+you can pass 0, 1, 2 to this signal to switch to each of them, respectively.
+
+The default binding for this signal is @Alt + 1@, @Alt + 2@,
+etc. until @Alt + 0@.  Note that in the default binding, that
+@Alt + 1@ is actually defined to switch to the bookmark at index
+0, and so on successively; @Alt + 0@ is defined to switch to the
+bookmark at index 10.
+-}
+type FileChooserWidgetQuickBookmarkCallback =
+    Int32
+    {- ^ /@bookmarkIndex@/: the number of the bookmark to switch to -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetQuickBookmarkCallback`@.
+noFileChooserWidgetQuickBookmarkCallback :: Maybe FileChooserWidgetQuickBookmarkCallback
+noFileChooserWidgetQuickBookmarkCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetQuickBookmarkCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetQuickBookmarkCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetQuickBookmarkCallback :: C_FileChooserWidgetQuickBookmarkCallback -> IO (FunPtr C_FileChooserWidgetQuickBookmarkCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetQuickBookmark :: MonadIO m => FileChooserWidgetQuickBookmarkCallback -> m (GClosure C_FileChooserWidgetQuickBookmarkCallback)
+genClosure_FileChooserWidgetQuickBookmark cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetQuickBookmarkCallback cb
+    mk_FileChooserWidgetQuickBookmarkCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetQuickBookmarkCallback` into a `C_FileChooserWidgetQuickBookmarkCallback`.
+wrap_FileChooserWidgetQuickBookmarkCallback ::
+    FileChooserWidgetQuickBookmarkCallback ->
+    C_FileChooserWidgetQuickBookmarkCallback
+wrap_FileChooserWidgetQuickBookmarkCallback _cb _ bookmarkIndex _ = do
+    _cb  bookmarkIndex
+
+
+{- |
+Connect a signal handler for the “@quick-bookmark@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #quickBookmark callback
+@
+-}
+onFileChooserWidgetQuickBookmark :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetQuickBookmarkCallback -> m SignalHandlerId
+onFileChooserWidgetQuickBookmark obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetQuickBookmarkCallback cb
+    cb'' <- mk_FileChooserWidgetQuickBookmarkCallback cb'
+    connectSignalFunPtr obj "quick-bookmark" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@quick-bookmark@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #quickBookmark callback
+@
+-}
+afterFileChooserWidgetQuickBookmark :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetQuickBookmarkCallback -> m SignalHandlerId
+afterFileChooserWidgetQuickBookmark obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetQuickBookmarkCallback cb
+    cb'' <- mk_FileChooserWidgetQuickBookmarkCallback cb'
+    connectSignalFunPtr obj "quick-bookmark" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::recent-shortcut
+{- |
+The ::recent-shortcut signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser show the Recent location.
+
+The default binding for this signal is @Alt + R@.
+-}
+type FileChooserWidgetRecentShortcutCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetRecentShortcutCallback`@.
+noFileChooserWidgetRecentShortcutCallback :: Maybe FileChooserWidgetRecentShortcutCallback
+noFileChooserWidgetRecentShortcutCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetRecentShortcutCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetRecentShortcutCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetRecentShortcutCallback :: C_FileChooserWidgetRecentShortcutCallback -> IO (FunPtr C_FileChooserWidgetRecentShortcutCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetRecentShortcut :: MonadIO m => FileChooserWidgetRecentShortcutCallback -> m (GClosure C_FileChooserWidgetRecentShortcutCallback)
+genClosure_FileChooserWidgetRecentShortcut cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetRecentShortcutCallback cb
+    mk_FileChooserWidgetRecentShortcutCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetRecentShortcutCallback` into a `C_FileChooserWidgetRecentShortcutCallback`.
+wrap_FileChooserWidgetRecentShortcutCallback ::
+    FileChooserWidgetRecentShortcutCallback ->
+    C_FileChooserWidgetRecentShortcutCallback
+wrap_FileChooserWidgetRecentShortcutCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@recent-shortcut@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #recentShortcut callback
+@
+-}
+onFileChooserWidgetRecentShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetRecentShortcutCallback -> m SignalHandlerId
+onFileChooserWidgetRecentShortcut obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetRecentShortcutCallback cb
+    cb'' <- mk_FileChooserWidgetRecentShortcutCallback cb'
+    connectSignalFunPtr obj "recent-shortcut" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@recent-shortcut@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #recentShortcut callback
+@
+-}
+afterFileChooserWidgetRecentShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetRecentShortcutCallback -> m SignalHandlerId
+afterFileChooserWidgetRecentShortcut obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetRecentShortcutCallback cb
+    cb'' <- mk_FileChooserWidgetRecentShortcutCallback cb'
+    connectSignalFunPtr obj "recent-shortcut" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::search-shortcut
+{- |
+The ::search-shortcut signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser show the search entry.
+
+The default binding for this signal is @Alt + S@.
+-}
+type FileChooserWidgetSearchShortcutCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetSearchShortcutCallback`@.
+noFileChooserWidgetSearchShortcutCallback :: Maybe FileChooserWidgetSearchShortcutCallback
+noFileChooserWidgetSearchShortcutCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetSearchShortcutCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetSearchShortcutCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetSearchShortcutCallback :: C_FileChooserWidgetSearchShortcutCallback -> IO (FunPtr C_FileChooserWidgetSearchShortcutCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetSearchShortcut :: MonadIO m => FileChooserWidgetSearchShortcutCallback -> m (GClosure C_FileChooserWidgetSearchShortcutCallback)
+genClosure_FileChooserWidgetSearchShortcut cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetSearchShortcutCallback cb
+    mk_FileChooserWidgetSearchShortcutCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetSearchShortcutCallback` into a `C_FileChooserWidgetSearchShortcutCallback`.
+wrap_FileChooserWidgetSearchShortcutCallback ::
+    FileChooserWidgetSearchShortcutCallback ->
+    C_FileChooserWidgetSearchShortcutCallback
+wrap_FileChooserWidgetSearchShortcutCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@search-shortcut@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #searchShortcut callback
+@
+-}
+onFileChooserWidgetSearchShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetSearchShortcutCallback -> m SignalHandlerId
+onFileChooserWidgetSearchShortcut obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetSearchShortcutCallback cb
+    cb'' <- mk_FileChooserWidgetSearchShortcutCallback cb'
+    connectSignalFunPtr obj "search-shortcut" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@search-shortcut@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #searchShortcut callback
+@
+-}
+afterFileChooserWidgetSearchShortcut :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetSearchShortcutCallback -> m SignalHandlerId
+afterFileChooserWidgetSearchShortcut obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetSearchShortcutCallback cb
+    cb'' <- mk_FileChooserWidgetSearchShortcutCallback cb'
+    connectSignalFunPtr obj "search-shortcut" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::show-hidden
+{- |
+The ::show-hidden signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser display hidden files.
+
+The default binding for this signal is @Control + H@.
+-}
+type FileChooserWidgetShowHiddenCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetShowHiddenCallback`@.
+noFileChooserWidgetShowHiddenCallback :: Maybe FileChooserWidgetShowHiddenCallback
+noFileChooserWidgetShowHiddenCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetShowHiddenCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetShowHiddenCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetShowHiddenCallback :: C_FileChooserWidgetShowHiddenCallback -> IO (FunPtr C_FileChooserWidgetShowHiddenCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetShowHidden :: MonadIO m => FileChooserWidgetShowHiddenCallback -> m (GClosure C_FileChooserWidgetShowHiddenCallback)
+genClosure_FileChooserWidgetShowHidden cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetShowHiddenCallback cb
+    mk_FileChooserWidgetShowHiddenCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetShowHiddenCallback` into a `C_FileChooserWidgetShowHiddenCallback`.
+wrap_FileChooserWidgetShowHiddenCallback ::
+    FileChooserWidgetShowHiddenCallback ->
+    C_FileChooserWidgetShowHiddenCallback
+wrap_FileChooserWidgetShowHiddenCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@show-hidden@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #showHidden callback
+@
+-}
+onFileChooserWidgetShowHidden :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetShowHiddenCallback -> m SignalHandlerId
+onFileChooserWidgetShowHidden obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetShowHiddenCallback cb
+    cb'' <- mk_FileChooserWidgetShowHiddenCallback cb'
+    connectSignalFunPtr obj "show-hidden" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show-hidden@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #showHidden callback
+@
+-}
+afterFileChooserWidgetShowHidden :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetShowHiddenCallback -> m SignalHandlerId
+afterFileChooserWidgetShowHidden obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetShowHiddenCallback cb
+    cb'' <- mk_FileChooserWidgetShowHiddenCallback cb'
+    connectSignalFunPtr obj "show-hidden" cb'' SignalConnectAfter
+
+
+-- signal FileChooserWidget::up-folder
+{- |
+The ::up-folder signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+This is used to make the file chooser go to the parent of the current folder
+in the file hierarchy.
+
+The default binding for this signal is @Alt + Up@.
+-}
+type FileChooserWidgetUpFolderCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FileChooserWidgetUpFolderCallback`@.
+noFileChooserWidgetUpFolderCallback :: Maybe FileChooserWidgetUpFolderCallback
+noFileChooserWidgetUpFolderCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FileChooserWidgetUpFolderCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FileChooserWidgetUpFolderCallback`.
+foreign import ccall "wrapper"
+    mk_FileChooserWidgetUpFolderCallback :: C_FileChooserWidgetUpFolderCallback -> IO (FunPtr C_FileChooserWidgetUpFolderCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FileChooserWidgetUpFolder :: MonadIO m => FileChooserWidgetUpFolderCallback -> m (GClosure C_FileChooserWidgetUpFolderCallback)
+genClosure_FileChooserWidgetUpFolder cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetUpFolderCallback cb
+    mk_FileChooserWidgetUpFolderCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FileChooserWidgetUpFolderCallback` into a `C_FileChooserWidgetUpFolderCallback`.
+wrap_FileChooserWidgetUpFolderCallback ::
+    FileChooserWidgetUpFolderCallback ->
+    C_FileChooserWidgetUpFolderCallback
+wrap_FileChooserWidgetUpFolderCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@up-folder@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fileChooserWidget #upFolder callback
+@
+-}
+onFileChooserWidgetUpFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetUpFolderCallback -> m SignalHandlerId
+onFileChooserWidgetUpFolder obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetUpFolderCallback cb
+    cb'' <- mk_FileChooserWidgetUpFolderCallback cb'
+    connectSignalFunPtr obj "up-folder" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@up-folder@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fileChooserWidget #upFolder callback
+@
+-}
+afterFileChooserWidgetUpFolder :: (IsFileChooserWidget a, MonadIO m) => a -> FileChooserWidgetUpFolderCallback -> m SignalHandlerId
+afterFileChooserWidgetUpFolder obj cb = liftIO $ do
+    let cb' = wrap_FileChooserWidgetUpFolderCallback cb
+    cb'' <- mk_FileChooserWidgetUpFolderCallback cb'
+    connectSignalFunPtr obj "up-folder" cb'' SignalConnectAfter
+
+
+-- VVV Prop "search-mode"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@search-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooserWidget #searchMode
+@
+-}
+getFileChooserWidgetSearchMode :: (MonadIO m, IsFileChooserWidget o) => o -> m Bool
+getFileChooserWidgetSearchMode obj = liftIO $ B.Properties.getObjectPropertyBool obj "search-mode"
+
+{- |
+Set the value of the “@search-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileChooserWidget [ #searchMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileChooserWidgetSearchMode :: (MonadIO m, IsFileChooserWidget o) => o -> Bool -> m ()
+setFileChooserWidgetSearchMode obj val = liftIO $ B.Properties.setObjectPropertyBool obj "search-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@search-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFileChooserWidgetSearchMode :: (IsFileChooserWidget o) => Bool -> IO (GValueConstruct o)
+constructFileChooserWidgetSearchMode val = B.Properties.constructObjectPropertyBool "search-mode" val
+
+#if ENABLE_OVERLOADING
+data FileChooserWidgetSearchModePropertyInfo
+instance AttrInfo FileChooserWidgetSearchModePropertyInfo where
+    type AttrAllowedOps FileChooserWidgetSearchModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FileChooserWidgetSearchModePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FileChooserWidgetSearchModePropertyInfo = IsFileChooserWidget
+    type AttrGetType FileChooserWidgetSearchModePropertyInfo = Bool
+    type AttrLabel FileChooserWidgetSearchModePropertyInfo = "search-mode"
+    type AttrOrigin FileChooserWidgetSearchModePropertyInfo = FileChooserWidget
+    attrGet _ = getFileChooserWidgetSearchMode
+    attrSet _ = setFileChooserWidgetSearchMode
+    attrConstruct _ = constructFileChooserWidgetSearchMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "subtitle"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@subtitle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileChooserWidget #subtitle
+@
+-}
+getFileChooserWidgetSubtitle :: (MonadIO m, IsFileChooserWidget o) => o -> m (Maybe T.Text)
+getFileChooserWidgetSubtitle obj = liftIO $ B.Properties.getObjectPropertyString obj "subtitle"
+
+#if ENABLE_OVERLOADING
+data FileChooserWidgetSubtitlePropertyInfo
+instance AttrInfo FileChooserWidgetSubtitlePropertyInfo where
+    type AttrAllowedOps FileChooserWidgetSubtitlePropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileChooserWidgetSubtitlePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint FileChooserWidgetSubtitlePropertyInfo = IsFileChooserWidget
+    type AttrGetType FileChooserWidgetSubtitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel FileChooserWidgetSubtitlePropertyInfo = "subtitle"
+    type AttrOrigin FileChooserWidgetSubtitlePropertyInfo = FileChooserWidget
+    attrGet _ = getFileChooserWidgetSubtitle
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FileChooserWidget
+type instance O.AttributeList FileChooserWidget = FileChooserWidgetAttributeList
+type FileChooserWidgetAttributeList = ('[ '("action", Gtk.FileChooser.FileChooserActionPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("createFolders", Gtk.FileChooser.FileChooserCreateFoldersPropertyInfo), '("doOverwriteConfirmation", Gtk.FileChooser.FileChooserDoOverwriteConfirmationPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("extraWidget", Gtk.FileChooser.FileChooserExtraWidgetPropertyInfo), '("filter", Gtk.FileChooser.FileChooserFilterPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("localOnly", Gtk.FileChooser.FileChooserLocalOnlyPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("previewWidget", Gtk.FileChooser.FileChooserPreviewWidgetPropertyInfo), '("previewWidgetActive", Gtk.FileChooser.FileChooserPreviewWidgetActivePropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("searchMode", FileChooserWidgetSearchModePropertyInfo), '("selectMultiple", Gtk.FileChooser.FileChooserSelectMultiplePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showHidden", Gtk.FileChooser.FileChooserShowHiddenPropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("subtitle", FileChooserWidgetSubtitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("usePreviewLabel", Gtk.FileChooser.FileChooserUsePreviewLabelPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+fileChooserWidgetSearchMode :: AttrLabelProxy "searchMode"
+fileChooserWidgetSearchMode = AttrLabelProxy
+
+fileChooserWidgetSubtitle :: AttrLabelProxy "subtitle"
+fileChooserWidgetSubtitle = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data FileChooserWidgetDesktopFolderSignalInfo
+instance SignalInfo FileChooserWidgetDesktopFolderSignalInfo where
+    type HaskellCallbackType FileChooserWidgetDesktopFolderSignalInfo = FileChooserWidgetDesktopFolderCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetDesktopFolderCallback cb
+        cb'' <- mk_FileChooserWidgetDesktopFolderCallback cb'
+        connectSignalFunPtr obj "desktop-folder" cb'' connectMode
+
+data FileChooserWidgetDownFolderSignalInfo
+instance SignalInfo FileChooserWidgetDownFolderSignalInfo where
+    type HaskellCallbackType FileChooserWidgetDownFolderSignalInfo = FileChooserWidgetDownFolderCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetDownFolderCallback cb
+        cb'' <- mk_FileChooserWidgetDownFolderCallback cb'
+        connectSignalFunPtr obj "down-folder" cb'' connectMode
+
+data FileChooserWidgetHomeFolderSignalInfo
+instance SignalInfo FileChooserWidgetHomeFolderSignalInfo where
+    type HaskellCallbackType FileChooserWidgetHomeFolderSignalInfo = FileChooserWidgetHomeFolderCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetHomeFolderCallback cb
+        cb'' <- mk_FileChooserWidgetHomeFolderCallback cb'
+        connectSignalFunPtr obj "home-folder" cb'' connectMode
+
+data FileChooserWidgetLocationPopupSignalInfo
+instance SignalInfo FileChooserWidgetLocationPopupSignalInfo where
+    type HaskellCallbackType FileChooserWidgetLocationPopupSignalInfo = FileChooserWidgetLocationPopupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetLocationPopupCallback cb
+        cb'' <- mk_FileChooserWidgetLocationPopupCallback cb'
+        connectSignalFunPtr obj "location-popup" cb'' connectMode
+
+data FileChooserWidgetLocationPopupOnPasteSignalInfo
+instance SignalInfo FileChooserWidgetLocationPopupOnPasteSignalInfo where
+    type HaskellCallbackType FileChooserWidgetLocationPopupOnPasteSignalInfo = FileChooserWidgetLocationPopupOnPasteCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetLocationPopupOnPasteCallback cb
+        cb'' <- mk_FileChooserWidgetLocationPopupOnPasteCallback cb'
+        connectSignalFunPtr obj "location-popup-on-paste" cb'' connectMode
+
+data FileChooserWidgetLocationTogglePopupSignalInfo
+instance SignalInfo FileChooserWidgetLocationTogglePopupSignalInfo where
+    type HaskellCallbackType FileChooserWidgetLocationTogglePopupSignalInfo = FileChooserWidgetLocationTogglePopupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetLocationTogglePopupCallback cb
+        cb'' <- mk_FileChooserWidgetLocationTogglePopupCallback cb'
+        connectSignalFunPtr obj "location-toggle-popup" cb'' connectMode
+
+data FileChooserWidgetPlacesShortcutSignalInfo
+instance SignalInfo FileChooserWidgetPlacesShortcutSignalInfo where
+    type HaskellCallbackType FileChooserWidgetPlacesShortcutSignalInfo = FileChooserWidgetPlacesShortcutCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetPlacesShortcutCallback cb
+        cb'' <- mk_FileChooserWidgetPlacesShortcutCallback cb'
+        connectSignalFunPtr obj "places-shortcut" cb'' connectMode
+
+data FileChooserWidgetQuickBookmarkSignalInfo
+instance SignalInfo FileChooserWidgetQuickBookmarkSignalInfo where
+    type HaskellCallbackType FileChooserWidgetQuickBookmarkSignalInfo = FileChooserWidgetQuickBookmarkCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetQuickBookmarkCallback cb
+        cb'' <- mk_FileChooserWidgetQuickBookmarkCallback cb'
+        connectSignalFunPtr obj "quick-bookmark" cb'' connectMode
+
+data FileChooserWidgetRecentShortcutSignalInfo
+instance SignalInfo FileChooserWidgetRecentShortcutSignalInfo where
+    type HaskellCallbackType FileChooserWidgetRecentShortcutSignalInfo = FileChooserWidgetRecentShortcutCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetRecentShortcutCallback cb
+        cb'' <- mk_FileChooserWidgetRecentShortcutCallback cb'
+        connectSignalFunPtr obj "recent-shortcut" cb'' connectMode
+
+data FileChooserWidgetSearchShortcutSignalInfo
+instance SignalInfo FileChooserWidgetSearchShortcutSignalInfo where
+    type HaskellCallbackType FileChooserWidgetSearchShortcutSignalInfo = FileChooserWidgetSearchShortcutCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetSearchShortcutCallback cb
+        cb'' <- mk_FileChooserWidgetSearchShortcutCallback cb'
+        connectSignalFunPtr obj "search-shortcut" cb'' connectMode
+
+data FileChooserWidgetShowHiddenSignalInfo
+instance SignalInfo FileChooserWidgetShowHiddenSignalInfo where
+    type HaskellCallbackType FileChooserWidgetShowHiddenSignalInfo = FileChooserWidgetShowHiddenCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetShowHiddenCallback cb
+        cb'' <- mk_FileChooserWidgetShowHiddenCallback cb'
+        connectSignalFunPtr obj "show-hidden" cb'' connectMode
+
+data FileChooserWidgetUpFolderSignalInfo
+instance SignalInfo FileChooserWidgetUpFolderSignalInfo where
+    type HaskellCallbackType FileChooserWidgetUpFolderSignalInfo = FileChooserWidgetUpFolderCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FileChooserWidgetUpFolderCallback cb
+        cb'' <- mk_FileChooserWidgetUpFolderCallback cb'
+        connectSignalFunPtr obj "up-folder" cb'' connectMode
+
+type instance O.SignalList FileChooserWidget = FileChooserWidgetSignalList
+type FileChooserWidgetSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("confirmOverwrite", Gtk.FileChooser.FileChooserConfirmOverwriteSignalInfo), '("currentFolderChanged", Gtk.FileChooser.FileChooserCurrentFolderChangedSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("desktopFolder", FileChooserWidgetDesktopFolderSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("downFolder", FileChooserWidgetDownFolderSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("fileActivated", Gtk.FileChooser.FileChooserFileActivatedSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("homeFolder", FileChooserWidgetHomeFolderSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("locationPopup", FileChooserWidgetLocationPopupSignalInfo), '("locationPopupOnPaste", FileChooserWidgetLocationPopupOnPasteSignalInfo), '("locationTogglePopup", FileChooserWidgetLocationTogglePopupSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("placesShortcut", FileChooserWidgetPlacesShortcutSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("quickBookmark", FileChooserWidgetQuickBookmarkSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("recentShortcut", FileChooserWidgetRecentShortcutSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("searchShortcut", FileChooserWidgetSearchShortcutSignalInfo), '("selectionChanged", Gtk.FileChooser.FileChooserSelectionChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("showHidden", FileChooserWidgetShowHiddenSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("upFolder", FileChooserWidgetUpFolderSignalInfo), '("updatePreview", Gtk.FileChooser.FileChooserUpdatePreviewSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FileChooserWidget::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "FileChooserAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Open or save mode for the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FileChooserWidget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_chooser_widget_new" gtk_file_chooser_widget_new :: 
+    CUInt ->                                -- action : TInterface (Name {namespace = "Gtk", name = "FileChooserAction"})
+    IO (Ptr FileChooserWidget)
+
+{- |
+Creates a new 'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget'. This is a file chooser widget that can
+be embedded in custom windows, and it is the same widget that is used by
+'GI.Gtk.Objects.FileChooserDialog.FileChooserDialog'.
+
+/Since: 2.4/
+-}
+fileChooserWidgetNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.FileChooserAction
+    {- ^ /@action@/: Open or save mode for the widget -}
+    -> m FileChooserWidget
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FileChooserWidget.FileChooserWidget' -}
+fileChooserWidgetNew action = liftIO $ do
+    let action' = (fromIntegral . fromEnum) action
+    result <- gtk_file_chooser_widget_new action'
+    checkUnexpectedReturnNULL "fileChooserWidgetNew" result
+    result' <- (newObject FileChooserWidget) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/FileChooserWidget.hs-boot b/GI/Gtk/Objects/FileChooserWidget.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileChooserWidget.hs-boot
@@ -0,0 +1,71 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FileChooserWidget where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FileChooserWidget = FileChooserWidget (ManagedPtr FileChooserWidget)
+instance GObject FileChooserWidget where
+class (GObject o, O.IsDescendantOf FileChooserWidget o) => IsFileChooserWidget o
+instance (GObject o, O.IsDescendantOf FileChooserWidget o) => IsFileChooserWidget o
+instance O.HasParentTypes FileChooserWidget
+#if ENABLE_OVERLOADING
+data FileChooserWidgetSearchModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetSubtitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetDesktopFolderSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetDownFolderSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetHomeFolderSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetLocationPopupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetLocationPopupOnPasteSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetLocationTogglePopupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetPlacesShortcutSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetQuickBookmarkSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetRecentShortcutSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetSearchShortcutSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetShowHiddenSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileChooserWidgetUpFolderSignalInfo
+#endif
diff --git a/GI/Gtk/Objects/FileFilter.hs b/GI/Gtk/Objects/FileFilter.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileFilter.hs
@@ -0,0 +1,727 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkFileFilter can be used to restrict the files being shown in a
+'GI.Gtk.Interfaces.FileChooser.FileChooser'. Files can be filtered based on their name (with
+'GI.Gtk.Objects.FileFilter.fileFilterAddPattern'), on their mime type (with
+'GI.Gtk.Objects.FileFilter.fileFilterAddMimeType'), or by a custom filter function
+(with 'GI.Gtk.Objects.FileFilter.fileFilterAddCustom').
+
+Filtering by mime types handles aliasing and subclassing of mime
+types; e.g. a filter for text\/plain also matches a file with mime
+type application\/rtf, since application\/rtf is a subclass of
+text\/plain. Note that 'GI.Gtk.Objects.FileFilter.FileFilter' allows wildcards for the
+subtype of a mime type, so you can e.g. filter for image\/\\*.
+
+Normally, filters are used by adding them to a 'GI.Gtk.Interfaces.FileChooser.FileChooser',
+see 'GI.Gtk.Interfaces.FileChooser.fileChooserAddFilter', but it is also possible
+to manually use a filter on a file with 'GI.Gtk.Objects.FileFilter.fileFilterFilter'.
+
+= GtkFileFilter as GtkBuildable
+
+The GtkFileFilter implementation of the GtkBuildable interface
+supports adding rules using the \<mime-types>, \<patterns> and
+\<applications> elements and listing the rules within. Specifying
+a \<mime-type> or \<pattern> has the same effect as as calling
+'GI.Gtk.Objects.FileFilter.fileFilterAddMimeType' or 'GI.Gtk.Objects.FileFilter.fileFilterAddPattern'.
+
+An example of a UI definition fragment specifying GtkFileFilter
+rules:
+>
+><object class="GtkFileFilter">
+>  <mime-types>
+>    <mime-type>text/plain</mime-type>
+>    <mime-type>image/ *</mime-type>
+>  </mime-types>
+>  <patterns>
+>    <pattern>*.txt</pattern>
+>    <pattern>*.png</pattern>
+>  </patterns>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FileFilter
+    ( 
+
+-- * Exported types
+    FileFilter(..)                          ,
+    IsFileFilter                            ,
+    toFileFilter                            ,
+    noFileFilter                            ,
+
+
+ -- * Methods
+-- ** addCustom #method:addCustom#
+
+#if ENABLE_OVERLOADING
+    FileFilterAddCustomMethodInfo           ,
+#endif
+    fileFilterAddCustom                     ,
+
+
+-- ** addMimeType #method:addMimeType#
+
+#if ENABLE_OVERLOADING
+    FileFilterAddMimeTypeMethodInfo         ,
+#endif
+    fileFilterAddMimeType                   ,
+
+
+-- ** addPattern #method:addPattern#
+
+#if ENABLE_OVERLOADING
+    FileFilterAddPatternMethodInfo          ,
+#endif
+    fileFilterAddPattern                    ,
+
+
+-- ** addPixbufFormats #method:addPixbufFormats#
+
+#if ENABLE_OVERLOADING
+    FileFilterAddPixbufFormatsMethodInfo    ,
+#endif
+    fileFilterAddPixbufFormats              ,
+
+
+-- ** filter #method:filter#
+
+#if ENABLE_OVERLOADING
+    FileFilterFilterMethodInfo              ,
+#endif
+    fileFilterFilter                        ,
+
+
+-- ** getName #method:getName#
+
+#if ENABLE_OVERLOADING
+    FileFilterGetNameMethodInfo             ,
+#endif
+    fileFilterGetName                       ,
+
+
+-- ** getNeeded #method:getNeeded#
+
+#if ENABLE_OVERLOADING
+    FileFilterGetNeededMethodInfo           ,
+#endif
+    fileFilterGetNeeded                     ,
+
+
+-- ** new #method:new#
+
+    fileFilterNew                           ,
+
+
+-- ** newFromGvariant #method:newFromGvariant#
+
+    fileFilterNewFromGvariant               ,
+
+
+-- ** setName #method:setName#
+
+#if ENABLE_OVERLOADING
+    FileFilterSetNameMethodInfo             ,
+#endif
+    fileFilterSetName                       ,
+
+
+-- ** toGvariant #method:toGvariant#
+
+#if ENABLE_OVERLOADING
+    FileFilterToGvariantMethodInfo          ,
+#endif
+    fileFilterToGvariant                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Structs.FileFilterInfo as Gtk.FileFilterInfo
+
+-- | Memory-managed wrapper type.
+newtype FileFilter = FileFilter (ManagedPtr FileFilter)
+foreign import ccall "gtk_file_filter_get_type"
+    c_gtk_file_filter_get_type :: IO GType
+
+instance GObject FileFilter where
+    gobjectType = c_gtk_file_filter_get_type
+    
+
+-- | Type class for types which can be safely cast to `FileFilter`, for instance with `toFileFilter`.
+class (GObject o, O.IsDescendantOf FileFilter o) => IsFileFilter o
+instance (GObject o, O.IsDescendantOf FileFilter o) => IsFileFilter o
+
+instance O.HasParentTypes FileFilter
+type instance O.ParentTypes FileFilter = '[GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `FileFilter`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFileFilter :: (MonadIO m, IsFileFilter o) => o -> m FileFilter
+toFileFilter = liftIO . unsafeCastTo FileFilter
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FileFilter`.
+noFileFilter :: Maybe FileFilter
+noFileFilter = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFileFilterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileFilterMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFileFilterMethod "addCustom" o = FileFilterAddCustomMethodInfo
+    ResolveFileFilterMethod "addMimeType" o = FileFilterAddMimeTypeMethodInfo
+    ResolveFileFilterMethod "addPattern" o = FileFilterAddPatternMethodInfo
+    ResolveFileFilterMethod "addPixbufFormats" o = FileFilterAddPixbufFormatsMethodInfo
+    ResolveFileFilterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFileFilterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFileFilterMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFileFilterMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFileFilterMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFileFilterMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFileFilterMethod "filter" o = FileFilterFilterMethodInfo
+    ResolveFileFilterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFileFilterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFileFilterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFileFilterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFileFilterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFileFilterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFileFilterMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFileFilterMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFileFilterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFileFilterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFileFilterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFileFilterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFileFilterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFileFilterMethod "toGvariant" o = FileFilterToGvariantMethodInfo
+    ResolveFileFilterMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFileFilterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFileFilterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFileFilterMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFileFilterMethod "getName" o = FileFilterGetNameMethodInfo
+    ResolveFileFilterMethod "getNeeded" o = FileFilterGetNeededMethodInfo
+    ResolveFileFilterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFileFilterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFileFilterMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFileFilterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFileFilterMethod "setName" o = FileFilterSetNameMethodInfo
+    ResolveFileFilterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFileFilterMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFileFilterMethod t FileFilter, O.MethodInfo info FileFilter p) => OL.IsLabel t (FileFilter -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FileFilter
+type instance O.AttributeList FileFilter = FileFilterAttributeList
+type FileFilterAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FileFilter = FileFilterSignalList
+type FileFilterSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FileFilter::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FileFilter"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_new" gtk_file_filter_new :: 
+    IO (Ptr FileFilter)
+
+{- |
+Creates a new 'GI.Gtk.Objects.FileFilter.FileFilter' with no rules added to it.
+Such a filter doesn’t accept any files, so is not
+particularly useful until you add rules with
+'GI.Gtk.Objects.FileFilter.fileFilterAddMimeType', 'GI.Gtk.Objects.FileFilter.fileFilterAddPattern',
+or 'GI.Gtk.Objects.FileFilter.fileFilterAddCustom'. To create a filter
+that accepts any file, use:
+
+=== /C code/
+>
+>GtkFileFilter *filter = gtk_file_filter_new ();
+>gtk_file_filter_add_pattern (filter, "*");
+
+
+/Since: 2.4/
+-}
+fileFilterNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m FileFilter
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+fileFilterNew  = liftIO $ do
+    result <- gtk_file_filter_new
+    checkUnexpectedReturnNULL "fileFilterNew" result
+    result' <- (newObject FileFilter) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FileFilter::new_from_gvariant
+-- method type : Constructor
+-- Args : [Arg {argCName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an a{sv} #GVariant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FileFilter"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_new_from_gvariant" gtk_file_filter_new_from_gvariant :: 
+    Ptr GVariant ->                         -- variant : TVariant
+    IO (Ptr FileFilter)
+
+{- |
+Deserialize a file filter from an a{sv} variant in
+the format produced by 'GI.Gtk.Objects.FileFilter.fileFilterToGvariant'.
+
+/Since: 3.22/
+-}
+fileFilterNewFromGvariant ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GVariant
+    {- ^ /@variant@/: an a{sv} 'GVariant' -}
+    -> m FileFilter
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FileFilter.FileFilter' object -}
+fileFilterNewFromGvariant variant = liftIO $ do
+    variant' <- unsafeManagedPtrGetPtr variant
+    result <- gtk_file_filter_new_from_gvariant variant'
+    checkUnexpectedReturnNULL "fileFilterNewFromGvariant" result
+    result' <- (wrapObject FileFilter) result
+    touchManagedPtr variant
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FileFilter::add_custom
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "needed", argType = TInterface (Name {namespace = "Gtk", name = "FileFilterFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitfield of flags indicating the information that the custom\n         filter function needs.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "FileFilterFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "callback function; if the function returns %TRUE, then\n  the file will be displayed.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call to free @data when it is no longer needed.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_add_custom" gtk_file_filter_add_custom :: 
+    Ptr FileFilter ->                       -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    CUInt ->                                -- needed : TInterface (Name {namespace = "Gtk", name = "FileFilterFlags"})
+    FunPtr Gtk.Callbacks.C_FileFilterFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "FileFilterFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Adds rule to a filter that allows files based on a custom callback
+function. The bitfield /@needed@/ which is passed in provides information
+about what sorts of information that the filter function needs;
+this allows GTK+ to avoid retrieving expensive information when
+it isn’t needed by the filter.
+
+/Since: 2.4/
+-}
+fileFilterAddCustom ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> [Gtk.Flags.FileFilterFlags]
+    {- ^ /@needed@/: bitfield of flags indicating the information that the custom
+         filter function needs. -}
+    -> Gtk.Callbacks.FileFilterFunc
+    {- ^ /@func@/: callback function; if the function returns 'True', then
+  the file will be displayed. -}
+    -> m ()
+fileFilterAddCustom filter needed func = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    let needed' = gflagsToWord needed
+    func' <- Gtk.Callbacks.mk_FileFilterFunc (Gtk.Callbacks.wrap_FileFilterFunc Nothing (Gtk.Callbacks.drop_closures_FileFilterFunc func))
+    let data_ = castFunPtrToPtr func'
+    let notify = safeFreeFunPtrPtr
+    gtk_file_filter_add_custom filter' needed' func' data_ notify
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileFilterAddCustomMethodInfo
+instance (signature ~ ([Gtk.Flags.FileFilterFlags] -> Gtk.Callbacks.FileFilterFunc -> m ()), MonadIO m, IsFileFilter a) => O.MethodInfo FileFilterAddCustomMethodInfo a signature where
+    overloadedMethod _ = fileFilterAddCustom
+
+#endif
+
+-- method FileFilter::add_mime_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a MIME type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_add_mime_type" gtk_file_filter_add_mime_type :: 
+    Ptr FileFilter ->                       -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    CString ->                              -- mime_type : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a rule allowing a given mime type to /@filter@/.
+
+/Since: 2.4/
+-}
+fileFilterAddMimeType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> T.Text
+    {- ^ /@mimeType@/: name of a MIME type -}
+    -> m ()
+fileFilterAddMimeType filter mimeType = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    mimeType' <- textToCString mimeType
+    gtk_file_filter_add_mime_type filter' mimeType'
+    touchManagedPtr filter
+    freeMem mimeType'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileFilterAddMimeTypeMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFileFilter a) => O.MethodInfo FileFilterAddMimeTypeMethodInfo a signature where
+    overloadedMethod _ = fileFilterAddMimeType
+
+#endif
+
+-- method FileFilter::add_pattern
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a shell style glob", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_add_pattern" gtk_file_filter_add_pattern :: 
+    Ptr FileFilter ->                       -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    CString ->                              -- pattern : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a rule allowing a shell style glob to a filter.
+
+/Since: 2.4/
+-}
+fileFilterAddPattern ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> T.Text
+    {- ^ /@pattern@/: a shell style glob -}
+    -> m ()
+fileFilterAddPattern filter pattern = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    pattern' <- textToCString pattern
+    gtk_file_filter_add_pattern filter' pattern'
+    touchManagedPtr filter
+    freeMem pattern'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileFilterAddPatternMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFileFilter a) => O.MethodInfo FileFilterAddPatternMethodInfo a signature where
+    overloadedMethod _ = fileFilterAddPattern
+
+#endif
+
+-- method FileFilter::add_pixbuf_formats
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_add_pixbuf_formats" gtk_file_filter_add_pixbuf_formats :: 
+    Ptr FileFilter ->                       -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    IO ()
+
+{- |
+Adds a rule allowing image files in the formats supported
+by GdkPixbuf.
+
+/Since: 2.6/
+-}
+fileFilterAddPixbufFormats ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> m ()
+fileFilterAddPixbufFormats filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_file_filter_add_pixbuf_formats filter'
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileFilterAddPixbufFormatsMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsFileFilter a) => O.MethodInfo FileFilterAddPixbufFormatsMethodInfo a signature where
+    overloadedMethod _ = fileFilterAddPixbufFormats
+
+#endif
+
+-- method FileFilter::filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_info", argType = TInterface (Name {namespace = "Gtk", name = "FileFilterInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilterInfo containing information\n about a file.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_filter" gtk_file_filter_filter :: 
+    Ptr FileFilter ->                       -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    Ptr Gtk.FileFilterInfo.FileFilterInfo -> -- filter_info : TInterface (Name {namespace = "Gtk", name = "FileFilterInfo"})
+    IO CInt
+
+{- |
+Tests whether a file should be displayed according to /@filter@/.
+The 'GI.Gtk.Structs.FileFilterInfo.FileFilterInfo' /@filterInfo@/ should include
+the fields returned from 'GI.Gtk.Objects.FileFilter.fileFilterGetNeeded'.
+
+This function will not typically be used by applications; it
+is intended principally for use in the implementation of
+'GI.Gtk.Interfaces.FileChooser.FileChooser'.
+
+/Since: 2.4/
+-}
+fileFilterFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> Gtk.FileFilterInfo.FileFilterInfo
+    {- ^ /@filterInfo@/: a 'GI.Gtk.Structs.FileFilterInfo.FileFilterInfo' containing information
+ about a file. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the file should be displayed -}
+fileFilterFilter filter filterInfo = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    filterInfo' <- unsafeManagedPtrGetPtr filterInfo
+    result <- gtk_file_filter_filter filter' filterInfo'
+    let result' = (/= 0) result
+    touchManagedPtr filter
+    touchManagedPtr filterInfo
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileFilterFilterMethodInfo
+instance (signature ~ (Gtk.FileFilterInfo.FileFilterInfo -> m Bool), MonadIO m, IsFileFilter a) => O.MethodInfo FileFilterFilterMethodInfo a signature where
+    overloadedMethod _ = fileFilterFilter
+
+#endif
+
+-- method FileFilter::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_get_name" gtk_file_filter_get_name :: 
+    Ptr FileFilter ->                       -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    IO CString
+
+{- |
+Gets the human-readable name for the filter. See 'GI.Gtk.Objects.FileFilter.fileFilterSetName'.
+
+/Since: 2.4/
+-}
+fileFilterGetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ The human-readable name of the filter,
+  or 'Nothing'. This value is owned by GTK+ and must not
+  be modified or freed. -}
+fileFilterGetName filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    result <- gtk_file_filter_get_name filter'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr filter
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FileFilterGetNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsFileFilter a) => O.MethodInfo FileFilterGetNameMethodInfo a signature where
+    overloadedMethod _ = fileFilterGetName
+
+#endif
+
+-- method FileFilter::get_needed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FileFilterFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_get_needed" gtk_file_filter_get_needed :: 
+    Ptr FileFilter ->                       -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    IO CUInt
+
+{- |
+Gets the fields that need to be filled in for the 'GI.Gtk.Structs.FileFilterInfo.FileFilterInfo'
+passed to 'GI.Gtk.Objects.FileFilter.fileFilterFilter'
+
+This function will not typically be used by applications; it
+is intended principally for use in the implementation of
+'GI.Gtk.Interfaces.FileChooser.FileChooser'.
+
+/Since: 2.4/
+-}
+fileFilterGetNeeded ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> m [Gtk.Flags.FileFilterFlags]
+    {- ^ __Returns:__ bitfield of flags indicating needed fields when
+  calling 'GI.Gtk.Objects.FileFilter.fileFilterFilter' -}
+fileFilterGetNeeded filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    result <- gtk_file_filter_get_needed filter'
+    let result' = wordToGFlags result
+    touchManagedPtr filter
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileFilterGetNeededMethodInfo
+instance (signature ~ (m [Gtk.Flags.FileFilterFlags]), MonadIO m, IsFileFilter a) => O.MethodInfo FileFilterGetNeededMethodInfo a signature where
+    overloadedMethod _ = fileFilterGetNeeded
+
+#endif
+
+-- method FileFilter::set_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the human-readable-name for the filter, or %NULL\n  to remove any existing name.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_set_name" gtk_file_filter_set_name :: 
+    Ptr FileFilter ->                       -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the human-readable name of the filter; this is the string
+that will be displayed in the file selector user interface if
+there is a selectable list of filters.
+
+/Since: 2.4/
+-}
+fileFilterSetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> Maybe (T.Text)
+    {- ^ /@name@/: the human-readable-name for the filter, or 'Nothing'
+  to remove any existing name. -}
+    -> m ()
+fileFilterSetName filter name = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    gtk_file_filter_set_name filter' maybeName
+    touchManagedPtr filter
+    freeMem maybeName
+    return ()
+
+#if ENABLE_OVERLOADING
+data FileFilterSetNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsFileFilter a) => O.MethodInfo FileFilterSetNameMethodInfo a signature where
+    overloadedMethod _ = fileFilterSetName
+
+#endif
+
+-- method FileFilter::to_gvariant
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "FileFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFileFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just TVariant
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_file_filter_to_gvariant" gtk_file_filter_to_gvariant :: 
+    Ptr FileFilter ->                       -- filter : TInterface (Name {namespace = "Gtk", name = "FileFilter"})
+    IO (Ptr GVariant)
+
+{- |
+Serialize a file filter to an a{sv} variant.
+
+/Since: 3.22/
+-}
+fileFilterToGvariant ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFileFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.FileFilter.FileFilter' -}
+    -> m GVariant
+    {- ^ __Returns:__ a new, floating, 'GVariant' -}
+fileFilterToGvariant filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    result <- gtk_file_filter_to_gvariant filter'
+    checkUnexpectedReturnNULL "fileFilterToGvariant" result
+    result' <- B.GVariant.newGVariantFromPtr result
+    touchManagedPtr filter
+    return result'
+
+#if ENABLE_OVERLOADING
+data FileFilterToGvariantMethodInfo
+instance (signature ~ (m GVariant), MonadIO m, IsFileFilter a) => O.MethodInfo FileFilterToGvariantMethodInfo a signature where
+    overloadedMethod _ = fileFilterToGvariant
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FileFilter.hs-boot b/GI/Gtk/Objects/FileFilter.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FileFilter.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FileFilter where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FileFilter = FileFilter (ManagedPtr FileFilter)
+instance GObject FileFilter where
+class (GObject o, O.IsDescendantOf FileFilter o) => IsFileFilter o
+instance (GObject o, O.IsDescendantOf FileFilter o) => IsFileFilter o
+instance O.HasParentTypes FileFilter
+#if ENABLE_OVERLOADING
+data FileFilterAddCustomMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileFilterAddMimeTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileFilterAddPatternMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileFilterAddPixbufFormatsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileFilterFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileFilterGetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileFilterGetNeededMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileFilterSetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FileFilterToGvariantMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Fixed.hs b/GI/Gtk/Objects/Fixed.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Fixed.hs
@@ -0,0 +1,600 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Fixed.Fixed' widget is a container which can place child widgets
+at fixed positions and with fixed sizes, given in pixels. 'GI.Gtk.Objects.Fixed.Fixed'
+performs no automatic layout management.
+
+For most applications, you should not use this container! It keeps
+you from having to learn about the other GTK+ containers, but it
+results in broken applications.  With 'GI.Gtk.Objects.Fixed.Fixed', the following
+things will result in truncated text, overlapping widgets, and
+other display bugs:
+
+* Themes, which may change widget sizes.
+* Fonts other than the one you used to write the app will of course
+change the size of widgets containing text; keep in mind that
+users may use a larger font because of difficulty reading the
+default, or they may be using a different OS that provides different fonts.
+* Translation of text into other languages changes its size. Also,
+display of non-English text will use a different font in many
+cases.
+
+
+In addition, 'GI.Gtk.Objects.Fixed.Fixed' does not pay attention to text direction and thus may
+produce unwanted results if your app is run under right-to-left languages
+such as Hebrew or Arabic. That is: normally GTK+ will order containers
+appropriately for the text direction, e.g. to put labels to the right of the
+thing they label when using an RTL language, but it can’t do that with
+'GI.Gtk.Objects.Fixed.Fixed'. So if you need to reorder widgets depending on the text direction,
+you would need to manually detect it and adjust child positions accordingly.
+
+Finally, fixed positioning makes it kind of annoying to add\/remove
+GUI elements, since you have to reposition all the other
+elements. This is a long-term maintenance problem for your
+application.
+
+If you know none of these things are an issue for your application,
+and prefer the simplicity of 'GI.Gtk.Objects.Fixed.Fixed', by all means use the
+widget. But you should be aware of the tradeoffs.
+
+See also 'GI.Gtk.Objects.Layout.Layout', which shares the ability to perform fixed positioning
+of child widgets and additionally adds custom drawing and scrollability.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Fixed
+    ( 
+
+-- * Exported types
+    Fixed(..)                               ,
+    IsFixed                                 ,
+    toFixed                                 ,
+    noFixed                                 ,
+
+
+ -- * Methods
+-- ** move #method:move#
+
+#if ENABLE_OVERLOADING
+    FixedMoveMethodInfo                     ,
+#endif
+    fixedMove                               ,
+
+
+-- ** new #method:new#
+
+    fixedNew                                ,
+
+
+-- ** put #method:put#
+
+#if ENABLE_OVERLOADING
+    FixedPutMethodInfo                      ,
+#endif
+    fixedPut                                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Fixed = Fixed (ManagedPtr Fixed)
+foreign import ccall "gtk_fixed_get_type"
+    c_gtk_fixed_get_type :: IO GType
+
+instance GObject Fixed where
+    gobjectType = c_gtk_fixed_get_type
+    
+
+-- | Type class for types which can be safely cast to `Fixed`, for instance with `toFixed`.
+class (GObject o, O.IsDescendantOf Fixed o) => IsFixed o
+instance (GObject o, O.IsDescendantOf Fixed o) => IsFixed o
+
+instance O.HasParentTypes Fixed
+type instance O.ParentTypes Fixed = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Fixed`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFixed :: (MonadIO m, IsFixed o) => o -> m Fixed
+toFixed = liftIO . unsafeCastTo Fixed
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Fixed`.
+noFixed :: Maybe Fixed
+noFixed = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFixedMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFixedMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFixedMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFixedMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFixedMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFixedMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFixedMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFixedMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFixedMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFixedMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFixedMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFixedMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFixedMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFixedMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFixedMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFixedMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFixedMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFixedMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFixedMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFixedMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFixedMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFixedMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFixedMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFixedMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFixedMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFixedMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFixedMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFixedMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFixedMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFixedMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFixedMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFixedMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFixedMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFixedMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFixedMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFixedMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFixedMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFixedMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFixedMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFixedMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFixedMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFixedMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFixedMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFixedMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFixedMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFixedMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFixedMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFixedMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFixedMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFixedMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFixedMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFixedMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFixedMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFixedMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFixedMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFixedMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFixedMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFixedMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFixedMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFixedMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFixedMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFixedMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFixedMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFixedMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFixedMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFixedMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFixedMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFixedMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFixedMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFixedMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFixedMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFixedMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFixedMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFixedMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFixedMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFixedMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFixedMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFixedMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFixedMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFixedMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFixedMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFixedMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFixedMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFixedMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFixedMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFixedMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFixedMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFixedMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFixedMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFixedMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFixedMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFixedMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFixedMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFixedMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFixedMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFixedMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFixedMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFixedMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFixedMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveFixedMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFixedMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFixedMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFixedMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFixedMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFixedMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFixedMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFixedMethod "move" o = FixedMoveMethodInfo
+    ResolveFixedMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFixedMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFixedMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFixedMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFixedMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFixedMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFixedMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFixedMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFixedMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFixedMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFixedMethod "put" o = FixedPutMethodInfo
+    ResolveFixedMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFixedMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFixedMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFixedMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFixedMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFixedMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFixedMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFixedMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFixedMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFixedMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFixedMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFixedMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFixedMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFixedMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFixedMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFixedMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFixedMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFixedMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFixedMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFixedMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFixedMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFixedMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFixedMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFixedMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFixedMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFixedMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFixedMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFixedMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFixedMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFixedMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFixedMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFixedMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFixedMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFixedMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFixedMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFixedMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFixedMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFixedMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFixedMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFixedMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFixedMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFixedMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFixedMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFixedMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFixedMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFixedMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFixedMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFixedMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFixedMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFixedMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFixedMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFixedMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFixedMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFixedMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFixedMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFixedMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFixedMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFixedMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFixedMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFixedMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFixedMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFixedMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFixedMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFixedMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFixedMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFixedMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFixedMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFixedMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFixedMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFixedMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFixedMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFixedMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFixedMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFixedMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFixedMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFixedMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFixedMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFixedMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFixedMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFixedMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFixedMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFixedMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFixedMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFixedMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFixedMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFixedMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFixedMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFixedMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFixedMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFixedMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFixedMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFixedMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFixedMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFixedMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFixedMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFixedMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFixedMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFixedMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFixedMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveFixedMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFixedMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFixedMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFixedMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFixedMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFixedMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFixedMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFixedMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFixedMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFixedMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFixedMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFixedMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFixedMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFixedMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFixedMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFixedMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFixedMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFixedMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFixedMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFixedMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFixedMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFixedMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveFixedMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFixedMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFixedMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFixedMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFixedMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFixedMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFixedMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFixedMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFixedMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFixedMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFixedMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFixedMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFixedMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFixedMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFixedMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFixedMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFixedMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFixedMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFixedMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFixedMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFixedMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFixedMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFixedMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFixedMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFixedMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFixedMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFixedMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFixedMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFixedMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFixedMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFixedMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFixedMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFixedMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFixedMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFixedMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFixedMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFixedMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFixedMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFixedMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFixedMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFixedMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFixedMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFixedMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFixedMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFixedMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFixedMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFixedMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFixedMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFixedMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFixedMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFixedMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFixedMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFixedMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFixedMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFixedMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFixedMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFixedMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFixedMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveFixedMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFixedMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFixedMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFixedMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFixedMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFixedMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFixedMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFixedMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFixedMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFixedMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFixedMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFixedMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFixedMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFixedMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFixedMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFixedMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFixedMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFixedMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFixedMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFixedMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFixedMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFixedMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFixedMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFixedMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFixedMethod t Fixed, O.MethodInfo info Fixed p) => OL.IsLabel t (Fixed -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Fixed
+type instance O.AttributeList Fixed = FixedAttributeList
+type FixedAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Fixed = FixedSignalList
+type FixedSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Fixed::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Fixed"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_fixed_new" gtk_fixed_new :: 
+    IO (Ptr Fixed)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Fixed.Fixed'.
+-}
+fixedNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Fixed
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Fixed.Fixed'. -}
+fixedNew  = liftIO $ do
+    result <- gtk_fixed_new
+    checkUnexpectedReturnNULL "fixedNew" result
+    result' <- (newObject Fixed) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Fixed::move
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fixed", argType = TInterface (Name {namespace = "Gtk", name = "Fixed"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFixed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal position to move the widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical position to move the widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_fixed_move" gtk_fixed_move :: 
+    Ptr Fixed ->                            -- fixed : TInterface (Name {namespace = "Gtk", name = "Fixed"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO ()
+
+{- |
+Moves a child of a 'GI.Gtk.Objects.Fixed.Fixed' container to the given position.
+-}
+fixedMove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFixed a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@fixed@/: a 'GI.Gtk.Objects.Fixed.Fixed'. -}
+    -> b
+    {- ^ /@widget@/: the child widget. -}
+    -> Int32
+    {- ^ /@x@/: the horizontal position to move the widget to. -}
+    -> Int32
+    {- ^ /@y@/: the vertical position to move the widget to. -}
+    -> m ()
+fixedMove fixed widget x y = liftIO $ do
+    fixed' <- unsafeManagedPtrCastPtr fixed
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_fixed_move fixed' widget' x y
+    touchManagedPtr fixed
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data FixedMoveMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsFixed a, Gtk.Widget.IsWidget b) => O.MethodInfo FixedMoveMethodInfo a signature where
+    overloadedMethod _ = fixedMove
+
+#endif
+
+-- method Fixed::put
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fixed", argType = TInterface (Name {namespace = "Gtk", name = "Fixed"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFixed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to add.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal position to place the widget at.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical position to place the widget at.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_fixed_put" gtk_fixed_put :: 
+    Ptr Fixed ->                            -- fixed : TInterface (Name {namespace = "Gtk", name = "Fixed"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO ()
+
+{- |
+Adds a widget to a 'GI.Gtk.Objects.Fixed.Fixed' container at the given position.
+-}
+fixedPut ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFixed a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@fixed@/: a 'GI.Gtk.Objects.Fixed.Fixed'. -}
+    -> b
+    {- ^ /@widget@/: the widget to add. -}
+    -> Int32
+    {- ^ /@x@/: the horizontal position to place the widget at. -}
+    -> Int32
+    {- ^ /@y@/: the vertical position to place the widget at. -}
+    -> m ()
+fixedPut fixed widget x y = liftIO $ do
+    fixed' <- unsafeManagedPtrCastPtr fixed
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_fixed_put fixed' widget' x y
+    touchManagedPtr fixed
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data FixedPutMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsFixed a, Gtk.Widget.IsWidget b) => O.MethodInfo FixedPutMethodInfo a signature where
+    overloadedMethod _ = fixedPut
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Fixed.hs-boot b/GI/Gtk/Objects/Fixed.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Fixed.hs-boot
@@ -0,0 +1,35 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Fixed where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Fixed = Fixed (ManagedPtr Fixed)
+instance GObject Fixed where
+class (GObject o, O.IsDescendantOf Fixed o) => IsFixed o
+instance (GObject o, O.IsDescendantOf Fixed o) => IsFixed o
+instance O.HasParentTypes Fixed
+#if ENABLE_OVERLOADING
+data FixedMoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FixedPutMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/FlowBox.hs b/GI/Gtk/Objects/FlowBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FlowBox.hs
@@ -0,0 +1,3199 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkFlowBox positions child widgets in sequence according to its
+orientation.
+
+For instance, with the horizontal orientation, the widgets will be
+arranged from left to right, starting a new row under the previous
+row when necessary. Reducing the width in this case will require more
+rows, so a larger height will be requested.
+
+Likewise, with the vertical orientation, the widgets will be arranged
+from top to bottom, starting a new column to the right when necessary.
+Reducing the height will require more columns, so a larger width will
+be requested.
+
+The size request of a GtkFlowBox alone may not be what you expect; if you
+need to be able to shrink it along both axes and dynamically reflow its
+children, you may have to wrap it in a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' to enable that.
+
+The children of a GtkFlowBox can be dynamically sorted and filtered.
+
+Although a GtkFlowBox must have only 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' children,
+you can add any kind of widget to it via 'GI.Gtk.Objects.Container.containerAdd', and
+a GtkFlowBoxChild widget will automatically be inserted between
+the box and the widget.
+
+Also see 'GI.Gtk.Objects.ListBox.ListBox'.
+
+GtkFlowBox was added in GTK+ 3.12.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>flowbox
+>├── flowboxchild
+>│   ╰── <child>
+>├── flowboxchild
+>│   ╰── <child>
+>┊
+>╰── [rubberband]
+
+
+GtkFlowBox uses a single CSS node with name flowbox. GtkFlowBoxChild
+uses a single CSS node with name flowboxchild.
+For rubberband selection, a subnode with name rubberband is used.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FlowBox
+    ( 
+
+-- * Exported types
+    FlowBox(..)                             ,
+    IsFlowBox                               ,
+    toFlowBox                               ,
+    noFlowBox                               ,
+
+
+ -- * Methods
+-- ** bindModel #method:bindModel#
+
+#if ENABLE_OVERLOADING
+    FlowBoxBindModelMethodInfo              ,
+#endif
+    flowBoxBindModel                        ,
+
+
+-- ** getActivateOnSingleClick #method:getActivateOnSingleClick#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetActivateOnSingleClickMethodInfo,
+#endif
+    flowBoxGetActivateOnSingleClick         ,
+
+
+-- ** getChildAtIndex #method:getChildAtIndex#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetChildAtIndexMethodInfo        ,
+#endif
+    flowBoxGetChildAtIndex                  ,
+
+
+-- ** getChildAtPos #method:getChildAtPos#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetChildAtPosMethodInfo          ,
+#endif
+    flowBoxGetChildAtPos                    ,
+
+
+-- ** getColumnSpacing #method:getColumnSpacing#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetColumnSpacingMethodInfo       ,
+#endif
+    flowBoxGetColumnSpacing                 ,
+
+
+-- ** getHomogeneous #method:getHomogeneous#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetHomogeneousMethodInfo         ,
+#endif
+    flowBoxGetHomogeneous                   ,
+
+
+-- ** getMaxChildrenPerLine #method:getMaxChildrenPerLine#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetMaxChildrenPerLineMethodInfo  ,
+#endif
+    flowBoxGetMaxChildrenPerLine            ,
+
+
+-- ** getMinChildrenPerLine #method:getMinChildrenPerLine#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetMinChildrenPerLineMethodInfo  ,
+#endif
+    flowBoxGetMinChildrenPerLine            ,
+
+
+-- ** getRowSpacing #method:getRowSpacing#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetRowSpacingMethodInfo          ,
+#endif
+    flowBoxGetRowSpacing                    ,
+
+
+-- ** getSelectedChildren #method:getSelectedChildren#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetSelectedChildrenMethodInfo    ,
+#endif
+    flowBoxGetSelectedChildren              ,
+
+
+-- ** getSelectionMode #method:getSelectionMode#
+
+#if ENABLE_OVERLOADING
+    FlowBoxGetSelectionModeMethodInfo       ,
+#endif
+    flowBoxGetSelectionMode                 ,
+
+
+-- ** insert #method:insert#
+
+#if ENABLE_OVERLOADING
+    FlowBoxInsertMethodInfo                 ,
+#endif
+    flowBoxInsert                           ,
+
+
+-- ** invalidateFilter #method:invalidateFilter#
+
+#if ENABLE_OVERLOADING
+    FlowBoxInvalidateFilterMethodInfo       ,
+#endif
+    flowBoxInvalidateFilter                 ,
+
+
+-- ** invalidateSort #method:invalidateSort#
+
+#if ENABLE_OVERLOADING
+    FlowBoxInvalidateSortMethodInfo         ,
+#endif
+    flowBoxInvalidateSort                   ,
+
+
+-- ** new #method:new#
+
+    flowBoxNew                              ,
+
+
+-- ** selectAll #method:selectAll#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSelectAllMethodInfo              ,
+#endif
+    flowBoxSelectAll                        ,
+
+
+-- ** selectChild #method:selectChild#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSelectChildMethodInfo            ,
+#endif
+    flowBoxSelectChild                      ,
+
+
+-- ** selectedForeach #method:selectedForeach#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSelectedForeachMethodInfo        ,
+#endif
+    flowBoxSelectedForeach                  ,
+
+
+-- ** setActivateOnSingleClick #method:setActivateOnSingleClick#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetActivateOnSingleClickMethodInfo,
+#endif
+    flowBoxSetActivateOnSingleClick         ,
+
+
+-- ** setColumnSpacing #method:setColumnSpacing#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetColumnSpacingMethodInfo       ,
+#endif
+    flowBoxSetColumnSpacing                 ,
+
+
+-- ** setFilterFunc #method:setFilterFunc#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetFilterFuncMethodInfo          ,
+#endif
+    flowBoxSetFilterFunc                    ,
+
+
+-- ** setHadjustment #method:setHadjustment#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetHadjustmentMethodInfo         ,
+#endif
+    flowBoxSetHadjustment                   ,
+
+
+-- ** setHomogeneous #method:setHomogeneous#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetHomogeneousMethodInfo         ,
+#endif
+    flowBoxSetHomogeneous                   ,
+
+
+-- ** setMaxChildrenPerLine #method:setMaxChildrenPerLine#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetMaxChildrenPerLineMethodInfo  ,
+#endif
+    flowBoxSetMaxChildrenPerLine            ,
+
+
+-- ** setMinChildrenPerLine #method:setMinChildrenPerLine#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetMinChildrenPerLineMethodInfo  ,
+#endif
+    flowBoxSetMinChildrenPerLine            ,
+
+
+-- ** setRowSpacing #method:setRowSpacing#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetRowSpacingMethodInfo          ,
+#endif
+    flowBoxSetRowSpacing                    ,
+
+
+-- ** setSelectionMode #method:setSelectionMode#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetSelectionModeMethodInfo       ,
+#endif
+    flowBoxSetSelectionMode                 ,
+
+
+-- ** setSortFunc #method:setSortFunc#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetSortFuncMethodInfo            ,
+#endif
+    flowBoxSetSortFunc                      ,
+
+
+-- ** setVadjustment #method:setVadjustment#
+
+#if ENABLE_OVERLOADING
+    FlowBoxSetVadjustmentMethodInfo         ,
+#endif
+    flowBoxSetVadjustment                   ,
+
+
+-- ** unselectAll #method:unselectAll#
+
+#if ENABLE_OVERLOADING
+    FlowBoxUnselectAllMethodInfo            ,
+#endif
+    flowBoxUnselectAll                      ,
+
+
+-- ** unselectChild #method:unselectChild#
+
+#if ENABLE_OVERLOADING
+    FlowBoxUnselectChildMethodInfo          ,
+#endif
+    flowBoxUnselectChild                    ,
+
+
+
+
+ -- * Properties
+-- ** activateOnSingleClick #attr:activateOnSingleClick#
+{- | Determines whether children can be activated with a single
+click, or require a double-click.
+-}
+#if ENABLE_OVERLOADING
+    FlowBoxActivateOnSingleClickPropertyInfo,
+#endif
+    constructFlowBoxActivateOnSingleClick   ,
+#if ENABLE_OVERLOADING
+    flowBoxActivateOnSingleClick            ,
+#endif
+    getFlowBoxActivateOnSingleClick         ,
+    setFlowBoxActivateOnSingleClick         ,
+
+
+-- ** columnSpacing #attr:columnSpacing#
+{- | The amount of horizontal space between two children.
+-}
+#if ENABLE_OVERLOADING
+    FlowBoxColumnSpacingPropertyInfo        ,
+#endif
+    constructFlowBoxColumnSpacing           ,
+#if ENABLE_OVERLOADING
+    flowBoxColumnSpacing                    ,
+#endif
+    getFlowBoxColumnSpacing                 ,
+    setFlowBoxColumnSpacing                 ,
+
+
+-- ** homogeneous #attr:homogeneous#
+{- | Determines whether all children should be allocated the
+same size.
+-}
+#if ENABLE_OVERLOADING
+    FlowBoxHomogeneousPropertyInfo          ,
+#endif
+    constructFlowBoxHomogeneous             ,
+#if ENABLE_OVERLOADING
+    flowBoxHomogeneous                      ,
+#endif
+    getFlowBoxHomogeneous                   ,
+    setFlowBoxHomogeneous                   ,
+
+
+-- ** maxChildrenPerLine #attr:maxChildrenPerLine#
+{- | The maximum amount of children to request space for consecutively
+in the given orientation.
+-}
+#if ENABLE_OVERLOADING
+    FlowBoxMaxChildrenPerLinePropertyInfo   ,
+#endif
+    constructFlowBoxMaxChildrenPerLine      ,
+#if ENABLE_OVERLOADING
+    flowBoxMaxChildrenPerLine               ,
+#endif
+    getFlowBoxMaxChildrenPerLine            ,
+    setFlowBoxMaxChildrenPerLine            ,
+
+
+-- ** minChildrenPerLine #attr:minChildrenPerLine#
+{- | The minimum number of children to allocate consecutively
+in the given orientation.
+
+Setting the minimum children per line ensures
+that a reasonably small height will be requested
+for the overall minimum width of the box.
+-}
+#if ENABLE_OVERLOADING
+    FlowBoxMinChildrenPerLinePropertyInfo   ,
+#endif
+    constructFlowBoxMinChildrenPerLine      ,
+#if ENABLE_OVERLOADING
+    flowBoxMinChildrenPerLine               ,
+#endif
+    getFlowBoxMinChildrenPerLine            ,
+    setFlowBoxMinChildrenPerLine            ,
+
+
+-- ** rowSpacing #attr:rowSpacing#
+{- | The amount of vertical space between two children.
+-}
+#if ENABLE_OVERLOADING
+    FlowBoxRowSpacingPropertyInfo           ,
+#endif
+    constructFlowBoxRowSpacing              ,
+#if ENABLE_OVERLOADING
+    flowBoxRowSpacing                       ,
+#endif
+    getFlowBoxRowSpacing                    ,
+    setFlowBoxRowSpacing                    ,
+
+
+-- ** selectionMode #attr:selectionMode#
+{- | The selection mode used by the flow  box.
+-}
+#if ENABLE_OVERLOADING
+    FlowBoxSelectionModePropertyInfo        ,
+#endif
+    constructFlowBoxSelectionMode           ,
+#if ENABLE_OVERLOADING
+    flowBoxSelectionMode                    ,
+#endif
+    getFlowBoxSelectionMode                 ,
+    setFlowBoxSelectionMode                 ,
+
+
+
+
+ -- * Signals
+-- ** activateCursorChild #signal:activateCursorChild#
+
+    C_FlowBoxActivateCursorChildCallback    ,
+    FlowBoxActivateCursorChildCallback      ,
+#if ENABLE_OVERLOADING
+    FlowBoxActivateCursorChildSignalInfo    ,
+#endif
+    afterFlowBoxActivateCursorChild         ,
+    genClosure_FlowBoxActivateCursorChild   ,
+    mk_FlowBoxActivateCursorChildCallback   ,
+    noFlowBoxActivateCursorChildCallback    ,
+    onFlowBoxActivateCursorChild            ,
+    wrap_FlowBoxActivateCursorChildCallback ,
+
+
+-- ** childActivated #signal:childActivated#
+
+    C_FlowBoxChildActivatedCallback         ,
+    FlowBoxChildActivatedCallback           ,
+#if ENABLE_OVERLOADING
+    FlowBoxChildActivatedSignalInfo         ,
+#endif
+    afterFlowBoxChildActivated              ,
+    genClosure_FlowBoxChildActivated        ,
+    mk_FlowBoxChildActivatedCallback        ,
+    noFlowBoxChildActivatedCallback         ,
+    onFlowBoxChildActivated                 ,
+    wrap_FlowBoxChildActivatedCallback      ,
+
+
+-- ** moveCursor #signal:moveCursor#
+
+    C_FlowBoxMoveCursorCallback             ,
+    FlowBoxMoveCursorCallback               ,
+#if ENABLE_OVERLOADING
+    FlowBoxMoveCursorSignalInfo             ,
+#endif
+    afterFlowBoxMoveCursor                  ,
+    genClosure_FlowBoxMoveCursor            ,
+    mk_FlowBoxMoveCursorCallback            ,
+    noFlowBoxMoveCursorCallback             ,
+    onFlowBoxMoveCursor                     ,
+    wrap_FlowBoxMoveCursorCallback          ,
+
+
+-- ** selectAll #signal:selectAll#
+
+    C_FlowBoxSelectAllCallback              ,
+    FlowBoxSelectAllCallback                ,
+#if ENABLE_OVERLOADING
+    FlowBoxSelectAllSignalInfo              ,
+#endif
+    afterFlowBoxSelectAll                   ,
+    genClosure_FlowBoxSelectAll             ,
+    mk_FlowBoxSelectAllCallback             ,
+    noFlowBoxSelectAllCallback              ,
+    onFlowBoxSelectAll                      ,
+    wrap_FlowBoxSelectAllCallback           ,
+
+
+-- ** selectedChildrenChanged #signal:selectedChildrenChanged#
+
+    C_FlowBoxSelectedChildrenChangedCallback,
+    FlowBoxSelectedChildrenChangedCallback  ,
+#if ENABLE_OVERLOADING
+    FlowBoxSelectedChildrenChangedSignalInfo,
+#endif
+    afterFlowBoxSelectedChildrenChanged     ,
+    genClosure_FlowBoxSelectedChildrenChanged,
+    mk_FlowBoxSelectedChildrenChangedCallback,
+    noFlowBoxSelectedChildrenChangedCallback,
+    onFlowBoxSelectedChildrenChanged        ,
+    wrap_FlowBoxSelectedChildrenChangedCallback,
+
+
+-- ** toggleCursorChild #signal:toggleCursorChild#
+
+    C_FlowBoxToggleCursorChildCallback      ,
+    FlowBoxToggleCursorChildCallback        ,
+#if ENABLE_OVERLOADING
+    FlowBoxToggleCursorChildSignalInfo      ,
+#endif
+    afterFlowBoxToggleCursorChild           ,
+    genClosure_FlowBoxToggleCursorChild     ,
+    mk_FlowBoxToggleCursorChildCallback     ,
+    noFlowBoxToggleCursorChildCallback      ,
+    onFlowBoxToggleCursorChild              ,
+    wrap_FlowBoxToggleCursorChildCallback   ,
+
+
+-- ** unselectAll #signal:unselectAll#
+
+    C_FlowBoxUnselectAllCallback            ,
+    FlowBoxUnselectAllCallback              ,
+#if ENABLE_OVERLOADING
+    FlowBoxUnselectAllSignalInfo            ,
+#endif
+    afterFlowBoxUnselectAll                 ,
+    genClosure_FlowBoxUnselectAll           ,
+    mk_FlowBoxUnselectAllCallback           ,
+    noFlowBoxUnselectAllCallback            ,
+    onFlowBoxUnselectAll                    ,
+    wrap_FlowBoxUnselectAllCallback         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.ListModel as Gio.ListModel
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.FlowBoxChild as Gtk.FlowBoxChild
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype FlowBox = FlowBox (ManagedPtr FlowBox)
+foreign import ccall "gtk_flow_box_get_type"
+    c_gtk_flow_box_get_type :: IO GType
+
+instance GObject FlowBox where
+    gobjectType = c_gtk_flow_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `FlowBox`, for instance with `toFlowBox`.
+class (GObject o, O.IsDescendantOf FlowBox o) => IsFlowBox o
+instance (GObject o, O.IsDescendantOf FlowBox o) => IsFlowBox o
+
+instance O.HasParentTypes FlowBox
+type instance O.ParentTypes FlowBox = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `FlowBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFlowBox :: (MonadIO m, IsFlowBox o) => o -> m FlowBox
+toFlowBox = liftIO . unsafeCastTo FlowBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FlowBox`.
+noFlowBox :: Maybe FlowBox
+noFlowBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFlowBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFlowBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFlowBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFlowBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFlowBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFlowBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFlowBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFlowBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFlowBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFlowBoxMethod "bindModel" o = FlowBoxBindModelMethodInfo
+    ResolveFlowBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFlowBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFlowBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFlowBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFlowBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFlowBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFlowBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFlowBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFlowBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFlowBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFlowBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFlowBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFlowBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFlowBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFlowBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFlowBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFlowBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFlowBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFlowBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFlowBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFlowBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFlowBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFlowBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFlowBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFlowBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFlowBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFlowBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFlowBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFlowBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFlowBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFlowBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFlowBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFlowBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFlowBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFlowBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFlowBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFlowBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFlowBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFlowBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFlowBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFlowBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFlowBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFlowBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFlowBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFlowBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFlowBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFlowBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFlowBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFlowBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFlowBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFlowBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFlowBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFlowBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFlowBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFlowBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFlowBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFlowBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFlowBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFlowBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFlowBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFlowBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFlowBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFlowBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFlowBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFlowBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFlowBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFlowBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFlowBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFlowBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFlowBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFlowBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFlowBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFlowBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFlowBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFlowBoxMethod "insert" o = FlowBoxInsertMethodInfo
+    ResolveFlowBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFlowBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFlowBoxMethod "invalidateFilter" o = FlowBoxInvalidateFilterMethodInfo
+    ResolveFlowBoxMethod "invalidateSort" o = FlowBoxInvalidateSortMethodInfo
+    ResolveFlowBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFlowBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFlowBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFlowBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFlowBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFlowBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFlowBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFlowBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFlowBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFlowBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFlowBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFlowBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFlowBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFlowBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveFlowBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFlowBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFlowBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFlowBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFlowBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFlowBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFlowBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFlowBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFlowBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFlowBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFlowBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFlowBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFlowBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFlowBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFlowBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFlowBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFlowBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFlowBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFlowBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFlowBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFlowBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFlowBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFlowBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFlowBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFlowBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFlowBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFlowBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFlowBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFlowBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFlowBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFlowBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFlowBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFlowBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFlowBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFlowBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFlowBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFlowBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFlowBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFlowBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFlowBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFlowBoxMethod "selectAll" o = FlowBoxSelectAllMethodInfo
+    ResolveFlowBoxMethod "selectChild" o = FlowBoxSelectChildMethodInfo
+    ResolveFlowBoxMethod "selectedForeach" o = FlowBoxSelectedForeachMethodInfo
+    ResolveFlowBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFlowBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFlowBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFlowBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFlowBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFlowBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFlowBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFlowBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFlowBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFlowBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFlowBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFlowBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFlowBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFlowBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFlowBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFlowBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFlowBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFlowBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFlowBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFlowBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFlowBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFlowBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFlowBoxMethod "unselectAll" o = FlowBoxUnselectAllMethodInfo
+    ResolveFlowBoxMethod "unselectChild" o = FlowBoxUnselectChildMethodInfo
+    ResolveFlowBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFlowBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFlowBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFlowBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFlowBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFlowBoxMethod "getActivateOnSingleClick" o = FlowBoxGetActivateOnSingleClickMethodInfo
+    ResolveFlowBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFlowBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFlowBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFlowBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFlowBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFlowBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFlowBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFlowBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFlowBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFlowBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFlowBoxMethod "getChildAtIndex" o = FlowBoxGetChildAtIndexMethodInfo
+    ResolveFlowBoxMethod "getChildAtPos" o = FlowBoxGetChildAtPosMethodInfo
+    ResolveFlowBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFlowBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFlowBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFlowBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFlowBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFlowBoxMethod "getColumnSpacing" o = FlowBoxGetColumnSpacingMethodInfo
+    ResolveFlowBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFlowBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFlowBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFlowBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFlowBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFlowBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFlowBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFlowBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFlowBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFlowBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFlowBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFlowBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFlowBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFlowBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFlowBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFlowBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFlowBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFlowBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFlowBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFlowBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFlowBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFlowBoxMethod "getHomogeneous" o = FlowBoxGetHomogeneousMethodInfo
+    ResolveFlowBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFlowBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFlowBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFlowBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFlowBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFlowBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFlowBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFlowBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFlowBoxMethod "getMaxChildrenPerLine" o = FlowBoxGetMaxChildrenPerLineMethodInfo
+    ResolveFlowBoxMethod "getMinChildrenPerLine" o = FlowBoxGetMinChildrenPerLineMethodInfo
+    ResolveFlowBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFlowBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFlowBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFlowBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFlowBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveFlowBoxMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveFlowBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFlowBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFlowBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFlowBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFlowBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFlowBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFlowBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFlowBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFlowBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFlowBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFlowBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFlowBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFlowBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFlowBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFlowBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFlowBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFlowBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFlowBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFlowBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFlowBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFlowBoxMethod "getRowSpacing" o = FlowBoxGetRowSpacingMethodInfo
+    ResolveFlowBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFlowBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveFlowBoxMethod "getSelectedChildren" o = FlowBoxGetSelectedChildrenMethodInfo
+    ResolveFlowBoxMethod "getSelectionMode" o = FlowBoxGetSelectionModeMethodInfo
+    ResolveFlowBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFlowBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFlowBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFlowBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFlowBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFlowBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFlowBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFlowBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFlowBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFlowBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFlowBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFlowBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFlowBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFlowBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFlowBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFlowBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFlowBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFlowBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFlowBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFlowBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFlowBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFlowBoxMethod "setActivateOnSingleClick" o = FlowBoxSetActivateOnSingleClickMethodInfo
+    ResolveFlowBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFlowBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFlowBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFlowBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFlowBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFlowBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFlowBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFlowBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFlowBoxMethod "setColumnSpacing" o = FlowBoxSetColumnSpacingMethodInfo
+    ResolveFlowBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFlowBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFlowBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFlowBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFlowBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFlowBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFlowBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFlowBoxMethod "setFilterFunc" o = FlowBoxSetFilterFuncMethodInfo
+    ResolveFlowBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFlowBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFlowBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFlowBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFlowBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFlowBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFlowBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFlowBoxMethod "setHadjustment" o = FlowBoxSetHadjustmentMethodInfo
+    ResolveFlowBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFlowBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFlowBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFlowBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFlowBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFlowBoxMethod "setHomogeneous" o = FlowBoxSetHomogeneousMethodInfo
+    ResolveFlowBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFlowBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFlowBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFlowBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFlowBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFlowBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFlowBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFlowBoxMethod "setMaxChildrenPerLine" o = FlowBoxSetMaxChildrenPerLineMethodInfo
+    ResolveFlowBoxMethod "setMinChildrenPerLine" o = FlowBoxSetMinChildrenPerLineMethodInfo
+    ResolveFlowBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFlowBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFlowBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveFlowBoxMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveFlowBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFlowBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFlowBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFlowBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFlowBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFlowBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFlowBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFlowBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFlowBoxMethod "setRowSpacing" o = FlowBoxSetRowSpacingMethodInfo
+    ResolveFlowBoxMethod "setSelectionMode" o = FlowBoxSetSelectionModeMethodInfo
+    ResolveFlowBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFlowBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFlowBoxMethod "setSortFunc" o = FlowBoxSetSortFuncMethodInfo
+    ResolveFlowBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFlowBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFlowBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFlowBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFlowBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFlowBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFlowBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFlowBoxMethod "setVadjustment" o = FlowBoxSetVadjustmentMethodInfo
+    ResolveFlowBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFlowBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFlowBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFlowBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFlowBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFlowBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFlowBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFlowBoxMethod t FlowBox, O.MethodInfo info FlowBox p) => OL.IsLabel t (FlowBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal FlowBox::activate-cursor-child
+{- |
+The ::activate-cursor-child signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user activates the /@box@/.
+-}
+type FlowBoxActivateCursorChildCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxActivateCursorChildCallback`@.
+noFlowBoxActivateCursorChildCallback :: Maybe FlowBoxActivateCursorChildCallback
+noFlowBoxActivateCursorChildCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxActivateCursorChildCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxActivateCursorChildCallback`.
+foreign import ccall "wrapper"
+    mk_FlowBoxActivateCursorChildCallback :: C_FlowBoxActivateCursorChildCallback -> IO (FunPtr C_FlowBoxActivateCursorChildCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxActivateCursorChild :: MonadIO m => FlowBoxActivateCursorChildCallback -> m (GClosure C_FlowBoxActivateCursorChildCallback)
+genClosure_FlowBoxActivateCursorChild cb = liftIO $ do
+    let cb' = wrap_FlowBoxActivateCursorChildCallback cb
+    mk_FlowBoxActivateCursorChildCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxActivateCursorChildCallback` into a `C_FlowBoxActivateCursorChildCallback`.
+wrap_FlowBoxActivateCursorChildCallback ::
+    FlowBoxActivateCursorChildCallback ->
+    C_FlowBoxActivateCursorChildCallback
+wrap_FlowBoxActivateCursorChildCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate-cursor-child@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' flowBox #activateCursorChild callback
+@
+-}
+onFlowBoxActivateCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxActivateCursorChildCallback -> m SignalHandlerId
+onFlowBoxActivateCursorChild obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxActivateCursorChildCallback cb
+    cb'' <- mk_FlowBoxActivateCursorChildCallback cb'
+    connectSignalFunPtr obj "activate-cursor-child" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-cursor-child@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' flowBox #activateCursorChild callback
+@
+-}
+afterFlowBoxActivateCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxActivateCursorChildCallback -> m SignalHandlerId
+afterFlowBoxActivateCursorChild obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxActivateCursorChildCallback cb
+    cb'' <- mk_FlowBoxActivateCursorChildCallback cb'
+    connectSignalFunPtr obj "activate-cursor-child" cb'' SignalConnectAfter
+
+
+-- signal FlowBox::child-activated
+{- |
+The ::child-activated signal is emitted when a child has been
+activated by the user.
+-}
+type FlowBoxChildActivatedCallback =
+    Gtk.FlowBoxChild.FlowBoxChild
+    {- ^ /@child@/: the child that is activated -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxChildActivatedCallback`@.
+noFlowBoxChildActivatedCallback :: Maybe FlowBoxChildActivatedCallback
+noFlowBoxChildActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxChildActivatedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.FlowBoxChild.FlowBoxChild ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxChildActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_FlowBoxChildActivatedCallback :: C_FlowBoxChildActivatedCallback -> IO (FunPtr C_FlowBoxChildActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxChildActivated :: MonadIO m => FlowBoxChildActivatedCallback -> m (GClosure C_FlowBoxChildActivatedCallback)
+genClosure_FlowBoxChildActivated cb = liftIO $ do
+    let cb' = wrap_FlowBoxChildActivatedCallback cb
+    mk_FlowBoxChildActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxChildActivatedCallback` into a `C_FlowBoxChildActivatedCallback`.
+wrap_FlowBoxChildActivatedCallback ::
+    FlowBoxChildActivatedCallback ->
+    C_FlowBoxChildActivatedCallback
+wrap_FlowBoxChildActivatedCallback _cb _ child _ = do
+    child' <- (newObject Gtk.FlowBoxChild.FlowBoxChild) child
+    _cb  child'
+
+
+{- |
+Connect a signal handler for the “@child-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' flowBox #childActivated callback
+@
+-}
+onFlowBoxChildActivated :: (IsFlowBox a, MonadIO m) => a -> FlowBoxChildActivatedCallback -> m SignalHandlerId
+onFlowBoxChildActivated obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxChildActivatedCallback cb
+    cb'' <- mk_FlowBoxChildActivatedCallback cb'
+    connectSignalFunPtr obj "child-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@child-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' flowBox #childActivated callback
+@
+-}
+afterFlowBoxChildActivated :: (IsFlowBox a, MonadIO m) => a -> FlowBoxChildActivatedCallback -> m SignalHandlerId
+afterFlowBoxChildActivated obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxChildActivatedCallback cb
+    cb'' <- mk_FlowBoxChildActivatedCallback cb'
+    connectSignalFunPtr obj "child-activated" cb'' SignalConnectAfter
+
+
+-- signal FlowBox::move-cursor
+{- |
+The ::move-cursor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a cursor movement.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control the cursor
+programmatically.
+
+The default bindings for this signal come in two variants,
+the variant with the Shift modifier extends the selection,
+the variant without the Shift modifer does not.
+There are too many key combinations to list them all here.
+
+* Arrow keys move by individual children
+* Home\/End keys move to the ends of the box
+* PageUp\/PageDown keys move vertically by pages
+-}
+type FlowBoxMoveCursorCallback =
+    Gtk.Enums.MovementStep
+    {- ^ /@step@/: the granularity fo the move, as a 'GI.Gtk.Enums.MovementStep' -}
+    -> Int32
+    {- ^ /@count@/: the number of /@step@/ units to move -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxMoveCursorCallback`@.
+noFlowBoxMoveCursorCallback :: Maybe FlowBoxMoveCursorCallback
+noFlowBoxMoveCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxMoveCursorCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxMoveCursorCallback`.
+foreign import ccall "wrapper"
+    mk_FlowBoxMoveCursorCallback :: C_FlowBoxMoveCursorCallback -> IO (FunPtr C_FlowBoxMoveCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxMoveCursor :: MonadIO m => FlowBoxMoveCursorCallback -> m (GClosure C_FlowBoxMoveCursorCallback)
+genClosure_FlowBoxMoveCursor cb = liftIO $ do
+    let cb' = wrap_FlowBoxMoveCursorCallback cb
+    mk_FlowBoxMoveCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxMoveCursorCallback` into a `C_FlowBoxMoveCursorCallback`.
+wrap_FlowBoxMoveCursorCallback ::
+    FlowBoxMoveCursorCallback ->
+    C_FlowBoxMoveCursorCallback
+wrap_FlowBoxMoveCursorCallback _cb _ step count _ = do
+    let step' = (toEnum . fromIntegral) step
+    result <- _cb  step' count
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' flowBox #moveCursor callback
+@
+-}
+onFlowBoxMoveCursor :: (IsFlowBox a, MonadIO m) => a -> FlowBoxMoveCursorCallback -> m SignalHandlerId
+onFlowBoxMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxMoveCursorCallback cb
+    cb'' <- mk_FlowBoxMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' flowBox #moveCursor callback
+@
+-}
+afterFlowBoxMoveCursor :: (IsFlowBox a, MonadIO m) => a -> FlowBoxMoveCursorCallback -> m SignalHandlerId
+afterFlowBoxMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxMoveCursorCallback cb
+    cb'' <- mk_FlowBoxMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectAfter
+
+
+-- signal FlowBox::select-all
+{- |
+The ::select-all signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to select all children of the box, if
+the selection mode permits it.
+
+The default bindings for this signal is Ctrl-a.
+-}
+type FlowBoxSelectAllCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxSelectAllCallback`@.
+noFlowBoxSelectAllCallback :: Maybe FlowBoxSelectAllCallback
+noFlowBoxSelectAllCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxSelectAllCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxSelectAllCallback`.
+foreign import ccall "wrapper"
+    mk_FlowBoxSelectAllCallback :: C_FlowBoxSelectAllCallback -> IO (FunPtr C_FlowBoxSelectAllCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxSelectAll :: MonadIO m => FlowBoxSelectAllCallback -> m (GClosure C_FlowBoxSelectAllCallback)
+genClosure_FlowBoxSelectAll cb = liftIO $ do
+    let cb' = wrap_FlowBoxSelectAllCallback cb
+    mk_FlowBoxSelectAllCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxSelectAllCallback` into a `C_FlowBoxSelectAllCallback`.
+wrap_FlowBoxSelectAllCallback ::
+    FlowBoxSelectAllCallback ->
+    C_FlowBoxSelectAllCallback
+wrap_FlowBoxSelectAllCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' flowBox #selectAll callback
+@
+-}
+onFlowBoxSelectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectAllCallback -> m SignalHandlerId
+onFlowBoxSelectAll obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxSelectAllCallback cb
+    cb'' <- mk_FlowBoxSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' flowBox #selectAll callback
+@
+-}
+afterFlowBoxSelectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectAllCallback -> m SignalHandlerId
+afterFlowBoxSelectAll obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxSelectAllCallback cb
+    cb'' <- mk_FlowBoxSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectAfter
+
+
+-- signal FlowBox::selected-children-changed
+{- |
+The ::selected-children-changed signal is emitted when the
+set of selected children changes.
+
+Use 'GI.Gtk.Objects.FlowBox.flowBoxSelectedForeach' or
+'GI.Gtk.Objects.FlowBox.flowBoxGetSelectedChildren' to obtain the
+selected children.
+-}
+type FlowBoxSelectedChildrenChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxSelectedChildrenChangedCallback`@.
+noFlowBoxSelectedChildrenChangedCallback :: Maybe FlowBoxSelectedChildrenChangedCallback
+noFlowBoxSelectedChildrenChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxSelectedChildrenChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxSelectedChildrenChangedCallback`.
+foreign import ccall "wrapper"
+    mk_FlowBoxSelectedChildrenChangedCallback :: C_FlowBoxSelectedChildrenChangedCallback -> IO (FunPtr C_FlowBoxSelectedChildrenChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxSelectedChildrenChanged :: MonadIO m => FlowBoxSelectedChildrenChangedCallback -> m (GClosure C_FlowBoxSelectedChildrenChangedCallback)
+genClosure_FlowBoxSelectedChildrenChanged cb = liftIO $ do
+    let cb' = wrap_FlowBoxSelectedChildrenChangedCallback cb
+    mk_FlowBoxSelectedChildrenChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxSelectedChildrenChangedCallback` into a `C_FlowBoxSelectedChildrenChangedCallback`.
+wrap_FlowBoxSelectedChildrenChangedCallback ::
+    FlowBoxSelectedChildrenChangedCallback ->
+    C_FlowBoxSelectedChildrenChangedCallback
+wrap_FlowBoxSelectedChildrenChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@selected-children-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' flowBox #selectedChildrenChanged callback
+@
+-}
+onFlowBoxSelectedChildrenChanged :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectedChildrenChangedCallback -> m SignalHandlerId
+onFlowBoxSelectedChildrenChanged obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxSelectedChildrenChangedCallback cb
+    cb'' <- mk_FlowBoxSelectedChildrenChangedCallback cb'
+    connectSignalFunPtr obj "selected-children-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selected-children-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' flowBox #selectedChildrenChanged callback
+@
+-}
+afterFlowBoxSelectedChildrenChanged :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectedChildrenChangedCallback -> m SignalHandlerId
+afterFlowBoxSelectedChildrenChanged obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxSelectedChildrenChangedCallback cb
+    cb'' <- mk_FlowBoxSelectedChildrenChangedCallback cb'
+    connectSignalFunPtr obj "selected-children-changed" cb'' SignalConnectAfter
+
+
+-- signal FlowBox::toggle-cursor-child
+{- |
+The ::toggle-cursor-child signal is a
+[keybinding signal][GtkBindingSignal]
+which toggles the selection of the child that has the focus.
+
+The default binding for this signal is Ctrl-Space.
+-}
+type FlowBoxToggleCursorChildCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxToggleCursorChildCallback`@.
+noFlowBoxToggleCursorChildCallback :: Maybe FlowBoxToggleCursorChildCallback
+noFlowBoxToggleCursorChildCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxToggleCursorChildCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxToggleCursorChildCallback`.
+foreign import ccall "wrapper"
+    mk_FlowBoxToggleCursorChildCallback :: C_FlowBoxToggleCursorChildCallback -> IO (FunPtr C_FlowBoxToggleCursorChildCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxToggleCursorChild :: MonadIO m => FlowBoxToggleCursorChildCallback -> m (GClosure C_FlowBoxToggleCursorChildCallback)
+genClosure_FlowBoxToggleCursorChild cb = liftIO $ do
+    let cb' = wrap_FlowBoxToggleCursorChildCallback cb
+    mk_FlowBoxToggleCursorChildCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxToggleCursorChildCallback` into a `C_FlowBoxToggleCursorChildCallback`.
+wrap_FlowBoxToggleCursorChildCallback ::
+    FlowBoxToggleCursorChildCallback ->
+    C_FlowBoxToggleCursorChildCallback
+wrap_FlowBoxToggleCursorChildCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggle-cursor-child@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' flowBox #toggleCursorChild callback
+@
+-}
+onFlowBoxToggleCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxToggleCursorChildCallback -> m SignalHandlerId
+onFlowBoxToggleCursorChild obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxToggleCursorChildCallback cb
+    cb'' <- mk_FlowBoxToggleCursorChildCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-child" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-cursor-child@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' flowBox #toggleCursorChild callback
+@
+-}
+afterFlowBoxToggleCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxToggleCursorChildCallback -> m SignalHandlerId
+afterFlowBoxToggleCursorChild obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxToggleCursorChildCallback cb
+    cb'' <- mk_FlowBoxToggleCursorChildCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-child" cb'' SignalConnectAfter
+
+
+-- signal FlowBox::unselect-all
+{- |
+The ::unselect-all signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to unselect all children of the box, if
+the selection mode permits it.
+
+The default bindings for this signal is Ctrl-Shift-a.
+-}
+type FlowBoxUnselectAllCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxUnselectAllCallback`@.
+noFlowBoxUnselectAllCallback :: Maybe FlowBoxUnselectAllCallback
+noFlowBoxUnselectAllCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxUnselectAllCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxUnselectAllCallback`.
+foreign import ccall "wrapper"
+    mk_FlowBoxUnselectAllCallback :: C_FlowBoxUnselectAllCallback -> IO (FunPtr C_FlowBoxUnselectAllCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxUnselectAll :: MonadIO m => FlowBoxUnselectAllCallback -> m (GClosure C_FlowBoxUnselectAllCallback)
+genClosure_FlowBoxUnselectAll cb = liftIO $ do
+    let cb' = wrap_FlowBoxUnselectAllCallback cb
+    mk_FlowBoxUnselectAllCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxUnselectAllCallback` into a `C_FlowBoxUnselectAllCallback`.
+wrap_FlowBoxUnselectAllCallback ::
+    FlowBoxUnselectAllCallback ->
+    C_FlowBoxUnselectAllCallback
+wrap_FlowBoxUnselectAllCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@unselect-all@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' flowBox #unselectAll callback
+@
+-}
+onFlowBoxUnselectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxUnselectAllCallback -> m SignalHandlerId
+onFlowBoxUnselectAll obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxUnselectAllCallback cb
+    cb'' <- mk_FlowBoxUnselectAllCallback cb'
+    connectSignalFunPtr obj "unselect-all" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@unselect-all@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' flowBox #unselectAll callback
+@
+-}
+afterFlowBoxUnselectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxUnselectAllCallback -> m SignalHandlerId
+afterFlowBoxUnselectAll obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxUnselectAllCallback cb
+    cb'' <- mk_FlowBoxUnselectAllCallback cb'
+    connectSignalFunPtr obj "unselect-all" cb'' SignalConnectAfter
+
+
+-- VVV Prop "activate-on-single-click"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@activate-on-single-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' flowBox #activateOnSingleClick
+@
+-}
+getFlowBoxActivateOnSingleClick :: (MonadIO m, IsFlowBox o) => o -> m Bool
+getFlowBoxActivateOnSingleClick obj = liftIO $ B.Properties.getObjectPropertyBool obj "activate-on-single-click"
+
+{- |
+Set the value of the “@activate-on-single-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' flowBox [ #activateOnSingleClick 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFlowBoxActivateOnSingleClick :: (MonadIO m, IsFlowBox o) => o -> Bool -> m ()
+setFlowBoxActivateOnSingleClick obj val = liftIO $ B.Properties.setObjectPropertyBool obj "activate-on-single-click" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@activate-on-single-click@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFlowBoxActivateOnSingleClick :: (IsFlowBox o) => Bool -> IO (GValueConstruct o)
+constructFlowBoxActivateOnSingleClick val = B.Properties.constructObjectPropertyBool "activate-on-single-click" val
+
+#if ENABLE_OVERLOADING
+data FlowBoxActivateOnSingleClickPropertyInfo
+instance AttrInfo FlowBoxActivateOnSingleClickPropertyInfo where
+    type AttrAllowedOps FlowBoxActivateOnSingleClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FlowBoxActivateOnSingleClickPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FlowBoxActivateOnSingleClickPropertyInfo = IsFlowBox
+    type AttrGetType FlowBoxActivateOnSingleClickPropertyInfo = Bool
+    type AttrLabel FlowBoxActivateOnSingleClickPropertyInfo = "activate-on-single-click"
+    type AttrOrigin FlowBoxActivateOnSingleClickPropertyInfo = FlowBox
+    attrGet _ = getFlowBoxActivateOnSingleClick
+    attrSet _ = setFlowBoxActivateOnSingleClick
+    attrConstruct _ = constructFlowBoxActivateOnSingleClick
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "column-spacing"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@column-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' flowBox #columnSpacing
+@
+-}
+getFlowBoxColumnSpacing :: (MonadIO m, IsFlowBox o) => o -> m Word32
+getFlowBoxColumnSpacing obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "column-spacing"
+
+{- |
+Set the value of the “@column-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' flowBox [ #columnSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFlowBoxColumnSpacing :: (MonadIO m, IsFlowBox o) => o -> Word32 -> m ()
+setFlowBoxColumnSpacing obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "column-spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@column-spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFlowBoxColumnSpacing :: (IsFlowBox o) => Word32 -> IO (GValueConstruct o)
+constructFlowBoxColumnSpacing val = B.Properties.constructObjectPropertyUInt32 "column-spacing" val
+
+#if ENABLE_OVERLOADING
+data FlowBoxColumnSpacingPropertyInfo
+instance AttrInfo FlowBoxColumnSpacingPropertyInfo where
+    type AttrAllowedOps FlowBoxColumnSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FlowBoxColumnSpacingPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint FlowBoxColumnSpacingPropertyInfo = IsFlowBox
+    type AttrGetType FlowBoxColumnSpacingPropertyInfo = Word32
+    type AttrLabel FlowBoxColumnSpacingPropertyInfo = "column-spacing"
+    type AttrOrigin FlowBoxColumnSpacingPropertyInfo = FlowBox
+    attrGet _ = getFlowBoxColumnSpacing
+    attrSet _ = setFlowBoxColumnSpacing
+    attrConstruct _ = constructFlowBoxColumnSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "homogeneous"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' flowBox #homogeneous
+@
+-}
+getFlowBoxHomogeneous :: (MonadIO m, IsFlowBox o) => o -> m Bool
+getFlowBoxHomogeneous obj = liftIO $ B.Properties.getObjectPropertyBool obj "homogeneous"
+
+{- |
+Set the value of the “@homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' flowBox [ #homogeneous 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFlowBoxHomogeneous :: (MonadIO m, IsFlowBox o) => o -> Bool -> m ()
+setFlowBoxHomogeneous obj val = liftIO $ B.Properties.setObjectPropertyBool obj "homogeneous" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@homogeneous@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFlowBoxHomogeneous :: (IsFlowBox o) => Bool -> IO (GValueConstruct o)
+constructFlowBoxHomogeneous val = B.Properties.constructObjectPropertyBool "homogeneous" val
+
+#if ENABLE_OVERLOADING
+data FlowBoxHomogeneousPropertyInfo
+instance AttrInfo FlowBoxHomogeneousPropertyInfo where
+    type AttrAllowedOps FlowBoxHomogeneousPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FlowBoxHomogeneousPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FlowBoxHomogeneousPropertyInfo = IsFlowBox
+    type AttrGetType FlowBoxHomogeneousPropertyInfo = Bool
+    type AttrLabel FlowBoxHomogeneousPropertyInfo = "homogeneous"
+    type AttrOrigin FlowBoxHomogeneousPropertyInfo = FlowBox
+    attrGet _ = getFlowBoxHomogeneous
+    attrSet _ = setFlowBoxHomogeneous
+    attrConstruct _ = constructFlowBoxHomogeneous
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "max-children-per-line"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@max-children-per-line@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' flowBox #maxChildrenPerLine
+@
+-}
+getFlowBoxMaxChildrenPerLine :: (MonadIO m, IsFlowBox o) => o -> m Word32
+getFlowBoxMaxChildrenPerLine obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "max-children-per-line"
+
+{- |
+Set the value of the “@max-children-per-line@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' flowBox [ #maxChildrenPerLine 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFlowBoxMaxChildrenPerLine :: (MonadIO m, IsFlowBox o) => o -> Word32 -> m ()
+setFlowBoxMaxChildrenPerLine obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "max-children-per-line" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-children-per-line@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFlowBoxMaxChildrenPerLine :: (IsFlowBox o) => Word32 -> IO (GValueConstruct o)
+constructFlowBoxMaxChildrenPerLine val = B.Properties.constructObjectPropertyUInt32 "max-children-per-line" val
+
+#if ENABLE_OVERLOADING
+data FlowBoxMaxChildrenPerLinePropertyInfo
+instance AttrInfo FlowBoxMaxChildrenPerLinePropertyInfo where
+    type AttrAllowedOps FlowBoxMaxChildrenPerLinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FlowBoxMaxChildrenPerLinePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint FlowBoxMaxChildrenPerLinePropertyInfo = IsFlowBox
+    type AttrGetType FlowBoxMaxChildrenPerLinePropertyInfo = Word32
+    type AttrLabel FlowBoxMaxChildrenPerLinePropertyInfo = "max-children-per-line"
+    type AttrOrigin FlowBoxMaxChildrenPerLinePropertyInfo = FlowBox
+    attrGet _ = getFlowBoxMaxChildrenPerLine
+    attrSet _ = setFlowBoxMaxChildrenPerLine
+    attrConstruct _ = constructFlowBoxMaxChildrenPerLine
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "min-children-per-line"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@min-children-per-line@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' flowBox #minChildrenPerLine
+@
+-}
+getFlowBoxMinChildrenPerLine :: (MonadIO m, IsFlowBox o) => o -> m Word32
+getFlowBoxMinChildrenPerLine obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "min-children-per-line"
+
+{- |
+Set the value of the “@min-children-per-line@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' flowBox [ #minChildrenPerLine 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFlowBoxMinChildrenPerLine :: (MonadIO m, IsFlowBox o) => o -> Word32 -> m ()
+setFlowBoxMinChildrenPerLine obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "min-children-per-line" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@min-children-per-line@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFlowBoxMinChildrenPerLine :: (IsFlowBox o) => Word32 -> IO (GValueConstruct o)
+constructFlowBoxMinChildrenPerLine val = B.Properties.constructObjectPropertyUInt32 "min-children-per-line" val
+
+#if ENABLE_OVERLOADING
+data FlowBoxMinChildrenPerLinePropertyInfo
+instance AttrInfo FlowBoxMinChildrenPerLinePropertyInfo where
+    type AttrAllowedOps FlowBoxMinChildrenPerLinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FlowBoxMinChildrenPerLinePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint FlowBoxMinChildrenPerLinePropertyInfo = IsFlowBox
+    type AttrGetType FlowBoxMinChildrenPerLinePropertyInfo = Word32
+    type AttrLabel FlowBoxMinChildrenPerLinePropertyInfo = "min-children-per-line"
+    type AttrOrigin FlowBoxMinChildrenPerLinePropertyInfo = FlowBox
+    attrGet _ = getFlowBoxMinChildrenPerLine
+    attrSet _ = setFlowBoxMinChildrenPerLine
+    attrConstruct _ = constructFlowBoxMinChildrenPerLine
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "row-spacing"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@row-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' flowBox #rowSpacing
+@
+-}
+getFlowBoxRowSpacing :: (MonadIO m, IsFlowBox o) => o -> m Word32
+getFlowBoxRowSpacing obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "row-spacing"
+
+{- |
+Set the value of the “@row-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' flowBox [ #rowSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFlowBoxRowSpacing :: (MonadIO m, IsFlowBox o) => o -> Word32 -> m ()
+setFlowBoxRowSpacing obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "row-spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@row-spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFlowBoxRowSpacing :: (IsFlowBox o) => Word32 -> IO (GValueConstruct o)
+constructFlowBoxRowSpacing val = B.Properties.constructObjectPropertyUInt32 "row-spacing" val
+
+#if ENABLE_OVERLOADING
+data FlowBoxRowSpacingPropertyInfo
+instance AttrInfo FlowBoxRowSpacingPropertyInfo where
+    type AttrAllowedOps FlowBoxRowSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FlowBoxRowSpacingPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint FlowBoxRowSpacingPropertyInfo = IsFlowBox
+    type AttrGetType FlowBoxRowSpacingPropertyInfo = Word32
+    type AttrLabel FlowBoxRowSpacingPropertyInfo = "row-spacing"
+    type AttrOrigin FlowBoxRowSpacingPropertyInfo = FlowBox
+    attrGet _ = getFlowBoxRowSpacing
+    attrSet _ = setFlowBoxRowSpacing
+    attrConstruct _ = constructFlowBoxRowSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "selection-mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SelectionMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@selection-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' flowBox #selectionMode
+@
+-}
+getFlowBoxSelectionMode :: (MonadIO m, IsFlowBox o) => o -> m Gtk.Enums.SelectionMode
+getFlowBoxSelectionMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "selection-mode"
+
+{- |
+Set the value of the “@selection-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' flowBox [ #selectionMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFlowBoxSelectionMode :: (MonadIO m, IsFlowBox o) => o -> Gtk.Enums.SelectionMode -> m ()
+setFlowBoxSelectionMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "selection-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@selection-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFlowBoxSelectionMode :: (IsFlowBox o) => Gtk.Enums.SelectionMode -> IO (GValueConstruct o)
+constructFlowBoxSelectionMode val = B.Properties.constructObjectPropertyEnum "selection-mode" val
+
+#if ENABLE_OVERLOADING
+data FlowBoxSelectionModePropertyInfo
+instance AttrInfo FlowBoxSelectionModePropertyInfo where
+    type AttrAllowedOps FlowBoxSelectionModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FlowBoxSelectionModePropertyInfo = (~) Gtk.Enums.SelectionMode
+    type AttrBaseTypeConstraint FlowBoxSelectionModePropertyInfo = IsFlowBox
+    type AttrGetType FlowBoxSelectionModePropertyInfo = Gtk.Enums.SelectionMode
+    type AttrLabel FlowBoxSelectionModePropertyInfo = "selection-mode"
+    type AttrOrigin FlowBoxSelectionModePropertyInfo = FlowBox
+    attrGet _ = getFlowBoxSelectionMode
+    attrSet _ = setFlowBoxSelectionMode
+    attrConstruct _ = constructFlowBoxSelectionMode
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FlowBox
+type instance O.AttributeList FlowBox = FlowBoxAttributeList
+type FlowBoxAttributeList = ('[ '("activateOnSingleClick", FlowBoxActivateOnSingleClickPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("columnSpacing", FlowBoxColumnSpacingPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", FlowBoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxChildrenPerLine", FlowBoxMaxChildrenPerLinePropertyInfo), '("minChildrenPerLine", FlowBoxMinChildrenPerLinePropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rowSpacing", FlowBoxRowSpacingPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectionMode", FlowBoxSelectionModePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+flowBoxActivateOnSingleClick :: AttrLabelProxy "activateOnSingleClick"
+flowBoxActivateOnSingleClick = AttrLabelProxy
+
+flowBoxColumnSpacing :: AttrLabelProxy "columnSpacing"
+flowBoxColumnSpacing = AttrLabelProxy
+
+flowBoxHomogeneous :: AttrLabelProxy "homogeneous"
+flowBoxHomogeneous = AttrLabelProxy
+
+flowBoxMaxChildrenPerLine :: AttrLabelProxy "maxChildrenPerLine"
+flowBoxMaxChildrenPerLine = AttrLabelProxy
+
+flowBoxMinChildrenPerLine :: AttrLabelProxy "minChildrenPerLine"
+flowBoxMinChildrenPerLine = AttrLabelProxy
+
+flowBoxRowSpacing :: AttrLabelProxy "rowSpacing"
+flowBoxRowSpacing = AttrLabelProxy
+
+flowBoxSelectionMode :: AttrLabelProxy "selectionMode"
+flowBoxSelectionMode = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data FlowBoxActivateCursorChildSignalInfo
+instance SignalInfo FlowBoxActivateCursorChildSignalInfo where
+    type HaskellCallbackType FlowBoxActivateCursorChildSignalInfo = FlowBoxActivateCursorChildCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FlowBoxActivateCursorChildCallback cb
+        cb'' <- mk_FlowBoxActivateCursorChildCallback cb'
+        connectSignalFunPtr obj "activate-cursor-child" cb'' connectMode
+
+data FlowBoxChildActivatedSignalInfo
+instance SignalInfo FlowBoxChildActivatedSignalInfo where
+    type HaskellCallbackType FlowBoxChildActivatedSignalInfo = FlowBoxChildActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FlowBoxChildActivatedCallback cb
+        cb'' <- mk_FlowBoxChildActivatedCallback cb'
+        connectSignalFunPtr obj "child-activated" cb'' connectMode
+
+data FlowBoxMoveCursorSignalInfo
+instance SignalInfo FlowBoxMoveCursorSignalInfo where
+    type HaskellCallbackType FlowBoxMoveCursorSignalInfo = FlowBoxMoveCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FlowBoxMoveCursorCallback cb
+        cb'' <- mk_FlowBoxMoveCursorCallback cb'
+        connectSignalFunPtr obj "move-cursor" cb'' connectMode
+
+data FlowBoxSelectAllSignalInfo
+instance SignalInfo FlowBoxSelectAllSignalInfo where
+    type HaskellCallbackType FlowBoxSelectAllSignalInfo = FlowBoxSelectAllCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FlowBoxSelectAllCallback cb
+        cb'' <- mk_FlowBoxSelectAllCallback cb'
+        connectSignalFunPtr obj "select-all" cb'' connectMode
+
+data FlowBoxSelectedChildrenChangedSignalInfo
+instance SignalInfo FlowBoxSelectedChildrenChangedSignalInfo where
+    type HaskellCallbackType FlowBoxSelectedChildrenChangedSignalInfo = FlowBoxSelectedChildrenChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FlowBoxSelectedChildrenChangedCallback cb
+        cb'' <- mk_FlowBoxSelectedChildrenChangedCallback cb'
+        connectSignalFunPtr obj "selected-children-changed" cb'' connectMode
+
+data FlowBoxToggleCursorChildSignalInfo
+instance SignalInfo FlowBoxToggleCursorChildSignalInfo where
+    type HaskellCallbackType FlowBoxToggleCursorChildSignalInfo = FlowBoxToggleCursorChildCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FlowBoxToggleCursorChildCallback cb
+        cb'' <- mk_FlowBoxToggleCursorChildCallback cb'
+        connectSignalFunPtr obj "toggle-cursor-child" cb'' connectMode
+
+data FlowBoxUnselectAllSignalInfo
+instance SignalInfo FlowBoxUnselectAllSignalInfo where
+    type HaskellCallbackType FlowBoxUnselectAllSignalInfo = FlowBoxUnselectAllCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FlowBoxUnselectAllCallback cb
+        cb'' <- mk_FlowBoxUnselectAllCallback cb'
+        connectSignalFunPtr obj "unselect-all" cb'' connectMode
+
+type instance O.SignalList FlowBox = FlowBoxSignalList
+type FlowBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateCursorChild", FlowBoxActivateCursorChildSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childActivated", FlowBoxChildActivatedSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", FlowBoxMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectAll", FlowBoxSelectAllSignalInfo), '("selectedChildrenChanged", FlowBoxSelectedChildrenChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleCursorChild", FlowBoxToggleCursorChildSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("unselectAll", FlowBoxUnselectAllSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FlowBox::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FlowBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_new" gtk_flow_box_new :: 
+    IO (Ptr FlowBox)
+
+{- |
+Creates a GtkFlowBox.
+
+/Since: 3.12/
+-}
+flowBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m FlowBox
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FlowBox.FlowBox' container -}
+flowBoxNew  = liftIO $ do
+    result <- gtk_flow_box_new
+    checkUnexpectedReturnNULL "flowBoxNew" result
+    result' <- (newObject FlowBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FlowBox::bind_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gio", name = "ListModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GListModel to be bound to @box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "create_widget_func", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxCreateWidgetFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function that creates widgets for items", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @create_widget_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_free_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function for freeing @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_bind_model" gtk_flow_box_bind_model :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Ptr Gio.ListModel.ListModel ->          -- model : TInterface (Name {namespace = "Gio", name = "ListModel"})
+    FunPtr Gtk.Callbacks.C_FlowBoxCreateWidgetFunc -> -- create_widget_func : TInterface (Name {namespace = "Gtk", name = "FlowBoxCreateWidgetFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- user_data_free_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Binds /@model@/ to /@box@/.
+
+If /@box@/ was already bound to a model, that previous binding is
+destroyed.
+
+The contents of /@box@/ are cleared and then filled with widgets that
+represent items from /@model@/. /@box@/ is updated whenever /@model@/ changes.
+If /@model@/ is 'Nothing', /@box@/ is left empty.
+
+It is undefined to add or remove widgets directly (for example, with
+'GI.Gtk.Objects.FlowBox.flowBoxInsert' or 'GI.Gtk.Objects.Container.containerAdd') while /@box@/ is bound to a
+model.
+
+Note that using a model is incompatible with the filtering and sorting
+functionality in GtkFlowBox. When using a model, filtering and sorting
+should be implemented by the model.
+
+/Since: 3.18/
+-}
+flowBoxBindModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a, Gio.ListModel.IsListModel b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Maybe (b)
+    {- ^ /@model@/: the 'GI.Gio.Interfaces.ListModel.ListModel' to be bound to /@box@/ -}
+    -> Gtk.Callbacks.FlowBoxCreateWidgetFunc
+    {- ^ /@createWidgetFunc@/: a function that creates widgets for items -}
+    -> m ()
+flowBoxBindModel box model createWidgetFunc = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeModel <- case model of
+        Nothing -> return nullPtr
+        Just jModel -> do
+            jModel' <- unsafeManagedPtrCastPtr jModel
+            return jModel'
+    createWidgetFunc' <- Gtk.Callbacks.mk_FlowBoxCreateWidgetFunc (Gtk.Callbacks.wrap_FlowBoxCreateWidgetFunc Nothing (Gtk.Callbacks.drop_closures_FlowBoxCreateWidgetFunc createWidgetFunc))
+    let userData = castFunPtrToPtr createWidgetFunc'
+    let userDataFreeFunc = safeFreeFunPtrPtr
+    gtk_flow_box_bind_model box' maybeModel createWidgetFunc' userData userDataFreeFunc
+    touchManagedPtr box
+    whenJust model touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxBindModelMethodInfo
+instance (signature ~ (Maybe (b) -> Gtk.Callbacks.FlowBoxCreateWidgetFunc -> m ()), MonadIO m, IsFlowBox a, Gio.ListModel.IsListModel b) => O.MethodInfo FlowBoxBindModelMethodInfo a signature where
+    overloadedMethod _ = flowBoxBindModel
+
+#endif
+
+-- method FlowBox::get_activate_on_single_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_activate_on_single_click" gtk_flow_box_get_activate_on_single_click :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO CInt
+
+{- |
+Returns whether children activate on single clicks.
+
+/Since: 3.12/
+-}
+flowBoxGetActivateOnSingleClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if children are activated on single click,
+    'False' otherwise -}
+flowBoxGetActivateOnSingleClick box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_activate_on_single_click box'
+    let result' = (/= 0) result
+    touchManagedPtr box
+    return result'
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetActivateOnSingleClickMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetActivateOnSingleClickMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetActivateOnSingleClick
+
+#endif
+
+-- method FlowBox::get_child_at_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position of the child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_child_at_index" gtk_flow_box_get_child_at_index :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Int32 ->                                -- idx : TBasicType TInt
+    IO (Ptr Gtk.FlowBoxChild.FlowBoxChild)
+
+{- |
+Gets the nth child in the /@box@/.
+
+/Since: 3.12/
+-}
+flowBoxGetChildAtIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Int32
+    {- ^ /@idx@/: the position of the child -}
+    -> m (Maybe Gtk.FlowBoxChild.FlowBoxChild)
+    {- ^ __Returns:__ the child widget, which will
+    always be a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' or 'Nothing' in case no child widget
+    with the given index exists. -}
+flowBoxGetChildAtIndex box idx = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_child_at_index box' idx
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.FlowBoxChild.FlowBoxChild) result'
+        return result''
+    touchManagedPtr box
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetChildAtIndexMethodInfo
+instance (signature ~ (Int32 -> m (Maybe Gtk.FlowBoxChild.FlowBoxChild)), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetChildAtIndexMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetChildAtIndex
+
+#endif
+
+-- method FlowBox::get_child_at_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate of the child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate of the child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_child_at_pos" gtk_flow_box_get_child_at_pos :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO (Ptr Gtk.FlowBoxChild.FlowBoxChild)
+
+{- |
+Gets the child in the (/@x@/, /@y@/) position.
+
+/Since: 3.22.6/
+-}
+flowBoxGetChildAtPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Int32
+    {- ^ /@x@/: the x coordinate of the child -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate of the child -}
+    -> m (Maybe Gtk.FlowBoxChild.FlowBoxChild)
+    {- ^ __Returns:__ the child widget, which will
+    always be a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' or 'Nothing' in case no child widget
+    exists for the given x and y coordinates. -}
+flowBoxGetChildAtPos box x y = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_child_at_pos box' x y
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.FlowBoxChild.FlowBoxChild) result'
+        return result''
+    touchManagedPtr box
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetChildAtPosMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Maybe Gtk.FlowBoxChild.FlowBoxChild)), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetChildAtPosMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetChildAtPos
+
+#endif
+
+-- method FlowBox::get_column_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_column_spacing" gtk_flow_box_get_column_spacing :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO Word32
+
+{- |
+Gets the horizontal spacing.
+
+/Since: 3.12/
+-}
+flowBoxGetColumnSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m Word32
+    {- ^ __Returns:__ the horizontal spacing -}
+flowBoxGetColumnSpacing box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_column_spacing box'
+    touchManagedPtr box
+    return result
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetColumnSpacingMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetColumnSpacingMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetColumnSpacing
+
+#endif
+
+-- method FlowBox::get_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_homogeneous" gtk_flow_box_get_homogeneous :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO CInt
+
+{- |
+Returns whether the box is homogeneous (all children are the
+same size). See 'GI.Gtk.Objects.Box.boxSetHomogeneous'.
+
+/Since: 3.12/
+-}
+flowBoxGetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the box is homogeneous. -}
+flowBoxGetHomogeneous box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_homogeneous box'
+    let result' = (/= 0) result
+    touchManagedPtr box
+    return result'
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetHomogeneousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetHomogeneous
+
+#endif
+
+-- method FlowBox::get_max_children_per_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_max_children_per_line" gtk_flow_box_get_max_children_per_line :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO Word32
+
+{- |
+Gets the maximum number of children per line.
+
+/Since: 3.12/
+-}
+flowBoxGetMaxChildrenPerLine ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m Word32
+    {- ^ __Returns:__ the maximum number of children per line -}
+flowBoxGetMaxChildrenPerLine box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_max_children_per_line box'
+    touchManagedPtr box
+    return result
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetMaxChildrenPerLineMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetMaxChildrenPerLineMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetMaxChildrenPerLine
+
+#endif
+
+-- method FlowBox::get_min_children_per_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_min_children_per_line" gtk_flow_box_get_min_children_per_line :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO Word32
+
+{- |
+Gets the minimum number of children per line.
+
+/Since: 3.12/
+-}
+flowBoxGetMinChildrenPerLine ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m Word32
+    {- ^ __Returns:__ the minimum number of children per line -}
+flowBoxGetMinChildrenPerLine box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_min_children_per_line box'
+    touchManagedPtr box
+    return result
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetMinChildrenPerLineMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetMinChildrenPerLineMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetMinChildrenPerLine
+
+#endif
+
+-- method FlowBox::get_row_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_row_spacing" gtk_flow_box_get_row_spacing :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO Word32
+
+{- |
+Gets the vertical spacing.
+
+/Since: 3.12/
+-}
+flowBoxGetRowSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m Word32
+    {- ^ __Returns:__ the vertical spacing -}
+flowBoxGetRowSpacing box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_row_spacing box'
+    touchManagedPtr box
+    return result
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetRowSpacingMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetRowSpacingMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetRowSpacing
+
+#endif
+
+-- method FlowBox::get_selected_children
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_selected_children" gtk_flow_box_get_selected_children :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO (Ptr (GList (Ptr Gtk.FlowBoxChild.FlowBoxChild)))
+
+{- |
+Creates a list of all selected children.
+
+/Since: 3.12/
+-}
+flowBoxGetSelectedChildren ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m [Gtk.FlowBoxChild.FlowBoxChild]
+    {- ^ __Returns:__ 
+    A 'GI.GLib.Structs.List.List' containing the 'GI.Gtk.Objects.Widget.Widget' for each selected child.
+    Free with @/g_list_free()/@ when done. -}
+flowBoxGetSelectedChildren box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_selected_children box'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.FlowBoxChild.FlowBoxChild) result'
+    g_list_free result
+    touchManagedPtr box
+    return result''
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetSelectedChildrenMethodInfo
+instance (signature ~ (m [Gtk.FlowBoxChild.FlowBoxChild]), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetSelectedChildrenMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetSelectedChildren
+
+#endif
+
+-- method FlowBox::get_selection_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SelectionMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_get_selection_mode" gtk_flow_box_get_selection_mode :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO CUInt
+
+{- |
+Gets the selection mode of /@box@/.
+
+/Since: 3.12/
+-}
+flowBoxGetSelectionMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m Gtk.Enums.SelectionMode
+    {- ^ __Returns:__ the 'GI.Gtk.Enums.SelectionMode' -}
+flowBoxGetSelectionMode box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_flow_box_get_selection_mode box'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr box
+    return result'
+
+#if ENABLE_OVERLOADING
+data FlowBoxGetSelectionModeMethodInfo
+instance (signature ~ (m Gtk.Enums.SelectionMode), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxGetSelectionModeMethodInfo a signature where
+    overloadedMethod _ = flowBoxGetSelectionMode
+
+#endif
+
+-- method FlowBox::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to insert @child in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_insert" gtk_flow_box_insert :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Inserts the /@widget@/ into /@box@/ at /@position@/.
+
+If a sort function is set, the widget will actually be inserted
+at the calculated position and this function has the same effect
+as 'GI.Gtk.Objects.Container.containerAdd'.
+
+If /@position@/ is -1, or larger than the total number of children
+in the /@box@/, then the /@widget@/ will be appended to the end.
+
+/Since: 3.12/
+-}
+flowBoxInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' to add -}
+    -> Int32
+    {- ^ /@position@/: the position to insert /@child@/ in -}
+    -> m ()
+flowBoxInsert box widget position = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_flow_box_insert box' widget' position
+    touchManagedPtr box
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxInsertMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsFlowBox a, Gtk.Widget.IsWidget b) => O.MethodInfo FlowBoxInsertMethodInfo a signature where
+    overloadedMethod _ = flowBoxInsert
+
+#endif
+
+-- method FlowBox::invalidate_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_invalidate_filter" gtk_flow_box_invalidate_filter :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO ()
+
+{- |
+Updates the filtering for all children.
+
+Call this function when the result of the filter
+function on the /@box@/ is changed due ot an external
+factor. For instance, this would be used if the
+filter function just looked for a specific search
+term, and the entry with the string has changed.
+
+/Since: 3.12/
+-}
+flowBoxInvalidateFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m ()
+flowBoxInvalidateFilter box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_flow_box_invalidate_filter box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxInvalidateFilterMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxInvalidateFilterMethodInfo a signature where
+    overloadedMethod _ = flowBoxInvalidateFilter
+
+#endif
+
+-- method FlowBox::invalidate_sort
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_invalidate_sort" gtk_flow_box_invalidate_sort :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO ()
+
+{- |
+Updates the sorting for all children.
+
+Call this when the result of the sort function on
+/@box@/ is changed due to an external factor.
+
+/Since: 3.12/
+-}
+flowBoxInvalidateSort ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m ()
+flowBoxInvalidateSort box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_flow_box_invalidate_sort box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxInvalidateSortMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxInvalidateSortMethodInfo a signature where
+    overloadedMethod _ = flowBoxInvalidateSort
+
+#endif
+
+-- method FlowBox::select_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_select_all" gtk_flow_box_select_all :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO ()
+
+{- |
+Select all children of /@box@/, if the selection
+mode allows it.
+
+/Since: 3.12/
+-}
+flowBoxSelectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m ()
+flowBoxSelectAll box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_flow_box_select_all box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSelectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSelectAllMethodInfo a signature where
+    overloadedMethod _ = flowBoxSelectAll
+
+#endif
+
+-- method FlowBox::select_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_select_child" gtk_flow_box_select_child :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Ptr Gtk.FlowBoxChild.FlowBoxChild ->    -- child : TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"})
+    IO ()
+
+{- |
+Selects a single child of /@box@/, if the selection
+mode allows it.
+
+/Since: 3.12/
+-}
+flowBoxSelectChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a, Gtk.FlowBoxChild.IsFlowBoxChild b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> b
+    {- ^ /@child@/: a child of /@box@/ -}
+    -> m ()
+flowBoxSelectChild box child = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_flow_box_select_child box' child'
+    touchManagedPtr box
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSelectChildMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFlowBox a, Gtk.FlowBoxChild.IsFlowBoxChild b) => O.MethodInfo FlowBoxSelectChildMethodInfo a signature where
+    overloadedMethod _ = flowBoxSelectChild
+
+#endif
+
+-- method FlowBox::selected_foreach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call for each selected child", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_selected_foreach" gtk_flow_box_selected_foreach :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    FunPtr Gtk.Callbacks.C_FlowBoxForeachFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "FlowBoxForeachFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls a function for each selected child.
+
+Note that the selection cannot be modified from within
+this function.
+
+/Since: 3.12/
+-}
+flowBoxSelectedForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Gtk.Callbacks.FlowBoxForeachFunc
+    {- ^ /@func@/: the function to call for each selected child -}
+    -> m ()
+flowBoxSelectedForeach box func = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    func' <- Gtk.Callbacks.mk_FlowBoxForeachFunc (Gtk.Callbacks.wrap_FlowBoxForeachFunc Nothing (Gtk.Callbacks.drop_closures_FlowBoxForeachFunc func))
+    let data_ = nullPtr
+    gtk_flow_box_selected_foreach box' func' data_
+    safeFreeFunPtr $ castFunPtrToPtr func'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSelectedForeachMethodInfo
+instance (signature ~ (Gtk.Callbacks.FlowBoxForeachFunc -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSelectedForeachMethodInfo a signature where
+    overloadedMethod _ = flowBoxSelectedForeach
+
+#endif
+
+-- method FlowBox::set_activate_on_single_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "single", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to emit child-activated on a single click", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_activate_on_single_click" gtk_flow_box_set_activate_on_single_click :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    CInt ->                                 -- single : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@single@/ is 'True', children will be activated when you click
+on them, otherwise you need to double-click.
+
+/Since: 3.12/
+-}
+flowBoxSetActivateOnSingleClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Bool
+    {- ^ /@single@/: 'True' to emit child-activated on a single click -}
+    -> m ()
+flowBoxSetActivateOnSingleClick box single = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    let single' = (fromIntegral . fromEnum) single
+    gtk_flow_box_set_activate_on_single_click box' single'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetActivateOnSingleClickMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSetActivateOnSingleClickMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetActivateOnSingleClick
+
+#endif
+
+-- method FlowBox::set_column_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the spacing to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_column_spacing" gtk_flow_box_set_column_spacing :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Word32 ->                               -- spacing : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the horizontal space to add between children.
+See the 'GI.Gtk.Objects.FlowBox.FlowBox':@/column-spacing/@ property.
+
+/Since: 3.12/
+-}
+flowBoxSetColumnSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Word32
+    {- ^ /@spacing@/: the spacing to use -}
+    -> m ()
+flowBoxSetColumnSpacing box spacing = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_flow_box_set_column_spacing box' spacing
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetColumnSpacingMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSetColumnSpacingMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetColumnSpacing
+
+#endif
+
+-- method FlowBox::set_filter_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_func", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxFilterFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "callback that\n    lets you filter which children to show", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @filter_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notifier for @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_filter_func" gtk_flow_box_set_filter_func :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    FunPtr Gtk.Callbacks.C_FlowBoxFilterFunc -> -- filter_func : TInterface (Name {namespace = "Gtk", name = "FlowBoxFilterFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+By setting a filter function on the /@box@/ one can decide dynamically
+which of the children to show. For instance, to implement a search
+function that only shows the children matching the search terms.
+
+The /@filterFunc@/ will be called for each child after the call, and
+it will continue to be called each time a child changes (via
+'GI.Gtk.Objects.FlowBoxChild.flowBoxChildChanged') or when 'GI.Gtk.Objects.FlowBox.flowBoxInvalidateFilter'
+is called.
+
+Note that using a filter function is incompatible with using a model
+(see 'GI.Gtk.Objects.FlowBox.flowBoxBindModel').
+
+/Since: 3.12/
+-}
+flowBoxSetFilterFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Maybe (Gtk.Callbacks.FlowBoxFilterFunc)
+    {- ^ /@filterFunc@/: callback that
+    lets you filter which children to show -}
+    -> m ()
+flowBoxSetFilterFunc box filterFunc = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeFilterFunc <- case filterFunc of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFilterFunc -> do
+            jFilterFunc' <- Gtk.Callbacks.mk_FlowBoxFilterFunc (Gtk.Callbacks.wrap_FlowBoxFilterFunc Nothing (Gtk.Callbacks.drop_closures_FlowBoxFilterFunc jFilterFunc))
+            return jFilterFunc'
+    let userData = castFunPtrToPtr maybeFilterFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_flow_box_set_filter_func box' maybeFilterFunc userData destroy
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetFilterFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.FlowBoxFilterFunc) -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSetFilterFuncMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetFilterFunc
+
+#endif
+
+-- method FlowBox::set_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an adjustment which should be adjusted\n   when the focus is moved among the descendents of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_hadjustment" gtk_flow_box_set_hadjustment :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Hooks up an adjustment to focus handling in /@box@/.
+The adjustment is also used for autoscrolling during
+rubberband selection. See 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowGetHadjustment'
+for a typical way of obtaining the adjustment, and
+'GI.Gtk.Objects.FlowBox.flowBoxSetVadjustment'for setting the vertical
+adjustment.
+
+The adjustments have to be in pixel units and in the same
+coordinate system as the allocation for immediate children
+of the box.
+
+/Since: 3.12/
+-}
+flowBoxSetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> b
+    {- ^ /@adjustment@/: an adjustment which should be adjusted
+   when the focus is moved among the descendents of /@container@/ -}
+    -> m ()
+flowBoxSetHadjustment box adjustment = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    gtk_flow_box_set_hadjustment box' adjustment'
+    touchManagedPtr box
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetHadjustmentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFlowBox a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo FlowBoxSetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetHadjustment
+
+#endif
+
+-- method FlowBox::set_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to create equal allotments,\n  %FALSE for variable allotments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_homogeneous" gtk_flow_box_set_homogeneous :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.FlowBox.FlowBox':@/homogeneous/@ property of /@box@/, controlling
+whether or not all children of /@box@/ are given equal space
+in the box.
+
+/Since: 3.12/
+-}
+flowBoxSetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Bool
+    {- ^ /@homogeneous@/: 'True' to create equal allotments,
+  'False' for variable allotments -}
+    -> m ()
+flowBoxSetHomogeneous box homogeneous = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    gtk_flow_box_set_homogeneous box' homogeneous'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetHomogeneousMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetHomogeneous
+
+#endif
+
+-- method FlowBox::set_max_children_per_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_children", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum number of children per line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_max_children_per_line" gtk_flow_box_set_max_children_per_line :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Word32 ->                               -- n_children : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the maximum number of children to request and
+allocate space for in /@box@/’s orientation.
+
+Setting the maximum number of children per line
+limits the overall natural size request to be no more
+than /@nChildren@/ children long in the given orientation.
+
+/Since: 3.12/
+-}
+flowBoxSetMaxChildrenPerLine ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Word32
+    {- ^ /@nChildren@/: the maximum number of children per line -}
+    -> m ()
+flowBoxSetMaxChildrenPerLine box nChildren = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_flow_box_set_max_children_per_line box' nChildren
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetMaxChildrenPerLineMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSetMaxChildrenPerLineMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetMaxChildrenPerLine
+
+#endif
+
+-- method FlowBox::set_min_children_per_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_children", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum number of children per line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_min_children_per_line" gtk_flow_box_set_min_children_per_line :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Word32 ->                               -- n_children : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the minimum number of children to line up
+in /@box@/’s orientation before flowing.
+
+/Since: 3.12/
+-}
+flowBoxSetMinChildrenPerLine ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Word32
+    {- ^ /@nChildren@/: the minimum number of children per line -}
+    -> m ()
+flowBoxSetMinChildrenPerLine box nChildren = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_flow_box_set_min_children_per_line box' nChildren
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetMinChildrenPerLineMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSetMinChildrenPerLineMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetMinChildrenPerLine
+
+#endif
+
+-- method FlowBox::set_row_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the spacing to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_row_spacing" gtk_flow_box_set_row_spacing :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Word32 ->                               -- spacing : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the vertical space to add between children.
+See the 'GI.Gtk.Objects.FlowBox.FlowBox':@/row-spacing/@ property.
+
+/Since: 3.12/
+-}
+flowBoxSetRowSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Word32
+    {- ^ /@spacing@/: the spacing to use -}
+    -> m ()
+flowBoxSetRowSpacing box spacing = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_flow_box_set_row_spacing box' spacing
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetRowSpacingMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSetRowSpacingMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetRowSpacing
+
+#endif
+
+-- method FlowBox::set_selection_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gtk", name = "SelectionMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new selection mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_selection_mode" gtk_flow_box_set_selection_mode :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    CUInt ->                                -- mode : TInterface (Name {namespace = "Gtk", name = "SelectionMode"})
+    IO ()
+
+{- |
+Sets how selection works in /@box@/.
+See 'GI.Gtk.Enums.SelectionMode' for details.
+
+/Since: 3.12/
+-}
+flowBoxSetSelectionMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Gtk.Enums.SelectionMode
+    {- ^ /@mode@/: the new selection mode -}
+    -> m ()
+flowBoxSetSelectionMode box mode = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    let mode' = (fromIntegral . fromEnum) mode
+    gtk_flow_box_set_selection_mode box' mode'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetSelectionModeMethodInfo
+instance (signature ~ (Gtk.Enums.SelectionMode -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSetSelectionModeMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetSelectionMode
+
+#endif
+
+-- method FlowBox::set_sort_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_func", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxSortFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the sort function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @sort_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notifier for @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_sort_func" gtk_flow_box_set_sort_func :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    FunPtr Gtk.Callbacks.C_FlowBoxSortFunc -> -- sort_func : TInterface (Name {namespace = "Gtk", name = "FlowBoxSortFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+By setting a sort function on the /@box@/, one can dynamically
+reorder the children of the box, based on the contents of
+the children.
+
+The /@sortFunc@/ will be called for each child after the call,
+and will continue to be called each time a child changes (via
+'GI.Gtk.Objects.FlowBoxChild.flowBoxChildChanged') and when 'GI.Gtk.Objects.FlowBox.flowBoxInvalidateSort'
+is called.
+
+Note that using a sort function is incompatible with using a model
+(see 'GI.Gtk.Objects.FlowBox.flowBoxBindModel').
+
+/Since: 3.12/
+-}
+flowBoxSetSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> Maybe (Gtk.Callbacks.FlowBoxSortFunc)
+    {- ^ /@sortFunc@/: the sort function -}
+    -> m ()
+flowBoxSetSortFunc box sortFunc = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeSortFunc <- case sortFunc of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jSortFunc -> do
+            jSortFunc' <- Gtk.Callbacks.mk_FlowBoxSortFunc (Gtk.Callbacks.wrap_FlowBoxSortFunc Nothing (Gtk.Callbacks.drop_closures_FlowBoxSortFunc jSortFunc))
+            return jSortFunc'
+    let userData = castFunPtrToPtr maybeSortFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_flow_box_set_sort_func box' maybeSortFunc userData destroy
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetSortFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.FlowBoxSortFunc) -> m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxSetSortFuncMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetSortFunc
+
+#endif
+
+-- method FlowBox::set_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an adjustment which should be adjusted\n   when the focus is moved among the descendents of @container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_set_vadjustment" gtk_flow_box_set_vadjustment :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Hooks up an adjustment to focus handling in /@box@/.
+The adjustment is also used for autoscrolling during
+rubberband selection. See 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowGetVadjustment'
+for a typical way of obtaining the adjustment, and
+'GI.Gtk.Objects.FlowBox.flowBoxSetHadjustment'for setting the horizontal
+adjustment.
+
+The adjustments have to be in pixel units and in the same
+coordinate system as the allocation for immediate children
+of the box.
+
+/Since: 3.12/
+-}
+flowBoxSetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> b
+    {- ^ /@adjustment@/: an adjustment which should be adjusted
+   when the focus is moved among the descendents of /@container@/ -}
+    -> m ()
+flowBoxSetVadjustment box adjustment = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    gtk_flow_box_set_vadjustment box' adjustment'
+    touchManagedPtr box
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxSetVadjustmentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFlowBox a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo FlowBoxSetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = flowBoxSetVadjustment
+
+#endif
+
+-- method FlowBox::unselect_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_unselect_all" gtk_flow_box_unselect_all :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    IO ()
+
+{- |
+Unselect all children of /@box@/, if the selection
+mode allows it.
+
+/Since: 3.12/
+-}
+flowBoxUnselectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> m ()
+flowBoxUnselectAll box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_flow_box_unselect_all box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxUnselectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsFlowBox a) => O.MethodInfo FlowBoxUnselectAllMethodInfo a signature where
+    overloadedMethod _ = flowBoxUnselectAll
+
+#endif
+
+-- method FlowBox::unselect_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "FlowBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_unselect_child" gtk_flow_box_unselect_child :: 
+    Ptr FlowBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "FlowBox"})
+    Ptr Gtk.FlowBoxChild.FlowBoxChild ->    -- child : TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"})
+    IO ()
+
+{- |
+Unselects a single child of /@box@/, if the selection
+mode allows it.
+
+/Since: 3.12/
+-}
+flowBoxUnselectChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBox a, Gtk.FlowBoxChild.IsFlowBoxChild b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.FlowBox.FlowBox' -}
+    -> b
+    {- ^ /@child@/: a child of /@box@/ -}
+    -> m ()
+flowBoxUnselectChild box child = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_flow_box_unselect_child box' child'
+    touchManagedPtr box
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxUnselectChildMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsFlowBox a, Gtk.FlowBoxChild.IsFlowBoxChild b) => O.MethodInfo FlowBoxUnselectChildMethodInfo a signature where
+    overloadedMethod _ = flowBoxUnselectChild
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FlowBox.hs-boot b/GI/Gtk/Objects/FlowBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FlowBox.hs-boot
@@ -0,0 +1,161 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FlowBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FlowBox = FlowBox (ManagedPtr FlowBox)
+instance GObject FlowBox where
+class (GObject o, O.IsDescendantOf FlowBox o) => IsFlowBox o
+instance (GObject o, O.IsDescendantOf FlowBox o) => IsFlowBox o
+instance O.HasParentTypes FlowBox
+#if ENABLE_OVERLOADING
+data FlowBoxActivateOnSingleClickPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxColumnSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxHomogeneousPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxMaxChildrenPerLinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxMinChildrenPerLinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxRowSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSelectionModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxActivateCursorChildSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxChildActivatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxMoveCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSelectAllSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSelectedChildrenChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxToggleCursorChildSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxUnselectAllSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxBindModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetActivateOnSingleClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetChildAtIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetChildAtPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetColumnSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetMaxChildrenPerLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetMinChildrenPerLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetRowSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetSelectedChildrenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxGetSelectionModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxInvalidateFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxInvalidateSortMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSelectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSelectChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSelectedForeachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetActivateOnSingleClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetColumnSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetFilterFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetMaxChildrenPerLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetMinChildrenPerLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetRowSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetSelectionModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetSortFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxSetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxUnselectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxUnselectChildMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/FlowBoxAccessible.hs b/GI/Gtk/Objects/FlowBoxAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FlowBoxAccessible.hs
@@ -0,0 +1,173 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FlowBoxAccessible
+    ( 
+
+-- * Exported types
+    FlowBoxAccessible(..)                   ,
+    IsFlowBoxAccessible                     ,
+    toFlowBoxAccessible                     ,
+    noFlowBoxAccessible                     ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype FlowBoxAccessible = FlowBoxAccessible (ManagedPtr FlowBoxAccessible)
+foreign import ccall "gtk_flow_box_accessible_get_type"
+    c_gtk_flow_box_accessible_get_type :: IO GType
+
+instance GObject FlowBoxAccessible where
+    gobjectType = c_gtk_flow_box_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `FlowBoxAccessible`, for instance with `toFlowBoxAccessible`.
+class (GObject o, O.IsDescendantOf FlowBoxAccessible o) => IsFlowBoxAccessible o
+instance (GObject o, O.IsDescendantOf FlowBoxAccessible o) => IsFlowBoxAccessible o
+
+instance O.HasParentTypes FlowBoxAccessible
+type instance O.ParentTypes FlowBoxAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `FlowBoxAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFlowBoxAccessible :: (MonadIO m, IsFlowBoxAccessible o) => o -> m FlowBoxAccessible
+toFlowBoxAccessible = liftIO . unsafeCastTo FlowBoxAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FlowBoxAccessible`.
+noFlowBoxAccessible :: Maybe FlowBoxAccessible
+noFlowBoxAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFlowBoxAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFlowBoxAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveFlowBoxAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveFlowBoxAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFlowBoxAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFlowBoxAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveFlowBoxAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveFlowBoxAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveFlowBoxAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFlowBoxAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFlowBoxAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFlowBoxAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveFlowBoxAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveFlowBoxAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveFlowBoxAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFlowBoxAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFlowBoxAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFlowBoxAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveFlowBoxAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveFlowBoxAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFlowBoxAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveFlowBoxAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveFlowBoxAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveFlowBoxAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveFlowBoxAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFlowBoxAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveFlowBoxAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveFlowBoxAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveFlowBoxAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveFlowBoxAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveFlowBoxAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFlowBoxAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveFlowBoxAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveFlowBoxAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveFlowBoxAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFlowBoxAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFlowBoxAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFlowBoxAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFlowBoxAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFlowBoxAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveFlowBoxAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveFlowBoxAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFlowBoxAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveFlowBoxAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveFlowBoxAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveFlowBoxAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveFlowBoxAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveFlowBoxAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveFlowBoxAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveFlowBoxAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveFlowBoxAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveFlowBoxAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveFlowBoxAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFlowBoxAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFlowBoxAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveFlowBoxAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveFlowBoxAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveFlowBoxAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveFlowBoxAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFlowBoxAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveFlowBoxAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveFlowBoxAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveFlowBoxAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveFlowBoxAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveFlowBoxAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFlowBoxAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveFlowBoxAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveFlowBoxAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveFlowBoxAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFlowBoxAccessibleMethod t FlowBoxAccessible, O.MethodInfo info FlowBoxAccessible p) => OL.IsLabel t (FlowBoxAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FlowBoxAccessible
+type instance O.AttributeList FlowBoxAccessible = FlowBoxAccessibleAttributeList
+type FlowBoxAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FlowBoxAccessible = FlowBoxAccessibleSignalList
+type FlowBoxAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FlowBoxAccessible.hs-boot b/GI/Gtk/Objects/FlowBoxAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FlowBoxAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FlowBoxAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FlowBoxAccessible = FlowBoxAccessible (ManagedPtr FlowBoxAccessible)
+instance GObject FlowBoxAccessible where
+class (GObject o, O.IsDescendantOf FlowBoxAccessible o) => IsFlowBoxAccessible o
+instance (GObject o, O.IsDescendantOf FlowBoxAccessible o) => IsFlowBoxAccessible o
+instance O.HasParentTypes FlowBoxAccessible
diff --git a/GI/Gtk/Objects/FlowBoxChild.hs b/GI/Gtk/Objects/FlowBoxChild.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FlowBoxChild.hs
@@ -0,0 +1,710 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FlowBoxChild
+    ( 
+
+-- * Exported types
+    FlowBoxChild(..)                        ,
+    IsFlowBoxChild                          ,
+    toFlowBoxChild                          ,
+    noFlowBoxChild                          ,
+
+
+ -- * Methods
+-- ** changed #method:changed#
+
+#if ENABLE_OVERLOADING
+    FlowBoxChildChangedMethodInfo           ,
+#endif
+    flowBoxChildChanged                     ,
+
+
+-- ** getIndex #method:getIndex#
+
+#if ENABLE_OVERLOADING
+    FlowBoxChildGetIndexMethodInfo          ,
+#endif
+    flowBoxChildGetIndex                    ,
+
+
+-- ** isSelected #method:isSelected#
+
+#if ENABLE_OVERLOADING
+    FlowBoxChildIsSelectedMethodInfo        ,
+#endif
+    flowBoxChildIsSelected                  ,
+
+
+-- ** new #method:new#
+
+    flowBoxChildNew                         ,
+
+
+
+
+ -- * Signals
+-- ** activate #signal:activate#
+
+    C_FlowBoxChildActivateCallback          ,
+    FlowBoxChildActivateCallback            ,
+#if ENABLE_OVERLOADING
+    FlowBoxChildActivateSignalInfo          ,
+#endif
+    afterFlowBoxChildActivate               ,
+    genClosure_FlowBoxChildActivate         ,
+    mk_FlowBoxChildActivateCallback         ,
+    noFlowBoxChildActivateCallback          ,
+    onFlowBoxChildActivate                  ,
+    wrap_FlowBoxChildActivateCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype FlowBoxChild = FlowBoxChild (ManagedPtr FlowBoxChild)
+foreign import ccall "gtk_flow_box_child_get_type"
+    c_gtk_flow_box_child_get_type :: IO GType
+
+instance GObject FlowBoxChild where
+    gobjectType = c_gtk_flow_box_child_get_type
+    
+
+-- | Type class for types which can be safely cast to `FlowBoxChild`, for instance with `toFlowBoxChild`.
+class (GObject o, O.IsDescendantOf FlowBoxChild o) => IsFlowBoxChild o
+instance (GObject o, O.IsDescendantOf FlowBoxChild o) => IsFlowBoxChild o
+
+instance O.HasParentTypes FlowBoxChild
+type instance O.ParentTypes FlowBoxChild = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `FlowBoxChild`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFlowBoxChild :: (MonadIO m, IsFlowBoxChild o) => o -> m FlowBoxChild
+toFlowBoxChild = liftIO . unsafeCastTo FlowBoxChild
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FlowBoxChild`.
+noFlowBoxChild :: Maybe FlowBoxChild
+noFlowBoxChild = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFlowBoxChildMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFlowBoxChildMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFlowBoxChildMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFlowBoxChildMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFlowBoxChildMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFlowBoxChildMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFlowBoxChildMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFlowBoxChildMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFlowBoxChildMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFlowBoxChildMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFlowBoxChildMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFlowBoxChildMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFlowBoxChildMethod "changed" o = FlowBoxChildChangedMethodInfo
+    ResolveFlowBoxChildMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFlowBoxChildMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFlowBoxChildMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFlowBoxChildMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFlowBoxChildMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFlowBoxChildMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFlowBoxChildMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFlowBoxChildMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFlowBoxChildMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFlowBoxChildMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFlowBoxChildMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFlowBoxChildMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFlowBoxChildMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFlowBoxChildMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFlowBoxChildMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFlowBoxChildMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFlowBoxChildMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFlowBoxChildMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFlowBoxChildMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFlowBoxChildMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFlowBoxChildMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFlowBoxChildMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFlowBoxChildMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFlowBoxChildMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFlowBoxChildMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFlowBoxChildMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFlowBoxChildMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFlowBoxChildMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFlowBoxChildMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFlowBoxChildMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFlowBoxChildMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFlowBoxChildMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFlowBoxChildMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFlowBoxChildMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFlowBoxChildMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFlowBoxChildMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFlowBoxChildMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFlowBoxChildMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFlowBoxChildMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFlowBoxChildMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFlowBoxChildMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFlowBoxChildMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFlowBoxChildMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFlowBoxChildMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFlowBoxChildMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFlowBoxChildMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFlowBoxChildMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFlowBoxChildMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFlowBoxChildMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFlowBoxChildMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFlowBoxChildMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFlowBoxChildMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFlowBoxChildMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFlowBoxChildMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFlowBoxChildMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFlowBoxChildMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFlowBoxChildMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFlowBoxChildMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFlowBoxChildMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFlowBoxChildMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFlowBoxChildMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFlowBoxChildMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFlowBoxChildMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFlowBoxChildMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFlowBoxChildMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFlowBoxChildMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFlowBoxChildMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFlowBoxChildMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFlowBoxChildMethod "isSelected" o = FlowBoxChildIsSelectedMethodInfo
+    ResolveFlowBoxChildMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFlowBoxChildMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFlowBoxChildMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFlowBoxChildMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFlowBoxChildMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFlowBoxChildMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFlowBoxChildMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFlowBoxChildMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFlowBoxChildMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveFlowBoxChildMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFlowBoxChildMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFlowBoxChildMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFlowBoxChildMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFlowBoxChildMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFlowBoxChildMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFlowBoxChildMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFlowBoxChildMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFlowBoxChildMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFlowBoxChildMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFlowBoxChildMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFlowBoxChildMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFlowBoxChildMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFlowBoxChildMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFlowBoxChildMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFlowBoxChildMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFlowBoxChildMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFlowBoxChildMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFlowBoxChildMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFlowBoxChildMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFlowBoxChildMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFlowBoxChildMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFlowBoxChildMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFlowBoxChildMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFlowBoxChildMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFlowBoxChildMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFlowBoxChildMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFlowBoxChildMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFlowBoxChildMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFlowBoxChildMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFlowBoxChildMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFlowBoxChildMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFlowBoxChildMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFlowBoxChildMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFlowBoxChildMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFlowBoxChildMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFlowBoxChildMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFlowBoxChildMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFlowBoxChildMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFlowBoxChildMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFlowBoxChildMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFlowBoxChildMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFlowBoxChildMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFlowBoxChildMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFlowBoxChildMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFlowBoxChildMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFlowBoxChildMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFlowBoxChildMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFlowBoxChildMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFlowBoxChildMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFlowBoxChildMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFlowBoxChildMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFlowBoxChildMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFlowBoxChildMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFlowBoxChildMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFlowBoxChildMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFlowBoxChildMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFlowBoxChildMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFlowBoxChildMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFlowBoxChildMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFlowBoxChildMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFlowBoxChildMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFlowBoxChildMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFlowBoxChildMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFlowBoxChildMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFlowBoxChildMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFlowBoxChildMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFlowBoxChildMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFlowBoxChildMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFlowBoxChildMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFlowBoxChildMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFlowBoxChildMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFlowBoxChildMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFlowBoxChildMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFlowBoxChildMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFlowBoxChildMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFlowBoxChildMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFlowBoxChildMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveFlowBoxChildMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFlowBoxChildMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFlowBoxChildMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFlowBoxChildMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFlowBoxChildMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFlowBoxChildMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFlowBoxChildMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFlowBoxChildMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFlowBoxChildMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFlowBoxChildMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFlowBoxChildMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFlowBoxChildMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFlowBoxChildMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFlowBoxChildMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFlowBoxChildMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFlowBoxChildMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFlowBoxChildMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFlowBoxChildMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFlowBoxChildMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFlowBoxChildMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFlowBoxChildMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFlowBoxChildMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFlowBoxChildMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFlowBoxChildMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFlowBoxChildMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFlowBoxChildMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFlowBoxChildMethod "getIndex" o = FlowBoxChildGetIndexMethodInfo
+    ResolveFlowBoxChildMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFlowBoxChildMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFlowBoxChildMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFlowBoxChildMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFlowBoxChildMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFlowBoxChildMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFlowBoxChildMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFlowBoxChildMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFlowBoxChildMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFlowBoxChildMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFlowBoxChildMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFlowBoxChildMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFlowBoxChildMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveFlowBoxChildMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFlowBoxChildMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFlowBoxChildMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFlowBoxChildMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFlowBoxChildMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFlowBoxChildMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFlowBoxChildMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFlowBoxChildMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFlowBoxChildMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFlowBoxChildMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFlowBoxChildMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFlowBoxChildMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFlowBoxChildMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFlowBoxChildMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFlowBoxChildMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFlowBoxChildMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFlowBoxChildMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFlowBoxChildMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFlowBoxChildMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFlowBoxChildMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFlowBoxChildMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFlowBoxChildMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveFlowBoxChildMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFlowBoxChildMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFlowBoxChildMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFlowBoxChildMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFlowBoxChildMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFlowBoxChildMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFlowBoxChildMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFlowBoxChildMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFlowBoxChildMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFlowBoxChildMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFlowBoxChildMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFlowBoxChildMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFlowBoxChildMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFlowBoxChildMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFlowBoxChildMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFlowBoxChildMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFlowBoxChildMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFlowBoxChildMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFlowBoxChildMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFlowBoxChildMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFlowBoxChildMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFlowBoxChildMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFlowBoxChildMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFlowBoxChildMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFlowBoxChildMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFlowBoxChildMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFlowBoxChildMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFlowBoxChildMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFlowBoxChildMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFlowBoxChildMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFlowBoxChildMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFlowBoxChildMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFlowBoxChildMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFlowBoxChildMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFlowBoxChildMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFlowBoxChildMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFlowBoxChildMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFlowBoxChildMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFlowBoxChildMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFlowBoxChildMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFlowBoxChildMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFlowBoxChildMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFlowBoxChildMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFlowBoxChildMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFlowBoxChildMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFlowBoxChildMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFlowBoxChildMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFlowBoxChildMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFlowBoxChildMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFlowBoxChildMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFlowBoxChildMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFlowBoxChildMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFlowBoxChildMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFlowBoxChildMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFlowBoxChildMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFlowBoxChildMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFlowBoxChildMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFlowBoxChildMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveFlowBoxChildMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFlowBoxChildMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFlowBoxChildMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFlowBoxChildMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFlowBoxChildMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFlowBoxChildMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFlowBoxChildMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFlowBoxChildMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFlowBoxChildMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFlowBoxChildMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFlowBoxChildMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFlowBoxChildMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFlowBoxChildMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFlowBoxChildMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFlowBoxChildMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFlowBoxChildMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFlowBoxChildMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFlowBoxChildMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFlowBoxChildMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFlowBoxChildMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFlowBoxChildMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFlowBoxChildMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFlowBoxChildMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFlowBoxChildMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFlowBoxChildMethod t FlowBoxChild, O.MethodInfo info FlowBoxChild p) => OL.IsLabel t (FlowBoxChild -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal FlowBoxChild::activate
+{- |
+The ::activate signal is emitted when the user activates
+a child widget in a 'GI.Gtk.Objects.FlowBox.FlowBox', either by clicking or
+double-clicking, or by using the Space or Enter key.
+
+While this signal is used as a
+[keybinding signal][GtkBindingSignal],
+it can be used by applications for their own purposes.
+-}
+type FlowBoxChildActivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FlowBoxChildActivateCallback`@.
+noFlowBoxChildActivateCallback :: Maybe FlowBoxChildActivateCallback
+noFlowBoxChildActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FlowBoxChildActivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FlowBoxChildActivateCallback`.
+foreign import ccall "wrapper"
+    mk_FlowBoxChildActivateCallback :: C_FlowBoxChildActivateCallback -> IO (FunPtr C_FlowBoxChildActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FlowBoxChildActivate :: MonadIO m => FlowBoxChildActivateCallback -> m (GClosure C_FlowBoxChildActivateCallback)
+genClosure_FlowBoxChildActivate cb = liftIO $ do
+    let cb' = wrap_FlowBoxChildActivateCallback cb
+    mk_FlowBoxChildActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FlowBoxChildActivateCallback` into a `C_FlowBoxChildActivateCallback`.
+wrap_FlowBoxChildActivateCallback ::
+    FlowBoxChildActivateCallback ->
+    C_FlowBoxChildActivateCallback
+wrap_FlowBoxChildActivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' flowBoxChild #activate callback
+@
+-}
+onFlowBoxChildActivate :: (IsFlowBoxChild a, MonadIO m) => a -> FlowBoxChildActivateCallback -> m SignalHandlerId
+onFlowBoxChildActivate obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxChildActivateCallback cb
+    cb'' <- mk_FlowBoxChildActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' flowBoxChild #activate callback
+@
+-}
+afterFlowBoxChildActivate :: (IsFlowBoxChild a, MonadIO m) => a -> FlowBoxChildActivateCallback -> m SignalHandlerId
+afterFlowBoxChildActivate obj cb = liftIO $ do
+    let cb' = wrap_FlowBoxChildActivateCallback cb
+    cb'' <- mk_FlowBoxChildActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FlowBoxChild
+type instance O.AttributeList FlowBoxChild = FlowBoxChildAttributeList
+type FlowBoxChildAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data FlowBoxChildActivateSignalInfo
+instance SignalInfo FlowBoxChildActivateSignalInfo where
+    type HaskellCallbackType FlowBoxChildActivateSignalInfo = FlowBoxChildActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FlowBoxChildActivateCallback cb
+        cb'' <- mk_FlowBoxChildActivateCallback cb'
+        connectSignalFunPtr obj "activate" cb'' connectMode
+
+type instance O.SignalList FlowBoxChild = FlowBoxChildSignalList
+type FlowBoxChildSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", FlowBoxChildActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FlowBoxChild::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_child_new" gtk_flow_box_child_new :: 
+    IO (Ptr FlowBoxChild)
+
+{- |
+Creates a new 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild', to be used as a child
+of a 'GI.Gtk.Objects.FlowBox.FlowBox'.
+
+/Since: 3.12/
+-}
+flowBoxChildNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m FlowBoxChild
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' -}
+flowBoxChildNew  = liftIO $ do
+    result <- gtk_flow_box_child_new
+    checkUnexpectedReturnNULL "flowBoxChildNew" result
+    result' <- (newObject FlowBoxChild) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FlowBoxChild::changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBoxChild", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_child_changed" gtk_flow_box_child_changed :: 
+    Ptr FlowBoxChild ->                     -- child : TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"})
+    IO ()
+
+{- |
+Marks /@child@/ as changed, causing any state that depends on this
+to be updated. This affects sorting and filtering.
+
+Note that calls to this method must be in sync with the data
+used for the sorting and filtering functions. For instance, if
+the list is mirroring some external data set, and *two* children
+changed in the external data set when you call
+'GI.Gtk.Objects.FlowBoxChild.flowBoxChildChanged' on the first child, the sort function
+must only read the new data for the first of the two changed
+children, otherwise the resorting of the children will be wrong.
+
+This generally means that if you don’t fully control the data
+model, you have to duplicate the data that affects the sorting
+and filtering functions into the widgets themselves. Another
+alternative is to call 'GI.Gtk.Objects.FlowBox.flowBoxInvalidateSort' on any
+model change, but that is more expensive.
+
+/Since: 3.12/
+-}
+flowBoxChildChanged ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBoxChild a) =>
+    a
+    {- ^ /@child@/: a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' -}
+    -> m ()
+flowBoxChildChanged child = liftIO $ do
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_flow_box_child_changed child'
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data FlowBoxChildChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsFlowBoxChild a) => O.MethodInfo FlowBoxChildChangedMethodInfo a signature where
+    overloadedMethod _ = flowBoxChildChanged
+
+#endif
+
+-- method FlowBoxChild::get_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBoxChild", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_child_get_index" gtk_flow_box_child_get_index :: 
+    Ptr FlowBoxChild ->                     -- child : TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"})
+    IO Int32
+
+{- |
+Gets the current index of the /@child@/ in its 'GI.Gtk.Objects.FlowBox.FlowBox' container.
+
+/Since: 3.12/
+-}
+flowBoxChildGetIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBoxChild a) =>
+    a
+    {- ^ /@child@/: a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' -}
+    -> m Int32
+    {- ^ __Returns:__ the index of the /@child@/, or -1 if the /@child@/ is not
+    in a flow box. -}
+flowBoxChildGetIndex child = liftIO $ do
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_flow_box_child_get_index child'
+    touchManagedPtr child
+    return result
+
+#if ENABLE_OVERLOADING
+data FlowBoxChildGetIndexMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsFlowBoxChild a) => O.MethodInfo FlowBoxChildGetIndexMethodInfo a signature where
+    overloadedMethod _ = flowBoxChildGetIndex
+
+#endif
+
+-- method FlowBoxChild::is_selected
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFlowBoxChild", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_flow_box_child_is_selected" gtk_flow_box_child_is_selected :: 
+    Ptr FlowBoxChild ->                     -- child : TInterface (Name {namespace = "Gtk", name = "FlowBoxChild"})
+    IO CInt
+
+{- |
+Returns whether the /@child@/ is currently selected in its
+'GI.Gtk.Objects.FlowBox.FlowBox' container.
+
+/Since: 3.12/
+-}
+flowBoxChildIsSelected ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFlowBoxChild a) =>
+    a
+    {- ^ /@child@/: a 'GI.Gtk.Objects.FlowBoxChild.FlowBoxChild' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@child@/ is selected -}
+flowBoxChildIsSelected child = liftIO $ do
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_flow_box_child_is_selected child'
+    let result' = (/= 0) result
+    touchManagedPtr child
+    return result'
+
+#if ENABLE_OVERLOADING
+data FlowBoxChildIsSelectedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFlowBoxChild a) => O.MethodInfo FlowBoxChildIsSelectedMethodInfo a signature where
+    overloadedMethod _ = flowBoxChildIsSelected
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FlowBoxChild.hs-boot b/GI/Gtk/Objects/FlowBoxChild.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FlowBoxChild.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FlowBoxChild where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FlowBoxChild = FlowBoxChild (ManagedPtr FlowBoxChild)
+instance GObject FlowBoxChild where
+class (GObject o, O.IsDescendantOf FlowBoxChild o) => IsFlowBoxChild o
+instance (GObject o, O.IsDescendantOf FlowBoxChild o) => IsFlowBoxChild o
+instance O.HasParentTypes FlowBoxChild
+#if ENABLE_OVERLOADING
+data FlowBoxChildActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxChildChangedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxChildGetIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FlowBoxChildIsSelectedMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/FlowBoxChildAccessible.hs b/GI/Gtk/Objects/FlowBoxChildAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FlowBoxChildAccessible.hs
@@ -0,0 +1,165 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FlowBoxChildAccessible
+    ( 
+
+-- * Exported types
+    FlowBoxChildAccessible(..)              ,
+    IsFlowBoxChildAccessible                ,
+    toFlowBoxChildAccessible                ,
+    noFlowBoxChildAccessible                ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype FlowBoxChildAccessible = FlowBoxChildAccessible (ManagedPtr FlowBoxChildAccessible)
+foreign import ccall "gtk_flow_box_child_accessible_get_type"
+    c_gtk_flow_box_child_accessible_get_type :: IO GType
+
+instance GObject FlowBoxChildAccessible where
+    gobjectType = c_gtk_flow_box_child_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `FlowBoxChildAccessible`, for instance with `toFlowBoxChildAccessible`.
+class (GObject o, O.IsDescendantOf FlowBoxChildAccessible o) => IsFlowBoxChildAccessible o
+instance (GObject o, O.IsDescendantOf FlowBoxChildAccessible o) => IsFlowBoxChildAccessible o
+
+instance O.HasParentTypes FlowBoxChildAccessible
+type instance O.ParentTypes FlowBoxChildAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `FlowBoxChildAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFlowBoxChildAccessible :: (MonadIO m, IsFlowBoxChildAccessible o) => o -> m FlowBoxChildAccessible
+toFlowBoxChildAccessible = liftIO . unsafeCastTo FlowBoxChildAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FlowBoxChildAccessible`.
+noFlowBoxChildAccessible :: Maybe FlowBoxChildAccessible
+noFlowBoxChildAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFlowBoxChildAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFlowBoxChildAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveFlowBoxChildAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveFlowBoxChildAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFlowBoxChildAccessibleMethod t FlowBoxChildAccessible, O.MethodInfo info FlowBoxChildAccessible p) => OL.IsLabel t (FlowBoxChildAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FlowBoxChildAccessible
+type instance O.AttributeList FlowBoxChildAccessible = FlowBoxChildAccessibleAttributeList
+type FlowBoxChildAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FlowBoxChildAccessible = FlowBoxChildAccessibleSignalList
+type FlowBoxChildAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FlowBoxChildAccessible.hs-boot b/GI/Gtk/Objects/FlowBoxChildAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FlowBoxChildAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FlowBoxChildAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FlowBoxChildAccessible = FlowBoxChildAccessible (ManagedPtr FlowBoxChildAccessible)
+instance GObject FlowBoxChildAccessible where
+class (GObject o, O.IsDescendantOf FlowBoxChildAccessible o) => IsFlowBoxChildAccessible o
+instance (GObject o, O.IsDescendantOf FlowBoxChildAccessible o) => IsFlowBoxChildAccessible o
+instance O.HasParentTypes FlowBoxChildAccessible
diff --git a/GI/Gtk/Objects/FontButton.hs b/GI/Gtk/Objects/FontButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontButton.hs
@@ -0,0 +1,1658 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.FontButton.FontButton' is a button which displays the currently selected
+font an allows to open a font chooser dialog to change the font.
+It is suitable widget for selecting a font in a preference dialog.
+
+= CSS nodes
+
+GtkFontButton has a single CSS node with name button and style class .font.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FontButton
+    ( 
+
+-- * Exported types
+    FontButton(..)                          ,
+    IsFontButton                            ,
+    toFontButton                            ,
+    noFontButton                            ,
+
+
+ -- * Methods
+-- ** getFontName #method:getFontName#
+
+#if ENABLE_OVERLOADING
+    FontButtonGetFontNameMethodInfo         ,
+#endif
+    fontButtonGetFontName                   ,
+
+
+-- ** getShowSize #method:getShowSize#
+
+#if ENABLE_OVERLOADING
+    FontButtonGetShowSizeMethodInfo         ,
+#endif
+    fontButtonGetShowSize                   ,
+
+
+-- ** getShowStyle #method:getShowStyle#
+
+#if ENABLE_OVERLOADING
+    FontButtonGetShowStyleMethodInfo        ,
+#endif
+    fontButtonGetShowStyle                  ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    FontButtonGetTitleMethodInfo            ,
+#endif
+    fontButtonGetTitle                      ,
+
+
+-- ** getUseFont #method:getUseFont#
+
+#if ENABLE_OVERLOADING
+    FontButtonGetUseFontMethodInfo          ,
+#endif
+    fontButtonGetUseFont                    ,
+
+
+-- ** getUseSize #method:getUseSize#
+
+#if ENABLE_OVERLOADING
+    FontButtonGetUseSizeMethodInfo          ,
+#endif
+    fontButtonGetUseSize                    ,
+
+
+-- ** new #method:new#
+
+    fontButtonNew                           ,
+
+
+-- ** newWithFont #method:newWithFont#
+
+    fontButtonNewWithFont                   ,
+
+
+-- ** setFontName #method:setFontName#
+
+#if ENABLE_OVERLOADING
+    FontButtonSetFontNameMethodInfo         ,
+#endif
+    fontButtonSetFontName                   ,
+
+
+-- ** setShowSize #method:setShowSize#
+
+#if ENABLE_OVERLOADING
+    FontButtonSetShowSizeMethodInfo         ,
+#endif
+    fontButtonSetShowSize                   ,
+
+
+-- ** setShowStyle #method:setShowStyle#
+
+#if ENABLE_OVERLOADING
+    FontButtonSetShowStyleMethodInfo        ,
+#endif
+    fontButtonSetShowStyle                  ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    FontButtonSetTitleMethodInfo            ,
+#endif
+    fontButtonSetTitle                      ,
+
+
+-- ** setUseFont #method:setUseFont#
+
+#if ENABLE_OVERLOADING
+    FontButtonSetUseFontMethodInfo          ,
+#endif
+    fontButtonSetUseFont                    ,
+
+
+-- ** setUseSize #method:setUseSize#
+
+#if ENABLE_OVERLOADING
+    FontButtonSetUseSizeMethodInfo          ,
+#endif
+    fontButtonSetUseSize                    ,
+
+
+
+
+ -- * Properties
+-- ** fontName #attr:fontName#
+{- | The name of the currently selected font.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    FontButtonFontNamePropertyInfo          ,
+#endif
+    clearFontButtonFontName                 ,
+    constructFontButtonFontName             ,
+#if ENABLE_OVERLOADING
+    fontButtonFontName                      ,
+#endif
+    getFontButtonFontName                   ,
+    setFontButtonFontName                   ,
+
+
+-- ** showSize #attr:showSize#
+{- | If this property is set to 'True', the selected font size will be shown
+in the label. For a more WYSIWYG way to show the selected size, see the
+::use-size property.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    FontButtonShowSizePropertyInfo          ,
+#endif
+    constructFontButtonShowSize             ,
+#if ENABLE_OVERLOADING
+    fontButtonShowSize                      ,
+#endif
+    getFontButtonShowSize                   ,
+    setFontButtonShowSize                   ,
+
+
+-- ** showStyle #attr:showStyle#
+{- | If this property is set to 'True', the name of the selected font style
+will be shown in the label. For a more WYSIWYG way to show the selected
+style, see the ::use-font property.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    FontButtonShowStylePropertyInfo         ,
+#endif
+    constructFontButtonShowStyle            ,
+#if ENABLE_OVERLOADING
+    fontButtonShowStyle                     ,
+#endif
+    getFontButtonShowStyle                  ,
+    setFontButtonShowStyle                  ,
+
+
+-- ** title #attr:title#
+{- | The title of the font chooser dialog.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    FontButtonTitlePropertyInfo             ,
+#endif
+    constructFontButtonTitle                ,
+#if ENABLE_OVERLOADING
+    fontButtonTitle                         ,
+#endif
+    getFontButtonTitle                      ,
+    setFontButtonTitle                      ,
+
+
+-- ** useFont #attr:useFont#
+{- | If this property is set to 'True', the label will be drawn
+in the selected font.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    FontButtonUseFontPropertyInfo           ,
+#endif
+    constructFontButtonUseFont              ,
+#if ENABLE_OVERLOADING
+    fontButtonUseFont                       ,
+#endif
+    getFontButtonUseFont                    ,
+    setFontButtonUseFont                    ,
+
+
+-- ** useSize #attr:useSize#
+{- | If this property is set to 'True', the label will be drawn
+with the selected font size.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    FontButtonUseSizePropertyInfo           ,
+#endif
+    constructFontButtonUseSize              ,
+#if ENABLE_OVERLOADING
+    fontButtonUseSize                       ,
+#endif
+    getFontButtonUseSize                    ,
+    setFontButtonUseSize                    ,
+
+
+
+
+ -- * Signals
+-- ** fontSet #signal:fontSet#
+
+    C_FontButtonFontSetCallback             ,
+    FontButtonFontSetCallback               ,
+#if ENABLE_OVERLOADING
+    FontButtonFontSetSignalInfo             ,
+#endif
+    afterFontButtonFontSet                  ,
+    genClosure_FontButtonFontSet            ,
+    mk_FontButtonFontSetCallback            ,
+    noFontButtonFontSetCallback             ,
+    onFontButtonFontSet                     ,
+    wrap_FontButtonFontSetCallback          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.FontChooser as Gtk.FontChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype FontButton = FontButton (ManagedPtr FontButton)
+foreign import ccall "gtk_font_button_get_type"
+    c_gtk_font_button_get_type :: IO GType
+
+instance GObject FontButton where
+    gobjectType = c_gtk_font_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `FontButton`, for instance with `toFontButton`.
+class (GObject o, O.IsDescendantOf FontButton o) => IsFontButton o
+instance (GObject o, O.IsDescendantOf FontButton o) => IsFontButton o
+
+instance O.HasParentTypes FontButton
+type instance O.ParentTypes FontButton = '[Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable, Gtk.FontChooser.FontChooser]
+
+-- | Cast to `FontButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFontButton :: (MonadIO m, IsFontButton o) => o -> m FontButton
+toFontButton = liftIO . unsafeCastTo FontButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FontButton`.
+noFontButton :: Maybe FontButton
+noFontButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFontButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFontButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFontButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFontButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFontButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFontButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFontButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFontButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFontButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFontButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFontButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFontButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFontButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFontButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFontButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFontButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFontButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFontButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFontButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFontButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveFontButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFontButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFontButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFontButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFontButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFontButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFontButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFontButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFontButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFontButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFontButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveFontButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFontButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFontButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFontButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFontButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFontButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFontButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFontButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFontButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFontButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFontButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFontButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFontButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFontButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFontButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFontButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFontButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFontButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFontButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFontButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFontButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFontButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFontButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFontButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFontButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFontButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFontButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFontButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFontButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFontButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFontButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveFontButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFontButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFontButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFontButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFontButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFontButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFontButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFontButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFontButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFontButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFontButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFontButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFontButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFontButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFontButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFontButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFontButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFontButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFontButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFontButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFontButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFontButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFontButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFontButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFontButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFontButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFontButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFontButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFontButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFontButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFontButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFontButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFontButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFontButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFontButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveFontButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFontButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFontButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFontButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFontButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveFontButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFontButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFontButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFontButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFontButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFontButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFontButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFontButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFontButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFontButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFontButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFontButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFontButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFontButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFontButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFontButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFontButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveFontButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFontButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFontButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFontButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFontButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFontButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFontButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFontButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFontButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFontButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFontButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFontButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFontButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFontButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveFontButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFontButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFontButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFontButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFontButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFontButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFontButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFontButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFontButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFontButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFontButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFontButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFontButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFontButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFontButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFontButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFontButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFontButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFontButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFontButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFontButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFontButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFontButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFontButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFontButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveFontButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFontButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFontButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFontButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFontButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFontButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFontButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFontButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFontButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFontButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFontButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFontButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFontButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFontButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFontButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveFontButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveFontButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveFontButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFontButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFontButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFontButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFontButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFontButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveFontButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFontButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFontButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFontButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFontButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFontButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveFontButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFontButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFontButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFontButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFontButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFontButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFontButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFontButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFontButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFontButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFontButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFontButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFontButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveFontButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFontButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFontButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFontButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFontButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveFontButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFontButtonMethod "getFont" o = Gtk.FontChooser.FontChooserGetFontMethodInfo
+    ResolveFontButtonMethod "getFontDesc" o = Gtk.FontChooser.FontChooserGetFontDescMethodInfo
+    ResolveFontButtonMethod "getFontFace" o = Gtk.FontChooser.FontChooserGetFontFaceMethodInfo
+    ResolveFontButtonMethod "getFontFamily" o = Gtk.FontChooser.FontChooserGetFontFamilyMethodInfo
+    ResolveFontButtonMethod "getFontFeatures" o = Gtk.FontChooser.FontChooserGetFontFeaturesMethodInfo
+    ResolveFontButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFontButtonMethod "getFontName" o = FontButtonGetFontNameMethodInfo
+    ResolveFontButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFontButtonMethod "getFontSize" o = Gtk.FontChooser.FontChooserGetFontSizeMethodInfo
+    ResolveFontButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFontButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFontButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFontButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFontButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFontButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFontButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveFontButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveFontButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFontButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveFontButtonMethod "getLanguage" o = Gtk.FontChooser.FontChooserGetLanguageMethodInfo
+    ResolveFontButtonMethod "getLevel" o = Gtk.FontChooser.FontChooserGetLevelMethodInfo
+    ResolveFontButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFontButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFontButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFontButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFontButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFontButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFontButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFontButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFontButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFontButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFontButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFontButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveFontButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFontButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFontButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFontButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFontButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFontButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFontButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFontButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFontButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFontButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFontButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFontButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFontButtonMethod "getPreviewText" o = Gtk.FontChooser.FontChooserGetPreviewTextMethodInfo
+    ResolveFontButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFontButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFontButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFontButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFontButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveFontButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveFontButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFontButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFontButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFontButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFontButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFontButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveFontButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFontButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFontButtonMethod "getShowPreviewEntry" o = Gtk.FontChooser.FontChooserGetShowPreviewEntryMethodInfo
+    ResolveFontButtonMethod "getShowSize" o = FontButtonGetShowSizeMethodInfo
+    ResolveFontButtonMethod "getShowStyle" o = FontButtonGetShowStyleMethodInfo
+    ResolveFontButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFontButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFontButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFontButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFontButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFontButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFontButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFontButtonMethod "getTitle" o = FontButtonGetTitleMethodInfo
+    ResolveFontButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFontButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFontButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFontButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFontButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveFontButtonMethod "getUseFont" o = FontButtonGetUseFontMethodInfo
+    ResolveFontButtonMethod "getUseSize" o = FontButtonGetUseSizeMethodInfo
+    ResolveFontButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveFontButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveFontButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFontButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFontButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFontButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFontButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFontButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFontButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFontButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFontButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveFontButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveFontButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveFontButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFontButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveFontButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFontButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFontButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFontButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFontButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFontButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFontButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFontButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFontButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFontButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveFontButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFontButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFontButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFontButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFontButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFontButtonMethod "setFilterFunc" o = Gtk.FontChooser.FontChooserSetFilterFuncMethodInfo
+    ResolveFontButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFontButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFontButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFontButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveFontButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFontButtonMethod "setFont" o = Gtk.FontChooser.FontChooserSetFontMethodInfo
+    ResolveFontButtonMethod "setFontDesc" o = Gtk.FontChooser.FontChooserSetFontDescMethodInfo
+    ResolveFontButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFontButtonMethod "setFontName" o = FontButtonSetFontNameMethodInfo
+    ResolveFontButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFontButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFontButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFontButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFontButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFontButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFontButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveFontButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveFontButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveFontButtonMethod "setLanguage" o = Gtk.FontChooser.FontChooserSetLanguageMethodInfo
+    ResolveFontButtonMethod "setLevel" o = Gtk.FontChooser.FontChooserSetLevelMethodInfo
+    ResolveFontButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFontButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFontButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFontButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFontButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFontButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFontButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFontButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFontButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFontButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveFontButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFontButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFontButtonMethod "setPreviewText" o = Gtk.FontChooser.FontChooserSetPreviewTextMethodInfo
+    ResolveFontButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFontButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFontButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFontButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFontButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFontButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveFontButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveFontButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFontButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFontButtonMethod "setShowPreviewEntry" o = Gtk.FontChooser.FontChooserSetShowPreviewEntryMethodInfo
+    ResolveFontButtonMethod "setShowSize" o = FontButtonSetShowSizeMethodInfo
+    ResolveFontButtonMethod "setShowStyle" o = FontButtonSetShowStyleMethodInfo
+    ResolveFontButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFontButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFontButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFontButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFontButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFontButtonMethod "setTitle" o = FontButtonSetTitleMethodInfo
+    ResolveFontButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFontButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFontButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFontButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveFontButtonMethod "setUseFont" o = FontButtonSetUseFontMethodInfo
+    ResolveFontButtonMethod "setUseSize" o = FontButtonSetUseSizeMethodInfo
+    ResolveFontButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveFontButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveFontButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFontButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFontButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFontButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFontButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFontButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFontButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFontButtonMethod t FontButton, O.MethodInfo info FontButton p) => OL.IsLabel t (FontButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal FontButton::font-set
+{- |
+The ::font-set signal is emitted when the user selects a font.
+When handling this signal, use 'GI.Gtk.Interfaces.FontChooser.fontChooserGetFont'
+to find out which font was just selected.
+
+Note that this signal is only emitted when the user
+changes the font. If you need to react to programmatic font changes
+as well, use the notify::font signal.
+
+/Since: 2.4/
+-}
+type FontButtonFontSetCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `FontButtonFontSetCallback`@.
+noFontButtonFontSetCallback :: Maybe FontButtonFontSetCallback
+noFontButtonFontSetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_FontButtonFontSetCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_FontButtonFontSetCallback`.
+foreign import ccall "wrapper"
+    mk_FontButtonFontSetCallback :: C_FontButtonFontSetCallback -> IO (FunPtr C_FontButtonFontSetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_FontButtonFontSet :: MonadIO m => FontButtonFontSetCallback -> m (GClosure C_FontButtonFontSetCallback)
+genClosure_FontButtonFontSet cb = liftIO $ do
+    let cb' = wrap_FontButtonFontSetCallback cb
+    mk_FontButtonFontSetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `FontButtonFontSetCallback` into a `C_FontButtonFontSetCallback`.
+wrap_FontButtonFontSetCallback ::
+    FontButtonFontSetCallback ->
+    C_FontButtonFontSetCallback
+wrap_FontButtonFontSetCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@font-set@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' fontButton #fontSet callback
+@
+-}
+onFontButtonFontSet :: (IsFontButton a, MonadIO m) => a -> FontButtonFontSetCallback -> m SignalHandlerId
+onFontButtonFontSet obj cb = liftIO $ do
+    let cb' = wrap_FontButtonFontSetCallback cb
+    cb'' <- mk_FontButtonFontSetCallback cb'
+    connectSignalFunPtr obj "font-set" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@font-set@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' fontButton #fontSet callback
+@
+-}
+afterFontButtonFontSet :: (IsFontButton a, MonadIO m) => a -> FontButtonFontSetCallback -> m SignalHandlerId
+afterFontButtonFontSet obj cb = liftIO $ do
+    let cb' = wrap_FontButtonFontSetCallback cb
+    cb'' <- mk_FontButtonFontSetCallback cb'
+    connectSignalFunPtr obj "font-set" cb'' SignalConnectAfter
+
+
+-- VVV Prop "font-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@font-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontButton #fontName
+@
+-}
+getFontButtonFontName :: (MonadIO m, IsFontButton o) => o -> m T.Text
+getFontButtonFontName obj = liftIO $ checkUnexpectedNothing "getFontButtonFontName" $ B.Properties.getObjectPropertyString obj "font-name"
+
+{- |
+Set the value of the “@font-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontButton [ #fontName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontButtonFontName :: (MonadIO m, IsFontButton o) => o -> T.Text -> m ()
+setFontButtonFontName obj val = liftIO $ B.Properties.setObjectPropertyString obj "font-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontButtonFontName :: (IsFontButton o) => T.Text -> IO (GValueConstruct o)
+constructFontButtonFontName val = B.Properties.constructObjectPropertyString "font-name" (Just val)
+
+{- |
+Set the value of the “@font-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #fontName
+@
+-}
+clearFontButtonFontName :: (MonadIO m, IsFontButton o) => o -> m ()
+clearFontButtonFontName obj = liftIO $ B.Properties.setObjectPropertyString obj "font-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data FontButtonFontNamePropertyInfo
+instance AttrInfo FontButtonFontNamePropertyInfo where
+    type AttrAllowedOps FontButtonFontNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FontButtonFontNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FontButtonFontNamePropertyInfo = IsFontButton
+    type AttrGetType FontButtonFontNamePropertyInfo = T.Text
+    type AttrLabel FontButtonFontNamePropertyInfo = "font-name"
+    type AttrOrigin FontButtonFontNamePropertyInfo = FontButton
+    attrGet _ = getFontButtonFontName
+    attrSet _ = setFontButtonFontName
+    attrConstruct _ = constructFontButtonFontName
+    attrClear _ = clearFontButtonFontName
+#endif
+
+-- VVV Prop "show-size"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontButton #showSize
+@
+-}
+getFontButtonShowSize :: (MonadIO m, IsFontButton o) => o -> m Bool
+getFontButtonShowSize obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-size"
+
+{- |
+Set the value of the “@show-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontButton [ #showSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontButtonShowSize :: (MonadIO m, IsFontButton o) => o -> Bool -> m ()
+setFontButtonShowSize obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontButtonShowSize :: (IsFontButton o) => Bool -> IO (GValueConstruct o)
+constructFontButtonShowSize val = B.Properties.constructObjectPropertyBool "show-size" val
+
+#if ENABLE_OVERLOADING
+data FontButtonShowSizePropertyInfo
+instance AttrInfo FontButtonShowSizePropertyInfo where
+    type AttrAllowedOps FontButtonShowSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontButtonShowSizePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FontButtonShowSizePropertyInfo = IsFontButton
+    type AttrGetType FontButtonShowSizePropertyInfo = Bool
+    type AttrLabel FontButtonShowSizePropertyInfo = "show-size"
+    type AttrOrigin FontButtonShowSizePropertyInfo = FontButton
+    attrGet _ = getFontButtonShowSize
+    attrSet _ = setFontButtonShowSize
+    attrConstruct _ = constructFontButtonShowSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-style"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontButton #showStyle
+@
+-}
+getFontButtonShowStyle :: (MonadIO m, IsFontButton o) => o -> m Bool
+getFontButtonShowStyle obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-style"
+
+{- |
+Set the value of the “@show-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontButton [ #showStyle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontButtonShowStyle :: (MonadIO m, IsFontButton o) => o -> Bool -> m ()
+setFontButtonShowStyle obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-style" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontButtonShowStyle :: (IsFontButton o) => Bool -> IO (GValueConstruct o)
+constructFontButtonShowStyle val = B.Properties.constructObjectPropertyBool "show-style" val
+
+#if ENABLE_OVERLOADING
+data FontButtonShowStylePropertyInfo
+instance AttrInfo FontButtonShowStylePropertyInfo where
+    type AttrAllowedOps FontButtonShowStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontButtonShowStylePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FontButtonShowStylePropertyInfo = IsFontButton
+    type AttrGetType FontButtonShowStylePropertyInfo = Bool
+    type AttrLabel FontButtonShowStylePropertyInfo = "show-style"
+    type AttrOrigin FontButtonShowStylePropertyInfo = FontButton
+    attrGet _ = getFontButtonShowStyle
+    attrSet _ = setFontButtonShowStyle
+    attrConstruct _ = constructFontButtonShowStyle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontButton #title
+@
+-}
+getFontButtonTitle :: (MonadIO m, IsFontButton o) => o -> m T.Text
+getFontButtonTitle obj = liftIO $ checkUnexpectedNothing "getFontButtonTitle" $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontButton [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontButtonTitle :: (MonadIO m, IsFontButton o) => o -> T.Text -> m ()
+setFontButtonTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontButtonTitle :: (IsFontButton o) => T.Text -> IO (GValueConstruct o)
+constructFontButtonTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+#if ENABLE_OVERLOADING
+data FontButtonTitlePropertyInfo
+instance AttrInfo FontButtonTitlePropertyInfo where
+    type AttrAllowedOps FontButtonTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontButtonTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FontButtonTitlePropertyInfo = IsFontButton
+    type AttrGetType FontButtonTitlePropertyInfo = T.Text
+    type AttrLabel FontButtonTitlePropertyInfo = "title"
+    type AttrOrigin FontButtonTitlePropertyInfo = FontButton
+    attrGet _ = getFontButtonTitle
+    attrSet _ = setFontButtonTitle
+    attrConstruct _ = constructFontButtonTitle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-font"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-font@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontButton #useFont
+@
+-}
+getFontButtonUseFont :: (MonadIO m, IsFontButton o) => o -> m Bool
+getFontButtonUseFont obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-font"
+
+{- |
+Set the value of the “@use-font@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontButton [ #useFont 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontButtonUseFont :: (MonadIO m, IsFontButton o) => o -> Bool -> m ()
+setFontButtonUseFont obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-font" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-font@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontButtonUseFont :: (IsFontButton o) => Bool -> IO (GValueConstruct o)
+constructFontButtonUseFont val = B.Properties.constructObjectPropertyBool "use-font" val
+
+#if ENABLE_OVERLOADING
+data FontButtonUseFontPropertyInfo
+instance AttrInfo FontButtonUseFontPropertyInfo where
+    type AttrAllowedOps FontButtonUseFontPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontButtonUseFontPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FontButtonUseFontPropertyInfo = IsFontButton
+    type AttrGetType FontButtonUseFontPropertyInfo = Bool
+    type AttrLabel FontButtonUseFontPropertyInfo = "use-font"
+    type AttrOrigin FontButtonUseFontPropertyInfo = FontButton
+    attrGet _ = getFontButtonUseFont
+    attrSet _ = setFontButtonUseFont
+    attrConstruct _ = constructFontButtonUseFont
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-size"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontButton #useSize
+@
+-}
+getFontButtonUseSize :: (MonadIO m, IsFontButton o) => o -> m Bool
+getFontButtonUseSize obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-size"
+
+{- |
+Set the value of the “@use-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontButton [ #useSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontButtonUseSize :: (MonadIO m, IsFontButton o) => o -> Bool -> m ()
+setFontButtonUseSize obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontButtonUseSize :: (IsFontButton o) => Bool -> IO (GValueConstruct o)
+constructFontButtonUseSize val = B.Properties.constructObjectPropertyBool "use-size" val
+
+#if ENABLE_OVERLOADING
+data FontButtonUseSizePropertyInfo
+instance AttrInfo FontButtonUseSizePropertyInfo where
+    type AttrAllowedOps FontButtonUseSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontButtonUseSizePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint FontButtonUseSizePropertyInfo = IsFontButton
+    type AttrGetType FontButtonUseSizePropertyInfo = Bool
+    type AttrLabel FontButtonUseSizePropertyInfo = "use-size"
+    type AttrOrigin FontButtonUseSizePropertyInfo = FontButton
+    attrGet _ = getFontButtonUseSize
+    attrSet _ = setFontButtonUseSize
+    attrConstruct _ = constructFontButtonUseSize
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FontButton
+type instance O.AttributeList FontButton = FontButtonAttributeList
+type FontButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("font", Gtk.FontChooser.FontChooserFontPropertyInfo), '("fontDesc", Gtk.FontChooser.FontChooserFontDescPropertyInfo), '("fontFeatures", Gtk.FontChooser.FontChooserFontFeaturesPropertyInfo), '("fontName", FontButtonFontNamePropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("language", Gtk.FontChooser.FontChooserLanguagePropertyInfo), '("level", Gtk.FontChooser.FontChooserLevelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("previewText", Gtk.FontChooser.FontChooserPreviewTextPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showPreviewEntry", Gtk.FontChooser.FontChooserShowPreviewEntryPropertyInfo), '("showSize", FontButtonShowSizePropertyInfo), '("showStyle", FontButtonShowStylePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", FontButtonTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useFont", FontButtonUseFontPropertyInfo), '("useSize", FontButtonUseSizePropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+fontButtonFontName :: AttrLabelProxy "fontName"
+fontButtonFontName = AttrLabelProxy
+
+fontButtonShowSize :: AttrLabelProxy "showSize"
+fontButtonShowSize = AttrLabelProxy
+
+fontButtonShowStyle :: AttrLabelProxy "showStyle"
+fontButtonShowStyle = AttrLabelProxy
+
+fontButtonTitle :: AttrLabelProxy "title"
+fontButtonTitle = AttrLabelProxy
+
+fontButtonUseFont :: AttrLabelProxy "useFont"
+fontButtonUseFont = AttrLabelProxy
+
+fontButtonUseSize :: AttrLabelProxy "useSize"
+fontButtonUseSize = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data FontButtonFontSetSignalInfo
+instance SignalInfo FontButtonFontSetSignalInfo where
+    type HaskellCallbackType FontButtonFontSetSignalInfo = FontButtonFontSetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_FontButtonFontSetCallback cb
+        cb'' <- mk_FontButtonFontSetCallback cb'
+        connectSignalFunPtr obj "font-set" cb'' connectMode
+
+type instance O.SignalList FontButton = FontButtonSignalList
+type FontButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("fontActivated", Gtk.FontChooser.FontChooserFontActivatedSignalInfo), '("fontSet", FontButtonFontSetSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FontButton::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FontButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_new" gtk_font_button_new :: 
+    IO (Ptr FontButton)
+
+{- |
+Creates a new font picker widget.
+
+/Since: 2.4/
+-}
+fontButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m FontButton
+    {- ^ __Returns:__ a new font picker widget. -}
+fontButtonNew  = liftIO $ do
+    result <- gtk_font_button_new
+    checkUnexpectedReturnNULL "fontButtonNew" result
+    result' <- (newObject FontButton) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FontButton::new_with_font
+-- method type : Constructor
+-- Args : [Arg {argCName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of font to display in font chooser dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FontButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_new_with_font" gtk_font_button_new_with_font :: 
+    CString ->                              -- fontname : TBasicType TUTF8
+    IO (Ptr FontButton)
+
+{- |
+Creates a new font picker widget.
+
+/Since: 2.4/
+-}
+fontButtonNewWithFont ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@fontname@/: Name of font to display in font chooser dialog -}
+    -> m FontButton
+    {- ^ __Returns:__ a new font picker widget. -}
+fontButtonNewWithFont fontname = liftIO $ do
+    fontname' <- textToCString fontname
+    result <- gtk_font_button_new_with_font fontname'
+    checkUnexpectedReturnNULL "fontButtonNewWithFont" result
+    result' <- (newObject FontButton) result
+    freeMem fontname'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FontButton::get_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_get_font_name" gtk_font_button_get_font_name :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    IO CString
+
+{-# DEPRECATED fontButtonGetFontName ["(Since version 3.22)","Use 'GI.Gtk.Interfaces.FontChooser.fontChooserGetFont' instead"] #-}
+{- |
+Retrieves the name of the currently selected font. This name includes
+style and size information as well. If you want to render something
+with the font, use this string with 'GI.Pango.Functions.fontDescriptionFromString' .
+If you’re interested in peeking certain values (family name,
+style, size, weight) just query these properties from the
+'GI.Pango.Structs.FontDescription.FontDescription' object.
+
+/Since: 2.4/
+-}
+fontButtonGetFontName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> m T.Text
+    {- ^ __Returns:__ an internal copy of the font name which must not be freed. -}
+fontButtonGetFontName fontButton = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    result <- gtk_font_button_get_font_name fontButton'
+    checkUnexpectedReturnNULL "fontButtonGetFontName" result
+    result' <- cstringToText result
+    touchManagedPtr fontButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontButtonGetFontNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonGetFontNameMethodInfo a signature where
+    overloadedMethod _ = fontButtonGetFontName
+
+#endif
+
+-- method FontButton::get_show_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_get_show_size" gtk_font_button_get_show_size :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    IO CInt
+
+{- |
+Returns whether the font size will be shown in the label.
+
+/Since: 2.4/
+-}
+fontButtonGetShowSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the font size will be shown in the label. -}
+fontButtonGetShowSize fontButton = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    result <- gtk_font_button_get_show_size fontButton'
+    let result' = (/= 0) result
+    touchManagedPtr fontButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontButtonGetShowSizeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonGetShowSizeMethodInfo a signature where
+    overloadedMethod _ = fontButtonGetShowSize
+
+#endif
+
+-- method FontButton::get_show_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_get_show_style" gtk_font_button_get_show_style :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    IO CInt
+
+{- |
+Returns whether the name of the font style will be shown in the label.
+
+/Since: 2.4/
+-}
+fontButtonGetShowStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the font style will be shown in the label. -}
+fontButtonGetShowStyle fontButton = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    result <- gtk_font_button_get_show_style fontButton'
+    let result' = (/= 0) result
+    touchManagedPtr fontButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontButtonGetShowStyleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonGetShowStyleMethodInfo a signature where
+    overloadedMethod _ = fontButtonGetShowStyle
+
+#endif
+
+-- method FontButton::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_get_title" gtk_font_button_get_title :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    IO CString
+
+{- |
+Retrieves the title of the font chooser dialog.
+
+/Since: 2.4/
+-}
+fontButtonGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> m T.Text
+    {- ^ __Returns:__ an internal copy of the title string which must not be freed. -}
+fontButtonGetTitle fontButton = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    result <- gtk_font_button_get_title fontButton'
+    checkUnexpectedReturnNULL "fontButtonGetTitle" result
+    result' <- cstringToText result
+    touchManagedPtr fontButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontButtonGetTitleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonGetTitleMethodInfo a signature where
+    overloadedMethod _ = fontButtonGetTitle
+
+#endif
+
+-- method FontButton::get_use_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_get_use_font" gtk_font_button_get_use_font :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    IO CInt
+
+{- |
+Returns whether the selected font is used in the label.
+
+/Since: 2.4/
+-}
+fontButtonGetUseFont ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the selected font is used in the label. -}
+fontButtonGetUseFont fontButton = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    result <- gtk_font_button_get_use_font fontButton'
+    let result' = (/= 0) result
+    touchManagedPtr fontButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontButtonGetUseFontMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonGetUseFontMethodInfo a signature where
+    overloadedMethod _ = fontButtonGetUseFont
+
+#endif
+
+-- method FontButton::get_use_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_get_use_size" gtk_font_button_get_use_size :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    IO CInt
+
+{- |
+Returns whether the selected size is used in the label.
+
+/Since: 2.4/
+-}
+fontButtonGetUseSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the selected size is used in the label. -}
+fontButtonGetUseSize fontButton = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    result <- gtk_font_button_get_use_size fontButton'
+    let result' = (/= 0) result
+    touchManagedPtr fontButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontButtonGetUseSizeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonGetUseSizeMethodInfo a signature where
+    overloadedMethod _ = fontButtonGetUseSize
+
+#endif
+
+-- method FontButton::set_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of font to display in font chooser dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_set_font_name" gtk_font_button_set_font_name :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    CString ->                              -- fontname : TBasicType TUTF8
+    IO CInt
+
+{-# DEPRECATED fontButtonSetFontName ["(Since version 3.22)","Use 'GI.Gtk.Interfaces.FontChooser.fontChooserSetFont' instead"] #-}
+{- |
+Sets or updates the currently-displayed font in font picker dialog.
+
+/Since: 2.4/
+-}
+fontButtonSetFontName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> T.Text
+    {- ^ /@fontname@/: Name of font to display in font chooser dialog -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' -}
+fontButtonSetFontName fontButton fontname = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    fontname' <- textToCString fontname
+    result <- gtk_font_button_set_font_name fontButton' fontname'
+    let result' = (/= 0) result
+    touchManagedPtr fontButton
+    freeMem fontname'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontButtonSetFontNameMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonSetFontNameMethodInfo a signature where
+    overloadedMethod _ = fontButtonSetFontName
+
+#endif
+
+-- method FontButton::set_show_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_size", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if font size should be displayed in dialog.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_set_show_size" gtk_font_button_set_show_size :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    CInt ->                                 -- show_size : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@showSize@/ is 'True', the font size will be displayed along with the name of the selected font.
+
+/Since: 2.4/
+-}
+fontButtonSetShowSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> Bool
+    {- ^ /@showSize@/: 'True' if font size should be displayed in dialog. -}
+    -> m ()
+fontButtonSetShowSize fontButton showSize = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    let showSize' = (fromIntegral . fromEnum) showSize
+    gtk_font_button_set_show_size fontButton' showSize'
+    touchManagedPtr fontButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontButtonSetShowSizeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonSetShowSizeMethodInfo a signature where
+    overloadedMethod _ = fontButtonSetShowSize
+
+#endif
+
+-- method FontButton::set_show_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_style", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if font style should be displayed in label.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_set_show_style" gtk_font_button_set_show_style :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    CInt ->                                 -- show_style : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@showStyle@/ is 'True', the font style will be displayed along with name of the selected font.
+
+/Since: 2.4/
+-}
+fontButtonSetShowStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> Bool
+    {- ^ /@showStyle@/: 'True' if font style should be displayed in label. -}
+    -> m ()
+fontButtonSetShowStyle fontButton showStyle = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    let showStyle' = (fromIntegral . fromEnum) showStyle
+    gtk_font_button_set_show_style fontButton' showStyle'
+    touchManagedPtr fontButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontButtonSetShowStyleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonSetShowStyleMethodInfo a signature where
+    overloadedMethod _ = fontButtonSetShowStyle
+
+#endif
+
+-- method FontButton::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string containing the font chooser dialog title", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_set_title" gtk_font_button_set_title :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the title for the font chooser dialog.
+
+/Since: 2.4/
+-}
+fontButtonSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> T.Text
+    {- ^ /@title@/: a string containing the font chooser dialog title -}
+    -> m ()
+fontButtonSetTitle fontButton title = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    title' <- textToCString title
+    gtk_font_button_set_title fontButton' title'
+    touchManagedPtr fontButton
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontButtonSetTitleMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonSetTitleMethodInfo a signature where
+    overloadedMethod _ = fontButtonSetTitle
+
+#endif
+
+-- method FontButton::set_use_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_font", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, font name will be written using font chosen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_set_use_font" gtk_font_button_set_use_font :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    CInt ->                                 -- use_font : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@useFont@/ is 'True', the font name will be written using the selected font.
+
+/Since: 2.4/
+-}
+fontButtonSetUseFont ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> Bool
+    {- ^ /@useFont@/: If 'True', font name will be written using font chosen. -}
+    -> m ()
+fontButtonSetUseFont fontButton useFont = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    let useFont' = (fromIntegral . fromEnum) useFont
+    gtk_font_button_set_use_font fontButton' useFont'
+    touchManagedPtr fontButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontButtonSetUseFontMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonSetUseFontMethodInfo a signature where
+    overloadedMethod _ = fontButtonSetUseFont
+
+#endif
+
+-- method FontButton::set_use_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "font_button", argType = TInterface (Name {namespace = "Gtk", name = "FontButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_size", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, font name will be written using the selected size.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_button_set_use_size" gtk_font_button_set_use_size :: 
+    Ptr FontButton ->                       -- font_button : TInterface (Name {namespace = "Gtk", name = "FontButton"})
+    CInt ->                                 -- use_size : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@useSize@/ is 'True', the font name will be written using the selected size.
+
+/Since: 2.4/
+-}
+fontButtonSetUseSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontButton a) =>
+    a
+    {- ^ /@fontButton@/: a 'GI.Gtk.Objects.FontButton.FontButton' -}
+    -> Bool
+    {- ^ /@useSize@/: If 'True', font name will be written using the selected size. -}
+    -> m ()
+fontButtonSetUseSize fontButton useSize = liftIO $ do
+    fontButton' <- unsafeManagedPtrCastPtr fontButton
+    let useSize' = (fromIntegral . fromEnum) useSize
+    gtk_font_button_set_use_size fontButton' useSize'
+    touchManagedPtr fontButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontButtonSetUseSizeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsFontButton a) => O.MethodInfo FontButtonSetUseSizeMethodInfo a signature where
+    overloadedMethod _ = fontButtonSetUseSize
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FontButton.hs-boot b/GI/Gtk/Objects/FontButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontButton.hs-boot
@@ -0,0 +1,86 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FontButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FontButton = FontButton (ManagedPtr FontButton)
+instance GObject FontButton where
+class (GObject o, O.IsDescendantOf FontButton o) => IsFontButton o
+instance (GObject o, O.IsDescendantOf FontButton o) => IsFontButton o
+instance O.HasParentTypes FontButton
+#if ENABLE_OVERLOADING
+data FontButtonFontNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonShowSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonShowStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonUseFontPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonUseSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonFontSetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonGetFontNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonGetShowSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonGetShowStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonGetUseFontMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonGetUseSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonSetFontNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonSetShowSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonSetShowStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonSetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonSetUseFontMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontButtonSetUseSizeMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/FontChooserDialog.hs b/GI/Gtk/Objects/FontChooserDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontChooserDialog.hs
@@ -0,0 +1,624 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog' widget is a dialog for selecting a font.
+It implements the 'GI.Gtk.Interfaces.FontChooser.FontChooser' interface.
+
+= GtkFontChooserDialog as GtkBuildable
+
+The GtkFontChooserDialog implementation of the 'GI.Gtk.Interfaces.Buildable.Buildable'
+interface exposes the buttons with the names “select_button”
+and “cancel_button”.
+
+/Since: 3.2/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FontChooserDialog
+    ( 
+
+-- * Exported types
+    FontChooserDialog(..)                   ,
+    IsFontChooserDialog                     ,
+    toFontChooserDialog                     ,
+    noFontChooserDialog                     ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    fontChooserDialogNew                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.FontChooser as Gtk.FontChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype FontChooserDialog = FontChooserDialog (ManagedPtr FontChooserDialog)
+foreign import ccall "gtk_font_chooser_dialog_get_type"
+    c_gtk_font_chooser_dialog_get_type :: IO GType
+
+instance GObject FontChooserDialog where
+    gobjectType = c_gtk_font_chooser_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `FontChooserDialog`, for instance with `toFontChooserDialog`.
+class (GObject o, O.IsDescendantOf FontChooserDialog o) => IsFontChooserDialog o
+instance (GObject o, O.IsDescendantOf FontChooserDialog o) => IsFontChooserDialog o
+
+instance O.HasParentTypes FontChooserDialog
+type instance O.ParentTypes FontChooserDialog = '[Gtk.Dialog.Dialog, Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.FontChooser.FontChooser]
+
+-- | Cast to `FontChooserDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFontChooserDialog :: (MonadIO m, IsFontChooserDialog o) => o -> m FontChooserDialog
+toFontChooserDialog = liftIO . unsafeCastTo FontChooserDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FontChooserDialog`.
+noFontChooserDialog :: Maybe FontChooserDialog
+noFontChooserDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFontChooserDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontChooserDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFontChooserDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveFontChooserDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveFontChooserDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveFontChooserDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFontChooserDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveFontChooserDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFontChooserDialogMethod "addActionWidget" o = Gtk.Dialog.DialogAddActionWidgetMethodInfo
+    ResolveFontChooserDialogMethod "addButton" o = Gtk.Dialog.DialogAddButtonMethodInfo
+    ResolveFontChooserDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFontChooserDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFontChooserDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFontChooserDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveFontChooserDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFontChooserDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFontChooserDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveFontChooserDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveFontChooserDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFontChooserDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFontChooserDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFontChooserDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFontChooserDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFontChooserDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFontChooserDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFontChooserDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFontChooserDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFontChooserDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFontChooserDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFontChooserDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveFontChooserDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFontChooserDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFontChooserDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFontChooserDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFontChooserDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFontChooserDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFontChooserDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFontChooserDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveFontChooserDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFontChooserDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFontChooserDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFontChooserDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFontChooserDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFontChooserDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFontChooserDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFontChooserDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFontChooserDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFontChooserDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFontChooserDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFontChooserDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFontChooserDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFontChooserDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFontChooserDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFontChooserDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFontChooserDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFontChooserDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFontChooserDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFontChooserDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFontChooserDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFontChooserDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFontChooserDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFontChooserDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFontChooserDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFontChooserDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFontChooserDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFontChooserDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFontChooserDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFontChooserDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFontChooserDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveFontChooserDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveFontChooserDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFontChooserDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFontChooserDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFontChooserDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFontChooserDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFontChooserDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFontChooserDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFontChooserDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFontChooserDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveFontChooserDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFontChooserDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFontChooserDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveFontChooserDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFontChooserDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFontChooserDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFontChooserDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveFontChooserDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFontChooserDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFontChooserDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFontChooserDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFontChooserDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFontChooserDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveFontChooserDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFontChooserDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFontChooserDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFontChooserDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFontChooserDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFontChooserDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveFontChooserDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFontChooserDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFontChooserDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFontChooserDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFontChooserDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFontChooserDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFontChooserDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFontChooserDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFontChooserDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveFontChooserDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveFontChooserDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFontChooserDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFontChooserDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFontChooserDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFontChooserDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFontChooserDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFontChooserDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFontChooserDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveFontChooserDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFontChooserDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFontChooserDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFontChooserDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFontChooserDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFontChooserDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFontChooserDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFontChooserDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveFontChooserDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFontChooserDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFontChooserDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveFontChooserDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveFontChooserDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFontChooserDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveFontChooserDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFontChooserDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFontChooserDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFontChooserDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFontChooserDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFontChooserDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFontChooserDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFontChooserDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFontChooserDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFontChooserDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFontChooserDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFontChooserDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFontChooserDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFontChooserDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveFontChooserDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFontChooserDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveFontChooserDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFontChooserDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFontChooserDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFontChooserDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFontChooserDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFontChooserDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFontChooserDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFontChooserDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveFontChooserDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveFontChooserDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFontChooserDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveFontChooserDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveFontChooserDialogMethod "response" o = Gtk.Dialog.DialogResponseMethodInfo
+    ResolveFontChooserDialogMethod "run" o = Gtk.Dialog.DialogRunMethodInfo
+    ResolveFontChooserDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFontChooserDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFontChooserDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFontChooserDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFontChooserDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFontChooserDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFontChooserDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFontChooserDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFontChooserDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFontChooserDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFontChooserDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFontChooserDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFontChooserDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveFontChooserDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFontChooserDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFontChooserDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFontChooserDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFontChooserDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFontChooserDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFontChooserDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveFontChooserDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFontChooserDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveFontChooserDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFontChooserDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFontChooserDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFontChooserDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFontChooserDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFontChooserDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFontChooserDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveFontChooserDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFontChooserDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveFontChooserDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFontChooserDialogMethod "getActionArea" o = Gtk.Dialog.DialogGetActionAreaMethodInfo
+    ResolveFontChooserDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFontChooserDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFontChooserDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFontChooserDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFontChooserDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFontChooserDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFontChooserDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFontChooserDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFontChooserDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveFontChooserDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveFontChooserDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFontChooserDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFontChooserDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFontChooserDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveFontChooserDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFontChooserDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFontChooserDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFontChooserDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFontChooserDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFontChooserDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFontChooserDialogMethod "getContentArea" o = Gtk.Dialog.DialogGetContentAreaMethodInfo
+    ResolveFontChooserDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFontChooserDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveFontChooserDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveFontChooserDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveFontChooserDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveFontChooserDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveFontChooserDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFontChooserDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFontChooserDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFontChooserDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFontChooserDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFontChooserDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFontChooserDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveFontChooserDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFontChooserDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFontChooserDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFontChooserDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFontChooserDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveFontChooserDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFontChooserDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveFontChooserDialogMethod "getFont" o = Gtk.FontChooser.FontChooserGetFontMethodInfo
+    ResolveFontChooserDialogMethod "getFontDesc" o = Gtk.FontChooser.FontChooserGetFontDescMethodInfo
+    ResolveFontChooserDialogMethod "getFontFace" o = Gtk.FontChooser.FontChooserGetFontFaceMethodInfo
+    ResolveFontChooserDialogMethod "getFontFamily" o = Gtk.FontChooser.FontChooserGetFontFamilyMethodInfo
+    ResolveFontChooserDialogMethod "getFontFeatures" o = Gtk.FontChooser.FontChooserGetFontFeaturesMethodInfo
+    ResolveFontChooserDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFontChooserDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFontChooserDialogMethod "getFontSize" o = Gtk.FontChooser.FontChooserGetFontSizeMethodInfo
+    ResolveFontChooserDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFontChooserDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveFontChooserDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveFontChooserDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFontChooserDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveFontChooserDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFontChooserDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFontChooserDialogMethod "getHeaderBar" o = Gtk.Dialog.DialogGetHeaderBarMethodInfo
+    ResolveFontChooserDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFontChooserDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFontChooserDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveFontChooserDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveFontChooserDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveFontChooserDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveFontChooserDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFontChooserDialogMethod "getLanguage" o = Gtk.FontChooser.FontChooserGetLanguageMethodInfo
+    ResolveFontChooserDialogMethod "getLevel" o = Gtk.FontChooser.FontChooserGetLevelMethodInfo
+    ResolveFontChooserDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFontChooserDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFontChooserDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFontChooserDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFontChooserDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFontChooserDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFontChooserDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFontChooserDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveFontChooserDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveFontChooserDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveFontChooserDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFontChooserDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFontChooserDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFontChooserDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFontChooserDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveFontChooserDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFontChooserDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFontChooserDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFontChooserDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFontChooserDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFontChooserDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFontChooserDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveFontChooserDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFontChooserDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFontChooserDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFontChooserDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFontChooserDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFontChooserDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFontChooserDialogMethod "getPreviewText" o = Gtk.FontChooser.FontChooserGetPreviewTextMethodInfo
+    ResolveFontChooserDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFontChooserDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFontChooserDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFontChooserDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFontChooserDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFontChooserDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFontChooserDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveFontChooserDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveFontChooserDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFontChooserDialogMethod "getResponseForWidget" o = Gtk.Dialog.DialogGetResponseForWidgetMethodInfo
+    ResolveFontChooserDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveFontChooserDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFontChooserDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFontChooserDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveFontChooserDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFontChooserDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFontChooserDialogMethod "getShowPreviewEntry" o = Gtk.FontChooser.FontChooserGetShowPreviewEntryMethodInfo
+    ResolveFontChooserDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveFontChooserDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFontChooserDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveFontChooserDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveFontChooserDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFontChooserDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFontChooserDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFontChooserDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFontChooserDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFontChooserDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFontChooserDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveFontChooserDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveFontChooserDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFontChooserDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFontChooserDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFontChooserDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFontChooserDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveFontChooserDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveFontChooserDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveFontChooserDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFontChooserDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFontChooserDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFontChooserDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFontChooserDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFontChooserDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFontChooserDialogMethod "getWidgetForResponse" o = Gtk.Dialog.DialogGetWidgetForResponseMethodInfo
+    ResolveFontChooserDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFontChooserDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveFontChooserDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFontChooserDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveFontChooserDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFontChooserDialogMethod "setAlternativeButtonOrderFromArray" o = Gtk.Dialog.DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveFontChooserDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFontChooserDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveFontChooserDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveFontChooserDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFontChooserDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFontChooserDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFontChooserDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFontChooserDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFontChooserDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFontChooserDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFontChooserDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFontChooserDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveFontChooserDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveFontChooserDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveFontChooserDialogMethod "setDefaultResponse" o = Gtk.Dialog.DialogSetDefaultResponseMethodInfo
+    ResolveFontChooserDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveFontChooserDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveFontChooserDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveFontChooserDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFontChooserDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFontChooserDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFontChooserDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFontChooserDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFontChooserDialogMethod "setFilterFunc" o = Gtk.FontChooser.FontChooserSetFilterFuncMethodInfo
+    ResolveFontChooserDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveFontChooserDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFontChooserDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFontChooserDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFontChooserDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFontChooserDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveFontChooserDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFontChooserDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveFontChooserDialogMethod "setFont" o = Gtk.FontChooser.FontChooserSetFontMethodInfo
+    ResolveFontChooserDialogMethod "setFontDesc" o = Gtk.FontChooser.FontChooserSetFontDescMethodInfo
+    ResolveFontChooserDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFontChooserDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFontChooserDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveFontChooserDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveFontChooserDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFontChooserDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveFontChooserDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFontChooserDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveFontChooserDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFontChooserDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFontChooserDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFontChooserDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveFontChooserDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveFontChooserDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveFontChooserDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveFontChooserDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveFontChooserDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveFontChooserDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveFontChooserDialogMethod "setLanguage" o = Gtk.FontChooser.FontChooserSetLanguageMethodInfo
+    ResolveFontChooserDialogMethod "setLevel" o = Gtk.FontChooser.FontChooserSetLevelMethodInfo
+    ResolveFontChooserDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFontChooserDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFontChooserDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFontChooserDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFontChooserDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFontChooserDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFontChooserDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFontChooserDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveFontChooserDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveFontChooserDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveFontChooserDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFontChooserDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFontChooserDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveFontChooserDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFontChooserDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFontChooserDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveFontChooserDialogMethod "setPreviewText" o = Gtk.FontChooser.FontChooserSetPreviewTextMethodInfo
+    ResolveFontChooserDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFontChooserDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFontChooserDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFontChooserDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFontChooserDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFontChooserDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveFontChooserDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFontChooserDialogMethod "setResponseSensitive" o = Gtk.Dialog.DialogSetResponseSensitiveMethodInfo
+    ResolveFontChooserDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveFontChooserDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveFontChooserDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFontChooserDialogMethod "setShowPreviewEntry" o = Gtk.FontChooser.FontChooserSetShowPreviewEntryMethodInfo
+    ResolveFontChooserDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFontChooserDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveFontChooserDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveFontChooserDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveFontChooserDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFontChooserDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFontChooserDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFontChooserDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFontChooserDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveFontChooserDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveFontChooserDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFontChooserDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFontChooserDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFontChooserDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveFontChooserDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveFontChooserDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveFontChooserDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFontChooserDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFontChooserDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFontChooserDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFontChooserDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFontChooserDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFontChooserDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveFontChooserDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFontChooserDialogMethod t FontChooserDialog, O.MethodInfo info FontChooserDialog p) => OL.IsLabel t (FontChooserDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FontChooserDialog
+type instance O.AttributeList FontChooserDialog = FontChooserDialogAttributeList
+type FontChooserDialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("font", Gtk.FontChooser.FontChooserFontPropertyInfo), '("fontDesc", Gtk.FontChooser.FontChooserFontDescPropertyInfo), '("fontFeatures", Gtk.FontChooser.FontChooserFontFeaturesPropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("language", Gtk.FontChooser.FontChooserLanguagePropertyInfo), '("level", Gtk.FontChooser.FontChooserLevelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("previewText", Gtk.FontChooser.FontChooserPreviewTextPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showPreviewEntry", Gtk.FontChooser.FontChooserShowPreviewEntryPropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", Gtk.Dialog.DialogUseHeaderBarPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FontChooserDialog = FontChooserDialogSignalList
+type FontChooserDialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", Gtk.Dialog.DialogCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("fontActivated", Gtk.FontChooser.FontChooserFontActivatedSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", Gtk.Dialog.DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FontChooserDialog::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Title of the dialog, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Transient parent of the dialog, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FontChooserDialog"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_dialog_new" gtk_font_chooser_dialog_new :: 
+    CString ->                              -- title : TBasicType TUTF8
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr FontChooserDialog)
+
+{- |
+Creates a new 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog'.
+
+/Since: 3.2/
+-}
+fontChooserDialogNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a) =>
+    Maybe (T.Text)
+    {- ^ /@title@/: Title of the dialog, or 'Nothing' -}
+    -> Maybe (a)
+    {- ^ /@parent@/: Transient parent of the dialog, or 'Nothing' -}
+    -> m FontChooserDialog
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog' -}
+fontChooserDialogNew title parent = liftIO $ do
+    maybeTitle <- case title of
+        Nothing -> return nullPtr
+        Just jTitle -> do
+            jTitle' <- textToCString jTitle
+            return jTitle'
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    result <- gtk_font_chooser_dialog_new maybeTitle maybeParent
+    checkUnexpectedReturnNULL "fontChooserDialogNew" result
+    result' <- (newObject FontChooserDialog) result
+    whenJust parent touchManagedPtr
+    freeMem maybeTitle
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/FontChooserDialog.hs-boot b/GI/Gtk/Objects/FontChooserDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontChooserDialog.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FontChooserDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FontChooserDialog = FontChooserDialog (ManagedPtr FontChooserDialog)
+instance GObject FontChooserDialog where
+class (GObject o, O.IsDescendantOf FontChooserDialog o) => IsFontChooserDialog o
+instance (GObject o, O.IsDescendantOf FontChooserDialog o) => IsFontChooserDialog o
+instance O.HasParentTypes FontChooserDialog
diff --git a/GI/Gtk/Objects/FontChooserWidget.hs b/GI/Gtk/Objects/FontChooserWidget.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontChooserWidget.hs
@@ -0,0 +1,566 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.FontChooserWidget.FontChooserWidget' widget lists the available fonts,
+styles and sizes, allowing the user to select a font. It is
+used in the 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog' widget to provide a
+dialog box for selecting fonts.
+
+To set the font which is initially selected, use
+'GI.Gtk.Interfaces.FontChooser.fontChooserSetFont' or 'GI.Gtk.Interfaces.FontChooser.fontChooserSetFontDesc'.
+
+To get the selected font use 'GI.Gtk.Interfaces.FontChooser.fontChooserGetFont' or
+'GI.Gtk.Interfaces.FontChooser.fontChooserGetFontDesc'.
+
+To change the text which is shown in the preview area, use
+'GI.Gtk.Interfaces.FontChooser.fontChooserSetPreviewText'.
+
+= CSS nodes
+
+GtkFontChooserWidget has a single CSS node with name fontchooser.
+
+/Since: 3.2/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FontChooserWidget
+    ( 
+
+-- * Exported types
+    FontChooserWidget(..)                   ,
+    IsFontChooserWidget                     ,
+    toFontChooserWidget                     ,
+    noFontChooserWidget                     ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    fontChooserWidgetNew                    ,
+
+
+
+
+ -- * Properties
+-- ** tweakAction #attr:tweakAction#
+{- | A toggle action that can be used to switch to the tweak page
+of the font chooser widget, which lets the user tweak the
+OpenType features and variation axes of the selected font.
+
+The action will be enabled or disabled depending on whether
+the selected font has any features or axes.
+-}
+#if ENABLE_OVERLOADING
+    FontChooserWidgetTweakActionPropertyInfo,
+#endif
+#if ENABLE_OVERLOADING
+    fontChooserWidgetTweakAction            ,
+#endif
+    getFontChooserWidgetTweakAction         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.Action as Gio.Action
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.FontChooser as Gtk.FontChooser
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype FontChooserWidget = FontChooserWidget (ManagedPtr FontChooserWidget)
+foreign import ccall "gtk_font_chooser_widget_get_type"
+    c_gtk_font_chooser_widget_get_type :: IO GType
+
+instance GObject FontChooserWidget where
+    gobjectType = c_gtk_font_chooser_widget_get_type
+    
+
+-- | Type class for types which can be safely cast to `FontChooserWidget`, for instance with `toFontChooserWidget`.
+class (GObject o, O.IsDescendantOf FontChooserWidget o) => IsFontChooserWidget o
+instance (GObject o, O.IsDescendantOf FontChooserWidget o) => IsFontChooserWidget o
+
+instance O.HasParentTypes FontChooserWidget
+type instance O.ParentTypes FontChooserWidget = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.FontChooser.FontChooser, Gtk.Orientable.Orientable]
+
+-- | Cast to `FontChooserWidget`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFontChooserWidget :: (MonadIO m, IsFontChooserWidget o) => o -> m FontChooserWidget
+toFontChooserWidget = liftIO . unsafeCastTo FontChooserWidget
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FontChooserWidget`.
+noFontChooserWidget :: Maybe FontChooserWidget
+noFontChooserWidget = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFontChooserWidgetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontChooserWidgetMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFontChooserWidgetMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFontChooserWidgetMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFontChooserWidgetMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFontChooserWidgetMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFontChooserWidgetMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFontChooserWidgetMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFontChooserWidgetMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFontChooserWidgetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFontChooserWidgetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFontChooserWidgetMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFontChooserWidgetMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFontChooserWidgetMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFontChooserWidgetMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFontChooserWidgetMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFontChooserWidgetMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFontChooserWidgetMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFontChooserWidgetMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFontChooserWidgetMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFontChooserWidgetMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFontChooserWidgetMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFontChooserWidgetMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFontChooserWidgetMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFontChooserWidgetMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFontChooserWidgetMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFontChooserWidgetMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFontChooserWidgetMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFontChooserWidgetMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFontChooserWidgetMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFontChooserWidgetMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFontChooserWidgetMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFontChooserWidgetMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFontChooserWidgetMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFontChooserWidgetMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFontChooserWidgetMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFontChooserWidgetMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFontChooserWidgetMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFontChooserWidgetMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFontChooserWidgetMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFontChooserWidgetMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFontChooserWidgetMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFontChooserWidgetMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFontChooserWidgetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFontChooserWidgetMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFontChooserWidgetMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFontChooserWidgetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFontChooserWidgetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFontChooserWidgetMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFontChooserWidgetMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFontChooserWidgetMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFontChooserWidgetMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFontChooserWidgetMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFontChooserWidgetMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFontChooserWidgetMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFontChooserWidgetMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFontChooserWidgetMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFontChooserWidgetMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFontChooserWidgetMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFontChooserWidgetMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFontChooserWidgetMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFontChooserWidgetMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFontChooserWidgetMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFontChooserWidgetMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFontChooserWidgetMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFontChooserWidgetMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFontChooserWidgetMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFontChooserWidgetMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFontChooserWidgetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFontChooserWidgetMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFontChooserWidgetMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFontChooserWidgetMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFontChooserWidgetMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFontChooserWidgetMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFontChooserWidgetMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFontChooserWidgetMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFontChooserWidgetMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFontChooserWidgetMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFontChooserWidgetMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveFontChooserWidgetMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFontChooserWidgetMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFontChooserWidgetMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFontChooserWidgetMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFontChooserWidgetMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFontChooserWidgetMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFontChooserWidgetMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFontChooserWidgetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFontChooserWidgetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFontChooserWidgetMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFontChooserWidgetMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFontChooserWidgetMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFontChooserWidgetMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFontChooserWidgetMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFontChooserWidgetMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveFontChooserWidgetMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveFontChooserWidgetMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFontChooserWidgetMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFontChooserWidgetMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFontChooserWidgetMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveFontChooserWidgetMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFontChooserWidgetMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFontChooserWidgetMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFontChooserWidgetMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFontChooserWidgetMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFontChooserWidgetMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFontChooserWidgetMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFontChooserWidgetMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFontChooserWidgetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFontChooserWidgetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFontChooserWidgetMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFontChooserWidgetMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFontChooserWidgetMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFontChooserWidgetMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFontChooserWidgetMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFontChooserWidgetMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFontChooserWidgetMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFontChooserWidgetMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFontChooserWidgetMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveFontChooserWidgetMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFontChooserWidgetMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFontChooserWidgetMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFontChooserWidgetMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFontChooserWidgetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFontChooserWidgetMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFontChooserWidgetMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFontChooserWidgetMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFontChooserWidgetMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFontChooserWidgetMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFontChooserWidgetMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFontChooserWidgetMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFontChooserWidgetMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFontChooserWidgetMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFontChooserWidgetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFontChooserWidgetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFontChooserWidgetMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFontChooserWidgetMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFontChooserWidgetMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFontChooserWidgetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFontChooserWidgetMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFontChooserWidgetMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFontChooserWidgetMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFontChooserWidgetMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFontChooserWidgetMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFontChooserWidgetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFontChooserWidgetMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFontChooserWidgetMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFontChooserWidgetMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFontChooserWidgetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFontChooserWidgetMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFontChooserWidgetMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFontChooserWidgetMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFontChooserWidgetMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFontChooserWidgetMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFontChooserWidgetMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFontChooserWidgetMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFontChooserWidgetMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFontChooserWidgetMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFontChooserWidgetMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveFontChooserWidgetMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFontChooserWidgetMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFontChooserWidgetMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFontChooserWidgetMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveFontChooserWidgetMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFontChooserWidgetMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFontChooserWidgetMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFontChooserWidgetMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFontChooserWidgetMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFontChooserWidgetMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFontChooserWidgetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFontChooserWidgetMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFontChooserWidgetMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFontChooserWidgetMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFontChooserWidgetMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFontChooserWidgetMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFontChooserWidgetMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFontChooserWidgetMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFontChooserWidgetMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFontChooserWidgetMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFontChooserWidgetMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFontChooserWidgetMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFontChooserWidgetMethod "getFont" o = Gtk.FontChooser.FontChooserGetFontMethodInfo
+    ResolveFontChooserWidgetMethod "getFontDesc" o = Gtk.FontChooser.FontChooserGetFontDescMethodInfo
+    ResolveFontChooserWidgetMethod "getFontFace" o = Gtk.FontChooser.FontChooserGetFontFaceMethodInfo
+    ResolveFontChooserWidgetMethod "getFontFamily" o = Gtk.FontChooser.FontChooserGetFontFamilyMethodInfo
+    ResolveFontChooserWidgetMethod "getFontFeatures" o = Gtk.FontChooser.FontChooserGetFontFeaturesMethodInfo
+    ResolveFontChooserWidgetMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFontChooserWidgetMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFontChooserWidgetMethod "getFontSize" o = Gtk.FontChooser.FontChooserGetFontSizeMethodInfo
+    ResolveFontChooserWidgetMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFontChooserWidgetMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFontChooserWidgetMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFontChooserWidgetMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFontChooserWidgetMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFontChooserWidgetMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFontChooserWidgetMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveFontChooserWidgetMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFontChooserWidgetMethod "getLanguage" o = Gtk.FontChooser.FontChooserGetLanguageMethodInfo
+    ResolveFontChooserWidgetMethod "getLevel" o = Gtk.FontChooser.FontChooserGetLevelMethodInfo
+    ResolveFontChooserWidgetMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFontChooserWidgetMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFontChooserWidgetMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFontChooserWidgetMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFontChooserWidgetMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFontChooserWidgetMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFontChooserWidgetMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFontChooserWidgetMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFontChooserWidgetMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFontChooserWidgetMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFontChooserWidgetMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFontChooserWidgetMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveFontChooserWidgetMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveFontChooserWidgetMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFontChooserWidgetMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFontChooserWidgetMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFontChooserWidgetMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFontChooserWidgetMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFontChooserWidgetMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFontChooserWidgetMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFontChooserWidgetMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFontChooserWidgetMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFontChooserWidgetMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFontChooserWidgetMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFontChooserWidgetMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFontChooserWidgetMethod "getPreviewText" o = Gtk.FontChooser.FontChooserGetPreviewTextMethodInfo
+    ResolveFontChooserWidgetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFontChooserWidgetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFontChooserWidgetMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFontChooserWidgetMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFontChooserWidgetMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFontChooserWidgetMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFontChooserWidgetMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFontChooserWidgetMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFontChooserWidgetMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFontChooserWidgetMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveFontChooserWidgetMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFontChooserWidgetMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFontChooserWidgetMethod "getShowPreviewEntry" o = Gtk.FontChooser.FontChooserGetShowPreviewEntryMethodInfo
+    ResolveFontChooserWidgetMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFontChooserWidgetMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveFontChooserWidgetMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFontChooserWidgetMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFontChooserWidgetMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFontChooserWidgetMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFontChooserWidgetMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFontChooserWidgetMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFontChooserWidgetMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFontChooserWidgetMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFontChooserWidgetMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFontChooserWidgetMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFontChooserWidgetMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFontChooserWidgetMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFontChooserWidgetMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFontChooserWidgetMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFontChooserWidgetMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFontChooserWidgetMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFontChooserWidgetMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFontChooserWidgetMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFontChooserWidgetMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFontChooserWidgetMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFontChooserWidgetMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveFontChooserWidgetMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFontChooserWidgetMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFontChooserWidgetMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFontChooserWidgetMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFontChooserWidgetMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveFontChooserWidgetMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveFontChooserWidgetMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFontChooserWidgetMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFontChooserWidgetMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFontChooserWidgetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFontChooserWidgetMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFontChooserWidgetMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFontChooserWidgetMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFontChooserWidgetMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFontChooserWidgetMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFontChooserWidgetMethod "setFilterFunc" o = Gtk.FontChooser.FontChooserSetFilterFuncMethodInfo
+    ResolveFontChooserWidgetMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFontChooserWidgetMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFontChooserWidgetMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFontChooserWidgetMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFontChooserWidgetMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFontChooserWidgetMethod "setFont" o = Gtk.FontChooser.FontChooserSetFontMethodInfo
+    ResolveFontChooserWidgetMethod "setFontDesc" o = Gtk.FontChooser.FontChooserSetFontDescMethodInfo
+    ResolveFontChooserWidgetMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFontChooserWidgetMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFontChooserWidgetMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFontChooserWidgetMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFontChooserWidgetMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFontChooserWidgetMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFontChooserWidgetMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFontChooserWidgetMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveFontChooserWidgetMethod "setLanguage" o = Gtk.FontChooser.FontChooserSetLanguageMethodInfo
+    ResolveFontChooserWidgetMethod "setLevel" o = Gtk.FontChooser.FontChooserSetLevelMethodInfo
+    ResolveFontChooserWidgetMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFontChooserWidgetMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFontChooserWidgetMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFontChooserWidgetMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFontChooserWidgetMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFontChooserWidgetMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFontChooserWidgetMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFontChooserWidgetMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFontChooserWidgetMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFontChooserWidgetMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveFontChooserWidgetMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveFontChooserWidgetMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFontChooserWidgetMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFontChooserWidgetMethod "setPreviewText" o = Gtk.FontChooser.FontChooserSetPreviewTextMethodInfo
+    ResolveFontChooserWidgetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFontChooserWidgetMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFontChooserWidgetMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFontChooserWidgetMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFontChooserWidgetMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFontChooserWidgetMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFontChooserWidgetMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFontChooserWidgetMethod "setShowPreviewEntry" o = Gtk.FontChooser.FontChooserSetShowPreviewEntryMethodInfo
+    ResolveFontChooserWidgetMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFontChooserWidgetMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveFontChooserWidgetMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFontChooserWidgetMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFontChooserWidgetMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFontChooserWidgetMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFontChooserWidgetMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFontChooserWidgetMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFontChooserWidgetMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFontChooserWidgetMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFontChooserWidgetMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFontChooserWidgetMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFontChooserWidgetMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFontChooserWidgetMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFontChooserWidgetMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFontChooserWidgetMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFontChooserWidgetMethod t FontChooserWidget, O.MethodInfo info FontChooserWidget p) => OL.IsLabel t (FontChooserWidget -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "tweak-action"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Action"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@tweak-action@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontChooserWidget #tweakAction
+@
+-}
+getFontChooserWidgetTweakAction :: (MonadIO m, IsFontChooserWidget o) => o -> m (Maybe Gio.Action.Action)
+getFontChooserWidgetTweakAction obj = liftIO $ B.Properties.getObjectPropertyObject obj "tweak-action" Gio.Action.Action
+
+#if ENABLE_OVERLOADING
+data FontChooserWidgetTweakActionPropertyInfo
+instance AttrInfo FontChooserWidgetTweakActionPropertyInfo where
+    type AttrAllowedOps FontChooserWidgetTweakActionPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FontChooserWidgetTweakActionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint FontChooserWidgetTweakActionPropertyInfo = IsFontChooserWidget
+    type AttrGetType FontChooserWidgetTweakActionPropertyInfo = (Maybe Gio.Action.Action)
+    type AttrLabel FontChooserWidgetTweakActionPropertyInfo = "tweak-action"
+    type AttrOrigin FontChooserWidgetTweakActionPropertyInfo = FontChooserWidget
+    attrGet _ = getFontChooserWidgetTweakAction
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FontChooserWidget
+type instance O.AttributeList FontChooserWidget = FontChooserWidgetAttributeList
+type FontChooserWidgetAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("font", Gtk.FontChooser.FontChooserFontPropertyInfo), '("fontDesc", Gtk.FontChooser.FontChooserFontDescPropertyInfo), '("fontFeatures", Gtk.FontChooser.FontChooserFontFeaturesPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("language", Gtk.FontChooser.FontChooserLanguagePropertyInfo), '("level", Gtk.FontChooser.FontChooserLevelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("previewText", Gtk.FontChooser.FontChooserPreviewTextPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showPreviewEntry", Gtk.FontChooser.FontChooserShowPreviewEntryPropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("tweakAction", FontChooserWidgetTweakActionPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+fontChooserWidgetTweakAction :: AttrLabelProxy "tweakAction"
+fontChooserWidgetTweakAction = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FontChooserWidget = FontChooserWidgetSignalList
+type FontChooserWidgetSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("fontActivated", Gtk.FontChooser.FontChooserFontActivatedSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FontChooserWidget::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FontChooserWidget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_chooser_widget_new" gtk_font_chooser_widget_new :: 
+    IO (Ptr FontChooserWidget)
+
+{- |
+Creates a new 'GI.Gtk.Objects.FontChooserWidget.FontChooserWidget'.
+
+/Since: 3.2/
+-}
+fontChooserWidgetNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m FontChooserWidget
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FontChooserWidget.FontChooserWidget' -}
+fontChooserWidgetNew  = liftIO $ do
+    result <- gtk_font_chooser_widget_new
+    checkUnexpectedReturnNULL "fontChooserWidgetNew" result
+    result' <- (newObject FontChooserWidget) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/FontChooserWidget.hs-boot b/GI/Gtk/Objects/FontChooserWidget.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontChooserWidget.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FontChooserWidget where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FontChooserWidget = FontChooserWidget (ManagedPtr FontChooserWidget)
+instance GObject FontChooserWidget where
+class (GObject o, O.IsDescendantOf FontChooserWidget o) => IsFontChooserWidget o
+instance (GObject o, O.IsDescendantOf FontChooserWidget o) => IsFontChooserWidget o
+instance O.HasParentTypes FontChooserWidget
+#if ENABLE_OVERLOADING
+data FontChooserWidgetTweakActionPropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/FontSelection.hs b/GI/Gtk/Objects/FontSelection.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontSelection.hs
@@ -0,0 +1,1221 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FontSelection
+    ( 
+
+-- * Exported types
+    FontSelection(..)                       ,
+    IsFontSelection                         ,
+    toFontSelection                         ,
+    noFontSelection                         ,
+
+
+ -- * Methods
+-- ** getFace #method:getFace#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetFaceMethodInfo          ,
+#endif
+    fontSelectionGetFace                    ,
+
+
+-- ** getFaceList #method:getFaceList#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetFaceListMethodInfo      ,
+#endif
+    fontSelectionGetFaceList                ,
+
+
+-- ** getFamily #method:getFamily#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetFamilyMethodInfo        ,
+#endif
+    fontSelectionGetFamily                  ,
+
+
+-- ** getFamilyList #method:getFamilyList#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetFamilyListMethodInfo    ,
+#endif
+    fontSelectionGetFamilyList              ,
+
+
+-- ** getFontName #method:getFontName#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetFontNameMethodInfo      ,
+#endif
+    fontSelectionGetFontName                ,
+
+
+-- ** getPreviewEntry #method:getPreviewEntry#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetPreviewEntryMethodInfo  ,
+#endif
+    fontSelectionGetPreviewEntry            ,
+
+
+-- ** getPreviewText #method:getPreviewText#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetPreviewTextMethodInfo   ,
+#endif
+    fontSelectionGetPreviewText             ,
+
+
+-- ** getSize #method:getSize#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetSizeMethodInfo          ,
+#endif
+    fontSelectionGetSize                    ,
+
+
+-- ** getSizeEntry #method:getSizeEntry#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetSizeEntryMethodInfo     ,
+#endif
+    fontSelectionGetSizeEntry               ,
+
+
+-- ** getSizeList #method:getSizeList#
+
+#if ENABLE_OVERLOADING
+    FontSelectionGetSizeListMethodInfo      ,
+#endif
+    fontSelectionGetSizeList                ,
+
+
+-- ** new #method:new#
+
+    fontSelectionNew                        ,
+
+
+-- ** setFontName #method:setFontName#
+
+#if ENABLE_OVERLOADING
+    FontSelectionSetFontNameMethodInfo      ,
+#endif
+    fontSelectionSetFontName                ,
+
+
+-- ** setPreviewText #method:setPreviewText#
+
+#if ENABLE_OVERLOADING
+    FontSelectionSetPreviewTextMethodInfo   ,
+#endif
+    fontSelectionSetPreviewText             ,
+
+
+
+
+ -- * Properties
+-- ** fontName #attr:fontName#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FontSelectionFontNamePropertyInfo       ,
+#endif
+    clearFontSelectionFontName              ,
+    constructFontSelectionFontName          ,
+#if ENABLE_OVERLOADING
+    fontSelectionFontName                   ,
+#endif
+    getFontSelectionFontName                ,
+    setFontSelectionFontName                ,
+
+
+-- ** previewText #attr:previewText#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FontSelectionPreviewTextPropertyInfo    ,
+#endif
+    constructFontSelectionPreviewText       ,
+#if ENABLE_OVERLOADING
+    fontSelectionPreviewText                ,
+#endif
+    getFontSelectionPreviewText             ,
+    setFontSelectionPreviewText             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import qualified GI.Pango.Objects.FontFace as Pango.FontFace
+import qualified GI.Pango.Objects.FontFamily as Pango.FontFamily
+
+-- | Memory-managed wrapper type.
+newtype FontSelection = FontSelection (ManagedPtr FontSelection)
+foreign import ccall "gtk_font_selection_get_type"
+    c_gtk_font_selection_get_type :: IO GType
+
+instance GObject FontSelection where
+    gobjectType = c_gtk_font_selection_get_type
+    
+
+-- | Type class for types which can be safely cast to `FontSelection`, for instance with `toFontSelection`.
+class (GObject o, O.IsDescendantOf FontSelection o) => IsFontSelection o
+instance (GObject o, O.IsDescendantOf FontSelection o) => IsFontSelection o
+
+instance O.HasParentTypes FontSelection
+type instance O.ParentTypes FontSelection = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `FontSelection`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFontSelection :: (MonadIO m, IsFontSelection o) => o -> m FontSelection
+toFontSelection = liftIO . unsafeCastTo FontSelection
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FontSelection`.
+noFontSelection :: Maybe FontSelection
+noFontSelection = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFontSelectionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontSelectionMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFontSelectionMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFontSelectionMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFontSelectionMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFontSelectionMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFontSelectionMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFontSelectionMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFontSelectionMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFontSelectionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFontSelectionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFontSelectionMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFontSelectionMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFontSelectionMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFontSelectionMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFontSelectionMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFontSelectionMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFontSelectionMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFontSelectionMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFontSelectionMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFontSelectionMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFontSelectionMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFontSelectionMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFontSelectionMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFontSelectionMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFontSelectionMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFontSelectionMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFontSelectionMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFontSelectionMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFontSelectionMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFontSelectionMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFontSelectionMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFontSelectionMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFontSelectionMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFontSelectionMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFontSelectionMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFontSelectionMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFontSelectionMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFontSelectionMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFontSelectionMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFontSelectionMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFontSelectionMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFontSelectionMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFontSelectionMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFontSelectionMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFontSelectionMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFontSelectionMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFontSelectionMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFontSelectionMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFontSelectionMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFontSelectionMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFontSelectionMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFontSelectionMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFontSelectionMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFontSelectionMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFontSelectionMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFontSelectionMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFontSelectionMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFontSelectionMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFontSelectionMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFontSelectionMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFontSelectionMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFontSelectionMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFontSelectionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFontSelectionMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFontSelectionMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFontSelectionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFontSelectionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFontSelectionMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFontSelectionMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFontSelectionMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFontSelectionMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFontSelectionMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFontSelectionMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFontSelectionMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFontSelectionMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFontSelectionMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFontSelectionMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFontSelectionMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFontSelectionMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFontSelectionMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFontSelectionMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFontSelectionMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFontSelectionMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFontSelectionMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFontSelectionMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFontSelectionMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFontSelectionMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFontSelectionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFontSelectionMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFontSelectionMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFontSelectionMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFontSelectionMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFontSelectionMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFontSelectionMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFontSelectionMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFontSelectionMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFontSelectionMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFontSelectionMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveFontSelectionMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFontSelectionMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFontSelectionMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFontSelectionMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFontSelectionMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFontSelectionMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFontSelectionMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFontSelectionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFontSelectionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFontSelectionMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFontSelectionMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFontSelectionMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFontSelectionMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFontSelectionMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFontSelectionMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveFontSelectionMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveFontSelectionMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFontSelectionMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFontSelectionMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFontSelectionMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveFontSelectionMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFontSelectionMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFontSelectionMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFontSelectionMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFontSelectionMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFontSelectionMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFontSelectionMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFontSelectionMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFontSelectionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFontSelectionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFontSelectionMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFontSelectionMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFontSelectionMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFontSelectionMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFontSelectionMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFontSelectionMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFontSelectionMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFontSelectionMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFontSelectionMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveFontSelectionMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFontSelectionMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFontSelectionMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFontSelectionMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFontSelectionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFontSelectionMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFontSelectionMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFontSelectionMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFontSelectionMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFontSelectionMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFontSelectionMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFontSelectionMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFontSelectionMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFontSelectionMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFontSelectionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFontSelectionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFontSelectionMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFontSelectionMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFontSelectionMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFontSelectionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFontSelectionMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFontSelectionMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFontSelectionMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFontSelectionMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFontSelectionMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFontSelectionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFontSelectionMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFontSelectionMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFontSelectionMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFontSelectionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFontSelectionMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFontSelectionMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFontSelectionMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFontSelectionMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFontSelectionMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFontSelectionMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFontSelectionMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFontSelectionMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFontSelectionMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFontSelectionMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveFontSelectionMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFontSelectionMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFontSelectionMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFontSelectionMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveFontSelectionMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFontSelectionMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFontSelectionMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFontSelectionMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFontSelectionMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFontSelectionMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFontSelectionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFontSelectionMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFontSelectionMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFontSelectionMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFontSelectionMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFontSelectionMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFontSelectionMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFontSelectionMethod "getFace" o = FontSelectionGetFaceMethodInfo
+    ResolveFontSelectionMethod "getFaceList" o = FontSelectionGetFaceListMethodInfo
+    ResolveFontSelectionMethod "getFamily" o = FontSelectionGetFamilyMethodInfo
+    ResolveFontSelectionMethod "getFamilyList" o = FontSelectionGetFamilyListMethodInfo
+    ResolveFontSelectionMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFontSelectionMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFontSelectionMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFontSelectionMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFontSelectionMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFontSelectionMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFontSelectionMethod "getFontName" o = FontSelectionGetFontNameMethodInfo
+    ResolveFontSelectionMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFontSelectionMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFontSelectionMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFontSelectionMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFontSelectionMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFontSelectionMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFontSelectionMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFontSelectionMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveFontSelectionMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFontSelectionMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFontSelectionMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFontSelectionMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFontSelectionMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFontSelectionMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFontSelectionMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFontSelectionMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFontSelectionMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFontSelectionMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFontSelectionMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFontSelectionMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFontSelectionMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveFontSelectionMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveFontSelectionMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFontSelectionMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFontSelectionMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFontSelectionMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFontSelectionMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFontSelectionMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFontSelectionMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFontSelectionMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFontSelectionMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFontSelectionMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFontSelectionMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFontSelectionMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFontSelectionMethod "getPreviewEntry" o = FontSelectionGetPreviewEntryMethodInfo
+    ResolveFontSelectionMethod "getPreviewText" o = FontSelectionGetPreviewTextMethodInfo
+    ResolveFontSelectionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFontSelectionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFontSelectionMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFontSelectionMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFontSelectionMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFontSelectionMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFontSelectionMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFontSelectionMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFontSelectionMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFontSelectionMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveFontSelectionMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFontSelectionMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFontSelectionMethod "getSize" o = FontSelectionGetSizeMethodInfo
+    ResolveFontSelectionMethod "getSizeEntry" o = FontSelectionGetSizeEntryMethodInfo
+    ResolveFontSelectionMethod "getSizeList" o = FontSelectionGetSizeListMethodInfo
+    ResolveFontSelectionMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFontSelectionMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveFontSelectionMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFontSelectionMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFontSelectionMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFontSelectionMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFontSelectionMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFontSelectionMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFontSelectionMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFontSelectionMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFontSelectionMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFontSelectionMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFontSelectionMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFontSelectionMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFontSelectionMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFontSelectionMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFontSelectionMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFontSelectionMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFontSelectionMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFontSelectionMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFontSelectionMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFontSelectionMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFontSelectionMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveFontSelectionMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFontSelectionMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFontSelectionMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFontSelectionMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFontSelectionMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveFontSelectionMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveFontSelectionMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFontSelectionMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFontSelectionMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFontSelectionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFontSelectionMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFontSelectionMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFontSelectionMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFontSelectionMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFontSelectionMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFontSelectionMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFontSelectionMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFontSelectionMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFontSelectionMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFontSelectionMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFontSelectionMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFontSelectionMethod "setFontName" o = FontSelectionSetFontNameMethodInfo
+    ResolveFontSelectionMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFontSelectionMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFontSelectionMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFontSelectionMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFontSelectionMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFontSelectionMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFontSelectionMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveFontSelectionMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFontSelectionMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFontSelectionMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFontSelectionMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFontSelectionMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFontSelectionMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFontSelectionMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFontSelectionMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFontSelectionMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFontSelectionMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveFontSelectionMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveFontSelectionMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFontSelectionMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFontSelectionMethod "setPreviewText" o = FontSelectionSetPreviewTextMethodInfo
+    ResolveFontSelectionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFontSelectionMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFontSelectionMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFontSelectionMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFontSelectionMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFontSelectionMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFontSelectionMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFontSelectionMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFontSelectionMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveFontSelectionMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFontSelectionMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFontSelectionMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFontSelectionMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFontSelectionMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFontSelectionMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFontSelectionMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFontSelectionMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFontSelectionMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFontSelectionMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFontSelectionMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFontSelectionMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFontSelectionMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFontSelectionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFontSelectionMethod t FontSelection, O.MethodInfo info FontSelection p) => OL.IsLabel t (FontSelection -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "font-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@font-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontSelection #fontName
+@
+-}
+getFontSelectionFontName :: (MonadIO m, IsFontSelection o) => o -> m (Maybe T.Text)
+getFontSelectionFontName obj = liftIO $ B.Properties.getObjectPropertyString obj "font-name"
+
+{- |
+Set the value of the “@font-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontSelection [ #fontName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontSelectionFontName :: (MonadIO m, IsFontSelection o) => o -> T.Text -> m ()
+setFontSelectionFontName obj val = liftIO $ B.Properties.setObjectPropertyString obj "font-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontSelectionFontName :: (IsFontSelection o) => T.Text -> IO (GValueConstruct o)
+constructFontSelectionFontName val = B.Properties.constructObjectPropertyString "font-name" (Just val)
+
+{- |
+Set the value of the “@font-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #fontName
+@
+-}
+clearFontSelectionFontName :: (MonadIO m, IsFontSelection o) => o -> m ()
+clearFontSelectionFontName obj = liftIO $ B.Properties.setObjectPropertyString obj "font-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data FontSelectionFontNamePropertyInfo
+instance AttrInfo FontSelectionFontNamePropertyInfo where
+    type AttrAllowedOps FontSelectionFontNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FontSelectionFontNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FontSelectionFontNamePropertyInfo = IsFontSelection
+    type AttrGetType FontSelectionFontNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel FontSelectionFontNamePropertyInfo = "font-name"
+    type AttrOrigin FontSelectionFontNamePropertyInfo = FontSelection
+    attrGet _ = getFontSelectionFontName
+    attrSet _ = setFontSelectionFontName
+    attrConstruct _ = constructFontSelectionFontName
+    attrClear _ = clearFontSelectionFontName
+#endif
+
+-- VVV Prop "preview-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@preview-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fontSelection #previewText
+@
+-}
+getFontSelectionPreviewText :: (MonadIO m, IsFontSelection o) => o -> m T.Text
+getFontSelectionPreviewText obj = liftIO $ checkUnexpectedNothing "getFontSelectionPreviewText" $ B.Properties.getObjectPropertyString obj "preview-text"
+
+{- |
+Set the value of the “@preview-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fontSelection [ #previewText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFontSelectionPreviewText :: (MonadIO m, IsFontSelection o) => o -> T.Text -> m ()
+setFontSelectionPreviewText obj val = liftIO $ B.Properties.setObjectPropertyString obj "preview-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@preview-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFontSelectionPreviewText :: (IsFontSelection o) => T.Text -> IO (GValueConstruct o)
+constructFontSelectionPreviewText val = B.Properties.constructObjectPropertyString "preview-text" (Just val)
+
+#if ENABLE_OVERLOADING
+data FontSelectionPreviewTextPropertyInfo
+instance AttrInfo FontSelectionPreviewTextPropertyInfo where
+    type AttrAllowedOps FontSelectionPreviewTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FontSelectionPreviewTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FontSelectionPreviewTextPropertyInfo = IsFontSelection
+    type AttrGetType FontSelectionPreviewTextPropertyInfo = T.Text
+    type AttrLabel FontSelectionPreviewTextPropertyInfo = "preview-text"
+    type AttrOrigin FontSelectionPreviewTextPropertyInfo = FontSelection
+    attrGet _ = getFontSelectionPreviewText
+    attrSet _ = setFontSelectionPreviewText
+    attrConstruct _ = constructFontSelectionPreviewText
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FontSelection
+type instance O.AttributeList FontSelection = FontSelectionAttributeList
+type FontSelectionAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("fontName", FontSelectionFontNamePropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("previewText", FontSelectionPreviewTextPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+fontSelectionFontName :: AttrLabelProxy "fontName"
+fontSelectionFontName = AttrLabelProxy
+
+fontSelectionPreviewText :: AttrLabelProxy "previewText"
+fontSelectionPreviewText = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FontSelection = FontSelectionSignalList
+type FontSelectionSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FontSelection::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FontSelection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_new" gtk_font_selection_new :: 
+    IO (Ptr FontSelection)
+
+{-# DEPRECATED fontSelectionNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.FontChooserWidget.FontChooserWidget' instead"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.FontSelection.FontSelection'.
+-}
+fontSelectionNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m FontSelection
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+fontSelectionNew  = liftIO $ do
+    result <- gtk_font_selection_new
+    checkUnexpectedReturnNULL "fontSelectionNew" result
+    result' <- (newObject FontSelection) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FontSelection::get_face
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontFace"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_face" gtk_font_selection_get_face :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO (Ptr Pango.FontFace.FontFace)
+
+{-# DEPRECATED fontSelectionGetFace ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+Gets the 'GI.Pango.Objects.FontFace.FontFace' representing the selected font group
+details (i.e. family, slant, weight, width, etc).
+
+/Since: 2.14/
+-}
+fontSelectionGetFace ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m Pango.FontFace.FontFace
+    {- ^ __Returns:__ A 'GI.Pango.Objects.FontFace.FontFace' representing the
+    selected font group details. The returned object is owned by
+    /@fontsel@/ and must not be modified or freed. -}
+fontSelectionGetFace fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_face fontsel'
+    checkUnexpectedReturnNULL "fontSelectionGetFace" result
+    result' <- (newObject Pango.FontFace.FontFace) result
+    touchManagedPtr fontsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetFaceMethodInfo
+instance (signature ~ (m Pango.FontFace.FontFace), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetFaceMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetFace
+
+#endif
+
+-- method FontSelection::get_face_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_face_list" gtk_font_selection_get_face_list :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED fontSelectionGetFaceList ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+This returns the 'GI.Gtk.Objects.TreeView.TreeView' which lists all styles available for
+the selected font. For example, “Regular”, “Bold”, etc.
+
+/Since: 2.14/
+-}
+fontSelectionGetFaceList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.Widget.Widget' that is part of /@fontsel@/ -}
+fontSelectionGetFaceList fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_face_list fontsel'
+    checkUnexpectedReturnNULL "fontSelectionGetFaceList" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr fontsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetFaceListMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetFaceListMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetFaceList
+
+#endif
+
+-- method FontSelection::get_family
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontFamily"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_family" gtk_font_selection_get_family :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO (Ptr Pango.FontFamily.FontFamily)
+
+{-# DEPRECATED fontSelectionGetFamily ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+Gets the 'GI.Pango.Objects.FontFamily.FontFamily' representing the selected font family.
+
+/Since: 2.14/
+-}
+fontSelectionGetFamily ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m Pango.FontFamily.FontFamily
+    {- ^ __Returns:__ A 'GI.Pango.Objects.FontFamily.FontFamily' representing the
+    selected font family. Font families are a collection of font
+    faces. The returned object is owned by /@fontsel@/ and must not
+    be modified or freed. -}
+fontSelectionGetFamily fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_family fontsel'
+    checkUnexpectedReturnNULL "fontSelectionGetFamily" result
+    result' <- (newObject Pango.FontFamily.FontFamily) result
+    touchManagedPtr fontsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetFamilyMethodInfo
+instance (signature ~ (m Pango.FontFamily.FontFamily), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetFamilyMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetFamily
+
+#endif
+
+-- method FontSelection::get_family_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_family_list" gtk_font_selection_get_family_list :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED fontSelectionGetFamilyList ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+This returns the 'GI.Gtk.Objects.TreeView.TreeView' that lists font families, for
+example, “Sans”, “Serif”, etc.
+
+/Since: 2.14/
+-}
+fontSelectionGetFamilyList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.Widget.Widget' that is part of /@fontsel@/ -}
+fontSelectionGetFamilyList fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_family_list fontsel'
+    checkUnexpectedReturnNULL "fontSelectionGetFamilyList" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr fontsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetFamilyListMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetFamilyListMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetFamilyList
+
+#endif
+
+-- method FontSelection::get_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_font_name" gtk_font_selection_get_font_name :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO CString
+
+{-# DEPRECATED fontSelectionGetFontName ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+Gets the currently-selected font name.
+
+Note that this can be a different string than what you set with
+'GI.Gtk.Objects.FontSelection.fontSelectionSetFontName', as the font selection widget may
+normalize font names and thus return a string with a different structure.
+For example, “Helvetica Italic Bold 12” could be normalized to
+“Helvetica Bold Italic 12”. Use 'GI.Pango.Structs.FontDescription.fontDescriptionEqual'
+if you want to compare two font descriptions.
+-}
+fontSelectionGetFontName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m T.Text
+    {- ^ __Returns:__ A string with the name of the current font, or 'Nothing' if
+    no font is selected. You must free this string with 'GI.GLib.Functions.free'. -}
+fontSelectionGetFontName fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_font_name fontsel'
+    checkUnexpectedReturnNULL "fontSelectionGetFontName" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr fontsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetFontNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetFontNameMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetFontName
+
+#endif
+
+-- method FontSelection::get_preview_entry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_preview_entry" gtk_font_selection_get_preview_entry :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED fontSelectionGetPreviewEntry ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+This returns the 'GI.Gtk.Objects.Entry.Entry' used to display the font as a preview.
+
+/Since: 2.14/
+-}
+fontSelectionGetPreviewEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.Widget.Widget' that is part of /@fontsel@/ -}
+fontSelectionGetPreviewEntry fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_preview_entry fontsel'
+    checkUnexpectedReturnNULL "fontSelectionGetPreviewEntry" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr fontsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetPreviewEntryMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetPreviewEntryMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetPreviewEntry
+
+#endif
+
+-- method FontSelection::get_preview_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_preview_text" gtk_font_selection_get_preview_text :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO CString
+
+{-# DEPRECATED fontSelectionGetPreviewText ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+Gets the text displayed in the preview area.
+-}
+fontSelectionGetPreviewText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m T.Text
+    {- ^ __Returns:__ the text displayed in the preview area.
+    This string is owned by the widget and should not be
+    modified or freed -}
+fontSelectionGetPreviewText fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_preview_text fontsel'
+    checkUnexpectedReturnNULL "fontSelectionGetPreviewText" result
+    result' <- cstringToText result
+    touchManagedPtr fontsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetPreviewTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetPreviewTextMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetPreviewText
+
+#endif
+
+-- method FontSelection::get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_size" gtk_font_selection_get_size :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO Int32
+
+{-# DEPRECATED fontSelectionGetSize ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+The selected font size.
+
+/Since: 2.14/
+-}
+fontSelectionGetSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m Int32
+    {- ^ __Returns:__ A n integer representing the selected font size,
+    or -1 if no font size is selected. -}
+fontSelectionGetSize fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_size fontsel'
+    touchManagedPtr fontsel
+    return result
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetSizeMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetSize
+
+#endif
+
+-- method FontSelection::get_size_entry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_size_entry" gtk_font_selection_get_size_entry :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED fontSelectionGetSizeEntry ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+This returns the 'GI.Gtk.Objects.Entry.Entry' used to allow the user to edit the font
+number manually instead of selecting it from the list of font sizes.
+
+/Since: 2.14/
+-}
+fontSelectionGetSizeEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.Widget.Widget' that is part of /@fontsel@/ -}
+fontSelectionGetSizeEntry fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_size_entry fontsel'
+    checkUnexpectedReturnNULL "fontSelectionGetSizeEntry" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr fontsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetSizeEntryMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetSizeEntryMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetSizeEntry
+
+#endif
+
+-- method FontSelection::get_size_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_get_size_list" gtk_font_selection_get_size_list :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED fontSelectionGetSizeList ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+This returns the 'GI.Gtk.Objects.TreeView.TreeView' used to list font sizes.
+
+/Since: 2.14/
+-}
+fontSelectionGetSizeList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.Widget.Widget' that is part of /@fontsel@/ -}
+fontSelectionGetSizeList fontsel = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    result <- gtk_font_selection_get_size_list fontsel'
+    checkUnexpectedReturnNULL "fontSelectionGetSizeList" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr fontsel
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionGetSizeListMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionGetSizeListMethodInfo a signature where
+    overloadedMethod _ = fontSelectionGetSizeList
+
+#endif
+
+-- method FontSelection::set_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a font name like \8220Helvetica 12\8221 or \8220Times Bold 18\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_set_font_name" gtk_font_selection_set_font_name :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    CString ->                              -- fontname : TBasicType TUTF8
+    IO CInt
+
+{-# DEPRECATED fontSelectionSetFontName ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+Sets the currently-selected font.
+
+Note that the /@fontsel@/ needs to know the screen in which it will appear
+for this to work; this can be guaranteed by simply making sure that the
+/@fontsel@/ is inserted in a toplevel window before you call this function.
+-}
+fontSelectionSetFontName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> T.Text
+    {- ^ /@fontname@/: a font name like “Helvetica 12” or “Times Bold 18” -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the font could be set successfully; 'False' if no
+    such font exists or if the /@fontsel@/ doesn’t belong to a particular
+    screen yet. -}
+fontSelectionSetFontName fontsel fontname = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    fontname' <- textToCString fontname
+    result <- gtk_font_selection_set_font_name fontsel' fontname'
+    let result' = (/= 0) result
+    touchManagedPtr fontsel
+    freeMem fontname'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionSetFontNameMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionSetFontNameMethodInfo a signature where
+    overloadedMethod _ = fontSelectionSetFontName
+
+#endif
+
+-- method FontSelection::set_preview_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fontsel", argType = TInterface (Name {namespace = "Gtk", name = "FontSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to display in the preview area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_set_preview_text" gtk_font_selection_set_preview_text :: 
+    Ptr FontSelection ->                    -- fontsel : TInterface (Name {namespace = "Gtk", name = "FontSelection"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED fontSelectionSetPreviewText ["(Since version 3.2)","Use 'GI.Gtk.Interfaces.FontChooser.FontChooser'"] #-}
+{- |
+Sets the text displayed in the preview area.
+The /@text@/ is used to show how the selected font looks.
+-}
+fontSelectionSetPreviewText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelection a) =>
+    a
+    {- ^ /@fontsel@/: a 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+    -> T.Text
+    {- ^ /@text@/: the text to display in the preview area -}
+    -> m ()
+fontSelectionSetPreviewText fontsel text = liftIO $ do
+    fontsel' <- unsafeManagedPtrCastPtr fontsel
+    text' <- textToCString text
+    gtk_font_selection_set_preview_text fontsel' text'
+    touchManagedPtr fontsel
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontSelectionSetPreviewTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFontSelection a) => O.MethodInfo FontSelectionSetPreviewTextMethodInfo a signature where
+    overloadedMethod _ = fontSelectionSetPreviewText
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FontSelection.hs-boot b/GI/Gtk/Objects/FontSelection.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontSelection.hs-boot
@@ -0,0 +1,71 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FontSelection where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FontSelection = FontSelection (ManagedPtr FontSelection)
+instance GObject FontSelection where
+class (GObject o, O.IsDescendantOf FontSelection o) => IsFontSelection o
+instance (GObject o, O.IsDescendantOf FontSelection o) => IsFontSelection o
+instance O.HasParentTypes FontSelection
+#if ENABLE_OVERLOADING
+data FontSelectionFontNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionPreviewTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetFaceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetFaceListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetFamilyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetFamilyListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetFontNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetPreviewEntryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetPreviewTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetSizeEntryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionGetSizeListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionSetFontNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionSetPreviewTextMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/FontSelectionDialog.hs b/GI/Gtk/Objects/FontSelectionDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontSelectionDialog.hs
@@ -0,0 +1,931 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FontSelectionDialog
+    ( 
+
+-- * Exported types
+    FontSelectionDialog(..)                 ,
+    IsFontSelectionDialog                   ,
+    toFontSelectionDialog                   ,
+    noFontSelectionDialog                   ,
+
+
+ -- * Methods
+-- ** getCancelButton #method:getCancelButton#
+
+#if ENABLE_OVERLOADING
+    FontSelectionDialogGetCancelButtonMethodInfo,
+#endif
+    fontSelectionDialogGetCancelButton      ,
+
+
+-- ** getFontName #method:getFontName#
+
+#if ENABLE_OVERLOADING
+    FontSelectionDialogGetFontNameMethodInfo,
+#endif
+    fontSelectionDialogGetFontName          ,
+
+
+-- ** getFontSelection #method:getFontSelection#
+
+#if ENABLE_OVERLOADING
+    FontSelectionDialogGetFontSelectionMethodInfo,
+#endif
+    fontSelectionDialogGetFontSelection     ,
+
+
+-- ** getOkButton #method:getOkButton#
+
+#if ENABLE_OVERLOADING
+    FontSelectionDialogGetOkButtonMethodInfo,
+#endif
+    fontSelectionDialogGetOkButton          ,
+
+
+-- ** getPreviewText #method:getPreviewText#
+
+#if ENABLE_OVERLOADING
+    FontSelectionDialogGetPreviewTextMethodInfo,
+#endif
+    fontSelectionDialogGetPreviewText       ,
+
+
+-- ** new #method:new#
+
+    fontSelectionDialogNew                  ,
+
+
+-- ** setFontName #method:setFontName#
+
+#if ENABLE_OVERLOADING
+    FontSelectionDialogSetFontNameMethodInfo,
+#endif
+    fontSelectionDialogSetFontName          ,
+
+
+-- ** setPreviewText #method:setPreviewText#
+
+#if ENABLE_OVERLOADING
+    FontSelectionDialogSetPreviewTextMethodInfo,
+#endif
+    fontSelectionDialogSetPreviewText       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype FontSelectionDialog = FontSelectionDialog (ManagedPtr FontSelectionDialog)
+foreign import ccall "gtk_font_selection_dialog_get_type"
+    c_gtk_font_selection_dialog_get_type :: IO GType
+
+instance GObject FontSelectionDialog where
+    gobjectType = c_gtk_font_selection_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `FontSelectionDialog`, for instance with `toFontSelectionDialog`.
+class (GObject o, O.IsDescendantOf FontSelectionDialog o) => IsFontSelectionDialog o
+instance (GObject o, O.IsDescendantOf FontSelectionDialog o) => IsFontSelectionDialog o
+
+instance O.HasParentTypes FontSelectionDialog
+type instance O.ParentTypes FontSelectionDialog = '[Gtk.Dialog.Dialog, Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `FontSelectionDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFontSelectionDialog :: (MonadIO m, IsFontSelectionDialog o) => o -> m FontSelectionDialog
+toFontSelectionDialog = liftIO . unsafeCastTo FontSelectionDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FontSelectionDialog`.
+noFontSelectionDialog :: Maybe FontSelectionDialog
+noFontSelectionDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFontSelectionDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontSelectionDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFontSelectionDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveFontSelectionDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveFontSelectionDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveFontSelectionDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFontSelectionDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveFontSelectionDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFontSelectionDialogMethod "addActionWidget" o = Gtk.Dialog.DialogAddActionWidgetMethodInfo
+    ResolveFontSelectionDialogMethod "addButton" o = Gtk.Dialog.DialogAddButtonMethodInfo
+    ResolveFontSelectionDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFontSelectionDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFontSelectionDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFontSelectionDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveFontSelectionDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFontSelectionDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFontSelectionDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveFontSelectionDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveFontSelectionDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFontSelectionDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFontSelectionDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFontSelectionDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFontSelectionDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFontSelectionDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFontSelectionDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFontSelectionDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFontSelectionDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFontSelectionDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFontSelectionDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFontSelectionDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveFontSelectionDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFontSelectionDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFontSelectionDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFontSelectionDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFontSelectionDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFontSelectionDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFontSelectionDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFontSelectionDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveFontSelectionDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFontSelectionDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFontSelectionDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFontSelectionDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFontSelectionDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFontSelectionDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFontSelectionDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFontSelectionDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFontSelectionDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFontSelectionDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFontSelectionDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFontSelectionDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFontSelectionDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFontSelectionDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFontSelectionDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFontSelectionDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFontSelectionDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFontSelectionDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFontSelectionDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFontSelectionDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFontSelectionDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveFontSelectionDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveFontSelectionDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFontSelectionDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFontSelectionDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFontSelectionDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFontSelectionDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFontSelectionDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFontSelectionDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFontSelectionDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFontSelectionDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveFontSelectionDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFontSelectionDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFontSelectionDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveFontSelectionDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFontSelectionDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFontSelectionDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFontSelectionDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveFontSelectionDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFontSelectionDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFontSelectionDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFontSelectionDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFontSelectionDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFontSelectionDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveFontSelectionDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFontSelectionDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFontSelectionDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFontSelectionDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFontSelectionDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFontSelectionDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveFontSelectionDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFontSelectionDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFontSelectionDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFontSelectionDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFontSelectionDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFontSelectionDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFontSelectionDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFontSelectionDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveFontSelectionDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveFontSelectionDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFontSelectionDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFontSelectionDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFontSelectionDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFontSelectionDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFontSelectionDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFontSelectionDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFontSelectionDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveFontSelectionDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFontSelectionDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFontSelectionDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFontSelectionDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFontSelectionDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFontSelectionDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFontSelectionDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFontSelectionDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveFontSelectionDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFontSelectionDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFontSelectionDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveFontSelectionDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveFontSelectionDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFontSelectionDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveFontSelectionDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFontSelectionDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFontSelectionDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFontSelectionDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFontSelectionDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFontSelectionDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFontSelectionDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFontSelectionDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFontSelectionDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFontSelectionDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFontSelectionDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFontSelectionDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFontSelectionDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFontSelectionDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveFontSelectionDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFontSelectionDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveFontSelectionDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFontSelectionDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFontSelectionDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFontSelectionDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFontSelectionDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFontSelectionDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFontSelectionDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFontSelectionDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveFontSelectionDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveFontSelectionDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFontSelectionDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveFontSelectionDialogMethod "response" o = Gtk.Dialog.DialogResponseMethodInfo
+    ResolveFontSelectionDialogMethod "run" o = Gtk.Dialog.DialogRunMethodInfo
+    ResolveFontSelectionDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFontSelectionDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFontSelectionDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFontSelectionDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFontSelectionDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFontSelectionDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFontSelectionDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFontSelectionDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFontSelectionDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFontSelectionDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFontSelectionDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFontSelectionDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFontSelectionDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveFontSelectionDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFontSelectionDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFontSelectionDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFontSelectionDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFontSelectionDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFontSelectionDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFontSelectionDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveFontSelectionDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFontSelectionDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveFontSelectionDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFontSelectionDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFontSelectionDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFontSelectionDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFontSelectionDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFontSelectionDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFontSelectionDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveFontSelectionDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFontSelectionDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveFontSelectionDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFontSelectionDialogMethod "getActionArea" o = Gtk.Dialog.DialogGetActionAreaMethodInfo
+    ResolveFontSelectionDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFontSelectionDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFontSelectionDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFontSelectionDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFontSelectionDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFontSelectionDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFontSelectionDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFontSelectionDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFontSelectionDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveFontSelectionDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveFontSelectionDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFontSelectionDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFontSelectionDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFontSelectionDialogMethod "getCancelButton" o = FontSelectionDialogGetCancelButtonMethodInfo
+    ResolveFontSelectionDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveFontSelectionDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFontSelectionDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFontSelectionDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFontSelectionDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFontSelectionDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFontSelectionDialogMethod "getContentArea" o = Gtk.Dialog.DialogGetContentAreaMethodInfo
+    ResolveFontSelectionDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFontSelectionDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveFontSelectionDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveFontSelectionDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveFontSelectionDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveFontSelectionDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveFontSelectionDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFontSelectionDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFontSelectionDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFontSelectionDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFontSelectionDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFontSelectionDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFontSelectionDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveFontSelectionDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFontSelectionDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFontSelectionDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFontSelectionDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFontSelectionDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveFontSelectionDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFontSelectionDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFontSelectionDialogMethod "getFontName" o = FontSelectionDialogGetFontNameMethodInfo
+    ResolveFontSelectionDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFontSelectionDialogMethod "getFontSelection" o = FontSelectionDialogGetFontSelectionMethodInfo
+    ResolveFontSelectionDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFontSelectionDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveFontSelectionDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveFontSelectionDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFontSelectionDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveFontSelectionDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFontSelectionDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFontSelectionDialogMethod "getHeaderBar" o = Gtk.Dialog.DialogGetHeaderBarMethodInfo
+    ResolveFontSelectionDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFontSelectionDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFontSelectionDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveFontSelectionDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveFontSelectionDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveFontSelectionDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveFontSelectionDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFontSelectionDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFontSelectionDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFontSelectionDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFontSelectionDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFontSelectionDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFontSelectionDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFontSelectionDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFontSelectionDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveFontSelectionDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveFontSelectionDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFontSelectionDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFontSelectionDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFontSelectionDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFontSelectionDialogMethod "getOkButton" o = FontSelectionDialogGetOkButtonMethodInfo
+    ResolveFontSelectionDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveFontSelectionDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFontSelectionDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFontSelectionDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFontSelectionDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFontSelectionDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFontSelectionDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFontSelectionDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveFontSelectionDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFontSelectionDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFontSelectionDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFontSelectionDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFontSelectionDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFontSelectionDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFontSelectionDialogMethod "getPreviewText" o = FontSelectionDialogGetPreviewTextMethodInfo
+    ResolveFontSelectionDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFontSelectionDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFontSelectionDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFontSelectionDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFontSelectionDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFontSelectionDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFontSelectionDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveFontSelectionDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveFontSelectionDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFontSelectionDialogMethod "getResponseForWidget" o = Gtk.Dialog.DialogGetResponseForWidgetMethodInfo
+    ResolveFontSelectionDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveFontSelectionDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFontSelectionDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFontSelectionDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveFontSelectionDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFontSelectionDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFontSelectionDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveFontSelectionDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFontSelectionDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveFontSelectionDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveFontSelectionDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFontSelectionDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFontSelectionDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFontSelectionDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFontSelectionDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFontSelectionDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFontSelectionDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveFontSelectionDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveFontSelectionDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFontSelectionDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFontSelectionDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFontSelectionDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFontSelectionDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveFontSelectionDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveFontSelectionDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveFontSelectionDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFontSelectionDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFontSelectionDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFontSelectionDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFontSelectionDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFontSelectionDialogMethod "getWidgetForResponse" o = Gtk.Dialog.DialogGetWidgetForResponseMethodInfo
+    ResolveFontSelectionDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFontSelectionDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveFontSelectionDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFontSelectionDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveFontSelectionDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFontSelectionDialogMethod "setAlternativeButtonOrderFromArray" o = Gtk.Dialog.DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveFontSelectionDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFontSelectionDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveFontSelectionDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveFontSelectionDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFontSelectionDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFontSelectionDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFontSelectionDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFontSelectionDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFontSelectionDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFontSelectionDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFontSelectionDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveFontSelectionDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveFontSelectionDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveFontSelectionDialogMethod "setDefaultResponse" o = Gtk.Dialog.DialogSetDefaultResponseMethodInfo
+    ResolveFontSelectionDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveFontSelectionDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveFontSelectionDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveFontSelectionDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFontSelectionDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFontSelectionDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFontSelectionDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFontSelectionDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFontSelectionDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveFontSelectionDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFontSelectionDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFontSelectionDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFontSelectionDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFontSelectionDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveFontSelectionDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFontSelectionDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFontSelectionDialogMethod "setFontName" o = FontSelectionDialogSetFontNameMethodInfo
+    ResolveFontSelectionDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFontSelectionDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveFontSelectionDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveFontSelectionDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFontSelectionDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveFontSelectionDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFontSelectionDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveFontSelectionDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFontSelectionDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFontSelectionDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFontSelectionDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveFontSelectionDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveFontSelectionDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveFontSelectionDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveFontSelectionDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveFontSelectionDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveFontSelectionDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveFontSelectionDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFontSelectionDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFontSelectionDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFontSelectionDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFontSelectionDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFontSelectionDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFontSelectionDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFontSelectionDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveFontSelectionDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveFontSelectionDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFontSelectionDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFontSelectionDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveFontSelectionDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFontSelectionDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFontSelectionDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveFontSelectionDialogMethod "setPreviewText" o = FontSelectionDialogSetPreviewTextMethodInfo
+    ResolveFontSelectionDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFontSelectionDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFontSelectionDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFontSelectionDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFontSelectionDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFontSelectionDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveFontSelectionDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFontSelectionDialogMethod "setResponseSensitive" o = Gtk.Dialog.DialogSetResponseSensitiveMethodInfo
+    ResolveFontSelectionDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveFontSelectionDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveFontSelectionDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFontSelectionDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFontSelectionDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveFontSelectionDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveFontSelectionDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveFontSelectionDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFontSelectionDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFontSelectionDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFontSelectionDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFontSelectionDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveFontSelectionDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveFontSelectionDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFontSelectionDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFontSelectionDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFontSelectionDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveFontSelectionDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveFontSelectionDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveFontSelectionDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFontSelectionDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFontSelectionDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFontSelectionDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFontSelectionDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFontSelectionDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFontSelectionDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveFontSelectionDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFontSelectionDialogMethod t FontSelectionDialog, O.MethodInfo info FontSelectionDialog p) => OL.IsLabel t (FontSelectionDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FontSelectionDialog
+type instance O.AttributeList FontSelectionDialog = FontSelectionDialogAttributeList
+type FontSelectionDialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", Gtk.Dialog.DialogUseHeaderBarPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FontSelectionDialog = FontSelectionDialogSignalList
+type FontSelectionDialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", Gtk.Dialog.DialogCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", Gtk.Dialog.DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method FontSelectionDialog::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the title of the dialog window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_dialog_new" gtk_font_selection_dialog_new :: 
+    CString ->                              -- title : TBasicType TUTF8
+    IO (Ptr FontSelectionDialog)
+
+{-# DEPRECATED fontSelectionDialogNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog'"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.FontSelectionDialog.FontSelectionDialog'.
+-}
+fontSelectionDialogNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@title@/: the title of the dialog window -}
+    -> m FontSelectionDialog
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.FontSelectionDialog.FontSelectionDialog' -}
+fontSelectionDialogNew title = liftIO $ do
+    title' <- textToCString title
+    result <- gtk_font_selection_dialog_new title'
+    checkUnexpectedReturnNULL "fontSelectionDialogNew" result
+    result' <- (newObject FontSelectionDialog) result
+    freeMem title'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method FontSelectionDialog::get_cancel_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fsd", argType = TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelectionDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_dialog_get_cancel_button" gtk_font_selection_dialog_get_cancel_button :: 
+    Ptr FontSelectionDialog ->              -- fsd : TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED fontSelectionDialogGetCancelButton ["(Since version 3.2)","Use 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog'"] #-}
+{- |
+Gets the “Cancel” button.
+
+/Since: 2.14/
+-}
+fontSelectionDialogGetCancelButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelectionDialog a) =>
+    a
+    {- ^ /@fsd@/: a 'GI.Gtk.Objects.FontSelectionDialog.FontSelectionDialog' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.Widget.Widget' used in the dialog
+    for the “Cancel” button. -}
+fontSelectionDialogGetCancelButton fsd = liftIO $ do
+    fsd' <- unsafeManagedPtrCastPtr fsd
+    result <- gtk_font_selection_dialog_get_cancel_button fsd'
+    checkUnexpectedReturnNULL "fontSelectionDialogGetCancelButton" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr fsd
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetCancelButtonMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsFontSelectionDialog a) => O.MethodInfo FontSelectionDialogGetCancelButtonMethodInfo a signature where
+    overloadedMethod _ = fontSelectionDialogGetCancelButton
+
+#endif
+
+-- method FontSelectionDialog::get_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fsd", argType = TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelectionDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_dialog_get_font_name" gtk_font_selection_dialog_get_font_name :: 
+    Ptr FontSelectionDialog ->              -- fsd : TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"})
+    IO CString
+
+{-# DEPRECATED fontSelectionDialogGetFontName ["(Since version 3.2)","Use 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog'"] #-}
+{- |
+Gets the currently-selected font name.
+
+Note that this can be a different string than what you set with
+'GI.Gtk.Objects.FontSelectionDialog.fontSelectionDialogSetFontName', as the font selection widget
+may normalize font names and thus return a string with a different
+structure. For example, “Helvetica Italic Bold 12” could be normalized
+to “Helvetica Bold Italic 12”.  Use 'GI.Pango.Structs.FontDescription.fontDescriptionEqual'
+if you want to compare two font descriptions.
+-}
+fontSelectionDialogGetFontName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelectionDialog a) =>
+    a
+    {- ^ /@fsd@/: a 'GI.Gtk.Objects.FontSelectionDialog.FontSelectionDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ A string with the name of the current font, or 'Nothing' if no
+    font is selected. You must free this string with 'GI.GLib.Functions.free'. -}
+fontSelectionDialogGetFontName fsd = liftIO $ do
+    fsd' <- unsafeManagedPtrCastPtr fsd
+    result <- gtk_font_selection_dialog_get_font_name fsd'
+    checkUnexpectedReturnNULL "fontSelectionDialogGetFontName" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr fsd
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetFontNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFontSelectionDialog a) => O.MethodInfo FontSelectionDialogGetFontNameMethodInfo a signature where
+    overloadedMethod _ = fontSelectionDialogGetFontName
+
+#endif
+
+-- method FontSelectionDialog::get_font_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fsd", argType = TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelectionDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_dialog_get_font_selection" gtk_font_selection_dialog_get_font_selection :: 
+    Ptr FontSelectionDialog ->              -- fsd : TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED fontSelectionDialogGetFontSelection ["(Since version 3.2)","Use 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog'"] #-}
+{- |
+Retrieves the 'GI.Gtk.Objects.FontSelection.FontSelection' widget embedded in the dialog.
+
+/Since: 2.22/
+-}
+fontSelectionDialogGetFontSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelectionDialog a) =>
+    a
+    {- ^ /@fsd@/: a 'GI.Gtk.Objects.FontSelectionDialog.FontSelectionDialog' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the embedded 'GI.Gtk.Objects.FontSelection.FontSelection' -}
+fontSelectionDialogGetFontSelection fsd = liftIO $ do
+    fsd' <- unsafeManagedPtrCastPtr fsd
+    result <- gtk_font_selection_dialog_get_font_selection fsd'
+    checkUnexpectedReturnNULL "fontSelectionDialogGetFontSelection" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr fsd
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetFontSelectionMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsFontSelectionDialog a) => O.MethodInfo FontSelectionDialogGetFontSelectionMethodInfo a signature where
+    overloadedMethod _ = fontSelectionDialogGetFontSelection
+
+#endif
+
+-- method FontSelectionDialog::get_ok_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fsd", argType = TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelectionDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_dialog_get_ok_button" gtk_font_selection_dialog_get_ok_button :: 
+    Ptr FontSelectionDialog ->              -- fsd : TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED fontSelectionDialogGetOkButton ["(Since version 3.2)","Use 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog'"] #-}
+{- |
+Gets the “OK” button.
+
+/Since: 2.14/
+-}
+fontSelectionDialogGetOkButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelectionDialog a) =>
+    a
+    {- ^ /@fsd@/: a 'GI.Gtk.Objects.FontSelectionDialog.FontSelectionDialog' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.Widget.Widget' used in the dialog
+    for the “OK” button. -}
+fontSelectionDialogGetOkButton fsd = liftIO $ do
+    fsd' <- unsafeManagedPtrCastPtr fsd
+    result <- gtk_font_selection_dialog_get_ok_button fsd'
+    checkUnexpectedReturnNULL "fontSelectionDialogGetOkButton" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr fsd
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetOkButtonMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsFontSelectionDialog a) => O.MethodInfo FontSelectionDialogGetOkButtonMethodInfo a signature where
+    overloadedMethod _ = fontSelectionDialogGetOkButton
+
+#endif
+
+-- method FontSelectionDialog::get_preview_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fsd", argType = TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelectionDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_dialog_get_preview_text" gtk_font_selection_dialog_get_preview_text :: 
+    Ptr FontSelectionDialog ->              -- fsd : TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"})
+    IO CString
+
+{-# DEPRECATED fontSelectionDialogGetPreviewText ["(Since version 3.2)","Use 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog'"] #-}
+{- |
+Gets the text displayed in the preview area.
+-}
+fontSelectionDialogGetPreviewText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelectionDialog a) =>
+    a
+    {- ^ /@fsd@/: a 'GI.Gtk.Objects.FontSelectionDialog.FontSelectionDialog' -}
+    -> m T.Text
+    {- ^ __Returns:__ the text displayed in the preview area.
+    This string is owned by the widget and should not be
+    modified or freed -}
+fontSelectionDialogGetPreviewText fsd = liftIO $ do
+    fsd' <- unsafeManagedPtrCastPtr fsd
+    result <- gtk_font_selection_dialog_get_preview_text fsd'
+    checkUnexpectedReturnNULL "fontSelectionDialogGetPreviewText" result
+    result' <- cstringToText result
+    touchManagedPtr fsd
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetPreviewTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsFontSelectionDialog a) => O.MethodInfo FontSelectionDialogGetPreviewTextMethodInfo a signature where
+    overloadedMethod _ = fontSelectionDialogGetPreviewText
+
+#endif
+
+-- method FontSelectionDialog::set_font_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fsd", argType = TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelectionDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a font name like \8220Helvetica 12\8221 or \8220Times Bold 18\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_dialog_set_font_name" gtk_font_selection_dialog_set_font_name :: 
+    Ptr FontSelectionDialog ->              -- fsd : TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"})
+    CString ->                              -- fontname : TBasicType TUTF8
+    IO CInt
+
+{-# DEPRECATED fontSelectionDialogSetFontName ["(Since version 3.2)","Use 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog'"] #-}
+{- |
+Sets the currently selected font.
+-}
+fontSelectionDialogSetFontName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelectionDialog a) =>
+    a
+    {- ^ /@fsd@/: a 'GI.Gtk.Objects.FontSelectionDialog.FontSelectionDialog' -}
+    -> T.Text
+    {- ^ /@fontname@/: a font name like “Helvetica 12” or “Times Bold 18” -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the font selected in /@fsd@/ is now the
+    /@fontname@/ specified, 'False' otherwise. -}
+fontSelectionDialogSetFontName fsd fontname = liftIO $ do
+    fsd' <- unsafeManagedPtrCastPtr fsd
+    fontname' <- textToCString fontname
+    result <- gtk_font_selection_dialog_set_font_name fsd' fontname'
+    let result' = (/= 0) result
+    touchManagedPtr fsd
+    freeMem fontname'
+    return result'
+
+#if ENABLE_OVERLOADING
+data FontSelectionDialogSetFontNameMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsFontSelectionDialog a) => O.MethodInfo FontSelectionDialogSetFontNameMethodInfo a signature where
+    overloadedMethod _ = fontSelectionDialogSetFontName
+
+#endif
+
+-- method FontSelectionDialog::set_preview_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "fsd", argType = TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFontSelectionDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to display in the preview area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_font_selection_dialog_set_preview_text" gtk_font_selection_dialog_set_preview_text :: 
+    Ptr FontSelectionDialog ->              -- fsd : TInterface (Name {namespace = "Gtk", name = "FontSelectionDialog"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED fontSelectionDialogSetPreviewText ["(Since version 3.2)","Use 'GI.Gtk.Objects.FontChooserDialog.FontChooserDialog'"] #-}
+{- |
+Sets the text displayed in the preview area.
+-}
+fontSelectionDialogSetPreviewText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFontSelectionDialog a) =>
+    a
+    {- ^ /@fsd@/: a 'GI.Gtk.Objects.FontSelectionDialog.FontSelectionDialog' -}
+    -> T.Text
+    {- ^ /@text@/: the text to display in the preview area -}
+    -> m ()
+fontSelectionDialogSetPreviewText fsd text = liftIO $ do
+    fsd' <- unsafeManagedPtrCastPtr fsd
+    text' <- textToCString text
+    gtk_font_selection_dialog_set_preview_text fsd' text'
+    touchManagedPtr fsd
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data FontSelectionDialogSetPreviewTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsFontSelectionDialog a) => O.MethodInfo FontSelectionDialogSetPreviewTextMethodInfo a signature where
+    overloadedMethod _ = fontSelectionDialogSetPreviewText
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FontSelectionDialog.hs-boot b/GI/Gtk/Objects/FontSelectionDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FontSelectionDialog.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FontSelectionDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FontSelectionDialog = FontSelectionDialog (ManagedPtr FontSelectionDialog)
+instance GObject FontSelectionDialog where
+class (GObject o, O.IsDescendantOf FontSelectionDialog o) => IsFontSelectionDialog o
+instance (GObject o, O.IsDescendantOf FontSelectionDialog o) => IsFontSelectionDialog o
+instance O.HasParentTypes FontSelectionDialog
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetCancelButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetFontNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetFontSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetOkButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionDialogGetPreviewTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionDialogSetFontNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FontSelectionDialogSetPreviewTextMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Frame.hs b/GI/Gtk/Objects/Frame.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Frame.hs
@@ -0,0 +1,1270 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The frame widget is a bin that surrounds its child with a decorative
+frame and an optional label. If present, the label is drawn in a gap
+in the top side of the frame. The position of the label can be
+controlled with 'GI.Gtk.Objects.Frame.frameSetLabelAlign'.
+
+= GtkFrame as GtkBuildable
+
+The GtkFrame implementation of the GtkBuildable interface supports
+placing a child in the label position by specifying “label” as the
+“type” attribute of a \<child> element. A normal content child can
+be specified without specifying a \<child> type attribute.
+
+An example of a UI definition fragment with GtkFrame:
+>
+><object class="GtkFrame">
+>  <child type="label">
+>    <object class="GtkLabel" id="frame-label"/>
+>  </child>
+>  <child>
+>    <object class="GtkEntry" id="frame-content"/>
+>  </child>
+></object>
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>frame
+>├── border[.flat]
+>├── <label widget>
+>╰── <child>
+
+
+GtkFrame has a main CSS node named “frame” and a subnode named “border”. The
+“border” node is used to draw the visible border. You can set the appearance
+of the border using CSS properties like “border-style” on the “border” node.
+
+The border node can be given the style class “.flat”, which is used by themes
+to disable drawing of the border. To do this from code, call
+'GI.Gtk.Objects.Frame.frameSetShadowType' with 'GI.Gtk.Enums.ShadowTypeNone' to add the “.flat” class or
+any other shadow type to remove it.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Frame
+    ( 
+
+-- * Exported types
+    Frame(..)                               ,
+    IsFrame                                 ,
+    toFrame                                 ,
+    noFrame                                 ,
+
+
+ -- * Methods
+-- ** getLabel #method:getLabel#
+
+#if ENABLE_OVERLOADING
+    FrameGetLabelMethodInfo                 ,
+#endif
+    frameGetLabel                           ,
+
+
+-- ** getLabelAlign #method:getLabelAlign#
+
+#if ENABLE_OVERLOADING
+    FrameGetLabelAlignMethodInfo            ,
+#endif
+    frameGetLabelAlign                      ,
+
+
+-- ** getLabelWidget #method:getLabelWidget#
+
+#if ENABLE_OVERLOADING
+    FrameGetLabelWidgetMethodInfo           ,
+#endif
+    frameGetLabelWidget                     ,
+
+
+-- ** getShadowType #method:getShadowType#
+
+#if ENABLE_OVERLOADING
+    FrameGetShadowTypeMethodInfo            ,
+#endif
+    frameGetShadowType                      ,
+
+
+-- ** new #method:new#
+
+    frameNew                                ,
+
+
+-- ** setLabel #method:setLabel#
+
+#if ENABLE_OVERLOADING
+    FrameSetLabelMethodInfo                 ,
+#endif
+    frameSetLabel                           ,
+
+
+-- ** setLabelAlign #method:setLabelAlign#
+
+#if ENABLE_OVERLOADING
+    FrameSetLabelAlignMethodInfo            ,
+#endif
+    frameSetLabelAlign                      ,
+
+
+-- ** setLabelWidget #method:setLabelWidget#
+
+#if ENABLE_OVERLOADING
+    FrameSetLabelWidgetMethodInfo           ,
+#endif
+    frameSetLabelWidget                     ,
+
+
+-- ** setShadowType #method:setShadowType#
+
+#if ENABLE_OVERLOADING
+    FrameSetShadowTypeMethodInfo            ,
+#endif
+    frameSetShadowType                      ,
+
+
+
+
+ -- * Properties
+-- ** label #attr:label#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FrameLabelPropertyInfo                  ,
+#endif
+    clearFrameLabel                         ,
+    constructFrameLabel                     ,
+#if ENABLE_OVERLOADING
+    frameLabel                              ,
+#endif
+    getFrameLabel                           ,
+    setFrameLabel                           ,
+
+
+-- ** labelWidget #attr:labelWidget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FrameLabelWidgetPropertyInfo            ,
+#endif
+    clearFrameLabelWidget                   ,
+    constructFrameLabelWidget               ,
+#if ENABLE_OVERLOADING
+    frameLabelWidget                        ,
+#endif
+    getFrameLabelWidget                     ,
+    setFrameLabelWidget                     ,
+
+
+-- ** labelXalign #attr:labelXalign#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FrameLabelXalignPropertyInfo            ,
+#endif
+    constructFrameLabelXalign               ,
+#if ENABLE_OVERLOADING
+    frameLabelXalign                        ,
+#endif
+    getFrameLabelXalign                     ,
+    setFrameLabelXalign                     ,
+
+
+-- ** labelYalign #attr:labelYalign#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FrameLabelYalignPropertyInfo            ,
+#endif
+    constructFrameLabelYalign               ,
+#if ENABLE_OVERLOADING
+    frameLabelYalign                        ,
+#endif
+    getFrameLabelYalign                     ,
+    setFrameLabelYalign                     ,
+
+
+-- ** shadowType #attr:shadowType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    FrameShadowTypePropertyInfo             ,
+#endif
+    constructFrameShadowType                ,
+#if ENABLE_OVERLOADING
+    frameShadowType                         ,
+#endif
+    getFrameShadowType                      ,
+    setFrameShadowType                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Frame = Frame (ManagedPtr Frame)
+foreign import ccall "gtk_frame_get_type"
+    c_gtk_frame_get_type :: IO GType
+
+instance GObject Frame where
+    gobjectType = c_gtk_frame_get_type
+    
+
+-- | Type class for types which can be safely cast to `Frame`, for instance with `toFrame`.
+class (GObject o, O.IsDescendantOf Frame o) => IsFrame o
+instance (GObject o, O.IsDescendantOf Frame o) => IsFrame o
+
+instance O.HasParentTypes Frame
+type instance O.ParentTypes Frame = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Frame`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFrame :: (MonadIO m, IsFrame o) => o -> m Frame
+toFrame = liftIO . unsafeCastTo Frame
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Frame`.
+noFrame :: Maybe Frame
+noFrame = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFrameMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFrameMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveFrameMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveFrameMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveFrameMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveFrameMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveFrameMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveFrameMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveFrameMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveFrameMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFrameMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFrameMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveFrameMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveFrameMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveFrameMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveFrameMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveFrameMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveFrameMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveFrameMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveFrameMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveFrameMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveFrameMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveFrameMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveFrameMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveFrameMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveFrameMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveFrameMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveFrameMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveFrameMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveFrameMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveFrameMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveFrameMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveFrameMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveFrameMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveFrameMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveFrameMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveFrameMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveFrameMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveFrameMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveFrameMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveFrameMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveFrameMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveFrameMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveFrameMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveFrameMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveFrameMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveFrameMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveFrameMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveFrameMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveFrameMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveFrameMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveFrameMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveFrameMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveFrameMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveFrameMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveFrameMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveFrameMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveFrameMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveFrameMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveFrameMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveFrameMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveFrameMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveFrameMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveFrameMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFrameMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveFrameMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveFrameMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFrameMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFrameMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveFrameMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveFrameMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveFrameMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveFrameMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveFrameMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveFrameMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveFrameMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveFrameMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveFrameMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveFrameMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveFrameMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveFrameMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveFrameMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveFrameMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveFrameMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveFrameMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveFrameMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveFrameMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveFrameMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveFrameMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFrameMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveFrameMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveFrameMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveFrameMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveFrameMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveFrameMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveFrameMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveFrameMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveFrameMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveFrameMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveFrameMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveFrameMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveFrameMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveFrameMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveFrameMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveFrameMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveFrameMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveFrameMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFrameMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFrameMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveFrameMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveFrameMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveFrameMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveFrameMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveFrameMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveFrameMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveFrameMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveFrameMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveFrameMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveFrameMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveFrameMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveFrameMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveFrameMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveFrameMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveFrameMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveFrameMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFrameMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFrameMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveFrameMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveFrameMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveFrameMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveFrameMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveFrameMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveFrameMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveFrameMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveFrameMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveFrameMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveFrameMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveFrameMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveFrameMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFrameMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveFrameMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveFrameMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveFrameMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveFrameMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveFrameMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveFrameMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveFrameMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveFrameMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveFrameMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFrameMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFrameMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveFrameMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveFrameMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveFrameMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFrameMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveFrameMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveFrameMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveFrameMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveFrameMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveFrameMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFrameMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveFrameMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveFrameMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveFrameMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFrameMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveFrameMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveFrameMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveFrameMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveFrameMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveFrameMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveFrameMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveFrameMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveFrameMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveFrameMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveFrameMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveFrameMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveFrameMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveFrameMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveFrameMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveFrameMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveFrameMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveFrameMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveFrameMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveFrameMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFrameMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveFrameMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveFrameMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveFrameMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveFrameMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveFrameMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveFrameMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveFrameMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveFrameMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveFrameMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveFrameMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveFrameMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveFrameMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveFrameMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveFrameMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveFrameMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveFrameMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveFrameMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveFrameMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveFrameMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveFrameMethod "getLabel" o = FrameGetLabelMethodInfo
+    ResolveFrameMethod "getLabelAlign" o = FrameGetLabelAlignMethodInfo
+    ResolveFrameMethod "getLabelWidget" o = FrameGetLabelWidgetMethodInfo
+    ResolveFrameMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveFrameMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveFrameMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveFrameMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveFrameMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveFrameMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveFrameMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveFrameMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveFrameMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveFrameMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveFrameMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveFrameMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveFrameMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveFrameMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveFrameMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveFrameMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveFrameMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveFrameMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveFrameMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveFrameMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveFrameMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveFrameMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveFrameMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveFrameMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveFrameMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFrameMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFrameMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveFrameMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveFrameMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveFrameMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveFrameMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveFrameMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveFrameMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveFrameMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveFrameMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveFrameMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveFrameMethod "getShadowType" o = FrameGetShadowTypeMethodInfo
+    ResolveFrameMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveFrameMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveFrameMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveFrameMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveFrameMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveFrameMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveFrameMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveFrameMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveFrameMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveFrameMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveFrameMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveFrameMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveFrameMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveFrameMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveFrameMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveFrameMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveFrameMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveFrameMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveFrameMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveFrameMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveFrameMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveFrameMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveFrameMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveFrameMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveFrameMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveFrameMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveFrameMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveFrameMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveFrameMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFrameMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveFrameMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveFrameMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveFrameMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveFrameMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveFrameMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveFrameMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveFrameMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveFrameMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveFrameMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveFrameMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveFrameMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveFrameMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveFrameMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveFrameMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveFrameMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveFrameMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveFrameMethod "setLabel" o = FrameSetLabelMethodInfo
+    ResolveFrameMethod "setLabelAlign" o = FrameSetLabelAlignMethodInfo
+    ResolveFrameMethod "setLabelWidget" o = FrameSetLabelWidgetMethodInfo
+    ResolveFrameMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveFrameMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveFrameMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveFrameMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveFrameMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveFrameMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveFrameMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveFrameMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveFrameMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveFrameMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveFrameMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveFrameMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveFrameMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFrameMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveFrameMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveFrameMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveFrameMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveFrameMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveFrameMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveFrameMethod "setShadowType" o = FrameSetShadowTypeMethodInfo
+    ResolveFrameMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveFrameMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveFrameMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveFrameMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveFrameMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveFrameMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveFrameMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveFrameMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveFrameMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveFrameMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveFrameMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveFrameMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveFrameMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveFrameMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveFrameMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFrameMethod t Frame, O.MethodInfo info Frame p) => OL.IsLabel t (Frame -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' frame #label
+@
+-}
+getFrameLabel :: (MonadIO m, IsFrame o) => o -> m (Maybe T.Text)
+getFrameLabel obj = liftIO $ B.Properties.getObjectPropertyString obj "label"
+
+{- |
+Set the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' frame [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFrameLabel :: (MonadIO m, IsFrame o) => o -> T.Text -> m ()
+setFrameLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFrameLabel :: (IsFrame o) => T.Text -> IO (GValueConstruct o)
+constructFrameLabel val = B.Properties.constructObjectPropertyString "label" (Just val)
+
+{- |
+Set the value of the “@label@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #label
+@
+-}
+clearFrameLabel :: (MonadIO m, IsFrame o) => o -> m ()
+clearFrameLabel obj = liftIO $ B.Properties.setObjectPropertyString obj "label" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data FrameLabelPropertyInfo
+instance AttrInfo FrameLabelPropertyInfo where
+    type AttrAllowedOps FrameLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FrameLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint FrameLabelPropertyInfo = IsFrame
+    type AttrGetType FrameLabelPropertyInfo = (Maybe T.Text)
+    type AttrLabel FrameLabelPropertyInfo = "label"
+    type AttrOrigin FrameLabelPropertyInfo = Frame
+    attrGet _ = getFrameLabel
+    attrSet _ = setFrameLabel
+    attrConstruct _ = constructFrameLabel
+    attrClear _ = clearFrameLabel
+#endif
+
+-- VVV Prop "label-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@label-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' frame #labelWidget
+@
+-}
+getFrameLabelWidget :: (MonadIO m, IsFrame o) => o -> m (Maybe Gtk.Widget.Widget)
+getFrameLabelWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "label-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@label-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' frame [ #labelWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFrameLabelWidget :: (MonadIO m, IsFrame o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setFrameLabelWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "label-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFrameLabelWidget :: (IsFrame o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructFrameLabelWidget val = B.Properties.constructObjectPropertyObject "label-widget" (Just val)
+
+{- |
+Set the value of the “@label-widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #labelWidget
+@
+-}
+clearFrameLabelWidget :: (MonadIO m, IsFrame o) => o -> m ()
+clearFrameLabelWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "label-widget" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data FrameLabelWidgetPropertyInfo
+instance AttrInfo FrameLabelWidgetPropertyInfo where
+    type AttrAllowedOps FrameLabelWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FrameLabelWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint FrameLabelWidgetPropertyInfo = IsFrame
+    type AttrGetType FrameLabelWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel FrameLabelWidgetPropertyInfo = "label-widget"
+    type AttrOrigin FrameLabelWidgetPropertyInfo = Frame
+    attrGet _ = getFrameLabelWidget
+    attrSet _ = setFrameLabelWidget
+    attrConstruct _ = constructFrameLabelWidget
+    attrClear _ = clearFrameLabelWidget
+#endif
+
+-- VVV Prop "label-xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@label-xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' frame #labelXalign
+@
+-}
+getFrameLabelXalign :: (MonadIO m, IsFrame o) => o -> m Float
+getFrameLabelXalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "label-xalign"
+
+{- |
+Set the value of the “@label-xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' frame [ #labelXalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFrameLabelXalign :: (MonadIO m, IsFrame o) => o -> Float -> m ()
+setFrameLabelXalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "label-xalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label-xalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFrameLabelXalign :: (IsFrame o) => Float -> IO (GValueConstruct o)
+constructFrameLabelXalign val = B.Properties.constructObjectPropertyFloat "label-xalign" val
+
+#if ENABLE_OVERLOADING
+data FrameLabelXalignPropertyInfo
+instance AttrInfo FrameLabelXalignPropertyInfo where
+    type AttrAllowedOps FrameLabelXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FrameLabelXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint FrameLabelXalignPropertyInfo = IsFrame
+    type AttrGetType FrameLabelXalignPropertyInfo = Float
+    type AttrLabel FrameLabelXalignPropertyInfo = "label-xalign"
+    type AttrOrigin FrameLabelXalignPropertyInfo = Frame
+    attrGet _ = getFrameLabelXalign
+    attrSet _ = setFrameLabelXalign
+    attrConstruct _ = constructFrameLabelXalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "label-yalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@label-yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' frame #labelYalign
+@
+-}
+getFrameLabelYalign :: (MonadIO m, IsFrame o) => o -> m Float
+getFrameLabelYalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "label-yalign"
+
+{- |
+Set the value of the “@label-yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' frame [ #labelYalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFrameLabelYalign :: (MonadIO m, IsFrame o) => o -> Float -> m ()
+setFrameLabelYalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "label-yalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label-yalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFrameLabelYalign :: (IsFrame o) => Float -> IO (GValueConstruct o)
+constructFrameLabelYalign val = B.Properties.constructObjectPropertyFloat "label-yalign" val
+
+#if ENABLE_OVERLOADING
+data FrameLabelYalignPropertyInfo
+instance AttrInfo FrameLabelYalignPropertyInfo where
+    type AttrAllowedOps FrameLabelYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FrameLabelYalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint FrameLabelYalignPropertyInfo = IsFrame
+    type AttrGetType FrameLabelYalignPropertyInfo = Float
+    type AttrLabel FrameLabelYalignPropertyInfo = "label-yalign"
+    type AttrOrigin FrameLabelYalignPropertyInfo = Frame
+    attrGet _ = getFrameLabelYalign
+    attrSet _ = setFrameLabelYalign
+    attrConstruct _ = constructFrameLabelYalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "shadow-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' frame #shadowType
+@
+-}
+getFrameShadowType :: (MonadIO m, IsFrame o) => o -> m Gtk.Enums.ShadowType
+getFrameShadowType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "shadow-type"
+
+{- |
+Set the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' frame [ #shadowType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFrameShadowType :: (MonadIO m, IsFrame o) => o -> Gtk.Enums.ShadowType -> m ()
+setFrameShadowType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "shadow-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@shadow-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructFrameShadowType :: (IsFrame o) => Gtk.Enums.ShadowType -> IO (GValueConstruct o)
+constructFrameShadowType val = B.Properties.constructObjectPropertyEnum "shadow-type" val
+
+#if ENABLE_OVERLOADING
+data FrameShadowTypePropertyInfo
+instance AttrInfo FrameShadowTypePropertyInfo where
+    type AttrAllowedOps FrameShadowTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint FrameShadowTypePropertyInfo = (~) Gtk.Enums.ShadowType
+    type AttrBaseTypeConstraint FrameShadowTypePropertyInfo = IsFrame
+    type AttrGetType FrameShadowTypePropertyInfo = Gtk.Enums.ShadowType
+    type AttrLabel FrameShadowTypePropertyInfo = "shadow-type"
+    type AttrOrigin FrameShadowTypePropertyInfo = Frame
+    attrGet _ = getFrameShadowType
+    attrSet _ = setFrameShadowType
+    attrConstruct _ = constructFrameShadowType
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Frame
+type instance O.AttributeList Frame = FrameAttributeList
+type FrameAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", FrameLabelPropertyInfo), '("labelWidget", FrameLabelWidgetPropertyInfo), '("labelXalign", FrameLabelXalignPropertyInfo), '("labelYalign", FrameLabelYalignPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", FrameShadowTypePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+frameLabel :: AttrLabelProxy "label"
+frameLabel = AttrLabelProxy
+
+frameLabelWidget :: AttrLabelProxy "labelWidget"
+frameLabelWidget = AttrLabelProxy
+
+frameLabelXalign :: AttrLabelProxy "labelXalign"
+frameLabelXalign = AttrLabelProxy
+
+frameLabelYalign :: AttrLabelProxy "labelYalign"
+frameLabelYalign = AttrLabelProxy
+
+frameShadowType :: AttrLabelProxy "shadowType"
+frameShadowType = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Frame = FrameSignalList
+type FrameSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Frame::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the text to use as the label of the frame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Frame"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_frame_new" gtk_frame_new :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr Frame)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Frame.Frame', with optional label /@label@/.
+If /@label@/ is 'Nothing', the label is omitted.
+-}
+frameNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@label@/: the text to use as the label of the frame -}
+    -> m Frame
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Frame.Frame' widget -}
+frameNew label = liftIO $ do
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    result <- gtk_frame_new maybeLabel
+    checkUnexpectedReturnNULL "frameNew" result
+    result' <- (newObject Frame) result
+    freeMem maybeLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Frame::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "Gtk", name = "Frame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_frame_get_label" gtk_frame_get_label :: 
+    Ptr Frame ->                            -- frame : TInterface (Name {namespace = "Gtk", name = "Frame"})
+    IO CString
+
+{- |
+If the frame’s label widget is a 'GI.Gtk.Objects.Label.Label', returns the
+text in the label widget. (The frame will have a 'GI.Gtk.Objects.Label.Label'
+for the label widget if a non-'Nothing' argument was passed
+to 'GI.Gtk.Objects.Frame.frameNew'.)
+-}
+frameGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
+    a
+    {- ^ /@frame@/: a 'GI.Gtk.Objects.Frame.Frame' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the text in the label, or 'Nothing' if there
+              was no label widget or the lable widget was not
+              a 'GI.Gtk.Objects.Label.Label'. This string is owned by GTK+ and
+              must not be modified or freed. -}
+frameGetLabel frame = liftIO $ do
+    frame' <- unsafeManagedPtrCastPtr frame
+    result <- gtk_frame_get_label frame'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr frame
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FrameGetLabelMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsFrame a) => O.MethodInfo FrameGetLabelMethodInfo a signature where
+    overloadedMethod _ = frameGetLabel
+
+#endif
+
+-- method Frame::get_label_align
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "Gtk", name = "Frame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store X alignment of\n    frame\8217s label, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store X alignment of\n    frame\8217s label, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_frame_get_label_align" gtk_frame_get_label_align :: 
+    Ptr Frame ->                            -- frame : TInterface (Name {namespace = "Gtk", name = "Frame"})
+    Ptr CFloat ->                           -- xalign : TBasicType TFloat
+    Ptr CFloat ->                           -- yalign : TBasicType TFloat
+    IO ()
+
+{- |
+Retrieves the X and Y alignment of the frame’s label. See
+'GI.Gtk.Objects.Frame.frameSetLabelAlign'.
+-}
+frameGetLabelAlign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
+    a
+    {- ^ /@frame@/: a 'GI.Gtk.Objects.Frame.Frame' -}
+    -> m ((Float, Float))
+frameGetLabelAlign frame = liftIO $ do
+    frame' <- unsafeManagedPtrCastPtr frame
+    xalign <- allocMem :: IO (Ptr CFloat)
+    yalign <- allocMem :: IO (Ptr CFloat)
+    gtk_frame_get_label_align frame' xalign yalign
+    xalign' <- peek xalign
+    let xalign'' = realToFrac xalign'
+    yalign' <- peek yalign
+    let yalign'' = realToFrac yalign'
+    touchManagedPtr frame
+    freeMem xalign
+    freeMem yalign
+    return (xalign'', yalign'')
+
+#if ENABLE_OVERLOADING
+data FrameGetLabelAlignMethodInfo
+instance (signature ~ (m ((Float, Float))), MonadIO m, IsFrame a) => O.MethodInfo FrameGetLabelAlignMethodInfo a signature where
+    overloadedMethod _ = frameGetLabelAlign
+
+#endif
+
+-- method Frame::get_label_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "Gtk", name = "Frame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_frame_get_label_widget" gtk_frame_get_label_widget :: 
+    Ptr Frame ->                            -- frame : TInterface (Name {namespace = "Gtk", name = "Frame"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the label widget for the frame. See
+'GI.Gtk.Objects.Frame.frameSetLabelWidget'.
+-}
+frameGetLabelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
+    a
+    {- ^ /@frame@/: a 'GI.Gtk.Objects.Frame.Frame' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the label widget, or 'Nothing' if
+there is none. -}
+frameGetLabelWidget frame = liftIO $ do
+    frame' <- unsafeManagedPtrCastPtr frame
+    result <- gtk_frame_get_label_widget frame'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr frame
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data FrameGetLabelWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsFrame a) => O.MethodInfo FrameGetLabelWidgetMethodInfo a signature where
+    overloadedMethod _ = frameGetLabelWidget
+
+#endif
+
+-- method Frame::get_shadow_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "Gtk", name = "Frame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ShadowType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_frame_get_shadow_type" gtk_frame_get_shadow_type :: 
+    Ptr Frame ->                            -- frame : TInterface (Name {namespace = "Gtk", name = "Frame"})
+    IO CUInt
+
+{- |
+Retrieves the shadow type of the frame. See
+'GI.Gtk.Objects.Frame.frameSetShadowType'.
+-}
+frameGetShadowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
+    a
+    {- ^ /@frame@/: a 'GI.Gtk.Objects.Frame.Frame' -}
+    -> m Gtk.Enums.ShadowType
+    {- ^ __Returns:__ the current shadow type of the frame. -}
+frameGetShadowType frame = liftIO $ do
+    frame' <- unsafeManagedPtrCastPtr frame
+    result <- gtk_frame_get_shadow_type frame'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr frame
+    return result'
+
+#if ENABLE_OVERLOADING
+data FrameGetShadowTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.ShadowType), MonadIO m, IsFrame a) => O.MethodInfo FrameGetShadowTypeMethodInfo a signature where
+    overloadedMethod _ = frameGetShadowType
+
+#endif
+
+-- method Frame::set_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "Gtk", name = "Frame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the text to use as the label of the frame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_frame_set_label" gtk_frame_set_label :: 
+    Ptr Frame ->                            -- frame : TInterface (Name {namespace = "Gtk", name = "Frame"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO ()
+
+{- |
+Removes the current 'GI.Gtk.Objects.Frame.Frame':@/label-widget/@. If /@label@/ is not 'Nothing', creates a
+new 'GI.Gtk.Objects.Label.Label' with that text and adds it as the 'GI.Gtk.Objects.Frame.Frame':@/label-widget/@.
+-}
+frameSetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
+    a
+    {- ^ /@frame@/: a 'GI.Gtk.Objects.Frame.Frame' -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: the text to use as the label of the frame -}
+    -> m ()
+frameSetLabel frame label = liftIO $ do
+    frame' <- unsafeManagedPtrCastPtr frame
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    gtk_frame_set_label frame' maybeLabel
+    touchManagedPtr frame
+    freeMem maybeLabel
+    return ()
+
+#if ENABLE_OVERLOADING
+data FrameSetLabelMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsFrame a) => O.MethodInfo FrameSetLabelMethodInfo a signature where
+    overloadedMethod _ = frameSetLabel
+
+#endif
+
+-- method Frame::set_label_align
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "Gtk", name = "Frame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position of the label along the top edge\n  of the widget. A value of 0.0 represents left alignment;\n  1.0 represents right alignment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The y alignment of the label. A value of 0.0 aligns under\n  the frame; 1.0 aligns above the frame. If the values are exactly\n  0.0 or 1.0 the gap in the frame won\8217t be painted because the label\n  will be completely above or below the frame.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_frame_set_label_align" gtk_frame_set_label_align :: 
+    Ptr Frame ->                            -- frame : TInterface (Name {namespace = "Gtk", name = "Frame"})
+    CFloat ->                               -- xalign : TBasicType TFloat
+    CFloat ->                               -- yalign : TBasicType TFloat
+    IO ()
+
+{- |
+Sets the alignment of the frame widget’s label. The
+default values for a newly created frame are 0.0 and 0.5.
+-}
+frameSetLabelAlign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
+    a
+    {- ^ /@frame@/: a 'GI.Gtk.Objects.Frame.Frame' -}
+    -> Float
+    {- ^ /@xalign@/: The position of the label along the top edge
+  of the widget. A value of 0.0 represents left alignment;
+  1.0 represents right alignment. -}
+    -> Float
+    {- ^ /@yalign@/: The y alignment of the label. A value of 0.0 aligns under
+  the frame; 1.0 aligns above the frame. If the values are exactly
+  0.0 or 1.0 the gap in the frame won’t be painted because the label
+  will be completely above or below the frame. -}
+    -> m ()
+frameSetLabelAlign frame xalign yalign = liftIO $ do
+    frame' <- unsafeManagedPtrCastPtr frame
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    gtk_frame_set_label_align frame' xalign' yalign'
+    touchManagedPtr frame
+    return ()
+
+#if ENABLE_OVERLOADING
+data FrameSetLabelAlignMethodInfo
+instance (signature ~ (Float -> Float -> m ()), MonadIO m, IsFrame a) => O.MethodInfo FrameSetLabelAlignMethodInfo a signature where
+    overloadedMethod _ = frameSetLabelAlign
+
+#endif
+
+-- method Frame::set_label_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "Gtk", name = "Frame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the new label widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_frame_set_label_widget" gtk_frame_set_label_widget :: 
+    Ptr Frame ->                            -- frame : TInterface (Name {namespace = "Gtk", name = "Frame"})
+    Ptr Gtk.Widget.Widget ->                -- label_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Frame.Frame':@/label-widget/@ for the frame. This is the widget that
+will appear embedded in the top edge of the frame as a title.
+-}
+frameSetLabelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFrame a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@frame@/: a 'GI.Gtk.Objects.Frame.Frame' -}
+    -> Maybe (b)
+    {- ^ /@labelWidget@/: the new label widget -}
+    -> m ()
+frameSetLabelWidget frame labelWidget = liftIO $ do
+    frame' <- unsafeManagedPtrCastPtr frame
+    maybeLabelWidget <- case labelWidget of
+        Nothing -> return nullPtr
+        Just jLabelWidget -> do
+            jLabelWidget' <- unsafeManagedPtrCastPtr jLabelWidget
+            return jLabelWidget'
+    gtk_frame_set_label_widget frame' maybeLabelWidget
+    touchManagedPtr frame
+    whenJust labelWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data FrameSetLabelWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsFrame a, Gtk.Widget.IsWidget b) => O.MethodInfo FrameSetLabelWidgetMethodInfo a signature where
+    overloadedMethod _ = frameSetLabelWidget
+
+#endif
+
+-- method Frame::set_shadow_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "Gtk", name = "Frame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new #GtkShadowType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_frame_set_shadow_type" gtk_frame_set_shadow_type :: 
+    Ptr Frame ->                            -- frame : TInterface (Name {namespace = "Gtk", name = "Frame"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Frame.Frame':@/shadow-type/@ for /@frame@/, i.e. whether it is drawn without
+('GI.Gtk.Enums.ShadowTypeNone') or with (other values) a visible border. Values other than
+'GI.Gtk.Enums.ShadowTypeNone' are treated identically by GtkFrame. The chosen type is
+applied by removing or adding the .flat class to the CSS node named border.
+-}
+frameSetShadowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsFrame a) =>
+    a
+    {- ^ /@frame@/: a 'GI.Gtk.Objects.Frame.Frame' -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@type@/: the new 'GI.Gtk.Enums.ShadowType' -}
+    -> m ()
+frameSetShadowType frame type_ = liftIO $ do
+    frame' <- unsafeManagedPtrCastPtr frame
+    let type_' = (fromIntegral . fromEnum) type_
+    gtk_frame_set_shadow_type frame' type_'
+    touchManagedPtr frame
+    return ()
+
+#if ENABLE_OVERLOADING
+data FrameSetShadowTypeMethodInfo
+instance (signature ~ (Gtk.Enums.ShadowType -> m ()), MonadIO m, IsFrame a) => O.MethodInfo FrameSetShadowTypeMethodInfo a signature where
+    overloadedMethod _ = frameSetShadowType
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Frame.hs-boot b/GI/Gtk/Objects/Frame.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Frame.hs-boot
@@ -0,0 +1,68 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Frame where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Frame = Frame (ManagedPtr Frame)
+instance GObject Frame where
+class (GObject o, O.IsDescendantOf Frame o) => IsFrame o
+instance (GObject o, O.IsDescendantOf Frame o) => IsFrame o
+instance O.HasParentTypes Frame
+#if ENABLE_OVERLOADING
+data FrameLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameLabelWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameLabelXalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameLabelYalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameShadowTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameGetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameGetLabelAlignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameGetLabelWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameGetShadowTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameSetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameSetLabelAlignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameSetLabelWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data FrameSetShadowTypeMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/FrameAccessible.hs b/GI/Gtk/Objects/FrameAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FrameAccessible.hs
@@ -0,0 +1,165 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.FrameAccessible
+    ( 
+
+-- * Exported types
+    FrameAccessible(..)                     ,
+    IsFrameAccessible                       ,
+    toFrameAccessible                       ,
+    noFrameAccessible                       ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype FrameAccessible = FrameAccessible (ManagedPtr FrameAccessible)
+foreign import ccall "gtk_frame_accessible_get_type"
+    c_gtk_frame_accessible_get_type :: IO GType
+
+instance GObject FrameAccessible where
+    gobjectType = c_gtk_frame_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `FrameAccessible`, for instance with `toFrameAccessible`.
+class (GObject o, O.IsDescendantOf FrameAccessible o) => IsFrameAccessible o
+instance (GObject o, O.IsDescendantOf FrameAccessible o) => IsFrameAccessible o
+
+instance O.HasParentTypes FrameAccessible
+type instance O.ParentTypes FrameAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `FrameAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toFrameAccessible :: (MonadIO m, IsFrameAccessible o) => o -> m FrameAccessible
+toFrameAccessible = liftIO . unsafeCastTo FrameAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FrameAccessible`.
+noFrameAccessible :: Maybe FrameAccessible
+noFrameAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveFrameAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFrameAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveFrameAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveFrameAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveFrameAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveFrameAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveFrameAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveFrameAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveFrameAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveFrameAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveFrameAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveFrameAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveFrameAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveFrameAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveFrameAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveFrameAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveFrameAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveFrameAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveFrameAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveFrameAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveFrameAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveFrameAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveFrameAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveFrameAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveFrameAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveFrameAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveFrameAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveFrameAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveFrameAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveFrameAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveFrameAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveFrameAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveFrameAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveFrameAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveFrameAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveFrameAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveFrameAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveFrameAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveFrameAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveFrameAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveFrameAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveFrameAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveFrameAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveFrameAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveFrameAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveFrameAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveFrameAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveFrameAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveFrameAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveFrameAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveFrameAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveFrameAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveFrameAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveFrameAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveFrameAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveFrameAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveFrameAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveFrameAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveFrameAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveFrameAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveFrameAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveFrameAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFrameAccessibleMethod t FrameAccessible, O.MethodInfo info FrameAccessible p) => OL.IsLabel t (FrameAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FrameAccessible
+type instance O.AttributeList FrameAccessible = FrameAccessibleAttributeList
+type FrameAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList FrameAccessible = FrameAccessibleSignalList
+type FrameAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/FrameAccessible.hs-boot b/GI/Gtk/Objects/FrameAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/FrameAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.FrameAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FrameAccessible = FrameAccessible (ManagedPtr FrameAccessible)
+instance GObject FrameAccessible where
+class (GObject o, O.IsDescendantOf FrameAccessible o) => IsFrameAccessible o
+instance (GObject o, O.IsDescendantOf FrameAccessible o) => IsFrameAccessible o
+instance O.HasParentTypes FrameAccessible
diff --git a/GI/Gtk/Objects/GLArea.hs b/GI/Gtk/Objects/GLArea.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GLArea.hs
@@ -0,0 +1,2152 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GLArea.GLArea' is a widget that allows drawing with OpenGL.
+
+'GI.Gtk.Objects.GLArea.GLArea' sets up its own 'GI.Gdk.Objects.GLContext.GLContext' for the window it creates, and
+creates a custom GL framebuffer that the widget will do GL rendering onto.
+It also ensures that this framebuffer is the default GL rendering target
+when rendering.
+
+In order to draw, you have to connect to the 'GI.Gtk.Objects.GLArea.GLArea'::@/render/@ signal,
+or subclass 'GI.Gtk.Objects.GLArea.GLArea' and override the /@gtkGLAreaClass@/.@/render()/@ virtual
+function.
+
+The 'GI.Gtk.Objects.GLArea.GLArea' widget ensures that the 'GI.Gdk.Objects.GLContext.GLContext' is associated with
+the widget\'s drawing area, and it is kept updated when the size and
+position of the drawing area changes.
+
+== Drawing with GtkGLArea 
+
+The simplest way to draw using OpenGL commands in a 'GI.Gtk.Objects.GLArea.GLArea' is to
+create a widget instance and connect to the 'GI.Gtk.Objects.GLArea.GLArea'::@/render/@ signal:
+
+
+=== /C code/
+>
+>  // create a GtkGLArea instance
+>  GtkWidget *gl_area = gtk_gl_area_new ();
+>
+>  // connect to the "render" signal
+>  g_signal_connect (gl_area, "render", G_CALLBACK (render), NULL);
+
+
+The @render()@ function will be called when the 'GI.Gtk.Objects.GLArea.GLArea' is ready
+for you to draw its content:
+
+
+=== /C code/
+>
+>  static gboolean
+>  render (GtkGLArea *area, GdkGLContext *context)
+>  {
+>    // inside this function it's safe to use GL; the given
+>    // #GdkGLContext has been made current to the drawable
+>    // surface used by the #GtkGLArea and the viewport has
+>    // already been set to be the size of the allocation
+>
+>    // we can start by clearing the buffer
+>    glClearColor (0, 0, 0, 0);
+>    glClear (GL_COLOR_BUFFER_BIT);
+>
+>    // draw your object
+>    draw_an_object ();
+>
+>    // we completed our drawing; the draw commands will be
+>    // flushed at the end of the signal emission chain, and
+>    // the buffers will be drawn on the window
+>    return TRUE;
+>  }
+
+
+If you need to initialize OpenGL state, e.g. buffer objects or
+shaders, you should use the 'GI.Gtk.Objects.Widget.Widget'::@/realize/@ signal; you
+can use the 'GI.Gtk.Objects.Widget.Widget'::@/unrealize/@ signal to clean up. Since the
+'GI.Gdk.Objects.GLContext.GLContext' creation and initialization may fail, you will
+need to check for errors, using 'GI.Gtk.Objects.GLArea.gLAreaGetError'. An example
+of how to safely initialize the GL state is:
+
+
+=== /C code/
+>
+>  static void
+>  on_realize (GtkGLarea *area)
+>  {
+>    // We need to make the context current if we want to
+>    // call GL API
+>    gtk_gl_area_make_current (area);
+>
+>    // If there were errors during the initialization or
+>    // when trying to make the context current, this
+>    // function will return a #GError for you to catch
+>    if (gtk_gl_area_get_error (area) != NULL)
+>      return;
+>
+>    // You can also use gtk_gl_area_set_error() in order
+>    // to show eventual initialization errors on the
+>    // GtkGLArea widget itself
+>    GError *internal_error = NULL;
+>    init_buffer_objects (&error);
+>    if (error != NULL)
+>      {
+>        gtk_gl_area_set_error (area, error);
+>        g_error_free (error);
+>        return;
+>      }
+>
+>    init_shaders (&error);
+>    if (error != NULL)
+>      {
+>        gtk_gl_area_set_error (area, error);
+>        g_error_free (error);
+>        return;
+>      }
+>  }
+
+
+If you need to change the options for creating the 'GI.Gdk.Objects.GLContext.GLContext'
+you should use the 'GI.Gtk.Objects.GLArea.GLArea'::@/create-context/@ signal.
+
+/Since: 3.16/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GLArea
+    ( 
+
+-- * Exported types
+    GLArea(..)                              ,
+    IsGLArea                                ,
+    toGLArea                                ,
+    noGLArea                                ,
+
+
+ -- * Methods
+-- ** attachBuffers #method:attachBuffers#
+
+#if ENABLE_OVERLOADING
+    GLAreaAttachBuffersMethodInfo           ,
+#endif
+    gLAreaAttachBuffers                     ,
+
+
+-- ** getAutoRender #method:getAutoRender#
+
+#if ENABLE_OVERLOADING
+    GLAreaGetAutoRenderMethodInfo           ,
+#endif
+    gLAreaGetAutoRender                     ,
+
+
+-- ** getContext #method:getContext#
+
+#if ENABLE_OVERLOADING
+    GLAreaGetContextMethodInfo              ,
+#endif
+    gLAreaGetContext                        ,
+
+
+-- ** getError #method:getError#
+
+#if ENABLE_OVERLOADING
+    GLAreaGetErrorMethodInfo                ,
+#endif
+    gLAreaGetError                          ,
+
+
+-- ** getHasAlpha #method:getHasAlpha#
+
+#if ENABLE_OVERLOADING
+    GLAreaGetHasAlphaMethodInfo             ,
+#endif
+    gLAreaGetHasAlpha                       ,
+
+
+-- ** getHasDepthBuffer #method:getHasDepthBuffer#
+
+#if ENABLE_OVERLOADING
+    GLAreaGetHasDepthBufferMethodInfo       ,
+#endif
+    gLAreaGetHasDepthBuffer                 ,
+
+
+-- ** getHasStencilBuffer #method:getHasStencilBuffer#
+
+#if ENABLE_OVERLOADING
+    GLAreaGetHasStencilBufferMethodInfo     ,
+#endif
+    gLAreaGetHasStencilBuffer               ,
+
+
+-- ** getRequiredVersion #method:getRequiredVersion#
+
+#if ENABLE_OVERLOADING
+    GLAreaGetRequiredVersionMethodInfo      ,
+#endif
+    gLAreaGetRequiredVersion                ,
+
+
+-- ** getUseEs #method:getUseEs#
+
+#if ENABLE_OVERLOADING
+    GLAreaGetUseEsMethodInfo                ,
+#endif
+    gLAreaGetUseEs                          ,
+
+
+-- ** makeCurrent #method:makeCurrent#
+
+#if ENABLE_OVERLOADING
+    GLAreaMakeCurrentMethodInfo             ,
+#endif
+    gLAreaMakeCurrent                       ,
+
+
+-- ** new #method:new#
+
+    gLAreaNew                               ,
+
+
+-- ** queueRender #method:queueRender#
+
+#if ENABLE_OVERLOADING
+    GLAreaQueueRenderMethodInfo             ,
+#endif
+    gLAreaQueueRender                       ,
+
+
+-- ** setAutoRender #method:setAutoRender#
+
+#if ENABLE_OVERLOADING
+    GLAreaSetAutoRenderMethodInfo           ,
+#endif
+    gLAreaSetAutoRender                     ,
+
+
+-- ** setError #method:setError#
+
+#if ENABLE_OVERLOADING
+    GLAreaSetErrorMethodInfo                ,
+#endif
+    gLAreaSetError                          ,
+
+
+-- ** setHasAlpha #method:setHasAlpha#
+
+#if ENABLE_OVERLOADING
+    GLAreaSetHasAlphaMethodInfo             ,
+#endif
+    gLAreaSetHasAlpha                       ,
+
+
+-- ** setHasDepthBuffer #method:setHasDepthBuffer#
+
+#if ENABLE_OVERLOADING
+    GLAreaSetHasDepthBufferMethodInfo       ,
+#endif
+    gLAreaSetHasDepthBuffer                 ,
+
+
+-- ** setHasStencilBuffer #method:setHasStencilBuffer#
+
+#if ENABLE_OVERLOADING
+    GLAreaSetHasStencilBufferMethodInfo     ,
+#endif
+    gLAreaSetHasStencilBuffer               ,
+
+
+-- ** setRequiredVersion #method:setRequiredVersion#
+
+#if ENABLE_OVERLOADING
+    GLAreaSetRequiredVersionMethodInfo      ,
+#endif
+    gLAreaSetRequiredVersion                ,
+
+
+-- ** setUseEs #method:setUseEs#
+
+#if ENABLE_OVERLOADING
+    GLAreaSetUseEsMethodInfo                ,
+#endif
+    gLAreaSetUseEs                          ,
+
+
+
+
+ -- * Properties
+-- ** autoRender #attr:autoRender#
+{- | If set to 'True' the 'GI.Gtk.Objects.GLArea.GLArea'::@/render/@ signal will be emitted every time
+the widget draws. This is the default and is useful if drawing the widget
+is faster.
+
+If set to 'False' the data from previous rendering is kept around and will
+be used for drawing the widget the next time, unless the window is resized.
+In order to force a rendering 'GI.Gtk.Objects.GLArea.gLAreaQueueRender' must be called.
+This mode is useful when the scene changes seldomly, but takes a long time
+to redraw.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    GLAreaAutoRenderPropertyInfo            ,
+#endif
+    constructGLAreaAutoRender               ,
+#if ENABLE_OVERLOADING
+    gLAreaAutoRender                        ,
+#endif
+    getGLAreaAutoRender                     ,
+    setGLAreaAutoRender                     ,
+
+
+-- ** context #attr:context#
+{- | The 'GI.Gdk.Objects.GLContext.GLContext' used by the 'GI.Gtk.Objects.GLArea.GLArea' widget.
+
+The 'GI.Gtk.Objects.GLArea.GLArea' widget is responsible for creating the 'GI.Gdk.Objects.GLContext.GLContext'
+instance. If you need to render with other kinds of buffers (stencil,
+depth, etc), use render buffers.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    GLAreaContextPropertyInfo               ,
+#endif
+#if ENABLE_OVERLOADING
+    gLAreaContext                           ,
+#endif
+    getGLAreaContext                        ,
+
+
+-- ** hasAlpha #attr:hasAlpha#
+{- | If set to 'True' the buffer allocated by the widget will have an alpha channel
+component, and when rendering to the window the result will be composited over
+whatever is below the widget.
+
+If set to 'False' there will be no alpha channel, and the buffer will fully
+replace anything below the widget.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    GLAreaHasAlphaPropertyInfo              ,
+#endif
+    constructGLAreaHasAlpha                 ,
+#if ENABLE_OVERLOADING
+    gLAreaHasAlpha                          ,
+#endif
+    getGLAreaHasAlpha                       ,
+    setGLAreaHasAlpha                       ,
+
+
+-- ** hasDepthBuffer #attr:hasDepthBuffer#
+{- | If set to 'True' the widget will allocate and enable a depth buffer for the
+target framebuffer.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    GLAreaHasDepthBufferPropertyInfo        ,
+#endif
+    constructGLAreaHasDepthBuffer           ,
+#if ENABLE_OVERLOADING
+    gLAreaHasDepthBuffer                    ,
+#endif
+    getGLAreaHasDepthBuffer                 ,
+    setGLAreaHasDepthBuffer                 ,
+
+
+-- ** hasStencilBuffer #attr:hasStencilBuffer#
+{- | If set to 'True' the widget will allocate and enable a stencil buffer for the
+target framebuffer.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    GLAreaHasStencilBufferPropertyInfo      ,
+#endif
+    constructGLAreaHasStencilBuffer         ,
+#if ENABLE_OVERLOADING
+    gLAreaHasStencilBuffer                  ,
+#endif
+    getGLAreaHasStencilBuffer               ,
+    setGLAreaHasStencilBuffer               ,
+
+
+-- ** useEs #attr:useEs#
+{- | If set to 'True' the widget will try to create a 'GI.Gdk.Objects.GLContext.GLContext' using
+OpenGL ES instead of OpenGL.
+
+See also: 'GI.Gdk.Objects.GLContext.gLContextSetUseEs'
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    GLAreaUseEsPropertyInfo                 ,
+#endif
+    constructGLAreaUseEs                    ,
+#if ENABLE_OVERLOADING
+    gLAreaUseEs                             ,
+#endif
+    getGLAreaUseEs                          ,
+    setGLAreaUseEs                          ,
+
+
+
+
+ -- * Signals
+-- ** createContext #signal:createContext#
+
+    C_GLAreaCreateContextCallback           ,
+    GLAreaCreateContextCallback             ,
+#if ENABLE_OVERLOADING
+    GLAreaCreateContextSignalInfo           ,
+#endif
+    afterGLAreaCreateContext                ,
+    genClosure_GLAreaCreateContext          ,
+    mk_GLAreaCreateContextCallback          ,
+    noGLAreaCreateContextCallback           ,
+    onGLAreaCreateContext                   ,
+    wrap_GLAreaCreateContextCallback        ,
+
+
+-- ** render #signal:render#
+
+    C_GLAreaRenderCallback                  ,
+    GLAreaRenderCallback                    ,
+#if ENABLE_OVERLOADING
+    GLAreaRenderSignalInfo                  ,
+#endif
+    afterGLAreaRender                       ,
+    genClosure_GLAreaRender                 ,
+    mk_GLAreaRenderCallback                 ,
+    noGLAreaRenderCallback                  ,
+    onGLAreaRender                          ,
+    wrap_GLAreaRenderCallback               ,
+
+
+-- ** resize #signal:resize#
+
+    C_GLAreaResizeCallback                  ,
+    GLAreaResizeCallback                    ,
+#if ENABLE_OVERLOADING
+    GLAreaResizeSignalInfo                  ,
+#endif
+    afterGLAreaResize                       ,
+    genClosure_GLAreaResize                 ,
+    mk_GLAreaResizeCallback                 ,
+    noGLAreaResizeCallback                  ,
+    onGLAreaResize                          ,
+    wrap_GLAreaResizeCallback               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.GLContext as Gdk.GLContext
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype GLArea = GLArea (ManagedPtr GLArea)
+foreign import ccall "gtk_gl_area_get_type"
+    c_gtk_gl_area_get_type :: IO GType
+
+instance GObject GLArea where
+    gobjectType = c_gtk_gl_area_get_type
+    
+
+-- | Type class for types which can be safely cast to `GLArea`, for instance with `toGLArea`.
+class (GObject o, O.IsDescendantOf GLArea o) => IsGLArea o
+instance (GObject o, O.IsDescendantOf GLArea o) => IsGLArea o
+
+instance O.HasParentTypes GLArea
+type instance O.ParentTypes GLArea = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `GLArea`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGLArea :: (MonadIO m, IsGLArea o) => o -> m GLArea
+toGLArea = liftIO . unsafeCastTo GLArea
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GLArea`.
+noGLArea :: Maybe GLArea
+noGLArea = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGLAreaMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGLAreaMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveGLAreaMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveGLAreaMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveGLAreaMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveGLAreaMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveGLAreaMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveGLAreaMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveGLAreaMethod "attachBuffers" o = GLAreaAttachBuffersMethodInfo
+    ResolveGLAreaMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGLAreaMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGLAreaMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveGLAreaMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveGLAreaMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveGLAreaMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveGLAreaMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveGLAreaMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveGLAreaMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveGLAreaMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveGLAreaMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveGLAreaMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveGLAreaMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveGLAreaMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveGLAreaMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveGLAreaMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveGLAreaMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveGLAreaMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveGLAreaMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveGLAreaMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveGLAreaMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveGLAreaMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveGLAreaMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveGLAreaMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveGLAreaMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveGLAreaMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveGLAreaMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveGLAreaMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveGLAreaMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveGLAreaMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveGLAreaMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveGLAreaMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveGLAreaMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveGLAreaMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveGLAreaMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveGLAreaMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveGLAreaMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveGLAreaMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveGLAreaMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveGLAreaMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveGLAreaMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveGLAreaMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveGLAreaMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveGLAreaMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveGLAreaMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveGLAreaMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveGLAreaMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveGLAreaMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveGLAreaMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGLAreaMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveGLAreaMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGLAreaMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGLAreaMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveGLAreaMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveGLAreaMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveGLAreaMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveGLAreaMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveGLAreaMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveGLAreaMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveGLAreaMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveGLAreaMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveGLAreaMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveGLAreaMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveGLAreaMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveGLAreaMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveGLAreaMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveGLAreaMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveGLAreaMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveGLAreaMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveGLAreaMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveGLAreaMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveGLAreaMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveGLAreaMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGLAreaMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveGLAreaMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveGLAreaMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveGLAreaMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveGLAreaMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveGLAreaMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveGLAreaMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveGLAreaMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveGLAreaMethod "makeCurrent" o = GLAreaMakeCurrentMethodInfo
+    ResolveGLAreaMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveGLAreaMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveGLAreaMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveGLAreaMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveGLAreaMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveGLAreaMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveGLAreaMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveGLAreaMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveGLAreaMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveGLAreaMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGLAreaMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGLAreaMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveGLAreaMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveGLAreaMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveGLAreaMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveGLAreaMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveGLAreaMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveGLAreaMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveGLAreaMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveGLAreaMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveGLAreaMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveGLAreaMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveGLAreaMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveGLAreaMethod "queueRender" o = GLAreaQueueRenderMethodInfo
+    ResolveGLAreaMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveGLAreaMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveGLAreaMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveGLAreaMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGLAreaMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGLAreaMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveGLAreaMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveGLAreaMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveGLAreaMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveGLAreaMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveGLAreaMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveGLAreaMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveGLAreaMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveGLAreaMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveGLAreaMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveGLAreaMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGLAreaMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveGLAreaMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveGLAreaMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveGLAreaMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveGLAreaMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveGLAreaMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveGLAreaMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveGLAreaMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveGLAreaMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveGLAreaMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGLAreaMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGLAreaMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveGLAreaMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveGLAreaMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveGLAreaMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGLAreaMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveGLAreaMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveGLAreaMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveGLAreaMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveGLAreaMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveGLAreaMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGLAreaMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveGLAreaMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveGLAreaMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGLAreaMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveGLAreaMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveGLAreaMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveGLAreaMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveGLAreaMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveGLAreaMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveGLAreaMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveGLAreaMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveGLAreaMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveGLAreaMethod "getAutoRender" o = GLAreaGetAutoRenderMethodInfo
+    ResolveGLAreaMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveGLAreaMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveGLAreaMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveGLAreaMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveGLAreaMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveGLAreaMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveGLAreaMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveGLAreaMethod "getContext" o = GLAreaGetContextMethodInfo
+    ResolveGLAreaMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGLAreaMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveGLAreaMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveGLAreaMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveGLAreaMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveGLAreaMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveGLAreaMethod "getError" o = GLAreaGetErrorMethodInfo
+    ResolveGLAreaMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveGLAreaMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveGLAreaMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveGLAreaMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveGLAreaMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveGLAreaMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveGLAreaMethod "getHasAlpha" o = GLAreaGetHasAlphaMethodInfo
+    ResolveGLAreaMethod "getHasDepthBuffer" o = GLAreaGetHasDepthBufferMethodInfo
+    ResolveGLAreaMethod "getHasStencilBuffer" o = GLAreaGetHasStencilBufferMethodInfo
+    ResolveGLAreaMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveGLAreaMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveGLAreaMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveGLAreaMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveGLAreaMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveGLAreaMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveGLAreaMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveGLAreaMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveGLAreaMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveGLAreaMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveGLAreaMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveGLAreaMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveGLAreaMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveGLAreaMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveGLAreaMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveGLAreaMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveGLAreaMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveGLAreaMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveGLAreaMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveGLAreaMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveGLAreaMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveGLAreaMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveGLAreaMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveGLAreaMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveGLAreaMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveGLAreaMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveGLAreaMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveGLAreaMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveGLAreaMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGLAreaMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGLAreaMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveGLAreaMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveGLAreaMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveGLAreaMethod "getRequiredVersion" o = GLAreaGetRequiredVersionMethodInfo
+    ResolveGLAreaMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveGLAreaMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveGLAreaMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveGLAreaMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveGLAreaMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveGLAreaMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveGLAreaMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveGLAreaMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveGLAreaMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveGLAreaMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveGLAreaMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveGLAreaMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveGLAreaMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveGLAreaMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveGLAreaMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveGLAreaMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveGLAreaMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveGLAreaMethod "getUseEs" o = GLAreaGetUseEsMethodInfo
+    ResolveGLAreaMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveGLAreaMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveGLAreaMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveGLAreaMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveGLAreaMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveGLAreaMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveGLAreaMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveGLAreaMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveGLAreaMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveGLAreaMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveGLAreaMethod "setAutoRender" o = GLAreaSetAutoRenderMethodInfo
+    ResolveGLAreaMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveGLAreaMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveGLAreaMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveGLAreaMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveGLAreaMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveGLAreaMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveGLAreaMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGLAreaMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveGLAreaMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveGLAreaMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveGLAreaMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveGLAreaMethod "setError" o = GLAreaSetErrorMethodInfo
+    ResolveGLAreaMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveGLAreaMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveGLAreaMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveGLAreaMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveGLAreaMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveGLAreaMethod "setHasAlpha" o = GLAreaSetHasAlphaMethodInfo
+    ResolveGLAreaMethod "setHasDepthBuffer" o = GLAreaSetHasDepthBufferMethodInfo
+    ResolveGLAreaMethod "setHasStencilBuffer" o = GLAreaSetHasStencilBufferMethodInfo
+    ResolveGLAreaMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveGLAreaMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveGLAreaMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveGLAreaMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveGLAreaMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveGLAreaMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveGLAreaMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveGLAreaMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveGLAreaMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveGLAreaMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveGLAreaMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveGLAreaMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveGLAreaMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveGLAreaMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveGLAreaMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveGLAreaMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveGLAreaMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGLAreaMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveGLAreaMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveGLAreaMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveGLAreaMethod "setRequiredVersion" o = GLAreaSetRequiredVersionMethodInfo
+    ResolveGLAreaMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveGLAreaMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveGLAreaMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveGLAreaMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveGLAreaMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveGLAreaMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveGLAreaMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveGLAreaMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveGLAreaMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveGLAreaMethod "setUseEs" o = GLAreaSetUseEsMethodInfo
+    ResolveGLAreaMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveGLAreaMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveGLAreaMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveGLAreaMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveGLAreaMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveGLAreaMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveGLAreaMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGLAreaMethod t GLArea, O.MethodInfo info GLArea p) => OL.IsLabel t (GLArea -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal GLArea::create-context
+{- |
+The ::create-context signal is emitted when the widget is being
+realized, and allows you to override how the GL context is
+created. This is useful when you want to reuse an existing GL
+context, or if you want to try creating different kinds of GL
+options.
+
+If context creation fails then the signal handler can use
+'GI.Gtk.Objects.GLArea.gLAreaSetError' to register a more detailed error
+of how the construction failed.
+
+/Since: 3.16/
+-}
+type GLAreaCreateContextCallback =
+    IO Gdk.GLContext.GLContext
+    {- ^ __Returns:__ a newly created 'GI.Gdk.Objects.GLContext.GLContext';
+    the 'GI.Gtk.Objects.GLArea.GLArea' widget will take ownership of the returned value. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GLAreaCreateContextCallback`@.
+noGLAreaCreateContextCallback :: Maybe GLAreaCreateContextCallback
+noGLAreaCreateContextCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GLAreaCreateContextCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO (Ptr Gdk.GLContext.GLContext)
+
+-- | Generate a function pointer callable from C code, from a `C_GLAreaCreateContextCallback`.
+foreign import ccall "wrapper"
+    mk_GLAreaCreateContextCallback :: C_GLAreaCreateContextCallback -> IO (FunPtr C_GLAreaCreateContextCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GLAreaCreateContext :: MonadIO m => GLAreaCreateContextCallback -> m (GClosure C_GLAreaCreateContextCallback)
+genClosure_GLAreaCreateContext cb = liftIO $ do
+    let cb' = wrap_GLAreaCreateContextCallback cb
+    mk_GLAreaCreateContextCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GLAreaCreateContextCallback` into a `C_GLAreaCreateContextCallback`.
+wrap_GLAreaCreateContextCallback ::
+    GLAreaCreateContextCallback ->
+    C_GLAreaCreateContextCallback
+wrap_GLAreaCreateContextCallback _cb _ _ = do
+    result <- _cb 
+    result' <- B.ManagedPtr.disownObject result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@create-context@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gLArea #createContext callback
+@
+-}
+onGLAreaCreateContext :: (IsGLArea a, MonadIO m) => a -> GLAreaCreateContextCallback -> m SignalHandlerId
+onGLAreaCreateContext obj cb = liftIO $ do
+    let cb' = wrap_GLAreaCreateContextCallback cb
+    cb'' <- mk_GLAreaCreateContextCallback cb'
+    connectSignalFunPtr obj "create-context" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@create-context@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gLArea #createContext callback
+@
+-}
+afterGLAreaCreateContext :: (IsGLArea a, MonadIO m) => a -> GLAreaCreateContextCallback -> m SignalHandlerId
+afterGLAreaCreateContext obj cb = liftIO $ do
+    let cb' = wrap_GLAreaCreateContextCallback cb
+    cb'' <- mk_GLAreaCreateContextCallback cb'
+    connectSignalFunPtr obj "create-context" cb'' SignalConnectAfter
+
+
+-- signal GLArea::render
+{- |
+The ::render signal is emitted every time the contents
+of the 'GI.Gtk.Objects.GLArea.GLArea' should be redrawn.
+
+The /@context@/ is bound to the /@area@/ prior to emitting this function,
+and the buffers are painted to the window once the emission terminates.
+
+/Since: 3.16/
+-}
+type GLAreaRenderCallback =
+    Gdk.GLContext.GLContext
+    {- ^ /@context@/: the 'GI.Gdk.Objects.GLContext.GLContext' used by /@area@/ -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GLAreaRenderCallback`@.
+noGLAreaRenderCallback :: Maybe GLAreaRenderCallback
+noGLAreaRenderCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GLAreaRenderCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.GLContext.GLContext ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_GLAreaRenderCallback`.
+foreign import ccall "wrapper"
+    mk_GLAreaRenderCallback :: C_GLAreaRenderCallback -> IO (FunPtr C_GLAreaRenderCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GLAreaRender :: MonadIO m => GLAreaRenderCallback -> m (GClosure C_GLAreaRenderCallback)
+genClosure_GLAreaRender cb = liftIO $ do
+    let cb' = wrap_GLAreaRenderCallback cb
+    mk_GLAreaRenderCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GLAreaRenderCallback` into a `C_GLAreaRenderCallback`.
+wrap_GLAreaRenderCallback ::
+    GLAreaRenderCallback ->
+    C_GLAreaRenderCallback
+wrap_GLAreaRenderCallback _cb _ context _ = do
+    context' <- (newObject Gdk.GLContext.GLContext) context
+    result <- _cb  context'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@render@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gLArea #render callback
+@
+-}
+onGLAreaRender :: (IsGLArea a, MonadIO m) => a -> GLAreaRenderCallback -> m SignalHandlerId
+onGLAreaRender obj cb = liftIO $ do
+    let cb' = wrap_GLAreaRenderCallback cb
+    cb'' <- mk_GLAreaRenderCallback cb'
+    connectSignalFunPtr obj "render" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@render@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gLArea #render callback
+@
+-}
+afterGLAreaRender :: (IsGLArea a, MonadIO m) => a -> GLAreaRenderCallback -> m SignalHandlerId
+afterGLAreaRender obj cb = liftIO $ do
+    let cb' = wrap_GLAreaRenderCallback cb
+    cb'' <- mk_GLAreaRenderCallback cb'
+    connectSignalFunPtr obj "render" cb'' SignalConnectAfter
+
+
+-- signal GLArea::resize
+{- |
+The ::resize signal is emitted once when the widget is realized, and
+then each time the widget is changed while realized. This is useful
+in order to keep GL state up to date with the widget size, like for
+instance camera properties which may depend on the width\/height ratio.
+
+The GL context for the area is guaranteed to be current when this signal
+is emitted.
+
+The default handler sets up the GL viewport.
+
+/Since: 3.16/
+-}
+type GLAreaResizeCallback =
+    Int32
+    {- ^ /@width@/: the width of the viewport -}
+    -> Int32
+    {- ^ /@height@/: the height of the viewport -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GLAreaResizeCallback`@.
+noGLAreaResizeCallback :: Maybe GLAreaResizeCallback
+noGLAreaResizeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GLAreaResizeCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GLAreaResizeCallback`.
+foreign import ccall "wrapper"
+    mk_GLAreaResizeCallback :: C_GLAreaResizeCallback -> IO (FunPtr C_GLAreaResizeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GLAreaResize :: MonadIO m => GLAreaResizeCallback -> m (GClosure C_GLAreaResizeCallback)
+genClosure_GLAreaResize cb = liftIO $ do
+    let cb' = wrap_GLAreaResizeCallback cb
+    mk_GLAreaResizeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GLAreaResizeCallback` into a `C_GLAreaResizeCallback`.
+wrap_GLAreaResizeCallback ::
+    GLAreaResizeCallback ->
+    C_GLAreaResizeCallback
+wrap_GLAreaResizeCallback _cb _ width height _ = do
+    _cb  width height
+
+
+{- |
+Connect a signal handler for the “@resize@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gLArea #resize callback
+@
+-}
+onGLAreaResize :: (IsGLArea a, MonadIO m) => a -> GLAreaResizeCallback -> m SignalHandlerId
+onGLAreaResize obj cb = liftIO $ do
+    let cb' = wrap_GLAreaResizeCallback cb
+    cb'' <- mk_GLAreaResizeCallback cb'
+    connectSignalFunPtr obj "resize" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@resize@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gLArea #resize callback
+@
+-}
+afterGLAreaResize :: (IsGLArea a, MonadIO m) => a -> GLAreaResizeCallback -> m SignalHandlerId
+afterGLAreaResize obj cb = liftIO $ do
+    let cb' = wrap_GLAreaResizeCallback cb
+    cb'' <- mk_GLAreaResizeCallback cb'
+    connectSignalFunPtr obj "resize" cb'' SignalConnectAfter
+
+
+-- VVV Prop "auto-render"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@auto-render@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gLArea #autoRender
+@
+-}
+getGLAreaAutoRender :: (MonadIO m, IsGLArea o) => o -> m Bool
+getGLAreaAutoRender obj = liftIO $ B.Properties.getObjectPropertyBool obj "auto-render"
+
+{- |
+Set the value of the “@auto-render@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gLArea [ #autoRender 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGLAreaAutoRender :: (MonadIO m, IsGLArea o) => o -> Bool -> m ()
+setGLAreaAutoRender obj val = liftIO $ B.Properties.setObjectPropertyBool obj "auto-render" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@auto-render@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGLAreaAutoRender :: (IsGLArea o) => Bool -> IO (GValueConstruct o)
+constructGLAreaAutoRender val = B.Properties.constructObjectPropertyBool "auto-render" val
+
+#if ENABLE_OVERLOADING
+data GLAreaAutoRenderPropertyInfo
+instance AttrInfo GLAreaAutoRenderPropertyInfo where
+    type AttrAllowedOps GLAreaAutoRenderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GLAreaAutoRenderPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GLAreaAutoRenderPropertyInfo = IsGLArea
+    type AttrGetType GLAreaAutoRenderPropertyInfo = Bool
+    type AttrLabel GLAreaAutoRenderPropertyInfo = "auto-render"
+    type AttrOrigin GLAreaAutoRenderPropertyInfo = GLArea
+    attrGet _ = getGLAreaAutoRender
+    attrSet _ = setGLAreaAutoRender
+    attrConstruct _ = constructGLAreaAutoRender
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "context"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "GLContext"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@context@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gLArea #context
+@
+-}
+getGLAreaContext :: (MonadIO m, IsGLArea o) => o -> m Gdk.GLContext.GLContext
+getGLAreaContext obj = liftIO $ checkUnexpectedNothing "getGLAreaContext" $ B.Properties.getObjectPropertyObject obj "context" Gdk.GLContext.GLContext
+
+#if ENABLE_OVERLOADING
+data GLAreaContextPropertyInfo
+instance AttrInfo GLAreaContextPropertyInfo where
+    type AttrAllowedOps GLAreaContextPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GLAreaContextPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint GLAreaContextPropertyInfo = IsGLArea
+    type AttrGetType GLAreaContextPropertyInfo = Gdk.GLContext.GLContext
+    type AttrLabel GLAreaContextPropertyInfo = "context"
+    type AttrOrigin GLAreaContextPropertyInfo = GLArea
+    attrGet _ = getGLAreaContext
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-alpha"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gLArea #hasAlpha
+@
+-}
+getGLAreaHasAlpha :: (MonadIO m, IsGLArea o) => o -> m Bool
+getGLAreaHasAlpha obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-alpha"
+
+{- |
+Set the value of the “@has-alpha@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gLArea [ #hasAlpha 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGLAreaHasAlpha :: (MonadIO m, IsGLArea o) => o -> Bool -> m ()
+setGLAreaHasAlpha obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-alpha" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-alpha@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGLAreaHasAlpha :: (IsGLArea o) => Bool -> IO (GValueConstruct o)
+constructGLAreaHasAlpha val = B.Properties.constructObjectPropertyBool "has-alpha" val
+
+#if ENABLE_OVERLOADING
+data GLAreaHasAlphaPropertyInfo
+instance AttrInfo GLAreaHasAlphaPropertyInfo where
+    type AttrAllowedOps GLAreaHasAlphaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GLAreaHasAlphaPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GLAreaHasAlphaPropertyInfo = IsGLArea
+    type AttrGetType GLAreaHasAlphaPropertyInfo = Bool
+    type AttrLabel GLAreaHasAlphaPropertyInfo = "has-alpha"
+    type AttrOrigin GLAreaHasAlphaPropertyInfo = GLArea
+    attrGet _ = getGLAreaHasAlpha
+    attrSet _ = setGLAreaHasAlpha
+    attrConstruct _ = constructGLAreaHasAlpha
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-depth-buffer"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-depth-buffer@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gLArea #hasDepthBuffer
+@
+-}
+getGLAreaHasDepthBuffer :: (MonadIO m, IsGLArea o) => o -> m Bool
+getGLAreaHasDepthBuffer obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-depth-buffer"
+
+{- |
+Set the value of the “@has-depth-buffer@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gLArea [ #hasDepthBuffer 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGLAreaHasDepthBuffer :: (MonadIO m, IsGLArea o) => o -> Bool -> m ()
+setGLAreaHasDepthBuffer obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-depth-buffer" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-depth-buffer@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGLAreaHasDepthBuffer :: (IsGLArea o) => Bool -> IO (GValueConstruct o)
+constructGLAreaHasDepthBuffer val = B.Properties.constructObjectPropertyBool "has-depth-buffer" val
+
+#if ENABLE_OVERLOADING
+data GLAreaHasDepthBufferPropertyInfo
+instance AttrInfo GLAreaHasDepthBufferPropertyInfo where
+    type AttrAllowedOps GLAreaHasDepthBufferPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GLAreaHasDepthBufferPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GLAreaHasDepthBufferPropertyInfo = IsGLArea
+    type AttrGetType GLAreaHasDepthBufferPropertyInfo = Bool
+    type AttrLabel GLAreaHasDepthBufferPropertyInfo = "has-depth-buffer"
+    type AttrOrigin GLAreaHasDepthBufferPropertyInfo = GLArea
+    attrGet _ = getGLAreaHasDepthBuffer
+    attrSet _ = setGLAreaHasDepthBuffer
+    attrConstruct _ = constructGLAreaHasDepthBuffer
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-stencil-buffer"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-stencil-buffer@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gLArea #hasStencilBuffer
+@
+-}
+getGLAreaHasStencilBuffer :: (MonadIO m, IsGLArea o) => o -> m Bool
+getGLAreaHasStencilBuffer obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-stencil-buffer"
+
+{- |
+Set the value of the “@has-stencil-buffer@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gLArea [ #hasStencilBuffer 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGLAreaHasStencilBuffer :: (MonadIO m, IsGLArea o) => o -> Bool -> m ()
+setGLAreaHasStencilBuffer obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-stencil-buffer" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-stencil-buffer@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGLAreaHasStencilBuffer :: (IsGLArea o) => Bool -> IO (GValueConstruct o)
+constructGLAreaHasStencilBuffer val = B.Properties.constructObjectPropertyBool "has-stencil-buffer" val
+
+#if ENABLE_OVERLOADING
+data GLAreaHasStencilBufferPropertyInfo
+instance AttrInfo GLAreaHasStencilBufferPropertyInfo where
+    type AttrAllowedOps GLAreaHasStencilBufferPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GLAreaHasStencilBufferPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GLAreaHasStencilBufferPropertyInfo = IsGLArea
+    type AttrGetType GLAreaHasStencilBufferPropertyInfo = Bool
+    type AttrLabel GLAreaHasStencilBufferPropertyInfo = "has-stencil-buffer"
+    type AttrOrigin GLAreaHasStencilBufferPropertyInfo = GLArea
+    attrGet _ = getGLAreaHasStencilBuffer
+    attrSet _ = setGLAreaHasStencilBuffer
+    attrConstruct _ = constructGLAreaHasStencilBuffer
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-es"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-es@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gLArea #useEs
+@
+-}
+getGLAreaUseEs :: (MonadIO m, IsGLArea o) => o -> m Bool
+getGLAreaUseEs obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-es"
+
+{- |
+Set the value of the “@use-es@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gLArea [ #useEs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGLAreaUseEs :: (MonadIO m, IsGLArea o) => o -> Bool -> m ()
+setGLAreaUseEs obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-es" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-es@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGLAreaUseEs :: (IsGLArea o) => Bool -> IO (GValueConstruct o)
+constructGLAreaUseEs val = B.Properties.constructObjectPropertyBool "use-es" val
+
+#if ENABLE_OVERLOADING
+data GLAreaUseEsPropertyInfo
+instance AttrInfo GLAreaUseEsPropertyInfo where
+    type AttrAllowedOps GLAreaUseEsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GLAreaUseEsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GLAreaUseEsPropertyInfo = IsGLArea
+    type AttrGetType GLAreaUseEsPropertyInfo = Bool
+    type AttrLabel GLAreaUseEsPropertyInfo = "use-es"
+    type AttrOrigin GLAreaUseEsPropertyInfo = GLArea
+    attrGet _ = getGLAreaUseEs
+    attrSet _ = setGLAreaUseEs
+    attrConstruct _ = constructGLAreaUseEs
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GLArea
+type instance O.AttributeList GLArea = GLAreaAttributeList
+type GLAreaAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("autoRender", GLAreaAutoRenderPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("context", GLAreaContextPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasAlpha", GLAreaHasAlphaPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasDepthBuffer", GLAreaHasDepthBufferPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasStencilBuffer", GLAreaHasStencilBufferPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useEs", GLAreaUseEsPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+gLAreaAutoRender :: AttrLabelProxy "autoRender"
+gLAreaAutoRender = AttrLabelProxy
+
+gLAreaContext :: AttrLabelProxy "context"
+gLAreaContext = AttrLabelProxy
+
+gLAreaHasAlpha :: AttrLabelProxy "hasAlpha"
+gLAreaHasAlpha = AttrLabelProxy
+
+gLAreaHasDepthBuffer :: AttrLabelProxy "hasDepthBuffer"
+gLAreaHasDepthBuffer = AttrLabelProxy
+
+gLAreaHasStencilBuffer :: AttrLabelProxy "hasStencilBuffer"
+gLAreaHasStencilBuffer = AttrLabelProxy
+
+gLAreaUseEs :: AttrLabelProxy "useEs"
+gLAreaUseEs = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data GLAreaCreateContextSignalInfo
+instance SignalInfo GLAreaCreateContextSignalInfo where
+    type HaskellCallbackType GLAreaCreateContextSignalInfo = GLAreaCreateContextCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GLAreaCreateContextCallback cb
+        cb'' <- mk_GLAreaCreateContextCallback cb'
+        connectSignalFunPtr obj "create-context" cb'' connectMode
+
+data GLAreaRenderSignalInfo
+instance SignalInfo GLAreaRenderSignalInfo where
+    type HaskellCallbackType GLAreaRenderSignalInfo = GLAreaRenderCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GLAreaRenderCallback cb
+        cb'' <- mk_GLAreaRenderCallback cb'
+        connectSignalFunPtr obj "render" cb'' connectMode
+
+data GLAreaResizeSignalInfo
+instance SignalInfo GLAreaResizeSignalInfo where
+    type HaskellCallbackType GLAreaResizeSignalInfo = GLAreaResizeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GLAreaResizeCallback cb
+        cb'' <- mk_GLAreaResizeCallback cb'
+        connectSignalFunPtr obj "resize" cb'' connectMode
+
+type instance O.SignalList GLArea = GLAreaSignalList
+type GLAreaSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("createContext", GLAreaCreateContextSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("render", GLAreaRenderSignalInfo), '("resize", GLAreaResizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GLArea::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "GLArea"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_new" gtk_gl_area_new :: 
+    IO (Ptr GLArea)
+
+{- |
+Creates a new 'GI.Gtk.Objects.GLArea.GLArea' widget.
+
+/Since: 3.16/
+-}
+gLAreaNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m GLArea
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.GLArea.GLArea' -}
+gLAreaNew  = liftIO $ do
+    result <- gtk_gl_area_new
+    checkUnexpectedReturnNULL "gLAreaNew" result
+    result' <- (newObject GLArea) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method GLArea::attach_buffers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_attach_buffers" gtk_gl_area_attach_buffers :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO ()
+
+{- |
+Ensures that the /@area@/ framebuffer object is made the current draw
+and read target, and that all the required buffers for the /@area@/
+are created and bound to the frambuffer.
+
+This function is automatically called before emitting the
+'GI.Gtk.Objects.GLArea.GLArea'::@/render/@ signal, and doesn\'t normally need to be called
+by application code.
+
+/Since: 3.16/
+-}
+gLAreaAttachBuffers ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m ()
+gLAreaAttachBuffers area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    gtk_gl_area_attach_buffers area'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaAttachBuffersMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaAttachBuffersMethodInfo a signature where
+    overloadedMethod _ = gLAreaAttachBuffers
+
+#endif
+
+-- method GLArea::get_auto_render
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_get_auto_render" gtk_gl_area_get_auto_render :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO CInt
+
+{- |
+Returns whether the area is in auto render mode or not.
+
+/Since: 3.16/
+-}
+gLAreaGetAutoRender ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the /@area@/ is auto rendering, 'False' otherwise -}
+gLAreaGetAutoRender area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_gl_area_get_auto_render area'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data GLAreaGetAutoRenderMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaGetAutoRenderMethodInfo a signature where
+    overloadedMethod _ = gLAreaGetAutoRender
+
+#endif
+
+-- method GLArea::get_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "GLContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_get_context" gtk_gl_area_get_context :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO (Ptr Gdk.GLContext.GLContext)
+
+{- |
+Retrieves the 'GI.Gdk.Objects.GLContext.GLContext' used by /@area@/.
+
+/Since: 3.16/
+-}
+gLAreaGetContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m Gdk.GLContext.GLContext
+    {- ^ __Returns:__ the 'GI.Gdk.Objects.GLContext.GLContext' -}
+gLAreaGetContext area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_gl_area_get_context area'
+    checkUnexpectedReturnNULL "gLAreaGetContext" result
+    result' <- (newObject Gdk.GLContext.GLContext) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data GLAreaGetContextMethodInfo
+instance (signature ~ (m Gdk.GLContext.GLContext), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaGetContextMethodInfo a signature where
+    overloadedMethod _ = gLAreaGetContext
+
+#endif
+
+-- method GLArea::get_error
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just TError
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_get_error" gtk_gl_area_get_error :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO (Ptr GError)
+
+{- |
+Gets the current error set on the /@area@/.
+
+/Since: 3.16/
+-}
+gLAreaGetError ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m (Maybe GError)
+    {- ^ __Returns:__ the 'GError' or 'Nothing' -}
+gLAreaGetError area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_gl_area_get_error area'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed GError) result'
+        return result''
+    touchManagedPtr area
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data GLAreaGetErrorMethodInfo
+instance (signature ~ (m (Maybe GError)), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaGetErrorMethodInfo a signature where
+    overloadedMethod _ = gLAreaGetError
+
+#endif
+
+-- method GLArea::get_has_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_get_has_alpha" gtk_gl_area_get_has_alpha :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO CInt
+
+{- |
+Returns whether the area has an alpha component.
+
+/Since: 3.16/
+-}
+gLAreaGetHasAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the /@area@/ has an alpha component, 'False' otherwise -}
+gLAreaGetHasAlpha area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_gl_area_get_has_alpha area'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data GLAreaGetHasAlphaMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaGetHasAlphaMethodInfo a signature where
+    overloadedMethod _ = gLAreaGetHasAlpha
+
+#endif
+
+-- method GLArea::get_has_depth_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_get_has_depth_buffer" gtk_gl_area_get_has_depth_buffer :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO CInt
+
+{- |
+Returns whether the area has a depth buffer.
+
+/Since: 3.16/
+-}
+gLAreaGetHasDepthBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the /@area@/ has a depth buffer, 'False' otherwise -}
+gLAreaGetHasDepthBuffer area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_gl_area_get_has_depth_buffer area'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data GLAreaGetHasDepthBufferMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaGetHasDepthBufferMethodInfo a signature where
+    overloadedMethod _ = gLAreaGetHasDepthBuffer
+
+#endif
+
+-- method GLArea::get_has_stencil_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_get_has_stencil_buffer" gtk_gl_area_get_has_stencil_buffer :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO CInt
+
+{- |
+Returns whether the area has a stencil buffer.
+
+/Since: 3.16/
+-}
+gLAreaGetHasStencilBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the /@area@/ has a stencil buffer, 'False' otherwise -}
+gLAreaGetHasStencilBuffer area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_gl_area_get_has_stencil_buffer area'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data GLAreaGetHasStencilBufferMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaGetHasStencilBufferMethodInfo a signature where
+    overloadedMethod _ = gLAreaGetHasStencilBuffer
+
+#endif
+
+-- method GLArea::get_required_version
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "major", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the required major version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "minor", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the required minor version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_get_required_version" gtk_gl_area_get_required_version :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    Ptr Int32 ->                            -- major : TBasicType TInt
+    Ptr Int32 ->                            -- minor : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves the required version of OpenGL set
+using 'GI.Gtk.Objects.GLArea.gLAreaSetRequiredVersion'.
+
+/Since: 3.16/
+-}
+gLAreaGetRequiredVersion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m ((Int32, Int32))
+gLAreaGetRequiredVersion area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    major <- allocMem :: IO (Ptr Int32)
+    minor <- allocMem :: IO (Ptr Int32)
+    gtk_gl_area_get_required_version area' major minor
+    major' <- peek major
+    minor' <- peek minor
+    touchManagedPtr area
+    freeMem major
+    freeMem minor
+    return (major', minor')
+
+#if ENABLE_OVERLOADING
+data GLAreaGetRequiredVersionMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaGetRequiredVersionMethodInfo a signature where
+    overloadedMethod _ = gLAreaGetRequiredVersion
+
+#endif
+
+-- method GLArea::get_use_es
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_get_use_es" gtk_gl_area_get_use_es :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO CInt
+
+{- |
+Retrieves the value set by 'GI.Gtk.Objects.GLArea.gLAreaSetUseEs'.
+
+/Since: 3.22/
+-}
+gLAreaGetUseEs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the 'GI.Gtk.Objects.GLArea.GLArea' should create an OpenGL ES context
+  and 'False' otherwise -}
+gLAreaGetUseEs area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_gl_area_get_use_es area'
+    let result' = (/= 0) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+data GLAreaGetUseEsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaGetUseEsMethodInfo a signature where
+    overloadedMethod _ = gLAreaGetUseEs
+
+#endif
+
+-- method GLArea::make_current
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_make_current" gtk_gl_area_make_current :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO ()
+
+{- |
+Ensures that the 'GI.Gdk.Objects.GLContext.GLContext' used by /@area@/ is associated with
+the 'GI.Gtk.Objects.GLArea.GLArea'.
+
+This function is automatically called before emitting the
+'GI.Gtk.Objects.GLArea.GLArea'::@/render/@ signal, and doesn\'t normally need to be called
+by application code.
+
+/Since: 3.16/
+-}
+gLAreaMakeCurrent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m ()
+gLAreaMakeCurrent area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    gtk_gl_area_make_current area'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaMakeCurrentMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaMakeCurrentMethodInfo a signature where
+    overloadedMethod _ = gLAreaMakeCurrent
+
+#endif
+
+-- method GLArea::queue_render
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_queue_render" gtk_gl_area_queue_render :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    IO ()
+
+{- |
+Marks the currently rendered data (if any) as invalid, and queues
+a redraw of the widget, ensuring that the 'GI.Gtk.Objects.GLArea.GLArea'::@/render/@ signal
+is emitted during the draw.
+
+This is only needed when the 'GI.Gtk.Objects.GLArea.gLAreaSetAutoRender' has
+been called with a 'False' value. The default behaviour is to
+emit 'GI.Gtk.Objects.GLArea.GLArea'::@/render/@ on each draw.
+
+/Since: 3.16/
+-}
+gLAreaQueueRender ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> m ()
+gLAreaQueueRender area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    gtk_gl_area_queue_render area'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaQueueRenderMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaQueueRenderMethodInfo a signature where
+    overloadedMethod _ = gLAreaQueueRender
+
+#endif
+
+-- method GLArea::set_auto_render
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auto_render", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a boolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_set_auto_render" gtk_gl_area_set_auto_render :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    CInt ->                                 -- auto_render : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@autoRender@/ is 'True' the 'GI.Gtk.Objects.GLArea.GLArea'::@/render/@ signal will be
+emitted every time the widget draws. This is the default and is
+useful if drawing the widget is faster.
+
+If /@autoRender@/ is 'False' the data from previous rendering is kept
+around and will be used for drawing the widget the next time,
+unless the window is resized. In order to force a rendering
+'GI.Gtk.Objects.GLArea.gLAreaQueueRender' must be called. This mode is useful when
+the scene changes seldomly, but takes a long time to redraw.
+
+/Since: 3.16/
+-}
+gLAreaSetAutoRender ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> Bool
+    {- ^ /@autoRender@/: a boolean -}
+    -> m ()
+gLAreaSetAutoRender area autoRender = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    let autoRender' = (fromIntegral . fromEnum) autoRender
+    gtk_gl_area_set_auto_render area' autoRender'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaSetAutoRenderMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaSetAutoRenderMethodInfo a signature where
+    overloadedMethod _ = gLAreaSetAutoRender
+
+#endif
+
+-- method GLArea::set_error
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a new #GError, or %NULL to unset the error", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_set_error" gtk_gl_area_set_error :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    Ptr GError ->                           -- error : TError
+    IO ()
+
+{- |
+Sets an error on the area which will be shown instead of the
+GL rendering. This is useful in the 'GI.Gtk.Objects.GLArea.GLArea'::@/create-context/@
+signal if GL context creation fails.
+
+/Since: 3.16/
+-}
+gLAreaSetError ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> Maybe (GError)
+    {- ^ /@error@/: a new 'GError', or 'Nothing' to unset the error -}
+    -> m ()
+gLAreaSetError area error_ = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    maybeError_ <- case error_ of
+        Nothing -> return nullPtr
+        Just jError_ -> do
+            jError_' <- unsafeManagedPtrGetPtr jError_
+            return jError_'
+    gtk_gl_area_set_error area' maybeError_
+    touchManagedPtr area
+    whenJust error_ touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaSetErrorMethodInfo
+instance (signature ~ (Maybe (GError) -> m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaSetErrorMethodInfo a signature where
+    overloadedMethod _ = gLAreaSetError
+
+#endif
+
+-- method GLArea::set_has_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_alpha", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to add an alpha component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_set_has_alpha" gtk_gl_area_set_has_alpha :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    CInt ->                                 -- has_alpha : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@hasAlpha@/ is 'True' the buffer allocated by the widget will have
+an alpha channel component, and when rendering to the window the
+result will be composited over whatever is below the widget.
+
+If /@hasAlpha@/ is 'False' there will be no alpha channel, and the
+buffer will fully replace anything below the widget.
+
+/Since: 3.16/
+-}
+gLAreaSetHasAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> Bool
+    {- ^ /@hasAlpha@/: 'True' to add an alpha component -}
+    -> m ()
+gLAreaSetHasAlpha area hasAlpha = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    let hasAlpha' = (fromIntegral . fromEnum) hasAlpha
+    gtk_gl_area_set_has_alpha area' hasAlpha'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaSetHasAlphaMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaSetHasAlphaMethodInfo a signature where
+    overloadedMethod _ = gLAreaSetHasAlpha
+
+#endif
+
+-- method GLArea::set_has_depth_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_depth_buffer", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to add a depth buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_set_has_depth_buffer" gtk_gl_area_set_has_depth_buffer :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    CInt ->                                 -- has_depth_buffer : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@hasDepthBuffer@/ is 'True' the widget will allocate and
+enable a depth buffer for the target framebuffer. Otherwise
+there will be none.
+
+/Since: 3.16/
+-}
+gLAreaSetHasDepthBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> Bool
+    {- ^ /@hasDepthBuffer@/: 'True' to add a depth buffer -}
+    -> m ()
+gLAreaSetHasDepthBuffer area hasDepthBuffer = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    let hasDepthBuffer' = (fromIntegral . fromEnum) hasDepthBuffer
+    gtk_gl_area_set_has_depth_buffer area' hasDepthBuffer'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaSetHasDepthBufferMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaSetHasDepthBufferMethodInfo a signature where
+    overloadedMethod _ = gLAreaSetHasDepthBuffer
+
+#endif
+
+-- method GLArea::set_has_stencil_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_stencil_buffer", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to add a stencil buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_set_has_stencil_buffer" gtk_gl_area_set_has_stencil_buffer :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    CInt ->                                 -- has_stencil_buffer : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@hasStencilBuffer@/ is 'True' the widget will allocate and
+enable a stencil buffer for the target framebuffer. Otherwise
+there will be none.
+
+/Since: 3.16/
+-}
+gLAreaSetHasStencilBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> Bool
+    {- ^ /@hasStencilBuffer@/: 'True' to add a stencil buffer -}
+    -> m ()
+gLAreaSetHasStencilBuffer area hasStencilBuffer = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    let hasStencilBuffer' = (fromIntegral . fromEnum) hasStencilBuffer
+    gtk_gl_area_set_has_stencil_buffer area' hasStencilBuffer'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaSetHasStencilBufferMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaSetHasStencilBufferMethodInfo a signature where
+    overloadedMethod _ = gLAreaSetHasStencilBuffer
+
+#endif
+
+-- method GLArea::set_required_version
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "major", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the major version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minor", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minor version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_set_required_version" gtk_gl_area_set_required_version :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    Int32 ->                                -- major : TBasicType TInt
+    Int32 ->                                -- minor : TBasicType TInt
+    IO ()
+
+{- |
+Sets the required version of OpenGL to be used when creating the context
+for the widget.
+
+This function must be called before the area has been realized.
+
+/Since: 3.16/
+-}
+gLAreaSetRequiredVersion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> Int32
+    {- ^ /@major@/: the major version -}
+    -> Int32
+    {- ^ /@minor@/: the minor version -}
+    -> m ()
+gLAreaSetRequiredVersion area major minor = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    gtk_gl_area_set_required_version area' major minor
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaSetRequiredVersionMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaSetRequiredVersionMethodInfo a signature where
+    overloadedMethod _ = gLAreaSetRequiredVersion
+
+#endif
+
+-- method GLArea::set_use_es
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "GLArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGLArea", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_es", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to use OpenGL or OpenGL ES", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gl_area_set_use_es" gtk_gl_area_set_use_es :: 
+    Ptr GLArea ->                           -- area : TInterface (Name {namespace = "Gtk", name = "GLArea"})
+    CInt ->                                 -- use_es : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the /@area@/ should create an OpenGL or an OpenGL ES context.
+
+You should check the capabilities of the 'GI.Gdk.Objects.GLContext.GLContext' before drawing
+with either API.
+
+/Since: 3.22/
+-}
+gLAreaSetUseEs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGLArea a) =>
+    a
+    {- ^ /@area@/: a 'GI.Gtk.Objects.GLArea.GLArea' -}
+    -> Bool
+    {- ^ /@useEs@/: whether to use OpenGL or OpenGL ES -}
+    -> m ()
+gLAreaSetUseEs area useEs = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    let useEs' = (fromIntegral . fromEnum) useEs
+    gtk_gl_area_set_use_es area' useEs'
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data GLAreaSetUseEsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsGLArea a) => O.MethodInfo GLAreaSetUseEsMethodInfo a signature where
+    overloadedMethod _ = gLAreaSetUseEs
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/GLArea.hs-boot b/GI/Gtk/Objects/GLArea.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GLArea.hs-boot
@@ -0,0 +1,110 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GLArea where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GLArea = GLArea (ManagedPtr GLArea)
+instance GObject GLArea where
+class (GObject o, O.IsDescendantOf GLArea o) => IsGLArea o
+instance (GObject o, O.IsDescendantOf GLArea o) => IsGLArea o
+instance O.HasParentTypes GLArea
+#if ENABLE_OVERLOADING
+data GLAreaAutoRenderPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaContextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaHasAlphaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaHasDepthBufferPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaHasStencilBufferPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaUseEsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaCreateContextSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaRenderSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaResizeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaAttachBuffersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaGetAutoRenderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaGetContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaGetErrorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaGetHasAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaGetHasDepthBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaGetHasStencilBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaGetRequiredVersionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaGetUseEsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaMakeCurrentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaQueueRenderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaSetAutoRenderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaSetErrorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaSetHasAlphaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaSetHasDepthBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaSetHasStencilBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaSetRequiredVersionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GLAreaSetUseEsMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Gesture.hs b/GI/Gtk/Objects/Gesture.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Gesture.hs
@@ -0,0 +1,1922 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.Gesture.Gesture' is the base object for gesture recognition, although this
+object is quite generalized to serve as a base for multi-touch gestures,
+it is suitable to implement single-touch and pointer-based gestures (using
+the special 'Nothing' 'GI.Gdk.Structs.EventSequence.EventSequence' value for these).
+
+The number of touches that a 'GI.Gtk.Objects.Gesture.Gesture' need to be recognized is controlled
+by the 'GI.Gtk.Objects.Gesture.Gesture':@/n-points/@ property, if a gesture is keeping track of less
+or more than that number of sequences, it won\'t check wether the gesture
+is recognized.
+
+As soon as the gesture has the expected number of touches, the gesture will
+run the 'GI.Gtk.Objects.Gesture.Gesture'::@/check/@ signal regularly on input events until the gesture
+is recognized, the criteria to consider a gesture as \"recognized\" is left to
+'GI.Gtk.Objects.Gesture.Gesture' subclasses.
+
+A recognized gesture will then emit the following signals:
+
+* 'GI.Gtk.Objects.Gesture.Gesture'::@/begin/@ when the gesture is recognized.
+* A number of 'GI.Gtk.Objects.Gesture.Gesture'::@/update/@, whenever an input event is processed.
+* 'GI.Gtk.Objects.Gesture.Gesture'::@/end/@ when the gesture is no longer recognized.
+
+
+== Event propagation
+
+In order to receive events, a gesture needs to either set a propagation phase
+through 'GI.Gtk.Objects.EventController.eventControllerSetPropagationPhase', or feed those manually
+through 'GI.Gtk.Objects.EventController.eventControllerHandleEvent'.
+
+In the capture phase, events are propagated from the toplevel down to the
+target widget, and gestures that are attached to containers above the widget
+get a chance to interact with the event before it reaches the target.
+
+After the capture phase, GTK+ emits the traditional 'GI.Gtk.Objects.Widget.Widget'::@/button-press-event/@,
+'GI.Gtk.Objects.Widget.Widget'::@/button-release-event/@, 'GI.Gtk.Objects.Widget.Widget'::@/touch-event/@, etc signals. Gestures
+with the 'GI.Gtk.Enums.PropagationPhaseTarget' phase are fed events from the default 'GI.Gtk.Objects.Widget.Widget'::@/event/@
+handlers.
+
+In the bubble phase, events are propagated up from the target widget to the
+toplevel, and gestures that are attached to containers above the widget get
+a chance to interact with events that have not been handled yet.
+
+## States of a sequence # {@/touch/@-sequence-states}
+
+Whenever input interaction happens, a single event may trigger a cascade of
+@/GtkGestures/@, both across the parents of the widget receiving the event and
+in parallel within an individual widget. It is a responsibility of the
+widgets using those gestures to set the state of touch sequences accordingly
+in order to enable cooperation of gestures around the @/GdkEventSequences/@
+triggering those.
+
+Within a widget, gestures can be grouped through 'GI.Gtk.Objects.Gesture.gestureGroup',
+grouped gestures synchronize the state of sequences, so calling
+'GI.Gtk.Objects.Gesture.gestureSetSequenceState' on one will effectively propagate
+the state throughout the group.
+
+By default, all sequences start out in the @/GTK_EVENT_SEQUENCE_NONE/@ state,
+sequences in this state trigger the gesture event handler, but event
+propagation will continue unstopped by gestures.
+
+If a sequence enters into the @/GTK_EVENT_SEQUENCE_DENIED/@ state, the gesture
+group will effectively ignore the sequence, letting events go unstopped
+through the gesture, but the \"slot\" will still remain occupied while
+the touch is active.
+
+If a sequence enters in the @/GTK_EVENT_SEQUENCE_CLAIMED/@ state, the gesture
+group will grab all interaction on the sequence, by:
+
+* Setting the same sequence to @/GTK_EVENT_SEQUENCE_DENIED/@ on every other gesture
+group within the widget, and every gesture on parent widgets in the propagation
+chain.
+* calling 'GI.Gtk.Objects.Gesture.Gesture'::@/cancel/@ on every gesture in widgets underneath in the
+propagation chain.
+* Stopping event propagation after the gesture group handles the event.
+
+
+Note: if a sequence is set early to @/GTK_EVENT_SEQUENCE_CLAIMED/@ on
+@/GDK_TOUCH_BEGIN/@\/@/GDK_BUTTON_PRESS/@ (so those events are captured before
+reaching the event widget, this implies @/GTK_PHASE_CAPTURE/@), one similar
+event will emulated if the sequence changes to @/GTK_EVENT_SEQUENCE_DENIED/@.
+This way event coherence is preserved before event propagation is unstopped
+again.
+
+Sequence states can\'t be changed freely, see 'GI.Gtk.Objects.Gesture.gestureSetSequenceState'
+to know about the possible lifetimes of a 'GI.Gdk.Structs.EventSequence.EventSequence'.
+
+== Touchpad gestures
+
+On the platforms that support it, 'GI.Gtk.Objects.Gesture.Gesture' will handle transparently
+touchpad gesture events. The only precautions users of 'GI.Gtk.Objects.Gesture.Gesture' should do
+to enable this support are:
+
+* Enabling 'GI.Gdk.Flags.EventMaskTouchpadGestureMask' on their @/GdkWindows/@
+* If the gesture has 'GI.Gtk.Enums.PropagationPhaseNone', ensuring events of type
+'GI.Gdk.Enums.EventTypeTouchpadSwipe' and 'GI.Gdk.Enums.EventTypeTouchpadPinch' are handled by the 'GI.Gtk.Objects.Gesture.Gesture'
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Gesture
+    ( 
+
+-- * Exported types
+    Gesture(..)                             ,
+    IsGesture                               ,
+    toGesture                               ,
+    noGesture                               ,
+
+
+ -- * Methods
+-- ** getBoundingBox #method:getBoundingBox#
+
+#if ENABLE_OVERLOADING
+    GestureGetBoundingBoxMethodInfo         ,
+#endif
+    gestureGetBoundingBox                   ,
+
+
+-- ** getBoundingBoxCenter #method:getBoundingBoxCenter#
+
+#if ENABLE_OVERLOADING
+    GestureGetBoundingBoxCenterMethodInfo   ,
+#endif
+    gestureGetBoundingBoxCenter             ,
+
+
+-- ** getDevice #method:getDevice#
+
+#if ENABLE_OVERLOADING
+    GestureGetDeviceMethodInfo              ,
+#endif
+    gestureGetDevice                        ,
+
+
+-- ** getGroup #method:getGroup#
+
+#if ENABLE_OVERLOADING
+    GestureGetGroupMethodInfo               ,
+#endif
+    gestureGetGroup                         ,
+
+
+-- ** getLastEvent #method:getLastEvent#
+
+#if ENABLE_OVERLOADING
+    GestureGetLastEventMethodInfo           ,
+#endif
+    gestureGetLastEvent                     ,
+
+
+-- ** getLastUpdatedSequence #method:getLastUpdatedSequence#
+
+#if ENABLE_OVERLOADING
+    GestureGetLastUpdatedSequenceMethodInfo ,
+#endif
+    gestureGetLastUpdatedSequence           ,
+
+
+-- ** getPoint #method:getPoint#
+
+#if ENABLE_OVERLOADING
+    GestureGetPointMethodInfo               ,
+#endif
+    gestureGetPoint                         ,
+
+
+-- ** getSequenceState #method:getSequenceState#
+
+#if ENABLE_OVERLOADING
+    GestureGetSequenceStateMethodInfo       ,
+#endif
+    gestureGetSequenceState                 ,
+
+
+-- ** getSequences #method:getSequences#
+
+#if ENABLE_OVERLOADING
+    GestureGetSequencesMethodInfo           ,
+#endif
+    gestureGetSequences                     ,
+
+
+-- ** getWindow #method:getWindow#
+
+#if ENABLE_OVERLOADING
+    GestureGetWindowMethodInfo              ,
+#endif
+    gestureGetWindow                        ,
+
+
+-- ** group #method:group#
+
+#if ENABLE_OVERLOADING
+    GestureGroupMethodInfo                  ,
+#endif
+    gestureGroup                            ,
+
+
+-- ** handlesSequence #method:handlesSequence#
+
+#if ENABLE_OVERLOADING
+    GestureHandlesSequenceMethodInfo        ,
+#endif
+    gestureHandlesSequence                  ,
+
+
+-- ** isActive #method:isActive#
+
+#if ENABLE_OVERLOADING
+    GestureIsActiveMethodInfo               ,
+#endif
+    gestureIsActive                         ,
+
+
+-- ** isGroupedWith #method:isGroupedWith#
+
+#if ENABLE_OVERLOADING
+    GestureIsGroupedWithMethodInfo          ,
+#endif
+    gestureIsGroupedWith                    ,
+
+
+-- ** isRecognized #method:isRecognized#
+
+#if ENABLE_OVERLOADING
+    GestureIsRecognizedMethodInfo           ,
+#endif
+    gestureIsRecognized                     ,
+
+
+-- ** setSequenceState #method:setSequenceState#
+
+#if ENABLE_OVERLOADING
+    GestureSetSequenceStateMethodInfo       ,
+#endif
+    gestureSetSequenceState                 ,
+
+
+-- ** setState #method:setState#
+
+#if ENABLE_OVERLOADING
+    GestureSetStateMethodInfo               ,
+#endif
+    gestureSetState                         ,
+
+
+-- ** setWindow #method:setWindow#
+
+#if ENABLE_OVERLOADING
+    GestureSetWindowMethodInfo              ,
+#endif
+    gestureSetWindow                        ,
+
+
+-- ** ungroup #method:ungroup#
+
+#if ENABLE_OVERLOADING
+    GestureUngroupMethodInfo                ,
+#endif
+    gestureUngroup                          ,
+
+
+
+
+ -- * Properties
+-- ** nPoints #attr:nPoints#
+{- | The number of touch points that trigger recognition on this gesture,
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    GestureNPointsPropertyInfo              ,
+#endif
+    constructGestureNPoints                 ,
+#if ENABLE_OVERLOADING
+    gestureNPoints                          ,
+#endif
+    getGestureNPoints                       ,
+
+
+-- ** window #attr:window#
+{- | If non-'Nothing', the gesture will only listen for events that happen on
+this 'GI.Gdk.Objects.Window.Window', or a child of it.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    GestureWindowPropertyInfo               ,
+#endif
+    clearGestureWindow                      ,
+    constructGestureWindow                  ,
+#if ENABLE_OVERLOADING
+    gestureWindow                           ,
+#endif
+    getGestureWindow                        ,
+    setGestureWindow                        ,
+
+
+
+
+ -- * Signals
+-- ** begin #signal:begin#
+
+    C_GestureBeginCallback                  ,
+    GestureBeginCallback                    ,
+#if ENABLE_OVERLOADING
+    GestureBeginSignalInfo                  ,
+#endif
+    afterGestureBegin                       ,
+    genClosure_GestureBegin                 ,
+    mk_GestureBeginCallback                 ,
+    noGestureBeginCallback                  ,
+    onGestureBegin                          ,
+    wrap_GestureBeginCallback               ,
+
+
+-- ** cancel #signal:cancel#
+
+    C_GestureCancelCallback                 ,
+    GestureCancelCallback                   ,
+#if ENABLE_OVERLOADING
+    GestureCancelSignalInfo                 ,
+#endif
+    afterGestureCancel                      ,
+    genClosure_GestureCancel                ,
+    mk_GestureCancelCallback                ,
+    noGestureCancelCallback                 ,
+    onGestureCancel                         ,
+    wrap_GestureCancelCallback              ,
+
+
+-- ** end #signal:end#
+
+    C_GestureEndCallback                    ,
+    GestureEndCallback                      ,
+#if ENABLE_OVERLOADING
+    GestureEndSignalInfo                    ,
+#endif
+    afterGestureEnd                         ,
+    genClosure_GestureEnd                   ,
+    mk_GestureEndCallback                   ,
+    noGestureEndCallback                    ,
+    onGestureEnd                            ,
+    wrap_GestureEndCallback                 ,
+
+
+-- ** sequenceStateChanged #signal:sequenceStateChanged#
+
+    C_GestureSequenceStateChangedCallback   ,
+    GestureSequenceStateChangedCallback     ,
+#if ENABLE_OVERLOADING
+    GestureSequenceStateChangedSignalInfo   ,
+#endif
+    afterGestureSequenceStateChanged        ,
+    genClosure_GestureSequenceStateChanged  ,
+    mk_GestureSequenceStateChangedCallback  ,
+    noGestureSequenceStateChangedCallback   ,
+    onGestureSequenceStateChanged           ,
+    wrap_GestureSequenceStateChangedCallback,
+
+
+-- ** update #signal:update#
+
+    C_GestureUpdateCallback                 ,
+    GestureUpdateCallback                   ,
+#if ENABLE_OVERLOADING
+    GestureUpdateSignalInfo                 ,
+#endif
+    afterGestureUpdate                      ,
+    genClosure_GestureUpdate                ,
+    mk_GestureUpdateCallback                ,
+    noGestureUpdateCallback                 ,
+    onGestureUpdate                         ,
+    wrap_GestureUpdateCallback              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Device as Gdk.Device
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.EventSequence as Gdk.EventSequence
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+
+-- | Memory-managed wrapper type.
+newtype Gesture = Gesture (ManagedPtr Gesture)
+foreign import ccall "gtk_gesture_get_type"
+    c_gtk_gesture_get_type :: IO GType
+
+instance GObject Gesture where
+    gobjectType = c_gtk_gesture_get_type
+    
+
+-- | Type class for types which can be safely cast to `Gesture`, for instance with `toGesture`.
+class (GObject o, O.IsDescendantOf Gesture o) => IsGesture o
+instance (GObject o, O.IsDescendantOf Gesture o) => IsGesture o
+
+instance O.HasParentTypes Gesture
+type instance O.ParentTypes Gesture = '[Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `Gesture`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGesture :: (MonadIO m, IsGesture o) => o -> m Gesture
+toGesture = liftIO . unsafeCastTo Gesture
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Gesture`.
+noGesture :: Maybe Gesture
+noGesture = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGestureMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGestureMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGestureMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGestureMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGestureMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGestureMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGestureMethod "group" o = GestureGroupMethodInfo
+    ResolveGestureMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGestureMethod "handlesSequence" o = GestureHandlesSequenceMethodInfo
+    ResolveGestureMethod "isActive" o = GestureIsActiveMethodInfo
+    ResolveGestureMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGestureMethod "isGroupedWith" o = GestureIsGroupedWithMethodInfo
+    ResolveGestureMethod "isRecognized" o = GestureIsRecognizedMethodInfo
+    ResolveGestureMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGestureMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGestureMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGestureMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGestureMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGestureMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGestureMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGestureMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGestureMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGestureMethod "ungroup" o = GestureUngroupMethodInfo
+    ResolveGestureMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGestureMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGestureMethod "getBoundingBox" o = GestureGetBoundingBoxMethodInfo
+    ResolveGestureMethod "getBoundingBoxCenter" o = GestureGetBoundingBoxCenterMethodInfo
+    ResolveGestureMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGestureMethod "getDevice" o = GestureGetDeviceMethodInfo
+    ResolveGestureMethod "getGroup" o = GestureGetGroupMethodInfo
+    ResolveGestureMethod "getLastEvent" o = GestureGetLastEventMethodInfo
+    ResolveGestureMethod "getLastUpdatedSequence" o = GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGestureMethod "getPoint" o = GestureGetPointMethodInfo
+    ResolveGestureMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGestureMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGestureMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGestureMethod "getSequenceState" o = GestureGetSequenceStateMethodInfo
+    ResolveGestureMethod "getSequences" o = GestureGetSequencesMethodInfo
+    ResolveGestureMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGestureMethod "getWindow" o = GestureGetWindowMethodInfo
+    ResolveGestureMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGestureMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGestureMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGestureMethod "setSequenceState" o = GestureSetSequenceStateMethodInfo
+    ResolveGestureMethod "setState" o = GestureSetStateMethodInfo
+    ResolveGestureMethod "setWindow" o = GestureSetWindowMethodInfo
+    ResolveGestureMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGestureMethod t Gesture, O.MethodInfo info Gesture p) => OL.IsLabel t (Gesture -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Gesture::begin
+{- |
+This signal is emitted when the gesture is recognized. This means the
+number of touch sequences matches 'GI.Gtk.Objects.Gesture.Gesture':@/n-points/@, and the 'GI.Gtk.Objects.Gesture.Gesture'::@/check/@
+handler(s) returned @/TRUE/@.
+
+Note: These conditions may also happen when an extra touch (eg. a third touch
+on a 2-touches gesture) is lifted, in that situation /@sequence@/ won\'t pertain
+to the current set of active touches, so don\'t rely on this being true.
+
+/Since: 3.14/
+-}
+type GestureBeginCallback =
+    Gdk.EventSequence.EventSequence
+    {- ^ /@sequence@/: the 'GI.Gdk.Structs.EventSequence.EventSequence' that made the gesture to be recognized -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureBeginCallback`@.
+noGestureBeginCallback :: Maybe GestureBeginCallback
+noGestureBeginCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureBeginCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventSequence.EventSequence ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureBeginCallback`.
+foreign import ccall "wrapper"
+    mk_GestureBeginCallback :: C_GestureBeginCallback -> IO (FunPtr C_GestureBeginCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureBegin :: MonadIO m => GestureBeginCallback -> m (GClosure C_GestureBeginCallback)
+genClosure_GestureBegin cb = liftIO $ do
+    let cb' = wrap_GestureBeginCallback cb
+    mk_GestureBeginCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureBeginCallback` into a `C_GestureBeginCallback`.
+wrap_GestureBeginCallback ::
+    GestureBeginCallback ->
+    C_GestureBeginCallback
+wrap_GestureBeginCallback _cb _ sequence _ = do
+    B.ManagedPtr.withTransient Gdk.EventSequence.EventSequence sequence $ \sequence' -> do
+        _cb  sequence'
+
+
+{- |
+Connect a signal handler for the “@begin@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gesture #begin callback
+@
+-}
+onGestureBegin :: (IsGesture a, MonadIO m) => a -> GestureBeginCallback -> m SignalHandlerId
+onGestureBegin obj cb = liftIO $ do
+    let cb' = wrap_GestureBeginCallback cb
+    cb'' <- mk_GestureBeginCallback cb'
+    connectSignalFunPtr obj "begin" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@begin@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gesture #begin callback
+@
+-}
+afterGestureBegin :: (IsGesture a, MonadIO m) => a -> GestureBeginCallback -> m SignalHandlerId
+afterGestureBegin obj cb = liftIO $ do
+    let cb' = wrap_GestureBeginCallback cb
+    cb'' <- mk_GestureBeginCallback cb'
+    connectSignalFunPtr obj "begin" cb'' SignalConnectAfter
+
+
+-- signal Gesture::cancel
+{- |
+This signal is emitted whenever a sequence is cancelled. This usually
+happens on active touches when 'GI.Gtk.Objects.EventController.eventControllerReset' is called
+on /@gesture@/ (manually, due to grabs...), or the individual /@sequence@/
+was claimed by parent widgets\' controllers (see 'GI.Gtk.Objects.Gesture.gestureSetSequenceState').
+
+/@gesture@/ must forget everything about /@sequence@/ as a reaction to this signal.
+
+/Since: 3.14/
+-}
+type GestureCancelCallback =
+    Gdk.EventSequence.EventSequence
+    {- ^ /@sequence@/: the 'GI.Gdk.Structs.EventSequence.EventSequence' that was cancelled -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureCancelCallback`@.
+noGestureCancelCallback :: Maybe GestureCancelCallback
+noGestureCancelCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureCancelCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventSequence.EventSequence ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureCancelCallback`.
+foreign import ccall "wrapper"
+    mk_GestureCancelCallback :: C_GestureCancelCallback -> IO (FunPtr C_GestureCancelCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureCancel :: MonadIO m => GestureCancelCallback -> m (GClosure C_GestureCancelCallback)
+genClosure_GestureCancel cb = liftIO $ do
+    let cb' = wrap_GestureCancelCallback cb
+    mk_GestureCancelCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureCancelCallback` into a `C_GestureCancelCallback`.
+wrap_GestureCancelCallback ::
+    GestureCancelCallback ->
+    C_GestureCancelCallback
+wrap_GestureCancelCallback _cb _ sequence _ = do
+    B.ManagedPtr.withTransient Gdk.EventSequence.EventSequence sequence $ \sequence' -> do
+        _cb  sequence'
+
+
+{- |
+Connect a signal handler for the “@cancel@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gesture #cancel callback
+@
+-}
+onGestureCancel :: (IsGesture a, MonadIO m) => a -> GestureCancelCallback -> m SignalHandlerId
+onGestureCancel obj cb = liftIO $ do
+    let cb' = wrap_GestureCancelCallback cb
+    cb'' <- mk_GestureCancelCallback cb'
+    connectSignalFunPtr obj "cancel" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cancel@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gesture #cancel callback
+@
+-}
+afterGestureCancel :: (IsGesture a, MonadIO m) => a -> GestureCancelCallback -> m SignalHandlerId
+afterGestureCancel obj cb = liftIO $ do
+    let cb' = wrap_GestureCancelCallback cb
+    cb'' <- mk_GestureCancelCallback cb'
+    connectSignalFunPtr obj "cancel" cb'' SignalConnectAfter
+
+
+-- signal Gesture::end
+{- |
+This signal is emitted when /@gesture@/ either stopped recognizing the event
+sequences as something to be handled (the 'GI.Gtk.Objects.Gesture.Gesture'::@/check/@ handler returned
+'False'), or the number of touch sequences became higher or lower than
+'GI.Gtk.Objects.Gesture.Gesture':@/n-points/@.
+
+Note: /@sequence@/ might not pertain to the group of sequences that were
+previously triggering recognition on /@gesture@/ (ie. a just pressed touch
+sequence that exceeds 'GI.Gtk.Objects.Gesture.Gesture':@/n-points/@). This situation may be detected
+by checking through 'GI.Gtk.Objects.Gesture.gestureHandlesSequence'.
+
+/Since: 3.14/
+-}
+type GestureEndCallback =
+    Gdk.EventSequence.EventSequence
+    {- ^ /@sequence@/: the 'GI.Gdk.Structs.EventSequence.EventSequence' that made gesture recognition to finish -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureEndCallback`@.
+noGestureEndCallback :: Maybe GestureEndCallback
+noGestureEndCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureEndCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventSequence.EventSequence ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureEndCallback`.
+foreign import ccall "wrapper"
+    mk_GestureEndCallback :: C_GestureEndCallback -> IO (FunPtr C_GestureEndCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureEnd :: MonadIO m => GestureEndCallback -> m (GClosure C_GestureEndCallback)
+genClosure_GestureEnd cb = liftIO $ do
+    let cb' = wrap_GestureEndCallback cb
+    mk_GestureEndCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureEndCallback` into a `C_GestureEndCallback`.
+wrap_GestureEndCallback ::
+    GestureEndCallback ->
+    C_GestureEndCallback
+wrap_GestureEndCallback _cb _ sequence _ = do
+    B.ManagedPtr.withTransient Gdk.EventSequence.EventSequence sequence $ \sequence' -> do
+        _cb  sequence'
+
+
+{- |
+Connect a signal handler for the “@end@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gesture #end callback
+@
+-}
+onGestureEnd :: (IsGesture a, MonadIO m) => a -> GestureEndCallback -> m SignalHandlerId
+onGestureEnd obj cb = liftIO $ do
+    let cb' = wrap_GestureEndCallback cb
+    cb'' <- mk_GestureEndCallback cb'
+    connectSignalFunPtr obj "end" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@end@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gesture #end callback
+@
+-}
+afterGestureEnd :: (IsGesture a, MonadIO m) => a -> GestureEndCallback -> m SignalHandlerId
+afterGestureEnd obj cb = liftIO $ do
+    let cb' = wrap_GestureEndCallback cb
+    cb'' <- mk_GestureEndCallback cb'
+    connectSignalFunPtr obj "end" cb'' SignalConnectAfter
+
+
+-- signal Gesture::sequence-state-changed
+{- |
+This signal is emitted whenever a sequence state changes. See
+'GI.Gtk.Objects.Gesture.gestureSetSequenceState' to know more about the expectable
+sequence lifetimes.
+
+/Since: 3.14/
+-}
+type GestureSequenceStateChangedCallback =
+    Gdk.EventSequence.EventSequence
+    {- ^ /@sequence@/: the 'GI.Gdk.Structs.EventSequence.EventSequence' that was cancelled -}
+    -> Gtk.Enums.EventSequenceState
+    {- ^ /@state@/: the new sequence state -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureSequenceStateChangedCallback`@.
+noGestureSequenceStateChangedCallback :: Maybe GestureSequenceStateChangedCallback
+noGestureSequenceStateChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureSequenceStateChangedCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventSequence.EventSequence ->
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureSequenceStateChangedCallback`.
+foreign import ccall "wrapper"
+    mk_GestureSequenceStateChangedCallback :: C_GestureSequenceStateChangedCallback -> IO (FunPtr C_GestureSequenceStateChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureSequenceStateChanged :: MonadIO m => GestureSequenceStateChangedCallback -> m (GClosure C_GestureSequenceStateChangedCallback)
+genClosure_GestureSequenceStateChanged cb = liftIO $ do
+    let cb' = wrap_GestureSequenceStateChangedCallback cb
+    mk_GestureSequenceStateChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureSequenceStateChangedCallback` into a `C_GestureSequenceStateChangedCallback`.
+wrap_GestureSequenceStateChangedCallback ::
+    GestureSequenceStateChangedCallback ->
+    C_GestureSequenceStateChangedCallback
+wrap_GestureSequenceStateChangedCallback _cb _ sequence state _ = do
+    B.ManagedPtr.withTransient Gdk.EventSequence.EventSequence sequence $ \sequence' -> do
+        let state' = (toEnum . fromIntegral) state
+        _cb  sequence' state'
+
+
+{- |
+Connect a signal handler for the “@sequence-state-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gesture #sequenceStateChanged callback
+@
+-}
+onGestureSequenceStateChanged :: (IsGesture a, MonadIO m) => a -> GestureSequenceStateChangedCallback -> m SignalHandlerId
+onGestureSequenceStateChanged obj cb = liftIO $ do
+    let cb' = wrap_GestureSequenceStateChangedCallback cb
+    cb'' <- mk_GestureSequenceStateChangedCallback cb'
+    connectSignalFunPtr obj "sequence-state-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@sequence-state-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gesture #sequenceStateChanged callback
+@
+-}
+afterGestureSequenceStateChanged :: (IsGesture a, MonadIO m) => a -> GestureSequenceStateChangedCallback -> m SignalHandlerId
+afterGestureSequenceStateChanged obj cb = liftIO $ do
+    let cb' = wrap_GestureSequenceStateChangedCallback cb
+    cb'' <- mk_GestureSequenceStateChangedCallback cb'
+    connectSignalFunPtr obj "sequence-state-changed" cb'' SignalConnectAfter
+
+
+-- signal Gesture::update
+{- |
+This signal is emitted whenever an event is handled while the gesture is
+recognized. /@sequence@/ is guaranteed to pertain to the set of active touches.
+
+/Since: 3.14/
+-}
+type GestureUpdateCallback =
+    Gdk.EventSequence.EventSequence
+    {- ^ /@sequence@/: the 'GI.Gdk.Structs.EventSequence.EventSequence' that was updated -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureUpdateCallback`@.
+noGestureUpdateCallback :: Maybe GestureUpdateCallback
+noGestureUpdateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureUpdateCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventSequence.EventSequence ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureUpdateCallback`.
+foreign import ccall "wrapper"
+    mk_GestureUpdateCallback :: C_GestureUpdateCallback -> IO (FunPtr C_GestureUpdateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureUpdate :: MonadIO m => GestureUpdateCallback -> m (GClosure C_GestureUpdateCallback)
+genClosure_GestureUpdate cb = liftIO $ do
+    let cb' = wrap_GestureUpdateCallback cb
+    mk_GestureUpdateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureUpdateCallback` into a `C_GestureUpdateCallback`.
+wrap_GestureUpdateCallback ::
+    GestureUpdateCallback ->
+    C_GestureUpdateCallback
+wrap_GestureUpdateCallback _cb _ sequence _ = do
+    B.ManagedPtr.withTransient Gdk.EventSequence.EventSequence sequence $ \sequence' -> do
+        _cb  sequence'
+
+
+{- |
+Connect a signal handler for the “@update@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gesture #update callback
+@
+-}
+onGestureUpdate :: (IsGesture a, MonadIO m) => a -> GestureUpdateCallback -> m SignalHandlerId
+onGestureUpdate obj cb = liftIO $ do
+    let cb' = wrap_GestureUpdateCallback cb
+    cb'' <- mk_GestureUpdateCallback cb'
+    connectSignalFunPtr obj "update" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@update@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gesture #update callback
+@
+-}
+afterGestureUpdate :: (IsGesture a, MonadIO m) => a -> GestureUpdateCallback -> m SignalHandlerId
+afterGestureUpdate obj cb = liftIO $ do
+    let cb' = wrap_GestureUpdateCallback cb
+    cb'' <- mk_GestureUpdateCallback cb'
+    connectSignalFunPtr obj "update" cb'' SignalConnectAfter
+
+
+-- VVV Prop "n-points"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@n-points@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gesture #nPoints
+@
+-}
+getGestureNPoints :: (MonadIO m, IsGesture o) => o -> m Word32
+getGestureNPoints obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "n-points"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@n-points@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGestureNPoints :: (IsGesture o) => Word32 -> IO (GValueConstruct o)
+constructGestureNPoints val = B.Properties.constructObjectPropertyUInt32 "n-points" val
+
+#if ENABLE_OVERLOADING
+data GestureNPointsPropertyInfo
+instance AttrInfo GestureNPointsPropertyInfo where
+    type AttrAllowedOps GestureNPointsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GestureNPointsPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint GestureNPointsPropertyInfo = IsGesture
+    type AttrGetType GestureNPointsPropertyInfo = Word32
+    type AttrLabel GestureNPointsPropertyInfo = "n-points"
+    type AttrOrigin GestureNPointsPropertyInfo = Gesture
+    attrGet _ = getGestureNPoints
+    attrSet _ = undefined
+    attrConstruct _ = constructGestureNPoints
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "window"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Window"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@window@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gesture #window
+@
+-}
+getGestureWindow :: (MonadIO m, IsGesture o) => o -> m (Maybe Gdk.Window.Window)
+getGestureWindow obj = liftIO $ B.Properties.getObjectPropertyObject obj "window" Gdk.Window.Window
+
+{- |
+Set the value of the “@window@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gesture [ #window 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGestureWindow :: (MonadIO m, IsGesture o, Gdk.Window.IsWindow a) => o -> a -> m ()
+setGestureWindow obj val = liftIO $ B.Properties.setObjectPropertyObject obj "window" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@window@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGestureWindow :: (IsGesture o, Gdk.Window.IsWindow a) => a -> IO (GValueConstruct o)
+constructGestureWindow val = B.Properties.constructObjectPropertyObject "window" (Just val)
+
+{- |
+Set the value of the “@window@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #window
+@
+-}
+clearGestureWindow :: (MonadIO m, IsGesture o) => o -> m ()
+clearGestureWindow obj = liftIO $ B.Properties.setObjectPropertyObject obj "window" (Nothing :: Maybe Gdk.Window.Window)
+
+#if ENABLE_OVERLOADING
+data GestureWindowPropertyInfo
+instance AttrInfo GestureWindowPropertyInfo where
+    type AttrAllowedOps GestureWindowPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint GestureWindowPropertyInfo = Gdk.Window.IsWindow
+    type AttrBaseTypeConstraint GestureWindowPropertyInfo = IsGesture
+    type AttrGetType GestureWindowPropertyInfo = (Maybe Gdk.Window.Window)
+    type AttrLabel GestureWindowPropertyInfo = "window"
+    type AttrOrigin GestureWindowPropertyInfo = Gesture
+    attrGet _ = getGestureWindow
+    attrSet _ = setGestureWindow
+    attrConstruct _ = constructGestureWindow
+    attrClear _ = clearGestureWindow
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Gesture
+type instance O.AttributeList Gesture = GestureAttributeList
+type GestureAttributeList = ('[ '("nPoints", GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+gestureNPoints :: AttrLabelProxy "nPoints"
+gestureNPoints = AttrLabelProxy
+
+gestureWindow :: AttrLabelProxy "window"
+gestureWindow = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data GestureBeginSignalInfo
+instance SignalInfo GestureBeginSignalInfo where
+    type HaskellCallbackType GestureBeginSignalInfo = GestureBeginCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureBeginCallback cb
+        cb'' <- mk_GestureBeginCallback cb'
+        connectSignalFunPtr obj "begin" cb'' connectMode
+
+data GestureCancelSignalInfo
+instance SignalInfo GestureCancelSignalInfo where
+    type HaskellCallbackType GestureCancelSignalInfo = GestureCancelCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureCancelCallback cb
+        cb'' <- mk_GestureCancelCallback cb'
+        connectSignalFunPtr obj "cancel" cb'' connectMode
+
+data GestureEndSignalInfo
+instance SignalInfo GestureEndSignalInfo where
+    type HaskellCallbackType GestureEndSignalInfo = GestureEndCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureEndCallback cb
+        cb'' <- mk_GestureEndCallback cb'
+        connectSignalFunPtr obj "end" cb'' connectMode
+
+data GestureSequenceStateChangedSignalInfo
+instance SignalInfo GestureSequenceStateChangedSignalInfo where
+    type HaskellCallbackType GestureSequenceStateChangedSignalInfo = GestureSequenceStateChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureSequenceStateChangedCallback cb
+        cb'' <- mk_GestureSequenceStateChangedCallback cb'
+        connectSignalFunPtr obj "sequence-state-changed" cb'' connectMode
+
+data GestureUpdateSignalInfo
+instance SignalInfo GestureUpdateSignalInfo where
+    type HaskellCallbackType GestureUpdateSignalInfo = GestureUpdateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureUpdateCallback cb
+        cb'' <- mk_GestureUpdateCallback cb'
+        connectSignalFunPtr obj "update" cb'' connectMode
+
+type instance O.SignalList Gesture = GestureSignalList
+type GestureSignalList = ('[ '("begin", GestureBeginSignalInfo), '("cancel", GestureCancelSignalInfo), '("end", GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("sequenceStateChanged", GestureSequenceStateChangedSignalInfo), '("update", GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Gesture::get_bounding_box
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bounding box containing all active touches.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_bounding_box" gtk_gesture_get_bounding_box :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO CInt
+
+{- |
+If there are touch sequences being currently handled by /@gesture@/,
+this function returns 'True' and fills in /@rect@/ with the bounding
+box containing all active touches. Otherwise, 'False' will be
+returned.
+
+Note: This function will yield unexpected results on touchpad
+gestures. Since there is no correlation between physical and
+pixel distances, these will look as if constrained in an
+infinitely small area, /@rect@/ width and height will thus be 0
+regardless of the number of touchpoints.
+
+/Since: 3.14/
+-}
+gestureGetBoundingBox ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m ((Bool, Gdk.Rectangle.Rectangle))
+    {- ^ __Returns:__ 'True' if there are active touches, 'False' otherwise -}
+gestureGetBoundingBox gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    result <- gtk_gesture_get_bounding_box gesture' rect
+    let result' = (/= 0) result
+    rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect
+    touchManagedPtr gesture
+    return (result', rect')
+
+#if ENABLE_OVERLOADING
+data GestureGetBoundingBoxMethodInfo
+instance (signature ~ (m ((Bool, Gdk.Rectangle.Rectangle))), MonadIO m, IsGesture a) => O.MethodInfo GestureGetBoundingBoxMethodInfo a signature where
+    overloadedMethod _ = gestureGetBoundingBox
+
+#endif
+
+-- method Gesture::get_bounding_box_center
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate for the bounding box center", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate for the bounding box center", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_bounding_box_center" gtk_gesture_get_bounding_box_center :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr CDouble ->                          -- x : TBasicType TDouble
+    Ptr CDouble ->                          -- y : TBasicType TDouble
+    IO CInt
+
+{- |
+If there are touch sequences being currently handled by /@gesture@/,
+this function returns 'True' and fills in /@x@/ and /@y@/ with the center
+of the bounding box containing all active touches. Otherwise, 'False'
+will be returned.
+
+/Since: 3.14/
+-}
+gestureGetBoundingBoxCenter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m ((Bool, Double, Double))
+    {- ^ __Returns:__ 'False' if no active touches are present, 'True' otherwise -}
+gestureGetBoundingBoxCenter gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    x <- allocMem :: IO (Ptr CDouble)
+    y <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_gesture_get_bounding_box_center gesture' x y
+    let result' = (/= 0) result
+    x' <- peek x
+    let x'' = realToFrac x'
+    y' <- peek y
+    let y'' = realToFrac y'
+    touchManagedPtr gesture
+    freeMem x
+    freeMem y
+    return (result', x'', y'')
+
+#if ENABLE_OVERLOADING
+data GestureGetBoundingBoxCenterMethodInfo
+instance (signature ~ (m ((Bool, Double, Double))), MonadIO m, IsGesture a) => O.MethodInfo GestureGetBoundingBoxCenterMethodInfo a signature where
+    overloadedMethod _ = gestureGetBoundingBoxCenter
+
+#endif
+
+-- method Gesture::get_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Device"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_device" gtk_gesture_get_device :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO (Ptr Gdk.Device.Device)
+
+{- |
+Returns the master 'GI.Gdk.Objects.Device.Device' that is currently operating
+on /@gesture@/, or 'Nothing' if the gesture is not being interacted.
+
+/Since: 3.14/
+-}
+gestureGetDevice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m (Maybe Gdk.Device.Device)
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Device.Device', or 'Nothing' -}
+gestureGetDevice gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_get_device gesture'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Device.Device) result'
+        return result''
+    touchManagedPtr gesture
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data GestureGetDeviceMethodInfo
+instance (signature ~ (m (Maybe Gdk.Device.Device)), MonadIO m, IsGesture a) => O.MethodInfo GestureGetDeviceMethodInfo a signature where
+    overloadedMethod _ = gestureGetDevice
+
+#endif
+
+-- method Gesture::get_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Gesture"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_group" gtk_gesture_get_group :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO (Ptr (GList (Ptr Gesture)))
+
+{- |
+Returns all gestures in the group of /@gesture@/
+
+/Since: 3.14/
+-}
+gestureGetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m [Gesture]
+    {- ^ __Returns:__ The list
+  of @/GtkGestures/@, free with @/g_list_free()/@ -}
+gestureGetGroup gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_get_group gesture'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gesture) result'
+    g_list_free result
+    touchManagedPtr gesture
+    return result''
+
+#if ENABLE_OVERLOADING
+data GestureGetGroupMethodInfo
+instance (signature ~ (m [Gesture]), MonadIO m, IsGesture a) => O.MethodInfo GestureGetGroupMethodInfo a signature where
+    overloadedMethod _ = gestureGetGroup
+
+#endif
+
+-- method Gesture::get_last_event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sequence", argType = TInterface (Name {namespace = "Gdk", name = "EventSequence"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkEventSequence", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Event"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_last_event" gtk_gesture_get_last_event :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr Gdk.EventSequence.EventSequence ->  -- sequence : TInterface (Name {namespace = "Gdk", name = "EventSequence"})
+    IO (Ptr Gdk.Event.Event)
+
+{- |
+Returns the last event that was processed for /@sequence@/.
+
+Note that the returned pointer is only valid as long as the /@sequence@/
+is still interpreted by the /@gesture@/. If in doubt, you should make
+a copy of the event.
+-}
+gestureGetLastEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> Maybe (Gdk.EventSequence.EventSequence)
+    {- ^ /@sequence@/: a 'GI.Gdk.Structs.EventSequence.EventSequence' -}
+    -> m (Maybe Gdk.Event.Event)
+    {- ^ __Returns:__ The last event from /@sequence@/ -}
+gestureGetLastEvent gesture sequence = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    maybeSequence <- case sequence of
+        Nothing -> return nullPtr
+        Just jSequence -> do
+            jSequence' <- unsafeManagedPtrGetPtr jSequence
+            return jSequence'
+    result <- gtk_gesture_get_last_event gesture' maybeSequence
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Gdk.Event.Event) result'
+        return result''
+    touchManagedPtr gesture
+    whenJust sequence touchManagedPtr
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data GestureGetLastEventMethodInfo
+instance (signature ~ (Maybe (Gdk.EventSequence.EventSequence) -> m (Maybe Gdk.Event.Event)), MonadIO m, IsGesture a) => O.MethodInfo GestureGetLastEventMethodInfo a signature where
+    overloadedMethod _ = gestureGetLastEvent
+
+#endif
+
+-- method Gesture::get_last_updated_sequence
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "EventSequence"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_last_updated_sequence" gtk_gesture_get_last_updated_sequence :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO (Ptr Gdk.EventSequence.EventSequence)
+
+{- |
+Returns the 'GI.Gdk.Structs.EventSequence.EventSequence' that was last updated on /@gesture@/.
+
+/Since: 3.14/
+-}
+gestureGetLastUpdatedSequence ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m (Maybe Gdk.EventSequence.EventSequence)
+    {- ^ __Returns:__ The last updated sequence -}
+gestureGetLastUpdatedSequence gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_get_last_updated_sequence gesture'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Gdk.EventSequence.EventSequence) result'
+        return result''
+    touchManagedPtr gesture
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data GestureGetLastUpdatedSequenceMethodInfo
+instance (signature ~ (m (Maybe Gdk.EventSequence.EventSequence)), MonadIO m, IsGesture a) => O.MethodInfo GestureGetLastUpdatedSequenceMethodInfo a signature where
+    overloadedMethod _ = gestureGetLastUpdatedSequence
+
+#endif
+
+-- method Gesture::get_point
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sequence", argType = TInterface (Name {namespace = "Gdk", name = "EventSequence"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkEventSequence, or %NULL for pointer events", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X axis of the sequence coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y axis of the sequence coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_point" gtk_gesture_get_point :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr Gdk.EventSequence.EventSequence ->  -- sequence : TInterface (Name {namespace = "Gdk", name = "EventSequence"})
+    Ptr CDouble ->                          -- x : TBasicType TDouble
+    Ptr CDouble ->                          -- y : TBasicType TDouble
+    IO CInt
+
+{- |
+If /@sequence@/ is currently being interpreted by /@gesture@/, this
+function returns 'True' and fills in /@x@/ and /@y@/ with the last coordinates
+stored for that event sequence. The coordinates are always relative to the
+widget allocation.
+
+/Since: 3.14/
+-}
+gestureGetPoint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> Maybe (Gdk.EventSequence.EventSequence)
+    {- ^ /@sequence@/: a 'GI.Gdk.Structs.EventSequence.EventSequence', or 'Nothing' for pointer events -}
+    -> m ((Bool, Double, Double))
+    {- ^ __Returns:__ 'True' if /@sequence@/ is currently interpreted -}
+gestureGetPoint gesture sequence = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    maybeSequence <- case sequence of
+        Nothing -> return nullPtr
+        Just jSequence -> do
+            jSequence' <- unsafeManagedPtrGetPtr jSequence
+            return jSequence'
+    x <- allocMem :: IO (Ptr CDouble)
+    y <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_gesture_get_point gesture' maybeSequence x y
+    let result' = (/= 0) result
+    x' <- peek x
+    let x'' = realToFrac x'
+    y' <- peek y
+    let y'' = realToFrac y'
+    touchManagedPtr gesture
+    whenJust sequence touchManagedPtr
+    freeMem x
+    freeMem y
+    return (result', x'', y'')
+
+#if ENABLE_OVERLOADING
+data GestureGetPointMethodInfo
+instance (signature ~ (Maybe (Gdk.EventSequence.EventSequence) -> m ((Bool, Double, Double))), MonadIO m, IsGesture a) => O.MethodInfo GestureGetPointMethodInfo a signature where
+    overloadedMethod _ = gestureGetPoint
+
+#endif
+
+-- method Gesture::get_sequence_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sequence", argType = TInterface (Name {namespace = "Gdk", name = "EventSequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEventSequence", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "EventSequenceState"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_sequence_state" gtk_gesture_get_sequence_state :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr Gdk.EventSequence.EventSequence ->  -- sequence : TInterface (Name {namespace = "Gdk", name = "EventSequence"})
+    IO CUInt
+
+{- |
+Returns the /@sequence@/ state, as seen by /@gesture@/.
+
+/Since: 3.14/
+-}
+gestureGetSequenceState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> Gdk.EventSequence.EventSequence
+    {- ^ /@sequence@/: a 'GI.Gdk.Structs.EventSequence.EventSequence' -}
+    -> m Gtk.Enums.EventSequenceState
+    {- ^ __Returns:__ The sequence state in /@gesture@/ -}
+gestureGetSequenceState gesture sequence = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    sequence' <- unsafeManagedPtrGetPtr sequence
+    result <- gtk_gesture_get_sequence_state gesture' sequence'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr gesture
+    touchManagedPtr sequence
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureGetSequenceStateMethodInfo
+instance (signature ~ (Gdk.EventSequence.EventSequence -> m Gtk.Enums.EventSequenceState), MonadIO m, IsGesture a) => O.MethodInfo GestureGetSequenceStateMethodInfo a signature where
+    overloadedMethod _ = gestureGetSequenceState
+
+#endif
+
+-- method Gesture::get_sequences
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gdk", name = "EventSequence"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_sequences" gtk_gesture_get_sequences :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO (Ptr (GList (Ptr Gdk.EventSequence.EventSequence)))
+
+{- |
+Returns the list of @/GdkEventSequences/@ currently being interpreted
+by /@gesture@/.
+
+/Since: 3.14/
+-}
+gestureGetSequences ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m [Gdk.EventSequence.EventSequence]
+    {- ^ __Returns:__ A list
+         of @/GdkEventSequences/@, the list elements are owned by GTK+
+         and must not be freed or modified, the list itself must be deleted
+         through @/g_list_free()/@ -}
+gestureGetSequences gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_get_sequences gesture'
+    result' <- unpackGList result
+    result'' <- mapM (newBoxed Gdk.EventSequence.EventSequence) result'
+    g_list_free result
+    touchManagedPtr gesture
+    return result''
+
+#if ENABLE_OVERLOADING
+data GestureGetSequencesMethodInfo
+instance (signature ~ (m [Gdk.EventSequence.EventSequence]), MonadIO m, IsGesture a) => O.MethodInfo GestureGetSequencesMethodInfo a signature where
+    overloadedMethod _ = gestureGetSequences
+
+#endif
+
+-- method Gesture::get_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_get_window" gtk_gesture_get_window :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Returns the user-defined window that receives the events
+handled by /@gesture@/. See 'GI.Gtk.Objects.Gesture.gestureSetWindow' for more
+information.
+
+/Since: 3.14/
+-}
+gestureGetWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m (Maybe Gdk.Window.Window)
+    {- ^ __Returns:__ the user defined window, or 'Nothing' if none -}
+gestureGetWindow gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_get_window gesture'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Window.Window) result'
+        return result''
+    touchManagedPtr gesture
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data GestureGetWindowMethodInfo
+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsGesture a) => O.MethodInfo GestureGetWindowMethodInfo a signature where
+    overloadedMethod _ = gestureGetWindow
+
+#endif
+
+-- method Gesture::group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group_gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkGesture to group @gesture with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_group" gtk_gesture_group :: 
+    Ptr Gesture ->                          -- group_gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO ()
+
+{- |
+Adds /@gesture@/ to the same group than /@groupGesture@/. Gestures
+are by default isolated in their own groups.
+
+When gestures are grouped, the state of @/GdkEventSequences/@
+is kept in sync for all of those, so calling 'GI.Gtk.Objects.Gesture.gestureSetSequenceState',
+on one will transfer the same value to the others.
+
+Groups also perform an \"implicit grabbing\" of sequences, if a
+'GI.Gdk.Structs.EventSequence.EventSequence' state is set to @/GTK_EVENT_SEQUENCE_CLAIMED/@ on one group,
+every other gesture group attached to the same 'GI.Gtk.Objects.Widget.Widget' will switch the
+state for that sequence to @/GTK_EVENT_SEQUENCE_DENIED/@.
+
+/Since: 3.14/
+-}
+gestureGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a, IsGesture b) =>
+    a
+    {- ^ /@groupGesture@/: 'GI.Gtk.Objects.Gesture.Gesture' to group /@gesture@/ with -}
+    -> b
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m ()
+gestureGroup groupGesture gesture = liftIO $ do
+    groupGesture' <- unsafeManagedPtrCastPtr groupGesture
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    gtk_gesture_group groupGesture' gesture'
+    touchManagedPtr groupGesture
+    touchManagedPtr gesture
+    return ()
+
+#if ENABLE_OVERLOADING
+data GestureGroupMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsGesture a, IsGesture b) => O.MethodInfo GestureGroupMethodInfo a signature where
+    overloadedMethod _ = gestureGroup
+
+#endif
+
+-- method Gesture::handles_sequence
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sequence", argType = TInterface (Name {namespace = "Gdk", name = "EventSequence"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkEventSequence or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_handles_sequence" gtk_gesture_handles_sequence :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr Gdk.EventSequence.EventSequence ->  -- sequence : TInterface (Name {namespace = "Gdk", name = "EventSequence"})
+    IO CInt
+
+{- |
+Returns 'True' if /@gesture@/ is currently handling events corresponding to
+/@sequence@/.
+
+/Since: 3.14/
+-}
+gestureHandlesSequence ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> Maybe (Gdk.EventSequence.EventSequence)
+    {- ^ /@sequence@/: a 'GI.Gdk.Structs.EventSequence.EventSequence' or 'Nothing' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@gesture@/ is handling /@sequence@/, 'False' otherwise -}
+gestureHandlesSequence gesture sequence = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    maybeSequence <- case sequence of
+        Nothing -> return nullPtr
+        Just jSequence -> do
+            jSequence' <- unsafeManagedPtrGetPtr jSequence
+            return jSequence'
+    result <- gtk_gesture_handles_sequence gesture' maybeSequence
+    let result' = (/= 0) result
+    touchManagedPtr gesture
+    whenJust sequence touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureHandlesSequenceMethodInfo
+instance (signature ~ (Maybe (Gdk.EventSequence.EventSequence) -> m Bool), MonadIO m, IsGesture a) => O.MethodInfo GestureHandlesSequenceMethodInfo a signature where
+    overloadedMethod _ = gestureHandlesSequence
+
+#endif
+
+-- method Gesture::is_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_is_active" gtk_gesture_is_active :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO CInt
+
+{- |
+Returns 'True' if the gesture is currently active.
+A gesture is active meanwhile there are touch sequences
+interacting with it.
+
+/Since: 3.14/
+-}
+gestureIsActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if gesture is active -}
+gestureIsActive gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_is_active gesture'
+    let result' = (/= 0) result
+    touchManagedPtr gesture
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureIsActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGesture a) => O.MethodInfo GestureIsActiveMethodInfo a signature where
+    overloadedMethod _ = gestureIsActive
+
+#endif
+
+-- method Gesture::is_grouped_with
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "other", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_is_grouped_with" gtk_gesture_is_grouped_with :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr Gesture ->                          -- other : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO CInt
+
+{- |
+Returns 'True' if both gestures pertain to the same group.
+
+/Since: 3.14/
+-}
+gestureIsGroupedWith ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a, IsGesture b) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> b
+    {- ^ /@other@/: another 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the gestures are grouped -}
+gestureIsGroupedWith gesture other = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    other' <- unsafeManagedPtrCastPtr other
+    result <- gtk_gesture_is_grouped_with gesture' other'
+    let result' = (/= 0) result
+    touchManagedPtr gesture
+    touchManagedPtr other
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureIsGroupedWithMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsGesture a, IsGesture b) => O.MethodInfo GestureIsGroupedWithMethodInfo a signature where
+    overloadedMethod _ = gestureIsGroupedWith
+
+#endif
+
+-- method Gesture::is_recognized
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_is_recognized" gtk_gesture_is_recognized :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO CInt
+
+{- |
+Returns 'True' if the gesture is currently recognized.
+A gesture is recognized if there are as many interacting
+touch sequences as required by /@gesture@/, and 'GI.Gtk.Objects.Gesture.Gesture'::@/check/@
+returned 'True' for the sequences being currently interpreted.
+
+/Since: 3.14/
+-}
+gestureIsRecognized ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if gesture is recognized -}
+gestureIsRecognized gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_is_recognized gesture'
+    let result' = (/= 0) result
+    touchManagedPtr gesture
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureIsRecognizedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGesture a) => O.MethodInfo GestureIsRecognizedMethodInfo a signature where
+    overloadedMethod _ = gestureIsRecognized
+
+#endif
+
+-- method Gesture::set_sequence_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sequence", argType = TInterface (Name {namespace = "Gdk", name = "EventSequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEventSequence", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "EventSequenceState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sequence state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_set_sequence_state" gtk_gesture_set_sequence_state :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr Gdk.EventSequence.EventSequence ->  -- sequence : TInterface (Name {namespace = "Gdk", name = "EventSequence"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "EventSequenceState"})
+    IO CInt
+
+{- |
+Sets the state of /@sequence@/ in /@gesture@/. Sequences start
+in state @/GTK_EVENT_SEQUENCE_NONE/@, and whenever they change
+state, they can never go back to that state. Likewise,
+sequences in state @/GTK_EVENT_SEQUENCE_DENIED/@ cannot turn
+back to a not denied state. With these rules, the lifetime
+of an event sequence is constrained to the next four:
+
+* None
+* None → Denied
+* None → Claimed
+* None → Claimed → Denied
+
+Note: Due to event handling ordering, it may be unsafe to
+set the state on another gesture within a 'GI.Gtk.Objects.Gesture.Gesture'::@/begin/@
+signal handler, as the callback might be executed before
+the other gesture knows about the sequence. A safe way to
+perform this could be:
+
+>
+>static void
+>first_gesture_begin_cb (GtkGesture       *first_gesture,
+>                        GdkEventSequence *sequence,
+>                        gpointer          user_data)
+>{
+>  gtk_gesture_set_sequence_state (first_gesture, sequence, GTK_EVENT_SEQUENCE_CLAIMED);
+>  gtk_gesture_set_sequence_state (second_gesture, sequence, GTK_EVENT_SEQUENCE_DENIED);
+>}
+>
+>static void
+>second_gesture_begin_cb (GtkGesture       *second_gesture,
+>                         GdkEventSequence *sequence,
+>                         gpointer          user_data)
+>{
+>  if (gtk_gesture_get_sequence_state (first_gesture, sequence) == GTK_EVENT_SEQUENCE_CLAIMED)
+>    gtk_gesture_set_sequence_state (second_gesture, sequence, GTK_EVENT_SEQUENCE_DENIED);
+>}
+
+
+If both gestures are in the same group, just set the state on
+the gesture emitting the event, the sequence will be already
+be initialized to the group\'s global state when the second
+gesture processes the event.
+
+/Since: 3.14/
+-}
+gestureSetSequenceState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> Gdk.EventSequence.EventSequence
+    {- ^ /@sequence@/: a 'GI.Gdk.Structs.EventSequence.EventSequence' -}
+    -> Gtk.Enums.EventSequenceState
+    {- ^ /@state@/: the sequence state -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@sequence@/ is handled by /@gesture@/,
+         and the state is changed successfully -}
+gestureSetSequenceState gesture sequence state = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    sequence' <- unsafeManagedPtrGetPtr sequence
+    let state' = (fromIntegral . fromEnum) state
+    result <- gtk_gesture_set_sequence_state gesture' sequence' state'
+    let result' = (/= 0) result
+    touchManagedPtr gesture
+    touchManagedPtr sequence
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureSetSequenceStateMethodInfo
+instance (signature ~ (Gdk.EventSequence.EventSequence -> Gtk.Enums.EventSequenceState -> m Bool), MonadIO m, IsGesture a) => O.MethodInfo GestureSetSequenceStateMethodInfo a signature where
+    overloadedMethod _ = gestureSetSequenceState
+
+#endif
+
+-- method Gesture::set_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "EventSequenceState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sequence state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_set_state" gtk_gesture_set_state :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "EventSequenceState"})
+    IO CInt
+
+{- |
+Sets the state of all sequences that /@gesture@/ is currently
+interacting with. See 'GI.Gtk.Objects.Gesture.gestureSetSequenceState'
+for more details on sequence states.
+
+/Since: 3.14/
+-}
+gestureSetState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> Gtk.Enums.EventSequenceState
+    {- ^ /@state@/: the sequence state -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the state of at least one sequence
+    was changed successfully -}
+gestureSetState gesture state = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    let state' = (fromIntegral . fromEnum) state
+    result <- gtk_gesture_set_state gesture' state'
+    let result' = (/= 0) result
+    touchManagedPtr gesture
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureSetStateMethodInfo
+instance (signature ~ (Gtk.Enums.EventSequenceState -> m Bool), MonadIO m, IsGesture a) => O.MethodInfo GestureSetStateMethodInfo a signature where
+    overloadedMethod _ = gestureSetState
+
+#endif
+
+-- method Gesture::set_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkWindow, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_set_window" gtk_gesture_set_window :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO ()
+
+{- |
+Sets a specific window to receive events about, so /@gesture@/
+will effectively handle only events targeting /@window@/, or
+a child of it. /@window@/ must pertain to 'GI.Gtk.Objects.EventController.eventControllerGetWidget'.
+
+/Since: 3.14/
+-}
+gestureSetWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> Maybe (b)
+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window', or 'Nothing' -}
+    -> m ()
+gestureSetWindow gesture window = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    maybeWindow <- case window of
+        Nothing -> return nullPtr
+        Just jWindow -> do
+            jWindow' <- unsafeManagedPtrCastPtr jWindow
+            return jWindow'
+    gtk_gesture_set_window gesture' maybeWindow
+    touchManagedPtr gesture
+    whenJust window touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data GestureSetWindowMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsGesture a, Gdk.Window.IsWindow b) => O.MethodInfo GestureSetWindowMethodInfo a signature where
+    overloadedMethod _ = gestureSetWindow
+
+#endif
+
+-- method Gesture::ungroup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "Gesture"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_ungroup" gtk_gesture_ungroup :: 
+    Ptr Gesture ->                          -- gesture : TInterface (Name {namespace = "Gtk", name = "Gesture"})
+    IO ()
+
+{- |
+Separates /@gesture@/ into an isolated group.
+
+/Since: 3.14/
+-}
+gestureUngroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesture a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m ()
+gestureUngroup gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    gtk_gesture_ungroup gesture'
+    touchManagedPtr gesture
+    return ()
+
+#if ENABLE_OVERLOADING
+data GestureUngroupMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsGesture a) => O.MethodInfo GestureUngroupMethodInfo a signature where
+    overloadedMethod _ = gestureUngroup
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Gesture.hs-boot b/GI/Gtk/Objects/Gesture.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Gesture.hs-boot
@@ -0,0 +1,107 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Gesture where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Gesture = Gesture (ManagedPtr Gesture)
+instance GObject Gesture where
+class (GObject o, O.IsDescendantOf Gesture o) => IsGesture o
+instance (GObject o, O.IsDescendantOf Gesture o) => IsGesture o
+instance O.HasParentTypes Gesture
+#if ENABLE_OVERLOADING
+data GestureNPointsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureWindowPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureBeginSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureCancelSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureEndSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSequenceStateChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureUpdateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetBoundingBoxMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetBoundingBoxCenterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetDeviceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetLastEventMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetLastUpdatedSequenceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetPointMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetSequenceStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetSequencesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGetWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureHandlesSequenceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureIsActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureIsGroupedWithMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureIsRecognizedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSetSequenceStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSetWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureUngroupMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/GestureDrag.hs b/GI/Gtk/Objects/GestureDrag.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureDrag.hs
@@ -0,0 +1,617 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GestureDrag.GestureDrag' is a 'GI.Gtk.Objects.Gesture.Gesture' implementation that recognizes drag
+operations. The drag operation itself can be tracked throught the
+'GI.Gtk.Objects.GestureDrag.GestureDrag'::@/drag-begin/@, 'GI.Gtk.Objects.GestureDrag.GestureDrag'::@/drag-update/@ and
+'GI.Gtk.Objects.GestureDrag.GestureDrag'::@/drag-end/@ signals, or the relevant coordinates be
+extracted through 'GI.Gtk.Objects.GestureDrag.gestureDragGetOffset' and
+'GI.Gtk.Objects.GestureDrag.gestureDragGetStartPoint'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GestureDrag
+    ( 
+
+-- * Exported types
+    GestureDrag(..)                         ,
+    IsGestureDrag                           ,
+    toGestureDrag                           ,
+    noGestureDrag                           ,
+
+
+ -- * Methods
+-- ** getOffset #method:getOffset#
+
+#if ENABLE_OVERLOADING
+    GestureDragGetOffsetMethodInfo          ,
+#endif
+    gestureDragGetOffset                    ,
+
+
+-- ** getStartPoint #method:getStartPoint#
+
+#if ENABLE_OVERLOADING
+    GestureDragGetStartPointMethodInfo      ,
+#endif
+    gestureDragGetStartPoint                ,
+
+
+-- ** new #method:new#
+
+    gestureDragNew                          ,
+
+
+
+
+ -- * Signals
+-- ** dragBegin #signal:dragBegin#
+
+    C_GestureDragDragBeginCallback          ,
+    GestureDragDragBeginCallback            ,
+#if ENABLE_OVERLOADING
+    GestureDragDragBeginSignalInfo          ,
+#endif
+    afterGestureDragDragBegin               ,
+    genClosure_GestureDragDragBegin         ,
+    mk_GestureDragDragBeginCallback         ,
+    noGestureDragDragBeginCallback          ,
+    onGestureDragDragBegin                  ,
+    wrap_GestureDragDragBeginCallback       ,
+
+
+-- ** dragEnd #signal:dragEnd#
+
+    C_GestureDragDragEndCallback            ,
+    GestureDragDragEndCallback              ,
+#if ENABLE_OVERLOADING
+    GestureDragDragEndSignalInfo            ,
+#endif
+    afterGestureDragDragEnd                 ,
+    genClosure_GestureDragDragEnd           ,
+    mk_GestureDragDragEndCallback           ,
+    noGestureDragDragEndCallback            ,
+    onGestureDragDragEnd                    ,
+    wrap_GestureDragDragEndCallback         ,
+
+
+-- ** dragUpdate #signal:dragUpdate#
+
+    C_GestureDragDragUpdateCallback         ,
+    GestureDragDragUpdateCallback           ,
+#if ENABLE_OVERLOADING
+    GestureDragDragUpdateSignalInfo         ,
+#endif
+    afterGestureDragDragUpdate              ,
+    genClosure_GestureDragDragUpdate        ,
+    mk_GestureDragDragUpdateCallback        ,
+    noGestureDragDragUpdateCallback         ,
+    onGestureDragDragUpdate                 ,
+    wrap_GestureDragDragUpdateCallback      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
+import {-# SOURCE #-} qualified GI.Gtk.Objects.GestureSingle as Gtk.GestureSingle
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype GestureDrag = GestureDrag (ManagedPtr GestureDrag)
+foreign import ccall "gtk_gesture_drag_get_type"
+    c_gtk_gesture_drag_get_type :: IO GType
+
+instance GObject GestureDrag where
+    gobjectType = c_gtk_gesture_drag_get_type
+    
+
+-- | Type class for types which can be safely cast to `GestureDrag`, for instance with `toGestureDrag`.
+class (GObject o, O.IsDescendantOf GestureDrag o) => IsGestureDrag o
+instance (GObject o, O.IsDescendantOf GestureDrag o) => IsGestureDrag o
+
+instance O.HasParentTypes GestureDrag
+type instance O.ParentTypes GestureDrag = '[Gtk.GestureSingle.GestureSingle, Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `GestureDrag`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGestureDrag :: (MonadIO m, IsGestureDrag o) => o -> m GestureDrag
+toGestureDrag = liftIO . unsafeCastTo GestureDrag
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GestureDrag`.
+noGestureDrag :: Maybe GestureDrag
+noGestureDrag = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGestureDragMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGestureDragMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGestureDragMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGestureDragMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGestureDragMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGestureDragMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGestureDragMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
+    ResolveGestureDragMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGestureDragMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
+    ResolveGestureDragMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
+    ResolveGestureDragMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGestureDragMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
+    ResolveGestureDragMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
+    ResolveGestureDragMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGestureDragMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGestureDragMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGestureDragMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGestureDragMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGestureDragMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGestureDragMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGestureDragMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGestureDragMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGestureDragMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
+    ResolveGestureDragMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGestureDragMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGestureDragMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
+    ResolveGestureDragMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
+    ResolveGestureDragMethod "getButton" o = Gtk.GestureSingle.GestureSingleGetButtonMethodInfo
+    ResolveGestureDragMethod "getCurrentButton" o = Gtk.GestureSingle.GestureSingleGetCurrentButtonMethodInfo
+    ResolveGestureDragMethod "getCurrentSequence" o = Gtk.GestureSingle.GestureSingleGetCurrentSequenceMethodInfo
+    ResolveGestureDragMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGestureDragMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
+    ResolveGestureDragMethod "getExclusive" o = Gtk.GestureSingle.GestureSingleGetExclusiveMethodInfo
+    ResolveGestureDragMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
+    ResolveGestureDragMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
+    ResolveGestureDragMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGestureDragMethod "getOffset" o = GestureDragGetOffsetMethodInfo
+    ResolveGestureDragMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
+    ResolveGestureDragMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGestureDragMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGestureDragMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGestureDragMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
+    ResolveGestureDragMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
+    ResolveGestureDragMethod "getStartPoint" o = GestureDragGetStartPointMethodInfo
+    ResolveGestureDragMethod "getTouchOnly" o = Gtk.GestureSingle.GestureSingleGetTouchOnlyMethodInfo
+    ResolveGestureDragMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGestureDragMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
+    ResolveGestureDragMethod "setButton" o = Gtk.GestureSingle.GestureSingleSetButtonMethodInfo
+    ResolveGestureDragMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGestureDragMethod "setExclusive" o = Gtk.GestureSingle.GestureSingleSetExclusiveMethodInfo
+    ResolveGestureDragMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGestureDragMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGestureDragMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
+    ResolveGestureDragMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
+    ResolveGestureDragMethod "setTouchOnly" o = Gtk.GestureSingle.GestureSingleSetTouchOnlyMethodInfo
+    ResolveGestureDragMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
+    ResolveGestureDragMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGestureDragMethod t GestureDrag, O.MethodInfo info GestureDrag p) => OL.IsLabel t (GestureDrag -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal GestureDrag::drag-begin
+{- |
+This signal is emitted whenever dragging starts.
+
+/Since: 3.14/
+-}
+type GestureDragDragBeginCallback =
+    Double
+    {- ^ /@startX@/: X coordinate, relative to the widget allocation -}
+    -> Double
+    {- ^ /@startY@/: Y coordinate, relative to the widget allocation -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureDragDragBeginCallback`@.
+noGestureDragDragBeginCallback :: Maybe GestureDragDragBeginCallback
+noGestureDragDragBeginCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureDragDragBeginCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureDragDragBeginCallback`.
+foreign import ccall "wrapper"
+    mk_GestureDragDragBeginCallback :: C_GestureDragDragBeginCallback -> IO (FunPtr C_GestureDragDragBeginCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureDragDragBegin :: MonadIO m => GestureDragDragBeginCallback -> m (GClosure C_GestureDragDragBeginCallback)
+genClosure_GestureDragDragBegin cb = liftIO $ do
+    let cb' = wrap_GestureDragDragBeginCallback cb
+    mk_GestureDragDragBeginCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureDragDragBeginCallback` into a `C_GestureDragDragBeginCallback`.
+wrap_GestureDragDragBeginCallback ::
+    GestureDragDragBeginCallback ->
+    C_GestureDragDragBeginCallback
+wrap_GestureDragDragBeginCallback _cb _ startX startY _ = do
+    let startX' = realToFrac startX
+    let startY' = realToFrac startY
+    _cb  startX' startY'
+
+
+{- |
+Connect a signal handler for the “@drag-begin@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureDrag #dragBegin callback
+@
+-}
+onGestureDragDragBegin :: (IsGestureDrag a, MonadIO m) => a -> GestureDragDragBeginCallback -> m SignalHandlerId
+onGestureDragDragBegin obj cb = liftIO $ do
+    let cb' = wrap_GestureDragDragBeginCallback cb
+    cb'' <- mk_GestureDragDragBeginCallback cb'
+    connectSignalFunPtr obj "drag-begin" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-begin@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureDrag #dragBegin callback
+@
+-}
+afterGestureDragDragBegin :: (IsGestureDrag a, MonadIO m) => a -> GestureDragDragBeginCallback -> m SignalHandlerId
+afterGestureDragDragBegin obj cb = liftIO $ do
+    let cb' = wrap_GestureDragDragBeginCallback cb
+    cb'' <- mk_GestureDragDragBeginCallback cb'
+    connectSignalFunPtr obj "drag-begin" cb'' SignalConnectAfter
+
+
+-- signal GestureDrag::drag-end
+{- |
+This signal is emitted whenever the dragging is finished.
+
+/Since: 3.14/
+-}
+type GestureDragDragEndCallback =
+    Double
+    {- ^ /@offsetX@/: X offset, relative to the start point -}
+    -> Double
+    {- ^ /@offsetY@/: Y offset, relative to the start point -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureDragDragEndCallback`@.
+noGestureDragDragEndCallback :: Maybe GestureDragDragEndCallback
+noGestureDragDragEndCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureDragDragEndCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureDragDragEndCallback`.
+foreign import ccall "wrapper"
+    mk_GestureDragDragEndCallback :: C_GestureDragDragEndCallback -> IO (FunPtr C_GestureDragDragEndCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureDragDragEnd :: MonadIO m => GestureDragDragEndCallback -> m (GClosure C_GestureDragDragEndCallback)
+genClosure_GestureDragDragEnd cb = liftIO $ do
+    let cb' = wrap_GestureDragDragEndCallback cb
+    mk_GestureDragDragEndCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureDragDragEndCallback` into a `C_GestureDragDragEndCallback`.
+wrap_GestureDragDragEndCallback ::
+    GestureDragDragEndCallback ->
+    C_GestureDragDragEndCallback
+wrap_GestureDragDragEndCallback _cb _ offsetX offsetY _ = do
+    let offsetX' = realToFrac offsetX
+    let offsetY' = realToFrac offsetY
+    _cb  offsetX' offsetY'
+
+
+{- |
+Connect a signal handler for the “@drag-end@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureDrag #dragEnd callback
+@
+-}
+onGestureDragDragEnd :: (IsGestureDrag a, MonadIO m) => a -> GestureDragDragEndCallback -> m SignalHandlerId
+onGestureDragDragEnd obj cb = liftIO $ do
+    let cb' = wrap_GestureDragDragEndCallback cb
+    cb'' <- mk_GestureDragDragEndCallback cb'
+    connectSignalFunPtr obj "drag-end" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-end@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureDrag #dragEnd callback
+@
+-}
+afterGestureDragDragEnd :: (IsGestureDrag a, MonadIO m) => a -> GestureDragDragEndCallback -> m SignalHandlerId
+afterGestureDragDragEnd obj cb = liftIO $ do
+    let cb' = wrap_GestureDragDragEndCallback cb
+    cb'' <- mk_GestureDragDragEndCallback cb'
+    connectSignalFunPtr obj "drag-end" cb'' SignalConnectAfter
+
+
+-- signal GestureDrag::drag-update
+{- |
+This signal is emitted whenever the dragging point moves.
+
+/Since: 3.14/
+-}
+type GestureDragDragUpdateCallback =
+    Double
+    {- ^ /@offsetX@/: X offset, relative to the start point -}
+    -> Double
+    {- ^ /@offsetY@/: Y offset, relative to the start point -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureDragDragUpdateCallback`@.
+noGestureDragDragUpdateCallback :: Maybe GestureDragDragUpdateCallback
+noGestureDragDragUpdateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureDragDragUpdateCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureDragDragUpdateCallback`.
+foreign import ccall "wrapper"
+    mk_GestureDragDragUpdateCallback :: C_GestureDragDragUpdateCallback -> IO (FunPtr C_GestureDragDragUpdateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureDragDragUpdate :: MonadIO m => GestureDragDragUpdateCallback -> m (GClosure C_GestureDragDragUpdateCallback)
+genClosure_GestureDragDragUpdate cb = liftIO $ do
+    let cb' = wrap_GestureDragDragUpdateCallback cb
+    mk_GestureDragDragUpdateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureDragDragUpdateCallback` into a `C_GestureDragDragUpdateCallback`.
+wrap_GestureDragDragUpdateCallback ::
+    GestureDragDragUpdateCallback ->
+    C_GestureDragDragUpdateCallback
+wrap_GestureDragDragUpdateCallback _cb _ offsetX offsetY _ = do
+    let offsetX' = realToFrac offsetX
+    let offsetY' = realToFrac offsetY
+    _cb  offsetX' offsetY'
+
+
+{- |
+Connect a signal handler for the “@drag-update@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureDrag #dragUpdate callback
+@
+-}
+onGestureDragDragUpdate :: (IsGestureDrag a, MonadIO m) => a -> GestureDragDragUpdateCallback -> m SignalHandlerId
+onGestureDragDragUpdate obj cb = liftIO $ do
+    let cb' = wrap_GestureDragDragUpdateCallback cb
+    cb'' <- mk_GestureDragDragUpdateCallback cb'
+    connectSignalFunPtr obj "drag-update" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-update@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureDrag #dragUpdate callback
+@
+-}
+afterGestureDragDragUpdate :: (IsGestureDrag a, MonadIO m) => a -> GestureDragDragUpdateCallback -> m SignalHandlerId
+afterGestureDragDragUpdate obj cb = liftIO $ do
+    let cb' = wrap_GestureDragDragUpdateCallback cb
+    cb'' <- mk_GestureDragDragUpdateCallback cb'
+    connectSignalFunPtr obj "drag-update" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GestureDrag
+type instance O.AttributeList GestureDrag = GestureDragAttributeList
+type GestureDragAttributeList = ('[ '("button", Gtk.GestureSingle.GestureSingleButtonPropertyInfo), '("exclusive", Gtk.GestureSingle.GestureSingleExclusivePropertyInfo), '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("touchOnly", Gtk.GestureSingle.GestureSingleTouchOnlyPropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data GestureDragDragBeginSignalInfo
+instance SignalInfo GestureDragDragBeginSignalInfo where
+    type HaskellCallbackType GestureDragDragBeginSignalInfo = GestureDragDragBeginCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureDragDragBeginCallback cb
+        cb'' <- mk_GestureDragDragBeginCallback cb'
+        connectSignalFunPtr obj "drag-begin" cb'' connectMode
+
+data GestureDragDragEndSignalInfo
+instance SignalInfo GestureDragDragEndSignalInfo where
+    type HaskellCallbackType GestureDragDragEndSignalInfo = GestureDragDragEndCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureDragDragEndCallback cb
+        cb'' <- mk_GestureDragDragEndCallback cb'
+        connectSignalFunPtr obj "drag-end" cb'' connectMode
+
+data GestureDragDragUpdateSignalInfo
+instance SignalInfo GestureDragDragUpdateSignalInfo where
+    type HaskellCallbackType GestureDragDragUpdateSignalInfo = GestureDragDragUpdateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureDragDragUpdateCallback cb
+        cb'' <- mk_GestureDragDragUpdateCallback cb'
+        connectSignalFunPtr obj "drag-update" cb'' connectMode
+
+type instance O.SignalList GestureDrag = GestureDragSignalList
+type GestureDragSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("dragBegin", GestureDragDragBeginSignalInfo), '("dragEnd", GestureDragDragEndSignalInfo), '("dragUpdate", GestureDragDragUpdateSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GestureDrag::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "GestureDrag"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_drag_new" gtk_gesture_drag_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr GestureDrag)
+
+{- |
+Returns a newly created 'GI.Gtk.Objects.Gesture.Gesture' that recognizes drags.
+
+/Since: 3.14/
+-}
+gestureDragNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m GestureDrag
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.GestureDrag.GestureDrag' -}
+gestureDragNew widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_gesture_drag_new widget'
+    checkUnexpectedReturnNULL "gestureDragNew" result
+    result' <- (wrapObject GestureDrag) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method GestureDrag::get_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureDrag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "X offset for the current point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Y offset for the current point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_drag_get_offset" gtk_gesture_drag_get_offset :: 
+    Ptr GestureDrag ->                      -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureDrag"})
+    Ptr CDouble ->                          -- x : TBasicType TDouble
+    Ptr CDouble ->                          -- y : TBasicType TDouble
+    IO CInt
+
+{- |
+If the /@gesture@/ is active, this function returns 'True' and
+fills in /@x@/ and /@y@/ with the coordinates of the current point,
+as an offset to the starting drag point.
+
+/Since: 3.14/
+-}
+gestureDragGetOffset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureDrag a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m ((Bool, Double, Double))
+    {- ^ __Returns:__ 'True' if the gesture is active -}
+gestureDragGetOffset gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    x <- allocMem :: IO (Ptr CDouble)
+    y <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_gesture_drag_get_offset gesture' x y
+    let result' = (/= 0) result
+    x' <- peek x
+    let x'' = realToFrac x'
+    y' <- peek y
+    let y'' = realToFrac y'
+    touchManagedPtr gesture
+    freeMem x
+    freeMem y
+    return (result', x'', y'')
+
+#if ENABLE_OVERLOADING
+data GestureDragGetOffsetMethodInfo
+instance (signature ~ (m ((Bool, Double, Double))), MonadIO m, IsGestureDrag a) => O.MethodInfo GestureDragGetOffsetMethodInfo a signature where
+    overloadedMethod _ = gestureDragGetOffset
+
+#endif
+
+-- method GestureDrag::get_start_point
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureDrag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGesture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "X coordinate for the drag start point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Y coordinate for the drag start point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_drag_get_start_point" gtk_gesture_drag_get_start_point :: 
+    Ptr GestureDrag ->                      -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureDrag"})
+    Ptr CDouble ->                          -- x : TBasicType TDouble
+    Ptr CDouble ->                          -- y : TBasicType TDouble
+    IO CInt
+
+{- |
+If the /@gesture@/ is active, this function returns 'True'
+and fills in /@x@/ and /@y@/ with the drag start coordinates,
+in window-relative coordinates.
+
+/Since: 3.14/
+-}
+gestureDragGetStartPoint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureDrag a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.Gesture.Gesture' -}
+    -> m ((Bool, Double, Double))
+    {- ^ __Returns:__ 'True' if the gesture is active -}
+gestureDragGetStartPoint gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    x <- allocMem :: IO (Ptr CDouble)
+    y <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_gesture_drag_get_start_point gesture' x y
+    let result' = (/= 0) result
+    x' <- peek x
+    let x'' = realToFrac x'
+    y' <- peek y
+    let y'' = realToFrac y'
+    touchManagedPtr gesture
+    freeMem x
+    freeMem y
+    return (result', x'', y'')
+
+#if ENABLE_OVERLOADING
+data GestureDragGetStartPointMethodInfo
+instance (signature ~ (m ((Bool, Double, Double))), MonadIO m, IsGestureDrag a) => O.MethodInfo GestureDragGetStartPointMethodInfo a signature where
+    overloadedMethod _ = gestureDragGetStartPoint
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/GestureDrag.hs-boot b/GI/Gtk/Objects/GestureDrag.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureDrag.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GestureDrag where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GestureDrag = GestureDrag (ManagedPtr GestureDrag)
+instance GObject GestureDrag where
+class (GObject o, O.IsDescendantOf GestureDrag o) => IsGestureDrag o
+instance (GObject o, O.IsDescendantOf GestureDrag o) => IsGestureDrag o
+instance O.HasParentTypes GestureDrag
+#if ENABLE_OVERLOADING
+data GestureDragDragBeginSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureDragDragEndSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureDragDragUpdateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureDragGetOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureDragGetStartPointMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/GestureLongPress.hs b/GI/Gtk/Objects/GestureLongPress.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureLongPress.hs
@@ -0,0 +1,466 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GestureLongPress.GestureLongPress' is a 'GI.Gtk.Objects.Gesture.Gesture' implementation able to recognize
+long presses, triggering the 'GI.Gtk.Objects.GestureLongPress.GestureLongPress'::@/pressed/@ after the
+timeout is exceeded.
+
+If the touchpoint is lifted before the timeout passes, or if it drifts
+too far of the initial press point, the 'GI.Gtk.Objects.GestureLongPress.GestureLongPress'::@/cancelled/@
+signal will be emitted.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GestureLongPress
+    ( 
+
+-- * Exported types
+    GestureLongPress(..)                    ,
+    IsGestureLongPress                      ,
+    toGestureLongPress                      ,
+    noGestureLongPress                      ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    gestureLongPressNew                     ,
+
+
+
+
+ -- * Properties
+-- ** delayFactor #attr:delayFactor#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    GestureLongPressDelayFactorPropertyInfo ,
+#endif
+    constructGestureLongPressDelayFactor    ,
+#if ENABLE_OVERLOADING
+    gestureLongPressDelayFactor             ,
+#endif
+    getGestureLongPressDelayFactor          ,
+    setGestureLongPressDelayFactor          ,
+
+
+
+
+ -- * Signals
+-- ** cancelled #signal:cancelled#
+
+    C_GestureLongPressCancelledCallback     ,
+    GestureLongPressCancelledCallback       ,
+#if ENABLE_OVERLOADING
+    GestureLongPressCancelledSignalInfo     ,
+#endif
+    afterGestureLongPressCancelled          ,
+    genClosure_GestureLongPressCancelled    ,
+    mk_GestureLongPressCancelledCallback    ,
+    noGestureLongPressCancelledCallback     ,
+    onGestureLongPressCancelled             ,
+    wrap_GestureLongPressCancelledCallback  ,
+
+
+-- ** pressed #signal:pressed#
+
+    C_GestureLongPressPressedCallback       ,
+    GestureLongPressPressedCallback         ,
+#if ENABLE_OVERLOADING
+    GestureLongPressPressedSignalInfo       ,
+#endif
+    afterGestureLongPressPressed            ,
+    genClosure_GestureLongPressPressed      ,
+    mk_GestureLongPressPressedCallback      ,
+    noGestureLongPressPressedCallback       ,
+    onGestureLongPressPressed               ,
+    wrap_GestureLongPressPressedCallback    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
+import {-# SOURCE #-} qualified GI.Gtk.Objects.GestureSingle as Gtk.GestureSingle
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype GestureLongPress = GestureLongPress (ManagedPtr GestureLongPress)
+foreign import ccall "gtk_gesture_long_press_get_type"
+    c_gtk_gesture_long_press_get_type :: IO GType
+
+instance GObject GestureLongPress where
+    gobjectType = c_gtk_gesture_long_press_get_type
+    
+
+-- | Type class for types which can be safely cast to `GestureLongPress`, for instance with `toGestureLongPress`.
+class (GObject o, O.IsDescendantOf GestureLongPress o) => IsGestureLongPress o
+instance (GObject o, O.IsDescendantOf GestureLongPress o) => IsGestureLongPress o
+
+instance O.HasParentTypes GestureLongPress
+type instance O.ParentTypes GestureLongPress = '[Gtk.GestureSingle.GestureSingle, Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `GestureLongPress`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGestureLongPress :: (MonadIO m, IsGestureLongPress o) => o -> m GestureLongPress
+toGestureLongPress = liftIO . unsafeCastTo GestureLongPress
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GestureLongPress`.
+noGestureLongPress :: Maybe GestureLongPress
+noGestureLongPress = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGestureLongPressMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGestureLongPressMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGestureLongPressMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGestureLongPressMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGestureLongPressMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGestureLongPressMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGestureLongPressMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
+    ResolveGestureLongPressMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGestureLongPressMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
+    ResolveGestureLongPressMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
+    ResolveGestureLongPressMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGestureLongPressMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
+    ResolveGestureLongPressMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
+    ResolveGestureLongPressMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGestureLongPressMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGestureLongPressMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGestureLongPressMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGestureLongPressMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGestureLongPressMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGestureLongPressMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGestureLongPressMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGestureLongPressMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGestureLongPressMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
+    ResolveGestureLongPressMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGestureLongPressMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGestureLongPressMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
+    ResolveGestureLongPressMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
+    ResolveGestureLongPressMethod "getButton" o = Gtk.GestureSingle.GestureSingleGetButtonMethodInfo
+    ResolveGestureLongPressMethod "getCurrentButton" o = Gtk.GestureSingle.GestureSingleGetCurrentButtonMethodInfo
+    ResolveGestureLongPressMethod "getCurrentSequence" o = Gtk.GestureSingle.GestureSingleGetCurrentSequenceMethodInfo
+    ResolveGestureLongPressMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGestureLongPressMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
+    ResolveGestureLongPressMethod "getExclusive" o = Gtk.GestureSingle.GestureSingleGetExclusiveMethodInfo
+    ResolveGestureLongPressMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
+    ResolveGestureLongPressMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
+    ResolveGestureLongPressMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGestureLongPressMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
+    ResolveGestureLongPressMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGestureLongPressMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGestureLongPressMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGestureLongPressMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
+    ResolveGestureLongPressMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
+    ResolveGestureLongPressMethod "getTouchOnly" o = Gtk.GestureSingle.GestureSingleGetTouchOnlyMethodInfo
+    ResolveGestureLongPressMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGestureLongPressMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
+    ResolveGestureLongPressMethod "setButton" o = Gtk.GestureSingle.GestureSingleSetButtonMethodInfo
+    ResolveGestureLongPressMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGestureLongPressMethod "setExclusive" o = Gtk.GestureSingle.GestureSingleSetExclusiveMethodInfo
+    ResolveGestureLongPressMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGestureLongPressMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGestureLongPressMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
+    ResolveGestureLongPressMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
+    ResolveGestureLongPressMethod "setTouchOnly" o = Gtk.GestureSingle.GestureSingleSetTouchOnlyMethodInfo
+    ResolveGestureLongPressMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
+    ResolveGestureLongPressMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGestureLongPressMethod t GestureLongPress, O.MethodInfo info GestureLongPress p) => OL.IsLabel t (GestureLongPress -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal GestureLongPress::cancelled
+{- |
+This signal is emitted whenever a press moved too far, or was released
+before 'GI.Gtk.Objects.GestureLongPress.GestureLongPress'::@/pressed/@ happened.
+
+/Since: 3.14/
+-}
+type GestureLongPressCancelledCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureLongPressCancelledCallback`@.
+noGestureLongPressCancelledCallback :: Maybe GestureLongPressCancelledCallback
+noGestureLongPressCancelledCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureLongPressCancelledCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureLongPressCancelledCallback`.
+foreign import ccall "wrapper"
+    mk_GestureLongPressCancelledCallback :: C_GestureLongPressCancelledCallback -> IO (FunPtr C_GestureLongPressCancelledCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureLongPressCancelled :: MonadIO m => GestureLongPressCancelledCallback -> m (GClosure C_GestureLongPressCancelledCallback)
+genClosure_GestureLongPressCancelled cb = liftIO $ do
+    let cb' = wrap_GestureLongPressCancelledCallback cb
+    mk_GestureLongPressCancelledCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureLongPressCancelledCallback` into a `C_GestureLongPressCancelledCallback`.
+wrap_GestureLongPressCancelledCallback ::
+    GestureLongPressCancelledCallback ->
+    C_GestureLongPressCancelledCallback
+wrap_GestureLongPressCancelledCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@cancelled@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureLongPress #cancelled callback
+@
+-}
+onGestureLongPressCancelled :: (IsGestureLongPress a, MonadIO m) => a -> GestureLongPressCancelledCallback -> m SignalHandlerId
+onGestureLongPressCancelled obj cb = liftIO $ do
+    let cb' = wrap_GestureLongPressCancelledCallback cb
+    cb'' <- mk_GestureLongPressCancelledCallback cb'
+    connectSignalFunPtr obj "cancelled" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cancelled@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureLongPress #cancelled callback
+@
+-}
+afterGestureLongPressCancelled :: (IsGestureLongPress a, MonadIO m) => a -> GestureLongPressCancelledCallback -> m SignalHandlerId
+afterGestureLongPressCancelled obj cb = liftIO $ do
+    let cb' = wrap_GestureLongPressCancelledCallback cb
+    cb'' <- mk_GestureLongPressCancelledCallback cb'
+    connectSignalFunPtr obj "cancelled" cb'' SignalConnectAfter
+
+
+-- signal GestureLongPress::pressed
+{- |
+This signal is emitted whenever a press goes unmoved\/unreleased longer than
+what the GTK+ defaults tell.
+
+/Since: 3.14/
+-}
+type GestureLongPressPressedCallback =
+    Double
+    {- ^ /@x@/: the X coordinate where the press happened, relative to the widget allocation -}
+    -> Double
+    {- ^ /@y@/: the Y coordinate where the press happened, relative to the widget allocation -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureLongPressPressedCallback`@.
+noGestureLongPressPressedCallback :: Maybe GestureLongPressPressedCallback
+noGestureLongPressPressedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureLongPressPressedCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureLongPressPressedCallback`.
+foreign import ccall "wrapper"
+    mk_GestureLongPressPressedCallback :: C_GestureLongPressPressedCallback -> IO (FunPtr C_GestureLongPressPressedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureLongPressPressed :: MonadIO m => GestureLongPressPressedCallback -> m (GClosure C_GestureLongPressPressedCallback)
+genClosure_GestureLongPressPressed cb = liftIO $ do
+    let cb' = wrap_GestureLongPressPressedCallback cb
+    mk_GestureLongPressPressedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureLongPressPressedCallback` into a `C_GestureLongPressPressedCallback`.
+wrap_GestureLongPressPressedCallback ::
+    GestureLongPressPressedCallback ->
+    C_GestureLongPressPressedCallback
+wrap_GestureLongPressPressedCallback _cb _ x y _ = do
+    let x' = realToFrac x
+    let y' = realToFrac y
+    _cb  x' y'
+
+
+{- |
+Connect a signal handler for the “@pressed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureLongPress #pressed callback
+@
+-}
+onGestureLongPressPressed :: (IsGestureLongPress a, MonadIO m) => a -> GestureLongPressPressedCallback -> m SignalHandlerId
+onGestureLongPressPressed obj cb = liftIO $ do
+    let cb' = wrap_GestureLongPressPressedCallback cb
+    cb'' <- mk_GestureLongPressPressedCallback cb'
+    connectSignalFunPtr obj "pressed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@pressed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureLongPress #pressed callback
+@
+-}
+afterGestureLongPressPressed :: (IsGestureLongPress a, MonadIO m) => a -> GestureLongPressPressedCallback -> m SignalHandlerId
+afterGestureLongPressPressed obj cb = liftIO $ do
+    let cb' = wrap_GestureLongPressPressedCallback cb
+    cb'' <- mk_GestureLongPressPressedCallback cb'
+    connectSignalFunPtr obj "pressed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "delay-factor"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@delay-factor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gestureLongPress #delayFactor
+@
+-}
+getGestureLongPressDelayFactor :: (MonadIO m, IsGestureLongPress o) => o -> m Double
+getGestureLongPressDelayFactor obj = liftIO $ B.Properties.getObjectPropertyDouble obj "delay-factor"
+
+{- |
+Set the value of the “@delay-factor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gestureLongPress [ #delayFactor 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGestureLongPressDelayFactor :: (MonadIO m, IsGestureLongPress o) => o -> Double -> m ()
+setGestureLongPressDelayFactor obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "delay-factor" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@delay-factor@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGestureLongPressDelayFactor :: (IsGestureLongPress o) => Double -> IO (GValueConstruct o)
+constructGestureLongPressDelayFactor val = B.Properties.constructObjectPropertyDouble "delay-factor" val
+
+#if ENABLE_OVERLOADING
+data GestureLongPressDelayFactorPropertyInfo
+instance AttrInfo GestureLongPressDelayFactorPropertyInfo where
+    type AttrAllowedOps GestureLongPressDelayFactorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GestureLongPressDelayFactorPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint GestureLongPressDelayFactorPropertyInfo = IsGestureLongPress
+    type AttrGetType GestureLongPressDelayFactorPropertyInfo = Double
+    type AttrLabel GestureLongPressDelayFactorPropertyInfo = "delay-factor"
+    type AttrOrigin GestureLongPressDelayFactorPropertyInfo = GestureLongPress
+    attrGet _ = getGestureLongPressDelayFactor
+    attrSet _ = setGestureLongPressDelayFactor
+    attrConstruct _ = constructGestureLongPressDelayFactor
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GestureLongPress
+type instance O.AttributeList GestureLongPress = GestureLongPressAttributeList
+type GestureLongPressAttributeList = ('[ '("button", Gtk.GestureSingle.GestureSingleButtonPropertyInfo), '("delayFactor", GestureLongPressDelayFactorPropertyInfo), '("exclusive", Gtk.GestureSingle.GestureSingleExclusivePropertyInfo), '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("touchOnly", Gtk.GestureSingle.GestureSingleTouchOnlyPropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+gestureLongPressDelayFactor :: AttrLabelProxy "delayFactor"
+gestureLongPressDelayFactor = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data GestureLongPressCancelledSignalInfo
+instance SignalInfo GestureLongPressCancelledSignalInfo where
+    type HaskellCallbackType GestureLongPressCancelledSignalInfo = GestureLongPressCancelledCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureLongPressCancelledCallback cb
+        cb'' <- mk_GestureLongPressCancelledCallback cb'
+        connectSignalFunPtr obj "cancelled" cb'' connectMode
+
+data GestureLongPressPressedSignalInfo
+instance SignalInfo GestureLongPressPressedSignalInfo where
+    type HaskellCallbackType GestureLongPressPressedSignalInfo = GestureLongPressPressedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureLongPressPressedCallback cb
+        cb'' <- mk_GestureLongPressPressedCallback cb'
+        connectSignalFunPtr obj "pressed" cb'' connectMode
+
+type instance O.SignalList GestureLongPress = GestureLongPressSignalList
+type GestureLongPressSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("cancelled", GestureLongPressCancelledSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pressed", GestureLongPressPressedSignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GestureLongPress::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "GestureLongPress"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_long_press_new" gtk_gesture_long_press_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr GestureLongPress)
+
+{- |
+Returns a newly created 'GI.Gtk.Objects.Gesture.Gesture' that recognizes long presses.
+
+/Since: 3.14/
+-}
+gestureLongPressNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m GestureLongPress
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.GestureLongPress.GestureLongPress' -}
+gestureLongPressNew widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_gesture_long_press_new widget'
+    checkUnexpectedReturnNULL "gestureLongPressNew" result
+    result' <- (wrapObject GestureLongPress) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/GestureLongPress.hs-boot b/GI/Gtk/Objects/GestureLongPress.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureLongPress.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GestureLongPress where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GestureLongPress = GestureLongPress (ManagedPtr GestureLongPress)
+instance GObject GestureLongPress where
+class (GObject o, O.IsDescendantOf GestureLongPress o) => IsGestureLongPress o
+instance (GObject o, O.IsDescendantOf GestureLongPress o) => IsGestureLongPress o
+instance O.HasParentTypes GestureLongPress
+#if ENABLE_OVERLOADING
+data GestureLongPressDelayFactorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureLongPressCancelledSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureLongPressPressedSignalInfo
+#endif
diff --git a/GI/Gtk/Objects/GestureMultiPress.hs b/GI/Gtk/Objects/GestureMultiPress.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureMultiPress.hs
@@ -0,0 +1,622 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GestureMultiPress.GestureMultiPress' is a 'GI.Gtk.Objects.Gesture.Gesture' implementation able to recognize
+multiple clicks on a nearby zone, which can be listened for through the
+'GI.Gtk.Objects.GestureMultiPress.GestureMultiPress'::@/pressed/@ signal. Whenever time or distance between
+clicks exceed the GTK+ defaults, 'GI.Gtk.Objects.GestureMultiPress.GestureMultiPress'::@/stopped/@ is emitted,
+and the click counter is reset.
+
+Callers may also restrict the area that is considered valid for a >1
+touch\/button press through 'GI.Gtk.Objects.GestureMultiPress.gestureMultiPressSetArea', so any
+click happening outside that area is considered to be a first click of
+its own.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GestureMultiPress
+    ( 
+
+-- * Exported types
+    GestureMultiPress(..)                   ,
+    IsGestureMultiPress                     ,
+    toGestureMultiPress                     ,
+    noGestureMultiPress                     ,
+
+
+ -- * Methods
+-- ** getArea #method:getArea#
+
+#if ENABLE_OVERLOADING
+    GestureMultiPressGetAreaMethodInfo      ,
+#endif
+    gestureMultiPressGetArea                ,
+
+
+-- ** new #method:new#
+
+    gestureMultiPressNew                    ,
+
+
+-- ** setArea #method:setArea#
+
+#if ENABLE_OVERLOADING
+    GestureMultiPressSetAreaMethodInfo      ,
+#endif
+    gestureMultiPressSetArea                ,
+
+
+
+
+ -- * Signals
+-- ** pressed #signal:pressed#
+
+    C_GestureMultiPressPressedCallback      ,
+    GestureMultiPressPressedCallback        ,
+#if ENABLE_OVERLOADING
+    GestureMultiPressPressedSignalInfo      ,
+#endif
+    afterGestureMultiPressPressed           ,
+    genClosure_GestureMultiPressPressed     ,
+    mk_GestureMultiPressPressedCallback     ,
+    noGestureMultiPressPressedCallback      ,
+    onGestureMultiPressPressed              ,
+    wrap_GestureMultiPressPressedCallback   ,
+
+
+-- ** released #signal:released#
+
+    C_GestureMultiPressReleasedCallback     ,
+    GestureMultiPressReleasedCallback       ,
+#if ENABLE_OVERLOADING
+    GestureMultiPressReleasedSignalInfo     ,
+#endif
+    afterGestureMultiPressReleased          ,
+    genClosure_GestureMultiPressReleased    ,
+    mk_GestureMultiPressReleasedCallback    ,
+    noGestureMultiPressReleasedCallback     ,
+    onGestureMultiPressReleased             ,
+    wrap_GestureMultiPressReleasedCallback  ,
+
+
+-- ** stopped #signal:stopped#
+
+    C_GestureMultiPressStoppedCallback      ,
+    GestureMultiPressStoppedCallback        ,
+#if ENABLE_OVERLOADING
+    GestureMultiPressStoppedSignalInfo      ,
+#endif
+    afterGestureMultiPressStopped           ,
+    genClosure_GestureMultiPressStopped     ,
+    mk_GestureMultiPressStoppedCallback     ,
+    noGestureMultiPressStoppedCallback      ,
+    onGestureMultiPressStopped              ,
+    wrap_GestureMultiPressStoppedCallback   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
+import {-# SOURCE #-} qualified GI.Gtk.Objects.GestureSingle as Gtk.GestureSingle
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype GestureMultiPress = GestureMultiPress (ManagedPtr GestureMultiPress)
+foreign import ccall "gtk_gesture_multi_press_get_type"
+    c_gtk_gesture_multi_press_get_type :: IO GType
+
+instance GObject GestureMultiPress where
+    gobjectType = c_gtk_gesture_multi_press_get_type
+    
+
+-- | Type class for types which can be safely cast to `GestureMultiPress`, for instance with `toGestureMultiPress`.
+class (GObject o, O.IsDescendantOf GestureMultiPress o) => IsGestureMultiPress o
+instance (GObject o, O.IsDescendantOf GestureMultiPress o) => IsGestureMultiPress o
+
+instance O.HasParentTypes GestureMultiPress
+type instance O.ParentTypes GestureMultiPress = '[Gtk.GestureSingle.GestureSingle, Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `GestureMultiPress`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGestureMultiPress :: (MonadIO m, IsGestureMultiPress o) => o -> m GestureMultiPress
+toGestureMultiPress = liftIO . unsafeCastTo GestureMultiPress
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GestureMultiPress`.
+noGestureMultiPress :: Maybe GestureMultiPress
+noGestureMultiPress = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGestureMultiPressMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGestureMultiPressMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGestureMultiPressMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGestureMultiPressMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGestureMultiPressMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGestureMultiPressMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGestureMultiPressMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
+    ResolveGestureMultiPressMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGestureMultiPressMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
+    ResolveGestureMultiPressMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
+    ResolveGestureMultiPressMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGestureMultiPressMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
+    ResolveGestureMultiPressMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
+    ResolveGestureMultiPressMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGestureMultiPressMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGestureMultiPressMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGestureMultiPressMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGestureMultiPressMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGestureMultiPressMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGestureMultiPressMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGestureMultiPressMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGestureMultiPressMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGestureMultiPressMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
+    ResolveGestureMultiPressMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGestureMultiPressMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGestureMultiPressMethod "getArea" o = GestureMultiPressGetAreaMethodInfo
+    ResolveGestureMultiPressMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
+    ResolveGestureMultiPressMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
+    ResolveGestureMultiPressMethod "getButton" o = Gtk.GestureSingle.GestureSingleGetButtonMethodInfo
+    ResolveGestureMultiPressMethod "getCurrentButton" o = Gtk.GestureSingle.GestureSingleGetCurrentButtonMethodInfo
+    ResolveGestureMultiPressMethod "getCurrentSequence" o = Gtk.GestureSingle.GestureSingleGetCurrentSequenceMethodInfo
+    ResolveGestureMultiPressMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGestureMultiPressMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
+    ResolveGestureMultiPressMethod "getExclusive" o = Gtk.GestureSingle.GestureSingleGetExclusiveMethodInfo
+    ResolveGestureMultiPressMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
+    ResolveGestureMultiPressMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
+    ResolveGestureMultiPressMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGestureMultiPressMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
+    ResolveGestureMultiPressMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGestureMultiPressMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGestureMultiPressMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGestureMultiPressMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
+    ResolveGestureMultiPressMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
+    ResolveGestureMultiPressMethod "getTouchOnly" o = Gtk.GestureSingle.GestureSingleGetTouchOnlyMethodInfo
+    ResolveGestureMultiPressMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGestureMultiPressMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
+    ResolveGestureMultiPressMethod "setArea" o = GestureMultiPressSetAreaMethodInfo
+    ResolveGestureMultiPressMethod "setButton" o = Gtk.GestureSingle.GestureSingleSetButtonMethodInfo
+    ResolveGestureMultiPressMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGestureMultiPressMethod "setExclusive" o = Gtk.GestureSingle.GestureSingleSetExclusiveMethodInfo
+    ResolveGestureMultiPressMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGestureMultiPressMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGestureMultiPressMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
+    ResolveGestureMultiPressMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
+    ResolveGestureMultiPressMethod "setTouchOnly" o = Gtk.GestureSingle.GestureSingleSetTouchOnlyMethodInfo
+    ResolveGestureMultiPressMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
+    ResolveGestureMultiPressMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGestureMultiPressMethod t GestureMultiPress, O.MethodInfo info GestureMultiPress p) => OL.IsLabel t (GestureMultiPress -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal GestureMultiPress::pressed
+{- |
+This signal is emitted whenever a button or touch press happens.
+
+/Since: 3.14/
+-}
+type GestureMultiPressPressedCallback =
+    Int32
+    {- ^ /@nPress@/: how many touch\/button presses happened with this one -}
+    -> Double
+    {- ^ /@x@/: The X coordinate, in widget allocation coordinates -}
+    -> Double
+    {- ^ /@y@/: The Y coordinate, in widget allocation coordinates -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureMultiPressPressedCallback`@.
+noGestureMultiPressPressedCallback :: Maybe GestureMultiPressPressedCallback
+noGestureMultiPressPressedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureMultiPressPressedCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureMultiPressPressedCallback`.
+foreign import ccall "wrapper"
+    mk_GestureMultiPressPressedCallback :: C_GestureMultiPressPressedCallback -> IO (FunPtr C_GestureMultiPressPressedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureMultiPressPressed :: MonadIO m => GestureMultiPressPressedCallback -> m (GClosure C_GestureMultiPressPressedCallback)
+genClosure_GestureMultiPressPressed cb = liftIO $ do
+    let cb' = wrap_GestureMultiPressPressedCallback cb
+    mk_GestureMultiPressPressedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureMultiPressPressedCallback` into a `C_GestureMultiPressPressedCallback`.
+wrap_GestureMultiPressPressedCallback ::
+    GestureMultiPressPressedCallback ->
+    C_GestureMultiPressPressedCallback
+wrap_GestureMultiPressPressedCallback _cb _ nPress x y _ = do
+    let x' = realToFrac x
+    let y' = realToFrac y
+    _cb  nPress x' y'
+
+
+{- |
+Connect a signal handler for the “@pressed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureMultiPress #pressed callback
+@
+-}
+onGestureMultiPressPressed :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressPressedCallback -> m SignalHandlerId
+onGestureMultiPressPressed obj cb = liftIO $ do
+    let cb' = wrap_GestureMultiPressPressedCallback cb
+    cb'' <- mk_GestureMultiPressPressedCallback cb'
+    connectSignalFunPtr obj "pressed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@pressed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureMultiPress #pressed callback
+@
+-}
+afterGestureMultiPressPressed :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressPressedCallback -> m SignalHandlerId
+afterGestureMultiPressPressed obj cb = liftIO $ do
+    let cb' = wrap_GestureMultiPressPressedCallback cb
+    cb'' <- mk_GestureMultiPressPressedCallback cb'
+    connectSignalFunPtr obj "pressed" cb'' SignalConnectAfter
+
+
+-- signal GestureMultiPress::released
+{- |
+This signal is emitted when a button or touch is released. /@nPress@/
+will report the number of press that is paired to this event, note
+that 'GI.Gtk.Objects.GestureMultiPress.GestureMultiPress'::@/stopped/@ may have been emitted between the
+press and its release, /@nPress@/ will only start over at the next press.
+
+/Since: 3.14/
+-}
+type GestureMultiPressReleasedCallback =
+    Int32
+    {- ^ /@nPress@/: number of press that is paired with this release -}
+    -> Double
+    {- ^ /@x@/: The X coordinate, in widget allocation coordinates -}
+    -> Double
+    {- ^ /@y@/: The Y coordinate, in widget allocation coordinates -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureMultiPressReleasedCallback`@.
+noGestureMultiPressReleasedCallback :: Maybe GestureMultiPressReleasedCallback
+noGestureMultiPressReleasedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureMultiPressReleasedCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureMultiPressReleasedCallback`.
+foreign import ccall "wrapper"
+    mk_GestureMultiPressReleasedCallback :: C_GestureMultiPressReleasedCallback -> IO (FunPtr C_GestureMultiPressReleasedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureMultiPressReleased :: MonadIO m => GestureMultiPressReleasedCallback -> m (GClosure C_GestureMultiPressReleasedCallback)
+genClosure_GestureMultiPressReleased cb = liftIO $ do
+    let cb' = wrap_GestureMultiPressReleasedCallback cb
+    mk_GestureMultiPressReleasedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureMultiPressReleasedCallback` into a `C_GestureMultiPressReleasedCallback`.
+wrap_GestureMultiPressReleasedCallback ::
+    GestureMultiPressReleasedCallback ->
+    C_GestureMultiPressReleasedCallback
+wrap_GestureMultiPressReleasedCallback _cb _ nPress x y _ = do
+    let x' = realToFrac x
+    let y' = realToFrac y
+    _cb  nPress x' y'
+
+
+{- |
+Connect a signal handler for the “@released@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureMultiPress #released callback
+@
+-}
+onGestureMultiPressReleased :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressReleasedCallback -> m SignalHandlerId
+onGestureMultiPressReleased obj cb = liftIO $ do
+    let cb' = wrap_GestureMultiPressReleasedCallback cb
+    cb'' <- mk_GestureMultiPressReleasedCallback cb'
+    connectSignalFunPtr obj "released" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@released@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureMultiPress #released callback
+@
+-}
+afterGestureMultiPressReleased :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressReleasedCallback -> m SignalHandlerId
+afterGestureMultiPressReleased obj cb = liftIO $ do
+    let cb' = wrap_GestureMultiPressReleasedCallback cb
+    cb'' <- mk_GestureMultiPressReleasedCallback cb'
+    connectSignalFunPtr obj "released" cb'' SignalConnectAfter
+
+
+-- signal GestureMultiPress::stopped
+{- |
+This signal is emitted whenever any time\/distance threshold has
+been exceeded.
+
+/Since: 3.14/
+-}
+type GestureMultiPressStoppedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureMultiPressStoppedCallback`@.
+noGestureMultiPressStoppedCallback :: Maybe GestureMultiPressStoppedCallback
+noGestureMultiPressStoppedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureMultiPressStoppedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureMultiPressStoppedCallback`.
+foreign import ccall "wrapper"
+    mk_GestureMultiPressStoppedCallback :: C_GestureMultiPressStoppedCallback -> IO (FunPtr C_GestureMultiPressStoppedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureMultiPressStopped :: MonadIO m => GestureMultiPressStoppedCallback -> m (GClosure C_GestureMultiPressStoppedCallback)
+genClosure_GestureMultiPressStopped cb = liftIO $ do
+    let cb' = wrap_GestureMultiPressStoppedCallback cb
+    mk_GestureMultiPressStoppedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureMultiPressStoppedCallback` into a `C_GestureMultiPressStoppedCallback`.
+wrap_GestureMultiPressStoppedCallback ::
+    GestureMultiPressStoppedCallback ->
+    C_GestureMultiPressStoppedCallback
+wrap_GestureMultiPressStoppedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@stopped@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureMultiPress #stopped callback
+@
+-}
+onGestureMultiPressStopped :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressStoppedCallback -> m SignalHandlerId
+onGestureMultiPressStopped obj cb = liftIO $ do
+    let cb' = wrap_GestureMultiPressStoppedCallback cb
+    cb'' <- mk_GestureMultiPressStoppedCallback cb'
+    connectSignalFunPtr obj "stopped" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@stopped@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureMultiPress #stopped callback
+@
+-}
+afterGestureMultiPressStopped :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressStoppedCallback -> m SignalHandlerId
+afterGestureMultiPressStopped obj cb = liftIO $ do
+    let cb' = wrap_GestureMultiPressStoppedCallback cb
+    cb'' <- mk_GestureMultiPressStoppedCallback cb'
+    connectSignalFunPtr obj "stopped" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GestureMultiPress
+type instance O.AttributeList GestureMultiPress = GestureMultiPressAttributeList
+type GestureMultiPressAttributeList = ('[ '("button", Gtk.GestureSingle.GestureSingleButtonPropertyInfo), '("exclusive", Gtk.GestureSingle.GestureSingleExclusivePropertyInfo), '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("touchOnly", Gtk.GestureSingle.GestureSingleTouchOnlyPropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data GestureMultiPressPressedSignalInfo
+instance SignalInfo GestureMultiPressPressedSignalInfo where
+    type HaskellCallbackType GestureMultiPressPressedSignalInfo = GestureMultiPressPressedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureMultiPressPressedCallback cb
+        cb'' <- mk_GestureMultiPressPressedCallback cb'
+        connectSignalFunPtr obj "pressed" cb'' connectMode
+
+data GestureMultiPressReleasedSignalInfo
+instance SignalInfo GestureMultiPressReleasedSignalInfo where
+    type HaskellCallbackType GestureMultiPressReleasedSignalInfo = GestureMultiPressReleasedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureMultiPressReleasedCallback cb
+        cb'' <- mk_GestureMultiPressReleasedCallback cb'
+        connectSignalFunPtr obj "released" cb'' connectMode
+
+data GestureMultiPressStoppedSignalInfo
+instance SignalInfo GestureMultiPressStoppedSignalInfo where
+    type HaskellCallbackType GestureMultiPressStoppedSignalInfo = GestureMultiPressStoppedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureMultiPressStoppedCallback cb
+        cb'' <- mk_GestureMultiPressStoppedCallback cb'
+        connectSignalFunPtr obj "stopped" cb'' connectMode
+
+type instance O.SignalList GestureMultiPress = GestureMultiPressSignalList
+type GestureMultiPressSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pressed", GestureMultiPressPressedSignalInfo), '("released", GestureMultiPressReleasedSignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("stopped", GestureMultiPressStoppedSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GestureMultiPress::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "GestureMultiPress"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_multi_press_new" gtk_gesture_multi_press_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr GestureMultiPress)
+
+{- |
+Returns a newly created 'GI.Gtk.Objects.Gesture.Gesture' that recognizes single and multiple
+presses.
+
+/Since: 3.14/
+-}
+gestureMultiPressNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m GestureMultiPress
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.GestureMultiPress.GestureMultiPress' -}
+gestureMultiPressNew widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_gesture_multi_press_new widget'
+    checkUnexpectedReturnNULL "gestureMultiPressNew" result
+    result' <- (wrapObject GestureMultiPress) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method GestureMultiPress::get_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureMultiPress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureMultiPress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the press area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_multi_press_get_area" gtk_gesture_multi_press_get_area :: 
+    Ptr GestureMultiPress ->                -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureMultiPress"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO CInt
+
+{- |
+If an area was set through 'GI.Gtk.Objects.GestureMultiPress.gestureMultiPressSetArea',
+this function will return 'True' and fill in /@rect@/ with the
+press area. See 'GI.Gtk.Objects.GestureMultiPress.gestureMultiPressSetArea' for more
+details on what the press area represents.
+
+/Since: 3.14/
+-}
+gestureMultiPressGetArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureMultiPress a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureMultiPress.GestureMultiPress' -}
+    -> m ((Bool, Gdk.Rectangle.Rectangle))
+    {- ^ __Returns:__ 'True' if /@rect@/ was filled with the press area -}
+gestureMultiPressGetArea gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    result <- gtk_gesture_multi_press_get_area gesture' rect
+    let result' = (/= 0) result
+    rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect
+    touchManagedPtr gesture
+    return (result', rect')
+
+#if ENABLE_OVERLOADING
+data GestureMultiPressGetAreaMethodInfo
+instance (signature ~ (m ((Bool, Gdk.Rectangle.Rectangle))), MonadIO m, IsGestureMultiPress a) => O.MethodInfo GestureMultiPressGetAreaMethodInfo a signature where
+    overloadedMethod _ = gestureMultiPressGetArea
+
+#endif
+
+-- method GestureMultiPress::set_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureMultiPress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureMultiPress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "rectangle to receive coordinates on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_multi_press_set_area" gtk_gesture_multi_press_set_area :: 
+    Ptr GestureMultiPress ->                -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureMultiPress"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+If /@rect@/ is non-'Nothing', the press area will be checked to be
+confined within the rectangle, otherwise the button count
+will be reset so the press is seen as being the first one.
+If /@rect@/ is 'Nothing', the area will be reset to an unrestricted
+state.
+
+Note: The rectangle is only used to determine whether any
+non-first click falls within the expected area. This is not
+akin to an input shape.
+
+/Since: 3.14/
+-}
+gestureMultiPressSetArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureMultiPress a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureMultiPress.GestureMultiPress' -}
+    -> Maybe (Gdk.Rectangle.Rectangle)
+    {- ^ /@rect@/: rectangle to receive coordinates on -}
+    -> m ()
+gestureMultiPressSetArea gesture rect = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    maybeRect <- case rect of
+        Nothing -> return nullPtr
+        Just jRect -> do
+            jRect' <- unsafeManagedPtrGetPtr jRect
+            return jRect'
+    gtk_gesture_multi_press_set_area gesture' maybeRect
+    touchManagedPtr gesture
+    whenJust rect touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data GestureMultiPressSetAreaMethodInfo
+instance (signature ~ (Maybe (Gdk.Rectangle.Rectangle) -> m ()), MonadIO m, IsGestureMultiPress a) => O.MethodInfo GestureMultiPressSetAreaMethodInfo a signature where
+    overloadedMethod _ = gestureMultiPressSetArea
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/GestureMultiPress.hs-boot b/GI/Gtk/Objects/GestureMultiPress.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureMultiPress.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GestureMultiPress where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GestureMultiPress = GestureMultiPress (ManagedPtr GestureMultiPress)
+instance GObject GestureMultiPress where
+class (GObject o, O.IsDescendantOf GestureMultiPress o) => IsGestureMultiPress o
+instance (GObject o, O.IsDescendantOf GestureMultiPress o) => IsGestureMultiPress o
+instance O.HasParentTypes GestureMultiPress
+#if ENABLE_OVERLOADING
+data GestureMultiPressPressedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureMultiPressReleasedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureMultiPressStoppedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureMultiPressGetAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureMultiPressSetAreaMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/GesturePan.hs b/GI/Gtk/Objects/GesturePan.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GesturePan.hs
@@ -0,0 +1,486 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GesturePan.GesturePan' is a 'GI.Gtk.Objects.Gesture.Gesture' implementation able to recognize
+pan gestures, those are drags that are locked to happen along one
+axis. The axis that a 'GI.Gtk.Objects.GesturePan.GesturePan' handles is defined at
+construct time, and can be changed through
+'GI.Gtk.Objects.GesturePan.gesturePanSetOrientation'.
+
+When the gesture starts to be recognized, 'GI.Gtk.Objects.GesturePan.GesturePan' will
+attempt to determine as early as possible whether the sequence
+is moving in the expected direction, and denying the sequence if
+this does not happen.
+
+Once a panning gesture along the expected axis is recognized,
+the 'GI.Gtk.Objects.GesturePan.GesturePan'::@/pan/@ signal will be emitted as input events
+are received, containing the offset in the given axis.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GesturePan
+    ( 
+
+-- * Exported types
+    GesturePan(..)                          ,
+    IsGesturePan                            ,
+    toGesturePan                            ,
+    noGesturePan                            ,
+
+
+ -- * Methods
+-- ** getOrientation #method:getOrientation#
+
+#if ENABLE_OVERLOADING
+    GesturePanGetOrientationMethodInfo      ,
+#endif
+    gesturePanGetOrientation                ,
+
+
+-- ** new #method:new#
+
+    gesturePanNew                           ,
+
+
+-- ** setOrientation #method:setOrientation#
+
+#if ENABLE_OVERLOADING
+    GesturePanSetOrientationMethodInfo      ,
+#endif
+    gesturePanSetOrientation                ,
+
+
+
+
+ -- * Properties
+-- ** orientation #attr:orientation#
+{- | The expected orientation of pan gestures.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    GesturePanOrientationPropertyInfo       ,
+#endif
+    constructGesturePanOrientation          ,
+#if ENABLE_OVERLOADING
+    gesturePanOrientation                   ,
+#endif
+    getGesturePanOrientation                ,
+    setGesturePanOrientation                ,
+
+
+
+
+ -- * Signals
+-- ** pan #signal:pan#
+
+    C_GesturePanPanCallback                 ,
+    GesturePanPanCallback                   ,
+#if ENABLE_OVERLOADING
+    GesturePanPanSignalInfo                 ,
+#endif
+    afterGesturePanPan                      ,
+    genClosure_GesturePanPan                ,
+    mk_GesturePanPanCallback                ,
+    noGesturePanPanCallback                 ,
+    onGesturePanPan                         ,
+    wrap_GesturePanPanCallback              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
+import {-# SOURCE #-} qualified GI.Gtk.Objects.GestureDrag as Gtk.GestureDrag
+import {-# SOURCE #-} qualified GI.Gtk.Objects.GestureSingle as Gtk.GestureSingle
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype GesturePan = GesturePan (ManagedPtr GesturePan)
+foreign import ccall "gtk_gesture_pan_get_type"
+    c_gtk_gesture_pan_get_type :: IO GType
+
+instance GObject GesturePan where
+    gobjectType = c_gtk_gesture_pan_get_type
+    
+
+-- | Type class for types which can be safely cast to `GesturePan`, for instance with `toGesturePan`.
+class (GObject o, O.IsDescendantOf GesturePan o) => IsGesturePan o
+instance (GObject o, O.IsDescendantOf GesturePan o) => IsGesturePan o
+
+instance O.HasParentTypes GesturePan
+type instance O.ParentTypes GesturePan = '[Gtk.GestureDrag.GestureDrag, Gtk.GestureSingle.GestureSingle, Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `GesturePan`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGesturePan :: (MonadIO m, IsGesturePan o) => o -> m GesturePan
+toGesturePan = liftIO . unsafeCastTo GesturePan
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GesturePan`.
+noGesturePan :: Maybe GesturePan
+noGesturePan = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGesturePanMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGesturePanMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGesturePanMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGesturePanMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGesturePanMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGesturePanMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGesturePanMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
+    ResolveGesturePanMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGesturePanMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
+    ResolveGesturePanMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
+    ResolveGesturePanMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGesturePanMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
+    ResolveGesturePanMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
+    ResolveGesturePanMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGesturePanMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGesturePanMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGesturePanMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGesturePanMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGesturePanMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGesturePanMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGesturePanMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGesturePanMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGesturePanMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
+    ResolveGesturePanMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGesturePanMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGesturePanMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
+    ResolveGesturePanMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
+    ResolveGesturePanMethod "getButton" o = Gtk.GestureSingle.GestureSingleGetButtonMethodInfo
+    ResolveGesturePanMethod "getCurrentButton" o = Gtk.GestureSingle.GestureSingleGetCurrentButtonMethodInfo
+    ResolveGesturePanMethod "getCurrentSequence" o = Gtk.GestureSingle.GestureSingleGetCurrentSequenceMethodInfo
+    ResolveGesturePanMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGesturePanMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
+    ResolveGesturePanMethod "getExclusive" o = Gtk.GestureSingle.GestureSingleGetExclusiveMethodInfo
+    ResolveGesturePanMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
+    ResolveGesturePanMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
+    ResolveGesturePanMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGesturePanMethod "getOffset" o = Gtk.GestureDrag.GestureDragGetOffsetMethodInfo
+    ResolveGesturePanMethod "getOrientation" o = GesturePanGetOrientationMethodInfo
+    ResolveGesturePanMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
+    ResolveGesturePanMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGesturePanMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGesturePanMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGesturePanMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
+    ResolveGesturePanMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
+    ResolveGesturePanMethod "getStartPoint" o = Gtk.GestureDrag.GestureDragGetStartPointMethodInfo
+    ResolveGesturePanMethod "getTouchOnly" o = Gtk.GestureSingle.GestureSingleGetTouchOnlyMethodInfo
+    ResolveGesturePanMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGesturePanMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
+    ResolveGesturePanMethod "setButton" o = Gtk.GestureSingle.GestureSingleSetButtonMethodInfo
+    ResolveGesturePanMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGesturePanMethod "setExclusive" o = Gtk.GestureSingle.GestureSingleSetExclusiveMethodInfo
+    ResolveGesturePanMethod "setOrientation" o = GesturePanSetOrientationMethodInfo
+    ResolveGesturePanMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGesturePanMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGesturePanMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
+    ResolveGesturePanMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
+    ResolveGesturePanMethod "setTouchOnly" o = Gtk.GestureSingle.GestureSingleSetTouchOnlyMethodInfo
+    ResolveGesturePanMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
+    ResolveGesturePanMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGesturePanMethod t GesturePan, O.MethodInfo info GesturePan p) => OL.IsLabel t (GesturePan -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal GesturePan::pan
+{- |
+This signal is emitted once a panning gesture along the
+expected axis is detected.
+
+/Since: 3.14/
+-}
+type GesturePanPanCallback =
+    Gtk.Enums.PanDirection
+    {- ^ /@direction@/: current direction of the pan gesture -}
+    -> Double
+    {- ^ /@offset@/: Offset along the gesture orientation -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GesturePanPanCallback`@.
+noGesturePanPanCallback :: Maybe GesturePanPanCallback
+noGesturePanPanCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GesturePanPanCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GesturePanPanCallback`.
+foreign import ccall "wrapper"
+    mk_GesturePanPanCallback :: C_GesturePanPanCallback -> IO (FunPtr C_GesturePanPanCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GesturePanPan :: MonadIO m => GesturePanPanCallback -> m (GClosure C_GesturePanPanCallback)
+genClosure_GesturePanPan cb = liftIO $ do
+    let cb' = wrap_GesturePanPanCallback cb
+    mk_GesturePanPanCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GesturePanPanCallback` into a `C_GesturePanPanCallback`.
+wrap_GesturePanPanCallback ::
+    GesturePanPanCallback ->
+    C_GesturePanPanCallback
+wrap_GesturePanPanCallback _cb _ direction offset _ = do
+    let direction' = (toEnum . fromIntegral) direction
+    let offset' = realToFrac offset
+    _cb  direction' offset'
+
+
+{- |
+Connect a signal handler for the “@pan@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gesturePan #pan callback
+@
+-}
+onGesturePanPan :: (IsGesturePan a, MonadIO m) => a -> GesturePanPanCallback -> m SignalHandlerId
+onGesturePanPan obj cb = liftIO $ do
+    let cb' = wrap_GesturePanPanCallback cb
+    cb'' <- mk_GesturePanPanCallback cb'
+    connectSignalFunPtr obj "pan" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@pan@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gesturePan #pan callback
+@
+-}
+afterGesturePanPan :: (IsGesturePan a, MonadIO m) => a -> GesturePanPanCallback -> m SignalHandlerId
+afterGesturePanPan obj cb = liftIO $ do
+    let cb' = wrap_GesturePanPanCallback cb
+    cb'' <- mk_GesturePanPanCallback cb'
+    connectSignalFunPtr obj "pan" cb'' SignalConnectAfter
+
+
+-- VVV Prop "orientation"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Orientation"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@orientation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gesturePan #orientation
+@
+-}
+getGesturePanOrientation :: (MonadIO m, IsGesturePan o) => o -> m Gtk.Enums.Orientation
+getGesturePanOrientation obj = liftIO $ B.Properties.getObjectPropertyEnum obj "orientation"
+
+{- |
+Set the value of the “@orientation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gesturePan [ #orientation 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGesturePanOrientation :: (MonadIO m, IsGesturePan o) => o -> Gtk.Enums.Orientation -> m ()
+setGesturePanOrientation obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "orientation" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@orientation@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGesturePanOrientation :: (IsGesturePan o) => Gtk.Enums.Orientation -> IO (GValueConstruct o)
+constructGesturePanOrientation val = B.Properties.constructObjectPropertyEnum "orientation" val
+
+#if ENABLE_OVERLOADING
+data GesturePanOrientationPropertyInfo
+instance AttrInfo GesturePanOrientationPropertyInfo where
+    type AttrAllowedOps GesturePanOrientationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GesturePanOrientationPropertyInfo = (~) Gtk.Enums.Orientation
+    type AttrBaseTypeConstraint GesturePanOrientationPropertyInfo = IsGesturePan
+    type AttrGetType GesturePanOrientationPropertyInfo = Gtk.Enums.Orientation
+    type AttrLabel GesturePanOrientationPropertyInfo = "orientation"
+    type AttrOrigin GesturePanOrientationPropertyInfo = GesturePan
+    attrGet _ = getGesturePanOrientation
+    attrSet _ = setGesturePanOrientation
+    attrConstruct _ = constructGesturePanOrientation
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GesturePan
+type instance O.AttributeList GesturePan = GesturePanAttributeList
+type GesturePanAttributeList = ('[ '("button", Gtk.GestureSingle.GestureSingleButtonPropertyInfo), '("exclusive", Gtk.GestureSingle.GestureSingleExclusivePropertyInfo), '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("orientation", GesturePanOrientationPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("touchOnly", Gtk.GestureSingle.GestureSingleTouchOnlyPropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+gesturePanOrientation :: AttrLabelProxy "orientation"
+gesturePanOrientation = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data GesturePanPanSignalInfo
+instance SignalInfo GesturePanPanSignalInfo where
+    type HaskellCallbackType GesturePanPanSignalInfo = GesturePanPanCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GesturePanPanCallback cb
+        cb'' <- mk_GesturePanPanCallback cb'
+        connectSignalFunPtr obj "pan" cb'' connectMode
+
+type instance O.SignalList GesturePan = GesturePanSignalList
+type GesturePanSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("dragBegin", Gtk.GestureDrag.GestureDragDragBeginSignalInfo), '("dragEnd", Gtk.GestureDrag.GestureDragDragEndSignalInfo), '("dragUpdate", Gtk.GestureDrag.GestureDragDragUpdateSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pan", GesturePanPanSignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GesturePan::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "expected orientation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "GesturePan"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_pan_new" gtk_gesture_pan_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO (Ptr GesturePan)
+
+{- |
+Returns a newly created 'GI.Gtk.Objects.Gesture.Gesture' that recognizes pan gestures.
+
+/Since: 3.14/
+-}
+gesturePanNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: expected orientation -}
+    -> m GesturePan
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.GesturePan.GesturePan' -}
+gesturePanNew widget orientation = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let orientation' = (fromIntegral . fromEnum) orientation
+    result <- gtk_gesture_pan_new widget' orientation'
+    checkUnexpectedReturnNULL "gesturePanNew" result
+    result' <- (wrapObject GesturePan) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method GesturePan::get_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GesturePan"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkGesturePan", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Orientation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_pan_get_orientation" gtk_gesture_pan_get_orientation :: 
+    Ptr GesturePan ->                       -- gesture : TInterface (Name {namespace = "Gtk", name = "GesturePan"})
+    IO CUInt
+
+{- |
+Returns the orientation of the pan gestures that this /@gesture@/ expects.
+
+/Since: 3.14/
+-}
+gesturePanGetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesturePan a) =>
+    a
+    {- ^ /@gesture@/: A 'GI.Gtk.Objects.GesturePan.GesturePan' -}
+    -> m Gtk.Enums.Orientation
+    {- ^ __Returns:__ the expected orientation for pan gestures -}
+gesturePanGetOrientation gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_pan_get_orientation gesture'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr gesture
+    return result'
+
+#if ENABLE_OVERLOADING
+data GesturePanGetOrientationMethodInfo
+instance (signature ~ (m Gtk.Enums.Orientation), MonadIO m, IsGesturePan a) => O.MethodInfo GesturePanGetOrientationMethodInfo a signature where
+    overloadedMethod _ = gesturePanGetOrientation
+
+#endif
+
+-- method GesturePan::set_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GesturePan"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkGesturePan", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "expected orientation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_pan_set_orientation" gtk_gesture_pan_set_orientation :: 
+    Ptr GesturePan ->                       -- gesture : TInterface (Name {namespace = "Gtk", name = "GesturePan"})
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO ()
+
+{- |
+Sets the orientation to be expected on pan gestures.
+
+/Since: 3.14/
+-}
+gesturePanSetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGesturePan a) =>
+    a
+    {- ^ /@gesture@/: A 'GI.Gtk.Objects.GesturePan.GesturePan' -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: expected orientation -}
+    -> m ()
+gesturePanSetOrientation gesture orientation = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    let orientation' = (fromIntegral . fromEnum) orientation
+    gtk_gesture_pan_set_orientation gesture' orientation'
+    touchManagedPtr gesture
+    return ()
+
+#if ENABLE_OVERLOADING
+data GesturePanSetOrientationMethodInfo
+instance (signature ~ (Gtk.Enums.Orientation -> m ()), MonadIO m, IsGesturePan a) => O.MethodInfo GesturePanSetOrientationMethodInfo a signature where
+    overloadedMethod _ = gesturePanSetOrientation
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/GesturePan.hs-boot b/GI/Gtk/Objects/GesturePan.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GesturePan.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GesturePan where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GesturePan = GesturePan (ManagedPtr GesturePan)
+instance GObject GesturePan where
+class (GObject o, O.IsDescendantOf GesturePan o) => IsGesturePan o
+instance (GObject o, O.IsDescendantOf GesturePan o) => IsGesturePan o
+instance O.HasParentTypes GesturePan
+#if ENABLE_OVERLOADING
+data GesturePanOrientationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GesturePanPanSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GesturePanGetOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GesturePanSetOrientationMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/GestureRotate.hs b/GI/Gtk/Objects/GestureRotate.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureRotate.hs
@@ -0,0 +1,343 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GestureRotate.GestureRotate' is a 'GI.Gtk.Objects.Gesture.Gesture' implementation able to recognize
+2-finger rotations, whenever the angle between both handled sequences
+changes, the 'GI.Gtk.Objects.GestureRotate.GestureRotate'::@/angle-changed/@ signal is emitted.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GestureRotate
+    ( 
+
+-- * Exported types
+    GestureRotate(..)                       ,
+    IsGestureRotate                         ,
+    toGestureRotate                         ,
+    noGestureRotate                         ,
+
+
+ -- * Methods
+-- ** getAngleDelta #method:getAngleDelta#
+
+#if ENABLE_OVERLOADING
+    GestureRotateGetAngleDeltaMethodInfo    ,
+#endif
+    gestureRotateGetAngleDelta              ,
+
+
+-- ** new #method:new#
+
+    gestureRotateNew                        ,
+
+
+
+
+ -- * Signals
+-- ** angleChanged #signal:angleChanged#
+
+    C_GestureRotateAngleChangedCallback     ,
+    GestureRotateAngleChangedCallback       ,
+#if ENABLE_OVERLOADING
+    GestureRotateAngleChangedSignalInfo     ,
+#endif
+    afterGestureRotateAngleChanged          ,
+    genClosure_GestureRotateAngleChanged    ,
+    mk_GestureRotateAngleChangedCallback    ,
+    noGestureRotateAngleChangedCallback     ,
+    onGestureRotateAngleChanged             ,
+    wrap_GestureRotateAngleChangedCallback  ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype GestureRotate = GestureRotate (ManagedPtr GestureRotate)
+foreign import ccall "gtk_gesture_rotate_get_type"
+    c_gtk_gesture_rotate_get_type :: IO GType
+
+instance GObject GestureRotate where
+    gobjectType = c_gtk_gesture_rotate_get_type
+    
+
+-- | Type class for types which can be safely cast to `GestureRotate`, for instance with `toGestureRotate`.
+class (GObject o, O.IsDescendantOf GestureRotate o) => IsGestureRotate o
+instance (GObject o, O.IsDescendantOf GestureRotate o) => IsGestureRotate o
+
+instance O.HasParentTypes GestureRotate
+type instance O.ParentTypes GestureRotate = '[Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `GestureRotate`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGestureRotate :: (MonadIO m, IsGestureRotate o) => o -> m GestureRotate
+toGestureRotate = liftIO . unsafeCastTo GestureRotate
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GestureRotate`.
+noGestureRotate :: Maybe GestureRotate
+noGestureRotate = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGestureRotateMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGestureRotateMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGestureRotateMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGestureRotateMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGestureRotateMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGestureRotateMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGestureRotateMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
+    ResolveGestureRotateMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGestureRotateMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
+    ResolveGestureRotateMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
+    ResolveGestureRotateMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGestureRotateMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
+    ResolveGestureRotateMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
+    ResolveGestureRotateMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGestureRotateMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGestureRotateMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGestureRotateMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGestureRotateMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGestureRotateMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGestureRotateMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGestureRotateMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGestureRotateMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGestureRotateMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
+    ResolveGestureRotateMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGestureRotateMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGestureRotateMethod "getAngleDelta" o = GestureRotateGetAngleDeltaMethodInfo
+    ResolveGestureRotateMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
+    ResolveGestureRotateMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
+    ResolveGestureRotateMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGestureRotateMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
+    ResolveGestureRotateMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
+    ResolveGestureRotateMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
+    ResolveGestureRotateMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGestureRotateMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
+    ResolveGestureRotateMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGestureRotateMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGestureRotateMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGestureRotateMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
+    ResolveGestureRotateMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
+    ResolveGestureRotateMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGestureRotateMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
+    ResolveGestureRotateMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGestureRotateMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGestureRotateMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGestureRotateMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
+    ResolveGestureRotateMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
+    ResolveGestureRotateMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
+    ResolveGestureRotateMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGestureRotateMethod t GestureRotate, O.MethodInfo info GestureRotate p) => OL.IsLabel t (GestureRotate -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal GestureRotate::angle-changed
+{- |
+This signal is emitted when the angle between both tracked points
+changes.
+
+/Since: 3.14/
+-}
+type GestureRotateAngleChangedCallback =
+    Double
+    {- ^ /@angle@/: Current angle in radians -}
+    -> Double
+    {- ^ /@angleDelta@/: Difference with the starting angle, in radians -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureRotateAngleChangedCallback`@.
+noGestureRotateAngleChangedCallback :: Maybe GestureRotateAngleChangedCallback
+noGestureRotateAngleChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureRotateAngleChangedCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureRotateAngleChangedCallback`.
+foreign import ccall "wrapper"
+    mk_GestureRotateAngleChangedCallback :: C_GestureRotateAngleChangedCallback -> IO (FunPtr C_GestureRotateAngleChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureRotateAngleChanged :: MonadIO m => GestureRotateAngleChangedCallback -> m (GClosure C_GestureRotateAngleChangedCallback)
+genClosure_GestureRotateAngleChanged cb = liftIO $ do
+    let cb' = wrap_GestureRotateAngleChangedCallback cb
+    mk_GestureRotateAngleChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureRotateAngleChangedCallback` into a `C_GestureRotateAngleChangedCallback`.
+wrap_GestureRotateAngleChangedCallback ::
+    GestureRotateAngleChangedCallback ->
+    C_GestureRotateAngleChangedCallback
+wrap_GestureRotateAngleChangedCallback _cb _ angle angleDelta _ = do
+    let angle' = realToFrac angle
+    let angleDelta' = realToFrac angleDelta
+    _cb  angle' angleDelta'
+
+
+{- |
+Connect a signal handler for the “@angle-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureRotate #angleChanged callback
+@
+-}
+onGestureRotateAngleChanged :: (IsGestureRotate a, MonadIO m) => a -> GestureRotateAngleChangedCallback -> m SignalHandlerId
+onGestureRotateAngleChanged obj cb = liftIO $ do
+    let cb' = wrap_GestureRotateAngleChangedCallback cb
+    cb'' <- mk_GestureRotateAngleChangedCallback cb'
+    connectSignalFunPtr obj "angle-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@angle-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureRotate #angleChanged callback
+@
+-}
+afterGestureRotateAngleChanged :: (IsGestureRotate a, MonadIO m) => a -> GestureRotateAngleChangedCallback -> m SignalHandlerId
+afterGestureRotateAngleChanged obj cb = liftIO $ do
+    let cb' = wrap_GestureRotateAngleChangedCallback cb
+    cb'' <- mk_GestureRotateAngleChangedCallback cb'
+    connectSignalFunPtr obj "angle-changed" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GestureRotate
+type instance O.AttributeList GestureRotate = GestureRotateAttributeList
+type GestureRotateAttributeList = ('[ '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data GestureRotateAngleChangedSignalInfo
+instance SignalInfo GestureRotateAngleChangedSignalInfo where
+    type HaskellCallbackType GestureRotateAngleChangedSignalInfo = GestureRotateAngleChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureRotateAngleChangedCallback cb
+        cb'' <- mk_GestureRotateAngleChangedCallback cb'
+        connectSignalFunPtr obj "angle-changed" cb'' connectMode
+
+type instance O.SignalList GestureRotate = GestureRotateSignalList
+type GestureRotateSignalList = ('[ '("angleChanged", GestureRotateAngleChangedSignalInfo), '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GestureRotate::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "GestureRotate"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_rotate_new" gtk_gesture_rotate_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr GestureRotate)
+
+{- |
+Returns a newly created 'GI.Gtk.Objects.Gesture.Gesture' that recognizes 2-touch
+rotation gestures.
+
+/Since: 3.14/
+-}
+gestureRotateNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m GestureRotate
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.GestureRotate.GestureRotate' -}
+gestureRotateNew widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_gesture_rotate_new widget'
+    checkUnexpectedReturnNULL "gestureRotateNew" result
+    result' <- (wrapObject GestureRotate) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method GestureRotate::get_angle_delta
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureRotate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureRotate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_rotate_get_angle_delta" gtk_gesture_rotate_get_angle_delta :: 
+    Ptr GestureRotate ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureRotate"})
+    IO CDouble
+
+{- |
+If /@gesture@/ is active, this function returns the angle difference
+in radians since the gesture was first recognized. If /@gesture@/ is
+not active, 0 is returned.
+
+/Since: 3.14/
+-}
+gestureRotateGetAngleDelta ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureRotate a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureRotate.GestureRotate' -}
+    -> m Double
+    {- ^ __Returns:__ the angle delta in radians -}
+gestureRotateGetAngleDelta gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_rotate_get_angle_delta gesture'
+    let result' = realToFrac result
+    touchManagedPtr gesture
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureRotateGetAngleDeltaMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsGestureRotate a) => O.MethodInfo GestureRotateGetAngleDeltaMethodInfo a signature where
+    overloadedMethod _ = gestureRotateGetAngleDelta
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/GestureRotate.hs-boot b/GI/Gtk/Objects/GestureRotate.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureRotate.hs-boot
@@ -0,0 +1,35 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GestureRotate where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GestureRotate = GestureRotate (ManagedPtr GestureRotate)
+instance GObject GestureRotate where
+class (GObject o, O.IsDescendantOf GestureRotate o) => IsGestureRotate o
+instance (GObject o, O.IsDescendantOf GestureRotate o) => IsGestureRotate o
+instance O.HasParentTypes GestureRotate
+#if ENABLE_OVERLOADING
+data GestureRotateAngleChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureRotateGetAngleDeltaMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/GestureSingle.hs b/GI/Gtk/Objects/GestureSingle.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureSingle.hs
@@ -0,0 +1,751 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GestureSingle.GestureSingle' is a subclass of 'GI.Gtk.Objects.Gesture.Gesture', optimized (although
+not restricted) for dealing with mouse and single-touch gestures. Under
+interaction, these gestures stick to the first interacting sequence, which
+is accessible through 'GI.Gtk.Objects.GestureSingle.gestureSingleGetCurrentSequence' while the
+gesture is being interacted with.
+
+By default gestures react to both 'GI.Gdk.Constants.BUTTON_PRIMARY' and touch
+events, 'GI.Gtk.Objects.GestureSingle.gestureSingleSetTouchOnly' can be used to change the
+touch behavior. Callers may also specify a different mouse button number
+to interact with through 'GI.Gtk.Objects.GestureSingle.gestureSingleSetButton', or react to any
+mouse button by setting 0. While the gesture is active, the button being
+currently pressed can be known through 'GI.Gtk.Objects.GestureSingle.gestureSingleGetCurrentButton'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GestureSingle
+    ( 
+
+-- * Exported types
+    GestureSingle(..)                       ,
+    IsGestureSingle                         ,
+    toGestureSingle                         ,
+    noGestureSingle                         ,
+
+
+ -- * Methods
+-- ** getButton #method:getButton#
+
+#if ENABLE_OVERLOADING
+    GestureSingleGetButtonMethodInfo        ,
+#endif
+    gestureSingleGetButton                  ,
+
+
+-- ** getCurrentButton #method:getCurrentButton#
+
+#if ENABLE_OVERLOADING
+    GestureSingleGetCurrentButtonMethodInfo ,
+#endif
+    gestureSingleGetCurrentButton           ,
+
+
+-- ** getCurrentSequence #method:getCurrentSequence#
+
+#if ENABLE_OVERLOADING
+    GestureSingleGetCurrentSequenceMethodInfo,
+#endif
+    gestureSingleGetCurrentSequence         ,
+
+
+-- ** getExclusive #method:getExclusive#
+
+#if ENABLE_OVERLOADING
+    GestureSingleGetExclusiveMethodInfo     ,
+#endif
+    gestureSingleGetExclusive               ,
+
+
+-- ** getTouchOnly #method:getTouchOnly#
+
+#if ENABLE_OVERLOADING
+    GestureSingleGetTouchOnlyMethodInfo     ,
+#endif
+    gestureSingleGetTouchOnly               ,
+
+
+-- ** setButton #method:setButton#
+
+#if ENABLE_OVERLOADING
+    GestureSingleSetButtonMethodInfo        ,
+#endif
+    gestureSingleSetButton                  ,
+
+
+-- ** setExclusive #method:setExclusive#
+
+#if ENABLE_OVERLOADING
+    GestureSingleSetExclusiveMethodInfo     ,
+#endif
+    gestureSingleSetExclusive               ,
+
+
+-- ** setTouchOnly #method:setTouchOnly#
+
+#if ENABLE_OVERLOADING
+    GestureSingleSetTouchOnlyMethodInfo     ,
+#endif
+    gestureSingleSetTouchOnly               ,
+
+
+
+
+ -- * Properties
+-- ** button #attr:button#
+{- | Mouse button number to listen to, or 0 to listen for any button.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    GestureSingleButtonPropertyInfo         ,
+#endif
+    constructGestureSingleButton            ,
+#if ENABLE_OVERLOADING
+    gestureSingleButton                     ,
+#endif
+    getGestureSingleButton                  ,
+    setGestureSingleButton                  ,
+
+
+-- ** exclusive #attr:exclusive#
+{- | Whether the gesture is exclusive. Exclusive gestures only listen to pointer
+and pointer emulated events.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    GestureSingleExclusivePropertyInfo      ,
+#endif
+    constructGestureSingleExclusive         ,
+#if ENABLE_OVERLOADING
+    gestureSingleExclusive                  ,
+#endif
+    getGestureSingleExclusive               ,
+    setGestureSingleExclusive               ,
+
+
+-- ** touchOnly #attr:touchOnly#
+{- | Whether the gesture handles only touch events.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    GestureSingleTouchOnlyPropertyInfo      ,
+#endif
+    constructGestureSingleTouchOnly         ,
+#if ENABLE_OVERLOADING
+    gestureSingleTouchOnly                  ,
+#endif
+    getGestureSingleTouchOnly               ,
+    setGestureSingleTouchOnly               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.EventSequence as Gdk.EventSequence
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
+
+-- | Memory-managed wrapper type.
+newtype GestureSingle = GestureSingle (ManagedPtr GestureSingle)
+foreign import ccall "gtk_gesture_single_get_type"
+    c_gtk_gesture_single_get_type :: IO GType
+
+instance GObject GestureSingle where
+    gobjectType = c_gtk_gesture_single_get_type
+    
+
+-- | Type class for types which can be safely cast to `GestureSingle`, for instance with `toGestureSingle`.
+class (GObject o, O.IsDescendantOf GestureSingle o) => IsGestureSingle o
+instance (GObject o, O.IsDescendantOf GestureSingle o) => IsGestureSingle o
+
+instance O.HasParentTypes GestureSingle
+type instance O.ParentTypes GestureSingle = '[Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `GestureSingle`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGestureSingle :: (MonadIO m, IsGestureSingle o) => o -> m GestureSingle
+toGestureSingle = liftIO . unsafeCastTo GestureSingle
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GestureSingle`.
+noGestureSingle :: Maybe GestureSingle
+noGestureSingle = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGestureSingleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGestureSingleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGestureSingleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGestureSingleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGestureSingleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGestureSingleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGestureSingleMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
+    ResolveGestureSingleMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGestureSingleMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
+    ResolveGestureSingleMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
+    ResolveGestureSingleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGestureSingleMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
+    ResolveGestureSingleMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
+    ResolveGestureSingleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGestureSingleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGestureSingleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGestureSingleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGestureSingleMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGestureSingleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGestureSingleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGestureSingleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGestureSingleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGestureSingleMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
+    ResolveGestureSingleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGestureSingleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGestureSingleMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
+    ResolveGestureSingleMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
+    ResolveGestureSingleMethod "getButton" o = GestureSingleGetButtonMethodInfo
+    ResolveGestureSingleMethod "getCurrentButton" o = GestureSingleGetCurrentButtonMethodInfo
+    ResolveGestureSingleMethod "getCurrentSequence" o = GestureSingleGetCurrentSequenceMethodInfo
+    ResolveGestureSingleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGestureSingleMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
+    ResolveGestureSingleMethod "getExclusive" o = GestureSingleGetExclusiveMethodInfo
+    ResolveGestureSingleMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
+    ResolveGestureSingleMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
+    ResolveGestureSingleMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGestureSingleMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
+    ResolveGestureSingleMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGestureSingleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGestureSingleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGestureSingleMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
+    ResolveGestureSingleMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
+    ResolveGestureSingleMethod "getTouchOnly" o = GestureSingleGetTouchOnlyMethodInfo
+    ResolveGestureSingleMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGestureSingleMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
+    ResolveGestureSingleMethod "setButton" o = GestureSingleSetButtonMethodInfo
+    ResolveGestureSingleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGestureSingleMethod "setExclusive" o = GestureSingleSetExclusiveMethodInfo
+    ResolveGestureSingleMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGestureSingleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGestureSingleMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
+    ResolveGestureSingleMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
+    ResolveGestureSingleMethod "setTouchOnly" o = GestureSingleSetTouchOnlyMethodInfo
+    ResolveGestureSingleMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
+    ResolveGestureSingleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGestureSingleMethod t GestureSingle, O.MethodInfo info GestureSingle p) => OL.IsLabel t (GestureSingle -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "button"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gestureSingle #button
+@
+-}
+getGestureSingleButton :: (MonadIO m, IsGestureSingle o) => o -> m Word32
+getGestureSingleButton obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "button"
+
+{- |
+Set the value of the “@button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gestureSingle [ #button 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGestureSingleButton :: (MonadIO m, IsGestureSingle o) => o -> Word32 -> m ()
+setGestureSingleButton obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "button" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@button@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGestureSingleButton :: (IsGestureSingle o) => Word32 -> IO (GValueConstruct o)
+constructGestureSingleButton val = B.Properties.constructObjectPropertyUInt32 "button" val
+
+#if ENABLE_OVERLOADING
+data GestureSingleButtonPropertyInfo
+instance AttrInfo GestureSingleButtonPropertyInfo where
+    type AttrAllowedOps GestureSingleButtonPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GestureSingleButtonPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint GestureSingleButtonPropertyInfo = IsGestureSingle
+    type AttrGetType GestureSingleButtonPropertyInfo = Word32
+    type AttrLabel GestureSingleButtonPropertyInfo = "button"
+    type AttrOrigin GestureSingleButtonPropertyInfo = GestureSingle
+    attrGet _ = getGestureSingleButton
+    attrSet _ = setGestureSingleButton
+    attrConstruct _ = constructGestureSingleButton
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "exclusive"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@exclusive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gestureSingle #exclusive
+@
+-}
+getGestureSingleExclusive :: (MonadIO m, IsGestureSingle o) => o -> m Bool
+getGestureSingleExclusive obj = liftIO $ B.Properties.getObjectPropertyBool obj "exclusive"
+
+{- |
+Set the value of the “@exclusive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gestureSingle [ #exclusive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGestureSingleExclusive :: (MonadIO m, IsGestureSingle o) => o -> Bool -> m ()
+setGestureSingleExclusive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "exclusive" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@exclusive@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGestureSingleExclusive :: (IsGestureSingle o) => Bool -> IO (GValueConstruct o)
+constructGestureSingleExclusive val = B.Properties.constructObjectPropertyBool "exclusive" val
+
+#if ENABLE_OVERLOADING
+data GestureSingleExclusivePropertyInfo
+instance AttrInfo GestureSingleExclusivePropertyInfo where
+    type AttrAllowedOps GestureSingleExclusivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GestureSingleExclusivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GestureSingleExclusivePropertyInfo = IsGestureSingle
+    type AttrGetType GestureSingleExclusivePropertyInfo = Bool
+    type AttrLabel GestureSingleExclusivePropertyInfo = "exclusive"
+    type AttrOrigin GestureSingleExclusivePropertyInfo = GestureSingle
+    attrGet _ = getGestureSingleExclusive
+    attrSet _ = setGestureSingleExclusive
+    attrConstruct _ = constructGestureSingleExclusive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "touch-only"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@touch-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' gestureSingle #touchOnly
+@
+-}
+getGestureSingleTouchOnly :: (MonadIO m, IsGestureSingle o) => o -> m Bool
+getGestureSingleTouchOnly obj = liftIO $ B.Properties.getObjectPropertyBool obj "touch-only"
+
+{- |
+Set the value of the “@touch-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' gestureSingle [ #touchOnly 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGestureSingleTouchOnly :: (MonadIO m, IsGestureSingle o) => o -> Bool -> m ()
+setGestureSingleTouchOnly obj val = liftIO $ B.Properties.setObjectPropertyBool obj "touch-only" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@touch-only@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGestureSingleTouchOnly :: (IsGestureSingle o) => Bool -> IO (GValueConstruct o)
+constructGestureSingleTouchOnly val = B.Properties.constructObjectPropertyBool "touch-only" val
+
+#if ENABLE_OVERLOADING
+data GestureSingleTouchOnlyPropertyInfo
+instance AttrInfo GestureSingleTouchOnlyPropertyInfo where
+    type AttrAllowedOps GestureSingleTouchOnlyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GestureSingleTouchOnlyPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GestureSingleTouchOnlyPropertyInfo = IsGestureSingle
+    type AttrGetType GestureSingleTouchOnlyPropertyInfo = Bool
+    type AttrLabel GestureSingleTouchOnlyPropertyInfo = "touch-only"
+    type AttrOrigin GestureSingleTouchOnlyPropertyInfo = GestureSingle
+    attrGet _ = getGestureSingleTouchOnly
+    attrSet _ = setGestureSingleTouchOnly
+    attrConstruct _ = constructGestureSingleTouchOnly
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GestureSingle
+type instance O.AttributeList GestureSingle = GestureSingleAttributeList
+type GestureSingleAttributeList = ('[ '("button", GestureSingleButtonPropertyInfo), '("exclusive", GestureSingleExclusivePropertyInfo), '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("touchOnly", GestureSingleTouchOnlyPropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+gestureSingleButton :: AttrLabelProxy "button"
+gestureSingleButton = AttrLabelProxy
+
+gestureSingleExclusive :: AttrLabelProxy "exclusive"
+gestureSingleExclusive = AttrLabelProxy
+
+gestureSingleTouchOnly :: AttrLabelProxy "touchOnly"
+gestureSingleTouchOnly = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList GestureSingle = GestureSingleSignalList
+type GestureSingleSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GestureSingle::get_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureSingle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureSingle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_single_get_button" gtk_gesture_single_get_button :: 
+    Ptr GestureSingle ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureSingle"})
+    IO Word32
+
+{- |
+Returns the button number /@gesture@/ listens for, or 0 if /@gesture@/
+reacts to any button press.
+
+/Since: 3.14/
+-}
+gestureSingleGetButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureSingle a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureSingle.GestureSingle' -}
+    -> m Word32
+    {- ^ __Returns:__ The button number, or 0 for any button -}
+gestureSingleGetButton gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_single_get_button gesture'
+    touchManagedPtr gesture
+    return result
+
+#if ENABLE_OVERLOADING
+data GestureSingleGetButtonMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsGestureSingle a) => O.MethodInfo GestureSingleGetButtonMethodInfo a signature where
+    overloadedMethod _ = gestureSingleGetButton
+
+#endif
+
+-- method GestureSingle::get_current_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureSingle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureSingle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_single_get_current_button" gtk_gesture_single_get_current_button :: 
+    Ptr GestureSingle ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureSingle"})
+    IO Word32
+
+{- |
+Returns the button number currently interacting with /@gesture@/, or 0 if there
+is none.
+
+/Since: 3.14/
+-}
+gestureSingleGetCurrentButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureSingle a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureSingle.GestureSingle' -}
+    -> m Word32
+    {- ^ __Returns:__ The current button number -}
+gestureSingleGetCurrentButton gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_single_get_current_button gesture'
+    touchManagedPtr gesture
+    return result
+
+#if ENABLE_OVERLOADING
+data GestureSingleGetCurrentButtonMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsGestureSingle a) => O.MethodInfo GestureSingleGetCurrentButtonMethodInfo a signature where
+    overloadedMethod _ = gestureSingleGetCurrentButton
+
+#endif
+
+-- method GestureSingle::get_current_sequence
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureSingle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureSingle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "EventSequence"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_single_get_current_sequence" gtk_gesture_single_get_current_sequence :: 
+    Ptr GestureSingle ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureSingle"})
+    IO (Ptr Gdk.EventSequence.EventSequence)
+
+{- |
+Returns the event sequence currently interacting with /@gesture@/.
+This is only meaningful if 'GI.Gtk.Objects.Gesture.gestureIsActive' returns 'True'.
+
+/Since: 3.14/
+-}
+gestureSingleGetCurrentSequence ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureSingle a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureSingle.GestureSingle' -}
+    -> m (Maybe Gdk.EventSequence.EventSequence)
+    {- ^ __Returns:__ the current sequence -}
+gestureSingleGetCurrentSequence gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_single_get_current_sequence gesture'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gdk.EventSequence.EventSequence) result'
+        return result''
+    touchManagedPtr gesture
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data GestureSingleGetCurrentSequenceMethodInfo
+instance (signature ~ (m (Maybe Gdk.EventSequence.EventSequence)), MonadIO m, IsGestureSingle a) => O.MethodInfo GestureSingleGetCurrentSequenceMethodInfo a signature where
+    overloadedMethod _ = gestureSingleGetCurrentSequence
+
+#endif
+
+-- method GestureSingle::get_exclusive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureSingle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureSingle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_single_get_exclusive" gtk_gesture_single_get_exclusive :: 
+    Ptr GestureSingle ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureSingle"})
+    IO CInt
+
+{- |
+Gets whether a gesture is exclusive. For more information, see
+'GI.Gtk.Objects.GestureSingle.gestureSingleSetExclusive'.
+
+/Since: 3.14/
+-}
+gestureSingleGetExclusive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureSingle a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureSingle.GestureSingle' -}
+    -> m Bool
+    {- ^ __Returns:__ Whether the gesture is exclusive -}
+gestureSingleGetExclusive gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_single_get_exclusive gesture'
+    let result' = (/= 0) result
+    touchManagedPtr gesture
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureSingleGetExclusiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGestureSingle a) => O.MethodInfo GestureSingleGetExclusiveMethodInfo a signature where
+    overloadedMethod _ = gestureSingleGetExclusive
+
+#endif
+
+-- method GestureSingle::get_touch_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureSingle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureSingle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_single_get_touch_only" gtk_gesture_single_get_touch_only :: 
+    Ptr GestureSingle ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureSingle"})
+    IO CInt
+
+{- |
+Returns 'True' if the gesture is only triggered by touch events.
+
+/Since: 3.14/
+-}
+gestureSingleGetTouchOnly ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureSingle a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureSingle.GestureSingle' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the gesture only handles touch events -}
+gestureSingleGetTouchOnly gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_single_get_touch_only gesture'
+    let result' = (/= 0) result
+    touchManagedPtr gesture
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureSingleGetTouchOnlyMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGestureSingle a) => O.MethodInfo GestureSingleGetTouchOnlyMethodInfo a signature where
+    overloadedMethod _ = gestureSingleGetTouchOnly
+
+#endif
+
+-- method GestureSingle::set_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureSingle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureSingle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "button number to listen to, or 0 for any button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_single_set_button" gtk_gesture_single_set_button :: 
+    Ptr GestureSingle ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureSingle"})
+    Word32 ->                               -- button : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the button number /@gesture@/ listens to. If non-0, every
+button press from a different button number will be ignored.
+Touch events implicitly match with button 1.
+
+/Since: 3.14/
+-}
+gestureSingleSetButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureSingle a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureSingle.GestureSingle' -}
+    -> Word32
+    {- ^ /@button@/: button number to listen to, or 0 for any button -}
+    -> m ()
+gestureSingleSetButton gesture button = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    gtk_gesture_single_set_button gesture' button
+    touchManagedPtr gesture
+    return ()
+
+#if ENABLE_OVERLOADING
+data GestureSingleSetButtonMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsGestureSingle a) => O.MethodInfo GestureSingleSetButtonMethodInfo a signature where
+    overloadedMethod _ = gestureSingleSetButton
+
+#endif
+
+-- method GestureSingle::set_exclusive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureSingle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureSingle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "exclusive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make @gesture exclusive", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_single_set_exclusive" gtk_gesture_single_set_exclusive :: 
+    Ptr GestureSingle ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureSingle"})
+    CInt ->                                 -- exclusive : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@gesture@/ is exclusive. An exclusive gesture will
+only handle pointer and \"pointer emulated\" touch events, so at
+any given time, there is only one sequence able to interact with
+those.
+
+/Since: 3.14/
+-}
+gestureSingleSetExclusive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureSingle a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureSingle.GestureSingle' -}
+    -> Bool
+    {- ^ /@exclusive@/: 'True' to make /@gesture@/ exclusive -}
+    -> m ()
+gestureSingleSetExclusive gesture exclusive = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    let exclusive' = (fromIntegral . fromEnum) exclusive
+    gtk_gesture_single_set_exclusive gesture' exclusive'
+    touchManagedPtr gesture
+    return ()
+
+#if ENABLE_OVERLOADING
+data GestureSingleSetExclusiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsGestureSingle a) => O.MethodInfo GestureSingleSetExclusiveMethodInfo a signature where
+    overloadedMethod _ = gestureSingleSetExclusive
+
+#endif
+
+-- method GestureSingle::set_touch_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureSingle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureSingle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "touch_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @gesture handles only touch events", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_single_set_touch_only" gtk_gesture_single_set_touch_only :: 
+    Ptr GestureSingle ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureSingle"})
+    CInt ->                                 -- touch_only : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@touchOnly@/ is 'True', /@gesture@/ will only handle events of type
+@/GDK_TOUCH_BEGIN/@, @/GDK_TOUCH_UPDATE/@ or @/GDK_TOUCH_END/@. If 'False',
+mouse events will be handled too.
+
+/Since: 3.14/
+-}
+gestureSingleSetTouchOnly ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureSingle a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureSingle.GestureSingle' -}
+    -> Bool
+    {- ^ /@touchOnly@/: whether /@gesture@/ handles only touch events -}
+    -> m ()
+gestureSingleSetTouchOnly gesture touchOnly = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    let touchOnly' = (fromIntegral . fromEnum) touchOnly
+    gtk_gesture_single_set_touch_only gesture' touchOnly'
+    touchManagedPtr gesture
+    return ()
+
+#if ENABLE_OVERLOADING
+data GestureSingleSetTouchOnlyMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsGestureSingle a) => O.MethodInfo GestureSingleSetTouchOnlyMethodInfo a signature where
+    overloadedMethod _ = gestureSingleSetTouchOnly
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/GestureSingle.hs-boot b/GI/Gtk/Objects/GestureSingle.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureSingle.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GestureSingle where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GestureSingle = GestureSingle (ManagedPtr GestureSingle)
+instance GObject GestureSingle where
+class (GObject o, O.IsDescendantOf GestureSingle o) => IsGestureSingle o
+instance (GObject o, O.IsDescendantOf GestureSingle o) => IsGestureSingle o
+instance O.HasParentTypes GestureSingle
+#if ENABLE_OVERLOADING
+data GestureSingleButtonPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleExclusivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleTouchOnlyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleGetButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleGetCurrentButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleGetCurrentSequenceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleGetExclusiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleGetTouchOnlyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleSetButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleSetExclusiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSingleSetTouchOnlyMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/GestureStylus.hs b/GI/Gtk/Objects/GestureStylus.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureStylus.hs
@@ -0,0 +1,704 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GestureStylus.GestureStylus' is a 'GI.Gtk.Objects.Gesture.Gesture' implementation specific to stylus
+input. The provided signals just provide the basic information
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GestureStylus
+    ( 
+#if ENABLE_OVERLOADING
+    GestureStylusGetAxesMethodInfo          ,
+#endif
+
+-- * Exported types
+    GestureStylus(..)                       ,
+    IsGestureStylus                         ,
+    toGestureStylus                         ,
+    noGestureStylus                         ,
+
+
+ -- * Methods
+-- ** getAxis #method:getAxis#
+
+#if ENABLE_OVERLOADING
+    GestureStylusGetAxisMethodInfo          ,
+#endif
+    gestureStylusGetAxis                    ,
+
+
+-- ** getDeviceTool #method:getDeviceTool#
+
+#if ENABLE_OVERLOADING
+    GestureStylusGetDeviceToolMethodInfo    ,
+#endif
+    gestureStylusGetDeviceTool              ,
+
+
+-- ** new #method:new#
+
+    gestureStylusNew                        ,
+
+
+
+
+ -- * Signals
+-- ** down #signal:down#
+
+    C_GestureStylusDownCallback             ,
+    GestureStylusDownCallback               ,
+#if ENABLE_OVERLOADING
+    GestureStylusDownSignalInfo             ,
+#endif
+    afterGestureStylusDown                  ,
+    genClosure_GestureStylusDown            ,
+    mk_GestureStylusDownCallback            ,
+    noGestureStylusDownCallback             ,
+    onGestureStylusDown                     ,
+    wrap_GestureStylusDownCallback          ,
+
+
+-- ** motion #signal:motion#
+
+    C_GestureStylusMotionCallback           ,
+    GestureStylusMotionCallback             ,
+#if ENABLE_OVERLOADING
+    GestureStylusMotionSignalInfo           ,
+#endif
+    afterGestureStylusMotion                ,
+    genClosure_GestureStylusMotion          ,
+    mk_GestureStylusMotionCallback          ,
+    noGestureStylusMotionCallback           ,
+    onGestureStylusMotion                   ,
+    wrap_GestureStylusMotionCallback        ,
+
+
+-- ** proximity #signal:proximity#
+
+    C_GestureStylusProximityCallback        ,
+    GestureStylusProximityCallback          ,
+#if ENABLE_OVERLOADING
+    GestureStylusProximitySignalInfo        ,
+#endif
+    afterGestureStylusProximity             ,
+    genClosure_GestureStylusProximity       ,
+    mk_GestureStylusProximityCallback       ,
+    noGestureStylusProximityCallback        ,
+    onGestureStylusProximity                ,
+    wrap_GestureStylusProximityCallback     ,
+
+
+-- ** up #signal:up#
+
+    C_GestureStylusUpCallback               ,
+    GestureStylusUpCallback                 ,
+#if ENABLE_OVERLOADING
+    GestureStylusUpSignalInfo               ,
+#endif
+    afterGestureStylusUp                    ,
+    genClosure_GestureStylusUp              ,
+    mk_GestureStylusUpCallback              ,
+    noGestureStylusUpCallback               ,
+    onGestureStylusUp                       ,
+    wrap_GestureStylusUpCallback            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Enums as Gdk.Enums
+import qualified GI.Gdk.Objects.DeviceTool as Gdk.DeviceTool
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
+import {-# SOURCE #-} qualified GI.Gtk.Objects.GestureSingle as Gtk.GestureSingle
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype GestureStylus = GestureStylus (ManagedPtr GestureStylus)
+foreign import ccall "gtk_gesture_stylus_get_type"
+    c_gtk_gesture_stylus_get_type :: IO GType
+
+instance GObject GestureStylus where
+    gobjectType = c_gtk_gesture_stylus_get_type
+    
+
+-- | Type class for types which can be safely cast to `GestureStylus`, for instance with `toGestureStylus`.
+class (GObject o, O.IsDescendantOf GestureStylus o) => IsGestureStylus o
+instance (GObject o, O.IsDescendantOf GestureStylus o) => IsGestureStylus o
+
+instance O.HasParentTypes GestureStylus
+type instance O.ParentTypes GestureStylus = '[Gtk.GestureSingle.GestureSingle, Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `GestureStylus`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGestureStylus :: (MonadIO m, IsGestureStylus o) => o -> m GestureStylus
+toGestureStylus = liftIO . unsafeCastTo GestureStylus
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GestureStylus`.
+noGestureStylus :: Maybe GestureStylus
+noGestureStylus = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGestureStylusMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGestureStylusMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGestureStylusMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGestureStylusMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGestureStylusMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGestureStylusMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGestureStylusMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
+    ResolveGestureStylusMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGestureStylusMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
+    ResolveGestureStylusMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
+    ResolveGestureStylusMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGestureStylusMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
+    ResolveGestureStylusMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
+    ResolveGestureStylusMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGestureStylusMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGestureStylusMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGestureStylusMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGestureStylusMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGestureStylusMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGestureStylusMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGestureStylusMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGestureStylusMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGestureStylusMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
+    ResolveGestureStylusMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGestureStylusMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGestureStylusMethod "getAxes" o = GestureStylusGetAxesMethodInfo
+    ResolveGestureStylusMethod "getAxis" o = GestureStylusGetAxisMethodInfo
+    ResolveGestureStylusMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
+    ResolveGestureStylusMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
+    ResolveGestureStylusMethod "getButton" o = Gtk.GestureSingle.GestureSingleGetButtonMethodInfo
+    ResolveGestureStylusMethod "getCurrentButton" o = Gtk.GestureSingle.GestureSingleGetCurrentButtonMethodInfo
+    ResolveGestureStylusMethod "getCurrentSequence" o = Gtk.GestureSingle.GestureSingleGetCurrentSequenceMethodInfo
+    ResolveGestureStylusMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGestureStylusMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
+    ResolveGestureStylusMethod "getDeviceTool" o = GestureStylusGetDeviceToolMethodInfo
+    ResolveGestureStylusMethod "getExclusive" o = Gtk.GestureSingle.GestureSingleGetExclusiveMethodInfo
+    ResolveGestureStylusMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
+    ResolveGestureStylusMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
+    ResolveGestureStylusMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGestureStylusMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
+    ResolveGestureStylusMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGestureStylusMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGestureStylusMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGestureStylusMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
+    ResolveGestureStylusMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
+    ResolveGestureStylusMethod "getTouchOnly" o = Gtk.GestureSingle.GestureSingleGetTouchOnlyMethodInfo
+    ResolveGestureStylusMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGestureStylusMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
+    ResolveGestureStylusMethod "setButton" o = Gtk.GestureSingle.GestureSingleSetButtonMethodInfo
+    ResolveGestureStylusMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGestureStylusMethod "setExclusive" o = Gtk.GestureSingle.GestureSingleSetExclusiveMethodInfo
+    ResolveGestureStylusMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGestureStylusMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGestureStylusMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
+    ResolveGestureStylusMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
+    ResolveGestureStylusMethod "setTouchOnly" o = Gtk.GestureSingle.GestureSingleSetTouchOnlyMethodInfo
+    ResolveGestureStylusMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
+    ResolveGestureStylusMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGestureStylusMethod t GestureStylus, O.MethodInfo info GestureStylus p) => OL.IsLabel t (GestureStylus -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal GestureStylus::down
+{- |
+/No description available in the introspection data./
+-}
+type GestureStylusDownCallback =
+    Double
+    -> Double
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureStylusDownCallback`@.
+noGestureStylusDownCallback :: Maybe GestureStylusDownCallback
+noGestureStylusDownCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureStylusDownCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureStylusDownCallback`.
+foreign import ccall "wrapper"
+    mk_GestureStylusDownCallback :: C_GestureStylusDownCallback -> IO (FunPtr C_GestureStylusDownCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureStylusDown :: MonadIO m => GestureStylusDownCallback -> m (GClosure C_GestureStylusDownCallback)
+genClosure_GestureStylusDown cb = liftIO $ do
+    let cb' = wrap_GestureStylusDownCallback cb
+    mk_GestureStylusDownCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureStylusDownCallback` into a `C_GestureStylusDownCallback`.
+wrap_GestureStylusDownCallback ::
+    GestureStylusDownCallback ->
+    C_GestureStylusDownCallback
+wrap_GestureStylusDownCallback _cb _ object p0 _ = do
+    let object' = realToFrac object
+    let p0' = realToFrac p0
+    _cb  object' p0'
+
+
+{- |
+Connect a signal handler for the “@down@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureStylus #down callback
+@
+-}
+onGestureStylusDown :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusDownCallback -> m SignalHandlerId
+onGestureStylusDown obj cb = liftIO $ do
+    let cb' = wrap_GestureStylusDownCallback cb
+    cb'' <- mk_GestureStylusDownCallback cb'
+    connectSignalFunPtr obj "down" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@down@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureStylus #down callback
+@
+-}
+afterGestureStylusDown :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusDownCallback -> m SignalHandlerId
+afterGestureStylusDown obj cb = liftIO $ do
+    let cb' = wrap_GestureStylusDownCallback cb
+    cb'' <- mk_GestureStylusDownCallback cb'
+    connectSignalFunPtr obj "down" cb'' SignalConnectAfter
+
+
+-- signal GestureStylus::motion
+{- |
+/No description available in the introspection data./
+-}
+type GestureStylusMotionCallback =
+    Double
+    -> Double
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureStylusMotionCallback`@.
+noGestureStylusMotionCallback :: Maybe GestureStylusMotionCallback
+noGestureStylusMotionCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureStylusMotionCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureStylusMotionCallback`.
+foreign import ccall "wrapper"
+    mk_GestureStylusMotionCallback :: C_GestureStylusMotionCallback -> IO (FunPtr C_GestureStylusMotionCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureStylusMotion :: MonadIO m => GestureStylusMotionCallback -> m (GClosure C_GestureStylusMotionCallback)
+genClosure_GestureStylusMotion cb = liftIO $ do
+    let cb' = wrap_GestureStylusMotionCallback cb
+    mk_GestureStylusMotionCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureStylusMotionCallback` into a `C_GestureStylusMotionCallback`.
+wrap_GestureStylusMotionCallback ::
+    GestureStylusMotionCallback ->
+    C_GestureStylusMotionCallback
+wrap_GestureStylusMotionCallback _cb _ object p0 _ = do
+    let object' = realToFrac object
+    let p0' = realToFrac p0
+    _cb  object' p0'
+
+
+{- |
+Connect a signal handler for the “@motion@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureStylus #motion callback
+@
+-}
+onGestureStylusMotion :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusMotionCallback -> m SignalHandlerId
+onGestureStylusMotion obj cb = liftIO $ do
+    let cb' = wrap_GestureStylusMotionCallback cb
+    cb'' <- mk_GestureStylusMotionCallback cb'
+    connectSignalFunPtr obj "motion" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@motion@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureStylus #motion callback
+@
+-}
+afterGestureStylusMotion :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusMotionCallback -> m SignalHandlerId
+afterGestureStylusMotion obj cb = liftIO $ do
+    let cb' = wrap_GestureStylusMotionCallback cb
+    cb'' <- mk_GestureStylusMotionCallback cb'
+    connectSignalFunPtr obj "motion" cb'' SignalConnectAfter
+
+
+-- signal GestureStylus::proximity
+{- |
+/No description available in the introspection data./
+-}
+type GestureStylusProximityCallback =
+    Double
+    -> Double
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureStylusProximityCallback`@.
+noGestureStylusProximityCallback :: Maybe GestureStylusProximityCallback
+noGestureStylusProximityCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureStylusProximityCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureStylusProximityCallback`.
+foreign import ccall "wrapper"
+    mk_GestureStylusProximityCallback :: C_GestureStylusProximityCallback -> IO (FunPtr C_GestureStylusProximityCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureStylusProximity :: MonadIO m => GestureStylusProximityCallback -> m (GClosure C_GestureStylusProximityCallback)
+genClosure_GestureStylusProximity cb = liftIO $ do
+    let cb' = wrap_GestureStylusProximityCallback cb
+    mk_GestureStylusProximityCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureStylusProximityCallback` into a `C_GestureStylusProximityCallback`.
+wrap_GestureStylusProximityCallback ::
+    GestureStylusProximityCallback ->
+    C_GestureStylusProximityCallback
+wrap_GestureStylusProximityCallback _cb _ object p0 _ = do
+    let object' = realToFrac object
+    let p0' = realToFrac p0
+    _cb  object' p0'
+
+
+{- |
+Connect a signal handler for the “@proximity@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureStylus #proximity callback
+@
+-}
+onGestureStylusProximity :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusProximityCallback -> m SignalHandlerId
+onGestureStylusProximity obj cb = liftIO $ do
+    let cb' = wrap_GestureStylusProximityCallback cb
+    cb'' <- mk_GestureStylusProximityCallback cb'
+    connectSignalFunPtr obj "proximity" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@proximity@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureStylus #proximity callback
+@
+-}
+afterGestureStylusProximity :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusProximityCallback -> m SignalHandlerId
+afterGestureStylusProximity obj cb = liftIO $ do
+    let cb' = wrap_GestureStylusProximityCallback cb
+    cb'' <- mk_GestureStylusProximityCallback cb'
+    connectSignalFunPtr obj "proximity" cb'' SignalConnectAfter
+
+
+-- signal GestureStylus::up
+{- |
+/No description available in the introspection data./
+-}
+type GestureStylusUpCallback =
+    Double
+    -> Double
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureStylusUpCallback`@.
+noGestureStylusUpCallback :: Maybe GestureStylusUpCallback
+noGestureStylusUpCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureStylusUpCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureStylusUpCallback`.
+foreign import ccall "wrapper"
+    mk_GestureStylusUpCallback :: C_GestureStylusUpCallback -> IO (FunPtr C_GestureStylusUpCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureStylusUp :: MonadIO m => GestureStylusUpCallback -> m (GClosure C_GestureStylusUpCallback)
+genClosure_GestureStylusUp cb = liftIO $ do
+    let cb' = wrap_GestureStylusUpCallback cb
+    mk_GestureStylusUpCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureStylusUpCallback` into a `C_GestureStylusUpCallback`.
+wrap_GestureStylusUpCallback ::
+    GestureStylusUpCallback ->
+    C_GestureStylusUpCallback
+wrap_GestureStylusUpCallback _cb _ object p0 _ = do
+    let object' = realToFrac object
+    let p0' = realToFrac p0
+    _cb  object' p0'
+
+
+{- |
+Connect a signal handler for the “@up@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureStylus #up callback
+@
+-}
+onGestureStylusUp :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusUpCallback -> m SignalHandlerId
+onGestureStylusUp obj cb = liftIO $ do
+    let cb' = wrap_GestureStylusUpCallback cb
+    cb'' <- mk_GestureStylusUpCallback cb'
+    connectSignalFunPtr obj "up" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@up@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureStylus #up callback
+@
+-}
+afterGestureStylusUp :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusUpCallback -> m SignalHandlerId
+afterGestureStylusUp obj cb = liftIO $ do
+    let cb' = wrap_GestureStylusUpCallback cb
+    cb'' <- mk_GestureStylusUpCallback cb'
+    connectSignalFunPtr obj "up" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GestureStylus
+type instance O.AttributeList GestureStylus = GestureStylusAttributeList
+type GestureStylusAttributeList = ('[ '("button", Gtk.GestureSingle.GestureSingleButtonPropertyInfo), '("exclusive", Gtk.GestureSingle.GestureSingleExclusivePropertyInfo), '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("touchOnly", Gtk.GestureSingle.GestureSingleTouchOnlyPropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data GestureStylusDownSignalInfo
+instance SignalInfo GestureStylusDownSignalInfo where
+    type HaskellCallbackType GestureStylusDownSignalInfo = GestureStylusDownCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureStylusDownCallback cb
+        cb'' <- mk_GestureStylusDownCallback cb'
+        connectSignalFunPtr obj "down" cb'' connectMode
+
+data GestureStylusMotionSignalInfo
+instance SignalInfo GestureStylusMotionSignalInfo where
+    type HaskellCallbackType GestureStylusMotionSignalInfo = GestureStylusMotionCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureStylusMotionCallback cb
+        cb'' <- mk_GestureStylusMotionCallback cb'
+        connectSignalFunPtr obj "motion" cb'' connectMode
+
+data GestureStylusProximitySignalInfo
+instance SignalInfo GestureStylusProximitySignalInfo where
+    type HaskellCallbackType GestureStylusProximitySignalInfo = GestureStylusProximityCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureStylusProximityCallback cb
+        cb'' <- mk_GestureStylusProximityCallback cb'
+        connectSignalFunPtr obj "proximity" cb'' connectMode
+
+data GestureStylusUpSignalInfo
+instance SignalInfo GestureStylusUpSignalInfo where
+    type HaskellCallbackType GestureStylusUpSignalInfo = GestureStylusUpCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureStylusUpCallback cb
+        cb'' <- mk_GestureStylusUpCallback cb'
+        connectSignalFunPtr obj "up" cb'' connectMode
+
+type instance O.SignalList GestureStylus = GestureStylusSignalList
+type GestureStylusSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("down", GestureStylusDownSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("motion", GestureStylusMotionSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("proximity", GestureStylusProximitySignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("up", GestureStylusUpSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GestureStylus::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "GestureStylus"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_stylus_new" gtk_gesture_stylus_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr GestureStylus)
+
+{- |
+Creates a new 'GI.Gtk.Objects.GestureStylus.GestureStylus'.
+
+/Since: 3.24/
+-}
+gestureStylusNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m GestureStylus
+    {- ^ __Returns:__ a newly created stylus gesture -}
+gestureStylusNew widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_gesture_stylus_new widget'
+    checkUnexpectedReturnNULL "gestureStylusNew" result
+    result' <- (wrapObject GestureStylus) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- XXX Could not generate method GestureStylus::get_axes
+-- Error was : Bad introspection data: "`TCArray False (-1) (-1) (TBasicType TDouble)' is an array type, but contains no length information,\nso it cannot be unpacked."
+#if ENABLE_OVERLOADING
+-- XXX: Dummy instance, since code generation failed.
+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.
+data GestureStylusGetAxesMethodInfo
+instance (p ~ (), o ~ O.MethodResolutionFailed "getAxes" GestureStylus) => O.MethodInfo GestureStylusGetAxesMethodInfo o p where
+    overloadedMethod _ = undefined
+#endif
+
+-- method GestureStylus::get_axis
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureStylus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureStylus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "axis", argType = TInterface (Name {namespace = "Gdk", name = "AxisUse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "requested device axis", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the axis value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_stylus_get_axis" gtk_gesture_stylus_get_axis :: 
+    Ptr GestureStylus ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureStylus"})
+    CUInt ->                                -- axis : TInterface (Name {namespace = "Gdk", name = "AxisUse"})
+    Ptr CDouble ->                          -- value : TBasicType TDouble
+    IO CInt
+
+{- |
+Returns the current value for the requested /@axis@/. This function
+must be called from either the 'GI.Gtk.Objects.GestureStylus.GestureStylus':@/down/@,
+'GI.Gtk.Objects.GestureStylus.GestureStylus':@/motion/@, 'GI.Gtk.Objects.GestureStylus.GestureStylus':@/up/@ or 'GI.Gtk.Objects.GestureStylus.GestureStylus':@/proximity/@
+signals.
+
+/Since: 3.24/
+-}
+gestureStylusGetAxis ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureStylus a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureStylus.GestureStylus' -}
+    -> Gdk.Enums.AxisUse
+    {- ^ /@axis@/: requested device axis -}
+    -> m ((Bool, Double))
+    {- ^ __Returns:__ @/TRUE/@ if there is a current value for the axis -}
+gestureStylusGetAxis gesture axis = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    let axis' = (fromIntegral . fromEnum) axis
+    value <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_gesture_stylus_get_axis gesture' axis' value
+    let result' = (/= 0) result
+    value' <- peek value
+    let value'' = realToFrac value'
+    touchManagedPtr gesture
+    freeMem value
+    return (result', value'')
+
+#if ENABLE_OVERLOADING
+data GestureStylusGetAxisMethodInfo
+instance (signature ~ (Gdk.Enums.AxisUse -> m ((Bool, Double))), MonadIO m, IsGestureStylus a) => O.MethodInfo GestureStylusGetAxisMethodInfo a signature where
+    overloadedMethod _ = gestureStylusGetAxis
+
+#endif
+
+-- method GestureStylus::get_device_tool
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureStylus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureStylus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DeviceTool"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_stylus_get_device_tool" gtk_gesture_stylus_get_device_tool :: 
+    Ptr GestureStylus ->                    -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureStylus"})
+    IO (Ptr Gdk.DeviceTool.DeviceTool)
+
+{- |
+Returns the 'GI.Gdk.Objects.DeviceTool.DeviceTool' currently driving input through this gesture.
+This function must be called from either the 'GI.Gtk.Objects.GestureStylus.GestureStylus'::@/down/@,
+'GI.Gtk.Objects.GestureStylus.GestureStylus'::@/motion/@, 'GI.Gtk.Objects.GestureStylus.GestureStylus'::@/up/@ or 'GI.Gtk.Objects.GestureStylus.GestureStylus'::@/proximity/@
+signal handlers.
+
+/Since: 3.24/
+-}
+gestureStylusGetDeviceTool ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureStylus a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureStylus.GestureStylus' -}
+    -> m (Maybe Gdk.DeviceTool.DeviceTool)
+    {- ^ __Returns:__ The current stylus tool -}
+gestureStylusGetDeviceTool gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_stylus_get_device_tool gesture'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.DeviceTool.DeviceTool) result'
+        return result''
+    touchManagedPtr gesture
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data GestureStylusGetDeviceToolMethodInfo
+instance (signature ~ (m (Maybe Gdk.DeviceTool.DeviceTool)), MonadIO m, IsGestureStylus a) => O.MethodInfo GestureStylusGetDeviceToolMethodInfo a signature where
+    overloadedMethod _ = gestureStylusGetDeviceTool
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/GestureStylus.hs-boot b/GI/Gtk/Objects/GestureStylus.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureStylus.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GestureStylus where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GestureStylus = GestureStylus (ManagedPtr GestureStylus)
+instance GObject GestureStylus where
+class (GObject o, O.IsDescendantOf GestureStylus o) => IsGestureStylus o
+instance (GObject o, O.IsDescendantOf GestureStylus o) => IsGestureStylus o
+instance O.HasParentTypes GestureStylus
+#if ENABLE_OVERLOADING
+data GestureStylusDownSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureStylusMotionSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureStylusProximitySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureStylusUpSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureStylusGetAxesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureStylusGetAxisMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureStylusGetDeviceToolMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/GestureSwipe.hs b/GI/Gtk/Objects/GestureSwipe.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureSwipe.hs
@@ -0,0 +1,368 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GestureSwipe.GestureSwipe' is a 'GI.Gtk.Objects.Gesture.Gesture' implementation able to recognize
+swipes, after a press\/move\/...\/move\/release sequence happens, the
+'GI.Gtk.Objects.GestureSwipe.GestureSwipe'::@/swipe/@ signal will be emitted, providing the velocity
+and directionality of the sequence at the time it was lifted.
+
+If the velocity is desired in intermediate points,
+'GI.Gtk.Objects.GestureSwipe.gestureSwipeGetVelocity' can be called on eg. a
+'GI.Gtk.Objects.Gesture.Gesture'::@/update/@ handler.
+
+All velocities are reported in pixels\/sec units.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GestureSwipe
+    ( 
+
+-- * Exported types
+    GestureSwipe(..)                        ,
+    IsGestureSwipe                          ,
+    toGestureSwipe                          ,
+    noGestureSwipe                          ,
+
+
+ -- * Methods
+-- ** getVelocity #method:getVelocity#
+
+#if ENABLE_OVERLOADING
+    GestureSwipeGetVelocityMethodInfo       ,
+#endif
+    gestureSwipeGetVelocity                 ,
+
+
+-- ** new #method:new#
+
+    gestureSwipeNew                         ,
+
+
+
+
+ -- * Signals
+-- ** swipe #signal:swipe#
+
+    C_GestureSwipeSwipeCallback             ,
+    GestureSwipeSwipeCallback               ,
+#if ENABLE_OVERLOADING
+    GestureSwipeSwipeSignalInfo             ,
+#endif
+    afterGestureSwipeSwipe                  ,
+    genClosure_GestureSwipeSwipe            ,
+    mk_GestureSwipeSwipeCallback            ,
+    noGestureSwipeSwipeCallback             ,
+    onGestureSwipeSwipe                     ,
+    wrap_GestureSwipeSwipeCallback          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
+import {-# SOURCE #-} qualified GI.Gtk.Objects.GestureSingle as Gtk.GestureSingle
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype GestureSwipe = GestureSwipe (ManagedPtr GestureSwipe)
+foreign import ccall "gtk_gesture_swipe_get_type"
+    c_gtk_gesture_swipe_get_type :: IO GType
+
+instance GObject GestureSwipe where
+    gobjectType = c_gtk_gesture_swipe_get_type
+    
+
+-- | Type class for types which can be safely cast to `GestureSwipe`, for instance with `toGestureSwipe`.
+class (GObject o, O.IsDescendantOf GestureSwipe o) => IsGestureSwipe o
+instance (GObject o, O.IsDescendantOf GestureSwipe o) => IsGestureSwipe o
+
+instance O.HasParentTypes GestureSwipe
+type instance O.ParentTypes GestureSwipe = '[Gtk.GestureSingle.GestureSingle, Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `GestureSwipe`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGestureSwipe :: (MonadIO m, IsGestureSwipe o) => o -> m GestureSwipe
+toGestureSwipe = liftIO . unsafeCastTo GestureSwipe
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GestureSwipe`.
+noGestureSwipe :: Maybe GestureSwipe
+noGestureSwipe = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGestureSwipeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGestureSwipeMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGestureSwipeMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGestureSwipeMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGestureSwipeMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGestureSwipeMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGestureSwipeMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
+    ResolveGestureSwipeMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGestureSwipeMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
+    ResolveGestureSwipeMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
+    ResolveGestureSwipeMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGestureSwipeMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
+    ResolveGestureSwipeMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
+    ResolveGestureSwipeMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGestureSwipeMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGestureSwipeMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGestureSwipeMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGestureSwipeMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGestureSwipeMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGestureSwipeMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGestureSwipeMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGestureSwipeMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGestureSwipeMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
+    ResolveGestureSwipeMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGestureSwipeMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGestureSwipeMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
+    ResolveGestureSwipeMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
+    ResolveGestureSwipeMethod "getButton" o = Gtk.GestureSingle.GestureSingleGetButtonMethodInfo
+    ResolveGestureSwipeMethod "getCurrentButton" o = Gtk.GestureSingle.GestureSingleGetCurrentButtonMethodInfo
+    ResolveGestureSwipeMethod "getCurrentSequence" o = Gtk.GestureSingle.GestureSingleGetCurrentSequenceMethodInfo
+    ResolveGestureSwipeMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGestureSwipeMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
+    ResolveGestureSwipeMethod "getExclusive" o = Gtk.GestureSingle.GestureSingleGetExclusiveMethodInfo
+    ResolveGestureSwipeMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
+    ResolveGestureSwipeMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
+    ResolveGestureSwipeMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGestureSwipeMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
+    ResolveGestureSwipeMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGestureSwipeMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGestureSwipeMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGestureSwipeMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
+    ResolveGestureSwipeMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
+    ResolveGestureSwipeMethod "getTouchOnly" o = Gtk.GestureSingle.GestureSingleGetTouchOnlyMethodInfo
+    ResolveGestureSwipeMethod "getVelocity" o = GestureSwipeGetVelocityMethodInfo
+    ResolveGestureSwipeMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGestureSwipeMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
+    ResolveGestureSwipeMethod "setButton" o = Gtk.GestureSingle.GestureSingleSetButtonMethodInfo
+    ResolveGestureSwipeMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGestureSwipeMethod "setExclusive" o = Gtk.GestureSingle.GestureSingleSetExclusiveMethodInfo
+    ResolveGestureSwipeMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGestureSwipeMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGestureSwipeMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
+    ResolveGestureSwipeMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
+    ResolveGestureSwipeMethod "setTouchOnly" o = Gtk.GestureSingle.GestureSingleSetTouchOnlyMethodInfo
+    ResolveGestureSwipeMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
+    ResolveGestureSwipeMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGestureSwipeMethod t GestureSwipe, O.MethodInfo info GestureSwipe p) => OL.IsLabel t (GestureSwipe -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal GestureSwipe::swipe
+{- |
+This signal is emitted when the recognized gesture is finished, velocity
+and direction are a product of previously recorded events.
+
+/Since: 3.14/
+-}
+type GestureSwipeSwipeCallback =
+    Double
+    {- ^ /@velocityX@/: velocity in the X axis, in pixels\/sec -}
+    -> Double
+    {- ^ /@velocityY@/: velocity in the Y axis, in pixels\/sec -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureSwipeSwipeCallback`@.
+noGestureSwipeSwipeCallback :: Maybe GestureSwipeSwipeCallback
+noGestureSwipeSwipeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureSwipeSwipeCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureSwipeSwipeCallback`.
+foreign import ccall "wrapper"
+    mk_GestureSwipeSwipeCallback :: C_GestureSwipeSwipeCallback -> IO (FunPtr C_GestureSwipeSwipeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureSwipeSwipe :: MonadIO m => GestureSwipeSwipeCallback -> m (GClosure C_GestureSwipeSwipeCallback)
+genClosure_GestureSwipeSwipe cb = liftIO $ do
+    let cb' = wrap_GestureSwipeSwipeCallback cb
+    mk_GestureSwipeSwipeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureSwipeSwipeCallback` into a `C_GestureSwipeSwipeCallback`.
+wrap_GestureSwipeSwipeCallback ::
+    GestureSwipeSwipeCallback ->
+    C_GestureSwipeSwipeCallback
+wrap_GestureSwipeSwipeCallback _cb _ velocityX velocityY _ = do
+    let velocityX' = realToFrac velocityX
+    let velocityY' = realToFrac velocityY
+    _cb  velocityX' velocityY'
+
+
+{- |
+Connect a signal handler for the “@swipe@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureSwipe #swipe callback
+@
+-}
+onGestureSwipeSwipe :: (IsGestureSwipe a, MonadIO m) => a -> GestureSwipeSwipeCallback -> m SignalHandlerId
+onGestureSwipeSwipe obj cb = liftIO $ do
+    let cb' = wrap_GestureSwipeSwipeCallback cb
+    cb'' <- mk_GestureSwipeSwipeCallback cb'
+    connectSignalFunPtr obj "swipe" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@swipe@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureSwipe #swipe callback
+@
+-}
+afterGestureSwipeSwipe :: (IsGestureSwipe a, MonadIO m) => a -> GestureSwipeSwipeCallback -> m SignalHandlerId
+afterGestureSwipeSwipe obj cb = liftIO $ do
+    let cb' = wrap_GestureSwipeSwipeCallback cb
+    cb'' <- mk_GestureSwipeSwipeCallback cb'
+    connectSignalFunPtr obj "swipe" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GestureSwipe
+type instance O.AttributeList GestureSwipe = GestureSwipeAttributeList
+type GestureSwipeAttributeList = ('[ '("button", Gtk.GestureSingle.GestureSingleButtonPropertyInfo), '("exclusive", Gtk.GestureSingle.GestureSingleExclusivePropertyInfo), '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("touchOnly", Gtk.GestureSingle.GestureSingleTouchOnlyPropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data GestureSwipeSwipeSignalInfo
+instance SignalInfo GestureSwipeSwipeSignalInfo where
+    type HaskellCallbackType GestureSwipeSwipeSignalInfo = GestureSwipeSwipeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureSwipeSwipeCallback cb
+        cb'' <- mk_GestureSwipeSwipeCallback cb'
+        connectSignalFunPtr obj "swipe" cb'' connectMode
+
+type instance O.SignalList GestureSwipe = GestureSwipeSignalList
+type GestureSwipeSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("swipe", GestureSwipeSwipeSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GestureSwipe::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "GestureSwipe"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_swipe_new" gtk_gesture_swipe_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr GestureSwipe)
+
+{- |
+Returns a newly created 'GI.Gtk.Objects.Gesture.Gesture' that recognizes swipes.
+
+/Since: 3.14/
+-}
+gestureSwipeNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m GestureSwipe
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.GestureSwipe.GestureSwipe' -}
+gestureSwipeNew widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_gesture_swipe_new widget'
+    checkUnexpectedReturnNULL "gestureSwipeNew" result
+    result' <- (wrapObject GestureSwipe) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method GestureSwipe::get_velocity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureSwipe"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureSwipe", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "velocity_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the velocity in the X axis, in pixels/sec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "velocity_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the velocity in the Y axis, in pixels/sec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_swipe_get_velocity" gtk_gesture_swipe_get_velocity :: 
+    Ptr GestureSwipe ->                     -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureSwipe"})
+    Ptr CDouble ->                          -- velocity_x : TBasicType TDouble
+    Ptr CDouble ->                          -- velocity_y : TBasicType TDouble
+    IO CInt
+
+{- |
+If the gesture is recognized, this function returns 'True' and fill in
+/@velocityX@/ and /@velocityY@/ with the recorded velocity, as per the
+last event(s) processed.
+
+/Since: 3.14/
+-}
+gestureSwipeGetVelocity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureSwipe a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureSwipe.GestureSwipe' -}
+    -> m ((Bool, Double, Double))
+    {- ^ __Returns:__ whether velocity could be calculated -}
+gestureSwipeGetVelocity gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    velocityX <- allocMem :: IO (Ptr CDouble)
+    velocityY <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_gesture_swipe_get_velocity gesture' velocityX velocityY
+    let result' = (/= 0) result
+    velocityX' <- peek velocityX
+    let velocityX'' = realToFrac velocityX'
+    velocityY' <- peek velocityY
+    let velocityY'' = realToFrac velocityY'
+    touchManagedPtr gesture
+    freeMem velocityX
+    freeMem velocityY
+    return (result', velocityX'', velocityY'')
+
+#if ENABLE_OVERLOADING
+data GestureSwipeGetVelocityMethodInfo
+instance (signature ~ (m ((Bool, Double, Double))), MonadIO m, IsGestureSwipe a) => O.MethodInfo GestureSwipeGetVelocityMethodInfo a signature where
+    overloadedMethod _ = gestureSwipeGetVelocity
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/GestureSwipe.hs-boot b/GI/Gtk/Objects/GestureSwipe.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureSwipe.hs-boot
@@ -0,0 +1,35 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GestureSwipe where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GestureSwipe = GestureSwipe (ManagedPtr GestureSwipe)
+instance GObject GestureSwipe where
+class (GObject o, O.IsDescendantOf GestureSwipe o) => IsGestureSwipe o
+instance (GObject o, O.IsDescendantOf GestureSwipe o) => IsGestureSwipe o
+instance O.HasParentTypes GestureSwipe
+#if ENABLE_OVERLOADING
+data GestureSwipeSwipeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureSwipeGetVelocityMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/GestureZoom.hs b/GI/Gtk/Objects/GestureZoom.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureZoom.hs
@@ -0,0 +1,340 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.GestureZoom.GestureZoom' is a 'GI.Gtk.Objects.Gesture.Gesture' implementation able to recognize
+pinch\/zoom gestures, whenever the distance between both tracked
+sequences changes, the 'GI.Gtk.Objects.GestureZoom.GestureZoom'::@/scale-changed/@ signal is
+emitted to report the scale factor.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.GestureZoom
+    ( 
+
+-- * Exported types
+    GestureZoom(..)                         ,
+    IsGestureZoom                           ,
+    toGestureZoom                           ,
+    noGestureZoom                           ,
+
+
+ -- * Methods
+-- ** getScaleDelta #method:getScaleDelta#
+
+#if ENABLE_OVERLOADING
+    GestureZoomGetScaleDeltaMethodInfo      ,
+#endif
+    gestureZoomGetScaleDelta                ,
+
+
+-- ** new #method:new#
+
+    gestureZoomNew                          ,
+
+
+
+
+ -- * Signals
+-- ** scaleChanged #signal:scaleChanged#
+
+    C_GestureZoomScaleChangedCallback       ,
+    GestureZoomScaleChangedCallback         ,
+#if ENABLE_OVERLOADING
+    GestureZoomScaleChangedSignalInfo       ,
+#endif
+    afterGestureZoomScaleChanged            ,
+    genClosure_GestureZoomScaleChanged      ,
+    mk_GestureZoomScaleChangedCallback      ,
+    noGestureZoomScaleChangedCallback       ,
+    onGestureZoomScaleChanged               ,
+    wrap_GestureZoomScaleChangedCallback    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype GestureZoom = GestureZoom (ManagedPtr GestureZoom)
+foreign import ccall "gtk_gesture_zoom_get_type"
+    c_gtk_gesture_zoom_get_type :: IO GType
+
+instance GObject GestureZoom where
+    gobjectType = c_gtk_gesture_zoom_get_type
+    
+
+-- | Type class for types which can be safely cast to `GestureZoom`, for instance with `toGestureZoom`.
+class (GObject o, O.IsDescendantOf GestureZoom o) => IsGestureZoom o
+instance (GObject o, O.IsDescendantOf GestureZoom o) => IsGestureZoom o
+
+instance O.HasParentTypes GestureZoom
+type instance O.ParentTypes GestureZoom = '[Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `GestureZoom`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGestureZoom :: (MonadIO m, IsGestureZoom o) => o -> m GestureZoom
+toGestureZoom = liftIO . unsafeCastTo GestureZoom
+
+-- | A convenience alias for `Nothing` :: `Maybe` `GestureZoom`.
+noGestureZoom :: Maybe GestureZoom
+noGestureZoom = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGestureZoomMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGestureZoomMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGestureZoomMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGestureZoomMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGestureZoomMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGestureZoomMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGestureZoomMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
+    ResolveGestureZoomMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolveGestureZoomMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
+    ResolveGestureZoomMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
+    ResolveGestureZoomMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGestureZoomMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
+    ResolveGestureZoomMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
+    ResolveGestureZoomMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGestureZoomMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGestureZoomMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGestureZoomMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGestureZoomMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolveGestureZoomMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGestureZoomMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGestureZoomMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGestureZoomMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGestureZoomMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
+    ResolveGestureZoomMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGestureZoomMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGestureZoomMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
+    ResolveGestureZoomMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
+    ResolveGestureZoomMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGestureZoomMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
+    ResolveGestureZoomMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
+    ResolveGestureZoomMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
+    ResolveGestureZoomMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
+    ResolveGestureZoomMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
+    ResolveGestureZoomMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolveGestureZoomMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGestureZoomMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGestureZoomMethod "getScaleDelta" o = GestureZoomGetScaleDeltaMethodInfo
+    ResolveGestureZoomMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
+    ResolveGestureZoomMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
+    ResolveGestureZoomMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolveGestureZoomMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
+    ResolveGestureZoomMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGestureZoomMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolveGestureZoomMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGestureZoomMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
+    ResolveGestureZoomMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
+    ResolveGestureZoomMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
+    ResolveGestureZoomMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGestureZoomMethod t GestureZoom, O.MethodInfo info GestureZoom p) => OL.IsLabel t (GestureZoom -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal GestureZoom::scale-changed
+{- |
+This signal is emitted whenever the distance between both tracked
+sequences changes.
+
+/Since: 3.14/
+-}
+type GestureZoomScaleChangedCallback =
+    Double
+    {- ^ /@scale@/: Scale delta, taking the initial state as 1:1 -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `GestureZoomScaleChangedCallback`@.
+noGestureZoomScaleChangedCallback :: Maybe GestureZoomScaleChangedCallback
+noGestureZoomScaleChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_GestureZoomScaleChangedCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_GestureZoomScaleChangedCallback`.
+foreign import ccall "wrapper"
+    mk_GestureZoomScaleChangedCallback :: C_GestureZoomScaleChangedCallback -> IO (FunPtr C_GestureZoomScaleChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_GestureZoomScaleChanged :: MonadIO m => GestureZoomScaleChangedCallback -> m (GClosure C_GestureZoomScaleChangedCallback)
+genClosure_GestureZoomScaleChanged cb = liftIO $ do
+    let cb' = wrap_GestureZoomScaleChangedCallback cb
+    mk_GestureZoomScaleChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `GestureZoomScaleChangedCallback` into a `C_GestureZoomScaleChangedCallback`.
+wrap_GestureZoomScaleChangedCallback ::
+    GestureZoomScaleChangedCallback ->
+    C_GestureZoomScaleChangedCallback
+wrap_GestureZoomScaleChangedCallback _cb _ scale _ = do
+    let scale' = realToFrac scale
+    _cb  scale'
+
+
+{- |
+Connect a signal handler for the “@scale-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' gestureZoom #scaleChanged callback
+@
+-}
+onGestureZoomScaleChanged :: (IsGestureZoom a, MonadIO m) => a -> GestureZoomScaleChangedCallback -> m SignalHandlerId
+onGestureZoomScaleChanged obj cb = liftIO $ do
+    let cb' = wrap_GestureZoomScaleChangedCallback cb
+    cb'' <- mk_GestureZoomScaleChangedCallback cb'
+    connectSignalFunPtr obj "scale-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@scale-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' gestureZoom #scaleChanged callback
+@
+-}
+afterGestureZoomScaleChanged :: (IsGestureZoom a, MonadIO m) => a -> GestureZoomScaleChangedCallback -> m SignalHandlerId
+afterGestureZoomScaleChanged obj cb = liftIO $ do
+    let cb' = wrap_GestureZoomScaleChangedCallback cb
+    cb'' <- mk_GestureZoomScaleChangedCallback cb'
+    connectSignalFunPtr obj "scale-changed" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList GestureZoom
+type instance O.AttributeList GestureZoom = GestureZoomAttributeList
+type GestureZoomAttributeList = ('[ '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data GestureZoomScaleChangedSignalInfo
+instance SignalInfo GestureZoomScaleChangedSignalInfo where
+    type HaskellCallbackType GestureZoomScaleChangedSignalInfo = GestureZoomScaleChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_GestureZoomScaleChangedCallback cb
+        cb'' <- mk_GestureZoomScaleChangedCallback cb'
+        connectSignalFunPtr obj "scale-changed" cb'' connectMode
+
+type instance O.SignalList GestureZoom = GestureZoomSignalList
+type GestureZoomSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("scaleChanged", GestureZoomScaleChangedSignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method GestureZoom::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "GestureZoom"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_zoom_new" gtk_gesture_zoom_new :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr GestureZoom)
+
+{- |
+Returns a newly created 'GI.Gtk.Objects.Gesture.Gesture' that recognizes zoom
+in\/out gestures (usually known as pinch\/zoom).
+
+/Since: 3.14/
+-}
+gestureZoomNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m GestureZoom
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.GestureZoom.GestureZoom' -}
+gestureZoomNew widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_gesture_zoom_new widget'
+    checkUnexpectedReturnNULL "gestureZoomNew" result
+    result' <- (wrapObject GestureZoom) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method GestureZoom::get_scale_delta
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gesture", argType = TInterface (Name {namespace = "Gtk", name = "GestureZoom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGestureZoom", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gesture_zoom_get_scale_delta" gtk_gesture_zoom_get_scale_delta :: 
+    Ptr GestureZoom ->                      -- gesture : TInterface (Name {namespace = "Gtk", name = "GestureZoom"})
+    IO CDouble
+
+{- |
+If /@gesture@/ is active, this function returns the zooming difference
+since the gesture was recognized (hence the starting point is
+considered 1:1). If /@gesture@/ is not active, 1 is returned.
+
+/Since: 3.14/
+-}
+gestureZoomGetScaleDelta ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGestureZoom a) =>
+    a
+    {- ^ /@gesture@/: a 'GI.Gtk.Objects.GestureZoom.GestureZoom' -}
+    -> m Double
+    {- ^ __Returns:__ the scale delta -}
+gestureZoomGetScaleDelta gesture = liftIO $ do
+    gesture' <- unsafeManagedPtrCastPtr gesture
+    result <- gtk_gesture_zoom_get_scale_delta gesture'
+    let result' = realToFrac result
+    touchManagedPtr gesture
+    return result'
+
+#if ENABLE_OVERLOADING
+data GestureZoomGetScaleDeltaMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsGestureZoom a) => O.MethodInfo GestureZoomGetScaleDeltaMethodInfo a signature where
+    overloadedMethod _ = gestureZoomGetScaleDelta
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/GestureZoom.hs-boot b/GI/Gtk/Objects/GestureZoom.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/GestureZoom.hs-boot
@@ -0,0 +1,35 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.GestureZoom where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype GestureZoom = GestureZoom (ManagedPtr GestureZoom)
+instance GObject GestureZoom where
+class (GObject o, O.IsDescendantOf GestureZoom o) => IsGestureZoom o
+instance (GObject o, O.IsDescendantOf GestureZoom o) => IsGestureZoom o
+instance O.HasParentTypes GestureZoom
+#if ENABLE_OVERLOADING
+data GestureZoomScaleChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data GestureZoomGetScaleDeltaMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Grid.hs b/GI/Gtk/Objects/Grid.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Grid.hs
@@ -0,0 +1,1815 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkGrid is a container which arranges its child widgets in
+rows and columns, with arbitrary positions and horizontal\/vertical spans.
+
+Children are added using 'GI.Gtk.Objects.Grid.gridAttach'. They can span multiple
+rows or columns. It is also possible to add a child next to an
+existing child, using 'GI.Gtk.Objects.Grid.gridAttachNextTo'. The behaviour of
+GtkGrid when several children occupy the same grid cell is undefined.
+
+GtkGrid can be used like a 'GI.Gtk.Objects.Box.Box' by just using 'GI.Gtk.Objects.Container.containerAdd',
+which will place children next to each other in the direction determined
+by the 'GI.Gtk.Interfaces.Orientable.Orientable':@/orientation/@ property. However, if all you want is a
+single row or column, then 'GI.Gtk.Objects.Box.Box' is the preferred widget.
+
+= CSS nodes
+
+GtkGrid uses a single CSS node with name grid.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Grid
+    ( 
+
+-- * Exported types
+    Grid(..)                                ,
+    IsGrid                                  ,
+    toGrid                                  ,
+    noGrid                                  ,
+
+
+ -- * Methods
+-- ** attach #method:attach#
+
+#if ENABLE_OVERLOADING
+    GridAttachMethodInfo                    ,
+#endif
+    gridAttach                              ,
+
+
+-- ** attachNextTo #method:attachNextTo#
+
+#if ENABLE_OVERLOADING
+    GridAttachNextToMethodInfo              ,
+#endif
+    gridAttachNextTo                        ,
+
+
+-- ** getBaselineRow #method:getBaselineRow#
+
+#if ENABLE_OVERLOADING
+    GridGetBaselineRowMethodInfo            ,
+#endif
+    gridGetBaselineRow                      ,
+
+
+-- ** getChildAt #method:getChildAt#
+
+#if ENABLE_OVERLOADING
+    GridGetChildAtMethodInfo                ,
+#endif
+    gridGetChildAt                          ,
+
+
+-- ** getColumnHomogeneous #method:getColumnHomogeneous#
+
+#if ENABLE_OVERLOADING
+    GridGetColumnHomogeneousMethodInfo      ,
+#endif
+    gridGetColumnHomogeneous                ,
+
+
+-- ** getColumnSpacing #method:getColumnSpacing#
+
+#if ENABLE_OVERLOADING
+    GridGetColumnSpacingMethodInfo          ,
+#endif
+    gridGetColumnSpacing                    ,
+
+
+-- ** getRowBaselinePosition #method:getRowBaselinePosition#
+
+#if ENABLE_OVERLOADING
+    GridGetRowBaselinePositionMethodInfo    ,
+#endif
+    gridGetRowBaselinePosition              ,
+
+
+-- ** getRowHomogeneous #method:getRowHomogeneous#
+
+#if ENABLE_OVERLOADING
+    GridGetRowHomogeneousMethodInfo         ,
+#endif
+    gridGetRowHomogeneous                   ,
+
+
+-- ** getRowSpacing #method:getRowSpacing#
+
+#if ENABLE_OVERLOADING
+    GridGetRowSpacingMethodInfo             ,
+#endif
+    gridGetRowSpacing                       ,
+
+
+-- ** insertColumn #method:insertColumn#
+
+#if ENABLE_OVERLOADING
+    GridInsertColumnMethodInfo              ,
+#endif
+    gridInsertColumn                        ,
+
+
+-- ** insertNextTo #method:insertNextTo#
+
+#if ENABLE_OVERLOADING
+    GridInsertNextToMethodInfo              ,
+#endif
+    gridInsertNextTo                        ,
+
+
+-- ** insertRow #method:insertRow#
+
+#if ENABLE_OVERLOADING
+    GridInsertRowMethodInfo                 ,
+#endif
+    gridInsertRow                           ,
+
+
+-- ** new #method:new#
+
+    gridNew                                 ,
+
+
+-- ** removeColumn #method:removeColumn#
+
+#if ENABLE_OVERLOADING
+    GridRemoveColumnMethodInfo              ,
+#endif
+    gridRemoveColumn                        ,
+
+
+-- ** removeRow #method:removeRow#
+
+#if ENABLE_OVERLOADING
+    GridRemoveRowMethodInfo                 ,
+#endif
+    gridRemoveRow                           ,
+
+
+-- ** setBaselineRow #method:setBaselineRow#
+
+#if ENABLE_OVERLOADING
+    GridSetBaselineRowMethodInfo            ,
+#endif
+    gridSetBaselineRow                      ,
+
+
+-- ** setColumnHomogeneous #method:setColumnHomogeneous#
+
+#if ENABLE_OVERLOADING
+    GridSetColumnHomogeneousMethodInfo      ,
+#endif
+    gridSetColumnHomogeneous                ,
+
+
+-- ** setColumnSpacing #method:setColumnSpacing#
+
+#if ENABLE_OVERLOADING
+    GridSetColumnSpacingMethodInfo          ,
+#endif
+    gridSetColumnSpacing                    ,
+
+
+-- ** setRowBaselinePosition #method:setRowBaselinePosition#
+
+#if ENABLE_OVERLOADING
+    GridSetRowBaselinePositionMethodInfo    ,
+#endif
+    gridSetRowBaselinePosition              ,
+
+
+-- ** setRowHomogeneous #method:setRowHomogeneous#
+
+#if ENABLE_OVERLOADING
+    GridSetRowHomogeneousMethodInfo         ,
+#endif
+    gridSetRowHomogeneous                   ,
+
+
+-- ** setRowSpacing #method:setRowSpacing#
+
+#if ENABLE_OVERLOADING
+    GridSetRowSpacingMethodInfo             ,
+#endif
+    gridSetRowSpacing                       ,
+
+
+
+
+ -- * Properties
+-- ** baselineRow #attr:baselineRow#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    GridBaselineRowPropertyInfo             ,
+#endif
+    constructGridBaselineRow                ,
+    getGridBaselineRow                      ,
+#if ENABLE_OVERLOADING
+    gridBaselineRow                         ,
+#endif
+    setGridBaselineRow                      ,
+
+
+-- ** columnHomogeneous #attr:columnHomogeneous#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    GridColumnHomogeneousPropertyInfo       ,
+#endif
+    constructGridColumnHomogeneous          ,
+    getGridColumnHomogeneous                ,
+#if ENABLE_OVERLOADING
+    gridColumnHomogeneous                   ,
+#endif
+    setGridColumnHomogeneous                ,
+
+
+-- ** columnSpacing #attr:columnSpacing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    GridColumnSpacingPropertyInfo           ,
+#endif
+    constructGridColumnSpacing              ,
+    getGridColumnSpacing                    ,
+#if ENABLE_OVERLOADING
+    gridColumnSpacing                       ,
+#endif
+    setGridColumnSpacing                    ,
+
+
+-- ** rowHomogeneous #attr:rowHomogeneous#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    GridRowHomogeneousPropertyInfo          ,
+#endif
+    constructGridRowHomogeneous             ,
+    getGridRowHomogeneous                   ,
+#if ENABLE_OVERLOADING
+    gridRowHomogeneous                      ,
+#endif
+    setGridRowHomogeneous                   ,
+
+
+-- ** rowSpacing #attr:rowSpacing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    GridRowSpacingPropertyInfo              ,
+#endif
+    constructGridRowSpacing                 ,
+    getGridRowSpacing                       ,
+#if ENABLE_OVERLOADING
+    gridRowSpacing                          ,
+#endif
+    setGridRowSpacing                       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Grid = Grid (ManagedPtr Grid)
+foreign import ccall "gtk_grid_get_type"
+    c_gtk_grid_get_type :: IO GType
+
+instance GObject Grid where
+    gobjectType = c_gtk_grid_get_type
+    
+
+-- | Type class for types which can be safely cast to `Grid`, for instance with `toGrid`.
+class (GObject o, O.IsDescendantOf Grid o) => IsGrid o
+instance (GObject o, O.IsDescendantOf Grid o) => IsGrid o
+
+instance O.HasParentTypes Grid
+type instance O.ParentTypes Grid = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `Grid`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toGrid :: (MonadIO m, IsGrid o) => o -> m Grid
+toGrid = liftIO . unsafeCastTo Grid
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Grid`.
+noGrid :: Maybe Grid
+noGrid = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveGridMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGridMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveGridMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveGridMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveGridMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveGridMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveGridMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveGridMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveGridMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveGridMethod "attach" o = GridAttachMethodInfo
+    ResolveGridMethod "attachNextTo" o = GridAttachNextToMethodInfo
+    ResolveGridMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveGridMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveGridMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveGridMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveGridMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveGridMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveGridMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveGridMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveGridMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveGridMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveGridMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveGridMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveGridMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveGridMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveGridMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveGridMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveGridMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveGridMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveGridMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveGridMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveGridMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveGridMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveGridMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveGridMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveGridMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveGridMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveGridMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveGridMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveGridMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveGridMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveGridMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveGridMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveGridMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveGridMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveGridMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveGridMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveGridMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveGridMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveGridMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveGridMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveGridMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveGridMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveGridMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveGridMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveGridMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveGridMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveGridMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveGridMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveGridMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveGridMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveGridMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveGridMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveGridMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveGridMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveGridMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveGridMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveGridMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveGridMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveGridMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveGridMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveGridMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveGridMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveGridMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveGridMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveGridMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveGridMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveGridMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveGridMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveGridMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveGridMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveGridMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveGridMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveGridMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveGridMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveGridMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveGridMethod "insertColumn" o = GridInsertColumnMethodInfo
+    ResolveGridMethod "insertNextTo" o = GridInsertNextToMethodInfo
+    ResolveGridMethod "insertRow" o = GridInsertRowMethodInfo
+    ResolveGridMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveGridMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveGridMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveGridMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveGridMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveGridMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveGridMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveGridMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveGridMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveGridMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveGridMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveGridMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveGridMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveGridMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveGridMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveGridMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveGridMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveGridMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveGridMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveGridMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveGridMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveGridMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveGridMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveGridMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveGridMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveGridMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveGridMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveGridMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveGridMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveGridMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveGridMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveGridMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveGridMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveGridMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveGridMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveGridMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveGridMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveGridMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveGridMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveGridMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveGridMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveGridMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveGridMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveGridMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveGridMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveGridMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveGridMethod "removeColumn" o = GridRemoveColumnMethodInfo
+    ResolveGridMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveGridMethod "removeRow" o = GridRemoveRowMethodInfo
+    ResolveGridMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveGridMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveGridMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveGridMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveGridMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveGridMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveGridMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveGridMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveGridMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveGridMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveGridMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveGridMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveGridMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveGridMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveGridMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveGridMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveGridMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveGridMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveGridMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveGridMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveGridMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveGridMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveGridMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveGridMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveGridMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveGridMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveGridMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveGridMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveGridMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveGridMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveGridMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveGridMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveGridMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveGridMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveGridMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveGridMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveGridMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveGridMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveGridMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveGridMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveGridMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveGridMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveGridMethod "getBaselineRow" o = GridGetBaselineRowMethodInfo
+    ResolveGridMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveGridMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveGridMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveGridMethod "getChildAt" o = GridGetChildAtMethodInfo
+    ResolveGridMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveGridMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveGridMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveGridMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveGridMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveGridMethod "getColumnHomogeneous" o = GridGetColumnHomogeneousMethodInfo
+    ResolveGridMethod "getColumnSpacing" o = GridGetColumnSpacingMethodInfo
+    ResolveGridMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveGridMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveGridMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveGridMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveGridMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveGridMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveGridMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveGridMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveGridMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveGridMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveGridMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveGridMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveGridMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveGridMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveGridMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveGridMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveGridMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveGridMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveGridMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveGridMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveGridMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveGridMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveGridMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveGridMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveGridMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveGridMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveGridMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveGridMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveGridMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveGridMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveGridMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveGridMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveGridMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveGridMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveGridMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveGridMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveGridMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveGridMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveGridMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveGridMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveGridMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveGridMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveGridMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveGridMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveGridMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveGridMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveGridMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveGridMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveGridMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveGridMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveGridMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveGridMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveGridMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveGridMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveGridMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveGridMethod "getRowBaselinePosition" o = GridGetRowBaselinePositionMethodInfo
+    ResolveGridMethod "getRowHomogeneous" o = GridGetRowHomogeneousMethodInfo
+    ResolveGridMethod "getRowSpacing" o = GridGetRowSpacingMethodInfo
+    ResolveGridMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveGridMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveGridMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveGridMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveGridMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveGridMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveGridMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveGridMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveGridMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveGridMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveGridMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveGridMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveGridMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveGridMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveGridMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveGridMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveGridMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveGridMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveGridMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveGridMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveGridMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveGridMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveGridMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveGridMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveGridMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveGridMethod "setBaselineRow" o = GridSetBaselineRowMethodInfo
+    ResolveGridMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveGridMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveGridMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveGridMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveGridMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveGridMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveGridMethod "setColumnHomogeneous" o = GridSetColumnHomogeneousMethodInfo
+    ResolveGridMethod "setColumnSpacing" o = GridSetColumnSpacingMethodInfo
+    ResolveGridMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveGridMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveGridMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveGridMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveGridMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveGridMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveGridMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveGridMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveGridMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveGridMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveGridMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveGridMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveGridMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveGridMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveGridMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveGridMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveGridMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveGridMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveGridMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveGridMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveGridMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveGridMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveGridMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveGridMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveGridMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveGridMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveGridMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveGridMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveGridMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveGridMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveGridMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveGridMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveGridMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveGridMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveGridMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveGridMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveGridMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveGridMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveGridMethod "setRowBaselinePosition" o = GridSetRowBaselinePositionMethodInfo
+    ResolveGridMethod "setRowHomogeneous" o = GridSetRowHomogeneousMethodInfo
+    ResolveGridMethod "setRowSpacing" o = GridSetRowSpacingMethodInfo
+    ResolveGridMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveGridMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveGridMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveGridMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveGridMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveGridMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveGridMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveGridMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveGridMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveGridMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveGridMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveGridMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveGridMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveGridMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveGridMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveGridMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGridMethod t Grid, O.MethodInfo info Grid p) => OL.IsLabel t (Grid -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "baseline-row"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@baseline-row@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' grid #baselineRow
+@
+-}
+getGridBaselineRow :: (MonadIO m, IsGrid o) => o -> m Int32
+getGridBaselineRow obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "baseline-row"
+
+{- |
+Set the value of the “@baseline-row@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' grid [ #baselineRow 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGridBaselineRow :: (MonadIO m, IsGrid o) => o -> Int32 -> m ()
+setGridBaselineRow obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "baseline-row" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@baseline-row@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGridBaselineRow :: (IsGrid o) => Int32 -> IO (GValueConstruct o)
+constructGridBaselineRow val = B.Properties.constructObjectPropertyInt32 "baseline-row" val
+
+#if ENABLE_OVERLOADING
+data GridBaselineRowPropertyInfo
+instance AttrInfo GridBaselineRowPropertyInfo where
+    type AttrAllowedOps GridBaselineRowPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GridBaselineRowPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint GridBaselineRowPropertyInfo = IsGrid
+    type AttrGetType GridBaselineRowPropertyInfo = Int32
+    type AttrLabel GridBaselineRowPropertyInfo = "baseline-row"
+    type AttrOrigin GridBaselineRowPropertyInfo = Grid
+    attrGet _ = getGridBaselineRow
+    attrSet _ = setGridBaselineRow
+    attrConstruct _ = constructGridBaselineRow
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "column-homogeneous"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@column-homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' grid #columnHomogeneous
+@
+-}
+getGridColumnHomogeneous :: (MonadIO m, IsGrid o) => o -> m Bool
+getGridColumnHomogeneous obj = liftIO $ B.Properties.getObjectPropertyBool obj "column-homogeneous"
+
+{- |
+Set the value of the “@column-homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' grid [ #columnHomogeneous 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGridColumnHomogeneous :: (MonadIO m, IsGrid o) => o -> Bool -> m ()
+setGridColumnHomogeneous obj val = liftIO $ B.Properties.setObjectPropertyBool obj "column-homogeneous" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@column-homogeneous@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGridColumnHomogeneous :: (IsGrid o) => Bool -> IO (GValueConstruct o)
+constructGridColumnHomogeneous val = B.Properties.constructObjectPropertyBool "column-homogeneous" val
+
+#if ENABLE_OVERLOADING
+data GridColumnHomogeneousPropertyInfo
+instance AttrInfo GridColumnHomogeneousPropertyInfo where
+    type AttrAllowedOps GridColumnHomogeneousPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GridColumnHomogeneousPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GridColumnHomogeneousPropertyInfo = IsGrid
+    type AttrGetType GridColumnHomogeneousPropertyInfo = Bool
+    type AttrLabel GridColumnHomogeneousPropertyInfo = "column-homogeneous"
+    type AttrOrigin GridColumnHomogeneousPropertyInfo = Grid
+    attrGet _ = getGridColumnHomogeneous
+    attrSet _ = setGridColumnHomogeneous
+    attrConstruct _ = constructGridColumnHomogeneous
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "column-spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@column-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' grid #columnSpacing
+@
+-}
+getGridColumnSpacing :: (MonadIO m, IsGrid o) => o -> m Int32
+getGridColumnSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "column-spacing"
+
+{- |
+Set the value of the “@column-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' grid [ #columnSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGridColumnSpacing :: (MonadIO m, IsGrid o) => o -> Int32 -> m ()
+setGridColumnSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "column-spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@column-spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGridColumnSpacing :: (IsGrid o) => Int32 -> IO (GValueConstruct o)
+constructGridColumnSpacing val = B.Properties.constructObjectPropertyInt32 "column-spacing" val
+
+#if ENABLE_OVERLOADING
+data GridColumnSpacingPropertyInfo
+instance AttrInfo GridColumnSpacingPropertyInfo where
+    type AttrAllowedOps GridColumnSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GridColumnSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint GridColumnSpacingPropertyInfo = IsGrid
+    type AttrGetType GridColumnSpacingPropertyInfo = Int32
+    type AttrLabel GridColumnSpacingPropertyInfo = "column-spacing"
+    type AttrOrigin GridColumnSpacingPropertyInfo = Grid
+    attrGet _ = getGridColumnSpacing
+    attrSet _ = setGridColumnSpacing
+    attrConstruct _ = constructGridColumnSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "row-homogeneous"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@row-homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' grid #rowHomogeneous
+@
+-}
+getGridRowHomogeneous :: (MonadIO m, IsGrid o) => o -> m Bool
+getGridRowHomogeneous obj = liftIO $ B.Properties.getObjectPropertyBool obj "row-homogeneous"
+
+{- |
+Set the value of the “@row-homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' grid [ #rowHomogeneous 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGridRowHomogeneous :: (MonadIO m, IsGrid o) => o -> Bool -> m ()
+setGridRowHomogeneous obj val = liftIO $ B.Properties.setObjectPropertyBool obj "row-homogeneous" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@row-homogeneous@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGridRowHomogeneous :: (IsGrid o) => Bool -> IO (GValueConstruct o)
+constructGridRowHomogeneous val = B.Properties.constructObjectPropertyBool "row-homogeneous" val
+
+#if ENABLE_OVERLOADING
+data GridRowHomogeneousPropertyInfo
+instance AttrInfo GridRowHomogeneousPropertyInfo where
+    type AttrAllowedOps GridRowHomogeneousPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GridRowHomogeneousPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint GridRowHomogeneousPropertyInfo = IsGrid
+    type AttrGetType GridRowHomogeneousPropertyInfo = Bool
+    type AttrLabel GridRowHomogeneousPropertyInfo = "row-homogeneous"
+    type AttrOrigin GridRowHomogeneousPropertyInfo = Grid
+    attrGet _ = getGridRowHomogeneous
+    attrSet _ = setGridRowHomogeneous
+    attrConstruct _ = constructGridRowHomogeneous
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "row-spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@row-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' grid #rowSpacing
+@
+-}
+getGridRowSpacing :: (MonadIO m, IsGrid o) => o -> m Int32
+getGridRowSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "row-spacing"
+
+{- |
+Set the value of the “@row-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' grid [ #rowSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setGridRowSpacing :: (MonadIO m, IsGrid o) => o -> Int32 -> m ()
+setGridRowSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "row-spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@row-spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructGridRowSpacing :: (IsGrid o) => Int32 -> IO (GValueConstruct o)
+constructGridRowSpacing val = B.Properties.constructObjectPropertyInt32 "row-spacing" val
+
+#if ENABLE_OVERLOADING
+data GridRowSpacingPropertyInfo
+instance AttrInfo GridRowSpacingPropertyInfo where
+    type AttrAllowedOps GridRowSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GridRowSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint GridRowSpacingPropertyInfo = IsGrid
+    type AttrGetType GridRowSpacingPropertyInfo = Int32
+    type AttrLabel GridRowSpacingPropertyInfo = "row-spacing"
+    type AttrOrigin GridRowSpacingPropertyInfo = Grid
+    attrGet _ = getGridRowSpacing
+    attrSet _ = setGridRowSpacing
+    attrConstruct _ = constructGridRowSpacing
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Grid
+type instance O.AttributeList Grid = GridAttributeList
+type GridAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselineRow", GridBaselineRowPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("columnHomogeneous", GridColumnHomogeneousPropertyInfo), '("columnSpacing", GridColumnSpacingPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rowHomogeneous", GridRowHomogeneousPropertyInfo), '("rowSpacing", GridRowSpacingPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+gridBaselineRow :: AttrLabelProxy "baselineRow"
+gridBaselineRow = AttrLabelProxy
+
+gridColumnHomogeneous :: AttrLabelProxy "columnHomogeneous"
+gridColumnHomogeneous = AttrLabelProxy
+
+gridColumnSpacing :: AttrLabelProxy "columnSpacing"
+gridColumnSpacing = AttrLabelProxy
+
+gridRowHomogeneous :: AttrLabelProxy "rowHomogeneous"
+gridRowHomogeneous = AttrLabelProxy
+
+gridRowSpacing :: AttrLabelProxy "rowSpacing"
+gridRowSpacing = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Grid = GridSignalList
+type GridSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Grid::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Grid"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_new" gtk_grid_new :: 
+    IO (Ptr Grid)
+
+{- |
+Creates a new grid widget.
+-}
+gridNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Grid
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Grid.Grid' -}
+gridNew  = liftIO $ do
+    result <- gtk_grid_new
+    checkUnexpectedReturnNULL "gridNew" result
+    result' <- (newObject Grid) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Grid::attach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column number to attach the left side of @child to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "top", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row number to attach the top side of @child to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of columns that @child will span", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of rows that @child will span", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_attach" gtk_grid_attach :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- left : TBasicType TInt
+    Int32 ->                                -- top : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Adds a widget to the grid.
+
+The position of /@child@/ is determined by /@left@/ and /@top@/. The
+number of “cells” that /@child@/ will occupy is determined by
+/@width@/ and /@height@/.
+-}
+gridAttach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> b
+    {- ^ /@child@/: the widget to add -}
+    -> Int32
+    {- ^ /@left@/: the column number to attach the left side of /@child@/ to -}
+    -> Int32
+    {- ^ /@top@/: the row number to attach the top side of /@child@/ to -}
+    -> Int32
+    {- ^ /@width@/: the number of columns that /@child@/ will span -}
+    -> Int32
+    {- ^ /@height@/: the number of rows that /@child@/ will span -}
+    -> m ()
+gridAttach grid child left top width height = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_grid_attach grid' child' left top width height
+    touchManagedPtr grid
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridAttachMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> Int32 -> Int32 -> m ()), MonadIO m, IsGrid a, Gtk.Widget.IsWidget b) => O.MethodInfo GridAttachMethodInfo a signature where
+    overloadedMethod _ = gridAttach
+
+#endif
+
+-- method Grid::attach_next_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the child of @grid that @child will be placed\n    next to, or %NULL to place @child at the beginning or end", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "side", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the side of @sibling that @child is positioned next to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of columns that @child will span", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of rows that @child will span", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_attach_next_to" gtk_grid_attach_next_to :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- sibling : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- side : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Adds a widget to the grid.
+
+The widget is placed next to /@sibling@/, on the side determined by
+/@side@/. When /@sibling@/ is 'Nothing', the widget is placed in row (for
+left or right placement) or column 0 (for top or bottom placement),
+at the end indicated by /@side@/.
+
+Attaching widgets labeled [1], [2], [3] with /@sibling@/ == 'Nothing' and
+/@side@/ == 'GI.Gtk.Enums.PositionTypeLeft' yields a layout of [3][2][1].
+-}
+gridAttachNextTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> b
+    {- ^ /@child@/: the widget to add -}
+    -> Maybe (c)
+    {- ^ /@sibling@/: the child of /@grid@/ that /@child@/ will be placed
+    next to, or 'Nothing' to place /@child@/ at the beginning or end -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@side@/: the side of /@sibling@/ that /@child@/ is positioned next to -}
+    -> Int32
+    {- ^ /@width@/: the number of columns that /@child@/ will span -}
+    -> Int32
+    {- ^ /@height@/: the number of rows that /@child@/ will span -}
+    -> m ()
+gridAttachNextTo grid child sibling side width height = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    child' <- unsafeManagedPtrCastPtr child
+    maybeSibling <- case sibling of
+        Nothing -> return nullPtr
+        Just jSibling -> do
+            jSibling' <- unsafeManagedPtrCastPtr jSibling
+            return jSibling'
+    let side' = (fromIntegral . fromEnum) side
+    gtk_grid_attach_next_to grid' child' maybeSibling side' width height
+    touchManagedPtr grid
+    touchManagedPtr child
+    whenJust sibling touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridAttachNextToMethodInfo
+instance (signature ~ (b -> Maybe (c) -> Gtk.Enums.PositionType -> Int32 -> Int32 -> m ()), MonadIO m, IsGrid a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) => O.MethodInfo GridAttachNextToMethodInfo a signature where
+    overloadedMethod _ = gridAttachNextTo
+
+#endif
+
+-- method Grid::get_baseline_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_get_baseline_row" gtk_grid_get_baseline_row :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    IO Int32
+
+{- |
+Returns which row defines the global baseline of /@grid@/.
+
+/Since: 3.10/
+-}
+gridGetBaselineRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> m Int32
+    {- ^ __Returns:__ the row index defining the global baseline -}
+gridGetBaselineRow grid = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    result <- gtk_grid_get_baseline_row grid'
+    touchManagedPtr grid
+    return result
+
+#if ENABLE_OVERLOADING
+data GridGetBaselineRowMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsGrid a) => O.MethodInfo GridGetBaselineRowMethodInfo a signature where
+    overloadedMethod _ = gridGetBaselineRow
+
+#endif
+
+-- method Grid::get_child_at
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the left edge of the cell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "top", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the top edge of the cell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_get_child_at" gtk_grid_get_child_at :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Int32 ->                                -- left : TBasicType TInt
+    Int32 ->                                -- top : TBasicType TInt
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the child of /@grid@/ whose area covers the grid
+cell whose upper left corner is at /@left@/, /@top@/.
+
+/Since: 3.2/
+-}
+gridGetChildAt ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Int32
+    {- ^ /@left@/: the left edge of the cell -}
+    -> Int32
+    {- ^ /@top@/: the top edge of the cell -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the child at the given position, or 'Nothing' -}
+gridGetChildAt grid left top = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    result <- gtk_grid_get_child_at grid' left top
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr grid
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data GridGetChildAtMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsGrid a) => O.MethodInfo GridGetChildAtMethodInfo a signature where
+    overloadedMethod _ = gridGetChildAt
+
+#endif
+
+-- method Grid::get_column_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_get_column_homogeneous" gtk_grid_get_column_homogeneous :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    IO CInt
+
+{- |
+Returns whether all columns of /@grid@/ have the same width.
+-}
+gridGetColumnHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> m Bool
+    {- ^ __Returns:__ whether all columns of /@grid@/ have the same width. -}
+gridGetColumnHomogeneous grid = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    result <- gtk_grid_get_column_homogeneous grid'
+    let result' = (/= 0) result
+    touchManagedPtr grid
+    return result'
+
+#if ENABLE_OVERLOADING
+data GridGetColumnHomogeneousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGrid a) => O.MethodInfo GridGetColumnHomogeneousMethodInfo a signature where
+    overloadedMethod _ = gridGetColumnHomogeneous
+
+#endif
+
+-- method Grid::get_column_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_get_column_spacing" gtk_grid_get_column_spacing :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    IO Word32
+
+{- |
+Returns the amount of space between the columns of /@grid@/.
+-}
+gridGetColumnSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> m Word32
+    {- ^ __Returns:__ the column spacing of /@grid@/ -}
+gridGetColumnSpacing grid = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    result <- gtk_grid_get_column_spacing grid'
+    touchManagedPtr grid
+    return result
+
+#if ENABLE_OVERLOADING
+data GridGetColumnSpacingMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsGrid a) => O.MethodInfo GridGetColumnSpacingMethodInfo a signature where
+    overloadedMethod _ = gridGetColumnSpacing
+
+#endif
+
+-- method Grid::get_row_baseline_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a row index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "BaselinePosition"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_get_row_baseline_position" gtk_grid_get_row_baseline_position :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Int32 ->                                -- row : TBasicType TInt
+    IO CUInt
+
+{- |
+Returns the baseline position of /@row@/ as set
+by 'GI.Gtk.Objects.Grid.gridSetRowBaselinePosition' or the default value
+'GI.Gtk.Enums.BaselinePositionCenter'.
+
+/Since: 3.10/
+-}
+gridGetRowBaselinePosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Int32
+    {- ^ /@row@/: a row index -}
+    -> m Gtk.Enums.BaselinePosition
+    {- ^ __Returns:__ the baseline position of /@row@/ -}
+gridGetRowBaselinePosition grid row = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    result <- gtk_grid_get_row_baseline_position grid' row
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr grid
+    return result'
+
+#if ENABLE_OVERLOADING
+data GridGetRowBaselinePositionMethodInfo
+instance (signature ~ (Int32 -> m Gtk.Enums.BaselinePosition), MonadIO m, IsGrid a) => O.MethodInfo GridGetRowBaselinePositionMethodInfo a signature where
+    overloadedMethod _ = gridGetRowBaselinePosition
+
+#endif
+
+-- method Grid::get_row_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_get_row_homogeneous" gtk_grid_get_row_homogeneous :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    IO CInt
+
+{- |
+Returns whether all rows of /@grid@/ have the same height.
+-}
+gridGetRowHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> m Bool
+    {- ^ __Returns:__ whether all rows of /@grid@/ have the same height. -}
+gridGetRowHomogeneous grid = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    result <- gtk_grid_get_row_homogeneous grid'
+    let result' = (/= 0) result
+    touchManagedPtr grid
+    return result'
+
+#if ENABLE_OVERLOADING
+data GridGetRowHomogeneousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsGrid a) => O.MethodInfo GridGetRowHomogeneousMethodInfo a signature where
+    overloadedMethod _ = gridGetRowHomogeneous
+
+#endif
+
+-- method Grid::get_row_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_get_row_spacing" gtk_grid_get_row_spacing :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    IO Word32
+
+{- |
+Returns the amount of space between the rows of /@grid@/.
+-}
+gridGetRowSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> m Word32
+    {- ^ __Returns:__ the row spacing of /@grid@/ -}
+gridGetRowSpacing grid = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    result <- gtk_grid_get_row_spacing grid'
+    touchManagedPtr grid
+    return result
+
+#if ENABLE_OVERLOADING
+data GridGetRowSpacingMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsGrid a) => O.MethodInfo GridGetRowSpacingMethodInfo a signature where
+    overloadedMethod _ = gridGetRowSpacing
+
+#endif
+
+-- method Grid::insert_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to insert the column at", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_insert_column" gtk_grid_insert_column :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Inserts a column at the specified position.
+
+Children which are attached at or to the right of this position
+are moved one column to the right. Children which span across this
+position are grown to span the new column.
+
+/Since: 3.2/
+-}
+gridInsertColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Int32
+    {- ^ /@position@/: the position to insert the column at -}
+    -> m ()
+gridInsertColumn grid position = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    gtk_grid_insert_column grid' position
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridInsertColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridInsertColumnMethodInfo a signature where
+    overloadedMethod _ = gridInsertColumn
+
+#endif
+
+-- method Grid::insert_next_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child of @grid that the new row or column will be\n    placed next to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "side", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the side of @sibling that @child is positioned next to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_insert_next_to" gtk_grid_insert_next_to :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Ptr Gtk.Widget.Widget ->                -- sibling : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- side : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    IO ()
+
+{- |
+Inserts a row or column at the specified position.
+
+The new row or column is placed next to /@sibling@/, on the side
+determined by /@side@/. If /@side@/ is 'GI.Gtk.Enums.PositionTypeTop' or 'GI.Gtk.Enums.PositionTypeBottom',
+a row is inserted. If /@side@/ is 'GI.Gtk.Enums.PositionTypeLeft' of 'GI.Gtk.Enums.PositionTypeRight',
+a column is inserted.
+
+/Since: 3.2/
+-}
+gridInsertNextTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> b
+    {- ^ /@sibling@/: the child of /@grid@/ that the new row or column will be
+    placed next to -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@side@/: the side of /@sibling@/ that /@child@/ is positioned next to -}
+    -> m ()
+gridInsertNextTo grid sibling side = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    sibling' <- unsafeManagedPtrCastPtr sibling
+    let side' = (fromIntegral . fromEnum) side
+    gtk_grid_insert_next_to grid' sibling' side'
+    touchManagedPtr grid
+    touchManagedPtr sibling
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridInsertNextToMethodInfo
+instance (signature ~ (b -> Gtk.Enums.PositionType -> m ()), MonadIO m, IsGrid a, Gtk.Widget.IsWidget b) => O.MethodInfo GridInsertNextToMethodInfo a signature where
+    overloadedMethod _ = gridInsertNextTo
+
+#endif
+
+-- method Grid::insert_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to insert the row at", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_insert_row" gtk_grid_insert_row :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Inserts a row at the specified position.
+
+Children which are attached at or below this position
+are moved one row down. Children which span across this
+position are grown to span the new row.
+
+/Since: 3.2/
+-}
+gridInsertRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Int32
+    {- ^ /@position@/: the position to insert the row at -}
+    -> m ()
+gridInsertRow grid position = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    gtk_grid_insert_row grid' position
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridInsertRowMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridInsertRowMethodInfo a signature where
+    overloadedMethod _ = gridInsertRow
+
+#endif
+
+-- method Grid::remove_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position of the column to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_remove_column" gtk_grid_remove_column :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Removes a column from the grid.
+
+Children that are placed in this column are removed,
+spanning children that overlap this column have their
+width reduced by one, and children after the column
+are moved to the left.
+
+/Since: 3.10/
+-}
+gridRemoveColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Int32
+    {- ^ /@position@/: the position of the column to remove -}
+    -> m ()
+gridRemoveColumn grid position = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    gtk_grid_remove_column grid' position
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridRemoveColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridRemoveColumnMethodInfo a signature where
+    overloadedMethod _ = gridRemoveColumn
+
+#endif
+
+-- method Grid::remove_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position of the row to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_remove_row" gtk_grid_remove_row :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Removes a row from the grid.
+
+Children that are placed in this row are removed,
+spanning children that overlap this row have their
+height reduced by one, and children below the row
+are moved up.
+
+/Since: 3.10/
+-}
+gridRemoveRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Int32
+    {- ^ /@position@/: the position of the row to remove -}
+    -> m ()
+gridRemoveRow grid position = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    gtk_grid_remove_row grid' position
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridRemoveRowMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridRemoveRowMethodInfo a signature where
+    overloadedMethod _ = gridRemoveRow
+
+#endif
+
+-- method Grid::set_baseline_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_set_baseline_row" gtk_grid_set_baseline_row :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Int32 ->                                -- row : TBasicType TInt
+    IO ()
+
+{- |
+Sets which row defines the global baseline for the entire grid.
+Each row in the grid can have its own local baseline, but only
+one of those is global, meaning it will be the baseline in the
+parent of the /@grid@/.
+
+/Since: 3.10/
+-}
+gridSetBaselineRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Int32
+    {- ^ /@row@/: the row index -}
+    -> m ()
+gridSetBaselineRow grid row = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    gtk_grid_set_baseline_row grid' row
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridSetBaselineRowMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridSetBaselineRowMethodInfo a signature where
+    overloadedMethod _ = gridSetBaselineRow
+
+#endif
+
+-- method Grid::set_column_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make columns homogeneous", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_set_column_homogeneous" gtk_grid_set_column_homogeneous :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether all columns of /@grid@/ will have the same width.
+-}
+gridSetColumnHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Bool
+    {- ^ /@homogeneous@/: 'True' to make columns homogeneous -}
+    -> m ()
+gridSetColumnHomogeneous grid homogeneous = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    gtk_grid_set_column_homogeneous grid' homogeneous'
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridSetColumnHomogeneousMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridSetColumnHomogeneousMethodInfo a signature where
+    overloadedMethod _ = gridSetColumnHomogeneous
+
+#endif
+
+-- method Grid::set_column_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount of space to insert between columns", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_set_column_spacing" gtk_grid_set_column_spacing :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Word32 ->                               -- spacing : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the amount of space between columns of /@grid@/.
+-}
+gridSetColumnSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Word32
+    {- ^ /@spacing@/: the amount of space to insert between columns -}
+    -> m ()
+gridSetColumnSpacing grid spacing = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    gtk_grid_set_column_spacing grid' spacing
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridSetColumnSpacingMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridSetColumnSpacingMethodInfo a signature where
+    overloadedMethod _ = gridSetColumnSpacing
+
+#endif
+
+-- method Grid::set_row_baseline_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a row index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TInterface (Name {namespace = "Gtk", name = "BaselinePosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBaselinePosition", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_set_row_baseline_position" gtk_grid_set_row_baseline_position :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Int32 ->                                -- row : TBasicType TInt
+    CUInt ->                                -- pos : TInterface (Name {namespace = "Gtk", name = "BaselinePosition"})
+    IO ()
+
+{- |
+Sets how the baseline should be positioned on /@row@/ of the
+grid, in case that row is assigned more space than is requested.
+
+/Since: 3.10/
+-}
+gridSetRowBaselinePosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Int32
+    {- ^ /@row@/: a row index -}
+    -> Gtk.Enums.BaselinePosition
+    {- ^ /@pos@/: a 'GI.Gtk.Enums.BaselinePosition' -}
+    -> m ()
+gridSetRowBaselinePosition grid row pos = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    let pos' = (fromIntegral . fromEnum) pos
+    gtk_grid_set_row_baseline_position grid' row pos'
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridSetRowBaselinePositionMethodInfo
+instance (signature ~ (Int32 -> Gtk.Enums.BaselinePosition -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridSetRowBaselinePositionMethodInfo a signature where
+    overloadedMethod _ = gridSetRowBaselinePosition
+
+#endif
+
+-- method Grid::set_row_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make rows homogeneous", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_set_row_homogeneous" gtk_grid_set_row_homogeneous :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether all rows of /@grid@/ will have the same height.
+-}
+gridSetRowHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Bool
+    {- ^ /@homogeneous@/: 'True' to make rows homogeneous -}
+    -> m ()
+gridSetRowHomogeneous grid homogeneous = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    gtk_grid_set_row_homogeneous grid' homogeneous'
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridSetRowHomogeneousMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridSetRowHomogeneousMethodInfo a signature where
+    overloadedMethod _ = gridSetRowHomogeneous
+
+#endif
+
+-- method Grid::set_row_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "grid", argType = TInterface (Name {namespace = "Gtk", name = "Grid"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGrid", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount of space to insert between rows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grid_set_row_spacing" gtk_grid_set_row_spacing :: 
+    Ptr Grid ->                             -- grid : TInterface (Name {namespace = "Gtk", name = "Grid"})
+    Word32 ->                               -- spacing : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the amount of space between rows of /@grid@/.
+-}
+gridSetRowSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsGrid a) =>
+    a
+    {- ^ /@grid@/: a 'GI.Gtk.Objects.Grid.Grid' -}
+    -> Word32
+    {- ^ /@spacing@/: the amount of space to insert between rows -}
+    -> m ()
+gridSetRowSpacing grid spacing = liftIO $ do
+    grid' <- unsafeManagedPtrCastPtr grid
+    gtk_grid_set_row_spacing grid' spacing
+    touchManagedPtr grid
+    return ()
+
+#if ENABLE_OVERLOADING
+data GridSetRowSpacingMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsGrid a) => O.MethodInfo GridSetRowSpacingMethodInfo a signature where
+    overloadedMethod _ = gridSetRowSpacing
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Grid.hs-boot b/GI/Gtk/Objects/Grid.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Grid.hs-boot
@@ -0,0 +1,104 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Grid where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Grid = Grid (ManagedPtr Grid)
+instance GObject Grid where
+class (GObject o, O.IsDescendantOf Grid o) => IsGrid o
+instance (GObject o, O.IsDescendantOf Grid o) => IsGrid o
+instance O.HasParentTypes Grid
+#if ENABLE_OVERLOADING
+data GridBaselineRowPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridColumnHomogeneousPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridColumnSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridRowHomogeneousPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridRowSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridAttachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridAttachNextToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridGetBaselineRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridGetChildAtMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridGetColumnHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridGetColumnSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridGetRowBaselinePositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridGetRowHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridGetRowSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridInsertColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridInsertNextToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridInsertRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridRemoveColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridRemoveRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridSetBaselineRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridSetColumnHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridSetColumnSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridSetRowBaselinePositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridSetRowHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GridSetRowSpacingMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/HBox.hs b/GI/Gtk/Objects/HBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HBox.hs
@@ -0,0 +1,497 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.HBox.HBox' is a container that organizes child widgets into a single row.
+
+Use the 'GI.Gtk.Objects.Box.Box' packing interface to determine the arrangement,
+spacing, width, and alignment of 'GI.Gtk.Objects.HBox.HBox' children.
+
+All children are allocated the same height.
+
+GtkHBox has been deprecated. You can use 'GI.Gtk.Objects.Box.Box' instead, which is a
+very quick and easy change. If you have derived your own classes from
+GtkHBox, you can simply change the inheritance to derive directly
+from 'GI.Gtk.Objects.Box.Box'. No further changes are needed, since the default
+value of the 'GI.Gtk.Interfaces.Orientable.Orientable':@/orientation/@ property is
+'GI.Gtk.Enums.OrientationHorizontal'.
+If you don’t need first-child or last-child styling, and want your code
+to be future-proof, the recommendation is to switch to 'GI.Gtk.Objects.Grid.Grid' instead
+of nested boxes. For more information about migrating to 'GI.Gtk.Objects.Grid.Grid',
+see [Migrating from other containers to GtkGrid][gtk-migrating-GtkGrid].
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.HBox
+    ( 
+
+-- * Exported types
+    HBox(..)                                ,
+    IsHBox                                  ,
+    toHBox                                  ,
+    noHBox                                  ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    hBoxNew                                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype HBox = HBox (ManagedPtr HBox)
+foreign import ccall "gtk_hbox_get_type"
+    c_gtk_hbox_get_type :: IO GType
+
+instance GObject HBox where
+    gobjectType = c_gtk_hbox_get_type
+    
+
+-- | Type class for types which can be safely cast to `HBox`, for instance with `toHBox`.
+class (GObject o, O.IsDescendantOf HBox o) => IsHBox o
+instance (GObject o, O.IsDescendantOf HBox o) => IsHBox o
+
+instance O.HasParentTypes HBox
+type instance O.ParentTypes HBox = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `HBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toHBox :: (MonadIO m, IsHBox o) => o -> m HBox
+toHBox = liftIO . unsafeCastTo HBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `HBox`.
+noHBox :: Maybe HBox
+noHBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveHBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveHBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveHBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveHBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveHBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveHBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveHBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveHBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveHBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveHBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveHBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveHBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveHBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveHBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveHBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveHBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveHBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveHBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveHBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveHBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveHBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveHBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveHBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveHBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveHBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveHBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveHBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveHBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveHBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveHBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveHBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveHBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveHBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveHBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveHBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveHBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveHBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveHBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveHBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveHBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveHBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveHBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveHBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveHBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveHBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveHBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveHBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveHBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveHBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveHBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveHBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveHBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveHBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveHBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveHBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveHBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveHBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveHBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveHBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveHBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveHBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveHBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveHBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveHBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveHBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveHBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveHBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveHBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveHBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveHBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveHBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveHBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveHBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveHBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveHBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveHBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveHBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveHBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveHBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveHBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveHBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveHBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveHBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveHBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveHBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveHBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveHBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveHBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveHBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveHBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveHBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveHBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveHBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveHBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveHBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveHBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveHBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveHBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveHBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveHBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveHBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveHBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveHBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveHBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveHBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveHBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveHBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveHBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveHBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveHBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveHBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveHBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveHBoxMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveHBoxMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveHBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveHBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveHBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveHBoxMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveHBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveHBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveHBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveHBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveHBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveHBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveHBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveHBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveHBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveHBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveHBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveHBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveHBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveHBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveHBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveHBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveHBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveHBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveHBoxMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveHBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveHBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveHBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveHBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveHBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveHBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveHBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveHBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveHBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveHBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveHBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveHBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveHBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveHBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveHBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveHBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveHBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveHBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveHBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveHBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveHBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveHBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveHBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveHBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveHBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveHBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveHBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveHBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveHBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveHBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveHBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveHBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveHBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveHBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveHBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveHBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveHBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveHBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveHBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveHBoxMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveHBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveHBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveHBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveHBoxMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveHBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveHBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveHBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveHBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveHBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveHBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveHBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveHBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveHBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveHBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveHBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveHBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveHBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveHBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveHBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveHBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveHBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveHBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveHBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveHBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveHBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveHBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveHBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveHBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveHBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveHBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveHBoxMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveHBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveHBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveHBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveHBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveHBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveHBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveHBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveHBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveHBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveHBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveHBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveHBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveHBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveHBoxMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveHBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveHBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveHBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveHBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveHBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveHBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveHBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveHBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveHBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveHBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveHBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveHBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveHBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveHBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveHBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveHBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveHBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveHBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveHBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveHBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveHBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveHBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveHBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveHBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveHBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveHBoxMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveHBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveHBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveHBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveHBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveHBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveHBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveHBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveHBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveHBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveHBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveHBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveHBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveHBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveHBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveHBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveHBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveHBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveHBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveHBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveHBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveHBoxMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveHBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveHBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveHBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveHBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveHBoxMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveHBoxMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveHBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveHBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveHBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveHBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveHBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveHBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveHBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveHBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveHBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveHBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveHBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveHBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveHBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveHBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveHBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveHBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveHBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveHBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveHBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveHBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveHBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveHBoxMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveHBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveHBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveHBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveHBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveHBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveHBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveHBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveHBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveHBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveHBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveHBoxMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveHBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveHBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveHBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveHBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveHBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveHBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveHBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveHBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveHBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveHBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveHBoxMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveHBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveHBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveHBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveHBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveHBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveHBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveHBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveHBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveHBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveHBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveHBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveHBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveHBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveHBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveHBoxMethod t HBox, O.MethodInfo info HBox p) => OL.IsLabel t (HBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList HBox
+type instance O.AttributeList HBox = HBoxAttributeList
+type HBoxAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList HBox = HBoxSignalList
+type HBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method HBox::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if all children are to be given equal space allotments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of pixels to place by default between children.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hbox_new" gtk_hbox_new :: 
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    Int32 ->                                -- spacing : TBasicType TInt
+    IO (Ptr HBox)
+
+{-# DEPRECATED hBoxNew ["(Since version 3.2)","You can use 'GI.Gtk.Objects.Box.boxNew' with 'GI.Gtk.Enums.OrientationHorizontal' instead,","  which is a quick and easy change. But the recommendation is to switch to","  'GI.Gtk.Objects.Grid.Grid', since 'GI.Gtk.Objects.Box.Box' is going to go away eventually.","  See [Migrating from other containers to GtkGrid][gtk-migrating-GtkGrid]."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.HBox.HBox'.
+-}
+hBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Bool
+    {- ^ /@homogeneous@/: 'True' if all children are to be given equal space allotments. -}
+    -> Int32
+    {- ^ /@spacing@/: the number of pixels to place by default between children. -}
+    -> m HBox
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.HBox.HBox'. -}
+hBoxNew homogeneous spacing = liftIO $ do
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    result <- gtk_hbox_new homogeneous' spacing
+    checkUnexpectedReturnNULL "hBoxNew" result
+    result' <- (newObject HBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/HBox.hs-boot b/GI/Gtk/Objects/HBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HBox.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.HBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype HBox = HBox (ManagedPtr HBox)
+instance GObject HBox where
+class (GObject o, O.IsDescendantOf HBox o) => IsHBox o
+instance (GObject o, O.IsDescendantOf HBox o) => IsHBox o
+instance O.HasParentTypes HBox
diff --git a/GI/Gtk/Objects/HButtonBox.hs b/GI/Gtk/Objects/HButtonBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HButtonBox.hs
@@ -0,0 +1,481 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.HButtonBox
+    ( 
+
+-- * Exported types
+    HButtonBox(..)                          ,
+    IsHButtonBox                            ,
+    toHButtonBox                            ,
+    noHButtonBox                            ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    hButtonBoxNew                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ButtonBox as Gtk.ButtonBox
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype HButtonBox = HButtonBox (ManagedPtr HButtonBox)
+foreign import ccall "gtk_hbutton_box_get_type"
+    c_gtk_hbutton_box_get_type :: IO GType
+
+instance GObject HButtonBox where
+    gobjectType = c_gtk_hbutton_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `HButtonBox`, for instance with `toHButtonBox`.
+class (GObject o, O.IsDescendantOf HButtonBox o) => IsHButtonBox o
+instance (GObject o, O.IsDescendantOf HButtonBox o) => IsHButtonBox o
+
+instance O.HasParentTypes HButtonBox
+type instance O.ParentTypes HButtonBox = '[Gtk.ButtonBox.ButtonBox, Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `HButtonBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toHButtonBox :: (MonadIO m, IsHButtonBox o) => o -> m HButtonBox
+toHButtonBox = liftIO . unsafeCastTo HButtonBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `HButtonBox`.
+noHButtonBox :: Maybe HButtonBox
+noHButtonBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveHButtonBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHButtonBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveHButtonBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveHButtonBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveHButtonBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveHButtonBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveHButtonBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveHButtonBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveHButtonBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveHButtonBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveHButtonBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveHButtonBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveHButtonBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveHButtonBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveHButtonBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveHButtonBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveHButtonBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveHButtonBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveHButtonBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveHButtonBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveHButtonBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveHButtonBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveHButtonBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveHButtonBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveHButtonBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveHButtonBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveHButtonBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveHButtonBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveHButtonBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveHButtonBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveHButtonBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveHButtonBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveHButtonBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveHButtonBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveHButtonBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveHButtonBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveHButtonBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveHButtonBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveHButtonBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveHButtonBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveHButtonBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveHButtonBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveHButtonBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveHButtonBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveHButtonBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveHButtonBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveHButtonBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveHButtonBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveHButtonBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveHButtonBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveHButtonBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveHButtonBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveHButtonBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveHButtonBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveHButtonBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveHButtonBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveHButtonBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveHButtonBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveHButtonBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveHButtonBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveHButtonBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveHButtonBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveHButtonBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveHButtonBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveHButtonBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveHButtonBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveHButtonBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveHButtonBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveHButtonBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveHButtonBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveHButtonBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveHButtonBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveHButtonBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveHButtonBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveHButtonBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveHButtonBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveHButtonBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveHButtonBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveHButtonBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveHButtonBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveHButtonBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveHButtonBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveHButtonBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveHButtonBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveHButtonBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveHButtonBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveHButtonBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveHButtonBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveHButtonBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveHButtonBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveHButtonBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveHButtonBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveHButtonBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveHButtonBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveHButtonBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveHButtonBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveHButtonBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveHButtonBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveHButtonBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveHButtonBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveHButtonBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveHButtonBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveHButtonBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveHButtonBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveHButtonBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveHButtonBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveHButtonBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveHButtonBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveHButtonBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveHButtonBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveHButtonBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveHButtonBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveHButtonBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveHButtonBoxMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveHButtonBoxMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveHButtonBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveHButtonBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveHButtonBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveHButtonBoxMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveHButtonBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveHButtonBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveHButtonBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveHButtonBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveHButtonBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveHButtonBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveHButtonBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveHButtonBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveHButtonBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveHButtonBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveHButtonBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveHButtonBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveHButtonBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveHButtonBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveHButtonBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveHButtonBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveHButtonBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveHButtonBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveHButtonBoxMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveHButtonBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveHButtonBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveHButtonBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveHButtonBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveHButtonBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveHButtonBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveHButtonBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveHButtonBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveHButtonBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveHButtonBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveHButtonBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveHButtonBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveHButtonBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveHButtonBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveHButtonBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveHButtonBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveHButtonBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveHButtonBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveHButtonBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveHButtonBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveHButtonBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveHButtonBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveHButtonBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveHButtonBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveHButtonBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveHButtonBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveHButtonBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveHButtonBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveHButtonBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveHButtonBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveHButtonBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveHButtonBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveHButtonBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveHButtonBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveHButtonBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveHButtonBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveHButtonBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveHButtonBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveHButtonBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveHButtonBoxMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveHButtonBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveHButtonBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveHButtonBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveHButtonBoxMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveHButtonBoxMethod "getChildNonHomogeneous" o = Gtk.ButtonBox.ButtonBoxGetChildNonHomogeneousMethodInfo
+    ResolveHButtonBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveHButtonBoxMethod "getChildSecondary" o = Gtk.ButtonBox.ButtonBoxGetChildSecondaryMethodInfo
+    ResolveHButtonBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveHButtonBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveHButtonBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveHButtonBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveHButtonBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveHButtonBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveHButtonBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveHButtonBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveHButtonBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveHButtonBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveHButtonBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveHButtonBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveHButtonBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveHButtonBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveHButtonBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveHButtonBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveHButtonBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveHButtonBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveHButtonBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveHButtonBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveHButtonBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveHButtonBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveHButtonBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveHButtonBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveHButtonBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveHButtonBoxMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveHButtonBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveHButtonBoxMethod "getLayout" o = Gtk.ButtonBox.ButtonBoxGetLayoutMethodInfo
+    ResolveHButtonBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveHButtonBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveHButtonBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveHButtonBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveHButtonBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveHButtonBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveHButtonBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveHButtonBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveHButtonBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveHButtonBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveHButtonBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveHButtonBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveHButtonBoxMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveHButtonBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveHButtonBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveHButtonBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveHButtonBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveHButtonBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveHButtonBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveHButtonBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveHButtonBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveHButtonBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveHButtonBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveHButtonBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveHButtonBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveHButtonBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveHButtonBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveHButtonBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveHButtonBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveHButtonBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveHButtonBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveHButtonBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveHButtonBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveHButtonBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveHButtonBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveHButtonBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveHButtonBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveHButtonBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveHButtonBoxMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveHButtonBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveHButtonBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveHButtonBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveHButtonBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveHButtonBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveHButtonBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveHButtonBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveHButtonBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveHButtonBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveHButtonBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveHButtonBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveHButtonBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveHButtonBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveHButtonBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveHButtonBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveHButtonBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveHButtonBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveHButtonBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveHButtonBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveHButtonBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveHButtonBoxMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveHButtonBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveHButtonBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveHButtonBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveHButtonBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveHButtonBoxMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveHButtonBoxMethod "setChildNonHomogeneous" o = Gtk.ButtonBox.ButtonBoxSetChildNonHomogeneousMethodInfo
+    ResolveHButtonBoxMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveHButtonBoxMethod "setChildSecondary" o = Gtk.ButtonBox.ButtonBoxSetChildSecondaryMethodInfo
+    ResolveHButtonBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveHButtonBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveHButtonBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveHButtonBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveHButtonBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveHButtonBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveHButtonBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveHButtonBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveHButtonBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveHButtonBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveHButtonBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveHButtonBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveHButtonBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveHButtonBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveHButtonBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveHButtonBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveHButtonBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveHButtonBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveHButtonBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveHButtonBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveHButtonBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveHButtonBoxMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveHButtonBoxMethod "setLayout" o = Gtk.ButtonBox.ButtonBoxSetLayoutMethodInfo
+    ResolveHButtonBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveHButtonBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveHButtonBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveHButtonBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveHButtonBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveHButtonBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveHButtonBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveHButtonBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveHButtonBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveHButtonBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveHButtonBoxMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveHButtonBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveHButtonBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveHButtonBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveHButtonBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveHButtonBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveHButtonBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveHButtonBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveHButtonBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveHButtonBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveHButtonBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveHButtonBoxMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveHButtonBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveHButtonBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveHButtonBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveHButtonBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveHButtonBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveHButtonBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveHButtonBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveHButtonBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveHButtonBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveHButtonBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveHButtonBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveHButtonBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveHButtonBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveHButtonBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveHButtonBoxMethod t HButtonBox, O.MethodInfo info HButtonBox p) => OL.IsLabel t (HButtonBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList HButtonBox
+type instance O.AttributeList HButtonBox = HButtonBoxAttributeList
+type HButtonBoxAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("layoutStyle", Gtk.ButtonBox.ButtonBoxLayoutStylePropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList HButtonBox = HButtonBoxSignalList
+type HButtonBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method HButtonBox::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HButtonBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hbutton_box_new" gtk_hbutton_box_new :: 
+    IO (Ptr HButtonBox)
+
+{-# DEPRECATED hButtonBoxNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.ButtonBox.buttonBoxNew' with 'GI.Gtk.Enums.OrientationHorizontal' instead"] #-}
+{- |
+Creates a new horizontal button box.
+-}
+hButtonBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m HButtonBox
+    {- ^ __Returns:__ a new button box 'GI.Gtk.Objects.Widget.Widget'. -}
+hButtonBoxNew  = liftIO $ do
+    result <- gtk_hbutton_box_new
+    checkUnexpectedReturnNULL "hButtonBoxNew" result
+    result' <- (newObject HButtonBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/HButtonBox.hs-boot b/GI/Gtk/Objects/HButtonBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HButtonBox.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.HButtonBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype HButtonBox = HButtonBox (ManagedPtr HButtonBox)
+instance GObject HButtonBox where
+class (GObject o, O.IsDescendantOf HButtonBox o) => IsHButtonBox o
+instance (GObject o, O.IsDescendantOf HButtonBox o) => IsHButtonBox o
+instance O.HasParentTypes HButtonBox
diff --git a/GI/Gtk/Objects/HPaned.hs b/GI/Gtk/Objects/HPaned.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HPaned.hs
@@ -0,0 +1,477 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The HPaned widget is a container widget with two
+children arranged horizontally. The division between
+the two panes is adjustable by the user by dragging
+a handle. See 'GI.Gtk.Objects.Paned.Paned' for details.
+
+GtkHPaned has been deprecated, use 'GI.Gtk.Objects.Paned.Paned' instead.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.HPaned
+    ( 
+
+-- * Exported types
+    HPaned(..)                              ,
+    IsHPaned                                ,
+    toHPaned                                ,
+    noHPaned                                ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    hPanedNew                               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Paned as Gtk.Paned
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype HPaned = HPaned (ManagedPtr HPaned)
+foreign import ccall "gtk_hpaned_get_type"
+    c_gtk_hpaned_get_type :: IO GType
+
+instance GObject HPaned where
+    gobjectType = c_gtk_hpaned_get_type
+    
+
+-- | Type class for types which can be safely cast to `HPaned`, for instance with `toHPaned`.
+class (GObject o, O.IsDescendantOf HPaned o) => IsHPaned o
+instance (GObject o, O.IsDescendantOf HPaned o) => IsHPaned o
+
+instance O.HasParentTypes HPaned
+type instance O.ParentTypes HPaned = '[Gtk.Paned.Paned, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `HPaned`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toHPaned :: (MonadIO m, IsHPaned o) => o -> m HPaned
+toHPaned = liftIO . unsafeCastTo HPaned
+
+-- | A convenience alias for `Nothing` :: `Maybe` `HPaned`.
+noHPaned :: Maybe HPaned
+noHPaned = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveHPanedMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHPanedMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveHPanedMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveHPanedMethod "add1" o = Gtk.Paned.PanedAdd1MethodInfo
+    ResolveHPanedMethod "add2" o = Gtk.Paned.PanedAdd2MethodInfo
+    ResolveHPanedMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveHPanedMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveHPanedMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveHPanedMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveHPanedMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveHPanedMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveHPanedMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveHPanedMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveHPanedMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveHPanedMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveHPanedMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveHPanedMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveHPanedMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveHPanedMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveHPanedMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveHPanedMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveHPanedMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveHPanedMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveHPanedMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveHPanedMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveHPanedMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveHPanedMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveHPanedMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveHPanedMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveHPanedMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveHPanedMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveHPanedMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveHPanedMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveHPanedMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveHPanedMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveHPanedMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveHPanedMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveHPanedMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveHPanedMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveHPanedMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveHPanedMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveHPanedMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveHPanedMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveHPanedMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveHPanedMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveHPanedMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveHPanedMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveHPanedMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveHPanedMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveHPanedMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveHPanedMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveHPanedMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveHPanedMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveHPanedMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveHPanedMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveHPanedMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveHPanedMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveHPanedMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveHPanedMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveHPanedMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveHPanedMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveHPanedMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveHPanedMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveHPanedMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveHPanedMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveHPanedMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveHPanedMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveHPanedMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveHPanedMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveHPanedMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveHPanedMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveHPanedMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveHPanedMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveHPanedMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveHPanedMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveHPanedMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveHPanedMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveHPanedMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveHPanedMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveHPanedMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveHPanedMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveHPanedMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveHPanedMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveHPanedMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveHPanedMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveHPanedMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveHPanedMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveHPanedMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveHPanedMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveHPanedMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveHPanedMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveHPanedMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveHPanedMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveHPanedMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveHPanedMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveHPanedMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveHPanedMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveHPanedMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveHPanedMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveHPanedMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveHPanedMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveHPanedMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveHPanedMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveHPanedMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveHPanedMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveHPanedMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveHPanedMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveHPanedMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveHPanedMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveHPanedMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveHPanedMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveHPanedMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveHPanedMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveHPanedMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveHPanedMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveHPanedMethod "pack1" o = Gtk.Paned.PanedPack1MethodInfo
+    ResolveHPanedMethod "pack2" o = Gtk.Paned.PanedPack2MethodInfo
+    ResolveHPanedMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveHPanedMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveHPanedMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveHPanedMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveHPanedMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveHPanedMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveHPanedMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveHPanedMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveHPanedMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveHPanedMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveHPanedMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveHPanedMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveHPanedMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveHPanedMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveHPanedMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveHPanedMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveHPanedMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveHPanedMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveHPanedMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveHPanedMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveHPanedMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveHPanedMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveHPanedMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveHPanedMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveHPanedMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveHPanedMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveHPanedMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveHPanedMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveHPanedMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveHPanedMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveHPanedMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveHPanedMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveHPanedMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveHPanedMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveHPanedMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveHPanedMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveHPanedMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveHPanedMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveHPanedMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveHPanedMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveHPanedMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveHPanedMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveHPanedMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveHPanedMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveHPanedMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveHPanedMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveHPanedMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveHPanedMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveHPanedMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveHPanedMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveHPanedMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveHPanedMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveHPanedMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveHPanedMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveHPanedMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveHPanedMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveHPanedMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveHPanedMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveHPanedMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveHPanedMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveHPanedMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveHPanedMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveHPanedMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveHPanedMethod "getChild1" o = Gtk.Paned.PanedGetChild1MethodInfo
+    ResolveHPanedMethod "getChild2" o = Gtk.Paned.PanedGetChild2MethodInfo
+    ResolveHPanedMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveHPanedMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveHPanedMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveHPanedMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveHPanedMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveHPanedMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveHPanedMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveHPanedMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveHPanedMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveHPanedMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveHPanedMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveHPanedMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveHPanedMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveHPanedMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveHPanedMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveHPanedMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveHPanedMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveHPanedMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveHPanedMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveHPanedMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveHPanedMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveHPanedMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveHPanedMethod "getHandleWindow" o = Gtk.Paned.PanedGetHandleWindowMethodInfo
+    ResolveHPanedMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveHPanedMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveHPanedMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveHPanedMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveHPanedMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveHPanedMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveHPanedMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveHPanedMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveHPanedMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveHPanedMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveHPanedMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveHPanedMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveHPanedMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveHPanedMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveHPanedMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveHPanedMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveHPanedMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveHPanedMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveHPanedMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveHPanedMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveHPanedMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveHPanedMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveHPanedMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveHPanedMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveHPanedMethod "getPosition" o = Gtk.Paned.PanedGetPositionMethodInfo
+    ResolveHPanedMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveHPanedMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveHPanedMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveHPanedMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveHPanedMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveHPanedMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveHPanedMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveHPanedMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveHPanedMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveHPanedMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveHPanedMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveHPanedMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveHPanedMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveHPanedMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveHPanedMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveHPanedMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveHPanedMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveHPanedMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveHPanedMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveHPanedMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveHPanedMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveHPanedMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveHPanedMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveHPanedMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveHPanedMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveHPanedMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveHPanedMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveHPanedMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveHPanedMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveHPanedMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveHPanedMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveHPanedMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveHPanedMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveHPanedMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveHPanedMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveHPanedMethod "getWideHandle" o = Gtk.Paned.PanedGetWideHandleMethodInfo
+    ResolveHPanedMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveHPanedMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveHPanedMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveHPanedMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveHPanedMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveHPanedMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveHPanedMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveHPanedMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveHPanedMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveHPanedMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveHPanedMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveHPanedMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveHPanedMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveHPanedMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveHPanedMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveHPanedMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveHPanedMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveHPanedMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveHPanedMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveHPanedMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveHPanedMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveHPanedMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveHPanedMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveHPanedMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveHPanedMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveHPanedMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveHPanedMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveHPanedMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveHPanedMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveHPanedMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveHPanedMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveHPanedMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveHPanedMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveHPanedMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveHPanedMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveHPanedMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveHPanedMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveHPanedMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveHPanedMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveHPanedMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveHPanedMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveHPanedMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveHPanedMethod "setPosition" o = Gtk.Paned.PanedSetPositionMethodInfo
+    ResolveHPanedMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveHPanedMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveHPanedMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveHPanedMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveHPanedMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveHPanedMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveHPanedMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveHPanedMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveHPanedMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveHPanedMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveHPanedMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveHPanedMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveHPanedMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveHPanedMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveHPanedMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveHPanedMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveHPanedMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveHPanedMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveHPanedMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveHPanedMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveHPanedMethod "setWideHandle" o = Gtk.Paned.PanedSetWideHandleMethodInfo
+    ResolveHPanedMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveHPanedMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveHPanedMethod t HPaned, O.MethodInfo info HPaned p) => OL.IsLabel t (HPaned -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList HPaned
+type instance O.AttributeList HPaned = HPanedAttributeList
+type HPanedAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxPosition", Gtk.Paned.PanedMaxPositionPropertyInfo), '("minPosition", Gtk.Paned.PanedMinPositionPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("position", Gtk.Paned.PanedPositionPropertyInfo), '("positionSet", Gtk.Paned.PanedPositionSetPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("wideHandle", Gtk.Paned.PanedWideHandlePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList HPaned = HPanedSignalList
+type HPanedSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("acceptPosition", Gtk.Paned.PanedAcceptPositionSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("cancelPosition", Gtk.Paned.PanedCancelPositionSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("cycleChildFocus", Gtk.Paned.PanedCycleChildFocusSignalInfo), '("cycleHandleFocus", Gtk.Paned.PanedCycleHandleFocusSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveHandle", Gtk.Paned.PanedMoveHandleSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleHandleFocus", Gtk.Paned.PanedToggleHandleFocusSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method HPaned::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HPaned"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hpaned_new" gtk_hpaned_new :: 
+    IO (Ptr HPaned)
+
+{-# DEPRECATED hPanedNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.Paned.panedNew' with 'GI.Gtk.Enums.OrientationHorizontal' instead"] #-}
+{- |
+Create a new 'GI.Gtk.Objects.HPaned.HPaned'
+-}
+hPanedNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m HPaned
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.HPaned.HPaned' -}
+hPanedNew  = liftIO $ do
+    result <- gtk_hpaned_new
+    checkUnexpectedReturnNULL "hPanedNew" result
+    result' <- (newObject HPaned) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/HPaned.hs-boot b/GI/Gtk/Objects/HPaned.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HPaned.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.HPaned where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype HPaned = HPaned (ManagedPtr HPaned)
+instance GObject HPaned where
+class (GObject o, O.IsDescendantOf HPaned o) => IsHPaned o
+instance (GObject o, O.IsDescendantOf HPaned o) => IsHPaned o
+instance O.HasParentTypes HPaned
diff --git a/GI/Gtk/Objects/HSV.hs b/GI/Gtk/Objects/HSV.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HSV.hs
@@ -0,0 +1,951 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.HSV.HSV' is the “color wheel” part of a complete color selector widget.
+It allows to select a color by determining its HSV components in an
+intuitive way. Moving the selection around the outer ring changes the hue,
+and moving the selection point inside the inner triangle changes value and
+saturation.
+
+'GI.Gtk.Objects.HSV.HSV' has been deprecated together with 'GI.Gtk.Objects.ColorSelection.ColorSelection', where
+it was used.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.HSV
+    ( 
+
+-- * Exported types
+    HSV(..)                                 ,
+    IsHSV                                   ,
+    toHSV                                   ,
+    noHSV                                   ,
+
+
+ -- * Methods
+-- ** getColor #method:getColor#
+
+#if ENABLE_OVERLOADING
+    HSVGetColorMethodInfo                   ,
+#endif
+    hSVGetColor                             ,
+
+
+-- ** getMetrics #method:getMetrics#
+
+#if ENABLE_OVERLOADING
+    HSVGetMetricsMethodInfo                 ,
+#endif
+    hSVGetMetrics                           ,
+
+
+-- ** isAdjusting #method:isAdjusting#
+
+#if ENABLE_OVERLOADING
+    HSVIsAdjustingMethodInfo                ,
+#endif
+    hSVIsAdjusting                          ,
+
+
+-- ** new #method:new#
+
+    hSVNew                                  ,
+
+
+-- ** setColor #method:setColor#
+
+#if ENABLE_OVERLOADING
+    HSVSetColorMethodInfo                   ,
+#endif
+    hSVSetColor                             ,
+
+
+-- ** setMetrics #method:setMetrics#
+
+#if ENABLE_OVERLOADING
+    HSVSetMetricsMethodInfo                 ,
+#endif
+    hSVSetMetrics                           ,
+
+
+-- ** toRgb #method:toRgb#
+
+    hSVToRgb                                ,
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    C_HSVChangedCallback                    ,
+    HSVChangedCallback                      ,
+#if ENABLE_OVERLOADING
+    HSVChangedSignalInfo                    ,
+#endif
+    afterHSVChanged                         ,
+    genClosure_HSVChanged                   ,
+    mk_HSVChangedCallback                   ,
+    noHSVChangedCallback                    ,
+    onHSVChanged                            ,
+    wrap_HSVChangedCallback                 ,
+
+
+-- ** move #signal:move#
+
+    C_HSVMoveCallback                       ,
+    HSVMoveCallback                         ,
+#if ENABLE_OVERLOADING
+    HSVMoveSignalInfo                       ,
+#endif
+    afterHSVMove                            ,
+    genClosure_HSVMove                      ,
+    mk_HSVMoveCallback                      ,
+    noHSVMoveCallback                       ,
+    onHSVMove                               ,
+    wrap_HSVMoveCallback                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype HSV = HSV (ManagedPtr HSV)
+foreign import ccall "gtk_hsv_get_type"
+    c_gtk_hsv_get_type :: IO GType
+
+instance GObject HSV where
+    gobjectType = c_gtk_hsv_get_type
+    
+
+-- | Type class for types which can be safely cast to `HSV`, for instance with `toHSV`.
+class (GObject o, O.IsDescendantOf HSV o) => IsHSV o
+instance (GObject o, O.IsDescendantOf HSV o) => IsHSV o
+
+instance O.HasParentTypes HSV
+type instance O.ParentTypes HSV = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `HSV`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toHSV :: (MonadIO m, IsHSV o) => o -> m HSV
+toHSV = liftIO . unsafeCastTo HSV
+
+-- | A convenience alias for `Nothing` :: `Maybe` `HSV`.
+noHSV :: Maybe HSV
+noHSV = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveHSVMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHSVMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveHSVMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveHSVMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveHSVMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveHSVMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveHSVMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveHSVMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveHSVMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveHSVMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveHSVMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveHSVMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveHSVMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveHSVMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveHSVMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveHSVMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveHSVMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveHSVMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveHSVMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveHSVMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveHSVMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveHSVMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveHSVMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveHSVMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveHSVMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveHSVMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveHSVMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveHSVMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveHSVMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveHSVMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveHSVMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveHSVMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveHSVMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveHSVMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveHSVMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveHSVMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveHSVMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveHSVMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveHSVMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveHSVMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveHSVMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveHSVMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveHSVMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveHSVMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveHSVMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveHSVMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveHSVMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveHSVMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveHSVMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveHSVMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveHSVMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveHSVMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveHSVMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveHSVMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveHSVMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveHSVMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveHSVMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveHSVMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveHSVMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveHSVMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveHSVMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveHSVMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveHSVMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveHSVMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveHSVMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveHSVMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveHSVMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveHSVMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveHSVMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveHSVMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveHSVMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveHSVMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveHSVMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveHSVMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveHSVMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveHSVMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveHSVMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveHSVMethod "isAdjusting" o = HSVIsAdjustingMethodInfo
+    ResolveHSVMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveHSVMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveHSVMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveHSVMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveHSVMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveHSVMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveHSVMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveHSVMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveHSVMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveHSVMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveHSVMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveHSVMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveHSVMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveHSVMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveHSVMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveHSVMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveHSVMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveHSVMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveHSVMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveHSVMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveHSVMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveHSVMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveHSVMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveHSVMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveHSVMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveHSVMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveHSVMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveHSVMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveHSVMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveHSVMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveHSVMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveHSVMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveHSVMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveHSVMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveHSVMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveHSVMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveHSVMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveHSVMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveHSVMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveHSVMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveHSVMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveHSVMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveHSVMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveHSVMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveHSVMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveHSVMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveHSVMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveHSVMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveHSVMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveHSVMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveHSVMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveHSVMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveHSVMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveHSVMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveHSVMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveHSVMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveHSVMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveHSVMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveHSVMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveHSVMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveHSVMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveHSVMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveHSVMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveHSVMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveHSVMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveHSVMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveHSVMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveHSVMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveHSVMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveHSVMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveHSVMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveHSVMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveHSVMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveHSVMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveHSVMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveHSVMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveHSVMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveHSVMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveHSVMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveHSVMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveHSVMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveHSVMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveHSVMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveHSVMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveHSVMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveHSVMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveHSVMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveHSVMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveHSVMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveHSVMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveHSVMethod "getColor" o = HSVGetColorMethodInfo
+    ResolveHSVMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveHSVMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveHSVMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveHSVMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveHSVMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveHSVMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveHSVMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveHSVMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveHSVMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveHSVMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveHSVMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveHSVMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveHSVMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveHSVMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveHSVMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveHSVMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveHSVMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveHSVMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveHSVMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveHSVMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveHSVMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveHSVMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveHSVMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveHSVMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveHSVMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveHSVMethod "getMetrics" o = HSVGetMetricsMethodInfo
+    ResolveHSVMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveHSVMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveHSVMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveHSVMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveHSVMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveHSVMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveHSVMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveHSVMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveHSVMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveHSVMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveHSVMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveHSVMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveHSVMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveHSVMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveHSVMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveHSVMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveHSVMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveHSVMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveHSVMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveHSVMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveHSVMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveHSVMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveHSVMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveHSVMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveHSVMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveHSVMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveHSVMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveHSVMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveHSVMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveHSVMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveHSVMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveHSVMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveHSVMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveHSVMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveHSVMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveHSVMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveHSVMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveHSVMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveHSVMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveHSVMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveHSVMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveHSVMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveHSVMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveHSVMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveHSVMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveHSVMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveHSVMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveHSVMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveHSVMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveHSVMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveHSVMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveHSVMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveHSVMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveHSVMethod "setColor" o = HSVSetColorMethodInfo
+    ResolveHSVMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveHSVMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveHSVMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveHSVMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveHSVMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveHSVMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveHSVMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveHSVMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveHSVMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveHSVMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveHSVMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveHSVMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveHSVMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveHSVMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveHSVMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveHSVMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveHSVMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveHSVMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveHSVMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveHSVMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveHSVMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveHSVMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveHSVMethod "setMetrics" o = HSVSetMetricsMethodInfo
+    ResolveHSVMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveHSVMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveHSVMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveHSVMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveHSVMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveHSVMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveHSVMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveHSVMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveHSVMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveHSVMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveHSVMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveHSVMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveHSVMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveHSVMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveHSVMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveHSVMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveHSVMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveHSVMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveHSVMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveHSVMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveHSVMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveHSVMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveHSVMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveHSVMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveHSVMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveHSVMethod t HSV, O.MethodInfo info HSV p) => OL.IsLabel t (HSV -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal HSV::changed
+{- |
+/No description available in the introspection data./
+-}
+type HSVChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `HSVChangedCallback`@.
+noHSVChangedCallback :: Maybe HSVChangedCallback
+noHSVChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_HSVChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_HSVChangedCallback`.
+foreign import ccall "wrapper"
+    mk_HSVChangedCallback :: C_HSVChangedCallback -> IO (FunPtr C_HSVChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_HSVChanged :: MonadIO m => HSVChangedCallback -> m (GClosure C_HSVChangedCallback)
+genClosure_HSVChanged cb = liftIO $ do
+    let cb' = wrap_HSVChangedCallback cb
+    mk_HSVChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `HSVChangedCallback` into a `C_HSVChangedCallback`.
+wrap_HSVChangedCallback ::
+    HSVChangedCallback ->
+    C_HSVChangedCallback
+wrap_HSVChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' hSV #changed callback
+@
+-}
+onHSVChanged :: (IsHSV a, MonadIO m) => a -> HSVChangedCallback -> m SignalHandlerId
+onHSVChanged obj cb = liftIO $ do
+    let cb' = wrap_HSVChangedCallback cb
+    cb'' <- mk_HSVChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' hSV #changed callback
+@
+-}
+afterHSVChanged :: (IsHSV a, MonadIO m) => a -> HSVChangedCallback -> m SignalHandlerId
+afterHSVChanged obj cb = liftIO $ do
+    let cb' = wrap_HSVChangedCallback cb
+    cb'' <- mk_HSVChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- signal HSV::move
+{- |
+/No description available in the introspection data./
+-}
+type HSVMoveCallback =
+    Gtk.Enums.DirectionType
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `HSVMoveCallback`@.
+noHSVMoveCallback :: Maybe HSVMoveCallback
+noHSVMoveCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_HSVMoveCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_HSVMoveCallback`.
+foreign import ccall "wrapper"
+    mk_HSVMoveCallback :: C_HSVMoveCallback -> IO (FunPtr C_HSVMoveCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_HSVMove :: MonadIO m => HSVMoveCallback -> m (GClosure C_HSVMoveCallback)
+genClosure_HSVMove cb = liftIO $ do
+    let cb' = wrap_HSVMoveCallback cb
+    mk_HSVMoveCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `HSVMoveCallback` into a `C_HSVMoveCallback`.
+wrap_HSVMoveCallback ::
+    HSVMoveCallback ->
+    C_HSVMoveCallback
+wrap_HSVMoveCallback _cb _ object _ = do
+    let object' = (toEnum . fromIntegral) object
+    _cb  object'
+
+
+{- |
+Connect a signal handler for the “@move@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' hSV #move callback
+@
+-}
+onHSVMove :: (IsHSV a, MonadIO m) => a -> HSVMoveCallback -> m SignalHandlerId
+onHSVMove obj cb = liftIO $ do
+    let cb' = wrap_HSVMoveCallback cb
+    cb'' <- mk_HSVMoveCallback cb'
+    connectSignalFunPtr obj "move" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' hSV #move callback
+@
+-}
+afterHSVMove :: (IsHSV a, MonadIO m) => a -> HSVMoveCallback -> m SignalHandlerId
+afterHSVMove obj cb = liftIO $ do
+    let cb' = wrap_HSVMoveCallback cb
+    cb'' <- mk_HSVMoveCallback cb'
+    connectSignalFunPtr obj "move" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList HSV
+type instance O.AttributeList HSV = HSVAttributeList
+type HSVAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data HSVChangedSignalInfo
+instance SignalInfo HSVChangedSignalInfo where
+    type HaskellCallbackType HSVChangedSignalInfo = HSVChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_HSVChangedCallback cb
+        cb'' <- mk_HSVChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+data HSVMoveSignalInfo
+instance SignalInfo HSVMoveSignalInfo where
+    type HaskellCallbackType HSVMoveSignalInfo = HSVMoveCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_HSVMoveCallback cb
+        cb'' <- mk_HSVMoveCallback cb'
+        connectSignalFunPtr obj "move" cb'' connectMode
+
+type instance O.SignalList HSV = HSVSignalList
+type HSVSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changed", HSVChangedSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("move", HSVMoveSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method HSV::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HSV"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hsv_new" gtk_hsv_new :: 
+    IO (Ptr HSV)
+
+{- |
+Creates a new HSV color selector.
+
+/Since: 2.14/
+-}
+hSVNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m HSV
+    {- ^ __Returns:__ A newly-created HSV color selector. -}
+hSVNew  = liftIO $ do
+    result <- gtk_hsv_new
+    checkUnexpectedReturnNULL "hSVNew" result
+    result' <- (newObject HSV) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method HSV::get_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "hsv", argType = TInterface (Name {namespace = "Gtk", name = "HSV"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An HSV color selector", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "h", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the hue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "s", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the saturation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "v", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hsv_get_color" gtk_hsv_get_color :: 
+    Ptr HSV ->                              -- hsv : TInterface (Name {namespace = "Gtk", name = "HSV"})
+    Ptr CDouble ->                          -- h : TBasicType TDouble
+    Ptr CDouble ->                          -- s : TBasicType TDouble
+    Ptr CDouble ->                          -- v : TBasicType TDouble
+    IO ()
+
+{- |
+Queries the current color in an HSV color selector.
+Returned values will be in the [0.0, 1.0] range.
+
+/Since: 2.14/
+-}
+hSVGetColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHSV a) =>
+    a
+    {- ^ /@hsv@/: An HSV color selector -}
+    -> m ((Double, Double, Double))
+hSVGetColor hsv = liftIO $ do
+    hsv' <- unsafeManagedPtrCastPtr hsv
+    h <- allocMem :: IO (Ptr CDouble)
+    s <- allocMem :: IO (Ptr CDouble)
+    v <- allocMem :: IO (Ptr CDouble)
+    gtk_hsv_get_color hsv' h s v
+    h' <- peek h
+    let h'' = realToFrac h'
+    s' <- peek s
+    let s'' = realToFrac s'
+    v' <- peek v
+    let v'' = realToFrac v'
+    touchManagedPtr hsv
+    freeMem h
+    freeMem s
+    freeMem v
+    return (h'', s'', v'')
+
+#if ENABLE_OVERLOADING
+data HSVGetColorMethodInfo
+instance (signature ~ (m ((Double, Double, Double))), MonadIO m, IsHSV a) => O.MethodInfo HSVGetColorMethodInfo a signature where
+    overloadedMethod _ = hSVGetColor
+
+#endif
+
+-- method HSV::get_metrics
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "hsv", argType = TInterface (Name {namespace = "Gtk", name = "HSV"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An HSV color selector", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the diameter of the hue ring", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "ring_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the width of the hue ring", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hsv_get_metrics" gtk_hsv_get_metrics :: 
+    Ptr HSV ->                              -- hsv : TInterface (Name {namespace = "Gtk", name = "HSV"})
+    Ptr Int32 ->                            -- size : TBasicType TInt
+    Ptr Int32 ->                            -- ring_width : TBasicType TInt
+    IO ()
+
+{- |
+Queries the size and ring width of an HSV color selector.
+
+/Since: 2.14/
+-}
+hSVGetMetrics ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHSV a) =>
+    a
+    {- ^ /@hsv@/: An HSV color selector -}
+    -> m ((Int32, Int32))
+hSVGetMetrics hsv = liftIO $ do
+    hsv' <- unsafeManagedPtrCastPtr hsv
+    size <- allocMem :: IO (Ptr Int32)
+    ringWidth <- allocMem :: IO (Ptr Int32)
+    gtk_hsv_get_metrics hsv' size ringWidth
+    size' <- peek size
+    ringWidth' <- peek ringWidth
+    touchManagedPtr hsv
+    freeMem size
+    freeMem ringWidth
+    return (size', ringWidth')
+
+#if ENABLE_OVERLOADING
+data HSVGetMetricsMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsHSV a) => O.MethodInfo HSVGetMetricsMethodInfo a signature where
+    overloadedMethod _ = hSVGetMetrics
+
+#endif
+
+-- method HSV::is_adjusting
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "hsv", argType = TInterface (Name {namespace = "Gtk", name = "HSV"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkHSV", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hsv_is_adjusting" gtk_hsv_is_adjusting :: 
+    Ptr HSV ->                              -- hsv : TInterface (Name {namespace = "Gtk", name = "HSV"})
+    IO CInt
+
+{- |
+An HSV color selector can be said to be adjusting if multiple rapid
+changes are being made to its value, for example, when the user is
+adjusting the value with the mouse. This function queries whether
+the HSV color selector is being adjusted or not.
+
+/Since: 2.14/
+-}
+hSVIsAdjusting ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHSV a) =>
+    a
+    {- ^ /@hsv@/: A 'GI.Gtk.Objects.HSV.HSV' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if clients can ignore changes to the color value,
+    since they may be transitory, or 'False' if they should consider
+    the color value status to be final. -}
+hSVIsAdjusting hsv = liftIO $ do
+    hsv' <- unsafeManagedPtrCastPtr hsv
+    result <- gtk_hsv_is_adjusting hsv'
+    let result' = (/= 0) result
+    touchManagedPtr hsv
+    return result'
+
+#if ENABLE_OVERLOADING
+data HSVIsAdjustingMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsHSV a) => O.MethodInfo HSVIsAdjustingMethodInfo a signature where
+    overloadedMethod _ = hSVIsAdjusting
+
+#endif
+
+-- method HSV::set_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "hsv", argType = TInterface (Name {namespace = "Gtk", name = "HSV"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An HSV color selector", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "h", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Hue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Saturation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hsv_set_color" gtk_hsv_set_color :: 
+    Ptr HSV ->                              -- hsv : TInterface (Name {namespace = "Gtk", name = "HSV"})
+    CDouble ->                              -- h : TBasicType TDouble
+    CDouble ->                              -- s : TBasicType TDouble
+    CDouble ->                              -- v : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the current color in an HSV color selector.
+Color component values must be in the [0.0, 1.0] range.
+
+/Since: 2.14/
+-}
+hSVSetColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHSV a) =>
+    a
+    {- ^ /@hsv@/: An HSV color selector -}
+    -> Double
+    {- ^ /@h@/: Hue -}
+    -> Double
+    {- ^ /@s@/: Saturation -}
+    -> Double
+    {- ^ /@v@/: Value -}
+    -> m ()
+hSVSetColor hsv h s v = liftIO $ do
+    hsv' <- unsafeManagedPtrCastPtr hsv
+    let h' = realToFrac h
+    let s' = realToFrac s
+    let v' = realToFrac v
+    gtk_hsv_set_color hsv' h' s' v'
+    touchManagedPtr hsv
+    return ()
+
+#if ENABLE_OVERLOADING
+data HSVSetColorMethodInfo
+instance (signature ~ (Double -> Double -> Double -> m ()), MonadIO m, IsHSV a) => O.MethodInfo HSVSetColorMethodInfo a signature where
+    overloadedMethod _ = hSVSetColor
+
+#endif
+
+-- method HSV::set_metrics
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "hsv", argType = TInterface (Name {namespace = "Gtk", name = "HSV"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An HSV color selector", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Diameter for the hue ring", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ring_width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Width of the hue ring", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hsv_set_metrics" gtk_hsv_set_metrics :: 
+    Ptr HSV ->                              -- hsv : TInterface (Name {namespace = "Gtk", name = "HSV"})
+    Int32 ->                                -- size : TBasicType TInt
+    Int32 ->                                -- ring_width : TBasicType TInt
+    IO ()
+
+{- |
+Sets the size and ring width of an HSV color selector.
+
+/Since: 2.14/
+-}
+hSVSetMetrics ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHSV a) =>
+    a
+    {- ^ /@hsv@/: An HSV color selector -}
+    -> Int32
+    {- ^ /@size@/: Diameter for the hue ring -}
+    -> Int32
+    {- ^ /@ringWidth@/: Width of the hue ring -}
+    -> m ()
+hSVSetMetrics hsv size ringWidth = liftIO $ do
+    hsv' <- unsafeManagedPtrCastPtr hsv
+    gtk_hsv_set_metrics hsv' size ringWidth
+    touchManagedPtr hsv
+    return ()
+
+#if ENABLE_OVERLOADING
+data HSVSetMetricsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsHSV a) => O.MethodInfo HSVSetMetricsMethodInfo a signature where
+    overloadedMethod _ = hSVSetMetrics
+
+#endif
+
+-- method HSV::to_rgb
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "h", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Hue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Saturation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "r", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the red component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "g", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the green component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "b", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return value for the blue component", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hsv_to_rgb" gtk_hsv_to_rgb :: 
+    CDouble ->                              -- h : TBasicType TDouble
+    CDouble ->                              -- s : TBasicType TDouble
+    CDouble ->                              -- v : TBasicType TDouble
+    Ptr CDouble ->                          -- r : TBasicType TDouble
+    Ptr CDouble ->                          -- g : TBasicType TDouble
+    Ptr CDouble ->                          -- b : TBasicType TDouble
+    IO ()
+
+{- |
+Converts a color from HSV space to RGB.
+
+Input values must be in the [0.0, 1.0] range;
+output values will be in the same range.
+
+/Since: 2.14/
+-}
+hSVToRgb ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Double
+    {- ^ /@h@/: Hue -}
+    -> Double
+    {- ^ /@s@/: Saturation -}
+    -> Double
+    {- ^ /@v@/: Value -}
+    -> m ((Double, Double, Double))
+hSVToRgb h s v = liftIO $ do
+    let h' = realToFrac h
+    let s' = realToFrac s
+    let v' = realToFrac v
+    r <- allocMem :: IO (Ptr CDouble)
+    g <- allocMem :: IO (Ptr CDouble)
+    b <- allocMem :: IO (Ptr CDouble)
+    gtk_hsv_to_rgb h' s' v' r g b
+    r' <- peek r
+    let r'' = realToFrac r'
+    g' <- peek g
+    let g'' = realToFrac g'
+    b' <- peek b
+    let b'' = realToFrac b'
+    freeMem r
+    freeMem g
+    freeMem b
+    return (r'', g'', b'')
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/HSV.hs-boot b/GI/Gtk/Objects/HSV.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HSV.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.HSV where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype HSV = HSV (ManagedPtr HSV)
+instance GObject HSV where
+class (GObject o, O.IsDescendantOf HSV o) => IsHSV o
+instance (GObject o, O.IsDescendantOf HSV o) => IsHSV o
+instance O.HasParentTypes HSV
+#if ENABLE_OVERLOADING
+data HSVChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data HSVMoveSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data HSVGetColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HSVGetMetricsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HSVIsAdjustingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HSVSetColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HSVSetMetricsMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/HScale.hs b/GI/Gtk/Objects/HScale.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HScale.hs
@@ -0,0 +1,543 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.HScale.HScale' widget is used to allow the user to select a value using
+a horizontal slider. To create one, use 'GI.Gtk.Objects.HScale.hScaleNewWithRange'.
+
+The position to show the current value, and the number of decimal places
+shown can be set using the parent 'GI.Gtk.Objects.Scale.Scale' class’s functions.
+
+GtkHScale has been deprecated, use 'GI.Gtk.Objects.Scale.Scale' instead.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.HScale
+    ( 
+
+-- * Exported types
+    HScale(..)                              ,
+    IsHScale                                ,
+    toHScale                                ,
+    noHScale                                ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    hScaleNew                               ,
+
+
+-- ** newWithRange #method:newWithRange#
+
+    hScaleNewWithRange                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Range as Gtk.Range
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Scale as Gtk.Scale
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype HScale = HScale (ManagedPtr HScale)
+foreign import ccall "gtk_hscale_get_type"
+    c_gtk_hscale_get_type :: IO GType
+
+instance GObject HScale where
+    gobjectType = c_gtk_hscale_get_type
+    
+
+-- | Type class for types which can be safely cast to `HScale`, for instance with `toHScale`.
+class (GObject o, O.IsDescendantOf HScale o) => IsHScale o
+instance (GObject o, O.IsDescendantOf HScale o) => IsHScale o
+
+instance O.HasParentTypes HScale
+type instance O.ParentTypes HScale = '[Gtk.Scale.Scale, Gtk.Range.Range, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `HScale`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toHScale :: (MonadIO m, IsHScale o) => o -> m HScale
+toHScale = liftIO . unsafeCastTo HScale
+
+-- | A convenience alias for `Nothing` :: `Maybe` `HScale`.
+noHScale :: Maybe HScale
+noHScale = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveHScaleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHScaleMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveHScaleMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveHScaleMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveHScaleMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveHScaleMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveHScaleMethod "addMark" o = Gtk.Scale.ScaleAddMarkMethodInfo
+    ResolveHScaleMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveHScaleMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveHScaleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveHScaleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveHScaleMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveHScaleMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveHScaleMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveHScaleMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveHScaleMethod "clearMarks" o = Gtk.Scale.ScaleClearMarksMethodInfo
+    ResolveHScaleMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveHScaleMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveHScaleMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveHScaleMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveHScaleMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveHScaleMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveHScaleMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveHScaleMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveHScaleMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveHScaleMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveHScaleMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveHScaleMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveHScaleMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveHScaleMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveHScaleMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveHScaleMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveHScaleMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveHScaleMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveHScaleMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveHScaleMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveHScaleMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveHScaleMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveHScaleMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveHScaleMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveHScaleMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveHScaleMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveHScaleMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveHScaleMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveHScaleMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveHScaleMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveHScaleMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveHScaleMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveHScaleMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveHScaleMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveHScaleMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveHScaleMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveHScaleMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveHScaleMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveHScaleMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveHScaleMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveHScaleMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveHScaleMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveHScaleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveHScaleMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveHScaleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveHScaleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveHScaleMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveHScaleMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveHScaleMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveHScaleMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveHScaleMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveHScaleMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveHScaleMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveHScaleMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveHScaleMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveHScaleMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveHScaleMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveHScaleMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveHScaleMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveHScaleMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveHScaleMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveHScaleMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveHScaleMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveHScaleMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveHScaleMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveHScaleMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveHScaleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveHScaleMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveHScaleMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveHScaleMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveHScaleMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveHScaleMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveHScaleMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveHScaleMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveHScaleMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveHScaleMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveHScaleMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveHScaleMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveHScaleMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveHScaleMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveHScaleMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveHScaleMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveHScaleMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveHScaleMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveHScaleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveHScaleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveHScaleMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveHScaleMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveHScaleMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveHScaleMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveHScaleMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveHScaleMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveHScaleMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveHScaleMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveHScaleMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveHScaleMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveHScaleMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveHScaleMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveHScaleMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveHScaleMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveHScaleMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveHScaleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveHScaleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveHScaleMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveHScaleMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveHScaleMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveHScaleMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveHScaleMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveHScaleMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveHScaleMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveHScaleMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveHScaleMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveHScaleMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveHScaleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveHScaleMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveHScaleMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveHScaleMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveHScaleMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveHScaleMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveHScaleMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveHScaleMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveHScaleMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveHScaleMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveHScaleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveHScaleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveHScaleMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveHScaleMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveHScaleMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveHScaleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveHScaleMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveHScaleMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveHScaleMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveHScaleMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveHScaleMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveHScaleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveHScaleMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveHScaleMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveHScaleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveHScaleMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveHScaleMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveHScaleMethod "getAdjustment" o = Gtk.Range.RangeGetAdjustmentMethodInfo
+    ResolveHScaleMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveHScaleMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveHScaleMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveHScaleMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveHScaleMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveHScaleMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveHScaleMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveHScaleMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveHScaleMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveHScaleMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveHScaleMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveHScaleMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveHScaleMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveHScaleMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveHScaleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveHScaleMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveHScaleMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveHScaleMethod "getDigits" o = Gtk.Scale.ScaleGetDigitsMethodInfo
+    ResolveHScaleMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveHScaleMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveHScaleMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveHScaleMethod "getDrawValue" o = Gtk.Scale.ScaleGetDrawValueMethodInfo
+    ResolveHScaleMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveHScaleMethod "getFillLevel" o = Gtk.Range.RangeGetFillLevelMethodInfo
+    ResolveHScaleMethod "getFlippable" o = Gtk.Range.RangeGetFlippableMethodInfo
+    ResolveHScaleMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveHScaleMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveHScaleMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveHScaleMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveHScaleMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveHScaleMethod "getHasOrigin" o = Gtk.Scale.ScaleGetHasOriginMethodInfo
+    ResolveHScaleMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveHScaleMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveHScaleMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveHScaleMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveHScaleMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveHScaleMethod "getInverted" o = Gtk.Range.RangeGetInvertedMethodInfo
+    ResolveHScaleMethod "getLayout" o = Gtk.Scale.ScaleGetLayoutMethodInfo
+    ResolveHScaleMethod "getLayoutOffsets" o = Gtk.Scale.ScaleGetLayoutOffsetsMethodInfo
+    ResolveHScaleMethod "getLowerStepperSensitivity" o = Gtk.Range.RangeGetLowerStepperSensitivityMethodInfo
+    ResolveHScaleMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveHScaleMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveHScaleMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveHScaleMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveHScaleMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveHScaleMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveHScaleMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveHScaleMethod "getMinSliderSize" o = Gtk.Range.RangeGetMinSliderSizeMethodInfo
+    ResolveHScaleMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveHScaleMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveHScaleMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveHScaleMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveHScaleMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveHScaleMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveHScaleMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveHScaleMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveHScaleMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveHScaleMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveHScaleMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveHScaleMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveHScaleMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveHScaleMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveHScaleMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveHScaleMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveHScaleMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveHScaleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveHScaleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveHScaleMethod "getRangeRect" o = Gtk.Range.RangeGetRangeRectMethodInfo
+    ResolveHScaleMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveHScaleMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveHScaleMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveHScaleMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveHScaleMethod "getRestrictToFillLevel" o = Gtk.Range.RangeGetRestrictToFillLevelMethodInfo
+    ResolveHScaleMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveHScaleMethod "getRoundDigits" o = Gtk.Range.RangeGetRoundDigitsMethodInfo
+    ResolveHScaleMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveHScaleMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveHScaleMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveHScaleMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveHScaleMethod "getShowFillLevel" o = Gtk.Range.RangeGetShowFillLevelMethodInfo
+    ResolveHScaleMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveHScaleMethod "getSliderRange" o = Gtk.Range.RangeGetSliderRangeMethodInfo
+    ResolveHScaleMethod "getSliderSizeFixed" o = Gtk.Range.RangeGetSliderSizeFixedMethodInfo
+    ResolveHScaleMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveHScaleMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveHScaleMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveHScaleMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveHScaleMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveHScaleMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveHScaleMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveHScaleMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveHScaleMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveHScaleMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveHScaleMethod "getUpperStepperSensitivity" o = Gtk.Range.RangeGetUpperStepperSensitivityMethodInfo
+    ResolveHScaleMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveHScaleMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveHScaleMethod "getValue" o = Gtk.Range.RangeGetValueMethodInfo
+    ResolveHScaleMethod "getValuePos" o = Gtk.Scale.ScaleGetValuePosMethodInfo
+    ResolveHScaleMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveHScaleMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveHScaleMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveHScaleMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveHScaleMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveHScaleMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveHScaleMethod "setAdjustment" o = Gtk.Range.RangeSetAdjustmentMethodInfo
+    ResolveHScaleMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveHScaleMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveHScaleMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveHScaleMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveHScaleMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveHScaleMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveHScaleMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveHScaleMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveHScaleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveHScaleMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveHScaleMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveHScaleMethod "setDigits" o = Gtk.Scale.ScaleSetDigitsMethodInfo
+    ResolveHScaleMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveHScaleMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveHScaleMethod "setDrawValue" o = Gtk.Scale.ScaleSetDrawValueMethodInfo
+    ResolveHScaleMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveHScaleMethod "setFillLevel" o = Gtk.Range.RangeSetFillLevelMethodInfo
+    ResolveHScaleMethod "setFlippable" o = Gtk.Range.RangeSetFlippableMethodInfo
+    ResolveHScaleMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveHScaleMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveHScaleMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveHScaleMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveHScaleMethod "setHasOrigin" o = Gtk.Scale.ScaleSetHasOriginMethodInfo
+    ResolveHScaleMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveHScaleMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveHScaleMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveHScaleMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveHScaleMethod "setIncrements" o = Gtk.Range.RangeSetIncrementsMethodInfo
+    ResolveHScaleMethod "setInverted" o = Gtk.Range.RangeSetInvertedMethodInfo
+    ResolveHScaleMethod "setLowerStepperSensitivity" o = Gtk.Range.RangeSetLowerStepperSensitivityMethodInfo
+    ResolveHScaleMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveHScaleMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveHScaleMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveHScaleMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveHScaleMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveHScaleMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveHScaleMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveHScaleMethod "setMinSliderSize" o = Gtk.Range.RangeSetMinSliderSizeMethodInfo
+    ResolveHScaleMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveHScaleMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveHScaleMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveHScaleMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveHScaleMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveHScaleMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveHScaleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveHScaleMethod "setRange" o = Gtk.Range.RangeSetRangeMethodInfo
+    ResolveHScaleMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveHScaleMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveHScaleMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveHScaleMethod "setRestrictToFillLevel" o = Gtk.Range.RangeSetRestrictToFillLevelMethodInfo
+    ResolveHScaleMethod "setRoundDigits" o = Gtk.Range.RangeSetRoundDigitsMethodInfo
+    ResolveHScaleMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveHScaleMethod "setShowFillLevel" o = Gtk.Range.RangeSetShowFillLevelMethodInfo
+    ResolveHScaleMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveHScaleMethod "setSliderSizeFixed" o = Gtk.Range.RangeSetSliderSizeFixedMethodInfo
+    ResolveHScaleMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveHScaleMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveHScaleMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveHScaleMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveHScaleMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveHScaleMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveHScaleMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveHScaleMethod "setUpperStepperSensitivity" o = Gtk.Range.RangeSetUpperStepperSensitivityMethodInfo
+    ResolveHScaleMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveHScaleMethod "setValue" o = Gtk.Range.RangeSetValueMethodInfo
+    ResolveHScaleMethod "setValuePos" o = Gtk.Scale.ScaleSetValuePosMethodInfo
+    ResolveHScaleMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveHScaleMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveHScaleMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveHScaleMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveHScaleMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveHScaleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveHScaleMethod t HScale, O.MethodInfo info HScale p) => OL.IsLabel t (HScale -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList HScale
+type instance O.AttributeList HScale = HScaleAttributeList
+type HScaleAttributeList = ('[ '("adjustment", Gtk.Range.RangeAdjustmentPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("digits", Gtk.Scale.ScaleDigitsPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawValue", Gtk.Scale.ScaleDrawValuePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("fillLevel", Gtk.Range.RangeFillLevelPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasOrigin", Gtk.Scale.ScaleHasOriginPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inverted", Gtk.Range.RangeInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("lowerStepperSensitivity", Gtk.Range.RangeLowerStepperSensitivityPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("restrictToFillLevel", Gtk.Range.RangeRestrictToFillLevelPropertyInfo), '("roundDigits", Gtk.Range.RangeRoundDigitsPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showFillLevel", Gtk.Range.RangeShowFillLevelPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("upperStepperSensitivity", Gtk.Range.RangeUpperStepperSensitivityPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("valuePos", Gtk.Scale.ScaleValuePosPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList HScale = HScaleSignalList
+type HScaleSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("adjustBounds", Gtk.Range.RangeAdjustBoundsSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeValue", Gtk.Range.RangeChangeValueSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("formatValue", Gtk.Scale.ScaleFormatValueSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveSlider", Gtk.Range.RangeMoveSliderSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", Gtk.Range.RangeValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method HScale::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkAdjustment which sets the range of\nthe scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HScale"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hscale_new" gtk_hscale_new :: 
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO (Ptr HScale)
+
+{-# DEPRECATED hScaleNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.Scale.scaleNew' with 'GI.Gtk.Enums.OrientationHorizontal' instead"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.HScale.HScale'.
+-}
+hScaleNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a) =>
+    Maybe (a)
+    {- ^ /@adjustment@/: the 'GI.Gtk.Objects.Adjustment.Adjustment' which sets the range of
+the scale. -}
+    -> m HScale
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.HScale.HScale'. -}
+hScaleNew adjustment = liftIO $ do
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    result <- gtk_hscale_new maybeAdjustment
+    checkUnexpectedReturnNULL "hScaleNew" result
+    result' <- (newObject HScale) result
+    whenJust adjustment touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method HScale::new_with_range
+-- method type : Constructor
+-- Args : [Arg {argCName = "min", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "step increment (tick size) used with keyboard shortcuts", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HScale"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hscale_new_with_range" gtk_hscale_new_with_range :: 
+    CDouble ->                              -- min : TBasicType TDouble
+    CDouble ->                              -- max : TBasicType TDouble
+    CDouble ->                              -- step : TBasicType TDouble
+    IO (Ptr HScale)
+
+{-# DEPRECATED hScaleNewWithRange ["(Since version 3.2)","Use 'GI.Gtk.Objects.Scale.scaleNewWithRange' with 'GI.Gtk.Enums.OrientationHorizontal' instead"] #-}
+{- |
+Creates a new horizontal scale widget that lets the user input a
+number between /@min@/ and /@max@/ (including /@min@/ and /@max@/) with the
+increment /@step@/.  /@step@/ must be nonzero; it’s the distance the
+slider moves when using the arrow keys to adjust the scale value.
+
+Note that the way in which the precision is derived works best if /@step@/
+is a power of ten. If the resulting precision is not suitable for your
+needs, use 'GI.Gtk.Objects.Scale.scaleSetDigits' to correct it.
+-}
+hScaleNewWithRange ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Double
+    {- ^ /@min@/: minimum value -}
+    -> Double
+    {- ^ /@max@/: maximum value -}
+    -> Double
+    {- ^ /@step@/: step increment (tick size) used with keyboard shortcuts -}
+    -> m HScale
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.HScale.HScale' -}
+hScaleNewWithRange min max step = liftIO $ do
+    let min' = realToFrac min
+    let max' = realToFrac max
+    let step' = realToFrac step
+    result <- gtk_hscale_new_with_range min' max' step'
+    checkUnexpectedReturnNULL "hScaleNewWithRange" result
+    result' <- (newObject HScale) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/HScale.hs-boot b/GI/Gtk/Objects/HScale.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HScale.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.HScale where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype HScale = HScale (ManagedPtr HScale)
+instance GObject HScale where
+class (GObject o, O.IsDescendantOf HScale o) => IsHScale o
+instance (GObject o, O.IsDescendantOf HScale o) => IsHScale o
+instance O.HasParentTypes HScale
diff --git a/GI/Gtk/Objects/HScrollbar.hs b/GI/Gtk/Objects/HScrollbar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HScrollbar.hs
@@ -0,0 +1,479 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.HScrollbar.HScrollbar' widget is a widget arranged horizontally creating a
+scrollbar. See 'GI.Gtk.Objects.Scrollbar.Scrollbar' for details on
+scrollbars. 'GI.Gtk.Objects.Adjustment.Adjustment' pointers may be added to handle the
+adjustment of the scrollbar or it may be left 'Nothing' in which case one
+will be created for you. See 'GI.Gtk.Objects.Scrollbar.Scrollbar' for a description of what the
+fields in an adjustment represent for a scrollbar.
+
+GtkHScrollbar has been deprecated, use 'GI.Gtk.Objects.Scrollbar.Scrollbar' instead.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.HScrollbar
+    ( 
+
+-- * Exported types
+    HScrollbar(..)                          ,
+    IsHScrollbar                            ,
+    toHScrollbar                            ,
+    noHScrollbar                            ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    hScrollbarNew                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Range as Gtk.Range
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Scrollbar as Gtk.Scrollbar
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype HScrollbar = HScrollbar (ManagedPtr HScrollbar)
+foreign import ccall "gtk_hscrollbar_get_type"
+    c_gtk_hscrollbar_get_type :: IO GType
+
+instance GObject HScrollbar where
+    gobjectType = c_gtk_hscrollbar_get_type
+    
+
+-- | Type class for types which can be safely cast to `HScrollbar`, for instance with `toHScrollbar`.
+class (GObject o, O.IsDescendantOf HScrollbar o) => IsHScrollbar o
+instance (GObject o, O.IsDescendantOf HScrollbar o) => IsHScrollbar o
+
+instance O.HasParentTypes HScrollbar
+type instance O.ParentTypes HScrollbar = '[Gtk.Scrollbar.Scrollbar, Gtk.Range.Range, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `HScrollbar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toHScrollbar :: (MonadIO m, IsHScrollbar o) => o -> m HScrollbar
+toHScrollbar = liftIO . unsafeCastTo HScrollbar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `HScrollbar`.
+noHScrollbar :: Maybe HScrollbar
+noHScrollbar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveHScrollbarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHScrollbarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveHScrollbarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveHScrollbarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveHScrollbarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveHScrollbarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveHScrollbarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveHScrollbarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveHScrollbarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveHScrollbarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveHScrollbarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveHScrollbarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveHScrollbarMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveHScrollbarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveHScrollbarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveHScrollbarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveHScrollbarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveHScrollbarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveHScrollbarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveHScrollbarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveHScrollbarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveHScrollbarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveHScrollbarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveHScrollbarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveHScrollbarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveHScrollbarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveHScrollbarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveHScrollbarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveHScrollbarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveHScrollbarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveHScrollbarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveHScrollbarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveHScrollbarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveHScrollbarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveHScrollbarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveHScrollbarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveHScrollbarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveHScrollbarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveHScrollbarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveHScrollbarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveHScrollbarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveHScrollbarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveHScrollbarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveHScrollbarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveHScrollbarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveHScrollbarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveHScrollbarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveHScrollbarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveHScrollbarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveHScrollbarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveHScrollbarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveHScrollbarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveHScrollbarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveHScrollbarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveHScrollbarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveHScrollbarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveHScrollbarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveHScrollbarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveHScrollbarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveHScrollbarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveHScrollbarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveHScrollbarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveHScrollbarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveHScrollbarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveHScrollbarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveHScrollbarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveHScrollbarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveHScrollbarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveHScrollbarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveHScrollbarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveHScrollbarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveHScrollbarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveHScrollbarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveHScrollbarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveHScrollbarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveHScrollbarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveHScrollbarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveHScrollbarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveHScrollbarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveHScrollbarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveHScrollbarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveHScrollbarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveHScrollbarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveHScrollbarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveHScrollbarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveHScrollbarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveHScrollbarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveHScrollbarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveHScrollbarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveHScrollbarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveHScrollbarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveHScrollbarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveHScrollbarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveHScrollbarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveHScrollbarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveHScrollbarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveHScrollbarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveHScrollbarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveHScrollbarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveHScrollbarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveHScrollbarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveHScrollbarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveHScrollbarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveHScrollbarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveHScrollbarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveHScrollbarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveHScrollbarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveHScrollbarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveHScrollbarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveHScrollbarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveHScrollbarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveHScrollbarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveHScrollbarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveHScrollbarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveHScrollbarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveHScrollbarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveHScrollbarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveHScrollbarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveHScrollbarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveHScrollbarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveHScrollbarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveHScrollbarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveHScrollbarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveHScrollbarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveHScrollbarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveHScrollbarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveHScrollbarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveHScrollbarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveHScrollbarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveHScrollbarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveHScrollbarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveHScrollbarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveHScrollbarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveHScrollbarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveHScrollbarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveHScrollbarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveHScrollbarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveHScrollbarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveHScrollbarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveHScrollbarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveHScrollbarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveHScrollbarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveHScrollbarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveHScrollbarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveHScrollbarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveHScrollbarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveHScrollbarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveHScrollbarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveHScrollbarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveHScrollbarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveHScrollbarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveHScrollbarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveHScrollbarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveHScrollbarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveHScrollbarMethod "getAdjustment" o = Gtk.Range.RangeGetAdjustmentMethodInfo
+    ResolveHScrollbarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveHScrollbarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveHScrollbarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveHScrollbarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveHScrollbarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveHScrollbarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveHScrollbarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveHScrollbarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveHScrollbarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveHScrollbarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveHScrollbarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveHScrollbarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveHScrollbarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveHScrollbarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveHScrollbarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveHScrollbarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveHScrollbarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveHScrollbarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveHScrollbarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveHScrollbarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveHScrollbarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveHScrollbarMethod "getFillLevel" o = Gtk.Range.RangeGetFillLevelMethodInfo
+    ResolveHScrollbarMethod "getFlippable" o = Gtk.Range.RangeGetFlippableMethodInfo
+    ResolveHScrollbarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveHScrollbarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveHScrollbarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveHScrollbarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveHScrollbarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveHScrollbarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveHScrollbarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveHScrollbarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveHScrollbarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveHScrollbarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveHScrollbarMethod "getInverted" o = Gtk.Range.RangeGetInvertedMethodInfo
+    ResolveHScrollbarMethod "getLowerStepperSensitivity" o = Gtk.Range.RangeGetLowerStepperSensitivityMethodInfo
+    ResolveHScrollbarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveHScrollbarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveHScrollbarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveHScrollbarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveHScrollbarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveHScrollbarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveHScrollbarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveHScrollbarMethod "getMinSliderSize" o = Gtk.Range.RangeGetMinSliderSizeMethodInfo
+    ResolveHScrollbarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveHScrollbarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveHScrollbarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveHScrollbarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveHScrollbarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveHScrollbarMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveHScrollbarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveHScrollbarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveHScrollbarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveHScrollbarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveHScrollbarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveHScrollbarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveHScrollbarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveHScrollbarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveHScrollbarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveHScrollbarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveHScrollbarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveHScrollbarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveHScrollbarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveHScrollbarMethod "getRangeRect" o = Gtk.Range.RangeGetRangeRectMethodInfo
+    ResolveHScrollbarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveHScrollbarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveHScrollbarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveHScrollbarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveHScrollbarMethod "getRestrictToFillLevel" o = Gtk.Range.RangeGetRestrictToFillLevelMethodInfo
+    ResolveHScrollbarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveHScrollbarMethod "getRoundDigits" o = Gtk.Range.RangeGetRoundDigitsMethodInfo
+    ResolveHScrollbarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveHScrollbarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveHScrollbarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveHScrollbarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveHScrollbarMethod "getShowFillLevel" o = Gtk.Range.RangeGetShowFillLevelMethodInfo
+    ResolveHScrollbarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveHScrollbarMethod "getSliderRange" o = Gtk.Range.RangeGetSliderRangeMethodInfo
+    ResolveHScrollbarMethod "getSliderSizeFixed" o = Gtk.Range.RangeGetSliderSizeFixedMethodInfo
+    ResolveHScrollbarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveHScrollbarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveHScrollbarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveHScrollbarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveHScrollbarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveHScrollbarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveHScrollbarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveHScrollbarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveHScrollbarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveHScrollbarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveHScrollbarMethod "getUpperStepperSensitivity" o = Gtk.Range.RangeGetUpperStepperSensitivityMethodInfo
+    ResolveHScrollbarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveHScrollbarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveHScrollbarMethod "getValue" o = Gtk.Range.RangeGetValueMethodInfo
+    ResolveHScrollbarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveHScrollbarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveHScrollbarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveHScrollbarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveHScrollbarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveHScrollbarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveHScrollbarMethod "setAdjustment" o = Gtk.Range.RangeSetAdjustmentMethodInfo
+    ResolveHScrollbarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveHScrollbarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveHScrollbarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveHScrollbarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveHScrollbarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveHScrollbarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveHScrollbarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveHScrollbarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveHScrollbarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveHScrollbarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveHScrollbarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveHScrollbarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveHScrollbarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveHScrollbarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveHScrollbarMethod "setFillLevel" o = Gtk.Range.RangeSetFillLevelMethodInfo
+    ResolveHScrollbarMethod "setFlippable" o = Gtk.Range.RangeSetFlippableMethodInfo
+    ResolveHScrollbarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveHScrollbarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveHScrollbarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveHScrollbarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveHScrollbarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveHScrollbarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveHScrollbarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveHScrollbarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveHScrollbarMethod "setIncrements" o = Gtk.Range.RangeSetIncrementsMethodInfo
+    ResolveHScrollbarMethod "setInverted" o = Gtk.Range.RangeSetInvertedMethodInfo
+    ResolveHScrollbarMethod "setLowerStepperSensitivity" o = Gtk.Range.RangeSetLowerStepperSensitivityMethodInfo
+    ResolveHScrollbarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveHScrollbarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveHScrollbarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveHScrollbarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveHScrollbarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveHScrollbarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveHScrollbarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveHScrollbarMethod "setMinSliderSize" o = Gtk.Range.RangeSetMinSliderSizeMethodInfo
+    ResolveHScrollbarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveHScrollbarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveHScrollbarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveHScrollbarMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveHScrollbarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveHScrollbarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveHScrollbarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveHScrollbarMethod "setRange" o = Gtk.Range.RangeSetRangeMethodInfo
+    ResolveHScrollbarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveHScrollbarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveHScrollbarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveHScrollbarMethod "setRestrictToFillLevel" o = Gtk.Range.RangeSetRestrictToFillLevelMethodInfo
+    ResolveHScrollbarMethod "setRoundDigits" o = Gtk.Range.RangeSetRoundDigitsMethodInfo
+    ResolveHScrollbarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveHScrollbarMethod "setShowFillLevel" o = Gtk.Range.RangeSetShowFillLevelMethodInfo
+    ResolveHScrollbarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveHScrollbarMethod "setSliderSizeFixed" o = Gtk.Range.RangeSetSliderSizeFixedMethodInfo
+    ResolveHScrollbarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveHScrollbarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveHScrollbarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveHScrollbarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveHScrollbarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveHScrollbarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveHScrollbarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveHScrollbarMethod "setUpperStepperSensitivity" o = Gtk.Range.RangeSetUpperStepperSensitivityMethodInfo
+    ResolveHScrollbarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveHScrollbarMethod "setValue" o = Gtk.Range.RangeSetValueMethodInfo
+    ResolveHScrollbarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveHScrollbarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveHScrollbarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveHScrollbarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveHScrollbarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveHScrollbarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveHScrollbarMethod t HScrollbar, O.MethodInfo info HScrollbar p) => OL.IsLabel t (HScrollbar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList HScrollbar
+type instance O.AttributeList HScrollbar = HScrollbarAttributeList
+type HScrollbarAttributeList = ('[ '("adjustment", Gtk.Range.RangeAdjustmentPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("fillLevel", Gtk.Range.RangeFillLevelPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inverted", Gtk.Range.RangeInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("lowerStepperSensitivity", Gtk.Range.RangeLowerStepperSensitivityPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("restrictToFillLevel", Gtk.Range.RangeRestrictToFillLevelPropertyInfo), '("roundDigits", Gtk.Range.RangeRoundDigitsPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showFillLevel", Gtk.Range.RangeShowFillLevelPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("upperStepperSensitivity", Gtk.Range.RangeUpperStepperSensitivityPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList HScrollbar = HScrollbarSignalList
+type HScrollbarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("adjustBounds", Gtk.Range.RangeAdjustBoundsSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeValue", Gtk.Range.RangeChangeValueSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveSlider", Gtk.Range.RangeMoveSliderSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", Gtk.Range.RangeValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method HScrollbar::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkAdjustment to use, or %NULL to create a new adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HScrollbar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hscrollbar_new" gtk_hscrollbar_new :: 
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO (Ptr HScrollbar)
+
+{-# DEPRECATED hScrollbarNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.Scrollbar.scrollbarNew' with 'GI.Gtk.Enums.OrientationHorizontal' instead"] #-}
+{- |
+Creates a new horizontal scrollbar.
+-}
+hScrollbarNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a) =>
+    Maybe (a)
+    {- ^ /@adjustment@/: the 'GI.Gtk.Objects.Adjustment.Adjustment' to use, or 'Nothing' to create a new adjustment -}
+    -> m HScrollbar
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.HScrollbar.HScrollbar' -}
+hScrollbarNew adjustment = liftIO $ do
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    result <- gtk_hscrollbar_new maybeAdjustment
+    checkUnexpectedReturnNULL "hScrollbarNew" result
+    result' <- (newObject HScrollbar) result
+    whenJust adjustment touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/HScrollbar.hs-boot b/GI/Gtk/Objects/HScrollbar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HScrollbar.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.HScrollbar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype HScrollbar = HScrollbar (ManagedPtr HScrollbar)
+instance GObject HScrollbar where
+class (GObject o, O.IsDescendantOf HScrollbar o) => IsHScrollbar o
+instance (GObject o, O.IsDescendantOf HScrollbar o) => IsHScrollbar o
+instance O.HasParentTypes HScrollbar
diff --git a/GI/Gtk/Objects/HSeparator.hs b/GI/Gtk/Objects/HSeparator.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HSeparator.hs
@@ -0,0 +1,442 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.HSeparator.HSeparator' widget is a horizontal separator, used to group the
+widgets within a window. It displays a horizontal line with a shadow to
+make it appear sunken into the interface.
+
+> The 'GI.Gtk.Objects.HSeparator.HSeparator' widget is not used as a separator within menus.
+> To create a separator in a menu create an empty 'GI.Gtk.Objects.SeparatorMenuItem.SeparatorMenuItem'
+> widget using 'GI.Gtk.Objects.SeparatorMenuItem.separatorMenuItemNew' and add it to the menu with
+> 'GI.Gtk.Objects.MenuShell.menuShellAppend'.
+
+GtkHSeparator has been deprecated, use 'GI.Gtk.Objects.Separator.Separator' instead.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.HSeparator
+    ( 
+
+-- * Exported types
+    HSeparator(..)                          ,
+    IsHSeparator                            ,
+    toHSeparator                            ,
+    noHSeparator                            ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    hSeparatorNew                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Separator as Gtk.Separator
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype HSeparator = HSeparator (ManagedPtr HSeparator)
+foreign import ccall "gtk_hseparator_get_type"
+    c_gtk_hseparator_get_type :: IO GType
+
+instance GObject HSeparator where
+    gobjectType = c_gtk_hseparator_get_type
+    
+
+-- | Type class for types which can be safely cast to `HSeparator`, for instance with `toHSeparator`.
+class (GObject o, O.IsDescendantOf HSeparator o) => IsHSeparator o
+instance (GObject o, O.IsDescendantOf HSeparator o) => IsHSeparator o
+
+instance O.HasParentTypes HSeparator
+type instance O.ParentTypes HSeparator = '[Gtk.Separator.Separator, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `HSeparator`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toHSeparator :: (MonadIO m, IsHSeparator o) => o -> m HSeparator
+toHSeparator = liftIO . unsafeCastTo HSeparator
+
+-- | A convenience alias for `Nothing` :: `Maybe` `HSeparator`.
+noHSeparator :: Maybe HSeparator
+noHSeparator = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveHSeparatorMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHSeparatorMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveHSeparatorMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveHSeparatorMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveHSeparatorMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveHSeparatorMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveHSeparatorMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveHSeparatorMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveHSeparatorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveHSeparatorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveHSeparatorMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveHSeparatorMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveHSeparatorMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveHSeparatorMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveHSeparatorMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveHSeparatorMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveHSeparatorMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveHSeparatorMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveHSeparatorMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveHSeparatorMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveHSeparatorMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveHSeparatorMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveHSeparatorMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveHSeparatorMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveHSeparatorMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveHSeparatorMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveHSeparatorMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveHSeparatorMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveHSeparatorMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveHSeparatorMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveHSeparatorMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveHSeparatorMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveHSeparatorMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveHSeparatorMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveHSeparatorMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveHSeparatorMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveHSeparatorMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveHSeparatorMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveHSeparatorMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveHSeparatorMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveHSeparatorMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveHSeparatorMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveHSeparatorMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveHSeparatorMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveHSeparatorMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveHSeparatorMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveHSeparatorMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveHSeparatorMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveHSeparatorMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveHSeparatorMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveHSeparatorMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveHSeparatorMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveHSeparatorMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveHSeparatorMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveHSeparatorMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveHSeparatorMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveHSeparatorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveHSeparatorMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveHSeparatorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveHSeparatorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveHSeparatorMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveHSeparatorMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveHSeparatorMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveHSeparatorMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveHSeparatorMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveHSeparatorMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveHSeparatorMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveHSeparatorMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveHSeparatorMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveHSeparatorMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveHSeparatorMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveHSeparatorMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveHSeparatorMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveHSeparatorMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveHSeparatorMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveHSeparatorMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveHSeparatorMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveHSeparatorMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveHSeparatorMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveHSeparatorMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveHSeparatorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveHSeparatorMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveHSeparatorMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveHSeparatorMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveHSeparatorMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveHSeparatorMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveHSeparatorMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveHSeparatorMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveHSeparatorMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveHSeparatorMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveHSeparatorMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveHSeparatorMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveHSeparatorMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveHSeparatorMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveHSeparatorMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveHSeparatorMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveHSeparatorMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveHSeparatorMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveHSeparatorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveHSeparatorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveHSeparatorMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveHSeparatorMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveHSeparatorMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveHSeparatorMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveHSeparatorMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveHSeparatorMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveHSeparatorMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveHSeparatorMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveHSeparatorMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveHSeparatorMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveHSeparatorMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveHSeparatorMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveHSeparatorMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveHSeparatorMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveHSeparatorMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveHSeparatorMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveHSeparatorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveHSeparatorMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveHSeparatorMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveHSeparatorMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveHSeparatorMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveHSeparatorMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveHSeparatorMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveHSeparatorMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveHSeparatorMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveHSeparatorMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveHSeparatorMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveHSeparatorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveHSeparatorMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveHSeparatorMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveHSeparatorMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveHSeparatorMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveHSeparatorMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveHSeparatorMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveHSeparatorMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveHSeparatorMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveHSeparatorMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveHSeparatorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveHSeparatorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveHSeparatorMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveHSeparatorMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveHSeparatorMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveHSeparatorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveHSeparatorMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveHSeparatorMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveHSeparatorMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveHSeparatorMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveHSeparatorMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveHSeparatorMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveHSeparatorMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveHSeparatorMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveHSeparatorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveHSeparatorMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveHSeparatorMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveHSeparatorMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveHSeparatorMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveHSeparatorMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveHSeparatorMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveHSeparatorMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveHSeparatorMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveHSeparatorMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveHSeparatorMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveHSeparatorMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveHSeparatorMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveHSeparatorMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveHSeparatorMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveHSeparatorMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveHSeparatorMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveHSeparatorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveHSeparatorMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveHSeparatorMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveHSeparatorMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveHSeparatorMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveHSeparatorMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveHSeparatorMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveHSeparatorMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveHSeparatorMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveHSeparatorMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveHSeparatorMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveHSeparatorMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveHSeparatorMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveHSeparatorMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveHSeparatorMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveHSeparatorMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveHSeparatorMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveHSeparatorMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveHSeparatorMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveHSeparatorMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveHSeparatorMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveHSeparatorMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveHSeparatorMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveHSeparatorMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveHSeparatorMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveHSeparatorMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveHSeparatorMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveHSeparatorMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveHSeparatorMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveHSeparatorMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveHSeparatorMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveHSeparatorMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveHSeparatorMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveHSeparatorMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveHSeparatorMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveHSeparatorMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveHSeparatorMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveHSeparatorMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveHSeparatorMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveHSeparatorMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveHSeparatorMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveHSeparatorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveHSeparatorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveHSeparatorMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveHSeparatorMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveHSeparatorMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveHSeparatorMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveHSeparatorMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveHSeparatorMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveHSeparatorMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveHSeparatorMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveHSeparatorMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveHSeparatorMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveHSeparatorMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveHSeparatorMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveHSeparatorMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveHSeparatorMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveHSeparatorMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveHSeparatorMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveHSeparatorMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveHSeparatorMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveHSeparatorMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveHSeparatorMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveHSeparatorMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveHSeparatorMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveHSeparatorMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveHSeparatorMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveHSeparatorMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveHSeparatorMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveHSeparatorMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveHSeparatorMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveHSeparatorMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveHSeparatorMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveHSeparatorMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveHSeparatorMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveHSeparatorMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveHSeparatorMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveHSeparatorMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveHSeparatorMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveHSeparatorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveHSeparatorMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveHSeparatorMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveHSeparatorMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveHSeparatorMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveHSeparatorMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveHSeparatorMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveHSeparatorMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveHSeparatorMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveHSeparatorMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveHSeparatorMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveHSeparatorMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveHSeparatorMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveHSeparatorMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveHSeparatorMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveHSeparatorMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveHSeparatorMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveHSeparatorMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveHSeparatorMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveHSeparatorMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveHSeparatorMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveHSeparatorMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveHSeparatorMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveHSeparatorMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveHSeparatorMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveHSeparatorMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveHSeparatorMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveHSeparatorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveHSeparatorMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveHSeparatorMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveHSeparatorMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveHSeparatorMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveHSeparatorMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveHSeparatorMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveHSeparatorMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveHSeparatorMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveHSeparatorMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveHSeparatorMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveHSeparatorMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveHSeparatorMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveHSeparatorMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveHSeparatorMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveHSeparatorMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveHSeparatorMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveHSeparatorMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveHSeparatorMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveHSeparatorMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveHSeparatorMethod t HSeparator, O.MethodInfo info HSeparator p) => OL.IsLabel t (HSeparator -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList HSeparator
+type instance O.AttributeList HSeparator = HSeparatorAttributeList
+type HSeparatorAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList HSeparator = HSeparatorSignalList
+type HSeparatorSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method HSeparator::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HSeparator"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_hseparator_new" gtk_hseparator_new :: 
+    IO (Ptr HSeparator)
+
+{-# DEPRECATED hSeparatorNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.Separator.separatorNew' with 'GI.Gtk.Enums.OrientationHorizontal' instead"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.HSeparator.HSeparator'.
+-}
+hSeparatorNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m HSeparator
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.HSeparator.HSeparator'. -}
+hSeparatorNew  = liftIO $ do
+    result <- gtk_hseparator_new
+    checkUnexpectedReturnNULL "hSeparatorNew" result
+    result' <- (newObject HSeparator) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/HSeparator.hs-boot b/GI/Gtk/Objects/HSeparator.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HSeparator.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.HSeparator where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype HSeparator = HSeparator (ManagedPtr HSeparator)
+instance GObject HSeparator where
+class (GObject o, O.IsDescendantOf HSeparator o) => IsHSeparator o
+instance (GObject o, O.IsDescendantOf HSeparator o) => IsHSeparator o
+instance O.HasParentTypes HSeparator
diff --git a/GI/Gtk/Objects/HandleBox.hs b/GI/Gtk/Objects/HandleBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HandleBox.hs
@@ -0,0 +1,1331 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.HandleBox.HandleBox' widget allows a portion of a window to be \"torn
+off\". It is a bin widget which displays its child and a handle that
+the user can drag to tear off a separate window (the “float
+window”) containing the child widget. A thin
+“ghost” is drawn in the original location of the
+handlebox. By dragging the separate window back to its original
+location, it can be reattached.
+
+When reattaching, the ghost and float window, must be aligned
+along one of the edges, the “snap edge”.
+This either can be specified by the application programmer
+explicitly, or GTK+ will pick a reasonable default based
+on the handle position.
+
+To make detaching and reattaching the handlebox as minimally confusing
+as possible to the user, it is important to set the snap edge so that
+the snap edge does not move when the handlebox is deattached. For
+instance, if the handlebox is packed at the bottom of a VBox, then
+when the handlebox is detached, the bottom edge of the handlebox\'s
+allocation will remain fixed as the height of the handlebox shrinks,
+so the snap edge should be set to 'GI.Gtk.Enums.PositionTypeBottom'.
+
+> 'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated. It is very specialized, lacks features
+> to make it useful and most importantly does not fit well into modern
+> application design. Do not use it. There is no replacement.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.HandleBox
+    ( 
+
+-- * Exported types
+    HandleBox(..)                           ,
+    IsHandleBox                             ,
+    toHandleBox                             ,
+    noHandleBox                             ,
+
+
+ -- * Methods
+-- ** getChildDetached #method:getChildDetached#
+
+#if ENABLE_OVERLOADING
+    HandleBoxGetChildDetachedMethodInfo     ,
+#endif
+    handleBoxGetChildDetached               ,
+
+
+-- ** getHandlePosition #method:getHandlePosition#
+
+#if ENABLE_OVERLOADING
+    HandleBoxGetHandlePositionMethodInfo    ,
+#endif
+    handleBoxGetHandlePosition              ,
+
+
+-- ** getShadowType #method:getShadowType#
+
+#if ENABLE_OVERLOADING
+    HandleBoxGetShadowTypeMethodInfo        ,
+#endif
+    handleBoxGetShadowType                  ,
+
+
+-- ** getSnapEdge #method:getSnapEdge#
+
+#if ENABLE_OVERLOADING
+    HandleBoxGetSnapEdgeMethodInfo          ,
+#endif
+    handleBoxGetSnapEdge                    ,
+
+
+-- ** new #method:new#
+
+    handleBoxNew                            ,
+
+
+-- ** setHandlePosition #method:setHandlePosition#
+
+#if ENABLE_OVERLOADING
+    HandleBoxSetHandlePositionMethodInfo    ,
+#endif
+    handleBoxSetHandlePosition              ,
+
+
+-- ** setShadowType #method:setShadowType#
+
+#if ENABLE_OVERLOADING
+    HandleBoxSetShadowTypeMethodInfo        ,
+#endif
+    handleBoxSetShadowType                  ,
+
+
+-- ** setSnapEdge #method:setSnapEdge#
+
+#if ENABLE_OVERLOADING
+    HandleBoxSetSnapEdgeMethodInfo          ,
+#endif
+    handleBoxSetSnapEdge                    ,
+
+
+
+
+ -- * Properties
+-- ** childDetached #attr:childDetached#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    HandleBoxChildDetachedPropertyInfo      ,
+#endif
+    getHandleBoxChildDetached               ,
+#if ENABLE_OVERLOADING
+    handleBoxChildDetached                  ,
+#endif
+
+
+-- ** handlePosition #attr:handlePosition#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    HandleBoxHandlePositionPropertyInfo     ,
+#endif
+    constructHandleBoxHandlePosition        ,
+    getHandleBoxHandlePosition              ,
+#if ENABLE_OVERLOADING
+    handleBoxHandlePosition                 ,
+#endif
+    setHandleBoxHandlePosition              ,
+
+
+-- ** shadowType #attr:shadowType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    HandleBoxShadowTypePropertyInfo         ,
+#endif
+    constructHandleBoxShadowType            ,
+    getHandleBoxShadowType                  ,
+#if ENABLE_OVERLOADING
+    handleBoxShadowType                     ,
+#endif
+    setHandleBoxShadowType                  ,
+
+
+-- ** snapEdge #attr:snapEdge#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    HandleBoxSnapEdgePropertyInfo           ,
+#endif
+    constructHandleBoxSnapEdge              ,
+    getHandleBoxSnapEdge                    ,
+#if ENABLE_OVERLOADING
+    handleBoxSnapEdge                       ,
+#endif
+    setHandleBoxSnapEdge                    ,
+
+
+-- ** snapEdgeSet #attr:snapEdgeSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    HandleBoxSnapEdgeSetPropertyInfo        ,
+#endif
+    constructHandleBoxSnapEdgeSet           ,
+    getHandleBoxSnapEdgeSet                 ,
+#if ENABLE_OVERLOADING
+    handleBoxSnapEdgeSet                    ,
+#endif
+    setHandleBoxSnapEdgeSet                 ,
+
+
+
+
+ -- * Signals
+-- ** childAttached #signal:childAttached#
+
+    C_HandleBoxChildAttachedCallback        ,
+    HandleBoxChildAttachedCallback          ,
+#if ENABLE_OVERLOADING
+    HandleBoxChildAttachedSignalInfo        ,
+#endif
+    afterHandleBoxChildAttached             ,
+    genClosure_HandleBoxChildAttached       ,
+    mk_HandleBoxChildAttachedCallback       ,
+    noHandleBoxChildAttachedCallback        ,
+    onHandleBoxChildAttached                ,
+    wrap_HandleBoxChildAttachedCallback     ,
+
+
+-- ** childDetached #signal:childDetached#
+
+    C_HandleBoxChildDetachedCallback        ,
+    HandleBoxChildDetachedCallback          ,
+#if ENABLE_OVERLOADING
+    HandleBoxChildDetachedSignalInfo        ,
+#endif
+    afterHandleBoxChildDetached             ,
+    genClosure_HandleBoxChildDetached       ,
+    mk_HandleBoxChildDetachedCallback       ,
+    noHandleBoxChildDetachedCallback        ,
+    onHandleBoxChildDetached                ,
+    wrap_HandleBoxChildDetachedCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype HandleBox = HandleBox (ManagedPtr HandleBox)
+foreign import ccall "gtk_handle_box_get_type"
+    c_gtk_handle_box_get_type :: IO GType
+
+instance GObject HandleBox where
+    gobjectType = c_gtk_handle_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `HandleBox`, for instance with `toHandleBox`.
+class (GObject o, O.IsDescendantOf HandleBox o) => IsHandleBox o
+instance (GObject o, O.IsDescendantOf HandleBox o) => IsHandleBox o
+
+instance O.HasParentTypes HandleBox
+type instance O.ParentTypes HandleBox = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `HandleBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toHandleBox :: (MonadIO m, IsHandleBox o) => o -> m HandleBox
+toHandleBox = liftIO . unsafeCastTo HandleBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `HandleBox`.
+noHandleBox :: Maybe HandleBox
+noHandleBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveHandleBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHandleBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveHandleBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveHandleBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveHandleBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveHandleBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveHandleBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveHandleBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveHandleBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveHandleBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveHandleBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveHandleBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveHandleBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveHandleBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveHandleBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveHandleBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveHandleBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveHandleBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveHandleBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveHandleBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveHandleBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveHandleBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveHandleBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveHandleBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveHandleBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveHandleBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveHandleBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveHandleBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveHandleBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveHandleBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveHandleBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveHandleBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveHandleBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveHandleBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveHandleBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveHandleBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveHandleBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveHandleBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveHandleBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveHandleBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveHandleBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveHandleBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveHandleBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveHandleBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveHandleBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveHandleBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveHandleBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveHandleBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveHandleBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveHandleBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveHandleBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveHandleBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveHandleBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveHandleBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveHandleBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveHandleBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveHandleBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveHandleBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveHandleBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveHandleBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveHandleBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveHandleBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveHandleBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveHandleBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveHandleBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveHandleBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveHandleBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveHandleBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveHandleBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveHandleBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveHandleBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveHandleBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveHandleBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveHandleBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveHandleBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveHandleBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveHandleBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveHandleBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveHandleBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveHandleBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveHandleBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveHandleBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveHandleBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveHandleBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveHandleBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveHandleBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveHandleBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveHandleBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveHandleBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveHandleBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveHandleBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveHandleBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveHandleBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveHandleBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveHandleBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveHandleBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveHandleBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveHandleBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveHandleBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveHandleBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveHandleBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveHandleBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveHandleBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveHandleBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveHandleBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveHandleBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveHandleBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveHandleBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveHandleBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveHandleBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveHandleBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveHandleBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveHandleBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveHandleBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveHandleBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveHandleBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveHandleBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveHandleBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveHandleBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveHandleBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveHandleBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveHandleBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveHandleBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveHandleBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveHandleBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveHandleBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveHandleBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveHandleBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveHandleBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveHandleBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveHandleBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveHandleBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveHandleBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveHandleBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveHandleBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveHandleBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveHandleBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveHandleBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveHandleBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveHandleBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveHandleBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveHandleBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveHandleBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveHandleBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveHandleBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveHandleBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveHandleBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveHandleBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveHandleBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveHandleBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveHandleBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveHandleBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveHandleBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveHandleBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveHandleBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveHandleBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveHandleBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveHandleBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveHandleBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveHandleBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveHandleBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveHandleBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveHandleBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveHandleBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveHandleBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveHandleBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveHandleBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveHandleBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveHandleBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveHandleBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveHandleBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveHandleBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveHandleBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveHandleBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveHandleBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveHandleBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveHandleBoxMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveHandleBoxMethod "getChildDetached" o = HandleBoxGetChildDetachedMethodInfo
+    ResolveHandleBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveHandleBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveHandleBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveHandleBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveHandleBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveHandleBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveHandleBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveHandleBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveHandleBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveHandleBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveHandleBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveHandleBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveHandleBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveHandleBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveHandleBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveHandleBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveHandleBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveHandleBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveHandleBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveHandleBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveHandleBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveHandleBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveHandleBoxMethod "getHandlePosition" o = HandleBoxGetHandlePositionMethodInfo
+    ResolveHandleBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveHandleBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveHandleBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveHandleBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveHandleBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveHandleBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveHandleBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveHandleBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveHandleBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveHandleBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveHandleBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveHandleBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveHandleBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveHandleBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveHandleBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveHandleBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveHandleBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveHandleBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveHandleBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveHandleBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveHandleBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveHandleBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveHandleBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveHandleBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveHandleBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveHandleBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveHandleBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveHandleBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveHandleBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveHandleBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveHandleBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveHandleBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveHandleBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveHandleBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveHandleBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveHandleBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveHandleBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveHandleBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveHandleBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveHandleBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveHandleBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveHandleBoxMethod "getShadowType" o = HandleBoxGetShadowTypeMethodInfo
+    ResolveHandleBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveHandleBoxMethod "getSnapEdge" o = HandleBoxGetSnapEdgeMethodInfo
+    ResolveHandleBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveHandleBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveHandleBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveHandleBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveHandleBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveHandleBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveHandleBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveHandleBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveHandleBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveHandleBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveHandleBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveHandleBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveHandleBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveHandleBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveHandleBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveHandleBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveHandleBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveHandleBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveHandleBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveHandleBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveHandleBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveHandleBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveHandleBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveHandleBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveHandleBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveHandleBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveHandleBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveHandleBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveHandleBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveHandleBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveHandleBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveHandleBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveHandleBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveHandleBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveHandleBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveHandleBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveHandleBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveHandleBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveHandleBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveHandleBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveHandleBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveHandleBoxMethod "setHandlePosition" o = HandleBoxSetHandlePositionMethodInfo
+    ResolveHandleBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveHandleBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveHandleBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveHandleBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveHandleBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveHandleBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveHandleBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveHandleBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveHandleBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveHandleBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveHandleBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveHandleBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveHandleBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveHandleBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveHandleBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveHandleBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveHandleBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveHandleBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveHandleBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveHandleBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveHandleBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveHandleBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveHandleBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveHandleBoxMethod "setShadowType" o = HandleBoxSetShadowTypeMethodInfo
+    ResolveHandleBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveHandleBoxMethod "setSnapEdge" o = HandleBoxSetSnapEdgeMethodInfo
+    ResolveHandleBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveHandleBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveHandleBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveHandleBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveHandleBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveHandleBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveHandleBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveHandleBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveHandleBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveHandleBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveHandleBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveHandleBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveHandleBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveHandleBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveHandleBoxMethod t HandleBox, O.MethodInfo info HandleBox p) => OL.IsLabel t (HandleBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal HandleBox::child-attached
+{-# DEPRECATED HandleBoxChildAttachedCallback ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+This signal is emitted when the contents of the
+handlebox are reattached to the main window.
+-}
+type HandleBoxChildAttachedCallback =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the child widget of the handlebox.
+  (this argument provides no extra information
+  and is here only for backwards-compatibility) -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `HandleBoxChildAttachedCallback`@.
+noHandleBoxChildAttachedCallback :: Maybe HandleBoxChildAttachedCallback
+noHandleBoxChildAttachedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_HandleBoxChildAttachedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_HandleBoxChildAttachedCallback`.
+foreign import ccall "wrapper"
+    mk_HandleBoxChildAttachedCallback :: C_HandleBoxChildAttachedCallback -> IO (FunPtr C_HandleBoxChildAttachedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_HandleBoxChildAttached :: MonadIO m => HandleBoxChildAttachedCallback -> m (GClosure C_HandleBoxChildAttachedCallback)
+genClosure_HandleBoxChildAttached cb = liftIO $ do
+    let cb' = wrap_HandleBoxChildAttachedCallback cb
+    mk_HandleBoxChildAttachedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `HandleBoxChildAttachedCallback` into a `C_HandleBoxChildAttachedCallback`.
+wrap_HandleBoxChildAttachedCallback ::
+    HandleBoxChildAttachedCallback ->
+    C_HandleBoxChildAttachedCallback
+wrap_HandleBoxChildAttachedCallback _cb _ widget _ = do
+    widget' <- (newObject Gtk.Widget.Widget) widget
+    _cb  widget'
+
+
+{- |
+Connect a signal handler for the “@child-attached@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' handleBox #childAttached callback
+@
+-}
+onHandleBoxChildAttached :: (IsHandleBox a, MonadIO m) => a -> HandleBoxChildAttachedCallback -> m SignalHandlerId
+onHandleBoxChildAttached obj cb = liftIO $ do
+    let cb' = wrap_HandleBoxChildAttachedCallback cb
+    cb'' <- mk_HandleBoxChildAttachedCallback cb'
+    connectSignalFunPtr obj "child-attached" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@child-attached@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' handleBox #childAttached callback
+@
+-}
+afterHandleBoxChildAttached :: (IsHandleBox a, MonadIO m) => a -> HandleBoxChildAttachedCallback -> m SignalHandlerId
+afterHandleBoxChildAttached obj cb = liftIO $ do
+    let cb' = wrap_HandleBoxChildAttachedCallback cb
+    cb'' <- mk_HandleBoxChildAttachedCallback cb'
+    connectSignalFunPtr obj "child-attached" cb'' SignalConnectAfter
+
+
+-- signal HandleBox::child-detached
+{-# DEPRECATED HandleBoxChildDetachedCallback ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+This signal is emitted when the contents of the
+handlebox are detached from the main window.
+-}
+type HandleBoxChildDetachedCallback =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the child widget of the handlebox.
+  (this argument provides no extra information
+  and is here only for backwards-compatibility) -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `HandleBoxChildDetachedCallback`@.
+noHandleBoxChildDetachedCallback :: Maybe HandleBoxChildDetachedCallback
+noHandleBoxChildDetachedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_HandleBoxChildDetachedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_HandleBoxChildDetachedCallback`.
+foreign import ccall "wrapper"
+    mk_HandleBoxChildDetachedCallback :: C_HandleBoxChildDetachedCallback -> IO (FunPtr C_HandleBoxChildDetachedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_HandleBoxChildDetached :: MonadIO m => HandleBoxChildDetachedCallback -> m (GClosure C_HandleBoxChildDetachedCallback)
+genClosure_HandleBoxChildDetached cb = liftIO $ do
+    let cb' = wrap_HandleBoxChildDetachedCallback cb
+    mk_HandleBoxChildDetachedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `HandleBoxChildDetachedCallback` into a `C_HandleBoxChildDetachedCallback`.
+wrap_HandleBoxChildDetachedCallback ::
+    HandleBoxChildDetachedCallback ->
+    C_HandleBoxChildDetachedCallback
+wrap_HandleBoxChildDetachedCallback _cb _ widget _ = do
+    widget' <- (newObject Gtk.Widget.Widget) widget
+    _cb  widget'
+
+
+{- |
+Connect a signal handler for the “@child-detached@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' handleBox #childDetached callback
+@
+-}
+onHandleBoxChildDetached :: (IsHandleBox a, MonadIO m) => a -> HandleBoxChildDetachedCallback -> m SignalHandlerId
+onHandleBoxChildDetached obj cb = liftIO $ do
+    let cb' = wrap_HandleBoxChildDetachedCallback cb
+    cb'' <- mk_HandleBoxChildDetachedCallback cb'
+    connectSignalFunPtr obj "child-detached" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@child-detached@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' handleBox #childDetached callback
+@
+-}
+afterHandleBoxChildDetached :: (IsHandleBox a, MonadIO m) => a -> HandleBoxChildDetachedCallback -> m SignalHandlerId
+afterHandleBoxChildDetached obj cb = liftIO $ do
+    let cb' = wrap_HandleBoxChildDetachedCallback cb
+    cb'' <- mk_HandleBoxChildDetachedCallback cb'
+    connectSignalFunPtr obj "child-detached" cb'' SignalConnectAfter
+
+
+-- VVV Prop "child-detached"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@child-detached@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' handleBox #childDetached
+@
+-}
+getHandleBoxChildDetached :: (MonadIO m, IsHandleBox o) => o -> m Bool
+getHandleBoxChildDetached obj = liftIO $ B.Properties.getObjectPropertyBool obj "child-detached"
+
+#if ENABLE_OVERLOADING
+data HandleBoxChildDetachedPropertyInfo
+instance AttrInfo HandleBoxChildDetachedPropertyInfo where
+    type AttrAllowedOps HandleBoxChildDetachedPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint HandleBoxChildDetachedPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint HandleBoxChildDetachedPropertyInfo = IsHandleBox
+    type AttrGetType HandleBoxChildDetachedPropertyInfo = Bool
+    type AttrLabel HandleBoxChildDetachedPropertyInfo = "child-detached"
+    type AttrOrigin HandleBoxChildDetachedPropertyInfo = HandleBox
+    attrGet _ = getHandleBoxChildDetached
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "handle-position"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PositionType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@handle-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' handleBox #handlePosition
+@
+-}
+getHandleBoxHandlePosition :: (MonadIO m, IsHandleBox o) => o -> m Gtk.Enums.PositionType
+getHandleBoxHandlePosition obj = liftIO $ B.Properties.getObjectPropertyEnum obj "handle-position"
+
+{- |
+Set the value of the “@handle-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' handleBox [ #handlePosition 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHandleBoxHandlePosition :: (MonadIO m, IsHandleBox o) => o -> Gtk.Enums.PositionType -> m ()
+setHandleBoxHandlePosition obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "handle-position" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@handle-position@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHandleBoxHandlePosition :: (IsHandleBox o) => Gtk.Enums.PositionType -> IO (GValueConstruct o)
+constructHandleBoxHandlePosition val = B.Properties.constructObjectPropertyEnum "handle-position" val
+
+#if ENABLE_OVERLOADING
+data HandleBoxHandlePositionPropertyInfo
+instance AttrInfo HandleBoxHandlePositionPropertyInfo where
+    type AttrAllowedOps HandleBoxHandlePositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint HandleBoxHandlePositionPropertyInfo = (~) Gtk.Enums.PositionType
+    type AttrBaseTypeConstraint HandleBoxHandlePositionPropertyInfo = IsHandleBox
+    type AttrGetType HandleBoxHandlePositionPropertyInfo = Gtk.Enums.PositionType
+    type AttrLabel HandleBoxHandlePositionPropertyInfo = "handle-position"
+    type AttrOrigin HandleBoxHandlePositionPropertyInfo = HandleBox
+    attrGet _ = getHandleBoxHandlePosition
+    attrSet _ = setHandleBoxHandlePosition
+    attrConstruct _ = constructHandleBoxHandlePosition
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "shadow-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' handleBox #shadowType
+@
+-}
+getHandleBoxShadowType :: (MonadIO m, IsHandleBox o) => o -> m Gtk.Enums.ShadowType
+getHandleBoxShadowType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "shadow-type"
+
+{- |
+Set the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' handleBox [ #shadowType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHandleBoxShadowType :: (MonadIO m, IsHandleBox o) => o -> Gtk.Enums.ShadowType -> m ()
+setHandleBoxShadowType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "shadow-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@shadow-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHandleBoxShadowType :: (IsHandleBox o) => Gtk.Enums.ShadowType -> IO (GValueConstruct o)
+constructHandleBoxShadowType val = B.Properties.constructObjectPropertyEnum "shadow-type" val
+
+#if ENABLE_OVERLOADING
+data HandleBoxShadowTypePropertyInfo
+instance AttrInfo HandleBoxShadowTypePropertyInfo where
+    type AttrAllowedOps HandleBoxShadowTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint HandleBoxShadowTypePropertyInfo = (~) Gtk.Enums.ShadowType
+    type AttrBaseTypeConstraint HandleBoxShadowTypePropertyInfo = IsHandleBox
+    type AttrGetType HandleBoxShadowTypePropertyInfo = Gtk.Enums.ShadowType
+    type AttrLabel HandleBoxShadowTypePropertyInfo = "shadow-type"
+    type AttrOrigin HandleBoxShadowTypePropertyInfo = HandleBox
+    attrGet _ = getHandleBoxShadowType
+    attrSet _ = setHandleBoxShadowType
+    attrConstruct _ = constructHandleBoxShadowType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "snap-edge"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PositionType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@snap-edge@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' handleBox #snapEdge
+@
+-}
+getHandleBoxSnapEdge :: (MonadIO m, IsHandleBox o) => o -> m Gtk.Enums.PositionType
+getHandleBoxSnapEdge obj = liftIO $ B.Properties.getObjectPropertyEnum obj "snap-edge"
+
+{- |
+Set the value of the “@snap-edge@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' handleBox [ #snapEdge 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHandleBoxSnapEdge :: (MonadIO m, IsHandleBox o) => o -> Gtk.Enums.PositionType -> m ()
+setHandleBoxSnapEdge obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "snap-edge" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@snap-edge@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHandleBoxSnapEdge :: (IsHandleBox o) => Gtk.Enums.PositionType -> IO (GValueConstruct o)
+constructHandleBoxSnapEdge val = B.Properties.constructObjectPropertyEnum "snap-edge" val
+
+#if ENABLE_OVERLOADING
+data HandleBoxSnapEdgePropertyInfo
+instance AttrInfo HandleBoxSnapEdgePropertyInfo where
+    type AttrAllowedOps HandleBoxSnapEdgePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint HandleBoxSnapEdgePropertyInfo = (~) Gtk.Enums.PositionType
+    type AttrBaseTypeConstraint HandleBoxSnapEdgePropertyInfo = IsHandleBox
+    type AttrGetType HandleBoxSnapEdgePropertyInfo = Gtk.Enums.PositionType
+    type AttrLabel HandleBoxSnapEdgePropertyInfo = "snap-edge"
+    type AttrOrigin HandleBoxSnapEdgePropertyInfo = HandleBox
+    attrGet _ = getHandleBoxSnapEdge
+    attrSet _ = setHandleBoxSnapEdge
+    attrConstruct _ = constructHandleBoxSnapEdge
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "snap-edge-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@snap-edge-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' handleBox #snapEdgeSet
+@
+-}
+getHandleBoxSnapEdgeSet :: (MonadIO m, IsHandleBox o) => o -> m Bool
+getHandleBoxSnapEdgeSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "snap-edge-set"
+
+{- |
+Set the value of the “@snap-edge-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' handleBox [ #snapEdgeSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHandleBoxSnapEdgeSet :: (MonadIO m, IsHandleBox o) => o -> Bool -> m ()
+setHandleBoxSnapEdgeSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "snap-edge-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@snap-edge-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHandleBoxSnapEdgeSet :: (IsHandleBox o) => Bool -> IO (GValueConstruct o)
+constructHandleBoxSnapEdgeSet val = B.Properties.constructObjectPropertyBool "snap-edge-set" val
+
+#if ENABLE_OVERLOADING
+data HandleBoxSnapEdgeSetPropertyInfo
+instance AttrInfo HandleBoxSnapEdgeSetPropertyInfo where
+    type AttrAllowedOps HandleBoxSnapEdgeSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint HandleBoxSnapEdgeSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint HandleBoxSnapEdgeSetPropertyInfo = IsHandleBox
+    type AttrGetType HandleBoxSnapEdgeSetPropertyInfo = Bool
+    type AttrLabel HandleBoxSnapEdgeSetPropertyInfo = "snap-edge-set"
+    type AttrOrigin HandleBoxSnapEdgeSetPropertyInfo = HandleBox
+    attrGet _ = getHandleBoxSnapEdgeSet
+    attrSet _ = setHandleBoxSnapEdgeSet
+    attrConstruct _ = constructHandleBoxSnapEdgeSet
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList HandleBox
+type instance O.AttributeList HandleBox = HandleBoxAttributeList
+type HandleBoxAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("childDetached", HandleBoxChildDetachedPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("handlePosition", HandleBoxHandlePositionPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", HandleBoxShadowTypePropertyInfo), '("snapEdge", HandleBoxSnapEdgePropertyInfo), '("snapEdgeSet", HandleBoxSnapEdgeSetPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+handleBoxChildDetached :: AttrLabelProxy "childDetached"
+handleBoxChildDetached = AttrLabelProxy
+
+handleBoxHandlePosition :: AttrLabelProxy "handlePosition"
+handleBoxHandlePosition = AttrLabelProxy
+
+handleBoxShadowType :: AttrLabelProxy "shadowType"
+handleBoxShadowType = AttrLabelProxy
+
+handleBoxSnapEdge :: AttrLabelProxy "snapEdge"
+handleBoxSnapEdge = AttrLabelProxy
+
+handleBoxSnapEdgeSet :: AttrLabelProxy "snapEdgeSet"
+handleBoxSnapEdgeSet = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data HandleBoxChildAttachedSignalInfo
+instance SignalInfo HandleBoxChildAttachedSignalInfo where
+    type HaskellCallbackType HandleBoxChildAttachedSignalInfo = HandleBoxChildAttachedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_HandleBoxChildAttachedCallback cb
+        cb'' <- mk_HandleBoxChildAttachedCallback cb'
+        connectSignalFunPtr obj "child-attached" cb'' connectMode
+
+data HandleBoxChildDetachedSignalInfo
+instance SignalInfo HandleBoxChildDetachedSignalInfo where
+    type HaskellCallbackType HandleBoxChildDetachedSignalInfo = HandleBoxChildDetachedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_HandleBoxChildDetachedCallback cb
+        cb'' <- mk_HandleBoxChildDetachedCallback cb'
+        connectSignalFunPtr obj "child-detached" cb'' connectMode
+
+type instance O.SignalList HandleBox = HandleBoxSignalList
+type HandleBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childAttached", HandleBoxChildAttachedSignalInfo), '("childDetached", HandleBoxChildDetachedSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method HandleBox::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HandleBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_handle_box_new" gtk_handle_box_new :: 
+    IO (Ptr HandleBox)
+
+{-# DEPRECATED handleBoxNew ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+Create a new handle box.
+-}
+handleBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m HandleBox
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.HandleBox.HandleBox'. -}
+handleBoxNew  = liftIO $ do
+    result <- gtk_handle_box_new
+    checkUnexpectedReturnNULL "handleBoxNew" result
+    result' <- (newObject HandleBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method HandleBox::get_child_detached
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "handle_box", argType = TInterface (Name {namespace = "Gtk", name = "HandleBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHandleBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_handle_box_get_child_detached" gtk_handle_box_get_child_detached :: 
+    Ptr HandleBox ->                        -- handle_box : TInterface (Name {namespace = "Gtk", name = "HandleBox"})
+    IO CInt
+
+{-# DEPRECATED handleBoxGetChildDetached ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+Whether the handlebox’s child is currently detached.
+
+/Since: 2.14/
+-}
+handleBoxGetChildDetached ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHandleBox a) =>
+    a
+    {- ^ /@handleBox@/: a 'GI.Gtk.Objects.HandleBox.HandleBox' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the child is currently detached, otherwise 'False' -}
+handleBoxGetChildDetached handleBox = liftIO $ do
+    handleBox' <- unsafeManagedPtrCastPtr handleBox
+    result <- gtk_handle_box_get_child_detached handleBox'
+    let result' = (/= 0) result
+    touchManagedPtr handleBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data HandleBoxGetChildDetachedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsHandleBox a) => O.MethodInfo HandleBoxGetChildDetachedMethodInfo a signature where
+    overloadedMethod _ = handleBoxGetChildDetached
+
+#endif
+
+-- method HandleBox::get_handle_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "handle_box", argType = TInterface (Name {namespace = "Gtk", name = "HandleBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHandleBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PositionType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_handle_box_get_handle_position" gtk_handle_box_get_handle_position :: 
+    Ptr HandleBox ->                        -- handle_box : TInterface (Name {namespace = "Gtk", name = "HandleBox"})
+    IO CUInt
+
+{-# DEPRECATED handleBoxGetHandlePosition ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+Gets the handle position of the handle box. See
+'GI.Gtk.Objects.HandleBox.handleBoxSetHandlePosition'.
+-}
+handleBoxGetHandlePosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHandleBox a) =>
+    a
+    {- ^ /@handleBox@/: a 'GI.Gtk.Objects.HandleBox.HandleBox' -}
+    -> m Gtk.Enums.PositionType
+    {- ^ __Returns:__ the current handle position. -}
+handleBoxGetHandlePosition handleBox = liftIO $ do
+    handleBox' <- unsafeManagedPtrCastPtr handleBox
+    result <- gtk_handle_box_get_handle_position handleBox'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr handleBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data HandleBoxGetHandlePositionMethodInfo
+instance (signature ~ (m Gtk.Enums.PositionType), MonadIO m, IsHandleBox a) => O.MethodInfo HandleBoxGetHandlePositionMethodInfo a signature where
+    overloadedMethod _ = handleBoxGetHandlePosition
+
+#endif
+
+-- method HandleBox::get_shadow_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "handle_box", argType = TInterface (Name {namespace = "Gtk", name = "HandleBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHandleBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ShadowType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_handle_box_get_shadow_type" gtk_handle_box_get_shadow_type :: 
+    Ptr HandleBox ->                        -- handle_box : TInterface (Name {namespace = "Gtk", name = "HandleBox"})
+    IO CUInt
+
+{-# DEPRECATED handleBoxGetShadowType ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+Gets the type of shadow drawn around the handle box. See
+'GI.Gtk.Objects.HandleBox.handleBoxSetShadowType'.
+-}
+handleBoxGetShadowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHandleBox a) =>
+    a
+    {- ^ /@handleBox@/: a 'GI.Gtk.Objects.HandleBox.HandleBox' -}
+    -> m Gtk.Enums.ShadowType
+    {- ^ __Returns:__ the type of shadow currently drawn around the handle box. -}
+handleBoxGetShadowType handleBox = liftIO $ do
+    handleBox' <- unsafeManagedPtrCastPtr handleBox
+    result <- gtk_handle_box_get_shadow_type handleBox'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr handleBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data HandleBoxGetShadowTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.ShadowType), MonadIO m, IsHandleBox a) => O.MethodInfo HandleBoxGetShadowTypeMethodInfo a signature where
+    overloadedMethod _ = handleBoxGetShadowType
+
+#endif
+
+-- method HandleBox::get_snap_edge
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "handle_box", argType = TInterface (Name {namespace = "Gtk", name = "HandleBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHandleBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PositionType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_handle_box_get_snap_edge" gtk_handle_box_get_snap_edge :: 
+    Ptr HandleBox ->                        -- handle_box : TInterface (Name {namespace = "Gtk", name = "HandleBox"})
+    IO CUInt
+
+{-# DEPRECATED handleBoxGetSnapEdge ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+Gets the edge used for determining reattachment of the handle box.
+See 'GI.Gtk.Objects.HandleBox.handleBoxSetSnapEdge'.
+-}
+handleBoxGetSnapEdge ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHandleBox a) =>
+    a
+    {- ^ /@handleBox@/: a 'GI.Gtk.Objects.HandleBox.HandleBox' -}
+    -> m Gtk.Enums.PositionType
+    {- ^ __Returns:__ the edge used for determining reattachment, or
+  (GtkPositionType)-1 if this is determined (as per default)
+  from the handle position. -}
+handleBoxGetSnapEdge handleBox = liftIO $ do
+    handleBox' <- unsafeManagedPtrCastPtr handleBox
+    result <- gtk_handle_box_get_snap_edge handleBox'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr handleBox
+    return result'
+
+#if ENABLE_OVERLOADING
+data HandleBoxGetSnapEdgeMethodInfo
+instance (signature ~ (m Gtk.Enums.PositionType), MonadIO m, IsHandleBox a) => O.MethodInfo HandleBoxGetSnapEdgeMethodInfo a signature where
+    overloadedMethod _ = handleBoxGetSnapEdge
+
+#endif
+
+-- method HandleBox::set_handle_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "handle_box", argType = TInterface (Name {namespace = "Gtk", name = "HandleBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHandleBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the side of the handlebox where the handle should be drawn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_handle_box_set_handle_position" gtk_handle_box_set_handle_position :: 
+    Ptr HandleBox ->                        -- handle_box : TInterface (Name {namespace = "Gtk", name = "HandleBox"})
+    CUInt ->                                -- position : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    IO ()
+
+{-# DEPRECATED handleBoxSetHandlePosition ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+Sets the side of the handlebox where the handle is drawn.
+-}
+handleBoxSetHandlePosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHandleBox a) =>
+    a
+    {- ^ /@handleBox@/: a 'GI.Gtk.Objects.HandleBox.HandleBox' -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@position@/: the side of the handlebox where the handle should be drawn. -}
+    -> m ()
+handleBoxSetHandlePosition handleBox position = liftIO $ do
+    handleBox' <- unsafeManagedPtrCastPtr handleBox
+    let position' = (fromIntegral . fromEnum) position
+    gtk_handle_box_set_handle_position handleBox' position'
+    touchManagedPtr handleBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data HandleBoxSetHandlePositionMethodInfo
+instance (signature ~ (Gtk.Enums.PositionType -> m ()), MonadIO m, IsHandleBox a) => O.MethodInfo HandleBoxSetHandlePositionMethodInfo a signature where
+    overloadedMethod _ = handleBoxSetHandlePosition
+
+#endif
+
+-- method HandleBox::set_shadow_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "handle_box", argType = TInterface (Name {namespace = "Gtk", name = "HandleBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHandleBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the shadow type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_handle_box_set_shadow_type" gtk_handle_box_set_shadow_type :: 
+    Ptr HandleBox ->                        -- handle_box : TInterface (Name {namespace = "Gtk", name = "HandleBox"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    IO ()
+
+{-# DEPRECATED handleBoxSetShadowType ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+Sets the type of shadow to be drawn around the border
+of the handle box.
+-}
+handleBoxSetShadowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHandleBox a) =>
+    a
+    {- ^ /@handleBox@/: a 'GI.Gtk.Objects.HandleBox.HandleBox' -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@type@/: the shadow type. -}
+    -> m ()
+handleBoxSetShadowType handleBox type_ = liftIO $ do
+    handleBox' <- unsafeManagedPtrCastPtr handleBox
+    let type_' = (fromIntegral . fromEnum) type_
+    gtk_handle_box_set_shadow_type handleBox' type_'
+    touchManagedPtr handleBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data HandleBoxSetShadowTypeMethodInfo
+instance (signature ~ (Gtk.Enums.ShadowType -> m ()), MonadIO m, IsHandleBox a) => O.MethodInfo HandleBoxSetShadowTypeMethodInfo a signature where
+    overloadedMethod _ = handleBoxSetShadowType
+
+#endif
+
+-- method HandleBox::set_snap_edge
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "handle_box", argType = TInterface (Name {namespace = "Gtk", name = "HandleBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHandleBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "edge", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the snap edge, or -1 to unset the value; in which\n  case GTK+ will try to guess an appropriate value\n  in the future.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_handle_box_set_snap_edge" gtk_handle_box_set_snap_edge :: 
+    Ptr HandleBox ->                        -- handle_box : TInterface (Name {namespace = "Gtk", name = "HandleBox"})
+    CUInt ->                                -- edge : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    IO ()
+
+{-# DEPRECATED handleBoxSetSnapEdge ["(Since version 3.4)","'GI.Gtk.Objects.HandleBox.HandleBox' has been deprecated."] #-}
+{- |
+Sets the snap edge of a handlebox. The snap edge is
+the edge of the detached child that must be aligned
+with the corresponding edge of the “ghost” left
+behind when the child was detached to reattach
+the torn-off window. Usually, the snap edge should
+be chosen so that it stays in the same place on
+the screen when the handlebox is torn off.
+
+If the snap edge is not set, then an appropriate value
+will be guessed from the handle position. If the
+handle position is 'GI.Gtk.Enums.PositionTypeRight' or 'GI.Gtk.Enums.PositionTypeLeft',
+then the snap edge will be 'GI.Gtk.Enums.PositionTypeTop', otherwise
+it will be 'GI.Gtk.Enums.PositionTypeLeft'.
+-}
+handleBoxSetSnapEdge ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHandleBox a) =>
+    a
+    {- ^ /@handleBox@/: a 'GI.Gtk.Objects.HandleBox.HandleBox' -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@edge@/: the snap edge, or -1 to unset the value; in which
+  case GTK+ will try to guess an appropriate value
+  in the future. -}
+    -> m ()
+handleBoxSetSnapEdge handleBox edge = liftIO $ do
+    handleBox' <- unsafeManagedPtrCastPtr handleBox
+    let edge' = (fromIntegral . fromEnum) edge
+    gtk_handle_box_set_snap_edge handleBox' edge'
+    touchManagedPtr handleBox
+    return ()
+
+#if ENABLE_OVERLOADING
+data HandleBoxSetSnapEdgeMethodInfo
+instance (signature ~ (Gtk.Enums.PositionType -> m ()), MonadIO m, IsHandleBox a) => O.MethodInfo HandleBoxSetSnapEdgeMethodInfo a signature where
+    overloadedMethod _ = handleBoxSetSnapEdge
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/HandleBox.hs-boot b/GI/Gtk/Objects/HandleBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HandleBox.hs-boot
@@ -0,0 +1,71 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.HandleBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype HandleBox = HandleBox (ManagedPtr HandleBox)
+instance GObject HandleBox where
+class (GObject o, O.IsDescendantOf HandleBox o) => IsHandleBox o
+instance (GObject o, O.IsDescendantOf HandleBox o) => IsHandleBox o
+instance O.HasParentTypes HandleBox
+#if ENABLE_OVERLOADING
+data HandleBoxChildDetachedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxHandlePositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxShadowTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxSnapEdgePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxSnapEdgeSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxChildAttachedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxChildDetachedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxGetChildDetachedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxGetHandlePositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxGetShadowTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxGetSnapEdgeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxSetHandlePositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxSetShadowTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HandleBoxSetSnapEdgeMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/HeaderBar.hs b/GI/Gtk/Objects/HeaderBar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HeaderBar.hs
@@ -0,0 +1,1796 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkHeaderBar is similar to a horizontal 'GI.Gtk.Objects.Box.Box'. It allows children to
+be placed at the start or the end. In addition, it allows a title and
+subtitle to be displayed. The title will be centered with respect to
+the width of the box, even if the children at either side take up
+different amounts of space. The height of the titlebar will be
+set to provide sufficient space for the subtitle, even if none is
+currently set. If a subtitle is not needed, the space reservation
+can be turned off with 'GI.Gtk.Objects.HeaderBar.headerBarSetHasSubtitle'.
+
+GtkHeaderBar can add typical window frame controls, such as minimize,
+maximize and close buttons, or the window icon.
+
+For these reasons, GtkHeaderBar is the natural choice for use as the custom
+titlebar widget of a 'GI.Gtk.Objects.Window.Window' (see 'GI.Gtk.Objects.Window.windowSetTitlebar'), as it gives
+features typical of titlebars while allowing the addition of child widgets.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.HeaderBar
+    ( 
+
+-- * Exported types
+    HeaderBar(..)                           ,
+    IsHeaderBar                             ,
+    toHeaderBar                             ,
+    noHeaderBar                             ,
+
+
+ -- * Methods
+-- ** getCustomTitle #method:getCustomTitle#
+
+#if ENABLE_OVERLOADING
+    HeaderBarGetCustomTitleMethodInfo       ,
+#endif
+    headerBarGetCustomTitle                 ,
+
+
+-- ** getDecorationLayout #method:getDecorationLayout#
+
+#if ENABLE_OVERLOADING
+    HeaderBarGetDecorationLayoutMethodInfo  ,
+#endif
+    headerBarGetDecorationLayout            ,
+
+
+-- ** getHasSubtitle #method:getHasSubtitle#
+
+#if ENABLE_OVERLOADING
+    HeaderBarGetHasSubtitleMethodInfo       ,
+#endif
+    headerBarGetHasSubtitle                 ,
+
+
+-- ** getShowCloseButton #method:getShowCloseButton#
+
+#if ENABLE_OVERLOADING
+    HeaderBarGetShowCloseButtonMethodInfo   ,
+#endif
+    headerBarGetShowCloseButton             ,
+
+
+-- ** getSubtitle #method:getSubtitle#
+
+#if ENABLE_OVERLOADING
+    HeaderBarGetSubtitleMethodInfo          ,
+#endif
+    headerBarGetSubtitle                    ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    HeaderBarGetTitleMethodInfo             ,
+#endif
+    headerBarGetTitle                       ,
+
+
+-- ** new #method:new#
+
+    headerBarNew                            ,
+
+
+-- ** packEnd #method:packEnd#
+
+#if ENABLE_OVERLOADING
+    HeaderBarPackEndMethodInfo              ,
+#endif
+    headerBarPackEnd                        ,
+
+
+-- ** packStart #method:packStart#
+
+#if ENABLE_OVERLOADING
+    HeaderBarPackStartMethodInfo            ,
+#endif
+    headerBarPackStart                      ,
+
+
+-- ** setCustomTitle #method:setCustomTitle#
+
+#if ENABLE_OVERLOADING
+    HeaderBarSetCustomTitleMethodInfo       ,
+#endif
+    headerBarSetCustomTitle                 ,
+
+
+-- ** setDecorationLayout #method:setDecorationLayout#
+
+#if ENABLE_OVERLOADING
+    HeaderBarSetDecorationLayoutMethodInfo  ,
+#endif
+    headerBarSetDecorationLayout            ,
+
+
+-- ** setHasSubtitle #method:setHasSubtitle#
+
+#if ENABLE_OVERLOADING
+    HeaderBarSetHasSubtitleMethodInfo       ,
+#endif
+    headerBarSetHasSubtitle                 ,
+
+
+-- ** setShowCloseButton #method:setShowCloseButton#
+
+#if ENABLE_OVERLOADING
+    HeaderBarSetShowCloseButtonMethodInfo   ,
+#endif
+    headerBarSetShowCloseButton             ,
+
+
+-- ** setSubtitle #method:setSubtitle#
+
+#if ENABLE_OVERLOADING
+    HeaderBarSetSubtitleMethodInfo          ,
+#endif
+    headerBarSetSubtitle                    ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    HeaderBarSetTitleMethodInfo             ,
+#endif
+    headerBarSetTitle                       ,
+
+
+
+
+ -- * Properties
+-- ** customTitle #attr:customTitle#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    HeaderBarCustomTitlePropertyInfo        ,
+#endif
+    clearHeaderBarCustomTitle               ,
+    constructHeaderBarCustomTitle           ,
+    getHeaderBarCustomTitle                 ,
+#if ENABLE_OVERLOADING
+    headerBarCustomTitle                    ,
+#endif
+    setHeaderBarCustomTitle                 ,
+
+
+-- ** decorationLayout #attr:decorationLayout#
+{- | The decoration layout for buttons. If this property is
+not set, the 'GI.Gtk.Objects.Settings.Settings':@/gtk-decoration-layout/@ setting
+is used.
+
+See 'GI.Gtk.Objects.HeaderBar.headerBarSetDecorationLayout' for information
+about the format of this string.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    HeaderBarDecorationLayoutPropertyInfo   ,
+#endif
+    clearHeaderBarDecorationLayout          ,
+    constructHeaderBarDecorationLayout      ,
+    getHeaderBarDecorationLayout            ,
+#if ENABLE_OVERLOADING
+    headerBarDecorationLayout               ,
+#endif
+    setHeaderBarDecorationLayout            ,
+
+
+-- ** decorationLayoutSet #attr:decorationLayoutSet#
+{- | Set to 'True' if 'GI.Gtk.Objects.HeaderBar.HeaderBar':@/decoration-layout/@ is set.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    HeaderBarDecorationLayoutSetPropertyInfo,
+#endif
+    constructHeaderBarDecorationLayoutSet   ,
+    getHeaderBarDecorationLayoutSet         ,
+#if ENABLE_OVERLOADING
+    headerBarDecorationLayoutSet            ,
+#endif
+    setHeaderBarDecorationLayoutSet         ,
+
+
+-- ** hasSubtitle #attr:hasSubtitle#
+{- | If 'True', reserve space for a subtitle, even if none
+is currently set.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    HeaderBarHasSubtitlePropertyInfo        ,
+#endif
+    constructHeaderBarHasSubtitle           ,
+    getHeaderBarHasSubtitle                 ,
+#if ENABLE_OVERLOADING
+    headerBarHasSubtitle                    ,
+#endif
+    setHeaderBarHasSubtitle                 ,
+
+
+-- ** showCloseButton #attr:showCloseButton#
+{- | Whether to show window decorations.
+
+Which buttons are actually shown and where is determined
+by the 'GI.Gtk.Objects.HeaderBar.HeaderBar':@/decoration-layout/@ property, and by
+the state of the window (e.g. a close button will not be
+shown if the window can\'t be closed).
+-}
+#if ENABLE_OVERLOADING
+    HeaderBarShowCloseButtonPropertyInfo    ,
+#endif
+    constructHeaderBarShowCloseButton       ,
+    getHeaderBarShowCloseButton             ,
+#if ENABLE_OVERLOADING
+    headerBarShowCloseButton                ,
+#endif
+    setHeaderBarShowCloseButton             ,
+
+
+-- ** spacing #attr:spacing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    HeaderBarSpacingPropertyInfo            ,
+#endif
+    constructHeaderBarSpacing               ,
+    getHeaderBarSpacing                     ,
+#if ENABLE_OVERLOADING
+    headerBarSpacing                        ,
+#endif
+    setHeaderBarSpacing                     ,
+
+
+-- ** subtitle #attr:subtitle#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    HeaderBarSubtitlePropertyInfo           ,
+#endif
+    clearHeaderBarSubtitle                  ,
+    constructHeaderBarSubtitle              ,
+    getHeaderBarSubtitle                    ,
+#if ENABLE_OVERLOADING
+    headerBarSubtitle                       ,
+#endif
+    setHeaderBarSubtitle                    ,
+
+
+-- ** title #attr:title#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    HeaderBarTitlePropertyInfo              ,
+#endif
+    clearHeaderBarTitle                     ,
+    constructHeaderBarTitle                 ,
+    getHeaderBarTitle                       ,
+#if ENABLE_OVERLOADING
+    headerBarTitle                          ,
+#endif
+    setHeaderBarTitle                       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype HeaderBar = HeaderBar (ManagedPtr HeaderBar)
+foreign import ccall "gtk_header_bar_get_type"
+    c_gtk_header_bar_get_type :: IO GType
+
+instance GObject HeaderBar where
+    gobjectType = c_gtk_header_bar_get_type
+    
+
+-- | Type class for types which can be safely cast to `HeaderBar`, for instance with `toHeaderBar`.
+class (GObject o, O.IsDescendantOf HeaderBar o) => IsHeaderBar o
+instance (GObject o, O.IsDescendantOf HeaderBar o) => IsHeaderBar o
+
+instance O.HasParentTypes HeaderBar
+type instance O.ParentTypes HeaderBar = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `HeaderBar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toHeaderBar :: (MonadIO m, IsHeaderBar o) => o -> m HeaderBar
+toHeaderBar = liftIO . unsafeCastTo HeaderBar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `HeaderBar`.
+noHeaderBar :: Maybe HeaderBar
+noHeaderBar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveHeaderBarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHeaderBarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveHeaderBarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveHeaderBarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveHeaderBarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveHeaderBarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveHeaderBarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveHeaderBarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveHeaderBarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveHeaderBarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveHeaderBarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveHeaderBarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveHeaderBarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveHeaderBarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveHeaderBarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveHeaderBarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveHeaderBarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveHeaderBarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveHeaderBarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveHeaderBarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveHeaderBarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveHeaderBarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveHeaderBarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveHeaderBarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveHeaderBarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveHeaderBarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveHeaderBarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveHeaderBarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveHeaderBarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveHeaderBarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveHeaderBarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveHeaderBarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveHeaderBarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveHeaderBarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveHeaderBarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveHeaderBarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveHeaderBarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveHeaderBarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveHeaderBarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveHeaderBarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveHeaderBarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveHeaderBarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveHeaderBarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveHeaderBarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveHeaderBarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveHeaderBarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveHeaderBarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveHeaderBarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveHeaderBarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveHeaderBarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveHeaderBarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveHeaderBarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveHeaderBarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveHeaderBarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveHeaderBarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveHeaderBarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveHeaderBarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveHeaderBarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveHeaderBarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveHeaderBarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveHeaderBarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveHeaderBarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveHeaderBarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveHeaderBarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveHeaderBarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveHeaderBarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveHeaderBarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveHeaderBarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveHeaderBarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveHeaderBarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveHeaderBarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveHeaderBarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveHeaderBarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveHeaderBarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveHeaderBarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveHeaderBarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveHeaderBarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveHeaderBarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveHeaderBarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveHeaderBarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveHeaderBarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveHeaderBarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveHeaderBarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveHeaderBarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveHeaderBarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveHeaderBarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveHeaderBarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveHeaderBarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveHeaderBarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveHeaderBarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveHeaderBarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveHeaderBarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveHeaderBarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveHeaderBarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveHeaderBarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveHeaderBarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveHeaderBarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveHeaderBarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveHeaderBarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveHeaderBarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveHeaderBarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveHeaderBarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveHeaderBarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveHeaderBarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveHeaderBarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveHeaderBarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveHeaderBarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveHeaderBarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveHeaderBarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveHeaderBarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveHeaderBarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveHeaderBarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveHeaderBarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveHeaderBarMethod "packEnd" o = HeaderBarPackEndMethodInfo
+    ResolveHeaderBarMethod "packStart" o = HeaderBarPackStartMethodInfo
+    ResolveHeaderBarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveHeaderBarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveHeaderBarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveHeaderBarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveHeaderBarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveHeaderBarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveHeaderBarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveHeaderBarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveHeaderBarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveHeaderBarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveHeaderBarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveHeaderBarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveHeaderBarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveHeaderBarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveHeaderBarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveHeaderBarMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveHeaderBarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveHeaderBarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveHeaderBarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveHeaderBarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveHeaderBarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveHeaderBarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveHeaderBarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveHeaderBarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveHeaderBarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveHeaderBarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveHeaderBarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveHeaderBarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveHeaderBarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveHeaderBarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveHeaderBarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveHeaderBarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveHeaderBarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveHeaderBarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveHeaderBarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveHeaderBarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveHeaderBarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveHeaderBarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveHeaderBarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveHeaderBarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveHeaderBarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveHeaderBarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveHeaderBarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveHeaderBarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveHeaderBarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveHeaderBarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveHeaderBarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveHeaderBarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveHeaderBarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveHeaderBarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveHeaderBarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveHeaderBarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveHeaderBarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveHeaderBarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveHeaderBarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveHeaderBarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveHeaderBarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveHeaderBarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveHeaderBarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveHeaderBarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveHeaderBarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveHeaderBarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveHeaderBarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveHeaderBarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveHeaderBarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveHeaderBarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveHeaderBarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveHeaderBarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveHeaderBarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveHeaderBarMethod "getCustomTitle" o = HeaderBarGetCustomTitleMethodInfo
+    ResolveHeaderBarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveHeaderBarMethod "getDecorationLayout" o = HeaderBarGetDecorationLayoutMethodInfo
+    ResolveHeaderBarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveHeaderBarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveHeaderBarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveHeaderBarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveHeaderBarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveHeaderBarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveHeaderBarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveHeaderBarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveHeaderBarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveHeaderBarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveHeaderBarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveHeaderBarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveHeaderBarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveHeaderBarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveHeaderBarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveHeaderBarMethod "getHasSubtitle" o = HeaderBarGetHasSubtitleMethodInfo
+    ResolveHeaderBarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveHeaderBarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveHeaderBarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveHeaderBarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveHeaderBarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveHeaderBarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveHeaderBarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveHeaderBarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveHeaderBarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveHeaderBarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveHeaderBarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveHeaderBarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveHeaderBarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveHeaderBarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveHeaderBarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveHeaderBarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveHeaderBarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveHeaderBarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveHeaderBarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveHeaderBarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveHeaderBarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveHeaderBarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveHeaderBarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveHeaderBarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveHeaderBarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveHeaderBarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveHeaderBarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveHeaderBarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveHeaderBarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveHeaderBarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveHeaderBarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveHeaderBarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveHeaderBarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveHeaderBarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveHeaderBarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveHeaderBarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveHeaderBarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveHeaderBarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveHeaderBarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveHeaderBarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveHeaderBarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveHeaderBarMethod "getShowCloseButton" o = HeaderBarGetShowCloseButtonMethodInfo
+    ResolveHeaderBarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveHeaderBarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveHeaderBarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveHeaderBarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveHeaderBarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveHeaderBarMethod "getSubtitle" o = HeaderBarGetSubtitleMethodInfo
+    ResolveHeaderBarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveHeaderBarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveHeaderBarMethod "getTitle" o = HeaderBarGetTitleMethodInfo
+    ResolveHeaderBarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveHeaderBarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveHeaderBarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveHeaderBarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveHeaderBarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveHeaderBarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveHeaderBarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveHeaderBarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveHeaderBarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveHeaderBarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveHeaderBarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveHeaderBarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveHeaderBarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveHeaderBarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveHeaderBarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveHeaderBarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveHeaderBarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveHeaderBarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveHeaderBarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveHeaderBarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveHeaderBarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveHeaderBarMethod "setCustomTitle" o = HeaderBarSetCustomTitleMethodInfo
+    ResolveHeaderBarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveHeaderBarMethod "setDecorationLayout" o = HeaderBarSetDecorationLayoutMethodInfo
+    ResolveHeaderBarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveHeaderBarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveHeaderBarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveHeaderBarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveHeaderBarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveHeaderBarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveHeaderBarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveHeaderBarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveHeaderBarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveHeaderBarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveHeaderBarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveHeaderBarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveHeaderBarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveHeaderBarMethod "setHasSubtitle" o = HeaderBarSetHasSubtitleMethodInfo
+    ResolveHeaderBarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveHeaderBarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveHeaderBarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveHeaderBarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveHeaderBarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveHeaderBarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveHeaderBarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveHeaderBarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveHeaderBarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveHeaderBarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveHeaderBarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveHeaderBarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveHeaderBarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveHeaderBarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveHeaderBarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveHeaderBarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveHeaderBarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveHeaderBarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveHeaderBarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveHeaderBarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveHeaderBarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveHeaderBarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveHeaderBarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveHeaderBarMethod "setShowCloseButton" o = HeaderBarSetShowCloseButtonMethodInfo
+    ResolveHeaderBarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveHeaderBarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveHeaderBarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveHeaderBarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveHeaderBarMethod "setSubtitle" o = HeaderBarSetSubtitleMethodInfo
+    ResolveHeaderBarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveHeaderBarMethod "setTitle" o = HeaderBarSetTitleMethodInfo
+    ResolveHeaderBarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveHeaderBarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveHeaderBarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveHeaderBarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveHeaderBarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveHeaderBarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveHeaderBarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveHeaderBarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveHeaderBarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveHeaderBarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveHeaderBarMethod t HeaderBar, O.MethodInfo info HeaderBar p) => OL.IsLabel t (HeaderBar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "custom-title"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@custom-title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' headerBar #customTitle
+@
+-}
+getHeaderBarCustomTitle :: (MonadIO m, IsHeaderBar o) => o -> m (Maybe Gtk.Widget.Widget)
+getHeaderBarCustomTitle obj = liftIO $ B.Properties.getObjectPropertyObject obj "custom-title" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@custom-title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' headerBar [ #customTitle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHeaderBarCustomTitle :: (MonadIO m, IsHeaderBar o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setHeaderBarCustomTitle obj val = liftIO $ B.Properties.setObjectPropertyObject obj "custom-title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@custom-title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHeaderBarCustomTitle :: (IsHeaderBar o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructHeaderBarCustomTitle val = B.Properties.constructObjectPropertyObject "custom-title" (Just val)
+
+{- |
+Set the value of the “@custom-title@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #customTitle
+@
+-}
+clearHeaderBarCustomTitle :: (MonadIO m, IsHeaderBar o) => o -> m ()
+clearHeaderBarCustomTitle obj = liftIO $ B.Properties.setObjectPropertyObject obj "custom-title" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data HeaderBarCustomTitlePropertyInfo
+instance AttrInfo HeaderBarCustomTitlePropertyInfo where
+    type AttrAllowedOps HeaderBarCustomTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint HeaderBarCustomTitlePropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint HeaderBarCustomTitlePropertyInfo = IsHeaderBar
+    type AttrGetType HeaderBarCustomTitlePropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel HeaderBarCustomTitlePropertyInfo = "custom-title"
+    type AttrOrigin HeaderBarCustomTitlePropertyInfo = HeaderBar
+    attrGet _ = getHeaderBarCustomTitle
+    attrSet _ = setHeaderBarCustomTitle
+    attrConstruct _ = constructHeaderBarCustomTitle
+    attrClear _ = clearHeaderBarCustomTitle
+#endif
+
+-- VVV Prop "decoration-layout"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@decoration-layout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' headerBar #decorationLayout
+@
+-}
+getHeaderBarDecorationLayout :: (MonadIO m, IsHeaderBar o) => o -> m T.Text
+getHeaderBarDecorationLayout obj = liftIO $ checkUnexpectedNothing "getHeaderBarDecorationLayout" $ B.Properties.getObjectPropertyString obj "decoration-layout"
+
+{- |
+Set the value of the “@decoration-layout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' headerBar [ #decorationLayout 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHeaderBarDecorationLayout :: (MonadIO m, IsHeaderBar o) => o -> T.Text -> m ()
+setHeaderBarDecorationLayout obj val = liftIO $ B.Properties.setObjectPropertyString obj "decoration-layout" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@decoration-layout@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHeaderBarDecorationLayout :: (IsHeaderBar o) => T.Text -> IO (GValueConstruct o)
+constructHeaderBarDecorationLayout val = B.Properties.constructObjectPropertyString "decoration-layout" (Just val)
+
+{- |
+Set the value of the “@decoration-layout@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #decorationLayout
+@
+-}
+clearHeaderBarDecorationLayout :: (MonadIO m, IsHeaderBar o) => o -> m ()
+clearHeaderBarDecorationLayout obj = liftIO $ B.Properties.setObjectPropertyString obj "decoration-layout" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data HeaderBarDecorationLayoutPropertyInfo
+instance AttrInfo HeaderBarDecorationLayoutPropertyInfo where
+    type AttrAllowedOps HeaderBarDecorationLayoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint HeaderBarDecorationLayoutPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint HeaderBarDecorationLayoutPropertyInfo = IsHeaderBar
+    type AttrGetType HeaderBarDecorationLayoutPropertyInfo = T.Text
+    type AttrLabel HeaderBarDecorationLayoutPropertyInfo = "decoration-layout"
+    type AttrOrigin HeaderBarDecorationLayoutPropertyInfo = HeaderBar
+    attrGet _ = getHeaderBarDecorationLayout
+    attrSet _ = setHeaderBarDecorationLayout
+    attrConstruct _ = constructHeaderBarDecorationLayout
+    attrClear _ = clearHeaderBarDecorationLayout
+#endif
+
+-- VVV Prop "decoration-layout-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@decoration-layout-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' headerBar #decorationLayoutSet
+@
+-}
+getHeaderBarDecorationLayoutSet :: (MonadIO m, IsHeaderBar o) => o -> m Bool
+getHeaderBarDecorationLayoutSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "decoration-layout-set"
+
+{- |
+Set the value of the “@decoration-layout-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' headerBar [ #decorationLayoutSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHeaderBarDecorationLayoutSet :: (MonadIO m, IsHeaderBar o) => o -> Bool -> m ()
+setHeaderBarDecorationLayoutSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "decoration-layout-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@decoration-layout-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHeaderBarDecorationLayoutSet :: (IsHeaderBar o) => Bool -> IO (GValueConstruct o)
+constructHeaderBarDecorationLayoutSet val = B.Properties.constructObjectPropertyBool "decoration-layout-set" val
+
+#if ENABLE_OVERLOADING
+data HeaderBarDecorationLayoutSetPropertyInfo
+instance AttrInfo HeaderBarDecorationLayoutSetPropertyInfo where
+    type AttrAllowedOps HeaderBarDecorationLayoutSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint HeaderBarDecorationLayoutSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint HeaderBarDecorationLayoutSetPropertyInfo = IsHeaderBar
+    type AttrGetType HeaderBarDecorationLayoutSetPropertyInfo = Bool
+    type AttrLabel HeaderBarDecorationLayoutSetPropertyInfo = "decoration-layout-set"
+    type AttrOrigin HeaderBarDecorationLayoutSetPropertyInfo = HeaderBar
+    attrGet _ = getHeaderBarDecorationLayoutSet
+    attrSet _ = setHeaderBarDecorationLayoutSet
+    attrConstruct _ = constructHeaderBarDecorationLayoutSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-subtitle"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-subtitle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' headerBar #hasSubtitle
+@
+-}
+getHeaderBarHasSubtitle :: (MonadIO m, IsHeaderBar o) => o -> m Bool
+getHeaderBarHasSubtitle obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-subtitle"
+
+{- |
+Set the value of the “@has-subtitle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' headerBar [ #hasSubtitle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHeaderBarHasSubtitle :: (MonadIO m, IsHeaderBar o) => o -> Bool -> m ()
+setHeaderBarHasSubtitle obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-subtitle" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-subtitle@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHeaderBarHasSubtitle :: (IsHeaderBar o) => Bool -> IO (GValueConstruct o)
+constructHeaderBarHasSubtitle val = B.Properties.constructObjectPropertyBool "has-subtitle" val
+
+#if ENABLE_OVERLOADING
+data HeaderBarHasSubtitlePropertyInfo
+instance AttrInfo HeaderBarHasSubtitlePropertyInfo where
+    type AttrAllowedOps HeaderBarHasSubtitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint HeaderBarHasSubtitlePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint HeaderBarHasSubtitlePropertyInfo = IsHeaderBar
+    type AttrGetType HeaderBarHasSubtitlePropertyInfo = Bool
+    type AttrLabel HeaderBarHasSubtitlePropertyInfo = "has-subtitle"
+    type AttrOrigin HeaderBarHasSubtitlePropertyInfo = HeaderBar
+    attrGet _ = getHeaderBarHasSubtitle
+    attrSet _ = setHeaderBarHasSubtitle
+    attrConstruct _ = constructHeaderBarHasSubtitle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-close-button"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-close-button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' headerBar #showCloseButton
+@
+-}
+getHeaderBarShowCloseButton :: (MonadIO m, IsHeaderBar o) => o -> m Bool
+getHeaderBarShowCloseButton obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-close-button"
+
+{- |
+Set the value of the “@show-close-button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' headerBar [ #showCloseButton 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHeaderBarShowCloseButton :: (MonadIO m, IsHeaderBar o) => o -> Bool -> m ()
+setHeaderBarShowCloseButton obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-close-button" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-close-button@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHeaderBarShowCloseButton :: (IsHeaderBar o) => Bool -> IO (GValueConstruct o)
+constructHeaderBarShowCloseButton val = B.Properties.constructObjectPropertyBool "show-close-button" val
+
+#if ENABLE_OVERLOADING
+data HeaderBarShowCloseButtonPropertyInfo
+instance AttrInfo HeaderBarShowCloseButtonPropertyInfo where
+    type AttrAllowedOps HeaderBarShowCloseButtonPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint HeaderBarShowCloseButtonPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint HeaderBarShowCloseButtonPropertyInfo = IsHeaderBar
+    type AttrGetType HeaderBarShowCloseButtonPropertyInfo = Bool
+    type AttrLabel HeaderBarShowCloseButtonPropertyInfo = "show-close-button"
+    type AttrOrigin HeaderBarShowCloseButtonPropertyInfo = HeaderBar
+    attrGet _ = getHeaderBarShowCloseButton
+    attrSet _ = setHeaderBarShowCloseButton
+    attrConstruct _ = constructHeaderBarShowCloseButton
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' headerBar #spacing
+@
+-}
+getHeaderBarSpacing :: (MonadIO m, IsHeaderBar o) => o -> m Int32
+getHeaderBarSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "spacing"
+
+{- |
+Set the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' headerBar [ #spacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHeaderBarSpacing :: (MonadIO m, IsHeaderBar o) => o -> Int32 -> m ()
+setHeaderBarSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHeaderBarSpacing :: (IsHeaderBar o) => Int32 -> IO (GValueConstruct o)
+constructHeaderBarSpacing val = B.Properties.constructObjectPropertyInt32 "spacing" val
+
+#if ENABLE_OVERLOADING
+data HeaderBarSpacingPropertyInfo
+instance AttrInfo HeaderBarSpacingPropertyInfo where
+    type AttrAllowedOps HeaderBarSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint HeaderBarSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint HeaderBarSpacingPropertyInfo = IsHeaderBar
+    type AttrGetType HeaderBarSpacingPropertyInfo = Int32
+    type AttrLabel HeaderBarSpacingPropertyInfo = "spacing"
+    type AttrOrigin HeaderBarSpacingPropertyInfo = HeaderBar
+    attrGet _ = getHeaderBarSpacing
+    attrSet _ = setHeaderBarSpacing
+    attrConstruct _ = constructHeaderBarSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "subtitle"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@subtitle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' headerBar #subtitle
+@
+-}
+getHeaderBarSubtitle :: (MonadIO m, IsHeaderBar o) => o -> m (Maybe T.Text)
+getHeaderBarSubtitle obj = liftIO $ B.Properties.getObjectPropertyString obj "subtitle"
+
+{- |
+Set the value of the “@subtitle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' headerBar [ #subtitle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHeaderBarSubtitle :: (MonadIO m, IsHeaderBar o) => o -> T.Text -> m ()
+setHeaderBarSubtitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "subtitle" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@subtitle@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHeaderBarSubtitle :: (IsHeaderBar o) => T.Text -> IO (GValueConstruct o)
+constructHeaderBarSubtitle val = B.Properties.constructObjectPropertyString "subtitle" (Just val)
+
+{- |
+Set the value of the “@subtitle@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #subtitle
+@
+-}
+clearHeaderBarSubtitle :: (MonadIO m, IsHeaderBar o) => o -> m ()
+clearHeaderBarSubtitle obj = liftIO $ B.Properties.setObjectPropertyString obj "subtitle" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data HeaderBarSubtitlePropertyInfo
+instance AttrInfo HeaderBarSubtitlePropertyInfo where
+    type AttrAllowedOps HeaderBarSubtitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint HeaderBarSubtitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint HeaderBarSubtitlePropertyInfo = IsHeaderBar
+    type AttrGetType HeaderBarSubtitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel HeaderBarSubtitlePropertyInfo = "subtitle"
+    type AttrOrigin HeaderBarSubtitlePropertyInfo = HeaderBar
+    attrGet _ = getHeaderBarSubtitle
+    attrSet _ = setHeaderBarSubtitle
+    attrConstruct _ = constructHeaderBarSubtitle
+    attrClear _ = clearHeaderBarSubtitle
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' headerBar #title
+@
+-}
+getHeaderBarTitle :: (MonadIO m, IsHeaderBar o) => o -> m (Maybe T.Text)
+getHeaderBarTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' headerBar [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setHeaderBarTitle :: (MonadIO m, IsHeaderBar o) => o -> T.Text -> m ()
+setHeaderBarTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructHeaderBarTitle :: (IsHeaderBar o) => T.Text -> IO (GValueConstruct o)
+constructHeaderBarTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+{- |
+Set the value of the “@title@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #title
+@
+-}
+clearHeaderBarTitle :: (MonadIO m, IsHeaderBar o) => o -> m ()
+clearHeaderBarTitle obj = liftIO $ B.Properties.setObjectPropertyString obj "title" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data HeaderBarTitlePropertyInfo
+instance AttrInfo HeaderBarTitlePropertyInfo where
+    type AttrAllowedOps HeaderBarTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint HeaderBarTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint HeaderBarTitlePropertyInfo = IsHeaderBar
+    type AttrGetType HeaderBarTitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel HeaderBarTitlePropertyInfo = "title"
+    type AttrOrigin HeaderBarTitlePropertyInfo = HeaderBar
+    attrGet _ = getHeaderBarTitle
+    attrSet _ = setHeaderBarTitle
+    attrConstruct _ = constructHeaderBarTitle
+    attrClear _ = clearHeaderBarTitle
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList HeaderBar
+type instance O.AttributeList HeaderBar = HeaderBarAttributeList
+type HeaderBarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("customTitle", HeaderBarCustomTitlePropertyInfo), '("decorationLayout", HeaderBarDecorationLayoutPropertyInfo), '("decorationLayoutSet", HeaderBarDecorationLayoutSetPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasSubtitle", HeaderBarHasSubtitlePropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showCloseButton", HeaderBarShowCloseButtonPropertyInfo), '("spacing", HeaderBarSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("subtitle", HeaderBarSubtitlePropertyInfo), '("title", HeaderBarTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+headerBarCustomTitle :: AttrLabelProxy "customTitle"
+headerBarCustomTitle = AttrLabelProxy
+
+headerBarDecorationLayout :: AttrLabelProxy "decorationLayout"
+headerBarDecorationLayout = AttrLabelProxy
+
+headerBarDecorationLayoutSet :: AttrLabelProxy "decorationLayoutSet"
+headerBarDecorationLayoutSet = AttrLabelProxy
+
+headerBarHasSubtitle :: AttrLabelProxy "hasSubtitle"
+headerBarHasSubtitle = AttrLabelProxy
+
+headerBarShowCloseButton :: AttrLabelProxy "showCloseButton"
+headerBarShowCloseButton = AttrLabelProxy
+
+headerBarSpacing :: AttrLabelProxy "spacing"
+headerBarSpacing = AttrLabelProxy
+
+headerBarSubtitle :: AttrLabelProxy "subtitle"
+headerBarSubtitle = AttrLabelProxy
+
+headerBarTitle :: AttrLabelProxy "title"
+headerBarTitle = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList HeaderBar = HeaderBarSignalList
+type HeaderBarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method HeaderBar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "HeaderBar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_new" gtk_header_bar_new :: 
+    IO (Ptr HeaderBar)
+
+{- |
+Creates a new 'GI.Gtk.Objects.HeaderBar.HeaderBar' widget.
+
+/Since: 3.10/
+-}
+headerBarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m HeaderBar
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+headerBarNew  = liftIO $ do
+    result <- gtk_header_bar_new
+    checkUnexpectedReturnNULL "headerBarNew" result
+    result' <- (newObject HeaderBar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method HeaderBar::get_custom_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_get_custom_title" gtk_header_bar_get_custom_title :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the custom title widget of the header. See
+'GI.Gtk.Objects.HeaderBar.headerBarSetCustomTitle'.
+
+/Since: 3.10/
+-}
+headerBarGetCustomTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the custom title widget
+   of the header, or 'Nothing' if none has been set explicitly. -}
+headerBarGetCustomTitle bar = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    result <- gtk_header_bar_get_custom_title bar'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr bar
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data HeaderBarGetCustomTitleMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarGetCustomTitleMethodInfo a signature where
+    overloadedMethod _ = headerBarGetCustomTitle
+
+#endif
+
+-- method HeaderBar::get_decoration_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_get_decoration_layout" gtk_header_bar_get_decoration_layout :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    IO CString
+
+{- |
+Gets the decoration layout set with
+'GI.Gtk.Objects.HeaderBar.headerBarSetDecorationLayout'.
+
+/Since: 3.12/
+-}
+headerBarGetDecorationLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> m T.Text
+    {- ^ __Returns:__ the decoration layout -}
+headerBarGetDecorationLayout bar = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    result <- gtk_header_bar_get_decoration_layout bar'
+    checkUnexpectedReturnNULL "headerBarGetDecorationLayout" result
+    result' <- cstringToText result
+    touchManagedPtr bar
+    return result'
+
+#if ENABLE_OVERLOADING
+data HeaderBarGetDecorationLayoutMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarGetDecorationLayoutMethodInfo a signature where
+    overloadedMethod _ = headerBarGetDecorationLayout
+
+#endif
+
+-- method HeaderBar::get_has_subtitle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_get_has_subtitle" gtk_header_bar_get_has_subtitle :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    IO CInt
+
+{- |
+Retrieves whether the header bar reserves space for
+a subtitle, regardless if one is currently set or not.
+
+/Since: 3.12/
+-}
+headerBarGetHasSubtitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the header bar reserves space
+    for a subtitle -}
+headerBarGetHasSubtitle bar = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    result <- gtk_header_bar_get_has_subtitle bar'
+    let result' = (/= 0) result
+    touchManagedPtr bar
+    return result'
+
+#if ENABLE_OVERLOADING
+data HeaderBarGetHasSubtitleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarGetHasSubtitleMethodInfo a signature where
+    overloadedMethod _ = headerBarGetHasSubtitle
+
+#endif
+
+-- method HeaderBar::get_show_close_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_get_show_close_button" gtk_header_bar_get_show_close_button :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    IO CInt
+
+{- |
+Returns whether this header bar shows the standard window
+decorations.
+
+/Since: 3.10/
+-}
+headerBarGetShowCloseButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the decorations are shown -}
+headerBarGetShowCloseButton bar = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    result <- gtk_header_bar_get_show_close_button bar'
+    let result' = (/= 0) result
+    touchManagedPtr bar
+    return result'
+
+#if ENABLE_OVERLOADING
+data HeaderBarGetShowCloseButtonMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarGetShowCloseButtonMethodInfo a signature where
+    overloadedMethod _ = headerBarGetShowCloseButton
+
+#endif
+
+-- method HeaderBar::get_subtitle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_get_subtitle" gtk_header_bar_get_subtitle :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    IO CString
+
+{- |
+Retrieves the subtitle of the header. See 'GI.Gtk.Objects.HeaderBar.headerBarSetSubtitle'.
+
+/Since: 3.10/
+-}
+headerBarGetSubtitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the subtitle of the header, or 'Nothing' if none has
+   been set explicitly. The returned string is owned by the widget
+   and must not be modified or freed. -}
+headerBarGetSubtitle bar = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    result <- gtk_header_bar_get_subtitle bar'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr bar
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data HeaderBarGetSubtitleMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarGetSubtitleMethodInfo a signature where
+    overloadedMethod _ = headerBarGetSubtitle
+
+#endif
+
+-- method HeaderBar::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_get_title" gtk_header_bar_get_title :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    IO CString
+
+{- |
+Retrieves the title of the header. See 'GI.Gtk.Objects.HeaderBar.headerBarSetTitle'.
+
+/Since: 3.10/
+-}
+headerBarGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the title of the header, or 'Nothing' if none has
+   been set explicitly. The returned string is owned by the widget
+   and must not be modified or freed. -}
+headerBarGetTitle bar = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    result <- gtk_header_bar_get_title bar'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr bar
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data HeaderBarGetTitleMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarGetTitleMethodInfo a signature where
+    overloadedMethod _ = headerBarGetTitle
+
+#endif
+
+-- method HeaderBar::pack_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be added to @bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_pack_end" gtk_header_bar_pack_end :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds /@child@/ to /@bar@/, packed with reference to the
+end of the /@bar@/.
+
+/Since: 3.10/
+-}
+headerBarPackEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@bar@/: A 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to be added to /@bar@/ -}
+    -> m ()
+headerBarPackEnd bar child = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_header_bar_pack_end bar' child'
+    touchManagedPtr bar
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data HeaderBarPackEndMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsHeaderBar a, Gtk.Widget.IsWidget b) => O.MethodInfo HeaderBarPackEndMethodInfo a signature where
+    overloadedMethod _ = headerBarPackEnd
+
+#endif
+
+-- method HeaderBar::pack_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be added to @bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_pack_start" gtk_header_bar_pack_start :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds /@child@/ to /@bar@/, packed with reference to the
+start of the /@bar@/.
+
+/Since: 3.10/
+-}
+headerBarPackStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@bar@/: A 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to be added to /@bar@/ -}
+    -> m ()
+headerBarPackStart bar child = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_header_bar_pack_start bar' child'
+    touchManagedPtr bar
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data HeaderBarPackStartMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsHeaderBar a, Gtk.Widget.IsWidget b) => O.MethodInfo HeaderBarPackStartMethodInfo a signature where
+    overloadedMethod _ = headerBarPackStart
+
+#endif
+
+-- method HeaderBar::set_custom_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a custom widget to use for a title", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_set_custom_title" gtk_header_bar_set_custom_title :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    Ptr Gtk.Widget.Widget ->                -- title_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets a custom title for the 'GI.Gtk.Objects.HeaderBar.HeaderBar'.
+
+The title should help a user identify the current view. This
+supersedes any title set by 'GI.Gtk.Objects.HeaderBar.headerBarSetTitle' or
+'GI.Gtk.Objects.HeaderBar.headerBarSetSubtitle'. To achieve the same style as
+the builtin title and subtitle, use the “title” and “subtitle”
+style classes.
+
+You should set the custom title to 'Nothing', for the header title
+label to be visible again.
+
+/Since: 3.10/
+-}
+headerBarSetCustomTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> Maybe (b)
+    {- ^ /@titleWidget@/: a custom widget to use for a title -}
+    -> m ()
+headerBarSetCustomTitle bar titleWidget = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    maybeTitleWidget <- case titleWidget of
+        Nothing -> return nullPtr
+        Just jTitleWidget -> do
+            jTitleWidget' <- unsafeManagedPtrCastPtr jTitleWidget
+            return jTitleWidget'
+    gtk_header_bar_set_custom_title bar' maybeTitleWidget
+    touchManagedPtr bar
+    whenJust titleWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data HeaderBarSetCustomTitleMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsHeaderBar a, Gtk.Widget.IsWidget b) => O.MethodInfo HeaderBarSetCustomTitleMethodInfo a signature where
+    overloadedMethod _ = headerBarSetCustomTitle
+
+#endif
+
+-- method HeaderBar::set_decoration_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "layout", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a decoration layout, or %NULL to\n    unset the layout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_set_decoration_layout" gtk_header_bar_set_decoration_layout :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    CString ->                              -- layout : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the decoration layout for this header bar, overriding
+the 'GI.Gtk.Objects.Settings.Settings':@/gtk-decoration-layout/@ setting.
+
+There can be valid reasons for overriding the setting, such
+as a header bar design that does not allow for buttons to take
+room on the right, or only offers room for a single close button.
+Split header bars are another example for overriding the
+setting.
+
+The format of the string is button names, separated by commas.
+A colon separates the buttons that should appear on the left
+from those on the right. Recognized button names are minimize,
+maximize, close, icon (the window icon) and menu (a menu button
+for the fallback app menu).
+
+For example, “menu:minimize,maximize,close” specifies a menu
+on the left, and minimize, maximize and close buttons on the right.
+
+/Since: 3.12/
+-}
+headerBarSetDecorationLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> Maybe (T.Text)
+    {- ^ /@layout@/: a decoration layout, or 'Nothing' to
+    unset the layout -}
+    -> m ()
+headerBarSetDecorationLayout bar layout = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    maybeLayout <- case layout of
+        Nothing -> return nullPtr
+        Just jLayout -> do
+            jLayout' <- textToCString jLayout
+            return jLayout'
+    gtk_header_bar_set_decoration_layout bar' maybeLayout
+    touchManagedPtr bar
+    freeMem maybeLayout
+    return ()
+
+#if ENABLE_OVERLOADING
+data HeaderBarSetDecorationLayoutMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarSetDecorationLayoutMethodInfo a signature where
+    overloadedMethod _ = headerBarSetDecorationLayout
+
+#endif
+
+-- method HeaderBar::set_has_subtitle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to reserve space for a subtitle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_set_has_subtitle" gtk_header_bar_set_has_subtitle :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the header bar should reserve space
+for a subtitle, even if none is currently set.
+
+/Since: 3.12/
+-}
+headerBarSetHasSubtitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to reserve space for a subtitle -}
+    -> m ()
+headerBarSetHasSubtitle bar setting = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_header_bar_set_has_subtitle bar' setting'
+    touchManagedPtr bar
+    return ()
+
+#if ENABLE_OVERLOADING
+data HeaderBarSetHasSubtitleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarSetHasSubtitleMethodInfo a signature where
+    overloadedMethod _ = headerBarSetHasSubtitle
+
+#endif
+
+-- method HeaderBar::set_show_close_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to show standard window decorations", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_set_show_close_button" gtk_header_bar_set_show_close_button :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether this header bar shows the standard window decorations,
+including close, maximize, and minimize.
+
+/Since: 3.10/
+-}
+headerBarSetShowCloseButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to show standard window decorations -}
+    -> m ()
+headerBarSetShowCloseButton bar setting = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_header_bar_set_show_close_button bar' setting'
+    touchManagedPtr bar
+    return ()
+
+#if ENABLE_OVERLOADING
+data HeaderBarSetShowCloseButtonMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarSetShowCloseButtonMethodInfo a signature where
+    overloadedMethod _ = headerBarSetShowCloseButton
+
+#endif
+
+-- method HeaderBar::set_subtitle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subtitle", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a subtitle, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_set_subtitle" gtk_header_bar_set_subtitle :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    CString ->                              -- subtitle : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the subtitle of the 'GI.Gtk.Objects.HeaderBar.HeaderBar'. The title should give a user
+an additional detail to help him identify the current view.
+
+Note that GtkHeaderBar by default reserves room for the subtitle,
+even if none is currently set. If this is not desired, set the
+'GI.Gtk.Objects.HeaderBar.HeaderBar':@/has-subtitle/@ property to 'False'.
+
+/Since: 3.10/
+-}
+headerBarSetSubtitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> Maybe (T.Text)
+    {- ^ /@subtitle@/: a subtitle, or 'Nothing' -}
+    -> m ()
+headerBarSetSubtitle bar subtitle = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    maybeSubtitle <- case subtitle of
+        Nothing -> return nullPtr
+        Just jSubtitle -> do
+            jSubtitle' <- textToCString jSubtitle
+            return jSubtitle'
+    gtk_header_bar_set_subtitle bar' maybeSubtitle
+    touchManagedPtr bar
+    freeMem maybeSubtitle
+    return ()
+
+#if ENABLE_OVERLOADING
+data HeaderBarSetSubtitleMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarSetSubtitleMethodInfo a signature where
+    overloadedMethod _ = headerBarSetSubtitle
+
+#endif
+
+-- method HeaderBar::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "HeaderBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkHeaderBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a title, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_header_bar_set_title" gtk_header_bar_set_title :: 
+    Ptr HeaderBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "HeaderBar"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the title of the 'GI.Gtk.Objects.HeaderBar.HeaderBar'. The title should help a user
+identify the current view. A good title should not include the
+application name.
+
+/Since: 3.10/
+-}
+headerBarSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsHeaderBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.HeaderBar.HeaderBar' -}
+    -> Maybe (T.Text)
+    {- ^ /@title@/: a title, or 'Nothing' -}
+    -> m ()
+headerBarSetTitle bar title = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    maybeTitle <- case title of
+        Nothing -> return nullPtr
+        Just jTitle -> do
+            jTitle' <- textToCString jTitle
+            return jTitle'
+    gtk_header_bar_set_title bar' maybeTitle
+    touchManagedPtr bar
+    freeMem maybeTitle
+    return ()
+
+#if ENABLE_OVERLOADING
+data HeaderBarSetTitleMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsHeaderBar a) => O.MethodInfo HeaderBarSetTitleMethodInfo a signature where
+    overloadedMethod _ = headerBarSetTitle
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/HeaderBar.hs-boot b/GI/Gtk/Objects/HeaderBar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/HeaderBar.hs-boot
@@ -0,0 +1,95 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.HeaderBar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype HeaderBar = HeaderBar (ManagedPtr HeaderBar)
+instance GObject HeaderBar where
+class (GObject o, O.IsDescendantOf HeaderBar o) => IsHeaderBar o
+instance (GObject o, O.IsDescendantOf HeaderBar o) => IsHeaderBar o
+instance O.HasParentTypes HeaderBar
+#if ENABLE_OVERLOADING
+data HeaderBarCustomTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarDecorationLayoutPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarDecorationLayoutSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarHasSubtitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarShowCloseButtonPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarSubtitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarGetCustomTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarGetDecorationLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarGetHasSubtitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarGetShowCloseButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarGetSubtitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarPackEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarPackStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarSetCustomTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarSetDecorationLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarSetHasSubtitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarSetShowCloseButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarSetSubtitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data HeaderBarSetTitleMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/IMContext.hs b/GI/Gtk/Objects/IMContext.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IMContext.hs
@@ -0,0 +1,1484 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.IMContext.IMContext' defines the interface for GTK+ input methods. An input method
+is used by GTK+ text input widgets like 'GI.Gtk.Objects.Entry.Entry' to map from key events to
+Unicode character strings.
+
+The default input method can be set programmatically via the
+'GI.Gtk.Objects.Settings.Settings':@/gtk-im-module/@ GtkSettings property. Alternatively, you may set
+the GTK_IM_MODULE environment variable as documented in
+[Running GTK+ Applications][gtk-running].
+
+The 'GI.Gtk.Objects.Entry.Entry' 'GI.Gtk.Objects.Entry.Entry':@/im-module/@ and 'GI.Gtk.Objects.TextView.TextView' 'GI.Gtk.Objects.TextView.TextView':@/im-module/@
+properties may also be used to set input methods for specific widget
+instances. For instance, a certain entry widget might be expected to contain
+certain characters which would be easier to input with a certain input
+method.
+
+An input method may consume multiple key events in sequence and finally
+output the composed result. This is called preediting, and an input method
+may provide feedback about this process by displaying the intermediate
+composition states as preedit text. For instance, the default GTK+ input
+method implements the input of arbitrary Unicode code points by holding down
+the Control and Shift keys and then typing “U” followed by the hexadecimal
+digits of the code point.  When releasing the Control and Shift keys,
+preediting ends and the character is inserted as text. Ctrl+Shift+u20AC for
+example results in the € sign.
+
+Additional input methods can be made available for use by GTK+ widgets as
+loadable modules. An input method module is a small shared library which
+implements a subclass of 'GI.Gtk.Objects.IMContext.IMContext' or 'GI.Gtk.Objects.IMContextSimple.IMContextSimple' and exports
+these four functions:
+
+
+=== /C code/
+>
+>void im_module_init(GTypeModule *module);
+
+This function should register the 'GType' of the 'GI.Gtk.Objects.IMContext.IMContext' subclass which
+implements the input method by means of 'GI.GObject.Objects.TypeModule.typeModuleRegisterType'. Note
+that 'GI.GObject.Functions.typeRegisterStatic' cannot be used as the type needs to be
+registered dynamically.
+
+
+=== /C code/
+>
+>void im_module_exit(void);
+
+Here goes any cleanup code your input method might require on module unload.
+
+
+=== /C code/
+>
+>void im_module_list(const GtkIMContextInfo ***contexts, int *n_contexts)
+>{
+>  *contexts = info_list;
+>  *n_contexts = G_N_ELEMENTS (info_list);
+>}
+
+This function returns the list of input methods provided by the module. The
+example implementation above shows a common solution and simply returns a
+pointer to statically defined array of 'GI.Gtk.Structs.IMContextInfo.IMContextInfo' items for each
+provided input method.
+
+
+=== /C code/
+>
+>GtkIMContext * im_module_create(const gchar *context_id);
+
+This function should return a pointer to a newly created instance of the
+'GI.Gtk.Objects.IMContext.IMContext' subclass identified by /@contextId@/. The context ID is the same
+as specified in the 'GI.Gtk.Structs.IMContextInfo.IMContextInfo' array returned by @/im_module_list()/@.
+
+After a new loadable input method module has been installed on the system,
+the configuration file @gtk.immodules@ needs to be
+regenerated by [gtk-query-immodules-3.0][gtk-query-immodules-3.0],
+in order for the new input method to become available to GTK+ applications.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.IMContext
+    ( 
+
+-- * Exported types
+    IMContext(..)                           ,
+    IsIMContext                             ,
+    toIMContext                             ,
+    noIMContext                             ,
+
+
+ -- * Methods
+-- ** deleteSurrounding #method:deleteSurrounding#
+
+#if ENABLE_OVERLOADING
+    IMContextDeleteSurroundingMethodInfo    ,
+#endif
+    iMContextDeleteSurrounding              ,
+
+
+-- ** filterKeypress #method:filterKeypress#
+
+#if ENABLE_OVERLOADING
+    IMContextFilterKeypressMethodInfo       ,
+#endif
+    iMContextFilterKeypress                 ,
+
+
+-- ** focusIn #method:focusIn#
+
+#if ENABLE_OVERLOADING
+    IMContextFocusInMethodInfo              ,
+#endif
+    iMContextFocusIn                        ,
+
+
+-- ** focusOut #method:focusOut#
+
+#if ENABLE_OVERLOADING
+    IMContextFocusOutMethodInfo             ,
+#endif
+    iMContextFocusOut                       ,
+
+
+-- ** getPreeditString #method:getPreeditString#
+
+#if ENABLE_OVERLOADING
+    IMContextGetPreeditStringMethodInfo     ,
+#endif
+    iMContextGetPreeditString               ,
+
+
+-- ** getSurrounding #method:getSurrounding#
+
+#if ENABLE_OVERLOADING
+    IMContextGetSurroundingMethodInfo       ,
+#endif
+    iMContextGetSurrounding                 ,
+
+
+-- ** reset #method:reset#
+
+#if ENABLE_OVERLOADING
+    IMContextResetMethodInfo                ,
+#endif
+    iMContextReset                          ,
+
+
+-- ** setClientWindow #method:setClientWindow#
+
+#if ENABLE_OVERLOADING
+    IMContextSetClientWindowMethodInfo      ,
+#endif
+    iMContextSetClientWindow                ,
+
+
+-- ** setCursorLocation #method:setCursorLocation#
+
+#if ENABLE_OVERLOADING
+    IMContextSetCursorLocationMethodInfo    ,
+#endif
+    iMContextSetCursorLocation              ,
+
+
+-- ** setSurrounding #method:setSurrounding#
+
+#if ENABLE_OVERLOADING
+    IMContextSetSurroundingMethodInfo       ,
+#endif
+    iMContextSetSurrounding                 ,
+
+
+-- ** setUsePreedit #method:setUsePreedit#
+
+#if ENABLE_OVERLOADING
+    IMContextSetUsePreeditMethodInfo        ,
+#endif
+    iMContextSetUsePreedit                  ,
+
+
+
+
+ -- * Properties
+-- ** inputHints #attr:inputHints#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    IMContextInputHintsPropertyInfo         ,
+#endif
+    constructIMContextInputHints            ,
+    getIMContextInputHints                  ,
+#if ENABLE_OVERLOADING
+    iMContextInputHints                     ,
+#endif
+    setIMContextInputHints                  ,
+
+
+-- ** inputPurpose #attr:inputPurpose#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    IMContextInputPurposePropertyInfo       ,
+#endif
+    constructIMContextInputPurpose          ,
+    getIMContextInputPurpose                ,
+#if ENABLE_OVERLOADING
+    iMContextInputPurpose                   ,
+#endif
+    setIMContextInputPurpose                ,
+
+
+
+
+ -- * Signals
+-- ** commit #signal:commit#
+
+    C_IMContextCommitCallback               ,
+    IMContextCommitCallback                 ,
+#if ENABLE_OVERLOADING
+    IMContextCommitSignalInfo               ,
+#endif
+    afterIMContextCommit                    ,
+    genClosure_IMContextCommit              ,
+    mk_IMContextCommitCallback              ,
+    noIMContextCommitCallback               ,
+    onIMContextCommit                       ,
+    wrap_IMContextCommitCallback            ,
+
+
+-- ** deleteSurrounding #signal:deleteSurrounding#
+
+    C_IMContextDeleteSurroundingCallback    ,
+    IMContextDeleteSurroundingCallback      ,
+#if ENABLE_OVERLOADING
+    IMContextDeleteSurroundingSignalInfo    ,
+#endif
+    afterIMContextDeleteSurrounding         ,
+    genClosure_IMContextDeleteSurrounding   ,
+    mk_IMContextDeleteSurroundingCallback   ,
+    noIMContextDeleteSurroundingCallback    ,
+    onIMContextDeleteSurrounding            ,
+    wrap_IMContextDeleteSurroundingCallback ,
+
+
+-- ** preeditChanged #signal:preeditChanged#
+
+    C_IMContextPreeditChangedCallback       ,
+    IMContextPreeditChangedCallback         ,
+#if ENABLE_OVERLOADING
+    IMContextPreeditChangedSignalInfo       ,
+#endif
+    afterIMContextPreeditChanged            ,
+    genClosure_IMContextPreeditChanged      ,
+    mk_IMContextPreeditChangedCallback      ,
+    noIMContextPreeditChangedCallback       ,
+    onIMContextPreeditChanged               ,
+    wrap_IMContextPreeditChangedCallback    ,
+
+
+-- ** preeditEnd #signal:preeditEnd#
+
+    C_IMContextPreeditEndCallback           ,
+    IMContextPreeditEndCallback             ,
+#if ENABLE_OVERLOADING
+    IMContextPreeditEndSignalInfo           ,
+#endif
+    afterIMContextPreeditEnd                ,
+    genClosure_IMContextPreeditEnd          ,
+    mk_IMContextPreeditEndCallback          ,
+    noIMContextPreeditEndCallback           ,
+    onIMContextPreeditEnd                   ,
+    wrap_IMContextPreeditEndCallback        ,
+
+
+-- ** preeditStart #signal:preeditStart#
+
+    C_IMContextPreeditStartCallback         ,
+    IMContextPreeditStartCallback           ,
+#if ENABLE_OVERLOADING
+    IMContextPreeditStartSignalInfo         ,
+#endif
+    afterIMContextPreeditStart              ,
+    genClosure_IMContextPreeditStart        ,
+    mk_IMContextPreeditStartCallback        ,
+    noIMContextPreeditStartCallback         ,
+    onIMContextPreeditStart                 ,
+    wrap_IMContextPreeditStartCallback      ,
+
+
+-- ** retrieveSurrounding #signal:retrieveSurrounding#
+
+    C_IMContextRetrieveSurroundingCallback  ,
+    IMContextRetrieveSurroundingCallback    ,
+#if ENABLE_OVERLOADING
+    IMContextRetrieveSurroundingSignalInfo  ,
+#endif
+    afterIMContextRetrieveSurrounding       ,
+    genClosure_IMContextRetrieveSurrounding ,
+    mk_IMContextRetrieveSurroundingCallback ,
+    noIMContextRetrieveSurroundingCallback  ,
+    onIMContextRetrieveSurrounding          ,
+    wrap_IMContextRetrieveSurroundingCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import qualified GI.Pango.Structs.AttrList as Pango.AttrList
+
+-- | Memory-managed wrapper type.
+newtype IMContext = IMContext (ManagedPtr IMContext)
+foreign import ccall "gtk_im_context_get_type"
+    c_gtk_im_context_get_type :: IO GType
+
+instance GObject IMContext where
+    gobjectType = c_gtk_im_context_get_type
+    
+
+-- | Type class for types which can be safely cast to `IMContext`, for instance with `toIMContext`.
+class (GObject o, O.IsDescendantOf IMContext o) => IsIMContext o
+instance (GObject o, O.IsDescendantOf IMContext o) => IsIMContext o
+
+instance O.HasParentTypes IMContext
+type instance O.ParentTypes IMContext = '[GObject.Object.Object]
+
+-- | Cast to `IMContext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toIMContext :: (MonadIO m, IsIMContext o) => o -> m IMContext
+toIMContext = liftIO . unsafeCastTo IMContext
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IMContext`.
+noIMContext :: Maybe IMContext
+noIMContext = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveIMContextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIMContextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveIMContextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveIMContextMethod "deleteSurrounding" o = IMContextDeleteSurroundingMethodInfo
+    ResolveIMContextMethod "filterKeypress" o = IMContextFilterKeypressMethodInfo
+    ResolveIMContextMethod "focusIn" o = IMContextFocusInMethodInfo
+    ResolveIMContextMethod "focusOut" o = IMContextFocusOutMethodInfo
+    ResolveIMContextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveIMContextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveIMContextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveIMContextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveIMContextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveIMContextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveIMContextMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveIMContextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveIMContextMethod "reset" o = IMContextResetMethodInfo
+    ResolveIMContextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveIMContextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveIMContextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveIMContextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveIMContextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveIMContextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveIMContextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveIMContextMethod "getPreeditString" o = IMContextGetPreeditStringMethodInfo
+    ResolveIMContextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveIMContextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveIMContextMethod "getSurrounding" o = IMContextGetSurroundingMethodInfo
+    ResolveIMContextMethod "setClientWindow" o = IMContextSetClientWindowMethodInfo
+    ResolveIMContextMethod "setCursorLocation" o = IMContextSetCursorLocationMethodInfo
+    ResolveIMContextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveIMContextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveIMContextMethod "setSurrounding" o = IMContextSetSurroundingMethodInfo
+    ResolveIMContextMethod "setUsePreedit" o = IMContextSetUsePreeditMethodInfo
+    ResolveIMContextMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIMContextMethod t IMContext, O.MethodInfo info IMContext p) => OL.IsLabel t (IMContext -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal IMContext::commit
+{- |
+The ::commit signal is emitted when a complete input sequence
+has been entered by the user. This can be a single character
+immediately after a key press or the final result of preediting.
+-}
+type IMContextCommitCallback =
+    T.Text
+    {- ^ /@str@/: the completed character(s) entered by the user -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IMContextCommitCallback`@.
+noIMContextCommitCallback :: Maybe IMContextCommitCallback
+noIMContextCommitCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IMContextCommitCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IMContextCommitCallback`.
+foreign import ccall "wrapper"
+    mk_IMContextCommitCallback :: C_IMContextCommitCallback -> IO (FunPtr C_IMContextCommitCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IMContextCommit :: MonadIO m => IMContextCommitCallback -> m (GClosure C_IMContextCommitCallback)
+genClosure_IMContextCommit cb = liftIO $ do
+    let cb' = wrap_IMContextCommitCallback cb
+    mk_IMContextCommitCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IMContextCommitCallback` into a `C_IMContextCommitCallback`.
+wrap_IMContextCommitCallback ::
+    IMContextCommitCallback ->
+    C_IMContextCommitCallback
+wrap_IMContextCommitCallback _cb _ str _ = do
+    str' <- cstringToText str
+    _cb  str'
+
+
+{- |
+Connect a signal handler for the “@commit@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iMContext #commit callback
+@
+-}
+onIMContextCommit :: (IsIMContext a, MonadIO m) => a -> IMContextCommitCallback -> m SignalHandlerId
+onIMContextCommit obj cb = liftIO $ do
+    let cb' = wrap_IMContextCommitCallback cb
+    cb'' <- mk_IMContextCommitCallback cb'
+    connectSignalFunPtr obj "commit" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@commit@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iMContext #commit callback
+@
+-}
+afterIMContextCommit :: (IsIMContext a, MonadIO m) => a -> IMContextCommitCallback -> m SignalHandlerId
+afterIMContextCommit obj cb = liftIO $ do
+    let cb' = wrap_IMContextCommitCallback cb
+    cb'' <- mk_IMContextCommitCallback cb'
+    connectSignalFunPtr obj "commit" cb'' SignalConnectAfter
+
+
+-- signal IMContext::delete-surrounding
+{- |
+The ::delete-surrounding signal is emitted when the input method
+needs to delete all or part of the context surrounding the cursor.
+-}
+type IMContextDeleteSurroundingCallback =
+    Int32
+    {- ^ /@offset@/: the character offset from the cursor position of the text
+          to be deleted. A negative value indicates a position before
+          the cursor. -}
+    -> Int32
+    {- ^ /@nChars@/: the number of characters to be deleted -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the signal was handled. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IMContextDeleteSurroundingCallback`@.
+noIMContextDeleteSurroundingCallback :: Maybe IMContextDeleteSurroundingCallback
+noIMContextDeleteSurroundingCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IMContextDeleteSurroundingCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_IMContextDeleteSurroundingCallback`.
+foreign import ccall "wrapper"
+    mk_IMContextDeleteSurroundingCallback :: C_IMContextDeleteSurroundingCallback -> IO (FunPtr C_IMContextDeleteSurroundingCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IMContextDeleteSurrounding :: MonadIO m => IMContextDeleteSurroundingCallback -> m (GClosure C_IMContextDeleteSurroundingCallback)
+genClosure_IMContextDeleteSurrounding cb = liftIO $ do
+    let cb' = wrap_IMContextDeleteSurroundingCallback cb
+    mk_IMContextDeleteSurroundingCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IMContextDeleteSurroundingCallback` into a `C_IMContextDeleteSurroundingCallback`.
+wrap_IMContextDeleteSurroundingCallback ::
+    IMContextDeleteSurroundingCallback ->
+    C_IMContextDeleteSurroundingCallback
+wrap_IMContextDeleteSurroundingCallback _cb _ offset nChars _ = do
+    result <- _cb  offset nChars
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@delete-surrounding@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iMContext #deleteSurrounding callback
+@
+-}
+onIMContextDeleteSurrounding :: (IsIMContext a, MonadIO m) => a -> IMContextDeleteSurroundingCallback -> m SignalHandlerId
+onIMContextDeleteSurrounding obj cb = liftIO $ do
+    let cb' = wrap_IMContextDeleteSurroundingCallback cb
+    cb'' <- mk_IMContextDeleteSurroundingCallback cb'
+    connectSignalFunPtr obj "delete-surrounding" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@delete-surrounding@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iMContext #deleteSurrounding callback
+@
+-}
+afterIMContextDeleteSurrounding :: (IsIMContext a, MonadIO m) => a -> IMContextDeleteSurroundingCallback -> m SignalHandlerId
+afterIMContextDeleteSurrounding obj cb = liftIO $ do
+    let cb' = wrap_IMContextDeleteSurroundingCallback cb
+    cb'' <- mk_IMContextDeleteSurroundingCallback cb'
+    connectSignalFunPtr obj "delete-surrounding" cb'' SignalConnectAfter
+
+
+-- signal IMContext::preedit-changed
+{- |
+The ::preedit-changed signal is emitted whenever the preedit sequence
+currently being entered has changed.  It is also emitted at the end of
+a preedit sequence, in which case
+'GI.Gtk.Objects.IMContext.iMContextGetPreeditString' returns the empty string.
+-}
+type IMContextPreeditChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IMContextPreeditChangedCallback`@.
+noIMContextPreeditChangedCallback :: Maybe IMContextPreeditChangedCallback
+noIMContextPreeditChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IMContextPreeditChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IMContextPreeditChangedCallback`.
+foreign import ccall "wrapper"
+    mk_IMContextPreeditChangedCallback :: C_IMContextPreeditChangedCallback -> IO (FunPtr C_IMContextPreeditChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IMContextPreeditChanged :: MonadIO m => IMContextPreeditChangedCallback -> m (GClosure C_IMContextPreeditChangedCallback)
+genClosure_IMContextPreeditChanged cb = liftIO $ do
+    let cb' = wrap_IMContextPreeditChangedCallback cb
+    mk_IMContextPreeditChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IMContextPreeditChangedCallback` into a `C_IMContextPreeditChangedCallback`.
+wrap_IMContextPreeditChangedCallback ::
+    IMContextPreeditChangedCallback ->
+    C_IMContextPreeditChangedCallback
+wrap_IMContextPreeditChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@preedit-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iMContext #preeditChanged callback
+@
+-}
+onIMContextPreeditChanged :: (IsIMContext a, MonadIO m) => a -> IMContextPreeditChangedCallback -> m SignalHandlerId
+onIMContextPreeditChanged obj cb = liftIO $ do
+    let cb' = wrap_IMContextPreeditChangedCallback cb
+    cb'' <- mk_IMContextPreeditChangedCallback cb'
+    connectSignalFunPtr obj "preedit-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@preedit-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iMContext #preeditChanged callback
+@
+-}
+afterIMContextPreeditChanged :: (IsIMContext a, MonadIO m) => a -> IMContextPreeditChangedCallback -> m SignalHandlerId
+afterIMContextPreeditChanged obj cb = liftIO $ do
+    let cb' = wrap_IMContextPreeditChangedCallback cb
+    cb'' <- mk_IMContextPreeditChangedCallback cb'
+    connectSignalFunPtr obj "preedit-changed" cb'' SignalConnectAfter
+
+
+-- signal IMContext::preedit-end
+{- |
+The ::preedit-end signal is emitted when a preediting sequence
+has been completed or canceled.
+-}
+type IMContextPreeditEndCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IMContextPreeditEndCallback`@.
+noIMContextPreeditEndCallback :: Maybe IMContextPreeditEndCallback
+noIMContextPreeditEndCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IMContextPreeditEndCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IMContextPreeditEndCallback`.
+foreign import ccall "wrapper"
+    mk_IMContextPreeditEndCallback :: C_IMContextPreeditEndCallback -> IO (FunPtr C_IMContextPreeditEndCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IMContextPreeditEnd :: MonadIO m => IMContextPreeditEndCallback -> m (GClosure C_IMContextPreeditEndCallback)
+genClosure_IMContextPreeditEnd cb = liftIO $ do
+    let cb' = wrap_IMContextPreeditEndCallback cb
+    mk_IMContextPreeditEndCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IMContextPreeditEndCallback` into a `C_IMContextPreeditEndCallback`.
+wrap_IMContextPreeditEndCallback ::
+    IMContextPreeditEndCallback ->
+    C_IMContextPreeditEndCallback
+wrap_IMContextPreeditEndCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@preedit-end@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iMContext #preeditEnd callback
+@
+-}
+onIMContextPreeditEnd :: (IsIMContext a, MonadIO m) => a -> IMContextPreeditEndCallback -> m SignalHandlerId
+onIMContextPreeditEnd obj cb = liftIO $ do
+    let cb' = wrap_IMContextPreeditEndCallback cb
+    cb'' <- mk_IMContextPreeditEndCallback cb'
+    connectSignalFunPtr obj "preedit-end" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@preedit-end@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iMContext #preeditEnd callback
+@
+-}
+afterIMContextPreeditEnd :: (IsIMContext a, MonadIO m) => a -> IMContextPreeditEndCallback -> m SignalHandlerId
+afterIMContextPreeditEnd obj cb = liftIO $ do
+    let cb' = wrap_IMContextPreeditEndCallback cb
+    cb'' <- mk_IMContextPreeditEndCallback cb'
+    connectSignalFunPtr obj "preedit-end" cb'' SignalConnectAfter
+
+
+-- signal IMContext::preedit-start
+{- |
+The ::preedit-start signal is emitted when a new preediting sequence
+starts.
+-}
+type IMContextPreeditStartCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IMContextPreeditStartCallback`@.
+noIMContextPreeditStartCallback :: Maybe IMContextPreeditStartCallback
+noIMContextPreeditStartCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IMContextPreeditStartCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IMContextPreeditStartCallback`.
+foreign import ccall "wrapper"
+    mk_IMContextPreeditStartCallback :: C_IMContextPreeditStartCallback -> IO (FunPtr C_IMContextPreeditStartCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IMContextPreeditStart :: MonadIO m => IMContextPreeditStartCallback -> m (GClosure C_IMContextPreeditStartCallback)
+genClosure_IMContextPreeditStart cb = liftIO $ do
+    let cb' = wrap_IMContextPreeditStartCallback cb
+    mk_IMContextPreeditStartCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IMContextPreeditStartCallback` into a `C_IMContextPreeditStartCallback`.
+wrap_IMContextPreeditStartCallback ::
+    IMContextPreeditStartCallback ->
+    C_IMContextPreeditStartCallback
+wrap_IMContextPreeditStartCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@preedit-start@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iMContext #preeditStart callback
+@
+-}
+onIMContextPreeditStart :: (IsIMContext a, MonadIO m) => a -> IMContextPreeditStartCallback -> m SignalHandlerId
+onIMContextPreeditStart obj cb = liftIO $ do
+    let cb' = wrap_IMContextPreeditStartCallback cb
+    cb'' <- mk_IMContextPreeditStartCallback cb'
+    connectSignalFunPtr obj "preedit-start" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@preedit-start@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iMContext #preeditStart callback
+@
+-}
+afterIMContextPreeditStart :: (IsIMContext a, MonadIO m) => a -> IMContextPreeditStartCallback -> m SignalHandlerId
+afterIMContextPreeditStart obj cb = liftIO $ do
+    let cb' = wrap_IMContextPreeditStartCallback cb
+    cb'' <- mk_IMContextPreeditStartCallback cb'
+    connectSignalFunPtr obj "preedit-start" cb'' SignalConnectAfter
+
+
+-- signal IMContext::retrieve-surrounding
+{- |
+The ::retrieve-surrounding signal is emitted when the input method
+requires the context surrounding the cursor.  The callback should set
+the input method surrounding context by calling the
+'GI.Gtk.Objects.IMContext.iMContextSetSurrounding' method.
+-}
+type IMContextRetrieveSurroundingCallback =
+    IO Bool
+    {- ^ __Returns:__ 'True' if the signal was handled. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IMContextRetrieveSurroundingCallback`@.
+noIMContextRetrieveSurroundingCallback :: Maybe IMContextRetrieveSurroundingCallback
+noIMContextRetrieveSurroundingCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IMContextRetrieveSurroundingCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_IMContextRetrieveSurroundingCallback`.
+foreign import ccall "wrapper"
+    mk_IMContextRetrieveSurroundingCallback :: C_IMContextRetrieveSurroundingCallback -> IO (FunPtr C_IMContextRetrieveSurroundingCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IMContextRetrieveSurrounding :: MonadIO m => IMContextRetrieveSurroundingCallback -> m (GClosure C_IMContextRetrieveSurroundingCallback)
+genClosure_IMContextRetrieveSurrounding cb = liftIO $ do
+    let cb' = wrap_IMContextRetrieveSurroundingCallback cb
+    mk_IMContextRetrieveSurroundingCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IMContextRetrieveSurroundingCallback` into a `C_IMContextRetrieveSurroundingCallback`.
+wrap_IMContextRetrieveSurroundingCallback ::
+    IMContextRetrieveSurroundingCallback ->
+    C_IMContextRetrieveSurroundingCallback
+wrap_IMContextRetrieveSurroundingCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@retrieve-surrounding@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iMContext #retrieveSurrounding callback
+@
+-}
+onIMContextRetrieveSurrounding :: (IsIMContext a, MonadIO m) => a -> IMContextRetrieveSurroundingCallback -> m SignalHandlerId
+onIMContextRetrieveSurrounding obj cb = liftIO $ do
+    let cb' = wrap_IMContextRetrieveSurroundingCallback cb
+    cb'' <- mk_IMContextRetrieveSurroundingCallback cb'
+    connectSignalFunPtr obj "retrieve-surrounding" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@retrieve-surrounding@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iMContext #retrieveSurrounding callback
+@
+-}
+afterIMContextRetrieveSurrounding :: (IsIMContext a, MonadIO m) => a -> IMContextRetrieveSurroundingCallback -> m SignalHandlerId
+afterIMContextRetrieveSurrounding obj cb = liftIO $ do
+    let cb' = wrap_IMContextRetrieveSurroundingCallback cb
+    cb'' <- mk_IMContextRetrieveSurroundingCallback cb'
+    connectSignalFunPtr obj "retrieve-surrounding" cb'' SignalConnectAfter
+
+
+-- VVV Prop "input-hints"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "InputHints"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@input-hints@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iMContext #inputHints
+@
+-}
+getIMContextInputHints :: (MonadIO m, IsIMContext o) => o -> m [Gtk.Flags.InputHints]
+getIMContextInputHints obj = liftIO $ B.Properties.getObjectPropertyFlags obj "input-hints"
+
+{- |
+Set the value of the “@input-hints@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iMContext [ #inputHints 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIMContextInputHints :: (MonadIO m, IsIMContext o) => o -> [Gtk.Flags.InputHints] -> m ()
+setIMContextInputHints obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "input-hints" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@input-hints@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIMContextInputHints :: (IsIMContext o) => [Gtk.Flags.InputHints] -> IO (GValueConstruct o)
+constructIMContextInputHints val = B.Properties.constructObjectPropertyFlags "input-hints" val
+
+#if ENABLE_OVERLOADING
+data IMContextInputHintsPropertyInfo
+instance AttrInfo IMContextInputHintsPropertyInfo where
+    type AttrAllowedOps IMContextInputHintsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IMContextInputHintsPropertyInfo = (~) [Gtk.Flags.InputHints]
+    type AttrBaseTypeConstraint IMContextInputHintsPropertyInfo = IsIMContext
+    type AttrGetType IMContextInputHintsPropertyInfo = [Gtk.Flags.InputHints]
+    type AttrLabel IMContextInputHintsPropertyInfo = "input-hints"
+    type AttrOrigin IMContextInputHintsPropertyInfo = IMContext
+    attrGet _ = getIMContextInputHints
+    attrSet _ = setIMContextInputHints
+    attrConstruct _ = constructIMContextInputHints
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "input-purpose"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "InputPurpose"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@input-purpose@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iMContext #inputPurpose
+@
+-}
+getIMContextInputPurpose :: (MonadIO m, IsIMContext o) => o -> m Gtk.Enums.InputPurpose
+getIMContextInputPurpose obj = liftIO $ B.Properties.getObjectPropertyEnum obj "input-purpose"
+
+{- |
+Set the value of the “@input-purpose@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iMContext [ #inputPurpose 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIMContextInputPurpose :: (MonadIO m, IsIMContext o) => o -> Gtk.Enums.InputPurpose -> m ()
+setIMContextInputPurpose obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "input-purpose" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@input-purpose@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIMContextInputPurpose :: (IsIMContext o) => Gtk.Enums.InputPurpose -> IO (GValueConstruct o)
+constructIMContextInputPurpose val = B.Properties.constructObjectPropertyEnum "input-purpose" val
+
+#if ENABLE_OVERLOADING
+data IMContextInputPurposePropertyInfo
+instance AttrInfo IMContextInputPurposePropertyInfo where
+    type AttrAllowedOps IMContextInputPurposePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IMContextInputPurposePropertyInfo = (~) Gtk.Enums.InputPurpose
+    type AttrBaseTypeConstraint IMContextInputPurposePropertyInfo = IsIMContext
+    type AttrGetType IMContextInputPurposePropertyInfo = Gtk.Enums.InputPurpose
+    type AttrLabel IMContextInputPurposePropertyInfo = "input-purpose"
+    type AttrOrigin IMContextInputPurposePropertyInfo = IMContext
+    attrGet _ = getIMContextInputPurpose
+    attrSet _ = setIMContextInputPurpose
+    attrConstruct _ = constructIMContextInputPurpose
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IMContext
+type instance O.AttributeList IMContext = IMContextAttributeList
+type IMContextAttributeList = ('[ '("inputHints", IMContextInputHintsPropertyInfo), '("inputPurpose", IMContextInputPurposePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+iMContextInputHints :: AttrLabelProxy "inputHints"
+iMContextInputHints = AttrLabelProxy
+
+iMContextInputPurpose :: AttrLabelProxy "inputPurpose"
+iMContextInputPurpose = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data IMContextCommitSignalInfo
+instance SignalInfo IMContextCommitSignalInfo where
+    type HaskellCallbackType IMContextCommitSignalInfo = IMContextCommitCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IMContextCommitCallback cb
+        cb'' <- mk_IMContextCommitCallback cb'
+        connectSignalFunPtr obj "commit" cb'' connectMode
+
+data IMContextDeleteSurroundingSignalInfo
+instance SignalInfo IMContextDeleteSurroundingSignalInfo where
+    type HaskellCallbackType IMContextDeleteSurroundingSignalInfo = IMContextDeleteSurroundingCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IMContextDeleteSurroundingCallback cb
+        cb'' <- mk_IMContextDeleteSurroundingCallback cb'
+        connectSignalFunPtr obj "delete-surrounding" cb'' connectMode
+
+data IMContextPreeditChangedSignalInfo
+instance SignalInfo IMContextPreeditChangedSignalInfo where
+    type HaskellCallbackType IMContextPreeditChangedSignalInfo = IMContextPreeditChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IMContextPreeditChangedCallback cb
+        cb'' <- mk_IMContextPreeditChangedCallback cb'
+        connectSignalFunPtr obj "preedit-changed" cb'' connectMode
+
+data IMContextPreeditEndSignalInfo
+instance SignalInfo IMContextPreeditEndSignalInfo where
+    type HaskellCallbackType IMContextPreeditEndSignalInfo = IMContextPreeditEndCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IMContextPreeditEndCallback cb
+        cb'' <- mk_IMContextPreeditEndCallback cb'
+        connectSignalFunPtr obj "preedit-end" cb'' connectMode
+
+data IMContextPreeditStartSignalInfo
+instance SignalInfo IMContextPreeditStartSignalInfo where
+    type HaskellCallbackType IMContextPreeditStartSignalInfo = IMContextPreeditStartCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IMContextPreeditStartCallback cb
+        cb'' <- mk_IMContextPreeditStartCallback cb'
+        connectSignalFunPtr obj "preedit-start" cb'' connectMode
+
+data IMContextRetrieveSurroundingSignalInfo
+instance SignalInfo IMContextRetrieveSurroundingSignalInfo where
+    type HaskellCallbackType IMContextRetrieveSurroundingSignalInfo = IMContextRetrieveSurroundingCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IMContextRetrieveSurroundingCallback cb
+        cb'' <- mk_IMContextRetrieveSurroundingCallback cb'
+        connectSignalFunPtr obj "retrieve-surrounding" cb'' connectMode
+
+type instance O.SignalList IMContext = IMContextSignalList
+type IMContextSignalList = ('[ '("commit", IMContextCommitSignalInfo), '("deleteSurrounding", IMContextDeleteSurroundingSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("preeditChanged", IMContextPreeditChangedSignalInfo), '("preeditEnd", IMContextPreeditEndSignalInfo), '("preeditStart", IMContextPreeditStartSignalInfo), '("retrieveSurrounding", IMContextRetrieveSurroundingSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method IMContext::delete_surrounding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "offset from cursor position in chars;\n   a negative value means start before the cursor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters to delete.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_delete_surrounding" gtk_im_context_delete_surrounding :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    Int32 ->                                -- offset : TBasicType TInt
+    Int32 ->                                -- n_chars : TBasicType TInt
+    IO CInt
+
+{- |
+Asks the widget that the input context is attached to to delete
+characters around the cursor position by emitting the
+GtkIMContext::delete_surrounding signal. Note that /@offset@/ and /@nChars@/
+are in characters not in bytes which differs from the usage other
+places in 'GI.Gtk.Objects.IMContext.IMContext'.
+
+In order to use this function, you should first call
+'GI.Gtk.Objects.IMContext.iMContextGetSurrounding' to get the current context, and
+call this function immediately afterwards to make sure that you
+know what you are deleting. You should also account for the fact
+that even if the signal was handled, the input context might not
+have deleted all the characters that were requested to be deleted.
+
+This function is used by an input method that wants to make
+subsitutions in the existing text in response to new input. It is
+not useful for applications.
+-}
+iMContextDeleteSurrounding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> Int32
+    {- ^ /@offset@/: offset from cursor position in chars;
+   a negative value means start before the cursor. -}
+    -> Int32
+    {- ^ /@nChars@/: number of characters to delete. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the signal was handled. -}
+iMContextDeleteSurrounding context offset nChars = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_im_context_delete_surrounding context' offset nChars
+    let result' = (/= 0) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data IMContextDeleteSurroundingMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Bool), MonadIO m, IsIMContext a) => O.MethodInfo IMContextDeleteSurroundingMethodInfo a signature where
+    overloadedMethod _ = iMContextDeleteSurrounding
+
+#endif
+
+-- method IMContext::filter_keypress
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_filter_keypress" gtk_im_context_filter_keypress :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    Ptr Gdk.EventKey.EventKey ->            -- event : TInterface (Name {namespace = "Gdk", name = "EventKey"})
+    IO CInt
+
+{- |
+Allow an input method to internally handle key press and release
+events. If this function returns 'True', then no further processing
+should be done for this key event.
+-}
+iMContextFilterKeypress ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> Gdk.EventKey.EventKey
+    {- ^ /@event@/: the key event -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the input method handled the key event. -}
+iMContextFilterKeypress context event = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_im_context_filter_keypress context' event'
+    let result' = (/= 0) result
+    touchManagedPtr context
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data IMContextFilterKeypressMethodInfo
+instance (signature ~ (Gdk.EventKey.EventKey -> m Bool), MonadIO m, IsIMContext a) => O.MethodInfo IMContextFilterKeypressMethodInfo a signature where
+    overloadedMethod _ = iMContextFilterKeypress
+
+#endif
+
+-- method IMContext::focus_in
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_focus_in" gtk_im_context_focus_in :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    IO ()
+
+{- |
+Notify the input method that the widget to which this
+input context corresponds has gained focus. The input method
+may, for example, change the displayed feedback to reflect
+this change.
+-}
+iMContextFocusIn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> m ()
+iMContextFocusIn context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_im_context_focus_in context'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMContextFocusInMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsIMContext a) => O.MethodInfo IMContextFocusInMethodInfo a signature where
+    overloadedMethod _ = iMContextFocusIn
+
+#endif
+
+-- method IMContext::focus_out
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_focus_out" gtk_im_context_focus_out :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    IO ()
+
+{- |
+Notify the input method that the widget to which this
+input context corresponds has lost focus. The input method
+may, for example, change the displayed feedback or reset the contexts
+state to reflect this change.
+-}
+iMContextFocusOut ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> m ()
+iMContextFocusOut context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_im_context_focus_out context'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMContextFocusOutMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsIMContext a) => O.MethodInfo IMContextFocusOutMethodInfo a signature where
+    overloadedMethod _ = iMContextFocusOut
+
+#endif
+
+-- method IMContext::get_preedit_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the retrieved\n             string. The string retrieved must be freed with g_free().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "attrs", argType = TInterface (Name {namespace = "Pango", name = "AttrList"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the retrieved\n             attribute list.  When you are done with this list, you\n             must unreference it with pango_attr_list_unref().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cursor_pos", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store position of cursor (in characters)\n             within the preedit string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_get_preedit_string" gtk_im_context_get_preedit_string :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    Ptr CString ->                          -- str : TBasicType TUTF8
+    Ptr (Ptr Pango.AttrList.AttrList) ->    -- attrs : TInterface (Name {namespace = "Pango", name = "AttrList"})
+    Ptr Int32 ->                            -- cursor_pos : TBasicType TInt
+    IO ()
+
+{- |
+Retrieve the current preedit string for the input context,
+and a list of attributes to apply to the string.
+This string should be displayed inserted at the insertion
+point.
+-}
+iMContextGetPreeditString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> m ((T.Text, Pango.AttrList.AttrList, Int32))
+iMContextGetPreeditString context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    str <- allocMem :: IO (Ptr CString)
+    attrs <- allocMem :: IO (Ptr (Ptr Pango.AttrList.AttrList))
+    cursorPos <- allocMem :: IO (Ptr Int32)
+    gtk_im_context_get_preedit_string context' str attrs cursorPos
+    str' <- peek str
+    str'' <- cstringToText str'
+    freeMem str'
+    attrs' <- peek attrs
+    attrs'' <- (wrapBoxed Pango.AttrList.AttrList) attrs'
+    cursorPos' <- peek cursorPos
+    touchManagedPtr context
+    freeMem str
+    freeMem attrs
+    freeMem cursorPos
+    return (str'', attrs'', cursorPos')
+
+#if ENABLE_OVERLOADING
+data IMContextGetPreeditStringMethodInfo
+instance (signature ~ (m ((T.Text, Pango.AttrList.AttrList, Int32))), MonadIO m, IsIMContext a) => O.MethodInfo IMContextGetPreeditStringMethodInfo a signature where
+    overloadedMethod _ = iMContextGetPreeditString
+
+#endif
+
+-- method IMContext::get_surrounding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store a UTF-8 encoded\n       string of text holding context around the insertion point.\n       If the function returns %TRUE, then you must free the result\n       stored in this location with g_free().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cursor_index", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store byte index of the insertion\n       cursor within @text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_get_surrounding" gtk_im_context_get_surrounding :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    Ptr CString ->                          -- text : TBasicType TUTF8
+    Ptr Int32 ->                            -- cursor_index : TBasicType TInt
+    IO CInt
+
+{- |
+Retrieves context around the insertion point. Input methods
+typically want context in order to constrain input text based on
+existing text; this is important for languages such as Thai where
+only some sequences of characters are allowed.
+
+This function is implemented by emitting the
+GtkIMContext::retrieve_surrounding signal on the input method; in
+response to this signal, a widget should provide as much context as
+is available, up to an entire paragraph, by calling
+'GI.Gtk.Objects.IMContext.iMContextSetSurrounding'. Note that there is no obligation
+for a widget to respond to the ::retrieve_surrounding signal, so input
+methods must be prepared to function without context.
+-}
+iMContextGetSurrounding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> m ((Bool, T.Text, Int32))
+    {- ^ __Returns:__ 'True' if surrounding text was provided; in this case
+   you must free the result stored in *text. -}
+iMContextGetSurrounding context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    text <- allocMem :: IO (Ptr CString)
+    cursorIndex <- allocMem :: IO (Ptr Int32)
+    result <- gtk_im_context_get_surrounding context' text cursorIndex
+    let result' = (/= 0) result
+    text' <- peek text
+    text'' <- cstringToText text'
+    freeMem text'
+    cursorIndex' <- peek cursorIndex
+    touchManagedPtr context
+    freeMem text
+    freeMem cursorIndex
+    return (result', text'', cursorIndex')
+
+#if ENABLE_OVERLOADING
+data IMContextGetSurroundingMethodInfo
+instance (signature ~ (m ((Bool, T.Text, Int32))), MonadIO m, IsIMContext a) => O.MethodInfo IMContextGetSurroundingMethodInfo a signature where
+    overloadedMethod _ = iMContextGetSurrounding
+
+#endif
+
+-- method IMContext::reset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_reset" gtk_im_context_reset :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    IO ()
+
+{- |
+Notify the input method that a change such as a change in cursor
+position has been made. This will typically cause the input
+method to clear the preedit state.
+-}
+iMContextReset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> m ()
+iMContextReset context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_im_context_reset context'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMContextResetMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsIMContext a) => O.MethodInfo IMContextResetMethodInfo a signature where
+    overloadedMethod _ = iMContextReset
+
+#endif
+
+-- method IMContext::set_client_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the client window. This may be %NULL to indicate\n          that the previous client window no longer exists.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_set_client_window" gtk_im_context_set_client_window :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO ()
+
+{- |
+Set the client window for the input context; this is the
+'GI.Gdk.Objects.Window.Window' in which the input appears. This window is
+used in order to correctly position status windows, and may
+also be used for purposes internal to the input method.
+-}
+iMContextSetClientWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> Maybe (b)
+    {- ^ /@window@/: the client window. This may be 'Nothing' to indicate
+          that the previous client window no longer exists. -}
+    -> m ()
+iMContextSetClientWindow context window = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    maybeWindow <- case window of
+        Nothing -> return nullPtr
+        Just jWindow -> do
+            jWindow' <- unsafeManagedPtrCastPtr jWindow
+            return jWindow'
+    gtk_im_context_set_client_window context' maybeWindow
+    touchManagedPtr context
+    whenJust window touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMContextSetClientWindowMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsIMContext a, Gdk.Window.IsWindow b) => O.MethodInfo IMContextSetClientWindowMethodInfo a signature where
+    overloadedMethod _ = iMContextSetClientWindow
+
+#endif
+
+-- method IMContext::set_cursor_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new location", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_set_cursor_location" gtk_im_context_set_cursor_location :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Notify the input method that a change in cursor
+position has been made. The location is relative to the client
+window.
+-}
+iMContextSetCursorLocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@area@/: new location -}
+    -> m ()
+iMContextSetCursorLocation context area = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    area' <- unsafeManagedPtrGetPtr area
+    gtk_im_context_set_cursor_location context' area'
+    touchManagedPtr context
+    touchManagedPtr area
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMContextSetCursorLocationMethodInfo
+instance (signature ~ (Gdk.Rectangle.Rectangle -> m ()), MonadIO m, IsIMContext a) => O.MethodInfo IMContextSetCursorLocationMethodInfo a signature where
+    overloadedMethod _ = iMContextSetCursorLocation
+
+#endif
+
+-- method IMContext::set_surrounding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text surrounding the insertion point, as UTF-8.\n       the preedit string should not be included within\n       @text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @text, or -1 if @text is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor_index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the byte index of the insertion cursor within @text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_set_surrounding" gtk_im_context_set_surrounding :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    CString ->                              -- text : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt
+    Int32 ->                                -- cursor_index : TBasicType TInt
+    IO ()
+
+{- |
+Sets surrounding context around the insertion point and preedit
+string. This function is expected to be called in response to the
+GtkIMContext::retrieve_surrounding signal, and will likely have no
+effect if called at other times.
+-}
+iMContextSetSurrounding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> T.Text
+    {- ^ /@text@/: text surrounding the insertion point, as UTF-8.
+       the preedit string should not be included within
+       /@text@/. -}
+    -> Int32
+    {- ^ /@len@/: the length of /@text@/, or -1 if /@text@/ is nul-terminated -}
+    -> Int32
+    {- ^ /@cursorIndex@/: the byte index of the insertion cursor within /@text@/. -}
+    -> m ()
+iMContextSetSurrounding context text len cursorIndex = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    text' <- textToCString text
+    gtk_im_context_set_surrounding context' text' len cursorIndex
+    touchManagedPtr context
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMContextSetSurroundingMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Int32 -> m ()), MonadIO m, IsIMContext a) => O.MethodInfo IMContextSetSurroundingMethodInfo a signature where
+    overloadedMethod _ = iMContextSetSurrounding
+
+#endif
+
+-- method IMContext::set_use_preedit
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_preedit", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the IM context should use the preedit string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_set_use_preedit" gtk_im_context_set_use_preedit :: 
+    Ptr IMContext ->                        -- context : TInterface (Name {namespace = "Gtk", name = "IMContext"})
+    CInt ->                                 -- use_preedit : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the IM context should use the preedit string
+to display feedback. If /@usePreedit@/ is FALSE (default
+is TRUE), then the IM context may use some other method to display
+feedback, such as displaying it in a child of the root window.
+-}
+iMContextSetUsePreedit ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMContext.IMContext' -}
+    -> Bool
+    {- ^ /@usePreedit@/: whether the IM context should use the preedit string. -}
+    -> m ()
+iMContextSetUsePreedit context usePreedit = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let usePreedit' = (fromIntegral . fromEnum) usePreedit
+    gtk_im_context_set_use_preedit context' usePreedit'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMContextSetUsePreeditMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsIMContext a) => O.MethodInfo IMContextSetUsePreeditMethodInfo a signature where
+    overloadedMethod _ = iMContextSetUsePreedit
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/IMContext.hs-boot b/GI/Gtk/Objects/IMContext.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IMContext.hs-boot
@@ -0,0 +1,86 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.IMContext where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IMContext = IMContext (ManagedPtr IMContext)
+instance GObject IMContext where
+class (GObject o, O.IsDescendantOf IMContext o) => IsIMContext o
+instance (GObject o, O.IsDescendantOf IMContext o) => IsIMContext o
+instance O.HasParentTypes IMContext
+#if ENABLE_OVERLOADING
+data IMContextInputHintsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextInputPurposePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextCommitSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextDeleteSurroundingSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextPreeditChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextPreeditEndSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextPreeditStartSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextRetrieveSurroundingSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextDeleteSurroundingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextFilterKeypressMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextFocusInMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextFocusOutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextGetPreeditStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextGetSurroundingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextResetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextSetClientWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextSetCursorLocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextSetSurroundingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMContextSetUsePreeditMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/IMContextSimple.hs b/GI/Gtk/Objects/IMContextSimple.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IMContextSimple.hs
@@ -0,0 +1,226 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkIMContextSimple is a simple input method context supporting table-based
+input methods. It has a built-in table of compose sequences that is derived
+from the X11 Compose files.
+
+GtkIMContextSimple reads additional compose sequences from the first of the
+following files that is found: ~\/.config\/gtk-3.0\/Compose, ~\/.XCompose,
+\/usr\/share\/X11\/locale\/$locale\/Compose (for locales that have a nontrivial
+Compose file). The syntax of these files is described in the Compose(5)
+manual page.
+
+GtkIMContextSimple also supports numeric entry of Unicode characters
+by typing Ctrl-Shift-u, followed by a hexadecimal Unicode codepoint.
+For example, Ctrl-Shift-u 1 2 3 Enter yields U+0123 LATIN SMALL LETTER
+G WITH CEDILLA, i.e. ģ.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.IMContextSimple
+    ( 
+
+-- * Exported types
+    IMContextSimple(..)                     ,
+    IsIMContextSimple                       ,
+    toIMContextSimple                       ,
+    noIMContextSimple                       ,
+
+
+ -- * Methods
+-- ** addComposeFile #method:addComposeFile#
+
+#if ENABLE_OVERLOADING
+    IMContextSimpleAddComposeFileMethodInfo ,
+#endif
+    iMContextSimpleAddComposeFile           ,
+
+
+-- ** new #method:new#
+
+    iMContextSimpleNew                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.IMContext as Gtk.IMContext
+
+-- | Memory-managed wrapper type.
+newtype IMContextSimple = IMContextSimple (ManagedPtr IMContextSimple)
+foreign import ccall "gtk_im_context_simple_get_type"
+    c_gtk_im_context_simple_get_type :: IO GType
+
+instance GObject IMContextSimple where
+    gobjectType = c_gtk_im_context_simple_get_type
+    
+
+-- | Type class for types which can be safely cast to `IMContextSimple`, for instance with `toIMContextSimple`.
+class (GObject o, O.IsDescendantOf IMContextSimple o) => IsIMContextSimple o
+instance (GObject o, O.IsDescendantOf IMContextSimple o) => IsIMContextSimple o
+
+instance O.HasParentTypes IMContextSimple
+type instance O.ParentTypes IMContextSimple = '[Gtk.IMContext.IMContext, GObject.Object.Object]
+
+-- | Cast to `IMContextSimple`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toIMContextSimple :: (MonadIO m, IsIMContextSimple o) => o -> m IMContextSimple
+toIMContextSimple = liftIO . unsafeCastTo IMContextSimple
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IMContextSimple`.
+noIMContextSimple :: Maybe IMContextSimple
+noIMContextSimple = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveIMContextSimpleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIMContextSimpleMethod "addComposeFile" o = IMContextSimpleAddComposeFileMethodInfo
+    ResolveIMContextSimpleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveIMContextSimpleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveIMContextSimpleMethod "deleteSurrounding" o = Gtk.IMContext.IMContextDeleteSurroundingMethodInfo
+    ResolveIMContextSimpleMethod "filterKeypress" o = Gtk.IMContext.IMContextFilterKeypressMethodInfo
+    ResolveIMContextSimpleMethod "focusIn" o = Gtk.IMContext.IMContextFocusInMethodInfo
+    ResolveIMContextSimpleMethod "focusOut" o = Gtk.IMContext.IMContextFocusOutMethodInfo
+    ResolveIMContextSimpleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveIMContextSimpleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveIMContextSimpleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveIMContextSimpleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveIMContextSimpleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveIMContextSimpleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveIMContextSimpleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveIMContextSimpleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveIMContextSimpleMethod "reset" o = Gtk.IMContext.IMContextResetMethodInfo
+    ResolveIMContextSimpleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveIMContextSimpleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveIMContextSimpleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveIMContextSimpleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveIMContextSimpleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveIMContextSimpleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveIMContextSimpleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveIMContextSimpleMethod "getPreeditString" o = Gtk.IMContext.IMContextGetPreeditStringMethodInfo
+    ResolveIMContextSimpleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveIMContextSimpleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveIMContextSimpleMethod "getSurrounding" o = Gtk.IMContext.IMContextGetSurroundingMethodInfo
+    ResolveIMContextSimpleMethod "setClientWindow" o = Gtk.IMContext.IMContextSetClientWindowMethodInfo
+    ResolveIMContextSimpleMethod "setCursorLocation" o = Gtk.IMContext.IMContextSetCursorLocationMethodInfo
+    ResolveIMContextSimpleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveIMContextSimpleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveIMContextSimpleMethod "setSurrounding" o = Gtk.IMContext.IMContextSetSurroundingMethodInfo
+    ResolveIMContextSimpleMethod "setUsePreedit" o = Gtk.IMContext.IMContextSetUsePreeditMethodInfo
+    ResolveIMContextSimpleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIMContextSimpleMethod t IMContextSimple, O.MethodInfo info IMContextSimple p) => OL.IsLabel t (IMContextSimple -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IMContextSimple
+type instance O.AttributeList IMContextSimple = IMContextSimpleAttributeList
+type IMContextSimpleAttributeList = ('[ '("inputHints", Gtk.IMContext.IMContextInputHintsPropertyInfo), '("inputPurpose", Gtk.IMContext.IMContextInputPurposePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList IMContextSimple = IMContextSimpleSignalList
+type IMContextSimpleSignalList = ('[ '("commit", Gtk.IMContext.IMContextCommitSignalInfo), '("deleteSurrounding", Gtk.IMContext.IMContextDeleteSurroundingSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("preeditChanged", Gtk.IMContext.IMContextPreeditChangedSignalInfo), '("preeditEnd", Gtk.IMContext.IMContextPreeditEndSignalInfo), '("preeditStart", Gtk.IMContext.IMContextPreeditStartSignalInfo), '("retrieveSurrounding", Gtk.IMContext.IMContextRetrieveSurroundingSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method IMContextSimple::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IMContextSimple"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_simple_new" gtk_im_context_simple_new :: 
+    IO (Ptr IMContextSimple)
+
+{- |
+Creates a new 'GI.Gtk.Objects.IMContextSimple.IMContextSimple'.
+-}
+iMContextSimpleNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m IMContextSimple
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.IMContextSimple.IMContextSimple'. -}
+iMContextSimpleNew  = liftIO $ do
+    result <- gtk_im_context_simple_new
+    checkUnexpectedReturnNULL "iMContextSimpleNew" result
+    result' <- (wrapObject IMContextSimple) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IMContextSimple::add_compose_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context_simple", argType = TInterface (Name {namespace = "Gtk", name = "IMContextSimple"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compose_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_context_simple_add_compose_file" gtk_im_context_simple_add_compose_file :: 
+    Ptr IMContextSimple ->                  -- context_simple : TInterface (Name {namespace = "Gtk", name = "IMContextSimple"})
+    CString ->                              -- compose_file : TBasicType TUTF8
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+iMContextSimpleAddComposeFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMContextSimple a) =>
+    a
+    -> T.Text
+    -> m ()
+iMContextSimpleAddComposeFile contextSimple composeFile = liftIO $ do
+    contextSimple' <- unsafeManagedPtrCastPtr contextSimple
+    composeFile' <- textToCString composeFile
+    gtk_im_context_simple_add_compose_file contextSimple' composeFile'
+    touchManagedPtr contextSimple
+    freeMem composeFile'
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMContextSimpleAddComposeFileMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsIMContextSimple a) => O.MethodInfo IMContextSimpleAddComposeFileMethodInfo a signature where
+    overloadedMethod _ = iMContextSimpleAddComposeFile
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/IMContextSimple.hs-boot b/GI/Gtk/Objects/IMContextSimple.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IMContextSimple.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.IMContextSimple where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IMContextSimple = IMContextSimple (ManagedPtr IMContextSimple)
+instance GObject IMContextSimple where
+class (GObject o, O.IsDescendantOf IMContextSimple o) => IsIMContextSimple o
+instance (GObject o, O.IsDescendantOf IMContextSimple o) => IsIMContextSimple o
+instance O.HasParentTypes IMContextSimple
+#if ENABLE_OVERLOADING
+data IMContextSimpleAddComposeFileMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/IMMulticontext.hs b/GI/Gtk/Objects/IMMulticontext.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IMMulticontext.hs
@@ -0,0 +1,318 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.IMMulticontext
+    ( 
+
+-- * Exported types
+    IMMulticontext(..)                      ,
+    IsIMMulticontext                        ,
+    toIMMulticontext                        ,
+    noIMMulticontext                        ,
+
+
+ -- * Methods
+-- ** appendMenuitems #method:appendMenuitems#
+
+#if ENABLE_OVERLOADING
+    IMMulticontextAppendMenuitemsMethodInfo ,
+#endif
+    iMMulticontextAppendMenuitems           ,
+
+
+-- ** getContextId #method:getContextId#
+
+#if ENABLE_OVERLOADING
+    IMMulticontextGetContextIdMethodInfo    ,
+#endif
+    iMMulticontextGetContextId              ,
+
+
+-- ** new #method:new#
+
+    iMMulticontextNew                       ,
+
+
+-- ** setContextId #method:setContextId#
+
+#if ENABLE_OVERLOADING
+    IMMulticontextSetContextIdMethodInfo    ,
+#endif
+    iMMulticontextSetContextId              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.IMContext as Gtk.IMContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuShell as Gtk.MenuShell
+
+-- | Memory-managed wrapper type.
+newtype IMMulticontext = IMMulticontext (ManagedPtr IMMulticontext)
+foreign import ccall "gtk_im_multicontext_get_type"
+    c_gtk_im_multicontext_get_type :: IO GType
+
+instance GObject IMMulticontext where
+    gobjectType = c_gtk_im_multicontext_get_type
+    
+
+-- | Type class for types which can be safely cast to `IMMulticontext`, for instance with `toIMMulticontext`.
+class (GObject o, O.IsDescendantOf IMMulticontext o) => IsIMMulticontext o
+instance (GObject o, O.IsDescendantOf IMMulticontext o) => IsIMMulticontext o
+
+instance O.HasParentTypes IMMulticontext
+type instance O.ParentTypes IMMulticontext = '[Gtk.IMContext.IMContext, GObject.Object.Object]
+
+-- | Cast to `IMMulticontext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toIMMulticontext :: (MonadIO m, IsIMMulticontext o) => o -> m IMMulticontext
+toIMMulticontext = liftIO . unsafeCastTo IMMulticontext
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IMMulticontext`.
+noIMMulticontext :: Maybe IMMulticontext
+noIMMulticontext = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveIMMulticontextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIMMulticontextMethod "appendMenuitems" o = IMMulticontextAppendMenuitemsMethodInfo
+    ResolveIMMulticontextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveIMMulticontextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveIMMulticontextMethod "deleteSurrounding" o = Gtk.IMContext.IMContextDeleteSurroundingMethodInfo
+    ResolveIMMulticontextMethod "filterKeypress" o = Gtk.IMContext.IMContextFilterKeypressMethodInfo
+    ResolveIMMulticontextMethod "focusIn" o = Gtk.IMContext.IMContextFocusInMethodInfo
+    ResolveIMMulticontextMethod "focusOut" o = Gtk.IMContext.IMContextFocusOutMethodInfo
+    ResolveIMMulticontextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveIMMulticontextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveIMMulticontextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveIMMulticontextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveIMMulticontextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveIMMulticontextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveIMMulticontextMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveIMMulticontextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveIMMulticontextMethod "reset" o = Gtk.IMContext.IMContextResetMethodInfo
+    ResolveIMMulticontextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveIMMulticontextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveIMMulticontextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveIMMulticontextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveIMMulticontextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveIMMulticontextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveIMMulticontextMethod "getContextId" o = IMMulticontextGetContextIdMethodInfo
+    ResolveIMMulticontextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveIMMulticontextMethod "getPreeditString" o = Gtk.IMContext.IMContextGetPreeditStringMethodInfo
+    ResolveIMMulticontextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveIMMulticontextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveIMMulticontextMethod "getSurrounding" o = Gtk.IMContext.IMContextGetSurroundingMethodInfo
+    ResolveIMMulticontextMethod "setClientWindow" o = Gtk.IMContext.IMContextSetClientWindowMethodInfo
+    ResolveIMMulticontextMethod "setContextId" o = IMMulticontextSetContextIdMethodInfo
+    ResolveIMMulticontextMethod "setCursorLocation" o = Gtk.IMContext.IMContextSetCursorLocationMethodInfo
+    ResolveIMMulticontextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveIMMulticontextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveIMMulticontextMethod "setSurrounding" o = Gtk.IMContext.IMContextSetSurroundingMethodInfo
+    ResolveIMMulticontextMethod "setUsePreedit" o = Gtk.IMContext.IMContextSetUsePreeditMethodInfo
+    ResolveIMMulticontextMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIMMulticontextMethod t IMMulticontext, O.MethodInfo info IMMulticontext p) => OL.IsLabel t (IMMulticontext -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IMMulticontext
+type instance O.AttributeList IMMulticontext = IMMulticontextAttributeList
+type IMMulticontextAttributeList = ('[ '("inputHints", Gtk.IMContext.IMContextInputHintsPropertyInfo), '("inputPurpose", Gtk.IMContext.IMContextInputPurposePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList IMMulticontext = IMMulticontextSignalList
+type IMMulticontextSignalList = ('[ '("commit", Gtk.IMContext.IMContextCommitSignalInfo), '("deleteSurrounding", Gtk.IMContext.IMContextDeleteSurroundingSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("preeditChanged", Gtk.IMContext.IMContextPreeditChangedSignalInfo), '("preeditEnd", Gtk.IMContext.IMContextPreeditEndSignalInfo), '("preeditStart", Gtk.IMContext.IMContextPreeditStartSignalInfo), '("retrieveSurrounding", Gtk.IMContext.IMContextRetrieveSurroundingSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method IMMulticontext::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IMMulticontext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_multicontext_new" gtk_im_multicontext_new :: 
+    IO (Ptr IMMulticontext)
+
+{- |
+Creates a new 'GI.Gtk.Objects.IMMulticontext.IMMulticontext'.
+-}
+iMMulticontextNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m IMMulticontext
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.IMMulticontext.IMMulticontext'. -}
+iMMulticontextNew  = liftIO $ do
+    result <- gtk_im_multicontext_new
+    checkUnexpectedReturnNULL "iMMulticontextNew" result
+    result' <- (wrapObject IMMulticontext) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IMMulticontext::append_menuitems
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMMulticontext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMMulticontext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menushell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_multicontext_append_menuitems" gtk_im_multicontext_append_menuitems :: 
+    Ptr IMMulticontext ->                   -- context : TInterface (Name {namespace = "Gtk", name = "IMMulticontext"})
+    Ptr Gtk.MenuShell.MenuShell ->          -- menushell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    IO ()
+
+{-# DEPRECATED iMMulticontextAppendMenuitems ["(Since version 3.10)","It is better to use the system-wide input","    method framework for changing input methods. Modern","    desktop shells offer on-screen displays for this that","    can triggered with a keyboard shortcut, e.g. Super-Space."] #-}
+{- |
+Add menuitems for various available input methods to a menu;
+the menuitems, when selected, will switch the input method
+for the context and the global default input method.
+-}
+iMMulticontextAppendMenuitems ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMMulticontext a, Gtk.MenuShell.IsMenuShell b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMMulticontext.IMMulticontext' -}
+    -> b
+    {- ^ /@menushell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> m ()
+iMMulticontextAppendMenuitems context menushell = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    menushell' <- unsafeManagedPtrCastPtr menushell
+    gtk_im_multicontext_append_menuitems context' menushell'
+    touchManagedPtr context
+    touchManagedPtr menushell
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMMulticontextAppendMenuitemsMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsIMMulticontext a, Gtk.MenuShell.IsMenuShell b) => O.MethodInfo IMMulticontextAppendMenuitemsMethodInfo a signature where
+    overloadedMethod _ = iMMulticontextAppendMenuitems
+
+#endif
+
+-- method IMMulticontext::get_context_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMMulticontext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMMulticontext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_multicontext_get_context_id" gtk_im_multicontext_get_context_id :: 
+    Ptr IMMulticontext ->                   -- context : TInterface (Name {namespace = "Gtk", name = "IMMulticontext"})
+    IO CString
+
+{- |
+Gets the id of the currently active slave of the /@context@/.
+
+/Since: 2.16/
+-}
+iMMulticontextGetContextId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMMulticontext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMMulticontext.IMMulticontext' -}
+    -> m T.Text
+    {- ^ __Returns:__ the id of the currently active slave -}
+iMMulticontextGetContextId context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_im_multicontext_get_context_id context'
+    checkUnexpectedReturnNULL "iMMulticontextGetContextId" result
+    result' <- cstringToText result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data IMMulticontextGetContextIdMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsIMMulticontext a) => O.MethodInfo IMMulticontextGetContextIdMethodInfo a signature where
+    overloadedMethod _ = iMMulticontextGetContextId
+
+#endif
+
+-- method IMMulticontext::set_context_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "IMMulticontext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIMMulticontext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_im_multicontext_set_context_id" gtk_im_multicontext_set_context_id :: 
+    Ptr IMMulticontext ->                   -- context : TInterface (Name {namespace = "Gtk", name = "IMMulticontext"})
+    CString ->                              -- context_id : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the context id for /@context@/.
+
+This causes the currently active slave of /@context@/ to be
+replaced by the slave corresponding to the new context id.
+
+/Since: 2.16/
+-}
+iMMulticontextSetContextId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIMMulticontext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.IMMulticontext.IMMulticontext' -}
+    -> T.Text
+    {- ^ /@contextId@/: the id to use -}
+    -> m ()
+iMMulticontextSetContextId context contextId = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    contextId' <- textToCString contextId
+    gtk_im_multicontext_set_context_id context' contextId'
+    touchManagedPtr context
+    freeMem contextId'
+    return ()
+
+#if ENABLE_OVERLOADING
+data IMMulticontextSetContextIdMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsIMMulticontext a) => O.MethodInfo IMMulticontextSetContextIdMethodInfo a signature where
+    overloadedMethod _ = iMMulticontextSetContextId
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/IMMulticontext.hs-boot b/GI/Gtk/Objects/IMMulticontext.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IMMulticontext.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.IMMulticontext where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IMMulticontext = IMMulticontext (ManagedPtr IMMulticontext)
+instance GObject IMMulticontext where
+class (GObject o, O.IsDescendantOf IMMulticontext o) => IsIMMulticontext o
+instance (GObject o, O.IsDescendantOf IMMulticontext o) => IsIMMulticontext o
+instance O.HasParentTypes IMMulticontext
+#if ENABLE_OVERLOADING
+data IMMulticontextAppendMenuitemsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMMulticontextGetContextIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IMMulticontextSetContextIdMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/IconFactory.hs b/GI/Gtk/Objects/IconFactory.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconFactory.hs
@@ -0,0 +1,508 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+An icon factory manages a collection of 'GI.Gtk.Structs.IconSet.IconSet'; a 'GI.Gtk.Structs.IconSet.IconSet' manages a
+set of variants of a particular icon (i.e. a 'GI.Gtk.Structs.IconSet.IconSet' contains variants for
+different sizes and widget states). Icons in an icon factory are named by a
+stock ID, which is a simple string identifying the icon. Each 'GI.Gtk.Objects.Style.Style' has a
+list of 'GI.Gtk.Objects.IconFactory.IconFactory' derived from the current theme; those icon factories
+are consulted first when searching for an icon. If the theme doesn’t set a
+particular icon, GTK+ looks for the icon in a list of default icon factories,
+maintained by 'GI.Gtk.Objects.IconFactory.iconFactoryAddDefault' and
+'GI.Gtk.Objects.IconFactory.iconFactoryRemoveDefault'. Applications with icons should add a default
+icon factory with their icons, which will allow themes to override the icons
+for the application.
+
+To display an icon, always use 'GI.Gtk.Objects.Style.styleLookupIconSet' on the widget that
+will display the icon, or the convenience function
+'GI.Gtk.Objects.Widget.widgetRenderIcon'. These functions take the theme into account when
+looking up the icon to use for a given stock ID.
+
+# GtkIconFactory as GtkBuildable # {'GI.Gtk.Objects.IconFactory.IconFactory'-BUILDER-UI}
+
+GtkIconFactory supports a custom \<sources> element, which can contain
+multiple \<source> elements. The following attributes are allowed:
+
+* stock-id
+
+
+    The stock id of the source, a string. This attribute is
+    mandatory
+
+* filename
+
+
+    The filename of the source, a string.  This attribute is
+    optional
+
+* icon-name
+
+
+    The icon name for the source, a string.  This attribute is
+    optional.
+
+* size
+
+
+    Size of the icon, a 'GI.Gtk.Enums.IconSize' enum value.  This attribute is
+    optional.
+
+* direction
+
+
+    Direction of the source, a 'GI.Gtk.Enums.TextDirection' enum value.  This
+    attribute is optional.
+
+* state
+
+
+    State of the source, a 'GI.Gtk.Enums.StateType' enum value.  This
+    attribute is optional.
+
+
+## A 'GI.Gtk.Objects.IconFactory.IconFactory' UI definition fragment. ##
+
+>
+><object class="GtkIconFactory" id="iconfactory1">
+>  <sources>
+>    <source stock-id="apple-red" filename="apple-red.png"/>
+>  </sources>
+></object>
+><object class="GtkWindow" id="window1">
+>  <child>
+>    <object class="GtkButton" id="apple_button">
+>      <property name="label">apple-red</property>
+>      <property name="use-stock">True</property>
+>    </object>
+>  </child>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.IconFactory
+    ( 
+
+-- * Exported types
+    IconFactory(..)                         ,
+    IsIconFactory                           ,
+    toIconFactory                           ,
+    noIconFactory                           ,
+
+
+ -- * Methods
+-- ** add #method:add#
+
+#if ENABLE_OVERLOADING
+    IconFactoryAddMethodInfo                ,
+#endif
+    iconFactoryAdd                          ,
+
+
+-- ** addDefault #method:addDefault#
+
+#if ENABLE_OVERLOADING
+    IconFactoryAddDefaultMethodInfo         ,
+#endif
+    iconFactoryAddDefault                   ,
+
+
+-- ** lookup #method:lookup#
+
+#if ENABLE_OVERLOADING
+    IconFactoryLookupMethodInfo             ,
+#endif
+    iconFactoryLookup                       ,
+
+
+-- ** lookupDefault #method:lookupDefault#
+
+    iconFactoryLookupDefault                ,
+
+
+-- ** new #method:new#
+
+    iconFactoryNew                          ,
+
+
+-- ** removeDefault #method:removeDefault#
+
+#if ENABLE_OVERLOADING
+    IconFactoryRemoveDefaultMethodInfo      ,
+#endif
+    iconFactoryRemoveDefault                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSet as Gtk.IconSet
+
+-- | Memory-managed wrapper type.
+newtype IconFactory = IconFactory (ManagedPtr IconFactory)
+foreign import ccall "gtk_icon_factory_get_type"
+    c_gtk_icon_factory_get_type :: IO GType
+
+instance GObject IconFactory where
+    gobjectType = c_gtk_icon_factory_get_type
+    
+
+-- | Type class for types which can be safely cast to `IconFactory`, for instance with `toIconFactory`.
+class (GObject o, O.IsDescendantOf IconFactory o) => IsIconFactory o
+instance (GObject o, O.IsDescendantOf IconFactory o) => IsIconFactory o
+
+instance O.HasParentTypes IconFactory
+type instance O.ParentTypes IconFactory = '[GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `IconFactory`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toIconFactory :: (MonadIO m, IsIconFactory o) => o -> m IconFactory
+toIconFactory = liftIO . unsafeCastTo IconFactory
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IconFactory`.
+noIconFactory :: Maybe IconFactory
+noIconFactory = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveIconFactoryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIconFactoryMethod "add" o = IconFactoryAddMethodInfo
+    ResolveIconFactoryMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveIconFactoryMethod "addDefault" o = IconFactoryAddDefaultMethodInfo
+    ResolveIconFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveIconFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveIconFactoryMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveIconFactoryMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveIconFactoryMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveIconFactoryMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveIconFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveIconFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveIconFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveIconFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveIconFactoryMethod "lookup" o = IconFactoryLookupMethodInfo
+    ResolveIconFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveIconFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveIconFactoryMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveIconFactoryMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveIconFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveIconFactoryMethod "removeDefault" o = IconFactoryRemoveDefaultMethodInfo
+    ResolveIconFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveIconFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveIconFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveIconFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveIconFactoryMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveIconFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveIconFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveIconFactoryMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveIconFactoryMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveIconFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveIconFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveIconFactoryMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveIconFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveIconFactoryMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveIconFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveIconFactoryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIconFactoryMethod t IconFactory, O.MethodInfo info IconFactory p) => OL.IsLabel t (IconFactory -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IconFactory
+type instance O.AttributeList IconFactory = IconFactoryAttributeList
+type IconFactoryAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList IconFactory = IconFactorySignalList
+type IconFactorySignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method IconFactory::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconFactory"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_factory_new" gtk_icon_factory_new :: 
+    IO (Ptr IconFactory)
+
+{-# DEPRECATED iconFactoryNew ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.IconFactory.IconFactory'. An icon factory manages a collection
+of @/GtkIconSets/@; a 'GI.Gtk.Structs.IconSet.IconSet' manages a set of variants of a
+particular icon (i.e. a 'GI.Gtk.Structs.IconSet.IconSet' contains variants for different
+sizes and widget states). Icons in an icon factory are named by a
+stock ID, which is a simple string identifying the icon. Each
+'GI.Gtk.Objects.Style.Style' has a list of @/GtkIconFactorys/@ derived from the current
+theme; those icon factories are consulted first when searching for
+an icon. If the theme doesn’t set a particular icon, GTK+ looks for
+the icon in a list of default icon factories, maintained by
+'GI.Gtk.Objects.IconFactory.iconFactoryAddDefault' and
+'GI.Gtk.Objects.IconFactory.iconFactoryRemoveDefault'. Applications with icons should
+add a default icon factory with their icons, which will allow
+themes to override the icons for the application.
+-}
+iconFactoryNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m IconFactory
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.IconFactory.IconFactory' -}
+iconFactoryNew  = liftIO $ do
+    result <- gtk_icon_factory_new
+    checkUnexpectedReturnNULL "iconFactoryNew" result
+    result' <- (wrapObject IconFactory) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconFactory::add
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gtk", name = "IconFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "icon name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "icon set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_factory_add" gtk_icon_factory_add :: 
+    Ptr IconFactory ->                      -- factory : TInterface (Name {namespace = "Gtk", name = "IconFactory"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Ptr Gtk.IconSet.IconSet ->              -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    IO ()
+
+{-# DEPRECATED iconFactoryAdd ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Adds the given /@iconSet@/ to the icon factory, under the name
+/@stockId@/.  /@stockId@/ should be namespaced for your application,
+e.g. “myapp-whatever-icon”.  Normally applications create a
+'GI.Gtk.Objects.IconFactory.IconFactory', then add it to the list of default factories with
+'GI.Gtk.Objects.IconFactory.iconFactoryAddDefault'. Then they pass the /@stockId@/ to
+widgets such as 'GI.Gtk.Objects.Image.Image' to display the icon. Themes can provide
+an icon with the same name (such as \"myapp-whatever-icon\") to
+override your application’s default icons. If an icon already
+existed in /@factory@/ for /@stockId@/, it is unreferenced and replaced
+with the new /@iconSet@/.
+-}
+iconFactoryAdd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconFactory a) =>
+    a
+    {- ^ /@factory@/: a 'GI.Gtk.Objects.IconFactory.IconFactory' -}
+    -> T.Text
+    {- ^ /@stockId@/: icon name -}
+    -> Gtk.IconSet.IconSet
+    {- ^ /@iconSet@/: icon set -}
+    -> m ()
+iconFactoryAdd factory stockId iconSet = liftIO $ do
+    factory' <- unsafeManagedPtrCastPtr factory
+    stockId' <- textToCString stockId
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    gtk_icon_factory_add factory' stockId' iconSet'
+    touchManagedPtr factory
+    touchManagedPtr iconSet
+    freeMem stockId'
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconFactoryAddMethodInfo
+instance (signature ~ (T.Text -> Gtk.IconSet.IconSet -> m ()), MonadIO m, IsIconFactory a) => O.MethodInfo IconFactoryAddMethodInfo a signature where
+    overloadedMethod _ = iconFactoryAdd
+
+#endif
+
+-- method IconFactory::add_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gtk", name = "IconFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_factory_add_default" gtk_icon_factory_add_default :: 
+    Ptr IconFactory ->                      -- factory : TInterface (Name {namespace = "Gtk", name = "IconFactory"})
+    IO ()
+
+{-# DEPRECATED iconFactoryAddDefault ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Adds an icon factory to the list of icon factories searched by
+'GI.Gtk.Objects.Style.styleLookupIconSet'. This means that, for example,
+'GI.Gtk.Objects.Image.imageNewFromStock' will be able to find icons in /@factory@/.
+There will normally be an icon factory added for each library or
+application that comes with icons. The default icon factories
+can be overridden by themes.
+-}
+iconFactoryAddDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconFactory a) =>
+    a
+    {- ^ /@factory@/: a 'GI.Gtk.Objects.IconFactory.IconFactory' -}
+    -> m ()
+iconFactoryAddDefault factory = liftIO $ do
+    factory' <- unsafeManagedPtrCastPtr factory
+    gtk_icon_factory_add_default factory'
+    touchManagedPtr factory
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconFactoryAddDefaultMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsIconFactory a) => O.MethodInfo IconFactoryAddDefaultMethodInfo a signature where
+    overloadedMethod _ = iconFactoryAddDefault
+
+#endif
+
+-- method IconFactory::lookup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gtk", name = "IconFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_factory_lookup" gtk_icon_factory_lookup :: 
+    Ptr IconFactory ->                      -- factory : TInterface (Name {namespace = "Gtk", name = "IconFactory"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr Gtk.IconSet.IconSet)
+
+{-# DEPRECATED iconFactoryLookup ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Looks up /@stockId@/ in the icon factory, returning an icon set
+if found, otherwise 'Nothing'. For display to the user, you should
+use 'GI.Gtk.Objects.Style.styleLookupIconSet' on the 'GI.Gtk.Objects.Style.Style' for the
+widget that will display the icon, instead of using this
+function directly, so that themes are taken into account.
+-}
+iconFactoryLookup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconFactory a) =>
+    a
+    {- ^ /@factory@/: a 'GI.Gtk.Objects.IconFactory.IconFactory' -}
+    -> T.Text
+    {- ^ /@stockId@/: an icon name -}
+    -> m Gtk.IconSet.IconSet
+    {- ^ __Returns:__ icon set of /@stockId@/. -}
+iconFactoryLookup factory stockId = liftIO $ do
+    factory' <- unsafeManagedPtrCastPtr factory
+    stockId' <- textToCString stockId
+    result <- gtk_icon_factory_lookup factory' stockId'
+    checkUnexpectedReturnNULL "iconFactoryLookup" result
+    result' <- (newBoxed Gtk.IconSet.IconSet) result
+    touchManagedPtr factory
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconFactoryLookupMethodInfo
+instance (signature ~ (T.Text -> m Gtk.IconSet.IconSet), MonadIO m, IsIconFactory a) => O.MethodInfo IconFactoryLookupMethodInfo a signature where
+    overloadedMethod _ = iconFactoryLookup
+
+#endif
+
+-- method IconFactory::remove_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gtk", name = "IconFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconFactory previously added with gtk_icon_factory_add_default()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_factory_remove_default" gtk_icon_factory_remove_default :: 
+    Ptr IconFactory ->                      -- factory : TInterface (Name {namespace = "Gtk", name = "IconFactory"})
+    IO ()
+
+{-# DEPRECATED iconFactoryRemoveDefault ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Removes an icon factory from the list of default icon
+factories. Not normally used; you might use it for a library that
+can be unloaded or shut down.
+-}
+iconFactoryRemoveDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconFactory a) =>
+    a
+    {- ^ /@factory@/: a 'GI.Gtk.Objects.IconFactory.IconFactory' previously added with 'GI.Gtk.Objects.IconFactory.iconFactoryAddDefault' -}
+    -> m ()
+iconFactoryRemoveDefault factory = liftIO $ do
+    factory' <- unsafeManagedPtrCastPtr factory
+    gtk_icon_factory_remove_default factory'
+    touchManagedPtr factory
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconFactoryRemoveDefaultMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsIconFactory a) => O.MethodInfo IconFactoryRemoveDefaultMethodInfo a signature where
+    overloadedMethod _ = iconFactoryRemoveDefault
+
+#endif
+
+-- method IconFactory::lookup_default
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_factory_lookup_default" gtk_icon_factory_lookup_default :: 
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr Gtk.IconSet.IconSet)
+
+{-# DEPRECATED iconFactoryLookupDefault ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Looks for an icon in the list of default icon factories.  For
+display to the user, you should use 'GI.Gtk.Objects.Style.styleLookupIconSet' on
+the 'GI.Gtk.Objects.Style.Style' for the widget that will display the icon, instead of
+using this function directly, so that themes are taken into
+account.
+-}
+iconFactoryLookupDefault ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@stockId@/: an icon name -}
+    -> m Gtk.IconSet.IconSet
+    {- ^ __Returns:__ a 'GI.Gtk.Structs.IconSet.IconSet', or 'Nothing' -}
+iconFactoryLookupDefault stockId = liftIO $ do
+    stockId' <- textToCString stockId
+    result <- gtk_icon_factory_lookup_default stockId'
+    checkUnexpectedReturnNULL "iconFactoryLookupDefault" result
+    result' <- (newBoxed Gtk.IconSet.IconSet) result
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/IconFactory.hs-boot b/GI/Gtk/Objects/IconFactory.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconFactory.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.IconFactory where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IconFactory = IconFactory (ManagedPtr IconFactory)
+instance GObject IconFactory where
+class (GObject o, O.IsDescendantOf IconFactory o) => IsIconFactory o
+instance (GObject o, O.IsDescendantOf IconFactory o) => IsIconFactory o
+instance O.HasParentTypes IconFactory
+#if ENABLE_OVERLOADING
+data IconFactoryAddMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconFactoryAddDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconFactoryLookupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconFactoryRemoveDefaultMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/IconInfo.hs b/GI/Gtk/Objects/IconInfo.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconInfo.hs
@@ -0,0 +1,1495 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Contains information found when looking up an icon in
+an icon theme.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.IconInfo
+    ( 
+
+-- * Exported types
+    IconInfo(..)                            ,
+    IsIconInfo                              ,
+    toIconInfo                              ,
+    noIconInfo                              ,
+
+
+ -- * Methods
+-- ** getAttachPoints #method:getAttachPoints#
+
+#if ENABLE_OVERLOADING
+    IconInfoGetAttachPointsMethodInfo       ,
+#endif
+    iconInfoGetAttachPoints                 ,
+
+
+-- ** getBaseScale #method:getBaseScale#
+
+#if ENABLE_OVERLOADING
+    IconInfoGetBaseScaleMethodInfo          ,
+#endif
+    iconInfoGetBaseScale                    ,
+
+
+-- ** getBaseSize #method:getBaseSize#
+
+#if ENABLE_OVERLOADING
+    IconInfoGetBaseSizeMethodInfo           ,
+#endif
+    iconInfoGetBaseSize                     ,
+
+
+-- ** getBuiltinPixbuf #method:getBuiltinPixbuf#
+
+#if ENABLE_OVERLOADING
+    IconInfoGetBuiltinPixbufMethodInfo      ,
+#endif
+    iconInfoGetBuiltinPixbuf                ,
+
+
+-- ** getDisplayName #method:getDisplayName#
+
+#if ENABLE_OVERLOADING
+    IconInfoGetDisplayNameMethodInfo        ,
+#endif
+    iconInfoGetDisplayName                  ,
+
+
+-- ** getEmbeddedRect #method:getEmbeddedRect#
+
+#if ENABLE_OVERLOADING
+    IconInfoGetEmbeddedRectMethodInfo       ,
+#endif
+    iconInfoGetEmbeddedRect                 ,
+
+
+-- ** getFilename #method:getFilename#
+
+#if ENABLE_OVERLOADING
+    IconInfoGetFilenameMethodInfo           ,
+#endif
+    iconInfoGetFilename                     ,
+
+
+-- ** isSymbolic #method:isSymbolic#
+
+#if ENABLE_OVERLOADING
+    IconInfoIsSymbolicMethodInfo            ,
+#endif
+    iconInfoIsSymbolic                      ,
+
+
+-- ** loadIcon #method:loadIcon#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadIconMethodInfo              ,
+#endif
+    iconInfoLoadIcon                        ,
+
+
+-- ** loadIconAsync #method:loadIconAsync#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadIconAsyncMethodInfo         ,
+#endif
+    iconInfoLoadIconAsync                   ,
+
+
+-- ** loadIconFinish #method:loadIconFinish#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadIconFinishMethodInfo        ,
+#endif
+    iconInfoLoadIconFinish                  ,
+
+
+-- ** loadSurface #method:loadSurface#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadSurfaceMethodInfo           ,
+#endif
+    iconInfoLoadSurface                     ,
+
+
+-- ** loadSymbolic #method:loadSymbolic#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadSymbolicMethodInfo          ,
+#endif
+    iconInfoLoadSymbolic                    ,
+
+
+-- ** loadSymbolicAsync #method:loadSymbolicAsync#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadSymbolicAsyncMethodInfo     ,
+#endif
+    iconInfoLoadSymbolicAsync               ,
+
+
+-- ** loadSymbolicFinish #method:loadSymbolicFinish#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadSymbolicFinishMethodInfo    ,
+#endif
+    iconInfoLoadSymbolicFinish              ,
+
+
+-- ** loadSymbolicForContext #method:loadSymbolicForContext#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadSymbolicForContextMethodInfo,
+#endif
+    iconInfoLoadSymbolicForContext          ,
+
+
+-- ** loadSymbolicForContextAsync #method:loadSymbolicForContextAsync#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadSymbolicForContextAsyncMethodInfo,
+#endif
+    iconInfoLoadSymbolicForContextAsync     ,
+
+
+-- ** loadSymbolicForContextFinish #method:loadSymbolicForContextFinish#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadSymbolicForContextFinishMethodInfo,
+#endif
+    iconInfoLoadSymbolicForContextFinish    ,
+
+
+-- ** loadSymbolicForStyle #method:loadSymbolicForStyle#
+
+#if ENABLE_OVERLOADING
+    IconInfoLoadSymbolicForStyleMethodInfo  ,
+#endif
+    iconInfoLoadSymbolicForStyle            ,
+
+
+-- ** newForPixbuf #method:newForPixbuf#
+
+    iconInfoNewForPixbuf                    ,
+
+
+-- ** setRawCoordinates #method:setRawCoordinates#
+
+#if ENABLE_OVERLOADING
+    IconInfoSetRawCoordinatesMethodInfo     ,
+#endif
+    iconInfoSetRawCoordinates               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Surface as Cairo.Surface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.Point as Gdk.Point
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gio.Callbacks as Gio.Callbacks
+import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
+import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.IconTheme as Gtk.IconTheme
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Style as Gtk.Style
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
+
+-- | Memory-managed wrapper type.
+newtype IconInfo = IconInfo (ManagedPtr IconInfo)
+foreign import ccall "gtk_icon_info_get_type"
+    c_gtk_icon_info_get_type :: IO GType
+
+instance GObject IconInfo where
+    gobjectType = c_gtk_icon_info_get_type
+    
+
+-- | Type class for types which can be safely cast to `IconInfo`, for instance with `toIconInfo`.
+class (GObject o, O.IsDescendantOf IconInfo o) => IsIconInfo o
+instance (GObject o, O.IsDescendantOf IconInfo o) => IsIconInfo o
+
+instance O.HasParentTypes IconInfo
+type instance O.ParentTypes IconInfo = '[GObject.Object.Object]
+
+-- | Cast to `IconInfo`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toIconInfo :: (MonadIO m, IsIconInfo o) => o -> m IconInfo
+toIconInfo = liftIO . unsafeCastTo IconInfo
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IconInfo`.
+noIconInfo :: Maybe IconInfo
+noIconInfo = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveIconInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIconInfoMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveIconInfoMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveIconInfoMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveIconInfoMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveIconInfoMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveIconInfoMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveIconInfoMethod "isSymbolic" o = IconInfoIsSymbolicMethodInfo
+    ResolveIconInfoMethod "loadIcon" o = IconInfoLoadIconMethodInfo
+    ResolveIconInfoMethod "loadIconAsync" o = IconInfoLoadIconAsyncMethodInfo
+    ResolveIconInfoMethod "loadIconFinish" o = IconInfoLoadIconFinishMethodInfo
+    ResolveIconInfoMethod "loadSurface" o = IconInfoLoadSurfaceMethodInfo
+    ResolveIconInfoMethod "loadSymbolic" o = IconInfoLoadSymbolicMethodInfo
+    ResolveIconInfoMethod "loadSymbolicAsync" o = IconInfoLoadSymbolicAsyncMethodInfo
+    ResolveIconInfoMethod "loadSymbolicFinish" o = IconInfoLoadSymbolicFinishMethodInfo
+    ResolveIconInfoMethod "loadSymbolicForContext" o = IconInfoLoadSymbolicForContextMethodInfo
+    ResolveIconInfoMethod "loadSymbolicForContextAsync" o = IconInfoLoadSymbolicForContextAsyncMethodInfo
+    ResolveIconInfoMethod "loadSymbolicForContextFinish" o = IconInfoLoadSymbolicForContextFinishMethodInfo
+    ResolveIconInfoMethod "loadSymbolicForStyle" o = IconInfoLoadSymbolicForStyleMethodInfo
+    ResolveIconInfoMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveIconInfoMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveIconInfoMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveIconInfoMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveIconInfoMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveIconInfoMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveIconInfoMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveIconInfoMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveIconInfoMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveIconInfoMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveIconInfoMethod "getAttachPoints" o = IconInfoGetAttachPointsMethodInfo
+    ResolveIconInfoMethod "getBaseScale" o = IconInfoGetBaseScaleMethodInfo
+    ResolveIconInfoMethod "getBaseSize" o = IconInfoGetBaseSizeMethodInfo
+    ResolveIconInfoMethod "getBuiltinPixbuf" o = IconInfoGetBuiltinPixbufMethodInfo
+    ResolveIconInfoMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveIconInfoMethod "getDisplayName" o = IconInfoGetDisplayNameMethodInfo
+    ResolveIconInfoMethod "getEmbeddedRect" o = IconInfoGetEmbeddedRectMethodInfo
+    ResolveIconInfoMethod "getFilename" o = IconInfoGetFilenameMethodInfo
+    ResolveIconInfoMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveIconInfoMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveIconInfoMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveIconInfoMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveIconInfoMethod "setRawCoordinates" o = IconInfoSetRawCoordinatesMethodInfo
+    ResolveIconInfoMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIconInfoMethod t IconInfo, O.MethodInfo info IconInfo p) => OL.IsLabel t (IconInfo -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IconInfo
+type instance O.AttributeList IconInfo = IconInfoAttributeList
+type IconInfoAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList IconInfo = IconInfoSignalList
+type IconInfoSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method IconInfo::new_for_pixbuf
+-- method type : Constructor
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pixbuf to wrap in a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_new_for_pixbuf" gtk_icon_info_new_for_pixbuf :: 
+    Ptr Gtk.IconTheme.IconTheme ->          -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO (Ptr IconInfo)
+
+{- |
+Creates a 'GI.Gtk.Objects.IconInfo.IconInfo' for a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'.
+
+/Since: 2.14/
+-}
+iconInfoNewForPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.IconTheme.IsIconTheme a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> b
+    {- ^ /@pixbuf@/: the pixbuf to wrap in a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> m IconInfo
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+iconInfoNewForPixbuf iconTheme pixbuf = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    result <- gtk_icon_info_new_for_pixbuf iconTheme' pixbuf'
+    checkUnexpectedReturnNULL "iconInfoNewForPixbuf" result
+    result' <- (wrapObject IconInfo) result
+    touchManagedPtr iconTheme
+    touchManagedPtr pixbuf
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconInfo::get_attach_points
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "points", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Point"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store pointer\n    to an array of points, or %NULL free the array of points with g_free().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_points", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the number of points in @points,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_points", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the number of points in @points,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_get_attach_points" gtk_icon_info_get_attach_points :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr (Ptr Gdk.Point.Point) ->            -- points : TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Point"}))
+    Ptr Int32 ->                            -- n_points : TBasicType TInt
+    IO CInt
+
+{-# DEPRECATED iconInfoGetAttachPoints ["(Since version 3.14)","Attachment points are deprecated"] #-}
+{- |
+This function is deprecated and always returns 'False'.
+
+/Since: 2.4/
+-}
+iconInfoGetAttachPoints ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> m ((Bool, [Gdk.Point.Point]))
+    {- ^ __Returns:__ 'False' -}
+iconInfoGetAttachPoints iconInfo = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    points <- allocMem :: IO (Ptr (Ptr Gdk.Point.Point))
+    nPoints <- allocMem :: IO (Ptr Int32)
+    result <- gtk_icon_info_get_attach_points iconInfo' points nPoints
+    nPoints' <- peek nPoints
+    let result' = (/= 0) result
+    points' <- peek points
+    points'' <- (unpackBlockArrayWithLength 8 nPoints') points'
+    points''' <- mapM (wrapPtr Gdk.Point.Point) points''
+    freeMem points'
+    touchManagedPtr iconInfo
+    freeMem points
+    freeMem nPoints
+    return (result', points''')
+
+#if ENABLE_OVERLOADING
+data IconInfoGetAttachPointsMethodInfo
+instance (signature ~ (m ((Bool, [Gdk.Point.Point]))), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoGetAttachPointsMethodInfo a signature where
+    overloadedMethod _ = iconInfoGetAttachPoints
+
+#endif
+
+-- method IconInfo::get_base_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_get_base_scale" gtk_icon_info_get_base_scale :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    IO Int32
+
+{- |
+Gets the base scale for the icon. The base scale is a scale
+for the icon that was specified by the icon theme creator.
+For instance an icon drawn for a high-dpi screen with window
+scale 2 for a base size of 32 will be 64 pixels tall and have
+a base scale of 2.
+
+/Since: 3.10/
+-}
+iconInfoGetBaseScale ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> m Int32
+    {- ^ __Returns:__ the base scale -}
+iconInfoGetBaseScale iconInfo = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    result <- gtk_icon_info_get_base_scale iconInfo'
+    touchManagedPtr iconInfo
+    return result
+
+#if ENABLE_OVERLOADING
+data IconInfoGetBaseScaleMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoGetBaseScaleMethodInfo a signature where
+    overloadedMethod _ = iconInfoGetBaseScale
+
+#endif
+
+-- method IconInfo::get_base_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_get_base_size" gtk_icon_info_get_base_size :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    IO Int32
+
+{- |
+Gets the base size for the icon. The base size
+is a size for the icon that was specified by
+the icon theme creator. This may be different
+than the actual size of image; an example of
+this is small emblem icons that can be attached
+to a larger icon. These icons will be given
+the same base size as the larger icons to which
+they are attached.
+
+Note that for scaled icons the base size does
+not include the base scale.
+
+/Since: 2.4/
+-}
+iconInfoGetBaseSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> m Int32
+    {- ^ __Returns:__ the base size, or 0, if no base
+    size is known for the icon. -}
+iconInfoGetBaseSize iconInfo = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    result <- gtk_icon_info_get_base_size iconInfo'
+    touchManagedPtr iconInfo
+    return result
+
+#if ENABLE_OVERLOADING
+data IconInfoGetBaseSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoGetBaseSizeMethodInfo a signature where
+    overloadedMethod _ = iconInfoGetBaseSize
+
+#endif
+
+-- method IconInfo::get_builtin_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_get_builtin_pixbuf" gtk_icon_info_get_builtin_pixbuf :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED iconInfoGetBuiltinPixbuf ["(Since version 3.14)","This function is deprecated, use","    'GI.Gtk.Objects.IconTheme.iconThemeAddResourcePath' instead of builtin icons."] #-}
+{- |
+Gets the built-in image for this icon, if any. To allow GTK+ to use
+built in icon images, you must pass the 'GI.Gtk.Flags.IconLookupFlagsUseBuiltin'
+to 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon'.
+
+/Since: 2.4/
+-}
+iconInfoGetBuiltinPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ the built-in image pixbuf, or 'Nothing'.
+    No extra reference is added to the returned pixbuf, so if
+    you want to keep it around, you must use 'GI.GObject.Objects.Object.objectRef'.
+    The returned image must not be modified. -}
+iconInfoGetBuiltinPixbuf iconInfo = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    result <- gtk_icon_info_get_builtin_pixbuf iconInfo'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr iconInfo
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconInfoGetBuiltinPixbufMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoGetBuiltinPixbufMethodInfo a signature where
+    overloadedMethod _ = iconInfoGetBuiltinPixbuf
+
+#endif
+
+-- method IconInfo::get_display_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_get_display_name" gtk_icon_info_get_display_name :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    IO CString
+
+{-# DEPRECATED iconInfoGetDisplayName ["(Since version 3.14)","Display names are deprecated"] #-}
+{- |
+This function is deprecated and always returns 'Nothing'.
+
+/Since: 2.4/
+-}
+iconInfoGetDisplayName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> m T.Text
+    {- ^ __Returns:__ 'Nothing' -}
+iconInfoGetDisplayName iconInfo = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    result <- gtk_icon_info_get_display_name iconInfo'
+    checkUnexpectedReturnNULL "iconInfoGetDisplayName" result
+    result' <- cstringToText result
+    touchManagedPtr iconInfo
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconInfoGetDisplayNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoGetDisplayNameMethodInfo a signature where
+    overloadedMethod _ = iconInfoGetDisplayName
+
+#endif
+
+-- method IconInfo::get_embedded_rect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rectangle", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GdkRectangle in which to store embedded\n  rectangle coordinates; coordinates are only stored\n  when this function returns %TRUE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_get_embedded_rect" gtk_icon_info_get_embedded_rect :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rectangle : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO CInt
+
+{-# DEPRECATED iconInfoGetEmbeddedRect ["(Since version 3.14)","Embedded rectangles are deprecated"] #-}
+{- |
+This function is deprecated and always returns 'False'.
+
+/Since: 2.4/
+-}
+iconInfoGetEmbeddedRect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> m ((Bool, Gdk.Rectangle.Rectangle))
+    {- ^ __Returns:__ 'False' -}
+iconInfoGetEmbeddedRect iconInfo = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    rectangle <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    result <- gtk_icon_info_get_embedded_rect iconInfo' rectangle
+    let result' = (/= 0) result
+    rectangle' <- (wrapBoxed Gdk.Rectangle.Rectangle) rectangle
+    touchManagedPtr iconInfo
+    return (result', rectangle')
+
+#if ENABLE_OVERLOADING
+data IconInfoGetEmbeddedRectMethodInfo
+instance (signature ~ (m ((Bool, Gdk.Rectangle.Rectangle))), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoGetEmbeddedRectMethodInfo a signature where
+    overloadedMethod _ = iconInfoGetEmbeddedRect
+
+#endif
+
+-- method IconInfo::get_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_get_filename" gtk_icon_info_get_filename :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    IO CString
+
+{- |
+Gets the filename for the icon. If the 'GI.Gtk.Flags.IconLookupFlagsUseBuiltin'
+flag was passed to 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon', there may be no
+filename if a builtin icon is returned; in this case, you should
+use 'GI.Gtk.Objects.IconInfo.iconInfoGetBuiltinPixbuf'.
+
+/Since: 2.4/
+-}
+iconInfoGetFilename ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> m (Maybe [Char])
+    {- ^ __Returns:__ the filename for the icon, or 'Nothing'
+    if 'GI.Gtk.Objects.IconInfo.iconInfoGetBuiltinPixbuf' should be used instead.
+    The return value is owned by GTK+ and should not be modified
+    or freed. -}
+iconInfoGetFilename iconInfo = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    result <- gtk_icon_info_get_filename iconInfo'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToString result'
+        return result''
+    touchManagedPtr iconInfo
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconInfoGetFilenameMethodInfo
+instance (signature ~ (m (Maybe [Char])), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoGetFilenameMethodInfo a signature where
+    overloadedMethod _ = iconInfoGetFilename
+
+#endif
+
+-- method IconInfo::is_symbolic
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_is_symbolic" gtk_icon_info_is_symbolic :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    IO CInt
+
+{- |
+Checks if the icon is symbolic or not. This currently uses only
+the file name and not the file contents for determining this.
+This behaviour may change in the future.
+
+/Since: 3.12/
+-}
+iconInfoIsSymbolic ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the icon is symbolic, 'False' otherwise -}
+iconInfoIsSymbolic iconInfo = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    result <- gtk_icon_info_is_symbolic iconInfo'
+    let result' = (/= 0) result
+    touchManagedPtr iconInfo
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconInfoIsSymbolicMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoIsSymbolicMethodInfo a signature where
+    overloadedMethod _ = iconInfoIsSymbolic
+
+#endif
+
+-- method IconInfo::load_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo from gtk_icon_theme_lookup_icon()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_icon" gtk_icon_info_load_icon :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Renders an icon previously looked up in an icon theme using
+'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon'; the size will be based on the size
+passed to 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon'. Note that the resulting
+pixbuf may not be exactly this size; an icon theme may have icons
+that differ slightly from their nominal sizes, and in addition GTK+
+will avoid scaling icons that it considers sufficiently close to the
+requested size or for which the source image would have to be scaled
+up too far. (This maintains sharpness.). This behaviour can be changed
+by passing the 'GI.Gtk.Flags.IconLookupFlagsForceSize' flag when obtaining
+the 'GI.Gtk.Objects.IconInfo.IconInfo'. If this flag has been specified, the pixbuf
+returned by this function will be scaled to the exact size.
+
+/Since: 2.4/
+-}
+iconInfoLoadIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' from 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ the rendered icon; this may be a newly
+    created icon or a new reference to an internal icon, so you must
+    not modify the icon. Use 'GI.GObject.Objects.Object.objectUnref' to release your reference
+    to the icon. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconInfoLoadIcon iconInfo = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    onException (do
+        result <- propagateGError $ gtk_icon_info_load_icon iconInfo'
+        checkUnexpectedReturnNULL "iconInfoLoadIcon" result
+        result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+        touchManagedPtr iconInfo
+        return result'
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadIconMethodInfo
+instance (signature ~ (m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoLoadIconMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadIcon
+
+#endif
+
+-- method IconInfo::load_icon_async
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo from gtk_icon_theme_lookup_icon()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "optional #GCancellable object, %NULL to ignore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GAsyncReadyCallback to call when the\n    request is satisfied", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to pass to callback function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_icon_async" gtk_icon_info_load_icon_async :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})
+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Asynchronously load, render and scale an icon previously looked up
+from the icon theme using 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon'.
+
+For more details, see 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon' which is the synchronous
+version of this call.
+
+/Since: 3.8/
+-}
+iconInfoLoadIconAsync ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a, Gio.Cancellable.IsCancellable b) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' from 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' -}
+    -> Maybe (b)
+    {- ^ /@cancellable@/: optional 'GI.Gio.Objects.Cancellable.Cancellable' object, 'Nothing' to ignore -}
+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)
+    {- ^ /@callback@/: a 'GI.Gio.Callbacks.AsyncReadyCallback' to call when the
+    request is satisfied -}
+    -> m ()
+iconInfoLoadIconAsync iconInfo cancellable callback = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    maybeCallback <- case callback of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jCallback -> do
+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))
+            poke ptrcallback jCallback'
+            return jCallback'
+    let userData = nullPtr
+    gtk_icon_info_load_icon_async iconInfo' maybeCancellable maybeCallback userData
+    touchManagedPtr iconInfo
+    whenJust cancellable touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadIconAsyncMethodInfo
+instance (signature ~ (Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsIconInfo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo IconInfoLoadIconAsyncMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadIconAsync
+
+#endif
+
+-- method IconInfo::load_icon_finish
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo from gtk_icon_theme_lookup_icon()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "res", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_icon_finish" gtk_icon_info_load_icon_finish :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gio.AsyncResult.AsyncResult ->      -- res : TInterface (Name {namespace = "Gio", name = "AsyncResult"})
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Finishes an async icon load, see 'GI.Gtk.Objects.IconInfo.iconInfoLoadIconAsync'.
+
+/Since: 3.8/
+-}
+iconInfoLoadIconFinish ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a, Gio.AsyncResult.IsAsyncResult b) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' from 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' -}
+    -> b
+    {- ^ /@res@/: a 'GI.Gio.Interfaces.AsyncResult.AsyncResult' -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ the rendered icon; this may be a newly
+    created icon or a new reference to an internal icon, so you must
+    not modify the icon. Use 'GI.GObject.Objects.Object.objectUnref' to release your reference
+    to the icon. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconInfoLoadIconFinish iconInfo res = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    res' <- unsafeManagedPtrCastPtr res
+    onException (do
+        result <- propagateGError $ gtk_icon_info_load_icon_finish iconInfo' res'
+        checkUnexpectedReturnNULL "iconInfoLoadIconFinish" result
+        result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+        touchManagedPtr iconInfo
+        touchManagedPtr res
+        return result'
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadIconFinishMethodInfo
+instance (signature ~ (b -> m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m, IsIconInfo a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo IconInfoLoadIconFinishMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadIconFinish
+
+#endif
+
+-- method IconInfo::load_surface
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo from gtk_icon_theme_lookup_icon()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "for_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GdkWindow to optimize drawing for, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_surface" gtk_icon_info_load_surface :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gdk.Window.Window ->                -- for_window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr Cairo.Surface.Surface)
+
+{- |
+Renders an icon previously looked up in an icon theme using
+'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon'; the size will be based on the size
+passed to 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon'. Note that the resulting
+surface may not be exactly this size; an icon theme may have icons
+that differ slightly from their nominal sizes, and in addition GTK+
+will avoid scaling icons that it considers sufficiently close to the
+requested size or for which the source image would have to be scaled
+up too far. (This maintains sharpness.). This behaviour can be changed
+by passing the 'GI.Gtk.Flags.IconLookupFlagsForceSize' flag when obtaining
+the 'GI.Gtk.Objects.IconInfo.IconInfo'. If this flag has been specified, the pixbuf
+returned by this function will be scaled to the exact size.
+
+/Since: 3.10/
+-}
+iconInfoLoadSurface ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' from 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' -}
+    -> Maybe (b)
+    {- ^ /@forWindow@/: 'GI.Gdk.Objects.Window.Window' to optimize drawing for, or 'Nothing' -}
+    -> m Cairo.Surface.Surface
+    {- ^ __Returns:__ the rendered icon; this may be a newly
+    created icon or a new reference to an internal icon, so you must
+    not modify the icon. Use @/cairo_surface_destroy()/@ to release your
+    reference to the icon. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconInfoLoadSurface iconInfo forWindow = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    maybeForWindow <- case forWindow of
+        Nothing -> return nullPtr
+        Just jForWindow -> do
+            jForWindow' <- unsafeManagedPtrCastPtr jForWindow
+            return jForWindow'
+    onException (do
+        result <- propagateGError $ gtk_icon_info_load_surface iconInfo' maybeForWindow
+        checkUnexpectedReturnNULL "iconInfoLoadSurface" result
+        result' <- (wrapBoxed Cairo.Surface.Surface) result
+        touchManagedPtr iconInfo
+        whenJust forWindow touchManagedPtr
+        return result'
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadSurfaceMethodInfo
+instance (signature ~ (Maybe (b) -> m Cairo.Surface.Surface), MonadIO m, IsIconInfo a, Gdk.Window.IsWindow b) => O.MethodInfo IconInfoLoadSurfaceMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadSurface
+
+#endif
+
+-- method IconInfo::load_symbolic
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fg", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA representing the foreground color of the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "success_color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkRGBA representing the warning color\n    of the icon or %NULL to use the default color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "warning_color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkRGBA representing the warning color\n    of the icon or %NULL to use the default color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error_color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkRGBA representing the error color\n    of the icon or %NULL to use the default color (allow-none)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "was_symbolic", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gboolean, returns whether the\n    loaded icon was a symbolic one and whether the @fg color was\n    applied to it.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_symbolic" gtk_icon_info_load_symbolic :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gdk.RGBA.RGBA ->                    -- fg : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    Ptr Gdk.RGBA.RGBA ->                    -- success_color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    Ptr Gdk.RGBA.RGBA ->                    -- warning_color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    Ptr Gdk.RGBA.RGBA ->                    -- error_color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    Ptr CInt ->                             -- was_symbolic : TBasicType TBoolean
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Loads an icon, modifying it to match the system colours for the foreground,
+success, warning and error colors provided. If the icon is not a symbolic
+one, the function will return the result from 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'.
+
+This allows loading symbolic icons that will match the system theme.
+
+Unless you are implementing a widget, you will want to use
+'GI.Gio.Objects.ThemedIcon.themedIconNewWithDefaultFallbacks' to load the icon.
+
+As implementation details, the icon loaded needs to be of SVG type,
+contain the “symbolic” term as the last component of the icon name,
+and use the “fg”, “success”, “warning” and “error” CSS styles in the
+SVG file itself.
+
+See the <http://www.freedesktop.org/wiki/SymbolicIcons Symbolic Icons Specification>
+for more information about symbolic icons.
+
+/Since: 3.0/
+-}
+iconInfoLoadSymbolic ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> Gdk.RGBA.RGBA
+    {- ^ /@fg@/: a 'GI.Gdk.Structs.RGBA.RGBA' representing the foreground color of the icon -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@successColor@/: a 'GI.Gdk.Structs.RGBA.RGBA' representing the warning color
+    of the icon or 'Nothing' to use the default color -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@warningColor@/: a 'GI.Gdk.Structs.RGBA.RGBA' representing the warning color
+    of the icon or 'Nothing' to use the default color -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@errorColor@/: a 'GI.Gdk.Structs.RGBA.RGBA' representing the error color
+    of the icon or 'Nothing' to use the default color (allow-none) -}
+    -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))
+    {- ^ __Returns:__ a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' representing the loaded icon /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconInfoLoadSymbolic iconInfo fg successColor warningColor errorColor = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    fg' <- unsafeManagedPtrGetPtr fg
+    maybeSuccessColor <- case successColor of
+        Nothing -> return nullPtr
+        Just jSuccessColor -> do
+            jSuccessColor' <- unsafeManagedPtrGetPtr jSuccessColor
+            return jSuccessColor'
+    maybeWarningColor <- case warningColor of
+        Nothing -> return nullPtr
+        Just jWarningColor -> do
+            jWarningColor' <- unsafeManagedPtrGetPtr jWarningColor
+            return jWarningColor'
+    maybeErrorColor <- case errorColor of
+        Nothing -> return nullPtr
+        Just jErrorColor -> do
+            jErrorColor' <- unsafeManagedPtrGetPtr jErrorColor
+            return jErrorColor'
+    wasSymbolic <- allocMem :: IO (Ptr CInt)
+    onException (do
+        result <- propagateGError $ gtk_icon_info_load_symbolic iconInfo' fg' maybeSuccessColor maybeWarningColor maybeErrorColor wasSymbolic
+        checkUnexpectedReturnNULL "iconInfoLoadSymbolic" result
+        result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+        wasSymbolic' <- peek wasSymbolic
+        let wasSymbolic'' = (/= 0) wasSymbolic'
+        touchManagedPtr iconInfo
+        touchManagedPtr fg
+        whenJust successColor touchManagedPtr
+        whenJust warningColor touchManagedPtr
+        whenJust errorColor touchManagedPtr
+        freeMem wasSymbolic
+        return (result', wasSymbolic'')
+     ) (do
+        freeMem wasSymbolic
+     )
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicMethodInfo
+instance (signature ~ (Gdk.RGBA.RGBA -> Maybe (Gdk.RGBA.RGBA) -> Maybe (Gdk.RGBA.RGBA) -> Maybe (Gdk.RGBA.RGBA) -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoLoadSymbolicMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadSymbolic
+
+#endif
+
+-- method IconInfo::load_symbolic_async
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo from gtk_icon_theme_lookup_icon()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fg", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA representing the foreground color of the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "success_color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkRGBA representing the warning color\n    of the icon or %NULL to use the default color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "warning_color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkRGBA representing the warning color\n    of the icon or %NULL to use the default color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error_color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkRGBA representing the error color\n    of the icon or %NULL to use the default color (allow-none)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "optional #GCancellable object,\n    %NULL to ignore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GAsyncReadyCallback to call when the\n    request is satisfied", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 7, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to pass to callback function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_symbolic_async" gtk_icon_info_load_symbolic_async :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gdk.RGBA.RGBA ->                    -- fg : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    Ptr Gdk.RGBA.RGBA ->                    -- success_color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    Ptr Gdk.RGBA.RGBA ->                    -- warning_color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    Ptr Gdk.RGBA.RGBA ->                    -- error_color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})
+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Asynchronously load, render and scale a symbolic icon previously looked up
+from the icon theme using 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon'.
+
+For more details, see 'GI.Gtk.Objects.IconInfo.iconInfoLoadSymbolic' which is the synchronous
+version of this call.
+
+/Since: 3.8/
+-}
+iconInfoLoadSymbolicAsync ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a, Gio.Cancellable.IsCancellable b) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' from 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' -}
+    -> Gdk.RGBA.RGBA
+    {- ^ /@fg@/: a 'GI.Gdk.Structs.RGBA.RGBA' representing the foreground color of the icon -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@successColor@/: a 'GI.Gdk.Structs.RGBA.RGBA' representing the warning color
+    of the icon or 'Nothing' to use the default color -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@warningColor@/: a 'GI.Gdk.Structs.RGBA.RGBA' representing the warning color
+    of the icon or 'Nothing' to use the default color -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@errorColor@/: a 'GI.Gdk.Structs.RGBA.RGBA' representing the error color
+    of the icon or 'Nothing' to use the default color (allow-none) -}
+    -> Maybe (b)
+    {- ^ /@cancellable@/: optional 'GI.Gio.Objects.Cancellable.Cancellable' object,
+    'Nothing' to ignore -}
+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)
+    {- ^ /@callback@/: a 'GI.Gio.Callbacks.AsyncReadyCallback' to call when the
+    request is satisfied -}
+    -> m ()
+iconInfoLoadSymbolicAsync iconInfo fg successColor warningColor errorColor cancellable callback = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    fg' <- unsafeManagedPtrGetPtr fg
+    maybeSuccessColor <- case successColor of
+        Nothing -> return nullPtr
+        Just jSuccessColor -> do
+            jSuccessColor' <- unsafeManagedPtrGetPtr jSuccessColor
+            return jSuccessColor'
+    maybeWarningColor <- case warningColor of
+        Nothing -> return nullPtr
+        Just jWarningColor -> do
+            jWarningColor' <- unsafeManagedPtrGetPtr jWarningColor
+            return jWarningColor'
+    maybeErrorColor <- case errorColor of
+        Nothing -> return nullPtr
+        Just jErrorColor -> do
+            jErrorColor' <- unsafeManagedPtrGetPtr jErrorColor
+            return jErrorColor'
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    maybeCallback <- case callback of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jCallback -> do
+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))
+            poke ptrcallback jCallback'
+            return jCallback'
+    let userData = nullPtr
+    gtk_icon_info_load_symbolic_async iconInfo' fg' maybeSuccessColor maybeWarningColor maybeErrorColor maybeCancellable maybeCallback userData
+    touchManagedPtr iconInfo
+    touchManagedPtr fg
+    whenJust successColor touchManagedPtr
+    whenJust warningColor touchManagedPtr
+    whenJust errorColor touchManagedPtr
+    whenJust cancellable touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicAsyncMethodInfo
+instance (signature ~ (Gdk.RGBA.RGBA -> Maybe (Gdk.RGBA.RGBA) -> Maybe (Gdk.RGBA.RGBA) -> Maybe (Gdk.RGBA.RGBA) -> Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsIconInfo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo IconInfoLoadSymbolicAsyncMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadSymbolicAsync
+
+#endif
+
+-- method IconInfo::load_symbolic_finish
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo from gtk_icon_theme_lookup_icon()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "res", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "was_symbolic", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gboolean, returns whether the\n    loaded icon was a symbolic one and whether the @fg color was\n    applied to it.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_symbolic_finish" gtk_icon_info_load_symbolic_finish :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gio.AsyncResult.AsyncResult ->      -- res : TInterface (Name {namespace = "Gio", name = "AsyncResult"})
+    Ptr CInt ->                             -- was_symbolic : TBasicType TBoolean
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Finishes an async icon load, see 'GI.Gtk.Objects.IconInfo.iconInfoLoadSymbolicAsync'.
+
+/Since: 3.8/
+-}
+iconInfoLoadSymbolicFinish ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a, Gio.AsyncResult.IsAsyncResult b) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' from 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' -}
+    -> b
+    {- ^ /@res@/: a 'GI.Gio.Interfaces.AsyncResult.AsyncResult' -}
+    -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))
+    {- ^ __Returns:__ the rendered icon; this may be a newly
+    created icon or a new reference to an internal icon, so you must
+    not modify the icon. Use 'GI.GObject.Objects.Object.objectUnref' to release your reference
+    to the icon. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconInfoLoadSymbolicFinish iconInfo res = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    res' <- unsafeManagedPtrCastPtr res
+    wasSymbolic <- allocMem :: IO (Ptr CInt)
+    onException (do
+        result <- propagateGError $ gtk_icon_info_load_symbolic_finish iconInfo' res' wasSymbolic
+        checkUnexpectedReturnNULL "iconInfoLoadSymbolicFinish" result
+        result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+        wasSymbolic' <- peek wasSymbolic
+        let wasSymbolic'' = (/= 0) wasSymbolic'
+        touchManagedPtr iconInfo
+        touchManagedPtr res
+        freeMem wasSymbolic
+        return (result', wasSymbolic'')
+     ) (do
+        freeMem wasSymbolic
+     )
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicFinishMethodInfo
+instance (signature ~ (b -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))), MonadIO m, IsIconInfo a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo IconInfoLoadSymbolicFinishMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadSymbolicFinish
+
+#endif
+
+-- method IconInfo::load_symbolic_for_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "was_symbolic", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gboolean, returns whether the\n    loaded icon was a symbolic one and whether the @fg color was\n    applied to it.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_symbolic_for_context" gtk_icon_info_load_symbolic_for_context :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr CInt ->                             -- was_symbolic : TBasicType TBoolean
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Loads an icon, modifying it to match the system colors for the foreground,
+success, warning and error colors provided. If the icon is not a symbolic
+one, the function will return the result from 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'.
+This function uses the regular foreground color and the symbolic colors
+with the names “success_color”, “warning_color” and “error_color” from
+the context.
+
+This allows loading symbolic icons that will match the system theme.
+
+See 'GI.Gtk.Objects.IconInfo.iconInfoLoadSymbolic' for more details.
+
+/Since: 3.0/
+-}
+iconInfoLoadSymbolicForContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a, Gtk.StyleContext.IsStyleContext b) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> b
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))
+    {- ^ __Returns:__ a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' representing the loaded icon /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconInfoLoadSymbolicForContext iconInfo context = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    context' <- unsafeManagedPtrCastPtr context
+    wasSymbolic <- allocMem :: IO (Ptr CInt)
+    onException (do
+        result <- propagateGError $ gtk_icon_info_load_symbolic_for_context iconInfo' context' wasSymbolic
+        checkUnexpectedReturnNULL "iconInfoLoadSymbolicForContext" result
+        result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+        wasSymbolic' <- peek wasSymbolic
+        let wasSymbolic'' = (/= 0) wasSymbolic'
+        touchManagedPtr iconInfo
+        touchManagedPtr context
+        freeMem wasSymbolic
+        return (result', wasSymbolic'')
+     ) (do
+        freeMem wasSymbolic
+     )
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicForContextMethodInfo
+instance (signature ~ (b -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))), MonadIO m, IsIconInfo a, Gtk.StyleContext.IsStyleContext b) => O.MethodInfo IconInfoLoadSymbolicForContextMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadSymbolicForContext
+
+#endif
+
+-- method IconInfo::load_symbolic_for_context_async
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo from gtk_icon_theme_lookup_icon()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "optional #GCancellable object,\n    %NULL to ignore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GAsyncReadyCallback to call when the\n    request is satisfied", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to pass to callback function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_symbolic_for_context_async" gtk_icon_info_load_symbolic_for_context_async :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})
+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Asynchronously load, render and scale a symbolic icon previously
+looked up from the icon theme using 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon'.
+
+For more details, see 'GI.Gtk.Objects.IconInfo.iconInfoLoadSymbolicForContext'
+which is the synchronous version of this call.
+
+/Since: 3.8/
+-}
+iconInfoLoadSymbolicForContextAsync ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a, Gtk.StyleContext.IsStyleContext b, Gio.Cancellable.IsCancellable c) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' from 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' -}
+    -> b
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Maybe (c)
+    {- ^ /@cancellable@/: optional 'GI.Gio.Objects.Cancellable.Cancellable' object,
+    'Nothing' to ignore -}
+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)
+    {- ^ /@callback@/: a 'GI.Gio.Callbacks.AsyncReadyCallback' to call when the
+    request is satisfied -}
+    -> m ()
+iconInfoLoadSymbolicForContextAsync iconInfo context cancellable callback = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    context' <- unsafeManagedPtrCastPtr context
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    maybeCallback <- case callback of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jCallback -> do
+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))
+            poke ptrcallback jCallback'
+            return jCallback'
+    let userData = nullPtr
+    gtk_icon_info_load_symbolic_for_context_async iconInfo' context' maybeCancellable maybeCallback userData
+    touchManagedPtr iconInfo
+    touchManagedPtr context
+    whenJust cancellable touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicForContextAsyncMethodInfo
+instance (signature ~ (b -> Maybe (c) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsIconInfo a, Gtk.StyleContext.IsStyleContext b, Gio.Cancellable.IsCancellable c) => O.MethodInfo IconInfoLoadSymbolicForContextAsyncMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadSymbolicForContextAsync
+
+#endif
+
+-- method IconInfo::load_symbolic_for_context_finish
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo from gtk_icon_theme_lookup_icon()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "res", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "was_symbolic", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gboolean, returns whether the\n    loaded icon was a symbolic one and whether the @fg color was\n    applied to it.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_symbolic_for_context_finish" gtk_icon_info_load_symbolic_for_context_finish :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gio.AsyncResult.AsyncResult ->      -- res : TInterface (Name {namespace = "Gio", name = "AsyncResult"})
+    Ptr CInt ->                             -- was_symbolic : TBasicType TBoolean
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Finishes an async icon load, see 'GI.Gtk.Objects.IconInfo.iconInfoLoadSymbolicForContextAsync'.
+
+/Since: 3.8/
+-}
+iconInfoLoadSymbolicForContextFinish ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a, Gio.AsyncResult.IsAsyncResult b) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' from 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' -}
+    -> b
+    {- ^ /@res@/: a 'GI.Gio.Interfaces.AsyncResult.AsyncResult' -}
+    -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))
+    {- ^ __Returns:__ the rendered icon; this may be a newly
+    created icon or a new reference to an internal icon, so you must
+    not modify the icon. Use 'GI.GObject.Objects.Object.objectUnref' to release your reference
+    to the icon. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconInfoLoadSymbolicForContextFinish iconInfo res = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    res' <- unsafeManagedPtrCastPtr res
+    wasSymbolic <- allocMem :: IO (Ptr CInt)
+    onException (do
+        result <- propagateGError $ gtk_icon_info_load_symbolic_for_context_finish iconInfo' res' wasSymbolic
+        checkUnexpectedReturnNULL "iconInfoLoadSymbolicForContextFinish" result
+        result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+        wasSymbolic' <- peek wasSymbolic
+        let wasSymbolic'' = (/= 0) wasSymbolic'
+        touchManagedPtr iconInfo
+        touchManagedPtr res
+        freeMem wasSymbolic
+        return (result', wasSymbolic'')
+     ) (do
+        freeMem wasSymbolic
+     )
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicForContextFinishMethodInfo
+instance (signature ~ (b -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))), MonadIO m, IsIconInfo a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo IconInfoLoadSymbolicForContextFinishMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadSymbolicForContextFinish
+
+#endif
+
+-- method IconInfo::load_symbolic_for_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle to take the colors from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget state to use for colors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "was_symbolic", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gboolean, returns whether the\n    loaded icon was a symbolic one and whether the @fg color was\n    applied to it.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_load_symbolic_for_style" gtk_icon_info_load_symbolic_for_style :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr CInt ->                             -- was_symbolic : TBasicType TBoolean
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED iconInfoLoadSymbolicForStyle ["(Since version 3.0)","Use 'GI.Gtk.Objects.IconInfo.iconInfoLoadSymbolicForContext' instead"] #-}
+{- |
+Loads an icon, modifying it to match the system colours for the foreground,
+success, warning and error colors provided. If the icon is not a symbolic
+one, the function will return the result from 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'.
+
+This allows loading symbolic icons that will match the system theme.
+
+See 'GI.Gtk.Objects.IconInfo.iconInfoLoadSymbolic' for more details.
+
+/Since: 3.0/
+-}
+iconInfoLoadSymbolicForStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a, Gtk.Style.IsStyle b) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> b
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' to take the colors from -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: the widget state to use for colors -}
+    -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))
+    {- ^ __Returns:__ a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' representing the loaded icon /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconInfoLoadSymbolicForStyle iconInfo style state = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    style' <- unsafeManagedPtrCastPtr style
+    let state' = (fromIntegral . fromEnum) state
+    wasSymbolic <- allocMem :: IO (Ptr CInt)
+    onException (do
+        result <- propagateGError $ gtk_icon_info_load_symbolic_for_style iconInfo' style' state' wasSymbolic
+        checkUnexpectedReturnNULL "iconInfoLoadSymbolicForStyle" result
+        result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+        wasSymbolic' <- peek wasSymbolic
+        let wasSymbolic'' = (/= 0) wasSymbolic'
+        touchManagedPtr iconInfo
+        touchManagedPtr style
+        freeMem wasSymbolic
+        return (result', wasSymbolic'')
+     ) (do
+        freeMem wasSymbolic
+     )
+
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicForStyleMethodInfo
+instance (signature ~ (b -> Gtk.Enums.StateType -> m ((GdkPixbuf.Pixbuf.Pixbuf, Bool))), MonadIO m, IsIconInfo a, Gtk.Style.IsStyle b) => O.MethodInfo IconInfoLoadSymbolicForStyleMethodInfo a signature where
+    overloadedMethod _ = iconInfoLoadSymbolicForStyle
+
+#endif
+
+-- method IconInfo::set_raw_coordinates
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_info", argType = TInterface (Name {namespace = "Gtk", name = "IconInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "raw_coordinates", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the coordinates of embedded rectangles\n    and attached points should be returned in their original\n    (unscaled) form.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_info_set_raw_coordinates" gtk_icon_info_set_raw_coordinates :: 
+    Ptr IconInfo ->                         -- icon_info : TInterface (Name {namespace = "Gtk", name = "IconInfo"})
+    CInt ->                                 -- raw_coordinates : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED iconInfoSetRawCoordinates ["(Since version 3.14)","Embedded rectangles and attachment points are deprecated"] #-}
+{- |
+Sets whether the coordinates returned by 'GI.Gtk.Objects.IconInfo.iconInfoGetEmbeddedRect'
+and 'GI.Gtk.Objects.IconInfo.iconInfoGetAttachPoints' should be returned in their
+original form as specified in the icon theme, instead of scaled
+appropriately for the pixbuf returned by 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'.
+
+Raw coordinates are somewhat strange; they are specified to be with
+respect to the unscaled pixmap for PNG and XPM icons, but for SVG
+icons, they are in a 1000x1000 coordinate space that is scaled
+to the final size of the icon.  You can determine if the icon is an SVG
+icon by using 'GI.Gtk.Objects.IconInfo.iconInfoGetFilename', and seeing if it is non-'Nothing'
+and ends in “.svg”.
+
+This function is provided primarily to allow compatibility wrappers
+for older API\'s, and is not expected to be useful for applications.
+
+/Since: 2.4/
+-}
+iconInfoSetRawCoordinates ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconInfo a) =>
+    a
+    {- ^ /@iconInfo@/: a 'GI.Gtk.Objects.IconInfo.IconInfo' -}
+    -> Bool
+    {- ^ /@rawCoordinates@/: whether the coordinates of embedded rectangles
+    and attached points should be returned in their original
+    (unscaled) form. -}
+    -> m ()
+iconInfoSetRawCoordinates iconInfo rawCoordinates = liftIO $ do
+    iconInfo' <- unsafeManagedPtrCastPtr iconInfo
+    let rawCoordinates' = (fromIntegral . fromEnum) rawCoordinates
+    gtk_icon_info_set_raw_coordinates iconInfo' rawCoordinates'
+    touchManagedPtr iconInfo
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconInfoSetRawCoordinatesMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsIconInfo a) => O.MethodInfo IconInfoSetRawCoordinatesMethodInfo a signature where
+    overloadedMethod _ = iconInfoSetRawCoordinates
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/IconInfo.hs-boot b/GI/Gtk/Objects/IconInfo.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconInfo.hs-boot
@@ -0,0 +1,89 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.IconInfo where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IconInfo = IconInfo (ManagedPtr IconInfo)
+instance GObject IconInfo where
+class (GObject o, O.IsDescendantOf IconInfo o) => IsIconInfo o
+instance (GObject o, O.IsDescendantOf IconInfo o) => IsIconInfo o
+instance O.HasParentTypes IconInfo
+#if ENABLE_OVERLOADING
+data IconInfoGetAttachPointsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoGetBaseScaleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoGetBaseSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoGetBuiltinPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoGetDisplayNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoGetEmbeddedRectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoGetFilenameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoIsSymbolicMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadIconAsyncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadIconFinishMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadSurfaceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicAsyncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicFinishMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicForContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicForContextAsyncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicForContextFinishMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoLoadSymbolicForStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconInfoSetRawCoordinatesMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/IconTheme.hs b/GI/Gtk/Objects/IconTheme.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconTheme.hs
@@ -0,0 +1,1879 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.IconTheme.IconTheme' provides a facility for looking up icons by name
+and size. The main reason for using a name rather than simply
+providing a filename is to allow different icons to be used
+depending on what “icon theme” is selected
+by the user. The operation of icon themes on Linux and Unix
+follows the <http://www.freedesktop.org/Standards/icon-theme-spec Icon Theme Specification>
+There is a fallback icon theme, named @hicolor@, where applications
+should install their icons, but additional icon themes can be installed
+as operating system vendors and users choose.
+
+Named icons are similar to the deprecated [Stock Items][gtkstock],
+and the distinction between the two may be a bit confusing.
+A few things to keep in mind:
+
+* Stock images usually are used in conjunction with
+[Stock Items][gtkstock], such as 'GI.Gtk.Constants.STOCK_OK' or
+'GI.Gtk.Constants.STOCK_OPEN'. Named icons are easier to set up and therefore
+are more useful for new icons that an application wants to
+add, such as application icons or window icons.
+* Stock images can only be loaded at the symbolic sizes defined
+by the 'GI.Gtk.Enums.IconSize' enumeration, or by custom sizes defined
+by 'GI.Gtk.Functions.iconSizeRegister', while named icons are more flexible
+and any pixel size can be specified.
+* Because stock images are closely tied to stock items, and thus
+to actions in the user interface, stock images may come in
+multiple variants for different widget states or writing
+directions.
+
+
+A good rule of thumb is that if there is a stock image for what
+you want to use, use it, otherwise use a named icon. It turns
+out that internally stock images are generally defined in
+terms of one or more named icons. (An example of the
+more than one case is icons that depend on writing direction;
+'GI.Gtk.Constants.STOCK_GO_FORWARD' uses the two themed icons
+“gtk-stock-go-forward-ltr” and “gtk-stock-go-forward-rtl”.)
+
+In many cases, named themes are used indirectly, via 'GI.Gtk.Objects.Image.Image'
+or stock items, rather than directly, but looking up icons
+directly is also simple. The 'GI.Gtk.Objects.IconTheme.IconTheme' object acts
+as a database of all the icons in the current theme. You
+can create new 'GI.Gtk.Objects.IconTheme.IconTheme' objects, but it’s much more
+efficient to use the standard icon theme for the 'GI.Gdk.Objects.Screen.Screen'
+so that the icon information is shared with other people
+looking up icons.
+
+=== /C code/
+>
+>GError *error = NULL;
+>GtkIconTheme *icon_theme;
+>GdkPixbuf *pixbuf;
+>
+>icon_theme = gtk_icon_theme_get_default ();
+>pixbuf = gtk_icon_theme_load_icon (icon_theme,
+>                                   "my-icon-name", // icon name
+>                                   48, // icon size
+>                                   0,  // flags
+>                                   &error);
+>if (!pixbuf)
+>  {
+>    g_warning ("Couldn’t load icon: %s", error->message);
+>    g_error_free (error);
+>  }
+>else
+>  {
+>    // Use the pixbuf
+>    g_object_unref (pixbuf);
+>  }
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.IconTheme
+    ( 
+
+-- * Exported types
+    IconTheme(..)                           ,
+    IsIconTheme                             ,
+    toIconTheme                             ,
+    noIconTheme                             ,
+
+
+ -- * Methods
+-- ** addBuiltinIcon #method:addBuiltinIcon#
+
+    iconThemeAddBuiltinIcon                 ,
+
+
+-- ** addResourcePath #method:addResourcePath#
+
+#if ENABLE_OVERLOADING
+    IconThemeAddResourcePathMethodInfo      ,
+#endif
+    iconThemeAddResourcePath                ,
+
+
+-- ** appendSearchPath #method:appendSearchPath#
+
+#if ENABLE_OVERLOADING
+    IconThemeAppendSearchPathMethodInfo     ,
+#endif
+    iconThemeAppendSearchPath               ,
+
+
+-- ** chooseIcon #method:chooseIcon#
+
+#if ENABLE_OVERLOADING
+    IconThemeChooseIconMethodInfo           ,
+#endif
+    iconThemeChooseIcon                     ,
+
+
+-- ** chooseIconForScale #method:chooseIconForScale#
+
+#if ENABLE_OVERLOADING
+    IconThemeChooseIconForScaleMethodInfo   ,
+#endif
+    iconThemeChooseIconForScale             ,
+
+
+-- ** getDefault #method:getDefault#
+
+    iconThemeGetDefault                     ,
+
+
+-- ** getExampleIconName #method:getExampleIconName#
+
+#if ENABLE_OVERLOADING
+    IconThemeGetExampleIconNameMethodInfo   ,
+#endif
+    iconThemeGetExampleIconName             ,
+
+
+-- ** getForScreen #method:getForScreen#
+
+    iconThemeGetForScreen                   ,
+
+
+-- ** getIconSizes #method:getIconSizes#
+
+#if ENABLE_OVERLOADING
+    IconThemeGetIconSizesMethodInfo         ,
+#endif
+    iconThemeGetIconSizes                   ,
+
+
+-- ** getSearchPath #method:getSearchPath#
+
+#if ENABLE_OVERLOADING
+    IconThemeGetSearchPathMethodInfo        ,
+#endif
+    iconThemeGetSearchPath                  ,
+
+
+-- ** hasIcon #method:hasIcon#
+
+#if ENABLE_OVERLOADING
+    IconThemeHasIconMethodInfo              ,
+#endif
+    iconThemeHasIcon                        ,
+
+
+-- ** listContexts #method:listContexts#
+
+#if ENABLE_OVERLOADING
+    IconThemeListContextsMethodInfo         ,
+#endif
+    iconThemeListContexts                   ,
+
+
+-- ** listIcons #method:listIcons#
+
+#if ENABLE_OVERLOADING
+    IconThemeListIconsMethodInfo            ,
+#endif
+    iconThemeListIcons                      ,
+
+
+-- ** loadIcon #method:loadIcon#
+
+#if ENABLE_OVERLOADING
+    IconThemeLoadIconMethodInfo             ,
+#endif
+    iconThemeLoadIcon                       ,
+
+
+-- ** loadIconForScale #method:loadIconForScale#
+
+#if ENABLE_OVERLOADING
+    IconThemeLoadIconForScaleMethodInfo     ,
+#endif
+    iconThemeLoadIconForScale               ,
+
+
+-- ** loadSurface #method:loadSurface#
+
+#if ENABLE_OVERLOADING
+    IconThemeLoadSurfaceMethodInfo          ,
+#endif
+    iconThemeLoadSurface                    ,
+
+
+-- ** lookupByGicon #method:lookupByGicon#
+
+#if ENABLE_OVERLOADING
+    IconThemeLookupByGiconMethodInfo        ,
+#endif
+    iconThemeLookupByGicon                  ,
+
+
+-- ** lookupByGiconForScale #method:lookupByGiconForScale#
+
+#if ENABLE_OVERLOADING
+    IconThemeLookupByGiconForScaleMethodInfo,
+#endif
+    iconThemeLookupByGiconForScale          ,
+
+
+-- ** lookupIcon #method:lookupIcon#
+
+#if ENABLE_OVERLOADING
+    IconThemeLookupIconMethodInfo           ,
+#endif
+    iconThemeLookupIcon                     ,
+
+
+-- ** lookupIconForScale #method:lookupIconForScale#
+
+#if ENABLE_OVERLOADING
+    IconThemeLookupIconForScaleMethodInfo   ,
+#endif
+    iconThemeLookupIconForScale             ,
+
+
+-- ** new #method:new#
+
+    iconThemeNew                            ,
+
+
+-- ** prependSearchPath #method:prependSearchPath#
+
+#if ENABLE_OVERLOADING
+    IconThemePrependSearchPathMethodInfo    ,
+#endif
+    iconThemePrependSearchPath              ,
+
+
+-- ** rescanIfNeeded #method:rescanIfNeeded#
+
+#if ENABLE_OVERLOADING
+    IconThemeRescanIfNeededMethodInfo       ,
+#endif
+    iconThemeRescanIfNeeded                 ,
+
+
+-- ** setCustomTheme #method:setCustomTheme#
+
+#if ENABLE_OVERLOADING
+    IconThemeSetCustomThemeMethodInfo       ,
+#endif
+    iconThemeSetCustomTheme                 ,
+
+
+-- ** setScreen #method:setScreen#
+
+#if ENABLE_OVERLOADING
+    IconThemeSetScreenMethodInfo            ,
+#endif
+    iconThemeSetScreen                      ,
+
+
+-- ** setSearchPath #method:setSearchPath#
+
+#if ENABLE_OVERLOADING
+    IconThemeSetSearchPathMethodInfo        ,
+#endif
+    iconThemeSetSearchPath                  ,
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    C_IconThemeChangedCallback              ,
+    IconThemeChangedCallback                ,
+#if ENABLE_OVERLOADING
+    IconThemeChangedSignalInfo              ,
+#endif
+    afterIconThemeChanged                   ,
+    genClosure_IconThemeChanged             ,
+    mk_IconThemeChangedCallback             ,
+    noIconThemeChangedCallback              ,
+    onIconThemeChanged                      ,
+    wrap_IconThemeChangedCallback           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Surface as Cairo.Surface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Objects.IconInfo as Gtk.IconInfo
+
+-- | Memory-managed wrapper type.
+newtype IconTheme = IconTheme (ManagedPtr IconTheme)
+foreign import ccall "gtk_icon_theme_get_type"
+    c_gtk_icon_theme_get_type :: IO GType
+
+instance GObject IconTheme where
+    gobjectType = c_gtk_icon_theme_get_type
+    
+
+-- | Type class for types which can be safely cast to `IconTheme`, for instance with `toIconTheme`.
+class (GObject o, O.IsDescendantOf IconTheme o) => IsIconTheme o
+instance (GObject o, O.IsDescendantOf IconTheme o) => IsIconTheme o
+
+instance O.HasParentTypes IconTheme
+type instance O.ParentTypes IconTheme = '[GObject.Object.Object]
+
+-- | Cast to `IconTheme`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toIconTheme :: (MonadIO m, IsIconTheme o) => o -> m IconTheme
+toIconTheme = liftIO . unsafeCastTo IconTheme
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IconTheme`.
+noIconTheme :: Maybe IconTheme
+noIconTheme = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveIconThemeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIconThemeMethod "addResourcePath" o = IconThemeAddResourcePathMethodInfo
+    ResolveIconThemeMethod "appendSearchPath" o = IconThemeAppendSearchPathMethodInfo
+    ResolveIconThemeMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveIconThemeMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveIconThemeMethod "chooseIcon" o = IconThemeChooseIconMethodInfo
+    ResolveIconThemeMethod "chooseIconForScale" o = IconThemeChooseIconForScaleMethodInfo
+    ResolveIconThemeMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveIconThemeMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveIconThemeMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveIconThemeMethod "hasIcon" o = IconThemeHasIconMethodInfo
+    ResolveIconThemeMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveIconThemeMethod "listContexts" o = IconThemeListContextsMethodInfo
+    ResolveIconThemeMethod "listIcons" o = IconThemeListIconsMethodInfo
+    ResolveIconThemeMethod "loadIcon" o = IconThemeLoadIconMethodInfo
+    ResolveIconThemeMethod "loadIconForScale" o = IconThemeLoadIconForScaleMethodInfo
+    ResolveIconThemeMethod "loadSurface" o = IconThemeLoadSurfaceMethodInfo
+    ResolveIconThemeMethod "lookupByGicon" o = IconThemeLookupByGiconMethodInfo
+    ResolveIconThemeMethod "lookupByGiconForScale" o = IconThemeLookupByGiconForScaleMethodInfo
+    ResolveIconThemeMethod "lookupIcon" o = IconThemeLookupIconMethodInfo
+    ResolveIconThemeMethod "lookupIconForScale" o = IconThemeLookupIconForScaleMethodInfo
+    ResolveIconThemeMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveIconThemeMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveIconThemeMethod "prependSearchPath" o = IconThemePrependSearchPathMethodInfo
+    ResolveIconThemeMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveIconThemeMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveIconThemeMethod "rescanIfNeeded" o = IconThemeRescanIfNeededMethodInfo
+    ResolveIconThemeMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveIconThemeMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveIconThemeMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveIconThemeMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveIconThemeMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveIconThemeMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveIconThemeMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveIconThemeMethod "getExampleIconName" o = IconThemeGetExampleIconNameMethodInfo
+    ResolveIconThemeMethod "getIconSizes" o = IconThemeGetIconSizesMethodInfo
+    ResolveIconThemeMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveIconThemeMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveIconThemeMethod "getSearchPath" o = IconThemeGetSearchPathMethodInfo
+    ResolveIconThemeMethod "setCustomTheme" o = IconThemeSetCustomThemeMethodInfo
+    ResolveIconThemeMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveIconThemeMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveIconThemeMethod "setScreen" o = IconThemeSetScreenMethodInfo
+    ResolveIconThemeMethod "setSearchPath" o = IconThemeSetSearchPathMethodInfo
+    ResolveIconThemeMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIconThemeMethod t IconTheme, O.MethodInfo info IconTheme p) => OL.IsLabel t (IconTheme -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal IconTheme::changed
+{- |
+Emitted when the current icon theme is switched or GTK+ detects
+that a change has occurred in the contents of the current
+icon theme.
+-}
+type IconThemeChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconThemeChangedCallback`@.
+noIconThemeChangedCallback :: Maybe IconThemeChangedCallback
+noIconThemeChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconThemeChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IconThemeChangedCallback`.
+foreign import ccall "wrapper"
+    mk_IconThemeChangedCallback :: C_IconThemeChangedCallback -> IO (FunPtr C_IconThemeChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconThemeChanged :: MonadIO m => IconThemeChangedCallback -> m (GClosure C_IconThemeChangedCallback)
+genClosure_IconThemeChanged cb = liftIO $ do
+    let cb' = wrap_IconThemeChangedCallback cb
+    mk_IconThemeChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconThemeChangedCallback` into a `C_IconThemeChangedCallback`.
+wrap_IconThemeChangedCallback ::
+    IconThemeChangedCallback ->
+    C_IconThemeChangedCallback
+wrap_IconThemeChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iconTheme #changed callback
+@
+-}
+onIconThemeChanged :: (IsIconTheme a, MonadIO m) => a -> IconThemeChangedCallback -> m SignalHandlerId
+onIconThemeChanged obj cb = liftIO $ do
+    let cb' = wrap_IconThemeChangedCallback cb
+    cb'' <- mk_IconThemeChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iconTheme #changed callback
+@
+-}
+afterIconThemeChanged :: (IsIconTheme a, MonadIO m) => a -> IconThemeChangedCallback -> m SignalHandlerId
+afterIconThemeChanged obj cb = liftIO $ do
+    let cb' = wrap_IconThemeChangedCallback cb
+    cb'' <- mk_IconThemeChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IconTheme
+type instance O.AttributeList IconTheme = IconThemeAttributeList
+type IconThemeAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data IconThemeChangedSignalInfo
+instance SignalInfo IconThemeChangedSignalInfo where
+    type HaskellCallbackType IconThemeChangedSignalInfo = IconThemeChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IconThemeChangedCallback cb
+        cb'' <- mk_IconThemeChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+type instance O.SignalList IconTheme = IconThemeSignalList
+type IconThemeSignalList = ('[ '("changed", IconThemeChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method IconTheme::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconTheme"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_new" gtk_icon_theme_new :: 
+    IO (Ptr IconTheme)
+
+{- |
+Creates a new icon theme object. Icon theme objects are used
+to lookup up an icon by name in a particular icon theme.
+Usually, you’ll want to use 'GI.Gtk.Objects.IconTheme.iconThemeGetDefault'
+or 'GI.Gtk.Objects.IconTheme.iconThemeGetForScreen' rather than creating
+a new icon theme object for scratch.
+
+/Since: 2.4/
+-}
+iconThemeNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m IconTheme
+    {- ^ __Returns:__ the newly created 'GI.Gtk.Objects.IconTheme.IconTheme' object. -}
+iconThemeNew  = liftIO $ do
+    result <- gtk_icon_theme_new
+    checkUnexpectedReturnNULL "iconThemeNew" result
+    result' <- (wrapObject IconTheme) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconTheme::add_resource_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a resource path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_add_resource_path" gtk_icon_theme_add_resource_path :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- path : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a resource path that will be looked at when looking
+for icons, similar to search paths.
+
+This function should be used to make application-specific icons
+available as part of the icon theme.
+
+The resources are considered as part of the hicolor icon theme
+and must be located in subdirectories that are defined in the
+hicolor icon theme, such as @\@path\/16x16\/actions\/run.png@.
+Icons that are directly placed in the resource path instead
+of a subdirectory are also considered as ultimate fallback.
+
+/Since: 3.14/
+-}
+iconThemeAddResourcePath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> T.Text
+    {- ^ /@path@/: a resource path -}
+    -> m ()
+iconThemeAddResourcePath iconTheme path = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    path' <- textToCString path
+    gtk_icon_theme_add_resource_path iconTheme' path'
+    touchManagedPtr iconTheme
+    freeMem path'
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconThemeAddResourcePathMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeAddResourcePathMethodInfo a signature where
+    overloadedMethod _ = iconThemeAddResourcePath
+
+#endif
+
+-- method IconTheme::append_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "directory name to append to the icon path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_append_search_path" gtk_icon_theme_append_search_path :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- path : TBasicType TFileName
+    IO ()
+
+{- |
+Appends a directory to the search path.
+See 'GI.Gtk.Objects.IconTheme.iconThemeSetSearchPath'.
+
+/Since: 2.4/
+-}
+iconThemeAppendSearchPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> [Char]
+    {- ^ /@path@/: directory name to append to the icon path -}
+    -> m ()
+iconThemeAppendSearchPath iconTheme path = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    path' <- stringToCString path
+    gtk_icon_theme_append_search_path iconTheme' path'
+    touchManagedPtr iconTheme
+    freeMem path'
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconThemeAppendSearchPathMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeAppendSearchPathMethodInfo a signature where
+    overloadedMethod _ = iconThemeAppendSearchPath
+
+#endif
+
+-- method IconTheme::choose_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_names", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%NULL-terminated array of\n    icon names to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired icon size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags modifying the behavior of the icon lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_choose_icon" gtk_icon_theme_choose_icon :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    Ptr CString ->                          -- icon_names : TCArray True (-1) (-1) (TBasicType TUTF8)
+    Int32 ->                                -- size : TBasicType TInt
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"})
+    IO (Ptr Gtk.IconInfo.IconInfo)
+
+{- |
+Looks up a named icon and returns a 'GI.Gtk.Objects.IconInfo.IconInfo' containing
+information such as the filename of the icon. The icon
+can then be rendered into a pixbuf using
+'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'. ('GI.Gtk.Objects.IconTheme.iconThemeLoadIcon'
+combines these two steps if all you need is the pixbuf.)
+
+If /@iconNames@/ contains more than one name, this function
+tries them all in the given order before falling back to
+inherited icon themes.
+
+/Since: 2.12/
+-}
+iconThemeChooseIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> [T.Text]
+    {- ^ /@iconNames@/: 'Nothing'-terminated array of
+    icon names to lookup -}
+    -> Int32
+    {- ^ /@size@/: desired icon size -}
+    -> [Gtk.Flags.IconLookupFlags]
+    {- ^ /@flags@/: flags modifying the behavior of the icon lookup -}
+    -> m (Maybe Gtk.IconInfo.IconInfo)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.IconInfo.IconInfo' object
+containing information about the icon, or 'Nothing' if the icon wasn’t
+found. -}
+iconThemeChooseIcon iconTheme iconNames size flags = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    iconNames' <- packZeroTerminatedUTF8CArray iconNames
+    let flags' = gflagsToWord flags
+    result <- gtk_icon_theme_choose_icon iconTheme' iconNames' size flags'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gtk.IconInfo.IconInfo) result'
+        return result''
+    touchManagedPtr iconTheme
+    mapZeroTerminatedCArray freeMem iconNames'
+    freeMem iconNames'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconThemeChooseIconMethodInfo
+instance (signature ~ ([T.Text] -> Int32 -> [Gtk.Flags.IconLookupFlags] -> m (Maybe Gtk.IconInfo.IconInfo)), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeChooseIconMethodInfo a signature where
+    overloadedMethod _ = iconThemeChooseIcon
+
+#endif
+
+-- method IconTheme::choose_icon_for_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_names", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%NULL-terminated\n    array of icon names to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired icon size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired scale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags modifying the behavior of the icon lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_choose_icon_for_scale" gtk_icon_theme_choose_icon_for_scale :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    Ptr CString ->                          -- icon_names : TCArray True (-1) (-1) (TBasicType TUTF8)
+    Int32 ->                                -- size : TBasicType TInt
+    Int32 ->                                -- scale : TBasicType TInt
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"})
+    IO (Ptr Gtk.IconInfo.IconInfo)
+
+{- |
+Looks up a named icon for a particular window scale and returns
+a 'GI.Gtk.Objects.IconInfo.IconInfo' containing information such as the filename of the
+icon. The icon can then be rendered into a pixbuf using
+'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'. ('GI.Gtk.Objects.IconTheme.iconThemeLoadIcon'
+combines these two steps if all you need is the pixbuf.)
+
+If /@iconNames@/ contains more than one name, this function
+tries them all in the given order before falling back to
+inherited icon themes.
+
+/Since: 3.10/
+-}
+iconThemeChooseIconForScale ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> [T.Text]
+    {- ^ /@iconNames@/: 'Nothing'-terminated
+    array of icon names to lookup -}
+    -> Int32
+    {- ^ /@size@/: desired icon size -}
+    -> Int32
+    {- ^ /@scale@/: desired scale -}
+    -> [Gtk.Flags.IconLookupFlags]
+    {- ^ /@flags@/: flags modifying the behavior of the icon lookup -}
+    -> m (Maybe Gtk.IconInfo.IconInfo)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.IconInfo.IconInfo' object
+    containing information about the icon, or 'Nothing' if the
+    icon wasn’t found. -}
+iconThemeChooseIconForScale iconTheme iconNames size scale flags = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    iconNames' <- packZeroTerminatedUTF8CArray iconNames
+    let flags' = gflagsToWord flags
+    result <- gtk_icon_theme_choose_icon_for_scale iconTheme' iconNames' size scale flags'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gtk.IconInfo.IconInfo) result'
+        return result''
+    touchManagedPtr iconTheme
+    mapZeroTerminatedCArray freeMem iconNames'
+    freeMem iconNames'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconThemeChooseIconForScaleMethodInfo
+instance (signature ~ ([T.Text] -> Int32 -> Int32 -> [Gtk.Flags.IconLookupFlags] -> m (Maybe Gtk.IconInfo.IconInfo)), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeChooseIconForScaleMethodInfo a signature where
+    overloadedMethod _ = iconThemeChooseIconForScale
+
+#endif
+
+-- method IconTheme::get_example_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_get_example_icon_name" gtk_icon_theme_get_example_icon_name :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    IO CString
+
+{- |
+Gets the name of an icon that is representative of the
+current theme (for instance, to use when presenting
+a list of themes to the user.)
+
+/Since: 2.4/
+-}
+iconThemeGetExampleIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the name of an example icon or 'Nothing'.
+    Free with 'GI.GLib.Functions.free'. -}
+iconThemeGetExampleIconName iconTheme = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    result <- gtk_icon_theme_get_example_icon_name iconTheme'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr iconTheme
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconThemeGetExampleIconNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeGetExampleIconNameMethodInfo a signature where
+    overloadedMethod _ = iconThemeGetExampleIconName
+
+#endif
+
+-- method IconTheme::get_icon_sizes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of an icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TInt))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_get_icon_sizes" gtk_icon_theme_get_icon_sizes :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO (Ptr Int32)
+
+{- |
+Returns an array of integers describing the sizes at which
+the icon is available without scaling. A size of -1 means
+that the icon is available in a scalable format. The array
+is zero-terminated.
+
+/Since: 2.6/
+-}
+iconThemeGetIconSizes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> T.Text
+    {- ^ /@iconName@/: the name of an icon -}
+    -> m [Int32]
+    {- ^ __Returns:__ An newly
+allocated array describing the sizes at which the icon is
+available. The array should be freed with 'GI.GLib.Functions.free' when it is no
+longer needed. -}
+iconThemeGetIconSizes iconTheme iconName = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    iconName' <- textToCString iconName
+    result <- gtk_icon_theme_get_icon_sizes iconTheme' iconName'
+    checkUnexpectedReturnNULL "iconThemeGetIconSizes" result
+    result' <- unpackZeroTerminatedStorableArray result
+    freeMem result
+    touchManagedPtr iconTheme
+    freeMem iconName'
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconThemeGetIconSizesMethodInfo
+instance (signature ~ (T.Text -> m [Int32]), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeGetIconSizesMethodInfo a signature where
+    overloadedMethod _ = iconThemeGetIconSizes
+
+#endif
+
+-- method IconTheme::get_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TCArray False (-1) 2 (TBasicType TFileName), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n    location to store a list of icon theme path directories or %NULL.\n    The stored value should be freed with g_strfreev().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_elements", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store number of elements in @path, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_elements", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store number of elements in @path, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_get_search_path" gtk_icon_theme_get_search_path :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    Ptr (Ptr CString) ->                    -- path : TCArray False (-1) 2 (TBasicType TFileName)
+    Ptr Int32 ->                            -- n_elements : TBasicType TInt
+    IO ()
+
+{- |
+Gets the current search path. See 'GI.Gtk.Objects.IconTheme.iconThemeSetSearchPath'.
+
+/Since: 2.4/
+-}
+iconThemeGetSearchPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> m ([[Char]])
+iconThemeGetSearchPath iconTheme = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    path <- allocMem :: IO (Ptr (Ptr CString))
+    nElements <- allocMem :: IO (Ptr Int32)
+    gtk_icon_theme_get_search_path iconTheme' path nElements
+    nElements' <- peek nElements
+    path' <- peek path
+    path'' <- (unpackFileNameArrayWithLength nElements') path'
+    (mapCArrayWithLength nElements') freeMem path'
+    freeMem path'
+    touchManagedPtr iconTheme
+    freeMem path
+    freeMem nElements
+    return path''
+
+#if ENABLE_OVERLOADING
+data IconThemeGetSearchPathMethodInfo
+instance (signature ~ (m ([[Char]])), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeGetSearchPathMethodInfo a signature where
+    overloadedMethod _ = iconThemeGetSearchPath
+
+#endif
+
+-- method IconTheme::has_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of an icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_has_icon" gtk_icon_theme_has_icon :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO CInt
+
+{- |
+Checks whether an icon theme includes an icon
+for a particular name.
+
+/Since: 2.4/
+-}
+iconThemeHasIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> T.Text
+    {- ^ /@iconName@/: the name of an icon -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iconTheme@/ includes an
+ icon for /@iconName@/. -}
+iconThemeHasIcon iconTheme iconName = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    iconName' <- textToCString iconName
+    result <- gtk_icon_theme_has_icon iconTheme' iconName'
+    let result' = (/= 0) result
+    touchManagedPtr iconTheme
+    freeMem iconName'
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconThemeHasIconMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeHasIconMethodInfo a signature where
+    overloadedMethod _ = iconThemeHasIcon
+
+#endif
+
+-- method IconTheme::list_contexts
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_list_contexts" gtk_icon_theme_list_contexts :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    IO (Ptr (GList CString))
+
+{- |
+Gets the list of contexts available within the current
+hierarchy of icon themes.
+See 'GI.Gtk.Objects.IconTheme.iconThemeListIcons' for details about contexts.
+
+/Since: 2.12/
+-}
+iconThemeListContexts ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' list
+    holding the names of all the contexts in the theme. You must first
+    free each element in the list with 'GI.GLib.Functions.free', then free the list
+    itself with @/g_list_free()/@. -}
+iconThemeListContexts iconTheme = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    result <- gtk_icon_theme_list_contexts iconTheme'
+    result' <- unpackGList result
+    result'' <- mapM cstringToText result'
+    mapGList freeMem result
+    g_list_free result
+    touchManagedPtr iconTheme
+    return result''
+
+#if ENABLE_OVERLOADING
+data IconThemeListContextsMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeListContextsMethodInfo a signature where
+    overloadedMethod _ = iconThemeListContexts
+
+#endif
+
+-- method IconTheme::list_icons
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string identifying a particular type of\n          icon, or %NULL to list all icons.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_list_icons" gtk_icon_theme_list_icons :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- context : TBasicType TUTF8
+    IO (Ptr (GList CString))
+
+{- |
+Lists the icons in the current icon theme. Only a subset
+of the icons can be listed by providing a context string.
+The set of values for the context string is system dependent,
+but will typically include such values as “Applications” and
+“MimeTypes”. Contexts are explained in the
+<http://www.freedesktop.org/wiki/Specifications/icon-theme-spec Icon Theme Specification>.
+The standard contexts are listed in the
+<http://www.freedesktop.org/wiki/Specifications/icon-naming-spec Icon Naming Specification>.
+Also see 'GI.Gtk.Objects.IconTheme.iconThemeListContexts'.
+
+/Since: 2.4/
+-}
+iconThemeListIcons ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> Maybe (T.Text)
+    {- ^ /@context@/: a string identifying a particular type of
+          icon, or 'Nothing' to list all icons. -}
+    -> m [T.Text]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' list
+    holding the names of all the icons in the theme. You must
+    first free each element in the list with 'GI.GLib.Functions.free', then
+    free the list itself with @/g_list_free()/@. -}
+iconThemeListIcons iconTheme context = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    maybeContext <- case context of
+        Nothing -> return nullPtr
+        Just jContext -> do
+            jContext' <- textToCString jContext
+            return jContext'
+    result <- gtk_icon_theme_list_icons iconTheme' maybeContext
+    result' <- unpackGList result
+    result'' <- mapM cstringToText result'
+    mapGList freeMem result
+    g_list_free result
+    touchManagedPtr iconTheme
+    freeMem maybeContext
+    return result''
+
+#if ENABLE_OVERLOADING
+data IconThemeListIconsMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m [T.Text]), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeListIconsMethodInfo a signature where
+    overloadedMethod _ = iconThemeListIcons
+
+#endif
+
+-- method IconTheme::load_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the icon to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired icon size. The resulting icon may not be\n    exactly this size; see gtk_icon_info_load_icon().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags modifying the behavior of the icon lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_load_icon" gtk_icon_theme_load_icon :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"})
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Looks up an icon in an icon theme, scales it to the given size
+and renders it into a pixbuf. This is a convenience function;
+if more details about the icon are needed, use
+'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' followed by 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'.
+
+Note that you probably want to listen for icon theme changes and
+update the icon. This is usually done by connecting to the
+GtkWidget::style-set signal. If for some reason you do not want to
+update the icon when the icon theme changes, you should consider
+using 'GI.GdkPixbuf.Objects.Pixbuf.pixbufCopy' to make a private copy of the pixbuf
+returned by this function. Otherwise GTK+ may need to keep the old
+icon theme loaded, which would be a waste of memory.
+
+/Since: 2.4/
+-}
+iconThemeLoadIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> T.Text
+    {- ^ /@iconName@/: the name of the icon to lookup -}
+    -> Int32
+    {- ^ /@size@/: the desired icon size. The resulting icon may not be
+    exactly this size; see 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'. -}
+    -> [Gtk.Flags.IconLookupFlags]
+    {- ^ /@flags@/: flags modifying the behavior of the icon lookup -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ the rendered icon; this may be
+    a newly created icon or a new reference to an internal icon, so
+    you must not modify the icon. Use 'GI.GObject.Objects.Object.objectUnref' to release
+    your reference to the icon. 'Nothing' if the icon isn’t found. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconThemeLoadIcon iconTheme iconName size flags = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    iconName' <- textToCString iconName
+    let flags' = gflagsToWord flags
+    onException (do
+        result <- propagateGError $ gtk_icon_theme_load_icon iconTheme' iconName' size flags'
+        maybeResult <- convertIfNonNull result $ \result' -> do
+            result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'
+            return result''
+        touchManagedPtr iconTheme
+        freeMem iconName'
+        return maybeResult
+     ) (do
+        freeMem iconName'
+     )
+
+#if ENABLE_OVERLOADING
+data IconThemeLoadIconMethodInfo
+instance (signature ~ (T.Text -> Int32 -> [Gtk.Flags.IconLookupFlags] -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeLoadIconMethodInfo a signature where
+    overloadedMethod _ = iconThemeLoadIcon
+
+#endif
+
+-- method IconTheme::load_icon_for_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the icon to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired icon size. The resulting icon may not be\n    exactly this size; see gtk_icon_info_load_icon().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired scale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags modifying the behavior of the icon lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_load_icon_for_scale" gtk_icon_theme_load_icon_for_scale :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    Int32 ->                                -- scale : TBasicType TInt
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"})
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Looks up an icon in an icon theme for a particular window scale,
+scales it to the given size and renders it into a pixbuf. This is a
+convenience function; if more details about the icon are needed,
+use 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' followed by
+'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'.
+
+Note that you probably want to listen for icon theme changes and
+update the icon. This is usually done by connecting to the
+GtkWidget::style-set signal. If for some reason you do not want to
+update the icon when the icon theme changes, you should consider
+using 'GI.GdkPixbuf.Objects.Pixbuf.pixbufCopy' to make a private copy of the pixbuf
+returned by this function. Otherwise GTK+ may need to keep the old
+icon theme loaded, which would be a waste of memory.
+
+/Since: 3.10/
+-}
+iconThemeLoadIconForScale ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> T.Text
+    {- ^ /@iconName@/: the name of the icon to lookup -}
+    -> Int32
+    {- ^ /@size@/: the desired icon size. The resulting icon may not be
+    exactly this size; see 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'. -}
+    -> Int32
+    {- ^ /@scale@/: desired scale -}
+    -> [Gtk.Flags.IconLookupFlags]
+    {- ^ /@flags@/: flags modifying the behavior of the icon lookup -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ the rendered icon; this may be
+    a newly created icon or a new reference to an internal icon, so
+    you must not modify the icon. Use 'GI.GObject.Objects.Object.objectUnref' to release
+    your reference to the icon. 'Nothing' if the icon isn’t found. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconThemeLoadIconForScale iconTheme iconName size scale flags = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    iconName' <- textToCString iconName
+    let flags' = gflagsToWord flags
+    onException (do
+        result <- propagateGError $ gtk_icon_theme_load_icon_for_scale iconTheme' iconName' size scale flags'
+        maybeResult <- convertIfNonNull result $ \result' -> do
+            result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'
+            return result''
+        touchManagedPtr iconTheme
+        freeMem iconName'
+        return maybeResult
+     ) (do
+        freeMem iconName'
+     )
+
+#if ENABLE_OVERLOADING
+data IconThemeLoadIconForScaleMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Int32 -> [Gtk.Flags.IconLookupFlags] -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeLoadIconForScaleMethodInfo a signature where
+    overloadedMethod _ = iconThemeLoadIconForScale
+
+#endif
+
+-- method IconTheme::load_surface
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the icon to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired icon size. The resulting icon may not be\n    exactly this size; see gtk_icon_info_load_icon().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired scale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "for_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GdkWindow to optimize drawing for, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags modifying the behavior of the icon lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_load_surface" gtk_icon_theme_load_surface :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    Int32 ->                                -- scale : TBasicType TInt
+    Ptr Gdk.Window.Window ->                -- for_window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"})
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr Cairo.Surface.Surface)
+
+{- |
+Looks up an icon in an icon theme for a particular window scale,
+scales it to the given size and renders it into a cairo surface. This is a
+convenience function; if more details about the icon are needed,
+use 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' followed by
+'GI.Gtk.Objects.IconInfo.iconInfoLoadSurface'.
+
+Note that you probably want to listen for icon theme changes and
+update the icon. This is usually done by connecting to the
+GtkWidget::style-set signal.
+
+/Since: 3.10/
+-}
+iconThemeLoadSurface ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> T.Text
+    {- ^ /@iconName@/: the name of the icon to lookup -}
+    -> Int32
+    {- ^ /@size@/: the desired icon size. The resulting icon may not be
+    exactly this size; see 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'. -}
+    -> Int32
+    {- ^ /@scale@/: desired scale -}
+    -> Maybe (b)
+    {- ^ /@forWindow@/: 'GI.Gdk.Objects.Window.Window' to optimize drawing for, or 'Nothing' -}
+    -> [Gtk.Flags.IconLookupFlags]
+    {- ^ /@flags@/: flags modifying the behavior of the icon lookup -}
+    -> m (Maybe Cairo.Surface.Surface)
+    {- ^ __Returns:__ the rendered icon; this may be
+    a newly created icon or a new reference to an internal icon, so
+    you must not modify the icon. Use @/cairo_surface_destroy()/@ to
+    release your reference to the icon. 'Nothing' if the icon isn’t
+    found. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+iconThemeLoadSurface iconTheme iconName size scale forWindow flags = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    iconName' <- textToCString iconName
+    maybeForWindow <- case forWindow of
+        Nothing -> return nullPtr
+        Just jForWindow -> do
+            jForWindow' <- unsafeManagedPtrCastPtr jForWindow
+            return jForWindow'
+    let flags' = gflagsToWord flags
+    onException (do
+        result <- propagateGError $ gtk_icon_theme_load_surface iconTheme' iconName' size scale maybeForWindow flags'
+        maybeResult <- convertIfNonNull result $ \result' -> do
+            result'' <- (wrapBoxed Cairo.Surface.Surface) result'
+            return result''
+        touchManagedPtr iconTheme
+        whenJust forWindow touchManagedPtr
+        freeMem iconName'
+        return maybeResult
+     ) (do
+        freeMem iconName'
+     )
+
+#if ENABLE_OVERLOADING
+data IconThemeLoadSurfaceMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Int32 -> Maybe (b) -> [Gtk.Flags.IconLookupFlags] -> m (Maybe Cairo.Surface.Surface)), MonadIO m, IsIconTheme a, Gdk.Window.IsWindow b) => O.MethodInfo IconThemeLoadSurfaceMethodInfo a signature where
+    overloadedMethod _ = iconThemeLoadSurface
+
+#endif
+
+-- method IconTheme::lookup_by_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GIcon to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired icon size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags modifying the behavior of the icon lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_lookup_by_gicon" gtk_icon_theme_lookup_by_gicon :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    Int32 ->                                -- size : TBasicType TInt
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"})
+    IO (Ptr Gtk.IconInfo.IconInfo)
+
+{- |
+Looks up an icon and returns a 'GI.Gtk.Objects.IconInfo.IconInfo' containing information
+such as the filename of the icon. The icon can then be rendered
+into a pixbuf using 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'.
+
+When rendering on displays with high pixel densities you should not
+use a /@size@/ multiplied by the scaling factor returned by functions
+like 'GI.Gdk.Objects.Window.windowGetScaleFactor'. Instead, you should use
+'GI.Gtk.Objects.IconTheme.iconThemeLookupByGiconForScale', as the assets loaded
+for a given scaling factor may be different.
+
+/Since: 2.14/
+-}
+iconThemeLookupByGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> b
+    {- ^ /@icon@/: the 'GI.Gio.Interfaces.Icon.Icon' to look up -}
+    -> Int32
+    {- ^ /@size@/: desired icon size -}
+    -> [Gtk.Flags.IconLookupFlags]
+    {- ^ /@flags@/: flags modifying the behavior of the icon lookup -}
+    -> m (Maybe Gtk.IconInfo.IconInfo)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.IconInfo.IconInfo' containing
+    information about the icon, or 'Nothing' if the icon wasn’t
+    found. Unref with 'GI.GObject.Objects.Object.objectUnref' -}
+iconThemeLookupByGicon iconTheme icon size flags = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    icon' <- unsafeManagedPtrCastPtr icon
+    let flags' = gflagsToWord flags
+    result <- gtk_icon_theme_lookup_by_gicon iconTheme' icon' size flags'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gtk.IconInfo.IconInfo) result'
+        return result''
+    touchManagedPtr iconTheme
+    touchManagedPtr icon
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconThemeLookupByGiconMethodInfo
+instance (signature ~ (b -> Int32 -> [Gtk.Flags.IconLookupFlags] -> m (Maybe Gtk.IconInfo.IconInfo)), MonadIO m, IsIconTheme a, Gio.Icon.IsIcon b) => O.MethodInfo IconThemeLookupByGiconMethodInfo a signature where
+    overloadedMethod _ = iconThemeLookupByGicon
+
+#endif
+
+-- method IconTheme::lookup_by_gicon_for_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GIcon to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired icon size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired scale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags modifying the behavior of the icon lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_lookup_by_gicon_for_scale" gtk_icon_theme_lookup_by_gicon_for_scale :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    Int32 ->                                -- size : TBasicType TInt
+    Int32 ->                                -- scale : TBasicType TInt
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"})
+    IO (Ptr Gtk.IconInfo.IconInfo)
+
+{- |
+Looks up an icon and returns a 'GI.Gtk.Objects.IconInfo.IconInfo' containing information
+such as the filename of the icon. The icon can then be rendered into
+a pixbuf using 'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'.
+
+/Since: 3.10/
+-}
+iconThemeLookupByGiconForScale ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> b
+    {- ^ /@icon@/: the 'GI.Gio.Interfaces.Icon.Icon' to look up -}
+    -> Int32
+    {- ^ /@size@/: desired icon size -}
+    -> Int32
+    {- ^ /@scale@/: the desired scale -}
+    -> [Gtk.Flags.IconLookupFlags]
+    {- ^ /@flags@/: flags modifying the behavior of the icon lookup -}
+    -> m (Maybe Gtk.IconInfo.IconInfo)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.IconInfo.IconInfo' containing
+    information about the icon, or 'Nothing' if the icon wasn’t
+    found. Unref with 'GI.GObject.Objects.Object.objectUnref' -}
+iconThemeLookupByGiconForScale iconTheme icon size scale flags = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    icon' <- unsafeManagedPtrCastPtr icon
+    let flags' = gflagsToWord flags
+    result <- gtk_icon_theme_lookup_by_gicon_for_scale iconTheme' icon' size scale flags'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gtk.IconInfo.IconInfo) result'
+        return result''
+    touchManagedPtr iconTheme
+    touchManagedPtr icon
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconThemeLookupByGiconForScaleMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> [Gtk.Flags.IconLookupFlags] -> m (Maybe Gtk.IconInfo.IconInfo)), MonadIO m, IsIconTheme a, Gio.Icon.IsIcon b) => O.MethodInfo IconThemeLookupByGiconForScaleMethodInfo a signature where
+    overloadedMethod _ = iconThemeLookupByGiconForScale
+
+#endif
+
+-- method IconTheme::lookup_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the icon to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired icon size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags modifying the behavior of the icon lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_lookup_icon" gtk_icon_theme_lookup_icon :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"})
+    IO (Ptr Gtk.IconInfo.IconInfo)
+
+{- |
+Looks up a named icon and returns a 'GI.Gtk.Objects.IconInfo.IconInfo' containing
+information such as the filename of the icon. The icon
+can then be rendered into a pixbuf using
+'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'. ('GI.Gtk.Objects.IconTheme.iconThemeLoadIcon'
+combines these two steps if all you need is the pixbuf.)
+
+When rendering on displays with high pixel densities you should not
+use a /@size@/ multiplied by the scaling factor returned by functions
+like 'GI.Gdk.Objects.Window.windowGetScaleFactor'. Instead, you should use
+'GI.Gtk.Objects.IconTheme.iconThemeLookupIconForScale', as the assets loaded
+for a given scaling factor may be different.
+
+/Since: 2.4/
+-}
+iconThemeLookupIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> T.Text
+    {- ^ /@iconName@/: the name of the icon to lookup -}
+    -> Int32
+    {- ^ /@size@/: desired icon size -}
+    -> [Gtk.Flags.IconLookupFlags]
+    {- ^ /@flags@/: flags modifying the behavior of the icon lookup -}
+    -> m (Maybe Gtk.IconInfo.IconInfo)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.IconInfo.IconInfo' object
+    containing information about the icon, or 'Nothing' if the
+    icon wasn’t found. -}
+iconThemeLookupIcon iconTheme iconName size flags = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    iconName' <- textToCString iconName
+    let flags' = gflagsToWord flags
+    result <- gtk_icon_theme_lookup_icon iconTheme' iconName' size flags'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gtk.IconInfo.IconInfo) result'
+        return result''
+    touchManagedPtr iconTheme
+    freeMem iconName'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconThemeLookupIconMethodInfo
+instance (signature ~ (T.Text -> Int32 -> [Gtk.Flags.IconLookupFlags] -> m (Maybe Gtk.IconInfo.IconInfo)), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeLookupIconMethodInfo a signature where
+    overloadedMethod _ = iconThemeLookupIcon
+
+#endif
+
+-- method IconTheme::lookup_icon_for_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the icon to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired icon size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired scale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags modifying the behavior of the icon lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_lookup_icon_for_scale" gtk_icon_theme_lookup_icon_for_scale :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    Int32 ->                                -- scale : TBasicType TInt
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "IconLookupFlags"})
+    IO (Ptr Gtk.IconInfo.IconInfo)
+
+{- |
+Looks up a named icon for a particular window scale and returns a
+'GI.Gtk.Objects.IconInfo.IconInfo' containing information such as the filename of the
+icon. The icon can then be rendered into a pixbuf using
+'GI.Gtk.Objects.IconInfo.iconInfoLoadIcon'. ('GI.Gtk.Objects.IconTheme.iconThemeLoadIcon' combines
+these two steps if all you need is the pixbuf.)
+
+/Since: 3.10/
+-}
+iconThemeLookupIconForScale ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> T.Text
+    {- ^ /@iconName@/: the name of the icon to lookup -}
+    -> Int32
+    {- ^ /@size@/: desired icon size -}
+    -> Int32
+    {- ^ /@scale@/: the desired scale -}
+    -> [Gtk.Flags.IconLookupFlags]
+    {- ^ /@flags@/: flags modifying the behavior of the icon lookup -}
+    -> m (Maybe Gtk.IconInfo.IconInfo)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.IconInfo.IconInfo' object
+    containing information about the icon, or 'Nothing' if the
+    icon wasn’t found. -}
+iconThemeLookupIconForScale iconTheme iconName size scale flags = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    iconName' <- textToCString iconName
+    let flags' = gflagsToWord flags
+    result <- gtk_icon_theme_lookup_icon_for_scale iconTheme' iconName' size scale flags'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gtk.IconInfo.IconInfo) result'
+        return result''
+    touchManagedPtr iconTheme
+    freeMem iconName'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconThemeLookupIconForScaleMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Int32 -> [Gtk.Flags.IconLookupFlags] -> m (Maybe Gtk.IconInfo.IconInfo)), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeLookupIconForScaleMethodInfo a signature where
+    overloadedMethod _ = iconThemeLookupIconForScale
+
+#endif
+
+-- method IconTheme::prepend_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "directory name to prepend to the icon path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_prepend_search_path" gtk_icon_theme_prepend_search_path :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- path : TBasicType TFileName
+    IO ()
+
+{- |
+Prepends a directory to the search path.
+See 'GI.Gtk.Objects.IconTheme.iconThemeSetSearchPath'.
+
+/Since: 2.4/
+-}
+iconThemePrependSearchPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> [Char]
+    {- ^ /@path@/: directory name to prepend to the icon path -}
+    -> m ()
+iconThemePrependSearchPath iconTheme path = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    path' <- stringToCString path
+    gtk_icon_theme_prepend_search_path iconTheme' path'
+    touchManagedPtr iconTheme
+    freeMem path'
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconThemePrependSearchPathMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemePrependSearchPathMethodInfo a signature where
+    overloadedMethod _ = iconThemePrependSearchPath
+
+#endif
+
+-- method IconTheme::rescan_if_needed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_rescan_if_needed" gtk_icon_theme_rescan_if_needed :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    IO CInt
+
+{- |
+Checks to see if the icon theme has changed; if it has, any
+currently cached information is discarded and will be reloaded
+next time /@iconTheme@/ is accessed.
+
+/Since: 2.4/
+-}
+iconThemeRescanIfNeeded ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the icon theme has changed and needed
+    to be reloaded. -}
+iconThemeRescanIfNeeded iconTheme = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    result <- gtk_icon_theme_rescan_if_needed iconTheme'
+    let result' = (/= 0) result
+    touchManagedPtr iconTheme
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconThemeRescanIfNeededMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeRescanIfNeededMethodInfo a signature where
+    overloadedMethod _ = iconThemeRescanIfNeeded
+
+#endif
+
+-- method IconTheme::set_custom_theme
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "theme_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name of icon theme to use instead of\n  configured theme, or %NULL to unset a previously set custom theme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_set_custom_theme" gtk_icon_theme_set_custom_theme :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    CString ->                              -- theme_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the name of the icon theme that the 'GI.Gtk.Objects.IconTheme.IconTheme' object uses
+overriding system configuration. This function cannot be called
+on the icon theme objects returned from 'GI.Gtk.Objects.IconTheme.iconThemeGetDefault'
+and 'GI.Gtk.Objects.IconTheme.iconThemeGetForScreen'.
+
+/Since: 2.4/
+-}
+iconThemeSetCustomTheme ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> Maybe (T.Text)
+    {- ^ /@themeName@/: name of icon theme to use instead of
+  configured theme, or 'Nothing' to unset a previously set custom theme -}
+    -> m ()
+iconThemeSetCustomTheme iconTheme themeName = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    maybeThemeName <- case themeName of
+        Nothing -> return nullPtr
+        Just jThemeName -> do
+            jThemeName' <- textToCString jThemeName
+            return jThemeName'
+    gtk_icon_theme_set_custom_theme iconTheme' maybeThemeName
+    touchManagedPtr iconTheme
+    freeMem maybeThemeName
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconThemeSetCustomThemeMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeSetCustomThemeMethodInfo a signature where
+    overloadedMethod _ = iconThemeSetCustomTheme
+
+#endif
+
+-- method IconTheme::set_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_set_screen" gtk_icon_theme_set_screen :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO ()
+
+{- |
+Sets the screen for an icon theme; the screen is used
+to track the user’s currently configured icon theme,
+which might be different for different screens.
+
+/Since: 2.4/
+-}
+iconThemeSetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a, Gdk.Screen.IsScreen b) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> b
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}
+    -> m ()
+iconThemeSetScreen iconTheme screen = liftIO $ do
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    screen' <- unsafeManagedPtrCastPtr screen
+    gtk_icon_theme_set_screen iconTheme' screen'
+    touchManagedPtr iconTheme
+    touchManagedPtr screen
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconThemeSetScreenMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsIconTheme a, Gdk.Screen.IsScreen b) => O.MethodInfo IconThemeSetScreenMethodInfo a signature where
+    overloadedMethod _ = iconThemeSetScreen
+
+#endif
+
+-- method IconTheme::set_search_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_theme", argType = TInterface (Name {namespace = "Gtk", name = "IconTheme"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconTheme", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TCArray False (-1) 2 (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "array of\n    directories that are searched for icon themes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_elements", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in @path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_elements", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in @path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_set_search_path" gtk_icon_theme_set_search_path :: 
+    Ptr IconTheme ->                        -- icon_theme : TInterface (Name {namespace = "Gtk", name = "IconTheme"})
+    Ptr CString ->                          -- path : TCArray False (-1) 2 (TBasicType TFileName)
+    Int32 ->                                -- n_elements : TBasicType TInt
+    IO ()
+
+{- |
+Sets the search path for the icon theme object. When looking
+for an icon theme, GTK+ will search for a subdirectory of
+one or more of the directories in /@path@/ with the same name
+as the icon theme containing an index.theme file. (Themes from
+multiple of the path elements are combined to allow themes to be
+extended by adding icons in the user’s home directory.)
+
+In addition if an icon found isn’t found either in the current
+icon theme or the default icon theme, and an image file with
+the right name is found directly in one of the elements of
+/@path@/, then that image will be used for the icon name.
+(This is legacy feature, and new icons should be put
+into the fallback icon theme, which is called hicolor,
+rather than directly on the icon path.)
+
+/Since: 2.4/
+-}
+iconThemeSetSearchPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconTheme a) =>
+    a
+    {- ^ /@iconTheme@/: a 'GI.Gtk.Objects.IconTheme.IconTheme' -}
+    -> [[Char]]
+    {- ^ /@path@/: array of
+    directories that are searched for icon themes -}
+    -> m ()
+iconThemeSetSearchPath iconTheme path = liftIO $ do
+    let nElements = fromIntegral $ length path
+    iconTheme' <- unsafeManagedPtrCastPtr iconTheme
+    path' <- packFileNameArray path
+    gtk_icon_theme_set_search_path iconTheme' path' nElements
+    touchManagedPtr iconTheme
+    (mapCArrayWithLength nElements) freeMem path'
+    freeMem path'
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconThemeSetSearchPathMethodInfo
+instance (signature ~ ([[Char]] -> m ()), MonadIO m, IsIconTheme a) => O.MethodInfo IconThemeSetSearchPathMethodInfo a signature where
+    overloadedMethod _ = iconThemeSetSearchPath
+
+#endif
+
+-- method IconTheme::add_builtin_icon
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the icon to register", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size in pixels at which to register the icon (different\n    images can be registered for the same icon name at different sizes.)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GdkPixbuf that contains the image to use for @icon_name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_add_builtin_icon" gtk_icon_theme_add_builtin_icon :: 
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{-# DEPRECATED iconThemeAddBuiltinIcon ["(Since version 3.14)","Use 'GI.Gtk.Objects.IconTheme.iconThemeAddResourcePath'","    to add application-specific icons to the icon theme."] #-}
+{- |
+Registers a built-in icon for icon theme lookups. The idea
+of built-in icons is to allow an application or library
+that uses themed icons to function requiring files to
+be present in the file system. For instance, the default
+images for all of GTK+’s stock icons are registered
+as built-icons.
+
+In general, if you use 'GI.Gtk.Objects.IconTheme.iconThemeAddBuiltinIcon'
+you should also install the icon in the icon theme, so
+that the icon is generally available.
+
+This function will generally be used with pixbufs loaded
+via 'GI.GdkPixbuf.Objects.Pixbuf.pixbufNewFromInline'.
+
+/Since: 2.4/
+-}
+iconThemeAddBuiltinIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>
+    T.Text
+    {- ^ /@iconName@/: the name of the icon to register -}
+    -> Int32
+    {- ^ /@size@/: the size in pixels at which to register the icon (different
+    images can be registered for the same icon name at different sizes.) -}
+    -> a
+    {- ^ /@pixbuf@/: 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' that contains the image to use for /@iconName@/ -}
+    -> m ()
+iconThemeAddBuiltinIcon iconName size pixbuf = liftIO $ do
+    iconName' <- textToCString iconName
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    gtk_icon_theme_add_builtin_icon iconName' size pixbuf'
+    touchManagedPtr pixbuf
+    freeMem iconName'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconTheme::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconTheme"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_get_default" gtk_icon_theme_get_default :: 
+    IO (Ptr IconTheme)
+
+{- |
+Gets the icon theme for the default screen. See
+'GI.Gtk.Objects.IconTheme.iconThemeGetForScreen'.
+
+/Since: 2.4/
+-}
+iconThemeGetDefault ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m IconTheme
+    {- ^ __Returns:__ A unique 'GI.Gtk.Objects.IconTheme.IconTheme' associated with
+    the default screen. This icon theme is associated with
+    the screen and can be used as long as the screen
+    is open. Do not ref or unref it. -}
+iconThemeGetDefault  = liftIO $ do
+    result <- gtk_icon_theme_get_default
+    checkUnexpectedReturnNULL "iconThemeGetDefault" result
+    result' <- (newObject IconTheme) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconTheme::get_for_screen
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconTheme"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_theme_get_for_screen" gtk_icon_theme_get_for_screen :: 
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO (Ptr IconTheme)
+
+{- |
+Gets the icon theme object associated with /@screen@/; if this
+function has not previously been called for the given
+screen, a new icon theme object will be created and
+associated with the screen. Icon theme objects are
+fairly expensive to create, so using this function
+is usually a better choice than calling than 'GI.Gtk.Objects.IconTheme.iconThemeNew'
+and setting the screen yourself; by using this function
+a single icon theme object will be shared between users.
+
+/Since: 2.4/
+-}
+iconThemeGetForScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>
+    a
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}
+    -> m IconTheme
+    {- ^ __Returns:__ A unique 'GI.Gtk.Objects.IconTheme.IconTheme' associated with
+ the given screen. This icon theme is associated with
+ the screen and can be used as long as the screen
+ is open. Do not ref or unref it. -}
+iconThemeGetForScreen screen = liftIO $ do
+    screen' <- unsafeManagedPtrCastPtr screen
+    result <- gtk_icon_theme_get_for_screen screen'
+    checkUnexpectedReturnNULL "iconThemeGetForScreen" result
+    result' <- (newObject IconTheme) result
+    touchManagedPtr screen
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/IconTheme.hs-boot b/GI/Gtk/Objects/IconTheme.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconTheme.hs-boot
@@ -0,0 +1,98 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.IconTheme where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IconTheme = IconTheme (ManagedPtr IconTheme)
+instance GObject IconTheme where
+class (GObject o, O.IsDescendantOf IconTheme o) => IsIconTheme o
+instance (GObject o, O.IsDescendantOf IconTheme o) => IsIconTheme o
+instance O.HasParentTypes IconTheme
+#if ENABLE_OVERLOADING
+data IconThemeChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeAddResourcePathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeAppendSearchPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeChooseIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeChooseIconForScaleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeGetExampleIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeGetIconSizesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeGetSearchPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeHasIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeListContextsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeListIconsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeLoadIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeLoadIconForScaleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeLoadSurfaceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeLookupByGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeLookupByGiconForScaleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeLookupIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeLookupIconForScaleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemePrependSearchPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeRescanIfNeededMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeSetCustomThemeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeSetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconThemeSetSearchPathMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/IconView.hs b/GI/Gtk/Objects/IconView.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconView.hs
@@ -0,0 +1,5742 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.IconView.IconView' provides an alternative view on a 'GI.Gtk.Interfaces.TreeModel.TreeModel'.
+It displays the model as a grid of icons with labels. Like
+'GI.Gtk.Objects.TreeView.TreeView', it allows to select one or multiple items
+(depending on the selection mode, see 'GI.Gtk.Objects.IconView.iconViewSetSelectionMode').
+In addition to selection with the arrow keys, 'GI.Gtk.Objects.IconView.IconView' supports
+rubberband selection, which is controlled by dragging the pointer.
+
+Note that if the tree model is backed by an actual tree store (as
+opposed to a flat list where the mapping to icons is obvious),
+'GI.Gtk.Objects.IconView.IconView' will only display the first level of the tree and
+ignore the tree’s branches.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>iconview.view
+>╰── [rubberband]
+
+
+GtkIconView has a single CSS node with name iconview and style class .view.
+For rubberband selection, a subnode with name rubberband is used.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.IconView
+    ( 
+
+-- * Exported types
+    IconView(..)                            ,
+    IsIconView                              ,
+    toIconView                              ,
+    noIconView                              ,
+
+
+ -- * Methods
+-- ** convertWidgetToBinWindowCoords #method:convertWidgetToBinWindowCoords#
+
+#if ENABLE_OVERLOADING
+    IconViewConvertWidgetToBinWindowCoordsMethodInfo,
+#endif
+    iconViewConvertWidgetToBinWindowCoords  ,
+
+
+-- ** createDragIcon #method:createDragIcon#
+
+#if ENABLE_OVERLOADING
+    IconViewCreateDragIconMethodInfo        ,
+#endif
+    iconViewCreateDragIcon                  ,
+
+
+-- ** enableModelDragDest #method:enableModelDragDest#
+
+#if ENABLE_OVERLOADING
+    IconViewEnableModelDragDestMethodInfo   ,
+#endif
+    iconViewEnableModelDragDest             ,
+
+
+-- ** enableModelDragSource #method:enableModelDragSource#
+
+#if ENABLE_OVERLOADING
+    IconViewEnableModelDragSourceMethodInfo ,
+#endif
+    iconViewEnableModelDragSource           ,
+
+
+-- ** getActivateOnSingleClick #method:getActivateOnSingleClick#
+
+#if ENABLE_OVERLOADING
+    IconViewGetActivateOnSingleClickMethodInfo,
+#endif
+    iconViewGetActivateOnSingleClick        ,
+
+
+-- ** getCellRect #method:getCellRect#
+
+#if ENABLE_OVERLOADING
+    IconViewGetCellRectMethodInfo           ,
+#endif
+    iconViewGetCellRect                     ,
+
+
+-- ** getColumnSpacing #method:getColumnSpacing#
+
+#if ENABLE_OVERLOADING
+    IconViewGetColumnSpacingMethodInfo      ,
+#endif
+    iconViewGetColumnSpacing                ,
+
+
+-- ** getColumns #method:getColumns#
+
+#if ENABLE_OVERLOADING
+    IconViewGetColumnsMethodInfo            ,
+#endif
+    iconViewGetColumns                      ,
+
+
+-- ** getCursor #method:getCursor#
+
+#if ENABLE_OVERLOADING
+    IconViewGetCursorMethodInfo             ,
+#endif
+    iconViewGetCursor                       ,
+
+
+-- ** getDestItemAtPos #method:getDestItemAtPos#
+
+#if ENABLE_OVERLOADING
+    IconViewGetDestItemAtPosMethodInfo      ,
+#endif
+    iconViewGetDestItemAtPos                ,
+
+
+-- ** getDragDestItem #method:getDragDestItem#
+
+#if ENABLE_OVERLOADING
+    IconViewGetDragDestItemMethodInfo       ,
+#endif
+    iconViewGetDragDestItem                 ,
+
+
+-- ** getItemAtPos #method:getItemAtPos#
+
+#if ENABLE_OVERLOADING
+    IconViewGetItemAtPosMethodInfo          ,
+#endif
+    iconViewGetItemAtPos                    ,
+
+
+-- ** getItemColumn #method:getItemColumn#
+
+#if ENABLE_OVERLOADING
+    IconViewGetItemColumnMethodInfo         ,
+#endif
+    iconViewGetItemColumn                   ,
+
+
+-- ** getItemOrientation #method:getItemOrientation#
+
+#if ENABLE_OVERLOADING
+    IconViewGetItemOrientationMethodInfo    ,
+#endif
+    iconViewGetItemOrientation              ,
+
+
+-- ** getItemPadding #method:getItemPadding#
+
+#if ENABLE_OVERLOADING
+    IconViewGetItemPaddingMethodInfo        ,
+#endif
+    iconViewGetItemPadding                  ,
+
+
+-- ** getItemRow #method:getItemRow#
+
+#if ENABLE_OVERLOADING
+    IconViewGetItemRowMethodInfo            ,
+#endif
+    iconViewGetItemRow                      ,
+
+
+-- ** getItemWidth #method:getItemWidth#
+
+#if ENABLE_OVERLOADING
+    IconViewGetItemWidthMethodInfo          ,
+#endif
+    iconViewGetItemWidth                    ,
+
+
+-- ** getMargin #method:getMargin#
+
+#if ENABLE_OVERLOADING
+    IconViewGetMarginMethodInfo             ,
+#endif
+    iconViewGetMargin                       ,
+
+
+-- ** getMarkupColumn #method:getMarkupColumn#
+
+#if ENABLE_OVERLOADING
+    IconViewGetMarkupColumnMethodInfo       ,
+#endif
+    iconViewGetMarkupColumn                 ,
+
+
+-- ** getModel #method:getModel#
+
+#if ENABLE_OVERLOADING
+    IconViewGetModelMethodInfo              ,
+#endif
+    iconViewGetModel                        ,
+
+
+-- ** getPathAtPos #method:getPathAtPos#
+
+#if ENABLE_OVERLOADING
+    IconViewGetPathAtPosMethodInfo          ,
+#endif
+    iconViewGetPathAtPos                    ,
+
+
+-- ** getPixbufColumn #method:getPixbufColumn#
+
+#if ENABLE_OVERLOADING
+    IconViewGetPixbufColumnMethodInfo       ,
+#endif
+    iconViewGetPixbufColumn                 ,
+
+
+-- ** getReorderable #method:getReorderable#
+
+#if ENABLE_OVERLOADING
+    IconViewGetReorderableMethodInfo        ,
+#endif
+    iconViewGetReorderable                  ,
+
+
+-- ** getRowSpacing #method:getRowSpacing#
+
+#if ENABLE_OVERLOADING
+    IconViewGetRowSpacingMethodInfo         ,
+#endif
+    iconViewGetRowSpacing                   ,
+
+
+-- ** getSelectedItems #method:getSelectedItems#
+
+#if ENABLE_OVERLOADING
+    IconViewGetSelectedItemsMethodInfo      ,
+#endif
+    iconViewGetSelectedItems                ,
+
+
+-- ** getSelectionMode #method:getSelectionMode#
+
+#if ENABLE_OVERLOADING
+    IconViewGetSelectionModeMethodInfo      ,
+#endif
+    iconViewGetSelectionMode                ,
+
+
+-- ** getSpacing #method:getSpacing#
+
+#if ENABLE_OVERLOADING
+    IconViewGetSpacingMethodInfo            ,
+#endif
+    iconViewGetSpacing                      ,
+
+
+-- ** getTextColumn #method:getTextColumn#
+
+#if ENABLE_OVERLOADING
+    IconViewGetTextColumnMethodInfo         ,
+#endif
+    iconViewGetTextColumn                   ,
+
+
+-- ** getTooltipColumn #method:getTooltipColumn#
+
+#if ENABLE_OVERLOADING
+    IconViewGetTooltipColumnMethodInfo      ,
+#endif
+    iconViewGetTooltipColumn                ,
+
+
+-- ** getTooltipContext #method:getTooltipContext#
+
+#if ENABLE_OVERLOADING
+    IconViewGetTooltipContextMethodInfo     ,
+#endif
+    iconViewGetTooltipContext               ,
+
+
+-- ** getVisibleRange #method:getVisibleRange#
+
+#if ENABLE_OVERLOADING
+    IconViewGetVisibleRangeMethodInfo       ,
+#endif
+    iconViewGetVisibleRange                 ,
+
+
+-- ** itemActivated #method:itemActivated#
+
+#if ENABLE_OVERLOADING
+    IconViewItemActivatedMethodInfo         ,
+#endif
+    iconViewItemActivated                   ,
+
+
+-- ** new #method:new#
+
+    iconViewNew                             ,
+
+
+-- ** newWithArea #method:newWithArea#
+
+    iconViewNewWithArea                     ,
+
+
+-- ** newWithModel #method:newWithModel#
+
+    iconViewNewWithModel                    ,
+
+
+-- ** pathIsSelected #method:pathIsSelected#
+
+#if ENABLE_OVERLOADING
+    IconViewPathIsSelectedMethodInfo        ,
+#endif
+    iconViewPathIsSelected                  ,
+
+
+-- ** scrollToPath #method:scrollToPath#
+
+#if ENABLE_OVERLOADING
+    IconViewScrollToPathMethodInfo          ,
+#endif
+    iconViewScrollToPath                    ,
+
+
+-- ** selectAll #method:selectAll#
+
+#if ENABLE_OVERLOADING
+    IconViewSelectAllMethodInfo             ,
+#endif
+    iconViewSelectAll                       ,
+
+
+-- ** selectPath #method:selectPath#
+
+#if ENABLE_OVERLOADING
+    IconViewSelectPathMethodInfo            ,
+#endif
+    iconViewSelectPath                      ,
+
+
+-- ** selectedForeach #method:selectedForeach#
+
+#if ENABLE_OVERLOADING
+    IconViewSelectedForeachMethodInfo       ,
+#endif
+    iconViewSelectedForeach                 ,
+
+
+-- ** setActivateOnSingleClick #method:setActivateOnSingleClick#
+
+#if ENABLE_OVERLOADING
+    IconViewSetActivateOnSingleClickMethodInfo,
+#endif
+    iconViewSetActivateOnSingleClick        ,
+
+
+-- ** setColumnSpacing #method:setColumnSpacing#
+
+#if ENABLE_OVERLOADING
+    IconViewSetColumnSpacingMethodInfo      ,
+#endif
+    iconViewSetColumnSpacing                ,
+
+
+-- ** setColumns #method:setColumns#
+
+#if ENABLE_OVERLOADING
+    IconViewSetColumnsMethodInfo            ,
+#endif
+    iconViewSetColumns                      ,
+
+
+-- ** setCursor #method:setCursor#
+
+#if ENABLE_OVERLOADING
+    IconViewSetCursorMethodInfo             ,
+#endif
+    iconViewSetCursor                       ,
+
+
+-- ** setDragDestItem #method:setDragDestItem#
+
+#if ENABLE_OVERLOADING
+    IconViewSetDragDestItemMethodInfo       ,
+#endif
+    iconViewSetDragDestItem                 ,
+
+
+-- ** setItemOrientation #method:setItemOrientation#
+
+#if ENABLE_OVERLOADING
+    IconViewSetItemOrientationMethodInfo    ,
+#endif
+    iconViewSetItemOrientation              ,
+
+
+-- ** setItemPadding #method:setItemPadding#
+
+#if ENABLE_OVERLOADING
+    IconViewSetItemPaddingMethodInfo        ,
+#endif
+    iconViewSetItemPadding                  ,
+
+
+-- ** setItemWidth #method:setItemWidth#
+
+#if ENABLE_OVERLOADING
+    IconViewSetItemWidthMethodInfo          ,
+#endif
+    iconViewSetItemWidth                    ,
+
+
+-- ** setMargin #method:setMargin#
+
+#if ENABLE_OVERLOADING
+    IconViewSetMarginMethodInfo             ,
+#endif
+    iconViewSetMargin                       ,
+
+
+-- ** setMarkupColumn #method:setMarkupColumn#
+
+#if ENABLE_OVERLOADING
+    IconViewSetMarkupColumnMethodInfo       ,
+#endif
+    iconViewSetMarkupColumn                 ,
+
+
+-- ** setModel #method:setModel#
+
+#if ENABLE_OVERLOADING
+    IconViewSetModelMethodInfo              ,
+#endif
+    iconViewSetModel                        ,
+
+
+-- ** setPixbufColumn #method:setPixbufColumn#
+
+#if ENABLE_OVERLOADING
+    IconViewSetPixbufColumnMethodInfo       ,
+#endif
+    iconViewSetPixbufColumn                 ,
+
+
+-- ** setReorderable #method:setReorderable#
+
+#if ENABLE_OVERLOADING
+    IconViewSetReorderableMethodInfo        ,
+#endif
+    iconViewSetReorderable                  ,
+
+
+-- ** setRowSpacing #method:setRowSpacing#
+
+#if ENABLE_OVERLOADING
+    IconViewSetRowSpacingMethodInfo         ,
+#endif
+    iconViewSetRowSpacing                   ,
+
+
+-- ** setSelectionMode #method:setSelectionMode#
+
+#if ENABLE_OVERLOADING
+    IconViewSetSelectionModeMethodInfo      ,
+#endif
+    iconViewSetSelectionMode                ,
+
+
+-- ** setSpacing #method:setSpacing#
+
+#if ENABLE_OVERLOADING
+    IconViewSetSpacingMethodInfo            ,
+#endif
+    iconViewSetSpacing                      ,
+
+
+-- ** setTextColumn #method:setTextColumn#
+
+#if ENABLE_OVERLOADING
+    IconViewSetTextColumnMethodInfo         ,
+#endif
+    iconViewSetTextColumn                   ,
+
+
+-- ** setTooltipCell #method:setTooltipCell#
+
+#if ENABLE_OVERLOADING
+    IconViewSetTooltipCellMethodInfo        ,
+#endif
+    iconViewSetTooltipCell                  ,
+
+
+-- ** setTooltipColumn #method:setTooltipColumn#
+
+#if ENABLE_OVERLOADING
+    IconViewSetTooltipColumnMethodInfo      ,
+#endif
+    iconViewSetTooltipColumn                ,
+
+
+-- ** setTooltipItem #method:setTooltipItem#
+
+#if ENABLE_OVERLOADING
+    IconViewSetTooltipItemMethodInfo        ,
+#endif
+    iconViewSetTooltipItem                  ,
+
+
+-- ** unselectAll #method:unselectAll#
+
+#if ENABLE_OVERLOADING
+    IconViewUnselectAllMethodInfo           ,
+#endif
+    iconViewUnselectAll                     ,
+
+
+-- ** unselectPath #method:unselectPath#
+
+#if ENABLE_OVERLOADING
+    IconViewUnselectPathMethodInfo          ,
+#endif
+    iconViewUnselectPath                    ,
+
+
+-- ** unsetModelDragDest #method:unsetModelDragDest#
+
+#if ENABLE_OVERLOADING
+    IconViewUnsetModelDragDestMethodInfo    ,
+#endif
+    iconViewUnsetModelDragDest              ,
+
+
+-- ** unsetModelDragSource #method:unsetModelDragSource#
+
+#if ENABLE_OVERLOADING
+    IconViewUnsetModelDragSourceMethodInfo  ,
+#endif
+    iconViewUnsetModelDragSource            ,
+
+
+
+
+ -- * Properties
+-- ** activateOnSingleClick #attr:activateOnSingleClick#
+{- | The activate-on-single-click property specifies whether the \"item-activated\" signal
+will be emitted after a single click.
+
+/Since: 3.8/
+-}
+#if ENABLE_OVERLOADING
+    IconViewActivateOnSingleClickPropertyInfo,
+#endif
+    constructIconViewActivateOnSingleClick  ,
+    getIconViewActivateOnSingleClick        ,
+#if ENABLE_OVERLOADING
+    iconViewActivateOnSingleClick           ,
+#endif
+    setIconViewActivateOnSingleClick        ,
+
+
+-- ** cellArea #attr:cellArea#
+{- | The 'GI.Gtk.Objects.CellArea.CellArea' used to layout cell renderers for this view.
+
+If no area is specified when creating the icon view with 'GI.Gtk.Objects.IconView.iconViewNewWithArea'
+a 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' will be used.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    IconViewCellAreaPropertyInfo            ,
+#endif
+    constructIconViewCellArea               ,
+    getIconViewCellArea                     ,
+#if ENABLE_OVERLOADING
+    iconViewCellArea                        ,
+#endif
+
+
+-- ** columnSpacing #attr:columnSpacing#
+{- | The column-spacing property specifies the space which is inserted between
+the columns of the icon view.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewColumnSpacingPropertyInfo       ,
+#endif
+    constructIconViewColumnSpacing          ,
+    getIconViewColumnSpacing                ,
+#if ENABLE_OVERLOADING
+    iconViewColumnSpacing                   ,
+#endif
+    setIconViewColumnSpacing                ,
+
+
+-- ** columns #attr:columns#
+{- | The columns property contains the number of the columns in which the
+items should be displayed. If it is -1, the number of columns will
+be chosen automatically to fill the available area.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewColumnsPropertyInfo             ,
+#endif
+    constructIconViewColumns                ,
+    getIconViewColumns                      ,
+#if ENABLE_OVERLOADING
+    iconViewColumns                         ,
+#endif
+    setIconViewColumns                      ,
+
+
+-- ** itemOrientation #attr:itemOrientation#
+{- | The item-orientation property specifies how the cells (i.e. the icon and
+the text) of the item are positioned relative to each other.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewItemOrientationPropertyInfo     ,
+#endif
+    constructIconViewItemOrientation        ,
+    getIconViewItemOrientation              ,
+#if ENABLE_OVERLOADING
+    iconViewItemOrientation                 ,
+#endif
+    setIconViewItemOrientation              ,
+
+
+-- ** itemPadding #attr:itemPadding#
+{- | The item-padding property specifies the padding around each
+of the icon view\'s item.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    IconViewItemPaddingPropertyInfo         ,
+#endif
+    constructIconViewItemPadding            ,
+    getIconViewItemPadding                  ,
+#if ENABLE_OVERLOADING
+    iconViewItemPadding                     ,
+#endif
+    setIconViewItemPadding                  ,
+
+
+-- ** itemWidth #attr:itemWidth#
+{- | The item-width property specifies the width to use for each item.
+If it is set to -1, the icon view will automatically determine a
+suitable item size.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewItemWidthPropertyInfo           ,
+#endif
+    constructIconViewItemWidth              ,
+    getIconViewItemWidth                    ,
+#if ENABLE_OVERLOADING
+    iconViewItemWidth                       ,
+#endif
+    setIconViewItemWidth                    ,
+
+
+-- ** margin #attr:margin#
+{- | The margin property specifies the space which is inserted
+at the edges of the icon view.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewMarginPropertyInfo              ,
+#endif
+    constructIconViewMargin                 ,
+    getIconViewMargin                       ,
+#if ENABLE_OVERLOADING
+    iconViewMargin                          ,
+#endif
+    setIconViewMargin                       ,
+
+
+-- ** markupColumn #attr:markupColumn#
+{- | The ::markup-column property contains the number of the model column
+containing markup information to be displayed. The markup column must be
+of type @/G_TYPE_STRING/@. If this property and the :text-column property
+are both set to column numbers, it overrides the text column.
+If both are set to -1, no texts are displayed.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewMarkupColumnPropertyInfo        ,
+#endif
+    constructIconViewMarkupColumn           ,
+    getIconViewMarkupColumn                 ,
+#if ENABLE_OVERLOADING
+    iconViewMarkupColumn                    ,
+#endif
+    setIconViewMarkupColumn                 ,
+
+
+-- ** model #attr:model#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    IconViewModelPropertyInfo               ,
+#endif
+    clearIconViewModel                      ,
+    constructIconViewModel                  ,
+    getIconViewModel                        ,
+#if ENABLE_OVERLOADING
+    iconViewModel                           ,
+#endif
+    setIconViewModel                        ,
+
+
+-- ** pixbufColumn #attr:pixbufColumn#
+{- | The ::pixbuf-column property contains the number of the model column
+containing the pixbufs which are displayed. The pixbuf column must be
+of type @/GDK_TYPE_PIXBUF/@. Setting this property to -1 turns off the
+display of pixbufs.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewPixbufColumnPropertyInfo        ,
+#endif
+    constructIconViewPixbufColumn           ,
+    getIconViewPixbufColumn                 ,
+#if ENABLE_OVERLOADING
+    iconViewPixbufColumn                    ,
+#endif
+    setIconViewPixbufColumn                 ,
+
+
+-- ** reorderable #attr:reorderable#
+{- | The reorderable property specifies if the items can be reordered
+by DND.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    IconViewReorderablePropertyInfo         ,
+#endif
+    constructIconViewReorderable            ,
+    getIconViewReorderable                  ,
+#if ENABLE_OVERLOADING
+    iconViewReorderable                     ,
+#endif
+    setIconViewReorderable                  ,
+
+
+-- ** rowSpacing #attr:rowSpacing#
+{- | The row-spacing property specifies the space which is inserted between
+the rows of the icon view.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewRowSpacingPropertyInfo          ,
+#endif
+    constructIconViewRowSpacing             ,
+    getIconViewRowSpacing                   ,
+#if ENABLE_OVERLOADING
+    iconViewRowSpacing                      ,
+#endif
+    setIconViewRowSpacing                   ,
+
+
+-- ** selectionMode #attr:selectionMode#
+{- | The ::selection-mode property specifies the selection mode of
+icon view. If the mode is @/GTK_SELECTION_MULTIPLE/@, rubberband selection
+is enabled, for the other modes, only keyboard selection is possible.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewSelectionModePropertyInfo       ,
+#endif
+    constructIconViewSelectionMode          ,
+    getIconViewSelectionMode                ,
+#if ENABLE_OVERLOADING
+    iconViewSelectionMode                   ,
+#endif
+    setIconViewSelectionMode                ,
+
+
+-- ** spacing #attr:spacing#
+{- | The spacing property specifies the space which is inserted between
+the cells (i.e. the icon and the text) of an item.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewSpacingPropertyInfo             ,
+#endif
+    constructIconViewSpacing                ,
+    getIconViewSpacing                      ,
+#if ENABLE_OVERLOADING
+    iconViewSpacing                         ,
+#endif
+    setIconViewSpacing                      ,
+
+
+-- ** textColumn #attr:textColumn#
+{- | The ::text-column property contains the number of the model column
+containing the texts which are displayed. The text column must be
+of type @/G_TYPE_STRING/@. If this property and the :markup-column
+property are both set to -1, no texts are displayed.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    IconViewTextColumnPropertyInfo          ,
+#endif
+    constructIconViewTextColumn             ,
+    getIconViewTextColumn                   ,
+#if ENABLE_OVERLOADING
+    iconViewTextColumn                      ,
+#endif
+    setIconViewTextColumn                   ,
+
+
+-- ** tooltipColumn #attr:tooltipColumn#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    IconViewTooltipColumnPropertyInfo       ,
+#endif
+    constructIconViewTooltipColumn          ,
+    getIconViewTooltipColumn                ,
+#if ENABLE_OVERLOADING
+    iconViewTooltipColumn                   ,
+#endif
+    setIconViewTooltipColumn                ,
+
+
+
+
+ -- * Signals
+-- ** activateCursorItem #signal:activateCursorItem#
+
+    C_IconViewActivateCursorItemCallback    ,
+    IconViewActivateCursorItemCallback      ,
+#if ENABLE_OVERLOADING
+    IconViewActivateCursorItemSignalInfo    ,
+#endif
+    afterIconViewActivateCursorItem         ,
+    genClosure_IconViewActivateCursorItem   ,
+    mk_IconViewActivateCursorItemCallback   ,
+    noIconViewActivateCursorItemCallback    ,
+    onIconViewActivateCursorItem            ,
+    wrap_IconViewActivateCursorItemCallback ,
+
+
+-- ** itemActivated #signal:itemActivated#
+
+    C_IconViewItemActivatedCallback         ,
+    IconViewItemActivatedCallback           ,
+#if ENABLE_OVERLOADING
+    IconViewItemActivatedSignalInfo         ,
+#endif
+    afterIconViewItemActivated              ,
+    genClosure_IconViewItemActivated        ,
+    mk_IconViewItemActivatedCallback        ,
+    noIconViewItemActivatedCallback         ,
+    onIconViewItemActivated                 ,
+    wrap_IconViewItemActivatedCallback      ,
+
+
+-- ** moveCursor #signal:moveCursor#
+
+    C_IconViewMoveCursorCallback            ,
+    IconViewMoveCursorCallback              ,
+#if ENABLE_OVERLOADING
+    IconViewMoveCursorSignalInfo            ,
+#endif
+    afterIconViewMoveCursor                 ,
+    genClosure_IconViewMoveCursor           ,
+    mk_IconViewMoveCursorCallback           ,
+    noIconViewMoveCursorCallback            ,
+    onIconViewMoveCursor                    ,
+    wrap_IconViewMoveCursorCallback         ,
+
+
+-- ** selectAll #signal:selectAll#
+
+    C_IconViewSelectAllCallback             ,
+    IconViewSelectAllCallback               ,
+#if ENABLE_OVERLOADING
+    IconViewSelectAllSignalInfo             ,
+#endif
+    afterIconViewSelectAll                  ,
+    genClosure_IconViewSelectAll            ,
+    mk_IconViewSelectAllCallback            ,
+    noIconViewSelectAllCallback             ,
+    onIconViewSelectAll                     ,
+    wrap_IconViewSelectAllCallback          ,
+
+
+-- ** selectCursorItem #signal:selectCursorItem#
+
+    C_IconViewSelectCursorItemCallback      ,
+    IconViewSelectCursorItemCallback        ,
+#if ENABLE_OVERLOADING
+    IconViewSelectCursorItemSignalInfo      ,
+#endif
+    afterIconViewSelectCursorItem           ,
+    genClosure_IconViewSelectCursorItem     ,
+    mk_IconViewSelectCursorItemCallback     ,
+    noIconViewSelectCursorItemCallback      ,
+    onIconViewSelectCursorItem              ,
+    wrap_IconViewSelectCursorItemCallback   ,
+
+
+-- ** selectionChanged #signal:selectionChanged#
+
+    C_IconViewSelectionChangedCallback      ,
+    IconViewSelectionChangedCallback        ,
+#if ENABLE_OVERLOADING
+    IconViewSelectionChangedSignalInfo      ,
+#endif
+    afterIconViewSelectionChanged           ,
+    genClosure_IconViewSelectionChanged     ,
+    mk_IconViewSelectionChangedCallback     ,
+    noIconViewSelectionChangedCallback      ,
+    onIconViewSelectionChanged              ,
+    wrap_IconViewSelectionChangedCallback   ,
+
+
+-- ** toggleCursorItem #signal:toggleCursorItem#
+
+    C_IconViewToggleCursorItemCallback      ,
+    IconViewToggleCursorItemCallback        ,
+#if ENABLE_OVERLOADING
+    IconViewToggleCursorItemSignalInfo      ,
+#endif
+    afterIconViewToggleCursorItem           ,
+    genClosure_IconViewToggleCursorItem     ,
+    mk_IconViewToggleCursorItemCallback     ,
+    noIconViewToggleCursorItemCallback      ,
+    onIconViewToggleCursorItem              ,
+    wrap_IconViewToggleCursorItemCallback   ,
+
+
+-- ** unselectAll #signal:unselectAll#
+
+    C_IconViewUnselectAllCallback           ,
+    IconViewUnselectAllCallback             ,
+#if ENABLE_OVERLOADING
+    IconViewUnselectAllSignalInfo           ,
+#endif
+    afterIconViewUnselectAll                ,
+    genClosure_IconViewUnselectAll          ,
+    mk_IconViewUnselectAllCallback          ,
+    noIconViewUnselectAllCallback           ,
+    onIconViewUnselectAll                   ,
+    wrap_IconViewUnselectAllCallback        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.Cairo.Structs.Surface as Cairo.Surface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Scrollable as Gtk.Scrollable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellArea as Gtk.CellArea
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Tooltip as Gtk.Tooltip
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetEntry as Gtk.TargetEntry
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- | Memory-managed wrapper type.
+newtype IconView = IconView (ManagedPtr IconView)
+foreign import ccall "gtk_icon_view_get_type"
+    c_gtk_icon_view_get_type :: IO GType
+
+instance GObject IconView where
+    gobjectType = c_gtk_icon_view_get_type
+    
+
+-- | Type class for types which can be safely cast to `IconView`, for instance with `toIconView`.
+class (GObject o, O.IsDescendantOf IconView o) => IsIconView o
+instance (GObject o, O.IsDescendantOf IconView o) => IsIconView o
+
+instance O.HasParentTypes IconView
+type instance O.ParentTypes IconView = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.CellLayout.CellLayout, Gtk.Scrollable.Scrollable]
+
+-- | Cast to `IconView`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toIconView :: (MonadIO m, IsIconView o) => o -> m IconView
+toIconView = liftIO . unsafeCastTo IconView
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IconView`.
+noIconView :: Maybe IconView
+noIconView = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveIconViewMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIconViewMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveIconViewMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveIconViewMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveIconViewMethod "addAttribute" o = Gtk.CellLayout.CellLayoutAddAttributeMethodInfo
+    ResolveIconViewMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveIconViewMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveIconViewMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveIconViewMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveIconViewMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveIconViewMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveIconViewMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveIconViewMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveIconViewMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveIconViewMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveIconViewMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveIconViewMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveIconViewMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveIconViewMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveIconViewMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveIconViewMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveIconViewMethod "clear" o = Gtk.CellLayout.CellLayoutClearMethodInfo
+    ResolveIconViewMethod "clearAttributes" o = Gtk.CellLayout.CellLayoutClearAttributesMethodInfo
+    ResolveIconViewMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveIconViewMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveIconViewMethod "convertWidgetToBinWindowCoords" o = IconViewConvertWidgetToBinWindowCoordsMethodInfo
+    ResolveIconViewMethod "createDragIcon" o = IconViewCreateDragIconMethodInfo
+    ResolveIconViewMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveIconViewMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveIconViewMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveIconViewMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveIconViewMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveIconViewMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveIconViewMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveIconViewMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveIconViewMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveIconViewMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveIconViewMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveIconViewMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveIconViewMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveIconViewMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveIconViewMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveIconViewMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveIconViewMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveIconViewMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveIconViewMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveIconViewMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveIconViewMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveIconViewMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveIconViewMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveIconViewMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveIconViewMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveIconViewMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveIconViewMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveIconViewMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveIconViewMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveIconViewMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveIconViewMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveIconViewMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveIconViewMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveIconViewMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveIconViewMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveIconViewMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveIconViewMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveIconViewMethod "enableModelDragDest" o = IconViewEnableModelDragDestMethodInfo
+    ResolveIconViewMethod "enableModelDragSource" o = IconViewEnableModelDragSourceMethodInfo
+    ResolveIconViewMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveIconViewMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveIconViewMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveIconViewMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveIconViewMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveIconViewMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveIconViewMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveIconViewMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveIconViewMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveIconViewMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveIconViewMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveIconViewMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveIconViewMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveIconViewMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveIconViewMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveIconViewMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveIconViewMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveIconViewMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveIconViewMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveIconViewMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveIconViewMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveIconViewMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveIconViewMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveIconViewMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveIconViewMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveIconViewMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveIconViewMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveIconViewMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveIconViewMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveIconViewMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveIconViewMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveIconViewMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveIconViewMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveIconViewMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveIconViewMethod "itemActivated" o = IconViewItemActivatedMethodInfo
+    ResolveIconViewMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveIconViewMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveIconViewMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveIconViewMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveIconViewMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveIconViewMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveIconViewMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveIconViewMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveIconViewMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveIconViewMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveIconViewMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveIconViewMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveIconViewMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveIconViewMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveIconViewMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveIconViewMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveIconViewMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveIconViewMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveIconViewMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveIconViewMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveIconViewMethod "packEnd" o = Gtk.CellLayout.CellLayoutPackEndMethodInfo
+    ResolveIconViewMethod "packStart" o = Gtk.CellLayout.CellLayoutPackStartMethodInfo
+    ResolveIconViewMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveIconViewMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveIconViewMethod "pathIsSelected" o = IconViewPathIsSelectedMethodInfo
+    ResolveIconViewMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveIconViewMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveIconViewMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveIconViewMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveIconViewMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveIconViewMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveIconViewMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveIconViewMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveIconViewMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveIconViewMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveIconViewMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveIconViewMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveIconViewMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveIconViewMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveIconViewMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveIconViewMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveIconViewMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveIconViewMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveIconViewMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveIconViewMethod "reorder" o = Gtk.CellLayout.CellLayoutReorderMethodInfo
+    ResolveIconViewMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveIconViewMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveIconViewMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveIconViewMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveIconViewMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveIconViewMethod "scrollToPath" o = IconViewScrollToPathMethodInfo
+    ResolveIconViewMethod "selectAll" o = IconViewSelectAllMethodInfo
+    ResolveIconViewMethod "selectPath" o = IconViewSelectPathMethodInfo
+    ResolveIconViewMethod "selectedForeach" o = IconViewSelectedForeachMethodInfo
+    ResolveIconViewMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveIconViewMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveIconViewMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveIconViewMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveIconViewMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveIconViewMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveIconViewMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveIconViewMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveIconViewMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveIconViewMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveIconViewMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveIconViewMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveIconViewMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveIconViewMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveIconViewMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveIconViewMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveIconViewMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveIconViewMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveIconViewMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveIconViewMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveIconViewMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveIconViewMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveIconViewMethod "unselectAll" o = IconViewUnselectAllMethodInfo
+    ResolveIconViewMethod "unselectPath" o = IconViewUnselectPathMethodInfo
+    ResolveIconViewMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveIconViewMethod "unsetModelDragDest" o = IconViewUnsetModelDragDestMethodInfo
+    ResolveIconViewMethod "unsetModelDragSource" o = IconViewUnsetModelDragSourceMethodInfo
+    ResolveIconViewMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveIconViewMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveIconViewMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveIconViewMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveIconViewMethod "getActivateOnSingleClick" o = IconViewGetActivateOnSingleClickMethodInfo
+    ResolveIconViewMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveIconViewMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveIconViewMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveIconViewMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveIconViewMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveIconViewMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveIconViewMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveIconViewMethod "getArea" o = Gtk.CellLayout.CellLayoutGetAreaMethodInfo
+    ResolveIconViewMethod "getBorder" o = Gtk.Scrollable.ScrollableGetBorderMethodInfo
+    ResolveIconViewMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveIconViewMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveIconViewMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveIconViewMethod "getCellRect" o = IconViewGetCellRectMethodInfo
+    ResolveIconViewMethod "getCells" o = Gtk.CellLayout.CellLayoutGetCellsMethodInfo
+    ResolveIconViewMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveIconViewMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveIconViewMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveIconViewMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveIconViewMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveIconViewMethod "getColumnSpacing" o = IconViewGetColumnSpacingMethodInfo
+    ResolveIconViewMethod "getColumns" o = IconViewGetColumnsMethodInfo
+    ResolveIconViewMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveIconViewMethod "getCursor" o = IconViewGetCursorMethodInfo
+    ResolveIconViewMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveIconViewMethod "getDestItemAtPos" o = IconViewGetDestItemAtPosMethodInfo
+    ResolveIconViewMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveIconViewMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveIconViewMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveIconViewMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveIconViewMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveIconViewMethod "getDragDestItem" o = IconViewGetDragDestItemMethodInfo
+    ResolveIconViewMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveIconViewMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveIconViewMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveIconViewMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveIconViewMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveIconViewMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveIconViewMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveIconViewMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveIconViewMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveIconViewMethod "getHadjustment" o = Gtk.Scrollable.ScrollableGetHadjustmentMethodInfo
+    ResolveIconViewMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveIconViewMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveIconViewMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveIconViewMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveIconViewMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveIconViewMethod "getHscrollPolicy" o = Gtk.Scrollable.ScrollableGetHscrollPolicyMethodInfo
+    ResolveIconViewMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveIconViewMethod "getItemAtPos" o = IconViewGetItemAtPosMethodInfo
+    ResolveIconViewMethod "getItemColumn" o = IconViewGetItemColumnMethodInfo
+    ResolveIconViewMethod "getItemOrientation" o = IconViewGetItemOrientationMethodInfo
+    ResolveIconViewMethod "getItemPadding" o = IconViewGetItemPaddingMethodInfo
+    ResolveIconViewMethod "getItemRow" o = IconViewGetItemRowMethodInfo
+    ResolveIconViewMethod "getItemWidth" o = IconViewGetItemWidthMethodInfo
+    ResolveIconViewMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveIconViewMethod "getMargin" o = IconViewGetMarginMethodInfo
+    ResolveIconViewMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveIconViewMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveIconViewMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveIconViewMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveIconViewMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveIconViewMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveIconViewMethod "getMarkupColumn" o = IconViewGetMarkupColumnMethodInfo
+    ResolveIconViewMethod "getModel" o = IconViewGetModelMethodInfo
+    ResolveIconViewMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveIconViewMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveIconViewMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveIconViewMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveIconViewMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveIconViewMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveIconViewMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveIconViewMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveIconViewMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveIconViewMethod "getPathAtPos" o = IconViewGetPathAtPosMethodInfo
+    ResolveIconViewMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveIconViewMethod "getPixbufColumn" o = IconViewGetPixbufColumnMethodInfo
+    ResolveIconViewMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveIconViewMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveIconViewMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveIconViewMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveIconViewMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveIconViewMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveIconViewMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveIconViewMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveIconViewMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveIconViewMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveIconViewMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveIconViewMethod "getReorderable" o = IconViewGetReorderableMethodInfo
+    ResolveIconViewMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveIconViewMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveIconViewMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveIconViewMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveIconViewMethod "getRowSpacing" o = IconViewGetRowSpacingMethodInfo
+    ResolveIconViewMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveIconViewMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveIconViewMethod "getSelectedItems" o = IconViewGetSelectedItemsMethodInfo
+    ResolveIconViewMethod "getSelectionMode" o = IconViewGetSelectionModeMethodInfo
+    ResolveIconViewMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveIconViewMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveIconViewMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveIconViewMethod "getSpacing" o = IconViewGetSpacingMethodInfo
+    ResolveIconViewMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveIconViewMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveIconViewMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveIconViewMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveIconViewMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveIconViewMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveIconViewMethod "getTextColumn" o = IconViewGetTextColumnMethodInfo
+    ResolveIconViewMethod "getTooltipColumn" o = IconViewGetTooltipColumnMethodInfo
+    ResolveIconViewMethod "getTooltipContext" o = IconViewGetTooltipContextMethodInfo
+    ResolveIconViewMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveIconViewMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveIconViewMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveIconViewMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveIconViewMethod "getVadjustment" o = Gtk.Scrollable.ScrollableGetVadjustmentMethodInfo
+    ResolveIconViewMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveIconViewMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveIconViewMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveIconViewMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveIconViewMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveIconViewMethod "getVisibleRange" o = IconViewGetVisibleRangeMethodInfo
+    ResolveIconViewMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveIconViewMethod "getVscrollPolicy" o = Gtk.Scrollable.ScrollableGetVscrollPolicyMethodInfo
+    ResolveIconViewMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveIconViewMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveIconViewMethod "setActivateOnSingleClick" o = IconViewSetActivateOnSingleClickMethodInfo
+    ResolveIconViewMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveIconViewMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveIconViewMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveIconViewMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveIconViewMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveIconViewMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveIconViewMethod "setCellDataFunc" o = Gtk.CellLayout.CellLayoutSetCellDataFuncMethodInfo
+    ResolveIconViewMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveIconViewMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveIconViewMethod "setColumnSpacing" o = IconViewSetColumnSpacingMethodInfo
+    ResolveIconViewMethod "setColumns" o = IconViewSetColumnsMethodInfo
+    ResolveIconViewMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveIconViewMethod "setCursor" o = IconViewSetCursorMethodInfo
+    ResolveIconViewMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveIconViewMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveIconViewMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveIconViewMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveIconViewMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveIconViewMethod "setDragDestItem" o = IconViewSetDragDestItemMethodInfo
+    ResolveIconViewMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveIconViewMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveIconViewMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveIconViewMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveIconViewMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveIconViewMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveIconViewMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveIconViewMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveIconViewMethod "setHadjustment" o = Gtk.Scrollable.ScrollableSetHadjustmentMethodInfo
+    ResolveIconViewMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveIconViewMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveIconViewMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveIconViewMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveIconViewMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveIconViewMethod "setHscrollPolicy" o = Gtk.Scrollable.ScrollableSetHscrollPolicyMethodInfo
+    ResolveIconViewMethod "setItemOrientation" o = IconViewSetItemOrientationMethodInfo
+    ResolveIconViewMethod "setItemPadding" o = IconViewSetItemPaddingMethodInfo
+    ResolveIconViewMethod "setItemWidth" o = IconViewSetItemWidthMethodInfo
+    ResolveIconViewMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveIconViewMethod "setMargin" o = IconViewSetMarginMethodInfo
+    ResolveIconViewMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveIconViewMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveIconViewMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveIconViewMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveIconViewMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveIconViewMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveIconViewMethod "setMarkupColumn" o = IconViewSetMarkupColumnMethodInfo
+    ResolveIconViewMethod "setModel" o = IconViewSetModelMethodInfo
+    ResolveIconViewMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveIconViewMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveIconViewMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveIconViewMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveIconViewMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveIconViewMethod "setPixbufColumn" o = IconViewSetPixbufColumnMethodInfo
+    ResolveIconViewMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveIconViewMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveIconViewMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveIconViewMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveIconViewMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveIconViewMethod "setReorderable" o = IconViewSetReorderableMethodInfo
+    ResolveIconViewMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveIconViewMethod "setRowSpacing" o = IconViewSetRowSpacingMethodInfo
+    ResolveIconViewMethod "setSelectionMode" o = IconViewSetSelectionModeMethodInfo
+    ResolveIconViewMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveIconViewMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveIconViewMethod "setSpacing" o = IconViewSetSpacingMethodInfo
+    ResolveIconViewMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveIconViewMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveIconViewMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveIconViewMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveIconViewMethod "setTextColumn" o = IconViewSetTextColumnMethodInfo
+    ResolveIconViewMethod "setTooltipCell" o = IconViewSetTooltipCellMethodInfo
+    ResolveIconViewMethod "setTooltipColumn" o = IconViewSetTooltipColumnMethodInfo
+    ResolveIconViewMethod "setTooltipItem" o = IconViewSetTooltipItemMethodInfo
+    ResolveIconViewMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveIconViewMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveIconViewMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveIconViewMethod "setVadjustment" o = Gtk.Scrollable.ScrollableSetVadjustmentMethodInfo
+    ResolveIconViewMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveIconViewMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveIconViewMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveIconViewMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveIconViewMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveIconViewMethod "setVscrollPolicy" o = Gtk.Scrollable.ScrollableSetVscrollPolicyMethodInfo
+    ResolveIconViewMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveIconViewMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIconViewMethod t IconView, O.MethodInfo info IconView p) => OL.IsLabel t (IconView -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal IconView::activate-cursor-item
+{- |
+A [keybinding signal][GtkBindingSignal]
+which gets emitted when the user activates the currently
+focused item.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control activation
+programmatically.
+
+The default bindings for this signal are Space, Return and Enter.
+-}
+type IconViewActivateCursorItemCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewActivateCursorItemCallback`@.
+noIconViewActivateCursorItemCallback :: Maybe IconViewActivateCursorItemCallback
+noIconViewActivateCursorItemCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconViewActivateCursorItemCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_IconViewActivateCursorItemCallback`.
+foreign import ccall "wrapper"
+    mk_IconViewActivateCursorItemCallback :: C_IconViewActivateCursorItemCallback -> IO (FunPtr C_IconViewActivateCursorItemCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconViewActivateCursorItem :: MonadIO m => IconViewActivateCursorItemCallback -> m (GClosure C_IconViewActivateCursorItemCallback)
+genClosure_IconViewActivateCursorItem cb = liftIO $ do
+    let cb' = wrap_IconViewActivateCursorItemCallback cb
+    mk_IconViewActivateCursorItemCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconViewActivateCursorItemCallback` into a `C_IconViewActivateCursorItemCallback`.
+wrap_IconViewActivateCursorItemCallback ::
+    IconViewActivateCursorItemCallback ->
+    C_IconViewActivateCursorItemCallback
+wrap_IconViewActivateCursorItemCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@activate-cursor-item@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iconView #activateCursorItem callback
+@
+-}
+onIconViewActivateCursorItem :: (IsIconView a, MonadIO m) => a -> IconViewActivateCursorItemCallback -> m SignalHandlerId
+onIconViewActivateCursorItem obj cb = liftIO $ do
+    let cb' = wrap_IconViewActivateCursorItemCallback cb
+    cb'' <- mk_IconViewActivateCursorItemCallback cb'
+    connectSignalFunPtr obj "activate-cursor-item" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-cursor-item@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iconView #activateCursorItem callback
+@
+-}
+afterIconViewActivateCursorItem :: (IsIconView a, MonadIO m) => a -> IconViewActivateCursorItemCallback -> m SignalHandlerId
+afterIconViewActivateCursorItem obj cb = liftIO $ do
+    let cb' = wrap_IconViewActivateCursorItemCallback cb
+    cb'' <- mk_IconViewActivateCursorItemCallback cb'
+    connectSignalFunPtr obj "activate-cursor-item" cb'' SignalConnectAfter
+
+
+-- signal IconView::item-activated
+{- |
+The ::item-activated signal is emitted when the method
+'GI.Gtk.Objects.IconView.iconViewItemActivated' is called, when the user double
+clicks an item with the \"activate-on-single-click\" property set
+to 'False', or when the user single clicks an item when the
+\"activate-on-single-click\" property set to 'True'. It is also
+emitted when a non-editable item is selected and one of the keys:
+Space, Return or Enter is pressed.
+-}
+type IconViewItemActivatedCallback =
+    Gtk.TreePath.TreePath
+    {- ^ /@path@/: the 'GI.Gtk.Structs.TreePath.TreePath' for the activated item -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewItemActivatedCallback`@.
+noIconViewItemActivatedCallback :: Maybe IconViewItemActivatedCallback
+noIconViewItemActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconViewItemActivatedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IconViewItemActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_IconViewItemActivatedCallback :: C_IconViewItemActivatedCallback -> IO (FunPtr C_IconViewItemActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconViewItemActivated :: MonadIO m => IconViewItemActivatedCallback -> m (GClosure C_IconViewItemActivatedCallback)
+genClosure_IconViewItemActivated cb = liftIO $ do
+    let cb' = wrap_IconViewItemActivatedCallback cb
+    mk_IconViewItemActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconViewItemActivatedCallback` into a `C_IconViewItemActivatedCallback`.
+wrap_IconViewItemActivatedCallback ::
+    IconViewItemActivatedCallback ->
+    C_IconViewItemActivatedCallback
+wrap_IconViewItemActivatedCallback _cb _ path _ = do
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        _cb  path'
+
+
+{- |
+Connect a signal handler for the “@item-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iconView #itemActivated callback
+@
+-}
+onIconViewItemActivated :: (IsIconView a, MonadIO m) => a -> IconViewItemActivatedCallback -> m SignalHandlerId
+onIconViewItemActivated obj cb = liftIO $ do
+    let cb' = wrap_IconViewItemActivatedCallback cb
+    cb'' <- mk_IconViewItemActivatedCallback cb'
+    connectSignalFunPtr obj "item-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@item-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iconView #itemActivated callback
+@
+-}
+afterIconViewItemActivated :: (IsIconView a, MonadIO m) => a -> IconViewItemActivatedCallback -> m SignalHandlerId
+afterIconViewItemActivated obj cb = liftIO $ do
+    let cb' = wrap_IconViewItemActivatedCallback cb
+    cb'' <- mk_IconViewItemActivatedCallback cb'
+    connectSignalFunPtr obj "item-activated" cb'' SignalConnectAfter
+
+
+-- signal IconView::move-cursor
+{- |
+The ::move-cursor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a cursor movement.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control the cursor
+programmatically.
+
+The default bindings for this signal include
+
+* Arrow keys which move by individual steps
+* Home\/End keys which move to the first\/last item
+* PageUp\/PageDown which move by \"pages\"
+
+All of these will extend the selection when combined with
+the Shift modifier.
+-}
+type IconViewMoveCursorCallback =
+    Gtk.Enums.MovementStep
+    {- ^ /@step@/: the granularity of the move, as a 'GI.Gtk.Enums.MovementStep' -}
+    -> Int32
+    {- ^ /@count@/: the number of /@step@/ units to move -}
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewMoveCursorCallback`@.
+noIconViewMoveCursorCallback :: Maybe IconViewMoveCursorCallback
+noIconViewMoveCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconViewMoveCursorCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_IconViewMoveCursorCallback`.
+foreign import ccall "wrapper"
+    mk_IconViewMoveCursorCallback :: C_IconViewMoveCursorCallback -> IO (FunPtr C_IconViewMoveCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconViewMoveCursor :: MonadIO m => IconViewMoveCursorCallback -> m (GClosure C_IconViewMoveCursorCallback)
+genClosure_IconViewMoveCursor cb = liftIO $ do
+    let cb' = wrap_IconViewMoveCursorCallback cb
+    mk_IconViewMoveCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconViewMoveCursorCallback` into a `C_IconViewMoveCursorCallback`.
+wrap_IconViewMoveCursorCallback ::
+    IconViewMoveCursorCallback ->
+    C_IconViewMoveCursorCallback
+wrap_IconViewMoveCursorCallback _cb _ step count _ = do
+    let step' = (toEnum . fromIntegral) step
+    result <- _cb  step' count
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iconView #moveCursor callback
+@
+-}
+onIconViewMoveCursor :: (IsIconView a, MonadIO m) => a -> IconViewMoveCursorCallback -> m SignalHandlerId
+onIconViewMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_IconViewMoveCursorCallback cb
+    cb'' <- mk_IconViewMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iconView #moveCursor callback
+@
+-}
+afterIconViewMoveCursor :: (IsIconView a, MonadIO m) => a -> IconViewMoveCursorCallback -> m SignalHandlerId
+afterIconViewMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_IconViewMoveCursorCallback cb
+    cb'' <- mk_IconViewMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectAfter
+
+
+-- signal IconView::select-all
+{- |
+A [keybinding signal][GtkBindingSignal]
+which gets emitted when the user selects all items.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control selection
+programmatically.
+
+The default binding for this signal is Ctrl-a.
+-}
+type IconViewSelectAllCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewSelectAllCallback`@.
+noIconViewSelectAllCallback :: Maybe IconViewSelectAllCallback
+noIconViewSelectAllCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconViewSelectAllCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IconViewSelectAllCallback`.
+foreign import ccall "wrapper"
+    mk_IconViewSelectAllCallback :: C_IconViewSelectAllCallback -> IO (FunPtr C_IconViewSelectAllCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconViewSelectAll :: MonadIO m => IconViewSelectAllCallback -> m (GClosure C_IconViewSelectAllCallback)
+genClosure_IconViewSelectAll cb = liftIO $ do
+    let cb' = wrap_IconViewSelectAllCallback cb
+    mk_IconViewSelectAllCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconViewSelectAllCallback` into a `C_IconViewSelectAllCallback`.
+wrap_IconViewSelectAllCallback ::
+    IconViewSelectAllCallback ->
+    C_IconViewSelectAllCallback
+wrap_IconViewSelectAllCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iconView #selectAll callback
+@
+-}
+onIconViewSelectAll :: (IsIconView a, MonadIO m) => a -> IconViewSelectAllCallback -> m SignalHandlerId
+onIconViewSelectAll obj cb = liftIO $ do
+    let cb' = wrap_IconViewSelectAllCallback cb
+    cb'' <- mk_IconViewSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iconView #selectAll callback
+@
+-}
+afterIconViewSelectAll :: (IsIconView a, MonadIO m) => a -> IconViewSelectAllCallback -> m SignalHandlerId
+afterIconViewSelectAll obj cb = liftIO $ do
+    let cb' = wrap_IconViewSelectAllCallback cb
+    cb'' <- mk_IconViewSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectAfter
+
+
+-- signal IconView::select-cursor-item
+{- |
+A [keybinding signal][GtkBindingSignal]
+which gets emitted when the user selects the item that is currently
+focused.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control selection
+programmatically.
+
+There is no default binding for this signal.
+-}
+type IconViewSelectCursorItemCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewSelectCursorItemCallback`@.
+noIconViewSelectCursorItemCallback :: Maybe IconViewSelectCursorItemCallback
+noIconViewSelectCursorItemCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconViewSelectCursorItemCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IconViewSelectCursorItemCallback`.
+foreign import ccall "wrapper"
+    mk_IconViewSelectCursorItemCallback :: C_IconViewSelectCursorItemCallback -> IO (FunPtr C_IconViewSelectCursorItemCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconViewSelectCursorItem :: MonadIO m => IconViewSelectCursorItemCallback -> m (GClosure C_IconViewSelectCursorItemCallback)
+genClosure_IconViewSelectCursorItem cb = liftIO $ do
+    let cb' = wrap_IconViewSelectCursorItemCallback cb
+    mk_IconViewSelectCursorItemCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconViewSelectCursorItemCallback` into a `C_IconViewSelectCursorItemCallback`.
+wrap_IconViewSelectCursorItemCallback ::
+    IconViewSelectCursorItemCallback ->
+    C_IconViewSelectCursorItemCallback
+wrap_IconViewSelectCursorItemCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@select-cursor-item@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iconView #selectCursorItem callback
+@
+-}
+onIconViewSelectCursorItem :: (IsIconView a, MonadIO m) => a -> IconViewSelectCursorItemCallback -> m SignalHandlerId
+onIconViewSelectCursorItem obj cb = liftIO $ do
+    let cb' = wrap_IconViewSelectCursorItemCallback cb
+    cb'' <- mk_IconViewSelectCursorItemCallback cb'
+    connectSignalFunPtr obj "select-cursor-item" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select-cursor-item@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iconView #selectCursorItem callback
+@
+-}
+afterIconViewSelectCursorItem :: (IsIconView a, MonadIO m) => a -> IconViewSelectCursorItemCallback -> m SignalHandlerId
+afterIconViewSelectCursorItem obj cb = liftIO $ do
+    let cb' = wrap_IconViewSelectCursorItemCallback cb
+    cb'' <- mk_IconViewSelectCursorItemCallback cb'
+    connectSignalFunPtr obj "select-cursor-item" cb'' SignalConnectAfter
+
+
+-- signal IconView::selection-changed
+{- |
+The ::selection-changed signal is emitted when the selection
+(i.e. the set of selected items) changes.
+-}
+type IconViewSelectionChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewSelectionChangedCallback`@.
+noIconViewSelectionChangedCallback :: Maybe IconViewSelectionChangedCallback
+noIconViewSelectionChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconViewSelectionChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IconViewSelectionChangedCallback`.
+foreign import ccall "wrapper"
+    mk_IconViewSelectionChangedCallback :: C_IconViewSelectionChangedCallback -> IO (FunPtr C_IconViewSelectionChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconViewSelectionChanged :: MonadIO m => IconViewSelectionChangedCallback -> m (GClosure C_IconViewSelectionChangedCallback)
+genClosure_IconViewSelectionChanged cb = liftIO $ do
+    let cb' = wrap_IconViewSelectionChangedCallback cb
+    mk_IconViewSelectionChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconViewSelectionChangedCallback` into a `C_IconViewSelectionChangedCallback`.
+wrap_IconViewSelectionChangedCallback ::
+    IconViewSelectionChangedCallback ->
+    C_IconViewSelectionChangedCallback
+wrap_IconViewSelectionChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@selection-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iconView #selectionChanged callback
+@
+-}
+onIconViewSelectionChanged :: (IsIconView a, MonadIO m) => a -> IconViewSelectionChangedCallback -> m SignalHandlerId
+onIconViewSelectionChanged obj cb = liftIO $ do
+    let cb' = wrap_IconViewSelectionChangedCallback cb
+    cb'' <- mk_IconViewSelectionChangedCallback cb'
+    connectSignalFunPtr obj "selection-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selection-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iconView #selectionChanged callback
+@
+-}
+afterIconViewSelectionChanged :: (IsIconView a, MonadIO m) => a -> IconViewSelectionChangedCallback -> m SignalHandlerId
+afterIconViewSelectionChanged obj cb = liftIO $ do
+    let cb' = wrap_IconViewSelectionChangedCallback cb
+    cb'' <- mk_IconViewSelectionChangedCallback cb'
+    connectSignalFunPtr obj "selection-changed" cb'' SignalConnectAfter
+
+
+-- signal IconView::toggle-cursor-item
+{- |
+A [keybinding signal][GtkBindingSignal]
+which gets emitted when the user toggles whether the currently
+focused item is selected or not. The exact effect of this
+depend on the selection mode.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control selection
+programmatically.
+
+There is no default binding for this signal is Ctrl-Space.
+-}
+type IconViewToggleCursorItemCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewToggleCursorItemCallback`@.
+noIconViewToggleCursorItemCallback :: Maybe IconViewToggleCursorItemCallback
+noIconViewToggleCursorItemCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconViewToggleCursorItemCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IconViewToggleCursorItemCallback`.
+foreign import ccall "wrapper"
+    mk_IconViewToggleCursorItemCallback :: C_IconViewToggleCursorItemCallback -> IO (FunPtr C_IconViewToggleCursorItemCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconViewToggleCursorItem :: MonadIO m => IconViewToggleCursorItemCallback -> m (GClosure C_IconViewToggleCursorItemCallback)
+genClosure_IconViewToggleCursorItem cb = liftIO $ do
+    let cb' = wrap_IconViewToggleCursorItemCallback cb
+    mk_IconViewToggleCursorItemCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconViewToggleCursorItemCallback` into a `C_IconViewToggleCursorItemCallback`.
+wrap_IconViewToggleCursorItemCallback ::
+    IconViewToggleCursorItemCallback ->
+    C_IconViewToggleCursorItemCallback
+wrap_IconViewToggleCursorItemCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggle-cursor-item@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iconView #toggleCursorItem callback
+@
+-}
+onIconViewToggleCursorItem :: (IsIconView a, MonadIO m) => a -> IconViewToggleCursorItemCallback -> m SignalHandlerId
+onIconViewToggleCursorItem obj cb = liftIO $ do
+    let cb' = wrap_IconViewToggleCursorItemCallback cb
+    cb'' <- mk_IconViewToggleCursorItemCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-item" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-cursor-item@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iconView #toggleCursorItem callback
+@
+-}
+afterIconViewToggleCursorItem :: (IsIconView a, MonadIO m) => a -> IconViewToggleCursorItemCallback -> m SignalHandlerId
+afterIconViewToggleCursorItem obj cb = liftIO $ do
+    let cb' = wrap_IconViewToggleCursorItemCallback cb
+    cb'' <- mk_IconViewToggleCursorItemCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-item" cb'' SignalConnectAfter
+
+
+-- signal IconView::unselect-all
+{- |
+A [keybinding signal][GtkBindingSignal]
+which gets emitted when the user unselects all items.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control selection
+programmatically.
+
+The default binding for this signal is Ctrl-Shift-a.
+-}
+type IconViewUnselectAllCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `IconViewUnselectAllCallback`@.
+noIconViewUnselectAllCallback :: Maybe IconViewUnselectAllCallback
+noIconViewUnselectAllCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_IconViewUnselectAllCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_IconViewUnselectAllCallback`.
+foreign import ccall "wrapper"
+    mk_IconViewUnselectAllCallback :: C_IconViewUnselectAllCallback -> IO (FunPtr C_IconViewUnselectAllCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_IconViewUnselectAll :: MonadIO m => IconViewUnselectAllCallback -> m (GClosure C_IconViewUnselectAllCallback)
+genClosure_IconViewUnselectAll cb = liftIO $ do
+    let cb' = wrap_IconViewUnselectAllCallback cb
+    mk_IconViewUnselectAllCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `IconViewUnselectAllCallback` into a `C_IconViewUnselectAllCallback`.
+wrap_IconViewUnselectAllCallback ::
+    IconViewUnselectAllCallback ->
+    C_IconViewUnselectAllCallback
+wrap_IconViewUnselectAllCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@unselect-all@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' iconView #unselectAll callback
+@
+-}
+onIconViewUnselectAll :: (IsIconView a, MonadIO m) => a -> IconViewUnselectAllCallback -> m SignalHandlerId
+onIconViewUnselectAll obj cb = liftIO $ do
+    let cb' = wrap_IconViewUnselectAllCallback cb
+    cb'' <- mk_IconViewUnselectAllCallback cb'
+    connectSignalFunPtr obj "unselect-all" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@unselect-all@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' iconView #unselectAll callback
+@
+-}
+afterIconViewUnselectAll :: (IsIconView a, MonadIO m) => a -> IconViewUnselectAllCallback -> m SignalHandlerId
+afterIconViewUnselectAll obj cb = liftIO $ do
+    let cb' = wrap_IconViewUnselectAllCallback cb
+    cb'' <- mk_IconViewUnselectAllCallback cb'
+    connectSignalFunPtr obj "unselect-all" cb'' SignalConnectAfter
+
+
+--- XXX Duplicated object with different types:
+  --- Name {namespace = "Gtk", name = "IconView"} -> Property {propName = "margin", propType = TBasicType TInt, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The margin property specifies the space which is inserted\nat the edges of the icon view.", sinceVersion = Just "2.6"}, propDeprecated = Nothing}
+  --- Name {namespace = "Gtk", name = "Widget"} -> Property {propName = "margin", propType = TBasicType TInt, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "Sets all four sides' margin at once. If read, returns max\nmargin on any side.", sinceVersion = Just "3.0"}, propDeprecated = Nothing}
+-- VVV Prop "activate-on-single-click"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@activate-on-single-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #activateOnSingleClick
+@
+-}
+getIconViewActivateOnSingleClick :: (MonadIO m, IsIconView o) => o -> m Bool
+getIconViewActivateOnSingleClick obj = liftIO $ B.Properties.getObjectPropertyBool obj "activate-on-single-click"
+
+{- |
+Set the value of the “@activate-on-single-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #activateOnSingleClick 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewActivateOnSingleClick :: (MonadIO m, IsIconView o) => o -> Bool -> m ()
+setIconViewActivateOnSingleClick obj val = liftIO $ B.Properties.setObjectPropertyBool obj "activate-on-single-click" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@activate-on-single-click@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewActivateOnSingleClick :: (IsIconView o) => Bool -> IO (GValueConstruct o)
+constructIconViewActivateOnSingleClick val = B.Properties.constructObjectPropertyBool "activate-on-single-click" val
+
+#if ENABLE_OVERLOADING
+data IconViewActivateOnSingleClickPropertyInfo
+instance AttrInfo IconViewActivateOnSingleClickPropertyInfo where
+    type AttrAllowedOps IconViewActivateOnSingleClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewActivateOnSingleClickPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint IconViewActivateOnSingleClickPropertyInfo = IsIconView
+    type AttrGetType IconViewActivateOnSingleClickPropertyInfo = Bool
+    type AttrLabel IconViewActivateOnSingleClickPropertyInfo = "activate-on-single-click"
+    type AttrOrigin IconViewActivateOnSingleClickPropertyInfo = IconView
+    attrGet _ = getIconViewActivateOnSingleClick
+    attrSet _ = setIconViewActivateOnSingleClick
+    attrConstruct _ = constructIconViewActivateOnSingleClick
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "cell-area"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellArea"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cell-area@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #cellArea
+@
+-}
+getIconViewCellArea :: (MonadIO m, IsIconView o) => o -> m (Maybe Gtk.CellArea.CellArea)
+getIconViewCellArea obj = liftIO $ B.Properties.getObjectPropertyObject obj "cell-area" Gtk.CellArea.CellArea
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-area@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewCellArea :: (IsIconView o, Gtk.CellArea.IsCellArea a) => a -> IO (GValueConstruct o)
+constructIconViewCellArea val = B.Properties.constructObjectPropertyObject "cell-area" (Just val)
+
+#if ENABLE_OVERLOADING
+data IconViewCellAreaPropertyInfo
+instance AttrInfo IconViewCellAreaPropertyInfo where
+    type AttrAllowedOps IconViewCellAreaPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint IconViewCellAreaPropertyInfo = Gtk.CellArea.IsCellArea
+    type AttrBaseTypeConstraint IconViewCellAreaPropertyInfo = IsIconView
+    type AttrGetType IconViewCellAreaPropertyInfo = (Maybe Gtk.CellArea.CellArea)
+    type AttrLabel IconViewCellAreaPropertyInfo = "cell-area"
+    type AttrOrigin IconViewCellAreaPropertyInfo = IconView
+    attrGet _ = getIconViewCellArea
+    attrSet _ = undefined
+    attrConstruct _ = constructIconViewCellArea
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "column-spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@column-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #columnSpacing
+@
+-}
+getIconViewColumnSpacing :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewColumnSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "column-spacing"
+
+{- |
+Set the value of the “@column-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #columnSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewColumnSpacing :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewColumnSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "column-spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@column-spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewColumnSpacing :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewColumnSpacing val = B.Properties.constructObjectPropertyInt32 "column-spacing" val
+
+#if ENABLE_OVERLOADING
+data IconViewColumnSpacingPropertyInfo
+instance AttrInfo IconViewColumnSpacingPropertyInfo where
+    type AttrAllowedOps IconViewColumnSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewColumnSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewColumnSpacingPropertyInfo = IsIconView
+    type AttrGetType IconViewColumnSpacingPropertyInfo = Int32
+    type AttrLabel IconViewColumnSpacingPropertyInfo = "column-spacing"
+    type AttrOrigin IconViewColumnSpacingPropertyInfo = IconView
+    attrGet _ = getIconViewColumnSpacing
+    attrSet _ = setIconViewColumnSpacing
+    attrConstruct _ = constructIconViewColumnSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "columns"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@columns@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #columns
+@
+-}
+getIconViewColumns :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewColumns obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "columns"
+
+{- |
+Set the value of the “@columns@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #columns 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewColumns :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewColumns obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "columns" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@columns@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewColumns :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewColumns val = B.Properties.constructObjectPropertyInt32 "columns" val
+
+#if ENABLE_OVERLOADING
+data IconViewColumnsPropertyInfo
+instance AttrInfo IconViewColumnsPropertyInfo where
+    type AttrAllowedOps IconViewColumnsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewColumnsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewColumnsPropertyInfo = IsIconView
+    type AttrGetType IconViewColumnsPropertyInfo = Int32
+    type AttrLabel IconViewColumnsPropertyInfo = "columns"
+    type AttrOrigin IconViewColumnsPropertyInfo = IconView
+    attrGet _ = getIconViewColumns
+    attrSet _ = setIconViewColumns
+    attrConstruct _ = constructIconViewColumns
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "item-orientation"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Orientation"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@item-orientation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #itemOrientation
+@
+-}
+getIconViewItemOrientation :: (MonadIO m, IsIconView o) => o -> m Gtk.Enums.Orientation
+getIconViewItemOrientation obj = liftIO $ B.Properties.getObjectPropertyEnum obj "item-orientation"
+
+{- |
+Set the value of the “@item-orientation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #itemOrientation 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewItemOrientation :: (MonadIO m, IsIconView o) => o -> Gtk.Enums.Orientation -> m ()
+setIconViewItemOrientation obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "item-orientation" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@item-orientation@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewItemOrientation :: (IsIconView o) => Gtk.Enums.Orientation -> IO (GValueConstruct o)
+constructIconViewItemOrientation val = B.Properties.constructObjectPropertyEnum "item-orientation" val
+
+#if ENABLE_OVERLOADING
+data IconViewItemOrientationPropertyInfo
+instance AttrInfo IconViewItemOrientationPropertyInfo where
+    type AttrAllowedOps IconViewItemOrientationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewItemOrientationPropertyInfo = (~) Gtk.Enums.Orientation
+    type AttrBaseTypeConstraint IconViewItemOrientationPropertyInfo = IsIconView
+    type AttrGetType IconViewItemOrientationPropertyInfo = Gtk.Enums.Orientation
+    type AttrLabel IconViewItemOrientationPropertyInfo = "item-orientation"
+    type AttrOrigin IconViewItemOrientationPropertyInfo = IconView
+    attrGet _ = getIconViewItemOrientation
+    attrSet _ = setIconViewItemOrientation
+    attrConstruct _ = constructIconViewItemOrientation
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "item-padding"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@item-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #itemPadding
+@
+-}
+getIconViewItemPadding :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewItemPadding obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "item-padding"
+
+{- |
+Set the value of the “@item-padding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #itemPadding 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewItemPadding :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewItemPadding obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "item-padding" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@item-padding@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewItemPadding :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewItemPadding val = B.Properties.constructObjectPropertyInt32 "item-padding" val
+
+#if ENABLE_OVERLOADING
+data IconViewItemPaddingPropertyInfo
+instance AttrInfo IconViewItemPaddingPropertyInfo where
+    type AttrAllowedOps IconViewItemPaddingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewItemPaddingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewItemPaddingPropertyInfo = IsIconView
+    type AttrGetType IconViewItemPaddingPropertyInfo = Int32
+    type AttrLabel IconViewItemPaddingPropertyInfo = "item-padding"
+    type AttrOrigin IconViewItemPaddingPropertyInfo = IconView
+    attrGet _ = getIconViewItemPadding
+    attrSet _ = setIconViewItemPadding
+    attrConstruct _ = constructIconViewItemPadding
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "item-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@item-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #itemWidth
+@
+-}
+getIconViewItemWidth :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewItemWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "item-width"
+
+{- |
+Set the value of the “@item-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #itemWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewItemWidth :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewItemWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "item-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@item-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewItemWidth :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewItemWidth val = B.Properties.constructObjectPropertyInt32 "item-width" val
+
+#if ENABLE_OVERLOADING
+data IconViewItemWidthPropertyInfo
+instance AttrInfo IconViewItemWidthPropertyInfo where
+    type AttrAllowedOps IconViewItemWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewItemWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewItemWidthPropertyInfo = IsIconView
+    type AttrGetType IconViewItemWidthPropertyInfo = Int32
+    type AttrLabel IconViewItemWidthPropertyInfo = "item-width"
+    type AttrOrigin IconViewItemWidthPropertyInfo = IconView
+    attrGet _ = getIconViewItemWidth
+    attrSet _ = setIconViewItemWidth
+    attrConstruct _ = constructIconViewItemWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "margin"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #margin
+@
+-}
+getIconViewMargin :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewMargin obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "margin"
+
+{- |
+Set the value of the “@margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #margin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewMargin :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewMargin obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "margin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@margin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewMargin :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewMargin val = B.Properties.constructObjectPropertyInt32 "margin" val
+
+#if ENABLE_OVERLOADING
+data IconViewMarginPropertyInfo
+instance AttrInfo IconViewMarginPropertyInfo where
+    type AttrAllowedOps IconViewMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewMarginPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewMarginPropertyInfo = IsIconView
+    type AttrGetType IconViewMarginPropertyInfo = Int32
+    type AttrLabel IconViewMarginPropertyInfo = "margin"
+    type AttrOrigin IconViewMarginPropertyInfo = IconView
+    attrGet _ = getIconViewMargin
+    attrSet _ = setIconViewMargin
+    attrConstruct _ = constructIconViewMargin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "markup-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@markup-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #markupColumn
+@
+-}
+getIconViewMarkupColumn :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewMarkupColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "markup-column"
+
+{- |
+Set the value of the “@markup-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #markupColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewMarkupColumn :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewMarkupColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "markup-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@markup-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewMarkupColumn :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewMarkupColumn val = B.Properties.constructObjectPropertyInt32 "markup-column" val
+
+#if ENABLE_OVERLOADING
+data IconViewMarkupColumnPropertyInfo
+instance AttrInfo IconViewMarkupColumnPropertyInfo where
+    type AttrAllowedOps IconViewMarkupColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewMarkupColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewMarkupColumnPropertyInfo = IsIconView
+    type AttrGetType IconViewMarkupColumnPropertyInfo = Int32
+    type AttrLabel IconViewMarkupColumnPropertyInfo = "markup-column"
+    type AttrOrigin IconViewMarkupColumnPropertyInfo = IconView
+    attrGet _ = getIconViewMarkupColumn
+    attrSet _ = setIconViewMarkupColumn
+    attrConstruct _ = constructIconViewMarkupColumn
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "model"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #model
+@
+-}
+getIconViewModel :: (MonadIO m, IsIconView o) => o -> m (Maybe Gtk.TreeModel.TreeModel)
+getIconViewModel obj = liftIO $ B.Properties.getObjectPropertyObject obj "model" Gtk.TreeModel.TreeModel
+
+{- |
+Set the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #model 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewModel :: (MonadIO m, IsIconView o, Gtk.TreeModel.IsTreeModel a) => o -> a -> m ()
+setIconViewModel obj val = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewModel :: (IsIconView o, Gtk.TreeModel.IsTreeModel a) => a -> IO (GValueConstruct o)
+constructIconViewModel val = B.Properties.constructObjectPropertyObject "model" (Just val)
+
+{- |
+Set the value of the “@model@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #model
+@
+-}
+clearIconViewModel :: (MonadIO m, IsIconView o) => o -> m ()
+clearIconViewModel obj = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Nothing :: Maybe Gtk.TreeModel.TreeModel)
+
+#if ENABLE_OVERLOADING
+data IconViewModelPropertyInfo
+instance AttrInfo IconViewModelPropertyInfo where
+    type AttrAllowedOps IconViewModelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint IconViewModelPropertyInfo = Gtk.TreeModel.IsTreeModel
+    type AttrBaseTypeConstraint IconViewModelPropertyInfo = IsIconView
+    type AttrGetType IconViewModelPropertyInfo = (Maybe Gtk.TreeModel.TreeModel)
+    type AttrLabel IconViewModelPropertyInfo = "model"
+    type AttrOrigin IconViewModelPropertyInfo = IconView
+    attrGet _ = getIconViewModel
+    attrSet _ = setIconViewModel
+    attrConstruct _ = constructIconViewModel
+    attrClear _ = clearIconViewModel
+#endif
+
+-- VVV Prop "pixbuf-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@pixbuf-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #pixbufColumn
+@
+-}
+getIconViewPixbufColumn :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewPixbufColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "pixbuf-column"
+
+{- |
+Set the value of the “@pixbuf-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #pixbufColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewPixbufColumn :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewPixbufColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "pixbuf-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixbuf-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewPixbufColumn :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewPixbufColumn val = B.Properties.constructObjectPropertyInt32 "pixbuf-column" val
+
+#if ENABLE_OVERLOADING
+data IconViewPixbufColumnPropertyInfo
+instance AttrInfo IconViewPixbufColumnPropertyInfo where
+    type AttrAllowedOps IconViewPixbufColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewPixbufColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewPixbufColumnPropertyInfo = IsIconView
+    type AttrGetType IconViewPixbufColumnPropertyInfo = Int32
+    type AttrLabel IconViewPixbufColumnPropertyInfo = "pixbuf-column"
+    type AttrOrigin IconViewPixbufColumnPropertyInfo = IconView
+    attrGet _ = getIconViewPixbufColumn
+    attrSet _ = setIconViewPixbufColumn
+    attrConstruct _ = constructIconViewPixbufColumn
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "reorderable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@reorderable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #reorderable
+@
+-}
+getIconViewReorderable :: (MonadIO m, IsIconView o) => o -> m Bool
+getIconViewReorderable obj = liftIO $ B.Properties.getObjectPropertyBool obj "reorderable"
+
+{- |
+Set the value of the “@reorderable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #reorderable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewReorderable :: (MonadIO m, IsIconView o) => o -> Bool -> m ()
+setIconViewReorderable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "reorderable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@reorderable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewReorderable :: (IsIconView o) => Bool -> IO (GValueConstruct o)
+constructIconViewReorderable val = B.Properties.constructObjectPropertyBool "reorderable" val
+
+#if ENABLE_OVERLOADING
+data IconViewReorderablePropertyInfo
+instance AttrInfo IconViewReorderablePropertyInfo where
+    type AttrAllowedOps IconViewReorderablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewReorderablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint IconViewReorderablePropertyInfo = IsIconView
+    type AttrGetType IconViewReorderablePropertyInfo = Bool
+    type AttrLabel IconViewReorderablePropertyInfo = "reorderable"
+    type AttrOrigin IconViewReorderablePropertyInfo = IconView
+    attrGet _ = getIconViewReorderable
+    attrSet _ = setIconViewReorderable
+    attrConstruct _ = constructIconViewReorderable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "row-spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@row-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #rowSpacing
+@
+-}
+getIconViewRowSpacing :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewRowSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "row-spacing"
+
+{- |
+Set the value of the “@row-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #rowSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewRowSpacing :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewRowSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "row-spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@row-spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewRowSpacing :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewRowSpacing val = B.Properties.constructObjectPropertyInt32 "row-spacing" val
+
+#if ENABLE_OVERLOADING
+data IconViewRowSpacingPropertyInfo
+instance AttrInfo IconViewRowSpacingPropertyInfo where
+    type AttrAllowedOps IconViewRowSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewRowSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewRowSpacingPropertyInfo = IsIconView
+    type AttrGetType IconViewRowSpacingPropertyInfo = Int32
+    type AttrLabel IconViewRowSpacingPropertyInfo = "row-spacing"
+    type AttrOrigin IconViewRowSpacingPropertyInfo = IconView
+    attrGet _ = getIconViewRowSpacing
+    attrSet _ = setIconViewRowSpacing
+    attrConstruct _ = constructIconViewRowSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "selection-mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SelectionMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@selection-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #selectionMode
+@
+-}
+getIconViewSelectionMode :: (MonadIO m, IsIconView o) => o -> m Gtk.Enums.SelectionMode
+getIconViewSelectionMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "selection-mode"
+
+{- |
+Set the value of the “@selection-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #selectionMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewSelectionMode :: (MonadIO m, IsIconView o) => o -> Gtk.Enums.SelectionMode -> m ()
+setIconViewSelectionMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "selection-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@selection-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewSelectionMode :: (IsIconView o) => Gtk.Enums.SelectionMode -> IO (GValueConstruct o)
+constructIconViewSelectionMode val = B.Properties.constructObjectPropertyEnum "selection-mode" val
+
+#if ENABLE_OVERLOADING
+data IconViewSelectionModePropertyInfo
+instance AttrInfo IconViewSelectionModePropertyInfo where
+    type AttrAllowedOps IconViewSelectionModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewSelectionModePropertyInfo = (~) Gtk.Enums.SelectionMode
+    type AttrBaseTypeConstraint IconViewSelectionModePropertyInfo = IsIconView
+    type AttrGetType IconViewSelectionModePropertyInfo = Gtk.Enums.SelectionMode
+    type AttrLabel IconViewSelectionModePropertyInfo = "selection-mode"
+    type AttrOrigin IconViewSelectionModePropertyInfo = IconView
+    attrGet _ = getIconViewSelectionMode
+    attrSet _ = setIconViewSelectionMode
+    attrConstruct _ = constructIconViewSelectionMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #spacing
+@
+-}
+getIconViewSpacing :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "spacing"
+
+{- |
+Set the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #spacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewSpacing :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewSpacing :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewSpacing val = B.Properties.constructObjectPropertyInt32 "spacing" val
+
+#if ENABLE_OVERLOADING
+data IconViewSpacingPropertyInfo
+instance AttrInfo IconViewSpacingPropertyInfo where
+    type AttrAllowedOps IconViewSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewSpacingPropertyInfo = IsIconView
+    type AttrGetType IconViewSpacingPropertyInfo = Int32
+    type AttrLabel IconViewSpacingPropertyInfo = "spacing"
+    type AttrOrigin IconViewSpacingPropertyInfo = IconView
+    attrGet _ = getIconViewSpacing
+    attrSet _ = setIconViewSpacing
+    attrConstruct _ = constructIconViewSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@text-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #textColumn
+@
+-}
+getIconViewTextColumn :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewTextColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "text-column"
+
+{- |
+Set the value of the “@text-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #textColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewTextColumn :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewTextColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "text-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewTextColumn :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewTextColumn val = B.Properties.constructObjectPropertyInt32 "text-column" val
+
+#if ENABLE_OVERLOADING
+data IconViewTextColumnPropertyInfo
+instance AttrInfo IconViewTextColumnPropertyInfo where
+    type AttrAllowedOps IconViewTextColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewTextColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewTextColumnPropertyInfo = IsIconView
+    type AttrGetType IconViewTextColumnPropertyInfo = Int32
+    type AttrLabel IconViewTextColumnPropertyInfo = "text-column"
+    type AttrOrigin IconViewTextColumnPropertyInfo = IconView
+    attrGet _ = getIconViewTextColumn
+    attrSet _ = setIconViewTextColumn
+    attrConstruct _ = constructIconViewTextColumn
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tooltip-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@tooltip-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iconView #tooltipColumn
+@
+-}
+getIconViewTooltipColumn :: (MonadIO m, IsIconView o) => o -> m Int32
+getIconViewTooltipColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "tooltip-column"
+
+{- |
+Set the value of the “@tooltip-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iconView [ #tooltipColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIconViewTooltipColumn :: (MonadIO m, IsIconView o) => o -> Int32 -> m ()
+setIconViewTooltipColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "tooltip-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructIconViewTooltipColumn :: (IsIconView o) => Int32 -> IO (GValueConstruct o)
+constructIconViewTooltipColumn val = B.Properties.constructObjectPropertyInt32 "tooltip-column" val
+
+#if ENABLE_OVERLOADING
+data IconViewTooltipColumnPropertyInfo
+instance AttrInfo IconViewTooltipColumnPropertyInfo where
+    type AttrAllowedOps IconViewTooltipColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint IconViewTooltipColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint IconViewTooltipColumnPropertyInfo = IsIconView
+    type AttrGetType IconViewTooltipColumnPropertyInfo = Int32
+    type AttrLabel IconViewTooltipColumnPropertyInfo = "tooltip-column"
+    type AttrOrigin IconViewTooltipColumnPropertyInfo = IconView
+    attrGet _ = getIconViewTooltipColumn
+    attrSet _ = setIconViewTooltipColumn
+    attrConstruct _ = constructIconViewTooltipColumn
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IconView
+type instance O.AttributeList IconView = IconViewAttributeList
+type IconViewAttributeList = ('[ '("activateOnSingleClick", IconViewActivateOnSingleClickPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("cellArea", IconViewCellAreaPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("columnSpacing", IconViewColumnSpacingPropertyInfo), '("columns", IconViewColumnsPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", Gtk.Scrollable.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hscrollPolicy", Gtk.Scrollable.ScrollableHscrollPolicyPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("itemOrientation", IconViewItemOrientationPropertyInfo), '("itemPadding", IconViewItemPaddingPropertyInfo), '("itemWidth", IconViewItemWidthPropertyInfo), '("margin", IconViewMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("markupColumn", IconViewMarkupColumnPropertyInfo), '("model", IconViewModelPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("pixbufColumn", IconViewPixbufColumnPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("reorderable", IconViewReorderablePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rowSpacing", IconViewRowSpacingPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectionMode", IconViewSelectionModePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", IconViewSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("textColumn", IconViewTextColumnPropertyInfo), '("tooltipColumn", IconViewTooltipColumnPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("vadjustment", Gtk.Scrollable.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.Scrollable.ScrollableVscrollPolicyPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+iconViewActivateOnSingleClick :: AttrLabelProxy "activateOnSingleClick"
+iconViewActivateOnSingleClick = AttrLabelProxy
+
+iconViewCellArea :: AttrLabelProxy "cellArea"
+iconViewCellArea = AttrLabelProxy
+
+iconViewColumnSpacing :: AttrLabelProxy "columnSpacing"
+iconViewColumnSpacing = AttrLabelProxy
+
+iconViewColumns :: AttrLabelProxy "columns"
+iconViewColumns = AttrLabelProxy
+
+iconViewItemOrientation :: AttrLabelProxy "itemOrientation"
+iconViewItemOrientation = AttrLabelProxy
+
+iconViewItemPadding :: AttrLabelProxy "itemPadding"
+iconViewItemPadding = AttrLabelProxy
+
+iconViewItemWidth :: AttrLabelProxy "itemWidth"
+iconViewItemWidth = AttrLabelProxy
+
+iconViewMargin :: AttrLabelProxy "margin"
+iconViewMargin = AttrLabelProxy
+
+iconViewMarkupColumn :: AttrLabelProxy "markupColumn"
+iconViewMarkupColumn = AttrLabelProxy
+
+iconViewModel :: AttrLabelProxy "model"
+iconViewModel = AttrLabelProxy
+
+iconViewPixbufColumn :: AttrLabelProxy "pixbufColumn"
+iconViewPixbufColumn = AttrLabelProxy
+
+iconViewReorderable :: AttrLabelProxy "reorderable"
+iconViewReorderable = AttrLabelProxy
+
+iconViewRowSpacing :: AttrLabelProxy "rowSpacing"
+iconViewRowSpacing = AttrLabelProxy
+
+iconViewSelectionMode :: AttrLabelProxy "selectionMode"
+iconViewSelectionMode = AttrLabelProxy
+
+iconViewSpacing :: AttrLabelProxy "spacing"
+iconViewSpacing = AttrLabelProxy
+
+iconViewTextColumn :: AttrLabelProxy "textColumn"
+iconViewTextColumn = AttrLabelProxy
+
+iconViewTooltipColumn :: AttrLabelProxy "tooltipColumn"
+iconViewTooltipColumn = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data IconViewActivateCursorItemSignalInfo
+instance SignalInfo IconViewActivateCursorItemSignalInfo where
+    type HaskellCallbackType IconViewActivateCursorItemSignalInfo = IconViewActivateCursorItemCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IconViewActivateCursorItemCallback cb
+        cb'' <- mk_IconViewActivateCursorItemCallback cb'
+        connectSignalFunPtr obj "activate-cursor-item" cb'' connectMode
+
+data IconViewItemActivatedSignalInfo
+instance SignalInfo IconViewItemActivatedSignalInfo where
+    type HaskellCallbackType IconViewItemActivatedSignalInfo = IconViewItemActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IconViewItemActivatedCallback cb
+        cb'' <- mk_IconViewItemActivatedCallback cb'
+        connectSignalFunPtr obj "item-activated" cb'' connectMode
+
+data IconViewMoveCursorSignalInfo
+instance SignalInfo IconViewMoveCursorSignalInfo where
+    type HaskellCallbackType IconViewMoveCursorSignalInfo = IconViewMoveCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IconViewMoveCursorCallback cb
+        cb'' <- mk_IconViewMoveCursorCallback cb'
+        connectSignalFunPtr obj "move-cursor" cb'' connectMode
+
+data IconViewSelectAllSignalInfo
+instance SignalInfo IconViewSelectAllSignalInfo where
+    type HaskellCallbackType IconViewSelectAllSignalInfo = IconViewSelectAllCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IconViewSelectAllCallback cb
+        cb'' <- mk_IconViewSelectAllCallback cb'
+        connectSignalFunPtr obj "select-all" cb'' connectMode
+
+data IconViewSelectCursorItemSignalInfo
+instance SignalInfo IconViewSelectCursorItemSignalInfo where
+    type HaskellCallbackType IconViewSelectCursorItemSignalInfo = IconViewSelectCursorItemCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IconViewSelectCursorItemCallback cb
+        cb'' <- mk_IconViewSelectCursorItemCallback cb'
+        connectSignalFunPtr obj "select-cursor-item" cb'' connectMode
+
+data IconViewSelectionChangedSignalInfo
+instance SignalInfo IconViewSelectionChangedSignalInfo where
+    type HaskellCallbackType IconViewSelectionChangedSignalInfo = IconViewSelectionChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IconViewSelectionChangedCallback cb
+        cb'' <- mk_IconViewSelectionChangedCallback cb'
+        connectSignalFunPtr obj "selection-changed" cb'' connectMode
+
+data IconViewToggleCursorItemSignalInfo
+instance SignalInfo IconViewToggleCursorItemSignalInfo where
+    type HaskellCallbackType IconViewToggleCursorItemSignalInfo = IconViewToggleCursorItemCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IconViewToggleCursorItemCallback cb
+        cb'' <- mk_IconViewToggleCursorItemCallback cb'
+        connectSignalFunPtr obj "toggle-cursor-item" cb'' connectMode
+
+data IconViewUnselectAllSignalInfo
+instance SignalInfo IconViewUnselectAllSignalInfo where
+    type HaskellCallbackType IconViewUnselectAllSignalInfo = IconViewUnselectAllCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_IconViewUnselectAllCallback cb
+        cb'' <- mk_IconViewUnselectAllCallback cb'
+        connectSignalFunPtr obj "unselect-all" cb'' connectMode
+
+type instance O.SignalList IconView = IconViewSignalList
+type IconViewSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateCursorItem", IconViewActivateCursorItemSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("itemActivated", IconViewItemActivatedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", IconViewMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectAll", IconViewSelectAllSignalInfo), '("selectCursorItem", IconViewSelectCursorItemSignalInfo), '("selectionChanged", IconViewSelectionChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleCursorItem", IconViewToggleCursorItemSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("unselectAll", IconViewUnselectAllSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method IconView::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_new" gtk_icon_view_new :: 
+    IO (Ptr IconView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.IconView.IconView' widget
+
+/Since: 2.6/
+-}
+iconViewNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m IconView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.IconView.IconView' widget -}
+iconViewNew  = liftIO $ do
+    result <- gtk_icon_view_new
+    checkUnexpectedReturnNULL "iconViewNew" result
+    result' <- (newObject IconView) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconView::new_with_area
+-- method type : Constructor
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellArea to use to layout cells", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_new_with_area" gtk_icon_view_new_with_area :: 
+    Ptr Gtk.CellArea.CellArea ->            -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO (Ptr IconView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.IconView.IconView' widget using the
+specified /@area@/ to layout cells inside the icons.
+
+/Since: 3.0/
+-}
+iconViewNewWithArea ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellArea.IsCellArea a) =>
+    a
+    {- ^ /@area@/: the 'GI.Gtk.Objects.CellArea.CellArea' to use to layout cells -}
+    -> m IconView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.IconView.IconView' widget -}
+iconViewNewWithArea area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_icon_view_new_with_area area'
+    checkUnexpectedReturnNULL "iconViewNewWithArea" result
+    result' <- (newObject IconView) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconView::new_with_model
+-- method type : Constructor
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The model.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_new_with_model" gtk_icon_view_new_with_model :: 
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO (Ptr IconView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.IconView.IconView' widget with the model /@model@/.
+
+/Since: 2.6/
+-}
+iconViewNewWithModel ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    a
+    {- ^ /@model@/: The model. -}
+    -> m IconView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.IconView.IconView' widget. -}
+iconViewNewWithModel model = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    result <- gtk_icon_view_new_with_model model'
+    checkUnexpectedReturnNULL "iconViewNewWithModel" result
+    result' <- (newObject IconView) result
+    touchManagedPtr model
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconView::convert_widget_to_bin_window_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate relative to the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wy", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate relative to the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bx", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for bin_window X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "by", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for bin_window Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_convert_widget_to_bin_window_coords" gtk_icon_view_convert_widget_to_bin_window_coords :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- wx : TBasicType TInt
+    Int32 ->                                -- wy : TBasicType TInt
+    Ptr Int32 ->                            -- bx : TBasicType TInt
+    Ptr Int32 ->                            -- by : TBasicType TInt
+    IO ()
+
+{- |
+Converts widget coordinates to coordinates for the bin_window,
+as expected by e.g. 'GI.Gtk.Objects.IconView.iconViewGetPathAtPos'.
+
+/Since: 2.12/
+-}
+iconViewConvertWidgetToBinWindowCoords ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@wx@/: X coordinate relative to the widget -}
+    -> Int32
+    {- ^ /@wy@/: Y coordinate relative to the widget -}
+    -> m ((Int32, Int32))
+iconViewConvertWidgetToBinWindowCoords iconView wx wy = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    bx <- allocMem :: IO (Ptr Int32)
+    by <- allocMem :: IO (Ptr Int32)
+    gtk_icon_view_convert_widget_to_bin_window_coords iconView' wx wy bx by
+    bx' <- peek bx
+    by' <- peek by
+    touchManagedPtr iconView
+    freeMem bx
+    freeMem by
+    return (bx', by')
+
+#if ENABLE_OVERLOADING
+data IconViewConvertWidgetToBinWindowCoordsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsIconView a) => O.MethodInfo IconViewConvertWidgetToBinWindowCoordsMethodInfo a signature where
+    overloadedMethod _ = iconViewConvertWidgetToBinWindowCoords
+
+#endif
+
+-- method IconView::create_drag_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath in @icon_view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_create_drag_icon" gtk_icon_view_create_drag_icon :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr Cairo.Surface.Surface)
+
+{- |
+Creates a 'GI.Cairo.Structs.Surface.Surface' representation of the item at /@path@/.
+This image is used for a drag icon.
+
+/Since: 2.8/
+-}
+iconViewCreateDragIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' in /@iconView@/ -}
+    -> m Cairo.Surface.Surface
+    {- ^ __Returns:__ a newly-allocated surface of the drag icon. -}
+iconViewCreateDragIcon iconView path = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_icon_view_create_drag_icon iconView' path'
+    checkUnexpectedReturnNULL "iconViewCreateDragIcon" result
+    result' <- (wrapBoxed Cairo.Surface.Surface) result
+    touchManagedPtr iconView
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconViewCreateDragIconMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Cairo.Surface.Surface), MonadIO m, IsIconView a) => O.MethodInfo IconViewCreateDragIconMethodInfo a signature where
+    overloadedMethod _ = iconViewCreateDragIcon
+
+#endif
+
+-- method IconView::enable_model_drag_dest
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the table of targets that the drag will\n          support", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the bitmask of possible actions for a drag to this\n   widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_enable_model_drag_dest" gtk_icon_view_enable_model_drag_dest :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    IO ()
+
+{- |
+Turns /@iconView@/ into a drop destination for automatic DND. Calling this
+method sets 'GI.Gtk.Objects.IconView.IconView':@/reorderable/@ to 'False'.
+
+/Since: 2.8/
+-}
+iconViewEnableModelDragDest ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> [Gtk.TargetEntry.TargetEntry]
+    {- ^ /@targets@/: the table of targets that the drag will
+          support -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: the bitmask of possible actions for a drag to this
+   widget -}
+    -> m ()
+iconViewEnableModelDragDest iconView targets actions = liftIO $ do
+    let nTargets = fromIntegral $ length targets
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packBlockArray 16 targets'
+    let actions' = gflagsToWord actions
+    gtk_icon_view_enable_model_drag_dest iconView' targets'' nTargets actions'
+    touchManagedPtr iconView
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewEnableModelDragDestMethodInfo
+instance (signature ~ ([Gtk.TargetEntry.TargetEntry] -> [Gdk.Flags.DragAction] -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewEnableModelDragDestMethodInfo a signature where
+    overloadedMethod _ = iconViewEnableModelDragDest
+
+#endif
+
+-- method IconView::enable_model_drag_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_button_mask", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Mask of allowed buttons to start drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the table of targets that the drag will\n          support", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the bitmask of possible actions for a drag from this\n   widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_enable_model_drag_source" gtk_icon_view_enable_model_drag_source :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    CUInt ->                                -- start_button_mask : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    IO ()
+
+{- |
+Turns /@iconView@/ into a drag source for automatic DND. Calling this
+method sets 'GI.Gtk.Objects.IconView.IconView':@/reorderable/@ to 'False'.
+
+/Since: 2.8/
+-}
+iconViewEnableModelDragSource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@startButtonMask@/: Mask of allowed buttons to start drag -}
+    -> [Gtk.TargetEntry.TargetEntry]
+    {- ^ /@targets@/: the table of targets that the drag will
+          support -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: the bitmask of possible actions for a drag from this
+   widget -}
+    -> m ()
+iconViewEnableModelDragSource iconView startButtonMask targets actions = liftIO $ do
+    let nTargets = fromIntegral $ length targets
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    let startButtonMask' = gflagsToWord startButtonMask
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packBlockArray 16 targets'
+    let actions' = gflagsToWord actions
+    gtk_icon_view_enable_model_drag_source iconView' startButtonMask' targets'' nTargets actions'
+    touchManagedPtr iconView
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewEnableModelDragSourceMethodInfo
+instance (signature ~ ([Gdk.Flags.ModifierType] -> [Gtk.TargetEntry.TargetEntry] -> [Gdk.Flags.DragAction] -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewEnableModelDragSourceMethodInfo a signature where
+    overloadedMethod _ = iconViewEnableModelDragSource
+
+#endif
+
+-- method IconView::get_activate_on_single_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_activate_on_single_click" gtk_icon_view_get_activate_on_single_click :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO CInt
+
+{- |
+Gets the setting set by 'GI.Gtk.Objects.IconView.iconViewSetActivateOnSingleClick'.
+
+/Since: 3.8/
+-}
+iconViewGetActivateOnSingleClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if item-activated will be emitted on a single click -}
+iconViewGetActivateOnSingleClick iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_activate_on_single_click iconView'
+    let result' = (/= 0) result
+    touchManagedPtr iconView
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconViewGetActivateOnSingleClickMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetActivateOnSingleClickMethodInfo a signature where
+    overloadedMethod _ = iconViewGetActivateOnSingleClick
+
+#endif
+
+-- method IconView::get_cell_rect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle to fill with cell rect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_cell_rect" gtk_icon_view_get_cell_rect :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO CInt
+
+{- |
+Fills the bounding rectangle in widget coordinates for the cell specified by
+/@path@/ and /@cell@/. If /@cell@/ is 'Nothing' the main cell area is used.
+
+This function is only valid if /@iconView@/ is realized.
+
+/Since: 3.6/
+-}
+iconViewGetCellRect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Maybe (b)
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' or 'Nothing' -}
+    -> m ((Bool, Gdk.Rectangle.Rectangle))
+    {- ^ __Returns:__ 'False' if there is no such item, 'True' otherwise -}
+iconViewGetCellRect iconView path cell = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    maybeCell <- case cell of
+        Nothing -> return nullPtr
+        Just jCell -> do
+            jCell' <- unsafeManagedPtrCastPtr jCell
+            return jCell'
+    rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    result <- gtk_icon_view_get_cell_rect iconView' path' maybeCell rect
+    let result' = (/= 0) result
+    rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect
+    touchManagedPtr iconView
+    touchManagedPtr path
+    whenJust cell touchManagedPtr
+    return (result', rect')
+
+#if ENABLE_OVERLOADING
+data IconViewGetCellRectMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Maybe (b) -> m ((Bool, Gdk.Rectangle.Rectangle))), MonadIO m, IsIconView a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo IconViewGetCellRectMethodInfo a signature where
+    overloadedMethod _ = iconViewGetCellRect
+
+#endif
+
+-- method IconView::get_column_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_column_spacing" gtk_icon_view_get_column_spacing :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the value of the ::column-spacing property.
+
+/Since: 2.6/
+-}
+iconViewGetColumnSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Int32
+    {- ^ __Returns:__ the space between columns -}
+iconViewGetColumnSpacing iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_column_spacing iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetColumnSpacingMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetColumnSpacingMethodInfo a signature where
+    overloadedMethod _ = iconViewGetColumnSpacing
+
+#endif
+
+-- method IconView::get_columns
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_columns" gtk_icon_view_get_columns :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the value of the ::columns property.
+
+/Since: 2.6/
+-}
+iconViewGetColumns ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of columns, or -1 -}
+iconViewGetColumns iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_columns iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetColumnsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetColumnsMethodInfo a signature where
+    overloadedMethod _ = iconViewGetColumns
+
+#endif
+
+-- method IconView::get_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the current\n       cursor path, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location the current\n       focus cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_cursor" gtk_icon_view_get_cursor :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr (Ptr Gtk.CellRenderer.CellRenderer) -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO CInt
+
+{- |
+Fills in /@path@/ and /@cell@/ with the current cursor path and cell.
+If the cursor isn’t currently set, then */@path@/ will be 'Nothing'.
+If no cell currently has focus, then */@cell@/ will be 'Nothing'.
+
+The returned 'GI.Gtk.Structs.TreePath.TreePath' must be freed with 'GI.Gtk.Structs.TreePath.treePathFree'.
+
+/Since: 2.8/
+-}
+iconViewGetCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m ((Bool, Gtk.TreePath.TreePath, Gtk.CellRenderer.CellRenderer))
+    {- ^ __Returns:__ 'True' if the cursor is set. -}
+iconViewGetCursor iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    cell <- allocMem :: IO (Ptr (Ptr Gtk.CellRenderer.CellRenderer))
+    result <- gtk_icon_view_get_cursor iconView' path cell
+    let result' = (/= 0) result
+    path' <- peek path
+    path'' <- (wrapBoxed Gtk.TreePath.TreePath) path'
+    cell' <- peek cell
+    cell'' <- (newObject Gtk.CellRenderer.CellRenderer) cell'
+    touchManagedPtr iconView
+    freeMem path
+    freeMem cell
+    return (result', path'', cell'')
+
+#if ENABLE_OVERLOADING
+data IconViewGetCursorMethodInfo
+instance (signature ~ (m ((Bool, Gtk.TreePath.TreePath, Gtk.CellRenderer.CellRenderer))), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetCursorMethodInfo a signature where
+    overloadedMethod _ = iconViewGetCursor
+
+#endif
+
+-- method IconView::get_dest_item_at_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "drag_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to determine the destination item for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "drag_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to determine the destination item for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the path of the item,\n   or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "pos", argType = TInterface (Name {namespace = "Gtk", name = "IconViewDropPosition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the drop position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_dest_item_at_pos" gtk_icon_view_get_dest_item_at_pos :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- drag_x : TBasicType TInt
+    Int32 ->                                -- drag_y : TBasicType TInt
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr CUInt ->                            -- pos : TInterface (Name {namespace = "Gtk", name = "IconViewDropPosition"})
+    IO CInt
+
+{- |
+Determines the destination item for a given position.
+
+/Since: 2.8/
+-}
+iconViewGetDestItemAtPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@dragX@/: the position to determine the destination item for -}
+    -> Int32
+    {- ^ /@dragY@/: the position to determine the destination item for -}
+    -> m ((Bool, Gtk.TreePath.TreePath, Gtk.Enums.IconViewDropPosition))
+    {- ^ __Returns:__ whether there is an item at the given position. -}
+iconViewGetDestItemAtPos iconView dragX dragY = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    pos <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_icon_view_get_dest_item_at_pos iconView' dragX dragY path pos
+    let result' = (/= 0) result
+    path' <- peek path
+    path'' <- (wrapBoxed Gtk.TreePath.TreePath) path'
+    pos' <- peek pos
+    let pos'' = (toEnum . fromIntegral) pos'
+    touchManagedPtr iconView
+    freeMem path
+    freeMem pos
+    return (result', path'', pos'')
+
+#if ENABLE_OVERLOADING
+data IconViewGetDestItemAtPosMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Bool, Gtk.TreePath.TreePath, Gtk.Enums.IconViewDropPosition))), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetDestItemAtPosMethodInfo a signature where
+    overloadedMethod _ = iconViewGetDestItemAtPos
+
+#endif
+
+-- method IconView::get_drag_dest_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the path of\n       the highlighted item, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "pos", argType = TInterface (Name {namespace = "Gtk", name = "IconViewDropPosition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the drop position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_drag_dest_item" gtk_icon_view_get_drag_dest_item :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr CUInt ->                            -- pos : TInterface (Name {namespace = "Gtk", name = "IconViewDropPosition"})
+    IO ()
+
+{- |
+Gets information about the item that is highlighted for feedback.
+
+/Since: 2.8/
+-}
+iconViewGetDragDestItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m ((Gtk.TreePath.TreePath, Gtk.Enums.IconViewDropPosition))
+iconViewGetDragDestItem iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    pos <- allocMem :: IO (Ptr CUInt)
+    gtk_icon_view_get_drag_dest_item iconView' path pos
+    path' <- peek path
+    path'' <- (wrapBoxed Gtk.TreePath.TreePath) path'
+    pos' <- peek pos
+    let pos'' = (toEnum . fromIntegral) pos'
+    touchManagedPtr iconView
+    freeMem path
+    freeMem pos
+    return (path'', pos'')
+
+#if ENABLE_OVERLOADING
+data IconViewGetDragDestItemMethodInfo
+instance (signature ~ (m ((Gtk.TreePath.TreePath, Gtk.Enums.IconViewDropPosition))), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetDragDestItemMethodInfo a signature where
+    overloadedMethod _ = iconViewGetDragDestItem
+
+#endif
+
+-- method IconView::get_item_at_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The x position to be identified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The y position to be identified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the path, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the renderer\n  responsible for the cell at (@x, @y), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_item_at_pos" gtk_icon_view_get_item_at_pos :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr (Ptr Gtk.CellRenderer.CellRenderer) -> -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO CInt
+
+{- |
+Finds the path at the point (/@x@/, /@y@/), relative to bin_window coordinates.
+In contrast to 'GI.Gtk.Objects.IconView.iconViewGetPathAtPos', this function also
+obtains the cell at the specified position. The returned path should
+be freed with 'GI.Gtk.Structs.TreePath.treePathFree'.
+See 'GI.Gtk.Objects.IconView.iconViewConvertWidgetToBinWindowCoords' for converting
+widget coordinates to bin_window coordinates.
+
+/Since: 2.8/
+-}
+iconViewGetItemAtPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Int32
+    {- ^ /@x@/: The x position to be identified -}
+    -> Int32
+    {- ^ /@y@/: The y position to be identified -}
+    -> m ((Bool, Gtk.TreePath.TreePath, Gtk.CellRenderer.CellRenderer))
+    {- ^ __Returns:__ 'True' if an item exists at the specified position -}
+iconViewGetItemAtPos iconView x y = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    cell <- allocMem :: IO (Ptr (Ptr Gtk.CellRenderer.CellRenderer))
+    result <- gtk_icon_view_get_item_at_pos iconView' x y path cell
+    let result' = (/= 0) result
+    path' <- peek path
+    path'' <- (wrapBoxed Gtk.TreePath.TreePath) path'
+    cell' <- peek cell
+    cell'' <- (newObject Gtk.CellRenderer.CellRenderer) cell'
+    touchManagedPtr iconView
+    freeMem path
+    freeMem cell
+    return (result', path'', cell'')
+
+#if ENABLE_OVERLOADING
+data IconViewGetItemAtPosMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Bool, Gtk.TreePath.TreePath, Gtk.CellRenderer.CellRenderer))), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetItemAtPosMethodInfo a signature where
+    overloadedMethod _ = iconViewGetItemAtPos
+
+#endif
+
+-- method IconView::get_item_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreePath of the item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_item_column" gtk_icon_view_get_item_column :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO Int32
+
+{- |
+Gets the column in which the item /@path@/ is currently
+displayed. Column numbers start at 0.
+
+/Since: 2.22/
+-}
+iconViewGetItemColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: the 'GI.Gtk.Structs.TreePath.TreePath' of the item -}
+    -> m Int32
+    {- ^ __Returns:__ The column in which the item is displayed -}
+iconViewGetItemColumn iconView path = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_icon_view_get_item_column iconView' path'
+    touchManagedPtr iconView
+    touchManagedPtr path
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetItemColumnMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetItemColumnMethodInfo a signature where
+    overloadedMethod _ = iconViewGetItemColumn
+
+#endif
+
+-- method IconView::get_item_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Orientation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_item_orientation" gtk_icon_view_get_item_orientation :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO CUInt
+
+{- |
+Returns the value of the ::item-orientation property which determines
+whether the labels are drawn beside the icons instead of below.
+
+/Since: 2.6/
+-}
+iconViewGetItemOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Gtk.Enums.Orientation
+    {- ^ __Returns:__ the relative position of texts and icons -}
+iconViewGetItemOrientation iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_item_orientation iconView'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr iconView
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconViewGetItemOrientationMethodInfo
+instance (signature ~ (m Gtk.Enums.Orientation), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetItemOrientationMethodInfo a signature where
+    overloadedMethod _ = iconViewGetItemOrientation
+
+#endif
+
+-- method IconView::get_item_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_item_padding" gtk_icon_view_get_item_padding :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the value of the ::item-padding property.
+
+/Since: 2.18/
+-}
+iconViewGetItemPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Int32
+    {- ^ __Returns:__ the padding around items -}
+iconViewGetItemPadding iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_item_padding iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetItemPaddingMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetItemPaddingMethodInfo a signature where
+    overloadedMethod _ = iconViewGetItemPadding
+
+#endif
+
+-- method IconView::get_item_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTreePath of the item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_item_row" gtk_icon_view_get_item_row :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO Int32
+
+{- |
+Gets the row in which the item /@path@/ is currently
+displayed. Row numbers start at 0.
+
+/Since: 2.22/
+-}
+iconViewGetItemRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: the 'GI.Gtk.Structs.TreePath.TreePath' of the item -}
+    -> m Int32
+    {- ^ __Returns:__ The row in which the item is displayed -}
+iconViewGetItemRow iconView path = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_icon_view_get_item_row iconView' path'
+    touchManagedPtr iconView
+    touchManagedPtr path
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetItemRowMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetItemRowMethodInfo a signature where
+    overloadedMethod _ = iconViewGetItemRow
+
+#endif
+
+-- method IconView::get_item_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_item_width" gtk_icon_view_get_item_width :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the value of the ::item-width property.
+
+/Since: 2.6/
+-}
+iconViewGetItemWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Int32
+    {- ^ __Returns:__ the width of a single item, or -1 -}
+iconViewGetItemWidth iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_item_width iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetItemWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetItemWidthMethodInfo a signature where
+    overloadedMethod _ = iconViewGetItemWidth
+
+#endif
+
+-- method IconView::get_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_margin" gtk_icon_view_get_margin :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the value of the ::margin property.
+
+/Since: 2.6/
+-}
+iconViewGetMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Int32
+    {- ^ __Returns:__ the space at the borders -}
+iconViewGetMargin iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_margin iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetMarginMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetMarginMethodInfo a signature where
+    overloadedMethod _ = iconViewGetMargin
+
+#endif
+
+-- method IconView::get_markup_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_markup_column" gtk_icon_view_get_markup_column :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the column with markup text for /@iconView@/.
+
+/Since: 2.6/
+-}
+iconViewGetMarkupColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> m Int32
+    {- ^ __Returns:__ the markup column, or -1 if it’s unset. -}
+iconViewGetMarkupColumn iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_markup_column iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetMarkupColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetMarkupColumnMethodInfo a signature where
+    overloadedMethod _ = iconViewGetMarkupColumn
+
+#endif
+
+-- method IconView::get_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_model" gtk_icon_view_get_model :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO (Ptr Gtk.TreeModel.TreeModel)
+
+{- |
+Returns the model the 'GI.Gtk.Objects.IconView.IconView' is based on.  Returns 'Nothing' if the
+model is unset.
+
+/Since: 2.6/
+-}
+iconViewGetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m (Maybe Gtk.TreeModel.TreeModel)
+    {- ^ __Returns:__ A 'GI.Gtk.Interfaces.TreeModel.TreeModel', or 'Nothing' if none is
+    currently being used. -}
+iconViewGetModel iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_model iconView'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.TreeModel.TreeModel) result'
+        return result''
+    touchManagedPtr iconView
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconViewGetModelMethodInfo
+instance (signature ~ (m (Maybe Gtk.TreeModel.TreeModel)), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetModelMethodInfo a signature where
+    overloadedMethod _ = iconViewGetModel
+
+#endif
+
+-- method IconView::get_path_at_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The x position to be identified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The y position to be identified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_path_at_pos" gtk_icon_view_get_path_at_pos :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO (Ptr Gtk.TreePath.TreePath)
+
+{- |
+Finds the path at the point (/@x@/, /@y@/), relative to bin_window coordinates.
+See 'GI.Gtk.Objects.IconView.iconViewGetItemAtPos', if you are also interested in
+the cell at the specified position.
+See 'GI.Gtk.Objects.IconView.iconViewConvertWidgetToBinWindowCoords' for converting
+widget coordinates to bin_window coordinates.
+
+/Since: 2.6/
+-}
+iconViewGetPathAtPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Int32
+    {- ^ /@x@/: The x position to be identified -}
+    -> Int32
+    {- ^ /@y@/: The y position to be identified -}
+    -> m (Maybe Gtk.TreePath.TreePath)
+    {- ^ __Returns:__ The 'GI.Gtk.Structs.TreePath.TreePath' corresponding
+to the icon or 'Nothing' if no icon exists at that position. -}
+iconViewGetPathAtPos iconView x y = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_path_at_pos iconView' x y
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gtk.TreePath.TreePath) result'
+        return result''
+    touchManagedPtr iconView
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data IconViewGetPathAtPosMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetPathAtPosMethodInfo a signature where
+    overloadedMethod _ = iconViewGetPathAtPos
+
+#endif
+
+-- method IconView::get_pixbuf_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_pixbuf_column" gtk_icon_view_get_pixbuf_column :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the column with pixbufs for /@iconView@/.
+
+/Since: 2.6/
+-}
+iconViewGetPixbufColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> m Int32
+    {- ^ __Returns:__ the pixbuf column, or -1 if it’s unset. -}
+iconViewGetPixbufColumn iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_pixbuf_column iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetPixbufColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetPixbufColumnMethodInfo a signature where
+    overloadedMethod _ = iconViewGetPixbufColumn
+
+#endif
+
+-- method IconView::get_reorderable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_reorderable" gtk_icon_view_get_reorderable :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO CInt
+
+{- |
+Retrieves whether the user can reorder the list via drag-and-drop.
+See 'GI.Gtk.Objects.IconView.iconViewSetReorderable'.
+
+/Since: 2.8/
+-}
+iconViewGetReorderable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the list can be reordered. -}
+iconViewGetReorderable iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_reorderable iconView'
+    let result' = (/= 0) result
+    touchManagedPtr iconView
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconViewGetReorderableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetReorderableMethodInfo a signature where
+    overloadedMethod _ = iconViewGetReorderable
+
+#endif
+
+-- method IconView::get_row_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_row_spacing" gtk_icon_view_get_row_spacing :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the value of the ::row-spacing property.
+
+/Since: 2.6/
+-}
+iconViewGetRowSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Int32
+    {- ^ __Returns:__ the space between rows -}
+iconViewGetRowSpacing iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_row_spacing iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetRowSpacingMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetRowSpacingMethodInfo a signature where
+    overloadedMethod _ = iconViewGetRowSpacing
+
+#endif
+
+-- method IconView::get_selected_items
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "TreePath"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_selected_items" gtk_icon_view_get_selected_items :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO (Ptr (GList (Ptr Gtk.TreePath.TreePath)))
+
+{- |
+Creates a list of paths of all selected items. Additionally, if you are
+planning on modifying the model after calling this function, you may
+want to convert the returned list into a list of @/GtkTreeRowReferences/@.
+To do this, you can use 'GI.Gtk.Structs.TreeRowReference.treeRowReferenceNew'.
+
+To free the return value, use:
+
+=== /C code/
+>
+>g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
+
+
+/Since: 2.6/
+-}
+iconViewGetSelectedItems ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> m [Gtk.TreePath.TreePath]
+    {- ^ __Returns:__ A 'GI.GLib.Structs.List.List' containing a 'GI.Gtk.Structs.TreePath.TreePath' for each selected row. -}
+iconViewGetSelectedItems iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_selected_items iconView'
+    result' <- unpackGList result
+    result'' <- mapM (wrapBoxed Gtk.TreePath.TreePath) result'
+    g_list_free result
+    touchManagedPtr iconView
+    return result''
+
+#if ENABLE_OVERLOADING
+data IconViewGetSelectedItemsMethodInfo
+instance (signature ~ (m [Gtk.TreePath.TreePath]), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetSelectedItemsMethodInfo a signature where
+    overloadedMethod _ = iconViewGetSelectedItems
+
+#endif
+
+-- method IconView::get_selection_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SelectionMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_selection_mode" gtk_icon_view_get_selection_mode :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO CUInt
+
+{- |
+Gets the selection mode of the /@iconView@/.
+
+/Since: 2.6/
+-}
+iconViewGetSelectionMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> m Gtk.Enums.SelectionMode
+    {- ^ __Returns:__ the current selection mode -}
+iconViewGetSelectionMode iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_selection_mode iconView'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr iconView
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconViewGetSelectionModeMethodInfo
+instance (signature ~ (m Gtk.Enums.SelectionMode), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetSelectionModeMethodInfo a signature where
+    overloadedMethod _ = iconViewGetSelectionMode
+
+#endif
+
+-- method IconView::get_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_spacing" gtk_icon_view_get_spacing :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the value of the ::spacing property.
+
+/Since: 2.6/
+-}
+iconViewGetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Int32
+    {- ^ __Returns:__ the space between cells -}
+iconViewGetSpacing iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_spacing iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetSpacingMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetSpacingMethodInfo a signature where
+    overloadedMethod _ = iconViewGetSpacing
+
+#endif
+
+-- method IconView::get_text_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_text_column" gtk_icon_view_get_text_column :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the column with text for /@iconView@/.
+
+/Since: 2.6/
+-}
+iconViewGetTextColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> m Int32
+    {- ^ __Returns:__ the text column, or -1 if it’s unset. -}
+iconViewGetTextColumn iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_text_column iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetTextColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetTextColumnMethodInfo a signature where
+    overloadedMethod _ = iconViewGetTextColumn
+
+#endif
+
+-- method IconView::get_tooltip_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_tooltip_column" gtk_icon_view_get_tooltip_column :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO Int32
+
+{- |
+Returns the column of /@iconView@/’s model which is being used for
+displaying tooltips on /@iconView@/’s rows.
+
+/Since: 2.12/
+-}
+iconViewGetTooltipColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m Int32
+    {- ^ __Returns:__ the index of the tooltip column that is currently being
+used, or -1 if this is disabled. -}
+iconViewGetTooltipColumn iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    result <- gtk_icon_view_get_tooltip_column iconView'
+    touchManagedPtr iconView
+    return result
+
+#if ENABLE_OVERLOADING
+data IconViewGetTooltipColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetTooltipColumnMethodInfo a signature where
+    overloadedMethod _ = iconViewGetTooltipColumn
+
+#endif
+
+-- method IconView::get_tooltip_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate (relative to widget coordinates)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate (relative to widget coordinates)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "keyboard_tip", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether this is a keyboard tooltip or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to receive a\n        #GtkTreeModel or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to receive a #GtkTreePath or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to receive a #GtkTreeIter or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_tooltip_context" gtk_icon_view_get_tooltip_context :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Int32 ->                            -- x : TBasicType TInt
+    Ptr Int32 ->                            -- y : TBasicType TInt
+    CInt ->                                 -- keyboard_tip : TBasicType TBoolean
+    Ptr (Ptr Gtk.TreeModel.TreeModel) ->    -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+This function is supposed to be used in a 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@
+signal handler for 'GI.Gtk.Objects.IconView.IconView'.  The /@x@/, /@y@/ and /@keyboardTip@/ values
+which are received in the signal handler, should be passed to this
+function without modification.
+
+The return value indicates whether there is an icon view item at the given
+coordinates ('True') or not ('False') for mouse tooltips. For keyboard
+tooltips the item returned will be the cursor item. When 'True', then any of
+/@model@/, /@path@/ and /@iter@/ which have been provided will be set to point to
+that row and the corresponding model. /@x@/ and /@y@/ will always be converted
+to be relative to /@iconView@/’s bin_window if /@keyboardTooltip@/ is 'False'.
+
+/Since: 2.12/
+-}
+iconViewGetTooltipContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: an 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@x@/: the x coordinate (relative to widget coordinates) -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate (relative to widget coordinates) -}
+    -> Bool
+    {- ^ /@keyboardTip@/: whether this is a keyboard tooltip or not -}
+    -> m ((Bool, Int32, Int32, Gtk.TreeModel.TreeModel, Gtk.TreePath.TreePath, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ whether or not the given tooltip context points to a item -}
+iconViewGetTooltipContext iconView x y keyboardTip = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    x' <- allocMem :: IO (Ptr Int32)
+    poke x' x
+    y' <- allocMem :: IO (Ptr Int32)
+    poke y' y
+    let keyboardTip' = (fromIntegral . fromEnum) keyboardTip
+    model <- allocMem :: IO (Ptr (Ptr Gtk.TreeModel.TreeModel))
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    result <- gtk_icon_view_get_tooltip_context iconView' x' y' keyboardTip' model path iter
+    let result' = (/= 0) result
+    x'' <- peek x'
+    y'' <- peek y'
+    model' <- peek model
+    model'' <- (newObject Gtk.TreeModel.TreeModel) model'
+    path' <- peek path
+    path'' <- (wrapBoxed Gtk.TreePath.TreePath) path'
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr iconView
+    freeMem x'
+    freeMem y'
+    freeMem model
+    freeMem path
+    return (result', x'', y'', model'', path'', iter')
+
+#if ENABLE_OVERLOADING
+data IconViewGetTooltipContextMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Bool -> m ((Bool, Int32, Int32, Gtk.TreeModel.TreeModel, Gtk.TreePath.TreePath, Gtk.TreeIter.TreeIter))), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetTooltipContextMethodInfo a signature where
+    overloadedMethod _ = iconViewGetTooltipContext
+
+#endif
+
+-- method IconView::get_visible_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for start of region,\n             or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for end of region, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_get_visible_range" gtk_icon_view_get_visible_range :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- start_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- end_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Sets /@startPath@/ and /@endPath@/ to be the first and last visible path.
+Note that there may be invisible paths in between.
+
+Both paths should be freed with 'GI.Gtk.Structs.TreePath.treePathFree' after use.
+
+/Since: 2.8/
+-}
+iconViewGetVisibleRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m ((Bool, Gtk.TreePath.TreePath, Gtk.TreePath.TreePath))
+    {- ^ __Returns:__ 'True', if valid paths were placed in /@startPath@/ and /@endPath@/ -}
+iconViewGetVisibleRange iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    startPath <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    endPath <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    result <- gtk_icon_view_get_visible_range iconView' startPath endPath
+    let result' = (/= 0) result
+    startPath' <- peek startPath
+    startPath'' <- (wrapBoxed Gtk.TreePath.TreePath) startPath'
+    endPath' <- peek endPath
+    endPath'' <- (wrapBoxed Gtk.TreePath.TreePath) endPath'
+    touchManagedPtr iconView
+    freeMem startPath
+    freeMem endPath
+    return (result', startPath'', endPath'')
+
+#if ENABLE_OVERLOADING
+data IconViewGetVisibleRangeMethodInfo
+instance (signature ~ (m ((Bool, Gtk.TreePath.TreePath, Gtk.TreePath.TreePath))), MonadIO m, IsIconView a) => O.MethodInfo IconViewGetVisibleRangeMethodInfo a signature where
+    overloadedMethod _ = iconViewGetVisibleRange
+
+#endif
+
+-- method IconView::item_activated
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath to be activated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_item_activated" gtk_icon_view_item_activated :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Activates the item determined by /@path@/.
+
+/Since: 2.6/
+-}
+iconViewItemActivated ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' to be activated -}
+    -> m ()
+iconViewItemActivated iconView path = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_icon_view_item_activated iconView' path'
+    touchManagedPtr iconView
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewItemActivatedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewItemActivatedMethodInfo a signature where
+    overloadedMethod _ = iconViewItemActivated
+
+#endif
+
+-- method IconView::path_is_selected
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath to check selection on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_path_is_selected" gtk_icon_view_path_is_selected :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Returns 'True' if the icon pointed to by /@path@/ is currently
+selected. If /@path@/ does not point to a valid location, 'False' is returned.
+
+/Since: 2.6/
+-}
+iconViewPathIsSelected ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: A 'GI.Gtk.Structs.TreePath.TreePath' to check selection on. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@path@/ is selected. -}
+iconViewPathIsSelected iconView path = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_icon_view_path_is_selected iconView' path'
+    let result' = (/= 0) result
+    touchManagedPtr iconView
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconViewPathIsSelectedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Bool), MonadIO m, IsIconView a) => O.MethodInfo IconViewPathIsSelectedMethodInfo a signature where
+    overloadedMethod _ = iconViewPathIsSelected
+
+#endif
+
+-- method IconView::scroll_to_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The path of the item to move to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_align", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to use alignment arguments, or %FALSE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row_align", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The vertical alignment of the item specified by @path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "col_align", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The horizontal alignment of the item specified by @path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_scroll_to_path" gtk_icon_view_scroll_to_path :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    CInt ->                                 -- use_align : TBasicType TBoolean
+    CFloat ->                               -- row_align : TBasicType TFloat
+    CFloat ->                               -- col_align : TBasicType TFloat
+    IO ()
+
+{- |
+Moves the alignments of /@iconView@/ to the position specified by /@path@/.
+/@rowAlign@/ determines where the row is placed, and /@colAlign@/ determines
+where /@column@/ is placed.  Both are expected to be between 0.0 and 1.0.
+0.0 means left\/top alignment, 1.0 means right\/bottom alignment, 0.5 means
+center.
+
+If /@useAlign@/ is 'False', then the alignment arguments are ignored, and the
+tree does the minimum amount of work to scroll the item onto the screen.
+This means that the item will be scrolled to the edge closest to its current
+position.  If the item is currently visible on the screen, nothing is done.
+
+This function only works if the model is set, and /@path@/ is a valid row on
+the model. If the model changes before the /@iconView@/ is realized, the
+centered path will be modified to reflect this change.
+
+/Since: 2.8/
+-}
+iconViewScrollToPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The path of the item to move to. -}
+    -> Bool
+    {- ^ /@useAlign@/: whether to use alignment arguments, or 'False'. -}
+    -> Float
+    {- ^ /@rowAlign@/: The vertical alignment of the item specified by /@path@/. -}
+    -> Float
+    {- ^ /@colAlign@/: The horizontal alignment of the item specified by /@path@/. -}
+    -> m ()
+iconViewScrollToPath iconView path useAlign rowAlign colAlign = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    let useAlign' = (fromIntegral . fromEnum) useAlign
+    let rowAlign' = realToFrac rowAlign
+    let colAlign' = realToFrac colAlign
+    gtk_icon_view_scroll_to_path iconView' path' useAlign' rowAlign' colAlign'
+    touchManagedPtr iconView
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewScrollToPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Bool -> Float -> Float -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewScrollToPathMethodInfo a signature where
+    overloadedMethod _ = iconViewScrollToPath
+
+#endif
+
+-- method IconView::select_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_select_all" gtk_icon_view_select_all :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO ()
+
+{- |
+Selects all the icons. /@iconView@/ must has its selection mode set
+to @/GTK_SELECTION_MULTIPLE/@.
+
+/Since: 2.6/
+-}
+iconViewSelectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> m ()
+iconViewSelectAll iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_select_all iconView'
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSelectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSelectAllMethodInfo a signature where
+    overloadedMethod _ = iconViewSelectAll
+
+#endif
+
+-- method IconView::select_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath to be selected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_select_path" gtk_icon_view_select_path :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Selects the row at /@path@/.
+
+/Since: 2.6/
+-}
+iconViewSelectPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' to be selected. -}
+    -> m ()
+iconViewSelectPath iconView path = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_icon_view_select_path iconView' path'
+    touchManagedPtr iconView
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSelectPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSelectPathMethodInfo a signature where
+    overloadedMethod _ = iconViewSelectPath
+
+#endif
+
+-- method IconView::selected_foreach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "IconViewForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The function to call for each selected icon.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data to pass to the function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_selected_foreach" gtk_icon_view_selected_foreach :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    FunPtr Gtk.Callbacks.C_IconViewForeachFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "IconViewForeachFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls a function for each selected icon. Note that the model or
+selection cannot be modified from within this function.
+
+/Since: 2.6/
+-}
+iconViewSelectedForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Gtk.Callbacks.IconViewForeachFunc
+    {- ^ /@func@/: The function to call for each selected icon. -}
+    -> m ()
+iconViewSelectedForeach iconView func = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    func' <- Gtk.Callbacks.mk_IconViewForeachFunc (Gtk.Callbacks.wrap_IconViewForeachFunc Nothing (Gtk.Callbacks.drop_closures_IconViewForeachFunc func))
+    let data_ = nullPtr
+    gtk_icon_view_selected_foreach iconView' func' data_
+    safeFreeFunPtr $ castFunPtrToPtr func'
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSelectedForeachMethodInfo
+instance (signature ~ (Gtk.Callbacks.IconViewForeachFunc -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSelectedForeachMethodInfo a signature where
+    overloadedMethod _ = iconViewSelectedForeach
+
+#endif
+
+-- method IconView::set_activate_on_single_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "single", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to emit item-activated on a single click", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_activate_on_single_click" gtk_icon_view_set_activate_on_single_click :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    CInt ->                                 -- single : TBasicType TBoolean
+    IO ()
+
+{- |
+Causes the 'GI.Gtk.Objects.IconView.IconView'::@/item-activated/@ signal to be emitted on
+a single click instead of a double click.
+
+/Since: 3.8/
+-}
+iconViewSetActivateOnSingleClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Bool
+    {- ^ /@single@/: 'True' to emit item-activated on a single click -}
+    -> m ()
+iconViewSetActivateOnSingleClick iconView single = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    let single' = (fromIntegral . fromEnum) single
+    gtk_icon_view_set_activate_on_single_click iconView' single'
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetActivateOnSingleClickMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetActivateOnSingleClickMethodInfo a signature where
+    overloadedMethod _ = iconViewSetActivateOnSingleClick
+
+#endif
+
+-- method IconView::set_column_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column_spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column spacing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_column_spacing" gtk_icon_view_set_column_spacing :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- column_spacing : TBasicType TInt
+    IO ()
+
+{- |
+Sets the ::column-spacing property which specifies the space
+which is inserted between the columns of the icon view.
+
+/Since: 2.6/
+-}
+iconViewSetColumnSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@columnSpacing@/: the column spacing -}
+    -> m ()
+iconViewSetColumnSpacing iconView columnSpacing = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_column_spacing iconView' columnSpacing
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetColumnSpacingMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetColumnSpacingMethodInfo a signature where
+    overloadedMethod _ = iconViewSetColumnSpacing
+
+#endif
+
+-- method IconView::set_columns
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "columns", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of columns", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_columns" gtk_icon_view_set_columns :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- columns : TBasicType TInt
+    IO ()
+
+{- |
+Sets the ::columns property which determines in how
+many columns the icons are arranged. If /@columns@/ is
+-1, the number of columns will be chosen automatically
+to fill the available area.
+
+/Since: 2.6/
+-}
+iconViewSetColumns ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@columns@/: the number of columns -}
+    -> m ()
+iconViewSetColumns iconView columns = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_columns iconView' columns
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetColumnsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetColumnsMethodInfo a signature where
+    overloadedMethod _ = iconViewSetColumns
+
+#endif
+
+-- method IconView::set_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "One of the cell renderers of @icon_view, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_editing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the specified cell should start being edited.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_cursor" gtk_icon_view_set_cursor :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- start_editing : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the current keyboard focus to be at /@path@/, and selects it.  This is
+useful when you want to focus the user’s attention on a particular item.
+If /@cell@/ is not 'Nothing', then focus is given to the cell specified by
+it. Additionally, if /@startEditing@/ is 'True', then editing should be
+started in the specified cell.
+
+This function is often followed by @gtk_widget_grab_focus
+(icon_view)@ in order to give keyboard focus to the widget.
+Please note that editing can only happen when the widget is realized.
+
+/Since: 2.8/
+-}
+iconViewSetCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: A 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Maybe (b)
+    {- ^ /@cell@/: One of the cell renderers of /@iconView@/, or 'Nothing' -}
+    -> Bool
+    {- ^ /@startEditing@/: 'True' if the specified cell should start being edited. -}
+    -> m ()
+iconViewSetCursor iconView path cell startEditing = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    maybeCell <- case cell of
+        Nothing -> return nullPtr
+        Just jCell -> do
+            jCell' <- unsafeManagedPtrCastPtr jCell
+            return jCell'
+    let startEditing' = (fromIntegral . fromEnum) startEditing
+    gtk_icon_view_set_cursor iconView' path' maybeCell startEditing'
+    touchManagedPtr iconView
+    touchManagedPtr path
+    whenJust cell touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetCursorMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Maybe (b) -> Bool -> m ()), MonadIO m, IsIconView a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo IconViewSetCursorMethodInfo a signature where
+    overloadedMethod _ = iconViewSetCursor
+
+#endif
+
+-- method IconView::set_drag_dest_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The path of the item to highlight, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TInterface (Name {namespace = "Gtk", name = "IconViewDropPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Specifies where to drop, relative to the item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_drag_dest_item" gtk_icon_view_set_drag_dest_item :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    CUInt ->                                -- pos : TInterface (Name {namespace = "Gtk", name = "IconViewDropPosition"})
+    IO ()
+
+{- |
+Sets the item that is highlighted for feedback.
+
+/Since: 2.8/
+-}
+iconViewSetDragDestItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Maybe (Gtk.TreePath.TreePath)
+    {- ^ /@path@/: The path of the item to highlight, or 'Nothing'. -}
+    -> Gtk.Enums.IconViewDropPosition
+    {- ^ /@pos@/: Specifies where to drop, relative to the item -}
+    -> m ()
+iconViewSetDragDestItem iconView path pos = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    maybePath <- case path of
+        Nothing -> return nullPtr
+        Just jPath -> do
+            jPath' <- unsafeManagedPtrGetPtr jPath
+            return jPath'
+    let pos' = (fromIntegral . fromEnum) pos
+    gtk_icon_view_set_drag_dest_item iconView' maybePath pos'
+    touchManagedPtr iconView
+    whenJust path touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetDragDestItemMethodInfo
+instance (signature ~ (Maybe (Gtk.TreePath.TreePath) -> Gtk.Enums.IconViewDropPosition -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetDragDestItemMethodInfo a signature where
+    overloadedMethod _ = iconViewSetDragDestItem
+
+#endif
+
+-- method IconView::set_item_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the relative position of texts and icons", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_item_orientation" gtk_icon_view_set_item_orientation :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO ()
+
+{- |
+Sets the ::item-orientation property which determines whether the labels
+are drawn beside the icons instead of below.
+
+/Since: 2.6/
+-}
+iconViewSetItemOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the relative position of texts and icons -}
+    -> m ()
+iconViewSetItemOrientation iconView orientation = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    let orientation' = (fromIntegral . fromEnum) orientation
+    gtk_icon_view_set_item_orientation iconView' orientation'
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetItemOrientationMethodInfo
+instance (signature ~ (Gtk.Enums.Orientation -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetItemOrientationMethodInfo a signature where
+    overloadedMethod _ = iconViewSetItemOrientation
+
+#endif
+
+-- method IconView::set_item_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item_padding", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the item padding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_item_padding" gtk_icon_view_set_item_padding :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- item_padding : TBasicType TInt
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.IconView.IconView':@/item-padding/@ property which specifies the padding
+around each of the icon view’s items.
+
+/Since: 2.18/
+-}
+iconViewSetItemPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@itemPadding@/: the item padding -}
+    -> m ()
+iconViewSetItemPadding iconView itemPadding = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_item_padding iconView' itemPadding
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetItemPaddingMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetItemPaddingMethodInfo a signature where
+    overloadedMethod _ = iconViewSetItemPadding
+
+#endif
+
+-- method IconView::set_item_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item_width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width for each item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_item_width" gtk_icon_view_set_item_width :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- item_width : TBasicType TInt
+    IO ()
+
+{- |
+Sets the ::item-width property which specifies the width
+to use for each item. If it is set to -1, the icon view will
+automatically determine a suitable item size.
+
+/Since: 2.6/
+-}
+iconViewSetItemWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@itemWidth@/: the width for each item -}
+    -> m ()
+iconViewSetItemWidth iconView itemWidth = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_item_width iconView' itemWidth
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetItemWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetItemWidthMethodInfo a signature where
+    overloadedMethod _ = iconViewSetItemWidth
+
+#endif
+
+-- method IconView::set_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_margin" gtk_icon_view_set_margin :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- margin : TBasicType TInt
+    IO ()
+
+{- |
+Sets the ::margin property which specifies the space
+which is inserted at the top, bottom, left and right
+of the icon view.
+
+/Since: 2.6/
+-}
+iconViewSetMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@margin@/: the margin -}
+    -> m ()
+iconViewSetMargin iconView margin = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_margin iconView' margin
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetMarginMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetMarginMethodInfo a signature where
+    overloadedMethod _ = iconViewSetMargin
+
+#endif
+
+-- method IconView::set_markup_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A column in the currently used model, or -1 to display no text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_markup_column" gtk_icon_view_set_markup_column :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+Sets the column with markup information for /@iconView@/ to be
+/@column@/. The markup column must be of type @/G_TYPE_STRING/@.
+If the markup column is set to something, it overrides
+the text column set by 'GI.Gtk.Objects.IconView.iconViewSetTextColumn'.
+
+/Since: 2.6/
+-}
+iconViewSetMarkupColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Int32
+    {- ^ /@column@/: A column in the currently used model, or -1 to display no text -}
+    -> m ()
+iconViewSetMarkupColumn iconView column = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_markup_column iconView' column
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetMarkupColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetMarkupColumnMethodInfo a signature where
+    overloadedMethod _ = iconViewSetMarkupColumn
+
+#endif
+
+-- method IconView::set_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The model.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_model" gtk_icon_view_set_model :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO ()
+
+{- |
+Sets the model for a 'GI.Gtk.Objects.IconView.IconView'.
+If the /@iconView@/ already has a model set, it will remove
+it before setting the new model.  If /@model@/ is 'Nothing', then
+it will unset the old model.
+
+/Since: 2.6/
+-}
+iconViewSetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a, Gtk.TreeModel.IsTreeModel b) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Maybe (b)
+    {- ^ /@model@/: The model. -}
+    -> m ()
+iconViewSetModel iconView model = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    maybeModel <- case model of
+        Nothing -> return nullPtr
+        Just jModel -> do
+            jModel' <- unsafeManagedPtrCastPtr jModel
+            return jModel'
+    gtk_icon_view_set_model iconView' maybeModel
+    touchManagedPtr iconView
+    whenJust model touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetModelMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsIconView a, Gtk.TreeModel.IsTreeModel b) => O.MethodInfo IconViewSetModelMethodInfo a signature where
+    overloadedMethod _ = iconViewSetModel
+
+#endif
+
+-- method IconView::set_pixbuf_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A column in the currently used model, or -1 to disable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_pixbuf_column" gtk_icon_view_set_pixbuf_column :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+Sets the column with pixbufs for /@iconView@/ to be /@column@/. The pixbuf
+column must be of type @/GDK_TYPE_PIXBUF/@
+
+/Since: 2.6/
+-}
+iconViewSetPixbufColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Int32
+    {- ^ /@column@/: A column in the currently used model, or -1 to disable -}
+    -> m ()
+iconViewSetPixbufColumn iconView column = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_pixbuf_column iconView' column
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetPixbufColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetPixbufColumnMethodInfo a signature where
+    overloadedMethod _ = iconViewSetPixbufColumn
+
+#endif
+
+-- method IconView::set_reorderable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reorderable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE, if the list of items can be reordered.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_reorderable" gtk_icon_view_set_reorderable :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    CInt ->                                 -- reorderable : TBasicType TBoolean
+    IO ()
+
+{- |
+This function is a convenience function to allow you to reorder models that
+support the 'GI.Gtk.Structs.TreeDragSourceIface.TreeDragSourceIface' and the 'GI.Gtk.Structs.TreeDragDestIface.TreeDragDestIface'.  Both
+'GI.Gtk.Objects.TreeStore.TreeStore' and 'GI.Gtk.Objects.ListStore.ListStore' support these.  If /@reorderable@/ is 'True', then
+the user can reorder the model by dragging and dropping rows.  The
+developer can listen to these changes by connecting to the model\'s
+row_inserted and row_deleted signals. The reordering is implemented by setting up
+the icon view as a drag source and destination. Therefore, drag and
+drop can not be used in a reorderable view for any other purpose.
+
+This function does not give you any degree of control over the order -- any
+reordering is allowed.  If more control is needed, you should probably
+handle drag and drop manually.
+
+/Since: 2.8/
+-}
+iconViewSetReorderable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Bool
+    {- ^ /@reorderable@/: 'True', if the list of items can be reordered. -}
+    -> m ()
+iconViewSetReorderable iconView reorderable = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    let reorderable' = (fromIntegral . fromEnum) reorderable
+    gtk_icon_view_set_reorderable iconView' reorderable'
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetReorderableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetReorderableMethodInfo a signature where
+    overloadedMethod _ = iconViewSetReorderable
+
+#endif
+
+-- method IconView::set_row_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row_spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row spacing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_row_spacing" gtk_icon_view_set_row_spacing :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- row_spacing : TBasicType TInt
+    IO ()
+
+{- |
+Sets the ::row-spacing property which specifies the space
+which is inserted between the rows of the icon view.
+
+/Since: 2.6/
+-}
+iconViewSetRowSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@rowSpacing@/: the row spacing -}
+    -> m ()
+iconViewSetRowSpacing iconView rowSpacing = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_row_spacing iconView' rowSpacing
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetRowSpacingMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetRowSpacingMethodInfo a signature where
+    overloadedMethod _ = iconViewSetRowSpacing
+
+#endif
+
+-- method IconView::set_selection_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gtk", name = "SelectionMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The selection mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_selection_mode" gtk_icon_view_set_selection_mode :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    CUInt ->                                -- mode : TInterface (Name {namespace = "Gtk", name = "SelectionMode"})
+    IO ()
+
+{- |
+Sets the selection mode of the /@iconView@/.
+
+/Since: 2.6/
+-}
+iconViewSetSelectionMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Gtk.Enums.SelectionMode
+    {- ^ /@mode@/: The selection mode -}
+    -> m ()
+iconViewSetSelectionMode iconView mode = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    let mode' = (fromIntegral . fromEnum) mode
+    gtk_icon_view_set_selection_mode iconView' mode'
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetSelectionModeMethodInfo
+instance (signature ~ (Gtk.Enums.SelectionMode -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetSelectionModeMethodInfo a signature where
+    overloadedMethod _ = iconViewSetSelectionMode
+
+#endif
+
+-- method IconView::set_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the spacing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_spacing" gtk_icon_view_set_spacing :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- spacing : TBasicType TInt
+    IO ()
+
+{- |
+Sets the ::spacing property which specifies the space
+which is inserted between the cells (i.e. the icon and
+the text) of an item.
+
+/Since: 2.6/
+-}
+iconViewSetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@spacing@/: the spacing -}
+    -> m ()
+iconViewSetSpacing iconView spacing = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_spacing iconView' spacing
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetSpacingMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetSpacingMethodInfo a signature where
+    overloadedMethod _ = iconViewSetSpacing
+
+#endif
+
+-- method IconView::set_text_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A column in the currently used model, or -1 to display no text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_text_column" gtk_icon_view_set_text_column :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+Sets the column with text for /@iconView@/ to be /@column@/. The text
+column must be of type @/G_TYPE_STRING/@.
+
+/Since: 2.6/
+-}
+iconViewSetTextColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Int32
+    {- ^ /@column@/: A column in the currently used model, or -1 to display no text -}
+    -> m ()
+iconViewSetTextColumn iconView column = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_text_column iconView' column
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetTextColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetTextColumnMethodInfo a signature where
+    overloadedMethod _ = iconViewSetTextColumn
+
+#endif
+
+-- method IconView::set_tooltip_cell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_tooltip_cell" gtk_icon_view_set_tooltip_cell :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.Tooltip.Tooltip ->              -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Sets the tip area of /@tooltip@/ to the area which /@cell@/ occupies in
+the item pointed to by /@path@/. See also 'GI.Gtk.Objects.Tooltip.tooltipSetTipArea'.
+
+See also 'GI.Gtk.Objects.IconView.iconViewSetTooltipColumn' for a simpler alternative.
+
+/Since: 2.12/
+-}
+iconViewSetTooltipCell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a, Gtk.Tooltip.IsTooltip b, Gtk.CellRenderer.IsCellRenderer c) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> b
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Maybe (c)
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' or 'Nothing' -}
+    -> m ()
+iconViewSetTooltipCell iconView tooltip path cell = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    path' <- unsafeManagedPtrGetPtr path
+    maybeCell <- case cell of
+        Nothing -> return nullPtr
+        Just jCell -> do
+            jCell' <- unsafeManagedPtrCastPtr jCell
+            return jCell'
+    gtk_icon_view_set_tooltip_cell iconView' tooltip' path' maybeCell
+    touchManagedPtr iconView
+    touchManagedPtr tooltip
+    touchManagedPtr path
+    whenJust cell touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetTooltipCellMethodInfo
+instance (signature ~ (b -> Gtk.TreePath.TreePath -> Maybe (c) -> m ()), MonadIO m, IsIconView a, Gtk.Tooltip.IsTooltip b, Gtk.CellRenderer.IsCellRenderer c) => O.MethodInfo IconViewSetTooltipCellMethodInfo a signature where
+    overloadedMethod _ = iconViewSetTooltipCell
+
+#endif
+
+-- method IconView::set_tooltip_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer, which is a valid column number for @icon_view\8217s model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_tooltip_column" gtk_icon_view_set_tooltip_column :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+If you only plan to have simple (text-only) tooltips on full items, you
+can use this function to have 'GI.Gtk.Objects.IconView.IconView' handle these automatically
+for you. /@column@/ should be set to the column in /@iconView@/’s model
+containing the tooltip texts, or -1 to disable this feature.
+
+When enabled, 'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@ will be set to 'True' and
+/@iconView@/ will connect a 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ signal handler.
+
+Note that the signal handler sets the text with 'GI.Gtk.Objects.Tooltip.tooltipSetMarkup',
+so &, \<, etc have to be escaped in the text.
+
+/Since: 2.12/
+-}
+iconViewSetTooltipColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> Int32
+    {- ^ /@column@/: an integer, which is a valid column number for /@iconView@/’s model -}
+    -> m ()
+iconViewSetTooltipColumn iconView column = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_set_tooltip_column iconView' column
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetTooltipColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewSetTooltipColumnMethodInfo a signature where
+    overloadedMethod _ = iconViewSetTooltipColumn
+
+#endif
+
+-- method IconView::set_tooltip_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_set_tooltip_item" gtk_icon_view_set_tooltip_item :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.Tooltip.Tooltip ->              -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Sets the tip area of /@tooltip@/ to be the area covered by the item at /@path@/.
+See also 'GI.Gtk.Objects.IconView.iconViewSetTooltipColumn' for a simpler alternative.
+See also 'GI.Gtk.Objects.Tooltip.tooltipSetTipArea'.
+
+/Since: 2.12/
+-}
+iconViewSetTooltipItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a, Gtk.Tooltip.IsTooltip b) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> b
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> m ()
+iconViewSetTooltipItem iconView tooltip path = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_icon_view_set_tooltip_item iconView' tooltip' path'
+    touchManagedPtr iconView
+    touchManagedPtr tooltip
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewSetTooltipItemMethodInfo
+instance (signature ~ (b -> Gtk.TreePath.TreePath -> m ()), MonadIO m, IsIconView a, Gtk.Tooltip.IsTooltip b) => O.MethodInfo IconViewSetTooltipItemMethodInfo a signature where
+    overloadedMethod _ = iconViewSetTooltipItem
+
+#endif
+
+-- method IconView::unselect_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_unselect_all" gtk_icon_view_unselect_all :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO ()
+
+{- |
+Unselects all the icons.
+
+/Since: 2.6/
+-}
+iconViewUnselectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> m ()
+iconViewUnselectAll iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_unselect_all iconView'
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewUnselectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewUnselectAllMethodInfo a signature where
+    overloadedMethod _ = iconViewUnselectAll
+
+#endif
+
+-- method IconView::unselect_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkIconView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath to be unselected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_unselect_path" gtk_icon_view_unselect_path :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Unselects the row at /@path@/.
+
+/Since: 2.6/
+-}
+iconViewUnselectPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: A 'GI.Gtk.Objects.IconView.IconView'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' to be unselected. -}
+    -> m ()
+iconViewUnselectPath iconView path = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_icon_view_unselect_path iconView' path'
+    touchManagedPtr iconView
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewUnselectPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewUnselectPathMethodInfo a signature where
+    overloadedMethod _ = iconViewUnselectPath
+
+#endif
+
+-- method IconView::unset_model_drag_dest
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_unset_model_drag_dest" gtk_icon_view_unset_model_drag_dest :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO ()
+
+{- |
+Undoes the effect of 'GI.Gtk.Objects.IconView.iconViewEnableModelDragDest'. Calling this
+method sets 'GI.Gtk.Objects.IconView.IconView':@/reorderable/@ to 'False'.
+
+/Since: 2.8/
+-}
+iconViewUnsetModelDragDest ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m ()
+iconViewUnsetModelDragDest iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_unset_model_drag_dest iconView'
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewUnsetModelDragDestMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewUnsetModelDragDestMethodInfo a signature where
+    overloadedMethod _ = iconViewUnsetModelDragDest
+
+#endif
+
+-- method IconView::unset_model_drag_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_view", argType = TInterface (Name {namespace = "Gtk", name = "IconView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_view_unset_model_drag_source" gtk_icon_view_unset_model_drag_source :: 
+    Ptr IconView ->                         -- icon_view : TInterface (Name {namespace = "Gtk", name = "IconView"})
+    IO ()
+
+{- |
+Undoes the effect of 'GI.Gtk.Objects.IconView.iconViewEnableModelDragSource'. Calling this
+method sets 'GI.Gtk.Objects.IconView.IconView':@/reorderable/@ to 'False'.
+
+/Since: 2.8/
+-}
+iconViewUnsetModelDragSource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsIconView a) =>
+    a
+    {- ^ /@iconView@/: a 'GI.Gtk.Objects.IconView.IconView' -}
+    -> m ()
+iconViewUnsetModelDragSource iconView = liftIO $ do
+    iconView' <- unsafeManagedPtrCastPtr iconView
+    gtk_icon_view_unset_model_drag_source iconView'
+    touchManagedPtr iconView
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconViewUnsetModelDragSourceMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsIconView a) => O.MethodInfo IconViewUnsetModelDragSourceMethodInfo a signature where
+    overloadedMethod _ = iconViewUnsetModelDragSource
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/IconView.hs-boot b/GI/Gtk/Objects/IconView.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconView.hs-boot
@@ -0,0 +1,287 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.IconView where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IconView = IconView (ManagedPtr IconView)
+instance GObject IconView where
+class (GObject o, O.IsDescendantOf IconView o) => IsIconView o
+instance (GObject o, O.IsDescendantOf IconView o) => IsIconView o
+instance O.HasParentTypes IconView
+#if ENABLE_OVERLOADING
+data IconViewActivateOnSingleClickPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewCellAreaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewColumnSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewColumnsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewItemOrientationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewItemPaddingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewItemWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewMarginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewMarkupColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewPixbufColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewReorderablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewRowSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSelectionModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewTextColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewTooltipColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewActivateCursorItemSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewItemActivatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewMoveCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSelectAllSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSelectCursorItemSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSelectionChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewToggleCursorItemSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewUnselectAllSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewConvertWidgetToBinWindowCoordsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewCreateDragIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewEnableModelDragDestMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewEnableModelDragSourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetActivateOnSingleClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetCellRectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetColumnSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetColumnsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetCursorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetDestItemAtPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetDragDestItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetItemAtPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetItemColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetItemOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetItemPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetItemRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetItemWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetMarkupColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetPathAtPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetPixbufColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetReorderableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetRowSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetSelectedItemsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetSelectionModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetTextColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetTooltipColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetTooltipContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewGetVisibleRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewItemActivatedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewPathIsSelectedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewScrollToPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSelectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSelectPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSelectedForeachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetActivateOnSingleClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetColumnSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetColumnsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetCursorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetDragDestItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetItemOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetItemPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetItemWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetMarkupColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetPixbufColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetReorderableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetRowSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetSelectionModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetTextColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetTooltipCellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetTooltipColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewSetTooltipItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewUnselectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewUnselectPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewUnsetModelDragDestMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconViewUnsetModelDragSourceMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/IconViewAccessible.hs b/GI/Gtk/Objects/IconViewAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconViewAccessible.hs
@@ -0,0 +1,173 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.IconViewAccessible
+    ( 
+
+-- * Exported types
+    IconViewAccessible(..)                  ,
+    IsIconViewAccessible                    ,
+    toIconViewAccessible                    ,
+    noIconViewAccessible                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype IconViewAccessible = IconViewAccessible (ManagedPtr IconViewAccessible)
+foreign import ccall "gtk_icon_view_accessible_get_type"
+    c_gtk_icon_view_accessible_get_type :: IO GType
+
+instance GObject IconViewAccessible where
+    gobjectType = c_gtk_icon_view_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `IconViewAccessible`, for instance with `toIconViewAccessible`.
+class (GObject o, O.IsDescendantOf IconViewAccessible o) => IsIconViewAccessible o
+instance (GObject o, O.IsDescendantOf IconViewAccessible o) => IsIconViewAccessible o
+
+instance O.HasParentTypes IconViewAccessible
+type instance O.ParentTypes IconViewAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `IconViewAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toIconViewAccessible :: (MonadIO m, IsIconViewAccessible o) => o -> m IconViewAccessible
+toIconViewAccessible = liftIO . unsafeCastTo IconViewAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IconViewAccessible`.
+noIconViewAccessible :: Maybe IconViewAccessible
+noIconViewAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveIconViewAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIconViewAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveIconViewAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveIconViewAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveIconViewAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveIconViewAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveIconViewAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveIconViewAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveIconViewAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveIconViewAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveIconViewAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveIconViewAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveIconViewAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveIconViewAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveIconViewAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveIconViewAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveIconViewAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveIconViewAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveIconViewAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveIconViewAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveIconViewAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveIconViewAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveIconViewAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveIconViewAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveIconViewAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveIconViewAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveIconViewAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveIconViewAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveIconViewAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveIconViewAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveIconViewAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveIconViewAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveIconViewAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveIconViewAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveIconViewAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveIconViewAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveIconViewAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveIconViewAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveIconViewAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveIconViewAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveIconViewAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveIconViewAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveIconViewAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveIconViewAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveIconViewAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveIconViewAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveIconViewAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveIconViewAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveIconViewAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveIconViewAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveIconViewAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveIconViewAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveIconViewAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveIconViewAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveIconViewAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveIconViewAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveIconViewAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveIconViewAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveIconViewAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveIconViewAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveIconViewAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveIconViewAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveIconViewAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveIconViewAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveIconViewAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveIconViewAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveIconViewAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveIconViewAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveIconViewAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIconViewAccessibleMethod t IconViewAccessible, O.MethodInfo info IconViewAccessible p) => OL.IsLabel t (IconViewAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IconViewAccessible
+type instance O.AttributeList IconViewAccessible = IconViewAccessibleAttributeList
+type IconViewAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList IconViewAccessible = IconViewAccessibleSignalList
+type IconViewAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/IconViewAccessible.hs-boot b/GI/Gtk/Objects/IconViewAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/IconViewAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.IconViewAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IconViewAccessible = IconViewAccessible (ManagedPtr IconViewAccessible)
+instance GObject IconViewAccessible where
+class (GObject o, O.IsDescendantOf IconViewAccessible o) => IsIconViewAccessible o
+instance (GObject o, O.IsDescendantOf IconViewAccessible o) => IsIconViewAccessible o
+instance O.HasParentTypes IconViewAccessible
diff --git a/GI/Gtk/Objects/Image.hs b/GI/Gtk/Objects/Image.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Image.hs
@@ -0,0 +1,2891 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Image.Image' widget displays an image. Various kinds of object
+can be displayed as an image; most typically, you would load a
+'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' (\"pixel buffer\") from a file, and then display that.
+There’s a convenience function to do this, 'GI.Gtk.Objects.Image.imageNewFromFile',
+used as follows:
+
+=== /C code/
+>
+>  GtkWidget *image;
+>  image = gtk_image_new_from_file ("myfile.png");
+
+If the file isn’t loaded successfully, the image will contain a
+“broken image” icon similar to that used in many web browsers.
+If you want to handle errors in loading the file yourself,
+for example by displaying an error message, then load the image with
+'GI.GdkPixbuf.Objects.Pixbuf.pixbufNewFromFile', then create the 'GI.Gtk.Objects.Image.Image' with
+'GI.Gtk.Objects.Image.imageNewFromPixbuf'.
+
+The image file may contain an animation, if so the 'GI.Gtk.Objects.Image.Image' will
+display an animation ('GI.GdkPixbuf.Objects.PixbufAnimation.PixbufAnimation') instead of a static image.
+
+'GI.Gtk.Objects.Image.Image' is a subclass of 'GI.Gtk.Objects.Misc.Misc', which implies that you can
+align it (center, left, right) and add padding to it, using
+'GI.Gtk.Objects.Misc.Misc' methods.
+
+'GI.Gtk.Objects.Image.Image' is a “no window” widget (has no 'GI.Gdk.Objects.Window.Window' of its own),
+so by default does not receive events. If you want to receive events
+on the image, such as button clicks, place the image inside a
+'GI.Gtk.Objects.EventBox.EventBox', then connect to the event signals on the event box.
+
+## Handling button press events on a 'GI.Gtk.Objects.Image.Image'.
+
+
+=== /C code/
+>
+>  static gboolean
+>  button_press_callback (GtkWidget      *event_box,
+>                         GdkEventButton *event,
+>                         gpointer        data)
+>  {
+>    g_print ("Event box clicked at coordinates %f,%f\n",
+>             event->x, event->y);
+>
+>    // Returning TRUE means we handled the event, so the signal
+>    // emission should be stopped (don’t call any further callbacks
+>    // that may be connected). Return FALSE to continue invoking callbacks.
+>    return TRUE;
+>  }
+>
+>  static GtkWidget*
+>  create_image (void)
+>  {
+>    GtkWidget *image;
+>    GtkWidget *event_box;
+>
+>    image = gtk_image_new_from_file ("myfile.png");
+>
+>    event_box = gtk_event_box_new ();
+>
+>    gtk_container_add (GTK_CONTAINER (event_box), image);
+>
+>    g_signal_connect (G_OBJECT (event_box),
+>                      "button_press_event",
+>                      G_CALLBACK (button_press_callback),
+>                      image);
+>
+>    return image;
+>  }
+
+
+When handling events on the event box, keep in mind that coordinates
+in the image may be different from event box coordinates due to
+the alignment and padding settings on the image (see 'GI.Gtk.Objects.Misc.Misc').
+The simplest way to solve this is to set the alignment to 0.0
+(left\/top), and set the padding to zero. Then the origin of
+the image will be the same as the origin of the event box.
+
+Sometimes an application will want to avoid depending on external data
+files, such as image files. GTK+ comes with a program to avoid this,
+called “gdk-pixbuf-csource”. This library
+allows you to convert an image into a C variable declaration, which
+can then be loaded into a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' using
+'GI.GdkPixbuf.Objects.Pixbuf.pixbufNewFromInline'.
+
+= CSS nodes
+
+GtkImage has a single CSS node with the name image. The style classes
+may appear on image CSS nodes: .icon-dropshadow, .lowres-icon.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Image
+    ( 
+
+-- * Exported types
+    Image(..)                               ,
+    IsImage                                 ,
+    toImage                                 ,
+    noImage                                 ,
+
+
+ -- * Methods
+-- ** clear #method:clear#
+
+#if ENABLE_OVERLOADING
+    ImageClearMethodInfo                    ,
+#endif
+    imageClear                              ,
+
+
+-- ** getAnimation #method:getAnimation#
+
+#if ENABLE_OVERLOADING
+    ImageGetAnimationMethodInfo             ,
+#endif
+    imageGetAnimation                       ,
+
+
+-- ** getGicon #method:getGicon#
+
+#if ENABLE_OVERLOADING
+    ImageGetGiconMethodInfo                 ,
+#endif
+    imageGetGicon                           ,
+
+
+-- ** getIconName #method:getIconName#
+
+#if ENABLE_OVERLOADING
+    ImageGetIconNameMethodInfo              ,
+#endif
+    imageGetIconName                        ,
+
+
+-- ** getIconSet #method:getIconSet#
+
+#if ENABLE_OVERLOADING
+    ImageGetIconSetMethodInfo               ,
+#endif
+    imageGetIconSet                         ,
+
+
+-- ** getPixbuf #method:getPixbuf#
+
+#if ENABLE_OVERLOADING
+    ImageGetPixbufMethodInfo                ,
+#endif
+    imageGetPixbuf                          ,
+
+
+-- ** getPixelSize #method:getPixelSize#
+
+#if ENABLE_OVERLOADING
+    ImageGetPixelSizeMethodInfo             ,
+#endif
+    imageGetPixelSize                       ,
+
+
+-- ** getStock #method:getStock#
+
+#if ENABLE_OVERLOADING
+    ImageGetStockMethodInfo                 ,
+#endif
+    imageGetStock                           ,
+
+
+-- ** getStorageType #method:getStorageType#
+
+#if ENABLE_OVERLOADING
+    ImageGetStorageTypeMethodInfo           ,
+#endif
+    imageGetStorageType                     ,
+
+
+-- ** new #method:new#
+
+    imageNew                                ,
+
+
+-- ** newFromAnimation #method:newFromAnimation#
+
+    imageNewFromAnimation                   ,
+
+
+-- ** newFromFile #method:newFromFile#
+
+    imageNewFromFile                        ,
+
+
+-- ** newFromGicon #method:newFromGicon#
+
+    imageNewFromGicon                       ,
+
+
+-- ** newFromIconName #method:newFromIconName#
+
+    imageNewFromIconName                    ,
+
+
+-- ** newFromIconSet #method:newFromIconSet#
+
+    imageNewFromIconSet                     ,
+
+
+-- ** newFromPixbuf #method:newFromPixbuf#
+
+    imageNewFromPixbuf                      ,
+
+
+-- ** newFromResource #method:newFromResource#
+
+    imageNewFromResource                    ,
+
+
+-- ** newFromStock #method:newFromStock#
+
+    imageNewFromStock                       ,
+
+
+-- ** newFromSurface #method:newFromSurface#
+
+    imageNewFromSurface                     ,
+
+
+-- ** setFromAnimation #method:setFromAnimation#
+
+#if ENABLE_OVERLOADING
+    ImageSetFromAnimationMethodInfo         ,
+#endif
+    imageSetFromAnimation                   ,
+
+
+-- ** setFromFile #method:setFromFile#
+
+#if ENABLE_OVERLOADING
+    ImageSetFromFileMethodInfo              ,
+#endif
+    imageSetFromFile                        ,
+
+
+-- ** setFromGicon #method:setFromGicon#
+
+#if ENABLE_OVERLOADING
+    ImageSetFromGiconMethodInfo             ,
+#endif
+    imageSetFromGicon                       ,
+
+
+-- ** setFromIconName #method:setFromIconName#
+
+#if ENABLE_OVERLOADING
+    ImageSetFromIconNameMethodInfo          ,
+#endif
+    imageSetFromIconName                    ,
+
+
+-- ** setFromIconSet #method:setFromIconSet#
+
+#if ENABLE_OVERLOADING
+    ImageSetFromIconSetMethodInfo           ,
+#endif
+    imageSetFromIconSet                     ,
+
+
+-- ** setFromPixbuf #method:setFromPixbuf#
+
+#if ENABLE_OVERLOADING
+    ImageSetFromPixbufMethodInfo            ,
+#endif
+    imageSetFromPixbuf                      ,
+
+
+-- ** setFromResource #method:setFromResource#
+
+#if ENABLE_OVERLOADING
+    ImageSetFromResourceMethodInfo          ,
+#endif
+    imageSetFromResource                    ,
+
+
+-- ** setFromStock #method:setFromStock#
+
+#if ENABLE_OVERLOADING
+    ImageSetFromStockMethodInfo             ,
+#endif
+    imageSetFromStock                       ,
+
+
+-- ** setFromSurface #method:setFromSurface#
+
+#if ENABLE_OVERLOADING
+    ImageSetFromSurfaceMethodInfo           ,
+#endif
+    imageSetFromSurface                     ,
+
+
+-- ** setPixelSize #method:setPixelSize#
+
+#if ENABLE_OVERLOADING
+    ImageSetPixelSizeMethodInfo             ,
+#endif
+    imageSetPixelSize                       ,
+
+
+
+
+ -- * Properties
+-- ** file #attr:file#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ImageFilePropertyInfo                   ,
+#endif
+    clearImageFile                          ,
+    constructImageFile                      ,
+    getImageFile                            ,
+#if ENABLE_OVERLOADING
+    imageFile                               ,
+#endif
+    setImageFile                            ,
+
+
+-- ** gicon #attr:gicon#
+{- | The GIcon displayed in the GtkImage. For themed icons,
+If the icon theme is changed, the image will be updated
+automatically.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    ImageGiconPropertyInfo                  ,
+#endif
+    clearImageGicon                         ,
+    constructImageGicon                     ,
+    getImageGicon                           ,
+#if ENABLE_OVERLOADING
+    imageGicon                              ,
+#endif
+    setImageGicon                           ,
+
+
+-- ** iconName #attr:iconName#
+{- | The name of the icon in the icon theme. If the icon theme is
+changed, the image will be updated automatically.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    ImageIconNamePropertyInfo               ,
+#endif
+    clearImageIconName                      ,
+    constructImageIconName                  ,
+    getImageIconName                        ,
+#if ENABLE_OVERLOADING
+    imageIconName                           ,
+#endif
+    setImageIconName                        ,
+
+
+-- ** iconSet #attr:iconSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ImageIconSetPropertyInfo                ,
+#endif
+    clearImageIconSet                       ,
+    constructImageIconSet                   ,
+    getImageIconSet                         ,
+#if ENABLE_OVERLOADING
+    imageIconSet                            ,
+#endif
+    setImageIconSet                         ,
+
+
+-- ** iconSize #attr:iconSize#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ImageIconSizePropertyInfo               ,
+#endif
+    constructImageIconSize                  ,
+    getImageIconSize                        ,
+#if ENABLE_OVERLOADING
+    imageIconSize                           ,
+#endif
+    setImageIconSize                        ,
+
+
+-- ** pixbuf #attr:pixbuf#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ImagePixbufPropertyInfo                 ,
+#endif
+    clearImagePixbuf                        ,
+    constructImagePixbuf                    ,
+    getImagePixbuf                          ,
+#if ENABLE_OVERLOADING
+    imagePixbuf                             ,
+#endif
+    setImagePixbuf                          ,
+
+
+-- ** pixbufAnimation #attr:pixbufAnimation#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ImagePixbufAnimationPropertyInfo        ,
+#endif
+    clearImagePixbufAnimation               ,
+    constructImagePixbufAnimation           ,
+    getImagePixbufAnimation                 ,
+#if ENABLE_OVERLOADING
+    imagePixbufAnimation                    ,
+#endif
+    setImagePixbufAnimation                 ,
+
+
+-- ** pixelSize #attr:pixelSize#
+{- | The \"pixel-size\" property can be used to specify a fixed size
+overriding the 'GI.Gtk.Objects.Image.Image':@/icon-size/@ property for images of type
+'GI.Gtk.Enums.ImageTypeIconName'.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    ImagePixelSizePropertyInfo              ,
+#endif
+    constructImagePixelSize                 ,
+    getImagePixelSize                       ,
+#if ENABLE_OVERLOADING
+    imagePixelSize                          ,
+#endif
+    setImagePixelSize                       ,
+
+
+-- ** resource #attr:resource#
+{- | A path to a resource file to display.
+
+/Since: 3.8/
+-}
+#if ENABLE_OVERLOADING
+    ImageResourcePropertyInfo               ,
+#endif
+    clearImageResource                      ,
+    constructImageResource                  ,
+    getImageResource                        ,
+#if ENABLE_OVERLOADING
+    imageResource                           ,
+#endif
+    setImageResource                        ,
+
+
+-- ** stock #attr:stock#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ImageStockPropertyInfo                  ,
+#endif
+    clearImageStock                         ,
+    constructImageStock                     ,
+    getImageStock                           ,
+#if ENABLE_OVERLOADING
+    imageStock                              ,
+#endif
+    setImageStock                           ,
+
+
+-- ** storageType #attr:storageType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ImageStorageTypePropertyInfo            ,
+#endif
+    getImageStorageType                     ,
+#if ENABLE_OVERLOADING
+    imageStorageType                        ,
+#endif
+
+
+-- ** surface #attr:surface#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ImageSurfacePropertyInfo                ,
+#endif
+    clearImageSurface                       ,
+    constructImageSurface                   ,
+    getImageSurface                         ,
+#if ENABLE_OVERLOADING
+    imageSurface                            ,
+#endif
+    setImageSurface                         ,
+
+
+-- ** useFallback #attr:useFallback#
+{- | Whether the icon displayed in the GtkImage will use
+standard icon names fallback. The value of this property
+is only relevant for images of type 'GI.Gtk.Enums.ImageTypeIconName'
+and 'GI.Gtk.Enums.ImageTypeGicon'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ImageUseFallbackPropertyInfo            ,
+#endif
+    constructImageUseFallback               ,
+    getImageUseFallback                     ,
+#if ENABLE_OVERLOADING
+    imageUseFallback                        ,
+#endif
+    setImageUseFallback                     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.Cairo.Structs.Surface as Cairo.Surface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.GdkPixbuf.Objects.PixbufAnimation as GdkPixbuf.PixbufAnimation
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Misc as Gtk.Misc
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSet as Gtk.IconSet
+
+-- | Memory-managed wrapper type.
+newtype Image = Image (ManagedPtr Image)
+foreign import ccall "gtk_image_get_type"
+    c_gtk_image_get_type :: IO GType
+
+instance GObject Image where
+    gobjectType = c_gtk_image_get_type
+    
+
+-- | Type class for types which can be safely cast to `Image`, for instance with `toImage`.
+class (GObject o, O.IsDescendantOf Image o) => IsImage o
+instance (GObject o, O.IsDescendantOf Image o) => IsImage o
+
+instance O.HasParentTypes Image
+type instance O.ParentTypes Image = '[Gtk.Misc.Misc, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Image`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toImage :: (MonadIO m, IsImage o) => o -> m Image
+toImage = liftIO . unsafeCastTo Image
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Image`.
+noImage :: Maybe Image
+noImage = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveImageMethod (t :: Symbol) (o :: *) :: * where
+    ResolveImageMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveImageMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveImageMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveImageMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveImageMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveImageMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveImageMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveImageMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveImageMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveImageMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveImageMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveImageMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveImageMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveImageMethod "clear" o = ImageClearMethodInfo
+    ResolveImageMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveImageMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveImageMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveImageMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveImageMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveImageMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveImageMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveImageMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveImageMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveImageMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveImageMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveImageMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveImageMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveImageMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveImageMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveImageMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveImageMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveImageMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveImageMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveImageMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveImageMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveImageMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveImageMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveImageMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveImageMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveImageMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveImageMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveImageMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveImageMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveImageMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveImageMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveImageMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveImageMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveImageMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveImageMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveImageMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveImageMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveImageMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveImageMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveImageMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveImageMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveImageMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveImageMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveImageMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveImageMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveImageMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveImageMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveImageMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveImageMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveImageMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveImageMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveImageMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveImageMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveImageMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveImageMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveImageMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveImageMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveImageMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveImageMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveImageMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveImageMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveImageMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveImageMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveImageMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveImageMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveImageMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveImageMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveImageMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveImageMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveImageMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveImageMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveImageMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveImageMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveImageMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveImageMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveImageMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveImageMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveImageMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveImageMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveImageMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveImageMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveImageMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveImageMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveImageMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveImageMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveImageMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveImageMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveImageMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveImageMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveImageMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveImageMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveImageMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveImageMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveImageMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveImageMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveImageMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveImageMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveImageMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveImageMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveImageMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveImageMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveImageMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveImageMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveImageMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveImageMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveImageMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveImageMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveImageMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveImageMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveImageMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveImageMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveImageMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveImageMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveImageMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveImageMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveImageMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveImageMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveImageMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveImageMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveImageMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveImageMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveImageMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveImageMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveImageMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveImageMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveImageMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveImageMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveImageMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveImageMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveImageMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveImageMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveImageMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveImageMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveImageMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveImageMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveImageMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveImageMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveImageMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveImageMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveImageMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveImageMethod "getAlignment" o = Gtk.Misc.MiscGetAlignmentMethodInfo
+    ResolveImageMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveImageMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveImageMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveImageMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveImageMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveImageMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveImageMethod "getAnimation" o = ImageGetAnimationMethodInfo
+    ResolveImageMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveImageMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveImageMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveImageMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveImageMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveImageMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveImageMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveImageMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveImageMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveImageMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveImageMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveImageMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveImageMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveImageMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveImageMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveImageMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveImageMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveImageMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveImageMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveImageMethod "getGicon" o = ImageGetGiconMethodInfo
+    ResolveImageMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveImageMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveImageMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveImageMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveImageMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveImageMethod "getIconName" o = ImageGetIconNameMethodInfo
+    ResolveImageMethod "getIconSet" o = ImageGetIconSetMethodInfo
+    ResolveImageMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveImageMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveImageMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveImageMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveImageMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveImageMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveImageMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveImageMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveImageMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveImageMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveImageMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveImageMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveImageMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveImageMethod "getPadding" o = Gtk.Misc.MiscGetPaddingMethodInfo
+    ResolveImageMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveImageMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveImageMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveImageMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveImageMethod "getPixbuf" o = ImageGetPixbufMethodInfo
+    ResolveImageMethod "getPixelSize" o = ImageGetPixelSizeMethodInfo
+    ResolveImageMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveImageMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveImageMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveImageMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveImageMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveImageMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveImageMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveImageMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveImageMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveImageMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveImageMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveImageMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveImageMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveImageMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveImageMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveImageMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveImageMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveImageMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveImageMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveImageMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveImageMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveImageMethod "getStock" o = ImageGetStockMethodInfo
+    ResolveImageMethod "getStorageType" o = ImageGetStorageTypeMethodInfo
+    ResolveImageMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveImageMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveImageMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveImageMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveImageMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveImageMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveImageMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveImageMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveImageMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveImageMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveImageMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveImageMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveImageMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveImageMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveImageMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveImageMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveImageMethod "setAlignment" o = Gtk.Misc.MiscSetAlignmentMethodInfo
+    ResolveImageMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveImageMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveImageMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveImageMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveImageMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveImageMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveImageMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveImageMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveImageMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveImageMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveImageMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveImageMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveImageMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveImageMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveImageMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveImageMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveImageMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveImageMethod "setFromAnimation" o = ImageSetFromAnimationMethodInfo
+    ResolveImageMethod "setFromFile" o = ImageSetFromFileMethodInfo
+    ResolveImageMethod "setFromGicon" o = ImageSetFromGiconMethodInfo
+    ResolveImageMethod "setFromIconName" o = ImageSetFromIconNameMethodInfo
+    ResolveImageMethod "setFromIconSet" o = ImageSetFromIconSetMethodInfo
+    ResolveImageMethod "setFromPixbuf" o = ImageSetFromPixbufMethodInfo
+    ResolveImageMethod "setFromResource" o = ImageSetFromResourceMethodInfo
+    ResolveImageMethod "setFromStock" o = ImageSetFromStockMethodInfo
+    ResolveImageMethod "setFromSurface" o = ImageSetFromSurfaceMethodInfo
+    ResolveImageMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveImageMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveImageMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveImageMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveImageMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveImageMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveImageMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveImageMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveImageMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveImageMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveImageMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveImageMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveImageMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveImageMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveImageMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveImageMethod "setPadding" o = Gtk.Misc.MiscSetPaddingMethodInfo
+    ResolveImageMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveImageMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveImageMethod "setPixelSize" o = ImageSetPixelSizeMethodInfo
+    ResolveImageMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveImageMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveImageMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveImageMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveImageMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveImageMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveImageMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveImageMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveImageMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveImageMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveImageMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveImageMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveImageMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveImageMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveImageMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveImageMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveImageMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveImageMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveImageMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveImageMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveImageMethod t Image, O.MethodInfo info Image p) => OL.IsLabel t (Image -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "file"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@file@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #file
+@
+-}
+getImageFile :: (MonadIO m, IsImage o) => o -> m (Maybe T.Text)
+getImageFile obj = liftIO $ B.Properties.getObjectPropertyString obj "file"
+
+{- |
+Set the value of the “@file@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #file 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageFile :: (MonadIO m, IsImage o) => o -> T.Text -> m ()
+setImageFile obj val = liftIO $ B.Properties.setObjectPropertyString obj "file" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@file@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageFile :: (IsImage o) => T.Text -> IO (GValueConstruct o)
+constructImageFile val = B.Properties.constructObjectPropertyString "file" (Just val)
+
+{- |
+Set the value of the “@file@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #file
+@
+-}
+clearImageFile :: (MonadIO m, IsImage o) => o -> m ()
+clearImageFile obj = liftIO $ B.Properties.setObjectPropertyString obj "file" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ImageFilePropertyInfo
+instance AttrInfo ImageFilePropertyInfo where
+    type AttrAllowedOps ImageFilePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImageFilePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ImageFilePropertyInfo = IsImage
+    type AttrGetType ImageFilePropertyInfo = (Maybe T.Text)
+    type AttrLabel ImageFilePropertyInfo = "file"
+    type AttrOrigin ImageFilePropertyInfo = Image
+    attrGet _ = getImageFile
+    attrSet _ = setImageFile
+    attrConstruct _ = constructImageFile
+    attrClear _ = clearImageFile
+#endif
+
+-- VVV Prop "gicon"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #gicon
+@
+-}
+getImageGicon :: (MonadIO m, IsImage o) => o -> m (Maybe Gio.Icon.Icon)
+getImageGicon obj = liftIO $ B.Properties.getObjectPropertyObject obj "gicon" Gio.Icon.Icon
+
+{- |
+Set the value of the “@gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #gicon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageGicon :: (MonadIO m, IsImage o, Gio.Icon.IsIcon a) => o -> a -> m ()
+setImageGicon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "gicon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gicon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageGicon :: (IsImage o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
+constructImageGicon val = B.Properties.constructObjectPropertyObject "gicon" (Just val)
+
+{- |
+Set the value of the “@gicon@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gicon
+@
+-}
+clearImageGicon :: (MonadIO m, IsImage o) => o -> m ()
+clearImageGicon obj = liftIO $ B.Properties.setObjectPropertyObject obj "gicon" (Nothing :: Maybe Gio.Icon.Icon)
+
+#if ENABLE_OVERLOADING
+data ImageGiconPropertyInfo
+instance AttrInfo ImageGiconPropertyInfo where
+    type AttrAllowedOps ImageGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImageGiconPropertyInfo = Gio.Icon.IsIcon
+    type AttrBaseTypeConstraint ImageGiconPropertyInfo = IsImage
+    type AttrGetType ImageGiconPropertyInfo = (Maybe Gio.Icon.Icon)
+    type AttrLabel ImageGiconPropertyInfo = "gicon"
+    type AttrOrigin ImageGiconPropertyInfo = Image
+    attrGet _ = getImageGicon
+    attrSet _ = setImageGicon
+    attrConstruct _ = constructImageGicon
+    attrClear _ = clearImageGicon
+#endif
+
+-- VVV Prop "icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #iconName
+@
+-}
+getImageIconName :: (MonadIO m, IsImage o) => o -> m (Maybe T.Text)
+getImageIconName obj = liftIO $ B.Properties.getObjectPropertyString obj "icon-name"
+
+{- |
+Set the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #iconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageIconName :: (MonadIO m, IsImage o) => o -> T.Text -> m ()
+setImageIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageIconName :: (IsImage o) => T.Text -> IO (GValueConstruct o)
+constructImageIconName val = B.Properties.constructObjectPropertyString "icon-name" (Just val)
+
+{- |
+Set the value of the “@icon-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #iconName
+@
+-}
+clearImageIconName :: (MonadIO m, IsImage o) => o -> m ()
+clearImageIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ImageIconNamePropertyInfo
+instance AttrInfo ImageIconNamePropertyInfo where
+    type AttrAllowedOps ImageIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImageIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ImageIconNamePropertyInfo = IsImage
+    type AttrGetType ImageIconNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ImageIconNamePropertyInfo = "icon-name"
+    type AttrOrigin ImageIconNamePropertyInfo = Image
+    attrGet _ = getImageIconName
+    attrSet _ = setImageIconName
+    attrConstruct _ = constructImageIconName
+    attrClear _ = clearImageIconName
+#endif
+
+-- VVV Prop "icon-set"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "IconSet"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #iconSet
+@
+-}
+getImageIconSet :: (MonadIO m, IsImage o) => o -> m (Maybe Gtk.IconSet.IconSet)
+getImageIconSet obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "icon-set" Gtk.IconSet.IconSet
+
+{- |
+Set the value of the “@icon-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #iconSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageIconSet :: (MonadIO m, IsImage o) => o -> Gtk.IconSet.IconSet -> m ()
+setImageIconSet obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "icon-set" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageIconSet :: (IsImage o) => Gtk.IconSet.IconSet -> IO (GValueConstruct o)
+constructImageIconSet val = B.Properties.constructObjectPropertyBoxed "icon-set" (Just val)
+
+{- |
+Set the value of the “@icon-set@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #iconSet
+@
+-}
+clearImageIconSet :: (MonadIO m, IsImage o) => o -> m ()
+clearImageIconSet obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "icon-set" (Nothing :: Maybe Gtk.IconSet.IconSet)
+
+#if ENABLE_OVERLOADING
+data ImageIconSetPropertyInfo
+instance AttrInfo ImageIconSetPropertyInfo where
+    type AttrAllowedOps ImageIconSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImageIconSetPropertyInfo = (~) Gtk.IconSet.IconSet
+    type AttrBaseTypeConstraint ImageIconSetPropertyInfo = IsImage
+    type AttrGetType ImageIconSetPropertyInfo = (Maybe Gtk.IconSet.IconSet)
+    type AttrLabel ImageIconSetPropertyInfo = "icon-set"
+    type AttrOrigin ImageIconSetPropertyInfo = Image
+    attrGet _ = getImageIconSet
+    attrSet _ = setImageIconSet
+    attrConstruct _ = constructImageIconSet
+    attrClear _ = clearImageIconSet
+#endif
+
+-- VVV Prop "icon-size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #iconSize
+@
+-}
+getImageIconSize :: (MonadIO m, IsImage o) => o -> m Int32
+getImageIconSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "icon-size"
+
+{- |
+Set the value of the “@icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #iconSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageIconSize :: (MonadIO m, IsImage o) => o -> Int32 -> m ()
+setImageIconSize obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "icon-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageIconSize :: (IsImage o) => Int32 -> IO (GValueConstruct o)
+constructImageIconSize val = B.Properties.constructObjectPropertyInt32 "icon-size" val
+
+#if ENABLE_OVERLOADING
+data ImageIconSizePropertyInfo
+instance AttrInfo ImageIconSizePropertyInfo where
+    type AttrAllowedOps ImageIconSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ImageIconSizePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ImageIconSizePropertyInfo = IsImage
+    type AttrGetType ImageIconSizePropertyInfo = Int32
+    type AttrLabel ImageIconSizePropertyInfo = "icon-size"
+    type AttrOrigin ImageIconSizePropertyInfo = Image
+    attrGet _ = getImageIconSize
+    attrSet _ = setImageIconSize
+    attrConstruct _ = constructImageIconSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixbuf"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #pixbuf
+@
+-}
+getImagePixbuf :: (MonadIO m, IsImage o) => o -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+getImagePixbuf obj = liftIO $ B.Properties.getObjectPropertyObject obj "pixbuf" GdkPixbuf.Pixbuf.Pixbuf
+
+{- |
+Set the value of the “@pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #pixbuf 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImagePixbuf :: (MonadIO m, IsImage o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
+setImagePixbuf obj val = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixbuf@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImagePixbuf :: (IsImage o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
+constructImagePixbuf val = B.Properties.constructObjectPropertyObject "pixbuf" (Just val)
+
+{- |
+Set the value of the “@pixbuf@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #pixbuf
+@
+-}
+clearImagePixbuf :: (MonadIO m, IsImage o) => o -> m ()
+clearImagePixbuf obj = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)
+
+#if ENABLE_OVERLOADING
+data ImagePixbufPropertyInfo
+instance AttrInfo ImagePixbufPropertyInfo where
+    type AttrAllowedOps ImagePixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImagePixbufPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
+    type AttrBaseTypeConstraint ImagePixbufPropertyInfo = IsImage
+    type AttrGetType ImagePixbufPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    type AttrLabel ImagePixbufPropertyInfo = "pixbuf"
+    type AttrOrigin ImagePixbufPropertyInfo = Image
+    attrGet _ = getImagePixbuf
+    attrSet _ = setImagePixbuf
+    attrConstruct _ = constructImagePixbuf
+    attrClear _ = clearImagePixbuf
+#endif
+
+-- VVV Prop "pixbuf-animation"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "PixbufAnimation"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixbuf-animation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #pixbufAnimation
+@
+-}
+getImagePixbufAnimation :: (MonadIO m, IsImage o) => o -> m (Maybe GdkPixbuf.PixbufAnimation.PixbufAnimation)
+getImagePixbufAnimation obj = liftIO $ B.Properties.getObjectPropertyObject obj "pixbuf-animation" GdkPixbuf.PixbufAnimation.PixbufAnimation
+
+{- |
+Set the value of the “@pixbuf-animation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #pixbufAnimation 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImagePixbufAnimation :: (MonadIO m, IsImage o, GdkPixbuf.PixbufAnimation.IsPixbufAnimation a) => o -> a -> m ()
+setImagePixbufAnimation obj val = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf-animation" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixbuf-animation@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImagePixbufAnimation :: (IsImage o, GdkPixbuf.PixbufAnimation.IsPixbufAnimation a) => a -> IO (GValueConstruct o)
+constructImagePixbufAnimation val = B.Properties.constructObjectPropertyObject "pixbuf-animation" (Just val)
+
+{- |
+Set the value of the “@pixbuf-animation@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #pixbufAnimation
+@
+-}
+clearImagePixbufAnimation :: (MonadIO m, IsImage o) => o -> m ()
+clearImagePixbufAnimation obj = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf-animation" (Nothing :: Maybe GdkPixbuf.PixbufAnimation.PixbufAnimation)
+
+#if ENABLE_OVERLOADING
+data ImagePixbufAnimationPropertyInfo
+instance AttrInfo ImagePixbufAnimationPropertyInfo where
+    type AttrAllowedOps ImagePixbufAnimationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImagePixbufAnimationPropertyInfo = GdkPixbuf.PixbufAnimation.IsPixbufAnimation
+    type AttrBaseTypeConstraint ImagePixbufAnimationPropertyInfo = IsImage
+    type AttrGetType ImagePixbufAnimationPropertyInfo = (Maybe GdkPixbuf.PixbufAnimation.PixbufAnimation)
+    type AttrLabel ImagePixbufAnimationPropertyInfo = "pixbuf-animation"
+    type AttrOrigin ImagePixbufAnimationPropertyInfo = Image
+    attrGet _ = getImagePixbufAnimation
+    attrSet _ = setImagePixbufAnimation
+    attrConstruct _ = constructImagePixbufAnimation
+    attrClear _ = clearImagePixbufAnimation
+#endif
+
+-- VVV Prop "pixel-size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@pixel-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #pixelSize
+@
+-}
+getImagePixelSize :: (MonadIO m, IsImage o) => o -> m Int32
+getImagePixelSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "pixel-size"
+
+{- |
+Set the value of the “@pixel-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #pixelSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImagePixelSize :: (MonadIO m, IsImage o) => o -> Int32 -> m ()
+setImagePixelSize obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "pixel-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixel-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImagePixelSize :: (IsImage o) => Int32 -> IO (GValueConstruct o)
+constructImagePixelSize val = B.Properties.constructObjectPropertyInt32 "pixel-size" val
+
+#if ENABLE_OVERLOADING
+data ImagePixelSizePropertyInfo
+instance AttrInfo ImagePixelSizePropertyInfo where
+    type AttrAllowedOps ImagePixelSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ImagePixelSizePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ImagePixelSizePropertyInfo = IsImage
+    type AttrGetType ImagePixelSizePropertyInfo = Int32
+    type AttrLabel ImagePixelSizePropertyInfo = "pixel-size"
+    type AttrOrigin ImagePixelSizePropertyInfo = Image
+    attrGet _ = getImagePixelSize
+    attrSet _ = setImagePixelSize
+    attrConstruct _ = constructImagePixelSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "resource"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@resource@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #resource
+@
+-}
+getImageResource :: (MonadIO m, IsImage o) => o -> m (Maybe T.Text)
+getImageResource obj = liftIO $ B.Properties.getObjectPropertyString obj "resource"
+
+{- |
+Set the value of the “@resource@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #resource 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageResource :: (MonadIO m, IsImage o) => o -> T.Text -> m ()
+setImageResource obj val = liftIO $ B.Properties.setObjectPropertyString obj "resource" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@resource@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageResource :: (IsImage o) => T.Text -> IO (GValueConstruct o)
+constructImageResource val = B.Properties.constructObjectPropertyString "resource" (Just val)
+
+{- |
+Set the value of the “@resource@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #resource
+@
+-}
+clearImageResource :: (MonadIO m, IsImage o) => o -> m ()
+clearImageResource obj = liftIO $ B.Properties.setObjectPropertyString obj "resource" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ImageResourcePropertyInfo
+instance AttrInfo ImageResourcePropertyInfo where
+    type AttrAllowedOps ImageResourcePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImageResourcePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ImageResourcePropertyInfo = IsImage
+    type AttrGetType ImageResourcePropertyInfo = (Maybe T.Text)
+    type AttrLabel ImageResourcePropertyInfo = "resource"
+    type AttrOrigin ImageResourcePropertyInfo = Image
+    attrGet _ = getImageResource
+    attrSet _ = setImageResource
+    attrConstruct _ = constructImageResource
+    attrClear _ = clearImageResource
+#endif
+
+-- VVV Prop "stock"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #stock
+@
+-}
+getImageStock :: (MonadIO m, IsImage o) => o -> m (Maybe T.Text)
+getImageStock obj = liftIO $ B.Properties.getObjectPropertyString obj "stock"
+
+{- |
+Set the value of the “@stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #stock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageStock :: (MonadIO m, IsImage o) => o -> T.Text -> m ()
+setImageStock obj val = liftIO $ B.Properties.setObjectPropertyString obj "stock" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageStock :: (IsImage o) => T.Text -> IO (GValueConstruct o)
+constructImageStock val = B.Properties.constructObjectPropertyString "stock" (Just val)
+
+{- |
+Set the value of the “@stock@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stock
+@
+-}
+clearImageStock :: (MonadIO m, IsImage o) => o -> m ()
+clearImageStock obj = liftIO $ B.Properties.setObjectPropertyString obj "stock" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ImageStockPropertyInfo
+instance AttrInfo ImageStockPropertyInfo where
+    type AttrAllowedOps ImageStockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImageStockPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ImageStockPropertyInfo = IsImage
+    type AttrGetType ImageStockPropertyInfo = (Maybe T.Text)
+    type AttrLabel ImageStockPropertyInfo = "stock"
+    type AttrOrigin ImageStockPropertyInfo = Image
+    attrGet _ = getImageStock
+    attrSet _ = setImageStock
+    attrConstruct _ = constructImageStock
+    attrClear _ = clearImageStock
+#endif
+
+-- VVV Prop "storage-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ImageType"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@storage-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #storageType
+@
+-}
+getImageStorageType :: (MonadIO m, IsImage o) => o -> m Gtk.Enums.ImageType
+getImageStorageType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "storage-type"
+
+#if ENABLE_OVERLOADING
+data ImageStorageTypePropertyInfo
+instance AttrInfo ImageStorageTypePropertyInfo where
+    type AttrAllowedOps ImageStorageTypePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint ImageStorageTypePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ImageStorageTypePropertyInfo = IsImage
+    type AttrGetType ImageStorageTypePropertyInfo = Gtk.Enums.ImageType
+    type AttrLabel ImageStorageTypePropertyInfo = "storage-type"
+    type AttrOrigin ImageStorageTypePropertyInfo = Image
+    attrGet _ = getImageStorageType
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "surface"
+   -- Type: TInterface (Name {namespace = "cairo", name = "Surface"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@surface@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #surface
+@
+-}
+getImageSurface :: (MonadIO m, IsImage o) => o -> m (Maybe Cairo.Surface.Surface)
+getImageSurface obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "surface" Cairo.Surface.Surface
+
+{- |
+Set the value of the “@surface@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #surface 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageSurface :: (MonadIO m, IsImage o) => o -> Cairo.Surface.Surface -> m ()
+setImageSurface obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "surface" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@surface@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageSurface :: (IsImage o) => Cairo.Surface.Surface -> IO (GValueConstruct o)
+constructImageSurface val = B.Properties.constructObjectPropertyBoxed "surface" (Just val)
+
+{- |
+Set the value of the “@surface@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #surface
+@
+-}
+clearImageSurface :: (MonadIO m, IsImage o) => o -> m ()
+clearImageSurface obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "surface" (Nothing :: Maybe Cairo.Surface.Surface)
+
+#if ENABLE_OVERLOADING
+data ImageSurfacePropertyInfo
+instance AttrInfo ImageSurfacePropertyInfo where
+    type AttrAllowedOps ImageSurfacePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImageSurfacePropertyInfo = (~) Cairo.Surface.Surface
+    type AttrBaseTypeConstraint ImageSurfacePropertyInfo = IsImage
+    type AttrGetType ImageSurfacePropertyInfo = (Maybe Cairo.Surface.Surface)
+    type AttrLabel ImageSurfacePropertyInfo = "surface"
+    type AttrOrigin ImageSurfacePropertyInfo = Image
+    attrGet _ = getImageSurface
+    attrSet _ = setImageSurface
+    attrConstruct _ = constructImageSurface
+    attrClear _ = clearImageSurface
+#endif
+
+-- VVV Prop "use-fallback"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@use-fallback@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' image #useFallback
+@
+-}
+getImageUseFallback :: (MonadIO m, IsImage o) => o -> m Bool
+getImageUseFallback obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-fallback"
+
+{- |
+Set the value of the “@use-fallback@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' image [ #useFallback 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageUseFallback :: (MonadIO m, IsImage o) => o -> Bool -> m ()
+setImageUseFallback obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-fallback" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-fallback@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageUseFallback :: (IsImage o) => Bool -> IO (GValueConstruct o)
+constructImageUseFallback val = B.Properties.constructObjectPropertyBool "use-fallback" val
+
+#if ENABLE_OVERLOADING
+data ImageUseFallbackPropertyInfo
+instance AttrInfo ImageUseFallbackPropertyInfo where
+    type AttrAllowedOps ImageUseFallbackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ImageUseFallbackPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ImageUseFallbackPropertyInfo = IsImage
+    type AttrGetType ImageUseFallbackPropertyInfo = Bool
+    type AttrLabel ImageUseFallbackPropertyInfo = "use-fallback"
+    type AttrOrigin ImageUseFallbackPropertyInfo = Image
+    attrGet _ = getImageUseFallback
+    attrSet _ = setImageUseFallback
+    attrConstruct _ = constructImageUseFallback
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Image
+type instance O.AttributeList Image = ImageAttributeList
+type ImageAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("file", ImageFilePropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("gicon", ImageGiconPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("iconName", ImageIconNamePropertyInfo), '("iconSet", ImageIconSetPropertyInfo), '("iconSize", ImageIconSizePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("pixbuf", ImagePixbufPropertyInfo), '("pixbufAnimation", ImagePixbufAnimationPropertyInfo), '("pixelSize", ImagePixelSizePropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resource", ImageResourcePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stock", ImageStockPropertyInfo), '("storageType", ImageStorageTypePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("surface", ImageSurfacePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useFallback", ImageUseFallbackPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Misc.MiscXalignPropertyInfo), '("xpad", Gtk.Misc.MiscXpadPropertyInfo), '("yalign", Gtk.Misc.MiscYalignPropertyInfo), '("ypad", Gtk.Misc.MiscYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+imageFile :: AttrLabelProxy "file"
+imageFile = AttrLabelProxy
+
+imageGicon :: AttrLabelProxy "gicon"
+imageGicon = AttrLabelProxy
+
+imageIconName :: AttrLabelProxy "iconName"
+imageIconName = AttrLabelProxy
+
+imageIconSet :: AttrLabelProxy "iconSet"
+imageIconSet = AttrLabelProxy
+
+imageIconSize :: AttrLabelProxy "iconSize"
+imageIconSize = AttrLabelProxy
+
+imagePixbuf :: AttrLabelProxy "pixbuf"
+imagePixbuf = AttrLabelProxy
+
+imagePixbufAnimation :: AttrLabelProxy "pixbufAnimation"
+imagePixbufAnimation = AttrLabelProxy
+
+imagePixelSize :: AttrLabelProxy "pixelSize"
+imagePixelSize = AttrLabelProxy
+
+imageResource :: AttrLabelProxy "resource"
+imageResource = AttrLabelProxy
+
+imageStock :: AttrLabelProxy "stock"
+imageStock = AttrLabelProxy
+
+imageStorageType :: AttrLabelProxy "storageType"
+imageStorageType = AttrLabelProxy
+
+imageSurface :: AttrLabelProxy "surface"
+imageSurface = AttrLabelProxy
+
+imageUseFallback :: AttrLabelProxy "useFallback"
+imageUseFallback = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Image = ImageSignalList
+type ImageSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Image::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new" gtk_image_new :: 
+    IO (Ptr Image)
+
+{- |
+Creates a new empty 'GI.Gtk.Objects.Image.Image' widget.
+-}
+imageNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Image
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.Image.Image' widget. -}
+imageNew  = liftIO $ do
+    result <- gtk_image_new
+    checkUnexpectedReturnNULL "imageNew" result
+    result' <- (newObject Image) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::new_from_animation
+-- method type : Constructor
+-- Args : [Arg {argCName = "animation", argType = TInterface (Name {namespace = "GdkPixbuf", name = "PixbufAnimation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an animation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new_from_animation" gtk_image_new_from_animation :: 
+    Ptr GdkPixbuf.PixbufAnimation.PixbufAnimation -> -- animation : TInterface (Name {namespace = "GdkPixbuf", name = "PixbufAnimation"})
+    IO (Ptr Image)
+
+{- |
+Creates a 'GI.Gtk.Objects.Image.Image' displaying the given animation.
+The 'GI.Gtk.Objects.Image.Image' does not assume a reference to the
+animation; you still need to unref it if you own references.
+'GI.Gtk.Objects.Image.Image' will add its own reference rather than adopting yours.
+
+Note that the animation frames are shown using a timeout with
+'GI.GLib.Constants.PRIORITY_DEFAULT'. When using animations to indicate busyness,
+keep in mind that the animation will only be shown if the main loop
+is not busy with something that has a higher priority.
+-}
+imageNewFromAnimation ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.PixbufAnimation.IsPixbufAnimation a) =>
+    a
+    {- ^ /@animation@/: an animation -}
+    -> m Image
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Image.Image' widget -}
+imageNewFromAnimation animation = liftIO $ do
+    animation' <- unsafeManagedPtrCastPtr animation
+    result <- gtk_image_new_from_animation animation'
+    checkUnexpectedReturnNULL "imageNewFromAnimation" result
+    result' <- (newObject Image) result
+    touchManagedPtr animation
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::new_from_file
+-- method type : Constructor
+-- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a filename", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new_from_file" gtk_image_new_from_file :: 
+    CString ->                              -- filename : TBasicType TFileName
+    IO (Ptr Image)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Image.Image' displaying the file /@filename@/. If the file
+isn’t found or can’t be loaded, the resulting 'GI.Gtk.Objects.Image.Image' will
+display a “broken image” icon. This function never returns 'Nothing',
+it always returns a valid 'GI.Gtk.Objects.Image.Image' widget.
+
+If the file contains an animation, the image will contain an
+animation.
+
+If you need to detect failures to load the file, use
+'GI.GdkPixbuf.Objects.Pixbuf.pixbufNewFromFile' to load the file yourself, then create
+the 'GI.Gtk.Objects.Image.Image' from the pixbuf. (Or for animations, use
+'GI.GdkPixbuf.Objects.PixbufAnimation.pixbufAnimationNewFromFile').
+
+The storage type ('GI.Gtk.Objects.Image.imageGetStorageType') of the returned
+image is not defined, it will be whatever is appropriate for
+displaying the file.
+-}
+imageNewFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Char]
+    {- ^ /@filename@/: a filename -}
+    -> m Image
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Image.Image' -}
+imageNewFromFile filename = liftIO $ do
+    filename' <- stringToCString filename
+    result <- gtk_image_new_from_file filename'
+    checkUnexpectedReturnNULL "imageNewFromFile" result
+    result' <- (newObject Image) result
+    freeMem filename'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::new_from_gicon
+-- method type : Constructor
+-- Args : [Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new_from_gicon" gtk_image_new_from_gicon :: 
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr Image)
+
+{- |
+Creates a 'GI.Gtk.Objects.Image.Image' displaying an icon from the current icon theme.
+If the icon name isn’t known, a “broken image” icon will be
+displayed instead.  If the current icon theme is changed, the icon
+will be updated appropriately.
+
+/Since: 2.14/
+-}
+imageNewFromGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, Gio.Icon.IsIcon a) =>
+    a
+    {- ^ /@icon@/: an icon -}
+    -> Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m Image
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Image.Image' displaying the themed icon -}
+imageNewFromGicon icon size = liftIO $ do
+    icon' <- unsafeManagedPtrCastPtr icon
+    result <- gtk_image_new_from_gicon icon' size
+    checkUnexpectedReturnNULL "imageNewFromGicon" result
+    result' <- (newObject Image) result
+    touchManagedPtr icon
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::new_from_icon_name
+-- method type : Constructor
+-- Args : [Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an icon name or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new_from_icon_name" gtk_image_new_from_icon_name :: 
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr Image)
+
+{- |
+Creates a 'GI.Gtk.Objects.Image.Image' displaying an icon from the current icon theme.
+If the icon name isn’t known, a “broken image” icon will be
+displayed instead.  If the current icon theme is changed, the icon
+will be updated appropriately.
+
+/Since: 2.6/
+-}
+imageNewFromIconName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@iconName@/: an icon name or 'Nothing' -}
+    -> Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m Image
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Image.Image' displaying the themed icon -}
+imageNewFromIconName iconName size = liftIO $ do
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    result <- gtk_image_new_from_icon_name maybeIconName size
+    checkUnexpectedReturnNULL "imageNewFromIconName" result
+    result' <- (newObject Image) result
+    freeMem maybeIconName
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::new_from_icon_set
+-- method type : Constructor
+-- Args : [Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new_from_icon_set" gtk_image_new_from_icon_set :: 
+    Ptr Gtk.IconSet.IconSet ->              -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr Image)
+
+{-# DEPRECATED imageNewFromIconSet ["(Since version 3.10)","Use 'GI.Gtk.Objects.Image.imageNewFromIconName' instead."] #-}
+{- |
+Creates a 'GI.Gtk.Objects.Image.Image' displaying an icon set. Sample stock sizes are
+@/GTK_ICON_SIZE_MENU/@, @/GTK_ICON_SIZE_SMALL_TOOLBAR/@. Instead of using
+this function, usually it’s better to create a 'GI.Gtk.Objects.IconFactory.IconFactory', put
+your icon sets in the icon factory, add the icon factory to the
+list of default factories with 'GI.Gtk.Objects.IconFactory.iconFactoryAddDefault', and
+then use 'GI.Gtk.Objects.Image.imageNewFromStock'. This will allow themes to
+override the icon you ship with your application.
+
+The 'GI.Gtk.Objects.Image.Image' does not assume a reference to the
+icon set; you still need to unref it if you own references.
+'GI.Gtk.Objects.Image.Image' will add its own reference rather than adopting yours.
+-}
+imageNewFromIconSet ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.IconSet.IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet' -}
+    -> Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m Image
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Image.Image' -}
+imageNewFromIconSet iconSet size = liftIO $ do
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    result <- gtk_image_new_from_icon_set iconSet' size
+    checkUnexpectedReturnNULL "imageNewFromIconSet" result
+    result' <- (newObject Image) result
+    touchManagedPtr iconSet
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::new_from_pixbuf
+-- method type : Constructor
+-- Args : [Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new_from_pixbuf" gtk_image_new_from_pixbuf :: 
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO (Ptr Image)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Image.Image' displaying /@pixbuf@/.
+The 'GI.Gtk.Objects.Image.Image' does not assume a reference to the
+pixbuf; you still need to unref it if you own references.
+'GI.Gtk.Objects.Image.Image' will add its own reference rather than adopting yours.
+
+Note that this function just creates an 'GI.Gtk.Objects.Image.Image' from the pixbuf. The
+'GI.Gtk.Objects.Image.Image' created will not react to state changes. Should you want that,
+you should use 'GI.Gtk.Objects.Image.imageNewFromIconName'.
+-}
+imageNewFromPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>
+    Maybe (a)
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', or 'Nothing' -}
+    -> m Image
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Image.Image' -}
+imageNewFromPixbuf pixbuf = liftIO $ do
+    maybePixbuf <- case pixbuf of
+        Nothing -> return nullPtr
+        Just jPixbuf -> do
+            jPixbuf' <- unsafeManagedPtrCastPtr jPixbuf
+            return jPixbuf'
+    result <- gtk_image_new_from_pixbuf maybePixbuf
+    checkUnexpectedReturnNULL "imageNewFromPixbuf" result
+    result' <- (newObject Image) result
+    whenJust pixbuf touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::new_from_resource
+-- method type : Constructor
+-- Args : [Arg {argCName = "resource_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a resource path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new_from_resource" gtk_image_new_from_resource :: 
+    CString ->                              -- resource_path : TBasicType TUTF8
+    IO (Ptr Image)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Image.Image' displaying the resource file /@resourcePath@/. If the file
+isn’t found or can’t be loaded, the resulting 'GI.Gtk.Objects.Image.Image' will
+display a “broken image” icon. This function never returns 'Nothing',
+it always returns a valid 'GI.Gtk.Objects.Image.Image' widget.
+
+If the file contains an animation, the image will contain an
+animation.
+
+If you need to detect failures to load the file, use
+'GI.GdkPixbuf.Objects.Pixbuf.pixbufNewFromFile' to load the file yourself, then create
+the 'GI.Gtk.Objects.Image.Image' from the pixbuf. (Or for animations, use
+'GI.GdkPixbuf.Objects.PixbufAnimation.pixbufAnimationNewFromFile').
+
+The storage type ('GI.Gtk.Objects.Image.imageGetStorageType') of the returned
+image is not defined, it will be whatever is appropriate for
+displaying the file.
+
+/Since: 3.4/
+-}
+imageNewFromResource ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@resourcePath@/: a resource path -}
+    -> m Image
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Image.Image' -}
+imageNewFromResource resourcePath = liftIO $ do
+    resourcePath' <- textToCString resourcePath
+    result <- gtk_image_new_from_resource resourcePath'
+    checkUnexpectedReturnNULL "imageNewFromResource" result
+    result' <- (newObject Image) result
+    freeMem resourcePath'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::new_from_stock
+-- method type : Constructor
+-- Args : [Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new_from_stock" gtk_image_new_from_stock :: 
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr Image)
+
+{-# DEPRECATED imageNewFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.Image.imageNewFromIconName' instead."] #-}
+{- |
+Creates a 'GI.Gtk.Objects.Image.Image' displaying a stock icon. Sample stock icon
+names are 'GI.Gtk.Constants.STOCK_OPEN', 'GI.Gtk.Constants.STOCK_QUIT'. Sample stock sizes
+are @/GTK_ICON_SIZE_MENU/@, @/GTK_ICON_SIZE_SMALL_TOOLBAR/@. If the stock
+icon name isn’t known, the image will be empty.
+You can register your own stock icon names, see
+'GI.Gtk.Objects.IconFactory.iconFactoryAddDefault' and 'GI.Gtk.Objects.IconFactory.iconFactoryAdd'.
+-}
+imageNewFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@stockId@/: a stock icon name -}
+    -> Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m Image
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Image.Image' displaying the stock icon -}
+imageNewFromStock stockId size = liftIO $ do
+    stockId' <- textToCString stockId
+    result <- gtk_image_new_from_stock stockId' size
+    checkUnexpectedReturnNULL "imageNewFromStock" result
+    result' <- (newObject Image) result
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::new_from_surface
+-- method type : Constructor
+-- Args : [Arg {argCName = "surface", argType = TInterface (Name {namespace = "cairo", name = "Surface"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #cairo_surface_t, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Image"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_new_from_surface" gtk_image_new_from_surface :: 
+    Ptr Cairo.Surface.Surface ->            -- surface : TInterface (Name {namespace = "cairo", name = "Surface"})
+    IO (Ptr Image)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Image.Image' displaying /@surface@/.
+The 'GI.Gtk.Objects.Image.Image' does not assume a reference to the
+surface; you still need to unref it if you own references.
+'GI.Gtk.Objects.Image.Image' will add its own reference rather than adopting yours.
+
+/Since: 3.10/
+-}
+imageNewFromSurface ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (Cairo.Surface.Surface)
+    {- ^ /@surface@/: a 'GI.Cairo.Structs.Surface.Surface', or 'Nothing' -}
+    -> m Image
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Image.Image' -}
+imageNewFromSurface surface = liftIO $ do
+    maybeSurface <- case surface of
+        Nothing -> return nullPtr
+        Just jSurface -> do
+            jSurface' <- unsafeManagedPtrGetPtr jSurface
+            return jSurface'
+    result <- gtk_image_new_from_surface maybeSurface
+    checkUnexpectedReturnNULL "imageNewFromSurface" result
+    result' <- (newObject Image) result
+    whenJust surface touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Image::clear
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_clear" gtk_image_clear :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    IO ()
+
+{- |
+Resets the image to be empty.
+
+/Since: 2.8/
+-}
+imageClear ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> m ()
+imageClear image = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    gtk_image_clear image'
+    touchManagedPtr image
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageClearMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsImage a) => O.MethodInfo ImageClearMethodInfo a signature where
+    overloadedMethod _ = imageClear
+
+#endif
+
+-- method Image::get_animation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "PixbufAnimation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_get_animation" gtk_image_get_animation :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    IO (Ptr GdkPixbuf.PixbufAnimation.PixbufAnimation)
+
+{- |
+Gets the 'GI.GdkPixbuf.Objects.PixbufAnimation.PixbufAnimation' being displayed by the 'GI.Gtk.Objects.Image.Image'.
+The storage type of the image must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypeAnimation' (see 'GI.Gtk.Objects.Image.imageGetStorageType').
+The caller of this function does not own a reference to the
+returned animation.
+-}
+imageGetAnimation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> m (Maybe GdkPixbuf.PixbufAnimation.PixbufAnimation)
+    {- ^ __Returns:__ the displayed animation, or 'Nothing' if
+the image is empty -}
+imageGetAnimation image = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    result <- gtk_image_get_animation image'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GdkPixbuf.PixbufAnimation.PixbufAnimation) result'
+        return result''
+    touchManagedPtr image
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ImageGetAnimationMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.PixbufAnimation.PixbufAnimation)), MonadIO m, IsImage a) => O.MethodInfo ImageGetAnimationMethodInfo a signature where
+    overloadedMethod _ = imageGetAnimation
+
+#endif
+
+-- method Image::get_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gicon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "place to store a\n    #GIcon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "place to store an icon size\n    (#GtkIconSize), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_get_gicon" gtk_image_get_gicon :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Ptr (Ptr Gio.Icon.Icon) ->              -- gicon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    Ptr Int32 ->                            -- size : TBasicType TInt
+    IO ()
+
+{- |
+Gets the 'GI.Gio.Interfaces.Icon.Icon' and size being displayed by the 'GI.Gtk.Objects.Image.Image'.
+The storage type of the image must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypeGicon' (see 'GI.Gtk.Objects.Image.imageGetStorageType').
+The caller of this function does not own a reference to the
+returned 'GI.Gio.Interfaces.Icon.Icon'.
+
+/Since: 2.14/
+-}
+imageGetGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> m ((Gio.Icon.Icon, Int32))
+imageGetGicon image = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    gicon <- allocMem :: IO (Ptr (Ptr Gio.Icon.Icon))
+    size <- allocMem :: IO (Ptr Int32)
+    gtk_image_get_gicon image' gicon size
+    gicon' <- peek gicon
+    gicon'' <- (newObject Gio.Icon.Icon) gicon'
+    size' <- peek size
+    touchManagedPtr image
+    freeMem gicon
+    freeMem size
+    return (gicon'', size')
+
+#if ENABLE_OVERLOADING
+data ImageGetGiconMethodInfo
+instance (signature ~ (m ((Gio.Icon.Icon, Int32))), MonadIO m, IsImage a) => O.MethodInfo ImageGetGiconMethodInfo a signature where
+    overloadedMethod _ = imageGetGicon
+
+#endif
+
+-- method Image::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "place to store an\n    icon name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "place to store an icon size\n    (#GtkIconSize), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_get_icon_name" gtk_image_get_icon_name :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Ptr CString ->                          -- icon_name : TBasicType TUTF8
+    Ptr Int32 ->                            -- size : TBasicType TInt
+    IO ()
+
+{- |
+Gets the icon name and size being displayed by the 'GI.Gtk.Objects.Image.Image'.
+The storage type of the image must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypeIconName' (see 'GI.Gtk.Objects.Image.imageGetStorageType').
+The returned string is owned by the 'GI.Gtk.Objects.Image.Image' and should not
+be freed.
+
+/Since: 2.6/
+-}
+imageGetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> m ((T.Text, Int32))
+imageGetIconName image = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    iconName <- allocMem :: IO (Ptr CString)
+    size <- allocMem :: IO (Ptr Int32)
+    gtk_image_get_icon_name image' iconName size
+    iconName' <- peek iconName
+    iconName'' <- cstringToText iconName'
+    size' <- peek size
+    touchManagedPtr image
+    freeMem iconName
+    freeMem size
+    return (iconName'', size')
+
+#if ENABLE_OVERLOADING
+data ImageGetIconNameMethodInfo
+instance (signature ~ (m ((T.Text, Int32))), MonadIO m, IsImage a) => O.MethodInfo ImageGetIconNameMethodInfo a signature where
+    overloadedMethod _ = imageGetIconName
+
+#endif
+
+-- method Image::get_icon_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store a\n    #GtkIconSet, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store a stock\n    icon size (#GtkIconSize), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_get_icon_set" gtk_image_get_icon_set :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Ptr (Ptr Gtk.IconSet.IconSet) ->        -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    Ptr Int32 ->                            -- size : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED imageGetIconSet ["(Since version 3.10)","Use 'GI.Gtk.Objects.Image.imageGetIconName' instead."] #-}
+{- |
+Gets the icon set and size being displayed by the 'GI.Gtk.Objects.Image.Image'.
+The storage type of the image must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypeIconSet' (see 'GI.Gtk.Objects.Image.imageGetStorageType').
+-}
+imageGetIconSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> m ((Gtk.IconSet.IconSet, Int32))
+imageGetIconSet image = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    iconSet <- allocMem :: IO (Ptr (Ptr Gtk.IconSet.IconSet))
+    size <- allocMem :: IO (Ptr Int32)
+    gtk_image_get_icon_set image' iconSet size
+    iconSet' <- peek iconSet
+    iconSet'' <- (newBoxed Gtk.IconSet.IconSet) iconSet'
+    size' <- peek size
+    touchManagedPtr image
+    freeMem iconSet
+    freeMem size
+    return (iconSet'', size')
+
+#if ENABLE_OVERLOADING
+data ImageGetIconSetMethodInfo
+instance (signature ~ (m ((Gtk.IconSet.IconSet, Int32))), MonadIO m, IsImage a) => O.MethodInfo ImageGetIconSetMethodInfo a signature where
+    overloadedMethod _ = imageGetIconSet
+
+#endif
+
+-- method Image::get_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_get_pixbuf" gtk_image_get_pixbuf :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Gets the 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' being displayed by the 'GI.Gtk.Objects.Image.Image'.
+The storage type of the image must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypePixbuf' (see 'GI.Gtk.Objects.Image.imageGetStorageType').
+The caller of this function does not own a reference to the
+returned pixbuf.
+-}
+imageGetPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ the displayed pixbuf, or 'Nothing' if
+the image is empty -}
+imageGetPixbuf image = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    result <- gtk_image_get_pixbuf image'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr image
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ImageGetPixbufMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsImage a) => O.MethodInfo ImageGetPixbufMethodInfo a signature where
+    overloadedMethod _ = imageGetPixbuf
+
+#endif
+
+-- method Image::get_pixel_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_get_pixel_size" gtk_image_get_pixel_size :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    IO Int32
+
+{- |
+Gets the pixel size used for named icons.
+
+/Since: 2.6/
+-}
+imageGetPixelSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> m Int32
+    {- ^ __Returns:__ the pixel size used for named icons. -}
+imageGetPixelSize image = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    result <- gtk_image_get_pixel_size image'
+    touchManagedPtr image
+    return result
+
+#if ENABLE_OVERLOADING
+data ImageGetPixelSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsImage a) => O.MethodInfo ImageGetPixelSizeMethodInfo a signature where
+    overloadedMethod _ = imageGetPixelSize
+
+#endif
+
+-- method Image::get_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "place to store a\n    stock icon name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "place to store a stock icon\n    size (#GtkIconSize), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_get_stock" gtk_image_get_stock :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Ptr CString ->                          -- stock_id : TBasicType TUTF8
+    Ptr Int32 ->                            -- size : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED imageGetStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.Image.imageGetIconName' instead."] #-}
+{- |
+Gets the stock icon name and size being displayed by the 'GI.Gtk.Objects.Image.Image'.
+The storage type of the image must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypeStock' (see 'GI.Gtk.Objects.Image.imageGetStorageType').
+The returned string is owned by the 'GI.Gtk.Objects.Image.Image' and should not
+be freed.
+-}
+imageGetStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> m ((T.Text, Int32))
+imageGetStock image = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    stockId <- allocMem :: IO (Ptr CString)
+    size <- allocMem :: IO (Ptr Int32)
+    gtk_image_get_stock image' stockId size
+    stockId' <- peek stockId
+    stockId'' <- cstringToText stockId'
+    size' <- peek size
+    touchManagedPtr image
+    freeMem stockId
+    freeMem size
+    return (stockId'', size')
+
+#if ENABLE_OVERLOADING
+data ImageGetStockMethodInfo
+instance (signature ~ (m ((T.Text, Int32))), MonadIO m, IsImage a) => O.MethodInfo ImageGetStockMethodInfo a signature where
+    overloadedMethod _ = imageGetStock
+
+#endif
+
+-- method Image::get_storage_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ImageType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_get_storage_type" gtk_image_get_storage_type :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    IO CUInt
+
+{- |
+Gets the type of representation being used by the 'GI.Gtk.Objects.Image.Image'
+to store image data. If the 'GI.Gtk.Objects.Image.Image' has no image data,
+the return value will be 'GI.Gtk.Enums.ImageTypeEmpty'.
+-}
+imageGetStorageType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> m Gtk.Enums.ImageType
+    {- ^ __Returns:__ image representation being used -}
+imageGetStorageType image = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    result <- gtk_image_get_storage_type image'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr image
+    return result'
+
+#if ENABLE_OVERLOADING
+data ImageGetStorageTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.ImageType), MonadIO m, IsImage a) => O.MethodInfo ImageGetStorageTypeMethodInfo a signature where
+    overloadedMethod _ = imageGetStorageType
+
+#endif
+
+-- method Image::set_from_animation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "animation", argType = TInterface (Name {namespace = "GdkPixbuf", name = "PixbufAnimation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkPixbufAnimation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_from_animation" gtk_image_set_from_animation :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Ptr GdkPixbuf.PixbufAnimation.PixbufAnimation -> -- animation : TInterface (Name {namespace = "GdkPixbuf", name = "PixbufAnimation"})
+    IO ()
+
+{- |
+Causes the 'GI.Gtk.Objects.Image.Image' to display the given animation (or display
+nothing, if you set the animation to 'Nothing').
+-}
+imageSetFromAnimation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a, GdkPixbuf.PixbufAnimation.IsPixbufAnimation b) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> b
+    {- ^ /@animation@/: the 'GI.GdkPixbuf.Objects.PixbufAnimation.PixbufAnimation' -}
+    -> m ()
+imageSetFromAnimation image animation = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    animation' <- unsafeManagedPtrCastPtr animation
+    gtk_image_set_from_animation image' animation'
+    touchManagedPtr image
+    touchManagedPtr animation
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetFromAnimationMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsImage a, GdkPixbuf.PixbufAnimation.IsPixbufAnimation b) => O.MethodInfo ImageSetFromAnimationMethodInfo a signature where
+    overloadedMethod _ = imageSetFromAnimation
+
+#endif
+
+-- method Image::set_from_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a filename or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_from_file" gtk_image_set_from_file :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    CString ->                              -- filename : TBasicType TFileName
+    IO ()
+
+{- |
+See 'GI.Gtk.Objects.Image.imageNewFromFile' for details.
+-}
+imageSetFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> Maybe ([Char])
+    {- ^ /@filename@/: a filename or 'Nothing' -}
+    -> m ()
+imageSetFromFile image filename = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    maybeFilename <- case filename of
+        Nothing -> return nullPtr
+        Just jFilename -> do
+            jFilename' <- stringToCString jFilename
+            return jFilename'
+    gtk_image_set_from_file image' maybeFilename
+    touchManagedPtr image
+    freeMem maybeFilename
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetFromFileMethodInfo
+instance (signature ~ (Maybe ([Char]) -> m ()), MonadIO m, IsImage a) => O.MethodInfo ImageSetFromFileMethodInfo a signature where
+    overloadedMethod _ = imageSetFromFile
+
+#endif
+
+-- method Image::set_from_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_from_gicon" gtk_image_set_from_gicon :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+{- |
+See 'GI.Gtk.Objects.Image.imageNewFromGicon' for details.
+
+/Since: 2.14/
+-}
+imageSetFromGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> b
+    {- ^ /@icon@/: an icon -}
+    -> Int32
+    {- ^ /@size@/: an icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m ()
+imageSetFromGicon image icon size = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    icon' <- unsafeManagedPtrCastPtr icon
+    gtk_image_set_from_gicon image' icon' size
+    touchManagedPtr image
+    touchManagedPtr icon
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetFromGiconMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsImage a, Gio.Icon.IsIcon b) => O.MethodInfo ImageSetFromGiconMethodInfo a signature where
+    overloadedMethod _ = imageSetFromGicon
+
+#endif
+
+-- method Image::set_from_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an icon name or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_from_icon_name" gtk_image_set_from_icon_name :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+{- |
+See 'GI.Gtk.Objects.Image.imageNewFromIconName' for details.
+
+/Since: 2.6/
+-}
+imageSetFromIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> Maybe (T.Text)
+    {- ^ /@iconName@/: an icon name or 'Nothing' -}
+    -> Int32
+    {- ^ /@size@/: an icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m ()
+imageSetFromIconName image iconName size = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    gtk_image_set_from_icon_name image' maybeIconName size
+    touchManagedPtr image
+    freeMem maybeIconName
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetFromIconNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> Int32 -> m ()), MonadIO m, IsImage a) => O.MethodInfo ImageSetFromIconNameMethodInfo a signature where
+    overloadedMethod _ = imageSetFromIconName
+
+#endif
+
+-- method Image::set_from_icon_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_from_icon_set" gtk_image_set_from_icon_set :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Ptr Gtk.IconSet.IconSet ->              -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED imageSetFromIconSet ["(Since version 3.10)","Use 'GI.Gtk.Objects.Image.imageSetFromIconName' instead."] #-}
+{- |
+See 'GI.Gtk.Objects.Image.imageNewFromIconSet' for details.
+-}
+imageSetFromIconSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> Gtk.IconSet.IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet' -}
+    -> Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m ()
+imageSetFromIconSet image iconSet size = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    gtk_image_set_from_icon_set image' iconSet' size
+    touchManagedPtr image
+    touchManagedPtr iconSet
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetFromIconSetMethodInfo
+instance (signature ~ (Gtk.IconSet.IconSet -> Int32 -> m ()), MonadIO m, IsImage a) => O.MethodInfo ImageSetFromIconSetMethodInfo a signature where
+    overloadedMethod _ = imageSetFromIconSet
+
+#endif
+
+-- method Image::set_from_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_from_pixbuf" gtk_image_set_from_pixbuf :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{- |
+See 'GI.Gtk.Objects.Image.imageNewFromPixbuf' for details.
+-}
+imageSetFromPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> Maybe (b)
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' or 'Nothing' -}
+    -> m ()
+imageSetFromPixbuf image pixbuf = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    maybePixbuf <- case pixbuf of
+        Nothing -> return nullPtr
+        Just jPixbuf -> do
+            jPixbuf' <- unsafeManagedPtrCastPtr jPixbuf
+            return jPixbuf'
+    gtk_image_set_from_pixbuf image' maybePixbuf
+    touchManagedPtr image
+    whenJust pixbuf touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetFromPixbufMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsImage a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo ImageSetFromPixbufMethodInfo a signature where
+    overloadedMethod _ = imageSetFromPixbuf
+
+#endif
+
+-- method Image::set_from_resource
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resource_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a resource path or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_from_resource" gtk_image_set_from_resource :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    CString ->                              -- resource_path : TBasicType TUTF8
+    IO ()
+
+{- |
+See 'GI.Gtk.Objects.Image.imageNewFromResource' for details.
+-}
+imageSetFromResource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> Maybe (T.Text)
+    {- ^ /@resourcePath@/: a resource path or 'Nothing' -}
+    -> m ()
+imageSetFromResource image resourcePath = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    maybeResourcePath <- case resourcePath of
+        Nothing -> return nullPtr
+        Just jResourcePath -> do
+            jResourcePath' <- textToCString jResourcePath
+            return jResourcePath'
+    gtk_image_set_from_resource image' maybeResourcePath
+    touchManagedPtr image
+    freeMem maybeResourcePath
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetFromResourceMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsImage a) => O.MethodInfo ImageSetFromResourceMethodInfo a signature where
+    overloadedMethod _ = imageSetFromResource
+
+#endif
+
+-- method Image::set_from_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_from_stock" gtk_image_set_from_stock :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED imageSetFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.Image.imageSetFromIconName' instead."] #-}
+{- |
+See 'GI.Gtk.Objects.Image.imageNewFromStock' for details.
+-}
+imageSetFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> T.Text
+    {- ^ /@stockId@/: a stock icon name -}
+    -> Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m ()
+imageSetFromStock image stockId size = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    stockId' <- textToCString stockId
+    gtk_image_set_from_stock image' stockId' size
+    touchManagedPtr image
+    freeMem stockId'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetFromStockMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsImage a) => O.MethodInfo ImageSetFromStockMethodInfo a signature where
+    overloadedMethod _ = imageSetFromStock
+
+#endif
+
+-- method Image::set_from_surface
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "surface", argType = TInterface (Name {namespace = "cairo", name = "Surface"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a cairo_surface_t or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_from_surface" gtk_image_set_from_surface :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Ptr Cairo.Surface.Surface ->            -- surface : TInterface (Name {namespace = "cairo", name = "Surface"})
+    IO ()
+
+{- |
+See 'GI.Gtk.Objects.Image.imageNewFromSurface' for details.
+
+/Since: 3.10/
+-}
+imageSetFromSurface ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> Maybe (Cairo.Surface.Surface)
+    {- ^ /@surface@/: a cairo_surface_t or 'Nothing' -}
+    -> m ()
+imageSetFromSurface image surface = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    maybeSurface <- case surface of
+        Nothing -> return nullPtr
+        Just jSurface -> do
+            jSurface' <- unsafeManagedPtrGetPtr jSurface
+            return jSurface'
+    gtk_image_set_from_surface image' maybeSurface
+    touchManagedPtr image
+    whenJust surface touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetFromSurfaceMethodInfo
+instance (signature ~ (Maybe (Cairo.Surface.Surface) -> m ()), MonadIO m, IsImage a) => O.MethodInfo ImageSetFromSurfaceMethodInfo a signature where
+    overloadedMethod _ = imageSetFromSurface
+
+#endif
+
+-- method Image::set_pixel_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Image"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixel_size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new pixel size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_set_pixel_size" gtk_image_set_pixel_size :: 
+    Ptr Image ->                            -- image : TInterface (Name {namespace = "Gtk", name = "Image"})
+    Int32 ->                                -- pixel_size : TBasicType TInt
+    IO ()
+
+{- |
+Sets the pixel size to use for named icons. If the pixel size is set
+to a value != -1, it is used instead of the icon size set by
+'GI.Gtk.Objects.Image.imageSetFromIconName'.
+
+/Since: 2.6/
+-}
+imageSetPixelSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImage a) =>
+    a
+    {- ^ /@image@/: a 'GI.Gtk.Objects.Image.Image' -}
+    -> Int32
+    {- ^ /@pixelSize@/: the new pixel size -}
+    -> m ()
+imageSetPixelSize image pixelSize = liftIO $ do
+    image' <- unsafeManagedPtrCastPtr image
+    gtk_image_set_pixel_size image' pixelSize
+    touchManagedPtr image
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageSetPixelSizeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsImage a) => O.MethodInfo ImageSetPixelSizeMethodInfo a signature where
+    overloadedMethod _ = imageSetPixelSize
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Image.hs-boot b/GI/Gtk/Objects/Image.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Image.hs-boot
@@ -0,0 +1,125 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Image where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Image = Image (ManagedPtr Image)
+instance GObject Image where
+class (GObject o, O.IsDescendantOf Image o) => IsImage o
+instance (GObject o, O.IsDescendantOf Image o) => IsImage o
+instance O.HasParentTypes Image
+#if ENABLE_OVERLOADING
+data ImageFilePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageGiconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageIconSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageIconSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImagePixbufPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImagePixbufAnimationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImagePixelSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageResourcePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageStockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageStorageTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSurfacePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageUseFallbackPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageClearMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageGetAnimationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageGetGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageGetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageGetIconSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageGetPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageGetPixelSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageGetStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageGetStorageTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetFromAnimationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetFromFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetFromGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetFromIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetFromIconSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetFromPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetFromResourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetFromStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetFromSurfaceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageSetPixelSizeMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ImageAccessible.hs b/GI/Gtk/Objects/ImageAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ImageAccessible.hs
@@ -0,0 +1,170 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ImageAccessible
+    ( 
+
+-- * Exported types
+    ImageAccessible(..)                     ,
+    IsImageAccessible                       ,
+    toImageAccessible                       ,
+    noImageAccessible                       ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ImageAccessible = ImageAccessible (ManagedPtr ImageAccessible)
+foreign import ccall "gtk_image_accessible_get_type"
+    c_gtk_image_accessible_get_type :: IO GType
+
+instance GObject ImageAccessible where
+    gobjectType = c_gtk_image_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ImageAccessible`, for instance with `toImageAccessible`.
+class (GObject o, O.IsDescendantOf ImageAccessible o) => IsImageAccessible o
+instance (GObject o, O.IsDescendantOf ImageAccessible o) => IsImageAccessible o
+
+instance O.HasParentTypes ImageAccessible
+type instance O.ParentTypes ImageAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Image.Image]
+
+-- | Cast to `ImageAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toImageAccessible :: (MonadIO m, IsImageAccessible o) => o -> m ImageAccessible
+toImageAccessible = liftIO . unsafeCastTo ImageAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ImageAccessible`.
+noImageAccessible :: Maybe ImageAccessible
+noImageAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveImageAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveImageAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveImageAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveImageAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveImageAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveImageAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveImageAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveImageAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveImageAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveImageAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveImageAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveImageAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveImageAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveImageAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveImageAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveImageAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveImageAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveImageAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveImageAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveImageAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveImageAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveImageAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveImageAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveImageAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveImageAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveImageAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveImageAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveImageAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveImageAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveImageAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveImageAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveImageAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveImageAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveImageAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveImageAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveImageAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveImageAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveImageAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveImageAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveImageAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveImageAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveImageAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveImageAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveImageAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveImageAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveImageAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveImageAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveImageAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveImageAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveImageAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveImageAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveImageAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveImageAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveImageAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveImageAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveImageAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveImageAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveImageAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveImageAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveImageAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveImageAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveImageAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveImageAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveImageAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveImageAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveImageAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveImageAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveImageAccessibleMethod t ImageAccessible, O.MethodInfo info ImageAccessible p) => OL.IsLabel t (ImageAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ImageAccessible
+type instance O.AttributeList ImageAccessible = ImageAccessibleAttributeList
+type ImageAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ImageAccessible = ImageAccessibleSignalList
+type ImageAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ImageAccessible.hs-boot b/GI/Gtk/Objects/ImageAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ImageAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ImageAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ImageAccessible = ImageAccessible (ManagedPtr ImageAccessible)
+instance GObject ImageAccessible where
+class (GObject o, O.IsDescendantOf ImageAccessible o) => IsImageAccessible o
+instance (GObject o, O.IsDescendantOf ImageAccessible o) => IsImageAccessible o
+instance O.HasParentTypes ImageAccessible
diff --git a/GI/Gtk/Objects/ImageCellAccessible.hs b/GI/Gtk/Objects/ImageCellAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ImageCellAccessible.hs
@@ -0,0 +1,183 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ImageCellAccessible
+    ( 
+
+-- * Exported types
+    ImageCellAccessible(..)                 ,
+    IsImageCellAccessible                   ,
+    toImageCellAccessible                   ,
+    noImageCellAccessible                   ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Interfaces.TableCell as Atk.TableCell
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellAccessible as Gtk.CellAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RendererCellAccessible as Gtk.RendererCellAccessible
+
+-- | Memory-managed wrapper type.
+newtype ImageCellAccessible = ImageCellAccessible (ManagedPtr ImageCellAccessible)
+foreign import ccall "gtk_image_cell_accessible_get_type"
+    c_gtk_image_cell_accessible_get_type :: IO GType
+
+instance GObject ImageCellAccessible where
+    gobjectType = c_gtk_image_cell_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ImageCellAccessible`, for instance with `toImageCellAccessible`.
+class (GObject o, O.IsDescendantOf ImageCellAccessible o) => IsImageCellAccessible o
+instance (GObject o, O.IsDescendantOf ImageCellAccessible o) => IsImageCellAccessible o
+
+instance O.HasParentTypes ImageCellAccessible
+type instance O.ParentTypes ImageCellAccessible = '[Gtk.RendererCellAccessible.RendererCellAccessible, Gtk.CellAccessible.CellAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Image.Image, Atk.TableCell.TableCell]
+
+-- | Cast to `ImageCellAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toImageCellAccessible :: (MonadIO m, IsImageCellAccessible o) => o -> m ImageCellAccessible
+toImageCellAccessible = liftIO . unsafeCastTo ImageCellAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ImageCellAccessible`.
+noImageCellAccessible :: Maybe ImageCellAccessible
+noImageCellAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveImageCellAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveImageCellAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveImageCellAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveImageCellAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveImageCellAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveImageCellAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveImageCellAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveImageCellAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveImageCellAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveImageCellAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveImageCellAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveImageCellAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveImageCellAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveImageCellAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveImageCellAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveImageCellAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveImageCellAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveImageCellAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveImageCellAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveImageCellAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveImageCellAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveImageCellAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveImageCellAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveImageCellAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveImageCellAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveImageCellAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveImageCellAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveImageCellAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveImageCellAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveImageCellAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveImageCellAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveImageCellAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveImageCellAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveImageCellAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveImageCellAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveImageCellAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveImageCellAccessibleMethod "getColumnHeaderCells" o = Atk.TableCell.TableCellGetColumnHeaderCellsMethodInfo
+    ResolveImageCellAccessibleMethod "getColumnSpan" o = Atk.TableCell.TableCellGetColumnSpanMethodInfo
+    ResolveImageCellAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveImageCellAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveImageCellAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveImageCellAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveImageCellAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveImageCellAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveImageCellAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveImageCellAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveImageCellAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveImageCellAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveImageCellAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveImageCellAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveImageCellAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveImageCellAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveImageCellAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveImageCellAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveImageCellAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveImageCellAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveImageCellAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveImageCellAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveImageCellAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveImageCellAccessibleMethod "getRowColumnSpan" o = Atk.TableCell.TableCellGetRowColumnSpanMethodInfo
+    ResolveImageCellAccessibleMethod "getRowHeaderCells" o = Atk.TableCell.TableCellGetRowHeaderCellsMethodInfo
+    ResolveImageCellAccessibleMethod "getRowSpan" o = Atk.TableCell.TableCellGetRowSpanMethodInfo
+    ResolveImageCellAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveImageCellAccessibleMethod "getTable" o = Atk.TableCell.TableCellGetTableMethodInfo
+    ResolveImageCellAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveImageCellAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveImageCellAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveImageCellAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveImageCellAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveImageCellAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveImageCellAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveImageCellAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveImageCellAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveImageCellAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveImageCellAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveImageCellAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveImageCellAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveImageCellAccessibleMethod t ImageCellAccessible, O.MethodInfo info ImageCellAccessible p) => OL.IsLabel t (ImageCellAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ImageCellAccessible
+type instance O.AttributeList ImageCellAccessible = ImageCellAccessibleAttributeList
+type ImageCellAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("renderer", Gtk.RendererCellAccessible.RendererCellAccessibleRendererPropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ImageCellAccessible = ImageCellAccessibleSignalList
+type ImageCellAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ImageCellAccessible.hs-boot b/GI/Gtk/Objects/ImageCellAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ImageCellAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ImageCellAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ImageCellAccessible = ImageCellAccessible (ManagedPtr ImageCellAccessible)
+instance GObject ImageCellAccessible where
+class (GObject o, O.IsDescendantOf ImageCellAccessible o) => IsImageCellAccessible o
+instance (GObject o, O.IsDescendantOf ImageCellAccessible o) => IsImageCellAccessible o
+instance O.HasParentTypes ImageCellAccessible
diff --git a/GI/Gtk/Objects/ImageMenuItem.hs b/GI/Gtk/Objects/ImageMenuItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ImageMenuItem.hs
@@ -0,0 +1,1318 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkImageMenuItem is a menu item which has an icon next to the text label.
+
+This is functionally equivalent to:
+
+
+=== /C code/
+>
+>  GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+>  GtkWidget *icon = gtk_image_new_from_icon_name ("folder-music-symbolic", GTK_ICON_SIZE_MENU);
+>  GtkWidget *label = gtk_label_new ("Music");
+>  GtkWidget *menu_item = gtk_menu_item_new ();
+>
+>  gtk_container_add (GTK_CONTAINER (box), icon);
+>  gtk_container_add (GTK_CONTAINER (box), label);
+>
+>  gtk_container_add (GTK_CONTAINER (menu_item), box);
+>
+>  gtk_widget_show_all (menu_item);
+
+
+Note that the user may disable display of menu icons using
+the 'GI.Gtk.Objects.Settings.Settings':@/gtk-menu-images/@ setting, so make sure to still
+fill in the text label. If you want to ensure that your menu items
+show an icon you are strongly encouraged to use a 'GI.Gtk.Objects.MenuItem.MenuItem'
+with a 'GI.Gtk.Objects.Image.Image' instead.
+
+'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' has been deprecated since GTK+ 3.10. If you want to
+display an icon in a menu item, you should use 'GI.Gtk.Objects.MenuItem.MenuItem' and pack a
+'GI.Gtk.Objects.Box.Box' with a 'GI.Gtk.Objects.Image.Image' and a 'GI.Gtk.Objects.Label.Label' instead. You should also consider
+using 'GI.Gtk.Objects.Builder.Builder' and the XML 'GI.Gio.Objects.Menu.Menu' description for creating menus, by
+following the [GMenu guide][https:\/\/developer.gnome.org\/GMenu\/]. You should
+consider using icons in menu items only sparingly, and for \"objects\" (or
+\"nouns\") elements only, like bookmarks, files, and links; \"actions\" (or
+\"verbs\") should not have icons.
+
+Furthermore, if you would like to display keyboard accelerator, you must
+pack the accel label into the box using 'GI.Gtk.Objects.Box.boxPackEnd' and align the
+label, otherwise the accelerator will not display correctly. The following
+code snippet adds a keyboard accelerator to the menu item, with a key
+binding of Ctrl+M:
+
+
+=== /C code/
+>
+>  GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+>  GtkWidget *icon = gtk_image_new_from_icon_name ("folder-music-symbolic", GTK_ICON_SIZE_MENU);
+>  GtkWidget *label = gtk_accel_label_new ("Music");
+>  GtkWidget *menu_item = gtk_menu_item_new ();
+>  GtkAccelGroup *accel_group = gtk_accel_group_new ();
+>
+>  gtk_container_add (GTK_CONTAINER (box), icon);
+>
+>  gtk_label_set_use_underline (GTK_LABEL (label), TRUE);
+>  gtk_label_set_xalign (GTK_LABEL (label), 0.0);
+>
+>  gtk_widget_add_accelerator (menu_item, "activate", accel_group,
+>                              GDK_KEY_m, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+>  gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (label), menu_item);
+>
+>  gtk_box_pack_end (GTK_BOX (box), label, TRUE, TRUE, 0);
+>
+>  gtk_container_add (GTK_CONTAINER (menu_item), box);
+>
+>  gtk_widget_show_all (menu_item);
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ImageMenuItem
+    ( 
+
+-- * Exported types
+    ImageMenuItem(..)                       ,
+    IsImageMenuItem                         ,
+    toImageMenuItem                         ,
+    noImageMenuItem                         ,
+
+
+ -- * Methods
+-- ** getAlwaysShowImage #method:getAlwaysShowImage#
+
+#if ENABLE_OVERLOADING
+    ImageMenuItemGetAlwaysShowImageMethodInfo,
+#endif
+    imageMenuItemGetAlwaysShowImage         ,
+
+
+-- ** getImage #method:getImage#
+
+#if ENABLE_OVERLOADING
+    ImageMenuItemGetImageMethodInfo         ,
+#endif
+    imageMenuItemGetImage                   ,
+
+
+-- ** getUseStock #method:getUseStock#
+
+#if ENABLE_OVERLOADING
+    ImageMenuItemGetUseStockMethodInfo      ,
+#endif
+    imageMenuItemGetUseStock                ,
+
+
+-- ** new #method:new#
+
+    imageMenuItemNew                        ,
+
+
+-- ** newFromStock #method:newFromStock#
+
+    imageMenuItemNewFromStock               ,
+
+
+-- ** newWithLabel #method:newWithLabel#
+
+    imageMenuItemNewWithLabel               ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    imageMenuItemNewWithMnemonic            ,
+
+
+-- ** setAccelGroup #method:setAccelGroup#
+
+#if ENABLE_OVERLOADING
+    ImageMenuItemSetAccelGroupMethodInfo    ,
+#endif
+    imageMenuItemSetAccelGroup              ,
+
+
+-- ** setAlwaysShowImage #method:setAlwaysShowImage#
+
+#if ENABLE_OVERLOADING
+    ImageMenuItemSetAlwaysShowImageMethodInfo,
+#endif
+    imageMenuItemSetAlwaysShowImage         ,
+
+
+-- ** setImage #method:setImage#
+
+#if ENABLE_OVERLOADING
+    ImageMenuItemSetImageMethodInfo         ,
+#endif
+    imageMenuItemSetImage                   ,
+
+
+-- ** setUseStock #method:setUseStock#
+
+#if ENABLE_OVERLOADING
+    ImageMenuItemSetUseStockMethodInfo      ,
+#endif
+    imageMenuItemSetUseStock                ,
+
+
+
+
+ -- * Properties
+-- ** accelGroup #attr:accelGroup#
+{- | The Accel Group to use for stock accelerator keys
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    ImageMenuItemAccelGroupPropertyInfo     ,
+#endif
+    constructImageMenuItemAccelGroup        ,
+#if ENABLE_OVERLOADING
+    imageMenuItemAccelGroup                 ,
+#endif
+    setImageMenuItemAccelGroup              ,
+
+
+-- ** alwaysShowImage #attr:alwaysShowImage#
+{- | If 'True', the menu item will always show the image, if available.
+
+Use this property only if the menuitem would be useless or hard to use
+without the image.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    ImageMenuItemAlwaysShowImagePropertyInfo,
+#endif
+    constructImageMenuItemAlwaysShowImage   ,
+    getImageMenuItemAlwaysShowImage         ,
+#if ENABLE_OVERLOADING
+    imageMenuItemAlwaysShowImage            ,
+#endif
+    setImageMenuItemAlwaysShowImage         ,
+
+
+-- ** image #attr:image#
+{- | Child widget to appear next to the menu text.
+-}
+#if ENABLE_OVERLOADING
+    ImageMenuItemImagePropertyInfo          ,
+#endif
+    clearImageMenuItemImage                 ,
+    constructImageMenuItemImage             ,
+    getImageMenuItemImage                   ,
+#if ENABLE_OVERLOADING
+    imageMenuItemImage                      ,
+#endif
+    setImageMenuItemImage                   ,
+
+
+-- ** useStock #attr:useStock#
+{- | If 'True', the label set in the menuitem is used as a
+stock id to select the stock item for the item.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    ImageMenuItemUseStockPropertyInfo       ,
+#endif
+    constructImageMenuItemUseStock          ,
+    getImageMenuItemUseStock                ,
+#if ENABLE_OVERLOADING
+    imageMenuItemUseStock                   ,
+#endif
+    setImageMenuItemUseStock                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuItem as Gtk.MenuItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ImageMenuItem = ImageMenuItem (ManagedPtr ImageMenuItem)
+foreign import ccall "gtk_image_menu_item_get_type"
+    c_gtk_image_menu_item_get_type :: IO GType
+
+instance GObject ImageMenuItem where
+    gobjectType = c_gtk_image_menu_item_get_type
+    
+
+-- | Type class for types which can be safely cast to `ImageMenuItem`, for instance with `toImageMenuItem`.
+class (GObject o, O.IsDescendantOf ImageMenuItem o) => IsImageMenuItem o
+instance (GObject o, O.IsDescendantOf ImageMenuItem o) => IsImageMenuItem o
+
+instance O.HasParentTypes ImageMenuItem
+type instance O.ParentTypes ImageMenuItem = '[Gtk.MenuItem.MenuItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `ImageMenuItem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toImageMenuItem :: (MonadIO m, IsImageMenuItem o) => o -> m ImageMenuItem
+toImageMenuItem = liftIO . unsafeCastTo ImageMenuItem
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ImageMenuItem`.
+noImageMenuItem :: Maybe ImageMenuItem
+noImageMenuItem = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveImageMenuItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveImageMenuItemMethod "activate" o = Gtk.MenuItem.MenuItemActivateMethodInfo
+    ResolveImageMenuItemMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveImageMenuItemMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveImageMenuItemMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveImageMenuItemMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveImageMenuItemMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveImageMenuItemMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveImageMenuItemMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveImageMenuItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveImageMenuItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveImageMenuItemMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveImageMenuItemMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveImageMenuItemMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveImageMenuItemMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveImageMenuItemMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveImageMenuItemMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveImageMenuItemMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveImageMenuItemMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveImageMenuItemMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveImageMenuItemMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveImageMenuItemMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveImageMenuItemMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveImageMenuItemMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveImageMenuItemMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveImageMenuItemMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveImageMenuItemMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveImageMenuItemMethod "deselect" o = Gtk.MenuItem.MenuItemDeselectMethodInfo
+    ResolveImageMenuItemMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveImageMenuItemMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveImageMenuItemMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveImageMenuItemMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveImageMenuItemMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveImageMenuItemMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveImageMenuItemMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveImageMenuItemMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveImageMenuItemMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveImageMenuItemMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveImageMenuItemMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveImageMenuItemMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveImageMenuItemMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveImageMenuItemMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveImageMenuItemMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveImageMenuItemMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveImageMenuItemMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveImageMenuItemMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveImageMenuItemMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveImageMenuItemMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveImageMenuItemMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveImageMenuItemMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveImageMenuItemMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveImageMenuItemMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveImageMenuItemMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveImageMenuItemMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveImageMenuItemMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveImageMenuItemMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveImageMenuItemMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveImageMenuItemMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveImageMenuItemMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveImageMenuItemMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveImageMenuItemMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveImageMenuItemMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveImageMenuItemMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveImageMenuItemMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveImageMenuItemMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveImageMenuItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveImageMenuItemMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveImageMenuItemMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveImageMenuItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveImageMenuItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveImageMenuItemMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveImageMenuItemMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveImageMenuItemMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveImageMenuItemMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveImageMenuItemMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveImageMenuItemMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveImageMenuItemMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveImageMenuItemMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveImageMenuItemMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveImageMenuItemMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveImageMenuItemMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveImageMenuItemMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveImageMenuItemMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveImageMenuItemMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveImageMenuItemMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveImageMenuItemMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveImageMenuItemMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveImageMenuItemMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveImageMenuItemMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveImageMenuItemMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveImageMenuItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveImageMenuItemMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveImageMenuItemMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveImageMenuItemMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveImageMenuItemMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveImageMenuItemMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveImageMenuItemMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveImageMenuItemMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveImageMenuItemMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveImageMenuItemMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveImageMenuItemMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveImageMenuItemMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveImageMenuItemMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveImageMenuItemMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveImageMenuItemMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveImageMenuItemMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveImageMenuItemMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveImageMenuItemMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveImageMenuItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveImageMenuItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveImageMenuItemMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveImageMenuItemMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveImageMenuItemMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveImageMenuItemMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveImageMenuItemMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveImageMenuItemMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveImageMenuItemMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveImageMenuItemMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveImageMenuItemMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveImageMenuItemMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveImageMenuItemMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveImageMenuItemMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveImageMenuItemMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveImageMenuItemMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveImageMenuItemMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveImageMenuItemMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveImageMenuItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveImageMenuItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveImageMenuItemMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveImageMenuItemMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveImageMenuItemMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveImageMenuItemMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveImageMenuItemMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveImageMenuItemMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveImageMenuItemMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveImageMenuItemMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveImageMenuItemMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveImageMenuItemMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveImageMenuItemMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveImageMenuItemMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveImageMenuItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveImageMenuItemMethod "select" o = Gtk.MenuItem.MenuItemSelectMethodInfo
+    ResolveImageMenuItemMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveImageMenuItemMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveImageMenuItemMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveImageMenuItemMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveImageMenuItemMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveImageMenuItemMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveImageMenuItemMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveImageMenuItemMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveImageMenuItemMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveImageMenuItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveImageMenuItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveImageMenuItemMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveImageMenuItemMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveImageMenuItemMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveImageMenuItemMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveImageMenuItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveImageMenuItemMethod "toggleSizeAllocate" o = Gtk.MenuItem.MenuItemToggleSizeAllocateMethodInfo
+    ResolveImageMenuItemMethod "toggleSizeRequest" o = Gtk.MenuItem.MenuItemToggleSizeRequestMethodInfo
+    ResolveImageMenuItemMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveImageMenuItemMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveImageMenuItemMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveImageMenuItemMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveImageMenuItemMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveImageMenuItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveImageMenuItemMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveImageMenuItemMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveImageMenuItemMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveImageMenuItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveImageMenuItemMethod "getAccelPath" o = Gtk.MenuItem.MenuItemGetAccelPathMethodInfo
+    ResolveImageMenuItemMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveImageMenuItemMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveImageMenuItemMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveImageMenuItemMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveImageMenuItemMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveImageMenuItemMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveImageMenuItemMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveImageMenuItemMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveImageMenuItemMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveImageMenuItemMethod "getAlwaysShowImage" o = ImageMenuItemGetAlwaysShowImageMethodInfo
+    ResolveImageMenuItemMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveImageMenuItemMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveImageMenuItemMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveImageMenuItemMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveImageMenuItemMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveImageMenuItemMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveImageMenuItemMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveImageMenuItemMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveImageMenuItemMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveImageMenuItemMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveImageMenuItemMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveImageMenuItemMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveImageMenuItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveImageMenuItemMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveImageMenuItemMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveImageMenuItemMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveImageMenuItemMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveImageMenuItemMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveImageMenuItemMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveImageMenuItemMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveImageMenuItemMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveImageMenuItemMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveImageMenuItemMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveImageMenuItemMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveImageMenuItemMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveImageMenuItemMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveImageMenuItemMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveImageMenuItemMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveImageMenuItemMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveImageMenuItemMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveImageMenuItemMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveImageMenuItemMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveImageMenuItemMethod "getImage" o = ImageMenuItemGetImageMethodInfo
+    ResolveImageMenuItemMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveImageMenuItemMethod "getLabel" o = Gtk.MenuItem.MenuItemGetLabelMethodInfo
+    ResolveImageMenuItemMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveImageMenuItemMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveImageMenuItemMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveImageMenuItemMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveImageMenuItemMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveImageMenuItemMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveImageMenuItemMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveImageMenuItemMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveImageMenuItemMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveImageMenuItemMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveImageMenuItemMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveImageMenuItemMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveImageMenuItemMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveImageMenuItemMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveImageMenuItemMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveImageMenuItemMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveImageMenuItemMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveImageMenuItemMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveImageMenuItemMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveImageMenuItemMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveImageMenuItemMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveImageMenuItemMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveImageMenuItemMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveImageMenuItemMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveImageMenuItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveImageMenuItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveImageMenuItemMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveImageMenuItemMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveImageMenuItemMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveImageMenuItemMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveImageMenuItemMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveImageMenuItemMethod "getReserveIndicator" o = Gtk.MenuItem.MenuItemGetReserveIndicatorMethodInfo
+    ResolveImageMenuItemMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveImageMenuItemMethod "getRightJustified" o = Gtk.MenuItem.MenuItemGetRightJustifiedMethodInfo
+    ResolveImageMenuItemMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveImageMenuItemMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveImageMenuItemMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveImageMenuItemMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveImageMenuItemMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveImageMenuItemMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveImageMenuItemMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveImageMenuItemMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveImageMenuItemMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveImageMenuItemMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveImageMenuItemMethod "getSubmenu" o = Gtk.MenuItem.MenuItemGetSubmenuMethodInfo
+    ResolveImageMenuItemMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveImageMenuItemMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveImageMenuItemMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveImageMenuItemMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveImageMenuItemMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveImageMenuItemMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveImageMenuItemMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveImageMenuItemMethod "getUseStock" o = ImageMenuItemGetUseStockMethodInfo
+    ResolveImageMenuItemMethod "getUseUnderline" o = Gtk.MenuItem.MenuItemGetUseUnderlineMethodInfo
+    ResolveImageMenuItemMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveImageMenuItemMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveImageMenuItemMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveImageMenuItemMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveImageMenuItemMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveImageMenuItemMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveImageMenuItemMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveImageMenuItemMethod "setAccelGroup" o = ImageMenuItemSetAccelGroupMethodInfo
+    ResolveImageMenuItemMethod "setAccelPath" o = Gtk.MenuItem.MenuItemSetAccelPathMethodInfo
+    ResolveImageMenuItemMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveImageMenuItemMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveImageMenuItemMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveImageMenuItemMethod "setAlwaysShowImage" o = ImageMenuItemSetAlwaysShowImageMethodInfo
+    ResolveImageMenuItemMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveImageMenuItemMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveImageMenuItemMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveImageMenuItemMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveImageMenuItemMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveImageMenuItemMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveImageMenuItemMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveImageMenuItemMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveImageMenuItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveImageMenuItemMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveImageMenuItemMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveImageMenuItemMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveImageMenuItemMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveImageMenuItemMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveImageMenuItemMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveImageMenuItemMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveImageMenuItemMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveImageMenuItemMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveImageMenuItemMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveImageMenuItemMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveImageMenuItemMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveImageMenuItemMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveImageMenuItemMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveImageMenuItemMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveImageMenuItemMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveImageMenuItemMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveImageMenuItemMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveImageMenuItemMethod "setImage" o = ImageMenuItemSetImageMethodInfo
+    ResolveImageMenuItemMethod "setLabel" o = Gtk.MenuItem.MenuItemSetLabelMethodInfo
+    ResolveImageMenuItemMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveImageMenuItemMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveImageMenuItemMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveImageMenuItemMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveImageMenuItemMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveImageMenuItemMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveImageMenuItemMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveImageMenuItemMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveImageMenuItemMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveImageMenuItemMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveImageMenuItemMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveImageMenuItemMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveImageMenuItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveImageMenuItemMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveImageMenuItemMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveImageMenuItemMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveImageMenuItemMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveImageMenuItemMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveImageMenuItemMethod "setReserveIndicator" o = Gtk.MenuItem.MenuItemSetReserveIndicatorMethodInfo
+    ResolveImageMenuItemMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveImageMenuItemMethod "setRightJustified" o = Gtk.MenuItem.MenuItemSetRightJustifiedMethodInfo
+    ResolveImageMenuItemMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveImageMenuItemMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveImageMenuItemMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveImageMenuItemMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveImageMenuItemMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveImageMenuItemMethod "setSubmenu" o = Gtk.MenuItem.MenuItemSetSubmenuMethodInfo
+    ResolveImageMenuItemMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveImageMenuItemMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveImageMenuItemMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveImageMenuItemMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveImageMenuItemMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveImageMenuItemMethod "setUseStock" o = ImageMenuItemSetUseStockMethodInfo
+    ResolveImageMenuItemMethod "setUseUnderline" o = Gtk.MenuItem.MenuItemSetUseUnderlineMethodInfo
+    ResolveImageMenuItemMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveImageMenuItemMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveImageMenuItemMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveImageMenuItemMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveImageMenuItemMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveImageMenuItemMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveImageMenuItemMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveImageMenuItemMethod t ImageMenuItem, O.MethodInfo info ImageMenuItem p) => OL.IsLabel t (ImageMenuItem -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "accel-group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Set the value of the “@accel-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' imageMenuItem [ #accelGroup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageMenuItemAccelGroup :: (MonadIO m, IsImageMenuItem o, Gtk.AccelGroup.IsAccelGroup a) => o -> a -> m ()
+setImageMenuItemAccelGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accel-group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageMenuItemAccelGroup :: (IsImageMenuItem o, Gtk.AccelGroup.IsAccelGroup a) => a -> IO (GValueConstruct o)
+constructImageMenuItemAccelGroup val = B.Properties.constructObjectPropertyObject "accel-group" (Just val)
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemAccelGroupPropertyInfo
+instance AttrInfo ImageMenuItemAccelGroupPropertyInfo where
+    type AttrAllowedOps ImageMenuItemAccelGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct]
+    type AttrSetTypeConstraint ImageMenuItemAccelGroupPropertyInfo = Gtk.AccelGroup.IsAccelGroup
+    type AttrBaseTypeConstraint ImageMenuItemAccelGroupPropertyInfo = IsImageMenuItem
+    type AttrGetType ImageMenuItemAccelGroupPropertyInfo = ()
+    type AttrLabel ImageMenuItemAccelGroupPropertyInfo = "accel-group"
+    type AttrOrigin ImageMenuItemAccelGroupPropertyInfo = ImageMenuItem
+    attrGet _ = undefined
+    attrSet _ = setImageMenuItemAccelGroup
+    attrConstruct _ = constructImageMenuItemAccelGroup
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "always-show-image"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@always-show-image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' imageMenuItem #alwaysShowImage
+@
+-}
+getImageMenuItemAlwaysShowImage :: (MonadIO m, IsImageMenuItem o) => o -> m Bool
+getImageMenuItemAlwaysShowImage obj = liftIO $ B.Properties.getObjectPropertyBool obj "always-show-image"
+
+{- |
+Set the value of the “@always-show-image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' imageMenuItem [ #alwaysShowImage 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageMenuItemAlwaysShowImage :: (MonadIO m, IsImageMenuItem o) => o -> Bool -> m ()
+setImageMenuItemAlwaysShowImage obj val = liftIO $ B.Properties.setObjectPropertyBool obj "always-show-image" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@always-show-image@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageMenuItemAlwaysShowImage :: (IsImageMenuItem o) => Bool -> IO (GValueConstruct o)
+constructImageMenuItemAlwaysShowImage val = B.Properties.constructObjectPropertyBool "always-show-image" val
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemAlwaysShowImagePropertyInfo
+instance AttrInfo ImageMenuItemAlwaysShowImagePropertyInfo where
+    type AttrAllowedOps ImageMenuItemAlwaysShowImagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ImageMenuItemAlwaysShowImagePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ImageMenuItemAlwaysShowImagePropertyInfo = IsImageMenuItem
+    type AttrGetType ImageMenuItemAlwaysShowImagePropertyInfo = Bool
+    type AttrLabel ImageMenuItemAlwaysShowImagePropertyInfo = "always-show-image"
+    type AttrOrigin ImageMenuItemAlwaysShowImagePropertyInfo = ImageMenuItem
+    attrGet _ = getImageMenuItemAlwaysShowImage
+    attrSet _ = setImageMenuItemAlwaysShowImage
+    attrConstruct _ = constructImageMenuItemAlwaysShowImage
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "image"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' imageMenuItem #image
+@
+-}
+getImageMenuItemImage :: (MonadIO m, IsImageMenuItem o) => o -> m Gtk.Widget.Widget
+getImageMenuItemImage obj = liftIO $ checkUnexpectedNothing "getImageMenuItemImage" $ B.Properties.getObjectPropertyObject obj "image" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' imageMenuItem [ #image 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageMenuItemImage :: (MonadIO m, IsImageMenuItem o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setImageMenuItemImage obj val = liftIO $ B.Properties.setObjectPropertyObject obj "image" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@image@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageMenuItemImage :: (IsImageMenuItem o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructImageMenuItemImage val = B.Properties.constructObjectPropertyObject "image" (Just val)
+
+{- |
+Set the value of the “@image@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #image
+@
+-}
+clearImageMenuItemImage :: (MonadIO m, IsImageMenuItem o) => o -> m ()
+clearImageMenuItemImage obj = liftIO $ B.Properties.setObjectPropertyObject obj "image" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemImagePropertyInfo
+instance AttrInfo ImageMenuItemImagePropertyInfo where
+    type AttrAllowedOps ImageMenuItemImagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ImageMenuItemImagePropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint ImageMenuItemImagePropertyInfo = IsImageMenuItem
+    type AttrGetType ImageMenuItemImagePropertyInfo = Gtk.Widget.Widget
+    type AttrLabel ImageMenuItemImagePropertyInfo = "image"
+    type AttrOrigin ImageMenuItemImagePropertyInfo = ImageMenuItem
+    attrGet _ = getImageMenuItemImage
+    attrSet _ = setImageMenuItemImage
+    attrConstruct _ = constructImageMenuItemImage
+    attrClear _ = clearImageMenuItemImage
+#endif
+
+-- VVV Prop "use-stock"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' imageMenuItem #useStock
+@
+-}
+getImageMenuItemUseStock :: (MonadIO m, IsImageMenuItem o) => o -> m Bool
+getImageMenuItemUseStock obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-stock"
+
+{- |
+Set the value of the “@use-stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' imageMenuItem [ #useStock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setImageMenuItemUseStock :: (MonadIO m, IsImageMenuItem o) => o -> Bool -> m ()
+setImageMenuItemUseStock obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-stock" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-stock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructImageMenuItemUseStock :: (IsImageMenuItem o) => Bool -> IO (GValueConstruct o)
+constructImageMenuItemUseStock val = B.Properties.constructObjectPropertyBool "use-stock" val
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemUseStockPropertyInfo
+instance AttrInfo ImageMenuItemUseStockPropertyInfo where
+    type AttrAllowedOps ImageMenuItemUseStockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ImageMenuItemUseStockPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ImageMenuItemUseStockPropertyInfo = IsImageMenuItem
+    type AttrGetType ImageMenuItemUseStockPropertyInfo = Bool
+    type AttrLabel ImageMenuItemUseStockPropertyInfo = "use-stock"
+    type AttrOrigin ImageMenuItemUseStockPropertyInfo = ImageMenuItem
+    attrGet _ = getImageMenuItemUseStock
+    attrSet _ = setImageMenuItemUseStock
+    attrConstruct _ = constructImageMenuItemUseStock
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ImageMenuItem
+type instance O.AttributeList ImageMenuItem = ImageMenuItemAttributeList
+type ImageMenuItemAttributeList = ('[ '("accelGroup", ImageMenuItemAccelGroupPropertyInfo), '("accelPath", Gtk.MenuItem.MenuItemAccelPathPropertyInfo), '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("alwaysShowImage", ImageMenuItemAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", ImageMenuItemImagePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.MenuItem.MenuItemLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rightJustified", Gtk.MenuItem.MenuItemRightJustifiedPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("submenu", Gtk.MenuItem.MenuItemSubmenuPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useStock", ImageMenuItemUseStockPropertyInfo), '("useUnderline", Gtk.MenuItem.MenuItemUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+imageMenuItemAccelGroup :: AttrLabelProxy "accelGroup"
+imageMenuItemAccelGroup = AttrLabelProxy
+
+imageMenuItemAlwaysShowImage :: AttrLabelProxy "alwaysShowImage"
+imageMenuItemAlwaysShowImage = AttrLabelProxy
+
+imageMenuItemImage :: AttrLabelProxy "image"
+imageMenuItemImage = AttrLabelProxy
+
+imageMenuItemUseStock :: AttrLabelProxy "useStock"
+imageMenuItemUseStock = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ImageMenuItem = ImageMenuItemSignalList
+type ImageMenuItemSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.MenuItem.MenuItemActivateSignalInfo), '("activateItem", Gtk.MenuItem.MenuItemActivateItemSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deselect", Gtk.MenuItem.MenuItemDeselectSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("select", Gtk.MenuItem.MenuItemSelectSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleSizeAllocate", Gtk.MenuItem.MenuItemToggleSizeAllocateSignalInfo), '("toggleSizeRequest", Gtk.MenuItem.MenuItemToggleSizeRequestSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ImageMenuItem::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_new" gtk_image_menu_item_new :: 
+    IO (Ptr ImageMenuItem)
+
+{-# DEPRECATED imageMenuItemNew ["(Since version 3.10)","Use 'GI.Gtk.Objects.MenuItem.menuItemNew' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' with an empty label.
+-}
+imageMenuItemNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ImageMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' -}
+imageMenuItemNew  = liftIO $ do
+    result <- gtk_image_menu_item_new
+    checkUnexpectedReturnNULL "imageMenuItemNew" result
+    result' <- (newObject ImageMenuItem) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ImageMenuItem::new_from_stock
+-- method type : Constructor
+-- Args : [Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the stock item.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkAccelGroup to add the menu items\n  accelerator to, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_new_from_stock" gtk_image_menu_item_new_from_stock :: 
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO (Ptr ImageMenuItem)
+
+{-# DEPRECATED imageMenuItemNewFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.MenuItem.menuItemNewWithMnemonic' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' containing the image and text from a
+stock item. Some stock ids have preprocessor macros like 'GI.Gtk.Constants.STOCK_OK'
+and 'GI.Gtk.Constants.STOCK_APPLY'.
+
+If you want this menu item to have changeable accelerators, then pass in
+'Nothing' for accel_group. Next call 'GI.Gtk.Objects.MenuItem.menuItemSetAccelPath' with an
+appropriate path for the menu item, use 'GI.Gtk.Functions.stockLookup' to look up the
+standard accelerator for the stock item, and if one is found, call
+'GI.Gtk.Objects.AccelMap.accelMapAddEntry' to register it.
+-}
+imageMenuItemNewFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.AccelGroup.IsAccelGroup a) =>
+    T.Text
+    {- ^ /@stockId@/: the name of the stock item. -}
+    -> Maybe (a)
+    {- ^ /@accelGroup@/: the 'GI.Gtk.Objects.AccelGroup.AccelGroup' to add the menu items
+  accelerator to, or 'Nothing'. -}
+    -> m ImageMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem'. -}
+imageMenuItemNewFromStock stockId accelGroup = liftIO $ do
+    stockId' <- textToCString stockId
+    maybeAccelGroup <- case accelGroup of
+        Nothing -> return nullPtr
+        Just jAccelGroup -> do
+            jAccelGroup' <- unsafeManagedPtrCastPtr jAccelGroup
+            return jAccelGroup'
+    result <- gtk_image_menu_item_new_from_stock stockId' maybeAccelGroup
+    checkUnexpectedReturnNULL "imageMenuItemNewFromStock" result
+    result' <- (newObject ImageMenuItem) result
+    whenJust accelGroup touchManagedPtr
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ImageMenuItem::new_with_label
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text of the menu item.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_new_with_label" gtk_image_menu_item_new_with_label :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr ImageMenuItem)
+
+{-# DEPRECATED imageMenuItemNewWithLabel ["(Since version 3.10)","Use 'GI.Gtk.Objects.MenuItem.menuItemNewWithLabel' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' containing a label.
+-}
+imageMenuItemNewWithLabel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: the text of the menu item. -}
+    -> m ImageMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem'. -}
+imageMenuItemNewWithLabel label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_image_menu_item_new_with_label label'
+    checkUnexpectedReturnNULL "imageMenuItemNewWithLabel" result
+    result' <- (newObject ImageMenuItem) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ImageMenuItem::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text of the menu item, with an underscore in front of the\n        mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_new_with_mnemonic" gtk_image_menu_item_new_with_mnemonic :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr ImageMenuItem)
+
+{-# DEPRECATED imageMenuItemNewWithMnemonic ["(Since version 3.10)","Use 'GI.Gtk.Objects.MenuItem.menuItemNewWithMnemonic' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' containing a label. The label
+will be created using 'GI.Gtk.Objects.Label.labelNewWithMnemonic', so underscores
+in /@label@/ indicate the mnemonic for the menu item.
+-}
+imageMenuItemNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: the text of the menu item, with an underscore in front of the
+        mnemonic character -}
+    -> m ImageMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' -}
+imageMenuItemNewWithMnemonic label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_image_menu_item_new_with_mnemonic label'
+    checkUnexpectedReturnNULL "imageMenuItemNewWithMnemonic" result
+    result' <- (newObject ImageMenuItem) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ImageMenuItem::get_always_show_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImageMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_get_always_show_image" gtk_image_menu_item_get_always_show_image :: 
+    Ptr ImageMenuItem ->                    -- image_menu_item : TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"})
+    IO CInt
+
+{-# DEPRECATED imageMenuItemGetAlwaysShowImage ["(Since version 3.10)"] #-}
+{- |
+Returns whether the menu item will ignore the 'GI.Gtk.Objects.Settings.Settings':@/gtk-menu-images/@
+setting and always show the image, if available.
+
+/Since: 2.16/
+-}
+imageMenuItemGetAlwaysShowImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImageMenuItem a) =>
+    a
+    {- ^ /@imageMenuItem@/: a 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the menu item will always show the image -}
+imageMenuItemGetAlwaysShowImage imageMenuItem = liftIO $ do
+    imageMenuItem' <- unsafeManagedPtrCastPtr imageMenuItem
+    result <- gtk_image_menu_item_get_always_show_image imageMenuItem'
+    let result' = (/= 0) result
+    touchManagedPtr imageMenuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemGetAlwaysShowImageMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsImageMenuItem a) => O.MethodInfo ImageMenuItemGetAlwaysShowImageMethodInfo a signature where
+    overloadedMethod _ = imageMenuItemGetAlwaysShowImage
+
+#endif
+
+-- method ImageMenuItem::get_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImageMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_get_image" gtk_image_menu_item_get_image :: 
+    Ptr ImageMenuItem ->                    -- image_menu_item : TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED imageMenuItemGetImage ["(Since version 3.10)"] #-}
+{- |
+Gets the widget that is currently set as the image of /@imageMenuItem@/.
+See 'GI.Gtk.Objects.ImageMenuItem.imageMenuItemSetImage'.
+-}
+imageMenuItemGetImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImageMenuItem a) =>
+    a
+    {- ^ /@imageMenuItem@/: a 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the widget set as image of /@imageMenuItem@/ -}
+imageMenuItemGetImage imageMenuItem = liftIO $ do
+    imageMenuItem' <- unsafeManagedPtrCastPtr imageMenuItem
+    result <- gtk_image_menu_item_get_image imageMenuItem'
+    checkUnexpectedReturnNULL "imageMenuItemGetImage" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr imageMenuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemGetImageMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsImageMenuItem a) => O.MethodInfo ImageMenuItemGetImageMethodInfo a signature where
+    overloadedMethod _ = imageMenuItemGetImage
+
+#endif
+
+-- method ImageMenuItem::get_use_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImageMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_get_use_stock" gtk_image_menu_item_get_use_stock :: 
+    Ptr ImageMenuItem ->                    -- image_menu_item : TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"})
+    IO CInt
+
+{-# DEPRECATED imageMenuItemGetUseStock ["(Since version 3.10)"] #-}
+{- |
+Checks whether the label set in the menuitem is used as a
+stock id to select the stock item for the item.
+
+/Since: 2.16/
+-}
+imageMenuItemGetUseStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImageMenuItem a) =>
+    a
+    {- ^ /@imageMenuItem@/: a 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the label set in the menuitem is used as a
+    stock id to select the stock item for the item -}
+imageMenuItemGetUseStock imageMenuItem = liftIO $ do
+    imageMenuItem' <- unsafeManagedPtrCastPtr imageMenuItem
+    result <- gtk_image_menu_item_get_use_stock imageMenuItem'
+    let result' = (/= 0) result
+    touchManagedPtr imageMenuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemGetUseStockMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsImageMenuItem a) => O.MethodInfo ImageMenuItemGetUseStockMethodInfo a signature where
+    overloadedMethod _ = imageMenuItemGetUseStock
+
+#endif
+
+-- method ImageMenuItem::set_accel_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImageMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkAccelGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_set_accel_group" gtk_image_menu_item_set_accel_group :: 
+    Ptr ImageMenuItem ->                    -- image_menu_item : TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"})
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO ()
+
+{-# DEPRECATED imageMenuItemSetAccelGroup ["(Since version 3.10)"] #-}
+{- |
+Specifies an /@accelGroup@/ to add the menu items accelerator to
+(this only applies to stock items so a stock item must already
+be set, make sure to call 'GI.Gtk.Objects.ImageMenuItem.imageMenuItemSetUseStock'
+and 'GI.Gtk.Objects.MenuItem.menuItemSetLabel' with a valid stock item first).
+
+If you want this menu item to have changeable accelerators then
+you shouldnt need this (see 'GI.Gtk.Objects.ImageMenuItem.imageMenuItemNewFromStock').
+
+/Since: 2.16/
+-}
+imageMenuItemSetAccelGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImageMenuItem a, Gtk.AccelGroup.IsAccelGroup b) =>
+    a
+    {- ^ /@imageMenuItem@/: a 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' -}
+    -> b
+    {- ^ /@accelGroup@/: the 'GI.Gtk.Objects.AccelGroup.AccelGroup' -}
+    -> m ()
+imageMenuItemSetAccelGroup imageMenuItem accelGroup = liftIO $ do
+    imageMenuItem' <- unsafeManagedPtrCastPtr imageMenuItem
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    gtk_image_menu_item_set_accel_group imageMenuItem' accelGroup'
+    touchManagedPtr imageMenuItem
+    touchManagedPtr accelGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemSetAccelGroupMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsImageMenuItem a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo ImageMenuItemSetAccelGroupMethodInfo a signature where
+    overloadedMethod _ = imageMenuItemSetAccelGroup
+
+#endif
+
+-- method ImageMenuItem::set_always_show_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImageMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "always_show", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the menuitem should always show the image", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_set_always_show_image" gtk_image_menu_item_set_always_show_image :: 
+    Ptr ImageMenuItem ->                    -- image_menu_item : TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"})
+    CInt ->                                 -- always_show : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED imageMenuItemSetAlwaysShowImage ["(Since version 3.10)"] #-}
+{- |
+If 'True', the menu item will ignore the 'GI.Gtk.Objects.Settings.Settings':@/gtk-menu-images/@
+setting and always show the image, if available.
+
+Use this property if the menuitem would be useless or hard to use
+without the image.
+
+/Since: 2.16/
+-}
+imageMenuItemSetAlwaysShowImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImageMenuItem a) =>
+    a
+    {- ^ /@imageMenuItem@/: a 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' -}
+    -> Bool
+    {- ^ /@alwaysShow@/: 'True' if the menuitem should always show the image -}
+    -> m ()
+imageMenuItemSetAlwaysShowImage imageMenuItem alwaysShow = liftIO $ do
+    imageMenuItem' <- unsafeManagedPtrCastPtr imageMenuItem
+    let alwaysShow' = (fromIntegral . fromEnum) alwaysShow
+    gtk_image_menu_item_set_always_show_image imageMenuItem' alwaysShow'
+    touchManagedPtr imageMenuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemSetAlwaysShowImageMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsImageMenuItem a) => O.MethodInfo ImageMenuItemSetAlwaysShowImageMethodInfo a signature where
+    overloadedMethod _ = imageMenuItemSetAlwaysShowImage
+
+#endif
+
+-- method ImageMenuItem::set_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImageMenuItem.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a widget to set as the image for the menu item.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_set_image" gtk_image_menu_item_set_image :: 
+    Ptr ImageMenuItem ->                    -- image_menu_item : TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"})
+    Ptr Gtk.Widget.Widget ->                -- image : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{-# DEPRECATED imageMenuItemSetImage ["(Since version 3.10)"] #-}
+{- |
+Sets the image of /@imageMenuItem@/ to the given widget.
+Note that it depends on the show-menu-images setting whether
+the image will be displayed or not.
+-}
+imageMenuItemSetImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImageMenuItem a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@imageMenuItem@/: a 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem'. -}
+    -> Maybe (b)
+    {- ^ /@image@/: a widget to set as the image for the menu item. -}
+    -> m ()
+imageMenuItemSetImage imageMenuItem image = liftIO $ do
+    imageMenuItem' <- unsafeManagedPtrCastPtr imageMenuItem
+    maybeImage <- case image of
+        Nothing -> return nullPtr
+        Just jImage -> do
+            jImage' <- unsafeManagedPtrCastPtr jImage
+            return jImage'
+    gtk_image_menu_item_set_image imageMenuItem' maybeImage
+    touchManagedPtr imageMenuItem
+    whenJust image touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemSetImageMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsImageMenuItem a, Gtk.Widget.IsWidget b) => O.MethodInfo ImageMenuItemSetImageMethodInfo a signature where
+    overloadedMethod _ = imageMenuItemSetImage
+
+#endif
+
+-- method ImageMenuItem::set_use_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "image_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkImageMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_stock", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the menuitem should use a stock item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_image_menu_item_set_use_stock" gtk_image_menu_item_set_use_stock :: 
+    Ptr ImageMenuItem ->                    -- image_menu_item : TInterface (Name {namespace = "Gtk", name = "ImageMenuItem"})
+    CInt ->                                 -- use_stock : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED imageMenuItemSetUseStock ["(Since version 3.10)"] #-}
+{- |
+If 'True', the label set in the menuitem is used as a
+stock id to select the stock item for the item.
+
+/Since: 2.16/
+-}
+imageMenuItemSetUseStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsImageMenuItem a) =>
+    a
+    {- ^ /@imageMenuItem@/: a 'GI.Gtk.Objects.ImageMenuItem.ImageMenuItem' -}
+    -> Bool
+    {- ^ /@useStock@/: 'True' if the menuitem should use a stock item -}
+    -> m ()
+imageMenuItemSetUseStock imageMenuItem useStock = liftIO $ do
+    imageMenuItem' <- unsafeManagedPtrCastPtr imageMenuItem
+    let useStock' = (fromIntegral . fromEnum) useStock
+    gtk_image_menu_item_set_use_stock imageMenuItem' useStock'
+    touchManagedPtr imageMenuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ImageMenuItemSetUseStockMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsImageMenuItem a) => O.MethodInfo ImageMenuItemSetUseStockMethodInfo a signature where
+    overloadedMethod _ = imageMenuItemSetUseStock
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ImageMenuItem.hs-boot b/GI/Gtk/Objects/ImageMenuItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ImageMenuItem.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ImageMenuItem where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ImageMenuItem = ImageMenuItem (ManagedPtr ImageMenuItem)
+instance GObject ImageMenuItem where
+class (GObject o, O.IsDescendantOf ImageMenuItem o) => IsImageMenuItem o
+instance (GObject o, O.IsDescendantOf ImageMenuItem o) => IsImageMenuItem o
+instance O.HasParentTypes ImageMenuItem
+#if ENABLE_OVERLOADING
+data ImageMenuItemAccelGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemAlwaysShowImagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemImagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemUseStockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemGetAlwaysShowImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemGetImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemGetUseStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemSetAccelGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemSetAlwaysShowImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemSetImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ImageMenuItemSetUseStockMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/InfoBar.hs b/GI/Gtk/Objects/InfoBar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/InfoBar.hs
@@ -0,0 +1,1595 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.InfoBar.InfoBar' is a widget that can be used to show messages to
+the user without showing a dialog. It is often temporarily shown
+at the top or bottom of a document. In contrast to 'GI.Gtk.Objects.Dialog.Dialog', which
+has a action area at the bottom, 'GI.Gtk.Objects.InfoBar.InfoBar' has an action area
+at the side.
+
+The API of 'GI.Gtk.Objects.InfoBar.InfoBar' is very similar to 'GI.Gtk.Objects.Dialog.Dialog', allowing you
+to add buttons to the action area with 'GI.Gtk.Objects.InfoBar.infoBarAddButton' or
+@/gtk_info_bar_new_with_buttons()/@. The sensitivity of action widgets
+can be controlled with 'GI.Gtk.Objects.InfoBar.infoBarSetResponseSensitive'.
+To add widgets to the main content area of a 'GI.Gtk.Objects.InfoBar.InfoBar', use
+'GI.Gtk.Objects.InfoBar.infoBarGetContentArea' and add your widgets to the container.
+
+Similar to 'GI.Gtk.Objects.MessageDialog.MessageDialog', the contents of a 'GI.Gtk.Objects.InfoBar.InfoBar' can by
+classified as error message, warning, informational message, etc,
+by using 'GI.Gtk.Objects.InfoBar.infoBarSetMessageType'. GTK+ may use the message type
+to determine how the message is displayed.
+
+A simple example for using a 'GI.Gtk.Objects.InfoBar.InfoBar':
+
+=== /C code/
+>
+>GtkWidget *widget, *message_label, *content_area;
+>GtkWidget *grid;
+>GtkInfoBar *bar;
+>
+>// set up info bar
+>widget = gtk_info_bar_new ();
+>bar = GTK_INFO_BAR (widget);
+>grid = gtk_grid_new ();
+>
+>gtk_widget_set_no_show_all (widget, TRUE);
+>message_label = gtk_label_new ("");
+>content_area = gtk_info_bar_get_content_area (bar);
+>gtk_container_add (GTK_CONTAINER (content_area),
+>                   message_label);
+>gtk_info_bar_add_button (bar,
+>                         _("_OK"),
+>                         GTK_RESPONSE_OK);
+>g_signal_connect (bar,
+>                  "response",
+>                  G_CALLBACK (gtk_widget_hide),
+>                  NULL);
+>gtk_grid_attach (GTK_GRID (grid),
+>                 widget,
+>                 0, 2, 1, 1);
+>
+>// ...
+>
+>// show an error message
+>gtk_label_set_text (GTK_LABEL (message_label), "An error occurred!");
+>gtk_info_bar_set_message_type (bar,
+>                               GTK_MESSAGE_ERROR);
+>gtk_widget_show (bar);
+
+
+= GtkInfoBar as GtkBuildable
+
+The GtkInfoBar implementation of the GtkBuildable interface exposes
+the content area and action area as internal children with the names
+“content_area” and “action_area”.
+
+GtkInfoBar supports a custom \<action-widgets> element, which can contain
+multiple \<action-widget> elements. The “response” attribute specifies a
+numeric response, and the content of the element is the id of widget
+(which should be a child of the dialogs /@actionArea@/).
+
+= CSS nodes
+
+GtkInfoBar has a single CSS node with name infobar. The node may get
+one of the style classes .info, .warning, .error or .question, depending
+on the message type.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.InfoBar
+    ( 
+
+-- * Exported types
+    InfoBar(..)                             ,
+    IsInfoBar                               ,
+    toInfoBar                               ,
+    noInfoBar                               ,
+
+
+ -- * Methods
+-- ** addActionWidget #method:addActionWidget#
+
+#if ENABLE_OVERLOADING
+    InfoBarAddActionWidgetMethodInfo        ,
+#endif
+    infoBarAddActionWidget                  ,
+
+
+-- ** addButton #method:addButton#
+
+#if ENABLE_OVERLOADING
+    InfoBarAddButtonMethodInfo              ,
+#endif
+    infoBarAddButton                        ,
+
+
+-- ** getActionArea #method:getActionArea#
+
+#if ENABLE_OVERLOADING
+    InfoBarGetActionAreaMethodInfo          ,
+#endif
+    infoBarGetActionArea                    ,
+
+
+-- ** getContentArea #method:getContentArea#
+
+#if ENABLE_OVERLOADING
+    InfoBarGetContentAreaMethodInfo         ,
+#endif
+    infoBarGetContentArea                   ,
+
+
+-- ** getMessageType #method:getMessageType#
+
+#if ENABLE_OVERLOADING
+    InfoBarGetMessageTypeMethodInfo         ,
+#endif
+    infoBarGetMessageType                   ,
+
+
+-- ** getRevealed #method:getRevealed#
+
+#if ENABLE_OVERLOADING
+    InfoBarGetRevealedMethodInfo            ,
+#endif
+    infoBarGetRevealed                      ,
+
+
+-- ** getShowCloseButton #method:getShowCloseButton#
+
+#if ENABLE_OVERLOADING
+    InfoBarGetShowCloseButtonMethodInfo     ,
+#endif
+    infoBarGetShowCloseButton               ,
+
+
+-- ** new #method:new#
+
+    infoBarNew                              ,
+
+
+-- ** response #method:response#
+
+#if ENABLE_OVERLOADING
+    InfoBarResponseMethodInfo               ,
+#endif
+    infoBarResponse                         ,
+
+
+-- ** setDefaultResponse #method:setDefaultResponse#
+
+#if ENABLE_OVERLOADING
+    InfoBarSetDefaultResponseMethodInfo     ,
+#endif
+    infoBarSetDefaultResponse               ,
+
+
+-- ** setMessageType #method:setMessageType#
+
+#if ENABLE_OVERLOADING
+    InfoBarSetMessageTypeMethodInfo         ,
+#endif
+    infoBarSetMessageType                   ,
+
+
+-- ** setResponseSensitive #method:setResponseSensitive#
+
+#if ENABLE_OVERLOADING
+    InfoBarSetResponseSensitiveMethodInfo   ,
+#endif
+    infoBarSetResponseSensitive             ,
+
+
+-- ** setRevealed #method:setRevealed#
+
+#if ENABLE_OVERLOADING
+    InfoBarSetRevealedMethodInfo            ,
+#endif
+    infoBarSetRevealed                      ,
+
+
+-- ** setShowCloseButton #method:setShowCloseButton#
+
+#if ENABLE_OVERLOADING
+    InfoBarSetShowCloseButtonMethodInfo     ,
+#endif
+    infoBarSetShowCloseButton               ,
+
+
+
+
+ -- * Properties
+-- ** messageType #attr:messageType#
+{- | The type of the message.
+
+The type may be used to determine the appearance of the info bar.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    InfoBarMessageTypePropertyInfo          ,
+#endif
+    constructInfoBarMessageType             ,
+    getInfoBarMessageType                   ,
+#if ENABLE_OVERLOADING
+    infoBarMessageType                      ,
+#endif
+    setInfoBarMessageType                   ,
+
+
+-- ** revealed #attr:revealed#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    InfoBarRevealedPropertyInfo             ,
+#endif
+    constructInfoBarRevealed                ,
+    getInfoBarRevealed                      ,
+#if ENABLE_OVERLOADING
+    infoBarRevealed                         ,
+#endif
+    setInfoBarRevealed                      ,
+
+
+-- ** showCloseButton #attr:showCloseButton#
+{- | Whether to include a standard close button.
+
+/Since: 3.10/
+-}
+#if ENABLE_OVERLOADING
+    InfoBarShowCloseButtonPropertyInfo      ,
+#endif
+    constructInfoBarShowCloseButton         ,
+    getInfoBarShowCloseButton               ,
+#if ENABLE_OVERLOADING
+    infoBarShowCloseButton                  ,
+#endif
+    setInfoBarShowCloseButton               ,
+
+
+
+
+ -- * Signals
+-- ** close #signal:close#
+
+    C_InfoBarCloseCallback                  ,
+    InfoBarCloseCallback                    ,
+#if ENABLE_OVERLOADING
+    InfoBarCloseSignalInfo                  ,
+#endif
+    afterInfoBarClose                       ,
+    genClosure_InfoBarClose                 ,
+    mk_InfoBarCloseCallback                 ,
+    noInfoBarCloseCallback                  ,
+    onInfoBarClose                          ,
+    wrap_InfoBarCloseCallback               ,
+
+
+-- ** response #signal:response#
+
+    C_InfoBarResponseCallback               ,
+    InfoBarResponseCallback                 ,
+#if ENABLE_OVERLOADING
+    InfoBarResponseSignalInfo               ,
+#endif
+    afterInfoBarResponse                    ,
+    genClosure_InfoBarResponse              ,
+    mk_InfoBarResponseCallback              ,
+    noInfoBarResponseCallback               ,
+    onInfoBarResponse                       ,
+    wrap_InfoBarResponseCallback            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype InfoBar = InfoBar (ManagedPtr InfoBar)
+foreign import ccall "gtk_info_bar_get_type"
+    c_gtk_info_bar_get_type :: IO GType
+
+instance GObject InfoBar where
+    gobjectType = c_gtk_info_bar_get_type
+    
+
+-- | Type class for types which can be safely cast to `InfoBar`, for instance with `toInfoBar`.
+class (GObject o, O.IsDescendantOf InfoBar o) => IsInfoBar o
+instance (GObject o, O.IsDescendantOf InfoBar o) => IsInfoBar o
+
+instance O.HasParentTypes InfoBar
+type instance O.ParentTypes InfoBar = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `InfoBar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toInfoBar :: (MonadIO m, IsInfoBar o) => o -> m InfoBar
+toInfoBar = liftIO . unsafeCastTo InfoBar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `InfoBar`.
+noInfoBar :: Maybe InfoBar
+noInfoBar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveInfoBarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveInfoBarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveInfoBarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveInfoBarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveInfoBarMethod "addActionWidget" o = InfoBarAddActionWidgetMethodInfo
+    ResolveInfoBarMethod "addButton" o = InfoBarAddButtonMethodInfo
+    ResolveInfoBarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveInfoBarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveInfoBarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveInfoBarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveInfoBarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveInfoBarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveInfoBarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveInfoBarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveInfoBarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveInfoBarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveInfoBarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveInfoBarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveInfoBarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveInfoBarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveInfoBarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveInfoBarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveInfoBarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveInfoBarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveInfoBarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveInfoBarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveInfoBarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveInfoBarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveInfoBarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveInfoBarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveInfoBarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveInfoBarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveInfoBarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveInfoBarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveInfoBarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveInfoBarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveInfoBarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveInfoBarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveInfoBarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveInfoBarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveInfoBarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveInfoBarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveInfoBarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveInfoBarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveInfoBarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveInfoBarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveInfoBarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveInfoBarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveInfoBarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveInfoBarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveInfoBarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveInfoBarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveInfoBarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveInfoBarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveInfoBarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveInfoBarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveInfoBarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveInfoBarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveInfoBarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveInfoBarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveInfoBarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveInfoBarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveInfoBarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveInfoBarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveInfoBarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveInfoBarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveInfoBarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveInfoBarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveInfoBarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveInfoBarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveInfoBarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveInfoBarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveInfoBarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveInfoBarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveInfoBarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveInfoBarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveInfoBarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveInfoBarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveInfoBarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveInfoBarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveInfoBarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveInfoBarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveInfoBarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveInfoBarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveInfoBarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveInfoBarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveInfoBarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveInfoBarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveInfoBarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveInfoBarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveInfoBarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveInfoBarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveInfoBarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveInfoBarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveInfoBarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveInfoBarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveInfoBarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveInfoBarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveInfoBarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveInfoBarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveInfoBarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveInfoBarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveInfoBarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveInfoBarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveInfoBarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveInfoBarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveInfoBarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveInfoBarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveInfoBarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveInfoBarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveInfoBarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveInfoBarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveInfoBarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveInfoBarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveInfoBarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveInfoBarMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveInfoBarMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveInfoBarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveInfoBarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveInfoBarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveInfoBarMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveInfoBarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveInfoBarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveInfoBarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveInfoBarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveInfoBarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveInfoBarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveInfoBarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveInfoBarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveInfoBarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveInfoBarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveInfoBarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveInfoBarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveInfoBarMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveInfoBarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveInfoBarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveInfoBarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveInfoBarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveInfoBarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveInfoBarMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveInfoBarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveInfoBarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveInfoBarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveInfoBarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveInfoBarMethod "response" o = InfoBarResponseMethodInfo
+    ResolveInfoBarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveInfoBarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveInfoBarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveInfoBarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveInfoBarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveInfoBarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveInfoBarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveInfoBarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveInfoBarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveInfoBarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveInfoBarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveInfoBarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveInfoBarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveInfoBarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveInfoBarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveInfoBarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveInfoBarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveInfoBarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveInfoBarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveInfoBarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveInfoBarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveInfoBarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveInfoBarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveInfoBarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveInfoBarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveInfoBarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveInfoBarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveInfoBarMethod "getActionArea" o = InfoBarGetActionAreaMethodInfo
+    ResolveInfoBarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveInfoBarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveInfoBarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveInfoBarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveInfoBarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveInfoBarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveInfoBarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveInfoBarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveInfoBarMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveInfoBarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveInfoBarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveInfoBarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveInfoBarMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveInfoBarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveInfoBarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveInfoBarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveInfoBarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveInfoBarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveInfoBarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveInfoBarMethod "getContentArea" o = InfoBarGetContentAreaMethodInfo
+    ResolveInfoBarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveInfoBarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveInfoBarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveInfoBarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveInfoBarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveInfoBarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveInfoBarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveInfoBarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveInfoBarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveInfoBarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveInfoBarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveInfoBarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveInfoBarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveInfoBarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveInfoBarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveInfoBarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveInfoBarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveInfoBarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveInfoBarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveInfoBarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveInfoBarMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveInfoBarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveInfoBarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveInfoBarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveInfoBarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveInfoBarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveInfoBarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveInfoBarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveInfoBarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveInfoBarMethod "getMessageType" o = InfoBarGetMessageTypeMethodInfo
+    ResolveInfoBarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveInfoBarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveInfoBarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveInfoBarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveInfoBarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveInfoBarMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveInfoBarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveInfoBarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveInfoBarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveInfoBarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveInfoBarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveInfoBarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveInfoBarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveInfoBarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveInfoBarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveInfoBarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveInfoBarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveInfoBarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveInfoBarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveInfoBarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveInfoBarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveInfoBarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveInfoBarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveInfoBarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveInfoBarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveInfoBarMethod "getRevealed" o = InfoBarGetRevealedMethodInfo
+    ResolveInfoBarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveInfoBarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveInfoBarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveInfoBarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveInfoBarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveInfoBarMethod "getShowCloseButton" o = InfoBarGetShowCloseButtonMethodInfo
+    ResolveInfoBarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveInfoBarMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveInfoBarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveInfoBarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveInfoBarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveInfoBarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveInfoBarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveInfoBarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveInfoBarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveInfoBarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveInfoBarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveInfoBarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveInfoBarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveInfoBarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveInfoBarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveInfoBarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveInfoBarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveInfoBarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveInfoBarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveInfoBarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveInfoBarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveInfoBarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveInfoBarMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveInfoBarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveInfoBarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveInfoBarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveInfoBarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveInfoBarMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveInfoBarMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveInfoBarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveInfoBarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveInfoBarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveInfoBarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveInfoBarMethod "setDefaultResponse" o = InfoBarSetDefaultResponseMethodInfo
+    ResolveInfoBarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveInfoBarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveInfoBarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveInfoBarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveInfoBarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveInfoBarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveInfoBarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveInfoBarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveInfoBarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveInfoBarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveInfoBarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveInfoBarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveInfoBarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveInfoBarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveInfoBarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveInfoBarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveInfoBarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveInfoBarMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveInfoBarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveInfoBarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveInfoBarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveInfoBarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveInfoBarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveInfoBarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveInfoBarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveInfoBarMethod "setMessageType" o = InfoBarSetMessageTypeMethodInfo
+    ResolveInfoBarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveInfoBarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveInfoBarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveInfoBarMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveInfoBarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveInfoBarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveInfoBarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveInfoBarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveInfoBarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveInfoBarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveInfoBarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveInfoBarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveInfoBarMethod "setResponseSensitive" o = InfoBarSetResponseSensitiveMethodInfo
+    ResolveInfoBarMethod "setRevealed" o = InfoBarSetRevealedMethodInfo
+    ResolveInfoBarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveInfoBarMethod "setShowCloseButton" o = InfoBarSetShowCloseButtonMethodInfo
+    ResolveInfoBarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveInfoBarMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveInfoBarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveInfoBarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveInfoBarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveInfoBarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveInfoBarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveInfoBarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveInfoBarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveInfoBarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveInfoBarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveInfoBarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveInfoBarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveInfoBarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveInfoBarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveInfoBarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveInfoBarMethod t InfoBar, O.MethodInfo info InfoBar p) => OL.IsLabel t (InfoBar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal InfoBar::close
+{- |
+The ::close signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user uses a keybinding to dismiss
+the info bar.
+
+The default binding for this signal is the Escape key.
+
+/Since: 2.18/
+-}
+type InfoBarCloseCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `InfoBarCloseCallback`@.
+noInfoBarCloseCallback :: Maybe InfoBarCloseCallback
+noInfoBarCloseCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_InfoBarCloseCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_InfoBarCloseCallback`.
+foreign import ccall "wrapper"
+    mk_InfoBarCloseCallback :: C_InfoBarCloseCallback -> IO (FunPtr C_InfoBarCloseCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_InfoBarClose :: MonadIO m => InfoBarCloseCallback -> m (GClosure C_InfoBarCloseCallback)
+genClosure_InfoBarClose cb = liftIO $ do
+    let cb' = wrap_InfoBarCloseCallback cb
+    mk_InfoBarCloseCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `InfoBarCloseCallback` into a `C_InfoBarCloseCallback`.
+wrap_InfoBarCloseCallback ::
+    InfoBarCloseCallback ->
+    C_InfoBarCloseCallback
+wrap_InfoBarCloseCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@close@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' infoBar #close callback
+@
+-}
+onInfoBarClose :: (IsInfoBar a, MonadIO m) => a -> InfoBarCloseCallback -> m SignalHandlerId
+onInfoBarClose obj cb = liftIO $ do
+    let cb' = wrap_InfoBarCloseCallback cb
+    cb'' <- mk_InfoBarCloseCallback cb'
+    connectSignalFunPtr obj "close" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@close@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' infoBar #close callback
+@
+-}
+afterInfoBarClose :: (IsInfoBar a, MonadIO m) => a -> InfoBarCloseCallback -> m SignalHandlerId
+afterInfoBarClose obj cb = liftIO $ do
+    let cb' = wrap_InfoBarCloseCallback cb
+    cb'' <- mk_InfoBarCloseCallback cb'
+    connectSignalFunPtr obj "close" cb'' SignalConnectAfter
+
+
+-- signal InfoBar::response
+{- |
+Emitted when an action widget is clicked or the application programmer
+calls 'GI.Gtk.Objects.Dialog.dialogResponse'. The /@responseId@/ depends on which action
+widget was clicked.
+
+/Since: 2.18/
+-}
+type InfoBarResponseCallback =
+    Int32
+    {- ^ /@responseId@/: the response ID -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `InfoBarResponseCallback`@.
+noInfoBarResponseCallback :: Maybe InfoBarResponseCallback
+noInfoBarResponseCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_InfoBarResponseCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_InfoBarResponseCallback`.
+foreign import ccall "wrapper"
+    mk_InfoBarResponseCallback :: C_InfoBarResponseCallback -> IO (FunPtr C_InfoBarResponseCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_InfoBarResponse :: MonadIO m => InfoBarResponseCallback -> m (GClosure C_InfoBarResponseCallback)
+genClosure_InfoBarResponse cb = liftIO $ do
+    let cb' = wrap_InfoBarResponseCallback cb
+    mk_InfoBarResponseCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `InfoBarResponseCallback` into a `C_InfoBarResponseCallback`.
+wrap_InfoBarResponseCallback ::
+    InfoBarResponseCallback ->
+    C_InfoBarResponseCallback
+wrap_InfoBarResponseCallback _cb _ responseId _ = do
+    _cb  responseId
+
+
+{- |
+Connect a signal handler for the “@response@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' infoBar #response callback
+@
+-}
+onInfoBarResponse :: (IsInfoBar a, MonadIO m) => a -> InfoBarResponseCallback -> m SignalHandlerId
+onInfoBarResponse obj cb = liftIO $ do
+    let cb' = wrap_InfoBarResponseCallback cb
+    cb'' <- mk_InfoBarResponseCallback cb'
+    connectSignalFunPtr obj "response" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@response@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' infoBar #response callback
+@
+-}
+afterInfoBarResponse :: (IsInfoBar a, MonadIO m) => a -> InfoBarResponseCallback -> m SignalHandlerId
+afterInfoBarResponse obj cb = liftIO $ do
+    let cb' = wrap_InfoBarResponseCallback cb
+    cb'' <- mk_InfoBarResponseCallback cb'
+    connectSignalFunPtr obj "response" cb'' SignalConnectAfter
+
+
+-- VVV Prop "message-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "MessageType"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@message-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' infoBar #messageType
+@
+-}
+getInfoBarMessageType :: (MonadIO m, IsInfoBar o) => o -> m Gtk.Enums.MessageType
+getInfoBarMessageType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "message-type"
+
+{- |
+Set the value of the “@message-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' infoBar [ #messageType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setInfoBarMessageType :: (MonadIO m, IsInfoBar o) => o -> Gtk.Enums.MessageType -> m ()
+setInfoBarMessageType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "message-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@message-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructInfoBarMessageType :: (IsInfoBar o) => Gtk.Enums.MessageType -> IO (GValueConstruct o)
+constructInfoBarMessageType val = B.Properties.constructObjectPropertyEnum "message-type" val
+
+#if ENABLE_OVERLOADING
+data InfoBarMessageTypePropertyInfo
+instance AttrInfo InfoBarMessageTypePropertyInfo where
+    type AttrAllowedOps InfoBarMessageTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint InfoBarMessageTypePropertyInfo = (~) Gtk.Enums.MessageType
+    type AttrBaseTypeConstraint InfoBarMessageTypePropertyInfo = IsInfoBar
+    type AttrGetType InfoBarMessageTypePropertyInfo = Gtk.Enums.MessageType
+    type AttrLabel InfoBarMessageTypePropertyInfo = "message-type"
+    type AttrOrigin InfoBarMessageTypePropertyInfo = InfoBar
+    attrGet _ = getInfoBarMessageType
+    attrSet _ = setInfoBarMessageType
+    attrConstruct _ = constructInfoBarMessageType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "revealed"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@revealed@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' infoBar #revealed
+@
+-}
+getInfoBarRevealed :: (MonadIO m, IsInfoBar o) => o -> m Bool
+getInfoBarRevealed obj = liftIO $ B.Properties.getObjectPropertyBool obj "revealed"
+
+{- |
+Set the value of the “@revealed@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' infoBar [ #revealed 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setInfoBarRevealed :: (MonadIO m, IsInfoBar o) => o -> Bool -> m ()
+setInfoBarRevealed obj val = liftIO $ B.Properties.setObjectPropertyBool obj "revealed" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@revealed@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructInfoBarRevealed :: (IsInfoBar o) => Bool -> IO (GValueConstruct o)
+constructInfoBarRevealed val = B.Properties.constructObjectPropertyBool "revealed" val
+
+#if ENABLE_OVERLOADING
+data InfoBarRevealedPropertyInfo
+instance AttrInfo InfoBarRevealedPropertyInfo where
+    type AttrAllowedOps InfoBarRevealedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint InfoBarRevealedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint InfoBarRevealedPropertyInfo = IsInfoBar
+    type AttrGetType InfoBarRevealedPropertyInfo = Bool
+    type AttrLabel InfoBarRevealedPropertyInfo = "revealed"
+    type AttrOrigin InfoBarRevealedPropertyInfo = InfoBar
+    attrGet _ = getInfoBarRevealed
+    attrSet _ = setInfoBarRevealed
+    attrConstruct _ = constructInfoBarRevealed
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-close-button"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-close-button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' infoBar #showCloseButton
+@
+-}
+getInfoBarShowCloseButton :: (MonadIO m, IsInfoBar o) => o -> m Bool
+getInfoBarShowCloseButton obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-close-button"
+
+{- |
+Set the value of the “@show-close-button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' infoBar [ #showCloseButton 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setInfoBarShowCloseButton :: (MonadIO m, IsInfoBar o) => o -> Bool -> m ()
+setInfoBarShowCloseButton obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-close-button" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-close-button@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructInfoBarShowCloseButton :: (IsInfoBar o) => Bool -> IO (GValueConstruct o)
+constructInfoBarShowCloseButton val = B.Properties.constructObjectPropertyBool "show-close-button" val
+
+#if ENABLE_OVERLOADING
+data InfoBarShowCloseButtonPropertyInfo
+instance AttrInfo InfoBarShowCloseButtonPropertyInfo where
+    type AttrAllowedOps InfoBarShowCloseButtonPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint InfoBarShowCloseButtonPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint InfoBarShowCloseButtonPropertyInfo = IsInfoBar
+    type AttrGetType InfoBarShowCloseButtonPropertyInfo = Bool
+    type AttrLabel InfoBarShowCloseButtonPropertyInfo = "show-close-button"
+    type AttrOrigin InfoBarShowCloseButtonPropertyInfo = InfoBar
+    attrGet _ = getInfoBarShowCloseButton
+    attrSet _ = setInfoBarShowCloseButton
+    attrConstruct _ = constructInfoBarShowCloseButton
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList InfoBar
+type instance O.AttributeList InfoBar = InfoBarAttributeList
+type InfoBarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("messageType", InfoBarMessageTypePropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("revealed", InfoBarRevealedPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showCloseButton", InfoBarShowCloseButtonPropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+infoBarMessageType :: AttrLabelProxy "messageType"
+infoBarMessageType = AttrLabelProxy
+
+infoBarRevealed :: AttrLabelProxy "revealed"
+infoBarRevealed = AttrLabelProxy
+
+infoBarShowCloseButton :: AttrLabelProxy "showCloseButton"
+infoBarShowCloseButton = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data InfoBarCloseSignalInfo
+instance SignalInfo InfoBarCloseSignalInfo where
+    type HaskellCallbackType InfoBarCloseSignalInfo = InfoBarCloseCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_InfoBarCloseCallback cb
+        cb'' <- mk_InfoBarCloseCallback cb'
+        connectSignalFunPtr obj "close" cb'' connectMode
+
+data InfoBarResponseSignalInfo
+instance SignalInfo InfoBarResponseSignalInfo where
+    type HaskellCallbackType InfoBarResponseSignalInfo = InfoBarResponseCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_InfoBarResponseCallback cb
+        cb'' <- mk_InfoBarResponseCallback cb'
+        connectSignalFunPtr obj "response" cb'' connectMode
+
+type instance O.SignalList InfoBar = InfoBarSignalList
+type InfoBarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", InfoBarCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", InfoBarResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method InfoBar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "InfoBar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_new" gtk_info_bar_new :: 
+    IO (Ptr InfoBar)
+
+{- |
+Creates a new 'GI.Gtk.Objects.InfoBar.InfoBar' object.
+
+/Since: 2.18/
+-}
+infoBarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m InfoBar
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.InfoBar.InfoBar' object -}
+infoBarNew  = liftIO $ do
+    result <- gtk_info_bar_new
+    checkUnexpectedReturnNULL "infoBarNew" result
+    result' <- (newObject InfoBar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method InfoBar::add_action_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an activatable widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "response ID for @child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_add_action_widget" gtk_info_bar_add_action_widget :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- response_id : TBasicType TInt
+    IO ()
+
+{- |
+Add an activatable widget to the action area of a 'GI.Gtk.Objects.InfoBar.InfoBar',
+connecting a signal handler that will emit the 'GI.Gtk.Objects.InfoBar.InfoBar'::@/response/@
+signal on the message area when the widget is activated. The widget
+is appended to the end of the message areas action area.
+
+/Since: 2.18/
+-}
+infoBarAddActionWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> b
+    {- ^ /@child@/: an activatable widget -}
+    -> Int32
+    {- ^ /@responseId@/: response ID for /@child@/ -}
+    -> m ()
+infoBarAddActionWidget infoBar child responseId = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_info_bar_add_action_widget infoBar' child' responseId
+    touchManagedPtr infoBar
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data InfoBarAddActionWidgetMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsInfoBar a, Gtk.Widget.IsWidget b) => O.MethodInfo InfoBarAddActionWidgetMethodInfo a signature where
+    overloadedMethod _ = infoBarAddActionWidget
+
+#endif
+
+-- method InfoBar::add_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text of button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "response ID for the button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Button"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_add_button" gtk_info_bar_add_button :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    CString ->                              -- button_text : TBasicType TUTF8
+    Int32 ->                                -- response_id : TBasicType TInt
+    IO (Ptr Gtk.Button.Button)
+
+{- |
+Adds a button with the given text and sets things up so that
+clicking the button will emit the “response” signal with the given
+response_id. The button is appended to the end of the info bars\'s
+action area. The button widget is returned, but usually you don\'t
+need it.
+
+/Since: 2.18/
+-}
+infoBarAddButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> T.Text
+    {- ^ /@buttonText@/: text of button -}
+    -> Int32
+    {- ^ /@responseId@/: response ID for the button -}
+    -> m Gtk.Button.Button
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.Button.Button' widget
+that was added -}
+infoBarAddButton infoBar buttonText responseId = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    buttonText' <- textToCString buttonText
+    result <- gtk_info_bar_add_button infoBar' buttonText' responseId
+    checkUnexpectedReturnNULL "infoBarAddButton" result
+    result' <- (newObject Gtk.Button.Button) result
+    touchManagedPtr infoBar
+    freeMem buttonText'
+    return result'
+
+#if ENABLE_OVERLOADING
+data InfoBarAddButtonMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m Gtk.Button.Button), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarAddButtonMethodInfo a signature where
+    overloadedMethod _ = infoBarAddButton
+
+#endif
+
+-- method InfoBar::get_action_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_get_action_area" gtk_info_bar_get_action_area :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the action area of /@infoBar@/.
+
+/Since: 2.18/
+-}
+infoBarGetActionArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the action area -}
+infoBarGetActionArea infoBar = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    result <- gtk_info_bar_get_action_area infoBar'
+    checkUnexpectedReturnNULL "infoBarGetActionArea" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr infoBar
+    return result'
+
+#if ENABLE_OVERLOADING
+data InfoBarGetActionAreaMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarGetActionAreaMethodInfo a signature where
+    overloadedMethod _ = infoBarGetActionArea
+
+#endif
+
+-- method InfoBar::get_content_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_get_content_area" gtk_info_bar_get_content_area :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the content area of /@infoBar@/.
+
+/Since: 2.18/
+-}
+infoBarGetContentArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the content area -}
+infoBarGetContentArea infoBar = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    result <- gtk_info_bar_get_content_area infoBar'
+    checkUnexpectedReturnNULL "infoBarGetContentArea" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr infoBar
+    return result'
+
+#if ENABLE_OVERLOADING
+data InfoBarGetContentAreaMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarGetContentAreaMethodInfo a signature where
+    overloadedMethod _ = infoBarGetContentArea
+
+#endif
+
+-- method InfoBar::get_message_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MessageType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_get_message_type" gtk_info_bar_get_message_type :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    IO CUInt
+
+{- |
+Returns the message type of the message area.
+
+/Since: 2.18/
+-}
+infoBarGetMessageType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> m Gtk.Enums.MessageType
+    {- ^ __Returns:__ the message type of the message area. -}
+infoBarGetMessageType infoBar = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    result <- gtk_info_bar_get_message_type infoBar'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr infoBar
+    return result'
+
+#if ENABLE_OVERLOADING
+data InfoBarGetMessageTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.MessageType), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarGetMessageTypeMethodInfo a signature where
+    overloadedMethod _ = infoBarGetMessageType
+
+#endif
+
+-- method InfoBar::get_revealed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_get_revealed" gtk_info_bar_get_revealed :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    IO CInt
+
+{- |
+/No description available in the introspection data./
+
+/Since: 3.22.29/
+-}
+infoBarGetRevealed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> m Bool
+    {- ^ __Returns:__ the current value of the GtkInfoBar:revealed property. -}
+infoBarGetRevealed infoBar = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    result <- gtk_info_bar_get_revealed infoBar'
+    let result' = (/= 0) result
+    touchManagedPtr infoBar
+    return result'
+
+#if ENABLE_OVERLOADING
+data InfoBarGetRevealedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarGetRevealedMethodInfo a signature where
+    overloadedMethod _ = infoBarGetRevealed
+
+#endif
+
+-- method InfoBar::get_show_close_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_get_show_close_button" gtk_info_bar_get_show_close_button :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    IO CInt
+
+{- |
+Returns whether the widget will display a standard close button.
+
+/Since: 3.10/
+-}
+infoBarGetShowCloseButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget displays standard close button -}
+infoBarGetShowCloseButton infoBar = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    result <- gtk_info_bar_get_show_close_button infoBar'
+    let result' = (/= 0) result
+    touchManagedPtr infoBar
+    return result'
+
+#if ENABLE_OVERLOADING
+data InfoBarGetShowCloseButtonMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarGetShowCloseButtonMethodInfo a signature where
+    overloadedMethod _ = infoBarGetShowCloseButton
+
+#endif
+
+-- method InfoBar::response
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a response ID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_response" gtk_info_bar_response :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    Int32 ->                                -- response_id : TBasicType TInt
+    IO ()
+
+{- |
+Emits the “response” signal with the given /@responseId@/.
+
+/Since: 2.18/
+-}
+infoBarResponse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> Int32
+    {- ^ /@responseId@/: a response ID -}
+    -> m ()
+infoBarResponse infoBar responseId = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    gtk_info_bar_response infoBar' responseId
+    touchManagedPtr infoBar
+    return ()
+
+#if ENABLE_OVERLOADING
+data InfoBarResponseMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarResponseMethodInfo a signature where
+    overloadedMethod _ = infoBarResponse
+
+#endif
+
+-- method InfoBar::set_default_response
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a response ID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_set_default_response" gtk_info_bar_set_default_response :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    Int32 ->                                -- response_id : TBasicType TInt
+    IO ()
+
+{- |
+Sets the last widget in the info bar’s action area with
+the given response_id as the default widget for the dialog.
+Pressing “Enter” normally activates the default widget.
+
+Note that this function currently requires /@infoBar@/ to
+be added to a widget hierarchy.
+
+/Since: 2.18/
+-}
+infoBarSetDefaultResponse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> Int32
+    {- ^ /@responseId@/: a response ID -}
+    -> m ()
+infoBarSetDefaultResponse infoBar responseId = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    gtk_info_bar_set_default_response infoBar' responseId
+    touchManagedPtr infoBar
+    return ()
+
+#if ENABLE_OVERLOADING
+data InfoBarSetDefaultResponseMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarSetDefaultResponseMethodInfo a signature where
+    overloadedMethod _ = infoBarSetDefaultResponse
+
+#endif
+
+-- method InfoBar::set_message_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message_type", argType = TInterface (Name {namespace = "Gtk", name = "MessageType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMessageType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_set_message_type" gtk_info_bar_set_message_type :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    CUInt ->                                -- message_type : TInterface (Name {namespace = "Gtk", name = "MessageType"})
+    IO ()
+
+{- |
+Sets the message type of the message area.
+
+GTK+ uses this type to determine how the message is displayed.
+
+/Since: 2.18/
+-}
+infoBarSetMessageType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> Gtk.Enums.MessageType
+    {- ^ /@messageType@/: a 'GI.Gtk.Enums.MessageType' -}
+    -> m ()
+infoBarSetMessageType infoBar messageType = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    let messageType' = (fromIntegral . fromEnum) messageType
+    gtk_info_bar_set_message_type infoBar' messageType'
+    touchManagedPtr infoBar
+    return ()
+
+#if ENABLE_OVERLOADING
+data InfoBarSetMessageTypeMethodInfo
+instance (signature ~ (Gtk.Enums.MessageType -> m ()), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarSetMessageTypeMethodInfo a signature where
+    overloadedMethod _ = infoBarSetMessageType
+
+#endif
+
+-- method InfoBar::set_response_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "response_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a response ID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TRUE for sensitive", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_set_response_sensitive" gtk_info_bar_set_response_sensitive :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    Int32 ->                                -- response_id : TBasicType TInt
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Calls gtk_widget_set_sensitive (widget, setting) for each
+widget in the info bars’s action area with the given response_id.
+A convenient way to sensitize\/desensitize dialog buttons.
+
+/Since: 2.18/
+-}
+infoBarSetResponseSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> Int32
+    {- ^ /@responseId@/: a response ID -}
+    -> Bool
+    {- ^ /@setting@/: TRUE for sensitive -}
+    -> m ()
+infoBarSetResponseSensitive infoBar responseId setting = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_info_bar_set_response_sensitive infoBar' responseId setting'
+    touchManagedPtr infoBar
+    return ()
+
+#if ENABLE_OVERLOADING
+data InfoBarSetResponseSensitiveMethodInfo
+instance (signature ~ (Int32 -> Bool -> m ()), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarSetResponseSensitiveMethodInfo a signature where
+    overloadedMethod _ = infoBarSetResponseSensitive
+
+#endif
+
+-- method InfoBar::set_revealed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "revealed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new value of the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_set_revealed" gtk_info_bar_set_revealed :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    CInt ->                                 -- revealed : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the GtkInfoBar:revealed property to /@revealed@/. This will cause
+/@infoBar@/ to show up with a slide-in transition.
+
+Note that this property does not automatically show /@infoBar@/ and thus won’t
+have any effect if it is invisible.
+
+/Since: 3.22.29/
+-}
+infoBarSetRevealed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> Bool
+    {- ^ /@revealed@/: The new value of the property -}
+    -> m ()
+infoBarSetRevealed infoBar revealed = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    let revealed' = (fromIntegral . fromEnum) revealed
+    gtk_info_bar_set_revealed infoBar' revealed'
+    touchManagedPtr infoBar
+    return ()
+
+#if ENABLE_OVERLOADING
+data InfoBarSetRevealedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarSetRevealedMethodInfo a signature where
+    overloadedMethod _ = infoBarSetRevealed
+
+#endif
+
+-- method InfoBar::set_show_close_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_bar", argType = TInterface (Name {namespace = "Gtk", name = "InfoBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInfoBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to include a close button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_info_bar_set_show_close_button" gtk_info_bar_set_show_close_button :: 
+    Ptr InfoBar ->                          -- info_bar : TInterface (Name {namespace = "Gtk", name = "InfoBar"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+If true, a standard close button is shown. When clicked it emits
+the response 'GI.Gtk.Enums.ResponseTypeClose'.
+
+/Since: 3.10/
+-}
+infoBarSetShowCloseButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInfoBar a) =>
+    a
+    {- ^ /@infoBar@/: a 'GI.Gtk.Objects.InfoBar.InfoBar' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to include a close button -}
+    -> m ()
+infoBarSetShowCloseButton infoBar setting = liftIO $ do
+    infoBar' <- unsafeManagedPtrCastPtr infoBar
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_info_bar_set_show_close_button infoBar' setting'
+    touchManagedPtr infoBar
+    return ()
+
+#if ENABLE_OVERLOADING
+data InfoBarSetShowCloseButtonMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsInfoBar a) => O.MethodInfo InfoBarSetShowCloseButtonMethodInfo a signature where
+    overloadedMethod _ = infoBarSetShowCloseButton
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/InfoBar.hs-boot b/GI/Gtk/Objects/InfoBar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/InfoBar.hs-boot
@@ -0,0 +1,83 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.InfoBar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype InfoBar = InfoBar (ManagedPtr InfoBar)
+instance GObject InfoBar where
+class (GObject o, O.IsDescendantOf InfoBar o) => IsInfoBar o
+instance (GObject o, O.IsDescendantOf InfoBar o) => IsInfoBar o
+instance O.HasParentTypes InfoBar
+#if ENABLE_OVERLOADING
+data InfoBarMessageTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarRevealedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarShowCloseButtonPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarCloseSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarResponseSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarAddActionWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarAddButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarGetActionAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarGetContentAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarGetMessageTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarGetRevealedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarGetShowCloseButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarResponseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarSetDefaultResponseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarSetMessageTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarSetResponseSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarSetRevealedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InfoBarSetShowCloseButtonMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Invisible.hs b/GI/Gtk/Objects/Invisible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Invisible.hs
@@ -0,0 +1,636 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Invisible.Invisible' widget is used internally in GTK+, and is probably not
+very useful for application developers.
+
+It is used for reliable pointer grabs and selection handling in the code
+for drag-and-drop.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Invisible
+    ( 
+
+-- * Exported types
+    Invisible(..)                           ,
+    IsInvisible                             ,
+    toInvisible                             ,
+    noInvisible                             ,
+
+
+ -- * Methods
+-- ** getScreen #method:getScreen#
+
+#if ENABLE_OVERLOADING
+    InvisibleGetScreenMethodInfo            ,
+#endif
+    invisibleGetScreen                      ,
+
+
+-- ** new #method:new#
+
+    invisibleNew                            ,
+
+
+-- ** newForScreen #method:newForScreen#
+
+    invisibleNewForScreen                   ,
+
+
+-- ** setScreen #method:setScreen#
+
+#if ENABLE_OVERLOADING
+    InvisibleSetScreenMethodInfo            ,
+#endif
+    invisibleSetScreen                      ,
+
+
+
+
+ -- * Properties
+-- ** screen #attr:screen#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    InvisibleScreenPropertyInfo             ,
+#endif
+    constructInvisibleScreen                ,
+    getInvisibleScreen                      ,
+#if ENABLE_OVERLOADING
+    invisibleScreen                         ,
+#endif
+    setInvisibleScreen                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Invisible = Invisible (ManagedPtr Invisible)
+foreign import ccall "gtk_invisible_get_type"
+    c_gtk_invisible_get_type :: IO GType
+
+instance GObject Invisible where
+    gobjectType = c_gtk_invisible_get_type
+    
+
+-- | Type class for types which can be safely cast to `Invisible`, for instance with `toInvisible`.
+class (GObject o, O.IsDescendantOf Invisible o) => IsInvisible o
+instance (GObject o, O.IsDescendantOf Invisible o) => IsInvisible o
+
+instance O.HasParentTypes Invisible
+type instance O.ParentTypes Invisible = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Invisible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toInvisible :: (MonadIO m, IsInvisible o) => o -> m Invisible
+toInvisible = liftIO . unsafeCastTo Invisible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Invisible`.
+noInvisible :: Maybe Invisible
+noInvisible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveInvisibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveInvisibleMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveInvisibleMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveInvisibleMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveInvisibleMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveInvisibleMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveInvisibleMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveInvisibleMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveInvisibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveInvisibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveInvisibleMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveInvisibleMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveInvisibleMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveInvisibleMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveInvisibleMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveInvisibleMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveInvisibleMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveInvisibleMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveInvisibleMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveInvisibleMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveInvisibleMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveInvisibleMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveInvisibleMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveInvisibleMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveInvisibleMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveInvisibleMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveInvisibleMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveInvisibleMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveInvisibleMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveInvisibleMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveInvisibleMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveInvisibleMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveInvisibleMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveInvisibleMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveInvisibleMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveInvisibleMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveInvisibleMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveInvisibleMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveInvisibleMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveInvisibleMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveInvisibleMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveInvisibleMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveInvisibleMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveInvisibleMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveInvisibleMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveInvisibleMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveInvisibleMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveInvisibleMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveInvisibleMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveInvisibleMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveInvisibleMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveInvisibleMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveInvisibleMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveInvisibleMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveInvisibleMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveInvisibleMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveInvisibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveInvisibleMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveInvisibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveInvisibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveInvisibleMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveInvisibleMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveInvisibleMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveInvisibleMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveInvisibleMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveInvisibleMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveInvisibleMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveInvisibleMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveInvisibleMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveInvisibleMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveInvisibleMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveInvisibleMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveInvisibleMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveInvisibleMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveInvisibleMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveInvisibleMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveInvisibleMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveInvisibleMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveInvisibleMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveInvisibleMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveInvisibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveInvisibleMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveInvisibleMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveInvisibleMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveInvisibleMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveInvisibleMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveInvisibleMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveInvisibleMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveInvisibleMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveInvisibleMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveInvisibleMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveInvisibleMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveInvisibleMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveInvisibleMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveInvisibleMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveInvisibleMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveInvisibleMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveInvisibleMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveInvisibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveInvisibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveInvisibleMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveInvisibleMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveInvisibleMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveInvisibleMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveInvisibleMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveInvisibleMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveInvisibleMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveInvisibleMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveInvisibleMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveInvisibleMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveInvisibleMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveInvisibleMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveInvisibleMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveInvisibleMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveInvisibleMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveInvisibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveInvisibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveInvisibleMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveInvisibleMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveInvisibleMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveInvisibleMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveInvisibleMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveInvisibleMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveInvisibleMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveInvisibleMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveInvisibleMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveInvisibleMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveInvisibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveInvisibleMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveInvisibleMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveInvisibleMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveInvisibleMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveInvisibleMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveInvisibleMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveInvisibleMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveInvisibleMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveInvisibleMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveInvisibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveInvisibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveInvisibleMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveInvisibleMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveInvisibleMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveInvisibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveInvisibleMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveInvisibleMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveInvisibleMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveInvisibleMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveInvisibleMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveInvisibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveInvisibleMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveInvisibleMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveInvisibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveInvisibleMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveInvisibleMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveInvisibleMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveInvisibleMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveInvisibleMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveInvisibleMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveInvisibleMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveInvisibleMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveInvisibleMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveInvisibleMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveInvisibleMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveInvisibleMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveInvisibleMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveInvisibleMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveInvisibleMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveInvisibleMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveInvisibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveInvisibleMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveInvisibleMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveInvisibleMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveInvisibleMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveInvisibleMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveInvisibleMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveInvisibleMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveInvisibleMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveInvisibleMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveInvisibleMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveInvisibleMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveInvisibleMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveInvisibleMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveInvisibleMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveInvisibleMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveInvisibleMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveInvisibleMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveInvisibleMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveInvisibleMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveInvisibleMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveInvisibleMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveInvisibleMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveInvisibleMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveInvisibleMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveInvisibleMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveInvisibleMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveInvisibleMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveInvisibleMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveInvisibleMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveInvisibleMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveInvisibleMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveInvisibleMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveInvisibleMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveInvisibleMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveInvisibleMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveInvisibleMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveInvisibleMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveInvisibleMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveInvisibleMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveInvisibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveInvisibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveInvisibleMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveInvisibleMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveInvisibleMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveInvisibleMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveInvisibleMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveInvisibleMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveInvisibleMethod "getScreen" o = InvisibleGetScreenMethodInfo
+    ResolveInvisibleMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveInvisibleMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveInvisibleMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveInvisibleMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveInvisibleMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveInvisibleMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveInvisibleMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveInvisibleMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveInvisibleMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveInvisibleMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveInvisibleMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveInvisibleMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveInvisibleMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveInvisibleMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveInvisibleMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveInvisibleMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveInvisibleMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveInvisibleMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveInvisibleMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveInvisibleMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveInvisibleMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveInvisibleMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveInvisibleMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveInvisibleMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveInvisibleMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveInvisibleMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveInvisibleMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveInvisibleMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveInvisibleMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveInvisibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveInvisibleMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveInvisibleMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveInvisibleMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveInvisibleMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveInvisibleMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveInvisibleMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveInvisibleMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveInvisibleMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveInvisibleMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveInvisibleMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveInvisibleMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveInvisibleMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveInvisibleMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveInvisibleMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveInvisibleMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveInvisibleMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveInvisibleMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveInvisibleMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveInvisibleMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveInvisibleMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveInvisibleMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveInvisibleMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveInvisibleMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveInvisibleMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveInvisibleMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveInvisibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveInvisibleMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveInvisibleMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveInvisibleMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveInvisibleMethod "setScreen" o = InvisibleSetScreenMethodInfo
+    ResolveInvisibleMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveInvisibleMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveInvisibleMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveInvisibleMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveInvisibleMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveInvisibleMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveInvisibleMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveInvisibleMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveInvisibleMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveInvisibleMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveInvisibleMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveInvisibleMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveInvisibleMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveInvisibleMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveInvisibleMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveInvisibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveInvisibleMethod t Invisible, O.MethodInfo info Invisible p) => OL.IsLabel t (Invisible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "screen"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Screen"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' invisible #screen
+@
+-}
+getInvisibleScreen :: (MonadIO m, IsInvisible o) => o -> m Gdk.Screen.Screen
+getInvisibleScreen obj = liftIO $ checkUnexpectedNothing "getInvisibleScreen" $ B.Properties.getObjectPropertyObject obj "screen" Gdk.Screen.Screen
+
+{- |
+Set the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' invisible [ #screen 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setInvisibleScreen :: (MonadIO m, IsInvisible o, Gdk.Screen.IsScreen a) => o -> a -> m ()
+setInvisibleScreen obj val = liftIO $ B.Properties.setObjectPropertyObject obj "screen" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@screen@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructInvisibleScreen :: (IsInvisible o, Gdk.Screen.IsScreen a) => a -> IO (GValueConstruct o)
+constructInvisibleScreen val = B.Properties.constructObjectPropertyObject "screen" (Just val)
+
+#if ENABLE_OVERLOADING
+data InvisibleScreenPropertyInfo
+instance AttrInfo InvisibleScreenPropertyInfo where
+    type AttrAllowedOps InvisibleScreenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint InvisibleScreenPropertyInfo = Gdk.Screen.IsScreen
+    type AttrBaseTypeConstraint InvisibleScreenPropertyInfo = IsInvisible
+    type AttrGetType InvisibleScreenPropertyInfo = Gdk.Screen.Screen
+    type AttrLabel InvisibleScreenPropertyInfo = "screen"
+    type AttrOrigin InvisibleScreenPropertyInfo = Invisible
+    attrGet _ = getInvisibleScreen
+    attrSet _ = setInvisibleScreen
+    attrConstruct _ = constructInvisibleScreen
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Invisible
+type instance O.AttributeList Invisible = InvisibleAttributeList
+type InvisibleAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", InvisibleScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+invisibleScreen :: AttrLabelProxy "screen"
+invisibleScreen = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Invisible = InvisibleSignalList
+type InvisibleSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Invisible::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Invisible"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_invisible_new" gtk_invisible_new :: 
+    IO (Ptr Invisible)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Invisible.Invisible'.
+-}
+invisibleNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Invisible
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Invisible.Invisible'. -}
+invisibleNew  = liftIO $ do
+    result <- gtk_invisible_new
+    checkUnexpectedReturnNULL "invisibleNew" result
+    result' <- (newObject Invisible) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Invisible::new_for_screen
+-- method type : Constructor
+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen which identifies on which\n    the new #GtkInvisible will be created.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Invisible"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_invisible_new_for_screen" gtk_invisible_new_for_screen :: 
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO (Ptr Invisible)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Invisible.Invisible' object for a specified screen
+
+/Since: 2.2/
+-}
+invisibleNewForScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>
+    a
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' which identifies on which
+    the new 'GI.Gtk.Objects.Invisible.Invisible' will be created. -}
+    -> m Invisible
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.Invisible.Invisible' object -}
+invisibleNewForScreen screen = liftIO $ do
+    screen' <- unsafeManagedPtrCastPtr screen
+    result <- gtk_invisible_new_for_screen screen'
+    checkUnexpectedReturnNULL "invisibleNewForScreen" result
+    result' <- (newObject Invisible) result
+    touchManagedPtr screen
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Invisible::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "invisible", argType = TInterface (Name {namespace = "Gtk", name = "Invisible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInvisible.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_invisible_get_screen" gtk_invisible_get_screen :: 
+    Ptr Invisible ->                        -- invisible : TInterface (Name {namespace = "Gtk", name = "Invisible"})
+    IO (Ptr Gdk.Screen.Screen)
+
+{- |
+Returns the 'GI.Gdk.Objects.Screen.Screen' object associated with /@invisible@/
+
+/Since: 2.2/
+-}
+invisibleGetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInvisible a) =>
+    a
+    {- ^ /@invisible@/: a 'GI.Gtk.Objects.Invisible.Invisible'. -}
+    -> m Gdk.Screen.Screen
+    {- ^ __Returns:__ the associated 'GI.Gdk.Objects.Screen.Screen'. -}
+invisibleGetScreen invisible = liftIO $ do
+    invisible' <- unsafeManagedPtrCastPtr invisible
+    result <- gtk_invisible_get_screen invisible'
+    checkUnexpectedReturnNULL "invisibleGetScreen" result
+    result' <- (newObject Gdk.Screen.Screen) result
+    touchManagedPtr invisible
+    return result'
+
+#if ENABLE_OVERLOADING
+data InvisibleGetScreenMethodInfo
+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m, IsInvisible a) => O.MethodInfo InvisibleGetScreenMethodInfo a signature where
+    overloadedMethod _ = invisibleGetScreen
+
+#endif
+
+-- method Invisible::set_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "invisible", argType = TInterface (Name {namespace = "Gtk", name = "Invisible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkInvisible.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_invisible_set_screen" gtk_invisible_set_screen :: 
+    Ptr Invisible ->                        -- invisible : TInterface (Name {namespace = "Gtk", name = "Invisible"})
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO ()
+
+{- |
+Sets the 'GI.Gdk.Objects.Screen.Screen' where the 'GI.Gtk.Objects.Invisible.Invisible' object will be displayed.
+
+/Since: 2.2/
+-}
+invisibleSetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsInvisible a, Gdk.Screen.IsScreen b) =>
+    a
+    {- ^ /@invisible@/: a 'GI.Gtk.Objects.Invisible.Invisible'. -}
+    -> b
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen'. -}
+    -> m ()
+invisibleSetScreen invisible screen = liftIO $ do
+    invisible' <- unsafeManagedPtrCastPtr invisible
+    screen' <- unsafeManagedPtrCastPtr screen
+    gtk_invisible_set_screen invisible' screen'
+    touchManagedPtr invisible
+    touchManagedPtr screen
+    return ()
+
+#if ENABLE_OVERLOADING
+data InvisibleSetScreenMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsInvisible a, Gdk.Screen.IsScreen b) => O.MethodInfo InvisibleSetScreenMethodInfo a signature where
+    overloadedMethod _ = invisibleSetScreen
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Invisible.hs-boot b/GI/Gtk/Objects/Invisible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Invisible.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Invisible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Invisible = Invisible (ManagedPtr Invisible)
+instance GObject Invisible where
+class (GObject o, O.IsDescendantOf Invisible o) => IsInvisible o
+instance (GObject o, O.IsDescendantOf Invisible o) => IsInvisible o
+instance O.HasParentTypes Invisible
+#if ENABLE_OVERLOADING
+data InvisibleScreenPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data InvisibleGetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data InvisibleSetScreenMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Label.hs b/GI/Gtk/Objects/Label.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Label.hs
@@ -0,0 +1,5045 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Label.Label' widget displays a small amount of text. As the name
+implies, most labels are used to label another widget such as a
+'GI.Gtk.Objects.Button.Button', a 'GI.Gtk.Objects.MenuItem.MenuItem', or a 'GI.Gtk.Objects.ComboBox.ComboBox'.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>label
+>├── [selection]
+>├── [link]
+>┊
+>╰── [link]
+
+
+GtkLabel has a single CSS node with the name label. A wide variety
+of style classes may be applied to labels, such as .title, .subtitle,
+.dim-label, etc. In the 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow', labels are used wth the
+.keycap style class.
+
+If the label has a selection, it gets a subnode with name selection.
+
+If the label has links, there is one subnode per link. These subnodes
+carry the link or visited state depending on whether they have been
+visited.
+
+= GtkLabel as GtkBuildable
+
+The GtkLabel implementation of the GtkBuildable interface supports a
+custom \<attributes> element, which supports any number of \<attribute>
+elements. The \<attribute> element has attributes named “name“, “value“,
+“start“ and “end“ and allows you to specify 'GI.Pango.Structs.Attribute.Attribute' values for
+this label.
+
+An example of a UI definition fragment specifying Pango attributes:
+>
+><object class="GtkLabel">
+>  <attributes>
+>    <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+>    <attribute name="background" value="red" start="5" end="10"/>
+>  </attributes>
+></object>
+
+
+The start and end attributes specify the range of characters to which the
+Pango attribute applies. If start and end are not specified, the attribute is
+applied to the whole text. Note that specifying ranges does not make much
+sense with translatable attributes. Use markup embedded in the translatable
+content instead.
+
+= Mnemonics
+
+Labels may contain “mnemonics”. Mnemonics are
+underlined characters in the label, used for keyboard navigation.
+Mnemonics are created by providing a string with an underscore before
+the mnemonic character, such as @\"_File\"@, to the
+functions 'GI.Gtk.Objects.Label.labelNewWithMnemonic' or
+'GI.Gtk.Objects.Label.labelSetTextWithMnemonic'.
+
+Mnemonics automatically activate any activatable widget the label is
+inside, such as a 'GI.Gtk.Objects.Button.Button'; if the label is not inside the
+mnemonic’s target widget, you have to tell the label about the target
+using 'GI.Gtk.Objects.Label.labelSetMnemonicWidget'. Here’s a simple example where
+the label is inside a button:
+
+
+=== /C code/
+>
+>  // Pressing Alt+H will activate this button
+>  GtkWidget *button = gtk_button_new ();
+>  GtkWidget *label = gtk_label_new_with_mnemonic ("_Hello");
+>  gtk_container_add (GTK_CONTAINER (button), label);
+
+
+There’s a convenience function to create buttons with a mnemonic label
+already inside:
+
+
+=== /C code/
+>
+>  // Pressing Alt+H will activate this button
+>  GtkWidget *button = gtk_button_new_with_mnemonic ("_Hello");
+
+
+To create a mnemonic for a widget alongside the label, such as a
+'GI.Gtk.Objects.Entry.Entry', you have to point the label at the entry with
+'GI.Gtk.Objects.Label.labelSetMnemonicWidget':
+
+
+=== /C code/
+>
+>  // Pressing Alt+H will focus the entry
+>  GtkWidget *entry = gtk_entry_new ();
+>  GtkWidget *label = gtk_label_new_with_mnemonic ("_Hello");
+>  gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
+
+
+= Markup (styled text)
+
+To make it easy to format text in a label (changing colors,
+fonts, etc.), label text can be provided in a simple
+[markup format][PangoMarkupFormat].
+
+Here’s how to create a label with a small font:
+
+=== /C code/
+>
+>  GtkWidget *label = gtk_label_new (NULL);
+>  gtk_label_set_markup (GTK_LABEL (label), "<small>Small text</small>");
+
+
+(See [complete documentation][PangoMarkupFormat] of available
+tags in the Pango manual.)
+
+The markup passed to 'GI.Gtk.Objects.Label.labelSetMarkup' must be valid; for example,
+literal \<, > and & characters must be escaped as &lt;, &gt;, and &amp;.
+If you pass text obtained from the user, file, or a network to
+'GI.Gtk.Objects.Label.labelSetMarkup', you’ll want to escape it with
+'GI.GLib.Functions.markupEscapeText' or @/g_markup_printf_escaped()/@.
+
+Markup strings are just a convenient way to set the 'GI.Pango.Structs.AttrList.AttrList' on
+a label; 'GI.Gtk.Objects.Label.labelSetAttributes' may be a simpler way to set
+attributes in some cases. Be careful though; 'GI.Pango.Structs.AttrList.AttrList' tends to
+cause internationalization problems, unless you’re applying attributes
+to the entire string (i.e. unless you set the range of each attribute
+to [0, @/G_MAXINT/@)). The reason is that specifying the start_index and
+end_index for a 'GI.Pango.Structs.Attribute.Attribute' requires knowledge of the exact string
+being displayed, so translations will cause problems.
+
+= Selectable labels
+
+Labels can be made selectable with 'GI.Gtk.Objects.Label.labelSetSelectable'.
+Selectable labels allow the user to copy the label contents to
+the clipboard. Only labels that contain useful-to-copy information
+— such as error messages — should be made selectable.
+
+# Text layout # {@/label/@-text-layout}
+
+A label can contain any number of paragraphs, but will have
+performance problems if it contains more than a small number.
+Paragraphs are separated by newlines or other paragraph separators
+understood by Pango.
+
+Labels can automatically wrap text if you call
+'GI.Gtk.Objects.Label.labelSetLineWrap'.
+
+'GI.Gtk.Objects.Label.labelSetJustify' sets how the lines in a label align
+with one another. If you want to set how the label as a whole
+aligns in its available space, see the 'GI.Gtk.Objects.Widget.Widget':@/halign/@ and
+'GI.Gtk.Objects.Widget.Widget':@/valign/@ properties.
+
+The 'GI.Gtk.Objects.Label.Label':@/width-chars/@ and 'GI.Gtk.Objects.Label.Label':@/max-width-chars/@ properties
+can be used to control the size allocation of ellipsized or wrapped
+labels. For ellipsizing labels, if either is specified (and less
+than the actual text size), it is used as the minimum width, and the actual
+text size is used as the natural width of the label. For wrapping labels,
+width-chars is used as the minimum width, if specified, and max-width-chars
+is used as the natural width. Even if max-width-chars specified, wrapping
+labels will be rewrapped to use all of the available width.
+
+Note that the interpretation of 'GI.Gtk.Objects.Label.Label':@/width-chars/@ and
+'GI.Gtk.Objects.Label.Label':@/max-width-chars/@ has changed a bit with the introduction of
+[width-for-height geometry management.][geometry-management]
+
+= Links
+
+Since 2.18, GTK+ supports markup for clickable hyperlinks in addition
+to regular Pango markup. The markup for links is borrowed from HTML,
+using the @\<a>@ with “href“ and “title“ attributes. GTK+ renders links
+similar to the way they appear in web browsers, with colored, underlined
+text. The “title“ attribute is displayed as a tooltip on the link.
+
+An example looks like this:
+
+
+=== /C code/
+>
+>const gchar *text =
+>"Go to the"
+>"<a href=\"http://www.gtk.org title=\"&lt;i&gt;Our&lt;/i&gt; website\">"
+>"GTK+ website</a> for more...";
+>GtkWidget *label = gtk_label_new (NULL);
+>gtk_label_set_markup (GTK_LABEL (label), text);
+
+
+It is possible to implement custom handling for links and their tooltips with
+the 'GI.Gtk.Objects.Label.Label'::@/activate-link/@ signal and the 'GI.Gtk.Objects.Label.labelGetCurrentUri' function.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Label
+    ( 
+
+-- * Exported types
+    Label(..)                               ,
+    IsLabel                                 ,
+    toLabel                                 ,
+    noLabel                                 ,
+
+
+ -- * Methods
+-- ** getAngle #method:getAngle#
+
+#if ENABLE_OVERLOADING
+    LabelGetAngleMethodInfo                 ,
+#endif
+    labelGetAngle                           ,
+
+
+-- ** getAttributes #method:getAttributes#
+
+#if ENABLE_OVERLOADING
+    LabelGetAttributesMethodInfo            ,
+#endif
+    labelGetAttributes                      ,
+
+
+-- ** getCurrentUri #method:getCurrentUri#
+
+#if ENABLE_OVERLOADING
+    LabelGetCurrentUriMethodInfo            ,
+#endif
+    labelGetCurrentUri                      ,
+
+
+-- ** getEllipsize #method:getEllipsize#
+
+#if ENABLE_OVERLOADING
+    LabelGetEllipsizeMethodInfo             ,
+#endif
+    labelGetEllipsize                       ,
+
+
+-- ** getJustify #method:getJustify#
+
+#if ENABLE_OVERLOADING
+    LabelGetJustifyMethodInfo               ,
+#endif
+    labelGetJustify                         ,
+
+
+-- ** getLabel #method:getLabel#
+
+#if ENABLE_OVERLOADING
+    LabelGetLabelMethodInfo                 ,
+#endif
+    labelGetLabel                           ,
+
+
+-- ** getLayout #method:getLayout#
+
+#if ENABLE_OVERLOADING
+    LabelGetLayoutMethodInfo                ,
+#endif
+    labelGetLayout                          ,
+
+
+-- ** getLayoutOffsets #method:getLayoutOffsets#
+
+#if ENABLE_OVERLOADING
+    LabelGetLayoutOffsetsMethodInfo         ,
+#endif
+    labelGetLayoutOffsets                   ,
+
+
+-- ** getLineWrap #method:getLineWrap#
+
+#if ENABLE_OVERLOADING
+    LabelGetLineWrapMethodInfo              ,
+#endif
+    labelGetLineWrap                        ,
+
+
+-- ** getLineWrapMode #method:getLineWrapMode#
+
+#if ENABLE_OVERLOADING
+    LabelGetLineWrapModeMethodInfo          ,
+#endif
+    labelGetLineWrapMode                    ,
+
+
+-- ** getLines #method:getLines#
+
+#if ENABLE_OVERLOADING
+    LabelGetLinesMethodInfo                 ,
+#endif
+    labelGetLines                           ,
+
+
+-- ** getMaxWidthChars #method:getMaxWidthChars#
+
+#if ENABLE_OVERLOADING
+    LabelGetMaxWidthCharsMethodInfo         ,
+#endif
+    labelGetMaxWidthChars                   ,
+
+
+-- ** getMnemonicKeyval #method:getMnemonicKeyval#
+
+#if ENABLE_OVERLOADING
+    LabelGetMnemonicKeyvalMethodInfo        ,
+#endif
+    labelGetMnemonicKeyval                  ,
+
+
+-- ** getMnemonicWidget #method:getMnemonicWidget#
+
+#if ENABLE_OVERLOADING
+    LabelGetMnemonicWidgetMethodInfo        ,
+#endif
+    labelGetMnemonicWidget                  ,
+
+
+-- ** getSelectable #method:getSelectable#
+
+#if ENABLE_OVERLOADING
+    LabelGetSelectableMethodInfo            ,
+#endif
+    labelGetSelectable                      ,
+
+
+-- ** getSelectionBounds #method:getSelectionBounds#
+
+#if ENABLE_OVERLOADING
+    LabelGetSelectionBoundsMethodInfo       ,
+#endif
+    labelGetSelectionBounds                 ,
+
+
+-- ** getSingleLineMode #method:getSingleLineMode#
+
+#if ENABLE_OVERLOADING
+    LabelGetSingleLineModeMethodInfo        ,
+#endif
+    labelGetSingleLineMode                  ,
+
+
+-- ** getText #method:getText#
+
+#if ENABLE_OVERLOADING
+    LabelGetTextMethodInfo                  ,
+#endif
+    labelGetText                            ,
+
+
+-- ** getTrackVisitedLinks #method:getTrackVisitedLinks#
+
+#if ENABLE_OVERLOADING
+    LabelGetTrackVisitedLinksMethodInfo     ,
+#endif
+    labelGetTrackVisitedLinks               ,
+
+
+-- ** getUseMarkup #method:getUseMarkup#
+
+#if ENABLE_OVERLOADING
+    LabelGetUseMarkupMethodInfo             ,
+#endif
+    labelGetUseMarkup                       ,
+
+
+-- ** getUseUnderline #method:getUseUnderline#
+
+#if ENABLE_OVERLOADING
+    LabelGetUseUnderlineMethodInfo          ,
+#endif
+    labelGetUseUnderline                    ,
+
+
+-- ** getWidthChars #method:getWidthChars#
+
+#if ENABLE_OVERLOADING
+    LabelGetWidthCharsMethodInfo            ,
+#endif
+    labelGetWidthChars                      ,
+
+
+-- ** getXalign #method:getXalign#
+
+#if ENABLE_OVERLOADING
+    LabelGetXalignMethodInfo                ,
+#endif
+    labelGetXalign                          ,
+
+
+-- ** getYalign #method:getYalign#
+
+#if ENABLE_OVERLOADING
+    LabelGetYalignMethodInfo                ,
+#endif
+    labelGetYalign                          ,
+
+
+-- ** new #method:new#
+
+    labelNew                                ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    labelNewWithMnemonic                    ,
+
+
+-- ** selectRegion #method:selectRegion#
+
+#if ENABLE_OVERLOADING
+    LabelSelectRegionMethodInfo             ,
+#endif
+    labelSelectRegion                       ,
+
+
+-- ** setAngle #method:setAngle#
+
+#if ENABLE_OVERLOADING
+    LabelSetAngleMethodInfo                 ,
+#endif
+    labelSetAngle                           ,
+
+
+-- ** setAttributes #method:setAttributes#
+
+#if ENABLE_OVERLOADING
+    LabelSetAttributesMethodInfo            ,
+#endif
+    labelSetAttributes                      ,
+
+
+-- ** setEllipsize #method:setEllipsize#
+
+#if ENABLE_OVERLOADING
+    LabelSetEllipsizeMethodInfo             ,
+#endif
+    labelSetEllipsize                       ,
+
+
+-- ** setJustify #method:setJustify#
+
+#if ENABLE_OVERLOADING
+    LabelSetJustifyMethodInfo               ,
+#endif
+    labelSetJustify                         ,
+
+
+-- ** setLabel #method:setLabel#
+
+#if ENABLE_OVERLOADING
+    LabelSetLabelMethodInfo                 ,
+#endif
+    labelSetLabel                           ,
+
+
+-- ** setLineWrap #method:setLineWrap#
+
+#if ENABLE_OVERLOADING
+    LabelSetLineWrapMethodInfo              ,
+#endif
+    labelSetLineWrap                        ,
+
+
+-- ** setLineWrapMode #method:setLineWrapMode#
+
+#if ENABLE_OVERLOADING
+    LabelSetLineWrapModeMethodInfo          ,
+#endif
+    labelSetLineWrapMode                    ,
+
+
+-- ** setLines #method:setLines#
+
+#if ENABLE_OVERLOADING
+    LabelSetLinesMethodInfo                 ,
+#endif
+    labelSetLines                           ,
+
+
+-- ** setMarkup #method:setMarkup#
+
+#if ENABLE_OVERLOADING
+    LabelSetMarkupMethodInfo                ,
+#endif
+    labelSetMarkup                          ,
+
+
+-- ** setMarkupWithMnemonic #method:setMarkupWithMnemonic#
+
+#if ENABLE_OVERLOADING
+    LabelSetMarkupWithMnemonicMethodInfo    ,
+#endif
+    labelSetMarkupWithMnemonic              ,
+
+
+-- ** setMaxWidthChars #method:setMaxWidthChars#
+
+#if ENABLE_OVERLOADING
+    LabelSetMaxWidthCharsMethodInfo         ,
+#endif
+    labelSetMaxWidthChars                   ,
+
+
+-- ** setMnemonicWidget #method:setMnemonicWidget#
+
+#if ENABLE_OVERLOADING
+    LabelSetMnemonicWidgetMethodInfo        ,
+#endif
+    labelSetMnemonicWidget                  ,
+
+
+-- ** setPattern #method:setPattern#
+
+#if ENABLE_OVERLOADING
+    LabelSetPatternMethodInfo               ,
+#endif
+    labelSetPattern                         ,
+
+
+-- ** setSelectable #method:setSelectable#
+
+#if ENABLE_OVERLOADING
+    LabelSetSelectableMethodInfo            ,
+#endif
+    labelSetSelectable                      ,
+
+
+-- ** setSingleLineMode #method:setSingleLineMode#
+
+#if ENABLE_OVERLOADING
+    LabelSetSingleLineModeMethodInfo        ,
+#endif
+    labelSetSingleLineMode                  ,
+
+
+-- ** setText #method:setText#
+
+#if ENABLE_OVERLOADING
+    LabelSetTextMethodInfo                  ,
+#endif
+    labelSetText                            ,
+
+
+-- ** setTextWithMnemonic #method:setTextWithMnemonic#
+
+#if ENABLE_OVERLOADING
+    LabelSetTextWithMnemonicMethodInfo      ,
+#endif
+    labelSetTextWithMnemonic                ,
+
+
+-- ** setTrackVisitedLinks #method:setTrackVisitedLinks#
+
+#if ENABLE_OVERLOADING
+    LabelSetTrackVisitedLinksMethodInfo     ,
+#endif
+    labelSetTrackVisitedLinks               ,
+
+
+-- ** setUseMarkup #method:setUseMarkup#
+
+#if ENABLE_OVERLOADING
+    LabelSetUseMarkupMethodInfo             ,
+#endif
+    labelSetUseMarkup                       ,
+
+
+-- ** setUseUnderline #method:setUseUnderline#
+
+#if ENABLE_OVERLOADING
+    LabelSetUseUnderlineMethodInfo          ,
+#endif
+    labelSetUseUnderline                    ,
+
+
+-- ** setWidthChars #method:setWidthChars#
+
+#if ENABLE_OVERLOADING
+    LabelSetWidthCharsMethodInfo            ,
+#endif
+    labelSetWidthChars                      ,
+
+
+-- ** setXalign #method:setXalign#
+
+#if ENABLE_OVERLOADING
+    LabelSetXalignMethodInfo                ,
+#endif
+    labelSetXalign                          ,
+
+
+-- ** setYalign #method:setYalign#
+
+#if ENABLE_OVERLOADING
+    LabelSetYalignMethodInfo                ,
+#endif
+    labelSetYalign                          ,
+
+
+
+
+ -- * Properties
+-- ** angle #attr:angle#
+{- | The angle that the baseline of the label makes with the horizontal,
+in degrees, measured counterclockwise. An angle of 90 reads from
+from bottom to top, an angle of 270, from top to bottom. Ignored
+if the label is selectable.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    LabelAnglePropertyInfo                  ,
+#endif
+    constructLabelAngle                     ,
+    getLabelAngle                           ,
+#if ENABLE_OVERLOADING
+    labelAngle                              ,
+#endif
+    setLabelAngle                           ,
+
+
+-- ** attributes #attr:attributes#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelAttributesPropertyInfo             ,
+#endif
+    clearLabelAttributes                    ,
+    constructLabelAttributes                ,
+    getLabelAttributes                      ,
+#if ENABLE_OVERLOADING
+    labelAttributes                         ,
+#endif
+    setLabelAttributes                      ,
+
+
+-- ** cursorPosition #attr:cursorPosition#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelCursorPositionPropertyInfo         ,
+#endif
+    getLabelCursorPosition                  ,
+#if ENABLE_OVERLOADING
+    labelCursorPosition                     ,
+#endif
+
+
+-- ** ellipsize #attr:ellipsize#
+{- | The preferred place to ellipsize the string, if the label does
+not have enough room to display the entire string, specified as a
+'GI.Pango.Enums.EllipsizeMode'.
+
+Note that setting this property to a value other than
+'GI.Pango.Enums.EllipsizeModeNone' has the side-effect that the label requests
+only enough space to display the ellipsis \"...\". In particular, this
+means that ellipsizing labels do not work well in notebook tabs, unless
+the 'GI.Gtk.Objects.Notebook.Notebook' tab-expand child property is set to 'True'. Other ways
+to set a label\'s width are 'GI.Gtk.Objects.Widget.widgetSetSizeRequest' and
+'GI.Gtk.Objects.Label.labelSetWidthChars'.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    LabelEllipsizePropertyInfo              ,
+#endif
+    constructLabelEllipsize                 ,
+    getLabelEllipsize                       ,
+#if ENABLE_OVERLOADING
+    labelEllipsize                          ,
+#endif
+    setLabelEllipsize                       ,
+
+
+-- ** justify #attr:justify#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelJustifyPropertyInfo                ,
+#endif
+    constructLabelJustify                   ,
+    getLabelJustify                         ,
+#if ENABLE_OVERLOADING
+    labelJustify                            ,
+#endif
+    setLabelJustify                         ,
+
+
+-- ** label #attr:label#
+{- | The contents of the label.
+
+If the string contains [Pango XML markup][PangoMarkupFormat], you will
+have to set the 'GI.Gtk.Objects.Label.Label':@/use-markup/@ property to 'True' in order for the
+label to display the markup attributes. See also 'GI.Gtk.Objects.Label.labelSetMarkup'
+for a convenience function that sets both this property and the
+'GI.Gtk.Objects.Label.Label':@/use-markup/@ property at the same time.
+
+If the string contains underlines acting as mnemonics, you will have to
+set the 'GI.Gtk.Objects.Label.Label':@/use-underline/@ property to 'True' in order for the label
+to display them.
+-}
+#if ENABLE_OVERLOADING
+    LabelLabelPropertyInfo                  ,
+#endif
+    constructLabelLabel                     ,
+    getLabelLabel                           ,
+#if ENABLE_OVERLOADING
+    labelLabel                              ,
+#endif
+    setLabelLabel                           ,
+
+
+-- ** lines #attr:lines#
+{- | The number of lines to which an ellipsized, wrapping label
+should be limited. This property has no effect if the
+label is not wrapping or ellipsized. Set this property to
+-1 if you don\'t want to limit the number of lines.
+
+/Since: 3.10/
+-}
+#if ENABLE_OVERLOADING
+    LabelLinesPropertyInfo                  ,
+#endif
+    constructLabelLines                     ,
+    getLabelLines                           ,
+#if ENABLE_OVERLOADING
+    labelLines                              ,
+#endif
+    setLabelLines                           ,
+
+
+-- ** maxWidthChars #attr:maxWidthChars#
+{- | The desired maximum width of the label, in characters. If this property
+is set to -1, the width will be calculated automatically.
+
+See the section on [text layout][label-text-layout]
+for details of how 'GI.Gtk.Objects.Label.Label':@/width-chars/@ and 'GI.Gtk.Objects.Label.Label':@/max-width-chars/@
+determine the width of ellipsized and wrapped labels.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    LabelMaxWidthCharsPropertyInfo          ,
+#endif
+    constructLabelMaxWidthChars             ,
+    getLabelMaxWidthChars                   ,
+#if ENABLE_OVERLOADING
+    labelMaxWidthChars                      ,
+#endif
+    setLabelMaxWidthChars                   ,
+
+
+-- ** mnemonicKeyval #attr:mnemonicKeyval#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelMnemonicKeyvalPropertyInfo         ,
+#endif
+    getLabelMnemonicKeyval                  ,
+#if ENABLE_OVERLOADING
+    labelMnemonicKeyval                     ,
+#endif
+
+
+-- ** mnemonicWidget #attr:mnemonicWidget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelMnemonicWidgetPropertyInfo         ,
+#endif
+    clearLabelMnemonicWidget                ,
+    constructLabelMnemonicWidget            ,
+    getLabelMnemonicWidget                  ,
+#if ENABLE_OVERLOADING
+    labelMnemonicWidget                     ,
+#endif
+    setLabelMnemonicWidget                  ,
+
+
+-- ** pattern #attr:pattern#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelPatternPropertyInfo                ,
+#endif
+    constructLabelPattern                   ,
+#if ENABLE_OVERLOADING
+    labelPattern                            ,
+#endif
+    setLabelPattern                         ,
+
+
+-- ** selectable #attr:selectable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelSelectablePropertyInfo             ,
+#endif
+    constructLabelSelectable                ,
+    getLabelSelectable                      ,
+#if ENABLE_OVERLOADING
+    labelSelectable                         ,
+#endif
+    setLabelSelectable                      ,
+
+
+-- ** selectionBound #attr:selectionBound#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelSelectionBoundPropertyInfo         ,
+#endif
+    getLabelSelectionBound                  ,
+#if ENABLE_OVERLOADING
+    labelSelectionBound                     ,
+#endif
+
+
+-- ** singleLineMode #attr:singleLineMode#
+{- | Whether the label is in single line mode. In single line mode,
+the height of the label does not depend on the actual text, it
+is always set to ascent + descent of the font. This can be an
+advantage in situations where resizing the label because of text
+changes would be distracting, e.g. in a statusbar.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    LabelSingleLineModePropertyInfo         ,
+#endif
+    constructLabelSingleLineMode            ,
+    getLabelSingleLineMode                  ,
+#if ENABLE_OVERLOADING
+    labelSingleLineMode                     ,
+#endif
+    setLabelSingleLineMode                  ,
+
+
+-- ** trackVisitedLinks #attr:trackVisitedLinks#
+{- | Set this property to 'True' to make the label track which links
+have been visited. It will then apply the @/GTK_STATE_FLAG_VISITED/@
+when rendering this link, in addition to @/GTK_STATE_FLAG_LINK/@.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    LabelTrackVisitedLinksPropertyInfo      ,
+#endif
+    constructLabelTrackVisitedLinks         ,
+    getLabelTrackVisitedLinks               ,
+#if ENABLE_OVERLOADING
+    labelTrackVisitedLinks                  ,
+#endif
+    setLabelTrackVisitedLinks               ,
+
+
+-- ** useMarkup #attr:useMarkup#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelUseMarkupPropertyInfo              ,
+#endif
+    constructLabelUseMarkup                 ,
+    getLabelUseMarkup                       ,
+#if ENABLE_OVERLOADING
+    labelUseMarkup                          ,
+#endif
+    setLabelUseMarkup                       ,
+
+
+-- ** useUnderline #attr:useUnderline#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelUseUnderlinePropertyInfo           ,
+#endif
+    constructLabelUseUnderline              ,
+    getLabelUseUnderline                    ,
+#if ENABLE_OVERLOADING
+    labelUseUnderline                       ,
+#endif
+    setLabelUseUnderline                    ,
+
+
+-- ** widthChars #attr:widthChars#
+{- | The desired width of the label, in characters. If this property is set to
+-1, the width will be calculated automatically.
+
+See the section on [text layout][label-text-layout]
+for details of how 'GI.Gtk.Objects.Label.Label':@/width-chars/@ and 'GI.Gtk.Objects.Label.Label':@/max-width-chars/@
+determine the width of ellipsized and wrapped labels.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    LabelWidthCharsPropertyInfo             ,
+#endif
+    constructLabelWidthChars                ,
+    getLabelWidthChars                      ,
+#if ENABLE_OVERLOADING
+    labelWidthChars                         ,
+#endif
+    setLabelWidthChars                      ,
+
+
+-- ** wrap #attr:wrap#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LabelWrapPropertyInfo                   ,
+#endif
+    constructLabelWrap                      ,
+    getLabelWrap                            ,
+#if ENABLE_OVERLOADING
+    labelWrap                               ,
+#endif
+    setLabelWrap                            ,
+
+
+-- ** wrapMode #attr:wrapMode#
+{- | If line wrapping is on (see the 'GI.Gtk.Objects.Label.Label':@/wrap/@ property) this controls
+how the line wrapping is done. The default is 'GI.Pango.Enums.WrapModeWord', which
+means wrap on word boundaries.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    LabelWrapModePropertyInfo               ,
+#endif
+    constructLabelWrapMode                  ,
+    getLabelWrapMode                        ,
+#if ENABLE_OVERLOADING
+    labelWrapMode                           ,
+#endif
+    setLabelWrapMode                        ,
+
+
+-- ** xalign #attr:xalign#
+{- | The xalign property determines the horizontal aligment of the label text
+inside the labels size allocation. Compare this to 'GI.Gtk.Objects.Widget.Widget':@/halign/@,
+which determines how the labels size allocation is positioned in the
+space available for the label.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    LabelXalignPropertyInfo                 ,
+#endif
+    constructLabelXalign                    ,
+    getLabelXalign                          ,
+#if ENABLE_OVERLOADING
+    labelXalign                             ,
+#endif
+    setLabelXalign                          ,
+
+
+-- ** yalign #attr:yalign#
+{- | The yalign property determines the vertical aligment of the label text
+inside the labels size allocation. Compare this to 'GI.Gtk.Objects.Widget.Widget':@/valign/@,
+which determines how the labels size allocation is positioned in the
+space available for the label.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    LabelYalignPropertyInfo                 ,
+#endif
+    constructLabelYalign                    ,
+    getLabelYalign                          ,
+#if ENABLE_OVERLOADING
+    labelYalign                             ,
+#endif
+    setLabelYalign                          ,
+
+
+
+
+ -- * Signals
+-- ** activateCurrentLink #signal:activateCurrentLink#
+
+    C_LabelActivateCurrentLinkCallback      ,
+    LabelActivateCurrentLinkCallback        ,
+#if ENABLE_OVERLOADING
+    LabelActivateCurrentLinkSignalInfo      ,
+#endif
+    afterLabelActivateCurrentLink           ,
+    genClosure_LabelActivateCurrentLink     ,
+    mk_LabelActivateCurrentLinkCallback     ,
+    noLabelActivateCurrentLinkCallback      ,
+    onLabelActivateCurrentLink              ,
+    wrap_LabelActivateCurrentLinkCallback   ,
+
+
+-- ** activateLink #signal:activateLink#
+
+    C_LabelActivateLinkCallback             ,
+    LabelActivateLinkCallback               ,
+#if ENABLE_OVERLOADING
+    LabelActivateLinkSignalInfo             ,
+#endif
+    afterLabelActivateLink                  ,
+    genClosure_LabelActivateLink            ,
+    mk_LabelActivateLinkCallback            ,
+    noLabelActivateLinkCallback             ,
+    onLabelActivateLink                     ,
+    wrap_LabelActivateLinkCallback          ,
+
+
+-- ** copyClipboard #signal:copyClipboard#
+
+    C_LabelCopyClipboardCallback            ,
+    LabelCopyClipboardCallback              ,
+#if ENABLE_OVERLOADING
+    LabelCopyClipboardSignalInfo            ,
+#endif
+    afterLabelCopyClipboard                 ,
+    genClosure_LabelCopyClipboard           ,
+    mk_LabelCopyClipboardCallback           ,
+    noLabelCopyClipboardCallback            ,
+    onLabelCopyClipboard                    ,
+    wrap_LabelCopyClipboardCallback         ,
+
+
+-- ** moveCursor #signal:moveCursor#
+
+    C_LabelMoveCursorCallback               ,
+    LabelMoveCursorCallback                 ,
+#if ENABLE_OVERLOADING
+    LabelMoveCursorSignalInfo               ,
+#endif
+    afterLabelMoveCursor                    ,
+    genClosure_LabelMoveCursor              ,
+    mk_LabelMoveCursorCallback              ,
+    noLabelMoveCursorCallback               ,
+    onLabelMoveCursor                       ,
+    wrap_LabelMoveCursorCallback            ,
+
+
+-- ** populatePopup #signal:populatePopup#
+
+    C_LabelPopulatePopupCallback            ,
+    LabelPopulatePopupCallback              ,
+#if ENABLE_OVERLOADING
+    LabelPopulatePopupSignalInfo            ,
+#endif
+    afterLabelPopulatePopup                 ,
+    genClosure_LabelPopulatePopup           ,
+    mk_LabelPopulatePopupCallback           ,
+    noLabelPopulatePopupCallback            ,
+    onLabelPopulatePopup                    ,
+    wrap_LabelPopulatePopupCallback         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Menu as Gtk.Menu
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Misc as Gtk.Misc
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import qualified GI.Pango.Enums as Pango.Enums
+import qualified GI.Pango.Objects.Layout as Pango.Layout
+import qualified GI.Pango.Structs.AttrList as Pango.AttrList
+
+-- | Memory-managed wrapper type.
+newtype Label = Label (ManagedPtr Label)
+foreign import ccall "gtk_label_get_type"
+    c_gtk_label_get_type :: IO GType
+
+instance GObject Label where
+    gobjectType = c_gtk_label_get_type
+    
+
+-- | Type class for types which can be safely cast to `Label`, for instance with `toLabel`.
+class (GObject o, O.IsDescendantOf Label o) => IsLabel o
+instance (GObject o, O.IsDescendantOf Label o) => IsLabel o
+
+instance O.HasParentTypes Label
+type instance O.ParentTypes Label = '[Gtk.Misc.Misc, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Label`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toLabel :: (MonadIO m, IsLabel o) => o -> m Label
+toLabel = liftIO . unsafeCastTo Label
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Label`.
+noLabel :: Maybe Label
+noLabel = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveLabelMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLabelMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveLabelMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveLabelMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveLabelMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveLabelMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveLabelMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveLabelMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveLabelMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveLabelMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveLabelMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveLabelMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveLabelMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveLabelMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveLabelMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveLabelMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveLabelMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveLabelMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveLabelMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveLabelMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveLabelMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveLabelMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveLabelMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveLabelMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveLabelMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveLabelMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveLabelMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveLabelMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveLabelMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveLabelMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveLabelMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveLabelMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveLabelMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveLabelMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveLabelMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveLabelMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveLabelMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveLabelMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveLabelMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveLabelMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveLabelMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveLabelMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveLabelMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveLabelMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveLabelMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveLabelMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveLabelMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveLabelMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveLabelMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveLabelMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveLabelMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveLabelMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveLabelMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveLabelMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveLabelMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveLabelMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveLabelMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveLabelMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveLabelMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveLabelMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveLabelMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveLabelMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveLabelMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveLabelMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveLabelMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveLabelMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveLabelMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveLabelMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveLabelMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveLabelMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveLabelMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveLabelMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveLabelMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveLabelMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveLabelMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveLabelMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveLabelMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveLabelMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveLabelMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveLabelMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveLabelMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveLabelMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveLabelMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveLabelMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveLabelMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveLabelMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveLabelMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveLabelMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveLabelMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveLabelMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveLabelMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveLabelMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveLabelMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveLabelMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveLabelMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveLabelMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveLabelMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveLabelMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveLabelMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveLabelMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveLabelMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveLabelMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveLabelMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveLabelMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveLabelMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveLabelMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveLabelMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveLabelMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveLabelMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveLabelMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveLabelMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveLabelMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveLabelMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveLabelMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveLabelMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveLabelMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveLabelMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveLabelMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveLabelMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveLabelMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveLabelMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveLabelMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveLabelMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveLabelMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveLabelMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveLabelMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveLabelMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveLabelMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveLabelMethod "selectRegion" o = LabelSelectRegionMethodInfo
+    ResolveLabelMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveLabelMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveLabelMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveLabelMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveLabelMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveLabelMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveLabelMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveLabelMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveLabelMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveLabelMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveLabelMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveLabelMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveLabelMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveLabelMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveLabelMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveLabelMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveLabelMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveLabelMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveLabelMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveLabelMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveLabelMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveLabelMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveLabelMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveLabelMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveLabelMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveLabelMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveLabelMethod "getAlignment" o = Gtk.Misc.MiscGetAlignmentMethodInfo
+    ResolveLabelMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveLabelMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveLabelMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveLabelMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveLabelMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveLabelMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveLabelMethod "getAngle" o = LabelGetAngleMethodInfo
+    ResolveLabelMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveLabelMethod "getAttributes" o = LabelGetAttributesMethodInfo
+    ResolveLabelMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveLabelMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveLabelMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveLabelMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveLabelMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveLabelMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveLabelMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveLabelMethod "getCurrentUri" o = LabelGetCurrentUriMethodInfo
+    ResolveLabelMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveLabelMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveLabelMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveLabelMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveLabelMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveLabelMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveLabelMethod "getEllipsize" o = LabelGetEllipsizeMethodInfo
+    ResolveLabelMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveLabelMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveLabelMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveLabelMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveLabelMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveLabelMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveLabelMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveLabelMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveLabelMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveLabelMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveLabelMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveLabelMethod "getJustify" o = LabelGetJustifyMethodInfo
+    ResolveLabelMethod "getLabel" o = LabelGetLabelMethodInfo
+    ResolveLabelMethod "getLayout" o = LabelGetLayoutMethodInfo
+    ResolveLabelMethod "getLayoutOffsets" o = LabelGetLayoutOffsetsMethodInfo
+    ResolveLabelMethod "getLineWrap" o = LabelGetLineWrapMethodInfo
+    ResolveLabelMethod "getLineWrapMode" o = LabelGetLineWrapModeMethodInfo
+    ResolveLabelMethod "getLines" o = LabelGetLinesMethodInfo
+    ResolveLabelMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveLabelMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveLabelMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveLabelMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveLabelMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveLabelMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveLabelMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveLabelMethod "getMaxWidthChars" o = LabelGetMaxWidthCharsMethodInfo
+    ResolveLabelMethod "getMnemonicKeyval" o = LabelGetMnemonicKeyvalMethodInfo
+    ResolveLabelMethod "getMnemonicWidget" o = LabelGetMnemonicWidgetMethodInfo
+    ResolveLabelMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveLabelMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveLabelMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveLabelMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveLabelMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveLabelMethod "getPadding" o = Gtk.Misc.MiscGetPaddingMethodInfo
+    ResolveLabelMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveLabelMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveLabelMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveLabelMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveLabelMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveLabelMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveLabelMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveLabelMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveLabelMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveLabelMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveLabelMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveLabelMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveLabelMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveLabelMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveLabelMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveLabelMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveLabelMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveLabelMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveLabelMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveLabelMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveLabelMethod "getSelectable" o = LabelGetSelectableMethodInfo
+    ResolveLabelMethod "getSelectionBounds" o = LabelGetSelectionBoundsMethodInfo
+    ResolveLabelMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveLabelMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveLabelMethod "getSingleLineMode" o = LabelGetSingleLineModeMethodInfo
+    ResolveLabelMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveLabelMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveLabelMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveLabelMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveLabelMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveLabelMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveLabelMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveLabelMethod "getText" o = LabelGetTextMethodInfo
+    ResolveLabelMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveLabelMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveLabelMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveLabelMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveLabelMethod "getTrackVisitedLinks" o = LabelGetTrackVisitedLinksMethodInfo
+    ResolveLabelMethod "getUseMarkup" o = LabelGetUseMarkupMethodInfo
+    ResolveLabelMethod "getUseUnderline" o = LabelGetUseUnderlineMethodInfo
+    ResolveLabelMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveLabelMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveLabelMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveLabelMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveLabelMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveLabelMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveLabelMethod "getWidthChars" o = LabelGetWidthCharsMethodInfo
+    ResolveLabelMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveLabelMethod "getXalign" o = LabelGetXalignMethodInfo
+    ResolveLabelMethod "getYalign" o = LabelGetYalignMethodInfo
+    ResolveLabelMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveLabelMethod "setAlignment" o = Gtk.Misc.MiscSetAlignmentMethodInfo
+    ResolveLabelMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveLabelMethod "setAngle" o = LabelSetAngleMethodInfo
+    ResolveLabelMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveLabelMethod "setAttributes" o = LabelSetAttributesMethodInfo
+    ResolveLabelMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveLabelMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveLabelMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveLabelMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveLabelMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveLabelMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveLabelMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveLabelMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveLabelMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveLabelMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveLabelMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveLabelMethod "setEllipsize" o = LabelSetEllipsizeMethodInfo
+    ResolveLabelMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveLabelMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveLabelMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveLabelMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveLabelMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveLabelMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveLabelMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveLabelMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveLabelMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveLabelMethod "setJustify" o = LabelSetJustifyMethodInfo
+    ResolveLabelMethod "setLabel" o = LabelSetLabelMethodInfo
+    ResolveLabelMethod "setLineWrap" o = LabelSetLineWrapMethodInfo
+    ResolveLabelMethod "setLineWrapMode" o = LabelSetLineWrapModeMethodInfo
+    ResolveLabelMethod "setLines" o = LabelSetLinesMethodInfo
+    ResolveLabelMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveLabelMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveLabelMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveLabelMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveLabelMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveLabelMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveLabelMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveLabelMethod "setMarkup" o = LabelSetMarkupMethodInfo
+    ResolveLabelMethod "setMarkupWithMnemonic" o = LabelSetMarkupWithMnemonicMethodInfo
+    ResolveLabelMethod "setMaxWidthChars" o = LabelSetMaxWidthCharsMethodInfo
+    ResolveLabelMethod "setMnemonicWidget" o = LabelSetMnemonicWidgetMethodInfo
+    ResolveLabelMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveLabelMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveLabelMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveLabelMethod "setPadding" o = Gtk.Misc.MiscSetPaddingMethodInfo
+    ResolveLabelMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveLabelMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveLabelMethod "setPattern" o = LabelSetPatternMethodInfo
+    ResolveLabelMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveLabelMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveLabelMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveLabelMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveLabelMethod "setSelectable" o = LabelSetSelectableMethodInfo
+    ResolveLabelMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveLabelMethod "setSingleLineMode" o = LabelSetSingleLineModeMethodInfo
+    ResolveLabelMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveLabelMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveLabelMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveLabelMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveLabelMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveLabelMethod "setText" o = LabelSetTextMethodInfo
+    ResolveLabelMethod "setTextWithMnemonic" o = LabelSetTextWithMnemonicMethodInfo
+    ResolveLabelMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveLabelMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveLabelMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveLabelMethod "setTrackVisitedLinks" o = LabelSetTrackVisitedLinksMethodInfo
+    ResolveLabelMethod "setUseMarkup" o = LabelSetUseMarkupMethodInfo
+    ResolveLabelMethod "setUseUnderline" o = LabelSetUseUnderlineMethodInfo
+    ResolveLabelMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveLabelMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveLabelMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveLabelMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveLabelMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveLabelMethod "setWidthChars" o = LabelSetWidthCharsMethodInfo
+    ResolveLabelMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveLabelMethod "setXalign" o = LabelSetXalignMethodInfo
+    ResolveLabelMethod "setYalign" o = LabelSetYalignMethodInfo
+    ResolveLabelMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLabelMethod t Label, O.MethodInfo info Label p) => OL.IsLabel t (Label -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Label::activate-current-link
+{- |
+A [keybinding signal][GtkBindingSignal]
+which gets emitted when the user activates a link in the label.
+
+Applications may also emit the signal with @/g_signal_emit_by_name()/@
+if they need to control activation of URIs programmatically.
+
+The default bindings for this signal are all forms of the Enter key.
+
+/Since: 2.18/
+-}
+type LabelActivateCurrentLinkCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `LabelActivateCurrentLinkCallback`@.
+noLabelActivateCurrentLinkCallback :: Maybe LabelActivateCurrentLinkCallback
+noLabelActivateCurrentLinkCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_LabelActivateCurrentLinkCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_LabelActivateCurrentLinkCallback`.
+foreign import ccall "wrapper"
+    mk_LabelActivateCurrentLinkCallback :: C_LabelActivateCurrentLinkCallback -> IO (FunPtr C_LabelActivateCurrentLinkCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_LabelActivateCurrentLink :: MonadIO m => LabelActivateCurrentLinkCallback -> m (GClosure C_LabelActivateCurrentLinkCallback)
+genClosure_LabelActivateCurrentLink cb = liftIO $ do
+    let cb' = wrap_LabelActivateCurrentLinkCallback cb
+    mk_LabelActivateCurrentLinkCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `LabelActivateCurrentLinkCallback` into a `C_LabelActivateCurrentLinkCallback`.
+wrap_LabelActivateCurrentLinkCallback ::
+    LabelActivateCurrentLinkCallback ->
+    C_LabelActivateCurrentLinkCallback
+wrap_LabelActivateCurrentLinkCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate-current-link@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' label #activateCurrentLink callback
+@
+-}
+onLabelActivateCurrentLink :: (IsLabel a, MonadIO m) => a -> LabelActivateCurrentLinkCallback -> m SignalHandlerId
+onLabelActivateCurrentLink obj cb = liftIO $ do
+    let cb' = wrap_LabelActivateCurrentLinkCallback cb
+    cb'' <- mk_LabelActivateCurrentLinkCallback cb'
+    connectSignalFunPtr obj "activate-current-link" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-current-link@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' label #activateCurrentLink callback
+@
+-}
+afterLabelActivateCurrentLink :: (IsLabel a, MonadIO m) => a -> LabelActivateCurrentLinkCallback -> m SignalHandlerId
+afterLabelActivateCurrentLink obj cb = liftIO $ do
+    let cb' = wrap_LabelActivateCurrentLinkCallback cb
+    cb'' <- mk_LabelActivateCurrentLinkCallback cb'
+    connectSignalFunPtr obj "activate-current-link" cb'' SignalConnectAfter
+
+
+-- signal Label::activate-link
+{- |
+The signal which gets emitted to activate a URI.
+Applications may connect to it to override the default behaviour,
+which is to call 'GI.Gtk.Functions.showUriOnWindow'.
+
+/Since: 2.18/
+-}
+type LabelActivateLinkCallback =
+    T.Text
+    {- ^ /@uri@/: the URI that is activated -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the link has been activated -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `LabelActivateLinkCallback`@.
+noLabelActivateLinkCallback :: Maybe LabelActivateLinkCallback
+noLabelActivateLinkCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_LabelActivateLinkCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_LabelActivateLinkCallback`.
+foreign import ccall "wrapper"
+    mk_LabelActivateLinkCallback :: C_LabelActivateLinkCallback -> IO (FunPtr C_LabelActivateLinkCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_LabelActivateLink :: MonadIO m => LabelActivateLinkCallback -> m (GClosure C_LabelActivateLinkCallback)
+genClosure_LabelActivateLink cb = liftIO $ do
+    let cb' = wrap_LabelActivateLinkCallback cb
+    mk_LabelActivateLinkCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `LabelActivateLinkCallback` into a `C_LabelActivateLinkCallback`.
+wrap_LabelActivateLinkCallback ::
+    LabelActivateLinkCallback ->
+    C_LabelActivateLinkCallback
+wrap_LabelActivateLinkCallback _cb _ uri _ = do
+    uri' <- cstringToText uri
+    result <- _cb  uri'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@activate-link@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' label #activateLink callback
+@
+-}
+onLabelActivateLink :: (IsLabel a, MonadIO m) => a -> LabelActivateLinkCallback -> m SignalHandlerId
+onLabelActivateLink obj cb = liftIO $ do
+    let cb' = wrap_LabelActivateLinkCallback cb
+    cb'' <- mk_LabelActivateLinkCallback cb'
+    connectSignalFunPtr obj "activate-link" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-link@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' label #activateLink callback
+@
+-}
+afterLabelActivateLink :: (IsLabel a, MonadIO m) => a -> LabelActivateLinkCallback -> m SignalHandlerId
+afterLabelActivateLink obj cb = liftIO $ do
+    let cb' = wrap_LabelActivateLinkCallback cb
+    cb'' <- mk_LabelActivateLinkCallback cb'
+    connectSignalFunPtr obj "activate-link" cb'' SignalConnectAfter
+
+
+-- signal Label::copy-clipboard
+{- |
+The ::copy-clipboard signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to copy the selection to the clipboard.
+
+The default binding for this signal is Ctrl-c.
+-}
+type LabelCopyClipboardCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `LabelCopyClipboardCallback`@.
+noLabelCopyClipboardCallback :: Maybe LabelCopyClipboardCallback
+noLabelCopyClipboardCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_LabelCopyClipboardCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_LabelCopyClipboardCallback`.
+foreign import ccall "wrapper"
+    mk_LabelCopyClipboardCallback :: C_LabelCopyClipboardCallback -> IO (FunPtr C_LabelCopyClipboardCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_LabelCopyClipboard :: MonadIO m => LabelCopyClipboardCallback -> m (GClosure C_LabelCopyClipboardCallback)
+genClosure_LabelCopyClipboard cb = liftIO $ do
+    let cb' = wrap_LabelCopyClipboardCallback cb
+    mk_LabelCopyClipboardCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `LabelCopyClipboardCallback` into a `C_LabelCopyClipboardCallback`.
+wrap_LabelCopyClipboardCallback ::
+    LabelCopyClipboardCallback ->
+    C_LabelCopyClipboardCallback
+wrap_LabelCopyClipboardCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@copy-clipboard@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' label #copyClipboard callback
+@
+-}
+onLabelCopyClipboard :: (IsLabel a, MonadIO m) => a -> LabelCopyClipboardCallback -> m SignalHandlerId
+onLabelCopyClipboard obj cb = liftIO $ do
+    let cb' = wrap_LabelCopyClipboardCallback cb
+    cb'' <- mk_LabelCopyClipboardCallback cb'
+    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@copy-clipboard@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' label #copyClipboard callback
+@
+-}
+afterLabelCopyClipboard :: (IsLabel a, MonadIO m) => a -> LabelCopyClipboardCallback -> m SignalHandlerId
+afterLabelCopyClipboard obj cb = liftIO $ do
+    let cb' = wrap_LabelCopyClipboardCallback cb
+    cb'' <- mk_LabelCopyClipboardCallback cb'
+    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectAfter
+
+
+-- signal Label::move-cursor
+{- |
+The ::move-cursor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a cursor movement.
+If the cursor is not visible in /@entry@/, this signal causes
+the viewport to be moved instead.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control the cursor
+programmatically.
+
+The default bindings for this signal come in two variants,
+the variant with the Shift modifier extends the selection,
+the variant without the Shift modifer does not.
+There are too many key combinations to list them all here.
+
+* Arrow keys move by individual characters\/lines
+* Ctrl-arrow key combinations move by words\/paragraphs
+* Home\/End keys move to the ends of the buffer
+-}
+type LabelMoveCursorCallback =
+    Gtk.Enums.MovementStep
+    {- ^ /@step@/: the granularity of the move, as a 'GI.Gtk.Enums.MovementStep' -}
+    -> Int32
+    {- ^ /@count@/: the number of /@step@/ units to move -}
+    -> Bool
+    {- ^ /@extendSelection@/: 'True' if the move should extend the selection -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `LabelMoveCursorCallback`@.
+noLabelMoveCursorCallback :: Maybe LabelMoveCursorCallback
+noLabelMoveCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_LabelMoveCursorCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_LabelMoveCursorCallback`.
+foreign import ccall "wrapper"
+    mk_LabelMoveCursorCallback :: C_LabelMoveCursorCallback -> IO (FunPtr C_LabelMoveCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_LabelMoveCursor :: MonadIO m => LabelMoveCursorCallback -> m (GClosure C_LabelMoveCursorCallback)
+genClosure_LabelMoveCursor cb = liftIO $ do
+    let cb' = wrap_LabelMoveCursorCallback cb
+    mk_LabelMoveCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `LabelMoveCursorCallback` into a `C_LabelMoveCursorCallback`.
+wrap_LabelMoveCursorCallback ::
+    LabelMoveCursorCallback ->
+    C_LabelMoveCursorCallback
+wrap_LabelMoveCursorCallback _cb _ step count extendSelection _ = do
+    let step' = (toEnum . fromIntegral) step
+    let extendSelection' = (/= 0) extendSelection
+    _cb  step' count extendSelection'
+
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' label #moveCursor callback
+@
+-}
+onLabelMoveCursor :: (IsLabel a, MonadIO m) => a -> LabelMoveCursorCallback -> m SignalHandlerId
+onLabelMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_LabelMoveCursorCallback cb
+    cb'' <- mk_LabelMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' label #moveCursor callback
+@
+-}
+afterLabelMoveCursor :: (IsLabel a, MonadIO m) => a -> LabelMoveCursorCallback -> m SignalHandlerId
+afterLabelMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_LabelMoveCursorCallback cb
+    cb'' <- mk_LabelMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectAfter
+
+
+-- signal Label::populate-popup
+{- |
+The ::populate-popup signal gets emitted before showing the
+context menu of the label. Note that only selectable labels
+have context menus.
+
+If you need to add items to the context menu, connect
+to this signal and append your menuitems to the /@menu@/.
+-}
+type LabelPopulatePopupCallback =
+    Gtk.Menu.Menu
+    {- ^ /@menu@/: the menu that is being populated -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `LabelPopulatePopupCallback`@.
+noLabelPopulatePopupCallback :: Maybe LabelPopulatePopupCallback
+noLabelPopulatePopupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_LabelPopulatePopupCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Menu.Menu ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_LabelPopulatePopupCallback`.
+foreign import ccall "wrapper"
+    mk_LabelPopulatePopupCallback :: C_LabelPopulatePopupCallback -> IO (FunPtr C_LabelPopulatePopupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_LabelPopulatePopup :: MonadIO m => LabelPopulatePopupCallback -> m (GClosure C_LabelPopulatePopupCallback)
+genClosure_LabelPopulatePopup cb = liftIO $ do
+    let cb' = wrap_LabelPopulatePopupCallback cb
+    mk_LabelPopulatePopupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `LabelPopulatePopupCallback` into a `C_LabelPopulatePopupCallback`.
+wrap_LabelPopulatePopupCallback ::
+    LabelPopulatePopupCallback ->
+    C_LabelPopulatePopupCallback
+wrap_LabelPopulatePopupCallback _cb _ menu _ = do
+    menu' <- (newObject Gtk.Menu.Menu) menu
+    _cb  menu'
+
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' label #populatePopup callback
+@
+-}
+onLabelPopulatePopup :: (IsLabel a, MonadIO m) => a -> LabelPopulatePopupCallback -> m SignalHandlerId
+onLabelPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_LabelPopulatePopupCallback cb
+    cb'' <- mk_LabelPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' label #populatePopup callback
+@
+-}
+afterLabelPopulatePopup :: (IsLabel a, MonadIO m) => a -> LabelPopulatePopupCallback -> m SignalHandlerId
+afterLabelPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_LabelPopulatePopupCallback cb
+    cb'' <- mk_LabelPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectAfter
+
+
+--- XXX Duplicated object with different types:
+  --- Name {namespace = "Gtk", name = "Label"} -> Property {propName = "xalign", propType = TBasicType TFloat, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The xalign property determines the horizontal aligment of the label text\ninside the labels size allocation. Compare this to #GtkWidget:halign,\nwhich determines how the labels size allocation is positioned in the\nspace available for the label.", sinceVersion = Just "3.16"}, propDeprecated = Nothing}
+  --- Name {namespace = "Gtk", name = "Misc"} -> Property {propName = "xalign", propType = TBasicType TFloat, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The horizontal alignment. A value of 0.0 means left alignment (or right\non RTL locales); a value of 1.0 means right alignment (or left on RTL\nlocales).", sinceVersion = Nothing}, propDeprecated = Just (DeprecationInfo {deprecatedSinceVersion = Just "3.14", deprecationMessage = Just "Use gtk_widget_set_halign() instead. If you are using\n  #GtkLabel, use #GtkLabel:xalign instead."})}
+--- XXX Duplicated object with different types:
+  --- Name {namespace = "Gtk", name = "Label"} -> Property {propName = "yalign", propType = TBasicType TFloat, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The yalign property determines the vertical aligment of the label text\ninside the labels size allocation. Compare this to #GtkWidget:valign,\nwhich determines how the labels size allocation is positioned in the\nspace available for the label.", sinceVersion = Just "3.16"}, propDeprecated = Nothing}
+  --- Name {namespace = "Gtk", name = "Misc"} -> Property {propName = "yalign", propType = TBasicType TFloat, propFlags = [PropertyReadable,PropertyWritable], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Just "The vertical alignment. A value of 0.0 means top alignment;\na value of 1.0 means bottom alignment.", sinceVersion = Nothing}, propDeprecated = Just (DeprecationInfo {deprecatedSinceVersion = Just "3.14", deprecationMessage = Just "Use gtk_widget_set_valign() instead. If you are using\n  #GtkLabel, use #GtkLabel:yalign instead."})}
+-- VVV Prop "angle"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@angle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #angle
+@
+-}
+getLabelAngle :: (MonadIO m, IsLabel o) => o -> m Double
+getLabelAngle obj = liftIO $ B.Properties.getObjectPropertyDouble obj "angle"
+
+{- |
+Set the value of the “@angle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #angle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelAngle :: (MonadIO m, IsLabel o) => o -> Double -> m ()
+setLabelAngle obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "angle" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@angle@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelAngle :: (IsLabel o) => Double -> IO (GValueConstruct o)
+constructLabelAngle val = B.Properties.constructObjectPropertyDouble "angle" val
+
+#if ENABLE_OVERLOADING
+data LabelAnglePropertyInfo
+instance AttrInfo LabelAnglePropertyInfo where
+    type AttrAllowedOps LabelAnglePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelAnglePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint LabelAnglePropertyInfo = IsLabel
+    type AttrGetType LabelAnglePropertyInfo = Double
+    type AttrLabel LabelAnglePropertyInfo = "angle"
+    type AttrOrigin LabelAnglePropertyInfo = Label
+    attrGet _ = getLabelAngle
+    attrSet _ = setLabelAngle
+    attrConstruct _ = constructLabelAngle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "attributes"
+   -- Type: TInterface (Name {namespace = "Pango", name = "AttrList"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@attributes@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #attributes
+@
+-}
+getLabelAttributes :: (MonadIO m, IsLabel o) => o -> m (Maybe Pango.AttrList.AttrList)
+getLabelAttributes obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "attributes" Pango.AttrList.AttrList
+
+{- |
+Set the value of the “@attributes@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #attributes 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelAttributes :: (MonadIO m, IsLabel o) => o -> Pango.AttrList.AttrList -> m ()
+setLabelAttributes obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "attributes" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@attributes@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelAttributes :: (IsLabel o) => Pango.AttrList.AttrList -> IO (GValueConstruct o)
+constructLabelAttributes val = B.Properties.constructObjectPropertyBoxed "attributes" (Just val)
+
+{- |
+Set the value of the “@attributes@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #attributes
+@
+-}
+clearLabelAttributes :: (MonadIO m, IsLabel o) => o -> m ()
+clearLabelAttributes obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "attributes" (Nothing :: Maybe Pango.AttrList.AttrList)
+
+#if ENABLE_OVERLOADING
+data LabelAttributesPropertyInfo
+instance AttrInfo LabelAttributesPropertyInfo where
+    type AttrAllowedOps LabelAttributesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LabelAttributesPropertyInfo = (~) Pango.AttrList.AttrList
+    type AttrBaseTypeConstraint LabelAttributesPropertyInfo = IsLabel
+    type AttrGetType LabelAttributesPropertyInfo = (Maybe Pango.AttrList.AttrList)
+    type AttrLabel LabelAttributesPropertyInfo = "attributes"
+    type AttrOrigin LabelAttributesPropertyInfo = Label
+    attrGet _ = getLabelAttributes
+    attrSet _ = setLabelAttributes
+    attrConstruct _ = constructLabelAttributes
+    attrClear _ = clearLabelAttributes
+#endif
+
+-- VVV Prop "cursor-position"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cursor-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #cursorPosition
+@
+-}
+getLabelCursorPosition :: (MonadIO m, IsLabel o) => o -> m Int32
+getLabelCursorPosition obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "cursor-position"
+
+#if ENABLE_OVERLOADING
+data LabelCursorPositionPropertyInfo
+instance AttrInfo LabelCursorPositionPropertyInfo where
+    type AttrAllowedOps LabelCursorPositionPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint LabelCursorPositionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint LabelCursorPositionPropertyInfo = IsLabel
+    type AttrGetType LabelCursorPositionPropertyInfo = Int32
+    type AttrLabel LabelCursorPositionPropertyInfo = "cursor-position"
+    type AttrOrigin LabelCursorPositionPropertyInfo = Label
+    attrGet _ = getLabelCursorPosition
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "ellipsize"
+   -- Type: TInterface (Name {namespace = "Pango", name = "EllipsizeMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@ellipsize@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #ellipsize
+@
+-}
+getLabelEllipsize :: (MonadIO m, IsLabel o) => o -> m Pango.Enums.EllipsizeMode
+getLabelEllipsize obj = liftIO $ B.Properties.getObjectPropertyEnum obj "ellipsize"
+
+{- |
+Set the value of the “@ellipsize@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #ellipsize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelEllipsize :: (MonadIO m, IsLabel o) => o -> Pango.Enums.EllipsizeMode -> m ()
+setLabelEllipsize obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "ellipsize" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@ellipsize@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelEllipsize :: (IsLabel o) => Pango.Enums.EllipsizeMode -> IO (GValueConstruct o)
+constructLabelEllipsize val = B.Properties.constructObjectPropertyEnum "ellipsize" val
+
+#if ENABLE_OVERLOADING
+data LabelEllipsizePropertyInfo
+instance AttrInfo LabelEllipsizePropertyInfo where
+    type AttrAllowedOps LabelEllipsizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelEllipsizePropertyInfo = (~) Pango.Enums.EllipsizeMode
+    type AttrBaseTypeConstraint LabelEllipsizePropertyInfo = IsLabel
+    type AttrGetType LabelEllipsizePropertyInfo = Pango.Enums.EllipsizeMode
+    type AttrLabel LabelEllipsizePropertyInfo = "ellipsize"
+    type AttrOrigin LabelEllipsizePropertyInfo = Label
+    attrGet _ = getLabelEllipsize
+    attrSet _ = setLabelEllipsize
+    attrConstruct _ = constructLabelEllipsize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "justify"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Justification"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@justify@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #justify
+@
+-}
+getLabelJustify :: (MonadIO m, IsLabel o) => o -> m Gtk.Enums.Justification
+getLabelJustify obj = liftIO $ B.Properties.getObjectPropertyEnum obj "justify"
+
+{- |
+Set the value of the “@justify@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #justify 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelJustify :: (MonadIO m, IsLabel o) => o -> Gtk.Enums.Justification -> m ()
+setLabelJustify obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "justify" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@justify@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelJustify :: (IsLabel o) => Gtk.Enums.Justification -> IO (GValueConstruct o)
+constructLabelJustify val = B.Properties.constructObjectPropertyEnum "justify" val
+
+#if ENABLE_OVERLOADING
+data LabelJustifyPropertyInfo
+instance AttrInfo LabelJustifyPropertyInfo where
+    type AttrAllowedOps LabelJustifyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelJustifyPropertyInfo = (~) Gtk.Enums.Justification
+    type AttrBaseTypeConstraint LabelJustifyPropertyInfo = IsLabel
+    type AttrGetType LabelJustifyPropertyInfo = Gtk.Enums.Justification
+    type AttrLabel LabelJustifyPropertyInfo = "justify"
+    type AttrOrigin LabelJustifyPropertyInfo = Label
+    attrGet _ = getLabelJustify
+    attrSet _ = setLabelJustify
+    attrConstruct _ = constructLabelJustify
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #label
+@
+-}
+getLabelLabel :: (MonadIO m, IsLabel o) => o -> m T.Text
+getLabelLabel obj = liftIO $ checkUnexpectedNothing "getLabelLabel" $ B.Properties.getObjectPropertyString obj "label"
+
+{- |
+Set the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelLabel :: (MonadIO m, IsLabel o) => o -> T.Text -> m ()
+setLabelLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelLabel :: (IsLabel o) => T.Text -> IO (GValueConstruct o)
+constructLabelLabel val = B.Properties.constructObjectPropertyString "label" (Just val)
+
+#if ENABLE_OVERLOADING
+data LabelLabelPropertyInfo
+instance AttrInfo LabelLabelPropertyInfo where
+    type AttrAllowedOps LabelLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint LabelLabelPropertyInfo = IsLabel
+    type AttrGetType LabelLabelPropertyInfo = T.Text
+    type AttrLabel LabelLabelPropertyInfo = "label"
+    type AttrOrigin LabelLabelPropertyInfo = Label
+    attrGet _ = getLabelLabel
+    attrSet _ = setLabelLabel
+    attrConstruct _ = constructLabelLabel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "lines"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #lines
+@
+-}
+getLabelLines :: (MonadIO m, IsLabel o) => o -> m Int32
+getLabelLines obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "lines"
+
+{- |
+Set the value of the “@lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #lines 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelLines :: (MonadIO m, IsLabel o) => o -> Int32 -> m ()
+setLabelLines obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "lines" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@lines@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelLines :: (IsLabel o) => Int32 -> IO (GValueConstruct o)
+constructLabelLines val = B.Properties.constructObjectPropertyInt32 "lines" val
+
+#if ENABLE_OVERLOADING
+data LabelLinesPropertyInfo
+instance AttrInfo LabelLinesPropertyInfo where
+    type AttrAllowedOps LabelLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelLinesPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint LabelLinesPropertyInfo = IsLabel
+    type AttrGetType LabelLinesPropertyInfo = Int32
+    type AttrLabel LabelLinesPropertyInfo = "lines"
+    type AttrOrigin LabelLinesPropertyInfo = Label
+    attrGet _ = getLabelLines
+    attrSet _ = setLabelLines
+    attrConstruct _ = constructLabelLines
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "max-width-chars"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@max-width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #maxWidthChars
+@
+-}
+getLabelMaxWidthChars :: (MonadIO m, IsLabel o) => o -> m Int32
+getLabelMaxWidthChars obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-width-chars"
+
+{- |
+Set the value of the “@max-width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #maxWidthChars 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelMaxWidthChars :: (MonadIO m, IsLabel o) => o -> Int32 -> m ()
+setLabelMaxWidthChars obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "max-width-chars" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-width-chars@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelMaxWidthChars :: (IsLabel o) => Int32 -> IO (GValueConstruct o)
+constructLabelMaxWidthChars val = B.Properties.constructObjectPropertyInt32 "max-width-chars" val
+
+#if ENABLE_OVERLOADING
+data LabelMaxWidthCharsPropertyInfo
+instance AttrInfo LabelMaxWidthCharsPropertyInfo where
+    type AttrAllowedOps LabelMaxWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelMaxWidthCharsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint LabelMaxWidthCharsPropertyInfo = IsLabel
+    type AttrGetType LabelMaxWidthCharsPropertyInfo = Int32
+    type AttrLabel LabelMaxWidthCharsPropertyInfo = "max-width-chars"
+    type AttrOrigin LabelMaxWidthCharsPropertyInfo = Label
+    attrGet _ = getLabelMaxWidthChars
+    attrSet _ = setLabelMaxWidthChars
+    attrConstruct _ = constructLabelMaxWidthChars
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "mnemonic-keyval"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@mnemonic-keyval@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #mnemonicKeyval
+@
+-}
+getLabelMnemonicKeyval :: (MonadIO m, IsLabel o) => o -> m Word32
+getLabelMnemonicKeyval obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "mnemonic-keyval"
+
+#if ENABLE_OVERLOADING
+data LabelMnemonicKeyvalPropertyInfo
+instance AttrInfo LabelMnemonicKeyvalPropertyInfo where
+    type AttrAllowedOps LabelMnemonicKeyvalPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint LabelMnemonicKeyvalPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint LabelMnemonicKeyvalPropertyInfo = IsLabel
+    type AttrGetType LabelMnemonicKeyvalPropertyInfo = Word32
+    type AttrLabel LabelMnemonicKeyvalPropertyInfo = "mnemonic-keyval"
+    type AttrOrigin LabelMnemonicKeyvalPropertyInfo = Label
+    attrGet _ = getLabelMnemonicKeyval
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "mnemonic-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@mnemonic-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #mnemonicWidget
+@
+-}
+getLabelMnemonicWidget :: (MonadIO m, IsLabel o) => o -> m (Maybe Gtk.Widget.Widget)
+getLabelMnemonicWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "mnemonic-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@mnemonic-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #mnemonicWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelMnemonicWidget :: (MonadIO m, IsLabel o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setLabelMnemonicWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "mnemonic-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@mnemonic-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelMnemonicWidget :: (IsLabel o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructLabelMnemonicWidget val = B.Properties.constructObjectPropertyObject "mnemonic-widget" (Just val)
+
+{- |
+Set the value of the “@mnemonic-widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #mnemonicWidget
+@
+-}
+clearLabelMnemonicWidget :: (MonadIO m, IsLabel o) => o -> m ()
+clearLabelMnemonicWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "mnemonic-widget" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data LabelMnemonicWidgetPropertyInfo
+instance AttrInfo LabelMnemonicWidgetPropertyInfo where
+    type AttrAllowedOps LabelMnemonicWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LabelMnemonicWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint LabelMnemonicWidgetPropertyInfo = IsLabel
+    type AttrGetType LabelMnemonicWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel LabelMnemonicWidgetPropertyInfo = "mnemonic-widget"
+    type AttrOrigin LabelMnemonicWidgetPropertyInfo = Label
+    attrGet _ = getLabelMnemonicWidget
+    attrSet _ = setLabelMnemonicWidget
+    attrConstruct _ = constructLabelMnemonicWidget
+    attrClear _ = clearLabelMnemonicWidget
+#endif
+
+-- VVV Prop "pattern"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Set the value of the “@pattern@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #pattern 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelPattern :: (MonadIO m, IsLabel o) => o -> T.Text -> m ()
+setLabelPattern obj val = liftIO $ B.Properties.setObjectPropertyString obj "pattern" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pattern@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelPattern :: (IsLabel o) => T.Text -> IO (GValueConstruct o)
+constructLabelPattern val = B.Properties.constructObjectPropertyString "pattern" (Just val)
+
+#if ENABLE_OVERLOADING
+data LabelPatternPropertyInfo
+instance AttrInfo LabelPatternPropertyInfo where
+    type AttrAllowedOps LabelPatternPropertyInfo = '[ 'AttrSet, 'AttrConstruct]
+    type AttrSetTypeConstraint LabelPatternPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint LabelPatternPropertyInfo = IsLabel
+    type AttrGetType LabelPatternPropertyInfo = ()
+    type AttrLabel LabelPatternPropertyInfo = "pattern"
+    type AttrOrigin LabelPatternPropertyInfo = Label
+    attrGet _ = undefined
+    attrSet _ = setLabelPattern
+    attrConstruct _ = constructLabelPattern
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "selectable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@selectable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #selectable
+@
+-}
+getLabelSelectable :: (MonadIO m, IsLabel o) => o -> m Bool
+getLabelSelectable obj = liftIO $ B.Properties.getObjectPropertyBool obj "selectable"
+
+{- |
+Set the value of the “@selectable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #selectable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelSelectable :: (MonadIO m, IsLabel o) => o -> Bool -> m ()
+setLabelSelectable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "selectable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@selectable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelSelectable :: (IsLabel o) => Bool -> IO (GValueConstruct o)
+constructLabelSelectable val = B.Properties.constructObjectPropertyBool "selectable" val
+
+#if ENABLE_OVERLOADING
+data LabelSelectablePropertyInfo
+instance AttrInfo LabelSelectablePropertyInfo where
+    type AttrAllowedOps LabelSelectablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelSelectablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint LabelSelectablePropertyInfo = IsLabel
+    type AttrGetType LabelSelectablePropertyInfo = Bool
+    type AttrLabel LabelSelectablePropertyInfo = "selectable"
+    type AttrOrigin LabelSelectablePropertyInfo = Label
+    attrGet _ = getLabelSelectable
+    attrSet _ = setLabelSelectable
+    attrConstruct _ = constructLabelSelectable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "selection-bound"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@selection-bound@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #selectionBound
+@
+-}
+getLabelSelectionBound :: (MonadIO m, IsLabel o) => o -> m Int32
+getLabelSelectionBound obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "selection-bound"
+
+#if ENABLE_OVERLOADING
+data LabelSelectionBoundPropertyInfo
+instance AttrInfo LabelSelectionBoundPropertyInfo where
+    type AttrAllowedOps LabelSelectionBoundPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint LabelSelectionBoundPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint LabelSelectionBoundPropertyInfo = IsLabel
+    type AttrGetType LabelSelectionBoundPropertyInfo = Int32
+    type AttrLabel LabelSelectionBoundPropertyInfo = "selection-bound"
+    type AttrOrigin LabelSelectionBoundPropertyInfo = Label
+    attrGet _ = getLabelSelectionBound
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "single-line-mode"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@single-line-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #singleLineMode
+@
+-}
+getLabelSingleLineMode :: (MonadIO m, IsLabel o) => o -> m Bool
+getLabelSingleLineMode obj = liftIO $ B.Properties.getObjectPropertyBool obj "single-line-mode"
+
+{- |
+Set the value of the “@single-line-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #singleLineMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelSingleLineMode :: (MonadIO m, IsLabel o) => o -> Bool -> m ()
+setLabelSingleLineMode obj val = liftIO $ B.Properties.setObjectPropertyBool obj "single-line-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@single-line-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelSingleLineMode :: (IsLabel o) => Bool -> IO (GValueConstruct o)
+constructLabelSingleLineMode val = B.Properties.constructObjectPropertyBool "single-line-mode" val
+
+#if ENABLE_OVERLOADING
+data LabelSingleLineModePropertyInfo
+instance AttrInfo LabelSingleLineModePropertyInfo where
+    type AttrAllowedOps LabelSingleLineModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelSingleLineModePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint LabelSingleLineModePropertyInfo = IsLabel
+    type AttrGetType LabelSingleLineModePropertyInfo = Bool
+    type AttrLabel LabelSingleLineModePropertyInfo = "single-line-mode"
+    type AttrOrigin LabelSingleLineModePropertyInfo = Label
+    attrGet _ = getLabelSingleLineMode
+    attrSet _ = setLabelSingleLineMode
+    attrConstruct _ = constructLabelSingleLineMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "track-visited-links"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@track-visited-links@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #trackVisitedLinks
+@
+-}
+getLabelTrackVisitedLinks :: (MonadIO m, IsLabel o) => o -> m Bool
+getLabelTrackVisitedLinks obj = liftIO $ B.Properties.getObjectPropertyBool obj "track-visited-links"
+
+{- |
+Set the value of the “@track-visited-links@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #trackVisitedLinks 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelTrackVisitedLinks :: (MonadIO m, IsLabel o) => o -> Bool -> m ()
+setLabelTrackVisitedLinks obj val = liftIO $ B.Properties.setObjectPropertyBool obj "track-visited-links" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@track-visited-links@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelTrackVisitedLinks :: (IsLabel o) => Bool -> IO (GValueConstruct o)
+constructLabelTrackVisitedLinks val = B.Properties.constructObjectPropertyBool "track-visited-links" val
+
+#if ENABLE_OVERLOADING
+data LabelTrackVisitedLinksPropertyInfo
+instance AttrInfo LabelTrackVisitedLinksPropertyInfo where
+    type AttrAllowedOps LabelTrackVisitedLinksPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelTrackVisitedLinksPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint LabelTrackVisitedLinksPropertyInfo = IsLabel
+    type AttrGetType LabelTrackVisitedLinksPropertyInfo = Bool
+    type AttrLabel LabelTrackVisitedLinksPropertyInfo = "track-visited-links"
+    type AttrOrigin LabelTrackVisitedLinksPropertyInfo = Label
+    attrGet _ = getLabelTrackVisitedLinks
+    attrSet _ = setLabelTrackVisitedLinks
+    attrConstruct _ = constructLabelTrackVisitedLinks
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-markup"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #useMarkup
+@
+-}
+getLabelUseMarkup :: (MonadIO m, IsLabel o) => o -> m Bool
+getLabelUseMarkup obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-markup"
+
+{- |
+Set the value of the “@use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #useMarkup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelUseMarkup :: (MonadIO m, IsLabel o) => o -> Bool -> m ()
+setLabelUseMarkup obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-markup" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelUseMarkup :: (IsLabel o) => Bool -> IO (GValueConstruct o)
+constructLabelUseMarkup val = B.Properties.constructObjectPropertyBool "use-markup" val
+
+#if ENABLE_OVERLOADING
+data LabelUseMarkupPropertyInfo
+instance AttrInfo LabelUseMarkupPropertyInfo where
+    type AttrAllowedOps LabelUseMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelUseMarkupPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint LabelUseMarkupPropertyInfo = IsLabel
+    type AttrGetType LabelUseMarkupPropertyInfo = Bool
+    type AttrLabel LabelUseMarkupPropertyInfo = "use-markup"
+    type AttrOrigin LabelUseMarkupPropertyInfo = Label
+    attrGet _ = getLabelUseMarkup
+    attrSet _ = setLabelUseMarkup
+    attrConstruct _ = constructLabelUseMarkup
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-underline"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #useUnderline
+@
+-}
+getLabelUseUnderline :: (MonadIO m, IsLabel o) => o -> m Bool
+getLabelUseUnderline obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-underline"
+
+{- |
+Set the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #useUnderline 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelUseUnderline :: (MonadIO m, IsLabel o) => o -> Bool -> m ()
+setLabelUseUnderline obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-underline" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-underline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelUseUnderline :: (IsLabel o) => Bool -> IO (GValueConstruct o)
+constructLabelUseUnderline val = B.Properties.constructObjectPropertyBool "use-underline" val
+
+#if ENABLE_OVERLOADING
+data LabelUseUnderlinePropertyInfo
+instance AttrInfo LabelUseUnderlinePropertyInfo where
+    type AttrAllowedOps LabelUseUnderlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelUseUnderlinePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint LabelUseUnderlinePropertyInfo = IsLabel
+    type AttrGetType LabelUseUnderlinePropertyInfo = Bool
+    type AttrLabel LabelUseUnderlinePropertyInfo = "use-underline"
+    type AttrOrigin LabelUseUnderlinePropertyInfo = Label
+    attrGet _ = getLabelUseUnderline
+    attrSet _ = setLabelUseUnderline
+    attrConstruct _ = constructLabelUseUnderline
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "width-chars"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #widthChars
+@
+-}
+getLabelWidthChars :: (MonadIO m, IsLabel o) => o -> m Int32
+getLabelWidthChars obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "width-chars"
+
+{- |
+Set the value of the “@width-chars@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #widthChars 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelWidthChars :: (MonadIO m, IsLabel o) => o -> Int32 -> m ()
+setLabelWidthChars obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "width-chars" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@width-chars@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelWidthChars :: (IsLabel o) => Int32 -> IO (GValueConstruct o)
+constructLabelWidthChars val = B.Properties.constructObjectPropertyInt32 "width-chars" val
+
+#if ENABLE_OVERLOADING
+data LabelWidthCharsPropertyInfo
+instance AttrInfo LabelWidthCharsPropertyInfo where
+    type AttrAllowedOps LabelWidthCharsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelWidthCharsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint LabelWidthCharsPropertyInfo = IsLabel
+    type AttrGetType LabelWidthCharsPropertyInfo = Int32
+    type AttrLabel LabelWidthCharsPropertyInfo = "width-chars"
+    type AttrOrigin LabelWidthCharsPropertyInfo = Label
+    attrGet _ = getLabelWidthChars
+    attrSet _ = setLabelWidthChars
+    attrConstruct _ = constructLabelWidthChars
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wrap"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@wrap@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #wrap
+@
+-}
+getLabelWrap :: (MonadIO m, IsLabel o) => o -> m Bool
+getLabelWrap obj = liftIO $ B.Properties.getObjectPropertyBool obj "wrap"
+
+{- |
+Set the value of the “@wrap@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #wrap 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelWrap :: (MonadIO m, IsLabel o) => o -> Bool -> m ()
+setLabelWrap obj val = liftIO $ B.Properties.setObjectPropertyBool obj "wrap" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelWrap :: (IsLabel o) => Bool -> IO (GValueConstruct o)
+constructLabelWrap val = B.Properties.constructObjectPropertyBool "wrap" val
+
+#if ENABLE_OVERLOADING
+data LabelWrapPropertyInfo
+instance AttrInfo LabelWrapPropertyInfo where
+    type AttrAllowedOps LabelWrapPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelWrapPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint LabelWrapPropertyInfo = IsLabel
+    type AttrGetType LabelWrapPropertyInfo = Bool
+    type AttrLabel LabelWrapPropertyInfo = "wrap"
+    type AttrOrigin LabelWrapPropertyInfo = Label
+    attrGet _ = getLabelWrap
+    attrSet _ = setLabelWrap
+    attrConstruct _ = constructLabelWrap
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wrap-mode"
+   -- Type: TInterface (Name {namespace = "Pango", name = "WrapMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@wrap-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #wrapMode
+@
+-}
+getLabelWrapMode :: (MonadIO m, IsLabel o) => o -> m Pango.Enums.WrapMode
+getLabelWrapMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "wrap-mode"
+
+{- |
+Set the value of the “@wrap-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #wrapMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelWrapMode :: (MonadIO m, IsLabel o) => o -> Pango.Enums.WrapMode -> m ()
+setLabelWrapMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "wrap-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelWrapMode :: (IsLabel o) => Pango.Enums.WrapMode -> IO (GValueConstruct o)
+constructLabelWrapMode val = B.Properties.constructObjectPropertyEnum "wrap-mode" val
+
+#if ENABLE_OVERLOADING
+data LabelWrapModePropertyInfo
+instance AttrInfo LabelWrapModePropertyInfo where
+    type AttrAllowedOps LabelWrapModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelWrapModePropertyInfo = (~) Pango.Enums.WrapMode
+    type AttrBaseTypeConstraint LabelWrapModePropertyInfo = IsLabel
+    type AttrGetType LabelWrapModePropertyInfo = Pango.Enums.WrapMode
+    type AttrLabel LabelWrapModePropertyInfo = "wrap-mode"
+    type AttrOrigin LabelWrapModePropertyInfo = Label
+    attrGet _ = getLabelWrapMode
+    attrSet _ = setLabelWrapMode
+    attrConstruct _ = constructLabelWrapMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #xalign
+@
+-}
+getLabelXalign :: (MonadIO m, IsLabel o) => o -> m Float
+getLabelXalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "xalign"
+
+{- |
+Set the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #xalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelXalign :: (MonadIO m, IsLabel o) => o -> Float -> m ()
+setLabelXalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "xalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelXalign :: (IsLabel o) => Float -> IO (GValueConstruct o)
+constructLabelXalign val = B.Properties.constructObjectPropertyFloat "xalign" val
+
+#if ENABLE_OVERLOADING
+data LabelXalignPropertyInfo
+instance AttrInfo LabelXalignPropertyInfo where
+    type AttrAllowedOps LabelXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint LabelXalignPropertyInfo = IsLabel
+    type AttrGetType LabelXalignPropertyInfo = Float
+    type AttrLabel LabelXalignPropertyInfo = "xalign"
+    type AttrOrigin LabelXalignPropertyInfo = Label
+    attrGet _ = getLabelXalign
+    attrSet _ = setLabelXalign
+    attrConstruct _ = constructLabelXalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "yalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' label #yalign
+@
+-}
+getLabelYalign :: (MonadIO m, IsLabel o) => o -> m Float
+getLabelYalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "yalign"
+
+{- |
+Set the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' label [ #yalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLabelYalign :: (MonadIO m, IsLabel o) => o -> Float -> m ()
+setLabelYalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "yalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@yalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLabelYalign :: (IsLabel o) => Float -> IO (GValueConstruct o)
+constructLabelYalign val = B.Properties.constructObjectPropertyFloat "yalign" val
+
+#if ENABLE_OVERLOADING
+data LabelYalignPropertyInfo
+instance AttrInfo LabelYalignPropertyInfo where
+    type AttrAllowedOps LabelYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LabelYalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint LabelYalignPropertyInfo = IsLabel
+    type AttrGetType LabelYalignPropertyInfo = Float
+    type AttrLabel LabelYalignPropertyInfo = "yalign"
+    type AttrOrigin LabelYalignPropertyInfo = Label
+    attrGet _ = getLabelYalign
+    attrSet _ = setLabelYalign
+    attrConstruct _ = constructLabelYalign
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Label
+type instance O.AttributeList Label = LabelAttributeList
+type LabelAttributeList = ('[ '("angle", LabelAnglePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("attributes", LabelAttributesPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("cursorPosition", LabelCursorPositionPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("ellipsize", LabelEllipsizePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("justify", LabelJustifyPropertyInfo), '("label", LabelLabelPropertyInfo), '("lines", LabelLinesPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxWidthChars", LabelMaxWidthCharsPropertyInfo), '("mnemonicKeyval", LabelMnemonicKeyvalPropertyInfo), '("mnemonicWidget", LabelMnemonicWidgetPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("pattern", LabelPatternPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectable", LabelSelectablePropertyInfo), '("selectionBound", LabelSelectionBoundPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("singleLineMode", LabelSingleLineModePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("trackVisitedLinks", LabelTrackVisitedLinksPropertyInfo), '("useMarkup", LabelUseMarkupPropertyInfo), '("useUnderline", LabelUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthChars", LabelWidthCharsPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("wrap", LabelWrapPropertyInfo), '("wrapMode", LabelWrapModePropertyInfo), '("xalign", LabelXalignPropertyInfo), '("xpad", Gtk.Misc.MiscXpadPropertyInfo), '("yalign", LabelYalignPropertyInfo), '("ypad", Gtk.Misc.MiscYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+labelAngle :: AttrLabelProxy "angle"
+labelAngle = AttrLabelProxy
+
+labelAttributes :: AttrLabelProxy "attributes"
+labelAttributes = AttrLabelProxy
+
+labelCursorPosition :: AttrLabelProxy "cursorPosition"
+labelCursorPosition = AttrLabelProxy
+
+labelEllipsize :: AttrLabelProxy "ellipsize"
+labelEllipsize = AttrLabelProxy
+
+labelJustify :: AttrLabelProxy "justify"
+labelJustify = AttrLabelProxy
+
+labelLabel :: AttrLabelProxy "label"
+labelLabel = AttrLabelProxy
+
+labelLines :: AttrLabelProxy "lines"
+labelLines = AttrLabelProxy
+
+labelMaxWidthChars :: AttrLabelProxy "maxWidthChars"
+labelMaxWidthChars = AttrLabelProxy
+
+labelMnemonicKeyval :: AttrLabelProxy "mnemonicKeyval"
+labelMnemonicKeyval = AttrLabelProxy
+
+labelMnemonicWidget :: AttrLabelProxy "mnemonicWidget"
+labelMnemonicWidget = AttrLabelProxy
+
+labelPattern :: AttrLabelProxy "pattern"
+labelPattern = AttrLabelProxy
+
+labelSelectable :: AttrLabelProxy "selectable"
+labelSelectable = AttrLabelProxy
+
+labelSelectionBound :: AttrLabelProxy "selectionBound"
+labelSelectionBound = AttrLabelProxy
+
+labelSingleLineMode :: AttrLabelProxy "singleLineMode"
+labelSingleLineMode = AttrLabelProxy
+
+labelTrackVisitedLinks :: AttrLabelProxy "trackVisitedLinks"
+labelTrackVisitedLinks = AttrLabelProxy
+
+labelUseMarkup :: AttrLabelProxy "useMarkup"
+labelUseMarkup = AttrLabelProxy
+
+labelUseUnderline :: AttrLabelProxy "useUnderline"
+labelUseUnderline = AttrLabelProxy
+
+labelWidthChars :: AttrLabelProxy "widthChars"
+labelWidthChars = AttrLabelProxy
+
+labelWrap :: AttrLabelProxy "wrap"
+labelWrap = AttrLabelProxy
+
+labelWrapMode :: AttrLabelProxy "wrapMode"
+labelWrapMode = AttrLabelProxy
+
+labelXalign :: AttrLabelProxy "xalign"
+labelXalign = AttrLabelProxy
+
+labelYalign :: AttrLabelProxy "yalign"
+labelYalign = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data LabelActivateCurrentLinkSignalInfo
+instance SignalInfo LabelActivateCurrentLinkSignalInfo where
+    type HaskellCallbackType LabelActivateCurrentLinkSignalInfo = LabelActivateCurrentLinkCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_LabelActivateCurrentLinkCallback cb
+        cb'' <- mk_LabelActivateCurrentLinkCallback cb'
+        connectSignalFunPtr obj "activate-current-link" cb'' connectMode
+
+data LabelActivateLinkSignalInfo
+instance SignalInfo LabelActivateLinkSignalInfo where
+    type HaskellCallbackType LabelActivateLinkSignalInfo = LabelActivateLinkCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_LabelActivateLinkCallback cb
+        cb'' <- mk_LabelActivateLinkCallback cb'
+        connectSignalFunPtr obj "activate-link" cb'' connectMode
+
+data LabelCopyClipboardSignalInfo
+instance SignalInfo LabelCopyClipboardSignalInfo where
+    type HaskellCallbackType LabelCopyClipboardSignalInfo = LabelCopyClipboardCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_LabelCopyClipboardCallback cb
+        cb'' <- mk_LabelCopyClipboardCallback cb'
+        connectSignalFunPtr obj "copy-clipboard" cb'' connectMode
+
+data LabelMoveCursorSignalInfo
+instance SignalInfo LabelMoveCursorSignalInfo where
+    type HaskellCallbackType LabelMoveCursorSignalInfo = LabelMoveCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_LabelMoveCursorCallback cb
+        cb'' <- mk_LabelMoveCursorCallback cb'
+        connectSignalFunPtr obj "move-cursor" cb'' connectMode
+
+data LabelPopulatePopupSignalInfo
+instance SignalInfo LabelPopulatePopupSignalInfo where
+    type HaskellCallbackType LabelPopulatePopupSignalInfo = LabelPopulatePopupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_LabelPopulatePopupCallback cb
+        cb'' <- mk_LabelPopulatePopupCallback cb'
+        connectSignalFunPtr obj "populate-popup" cb'' connectMode
+
+type instance O.SignalList Label = LabelSignalList
+type LabelSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateCurrentLink", LabelActivateCurrentLinkSignalInfo), '("activateLink", LabelActivateLinkSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("copyClipboard", LabelCopyClipboardSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", LabelMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("populatePopup", LabelPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Label::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The text of the label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Label"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_new" gtk_label_new :: 
+    CString ->                              -- str : TBasicType TUTF8
+    IO (Ptr Label)
+
+{- |
+Creates a new label with the given text inside it. You can
+pass 'Nothing' to get an empty label widget.
+-}
+labelNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@str@/: The text of the label -}
+    -> m Label
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Label.Label' -}
+labelNew str = liftIO $ do
+    maybeStr <- case str of
+        Nothing -> return nullPtr
+        Just jStr -> do
+            jStr' <- textToCString jStr
+            return jStr'
+    result <- gtk_label_new maybeStr
+    checkUnexpectedReturnNULL "labelNew" result
+    result' <- (newObject Label) result
+    freeMem maybeStr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Label::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The text of the label, with an underscore in front of the\n      mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Label"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_new_with_mnemonic" gtk_label_new_with_mnemonic :: 
+    CString ->                              -- str : TBasicType TUTF8
+    IO (Ptr Label)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Label.Label', containing the text in /@str@/.
+
+If characters in /@str@/ are preceded by an underscore, they are
+underlined. If you need a literal underscore character in a label, use
+\'__\' (two underscores). The first underlined character represents a
+keyboard accelerator called a mnemonic. The mnemonic key can be used
+to activate another widget, chosen automatically, or explicitly using
+'GI.Gtk.Objects.Label.labelSetMnemonicWidget'.
+
+If 'GI.Gtk.Objects.Label.labelSetMnemonicWidget' is not called, then the first
+activatable ancestor of the 'GI.Gtk.Objects.Label.Label' will be chosen as the mnemonic
+widget. For instance, if the label is inside a button or menu item,
+the button or menu item will automatically become the mnemonic widget
+and be activated by the mnemonic.
+-}
+labelNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@str@/: The text of the label, with an underscore in front of the
+      mnemonic character -}
+    -> m Label
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Label.Label' -}
+labelNewWithMnemonic str = liftIO $ do
+    maybeStr <- case str of
+        Nothing -> return nullPtr
+        Just jStr -> do
+            jStr' <- textToCString jStr
+            return jStr'
+    result <- gtk_label_new_with_mnemonic maybeStr
+    checkUnexpectedReturnNULL "labelNewWithMnemonic" result
+    result' <- (newObject Label) result
+    freeMem maybeStr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Label::get_angle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_angle" gtk_label_get_angle :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CDouble
+
+{- |
+Gets the angle of rotation for the label. See
+'GI.Gtk.Objects.Label.labelSetAngle'.
+
+/Since: 2.6/
+-}
+labelGetAngle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Double
+    {- ^ __Returns:__ the angle of rotation for the label -}
+labelGetAngle label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_angle label'
+    let result' = realToFrac result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetAngleMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsLabel a) => O.MethodInfo LabelGetAngleMethodInfo a signature where
+    overloadedMethod _ = labelGetAngle
+
+#endif
+
+-- method Label::get_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "AttrList"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_attributes" gtk_label_get_attributes :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO (Ptr Pango.AttrList.AttrList)
+
+{- |
+Gets the attribute list that was set on the label using
+'GI.Gtk.Objects.Label.labelSetAttributes', if any. This function does
+not reflect attributes that come from the labels markup
+(see 'GI.Gtk.Objects.Label.labelSetMarkup'). If you want to get the
+effective attributes for the label, use
+pango_layout_get_attribute (gtk_label_get_layout (label)).
+-}
+labelGetAttributes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m (Maybe Pango.AttrList.AttrList)
+    {- ^ __Returns:__ the attribute list, or 'Nothing'
+    if none was set. -}
+labelGetAttributes label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_attributes label'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Pango.AttrList.AttrList) result'
+        return result''
+    touchManagedPtr label
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data LabelGetAttributesMethodInfo
+instance (signature ~ (m (Maybe Pango.AttrList.AttrList)), MonadIO m, IsLabel a) => O.MethodInfo LabelGetAttributesMethodInfo a signature where
+    overloadedMethod _ = labelGetAttributes
+
+#endif
+
+-- method Label::get_current_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_current_uri" gtk_label_get_current_uri :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CString
+
+{- |
+Returns the URI for the currently active link in the label.
+The active link is the one under the mouse pointer or, in a
+selectable label, the link in which the text cursor is currently
+positioned.
+
+This function is intended for use in a 'GI.Gtk.Objects.Label.Label'::@/activate-link/@ handler
+or for use in a 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ handler.
+
+/Since: 2.18/
+-}
+labelGetCurrentUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m T.Text
+    {- ^ __Returns:__ the currently active URI. The string is owned by GTK+ and must
+  not be freed or modified. -}
+labelGetCurrentUri label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_current_uri label'
+    checkUnexpectedReturnNULL "labelGetCurrentUri" result
+    result' <- cstringToText result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetCurrentUriMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsLabel a) => O.MethodInfo LabelGetCurrentUriMethodInfo a signature where
+    overloadedMethod _ = labelGetCurrentUri
+
+#endif
+
+-- method Label::get_ellipsize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "EllipsizeMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_ellipsize" gtk_label_get_ellipsize :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CUInt
+
+{- |
+Returns the ellipsizing position of the label. See 'GI.Gtk.Objects.Label.labelSetEllipsize'.
+
+/Since: 2.6/
+-}
+labelGetEllipsize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Pango.Enums.EllipsizeMode
+    {- ^ __Returns:__ 'GI.Pango.Enums.EllipsizeMode' -}
+labelGetEllipsize label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_ellipsize label'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetEllipsizeMethodInfo
+instance (signature ~ (m Pango.Enums.EllipsizeMode), MonadIO m, IsLabel a) => O.MethodInfo LabelGetEllipsizeMethodInfo a signature where
+    overloadedMethod _ = labelGetEllipsize
+
+#endif
+
+-- method Label::get_justify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Justification"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_justify" gtk_label_get_justify :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CUInt
+
+{- |
+Returns the justification of the label. See 'GI.Gtk.Objects.Label.labelSetJustify'.
+-}
+labelGetJustify ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Gtk.Enums.Justification
+    {- ^ __Returns:__ 'GI.Gtk.Enums.Justification' -}
+labelGetJustify label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_justify label'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetJustifyMethodInfo
+instance (signature ~ (m Gtk.Enums.Justification), MonadIO m, IsLabel a) => O.MethodInfo LabelGetJustifyMethodInfo a signature where
+    overloadedMethod _ = labelGetJustify
+
+#endif
+
+-- method Label::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_label" gtk_label_get_label :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CString
+
+{- |
+Fetches the text from a label widget including any embedded
+underlines indicating mnemonics and Pango markup. (See
+'GI.Gtk.Objects.Label.labelGetText').
+-}
+labelGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m T.Text
+    {- ^ __Returns:__ the text of the label widget. This string is
+  owned by the widget and must not be modified or freed. -}
+labelGetLabel label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_label label'
+    checkUnexpectedReturnNULL "labelGetLabel" result
+    result' <- cstringToText result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetLabelMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsLabel a) => O.MethodInfo LabelGetLabelMethodInfo a signature where
+    overloadedMethod _ = labelGetLabel
+
+#endif
+
+-- method Label::get_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Layout"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_layout" gtk_label_get_layout :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO (Ptr Pango.Layout.Layout)
+
+{- |
+Gets the 'GI.Pango.Objects.Layout.Layout' used to display the label.
+The layout is useful to e.g. convert text positions to
+pixel positions, in combination with 'GI.Gtk.Objects.Label.labelGetLayoutOffsets'.
+The returned layout is owned by the /@label@/ so need not be
+freed by the caller. The /@label@/ is free to recreate its layout at
+any time, so it should be considered read-only.
+-}
+labelGetLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Pango.Layout.Layout
+    {- ^ __Returns:__ the 'GI.Pango.Objects.Layout.Layout' for this label -}
+labelGetLayout label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_layout label'
+    checkUnexpectedReturnNULL "labelGetLayout" result
+    result' <- (newObject Pango.Layout.Layout) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetLayoutMethodInfo
+instance (signature ~ (m Pango.Layout.Layout), MonadIO m, IsLabel a) => O.MethodInfo LabelGetLayoutMethodInfo a signature where
+    overloadedMethod _ = labelGetLayout
+
+#endif
+
+-- method Label::get_layout_offsets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store X offset of layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store Y offset of layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_layout_offsets" gtk_label_get_layout_offsets :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    Ptr Int32 ->                            -- x : TBasicType TInt
+    Ptr Int32 ->                            -- y : TBasicType TInt
+    IO ()
+
+{- |
+Obtains the coordinates where the label will draw the 'GI.Pango.Objects.Layout.Layout'
+representing the text in the label; useful to convert mouse events
+into coordinates inside the 'GI.Pango.Objects.Layout.Layout', e.g. to take some action
+if some part of the label is clicked. Of course you will need to
+create a 'GI.Gtk.Objects.EventBox.EventBox' to receive the events, and pack the label
+inside it, since labels are windowless (they return 'False' from
+'GI.Gtk.Objects.Widget.widgetGetHasWindow'). Remember
+when using the 'GI.Pango.Objects.Layout.Layout' functions you need to convert to
+and from pixels using @/PANGO_PIXELS()/@ or 'GI.Pango.Constants.SCALE'.
+-}
+labelGetLayoutOffsets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m ((Int32, Int32))
+labelGetLayoutOffsets label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    gtk_label_get_layout_offsets label' x y
+    x' <- peek x
+    y' <- peek y
+    touchManagedPtr label
+    freeMem x
+    freeMem y
+    return (x', y')
+
+#if ENABLE_OVERLOADING
+data LabelGetLayoutOffsetsMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsLabel a) => O.MethodInfo LabelGetLayoutOffsetsMethodInfo a signature where
+    overloadedMethod _ = labelGetLayoutOffsets
+
+#endif
+
+-- method Label::get_line_wrap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_line_wrap" gtk_label_get_line_wrap :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CInt
+
+{- |
+Returns whether lines in the label are automatically wrapped.
+See 'GI.Gtk.Objects.Label.labelSetLineWrap'.
+-}
+labelGetLineWrap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the lines of the label are automatically wrapped. -}
+labelGetLineWrap label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_line_wrap label'
+    let result' = (/= 0) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetLineWrapMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsLabel a) => O.MethodInfo LabelGetLineWrapMethodInfo a signature where
+    overloadedMethod _ = labelGetLineWrap
+
+#endif
+
+-- method Label::get_line_wrap_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "WrapMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_line_wrap_mode" gtk_label_get_line_wrap_mode :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CUInt
+
+{- |
+Returns line wrap mode used by the label. See 'GI.Gtk.Objects.Label.labelSetLineWrapMode'.
+
+/Since: 2.10/
+-}
+labelGetLineWrapMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Pango.Enums.WrapMode
+    {- ^ __Returns:__ 'True' if the lines of the label are automatically wrapped. -}
+labelGetLineWrapMode label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_line_wrap_mode label'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetLineWrapModeMethodInfo
+instance (signature ~ (m Pango.Enums.WrapMode), MonadIO m, IsLabel a) => O.MethodInfo LabelGetLineWrapModeMethodInfo a signature where
+    overloadedMethod _ = labelGetLineWrapMode
+
+#endif
+
+-- method Label::get_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_lines" gtk_label_get_lines :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO Int32
+
+{- |
+Gets the number of lines to which an ellipsized, wrapping
+label should be limited. See 'GI.Gtk.Objects.Label.labelSetLines'.
+
+/Since: 3.10/
+-}
+labelGetLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Int32
+    {- ^ __Returns:__ The number of lines -}
+labelGetLines label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_lines label'
+    touchManagedPtr label
+    return result
+
+#if ENABLE_OVERLOADING
+data LabelGetLinesMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsLabel a) => O.MethodInfo LabelGetLinesMethodInfo a signature where
+    overloadedMethod _ = labelGetLines
+
+#endif
+
+-- method Label::get_max_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_max_width_chars" gtk_label_get_max_width_chars :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO Int32
+
+{- |
+Retrieves the desired maximum width of /@label@/, in characters. See
+'GI.Gtk.Objects.Label.labelSetWidthChars'.
+
+/Since: 2.6/
+-}
+labelGetMaxWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Int32
+    {- ^ __Returns:__ the maximum width of the label in characters. -}
+labelGetMaxWidthChars label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_max_width_chars label'
+    touchManagedPtr label
+    return result
+
+#if ENABLE_OVERLOADING
+data LabelGetMaxWidthCharsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsLabel a) => O.MethodInfo LabelGetMaxWidthCharsMethodInfo a signature where
+    overloadedMethod _ = labelGetMaxWidthChars
+
+#endif
+
+-- method Label::get_mnemonic_keyval
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_mnemonic_keyval" gtk_label_get_mnemonic_keyval :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO Word32
+
+{- |
+If the label has been set so that it has an mnemonic key this function
+returns the keyval used for the mnemonic accelerator. If there is no
+mnemonic set up it returns 'GI.Gdk.Constants.KEY_VoidSymbol'.
+-}
+labelGetMnemonicKeyval ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Word32
+    {- ^ __Returns:__ GDK keyval usable for accelerators, or 'GI.Gdk.Constants.KEY_VoidSymbol' -}
+labelGetMnemonicKeyval label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_mnemonic_keyval label'
+    touchManagedPtr label
+    return result
+
+#if ENABLE_OVERLOADING
+data LabelGetMnemonicKeyvalMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsLabel a) => O.MethodInfo LabelGetMnemonicKeyvalMethodInfo a signature where
+    overloadedMethod _ = labelGetMnemonicKeyval
+
+#endif
+
+-- method Label::get_mnemonic_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_mnemonic_widget" gtk_label_get_mnemonic_widget :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the target of the mnemonic (keyboard shortcut) of this
+label. See 'GI.Gtk.Objects.Label.labelSetMnemonicWidget'.
+-}
+labelGetMnemonicWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the target of the label’s mnemonic,
+    or 'Nothing' if none has been set and the default algorithm will be used. -}
+labelGetMnemonicWidget label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_mnemonic_widget label'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr label
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data LabelGetMnemonicWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsLabel a) => O.MethodInfo LabelGetMnemonicWidgetMethodInfo a signature where
+    overloadedMethod _ = labelGetMnemonicWidget
+
+#endif
+
+-- method Label::get_selectable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_selectable" gtk_label_get_selectable :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Label.labelSetSelectable'.
+-}
+labelGetSelectable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the user can copy text from the label -}
+labelGetSelectable label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_selectable label'
+    let result' = (/= 0) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetSelectableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsLabel a) => O.MethodInfo LabelGetSelectableMethodInfo a signature where
+    overloadedMethod _ = labelGetSelectable
+
+#endif
+
+-- method Label::get_selection_bounds
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for start of selection, as a character offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for end of selection, as a character offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_selection_bounds" gtk_label_get_selection_bounds :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    Ptr Int32 ->                            -- start : TBasicType TInt
+    Ptr Int32 ->                            -- end : TBasicType TInt
+    IO CInt
+
+{- |
+Gets the selected range of characters in the label, returning 'True'
+if there’s a selection.
+-}
+labelGetSelectionBounds ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m ((Bool, Int32, Int32))
+    {- ^ __Returns:__ 'True' if selection is non-empty -}
+labelGetSelectionBounds label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    start <- allocMem :: IO (Ptr Int32)
+    end <- allocMem :: IO (Ptr Int32)
+    result <- gtk_label_get_selection_bounds label' start end
+    let result' = (/= 0) result
+    start' <- peek start
+    end' <- peek end
+    touchManagedPtr label
+    freeMem start
+    freeMem end
+    return (result', start', end')
+
+#if ENABLE_OVERLOADING
+data LabelGetSelectionBoundsMethodInfo
+instance (signature ~ (m ((Bool, Int32, Int32))), MonadIO m, IsLabel a) => O.MethodInfo LabelGetSelectionBoundsMethodInfo a signature where
+    overloadedMethod _ = labelGetSelectionBounds
+
+#endif
+
+-- method Label::get_single_line_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_single_line_mode" gtk_label_get_single_line_mode :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CInt
+
+{- |
+Returns whether the label is in single line mode.
+
+/Since: 2.6/
+-}
+labelGetSingleLineMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' when the label is in single line mode. -}
+labelGetSingleLineMode label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_single_line_mode label'
+    let result' = (/= 0) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetSingleLineModeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsLabel a) => O.MethodInfo LabelGetSingleLineModeMethodInfo a signature where
+    overloadedMethod _ = labelGetSingleLineMode
+
+#endif
+
+-- method Label::get_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_text" gtk_label_get_text :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CString
+
+{- |
+Fetches the text from a label widget, as displayed on the
+screen. This does not include any embedded underlines
+indicating mnemonics or Pango markup. (See 'GI.Gtk.Objects.Label.labelGetLabel')
+-}
+labelGetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m T.Text
+    {- ^ __Returns:__ the text in the label widget. This is the internal
+  string used by the label, and must not be modified. -}
+labelGetText label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_text label'
+    checkUnexpectedReturnNULL "labelGetText" result
+    result' <- cstringToText result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsLabel a) => O.MethodInfo LabelGetTextMethodInfo a signature where
+    overloadedMethod _ = labelGetText
+
+#endif
+
+-- method Label::get_track_visited_links
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_track_visited_links" gtk_label_get_track_visited_links :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CInt
+
+{- |
+Returns whether the label is currently keeping track
+of clicked links.
+
+/Since: 2.18/
+-}
+labelGetTrackVisitedLinks ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if clicked links are remembered -}
+labelGetTrackVisitedLinks label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_track_visited_links label'
+    let result' = (/= 0) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetTrackVisitedLinksMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsLabel a) => O.MethodInfo LabelGetTrackVisitedLinksMethodInfo a signature where
+    overloadedMethod _ = labelGetTrackVisitedLinks
+
+#endif
+
+-- method Label::get_use_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_use_markup" gtk_label_get_use_markup :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CInt
+
+{- |
+Returns whether the label’s text is interpreted as marked up with
+the [Pango text markup language][PangoMarkupFormat].
+See gtk_label_set_use_markup ().
+-}
+labelGetUseMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the label’s text will be parsed for markup. -}
+labelGetUseMarkup label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_use_markup label'
+    let result' = (/= 0) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetUseMarkupMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsLabel a) => O.MethodInfo LabelGetUseMarkupMethodInfo a signature where
+    overloadedMethod _ = labelGetUseMarkup
+
+#endif
+
+-- method Label::get_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_use_underline" gtk_label_get_use_underline :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CInt
+
+{- |
+Returns whether an embedded underline in the label indicates a
+mnemonic. See 'GI.Gtk.Objects.Label.labelSetUseUnderline'.
+-}
+labelGetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' whether an embedded underline in the label indicates
+              the mnemonic accelerator keys. -}
+labelGetUseUnderline label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_use_underline label'
+    let result' = (/= 0) result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetUseUnderlineMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsLabel a) => O.MethodInfo LabelGetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = labelGetUseUnderline
+
+#endif
+
+-- method Label::get_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_width_chars" gtk_label_get_width_chars :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO Int32
+
+{- |
+Retrieves the desired width of /@label@/, in characters. See
+'GI.Gtk.Objects.Label.labelSetWidthChars'.
+
+/Since: 2.6/
+-}
+labelGetWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Int32
+    {- ^ __Returns:__ the width of the label in characters. -}
+labelGetWidthChars label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_width_chars label'
+    touchManagedPtr label
+    return result
+
+#if ENABLE_OVERLOADING
+data LabelGetWidthCharsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsLabel a) => O.MethodInfo LabelGetWidthCharsMethodInfo a signature where
+    overloadedMethod _ = labelGetWidthChars
+
+#endif
+
+-- method Label::get_xalign
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFloat)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_xalign" gtk_label_get_xalign :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CFloat
+
+{- |
+Gets the 'GI.Gtk.Objects.Label.Label':@/xalign/@ property for /@label@/.
+
+/Since: 3.16/
+-}
+labelGetXalign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Float
+    {- ^ __Returns:__ the xalign property -}
+labelGetXalign label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_xalign label'
+    let result' = realToFrac result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetXalignMethodInfo
+instance (signature ~ (m Float), MonadIO m, IsLabel a) => O.MethodInfo LabelGetXalignMethodInfo a signature where
+    overloadedMethod _ = labelGetXalign
+
+#endif
+
+-- method Label::get_yalign
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFloat)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_get_yalign" gtk_label_get_yalign :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    IO CFloat
+
+{- |
+Gets the 'GI.Gtk.Objects.Label.Label':@/yalign/@ property for /@label@/.
+
+/Since: 3.16/
+-}
+labelGetYalign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> m Float
+    {- ^ __Returns:__ the yalign property -}
+labelGetYalign label = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    result <- gtk_label_get_yalign label'
+    let result' = realToFrac result
+    touchManagedPtr label
+    return result'
+
+#if ENABLE_OVERLOADING
+data LabelGetYalignMethodInfo
+instance (signature ~ (m Float), MonadIO m, IsLabel a) => O.MethodInfo LabelGetYalignMethodInfo a signature where
+    overloadedMethod _ = labelGetYalign
+
+#endif
+
+-- method Label::select_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start offset (in characters not bytes)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end offset (in characters not bytes)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_select_region" gtk_label_select_region :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    Int32 ->                                -- start_offset : TBasicType TInt
+    Int32 ->                                -- end_offset : TBasicType TInt
+    IO ()
+
+{- |
+Selects a range of characters in the label, if the label is selectable.
+See 'GI.Gtk.Objects.Label.labelSetSelectable'. If the label is not selectable,
+this function has no effect. If /@startOffset@/ or
+/@endOffset@/ are -1, then the end of the label will be substituted.
+-}
+labelSelectRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Int32
+    {- ^ /@startOffset@/: start offset (in characters not bytes) -}
+    -> Int32
+    {- ^ /@endOffset@/: end offset (in characters not bytes) -}
+    -> m ()
+labelSelectRegion label startOffset endOffset = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    gtk_label_select_region label' startOffset endOffset
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSelectRegionMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSelectRegionMethodInfo a signature where
+    overloadedMethod _ = labelSelectRegion
+
+#endif
+
+-- method Label::set_angle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "angle", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the angle that the baseline of the label makes with\n  the horizontal, in degrees, measured counterclockwise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_angle" gtk_label_set_angle :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CDouble ->                              -- angle : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the angle of rotation for the label. An angle of 90 reads from
+from bottom to top, an angle of 270, from top to bottom. The angle
+setting for the label is ignored if the label is selectable,
+wrapped, or ellipsized.
+
+/Since: 2.6/
+-}
+labelSetAngle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Double
+    {- ^ /@angle@/: the angle that the baseline of the label makes with
+  the horizontal, in degrees, measured counterclockwise -}
+    -> m ()
+labelSetAngle label angle = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let angle' = realToFrac angle
+    gtk_label_set_angle label' angle'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetAngleMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetAngleMethodInfo a signature where
+    overloadedMethod _ = labelSetAngle
+
+#endif
+
+-- method Label::set_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs", argType = TInterface (Name {namespace = "Pango", name = "AttrList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #PangoAttrList, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_attributes" gtk_label_set_attributes :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    Ptr Pango.AttrList.AttrList ->          -- attrs : TInterface (Name {namespace = "Pango", name = "AttrList"})
+    IO ()
+
+{- |
+Sets a 'GI.Pango.Structs.AttrList.AttrList'; the attributes in the list are applied to the
+label text.
+
+The attributes set with this function will be applied
+and merged with any other attributes previously effected by way
+of the 'GI.Gtk.Objects.Label.Label':@/use-underline/@ or 'GI.Gtk.Objects.Label.Label':@/use-markup/@ properties.
+While it is not recommended to mix markup strings with manually set
+attributes, if you must; know that the attributes will be applied
+to the label after the markup string is parsed.
+-}
+labelSetAttributes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Maybe (Pango.AttrList.AttrList)
+    {- ^ /@attrs@/: a 'GI.Pango.Structs.AttrList.AttrList', or 'Nothing' -}
+    -> m ()
+labelSetAttributes label attrs = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    maybeAttrs <- case attrs of
+        Nothing -> return nullPtr
+        Just jAttrs -> do
+            jAttrs' <- unsafeManagedPtrGetPtr jAttrs
+            return jAttrs'
+    gtk_label_set_attributes label' maybeAttrs
+    touchManagedPtr label
+    whenJust attrs touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetAttributesMethodInfo
+instance (signature ~ (Maybe (Pango.AttrList.AttrList) -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetAttributesMethodInfo a signature where
+    overloadedMethod _ = labelSetAttributes
+
+#endif
+
+-- method Label::set_ellipsize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Pango", name = "EllipsizeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoEllipsizeMode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_ellipsize" gtk_label_set_ellipsize :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CUInt ->                                -- mode : TInterface (Name {namespace = "Pango", name = "EllipsizeMode"})
+    IO ()
+
+{- |
+Sets the mode used to ellipsize (add an ellipsis: \"...\") to the text
+if there is not enough space to render the entire string.
+
+/Since: 2.6/
+-}
+labelSetEllipsize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Pango.Enums.EllipsizeMode
+    {- ^ /@mode@/: a 'GI.Pango.Enums.EllipsizeMode' -}
+    -> m ()
+labelSetEllipsize label mode = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let mode' = (fromIntegral . fromEnum) mode
+    gtk_label_set_ellipsize label' mode'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetEllipsizeMethodInfo
+instance (signature ~ (Pango.Enums.EllipsizeMode -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetEllipsizeMethodInfo a signature where
+    overloadedMethod _ = labelSetEllipsize
+
+#endif
+
+-- method Label::set_justify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "jtype", argType = TInterface (Name {namespace = "Gtk", name = "Justification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkJustification", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_justify" gtk_label_set_justify :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CUInt ->                                -- jtype : TInterface (Name {namespace = "Gtk", name = "Justification"})
+    IO ()
+
+{- |
+Sets the alignment of the lines in the text of the label relative to
+each other. 'GI.Gtk.Enums.JustificationLeft' is the default value when the widget is
+first created with 'GI.Gtk.Objects.Label.labelNew'. If you instead want to set the
+alignment of the label as a whole, use 'GI.Gtk.Objects.Widget.widgetSetHalign' instead.
+'GI.Gtk.Objects.Label.labelSetJustify' has no effect on labels containing only a
+single line.
+-}
+labelSetJustify ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Gtk.Enums.Justification
+    {- ^ /@jtype@/: a 'GI.Gtk.Enums.Justification' -}
+    -> m ()
+labelSetJustify label jtype = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let jtype' = (fromIntegral . fromEnum) jtype
+    gtk_label_set_justify label' jtype'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetJustifyMethodInfo
+instance (signature ~ (Gtk.Enums.Justification -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetJustifyMethodInfo a signature where
+    overloadedMethod _ = labelSetJustify
+
+#endif
+
+-- method Label::set_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new text to set for the label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_label" gtk_label_set_label :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CString ->                              -- str : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text of the label. The label is interpreted as
+including embedded underlines and\/or Pango markup depending
+on the values of the 'GI.Gtk.Objects.Label.Label':@/use-underline/@ and
+'GI.Gtk.Objects.Label.Label':@/use-markup/@ properties.
+-}
+labelSetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> T.Text
+    {- ^ /@str@/: the new text to set for the label -}
+    -> m ()
+labelSetLabel label str = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    str' <- textToCString str
+    gtk_label_set_label label' str'
+    touchManagedPtr label
+    freeMem str'
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetLabelMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetLabelMethodInfo a signature where
+    overloadedMethod _ = labelSetLabel
+
+#endif
+
+-- method Label::set_line_wrap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wrap", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the setting", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_line_wrap" gtk_label_set_line_wrap :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CInt ->                                 -- wrap : TBasicType TBoolean
+    IO ()
+
+{- |
+Toggles line wrapping within the 'GI.Gtk.Objects.Label.Label' widget. 'True' makes it break
+lines if text exceeds the widget’s size. 'False' lets the text get cut off
+by the edge of the widget if it exceeds the widget size.
+
+Note that setting line wrapping to 'True' does not make the label
+wrap at its parent container’s width, because GTK+ widgets
+conceptually can’t make their requisition depend on the parent
+container’s size. For a label that wraps at a specific position,
+set the label’s width using 'GI.Gtk.Objects.Widget.widgetSetSizeRequest'.
+-}
+labelSetLineWrap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Bool
+    {- ^ /@wrap@/: the setting -}
+    -> m ()
+labelSetLineWrap label wrap = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let wrap' = (fromIntegral . fromEnum) wrap
+    gtk_label_set_line_wrap label' wrap'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetLineWrapMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetLineWrapMethodInfo a signature where
+    overloadedMethod _ = labelSetLineWrap
+
+#endif
+
+-- method Label::set_line_wrap_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wrap_mode", argType = TInterface (Name {namespace = "Pango", name = "WrapMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the line wrapping mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_line_wrap_mode" gtk_label_set_line_wrap_mode :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CUInt ->                                -- wrap_mode : TInterface (Name {namespace = "Pango", name = "WrapMode"})
+    IO ()
+
+{- |
+If line wrapping is on (see 'GI.Gtk.Objects.Label.labelSetLineWrap') this controls how
+the line wrapping is done. The default is 'GI.Pango.Enums.WrapModeWord' which means
+wrap on word boundaries.
+
+/Since: 2.10/
+-}
+labelSetLineWrapMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Pango.Enums.WrapMode
+    {- ^ /@wrapMode@/: the line wrapping mode -}
+    -> m ()
+labelSetLineWrapMode label wrapMode = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let wrapMode' = (fromIntegral . fromEnum) wrapMode
+    gtk_label_set_line_wrap_mode label' wrapMode'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetLineWrapModeMethodInfo
+instance (signature ~ (Pango.Enums.WrapMode -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetLineWrapModeMethodInfo a signature where
+    overloadedMethod _ = labelSetLineWrapMode
+
+#endif
+
+-- method Label::set_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lines", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired number of lines, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_lines" gtk_label_set_lines :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    Int32 ->                                -- lines : TBasicType TInt
+    IO ()
+
+{- |
+Sets the number of lines to which an ellipsized, wrapping label
+should be limited. This has no effect if the label is not wrapping
+or ellipsized. Set this to -1 if you don’t want to limit the
+number of lines.
+
+/Since: 3.10/
+-}
+labelSetLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Int32
+    {- ^ /@lines@/: the desired number of lines, or -1 -}
+    -> m ()
+labelSetLines label lines = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    gtk_label_set_lines label' lines
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetLinesMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetLinesMethodInfo a signature where
+    overloadedMethod _ = labelSetLines
+
+#endif
+
+-- method Label::set_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a markup string (see [Pango markup format][PangoMarkupFormat])", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_markup" gtk_label_set_markup :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CString ->                              -- str : TBasicType TUTF8
+    IO ()
+
+{- |
+Parses /@str@/ which is marked up with the
+[Pango text markup language][PangoMarkupFormat], setting the
+label’s text and attribute list based on the parse results.
+
+If the /@str@/ is external data, you may need to escape it with
+'GI.GLib.Functions.markupEscapeText' or @/g_markup_printf_escaped()/@:
+
+
+=== /C code/
+>
+>GtkWidget *label = gtk_label_new (NULL);
+>const char *str = "some text";
+>const char *format = "<span style=\"italic\">\%s</span>";
+>char *markup;
+>
+>markup = g_markup_printf_escaped (format, str);
+>gtk_label_set_markup (GTK_LABEL (label), markup);
+>g_free (markup);
+
+
+This function will set the 'GI.Gtk.Objects.Label.Label':@/use-markup/@ property to 'True' as
+a side effect.
+
+If you set the label contents using the 'GI.Gtk.Objects.Label.Label':@/label/@ property you
+should also ensure that you set the 'GI.Gtk.Objects.Label.Label':@/use-markup/@ property
+accordingly.
+
+See also: 'GI.Gtk.Objects.Label.labelSetText'
+-}
+labelSetMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> T.Text
+    {- ^ /@str@/: a markup string (see [Pango markup format][PangoMarkupFormat]) -}
+    -> m ()
+labelSetMarkup label str = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    str' <- textToCString str
+    gtk_label_set_markup label' str'
+    touchManagedPtr label
+    freeMem str'
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetMarkupMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetMarkupMethodInfo a signature where
+    overloadedMethod _ = labelSetMarkup
+
+#endif
+
+-- method Label::set_markup_with_mnemonic
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a markup string (see\n    [Pango markup format][PangoMarkupFormat])", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_markup_with_mnemonic" gtk_label_set_markup_with_mnemonic :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CString ->                              -- str : TBasicType TUTF8
+    IO ()
+
+{- |
+Parses /@str@/ which is marked up with the
+[Pango text markup language][PangoMarkupFormat],
+setting the label’s text and attribute list based on the parse results.
+If characters in /@str@/ are preceded by an underscore, they are underlined
+indicating that they represent a keyboard accelerator called a mnemonic.
+
+The mnemonic key can be used to activate another widget, chosen
+automatically, or explicitly using 'GI.Gtk.Objects.Label.labelSetMnemonicWidget'.
+-}
+labelSetMarkupWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> T.Text
+    {- ^ /@str@/: a markup string (see
+    [Pango markup format][PangoMarkupFormat]) -}
+    -> m ()
+labelSetMarkupWithMnemonic label str = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    str' <- textToCString str
+    gtk_label_set_markup_with_mnemonic label' str'
+    touchManagedPtr label
+    freeMem str'
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetMarkupWithMnemonicMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetMarkupWithMnemonicMethodInfo a signature where
+    overloadedMethod _ = labelSetMarkupWithMnemonic
+
+#endif
+
+-- method Label::set_max_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new desired maximum width, in characters.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_max_width_chars" gtk_label_set_max_width_chars :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    Int32 ->                                -- n_chars : TBasicType TInt
+    IO ()
+
+{- |
+Sets the desired maximum width in characters of /@label@/ to /@nChars@/.
+
+/Since: 2.6/
+-}
+labelSetMaxWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Int32
+    {- ^ /@nChars@/: the new desired maximum width, in characters. -}
+    -> m ()
+labelSetMaxWidthChars label nChars = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    gtk_label_set_max_width_chars label' nChars
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetMaxWidthCharsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetMaxWidthCharsMethodInfo a signature where
+    overloadedMethod _ = labelSetMaxWidthChars
+
+#endif
+
+-- method Label::set_mnemonic_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the target #GtkWidget, or %NULL to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_mnemonic_widget" gtk_label_set_mnemonic_widget :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+If the label has been set so that it has an mnemonic key (using
+i.e. 'GI.Gtk.Objects.Label.labelSetMarkupWithMnemonic',
+'GI.Gtk.Objects.Label.labelSetTextWithMnemonic', 'GI.Gtk.Objects.Label.labelNewWithMnemonic'
+or the “use_underline” property) the label can be associated with a
+widget that is the target of the mnemonic. When the label is inside
+a widget (like a 'GI.Gtk.Objects.Button.Button' or a 'GI.Gtk.Objects.Notebook.Notebook' tab) it is
+automatically associated with the correct widget, but sometimes
+(i.e. when the target is a 'GI.Gtk.Objects.Entry.Entry' next to the label) you need to
+set it explicitly using this function.
+
+The target widget will be accelerated by emitting the
+GtkWidget::mnemonic-activate signal on it. The default handler for
+this signal will activate the widget if there are no mnemonic collisions
+and toggle focus between the colliding widgets otherwise.
+-}
+labelSetMnemonicWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the target 'GI.Gtk.Objects.Widget.Widget', or 'Nothing' to unset -}
+    -> m ()
+labelSetMnemonicWidget label widget = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    gtk_label_set_mnemonic_widget label' maybeWidget
+    touchManagedPtr label
+    whenJust widget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetMnemonicWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsLabel a, Gtk.Widget.IsWidget b) => O.MethodInfo LabelSetMnemonicWidgetMethodInfo a signature where
+    overloadedMethod _ = labelSetMnemonicWidget
+
+#endif
+
+-- method Label::set_pattern
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkLabel you want to set the pattern to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The pattern as described above.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_pattern" gtk_label_set_pattern :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CString ->                              -- pattern : TBasicType TUTF8
+    IO ()
+
+{- |
+The pattern of underlines you want under the existing text within the
+'GI.Gtk.Objects.Label.Label' widget.  For example if the current text of the label says
+“FooBarBaz” passing a pattern of “___   ___” will underline
+“Foo” and “Baz” but not “Bar”.
+-}
+labelSetPattern ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: The 'GI.Gtk.Objects.Label.Label' you want to set the pattern to. -}
+    -> T.Text
+    {- ^ /@pattern@/: The pattern as described above. -}
+    -> m ()
+labelSetPattern label pattern = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    pattern' <- textToCString pattern
+    gtk_label_set_pattern label' pattern'
+    touchManagedPtr label
+    freeMem pattern'
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetPatternMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetPatternMethodInfo a signature where
+    overloadedMethod _ = labelSetPattern
+
+#endif
+
+-- method Label::set_selectable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to allow selecting text in the label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_selectable" gtk_label_set_selectable :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Selectable labels allow the user to select text from the label, for
+copy-and-paste.
+-}
+labelSetSelectable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to allow selecting text in the label -}
+    -> m ()
+labelSetSelectable label setting = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_label_set_selectable label' setting'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetSelectableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetSelectableMethodInfo a signature where
+    overloadedMethod _ = labelSetSelectable
+
+#endif
+
+-- method Label::set_single_line_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "single_line_mode", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the label should be in single line mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_single_line_mode" gtk_label_set_single_line_mode :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CInt ->                                 -- single_line_mode : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the label is in single line mode.
+
+/Since: 2.6/
+-}
+labelSetSingleLineMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Bool
+    {- ^ /@singleLineMode@/: 'True' if the label should be in single line mode -}
+    -> m ()
+labelSetSingleLineMode label singleLineMode = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let singleLineMode' = (fromIntegral . fromEnum) singleLineMode
+    gtk_label_set_single_line_mode label' singleLineMode'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetSingleLineModeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetSingleLineModeMethodInfo a signature where
+    overloadedMethod _ = labelSetSingleLineMode
+
+#endif
+
+-- method Label::set_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The text you want to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_text" gtk_label_set_text :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CString ->                              -- str : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text within the 'GI.Gtk.Objects.Label.Label' widget. It overwrites any text that
+was there before.
+
+This function will clear any previously set mnemonic accelerators, and
+set the 'GI.Gtk.Objects.Label.Label':@/use-underline/@ property to 'False' as a side effect.
+
+This function will set the 'GI.Gtk.Objects.Label.Label':@/use-markup/@ property to 'False'
+as a side effect.
+
+See also: 'GI.Gtk.Objects.Label.labelSetMarkup'
+-}
+labelSetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> T.Text
+    {- ^ /@str@/: The text you want to set -}
+    -> m ()
+labelSetText label str = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    str' <- textToCString str
+    gtk_label_set_text label' str'
+    touchManagedPtr label
+    freeMem str'
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetTextMethodInfo a signature where
+    overloadedMethod _ = labelSetText
+
+#endif
+
+-- method Label::set_text_with_mnemonic
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_text_with_mnemonic" gtk_label_set_text_with_mnemonic :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CString ->                              -- str : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the label’s text from the string /@str@/.
+If characters in /@str@/ are preceded by an underscore, they are underlined
+indicating that they represent a keyboard accelerator called a mnemonic.
+The mnemonic key can be used to activate another widget, chosen
+automatically, or explicitly using 'GI.Gtk.Objects.Label.labelSetMnemonicWidget'.
+-}
+labelSetTextWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> T.Text
+    {- ^ /@str@/: a string -}
+    -> m ()
+labelSetTextWithMnemonic label str = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    str' <- textToCString str
+    gtk_label_set_text_with_mnemonic label' str'
+    touchManagedPtr label
+    freeMem str'
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetTextWithMnemonicMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetTextWithMnemonicMethodInfo a signature where
+    overloadedMethod _ = labelSetTextWithMnemonic
+
+#endif
+
+-- method Label::set_track_visited_links
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "track_links", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to track visited links", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_track_visited_links" gtk_label_set_track_visited_links :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CInt ->                                 -- track_links : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the label should keep track of clicked
+links (and use a different color for them).
+
+/Since: 2.18/
+-}
+labelSetTrackVisitedLinks ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Bool
+    {- ^ /@trackLinks@/: 'True' to track visited links -}
+    -> m ()
+labelSetTrackVisitedLinks label trackLinks = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let trackLinks' = (fromIntegral . fromEnum) trackLinks
+    gtk_label_set_track_visited_links label' trackLinks'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetTrackVisitedLinksMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetTrackVisitedLinksMethodInfo a signature where
+    overloadedMethod _ = labelSetTrackVisitedLinks
+
+#endif
+
+-- method Label::set_use_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the label\8217s text should be parsed for markup.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_use_markup" gtk_label_set_use_markup :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the text of the label contains markup in
+[Pango’s text markup language][PangoMarkupFormat].
+See 'GI.Gtk.Objects.Label.labelSetMarkup'.
+-}
+labelSetUseMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' if the label’s text should be parsed for markup. -}
+    -> m ()
+labelSetUseMarkup label setting = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_label_set_use_markup label' setting'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetUseMarkupMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetUseMarkupMethodInfo a signature where
+    overloadedMethod _ = labelSetUseMarkup
+
+#endif
+
+-- method Label::set_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if underlines in the text indicate mnemonics", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_use_underline" gtk_label_set_use_underline :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+If true, an underline in the text indicates the next character should be
+used for the mnemonic accelerator key.
+-}
+labelSetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' if underlines in the text indicate mnemonics -}
+    -> m ()
+labelSetUseUnderline label setting = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_label_set_use_underline label' setting'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetUseUnderlineMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = labelSetUseUnderline
+
+#endif
+
+-- method Label::set_width_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_chars", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new desired width, in characters.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_width_chars" gtk_label_set_width_chars :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    Int32 ->                                -- n_chars : TBasicType TInt
+    IO ()
+
+{- |
+Sets the desired width in characters of /@label@/ to /@nChars@/.
+
+/Since: 2.6/
+-}
+labelSetWidthChars ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Int32
+    {- ^ /@nChars@/: the new desired width, in characters. -}
+    -> m ()
+labelSetWidthChars label nChars = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    gtk_label_set_width_chars label' nChars
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetWidthCharsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetWidthCharsMethodInfo a signature where
+    overloadedMethod _ = labelSetWidthChars
+
+#endif
+
+-- method Label::set_xalign
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new xalign value, between 0 and 1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_xalign" gtk_label_set_xalign :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CFloat ->                               -- xalign : TBasicType TFloat
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Label.Label':@/xalign/@ property for /@label@/.
+
+/Since: 3.16/
+-}
+labelSetXalign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Float
+    {- ^ /@xalign@/: the new xalign value, between 0 and 1 -}
+    -> m ()
+labelSetXalign label xalign = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let xalign' = realToFrac xalign
+    gtk_label_set_xalign label' xalign'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetXalignMethodInfo
+instance (signature ~ (Float -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetXalignMethodInfo a signature where
+    overloadedMethod _ = labelSetXalign
+
+#endif
+
+-- method Label::set_yalign
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Label"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new yalign value, between 0 and 1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_label_set_yalign" gtk_label_set_yalign :: 
+    Ptr Label ->                            -- label : TInterface (Name {namespace = "Gtk", name = "Label"})
+    CFloat ->                               -- yalign : TBasicType TFloat
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Label.Label':@/yalign/@ property for /@label@/.
+
+/Since: 3.16/
+-}
+labelSetYalign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLabel a) =>
+    a
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Label.Label' -}
+    -> Float
+    {- ^ /@yalign@/: the new yalign value, between 0 and 1 -}
+    -> m ()
+labelSetYalign label yalign = liftIO $ do
+    label' <- unsafeManagedPtrCastPtr label
+    let yalign' = realToFrac yalign
+    gtk_label_set_yalign label' yalign'
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data LabelSetYalignMethodInfo
+instance (signature ~ (Float -> m ()), MonadIO m, IsLabel a) => O.MethodInfo LabelSetYalignMethodInfo a signature where
+    overloadedMethod _ = labelSetYalign
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Label.hs-boot b/GI/Gtk/Objects/Label.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Label.hs-boot
@@ -0,0 +1,254 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Label where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Label = Label (ManagedPtr Label)
+instance GObject Label where
+class (GObject o, O.IsDescendantOf Label o) => IsLabel o
+instance (GObject o, O.IsDescendantOf Label o) => IsLabel o
+instance O.HasParentTypes Label
+#if ENABLE_OVERLOADING
+data LabelAnglePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelAttributesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelCursorPositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelEllipsizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelJustifyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelLinesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelMaxWidthCharsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelMnemonicKeyvalPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelMnemonicWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelPatternPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSelectablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSelectionBoundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSingleLineModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelTrackVisitedLinksPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelUseMarkupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelUseUnderlinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelWidthCharsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelWrapPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelWrapModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelXalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelYalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelActivateCurrentLinkSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelActivateLinkSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelCopyClipboardSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelMoveCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelPopulatePopupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetAngleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetAttributesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetCurrentUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetEllipsizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetJustifyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetLayoutOffsetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetLineWrapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetLineWrapModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetMaxWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetMnemonicKeyvalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetMnemonicWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetSelectableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetSelectionBoundsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetSingleLineModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetTrackVisitedLinksMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetUseMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetUseUnderlineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetXalignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelGetYalignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSelectRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetAngleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetAttributesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetEllipsizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetJustifyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetLineWrapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetLineWrapModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetMarkupWithMnemonicMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetMaxWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetMnemonicWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetPatternMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetSelectableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetSingleLineModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetTextWithMnemonicMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetTrackVisitedLinksMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetUseMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetUseUnderlineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetWidthCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetXalignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LabelSetYalignMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/LabelAccessible.hs b/GI/Gtk/Objects/LabelAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LabelAccessible.hs
@@ -0,0 +1,191 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.LabelAccessible
+    ( 
+
+-- * Exported types
+    LabelAccessible(..)                     ,
+    IsLabelAccessible                       ,
+    toLabelAccessible                       ,
+    noLabelAccessible                       ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Hypertext as Atk.Hypertext
+import qualified GI.Atk.Interfaces.Text as Atk.Text
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype LabelAccessible = LabelAccessible (ManagedPtr LabelAccessible)
+foreign import ccall "gtk_label_accessible_get_type"
+    c_gtk_label_accessible_get_type :: IO GType
+
+instance GObject LabelAccessible where
+    gobjectType = c_gtk_label_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `LabelAccessible`, for instance with `toLabelAccessible`.
+class (GObject o, O.IsDescendantOf LabelAccessible o) => IsLabelAccessible o
+instance (GObject o, O.IsDescendantOf LabelAccessible o) => IsLabelAccessible o
+
+instance O.HasParentTypes LabelAccessible
+type instance O.ParentTypes LabelAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Hypertext.Hypertext, Atk.Text.Text]
+
+-- | Cast to `LabelAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toLabelAccessible :: (MonadIO m, IsLabelAccessible o) => o -> m LabelAccessible
+toLabelAccessible = liftIO . unsafeCastTo LabelAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `LabelAccessible`.
+noLabelAccessible :: Maybe LabelAccessible
+noLabelAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveLabelAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLabelAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveLabelAccessibleMethod "addSelection" o = Atk.Text.TextAddSelectionMethodInfo
+    ResolveLabelAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveLabelAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveLabelAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveLabelAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveLabelAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveLabelAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveLabelAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveLabelAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveLabelAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveLabelAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveLabelAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveLabelAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveLabelAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveLabelAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveLabelAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveLabelAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveLabelAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveLabelAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveLabelAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveLabelAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveLabelAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveLabelAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveLabelAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveLabelAccessibleMethod "removeSelection" o = Atk.Text.TextRemoveSelectionMethodInfo
+    ResolveLabelAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveLabelAccessibleMethod "scrollSubstringTo" o = Atk.Text.TextScrollSubstringToMethodInfo
+    ResolveLabelAccessibleMethod "scrollSubstringToPoint" o = Atk.Text.TextScrollSubstringToPointMethodInfo
+    ResolveLabelAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveLabelAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveLabelAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveLabelAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveLabelAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveLabelAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveLabelAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveLabelAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveLabelAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveLabelAccessibleMethod "getBoundedRanges" o = Atk.Text.TextGetBoundedRangesMethodInfo
+    ResolveLabelAccessibleMethod "getCaretOffset" o = Atk.Text.TextGetCaretOffsetMethodInfo
+    ResolveLabelAccessibleMethod "getCharacterAtOffset" o = Atk.Text.TextGetCharacterAtOffsetMethodInfo
+    ResolveLabelAccessibleMethod "getCharacterCount" o = Atk.Text.TextGetCharacterCountMethodInfo
+    ResolveLabelAccessibleMethod "getCharacterExtents" o = Atk.Text.TextGetCharacterExtentsMethodInfo
+    ResolveLabelAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveLabelAccessibleMethod "getDefaultAttributes" o = Atk.Text.TextGetDefaultAttributesMethodInfo
+    ResolveLabelAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveLabelAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveLabelAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveLabelAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveLabelAccessibleMethod "getLink" o = Atk.Hypertext.HypertextGetLinkMethodInfo
+    ResolveLabelAccessibleMethod "getLinkIndex" o = Atk.Hypertext.HypertextGetLinkIndexMethodInfo
+    ResolveLabelAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveLabelAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveLabelAccessibleMethod "getNLinks" o = Atk.Hypertext.HypertextGetNLinksMethodInfo
+    ResolveLabelAccessibleMethod "getNSelections" o = Atk.Text.TextGetNSelectionsMethodInfo
+    ResolveLabelAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveLabelAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveLabelAccessibleMethod "getOffsetAtPoint" o = Atk.Text.TextGetOffsetAtPointMethodInfo
+    ResolveLabelAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveLabelAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveLabelAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveLabelAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveLabelAccessibleMethod "getRangeExtents" o = Atk.Text.TextGetRangeExtentsMethodInfo
+    ResolveLabelAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveLabelAccessibleMethod "getRunAttributes" o = Atk.Text.TextGetRunAttributesMethodInfo
+    ResolveLabelAccessibleMethod "getSelection" o = Atk.Text.TextGetSelectionMethodInfo
+    ResolveLabelAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveLabelAccessibleMethod "getStringAtOffset" o = Atk.Text.TextGetStringAtOffsetMethodInfo
+    ResolveLabelAccessibleMethod "getText" o = Atk.Text.TextGetTextMethodInfo
+    ResolveLabelAccessibleMethod "getTextAfterOffset" o = Atk.Text.TextGetTextAfterOffsetMethodInfo
+    ResolveLabelAccessibleMethod "getTextAtOffset" o = Atk.Text.TextGetTextAtOffsetMethodInfo
+    ResolveLabelAccessibleMethod "getTextBeforeOffset" o = Atk.Text.TextGetTextBeforeOffsetMethodInfo
+    ResolveLabelAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveLabelAccessibleMethod "setCaretOffset" o = Atk.Text.TextSetCaretOffsetMethodInfo
+    ResolveLabelAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveLabelAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveLabelAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveLabelAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveLabelAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveLabelAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveLabelAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveLabelAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveLabelAccessibleMethod "setSelection" o = Atk.Text.TextSetSelectionMethodInfo
+    ResolveLabelAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveLabelAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveLabelAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLabelAccessibleMethod t LabelAccessible, O.MethodInfo info LabelAccessible p) => OL.IsLabel t (LabelAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList LabelAccessible
+type instance O.AttributeList LabelAccessible = LabelAccessibleAttributeList
+type LabelAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList LabelAccessible = LabelAccessibleSignalList
+type LabelAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("linkSelected", Atk.Hypertext.HypertextLinkSelectedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("textAttributesChanged", Atk.Text.TextTextAttributesChangedSignalInfo), '("textCaretMoved", Atk.Text.TextTextCaretMovedSignalInfo), '("textChanged", Atk.Text.TextTextChangedSignalInfo), '("textInsert", Atk.Text.TextTextInsertSignalInfo), '("textRemove", Atk.Text.TextTextRemoveSignalInfo), '("textSelectionChanged", Atk.Text.TextTextSelectionChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/LabelAccessible.hs-boot b/GI/Gtk/Objects/LabelAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LabelAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.LabelAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype LabelAccessible = LabelAccessible (ManagedPtr LabelAccessible)
+instance GObject LabelAccessible where
+class (GObject o, O.IsDescendantOf LabelAccessible o) => IsLabelAccessible o
+instance (GObject o, O.IsDescendantOf LabelAccessible o) => IsLabelAccessible o
+instance O.HasParentTypes LabelAccessible
diff --git a/GI/Gtk/Objects/Layout.hs b/GI/Gtk/Objects/Layout.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Layout.hs
@@ -0,0 +1,1092 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.Layout.Layout' is similar to 'GI.Gtk.Objects.DrawingArea.DrawingArea' in that it’s a “blank slate” and
+doesn’t do anything except paint a blank background by default. It’s
+different in that it supports scrolling natively due to implementing
+'GI.Gtk.Interfaces.Scrollable.Scrollable', and can contain child widgets since it’s a 'GI.Gtk.Objects.Container.Container'.
+
+If you just want to draw, a 'GI.Gtk.Objects.DrawingArea.DrawingArea' is a better choice since it has
+lower overhead. If you just need to position child widgets at specific
+points, then 'GI.Gtk.Objects.Fixed.Fixed' provides that functionality on its own.
+
+When handling expose events on a 'GI.Gtk.Objects.Layout.Layout', you must draw to the 'GI.Gdk.Objects.Window.Window'
+returned by 'GI.Gtk.Objects.Layout.layoutGetBinWindow', rather than to the one returned by
+'GI.Gtk.Objects.Widget.widgetGetWindow' as you would for a 'GI.Gtk.Objects.DrawingArea.DrawingArea'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Layout
+    ( 
+
+-- * Exported types
+    Layout(..)                              ,
+    IsLayout                                ,
+    toLayout                                ,
+    noLayout                                ,
+
+
+ -- * Methods
+-- ** getBinWindow #method:getBinWindow#
+
+#if ENABLE_OVERLOADING
+    LayoutGetBinWindowMethodInfo            ,
+#endif
+    layoutGetBinWindow                      ,
+
+
+-- ** getHadjustment #method:getHadjustment#
+
+#if ENABLE_OVERLOADING
+    LayoutGetHadjustmentMethodInfo          ,
+#endif
+    layoutGetHadjustment                    ,
+
+
+-- ** getSize #method:getSize#
+
+#if ENABLE_OVERLOADING
+    LayoutGetSizeMethodInfo                 ,
+#endif
+    layoutGetSize                           ,
+
+
+-- ** getVadjustment #method:getVadjustment#
+
+#if ENABLE_OVERLOADING
+    LayoutGetVadjustmentMethodInfo          ,
+#endif
+    layoutGetVadjustment                    ,
+
+
+-- ** move #method:move#
+
+#if ENABLE_OVERLOADING
+    LayoutMoveMethodInfo                    ,
+#endif
+    layoutMove                              ,
+
+
+-- ** new #method:new#
+
+    layoutNew                               ,
+
+
+-- ** put #method:put#
+
+#if ENABLE_OVERLOADING
+    LayoutPutMethodInfo                     ,
+#endif
+    layoutPut                               ,
+
+
+-- ** setHadjustment #method:setHadjustment#
+
+#if ENABLE_OVERLOADING
+    LayoutSetHadjustmentMethodInfo          ,
+#endif
+    layoutSetHadjustment                    ,
+
+
+-- ** setSize #method:setSize#
+
+#if ENABLE_OVERLOADING
+    LayoutSetSizeMethodInfo                 ,
+#endif
+    layoutSetSize                           ,
+
+
+-- ** setVadjustment #method:setVadjustment#
+
+#if ENABLE_OVERLOADING
+    LayoutSetVadjustmentMethodInfo          ,
+#endif
+    layoutSetVadjustment                    ,
+
+
+
+
+ -- * Properties
+-- ** height #attr:height#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LayoutHeightPropertyInfo                ,
+#endif
+    constructLayoutHeight                   ,
+    getLayoutHeight                         ,
+#if ENABLE_OVERLOADING
+    layoutHeight                            ,
+#endif
+    setLayoutHeight                         ,
+
+
+-- ** width #attr:width#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LayoutWidthPropertyInfo                 ,
+#endif
+    constructLayoutWidth                    ,
+    getLayoutWidth                          ,
+#if ENABLE_OVERLOADING
+    layoutWidth                             ,
+#endif
+    setLayoutWidth                          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Scrollable as Gtk.Scrollable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Layout = Layout (ManagedPtr Layout)
+foreign import ccall "gtk_layout_get_type"
+    c_gtk_layout_get_type :: IO GType
+
+instance GObject Layout where
+    gobjectType = c_gtk_layout_get_type
+    
+
+-- | Type class for types which can be safely cast to `Layout`, for instance with `toLayout`.
+class (GObject o, O.IsDescendantOf Layout o) => IsLayout o
+instance (GObject o, O.IsDescendantOf Layout o) => IsLayout o
+
+instance O.HasParentTypes Layout
+type instance O.ParentTypes Layout = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Scrollable.Scrollable]
+
+-- | Cast to `Layout`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toLayout :: (MonadIO m, IsLayout o) => o -> m Layout
+toLayout = liftIO . unsafeCastTo Layout
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Layout`.
+noLayout :: Maybe Layout
+noLayout = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveLayoutMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLayoutMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveLayoutMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveLayoutMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveLayoutMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveLayoutMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveLayoutMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveLayoutMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveLayoutMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveLayoutMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveLayoutMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveLayoutMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveLayoutMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveLayoutMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveLayoutMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveLayoutMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveLayoutMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveLayoutMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveLayoutMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveLayoutMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveLayoutMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveLayoutMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveLayoutMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveLayoutMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveLayoutMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveLayoutMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveLayoutMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveLayoutMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveLayoutMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveLayoutMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveLayoutMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveLayoutMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveLayoutMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveLayoutMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveLayoutMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveLayoutMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveLayoutMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveLayoutMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveLayoutMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveLayoutMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveLayoutMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveLayoutMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveLayoutMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveLayoutMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveLayoutMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveLayoutMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveLayoutMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveLayoutMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveLayoutMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveLayoutMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveLayoutMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveLayoutMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveLayoutMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveLayoutMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveLayoutMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveLayoutMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveLayoutMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveLayoutMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveLayoutMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveLayoutMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveLayoutMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveLayoutMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveLayoutMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveLayoutMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveLayoutMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveLayoutMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveLayoutMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveLayoutMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveLayoutMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveLayoutMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveLayoutMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveLayoutMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveLayoutMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveLayoutMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveLayoutMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveLayoutMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveLayoutMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveLayoutMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveLayoutMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveLayoutMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveLayoutMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveLayoutMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveLayoutMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveLayoutMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveLayoutMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveLayoutMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveLayoutMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveLayoutMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveLayoutMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveLayoutMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveLayoutMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveLayoutMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveLayoutMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveLayoutMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveLayoutMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveLayoutMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveLayoutMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveLayoutMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveLayoutMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveLayoutMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveLayoutMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveLayoutMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveLayoutMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveLayoutMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveLayoutMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveLayoutMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveLayoutMethod "move" o = LayoutMoveMethodInfo
+    ResolveLayoutMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveLayoutMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveLayoutMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveLayoutMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveLayoutMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveLayoutMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveLayoutMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveLayoutMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveLayoutMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveLayoutMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveLayoutMethod "put" o = LayoutPutMethodInfo
+    ResolveLayoutMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveLayoutMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveLayoutMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveLayoutMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveLayoutMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveLayoutMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveLayoutMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveLayoutMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveLayoutMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveLayoutMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveLayoutMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveLayoutMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveLayoutMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveLayoutMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveLayoutMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveLayoutMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveLayoutMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveLayoutMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveLayoutMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveLayoutMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveLayoutMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveLayoutMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveLayoutMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveLayoutMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveLayoutMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveLayoutMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveLayoutMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveLayoutMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveLayoutMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveLayoutMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveLayoutMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveLayoutMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveLayoutMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveLayoutMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveLayoutMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveLayoutMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveLayoutMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveLayoutMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveLayoutMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveLayoutMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveLayoutMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveLayoutMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveLayoutMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveLayoutMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveLayoutMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveLayoutMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveLayoutMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveLayoutMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveLayoutMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveLayoutMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveLayoutMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveLayoutMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveLayoutMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveLayoutMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveLayoutMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveLayoutMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveLayoutMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveLayoutMethod "getBinWindow" o = LayoutGetBinWindowMethodInfo
+    ResolveLayoutMethod "getBorder" o = Gtk.Scrollable.ScrollableGetBorderMethodInfo
+    ResolveLayoutMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveLayoutMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveLayoutMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveLayoutMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveLayoutMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveLayoutMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveLayoutMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveLayoutMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveLayoutMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveLayoutMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveLayoutMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveLayoutMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveLayoutMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveLayoutMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveLayoutMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveLayoutMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveLayoutMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveLayoutMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveLayoutMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveLayoutMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveLayoutMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveLayoutMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveLayoutMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveLayoutMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveLayoutMethod "getHadjustment" o = LayoutGetHadjustmentMethodInfo
+    ResolveLayoutMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveLayoutMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveLayoutMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveLayoutMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveLayoutMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveLayoutMethod "getHscrollPolicy" o = Gtk.Scrollable.ScrollableGetHscrollPolicyMethodInfo
+    ResolveLayoutMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveLayoutMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveLayoutMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveLayoutMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveLayoutMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveLayoutMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveLayoutMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveLayoutMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveLayoutMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveLayoutMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveLayoutMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveLayoutMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveLayoutMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveLayoutMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveLayoutMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveLayoutMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveLayoutMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveLayoutMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveLayoutMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveLayoutMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveLayoutMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveLayoutMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveLayoutMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveLayoutMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveLayoutMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveLayoutMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveLayoutMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveLayoutMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveLayoutMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveLayoutMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveLayoutMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveLayoutMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveLayoutMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveLayoutMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveLayoutMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveLayoutMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveLayoutMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveLayoutMethod "getSize" o = LayoutGetSizeMethodInfo
+    ResolveLayoutMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveLayoutMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveLayoutMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveLayoutMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveLayoutMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveLayoutMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveLayoutMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveLayoutMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveLayoutMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveLayoutMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveLayoutMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveLayoutMethod "getVadjustment" o = LayoutGetVadjustmentMethodInfo
+    ResolveLayoutMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveLayoutMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveLayoutMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveLayoutMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveLayoutMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveLayoutMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveLayoutMethod "getVscrollPolicy" o = Gtk.Scrollable.ScrollableGetVscrollPolicyMethodInfo
+    ResolveLayoutMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveLayoutMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveLayoutMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveLayoutMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveLayoutMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveLayoutMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveLayoutMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveLayoutMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveLayoutMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveLayoutMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveLayoutMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveLayoutMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveLayoutMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveLayoutMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveLayoutMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveLayoutMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveLayoutMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveLayoutMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveLayoutMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveLayoutMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveLayoutMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveLayoutMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveLayoutMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveLayoutMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveLayoutMethod "setHadjustment" o = LayoutSetHadjustmentMethodInfo
+    ResolveLayoutMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveLayoutMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveLayoutMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveLayoutMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveLayoutMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveLayoutMethod "setHscrollPolicy" o = Gtk.Scrollable.ScrollableSetHscrollPolicyMethodInfo
+    ResolveLayoutMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveLayoutMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveLayoutMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveLayoutMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveLayoutMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveLayoutMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveLayoutMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveLayoutMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveLayoutMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveLayoutMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveLayoutMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveLayoutMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveLayoutMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveLayoutMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveLayoutMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveLayoutMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveLayoutMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveLayoutMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveLayoutMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveLayoutMethod "setSize" o = LayoutSetSizeMethodInfo
+    ResolveLayoutMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveLayoutMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveLayoutMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveLayoutMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveLayoutMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveLayoutMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveLayoutMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveLayoutMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveLayoutMethod "setVadjustment" o = LayoutSetVadjustmentMethodInfo
+    ResolveLayoutMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveLayoutMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveLayoutMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveLayoutMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveLayoutMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveLayoutMethod "setVscrollPolicy" o = Gtk.Scrollable.ScrollableSetVscrollPolicyMethodInfo
+    ResolveLayoutMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveLayoutMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLayoutMethod t Layout, O.MethodInfo info Layout p) => OL.IsLabel t (Layout -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "height"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' layout #height
+@
+-}
+getLayoutHeight :: (MonadIO m, IsLayout o) => o -> m Word32
+getLayoutHeight obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "height"
+
+{- |
+Set the value of the “@height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' layout [ #height 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLayoutHeight :: (MonadIO m, IsLayout o) => o -> Word32 -> m ()
+setLayoutHeight obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "height" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@height@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLayoutHeight :: (IsLayout o) => Word32 -> IO (GValueConstruct o)
+constructLayoutHeight val = B.Properties.constructObjectPropertyUInt32 "height" val
+
+#if ENABLE_OVERLOADING
+data LayoutHeightPropertyInfo
+instance AttrInfo LayoutHeightPropertyInfo where
+    type AttrAllowedOps LayoutHeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LayoutHeightPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint LayoutHeightPropertyInfo = IsLayout
+    type AttrGetType LayoutHeightPropertyInfo = Word32
+    type AttrLabel LayoutHeightPropertyInfo = "height"
+    type AttrOrigin LayoutHeightPropertyInfo = Layout
+    attrGet _ = getLayoutHeight
+    attrSet _ = setLayoutHeight
+    attrConstruct _ = constructLayoutHeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "width"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' layout #width
+@
+-}
+getLayoutWidth :: (MonadIO m, IsLayout o) => o -> m Word32
+getLayoutWidth obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "width"
+
+{- |
+Set the value of the “@width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' layout [ #width 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLayoutWidth :: (MonadIO m, IsLayout o) => o -> Word32 -> m ()
+setLayoutWidth obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLayoutWidth :: (IsLayout o) => Word32 -> IO (GValueConstruct o)
+constructLayoutWidth val = B.Properties.constructObjectPropertyUInt32 "width" val
+
+#if ENABLE_OVERLOADING
+data LayoutWidthPropertyInfo
+instance AttrInfo LayoutWidthPropertyInfo where
+    type AttrAllowedOps LayoutWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LayoutWidthPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint LayoutWidthPropertyInfo = IsLayout
+    type AttrGetType LayoutWidthPropertyInfo = Word32
+    type AttrLabel LayoutWidthPropertyInfo = "width"
+    type AttrOrigin LayoutWidthPropertyInfo = Layout
+    attrGet _ = getLayoutWidth
+    attrSet _ = setLayoutWidth
+    attrConstruct _ = constructLayoutWidth
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Layout
+type instance O.AttributeList Layout = LayoutAttributeList
+type LayoutAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", Gtk.Scrollable.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("height", LayoutHeightPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hscrollPolicy", Gtk.Scrollable.ScrollableHscrollPolicyPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("vadjustment", Gtk.Scrollable.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.Scrollable.ScrollableVscrollPolicyPropertyInfo), '("width", LayoutWidthPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+layoutHeight :: AttrLabelProxy "height"
+layoutHeight = AttrLabelProxy
+
+layoutWidth :: AttrLabelProxy "width"
+layoutWidth = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Layout = LayoutSignalList
+type LayoutSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Layout::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "hadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "horizontal scroll adjustment, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "vertical scroll adjustment, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Layout"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_new" gtk_layout_new :: 
+    Ptr Gtk.Adjustment.Adjustment ->        -- hadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- vadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO (Ptr Layout)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Layout.Layout'. Unless you have a specific adjustment
+you’d like the layout to use for scrolling, pass 'Nothing' for
+/@hadjustment@/ and /@vadjustment@/.
+-}
+layoutNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a, Gtk.Adjustment.IsAdjustment b) =>
+    Maybe (a)
+    {- ^ /@hadjustment@/: horizontal scroll adjustment, or 'Nothing' -}
+    -> Maybe (b)
+    {- ^ /@vadjustment@/: vertical scroll adjustment, or 'Nothing' -}
+    -> m Layout
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Layout.Layout' -}
+layoutNew hadjustment vadjustment = liftIO $ do
+    maybeHadjustment <- case hadjustment of
+        Nothing -> return nullPtr
+        Just jHadjustment -> do
+            jHadjustment' <- unsafeManagedPtrCastPtr jHadjustment
+            return jHadjustment'
+    maybeVadjustment <- case vadjustment of
+        Nothing -> return nullPtr
+        Just jVadjustment -> do
+            jVadjustment' <- unsafeManagedPtrCastPtr jVadjustment
+            return jVadjustment'
+    result <- gtk_layout_new maybeHadjustment maybeVadjustment
+    checkUnexpectedReturnNULL "layoutNew" result
+    result' <- (newObject Layout) result
+    whenJust hadjustment touchManagedPtr
+    whenJust vadjustment touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Layout::get_bin_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "layout", argType = TInterface (Name {namespace = "Gtk", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_get_bin_window" gtk_layout_get_bin_window :: 
+    Ptr Layout ->                           -- layout : TInterface (Name {namespace = "Gtk", name = "Layout"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Retrieve the bin window of the layout used for drawing operations.
+
+/Since: 2.14/
+-}
+layoutGetBinWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLayout a) =>
+    a
+    {- ^ /@layout@/: a 'GI.Gtk.Objects.Layout.Layout' -}
+    -> m Gdk.Window.Window
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Window.Window' -}
+layoutGetBinWindow layout = liftIO $ do
+    layout' <- unsafeManagedPtrCastPtr layout
+    result <- gtk_layout_get_bin_window layout'
+    checkUnexpectedReturnNULL "layoutGetBinWindow" result
+    result' <- (newObject Gdk.Window.Window) result
+    touchManagedPtr layout
+    return result'
+
+#if ENABLE_OVERLOADING
+data LayoutGetBinWindowMethodInfo
+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsLayout a) => O.MethodInfo LayoutGetBinWindowMethodInfo a signature where
+    overloadedMethod _ = layoutGetBinWindow
+
+#endif
+
+-- method Layout::get_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "layout", argType = TInterface (Name {namespace = "Gtk", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_get_hadjustment" gtk_layout_get_hadjustment :: 
+    Ptr Layout ->                           -- layout : TInterface (Name {namespace = "Gtk", name = "Layout"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED layoutGetHadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetHadjustment'"] #-}
+{- |
+This function should only be called after the layout has been
+placed in a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' or otherwise configured for
+scrolling. It returns the 'GI.Gtk.Objects.Adjustment.Adjustment' used for communication
+between the horizontal scrollbar and /@layout@/.
+
+See 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow', 'GI.Gtk.Objects.Scrollbar.Scrollbar', 'GI.Gtk.Objects.Adjustment.Adjustment' for details.
+-}
+layoutGetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLayout a) =>
+    a
+    {- ^ /@layout@/: a 'GI.Gtk.Objects.Layout.Layout' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ horizontal scroll adjustment -}
+layoutGetHadjustment layout = liftIO $ do
+    layout' <- unsafeManagedPtrCastPtr layout
+    result <- gtk_layout_get_hadjustment layout'
+    checkUnexpectedReturnNULL "layoutGetHadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr layout
+    return result'
+
+#if ENABLE_OVERLOADING
+data LayoutGetHadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsLayout a) => O.MethodInfo LayoutGetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = layoutGetHadjustment
+
+#endif
+
+-- method Layout::get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "layout", argType = TInterface (Name {namespace = "Gtk", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the width set on\n    @layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the height set on\n    @layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_get_size" gtk_layout_get_size :: 
+    Ptr Layout ->                           -- layout : TInterface (Name {namespace = "Gtk", name = "Layout"})
+    Ptr Word32 ->                           -- width : TBasicType TUInt
+    Ptr Word32 ->                           -- height : TBasicType TUInt
+    IO ()
+
+{- |
+Gets the size that has been set on the layout, and that determines
+the total extents of the layout’s scrollbar area. See
+gtk_layout_set_size ().
+-}
+layoutGetSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLayout a) =>
+    a
+    {- ^ /@layout@/: a 'GI.Gtk.Objects.Layout.Layout' -}
+    -> m ((Word32, Word32))
+layoutGetSize layout = liftIO $ do
+    layout' <- unsafeManagedPtrCastPtr layout
+    width <- allocMem :: IO (Ptr Word32)
+    height <- allocMem :: IO (Ptr Word32)
+    gtk_layout_get_size layout' width height
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr layout
+    freeMem width
+    freeMem height
+    return (width', height')
+
+#if ENABLE_OVERLOADING
+data LayoutGetSizeMethodInfo
+instance (signature ~ (m ((Word32, Word32))), MonadIO m, IsLayout a) => O.MethodInfo LayoutGetSizeMethodInfo a signature where
+    overloadedMethod _ = layoutGetSize
+
+#endif
+
+-- method Layout::get_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "layout", argType = TInterface (Name {namespace = "Gtk", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_get_vadjustment" gtk_layout_get_vadjustment :: 
+    Ptr Layout ->                           -- layout : TInterface (Name {namespace = "Gtk", name = "Layout"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED layoutGetVadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetVadjustment'"] #-}
+{- |
+This function should only be called after the layout has been
+placed in a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' or otherwise configured for
+scrolling. It returns the 'GI.Gtk.Objects.Adjustment.Adjustment' used for communication
+between the vertical scrollbar and /@layout@/.
+
+See 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow', 'GI.Gtk.Objects.Scrollbar.Scrollbar', 'GI.Gtk.Objects.Adjustment.Adjustment' for details.
+-}
+layoutGetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLayout a) =>
+    a
+    {- ^ /@layout@/: a 'GI.Gtk.Objects.Layout.Layout' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ vertical scroll adjustment -}
+layoutGetVadjustment layout = liftIO $ do
+    layout' <- unsafeManagedPtrCastPtr layout
+    result <- gtk_layout_get_vadjustment layout'
+    checkUnexpectedReturnNULL "layoutGetVadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr layout
+    return result'
+
+#if ENABLE_OVERLOADING
+data LayoutGetVadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsLayout a) => O.MethodInfo LayoutGetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = layoutGetVadjustment
+
+#endif
+
+-- method Layout::move
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "layout", argType = TInterface (Name {namespace = "Gtk", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a current child of @layout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position to move to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position to move to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_move" gtk_layout_move :: 
+    Ptr Layout ->                           -- layout : TInterface (Name {namespace = "Gtk", name = "Layout"})
+    Ptr Gtk.Widget.Widget ->                -- child_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO ()
+
+{- |
+Moves a current child of /@layout@/ to a new position.
+-}
+layoutMove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLayout a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@layout@/: a 'GI.Gtk.Objects.Layout.Layout' -}
+    -> b
+    {- ^ /@childWidget@/: a current child of /@layout@/ -}
+    -> Int32
+    {- ^ /@x@/: X position to move to -}
+    -> Int32
+    {- ^ /@y@/: Y position to move to -}
+    -> m ()
+layoutMove layout childWidget x y = liftIO $ do
+    layout' <- unsafeManagedPtrCastPtr layout
+    childWidget' <- unsafeManagedPtrCastPtr childWidget
+    gtk_layout_move layout' childWidget' x y
+    touchManagedPtr layout
+    touchManagedPtr childWidget
+    return ()
+
+#if ENABLE_OVERLOADING
+data LayoutMoveMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsLayout a, Gtk.Widget.IsWidget b) => O.MethodInfo LayoutMoveMethodInfo a signature where
+    overloadedMethod _ = layoutMove
+
+#endif
+
+-- method Layout::put
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "layout", argType = TInterface (Name {namespace = "Gtk", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "child widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position of child widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position of child widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_put" gtk_layout_put :: 
+    Ptr Layout ->                           -- layout : TInterface (Name {namespace = "Gtk", name = "Layout"})
+    Ptr Gtk.Widget.Widget ->                -- child_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO ()
+
+{- |
+Adds /@childWidget@/ to /@layout@/, at position (/@x@/,/@y@/).
+/@layout@/ becomes the new parent container of /@childWidget@/.
+-}
+layoutPut ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLayout a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@layout@/: a 'GI.Gtk.Objects.Layout.Layout' -}
+    -> b
+    {- ^ /@childWidget@/: child widget -}
+    -> Int32
+    {- ^ /@x@/: X position of child widget -}
+    -> Int32
+    {- ^ /@y@/: Y position of child widget -}
+    -> m ()
+layoutPut layout childWidget x y = liftIO $ do
+    layout' <- unsafeManagedPtrCastPtr layout
+    childWidget' <- unsafeManagedPtrCastPtr childWidget
+    gtk_layout_put layout' childWidget' x y
+    touchManagedPtr layout
+    touchManagedPtr childWidget
+    return ()
+
+#if ENABLE_OVERLOADING
+data LayoutPutMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsLayout a, Gtk.Widget.IsWidget b) => O.MethodInfo LayoutPutMethodInfo a signature where
+    overloadedMethod _ = layoutPut
+
+#endif
+
+-- method Layout::set_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "layout", argType = TInterface (Name {namespace = "Gtk", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new scroll adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_set_hadjustment" gtk_layout_set_hadjustment :: 
+    Ptr Layout ->                           -- layout : TInterface (Name {namespace = "Gtk", name = "Layout"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{-# DEPRECATED layoutSetHadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableSetHadjustment'"] #-}
+{- |
+Sets the horizontal scroll adjustment for the layout.
+
+See 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow', 'GI.Gtk.Objects.Scrollbar.Scrollbar', 'GI.Gtk.Objects.Adjustment.Adjustment' for details.
+-}
+layoutSetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLayout a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@layout@/: a 'GI.Gtk.Objects.Layout.Layout' -}
+    -> Maybe (b)
+    {- ^ /@adjustment@/: new scroll adjustment -}
+    -> m ()
+layoutSetHadjustment layout adjustment = liftIO $ do
+    layout' <- unsafeManagedPtrCastPtr layout
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    gtk_layout_set_hadjustment layout' maybeAdjustment
+    touchManagedPtr layout
+    whenJust adjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data LayoutSetHadjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsLayout a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo LayoutSetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = layoutSetHadjustment
+
+#endif
+
+-- method Layout::set_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "layout", argType = TInterface (Name {namespace = "Gtk", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of entire scrollable area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height of entire scrollable area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_set_size" gtk_layout_set_size :: 
+    Ptr Layout ->                           -- layout : TInterface (Name {namespace = "Gtk", name = "Layout"})
+    Word32 ->                               -- width : TBasicType TUInt
+    Word32 ->                               -- height : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the size of the scrollable area of the layout.
+-}
+layoutSetSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLayout a) =>
+    a
+    {- ^ /@layout@/: a 'GI.Gtk.Objects.Layout.Layout' -}
+    -> Word32
+    {- ^ /@width@/: width of entire scrollable area -}
+    -> Word32
+    {- ^ /@height@/: height of entire scrollable area -}
+    -> m ()
+layoutSetSize layout width height = liftIO $ do
+    layout' <- unsafeManagedPtrCastPtr layout
+    gtk_layout_set_size layout' width height
+    touchManagedPtr layout
+    return ()
+
+#if ENABLE_OVERLOADING
+data LayoutSetSizeMethodInfo
+instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsLayout a) => O.MethodInfo LayoutSetSizeMethodInfo a signature where
+    overloadedMethod _ = layoutSetSize
+
+#endif
+
+-- method Layout::set_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "layout", argType = TInterface (Name {namespace = "Gtk", name = "Layout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLayout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new scroll adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_layout_set_vadjustment" gtk_layout_set_vadjustment :: 
+    Ptr Layout ->                           -- layout : TInterface (Name {namespace = "Gtk", name = "Layout"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{-# DEPRECATED layoutSetVadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableSetVadjustment'"] #-}
+{- |
+Sets the vertical scroll adjustment for the layout.
+
+See 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow', 'GI.Gtk.Objects.Scrollbar.Scrollbar', 'GI.Gtk.Objects.Adjustment.Adjustment' for details.
+-}
+layoutSetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLayout a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@layout@/: a 'GI.Gtk.Objects.Layout.Layout' -}
+    -> Maybe (b)
+    {- ^ /@adjustment@/: new scroll adjustment -}
+    -> m ()
+layoutSetVadjustment layout adjustment = liftIO $ do
+    layout' <- unsafeManagedPtrCastPtr layout
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    gtk_layout_set_vadjustment layout' maybeAdjustment
+    touchManagedPtr layout
+    whenJust adjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data LayoutSetVadjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsLayout a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo LayoutSetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = layoutSetVadjustment
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Layout.hs-boot b/GI/Gtk/Objects/Layout.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Layout.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Layout where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Layout = Layout (ManagedPtr Layout)
+instance GObject Layout where
+class (GObject o, O.IsDescendantOf Layout o) => IsLayout o
+instance (GObject o, O.IsDescendantOf Layout o) => IsLayout o
+instance O.HasParentTypes Layout
+#if ENABLE_OVERLOADING
+data LayoutHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutGetBinWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutGetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutGetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutGetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutMoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutPutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutSetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutSetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LayoutSetVadjustmentMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/LevelBar.hs b/GI/Gtk/Objects/LevelBar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LevelBar.hs
@@ -0,0 +1,1676 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.LevelBar.LevelBar' is a bar widget that can be used
+as a level indicator. Typical use cases are displaying the strength
+of a password, or showing the charge level of a battery.
+
+Use 'GI.Gtk.Objects.LevelBar.levelBarSetValue' to set the current value, and
+'GI.Gtk.Objects.LevelBar.levelBarAddOffsetValue' to set the value offsets at which
+the bar will be considered in a different state. GTK will add a few
+offsets by default on the level bar: 'GI.Gtk.Constants.LEVEL_BAR_OFFSET_LOW',
+'GI.Gtk.Constants.LEVEL_BAR_OFFSET_HIGH' and 'GI.Gtk.Constants.LEVEL_BAR_OFFSET_FULL', with
+values 0.25, 0.75 and 1.0 respectively.
+
+Note that it is your responsibility to update preexisting offsets
+when changing the minimum or maximum value. GTK+ will simply clamp
+them to the new range.
+
+== Adding a custom offset on the bar
+
+
+=== /C code/
+>
+>
+>static GtkWidget *
+>create_level_bar (void)
+>{
+>  GtkWidget *widget;
+>  GtkLevelBar *bar;
+>
+>  widget = gtk_level_bar_new ();
+>  bar = GTK_LEVEL_BAR (widget);
+>
+>  // This changes the value of the default low offset
+>
+>  gtk_level_bar_add_offset_value (bar,
+>                                  GTK_LEVEL_BAR_OFFSET_LOW,
+>                                  0.10);
+>
+>  // This adds a new offset to the bar; the application will
+>  // be able to change its color CSS like this:
+>  //
+>  // levelbar block.my-offset {
+>  //   background-color: magenta;
+>  //   border-style: solid;
+>  //   border-color: black;
+>  //   border-style: 1px;
+>  // }
+>
+>  gtk_level_bar_add_offset_value (bar, "my-offset", 0.60);
+>
+>  return widget;
+>}
+
+
+The default interval of values is between zero and one, but it’s possible to
+modify the interval using 'GI.Gtk.Objects.LevelBar.levelBarSetMinValue' and
+'GI.Gtk.Objects.LevelBar.levelBarSetMaxValue'. The value will be always drawn in proportion to
+the admissible interval, i.e. a value of 15 with a specified interval between
+10 and 20 is equivalent to a value of 0.5 with an interval between 0 and 1.
+When @/GTK_LEVEL_BAR_MODE_DISCRETE/@ is used, the bar level is rendered
+as a finite number of separated blocks instead of a single one. The number
+of blocks that will be rendered is equal to the number of units specified by
+the admissible interval.
+
+For instance, to build a bar rendered with five blocks, it’s sufficient to
+set the minimum value to 0 and the maximum value to 5 after changing the indicator
+mode to discrete.
+
+GtkLevelBar was introduced in GTK+ 3.6.
+
+= GtkLevelBar as GtkBuildable
+
+The GtkLevelBar implementation of the GtkBuildable interface supports a
+custom \<offsets> element, which can contain any number of \<offset> elements,
+each of which must have name and value attributes.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>levelbar[.discrete]
+>╰── trough
+>    ├── block.filled.level-name
+>    ┊
+>    ├── block.empty
+>    ┊
+
+
+GtkLevelBar has a main CSS node with name levelbar and one of the style
+classes .discrete or .continuous and a subnode with name trough. Below the
+trough node are a number of nodes with name block and style class .filled
+or .empty. In continuous mode, there is exactly one node of each, in discrete
+mode, the number of filled and unfilled nodes corresponds to blocks that are
+drawn. The block.filled nodes also get a style class .level-name corresponding
+to the level for the current value.
+
+In horizontal orientation, the nodes are always arranged from left to right,
+regardless of text direction.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.LevelBar
+    ( 
+
+-- * Exported types
+    LevelBar(..)                            ,
+    IsLevelBar                              ,
+    toLevelBar                              ,
+    noLevelBar                              ,
+
+
+ -- * Methods
+-- ** addOffsetValue #method:addOffsetValue#
+
+#if ENABLE_OVERLOADING
+    LevelBarAddOffsetValueMethodInfo        ,
+#endif
+    levelBarAddOffsetValue                  ,
+
+
+-- ** getInverted #method:getInverted#
+
+#if ENABLE_OVERLOADING
+    LevelBarGetInvertedMethodInfo           ,
+#endif
+    levelBarGetInverted                     ,
+
+
+-- ** getMaxValue #method:getMaxValue#
+
+#if ENABLE_OVERLOADING
+    LevelBarGetMaxValueMethodInfo           ,
+#endif
+    levelBarGetMaxValue                     ,
+
+
+-- ** getMinValue #method:getMinValue#
+
+#if ENABLE_OVERLOADING
+    LevelBarGetMinValueMethodInfo           ,
+#endif
+    levelBarGetMinValue                     ,
+
+
+-- ** getMode #method:getMode#
+
+#if ENABLE_OVERLOADING
+    LevelBarGetModeMethodInfo               ,
+#endif
+    levelBarGetMode                         ,
+
+
+-- ** getOffsetValue #method:getOffsetValue#
+
+#if ENABLE_OVERLOADING
+    LevelBarGetOffsetValueMethodInfo        ,
+#endif
+    levelBarGetOffsetValue                  ,
+
+
+-- ** getValue #method:getValue#
+
+#if ENABLE_OVERLOADING
+    LevelBarGetValueMethodInfo              ,
+#endif
+    levelBarGetValue                        ,
+
+
+-- ** new #method:new#
+
+    levelBarNew                             ,
+
+
+-- ** newForInterval #method:newForInterval#
+
+    levelBarNewForInterval                  ,
+
+
+-- ** removeOffsetValue #method:removeOffsetValue#
+
+#if ENABLE_OVERLOADING
+    LevelBarRemoveOffsetValueMethodInfo     ,
+#endif
+    levelBarRemoveOffsetValue               ,
+
+
+-- ** setInverted #method:setInverted#
+
+#if ENABLE_OVERLOADING
+    LevelBarSetInvertedMethodInfo           ,
+#endif
+    levelBarSetInverted                     ,
+
+
+-- ** setMaxValue #method:setMaxValue#
+
+#if ENABLE_OVERLOADING
+    LevelBarSetMaxValueMethodInfo           ,
+#endif
+    levelBarSetMaxValue                     ,
+
+
+-- ** setMinValue #method:setMinValue#
+
+#if ENABLE_OVERLOADING
+    LevelBarSetMinValueMethodInfo           ,
+#endif
+    levelBarSetMinValue                     ,
+
+
+-- ** setMode #method:setMode#
+
+#if ENABLE_OVERLOADING
+    LevelBarSetModeMethodInfo               ,
+#endif
+    levelBarSetMode                         ,
+
+
+-- ** setValue #method:setValue#
+
+#if ENABLE_OVERLOADING
+    LevelBarSetValueMethodInfo              ,
+#endif
+    levelBarSetValue                        ,
+
+
+
+
+ -- * Properties
+-- ** inverted #attr:inverted#
+{- | Level bars normally grow from top to bottom or left to right.
+Inverted level bars grow in the opposite direction.
+
+/Since: 3.8/
+-}
+#if ENABLE_OVERLOADING
+    LevelBarInvertedPropertyInfo            ,
+#endif
+    constructLevelBarInverted               ,
+    getLevelBarInverted                     ,
+#if ENABLE_OVERLOADING
+    levelBarInverted                        ,
+#endif
+    setLevelBarInverted                     ,
+
+
+-- ** maxValue #attr:maxValue#
+{- | The 'GI.Gtk.Objects.LevelBar.LevelBar':@/max-value/@ property determaxes the maximum value of
+the interval that can be displayed by the bar.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    LevelBarMaxValuePropertyInfo            ,
+#endif
+    constructLevelBarMaxValue               ,
+    getLevelBarMaxValue                     ,
+#if ENABLE_OVERLOADING
+    levelBarMaxValue                        ,
+#endif
+    setLevelBarMaxValue                     ,
+
+
+-- ** minValue #attr:minValue#
+{- | The 'GI.Gtk.Objects.LevelBar.LevelBar':@/min-value/@ property determines the minimum value of
+the interval that can be displayed by the bar.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    LevelBarMinValuePropertyInfo            ,
+#endif
+    constructLevelBarMinValue               ,
+    getLevelBarMinValue                     ,
+#if ENABLE_OVERLOADING
+    levelBarMinValue                        ,
+#endif
+    setLevelBarMinValue                     ,
+
+
+-- ** mode #attr:mode#
+{- | The 'GI.Gtk.Objects.LevelBar.LevelBar':@/mode/@ property determines the way 'GI.Gtk.Objects.LevelBar.LevelBar'
+interprets the value properties to draw the level fill area.
+Specifically, when the value is @/GTK_LEVEL_BAR_MODE_CONTINUOUS/@,
+'GI.Gtk.Objects.LevelBar.LevelBar' will draw a single block representing the current value in
+that area; when the value is @/GTK_LEVEL_BAR_MODE_DISCRETE/@,
+the widget will draw a succession of separate blocks filling the
+draw area, with the number of blocks being equal to the units separating
+the integral roundings of 'GI.Gtk.Objects.LevelBar.LevelBar':@/min-value/@ and 'GI.Gtk.Objects.LevelBar.LevelBar':@/max-value/@.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    LevelBarModePropertyInfo                ,
+#endif
+    constructLevelBarMode                   ,
+    getLevelBarMode                         ,
+#if ENABLE_OVERLOADING
+    levelBarMode                            ,
+#endif
+    setLevelBarMode                         ,
+
+
+-- ** value #attr:value#
+{- | The 'GI.Gtk.Objects.LevelBar.LevelBar':@/value/@ property determines the currently
+filled value of the level bar.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    LevelBarValuePropertyInfo               ,
+#endif
+    constructLevelBarValue                  ,
+    getLevelBarValue                        ,
+#if ENABLE_OVERLOADING
+    levelBarValue                           ,
+#endif
+    setLevelBarValue                        ,
+
+
+
+
+ -- * Signals
+-- ** offsetChanged #signal:offsetChanged#
+
+    C_LevelBarOffsetChangedCallback         ,
+    LevelBarOffsetChangedCallback           ,
+#if ENABLE_OVERLOADING
+    LevelBarOffsetChangedSignalInfo         ,
+#endif
+    afterLevelBarOffsetChanged              ,
+    genClosure_LevelBarOffsetChanged        ,
+    mk_LevelBarOffsetChangedCallback        ,
+    noLevelBarOffsetChangedCallback         ,
+    onLevelBarOffsetChanged                 ,
+    wrap_LevelBarOffsetChangedCallback      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype LevelBar = LevelBar (ManagedPtr LevelBar)
+foreign import ccall "gtk_level_bar_get_type"
+    c_gtk_level_bar_get_type :: IO GType
+
+instance GObject LevelBar where
+    gobjectType = c_gtk_level_bar_get_type
+    
+
+-- | Type class for types which can be safely cast to `LevelBar`, for instance with `toLevelBar`.
+class (GObject o, O.IsDescendantOf LevelBar o) => IsLevelBar o
+instance (GObject o, O.IsDescendantOf LevelBar o) => IsLevelBar o
+
+instance O.HasParentTypes LevelBar
+type instance O.ParentTypes LevelBar = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `LevelBar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toLevelBar :: (MonadIO m, IsLevelBar o) => o -> m LevelBar
+toLevelBar = liftIO . unsafeCastTo LevelBar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `LevelBar`.
+noLevelBar :: Maybe LevelBar
+noLevelBar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveLevelBarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLevelBarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveLevelBarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveLevelBarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveLevelBarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveLevelBarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveLevelBarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveLevelBarMethod "addOffsetValue" o = LevelBarAddOffsetValueMethodInfo
+    ResolveLevelBarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveLevelBarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveLevelBarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveLevelBarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveLevelBarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveLevelBarMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveLevelBarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveLevelBarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveLevelBarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveLevelBarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveLevelBarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveLevelBarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveLevelBarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveLevelBarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveLevelBarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveLevelBarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveLevelBarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveLevelBarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveLevelBarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveLevelBarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveLevelBarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveLevelBarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveLevelBarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveLevelBarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveLevelBarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveLevelBarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveLevelBarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveLevelBarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveLevelBarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveLevelBarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveLevelBarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveLevelBarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveLevelBarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveLevelBarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveLevelBarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveLevelBarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveLevelBarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveLevelBarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveLevelBarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveLevelBarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveLevelBarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveLevelBarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveLevelBarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveLevelBarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveLevelBarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveLevelBarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveLevelBarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveLevelBarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveLevelBarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveLevelBarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveLevelBarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveLevelBarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveLevelBarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveLevelBarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveLevelBarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveLevelBarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveLevelBarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveLevelBarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveLevelBarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveLevelBarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveLevelBarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveLevelBarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveLevelBarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveLevelBarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveLevelBarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveLevelBarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveLevelBarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveLevelBarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveLevelBarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveLevelBarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveLevelBarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveLevelBarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveLevelBarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveLevelBarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveLevelBarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveLevelBarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveLevelBarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveLevelBarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveLevelBarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveLevelBarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveLevelBarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveLevelBarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveLevelBarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveLevelBarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveLevelBarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveLevelBarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveLevelBarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveLevelBarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveLevelBarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveLevelBarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveLevelBarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveLevelBarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveLevelBarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveLevelBarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveLevelBarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveLevelBarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveLevelBarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveLevelBarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveLevelBarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveLevelBarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveLevelBarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveLevelBarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveLevelBarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveLevelBarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveLevelBarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveLevelBarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveLevelBarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveLevelBarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveLevelBarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveLevelBarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveLevelBarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveLevelBarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveLevelBarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveLevelBarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveLevelBarMethod "removeOffsetValue" o = LevelBarRemoveOffsetValueMethodInfo
+    ResolveLevelBarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveLevelBarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveLevelBarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveLevelBarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveLevelBarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveLevelBarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveLevelBarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveLevelBarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveLevelBarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveLevelBarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveLevelBarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveLevelBarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveLevelBarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveLevelBarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveLevelBarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveLevelBarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveLevelBarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveLevelBarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveLevelBarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveLevelBarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveLevelBarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveLevelBarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveLevelBarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveLevelBarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveLevelBarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveLevelBarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveLevelBarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveLevelBarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveLevelBarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveLevelBarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveLevelBarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveLevelBarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveLevelBarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveLevelBarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveLevelBarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveLevelBarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveLevelBarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveLevelBarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveLevelBarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveLevelBarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveLevelBarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveLevelBarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveLevelBarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveLevelBarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveLevelBarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveLevelBarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveLevelBarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveLevelBarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveLevelBarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveLevelBarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveLevelBarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveLevelBarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveLevelBarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveLevelBarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveLevelBarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveLevelBarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveLevelBarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveLevelBarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveLevelBarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveLevelBarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveLevelBarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveLevelBarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveLevelBarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveLevelBarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveLevelBarMethod "getInverted" o = LevelBarGetInvertedMethodInfo
+    ResolveLevelBarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveLevelBarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveLevelBarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveLevelBarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveLevelBarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveLevelBarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveLevelBarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveLevelBarMethod "getMaxValue" o = LevelBarGetMaxValueMethodInfo
+    ResolveLevelBarMethod "getMinValue" o = LevelBarGetMinValueMethodInfo
+    ResolveLevelBarMethod "getMode" o = LevelBarGetModeMethodInfo
+    ResolveLevelBarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveLevelBarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveLevelBarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveLevelBarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveLevelBarMethod "getOffsetValue" o = LevelBarGetOffsetValueMethodInfo
+    ResolveLevelBarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveLevelBarMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveLevelBarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveLevelBarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveLevelBarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveLevelBarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveLevelBarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveLevelBarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveLevelBarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveLevelBarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveLevelBarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveLevelBarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveLevelBarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveLevelBarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveLevelBarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveLevelBarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveLevelBarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveLevelBarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveLevelBarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveLevelBarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveLevelBarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveLevelBarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveLevelBarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveLevelBarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveLevelBarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveLevelBarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveLevelBarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveLevelBarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveLevelBarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveLevelBarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveLevelBarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveLevelBarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveLevelBarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveLevelBarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveLevelBarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveLevelBarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveLevelBarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveLevelBarMethod "getValue" o = LevelBarGetValueMethodInfo
+    ResolveLevelBarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveLevelBarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveLevelBarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveLevelBarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveLevelBarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveLevelBarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveLevelBarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveLevelBarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveLevelBarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveLevelBarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveLevelBarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveLevelBarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveLevelBarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveLevelBarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveLevelBarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveLevelBarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveLevelBarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveLevelBarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveLevelBarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveLevelBarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveLevelBarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveLevelBarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveLevelBarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveLevelBarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveLevelBarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveLevelBarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveLevelBarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveLevelBarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveLevelBarMethod "setInverted" o = LevelBarSetInvertedMethodInfo
+    ResolveLevelBarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveLevelBarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveLevelBarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveLevelBarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveLevelBarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveLevelBarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveLevelBarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveLevelBarMethod "setMaxValue" o = LevelBarSetMaxValueMethodInfo
+    ResolveLevelBarMethod "setMinValue" o = LevelBarSetMinValueMethodInfo
+    ResolveLevelBarMethod "setMode" o = LevelBarSetModeMethodInfo
+    ResolveLevelBarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveLevelBarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveLevelBarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveLevelBarMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveLevelBarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveLevelBarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveLevelBarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveLevelBarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveLevelBarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveLevelBarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveLevelBarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveLevelBarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveLevelBarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveLevelBarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveLevelBarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveLevelBarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveLevelBarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveLevelBarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveLevelBarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveLevelBarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveLevelBarMethod "setValue" o = LevelBarSetValueMethodInfo
+    ResolveLevelBarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveLevelBarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveLevelBarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveLevelBarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveLevelBarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveLevelBarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLevelBarMethod t LevelBar, O.MethodInfo info LevelBar p) => OL.IsLabel t (LevelBar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal LevelBar::offset-changed
+{- |
+Emitted when an offset specified on the bar changes value as an
+effect to 'GI.Gtk.Objects.LevelBar.levelBarAddOffsetValue' being called.
+
+The signal supports detailed connections; you can connect to the
+detailed signal \"changed::x\" in order to only receive callbacks when
+the value of offset \"x\" changes.
+
+/Since: 3.6/
+-}
+type LevelBarOffsetChangedCallback =
+    T.Text
+    {- ^ /@name@/: the name of the offset that changed value -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `LevelBarOffsetChangedCallback`@.
+noLevelBarOffsetChangedCallback :: Maybe LevelBarOffsetChangedCallback
+noLevelBarOffsetChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_LevelBarOffsetChangedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_LevelBarOffsetChangedCallback`.
+foreign import ccall "wrapper"
+    mk_LevelBarOffsetChangedCallback :: C_LevelBarOffsetChangedCallback -> IO (FunPtr C_LevelBarOffsetChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_LevelBarOffsetChanged :: MonadIO m => LevelBarOffsetChangedCallback -> m (GClosure C_LevelBarOffsetChangedCallback)
+genClosure_LevelBarOffsetChanged cb = liftIO $ do
+    let cb' = wrap_LevelBarOffsetChangedCallback cb
+    mk_LevelBarOffsetChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `LevelBarOffsetChangedCallback` into a `C_LevelBarOffsetChangedCallback`.
+wrap_LevelBarOffsetChangedCallback ::
+    LevelBarOffsetChangedCallback ->
+    C_LevelBarOffsetChangedCallback
+wrap_LevelBarOffsetChangedCallback _cb _ name _ = do
+    name' <- cstringToText name
+    _cb  name'
+
+
+{- |
+Connect a signal handler for the “@offset-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' levelBar #offsetChanged callback
+@
+-}
+onLevelBarOffsetChanged :: (IsLevelBar a, MonadIO m) => a -> LevelBarOffsetChangedCallback -> m SignalHandlerId
+onLevelBarOffsetChanged obj cb = liftIO $ do
+    let cb' = wrap_LevelBarOffsetChangedCallback cb
+    cb'' <- mk_LevelBarOffsetChangedCallback cb'
+    connectSignalFunPtr obj "offset-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@offset-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' levelBar #offsetChanged callback
+@
+-}
+afterLevelBarOffsetChanged :: (IsLevelBar a, MonadIO m) => a -> LevelBarOffsetChangedCallback -> m SignalHandlerId
+afterLevelBarOffsetChanged obj cb = liftIO $ do
+    let cb' = wrap_LevelBarOffsetChangedCallback cb
+    cb'' <- mk_LevelBarOffsetChangedCallback cb'
+    connectSignalFunPtr obj "offset-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "inverted"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' levelBar #inverted
+@
+-}
+getLevelBarInverted :: (MonadIO m, IsLevelBar o) => o -> m Bool
+getLevelBarInverted obj = liftIO $ B.Properties.getObjectPropertyBool obj "inverted"
+
+{- |
+Set the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' levelBar [ #inverted 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLevelBarInverted :: (MonadIO m, IsLevelBar o) => o -> Bool -> m ()
+setLevelBarInverted obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inverted" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inverted@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLevelBarInverted :: (IsLevelBar o) => Bool -> IO (GValueConstruct o)
+constructLevelBarInverted val = B.Properties.constructObjectPropertyBool "inverted" val
+
+#if ENABLE_OVERLOADING
+data LevelBarInvertedPropertyInfo
+instance AttrInfo LevelBarInvertedPropertyInfo where
+    type AttrAllowedOps LevelBarInvertedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LevelBarInvertedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint LevelBarInvertedPropertyInfo = IsLevelBar
+    type AttrGetType LevelBarInvertedPropertyInfo = Bool
+    type AttrLabel LevelBarInvertedPropertyInfo = "inverted"
+    type AttrOrigin LevelBarInvertedPropertyInfo = LevelBar
+    attrGet _ = getLevelBarInverted
+    attrSet _ = setLevelBarInverted
+    attrConstruct _ = constructLevelBarInverted
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "max-value"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@max-value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' levelBar #maxValue
+@
+-}
+getLevelBarMaxValue :: (MonadIO m, IsLevelBar o) => o -> m Double
+getLevelBarMaxValue obj = liftIO $ B.Properties.getObjectPropertyDouble obj "max-value"
+
+{- |
+Set the value of the “@max-value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' levelBar [ #maxValue 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLevelBarMaxValue :: (MonadIO m, IsLevelBar o) => o -> Double -> m ()
+setLevelBarMaxValue obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "max-value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLevelBarMaxValue :: (IsLevelBar o) => Double -> IO (GValueConstruct o)
+constructLevelBarMaxValue val = B.Properties.constructObjectPropertyDouble "max-value" val
+
+#if ENABLE_OVERLOADING
+data LevelBarMaxValuePropertyInfo
+instance AttrInfo LevelBarMaxValuePropertyInfo where
+    type AttrAllowedOps LevelBarMaxValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LevelBarMaxValuePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint LevelBarMaxValuePropertyInfo = IsLevelBar
+    type AttrGetType LevelBarMaxValuePropertyInfo = Double
+    type AttrLabel LevelBarMaxValuePropertyInfo = "max-value"
+    type AttrOrigin LevelBarMaxValuePropertyInfo = LevelBar
+    attrGet _ = getLevelBarMaxValue
+    attrSet _ = setLevelBarMaxValue
+    attrConstruct _ = constructLevelBarMaxValue
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "min-value"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@min-value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' levelBar #minValue
+@
+-}
+getLevelBarMinValue :: (MonadIO m, IsLevelBar o) => o -> m Double
+getLevelBarMinValue obj = liftIO $ B.Properties.getObjectPropertyDouble obj "min-value"
+
+{- |
+Set the value of the “@min-value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' levelBar [ #minValue 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLevelBarMinValue :: (MonadIO m, IsLevelBar o) => o -> Double -> m ()
+setLevelBarMinValue obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "min-value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@min-value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLevelBarMinValue :: (IsLevelBar o) => Double -> IO (GValueConstruct o)
+constructLevelBarMinValue val = B.Properties.constructObjectPropertyDouble "min-value" val
+
+#if ENABLE_OVERLOADING
+data LevelBarMinValuePropertyInfo
+instance AttrInfo LevelBarMinValuePropertyInfo where
+    type AttrAllowedOps LevelBarMinValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LevelBarMinValuePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint LevelBarMinValuePropertyInfo = IsLevelBar
+    type AttrGetType LevelBarMinValuePropertyInfo = Double
+    type AttrLabel LevelBarMinValuePropertyInfo = "min-value"
+    type AttrOrigin LevelBarMinValuePropertyInfo = LevelBar
+    attrGet _ = getLevelBarMinValue
+    attrSet _ = setLevelBarMinValue
+    attrConstruct _ = constructLevelBarMinValue
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "LevelBarMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' levelBar #mode
+@
+-}
+getLevelBarMode :: (MonadIO m, IsLevelBar o) => o -> m Gtk.Enums.LevelBarMode
+getLevelBarMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "mode"
+
+{- |
+Set the value of the “@mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' levelBar [ #mode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLevelBarMode :: (MonadIO m, IsLevelBar o) => o -> Gtk.Enums.LevelBarMode -> m ()
+setLevelBarMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLevelBarMode :: (IsLevelBar o) => Gtk.Enums.LevelBarMode -> IO (GValueConstruct o)
+constructLevelBarMode val = B.Properties.constructObjectPropertyEnum "mode" val
+
+#if ENABLE_OVERLOADING
+data LevelBarModePropertyInfo
+instance AttrInfo LevelBarModePropertyInfo where
+    type AttrAllowedOps LevelBarModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LevelBarModePropertyInfo = (~) Gtk.Enums.LevelBarMode
+    type AttrBaseTypeConstraint LevelBarModePropertyInfo = IsLevelBar
+    type AttrGetType LevelBarModePropertyInfo = Gtk.Enums.LevelBarMode
+    type AttrLabel LevelBarModePropertyInfo = "mode"
+    type AttrOrigin LevelBarModePropertyInfo = LevelBar
+    attrGet _ = getLevelBarMode
+    attrSet _ = setLevelBarMode
+    attrConstruct _ = constructLevelBarMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "value"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' levelBar #value
+@
+-}
+getLevelBarValue :: (MonadIO m, IsLevelBar o) => o -> m Double
+getLevelBarValue obj = liftIO $ B.Properties.getObjectPropertyDouble obj "value"
+
+{- |
+Set the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' levelBar [ #value 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLevelBarValue :: (MonadIO m, IsLevelBar o) => o -> Double -> m ()
+setLevelBarValue obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLevelBarValue :: (IsLevelBar o) => Double -> IO (GValueConstruct o)
+constructLevelBarValue val = B.Properties.constructObjectPropertyDouble "value" val
+
+#if ENABLE_OVERLOADING
+data LevelBarValuePropertyInfo
+instance AttrInfo LevelBarValuePropertyInfo where
+    type AttrAllowedOps LevelBarValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LevelBarValuePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint LevelBarValuePropertyInfo = IsLevelBar
+    type AttrGetType LevelBarValuePropertyInfo = Double
+    type AttrLabel LevelBarValuePropertyInfo = "value"
+    type AttrOrigin LevelBarValuePropertyInfo = LevelBar
+    attrGet _ = getLevelBarValue
+    attrSet _ = setLevelBarValue
+    attrConstruct _ = constructLevelBarValue
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList LevelBar
+type instance O.AttributeList LevelBar = LevelBarAttributeList
+type LevelBarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inverted", LevelBarInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxValue", LevelBarMaxValuePropertyInfo), '("minValue", LevelBarMinValuePropertyInfo), '("mode", LevelBarModePropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("value", LevelBarValuePropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+levelBarInverted :: AttrLabelProxy "inverted"
+levelBarInverted = AttrLabelProxy
+
+levelBarMaxValue :: AttrLabelProxy "maxValue"
+levelBarMaxValue = AttrLabelProxy
+
+levelBarMinValue :: AttrLabelProxy "minValue"
+levelBarMinValue = AttrLabelProxy
+
+levelBarMode :: AttrLabelProxy "mode"
+levelBarMode = AttrLabelProxy
+
+levelBarValue :: AttrLabelProxy "value"
+levelBarValue = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data LevelBarOffsetChangedSignalInfo
+instance SignalInfo LevelBarOffsetChangedSignalInfo where
+    type HaskellCallbackType LevelBarOffsetChangedSignalInfo = LevelBarOffsetChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_LevelBarOffsetChangedCallback cb
+        cb'' <- mk_LevelBarOffsetChangedCallback cb'
+        connectSignalFunPtr obj "offset-changed" cb'' connectMode
+
+type instance O.SignalList LevelBar = LevelBarSignalList
+type LevelBarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("offsetChanged", LevelBarOffsetChangedSignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method LevelBar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "LevelBar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_new" gtk_level_bar_new :: 
+    IO (Ptr LevelBar)
+
+{- |
+Creates a new 'GI.Gtk.Objects.LevelBar.LevelBar'.
+
+/Since: 3.6/
+-}
+levelBarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m LevelBar
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.LevelBar.LevelBar'. -}
+levelBarNew  = liftIO $ do
+    result <- gtk_level_bar_new
+    checkUnexpectedReturnNULL "levelBarNew" result
+    result' <- (newObject LevelBar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method LevelBar::new_for_interval
+-- method type : Constructor
+-- Args : [Arg {argCName = "min_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a positive value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a positive value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "LevelBar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_new_for_interval" gtk_level_bar_new_for_interval :: 
+    CDouble ->                              -- min_value : TBasicType TDouble
+    CDouble ->                              -- max_value : TBasicType TDouble
+    IO (Ptr LevelBar)
+
+{- |
+Utility constructor that creates a new 'GI.Gtk.Objects.LevelBar.LevelBar' for the specified
+interval.
+
+/Since: 3.6/
+-}
+levelBarNewForInterval ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Double
+    {- ^ /@minValue@/: a positive value -}
+    -> Double
+    {- ^ /@maxValue@/: a positive value -}
+    -> m LevelBar
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+levelBarNewForInterval minValue maxValue = liftIO $ do
+    let minValue' = realToFrac minValue
+    let maxValue' = realToFrac maxValue
+    result <- gtk_level_bar_new_for_interval minValue' maxValue'
+    checkUnexpectedReturnNULL "levelBarNewForInterval" result
+    result' <- (newObject LevelBar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method LevelBar::add_offset_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the new offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value for the new offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_add_offset_value" gtk_level_bar_add_offset_value :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    CString ->                              -- name : TBasicType TUTF8
+    CDouble ->                              -- value : TBasicType TDouble
+    IO ()
+
+{- |
+Adds a new offset marker on /@self@/ at the position specified by /@value@/.
+When the bar value is in the interval topped by /@value@/ (or between /@value@/
+and 'GI.Gtk.Objects.LevelBar.LevelBar':@/max-value/@ in case the offset is the last one on the bar)
+a style class named @level-@/@name@/ will be applied
+when rendering the level bar fill.
+If another offset marker named /@name@/ exists, its value will be
+replaced by /@value@/.
+
+/Since: 3.6/
+-}
+levelBarAddOffsetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> T.Text
+    {- ^ /@name@/: the name of the new offset -}
+    -> Double
+    {- ^ /@value@/: the value for the new offset -}
+    -> m ()
+levelBarAddOffsetValue self name value = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    name' <- textToCString name
+    let value' = realToFrac value
+    gtk_level_bar_add_offset_value self' name' value'
+    touchManagedPtr self
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data LevelBarAddOffsetValueMethodInfo
+instance (signature ~ (T.Text -> Double -> m ()), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarAddOffsetValueMethodInfo a signature where
+    overloadedMethod _ = levelBarAddOffsetValue
+
+#endif
+
+-- method LevelBar::get_inverted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_get_inverted" gtk_level_bar_get_inverted :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    IO CInt
+
+{- |
+Return the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/inverted/@ property.
+
+/Since: 3.8/
+-}
+levelBarGetInverted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the level bar is inverted -}
+levelBarGetInverted self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_level_bar_get_inverted self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data LevelBarGetInvertedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarGetInvertedMethodInfo a signature where
+    overloadedMethod _ = levelBarGetInverted
+
+#endif
+
+-- method LevelBar::get_max_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_get_max_value" gtk_level_bar_get_max_value :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    IO CDouble
+
+{- |
+Returns the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/max-value/@ property.
+
+/Since: 3.6/
+-}
+levelBarGetMaxValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> m Double
+    {- ^ __Returns:__ a positive value -}
+levelBarGetMaxValue self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_level_bar_get_max_value self'
+    let result' = realToFrac result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data LevelBarGetMaxValueMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarGetMaxValueMethodInfo a signature where
+    overloadedMethod _ = levelBarGetMaxValue
+
+#endif
+
+-- method LevelBar::get_min_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_get_min_value" gtk_level_bar_get_min_value :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    IO CDouble
+
+{- |
+Returns the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/min-value/@ property.
+
+/Since: 3.6/
+-}
+levelBarGetMinValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> m Double
+    {- ^ __Returns:__ a positive value -}
+levelBarGetMinValue self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_level_bar_get_min_value self'
+    let result' = realToFrac result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data LevelBarGetMinValueMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarGetMinValueMethodInfo a signature where
+    overloadedMethod _ = levelBarGetMinValue
+
+#endif
+
+-- method LevelBar::get_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "LevelBarMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_get_mode" gtk_level_bar_get_mode :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    IO CUInt
+
+{- |
+Returns the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/mode/@ property.
+
+/Since: 3.6/
+-}
+levelBarGetMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> m Gtk.Enums.LevelBarMode
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.LevelBarMode' -}
+levelBarGetMode self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_level_bar_get_mode self'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data LevelBarGetModeMethodInfo
+instance (signature ~ (m Gtk.Enums.LevelBarMode), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarGetModeMethodInfo a signature where
+    overloadedMethod _ = levelBarGetMode
+
+#endif
+
+-- method LevelBar::get_offset_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of an offset in the bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location where to store the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_get_offset_value" gtk_level_bar_get_offset_value :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr CDouble ->                          -- value : TBasicType TDouble
+    IO CInt
+
+{- |
+Fetches the value specified for the offset marker /@name@/ in /@self@/,
+returning 'True' in case an offset named /@name@/ was found.
+
+/Since: 3.6/
+-}
+levelBarGetOffsetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> Maybe (T.Text)
+    {- ^ /@name@/: the name of an offset in the bar -}
+    -> m ((Bool, Double))
+    {- ^ __Returns:__ 'True' if the specified offset is found -}
+levelBarGetOffsetValue self name = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    value <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_level_bar_get_offset_value self' maybeName value
+    let result' = (/= 0) result
+    value' <- peek value
+    let value'' = realToFrac value'
+    touchManagedPtr self
+    freeMem maybeName
+    freeMem value
+    return (result', value'')
+
+#if ENABLE_OVERLOADING
+data LevelBarGetOffsetValueMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ((Bool, Double))), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarGetOffsetValueMethodInfo a signature where
+    overloadedMethod _ = levelBarGetOffsetValue
+
+#endif
+
+-- method LevelBar::get_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_get_value" gtk_level_bar_get_value :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    IO CDouble
+
+{- |
+Returns the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/value/@ property.
+
+/Since: 3.6/
+-}
+levelBarGetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> m Double
+    {- ^ __Returns:__ a value in the interval between
+    'GI.Gtk.Objects.LevelBar.LevelBar':@/min-value/@ and 'GI.Gtk.Objects.LevelBar.LevelBar':@/max-value/@ -}
+levelBarGetValue self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_level_bar_get_value self'
+    let result' = realToFrac result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data LevelBarGetValueMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarGetValueMethodInfo a signature where
+    overloadedMethod _ = levelBarGetValue
+
+#endif
+
+-- method LevelBar::remove_offset_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of an offset in the bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_remove_offset_value" gtk_level_bar_remove_offset_value :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Removes an offset marker previously added with
+'GI.Gtk.Objects.LevelBar.levelBarAddOffsetValue'.
+
+/Since: 3.6/
+-}
+levelBarRemoveOffsetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> Maybe (T.Text)
+    {- ^ /@name@/: the name of an offset in the bar -}
+    -> m ()
+levelBarRemoveOffsetValue self name = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    gtk_level_bar_remove_offset_value self' maybeName
+    touchManagedPtr self
+    freeMem maybeName
+    return ()
+
+#if ENABLE_OVERLOADING
+data LevelBarRemoveOffsetValueMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarRemoveOffsetValueMethodInfo a signature where
+    overloadedMethod _ = levelBarRemoveOffsetValue
+
+#endif
+
+-- method LevelBar::set_inverted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "inverted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to invert the level bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_set_inverted" gtk_level_bar_set_inverted :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    CInt ->                                 -- inverted : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/inverted/@ property.
+
+/Since: 3.8/
+-}
+levelBarSetInverted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> Bool
+    {- ^ /@inverted@/: 'True' to invert the level bar -}
+    -> m ()
+levelBarSetInverted self inverted = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let inverted' = (fromIntegral . fromEnum) inverted
+    gtk_level_bar_set_inverted self' inverted'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data LevelBarSetInvertedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarSetInvertedMethodInfo a signature where
+    overloadedMethod _ = levelBarSetInverted
+
+#endif
+
+-- method LevelBar::set_max_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a positive value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_set_max_value" gtk_level_bar_set_max_value :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    CDouble ->                              -- value : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/max-value/@ property.
+
+You probably want to update preexisting level offsets after calling
+this function.
+
+/Since: 3.6/
+-}
+levelBarSetMaxValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> Double
+    {- ^ /@value@/: a positive value -}
+    -> m ()
+levelBarSetMaxValue self value = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let value' = realToFrac value
+    gtk_level_bar_set_max_value self' value'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data LevelBarSetMaxValueMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarSetMaxValueMethodInfo a signature where
+    overloadedMethod _ = levelBarSetMaxValue
+
+#endif
+
+-- method LevelBar::set_min_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a positive value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_set_min_value" gtk_level_bar_set_min_value :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    CDouble ->                              -- value : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/min-value/@ property.
+
+You probably want to update preexisting level offsets after calling
+this function.
+
+/Since: 3.6/
+-}
+levelBarSetMinValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> Double
+    {- ^ /@value@/: a positive value -}
+    -> m ()
+levelBarSetMinValue self value = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let value' = realToFrac value
+    gtk_level_bar_set_min_value self' value'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data LevelBarSetMinValueMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarSetMinValueMethodInfo a signature where
+    overloadedMethod _ = levelBarSetMinValue
+
+#endif
+
+-- method LevelBar::set_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gtk", name = "LevelBarMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBarMode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_set_mode" gtk_level_bar_set_mode :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    CUInt ->                                -- mode : TInterface (Name {namespace = "Gtk", name = "LevelBarMode"})
+    IO ()
+
+{- |
+Sets the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/mode/@ property.
+
+/Since: 3.6/
+-}
+levelBarSetMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> Gtk.Enums.LevelBarMode
+    {- ^ /@mode@/: a 'GI.Gtk.Enums.LevelBarMode' -}
+    -> m ()
+levelBarSetMode self mode = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let mode' = (fromIntegral . fromEnum) mode
+    gtk_level_bar_set_mode self' mode'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data LevelBarSetModeMethodInfo
+instance (signature ~ (Gtk.Enums.LevelBarMode -> m ()), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarSetModeMethodInfo a signature where
+    overloadedMethod _ = levelBarSetMode
+
+#endif
+
+-- method LevelBar::set_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "LevelBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLevelBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value in the interval between\n    #GtkLevelBar:min-value and #GtkLevelBar:max-value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_level_bar_set_value" gtk_level_bar_set_value :: 
+    Ptr LevelBar ->                         -- self : TInterface (Name {namespace = "Gtk", name = "LevelBar"})
+    CDouble ->                              -- value : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the value of the 'GI.Gtk.Objects.LevelBar.LevelBar':@/value/@ property.
+
+/Since: 3.6/
+-}
+levelBarSetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLevelBar a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.LevelBar.LevelBar' -}
+    -> Double
+    {- ^ /@value@/: a value in the interval between
+    'GI.Gtk.Objects.LevelBar.LevelBar':@/min-value/@ and 'GI.Gtk.Objects.LevelBar.LevelBar':@/max-value/@ -}
+    -> m ()
+levelBarSetValue self value = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let value' = realToFrac value
+    gtk_level_bar_set_value self' value'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data LevelBarSetValueMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsLevelBar a) => O.MethodInfo LevelBarSetValueMethodInfo a signature where
+    overloadedMethod _ = levelBarSetValue
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/LevelBar.hs-boot b/GI/Gtk/Objects/LevelBar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LevelBar.hs-boot
@@ -0,0 +1,86 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.LevelBar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype LevelBar = LevelBar (ManagedPtr LevelBar)
+instance GObject LevelBar where
+class (GObject o, O.IsDescendantOf LevelBar o) => IsLevelBar o
+instance (GObject o, O.IsDescendantOf LevelBar o) => IsLevelBar o
+instance O.HasParentTypes LevelBar
+#if ENABLE_OVERLOADING
+data LevelBarInvertedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarMaxValuePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarMinValuePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarValuePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarOffsetChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarAddOffsetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarGetInvertedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarGetMaxValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarGetMinValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarGetModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarGetOffsetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarGetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarRemoveOffsetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarSetInvertedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarSetMaxValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarSetMinValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarSetModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LevelBarSetValueMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/LevelBarAccessible.hs b/GI/Gtk/Objects/LevelBarAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LevelBarAccessible.hs
@@ -0,0 +1,175 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.LevelBarAccessible
+    ( 
+
+-- * Exported types
+    LevelBarAccessible(..)                  ,
+    IsLevelBarAccessible                    ,
+    toLevelBarAccessible                    ,
+    noLevelBarAccessible                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Value as Atk.Value
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype LevelBarAccessible = LevelBarAccessible (ManagedPtr LevelBarAccessible)
+foreign import ccall "gtk_level_bar_accessible_get_type"
+    c_gtk_level_bar_accessible_get_type :: IO GType
+
+instance GObject LevelBarAccessible where
+    gobjectType = c_gtk_level_bar_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `LevelBarAccessible`, for instance with `toLevelBarAccessible`.
+class (GObject o, O.IsDescendantOf LevelBarAccessible o) => IsLevelBarAccessible o
+instance (GObject o, O.IsDescendantOf LevelBarAccessible o) => IsLevelBarAccessible o
+
+instance O.HasParentTypes LevelBarAccessible
+type instance O.ParentTypes LevelBarAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Value.Value]
+
+-- | Cast to `LevelBarAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toLevelBarAccessible :: (MonadIO m, IsLevelBarAccessible o) => o -> m LevelBarAccessible
+toLevelBarAccessible = liftIO . unsafeCastTo LevelBarAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `LevelBarAccessible`.
+noLevelBarAccessible :: Maybe LevelBarAccessible
+noLevelBarAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveLevelBarAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLevelBarAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveLevelBarAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveLevelBarAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveLevelBarAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveLevelBarAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveLevelBarAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveLevelBarAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveLevelBarAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveLevelBarAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveLevelBarAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveLevelBarAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveLevelBarAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveLevelBarAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveLevelBarAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveLevelBarAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveLevelBarAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveLevelBarAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveLevelBarAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveLevelBarAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveLevelBarAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveLevelBarAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveLevelBarAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveLevelBarAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveLevelBarAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveLevelBarAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveLevelBarAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveLevelBarAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveLevelBarAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveLevelBarAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveLevelBarAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveLevelBarAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveLevelBarAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveLevelBarAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveLevelBarAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveLevelBarAccessibleMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo
+    ResolveLevelBarAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveLevelBarAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveLevelBarAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveLevelBarAccessibleMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo
+    ResolveLevelBarAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveLevelBarAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveLevelBarAccessibleMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo
+    ResolveLevelBarAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveLevelBarAccessibleMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo
+    ResolveLevelBarAccessibleMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo
+    ResolveLevelBarAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveLevelBarAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveLevelBarAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveLevelBarAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveLevelBarAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveLevelBarAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveLevelBarAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveLevelBarAccessibleMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo
+    ResolveLevelBarAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveLevelBarAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveLevelBarAccessibleMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo
+    ResolveLevelBarAccessibleMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo
+    ResolveLevelBarAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveLevelBarAccessibleMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo
+    ResolveLevelBarAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveLevelBarAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveLevelBarAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveLevelBarAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveLevelBarAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveLevelBarAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveLevelBarAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveLevelBarAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveLevelBarAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveLevelBarAccessibleMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo
+    ResolveLevelBarAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveLevelBarAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLevelBarAccessibleMethod t LevelBarAccessible, O.MethodInfo info LevelBarAccessible p) => OL.IsLabel t (LevelBarAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList LevelBarAccessible
+type instance O.AttributeList LevelBarAccessible = LevelBarAccessibleAttributeList
+type LevelBarAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList LevelBarAccessible = LevelBarAccessibleSignalList
+type LevelBarAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/LevelBarAccessible.hs-boot b/GI/Gtk/Objects/LevelBarAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LevelBarAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.LevelBarAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype LevelBarAccessible = LevelBarAccessible (ManagedPtr LevelBarAccessible)
+instance GObject LevelBarAccessible where
+class (GObject o, O.IsDescendantOf LevelBarAccessible o) => IsLevelBarAccessible o
+instance (GObject o, O.IsDescendantOf LevelBarAccessible o) => IsLevelBarAccessible o
+instance O.HasParentTypes LevelBarAccessible
diff --git a/GI/Gtk/Objects/LinkButton.hs b/GI/Gtk/Objects/LinkButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LinkButton.hs
@@ -0,0 +1,1004 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkLinkButton is a 'GI.Gtk.Objects.Button.Button' with a hyperlink, similar to the one
+used by web browsers, which triggers an action when clicked. It is useful
+to show quick links to resources.
+
+A link button is created by calling either 'GI.Gtk.Objects.LinkButton.linkButtonNew' or
+'GI.Gtk.Objects.LinkButton.linkButtonNewWithLabel'. If using the former, the URI you pass
+to the constructor is used as a label for the widget.
+
+The URI bound to a GtkLinkButton can be set specifically using
+'GI.Gtk.Objects.LinkButton.linkButtonSetUri', and retrieved using 'GI.Gtk.Objects.LinkButton.linkButtonGetUri'.
+
+By default, GtkLinkButton calls 'GI.Gtk.Functions.showUriOnWindow' when the button is
+clicked. This behaviour can be overridden by connecting to the
+'GI.Gtk.Objects.LinkButton.LinkButton'::@/activate-link/@ signal and returning 'True' from the
+signal handler.
+
+= CSS nodes
+
+GtkLinkButton has a single CSS node with name button. To differentiate
+it from a plain 'GI.Gtk.Objects.Button.Button', it gets the .link style class.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.LinkButton
+    ( 
+
+-- * Exported types
+    LinkButton(..)                          ,
+    IsLinkButton                            ,
+    toLinkButton                            ,
+    noLinkButton                            ,
+
+
+ -- * Methods
+-- ** getUri #method:getUri#
+
+#if ENABLE_OVERLOADING
+    LinkButtonGetUriMethodInfo              ,
+#endif
+    linkButtonGetUri                        ,
+
+
+-- ** getVisited #method:getVisited#
+
+#if ENABLE_OVERLOADING
+    LinkButtonGetVisitedMethodInfo          ,
+#endif
+    linkButtonGetVisited                    ,
+
+
+-- ** new #method:new#
+
+    linkButtonNew                           ,
+
+
+-- ** newWithLabel #method:newWithLabel#
+
+    linkButtonNewWithLabel                  ,
+
+
+-- ** setUri #method:setUri#
+
+#if ENABLE_OVERLOADING
+    LinkButtonSetUriMethodInfo              ,
+#endif
+    linkButtonSetUri                        ,
+
+
+-- ** setVisited #method:setVisited#
+
+#if ENABLE_OVERLOADING
+    LinkButtonSetVisitedMethodInfo          ,
+#endif
+    linkButtonSetVisited                    ,
+
+
+
+
+ -- * Properties
+-- ** uri #attr:uri#
+{- | The URI bound to this button.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    LinkButtonUriPropertyInfo               ,
+#endif
+    constructLinkButtonUri                  ,
+    getLinkButtonUri                        ,
+#if ENABLE_OVERLOADING
+    linkButtonUri                           ,
+#endif
+    setLinkButtonUri                        ,
+
+
+-- ** visited #attr:visited#
+{- | The \'visited\' state of this button. A visited link is drawn in a
+different color.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    LinkButtonVisitedPropertyInfo           ,
+#endif
+    constructLinkButtonVisited              ,
+    getLinkButtonVisited                    ,
+#if ENABLE_OVERLOADING
+    linkButtonVisited                       ,
+#endif
+    setLinkButtonVisited                    ,
+
+
+
+
+ -- * Signals
+-- ** activateLink #signal:activateLink#
+
+    C_LinkButtonActivateLinkCallback        ,
+    LinkButtonActivateLinkCallback          ,
+#if ENABLE_OVERLOADING
+    LinkButtonActivateLinkSignalInfo        ,
+#endif
+    afterLinkButtonActivateLink             ,
+    genClosure_LinkButtonActivateLink       ,
+    mk_LinkButtonActivateLinkCallback       ,
+    noLinkButtonActivateLinkCallback        ,
+    onLinkButtonActivateLink                ,
+    wrap_LinkButtonActivateLinkCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype LinkButton = LinkButton (ManagedPtr LinkButton)
+foreign import ccall "gtk_link_button_get_type"
+    c_gtk_link_button_get_type :: IO GType
+
+instance GObject LinkButton where
+    gobjectType = c_gtk_link_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `LinkButton`, for instance with `toLinkButton`.
+class (GObject o, O.IsDescendantOf LinkButton o) => IsLinkButton o
+instance (GObject o, O.IsDescendantOf LinkButton o) => IsLinkButton o
+
+instance O.HasParentTypes LinkButton
+type instance O.ParentTypes LinkButton = '[Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `LinkButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toLinkButton :: (MonadIO m, IsLinkButton o) => o -> m LinkButton
+toLinkButton = liftIO . unsafeCastTo LinkButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `LinkButton`.
+noLinkButton :: Maybe LinkButton
+noLinkButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveLinkButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLinkButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveLinkButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveLinkButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveLinkButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveLinkButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveLinkButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveLinkButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveLinkButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveLinkButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveLinkButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveLinkButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveLinkButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveLinkButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveLinkButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveLinkButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveLinkButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveLinkButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveLinkButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveLinkButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveLinkButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveLinkButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveLinkButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveLinkButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveLinkButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveLinkButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveLinkButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveLinkButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveLinkButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveLinkButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveLinkButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveLinkButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveLinkButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveLinkButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveLinkButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveLinkButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveLinkButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveLinkButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveLinkButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveLinkButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveLinkButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveLinkButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveLinkButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveLinkButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveLinkButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveLinkButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveLinkButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveLinkButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveLinkButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveLinkButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveLinkButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveLinkButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveLinkButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveLinkButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveLinkButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveLinkButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveLinkButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveLinkButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveLinkButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveLinkButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveLinkButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveLinkButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveLinkButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveLinkButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveLinkButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveLinkButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveLinkButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveLinkButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveLinkButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveLinkButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveLinkButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveLinkButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveLinkButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveLinkButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveLinkButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveLinkButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveLinkButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveLinkButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveLinkButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveLinkButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveLinkButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveLinkButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveLinkButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveLinkButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveLinkButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveLinkButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveLinkButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveLinkButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveLinkButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveLinkButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveLinkButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveLinkButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveLinkButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveLinkButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveLinkButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveLinkButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveLinkButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveLinkButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveLinkButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveLinkButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveLinkButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveLinkButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveLinkButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveLinkButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveLinkButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveLinkButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveLinkButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveLinkButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveLinkButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveLinkButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveLinkButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveLinkButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveLinkButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveLinkButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveLinkButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveLinkButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveLinkButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveLinkButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveLinkButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveLinkButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveLinkButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveLinkButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveLinkButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveLinkButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveLinkButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveLinkButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveLinkButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveLinkButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveLinkButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveLinkButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveLinkButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveLinkButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveLinkButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveLinkButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveLinkButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveLinkButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveLinkButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveLinkButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveLinkButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveLinkButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveLinkButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveLinkButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveLinkButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveLinkButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveLinkButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveLinkButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveLinkButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveLinkButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveLinkButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveLinkButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveLinkButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveLinkButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveLinkButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveLinkButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveLinkButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveLinkButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveLinkButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveLinkButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveLinkButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveLinkButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveLinkButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveLinkButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveLinkButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveLinkButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveLinkButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveLinkButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveLinkButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveLinkButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveLinkButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveLinkButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveLinkButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveLinkButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveLinkButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveLinkButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveLinkButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveLinkButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveLinkButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveLinkButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveLinkButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveLinkButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveLinkButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveLinkButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveLinkButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveLinkButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveLinkButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveLinkButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveLinkButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveLinkButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveLinkButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveLinkButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveLinkButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveLinkButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveLinkButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveLinkButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveLinkButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveLinkButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveLinkButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveLinkButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveLinkButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveLinkButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveLinkButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveLinkButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveLinkButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveLinkButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveLinkButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveLinkButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveLinkButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveLinkButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveLinkButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveLinkButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveLinkButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveLinkButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveLinkButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveLinkButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveLinkButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveLinkButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveLinkButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveLinkButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveLinkButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveLinkButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveLinkButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveLinkButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveLinkButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveLinkButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveLinkButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveLinkButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveLinkButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveLinkButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveLinkButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveLinkButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveLinkButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveLinkButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveLinkButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveLinkButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveLinkButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveLinkButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveLinkButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveLinkButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveLinkButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveLinkButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveLinkButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveLinkButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveLinkButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveLinkButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveLinkButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveLinkButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveLinkButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveLinkButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveLinkButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveLinkButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveLinkButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveLinkButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveLinkButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveLinkButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveLinkButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveLinkButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveLinkButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveLinkButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveLinkButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveLinkButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveLinkButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveLinkButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveLinkButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveLinkButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveLinkButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveLinkButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveLinkButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveLinkButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveLinkButtonMethod "getUri" o = LinkButtonGetUriMethodInfo
+    ResolveLinkButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveLinkButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveLinkButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveLinkButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveLinkButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveLinkButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveLinkButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveLinkButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveLinkButtonMethod "getVisited" o = LinkButtonGetVisitedMethodInfo
+    ResolveLinkButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveLinkButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveLinkButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveLinkButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveLinkButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveLinkButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveLinkButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveLinkButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveLinkButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveLinkButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveLinkButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveLinkButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveLinkButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveLinkButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveLinkButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveLinkButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveLinkButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveLinkButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveLinkButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveLinkButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveLinkButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveLinkButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveLinkButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveLinkButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveLinkButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveLinkButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveLinkButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveLinkButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveLinkButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveLinkButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveLinkButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveLinkButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveLinkButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveLinkButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveLinkButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveLinkButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveLinkButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveLinkButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveLinkButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveLinkButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveLinkButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveLinkButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveLinkButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveLinkButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveLinkButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveLinkButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveLinkButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveLinkButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveLinkButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveLinkButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveLinkButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveLinkButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveLinkButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveLinkButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveLinkButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveLinkButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveLinkButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveLinkButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveLinkButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveLinkButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveLinkButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveLinkButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveLinkButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveLinkButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveLinkButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveLinkButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveLinkButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveLinkButtonMethod "setUri" o = LinkButtonSetUriMethodInfo
+    ResolveLinkButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveLinkButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveLinkButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveLinkButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveLinkButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveLinkButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveLinkButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveLinkButtonMethod "setVisited" o = LinkButtonSetVisitedMethodInfo
+    ResolveLinkButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveLinkButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveLinkButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLinkButtonMethod t LinkButton, O.MethodInfo info LinkButton p) => OL.IsLabel t (LinkButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal LinkButton::activate-link
+{- |
+The ::activate-link signal is emitted each time the 'GI.Gtk.Objects.LinkButton.LinkButton'
+has been clicked.
+
+The default handler will call 'GI.Gtk.Functions.showUriOnWindow' with the URI stored inside
+the 'GI.Gtk.Objects.LinkButton.LinkButton':@/uri/@ property.
+
+To override the default behavior, you can connect to the ::activate-link
+signal and stop the propagation of the signal by returning 'True' from
+your handler.
+-}
+type LinkButtonActivateLinkCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `LinkButtonActivateLinkCallback`@.
+noLinkButtonActivateLinkCallback :: Maybe LinkButtonActivateLinkCallback
+noLinkButtonActivateLinkCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_LinkButtonActivateLinkCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_LinkButtonActivateLinkCallback`.
+foreign import ccall "wrapper"
+    mk_LinkButtonActivateLinkCallback :: C_LinkButtonActivateLinkCallback -> IO (FunPtr C_LinkButtonActivateLinkCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_LinkButtonActivateLink :: MonadIO m => LinkButtonActivateLinkCallback -> m (GClosure C_LinkButtonActivateLinkCallback)
+genClosure_LinkButtonActivateLink cb = liftIO $ do
+    let cb' = wrap_LinkButtonActivateLinkCallback cb
+    mk_LinkButtonActivateLinkCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `LinkButtonActivateLinkCallback` into a `C_LinkButtonActivateLinkCallback`.
+wrap_LinkButtonActivateLinkCallback ::
+    LinkButtonActivateLinkCallback ->
+    C_LinkButtonActivateLinkCallback
+wrap_LinkButtonActivateLinkCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@activate-link@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' linkButton #activateLink callback
+@
+-}
+onLinkButtonActivateLink :: (IsLinkButton a, MonadIO m) => a -> LinkButtonActivateLinkCallback -> m SignalHandlerId
+onLinkButtonActivateLink obj cb = liftIO $ do
+    let cb' = wrap_LinkButtonActivateLinkCallback cb
+    cb'' <- mk_LinkButtonActivateLinkCallback cb'
+    connectSignalFunPtr obj "activate-link" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-link@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' linkButton #activateLink callback
+@
+-}
+afterLinkButtonActivateLink :: (IsLinkButton a, MonadIO m) => a -> LinkButtonActivateLinkCallback -> m SignalHandlerId
+afterLinkButtonActivateLink obj cb = liftIO $ do
+    let cb' = wrap_LinkButtonActivateLinkCallback cb
+    cb'' <- mk_LinkButtonActivateLinkCallback cb'
+    connectSignalFunPtr obj "activate-link" cb'' SignalConnectAfter
+
+
+-- VVV Prop "uri"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@uri@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' linkButton #uri
+@
+-}
+getLinkButtonUri :: (MonadIO m, IsLinkButton o) => o -> m T.Text
+getLinkButtonUri obj = liftIO $ checkUnexpectedNothing "getLinkButtonUri" $ B.Properties.getObjectPropertyString obj "uri"
+
+{- |
+Set the value of the “@uri@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' linkButton [ #uri 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLinkButtonUri :: (MonadIO m, IsLinkButton o) => o -> T.Text -> m ()
+setLinkButtonUri obj val = liftIO $ B.Properties.setObjectPropertyString obj "uri" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@uri@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLinkButtonUri :: (IsLinkButton o) => T.Text -> IO (GValueConstruct o)
+constructLinkButtonUri val = B.Properties.constructObjectPropertyString "uri" (Just val)
+
+#if ENABLE_OVERLOADING
+data LinkButtonUriPropertyInfo
+instance AttrInfo LinkButtonUriPropertyInfo where
+    type AttrAllowedOps LinkButtonUriPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LinkButtonUriPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint LinkButtonUriPropertyInfo = IsLinkButton
+    type AttrGetType LinkButtonUriPropertyInfo = T.Text
+    type AttrLabel LinkButtonUriPropertyInfo = "uri"
+    type AttrOrigin LinkButtonUriPropertyInfo = LinkButton
+    attrGet _ = getLinkButtonUri
+    attrSet _ = setLinkButtonUri
+    attrConstruct _ = constructLinkButtonUri
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visited"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visited@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' linkButton #visited
+@
+-}
+getLinkButtonVisited :: (MonadIO m, IsLinkButton o) => o -> m Bool
+getLinkButtonVisited obj = liftIO $ B.Properties.getObjectPropertyBool obj "visited"
+
+{- |
+Set the value of the “@visited@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' linkButton [ #visited 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLinkButtonVisited :: (MonadIO m, IsLinkButton o) => o -> Bool -> m ()
+setLinkButtonVisited obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visited" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visited@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLinkButtonVisited :: (IsLinkButton o) => Bool -> IO (GValueConstruct o)
+constructLinkButtonVisited val = B.Properties.constructObjectPropertyBool "visited" val
+
+#if ENABLE_OVERLOADING
+data LinkButtonVisitedPropertyInfo
+instance AttrInfo LinkButtonVisitedPropertyInfo where
+    type AttrAllowedOps LinkButtonVisitedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint LinkButtonVisitedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint LinkButtonVisitedPropertyInfo = IsLinkButton
+    type AttrGetType LinkButtonVisitedPropertyInfo = Bool
+    type AttrLabel LinkButtonVisitedPropertyInfo = "visited"
+    type AttrOrigin LinkButtonVisitedPropertyInfo = LinkButton
+    attrGet _ = getLinkButtonVisited
+    attrSet _ = setLinkButtonVisited
+    attrConstruct _ = constructLinkButtonVisited
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList LinkButton
+type instance O.AttributeList LinkButton = LinkButtonAttributeList
+type LinkButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("uri", LinkButtonUriPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visited", LinkButtonVisitedPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+linkButtonUri :: AttrLabelProxy "uri"
+linkButtonUri = AttrLabelProxy
+
+linkButtonVisited :: AttrLabelProxy "visited"
+linkButtonVisited = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data LinkButtonActivateLinkSignalInfo
+instance SignalInfo LinkButtonActivateLinkSignalInfo where
+    type HaskellCallbackType LinkButtonActivateLinkSignalInfo = LinkButtonActivateLinkCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_LinkButtonActivateLinkCallback cb
+        cb'' <- mk_LinkButtonActivateLinkCallback cb'
+        connectSignalFunPtr obj "activate-link" cb'' connectMode
+
+type instance O.SignalList LinkButton = LinkButtonSignalList
+type LinkButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("activateLink", LinkButtonActivateLinkSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method LinkButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "LinkButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_link_button_new" gtk_link_button_new :: 
+    CString ->                              -- uri : TBasicType TUTF8
+    IO (Ptr LinkButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.LinkButton.LinkButton' with the URI as its text.
+
+/Since: 2.10/
+-}
+linkButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@uri@/: a valid URI -}
+    -> m LinkButton
+    {- ^ __Returns:__ a new link button widget. -}
+linkButtonNew uri = liftIO $ do
+    uri' <- textToCString uri
+    result <- gtk_link_button_new uri'
+    checkUnexpectedReturnNULL "linkButtonNew" result
+    result' <- (newObject LinkButton) result
+    freeMem uri'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method LinkButton::new_with_label
+-- method type : Constructor
+-- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the text of the button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "LinkButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_link_button_new_with_label" gtk_link_button_new_with_label :: 
+    CString ->                              -- uri : TBasicType TUTF8
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr LinkButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.LinkButton.LinkButton' containing a label.
+
+/Since: 2.10/
+-}
+linkButtonNewWithLabel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@uri@/: a valid URI -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: the text of the button -}
+    -> m LinkButton
+    {- ^ __Returns:__ a new link button widget. -}
+linkButtonNewWithLabel uri label = liftIO $ do
+    uri' <- textToCString uri
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    result <- gtk_link_button_new_with_label uri' maybeLabel
+    checkUnexpectedReturnNULL "linkButtonNewWithLabel" result
+    result' <- (newObject LinkButton) result
+    freeMem uri'
+    freeMem maybeLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method LinkButton::get_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "link_button", argType = TInterface (Name {namespace = "Gtk", name = "LinkButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLinkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_link_button_get_uri" gtk_link_button_get_uri :: 
+    Ptr LinkButton ->                       -- link_button : TInterface (Name {namespace = "Gtk", name = "LinkButton"})
+    IO CString
+
+{- |
+Retrieves the URI set using 'GI.Gtk.Objects.LinkButton.linkButtonSetUri'.
+
+/Since: 2.10/
+-}
+linkButtonGetUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLinkButton a) =>
+    a
+    {- ^ /@linkButton@/: a 'GI.Gtk.Objects.LinkButton.LinkButton' -}
+    -> m T.Text
+    {- ^ __Returns:__ a valid URI.  The returned string is owned by the link button
+  and should not be modified or freed. -}
+linkButtonGetUri linkButton = liftIO $ do
+    linkButton' <- unsafeManagedPtrCastPtr linkButton
+    result <- gtk_link_button_get_uri linkButton'
+    checkUnexpectedReturnNULL "linkButtonGetUri" result
+    result' <- cstringToText result
+    touchManagedPtr linkButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data LinkButtonGetUriMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsLinkButton a) => O.MethodInfo LinkButtonGetUriMethodInfo a signature where
+    overloadedMethod _ = linkButtonGetUri
+
+#endif
+
+-- method LinkButton::get_visited
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "link_button", argType = TInterface (Name {namespace = "Gtk", name = "LinkButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLinkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_link_button_get_visited" gtk_link_button_get_visited :: 
+    Ptr LinkButton ->                       -- link_button : TInterface (Name {namespace = "Gtk", name = "LinkButton"})
+    IO CInt
+
+{- |
+Retrieves the “visited” state of the URI where the 'GI.Gtk.Objects.LinkButton.LinkButton'
+points. The button becomes visited when it is clicked. If the URI
+is changed on the button, the “visited” state is unset again.
+
+The state may also be changed using 'GI.Gtk.Objects.LinkButton.linkButtonSetVisited'.
+
+/Since: 2.14/
+-}
+linkButtonGetVisited ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLinkButton a) =>
+    a
+    {- ^ /@linkButton@/: a 'GI.Gtk.Objects.LinkButton.LinkButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the link has been visited, 'False' otherwise -}
+linkButtonGetVisited linkButton = liftIO $ do
+    linkButton' <- unsafeManagedPtrCastPtr linkButton
+    result <- gtk_link_button_get_visited linkButton'
+    let result' = (/= 0) result
+    touchManagedPtr linkButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data LinkButtonGetVisitedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsLinkButton a) => O.MethodInfo LinkButtonGetVisitedMethodInfo a signature where
+    overloadedMethod _ = linkButtonGetVisited
+
+#endif
+
+-- method LinkButton::set_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "link_button", argType = TInterface (Name {namespace = "Gtk", name = "LinkButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLinkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_link_button_set_uri" gtk_link_button_set_uri :: 
+    Ptr LinkButton ->                       -- link_button : TInterface (Name {namespace = "Gtk", name = "LinkButton"})
+    CString ->                              -- uri : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets /@uri@/ as the URI where the 'GI.Gtk.Objects.LinkButton.LinkButton' points. As a side-effect
+this unsets the “visited” state of the button.
+
+/Since: 2.10/
+-}
+linkButtonSetUri ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLinkButton a) =>
+    a
+    {- ^ /@linkButton@/: a 'GI.Gtk.Objects.LinkButton.LinkButton' -}
+    -> T.Text
+    {- ^ /@uri@/: a valid URI -}
+    -> m ()
+linkButtonSetUri linkButton uri = liftIO $ do
+    linkButton' <- unsafeManagedPtrCastPtr linkButton
+    uri' <- textToCString uri
+    gtk_link_button_set_uri linkButton' uri'
+    touchManagedPtr linkButton
+    freeMem uri'
+    return ()
+
+#if ENABLE_OVERLOADING
+data LinkButtonSetUriMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsLinkButton a) => O.MethodInfo LinkButtonSetUriMethodInfo a signature where
+    overloadedMethod _ = linkButtonSetUri
+
+#endif
+
+-- method LinkButton::set_visited
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "link_button", argType = TInterface (Name {namespace = "Gtk", name = "LinkButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLinkButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visited", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new \8220visited\8221 state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_link_button_set_visited" gtk_link_button_set_visited :: 
+    Ptr LinkButton ->                       -- link_button : TInterface (Name {namespace = "Gtk", name = "LinkButton"})
+    CInt ->                                 -- visited : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the “visited” state of the URI where the 'GI.Gtk.Objects.LinkButton.LinkButton'
+points.  See 'GI.Gtk.Objects.LinkButton.linkButtonGetVisited' for more details.
+
+/Since: 2.14/
+-}
+linkButtonSetVisited ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLinkButton a) =>
+    a
+    {- ^ /@linkButton@/: a 'GI.Gtk.Objects.LinkButton.LinkButton' -}
+    -> Bool
+    {- ^ /@visited@/: the new “visited” state -}
+    -> m ()
+linkButtonSetVisited linkButton visited = liftIO $ do
+    linkButton' <- unsafeManagedPtrCastPtr linkButton
+    let visited' = (fromIntegral . fromEnum) visited
+    gtk_link_button_set_visited linkButton' visited'
+    touchManagedPtr linkButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data LinkButtonSetVisitedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsLinkButton a) => O.MethodInfo LinkButtonSetVisitedMethodInfo a signature where
+    overloadedMethod _ = linkButtonSetVisited
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/LinkButton.hs-boot b/GI/Gtk/Objects/LinkButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LinkButton.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.LinkButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype LinkButton = LinkButton (ManagedPtr LinkButton)
+instance GObject LinkButton where
+class (GObject o, O.IsDescendantOf LinkButton o) => IsLinkButton o
+instance (GObject o, O.IsDescendantOf LinkButton o) => IsLinkButton o
+instance O.HasParentTypes LinkButton
+#if ENABLE_OVERLOADING
+data LinkButtonUriPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LinkButtonVisitedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LinkButtonActivateLinkSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data LinkButtonGetUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LinkButtonGetVisitedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LinkButtonSetUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LinkButtonSetVisitedMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/LinkButtonAccessible.hs b/GI/Gtk/Objects/LinkButtonAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LinkButtonAccessible.hs
@@ -0,0 +1,179 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.LinkButtonAccessible
+    ( 
+
+-- * Exported types
+    LinkButtonAccessible(..)                ,
+    IsLinkButtonAccessible                  ,
+    toLinkButtonAccessible                  ,
+    noLinkButtonAccessible                  ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.HyperlinkImpl as Atk.HyperlinkImpl
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ButtonAccessible as Gtk.ButtonAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype LinkButtonAccessible = LinkButtonAccessible (ManagedPtr LinkButtonAccessible)
+foreign import ccall "gtk_link_button_accessible_get_type"
+    c_gtk_link_button_accessible_get_type :: IO GType
+
+instance GObject LinkButtonAccessible where
+    gobjectType = c_gtk_link_button_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `LinkButtonAccessible`, for instance with `toLinkButtonAccessible`.
+class (GObject o, O.IsDescendantOf LinkButtonAccessible o) => IsLinkButtonAccessible o
+instance (GObject o, O.IsDescendantOf LinkButtonAccessible o) => IsLinkButtonAccessible o
+
+instance O.HasParentTypes LinkButtonAccessible
+type instance O.ParentTypes LinkButtonAccessible = '[Gtk.ButtonAccessible.ButtonAccessible, Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.HyperlinkImpl.HyperlinkImpl, Atk.Image.Image]
+
+-- | Cast to `LinkButtonAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toLinkButtonAccessible :: (MonadIO m, IsLinkButtonAccessible o) => o -> m LinkButtonAccessible
+toLinkButtonAccessible = liftIO . unsafeCastTo LinkButtonAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `LinkButtonAccessible`.
+noLinkButtonAccessible :: Maybe LinkButtonAccessible
+noLinkButtonAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveLinkButtonAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLinkButtonAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveLinkButtonAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveLinkButtonAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveLinkButtonAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveLinkButtonAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveLinkButtonAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveLinkButtonAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveLinkButtonAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveLinkButtonAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveLinkButtonAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveLinkButtonAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveLinkButtonAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveLinkButtonAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveLinkButtonAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveLinkButtonAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveLinkButtonAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveLinkButtonAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveLinkButtonAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveLinkButtonAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveLinkButtonAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveLinkButtonAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveLinkButtonAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveLinkButtonAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveLinkButtonAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveLinkButtonAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveLinkButtonAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveLinkButtonAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveLinkButtonAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveLinkButtonAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveLinkButtonAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveLinkButtonAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveLinkButtonAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveLinkButtonAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveLinkButtonAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveLinkButtonAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveLinkButtonAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveLinkButtonAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveLinkButtonAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveLinkButtonAccessibleMethod "getHyperlink" o = Atk.HyperlinkImpl.HyperlinkImplGetHyperlinkMethodInfo
+    ResolveLinkButtonAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveLinkButtonAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveLinkButtonAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveLinkButtonAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveLinkButtonAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveLinkButtonAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveLinkButtonAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveLinkButtonAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveLinkButtonAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveLinkButtonAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveLinkButtonAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveLinkButtonAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveLinkButtonAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveLinkButtonAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveLinkButtonAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveLinkButtonAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveLinkButtonAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveLinkButtonAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveLinkButtonAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveLinkButtonAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveLinkButtonAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveLinkButtonAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveLinkButtonAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveLinkButtonAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveLinkButtonAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveLinkButtonAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveLinkButtonAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveLinkButtonAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveLinkButtonAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveLinkButtonAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveLinkButtonAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveLinkButtonAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLinkButtonAccessibleMethod t LinkButtonAccessible, O.MethodInfo info LinkButtonAccessible p) => OL.IsLabel t (LinkButtonAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList LinkButtonAccessible
+type instance O.AttributeList LinkButtonAccessible = LinkButtonAccessibleAttributeList
+type LinkButtonAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList LinkButtonAccessible = LinkButtonAccessibleSignalList
+type LinkButtonAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/LinkButtonAccessible.hs-boot b/GI/Gtk/Objects/LinkButtonAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LinkButtonAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.LinkButtonAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype LinkButtonAccessible = LinkButtonAccessible (ManagedPtr LinkButtonAccessible)
+instance GObject LinkButtonAccessible where
+class (GObject o, O.IsDescendantOf LinkButtonAccessible o) => IsLinkButtonAccessible o
+instance (GObject o, O.IsDescendantOf LinkButtonAccessible o) => IsLinkButtonAccessible o
+instance O.HasParentTypes LinkButtonAccessible
diff --git a/GI/Gtk/Objects/ListBox.hs b/GI/Gtk/Objects/ListBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListBox.hs
@@ -0,0 +1,2810 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkListBox is a vertical container that contains GtkListBoxRow
+children. These rows can by dynamically sorted and filtered, and
+headers can be added dynamically depending on the row content.
+It also allows keyboard and mouse navigation and selection like
+a typical list.
+
+Using GtkListBox is often an alternative to 'GI.Gtk.Objects.TreeView.TreeView', especially
+when the list contents has a more complicated layout than what is allowed
+by a 'GI.Gtk.Objects.CellRenderer.CellRenderer', or when the contents is interactive (i.e. has a
+button in it).
+
+Although a 'GI.Gtk.Objects.ListBox.ListBox' must have only 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' children you can
+add any kind of widget to it via 'GI.Gtk.Objects.Container.containerAdd', and a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow'
+widget will automatically be inserted between the list and the widget.
+
+@/GtkListBoxRows/@ can be marked as activatable or selectable. If a row
+is activatable, 'GI.Gtk.Objects.ListBox.ListBox'::@/row-activated/@ will be emitted for it when
+the user tries to activate it. If it is selectable, the row will be marked
+as selected when the user tries to select it.
+
+The GtkListBox widget was added in GTK+ 3.10.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>list
+>╰── row[.activatable]
+
+
+GtkListBox uses a single CSS node named list. Each GtkListBoxRow uses
+a single CSS node named row. The row nodes get the .activatable
+style class added when appropriate.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ListBox
+    ( 
+
+-- * Exported types
+    ListBox(..)                             ,
+    IsListBox                               ,
+    toListBox                               ,
+    noListBox                               ,
+
+
+ -- * Methods
+-- ** bindModel #method:bindModel#
+
+#if ENABLE_OVERLOADING
+    ListBoxBindModelMethodInfo              ,
+#endif
+    listBoxBindModel                        ,
+
+
+-- ** dragHighlightRow #method:dragHighlightRow#
+
+#if ENABLE_OVERLOADING
+    ListBoxDragHighlightRowMethodInfo       ,
+#endif
+    listBoxDragHighlightRow                 ,
+
+
+-- ** dragUnhighlightRow #method:dragUnhighlightRow#
+
+#if ENABLE_OVERLOADING
+    ListBoxDragUnhighlightRowMethodInfo     ,
+#endif
+    listBoxDragUnhighlightRow               ,
+
+
+-- ** getActivateOnSingleClick #method:getActivateOnSingleClick#
+
+#if ENABLE_OVERLOADING
+    ListBoxGetActivateOnSingleClickMethodInfo,
+#endif
+    listBoxGetActivateOnSingleClick         ,
+
+
+-- ** getAdjustment #method:getAdjustment#
+
+#if ENABLE_OVERLOADING
+    ListBoxGetAdjustmentMethodInfo          ,
+#endif
+    listBoxGetAdjustment                    ,
+
+
+-- ** getRowAtIndex #method:getRowAtIndex#
+
+#if ENABLE_OVERLOADING
+    ListBoxGetRowAtIndexMethodInfo          ,
+#endif
+    listBoxGetRowAtIndex                    ,
+
+
+-- ** getRowAtY #method:getRowAtY#
+
+#if ENABLE_OVERLOADING
+    ListBoxGetRowAtYMethodInfo              ,
+#endif
+    listBoxGetRowAtY                        ,
+
+
+-- ** getSelectedRow #method:getSelectedRow#
+
+#if ENABLE_OVERLOADING
+    ListBoxGetSelectedRowMethodInfo         ,
+#endif
+    listBoxGetSelectedRow                   ,
+
+
+-- ** getSelectedRows #method:getSelectedRows#
+
+#if ENABLE_OVERLOADING
+    ListBoxGetSelectedRowsMethodInfo        ,
+#endif
+    listBoxGetSelectedRows                  ,
+
+
+-- ** getSelectionMode #method:getSelectionMode#
+
+#if ENABLE_OVERLOADING
+    ListBoxGetSelectionModeMethodInfo       ,
+#endif
+    listBoxGetSelectionMode                 ,
+
+
+-- ** insert #method:insert#
+
+#if ENABLE_OVERLOADING
+    ListBoxInsertMethodInfo                 ,
+#endif
+    listBoxInsert                           ,
+
+
+-- ** invalidateFilter #method:invalidateFilter#
+
+#if ENABLE_OVERLOADING
+    ListBoxInvalidateFilterMethodInfo       ,
+#endif
+    listBoxInvalidateFilter                 ,
+
+
+-- ** invalidateHeaders #method:invalidateHeaders#
+
+#if ENABLE_OVERLOADING
+    ListBoxInvalidateHeadersMethodInfo      ,
+#endif
+    listBoxInvalidateHeaders                ,
+
+
+-- ** invalidateSort #method:invalidateSort#
+
+#if ENABLE_OVERLOADING
+    ListBoxInvalidateSortMethodInfo         ,
+#endif
+    listBoxInvalidateSort                   ,
+
+
+-- ** new #method:new#
+
+    listBoxNew                              ,
+
+
+-- ** prepend #method:prepend#
+
+#if ENABLE_OVERLOADING
+    ListBoxPrependMethodInfo                ,
+#endif
+    listBoxPrepend                          ,
+
+
+-- ** selectAll #method:selectAll#
+
+#if ENABLE_OVERLOADING
+    ListBoxSelectAllMethodInfo              ,
+#endif
+    listBoxSelectAll                        ,
+
+
+-- ** selectRow #method:selectRow#
+
+#if ENABLE_OVERLOADING
+    ListBoxSelectRowMethodInfo              ,
+#endif
+    listBoxSelectRow                        ,
+
+
+-- ** selectedForeach #method:selectedForeach#
+
+#if ENABLE_OVERLOADING
+    ListBoxSelectedForeachMethodInfo        ,
+#endif
+    listBoxSelectedForeach                  ,
+
+
+-- ** setActivateOnSingleClick #method:setActivateOnSingleClick#
+
+#if ENABLE_OVERLOADING
+    ListBoxSetActivateOnSingleClickMethodInfo,
+#endif
+    listBoxSetActivateOnSingleClick         ,
+
+
+-- ** setAdjustment #method:setAdjustment#
+
+#if ENABLE_OVERLOADING
+    ListBoxSetAdjustmentMethodInfo          ,
+#endif
+    listBoxSetAdjustment                    ,
+
+
+-- ** setFilterFunc #method:setFilterFunc#
+
+#if ENABLE_OVERLOADING
+    ListBoxSetFilterFuncMethodInfo          ,
+#endif
+    listBoxSetFilterFunc                    ,
+
+
+-- ** setHeaderFunc #method:setHeaderFunc#
+
+#if ENABLE_OVERLOADING
+    ListBoxSetHeaderFuncMethodInfo          ,
+#endif
+    listBoxSetHeaderFunc                    ,
+
+
+-- ** setPlaceholder #method:setPlaceholder#
+
+#if ENABLE_OVERLOADING
+    ListBoxSetPlaceholderMethodInfo         ,
+#endif
+    listBoxSetPlaceholder                   ,
+
+
+-- ** setSelectionMode #method:setSelectionMode#
+
+#if ENABLE_OVERLOADING
+    ListBoxSetSelectionModeMethodInfo       ,
+#endif
+    listBoxSetSelectionMode                 ,
+
+
+-- ** setSortFunc #method:setSortFunc#
+
+#if ENABLE_OVERLOADING
+    ListBoxSetSortFuncMethodInfo            ,
+#endif
+    listBoxSetSortFunc                      ,
+
+
+-- ** unselectAll #method:unselectAll#
+
+#if ENABLE_OVERLOADING
+    ListBoxUnselectAllMethodInfo            ,
+#endif
+    listBoxUnselectAll                      ,
+
+
+-- ** unselectRow #method:unselectRow#
+
+#if ENABLE_OVERLOADING
+    ListBoxUnselectRowMethodInfo            ,
+#endif
+    listBoxUnselectRow                      ,
+
+
+
+
+ -- * Properties
+-- ** activateOnSingleClick #attr:activateOnSingleClick#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ListBoxActivateOnSingleClickPropertyInfo,
+#endif
+    constructListBoxActivateOnSingleClick   ,
+    getListBoxActivateOnSingleClick         ,
+#if ENABLE_OVERLOADING
+    listBoxActivateOnSingleClick            ,
+#endif
+    setListBoxActivateOnSingleClick         ,
+
+
+-- ** selectionMode #attr:selectionMode#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ListBoxSelectionModePropertyInfo        ,
+#endif
+    constructListBoxSelectionMode           ,
+    getListBoxSelectionMode                 ,
+#if ENABLE_OVERLOADING
+    listBoxSelectionMode                    ,
+#endif
+    setListBoxSelectionMode                 ,
+
+
+
+
+ -- * Signals
+-- ** activateCursorRow #signal:activateCursorRow#
+
+    C_ListBoxActivateCursorRowCallback      ,
+    ListBoxActivateCursorRowCallback        ,
+#if ENABLE_OVERLOADING
+    ListBoxActivateCursorRowSignalInfo      ,
+#endif
+    afterListBoxActivateCursorRow           ,
+    genClosure_ListBoxActivateCursorRow     ,
+    mk_ListBoxActivateCursorRowCallback     ,
+    noListBoxActivateCursorRowCallback      ,
+    onListBoxActivateCursorRow              ,
+    wrap_ListBoxActivateCursorRowCallback   ,
+
+
+-- ** moveCursor #signal:moveCursor#
+
+    C_ListBoxMoveCursorCallback             ,
+    ListBoxMoveCursorCallback               ,
+#if ENABLE_OVERLOADING
+    ListBoxMoveCursorSignalInfo             ,
+#endif
+    afterListBoxMoveCursor                  ,
+    genClosure_ListBoxMoveCursor            ,
+    mk_ListBoxMoveCursorCallback            ,
+    noListBoxMoveCursorCallback             ,
+    onListBoxMoveCursor                     ,
+    wrap_ListBoxMoveCursorCallback          ,
+
+
+-- ** rowActivated #signal:rowActivated#
+
+    C_ListBoxRowActivatedCallback           ,
+    ListBoxRowActivatedCallback             ,
+#if ENABLE_OVERLOADING
+    ListBoxRowActivatedSignalInfo           ,
+#endif
+    afterListBoxRowActivated                ,
+    genClosure_ListBoxRowActivated          ,
+    mk_ListBoxRowActivatedCallback          ,
+    noListBoxRowActivatedCallback           ,
+    onListBoxRowActivated                   ,
+    wrap_ListBoxRowActivatedCallback        ,
+
+
+-- ** rowSelected #signal:rowSelected#
+
+    C_ListBoxRowSelectedCallback            ,
+    ListBoxRowSelectedCallback              ,
+#if ENABLE_OVERLOADING
+    ListBoxRowSelectedSignalInfo            ,
+#endif
+    afterListBoxRowSelected                 ,
+    genClosure_ListBoxRowSelected           ,
+    mk_ListBoxRowSelectedCallback           ,
+    noListBoxRowSelectedCallback            ,
+    onListBoxRowSelected                    ,
+    wrap_ListBoxRowSelectedCallback         ,
+
+
+-- ** selectAll #signal:selectAll#
+
+    C_ListBoxSelectAllCallback              ,
+    ListBoxSelectAllCallback                ,
+#if ENABLE_OVERLOADING
+    ListBoxSelectAllSignalInfo              ,
+#endif
+    afterListBoxSelectAll                   ,
+    genClosure_ListBoxSelectAll             ,
+    mk_ListBoxSelectAllCallback             ,
+    noListBoxSelectAllCallback              ,
+    onListBoxSelectAll                      ,
+    wrap_ListBoxSelectAllCallback           ,
+
+
+-- ** selectedRowsChanged #signal:selectedRowsChanged#
+
+    C_ListBoxSelectedRowsChangedCallback    ,
+    ListBoxSelectedRowsChangedCallback      ,
+#if ENABLE_OVERLOADING
+    ListBoxSelectedRowsChangedSignalInfo    ,
+#endif
+    afterListBoxSelectedRowsChanged         ,
+    genClosure_ListBoxSelectedRowsChanged   ,
+    mk_ListBoxSelectedRowsChangedCallback   ,
+    noListBoxSelectedRowsChangedCallback    ,
+    onListBoxSelectedRowsChanged            ,
+    wrap_ListBoxSelectedRowsChangedCallback ,
+
+
+-- ** toggleCursorRow #signal:toggleCursorRow#
+
+    C_ListBoxToggleCursorRowCallback        ,
+    ListBoxToggleCursorRowCallback          ,
+#if ENABLE_OVERLOADING
+    ListBoxToggleCursorRowSignalInfo        ,
+#endif
+    afterListBoxToggleCursorRow             ,
+    genClosure_ListBoxToggleCursorRow       ,
+    mk_ListBoxToggleCursorRowCallback       ,
+    noListBoxToggleCursorRowCallback        ,
+    onListBoxToggleCursorRow                ,
+    wrap_ListBoxToggleCursorRowCallback     ,
+
+
+-- ** unselectAll #signal:unselectAll#
+
+    C_ListBoxUnselectAllCallback            ,
+    ListBoxUnselectAllCallback              ,
+#if ENABLE_OVERLOADING
+    ListBoxUnselectAllSignalInfo            ,
+#endif
+    afterListBoxUnselectAll                 ,
+    genClosure_ListBoxUnselectAll           ,
+    mk_ListBoxUnselectAllCallback           ,
+    noListBoxUnselectAllCallback            ,
+    onListBoxUnselectAll                    ,
+    wrap_ListBoxUnselectAllCallback         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.ListModel as Gio.ListModel
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ListBoxRow as Gtk.ListBoxRow
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ListBox = ListBox (ManagedPtr ListBox)
+foreign import ccall "gtk_list_box_get_type"
+    c_gtk_list_box_get_type :: IO GType
+
+instance GObject ListBox where
+    gobjectType = c_gtk_list_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `ListBox`, for instance with `toListBox`.
+class (GObject o, O.IsDescendantOf ListBox o) => IsListBox o
+instance (GObject o, O.IsDescendantOf ListBox o) => IsListBox o
+
+instance O.HasParentTypes ListBox
+type instance O.ParentTypes ListBox = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `ListBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toListBox :: (MonadIO m, IsListBox o) => o -> m ListBox
+toListBox = liftIO . unsafeCastTo ListBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ListBox`.
+noListBox :: Maybe ListBox
+noListBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveListBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveListBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveListBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveListBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveListBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveListBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveListBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveListBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveListBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveListBoxMethod "bindModel" o = ListBoxBindModelMethodInfo
+    ResolveListBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveListBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveListBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveListBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveListBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveListBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveListBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveListBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveListBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveListBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveListBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveListBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveListBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveListBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveListBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveListBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveListBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveListBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveListBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveListBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveListBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveListBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveListBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveListBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveListBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveListBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveListBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveListBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveListBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveListBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveListBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveListBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveListBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveListBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveListBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveListBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveListBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveListBoxMethod "dragHighlightRow" o = ListBoxDragHighlightRowMethodInfo
+    ResolveListBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveListBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveListBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveListBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveListBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveListBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveListBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveListBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveListBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveListBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveListBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveListBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveListBoxMethod "dragUnhighlightRow" o = ListBoxDragUnhighlightRowMethodInfo
+    ResolveListBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveListBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveListBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveListBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveListBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveListBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveListBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveListBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveListBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveListBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveListBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveListBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveListBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveListBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveListBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveListBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveListBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveListBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveListBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveListBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveListBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveListBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveListBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveListBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveListBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveListBoxMethod "insert" o = ListBoxInsertMethodInfo
+    ResolveListBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveListBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveListBoxMethod "invalidateFilter" o = ListBoxInvalidateFilterMethodInfo
+    ResolveListBoxMethod "invalidateHeaders" o = ListBoxInvalidateHeadersMethodInfo
+    ResolveListBoxMethod "invalidateSort" o = ListBoxInvalidateSortMethodInfo
+    ResolveListBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveListBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveListBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveListBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveListBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveListBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveListBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveListBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveListBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveListBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveListBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveListBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveListBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveListBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveListBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveListBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveListBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveListBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveListBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveListBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveListBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveListBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveListBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveListBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveListBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveListBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveListBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveListBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveListBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveListBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveListBoxMethod "prepend" o = ListBoxPrependMethodInfo
+    ResolveListBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveListBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveListBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveListBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveListBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveListBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveListBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveListBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveListBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveListBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveListBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveListBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveListBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveListBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveListBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveListBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveListBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveListBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveListBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveListBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveListBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveListBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveListBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveListBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveListBoxMethod "selectAll" o = ListBoxSelectAllMethodInfo
+    ResolveListBoxMethod "selectRow" o = ListBoxSelectRowMethodInfo
+    ResolveListBoxMethod "selectedForeach" o = ListBoxSelectedForeachMethodInfo
+    ResolveListBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveListBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveListBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveListBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveListBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveListBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveListBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveListBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveListBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveListBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveListBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveListBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveListBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveListBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveListBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveListBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveListBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveListBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveListBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveListBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveListBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveListBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveListBoxMethod "unselectAll" o = ListBoxUnselectAllMethodInfo
+    ResolveListBoxMethod "unselectRow" o = ListBoxUnselectRowMethodInfo
+    ResolveListBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveListBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveListBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveListBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveListBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveListBoxMethod "getActivateOnSingleClick" o = ListBoxGetActivateOnSingleClickMethodInfo
+    ResolveListBoxMethod "getAdjustment" o = ListBoxGetAdjustmentMethodInfo
+    ResolveListBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveListBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveListBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveListBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveListBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveListBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveListBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveListBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveListBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveListBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveListBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveListBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveListBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveListBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveListBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveListBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveListBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveListBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveListBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveListBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveListBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveListBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveListBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveListBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveListBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveListBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveListBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveListBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveListBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveListBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveListBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveListBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveListBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveListBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveListBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveListBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveListBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveListBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveListBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveListBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveListBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveListBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveListBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveListBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveListBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveListBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveListBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveListBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveListBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveListBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveListBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveListBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveListBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveListBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveListBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveListBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveListBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveListBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveListBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveListBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveListBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveListBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveListBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveListBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveListBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveListBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveListBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveListBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveListBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveListBoxMethod "getRowAtIndex" o = ListBoxGetRowAtIndexMethodInfo
+    ResolveListBoxMethod "getRowAtY" o = ListBoxGetRowAtYMethodInfo
+    ResolveListBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveListBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveListBoxMethod "getSelectedRow" o = ListBoxGetSelectedRowMethodInfo
+    ResolveListBoxMethod "getSelectedRows" o = ListBoxGetSelectedRowsMethodInfo
+    ResolveListBoxMethod "getSelectionMode" o = ListBoxGetSelectionModeMethodInfo
+    ResolveListBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveListBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveListBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveListBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveListBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveListBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveListBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveListBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveListBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveListBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveListBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveListBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveListBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveListBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveListBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveListBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveListBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveListBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveListBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveListBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveListBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveListBoxMethod "setActivateOnSingleClick" o = ListBoxSetActivateOnSingleClickMethodInfo
+    ResolveListBoxMethod "setAdjustment" o = ListBoxSetAdjustmentMethodInfo
+    ResolveListBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveListBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveListBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveListBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveListBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveListBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveListBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveListBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveListBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveListBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveListBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveListBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveListBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveListBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveListBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveListBoxMethod "setFilterFunc" o = ListBoxSetFilterFuncMethodInfo
+    ResolveListBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveListBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveListBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveListBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveListBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveListBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveListBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveListBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveListBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveListBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveListBoxMethod "setHeaderFunc" o = ListBoxSetHeaderFuncMethodInfo
+    ResolveListBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveListBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveListBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveListBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveListBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveListBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveListBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveListBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveListBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveListBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveListBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveListBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveListBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveListBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveListBoxMethod "setPlaceholder" o = ListBoxSetPlaceholderMethodInfo
+    ResolveListBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveListBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveListBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveListBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveListBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveListBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveListBoxMethod "setSelectionMode" o = ListBoxSetSelectionModeMethodInfo
+    ResolveListBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveListBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveListBoxMethod "setSortFunc" o = ListBoxSetSortFuncMethodInfo
+    ResolveListBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveListBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveListBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveListBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveListBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveListBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveListBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveListBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveListBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveListBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveListBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveListBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveListBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveListBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveListBoxMethod t ListBox, O.MethodInfo info ListBox p) => OL.IsLabel t (ListBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ListBox::activate-cursor-row
+{- |
+/No description available in the introspection data./
+-}
+type ListBoxActivateCursorRowCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxActivateCursorRowCallback`@.
+noListBoxActivateCursorRowCallback :: Maybe ListBoxActivateCursorRowCallback
+noListBoxActivateCursorRowCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxActivateCursorRowCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxActivateCursorRowCallback`.
+foreign import ccall "wrapper"
+    mk_ListBoxActivateCursorRowCallback :: C_ListBoxActivateCursorRowCallback -> IO (FunPtr C_ListBoxActivateCursorRowCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxActivateCursorRow :: MonadIO m => ListBoxActivateCursorRowCallback -> m (GClosure C_ListBoxActivateCursorRowCallback)
+genClosure_ListBoxActivateCursorRow cb = liftIO $ do
+    let cb' = wrap_ListBoxActivateCursorRowCallback cb
+    mk_ListBoxActivateCursorRowCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxActivateCursorRowCallback` into a `C_ListBoxActivateCursorRowCallback`.
+wrap_ListBoxActivateCursorRowCallback ::
+    ListBoxActivateCursorRowCallback ->
+    C_ListBoxActivateCursorRowCallback
+wrap_ListBoxActivateCursorRowCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate-cursor-row@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' listBox #activateCursorRow callback
+@
+-}
+onListBoxActivateCursorRow :: (IsListBox a, MonadIO m) => a -> ListBoxActivateCursorRowCallback -> m SignalHandlerId
+onListBoxActivateCursorRow obj cb = liftIO $ do
+    let cb' = wrap_ListBoxActivateCursorRowCallback cb
+    cb'' <- mk_ListBoxActivateCursorRowCallback cb'
+    connectSignalFunPtr obj "activate-cursor-row" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-cursor-row@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' listBox #activateCursorRow callback
+@
+-}
+afterListBoxActivateCursorRow :: (IsListBox a, MonadIO m) => a -> ListBoxActivateCursorRowCallback -> m SignalHandlerId
+afterListBoxActivateCursorRow obj cb = liftIO $ do
+    let cb' = wrap_ListBoxActivateCursorRowCallback cb
+    cb'' <- mk_ListBoxActivateCursorRowCallback cb'
+    connectSignalFunPtr obj "activate-cursor-row" cb'' SignalConnectAfter
+
+
+-- signal ListBox::move-cursor
+{- |
+/No description available in the introspection data./
+-}
+type ListBoxMoveCursorCallback =
+    Gtk.Enums.MovementStep
+    -> Int32
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxMoveCursorCallback`@.
+noListBoxMoveCursorCallback :: Maybe ListBoxMoveCursorCallback
+noListBoxMoveCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxMoveCursorCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxMoveCursorCallback`.
+foreign import ccall "wrapper"
+    mk_ListBoxMoveCursorCallback :: C_ListBoxMoveCursorCallback -> IO (FunPtr C_ListBoxMoveCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxMoveCursor :: MonadIO m => ListBoxMoveCursorCallback -> m (GClosure C_ListBoxMoveCursorCallback)
+genClosure_ListBoxMoveCursor cb = liftIO $ do
+    let cb' = wrap_ListBoxMoveCursorCallback cb
+    mk_ListBoxMoveCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxMoveCursorCallback` into a `C_ListBoxMoveCursorCallback`.
+wrap_ListBoxMoveCursorCallback ::
+    ListBoxMoveCursorCallback ->
+    C_ListBoxMoveCursorCallback
+wrap_ListBoxMoveCursorCallback _cb _ object p0 _ = do
+    let object' = (toEnum . fromIntegral) object
+    _cb  object' p0
+
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' listBox #moveCursor callback
+@
+-}
+onListBoxMoveCursor :: (IsListBox a, MonadIO m) => a -> ListBoxMoveCursorCallback -> m SignalHandlerId
+onListBoxMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_ListBoxMoveCursorCallback cb
+    cb'' <- mk_ListBoxMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' listBox #moveCursor callback
+@
+-}
+afterListBoxMoveCursor :: (IsListBox a, MonadIO m) => a -> ListBoxMoveCursorCallback -> m SignalHandlerId
+afterListBoxMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_ListBoxMoveCursorCallback cb
+    cb'' <- mk_ListBoxMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectAfter
+
+
+-- signal ListBox::row-activated
+{- |
+The ::row-activated signal is emitted when a row has been activated by the user.
+
+/Since: 3.10/
+-}
+type ListBoxRowActivatedCallback =
+    Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row@/: the activated row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxRowActivatedCallback`@.
+noListBoxRowActivatedCallback :: Maybe ListBoxRowActivatedCallback
+noListBoxRowActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxRowActivatedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.ListBoxRow.ListBoxRow ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxRowActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_ListBoxRowActivatedCallback :: C_ListBoxRowActivatedCallback -> IO (FunPtr C_ListBoxRowActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxRowActivated :: MonadIO m => ListBoxRowActivatedCallback -> m (GClosure C_ListBoxRowActivatedCallback)
+genClosure_ListBoxRowActivated cb = liftIO $ do
+    let cb' = wrap_ListBoxRowActivatedCallback cb
+    mk_ListBoxRowActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxRowActivatedCallback` into a `C_ListBoxRowActivatedCallback`.
+wrap_ListBoxRowActivatedCallback ::
+    ListBoxRowActivatedCallback ->
+    C_ListBoxRowActivatedCallback
+wrap_ListBoxRowActivatedCallback _cb _ row _ = do
+    row' <- (newObject Gtk.ListBoxRow.ListBoxRow) row
+    _cb  row'
+
+
+{- |
+Connect a signal handler for the “@row-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' listBox #rowActivated callback
+@
+-}
+onListBoxRowActivated :: (IsListBox a, MonadIO m) => a -> ListBoxRowActivatedCallback -> m SignalHandlerId
+onListBoxRowActivated obj cb = liftIO $ do
+    let cb' = wrap_ListBoxRowActivatedCallback cb
+    cb'' <- mk_ListBoxRowActivatedCallback cb'
+    connectSignalFunPtr obj "row-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@row-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' listBox #rowActivated callback
+@
+-}
+afterListBoxRowActivated :: (IsListBox a, MonadIO m) => a -> ListBoxRowActivatedCallback -> m SignalHandlerId
+afterListBoxRowActivated obj cb = liftIO $ do
+    let cb' = wrap_ListBoxRowActivatedCallback cb
+    cb'' <- mk_ListBoxRowActivatedCallback cb'
+    connectSignalFunPtr obj "row-activated" cb'' SignalConnectAfter
+
+
+-- signal ListBox::row-selected
+{- |
+The ::row-selected signal is emitted when a new row is selected, or
+(with a 'Nothing' /@row@/) when the selection is cleared.
+
+When the /@box@/ is using @/GTK_SELECTION_MULTIPLE/@, this signal will not
+give you the full picture of selection changes, and you should use
+the 'GI.Gtk.Objects.ListBox.ListBox'::@/selected-rows-changed/@ signal instead.
+
+/Since: 3.10/
+-}
+type ListBoxRowSelectedCallback =
+    Maybe Gtk.ListBoxRow.ListBoxRow
+    {- ^ /@row@/: the selected row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxRowSelectedCallback`@.
+noListBoxRowSelectedCallback :: Maybe ListBoxRowSelectedCallback
+noListBoxRowSelectedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxRowSelectedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.ListBoxRow.ListBoxRow ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxRowSelectedCallback`.
+foreign import ccall "wrapper"
+    mk_ListBoxRowSelectedCallback :: C_ListBoxRowSelectedCallback -> IO (FunPtr C_ListBoxRowSelectedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxRowSelected :: MonadIO m => ListBoxRowSelectedCallback -> m (GClosure C_ListBoxRowSelectedCallback)
+genClosure_ListBoxRowSelected cb = liftIO $ do
+    let cb' = wrap_ListBoxRowSelectedCallback cb
+    mk_ListBoxRowSelectedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxRowSelectedCallback` into a `C_ListBoxRowSelectedCallback`.
+wrap_ListBoxRowSelectedCallback ::
+    ListBoxRowSelectedCallback ->
+    C_ListBoxRowSelectedCallback
+wrap_ListBoxRowSelectedCallback _cb _ row _ = do
+    maybeRow <-
+        if row == nullPtr
+        then return Nothing
+        else do
+            row' <- (newObject Gtk.ListBoxRow.ListBoxRow) row
+            return $ Just row'
+    _cb  maybeRow
+
+
+{- |
+Connect a signal handler for the “@row-selected@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' listBox #rowSelected callback
+@
+-}
+onListBoxRowSelected :: (IsListBox a, MonadIO m) => a -> ListBoxRowSelectedCallback -> m SignalHandlerId
+onListBoxRowSelected obj cb = liftIO $ do
+    let cb' = wrap_ListBoxRowSelectedCallback cb
+    cb'' <- mk_ListBoxRowSelectedCallback cb'
+    connectSignalFunPtr obj "row-selected" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@row-selected@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' listBox #rowSelected callback
+@
+-}
+afterListBoxRowSelected :: (IsListBox a, MonadIO m) => a -> ListBoxRowSelectedCallback -> m SignalHandlerId
+afterListBoxRowSelected obj cb = liftIO $ do
+    let cb' = wrap_ListBoxRowSelectedCallback cb
+    cb'' <- mk_ListBoxRowSelectedCallback cb'
+    connectSignalFunPtr obj "row-selected" cb'' SignalConnectAfter
+
+
+-- signal ListBox::select-all
+{- |
+The ::select-all signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted to select all children of the box, if the selection
+mode permits it.
+
+The default bindings for this signal is Ctrl-a.
+
+/Since: 3.14/
+-}
+type ListBoxSelectAllCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxSelectAllCallback`@.
+noListBoxSelectAllCallback :: Maybe ListBoxSelectAllCallback
+noListBoxSelectAllCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxSelectAllCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxSelectAllCallback`.
+foreign import ccall "wrapper"
+    mk_ListBoxSelectAllCallback :: C_ListBoxSelectAllCallback -> IO (FunPtr C_ListBoxSelectAllCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxSelectAll :: MonadIO m => ListBoxSelectAllCallback -> m (GClosure C_ListBoxSelectAllCallback)
+genClosure_ListBoxSelectAll cb = liftIO $ do
+    let cb' = wrap_ListBoxSelectAllCallback cb
+    mk_ListBoxSelectAllCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxSelectAllCallback` into a `C_ListBoxSelectAllCallback`.
+wrap_ListBoxSelectAllCallback ::
+    ListBoxSelectAllCallback ->
+    C_ListBoxSelectAllCallback
+wrap_ListBoxSelectAllCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' listBox #selectAll callback
+@
+-}
+onListBoxSelectAll :: (IsListBox a, MonadIO m) => a -> ListBoxSelectAllCallback -> m SignalHandlerId
+onListBoxSelectAll obj cb = liftIO $ do
+    let cb' = wrap_ListBoxSelectAllCallback cb
+    cb'' <- mk_ListBoxSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' listBox #selectAll callback
+@
+-}
+afterListBoxSelectAll :: (IsListBox a, MonadIO m) => a -> ListBoxSelectAllCallback -> m SignalHandlerId
+afterListBoxSelectAll obj cb = liftIO $ do
+    let cb' = wrap_ListBoxSelectAllCallback cb
+    cb'' <- mk_ListBoxSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectAfter
+
+
+-- signal ListBox::selected-rows-changed
+{- |
+The ::selected-rows-changed signal is emitted when the
+set of selected rows changes.
+
+/Since: 3.14/
+-}
+type ListBoxSelectedRowsChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxSelectedRowsChangedCallback`@.
+noListBoxSelectedRowsChangedCallback :: Maybe ListBoxSelectedRowsChangedCallback
+noListBoxSelectedRowsChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxSelectedRowsChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxSelectedRowsChangedCallback`.
+foreign import ccall "wrapper"
+    mk_ListBoxSelectedRowsChangedCallback :: C_ListBoxSelectedRowsChangedCallback -> IO (FunPtr C_ListBoxSelectedRowsChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxSelectedRowsChanged :: MonadIO m => ListBoxSelectedRowsChangedCallback -> m (GClosure C_ListBoxSelectedRowsChangedCallback)
+genClosure_ListBoxSelectedRowsChanged cb = liftIO $ do
+    let cb' = wrap_ListBoxSelectedRowsChangedCallback cb
+    mk_ListBoxSelectedRowsChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxSelectedRowsChangedCallback` into a `C_ListBoxSelectedRowsChangedCallback`.
+wrap_ListBoxSelectedRowsChangedCallback ::
+    ListBoxSelectedRowsChangedCallback ->
+    C_ListBoxSelectedRowsChangedCallback
+wrap_ListBoxSelectedRowsChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@selected-rows-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' listBox #selectedRowsChanged callback
+@
+-}
+onListBoxSelectedRowsChanged :: (IsListBox a, MonadIO m) => a -> ListBoxSelectedRowsChangedCallback -> m SignalHandlerId
+onListBoxSelectedRowsChanged obj cb = liftIO $ do
+    let cb' = wrap_ListBoxSelectedRowsChangedCallback cb
+    cb'' <- mk_ListBoxSelectedRowsChangedCallback cb'
+    connectSignalFunPtr obj "selected-rows-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selected-rows-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' listBox #selectedRowsChanged callback
+@
+-}
+afterListBoxSelectedRowsChanged :: (IsListBox a, MonadIO m) => a -> ListBoxSelectedRowsChangedCallback -> m SignalHandlerId
+afterListBoxSelectedRowsChanged obj cb = liftIO $ do
+    let cb' = wrap_ListBoxSelectedRowsChangedCallback cb
+    cb'' <- mk_ListBoxSelectedRowsChangedCallback cb'
+    connectSignalFunPtr obj "selected-rows-changed" cb'' SignalConnectAfter
+
+
+-- signal ListBox::toggle-cursor-row
+{- |
+/No description available in the introspection data./
+-}
+type ListBoxToggleCursorRowCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxToggleCursorRowCallback`@.
+noListBoxToggleCursorRowCallback :: Maybe ListBoxToggleCursorRowCallback
+noListBoxToggleCursorRowCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxToggleCursorRowCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxToggleCursorRowCallback`.
+foreign import ccall "wrapper"
+    mk_ListBoxToggleCursorRowCallback :: C_ListBoxToggleCursorRowCallback -> IO (FunPtr C_ListBoxToggleCursorRowCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxToggleCursorRow :: MonadIO m => ListBoxToggleCursorRowCallback -> m (GClosure C_ListBoxToggleCursorRowCallback)
+genClosure_ListBoxToggleCursorRow cb = liftIO $ do
+    let cb' = wrap_ListBoxToggleCursorRowCallback cb
+    mk_ListBoxToggleCursorRowCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxToggleCursorRowCallback` into a `C_ListBoxToggleCursorRowCallback`.
+wrap_ListBoxToggleCursorRowCallback ::
+    ListBoxToggleCursorRowCallback ->
+    C_ListBoxToggleCursorRowCallback
+wrap_ListBoxToggleCursorRowCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggle-cursor-row@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' listBox #toggleCursorRow callback
+@
+-}
+onListBoxToggleCursorRow :: (IsListBox a, MonadIO m) => a -> ListBoxToggleCursorRowCallback -> m SignalHandlerId
+onListBoxToggleCursorRow obj cb = liftIO $ do
+    let cb' = wrap_ListBoxToggleCursorRowCallback cb
+    cb'' <- mk_ListBoxToggleCursorRowCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-row" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-cursor-row@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' listBox #toggleCursorRow callback
+@
+-}
+afterListBoxToggleCursorRow :: (IsListBox a, MonadIO m) => a -> ListBoxToggleCursorRowCallback -> m SignalHandlerId
+afterListBoxToggleCursorRow obj cb = liftIO $ do
+    let cb' = wrap_ListBoxToggleCursorRowCallback cb
+    cb'' <- mk_ListBoxToggleCursorRowCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-row" cb'' SignalConnectAfter
+
+
+-- signal ListBox::unselect-all
+{- |
+The ::unselect-all signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted to unselect all children of the box, if the selection
+mode permits it.
+
+The default bindings for this signal is Ctrl-Shift-a.
+
+/Since: 3.14/
+-}
+type ListBoxUnselectAllCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxUnselectAllCallback`@.
+noListBoxUnselectAllCallback :: Maybe ListBoxUnselectAllCallback
+noListBoxUnselectAllCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxUnselectAllCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxUnselectAllCallback`.
+foreign import ccall "wrapper"
+    mk_ListBoxUnselectAllCallback :: C_ListBoxUnselectAllCallback -> IO (FunPtr C_ListBoxUnselectAllCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxUnselectAll :: MonadIO m => ListBoxUnselectAllCallback -> m (GClosure C_ListBoxUnselectAllCallback)
+genClosure_ListBoxUnselectAll cb = liftIO $ do
+    let cb' = wrap_ListBoxUnselectAllCallback cb
+    mk_ListBoxUnselectAllCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxUnselectAllCallback` into a `C_ListBoxUnselectAllCallback`.
+wrap_ListBoxUnselectAllCallback ::
+    ListBoxUnselectAllCallback ->
+    C_ListBoxUnselectAllCallback
+wrap_ListBoxUnselectAllCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@unselect-all@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' listBox #unselectAll callback
+@
+-}
+onListBoxUnselectAll :: (IsListBox a, MonadIO m) => a -> ListBoxUnselectAllCallback -> m SignalHandlerId
+onListBoxUnselectAll obj cb = liftIO $ do
+    let cb' = wrap_ListBoxUnselectAllCallback cb
+    cb'' <- mk_ListBoxUnselectAllCallback cb'
+    connectSignalFunPtr obj "unselect-all" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@unselect-all@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' listBox #unselectAll callback
+@
+-}
+afterListBoxUnselectAll :: (IsListBox a, MonadIO m) => a -> ListBoxUnselectAllCallback -> m SignalHandlerId
+afterListBoxUnselectAll obj cb = liftIO $ do
+    let cb' = wrap_ListBoxUnselectAllCallback cb
+    cb'' <- mk_ListBoxUnselectAllCallback cb'
+    connectSignalFunPtr obj "unselect-all" cb'' SignalConnectAfter
+
+
+-- VVV Prop "activate-on-single-click"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@activate-on-single-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' listBox #activateOnSingleClick
+@
+-}
+getListBoxActivateOnSingleClick :: (MonadIO m, IsListBox o) => o -> m Bool
+getListBoxActivateOnSingleClick obj = liftIO $ B.Properties.getObjectPropertyBool obj "activate-on-single-click"
+
+{- |
+Set the value of the “@activate-on-single-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' listBox [ #activateOnSingleClick 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setListBoxActivateOnSingleClick :: (MonadIO m, IsListBox o) => o -> Bool -> m ()
+setListBoxActivateOnSingleClick obj val = liftIO $ B.Properties.setObjectPropertyBool obj "activate-on-single-click" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@activate-on-single-click@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructListBoxActivateOnSingleClick :: (IsListBox o) => Bool -> IO (GValueConstruct o)
+constructListBoxActivateOnSingleClick val = B.Properties.constructObjectPropertyBool "activate-on-single-click" val
+
+#if ENABLE_OVERLOADING
+data ListBoxActivateOnSingleClickPropertyInfo
+instance AttrInfo ListBoxActivateOnSingleClickPropertyInfo where
+    type AttrAllowedOps ListBoxActivateOnSingleClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ListBoxActivateOnSingleClickPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ListBoxActivateOnSingleClickPropertyInfo = IsListBox
+    type AttrGetType ListBoxActivateOnSingleClickPropertyInfo = Bool
+    type AttrLabel ListBoxActivateOnSingleClickPropertyInfo = "activate-on-single-click"
+    type AttrOrigin ListBoxActivateOnSingleClickPropertyInfo = ListBox
+    attrGet _ = getListBoxActivateOnSingleClick
+    attrSet _ = setListBoxActivateOnSingleClick
+    attrConstruct _ = constructListBoxActivateOnSingleClick
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "selection-mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SelectionMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@selection-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' listBox #selectionMode
+@
+-}
+getListBoxSelectionMode :: (MonadIO m, IsListBox o) => o -> m Gtk.Enums.SelectionMode
+getListBoxSelectionMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "selection-mode"
+
+{- |
+Set the value of the “@selection-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' listBox [ #selectionMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setListBoxSelectionMode :: (MonadIO m, IsListBox o) => o -> Gtk.Enums.SelectionMode -> m ()
+setListBoxSelectionMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "selection-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@selection-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructListBoxSelectionMode :: (IsListBox o) => Gtk.Enums.SelectionMode -> IO (GValueConstruct o)
+constructListBoxSelectionMode val = B.Properties.constructObjectPropertyEnum "selection-mode" val
+
+#if ENABLE_OVERLOADING
+data ListBoxSelectionModePropertyInfo
+instance AttrInfo ListBoxSelectionModePropertyInfo where
+    type AttrAllowedOps ListBoxSelectionModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ListBoxSelectionModePropertyInfo = (~) Gtk.Enums.SelectionMode
+    type AttrBaseTypeConstraint ListBoxSelectionModePropertyInfo = IsListBox
+    type AttrGetType ListBoxSelectionModePropertyInfo = Gtk.Enums.SelectionMode
+    type AttrLabel ListBoxSelectionModePropertyInfo = "selection-mode"
+    type AttrOrigin ListBoxSelectionModePropertyInfo = ListBox
+    attrGet _ = getListBoxSelectionMode
+    attrSet _ = setListBoxSelectionMode
+    attrConstruct _ = constructListBoxSelectionMode
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ListBox
+type instance O.AttributeList ListBox = ListBoxAttributeList
+type ListBoxAttributeList = ('[ '("activateOnSingleClick", ListBoxActivateOnSingleClickPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectionMode", ListBoxSelectionModePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+listBoxActivateOnSingleClick :: AttrLabelProxy "activateOnSingleClick"
+listBoxActivateOnSingleClick = AttrLabelProxy
+
+listBoxSelectionMode :: AttrLabelProxy "selectionMode"
+listBoxSelectionMode = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ListBoxActivateCursorRowSignalInfo
+instance SignalInfo ListBoxActivateCursorRowSignalInfo where
+    type HaskellCallbackType ListBoxActivateCursorRowSignalInfo = ListBoxActivateCursorRowCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ListBoxActivateCursorRowCallback cb
+        cb'' <- mk_ListBoxActivateCursorRowCallback cb'
+        connectSignalFunPtr obj "activate-cursor-row" cb'' connectMode
+
+data ListBoxMoveCursorSignalInfo
+instance SignalInfo ListBoxMoveCursorSignalInfo where
+    type HaskellCallbackType ListBoxMoveCursorSignalInfo = ListBoxMoveCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ListBoxMoveCursorCallback cb
+        cb'' <- mk_ListBoxMoveCursorCallback cb'
+        connectSignalFunPtr obj "move-cursor" cb'' connectMode
+
+data ListBoxRowActivatedSignalInfo
+instance SignalInfo ListBoxRowActivatedSignalInfo where
+    type HaskellCallbackType ListBoxRowActivatedSignalInfo = ListBoxRowActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ListBoxRowActivatedCallback cb
+        cb'' <- mk_ListBoxRowActivatedCallback cb'
+        connectSignalFunPtr obj "row-activated" cb'' connectMode
+
+data ListBoxRowSelectedSignalInfo
+instance SignalInfo ListBoxRowSelectedSignalInfo where
+    type HaskellCallbackType ListBoxRowSelectedSignalInfo = ListBoxRowSelectedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ListBoxRowSelectedCallback cb
+        cb'' <- mk_ListBoxRowSelectedCallback cb'
+        connectSignalFunPtr obj "row-selected" cb'' connectMode
+
+data ListBoxSelectAllSignalInfo
+instance SignalInfo ListBoxSelectAllSignalInfo where
+    type HaskellCallbackType ListBoxSelectAllSignalInfo = ListBoxSelectAllCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ListBoxSelectAllCallback cb
+        cb'' <- mk_ListBoxSelectAllCallback cb'
+        connectSignalFunPtr obj "select-all" cb'' connectMode
+
+data ListBoxSelectedRowsChangedSignalInfo
+instance SignalInfo ListBoxSelectedRowsChangedSignalInfo where
+    type HaskellCallbackType ListBoxSelectedRowsChangedSignalInfo = ListBoxSelectedRowsChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ListBoxSelectedRowsChangedCallback cb
+        cb'' <- mk_ListBoxSelectedRowsChangedCallback cb'
+        connectSignalFunPtr obj "selected-rows-changed" cb'' connectMode
+
+data ListBoxToggleCursorRowSignalInfo
+instance SignalInfo ListBoxToggleCursorRowSignalInfo where
+    type HaskellCallbackType ListBoxToggleCursorRowSignalInfo = ListBoxToggleCursorRowCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ListBoxToggleCursorRowCallback cb
+        cb'' <- mk_ListBoxToggleCursorRowCallback cb'
+        connectSignalFunPtr obj "toggle-cursor-row" cb'' connectMode
+
+data ListBoxUnselectAllSignalInfo
+instance SignalInfo ListBoxUnselectAllSignalInfo where
+    type HaskellCallbackType ListBoxUnselectAllSignalInfo = ListBoxUnselectAllCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ListBoxUnselectAllCallback cb
+        cb'' <- mk_ListBoxUnselectAllCallback cb'
+        connectSignalFunPtr obj "unselect-all" cb'' connectMode
+
+type instance O.SignalList ListBox = ListBoxSignalList
+type ListBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateCursorRow", ListBoxActivateCursorRowSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", ListBoxMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("rowActivated", ListBoxRowActivatedSignalInfo), '("rowSelected", ListBoxRowSelectedSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectAll", ListBoxSelectAllSignalInfo), '("selectedRowsChanged", ListBoxSelectedRowsChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleCursorRow", ListBoxToggleCursorRowSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("unselectAll", ListBoxUnselectAllSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ListBox::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ListBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_new" gtk_list_box_new :: 
+    IO (Ptr ListBox)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ListBox.ListBox' container.
+
+/Since: 3.10/
+-}
+listBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ListBox
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ListBox.ListBox' -}
+listBoxNew  = liftIO $ do
+    result <- gtk_list_box_new
+    checkUnexpectedReturnNULL "listBoxNew" result
+    result' <- (newObject ListBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ListBox::bind_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gio", name = "ListModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GListModel to be bound to @box", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "create_widget_func", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxCreateWidgetFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function that creates widgets for items\n  or %NULL in case you also passed %NULL as @model", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @create_widget_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_free_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function for freeing @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_bind_model" gtk_list_box_bind_model :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Ptr Gio.ListModel.ListModel ->          -- model : TInterface (Name {namespace = "Gio", name = "ListModel"})
+    FunPtr Gtk.Callbacks.C_ListBoxCreateWidgetFunc -> -- create_widget_func : TInterface (Name {namespace = "Gtk", name = "ListBoxCreateWidgetFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- user_data_free_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Binds /@model@/ to /@box@/.
+
+If /@box@/ was already bound to a model, that previous binding is
+destroyed.
+
+The contents of /@box@/ are cleared and then filled with widgets that
+represent items from /@model@/. /@box@/ is updated whenever /@model@/ changes.
+If /@model@/ is 'Nothing', /@box@/ is left empty.
+
+It is undefined to add or remove widgets directly (for example, with
+'GI.Gtk.Objects.ListBox.listBoxInsert' or 'GI.Gtk.Objects.Container.containerAdd') while /@box@/ is bound to a
+model.
+
+Note that using a model is incompatible with the filtering and sorting
+functionality in GtkListBox. When using a model, filtering and sorting
+should be implemented by the model.
+
+/Since: 3.16/
+-}
+listBoxBindModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a, Gio.ListModel.IsListModel b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Maybe (b)
+    {- ^ /@model@/: the 'GI.Gio.Interfaces.ListModel.ListModel' to be bound to /@box@/ -}
+    -> Maybe (Gtk.Callbacks.ListBoxCreateWidgetFunc)
+    {- ^ /@createWidgetFunc@/: a function that creates widgets for items
+  or 'Nothing' in case you also passed 'Nothing' as /@model@/ -}
+    -> m ()
+listBoxBindModel box model createWidgetFunc = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeModel <- case model of
+        Nothing -> return nullPtr
+        Just jModel -> do
+            jModel' <- unsafeManagedPtrCastPtr jModel
+            return jModel'
+    maybeCreateWidgetFunc <- case createWidgetFunc of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jCreateWidgetFunc -> do
+            jCreateWidgetFunc' <- Gtk.Callbacks.mk_ListBoxCreateWidgetFunc (Gtk.Callbacks.wrap_ListBoxCreateWidgetFunc Nothing (Gtk.Callbacks.drop_closures_ListBoxCreateWidgetFunc jCreateWidgetFunc))
+            return jCreateWidgetFunc'
+    let userData = castFunPtrToPtr maybeCreateWidgetFunc
+    let userDataFreeFunc = safeFreeFunPtrPtr
+    gtk_list_box_bind_model box' maybeModel maybeCreateWidgetFunc userData userDataFreeFunc
+    touchManagedPtr box
+    whenJust model touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxBindModelMethodInfo
+instance (signature ~ (Maybe (b) -> Maybe (Gtk.Callbacks.ListBoxCreateWidgetFunc) -> m ()), MonadIO m, IsListBox a, Gio.ListModel.IsListModel b) => O.MethodInfo ListBoxBindModelMethodInfo a signature where
+    overloadedMethod _ = listBoxBindModel
+
+#endif
+
+-- method ListBox::drag_highlight_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_drag_highlight_row" gtk_list_box_drag_highlight_row :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Ptr Gtk.ListBoxRow.ListBoxRow ->        -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    IO ()
+
+{- |
+This is a helper function for implementing DnD onto a 'GI.Gtk.Objects.ListBox.ListBox'.
+The passed in /@row@/ will be highlighted via 'GI.Gtk.Objects.Widget.widgetDragHighlight',
+and any previously highlighted row will be unhighlighted.
+
+The row will also be unhighlighted when the widget gets
+a drag leave event.
+
+/Since: 3.10/
+-}
+listBoxDragHighlightRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a, Gtk.ListBoxRow.IsListBoxRow b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> b
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> m ()
+listBoxDragHighlightRow box row = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    row' <- unsafeManagedPtrCastPtr row
+    gtk_list_box_drag_highlight_row box' row'
+    touchManagedPtr box
+    touchManagedPtr row
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxDragHighlightRowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsListBox a, Gtk.ListBoxRow.IsListBoxRow b) => O.MethodInfo ListBoxDragHighlightRowMethodInfo a signature where
+    overloadedMethod _ = listBoxDragHighlightRow
+
+#endif
+
+-- method ListBox::drag_unhighlight_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_drag_unhighlight_row" gtk_list_box_drag_unhighlight_row :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO ()
+
+{- |
+If a row has previously been highlighted via 'GI.Gtk.Objects.ListBox.listBoxDragHighlightRow'
+it will have the highlight removed.
+
+/Since: 3.10/
+-}
+listBoxDragUnhighlightRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m ()
+listBoxDragUnhighlightRow box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_list_box_drag_unhighlight_row box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxDragUnhighlightRowMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxDragUnhighlightRowMethodInfo a signature where
+    overloadedMethod _ = listBoxDragUnhighlightRow
+
+#endif
+
+-- method ListBox::get_activate_on_single_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_get_activate_on_single_click" gtk_list_box_get_activate_on_single_click :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO CInt
+
+{- |
+Returns whether rows activate on single clicks.
+
+/Since: 3.10/
+-}
+listBoxGetActivateOnSingleClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if rows are activated on single click, 'False' otherwise -}
+listBoxGetActivateOnSingleClick box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_list_box_get_activate_on_single_click box'
+    let result' = (/= 0) result
+    touchManagedPtr box
+    return result'
+
+#if ENABLE_OVERLOADING
+data ListBoxGetActivateOnSingleClickMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsListBox a) => O.MethodInfo ListBoxGetActivateOnSingleClickMethodInfo a signature where
+    overloadedMethod _ = listBoxGetActivateOnSingleClick
+
+#endif
+
+-- method ListBox::get_adjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_get_adjustment" gtk_list_box_get_adjustment :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Gets the adjustment (if any) that the widget uses to
+for vertical scrolling.
+
+/Since: 3.10/
+-}
+listBoxGetAdjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ the adjustment -}
+listBoxGetAdjustment box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_list_box_get_adjustment box'
+    checkUnexpectedReturnNULL "listBoxGetAdjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr box
+    return result'
+
+#if ENABLE_OVERLOADING
+data ListBoxGetAdjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsListBox a) => O.MethodInfo ListBoxGetAdjustmentMethodInfo a signature where
+    overloadedMethod _ = listBoxGetAdjustment
+
+#endif
+
+-- method ListBox::get_row_at_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_get_row_at_index" gtk_list_box_get_row_at_index :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Int32 ->                                -- index_ : TBasicType TInt
+    IO (Ptr Gtk.ListBoxRow.ListBoxRow)
+
+{- |
+Gets the n-th child in the list (not counting headers).
+If /@index_@/ is negative or larger than the number of items in the
+list, 'Nothing' is returned.
+
+/Since: 3.10/
+-}
+listBoxGetRowAtIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Int32
+    {- ^ /@index_@/: the index of the row -}
+    -> m (Maybe Gtk.ListBoxRow.ListBoxRow)
+    {- ^ __Returns:__ the child 'GI.Gtk.Objects.Widget.Widget' or 'Nothing' -}
+listBoxGetRowAtIndex box index_ = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_list_box_get_row_at_index box' index_
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.ListBoxRow.ListBoxRow) result'
+        return result''
+    touchManagedPtr box
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ListBoxGetRowAtIndexMethodInfo
+instance (signature ~ (Int32 -> m (Maybe Gtk.ListBoxRow.ListBoxRow)), MonadIO m, IsListBox a) => O.MethodInfo ListBoxGetRowAtIndexMethodInfo a signature where
+    overloadedMethod _ = listBoxGetRowAtIndex
+
+#endif
+
+-- method ListBox::get_row_at_y
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_get_row_at_y" gtk_list_box_get_row_at_y :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Int32 ->                                -- y : TBasicType TInt
+    IO (Ptr Gtk.ListBoxRow.ListBoxRow)
+
+{- |
+Gets the row at the /@y@/ position.
+
+/Since: 3.10/
+-}
+listBoxGetRowAtY ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Int32
+    {- ^ /@y@/: position -}
+    -> m (Maybe Gtk.ListBoxRow.ListBoxRow)
+    {- ^ __Returns:__ the row or 'Nothing'
+  in case no row exists for the given y coordinate. -}
+listBoxGetRowAtY box y = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_list_box_get_row_at_y box' y
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.ListBoxRow.ListBoxRow) result'
+        return result''
+    touchManagedPtr box
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ListBoxGetRowAtYMethodInfo
+instance (signature ~ (Int32 -> m (Maybe Gtk.ListBoxRow.ListBoxRow)), MonadIO m, IsListBox a) => O.MethodInfo ListBoxGetRowAtYMethodInfo a signature where
+    overloadedMethod _ = listBoxGetRowAtY
+
+#endif
+
+-- method ListBox::get_selected_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_get_selected_row" gtk_list_box_get_selected_row :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO (Ptr Gtk.ListBoxRow.ListBoxRow)
+
+{- |
+Gets the selected row.
+
+Note that the box may allow multiple selection, in which
+case you should use 'GI.Gtk.Objects.ListBox.listBoxSelectedForeach' to
+find all selected rows.
+
+/Since: 3.10/
+-}
+listBoxGetSelectedRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m Gtk.ListBoxRow.ListBoxRow
+    {- ^ __Returns:__ the selected row -}
+listBoxGetSelectedRow box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_list_box_get_selected_row box'
+    checkUnexpectedReturnNULL "listBoxGetSelectedRow" result
+    result' <- (newObject Gtk.ListBoxRow.ListBoxRow) result
+    touchManagedPtr box
+    return result'
+
+#if ENABLE_OVERLOADING
+data ListBoxGetSelectedRowMethodInfo
+instance (signature ~ (m Gtk.ListBoxRow.ListBoxRow), MonadIO m, IsListBox a) => O.MethodInfo ListBoxGetSelectedRowMethodInfo a signature where
+    overloadedMethod _ = listBoxGetSelectedRow
+
+#endif
+
+-- method ListBox::get_selected_rows
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_get_selected_rows" gtk_list_box_get_selected_rows :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO (Ptr (GList (Ptr Gtk.ListBoxRow.ListBoxRow)))
+
+{- |
+Creates a list of all selected children.
+
+/Since: 3.14/
+-}
+listBoxGetSelectedRows ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m [Gtk.ListBoxRow.ListBoxRow]
+    {- ^ __Returns:__ 
+    A 'GI.GLib.Structs.List.List' containing the 'GI.Gtk.Objects.Widget.Widget' for each selected child.
+    Free with @/g_list_free()/@ when done. -}
+listBoxGetSelectedRows box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_list_box_get_selected_rows box'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.ListBoxRow.ListBoxRow) result'
+    g_list_free result
+    touchManagedPtr box
+    return result''
+
+#if ENABLE_OVERLOADING
+data ListBoxGetSelectedRowsMethodInfo
+instance (signature ~ (m [Gtk.ListBoxRow.ListBoxRow]), MonadIO m, IsListBox a) => O.MethodInfo ListBoxGetSelectedRowsMethodInfo a signature where
+    overloadedMethod _ = listBoxGetSelectedRows
+
+#endif
+
+-- method ListBox::get_selection_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SelectionMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_get_selection_mode" gtk_list_box_get_selection_mode :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO CUInt
+
+{- |
+Gets the selection mode of the listbox.
+
+/Since: 3.10/
+-}
+listBoxGetSelectionMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m Gtk.Enums.SelectionMode
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.SelectionMode' -}
+listBoxGetSelectionMode box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    result <- gtk_list_box_get_selection_mode box'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr box
+    return result'
+
+#if ENABLE_OVERLOADING
+data ListBoxGetSelectionModeMethodInfo
+instance (signature ~ (m Gtk.Enums.SelectionMode), MonadIO m, IsListBox a) => O.MethodInfo ListBoxGetSelectionModeMethodInfo a signature where
+    overloadedMethod _ = listBoxGetSelectionMode
+
+#endif
+
+-- method ListBox::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to insert @child in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_insert" gtk_list_box_insert :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Insert the /@child@/ into the /@box@/ at /@position@/. If a sort function is
+set, the widget will actually be inserted at the calculated position and
+this function has the same effect of 'GI.Gtk.Objects.Container.containerAdd'.
+
+If /@position@/ is -1, or larger than the total number of items in the
+/@box@/, then the /@child@/ will be appended to the end.
+
+/Since: 3.10/
+-}
+listBoxInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to add -}
+    -> Int32
+    {- ^ /@position@/: the position to insert /@child@/ in -}
+    -> m ()
+listBoxInsert box child position = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_list_box_insert box' child' position
+    touchManagedPtr box
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxInsertMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsListBox a, Gtk.Widget.IsWidget b) => O.MethodInfo ListBoxInsertMethodInfo a signature where
+    overloadedMethod _ = listBoxInsert
+
+#endif
+
+-- method ListBox::invalidate_filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_invalidate_filter" gtk_list_box_invalidate_filter :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO ()
+
+{- |
+Update the filtering for all rows. Call this when result
+of the filter function on the /@box@/ is changed due
+to an external factor. For instance, this would be used
+if the filter function just looked for a specific search
+string and the entry with the search string has changed.
+
+/Since: 3.10/
+-}
+listBoxInvalidateFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m ()
+listBoxInvalidateFilter box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_list_box_invalidate_filter box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxInvalidateFilterMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxInvalidateFilterMethodInfo a signature where
+    overloadedMethod _ = listBoxInvalidateFilter
+
+#endif
+
+-- method ListBox::invalidate_headers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_invalidate_headers" gtk_list_box_invalidate_headers :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO ()
+
+{- |
+Update the separators for all rows. Call this when result
+of the header function on the /@box@/ is changed due
+to an external factor.
+
+/Since: 3.10/
+-}
+listBoxInvalidateHeaders ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m ()
+listBoxInvalidateHeaders box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_list_box_invalidate_headers box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxInvalidateHeadersMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxInvalidateHeadersMethodInfo a signature where
+    overloadedMethod _ = listBoxInvalidateHeaders
+
+#endif
+
+-- method ListBox::invalidate_sort
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_invalidate_sort" gtk_list_box_invalidate_sort :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO ()
+
+{- |
+Update the sorting for all rows. Call this when result
+of the sort function on the /@box@/ is changed due
+to an external factor.
+
+/Since: 3.10/
+-}
+listBoxInvalidateSort ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m ()
+listBoxInvalidateSort box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_list_box_invalidate_sort box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxInvalidateSortMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxInvalidateSortMethodInfo a signature where
+    overloadedMethod _ = listBoxInvalidateSort
+
+#endif
+
+-- method ListBox::prepend
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_prepend" gtk_list_box_prepend :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Prepend a widget to the list. If a sort function is set, the widget will
+actually be inserted at the calculated position and this function has the
+same effect of 'GI.Gtk.Objects.Container.containerAdd'.
+
+/Since: 3.10/
+-}
+listBoxPrepend ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to add -}
+    -> m ()
+listBoxPrepend box child = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_list_box_prepend box' child'
+    touchManagedPtr box
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxPrependMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsListBox a, Gtk.Widget.IsWidget b) => O.MethodInfo ListBoxPrependMethodInfo a signature where
+    overloadedMethod _ = listBoxPrepend
+
+#endif
+
+-- method ListBox::select_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_select_all" gtk_list_box_select_all :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO ()
+
+{- |
+Select all children of /@box@/, if the selection mode allows it.
+
+/Since: 3.14/
+-}
+listBoxSelectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m ()
+listBoxSelectAll box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_list_box_select_all box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSelectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxSelectAllMethodInfo a signature where
+    overloadedMethod _ = listBoxSelectAll
+
+#endif
+
+-- method ListBox::select_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The row to select or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_select_row" gtk_list_box_select_row :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Ptr Gtk.ListBoxRow.ListBoxRow ->        -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    IO ()
+
+{- |
+Make /@row@/ the currently selected row.
+
+/Since: 3.10/
+-}
+listBoxSelectRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a, Gtk.ListBoxRow.IsListBoxRow b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Maybe (b)
+    {- ^ /@row@/: The row to select or 'Nothing' -}
+    -> m ()
+listBoxSelectRow box row = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeRow <- case row of
+        Nothing -> return nullPtr
+        Just jRow -> do
+            jRow' <- unsafeManagedPtrCastPtr jRow
+            return jRow'
+    gtk_list_box_select_row box' maybeRow
+    touchManagedPtr box
+    whenJust row touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSelectRowMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsListBox a, Gtk.ListBoxRow.IsListBoxRow b) => O.MethodInfo ListBoxSelectRowMethodInfo a signature where
+    overloadedMethod _ = listBoxSelectRow
+
+#endif
+
+-- method ListBox::selected_foreach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call for each selected child", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_selected_foreach" gtk_list_box_selected_foreach :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    FunPtr Gtk.Callbacks.C_ListBoxForeachFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "ListBoxForeachFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls a function for each selected child.
+
+Note that the selection cannot be modified from within this function.
+
+/Since: 3.14/
+-}
+listBoxSelectedForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Gtk.Callbacks.ListBoxForeachFunc
+    {- ^ /@func@/: the function to call for each selected child -}
+    -> m ()
+listBoxSelectedForeach box func = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    func' <- Gtk.Callbacks.mk_ListBoxForeachFunc (Gtk.Callbacks.wrap_ListBoxForeachFunc Nothing (Gtk.Callbacks.drop_closures_ListBoxForeachFunc func))
+    let data_ = nullPtr
+    gtk_list_box_selected_foreach box' func' data_
+    safeFreeFunPtr $ castFunPtrToPtr func'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSelectedForeachMethodInfo
+instance (signature ~ (Gtk.Callbacks.ListBoxForeachFunc -> m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxSelectedForeachMethodInfo a signature where
+    overloadedMethod _ = listBoxSelectedForeach
+
+#endif
+
+-- method ListBox::set_activate_on_single_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "single", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a boolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_set_activate_on_single_click" gtk_list_box_set_activate_on_single_click :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    CInt ->                                 -- single : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@single@/ is 'True', rows will be activated when you click on them,
+otherwise you need to double-click.
+
+/Since: 3.10/
+-}
+listBoxSetActivateOnSingleClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Bool
+    {- ^ /@single@/: a boolean -}
+    -> m ()
+listBoxSetActivateOnSingleClick box single = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    let single' = (fromIntegral . fromEnum) single
+    gtk_list_box_set_activate_on_single_click box' single'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSetActivateOnSingleClickMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxSetActivateOnSingleClickMethodInfo a signature where
+    overloadedMethod _ = listBoxSetActivateOnSingleClick
+
+#endif
+
+-- method ListBox::set_adjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the adjustment, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_set_adjustment" gtk_list_box_set_adjustment :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Sets the adjustment (if any) that the widget uses to
+for vertical scrolling. For instance, this is used
+to get the page size for PageUp\/Down key handling.
+
+In the normal case when the /@box@/ is packed inside
+a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' the adjustment from that will
+be picked up automatically, so there is no need
+to manually do that.
+
+/Since: 3.10/
+-}
+listBoxSetAdjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Maybe (b)
+    {- ^ /@adjustment@/: the adjustment, or 'Nothing' -}
+    -> m ()
+listBoxSetAdjustment box adjustment = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    gtk_list_box_set_adjustment box' maybeAdjustment
+    touchManagedPtr box
+    whenJust adjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSetAdjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsListBox a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ListBoxSetAdjustmentMethodInfo a signature where
+    overloadedMethod _ = listBoxSetAdjustment
+
+#endif
+
+-- method ListBox::set_filter_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_func", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxFilterFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "callback that lets you filter which rows to show", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @filter_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notifier for @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_set_filter_func" gtk_list_box_set_filter_func :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    FunPtr Gtk.Callbacks.C_ListBoxFilterFunc -> -- filter_func : TInterface (Name {namespace = "Gtk", name = "ListBoxFilterFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+By setting a filter function on the /@box@/ one can decide dynamically which
+of the rows to show. For instance, to implement a search function on a list that
+filters the original list to only show the matching rows.
+
+The /@filterFunc@/ will be called for each row after the call, and it will
+continue to be called each time a row changes (via 'GI.Gtk.Objects.ListBoxRow.listBoxRowChanged') or
+when 'GI.Gtk.Objects.ListBox.listBoxInvalidateFilter' is called.
+
+Note that using a filter function is incompatible with using a model
+(see 'GI.Gtk.Objects.ListBox.listBoxBindModel').
+
+/Since: 3.10/
+-}
+listBoxSetFilterFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Maybe (Gtk.Callbacks.ListBoxFilterFunc)
+    {- ^ /@filterFunc@/: callback that lets you filter which rows to show -}
+    -> m ()
+listBoxSetFilterFunc box filterFunc = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeFilterFunc <- case filterFunc of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFilterFunc -> do
+            jFilterFunc' <- Gtk.Callbacks.mk_ListBoxFilterFunc (Gtk.Callbacks.wrap_ListBoxFilterFunc Nothing (Gtk.Callbacks.drop_closures_ListBoxFilterFunc jFilterFunc))
+            return jFilterFunc'
+    let userData = castFunPtrToPtr maybeFilterFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_list_box_set_filter_func box' maybeFilterFunc userData destroy
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSetFilterFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.ListBoxFilterFunc) -> m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxSetFilterFuncMethodInfo a signature where
+    overloadedMethod _ = listBoxSetFilterFunc
+
+#endif
+
+-- method ListBox::set_header_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "update_header", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxUpdateHeaderFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "callback that lets you add row headers", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @update_header", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notifier for @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_set_header_func" gtk_list_box_set_header_func :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    FunPtr Gtk.Callbacks.C_ListBoxUpdateHeaderFunc -> -- update_header : TInterface (Name {namespace = "Gtk", name = "ListBoxUpdateHeaderFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+By setting a header function on the /@box@/ one can dynamically add headers
+in front of rows, depending on the contents of the row and its position in the list.
+For instance, one could use it to add headers in front of the first item of a
+new kind, in a list sorted by the kind.
+
+The /@updateHeader@/ can look at the current header widget using 'GI.Gtk.Objects.ListBoxRow.listBoxRowGetHeader'
+and either update the state of the widget as needed, or set a new one using
+'GI.Gtk.Objects.ListBoxRow.listBoxRowSetHeader'. If no header is needed, set the header to 'Nothing'.
+
+Note that you may get many calls /@updateHeader@/ to this for a particular row when e.g.
+changing things that don’t affect the header. In this case it is important for performance
+to not blindly replace an existing header with an identical one.
+
+The /@updateHeader@/ function will be called for each row after the call, and it will
+continue to be called each time a row changes (via 'GI.Gtk.Objects.ListBoxRow.listBoxRowChanged') and when
+the row before changes (either by 'GI.Gtk.Objects.ListBoxRow.listBoxRowChanged' on the previous row, or when
+the previous row becomes a different row). It is also called for all rows when
+'GI.Gtk.Objects.ListBox.listBoxInvalidateHeaders' is called.
+
+/Since: 3.10/
+-}
+listBoxSetHeaderFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Maybe (Gtk.Callbacks.ListBoxUpdateHeaderFunc)
+    {- ^ /@updateHeader@/: callback that lets you add row headers -}
+    -> m ()
+listBoxSetHeaderFunc box updateHeader = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeUpdateHeader <- case updateHeader of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jUpdateHeader -> do
+            jUpdateHeader' <- Gtk.Callbacks.mk_ListBoxUpdateHeaderFunc (Gtk.Callbacks.wrap_ListBoxUpdateHeaderFunc Nothing (Gtk.Callbacks.drop_closures_ListBoxUpdateHeaderFunc jUpdateHeader))
+            return jUpdateHeader'
+    let userData = castFunPtrToPtr maybeUpdateHeader
+    let destroy = safeFreeFunPtrPtr
+    gtk_list_box_set_header_func box' maybeUpdateHeader userData destroy
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSetHeaderFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.ListBoxUpdateHeaderFunc) -> m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxSetHeaderFuncMethodInfo a signature where
+    overloadedMethod _ = listBoxSetHeaderFunc
+
+#endif
+
+-- method ListBox::set_placeholder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "placeholder", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWidget or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_set_placeholder" gtk_list_box_set_placeholder :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Ptr Gtk.Widget.Widget ->                -- placeholder : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the placeholder widget that is shown in the list when
+it doesn\'t display any visible children.
+
+/Since: 3.10/
+-}
+listBoxSetPlaceholder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Maybe (b)
+    {- ^ /@placeholder@/: a 'GI.Gtk.Objects.Widget.Widget' or 'Nothing' -}
+    -> m ()
+listBoxSetPlaceholder box placeholder = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybePlaceholder <- case placeholder of
+        Nothing -> return nullPtr
+        Just jPlaceholder -> do
+            jPlaceholder' <- unsafeManagedPtrCastPtr jPlaceholder
+            return jPlaceholder'
+    gtk_list_box_set_placeholder box' maybePlaceholder
+    touchManagedPtr box
+    whenJust placeholder touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSetPlaceholderMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsListBox a, Gtk.Widget.IsWidget b) => O.MethodInfo ListBoxSetPlaceholderMethodInfo a signature where
+    overloadedMethod _ = listBoxSetPlaceholder
+
+#endif
+
+-- method ListBox::set_selection_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gtk", name = "SelectionMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkSelectionMode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_set_selection_mode" gtk_list_box_set_selection_mode :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    CUInt ->                                -- mode : TInterface (Name {namespace = "Gtk", name = "SelectionMode"})
+    IO ()
+
+{- |
+Sets how selection works in the listbox.
+See 'GI.Gtk.Enums.SelectionMode' for details.
+
+/Since: 3.10/
+-}
+listBoxSetSelectionMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Gtk.Enums.SelectionMode
+    {- ^ /@mode@/: The 'GI.Gtk.Enums.SelectionMode' -}
+    -> m ()
+listBoxSetSelectionMode box mode = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    let mode' = (fromIntegral . fromEnum) mode
+    gtk_list_box_set_selection_mode box' mode'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSetSelectionModeMethodInfo
+instance (signature ~ (Gtk.Enums.SelectionMode -> m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxSetSelectionModeMethodInfo a signature where
+    overloadedMethod _ = listBoxSetSelectionMode
+
+#endif
+
+-- method ListBox::set_sort_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_func", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxSortFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the sort function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @sort_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notifier for @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_set_sort_func" gtk_list_box_set_sort_func :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    FunPtr Gtk.Callbacks.C_ListBoxSortFunc -> -- sort_func : TInterface (Name {namespace = "Gtk", name = "ListBoxSortFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+By setting a sort function on the /@box@/ one can dynamically reorder the rows
+of the list, based on the contents of the rows.
+
+The /@sortFunc@/ will be called for each row after the call, and will continue to
+be called each time a row changes (via 'GI.Gtk.Objects.ListBoxRow.listBoxRowChanged') and when
+'GI.Gtk.Objects.ListBox.listBoxInvalidateSort' is called.
+
+Note that using a sort function is incompatible with using a model
+(see 'GI.Gtk.Objects.ListBox.listBoxBindModel').
+
+/Since: 3.10/
+-}
+listBoxSetSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> Maybe (Gtk.Callbacks.ListBoxSortFunc)
+    {- ^ /@sortFunc@/: the sort function -}
+    -> m ()
+listBoxSetSortFunc box sortFunc = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    maybeSortFunc <- case sortFunc of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jSortFunc -> do
+            jSortFunc' <- Gtk.Callbacks.mk_ListBoxSortFunc (Gtk.Callbacks.wrap_ListBoxSortFunc Nothing (Gtk.Callbacks.drop_closures_ListBoxSortFunc jSortFunc))
+            return jSortFunc'
+    let userData = castFunPtrToPtr maybeSortFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_list_box_set_sort_func box' maybeSortFunc userData destroy
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxSetSortFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.ListBoxSortFunc) -> m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxSetSortFuncMethodInfo a signature where
+    overloadedMethod _ = listBoxSetSortFunc
+
+#endif
+
+-- method ListBox::unselect_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_unselect_all" gtk_list_box_unselect_all :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    IO ()
+
+{- |
+Unselect all children of /@box@/, if the selection mode allows it.
+
+/Since: 3.14/
+-}
+listBoxUnselectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> m ()
+listBoxUnselectAll box = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    gtk_list_box_unselect_all box'
+    touchManagedPtr box
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxUnselectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsListBox a) => O.MethodInfo ListBoxUnselectAllMethodInfo a signature where
+    overloadedMethod _ = listBoxUnselectAll
+
+#endif
+
+-- method ListBox::unselect_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "box", argType = TInterface (Name {namespace = "Gtk", name = "ListBox"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBox", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row to unselected", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_unselect_row" gtk_list_box_unselect_row :: 
+    Ptr ListBox ->                          -- box : TInterface (Name {namespace = "Gtk", name = "ListBox"})
+    Ptr Gtk.ListBoxRow.ListBoxRow ->        -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    IO ()
+
+{- |
+Unselects a single row of /@box@/, if the selection mode allows it.
+
+/Since: 3.14/
+-}
+listBoxUnselectRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBox a, Gtk.ListBoxRow.IsListBoxRow b) =>
+    a
+    {- ^ /@box@/: a 'GI.Gtk.Objects.ListBox.ListBox' -}
+    -> b
+    {- ^ /@row@/: the row to unselected -}
+    -> m ()
+listBoxUnselectRow box row = liftIO $ do
+    box' <- unsafeManagedPtrCastPtr box
+    row' <- unsafeManagedPtrCastPtr row
+    gtk_list_box_unselect_row box' row'
+    touchManagedPtr box
+    touchManagedPtr row
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxUnselectRowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsListBox a, Gtk.ListBoxRow.IsListBoxRow b) => O.MethodInfo ListBoxUnselectRowMethodInfo a signature where
+    overloadedMethod _ = listBoxUnselectRow
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ListBox.hs-boot b/GI/Gtk/Objects/ListBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListBox.hs-boot
@@ -0,0 +1,140 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ListBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ListBox = ListBox (ManagedPtr ListBox)
+instance GObject ListBox where
+class (GObject o, O.IsDescendantOf ListBox o) => IsListBox o
+instance (GObject o, O.IsDescendantOf ListBox o) => IsListBox o
+instance O.HasParentTypes ListBox
+#if ENABLE_OVERLOADING
+data ListBoxActivateOnSingleClickPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSelectionModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxActivateCursorRowSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxMoveCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowActivatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowSelectedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSelectAllSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSelectedRowsChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxToggleCursorRowSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxUnselectAllSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxBindModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxDragHighlightRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxDragUnhighlightRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxGetActivateOnSingleClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxGetAdjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxGetRowAtIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxGetRowAtYMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxGetSelectedRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxGetSelectedRowsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxGetSelectionModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxInvalidateFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxInvalidateHeadersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxInvalidateSortMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxPrependMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSelectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSelectRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSelectedForeachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSetActivateOnSingleClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSetAdjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSetFilterFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSetHeaderFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSetPlaceholderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSetSelectionModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxSetSortFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxUnselectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxUnselectRowMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ListBoxAccessible.hs b/GI/Gtk/Objects/ListBoxAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListBoxAccessible.hs
@@ -0,0 +1,173 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ListBoxAccessible
+    ( 
+
+-- * Exported types
+    ListBoxAccessible(..)                   ,
+    IsListBoxAccessible                     ,
+    toListBoxAccessible                     ,
+    noListBoxAccessible                     ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ListBoxAccessible = ListBoxAccessible (ManagedPtr ListBoxAccessible)
+foreign import ccall "gtk_list_box_accessible_get_type"
+    c_gtk_list_box_accessible_get_type :: IO GType
+
+instance GObject ListBoxAccessible where
+    gobjectType = c_gtk_list_box_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ListBoxAccessible`, for instance with `toListBoxAccessible`.
+class (GObject o, O.IsDescendantOf ListBoxAccessible o) => IsListBoxAccessible o
+instance (GObject o, O.IsDescendantOf ListBoxAccessible o) => IsListBoxAccessible o
+
+instance O.HasParentTypes ListBoxAccessible
+type instance O.ParentTypes ListBoxAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `ListBoxAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toListBoxAccessible :: (MonadIO m, IsListBoxAccessible o) => o -> m ListBoxAccessible
+toListBoxAccessible = liftIO . unsafeCastTo ListBoxAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ListBoxAccessible`.
+noListBoxAccessible :: Maybe ListBoxAccessible
+noListBoxAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveListBoxAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveListBoxAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveListBoxAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveListBoxAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveListBoxAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveListBoxAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveListBoxAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveListBoxAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveListBoxAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveListBoxAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveListBoxAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveListBoxAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveListBoxAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveListBoxAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveListBoxAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveListBoxAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveListBoxAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveListBoxAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveListBoxAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveListBoxAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveListBoxAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveListBoxAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveListBoxAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveListBoxAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveListBoxAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveListBoxAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveListBoxAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveListBoxAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveListBoxAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveListBoxAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveListBoxAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveListBoxAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveListBoxAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveListBoxAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveListBoxAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveListBoxAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveListBoxAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveListBoxAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveListBoxAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveListBoxAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveListBoxAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveListBoxAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveListBoxAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveListBoxAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveListBoxAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveListBoxAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveListBoxAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveListBoxAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveListBoxAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveListBoxAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveListBoxAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveListBoxAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveListBoxAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveListBoxAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveListBoxAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveListBoxAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveListBoxAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveListBoxAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveListBoxAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveListBoxAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveListBoxAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveListBoxAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveListBoxAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveListBoxAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveListBoxAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveListBoxAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveListBoxAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveListBoxAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveListBoxAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveListBoxAccessibleMethod t ListBoxAccessible, O.MethodInfo info ListBoxAccessible p) => OL.IsLabel t (ListBoxAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ListBoxAccessible
+type instance O.AttributeList ListBoxAccessible = ListBoxAccessibleAttributeList
+type ListBoxAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ListBoxAccessible = ListBoxAccessibleSignalList
+type ListBoxAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ListBoxAccessible.hs-boot b/GI/Gtk/Objects/ListBoxAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListBoxAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ListBoxAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ListBoxAccessible = ListBoxAccessible (ManagedPtr ListBoxAccessible)
+instance GObject ListBoxAccessible where
+class (GObject o, O.IsDescendantOf ListBoxAccessible o) => IsListBoxAccessible o
+instance (GObject o, O.IsDescendantOf ListBoxAccessible o) => IsListBoxAccessible o
+instance O.HasParentTypes ListBoxAccessible
diff --git a/GI/Gtk/Objects/ListBoxRow.hs b/GI/Gtk/Objects/ListBoxRow.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListBoxRow.hs
@@ -0,0 +1,1146 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ListBoxRow
+    ( 
+
+-- * Exported types
+    ListBoxRow(..)                          ,
+    IsListBoxRow                            ,
+    toListBoxRow                            ,
+    noListBoxRow                            ,
+
+
+ -- * Methods
+-- ** changed #method:changed#
+
+#if ENABLE_OVERLOADING
+    ListBoxRowChangedMethodInfo             ,
+#endif
+    listBoxRowChanged                       ,
+
+
+-- ** getActivatable #method:getActivatable#
+
+#if ENABLE_OVERLOADING
+    ListBoxRowGetActivatableMethodInfo      ,
+#endif
+    listBoxRowGetActivatable                ,
+
+
+-- ** getHeader #method:getHeader#
+
+#if ENABLE_OVERLOADING
+    ListBoxRowGetHeaderMethodInfo           ,
+#endif
+    listBoxRowGetHeader                     ,
+
+
+-- ** getIndex #method:getIndex#
+
+#if ENABLE_OVERLOADING
+    ListBoxRowGetIndexMethodInfo            ,
+#endif
+    listBoxRowGetIndex                      ,
+
+
+-- ** getSelectable #method:getSelectable#
+
+#if ENABLE_OVERLOADING
+    ListBoxRowGetSelectableMethodInfo       ,
+#endif
+    listBoxRowGetSelectable                 ,
+
+
+-- ** isSelected #method:isSelected#
+
+#if ENABLE_OVERLOADING
+    ListBoxRowIsSelectedMethodInfo          ,
+#endif
+    listBoxRowIsSelected                    ,
+
+
+-- ** new #method:new#
+
+    listBoxRowNew                           ,
+
+
+-- ** setActivatable #method:setActivatable#
+
+#if ENABLE_OVERLOADING
+    ListBoxRowSetActivatableMethodInfo      ,
+#endif
+    listBoxRowSetActivatable                ,
+
+
+-- ** setHeader #method:setHeader#
+
+#if ENABLE_OVERLOADING
+    ListBoxRowSetHeaderMethodInfo           ,
+#endif
+    listBoxRowSetHeader                     ,
+
+
+-- ** setSelectable #method:setSelectable#
+
+#if ENABLE_OVERLOADING
+    ListBoxRowSetSelectableMethodInfo       ,
+#endif
+    listBoxRowSetSelectable                 ,
+
+
+
+
+ -- * Properties
+-- ** activatable #attr:activatable#
+{- | The property determines whether the 'GI.Gtk.Objects.ListBox.ListBox'::@/row-activated/@
+signal will be emitted for this row.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    ListBoxRowActivatablePropertyInfo       ,
+#endif
+    constructListBoxRowActivatable          ,
+    getListBoxRowActivatable                ,
+#if ENABLE_OVERLOADING
+    listBoxRowActivatable                   ,
+#endif
+    setListBoxRowActivatable                ,
+
+
+-- ** selectable #attr:selectable#
+{- | The property determines whether this row can be selected.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    ListBoxRowSelectablePropertyInfo        ,
+#endif
+    constructListBoxRowSelectable           ,
+    getListBoxRowSelectable                 ,
+#if ENABLE_OVERLOADING
+    listBoxRowSelectable                    ,
+#endif
+    setListBoxRowSelectable                 ,
+
+
+
+
+ -- * Signals
+-- ** activate #signal:activate#
+
+    C_ListBoxRowActivateCallback            ,
+    ListBoxRowActivateCallback              ,
+#if ENABLE_OVERLOADING
+    ListBoxRowActivateSignalInfo            ,
+#endif
+    afterListBoxRowActivate                 ,
+    genClosure_ListBoxRowActivate           ,
+    mk_ListBoxRowActivateCallback           ,
+    noListBoxRowActivateCallback            ,
+    onListBoxRowActivate                    ,
+    wrap_ListBoxRowActivateCallback         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ListBoxRow = ListBoxRow (ManagedPtr ListBoxRow)
+foreign import ccall "gtk_list_box_row_get_type"
+    c_gtk_list_box_row_get_type :: IO GType
+
+instance GObject ListBoxRow where
+    gobjectType = c_gtk_list_box_row_get_type
+    
+
+-- | Type class for types which can be safely cast to `ListBoxRow`, for instance with `toListBoxRow`.
+class (GObject o, O.IsDescendantOf ListBoxRow o) => IsListBoxRow o
+instance (GObject o, O.IsDescendantOf ListBoxRow o) => IsListBoxRow o
+
+instance O.HasParentTypes ListBoxRow
+type instance O.ParentTypes ListBoxRow = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Buildable.Buildable]
+
+-- | Cast to `ListBoxRow`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toListBoxRow :: (MonadIO m, IsListBoxRow o) => o -> m ListBoxRow
+toListBoxRow = liftIO . unsafeCastTo ListBoxRow
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ListBoxRow`.
+noListBoxRow :: Maybe ListBoxRow
+noListBoxRow = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveListBoxRowMethod (t :: Symbol) (o :: *) :: * where
+    ResolveListBoxRowMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveListBoxRowMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveListBoxRowMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveListBoxRowMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveListBoxRowMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveListBoxRowMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveListBoxRowMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveListBoxRowMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveListBoxRowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveListBoxRowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveListBoxRowMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveListBoxRowMethod "changed" o = ListBoxRowChangedMethodInfo
+    ResolveListBoxRowMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveListBoxRowMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveListBoxRowMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveListBoxRowMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveListBoxRowMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveListBoxRowMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveListBoxRowMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveListBoxRowMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveListBoxRowMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveListBoxRowMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveListBoxRowMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveListBoxRowMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveListBoxRowMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveListBoxRowMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveListBoxRowMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveListBoxRowMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveListBoxRowMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveListBoxRowMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveListBoxRowMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveListBoxRowMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveListBoxRowMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveListBoxRowMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveListBoxRowMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveListBoxRowMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveListBoxRowMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveListBoxRowMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveListBoxRowMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveListBoxRowMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveListBoxRowMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveListBoxRowMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveListBoxRowMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveListBoxRowMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveListBoxRowMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveListBoxRowMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveListBoxRowMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveListBoxRowMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveListBoxRowMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveListBoxRowMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveListBoxRowMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveListBoxRowMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveListBoxRowMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveListBoxRowMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveListBoxRowMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveListBoxRowMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveListBoxRowMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveListBoxRowMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveListBoxRowMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveListBoxRowMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveListBoxRowMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveListBoxRowMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveListBoxRowMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveListBoxRowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveListBoxRowMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveListBoxRowMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveListBoxRowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveListBoxRowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveListBoxRowMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveListBoxRowMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveListBoxRowMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveListBoxRowMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveListBoxRowMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveListBoxRowMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveListBoxRowMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveListBoxRowMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveListBoxRowMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveListBoxRowMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveListBoxRowMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveListBoxRowMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveListBoxRowMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveListBoxRowMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveListBoxRowMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveListBoxRowMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveListBoxRowMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveListBoxRowMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveListBoxRowMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveListBoxRowMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveListBoxRowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveListBoxRowMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveListBoxRowMethod "isSelected" o = ListBoxRowIsSelectedMethodInfo
+    ResolveListBoxRowMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveListBoxRowMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveListBoxRowMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveListBoxRowMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveListBoxRowMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveListBoxRowMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveListBoxRowMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveListBoxRowMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveListBoxRowMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveListBoxRowMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveListBoxRowMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveListBoxRowMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveListBoxRowMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveListBoxRowMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveListBoxRowMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveListBoxRowMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveListBoxRowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveListBoxRowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveListBoxRowMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveListBoxRowMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveListBoxRowMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveListBoxRowMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveListBoxRowMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveListBoxRowMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveListBoxRowMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveListBoxRowMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveListBoxRowMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveListBoxRowMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveListBoxRowMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveListBoxRowMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveListBoxRowMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveListBoxRowMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveListBoxRowMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveListBoxRowMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveListBoxRowMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveListBoxRowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveListBoxRowMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveListBoxRowMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveListBoxRowMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveListBoxRowMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveListBoxRowMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveListBoxRowMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveListBoxRowMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveListBoxRowMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveListBoxRowMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveListBoxRowMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveListBoxRowMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveListBoxRowMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveListBoxRowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveListBoxRowMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveListBoxRowMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveListBoxRowMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveListBoxRowMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveListBoxRowMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveListBoxRowMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveListBoxRowMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveListBoxRowMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveListBoxRowMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveListBoxRowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveListBoxRowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveListBoxRowMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveListBoxRowMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveListBoxRowMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveListBoxRowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveListBoxRowMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveListBoxRowMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveListBoxRowMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveListBoxRowMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveListBoxRowMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveListBoxRowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveListBoxRowMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveListBoxRowMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveListBoxRowMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveListBoxRowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveListBoxRowMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveListBoxRowMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveListBoxRowMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveListBoxRowMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveListBoxRowMethod "getActivatable" o = ListBoxRowGetActivatableMethodInfo
+    ResolveListBoxRowMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveListBoxRowMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveListBoxRowMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveListBoxRowMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveListBoxRowMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveListBoxRowMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveListBoxRowMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveListBoxRowMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveListBoxRowMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveListBoxRowMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveListBoxRowMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveListBoxRowMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveListBoxRowMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveListBoxRowMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveListBoxRowMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveListBoxRowMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveListBoxRowMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveListBoxRowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveListBoxRowMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveListBoxRowMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveListBoxRowMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveListBoxRowMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveListBoxRowMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveListBoxRowMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveListBoxRowMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveListBoxRowMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveListBoxRowMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveListBoxRowMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveListBoxRowMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveListBoxRowMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveListBoxRowMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveListBoxRowMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveListBoxRowMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveListBoxRowMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveListBoxRowMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveListBoxRowMethod "getHeader" o = ListBoxRowGetHeaderMethodInfo
+    ResolveListBoxRowMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveListBoxRowMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveListBoxRowMethod "getIndex" o = ListBoxRowGetIndexMethodInfo
+    ResolveListBoxRowMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveListBoxRowMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveListBoxRowMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveListBoxRowMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveListBoxRowMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveListBoxRowMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveListBoxRowMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveListBoxRowMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveListBoxRowMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveListBoxRowMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveListBoxRowMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveListBoxRowMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveListBoxRowMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveListBoxRowMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveListBoxRowMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveListBoxRowMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveListBoxRowMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveListBoxRowMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveListBoxRowMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveListBoxRowMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveListBoxRowMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveListBoxRowMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveListBoxRowMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveListBoxRowMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveListBoxRowMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveListBoxRowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveListBoxRowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveListBoxRowMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveListBoxRowMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveListBoxRowMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveListBoxRowMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveListBoxRowMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveListBoxRowMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveListBoxRowMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveListBoxRowMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveListBoxRowMethod "getSelectable" o = ListBoxRowGetSelectableMethodInfo
+    ResolveListBoxRowMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveListBoxRowMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveListBoxRowMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveListBoxRowMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveListBoxRowMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveListBoxRowMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveListBoxRowMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveListBoxRowMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveListBoxRowMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveListBoxRowMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveListBoxRowMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveListBoxRowMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveListBoxRowMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveListBoxRowMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveListBoxRowMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveListBoxRowMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveListBoxRowMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveListBoxRowMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveListBoxRowMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveListBoxRowMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveListBoxRowMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveListBoxRowMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveListBoxRowMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveListBoxRowMethod "setActivatable" o = ListBoxRowSetActivatableMethodInfo
+    ResolveListBoxRowMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveListBoxRowMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveListBoxRowMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveListBoxRowMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveListBoxRowMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveListBoxRowMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveListBoxRowMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveListBoxRowMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveListBoxRowMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveListBoxRowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveListBoxRowMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveListBoxRowMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveListBoxRowMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveListBoxRowMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveListBoxRowMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveListBoxRowMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveListBoxRowMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveListBoxRowMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveListBoxRowMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveListBoxRowMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveListBoxRowMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveListBoxRowMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveListBoxRowMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveListBoxRowMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveListBoxRowMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveListBoxRowMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveListBoxRowMethod "setHeader" o = ListBoxRowSetHeaderMethodInfo
+    ResolveListBoxRowMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveListBoxRowMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveListBoxRowMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveListBoxRowMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveListBoxRowMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveListBoxRowMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveListBoxRowMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveListBoxRowMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveListBoxRowMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveListBoxRowMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveListBoxRowMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveListBoxRowMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveListBoxRowMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveListBoxRowMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveListBoxRowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveListBoxRowMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveListBoxRowMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveListBoxRowMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveListBoxRowMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveListBoxRowMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveListBoxRowMethod "setSelectable" o = ListBoxRowSetSelectableMethodInfo
+    ResolveListBoxRowMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveListBoxRowMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveListBoxRowMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveListBoxRowMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveListBoxRowMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveListBoxRowMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveListBoxRowMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveListBoxRowMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveListBoxRowMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveListBoxRowMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveListBoxRowMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveListBoxRowMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveListBoxRowMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveListBoxRowMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveListBoxRowMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveListBoxRowMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveListBoxRowMethod t ListBoxRow, O.MethodInfo info ListBoxRow p) => OL.IsLabel t (ListBoxRow -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ListBoxRow::activate
+{- |
+This is a keybinding signal, which will cause this row to be activated.
+
+If you want to be notified when the user activates a row (by key or not),
+use the 'GI.Gtk.Objects.ListBox.ListBox'::@/row-activated/@ signal on the row’s parent 'GI.Gtk.Objects.ListBox.ListBox'.
+
+/Since: 3.10/
+-}
+type ListBoxRowActivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ListBoxRowActivateCallback`@.
+noListBoxRowActivateCallback :: Maybe ListBoxRowActivateCallback
+noListBoxRowActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ListBoxRowActivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ListBoxRowActivateCallback`.
+foreign import ccall "wrapper"
+    mk_ListBoxRowActivateCallback :: C_ListBoxRowActivateCallback -> IO (FunPtr C_ListBoxRowActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ListBoxRowActivate :: MonadIO m => ListBoxRowActivateCallback -> m (GClosure C_ListBoxRowActivateCallback)
+genClosure_ListBoxRowActivate cb = liftIO $ do
+    let cb' = wrap_ListBoxRowActivateCallback cb
+    mk_ListBoxRowActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ListBoxRowActivateCallback` into a `C_ListBoxRowActivateCallback`.
+wrap_ListBoxRowActivateCallback ::
+    ListBoxRowActivateCallback ->
+    C_ListBoxRowActivateCallback
+wrap_ListBoxRowActivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' listBoxRow #activate callback
+@
+-}
+onListBoxRowActivate :: (IsListBoxRow a, MonadIO m) => a -> ListBoxRowActivateCallback -> m SignalHandlerId
+onListBoxRowActivate obj cb = liftIO $ do
+    let cb' = wrap_ListBoxRowActivateCallback cb
+    cb'' <- mk_ListBoxRowActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' listBoxRow #activate callback
+@
+-}
+afterListBoxRowActivate :: (IsListBoxRow a, MonadIO m) => a -> ListBoxRowActivateCallback -> m SignalHandlerId
+afterListBoxRowActivate obj cb = liftIO $ do
+    let cb' = wrap_ListBoxRowActivateCallback cb
+    cb'' <- mk_ListBoxRowActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter
+
+
+-- VVV Prop "activatable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@activatable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' listBoxRow #activatable
+@
+-}
+getListBoxRowActivatable :: (MonadIO m, IsListBoxRow o) => o -> m Bool
+getListBoxRowActivatable obj = liftIO $ B.Properties.getObjectPropertyBool obj "activatable"
+
+{- |
+Set the value of the “@activatable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' listBoxRow [ #activatable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setListBoxRowActivatable :: (MonadIO m, IsListBoxRow o) => o -> Bool -> m ()
+setListBoxRowActivatable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "activatable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@activatable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructListBoxRowActivatable :: (IsListBoxRow o) => Bool -> IO (GValueConstruct o)
+constructListBoxRowActivatable val = B.Properties.constructObjectPropertyBool "activatable" val
+
+#if ENABLE_OVERLOADING
+data ListBoxRowActivatablePropertyInfo
+instance AttrInfo ListBoxRowActivatablePropertyInfo where
+    type AttrAllowedOps ListBoxRowActivatablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ListBoxRowActivatablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ListBoxRowActivatablePropertyInfo = IsListBoxRow
+    type AttrGetType ListBoxRowActivatablePropertyInfo = Bool
+    type AttrLabel ListBoxRowActivatablePropertyInfo = "activatable"
+    type AttrOrigin ListBoxRowActivatablePropertyInfo = ListBoxRow
+    attrGet _ = getListBoxRowActivatable
+    attrSet _ = setListBoxRowActivatable
+    attrConstruct _ = constructListBoxRowActivatable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "selectable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@selectable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' listBoxRow #selectable
+@
+-}
+getListBoxRowSelectable :: (MonadIO m, IsListBoxRow o) => o -> m Bool
+getListBoxRowSelectable obj = liftIO $ B.Properties.getObjectPropertyBool obj "selectable"
+
+{- |
+Set the value of the “@selectable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' listBoxRow [ #selectable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setListBoxRowSelectable :: (MonadIO m, IsListBoxRow o) => o -> Bool -> m ()
+setListBoxRowSelectable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "selectable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@selectable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructListBoxRowSelectable :: (IsListBoxRow o) => Bool -> IO (GValueConstruct o)
+constructListBoxRowSelectable val = B.Properties.constructObjectPropertyBool "selectable" val
+
+#if ENABLE_OVERLOADING
+data ListBoxRowSelectablePropertyInfo
+instance AttrInfo ListBoxRowSelectablePropertyInfo where
+    type AttrAllowedOps ListBoxRowSelectablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ListBoxRowSelectablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ListBoxRowSelectablePropertyInfo = IsListBoxRow
+    type AttrGetType ListBoxRowSelectablePropertyInfo = Bool
+    type AttrLabel ListBoxRowSelectablePropertyInfo = "selectable"
+    type AttrOrigin ListBoxRowSelectablePropertyInfo = ListBoxRow
+    attrGet _ = getListBoxRowSelectable
+    attrSet _ = setListBoxRowSelectable
+    attrConstruct _ = constructListBoxRowSelectable
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ListBoxRow
+type instance O.AttributeList ListBoxRow = ListBoxRowAttributeList
+type ListBoxRowAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("activatable", ListBoxRowActivatablePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectable", ListBoxRowSelectablePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+listBoxRowActivatable :: AttrLabelProxy "activatable"
+listBoxRowActivatable = AttrLabelProxy
+
+listBoxRowSelectable :: AttrLabelProxy "selectable"
+listBoxRowSelectable = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ListBoxRowActivateSignalInfo
+instance SignalInfo ListBoxRowActivateSignalInfo where
+    type HaskellCallbackType ListBoxRowActivateSignalInfo = ListBoxRowActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ListBoxRowActivateCallback cb
+        cb'' <- mk_ListBoxRowActivateCallback cb'
+        connectSignalFunPtr obj "activate" cb'' connectMode
+
+type instance O.SignalList ListBoxRow = ListBoxRowSignalList
+type ListBoxRowSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", ListBoxRowActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ListBoxRow::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_new" gtk_list_box_row_new :: 
+    IO (Ptr ListBoxRow)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ListBoxRow.ListBoxRow', to be used as a child of a 'GI.Gtk.Objects.ListBox.ListBox'.
+
+/Since: 3.10/
+-}
+listBoxRowNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ListBoxRow
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+listBoxRowNew  = liftIO $ do
+    result <- gtk_list_box_row_new
+    checkUnexpectedReturnNULL "listBoxRowNew" result
+    result' <- (newObject ListBoxRow) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ListBoxRow::changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_changed" gtk_list_box_row_changed :: 
+    Ptr ListBoxRow ->                       -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    IO ()
+
+{- |
+Marks /@row@/ as changed, causing any state that depends on this
+to be updated. This affects sorting, filtering and headers.
+
+Note that calls to this method must be in sync with the data
+used for the row functions. For instance, if the list is
+mirroring some external data set, and *two* rows changed in the
+external data set then when you call 'GI.Gtk.Objects.ListBoxRow.listBoxRowChanged'
+on the first row the sort function must only read the new data
+for the first of the two changed rows, otherwise the resorting
+of the rows will be wrong.
+
+This generally means that if you don’t fully control the data
+model you have to duplicate the data that affects the listbox
+row functions into the row widgets themselves. Another alternative
+is to call 'GI.Gtk.Objects.ListBox.listBoxInvalidateSort' on any model change,
+but that is more expensive.
+
+/Since: 3.10/
+-}
+listBoxRowChanged ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBoxRow a) =>
+    a
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> m ()
+listBoxRowChanged row = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    gtk_list_box_row_changed row'
+    touchManagedPtr row
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxRowChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsListBoxRow a) => O.MethodInfo ListBoxRowChangedMethodInfo a signature where
+    overloadedMethod _ = listBoxRowChanged
+
+#endif
+
+-- method ListBoxRow::get_activatable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_get_activatable" gtk_list_box_row_get_activatable :: 
+    Ptr ListBoxRow ->                       -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    IO CInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.ListBoxRow.ListBoxRow':@/activatable/@ property
+for this row.
+
+/Since: 3.14/
+-}
+listBoxRowGetActivatable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBoxRow a) =>
+    a
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the row is activatable -}
+listBoxRowGetActivatable row = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    result <- gtk_list_box_row_get_activatable row'
+    let result' = (/= 0) result
+    touchManagedPtr row
+    return result'
+
+#if ENABLE_OVERLOADING
+data ListBoxRowGetActivatableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsListBoxRow a) => O.MethodInfo ListBoxRowGetActivatableMethodInfo a signature where
+    overloadedMethod _ = listBoxRowGetActivatable
+
+#endif
+
+-- method ListBoxRow::get_header
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_get_header" gtk_list_box_row_get_header :: 
+    Ptr ListBoxRow ->                       -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the current header of the /@row@/. This can be used
+in a 'GI.Gtk.Callbacks.ListBoxUpdateHeaderFunc' to see if there is a header
+set already, and if so to update the state of it.
+
+/Since: 3.10/
+-}
+listBoxRowGetHeader ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBoxRow a) =>
+    a
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the current header, or 'Nothing' if none -}
+listBoxRowGetHeader row = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    result <- gtk_list_box_row_get_header row'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr row
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ListBoxRowGetHeaderMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsListBoxRow a) => O.MethodInfo ListBoxRowGetHeaderMethodInfo a signature where
+    overloadedMethod _ = listBoxRowGetHeader
+
+#endif
+
+-- method ListBoxRow::get_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_get_index" gtk_list_box_row_get_index :: 
+    Ptr ListBoxRow ->                       -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    IO Int32
+
+{- |
+Gets the current index of the /@row@/ in its 'GI.Gtk.Objects.ListBox.ListBox' container.
+
+/Since: 3.10/
+-}
+listBoxRowGetIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBoxRow a) =>
+    a
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> m Int32
+    {- ^ __Returns:__ the index of the /@row@/, or -1 if the /@row@/ is not in a listbox -}
+listBoxRowGetIndex row = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    result <- gtk_list_box_row_get_index row'
+    touchManagedPtr row
+    return result
+
+#if ENABLE_OVERLOADING
+data ListBoxRowGetIndexMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsListBoxRow a) => O.MethodInfo ListBoxRowGetIndexMethodInfo a signature where
+    overloadedMethod _ = listBoxRowGetIndex
+
+#endif
+
+-- method ListBoxRow::get_selectable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_get_selectable" gtk_list_box_row_get_selectable :: 
+    Ptr ListBoxRow ->                       -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    IO CInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.ListBoxRow.ListBoxRow':@/selectable/@ property
+for this row.
+
+/Since: 3.14/
+-}
+listBoxRowGetSelectable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBoxRow a) =>
+    a
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the row is selectable -}
+listBoxRowGetSelectable row = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    result <- gtk_list_box_row_get_selectable row'
+    let result' = (/= 0) result
+    touchManagedPtr row
+    return result'
+
+#if ENABLE_OVERLOADING
+data ListBoxRowGetSelectableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsListBoxRow a) => O.MethodInfo ListBoxRowGetSelectableMethodInfo a signature where
+    overloadedMethod _ = listBoxRowGetSelectable
+
+#endif
+
+-- method ListBoxRow::is_selected
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_is_selected" gtk_list_box_row_is_selected :: 
+    Ptr ListBoxRow ->                       -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    IO CInt
+
+{- |
+Returns whether the child is currently selected in its
+'GI.Gtk.Objects.ListBox.ListBox' container.
+
+/Since: 3.14/
+-}
+listBoxRowIsSelected ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBoxRow a) =>
+    a
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@row@/ is selected -}
+listBoxRowIsSelected row = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    result <- gtk_list_box_row_is_selected row'
+    let result' = (/= 0) result
+    touchManagedPtr row
+    return result'
+
+#if ENABLE_OVERLOADING
+data ListBoxRowIsSelectedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsListBoxRow a) => O.MethodInfo ListBoxRowIsSelectedMethodInfo a signature where
+    overloadedMethod _ = listBoxRowIsSelected
+
+#endif
+
+-- method ListBoxRow::set_activatable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "activatable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to mark the row as activatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_set_activatable" gtk_list_box_row_set_activatable :: 
+    Ptr ListBoxRow ->                       -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    CInt ->                                 -- activatable : TBasicType TBoolean
+    IO ()
+
+{- |
+Set the 'GI.Gtk.Objects.ListBoxRow.ListBoxRow':@/activatable/@ property for this row.
+
+/Since: 3.14/
+-}
+listBoxRowSetActivatable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBoxRow a) =>
+    a
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> Bool
+    {- ^ /@activatable@/: 'True' to mark the row as activatable -}
+    -> m ()
+listBoxRowSetActivatable row activatable = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    let activatable' = (fromIntegral . fromEnum) activatable
+    gtk_list_box_row_set_activatable row' activatable'
+    touchManagedPtr row
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxRowSetActivatableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsListBoxRow a) => O.MethodInfo ListBoxRowSetActivatableMethodInfo a signature where
+    overloadedMethod _ = listBoxRowSetActivatable
+
+#endif
+
+-- method ListBoxRow::set_header
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "header", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the header, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_set_header" gtk_list_box_row_set_header :: 
+    Ptr ListBoxRow ->                       -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    Ptr Gtk.Widget.Widget ->                -- header : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the current header of the /@row@/. This is only allowed to be called
+from a 'GI.Gtk.Callbacks.ListBoxUpdateHeaderFunc'. It will replace any existing
+header in the row, and be shown in front of the row in the listbox.
+
+/Since: 3.10/
+-}
+listBoxRowSetHeader ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBoxRow a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> Maybe (b)
+    {- ^ /@header@/: the header, or 'Nothing' -}
+    -> m ()
+listBoxRowSetHeader row header = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    maybeHeader <- case header of
+        Nothing -> return nullPtr
+        Just jHeader -> do
+            jHeader' <- unsafeManagedPtrCastPtr jHeader
+            return jHeader'
+    gtk_list_box_row_set_header row' maybeHeader
+    touchManagedPtr row
+    whenJust header touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxRowSetHeaderMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsListBoxRow a, Gtk.Widget.IsWidget b) => O.MethodInfo ListBoxRowSetHeaderMethodInfo a signature where
+    overloadedMethod _ = listBoxRowSetHeader
+
+#endif
+
+-- method ListBoxRow::set_selectable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "row", argType = TInterface (Name {namespace = "Gtk", name = "ListBoxRow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListBoxRow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selectable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to mark the row as selectable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_box_row_set_selectable" gtk_list_box_row_set_selectable :: 
+    Ptr ListBoxRow ->                       -- row : TInterface (Name {namespace = "Gtk", name = "ListBoxRow"})
+    CInt ->                                 -- selectable : TBasicType TBoolean
+    IO ()
+
+{- |
+Set the 'GI.Gtk.Objects.ListBoxRow.ListBoxRow':@/selectable/@ property for this row.
+
+/Since: 3.14/
+-}
+listBoxRowSetSelectable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListBoxRow a) =>
+    a
+    {- ^ /@row@/: a 'GI.Gtk.Objects.ListBoxRow.ListBoxRow' -}
+    -> Bool
+    {- ^ /@selectable@/: 'True' to mark the row as selectable -}
+    -> m ()
+listBoxRowSetSelectable row selectable = liftIO $ do
+    row' <- unsafeManagedPtrCastPtr row
+    let selectable' = (fromIntegral . fromEnum) selectable
+    gtk_list_box_row_set_selectable row' selectable'
+    touchManagedPtr row
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListBoxRowSetSelectableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsListBoxRow a) => O.MethodInfo ListBoxRowSetSelectableMethodInfo a signature where
+    overloadedMethod _ = listBoxRowSetSelectable
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ListBoxRow.hs-boot b/GI/Gtk/Objects/ListBoxRow.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListBoxRow.hs-boot
@@ -0,0 +1,65 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ListBoxRow where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ListBoxRow = ListBoxRow (ManagedPtr ListBoxRow)
+instance GObject ListBoxRow where
+class (GObject o, O.IsDescendantOf ListBoxRow o) => IsListBoxRow o
+instance (GObject o, O.IsDescendantOf ListBoxRow o) => IsListBoxRow o
+instance O.HasParentTypes ListBoxRow
+#if ENABLE_OVERLOADING
+data ListBoxRowActivatablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowSelectablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowChangedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowGetActivatableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowGetHeaderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowGetIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowGetSelectableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowIsSelectedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowSetActivatableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowSetHeaderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListBoxRowSetSelectableMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ListBoxRowAccessible.hs b/GI/Gtk/Objects/ListBoxRowAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListBoxRowAccessible.hs
@@ -0,0 +1,165 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ListBoxRowAccessible
+    ( 
+
+-- * Exported types
+    ListBoxRowAccessible(..)                ,
+    IsListBoxRowAccessible                  ,
+    toListBoxRowAccessible                  ,
+    noListBoxRowAccessible                  ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ListBoxRowAccessible = ListBoxRowAccessible (ManagedPtr ListBoxRowAccessible)
+foreign import ccall "gtk_list_box_row_accessible_get_type"
+    c_gtk_list_box_row_accessible_get_type :: IO GType
+
+instance GObject ListBoxRowAccessible where
+    gobjectType = c_gtk_list_box_row_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ListBoxRowAccessible`, for instance with `toListBoxRowAccessible`.
+class (GObject o, O.IsDescendantOf ListBoxRowAccessible o) => IsListBoxRowAccessible o
+instance (GObject o, O.IsDescendantOf ListBoxRowAccessible o) => IsListBoxRowAccessible o
+
+instance O.HasParentTypes ListBoxRowAccessible
+type instance O.ParentTypes ListBoxRowAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `ListBoxRowAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toListBoxRowAccessible :: (MonadIO m, IsListBoxRowAccessible o) => o -> m ListBoxRowAccessible
+toListBoxRowAccessible = liftIO . unsafeCastTo ListBoxRowAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ListBoxRowAccessible`.
+noListBoxRowAccessible :: Maybe ListBoxRowAccessible
+noListBoxRowAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveListBoxRowAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveListBoxRowAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveListBoxRowAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveListBoxRowAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveListBoxRowAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveListBoxRowAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveListBoxRowAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveListBoxRowAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveListBoxRowAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveListBoxRowAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveListBoxRowAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveListBoxRowAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveListBoxRowAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveListBoxRowAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveListBoxRowAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveListBoxRowAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveListBoxRowAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveListBoxRowAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveListBoxRowAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveListBoxRowAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveListBoxRowAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveListBoxRowAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveListBoxRowAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveListBoxRowAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveListBoxRowAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveListBoxRowAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveListBoxRowAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveListBoxRowAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveListBoxRowAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveListBoxRowAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveListBoxRowAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveListBoxRowAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveListBoxRowAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveListBoxRowAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveListBoxRowAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveListBoxRowAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveListBoxRowAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveListBoxRowAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveListBoxRowAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveListBoxRowAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveListBoxRowAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveListBoxRowAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveListBoxRowAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveListBoxRowAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveListBoxRowAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveListBoxRowAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveListBoxRowAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveListBoxRowAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveListBoxRowAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveListBoxRowAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveListBoxRowAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveListBoxRowAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveListBoxRowAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveListBoxRowAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveListBoxRowAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveListBoxRowAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveListBoxRowAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveListBoxRowAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveListBoxRowAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveListBoxRowAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveListBoxRowAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveListBoxRowAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveListBoxRowAccessibleMethod t ListBoxRowAccessible, O.MethodInfo info ListBoxRowAccessible p) => OL.IsLabel t (ListBoxRowAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ListBoxRowAccessible
+type instance O.AttributeList ListBoxRowAccessible = ListBoxRowAccessibleAttributeList
+type ListBoxRowAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ListBoxRowAccessible = ListBoxRowAccessibleSignalList
+type ListBoxRowAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ListBoxRowAccessible.hs-boot b/GI/Gtk/Objects/ListBoxRowAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListBoxRowAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ListBoxRowAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ListBoxRowAccessible = ListBoxRowAccessible (ManagedPtr ListBoxRowAccessible)
+instance GObject ListBoxRowAccessible where
+class (GObject o, O.IsDescendantOf ListBoxRowAccessible o) => IsListBoxRowAccessible o
+instance (GObject o, O.IsDescendantOf ListBoxRowAccessible o) => IsListBoxRowAccessible o
+instance O.HasParentTypes ListBoxRowAccessible
diff --git a/GI/Gtk/Objects/ListStore.hs b/GI/Gtk/Objects/ListStore.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListStore.hs
@@ -0,0 +1,1238 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.ListStore.ListStore' object is a list model for use with a 'GI.Gtk.Objects.TreeView.TreeView'
+widget.  It implements the 'GI.Gtk.Interfaces.TreeModel.TreeModel' interface, and consequentialy,
+can use all of the methods available there.  It also implements the
+'GI.Gtk.Interfaces.TreeSortable.TreeSortable' interface so it can be sorted by the view.
+Finally, it also implements the tree
+[drag and drop][gtk3-GtkTreeView-drag-and-drop]
+interfaces.
+
+The 'GI.Gtk.Objects.ListStore.ListStore' can accept most GObject types as a column type, though
+it can’t accept all custom types.  Internally, it will keep a copy of
+data passed in (such as a string or a boxed pointer).  Columns that
+accept @/GObjects/@ are handled a little differently.  The
+'GI.Gtk.Objects.ListStore.ListStore' will keep a reference to the object instead of copying the
+value.  As a result, if the object is modified, it is up to the
+application writer to call 'GI.Gtk.Interfaces.TreeModel.treeModelRowChanged' to emit the
+'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row_changed/@ signal.  This most commonly affects lists with
+@/GdkPixbufs/@ stored.
+
+An example for creating a simple list store:
+
+=== /C code/
+>
+>enum {
+>  COLUMN_STRING,
+>  COLUMN_INT,
+>  COLUMN_BOOLEAN,
+>  N_COLUMNS
+>};
+>
+>{
+>  GtkListStore *list_store;
+>  GtkTreePath *path;
+>  GtkTreeIter iter;
+>  gint i;
+>
+>  list_store = gtk_list_store_new (N_COLUMNS,
+>                                   G_TYPE_STRING,
+>                                   G_TYPE_INT,
+>                                   G_TYPE_BOOLEAN);
+>
+>  for (i = 0; i < 10; i++)
+>    {
+>      gchar *some_data;
+>
+>      some_data = get_some_data (i);
+>
+>      // Add a new row to the model
+>      gtk_list_store_append (list_store, &iter);
+>      gtk_list_store_set (list_store, &iter,
+>                          COLUMN_STRING, some_data,
+>                          COLUMN_INT, i,
+>                          COLUMN_BOOLEAN,  FALSE,
+>                          -1);
+>
+>      // As the store will keep a copy of the string internally,
+>      // we free some_data.
+>      g_free (some_data);
+>    }
+>
+>  // Modify a particular row
+>  path = gtk_tree_path_new_from_string ("4");
+>  gtk_tree_model_get_iter (GTK_TREE_MODEL (list_store),
+>                           &iter,
+>                           path);
+>  gtk_tree_path_free (path);
+>  gtk_list_store_set (list_store, &iter,
+>                      COLUMN_BOOLEAN, TRUE,
+>                      -1);
+>}
+
+
+= Performance Considerations
+
+Internally, the 'GI.Gtk.Objects.ListStore.ListStore' was implemented with a linked list with
+a tail pointer prior to GTK+ 2.6.  As a result, it was fast at data
+insertion and deletion, and not fast at random data access.  The
+'GI.Gtk.Objects.ListStore.ListStore' sets the @/GTK_TREE_MODEL_ITERS_PERSIST/@ flag, which means
+that @/GtkTreeIters/@ can be cached while the row exists.  Thus, if
+access to a particular row is needed often and your code is expected to
+run on older versions of GTK+, it is worth keeping the iter around.
+
+= Atomic Operations
+
+It is important to note that only the methods
+@/gtk_list_store_insert_with_values()/@ and 'GI.Gtk.Objects.ListStore.listStoreInsertWithValuesv'
+are atomic, in the sense that the row is being appended to the store and the
+values filled in in a single operation with regard to 'GI.Gtk.Interfaces.TreeModel.TreeModel' signaling.
+In contrast, using e.g. 'GI.Gtk.Objects.ListStore.listStoreAppend' and then @/gtk_list_store_set()/@
+will first create a row, which triggers the 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-inserted/@ signal
+on 'GI.Gtk.Objects.ListStore.ListStore'. The row, however, is still empty, and any signal handler
+connecting to 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-inserted/@ on this particular store should be prepared
+for the situation that the row might be empty. This is especially important
+if you are wrapping the 'GI.Gtk.Objects.ListStore.ListStore' inside a 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' and are
+using a 'GI.Gtk.Callbacks.TreeModelFilterVisibleFunc'. Using any of the non-atomic operations
+to append rows to the 'GI.Gtk.Objects.ListStore.ListStore' will cause the
+'GI.Gtk.Callbacks.TreeModelFilterVisibleFunc' to be visited with an empty row first; the
+function must be prepared for that.
+
+= GtkListStore as GtkBuildable
+
+The GtkListStore implementation of the GtkBuildable interface allows
+to specify the model columns with a \<columns> element that may contain
+multiple \<column> elements, each specifying one model column. The “type”
+attribute specifies the data type for the column.
+
+Additionally, it is possible to specify content for the list store
+in the UI definition, with the \<data> element. It can contain multiple
+\<row> elements, each specifying to content for one row of the list model.
+Inside a \<row>, the \<col> elements specify the content for individual cells.
+
+Note that it is probably more common to define your models in the code,
+and one might consider it a layering violation to specify the content of
+a list store in a UI definition, data, not presentation, and common wisdom
+is to separate the two, as far as possible.
+
+An example of a UI Definition fragment for a list store:
+
+=== /C code/
+>
+><object class="GtkListStore">
+>  <columns>
+>    <column type="gchararray"/>
+>    <column type="gchararray"/>
+>    <column type="gint"/>
+>  </columns>
+>  <data>
+>    <row>
+>      <col id="0">John</col>
+>      <col id="1">Doe</col>
+>      <col id="2">25</col>
+>    </row>
+>    <row>
+>      <col id="0">Johan</col>
+>      <col id="1">Dahlin</col>
+>      <col id="2">50</col>
+>    </row>
+>  </data>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ListStore
+    ( 
+
+-- * Exported types
+    ListStore(..)                           ,
+    IsListStore                             ,
+    toListStore                             ,
+    noListStore                             ,
+
+
+ -- * Methods
+-- ** append #method:append#
+
+#if ENABLE_OVERLOADING
+    ListStoreAppendMethodInfo               ,
+#endif
+    listStoreAppend                         ,
+
+
+-- ** clear #method:clear#
+
+#if ENABLE_OVERLOADING
+    ListStoreClearMethodInfo                ,
+#endif
+    listStoreClear                          ,
+
+
+-- ** insert #method:insert#
+
+#if ENABLE_OVERLOADING
+    ListStoreInsertMethodInfo               ,
+#endif
+    listStoreInsert                         ,
+
+
+-- ** insertAfter #method:insertAfter#
+
+#if ENABLE_OVERLOADING
+    ListStoreInsertAfterMethodInfo          ,
+#endif
+    listStoreInsertAfter                    ,
+
+
+-- ** insertBefore #method:insertBefore#
+
+#if ENABLE_OVERLOADING
+    ListStoreInsertBeforeMethodInfo         ,
+#endif
+    listStoreInsertBefore                   ,
+
+
+-- ** insertWithValuesv #method:insertWithValuesv#
+
+#if ENABLE_OVERLOADING
+    ListStoreInsertWithValuesvMethodInfo    ,
+#endif
+    listStoreInsertWithValuesv              ,
+
+
+-- ** iterIsValid #method:iterIsValid#
+
+#if ENABLE_OVERLOADING
+    ListStoreIterIsValidMethodInfo          ,
+#endif
+    listStoreIterIsValid                    ,
+
+
+-- ** moveAfter #method:moveAfter#
+
+#if ENABLE_OVERLOADING
+    ListStoreMoveAfterMethodInfo            ,
+#endif
+    listStoreMoveAfter                      ,
+
+
+-- ** moveBefore #method:moveBefore#
+
+#if ENABLE_OVERLOADING
+    ListStoreMoveBeforeMethodInfo           ,
+#endif
+    listStoreMoveBefore                     ,
+
+
+-- ** new #method:new#
+
+    listStoreNew                            ,
+
+
+-- ** prepend #method:prepend#
+
+#if ENABLE_OVERLOADING
+    ListStorePrependMethodInfo              ,
+#endif
+    listStorePrepend                        ,
+
+
+-- ** remove #method:remove#
+
+#if ENABLE_OVERLOADING
+    ListStoreRemoveMethodInfo               ,
+#endif
+    listStoreRemove                         ,
+
+
+-- ** reorder #method:reorder#
+
+#if ENABLE_OVERLOADING
+    ListStoreReorderMethodInfo              ,
+#endif
+    listStoreReorder                        ,
+
+
+-- ** set #method:set#
+
+#if ENABLE_OVERLOADING
+    ListStoreSetMethodInfo                  ,
+#endif
+    listStoreSet                            ,
+
+
+-- ** setColumnTypes #method:setColumnTypes#
+
+#if ENABLE_OVERLOADING
+    ListStoreSetColumnTypesMethodInfo       ,
+#endif
+    listStoreSetColumnTypes                 ,
+
+
+-- ** setValue #method:setValue#
+
+#if ENABLE_OVERLOADING
+    ListStoreSetValueMethodInfo             ,
+#endif
+    listStoreSetValue                       ,
+
+
+-- ** swap #method:swap#
+
+#if ENABLE_OVERLOADING
+    ListStoreSwapMethodInfo                 ,
+#endif
+    listStoreSwap                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeDragDest as Gtk.TreeDragDest
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeDragSource as Gtk.TreeDragSource
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeSortable as Gtk.TreeSortable
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+
+-- | Memory-managed wrapper type.
+newtype ListStore = ListStore (ManagedPtr ListStore)
+foreign import ccall "gtk_list_store_get_type"
+    c_gtk_list_store_get_type :: IO GType
+
+instance GObject ListStore where
+    gobjectType = c_gtk_list_store_get_type
+    
+
+-- | Type class for types which can be safely cast to `ListStore`, for instance with `toListStore`.
+class (GObject o, O.IsDescendantOf ListStore o) => IsListStore o
+instance (GObject o, O.IsDescendantOf ListStore o) => IsListStore o
+
+instance O.HasParentTypes ListStore
+type instance O.ParentTypes ListStore = '[GObject.Object.Object, Gtk.Buildable.Buildable, Gtk.TreeDragDest.TreeDragDest, Gtk.TreeDragSource.TreeDragSource, Gtk.TreeModel.TreeModel, Gtk.TreeSortable.TreeSortable]
+
+-- | Cast to `ListStore`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toListStore :: (MonadIO m, IsListStore o) => o -> m ListStore
+toListStore = liftIO . unsafeCastTo ListStore
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ListStore`.
+noListStore :: Maybe ListStore
+noListStore = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveListStoreMethod (t :: Symbol) (o :: *) :: * where
+    ResolveListStoreMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveListStoreMethod "append" o = ListStoreAppendMethodInfo
+    ResolveListStoreMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveListStoreMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveListStoreMethod "clear" o = ListStoreClearMethodInfo
+    ResolveListStoreMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveListStoreMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveListStoreMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveListStoreMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveListStoreMethod "dragDataDelete" o = Gtk.TreeDragSource.TreeDragSourceDragDataDeleteMethodInfo
+    ResolveListStoreMethod "dragDataGet" o = Gtk.TreeDragSource.TreeDragSourceDragDataGetMethodInfo
+    ResolveListStoreMethod "dragDataReceived" o = Gtk.TreeDragDest.TreeDragDestDragDataReceivedMethodInfo
+    ResolveListStoreMethod "filterNew" o = Gtk.TreeModel.TreeModelFilterNewMethodInfo
+    ResolveListStoreMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveListStoreMethod "foreach" o = Gtk.TreeModel.TreeModelForeachMethodInfo
+    ResolveListStoreMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveListStoreMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveListStoreMethod "hasDefaultSortFunc" o = Gtk.TreeSortable.TreeSortableHasDefaultSortFuncMethodInfo
+    ResolveListStoreMethod "insert" o = ListStoreInsertMethodInfo
+    ResolveListStoreMethod "insertAfter" o = ListStoreInsertAfterMethodInfo
+    ResolveListStoreMethod "insertBefore" o = ListStoreInsertBeforeMethodInfo
+    ResolveListStoreMethod "insertWithValuesv" o = ListStoreInsertWithValuesvMethodInfo
+    ResolveListStoreMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveListStoreMethod "iterChildren" o = Gtk.TreeModel.TreeModelIterChildrenMethodInfo
+    ResolveListStoreMethod "iterHasChild" o = Gtk.TreeModel.TreeModelIterHasChildMethodInfo
+    ResolveListStoreMethod "iterIsValid" o = ListStoreIterIsValidMethodInfo
+    ResolveListStoreMethod "iterNChildren" o = Gtk.TreeModel.TreeModelIterNChildrenMethodInfo
+    ResolveListStoreMethod "iterNext" o = Gtk.TreeModel.TreeModelIterNextMethodInfo
+    ResolveListStoreMethod "iterNthChild" o = Gtk.TreeModel.TreeModelIterNthChildMethodInfo
+    ResolveListStoreMethod "iterParent" o = Gtk.TreeModel.TreeModelIterParentMethodInfo
+    ResolveListStoreMethod "iterPrevious" o = Gtk.TreeModel.TreeModelIterPreviousMethodInfo
+    ResolveListStoreMethod "moveAfter" o = ListStoreMoveAfterMethodInfo
+    ResolveListStoreMethod "moveBefore" o = ListStoreMoveBeforeMethodInfo
+    ResolveListStoreMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveListStoreMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveListStoreMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveListStoreMethod "prepend" o = ListStorePrependMethodInfo
+    ResolveListStoreMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveListStoreMethod "refNode" o = Gtk.TreeModel.TreeModelRefNodeMethodInfo
+    ResolveListStoreMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveListStoreMethod "remove" o = ListStoreRemoveMethodInfo
+    ResolveListStoreMethod "reorder" o = ListStoreReorderMethodInfo
+    ResolveListStoreMethod "rowChanged" o = Gtk.TreeModel.TreeModelRowChangedMethodInfo
+    ResolveListStoreMethod "rowDeleted" o = Gtk.TreeModel.TreeModelRowDeletedMethodInfo
+    ResolveListStoreMethod "rowDraggable" o = Gtk.TreeDragSource.TreeDragSourceRowDraggableMethodInfo
+    ResolveListStoreMethod "rowDropPossible" o = Gtk.TreeDragDest.TreeDragDestRowDropPossibleMethodInfo
+    ResolveListStoreMethod "rowHasChildToggled" o = Gtk.TreeModel.TreeModelRowHasChildToggledMethodInfo
+    ResolveListStoreMethod "rowInserted" o = Gtk.TreeModel.TreeModelRowInsertedMethodInfo
+    ResolveListStoreMethod "rowsReordered" o = Gtk.TreeModel.TreeModelRowsReorderedMethodInfo
+    ResolveListStoreMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveListStoreMethod "set" o = ListStoreSetMethodInfo
+    ResolveListStoreMethod "sortColumnChanged" o = Gtk.TreeSortable.TreeSortableSortColumnChangedMethodInfo
+    ResolveListStoreMethod "sortNewWithModel" o = Gtk.TreeModel.TreeModelSortNewWithModelMethodInfo
+    ResolveListStoreMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveListStoreMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveListStoreMethod "swap" o = ListStoreSwapMethodInfo
+    ResolveListStoreMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveListStoreMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveListStoreMethod "unrefNode" o = Gtk.TreeModel.TreeModelUnrefNodeMethodInfo
+    ResolveListStoreMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveListStoreMethod "getColumnType" o = Gtk.TreeModel.TreeModelGetColumnTypeMethodInfo
+    ResolveListStoreMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveListStoreMethod "getFlags" o = Gtk.TreeModel.TreeModelGetFlagsMethodInfo
+    ResolveListStoreMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveListStoreMethod "getIter" o = Gtk.TreeModel.TreeModelGetIterMethodInfo
+    ResolveListStoreMethod "getIterFirst" o = Gtk.TreeModel.TreeModelGetIterFirstMethodInfo
+    ResolveListStoreMethod "getIterFromString" o = Gtk.TreeModel.TreeModelGetIterFromStringMethodInfo
+    ResolveListStoreMethod "getNColumns" o = Gtk.TreeModel.TreeModelGetNColumnsMethodInfo
+    ResolveListStoreMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveListStoreMethod "getPath" o = Gtk.TreeModel.TreeModelGetPathMethodInfo
+    ResolveListStoreMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveListStoreMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveListStoreMethod "getSortColumnId" o = Gtk.TreeSortable.TreeSortableGetSortColumnIdMethodInfo
+    ResolveListStoreMethod "getStringFromIter" o = Gtk.TreeModel.TreeModelGetStringFromIterMethodInfo
+    ResolveListStoreMethod "getValue" o = Gtk.TreeModel.TreeModelGetValueMethodInfo
+    ResolveListStoreMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveListStoreMethod "setColumnTypes" o = ListStoreSetColumnTypesMethodInfo
+    ResolveListStoreMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveListStoreMethod "setDefaultSortFunc" o = Gtk.TreeSortable.TreeSortableSetDefaultSortFuncMethodInfo
+    ResolveListStoreMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveListStoreMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveListStoreMethod "setSortColumnId" o = Gtk.TreeSortable.TreeSortableSetSortColumnIdMethodInfo
+    ResolveListStoreMethod "setSortFunc" o = Gtk.TreeSortable.TreeSortableSetSortFuncMethodInfo
+    ResolveListStoreMethod "setValue" o = ListStoreSetValueMethodInfo
+    ResolveListStoreMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveListStoreMethod t ListStore, O.MethodInfo info ListStore p) => OL.IsLabel t (ListStore -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ListStore
+type instance O.AttributeList ListStore = ListStoreAttributeList
+type ListStoreAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ListStore = ListStoreSignalList
+type ListStoreSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("rowChanged", Gtk.TreeModel.TreeModelRowChangedSignalInfo), '("rowDeleted", Gtk.TreeModel.TreeModelRowDeletedSignalInfo), '("rowHasChildToggled", Gtk.TreeModel.TreeModelRowHasChildToggledSignalInfo), '("rowInserted", Gtk.TreeModel.TreeModelRowInsertedSignalInfo), '("sortColumnChanged", Gtk.TreeSortable.TreeSortableSortColumnChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ListStore::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "n_columns", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of columns in the list store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TCArray False (-1) 0 (TBasicType TGType), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GType types for the columns, from first to last", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_columns", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of columns in the list store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ListStore"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_newv" gtk_list_store_newv :: 
+    Int32 ->                                -- n_columns : TBasicType TInt
+    Ptr CGType ->                           -- types : TCArray False (-1) 0 (TBasicType TGType)
+    IO (Ptr ListStore)
+
+{- |
+Non-vararg creation function.  Used primarily by language bindings.
+-}
+listStoreNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [GType]
+    {- ^ /@types@/: an array of 'GType' types for the columns, from first to last -}
+    -> m ListStore
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ListStore.ListStore' -}
+listStoreNew types = liftIO $ do
+    let nColumns = fromIntegral $ length types
+    types' <- (packMapStorableArray gtypeToCGType) types
+    result <- gtk_list_store_newv nColumns types'
+    checkUnexpectedReturnNULL "listStoreNew" result
+    result' <- (wrapObject ListStore) result
+    freeMem types'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ListStore::append
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the appended row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_append" gtk_list_store_append :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Appends a new row to /@listStore@/.  /@iter@/ will be changed to point to this new
+row.  The row will be empty after this function is called.  To fill in
+values, you need to call @/gtk_list_store_set()/@ or 'GI.Gtk.Objects.ListStore.listStoreSetValue'.
+-}
+listStoreAppend ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> m (Gtk.TreeIter.TreeIter)
+listStoreAppend listStore = liftIO $ do
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    gtk_list_store_append listStore' iter
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr listStore
+    return iter'
+
+#if ENABLE_OVERLOADING
+data ListStoreAppendMethodInfo
+instance (signature ~ (m (Gtk.TreeIter.TreeIter)), MonadIO m, IsListStore a) => O.MethodInfo ListStoreAppendMethodInfo a signature where
+    overloadedMethod _ = listStoreAppend
+
+#endif
+
+-- method ListStore::clear
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkListStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_clear" gtk_list_store_clear :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    IO ()
+
+{- |
+Removes all rows from the list store.
+-}
+listStoreClear ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: a 'GI.Gtk.Objects.ListStore.ListStore'. -}
+    -> m ()
+listStoreClear listStore = liftIO $ do
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    gtk_list_store_clear listStore'
+    touchManagedPtr listStore
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListStoreClearMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsListStore a) => O.MethodInfo ListStoreClearMethodInfo a signature where
+    overloadedMethod _ = listStoreClear
+
+#endif
+
+-- method ListStore::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the new row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to insert the new row, or -1 for last", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_insert" gtk_list_store_insert :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Creates a new row at /@position@/.  /@iter@/ will be changed to point to this new
+row.  If /@position@/ is -1 or is larger than the number of rows on the list,
+then the new row will be appended to the list. The row will be empty after
+this function is called.  To fill in values, you need to call
+@/gtk_list_store_set()/@ or 'GI.Gtk.Objects.ListStore.listStoreSetValue'.
+-}
+listStoreInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> Int32
+    {- ^ /@position@/: position to insert the new row, or -1 for last -}
+    -> m (Gtk.TreeIter.TreeIter)
+listStoreInsert listStore position = liftIO $ do
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    gtk_list_store_insert listStore' iter position
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr listStore
+    return iter'
+
+#if ENABLE_OVERLOADING
+data ListStoreInsertMethodInfo
+instance (signature ~ (Int32 -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsListStore a) => O.MethodInfo ListStoreInsertMethodInfo a signature where
+    overloadedMethod _ = listStoreInsert
+
+#endif
+
+-- method ListStore::insert_after
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the new row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_insert_after" gtk_list_store_insert_after :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- sibling : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Inserts a new row after /@sibling@/. If /@sibling@/ is 'Nothing', then the row will be
+prepended to the beginning of the list. /@iter@/ will be changed to point to
+this new row. The row will be empty after this function is called. To fill
+in values, you need to call @/gtk_list_store_set()/@ or 'GI.Gtk.Objects.ListStore.listStoreSetValue'.
+-}
+listStoreInsertAfter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@sibling@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> m (Gtk.TreeIter.TreeIter)
+listStoreInsertAfter listStore sibling = liftIO $ do
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeSibling <- case sibling of
+        Nothing -> return nullPtr
+        Just jSibling -> do
+            jSibling' <- unsafeManagedPtrGetPtr jSibling
+            return jSibling'
+    gtk_list_store_insert_after listStore' iter maybeSibling
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr listStore
+    whenJust sibling touchManagedPtr
+    return iter'
+
+#if ENABLE_OVERLOADING
+data ListStoreInsertAfterMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsListStore a) => O.MethodInfo ListStoreInsertAfterMethodInfo a signature where
+    overloadedMethod _ = listStoreInsertAfter
+
+#endif
+
+-- method ListStore::insert_before
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the new row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_insert_before" gtk_list_store_insert_before :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- sibling : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Inserts a new row before /@sibling@/. If /@sibling@/ is 'Nothing', then the row will
+be appended to the end of the list. /@iter@/ will be changed to point to this
+new row. The row will be empty after this function is called. To fill in
+values, you need to call @/gtk_list_store_set()/@ or 'GI.Gtk.Objects.ListStore.listStoreSetValue'.
+-}
+listStoreInsertBefore ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@sibling@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> m (Gtk.TreeIter.TreeIter)
+listStoreInsertBefore listStore sibling = liftIO $ do
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeSibling <- case sibling of
+        Nothing -> return nullPtr
+        Just jSibling -> do
+            jSibling' <- unsafeManagedPtrGetPtr jSibling
+            return jSibling'
+    gtk_list_store_insert_before listStore' iter maybeSibling
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr listStore
+    whenJust sibling touchManagedPtr
+    return iter'
+
+#if ENABLE_OVERLOADING
+data ListStoreInsertBeforeMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsListStore a) => O.MethodInfo ListStoreInsertBeforeMethodInfo a signature where
+    overloadedMethod _ = listStoreInsertBefore
+
+#endif
+
+-- method ListStore::insert_with_valuesv
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the new row, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to insert the new row, or -1 for last", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "columns", argType = TCArray False (-1) 5 (TBasicType TInt), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of column numbers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TCArray False (-1) 5 (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of GValues", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_insert_with_valuesv" gtk_list_store_insert_with_valuesv :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Int32 ->                                -- position : TBasicType TInt
+    Ptr Int32 ->                            -- columns : TCArray False (-1) 5 (TBasicType TInt)
+    Ptr GValue ->                           -- values : TCArray False (-1) 5 (TInterface (Name {namespace = "GObject", name = "Value"}))
+    Int32 ->                                -- n_values : TBasicType TInt
+    IO ()
+
+{- |
+A variant of @/gtk_list_store_insert_with_values()/@ which
+takes the columns and values as two arrays, instead of
+varargs. This function is mainly intended for
+language-bindings.
+
+/Since: 2.6/
+-}
+listStoreInsertWithValuesv ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> Int32
+    {- ^ /@position@/: position to insert the new row, or -1 for last -}
+    -> [Int32]
+    {- ^ /@columns@/: an array of column numbers -}
+    -> [GValue]
+    {- ^ /@values@/: an array of GValues -}
+    -> m (Gtk.TreeIter.TreeIter)
+listStoreInsertWithValuesv listStore position columns values = liftIO $ do
+    let nValues = fromIntegral $ length values
+    let columns_expected_length_ = fromIntegral $ length columns
+    when (columns_expected_length_ /= nValues) $
+        error "Gtk.listStoreInsertWithValuesv : length of 'columns' does not agree with that of 'values'."
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    columns' <- packStorableArray columns
+    values' <- mapM unsafeManagedPtrGetPtr values
+    values'' <- packBlockArray 24 values'
+    gtk_list_store_insert_with_valuesv listStore' iter position columns' values'' nValues
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr listStore
+    mapM_ touchManagedPtr values
+    freeMem columns'
+    freeMem values''
+    return iter'
+
+#if ENABLE_OVERLOADING
+data ListStoreInsertWithValuesvMethodInfo
+instance (signature ~ (Int32 -> [Int32] -> [GValue] -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsListStore a) => O.MethodInfo ListStoreInsertWithValuesvMethodInfo a signature where
+    overloadedMethod _ = listStoreInsertWithValuesv
+
+#endif
+
+-- method ListStore::iter_is_valid
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_iter_is_valid" gtk_list_store_iter_is_valid :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+> This function is slow. Only use it for debugging and\/or testing
+> purposes.
+
+Checks if the given iter is a valid iter for this 'GI.Gtk.Objects.ListStore.ListStore'.
+
+/Since: 2.2/
+-}
+listStoreIterIsValid ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the iter is valid, 'False' if the iter is invalid. -}
+listStoreIterIsValid listStore iter = liftIO $ do
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_list_store_iter_is_valid listStore' iter'
+    let result' = (/= 0) result
+    touchManagedPtr listStore
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data ListStoreIterIsValidMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsListStore a) => O.MethodInfo ListStoreIterIsValidMethodInfo a signature where
+    overloadedMethod _ = listStoreIterIsValid
+
+#endif
+
+-- method ListStore::move_after
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_move_after" gtk_list_store_move_after :: 
+    Ptr ListStore ->                        -- store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- position : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Moves /@iter@/ in /@store@/ to the position after /@position@/. Note that this
+function only works with unsorted stores. If /@position@/ is 'Nothing', /@iter@/
+will be moved to the start of the list.
+
+/Since: 2.2/
+-}
+listStoreMoveAfter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@store@/: A 'GI.Gtk.Objects.ListStore.ListStore'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@position@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' or 'Nothing'. -}
+    -> m ()
+listStoreMoveAfter store iter position = liftIO $ do
+    store' <- unsafeManagedPtrCastPtr store
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybePosition <- case position of
+        Nothing -> return nullPtr
+        Just jPosition -> do
+            jPosition' <- unsafeManagedPtrGetPtr jPosition
+            return jPosition'
+    gtk_list_store_move_after store' iter' maybePosition
+    touchManagedPtr store
+    touchManagedPtr iter
+    whenJust position touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListStoreMoveAfterMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Maybe (Gtk.TreeIter.TreeIter) -> m ()), MonadIO m, IsListStore a) => O.MethodInfo ListStoreMoveAfterMethodInfo a signature where
+    overloadedMethod _ = listStoreMoveAfter
+
+#endif
+
+-- method ListStore::move_before
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_move_before" gtk_list_store_move_before :: 
+    Ptr ListStore ->                        -- store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- position : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Moves /@iter@/ in /@store@/ to the position before /@position@/. Note that this
+function only works with unsorted stores. If /@position@/ is 'Nothing', /@iter@/
+will be moved to the end of the list.
+
+/Since: 2.2/
+-}
+listStoreMoveBefore ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@store@/: A 'GI.Gtk.Objects.ListStore.ListStore'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@position@/: A 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing'. -}
+    -> m ()
+listStoreMoveBefore store iter position = liftIO $ do
+    store' <- unsafeManagedPtrCastPtr store
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybePosition <- case position of
+        Nothing -> return nullPtr
+        Just jPosition -> do
+            jPosition' <- unsafeManagedPtrGetPtr jPosition
+            return jPosition'
+    gtk_list_store_move_before store' iter' maybePosition
+    touchManagedPtr store
+    touchManagedPtr iter
+    whenJust position touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListStoreMoveBeforeMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Maybe (Gtk.TreeIter.TreeIter) -> m ()), MonadIO m, IsListStore a) => O.MethodInfo ListStoreMoveBeforeMethodInfo a signature where
+    overloadedMethod _ = listStoreMoveBefore
+
+#endif
+
+-- method ListStore::prepend
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the prepend row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_prepend" gtk_list_store_prepend :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Prepends a new row to /@listStore@/. /@iter@/ will be changed to point to this new
+row. The row will be empty after this function is called. To fill in
+values, you need to call @/gtk_list_store_set()/@ or 'GI.Gtk.Objects.ListStore.listStoreSetValue'.
+-}
+listStorePrepend ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> m (Gtk.TreeIter.TreeIter)
+listStorePrepend listStore = liftIO $ do
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    gtk_list_store_prepend listStore' iter
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr listStore
+    return iter'
+
+#if ENABLE_OVERLOADING
+data ListStorePrependMethodInfo
+instance (signature ~ (m (Gtk.TreeIter.TreeIter)), MonadIO m, IsListStore a) => O.MethodInfo ListStorePrependMethodInfo a signature where
+    overloadedMethod _ = listStorePrepend
+
+#endif
+
+-- method ListStore::remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_remove" gtk_list_store_remove :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Removes the given row from the list store.  After being removed,
+/@iter@/ is set to be the next valid row, or invalidated if it pointed
+to the last row in /@listStore@/.
+-}
+listStoreRemove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ is valid, 'False' if not. -}
+listStoreRemove listStore iter = liftIO $ do
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_list_store_remove listStore' iter'
+    let result' = (/= 0) result
+    touchManagedPtr listStore
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data ListStoreRemoveMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsListStore a) => O.MethodInfo ListStoreRemoveMethodInfo a signature where
+    overloadedMethod _ = listStoreRemove
+
+#endif
+
+-- method ListStore::reorder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_order", argType = TCArray True (-1) (-1) (TBasicType TInt), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of integers mapping the new\n     position of each child to its old position before the re-ordering,\n     i.e. @new_order`[newpos] = oldpos`. It must have\n     exactly as many items as the list store\8217s length.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_reorder" gtk_list_store_reorder :: 
+    Ptr ListStore ->                        -- store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Int32 ->                            -- new_order : TCArray True (-1) (-1) (TBasicType TInt)
+    IO ()
+
+{- |
+Reorders /@store@/ to follow the order indicated by /@newOrder@/. Note that
+this function only works with unsorted stores.
+
+/Since: 2.2/
+-}
+listStoreReorder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@store@/: A 'GI.Gtk.Objects.ListStore.ListStore'. -}
+    -> [Int32]
+    {- ^ /@newOrder@/: an array of integers mapping the new
+     position of each child to its old position before the re-ordering,
+     i.e. /@newOrder@/@[newpos] = oldpos@. It must have
+     exactly as many items as the list store’s length. -}
+    -> m ()
+listStoreReorder store newOrder = liftIO $ do
+    store' <- unsafeManagedPtrCastPtr store
+    newOrder' <- packZeroTerminatedStorableArray newOrder
+    gtk_list_store_reorder store' newOrder'
+    touchManagedPtr store
+    freeMem newOrder'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListStoreReorderMethodInfo
+instance (signature ~ ([Int32] -> m ()), MonadIO m, IsListStore a) => O.MethodInfo ListStoreReorderMethodInfo a signature where
+    overloadedMethod _ = listStoreReorder
+
+#endif
+
+-- method ListStore::set_column_types
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_columns", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of columns for the list store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TCArray False (-1) 1 (TBasicType TGType), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An array length n of #GTypes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_columns", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of columns for the list store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_set_column_types" gtk_list_store_set_column_types :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Int32 ->                                -- n_columns : TBasicType TInt
+    Ptr CGType ->                           -- types : TCArray False (-1) 1 (TBasicType TGType)
+    IO ()
+
+{- |
+This function is meant primarily for @/GObjects/@ that inherit from 'GI.Gtk.Objects.ListStore.ListStore',
+and should only be used when constructing a new 'GI.Gtk.Objects.ListStore.ListStore'.  It will not
+function after a row has been added, or a method on the 'GI.Gtk.Interfaces.TreeModel.TreeModel'
+interface is called.
+-}
+listStoreSetColumnTypes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> [GType]
+    {- ^ /@types@/: An array length n of @/GTypes/@ -}
+    -> m ()
+listStoreSetColumnTypes listStore types = liftIO $ do
+    let nColumns = fromIntegral $ length types
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    types' <- (packMapStorableArray gtypeToCGType) types
+    gtk_list_store_set_column_types listStore' nColumns types'
+    touchManagedPtr listStore
+    freeMem types'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListStoreSetColumnTypesMethodInfo
+instance (signature ~ ([GType] -> m ()), MonadIO m, IsListStore a) => O.MethodInfo ListStoreSetColumnTypesMethodInfo a signature where
+    overloadedMethod _ = listStoreSetColumnTypes
+
+#endif
+
+-- method ListStore::set_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter for the row being modified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "column number to modify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new value for the cell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_set_value" gtk_list_store_set_value :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Int32 ->                                -- column : TBasicType TInt
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Sets the data in the cell specified by /@iter@/ and /@column@/.
+The type of /@value@/ must be convertible to the type of the
+column.
+-}
+listStoreSetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' for the row being modified -}
+    -> Int32
+    {- ^ /@column@/: column number to modify -}
+    -> GValue
+    {- ^ /@value@/: new value for the cell -}
+    -> m ()
+listStoreSetValue listStore iter column value = liftIO $ do
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_list_store_set_value listStore' iter' column value'
+    touchManagedPtr listStore
+    touchManagedPtr iter
+    touchManagedPtr value
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListStoreSetValueMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Int32 -> GValue -> m ()), MonadIO m, IsListStore a) => O.MethodInfo ListStoreSetValueMethodInfo a signature where
+    overloadedMethod _ = listStoreSetValue
+
+#endif
+
+-- method ListStore::set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list_store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter for the row being modified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "columns", argType = TCArray False (-1) 4 (TBasicType TInt), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of column numbers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TCArray False (-1) 4 (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of GValues", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_set_valuesv" gtk_list_store_set_valuesv :: 
+    Ptr ListStore ->                        -- list_store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Int32 ->                            -- columns : TCArray False (-1) 4 (TBasicType TInt)
+    Ptr GValue ->                           -- values : TCArray False (-1) 4 (TInterface (Name {namespace = "GObject", name = "Value"}))
+    Int32 ->                                -- n_values : TBasicType TInt
+    IO ()
+
+{- |
+A variant of @/gtk_list_store_set_valist()/@ which
+takes the columns and values as two arrays, instead of
+varargs. This function is mainly intended for
+language-bindings and in case the number of columns to
+change is not known until run-time.
+
+/Since: 2.12/
+-}
+listStoreSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@listStore@/: A 'GI.Gtk.Objects.ListStore.ListStore' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' for the row being modified -}
+    -> [Int32]
+    {- ^ /@columns@/: an array of column numbers -}
+    -> [GValue]
+    {- ^ /@values@/: an array of GValues -}
+    -> m ()
+listStoreSet listStore iter columns values = liftIO $ do
+    let nValues = fromIntegral $ length values
+    let columns_expected_length_ = fromIntegral $ length columns
+    when (columns_expected_length_ /= nValues) $
+        error "Gtk.listStoreSet : length of 'columns' does not agree with that of 'values'."
+    listStore' <- unsafeManagedPtrCastPtr listStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    columns' <- packStorableArray columns
+    values' <- mapM unsafeManagedPtrGetPtr values
+    values'' <- packBlockArray 24 values'
+    gtk_list_store_set_valuesv listStore' iter' columns' values'' nValues
+    touchManagedPtr listStore
+    touchManagedPtr iter
+    mapM_ touchManagedPtr values
+    freeMem columns'
+    freeMem values''
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListStoreSetMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> [Int32] -> [GValue] -> m ()), MonadIO m, IsListStore a) => O.MethodInfo ListStoreSetMethodInfo a signature where
+    overloadedMethod _ = listStoreSet
+
+#endif
+
+-- method ListStore::swap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "Gtk", name = "ListStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkListStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Another #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_list_store_swap" gtk_list_store_swap :: 
+    Ptr ListStore ->                        -- store : TInterface (Name {namespace = "Gtk", name = "ListStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- a : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- b : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Swaps /@a@/ and /@b@/ in /@store@/. Note that this function only works with
+unsorted stores.
+
+/Since: 2.2/
+-}
+listStoreSwap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsListStore a) =>
+    a
+    {- ^ /@store@/: A 'GI.Gtk.Objects.ListStore.ListStore'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@a@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@b@/: Another 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> m ()
+listStoreSwap store a b = liftIO $ do
+    store' <- unsafeManagedPtrCastPtr store
+    a' <- unsafeManagedPtrGetPtr a
+    b' <- unsafeManagedPtrGetPtr b
+    gtk_list_store_swap store' a' b'
+    touchManagedPtr store
+    touchManagedPtr a
+    touchManagedPtr b
+    return ()
+
+#if ENABLE_OVERLOADING
+data ListStoreSwapMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsListStore a) => O.MethodInfo ListStoreSwapMethodInfo a signature where
+    overloadedMethod _ = listStoreSwap
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ListStore.hs-boot b/GI/Gtk/Objects/ListStore.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ListStore.hs-boot
@@ -0,0 +1,77 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ListStore where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ListStore = ListStore (ManagedPtr ListStore)
+instance GObject ListStore where
+class (GObject o, O.IsDescendantOf ListStore o) => IsListStore o
+instance (GObject o, O.IsDescendantOf ListStore o) => IsListStore o
+instance O.HasParentTypes ListStore
+#if ENABLE_OVERLOADING
+data ListStoreAppendMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreClearMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreInsertAfterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreInsertBeforeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreInsertWithValuesvMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreIterIsValidMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreMoveAfterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreMoveBeforeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStorePrependMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreRemoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreReorderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreSetColumnTypesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreSetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ListStoreSwapMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/LockButton.hs b/GI/Gtk/Objects/LockButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LockButton.hs
@@ -0,0 +1,1100 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkLockButton is a widget that can be used in control panels or
+preference dialogs to allow users to obtain and revoke authorizations
+needed to operate the controls. The required authorization is represented
+by a 'GI.Gio.Objects.Permission.Permission' object. Concrete implementations of 'GI.Gio.Objects.Permission.Permission' may use
+PolicyKit or some other authorization framework. To obtain a PolicyKit-based
+'GI.Gio.Objects.Permission.Permission', use @/polkit_permission_new()/@.
+
+If the user is not currently allowed to perform the action, but can obtain
+the permission, the widget looks like this:
+
+<<https://developer.gnome.org/gtk3/stable/lockbutton-locked.png>>
+
+and the user can click the button to request the permission. Depending
+on the platform, this may pop up an authentication dialog or ask the user
+to authenticate in some other way. Once the user has obtained the permission,
+the widget changes to this:
+
+<<https://developer.gnome.org/gtk3/stable/lockbutton-unlocked.png>>
+
+and the permission can be dropped again by clicking the button. If the user
+is not able to obtain the permission at all, the widget looks like this:
+
+<<https://developer.gnome.org/gtk3/stable/lockbutton-sorry.png>>
+
+If the user has the permission and cannot drop it, the button is hidden.
+
+The text (and tooltips) that are shown in the various cases can be adjusted
+with the 'GI.Gtk.Objects.LockButton.LockButton':@/text-lock/@, 'GI.Gtk.Objects.LockButton.LockButton':@/text-unlock/@,
+'GI.Gtk.Objects.LockButton.LockButton':@/tooltip-lock/@, 'GI.Gtk.Objects.LockButton.LockButton':@/tooltip-unlock/@ and
+'GI.Gtk.Objects.LockButton.LockButton':@/tooltip-not-authorized/@ properties.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.LockButton
+    ( 
+
+-- * Exported types
+    LockButton(..)                          ,
+    IsLockButton                            ,
+    toLockButton                            ,
+    noLockButton                            ,
+
+
+ -- * Methods
+-- ** getPermission #method:getPermission#
+
+#if ENABLE_OVERLOADING
+    LockButtonGetPermissionMethodInfo       ,
+#endif
+    lockButtonGetPermission                 ,
+
+
+-- ** new #method:new#
+
+    lockButtonNew                           ,
+
+
+-- ** setPermission #method:setPermission#
+
+#if ENABLE_OVERLOADING
+    LockButtonSetPermissionMethodInfo       ,
+#endif
+    lockButtonSetPermission                 ,
+
+
+
+
+ -- * Properties
+-- ** permission #attr:permission#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LockButtonPermissionPropertyInfo        ,
+#endif
+    clearLockButtonPermission               ,
+    constructLockButtonPermission           ,
+    getLockButtonPermission                 ,
+#if ENABLE_OVERLOADING
+    lockButtonPermission                    ,
+#endif
+    setLockButtonPermission                 ,
+
+
+-- ** textLock #attr:textLock#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LockButtonTextLockPropertyInfo          ,
+#endif
+    clearLockButtonTextLock                 ,
+    constructLockButtonTextLock             ,
+    getLockButtonTextLock                   ,
+#if ENABLE_OVERLOADING
+    lockButtonTextLock                      ,
+#endif
+    setLockButtonTextLock                   ,
+
+
+-- ** textUnlock #attr:textUnlock#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LockButtonTextUnlockPropertyInfo        ,
+#endif
+    clearLockButtonTextUnlock               ,
+    constructLockButtonTextUnlock           ,
+    getLockButtonTextUnlock                 ,
+#if ENABLE_OVERLOADING
+    lockButtonTextUnlock                    ,
+#endif
+    setLockButtonTextUnlock                 ,
+
+
+-- ** tooltipLock #attr:tooltipLock#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LockButtonTooltipLockPropertyInfo       ,
+#endif
+    clearLockButtonTooltipLock              ,
+    constructLockButtonTooltipLock          ,
+    getLockButtonTooltipLock                ,
+#if ENABLE_OVERLOADING
+    lockButtonTooltipLock                   ,
+#endif
+    setLockButtonTooltipLock                ,
+
+
+-- ** tooltipNotAuthorized #attr:tooltipNotAuthorized#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LockButtonTooltipNotAuthorizedPropertyInfo,
+#endif
+    clearLockButtonTooltipNotAuthorized     ,
+    constructLockButtonTooltipNotAuthorized ,
+    getLockButtonTooltipNotAuthorized       ,
+#if ENABLE_OVERLOADING
+    lockButtonTooltipNotAuthorized          ,
+#endif
+    setLockButtonTooltipNotAuthorized       ,
+
+
+-- ** tooltipUnlock #attr:tooltipUnlock#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    LockButtonTooltipUnlockPropertyInfo     ,
+#endif
+    clearLockButtonTooltipUnlock            ,
+    constructLockButtonTooltipUnlock        ,
+    getLockButtonTooltipUnlock              ,
+#if ENABLE_OVERLOADING
+    lockButtonTooltipUnlock                 ,
+#endif
+    setLockButtonTooltipUnlock              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Objects.Permission as Gio.Permission
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype LockButton = LockButton (ManagedPtr LockButton)
+foreign import ccall "gtk_lock_button_get_type"
+    c_gtk_lock_button_get_type :: IO GType
+
+instance GObject LockButton where
+    gobjectType = c_gtk_lock_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `LockButton`, for instance with `toLockButton`.
+class (GObject o, O.IsDescendantOf LockButton o) => IsLockButton o
+instance (GObject o, O.IsDescendantOf LockButton o) => IsLockButton o
+
+instance O.HasParentTypes LockButton
+type instance O.ParentTypes LockButton = '[Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `LockButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toLockButton :: (MonadIO m, IsLockButton o) => o -> m LockButton
+toLockButton = liftIO . unsafeCastTo LockButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `LockButton`.
+noLockButton :: Maybe LockButton
+noLockButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveLockButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLockButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveLockButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveLockButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveLockButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveLockButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveLockButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveLockButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveLockButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveLockButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveLockButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveLockButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveLockButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveLockButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveLockButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveLockButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveLockButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveLockButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveLockButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveLockButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveLockButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveLockButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveLockButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveLockButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveLockButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveLockButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveLockButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveLockButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveLockButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveLockButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveLockButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveLockButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveLockButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveLockButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveLockButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveLockButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveLockButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveLockButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveLockButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveLockButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveLockButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveLockButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveLockButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveLockButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveLockButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveLockButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveLockButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveLockButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveLockButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveLockButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveLockButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveLockButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveLockButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveLockButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveLockButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveLockButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveLockButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveLockButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveLockButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveLockButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveLockButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveLockButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveLockButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveLockButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveLockButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveLockButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveLockButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveLockButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveLockButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveLockButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveLockButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveLockButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveLockButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveLockButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveLockButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveLockButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveLockButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveLockButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveLockButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveLockButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveLockButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveLockButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveLockButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveLockButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveLockButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveLockButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveLockButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveLockButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveLockButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveLockButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveLockButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveLockButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveLockButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveLockButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveLockButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveLockButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveLockButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveLockButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveLockButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveLockButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveLockButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveLockButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveLockButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveLockButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveLockButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveLockButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveLockButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveLockButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveLockButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveLockButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveLockButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveLockButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveLockButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveLockButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveLockButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveLockButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveLockButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveLockButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveLockButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveLockButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveLockButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveLockButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveLockButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveLockButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveLockButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveLockButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveLockButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveLockButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveLockButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveLockButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveLockButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveLockButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveLockButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveLockButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveLockButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveLockButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveLockButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveLockButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveLockButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveLockButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveLockButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveLockButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveLockButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveLockButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveLockButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveLockButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveLockButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveLockButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveLockButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveLockButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveLockButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveLockButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveLockButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveLockButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveLockButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveLockButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveLockButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveLockButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveLockButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveLockButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveLockButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveLockButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveLockButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveLockButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveLockButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveLockButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveLockButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveLockButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveLockButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveLockButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveLockButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveLockButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveLockButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveLockButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveLockButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveLockButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveLockButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveLockButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveLockButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveLockButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveLockButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveLockButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveLockButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveLockButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveLockButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveLockButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveLockButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveLockButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveLockButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveLockButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveLockButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveLockButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveLockButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveLockButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveLockButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveLockButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveLockButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveLockButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveLockButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveLockButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveLockButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveLockButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveLockButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveLockButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveLockButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveLockButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveLockButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveLockButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveLockButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveLockButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveLockButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveLockButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveLockButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveLockButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveLockButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveLockButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveLockButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveLockButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveLockButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveLockButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveLockButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveLockButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveLockButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveLockButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveLockButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveLockButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveLockButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveLockButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveLockButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveLockButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveLockButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveLockButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveLockButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveLockButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveLockButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveLockButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveLockButtonMethod "getPermission" o = LockButtonGetPermissionMethodInfo
+    ResolveLockButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveLockButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveLockButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveLockButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveLockButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveLockButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveLockButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveLockButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveLockButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveLockButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveLockButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveLockButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveLockButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveLockButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveLockButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveLockButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveLockButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveLockButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveLockButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveLockButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveLockButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveLockButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveLockButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveLockButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveLockButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveLockButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveLockButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveLockButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveLockButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveLockButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveLockButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveLockButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveLockButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveLockButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveLockButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveLockButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveLockButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveLockButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveLockButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveLockButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveLockButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveLockButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveLockButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveLockButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveLockButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveLockButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveLockButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveLockButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveLockButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveLockButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveLockButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveLockButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveLockButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveLockButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveLockButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveLockButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveLockButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveLockButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveLockButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveLockButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveLockButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveLockButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveLockButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveLockButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveLockButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveLockButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveLockButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveLockButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveLockButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveLockButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveLockButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveLockButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveLockButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveLockButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveLockButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveLockButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveLockButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveLockButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveLockButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveLockButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveLockButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveLockButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveLockButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveLockButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveLockButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveLockButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveLockButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveLockButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveLockButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveLockButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveLockButtonMethod "setPermission" o = LockButtonSetPermissionMethodInfo
+    ResolveLockButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveLockButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveLockButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveLockButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveLockButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveLockButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveLockButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveLockButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveLockButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveLockButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveLockButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveLockButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveLockButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveLockButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveLockButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveLockButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveLockButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveLockButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveLockButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveLockButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveLockButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveLockButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveLockButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveLockButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveLockButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveLockButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveLockButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLockButtonMethod t LockButton, O.MethodInfo info LockButton p) => OL.IsLabel t (LockButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "permission"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Permission"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@permission@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' lockButton #permission
+@
+-}
+getLockButtonPermission :: (MonadIO m, IsLockButton o) => o -> m Gio.Permission.Permission
+getLockButtonPermission obj = liftIO $ checkUnexpectedNothing "getLockButtonPermission" $ B.Properties.getObjectPropertyObject obj "permission" Gio.Permission.Permission
+
+{- |
+Set the value of the “@permission@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' lockButton [ #permission 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLockButtonPermission :: (MonadIO m, IsLockButton o, Gio.Permission.IsPermission a) => o -> a -> m ()
+setLockButtonPermission obj val = liftIO $ B.Properties.setObjectPropertyObject obj "permission" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@permission@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLockButtonPermission :: (IsLockButton o, Gio.Permission.IsPermission a) => a -> IO (GValueConstruct o)
+constructLockButtonPermission val = B.Properties.constructObjectPropertyObject "permission" (Just val)
+
+{- |
+Set the value of the “@permission@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #permission
+@
+-}
+clearLockButtonPermission :: (MonadIO m, IsLockButton o) => o -> m ()
+clearLockButtonPermission obj = liftIO $ B.Properties.setObjectPropertyObject obj "permission" (Nothing :: Maybe Gio.Permission.Permission)
+
+#if ENABLE_OVERLOADING
+data LockButtonPermissionPropertyInfo
+instance AttrInfo LockButtonPermissionPropertyInfo where
+    type AttrAllowedOps LockButtonPermissionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LockButtonPermissionPropertyInfo = Gio.Permission.IsPermission
+    type AttrBaseTypeConstraint LockButtonPermissionPropertyInfo = IsLockButton
+    type AttrGetType LockButtonPermissionPropertyInfo = Gio.Permission.Permission
+    type AttrLabel LockButtonPermissionPropertyInfo = "permission"
+    type AttrOrigin LockButtonPermissionPropertyInfo = LockButton
+    attrGet _ = getLockButtonPermission
+    attrSet _ = setLockButtonPermission
+    attrConstruct _ = constructLockButtonPermission
+    attrClear _ = clearLockButtonPermission
+#endif
+
+-- VVV Prop "text-lock"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text-lock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' lockButton #textLock
+@
+-}
+getLockButtonTextLock :: (MonadIO m, IsLockButton o) => o -> m (Maybe T.Text)
+getLockButtonTextLock obj = liftIO $ B.Properties.getObjectPropertyString obj "text-lock"
+
+{- |
+Set the value of the “@text-lock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' lockButton [ #textLock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLockButtonTextLock :: (MonadIO m, IsLockButton o) => o -> T.Text -> m ()
+setLockButtonTextLock obj val = liftIO $ B.Properties.setObjectPropertyString obj "text-lock" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text-lock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLockButtonTextLock :: (IsLockButton o) => T.Text -> IO (GValueConstruct o)
+constructLockButtonTextLock val = B.Properties.constructObjectPropertyString "text-lock" (Just val)
+
+{- |
+Set the value of the “@text-lock@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #textLock
+@
+-}
+clearLockButtonTextLock :: (MonadIO m, IsLockButton o) => o -> m ()
+clearLockButtonTextLock obj = liftIO $ B.Properties.setObjectPropertyString obj "text-lock" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data LockButtonTextLockPropertyInfo
+instance AttrInfo LockButtonTextLockPropertyInfo where
+    type AttrAllowedOps LockButtonTextLockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LockButtonTextLockPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint LockButtonTextLockPropertyInfo = IsLockButton
+    type AttrGetType LockButtonTextLockPropertyInfo = (Maybe T.Text)
+    type AttrLabel LockButtonTextLockPropertyInfo = "text-lock"
+    type AttrOrigin LockButtonTextLockPropertyInfo = LockButton
+    attrGet _ = getLockButtonTextLock
+    attrSet _ = setLockButtonTextLock
+    attrConstruct _ = constructLockButtonTextLock
+    attrClear _ = clearLockButtonTextLock
+#endif
+
+-- VVV Prop "text-unlock"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text-unlock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' lockButton #textUnlock
+@
+-}
+getLockButtonTextUnlock :: (MonadIO m, IsLockButton o) => o -> m (Maybe T.Text)
+getLockButtonTextUnlock obj = liftIO $ B.Properties.getObjectPropertyString obj "text-unlock"
+
+{- |
+Set the value of the “@text-unlock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' lockButton [ #textUnlock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLockButtonTextUnlock :: (MonadIO m, IsLockButton o) => o -> T.Text -> m ()
+setLockButtonTextUnlock obj val = liftIO $ B.Properties.setObjectPropertyString obj "text-unlock" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text-unlock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLockButtonTextUnlock :: (IsLockButton o) => T.Text -> IO (GValueConstruct o)
+constructLockButtonTextUnlock val = B.Properties.constructObjectPropertyString "text-unlock" (Just val)
+
+{- |
+Set the value of the “@text-unlock@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #textUnlock
+@
+-}
+clearLockButtonTextUnlock :: (MonadIO m, IsLockButton o) => o -> m ()
+clearLockButtonTextUnlock obj = liftIO $ B.Properties.setObjectPropertyString obj "text-unlock" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data LockButtonTextUnlockPropertyInfo
+instance AttrInfo LockButtonTextUnlockPropertyInfo where
+    type AttrAllowedOps LockButtonTextUnlockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LockButtonTextUnlockPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint LockButtonTextUnlockPropertyInfo = IsLockButton
+    type AttrGetType LockButtonTextUnlockPropertyInfo = (Maybe T.Text)
+    type AttrLabel LockButtonTextUnlockPropertyInfo = "text-unlock"
+    type AttrOrigin LockButtonTextUnlockPropertyInfo = LockButton
+    attrGet _ = getLockButtonTextUnlock
+    attrSet _ = setLockButtonTextUnlock
+    attrConstruct _ = constructLockButtonTextUnlock
+    attrClear _ = clearLockButtonTextUnlock
+#endif
+
+-- VVV Prop "tooltip-lock"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@tooltip-lock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' lockButton #tooltipLock
+@
+-}
+getLockButtonTooltipLock :: (MonadIO m, IsLockButton o) => o -> m (Maybe T.Text)
+getLockButtonTooltipLock obj = liftIO $ B.Properties.getObjectPropertyString obj "tooltip-lock"
+
+{- |
+Set the value of the “@tooltip-lock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' lockButton [ #tooltipLock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLockButtonTooltipLock :: (MonadIO m, IsLockButton o) => o -> T.Text -> m ()
+setLockButtonTooltipLock obj val = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-lock" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip-lock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLockButtonTooltipLock :: (IsLockButton o) => T.Text -> IO (GValueConstruct o)
+constructLockButtonTooltipLock val = B.Properties.constructObjectPropertyString "tooltip-lock" (Just val)
+
+{- |
+Set the value of the “@tooltip-lock@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tooltipLock
+@
+-}
+clearLockButtonTooltipLock :: (MonadIO m, IsLockButton o) => o -> m ()
+clearLockButtonTooltipLock obj = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-lock" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data LockButtonTooltipLockPropertyInfo
+instance AttrInfo LockButtonTooltipLockPropertyInfo where
+    type AttrAllowedOps LockButtonTooltipLockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LockButtonTooltipLockPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint LockButtonTooltipLockPropertyInfo = IsLockButton
+    type AttrGetType LockButtonTooltipLockPropertyInfo = (Maybe T.Text)
+    type AttrLabel LockButtonTooltipLockPropertyInfo = "tooltip-lock"
+    type AttrOrigin LockButtonTooltipLockPropertyInfo = LockButton
+    attrGet _ = getLockButtonTooltipLock
+    attrSet _ = setLockButtonTooltipLock
+    attrConstruct _ = constructLockButtonTooltipLock
+    attrClear _ = clearLockButtonTooltipLock
+#endif
+
+-- VVV Prop "tooltip-not-authorized"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@tooltip-not-authorized@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' lockButton #tooltipNotAuthorized
+@
+-}
+getLockButtonTooltipNotAuthorized :: (MonadIO m, IsLockButton o) => o -> m (Maybe T.Text)
+getLockButtonTooltipNotAuthorized obj = liftIO $ B.Properties.getObjectPropertyString obj "tooltip-not-authorized"
+
+{- |
+Set the value of the “@tooltip-not-authorized@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' lockButton [ #tooltipNotAuthorized 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLockButtonTooltipNotAuthorized :: (MonadIO m, IsLockButton o) => o -> T.Text -> m ()
+setLockButtonTooltipNotAuthorized obj val = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-not-authorized" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip-not-authorized@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLockButtonTooltipNotAuthorized :: (IsLockButton o) => T.Text -> IO (GValueConstruct o)
+constructLockButtonTooltipNotAuthorized val = B.Properties.constructObjectPropertyString "tooltip-not-authorized" (Just val)
+
+{- |
+Set the value of the “@tooltip-not-authorized@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tooltipNotAuthorized
+@
+-}
+clearLockButtonTooltipNotAuthorized :: (MonadIO m, IsLockButton o) => o -> m ()
+clearLockButtonTooltipNotAuthorized obj = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-not-authorized" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data LockButtonTooltipNotAuthorizedPropertyInfo
+instance AttrInfo LockButtonTooltipNotAuthorizedPropertyInfo where
+    type AttrAllowedOps LockButtonTooltipNotAuthorizedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LockButtonTooltipNotAuthorizedPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint LockButtonTooltipNotAuthorizedPropertyInfo = IsLockButton
+    type AttrGetType LockButtonTooltipNotAuthorizedPropertyInfo = (Maybe T.Text)
+    type AttrLabel LockButtonTooltipNotAuthorizedPropertyInfo = "tooltip-not-authorized"
+    type AttrOrigin LockButtonTooltipNotAuthorizedPropertyInfo = LockButton
+    attrGet _ = getLockButtonTooltipNotAuthorized
+    attrSet _ = setLockButtonTooltipNotAuthorized
+    attrConstruct _ = constructLockButtonTooltipNotAuthorized
+    attrClear _ = clearLockButtonTooltipNotAuthorized
+#endif
+
+-- VVV Prop "tooltip-unlock"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@tooltip-unlock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' lockButton #tooltipUnlock
+@
+-}
+getLockButtonTooltipUnlock :: (MonadIO m, IsLockButton o) => o -> m (Maybe T.Text)
+getLockButtonTooltipUnlock obj = liftIO $ B.Properties.getObjectPropertyString obj "tooltip-unlock"
+
+{- |
+Set the value of the “@tooltip-unlock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' lockButton [ #tooltipUnlock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setLockButtonTooltipUnlock :: (MonadIO m, IsLockButton o) => o -> T.Text -> m ()
+setLockButtonTooltipUnlock obj val = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-unlock" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip-unlock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructLockButtonTooltipUnlock :: (IsLockButton o) => T.Text -> IO (GValueConstruct o)
+constructLockButtonTooltipUnlock val = B.Properties.constructObjectPropertyString "tooltip-unlock" (Just val)
+
+{- |
+Set the value of the “@tooltip-unlock@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tooltipUnlock
+@
+-}
+clearLockButtonTooltipUnlock :: (MonadIO m, IsLockButton o) => o -> m ()
+clearLockButtonTooltipUnlock obj = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-unlock" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data LockButtonTooltipUnlockPropertyInfo
+instance AttrInfo LockButtonTooltipUnlockPropertyInfo where
+    type AttrAllowedOps LockButtonTooltipUnlockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint LockButtonTooltipUnlockPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint LockButtonTooltipUnlockPropertyInfo = IsLockButton
+    type AttrGetType LockButtonTooltipUnlockPropertyInfo = (Maybe T.Text)
+    type AttrLabel LockButtonTooltipUnlockPropertyInfo = "tooltip-unlock"
+    type AttrOrigin LockButtonTooltipUnlockPropertyInfo = LockButton
+    attrGet _ = getLockButtonTooltipUnlock
+    attrSet _ = setLockButtonTooltipUnlock
+    attrConstruct _ = constructLockButtonTooltipUnlock
+    attrClear _ = clearLockButtonTooltipUnlock
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList LockButton
+type instance O.AttributeList LockButton = LockButtonAttributeList
+type LockButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("permission", LockButtonPermissionPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("textLock", LockButtonTextLockPropertyInfo), '("textUnlock", LockButtonTextUnlockPropertyInfo), '("tooltipLock", LockButtonTooltipLockPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipNotAuthorized", LockButtonTooltipNotAuthorizedPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("tooltipUnlock", LockButtonTooltipUnlockPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+lockButtonPermission :: AttrLabelProxy "permission"
+lockButtonPermission = AttrLabelProxy
+
+lockButtonTextLock :: AttrLabelProxy "textLock"
+lockButtonTextLock = AttrLabelProxy
+
+lockButtonTextUnlock :: AttrLabelProxy "textUnlock"
+lockButtonTextUnlock = AttrLabelProxy
+
+lockButtonTooltipLock :: AttrLabelProxy "tooltipLock"
+lockButtonTooltipLock = AttrLabelProxy
+
+lockButtonTooltipNotAuthorized :: AttrLabelProxy "tooltipNotAuthorized"
+lockButtonTooltipNotAuthorized = AttrLabelProxy
+
+lockButtonTooltipUnlock :: AttrLabelProxy "tooltipUnlock"
+lockButtonTooltipUnlock = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList LockButton = LockButtonSignalList
+type LockButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method LockButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "permission", argType = TInterface (Name {namespace = "Gio", name = "Permission"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GPermission", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "LockButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_lock_button_new" gtk_lock_button_new :: 
+    Ptr Gio.Permission.Permission ->        -- permission : TInterface (Name {namespace = "Gio", name = "Permission"})
+    IO (Ptr LockButton)
+
+{- |
+Creates a new lock button which reflects the /@permission@/.
+
+/Since: 3.2/
+-}
+lockButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gio.Permission.IsPermission a) =>
+    Maybe (a)
+    {- ^ /@permission@/: a 'GI.Gio.Objects.Permission.Permission' -}
+    -> m LockButton
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.LockButton.LockButton' -}
+lockButtonNew permission = liftIO $ do
+    maybePermission <- case permission of
+        Nothing -> return nullPtr
+        Just jPermission -> do
+            jPermission' <- unsafeManagedPtrCastPtr jPermission
+            return jPermission'
+    result <- gtk_lock_button_new maybePermission
+    checkUnexpectedReturnNULL "lockButtonNew" result
+    result' <- (newObject LockButton) result
+    whenJust permission touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method LockButton::get_permission
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "LockButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLockButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Permission"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_lock_button_get_permission" gtk_lock_button_get_permission :: 
+    Ptr LockButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "LockButton"})
+    IO (Ptr Gio.Permission.Permission)
+
+{- |
+Obtains the 'GI.Gio.Objects.Permission.Permission' object that controls /@button@/.
+
+/Since: 3.2/
+-}
+lockButtonGetPermission ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLockButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.LockButton.LockButton' -}
+    -> m Gio.Permission.Permission
+    {- ^ __Returns:__ the 'GI.Gio.Objects.Permission.Permission' of /@button@/ -}
+lockButtonGetPermission button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_lock_button_get_permission button'
+    checkUnexpectedReturnNULL "lockButtonGetPermission" result
+    result' <- (newObject Gio.Permission.Permission) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data LockButtonGetPermissionMethodInfo
+instance (signature ~ (m Gio.Permission.Permission), MonadIO m, IsLockButton a) => O.MethodInfo LockButtonGetPermissionMethodInfo a signature where
+    overloadedMethod _ = lockButtonGetPermission
+
+#endif
+
+-- method LockButton::set_permission
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "LockButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkLockButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "permission", argType = TInterface (Name {namespace = "Gio", name = "Permission"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GPermission object, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_lock_button_set_permission" gtk_lock_button_set_permission :: 
+    Ptr LockButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "LockButton"})
+    Ptr Gio.Permission.Permission ->        -- permission : TInterface (Name {namespace = "Gio", name = "Permission"})
+    IO ()
+
+{- |
+Sets the 'GI.Gio.Objects.Permission.Permission' object that controls /@button@/.
+
+/Since: 3.2/
+-}
+lockButtonSetPermission ::
+    (B.CallStack.HasCallStack, MonadIO m, IsLockButton a, Gio.Permission.IsPermission b) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.LockButton.LockButton' -}
+    -> Maybe (b)
+    {- ^ /@permission@/: a 'GI.Gio.Objects.Permission.Permission' object, or 'Nothing' -}
+    -> m ()
+lockButtonSetPermission button permission = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    maybePermission <- case permission of
+        Nothing -> return nullPtr
+        Just jPermission -> do
+            jPermission' <- unsafeManagedPtrCastPtr jPermission
+            return jPermission'
+    gtk_lock_button_set_permission button' maybePermission
+    touchManagedPtr button
+    whenJust permission touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data LockButtonSetPermissionMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsLockButton a, Gio.Permission.IsPermission b) => O.MethodInfo LockButtonSetPermissionMethodInfo a signature where
+    overloadedMethod _ = lockButtonSetPermission
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/LockButton.hs-boot b/GI/Gtk/Objects/LockButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LockButton.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.LockButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype LockButton = LockButton (ManagedPtr LockButton)
+instance GObject LockButton where
+class (GObject o, O.IsDescendantOf LockButton o) => IsLockButton o
+instance (GObject o, O.IsDescendantOf LockButton o) => IsLockButton o
+instance O.HasParentTypes LockButton
+#if ENABLE_OVERLOADING
+data LockButtonPermissionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LockButtonTextLockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LockButtonTextUnlockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LockButtonTooltipLockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LockButtonTooltipNotAuthorizedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LockButtonTooltipUnlockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data LockButtonGetPermissionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data LockButtonSetPermissionMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/LockButtonAccessible.hs b/GI/Gtk/Objects/LockButtonAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LockButtonAccessible.hs
@@ -0,0 +1,177 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.LockButtonAccessible
+    ( 
+
+-- * Exported types
+    LockButtonAccessible(..)                ,
+    IsLockButtonAccessible                  ,
+    toLockButtonAccessible                  ,
+    noLockButtonAccessible                  ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ButtonAccessible as Gtk.ButtonAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype LockButtonAccessible = LockButtonAccessible (ManagedPtr LockButtonAccessible)
+foreign import ccall "gtk_lock_button_accessible_get_type"
+    c_gtk_lock_button_accessible_get_type :: IO GType
+
+instance GObject LockButtonAccessible where
+    gobjectType = c_gtk_lock_button_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `LockButtonAccessible`, for instance with `toLockButtonAccessible`.
+class (GObject o, O.IsDescendantOf LockButtonAccessible o) => IsLockButtonAccessible o
+instance (GObject o, O.IsDescendantOf LockButtonAccessible o) => IsLockButtonAccessible o
+
+instance O.HasParentTypes LockButtonAccessible
+type instance O.ParentTypes LockButtonAccessible = '[Gtk.ButtonAccessible.ButtonAccessible, Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Image.Image]
+
+-- | Cast to `LockButtonAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toLockButtonAccessible :: (MonadIO m, IsLockButtonAccessible o) => o -> m LockButtonAccessible
+toLockButtonAccessible = liftIO . unsafeCastTo LockButtonAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `LockButtonAccessible`.
+noLockButtonAccessible :: Maybe LockButtonAccessible
+noLockButtonAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveLockButtonAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLockButtonAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveLockButtonAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveLockButtonAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveLockButtonAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveLockButtonAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveLockButtonAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveLockButtonAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveLockButtonAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveLockButtonAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveLockButtonAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveLockButtonAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveLockButtonAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveLockButtonAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveLockButtonAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveLockButtonAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveLockButtonAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveLockButtonAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveLockButtonAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveLockButtonAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveLockButtonAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveLockButtonAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveLockButtonAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveLockButtonAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveLockButtonAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveLockButtonAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveLockButtonAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveLockButtonAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveLockButtonAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveLockButtonAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveLockButtonAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveLockButtonAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveLockButtonAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveLockButtonAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveLockButtonAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveLockButtonAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveLockButtonAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveLockButtonAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveLockButtonAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveLockButtonAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveLockButtonAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveLockButtonAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveLockButtonAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveLockButtonAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveLockButtonAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveLockButtonAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveLockButtonAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveLockButtonAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveLockButtonAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveLockButtonAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveLockButtonAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveLockButtonAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveLockButtonAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveLockButtonAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveLockButtonAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveLockButtonAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveLockButtonAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveLockButtonAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveLockButtonAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveLockButtonAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveLockButtonAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveLockButtonAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveLockButtonAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveLockButtonAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveLockButtonAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveLockButtonAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveLockButtonAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveLockButtonAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveLockButtonAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveLockButtonAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveLockButtonAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLockButtonAccessibleMethod t LockButtonAccessible, O.MethodInfo info LockButtonAccessible p) => OL.IsLabel t (LockButtonAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList LockButtonAccessible
+type instance O.AttributeList LockButtonAccessible = LockButtonAccessibleAttributeList
+type LockButtonAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList LockButtonAccessible = LockButtonAccessibleSignalList
+type LockButtonAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/LockButtonAccessible.hs-boot b/GI/Gtk/Objects/LockButtonAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/LockButtonAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.LockButtonAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype LockButtonAccessible = LockButtonAccessible (ManagedPtr LockButtonAccessible)
+instance GObject LockButtonAccessible where
+class (GObject o, O.IsDescendantOf LockButtonAccessible o) => IsLockButtonAccessible o
+instance (GObject o, O.IsDescendantOf LockButtonAccessible o) => IsLockButtonAccessible o
+instance O.HasParentTypes LockButtonAccessible
diff --git a/GI/Gtk/Objects/Menu.hs b/GI/Gtk/Objects/Menu.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Menu.hs
@@ -0,0 +1,3394 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.Menu.Menu' is a 'GI.Gtk.Objects.MenuShell.MenuShell' that implements a drop down menu
+consisting of a list of 'GI.Gtk.Objects.MenuItem.MenuItem' objects which can be navigated
+and activated by the user to perform application functions.
+
+A 'GI.Gtk.Objects.Menu.Menu' is most commonly dropped down by activating a
+'GI.Gtk.Objects.MenuItem.MenuItem' in a 'GI.Gtk.Objects.MenuBar.MenuBar' or popped up by activating a
+'GI.Gtk.Objects.MenuItem.MenuItem' in another 'GI.Gtk.Objects.Menu.Menu'.
+
+A 'GI.Gtk.Objects.Menu.Menu' can also be popped up by activating a 'GI.Gtk.Objects.ComboBox.ComboBox'.
+Other composite widgets such as the 'GI.Gtk.Objects.Notebook.Notebook' can pop up a
+'GI.Gtk.Objects.Menu.Menu' as well.
+
+Applications can display a 'GI.Gtk.Objects.Menu.Menu' as a popup menu by calling the
+'GI.Gtk.Objects.Menu.menuPopup' function.  The example below shows how an application
+can pop up a menu when the 3rd mouse button is pressed.
+
+== Connecting the popup signal handler.
+
+
+=== /C code/
+>
+>  // connect our handler which will popup the menu
+>  g_signal_connect_swapped (window, "button_press_event",
+>G_CALLBACK (my_popup_handler), menu);
+
+
+== Signal handler which displays a popup menu.
+
+
+=== /C code/
+>
+>static gint
+>my_popup_handler (GtkWidget *widget, GdkEvent *event)
+>{
+>  GtkMenu *menu;
+>  GdkEventButton *event_button;
+>
+>  g_return_val_if_fail (widget != NULL, FALSE);
+>  g_return_val_if_fail (GTK_IS_MENU (widget), FALSE);
+>  g_return_val_if_fail (event != NULL, FALSE);
+>
+>  // The "widget" is the menu that was supplied when
+>  // g_signal_connect_swapped() was called.
+>  menu = GTK_MENU (widget);
+>
+>  if (event->type == GDK_BUTTON_PRESS)
+>    {
+>      event_button = (GdkEventButton *) event;
+>      if (event_button->button == GDK_BUTTON_SECONDARY)
+>        {
+>          gtk_menu_popup (menu, NULL, NULL, NULL, NULL,
+>                          event_button->button, event_button->time);
+>          return TRUE;
+>        }
+>    }
+>
+>  return FALSE;
+>}
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>menu
+>├── arrow.top
+>├── <child>
+>┊
+>├── <child>
+>╰── arrow.bottom
+
+
+The main CSS node of GtkMenu has name menu, and there are two subnodes
+with name arrow, for scrolling menu arrows. These subnodes get the
+.top and .bottom style classes.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Menu
+    ( 
+
+-- * Exported types
+    Menu(..)                                ,
+    IsMenu                                  ,
+    toMenu                                  ,
+    noMenu                                  ,
+
+
+ -- * Methods
+-- ** attach #method:attach#
+
+#if ENABLE_OVERLOADING
+    MenuAttachMethodInfo                    ,
+#endif
+    menuAttach                              ,
+
+
+-- ** attachToWidget #method:attachToWidget#
+
+#if ENABLE_OVERLOADING
+    MenuAttachToWidgetMethodInfo            ,
+#endif
+    menuAttachToWidget                      ,
+
+
+-- ** detach #method:detach#
+
+#if ENABLE_OVERLOADING
+    MenuDetachMethodInfo                    ,
+#endif
+    menuDetach                              ,
+
+
+-- ** getAccelGroup #method:getAccelGroup#
+
+#if ENABLE_OVERLOADING
+    MenuGetAccelGroupMethodInfo             ,
+#endif
+    menuGetAccelGroup                       ,
+
+
+-- ** getAccelPath #method:getAccelPath#
+
+#if ENABLE_OVERLOADING
+    MenuGetAccelPathMethodInfo              ,
+#endif
+    menuGetAccelPath                        ,
+
+
+-- ** getActive #method:getActive#
+
+#if ENABLE_OVERLOADING
+    MenuGetActiveMethodInfo                 ,
+#endif
+    menuGetActive                           ,
+
+
+-- ** getAttachWidget #method:getAttachWidget#
+
+#if ENABLE_OVERLOADING
+    MenuGetAttachWidgetMethodInfo           ,
+#endif
+    menuGetAttachWidget                     ,
+
+
+-- ** getForAttachWidget #method:getForAttachWidget#
+
+    menuGetForAttachWidget                  ,
+
+
+-- ** getMonitor #method:getMonitor#
+
+#if ENABLE_OVERLOADING
+    MenuGetMonitorMethodInfo                ,
+#endif
+    menuGetMonitor                          ,
+
+
+-- ** getReserveToggleSize #method:getReserveToggleSize#
+
+#if ENABLE_OVERLOADING
+    MenuGetReserveToggleSizeMethodInfo      ,
+#endif
+    menuGetReserveToggleSize                ,
+
+
+-- ** getTearoffState #method:getTearoffState#
+
+#if ENABLE_OVERLOADING
+    MenuGetTearoffStateMethodInfo           ,
+#endif
+    menuGetTearoffState                     ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    MenuGetTitleMethodInfo                  ,
+#endif
+    menuGetTitle                            ,
+
+
+-- ** new #method:new#
+
+    menuNew                                 ,
+
+
+-- ** newFromModel #method:newFromModel#
+
+    menuNewFromModel                        ,
+
+
+-- ** placeOnMonitor #method:placeOnMonitor#
+
+#if ENABLE_OVERLOADING
+    MenuPlaceOnMonitorMethodInfo            ,
+#endif
+    menuPlaceOnMonitor                      ,
+
+
+-- ** popdown #method:popdown#
+
+#if ENABLE_OVERLOADING
+    MenuPopdownMethodInfo                   ,
+#endif
+    menuPopdown                             ,
+
+
+-- ** popup #method:popup#
+
+#if ENABLE_OVERLOADING
+    MenuPopupMethodInfo                     ,
+#endif
+    menuPopup                               ,
+
+
+-- ** popupAtPointer #method:popupAtPointer#
+
+#if ENABLE_OVERLOADING
+    MenuPopupAtPointerMethodInfo            ,
+#endif
+    menuPopupAtPointer                      ,
+
+
+-- ** popupAtRect #method:popupAtRect#
+
+#if ENABLE_OVERLOADING
+    MenuPopupAtRectMethodInfo               ,
+#endif
+    menuPopupAtRect                         ,
+
+
+-- ** popupAtWidget #method:popupAtWidget#
+
+#if ENABLE_OVERLOADING
+    MenuPopupAtWidgetMethodInfo             ,
+#endif
+    menuPopupAtWidget                       ,
+
+
+-- ** popupForDevice #method:popupForDevice#
+
+#if ENABLE_OVERLOADING
+    MenuPopupForDeviceMethodInfo            ,
+#endif
+    menuPopupForDevice                      ,
+
+
+-- ** reorderChild #method:reorderChild#
+
+#if ENABLE_OVERLOADING
+    MenuReorderChildMethodInfo              ,
+#endif
+    menuReorderChild                        ,
+
+
+-- ** reposition #method:reposition#
+
+#if ENABLE_OVERLOADING
+    MenuRepositionMethodInfo                ,
+#endif
+    menuReposition                          ,
+
+
+-- ** setAccelGroup #method:setAccelGroup#
+
+#if ENABLE_OVERLOADING
+    MenuSetAccelGroupMethodInfo             ,
+#endif
+    menuSetAccelGroup                       ,
+
+
+-- ** setAccelPath #method:setAccelPath#
+
+#if ENABLE_OVERLOADING
+    MenuSetAccelPathMethodInfo              ,
+#endif
+    menuSetAccelPath                        ,
+
+
+-- ** setActive #method:setActive#
+
+#if ENABLE_OVERLOADING
+    MenuSetActiveMethodInfo                 ,
+#endif
+    menuSetActive                           ,
+
+
+-- ** setMonitor #method:setMonitor#
+
+#if ENABLE_OVERLOADING
+    MenuSetMonitorMethodInfo                ,
+#endif
+    menuSetMonitor                          ,
+
+
+-- ** setReserveToggleSize #method:setReserveToggleSize#
+
+#if ENABLE_OVERLOADING
+    MenuSetReserveToggleSizeMethodInfo      ,
+#endif
+    menuSetReserveToggleSize                ,
+
+
+-- ** setScreen #method:setScreen#
+
+#if ENABLE_OVERLOADING
+    MenuSetScreenMethodInfo                 ,
+#endif
+    menuSetScreen                           ,
+
+
+-- ** setTearoffState #method:setTearoffState#
+
+#if ENABLE_OVERLOADING
+    MenuSetTearoffStateMethodInfo           ,
+#endif
+    menuSetTearoffState                     ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    MenuSetTitleMethodInfo                  ,
+#endif
+    menuSetTitle                            ,
+
+
+
+
+ -- * Properties
+-- ** accelGroup #attr:accelGroup#
+{- | The accel group holding accelerators for the menu.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    MenuAccelGroupPropertyInfo              ,
+#endif
+    clearMenuAccelGroup                     ,
+    constructMenuAccelGroup                 ,
+    getMenuAccelGroup                       ,
+#if ENABLE_OVERLOADING
+    menuAccelGroup                          ,
+#endif
+    setMenuAccelGroup                       ,
+
+
+-- ** accelPath #attr:accelPath#
+{- | An accel path used to conveniently construct accel paths of child items.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    MenuAccelPathPropertyInfo               ,
+#endif
+    clearMenuAccelPath                      ,
+    constructMenuAccelPath                  ,
+    getMenuAccelPath                        ,
+#if ENABLE_OVERLOADING
+    menuAccelPath                           ,
+#endif
+    setMenuAccelPath                        ,
+
+
+-- ** active #attr:active#
+{- | The index of the currently selected menu item, or -1 if no
+menu item is selected.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    MenuActivePropertyInfo                  ,
+#endif
+    constructMenuActive                     ,
+    getMenuActive                           ,
+#if ENABLE_OVERLOADING
+    menuActive                              ,
+#endif
+    setMenuActive                           ,
+
+
+-- ** anchorHints #attr:anchorHints#
+{- | Positioning hints for aligning the menu relative to a rectangle.
+
+These hints determine how the menu should be positioned in the case that
+the menu would fall off-screen if placed in its ideal position.
+
+<<https://developer.gnome.org/gtk3/stable/popup-flip.png>>
+
+For example, 'GI.Gdk.Flags.AnchorHintsFlipY' will replace 'GI.Gdk.Enums.GravityNorthWest' with
+'GI.Gdk.Enums.GravitySouthWest' and vice versa if the menu extends beyond the
+bottom edge of the monitor.
+
+See gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (),
+gtk_menu_popup_at_pointer (), 'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dx/@,
+'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dy/@, 'GI.Gtk.Objects.Menu.Menu':@/menu-type-hint/@, and 'GI.Gtk.Objects.Menu.Menu'::@/popped-up/@.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    MenuAnchorHintsPropertyInfo             ,
+#endif
+    constructMenuAnchorHints                ,
+    getMenuAnchorHints                      ,
+#if ENABLE_OVERLOADING
+    menuAnchorHints                         ,
+#endif
+    setMenuAnchorHints                      ,
+
+
+-- ** attachWidget #attr:attachWidget#
+{- | The widget the menu is attached to. Setting this property attaches
+the menu without a 'GI.Gtk.Callbacks.MenuDetachFunc'. If you need to use a detacher,
+use 'GI.Gtk.Objects.Menu.menuAttachToWidget' directly.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    MenuAttachWidgetPropertyInfo            ,
+#endif
+    clearMenuAttachWidget                   ,
+    constructMenuAttachWidget               ,
+    getMenuAttachWidget                     ,
+#if ENABLE_OVERLOADING
+    menuAttachWidget                        ,
+#endif
+    setMenuAttachWidget                     ,
+
+
+-- ** menuTypeHint #attr:menuTypeHint#
+{- | The 'GI.Gdk.Enums.WindowTypeHint' to use for the menu\'s 'GI.Gdk.Objects.Window.Window'.
+
+See gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (),
+gtk_menu_popup_at_pointer (), 'GI.Gtk.Objects.Menu.Menu':@/anchor-hints/@,
+'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dx/@, 'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dy/@, and 'GI.Gtk.Objects.Menu.Menu'::@/popped-up/@.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    MenuMenuTypeHintPropertyInfo            ,
+#endif
+    constructMenuMenuTypeHint               ,
+    getMenuMenuTypeHint                     ,
+#if ENABLE_OVERLOADING
+    menuMenuTypeHint                        ,
+#endif
+    setMenuMenuTypeHint                     ,
+
+
+-- ** monitor #attr:monitor#
+{- | The monitor the menu will be popped up on.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    MenuMonitorPropertyInfo                 ,
+#endif
+    constructMenuMonitor                    ,
+    getMenuMonitor                          ,
+#if ENABLE_OVERLOADING
+    menuMonitor                             ,
+#endif
+    setMenuMonitor                          ,
+
+
+-- ** rectAnchorDx #attr:rectAnchorDx#
+{- | Horizontal offset to apply to the menu, i.e. the rectangle or widget
+anchor.
+
+See gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (),
+gtk_menu_popup_at_pointer (), 'GI.Gtk.Objects.Menu.Menu':@/anchor-hints/@,
+'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dy/@, 'GI.Gtk.Objects.Menu.Menu':@/menu-type-hint/@, and 'GI.Gtk.Objects.Menu.Menu'::@/popped-up/@.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    MenuRectAnchorDxPropertyInfo            ,
+#endif
+    constructMenuRectAnchorDx               ,
+    getMenuRectAnchorDx                     ,
+#if ENABLE_OVERLOADING
+    menuRectAnchorDx                        ,
+#endif
+    setMenuRectAnchorDx                     ,
+
+
+-- ** rectAnchorDy #attr:rectAnchorDy#
+{- | Vertical offset to apply to the menu, i.e. the rectangle or widget anchor.
+
+See gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (),
+gtk_menu_popup_at_pointer (), 'GI.Gtk.Objects.Menu.Menu':@/anchor-hints/@,
+'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dx/@, 'GI.Gtk.Objects.Menu.Menu':@/menu-type-hint/@, and 'GI.Gtk.Objects.Menu.Menu'::@/popped-up/@.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    MenuRectAnchorDyPropertyInfo            ,
+#endif
+    constructMenuRectAnchorDy               ,
+    getMenuRectAnchorDy                     ,
+#if ENABLE_OVERLOADING
+    menuRectAnchorDy                        ,
+#endif
+    setMenuRectAnchorDy                     ,
+
+
+-- ** reserveToggleSize #attr:reserveToggleSize#
+{- | A boolean that indicates whether the menu reserves space for
+toggles and icons, regardless of their actual presence.
+
+This property should only be changed from its default value
+for special-purposes such as tabular menus. Regular menus that
+are connected to a menu bar or context menus should reserve
+toggle space for consistency.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    MenuReserveToggleSizePropertyInfo       ,
+#endif
+    constructMenuReserveToggleSize          ,
+    getMenuReserveToggleSize                ,
+#if ENABLE_OVERLOADING
+    menuReserveToggleSize                   ,
+#endif
+    setMenuReserveToggleSize                ,
+
+
+-- ** tearoffState #attr:tearoffState#
+{- | A boolean that indicates whether the menu is torn-off.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    MenuTearoffStatePropertyInfo            ,
+#endif
+    constructMenuTearoffState               ,
+    getMenuTearoffState                     ,
+#if ENABLE_OVERLOADING
+    menuTearoffState                        ,
+#endif
+    setMenuTearoffState                     ,
+
+
+-- ** tearoffTitle #attr:tearoffTitle#
+{- | A title that may be displayed by the window manager when this
+menu is torn-off.
+-}
+#if ENABLE_OVERLOADING
+    MenuTearoffTitlePropertyInfo            ,
+#endif
+    clearMenuTearoffTitle                   ,
+    constructMenuTearoffTitle               ,
+    getMenuTearoffTitle                     ,
+#if ENABLE_OVERLOADING
+    menuTearoffTitle                        ,
+#endif
+    setMenuTearoffTitle                     ,
+
+
+
+
+ -- * Signals
+-- ** moveScroll #signal:moveScroll#
+
+    C_MenuMoveScrollCallback                ,
+    MenuMoveScrollCallback                  ,
+#if ENABLE_OVERLOADING
+    MenuMoveScrollSignalInfo                ,
+#endif
+    afterMenuMoveScroll                     ,
+    genClosure_MenuMoveScroll               ,
+    mk_MenuMoveScrollCallback               ,
+    noMenuMoveScrollCallback                ,
+    onMenuMoveScroll                        ,
+    wrap_MenuMoveScrollCallback             ,
+
+
+-- ** poppedUp #signal:poppedUp#
+
+    C_MenuPoppedUpCallback                  ,
+    MenuPoppedUpCallback                    ,
+#if ENABLE_OVERLOADING
+    MenuPoppedUpSignalInfo                  ,
+#endif
+    afterMenuPoppedUp                       ,
+    genClosure_MenuPoppedUp                 ,
+    mk_MenuPoppedUpCallback                 ,
+    noMenuPoppedUpCallback                  ,
+    onMenuPoppedUp                          ,
+    wrap_MenuPoppedUpCallback               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Enums as Gdk.Enums
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gdk.Objects.Device as Gdk.Device
+import qualified GI.Gdk.Objects.Monitor as Gdk.Monitor
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuShell as Gtk.MenuShell
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Menu = Menu (ManagedPtr Menu)
+foreign import ccall "gtk_menu_get_type"
+    c_gtk_menu_get_type :: IO GType
+
+instance GObject Menu where
+    gobjectType = c_gtk_menu_get_type
+    
+
+-- | Type class for types which can be safely cast to `Menu`, for instance with `toMenu`.
+class (GObject o, O.IsDescendantOf Menu o) => IsMenu o
+instance (GObject o, O.IsDescendantOf Menu o) => IsMenu o
+
+instance O.HasParentTypes Menu
+type instance O.ParentTypes Menu = '[Gtk.MenuShell.MenuShell, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Menu`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenu :: (MonadIO m, IsMenu o) => o -> m Menu
+toMenu = liftIO . unsafeCastTo Menu
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Menu`.
+noMenu :: Maybe Menu
+noMenu = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveMenuMethod "activateItem" o = Gtk.MenuShell.MenuShellActivateItemMethodInfo
+    ResolveMenuMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveMenuMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveMenuMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveMenuMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveMenuMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveMenuMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveMenuMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveMenuMethod "append" o = Gtk.MenuShell.MenuShellAppendMethodInfo
+    ResolveMenuMethod "attach" o = MenuAttachMethodInfo
+    ResolveMenuMethod "attachToWidget" o = MenuAttachToWidgetMethodInfo
+    ResolveMenuMethod "bindModel" o = Gtk.MenuShell.MenuShellBindModelMethodInfo
+    ResolveMenuMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveMenuMethod "cancel" o = Gtk.MenuShell.MenuShellCancelMethodInfo
+    ResolveMenuMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveMenuMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveMenuMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveMenuMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveMenuMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveMenuMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveMenuMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveMenuMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveMenuMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveMenuMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveMenuMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveMenuMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveMenuMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveMenuMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveMenuMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveMenuMethod "deactivate" o = Gtk.MenuShell.MenuShellDeactivateMethodInfo
+    ResolveMenuMethod "deselect" o = Gtk.MenuShell.MenuShellDeselectMethodInfo
+    ResolveMenuMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveMenuMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveMenuMethod "detach" o = MenuDetachMethodInfo
+    ResolveMenuMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveMenuMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveMenuMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveMenuMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveMenuMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveMenuMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveMenuMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveMenuMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveMenuMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveMenuMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveMenuMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveMenuMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveMenuMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveMenuMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveMenuMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveMenuMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveMenuMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveMenuMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveMenuMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveMenuMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveMenuMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveMenuMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveMenuMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveMenuMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveMenuMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveMenuMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveMenuMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveMenuMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveMenuMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveMenuMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveMenuMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveMenuMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveMenuMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveMenuMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveMenuMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveMenuMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveMenuMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveMenuMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveMenuMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveMenuMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveMenuMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveMenuMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveMenuMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveMenuMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveMenuMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveMenuMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveMenuMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveMenuMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveMenuMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveMenuMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveMenuMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveMenuMethod "insert" o = Gtk.MenuShell.MenuShellInsertMethodInfo
+    ResolveMenuMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveMenuMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveMenuMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveMenuMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveMenuMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveMenuMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveMenuMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveMenuMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveMenuMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveMenuMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveMenuMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveMenuMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveMenuMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveMenuMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveMenuMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveMenuMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveMenuMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveMenuMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveMenuMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveMenuMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveMenuMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveMenuMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveMenuMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveMenuMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveMenuMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveMenuMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveMenuMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveMenuMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveMenuMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveMenuMethod "placeOnMonitor" o = MenuPlaceOnMonitorMethodInfo
+    ResolveMenuMethod "popdown" o = MenuPopdownMethodInfo
+    ResolveMenuMethod "popup" o = MenuPopupMethodInfo
+    ResolveMenuMethod "popupAtPointer" o = MenuPopupAtPointerMethodInfo
+    ResolveMenuMethod "popupAtRect" o = MenuPopupAtRectMethodInfo
+    ResolveMenuMethod "popupAtWidget" o = MenuPopupAtWidgetMethodInfo
+    ResolveMenuMethod "popupForDevice" o = MenuPopupForDeviceMethodInfo
+    ResolveMenuMethod "prepend" o = Gtk.MenuShell.MenuShellPrependMethodInfo
+    ResolveMenuMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveMenuMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveMenuMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveMenuMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveMenuMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveMenuMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveMenuMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveMenuMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveMenuMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveMenuMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveMenuMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveMenuMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveMenuMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveMenuMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveMenuMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveMenuMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveMenuMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveMenuMethod "reorderChild" o = MenuReorderChildMethodInfo
+    ResolveMenuMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveMenuMethod "reposition" o = MenuRepositionMethodInfo
+    ResolveMenuMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveMenuMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveMenuMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveMenuMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuMethod "selectFirst" o = Gtk.MenuShell.MenuShellSelectFirstMethodInfo
+    ResolveMenuMethod "selectItem" o = Gtk.MenuShell.MenuShellSelectItemMethodInfo
+    ResolveMenuMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveMenuMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveMenuMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveMenuMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveMenuMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveMenuMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveMenuMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveMenuMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveMenuMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveMenuMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveMenuMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveMenuMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveMenuMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveMenuMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveMenuMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveMenuMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveMenuMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveMenuMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveMenuMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveMenuMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveMenuMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuMethod "getAccelGroup" o = MenuGetAccelGroupMethodInfo
+    ResolveMenuMethod "getAccelPath" o = MenuGetAccelPathMethodInfo
+    ResolveMenuMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveMenuMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveMenuMethod "getActive" o = MenuGetActiveMethodInfo
+    ResolveMenuMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveMenuMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveMenuMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveMenuMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveMenuMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveMenuMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveMenuMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveMenuMethod "getAttachWidget" o = MenuGetAttachWidgetMethodInfo
+    ResolveMenuMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveMenuMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveMenuMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveMenuMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveMenuMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveMenuMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveMenuMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveMenuMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveMenuMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveMenuMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveMenuMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveMenuMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveMenuMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveMenuMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveMenuMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveMenuMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveMenuMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveMenuMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveMenuMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveMenuMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveMenuMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveMenuMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveMenuMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveMenuMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveMenuMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveMenuMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveMenuMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveMenuMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveMenuMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveMenuMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveMenuMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveMenuMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveMenuMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveMenuMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveMenuMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveMenuMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveMenuMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveMenuMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveMenuMethod "getMonitor" o = MenuGetMonitorMethodInfo
+    ResolveMenuMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveMenuMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveMenuMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveMenuMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveMenuMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveMenuMethod "getParentShell" o = Gtk.MenuShell.MenuShellGetParentShellMethodInfo
+    ResolveMenuMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveMenuMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveMenuMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveMenuMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveMenuMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveMenuMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveMenuMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveMenuMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveMenuMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveMenuMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveMenuMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveMenuMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveMenuMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveMenuMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveMenuMethod "getReserveToggleSize" o = MenuGetReserveToggleSizeMethodInfo
+    ResolveMenuMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveMenuMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveMenuMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveMenuMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveMenuMethod "getSelectedItem" o = Gtk.MenuShell.MenuShellGetSelectedItemMethodInfo
+    ResolveMenuMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveMenuMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveMenuMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveMenuMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveMenuMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveMenuMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveMenuMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveMenuMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveMenuMethod "getTakeFocus" o = Gtk.MenuShell.MenuShellGetTakeFocusMethodInfo
+    ResolveMenuMethod "getTearoffState" o = MenuGetTearoffStateMethodInfo
+    ResolveMenuMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveMenuMethod "getTitle" o = MenuGetTitleMethodInfo
+    ResolveMenuMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveMenuMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveMenuMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveMenuMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveMenuMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveMenuMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveMenuMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveMenuMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveMenuMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveMenuMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveMenuMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveMenuMethod "setAccelGroup" o = MenuSetAccelGroupMethodInfo
+    ResolveMenuMethod "setAccelPath" o = MenuSetAccelPathMethodInfo
+    ResolveMenuMethod "setActive" o = MenuSetActiveMethodInfo
+    ResolveMenuMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveMenuMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveMenuMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveMenuMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveMenuMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveMenuMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveMenuMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveMenuMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveMenuMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveMenuMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveMenuMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveMenuMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveMenuMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveMenuMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveMenuMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveMenuMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveMenuMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveMenuMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveMenuMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveMenuMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveMenuMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveMenuMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveMenuMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveMenuMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveMenuMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveMenuMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveMenuMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveMenuMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveMenuMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveMenuMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveMenuMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveMenuMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveMenuMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveMenuMethod "setMonitor" o = MenuSetMonitorMethodInfo
+    ResolveMenuMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveMenuMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveMenuMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveMenuMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveMenuMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveMenuMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveMenuMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveMenuMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveMenuMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveMenuMethod "setReserveToggleSize" o = MenuSetReserveToggleSizeMethodInfo
+    ResolveMenuMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveMenuMethod "setScreen" o = MenuSetScreenMethodInfo
+    ResolveMenuMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveMenuMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveMenuMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveMenuMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveMenuMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveMenuMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveMenuMethod "setTakeFocus" o = Gtk.MenuShell.MenuShellSetTakeFocusMethodInfo
+    ResolveMenuMethod "setTearoffState" o = MenuSetTearoffStateMethodInfo
+    ResolveMenuMethod "setTitle" o = MenuSetTitleMethodInfo
+    ResolveMenuMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveMenuMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveMenuMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveMenuMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveMenuMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveMenuMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveMenuMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveMenuMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveMenuMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveMenuMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuMethod t Menu, O.MethodInfo info Menu p) => OL.IsLabel t (Menu -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Menu::move-scroll
+{- |
+/No description available in the introspection data./
+-}
+type MenuMoveScrollCallback =
+    Gtk.Enums.ScrollType
+    {- ^ /@scrollType@/: a 'GI.Gtk.Enums.ScrollType' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuMoveScrollCallback`@.
+noMenuMoveScrollCallback :: Maybe MenuMoveScrollCallback
+noMenuMoveScrollCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuMoveScrollCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuMoveScrollCallback`.
+foreign import ccall "wrapper"
+    mk_MenuMoveScrollCallback :: C_MenuMoveScrollCallback -> IO (FunPtr C_MenuMoveScrollCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuMoveScroll :: MonadIO m => MenuMoveScrollCallback -> m (GClosure C_MenuMoveScrollCallback)
+genClosure_MenuMoveScroll cb = liftIO $ do
+    let cb' = wrap_MenuMoveScrollCallback cb
+    mk_MenuMoveScrollCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuMoveScrollCallback` into a `C_MenuMoveScrollCallback`.
+wrap_MenuMoveScrollCallback ::
+    MenuMoveScrollCallback ->
+    C_MenuMoveScrollCallback
+wrap_MenuMoveScrollCallback _cb _ scrollType _ = do
+    let scrollType' = (toEnum . fromIntegral) scrollType
+    _cb  scrollType'
+
+
+{- |
+Connect a signal handler for the “@move-scroll@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menu #moveScroll callback
+@
+-}
+onMenuMoveScroll :: (IsMenu a, MonadIO m) => a -> MenuMoveScrollCallback -> m SignalHandlerId
+onMenuMoveScroll obj cb = liftIO $ do
+    let cb' = wrap_MenuMoveScrollCallback cb
+    cb'' <- mk_MenuMoveScrollCallback cb'
+    connectSignalFunPtr obj "move-scroll" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-scroll@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menu #moveScroll callback
+@
+-}
+afterMenuMoveScroll :: (IsMenu a, MonadIO m) => a -> MenuMoveScrollCallback -> m SignalHandlerId
+afterMenuMoveScroll obj cb = liftIO $ do
+    let cb' = wrap_MenuMoveScrollCallback cb
+    cb'' <- mk_MenuMoveScrollCallback cb'
+    connectSignalFunPtr obj "move-scroll" cb'' SignalConnectAfter
+
+
+-- signal Menu::popped-up
+{- |
+Emitted when the position of /@menu@/ is finalized after being popped up
+using gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (), or
+gtk_menu_popup_at_pointer ().
+
+/@menu@/ might be flipped over the anchor rectangle in order to keep it
+on-screen, in which case /@flippedX@/ and /@flippedY@/ will be set to 'True'
+accordingly.
+
+/@flippedRect@/ is the ideal position of /@menu@/ after any possible flipping,
+but before any possible sliding. /@finalRect@/ is /@flippedRect@/, but possibly
+translated in the case that flipping is still ineffective in keeping /@menu@/
+on-screen.
+
+<<https://developer.gnome.org/gtk3/stable/popup-slide.png>>
+
+The blue menu is /@menu@/\'s ideal position, the green menu is /@flippedRect@/,
+and the red menu is /@finalRect@/.
+
+See gtk_menu_popup_at_rect (), gtk_menu_popup_at_widget (),
+gtk_menu_popup_at_pointer (), 'GI.Gtk.Objects.Menu.Menu':@/anchor-hints/@,
+'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dx/@, 'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dy/@, and
+'GI.Gtk.Objects.Menu.Menu':@/menu-type-hint/@.
+
+/Since: 3.22/
+-}
+type MenuPoppedUpCallback =
+    Ptr ()
+    {- ^ /@flippedRect@/: the position of /@menu@/ after any possible
+               flipping or 'Nothing' if the backend can\'t obtain it -}
+    -> Ptr ()
+    {- ^ /@finalRect@/: the final position of /@menu@/ or 'Nothing' if the
+             backend can\'t obtain it -}
+    -> Bool
+    {- ^ /@flippedX@/: 'True' if the anchors were flipped horizontally -}
+    -> Bool
+    {- ^ /@flippedY@/: 'True' if the anchors were flipped vertically -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuPoppedUpCallback`@.
+noMenuPoppedUpCallback :: Maybe MenuPoppedUpCallback
+noMenuPoppedUpCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuPoppedUpCallback =
+    Ptr () ->                               -- object
+    Ptr () ->
+    Ptr () ->
+    CInt ->
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuPoppedUpCallback`.
+foreign import ccall "wrapper"
+    mk_MenuPoppedUpCallback :: C_MenuPoppedUpCallback -> IO (FunPtr C_MenuPoppedUpCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuPoppedUp :: MonadIO m => MenuPoppedUpCallback -> m (GClosure C_MenuPoppedUpCallback)
+genClosure_MenuPoppedUp cb = liftIO $ do
+    let cb' = wrap_MenuPoppedUpCallback cb
+    mk_MenuPoppedUpCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuPoppedUpCallback` into a `C_MenuPoppedUpCallback`.
+wrap_MenuPoppedUpCallback ::
+    MenuPoppedUpCallback ->
+    C_MenuPoppedUpCallback
+wrap_MenuPoppedUpCallback _cb _ flippedRect finalRect flippedX flippedY _ = do
+    let flippedX' = (/= 0) flippedX
+    let flippedY' = (/= 0) flippedY
+    _cb  flippedRect finalRect flippedX' flippedY'
+
+
+{- |
+Connect a signal handler for the “@popped-up@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menu #poppedUp callback
+@
+-}
+onMenuPoppedUp :: (IsMenu a, MonadIO m) => a -> MenuPoppedUpCallback -> m SignalHandlerId
+onMenuPoppedUp obj cb = liftIO $ do
+    let cb' = wrap_MenuPoppedUpCallback cb
+    cb'' <- mk_MenuPoppedUpCallback cb'
+    connectSignalFunPtr obj "popped-up" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@popped-up@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menu #poppedUp callback
+@
+-}
+afterMenuPoppedUp :: (IsMenu a, MonadIO m) => a -> MenuPoppedUpCallback -> m SignalHandlerId
+afterMenuPoppedUp obj cb = liftIO $ do
+    let cb' = wrap_MenuPoppedUpCallback cb
+    cb'' <- mk_MenuPoppedUpCallback cb'
+    connectSignalFunPtr obj "popped-up" cb'' SignalConnectAfter
+
+
+-- VVV Prop "accel-group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@accel-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #accelGroup
+@
+-}
+getMenuAccelGroup :: (MonadIO m, IsMenu o) => o -> m Gtk.AccelGroup.AccelGroup
+getMenuAccelGroup obj = liftIO $ checkUnexpectedNothing "getMenuAccelGroup" $ B.Properties.getObjectPropertyObject obj "accel-group" Gtk.AccelGroup.AccelGroup
+
+{- |
+Set the value of the “@accel-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #accelGroup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuAccelGroup :: (MonadIO m, IsMenu o, Gtk.AccelGroup.IsAccelGroup a) => o -> a -> m ()
+setMenuAccelGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accel-group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuAccelGroup :: (IsMenu o, Gtk.AccelGroup.IsAccelGroup a) => a -> IO (GValueConstruct o)
+constructMenuAccelGroup val = B.Properties.constructObjectPropertyObject "accel-group" (Just val)
+
+{- |
+Set the value of the “@accel-group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelGroup
+@
+-}
+clearMenuAccelGroup :: (MonadIO m, IsMenu o) => o -> m ()
+clearMenuAccelGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "accel-group" (Nothing :: Maybe Gtk.AccelGroup.AccelGroup)
+
+#if ENABLE_OVERLOADING
+data MenuAccelGroupPropertyInfo
+instance AttrInfo MenuAccelGroupPropertyInfo where
+    type AttrAllowedOps MenuAccelGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuAccelGroupPropertyInfo = Gtk.AccelGroup.IsAccelGroup
+    type AttrBaseTypeConstraint MenuAccelGroupPropertyInfo = IsMenu
+    type AttrGetType MenuAccelGroupPropertyInfo = Gtk.AccelGroup.AccelGroup
+    type AttrLabel MenuAccelGroupPropertyInfo = "accel-group"
+    type AttrOrigin MenuAccelGroupPropertyInfo = Menu
+    attrGet _ = getMenuAccelGroup
+    attrSet _ = setMenuAccelGroup
+    attrConstruct _ = constructMenuAccelGroup
+    attrClear _ = clearMenuAccelGroup
+#endif
+
+-- VVV Prop "accel-path"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@accel-path@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #accelPath
+@
+-}
+getMenuAccelPath :: (MonadIO m, IsMenu o) => o -> m T.Text
+getMenuAccelPath obj = liftIO $ checkUnexpectedNothing "getMenuAccelPath" $ B.Properties.getObjectPropertyString obj "accel-path"
+
+{- |
+Set the value of the “@accel-path@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #accelPath 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuAccelPath :: (MonadIO m, IsMenu o) => o -> T.Text -> m ()
+setMenuAccelPath obj val = liftIO $ B.Properties.setObjectPropertyString obj "accel-path" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuAccelPath :: (IsMenu o) => T.Text -> IO (GValueConstruct o)
+constructMenuAccelPath val = B.Properties.constructObjectPropertyString "accel-path" (Just val)
+
+{- |
+Set the value of the “@accel-path@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelPath
+@
+-}
+clearMenuAccelPath :: (MonadIO m, IsMenu o) => o -> m ()
+clearMenuAccelPath obj = liftIO $ B.Properties.setObjectPropertyString obj "accel-path" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data MenuAccelPathPropertyInfo
+instance AttrInfo MenuAccelPathPropertyInfo where
+    type AttrAllowedOps MenuAccelPathPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuAccelPathPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint MenuAccelPathPropertyInfo = IsMenu
+    type AttrGetType MenuAccelPathPropertyInfo = T.Text
+    type AttrLabel MenuAccelPathPropertyInfo = "accel-path"
+    type AttrOrigin MenuAccelPathPropertyInfo = Menu
+    attrGet _ = getMenuAccelPath
+    attrSet _ = setMenuAccelPath
+    attrConstruct _ = constructMenuAccelPath
+    attrClear _ = clearMenuAccelPath
+#endif
+
+-- VVV Prop "active"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #active
+@
+-}
+getMenuActive :: (MonadIO m, IsMenu o) => o -> m Int32
+getMenuActive obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuActive :: (MonadIO m, IsMenu o) => o -> Int32 -> m ()
+setMenuActive obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuActive :: (IsMenu o) => Int32 -> IO (GValueConstruct o)
+constructMenuActive val = B.Properties.constructObjectPropertyInt32 "active" val
+
+#if ENABLE_OVERLOADING
+data MenuActivePropertyInfo
+instance AttrInfo MenuActivePropertyInfo where
+    type AttrAllowedOps MenuActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuActivePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint MenuActivePropertyInfo = IsMenu
+    type AttrGetType MenuActivePropertyInfo = Int32
+    type AttrLabel MenuActivePropertyInfo = "active"
+    type AttrOrigin MenuActivePropertyInfo = Menu
+    attrGet _ = getMenuActive
+    attrSet _ = setMenuActive
+    attrConstruct _ = constructMenuActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "anchor-hints"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "AnchorHints"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@anchor-hints@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #anchorHints
+@
+-}
+getMenuAnchorHints :: (MonadIO m, IsMenu o) => o -> m [Gdk.Flags.AnchorHints]
+getMenuAnchorHints obj = liftIO $ B.Properties.getObjectPropertyFlags obj "anchor-hints"
+
+{- |
+Set the value of the “@anchor-hints@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #anchorHints 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuAnchorHints :: (MonadIO m, IsMenu o) => o -> [Gdk.Flags.AnchorHints] -> m ()
+setMenuAnchorHints obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "anchor-hints" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@anchor-hints@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuAnchorHints :: (IsMenu o) => [Gdk.Flags.AnchorHints] -> IO (GValueConstruct o)
+constructMenuAnchorHints val = B.Properties.constructObjectPropertyFlags "anchor-hints" val
+
+#if ENABLE_OVERLOADING
+data MenuAnchorHintsPropertyInfo
+instance AttrInfo MenuAnchorHintsPropertyInfo where
+    type AttrAllowedOps MenuAnchorHintsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuAnchorHintsPropertyInfo = (~) [Gdk.Flags.AnchorHints]
+    type AttrBaseTypeConstraint MenuAnchorHintsPropertyInfo = IsMenu
+    type AttrGetType MenuAnchorHintsPropertyInfo = [Gdk.Flags.AnchorHints]
+    type AttrLabel MenuAnchorHintsPropertyInfo = "anchor-hints"
+    type AttrOrigin MenuAnchorHintsPropertyInfo = Menu
+    attrGet _ = getMenuAnchorHints
+    attrSet _ = setMenuAnchorHints
+    attrConstruct _ = constructMenuAnchorHints
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "attach-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@attach-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #attachWidget
+@
+-}
+getMenuAttachWidget :: (MonadIO m, IsMenu o) => o -> m Gtk.Widget.Widget
+getMenuAttachWidget obj = liftIO $ checkUnexpectedNothing "getMenuAttachWidget" $ B.Properties.getObjectPropertyObject obj "attach-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@attach-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #attachWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuAttachWidget :: (MonadIO m, IsMenu o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setMenuAttachWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "attach-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@attach-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuAttachWidget :: (IsMenu o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructMenuAttachWidget val = B.Properties.constructObjectPropertyObject "attach-widget" (Just val)
+
+{- |
+Set the value of the “@attach-widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #attachWidget
+@
+-}
+clearMenuAttachWidget :: (MonadIO m, IsMenu o) => o -> m ()
+clearMenuAttachWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "attach-widget" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data MenuAttachWidgetPropertyInfo
+instance AttrInfo MenuAttachWidgetPropertyInfo where
+    type AttrAllowedOps MenuAttachWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuAttachWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint MenuAttachWidgetPropertyInfo = IsMenu
+    type AttrGetType MenuAttachWidgetPropertyInfo = Gtk.Widget.Widget
+    type AttrLabel MenuAttachWidgetPropertyInfo = "attach-widget"
+    type AttrOrigin MenuAttachWidgetPropertyInfo = Menu
+    attrGet _ = getMenuAttachWidget
+    attrSet _ = setMenuAttachWidget
+    attrConstruct _ = constructMenuAttachWidget
+    attrClear _ = clearMenuAttachWidget
+#endif
+
+-- VVV Prop "menu-type-hint"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "WindowTypeHint"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@menu-type-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #menuTypeHint
+@
+-}
+getMenuMenuTypeHint :: (MonadIO m, IsMenu o) => o -> m Gdk.Enums.WindowTypeHint
+getMenuMenuTypeHint obj = liftIO $ B.Properties.getObjectPropertyEnum obj "menu-type-hint"
+
+{- |
+Set the value of the “@menu-type-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #menuTypeHint 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuMenuTypeHint :: (MonadIO m, IsMenu o) => o -> Gdk.Enums.WindowTypeHint -> m ()
+setMenuMenuTypeHint obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "menu-type-hint" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@menu-type-hint@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuMenuTypeHint :: (IsMenu o) => Gdk.Enums.WindowTypeHint -> IO (GValueConstruct o)
+constructMenuMenuTypeHint val = B.Properties.constructObjectPropertyEnum "menu-type-hint" val
+
+#if ENABLE_OVERLOADING
+data MenuMenuTypeHintPropertyInfo
+instance AttrInfo MenuMenuTypeHintPropertyInfo where
+    type AttrAllowedOps MenuMenuTypeHintPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuMenuTypeHintPropertyInfo = (~) Gdk.Enums.WindowTypeHint
+    type AttrBaseTypeConstraint MenuMenuTypeHintPropertyInfo = IsMenu
+    type AttrGetType MenuMenuTypeHintPropertyInfo = Gdk.Enums.WindowTypeHint
+    type AttrLabel MenuMenuTypeHintPropertyInfo = "menu-type-hint"
+    type AttrOrigin MenuMenuTypeHintPropertyInfo = Menu
+    attrGet _ = getMenuMenuTypeHint
+    attrSet _ = setMenuMenuTypeHint
+    attrConstruct _ = constructMenuMenuTypeHint
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "monitor"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@monitor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #monitor
+@
+-}
+getMenuMonitor :: (MonadIO m, IsMenu o) => o -> m Int32
+getMenuMonitor obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "monitor"
+
+{- |
+Set the value of the “@monitor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #monitor 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuMonitor :: (MonadIO m, IsMenu o) => o -> Int32 -> m ()
+setMenuMonitor obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "monitor" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@monitor@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuMonitor :: (IsMenu o) => Int32 -> IO (GValueConstruct o)
+constructMenuMonitor val = B.Properties.constructObjectPropertyInt32 "monitor" val
+
+#if ENABLE_OVERLOADING
+data MenuMonitorPropertyInfo
+instance AttrInfo MenuMonitorPropertyInfo where
+    type AttrAllowedOps MenuMonitorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuMonitorPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint MenuMonitorPropertyInfo = IsMenu
+    type AttrGetType MenuMonitorPropertyInfo = Int32
+    type AttrLabel MenuMonitorPropertyInfo = "monitor"
+    type AttrOrigin MenuMonitorPropertyInfo = Menu
+    attrGet _ = getMenuMonitor
+    attrSet _ = setMenuMonitor
+    attrConstruct _ = constructMenuMonitor
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "rect-anchor-dx"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@rect-anchor-dx@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #rectAnchorDx
+@
+-}
+getMenuRectAnchorDx :: (MonadIO m, IsMenu o) => o -> m Int32
+getMenuRectAnchorDx obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "rect-anchor-dx"
+
+{- |
+Set the value of the “@rect-anchor-dx@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #rectAnchorDx 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuRectAnchorDx :: (MonadIO m, IsMenu o) => o -> Int32 -> m ()
+setMenuRectAnchorDx obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "rect-anchor-dx" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rect-anchor-dx@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuRectAnchorDx :: (IsMenu o) => Int32 -> IO (GValueConstruct o)
+constructMenuRectAnchorDx val = B.Properties.constructObjectPropertyInt32 "rect-anchor-dx" val
+
+#if ENABLE_OVERLOADING
+data MenuRectAnchorDxPropertyInfo
+instance AttrInfo MenuRectAnchorDxPropertyInfo where
+    type AttrAllowedOps MenuRectAnchorDxPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuRectAnchorDxPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint MenuRectAnchorDxPropertyInfo = IsMenu
+    type AttrGetType MenuRectAnchorDxPropertyInfo = Int32
+    type AttrLabel MenuRectAnchorDxPropertyInfo = "rect-anchor-dx"
+    type AttrOrigin MenuRectAnchorDxPropertyInfo = Menu
+    attrGet _ = getMenuRectAnchorDx
+    attrSet _ = setMenuRectAnchorDx
+    attrConstruct _ = constructMenuRectAnchorDx
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "rect-anchor-dy"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@rect-anchor-dy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #rectAnchorDy
+@
+-}
+getMenuRectAnchorDy :: (MonadIO m, IsMenu o) => o -> m Int32
+getMenuRectAnchorDy obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "rect-anchor-dy"
+
+{- |
+Set the value of the “@rect-anchor-dy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #rectAnchorDy 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuRectAnchorDy :: (MonadIO m, IsMenu o) => o -> Int32 -> m ()
+setMenuRectAnchorDy obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "rect-anchor-dy" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rect-anchor-dy@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuRectAnchorDy :: (IsMenu o) => Int32 -> IO (GValueConstruct o)
+constructMenuRectAnchorDy val = B.Properties.constructObjectPropertyInt32 "rect-anchor-dy" val
+
+#if ENABLE_OVERLOADING
+data MenuRectAnchorDyPropertyInfo
+instance AttrInfo MenuRectAnchorDyPropertyInfo where
+    type AttrAllowedOps MenuRectAnchorDyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuRectAnchorDyPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint MenuRectAnchorDyPropertyInfo = IsMenu
+    type AttrGetType MenuRectAnchorDyPropertyInfo = Int32
+    type AttrLabel MenuRectAnchorDyPropertyInfo = "rect-anchor-dy"
+    type AttrOrigin MenuRectAnchorDyPropertyInfo = Menu
+    attrGet _ = getMenuRectAnchorDy
+    attrSet _ = setMenuRectAnchorDy
+    attrConstruct _ = constructMenuRectAnchorDy
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "reserve-toggle-size"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@reserve-toggle-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #reserveToggleSize
+@
+-}
+getMenuReserveToggleSize :: (MonadIO m, IsMenu o) => o -> m Bool
+getMenuReserveToggleSize obj = liftIO $ B.Properties.getObjectPropertyBool obj "reserve-toggle-size"
+
+{- |
+Set the value of the “@reserve-toggle-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #reserveToggleSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuReserveToggleSize :: (MonadIO m, IsMenu o) => o -> Bool -> m ()
+setMenuReserveToggleSize obj val = liftIO $ B.Properties.setObjectPropertyBool obj "reserve-toggle-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@reserve-toggle-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuReserveToggleSize :: (IsMenu o) => Bool -> IO (GValueConstruct o)
+constructMenuReserveToggleSize val = B.Properties.constructObjectPropertyBool "reserve-toggle-size" val
+
+#if ENABLE_OVERLOADING
+data MenuReserveToggleSizePropertyInfo
+instance AttrInfo MenuReserveToggleSizePropertyInfo where
+    type AttrAllowedOps MenuReserveToggleSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuReserveToggleSizePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint MenuReserveToggleSizePropertyInfo = IsMenu
+    type AttrGetType MenuReserveToggleSizePropertyInfo = Bool
+    type AttrLabel MenuReserveToggleSizePropertyInfo = "reserve-toggle-size"
+    type AttrOrigin MenuReserveToggleSizePropertyInfo = Menu
+    attrGet _ = getMenuReserveToggleSize
+    attrSet _ = setMenuReserveToggleSize
+    attrConstruct _ = constructMenuReserveToggleSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tearoff-state"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@tearoff-state@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #tearoffState
+@
+-}
+getMenuTearoffState :: (MonadIO m, IsMenu o) => o -> m Bool
+getMenuTearoffState obj = liftIO $ B.Properties.getObjectPropertyBool obj "tearoff-state"
+
+{- |
+Set the value of the “@tearoff-state@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #tearoffState 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuTearoffState :: (MonadIO m, IsMenu o) => o -> Bool -> m ()
+setMenuTearoffState obj val = liftIO $ B.Properties.setObjectPropertyBool obj "tearoff-state" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tearoff-state@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuTearoffState :: (IsMenu o) => Bool -> IO (GValueConstruct o)
+constructMenuTearoffState val = B.Properties.constructObjectPropertyBool "tearoff-state" val
+
+#if ENABLE_OVERLOADING
+data MenuTearoffStatePropertyInfo
+instance AttrInfo MenuTearoffStatePropertyInfo where
+    type AttrAllowedOps MenuTearoffStatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuTearoffStatePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint MenuTearoffStatePropertyInfo = IsMenu
+    type AttrGetType MenuTearoffStatePropertyInfo = Bool
+    type AttrLabel MenuTearoffStatePropertyInfo = "tearoff-state"
+    type AttrOrigin MenuTearoffStatePropertyInfo = Menu
+    attrGet _ = getMenuTearoffState
+    attrSet _ = setMenuTearoffState
+    attrConstruct _ = constructMenuTearoffState
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tearoff-title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@tearoff-title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menu #tearoffTitle
+@
+-}
+getMenuTearoffTitle :: (MonadIO m, IsMenu o) => o -> m (Maybe T.Text)
+getMenuTearoffTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "tearoff-title"
+
+{- |
+Set the value of the “@tearoff-title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menu [ #tearoffTitle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuTearoffTitle :: (MonadIO m, IsMenu o) => o -> T.Text -> m ()
+setMenuTearoffTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "tearoff-title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tearoff-title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuTearoffTitle :: (IsMenu o) => T.Text -> IO (GValueConstruct o)
+constructMenuTearoffTitle val = B.Properties.constructObjectPropertyString "tearoff-title" (Just val)
+
+{- |
+Set the value of the “@tearoff-title@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tearoffTitle
+@
+-}
+clearMenuTearoffTitle :: (MonadIO m, IsMenu o) => o -> m ()
+clearMenuTearoffTitle obj = liftIO $ B.Properties.setObjectPropertyString obj "tearoff-title" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data MenuTearoffTitlePropertyInfo
+instance AttrInfo MenuTearoffTitlePropertyInfo where
+    type AttrAllowedOps MenuTearoffTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuTearoffTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint MenuTearoffTitlePropertyInfo = IsMenu
+    type AttrGetType MenuTearoffTitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel MenuTearoffTitlePropertyInfo = "tearoff-title"
+    type AttrOrigin MenuTearoffTitlePropertyInfo = Menu
+    attrGet _ = getMenuTearoffTitle
+    attrSet _ = setMenuTearoffTitle
+    attrConstruct _ = constructMenuTearoffTitle
+    attrClear _ = clearMenuTearoffTitle
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Menu
+type instance O.AttributeList Menu = MenuAttributeList
+type MenuAttributeList = ('[ '("accelGroup", MenuAccelGroupPropertyInfo), '("accelPath", MenuAccelPathPropertyInfo), '("active", MenuActivePropertyInfo), '("anchorHints", MenuAnchorHintsPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("attachWidget", MenuAttachWidgetPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("menuTypeHint", MenuMenuTypeHintPropertyInfo), '("monitor", MenuMonitorPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("rectAnchorDx", MenuRectAnchorDxPropertyInfo), '("rectAnchorDy", MenuRectAnchorDyPropertyInfo), '("reserveToggleSize", MenuReserveToggleSizePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("takeFocus", Gtk.MenuShell.MenuShellTakeFocusPropertyInfo), '("tearoffState", MenuTearoffStatePropertyInfo), '("tearoffTitle", MenuTearoffTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+menuAccelGroup :: AttrLabelProxy "accelGroup"
+menuAccelGroup = AttrLabelProxy
+
+menuAccelPath :: AttrLabelProxy "accelPath"
+menuAccelPath = AttrLabelProxy
+
+menuActive :: AttrLabelProxy "active"
+menuActive = AttrLabelProxy
+
+menuAnchorHints :: AttrLabelProxy "anchorHints"
+menuAnchorHints = AttrLabelProxy
+
+menuAttachWidget :: AttrLabelProxy "attachWidget"
+menuAttachWidget = AttrLabelProxy
+
+menuMenuTypeHint :: AttrLabelProxy "menuTypeHint"
+menuMenuTypeHint = AttrLabelProxy
+
+menuMonitor :: AttrLabelProxy "monitor"
+menuMonitor = AttrLabelProxy
+
+menuRectAnchorDx :: AttrLabelProxy "rectAnchorDx"
+menuRectAnchorDx = AttrLabelProxy
+
+menuRectAnchorDy :: AttrLabelProxy "rectAnchorDy"
+menuRectAnchorDy = AttrLabelProxy
+
+menuReserveToggleSize :: AttrLabelProxy "reserveToggleSize"
+menuReserveToggleSize = AttrLabelProxy
+
+menuTearoffState :: AttrLabelProxy "tearoffState"
+menuTearoffState = AttrLabelProxy
+
+menuTearoffTitle :: AttrLabelProxy "tearoffTitle"
+menuTearoffTitle = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data MenuMoveScrollSignalInfo
+instance SignalInfo MenuMoveScrollSignalInfo where
+    type HaskellCallbackType MenuMoveScrollSignalInfo = MenuMoveScrollCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuMoveScrollCallback cb
+        cb'' <- mk_MenuMoveScrollCallback cb'
+        connectSignalFunPtr obj "move-scroll" cb'' connectMode
+
+data MenuPoppedUpSignalInfo
+instance SignalInfo MenuPoppedUpSignalInfo where
+    type HaskellCallbackType MenuPoppedUpSignalInfo = MenuPoppedUpCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuPoppedUpCallback cb
+        cb'' <- mk_MenuPoppedUpCallback cb'
+        connectSignalFunPtr obj "popped-up" cb'' connectMode
+
+type instance O.SignalList Menu = MenuSignalList
+type MenuSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateCurrent", Gtk.MenuShell.MenuShellActivateCurrentSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("cancel", Gtk.MenuShell.MenuShellCancelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("cycleFocus", Gtk.MenuShell.MenuShellCycleFocusSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deactivate", Gtk.MenuShell.MenuShellDeactivateSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("insert", Gtk.MenuShell.MenuShellInsertSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCurrent", Gtk.MenuShell.MenuShellMoveCurrentSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveScroll", MenuMoveScrollSignalInfo), '("moveSelected", Gtk.MenuShell.MenuShellMoveSelectedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("poppedUp", MenuPoppedUpSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionDone", Gtk.MenuShell.MenuShellSelectionDoneSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Menu::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Menu"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_new" gtk_menu_new :: 
+    IO (Ptr Menu)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Menu.Menu'
+-}
+menuNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Menu
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Menu.Menu' -}
+menuNew  = liftIO $ do
+    result <- gtk_menu_new
+    checkUnexpectedReturnNULL "menuNew" result
+    result' <- (newObject Menu) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Menu::new_from_model
+-- method type : Constructor
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gio", name = "MenuModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMenuModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Menu"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_new_from_model" gtk_menu_new_from_model :: 
+    Ptr Gio.MenuModel.MenuModel ->          -- model : TInterface (Name {namespace = "Gio", name = "MenuModel"})
+    IO (Ptr Menu)
+
+{- |
+Creates a 'GI.Gtk.Objects.Menu.Menu' and populates it with menu items and
+submenus according to /@model@/.
+
+The created menu items are connected to actions found in the
+'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' to which the menu belongs - typically
+by means of being attached to a widget (see 'GI.Gtk.Objects.Menu.menuAttachToWidget')
+that is contained within the @/GtkApplicationWindows/@ widget hierarchy.
+
+Actions can also be added using 'GI.Gtk.Objects.Widget.widgetInsertActionGroup' on the menu\'s
+attach widget or on any of its parent widgets.
+
+/Since: 3.4/
+-}
+menuNewFromModel ::
+    (B.CallStack.HasCallStack, MonadIO m, Gio.MenuModel.IsMenuModel a) =>
+    a
+    {- ^ /@model@/: a 'GI.Gio.Objects.MenuModel.MenuModel' -}
+    -> m Menu
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Menu.Menu' -}
+menuNewFromModel model = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    result <- gtk_menu_new_from_model model'
+    checkUnexpectedReturnNULL "menuNewFromModel" result
+    result' <- (newObject Menu) result
+    touchManagedPtr model
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Menu::attach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The column number to attach the left side of the item to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "right_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The column number to attach the right side of the item to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "top_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The row number to attach the top of the item to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bottom_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The row number to attach the bottom of the item to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_attach" gtk_menu_attach :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Word32 ->                               -- left_attach : TBasicType TUInt
+    Word32 ->                               -- right_attach : TBasicType TUInt
+    Word32 ->                               -- top_attach : TBasicType TUInt
+    Word32 ->                               -- bottom_attach : TBasicType TUInt
+    IO ()
+
+{- |
+Adds a new 'GI.Gtk.Objects.MenuItem.MenuItem' to a (table) menu. The number of “cells” that
+an item will occupy is specified by /@leftAttach@/, /@rightAttach@/,
+/@topAttach@/ and /@bottomAttach@/. These each represent the leftmost,
+rightmost, uppermost and lower column and row numbers of the table.
+(Columns and rows are indexed from zero).
+
+Note that this function is not related to 'GI.Gtk.Objects.Menu.menuDetach'.
+
+/Since: 2.4/
+-}
+menuAttach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> b
+    {- ^ /@child@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> Word32
+    {- ^ /@leftAttach@/: The column number to attach the left side of the item to -}
+    -> Word32
+    {- ^ /@rightAttach@/: The column number to attach the right side of the item to -}
+    -> Word32
+    {- ^ /@topAttach@/: The row number to attach the top of the item to -}
+    -> Word32
+    {- ^ /@bottomAttach@/: The row number to attach the bottom of the item to -}
+    -> m ()
+menuAttach menu child leftAttach rightAttach topAttach bottomAttach = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_menu_attach menu' child' leftAttach rightAttach topAttach bottomAttach
+    touchManagedPtr menu
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuAttachMethodInfo
+instance (signature ~ (b -> Word32 -> Word32 -> Word32 -> Word32 -> m ()), MonadIO m, IsMenu a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuAttachMethodInfo a signature where
+    overloadedMethod _ = menuAttach
+
+#endif
+
+-- method Menu::attach_to_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attach_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget that the menu will be attached to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detacher", argType = TInterface (Name {namespace = "Gtk", name = "MenuDetachFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the user supplied callback function\n            that will be called when the menu calls gtk_menu_detach()", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_attach_to_widget" gtk_menu_attach_to_widget :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gtk.Widget.Widget ->                -- attach_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    FunPtr Gtk.Callbacks.C_MenuDetachFunc -> -- detacher : TInterface (Name {namespace = "Gtk", name = "MenuDetachFunc"})
+    IO ()
+
+{- |
+Attaches the menu to the widget and provides a callback function
+that will be invoked when the menu calls 'GI.Gtk.Objects.Menu.menuDetach' during
+its destruction.
+
+If the menu is attached to the widget then it will be destroyed
+when the widget is destroyed, as if it was a child widget.
+An attached menu will also move between screens correctly if the
+widgets moves between screens.
+-}
+menuAttachToWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> b
+    {- ^ /@attachWidget@/: the 'GI.Gtk.Objects.Widget.Widget' that the menu will be attached to -}
+    -> Maybe (Gtk.Callbacks.MenuDetachFunc)
+    {- ^ /@detacher@/: the user supplied callback function
+            that will be called when the menu calls 'GI.Gtk.Objects.Menu.menuDetach' -}
+    -> m ()
+menuAttachToWidget menu attachWidget detacher = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    attachWidget' <- unsafeManagedPtrCastPtr attachWidget
+    maybeDetacher <- case detacher of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jDetacher -> do
+            ptrdetacher <- callocMem :: IO (Ptr (FunPtr Gtk.Callbacks.C_MenuDetachFunc))
+            jDetacher' <- Gtk.Callbacks.mk_MenuDetachFunc (Gtk.Callbacks.wrap_MenuDetachFunc (Just ptrdetacher) jDetacher)
+            poke ptrdetacher jDetacher'
+            return jDetacher'
+    gtk_menu_attach_to_widget menu' attachWidget' maybeDetacher
+    touchManagedPtr menu
+    touchManagedPtr attachWidget
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuAttachToWidgetMethodInfo
+instance (signature ~ (b -> Maybe (Gtk.Callbacks.MenuDetachFunc) -> m ()), MonadIO m, IsMenu a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuAttachToWidgetMethodInfo a signature where
+    overloadedMethod _ = menuAttachToWidget
+
+#endif
+
+-- method Menu::detach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_detach" gtk_menu_detach :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO ()
+
+{- |
+Detaches the menu from the widget to which it had been attached.
+This function will call the callback function, /@detacher@/, provided
+when the 'GI.Gtk.Objects.Menu.menuAttachToWidget' function was called.
+-}
+menuDetach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m ()
+menuDetach menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    gtk_menu_detach menu'
+    touchManagedPtr menu
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuDetachMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuDetachMethodInfo a signature where
+    overloadedMethod _ = menuDetach
+
+#endif
+
+-- method Menu::get_accel_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AccelGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_get_accel_group" gtk_menu_get_accel_group :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO (Ptr Gtk.AccelGroup.AccelGroup)
+
+{- |
+Gets the 'GI.Gtk.Objects.AccelGroup.AccelGroup' which holds global accelerators for the
+menu. See 'GI.Gtk.Objects.Menu.menuSetAccelGroup'.
+-}
+menuGetAccelGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m Gtk.AccelGroup.AccelGroup
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.AccelGroup.AccelGroup' associated with the menu -}
+menuGetAccelGroup menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    result <- gtk_menu_get_accel_group menu'
+    checkUnexpectedReturnNULL "menuGetAccelGroup" result
+    result' <- (newObject Gtk.AccelGroup.AccelGroup) result
+    touchManagedPtr menu
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuGetAccelGroupMethodInfo
+instance (signature ~ (m Gtk.AccelGroup.AccelGroup), MonadIO m, IsMenu a) => O.MethodInfo MenuGetAccelGroupMethodInfo a signature where
+    overloadedMethod _ = menuGetAccelGroup
+
+#endif
+
+-- method Menu::get_accel_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_get_accel_path" gtk_menu_get_accel_path :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO CString
+
+{- |
+Retrieves the accelerator path set on the menu.
+
+/Since: 2.14/
+-}
+menuGetAccelPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a valid 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m T.Text
+    {- ^ __Returns:__ the accelerator path set on the menu. -}
+menuGetAccelPath menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    result <- gtk_menu_get_accel_path menu'
+    checkUnexpectedReturnNULL "menuGetAccelPath" result
+    result' <- cstringToText result
+    touchManagedPtr menu
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuGetAccelPathMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsMenu a) => O.MethodInfo MenuGetAccelPathMethodInfo a signature where
+    overloadedMethod _ = menuGetAccelPath
+
+#endif
+
+-- method Menu::get_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_get_active" gtk_menu_get_active :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the selected menu item from the menu.  This is used by the
+'GI.Gtk.Objects.ComboBox.ComboBox'.
+-}
+menuGetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.MenuItem.MenuItem' that was last selected
+         in the menu.  If a selection has not yet been made, the
+         first menu item is selected. -}
+menuGetActive menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    result <- gtk_menu_get_active menu'
+    checkUnexpectedReturnNULL "menuGetActive" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr menu
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuGetActiveMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsMenu a) => O.MethodInfo MenuGetActiveMethodInfo a signature where
+    overloadedMethod _ = menuGetActive
+
+#endif
+
+-- method Menu::get_attach_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_get_attach_widget" gtk_menu_get_attach_widget :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the 'GI.Gtk.Objects.Widget.Widget' that the menu is attached to.
+-}
+menuGetAttachWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.Widget.Widget' that the menu is attached to -}
+menuGetAttachWidget menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    result <- gtk_menu_get_attach_widget menu'
+    checkUnexpectedReturnNULL "menuGetAttachWidget" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr menu
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuGetAttachWidgetMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsMenu a) => O.MethodInfo MenuGetAttachWidgetMethodInfo a signature where
+    overloadedMethod _ = menuGetAttachWidget
+
+#endif
+
+-- method Menu::get_monitor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_get_monitor" gtk_menu_get_monitor :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO Int32
+
+{- |
+Retrieves the number of the monitor on which to show the menu.
+
+/Since: 2.14/
+-}
+menuGetMonitor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of the monitor on which the menu should
+   be popped up or -1, if no monitor has been set -}
+menuGetMonitor menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    result <- gtk_menu_get_monitor menu'
+    touchManagedPtr menu
+    return result
+
+#if ENABLE_OVERLOADING
+data MenuGetMonitorMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsMenu a) => O.MethodInfo MenuGetMonitorMethodInfo a signature where
+    overloadedMethod _ = menuGetMonitor
+
+#endif
+
+-- method Menu::get_reserve_toggle_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_get_reserve_toggle_size" gtk_menu_get_reserve_toggle_size :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO CInt
+
+{- |
+Returns whether the menu reserves space for toggles and
+icons, regardless of their actual presence.
+
+/Since: 2.18/
+-}
+menuGetReserveToggleSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m Bool
+    {- ^ __Returns:__ Whether the menu reserves toggle space -}
+menuGetReserveToggleSize menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    result <- gtk_menu_get_reserve_toggle_size menu'
+    let result' = (/= 0) result
+    touchManagedPtr menu
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuGetReserveToggleSizeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsMenu a) => O.MethodInfo MenuGetReserveToggleSizeMethodInfo a signature where
+    overloadedMethod _ = menuGetReserveToggleSize
+
+#endif
+
+-- method Menu::get_tearoff_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_get_tearoff_state" gtk_menu_get_tearoff_state :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO CInt
+
+{-# DEPRECATED menuGetTearoffState ["(Since version 3.10)"] #-}
+{- |
+Returns whether the menu is torn off.
+See 'GI.Gtk.Objects.Menu.menuSetTearoffState'.
+-}
+menuGetTearoffState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the menu is currently torn off. -}
+menuGetTearoffState menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    result <- gtk_menu_get_tearoff_state menu'
+    let result' = (/= 0) result
+    touchManagedPtr menu
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuGetTearoffStateMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsMenu a) => O.MethodInfo MenuGetTearoffStateMethodInfo a signature where
+    overloadedMethod _ = menuGetTearoffState
+
+#endif
+
+-- method Menu::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_get_title" gtk_menu_get_title :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO CString
+
+{-# DEPRECATED menuGetTitle ["(Since version 3.10)"] #-}
+{- |
+Returns the title of the menu. See 'GI.Gtk.Objects.Menu.menuSetTitle'.
+-}
+menuGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m T.Text
+    {- ^ __Returns:__ the title of the menu, or 'Nothing' if the menu
+    has no title set on it. This string is owned by GTK+
+    and should not be modified or freed. -}
+menuGetTitle menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    result <- gtk_menu_get_title menu'
+    checkUnexpectedReturnNULL "menuGetTitle" result
+    result' <- cstringToText result
+    touchManagedPtr menu
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuGetTitleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsMenu a) => O.MethodInfo MenuGetTitleMethodInfo a signature where
+    overloadedMethod _ = menuGetTitle
+
+#endif
+
+-- method Menu::place_on_monitor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gdk", name = "Monitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the monitor to place the menu on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_place_on_monitor" gtk_menu_place_on_monitor :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gdk.Monitor.Monitor ->              -- monitor : TInterface (Name {namespace = "Gdk", name = "Monitor"})
+    IO ()
+
+{- |
+Places /@menu@/ on the given monitor.
+
+/Since: 3.22/
+-}
+menuPlaceOnMonitor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gdk.Monitor.IsMonitor b) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> b
+    {- ^ /@monitor@/: the monitor to place the menu on -}
+    -> m ()
+menuPlaceOnMonitor menu monitor = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    monitor' <- unsafeManagedPtrCastPtr monitor
+    gtk_menu_place_on_monitor menu' monitor'
+    touchManagedPtr menu
+    touchManagedPtr monitor
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuPlaceOnMonitorMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsMenu a, Gdk.Monitor.IsMonitor b) => O.MethodInfo MenuPlaceOnMonitorMethodInfo a signature where
+    overloadedMethod _ = menuPlaceOnMonitor
+
+#endif
+
+-- method Menu::popdown
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_popdown" gtk_menu_popdown :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO ()
+
+{- |
+Removes the menu from the screen.
+-}
+menuPopdown ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m ()
+menuPopdown menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    gtk_menu_popdown menu'
+    touchManagedPtr menu
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuPopdownMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuPopdownMethodInfo a signature where
+    overloadedMethod _ = menuPopdown
+
+#endif
+
+-- method Menu::popup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the menu shell containing the\n    triggering menu item, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the menu item whose activation\n    triggered the popup, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "MenuPositionFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a user supplied function used to position\n    the menu, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user supplied data to be passed to @func.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mouse button which was pressed to initiate the event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "activate_time", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time at which the activation event occurred.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_popup" gtk_menu_popup :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gtk.Widget.Widget ->                -- parent_menu_shell : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- parent_menu_item : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    FunPtr Gtk.Callbacks.C_MenuPositionFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "MenuPositionFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    Word32 ->                               -- button : TBasicType TUInt
+    Word32 ->                               -- activate_time : TBasicType TUInt32
+    IO ()
+
+{-# DEPRECATED menuPopup ["(Since version 3.22)","Please use 'GI.Gtk.Objects.Menu.menuPopupAtWidget',","    'GI.Gtk.Objects.Menu.menuPopupAtPointer'. or 'GI.Gtk.Objects.Menu.menuPopupAtRect' instead"] #-}
+{- |
+Displays a menu and makes it available for selection.
+
+Applications can use this function to display context-sensitive
+menus, and will typically supply 'Nothing' for the /@parentMenuShell@/,
+/@parentMenuItem@/, /@func@/ and /@data@/ parameters. The default menu
+positioning function will position the menu at the current mouse
+cursor position.
+
+The /@button@/ parameter should be the mouse button pressed to initiate
+the menu popup. If the menu popup was initiated by something other
+than a mouse button press, such as a mouse button release or a keypress,
+/@button@/ should be 0.
+
+The /@activateTime@/ parameter is used to conflict-resolve initiation
+of concurrent requests for mouse\/keyboard grab requests. To function
+properly, this needs to be the timestamp of the user event (such as
+a mouse click or key press) that caused the initiation of the popup.
+Only if no such event is available, 'GI.Gtk.Functions.getCurrentEventTime' can
+be used instead.
+
+Note that this function does not work very well on GDK backends that
+do not have global coordinates, such as Wayland or Mir. You should
+probably use one of the gtk_menu_popup_at_ variants, which do not
+have this problem.
+-}
+menuPopup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Maybe (b)
+    {- ^ /@parentMenuShell@/: the menu shell containing the
+    triggering menu item, or 'Nothing' -}
+    -> Maybe (c)
+    {- ^ /@parentMenuItem@/: the menu item whose activation
+    triggered the popup, or 'Nothing' -}
+    -> Maybe (Gtk.Callbacks.MenuPositionFunc)
+    {- ^ /@func@/: a user supplied function used to position
+    the menu, or 'Nothing' -}
+    -> Word32
+    {- ^ /@button@/: the mouse button which was pressed to initiate the event. -}
+    -> Word32
+    {- ^ /@activateTime@/: the time at which the activation event occurred. -}
+    -> m ()
+menuPopup menu parentMenuShell parentMenuItem func button activateTime = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    maybeParentMenuShell <- case parentMenuShell of
+        Nothing -> return nullPtr
+        Just jParentMenuShell -> do
+            jParentMenuShell' <- unsafeManagedPtrCastPtr jParentMenuShell
+            return jParentMenuShell'
+    maybeParentMenuItem <- case parentMenuItem of
+        Nothing -> return nullPtr
+        Just jParentMenuItem -> do
+            jParentMenuItem' <- unsafeManagedPtrCastPtr jParentMenuItem
+            return jParentMenuItem'
+    maybeFunc <- case func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFunc -> do
+            ptrfunc <- callocMem :: IO (Ptr (FunPtr Gtk.Callbacks.C_MenuPositionFunc))
+            jFunc' <- Gtk.Callbacks.mk_MenuPositionFunc (Gtk.Callbacks.wrap_MenuPositionFunc (Just ptrfunc) (Gtk.Callbacks.drop_closures_MenuPositionFunc jFunc))
+            poke ptrfunc jFunc'
+            return jFunc'
+    let data_ = nullPtr
+    gtk_menu_popup menu' maybeParentMenuShell maybeParentMenuItem maybeFunc data_ button activateTime
+    touchManagedPtr menu
+    whenJust parentMenuShell touchManagedPtr
+    whenJust parentMenuItem touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuPopupMethodInfo
+instance (signature ~ (Maybe (b) -> Maybe (c) -> Maybe (Gtk.Callbacks.MenuPositionFunc) -> Word32 -> Word32 -> m ()), MonadIO m, IsMenu a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) => O.MethodInfo MenuPopupMethodInfo a signature where
+    overloadedMethod _ = menuPopup
+
+#endif
+
+-- method Menu::popup_at_pointer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkMenu to pop up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "trigger_event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GdkEvent that initiated this request or\n                %NULL if it's the current event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_popup_at_pointer" gtk_menu_popup_at_pointer :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gdk.Event.Event ->                  -- trigger_event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO ()
+
+{- |
+Displays /@menu@/ and makes it available for selection.
+
+See gtk_menu_popup_at_widget () to pop up a menu at a widget.
+gtk_menu_popup_at_rect () also allows you to position a menu at an arbitrary
+rectangle.
+
+/@menu@/ will be positioned at the pointer associated with /@triggerEvent@/.
+
+Properties that influence the behaviour of this function are
+'GI.Gtk.Objects.Menu.Menu':@/anchor-hints/@, 'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dx/@, 'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dy/@, and
+'GI.Gtk.Objects.Menu.Menu':@/menu-type-hint/@. Connect to the 'GI.Gtk.Objects.Menu.Menu'::@/popped-up/@ signal to find
+out how it was actually positioned.
+
+/Since: 3.22/
+-}
+menuPopupAtPointer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: the 'GI.Gtk.Objects.Menu.Menu' to pop up -}
+    -> Maybe (Gdk.Event.Event)
+    {- ^ /@triggerEvent@/: the 'GI.Gdk.Unions.Event.Event' that initiated this request or
+                'Nothing' if it\'s the current event -}
+    -> m ()
+menuPopupAtPointer menu triggerEvent = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    maybeTriggerEvent <- case triggerEvent of
+        Nothing -> return nullPtr
+        Just jTriggerEvent -> do
+            jTriggerEvent' <- unsafeManagedPtrGetPtr jTriggerEvent
+            return jTriggerEvent'
+    gtk_menu_popup_at_pointer menu' maybeTriggerEvent
+    touchManagedPtr menu
+    whenJust triggerEvent touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuPopupAtPointerMethodInfo
+instance (signature ~ (Maybe (Gdk.Event.Event) -> m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuPopupAtPointerMethodInfo a signature where
+    overloadedMethod _ = menuPopupAtPointer
+
+#endif
+
+-- method Menu::popup_at_rect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkMenu to pop up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkWindow @rect is relative to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkRectangle to align @menu with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect_anchor", argType = TInterface (Name {namespace = "Gdk", name = "Gravity"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the point on @rect to align with @menu's anchor point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_anchor", argType = TInterface (Name {namespace = "Gdk", name = "Gravity"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the point on @menu to align with @rect's anchor point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "trigger_event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GdkEvent that initiated this request or\n                %NULL if it's the current event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_popup_at_rect" gtk_menu_popup_at_rect :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gdk.Window.Window ->                -- rect_window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    CUInt ->                                -- rect_anchor : TInterface (Name {namespace = "Gdk", name = "Gravity"})
+    CUInt ->                                -- menu_anchor : TInterface (Name {namespace = "Gdk", name = "Gravity"})
+    Ptr Gdk.Event.Event ->                  -- trigger_event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO ()
+
+{- |
+Displays /@menu@/ and makes it available for selection.
+
+See gtk_menu_popup_at_widget () and gtk_menu_popup_at_pointer (), which
+handle more common cases for popping up menus.
+
+/@menu@/ will be positioned at /@rect@/, aligning their anchor points. /@rect@/ is
+relative to the top-left corner of /@rectWindow@/. /@rectAnchor@/ and
+/@menuAnchor@/ determine anchor points on /@rect@/ and /@menu@/ to pin together.
+/@menu@/ can optionally be offset by 'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dx/@ and
+'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dy/@.
+
+Anchors should be specified under the assumption that the text direction is
+left-to-right; they will be flipped horizontally automatically if the text
+direction is right-to-left.
+
+Other properties that influence the behaviour of this function are
+'GI.Gtk.Objects.Menu.Menu':@/anchor-hints/@ and 'GI.Gtk.Objects.Menu.Menu':@/menu-type-hint/@. Connect to the
+'GI.Gtk.Objects.Menu.Menu'::@/popped-up/@ signal to find out how it was actually positioned.
+
+/Since: 3.22/
+-}
+menuPopupAtRect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@menu@/: the 'GI.Gtk.Objects.Menu.Menu' to pop up -}
+    -> b
+    {- ^ /@rectWindow@/: the 'GI.Gdk.Objects.Window.Window' /@rect@/ is relative to -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@rect@/: the 'GI.Gdk.Structs.Rectangle.Rectangle' to align /@menu@/ with -}
+    -> Gdk.Enums.Gravity
+    {- ^ /@rectAnchor@/: the point on /@rect@/ to align with /@menu@/\'s anchor point -}
+    -> Gdk.Enums.Gravity
+    {- ^ /@menuAnchor@/: the point on /@menu@/ to align with /@rect@/\'s anchor point -}
+    -> Maybe (Gdk.Event.Event)
+    {- ^ /@triggerEvent@/: the 'GI.Gdk.Unions.Event.Event' that initiated this request or
+                'Nothing' if it\'s the current event -}
+    -> m ()
+menuPopupAtRect menu rectWindow rect rectAnchor menuAnchor triggerEvent = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    rectWindow' <- unsafeManagedPtrCastPtr rectWindow
+    rect' <- unsafeManagedPtrGetPtr rect
+    let rectAnchor' = (fromIntegral . fromEnum) rectAnchor
+    let menuAnchor' = (fromIntegral . fromEnum) menuAnchor
+    maybeTriggerEvent <- case triggerEvent of
+        Nothing -> return nullPtr
+        Just jTriggerEvent -> do
+            jTriggerEvent' <- unsafeManagedPtrGetPtr jTriggerEvent
+            return jTriggerEvent'
+    gtk_menu_popup_at_rect menu' rectWindow' rect' rectAnchor' menuAnchor' maybeTriggerEvent
+    touchManagedPtr menu
+    touchManagedPtr rectWindow
+    touchManagedPtr rect
+    whenJust triggerEvent touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuPopupAtRectMethodInfo
+instance (signature ~ (b -> Gdk.Rectangle.Rectangle -> Gdk.Enums.Gravity -> Gdk.Enums.Gravity -> Maybe (Gdk.Event.Event) -> m ()), MonadIO m, IsMenu a, Gdk.Window.IsWindow b) => O.MethodInfo MenuPopupAtRectMethodInfo a signature where
+    overloadedMethod _ = menuPopupAtRect
+
+#endif
+
+-- method Menu::popup_at_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkMenu to pop up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to align @menu with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget_anchor", argType = TInterface (Name {namespace = "Gdk", name = "Gravity"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the point on @widget to align with @menu's anchor point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_anchor", argType = TInterface (Name {namespace = "Gdk", name = "Gravity"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the point on @menu to align with @widget's anchor point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "trigger_event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GdkEvent that initiated this request or\n                %NULL if it's the current event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_popup_at_widget" gtk_menu_popup_at_widget :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- widget_anchor : TInterface (Name {namespace = "Gdk", name = "Gravity"})
+    CUInt ->                                -- menu_anchor : TInterface (Name {namespace = "Gdk", name = "Gravity"})
+    Ptr Gdk.Event.Event ->                  -- trigger_event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO ()
+
+{- |
+Displays /@menu@/ and makes it available for selection.
+
+See gtk_menu_popup_at_pointer () to pop up a menu at the master pointer.
+gtk_menu_popup_at_rect () also allows you to position a menu at an arbitrary
+rectangle.
+
+<<https://developer.gnome.org/gtk3/stable/popup-anchors.png>>
+
+/@menu@/ will be positioned at /@widget@/, aligning their anchor points.
+/@widgetAnchor@/ and /@menuAnchor@/ determine anchor points on /@widget@/ and /@menu@/
+to pin together. /@menu@/ can optionally be offset by 'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dx/@
+and 'GI.Gtk.Objects.Menu.Menu':@/rect-anchor-dy/@.
+
+Anchors should be specified under the assumption that the text direction is
+left-to-right; they will be flipped horizontally automatically if the text
+direction is right-to-left.
+
+Other properties that influence the behaviour of this function are
+'GI.Gtk.Objects.Menu.Menu':@/anchor-hints/@ and 'GI.Gtk.Objects.Menu.Menu':@/menu-type-hint/@. Connect to the
+'GI.Gtk.Objects.Menu.Menu'::@/popped-up/@ signal to find out how it was actually positioned.
+
+/Since: 3.22/
+-}
+menuPopupAtWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menu@/: the 'GI.Gtk.Objects.Menu.Menu' to pop up -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' to align /@menu@/ with -}
+    -> Gdk.Enums.Gravity
+    {- ^ /@widgetAnchor@/: the point on /@widget@/ to align with /@menu@/\'s anchor point -}
+    -> Gdk.Enums.Gravity
+    {- ^ /@menuAnchor@/: the point on /@menu@/ to align with /@widget@/\'s anchor point -}
+    -> Maybe (Gdk.Event.Event)
+    {- ^ /@triggerEvent@/: the 'GI.Gdk.Unions.Event.Event' that initiated this request or
+                'Nothing' if it\'s the current event -}
+    -> m ()
+menuPopupAtWidget menu widget widgetAnchor menuAnchor triggerEvent = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    widget' <- unsafeManagedPtrCastPtr widget
+    let widgetAnchor' = (fromIntegral . fromEnum) widgetAnchor
+    let menuAnchor' = (fromIntegral . fromEnum) menuAnchor
+    maybeTriggerEvent <- case triggerEvent of
+        Nothing -> return nullPtr
+        Just jTriggerEvent -> do
+            jTriggerEvent' <- unsafeManagedPtrGetPtr jTriggerEvent
+            return jTriggerEvent'
+    gtk_menu_popup_at_widget menu' widget' widgetAnchor' menuAnchor' maybeTriggerEvent
+    touchManagedPtr menu
+    touchManagedPtr widget
+    whenJust triggerEvent touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuPopupAtWidgetMethodInfo
+instance (signature ~ (b -> Gdk.Enums.Gravity -> Gdk.Enums.Gravity -> Maybe (Gdk.Event.Event) -> m ()), MonadIO m, IsMenu a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuPopupAtWidgetMethodInfo a signature where
+    overloadedMethod _ = menuPopupAtWidget
+
+#endif
+
+-- method Menu::popup_for_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the menu shell containing the triggering\n    menu item, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the menu item whose activation triggered\n    the popup, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "MenuPositionFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a user supplied function used to position the menu,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 5, argDestroy = 6, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user supplied data to be passed to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "destroy notify for @data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mouse button which was pressed to initiate the event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "activate_time", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time at which the activation event occurred", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_popup_for_device" gtk_menu_popup_for_device :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    Ptr Gtk.Widget.Widget ->                -- parent_menu_shell : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- parent_menu_item : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    FunPtr Gtk.Callbacks.C_MenuPositionFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "MenuPositionFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    Word32 ->                               -- button : TBasicType TUInt
+    Word32 ->                               -- activate_time : TBasicType TUInt32
+    IO ()
+
+{-# DEPRECATED menuPopupForDevice ["(Since version 3.22)","Please use 'GI.Gtk.Objects.Menu.menuPopupAtWidget',","    'GI.Gtk.Objects.Menu.menuPopupAtPointer'. or 'GI.Gtk.Objects.Menu.menuPopupAtRect' instead"] #-}
+{- |
+Displays a menu and makes it available for selection.
+
+Applications can use this function to display context-sensitive menus,
+and will typically supply 'Nothing' for the /@parentMenuShell@/,
+/@parentMenuItem@/, /@func@/, /@data@/ and /@destroy@/ parameters. The default
+menu positioning function will position the menu at the current position
+of /@device@/ (or its corresponding pointer).
+
+The /@button@/ parameter should be the mouse button pressed to initiate
+the menu popup. If the menu popup was initiated by something other than
+a mouse button press, such as a mouse button release or a keypress,
+/@button@/ should be 0.
+
+The /@activateTime@/ parameter is used to conflict-resolve initiation of
+concurrent requests for mouse\/keyboard grab requests. To function
+properly, this needs to be the time stamp of the user event (such as
+a mouse click or key press) that caused the initiation of the popup.
+Only if no such event is available, 'GI.Gtk.Functions.getCurrentEventTime' can
+be used instead.
+
+Note that this function does not work very well on GDK backends that
+do not have global coordinates, such as Wayland or Mir. You should
+probably use one of the gtk_menu_popup_at_ variants, which do not
+have this problem.
+
+/Since: 3.0/
+-}
+menuPopupForDevice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gdk.Device.IsDevice b, Gtk.Widget.IsWidget c, Gtk.Widget.IsWidget d) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Maybe (b)
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> Maybe (c)
+    {- ^ /@parentMenuShell@/: the menu shell containing the triggering
+    menu item, or 'Nothing' -}
+    -> Maybe (d)
+    {- ^ /@parentMenuItem@/: the menu item whose activation triggered
+    the popup, or 'Nothing' -}
+    -> Maybe (Gtk.Callbacks.MenuPositionFunc)
+    {- ^ /@func@/: a user supplied function used to position the menu,
+    or 'Nothing' -}
+    -> Word32
+    {- ^ /@button@/: the mouse button which was pressed to initiate the event -}
+    -> Word32
+    {- ^ /@activateTime@/: the time at which the activation event occurred -}
+    -> m ()
+menuPopupForDevice menu device parentMenuShell parentMenuItem func button activateTime = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    maybeDevice <- case device of
+        Nothing -> return nullPtr
+        Just jDevice -> do
+            jDevice' <- unsafeManagedPtrCastPtr jDevice
+            return jDevice'
+    maybeParentMenuShell <- case parentMenuShell of
+        Nothing -> return nullPtr
+        Just jParentMenuShell -> do
+            jParentMenuShell' <- unsafeManagedPtrCastPtr jParentMenuShell
+            return jParentMenuShell'
+    maybeParentMenuItem <- case parentMenuItem of
+        Nothing -> return nullPtr
+        Just jParentMenuItem -> do
+            jParentMenuItem' <- unsafeManagedPtrCastPtr jParentMenuItem
+            return jParentMenuItem'
+    maybeFunc <- case func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFunc -> do
+            jFunc' <- Gtk.Callbacks.mk_MenuPositionFunc (Gtk.Callbacks.wrap_MenuPositionFunc Nothing (Gtk.Callbacks.drop_closures_MenuPositionFunc jFunc))
+            return jFunc'
+    let data_ = castFunPtrToPtr maybeFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_menu_popup_for_device menu' maybeDevice maybeParentMenuShell maybeParentMenuItem maybeFunc data_ destroy button activateTime
+    touchManagedPtr menu
+    whenJust device touchManagedPtr
+    whenJust parentMenuShell touchManagedPtr
+    whenJust parentMenuItem touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuPopupForDeviceMethodInfo
+instance (signature ~ (Maybe (b) -> Maybe (c) -> Maybe (d) -> Maybe (Gtk.Callbacks.MenuPositionFunc) -> Word32 -> Word32 -> m ()), MonadIO m, IsMenu a, Gdk.Device.IsDevice b, Gtk.Widget.IsWidget c, Gtk.Widget.IsWidget d) => O.MethodInfo MenuPopupForDeviceMethodInfo a signature where
+    overloadedMethod _ = menuPopupForDevice
+
+#endif
+
+-- method Menu::reorder_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkMenuItem to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new position to place @child.\n    Positions are numbered from 0 to n - 1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_reorder_child" gtk_menu_reorder_child :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Moves /@child@/ to a new /@position@/ in the list of /@menu@/
+children.
+-}
+menuReorderChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.MenuItem.MenuItem' to move -}
+    -> Int32
+    {- ^ /@position@/: the new position to place /@child@/.
+    Positions are numbered from 0 to n - 1 -}
+    -> m ()
+menuReorderChild menu child position = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_menu_reorder_child menu' child' position
+    touchManagedPtr menu
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuReorderChildMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsMenu a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuReorderChildMethodInfo a signature where
+    overloadedMethod _ = menuReorderChild
+
+#endif
+
+-- method Menu::reposition
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_reposition" gtk_menu_reposition :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO ()
+
+{- |
+Repositions the menu according to its position function.
+-}
+menuReposition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> m ()
+menuReposition menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    gtk_menu_reposition menu'
+    touchManagedPtr menu
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuRepositionMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuRepositionMethodInfo a signature where
+    overloadedMethod _ = menuReposition
+
+#endif
+
+-- method Menu::set_accel_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkAccelGroup to be associated\n              with the menu.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_set_accel_group" gtk_menu_set_accel_group :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO ()
+
+{- |
+Set the 'GI.Gtk.Objects.AccelGroup.AccelGroup' which holds global accelerators for the
+menu.  This accelerator group needs to also be added to all windows
+that this menu is being used in with 'GI.Gtk.Objects.Window.windowAddAccelGroup',
+in order for those windows to support all the accelerators
+contained in this group.
+-}
+menuSetAccelGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gtk.AccelGroup.IsAccelGroup b) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Maybe (b)
+    {- ^ /@accelGroup@/: the 'GI.Gtk.Objects.AccelGroup.AccelGroup' to be associated
+              with the menu. -}
+    -> m ()
+menuSetAccelGroup menu accelGroup = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    maybeAccelGroup <- case accelGroup of
+        Nothing -> return nullPtr
+        Just jAccelGroup -> do
+            jAccelGroup' <- unsafeManagedPtrCastPtr jAccelGroup
+            return jAccelGroup'
+    gtk_menu_set_accel_group menu' maybeAccelGroup
+    touchManagedPtr menu
+    whenJust accelGroup touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuSetAccelGroupMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsMenu a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo MenuSetAccelGroupMethodInfo a signature where
+    overloadedMethod _ = menuSetAccelGroup
+
+#endif
+
+-- method Menu::set_accel_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a valid accelerator path, or %NULL to unset the path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_set_accel_path" gtk_menu_set_accel_path :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    CString ->                              -- accel_path : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets an accelerator path for this menu from which accelerator paths
+for its immediate children, its menu items, can be constructed.
+The main purpose of this function is to spare the programmer the
+inconvenience of having to call 'GI.Gtk.Objects.MenuItem.menuItemSetAccelPath' on
+each menu item that should support runtime user changable accelerators.
+Instead, by just calling 'GI.Gtk.Objects.Menu.menuSetAccelPath' on their parent,
+each menu item of this menu, that contains a label describing its
+purpose, automatically gets an accel path assigned.
+
+For example, a menu containing menu items “New” and “Exit”, will, after
+@gtk_menu_set_accel_path (menu, \"\<Gnumeric-Sheet>\/File\");@ has been
+called, assign its items the accel paths: @\"\<Gnumeric-Sheet>\/File\/New\"@
+and @\"\<Gnumeric-Sheet>\/File\/Exit\"@.
+
+Assigning accel paths to menu items then enables the user to change
+their accelerators at runtime. More details about accelerator paths
+and their default setups can be found at 'GI.Gtk.Objects.AccelMap.accelMapAddEntry'.
+
+Note that /@accelPath@/ string will be stored in a @/GQuark/@. Therefore,
+if you pass a static string, you can save some memory by interning
+it first with 'GI.GLib.Functions.internStaticString'.
+-}
+menuSetAccelPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a valid 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Maybe (T.Text)
+    {- ^ /@accelPath@/: a valid accelerator path, or 'Nothing' to unset the path -}
+    -> m ()
+menuSetAccelPath menu accelPath = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    maybeAccelPath <- case accelPath of
+        Nothing -> return nullPtr
+        Just jAccelPath -> do
+            jAccelPath' <- textToCString jAccelPath
+            return jAccelPath'
+    gtk_menu_set_accel_path menu' maybeAccelPath
+    touchManagedPtr menu
+    freeMem maybeAccelPath
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuSetAccelPathMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuSetAccelPathMethodInfo a signature where
+    overloadedMethod _ = menuSetAccelPath
+
+#endif
+
+-- method Menu::set_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the menu item to select.  Index values are\n        from 0 to n-1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_set_active" gtk_menu_set_active :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Word32 ->                               -- index : TBasicType TUInt
+    IO ()
+
+{- |
+Selects the specified menu item within the menu.  This is used by
+the 'GI.Gtk.Objects.ComboBox.ComboBox' and should not be used by anyone else.
+-}
+menuSetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Word32
+    {- ^ /@index@/: the index of the menu item to select.  Index values are
+        from 0 to n-1 -}
+    -> m ()
+menuSetActive menu index = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    gtk_menu_set_active menu' index
+    touchManagedPtr menu
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuSetActiveMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuSetActiveMethodInfo a signature where
+    overloadedMethod _ = menuSetActive
+
+#endif
+
+-- method Menu::set_monitor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of the monitor on which the menu should\n   be popped up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_set_monitor" gtk_menu_set_monitor :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Int32 ->                                -- monitor_num : TBasicType TInt
+    IO ()
+
+{- |
+Informs GTK+ on which monitor a menu should be popped up.
+See 'GI.Gdk.Objects.Monitor.monitorGetGeometry'.
+
+This function should be called from a 'GI.Gtk.Callbacks.MenuPositionFunc'
+if the menu should not appear on the same monitor as the pointer.
+This information can’t be reliably inferred from the coordinates
+returned by a 'GI.Gtk.Callbacks.MenuPositionFunc', since, for very long menus,
+these coordinates may extend beyond the monitor boundaries or even
+the screen boundaries.
+
+/Since: 2.4/
+-}
+menuSetMonitor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Int32
+    {- ^ /@monitorNum@/: the number of the monitor on which the menu should
+   be popped up -}
+    -> m ()
+menuSetMonitor menu monitorNum = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    gtk_menu_set_monitor menu' monitorNum
+    touchManagedPtr menu
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuSetMonitorMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuSetMonitorMethodInfo a signature where
+    overloadedMethod _ = menuSetMonitor
+
+#endif
+
+-- method Menu::set_reserve_toggle_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reserve_toggle_size", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to reserve size for toggles", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_set_reserve_toggle_size" gtk_menu_set_reserve_toggle_size :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    CInt ->                                 -- reserve_toggle_size : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the menu should reserve space for drawing toggles
+or icons, regardless of their actual presence.
+
+/Since: 2.18/
+-}
+menuSetReserveToggleSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Bool
+    {- ^ /@reserveToggleSize@/: whether to reserve size for toggles -}
+    -> m ()
+menuSetReserveToggleSize menu reserveToggleSize = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    let reserveToggleSize' = (fromIntegral . fromEnum) reserveToggleSize
+    gtk_menu_set_reserve_toggle_size menu' reserveToggleSize'
+    touchManagedPtr menu
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuSetReserveToggleSizeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuSetReserveToggleSizeMethodInfo a signature where
+    overloadedMethod _ = menuSetReserveToggleSize
+
+#endif
+
+-- method Menu::set_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkScreen, or %NULL if the screen should be\n         determined by the widget the menu is attached to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_set_screen" gtk_menu_set_screen :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO ()
+
+{- |
+Sets the 'GI.Gdk.Objects.Screen.Screen' on which the menu will be displayed.
+
+/Since: 2.2/
+-}
+menuSetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a, Gdk.Screen.IsScreen b) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Maybe (b)
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen', or 'Nothing' if the screen should be
+         determined by the widget the menu is attached to -}
+    -> m ()
+menuSetScreen menu screen = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    maybeScreen <- case screen of
+        Nothing -> return nullPtr
+        Just jScreen -> do
+            jScreen' <- unsafeManagedPtrCastPtr jScreen
+            return jScreen'
+    gtk_menu_set_screen menu' maybeScreen
+    touchManagedPtr menu
+    whenJust screen touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuSetScreenMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsMenu a, Gdk.Screen.IsScreen b) => O.MethodInfo MenuSetScreenMethodInfo a signature where
+    overloadedMethod _ = menuSetScreen
+
+#endif
+
+-- method Menu::set_tearoff_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "torn_off", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, menu is displayed as a tearoff menu.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_set_tearoff_state" gtk_menu_set_tearoff_state :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    CInt ->                                 -- torn_off : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED menuSetTearoffState ["(Since version 3.10)"] #-}
+{- |
+Changes the tearoff state of the menu.  A menu is normally
+displayed as drop down menu which persists as long as the menu is
+active.  It can also be displayed as a tearoff menu which persists
+until it is closed or reattached.
+-}
+menuSetTearoffState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Bool
+    {- ^ /@tornOff@/: If 'True', menu is displayed as a tearoff menu. -}
+    -> m ()
+menuSetTearoffState menu tornOff = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    let tornOff' = (fromIntegral . fromEnum) tornOff
+    gtk_menu_set_tearoff_state menu' tornOff'
+    touchManagedPtr menu
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuSetTearoffStateMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuSetTearoffStateMethodInfo a signature where
+    overloadedMethod _ = menuSetTearoffState
+
+#endif
+
+-- method Menu::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string containing the title for the menu, or %NULL to\n  inherit the title of the parent menu item, if any", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_set_title" gtk_menu_set_title :: 
+    Ptr Menu ->                             -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED menuSetTitle ["(Since version 3.10)"] #-}
+{- |
+Sets the title string for the menu.
+
+The title is displayed when the menu is shown as a tearoff
+menu. If /@title@/ is 'Nothing', the menu will see if it is attached
+to a parent menu item, and if so it will try to use the same
+text as that menu item’s label.
+-}
+menuSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Maybe (T.Text)
+    {- ^ /@title@/: a string containing the title for the menu, or 'Nothing' to
+  inherit the title of the parent menu item, if any -}
+    -> m ()
+menuSetTitle menu title = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    maybeTitle <- case title of
+        Nothing -> return nullPtr
+        Just jTitle -> do
+            jTitle' <- textToCString jTitle
+            return jTitle'
+    gtk_menu_set_title menu' maybeTitle
+    touchManagedPtr menu
+    freeMem maybeTitle
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuSetTitleMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsMenu a) => O.MethodInfo MenuSetTitleMethodInfo a signature where
+    overloadedMethod _ = menuSetTitle
+
+#endif
+
+-- method Menu::get_for_attach_widget
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Widget"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_get_for_attach_widget" gtk_menu_get_for_attach_widget :: 
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr (GList (Ptr Gtk.Widget.Widget)))
+
+{- |
+Returns a list of the menus which are attached to this widget.
+This list is owned by GTK+ and must not be modified.
+
+/Since: 2.6/
+-}
+menuGetForAttachWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m [Gtk.Widget.Widget]
+    {- ^ __Returns:__ the list
+    of menus attached to his widget. -}
+menuGetForAttachWidget widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_menu_get_for_attach_widget widget'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.Widget.Widget) result'
+    touchManagedPtr widget
+    return result''
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/Menu.hs-boot b/GI/Gtk/Objects/Menu.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Menu.hs-boot
@@ -0,0 +1,155 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Menu where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Menu = Menu (ManagedPtr Menu)
+instance GObject Menu where
+class (GObject o, O.IsDescendantOf Menu o) => IsMenu o
+instance (GObject o, O.IsDescendantOf Menu o) => IsMenu o
+instance O.HasParentTypes Menu
+#if ENABLE_OVERLOADING
+data MenuAccelGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuAccelPathPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuAnchorHintsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuAttachWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuMenuTypeHintPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuMonitorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuRectAnchorDxPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuRectAnchorDyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuReserveToggleSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuTearoffStatePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuTearoffTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuMoveScrollSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuPoppedUpSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuAttachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuAttachToWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuDetachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuGetAccelGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuGetAccelPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuGetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuGetAttachWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuGetMonitorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuGetReserveToggleSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuGetTearoffStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuPlaceOnMonitorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuPopdownMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuPopupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuPopupAtPointerMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuPopupAtRectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuPopupAtWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuPopupForDeviceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuReorderChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuRepositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuSetAccelGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuSetAccelPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuSetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuSetMonitorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuSetReserveToggleSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuSetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuSetTearoffStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuSetTitleMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/MenuAccessible.hs b/GI/Gtk/Objects/MenuAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuAccessible.hs
@@ -0,0 +1,174 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MenuAccessible
+    ( 
+
+-- * Exported types
+    MenuAccessible(..)                      ,
+    IsMenuAccessible                        ,
+    toMenuAccessible                        ,
+    noMenuAccessible                        ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuShellAccessible as Gtk.MenuShellAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype MenuAccessible = MenuAccessible (ManagedPtr MenuAccessible)
+foreign import ccall "gtk_menu_accessible_get_type"
+    c_gtk_menu_accessible_get_type :: IO GType
+
+instance GObject MenuAccessible where
+    gobjectType = c_gtk_menu_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `MenuAccessible`, for instance with `toMenuAccessible`.
+class (GObject o, O.IsDescendantOf MenuAccessible o) => IsMenuAccessible o
+instance (GObject o, O.IsDescendantOf MenuAccessible o) => IsMenuAccessible o
+
+instance O.HasParentTypes MenuAccessible
+type instance O.ParentTypes MenuAccessible = '[Gtk.MenuShellAccessible.MenuShellAccessible, Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `MenuAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenuAccessible :: (MonadIO m, IsMenuAccessible o) => o -> m MenuAccessible
+toMenuAccessible = liftIO . unsafeCastTo MenuAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MenuAccessible`.
+noMenuAccessible :: Maybe MenuAccessible
+noMenuAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveMenuAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveMenuAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveMenuAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveMenuAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveMenuAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveMenuAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveMenuAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveMenuAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveMenuAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveMenuAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveMenuAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveMenuAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveMenuAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveMenuAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveMenuAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveMenuAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveMenuAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveMenuAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveMenuAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveMenuAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveMenuAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveMenuAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveMenuAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveMenuAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveMenuAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveMenuAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveMenuAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveMenuAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveMenuAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveMenuAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveMenuAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveMenuAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveMenuAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveMenuAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveMenuAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveMenuAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveMenuAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveMenuAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveMenuAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveMenuAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveMenuAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveMenuAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveMenuAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveMenuAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveMenuAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveMenuAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuAccessibleMethod t MenuAccessible, O.MethodInfo info MenuAccessible p) => OL.IsLabel t (MenuAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MenuAccessible
+type instance O.AttributeList MenuAccessible = MenuAccessibleAttributeList
+type MenuAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList MenuAccessible = MenuAccessibleSignalList
+type MenuAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MenuAccessible.hs-boot b/GI/Gtk/Objects/MenuAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MenuAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MenuAccessible = MenuAccessible (ManagedPtr MenuAccessible)
+instance GObject MenuAccessible where
+class (GObject o, O.IsDescendantOf MenuAccessible o) => IsMenuAccessible o
+instance (GObject o, O.IsDescendantOf MenuAccessible o) => IsMenuAccessible o
+instance O.HasParentTypes MenuAccessible
diff --git a/GI/Gtk/Objects/MenuBar.hs b/GI/Gtk/Objects/MenuBar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuBar.hs
@@ -0,0 +1,853 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.MenuBar.MenuBar' is a subclass of 'GI.Gtk.Objects.MenuShell.MenuShell' which contains one or
+more @/GtkMenuItems/@. The result is a standard menu bar which can hold
+many menu items.
+
+= CSS nodes
+
+GtkMenuBar has a single CSS node with name menubar.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MenuBar
+    ( 
+
+-- * Exported types
+    MenuBar(..)                             ,
+    IsMenuBar                               ,
+    toMenuBar                               ,
+    noMenuBar                               ,
+
+
+ -- * Methods
+-- ** getChildPackDirection #method:getChildPackDirection#
+
+#if ENABLE_OVERLOADING
+    MenuBarGetChildPackDirectionMethodInfo  ,
+#endif
+    menuBarGetChildPackDirection            ,
+
+
+-- ** getPackDirection #method:getPackDirection#
+
+#if ENABLE_OVERLOADING
+    MenuBarGetPackDirectionMethodInfo       ,
+#endif
+    menuBarGetPackDirection                 ,
+
+
+-- ** new #method:new#
+
+    menuBarNew                              ,
+
+
+-- ** newFromModel #method:newFromModel#
+
+    menuBarNewFromModel                     ,
+
+
+-- ** setChildPackDirection #method:setChildPackDirection#
+
+#if ENABLE_OVERLOADING
+    MenuBarSetChildPackDirectionMethodInfo  ,
+#endif
+    menuBarSetChildPackDirection            ,
+
+
+-- ** setPackDirection #method:setPackDirection#
+
+#if ENABLE_OVERLOADING
+    MenuBarSetPackDirectionMethodInfo       ,
+#endif
+    menuBarSetPackDirection                 ,
+
+
+
+
+ -- * Properties
+-- ** childPackDirection #attr:childPackDirection#
+{- | The child pack direction of the menubar. It determines how
+the widgets contained in child menuitems are arranged.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    MenuBarChildPackDirectionPropertyInfo   ,
+#endif
+    constructMenuBarChildPackDirection      ,
+    getMenuBarChildPackDirection            ,
+#if ENABLE_OVERLOADING
+    menuBarChildPackDirection               ,
+#endif
+    setMenuBarChildPackDirection            ,
+
+
+-- ** packDirection #attr:packDirection#
+{- | The pack direction of the menubar. It determines how
+menuitems are arranged in the menubar.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    MenuBarPackDirectionPropertyInfo        ,
+#endif
+    constructMenuBarPackDirection           ,
+    getMenuBarPackDirection                 ,
+#if ENABLE_OVERLOADING
+    menuBarPackDirection                    ,
+#endif
+    setMenuBarPackDirection                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuShell as Gtk.MenuShell
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype MenuBar = MenuBar (ManagedPtr MenuBar)
+foreign import ccall "gtk_menu_bar_get_type"
+    c_gtk_menu_bar_get_type :: IO GType
+
+instance GObject MenuBar where
+    gobjectType = c_gtk_menu_bar_get_type
+    
+
+-- | Type class for types which can be safely cast to `MenuBar`, for instance with `toMenuBar`.
+class (GObject o, O.IsDescendantOf MenuBar o) => IsMenuBar o
+instance (GObject o, O.IsDescendantOf MenuBar o) => IsMenuBar o
+
+instance O.HasParentTypes MenuBar
+type instance O.ParentTypes MenuBar = '[Gtk.MenuShell.MenuShell, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `MenuBar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenuBar :: (MonadIO m, IsMenuBar o) => o -> m MenuBar
+toMenuBar = liftIO . unsafeCastTo MenuBar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MenuBar`.
+noMenuBar :: Maybe MenuBar
+noMenuBar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuBarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuBarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveMenuBarMethod "activateItem" o = Gtk.MenuShell.MenuShellActivateItemMethodInfo
+    ResolveMenuBarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveMenuBarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveMenuBarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveMenuBarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveMenuBarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveMenuBarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveMenuBarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveMenuBarMethod "append" o = Gtk.MenuShell.MenuShellAppendMethodInfo
+    ResolveMenuBarMethod "bindModel" o = Gtk.MenuShell.MenuShellBindModelMethodInfo
+    ResolveMenuBarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuBarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuBarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveMenuBarMethod "cancel" o = Gtk.MenuShell.MenuShellCancelMethodInfo
+    ResolveMenuBarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveMenuBarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveMenuBarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveMenuBarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveMenuBarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveMenuBarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveMenuBarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveMenuBarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveMenuBarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveMenuBarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveMenuBarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveMenuBarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveMenuBarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveMenuBarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveMenuBarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveMenuBarMethod "deactivate" o = Gtk.MenuShell.MenuShellDeactivateMethodInfo
+    ResolveMenuBarMethod "deselect" o = Gtk.MenuShell.MenuShellDeselectMethodInfo
+    ResolveMenuBarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveMenuBarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveMenuBarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveMenuBarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveMenuBarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveMenuBarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveMenuBarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveMenuBarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveMenuBarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveMenuBarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveMenuBarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveMenuBarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveMenuBarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveMenuBarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveMenuBarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveMenuBarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveMenuBarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveMenuBarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveMenuBarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveMenuBarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveMenuBarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveMenuBarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveMenuBarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveMenuBarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveMenuBarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveMenuBarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveMenuBarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveMenuBarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveMenuBarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveMenuBarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveMenuBarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveMenuBarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveMenuBarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveMenuBarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveMenuBarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveMenuBarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveMenuBarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuBarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveMenuBarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveMenuBarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuBarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuBarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveMenuBarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveMenuBarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveMenuBarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveMenuBarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveMenuBarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveMenuBarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveMenuBarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveMenuBarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveMenuBarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveMenuBarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveMenuBarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveMenuBarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveMenuBarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveMenuBarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveMenuBarMethod "insert" o = Gtk.MenuShell.MenuShellInsertMethodInfo
+    ResolveMenuBarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveMenuBarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveMenuBarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveMenuBarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveMenuBarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveMenuBarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuBarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveMenuBarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveMenuBarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveMenuBarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveMenuBarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveMenuBarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveMenuBarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveMenuBarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveMenuBarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveMenuBarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveMenuBarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveMenuBarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveMenuBarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveMenuBarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveMenuBarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveMenuBarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveMenuBarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveMenuBarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuBarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuBarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveMenuBarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveMenuBarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveMenuBarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveMenuBarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveMenuBarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveMenuBarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveMenuBarMethod "prepend" o = Gtk.MenuShell.MenuShellPrependMethodInfo
+    ResolveMenuBarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveMenuBarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveMenuBarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveMenuBarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveMenuBarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveMenuBarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveMenuBarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveMenuBarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveMenuBarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveMenuBarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuBarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuBarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveMenuBarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveMenuBarMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveMenuBarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveMenuBarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveMenuBarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveMenuBarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveMenuBarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveMenuBarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveMenuBarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveMenuBarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveMenuBarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveMenuBarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuBarMethod "selectFirst" o = Gtk.MenuShell.MenuShellSelectFirstMethodInfo
+    ResolveMenuBarMethod "selectItem" o = Gtk.MenuShell.MenuShellSelectItemMethodInfo
+    ResolveMenuBarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveMenuBarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveMenuBarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveMenuBarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveMenuBarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveMenuBarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveMenuBarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveMenuBarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveMenuBarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveMenuBarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuBarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuBarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveMenuBarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveMenuBarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveMenuBarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuBarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveMenuBarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveMenuBarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveMenuBarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveMenuBarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveMenuBarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuBarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveMenuBarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveMenuBarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveMenuBarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuBarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveMenuBarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveMenuBarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveMenuBarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveMenuBarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveMenuBarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveMenuBarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveMenuBarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveMenuBarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveMenuBarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveMenuBarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveMenuBarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveMenuBarMethod "getChildPackDirection" o = MenuBarGetChildPackDirectionMethodInfo
+    ResolveMenuBarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveMenuBarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveMenuBarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveMenuBarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveMenuBarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveMenuBarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveMenuBarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuBarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveMenuBarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveMenuBarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveMenuBarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveMenuBarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveMenuBarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveMenuBarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveMenuBarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveMenuBarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveMenuBarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveMenuBarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveMenuBarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveMenuBarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveMenuBarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveMenuBarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveMenuBarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveMenuBarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveMenuBarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveMenuBarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveMenuBarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveMenuBarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveMenuBarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveMenuBarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveMenuBarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveMenuBarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveMenuBarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveMenuBarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveMenuBarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveMenuBarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveMenuBarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveMenuBarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveMenuBarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveMenuBarMethod "getPackDirection" o = MenuBarGetPackDirectionMethodInfo
+    ResolveMenuBarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveMenuBarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveMenuBarMethod "getParentShell" o = Gtk.MenuShell.MenuShellGetParentShellMethodInfo
+    ResolveMenuBarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveMenuBarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveMenuBarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveMenuBarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveMenuBarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveMenuBarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveMenuBarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveMenuBarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveMenuBarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveMenuBarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveMenuBarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuBarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuBarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveMenuBarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveMenuBarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveMenuBarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveMenuBarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveMenuBarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveMenuBarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveMenuBarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveMenuBarMethod "getSelectedItem" o = Gtk.MenuShell.MenuShellGetSelectedItemMethodInfo
+    ResolveMenuBarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveMenuBarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveMenuBarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveMenuBarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveMenuBarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveMenuBarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveMenuBarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveMenuBarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveMenuBarMethod "getTakeFocus" o = Gtk.MenuShell.MenuShellGetTakeFocusMethodInfo
+    ResolveMenuBarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveMenuBarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveMenuBarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveMenuBarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveMenuBarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveMenuBarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveMenuBarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveMenuBarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveMenuBarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveMenuBarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveMenuBarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveMenuBarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveMenuBarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveMenuBarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveMenuBarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveMenuBarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveMenuBarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveMenuBarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveMenuBarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveMenuBarMethod "setChildPackDirection" o = MenuBarSetChildPackDirectionMethodInfo
+    ResolveMenuBarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveMenuBarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveMenuBarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveMenuBarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuBarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveMenuBarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveMenuBarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveMenuBarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveMenuBarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveMenuBarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveMenuBarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveMenuBarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveMenuBarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveMenuBarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveMenuBarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveMenuBarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveMenuBarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveMenuBarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveMenuBarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveMenuBarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveMenuBarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveMenuBarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveMenuBarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveMenuBarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveMenuBarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveMenuBarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveMenuBarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveMenuBarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveMenuBarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveMenuBarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveMenuBarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveMenuBarMethod "setPackDirection" o = MenuBarSetPackDirectionMethodInfo
+    ResolveMenuBarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveMenuBarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveMenuBarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuBarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveMenuBarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveMenuBarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveMenuBarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveMenuBarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveMenuBarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveMenuBarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveMenuBarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveMenuBarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveMenuBarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveMenuBarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveMenuBarMethod "setTakeFocus" o = Gtk.MenuShell.MenuShellSetTakeFocusMethodInfo
+    ResolveMenuBarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveMenuBarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveMenuBarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveMenuBarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveMenuBarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveMenuBarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveMenuBarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveMenuBarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveMenuBarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveMenuBarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuBarMethod t MenuBar, O.MethodInfo info MenuBar p) => OL.IsLabel t (MenuBar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "child-pack-direction"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PackDirection"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@child-pack-direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuBar #childPackDirection
+@
+-}
+getMenuBarChildPackDirection :: (MonadIO m, IsMenuBar o) => o -> m Gtk.Enums.PackDirection
+getMenuBarChildPackDirection obj = liftIO $ B.Properties.getObjectPropertyEnum obj "child-pack-direction"
+
+{- |
+Set the value of the “@child-pack-direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuBar [ #childPackDirection 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuBarChildPackDirection :: (MonadIO m, IsMenuBar o) => o -> Gtk.Enums.PackDirection -> m ()
+setMenuBarChildPackDirection obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "child-pack-direction" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@child-pack-direction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuBarChildPackDirection :: (IsMenuBar o) => Gtk.Enums.PackDirection -> IO (GValueConstruct o)
+constructMenuBarChildPackDirection val = B.Properties.constructObjectPropertyEnum "child-pack-direction" val
+
+#if ENABLE_OVERLOADING
+data MenuBarChildPackDirectionPropertyInfo
+instance AttrInfo MenuBarChildPackDirectionPropertyInfo where
+    type AttrAllowedOps MenuBarChildPackDirectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuBarChildPackDirectionPropertyInfo = (~) Gtk.Enums.PackDirection
+    type AttrBaseTypeConstraint MenuBarChildPackDirectionPropertyInfo = IsMenuBar
+    type AttrGetType MenuBarChildPackDirectionPropertyInfo = Gtk.Enums.PackDirection
+    type AttrLabel MenuBarChildPackDirectionPropertyInfo = "child-pack-direction"
+    type AttrOrigin MenuBarChildPackDirectionPropertyInfo = MenuBar
+    attrGet _ = getMenuBarChildPackDirection
+    attrSet _ = setMenuBarChildPackDirection
+    attrConstruct _ = constructMenuBarChildPackDirection
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pack-direction"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PackDirection"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@pack-direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuBar #packDirection
+@
+-}
+getMenuBarPackDirection :: (MonadIO m, IsMenuBar o) => o -> m Gtk.Enums.PackDirection
+getMenuBarPackDirection obj = liftIO $ B.Properties.getObjectPropertyEnum obj "pack-direction"
+
+{- |
+Set the value of the “@pack-direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuBar [ #packDirection 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuBarPackDirection :: (MonadIO m, IsMenuBar o) => o -> Gtk.Enums.PackDirection -> m ()
+setMenuBarPackDirection obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "pack-direction" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pack-direction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuBarPackDirection :: (IsMenuBar o) => Gtk.Enums.PackDirection -> IO (GValueConstruct o)
+constructMenuBarPackDirection val = B.Properties.constructObjectPropertyEnum "pack-direction" val
+
+#if ENABLE_OVERLOADING
+data MenuBarPackDirectionPropertyInfo
+instance AttrInfo MenuBarPackDirectionPropertyInfo where
+    type AttrAllowedOps MenuBarPackDirectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuBarPackDirectionPropertyInfo = (~) Gtk.Enums.PackDirection
+    type AttrBaseTypeConstraint MenuBarPackDirectionPropertyInfo = IsMenuBar
+    type AttrGetType MenuBarPackDirectionPropertyInfo = Gtk.Enums.PackDirection
+    type AttrLabel MenuBarPackDirectionPropertyInfo = "pack-direction"
+    type AttrOrigin MenuBarPackDirectionPropertyInfo = MenuBar
+    attrGet _ = getMenuBarPackDirection
+    attrSet _ = setMenuBarPackDirection
+    attrConstruct _ = constructMenuBarPackDirection
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MenuBar
+type instance O.AttributeList MenuBar = MenuBarAttributeList
+type MenuBarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("childPackDirection", MenuBarChildPackDirectionPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("packDirection", MenuBarPackDirectionPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("takeFocus", Gtk.MenuShell.MenuShellTakeFocusPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+menuBarChildPackDirection :: AttrLabelProxy "childPackDirection"
+menuBarChildPackDirection = AttrLabelProxy
+
+menuBarPackDirection :: AttrLabelProxy "packDirection"
+menuBarPackDirection = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList MenuBar = MenuBarSignalList
+type MenuBarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateCurrent", Gtk.MenuShell.MenuShellActivateCurrentSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("cancel", Gtk.MenuShell.MenuShellCancelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("cycleFocus", Gtk.MenuShell.MenuShellCycleFocusSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deactivate", Gtk.MenuShell.MenuShellDeactivateSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("insert", Gtk.MenuShell.MenuShellInsertSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCurrent", Gtk.MenuShell.MenuShellMoveCurrentSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveSelected", Gtk.MenuShell.MenuShellMoveSelectedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionDone", Gtk.MenuShell.MenuShellSelectionDoneSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method MenuBar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MenuBar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_bar_new" gtk_menu_bar_new :: 
+    IO (Ptr MenuBar)
+
+{- |
+Creates a new 'GI.Gtk.Objects.MenuBar.MenuBar'
+-}
+menuBarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m MenuBar
+    {- ^ __Returns:__ the new menu bar, as a 'GI.Gtk.Objects.Widget.Widget' -}
+menuBarNew  = liftIO $ do
+    result <- gtk_menu_bar_new
+    checkUnexpectedReturnNULL "menuBarNew" result
+    result' <- (newObject MenuBar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method MenuBar::new_from_model
+-- method type : Constructor
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gio", name = "MenuModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMenuModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MenuBar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_bar_new_from_model" gtk_menu_bar_new_from_model :: 
+    Ptr Gio.MenuModel.MenuModel ->          -- model : TInterface (Name {namespace = "Gio", name = "MenuModel"})
+    IO (Ptr MenuBar)
+
+{- |
+Creates a new 'GI.Gtk.Objects.MenuBar.MenuBar' and populates it with menu items
+and submenus according to /@model@/.
+
+The created menu items are connected to actions found in the
+'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' to which the menu bar belongs - typically
+by means of being contained within the @/GtkApplicationWindows/@
+widget hierarchy.
+
+/Since: 3.4/
+-}
+menuBarNewFromModel ::
+    (B.CallStack.HasCallStack, MonadIO m, Gio.MenuModel.IsMenuModel a) =>
+    a
+    {- ^ /@model@/: a 'GI.Gio.Objects.MenuModel.MenuModel' -}
+    -> m MenuBar
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.MenuBar.MenuBar' -}
+menuBarNewFromModel model = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    result <- gtk_menu_bar_new_from_model model'
+    checkUnexpectedReturnNULL "menuBarNewFromModel" result
+    result' <- (newObject MenuBar) result
+    touchManagedPtr model
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method MenuBar::get_child_pack_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menubar", argType = TInterface (Name {namespace = "Gtk", name = "MenuBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PackDirection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_bar_get_child_pack_direction" gtk_menu_bar_get_child_pack_direction :: 
+    Ptr MenuBar ->                          -- menubar : TInterface (Name {namespace = "Gtk", name = "MenuBar"})
+    IO CUInt
+
+{- |
+Retrieves the current child pack direction of the menubar.
+See 'GI.Gtk.Objects.MenuBar.menuBarSetChildPackDirection'.
+
+/Since: 2.8/
+-}
+menuBarGetChildPackDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuBar a) =>
+    a
+    {- ^ /@menubar@/: a 'GI.Gtk.Objects.MenuBar.MenuBar' -}
+    -> m Gtk.Enums.PackDirection
+    {- ^ __Returns:__ the child pack direction -}
+menuBarGetChildPackDirection menubar = liftIO $ do
+    menubar' <- unsafeManagedPtrCastPtr menubar
+    result <- gtk_menu_bar_get_child_pack_direction menubar'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr menubar
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuBarGetChildPackDirectionMethodInfo
+instance (signature ~ (m Gtk.Enums.PackDirection), MonadIO m, IsMenuBar a) => O.MethodInfo MenuBarGetChildPackDirectionMethodInfo a signature where
+    overloadedMethod _ = menuBarGetChildPackDirection
+
+#endif
+
+-- method MenuBar::get_pack_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menubar", argType = TInterface (Name {namespace = "Gtk", name = "MenuBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PackDirection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_bar_get_pack_direction" gtk_menu_bar_get_pack_direction :: 
+    Ptr MenuBar ->                          -- menubar : TInterface (Name {namespace = "Gtk", name = "MenuBar"})
+    IO CUInt
+
+{- |
+Retrieves the current pack direction of the menubar.
+See 'GI.Gtk.Objects.MenuBar.menuBarSetPackDirection'.
+
+/Since: 2.8/
+-}
+menuBarGetPackDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuBar a) =>
+    a
+    {- ^ /@menubar@/: a 'GI.Gtk.Objects.MenuBar.MenuBar' -}
+    -> m Gtk.Enums.PackDirection
+    {- ^ __Returns:__ the pack direction -}
+menuBarGetPackDirection menubar = liftIO $ do
+    menubar' <- unsafeManagedPtrCastPtr menubar
+    result <- gtk_menu_bar_get_pack_direction menubar'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr menubar
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuBarGetPackDirectionMethodInfo
+instance (signature ~ (m Gtk.Enums.PackDirection), MonadIO m, IsMenuBar a) => O.MethodInfo MenuBarGetPackDirectionMethodInfo a signature where
+    overloadedMethod _ = menuBarGetPackDirection
+
+#endif
+
+-- method MenuBar::set_child_pack_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menubar", argType = TInterface (Name {namespace = "Gtk", name = "MenuBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_pack_dir", argType = TInterface (Name {namespace = "Gtk", name = "PackDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new #GtkPackDirection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_bar_set_child_pack_direction" gtk_menu_bar_set_child_pack_direction :: 
+    Ptr MenuBar ->                          -- menubar : TInterface (Name {namespace = "Gtk", name = "MenuBar"})
+    CUInt ->                                -- child_pack_dir : TInterface (Name {namespace = "Gtk", name = "PackDirection"})
+    IO ()
+
+{- |
+Sets how widgets should be packed inside the children of a menubar.
+
+/Since: 2.8/
+-}
+menuBarSetChildPackDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuBar a) =>
+    a
+    {- ^ /@menubar@/: a 'GI.Gtk.Objects.MenuBar.MenuBar' -}
+    -> Gtk.Enums.PackDirection
+    {- ^ /@childPackDir@/: a new 'GI.Gtk.Enums.PackDirection' -}
+    -> m ()
+menuBarSetChildPackDirection menubar childPackDir = liftIO $ do
+    menubar' <- unsafeManagedPtrCastPtr menubar
+    let childPackDir' = (fromIntegral . fromEnum) childPackDir
+    gtk_menu_bar_set_child_pack_direction menubar' childPackDir'
+    touchManagedPtr menubar
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuBarSetChildPackDirectionMethodInfo
+instance (signature ~ (Gtk.Enums.PackDirection -> m ()), MonadIO m, IsMenuBar a) => O.MethodInfo MenuBarSetChildPackDirectionMethodInfo a signature where
+    overloadedMethod _ = menuBarSetChildPackDirection
+
+#endif
+
+-- method MenuBar::set_pack_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menubar", argType = TInterface (Name {namespace = "Gtk", name = "MenuBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pack_dir", argType = TInterface (Name {namespace = "Gtk", name = "PackDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new #GtkPackDirection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_bar_set_pack_direction" gtk_menu_bar_set_pack_direction :: 
+    Ptr MenuBar ->                          -- menubar : TInterface (Name {namespace = "Gtk", name = "MenuBar"})
+    CUInt ->                                -- pack_dir : TInterface (Name {namespace = "Gtk", name = "PackDirection"})
+    IO ()
+
+{- |
+Sets how items should be packed inside a menubar.
+
+/Since: 2.8/
+-}
+menuBarSetPackDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuBar a) =>
+    a
+    {- ^ /@menubar@/: a 'GI.Gtk.Objects.MenuBar.MenuBar' -}
+    -> Gtk.Enums.PackDirection
+    {- ^ /@packDir@/: a new 'GI.Gtk.Enums.PackDirection' -}
+    -> m ()
+menuBarSetPackDirection menubar packDir = liftIO $ do
+    menubar' <- unsafeManagedPtrCastPtr menubar
+    let packDir' = (fromIntegral . fromEnum) packDir
+    gtk_menu_bar_set_pack_direction menubar' packDir'
+    touchManagedPtr menubar
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuBarSetPackDirectionMethodInfo
+instance (signature ~ (Gtk.Enums.PackDirection -> m ()), MonadIO m, IsMenuBar a) => O.MethodInfo MenuBarSetPackDirectionMethodInfo a signature where
+    overloadedMethod _ = menuBarSetPackDirection
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MenuBar.hs-boot b/GI/Gtk/Objects/MenuBar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuBar.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MenuBar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MenuBar = MenuBar (ManagedPtr MenuBar)
+instance GObject MenuBar where
+class (GObject o, O.IsDescendantOf MenuBar o) => IsMenuBar o
+instance (GObject o, O.IsDescendantOf MenuBar o) => IsMenuBar o
+instance O.HasParentTypes MenuBar
+#if ENABLE_OVERLOADING
+data MenuBarChildPackDirectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuBarPackDirectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuBarGetChildPackDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuBarGetPackDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuBarSetChildPackDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuBarSetPackDirectionMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/MenuButton.hs b/GI/Gtk/Objects/MenuButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuButton.hs
@@ -0,0 +1,1699 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.MenuButton.MenuButton' widget is used to display a popup when clicked on.
+This popup can be provided either as a 'GI.Gtk.Objects.Menu.Menu', a 'GI.Gtk.Objects.Popover.Popover' or an
+abstract 'GI.Gio.Objects.MenuModel.MenuModel'.
+
+The 'GI.Gtk.Objects.MenuButton.MenuButton' widget can hold any valid child widget. That is, it
+can hold almost any other standard 'GI.Gtk.Objects.Widget.Widget'. The most commonly used
+child is 'GI.Gtk.Objects.Image.Image'. If no widget is explicitely added to the 'GI.Gtk.Objects.MenuButton.MenuButton',
+a 'GI.Gtk.Objects.Image.Image' is automatically created, using an arrow image oriented
+according to 'GI.Gtk.Objects.MenuButton.MenuButton':@/direction/@ or the generic “open-menu-symbolic”
+icon if the direction is not set.
+
+The positioning of the popup is determined by the 'GI.Gtk.Objects.MenuButton.MenuButton':@/direction/@
+property of the menu button.
+
+For menus, the 'GI.Gtk.Objects.Widget.Widget':@/halign/@ and 'GI.Gtk.Objects.Widget.Widget':@/valign/@ properties of the
+menu are also taken into account. For example, when the direction is
+'GI.Gtk.Enums.ArrowTypeDown' and the horizontal alignment is 'GI.Gtk.Enums.AlignStart', the
+menu will be positioned below the button, with the starting edge
+(depending on the text direction) of the menu aligned with the starting
+edge of the button. If there is not enough space below the button, the
+menu is popped up above the button instead. If the alignment would move
+part of the menu offscreen, it is “pushed in”.
+
+== Direction = Down
+
+
+* halign = start
+
+
+    <<https://developer.gnome.org/gtk3/stable/down-start.png>>
+
+* halign = center
+
+
+    <<https://developer.gnome.org/gtk3/stable/down-center.png>>
+
+* halign = end
+
+
+    <<https://developer.gnome.org/gtk3/stable/down-end.png>>
+
+== Direction = Up
+
+
+* halign = start
+
+
+    <<https://developer.gnome.org/gtk3/stable/up-start.png>>
+
+* halign = center
+
+
+    <<https://developer.gnome.org/gtk3/stable/up-center.png>>
+
+* halign = end
+
+
+    <<https://developer.gnome.org/gtk3/stable/up-end.png>>
+
+== Direction = Left
+
+
+* valign = start
+
+
+    <<https://developer.gnome.org/gtk3/stable/left-start.png>>
+
+* valign = center
+
+
+    <<https://developer.gnome.org/gtk3/stable/left-center.png>>
+
+* valign = end
+
+
+    <<https://developer.gnome.org/gtk3/stable/left-end.png>>
+
+== Direction = Right
+
+
+* valign = start
+
+
+    <<https://developer.gnome.org/gtk3/stable/right-start.png>>
+
+* valign = center
+
+
+    <<https://developer.gnome.org/gtk3/stable/right-center.png>>
+
+* valign = end
+
+
+    <<https://developer.gnome.org/gtk3/stable/right-end.png>>
+
+= CSS nodes
+
+GtkMenuButton has a single CSS node with name button. To differentiate
+it from a plain 'GI.Gtk.Objects.Button.Button', it gets the .popup style class.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MenuButton
+    ( 
+
+-- * Exported types
+    MenuButton(..)                          ,
+    IsMenuButton                            ,
+    toMenuButton                            ,
+    noMenuButton                            ,
+
+
+ -- * Methods
+-- ** getAlignWidget #method:getAlignWidget#
+
+#if ENABLE_OVERLOADING
+    MenuButtonGetAlignWidgetMethodInfo      ,
+#endif
+    menuButtonGetAlignWidget                ,
+
+
+-- ** getDirection #method:getDirection#
+
+#if ENABLE_OVERLOADING
+    MenuButtonGetDirectionMethodInfo        ,
+#endif
+    menuButtonGetDirection                  ,
+
+
+-- ** getMenuModel #method:getMenuModel#
+
+#if ENABLE_OVERLOADING
+    MenuButtonGetMenuModelMethodInfo        ,
+#endif
+    menuButtonGetMenuModel                  ,
+
+
+-- ** getPopover #method:getPopover#
+
+#if ENABLE_OVERLOADING
+    MenuButtonGetPopoverMethodInfo          ,
+#endif
+    menuButtonGetPopover                    ,
+
+
+-- ** getPopup #method:getPopup#
+
+#if ENABLE_OVERLOADING
+    MenuButtonGetPopupMethodInfo            ,
+#endif
+    menuButtonGetPopup                      ,
+
+
+-- ** getUsePopover #method:getUsePopover#
+
+#if ENABLE_OVERLOADING
+    MenuButtonGetUsePopoverMethodInfo       ,
+#endif
+    menuButtonGetUsePopover                 ,
+
+
+-- ** new #method:new#
+
+    menuButtonNew                           ,
+
+
+-- ** setAlignWidget #method:setAlignWidget#
+
+#if ENABLE_OVERLOADING
+    MenuButtonSetAlignWidgetMethodInfo      ,
+#endif
+    menuButtonSetAlignWidget                ,
+
+
+-- ** setDirection #method:setDirection#
+
+#if ENABLE_OVERLOADING
+    MenuButtonSetDirectionMethodInfo        ,
+#endif
+    menuButtonSetDirection                  ,
+
+
+-- ** setMenuModel #method:setMenuModel#
+
+#if ENABLE_OVERLOADING
+    MenuButtonSetMenuModelMethodInfo        ,
+#endif
+    menuButtonSetMenuModel                  ,
+
+
+-- ** setPopover #method:setPopover#
+
+#if ENABLE_OVERLOADING
+    MenuButtonSetPopoverMethodInfo          ,
+#endif
+    menuButtonSetPopover                    ,
+
+
+-- ** setPopup #method:setPopup#
+
+#if ENABLE_OVERLOADING
+    MenuButtonSetPopupMethodInfo            ,
+#endif
+    menuButtonSetPopup                      ,
+
+
+-- ** setUsePopover #method:setUsePopover#
+
+#if ENABLE_OVERLOADING
+    MenuButtonSetUsePopoverMethodInfo       ,
+#endif
+    menuButtonSetUsePopover                 ,
+
+
+
+
+ -- * Properties
+-- ** alignWidget #attr:alignWidget#
+{- | The 'GI.Gtk.Objects.Widget.Widget' to use to align the menu with.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    MenuButtonAlignWidgetPropertyInfo       ,
+#endif
+    clearMenuButtonAlignWidget              ,
+    constructMenuButtonAlignWidget          ,
+    getMenuButtonAlignWidget                ,
+#if ENABLE_OVERLOADING
+    menuButtonAlignWidget                   ,
+#endif
+    setMenuButtonAlignWidget                ,
+
+
+-- ** direction #attr:direction#
+{- | The 'GI.Gtk.Enums.ArrowType' representing the direction in which the
+menu or popover will be popped out.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    MenuButtonDirectionPropertyInfo         ,
+#endif
+    constructMenuButtonDirection            ,
+    getMenuButtonDirection                  ,
+#if ENABLE_OVERLOADING
+    menuButtonDirection                     ,
+#endif
+    setMenuButtonDirection                  ,
+
+
+-- ** menuModel #attr:menuModel#
+{- | The 'GI.Gio.Objects.MenuModel.MenuModel' from which the popup will be created.
+Depending on the 'GI.Gtk.Objects.MenuButton.MenuButton':@/use-popover/@ property, that may
+be a menu or a popover.
+
+See 'GI.Gtk.Objects.MenuButton.menuButtonSetMenuModel' for the interaction with the
+'GI.Gtk.Objects.MenuButton.MenuButton':@/popup/@ property.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    MenuButtonMenuModelPropertyInfo         ,
+#endif
+    clearMenuButtonMenuModel                ,
+    constructMenuButtonMenuModel            ,
+    getMenuButtonMenuModel                  ,
+#if ENABLE_OVERLOADING
+    menuButtonMenuModel                     ,
+#endif
+    setMenuButtonMenuModel                  ,
+
+
+-- ** popover #attr:popover#
+{- | The 'GI.Gtk.Objects.Popover.Popover' that will be popped up when the button is clicked.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    MenuButtonPopoverPropertyInfo           ,
+#endif
+    clearMenuButtonPopover                  ,
+    constructMenuButtonPopover              ,
+    getMenuButtonPopover                    ,
+#if ENABLE_OVERLOADING
+    menuButtonPopover                       ,
+#endif
+    setMenuButtonPopover                    ,
+
+
+-- ** popup #attr:popup#
+{- | The 'GI.Gtk.Objects.Menu.Menu' that will be popped up when the button is clicked.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    MenuButtonPopupPropertyInfo             ,
+#endif
+    clearMenuButtonPopup                    ,
+    constructMenuButtonPopup                ,
+    getMenuButtonPopup                      ,
+#if ENABLE_OVERLOADING
+    menuButtonPopup                         ,
+#endif
+    setMenuButtonPopup                      ,
+
+
+-- ** usePopover #attr:usePopover#
+{- | Whether to construct a 'GI.Gtk.Objects.Popover.Popover' from the menu model,
+or a 'GI.Gtk.Objects.Menu.Menu'.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    MenuButtonUsePopoverPropertyInfo        ,
+#endif
+    constructMenuButtonUsePopover           ,
+    getMenuButtonUsePopover                 ,
+#if ENABLE_OVERLOADING
+    menuButtonUsePopover                    ,
+#endif
+    setMenuButtonUsePopover                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Menu as Gtk.Menu
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Popover as Gtk.Popover
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToggleButton as Gtk.ToggleButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype MenuButton = MenuButton (ManagedPtr MenuButton)
+foreign import ccall "gtk_menu_button_get_type"
+    c_gtk_menu_button_get_type :: IO GType
+
+instance GObject MenuButton where
+    gobjectType = c_gtk_menu_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `MenuButton`, for instance with `toMenuButton`.
+class (GObject o, O.IsDescendantOf MenuButton o) => IsMenuButton o
+instance (GObject o, O.IsDescendantOf MenuButton o) => IsMenuButton o
+
+instance O.HasParentTypes MenuButton
+type instance O.ParentTypes MenuButton = '[Gtk.ToggleButton.ToggleButton, Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `MenuButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenuButton :: (MonadIO m, IsMenuButton o) => o -> m MenuButton
+toMenuButton = liftIO . unsafeCastTo MenuButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MenuButton`.
+noMenuButton :: Maybe MenuButton
+noMenuButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveMenuButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveMenuButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveMenuButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveMenuButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveMenuButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveMenuButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveMenuButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveMenuButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveMenuButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveMenuButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveMenuButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveMenuButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveMenuButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveMenuButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveMenuButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveMenuButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveMenuButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveMenuButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveMenuButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveMenuButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveMenuButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveMenuButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveMenuButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveMenuButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveMenuButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveMenuButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveMenuButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveMenuButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveMenuButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveMenuButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveMenuButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveMenuButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveMenuButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveMenuButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveMenuButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveMenuButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveMenuButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveMenuButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveMenuButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveMenuButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveMenuButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveMenuButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveMenuButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveMenuButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveMenuButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveMenuButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveMenuButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveMenuButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveMenuButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveMenuButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveMenuButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveMenuButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveMenuButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveMenuButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveMenuButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveMenuButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveMenuButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveMenuButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveMenuButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveMenuButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveMenuButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveMenuButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveMenuButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveMenuButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveMenuButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveMenuButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveMenuButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveMenuButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveMenuButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveMenuButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveMenuButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveMenuButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveMenuButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveMenuButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveMenuButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveMenuButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveMenuButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveMenuButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveMenuButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveMenuButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveMenuButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveMenuButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveMenuButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveMenuButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveMenuButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveMenuButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveMenuButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveMenuButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveMenuButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveMenuButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveMenuButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveMenuButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveMenuButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveMenuButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveMenuButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveMenuButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveMenuButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveMenuButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveMenuButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveMenuButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveMenuButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveMenuButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveMenuButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveMenuButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveMenuButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveMenuButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveMenuButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveMenuButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveMenuButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveMenuButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveMenuButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveMenuButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveMenuButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveMenuButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveMenuButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveMenuButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveMenuButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveMenuButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveMenuButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveMenuButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveMenuButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveMenuButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveMenuButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveMenuButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveMenuButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveMenuButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveMenuButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveMenuButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveMenuButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveMenuButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveMenuButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveMenuButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveMenuButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveMenuButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveMenuButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveMenuButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveMenuButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveMenuButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveMenuButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveMenuButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveMenuButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveMenuButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveMenuButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveMenuButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveMenuButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveMenuButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuButtonMethod "toggled" o = Gtk.ToggleButton.ToggleButtonToggledMethodInfo
+    ResolveMenuButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveMenuButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveMenuButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveMenuButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveMenuButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveMenuButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveMenuButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveMenuButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveMenuButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveMenuButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveMenuButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveMenuButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveMenuButtonMethod "getActive" o = Gtk.ToggleButton.ToggleButtonGetActiveMethodInfo
+    ResolveMenuButtonMethod "getAlignWidget" o = MenuButtonGetAlignWidgetMethodInfo
+    ResolveMenuButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveMenuButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveMenuButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveMenuButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveMenuButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveMenuButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveMenuButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveMenuButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveMenuButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveMenuButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveMenuButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveMenuButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveMenuButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveMenuButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveMenuButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveMenuButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveMenuButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveMenuButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveMenuButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveMenuButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveMenuButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveMenuButtonMethod "getDirection" o = MenuButtonGetDirectionMethodInfo
+    ResolveMenuButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveMenuButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveMenuButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveMenuButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveMenuButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveMenuButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveMenuButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveMenuButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveMenuButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveMenuButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveMenuButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveMenuButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveMenuButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveMenuButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveMenuButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveMenuButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveMenuButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveMenuButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveMenuButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveMenuButtonMethod "getInconsistent" o = Gtk.ToggleButton.ToggleButtonGetInconsistentMethodInfo
+    ResolveMenuButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveMenuButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveMenuButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveMenuButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveMenuButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveMenuButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveMenuButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveMenuButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveMenuButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveMenuButtonMethod "getMenuModel" o = MenuButtonGetMenuModelMethodInfo
+    ResolveMenuButtonMethod "getMode" o = Gtk.ToggleButton.ToggleButtonGetModeMethodInfo
+    ResolveMenuButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveMenuButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveMenuButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveMenuButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveMenuButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveMenuButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveMenuButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveMenuButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveMenuButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveMenuButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveMenuButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveMenuButtonMethod "getPopover" o = MenuButtonGetPopoverMethodInfo
+    ResolveMenuButtonMethod "getPopup" o = MenuButtonGetPopupMethodInfo
+    ResolveMenuButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveMenuButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveMenuButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveMenuButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveMenuButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveMenuButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveMenuButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveMenuButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveMenuButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveMenuButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveMenuButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveMenuButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveMenuButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveMenuButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveMenuButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveMenuButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveMenuButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveMenuButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveMenuButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveMenuButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveMenuButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveMenuButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveMenuButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveMenuButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveMenuButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveMenuButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveMenuButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveMenuButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveMenuButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveMenuButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveMenuButtonMethod "getUsePopover" o = MenuButtonGetUsePopoverMethodInfo
+    ResolveMenuButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveMenuButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveMenuButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveMenuButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveMenuButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveMenuButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveMenuButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveMenuButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveMenuButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveMenuButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveMenuButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveMenuButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveMenuButtonMethod "setActive" o = Gtk.ToggleButton.ToggleButtonSetActiveMethodInfo
+    ResolveMenuButtonMethod "setAlignWidget" o = MenuButtonSetAlignWidgetMethodInfo
+    ResolveMenuButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveMenuButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveMenuButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveMenuButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveMenuButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveMenuButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveMenuButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveMenuButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveMenuButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveMenuButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveMenuButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveMenuButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveMenuButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveMenuButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveMenuButtonMethod "setDirection" o = MenuButtonSetDirectionMethodInfo
+    ResolveMenuButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveMenuButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveMenuButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveMenuButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveMenuButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveMenuButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveMenuButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveMenuButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveMenuButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveMenuButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveMenuButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveMenuButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveMenuButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveMenuButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveMenuButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveMenuButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveMenuButtonMethod "setInconsistent" o = Gtk.ToggleButton.ToggleButtonSetInconsistentMethodInfo
+    ResolveMenuButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveMenuButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveMenuButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveMenuButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveMenuButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveMenuButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveMenuButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveMenuButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveMenuButtonMethod "setMenuModel" o = MenuButtonSetMenuModelMethodInfo
+    ResolveMenuButtonMethod "setMode" o = Gtk.ToggleButton.ToggleButtonSetModeMethodInfo
+    ResolveMenuButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveMenuButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveMenuButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveMenuButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveMenuButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveMenuButtonMethod "setPopover" o = MenuButtonSetPopoverMethodInfo
+    ResolveMenuButtonMethod "setPopup" o = MenuButtonSetPopupMethodInfo
+    ResolveMenuButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveMenuButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveMenuButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveMenuButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveMenuButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveMenuButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveMenuButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveMenuButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveMenuButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveMenuButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveMenuButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveMenuButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveMenuButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveMenuButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveMenuButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveMenuButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveMenuButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveMenuButtonMethod "setUsePopover" o = MenuButtonSetUsePopoverMethodInfo
+    ResolveMenuButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveMenuButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveMenuButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveMenuButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveMenuButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveMenuButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveMenuButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveMenuButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveMenuButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuButtonMethod t MenuButton, O.MethodInfo info MenuButton p) => OL.IsLabel t (MenuButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "align-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Container"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@align-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuButton #alignWidget
+@
+-}
+getMenuButtonAlignWidget :: (MonadIO m, IsMenuButton o) => o -> m (Maybe Gtk.Container.Container)
+getMenuButtonAlignWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "align-widget" Gtk.Container.Container
+
+{- |
+Set the value of the “@align-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuButton [ #alignWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuButtonAlignWidget :: (MonadIO m, IsMenuButton o, Gtk.Container.IsContainer a) => o -> a -> m ()
+setMenuButtonAlignWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "align-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@align-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuButtonAlignWidget :: (IsMenuButton o, Gtk.Container.IsContainer a) => a -> IO (GValueConstruct o)
+constructMenuButtonAlignWidget val = B.Properties.constructObjectPropertyObject "align-widget" (Just val)
+
+{- |
+Set the value of the “@align-widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #alignWidget
+@
+-}
+clearMenuButtonAlignWidget :: (MonadIO m, IsMenuButton o) => o -> m ()
+clearMenuButtonAlignWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "align-widget" (Nothing :: Maybe Gtk.Container.Container)
+
+#if ENABLE_OVERLOADING
+data MenuButtonAlignWidgetPropertyInfo
+instance AttrInfo MenuButtonAlignWidgetPropertyInfo where
+    type AttrAllowedOps MenuButtonAlignWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuButtonAlignWidgetPropertyInfo = Gtk.Container.IsContainer
+    type AttrBaseTypeConstraint MenuButtonAlignWidgetPropertyInfo = IsMenuButton
+    type AttrGetType MenuButtonAlignWidgetPropertyInfo = (Maybe Gtk.Container.Container)
+    type AttrLabel MenuButtonAlignWidgetPropertyInfo = "align-widget"
+    type AttrOrigin MenuButtonAlignWidgetPropertyInfo = MenuButton
+    attrGet _ = getMenuButtonAlignWidget
+    attrSet _ = setMenuButtonAlignWidget
+    attrConstruct _ = constructMenuButtonAlignWidget
+    attrClear _ = clearMenuButtonAlignWidget
+#endif
+
+-- VVV Prop "direction"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ArrowType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuButton #direction
+@
+-}
+getMenuButtonDirection :: (MonadIO m, IsMenuButton o) => o -> m Gtk.Enums.ArrowType
+getMenuButtonDirection obj = liftIO $ B.Properties.getObjectPropertyEnum obj "direction"
+
+{- |
+Set the value of the “@direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuButton [ #direction 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuButtonDirection :: (MonadIO m, IsMenuButton o) => o -> Gtk.Enums.ArrowType -> m ()
+setMenuButtonDirection obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "direction" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@direction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuButtonDirection :: (IsMenuButton o) => Gtk.Enums.ArrowType -> IO (GValueConstruct o)
+constructMenuButtonDirection val = B.Properties.constructObjectPropertyEnum "direction" val
+
+#if ENABLE_OVERLOADING
+data MenuButtonDirectionPropertyInfo
+instance AttrInfo MenuButtonDirectionPropertyInfo where
+    type AttrAllowedOps MenuButtonDirectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuButtonDirectionPropertyInfo = (~) Gtk.Enums.ArrowType
+    type AttrBaseTypeConstraint MenuButtonDirectionPropertyInfo = IsMenuButton
+    type AttrGetType MenuButtonDirectionPropertyInfo = Gtk.Enums.ArrowType
+    type AttrLabel MenuButtonDirectionPropertyInfo = "direction"
+    type AttrOrigin MenuButtonDirectionPropertyInfo = MenuButton
+    attrGet _ = getMenuButtonDirection
+    attrSet _ = setMenuButtonDirection
+    attrConstruct _ = constructMenuButtonDirection
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "menu-model"
+   -- Type: TInterface (Name {namespace = "Gio", name = "MenuModel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@menu-model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuButton #menuModel
+@
+-}
+getMenuButtonMenuModel :: (MonadIO m, IsMenuButton o) => o -> m (Maybe Gio.MenuModel.MenuModel)
+getMenuButtonMenuModel obj = liftIO $ B.Properties.getObjectPropertyObject obj "menu-model" Gio.MenuModel.MenuModel
+
+{- |
+Set the value of the “@menu-model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuButton [ #menuModel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuButtonMenuModel :: (MonadIO m, IsMenuButton o, Gio.MenuModel.IsMenuModel a) => o -> a -> m ()
+setMenuButtonMenuModel obj val = liftIO $ B.Properties.setObjectPropertyObject obj "menu-model" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@menu-model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuButtonMenuModel :: (IsMenuButton o, Gio.MenuModel.IsMenuModel a) => a -> IO (GValueConstruct o)
+constructMenuButtonMenuModel val = B.Properties.constructObjectPropertyObject "menu-model" (Just val)
+
+{- |
+Set the value of the “@menu-model@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #menuModel
+@
+-}
+clearMenuButtonMenuModel :: (MonadIO m, IsMenuButton o) => o -> m ()
+clearMenuButtonMenuModel obj = liftIO $ B.Properties.setObjectPropertyObject obj "menu-model" (Nothing :: Maybe Gio.MenuModel.MenuModel)
+
+#if ENABLE_OVERLOADING
+data MenuButtonMenuModelPropertyInfo
+instance AttrInfo MenuButtonMenuModelPropertyInfo where
+    type AttrAllowedOps MenuButtonMenuModelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuButtonMenuModelPropertyInfo = Gio.MenuModel.IsMenuModel
+    type AttrBaseTypeConstraint MenuButtonMenuModelPropertyInfo = IsMenuButton
+    type AttrGetType MenuButtonMenuModelPropertyInfo = (Maybe Gio.MenuModel.MenuModel)
+    type AttrLabel MenuButtonMenuModelPropertyInfo = "menu-model"
+    type AttrOrigin MenuButtonMenuModelPropertyInfo = MenuButton
+    attrGet _ = getMenuButtonMenuModel
+    attrSet _ = setMenuButtonMenuModel
+    attrConstruct _ = constructMenuButtonMenuModel
+    attrClear _ = clearMenuButtonMenuModel
+#endif
+
+-- VVV Prop "popover"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Popover"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@popover@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuButton #popover
+@
+-}
+getMenuButtonPopover :: (MonadIO m, IsMenuButton o) => o -> m (Maybe Gtk.Popover.Popover)
+getMenuButtonPopover obj = liftIO $ B.Properties.getObjectPropertyObject obj "popover" Gtk.Popover.Popover
+
+{- |
+Set the value of the “@popover@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuButton [ #popover 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuButtonPopover :: (MonadIO m, IsMenuButton o, Gtk.Popover.IsPopover a) => o -> a -> m ()
+setMenuButtonPopover obj val = liftIO $ B.Properties.setObjectPropertyObject obj "popover" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@popover@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuButtonPopover :: (IsMenuButton o, Gtk.Popover.IsPopover a) => a -> IO (GValueConstruct o)
+constructMenuButtonPopover val = B.Properties.constructObjectPropertyObject "popover" (Just val)
+
+{- |
+Set the value of the “@popover@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #popover
+@
+-}
+clearMenuButtonPopover :: (MonadIO m, IsMenuButton o) => o -> m ()
+clearMenuButtonPopover obj = liftIO $ B.Properties.setObjectPropertyObject obj "popover" (Nothing :: Maybe Gtk.Popover.Popover)
+
+#if ENABLE_OVERLOADING
+data MenuButtonPopoverPropertyInfo
+instance AttrInfo MenuButtonPopoverPropertyInfo where
+    type AttrAllowedOps MenuButtonPopoverPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuButtonPopoverPropertyInfo = Gtk.Popover.IsPopover
+    type AttrBaseTypeConstraint MenuButtonPopoverPropertyInfo = IsMenuButton
+    type AttrGetType MenuButtonPopoverPropertyInfo = (Maybe Gtk.Popover.Popover)
+    type AttrLabel MenuButtonPopoverPropertyInfo = "popover"
+    type AttrOrigin MenuButtonPopoverPropertyInfo = MenuButton
+    attrGet _ = getMenuButtonPopover
+    attrSet _ = setMenuButtonPopover
+    attrConstruct _ = constructMenuButtonPopover
+    attrClear _ = clearMenuButtonPopover
+#endif
+
+-- VVV Prop "popup"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Menu"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@popup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuButton #popup
+@
+-}
+getMenuButtonPopup :: (MonadIO m, IsMenuButton o) => o -> m (Maybe Gtk.Menu.Menu)
+getMenuButtonPopup obj = liftIO $ B.Properties.getObjectPropertyObject obj "popup" Gtk.Menu.Menu
+
+{- |
+Set the value of the “@popup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuButton [ #popup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuButtonPopup :: (MonadIO m, IsMenuButton o, Gtk.Menu.IsMenu a) => o -> a -> m ()
+setMenuButtonPopup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "popup" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@popup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuButtonPopup :: (IsMenuButton o, Gtk.Menu.IsMenu a) => a -> IO (GValueConstruct o)
+constructMenuButtonPopup val = B.Properties.constructObjectPropertyObject "popup" (Just val)
+
+{- |
+Set the value of the “@popup@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #popup
+@
+-}
+clearMenuButtonPopup :: (MonadIO m, IsMenuButton o) => o -> m ()
+clearMenuButtonPopup obj = liftIO $ B.Properties.setObjectPropertyObject obj "popup" (Nothing :: Maybe Gtk.Menu.Menu)
+
+#if ENABLE_OVERLOADING
+data MenuButtonPopupPropertyInfo
+instance AttrInfo MenuButtonPopupPropertyInfo where
+    type AttrAllowedOps MenuButtonPopupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuButtonPopupPropertyInfo = Gtk.Menu.IsMenu
+    type AttrBaseTypeConstraint MenuButtonPopupPropertyInfo = IsMenuButton
+    type AttrGetType MenuButtonPopupPropertyInfo = (Maybe Gtk.Menu.Menu)
+    type AttrLabel MenuButtonPopupPropertyInfo = "popup"
+    type AttrOrigin MenuButtonPopupPropertyInfo = MenuButton
+    attrGet _ = getMenuButtonPopup
+    attrSet _ = setMenuButtonPopup
+    attrConstruct _ = constructMenuButtonPopup
+    attrClear _ = clearMenuButtonPopup
+#endif
+
+-- VVV Prop "use-popover"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-popover@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuButton #usePopover
+@
+-}
+getMenuButtonUsePopover :: (MonadIO m, IsMenuButton o) => o -> m Bool
+getMenuButtonUsePopover obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-popover"
+
+{- |
+Set the value of the “@use-popover@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuButton [ #usePopover 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuButtonUsePopover :: (MonadIO m, IsMenuButton o) => o -> Bool -> m ()
+setMenuButtonUsePopover obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-popover" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-popover@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuButtonUsePopover :: (IsMenuButton o) => Bool -> IO (GValueConstruct o)
+constructMenuButtonUsePopover val = B.Properties.constructObjectPropertyBool "use-popover" val
+
+#if ENABLE_OVERLOADING
+data MenuButtonUsePopoverPropertyInfo
+instance AttrInfo MenuButtonUsePopoverPropertyInfo where
+    type AttrAllowedOps MenuButtonUsePopoverPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuButtonUsePopoverPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint MenuButtonUsePopoverPropertyInfo = IsMenuButton
+    type AttrGetType MenuButtonUsePopoverPropertyInfo = Bool
+    type AttrLabel MenuButtonUsePopoverPropertyInfo = "use-popover"
+    type AttrOrigin MenuButtonUsePopoverPropertyInfo = MenuButton
+    attrGet _ = getMenuButtonUsePopover
+    attrSet _ = setMenuButtonUsePopover
+    attrConstruct _ = constructMenuButtonUsePopover
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MenuButton
+type instance O.AttributeList MenuButton = MenuButtonAttributeList
+type MenuButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", Gtk.ToggleButton.ToggleButtonActivePropertyInfo), '("alignWidget", MenuButtonAlignWidgetPropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("direction", MenuButtonDirectionPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawIndicator", Gtk.ToggleButton.ToggleButtonDrawIndicatorPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("inconsistent", Gtk.ToggleButton.ToggleButtonInconsistentPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("menuModel", MenuButtonMenuModelPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("popover", MenuButtonPopoverPropertyInfo), '("popup", MenuButtonPopupPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("usePopover", MenuButtonUsePopoverPropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+menuButtonAlignWidget :: AttrLabelProxy "alignWidget"
+menuButtonAlignWidget = AttrLabelProxy
+
+menuButtonDirection :: AttrLabelProxy "direction"
+menuButtonDirection = AttrLabelProxy
+
+menuButtonMenuModel :: AttrLabelProxy "menuModel"
+menuButtonMenuModel = AttrLabelProxy
+
+menuButtonPopover :: AttrLabelProxy "popover"
+menuButtonPopover = AttrLabelProxy
+
+menuButtonPopup :: AttrLabelProxy "popup"
+menuButtonPopup = AttrLabelProxy
+
+menuButtonUsePopover :: AttrLabelProxy "usePopover"
+menuButtonUsePopover = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList MenuButton = MenuButtonSignalList
+type MenuButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggled", Gtk.ToggleButton.ToggleButtonToggledSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method MenuButton::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MenuButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_new" gtk_menu_button_new :: 
+    IO (Ptr MenuButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.MenuButton.MenuButton' widget with downwards-pointing
+arrow as the only child. You can replace the child widget
+with another 'GI.Gtk.Objects.Widget.Widget' should you wish to.
+
+/Since: 3.6/
+-}
+menuButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m MenuButton
+    {- ^ __Returns:__ The newly created 'GI.Gtk.Objects.MenuButton.MenuButton' widget -}
+menuButtonNew  = liftIO $ do
+    result <- gtk_menu_button_new
+    checkUnexpectedReturnNULL "menuButtonNew" result
+    result' <- (newObject MenuButton) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method MenuButton::get_align_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_get_align_widget" gtk_menu_button_get_align_widget :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the parent 'GI.Gtk.Objects.Widget.Widget' to use to line up with menu.
+
+/Since: 3.6/
+-}
+menuButtonGetAlignWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' value or 'Nothing' -}
+menuButtonGetAlignWidget menuButton = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    result <- gtk_menu_button_get_align_widget menuButton'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr menuButton
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data MenuButtonGetAlignWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsMenuButton a) => O.MethodInfo MenuButtonGetAlignWidgetMethodInfo a signature where
+    overloadedMethod _ = menuButtonGetAlignWidget
+
+#endif
+
+-- method MenuButton::get_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ArrowType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_get_direction" gtk_menu_button_get_direction :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    IO CUInt
+
+{- |
+Returns the direction the popup will be pointing at when popped up.
+
+/Since: 3.6/
+-}
+menuButtonGetDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> m Gtk.Enums.ArrowType
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.ArrowType' value -}
+menuButtonGetDirection menuButton = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    result <- gtk_menu_button_get_direction menuButton'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr menuButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuButtonGetDirectionMethodInfo
+instance (signature ~ (m Gtk.Enums.ArrowType), MonadIO m, IsMenuButton a) => O.MethodInfo MenuButtonGetDirectionMethodInfo a signature where
+    overloadedMethod _ = menuButtonGetDirection
+
+#endif
+
+-- method MenuButton::get_menu_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "MenuModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_get_menu_model" gtk_menu_button_get_menu_model :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    IO (Ptr Gio.MenuModel.MenuModel)
+
+{- |
+Returns the 'GI.Gio.Objects.MenuModel.MenuModel' used to generate the popup.
+
+/Since: 3.6/
+-}
+menuButtonGetMenuModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> m (Maybe Gio.MenuModel.MenuModel)
+    {- ^ __Returns:__ a 'GI.Gio.Objects.MenuModel.MenuModel' or 'Nothing' -}
+menuButtonGetMenuModel menuButton = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    result <- gtk_menu_button_get_menu_model menuButton'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.MenuModel.MenuModel) result'
+        return result''
+    touchManagedPtr menuButton
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data MenuButtonGetMenuModelMethodInfo
+instance (signature ~ (m (Maybe Gio.MenuModel.MenuModel)), MonadIO m, IsMenuButton a) => O.MethodInfo MenuButtonGetMenuModelMethodInfo a signature where
+    overloadedMethod _ = menuButtonGetMenuModel
+
+#endif
+
+-- method MenuButton::get_popover
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Popover"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_get_popover" gtk_menu_button_get_popover :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    IO (Ptr Gtk.Popover.Popover)
+
+{- |
+Returns the 'GI.Gtk.Objects.Popover.Popover' that pops out of the button.
+If the button is not using a 'GI.Gtk.Objects.Popover.Popover', this function
+returns 'Nothing'.
+
+/Since: 3.12/
+-}
+menuButtonGetPopover ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> m (Maybe Gtk.Popover.Popover)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Popover.Popover' or 'Nothing' -}
+menuButtonGetPopover menuButton = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    result <- gtk_menu_button_get_popover menuButton'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Popover.Popover) result'
+        return result''
+    touchManagedPtr menuButton
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data MenuButtonGetPopoverMethodInfo
+instance (signature ~ (m (Maybe Gtk.Popover.Popover)), MonadIO m, IsMenuButton a) => O.MethodInfo MenuButtonGetPopoverMethodInfo a signature where
+    overloadedMethod _ = menuButtonGetPopover
+
+#endif
+
+-- method MenuButton::get_popup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Menu"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_get_popup" gtk_menu_button_get_popup :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    IO (Ptr Gtk.Menu.Menu)
+
+{- |
+Returns the 'GI.Gtk.Objects.Menu.Menu' that pops out of the button.
+If the button does not use a 'GI.Gtk.Objects.Menu.Menu', this function
+returns 'Nothing'.
+
+/Since: 3.6/
+-}
+menuButtonGetPopup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> m (Maybe Gtk.Menu.Menu)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Menu.Menu' or 'Nothing' -}
+menuButtonGetPopup menuButton = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    result <- gtk_menu_button_get_popup menuButton'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Menu.Menu) result'
+        return result''
+    touchManagedPtr menuButton
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data MenuButtonGetPopupMethodInfo
+instance (signature ~ (m (Maybe Gtk.Menu.Menu)), MonadIO m, IsMenuButton a) => O.MethodInfo MenuButtonGetPopupMethodInfo a signature where
+    overloadedMethod _ = menuButtonGetPopup
+
+#endif
+
+-- method MenuButton::get_use_popover
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_get_use_popover" gtk_menu_button_get_use_popover :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    IO CInt
+
+{- |
+Returns whether a 'GI.Gtk.Objects.Popover.Popover' or a 'GI.Gtk.Objects.Menu.Menu' will be constructed
+from the menu model.
+
+/Since: 3.12/
+-}
+menuButtonGetUsePopover ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if using a 'GI.Gtk.Objects.Popover.Popover' -}
+menuButtonGetUsePopover menuButton = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    result <- gtk_menu_button_get_use_popover menuButton'
+    let result' = (/= 0) result
+    touchManagedPtr menuButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuButtonGetUsePopoverMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsMenuButton a) => O.MethodInfo MenuButtonGetUsePopoverMethodInfo a signature where
+    overloadedMethod _ = menuButtonGetUsePopover
+
+#endif
+
+-- method MenuButton::set_align_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "align_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_set_align_widget" gtk_menu_button_set_align_widget :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    Ptr Gtk.Widget.Widget ->                -- align_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Widget.Widget' to use to line the menu with when popped up.
+Note that the /@alignWidget@/ must contain the 'GI.Gtk.Objects.MenuButton.MenuButton' itself.
+
+Setting it to 'Nothing' means that the menu will be aligned with the
+button itself.
+
+Note that this property is only used with menus currently,
+and not for popovers.
+
+/Since: 3.6/
+-}
+menuButtonSetAlignWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> Maybe (b)
+    {- ^ /@alignWidget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+menuButtonSetAlignWidget menuButton alignWidget = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    maybeAlignWidget <- case alignWidget of
+        Nothing -> return nullPtr
+        Just jAlignWidget -> do
+            jAlignWidget' <- unsafeManagedPtrCastPtr jAlignWidget
+            return jAlignWidget'
+    gtk_menu_button_set_align_widget menuButton' maybeAlignWidget
+    touchManagedPtr menuButton
+    whenJust alignWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuButtonSetAlignWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsMenuButton a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuButtonSetAlignWidgetMethodInfo a signature where
+    overloadedMethod _ = menuButtonSetAlignWidget
+
+#endif
+
+-- method MenuButton::set_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "ArrowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkArrowType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_set_direction" gtk_menu_button_set_direction :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "ArrowType"})
+    IO ()
+
+{- |
+Sets the direction in which the popup will be popped up, as
+well as changing the arrow’s direction. The child will not
+be changed to an arrow if it was customized.
+
+If the does not fit in the available space in the given direction,
+GTK+ will its best to keep it inside the screen and fully visible.
+
+If you pass 'GI.Gtk.Enums.ArrowTypeNone' for a /@direction@/, the popup will behave
+as if you passed 'GI.Gtk.Enums.ArrowTypeDown' (although you won’t see any arrows).
+
+/Since: 3.6/
+-}
+menuButtonSetDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> Gtk.Enums.ArrowType
+    {- ^ /@direction@/: a 'GI.Gtk.Enums.ArrowType' -}
+    -> m ()
+menuButtonSetDirection menuButton direction = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    let direction' = (fromIntegral . fromEnum) direction
+    gtk_menu_button_set_direction menuButton' direction'
+    touchManagedPtr menuButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuButtonSetDirectionMethodInfo
+instance (signature ~ (Gtk.Enums.ArrowType -> m ()), MonadIO m, IsMenuButton a) => O.MethodInfo MenuButtonSetDirectionMethodInfo a signature where
+    overloadedMethod _ = menuButtonSetDirection
+
+#endif
+
+-- method MenuButton::set_menu_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_model", argType = TInterface (Name {namespace = "Gio", name = "MenuModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GMenuModel, or %NULL to unset and disable the\n  button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_set_menu_model" gtk_menu_button_set_menu_model :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    Ptr Gio.MenuModel.MenuModel ->          -- menu_model : TInterface (Name {namespace = "Gio", name = "MenuModel"})
+    IO ()
+
+{- |
+Sets the 'GI.Gio.Objects.MenuModel.MenuModel' from which the popup will be constructed,
+or 'Nothing' to dissociate any existing menu model and disable the button.
+
+Depending on the value of 'GI.Gtk.Objects.MenuButton.MenuButton':@/use-popover/@, either a
+'GI.Gtk.Objects.Menu.Menu' will be created with 'GI.Gtk.Objects.Menu.menuNewFromModel', or a
+'GI.Gtk.Objects.Popover.Popover' with 'GI.Gtk.Objects.Popover.popoverNewFromModel'. In either case,
+actions will be connected as documented for these functions.
+
+If 'GI.Gtk.Objects.MenuButton.MenuButton':@/popup/@ or 'GI.Gtk.Objects.MenuButton.MenuButton':@/popover/@ are already set, those
+widgets are dissociated from the /@menuButton@/, and those properties are set
+to 'Nothing'.
+
+/Since: 3.6/
+-}
+menuButtonSetMenuModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a, Gio.MenuModel.IsMenuModel b) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> Maybe (b)
+    {- ^ /@menuModel@/: a 'GI.Gio.Objects.MenuModel.MenuModel', or 'Nothing' to unset and disable the
+  button -}
+    -> m ()
+menuButtonSetMenuModel menuButton menuModel = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    maybeMenuModel <- case menuModel of
+        Nothing -> return nullPtr
+        Just jMenuModel -> do
+            jMenuModel' <- unsafeManagedPtrCastPtr jMenuModel
+            return jMenuModel'
+    gtk_menu_button_set_menu_model menuButton' maybeMenuModel
+    touchManagedPtr menuButton
+    whenJust menuModel touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuButtonSetMenuModelMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsMenuButton a, Gio.MenuModel.IsMenuModel b) => O.MethodInfo MenuButtonSetMenuModelMethodInfo a signature where
+    overloadedMethod _ = menuButtonSetMenuModel
+
+#endif
+
+-- method MenuButton::set_popover
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkPopover, or %NULL to unset and disable the button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_set_popover" gtk_menu_button_set_popover :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    Ptr Gtk.Widget.Widget ->                -- popover : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Popover.Popover' that will be popped up when the /@menuButton@/ is clicked,
+or 'Nothing' to dissociate any existing popover and disable the button.
+
+If 'GI.Gtk.Objects.MenuButton.MenuButton':@/menu-model/@ or 'GI.Gtk.Objects.MenuButton.MenuButton':@/popup/@ are set, those objects
+are dissociated from the /@menuButton@/, and those properties are set to 'Nothing'.
+
+/Since: 3.12/
+-}
+menuButtonSetPopover ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> Maybe (b)
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover', or 'Nothing' to unset and disable the button -}
+    -> m ()
+menuButtonSetPopover menuButton popover = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    maybePopover <- case popover of
+        Nothing -> return nullPtr
+        Just jPopover -> do
+            jPopover' <- unsafeManagedPtrCastPtr jPopover
+            return jPopover'
+    gtk_menu_button_set_popover menuButton' maybePopover
+    touchManagedPtr menuButton
+    whenJust popover touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuButtonSetPopoverMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsMenuButton a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuButtonSetPopoverMethodInfo a signature where
+    overloadedMethod _ = menuButtonSetPopover
+
+#endif
+
+-- method MenuButton::set_popup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkMenu, or %NULL to unset and disable the button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_set_popup" gtk_menu_button_set_popup :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    Ptr Gtk.Widget.Widget ->                -- menu : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Menu.Menu' that will be popped up when the /@menuButton@/ is clicked, or
+'Nothing' to dissociate any existing menu and disable the button.
+
+If 'GI.Gtk.Objects.MenuButton.MenuButton':@/menu-model/@ or 'GI.Gtk.Objects.MenuButton.MenuButton':@/popover/@ are set, those objects
+are dissociated from the /@menuButton@/, and those properties are set to 'Nothing'.
+
+/Since: 3.6/
+-}
+menuButtonSetPopup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> Maybe (b)
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.Menu.Menu', or 'Nothing' to unset and disable the button -}
+    -> m ()
+menuButtonSetPopup menuButton menu = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    maybeMenu <- case menu of
+        Nothing -> return nullPtr
+        Just jMenu -> do
+            jMenu' <- unsafeManagedPtrCastPtr jMenu
+            return jMenu'
+    gtk_menu_button_set_popup menuButton' maybeMenu
+    touchManagedPtr menuButton
+    whenJust menu touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuButtonSetPopupMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsMenuButton a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuButtonSetPopupMethodInfo a signature where
+    overloadedMethod _ = menuButtonSetPopup
+
+#endif
+
+-- method MenuButton::set_use_popover
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_button", argType = TInterface (Name {namespace = "Gtk", name = "MenuButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_popover", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to construct a popover from the menu model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_button_set_use_popover" gtk_menu_button_set_use_popover :: 
+    Ptr MenuButton ->                       -- menu_button : TInterface (Name {namespace = "Gtk", name = "MenuButton"})
+    CInt ->                                 -- use_popover : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether to construct a 'GI.Gtk.Objects.Popover.Popover' instead of 'GI.Gtk.Objects.Menu.Menu'
+when 'GI.Gtk.Objects.MenuButton.menuButtonSetMenuModel' is called. Note that
+this property is only consulted when a new menu model is set.
+
+/Since: 3.12/
+-}
+menuButtonSetUsePopover ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuButton a) =>
+    a
+    {- ^ /@menuButton@/: a 'GI.Gtk.Objects.MenuButton.MenuButton' -}
+    -> Bool
+    {- ^ /@usePopover@/: 'True' to construct a popover from the menu model -}
+    -> m ()
+menuButtonSetUsePopover menuButton usePopover = liftIO $ do
+    menuButton' <- unsafeManagedPtrCastPtr menuButton
+    let usePopover' = (fromIntegral . fromEnum) usePopover
+    gtk_menu_button_set_use_popover menuButton' usePopover'
+    touchManagedPtr menuButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuButtonSetUsePopoverMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsMenuButton a) => O.MethodInfo MenuButtonSetUsePopoverMethodInfo a signature where
+    overloadedMethod _ = menuButtonSetUsePopover
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MenuButton.hs-boot b/GI/Gtk/Objects/MenuButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuButton.hs-boot
@@ -0,0 +1,83 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MenuButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MenuButton = MenuButton (ManagedPtr MenuButton)
+instance GObject MenuButton where
+class (GObject o, O.IsDescendantOf MenuButton o) => IsMenuButton o
+instance (GObject o, O.IsDescendantOf MenuButton o) => IsMenuButton o
+instance O.HasParentTypes MenuButton
+#if ENABLE_OVERLOADING
+data MenuButtonAlignWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonDirectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonMenuModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonPopoverPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonPopupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonUsePopoverPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonGetAlignWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonGetDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonGetMenuModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonGetPopoverMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonGetPopupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonGetUsePopoverMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonSetAlignWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonSetDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonSetMenuModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonSetPopoverMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonSetPopupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuButtonSetUsePopoverMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/MenuButtonAccessible.hs b/GI/Gtk/Objects/MenuButtonAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuButtonAccessible.hs
@@ -0,0 +1,178 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MenuButtonAccessible
+    ( 
+
+-- * Exported types
+    MenuButtonAccessible(..)                ,
+    IsMenuButtonAccessible                  ,
+    toMenuButtonAccessible                  ,
+    noMenuButtonAccessible                  ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ButtonAccessible as Gtk.ButtonAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToggleButtonAccessible as Gtk.ToggleButtonAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype MenuButtonAccessible = MenuButtonAccessible (ManagedPtr MenuButtonAccessible)
+foreign import ccall "gtk_menu_button_accessible_get_type"
+    c_gtk_menu_button_accessible_get_type :: IO GType
+
+instance GObject MenuButtonAccessible where
+    gobjectType = c_gtk_menu_button_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `MenuButtonAccessible`, for instance with `toMenuButtonAccessible`.
+class (GObject o, O.IsDescendantOf MenuButtonAccessible o) => IsMenuButtonAccessible o
+instance (GObject o, O.IsDescendantOf MenuButtonAccessible o) => IsMenuButtonAccessible o
+
+instance O.HasParentTypes MenuButtonAccessible
+type instance O.ParentTypes MenuButtonAccessible = '[Gtk.ToggleButtonAccessible.ToggleButtonAccessible, Gtk.ButtonAccessible.ButtonAccessible, Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Image.Image]
+
+-- | Cast to `MenuButtonAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenuButtonAccessible :: (MonadIO m, IsMenuButtonAccessible o) => o -> m MenuButtonAccessible
+toMenuButtonAccessible = liftIO . unsafeCastTo MenuButtonAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MenuButtonAccessible`.
+noMenuButtonAccessible :: Maybe MenuButtonAccessible
+noMenuButtonAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuButtonAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuButtonAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveMenuButtonAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuButtonAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuButtonAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveMenuButtonAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveMenuButtonAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveMenuButtonAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuButtonAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuButtonAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuButtonAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveMenuButtonAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveMenuButtonAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuButtonAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuButtonAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuButtonAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveMenuButtonAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveMenuButtonAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuButtonAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveMenuButtonAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveMenuButtonAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveMenuButtonAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuButtonAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveMenuButtonAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveMenuButtonAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveMenuButtonAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveMenuButtonAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuButtonAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveMenuButtonAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveMenuButtonAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuButtonAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuButtonAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuButtonAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuButtonAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuButtonAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveMenuButtonAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveMenuButtonAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuButtonAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveMenuButtonAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveMenuButtonAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveMenuButtonAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveMenuButtonAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveMenuButtonAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveMenuButtonAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveMenuButtonAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveMenuButtonAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveMenuButtonAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveMenuButtonAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveMenuButtonAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveMenuButtonAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveMenuButtonAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveMenuButtonAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveMenuButtonAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveMenuButtonAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveMenuButtonAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuButtonAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuButtonAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveMenuButtonAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveMenuButtonAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveMenuButtonAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuButtonAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveMenuButtonAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveMenuButtonAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveMenuButtonAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveMenuButtonAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveMenuButtonAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveMenuButtonAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuButtonAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveMenuButtonAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveMenuButtonAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveMenuButtonAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuButtonAccessibleMethod t MenuButtonAccessible, O.MethodInfo info MenuButtonAccessible p) => OL.IsLabel t (MenuButtonAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MenuButtonAccessible
+type instance O.AttributeList MenuButtonAccessible = MenuButtonAccessibleAttributeList
+type MenuButtonAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList MenuButtonAccessible = MenuButtonAccessibleSignalList
+type MenuButtonAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MenuButtonAccessible.hs-boot b/GI/Gtk/Objects/MenuButtonAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuButtonAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MenuButtonAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MenuButtonAccessible = MenuButtonAccessible (ManagedPtr MenuButtonAccessible)
+instance GObject MenuButtonAccessible where
+class (GObject o, O.IsDescendantOf MenuButtonAccessible o) => IsMenuButtonAccessible o
+instance (GObject o, O.IsDescendantOf MenuButtonAccessible o) => IsMenuButtonAccessible o
+instance O.HasParentTypes MenuButtonAccessible
diff --git a/GI/Gtk/Objects/MenuItem.hs b/GI/Gtk/Objects/MenuItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuItem.hs
@@ -0,0 +1,2334 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.MenuItem.MenuItem' widget and the derived widgets are the only valid
+children for menus. Their function is to correctly handle highlighting,
+alignment, events and submenus.
+
+As a GtkMenuItem derives from 'GI.Gtk.Objects.Bin.Bin' it can hold any valid child widget,
+although only a few are really useful.
+
+By default, a GtkMenuItem sets a 'GI.Gtk.Objects.AccelLabel.AccelLabel' as its child.
+GtkMenuItem has direct functions to set the label and its mnemonic.
+For more advanced label settings, you can fetch the child widget from the GtkBin.
+
+An example for setting markup and accelerator on a MenuItem:
+
+=== /C code/
+>
+>GtkWidget *menu_item = gtk_menu_item_new_with_label ("Example Menu Item");
+>
+>GtkWidget *child = gtk_bin_get_child (GTK_BIN (menu_item));
+>gtk_label_set_markup (GTK_LABEL (child), "<i>new label</i> with <b>markup</b>");
+>gtk_accel_label_set_accel (GTK_ACCEL_LABEL (child), GDK_KEY_1, 0);
+
+
+= GtkMenuItem as GtkBuildable
+
+The GtkMenuItem implementation of the 'GI.Gtk.Interfaces.Buildable.Buildable' interface supports
+adding a submenu by specifying “submenu” as the “type” attribute of
+a \<child> element.
+
+An example of UI definition fragment with submenus:
+>
+><object class="GtkMenuItem">
+>  <child type="submenu">
+>    <object class="GtkMenu"/>
+>  </child>
+></object>
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>menuitem
+>├── <child>
+>╰── [arrow.right]
+
+
+GtkMenuItem has a single CSS node with name menuitem. If the menuitem
+has a submenu, it gets another CSS node with name arrow, which has
+the .left or .right style class.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MenuItem
+    ( 
+
+-- * Exported types
+    MenuItem(..)                            ,
+    IsMenuItem                              ,
+    toMenuItem                              ,
+    noMenuItem                              ,
+
+
+ -- * Methods
+-- ** activate #method:activate#
+
+#if ENABLE_OVERLOADING
+    MenuItemActivateMethodInfo              ,
+#endif
+    menuItemActivate                        ,
+
+
+-- ** deselect #method:deselect#
+
+#if ENABLE_OVERLOADING
+    MenuItemDeselectMethodInfo              ,
+#endif
+    menuItemDeselect                        ,
+
+
+-- ** getAccelPath #method:getAccelPath#
+
+#if ENABLE_OVERLOADING
+    MenuItemGetAccelPathMethodInfo          ,
+#endif
+    menuItemGetAccelPath                    ,
+
+
+-- ** getLabel #method:getLabel#
+
+#if ENABLE_OVERLOADING
+    MenuItemGetLabelMethodInfo              ,
+#endif
+    menuItemGetLabel                        ,
+
+
+-- ** getReserveIndicator #method:getReserveIndicator#
+
+#if ENABLE_OVERLOADING
+    MenuItemGetReserveIndicatorMethodInfo   ,
+#endif
+    menuItemGetReserveIndicator             ,
+
+
+-- ** getRightJustified #method:getRightJustified#
+
+#if ENABLE_OVERLOADING
+    MenuItemGetRightJustifiedMethodInfo     ,
+#endif
+    menuItemGetRightJustified               ,
+
+
+-- ** getSubmenu #method:getSubmenu#
+
+#if ENABLE_OVERLOADING
+    MenuItemGetSubmenuMethodInfo            ,
+#endif
+    menuItemGetSubmenu                      ,
+
+
+-- ** getUseUnderline #method:getUseUnderline#
+
+#if ENABLE_OVERLOADING
+    MenuItemGetUseUnderlineMethodInfo       ,
+#endif
+    menuItemGetUseUnderline                 ,
+
+
+-- ** new #method:new#
+
+    menuItemNew                             ,
+
+
+-- ** newWithLabel #method:newWithLabel#
+
+    menuItemNewWithLabel                    ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    menuItemNewWithMnemonic                 ,
+
+
+-- ** select #method:select#
+
+#if ENABLE_OVERLOADING
+    MenuItemSelectMethodInfo                ,
+#endif
+    menuItemSelect                          ,
+
+
+-- ** setAccelPath #method:setAccelPath#
+
+#if ENABLE_OVERLOADING
+    MenuItemSetAccelPathMethodInfo          ,
+#endif
+    menuItemSetAccelPath                    ,
+
+
+-- ** setLabel #method:setLabel#
+
+#if ENABLE_OVERLOADING
+    MenuItemSetLabelMethodInfo              ,
+#endif
+    menuItemSetLabel                        ,
+
+
+-- ** setReserveIndicator #method:setReserveIndicator#
+
+#if ENABLE_OVERLOADING
+    MenuItemSetReserveIndicatorMethodInfo   ,
+#endif
+    menuItemSetReserveIndicator             ,
+
+
+-- ** setRightJustified #method:setRightJustified#
+
+#if ENABLE_OVERLOADING
+    MenuItemSetRightJustifiedMethodInfo     ,
+#endif
+    menuItemSetRightJustified               ,
+
+
+-- ** setSubmenu #method:setSubmenu#
+
+#if ENABLE_OVERLOADING
+    MenuItemSetSubmenuMethodInfo            ,
+#endif
+    menuItemSetSubmenu                      ,
+
+
+-- ** setUseUnderline #method:setUseUnderline#
+
+#if ENABLE_OVERLOADING
+    MenuItemSetUseUnderlineMethodInfo       ,
+#endif
+    menuItemSetUseUnderline                 ,
+
+
+-- ** toggleSizeAllocate #method:toggleSizeAllocate#
+
+#if ENABLE_OVERLOADING
+    MenuItemToggleSizeAllocateMethodInfo    ,
+#endif
+    menuItemToggleSizeAllocate              ,
+
+
+-- ** toggleSizeRequest #method:toggleSizeRequest#
+
+#if ENABLE_OVERLOADING
+    MenuItemToggleSizeRequestMethodInfo     ,
+#endif
+    menuItemToggleSizeRequest               ,
+
+
+
+
+ -- * Properties
+-- ** accelPath #attr:accelPath#
+{- | Sets the accelerator path of the menu item, through which runtime
+changes of the menu item\'s accelerator caused by the user can be
+identified and saved to persistant storage.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    MenuItemAccelPathPropertyInfo           ,
+#endif
+    clearMenuItemAccelPath                  ,
+    constructMenuItemAccelPath              ,
+    getMenuItemAccelPath                    ,
+#if ENABLE_OVERLOADING
+    menuItemAccelPath                       ,
+#endif
+    setMenuItemAccelPath                    ,
+
+
+-- ** label #attr:label#
+{- | The text for the child label.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    MenuItemLabelPropertyInfo               ,
+#endif
+    constructMenuItemLabel                  ,
+    getMenuItemLabel                        ,
+#if ENABLE_OVERLOADING
+    menuItemLabel                           ,
+#endif
+    setMenuItemLabel                        ,
+
+
+-- ** rightJustified #attr:rightJustified#
+{- | Sets whether the menu item appears justified
+at the right side of a menu bar.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    MenuItemRightJustifiedPropertyInfo      ,
+#endif
+    constructMenuItemRightJustified         ,
+    getMenuItemRightJustified               ,
+#if ENABLE_OVERLOADING
+    menuItemRightJustified                  ,
+#endif
+    setMenuItemRightJustified               ,
+
+
+-- ** submenu #attr:submenu#
+{- | The submenu attached to the menu item, or 'Nothing' if it has none.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    MenuItemSubmenuPropertyInfo             ,
+#endif
+    clearMenuItemSubmenu                    ,
+    constructMenuItemSubmenu                ,
+    getMenuItemSubmenu                      ,
+#if ENABLE_OVERLOADING
+    menuItemSubmenu                         ,
+#endif
+    setMenuItemSubmenu                      ,
+
+
+-- ** useUnderline #attr:useUnderline#
+{- | 'True' if underlines in the text indicate mnemonics.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    MenuItemUseUnderlinePropertyInfo        ,
+#endif
+    constructMenuItemUseUnderline           ,
+    getMenuItemUseUnderline                 ,
+#if ENABLE_OVERLOADING
+    menuItemUseUnderline                    ,
+#endif
+    setMenuItemUseUnderline                 ,
+
+
+
+
+ -- * Signals
+-- ** activate #signal:activate#
+
+    C_MenuItemActivateCallback              ,
+    MenuItemActivateCallback                ,
+#if ENABLE_OVERLOADING
+    MenuItemActivateSignalInfo              ,
+#endif
+    afterMenuItemActivate                   ,
+    genClosure_MenuItemActivate             ,
+    mk_MenuItemActivateCallback             ,
+    noMenuItemActivateCallback              ,
+    onMenuItemActivate                      ,
+    wrap_MenuItemActivateCallback           ,
+
+
+-- ** activateItem #signal:activateItem#
+
+    C_MenuItemActivateItemCallback          ,
+    MenuItemActivateItemCallback            ,
+#if ENABLE_OVERLOADING
+    MenuItemActivateItemSignalInfo          ,
+#endif
+    afterMenuItemActivateItem               ,
+    genClosure_MenuItemActivateItem         ,
+    mk_MenuItemActivateItemCallback         ,
+    noMenuItemActivateItemCallback          ,
+    onMenuItemActivateItem                  ,
+    wrap_MenuItemActivateItemCallback       ,
+
+
+-- ** deselect #signal:deselect#
+
+    C_MenuItemDeselectCallback              ,
+    MenuItemDeselectCallback                ,
+#if ENABLE_OVERLOADING
+    MenuItemDeselectSignalInfo              ,
+#endif
+    afterMenuItemDeselect                   ,
+    genClosure_MenuItemDeselect             ,
+    mk_MenuItemDeselectCallback             ,
+    noMenuItemDeselectCallback              ,
+    onMenuItemDeselect                      ,
+    wrap_MenuItemDeselectCallback           ,
+
+
+-- ** select #signal:select#
+
+    C_MenuItemSelectCallback                ,
+    MenuItemSelectCallback                  ,
+#if ENABLE_OVERLOADING
+    MenuItemSelectSignalInfo                ,
+#endif
+    afterMenuItemSelect                     ,
+    genClosure_MenuItemSelect               ,
+    mk_MenuItemSelectCallback               ,
+    noMenuItemSelectCallback                ,
+    onMenuItemSelect                        ,
+    wrap_MenuItemSelectCallback             ,
+
+
+-- ** toggleSizeAllocate #signal:toggleSizeAllocate#
+
+    C_MenuItemToggleSizeAllocateCallback    ,
+    MenuItemToggleSizeAllocateCallback      ,
+#if ENABLE_OVERLOADING
+    MenuItemToggleSizeAllocateSignalInfo    ,
+#endif
+    afterMenuItemToggleSizeAllocate         ,
+    genClosure_MenuItemToggleSizeAllocate   ,
+    mk_MenuItemToggleSizeAllocateCallback   ,
+    noMenuItemToggleSizeAllocateCallback    ,
+    onMenuItemToggleSizeAllocate            ,
+    wrap_MenuItemToggleSizeAllocateCallback ,
+
+
+-- ** toggleSizeRequest #signal:toggleSizeRequest#
+
+    C_MenuItemToggleSizeRequestCallback     ,
+    MenuItemToggleSizeRequestCallback       ,
+#if ENABLE_OVERLOADING
+    MenuItemToggleSizeRequestSignalInfo     ,
+#endif
+    afterMenuItemToggleSizeRequest          ,
+    genClosure_MenuItemToggleSizeRequest    ,
+    mk_MenuItemToggleSizeRequestCallback    ,
+    noMenuItemToggleSizeRequestCallback     ,
+    onMenuItemToggleSizeRequest             ,
+    wrap_MenuItemToggleSizeRequestCallback  ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Menu as Gtk.Menu
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype MenuItem = MenuItem (ManagedPtr MenuItem)
+foreign import ccall "gtk_menu_item_get_type"
+    c_gtk_menu_item_get_type :: IO GType
+
+instance GObject MenuItem where
+    gobjectType = c_gtk_menu_item_get_type
+    
+
+-- | Type class for types which can be safely cast to `MenuItem`, for instance with `toMenuItem`.
+class (GObject o, O.IsDescendantOf MenuItem o) => IsMenuItem o
+instance (GObject o, O.IsDescendantOf MenuItem o) => IsMenuItem o
+
+instance O.HasParentTypes MenuItem
+type instance O.ParentTypes MenuItem = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `MenuItem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenuItem :: (MonadIO m, IsMenuItem o) => o -> m MenuItem
+toMenuItem = liftIO . unsafeCastTo MenuItem
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MenuItem`.
+noMenuItem :: Maybe MenuItem
+noMenuItem = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuItemMethod "activate" o = MenuItemActivateMethodInfo
+    ResolveMenuItemMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveMenuItemMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveMenuItemMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveMenuItemMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveMenuItemMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveMenuItemMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveMenuItemMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveMenuItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuItemMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveMenuItemMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveMenuItemMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveMenuItemMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveMenuItemMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveMenuItemMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveMenuItemMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveMenuItemMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveMenuItemMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveMenuItemMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveMenuItemMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveMenuItemMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveMenuItemMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveMenuItemMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveMenuItemMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveMenuItemMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveMenuItemMethod "deselect" o = MenuItemDeselectMethodInfo
+    ResolveMenuItemMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveMenuItemMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveMenuItemMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveMenuItemMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveMenuItemMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveMenuItemMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveMenuItemMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveMenuItemMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveMenuItemMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveMenuItemMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveMenuItemMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveMenuItemMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveMenuItemMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveMenuItemMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveMenuItemMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveMenuItemMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveMenuItemMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveMenuItemMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveMenuItemMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveMenuItemMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveMenuItemMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveMenuItemMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveMenuItemMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveMenuItemMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveMenuItemMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveMenuItemMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveMenuItemMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveMenuItemMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveMenuItemMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveMenuItemMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveMenuItemMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveMenuItemMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveMenuItemMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveMenuItemMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveMenuItemMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveMenuItemMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveMenuItemMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveMenuItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuItemMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveMenuItemMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveMenuItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuItemMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveMenuItemMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveMenuItemMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveMenuItemMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveMenuItemMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveMenuItemMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveMenuItemMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveMenuItemMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveMenuItemMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveMenuItemMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveMenuItemMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveMenuItemMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveMenuItemMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveMenuItemMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveMenuItemMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveMenuItemMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveMenuItemMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveMenuItemMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveMenuItemMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveMenuItemMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveMenuItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuItemMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveMenuItemMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveMenuItemMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveMenuItemMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveMenuItemMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveMenuItemMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveMenuItemMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveMenuItemMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveMenuItemMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveMenuItemMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveMenuItemMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveMenuItemMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveMenuItemMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveMenuItemMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveMenuItemMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveMenuItemMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveMenuItemMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveMenuItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuItemMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveMenuItemMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveMenuItemMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveMenuItemMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveMenuItemMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveMenuItemMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveMenuItemMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveMenuItemMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveMenuItemMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveMenuItemMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveMenuItemMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveMenuItemMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveMenuItemMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveMenuItemMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveMenuItemMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveMenuItemMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveMenuItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuItemMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveMenuItemMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveMenuItemMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveMenuItemMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveMenuItemMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveMenuItemMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveMenuItemMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveMenuItemMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveMenuItemMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveMenuItemMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveMenuItemMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveMenuItemMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveMenuItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuItemMethod "select" o = MenuItemSelectMethodInfo
+    ResolveMenuItemMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveMenuItemMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveMenuItemMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveMenuItemMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveMenuItemMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveMenuItemMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveMenuItemMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveMenuItemMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveMenuItemMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveMenuItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuItemMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveMenuItemMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveMenuItemMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveMenuItemMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveMenuItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuItemMethod "toggleSizeAllocate" o = MenuItemToggleSizeAllocateMethodInfo
+    ResolveMenuItemMethod "toggleSizeRequest" o = MenuItemToggleSizeRequestMethodInfo
+    ResolveMenuItemMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveMenuItemMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveMenuItemMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveMenuItemMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveMenuItemMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveMenuItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuItemMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveMenuItemMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveMenuItemMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveMenuItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuItemMethod "getAccelPath" o = MenuItemGetAccelPathMethodInfo
+    ResolveMenuItemMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveMenuItemMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveMenuItemMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveMenuItemMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveMenuItemMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveMenuItemMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveMenuItemMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveMenuItemMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveMenuItemMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveMenuItemMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveMenuItemMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveMenuItemMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveMenuItemMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveMenuItemMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveMenuItemMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveMenuItemMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveMenuItemMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveMenuItemMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveMenuItemMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveMenuItemMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveMenuItemMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveMenuItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuItemMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveMenuItemMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveMenuItemMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveMenuItemMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveMenuItemMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveMenuItemMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveMenuItemMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveMenuItemMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveMenuItemMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveMenuItemMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveMenuItemMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveMenuItemMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveMenuItemMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveMenuItemMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveMenuItemMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveMenuItemMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveMenuItemMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveMenuItemMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveMenuItemMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveMenuItemMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveMenuItemMethod "getLabel" o = MenuItemGetLabelMethodInfo
+    ResolveMenuItemMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveMenuItemMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveMenuItemMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveMenuItemMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveMenuItemMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveMenuItemMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveMenuItemMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveMenuItemMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveMenuItemMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveMenuItemMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveMenuItemMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveMenuItemMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveMenuItemMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveMenuItemMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveMenuItemMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveMenuItemMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveMenuItemMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveMenuItemMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveMenuItemMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveMenuItemMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveMenuItemMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveMenuItemMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveMenuItemMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveMenuItemMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveMenuItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuItemMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveMenuItemMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveMenuItemMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveMenuItemMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveMenuItemMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveMenuItemMethod "getReserveIndicator" o = MenuItemGetReserveIndicatorMethodInfo
+    ResolveMenuItemMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveMenuItemMethod "getRightJustified" o = MenuItemGetRightJustifiedMethodInfo
+    ResolveMenuItemMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveMenuItemMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveMenuItemMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveMenuItemMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveMenuItemMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveMenuItemMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveMenuItemMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveMenuItemMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveMenuItemMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveMenuItemMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveMenuItemMethod "getSubmenu" o = MenuItemGetSubmenuMethodInfo
+    ResolveMenuItemMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveMenuItemMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveMenuItemMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveMenuItemMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveMenuItemMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveMenuItemMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveMenuItemMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveMenuItemMethod "getUseUnderline" o = MenuItemGetUseUnderlineMethodInfo
+    ResolveMenuItemMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveMenuItemMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveMenuItemMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveMenuItemMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveMenuItemMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveMenuItemMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveMenuItemMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveMenuItemMethod "setAccelPath" o = MenuItemSetAccelPathMethodInfo
+    ResolveMenuItemMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveMenuItemMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveMenuItemMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveMenuItemMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveMenuItemMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveMenuItemMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveMenuItemMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveMenuItemMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveMenuItemMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveMenuItemMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveMenuItemMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveMenuItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuItemMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveMenuItemMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveMenuItemMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveMenuItemMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveMenuItemMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveMenuItemMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveMenuItemMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveMenuItemMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveMenuItemMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveMenuItemMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveMenuItemMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveMenuItemMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveMenuItemMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveMenuItemMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveMenuItemMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveMenuItemMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveMenuItemMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveMenuItemMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveMenuItemMethod "setLabel" o = MenuItemSetLabelMethodInfo
+    ResolveMenuItemMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveMenuItemMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveMenuItemMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveMenuItemMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveMenuItemMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveMenuItemMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveMenuItemMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveMenuItemMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveMenuItemMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveMenuItemMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveMenuItemMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveMenuItemMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveMenuItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuItemMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveMenuItemMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveMenuItemMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveMenuItemMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveMenuItemMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveMenuItemMethod "setReserveIndicator" o = MenuItemSetReserveIndicatorMethodInfo
+    ResolveMenuItemMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveMenuItemMethod "setRightJustified" o = MenuItemSetRightJustifiedMethodInfo
+    ResolveMenuItemMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveMenuItemMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveMenuItemMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveMenuItemMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveMenuItemMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveMenuItemMethod "setSubmenu" o = MenuItemSetSubmenuMethodInfo
+    ResolveMenuItemMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveMenuItemMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveMenuItemMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveMenuItemMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveMenuItemMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveMenuItemMethod "setUseUnderline" o = MenuItemSetUseUnderlineMethodInfo
+    ResolveMenuItemMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveMenuItemMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveMenuItemMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveMenuItemMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveMenuItemMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveMenuItemMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveMenuItemMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuItemMethod t MenuItem, O.MethodInfo info MenuItem p) => OL.IsLabel t (MenuItem -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal MenuItem::activate
+{- |
+Emitted when the item is activated.
+-}
+type MenuItemActivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuItemActivateCallback`@.
+noMenuItemActivateCallback :: Maybe MenuItemActivateCallback
+noMenuItemActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuItemActivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuItemActivateCallback`.
+foreign import ccall "wrapper"
+    mk_MenuItemActivateCallback :: C_MenuItemActivateCallback -> IO (FunPtr C_MenuItemActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuItemActivate :: MonadIO m => MenuItemActivateCallback -> m (GClosure C_MenuItemActivateCallback)
+genClosure_MenuItemActivate cb = liftIO $ do
+    let cb' = wrap_MenuItemActivateCallback cb
+    mk_MenuItemActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuItemActivateCallback` into a `C_MenuItemActivateCallback`.
+wrap_MenuItemActivateCallback ::
+    MenuItemActivateCallback ->
+    C_MenuItemActivateCallback
+wrap_MenuItemActivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuItem #activate callback
+@
+-}
+onMenuItemActivate :: (IsMenuItem a, MonadIO m) => a -> MenuItemActivateCallback -> m SignalHandlerId
+onMenuItemActivate obj cb = liftIO $ do
+    let cb' = wrap_MenuItemActivateCallback cb
+    cb'' <- mk_MenuItemActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuItem #activate callback
+@
+-}
+afterMenuItemActivate :: (IsMenuItem a, MonadIO m) => a -> MenuItemActivateCallback -> m SignalHandlerId
+afterMenuItemActivate obj cb = liftIO $ do
+    let cb' = wrap_MenuItemActivateCallback cb
+    cb'' <- mk_MenuItemActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter
+
+
+-- signal MenuItem::activate-item
+{- |
+Emitted when the item is activated, but also if the menu item has a
+submenu. For normal applications, the relevant signal is
+'GI.Gtk.Objects.MenuItem.MenuItem'::@/activate/@.
+-}
+type MenuItemActivateItemCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuItemActivateItemCallback`@.
+noMenuItemActivateItemCallback :: Maybe MenuItemActivateItemCallback
+noMenuItemActivateItemCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuItemActivateItemCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuItemActivateItemCallback`.
+foreign import ccall "wrapper"
+    mk_MenuItemActivateItemCallback :: C_MenuItemActivateItemCallback -> IO (FunPtr C_MenuItemActivateItemCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuItemActivateItem :: MonadIO m => MenuItemActivateItemCallback -> m (GClosure C_MenuItemActivateItemCallback)
+genClosure_MenuItemActivateItem cb = liftIO $ do
+    let cb' = wrap_MenuItemActivateItemCallback cb
+    mk_MenuItemActivateItemCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuItemActivateItemCallback` into a `C_MenuItemActivateItemCallback`.
+wrap_MenuItemActivateItemCallback ::
+    MenuItemActivateItemCallback ->
+    C_MenuItemActivateItemCallback
+wrap_MenuItemActivateItemCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate-item@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuItem #activateItem callback
+@
+-}
+onMenuItemActivateItem :: (IsMenuItem a, MonadIO m) => a -> MenuItemActivateItemCallback -> m SignalHandlerId
+onMenuItemActivateItem obj cb = liftIO $ do
+    let cb' = wrap_MenuItemActivateItemCallback cb
+    cb'' <- mk_MenuItemActivateItemCallback cb'
+    connectSignalFunPtr obj "activate-item" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-item@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuItem #activateItem callback
+@
+-}
+afterMenuItemActivateItem :: (IsMenuItem a, MonadIO m) => a -> MenuItemActivateItemCallback -> m SignalHandlerId
+afterMenuItemActivateItem obj cb = liftIO $ do
+    let cb' = wrap_MenuItemActivateItemCallback cb
+    cb'' <- mk_MenuItemActivateItemCallback cb'
+    connectSignalFunPtr obj "activate-item" cb'' SignalConnectAfter
+
+
+-- signal MenuItem::deselect
+{- |
+/No description available in the introspection data./
+-}
+type MenuItemDeselectCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuItemDeselectCallback`@.
+noMenuItemDeselectCallback :: Maybe MenuItemDeselectCallback
+noMenuItemDeselectCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuItemDeselectCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuItemDeselectCallback`.
+foreign import ccall "wrapper"
+    mk_MenuItemDeselectCallback :: C_MenuItemDeselectCallback -> IO (FunPtr C_MenuItemDeselectCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuItemDeselect :: MonadIO m => MenuItemDeselectCallback -> m (GClosure C_MenuItemDeselectCallback)
+genClosure_MenuItemDeselect cb = liftIO $ do
+    let cb' = wrap_MenuItemDeselectCallback cb
+    mk_MenuItemDeselectCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuItemDeselectCallback` into a `C_MenuItemDeselectCallback`.
+wrap_MenuItemDeselectCallback ::
+    MenuItemDeselectCallback ->
+    C_MenuItemDeselectCallback
+wrap_MenuItemDeselectCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@deselect@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuItem #deselect callback
+@
+-}
+onMenuItemDeselect :: (IsMenuItem a, MonadIO m) => a -> MenuItemDeselectCallback -> m SignalHandlerId
+onMenuItemDeselect obj cb = liftIO $ do
+    let cb' = wrap_MenuItemDeselectCallback cb
+    cb'' <- mk_MenuItemDeselectCallback cb'
+    connectSignalFunPtr obj "deselect" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@deselect@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuItem #deselect callback
+@
+-}
+afterMenuItemDeselect :: (IsMenuItem a, MonadIO m) => a -> MenuItemDeselectCallback -> m SignalHandlerId
+afterMenuItemDeselect obj cb = liftIO $ do
+    let cb' = wrap_MenuItemDeselectCallback cb
+    cb'' <- mk_MenuItemDeselectCallback cb'
+    connectSignalFunPtr obj "deselect" cb'' SignalConnectAfter
+
+
+-- signal MenuItem::select
+{- |
+/No description available in the introspection data./
+-}
+type MenuItemSelectCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuItemSelectCallback`@.
+noMenuItemSelectCallback :: Maybe MenuItemSelectCallback
+noMenuItemSelectCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuItemSelectCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuItemSelectCallback`.
+foreign import ccall "wrapper"
+    mk_MenuItemSelectCallback :: C_MenuItemSelectCallback -> IO (FunPtr C_MenuItemSelectCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuItemSelect :: MonadIO m => MenuItemSelectCallback -> m (GClosure C_MenuItemSelectCallback)
+genClosure_MenuItemSelect cb = liftIO $ do
+    let cb' = wrap_MenuItemSelectCallback cb
+    mk_MenuItemSelectCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuItemSelectCallback` into a `C_MenuItemSelectCallback`.
+wrap_MenuItemSelectCallback ::
+    MenuItemSelectCallback ->
+    C_MenuItemSelectCallback
+wrap_MenuItemSelectCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@select@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuItem #select callback
+@
+-}
+onMenuItemSelect :: (IsMenuItem a, MonadIO m) => a -> MenuItemSelectCallback -> m SignalHandlerId
+onMenuItemSelect obj cb = liftIO $ do
+    let cb' = wrap_MenuItemSelectCallback cb
+    cb'' <- mk_MenuItemSelectCallback cb'
+    connectSignalFunPtr obj "select" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuItem #select callback
+@
+-}
+afterMenuItemSelect :: (IsMenuItem a, MonadIO m) => a -> MenuItemSelectCallback -> m SignalHandlerId
+afterMenuItemSelect obj cb = liftIO $ do
+    let cb' = wrap_MenuItemSelectCallback cb
+    cb'' <- mk_MenuItemSelectCallback cb'
+    connectSignalFunPtr obj "select" cb'' SignalConnectAfter
+
+
+-- signal MenuItem::toggle-size-allocate
+{- |
+/No description available in the introspection data./
+-}
+type MenuItemToggleSizeAllocateCallback =
+    Int32
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuItemToggleSizeAllocateCallback`@.
+noMenuItemToggleSizeAllocateCallback :: Maybe MenuItemToggleSizeAllocateCallback
+noMenuItemToggleSizeAllocateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuItemToggleSizeAllocateCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuItemToggleSizeAllocateCallback`.
+foreign import ccall "wrapper"
+    mk_MenuItemToggleSizeAllocateCallback :: C_MenuItemToggleSizeAllocateCallback -> IO (FunPtr C_MenuItemToggleSizeAllocateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuItemToggleSizeAllocate :: MonadIO m => MenuItemToggleSizeAllocateCallback -> m (GClosure C_MenuItemToggleSizeAllocateCallback)
+genClosure_MenuItemToggleSizeAllocate cb = liftIO $ do
+    let cb' = wrap_MenuItemToggleSizeAllocateCallback cb
+    mk_MenuItemToggleSizeAllocateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuItemToggleSizeAllocateCallback` into a `C_MenuItemToggleSizeAllocateCallback`.
+wrap_MenuItemToggleSizeAllocateCallback ::
+    MenuItemToggleSizeAllocateCallback ->
+    C_MenuItemToggleSizeAllocateCallback
+wrap_MenuItemToggleSizeAllocateCallback _cb _ object _ = do
+    _cb  object
+
+
+{- |
+Connect a signal handler for the “@toggle-size-allocate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuItem #toggleSizeAllocate callback
+@
+-}
+onMenuItemToggleSizeAllocate :: (IsMenuItem a, MonadIO m) => a -> MenuItemToggleSizeAllocateCallback -> m SignalHandlerId
+onMenuItemToggleSizeAllocate obj cb = liftIO $ do
+    let cb' = wrap_MenuItemToggleSizeAllocateCallback cb
+    cb'' <- mk_MenuItemToggleSizeAllocateCallback cb'
+    connectSignalFunPtr obj "toggle-size-allocate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-size-allocate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuItem #toggleSizeAllocate callback
+@
+-}
+afterMenuItemToggleSizeAllocate :: (IsMenuItem a, MonadIO m) => a -> MenuItemToggleSizeAllocateCallback -> m SignalHandlerId
+afterMenuItemToggleSizeAllocate obj cb = liftIO $ do
+    let cb' = wrap_MenuItemToggleSizeAllocateCallback cb
+    cb'' <- mk_MenuItemToggleSizeAllocateCallback cb'
+    connectSignalFunPtr obj "toggle-size-allocate" cb'' SignalConnectAfter
+
+
+-- signal MenuItem::toggle-size-request
+{- |
+/No description available in the introspection data./
+-}
+type MenuItemToggleSizeRequestCallback =
+    Ptr ()
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuItemToggleSizeRequestCallback`@.
+noMenuItemToggleSizeRequestCallback :: Maybe MenuItemToggleSizeRequestCallback
+noMenuItemToggleSizeRequestCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuItemToggleSizeRequestCallback =
+    Ptr () ->                               -- object
+    Ptr () ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuItemToggleSizeRequestCallback`.
+foreign import ccall "wrapper"
+    mk_MenuItemToggleSizeRequestCallback :: C_MenuItemToggleSizeRequestCallback -> IO (FunPtr C_MenuItemToggleSizeRequestCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuItemToggleSizeRequest :: MonadIO m => MenuItemToggleSizeRequestCallback -> m (GClosure C_MenuItemToggleSizeRequestCallback)
+genClosure_MenuItemToggleSizeRequest cb = liftIO $ do
+    let cb' = wrap_MenuItemToggleSizeRequestCallback cb
+    mk_MenuItemToggleSizeRequestCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuItemToggleSizeRequestCallback` into a `C_MenuItemToggleSizeRequestCallback`.
+wrap_MenuItemToggleSizeRequestCallback ::
+    MenuItemToggleSizeRequestCallback ->
+    C_MenuItemToggleSizeRequestCallback
+wrap_MenuItemToggleSizeRequestCallback _cb _ object _ = do
+    _cb  object
+
+
+{- |
+Connect a signal handler for the “@toggle-size-request@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuItem #toggleSizeRequest callback
+@
+-}
+onMenuItemToggleSizeRequest :: (IsMenuItem a, MonadIO m) => a -> MenuItemToggleSizeRequestCallback -> m SignalHandlerId
+onMenuItemToggleSizeRequest obj cb = liftIO $ do
+    let cb' = wrap_MenuItemToggleSizeRequestCallback cb
+    cb'' <- mk_MenuItemToggleSizeRequestCallback cb'
+    connectSignalFunPtr obj "toggle-size-request" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-size-request@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuItem #toggleSizeRequest callback
+@
+-}
+afterMenuItemToggleSizeRequest :: (IsMenuItem a, MonadIO m) => a -> MenuItemToggleSizeRequestCallback -> m SignalHandlerId
+afterMenuItemToggleSizeRequest obj cb = liftIO $ do
+    let cb' = wrap_MenuItemToggleSizeRequestCallback cb
+    cb'' <- mk_MenuItemToggleSizeRequestCallback cb'
+    connectSignalFunPtr obj "toggle-size-request" cb'' SignalConnectAfter
+
+
+-- VVV Prop "accel-path"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@accel-path@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuItem #accelPath
+@
+-}
+getMenuItemAccelPath :: (MonadIO m, IsMenuItem o) => o -> m (Maybe T.Text)
+getMenuItemAccelPath obj = liftIO $ B.Properties.getObjectPropertyString obj "accel-path"
+
+{- |
+Set the value of the “@accel-path@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuItem [ #accelPath 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuItemAccelPath :: (MonadIO m, IsMenuItem o) => o -> T.Text -> m ()
+setMenuItemAccelPath obj val = liftIO $ B.Properties.setObjectPropertyString obj "accel-path" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuItemAccelPath :: (IsMenuItem o) => T.Text -> IO (GValueConstruct o)
+constructMenuItemAccelPath val = B.Properties.constructObjectPropertyString "accel-path" (Just val)
+
+{- |
+Set the value of the “@accel-path@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelPath
+@
+-}
+clearMenuItemAccelPath :: (MonadIO m, IsMenuItem o) => o -> m ()
+clearMenuItemAccelPath obj = liftIO $ B.Properties.setObjectPropertyString obj "accel-path" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data MenuItemAccelPathPropertyInfo
+instance AttrInfo MenuItemAccelPathPropertyInfo where
+    type AttrAllowedOps MenuItemAccelPathPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuItemAccelPathPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint MenuItemAccelPathPropertyInfo = IsMenuItem
+    type AttrGetType MenuItemAccelPathPropertyInfo = (Maybe T.Text)
+    type AttrLabel MenuItemAccelPathPropertyInfo = "accel-path"
+    type AttrOrigin MenuItemAccelPathPropertyInfo = MenuItem
+    attrGet _ = getMenuItemAccelPath
+    attrSet _ = setMenuItemAccelPath
+    attrConstruct _ = constructMenuItemAccelPath
+    attrClear _ = clearMenuItemAccelPath
+#endif
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuItem #label
+@
+-}
+getMenuItemLabel :: (MonadIO m, IsMenuItem o) => o -> m T.Text
+getMenuItemLabel obj = liftIO $ checkUnexpectedNothing "getMenuItemLabel" $ B.Properties.getObjectPropertyString obj "label"
+
+{- |
+Set the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuItem [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuItemLabel :: (MonadIO m, IsMenuItem o) => o -> T.Text -> m ()
+setMenuItemLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuItemLabel :: (IsMenuItem o) => T.Text -> IO (GValueConstruct o)
+constructMenuItemLabel val = B.Properties.constructObjectPropertyString "label" (Just val)
+
+#if ENABLE_OVERLOADING
+data MenuItemLabelPropertyInfo
+instance AttrInfo MenuItemLabelPropertyInfo where
+    type AttrAllowedOps MenuItemLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuItemLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint MenuItemLabelPropertyInfo = IsMenuItem
+    type AttrGetType MenuItemLabelPropertyInfo = T.Text
+    type AttrLabel MenuItemLabelPropertyInfo = "label"
+    type AttrOrigin MenuItemLabelPropertyInfo = MenuItem
+    attrGet _ = getMenuItemLabel
+    attrSet _ = setMenuItemLabel
+    attrConstruct _ = constructMenuItemLabel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "right-justified"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@right-justified@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuItem #rightJustified
+@
+-}
+getMenuItemRightJustified :: (MonadIO m, IsMenuItem o) => o -> m Bool
+getMenuItemRightJustified obj = liftIO $ B.Properties.getObjectPropertyBool obj "right-justified"
+
+{- |
+Set the value of the “@right-justified@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuItem [ #rightJustified 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuItemRightJustified :: (MonadIO m, IsMenuItem o) => o -> Bool -> m ()
+setMenuItemRightJustified obj val = liftIO $ B.Properties.setObjectPropertyBool obj "right-justified" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@right-justified@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuItemRightJustified :: (IsMenuItem o) => Bool -> IO (GValueConstruct o)
+constructMenuItemRightJustified val = B.Properties.constructObjectPropertyBool "right-justified" val
+
+#if ENABLE_OVERLOADING
+data MenuItemRightJustifiedPropertyInfo
+instance AttrInfo MenuItemRightJustifiedPropertyInfo where
+    type AttrAllowedOps MenuItemRightJustifiedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuItemRightJustifiedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint MenuItemRightJustifiedPropertyInfo = IsMenuItem
+    type AttrGetType MenuItemRightJustifiedPropertyInfo = Bool
+    type AttrLabel MenuItemRightJustifiedPropertyInfo = "right-justified"
+    type AttrOrigin MenuItemRightJustifiedPropertyInfo = MenuItem
+    attrGet _ = getMenuItemRightJustified
+    attrSet _ = setMenuItemRightJustified
+    attrConstruct _ = constructMenuItemRightJustified
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "submenu"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Menu"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+{- |
+Get the value of the “@submenu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuItem #submenu
+@
+-}
+getMenuItemSubmenu :: (MonadIO m, IsMenuItem o) => o -> m (Maybe Gtk.Menu.Menu)
+getMenuItemSubmenu obj = liftIO $ B.Properties.getObjectPropertyObject obj "submenu" Gtk.Menu.Menu
+
+{- |
+Set the value of the “@submenu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuItem [ #submenu 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuItemSubmenu :: (MonadIO m, IsMenuItem o, Gtk.Menu.IsMenu a) => o -> a -> m ()
+setMenuItemSubmenu obj val = liftIO $ B.Properties.setObjectPropertyObject obj "submenu" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@submenu@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuItemSubmenu :: (IsMenuItem o, Gtk.Menu.IsMenu a) => a -> IO (GValueConstruct o)
+constructMenuItemSubmenu val = B.Properties.constructObjectPropertyObject "submenu" (Just val)
+
+{- |
+Set the value of the “@submenu@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #submenu
+@
+-}
+clearMenuItemSubmenu :: (MonadIO m, IsMenuItem o) => o -> m ()
+clearMenuItemSubmenu obj = liftIO $ B.Properties.setObjectPropertyObject obj "submenu" (Nothing :: Maybe Gtk.Menu.Menu)
+
+#if ENABLE_OVERLOADING
+data MenuItemSubmenuPropertyInfo
+instance AttrInfo MenuItemSubmenuPropertyInfo where
+    type AttrAllowedOps MenuItemSubmenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuItemSubmenuPropertyInfo = Gtk.Menu.IsMenu
+    type AttrBaseTypeConstraint MenuItemSubmenuPropertyInfo = IsMenuItem
+    type AttrGetType MenuItemSubmenuPropertyInfo = (Maybe Gtk.Menu.Menu)
+    type AttrLabel MenuItemSubmenuPropertyInfo = "submenu"
+    type AttrOrigin MenuItemSubmenuPropertyInfo = MenuItem
+    attrGet _ = getMenuItemSubmenu
+    attrSet _ = setMenuItemSubmenu
+    attrConstruct _ = constructMenuItemSubmenu
+    attrClear _ = clearMenuItemSubmenu
+#endif
+
+-- VVV Prop "use-underline"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuItem #useUnderline
+@
+-}
+getMenuItemUseUnderline :: (MonadIO m, IsMenuItem o) => o -> m Bool
+getMenuItemUseUnderline obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-underline"
+
+{- |
+Set the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuItem [ #useUnderline 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuItemUseUnderline :: (MonadIO m, IsMenuItem o) => o -> Bool -> m ()
+setMenuItemUseUnderline obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-underline" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-underline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuItemUseUnderline :: (IsMenuItem o) => Bool -> IO (GValueConstruct o)
+constructMenuItemUseUnderline val = B.Properties.constructObjectPropertyBool "use-underline" val
+
+#if ENABLE_OVERLOADING
+data MenuItemUseUnderlinePropertyInfo
+instance AttrInfo MenuItemUseUnderlinePropertyInfo where
+    type AttrAllowedOps MenuItemUseUnderlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuItemUseUnderlinePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint MenuItemUseUnderlinePropertyInfo = IsMenuItem
+    type AttrGetType MenuItemUseUnderlinePropertyInfo = Bool
+    type AttrLabel MenuItemUseUnderlinePropertyInfo = "use-underline"
+    type AttrOrigin MenuItemUseUnderlinePropertyInfo = MenuItem
+    attrGet _ = getMenuItemUseUnderline
+    attrSet _ = setMenuItemUseUnderline
+    attrConstruct _ = constructMenuItemUseUnderline
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MenuItem
+type instance O.AttributeList MenuItem = MenuItemAttributeList
+type MenuItemAttributeList = ('[ '("accelPath", MenuItemAccelPathPropertyInfo), '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", MenuItemLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rightJustified", MenuItemRightJustifiedPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("submenu", MenuItemSubmenuPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useUnderline", MenuItemUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+menuItemAccelPath :: AttrLabelProxy "accelPath"
+menuItemAccelPath = AttrLabelProxy
+
+menuItemLabel :: AttrLabelProxy "label"
+menuItemLabel = AttrLabelProxy
+
+menuItemRightJustified :: AttrLabelProxy "rightJustified"
+menuItemRightJustified = AttrLabelProxy
+
+menuItemSubmenu :: AttrLabelProxy "submenu"
+menuItemSubmenu = AttrLabelProxy
+
+menuItemUseUnderline :: AttrLabelProxy "useUnderline"
+menuItemUseUnderline = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data MenuItemActivateSignalInfo
+instance SignalInfo MenuItemActivateSignalInfo where
+    type HaskellCallbackType MenuItemActivateSignalInfo = MenuItemActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuItemActivateCallback cb
+        cb'' <- mk_MenuItemActivateCallback cb'
+        connectSignalFunPtr obj "activate" cb'' connectMode
+
+data MenuItemActivateItemSignalInfo
+instance SignalInfo MenuItemActivateItemSignalInfo where
+    type HaskellCallbackType MenuItemActivateItemSignalInfo = MenuItemActivateItemCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuItemActivateItemCallback cb
+        cb'' <- mk_MenuItemActivateItemCallback cb'
+        connectSignalFunPtr obj "activate-item" cb'' connectMode
+
+data MenuItemDeselectSignalInfo
+instance SignalInfo MenuItemDeselectSignalInfo where
+    type HaskellCallbackType MenuItemDeselectSignalInfo = MenuItemDeselectCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuItemDeselectCallback cb
+        cb'' <- mk_MenuItemDeselectCallback cb'
+        connectSignalFunPtr obj "deselect" cb'' connectMode
+
+data MenuItemSelectSignalInfo
+instance SignalInfo MenuItemSelectSignalInfo where
+    type HaskellCallbackType MenuItemSelectSignalInfo = MenuItemSelectCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuItemSelectCallback cb
+        cb'' <- mk_MenuItemSelectCallback cb'
+        connectSignalFunPtr obj "select" cb'' connectMode
+
+data MenuItemToggleSizeAllocateSignalInfo
+instance SignalInfo MenuItemToggleSizeAllocateSignalInfo where
+    type HaskellCallbackType MenuItemToggleSizeAllocateSignalInfo = MenuItemToggleSizeAllocateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuItemToggleSizeAllocateCallback cb
+        cb'' <- mk_MenuItemToggleSizeAllocateCallback cb'
+        connectSignalFunPtr obj "toggle-size-allocate" cb'' connectMode
+
+data MenuItemToggleSizeRequestSignalInfo
+instance SignalInfo MenuItemToggleSizeRequestSignalInfo where
+    type HaskellCallbackType MenuItemToggleSizeRequestSignalInfo = MenuItemToggleSizeRequestCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuItemToggleSizeRequestCallback cb
+        cb'' <- mk_MenuItemToggleSizeRequestCallback cb'
+        connectSignalFunPtr obj "toggle-size-request" cb'' connectMode
+
+type instance O.SignalList MenuItem = MenuItemSignalList
+type MenuItemSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", MenuItemActivateSignalInfo), '("activateItem", MenuItemActivateItemSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deselect", MenuItemDeselectSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("select", MenuItemSelectSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleSizeAllocate", MenuItemToggleSizeAllocateSignalInfo), '("toggleSizeRequest", MenuItemToggleSizeRequestSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method MenuItem::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_new" gtk_menu_item_new :: 
+    IO (Ptr MenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.MenuItem.MenuItem'.
+-}
+menuItemNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m MenuItem
+    {- ^ __Returns:__ the newly created 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+menuItemNew  = liftIO $ do
+    result <- gtk_menu_item_new
+    checkUnexpectedReturnNULL "menuItemNew" result
+    result' <- (newObject MenuItem) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method MenuItem::new_with_label
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text for the label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_new_with_label" gtk_menu_item_new_with_label :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr MenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.MenuItem.MenuItem' whose child is a 'GI.Gtk.Objects.Label.Label'.
+-}
+menuItemNewWithLabel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: the text for the label -}
+    -> m MenuItem
+    {- ^ __Returns:__ the newly created 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+menuItemNewWithLabel label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_menu_item_new_with_label label'
+    checkUnexpectedReturnNULL "menuItemNewWithLabel" result
+    result' <- (newObject MenuItem) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method MenuItem::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The text of the button, with an underscore in front of the\n    mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_new_with_mnemonic" gtk_menu_item_new_with_mnemonic :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr MenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.MenuItem.MenuItem' containing a label.
+
+The label will be created using 'GI.Gtk.Objects.Label.labelNewWithMnemonic',
+so underscores in /@label@/ indicate the mnemonic for the menu item.
+-}
+menuItemNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: The text of the button, with an underscore in front of the
+    mnemonic character -}
+    -> m MenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+menuItemNewWithMnemonic label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_menu_item_new_with_mnemonic label'
+    checkUnexpectedReturnNULL "menuItemNewWithMnemonic" result
+    result' <- (newObject MenuItem) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method MenuItem::activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the menu item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_activate" gtk_menu_item_activate :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Objects.MenuItem.MenuItem'::@/activate/@ signal on the given item
+-}
+menuItemActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: the menu item -}
+    -> m ()
+menuItemActivate menuItem = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    gtk_menu_item_activate menuItem'
+    touchManagedPtr menuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemActivateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemActivateMethodInfo a signature where
+    overloadedMethod _ = menuItemActivate
+
+#endif
+
+-- method MenuItem::deselect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the menu item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_deselect" gtk_menu_item_deselect :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Objects.MenuItem.MenuItem'::@/deselect/@ signal on the given item.
+-}
+menuItemDeselect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: the menu item -}
+    -> m ()
+menuItemDeselect menuItem = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    gtk_menu_item_deselect menuItem'
+    touchManagedPtr menuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemDeselectMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemDeselectMethodInfo a signature where
+    overloadedMethod _ = menuItemDeselect
+
+#endif
+
+-- method MenuItem::get_accel_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_get_accel_path" gtk_menu_item_get_accel_path :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO CString
+
+{- |
+Retrieve the accelerator path that was previously set on /@menuItem@/.
+
+See 'GI.Gtk.Objects.MenuItem.menuItemSetAccelPath' for details.
+
+/Since: 2.14/
+-}
+menuItemGetAccelPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a valid 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the accelerator path corresponding to
+    this menu item’s functionality, or 'Nothing' if not set -}
+menuItemGetAccelPath menuItem = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    result <- gtk_menu_item_get_accel_path menuItem'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr menuItem
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data MenuItemGetAccelPathMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemGetAccelPathMethodInfo a signature where
+    overloadedMethod _ = menuItemGetAccelPath
+
+#endif
+
+-- method MenuItem::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_get_label" gtk_menu_item_get_label :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO CString
+
+{- |
+Sets /@text@/ on the /@menuItem@/ label
+
+/Since: 2.16/
+-}
+menuItemGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> m T.Text
+    {- ^ __Returns:__ The text in the /@menuItem@/ label. This is the internal
+  string used by the label, and must not be modified. -}
+menuItemGetLabel menuItem = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    result <- gtk_menu_item_get_label menuItem'
+    checkUnexpectedReturnNULL "menuItemGetLabel" result
+    result' <- cstringToText result
+    touchManagedPtr menuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuItemGetLabelMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemGetLabelMethodInfo a signature where
+    overloadedMethod _ = menuItemGetLabel
+
+#endif
+
+-- method MenuItem::get_reserve_indicator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_get_reserve_indicator" gtk_menu_item_get_reserve_indicator :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO CInt
+
+{- |
+Returns whether the /@menuItem@/ reserves space for
+the submenu indicator, regardless if it has a submenu
+or not.
+
+/Since: 3.0/
+-}
+menuItemGetReserveIndicator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@menuItem@/ always reserves space for the
+    submenu indicator -}
+menuItemGetReserveIndicator menuItem = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    result <- gtk_menu_item_get_reserve_indicator menuItem'
+    let result' = (/= 0) result
+    touchManagedPtr menuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuItemGetReserveIndicatorMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemGetReserveIndicatorMethodInfo a signature where
+    overloadedMethod _ = menuItemGetReserveIndicator
+
+#endif
+
+-- method MenuItem::get_right_justified
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_get_right_justified" gtk_menu_item_get_right_justified :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO CInt
+
+{-# DEPRECATED menuItemGetRightJustified ["(Since version 3.2)","See 'GI.Gtk.Objects.MenuItem.menuItemSetRightJustified'"] #-}
+{- |
+Gets whether the menu item appears justified at the right
+side of the menu bar.
+-}
+menuItemGetRightJustified ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the menu item will appear at the
+  far right if added to a menu bar. -}
+menuItemGetRightJustified menuItem = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    result <- gtk_menu_item_get_right_justified menuItem'
+    let result' = (/= 0) result
+    touchManagedPtr menuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuItemGetRightJustifiedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemGetRightJustifiedMethodInfo a signature where
+    overloadedMethod _ = menuItemGetRightJustified
+
+#endif
+
+-- method MenuItem::get_submenu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_get_submenu" gtk_menu_item_get_submenu :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the submenu underneath this menu item, if any.
+See 'GI.Gtk.Objects.MenuItem.menuItemSetSubmenu'.
+-}
+menuItemGetSubmenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ submenu for this menu item, or 'Nothing' if none -}
+menuItemGetSubmenu menuItem = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    result <- gtk_menu_item_get_submenu menuItem'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr menuItem
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data MenuItemGetSubmenuMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemGetSubmenuMethodInfo a signature where
+    overloadedMethod _ = menuItemGetSubmenu
+
+#endif
+
+-- method MenuItem::get_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_get_use_underline" gtk_menu_item_get_use_underline :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO CInt
+
+{- |
+Checks if an underline in the text indicates the next character
+should be used for the mnemonic accelerator key.
+
+/Since: 2.16/
+-}
+menuItemGetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if an embedded underline in the label
+    indicates the mnemonic accelerator key. -}
+menuItemGetUseUnderline menuItem = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    result <- gtk_menu_item_get_use_underline menuItem'
+    let result' = (/= 0) result
+    touchManagedPtr menuItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuItemGetUseUnderlineMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemGetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = menuItemGetUseUnderline
+
+#endif
+
+-- method MenuItem::select
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the menu item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_select" gtk_menu_item_select :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Objects.MenuItem.MenuItem'::@/select/@ signal on the given item.
+-}
+menuItemSelect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: the menu item -}
+    -> m ()
+menuItemSelect menuItem = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    gtk_menu_item_select menuItem'
+    touchManagedPtr menuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemSelectMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemSelectMethodInfo a signature where
+    overloadedMethod _ = menuItemSelect
+
+#endif
+
+-- method MenuItem::set_accel_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "accelerator path, corresponding to this menu\n    item\8217s functionality, or %NULL to unset the current path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_set_accel_path" gtk_menu_item_set_accel_path :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    CString ->                              -- accel_path : TBasicType TUTF8
+    IO ()
+
+{- |
+Set the accelerator path on /@menuItem@/, through which runtime
+changes of the menu item’s accelerator caused by the user can be
+identified and saved to persistent storage (see 'GI.Gtk.Objects.AccelMap.accelMapSave'
+on this). To set up a default accelerator for this menu item, call
+'GI.Gtk.Objects.AccelMap.accelMapAddEntry' with the same /@accelPath@/. See also
+'GI.Gtk.Objects.AccelMap.accelMapAddEntry' on the specifics of accelerator paths,
+and 'GI.Gtk.Objects.Menu.menuSetAccelPath' for a more convenient variant of
+this function.
+
+This function is basically a convenience wrapper that handles
+calling 'GI.Gtk.Objects.Widget.widgetSetAccelPath' with the appropriate accelerator
+group for the menu item.
+
+Note that you do need to set an accelerator on the parent menu with
+'GI.Gtk.Objects.Menu.menuSetAccelGroup' for this to work.
+
+Note that /@accelPath@/ string will be stored in a @/GQuark/@.
+Therefore, if you pass a static string, you can save some memory
+by interning it first with 'GI.GLib.Functions.internStaticString'.
+-}
+menuItemSetAccelPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a valid 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> Maybe (T.Text)
+    {- ^ /@accelPath@/: accelerator path, corresponding to this menu
+    item’s functionality, or 'Nothing' to unset the current path. -}
+    -> m ()
+menuItemSetAccelPath menuItem accelPath = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    maybeAccelPath <- case accelPath of
+        Nothing -> return nullPtr
+        Just jAccelPath -> do
+            jAccelPath' <- textToCString jAccelPath
+            return jAccelPath'
+    gtk_menu_item_set_accel_path menuItem' maybeAccelPath
+    touchManagedPtr menuItem
+    freeMem maybeAccelPath
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemSetAccelPathMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemSetAccelPathMethodInfo a signature where
+    overloadedMethod _ = menuItemSetAccelPath
+
+#endif
+
+-- method MenuItem::set_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text you want to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_set_label" gtk_menu_item_set_label :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets /@text@/ on the /@menuItem@/ label
+
+/Since: 2.16/
+-}
+menuItemSetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> T.Text
+    {- ^ /@label@/: the text you want to set -}
+    -> m ()
+menuItemSetLabel menuItem label = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    label' <- textToCString label
+    gtk_menu_item_set_label menuItem' label'
+    touchManagedPtr menuItem
+    freeMem label'
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemSetLabelMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemSetLabelMethodInfo a signature where
+    overloadedMethod _ = menuItemSetLabel
+
+#endif
+
+-- method MenuItem::set_reserve_indicator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reserve", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_set_reserve_indicator" gtk_menu_item_set_reserve_indicator :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    CInt ->                                 -- reserve : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the /@menuItem@/ should reserve space for
+the submenu indicator, regardless if it actually has
+a submenu or not.
+
+There should be little need for applications to call
+this functions.
+
+/Since: 3.0/
+-}
+menuItemSetReserveIndicator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> Bool
+    {- ^ /@reserve@/: the new value -}
+    -> m ()
+menuItemSetReserveIndicator menuItem reserve = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    let reserve' = (fromIntegral . fromEnum) reserve
+    gtk_menu_item_set_reserve_indicator menuItem' reserve'
+    touchManagedPtr menuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemSetReserveIndicatorMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemSetReserveIndicatorMethodInfo a signature where
+    overloadedMethod _ = menuItemSetReserveIndicator
+
+#endif
+
+-- method MenuItem::set_right_justified
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "right_justified", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE the menu item will appear at the\n  far right if added to a menu bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_set_right_justified" gtk_menu_item_set_right_justified :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    CInt ->                                 -- right_justified : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED menuItemSetRightJustified ["(Since version 3.2)","If you insist on using it, use","  'GI.Gtk.Objects.Widget.widgetSetHexpand' and 'GI.Gtk.Objects.Widget.widgetSetHalign'."] #-}
+{- |
+Sets whether the menu item appears justified at the right
+side of a menu bar. This was traditionally done for “Help”
+menu items, but is now considered a bad idea. (If the widget
+layout is reversed for a right-to-left language like Hebrew
+or Arabic, right-justified-menu-items appear at the left.)
+-}
+menuItemSetRightJustified ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem'. -}
+    -> Bool
+    {- ^ /@rightJustified@/: if 'True' the menu item will appear at the
+  far right if added to a menu bar -}
+    -> m ()
+menuItemSetRightJustified menuItem rightJustified = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    let rightJustified' = (fromIntegral . fromEnum) rightJustified
+    gtk_menu_item_set_right_justified menuItem' rightJustified'
+    touchManagedPtr menuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemSetRightJustifiedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemSetRightJustifiedMethodInfo a signature where
+    overloadedMethod _ = menuItemSetRightJustified
+
+#endif
+
+-- method MenuItem::set_submenu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "submenu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the submenu, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_set_submenu" gtk_menu_item_set_submenu :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    Ptr Gtk.Menu.Menu ->                    -- submenu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    IO ()
+
+{- |
+Sets or replaces the menu item’s submenu, or removes it when a 'Nothing'
+submenu is passed.
+-}
+menuItemSetSubmenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a, Gtk.Menu.IsMenu b) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> Maybe (b)
+    {- ^ /@submenu@/: the submenu, or 'Nothing' -}
+    -> m ()
+menuItemSetSubmenu menuItem submenu = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    maybeSubmenu <- case submenu of
+        Nothing -> return nullPtr
+        Just jSubmenu -> do
+            jSubmenu' <- unsafeManagedPtrCastPtr jSubmenu
+            return jSubmenu'
+    gtk_menu_item_set_submenu menuItem' maybeSubmenu
+    touchManagedPtr menuItem
+    whenJust submenu touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemSetSubmenuMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsMenuItem a, Gtk.Menu.IsMenu b) => O.MethodInfo MenuItemSetSubmenuMethodInfo a signature where
+    overloadedMethod _ = menuItemSetSubmenu
+
+#endif
+
+-- method MenuItem::set_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if underlines in the text indicate mnemonics", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_set_use_underline" gtk_menu_item_set_use_underline :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+If true, an underline in the text indicates the next character
+should be used for the mnemonic accelerator key.
+
+/Since: 2.16/
+-}
+menuItemSetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' if underlines in the text indicate mnemonics -}
+    -> m ()
+menuItemSetUseUnderline menuItem setting = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_menu_item_set_use_underline menuItem' setting'
+    touchManagedPtr menuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemSetUseUnderlineMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemSetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = menuItemSetUseUnderline
+
+#endif
+
+-- method MenuItem::toggle_size_allocate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the menu item.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocation", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the allocation to use as signal data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_toggle_size_allocate" gtk_menu_item_toggle_size_allocate :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    Int32 ->                                -- allocation : TBasicType TInt
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Objects.MenuItem.MenuItem'::@/toggle-size-allocate/@ signal on the given item.
+-}
+menuItemToggleSizeAllocate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: the menu item. -}
+    -> Int32
+    {- ^ /@allocation@/: the allocation to use as signal data. -}
+    -> m ()
+menuItemToggleSizeAllocate menuItem allocation = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    gtk_menu_item_toggle_size_allocate menuItem' allocation
+    touchManagedPtr menuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuItemToggleSizeAllocateMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemToggleSizeAllocateMethodInfo a signature where
+    overloadedMethod _ = menuItemToggleSizeAllocate
+
+#endif
+
+-- method MenuItem::toggle_size_request
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the menu item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "requisition", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requisition to use as signal data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_item_toggle_size_request" gtk_menu_item_toggle_size_request :: 
+    Ptr MenuItem ->                         -- menu_item : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    Ptr Int32 ->                            -- requisition : TBasicType TInt
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Objects.MenuItem.MenuItem'::@/toggle-size-request/@ signal on the given item.
+-}
+menuItemToggleSizeRequest ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuItem a) =>
+    a
+    {- ^ /@menuItem@/: the menu item -}
+    -> Int32
+    {- ^ /@requisition@/: the requisition to use as signal data. -}
+    -> m (Int32)
+menuItemToggleSizeRequest menuItem requisition = liftIO $ do
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    requisition' <- allocMem :: IO (Ptr Int32)
+    poke requisition' requisition
+    gtk_menu_item_toggle_size_request menuItem' requisition'
+    requisition'' <- peek requisition'
+    touchManagedPtr menuItem
+    freeMem requisition'
+    return requisition''
+
+#if ENABLE_OVERLOADING
+data MenuItemToggleSizeRequestMethodInfo
+instance (signature ~ (Int32 -> m (Int32)), MonadIO m, IsMenuItem a) => O.MethodInfo MenuItemToggleSizeRequestMethodInfo a signature where
+    overloadedMethod _ = menuItemToggleSizeRequest
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MenuItem.hs-boot b/GI/Gtk/Objects/MenuItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuItem.hs-boot
@@ -0,0 +1,113 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MenuItem where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MenuItem = MenuItem (ManagedPtr MenuItem)
+instance GObject MenuItem where
+class (GObject o, O.IsDescendantOf MenuItem o) => IsMenuItem o
+instance (GObject o, O.IsDescendantOf MenuItem o) => IsMenuItem o
+instance O.HasParentTypes MenuItem
+#if ENABLE_OVERLOADING
+data MenuItemAccelPathPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemRightJustifiedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemSubmenuPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemUseUnderlinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemActivateItemSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemDeselectSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemSelectSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemToggleSizeAllocateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemToggleSizeRequestSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemDeselectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemGetAccelPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemGetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemGetReserveIndicatorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemGetRightJustifiedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemGetSubmenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemGetUseUnderlineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemSelectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemSetAccelPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemSetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemSetReserveIndicatorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemSetRightJustifiedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemSetSubmenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemSetUseUnderlineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemToggleSizeAllocateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuItemToggleSizeRequestMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/MenuItemAccessible.hs b/GI/Gtk/Objects/MenuItemAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuItemAccessible.hs
@@ -0,0 +1,178 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MenuItemAccessible
+    ( 
+
+-- * Exported types
+    MenuItemAccessible(..)                  ,
+    IsMenuItemAccessible                    ,
+    toMenuItemAccessible                    ,
+    noMenuItemAccessible                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype MenuItemAccessible = MenuItemAccessible (ManagedPtr MenuItemAccessible)
+foreign import ccall "gtk_menu_item_accessible_get_type"
+    c_gtk_menu_item_accessible_get_type :: IO GType
+
+instance GObject MenuItemAccessible where
+    gobjectType = c_gtk_menu_item_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `MenuItemAccessible`, for instance with `toMenuItemAccessible`.
+class (GObject o, O.IsDescendantOf MenuItemAccessible o) => IsMenuItemAccessible o
+instance (GObject o, O.IsDescendantOf MenuItemAccessible o) => IsMenuItemAccessible o
+
+instance O.HasParentTypes MenuItemAccessible
+type instance O.ParentTypes MenuItemAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `MenuItemAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenuItemAccessible :: (MonadIO m, IsMenuItemAccessible o) => o -> m MenuItemAccessible
+toMenuItemAccessible = liftIO . unsafeCastTo MenuItemAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MenuItemAccessible`.
+noMenuItemAccessible :: Maybe MenuItemAccessible
+noMenuItemAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuItemAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuItemAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveMenuItemAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveMenuItemAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuItemAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuItemAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveMenuItemAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveMenuItemAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveMenuItemAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveMenuItemAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuItemAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuItemAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuItemAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveMenuItemAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveMenuItemAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveMenuItemAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuItemAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuItemAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuItemAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveMenuItemAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveMenuItemAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuItemAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveMenuItemAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveMenuItemAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveMenuItemAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveMenuItemAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuItemAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveMenuItemAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveMenuItemAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveMenuItemAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveMenuItemAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveMenuItemAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuItemAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveMenuItemAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveMenuItemAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveMenuItemAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuItemAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuItemAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuItemAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuItemAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuItemAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveMenuItemAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveMenuItemAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuItemAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveMenuItemAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveMenuItemAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveMenuItemAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveMenuItemAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveMenuItemAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveMenuItemAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveMenuItemAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveMenuItemAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveMenuItemAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveMenuItemAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveMenuItemAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveMenuItemAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveMenuItemAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuItemAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuItemAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveMenuItemAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveMenuItemAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveMenuItemAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveMenuItemAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuItemAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveMenuItemAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveMenuItemAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveMenuItemAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveMenuItemAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveMenuItemAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuItemAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveMenuItemAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveMenuItemAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveMenuItemAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuItemAccessibleMethod t MenuItemAccessible, O.MethodInfo info MenuItemAccessible p) => OL.IsLabel t (MenuItemAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MenuItemAccessible
+type instance O.AttributeList MenuItemAccessible = MenuItemAccessibleAttributeList
+type MenuItemAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList MenuItemAccessible = MenuItemAccessibleSignalList
+type MenuItemAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MenuItemAccessible.hs-boot b/GI/Gtk/Objects/MenuItemAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuItemAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MenuItemAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MenuItemAccessible = MenuItemAccessible (ManagedPtr MenuItemAccessible)
+instance GObject MenuItemAccessible where
+class (GObject o, O.IsDescendantOf MenuItemAccessible o) => IsMenuItemAccessible o
+instance (GObject o, O.IsDescendantOf MenuItemAccessible o) => IsMenuItemAccessible o
+instance O.HasParentTypes MenuItemAccessible
diff --git a/GI/Gtk/Objects/MenuShell.hs b/GI/Gtk/Objects/MenuShell.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuShell.hs
@@ -0,0 +1,2022 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.MenuShell.MenuShell' is the abstract base class used to derive the
+'GI.Gtk.Objects.Menu.Menu' and 'GI.Gtk.Objects.MenuBar.MenuBar' subclasses.
+
+A 'GI.Gtk.Objects.MenuShell.MenuShell' is a container of 'GI.Gtk.Objects.MenuItem.MenuItem' objects arranged
+in a list which can be navigated, selected, and activated by the
+user to perform application functions. A 'GI.Gtk.Objects.MenuItem.MenuItem' can have a
+submenu associated with it, allowing for nested hierarchical menus.
+
+= Terminology
+
+A menu item can be “selected”, this means that it is displayed
+in the prelight state, and if it has a submenu, that submenu
+will be popped up.
+
+A menu is “active” when it is visible onscreen and the user
+is selecting from it. A menubar is not active until the user
+clicks on one of its menuitems. When a menu is active,
+passing the mouse over a submenu will pop it up.
+
+There is also is a concept of the current menu and a current
+menu item. The current menu item is the selected menu item
+that is furthest down in the hierarchy. (Every active menu shell
+does not necessarily contain a selected menu item, but if
+it does, then the parent menu shell must also contain
+a selected menu item.) The current menu is the menu that
+contains the current menu item. It will always have a GTK
+grab and receive all key presses.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MenuShell
+    ( 
+
+-- * Exported types
+    MenuShell(..)                           ,
+    IsMenuShell                             ,
+    toMenuShell                             ,
+    noMenuShell                             ,
+
+
+ -- * Methods
+-- ** activateItem #method:activateItem#
+
+#if ENABLE_OVERLOADING
+    MenuShellActivateItemMethodInfo         ,
+#endif
+    menuShellActivateItem                   ,
+
+
+-- ** append #method:append#
+
+#if ENABLE_OVERLOADING
+    MenuShellAppendMethodInfo               ,
+#endif
+    menuShellAppend                         ,
+
+
+-- ** bindModel #method:bindModel#
+
+#if ENABLE_OVERLOADING
+    MenuShellBindModelMethodInfo            ,
+#endif
+    menuShellBindModel                      ,
+
+
+-- ** cancel #method:cancel#
+
+#if ENABLE_OVERLOADING
+    MenuShellCancelMethodInfo               ,
+#endif
+    menuShellCancel                         ,
+
+
+-- ** deactivate #method:deactivate#
+
+#if ENABLE_OVERLOADING
+    MenuShellDeactivateMethodInfo           ,
+#endif
+    menuShellDeactivate                     ,
+
+
+-- ** deselect #method:deselect#
+
+#if ENABLE_OVERLOADING
+    MenuShellDeselectMethodInfo             ,
+#endif
+    menuShellDeselect                       ,
+
+
+-- ** getParentShell #method:getParentShell#
+
+#if ENABLE_OVERLOADING
+    MenuShellGetParentShellMethodInfo       ,
+#endif
+    menuShellGetParentShell                 ,
+
+
+-- ** getSelectedItem #method:getSelectedItem#
+
+#if ENABLE_OVERLOADING
+    MenuShellGetSelectedItemMethodInfo      ,
+#endif
+    menuShellGetSelectedItem                ,
+
+
+-- ** getTakeFocus #method:getTakeFocus#
+
+#if ENABLE_OVERLOADING
+    MenuShellGetTakeFocusMethodInfo         ,
+#endif
+    menuShellGetTakeFocus                   ,
+
+
+-- ** insert #method:insert#
+
+#if ENABLE_OVERLOADING
+    MenuShellInsertMethodInfo               ,
+#endif
+    menuShellInsert                         ,
+
+
+-- ** prepend #method:prepend#
+
+#if ENABLE_OVERLOADING
+    MenuShellPrependMethodInfo              ,
+#endif
+    menuShellPrepend                        ,
+
+
+-- ** selectFirst #method:selectFirst#
+
+#if ENABLE_OVERLOADING
+    MenuShellSelectFirstMethodInfo          ,
+#endif
+    menuShellSelectFirst                    ,
+
+
+-- ** selectItem #method:selectItem#
+
+#if ENABLE_OVERLOADING
+    MenuShellSelectItemMethodInfo           ,
+#endif
+    menuShellSelectItem                     ,
+
+
+-- ** setTakeFocus #method:setTakeFocus#
+
+#if ENABLE_OVERLOADING
+    MenuShellSetTakeFocusMethodInfo         ,
+#endif
+    menuShellSetTakeFocus                   ,
+
+
+
+
+ -- * Properties
+-- ** takeFocus #attr:takeFocus#
+{- | A boolean that determines whether the menu and its submenus grab the
+keyboard focus. See 'GI.Gtk.Objects.MenuShell.menuShellSetTakeFocus' and
+'GI.Gtk.Objects.MenuShell.menuShellGetTakeFocus'.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    MenuShellTakeFocusPropertyInfo          ,
+#endif
+    constructMenuShellTakeFocus             ,
+    getMenuShellTakeFocus                   ,
+#if ENABLE_OVERLOADING
+    menuShellTakeFocus                      ,
+#endif
+    setMenuShellTakeFocus                   ,
+
+
+
+
+ -- * Signals
+-- ** activateCurrent #signal:activateCurrent#
+
+    C_MenuShellActivateCurrentCallback      ,
+    MenuShellActivateCurrentCallback        ,
+#if ENABLE_OVERLOADING
+    MenuShellActivateCurrentSignalInfo      ,
+#endif
+    afterMenuShellActivateCurrent           ,
+    genClosure_MenuShellActivateCurrent     ,
+    mk_MenuShellActivateCurrentCallback     ,
+    noMenuShellActivateCurrentCallback      ,
+    onMenuShellActivateCurrent              ,
+    wrap_MenuShellActivateCurrentCallback   ,
+
+
+-- ** cancel #signal:cancel#
+
+    C_MenuShellCancelCallback               ,
+    MenuShellCancelCallback                 ,
+#if ENABLE_OVERLOADING
+    MenuShellCancelSignalInfo               ,
+#endif
+    afterMenuShellCancel                    ,
+    genClosure_MenuShellCancel              ,
+    mk_MenuShellCancelCallback              ,
+    noMenuShellCancelCallback               ,
+    onMenuShellCancel                       ,
+    wrap_MenuShellCancelCallback            ,
+
+
+-- ** cycleFocus #signal:cycleFocus#
+
+    C_MenuShellCycleFocusCallback           ,
+    MenuShellCycleFocusCallback             ,
+#if ENABLE_OVERLOADING
+    MenuShellCycleFocusSignalInfo           ,
+#endif
+    afterMenuShellCycleFocus                ,
+    genClosure_MenuShellCycleFocus          ,
+    mk_MenuShellCycleFocusCallback          ,
+    noMenuShellCycleFocusCallback           ,
+    onMenuShellCycleFocus                   ,
+    wrap_MenuShellCycleFocusCallback        ,
+
+
+-- ** deactivate #signal:deactivate#
+
+    C_MenuShellDeactivateCallback           ,
+    MenuShellDeactivateCallback             ,
+#if ENABLE_OVERLOADING
+    MenuShellDeactivateSignalInfo           ,
+#endif
+    afterMenuShellDeactivate                ,
+    genClosure_MenuShellDeactivate          ,
+    mk_MenuShellDeactivateCallback          ,
+    noMenuShellDeactivateCallback           ,
+    onMenuShellDeactivate                   ,
+    wrap_MenuShellDeactivateCallback        ,
+
+
+-- ** insert #signal:insert#
+
+    C_MenuShellInsertCallback               ,
+    MenuShellInsertCallback                 ,
+#if ENABLE_OVERLOADING
+    MenuShellInsertSignalInfo               ,
+#endif
+    afterMenuShellInsert                    ,
+    genClosure_MenuShellInsert              ,
+    mk_MenuShellInsertCallback              ,
+    noMenuShellInsertCallback               ,
+    onMenuShellInsert                       ,
+    wrap_MenuShellInsertCallback            ,
+
+
+-- ** moveCurrent #signal:moveCurrent#
+
+    C_MenuShellMoveCurrentCallback          ,
+    MenuShellMoveCurrentCallback            ,
+#if ENABLE_OVERLOADING
+    MenuShellMoveCurrentSignalInfo          ,
+#endif
+    afterMenuShellMoveCurrent               ,
+    genClosure_MenuShellMoveCurrent         ,
+    mk_MenuShellMoveCurrentCallback         ,
+    noMenuShellMoveCurrentCallback          ,
+    onMenuShellMoveCurrent                  ,
+    wrap_MenuShellMoveCurrentCallback       ,
+
+
+-- ** moveSelected #signal:moveSelected#
+
+    C_MenuShellMoveSelectedCallback         ,
+    MenuShellMoveSelectedCallback           ,
+#if ENABLE_OVERLOADING
+    MenuShellMoveSelectedSignalInfo         ,
+#endif
+    afterMenuShellMoveSelected              ,
+    genClosure_MenuShellMoveSelected        ,
+    mk_MenuShellMoveSelectedCallback        ,
+    noMenuShellMoveSelectedCallback         ,
+    onMenuShellMoveSelected                 ,
+    wrap_MenuShellMoveSelectedCallback      ,
+
+
+-- ** selectionDone #signal:selectionDone#
+
+    C_MenuShellSelectionDoneCallback        ,
+    MenuShellSelectionDoneCallback          ,
+#if ENABLE_OVERLOADING
+    MenuShellSelectionDoneSignalInfo        ,
+#endif
+    afterMenuShellSelectionDone             ,
+    genClosure_MenuShellSelectionDone       ,
+    mk_MenuShellSelectionDoneCallback       ,
+    noMenuShellSelectionDoneCallback        ,
+    onMenuShellSelectionDone                ,
+    wrap_MenuShellSelectionDoneCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuItem as Gtk.MenuItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype MenuShell = MenuShell (ManagedPtr MenuShell)
+foreign import ccall "gtk_menu_shell_get_type"
+    c_gtk_menu_shell_get_type :: IO GType
+
+instance GObject MenuShell where
+    gobjectType = c_gtk_menu_shell_get_type
+    
+
+-- | Type class for types which can be safely cast to `MenuShell`, for instance with `toMenuShell`.
+class (GObject o, O.IsDescendantOf MenuShell o) => IsMenuShell o
+instance (GObject o, O.IsDescendantOf MenuShell o) => IsMenuShell o
+
+instance O.HasParentTypes MenuShell
+type instance O.ParentTypes MenuShell = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `MenuShell`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenuShell :: (MonadIO m, IsMenuShell o) => o -> m MenuShell
+toMenuShell = liftIO . unsafeCastTo MenuShell
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MenuShell`.
+noMenuShell :: Maybe MenuShell
+noMenuShell = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuShellMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuShellMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveMenuShellMethod "activateItem" o = MenuShellActivateItemMethodInfo
+    ResolveMenuShellMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveMenuShellMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveMenuShellMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveMenuShellMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveMenuShellMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveMenuShellMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveMenuShellMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveMenuShellMethod "append" o = MenuShellAppendMethodInfo
+    ResolveMenuShellMethod "bindModel" o = MenuShellBindModelMethodInfo
+    ResolveMenuShellMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuShellMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuShellMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveMenuShellMethod "cancel" o = MenuShellCancelMethodInfo
+    ResolveMenuShellMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveMenuShellMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveMenuShellMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveMenuShellMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveMenuShellMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveMenuShellMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveMenuShellMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveMenuShellMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveMenuShellMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveMenuShellMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveMenuShellMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveMenuShellMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveMenuShellMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveMenuShellMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveMenuShellMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveMenuShellMethod "deactivate" o = MenuShellDeactivateMethodInfo
+    ResolveMenuShellMethod "deselect" o = MenuShellDeselectMethodInfo
+    ResolveMenuShellMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveMenuShellMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveMenuShellMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveMenuShellMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveMenuShellMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveMenuShellMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveMenuShellMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveMenuShellMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveMenuShellMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveMenuShellMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveMenuShellMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveMenuShellMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveMenuShellMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveMenuShellMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveMenuShellMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveMenuShellMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveMenuShellMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveMenuShellMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveMenuShellMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveMenuShellMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveMenuShellMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveMenuShellMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveMenuShellMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveMenuShellMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveMenuShellMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveMenuShellMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveMenuShellMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveMenuShellMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveMenuShellMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveMenuShellMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveMenuShellMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveMenuShellMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveMenuShellMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveMenuShellMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveMenuShellMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveMenuShellMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveMenuShellMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuShellMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveMenuShellMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveMenuShellMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuShellMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuShellMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveMenuShellMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveMenuShellMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveMenuShellMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveMenuShellMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveMenuShellMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveMenuShellMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveMenuShellMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveMenuShellMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveMenuShellMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveMenuShellMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveMenuShellMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveMenuShellMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveMenuShellMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveMenuShellMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveMenuShellMethod "insert" o = MenuShellInsertMethodInfo
+    ResolveMenuShellMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveMenuShellMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveMenuShellMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveMenuShellMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveMenuShellMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveMenuShellMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuShellMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveMenuShellMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveMenuShellMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveMenuShellMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveMenuShellMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveMenuShellMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveMenuShellMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveMenuShellMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveMenuShellMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveMenuShellMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveMenuShellMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveMenuShellMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveMenuShellMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveMenuShellMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveMenuShellMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveMenuShellMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveMenuShellMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveMenuShellMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuShellMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuShellMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveMenuShellMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveMenuShellMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveMenuShellMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveMenuShellMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveMenuShellMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveMenuShellMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveMenuShellMethod "prepend" o = MenuShellPrependMethodInfo
+    ResolveMenuShellMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveMenuShellMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveMenuShellMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveMenuShellMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveMenuShellMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveMenuShellMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveMenuShellMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveMenuShellMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveMenuShellMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveMenuShellMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuShellMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuShellMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveMenuShellMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveMenuShellMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveMenuShellMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveMenuShellMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveMenuShellMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveMenuShellMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveMenuShellMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveMenuShellMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveMenuShellMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveMenuShellMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveMenuShellMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveMenuShellMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuShellMethod "selectFirst" o = MenuShellSelectFirstMethodInfo
+    ResolveMenuShellMethod "selectItem" o = MenuShellSelectItemMethodInfo
+    ResolveMenuShellMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveMenuShellMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveMenuShellMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveMenuShellMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveMenuShellMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveMenuShellMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveMenuShellMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveMenuShellMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveMenuShellMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveMenuShellMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuShellMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuShellMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveMenuShellMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveMenuShellMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveMenuShellMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuShellMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveMenuShellMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveMenuShellMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveMenuShellMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveMenuShellMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveMenuShellMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuShellMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveMenuShellMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveMenuShellMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveMenuShellMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuShellMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveMenuShellMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveMenuShellMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveMenuShellMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveMenuShellMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveMenuShellMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveMenuShellMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveMenuShellMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveMenuShellMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveMenuShellMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveMenuShellMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveMenuShellMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveMenuShellMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveMenuShellMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveMenuShellMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveMenuShellMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveMenuShellMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveMenuShellMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveMenuShellMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuShellMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveMenuShellMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveMenuShellMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveMenuShellMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveMenuShellMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveMenuShellMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveMenuShellMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveMenuShellMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveMenuShellMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveMenuShellMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveMenuShellMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveMenuShellMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveMenuShellMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveMenuShellMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveMenuShellMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveMenuShellMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveMenuShellMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveMenuShellMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveMenuShellMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveMenuShellMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveMenuShellMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveMenuShellMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveMenuShellMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveMenuShellMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveMenuShellMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveMenuShellMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveMenuShellMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveMenuShellMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveMenuShellMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveMenuShellMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveMenuShellMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveMenuShellMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveMenuShellMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveMenuShellMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveMenuShellMethod "getParentShell" o = MenuShellGetParentShellMethodInfo
+    ResolveMenuShellMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveMenuShellMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveMenuShellMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveMenuShellMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveMenuShellMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveMenuShellMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveMenuShellMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveMenuShellMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveMenuShellMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveMenuShellMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveMenuShellMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuShellMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuShellMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveMenuShellMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveMenuShellMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveMenuShellMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveMenuShellMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveMenuShellMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveMenuShellMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveMenuShellMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveMenuShellMethod "getSelectedItem" o = MenuShellGetSelectedItemMethodInfo
+    ResolveMenuShellMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveMenuShellMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveMenuShellMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveMenuShellMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveMenuShellMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveMenuShellMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveMenuShellMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveMenuShellMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveMenuShellMethod "getTakeFocus" o = MenuShellGetTakeFocusMethodInfo
+    ResolveMenuShellMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveMenuShellMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveMenuShellMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveMenuShellMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveMenuShellMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveMenuShellMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveMenuShellMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveMenuShellMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveMenuShellMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveMenuShellMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveMenuShellMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveMenuShellMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveMenuShellMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveMenuShellMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveMenuShellMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveMenuShellMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveMenuShellMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveMenuShellMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveMenuShellMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveMenuShellMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveMenuShellMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveMenuShellMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveMenuShellMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuShellMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveMenuShellMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveMenuShellMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveMenuShellMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveMenuShellMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveMenuShellMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveMenuShellMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveMenuShellMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveMenuShellMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveMenuShellMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveMenuShellMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveMenuShellMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveMenuShellMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveMenuShellMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveMenuShellMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveMenuShellMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveMenuShellMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveMenuShellMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveMenuShellMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveMenuShellMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveMenuShellMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveMenuShellMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveMenuShellMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveMenuShellMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveMenuShellMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveMenuShellMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveMenuShellMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveMenuShellMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveMenuShellMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveMenuShellMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuShellMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveMenuShellMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveMenuShellMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveMenuShellMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveMenuShellMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveMenuShellMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveMenuShellMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveMenuShellMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveMenuShellMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveMenuShellMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveMenuShellMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveMenuShellMethod "setTakeFocus" o = MenuShellSetTakeFocusMethodInfo
+    ResolveMenuShellMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveMenuShellMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveMenuShellMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveMenuShellMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveMenuShellMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveMenuShellMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveMenuShellMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveMenuShellMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveMenuShellMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveMenuShellMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuShellMethod t MenuShell, O.MethodInfo info MenuShell p) => OL.IsLabel t (MenuShell -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal MenuShell::activate-current
+{- |
+An action signal that activates the current menu item within
+the menu shell.
+-}
+type MenuShellActivateCurrentCallback =
+    Bool
+    {- ^ /@forceHide@/: if 'True', hide the menu after activating the menu item -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuShellActivateCurrentCallback`@.
+noMenuShellActivateCurrentCallback :: Maybe MenuShellActivateCurrentCallback
+noMenuShellActivateCurrentCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuShellActivateCurrentCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuShellActivateCurrentCallback`.
+foreign import ccall "wrapper"
+    mk_MenuShellActivateCurrentCallback :: C_MenuShellActivateCurrentCallback -> IO (FunPtr C_MenuShellActivateCurrentCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuShellActivateCurrent :: MonadIO m => MenuShellActivateCurrentCallback -> m (GClosure C_MenuShellActivateCurrentCallback)
+genClosure_MenuShellActivateCurrent cb = liftIO $ do
+    let cb' = wrap_MenuShellActivateCurrentCallback cb
+    mk_MenuShellActivateCurrentCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuShellActivateCurrentCallback` into a `C_MenuShellActivateCurrentCallback`.
+wrap_MenuShellActivateCurrentCallback ::
+    MenuShellActivateCurrentCallback ->
+    C_MenuShellActivateCurrentCallback
+wrap_MenuShellActivateCurrentCallback _cb _ forceHide _ = do
+    let forceHide' = (/= 0) forceHide
+    _cb  forceHide'
+
+
+{- |
+Connect a signal handler for the “@activate-current@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuShell #activateCurrent callback
+@
+-}
+onMenuShellActivateCurrent :: (IsMenuShell a, MonadIO m) => a -> MenuShellActivateCurrentCallback -> m SignalHandlerId
+onMenuShellActivateCurrent obj cb = liftIO $ do
+    let cb' = wrap_MenuShellActivateCurrentCallback cb
+    cb'' <- mk_MenuShellActivateCurrentCallback cb'
+    connectSignalFunPtr obj "activate-current" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-current@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuShell #activateCurrent callback
+@
+-}
+afterMenuShellActivateCurrent :: (IsMenuShell a, MonadIO m) => a -> MenuShellActivateCurrentCallback -> m SignalHandlerId
+afterMenuShellActivateCurrent obj cb = liftIO $ do
+    let cb' = wrap_MenuShellActivateCurrentCallback cb
+    cb'' <- mk_MenuShellActivateCurrentCallback cb'
+    connectSignalFunPtr obj "activate-current" cb'' SignalConnectAfter
+
+
+-- signal MenuShell::cancel
+{- |
+An action signal which cancels the selection within the menu shell.
+Causes the 'GI.Gtk.Objects.MenuShell.MenuShell'::@/selection-done/@ signal to be emitted.
+-}
+type MenuShellCancelCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuShellCancelCallback`@.
+noMenuShellCancelCallback :: Maybe MenuShellCancelCallback
+noMenuShellCancelCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuShellCancelCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuShellCancelCallback`.
+foreign import ccall "wrapper"
+    mk_MenuShellCancelCallback :: C_MenuShellCancelCallback -> IO (FunPtr C_MenuShellCancelCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuShellCancel :: MonadIO m => MenuShellCancelCallback -> m (GClosure C_MenuShellCancelCallback)
+genClosure_MenuShellCancel cb = liftIO $ do
+    let cb' = wrap_MenuShellCancelCallback cb
+    mk_MenuShellCancelCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuShellCancelCallback` into a `C_MenuShellCancelCallback`.
+wrap_MenuShellCancelCallback ::
+    MenuShellCancelCallback ->
+    C_MenuShellCancelCallback
+wrap_MenuShellCancelCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@cancel@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuShell #cancel callback
+@
+-}
+onMenuShellCancel :: (IsMenuShell a, MonadIO m) => a -> MenuShellCancelCallback -> m SignalHandlerId
+onMenuShellCancel obj cb = liftIO $ do
+    let cb' = wrap_MenuShellCancelCallback cb
+    cb'' <- mk_MenuShellCancelCallback cb'
+    connectSignalFunPtr obj "cancel" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cancel@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuShell #cancel callback
+@
+-}
+afterMenuShellCancel :: (IsMenuShell a, MonadIO m) => a -> MenuShellCancelCallback -> m SignalHandlerId
+afterMenuShellCancel obj cb = liftIO $ do
+    let cb' = wrap_MenuShellCancelCallback cb
+    cb'' <- mk_MenuShellCancelCallback cb'
+    connectSignalFunPtr obj "cancel" cb'' SignalConnectAfter
+
+
+-- signal MenuShell::cycle-focus
+{- |
+A keybinding signal which moves the focus in the
+given /@direction@/.
+-}
+type MenuShellCycleFocusCallback =
+    Gtk.Enums.DirectionType
+    {- ^ /@direction@/: the direction to cycle in -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuShellCycleFocusCallback`@.
+noMenuShellCycleFocusCallback :: Maybe MenuShellCycleFocusCallback
+noMenuShellCycleFocusCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuShellCycleFocusCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuShellCycleFocusCallback`.
+foreign import ccall "wrapper"
+    mk_MenuShellCycleFocusCallback :: C_MenuShellCycleFocusCallback -> IO (FunPtr C_MenuShellCycleFocusCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuShellCycleFocus :: MonadIO m => MenuShellCycleFocusCallback -> m (GClosure C_MenuShellCycleFocusCallback)
+genClosure_MenuShellCycleFocus cb = liftIO $ do
+    let cb' = wrap_MenuShellCycleFocusCallback cb
+    mk_MenuShellCycleFocusCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuShellCycleFocusCallback` into a `C_MenuShellCycleFocusCallback`.
+wrap_MenuShellCycleFocusCallback ::
+    MenuShellCycleFocusCallback ->
+    C_MenuShellCycleFocusCallback
+wrap_MenuShellCycleFocusCallback _cb _ direction _ = do
+    let direction' = (toEnum . fromIntegral) direction
+    _cb  direction'
+
+
+{- |
+Connect a signal handler for the “@cycle-focus@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuShell #cycleFocus callback
+@
+-}
+onMenuShellCycleFocus :: (IsMenuShell a, MonadIO m) => a -> MenuShellCycleFocusCallback -> m SignalHandlerId
+onMenuShellCycleFocus obj cb = liftIO $ do
+    let cb' = wrap_MenuShellCycleFocusCallback cb
+    cb'' <- mk_MenuShellCycleFocusCallback cb'
+    connectSignalFunPtr obj "cycle-focus" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cycle-focus@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuShell #cycleFocus callback
+@
+-}
+afterMenuShellCycleFocus :: (IsMenuShell a, MonadIO m) => a -> MenuShellCycleFocusCallback -> m SignalHandlerId
+afterMenuShellCycleFocus obj cb = liftIO $ do
+    let cb' = wrap_MenuShellCycleFocusCallback cb
+    cb'' <- mk_MenuShellCycleFocusCallback cb'
+    connectSignalFunPtr obj "cycle-focus" cb'' SignalConnectAfter
+
+
+-- signal MenuShell::deactivate
+{- |
+This signal is emitted when a menu shell is deactivated.
+-}
+type MenuShellDeactivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuShellDeactivateCallback`@.
+noMenuShellDeactivateCallback :: Maybe MenuShellDeactivateCallback
+noMenuShellDeactivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuShellDeactivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuShellDeactivateCallback`.
+foreign import ccall "wrapper"
+    mk_MenuShellDeactivateCallback :: C_MenuShellDeactivateCallback -> IO (FunPtr C_MenuShellDeactivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuShellDeactivate :: MonadIO m => MenuShellDeactivateCallback -> m (GClosure C_MenuShellDeactivateCallback)
+genClosure_MenuShellDeactivate cb = liftIO $ do
+    let cb' = wrap_MenuShellDeactivateCallback cb
+    mk_MenuShellDeactivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuShellDeactivateCallback` into a `C_MenuShellDeactivateCallback`.
+wrap_MenuShellDeactivateCallback ::
+    MenuShellDeactivateCallback ->
+    C_MenuShellDeactivateCallback
+wrap_MenuShellDeactivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@deactivate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuShell #deactivate callback
+@
+-}
+onMenuShellDeactivate :: (IsMenuShell a, MonadIO m) => a -> MenuShellDeactivateCallback -> m SignalHandlerId
+onMenuShellDeactivate obj cb = liftIO $ do
+    let cb' = wrap_MenuShellDeactivateCallback cb
+    cb'' <- mk_MenuShellDeactivateCallback cb'
+    connectSignalFunPtr obj "deactivate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@deactivate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuShell #deactivate callback
+@
+-}
+afterMenuShellDeactivate :: (IsMenuShell a, MonadIO m) => a -> MenuShellDeactivateCallback -> m SignalHandlerId
+afterMenuShellDeactivate obj cb = liftIO $ do
+    let cb' = wrap_MenuShellDeactivateCallback cb
+    cb'' <- mk_MenuShellDeactivateCallback cb'
+    connectSignalFunPtr obj "deactivate" cb'' SignalConnectAfter
+
+
+-- signal MenuShell::insert
+{- |
+The ::insert signal is emitted when a new 'GI.Gtk.Objects.MenuItem.MenuItem' is added to
+a 'GI.Gtk.Objects.MenuShell.MenuShell'.  A separate signal is used instead of
+GtkContainer::add because of the need for an additional position
+parameter.
+
+The inverse of this signal is the GtkContainer::removed signal.
+
+/Since: 3.2/
+-}
+type MenuShellInsertCallback =
+    Gtk.Widget.Widget
+    {- ^ /@child@/: the 'GI.Gtk.Objects.MenuItem.MenuItem' that is being inserted -}
+    -> Int32
+    {- ^ /@position@/: the position at which the insert occurs -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuShellInsertCallback`@.
+noMenuShellInsertCallback :: Maybe MenuShellInsertCallback
+noMenuShellInsertCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuShellInsertCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuShellInsertCallback`.
+foreign import ccall "wrapper"
+    mk_MenuShellInsertCallback :: C_MenuShellInsertCallback -> IO (FunPtr C_MenuShellInsertCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuShellInsert :: MonadIO m => MenuShellInsertCallback -> m (GClosure C_MenuShellInsertCallback)
+genClosure_MenuShellInsert cb = liftIO $ do
+    let cb' = wrap_MenuShellInsertCallback cb
+    mk_MenuShellInsertCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuShellInsertCallback` into a `C_MenuShellInsertCallback`.
+wrap_MenuShellInsertCallback ::
+    MenuShellInsertCallback ->
+    C_MenuShellInsertCallback
+wrap_MenuShellInsertCallback _cb _ child position _ = do
+    child' <- (newObject Gtk.Widget.Widget) child
+    _cb  child' position
+
+
+{- |
+Connect a signal handler for the “@insert@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuShell #insert callback
+@
+-}
+onMenuShellInsert :: (IsMenuShell a, MonadIO m) => a -> MenuShellInsertCallback -> m SignalHandlerId
+onMenuShellInsert obj cb = liftIO $ do
+    let cb' = wrap_MenuShellInsertCallback cb
+    cb'' <- mk_MenuShellInsertCallback cb'
+    connectSignalFunPtr obj "insert" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuShell #insert callback
+@
+-}
+afterMenuShellInsert :: (IsMenuShell a, MonadIO m) => a -> MenuShellInsertCallback -> m SignalHandlerId
+afterMenuShellInsert obj cb = liftIO $ do
+    let cb' = wrap_MenuShellInsertCallback cb
+    cb'' <- mk_MenuShellInsertCallback cb'
+    connectSignalFunPtr obj "insert" cb'' SignalConnectAfter
+
+
+-- signal MenuShell::move-current
+{- |
+An keybinding signal which moves the current menu item
+in the direction specified by /@direction@/.
+-}
+type MenuShellMoveCurrentCallback =
+    Gtk.Enums.MenuDirectionType
+    {- ^ /@direction@/: the direction to move -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuShellMoveCurrentCallback`@.
+noMenuShellMoveCurrentCallback :: Maybe MenuShellMoveCurrentCallback
+noMenuShellMoveCurrentCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuShellMoveCurrentCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuShellMoveCurrentCallback`.
+foreign import ccall "wrapper"
+    mk_MenuShellMoveCurrentCallback :: C_MenuShellMoveCurrentCallback -> IO (FunPtr C_MenuShellMoveCurrentCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuShellMoveCurrent :: MonadIO m => MenuShellMoveCurrentCallback -> m (GClosure C_MenuShellMoveCurrentCallback)
+genClosure_MenuShellMoveCurrent cb = liftIO $ do
+    let cb' = wrap_MenuShellMoveCurrentCallback cb
+    mk_MenuShellMoveCurrentCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuShellMoveCurrentCallback` into a `C_MenuShellMoveCurrentCallback`.
+wrap_MenuShellMoveCurrentCallback ::
+    MenuShellMoveCurrentCallback ->
+    C_MenuShellMoveCurrentCallback
+wrap_MenuShellMoveCurrentCallback _cb _ direction _ = do
+    let direction' = (toEnum . fromIntegral) direction
+    _cb  direction'
+
+
+{- |
+Connect a signal handler for the “@move-current@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuShell #moveCurrent callback
+@
+-}
+onMenuShellMoveCurrent :: (IsMenuShell a, MonadIO m) => a -> MenuShellMoveCurrentCallback -> m SignalHandlerId
+onMenuShellMoveCurrent obj cb = liftIO $ do
+    let cb' = wrap_MenuShellMoveCurrentCallback cb
+    cb'' <- mk_MenuShellMoveCurrentCallback cb'
+    connectSignalFunPtr obj "move-current" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-current@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuShell #moveCurrent callback
+@
+-}
+afterMenuShellMoveCurrent :: (IsMenuShell a, MonadIO m) => a -> MenuShellMoveCurrentCallback -> m SignalHandlerId
+afterMenuShellMoveCurrent obj cb = liftIO $ do
+    let cb' = wrap_MenuShellMoveCurrentCallback cb
+    cb'' <- mk_MenuShellMoveCurrentCallback cb'
+    connectSignalFunPtr obj "move-current" cb'' SignalConnectAfter
+
+
+-- signal MenuShell::move-selected
+{- |
+The ::move-selected signal is emitted to move the selection to
+another item.
+
+/Since: 2.12/
+-}
+type MenuShellMoveSelectedCallback =
+    Int32
+    {- ^ /@distance@/: +1 to move to the next item, -1 to move to the previous -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop the signal emission, 'False' to continue -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuShellMoveSelectedCallback`@.
+noMenuShellMoveSelectedCallback :: Maybe MenuShellMoveSelectedCallback
+noMenuShellMoveSelectedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuShellMoveSelectedCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_MenuShellMoveSelectedCallback`.
+foreign import ccall "wrapper"
+    mk_MenuShellMoveSelectedCallback :: C_MenuShellMoveSelectedCallback -> IO (FunPtr C_MenuShellMoveSelectedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuShellMoveSelected :: MonadIO m => MenuShellMoveSelectedCallback -> m (GClosure C_MenuShellMoveSelectedCallback)
+genClosure_MenuShellMoveSelected cb = liftIO $ do
+    let cb' = wrap_MenuShellMoveSelectedCallback cb
+    mk_MenuShellMoveSelectedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuShellMoveSelectedCallback` into a `C_MenuShellMoveSelectedCallback`.
+wrap_MenuShellMoveSelectedCallback ::
+    MenuShellMoveSelectedCallback ->
+    C_MenuShellMoveSelectedCallback
+wrap_MenuShellMoveSelectedCallback _cb _ distance _ = do
+    result <- _cb  distance
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@move-selected@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuShell #moveSelected callback
+@
+-}
+onMenuShellMoveSelected :: (IsMenuShell a, MonadIO m) => a -> MenuShellMoveSelectedCallback -> m SignalHandlerId
+onMenuShellMoveSelected obj cb = liftIO $ do
+    let cb' = wrap_MenuShellMoveSelectedCallback cb
+    cb'' <- mk_MenuShellMoveSelectedCallback cb'
+    connectSignalFunPtr obj "move-selected" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-selected@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuShell #moveSelected callback
+@
+-}
+afterMenuShellMoveSelected :: (IsMenuShell a, MonadIO m) => a -> MenuShellMoveSelectedCallback -> m SignalHandlerId
+afterMenuShellMoveSelected obj cb = liftIO $ do
+    let cb' = wrap_MenuShellMoveSelectedCallback cb
+    cb'' <- mk_MenuShellMoveSelectedCallback cb'
+    connectSignalFunPtr obj "move-selected" cb'' SignalConnectAfter
+
+
+-- signal MenuShell::selection-done
+{- |
+This signal is emitted when a selection has been
+completed within a menu shell.
+-}
+type MenuShellSelectionDoneCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuShellSelectionDoneCallback`@.
+noMenuShellSelectionDoneCallback :: Maybe MenuShellSelectionDoneCallback
+noMenuShellSelectionDoneCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuShellSelectionDoneCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuShellSelectionDoneCallback`.
+foreign import ccall "wrapper"
+    mk_MenuShellSelectionDoneCallback :: C_MenuShellSelectionDoneCallback -> IO (FunPtr C_MenuShellSelectionDoneCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuShellSelectionDone :: MonadIO m => MenuShellSelectionDoneCallback -> m (GClosure C_MenuShellSelectionDoneCallback)
+genClosure_MenuShellSelectionDone cb = liftIO $ do
+    let cb' = wrap_MenuShellSelectionDoneCallback cb
+    mk_MenuShellSelectionDoneCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuShellSelectionDoneCallback` into a `C_MenuShellSelectionDoneCallback`.
+wrap_MenuShellSelectionDoneCallback ::
+    MenuShellSelectionDoneCallback ->
+    C_MenuShellSelectionDoneCallback
+wrap_MenuShellSelectionDoneCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@selection-done@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuShell #selectionDone callback
+@
+-}
+onMenuShellSelectionDone :: (IsMenuShell a, MonadIO m) => a -> MenuShellSelectionDoneCallback -> m SignalHandlerId
+onMenuShellSelectionDone obj cb = liftIO $ do
+    let cb' = wrap_MenuShellSelectionDoneCallback cb
+    cb'' <- mk_MenuShellSelectionDoneCallback cb'
+    connectSignalFunPtr obj "selection-done" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selection-done@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuShell #selectionDone callback
+@
+-}
+afterMenuShellSelectionDone :: (IsMenuShell a, MonadIO m) => a -> MenuShellSelectionDoneCallback -> m SignalHandlerId
+afterMenuShellSelectionDone obj cb = liftIO $ do
+    let cb' = wrap_MenuShellSelectionDoneCallback cb
+    cb'' <- mk_MenuShellSelectionDoneCallback cb'
+    connectSignalFunPtr obj "selection-done" cb'' SignalConnectAfter
+
+
+-- VVV Prop "take-focus"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@take-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuShell #takeFocus
+@
+-}
+getMenuShellTakeFocus :: (MonadIO m, IsMenuShell o) => o -> m Bool
+getMenuShellTakeFocus obj = liftIO $ B.Properties.getObjectPropertyBool obj "take-focus"
+
+{- |
+Set the value of the “@take-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuShell [ #takeFocus 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuShellTakeFocus :: (MonadIO m, IsMenuShell o) => o -> Bool -> m ()
+setMenuShellTakeFocus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "take-focus" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@take-focus@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuShellTakeFocus :: (IsMenuShell o) => Bool -> IO (GValueConstruct o)
+constructMenuShellTakeFocus val = B.Properties.constructObjectPropertyBool "take-focus" val
+
+#if ENABLE_OVERLOADING
+data MenuShellTakeFocusPropertyInfo
+instance AttrInfo MenuShellTakeFocusPropertyInfo where
+    type AttrAllowedOps MenuShellTakeFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MenuShellTakeFocusPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint MenuShellTakeFocusPropertyInfo = IsMenuShell
+    type AttrGetType MenuShellTakeFocusPropertyInfo = Bool
+    type AttrLabel MenuShellTakeFocusPropertyInfo = "take-focus"
+    type AttrOrigin MenuShellTakeFocusPropertyInfo = MenuShell
+    attrGet _ = getMenuShellTakeFocus
+    attrSet _ = setMenuShellTakeFocus
+    attrConstruct _ = constructMenuShellTakeFocus
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MenuShell
+type instance O.AttributeList MenuShell = MenuShellAttributeList
+type MenuShellAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("takeFocus", MenuShellTakeFocusPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+menuShellTakeFocus :: AttrLabelProxy "takeFocus"
+menuShellTakeFocus = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data MenuShellActivateCurrentSignalInfo
+instance SignalInfo MenuShellActivateCurrentSignalInfo where
+    type HaskellCallbackType MenuShellActivateCurrentSignalInfo = MenuShellActivateCurrentCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuShellActivateCurrentCallback cb
+        cb'' <- mk_MenuShellActivateCurrentCallback cb'
+        connectSignalFunPtr obj "activate-current" cb'' connectMode
+
+data MenuShellCancelSignalInfo
+instance SignalInfo MenuShellCancelSignalInfo where
+    type HaskellCallbackType MenuShellCancelSignalInfo = MenuShellCancelCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuShellCancelCallback cb
+        cb'' <- mk_MenuShellCancelCallback cb'
+        connectSignalFunPtr obj "cancel" cb'' connectMode
+
+data MenuShellCycleFocusSignalInfo
+instance SignalInfo MenuShellCycleFocusSignalInfo where
+    type HaskellCallbackType MenuShellCycleFocusSignalInfo = MenuShellCycleFocusCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuShellCycleFocusCallback cb
+        cb'' <- mk_MenuShellCycleFocusCallback cb'
+        connectSignalFunPtr obj "cycle-focus" cb'' connectMode
+
+data MenuShellDeactivateSignalInfo
+instance SignalInfo MenuShellDeactivateSignalInfo where
+    type HaskellCallbackType MenuShellDeactivateSignalInfo = MenuShellDeactivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuShellDeactivateCallback cb
+        cb'' <- mk_MenuShellDeactivateCallback cb'
+        connectSignalFunPtr obj "deactivate" cb'' connectMode
+
+data MenuShellInsertSignalInfo
+instance SignalInfo MenuShellInsertSignalInfo where
+    type HaskellCallbackType MenuShellInsertSignalInfo = MenuShellInsertCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuShellInsertCallback cb
+        cb'' <- mk_MenuShellInsertCallback cb'
+        connectSignalFunPtr obj "insert" cb'' connectMode
+
+data MenuShellMoveCurrentSignalInfo
+instance SignalInfo MenuShellMoveCurrentSignalInfo where
+    type HaskellCallbackType MenuShellMoveCurrentSignalInfo = MenuShellMoveCurrentCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuShellMoveCurrentCallback cb
+        cb'' <- mk_MenuShellMoveCurrentCallback cb'
+        connectSignalFunPtr obj "move-current" cb'' connectMode
+
+data MenuShellMoveSelectedSignalInfo
+instance SignalInfo MenuShellMoveSelectedSignalInfo where
+    type HaskellCallbackType MenuShellMoveSelectedSignalInfo = MenuShellMoveSelectedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuShellMoveSelectedCallback cb
+        cb'' <- mk_MenuShellMoveSelectedCallback cb'
+        connectSignalFunPtr obj "move-selected" cb'' connectMode
+
+data MenuShellSelectionDoneSignalInfo
+instance SignalInfo MenuShellSelectionDoneSignalInfo where
+    type HaskellCallbackType MenuShellSelectionDoneSignalInfo = MenuShellSelectionDoneCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuShellSelectionDoneCallback cb
+        cb'' <- mk_MenuShellSelectionDoneCallback cb'
+        connectSignalFunPtr obj "selection-done" cb'' connectMode
+
+type instance O.SignalList MenuShell = MenuShellSignalList
+type MenuShellSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateCurrent", MenuShellActivateCurrentSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("cancel", MenuShellCancelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("cycleFocus", MenuShellCycleFocusSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deactivate", MenuShellDeactivateSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("insert", MenuShellInsertSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCurrent", MenuShellMoveCurrentSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveSelected", MenuShellMoveSelectedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionDone", MenuShellSelectionDoneSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method MenuShell::activate_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkMenuItem to activate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "force_deactivate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, force the deactivation of the\n    menu shell after the menu item is activated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_activate_item" gtk_menu_shell_activate_item :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    Ptr Gtk.Widget.Widget ->                -- menu_item : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- force_deactivate : TBasicType TBoolean
+    IO ()
+
+{- |
+Activates the menu item within the menu shell.
+-}
+menuShellActivateItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> b
+    {- ^ /@menuItem@/: the 'GI.Gtk.Objects.MenuItem.MenuItem' to activate -}
+    -> Bool
+    {- ^ /@forceDeactivate@/: if 'True', force the deactivation of the
+    menu shell after the menu item is activated -}
+    -> m ()
+menuShellActivateItem menuShell menuItem forceDeactivate = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    let forceDeactivate' = (fromIntegral . fromEnum) forceDeactivate
+    gtk_menu_shell_activate_item menuShell' menuItem' forceDeactivate'
+    touchManagedPtr menuShell
+    touchManagedPtr menuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellActivateItemMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsMenuShell a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuShellActivateItemMethodInfo a signature where
+    overloadedMethod _ = menuShellActivateItem
+
+#endif
+
+-- method MenuShell::append
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "MenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkMenuItem to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_append" gtk_menu_shell_append :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    Ptr Gtk.MenuItem.MenuItem ->            -- child : TInterface (Name {namespace = "Gtk", name = "MenuItem"})
+    IO ()
+
+{- |
+Adds a new 'GI.Gtk.Objects.MenuItem.MenuItem' to the end of the menu shell\'s
+item list.
+-}
+menuShellAppend ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a, Gtk.MenuItem.IsMenuItem b) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> b
+    {- ^ /@child@/: The 'GI.Gtk.Objects.MenuItem.MenuItem' to add -}
+    -> m ()
+menuShellAppend menuShell child = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_menu_shell_append menuShell' child'
+    touchManagedPtr menuShell
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellAppendMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsMenuShell a, Gtk.MenuItem.IsMenuItem b) => O.MethodInfo MenuShellAppendMethodInfo a signature where
+    overloadedMethod _ = menuShellAppend
+
+#endif
+
+-- method MenuShell::bind_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gio", name = "MenuModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GMenuModel to bind to or %NULL to remove\n  binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_namespace", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the namespace for actions in @model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "with_separators", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if toplevel items in @shell should have\n  separators between them", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_bind_model" gtk_menu_shell_bind_model :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    Ptr Gio.MenuModel.MenuModel ->          -- model : TInterface (Name {namespace = "Gio", name = "MenuModel"})
+    CString ->                              -- action_namespace : TBasicType TUTF8
+    CInt ->                                 -- with_separators : TBasicType TBoolean
+    IO ()
+
+{- |
+Establishes a binding between a 'GI.Gtk.Objects.MenuShell.MenuShell' and a 'GI.Gio.Objects.MenuModel.MenuModel'.
+
+The contents of /@shell@/ are removed and then refilled with menu items
+according to /@model@/.  When /@model@/ changes, /@shell@/ is updated.
+Calling this function twice on /@shell@/ with different /@model@/ will
+cause the first binding to be replaced with a binding to the new
+model. If /@model@/ is 'Nothing' then any previous binding is undone and
+all children are removed.
+
+/@withSeparators@/ determines if toplevel items (eg: sections) have
+separators inserted between them.  This is typically desired for
+menus but doesn’t make sense for menubars.
+
+If /@actionNamespace@/ is non-'Nothing' then the effect is as if all
+actions mentioned in the /@model@/ have their names prefixed with the
+namespace, plus a dot.  For example, if the action “quit” is
+mentioned and /@actionNamespace@/ is “app” then the effective action
+name is “app.quit”.
+
+This function uses 'GI.Gtk.Interfaces.Actionable.Actionable' to define the action name and
+target values on the created menu items.  If you want to use an
+action group other than “app” and “win”, or if you want to use a
+'GI.Gtk.Objects.MenuShell.MenuShell' outside of a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow', then you will need
+to attach your own action group to the widget hierarchy using
+'GI.Gtk.Objects.Widget.widgetInsertActionGroup'.  As an example, if you created a
+group with a “quit” action and inserted it with the name “mygroup”
+then you would use the action name “mygroup.quit” in your
+'GI.Gio.Objects.MenuModel.MenuModel'.
+
+For most cases you are probably better off using
+'GI.Gtk.Objects.Menu.menuNewFromModel' or 'GI.Gtk.Objects.MenuBar.menuBarNewFromModel' or just
+directly passing the 'GI.Gio.Objects.MenuModel.MenuModel' to 'GI.Gtk.Objects.Application.applicationSetAppMenu' or
+'GI.Gtk.Objects.Application.applicationSetMenubar'.
+
+/Since: 3.6/
+-}
+menuShellBindModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a, Gio.MenuModel.IsMenuModel b) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> Maybe (b)
+    {- ^ /@model@/: the 'GI.Gio.Objects.MenuModel.MenuModel' to bind to or 'Nothing' to remove
+  binding -}
+    -> Maybe (T.Text)
+    {- ^ /@actionNamespace@/: the namespace for actions in /@model@/ -}
+    -> Bool
+    {- ^ /@withSeparators@/: 'True' if toplevel items in /@shell@/ should have
+  separators between them -}
+    -> m ()
+menuShellBindModel menuShell model actionNamespace withSeparators = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    maybeModel <- case model of
+        Nothing -> return nullPtr
+        Just jModel -> do
+            jModel' <- unsafeManagedPtrCastPtr jModel
+            return jModel'
+    maybeActionNamespace <- case actionNamespace of
+        Nothing -> return nullPtr
+        Just jActionNamespace -> do
+            jActionNamespace' <- textToCString jActionNamespace
+            return jActionNamespace'
+    let withSeparators' = (fromIntegral . fromEnum) withSeparators
+    gtk_menu_shell_bind_model menuShell' maybeModel maybeActionNamespace withSeparators'
+    touchManagedPtr menuShell
+    whenJust model touchManagedPtr
+    freeMem maybeActionNamespace
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellBindModelMethodInfo
+instance (signature ~ (Maybe (b) -> Maybe (T.Text) -> Bool -> m ()), MonadIO m, IsMenuShell a, Gio.MenuModel.IsMenuModel b) => O.MethodInfo MenuShellBindModelMethodInfo a signature where
+    overloadedMethod _ = menuShellBindModel
+
+#endif
+
+-- method MenuShell::cancel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_cancel" gtk_menu_shell_cancel :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    IO ()
+
+{- |
+Cancels the selection within the menu shell.
+
+/Since: 2.4/
+-}
+menuShellCancel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> m ()
+menuShellCancel menuShell = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    gtk_menu_shell_cancel menuShell'
+    touchManagedPtr menuShell
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellCancelMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsMenuShell a) => O.MethodInfo MenuShellCancelMethodInfo a signature where
+    overloadedMethod _ = menuShellCancel
+
+#endif
+
+-- method MenuShell::deactivate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_deactivate" gtk_menu_shell_deactivate :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    IO ()
+
+{- |
+Deactivates the menu shell.
+
+Typically this results in the menu shell being erased
+from the screen.
+-}
+menuShellDeactivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> m ()
+menuShellDeactivate menuShell = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    gtk_menu_shell_deactivate menuShell'
+    touchManagedPtr menuShell
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellDeactivateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsMenuShell a) => O.MethodInfo MenuShellDeactivateMethodInfo a signature where
+    overloadedMethod _ = menuShellDeactivate
+
+#endif
+
+-- method MenuShell::deselect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_deselect" gtk_menu_shell_deselect :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    IO ()
+
+{- |
+Deselects the currently selected item from the menu shell,
+if any.
+-}
+menuShellDeselect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> m ()
+menuShellDeselect menuShell = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    gtk_menu_shell_deselect menuShell'
+    touchManagedPtr menuShell
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellDeselectMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsMenuShell a) => O.MethodInfo MenuShellDeselectMethodInfo a signature where
+    overloadedMethod _ = menuShellDeselect
+
+#endif
+
+-- method MenuShell::get_parent_shell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_get_parent_shell" gtk_menu_shell_get_parent_shell :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the parent menu shell.
+
+The parent menu shell of a submenu is the 'GI.Gtk.Objects.Menu.Menu' or 'GI.Gtk.Objects.MenuBar.MenuBar'
+from which it was opened up.
+
+/Since: 3.0/
+-}
+menuShellGetParentShell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the parent 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+menuShellGetParentShell menuShell = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    result <- gtk_menu_shell_get_parent_shell menuShell'
+    checkUnexpectedReturnNULL "menuShellGetParentShell" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr menuShell
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuShellGetParentShellMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsMenuShell a) => O.MethodInfo MenuShellGetParentShellMethodInfo a signature where
+    overloadedMethod _ = menuShellGetParentShell
+
+#endif
+
+-- method MenuShell::get_selected_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_get_selected_item" gtk_menu_shell_get_selected_item :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the currently selected item.
+
+/Since: 3.0/
+-}
+menuShellGetSelectedItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the currently selected item -}
+menuShellGetSelectedItem menuShell = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    result <- gtk_menu_shell_get_selected_item menuShell'
+    checkUnexpectedReturnNULL "menuShellGetSelectedItem" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr menuShell
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuShellGetSelectedItemMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsMenuShell a) => O.MethodInfo MenuShellGetSelectedItemMethodInfo a signature where
+    overloadedMethod _ = menuShellGetSelectedItem
+
+#endif
+
+-- method MenuShell::get_take_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_get_take_focus" gtk_menu_shell_get_take_focus :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    IO CInt
+
+{- |
+Returns 'True' if the menu shell will take the keyboard focus on popup.
+
+/Since: 2.8/
+-}
+menuShellGetTakeFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the menu shell will take the keyboard focus on popup. -}
+menuShellGetTakeFocus menuShell = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    result <- gtk_menu_shell_get_take_focus menuShell'
+    let result' = (/= 0) result
+    touchManagedPtr menuShell
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuShellGetTakeFocusMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsMenuShell a) => O.MethodInfo MenuShellGetTakeFocusMethodInfo a signature where
+    overloadedMethod _ = menuShellGetTakeFocus
+
+#endif
+
+-- method MenuShell::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkMenuItem to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position in the item list where @child\n    is added. Positions are numbered from 0 to n-1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_insert" gtk_menu_shell_insert :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Adds a new 'GI.Gtk.Objects.MenuItem.MenuItem' to the menu shell’s item list
+at the position indicated by /@position@/.
+-}
+menuShellInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> b
+    {- ^ /@child@/: The 'GI.Gtk.Objects.MenuItem.MenuItem' to add -}
+    -> Int32
+    {- ^ /@position@/: The position in the item list where /@child@/
+    is added. Positions are numbered from 0 to n-1 -}
+    -> m ()
+menuShellInsert menuShell child position = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_menu_shell_insert menuShell' child' position
+    touchManagedPtr menuShell
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellInsertMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsMenuShell a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuShellInsertMethodInfo a signature where
+    overloadedMethod _ = menuShellInsert
+
+#endif
+
+-- method MenuShell::prepend
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkMenuItem to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_prepend" gtk_menu_shell_prepend :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds a new 'GI.Gtk.Objects.MenuItem.MenuItem' to the beginning of the menu shell\'s
+item list.
+-}
+menuShellPrepend ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> b
+    {- ^ /@child@/: The 'GI.Gtk.Objects.MenuItem.MenuItem' to add -}
+    -> m ()
+menuShellPrepend menuShell child = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_menu_shell_prepend menuShell' child'
+    touchManagedPtr menuShell
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellPrependMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsMenuShell a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuShellPrependMethodInfo a signature where
+    overloadedMethod _ = menuShellPrepend
+
+#endif
+
+-- method MenuShell::select_first
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, search for the first selectable\n                   menu item, otherwise select nothing if\n                   the first item isn\8217t sensitive. This\n                   should be %FALSE if the menu is being\n                   popped up initially.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_select_first" gtk_menu_shell_select_first :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    CInt ->                                 -- search_sensitive : TBasicType TBoolean
+    IO ()
+
+{- |
+Select the first visible or selectable child of the menu shell;
+don’t select tearoff items unless the only item is a tearoff
+item.
+
+/Since: 2.2/
+-}
+menuShellSelectFirst ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> Bool
+    {- ^ /@searchSensitive@/: if 'True', search for the first selectable
+                   menu item, otherwise select nothing if
+                   the first item isn’t sensitive. This
+                   should be 'False' if the menu is being
+                   popped up initially. -}
+    -> m ()
+menuShellSelectFirst menuShell searchSensitive = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    let searchSensitive' = (fromIntegral . fromEnum) searchSensitive
+    gtk_menu_shell_select_first menuShell' searchSensitive'
+    touchManagedPtr menuShell
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellSelectFirstMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsMenuShell a) => O.MethodInfo MenuShellSelectFirstMethodInfo a signature where
+    overloadedMethod _ = menuShellSelectFirst
+
+#endif
+
+-- method MenuShell::select_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkMenuItem to select", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_select_item" gtk_menu_shell_select_item :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    Ptr Gtk.Widget.Widget ->                -- menu_item : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Selects the menu item from the menu shell.
+-}
+menuShellSelectItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> b
+    {- ^ /@menuItem@/: The 'GI.Gtk.Objects.MenuItem.MenuItem' to select -}
+    -> m ()
+menuShellSelectItem menuShell menuItem = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    menuItem' <- unsafeManagedPtrCastPtr menuItem
+    gtk_menu_shell_select_item menuShell' menuItem'
+    touchManagedPtr menuShell
+    touchManagedPtr menuItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellSelectItemMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsMenuShell a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuShellSelectItemMethodInfo a signature where
+    overloadedMethod _ = menuShellSelectItem
+
+#endif
+
+-- method MenuShell::set_take_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu_shell", argType = TInterface (Name {namespace = "Gtk", name = "MenuShell"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuShell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "take_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the menu shell should take the keyboard\n    focus on popup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_shell_set_take_focus" gtk_menu_shell_set_take_focus :: 
+    Ptr MenuShell ->                        -- menu_shell : TInterface (Name {namespace = "Gtk", name = "MenuShell"})
+    CInt ->                                 -- take_focus : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@takeFocus@/ is 'True' (the default) the menu shell will take
+the keyboard focus so that it will receive all keyboard events
+which is needed to enable keyboard navigation in menus.
+
+Setting /@takeFocus@/ to 'False' is useful only for special applications
+like virtual keyboard implementations which should not take keyboard
+focus.
+
+The /@takeFocus@/ state of a menu or menu bar is automatically
+propagated to submenus whenever a submenu is popped up, so you
+don’t have to worry about recursively setting it for your entire
+menu hierarchy. Only when programmatically picking a submenu and
+popping it up manually, the /@takeFocus@/ property of the submenu
+needs to be set explicitly.
+
+Note that setting it to 'False' has side-effects:
+
+If the focus is in some other app, it keeps the focus and keynav in
+the menu doesn’t work. Consequently, keynav on the menu will only
+work if the focus is on some toplevel owned by the onscreen keyboard.
+
+To avoid confusing the user, menus with /@takeFocus@/ set to 'False'
+should not display mnemonics or accelerators, since it cannot be
+guaranteed that they will work.
+
+See also 'GI.Gdk.Functions.keyboardGrab'
+
+/Since: 2.8/
+-}
+menuShellSetTakeFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuShell a) =>
+    a
+    {- ^ /@menuShell@/: a 'GI.Gtk.Objects.MenuShell.MenuShell' -}
+    -> Bool
+    {- ^ /@takeFocus@/: 'True' if the menu shell should take the keyboard
+    focus on popup -}
+    -> m ()
+menuShellSetTakeFocus menuShell takeFocus = liftIO $ do
+    menuShell' <- unsafeManagedPtrCastPtr menuShell
+    let takeFocus' = (fromIntegral . fromEnum) takeFocus
+    gtk_menu_shell_set_take_focus menuShell' takeFocus'
+    touchManagedPtr menuShell
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuShellSetTakeFocusMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsMenuShell a) => O.MethodInfo MenuShellSetTakeFocusMethodInfo a signature where
+    overloadedMethod _ = menuShellSetTakeFocus
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MenuShell.hs-boot b/GI/Gtk/Objects/MenuShell.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuShell.hs-boot
@@ -0,0 +1,98 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MenuShell where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MenuShell = MenuShell (ManagedPtr MenuShell)
+instance GObject MenuShell where
+class (GObject o, O.IsDescendantOf MenuShell o) => IsMenuShell o
+instance (GObject o, O.IsDescendantOf MenuShell o) => IsMenuShell o
+instance O.HasParentTypes MenuShell
+#if ENABLE_OVERLOADING
+data MenuShellTakeFocusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellActivateCurrentSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellCancelSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellCycleFocusSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellDeactivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellInsertSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellMoveCurrentSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellMoveSelectedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellSelectionDoneSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellActivateItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellAppendMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellBindModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellCancelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellDeactivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellDeselectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellGetParentShellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellGetSelectedItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellGetTakeFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellPrependMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellSelectFirstMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellSelectItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuShellSetTakeFocusMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/MenuShellAccessible.hs b/GI/Gtk/Objects/MenuShellAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuShellAccessible.hs
@@ -0,0 +1,173 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MenuShellAccessible
+    ( 
+
+-- * Exported types
+    MenuShellAccessible(..)                 ,
+    IsMenuShellAccessible                   ,
+    toMenuShellAccessible                   ,
+    noMenuShellAccessible                   ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype MenuShellAccessible = MenuShellAccessible (ManagedPtr MenuShellAccessible)
+foreign import ccall "gtk_menu_shell_accessible_get_type"
+    c_gtk_menu_shell_accessible_get_type :: IO GType
+
+instance GObject MenuShellAccessible where
+    gobjectType = c_gtk_menu_shell_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `MenuShellAccessible`, for instance with `toMenuShellAccessible`.
+class (GObject o, O.IsDescendantOf MenuShellAccessible o) => IsMenuShellAccessible o
+instance (GObject o, O.IsDescendantOf MenuShellAccessible o) => IsMenuShellAccessible o
+
+instance O.HasParentTypes MenuShellAccessible
+type instance O.ParentTypes MenuShellAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `MenuShellAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenuShellAccessible :: (MonadIO m, IsMenuShellAccessible o) => o -> m MenuShellAccessible
+toMenuShellAccessible = liftIO . unsafeCastTo MenuShellAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MenuShellAccessible`.
+noMenuShellAccessible :: Maybe MenuShellAccessible
+noMenuShellAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuShellAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuShellAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveMenuShellAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveMenuShellAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuShellAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuShellAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveMenuShellAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveMenuShellAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveMenuShellAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuShellAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuShellAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuShellAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveMenuShellAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveMenuShellAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveMenuShellAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuShellAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuShellAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuShellAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveMenuShellAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveMenuShellAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuShellAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveMenuShellAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveMenuShellAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveMenuShellAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveMenuShellAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuShellAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveMenuShellAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveMenuShellAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveMenuShellAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveMenuShellAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveMenuShellAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuShellAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveMenuShellAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveMenuShellAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveMenuShellAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuShellAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuShellAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuShellAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuShellAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuShellAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveMenuShellAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveMenuShellAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuShellAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveMenuShellAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveMenuShellAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveMenuShellAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveMenuShellAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveMenuShellAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveMenuShellAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveMenuShellAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveMenuShellAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveMenuShellAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveMenuShellAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuShellAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuShellAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveMenuShellAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveMenuShellAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveMenuShellAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveMenuShellAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuShellAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveMenuShellAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveMenuShellAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveMenuShellAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveMenuShellAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveMenuShellAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuShellAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveMenuShellAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveMenuShellAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveMenuShellAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuShellAccessibleMethod t MenuShellAccessible, O.MethodInfo info MenuShellAccessible p) => OL.IsLabel t (MenuShellAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MenuShellAccessible
+type instance O.AttributeList MenuShellAccessible = MenuShellAccessibleAttributeList
+type MenuShellAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList MenuShellAccessible = MenuShellAccessibleSignalList
+type MenuShellAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MenuShellAccessible.hs-boot b/GI/Gtk/Objects/MenuShellAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuShellAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MenuShellAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MenuShellAccessible = MenuShellAccessible (ManagedPtr MenuShellAccessible)
+instance GObject MenuShellAccessible where
+class (GObject o, O.IsDescendantOf MenuShellAccessible o) => IsMenuShellAccessible o
+instance (GObject o, O.IsDescendantOf MenuShellAccessible o) => IsMenuShellAccessible o
+instance O.HasParentTypes MenuShellAccessible
diff --git a/GI/Gtk/Objects/MenuToolButton.hs b/GI/Gtk/Objects/MenuToolButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuToolButton.hs
@@ -0,0 +1,972 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' is a 'GI.Gtk.Objects.ToolItem.ToolItem' that contains a button and
+a small additional button with an arrow. When clicked, the arrow
+button pops up a dropdown menu.
+
+Use 'GI.Gtk.Objects.MenuToolButton.menuToolButtonNew' to create a new
+'GI.Gtk.Objects.MenuToolButton.MenuToolButton'.
+
+= GtkMenuToolButton as GtkBuildable
+
+The GtkMenuToolButton implementation of the GtkBuildable interface
+supports adding a menu by specifying “menu” as the “type” attribute
+of a \<child> element.
+
+An example for a UI definition fragment with menus:
+>
+><object class="GtkMenuToolButton">
+>  <child type="menu">
+>    <object class="GtkMenu"/>
+>  </child>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MenuToolButton
+    ( 
+
+-- * Exported types
+    MenuToolButton(..)                      ,
+    IsMenuToolButton                        ,
+    toMenuToolButton                        ,
+    noMenuToolButton                        ,
+
+
+ -- * Methods
+-- ** getMenu #method:getMenu#
+
+#if ENABLE_OVERLOADING
+    MenuToolButtonGetMenuMethodInfo         ,
+#endif
+    menuToolButtonGetMenu                   ,
+
+
+-- ** new #method:new#
+
+    menuToolButtonNew                       ,
+
+
+-- ** newFromStock #method:newFromStock#
+
+    menuToolButtonNewFromStock              ,
+
+
+-- ** setArrowTooltipMarkup #method:setArrowTooltipMarkup#
+
+#if ENABLE_OVERLOADING
+    MenuToolButtonSetArrowTooltipMarkupMethodInfo,
+#endif
+    menuToolButtonSetArrowTooltipMarkup     ,
+
+
+-- ** setArrowTooltipText #method:setArrowTooltipText#
+
+#if ENABLE_OVERLOADING
+    MenuToolButtonSetArrowTooltipTextMethodInfo,
+#endif
+    menuToolButtonSetArrowTooltipText       ,
+
+
+-- ** setMenu #method:setMenu#
+
+#if ENABLE_OVERLOADING
+    MenuToolButtonSetMenuMethodInfo         ,
+#endif
+    menuToolButtonSetMenu                   ,
+
+
+
+
+ -- * Properties
+-- ** menu #attr:menu#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    MenuToolButtonMenuPropertyInfo          ,
+#endif
+    clearMenuToolButtonMenu                 ,
+    constructMenuToolButtonMenu             ,
+    getMenuToolButtonMenu                   ,
+#if ENABLE_OVERLOADING
+    menuToolButtonMenu                      ,
+#endif
+    setMenuToolButtonMenu                   ,
+
+
+
+
+ -- * Signals
+-- ** showMenu #signal:showMenu#
+
+    C_MenuToolButtonShowMenuCallback        ,
+    MenuToolButtonShowMenuCallback          ,
+#if ENABLE_OVERLOADING
+    MenuToolButtonShowMenuSignalInfo        ,
+#endif
+    afterMenuToolButtonShowMenu             ,
+    genClosure_MenuToolButtonShowMenu       ,
+    mk_MenuToolButtonShowMenuCallback       ,
+    noMenuToolButtonShowMenuCallback        ,
+    onMenuToolButtonShowMenu                ,
+    wrap_MenuToolButtonShowMenuCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Menu as Gtk.Menu
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolButton as Gtk.ToolButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolItem as Gtk.ToolItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype MenuToolButton = MenuToolButton (ManagedPtr MenuToolButton)
+foreign import ccall "gtk_menu_tool_button_get_type"
+    c_gtk_menu_tool_button_get_type :: IO GType
+
+instance GObject MenuToolButton where
+    gobjectType = c_gtk_menu_tool_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `MenuToolButton`, for instance with `toMenuToolButton`.
+class (GObject o, O.IsDescendantOf MenuToolButton o) => IsMenuToolButton o
+instance (GObject o, O.IsDescendantOf MenuToolButton o) => IsMenuToolButton o
+
+instance O.HasParentTypes MenuToolButton
+type instance O.ParentTypes MenuToolButton = '[Gtk.ToolButton.ToolButton, Gtk.ToolItem.ToolItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `MenuToolButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMenuToolButton :: (MonadIO m, IsMenuToolButton o) => o -> m MenuToolButton
+toMenuToolButton = liftIO . unsafeCastTo MenuToolButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MenuToolButton`.
+noMenuToolButton :: Maybe MenuToolButton
+noMenuToolButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMenuToolButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMenuToolButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveMenuToolButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveMenuToolButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveMenuToolButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveMenuToolButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveMenuToolButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveMenuToolButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveMenuToolButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveMenuToolButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMenuToolButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMenuToolButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveMenuToolButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveMenuToolButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveMenuToolButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveMenuToolButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveMenuToolButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveMenuToolButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveMenuToolButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveMenuToolButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveMenuToolButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveMenuToolButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveMenuToolButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveMenuToolButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveMenuToolButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveMenuToolButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveMenuToolButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveMenuToolButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveMenuToolButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveMenuToolButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveMenuToolButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveMenuToolButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveMenuToolButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveMenuToolButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveMenuToolButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveMenuToolButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveMenuToolButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveMenuToolButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveMenuToolButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveMenuToolButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveMenuToolButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveMenuToolButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveMenuToolButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveMenuToolButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveMenuToolButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveMenuToolButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveMenuToolButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveMenuToolButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveMenuToolButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveMenuToolButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveMenuToolButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveMenuToolButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveMenuToolButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveMenuToolButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveMenuToolButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMenuToolButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveMenuToolButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveMenuToolButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMenuToolButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMenuToolButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveMenuToolButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveMenuToolButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveMenuToolButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveMenuToolButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveMenuToolButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveMenuToolButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveMenuToolButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveMenuToolButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveMenuToolButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveMenuToolButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveMenuToolButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveMenuToolButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveMenuToolButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveMenuToolButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveMenuToolButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveMenuToolButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveMenuToolButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveMenuToolButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveMenuToolButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveMenuToolButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMenuToolButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveMenuToolButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveMenuToolButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveMenuToolButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveMenuToolButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveMenuToolButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveMenuToolButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveMenuToolButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveMenuToolButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveMenuToolButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveMenuToolButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveMenuToolButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveMenuToolButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveMenuToolButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveMenuToolButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveMenuToolButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveMenuToolButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveMenuToolButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMenuToolButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMenuToolButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveMenuToolButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveMenuToolButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveMenuToolButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveMenuToolButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveMenuToolButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveMenuToolButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveMenuToolButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveMenuToolButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveMenuToolButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveMenuToolButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveMenuToolButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveMenuToolButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveMenuToolButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveMenuToolButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveMenuToolButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveMenuToolButtonMethod "rebuildMenu" o = Gtk.ToolItem.ToolItemRebuildMenuMethodInfo
+    ResolveMenuToolButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMenuToolButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMenuToolButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveMenuToolButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveMenuToolButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveMenuToolButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveMenuToolButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveMenuToolButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveMenuToolButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveMenuToolButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveMenuToolButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveMenuToolButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveMenuToolButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveMenuToolButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveMenuToolButtonMethod "retrieveProxyMenuItem" o = Gtk.ToolItem.ToolItemRetrieveProxyMenuItemMethodInfo
+    ResolveMenuToolButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMenuToolButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveMenuToolButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveMenuToolButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveMenuToolButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveMenuToolButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveMenuToolButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveMenuToolButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveMenuToolButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveMenuToolButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveMenuToolButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMenuToolButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMenuToolButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveMenuToolButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveMenuToolButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveMenuToolButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveMenuToolButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMenuToolButtonMethod "toolbarReconfigured" o = Gtk.ToolItem.ToolItemToolbarReconfiguredMethodInfo
+    ResolveMenuToolButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveMenuToolButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveMenuToolButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveMenuToolButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveMenuToolButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveMenuToolButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMenuToolButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveMenuToolButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveMenuToolButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveMenuToolButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMenuToolButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveMenuToolButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveMenuToolButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveMenuToolButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveMenuToolButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveMenuToolButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveMenuToolButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveMenuToolButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveMenuToolButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveMenuToolButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveMenuToolButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveMenuToolButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveMenuToolButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveMenuToolButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveMenuToolButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveMenuToolButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveMenuToolButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveMenuToolButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveMenuToolButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveMenuToolButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveMenuToolButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveMenuToolButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMenuToolButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveMenuToolButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveMenuToolButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveMenuToolButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveMenuToolButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveMenuToolButtonMethod "getEllipsizeMode" o = Gtk.ToolItem.ToolItemGetEllipsizeModeMethodInfo
+    ResolveMenuToolButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveMenuToolButtonMethod "getExpand" o = Gtk.ToolItem.ToolItemGetExpandMethodInfo
+    ResolveMenuToolButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveMenuToolButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveMenuToolButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveMenuToolButtonMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveMenuToolButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveMenuToolButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveMenuToolButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveMenuToolButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveMenuToolButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveMenuToolButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveMenuToolButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveMenuToolButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveMenuToolButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveMenuToolButtonMethod "getHomogeneous" o = Gtk.ToolItem.ToolItemGetHomogeneousMethodInfo
+    ResolveMenuToolButtonMethod "getIconName" o = Gtk.ToolButton.ToolButtonGetIconNameMethodInfo
+    ResolveMenuToolButtonMethod "getIconSize" o = Gtk.ToolItem.ToolItemGetIconSizeMethodInfo
+    ResolveMenuToolButtonMethod "getIconWidget" o = Gtk.ToolButton.ToolButtonGetIconWidgetMethodInfo
+    ResolveMenuToolButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveMenuToolButtonMethod "getIsImportant" o = Gtk.ToolItem.ToolItemGetIsImportantMethodInfo
+    ResolveMenuToolButtonMethod "getLabel" o = Gtk.ToolButton.ToolButtonGetLabelMethodInfo
+    ResolveMenuToolButtonMethod "getLabelWidget" o = Gtk.ToolButton.ToolButtonGetLabelWidgetMethodInfo
+    ResolveMenuToolButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveMenuToolButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveMenuToolButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveMenuToolButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveMenuToolButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveMenuToolButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveMenuToolButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveMenuToolButtonMethod "getMenu" o = MenuToolButtonGetMenuMethodInfo
+    ResolveMenuToolButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveMenuToolButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveMenuToolButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveMenuToolButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveMenuToolButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveMenuToolButtonMethod "getOrientation" o = Gtk.ToolItem.ToolItemGetOrientationMethodInfo
+    ResolveMenuToolButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveMenuToolButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveMenuToolButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveMenuToolButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveMenuToolButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveMenuToolButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveMenuToolButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveMenuToolButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveMenuToolButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveMenuToolButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveMenuToolButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveMenuToolButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveMenuToolButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMenuToolButtonMethod "getProxyMenuItem" o = Gtk.ToolItem.ToolItemGetProxyMenuItemMethodInfo
+    ResolveMenuToolButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMenuToolButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveMenuToolButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveMenuToolButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveMenuToolButtonMethod "getReliefStyle" o = Gtk.ToolItem.ToolItemGetReliefStyleMethodInfo
+    ResolveMenuToolButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveMenuToolButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveMenuToolButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveMenuToolButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveMenuToolButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveMenuToolButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveMenuToolButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveMenuToolButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveMenuToolButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveMenuToolButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveMenuToolButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveMenuToolButtonMethod "getStockId" o = Gtk.ToolButton.ToolButtonGetStockIdMethodInfo
+    ResolveMenuToolButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveMenuToolButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveMenuToolButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveMenuToolButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveMenuToolButtonMethod "getTextAlignment" o = Gtk.ToolItem.ToolItemGetTextAlignmentMethodInfo
+    ResolveMenuToolButtonMethod "getTextOrientation" o = Gtk.ToolItem.ToolItemGetTextOrientationMethodInfo
+    ResolveMenuToolButtonMethod "getTextSizeGroup" o = Gtk.ToolItem.ToolItemGetTextSizeGroupMethodInfo
+    ResolveMenuToolButtonMethod "getToolbarStyle" o = Gtk.ToolItem.ToolItemGetToolbarStyleMethodInfo
+    ResolveMenuToolButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveMenuToolButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveMenuToolButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveMenuToolButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveMenuToolButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveMenuToolButtonMethod "getUseDragWindow" o = Gtk.ToolItem.ToolItemGetUseDragWindowMethodInfo
+    ResolveMenuToolButtonMethod "getUseUnderline" o = Gtk.ToolButton.ToolButtonGetUseUnderlineMethodInfo
+    ResolveMenuToolButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveMenuToolButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveMenuToolButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveMenuToolButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveMenuToolButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveMenuToolButtonMethod "getVisibleHorizontal" o = Gtk.ToolItem.ToolItemGetVisibleHorizontalMethodInfo
+    ResolveMenuToolButtonMethod "getVisibleVertical" o = Gtk.ToolItem.ToolItemGetVisibleVerticalMethodInfo
+    ResolveMenuToolButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveMenuToolButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveMenuToolButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveMenuToolButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveMenuToolButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveMenuToolButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveMenuToolButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveMenuToolButtonMethod "setArrowTooltipMarkup" o = MenuToolButtonSetArrowTooltipMarkupMethodInfo
+    ResolveMenuToolButtonMethod "setArrowTooltipText" o = MenuToolButtonSetArrowTooltipTextMethodInfo
+    ResolveMenuToolButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveMenuToolButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveMenuToolButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveMenuToolButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveMenuToolButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveMenuToolButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveMenuToolButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveMenuToolButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMenuToolButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveMenuToolButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveMenuToolButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveMenuToolButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveMenuToolButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveMenuToolButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveMenuToolButtonMethod "setExpand" o = Gtk.ToolItem.ToolItemSetExpandMethodInfo
+    ResolveMenuToolButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveMenuToolButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveMenuToolButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveMenuToolButtonMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveMenuToolButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveMenuToolButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveMenuToolButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveMenuToolButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveMenuToolButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveMenuToolButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveMenuToolButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveMenuToolButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveMenuToolButtonMethod "setHomogeneous" o = Gtk.ToolItem.ToolItemSetHomogeneousMethodInfo
+    ResolveMenuToolButtonMethod "setIconName" o = Gtk.ToolButton.ToolButtonSetIconNameMethodInfo
+    ResolveMenuToolButtonMethod "setIconWidget" o = Gtk.ToolButton.ToolButtonSetIconWidgetMethodInfo
+    ResolveMenuToolButtonMethod "setIsImportant" o = Gtk.ToolItem.ToolItemSetIsImportantMethodInfo
+    ResolveMenuToolButtonMethod "setLabel" o = Gtk.ToolButton.ToolButtonSetLabelMethodInfo
+    ResolveMenuToolButtonMethod "setLabelWidget" o = Gtk.ToolButton.ToolButtonSetLabelWidgetMethodInfo
+    ResolveMenuToolButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveMenuToolButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveMenuToolButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveMenuToolButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveMenuToolButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveMenuToolButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveMenuToolButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveMenuToolButtonMethod "setMenu" o = MenuToolButtonSetMenuMethodInfo
+    ResolveMenuToolButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveMenuToolButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveMenuToolButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveMenuToolButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveMenuToolButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveMenuToolButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMenuToolButtonMethod "setProxyMenuItem" o = Gtk.ToolItem.ToolItemSetProxyMenuItemMethodInfo
+    ResolveMenuToolButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveMenuToolButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveMenuToolButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveMenuToolButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveMenuToolButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveMenuToolButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveMenuToolButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveMenuToolButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveMenuToolButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveMenuToolButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveMenuToolButtonMethod "setStockId" o = Gtk.ToolButton.ToolButtonSetStockIdMethodInfo
+    ResolveMenuToolButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveMenuToolButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveMenuToolButtonMethod "setTooltipMarkup" o = Gtk.ToolItem.ToolItemSetTooltipMarkupMethodInfo
+    ResolveMenuToolButtonMethod "setTooltipText" o = Gtk.ToolItem.ToolItemSetTooltipTextMethodInfo
+    ResolveMenuToolButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveMenuToolButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveMenuToolButtonMethod "setUseDragWindow" o = Gtk.ToolItem.ToolItemSetUseDragWindowMethodInfo
+    ResolveMenuToolButtonMethod "setUseUnderline" o = Gtk.ToolButton.ToolButtonSetUseUnderlineMethodInfo
+    ResolveMenuToolButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveMenuToolButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveMenuToolButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveMenuToolButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveMenuToolButtonMethod "setVisibleHorizontal" o = Gtk.ToolItem.ToolItemSetVisibleHorizontalMethodInfo
+    ResolveMenuToolButtonMethod "setVisibleVertical" o = Gtk.ToolItem.ToolItemSetVisibleVerticalMethodInfo
+    ResolveMenuToolButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveMenuToolButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveMenuToolButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMenuToolButtonMethod t MenuToolButton, O.MethodInfo info MenuToolButton p) => OL.IsLabel t (MenuToolButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal MenuToolButton::show-menu
+{- |
+The ::show-menu signal is emitted before the menu is shown.
+
+It can be used to populate the menu on demand, using
+'GI.Gtk.Objects.MenuToolButton.menuToolButtonSetMenu'.
+
+Note that even if you populate the menu dynamically in this way,
+you must set an empty menu on the 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' beforehand,
+since the arrow is made insensitive if the menu is not set.
+-}
+type MenuToolButtonShowMenuCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuToolButtonShowMenuCallback`@.
+noMenuToolButtonShowMenuCallback :: Maybe MenuToolButtonShowMenuCallback
+noMenuToolButtonShowMenuCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_MenuToolButtonShowMenuCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_MenuToolButtonShowMenuCallback`.
+foreign import ccall "wrapper"
+    mk_MenuToolButtonShowMenuCallback :: C_MenuToolButtonShowMenuCallback -> IO (FunPtr C_MenuToolButtonShowMenuCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_MenuToolButtonShowMenu :: MonadIO m => MenuToolButtonShowMenuCallback -> m (GClosure C_MenuToolButtonShowMenuCallback)
+genClosure_MenuToolButtonShowMenu cb = liftIO $ do
+    let cb' = wrap_MenuToolButtonShowMenuCallback cb
+    mk_MenuToolButtonShowMenuCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `MenuToolButtonShowMenuCallback` into a `C_MenuToolButtonShowMenuCallback`.
+wrap_MenuToolButtonShowMenuCallback ::
+    MenuToolButtonShowMenuCallback ->
+    C_MenuToolButtonShowMenuCallback
+wrap_MenuToolButtonShowMenuCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@show-menu@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' menuToolButton #showMenu callback
+@
+-}
+onMenuToolButtonShowMenu :: (IsMenuToolButton a, MonadIO m) => a -> MenuToolButtonShowMenuCallback -> m SignalHandlerId
+onMenuToolButtonShowMenu obj cb = liftIO $ do
+    let cb' = wrap_MenuToolButtonShowMenuCallback cb
+    cb'' <- mk_MenuToolButtonShowMenuCallback cb'
+    connectSignalFunPtr obj "show-menu" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show-menu@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' menuToolButton #showMenu callback
+@
+-}
+afterMenuToolButtonShowMenu :: (IsMenuToolButton a, MonadIO m) => a -> MenuToolButtonShowMenuCallback -> m SignalHandlerId
+afterMenuToolButtonShowMenu obj cb = liftIO $ do
+    let cb' = wrap_MenuToolButtonShowMenuCallback cb
+    cb'' <- mk_MenuToolButtonShowMenuCallback cb'
+    connectSignalFunPtr obj "show-menu" cb'' SignalConnectAfter
+
+
+-- VVV Prop "menu"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Menu"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' menuToolButton #menu
+@
+-}
+getMenuToolButtonMenu :: (MonadIO m, IsMenuToolButton o) => o -> m (Maybe Gtk.Menu.Menu)
+getMenuToolButtonMenu obj = liftIO $ B.Properties.getObjectPropertyObject obj "menu" Gtk.Menu.Menu
+
+{- |
+Set the value of the “@menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' menuToolButton [ #menu 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMenuToolButtonMenu :: (MonadIO m, IsMenuToolButton o, Gtk.Menu.IsMenu a) => o -> a -> m ()
+setMenuToolButtonMenu obj val = liftIO $ B.Properties.setObjectPropertyObject obj "menu" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@menu@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMenuToolButtonMenu :: (IsMenuToolButton o, Gtk.Menu.IsMenu a) => a -> IO (GValueConstruct o)
+constructMenuToolButtonMenu val = B.Properties.constructObjectPropertyObject "menu" (Just val)
+
+{- |
+Set the value of the “@menu@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #menu
+@
+-}
+clearMenuToolButtonMenu :: (MonadIO m, IsMenuToolButton o) => o -> m ()
+clearMenuToolButtonMenu obj = liftIO $ B.Properties.setObjectPropertyObject obj "menu" (Nothing :: Maybe Gtk.Menu.Menu)
+
+#if ENABLE_OVERLOADING
+data MenuToolButtonMenuPropertyInfo
+instance AttrInfo MenuToolButtonMenuPropertyInfo where
+    type AttrAllowedOps MenuToolButtonMenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MenuToolButtonMenuPropertyInfo = Gtk.Menu.IsMenu
+    type AttrBaseTypeConstraint MenuToolButtonMenuPropertyInfo = IsMenuToolButton
+    type AttrGetType MenuToolButtonMenuPropertyInfo = (Maybe Gtk.Menu.Menu)
+    type AttrLabel MenuToolButtonMenuPropertyInfo = "menu"
+    type AttrOrigin MenuToolButtonMenuPropertyInfo = MenuToolButton
+    attrGet _ = getMenuToolButtonMenu
+    attrSet _ = setMenuToolButtonMenu
+    attrConstruct _ = constructMenuToolButtonMenu
+    attrClear _ = clearMenuToolButtonMenu
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MenuToolButton
+type instance O.AttributeList MenuToolButton = MenuToolButtonAttributeList
+type MenuToolButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("iconName", Gtk.ToolButton.ToolButtonIconNamePropertyInfo), '("iconWidget", Gtk.ToolButton.ToolButtonIconWidgetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isImportant", Gtk.ToolItem.ToolItemIsImportantPropertyInfo), '("label", Gtk.ToolButton.ToolButtonLabelPropertyInfo), '("labelWidget", Gtk.ToolButton.ToolButtonLabelWidgetPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("menu", MenuToolButtonMenuPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stockId", Gtk.ToolButton.ToolButtonStockIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useUnderline", Gtk.ToolButton.ToolButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visibleHorizontal", Gtk.ToolItem.ToolItemVisibleHorizontalPropertyInfo), '("visibleVertical", Gtk.ToolItem.ToolItemVisibleVerticalPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+menuToolButtonMenu :: AttrLabelProxy "menu"
+menuToolButtonMenu = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data MenuToolButtonShowMenuSignalInfo
+instance SignalInfo MenuToolButtonShowMenuSignalInfo where
+    type HaskellCallbackType MenuToolButtonShowMenuSignalInfo = MenuToolButtonShowMenuCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_MenuToolButtonShowMenuCallback cb
+        cb'' <- mk_MenuToolButtonShowMenuCallback cb'
+        connectSignalFunPtr obj "show-menu" cb'' connectMode
+
+type instance O.SignalList MenuToolButton = MenuToolButtonSignalList
+type MenuToolButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.ToolButton.ToolButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("createMenuProxy", Gtk.ToolItem.ToolItemCreateMenuProxySignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("showMenu", MenuToolButtonShowMenuSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toolbarReconfigured", Gtk.ToolItem.ToolItemToolbarReconfiguredSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method MenuToolButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "icon_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a widget that will be used as icon widget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string that will be used as label, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MenuToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_tool_button_new" gtk_menu_tool_button_new :: 
+    Ptr Gtk.Widget.Widget ->                -- icon_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr MenuToolButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' using /@iconWidget@/ as icon and
+/@label@/ as label.
+
+/Since: 2.6/
+-}
+menuToolButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    Maybe (a)
+    {- ^ /@iconWidget@/: a widget that will be used as icon widget, or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: a string that will be used as label, or 'Nothing' -}
+    -> m MenuToolButton
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' -}
+menuToolButtonNew iconWidget label = liftIO $ do
+    maybeIconWidget <- case iconWidget of
+        Nothing -> return nullPtr
+        Just jIconWidget -> do
+            jIconWidget' <- unsafeManagedPtrCastPtr jIconWidget
+            return jIconWidget'
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    result <- gtk_menu_tool_button_new maybeIconWidget maybeLabel
+    checkUnexpectedReturnNULL "menuToolButtonNew" result
+    result' <- (newObject MenuToolButton) result
+    whenJust iconWidget touchManagedPtr
+    freeMem maybeLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method MenuToolButton::new_from_stock
+-- method type : Constructor
+-- Args : [Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a stock item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MenuToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_tool_button_new_from_stock" gtk_menu_tool_button_new_from_stock :: 
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr MenuToolButton)
+
+{-# DEPRECATED menuToolButtonNewFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.MenuToolButton.menuToolButtonNew' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.MenuToolButton.MenuToolButton'.
+The new 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' will contain an icon and label from
+the stock item indicated by /@stockId@/.
+
+/Since: 2.6/
+-}
+menuToolButtonNewFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@stockId@/: the name of a stock item -}
+    -> m MenuToolButton
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' -}
+menuToolButtonNewFromStock stockId = liftIO $ do
+    stockId' <- textToCString stockId
+    result <- gtk_menu_tool_button_new_from_stock stockId'
+    checkUnexpectedReturnNULL "menuToolButtonNewFromStock" result
+    result' <- (newObject MenuToolButton) result
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method MenuToolButton::get_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "MenuToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_tool_button_get_menu" gtk_menu_tool_button_get_menu :: 
+    Ptr MenuToolButton ->                   -- button : TInterface (Name {namespace = "Gtk", name = "MenuToolButton"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the 'GI.Gtk.Objects.Menu.Menu' associated with 'GI.Gtk.Objects.MenuToolButton.MenuToolButton'.
+
+/Since: 2.6/
+-}
+menuToolButtonGetMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.Menu.Menu' associated
+    with 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' -}
+menuToolButtonGetMenu button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_menu_tool_button_get_menu button'
+    checkUnexpectedReturnNULL "menuToolButtonGetMenu" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data MenuToolButtonGetMenuMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsMenuToolButton a) => O.MethodInfo MenuToolButtonGetMenuMethodInfo a signature where
+    overloadedMethod _ = menuToolButtonGetMenu
+
+#endif
+
+-- method MenuToolButton::set_arrow_tooltip_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "MenuToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "markup text to be used as tooltip text for button\8217s arrow button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_tool_button_set_arrow_tooltip_markup" gtk_menu_tool_button_set_arrow_tooltip_markup :: 
+    Ptr MenuToolButton ->                   -- button : TInterface (Name {namespace = "Gtk", name = "MenuToolButton"})
+    CString ->                              -- markup : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the tooltip markup text to be used as tooltip for the arrow button
+which pops up the menu.  See 'GI.Gtk.Objects.ToolItem.toolItemSetTooltipText' for setting
+a tooltip on the whole 'GI.Gtk.Objects.MenuToolButton.MenuToolButton'.
+
+/Since: 2.12/
+-}
+menuToolButtonSetArrowTooltipMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' -}
+    -> T.Text
+    {- ^ /@markup@/: markup text to be used as tooltip text for button’s arrow button -}
+    -> m ()
+menuToolButtonSetArrowTooltipMarkup button markup = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    markup' <- textToCString markup
+    gtk_menu_tool_button_set_arrow_tooltip_markup button' markup'
+    touchManagedPtr button
+    freeMem markup'
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuToolButtonSetArrowTooltipMarkupMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsMenuToolButton a) => O.MethodInfo MenuToolButtonSetArrowTooltipMarkupMethodInfo a signature where
+    overloadedMethod _ = menuToolButtonSetArrowTooltipMarkup
+
+#endif
+
+-- method MenuToolButton::set_arrow_tooltip_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "MenuToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text to be used as tooltip text for button\8217s arrow button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_tool_button_set_arrow_tooltip_text" gtk_menu_tool_button_set_arrow_tooltip_text :: 
+    Ptr MenuToolButton ->                   -- button : TInterface (Name {namespace = "Gtk", name = "MenuToolButton"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the tooltip text to be used as tooltip for the arrow button which
+pops up the menu.  See 'GI.Gtk.Objects.ToolItem.toolItemSetTooltipText' for setting a tooltip
+on the whole 'GI.Gtk.Objects.MenuToolButton.MenuToolButton'.
+
+/Since: 2.12/
+-}
+menuToolButtonSetArrowTooltipText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' -}
+    -> T.Text
+    {- ^ /@text@/: text to be used as tooltip text for button’s arrow button -}
+    -> m ()
+menuToolButtonSetArrowTooltipText button text = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    text' <- textToCString text
+    gtk_menu_tool_button_set_arrow_tooltip_text button' text'
+    touchManagedPtr button
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuToolButtonSetArrowTooltipTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsMenuToolButton a) => O.MethodInfo MenuToolButtonSetArrowTooltipTextMethodInfo a signature where
+    overloadedMethod _ = menuToolButtonSetArrowTooltipText
+
+#endif
+
+-- method MenuToolButton::set_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "MenuToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMenuToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkMenu associated with #GtkMenuToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_menu_tool_button_set_menu" gtk_menu_tool_button_set_menu :: 
+    Ptr MenuToolButton ->                   -- button : TInterface (Name {namespace = "Gtk", name = "MenuToolButton"})
+    Ptr Gtk.Widget.Widget ->                -- menu : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Menu.Menu' that is popped up when the user clicks on the arrow.
+If /@menu@/ is NULL, the arrow button becomes insensitive.
+
+/Since: 2.6/
+-}
+menuToolButtonSetMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMenuToolButton a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' -}
+    -> b
+    {- ^ /@menu@/: the 'GI.Gtk.Objects.Menu.Menu' associated with 'GI.Gtk.Objects.MenuToolButton.MenuToolButton' -}
+    -> m ()
+menuToolButtonSetMenu button menu = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    menu' <- unsafeManagedPtrCastPtr menu
+    gtk_menu_tool_button_set_menu button' menu'
+    touchManagedPtr button
+    touchManagedPtr menu
+    return ()
+
+#if ENABLE_OVERLOADING
+data MenuToolButtonSetMenuMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsMenuToolButton a, Gtk.Widget.IsWidget b) => O.MethodInfo MenuToolButtonSetMenuMethodInfo a signature where
+    overloadedMethod _ = menuToolButtonSetMenu
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MenuToolButton.hs-boot b/GI/Gtk/Objects/MenuToolButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MenuToolButton.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MenuToolButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MenuToolButton = MenuToolButton (ManagedPtr MenuToolButton)
+instance GObject MenuToolButton where
+class (GObject o, O.IsDescendantOf MenuToolButton o) => IsMenuToolButton o
+instance (GObject o, O.IsDescendantOf MenuToolButton o) => IsMenuToolButton o
+instance O.HasParentTypes MenuToolButton
+#if ENABLE_OVERLOADING
+data MenuToolButtonMenuPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuToolButtonShowMenuSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuToolButtonGetMenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuToolButtonSetArrowTooltipMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuToolButtonSetArrowTooltipTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MenuToolButtonSetMenuMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/MessageDialog.hs b/GI/Gtk/Objects/MessageDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MessageDialog.hs
@@ -0,0 +1,1322 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.MessageDialog.MessageDialog' presents a dialog with some message text. It’s simply a
+convenience widget; you could construct the equivalent of 'GI.Gtk.Objects.MessageDialog.MessageDialog'
+from 'GI.Gtk.Objects.Dialog.Dialog' without too much effort, but 'GI.Gtk.Objects.MessageDialog.MessageDialog' saves typing.
+
+One difference from 'GI.Gtk.Objects.Dialog.Dialog' is that 'GI.Gtk.Objects.MessageDialog.MessageDialog' sets the
+'GI.Gtk.Objects.Window.Window':@/skip-taskbar-hint/@ property to 'True', so that the dialog is hidden
+from the taskbar by default.
+
+The easiest way to do a modal message dialog is to use 'GI.Gtk.Objects.Dialog.dialogRun', though
+you can also pass in the 'GI.Gtk.Flags.DialogFlagsModal' flag, 'GI.Gtk.Objects.Dialog.dialogRun' automatically
+makes the dialog modal and waits for the user to respond to it. 'GI.Gtk.Objects.Dialog.dialogRun'
+returns when any dialog button is clicked.
+
+An example for using a modal dialog:
+
+=== /C code/
+>
+> GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
+> dialog = gtk_message_dialog_new (parent_window,
+>                                  flags,
+>                                  GTK_MESSAGE_ERROR,
+>                                  GTK_BUTTONS_CLOSE,
+>                                  "Error reading “%s”: %s",
+>                                  filename,
+>                                  g_strerror (errno));
+> gtk_dialog_run (GTK_DIALOG (dialog));
+> gtk_widget_destroy (dialog);
+
+
+You might do a non-modal 'GI.Gtk.Objects.MessageDialog.MessageDialog' as follows:
+
+An example for a non-modal dialog:
+
+=== /C code/
+>
+> GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
+> dialog = gtk_message_dialog_new (parent_window,
+>                                  flags,
+>                                  GTK_MESSAGE_ERROR,
+>                                  GTK_BUTTONS_CLOSE,
+>                                  "Error reading “%s”: %s",
+>                                  filename,
+>                                  g_strerror (errno));
+>
+> // Destroy the dialog when the user responds to it
+> // (e.g. clicks a button)
+>
+> g_signal_connect_swapped (dialog, "response",
+>                           G_CALLBACK (gtk_widget_destroy),
+>                           dialog);
+
+
+= GtkMessageDialog as GtkBuildable
+
+The GtkMessageDialog implementation of the GtkBuildable interface exposes
+the message area as an internal child with the name “message_area”.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MessageDialog
+    ( 
+
+-- * Exported types
+    MessageDialog(..)                       ,
+    IsMessageDialog                         ,
+    toMessageDialog                         ,
+    noMessageDialog                         ,
+
+
+ -- * Methods
+-- ** getImage #method:getImage#
+
+#if ENABLE_OVERLOADING
+    MessageDialogGetImageMethodInfo         ,
+#endif
+    messageDialogGetImage                   ,
+
+
+-- ** getMessageArea #method:getMessageArea#
+
+#if ENABLE_OVERLOADING
+    MessageDialogGetMessageAreaMethodInfo   ,
+#endif
+    messageDialogGetMessageArea             ,
+
+
+-- ** setImage #method:setImage#
+
+#if ENABLE_OVERLOADING
+    MessageDialogSetImageMethodInfo         ,
+#endif
+    messageDialogSetImage                   ,
+
+
+-- ** setMarkup #method:setMarkup#
+
+#if ENABLE_OVERLOADING
+    MessageDialogSetMarkupMethodInfo        ,
+#endif
+    messageDialogSetMarkup                  ,
+
+
+
+
+ -- * Properties
+-- ** buttons #attr:buttons#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    MessageDialogButtonsPropertyInfo        ,
+#endif
+    constructMessageDialogButtons           ,
+#if ENABLE_OVERLOADING
+    messageDialogButtons                    ,
+#endif
+
+
+-- ** image #attr:image#
+{- | The image for this dialog.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    MessageDialogImagePropertyInfo          ,
+#endif
+    constructMessageDialogImage             ,
+    getMessageDialogImage                   ,
+#if ENABLE_OVERLOADING
+    messageDialogImage                      ,
+#endif
+    setMessageDialogImage                   ,
+
+
+-- ** messageArea #attr:messageArea#
+{- | The 'GI.Gtk.Objects.Box.Box' that corresponds to the message area of this dialog.  See
+'GI.Gtk.Objects.MessageDialog.messageDialogGetMessageArea' for a detailed description of this
+area.
+
+/Since: 2.22/
+-}
+#if ENABLE_OVERLOADING
+    MessageDialogMessageAreaPropertyInfo    ,
+#endif
+    getMessageDialogMessageArea             ,
+#if ENABLE_OVERLOADING
+    messageDialogMessageArea                ,
+#endif
+
+
+-- ** messageType #attr:messageType#
+{- | The type of the message.
+-}
+#if ENABLE_OVERLOADING
+    MessageDialogMessageTypePropertyInfo    ,
+#endif
+    constructMessageDialogMessageType       ,
+    getMessageDialogMessageType             ,
+#if ENABLE_OVERLOADING
+    messageDialogMessageType                ,
+#endif
+    setMessageDialogMessageType             ,
+
+
+-- ** secondaryText #attr:secondaryText#
+{- | The secondary text of the message dialog.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    MessageDialogSecondaryTextPropertyInfo  ,
+#endif
+    clearMessageDialogSecondaryText         ,
+    constructMessageDialogSecondaryText     ,
+    getMessageDialogSecondaryText           ,
+#if ENABLE_OVERLOADING
+    messageDialogSecondaryText              ,
+#endif
+    setMessageDialogSecondaryText           ,
+
+
+-- ** secondaryUseMarkup #attr:secondaryUseMarkup#
+{- | 'True' if the secondary text of the dialog includes Pango markup.
+See 'GI.Pango.Functions.parseMarkup'.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    MessageDialogSecondaryUseMarkupPropertyInfo,
+#endif
+    constructMessageDialogSecondaryUseMarkup,
+    getMessageDialogSecondaryUseMarkup      ,
+#if ENABLE_OVERLOADING
+    messageDialogSecondaryUseMarkup         ,
+#endif
+    setMessageDialogSecondaryUseMarkup      ,
+
+
+-- ** text #attr:text#
+{- | The primary text of the message dialog. If the dialog has
+a secondary text, this will appear as the title.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    MessageDialogTextPropertyInfo           ,
+#endif
+    clearMessageDialogText                  ,
+    constructMessageDialogText              ,
+    getMessageDialogText                    ,
+#if ENABLE_OVERLOADING
+    messageDialogText                       ,
+#endif
+    setMessageDialogText                    ,
+
+
+-- ** useMarkup #attr:useMarkup#
+{- | 'True' if the primary text of the dialog includes Pango markup.
+See 'GI.Pango.Functions.parseMarkup'.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    MessageDialogUseMarkupPropertyInfo      ,
+#endif
+    constructMessageDialogUseMarkup         ,
+    getMessageDialogUseMarkup               ,
+#if ENABLE_OVERLOADING
+    messageDialogUseMarkup                  ,
+#endif
+    setMessageDialogUseMarkup               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype MessageDialog = MessageDialog (ManagedPtr MessageDialog)
+foreign import ccall "gtk_message_dialog_get_type"
+    c_gtk_message_dialog_get_type :: IO GType
+
+instance GObject MessageDialog where
+    gobjectType = c_gtk_message_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `MessageDialog`, for instance with `toMessageDialog`.
+class (GObject o, O.IsDescendantOf MessageDialog o) => IsMessageDialog o
+instance (GObject o, O.IsDescendantOf MessageDialog o) => IsMessageDialog o
+
+instance O.HasParentTypes MessageDialog
+type instance O.ParentTypes MessageDialog = '[Gtk.Dialog.Dialog, Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `MessageDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMessageDialog :: (MonadIO m, IsMessageDialog o) => o -> m MessageDialog
+toMessageDialog = liftIO . unsafeCastTo MessageDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MessageDialog`.
+noMessageDialog :: Maybe MessageDialog
+noMessageDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMessageDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMessageDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveMessageDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveMessageDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveMessageDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveMessageDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveMessageDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveMessageDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveMessageDialogMethod "addActionWidget" o = Gtk.Dialog.DialogAddActionWidgetMethodInfo
+    ResolveMessageDialogMethod "addButton" o = Gtk.Dialog.DialogAddButtonMethodInfo
+    ResolveMessageDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveMessageDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveMessageDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveMessageDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveMessageDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveMessageDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveMessageDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveMessageDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveMessageDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMessageDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMessageDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveMessageDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveMessageDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveMessageDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveMessageDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveMessageDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveMessageDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveMessageDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveMessageDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveMessageDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveMessageDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveMessageDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveMessageDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveMessageDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveMessageDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveMessageDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveMessageDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveMessageDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveMessageDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveMessageDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveMessageDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveMessageDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveMessageDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveMessageDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveMessageDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveMessageDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveMessageDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveMessageDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveMessageDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveMessageDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveMessageDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveMessageDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveMessageDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveMessageDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveMessageDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveMessageDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveMessageDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveMessageDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveMessageDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveMessageDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveMessageDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveMessageDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveMessageDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveMessageDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveMessageDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveMessageDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveMessageDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveMessageDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveMessageDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveMessageDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveMessageDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveMessageDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveMessageDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveMessageDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveMessageDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMessageDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveMessageDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveMessageDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMessageDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveMessageDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveMessageDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMessageDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveMessageDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveMessageDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveMessageDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveMessageDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveMessageDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveMessageDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveMessageDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveMessageDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveMessageDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveMessageDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveMessageDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveMessageDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveMessageDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveMessageDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveMessageDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveMessageDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveMessageDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveMessageDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveMessageDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveMessageDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveMessageDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveMessageDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveMessageDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveMessageDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMessageDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveMessageDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveMessageDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveMessageDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveMessageDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveMessageDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveMessageDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveMessageDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveMessageDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveMessageDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveMessageDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveMessageDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveMessageDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveMessageDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveMessageDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveMessageDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveMessageDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveMessageDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveMessageDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveMessageDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveMessageDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMessageDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMessageDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveMessageDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveMessageDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveMessageDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveMessageDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveMessageDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveMessageDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveMessageDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveMessageDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveMessageDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveMessageDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveMessageDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveMessageDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveMessageDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveMessageDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveMessageDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveMessageDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveMessageDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveMessageDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveMessageDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveMessageDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMessageDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMessageDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveMessageDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveMessageDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveMessageDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveMessageDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveMessageDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveMessageDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveMessageDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveMessageDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveMessageDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveMessageDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveMessageDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveMessageDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveMessageDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveMessageDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveMessageDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveMessageDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveMessageDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveMessageDialogMethod "response" o = Gtk.Dialog.DialogResponseMethodInfo
+    ResolveMessageDialogMethod "run" o = Gtk.Dialog.DialogRunMethodInfo
+    ResolveMessageDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMessageDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveMessageDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveMessageDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveMessageDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveMessageDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveMessageDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveMessageDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveMessageDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveMessageDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveMessageDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMessageDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMessageDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveMessageDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveMessageDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveMessageDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveMessageDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMessageDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveMessageDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveMessageDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveMessageDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveMessageDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveMessageDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveMessageDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveMessageDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMessageDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveMessageDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveMessageDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveMessageDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveMessageDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMessageDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveMessageDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveMessageDialogMethod "getActionArea" o = Gtk.Dialog.DialogGetActionAreaMethodInfo
+    ResolveMessageDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveMessageDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveMessageDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveMessageDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveMessageDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveMessageDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveMessageDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveMessageDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveMessageDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveMessageDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveMessageDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveMessageDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveMessageDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveMessageDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveMessageDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveMessageDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveMessageDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveMessageDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveMessageDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveMessageDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveMessageDialogMethod "getContentArea" o = Gtk.Dialog.DialogGetContentAreaMethodInfo
+    ResolveMessageDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMessageDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveMessageDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveMessageDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveMessageDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveMessageDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveMessageDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveMessageDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveMessageDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveMessageDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveMessageDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveMessageDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveMessageDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveMessageDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveMessageDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveMessageDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveMessageDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveMessageDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveMessageDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveMessageDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveMessageDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveMessageDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveMessageDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveMessageDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveMessageDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveMessageDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveMessageDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveMessageDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveMessageDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveMessageDialogMethod "getHeaderBar" o = Gtk.Dialog.DialogGetHeaderBarMethodInfo
+    ResolveMessageDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveMessageDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveMessageDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveMessageDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveMessageDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveMessageDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveMessageDialogMethod "getImage" o = MessageDialogGetImageMethodInfo
+    ResolveMessageDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveMessageDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveMessageDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveMessageDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveMessageDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveMessageDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveMessageDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveMessageDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveMessageDialogMethod "getMessageArea" o = MessageDialogGetMessageAreaMethodInfo
+    ResolveMessageDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveMessageDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveMessageDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveMessageDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveMessageDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveMessageDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveMessageDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveMessageDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveMessageDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveMessageDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveMessageDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveMessageDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveMessageDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveMessageDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveMessageDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveMessageDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveMessageDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveMessageDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveMessageDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveMessageDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveMessageDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveMessageDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMessageDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMessageDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveMessageDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveMessageDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveMessageDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveMessageDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveMessageDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveMessageDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveMessageDialogMethod "getResponseForWidget" o = Gtk.Dialog.DialogGetResponseForWidgetMethodInfo
+    ResolveMessageDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveMessageDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveMessageDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveMessageDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveMessageDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveMessageDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveMessageDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveMessageDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveMessageDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveMessageDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveMessageDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveMessageDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveMessageDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveMessageDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveMessageDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveMessageDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveMessageDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveMessageDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveMessageDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveMessageDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveMessageDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveMessageDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveMessageDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveMessageDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveMessageDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveMessageDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveMessageDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveMessageDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveMessageDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveMessageDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveMessageDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveMessageDialogMethod "getWidgetForResponse" o = Gtk.Dialog.DialogGetWidgetForResponseMethodInfo
+    ResolveMessageDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveMessageDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveMessageDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveMessageDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveMessageDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveMessageDialogMethod "setAlternativeButtonOrderFromArray" o = Gtk.Dialog.DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveMessageDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveMessageDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveMessageDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveMessageDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveMessageDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveMessageDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveMessageDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveMessageDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveMessageDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveMessageDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveMessageDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMessageDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveMessageDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveMessageDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveMessageDialogMethod "setDefaultResponse" o = Gtk.Dialog.DialogSetDefaultResponseMethodInfo
+    ResolveMessageDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveMessageDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveMessageDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveMessageDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveMessageDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveMessageDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveMessageDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveMessageDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveMessageDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveMessageDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveMessageDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveMessageDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveMessageDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveMessageDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveMessageDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveMessageDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveMessageDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveMessageDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveMessageDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveMessageDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveMessageDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveMessageDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveMessageDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveMessageDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveMessageDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveMessageDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveMessageDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveMessageDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveMessageDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveMessageDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveMessageDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveMessageDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveMessageDialogMethod "setImage" o = MessageDialogSetImageMethodInfo
+    ResolveMessageDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveMessageDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveMessageDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveMessageDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveMessageDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveMessageDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveMessageDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveMessageDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveMessageDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveMessageDialogMethod "setMarkup" o = MessageDialogSetMarkupMethodInfo
+    ResolveMessageDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveMessageDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveMessageDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveMessageDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveMessageDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveMessageDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveMessageDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveMessageDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveMessageDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveMessageDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMessageDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveMessageDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveMessageDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveMessageDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveMessageDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveMessageDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveMessageDialogMethod "setResponseSensitive" o = Gtk.Dialog.DialogSetResponseSensitiveMethodInfo
+    ResolveMessageDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveMessageDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveMessageDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveMessageDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveMessageDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveMessageDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveMessageDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveMessageDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveMessageDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveMessageDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveMessageDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveMessageDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveMessageDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveMessageDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveMessageDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveMessageDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveMessageDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveMessageDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveMessageDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveMessageDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveMessageDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveMessageDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveMessageDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveMessageDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveMessageDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveMessageDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveMessageDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMessageDialogMethod t MessageDialog, O.MethodInfo info MessageDialog p) => OL.IsLabel t (MessageDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "buttons"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ButtonsType"})
+   -- Flags: [PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@buttons@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMessageDialogButtons :: (IsMessageDialog o) => Gtk.Enums.ButtonsType -> IO (GValueConstruct o)
+constructMessageDialogButtons val = B.Properties.constructObjectPropertyEnum "buttons" val
+
+#if ENABLE_OVERLOADING
+data MessageDialogButtonsPropertyInfo
+instance AttrInfo MessageDialogButtonsPropertyInfo where
+    type AttrAllowedOps MessageDialogButtonsPropertyInfo = '[ 'AttrConstruct]
+    type AttrSetTypeConstraint MessageDialogButtonsPropertyInfo = (~) Gtk.Enums.ButtonsType
+    type AttrBaseTypeConstraint MessageDialogButtonsPropertyInfo = IsMessageDialog
+    type AttrGetType MessageDialogButtonsPropertyInfo = ()
+    type AttrLabel MessageDialogButtonsPropertyInfo = "buttons"
+    type AttrOrigin MessageDialogButtonsPropertyInfo = MessageDialog
+    attrGet _ = undefined
+    attrSet _ = undefined
+    attrConstruct _ = constructMessageDialogButtons
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "image"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' messageDialog #image
+@
+-}
+getMessageDialogImage :: (MonadIO m, IsMessageDialog o) => o -> m Gtk.Widget.Widget
+getMessageDialogImage obj = liftIO $ checkUnexpectedNothing "getMessageDialogImage" $ B.Properties.getObjectPropertyObject obj "image" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@image@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' messageDialog [ #image 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMessageDialogImage :: (MonadIO m, IsMessageDialog o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setMessageDialogImage obj val = liftIO $ B.Properties.setObjectPropertyObject obj "image" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@image@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMessageDialogImage :: (IsMessageDialog o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructMessageDialogImage val = B.Properties.constructObjectPropertyObject "image" (Just val)
+
+#if ENABLE_OVERLOADING
+data MessageDialogImagePropertyInfo
+instance AttrInfo MessageDialogImagePropertyInfo where
+    type AttrAllowedOps MessageDialogImagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MessageDialogImagePropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint MessageDialogImagePropertyInfo = IsMessageDialog
+    type AttrGetType MessageDialogImagePropertyInfo = Gtk.Widget.Widget
+    type AttrLabel MessageDialogImagePropertyInfo = "image"
+    type AttrOrigin MessageDialogImagePropertyInfo = MessageDialog
+    attrGet _ = getMessageDialogImage
+    attrSet _ = setMessageDialogImage
+    attrConstruct _ = constructMessageDialogImage
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "message-area"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@message-area@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' messageDialog #messageArea
+@
+-}
+getMessageDialogMessageArea :: (MonadIO m, IsMessageDialog o) => o -> m Gtk.Widget.Widget
+getMessageDialogMessageArea obj = liftIO $ checkUnexpectedNothing "getMessageDialogMessageArea" $ B.Properties.getObjectPropertyObject obj "message-area" Gtk.Widget.Widget
+
+#if ENABLE_OVERLOADING
+data MessageDialogMessageAreaPropertyInfo
+instance AttrInfo MessageDialogMessageAreaPropertyInfo where
+    type AttrAllowedOps MessageDialogMessageAreaPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MessageDialogMessageAreaPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint MessageDialogMessageAreaPropertyInfo = IsMessageDialog
+    type AttrGetType MessageDialogMessageAreaPropertyInfo = Gtk.Widget.Widget
+    type AttrLabel MessageDialogMessageAreaPropertyInfo = "message-area"
+    type AttrOrigin MessageDialogMessageAreaPropertyInfo = MessageDialog
+    attrGet _ = getMessageDialogMessageArea
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "message-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "MessageType"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@message-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' messageDialog #messageType
+@
+-}
+getMessageDialogMessageType :: (MonadIO m, IsMessageDialog o) => o -> m Gtk.Enums.MessageType
+getMessageDialogMessageType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "message-type"
+
+{- |
+Set the value of the “@message-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' messageDialog [ #messageType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMessageDialogMessageType :: (MonadIO m, IsMessageDialog o) => o -> Gtk.Enums.MessageType -> m ()
+setMessageDialogMessageType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "message-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@message-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMessageDialogMessageType :: (IsMessageDialog o) => Gtk.Enums.MessageType -> IO (GValueConstruct o)
+constructMessageDialogMessageType val = B.Properties.constructObjectPropertyEnum "message-type" val
+
+#if ENABLE_OVERLOADING
+data MessageDialogMessageTypePropertyInfo
+instance AttrInfo MessageDialogMessageTypePropertyInfo where
+    type AttrAllowedOps MessageDialogMessageTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MessageDialogMessageTypePropertyInfo = (~) Gtk.Enums.MessageType
+    type AttrBaseTypeConstraint MessageDialogMessageTypePropertyInfo = IsMessageDialog
+    type AttrGetType MessageDialogMessageTypePropertyInfo = Gtk.Enums.MessageType
+    type AttrLabel MessageDialogMessageTypePropertyInfo = "message-type"
+    type AttrOrigin MessageDialogMessageTypePropertyInfo = MessageDialog
+    attrGet _ = getMessageDialogMessageType
+    attrSet _ = setMessageDialogMessageType
+    attrConstruct _ = constructMessageDialogMessageType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "secondary-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' messageDialog #secondaryText
+@
+-}
+getMessageDialogSecondaryText :: (MonadIO m, IsMessageDialog o) => o -> m (Maybe T.Text)
+getMessageDialogSecondaryText obj = liftIO $ B.Properties.getObjectPropertyString obj "secondary-text"
+
+{- |
+Set the value of the “@secondary-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' messageDialog [ #secondaryText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMessageDialogSecondaryText :: (MonadIO m, IsMessageDialog o) => o -> T.Text -> m ()
+setMessageDialogSecondaryText obj val = liftIO $ B.Properties.setObjectPropertyString obj "secondary-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMessageDialogSecondaryText :: (IsMessageDialog o) => T.Text -> IO (GValueConstruct o)
+constructMessageDialogSecondaryText val = B.Properties.constructObjectPropertyString "secondary-text" (Just val)
+
+{- |
+Set the value of the “@secondary-text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #secondaryText
+@
+-}
+clearMessageDialogSecondaryText :: (MonadIO m, IsMessageDialog o) => o -> m ()
+clearMessageDialogSecondaryText obj = liftIO $ B.Properties.setObjectPropertyString obj "secondary-text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data MessageDialogSecondaryTextPropertyInfo
+instance AttrInfo MessageDialogSecondaryTextPropertyInfo where
+    type AttrAllowedOps MessageDialogSecondaryTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MessageDialogSecondaryTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint MessageDialogSecondaryTextPropertyInfo = IsMessageDialog
+    type AttrGetType MessageDialogSecondaryTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel MessageDialogSecondaryTextPropertyInfo = "secondary-text"
+    type AttrOrigin MessageDialogSecondaryTextPropertyInfo = MessageDialog
+    attrGet _ = getMessageDialogSecondaryText
+    attrSet _ = setMessageDialogSecondaryText
+    attrConstruct _ = constructMessageDialogSecondaryText
+    attrClear _ = clearMessageDialogSecondaryText
+#endif
+
+-- VVV Prop "secondary-use-markup"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@secondary-use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' messageDialog #secondaryUseMarkup
+@
+-}
+getMessageDialogSecondaryUseMarkup :: (MonadIO m, IsMessageDialog o) => o -> m Bool
+getMessageDialogSecondaryUseMarkup obj = liftIO $ B.Properties.getObjectPropertyBool obj "secondary-use-markup"
+
+{- |
+Set the value of the “@secondary-use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' messageDialog [ #secondaryUseMarkup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMessageDialogSecondaryUseMarkup :: (MonadIO m, IsMessageDialog o) => o -> Bool -> m ()
+setMessageDialogSecondaryUseMarkup obj val = liftIO $ B.Properties.setObjectPropertyBool obj "secondary-use-markup" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@secondary-use-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMessageDialogSecondaryUseMarkup :: (IsMessageDialog o) => Bool -> IO (GValueConstruct o)
+constructMessageDialogSecondaryUseMarkup val = B.Properties.constructObjectPropertyBool "secondary-use-markup" val
+
+#if ENABLE_OVERLOADING
+data MessageDialogSecondaryUseMarkupPropertyInfo
+instance AttrInfo MessageDialogSecondaryUseMarkupPropertyInfo where
+    type AttrAllowedOps MessageDialogSecondaryUseMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MessageDialogSecondaryUseMarkupPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint MessageDialogSecondaryUseMarkupPropertyInfo = IsMessageDialog
+    type AttrGetType MessageDialogSecondaryUseMarkupPropertyInfo = Bool
+    type AttrLabel MessageDialogSecondaryUseMarkupPropertyInfo = "secondary-use-markup"
+    type AttrOrigin MessageDialogSecondaryUseMarkupPropertyInfo = MessageDialog
+    attrGet _ = getMessageDialogSecondaryUseMarkup
+    attrSet _ = setMessageDialogSecondaryUseMarkup
+    attrConstruct _ = constructMessageDialogSecondaryUseMarkup
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' messageDialog #text
+@
+-}
+getMessageDialogText :: (MonadIO m, IsMessageDialog o) => o -> m (Maybe T.Text)
+getMessageDialogText obj = liftIO $ B.Properties.getObjectPropertyString obj "text"
+
+{- |
+Set the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' messageDialog [ #text 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMessageDialogText :: (MonadIO m, IsMessageDialog o) => o -> T.Text -> m ()
+setMessageDialogText obj val = liftIO $ B.Properties.setObjectPropertyString obj "text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMessageDialogText :: (IsMessageDialog o) => T.Text -> IO (GValueConstruct o)
+constructMessageDialogText val = B.Properties.constructObjectPropertyString "text" (Just val)
+
+{- |
+Set the value of the “@text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #text
+@
+-}
+clearMessageDialogText :: (MonadIO m, IsMessageDialog o) => o -> m ()
+clearMessageDialogText obj = liftIO $ B.Properties.setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data MessageDialogTextPropertyInfo
+instance AttrInfo MessageDialogTextPropertyInfo where
+    type AttrAllowedOps MessageDialogTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MessageDialogTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint MessageDialogTextPropertyInfo = IsMessageDialog
+    type AttrGetType MessageDialogTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel MessageDialogTextPropertyInfo = "text"
+    type AttrOrigin MessageDialogTextPropertyInfo = MessageDialog
+    attrGet _ = getMessageDialogText
+    attrSet _ = setMessageDialogText
+    attrConstruct _ = constructMessageDialogText
+    attrClear _ = clearMessageDialogText
+#endif
+
+-- VVV Prop "use-markup"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' messageDialog #useMarkup
+@
+-}
+getMessageDialogUseMarkup :: (MonadIO m, IsMessageDialog o) => o -> m Bool
+getMessageDialogUseMarkup obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-markup"
+
+{- |
+Set the value of the “@use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' messageDialog [ #useMarkup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMessageDialogUseMarkup :: (MonadIO m, IsMessageDialog o) => o -> Bool -> m ()
+setMessageDialogUseMarkup obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-markup" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMessageDialogUseMarkup :: (IsMessageDialog o) => Bool -> IO (GValueConstruct o)
+constructMessageDialogUseMarkup val = B.Properties.constructObjectPropertyBool "use-markup" val
+
+#if ENABLE_OVERLOADING
+data MessageDialogUseMarkupPropertyInfo
+instance AttrInfo MessageDialogUseMarkupPropertyInfo where
+    type AttrAllowedOps MessageDialogUseMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MessageDialogUseMarkupPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint MessageDialogUseMarkupPropertyInfo = IsMessageDialog
+    type AttrGetType MessageDialogUseMarkupPropertyInfo = Bool
+    type AttrLabel MessageDialogUseMarkupPropertyInfo = "use-markup"
+    type AttrOrigin MessageDialogUseMarkupPropertyInfo = MessageDialog
+    attrGet _ = getMessageDialogUseMarkup
+    attrSet _ = setMessageDialogUseMarkup
+    attrConstruct _ = constructMessageDialogUseMarkup
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MessageDialog
+type instance O.AttributeList MessageDialog = MessageDialogAttributeList
+type MessageDialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("buttons", MessageDialogButtonsPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("image", MessageDialogImagePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("messageArea", MessageDialogMessageAreaPropertyInfo), '("messageType", MessageDialogMessageTypePropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("secondaryText", MessageDialogSecondaryTextPropertyInfo), '("secondaryUseMarkup", MessageDialogSecondaryUseMarkupPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("text", MessageDialogTextPropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", Gtk.Dialog.DialogUseHeaderBarPropertyInfo), '("useMarkup", MessageDialogUseMarkupPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+messageDialogButtons :: AttrLabelProxy "buttons"
+messageDialogButtons = AttrLabelProxy
+
+messageDialogImage :: AttrLabelProxy "image"
+messageDialogImage = AttrLabelProxy
+
+messageDialogMessageArea :: AttrLabelProxy "messageArea"
+messageDialogMessageArea = AttrLabelProxy
+
+messageDialogMessageType :: AttrLabelProxy "messageType"
+messageDialogMessageType = AttrLabelProxy
+
+messageDialogSecondaryText :: AttrLabelProxy "secondaryText"
+messageDialogSecondaryText = AttrLabelProxy
+
+messageDialogSecondaryUseMarkup :: AttrLabelProxy "secondaryUseMarkup"
+messageDialogSecondaryUseMarkup = AttrLabelProxy
+
+messageDialogText :: AttrLabelProxy "text"
+messageDialogText = AttrLabelProxy
+
+messageDialogUseMarkup :: AttrLabelProxy "useMarkup"
+messageDialogUseMarkup = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList MessageDialog = MessageDialogSignalList
+type MessageDialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", Gtk.Dialog.DialogCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", Gtk.Dialog.DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method MessageDialog::get_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "MessageDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMessageDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_message_dialog_get_image" gtk_message_dialog_get_image :: 
+    Ptr MessageDialog ->                    -- dialog : TInterface (Name {namespace = "Gtk", name = "MessageDialog"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED messageDialogGetImage ["(Since version 3.12)","Use 'GI.Gtk.Objects.Dialog.Dialog' for dialogs with images"] #-}
+{- |
+Gets the dialog’s image.
+
+/Since: 2.14/
+-}
+messageDialogGetImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMessageDialog a) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.MessageDialog.MessageDialog' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the dialog’s image -}
+messageDialogGetImage dialog = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    result <- gtk_message_dialog_get_image dialog'
+    checkUnexpectedReturnNULL "messageDialogGetImage" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr dialog
+    return result'
+
+#if ENABLE_OVERLOADING
+data MessageDialogGetImageMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsMessageDialog a) => O.MethodInfo MessageDialogGetImageMethodInfo a signature where
+    overloadedMethod _ = messageDialogGetImage
+
+#endif
+
+-- method MessageDialog::get_message_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "message_dialog", argType = TInterface (Name {namespace = "Gtk", name = "MessageDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMessageDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_message_dialog_get_message_area" gtk_message_dialog_get_message_area :: 
+    Ptr MessageDialog ->                    -- message_dialog : TInterface (Name {namespace = "Gtk", name = "MessageDialog"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the message area of the dialog. This is the box where the
+dialog’s primary and secondary labels are packed. You can add your
+own extra content to that box and it will appear below those labels.
+See 'GI.Gtk.Objects.Dialog.dialogGetContentArea' for the corresponding
+function in the parent 'GI.Gtk.Objects.Dialog.Dialog'.
+
+/Since: 2.22/
+-}
+messageDialogGetMessageArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMessageDialog a) =>
+    a
+    {- ^ /@messageDialog@/: a 'GI.Gtk.Objects.MessageDialog.MessageDialog' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.Box.Box' corresponding to the
+    “message area” in the /@messageDialog@/. -}
+messageDialogGetMessageArea messageDialog = liftIO $ do
+    messageDialog' <- unsafeManagedPtrCastPtr messageDialog
+    result <- gtk_message_dialog_get_message_area messageDialog'
+    checkUnexpectedReturnNULL "messageDialogGetMessageArea" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr messageDialog
+    return result'
+
+#if ENABLE_OVERLOADING
+data MessageDialogGetMessageAreaMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsMessageDialog a) => O.MethodInfo MessageDialogGetMessageAreaMethodInfo a signature where
+    overloadedMethod _ = messageDialogGetMessageArea
+
+#endif
+
+-- method MessageDialog::set_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "dialog", argType = TInterface (Name {namespace = "Gtk", name = "MessageDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMessageDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "image", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the image", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_message_dialog_set_image" gtk_message_dialog_set_image :: 
+    Ptr MessageDialog ->                    -- dialog : TInterface (Name {namespace = "Gtk", name = "MessageDialog"})
+    Ptr Gtk.Widget.Widget ->                -- image : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{-# DEPRECATED messageDialogSetImage ["(Since version 3.12)","Use 'GI.Gtk.Objects.Dialog.Dialog' to create dialogs with images"] #-}
+{- |
+Sets the dialog’s image to /@image@/.
+
+/Since: 2.10/
+-}
+messageDialogSetImage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMessageDialog a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@dialog@/: a 'GI.Gtk.Objects.MessageDialog.MessageDialog' -}
+    -> b
+    {- ^ /@image@/: the image -}
+    -> m ()
+messageDialogSetImage dialog image = liftIO $ do
+    dialog' <- unsafeManagedPtrCastPtr dialog
+    image' <- unsafeManagedPtrCastPtr image
+    gtk_message_dialog_set_image dialog' image'
+    touchManagedPtr dialog
+    touchManagedPtr image
+    return ()
+
+#if ENABLE_OVERLOADING
+data MessageDialogSetImageMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsMessageDialog a, Gtk.Widget.IsWidget b) => O.MethodInfo MessageDialogSetImageMethodInfo a signature where
+    overloadedMethod _ = messageDialogSetImage
+
+#endif
+
+-- method MessageDialog::set_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "message_dialog", argType = TInterface (Name {namespace = "Gtk", name = "MessageDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMessageDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "markup string (see [Pango markup format][PangoMarkupFormat])", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_message_dialog_set_markup" gtk_message_dialog_set_markup :: 
+    Ptr MessageDialog ->                    -- message_dialog : TInterface (Name {namespace = "Gtk", name = "MessageDialog"})
+    CString ->                              -- str : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text of the message dialog to be /@str@/, which is marked
+up with the [Pango text markup language][PangoMarkupFormat].
+
+/Since: 2.4/
+-}
+messageDialogSetMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMessageDialog a) =>
+    a
+    {- ^ /@messageDialog@/: a 'GI.Gtk.Objects.MessageDialog.MessageDialog' -}
+    -> T.Text
+    {- ^ /@str@/: markup string (see [Pango markup format][PangoMarkupFormat]) -}
+    -> m ()
+messageDialogSetMarkup messageDialog str = liftIO $ do
+    messageDialog' <- unsafeManagedPtrCastPtr messageDialog
+    str' <- textToCString str
+    gtk_message_dialog_set_markup messageDialog' str'
+    touchManagedPtr messageDialog
+    freeMem str'
+    return ()
+
+#if ENABLE_OVERLOADING
+data MessageDialogSetMarkupMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsMessageDialog a) => O.MethodInfo MessageDialogSetMarkupMethodInfo a signature where
+    overloadedMethod _ = messageDialogSetMarkup
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MessageDialog.hs-boot b/GI/Gtk/Objects/MessageDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MessageDialog.hs-boot
@@ -0,0 +1,65 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MessageDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MessageDialog = MessageDialog (ManagedPtr MessageDialog)
+instance GObject MessageDialog where
+class (GObject o, O.IsDescendantOf MessageDialog o) => IsMessageDialog o
+instance (GObject o, O.IsDescendantOf MessageDialog o) => IsMessageDialog o
+instance O.HasParentTypes MessageDialog
+#if ENABLE_OVERLOADING
+data MessageDialogButtonsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogImagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogMessageAreaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogMessageTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogSecondaryTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogSecondaryUseMarkupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogUseMarkupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogGetImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogGetMessageAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogSetImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MessageDialogSetMarkupMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Misc.hs b/GI/Gtk/Objects/Misc.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Misc.hs
@@ -0,0 +1,886 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Misc.Misc' widget is an abstract widget which is not useful itself, but
+is used to derive subclasses which have alignment and padding attributes.
+
+The horizontal and vertical padding attributes allows extra space to be
+added around the widget.
+
+The horizontal and vertical alignment attributes enable the widget to be
+positioned within its allocated area. Note that if the widget is added to
+a container in such a way that it expands automatically to fill its
+allocated area, the alignment settings will not alter the widget\'s position.
+
+Note that the desired effect can in most cases be achieved by using the
+'GI.Gtk.Objects.Widget.Widget':@/halign/@, 'GI.Gtk.Objects.Widget.Widget':@/valign/@ and 'GI.Gtk.Objects.Widget.Widget':@/margin/@ properties
+on the child widget, so GtkMisc should not be used in new code. To reflect
+this fact, all 'GI.Gtk.Objects.Misc.Misc' API has been deprecated.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Misc
+    ( 
+
+-- * Exported types
+    Misc(..)                                ,
+    IsMisc                                  ,
+    toMisc                                  ,
+    noMisc                                  ,
+
+
+ -- * Methods
+-- ** getAlignment #method:getAlignment#
+
+#if ENABLE_OVERLOADING
+    MiscGetAlignmentMethodInfo              ,
+#endif
+    miscGetAlignment                        ,
+
+
+-- ** getPadding #method:getPadding#
+
+#if ENABLE_OVERLOADING
+    MiscGetPaddingMethodInfo                ,
+#endif
+    miscGetPadding                          ,
+
+
+-- ** setAlignment #method:setAlignment#
+
+#if ENABLE_OVERLOADING
+    MiscSetAlignmentMethodInfo              ,
+#endif
+    miscSetAlignment                        ,
+
+
+-- ** setPadding #method:setPadding#
+
+#if ENABLE_OVERLOADING
+    MiscSetPaddingMethodInfo                ,
+#endif
+    miscSetPadding                          ,
+
+
+
+
+ -- * Properties
+-- ** xalign #attr:xalign#
+{- | The horizontal alignment. A value of 0.0 means left alignment (or right
+on RTL locales); a value of 1.0 means right alignment (or left on RTL
+locales).
+-}
+#if ENABLE_OVERLOADING
+    MiscXalignPropertyInfo                  ,
+#endif
+    constructMiscXalign                     ,
+    getMiscXalign                           ,
+#if ENABLE_OVERLOADING
+    miscXalign                              ,
+#endif
+    setMiscXalign                           ,
+
+
+-- ** xpad #attr:xpad#
+{- | The amount of space to add on the left and right of the widget, in
+pixels.
+-}
+#if ENABLE_OVERLOADING
+    MiscXpadPropertyInfo                    ,
+#endif
+    constructMiscXpad                       ,
+    getMiscXpad                             ,
+#if ENABLE_OVERLOADING
+    miscXpad                                ,
+#endif
+    setMiscXpad                             ,
+
+
+-- ** yalign #attr:yalign#
+{- | The vertical alignment. A value of 0.0 means top alignment;
+a value of 1.0 means bottom alignment.
+-}
+#if ENABLE_OVERLOADING
+    MiscYalignPropertyInfo                  ,
+#endif
+    constructMiscYalign                     ,
+    getMiscYalign                           ,
+#if ENABLE_OVERLOADING
+    miscYalign                              ,
+#endif
+    setMiscYalign                           ,
+
+
+-- ** ypad #attr:ypad#
+{- | The amount of space to add on the top and bottom of the widget, in
+pixels.
+-}
+#if ENABLE_OVERLOADING
+    MiscYpadPropertyInfo                    ,
+#endif
+    constructMiscYpad                       ,
+    getMiscYpad                             ,
+#if ENABLE_OVERLOADING
+    miscYpad                                ,
+#endif
+    setMiscYpad                             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Misc = Misc (ManagedPtr Misc)
+foreign import ccall "gtk_misc_get_type"
+    c_gtk_misc_get_type :: IO GType
+
+instance GObject Misc where
+    gobjectType = c_gtk_misc_get_type
+    
+
+-- | Type class for types which can be safely cast to `Misc`, for instance with `toMisc`.
+class (GObject o, O.IsDescendantOf Misc o) => IsMisc o
+instance (GObject o, O.IsDescendantOf Misc o) => IsMisc o
+
+instance O.HasParentTypes Misc
+type instance O.ParentTypes Misc = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Misc`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMisc :: (MonadIO m, IsMisc o) => o -> m Misc
+toMisc = liftIO . unsafeCastTo Misc
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Misc`.
+noMisc :: Maybe Misc
+noMisc = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMiscMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMiscMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveMiscMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveMiscMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveMiscMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveMiscMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveMiscMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveMiscMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveMiscMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMiscMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMiscMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveMiscMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveMiscMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveMiscMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveMiscMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveMiscMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveMiscMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveMiscMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveMiscMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveMiscMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveMiscMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveMiscMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveMiscMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveMiscMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveMiscMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveMiscMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveMiscMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveMiscMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveMiscMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveMiscMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveMiscMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveMiscMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveMiscMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveMiscMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveMiscMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveMiscMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveMiscMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveMiscMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveMiscMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveMiscMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveMiscMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveMiscMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveMiscMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveMiscMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveMiscMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveMiscMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveMiscMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveMiscMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveMiscMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveMiscMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveMiscMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveMiscMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveMiscMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveMiscMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveMiscMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveMiscMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveMiscMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMiscMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveMiscMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMiscMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMiscMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveMiscMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveMiscMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveMiscMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveMiscMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveMiscMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveMiscMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveMiscMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveMiscMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveMiscMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveMiscMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveMiscMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveMiscMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveMiscMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveMiscMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveMiscMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveMiscMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveMiscMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveMiscMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveMiscMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveMiscMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMiscMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveMiscMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveMiscMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveMiscMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveMiscMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveMiscMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveMiscMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveMiscMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveMiscMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveMiscMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveMiscMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveMiscMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveMiscMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveMiscMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveMiscMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveMiscMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveMiscMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveMiscMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMiscMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMiscMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveMiscMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveMiscMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveMiscMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveMiscMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveMiscMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveMiscMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveMiscMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveMiscMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveMiscMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveMiscMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveMiscMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveMiscMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveMiscMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveMiscMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveMiscMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMiscMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMiscMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveMiscMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveMiscMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveMiscMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveMiscMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveMiscMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveMiscMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveMiscMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveMiscMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveMiscMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveMiscMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMiscMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveMiscMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveMiscMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveMiscMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveMiscMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveMiscMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveMiscMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveMiscMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveMiscMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveMiscMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMiscMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMiscMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveMiscMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveMiscMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveMiscMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMiscMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveMiscMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveMiscMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveMiscMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveMiscMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveMiscMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMiscMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveMiscMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveMiscMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMiscMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveMiscMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveMiscMethod "getAlignment" o = MiscGetAlignmentMethodInfo
+    ResolveMiscMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveMiscMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveMiscMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveMiscMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveMiscMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveMiscMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveMiscMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveMiscMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveMiscMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveMiscMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveMiscMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveMiscMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveMiscMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveMiscMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveMiscMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMiscMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveMiscMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveMiscMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveMiscMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveMiscMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveMiscMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveMiscMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveMiscMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveMiscMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveMiscMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveMiscMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveMiscMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveMiscMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveMiscMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveMiscMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveMiscMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveMiscMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveMiscMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveMiscMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveMiscMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveMiscMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveMiscMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveMiscMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveMiscMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveMiscMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveMiscMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveMiscMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveMiscMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveMiscMethod "getPadding" o = MiscGetPaddingMethodInfo
+    ResolveMiscMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveMiscMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveMiscMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveMiscMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveMiscMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveMiscMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveMiscMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveMiscMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveMiscMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveMiscMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveMiscMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveMiscMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMiscMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMiscMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveMiscMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveMiscMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveMiscMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveMiscMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveMiscMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveMiscMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveMiscMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveMiscMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveMiscMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveMiscMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveMiscMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveMiscMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveMiscMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveMiscMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveMiscMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveMiscMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveMiscMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveMiscMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveMiscMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveMiscMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveMiscMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveMiscMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveMiscMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveMiscMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveMiscMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveMiscMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveMiscMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveMiscMethod "setAlignment" o = MiscSetAlignmentMethodInfo
+    ResolveMiscMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveMiscMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveMiscMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveMiscMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveMiscMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveMiscMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveMiscMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveMiscMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveMiscMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMiscMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveMiscMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveMiscMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveMiscMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveMiscMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveMiscMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveMiscMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveMiscMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveMiscMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveMiscMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveMiscMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveMiscMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveMiscMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveMiscMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveMiscMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveMiscMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveMiscMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveMiscMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveMiscMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveMiscMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveMiscMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveMiscMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveMiscMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveMiscMethod "setPadding" o = MiscSetPaddingMethodInfo
+    ResolveMiscMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveMiscMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveMiscMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMiscMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveMiscMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveMiscMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveMiscMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveMiscMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveMiscMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveMiscMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveMiscMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveMiscMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveMiscMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveMiscMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveMiscMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveMiscMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveMiscMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveMiscMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveMiscMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveMiscMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveMiscMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveMiscMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMiscMethod t Misc, O.MethodInfo info Misc p) => OL.IsLabel t (Misc -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "xalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' misc #xalign
+@
+-}
+getMiscXalign :: (MonadIO m, IsMisc o) => o -> m Float
+getMiscXalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "xalign"
+
+{- |
+Set the value of the “@xalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' misc [ #xalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMiscXalign :: (MonadIO m, IsMisc o) => o -> Float -> m ()
+setMiscXalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "xalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMiscXalign :: (IsMisc o) => Float -> IO (GValueConstruct o)
+constructMiscXalign val = B.Properties.constructObjectPropertyFloat "xalign" val
+
+#if ENABLE_OVERLOADING
+data MiscXalignPropertyInfo
+instance AttrInfo MiscXalignPropertyInfo where
+    type AttrAllowedOps MiscXalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MiscXalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint MiscXalignPropertyInfo = IsMisc
+    type AttrGetType MiscXalignPropertyInfo = Float
+    type AttrLabel MiscXalignPropertyInfo = "xalign"
+    type AttrOrigin MiscXalignPropertyInfo = Misc
+    attrGet _ = getMiscXalign
+    attrSet _ = setMiscXalign
+    attrConstruct _ = constructMiscXalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "xpad"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@xpad@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' misc #xpad
+@
+-}
+getMiscXpad :: (MonadIO m, IsMisc o) => o -> m Int32
+getMiscXpad obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "xpad"
+
+{- |
+Set the value of the “@xpad@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' misc [ #xpad 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMiscXpad :: (MonadIO m, IsMisc o) => o -> Int32 -> m ()
+setMiscXpad obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "xpad" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@xpad@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMiscXpad :: (IsMisc o) => Int32 -> IO (GValueConstruct o)
+constructMiscXpad val = B.Properties.constructObjectPropertyInt32 "xpad" val
+
+#if ENABLE_OVERLOADING
+data MiscXpadPropertyInfo
+instance AttrInfo MiscXpadPropertyInfo where
+    type AttrAllowedOps MiscXpadPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MiscXpadPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint MiscXpadPropertyInfo = IsMisc
+    type AttrGetType MiscXpadPropertyInfo = Int32
+    type AttrLabel MiscXpadPropertyInfo = "xpad"
+    type AttrOrigin MiscXpadPropertyInfo = Misc
+    attrGet _ = getMiscXpad
+    attrSet _ = setMiscXpad
+    attrConstruct _ = constructMiscXpad
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "yalign"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' misc #yalign
+@
+-}
+getMiscYalign :: (MonadIO m, IsMisc o) => o -> m Float
+getMiscYalign obj = liftIO $ B.Properties.getObjectPropertyFloat obj "yalign"
+
+{- |
+Set the value of the “@yalign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' misc [ #yalign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMiscYalign :: (MonadIO m, IsMisc o) => o -> Float -> m ()
+setMiscYalign obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "yalign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@yalign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMiscYalign :: (IsMisc o) => Float -> IO (GValueConstruct o)
+constructMiscYalign val = B.Properties.constructObjectPropertyFloat "yalign" val
+
+#if ENABLE_OVERLOADING
+data MiscYalignPropertyInfo
+instance AttrInfo MiscYalignPropertyInfo where
+    type AttrAllowedOps MiscYalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MiscYalignPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint MiscYalignPropertyInfo = IsMisc
+    type AttrGetType MiscYalignPropertyInfo = Float
+    type AttrLabel MiscYalignPropertyInfo = "yalign"
+    type AttrOrigin MiscYalignPropertyInfo = Misc
+    attrGet _ = getMiscYalign
+    attrSet _ = setMiscYalign
+    attrConstruct _ = constructMiscYalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "ypad"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@ypad@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' misc #ypad
+@
+-}
+getMiscYpad :: (MonadIO m, IsMisc o) => o -> m Int32
+getMiscYpad obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "ypad"
+
+{- |
+Set the value of the “@ypad@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' misc [ #ypad 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMiscYpad :: (MonadIO m, IsMisc o) => o -> Int32 -> m ()
+setMiscYpad obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "ypad" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@ypad@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMiscYpad :: (IsMisc o) => Int32 -> IO (GValueConstruct o)
+constructMiscYpad val = B.Properties.constructObjectPropertyInt32 "ypad" val
+
+#if ENABLE_OVERLOADING
+data MiscYpadPropertyInfo
+instance AttrInfo MiscYpadPropertyInfo where
+    type AttrAllowedOps MiscYpadPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MiscYpadPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint MiscYpadPropertyInfo = IsMisc
+    type AttrGetType MiscYpadPropertyInfo = Int32
+    type AttrLabel MiscYpadPropertyInfo = "ypad"
+    type AttrOrigin MiscYpadPropertyInfo = Misc
+    attrGet _ = getMiscYpad
+    attrSet _ = setMiscYpad
+    attrConstruct _ = constructMiscYpad
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Misc
+type instance O.AttributeList Misc = MiscAttributeList
+type MiscAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", MiscXalignPropertyInfo), '("xpad", MiscXpadPropertyInfo), '("yalign", MiscYalignPropertyInfo), '("ypad", MiscYpadPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+miscXalign :: AttrLabelProxy "xalign"
+miscXalign = AttrLabelProxy
+
+miscXpad :: AttrLabelProxy "xpad"
+miscXpad = AttrLabelProxy
+
+miscYalign :: AttrLabelProxy "yalign"
+miscYalign = AttrLabelProxy
+
+miscYpad :: AttrLabelProxy "ypad"
+miscYpad = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Misc = MiscSignalList
+type MiscSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Misc::get_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "misc", argType = TInterface (Name {namespace = "Gtk", name = "Misc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMisc", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store X alignment of @misc, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store Y alignment of @misc, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_misc_get_alignment" gtk_misc_get_alignment :: 
+    Ptr Misc ->                             -- misc : TInterface (Name {namespace = "Gtk", name = "Misc"})
+    Ptr CFloat ->                           -- xalign : TBasicType TFloat
+    Ptr CFloat ->                           -- yalign : TBasicType TFloat
+    IO ()
+
+{-# DEPRECATED miscGetAlignment ["(Since version 3.14)","Use 'GI.Gtk.Objects.Widget.Widget' alignment and margin properties."] #-}
+{- |
+Gets the X and Y alignment of the widget within its allocation.
+See 'GI.Gtk.Objects.Misc.miscSetAlignment'.
+-}
+miscGetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMisc a) =>
+    a
+    {- ^ /@misc@/: a 'GI.Gtk.Objects.Misc.Misc' -}
+    -> m ((Float, Float))
+miscGetAlignment misc = liftIO $ do
+    misc' <- unsafeManagedPtrCastPtr misc
+    xalign <- allocMem :: IO (Ptr CFloat)
+    yalign <- allocMem :: IO (Ptr CFloat)
+    gtk_misc_get_alignment misc' xalign yalign
+    xalign' <- peek xalign
+    let xalign'' = realToFrac xalign'
+    yalign' <- peek yalign
+    let yalign'' = realToFrac yalign'
+    touchManagedPtr misc
+    freeMem xalign
+    freeMem yalign
+    return (xalign'', yalign'')
+
+#if ENABLE_OVERLOADING
+data MiscGetAlignmentMethodInfo
+instance (signature ~ (m ((Float, Float))), MonadIO m, IsMisc a) => O.MethodInfo MiscGetAlignmentMethodInfo a signature where
+    overloadedMethod _ = miscGetAlignment
+
+#endif
+
+-- method Misc::get_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "misc", argType = TInterface (Name {namespace = "Gtk", name = "Misc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMisc", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpad", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store padding in the X\n       direction, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "ypad", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store padding in the Y\n       direction, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_misc_get_padding" gtk_misc_get_padding :: 
+    Ptr Misc ->                             -- misc : TInterface (Name {namespace = "Gtk", name = "Misc"})
+    Ptr Int32 ->                            -- xpad : TBasicType TInt
+    Ptr Int32 ->                            -- ypad : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED miscGetPadding ["(Since version 3.14)","Use 'GI.Gtk.Objects.Widget.Widget' alignment and margin properties."] #-}
+{- |
+Gets the padding in the X and Y directions of the widget.
+See 'GI.Gtk.Objects.Misc.miscSetPadding'.
+-}
+miscGetPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMisc a) =>
+    a
+    {- ^ /@misc@/: a 'GI.Gtk.Objects.Misc.Misc' -}
+    -> m ((Int32, Int32))
+miscGetPadding misc = liftIO $ do
+    misc' <- unsafeManagedPtrCastPtr misc
+    xpad <- allocMem :: IO (Ptr Int32)
+    ypad <- allocMem :: IO (Ptr Int32)
+    gtk_misc_get_padding misc' xpad ypad
+    xpad' <- peek xpad
+    ypad' <- peek ypad
+    touchManagedPtr misc
+    freeMem xpad
+    freeMem ypad
+    return (xpad', ypad')
+
+#if ENABLE_OVERLOADING
+data MiscGetPaddingMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsMisc a) => O.MethodInfo MiscGetPaddingMethodInfo a signature where
+    overloadedMethod _ = miscGetPadding
+
+#endif
+
+-- method Misc::set_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "misc", argType = TInterface (Name {namespace = "Gtk", name = "Misc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMisc.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal alignment, from 0 (left) to 1 (right).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical alignment, from 0 (top) to 1 (bottom).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_misc_set_alignment" gtk_misc_set_alignment :: 
+    Ptr Misc ->                             -- misc : TInterface (Name {namespace = "Gtk", name = "Misc"})
+    CFloat ->                               -- xalign : TBasicType TFloat
+    CFloat ->                               -- yalign : TBasicType TFloat
+    IO ()
+
+{-# DEPRECATED miscSetAlignment ["(Since version 3.14)","Use 'GI.Gtk.Objects.Widget.Widget'\\'s alignment ('GI.Gtk.Objects.Widget.Widget':@/halign/@ and 'GI.Gtk.Objects.Widget.Widget':@/valign/@) and margin properties or 'GI.Gtk.Objects.Label.Label'\\'s 'GI.Gtk.Objects.Label.Label':@/xalign/@ and 'GI.Gtk.Objects.Label.Label':@/yalign/@ properties."] #-}
+{- |
+Sets the alignment of the widget.
+-}
+miscSetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMisc a) =>
+    a
+    {- ^ /@misc@/: a 'GI.Gtk.Objects.Misc.Misc'. -}
+    -> Float
+    {- ^ /@xalign@/: the horizontal alignment, from 0 (left) to 1 (right). -}
+    -> Float
+    {- ^ /@yalign@/: the vertical alignment, from 0 (top) to 1 (bottom). -}
+    -> m ()
+miscSetAlignment misc xalign yalign = liftIO $ do
+    misc' <- unsafeManagedPtrCastPtr misc
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    gtk_misc_set_alignment misc' xalign' yalign'
+    touchManagedPtr misc
+    return ()
+
+#if ENABLE_OVERLOADING
+data MiscSetAlignmentMethodInfo
+instance (signature ~ (Float -> Float -> m ()), MonadIO m, IsMisc a) => O.MethodInfo MiscSetAlignmentMethodInfo a signature where
+    overloadedMethod _ = miscSetAlignment
+
+#endif
+
+-- method Misc::set_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "misc", argType = TInterface (Name {namespace = "Gtk", name = "Misc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMisc.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount of space to add on the left and right of the widget,\n  in pixels.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ypad", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount of space to add on the top and bottom of the widget,\n  in pixels.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_misc_set_padding" gtk_misc_set_padding :: 
+    Ptr Misc ->                             -- misc : TInterface (Name {namespace = "Gtk", name = "Misc"})
+    Int32 ->                                -- xpad : TBasicType TInt
+    Int32 ->                                -- ypad : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED miscSetPadding ["(Since version 3.14)","Use 'GI.Gtk.Objects.Widget.Widget' alignment and margin properties."] #-}
+{- |
+Sets the amount of space to add around the widget.
+-}
+miscSetPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMisc a) =>
+    a
+    {- ^ /@misc@/: a 'GI.Gtk.Objects.Misc.Misc'. -}
+    -> Int32
+    {- ^ /@xpad@/: the amount of space to add on the left and right of the widget,
+  in pixels. -}
+    -> Int32
+    {- ^ /@ypad@/: the amount of space to add on the top and bottom of the widget,
+  in pixels. -}
+    -> m ()
+miscSetPadding misc xpad ypad = liftIO $ do
+    misc' <- unsafeManagedPtrCastPtr misc
+    gtk_misc_set_padding misc' xpad ypad
+    touchManagedPtr misc
+    return ()
+
+#if ENABLE_OVERLOADING
+data MiscSetPaddingMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsMisc a) => O.MethodInfo MiscSetPaddingMethodInfo a signature where
+    overloadedMethod _ = miscSetPadding
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Misc.hs-boot b/GI/Gtk/Objects/Misc.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Misc.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Misc where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Misc = Misc (ManagedPtr Misc)
+instance GObject Misc where
+class (GObject o, O.IsDescendantOf Misc o) => IsMisc o
+instance (GObject o, O.IsDescendantOf Misc o) => IsMisc o
+instance O.HasParentTypes Misc
+#if ENABLE_OVERLOADING
+data MiscXalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MiscXpadPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MiscYalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MiscYpadPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MiscGetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MiscGetPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MiscSetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MiscSetPaddingMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ModelButton.hs b/GI/Gtk/Objects/ModelButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ModelButton.hs
@@ -0,0 +1,1258 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkModelButton is a button class that can use a 'GI.Gio.Interfaces.Action.Action' as its model.
+In contrast to 'GI.Gtk.Objects.ToggleButton.ToggleButton' or 'GI.Gtk.Objects.RadioButton.RadioButton', which can also
+be backed by a 'GI.Gio.Interfaces.Action.Action' via the 'GI.Gtk.Interfaces.Actionable.Actionable':@/action-name/@ property,
+GtkModelButton will adapt its appearance according to the kind of
+action it is backed by, and appear either as a plain, check or
+radio button.
+
+Model buttons are used when popovers from a menu model with
+'GI.Gtk.Objects.Popover.popoverNewFromModel'; they can also be used manually in
+a 'GI.Gtk.Objects.PopoverMenu.PopoverMenu'.
+
+When the action is specified via the 'GI.Gtk.Interfaces.Actionable.Actionable':@/action-name/@
+and 'GI.Gtk.Interfaces.Actionable.Actionable':@/action-target/@ properties, the role of the button
+(i.e. whether it is a plain, check or radio button) is determined by
+the type of the action and doesn\'t have to be explicitly specified
+with the 'GI.Gtk.Objects.ModelButton.ModelButton':@/role/@ property.
+
+The content of the button is specified by the 'GI.Gtk.Objects.ModelButton.ModelButton':@/text/@
+and 'GI.Gtk.Objects.ModelButton.ModelButton':@/icon/@ properties.
+
+The appearance of model buttons can be influenced with the
+'GI.Gtk.Objects.ModelButton.ModelButton':@/centered/@ and 'GI.Gtk.Objects.ModelButton.ModelButton':@/iconic/@ properties.
+
+Model buttons have built-in support for submenus in 'GI.Gtk.Objects.PopoverMenu.PopoverMenu'.
+To make a GtkModelButton that opens a submenu when activated, set
+the 'GI.Gtk.Objects.ModelButton.ModelButton':@/menu-name/@ property. To make a button that goes
+back to the parent menu, you should set the 'GI.Gtk.Objects.ModelButton.ModelButton':@/inverted/@
+property to place the submenu indicator at the opposite side.
+
+= Example
+
+>
+><object class="GtkPopoverMenu">
+>  <child>
+>    <object class="GtkBox">
+>      <property name="visible">True</property>
+>      <property name="margin">10</property>
+>      <child>
+>        <object class="GtkModelButton">
+>          <property name="visible">True</property>
+>          <property name="action-name">view.cut</property>
+>          <property name="text" translatable="yes">Cut</property>
+>        </object>
+>      </child>
+>      <child>
+>        <object class="GtkModelButton">
+>          <property name="visible">True</property>
+>          <property name="action-name">view.copy</property>
+>          <property name="text" translatable="yes">Copy</property>
+>        </object>
+>      </child>
+>      <child>
+>        <object class="GtkModelButton">
+>          <property name="visible">True</property>
+>          <property name="action-name">view.paste</property>
+>          <property name="text" translatable="yes">Paste</property>
+>        </object>
+>      </child>
+>    </object>
+>  </child>
+></object>
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>modelbutton
+>├── <child>
+>╰── check
+
+
+
+=== /plain code/
+>
+>modelbutton
+>├── <child>
+>╰── radio
+
+
+
+=== /plain code/
+>
+>modelbutton
+>├── <child>
+>╰── arrow
+
+
+GtkModelButton has a main CSS node with name modelbutton, and a subnode,
+which will have the name check, radio or arrow, depending on the role
+of the button and whether it has a menu name set.
+
+The subnode is positioned before or after the content nodes and gets the
+.left or .right style class, depending on where it is located.
+
+
+=== /plain code/
+>
+>button.model
+>├── <child>
+>╰── check
+
+
+Iconic model buttons (see 'GI.Gtk.Objects.ModelButton.ModelButton':@/iconic/@) change the name of
+their main node to button and add a .model style class to it. The indicator
+subnode is invisible in this case.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ModelButton
+    ( 
+
+-- * Exported types
+    ModelButton(..)                         ,
+    IsModelButton                           ,
+    toModelButton                           ,
+    noModelButton                           ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    modelButtonNew                          ,
+
+
+
+
+ -- * Properties
+-- ** active #attr:active#
+{- | The state of the button. This is reflecting the state of the associated
+'GI.Gio.Interfaces.Action.Action'.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    ModelButtonActivePropertyInfo           ,
+#endif
+    constructModelButtonActive              ,
+    getModelButtonActive                    ,
+#if ENABLE_OVERLOADING
+    modelButtonActive                       ,
+#endif
+    setModelButtonActive                    ,
+
+
+-- ** centered #attr:centered#
+{- | Whether to render the button contents centered instead of left-aligned.
+This property should be set for title-like items.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    ModelButtonCenteredPropertyInfo         ,
+#endif
+    constructModelButtonCentered            ,
+    getModelButtonCentered                  ,
+#if ENABLE_OVERLOADING
+    modelButtonCentered                     ,
+#endif
+    setModelButtonCentered                  ,
+
+
+-- ** icon #attr:icon#
+{- | A 'GI.Gio.Interfaces.Icon.Icon' that will be used if iconic appearance for the button is
+desired.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    ModelButtonIconPropertyInfo             ,
+#endif
+    clearModelButtonIcon                    ,
+    constructModelButtonIcon                ,
+    getModelButtonIcon                      ,
+#if ENABLE_OVERLOADING
+    modelButtonIcon                         ,
+#endif
+    setModelButtonIcon                      ,
+
+
+-- ** iconic #attr:iconic#
+{- | If this property is set, the button will show an icon if one is set.
+If no icon is set, the text will be used. This is typically used for
+horizontal sections of linked buttons.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    ModelButtonIconicPropertyInfo           ,
+#endif
+    constructModelButtonIconic              ,
+    getModelButtonIconic                    ,
+#if ENABLE_OVERLOADING
+    modelButtonIconic                       ,
+#endif
+    setModelButtonIconic                    ,
+
+
+-- ** inverted #attr:inverted#
+{- | Whether to show the submenu indicator at the opposite side than normal.
+This property should be set for model buttons that \'go back\' to a parent
+menu.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    ModelButtonInvertedPropertyInfo         ,
+#endif
+    constructModelButtonInverted            ,
+    getModelButtonInverted                  ,
+#if ENABLE_OVERLOADING
+    modelButtonInverted                     ,
+#endif
+    setModelButtonInverted                  ,
+
+
+-- ** menuName #attr:menuName#
+{- | The name of a submenu to open when the button is activated.
+If this is set, the button should not have an action associated with it.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    ModelButtonMenuNamePropertyInfo         ,
+#endif
+    clearModelButtonMenuName                ,
+    constructModelButtonMenuName            ,
+    getModelButtonMenuName                  ,
+#if ENABLE_OVERLOADING
+    modelButtonMenuName                     ,
+#endif
+    setModelButtonMenuName                  ,
+
+
+-- ** role #attr:role#
+{- | Specifies whether the button is a plain, check or radio button.
+When 'GI.Gtk.Interfaces.Actionable.Actionable':@/action-name/@ is set, the role will be determined
+from the action and does not have to be set explicitly.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    ModelButtonRolePropertyInfo             ,
+#endif
+    constructModelButtonRole                ,
+    getModelButtonRole                      ,
+#if ENABLE_OVERLOADING
+    modelButtonRole                         ,
+#endif
+    setModelButtonRole                      ,
+
+
+-- ** text #attr:text#
+{- | The label for the button.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    ModelButtonTextPropertyInfo             ,
+#endif
+    clearModelButtonText                    ,
+    constructModelButtonText                ,
+    getModelButtonText                      ,
+#if ENABLE_OVERLOADING
+    modelButtonText                         ,
+#endif
+    setModelButtonText                      ,
+
+
+-- ** useMarkup #attr:useMarkup#
+{- | If 'True', XML tags in the text of the button are interpreted as by
+'GI.Pango.Functions.parseMarkup' to format the enclosed spans of text. If 'False', the
+text will be displayed verbatim.
+
+/Since: 3.24/
+-}
+#if ENABLE_OVERLOADING
+    ModelButtonUseMarkupPropertyInfo        ,
+#endif
+    constructModelButtonUseMarkup           ,
+    getModelButtonUseMarkup                 ,
+#if ENABLE_OVERLOADING
+    modelButtonUseMarkup                    ,
+#endif
+    setModelButtonUseMarkup                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ModelButton = ModelButton (ManagedPtr ModelButton)
+foreign import ccall "gtk_model_button_get_type"
+    c_gtk_model_button_get_type :: IO GType
+
+instance GObject ModelButton where
+    gobjectType = c_gtk_model_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `ModelButton`, for instance with `toModelButton`.
+class (GObject o, O.IsDescendantOf ModelButton o) => IsModelButton o
+instance (GObject o, O.IsDescendantOf ModelButton o) => IsModelButton o
+
+instance O.HasParentTypes ModelButton
+type instance O.ParentTypes ModelButton = '[Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `ModelButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toModelButton :: (MonadIO m, IsModelButton o) => o -> m ModelButton
+toModelButton = liftIO . unsafeCastTo ModelButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ModelButton`.
+noModelButton :: Maybe ModelButton
+noModelButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveModelButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveModelButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveModelButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveModelButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveModelButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveModelButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveModelButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveModelButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveModelButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveModelButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveModelButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveModelButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveModelButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveModelButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveModelButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveModelButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveModelButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveModelButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveModelButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveModelButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveModelButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveModelButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveModelButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveModelButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveModelButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveModelButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveModelButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveModelButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveModelButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveModelButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveModelButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveModelButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveModelButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveModelButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveModelButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveModelButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveModelButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveModelButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveModelButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveModelButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveModelButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveModelButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveModelButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveModelButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveModelButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveModelButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveModelButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveModelButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveModelButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveModelButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveModelButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveModelButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveModelButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveModelButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveModelButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveModelButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveModelButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveModelButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveModelButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveModelButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveModelButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveModelButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveModelButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveModelButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveModelButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveModelButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveModelButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveModelButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveModelButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveModelButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveModelButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveModelButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveModelButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveModelButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveModelButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveModelButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveModelButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveModelButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveModelButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveModelButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveModelButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveModelButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveModelButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveModelButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveModelButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveModelButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveModelButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveModelButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveModelButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveModelButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveModelButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveModelButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveModelButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveModelButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveModelButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveModelButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveModelButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveModelButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveModelButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveModelButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveModelButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveModelButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveModelButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveModelButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveModelButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveModelButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveModelButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveModelButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveModelButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveModelButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveModelButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveModelButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveModelButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveModelButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveModelButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveModelButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveModelButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveModelButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveModelButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveModelButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveModelButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveModelButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveModelButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveModelButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveModelButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveModelButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveModelButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveModelButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveModelButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveModelButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveModelButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveModelButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveModelButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveModelButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveModelButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveModelButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveModelButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveModelButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveModelButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveModelButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveModelButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveModelButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveModelButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveModelButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveModelButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveModelButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveModelButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveModelButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveModelButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveModelButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveModelButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveModelButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveModelButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveModelButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveModelButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveModelButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveModelButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveModelButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveModelButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveModelButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveModelButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveModelButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveModelButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveModelButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveModelButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveModelButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveModelButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveModelButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveModelButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveModelButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveModelButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveModelButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveModelButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveModelButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveModelButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveModelButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveModelButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveModelButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveModelButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveModelButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveModelButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveModelButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveModelButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveModelButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveModelButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveModelButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveModelButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveModelButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveModelButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveModelButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveModelButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveModelButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveModelButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveModelButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveModelButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveModelButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveModelButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveModelButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveModelButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveModelButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveModelButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveModelButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveModelButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveModelButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveModelButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveModelButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveModelButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveModelButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveModelButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveModelButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveModelButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveModelButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveModelButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveModelButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveModelButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveModelButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveModelButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveModelButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveModelButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveModelButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveModelButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveModelButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveModelButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveModelButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveModelButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveModelButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveModelButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveModelButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveModelButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveModelButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveModelButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveModelButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveModelButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveModelButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveModelButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveModelButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveModelButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveModelButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveModelButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveModelButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveModelButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveModelButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveModelButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveModelButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveModelButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveModelButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveModelButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveModelButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveModelButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveModelButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveModelButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveModelButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveModelButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveModelButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveModelButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveModelButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveModelButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveModelButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveModelButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveModelButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveModelButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveModelButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveModelButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveModelButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveModelButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveModelButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveModelButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveModelButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveModelButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveModelButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveModelButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveModelButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveModelButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveModelButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveModelButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveModelButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveModelButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveModelButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveModelButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveModelButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveModelButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveModelButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveModelButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveModelButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveModelButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveModelButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveModelButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveModelButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveModelButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveModelButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveModelButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveModelButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveModelButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveModelButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveModelButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveModelButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveModelButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveModelButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveModelButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveModelButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveModelButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveModelButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveModelButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveModelButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveModelButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveModelButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveModelButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveModelButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveModelButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveModelButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveModelButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveModelButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveModelButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveModelButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveModelButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveModelButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveModelButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveModelButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveModelButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveModelButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveModelButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveModelButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveModelButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveModelButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveModelButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveModelButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveModelButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveModelButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveModelButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveModelButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveModelButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveModelButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveModelButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveModelButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveModelButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveModelButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveModelButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveModelButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveModelButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveModelButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveModelButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveModelButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveModelButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveModelButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveModelButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveModelButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveModelButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveModelButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveModelButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveModelButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveModelButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveModelButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveModelButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveModelButtonMethod t ModelButton, O.MethodInfo info ModelButton p) => OL.IsLabel t (ModelButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' modelButton #active
+@
+-}
+getModelButtonActive :: (MonadIO m, IsModelButton o) => o -> m Bool
+getModelButtonActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' modelButton [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setModelButtonActive :: (MonadIO m, IsModelButton o) => o -> Bool -> m ()
+setModelButtonActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructModelButtonActive :: (IsModelButton o) => Bool -> IO (GValueConstruct o)
+constructModelButtonActive val = B.Properties.constructObjectPropertyBool "active" val
+
+#if ENABLE_OVERLOADING
+data ModelButtonActivePropertyInfo
+instance AttrInfo ModelButtonActivePropertyInfo where
+    type AttrAllowedOps ModelButtonActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ModelButtonActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ModelButtonActivePropertyInfo = IsModelButton
+    type AttrGetType ModelButtonActivePropertyInfo = Bool
+    type AttrLabel ModelButtonActivePropertyInfo = "active"
+    type AttrOrigin ModelButtonActivePropertyInfo = ModelButton
+    attrGet _ = getModelButtonActive
+    attrSet _ = setModelButtonActive
+    attrConstruct _ = constructModelButtonActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "centered"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@centered@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' modelButton #centered
+@
+-}
+getModelButtonCentered :: (MonadIO m, IsModelButton o) => o -> m Bool
+getModelButtonCentered obj = liftIO $ B.Properties.getObjectPropertyBool obj "centered"
+
+{- |
+Set the value of the “@centered@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' modelButton [ #centered 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setModelButtonCentered :: (MonadIO m, IsModelButton o) => o -> Bool -> m ()
+setModelButtonCentered obj val = liftIO $ B.Properties.setObjectPropertyBool obj "centered" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@centered@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructModelButtonCentered :: (IsModelButton o) => Bool -> IO (GValueConstruct o)
+constructModelButtonCentered val = B.Properties.constructObjectPropertyBool "centered" val
+
+#if ENABLE_OVERLOADING
+data ModelButtonCenteredPropertyInfo
+instance AttrInfo ModelButtonCenteredPropertyInfo where
+    type AttrAllowedOps ModelButtonCenteredPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ModelButtonCenteredPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ModelButtonCenteredPropertyInfo = IsModelButton
+    type AttrGetType ModelButtonCenteredPropertyInfo = Bool
+    type AttrLabel ModelButtonCenteredPropertyInfo = "centered"
+    type AttrOrigin ModelButtonCenteredPropertyInfo = ModelButton
+    attrGet _ = getModelButtonCentered
+    attrSet _ = setModelButtonCentered
+    attrConstruct _ = constructModelButtonCentered
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "icon"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' modelButton #icon
+@
+-}
+getModelButtonIcon :: (MonadIO m, IsModelButton o) => o -> m (Maybe Gio.Icon.Icon)
+getModelButtonIcon obj = liftIO $ B.Properties.getObjectPropertyObject obj "icon" Gio.Icon.Icon
+
+{- |
+Set the value of the “@icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' modelButton [ #icon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setModelButtonIcon :: (MonadIO m, IsModelButton o, Gio.Icon.IsIcon a) => o -> a -> m ()
+setModelButtonIcon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "icon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructModelButtonIcon :: (IsModelButton o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
+constructModelButtonIcon val = B.Properties.constructObjectPropertyObject "icon" (Just val)
+
+{- |
+Set the value of the “@icon@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #icon
+@
+-}
+clearModelButtonIcon :: (MonadIO m, IsModelButton o) => o -> m ()
+clearModelButtonIcon obj = liftIO $ B.Properties.setObjectPropertyObject obj "icon" (Nothing :: Maybe Gio.Icon.Icon)
+
+#if ENABLE_OVERLOADING
+data ModelButtonIconPropertyInfo
+instance AttrInfo ModelButtonIconPropertyInfo where
+    type AttrAllowedOps ModelButtonIconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ModelButtonIconPropertyInfo = Gio.Icon.IsIcon
+    type AttrBaseTypeConstraint ModelButtonIconPropertyInfo = IsModelButton
+    type AttrGetType ModelButtonIconPropertyInfo = (Maybe Gio.Icon.Icon)
+    type AttrLabel ModelButtonIconPropertyInfo = "icon"
+    type AttrOrigin ModelButtonIconPropertyInfo = ModelButton
+    attrGet _ = getModelButtonIcon
+    attrSet _ = setModelButtonIcon
+    attrConstruct _ = constructModelButtonIcon
+    attrClear _ = clearModelButtonIcon
+#endif
+
+-- VVV Prop "iconic"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@iconic@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' modelButton #iconic
+@
+-}
+getModelButtonIconic :: (MonadIO m, IsModelButton o) => o -> m Bool
+getModelButtonIconic obj = liftIO $ B.Properties.getObjectPropertyBool obj "iconic"
+
+{- |
+Set the value of the “@iconic@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' modelButton [ #iconic 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setModelButtonIconic :: (MonadIO m, IsModelButton o) => o -> Bool -> m ()
+setModelButtonIconic obj val = liftIO $ B.Properties.setObjectPropertyBool obj "iconic" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@iconic@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructModelButtonIconic :: (IsModelButton o) => Bool -> IO (GValueConstruct o)
+constructModelButtonIconic val = B.Properties.constructObjectPropertyBool "iconic" val
+
+#if ENABLE_OVERLOADING
+data ModelButtonIconicPropertyInfo
+instance AttrInfo ModelButtonIconicPropertyInfo where
+    type AttrAllowedOps ModelButtonIconicPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ModelButtonIconicPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ModelButtonIconicPropertyInfo = IsModelButton
+    type AttrGetType ModelButtonIconicPropertyInfo = Bool
+    type AttrLabel ModelButtonIconicPropertyInfo = "iconic"
+    type AttrOrigin ModelButtonIconicPropertyInfo = ModelButton
+    attrGet _ = getModelButtonIconic
+    attrSet _ = setModelButtonIconic
+    attrConstruct _ = constructModelButtonIconic
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "inverted"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' modelButton #inverted
+@
+-}
+getModelButtonInverted :: (MonadIO m, IsModelButton o) => o -> m Bool
+getModelButtonInverted obj = liftIO $ B.Properties.getObjectPropertyBool obj "inverted"
+
+{- |
+Set the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' modelButton [ #inverted 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setModelButtonInverted :: (MonadIO m, IsModelButton o) => o -> Bool -> m ()
+setModelButtonInverted obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inverted" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inverted@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructModelButtonInverted :: (IsModelButton o) => Bool -> IO (GValueConstruct o)
+constructModelButtonInverted val = B.Properties.constructObjectPropertyBool "inverted" val
+
+#if ENABLE_OVERLOADING
+data ModelButtonInvertedPropertyInfo
+instance AttrInfo ModelButtonInvertedPropertyInfo where
+    type AttrAllowedOps ModelButtonInvertedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ModelButtonInvertedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ModelButtonInvertedPropertyInfo = IsModelButton
+    type AttrGetType ModelButtonInvertedPropertyInfo = Bool
+    type AttrLabel ModelButtonInvertedPropertyInfo = "inverted"
+    type AttrOrigin ModelButtonInvertedPropertyInfo = ModelButton
+    attrGet _ = getModelButtonInverted
+    attrSet _ = setModelButtonInverted
+    attrConstruct _ = constructModelButtonInverted
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "menu-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@menu-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' modelButton #menuName
+@
+-}
+getModelButtonMenuName :: (MonadIO m, IsModelButton o) => o -> m (Maybe T.Text)
+getModelButtonMenuName obj = liftIO $ B.Properties.getObjectPropertyString obj "menu-name"
+
+{- |
+Set the value of the “@menu-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' modelButton [ #menuName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setModelButtonMenuName :: (MonadIO m, IsModelButton o) => o -> T.Text -> m ()
+setModelButtonMenuName obj val = liftIO $ B.Properties.setObjectPropertyString obj "menu-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@menu-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructModelButtonMenuName :: (IsModelButton o) => T.Text -> IO (GValueConstruct o)
+constructModelButtonMenuName val = B.Properties.constructObjectPropertyString "menu-name" (Just val)
+
+{- |
+Set the value of the “@menu-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #menuName
+@
+-}
+clearModelButtonMenuName :: (MonadIO m, IsModelButton o) => o -> m ()
+clearModelButtonMenuName obj = liftIO $ B.Properties.setObjectPropertyString obj "menu-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ModelButtonMenuNamePropertyInfo
+instance AttrInfo ModelButtonMenuNamePropertyInfo where
+    type AttrAllowedOps ModelButtonMenuNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ModelButtonMenuNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ModelButtonMenuNamePropertyInfo = IsModelButton
+    type AttrGetType ModelButtonMenuNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ModelButtonMenuNamePropertyInfo = "menu-name"
+    type AttrOrigin ModelButtonMenuNamePropertyInfo = ModelButton
+    attrGet _ = getModelButtonMenuName
+    attrSet _ = setModelButtonMenuName
+    attrConstruct _ = constructModelButtonMenuName
+    attrClear _ = clearModelButtonMenuName
+#endif
+
+-- VVV Prop "role"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ButtonRole"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@role@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' modelButton #role
+@
+-}
+getModelButtonRole :: (MonadIO m, IsModelButton o) => o -> m Gtk.Enums.ButtonRole
+getModelButtonRole obj = liftIO $ B.Properties.getObjectPropertyEnum obj "role"
+
+{- |
+Set the value of the “@role@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' modelButton [ #role 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setModelButtonRole :: (MonadIO m, IsModelButton o) => o -> Gtk.Enums.ButtonRole -> m ()
+setModelButtonRole obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "role" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@role@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructModelButtonRole :: (IsModelButton o) => Gtk.Enums.ButtonRole -> IO (GValueConstruct o)
+constructModelButtonRole val = B.Properties.constructObjectPropertyEnum "role" val
+
+#if ENABLE_OVERLOADING
+data ModelButtonRolePropertyInfo
+instance AttrInfo ModelButtonRolePropertyInfo where
+    type AttrAllowedOps ModelButtonRolePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ModelButtonRolePropertyInfo = (~) Gtk.Enums.ButtonRole
+    type AttrBaseTypeConstraint ModelButtonRolePropertyInfo = IsModelButton
+    type AttrGetType ModelButtonRolePropertyInfo = Gtk.Enums.ButtonRole
+    type AttrLabel ModelButtonRolePropertyInfo = "role"
+    type AttrOrigin ModelButtonRolePropertyInfo = ModelButton
+    attrGet _ = getModelButtonRole
+    attrSet _ = setModelButtonRole
+    attrConstruct _ = constructModelButtonRole
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' modelButton #text
+@
+-}
+getModelButtonText :: (MonadIO m, IsModelButton o) => o -> m (Maybe T.Text)
+getModelButtonText obj = liftIO $ B.Properties.getObjectPropertyString obj "text"
+
+{- |
+Set the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' modelButton [ #text 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setModelButtonText :: (MonadIO m, IsModelButton o) => o -> T.Text -> m ()
+setModelButtonText obj val = liftIO $ B.Properties.setObjectPropertyString obj "text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructModelButtonText :: (IsModelButton o) => T.Text -> IO (GValueConstruct o)
+constructModelButtonText val = B.Properties.constructObjectPropertyString "text" (Just val)
+
+{- |
+Set the value of the “@text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #text
+@
+-}
+clearModelButtonText :: (MonadIO m, IsModelButton o) => o -> m ()
+clearModelButtonText obj = liftIO $ B.Properties.setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ModelButtonTextPropertyInfo
+instance AttrInfo ModelButtonTextPropertyInfo where
+    type AttrAllowedOps ModelButtonTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ModelButtonTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ModelButtonTextPropertyInfo = IsModelButton
+    type AttrGetType ModelButtonTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel ModelButtonTextPropertyInfo = "text"
+    type AttrOrigin ModelButtonTextPropertyInfo = ModelButton
+    attrGet _ = getModelButtonText
+    attrSet _ = setModelButtonText
+    attrConstruct _ = constructModelButtonText
+    attrClear _ = clearModelButtonText
+#endif
+
+-- VVV Prop "use-markup"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' modelButton #useMarkup
+@
+-}
+getModelButtonUseMarkup :: (MonadIO m, IsModelButton o) => o -> m Bool
+getModelButtonUseMarkup obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-markup"
+
+{- |
+Set the value of the “@use-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' modelButton [ #useMarkup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setModelButtonUseMarkup :: (MonadIO m, IsModelButton o) => o -> Bool -> m ()
+setModelButtonUseMarkup obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-markup" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructModelButtonUseMarkup :: (IsModelButton o) => Bool -> IO (GValueConstruct o)
+constructModelButtonUseMarkup val = B.Properties.constructObjectPropertyBool "use-markup" val
+
+#if ENABLE_OVERLOADING
+data ModelButtonUseMarkupPropertyInfo
+instance AttrInfo ModelButtonUseMarkupPropertyInfo where
+    type AttrAllowedOps ModelButtonUseMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ModelButtonUseMarkupPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ModelButtonUseMarkupPropertyInfo = IsModelButton
+    type AttrGetType ModelButtonUseMarkupPropertyInfo = Bool
+    type AttrLabel ModelButtonUseMarkupPropertyInfo = "use-markup"
+    type AttrOrigin ModelButtonUseMarkupPropertyInfo = ModelButton
+    attrGet _ = getModelButtonUseMarkup
+    attrSet _ = setModelButtonUseMarkup
+    attrConstruct _ = constructModelButtonUseMarkup
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ModelButton
+type instance O.AttributeList ModelButton = ModelButtonAttributeList
+type ModelButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", ModelButtonActivePropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("centered", ModelButtonCenteredPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("icon", ModelButtonIconPropertyInfo), '("iconic", ModelButtonIconicPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("inverted", ModelButtonInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("menuName", ModelButtonMenuNamePropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", ModelButtonRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("text", ModelButtonTextPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useMarkup", ModelButtonUseMarkupPropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+modelButtonActive :: AttrLabelProxy "active"
+modelButtonActive = AttrLabelProxy
+
+modelButtonCentered :: AttrLabelProxy "centered"
+modelButtonCentered = AttrLabelProxy
+
+modelButtonIcon :: AttrLabelProxy "icon"
+modelButtonIcon = AttrLabelProxy
+
+modelButtonIconic :: AttrLabelProxy "iconic"
+modelButtonIconic = AttrLabelProxy
+
+modelButtonInverted :: AttrLabelProxy "inverted"
+modelButtonInverted = AttrLabelProxy
+
+modelButtonMenuName :: AttrLabelProxy "menuName"
+modelButtonMenuName = AttrLabelProxy
+
+modelButtonRole :: AttrLabelProxy "role"
+modelButtonRole = AttrLabelProxy
+
+modelButtonText :: AttrLabelProxy "text"
+modelButtonText = AttrLabelProxy
+
+modelButtonUseMarkup :: AttrLabelProxy "useMarkup"
+modelButtonUseMarkup = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ModelButton = ModelButtonSignalList
+type ModelButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ModelButton::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ModelButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_model_button_new" gtk_model_button_new :: 
+    IO (Ptr ModelButton)
+
+{- |
+Creates a new GtkModelButton.
+
+/Since: 3.16/
+-}
+modelButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ModelButton
+    {- ^ __Returns:__ the newly created 'GI.Gtk.Objects.ModelButton.ModelButton' widget -}
+modelButtonNew  = liftIO $ do
+    result <- gtk_model_button_new
+    checkUnexpectedReturnNULL "modelButtonNew" result
+    result' <- (newObject ModelButton) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/ModelButton.hs-boot b/GI/Gtk/Objects/ModelButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ModelButton.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ModelButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ModelButton = ModelButton (ManagedPtr ModelButton)
+instance GObject ModelButton where
+class (GObject o, O.IsDescendantOf ModelButton o) => IsModelButton o
+instance (GObject o, O.IsDescendantOf ModelButton o) => IsModelButton o
+instance O.HasParentTypes ModelButton
+#if ENABLE_OVERLOADING
+data ModelButtonActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ModelButtonCenteredPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ModelButtonIconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ModelButtonIconicPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ModelButtonInvertedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ModelButtonMenuNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ModelButtonRolePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ModelButtonTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ModelButtonUseMarkupPropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/MountOperation.hs b/GI/Gtk/Objects/MountOperation.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MountOperation.hs
@@ -0,0 +1,619 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+This should not be accessed directly. Use the accessor functions below.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.MountOperation
+    ( 
+
+-- * Exported types
+    MountOperation(..)                      ,
+    IsMountOperation                        ,
+    toMountOperation                        ,
+    noMountOperation                        ,
+
+
+ -- * Methods
+-- ** getParent #method:getParent#
+
+#if ENABLE_OVERLOADING
+    MountOperationGetParentMethodInfo       ,
+#endif
+    mountOperationGetParent                 ,
+
+
+-- ** getScreen #method:getScreen#
+
+#if ENABLE_OVERLOADING
+    MountOperationGetScreenMethodInfo       ,
+#endif
+    mountOperationGetScreen                 ,
+
+
+-- ** isShowing #method:isShowing#
+
+#if ENABLE_OVERLOADING
+    MountOperationIsShowingMethodInfo       ,
+#endif
+    mountOperationIsShowing                 ,
+
+
+-- ** new #method:new#
+
+    mountOperationNew                       ,
+
+
+-- ** setParent #method:setParent#
+
+#if ENABLE_OVERLOADING
+    MountOperationSetParentMethodInfo       ,
+#endif
+    mountOperationSetParent                 ,
+
+
+-- ** setScreen #method:setScreen#
+
+#if ENABLE_OVERLOADING
+    MountOperationSetScreenMethodInfo       ,
+#endif
+    mountOperationSetScreen                 ,
+
+
+
+
+ -- * Properties
+-- ** isShowing #attr:isShowing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    MountOperationIsShowingPropertyInfo     ,
+#endif
+    getMountOperationIsShowing              ,
+
+
+-- ** parent #attr:parent#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    MountOperationParentPropertyInfo        ,
+#endif
+    clearMountOperationParent               ,
+    constructMountOperationParent           ,
+    getMountOperationParent                 ,
+#if ENABLE_OVERLOADING
+    mountOperationParent                    ,
+#endif
+    setMountOperationParent                 ,
+
+
+-- ** screen #attr:screen#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    MountOperationScreenPropertyInfo        ,
+#endif
+    constructMountOperationScreen           ,
+    getMountOperationScreen                 ,
+#if ENABLE_OVERLOADING
+    mountOperationScreen                    ,
+#endif
+    setMountOperationScreen                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gio.Objects.MountOperation as Gio.MountOperation
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype MountOperation = MountOperation (ManagedPtr MountOperation)
+foreign import ccall "gtk_mount_operation_get_type"
+    c_gtk_mount_operation_get_type :: IO GType
+
+instance GObject MountOperation where
+    gobjectType = c_gtk_mount_operation_get_type
+    
+
+-- | Type class for types which can be safely cast to `MountOperation`, for instance with `toMountOperation`.
+class (GObject o, O.IsDescendantOf MountOperation o) => IsMountOperation o
+instance (GObject o, O.IsDescendantOf MountOperation o) => IsMountOperation o
+
+instance O.HasParentTypes MountOperation
+type instance O.ParentTypes MountOperation = '[Gio.MountOperation.MountOperation, GObject.Object.Object]
+
+-- | Cast to `MountOperation`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toMountOperation :: (MonadIO m, IsMountOperation o) => o -> m MountOperation
+toMountOperation = liftIO . unsafeCastTo MountOperation
+
+-- | A convenience alias for `Nothing` :: `Maybe` `MountOperation`.
+noMountOperation :: Maybe MountOperation
+noMountOperation = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveMountOperationMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMountOperationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveMountOperationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveMountOperationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveMountOperationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveMountOperationMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveMountOperationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveMountOperationMethod "isShowing" o = MountOperationIsShowingMethodInfo
+    ResolveMountOperationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveMountOperationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveMountOperationMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveMountOperationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveMountOperationMethod "reply" o = Gio.MountOperation.MountOperationReplyMethodInfo
+    ResolveMountOperationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveMountOperationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveMountOperationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveMountOperationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveMountOperationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveMountOperationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveMountOperationMethod "getAnonymous" o = Gio.MountOperation.MountOperationGetAnonymousMethodInfo
+    ResolveMountOperationMethod "getChoice" o = Gio.MountOperation.MountOperationGetChoiceMethodInfo
+    ResolveMountOperationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveMountOperationMethod "getDomain" o = Gio.MountOperation.MountOperationGetDomainMethodInfo
+    ResolveMountOperationMethod "getIsTcryptHiddenVolume" o = Gio.MountOperation.MountOperationGetIsTcryptHiddenVolumeMethodInfo
+    ResolveMountOperationMethod "getIsTcryptSystemVolume" o = Gio.MountOperation.MountOperationGetIsTcryptSystemVolumeMethodInfo
+    ResolveMountOperationMethod "getParent" o = MountOperationGetParentMethodInfo
+    ResolveMountOperationMethod "getPassword" o = Gio.MountOperation.MountOperationGetPasswordMethodInfo
+    ResolveMountOperationMethod "getPasswordSave" o = Gio.MountOperation.MountOperationGetPasswordSaveMethodInfo
+    ResolveMountOperationMethod "getPim" o = Gio.MountOperation.MountOperationGetPimMethodInfo
+    ResolveMountOperationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveMountOperationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveMountOperationMethod "getScreen" o = MountOperationGetScreenMethodInfo
+    ResolveMountOperationMethod "getUsername" o = Gio.MountOperation.MountOperationGetUsernameMethodInfo
+    ResolveMountOperationMethod "setAnonymous" o = Gio.MountOperation.MountOperationSetAnonymousMethodInfo
+    ResolveMountOperationMethod "setChoice" o = Gio.MountOperation.MountOperationSetChoiceMethodInfo
+    ResolveMountOperationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveMountOperationMethod "setDomain" o = Gio.MountOperation.MountOperationSetDomainMethodInfo
+    ResolveMountOperationMethod "setIsTcryptHiddenVolume" o = Gio.MountOperation.MountOperationSetIsTcryptHiddenVolumeMethodInfo
+    ResolveMountOperationMethod "setIsTcryptSystemVolume" o = Gio.MountOperation.MountOperationSetIsTcryptSystemVolumeMethodInfo
+    ResolveMountOperationMethod "setParent" o = MountOperationSetParentMethodInfo
+    ResolveMountOperationMethod "setPassword" o = Gio.MountOperation.MountOperationSetPasswordMethodInfo
+    ResolveMountOperationMethod "setPasswordSave" o = Gio.MountOperation.MountOperationSetPasswordSaveMethodInfo
+    ResolveMountOperationMethod "setPim" o = Gio.MountOperation.MountOperationSetPimMethodInfo
+    ResolveMountOperationMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveMountOperationMethod "setScreen" o = MountOperationSetScreenMethodInfo
+    ResolveMountOperationMethod "setUsername" o = Gio.MountOperation.MountOperationSetUsernameMethodInfo
+    ResolveMountOperationMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveMountOperationMethod t MountOperation, O.MethodInfo info MountOperation p) => OL.IsLabel t (MountOperation -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "is-showing"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@is-showing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' mountOperation #isShowing
+@
+-}
+getMountOperationIsShowing :: (MonadIO m, IsMountOperation o) => o -> m Bool
+getMountOperationIsShowing obj = liftIO $ B.Properties.getObjectPropertyBool obj "is-showing"
+
+#if ENABLE_OVERLOADING
+data MountOperationIsShowingPropertyInfo
+instance AttrInfo MountOperationIsShowingPropertyInfo where
+    type AttrAllowedOps MountOperationIsShowingPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint MountOperationIsShowingPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint MountOperationIsShowingPropertyInfo = IsMountOperation
+    type AttrGetType MountOperationIsShowingPropertyInfo = Bool
+    type AttrLabel MountOperationIsShowingPropertyInfo = "is-showing"
+    type AttrOrigin MountOperationIsShowingPropertyInfo = MountOperation
+    attrGet _ = getMountOperationIsShowing
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "parent"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Window"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@parent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' mountOperation #parent
+@
+-}
+getMountOperationParent :: (MonadIO m, IsMountOperation o) => o -> m Gtk.Window.Window
+getMountOperationParent obj = liftIO $ checkUnexpectedNothing "getMountOperationParent" $ B.Properties.getObjectPropertyObject obj "parent" Gtk.Window.Window
+
+{- |
+Set the value of the “@parent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' mountOperation [ #parent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMountOperationParent :: (MonadIO m, IsMountOperation o, Gtk.Window.IsWindow a) => o -> a -> m ()
+setMountOperationParent obj val = liftIO $ B.Properties.setObjectPropertyObject obj "parent" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@parent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMountOperationParent :: (IsMountOperation o, Gtk.Window.IsWindow a) => a -> IO (GValueConstruct o)
+constructMountOperationParent val = B.Properties.constructObjectPropertyObject "parent" (Just val)
+
+{- |
+Set the value of the “@parent@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #parent
+@
+-}
+clearMountOperationParent :: (MonadIO m, IsMountOperation o) => o -> m ()
+clearMountOperationParent obj = liftIO $ B.Properties.setObjectPropertyObject obj "parent" (Nothing :: Maybe Gtk.Window.Window)
+
+#if ENABLE_OVERLOADING
+data MountOperationParentPropertyInfo
+instance AttrInfo MountOperationParentPropertyInfo where
+    type AttrAllowedOps MountOperationParentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint MountOperationParentPropertyInfo = Gtk.Window.IsWindow
+    type AttrBaseTypeConstraint MountOperationParentPropertyInfo = IsMountOperation
+    type AttrGetType MountOperationParentPropertyInfo = Gtk.Window.Window
+    type AttrLabel MountOperationParentPropertyInfo = "parent"
+    type AttrOrigin MountOperationParentPropertyInfo = MountOperation
+    attrGet _ = getMountOperationParent
+    attrSet _ = setMountOperationParent
+    attrConstruct _ = constructMountOperationParent
+    attrClear _ = clearMountOperationParent
+#endif
+
+-- VVV Prop "screen"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Screen"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' mountOperation #screen
+@
+-}
+getMountOperationScreen :: (MonadIO m, IsMountOperation o) => o -> m Gdk.Screen.Screen
+getMountOperationScreen obj = liftIO $ checkUnexpectedNothing "getMountOperationScreen" $ B.Properties.getObjectPropertyObject obj "screen" Gdk.Screen.Screen
+
+{- |
+Set the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' mountOperation [ #screen 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setMountOperationScreen :: (MonadIO m, IsMountOperation o, Gdk.Screen.IsScreen a) => o -> a -> m ()
+setMountOperationScreen obj val = liftIO $ B.Properties.setObjectPropertyObject obj "screen" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@screen@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructMountOperationScreen :: (IsMountOperation o, Gdk.Screen.IsScreen a) => a -> IO (GValueConstruct o)
+constructMountOperationScreen val = B.Properties.constructObjectPropertyObject "screen" (Just val)
+
+#if ENABLE_OVERLOADING
+data MountOperationScreenPropertyInfo
+instance AttrInfo MountOperationScreenPropertyInfo where
+    type AttrAllowedOps MountOperationScreenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint MountOperationScreenPropertyInfo = Gdk.Screen.IsScreen
+    type AttrBaseTypeConstraint MountOperationScreenPropertyInfo = IsMountOperation
+    type AttrGetType MountOperationScreenPropertyInfo = Gdk.Screen.Screen
+    type AttrLabel MountOperationScreenPropertyInfo = "screen"
+    type AttrOrigin MountOperationScreenPropertyInfo = MountOperation
+    attrGet _ = getMountOperationScreen
+    attrSet _ = setMountOperationScreen
+    attrConstruct _ = constructMountOperationScreen
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList MountOperation
+type instance O.AttributeList MountOperation = MountOperationAttributeList
+type MountOperationAttributeList = ('[ '("anonymous", Gio.MountOperation.MountOperationAnonymousPropertyInfo), '("choice", Gio.MountOperation.MountOperationChoicePropertyInfo), '("domain", Gio.MountOperation.MountOperationDomainPropertyInfo), '("isShowing", MountOperationIsShowingPropertyInfo), '("isTcryptHiddenVolume", Gio.MountOperation.MountOperationIsTcryptHiddenVolumePropertyInfo), '("isTcryptSystemVolume", Gio.MountOperation.MountOperationIsTcryptSystemVolumePropertyInfo), '("parent", MountOperationParentPropertyInfo), '("password", Gio.MountOperation.MountOperationPasswordPropertyInfo), '("passwordSave", Gio.MountOperation.MountOperationPasswordSavePropertyInfo), '("pim", Gio.MountOperation.MountOperationPimPropertyInfo), '("screen", MountOperationScreenPropertyInfo), '("username", Gio.MountOperation.MountOperationUsernamePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+mountOperationParent :: AttrLabelProxy "parent"
+mountOperationParent = AttrLabelProxy
+
+mountOperationScreen :: AttrLabelProxy "screen"
+mountOperationScreen = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList MountOperation = MountOperationSignalList
+type MountOperationSignalList = ('[ '("aborted", Gio.MountOperation.MountOperationAbortedSignalInfo), '("askPassword", Gio.MountOperation.MountOperationAskPasswordSignalInfo), '("askQuestion", Gio.MountOperation.MountOperationAskQuestionSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("reply", Gio.MountOperation.MountOperationReplySignalInfo), '("showProcesses", Gio.MountOperation.MountOperationShowProcessesSignalInfo), '("showUnmountProgress", Gio.MountOperation.MountOperationShowUnmountProgressSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method MountOperation::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "transient parent of the window, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "MountOperation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_mount_operation_new" gtk_mount_operation_new :: 
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr MountOperation)
+
+{- |
+Creates a new 'GI.Gtk.Objects.MountOperation.MountOperation'
+
+/Since: 2.14/
+-}
+mountOperationNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a) =>
+    Maybe (a)
+    {- ^ /@parent@/: transient parent of the window, or 'Nothing' -}
+    -> m MountOperation
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.MountOperation.MountOperation' -}
+mountOperationNew parent = liftIO $ do
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    result <- gtk_mount_operation_new maybeParent
+    checkUnexpectedReturnNULL "mountOperationNew" result
+    result' <- (wrapObject MountOperation) result
+    whenJust parent touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method MountOperation::get_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "MountOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMountOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_mount_operation_get_parent" gtk_mount_operation_get_parent :: 
+    Ptr MountOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "MountOperation"})
+    IO (Ptr Gtk.Window.Window)
+
+{- |
+Gets the transient parent used by the 'GI.Gtk.Objects.MountOperation.MountOperation'
+
+/Since: 2.14/
+-}
+mountOperationGetParent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMountOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.MountOperation.MountOperation' -}
+    -> m Gtk.Window.Window
+    {- ^ __Returns:__ the transient parent for windows shown by /@op@/ -}
+mountOperationGetParent op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_mount_operation_get_parent op'
+    checkUnexpectedReturnNULL "mountOperationGetParent" result
+    result' <- (newObject Gtk.Window.Window) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data MountOperationGetParentMethodInfo
+instance (signature ~ (m Gtk.Window.Window), MonadIO m, IsMountOperation a) => O.MethodInfo MountOperationGetParentMethodInfo a signature where
+    overloadedMethod _ = mountOperationGetParent
+
+#endif
+
+-- method MountOperation::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "MountOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMountOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_mount_operation_get_screen" gtk_mount_operation_get_screen :: 
+    Ptr MountOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "MountOperation"})
+    IO (Ptr Gdk.Screen.Screen)
+
+{- |
+Gets the screen on which windows of the 'GI.Gtk.Objects.MountOperation.MountOperation'
+will be shown.
+
+/Since: 2.14/
+-}
+mountOperationGetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMountOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.MountOperation.MountOperation' -}
+    -> m Gdk.Screen.Screen
+    {- ^ __Returns:__ the screen on which windows of /@op@/ are shown -}
+mountOperationGetScreen op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_mount_operation_get_screen op'
+    checkUnexpectedReturnNULL "mountOperationGetScreen" result
+    result' <- (newObject Gdk.Screen.Screen) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data MountOperationGetScreenMethodInfo
+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m, IsMountOperation a) => O.MethodInfo MountOperationGetScreenMethodInfo a signature where
+    overloadedMethod _ = mountOperationGetScreen
+
+#endif
+
+-- method MountOperation::is_showing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "MountOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMountOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_mount_operation_is_showing" gtk_mount_operation_is_showing :: 
+    Ptr MountOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "MountOperation"})
+    IO CInt
+
+{- |
+Returns whether the 'GI.Gtk.Objects.MountOperation.MountOperation' is currently displaying
+a window.
+
+/Since: 2.14/
+-}
+mountOperationIsShowing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMountOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.MountOperation.MountOperation' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@op@/ is currently displaying a window -}
+mountOperationIsShowing op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_mount_operation_is_showing op'
+    let result' = (/= 0) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data MountOperationIsShowingMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsMountOperation a) => O.MethodInfo MountOperationIsShowingMethodInfo a signature where
+    overloadedMethod _ = mountOperationIsShowing
+
+#endif
+
+-- method MountOperation::set_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "MountOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMountOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "transient parent of the window, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_mount_operation_set_parent" gtk_mount_operation_set_parent :: 
+    Ptr MountOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "MountOperation"})
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Sets the transient parent for windows shown by the
+'GI.Gtk.Objects.MountOperation.MountOperation'.
+
+/Since: 2.14/
+-}
+mountOperationSetParent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMountOperation a, Gtk.Window.IsWindow b) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.MountOperation.MountOperation' -}
+    -> Maybe (b)
+    {- ^ /@parent@/: transient parent of the window, or 'Nothing' -}
+    -> m ()
+mountOperationSetParent op parent = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    gtk_mount_operation_set_parent op' maybeParent
+    touchManagedPtr op
+    whenJust parent touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data MountOperationSetParentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsMountOperation a, Gtk.Window.IsWindow b) => O.MethodInfo MountOperationSetParentMethodInfo a signature where
+    overloadedMethod _ = mountOperationSetParent
+
+#endif
+
+-- method MountOperation::set_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "MountOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkMountOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_mount_operation_set_screen" gtk_mount_operation_set_screen :: 
+    Ptr MountOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "MountOperation"})
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO ()
+
+{- |
+Sets the screen to show windows of the 'GI.Gtk.Objects.MountOperation.MountOperation' on.
+
+/Since: 2.14/
+-}
+mountOperationSetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsMountOperation a, Gdk.Screen.IsScreen b) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.MountOperation.MountOperation' -}
+    -> b
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}
+    -> m ()
+mountOperationSetScreen op screen = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    screen' <- unsafeManagedPtrCastPtr screen
+    gtk_mount_operation_set_screen op' screen'
+    touchManagedPtr op
+    touchManagedPtr screen
+    return ()
+
+#if ENABLE_OVERLOADING
+data MountOperationSetScreenMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsMountOperation a, Gdk.Screen.IsScreen b) => O.MethodInfo MountOperationSetScreenMethodInfo a signature where
+    overloadedMethod _ = mountOperationSetScreen
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/MountOperation.hs-boot b/GI/Gtk/Objects/MountOperation.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/MountOperation.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.MountOperation where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype MountOperation = MountOperation (ManagedPtr MountOperation)
+instance GObject MountOperation where
+class (GObject o, O.IsDescendantOf MountOperation o) => IsMountOperation o
+instance (GObject o, O.IsDescendantOf MountOperation o) => IsMountOperation o
+instance O.HasParentTypes MountOperation
+#if ENABLE_OVERLOADING
+data MountOperationIsShowingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MountOperationParentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MountOperationScreenPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data MountOperationGetParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MountOperationGetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MountOperationIsShowingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MountOperationSetParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data MountOperationSetScreenMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/NativeDialog.hs b/GI/Gtk/Objects/NativeDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/NativeDialog.hs
@@ -0,0 +1,1100 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Native dialogs are platform dialogs that don\'t use 'GI.Gtk.Objects.Dialog.Dialog' or
+'GI.Gtk.Objects.Window.Window'. They are used in order to integrate better with a
+platform, by looking the same as other native applications and
+supporting platform specific features.
+
+The 'GI.Gtk.Objects.Dialog.Dialog' functions cannot be used on such objects, but we
+need a similar API in order to drive them. The 'GI.Gtk.Objects.NativeDialog.NativeDialog'
+object is an API that allows you to do this. It allows you to set
+various common properties on the dialog, as well as show and hide
+it and get a 'GI.Gtk.Objects.NativeDialog.NativeDialog'::@/response/@ signal when the user finished
+with the dialog.
+
+There is also a 'GI.Gtk.Objects.NativeDialog.nativeDialogRun' helper that makes it easy
+to run any native dialog in a modal way with a recursive mainloop,
+similar to 'GI.Gtk.Objects.Dialog.dialogRun'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.NativeDialog
+    ( 
+
+-- * Exported types
+    NativeDialog(..)                        ,
+    IsNativeDialog                          ,
+    toNativeDialog                          ,
+    noNativeDialog                          ,
+
+
+ -- * Methods
+-- ** destroy #method:destroy#
+
+#if ENABLE_OVERLOADING
+    NativeDialogDestroyMethodInfo           ,
+#endif
+    nativeDialogDestroy                     ,
+
+
+-- ** getModal #method:getModal#
+
+#if ENABLE_OVERLOADING
+    NativeDialogGetModalMethodInfo          ,
+#endif
+    nativeDialogGetModal                    ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    NativeDialogGetTitleMethodInfo          ,
+#endif
+    nativeDialogGetTitle                    ,
+
+
+-- ** getTransientFor #method:getTransientFor#
+
+#if ENABLE_OVERLOADING
+    NativeDialogGetTransientForMethodInfo   ,
+#endif
+    nativeDialogGetTransientFor             ,
+
+
+-- ** getVisible #method:getVisible#
+
+#if ENABLE_OVERLOADING
+    NativeDialogGetVisibleMethodInfo        ,
+#endif
+    nativeDialogGetVisible                  ,
+
+
+-- ** hide #method:hide#
+
+#if ENABLE_OVERLOADING
+    NativeDialogHideMethodInfo              ,
+#endif
+    nativeDialogHide                        ,
+
+
+-- ** run #method:run#
+
+#if ENABLE_OVERLOADING
+    NativeDialogRunMethodInfo               ,
+#endif
+    nativeDialogRun                         ,
+
+
+-- ** setModal #method:setModal#
+
+#if ENABLE_OVERLOADING
+    NativeDialogSetModalMethodInfo          ,
+#endif
+    nativeDialogSetModal                    ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    NativeDialogSetTitleMethodInfo          ,
+#endif
+    nativeDialogSetTitle                    ,
+
+
+-- ** setTransientFor #method:setTransientFor#
+
+#if ENABLE_OVERLOADING
+    NativeDialogSetTransientForMethodInfo   ,
+#endif
+    nativeDialogSetTransientFor             ,
+
+
+-- ** show #method:show#
+
+#if ENABLE_OVERLOADING
+    NativeDialogShowMethodInfo              ,
+#endif
+    nativeDialogShow                        ,
+
+
+
+
+ -- * Properties
+-- ** modal #attr:modal#
+{- | Whether the window should be modal with respect to its transient parent.
+
+/Since: 3.20/
+-}
+#if ENABLE_OVERLOADING
+    NativeDialogModalPropertyInfo           ,
+#endif
+    constructNativeDialogModal              ,
+    getNativeDialogModal                    ,
+#if ENABLE_OVERLOADING
+    nativeDialogModal                       ,
+#endif
+    setNativeDialogModal                    ,
+
+
+-- ** title #attr:title#
+{- | The title of the dialog window
+
+/Since: 3.20/
+-}
+#if ENABLE_OVERLOADING
+    NativeDialogTitlePropertyInfo           ,
+#endif
+    constructNativeDialogTitle              ,
+    getNativeDialogTitle                    ,
+#if ENABLE_OVERLOADING
+    nativeDialogTitle                       ,
+#endif
+    setNativeDialogTitle                    ,
+
+
+-- ** transientFor #attr:transientFor#
+{- | The transient parent of the dialog, or 'Nothing' for none.
+
+/Since: 3.20/
+-}
+#if ENABLE_OVERLOADING
+    NativeDialogTransientForPropertyInfo    ,
+#endif
+    clearNativeDialogTransientFor           ,
+    constructNativeDialogTransientFor       ,
+    getNativeDialogTransientFor             ,
+#if ENABLE_OVERLOADING
+    nativeDialogTransientFor                ,
+#endif
+    setNativeDialogTransientFor             ,
+
+
+-- ** visible #attr:visible#
+{- | Whether the window is currenlty visible.
+
+/Since: 3.20/
+-}
+#if ENABLE_OVERLOADING
+    NativeDialogVisiblePropertyInfo         ,
+#endif
+    constructNativeDialogVisible            ,
+    getNativeDialogVisible                  ,
+#if ENABLE_OVERLOADING
+    nativeDialogVisible                     ,
+#endif
+    setNativeDialogVisible                  ,
+
+
+
+
+ -- * Signals
+-- ** response #signal:response#
+
+    C_NativeDialogResponseCallback          ,
+    NativeDialogResponseCallback            ,
+#if ENABLE_OVERLOADING
+    NativeDialogResponseSignalInfo          ,
+#endif
+    afterNativeDialogResponse               ,
+    genClosure_NativeDialogResponse         ,
+    mk_NativeDialogResponseCallback         ,
+    noNativeDialogResponseCallback          ,
+    onNativeDialogResponse                  ,
+    wrap_NativeDialogResponseCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype NativeDialog = NativeDialog (ManagedPtr NativeDialog)
+foreign import ccall "gtk_native_dialog_get_type"
+    c_gtk_native_dialog_get_type :: IO GType
+
+instance GObject NativeDialog where
+    gobjectType = c_gtk_native_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `NativeDialog`, for instance with `toNativeDialog`.
+class (GObject o, O.IsDescendantOf NativeDialog o) => IsNativeDialog o
+instance (GObject o, O.IsDescendantOf NativeDialog o) => IsNativeDialog o
+
+instance O.HasParentTypes NativeDialog
+type instance O.ParentTypes NativeDialog = '[GObject.Object.Object]
+
+-- | Cast to `NativeDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toNativeDialog :: (MonadIO m, IsNativeDialog o) => o -> m NativeDialog
+toNativeDialog = liftIO . unsafeCastTo NativeDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `NativeDialog`.
+noNativeDialog :: Maybe NativeDialog
+noNativeDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveNativeDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveNativeDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveNativeDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveNativeDialogMethod "destroy" o = NativeDialogDestroyMethodInfo
+    ResolveNativeDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveNativeDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveNativeDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveNativeDialogMethod "hide" o = NativeDialogHideMethodInfo
+    ResolveNativeDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveNativeDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveNativeDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveNativeDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveNativeDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveNativeDialogMethod "run" o = NativeDialogRunMethodInfo
+    ResolveNativeDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveNativeDialogMethod "show" o = NativeDialogShowMethodInfo
+    ResolveNativeDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveNativeDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveNativeDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveNativeDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveNativeDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveNativeDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveNativeDialogMethod "getModal" o = NativeDialogGetModalMethodInfo
+    ResolveNativeDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveNativeDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveNativeDialogMethod "getTitle" o = NativeDialogGetTitleMethodInfo
+    ResolveNativeDialogMethod "getTransientFor" o = NativeDialogGetTransientForMethodInfo
+    ResolveNativeDialogMethod "getVisible" o = NativeDialogGetVisibleMethodInfo
+    ResolveNativeDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveNativeDialogMethod "setModal" o = NativeDialogSetModalMethodInfo
+    ResolveNativeDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveNativeDialogMethod "setTitle" o = NativeDialogSetTitleMethodInfo
+    ResolveNativeDialogMethod "setTransientFor" o = NativeDialogSetTransientForMethodInfo
+    ResolveNativeDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveNativeDialogMethod t NativeDialog, O.MethodInfo info NativeDialog p) => OL.IsLabel t (NativeDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal NativeDialog::response
+{- |
+Emitted when the user responds to the dialog.
+
+When this is called the dialog has been hidden.
+
+If you call 'GI.Gtk.Objects.NativeDialog.nativeDialogHide' before the user responds to
+the dialog this signal will not be emitted.
+
+/Since: 3.20/
+-}
+type NativeDialogResponseCallback =
+    Int32
+    {- ^ /@responseId@/: the response ID -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NativeDialogResponseCallback`@.
+noNativeDialogResponseCallback :: Maybe NativeDialogResponseCallback
+noNativeDialogResponseCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NativeDialogResponseCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_NativeDialogResponseCallback`.
+foreign import ccall "wrapper"
+    mk_NativeDialogResponseCallback :: C_NativeDialogResponseCallback -> IO (FunPtr C_NativeDialogResponseCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NativeDialogResponse :: MonadIO m => NativeDialogResponseCallback -> m (GClosure C_NativeDialogResponseCallback)
+genClosure_NativeDialogResponse cb = liftIO $ do
+    let cb' = wrap_NativeDialogResponseCallback cb
+    mk_NativeDialogResponseCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NativeDialogResponseCallback` into a `C_NativeDialogResponseCallback`.
+wrap_NativeDialogResponseCallback ::
+    NativeDialogResponseCallback ->
+    C_NativeDialogResponseCallback
+wrap_NativeDialogResponseCallback _cb _ responseId _ = do
+    _cb  responseId
+
+
+{- |
+Connect a signal handler for the “@response@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' nativeDialog #response callback
+@
+-}
+onNativeDialogResponse :: (IsNativeDialog a, MonadIO m) => a -> NativeDialogResponseCallback -> m SignalHandlerId
+onNativeDialogResponse obj cb = liftIO $ do
+    let cb' = wrap_NativeDialogResponseCallback cb
+    cb'' <- mk_NativeDialogResponseCallback cb'
+    connectSignalFunPtr obj "response" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@response@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' nativeDialog #response callback
+@
+-}
+afterNativeDialogResponse :: (IsNativeDialog a, MonadIO m) => a -> NativeDialogResponseCallback -> m SignalHandlerId
+afterNativeDialogResponse obj cb = liftIO $ do
+    let cb' = wrap_NativeDialogResponseCallback cb
+    cb'' <- mk_NativeDialogResponseCallback cb'
+    connectSignalFunPtr obj "response" cb'' SignalConnectAfter
+
+
+-- VVV Prop "modal"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@modal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' nativeDialog #modal
+@
+-}
+getNativeDialogModal :: (MonadIO m, IsNativeDialog o) => o -> m Bool
+getNativeDialogModal obj = liftIO $ B.Properties.getObjectPropertyBool obj "modal"
+
+{- |
+Set the value of the “@modal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' nativeDialog [ #modal 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNativeDialogModal :: (MonadIO m, IsNativeDialog o) => o -> Bool -> m ()
+setNativeDialogModal obj val = liftIO $ B.Properties.setObjectPropertyBool obj "modal" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@modal@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNativeDialogModal :: (IsNativeDialog o) => Bool -> IO (GValueConstruct o)
+constructNativeDialogModal val = B.Properties.constructObjectPropertyBool "modal" val
+
+#if ENABLE_OVERLOADING
+data NativeDialogModalPropertyInfo
+instance AttrInfo NativeDialogModalPropertyInfo where
+    type AttrAllowedOps NativeDialogModalPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NativeDialogModalPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint NativeDialogModalPropertyInfo = IsNativeDialog
+    type AttrGetType NativeDialogModalPropertyInfo = Bool
+    type AttrLabel NativeDialogModalPropertyInfo = "modal"
+    type AttrOrigin NativeDialogModalPropertyInfo = NativeDialog
+    attrGet _ = getNativeDialogModal
+    attrSet _ = setNativeDialogModal
+    attrConstruct _ = constructNativeDialogModal
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' nativeDialog #title
+@
+-}
+getNativeDialogTitle :: (MonadIO m, IsNativeDialog o) => o -> m (Maybe T.Text)
+getNativeDialogTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' nativeDialog [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNativeDialogTitle :: (MonadIO m, IsNativeDialog o) => o -> T.Text -> m ()
+setNativeDialogTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNativeDialogTitle :: (IsNativeDialog o) => T.Text -> IO (GValueConstruct o)
+constructNativeDialogTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+#if ENABLE_OVERLOADING
+data NativeDialogTitlePropertyInfo
+instance AttrInfo NativeDialogTitlePropertyInfo where
+    type AttrAllowedOps NativeDialogTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NativeDialogTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint NativeDialogTitlePropertyInfo = IsNativeDialog
+    type AttrGetType NativeDialogTitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel NativeDialogTitlePropertyInfo = "title"
+    type AttrOrigin NativeDialogTitlePropertyInfo = NativeDialog
+    attrGet _ = getNativeDialogTitle
+    attrSet _ = setNativeDialogTitle
+    attrConstruct _ = constructNativeDialogTitle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "transient-for"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Window"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@transient-for@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' nativeDialog #transientFor
+@
+-}
+getNativeDialogTransientFor :: (MonadIO m, IsNativeDialog o) => o -> m (Maybe Gtk.Window.Window)
+getNativeDialogTransientFor obj = liftIO $ B.Properties.getObjectPropertyObject obj "transient-for" Gtk.Window.Window
+
+{- |
+Set the value of the “@transient-for@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' nativeDialog [ #transientFor 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNativeDialogTransientFor :: (MonadIO m, IsNativeDialog o, Gtk.Window.IsWindow a) => o -> a -> m ()
+setNativeDialogTransientFor obj val = liftIO $ B.Properties.setObjectPropertyObject obj "transient-for" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@transient-for@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNativeDialogTransientFor :: (IsNativeDialog o, Gtk.Window.IsWindow a) => a -> IO (GValueConstruct o)
+constructNativeDialogTransientFor val = B.Properties.constructObjectPropertyObject "transient-for" (Just val)
+
+{- |
+Set the value of the “@transient-for@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #transientFor
+@
+-}
+clearNativeDialogTransientFor :: (MonadIO m, IsNativeDialog o) => o -> m ()
+clearNativeDialogTransientFor obj = liftIO $ B.Properties.setObjectPropertyObject obj "transient-for" (Nothing :: Maybe Gtk.Window.Window)
+
+#if ENABLE_OVERLOADING
+data NativeDialogTransientForPropertyInfo
+instance AttrInfo NativeDialogTransientForPropertyInfo where
+    type AttrAllowedOps NativeDialogTransientForPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint NativeDialogTransientForPropertyInfo = Gtk.Window.IsWindow
+    type AttrBaseTypeConstraint NativeDialogTransientForPropertyInfo = IsNativeDialog
+    type AttrGetType NativeDialogTransientForPropertyInfo = (Maybe Gtk.Window.Window)
+    type AttrLabel NativeDialogTransientForPropertyInfo = "transient-for"
+    type AttrOrigin NativeDialogTransientForPropertyInfo = NativeDialog
+    attrGet _ = getNativeDialogTransientFor
+    attrSet _ = setNativeDialogTransientFor
+    attrConstruct _ = constructNativeDialogTransientFor
+    attrClear _ = clearNativeDialogTransientFor
+#endif
+
+-- VVV Prop "visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' nativeDialog #visible
+@
+-}
+getNativeDialogVisible :: (MonadIO m, IsNativeDialog o) => o -> m Bool
+getNativeDialogVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible"
+
+{- |
+Set the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' nativeDialog [ #visible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNativeDialogVisible :: (MonadIO m, IsNativeDialog o) => o -> Bool -> m ()
+setNativeDialogVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNativeDialogVisible :: (IsNativeDialog o) => Bool -> IO (GValueConstruct o)
+constructNativeDialogVisible val = B.Properties.constructObjectPropertyBool "visible" val
+
+#if ENABLE_OVERLOADING
+data NativeDialogVisiblePropertyInfo
+instance AttrInfo NativeDialogVisiblePropertyInfo where
+    type AttrAllowedOps NativeDialogVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NativeDialogVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint NativeDialogVisiblePropertyInfo = IsNativeDialog
+    type AttrGetType NativeDialogVisiblePropertyInfo = Bool
+    type AttrLabel NativeDialogVisiblePropertyInfo = "visible"
+    type AttrOrigin NativeDialogVisiblePropertyInfo = NativeDialog
+    attrGet _ = getNativeDialogVisible
+    attrSet _ = setNativeDialogVisible
+    attrConstruct _ = constructNativeDialogVisible
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList NativeDialog
+type instance O.AttributeList NativeDialog = NativeDialogAttributeList
+type NativeDialogAttributeList = ('[ '("modal", NativeDialogModalPropertyInfo), '("title", NativeDialogTitlePropertyInfo), '("transientFor", NativeDialogTransientForPropertyInfo), '("visible", NativeDialogVisiblePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+nativeDialogModal :: AttrLabelProxy "modal"
+nativeDialogModal = AttrLabelProxy
+
+nativeDialogTitle :: AttrLabelProxy "title"
+nativeDialogTitle = AttrLabelProxy
+
+nativeDialogTransientFor :: AttrLabelProxy "transientFor"
+nativeDialogTransientFor = AttrLabelProxy
+
+nativeDialogVisible :: AttrLabelProxy "visible"
+nativeDialogVisible = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data NativeDialogResponseSignalInfo
+instance SignalInfo NativeDialogResponseSignalInfo where
+    type HaskellCallbackType NativeDialogResponseSignalInfo = NativeDialogResponseCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NativeDialogResponseCallback cb
+        cb'' <- mk_NativeDialogResponseCallback cb'
+        connectSignalFunPtr obj "response" cb'' connectMode
+
+type instance O.SignalList NativeDialog = NativeDialogSignalList
+type NativeDialogSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("response", NativeDialogResponseSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method NativeDialog::destroy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_destroy" gtk_native_dialog_destroy :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    IO ()
+
+{- |
+Destroys a dialog.
+
+When a dialog is destroyed, it will break any references it holds
+to other objects. If it is visible it will be hidden and any underlying
+window system resources will be destroyed.
+
+Note that this does not release any reference to the object (as opposed to
+destroying a GtkWindow) because there is no reference from the windowing
+system to the 'GI.Gtk.Objects.NativeDialog.NativeDialog'.
+
+/Since: 3.20/
+-}
+nativeDialogDestroy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> m ()
+nativeDialogDestroy self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    gtk_native_dialog_destroy self'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data NativeDialogDestroyMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogDestroyMethodInfo a signature where
+    overloadedMethod _ = nativeDialogDestroy
+
+#endif
+
+-- method NativeDialog::get_modal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_get_modal" gtk_native_dialog_get_modal :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    IO CInt
+
+{- |
+Returns whether the dialog is modal. See 'GI.Gtk.Objects.NativeDialog.nativeDialogSetModal'.
+
+/Since: 3.20/
+-}
+nativeDialogGetModal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the dialog is set to be modal -}
+nativeDialogGetModal self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_native_dialog_get_modal self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data NativeDialogGetModalMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogGetModalMethodInfo a signature where
+    overloadedMethod _ = nativeDialogGetModal
+
+#endif
+
+-- method NativeDialog::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_get_title" gtk_native_dialog_get_title :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    IO CString
+
+{- |
+Gets the title of the 'GI.Gtk.Objects.NativeDialog.NativeDialog'.
+
+/Since: 3.20/
+-}
+nativeDialogGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the title of the dialog, or 'Nothing' if none has
+   been set explicitly. The returned string is owned by the widget
+   and must not be modified or freed. -}
+nativeDialogGetTitle self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_native_dialog_get_title self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NativeDialogGetTitleMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogGetTitleMethodInfo a signature where
+    overloadedMethod _ = nativeDialogGetTitle
+
+#endif
+
+-- method NativeDialog::get_transient_for
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_get_transient_for" gtk_native_dialog_get_transient_for :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    IO (Ptr Gtk.Window.Window)
+
+{- |
+Fetches the transient parent for this window. See
+'GI.Gtk.Objects.NativeDialog.nativeDialogSetTransientFor'.
+
+/Since: 3.20/
+-}
+nativeDialogGetTransientFor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> m (Maybe Gtk.Window.Window)
+    {- ^ __Returns:__ the transient parent for this window,
+or 'Nothing' if no transient parent has been set. -}
+nativeDialogGetTransientFor self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_native_dialog_get_transient_for self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Window.Window) result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NativeDialogGetTransientForMethodInfo
+instance (signature ~ (m (Maybe Gtk.Window.Window)), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogGetTransientForMethodInfo a signature where
+    overloadedMethod _ = nativeDialogGetTransientFor
+
+#endif
+
+-- method NativeDialog::get_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_get_visible" gtk_native_dialog_get_visible :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    IO CInt
+
+{- |
+Determines whether the dialog is visible.
+
+/Since: 3.20/
+-}
+nativeDialogGetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the dialog is visible -}
+nativeDialogGetVisible self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_native_dialog_get_visible self'
+    let result' = (/= 0) result
+    touchManagedPtr self
+    return result'
+
+#if ENABLE_OVERLOADING
+data NativeDialogGetVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogGetVisibleMethodInfo a signature where
+    overloadedMethod _ = nativeDialogGetVisible
+
+#endif
+
+-- method NativeDialog::hide
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_hide" gtk_native_dialog_hide :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    IO ()
+
+{- |
+Hides the dialog if it is visilbe, aborting any interaction. Once this
+is called the  'GI.Gtk.Objects.NativeDialog.NativeDialog'::@/response/@ signal will not be emitted
+until after the next call to 'GI.Gtk.Objects.NativeDialog.nativeDialogShow'.
+
+If the dialog is not visible this does nothing.
+
+/Since: 3.20/
+-}
+nativeDialogHide ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> m ()
+nativeDialogHide self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    gtk_native_dialog_hide self'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data NativeDialogHideMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogHideMethodInfo a signature where
+    overloadedMethod _ = nativeDialogHide
+
+#endif
+
+-- method NativeDialog::run
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_run" gtk_native_dialog_run :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    IO Int32
+
+{- |
+Blocks in a recursive main loop until /@self@/ emits the
+'GI.Gtk.Objects.NativeDialog.NativeDialog'::@/response/@ signal. It then returns the response ID
+from the ::response signal emission.
+
+Before entering the recursive main loop, 'GI.Gtk.Objects.NativeDialog.nativeDialogRun'
+calls 'GI.Gtk.Objects.NativeDialog.nativeDialogShow' on the dialog for you.
+
+After 'GI.Gtk.Objects.NativeDialog.nativeDialogRun' returns, then dialog will be hidden.
+
+Typical usage of this function might be:
+
+=== /C code/
+>
+>  gint result = gtk_native_dialog_run (GTK_NATIVE_DIALOG (dialog));
+>  switch (result)
+>    {
+>      case GTK_RESPONSE_ACCEPT:
+>         do_application_specific_something ();
+>         break;
+>      default:
+>         do_nothing_since_dialog_was_cancelled ();
+>         break;
+>    }
+>  g_object_unref (dialog);
+
+
+Note that even though the recursive main loop gives the effect of a
+modal dialog (it prevents the user from interacting with other
+windows in the same window group while the dialog is run), callbacks
+such as timeouts, IO channel watches, DND drops, etc, will
+be triggered during a @/gtk_nautilus_dialog_run()/@ call.
+
+/Since: 3.20/
+-}
+nativeDialogRun ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> m Int32
+    {- ^ __Returns:__ response ID -}
+nativeDialogRun self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_native_dialog_run self'
+    touchManagedPtr self
+    return result
+
+#if ENABLE_OVERLOADING
+data NativeDialogRunMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogRunMethodInfo a signature where
+    overloadedMethod _ = nativeDialogRun
+
+#endif
+
+-- method NativeDialog::set_modal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the window is modal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_set_modal" gtk_native_dialog_set_modal :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    CInt ->                                 -- modal : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets a dialog modal or non-modal. Modal dialogs prevent interaction
+with other windows in the same application. To keep modal dialogs
+on top of main application windows, use
+'GI.Gtk.Objects.NativeDialog.nativeDialogSetTransientFor' to make the dialog transient for the
+parent; most [window managers][gtk-X11-arch]
+will then disallow lowering the dialog below the parent.
+
+/Since: 3.20/
+-}
+nativeDialogSetModal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> Bool
+    {- ^ /@modal@/: whether the window is modal -}
+    -> m ()
+nativeDialogSetModal self modal = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    let modal' = (fromIntegral . fromEnum) modal
+    gtk_native_dialog_set_modal self' modal'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data NativeDialogSetModalMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogSetModalMethodInfo a signature where
+    overloadedMethod _ = nativeDialogSetModal
+
+#endif
+
+-- method NativeDialog::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "title of the dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_set_title" gtk_native_dialog_set_title :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the title of the 'GI.Gtk.Objects.NativeDialog.NativeDialog'.
+
+/Since: 3.20/
+-}
+nativeDialogSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> T.Text
+    {- ^ /@title@/: title of the dialog -}
+    -> m ()
+nativeDialogSetTitle self title = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    title' <- textToCString title
+    gtk_native_dialog_set_title self' title'
+    touchManagedPtr self
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data NativeDialogSetTitleMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogSetTitleMethodInfo a signature where
+    overloadedMethod _ = nativeDialogSetTitle
+
+#endif
+
+-- method NativeDialog::set_transient_for
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "parent window, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_set_transient_for" gtk_native_dialog_set_transient_for :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Dialog windows should be set transient for the main application
+window they were spawned from. This allows
+[window managers][gtk-X11-arch] to e.g. keep the
+dialog on top of the main window, or center the dialog over the
+main window.
+
+Passing 'Nothing' for /@parent@/ unsets the current transient window.
+
+/Since: 3.20/
+-}
+nativeDialogSetTransientFor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a, Gtk.Window.IsWindow b) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> Maybe (b)
+    {- ^ /@parent@/: parent window, or 'Nothing' -}
+    -> m ()
+nativeDialogSetTransientFor self parent = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    gtk_native_dialog_set_transient_for self' maybeParent
+    touchManagedPtr self
+    whenJust parent touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data NativeDialogSetTransientForMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsNativeDialog a, Gtk.Window.IsWindow b) => O.MethodInfo NativeDialogSetTransientForMethodInfo a signature where
+    overloadedMethod _ = nativeDialogSetTransientFor
+
+#endif
+
+-- method NativeDialog::show
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NativeDialog"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNativeDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_native_dialog_show" gtk_native_dialog_show :: 
+    Ptr NativeDialog ->                     -- self : TInterface (Name {namespace = "Gtk", name = "NativeDialog"})
+    IO ()
+
+{- |
+Shows the dialog on the display, allowing the user to interact with
+it. When the user accepts the state of the dialog the dialog will
+be automatically hidden and the 'GI.Gtk.Objects.NativeDialog.NativeDialog'::@/response/@ signal
+will be emitted.
+
+Multiple calls while the dialog is visible will be ignored.
+
+/Since: 3.20/
+-}
+nativeDialogShow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNativeDialog a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NativeDialog.NativeDialog' -}
+    -> m ()
+nativeDialogShow self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    gtk_native_dialog_show self'
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data NativeDialogShowMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsNativeDialog a) => O.MethodInfo NativeDialogShowMethodInfo a signature where
+    overloadedMethod _ = nativeDialogShow
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/NativeDialog.hs-boot b/GI/Gtk/Objects/NativeDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/NativeDialog.hs-boot
@@ -0,0 +1,77 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.NativeDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype NativeDialog = NativeDialog (ManagedPtr NativeDialog)
+instance GObject NativeDialog where
+class (GObject o, O.IsDescendantOf NativeDialog o) => IsNativeDialog o
+instance (GObject o, O.IsDescendantOf NativeDialog o) => IsNativeDialog o
+instance O.HasParentTypes NativeDialog
+#if ENABLE_OVERLOADING
+data NativeDialogModalPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogTransientForPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogResponseSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogDestroyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogGetModalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogGetTransientForMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogGetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogHideMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogRunMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogSetModalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogSetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogSetTransientForMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NativeDialogShowMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Notebook.hs b/GI/Gtk/Objects/Notebook.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Notebook.hs
@@ -0,0 +1,4322 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Notebook.Notebook' widget is a 'GI.Gtk.Objects.Container.Container' whose children are pages that
+can be switched between using tab labels along one edge.
+
+There are many configuration options for GtkNotebook. Among other
+things, you can choose on which edge the tabs appear
+(see 'GI.Gtk.Objects.Notebook.notebookSetTabPos'), whether, if there are too many
+tabs to fit the notebook should be made bigger or scrolling
+arrows added (see 'GI.Gtk.Objects.Notebook.notebookSetScrollable'), and whether there
+will be a popup menu allowing the users to switch pages.
+(see 'GI.Gtk.Objects.Notebook.notebookPopupEnable', 'GI.Gtk.Objects.Notebook.notebookPopupDisable')
+
+= GtkNotebook as GtkBuildable
+
+The GtkNotebook implementation of the 'GI.Gtk.Interfaces.Buildable.Buildable' interface
+supports placing children into tabs by specifying “tab” as the
+“type” attribute of a \<child> element. Note that the content
+of the tab must be created before the tab can be filled.
+A tab child can be specified without specifying a \<child>
+type attribute.
+
+To add a child widget in the notebooks action area, specify
+\"action-start\" or “action-end” as the “type” attribute of the
+\<child> element.
+
+An example of a UI definition fragment with GtkNotebook:
+>
+><object class="GtkNotebook">
+>  <child>
+>    <object class="GtkLabel" id="notebook-content">
+>      <property name="label">Content</property>
+>    </object>
+>  </child>
+>  <child type="tab">
+>    <object class="GtkLabel" id="notebook-tab">
+>      <property name="label">Tab</property>
+>    </object>
+>  </child>
+></object>
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>notebook
+>├── header.top
+>│   ├── [<action widget>]
+>│   ├── tabs
+>│   │   ├── [arrow]
+>│   │   ├── tab
+>│   │   │   ╰── <tab label>
+>┊   ┊   ┊
+>│   │   ├── tab[.reorderable-page]
+>│   │   │   ╰── <tab label>
+>│   │   ╰── [arrow]
+>│   ╰── [<action widget>]
+>│
+>╰── stack
+>    ├── <child>
+>    ┊
+>    ╰── <child>
+
+
+GtkNotebook has a main CSS node with name notebook, a subnode
+with name header and below that a subnode with name tabs which
+contains one subnode per tab with name tab.
+
+If action widgets are present, their CSS nodes are placed next
+to the tabs node. If the notebook is scrollable, CSS nodes with
+name arrow are placed as first and last child of the tabs node.
+
+The main node gets the .frame style class when the notebook
+has a border (see 'GI.Gtk.Objects.Notebook.notebookSetShowBorder').
+
+The header node gets one of the style class .top, .bottom,
+.left or .right, depending on where the tabs are placed. For
+reorderable pages, the tab node gets the .reorderable-page class.
+
+A tab node gets the .dnd style class while it is moved with drag-and-drop.
+
+The nodes are always arranged from left-to-right, regarldess of text direction.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Notebook
+    ( 
+
+-- * Exported types
+    Notebook(..)                            ,
+    IsNotebook                              ,
+    toNotebook                              ,
+    noNotebook                              ,
+
+
+ -- * Methods
+-- ** appendPage #method:appendPage#
+
+#if ENABLE_OVERLOADING
+    NotebookAppendPageMethodInfo            ,
+#endif
+    notebookAppendPage                      ,
+
+
+-- ** appendPageMenu #method:appendPageMenu#
+
+#if ENABLE_OVERLOADING
+    NotebookAppendPageMenuMethodInfo        ,
+#endif
+    notebookAppendPageMenu                  ,
+
+
+-- ** detachTab #method:detachTab#
+
+#if ENABLE_OVERLOADING
+    NotebookDetachTabMethodInfo             ,
+#endif
+    notebookDetachTab                       ,
+
+
+-- ** getActionWidget #method:getActionWidget#
+
+#if ENABLE_OVERLOADING
+    NotebookGetActionWidgetMethodInfo       ,
+#endif
+    notebookGetActionWidget                 ,
+
+
+-- ** getCurrentPage #method:getCurrentPage#
+
+#if ENABLE_OVERLOADING
+    NotebookGetCurrentPageMethodInfo        ,
+#endif
+    notebookGetCurrentPage                  ,
+
+
+-- ** getGroupName #method:getGroupName#
+
+#if ENABLE_OVERLOADING
+    NotebookGetGroupNameMethodInfo          ,
+#endif
+    notebookGetGroupName                    ,
+
+
+-- ** getMenuLabel #method:getMenuLabel#
+
+#if ENABLE_OVERLOADING
+    NotebookGetMenuLabelMethodInfo          ,
+#endif
+    notebookGetMenuLabel                    ,
+
+
+-- ** getMenuLabelText #method:getMenuLabelText#
+
+#if ENABLE_OVERLOADING
+    NotebookGetMenuLabelTextMethodInfo      ,
+#endif
+    notebookGetMenuLabelText                ,
+
+
+-- ** getNPages #method:getNPages#
+
+#if ENABLE_OVERLOADING
+    NotebookGetNPagesMethodInfo             ,
+#endif
+    notebookGetNPages                       ,
+
+
+-- ** getNthPage #method:getNthPage#
+
+#if ENABLE_OVERLOADING
+    NotebookGetNthPageMethodInfo            ,
+#endif
+    notebookGetNthPage                      ,
+
+
+-- ** getScrollable #method:getScrollable#
+
+#if ENABLE_OVERLOADING
+    NotebookGetScrollableMethodInfo         ,
+#endif
+    notebookGetScrollable                   ,
+
+
+-- ** getShowBorder #method:getShowBorder#
+
+#if ENABLE_OVERLOADING
+    NotebookGetShowBorderMethodInfo         ,
+#endif
+    notebookGetShowBorder                   ,
+
+
+-- ** getShowTabs #method:getShowTabs#
+
+#if ENABLE_OVERLOADING
+    NotebookGetShowTabsMethodInfo           ,
+#endif
+    notebookGetShowTabs                     ,
+
+
+-- ** getTabDetachable #method:getTabDetachable#
+
+#if ENABLE_OVERLOADING
+    NotebookGetTabDetachableMethodInfo      ,
+#endif
+    notebookGetTabDetachable                ,
+
+
+-- ** getTabHborder #method:getTabHborder#
+
+#if ENABLE_OVERLOADING
+    NotebookGetTabHborderMethodInfo         ,
+#endif
+    notebookGetTabHborder                   ,
+
+
+-- ** getTabLabel #method:getTabLabel#
+
+#if ENABLE_OVERLOADING
+    NotebookGetTabLabelMethodInfo           ,
+#endif
+    notebookGetTabLabel                     ,
+
+
+-- ** getTabLabelText #method:getTabLabelText#
+
+#if ENABLE_OVERLOADING
+    NotebookGetTabLabelTextMethodInfo       ,
+#endif
+    notebookGetTabLabelText                 ,
+
+
+-- ** getTabPos #method:getTabPos#
+
+#if ENABLE_OVERLOADING
+    NotebookGetTabPosMethodInfo             ,
+#endif
+    notebookGetTabPos                       ,
+
+
+-- ** getTabReorderable #method:getTabReorderable#
+
+#if ENABLE_OVERLOADING
+    NotebookGetTabReorderableMethodInfo     ,
+#endif
+    notebookGetTabReorderable               ,
+
+
+-- ** getTabVborder #method:getTabVborder#
+
+#if ENABLE_OVERLOADING
+    NotebookGetTabVborderMethodInfo         ,
+#endif
+    notebookGetTabVborder                   ,
+
+
+-- ** insertPage #method:insertPage#
+
+#if ENABLE_OVERLOADING
+    NotebookInsertPageMethodInfo            ,
+#endif
+    notebookInsertPage                      ,
+
+
+-- ** insertPageMenu #method:insertPageMenu#
+
+#if ENABLE_OVERLOADING
+    NotebookInsertPageMenuMethodInfo        ,
+#endif
+    notebookInsertPageMenu                  ,
+
+
+-- ** new #method:new#
+
+    notebookNew                             ,
+
+
+-- ** nextPage #method:nextPage#
+
+#if ENABLE_OVERLOADING
+    NotebookNextPageMethodInfo              ,
+#endif
+    notebookNextPage                        ,
+
+
+-- ** pageNum #method:pageNum#
+
+#if ENABLE_OVERLOADING
+    NotebookPageNumMethodInfo               ,
+#endif
+    notebookPageNum                         ,
+
+
+-- ** popupDisable #method:popupDisable#
+
+#if ENABLE_OVERLOADING
+    NotebookPopupDisableMethodInfo          ,
+#endif
+    notebookPopupDisable                    ,
+
+
+-- ** popupEnable #method:popupEnable#
+
+#if ENABLE_OVERLOADING
+    NotebookPopupEnableMethodInfo           ,
+#endif
+    notebookPopupEnable                     ,
+
+
+-- ** prependPage #method:prependPage#
+
+#if ENABLE_OVERLOADING
+    NotebookPrependPageMethodInfo           ,
+#endif
+    notebookPrependPage                     ,
+
+
+-- ** prependPageMenu #method:prependPageMenu#
+
+#if ENABLE_OVERLOADING
+    NotebookPrependPageMenuMethodInfo       ,
+#endif
+    notebookPrependPageMenu                 ,
+
+
+-- ** prevPage #method:prevPage#
+
+#if ENABLE_OVERLOADING
+    NotebookPrevPageMethodInfo              ,
+#endif
+    notebookPrevPage                        ,
+
+
+-- ** removePage #method:removePage#
+
+#if ENABLE_OVERLOADING
+    NotebookRemovePageMethodInfo            ,
+#endif
+    notebookRemovePage                      ,
+
+
+-- ** reorderChild #method:reorderChild#
+
+#if ENABLE_OVERLOADING
+    NotebookReorderChildMethodInfo          ,
+#endif
+    notebookReorderChild                    ,
+
+
+-- ** setActionWidget #method:setActionWidget#
+
+#if ENABLE_OVERLOADING
+    NotebookSetActionWidgetMethodInfo       ,
+#endif
+    notebookSetActionWidget                 ,
+
+
+-- ** setCurrentPage #method:setCurrentPage#
+
+#if ENABLE_OVERLOADING
+    NotebookSetCurrentPageMethodInfo        ,
+#endif
+    notebookSetCurrentPage                  ,
+
+
+-- ** setGroupName #method:setGroupName#
+
+#if ENABLE_OVERLOADING
+    NotebookSetGroupNameMethodInfo          ,
+#endif
+    notebookSetGroupName                    ,
+
+
+-- ** setMenuLabel #method:setMenuLabel#
+
+#if ENABLE_OVERLOADING
+    NotebookSetMenuLabelMethodInfo          ,
+#endif
+    notebookSetMenuLabel                    ,
+
+
+-- ** setMenuLabelText #method:setMenuLabelText#
+
+#if ENABLE_OVERLOADING
+    NotebookSetMenuLabelTextMethodInfo      ,
+#endif
+    notebookSetMenuLabelText                ,
+
+
+-- ** setScrollable #method:setScrollable#
+
+#if ENABLE_OVERLOADING
+    NotebookSetScrollableMethodInfo         ,
+#endif
+    notebookSetScrollable                   ,
+
+
+-- ** setShowBorder #method:setShowBorder#
+
+#if ENABLE_OVERLOADING
+    NotebookSetShowBorderMethodInfo         ,
+#endif
+    notebookSetShowBorder                   ,
+
+
+-- ** setShowTabs #method:setShowTabs#
+
+#if ENABLE_OVERLOADING
+    NotebookSetShowTabsMethodInfo           ,
+#endif
+    notebookSetShowTabs                     ,
+
+
+-- ** setTabDetachable #method:setTabDetachable#
+
+#if ENABLE_OVERLOADING
+    NotebookSetTabDetachableMethodInfo      ,
+#endif
+    notebookSetTabDetachable                ,
+
+
+-- ** setTabLabel #method:setTabLabel#
+
+#if ENABLE_OVERLOADING
+    NotebookSetTabLabelMethodInfo           ,
+#endif
+    notebookSetTabLabel                     ,
+
+
+-- ** setTabLabelText #method:setTabLabelText#
+
+#if ENABLE_OVERLOADING
+    NotebookSetTabLabelTextMethodInfo       ,
+#endif
+    notebookSetTabLabelText                 ,
+
+
+-- ** setTabPos #method:setTabPos#
+
+#if ENABLE_OVERLOADING
+    NotebookSetTabPosMethodInfo             ,
+#endif
+    notebookSetTabPos                       ,
+
+
+-- ** setTabReorderable #method:setTabReorderable#
+
+#if ENABLE_OVERLOADING
+    NotebookSetTabReorderableMethodInfo     ,
+#endif
+    notebookSetTabReorderable               ,
+
+
+
+
+ -- * Properties
+-- ** enablePopup #attr:enablePopup#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NotebookEnablePopupPropertyInfo         ,
+#endif
+    constructNotebookEnablePopup            ,
+    getNotebookEnablePopup                  ,
+#if ENABLE_OVERLOADING
+    notebookEnablePopup                     ,
+#endif
+    setNotebookEnablePopup                  ,
+
+
+-- ** groupName #attr:groupName#
+{- | Group name for tab drag and drop.
+
+/Since: 2.24/
+-}
+#if ENABLE_OVERLOADING
+    NotebookGroupNamePropertyInfo           ,
+#endif
+    clearNotebookGroupName                  ,
+    constructNotebookGroupName              ,
+    getNotebookGroupName                    ,
+#if ENABLE_OVERLOADING
+    notebookGroupName                       ,
+#endif
+    setNotebookGroupName                    ,
+
+
+-- ** page #attr:page#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NotebookPagePropertyInfo                ,
+#endif
+    constructNotebookPage                   ,
+    getNotebookPage                         ,
+#if ENABLE_OVERLOADING
+    notebookPage                            ,
+#endif
+    setNotebookPage                         ,
+
+
+-- ** scrollable #attr:scrollable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NotebookScrollablePropertyInfo          ,
+#endif
+    constructNotebookScrollable             ,
+    getNotebookScrollable                   ,
+#if ENABLE_OVERLOADING
+    notebookScrollable                      ,
+#endif
+    setNotebookScrollable                   ,
+
+
+-- ** showBorder #attr:showBorder#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NotebookShowBorderPropertyInfo          ,
+#endif
+    constructNotebookShowBorder             ,
+    getNotebookShowBorder                   ,
+#if ENABLE_OVERLOADING
+    notebookShowBorder                      ,
+#endif
+    setNotebookShowBorder                   ,
+
+
+-- ** showTabs #attr:showTabs#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NotebookShowTabsPropertyInfo            ,
+#endif
+    constructNotebookShowTabs               ,
+    getNotebookShowTabs                     ,
+#if ENABLE_OVERLOADING
+    notebookShowTabs                        ,
+#endif
+    setNotebookShowTabs                     ,
+
+
+-- ** tabPos #attr:tabPos#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NotebookTabPosPropertyInfo              ,
+#endif
+    constructNotebookTabPos                 ,
+    getNotebookTabPos                       ,
+#if ENABLE_OVERLOADING
+    notebookTabPos                          ,
+#endif
+    setNotebookTabPos                       ,
+
+
+
+
+ -- * Signals
+-- ** changeCurrentPage #signal:changeCurrentPage#
+
+    C_NotebookChangeCurrentPageCallback     ,
+    NotebookChangeCurrentPageCallback       ,
+#if ENABLE_OVERLOADING
+    NotebookChangeCurrentPageSignalInfo     ,
+#endif
+    afterNotebookChangeCurrentPage          ,
+    genClosure_NotebookChangeCurrentPage    ,
+    mk_NotebookChangeCurrentPageCallback    ,
+    noNotebookChangeCurrentPageCallback     ,
+    onNotebookChangeCurrentPage             ,
+    wrap_NotebookChangeCurrentPageCallback  ,
+
+
+-- ** createWindow #signal:createWindow#
+
+    C_NotebookCreateWindowCallback          ,
+    NotebookCreateWindowCallback            ,
+#if ENABLE_OVERLOADING
+    NotebookCreateWindowSignalInfo          ,
+#endif
+    afterNotebookCreateWindow               ,
+    genClosure_NotebookCreateWindow         ,
+    mk_NotebookCreateWindowCallback         ,
+    noNotebookCreateWindowCallback          ,
+    onNotebookCreateWindow                  ,
+    wrap_NotebookCreateWindowCallback       ,
+
+
+-- ** focusTab #signal:focusTab#
+
+    C_NotebookFocusTabCallback              ,
+    NotebookFocusTabCallback                ,
+#if ENABLE_OVERLOADING
+    NotebookFocusTabSignalInfo              ,
+#endif
+    afterNotebookFocusTab                   ,
+    genClosure_NotebookFocusTab             ,
+    mk_NotebookFocusTabCallback             ,
+    noNotebookFocusTabCallback              ,
+    onNotebookFocusTab                      ,
+    wrap_NotebookFocusTabCallback           ,
+
+
+-- ** moveFocusOut #signal:moveFocusOut#
+
+    C_NotebookMoveFocusOutCallback          ,
+    NotebookMoveFocusOutCallback            ,
+#if ENABLE_OVERLOADING
+    NotebookMoveFocusOutSignalInfo          ,
+#endif
+    afterNotebookMoveFocusOut               ,
+    genClosure_NotebookMoveFocusOut         ,
+    mk_NotebookMoveFocusOutCallback         ,
+    noNotebookMoveFocusOutCallback          ,
+    onNotebookMoveFocusOut                  ,
+    wrap_NotebookMoveFocusOutCallback       ,
+
+
+-- ** pageAdded #signal:pageAdded#
+
+    C_NotebookPageAddedCallback             ,
+    NotebookPageAddedCallback               ,
+#if ENABLE_OVERLOADING
+    NotebookPageAddedSignalInfo             ,
+#endif
+    afterNotebookPageAdded                  ,
+    genClosure_NotebookPageAdded            ,
+    mk_NotebookPageAddedCallback            ,
+    noNotebookPageAddedCallback             ,
+    onNotebookPageAdded                     ,
+    wrap_NotebookPageAddedCallback          ,
+
+
+-- ** pageRemoved #signal:pageRemoved#
+
+    C_NotebookPageRemovedCallback           ,
+    NotebookPageRemovedCallback             ,
+#if ENABLE_OVERLOADING
+    NotebookPageRemovedSignalInfo           ,
+#endif
+    afterNotebookPageRemoved                ,
+    genClosure_NotebookPageRemoved          ,
+    mk_NotebookPageRemovedCallback          ,
+    noNotebookPageRemovedCallback           ,
+    onNotebookPageRemoved                   ,
+    wrap_NotebookPageRemovedCallback        ,
+
+
+-- ** pageReordered #signal:pageReordered#
+
+    C_NotebookPageReorderedCallback         ,
+    NotebookPageReorderedCallback           ,
+#if ENABLE_OVERLOADING
+    NotebookPageReorderedSignalInfo         ,
+#endif
+    afterNotebookPageReordered              ,
+    genClosure_NotebookPageReordered        ,
+    mk_NotebookPageReorderedCallback        ,
+    noNotebookPageReorderedCallback         ,
+    onNotebookPageReordered                 ,
+    wrap_NotebookPageReorderedCallback      ,
+
+
+-- ** reorderTab #signal:reorderTab#
+
+    C_NotebookReorderTabCallback            ,
+    NotebookReorderTabCallback              ,
+#if ENABLE_OVERLOADING
+    NotebookReorderTabSignalInfo            ,
+#endif
+    afterNotebookReorderTab                 ,
+    genClosure_NotebookReorderTab           ,
+    mk_NotebookReorderTabCallback           ,
+    noNotebookReorderTabCallback            ,
+    onNotebookReorderTab                    ,
+    wrap_NotebookReorderTabCallback         ,
+
+
+-- ** selectPage #signal:selectPage#
+
+    C_NotebookSelectPageCallback            ,
+    NotebookSelectPageCallback              ,
+#if ENABLE_OVERLOADING
+    NotebookSelectPageSignalInfo            ,
+#endif
+    afterNotebookSelectPage                 ,
+    genClosure_NotebookSelectPage           ,
+    mk_NotebookSelectPageCallback           ,
+    noNotebookSelectPageCallback            ,
+    onNotebookSelectPage                    ,
+    wrap_NotebookSelectPageCallback         ,
+
+
+-- ** switchPage #signal:switchPage#
+
+    C_NotebookSwitchPageCallback            ,
+    NotebookSwitchPageCallback              ,
+#if ENABLE_OVERLOADING
+    NotebookSwitchPageSignalInfo            ,
+#endif
+    afterNotebookSwitchPage                 ,
+    genClosure_NotebookSwitchPage           ,
+    mk_NotebookSwitchPageCallback           ,
+    noNotebookSwitchPageCallback            ,
+    onNotebookSwitchPage                    ,
+    wrap_NotebookSwitchPageCallback         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Notebook = Notebook (ManagedPtr Notebook)
+foreign import ccall "gtk_notebook_get_type"
+    c_gtk_notebook_get_type :: IO GType
+
+instance GObject Notebook where
+    gobjectType = c_gtk_notebook_get_type
+    
+
+-- | Type class for types which can be safely cast to `Notebook`, for instance with `toNotebook`.
+class (GObject o, O.IsDescendantOf Notebook o) => IsNotebook o
+instance (GObject o, O.IsDescendantOf Notebook o) => IsNotebook o
+
+instance O.HasParentTypes Notebook
+type instance O.ParentTypes Notebook = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Notebook`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toNotebook :: (MonadIO m, IsNotebook o) => o -> m Notebook
+toNotebook = liftIO . unsafeCastTo Notebook
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Notebook`.
+noNotebook :: Maybe Notebook
+noNotebook = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveNotebookMethod (t :: Symbol) (o :: *) :: * where
+    ResolveNotebookMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveNotebookMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveNotebookMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveNotebookMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveNotebookMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveNotebookMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveNotebookMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveNotebookMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveNotebookMethod "appendPage" o = NotebookAppendPageMethodInfo
+    ResolveNotebookMethod "appendPageMenu" o = NotebookAppendPageMenuMethodInfo
+    ResolveNotebookMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveNotebookMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveNotebookMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveNotebookMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveNotebookMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveNotebookMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveNotebookMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveNotebookMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveNotebookMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveNotebookMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveNotebookMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveNotebookMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveNotebookMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveNotebookMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveNotebookMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveNotebookMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveNotebookMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveNotebookMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveNotebookMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveNotebookMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveNotebookMethod "detachTab" o = NotebookDetachTabMethodInfo
+    ResolveNotebookMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveNotebookMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveNotebookMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveNotebookMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveNotebookMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveNotebookMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveNotebookMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveNotebookMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveNotebookMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveNotebookMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveNotebookMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveNotebookMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveNotebookMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveNotebookMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveNotebookMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveNotebookMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveNotebookMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveNotebookMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveNotebookMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveNotebookMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveNotebookMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveNotebookMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveNotebookMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveNotebookMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveNotebookMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveNotebookMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveNotebookMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveNotebookMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveNotebookMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveNotebookMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveNotebookMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveNotebookMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveNotebookMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveNotebookMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveNotebookMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveNotebookMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveNotebookMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveNotebookMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveNotebookMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveNotebookMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveNotebookMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveNotebookMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveNotebookMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveNotebookMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveNotebookMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveNotebookMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveNotebookMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveNotebookMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveNotebookMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveNotebookMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveNotebookMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveNotebookMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveNotebookMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveNotebookMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveNotebookMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveNotebookMethod "insertPage" o = NotebookInsertPageMethodInfo
+    ResolveNotebookMethod "insertPageMenu" o = NotebookInsertPageMenuMethodInfo
+    ResolveNotebookMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveNotebookMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveNotebookMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveNotebookMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveNotebookMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveNotebookMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveNotebookMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveNotebookMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveNotebookMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveNotebookMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveNotebookMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveNotebookMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveNotebookMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveNotebookMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveNotebookMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveNotebookMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveNotebookMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveNotebookMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveNotebookMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveNotebookMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveNotebookMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveNotebookMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveNotebookMethod "nextPage" o = NotebookNextPageMethodInfo
+    ResolveNotebookMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveNotebookMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveNotebookMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveNotebookMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveNotebookMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveNotebookMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveNotebookMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveNotebookMethod "pageNum" o = NotebookPageNumMethodInfo
+    ResolveNotebookMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveNotebookMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveNotebookMethod "popupDisable" o = NotebookPopupDisableMethodInfo
+    ResolveNotebookMethod "popupEnable" o = NotebookPopupEnableMethodInfo
+    ResolveNotebookMethod "prependPage" o = NotebookPrependPageMethodInfo
+    ResolveNotebookMethod "prependPageMenu" o = NotebookPrependPageMenuMethodInfo
+    ResolveNotebookMethod "prevPage" o = NotebookPrevPageMethodInfo
+    ResolveNotebookMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveNotebookMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveNotebookMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveNotebookMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveNotebookMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveNotebookMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveNotebookMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveNotebookMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveNotebookMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveNotebookMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveNotebookMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveNotebookMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveNotebookMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveNotebookMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveNotebookMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveNotebookMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveNotebookMethod "removePage" o = NotebookRemovePageMethodInfo
+    ResolveNotebookMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveNotebookMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveNotebookMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveNotebookMethod "reorderChild" o = NotebookReorderChildMethodInfo
+    ResolveNotebookMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveNotebookMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveNotebookMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveNotebookMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveNotebookMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveNotebookMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveNotebookMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveNotebookMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveNotebookMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveNotebookMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveNotebookMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveNotebookMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveNotebookMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveNotebookMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveNotebookMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveNotebookMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveNotebookMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveNotebookMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveNotebookMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveNotebookMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveNotebookMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveNotebookMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveNotebookMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveNotebookMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveNotebookMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveNotebookMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveNotebookMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveNotebookMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveNotebookMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveNotebookMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveNotebookMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveNotebookMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveNotebookMethod "getActionWidget" o = NotebookGetActionWidgetMethodInfo
+    ResolveNotebookMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveNotebookMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveNotebookMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveNotebookMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveNotebookMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveNotebookMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveNotebookMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveNotebookMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveNotebookMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveNotebookMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveNotebookMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveNotebookMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveNotebookMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveNotebookMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveNotebookMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveNotebookMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveNotebookMethod "getCurrentPage" o = NotebookGetCurrentPageMethodInfo
+    ResolveNotebookMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveNotebookMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveNotebookMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveNotebookMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveNotebookMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveNotebookMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveNotebookMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveNotebookMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveNotebookMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveNotebookMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveNotebookMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveNotebookMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveNotebookMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveNotebookMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveNotebookMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveNotebookMethod "getGroupName" o = NotebookGetGroupNameMethodInfo
+    ResolveNotebookMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveNotebookMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveNotebookMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveNotebookMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveNotebookMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveNotebookMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveNotebookMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveNotebookMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveNotebookMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveNotebookMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveNotebookMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveNotebookMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveNotebookMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveNotebookMethod "getMenuLabel" o = NotebookGetMenuLabelMethodInfo
+    ResolveNotebookMethod "getMenuLabelText" o = NotebookGetMenuLabelTextMethodInfo
+    ResolveNotebookMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveNotebookMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveNotebookMethod "getNPages" o = NotebookGetNPagesMethodInfo
+    ResolveNotebookMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveNotebookMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveNotebookMethod "getNthPage" o = NotebookGetNthPageMethodInfo
+    ResolveNotebookMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveNotebookMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveNotebookMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveNotebookMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveNotebookMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveNotebookMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveNotebookMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveNotebookMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveNotebookMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveNotebookMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveNotebookMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveNotebookMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveNotebookMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveNotebookMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveNotebookMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveNotebookMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveNotebookMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveNotebookMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveNotebookMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveNotebookMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveNotebookMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveNotebookMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveNotebookMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveNotebookMethod "getScrollable" o = NotebookGetScrollableMethodInfo
+    ResolveNotebookMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveNotebookMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveNotebookMethod "getShowBorder" o = NotebookGetShowBorderMethodInfo
+    ResolveNotebookMethod "getShowTabs" o = NotebookGetShowTabsMethodInfo
+    ResolveNotebookMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveNotebookMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveNotebookMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveNotebookMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveNotebookMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveNotebookMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveNotebookMethod "getTabDetachable" o = NotebookGetTabDetachableMethodInfo
+    ResolveNotebookMethod "getTabHborder" o = NotebookGetTabHborderMethodInfo
+    ResolveNotebookMethod "getTabLabel" o = NotebookGetTabLabelMethodInfo
+    ResolveNotebookMethod "getTabLabelText" o = NotebookGetTabLabelTextMethodInfo
+    ResolveNotebookMethod "getTabPos" o = NotebookGetTabPosMethodInfo
+    ResolveNotebookMethod "getTabReorderable" o = NotebookGetTabReorderableMethodInfo
+    ResolveNotebookMethod "getTabVborder" o = NotebookGetTabVborderMethodInfo
+    ResolveNotebookMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveNotebookMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveNotebookMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveNotebookMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveNotebookMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveNotebookMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveNotebookMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveNotebookMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveNotebookMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveNotebookMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveNotebookMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveNotebookMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveNotebookMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveNotebookMethod "setActionWidget" o = NotebookSetActionWidgetMethodInfo
+    ResolveNotebookMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveNotebookMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveNotebookMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveNotebookMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveNotebookMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveNotebookMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveNotebookMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveNotebookMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveNotebookMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveNotebookMethod "setCurrentPage" o = NotebookSetCurrentPageMethodInfo
+    ResolveNotebookMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveNotebookMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveNotebookMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveNotebookMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveNotebookMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveNotebookMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveNotebookMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveNotebookMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveNotebookMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveNotebookMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveNotebookMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveNotebookMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveNotebookMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveNotebookMethod "setGroupName" o = NotebookSetGroupNameMethodInfo
+    ResolveNotebookMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveNotebookMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveNotebookMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveNotebookMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveNotebookMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveNotebookMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveNotebookMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveNotebookMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveNotebookMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveNotebookMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveNotebookMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveNotebookMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveNotebookMethod "setMenuLabel" o = NotebookSetMenuLabelMethodInfo
+    ResolveNotebookMethod "setMenuLabelText" o = NotebookSetMenuLabelTextMethodInfo
+    ResolveNotebookMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveNotebookMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveNotebookMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveNotebookMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveNotebookMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveNotebookMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveNotebookMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveNotebookMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveNotebookMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveNotebookMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveNotebookMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveNotebookMethod "setScrollable" o = NotebookSetScrollableMethodInfo
+    ResolveNotebookMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveNotebookMethod "setShowBorder" o = NotebookSetShowBorderMethodInfo
+    ResolveNotebookMethod "setShowTabs" o = NotebookSetShowTabsMethodInfo
+    ResolveNotebookMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveNotebookMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveNotebookMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveNotebookMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveNotebookMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveNotebookMethod "setTabDetachable" o = NotebookSetTabDetachableMethodInfo
+    ResolveNotebookMethod "setTabLabel" o = NotebookSetTabLabelMethodInfo
+    ResolveNotebookMethod "setTabLabelText" o = NotebookSetTabLabelTextMethodInfo
+    ResolveNotebookMethod "setTabPos" o = NotebookSetTabPosMethodInfo
+    ResolveNotebookMethod "setTabReorderable" o = NotebookSetTabReorderableMethodInfo
+    ResolveNotebookMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveNotebookMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveNotebookMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveNotebookMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveNotebookMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveNotebookMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveNotebookMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveNotebookMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveNotebookMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveNotebookMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveNotebookMethod t Notebook, O.MethodInfo info Notebook p) => OL.IsLabel t (Notebook -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Notebook::change-current-page
+{- |
+/No description available in the introspection data./
+-}
+type NotebookChangeCurrentPageCallback =
+    Int32
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookChangeCurrentPageCallback`@.
+noNotebookChangeCurrentPageCallback :: Maybe NotebookChangeCurrentPageCallback
+noNotebookChangeCurrentPageCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookChangeCurrentPageCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookChangeCurrentPageCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookChangeCurrentPageCallback :: C_NotebookChangeCurrentPageCallback -> IO (FunPtr C_NotebookChangeCurrentPageCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookChangeCurrentPage :: MonadIO m => NotebookChangeCurrentPageCallback -> m (GClosure C_NotebookChangeCurrentPageCallback)
+genClosure_NotebookChangeCurrentPage cb = liftIO $ do
+    let cb' = wrap_NotebookChangeCurrentPageCallback cb
+    mk_NotebookChangeCurrentPageCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookChangeCurrentPageCallback` into a `C_NotebookChangeCurrentPageCallback`.
+wrap_NotebookChangeCurrentPageCallback ::
+    NotebookChangeCurrentPageCallback ->
+    C_NotebookChangeCurrentPageCallback
+wrap_NotebookChangeCurrentPageCallback _cb _ object _ = do
+    result <- _cb  object
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@change-current-page@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #changeCurrentPage callback
+@
+-}
+onNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> NotebookChangeCurrentPageCallback -> m SignalHandlerId
+onNotebookChangeCurrentPage obj cb = liftIO $ do
+    let cb' = wrap_NotebookChangeCurrentPageCallback cb
+    cb'' <- mk_NotebookChangeCurrentPageCallback cb'
+    connectSignalFunPtr obj "change-current-page" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@change-current-page@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #changeCurrentPage callback
+@
+-}
+afterNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> NotebookChangeCurrentPageCallback -> m SignalHandlerId
+afterNotebookChangeCurrentPage obj cb = liftIO $ do
+    let cb' = wrap_NotebookChangeCurrentPageCallback cb
+    cb'' <- mk_NotebookChangeCurrentPageCallback cb'
+    connectSignalFunPtr obj "change-current-page" cb'' SignalConnectAfter
+
+
+-- signal Notebook::create-window
+{- |
+The ::create-window signal is emitted when a detachable
+tab is dropped on the root window.
+
+A handler for this signal can create a window containing
+a notebook where the tab will be attached. It is also
+responsible for moving\/resizing the window and adding the
+necessary properties to the notebook (e.g. the
+'GI.Gtk.Objects.Notebook.Notebook':@/group-name/@ ).
+
+/Since: 2.12/
+-}
+type NotebookCreateWindowCallback =
+    Gtk.Widget.Widget
+    {- ^ /@page@/: the tab of /@notebook@/ that is being detached -}
+    -> Int32
+    {- ^ /@x@/: the X coordinate where the drop happens -}
+    -> Int32
+    {- ^ /@y@/: the Y coordinate where the drop happens -}
+    -> IO Notebook
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Notebook.Notebook' that /@page@/ should be
+    added to, or 'Nothing'. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookCreateWindowCallback`@.
+noNotebookCreateWindowCallback :: Maybe NotebookCreateWindowCallback
+noNotebookCreateWindowCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookCreateWindowCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Int32 ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO (Ptr Notebook)
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookCreateWindowCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookCreateWindowCallback :: C_NotebookCreateWindowCallback -> IO (FunPtr C_NotebookCreateWindowCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookCreateWindow :: MonadIO m => NotebookCreateWindowCallback -> m (GClosure C_NotebookCreateWindowCallback)
+genClosure_NotebookCreateWindow cb = liftIO $ do
+    let cb' = wrap_NotebookCreateWindowCallback cb
+    mk_NotebookCreateWindowCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookCreateWindowCallback` into a `C_NotebookCreateWindowCallback`.
+wrap_NotebookCreateWindowCallback ::
+    NotebookCreateWindowCallback ->
+    C_NotebookCreateWindowCallback
+wrap_NotebookCreateWindowCallback _cb _ page x y _ = do
+    page' <- (newObject Gtk.Widget.Widget) page
+    result <- _cb  page' x y
+    result' <- unsafeManagedPtrCastPtr result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@create-window@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #createWindow callback
+@
+-}
+onNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> NotebookCreateWindowCallback -> m SignalHandlerId
+onNotebookCreateWindow obj cb = liftIO $ do
+    let cb' = wrap_NotebookCreateWindowCallback cb
+    cb'' <- mk_NotebookCreateWindowCallback cb'
+    connectSignalFunPtr obj "create-window" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@create-window@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #createWindow callback
+@
+-}
+afterNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> NotebookCreateWindowCallback -> m SignalHandlerId
+afterNotebookCreateWindow obj cb = liftIO $ do
+    let cb' = wrap_NotebookCreateWindowCallback cb
+    cb'' <- mk_NotebookCreateWindowCallback cb'
+    connectSignalFunPtr obj "create-window" cb'' SignalConnectAfter
+
+
+-- signal Notebook::focus-tab
+{- |
+/No description available in the introspection data./
+-}
+type NotebookFocusTabCallback =
+    Gtk.Enums.NotebookTab
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookFocusTabCallback`@.
+noNotebookFocusTabCallback :: Maybe NotebookFocusTabCallback
+noNotebookFocusTabCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookFocusTabCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookFocusTabCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookFocusTabCallback :: C_NotebookFocusTabCallback -> IO (FunPtr C_NotebookFocusTabCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookFocusTab :: MonadIO m => NotebookFocusTabCallback -> m (GClosure C_NotebookFocusTabCallback)
+genClosure_NotebookFocusTab cb = liftIO $ do
+    let cb' = wrap_NotebookFocusTabCallback cb
+    mk_NotebookFocusTabCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookFocusTabCallback` into a `C_NotebookFocusTabCallback`.
+wrap_NotebookFocusTabCallback ::
+    NotebookFocusTabCallback ->
+    C_NotebookFocusTabCallback
+wrap_NotebookFocusTabCallback _cb _ object _ = do
+    let object' = (toEnum . fromIntegral) object
+    result <- _cb  object'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@focus-tab@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #focusTab callback
+@
+-}
+onNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> NotebookFocusTabCallback -> m SignalHandlerId
+onNotebookFocusTab obj cb = liftIO $ do
+    let cb' = wrap_NotebookFocusTabCallback cb
+    cb'' <- mk_NotebookFocusTabCallback cb'
+    connectSignalFunPtr obj "focus-tab" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@focus-tab@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #focusTab callback
+@
+-}
+afterNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> NotebookFocusTabCallback -> m SignalHandlerId
+afterNotebookFocusTab obj cb = liftIO $ do
+    let cb' = wrap_NotebookFocusTabCallback cb
+    cb'' <- mk_NotebookFocusTabCallback cb'
+    connectSignalFunPtr obj "focus-tab" cb'' SignalConnectAfter
+
+
+-- signal Notebook::move-focus-out
+{- |
+/No description available in the introspection data./
+-}
+type NotebookMoveFocusOutCallback =
+    Gtk.Enums.DirectionType
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookMoveFocusOutCallback`@.
+noNotebookMoveFocusOutCallback :: Maybe NotebookMoveFocusOutCallback
+noNotebookMoveFocusOutCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookMoveFocusOutCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookMoveFocusOutCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookMoveFocusOutCallback :: C_NotebookMoveFocusOutCallback -> IO (FunPtr C_NotebookMoveFocusOutCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookMoveFocusOut :: MonadIO m => NotebookMoveFocusOutCallback -> m (GClosure C_NotebookMoveFocusOutCallback)
+genClosure_NotebookMoveFocusOut cb = liftIO $ do
+    let cb' = wrap_NotebookMoveFocusOutCallback cb
+    mk_NotebookMoveFocusOutCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookMoveFocusOutCallback` into a `C_NotebookMoveFocusOutCallback`.
+wrap_NotebookMoveFocusOutCallback ::
+    NotebookMoveFocusOutCallback ->
+    C_NotebookMoveFocusOutCallback
+wrap_NotebookMoveFocusOutCallback _cb _ object _ = do
+    let object' = (toEnum . fromIntegral) object
+    _cb  object'
+
+
+{- |
+Connect a signal handler for the “@move-focus-out@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #moveFocusOut callback
+@
+-}
+onNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> NotebookMoveFocusOutCallback -> m SignalHandlerId
+onNotebookMoveFocusOut obj cb = liftIO $ do
+    let cb' = wrap_NotebookMoveFocusOutCallback cb
+    cb'' <- mk_NotebookMoveFocusOutCallback cb'
+    connectSignalFunPtr obj "move-focus-out" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-focus-out@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #moveFocusOut callback
+@
+-}
+afterNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> NotebookMoveFocusOutCallback -> m SignalHandlerId
+afterNotebookMoveFocusOut obj cb = liftIO $ do
+    let cb' = wrap_NotebookMoveFocusOutCallback cb
+    cb'' <- mk_NotebookMoveFocusOutCallback cb'
+    connectSignalFunPtr obj "move-focus-out" cb'' SignalConnectAfter
+
+
+-- signal Notebook::page-added
+{- |
+the ::page-added signal is emitted in the notebook
+right after a page is added to the notebook.
+
+/Since: 2.10/
+-}
+type NotebookPageAddedCallback =
+    Gtk.Widget.Widget
+    {- ^ /@child@/: the child 'GI.Gtk.Objects.Widget.Widget' affected -}
+    -> Word32
+    {- ^ /@pageNum@/: the new page number for /@child@/ -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookPageAddedCallback`@.
+noNotebookPageAddedCallback :: Maybe NotebookPageAddedCallback
+noNotebookPageAddedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookPageAddedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookPageAddedCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookPageAddedCallback :: C_NotebookPageAddedCallback -> IO (FunPtr C_NotebookPageAddedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookPageAdded :: MonadIO m => NotebookPageAddedCallback -> m (GClosure C_NotebookPageAddedCallback)
+genClosure_NotebookPageAdded cb = liftIO $ do
+    let cb' = wrap_NotebookPageAddedCallback cb
+    mk_NotebookPageAddedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookPageAddedCallback` into a `C_NotebookPageAddedCallback`.
+wrap_NotebookPageAddedCallback ::
+    NotebookPageAddedCallback ->
+    C_NotebookPageAddedCallback
+wrap_NotebookPageAddedCallback _cb _ child pageNum _ = do
+    child' <- (newObject Gtk.Widget.Widget) child
+    _cb  child' pageNum
+
+
+{- |
+Connect a signal handler for the “@page-added@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #pageAdded callback
+@
+-}
+onNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> NotebookPageAddedCallback -> m SignalHandlerId
+onNotebookPageAdded obj cb = liftIO $ do
+    let cb' = wrap_NotebookPageAddedCallback cb
+    cb'' <- mk_NotebookPageAddedCallback cb'
+    connectSignalFunPtr obj "page-added" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@page-added@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #pageAdded callback
+@
+-}
+afterNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> NotebookPageAddedCallback -> m SignalHandlerId
+afterNotebookPageAdded obj cb = liftIO $ do
+    let cb' = wrap_NotebookPageAddedCallback cb
+    cb'' <- mk_NotebookPageAddedCallback cb'
+    connectSignalFunPtr obj "page-added" cb'' SignalConnectAfter
+
+
+-- signal Notebook::page-removed
+{- |
+the ::page-removed signal is emitted in the notebook
+right after a page is removed from the notebook.
+
+/Since: 2.10/
+-}
+type NotebookPageRemovedCallback =
+    Gtk.Widget.Widget
+    {- ^ /@child@/: the child 'GI.Gtk.Objects.Widget.Widget' affected -}
+    -> Word32
+    {- ^ /@pageNum@/: the /@child@/ page number -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookPageRemovedCallback`@.
+noNotebookPageRemovedCallback :: Maybe NotebookPageRemovedCallback
+noNotebookPageRemovedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookPageRemovedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookPageRemovedCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookPageRemovedCallback :: C_NotebookPageRemovedCallback -> IO (FunPtr C_NotebookPageRemovedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookPageRemoved :: MonadIO m => NotebookPageRemovedCallback -> m (GClosure C_NotebookPageRemovedCallback)
+genClosure_NotebookPageRemoved cb = liftIO $ do
+    let cb' = wrap_NotebookPageRemovedCallback cb
+    mk_NotebookPageRemovedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookPageRemovedCallback` into a `C_NotebookPageRemovedCallback`.
+wrap_NotebookPageRemovedCallback ::
+    NotebookPageRemovedCallback ->
+    C_NotebookPageRemovedCallback
+wrap_NotebookPageRemovedCallback _cb _ child pageNum _ = do
+    child' <- (newObject Gtk.Widget.Widget) child
+    _cb  child' pageNum
+
+
+{- |
+Connect a signal handler for the “@page-removed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #pageRemoved callback
+@
+-}
+onNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> NotebookPageRemovedCallback -> m SignalHandlerId
+onNotebookPageRemoved obj cb = liftIO $ do
+    let cb' = wrap_NotebookPageRemovedCallback cb
+    cb'' <- mk_NotebookPageRemovedCallback cb'
+    connectSignalFunPtr obj "page-removed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@page-removed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #pageRemoved callback
+@
+-}
+afterNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> NotebookPageRemovedCallback -> m SignalHandlerId
+afterNotebookPageRemoved obj cb = liftIO $ do
+    let cb' = wrap_NotebookPageRemovedCallback cb
+    cb'' <- mk_NotebookPageRemovedCallback cb'
+    connectSignalFunPtr obj "page-removed" cb'' SignalConnectAfter
+
+
+-- signal Notebook::page-reordered
+{- |
+the ::page-reordered signal is emitted in the notebook
+right after a page has been reordered.
+
+/Since: 2.10/
+-}
+type NotebookPageReorderedCallback =
+    Gtk.Widget.Widget
+    {- ^ /@child@/: the child 'GI.Gtk.Objects.Widget.Widget' affected -}
+    -> Word32
+    {- ^ /@pageNum@/: the new page number for /@child@/ -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookPageReorderedCallback`@.
+noNotebookPageReorderedCallback :: Maybe NotebookPageReorderedCallback
+noNotebookPageReorderedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookPageReorderedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookPageReorderedCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookPageReorderedCallback :: C_NotebookPageReorderedCallback -> IO (FunPtr C_NotebookPageReorderedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookPageReordered :: MonadIO m => NotebookPageReorderedCallback -> m (GClosure C_NotebookPageReorderedCallback)
+genClosure_NotebookPageReordered cb = liftIO $ do
+    let cb' = wrap_NotebookPageReorderedCallback cb
+    mk_NotebookPageReorderedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookPageReorderedCallback` into a `C_NotebookPageReorderedCallback`.
+wrap_NotebookPageReorderedCallback ::
+    NotebookPageReorderedCallback ->
+    C_NotebookPageReorderedCallback
+wrap_NotebookPageReorderedCallback _cb _ child pageNum _ = do
+    child' <- (newObject Gtk.Widget.Widget) child
+    _cb  child' pageNum
+
+
+{- |
+Connect a signal handler for the “@page-reordered@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #pageReordered callback
+@
+-}
+onNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> NotebookPageReorderedCallback -> m SignalHandlerId
+onNotebookPageReordered obj cb = liftIO $ do
+    let cb' = wrap_NotebookPageReorderedCallback cb
+    cb'' <- mk_NotebookPageReorderedCallback cb'
+    connectSignalFunPtr obj "page-reordered" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@page-reordered@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #pageReordered callback
+@
+-}
+afterNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> NotebookPageReorderedCallback -> m SignalHandlerId
+afterNotebookPageReordered obj cb = liftIO $ do
+    let cb' = wrap_NotebookPageReorderedCallback cb
+    cb'' <- mk_NotebookPageReorderedCallback cb'
+    connectSignalFunPtr obj "page-reordered" cb'' SignalConnectAfter
+
+
+-- signal Notebook::reorder-tab
+{- |
+/No description available in the introspection data./
+-}
+type NotebookReorderTabCallback =
+    Gtk.Enums.DirectionType
+    -> Bool
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookReorderTabCallback`@.
+noNotebookReorderTabCallback :: Maybe NotebookReorderTabCallback
+noNotebookReorderTabCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookReorderTabCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookReorderTabCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookReorderTabCallback :: C_NotebookReorderTabCallback -> IO (FunPtr C_NotebookReorderTabCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookReorderTab :: MonadIO m => NotebookReorderTabCallback -> m (GClosure C_NotebookReorderTabCallback)
+genClosure_NotebookReorderTab cb = liftIO $ do
+    let cb' = wrap_NotebookReorderTabCallback cb
+    mk_NotebookReorderTabCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookReorderTabCallback` into a `C_NotebookReorderTabCallback`.
+wrap_NotebookReorderTabCallback ::
+    NotebookReorderTabCallback ->
+    C_NotebookReorderTabCallback
+wrap_NotebookReorderTabCallback _cb _ object p0 _ = do
+    let object' = (toEnum . fromIntegral) object
+    let p0' = (/= 0) p0
+    result <- _cb  object' p0'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@reorder-tab@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #reorderTab callback
+@
+-}
+onNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> NotebookReorderTabCallback -> m SignalHandlerId
+onNotebookReorderTab obj cb = liftIO $ do
+    let cb' = wrap_NotebookReorderTabCallback cb
+    cb'' <- mk_NotebookReorderTabCallback cb'
+    connectSignalFunPtr obj "reorder-tab" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@reorder-tab@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #reorderTab callback
+@
+-}
+afterNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> NotebookReorderTabCallback -> m SignalHandlerId
+afterNotebookReorderTab obj cb = liftIO $ do
+    let cb' = wrap_NotebookReorderTabCallback cb
+    cb'' <- mk_NotebookReorderTabCallback cb'
+    connectSignalFunPtr obj "reorder-tab" cb'' SignalConnectAfter
+
+
+-- signal Notebook::select-page
+{- |
+/No description available in the introspection data./
+-}
+type NotebookSelectPageCallback =
+    Bool
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookSelectPageCallback`@.
+noNotebookSelectPageCallback :: Maybe NotebookSelectPageCallback
+noNotebookSelectPageCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookSelectPageCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookSelectPageCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookSelectPageCallback :: C_NotebookSelectPageCallback -> IO (FunPtr C_NotebookSelectPageCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookSelectPage :: MonadIO m => NotebookSelectPageCallback -> m (GClosure C_NotebookSelectPageCallback)
+genClosure_NotebookSelectPage cb = liftIO $ do
+    let cb' = wrap_NotebookSelectPageCallback cb
+    mk_NotebookSelectPageCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookSelectPageCallback` into a `C_NotebookSelectPageCallback`.
+wrap_NotebookSelectPageCallback ::
+    NotebookSelectPageCallback ->
+    C_NotebookSelectPageCallback
+wrap_NotebookSelectPageCallback _cb _ object _ = do
+    let object' = (/= 0) object
+    result <- _cb  object'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@select-page@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #selectPage callback
+@
+-}
+onNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> NotebookSelectPageCallback -> m SignalHandlerId
+onNotebookSelectPage obj cb = liftIO $ do
+    let cb' = wrap_NotebookSelectPageCallback cb
+    cb'' <- mk_NotebookSelectPageCallback cb'
+    connectSignalFunPtr obj "select-page" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select-page@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #selectPage callback
+@
+-}
+afterNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> NotebookSelectPageCallback -> m SignalHandlerId
+afterNotebookSelectPage obj cb = liftIO $ do
+    let cb' = wrap_NotebookSelectPageCallback cb
+    cb'' <- mk_NotebookSelectPageCallback cb'
+    connectSignalFunPtr obj "select-page" cb'' SignalConnectAfter
+
+
+-- signal Notebook::switch-page
+{- |
+Emitted when the user or a function changes the current page.
+-}
+type NotebookSwitchPageCallback =
+    Gtk.Widget.Widget
+    {- ^ /@page@/: the new current page -}
+    -> Word32
+    {- ^ /@pageNum@/: the index of the page -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `NotebookSwitchPageCallback`@.
+noNotebookSwitchPageCallback :: Maybe NotebookSwitchPageCallback
+noNotebookSwitchPageCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_NotebookSwitchPageCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_NotebookSwitchPageCallback`.
+foreign import ccall "wrapper"
+    mk_NotebookSwitchPageCallback :: C_NotebookSwitchPageCallback -> IO (FunPtr C_NotebookSwitchPageCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_NotebookSwitchPage :: MonadIO m => NotebookSwitchPageCallback -> m (GClosure C_NotebookSwitchPageCallback)
+genClosure_NotebookSwitchPage cb = liftIO $ do
+    let cb' = wrap_NotebookSwitchPageCallback cb
+    mk_NotebookSwitchPageCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `NotebookSwitchPageCallback` into a `C_NotebookSwitchPageCallback`.
+wrap_NotebookSwitchPageCallback ::
+    NotebookSwitchPageCallback ->
+    C_NotebookSwitchPageCallback
+wrap_NotebookSwitchPageCallback _cb _ page pageNum _ = do
+    page' <- (newObject Gtk.Widget.Widget) page
+    _cb  page' pageNum
+
+
+{- |
+Connect a signal handler for the “@switch-page@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' notebook #switchPage callback
+@
+-}
+onNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> NotebookSwitchPageCallback -> m SignalHandlerId
+onNotebookSwitchPage obj cb = liftIO $ do
+    let cb' = wrap_NotebookSwitchPageCallback cb
+    cb'' <- mk_NotebookSwitchPageCallback cb'
+    connectSignalFunPtr obj "switch-page" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@switch-page@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' notebook #switchPage callback
+@
+-}
+afterNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> NotebookSwitchPageCallback -> m SignalHandlerId
+afterNotebookSwitchPage obj cb = liftIO $ do
+    let cb' = wrap_NotebookSwitchPageCallback cb
+    cb'' <- mk_NotebookSwitchPageCallback cb'
+    connectSignalFunPtr obj "switch-page" cb'' SignalConnectAfter
+
+
+-- VVV Prop "enable-popup"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@enable-popup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' notebook #enablePopup
+@
+-}
+getNotebookEnablePopup :: (MonadIO m, IsNotebook o) => o -> m Bool
+getNotebookEnablePopup obj = liftIO $ B.Properties.getObjectPropertyBool obj "enable-popup"
+
+{- |
+Set the value of the “@enable-popup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' notebook [ #enablePopup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNotebookEnablePopup :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
+setNotebookEnablePopup obj val = liftIO $ B.Properties.setObjectPropertyBool obj "enable-popup" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@enable-popup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNotebookEnablePopup :: (IsNotebook o) => Bool -> IO (GValueConstruct o)
+constructNotebookEnablePopup val = B.Properties.constructObjectPropertyBool "enable-popup" val
+
+#if ENABLE_OVERLOADING
+data NotebookEnablePopupPropertyInfo
+instance AttrInfo NotebookEnablePopupPropertyInfo where
+    type AttrAllowedOps NotebookEnablePopupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NotebookEnablePopupPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint NotebookEnablePopupPropertyInfo = IsNotebook
+    type AttrGetType NotebookEnablePopupPropertyInfo = Bool
+    type AttrLabel NotebookEnablePopupPropertyInfo = "enable-popup"
+    type AttrOrigin NotebookEnablePopupPropertyInfo = Notebook
+    attrGet _ = getNotebookEnablePopup
+    attrSet _ = setNotebookEnablePopup
+    attrConstruct _ = constructNotebookEnablePopup
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "group-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@group-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' notebook #groupName
+@
+-}
+getNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> m (Maybe T.Text)
+getNotebookGroupName obj = liftIO $ B.Properties.getObjectPropertyString obj "group-name"
+
+{- |
+Set the value of the “@group-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' notebook [ #groupName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> T.Text -> m ()
+setNotebookGroupName obj val = liftIO $ B.Properties.setObjectPropertyString obj "group-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@group-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNotebookGroupName :: (IsNotebook o) => T.Text -> IO (GValueConstruct o)
+constructNotebookGroupName val = B.Properties.constructObjectPropertyString "group-name" (Just val)
+
+{- |
+Set the value of the “@group-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #groupName
+@
+-}
+clearNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> m ()
+clearNotebookGroupName obj = liftIO $ B.Properties.setObjectPropertyString obj "group-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data NotebookGroupNamePropertyInfo
+instance AttrInfo NotebookGroupNamePropertyInfo where
+    type AttrAllowedOps NotebookGroupNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint NotebookGroupNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint NotebookGroupNamePropertyInfo = IsNotebook
+    type AttrGetType NotebookGroupNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel NotebookGroupNamePropertyInfo = "group-name"
+    type AttrOrigin NotebookGroupNamePropertyInfo = Notebook
+    attrGet _ = getNotebookGroupName
+    attrSet _ = setNotebookGroupName
+    attrConstruct _ = constructNotebookGroupName
+    attrClear _ = clearNotebookGroupName
+#endif
+
+-- VVV Prop "page"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@page@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' notebook #page
+@
+-}
+getNotebookPage :: (MonadIO m, IsNotebook o) => o -> m Int32
+getNotebookPage obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "page"
+
+{- |
+Set the value of the “@page@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' notebook [ #page 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNotebookPage :: (MonadIO m, IsNotebook o) => o -> Int32 -> m ()
+setNotebookPage obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "page" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@page@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNotebookPage :: (IsNotebook o) => Int32 -> IO (GValueConstruct o)
+constructNotebookPage val = B.Properties.constructObjectPropertyInt32 "page" val
+
+#if ENABLE_OVERLOADING
+data NotebookPagePropertyInfo
+instance AttrInfo NotebookPagePropertyInfo where
+    type AttrAllowedOps NotebookPagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NotebookPagePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint NotebookPagePropertyInfo = IsNotebook
+    type AttrGetType NotebookPagePropertyInfo = Int32
+    type AttrLabel NotebookPagePropertyInfo = "page"
+    type AttrOrigin NotebookPagePropertyInfo = Notebook
+    attrGet _ = getNotebookPage
+    attrSet _ = setNotebookPage
+    attrConstruct _ = constructNotebookPage
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "scrollable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@scrollable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' notebook #scrollable
+@
+-}
+getNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> m Bool
+getNotebookScrollable obj = liftIO $ B.Properties.getObjectPropertyBool obj "scrollable"
+
+{- |
+Set the value of the “@scrollable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' notebook [ #scrollable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
+setNotebookScrollable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "scrollable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@scrollable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNotebookScrollable :: (IsNotebook o) => Bool -> IO (GValueConstruct o)
+constructNotebookScrollable val = B.Properties.constructObjectPropertyBool "scrollable" val
+
+#if ENABLE_OVERLOADING
+data NotebookScrollablePropertyInfo
+instance AttrInfo NotebookScrollablePropertyInfo where
+    type AttrAllowedOps NotebookScrollablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NotebookScrollablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint NotebookScrollablePropertyInfo = IsNotebook
+    type AttrGetType NotebookScrollablePropertyInfo = Bool
+    type AttrLabel NotebookScrollablePropertyInfo = "scrollable"
+    type AttrOrigin NotebookScrollablePropertyInfo = Notebook
+    attrGet _ = getNotebookScrollable
+    attrSet _ = setNotebookScrollable
+    attrConstruct _ = constructNotebookScrollable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-border"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-border@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' notebook #showBorder
+@
+-}
+getNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> m Bool
+getNotebookShowBorder obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-border"
+
+{- |
+Set the value of the “@show-border@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' notebook [ #showBorder 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
+setNotebookShowBorder obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-border" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-border@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNotebookShowBorder :: (IsNotebook o) => Bool -> IO (GValueConstruct o)
+constructNotebookShowBorder val = B.Properties.constructObjectPropertyBool "show-border" val
+
+#if ENABLE_OVERLOADING
+data NotebookShowBorderPropertyInfo
+instance AttrInfo NotebookShowBorderPropertyInfo where
+    type AttrAllowedOps NotebookShowBorderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NotebookShowBorderPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint NotebookShowBorderPropertyInfo = IsNotebook
+    type AttrGetType NotebookShowBorderPropertyInfo = Bool
+    type AttrLabel NotebookShowBorderPropertyInfo = "show-border"
+    type AttrOrigin NotebookShowBorderPropertyInfo = Notebook
+    attrGet _ = getNotebookShowBorder
+    attrSet _ = setNotebookShowBorder
+    attrConstruct _ = constructNotebookShowBorder
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-tabs"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-tabs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' notebook #showTabs
+@
+-}
+getNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> m Bool
+getNotebookShowTabs obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-tabs"
+
+{- |
+Set the value of the “@show-tabs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' notebook [ #showTabs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
+setNotebookShowTabs obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-tabs" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-tabs@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNotebookShowTabs :: (IsNotebook o) => Bool -> IO (GValueConstruct o)
+constructNotebookShowTabs val = B.Properties.constructObjectPropertyBool "show-tabs" val
+
+#if ENABLE_OVERLOADING
+data NotebookShowTabsPropertyInfo
+instance AttrInfo NotebookShowTabsPropertyInfo where
+    type AttrAllowedOps NotebookShowTabsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NotebookShowTabsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint NotebookShowTabsPropertyInfo = IsNotebook
+    type AttrGetType NotebookShowTabsPropertyInfo = Bool
+    type AttrLabel NotebookShowTabsPropertyInfo = "show-tabs"
+    type AttrOrigin NotebookShowTabsPropertyInfo = Notebook
+    attrGet _ = getNotebookShowTabs
+    attrSet _ = setNotebookShowTabs
+    attrConstruct _ = constructNotebookShowTabs
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tab-pos"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PositionType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@tab-pos@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' notebook #tabPos
+@
+-}
+getNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> m Gtk.Enums.PositionType
+getNotebookTabPos obj = liftIO $ B.Properties.getObjectPropertyEnum obj "tab-pos"
+
+{- |
+Set the value of the “@tab-pos@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' notebook [ #tabPos 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> Gtk.Enums.PositionType -> m ()
+setNotebookTabPos obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "tab-pos" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tab-pos@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNotebookTabPos :: (IsNotebook o) => Gtk.Enums.PositionType -> IO (GValueConstruct o)
+constructNotebookTabPos val = B.Properties.constructObjectPropertyEnum "tab-pos" val
+
+#if ENABLE_OVERLOADING
+data NotebookTabPosPropertyInfo
+instance AttrInfo NotebookTabPosPropertyInfo where
+    type AttrAllowedOps NotebookTabPosPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NotebookTabPosPropertyInfo = (~) Gtk.Enums.PositionType
+    type AttrBaseTypeConstraint NotebookTabPosPropertyInfo = IsNotebook
+    type AttrGetType NotebookTabPosPropertyInfo = Gtk.Enums.PositionType
+    type AttrLabel NotebookTabPosPropertyInfo = "tab-pos"
+    type AttrOrigin NotebookTabPosPropertyInfo = Notebook
+    attrGet _ = getNotebookTabPos
+    attrSet _ = setNotebookTabPos
+    attrConstruct _ = constructNotebookTabPos
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Notebook
+type instance O.AttributeList Notebook = NotebookAttributeList
+type NotebookAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("enablePopup", NotebookEnablePopupPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("groupName", NotebookGroupNamePropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("page", NotebookPagePropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("scrollable", NotebookScrollablePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showBorder", NotebookShowBorderPropertyInfo), '("showTabs", NotebookShowTabsPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tabPos", NotebookTabPosPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+notebookEnablePopup :: AttrLabelProxy "enablePopup"
+notebookEnablePopup = AttrLabelProxy
+
+notebookGroupName :: AttrLabelProxy "groupName"
+notebookGroupName = AttrLabelProxy
+
+notebookPage :: AttrLabelProxy "page"
+notebookPage = AttrLabelProxy
+
+notebookScrollable :: AttrLabelProxy "scrollable"
+notebookScrollable = AttrLabelProxy
+
+notebookShowBorder :: AttrLabelProxy "showBorder"
+notebookShowBorder = AttrLabelProxy
+
+notebookShowTabs :: AttrLabelProxy "showTabs"
+notebookShowTabs = AttrLabelProxy
+
+notebookTabPos :: AttrLabelProxy "tabPos"
+notebookTabPos = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data NotebookChangeCurrentPageSignalInfo
+instance SignalInfo NotebookChangeCurrentPageSignalInfo where
+    type HaskellCallbackType NotebookChangeCurrentPageSignalInfo = NotebookChangeCurrentPageCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookChangeCurrentPageCallback cb
+        cb'' <- mk_NotebookChangeCurrentPageCallback cb'
+        connectSignalFunPtr obj "change-current-page" cb'' connectMode
+
+data NotebookCreateWindowSignalInfo
+instance SignalInfo NotebookCreateWindowSignalInfo where
+    type HaskellCallbackType NotebookCreateWindowSignalInfo = NotebookCreateWindowCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookCreateWindowCallback cb
+        cb'' <- mk_NotebookCreateWindowCallback cb'
+        connectSignalFunPtr obj "create-window" cb'' connectMode
+
+data NotebookFocusTabSignalInfo
+instance SignalInfo NotebookFocusTabSignalInfo where
+    type HaskellCallbackType NotebookFocusTabSignalInfo = NotebookFocusTabCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookFocusTabCallback cb
+        cb'' <- mk_NotebookFocusTabCallback cb'
+        connectSignalFunPtr obj "focus-tab" cb'' connectMode
+
+data NotebookMoveFocusOutSignalInfo
+instance SignalInfo NotebookMoveFocusOutSignalInfo where
+    type HaskellCallbackType NotebookMoveFocusOutSignalInfo = NotebookMoveFocusOutCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookMoveFocusOutCallback cb
+        cb'' <- mk_NotebookMoveFocusOutCallback cb'
+        connectSignalFunPtr obj "move-focus-out" cb'' connectMode
+
+data NotebookPageAddedSignalInfo
+instance SignalInfo NotebookPageAddedSignalInfo where
+    type HaskellCallbackType NotebookPageAddedSignalInfo = NotebookPageAddedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookPageAddedCallback cb
+        cb'' <- mk_NotebookPageAddedCallback cb'
+        connectSignalFunPtr obj "page-added" cb'' connectMode
+
+data NotebookPageRemovedSignalInfo
+instance SignalInfo NotebookPageRemovedSignalInfo where
+    type HaskellCallbackType NotebookPageRemovedSignalInfo = NotebookPageRemovedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookPageRemovedCallback cb
+        cb'' <- mk_NotebookPageRemovedCallback cb'
+        connectSignalFunPtr obj "page-removed" cb'' connectMode
+
+data NotebookPageReorderedSignalInfo
+instance SignalInfo NotebookPageReorderedSignalInfo where
+    type HaskellCallbackType NotebookPageReorderedSignalInfo = NotebookPageReorderedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookPageReorderedCallback cb
+        cb'' <- mk_NotebookPageReorderedCallback cb'
+        connectSignalFunPtr obj "page-reordered" cb'' connectMode
+
+data NotebookReorderTabSignalInfo
+instance SignalInfo NotebookReorderTabSignalInfo where
+    type HaskellCallbackType NotebookReorderTabSignalInfo = NotebookReorderTabCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookReorderTabCallback cb
+        cb'' <- mk_NotebookReorderTabCallback cb'
+        connectSignalFunPtr obj "reorder-tab" cb'' connectMode
+
+data NotebookSelectPageSignalInfo
+instance SignalInfo NotebookSelectPageSignalInfo where
+    type HaskellCallbackType NotebookSelectPageSignalInfo = NotebookSelectPageCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookSelectPageCallback cb
+        cb'' <- mk_NotebookSelectPageCallback cb'
+        connectSignalFunPtr obj "select-page" cb'' connectMode
+
+data NotebookSwitchPageSignalInfo
+instance SignalInfo NotebookSwitchPageSignalInfo where
+    type HaskellCallbackType NotebookSwitchPageSignalInfo = NotebookSwitchPageCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_NotebookSwitchPageCallback cb
+        cb'' <- mk_NotebookSwitchPageCallback cb'
+        connectSignalFunPtr obj "switch-page" cb'' connectMode
+
+type instance O.SignalList Notebook = NotebookSignalList
+type NotebookSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeCurrentPage", NotebookChangeCurrentPageSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("createWindow", NotebookCreateWindowSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("focusTab", NotebookFocusTabSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveFocusOut", NotebookMoveFocusOutSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pageAdded", NotebookPageAddedSignalInfo), '("pageRemoved", NotebookPageRemovedSignalInfo), '("pageReordered", NotebookPageReorderedSignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("reorderTab", NotebookReorderTabSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectPage", NotebookSelectPageSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("switchPage", NotebookSwitchPageSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Notebook::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Notebook"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_new" gtk_notebook_new :: 
+    IO (Ptr Notebook)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Notebook.Notebook' widget with no pages.
+-}
+notebookNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Notebook
+    {- ^ __Returns:__ the newly created 'GI.Gtk.Objects.Notebook.Notebook' -}
+notebookNew  = liftIO $ do
+    result <- gtk_notebook_new
+    checkUnexpectedReturnNULL "notebookNew" result
+    result' <- (newObject Notebook) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Notebook::append_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to use as the contents of the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be used as the label\n    for the page, or %NULL to use the default label, \8220page N\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_append_page" gtk_notebook_append_page :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- tab_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Appends a page to /@notebook@/.
+-}
+notebookAppendPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to use as the contents of the page -}
+    -> Maybe (c)
+    {- ^ /@tabLabel@/: the 'GI.Gtk.Objects.Widget.Widget' to be used as the label
+    for the page, or 'Nothing' to use the default label, “page N” -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting from 0) of the appended
+    page in the notebook, or -1 if function fails -}
+notebookAppendPage notebook child tabLabel = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    maybeTabLabel <- case tabLabel of
+        Nothing -> return nullPtr
+        Just jTabLabel -> do
+            jTabLabel' <- unsafeManagedPtrCastPtr jTabLabel
+            return jTabLabel'
+    result <- gtk_notebook_append_page notebook' child' maybeTabLabel
+    touchManagedPtr notebook
+    touchManagedPtr child
+    whenJust tabLabel touchManagedPtr
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookAppendPageMethodInfo
+instance (signature ~ (b -> Maybe (c) -> m Int32), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) => O.MethodInfo NotebookAppendPageMethodInfo a signature where
+    overloadedMethod _ = notebookAppendPage
+
+#endif
+
+-- method Notebook::append_page_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to use as the contents of the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be used as the label\n    for the page, or %NULL to use the default label, \8220page N\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget to use as a label for the\n    page-switch menu, if that is enabled. If %NULL, and @tab_label\n    is a #GtkLabel or %NULL, then the menu label will be a newly\n    created label with the same text as @tab_label; if @tab_label\n    is not a #GtkLabel, @menu_label must be specified if the\n    page-switch menu is to be used.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_append_page_menu" gtk_notebook_append_page_menu :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- tab_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- menu_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Appends a page to /@notebook@/, specifying the widget to use as the
+label in the popup menu.
+-}
+notebookAppendPageMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c, Gtk.Widget.IsWidget d) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to use as the contents of the page -}
+    -> Maybe (c)
+    {- ^ /@tabLabel@/: the 'GI.Gtk.Objects.Widget.Widget' to be used as the label
+    for the page, or 'Nothing' to use the default label, “page N” -}
+    -> Maybe (d)
+    {- ^ /@menuLabel@/: the widget to use as a label for the
+    page-switch menu, if that is enabled. If 'Nothing', and /@tabLabel@/
+    is a 'GI.Gtk.Objects.Label.Label' or 'Nothing', then the menu label will be a newly
+    created label with the same text as /@tabLabel@/; if /@tabLabel@/
+    is not a 'GI.Gtk.Objects.Label.Label', /@menuLabel@/ must be specified if the
+    page-switch menu is to be used. -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting from 0) of the appended
+    page in the notebook, or -1 if function fails -}
+notebookAppendPageMenu notebook child tabLabel menuLabel = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    maybeTabLabel <- case tabLabel of
+        Nothing -> return nullPtr
+        Just jTabLabel -> do
+            jTabLabel' <- unsafeManagedPtrCastPtr jTabLabel
+            return jTabLabel'
+    maybeMenuLabel <- case menuLabel of
+        Nothing -> return nullPtr
+        Just jMenuLabel -> do
+            jMenuLabel' <- unsafeManagedPtrCastPtr jMenuLabel
+            return jMenuLabel'
+    result <- gtk_notebook_append_page_menu notebook' child' maybeTabLabel maybeMenuLabel
+    touchManagedPtr notebook
+    touchManagedPtr child
+    whenJust tabLabel touchManagedPtr
+    whenJust menuLabel touchManagedPtr
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookAppendPageMenuMethodInfo
+instance (signature ~ (b -> Maybe (c) -> Maybe (d) -> m Int32), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c, Gtk.Widget.IsWidget d) => O.MethodInfo NotebookAppendPageMenuMethodInfo a signature where
+    overloadedMethod _ = notebookAppendPageMenu
+
+#endif
+
+-- method Notebook::detach_tab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_detach_tab" gtk_notebook_detach_tab :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Removes the child from the notebook.
+
+This function is very similar to 'GI.Gtk.Objects.Container.containerRemove',
+but additionally informs the notebook that the removal
+is happening as part of a tab DND operation, which should
+not be cancelled.
+
+/Since: 3.16/
+-}
+notebookDetachTab ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: a child -}
+    -> m ()
+notebookDetachTab notebook child = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_notebook_detach_tab notebook' child'
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookDetachTabMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookDetachTabMethodInfo a signature where
+    overloadedMethod _ = notebookDetachTab
+
+#endif
+
+-- method Notebook::get_action_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pack_type", argType = TInterface (Name {namespace = "Gtk", name = "PackType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pack type of the action widget to receive", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_action_widget" gtk_notebook_get_action_widget :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    CUInt ->                                -- pack_type : TInterface (Name {namespace = "Gtk", name = "PackType"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets one of the action widgets. See 'GI.Gtk.Objects.Notebook.notebookSetActionWidget'.
+
+/Since: 2.20/
+-}
+notebookGetActionWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> Gtk.Enums.PackType
+    {- ^ /@packType@/: pack type of the action widget to receive -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ The action widget with the given
+/@packType@/ or 'Nothing' when this action widget has not been set -}
+notebookGetActionWidget notebook packType = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    let packType' = (fromIntegral . fromEnum) packType
+    result <- gtk_notebook_get_action_widget notebook' packType'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr notebook
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NotebookGetActionWidgetMethodInfo
+instance (signature ~ (Gtk.Enums.PackType -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetActionWidgetMethodInfo a signature where
+    overloadedMethod _ = notebookGetActionWidget
+
+#endif
+
+-- method Notebook::get_current_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_current_page" gtk_notebook_get_current_page :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO Int32
+
+{- |
+Returns the page number of the current page.
+-}
+notebookGetCurrentPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting from 0) of the current
+    page in the notebook. If the notebook has no pages,
+    then -1 will be returned. -}
+notebookGetCurrentPage notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_current_page notebook'
+    touchManagedPtr notebook
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookGetCurrentPageMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetCurrentPageMethodInfo a signature where
+    overloadedMethod _ = notebookGetCurrentPage
+
+#endif
+
+-- method Notebook::get_group_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_group_name" gtk_notebook_get_group_name :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO CString
+
+{- |
+Gets the current group name for /@notebook@/.
+
+/Since: 2.24/
+-}
+notebookGetGroupName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the group name, or 'Nothing' if none is set -}
+notebookGetGroupName notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_group_name notebook'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr notebook
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NotebookGetGroupNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetGroupNameMethodInfo a signature where
+    overloadedMethod _ = notebookGetGroupName
+
+#endif
+
+-- method Notebook::get_menu_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget contained in a page of @notebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_menu_label" gtk_notebook_get_menu_label :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the menu label widget of the page containing /@child@/.
+-}
+notebookGetMenuLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: a widget contained in a page of /@notebook@/ -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the menu label, or 'Nothing' if the
+notebook page does not have a menu label other than the default (the tab
+label). -}
+notebookGetMenuLabel notebook child = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_notebook_get_menu_label notebook' child'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NotebookGetMenuLabelMethodInfo
+instance (signature ~ (b -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookGetMenuLabelMethodInfo a signature where
+    overloadedMethod _ = notebookGetMenuLabel
+
+#endif
+
+-- method Notebook::get_menu_label_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child widget of a page of the notebook.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_menu_label_text" gtk_notebook_get_menu_label_text :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CString
+
+{- |
+Retrieves the text of the menu label for the page containing
+/@child@/.
+-}
+notebookGetMenuLabelText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the child widget of a page of the notebook. -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the text of the tab label, or 'Nothing' if the widget does
+not have a menu label other than the default menu label, or the menu label
+widget is not a 'GI.Gtk.Objects.Label.Label'. The string is owned by the widget and must not be
+freed. -}
+notebookGetMenuLabelText notebook child = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_notebook_get_menu_label_text notebook' child'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NotebookGetMenuLabelTextMethodInfo
+instance (signature ~ (b -> m (Maybe T.Text)), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookGetMenuLabelTextMethodInfo a signature where
+    overloadedMethod _ = notebookGetMenuLabelText
+
+#endif
+
+-- method Notebook::get_n_pages
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_n_pages" gtk_notebook_get_n_pages :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO Int32
+
+{- |
+Gets the number of pages in a notebook.
+
+/Since: 2.2/
+-}
+notebookGetNPages ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of pages in the notebook -}
+notebookGetNPages notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_n_pages notebook'
+    touchManagedPtr notebook
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookGetNPagesMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetNPagesMethodInfo a signature where
+    overloadedMethod _ = notebookGetNPages
+
+#endif
+
+-- method Notebook::get_nth_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of a page in the notebook, or -1\n    to get the last page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_nth_page" gtk_notebook_get_nth_page :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Int32 ->                                -- page_num : TBasicType TInt
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the child widget contained in page number /@pageNum@/.
+-}
+notebookGetNthPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> Int32
+    {- ^ /@pageNum@/: the index of a page in the notebook, or -1
+    to get the last page -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the child widget, or 'Nothing' if /@pageNum@/
+is out of bounds -}
+notebookGetNthPage notebook pageNum = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_nth_page notebook' pageNum
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr notebook
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NotebookGetNthPageMethodInfo
+instance (signature ~ (Int32 -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetNthPageMethodInfo a signature where
+    overloadedMethod _ = notebookGetNthPage
+
+#endif
+
+-- method Notebook::get_scrollable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_scrollable" gtk_notebook_get_scrollable :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO CInt
+
+{- |
+Returns whether the tab label area has arrows for scrolling.
+See 'GI.Gtk.Objects.Notebook.notebookSetScrollable'.
+-}
+notebookGetScrollable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if arrows for scrolling are present -}
+notebookGetScrollable notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_scrollable notebook'
+    let result' = (/= 0) result
+    touchManagedPtr notebook
+    return result'
+
+#if ENABLE_OVERLOADING
+data NotebookGetScrollableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetScrollableMethodInfo a signature where
+    overloadedMethod _ = notebookGetScrollable
+
+#endif
+
+-- method Notebook::get_show_border
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_show_border" gtk_notebook_get_show_border :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO CInt
+
+{- |
+Returns whether a bevel will be drawn around the notebook pages.
+See 'GI.Gtk.Objects.Notebook.notebookSetShowBorder'.
+-}
+notebookGetShowBorder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the bevel is drawn -}
+notebookGetShowBorder notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_show_border notebook'
+    let result' = (/= 0) result
+    touchManagedPtr notebook
+    return result'
+
+#if ENABLE_OVERLOADING
+data NotebookGetShowBorderMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetShowBorderMethodInfo a signature where
+    overloadedMethod _ = notebookGetShowBorder
+
+#endif
+
+-- method Notebook::get_show_tabs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_show_tabs" gtk_notebook_get_show_tabs :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO CInt
+
+{- |
+Returns whether the tabs of the notebook are shown.
+See 'GI.Gtk.Objects.Notebook.notebookSetShowTabs'.
+-}
+notebookGetShowTabs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the tabs are shown -}
+notebookGetShowTabs notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_show_tabs notebook'
+    let result' = (/= 0) result
+    touchManagedPtr notebook
+    return result'
+
+#if ENABLE_OVERLOADING
+data NotebookGetShowTabsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetShowTabsMethodInfo a signature where
+    overloadedMethod _ = notebookGetShowTabs
+
+#endif
+
+-- method Notebook::get_tab_detachable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_tab_detachable" gtk_notebook_get_tab_detachable :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns whether the tab contents can be detached from /@notebook@/.
+
+/Since: 2.10/
+-}
+notebookGetTabDetachable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: a child 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the tab is detachable. -}
+notebookGetTabDetachable notebook child = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_notebook_get_tab_detachable notebook' child'
+    let result' = (/= 0) result
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return result'
+
+#if ENABLE_OVERLOADING
+data NotebookGetTabDetachableMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookGetTabDetachableMethodInfo a signature where
+    overloadedMethod _ = notebookGetTabDetachable
+
+#endif
+
+-- method Notebook::get_tab_hborder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt16)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_tab_hborder" gtk_notebook_get_tab_hborder :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO Word16
+
+{-# DEPRECATED notebookGetTabHborder ["(Since version 3.4)","this function returns zero"] #-}
+{- |
+Returns the horizontal width of a tab border.
+
+/Since: 2.22/
+-}
+notebookGetTabHborder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m Word16
+    {- ^ __Returns:__ horizontal width of a tab border -}
+notebookGetTabHborder notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_tab_hborder notebook'
+    touchManagedPtr notebook
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookGetTabHborderMethodInfo
+instance (signature ~ (m Word16), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetTabHborderMethodInfo a signature where
+    overloadedMethod _ = notebookGetTabHborder
+
+#endif
+
+-- method Notebook::get_tab_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_tab_label" gtk_notebook_get_tab_label :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the tab label widget for the page /@child@/.
+'Nothing' is returned if /@child@/ is not in /@notebook@/ or
+if no tab label has specifically been set for /@child@/.
+-}
+notebookGetTabLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the page -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the tab label -}
+notebookGetTabLabel notebook child = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_notebook_get_tab_label notebook' child'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NotebookGetTabLabelMethodInfo
+instance (signature ~ (b -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookGetTabLabelMethodInfo a signature where
+    overloadedMethod _ = notebookGetTabLabel
+
+#endif
+
+-- method Notebook::get_tab_label_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget contained in a page of @notebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_tab_label_text" gtk_notebook_get_tab_label_text :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CString
+
+{- |
+Retrieves the text of the tab label for the page containing
+/@child@/.
+-}
+notebookGetTabLabelText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: a widget contained in a page of /@notebook@/ -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the text of the tab label, or 'Nothing' if the tab label
+widget is not a 'GI.Gtk.Objects.Label.Label'. The string is owned by the widget and must not be
+freed. -}
+notebookGetTabLabelText notebook child = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_notebook_get_tab_label_text notebook' child'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NotebookGetTabLabelTextMethodInfo
+instance (signature ~ (b -> m (Maybe T.Text)), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookGetTabLabelTextMethodInfo a signature where
+    overloadedMethod _ = notebookGetTabLabelText
+
+#endif
+
+-- method Notebook::get_tab_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PositionType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_tab_pos" gtk_notebook_get_tab_pos :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO CUInt
+
+{- |
+Gets the edge at which the tabs for switching pages in the
+notebook are drawn.
+-}
+notebookGetTabPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m Gtk.Enums.PositionType
+    {- ^ __Returns:__ the edge at which the tabs are drawn -}
+notebookGetTabPos notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_tab_pos notebook'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr notebook
+    return result'
+
+#if ENABLE_OVERLOADING
+data NotebookGetTabPosMethodInfo
+instance (signature ~ (m Gtk.Enums.PositionType), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetTabPosMethodInfo a signature where
+    overloadedMethod _ = notebookGetTabPos
+
+#endif
+
+-- method Notebook::get_tab_reorderable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_tab_reorderable" gtk_notebook_get_tab_reorderable :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Gets whether the tab can be reordered via drag and drop or not.
+
+/Since: 2.10/
+-}
+notebookGetTabReorderable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: a child 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the tab is reorderable. -}
+notebookGetTabReorderable notebook child = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_notebook_get_tab_reorderable notebook' child'
+    let result' = (/= 0) result
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return result'
+
+#if ENABLE_OVERLOADING
+data NotebookGetTabReorderableMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookGetTabReorderableMethodInfo a signature where
+    overloadedMethod _ = notebookGetTabReorderable
+
+#endif
+
+-- method Notebook::get_tab_vborder
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt16)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_get_tab_vborder" gtk_notebook_get_tab_vborder :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO Word16
+
+{-# DEPRECATED notebookGetTabVborder ["(Since version 3.4)","this function returns zero"] #-}
+{- |
+Returns the vertical width of a tab border.
+
+/Since: 2.22/
+-}
+notebookGetTabVborder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m Word16
+    {- ^ __Returns:__ vertical width of a tab border -}
+notebookGetTabVborder notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    result <- gtk_notebook_get_tab_vborder notebook'
+    touchManagedPtr notebook
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookGetTabVborderMethodInfo
+instance (signature ~ (m Word16), MonadIO m, IsNotebook a) => O.MethodInfo NotebookGetTabVborderMethodInfo a signature where
+    overloadedMethod _ = notebookGetTabVborder
+
+#endif
+
+-- method Notebook::insert_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to use as the contents of the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be used as the label\n    for the page, or %NULL to use the default label, \8220page N\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index (starting at 0) at which to insert the page,\n    or -1 to append the page after all other pages", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_insert_page" gtk_notebook_insert_page :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- tab_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO Int32
+
+{- |
+Insert a page into /@notebook@/ at the given position.
+-}
+notebookInsertPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to use as the contents of the page -}
+    -> Maybe (c)
+    {- ^ /@tabLabel@/: the 'GI.Gtk.Objects.Widget.Widget' to be used as the label
+    for the page, or 'Nothing' to use the default label, “page N” -}
+    -> Int32
+    {- ^ /@position@/: the index (starting at 0) at which to insert the page,
+    or -1 to append the page after all other pages -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting from 0) of the inserted
+    page in the notebook, or -1 if function fails -}
+notebookInsertPage notebook child tabLabel position = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    maybeTabLabel <- case tabLabel of
+        Nothing -> return nullPtr
+        Just jTabLabel -> do
+            jTabLabel' <- unsafeManagedPtrCastPtr jTabLabel
+            return jTabLabel'
+    result <- gtk_notebook_insert_page notebook' child' maybeTabLabel position
+    touchManagedPtr notebook
+    touchManagedPtr child
+    whenJust tabLabel touchManagedPtr
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookInsertPageMethodInfo
+instance (signature ~ (b -> Maybe (c) -> Int32 -> m Int32), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) => O.MethodInfo NotebookInsertPageMethodInfo a signature where
+    overloadedMethod _ = notebookInsertPage
+
+#endif
+
+-- method Notebook::insert_page_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to use as the contents of the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be used as the label\n    for the page, or %NULL to use the default label, \8220page N\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget to use as a label for the\n    page-switch menu, if that is enabled. If %NULL, and @tab_label\n    is a #GtkLabel or %NULL, then the menu label will be a newly\n    created label with the same text as @tab_label; if @tab_label\n    is not a #GtkLabel, @menu_label must be specified if the\n    page-switch menu is to be used.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index (starting at 0) at which to insert the page,\n    or -1 to append the page after all other pages.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_insert_page_menu" gtk_notebook_insert_page_menu :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- tab_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- menu_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO Int32
+
+{- |
+Insert a page into /@notebook@/ at the given position, specifying
+the widget to use as the label in the popup menu.
+-}
+notebookInsertPageMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c, Gtk.Widget.IsWidget d) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to use as the contents of the page -}
+    -> Maybe (c)
+    {- ^ /@tabLabel@/: the 'GI.Gtk.Objects.Widget.Widget' to be used as the label
+    for the page, or 'Nothing' to use the default label, “page N” -}
+    -> Maybe (d)
+    {- ^ /@menuLabel@/: the widget to use as a label for the
+    page-switch menu, if that is enabled. If 'Nothing', and /@tabLabel@/
+    is a 'GI.Gtk.Objects.Label.Label' or 'Nothing', then the menu label will be a newly
+    created label with the same text as /@tabLabel@/; if /@tabLabel@/
+    is not a 'GI.Gtk.Objects.Label.Label', /@menuLabel@/ must be specified if the
+    page-switch menu is to be used. -}
+    -> Int32
+    {- ^ /@position@/: the index (starting at 0) at which to insert the page,
+    or -1 to append the page after all other pages. -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting from 0) of the inserted
+    page in the notebook -}
+notebookInsertPageMenu notebook child tabLabel menuLabel position = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    maybeTabLabel <- case tabLabel of
+        Nothing -> return nullPtr
+        Just jTabLabel -> do
+            jTabLabel' <- unsafeManagedPtrCastPtr jTabLabel
+            return jTabLabel'
+    maybeMenuLabel <- case menuLabel of
+        Nothing -> return nullPtr
+        Just jMenuLabel -> do
+            jMenuLabel' <- unsafeManagedPtrCastPtr jMenuLabel
+            return jMenuLabel'
+    result <- gtk_notebook_insert_page_menu notebook' child' maybeTabLabel maybeMenuLabel position
+    touchManagedPtr notebook
+    touchManagedPtr child
+    whenJust tabLabel touchManagedPtr
+    whenJust menuLabel touchManagedPtr
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookInsertPageMenuMethodInfo
+instance (signature ~ (b -> Maybe (c) -> Maybe (d) -> Int32 -> m Int32), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c, Gtk.Widget.IsWidget d) => O.MethodInfo NotebookInsertPageMenuMethodInfo a signature where
+    overloadedMethod _ = notebookInsertPageMenu
+
+#endif
+
+-- method Notebook::next_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_next_page" gtk_notebook_next_page :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO ()
+
+{- |
+Switches to the next page. Nothing happens if the current page is
+the last page.
+-}
+notebookNextPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m ()
+notebookNextPage notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    gtk_notebook_next_page notebook'
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookNextPageMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookNextPageMethodInfo a signature where
+    overloadedMethod _ = notebookNextPage
+
+#endif
+
+-- method Notebook::page_num
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_page_num" gtk_notebook_page_num :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Finds the index of the page which contains the given child
+widget.
+-}
+notebookPageNum ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ the index of the page containing /@child@/, or
+    -1 if /@child@/ is not in the notebook -}
+notebookPageNum notebook child = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_notebook_page_num notebook' child'
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookPageNumMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookPageNumMethodInfo a signature where
+    overloadedMethod _ = notebookPageNum
+
+#endif
+
+-- method Notebook::popup_disable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_popup_disable" gtk_notebook_popup_disable :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO ()
+
+{- |
+Disables the popup menu.
+-}
+notebookPopupDisable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m ()
+notebookPopupDisable notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    gtk_notebook_popup_disable notebook'
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookPopupDisableMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookPopupDisableMethodInfo a signature where
+    overloadedMethod _ = notebookPopupDisable
+
+#endif
+
+-- method Notebook::popup_enable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_popup_enable" gtk_notebook_popup_enable :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO ()
+
+{- |
+Enables the popup menu: if the user clicks with the right
+mouse button on the tab labels, a menu with all the pages
+will be popped up.
+-}
+notebookPopupEnable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m ()
+notebookPopupEnable notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    gtk_notebook_popup_enable notebook'
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookPopupEnableMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookPopupEnableMethodInfo a signature where
+    overloadedMethod _ = notebookPopupEnable
+
+#endif
+
+-- method Notebook::prepend_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to use as the contents of the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be used as the label\n    for the page, or %NULL to use the default label, \8220page N\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_prepend_page" gtk_notebook_prepend_page :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- tab_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Prepends a page to /@notebook@/.
+-}
+notebookPrependPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to use as the contents of the page -}
+    -> Maybe (c)
+    {- ^ /@tabLabel@/: the 'GI.Gtk.Objects.Widget.Widget' to be used as the label
+    for the page, or 'Nothing' to use the default label, “page N” -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting from 0) of the prepended
+    page in the notebook, or -1 if function fails -}
+notebookPrependPage notebook child tabLabel = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    maybeTabLabel <- case tabLabel of
+        Nothing -> return nullPtr
+        Just jTabLabel -> do
+            jTabLabel' <- unsafeManagedPtrCastPtr jTabLabel
+            return jTabLabel'
+    result <- gtk_notebook_prepend_page notebook' child' maybeTabLabel
+    touchManagedPtr notebook
+    touchManagedPtr child
+    whenJust tabLabel touchManagedPtr
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookPrependPageMethodInfo
+instance (signature ~ (b -> Maybe (c) -> m Int32), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) => O.MethodInfo NotebookPrependPageMethodInfo a signature where
+    overloadedMethod _ = notebookPrependPage
+
+#endif
+
+-- method Notebook::prepend_page_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to use as the contents of the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkWidget to be used as the label\n    for the page, or %NULL to use the default label, \8220page N\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget to use as a label for the\n    page-switch menu, if that is enabled. If %NULL, and @tab_label\n    is a #GtkLabel or %NULL, then the menu label will be a newly\n    created label with the same text as @tab_label; if @tab_label\n    is not a #GtkLabel, @menu_label must be specified if the\n    page-switch menu is to be used.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_prepend_page_menu" gtk_notebook_prepend_page_menu :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- tab_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- menu_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Prepends a page to /@notebook@/, specifying the widget to use as the
+label in the popup menu.
+-}
+notebookPrependPageMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c, Gtk.Widget.IsWidget d) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the 'GI.Gtk.Objects.Widget.Widget' to use as the contents of the page -}
+    -> Maybe (c)
+    {- ^ /@tabLabel@/: the 'GI.Gtk.Objects.Widget.Widget' to be used as the label
+    for the page, or 'Nothing' to use the default label, “page N” -}
+    -> Maybe (d)
+    {- ^ /@menuLabel@/: the widget to use as a label for the
+    page-switch menu, if that is enabled. If 'Nothing', and /@tabLabel@/
+    is a 'GI.Gtk.Objects.Label.Label' or 'Nothing', then the menu label will be a newly
+    created label with the same text as /@tabLabel@/; if /@tabLabel@/
+    is not a 'GI.Gtk.Objects.Label.Label', /@menuLabel@/ must be specified if the
+    page-switch menu is to be used. -}
+    -> m Int32
+    {- ^ __Returns:__ the index (starting from 0) of the prepended
+    page in the notebook, or -1 if function fails -}
+notebookPrependPageMenu notebook child tabLabel menuLabel = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    maybeTabLabel <- case tabLabel of
+        Nothing -> return nullPtr
+        Just jTabLabel -> do
+            jTabLabel' <- unsafeManagedPtrCastPtr jTabLabel
+            return jTabLabel'
+    maybeMenuLabel <- case menuLabel of
+        Nothing -> return nullPtr
+        Just jMenuLabel -> do
+            jMenuLabel' <- unsafeManagedPtrCastPtr jMenuLabel
+            return jMenuLabel'
+    result <- gtk_notebook_prepend_page_menu notebook' child' maybeTabLabel maybeMenuLabel
+    touchManagedPtr notebook
+    touchManagedPtr child
+    whenJust tabLabel touchManagedPtr
+    whenJust menuLabel touchManagedPtr
+    return result
+
+#if ENABLE_OVERLOADING
+data NotebookPrependPageMenuMethodInfo
+instance (signature ~ (b -> Maybe (c) -> Maybe (d) -> m Int32), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c, Gtk.Widget.IsWidget d) => O.MethodInfo NotebookPrependPageMenuMethodInfo a signature where
+    overloadedMethod _ = notebookPrependPageMenu
+
+#endif
+
+-- method Notebook::prev_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_prev_page" gtk_notebook_prev_page :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    IO ()
+
+{- |
+Switches to the previous page. Nothing happens if the current page
+is the first page.
+-}
+notebookPrevPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> m ()
+notebookPrevPage notebook = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    gtk_notebook_prev_page notebook'
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookPrevPageMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookPrevPageMethodInfo a signature where
+    overloadedMethod _ = notebookPrevPage
+
+#endif
+
+-- method Notebook::remove_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of a notebook page, starting\n    from 0. If -1, the last page will be removed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_remove_page" gtk_notebook_remove_page :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Int32 ->                                -- page_num : TBasicType TInt
+    IO ()
+
+{- |
+Removes a page from the notebook given its index
+in the notebook.
+-}
+notebookRemovePage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> Int32
+    {- ^ /@pageNum@/: the index of a notebook page, starting
+    from 0. If -1, the last page will be removed. -}
+    -> m ()
+notebookRemovePage notebook pageNum = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    gtk_notebook_remove_page notebook' pageNum
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookRemovePageMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookRemovePageMethodInfo a signature where
+    overloadedMethod _ = notebookRemovePage
+
+#endif
+
+-- method Notebook::reorder_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new position, or -1 to move to the end", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_reorder_child" gtk_notebook_reorder_child :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Reorders the page containing /@child@/, so that it appears in position
+/@position@/. If /@position@/ is greater than or equal to the number of
+children in the list or negative, /@child@/ will be moved to the end
+of the list.
+-}
+notebookReorderChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the child to move -}
+    -> Int32
+    {- ^ /@position@/: the new position, or -1 to move to the end -}
+    -> m ()
+notebookReorderChild notebook child position = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_notebook_reorder_child notebook' child' position
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookReorderChildMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookReorderChildMethodInfo a signature where
+    overloadedMethod _ = notebookReorderChild
+
+#endif
+
+-- method Notebook::set_action_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pack_type", argType = TInterface (Name {namespace = "Gtk", name = "PackType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pack type of the action widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_action_widget" gtk_notebook_set_action_widget :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- pack_type : TInterface (Name {namespace = "Gtk", name = "PackType"})
+    IO ()
+
+{- |
+Sets /@widget@/ as one of the action widgets. Depending on the pack type
+the widget will be placed before or after the tabs. You can use
+a 'GI.Gtk.Objects.Box.Box' if you need to pack more than one widget on the same side.
+
+Note that action widgets are “internal” children of the notebook and thus
+not included in the list returned from 'GI.Gtk.Objects.Container.containerForeach'.
+
+/Since: 2.20/
+-}
+notebookSetActionWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.PackType
+    {- ^ /@packType@/: pack type of the action widget -}
+    -> m ()
+notebookSetActionWidget notebook widget packType = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    widget' <- unsafeManagedPtrCastPtr widget
+    let packType' = (fromIntegral . fromEnum) packType
+    gtk_notebook_set_action_widget notebook' widget' packType'
+    touchManagedPtr notebook
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetActionWidgetMethodInfo
+instance (signature ~ (b -> Gtk.Enums.PackType -> m ()), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookSetActionWidgetMethodInfo a signature where
+    overloadedMethod _ = notebookSetActionWidget
+
+#endif
+
+-- method Notebook::set_current_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of the page to switch to, starting from 0.\n    If negative, the last page will be used. If greater\n    than the number of pages in the notebook, nothing\n    will be done.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_current_page" gtk_notebook_set_current_page :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Int32 ->                                -- page_num : TBasicType TInt
+    IO ()
+
+{- |
+Switches to the page number /@pageNum@/.
+
+Note that due to historical reasons, GtkNotebook refuses
+to switch to a page unless the child widget is visible.
+Therefore, it is recommended to show child widgets before
+adding them to a notebook.
+-}
+notebookSetCurrentPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> Int32
+    {- ^ /@pageNum@/: index of the page to switch to, starting from 0.
+    If negative, the last page will be used. If greater
+    than the number of pages in the notebook, nothing
+    will be done. -}
+    -> m ()
+notebookSetCurrentPage notebook pageNum = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    gtk_notebook_set_current_page notebook' pageNum
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetCurrentPageMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookSetCurrentPageMethodInfo a signature where
+    overloadedMethod _ = notebookSetCurrentPage
+
+#endif
+
+-- method Notebook::set_group_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the notebook group,\n    or %NULL to unset it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_group_name" gtk_notebook_set_group_name :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets a group name for /@notebook@/.
+
+Notebooks with the same name will be able to exchange tabs
+via drag and drop. A notebook with a 'Nothing' group name will
+not be able to exchange tabs with any other notebook.
+
+/Since: 2.24/
+-}
+notebookSetGroupName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> Maybe (T.Text)
+    {- ^ /@groupName@/: the name of the notebook group,
+    or 'Nothing' to unset it -}
+    -> m ()
+notebookSetGroupName notebook groupName = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    maybeGroupName <- case groupName of
+        Nothing -> return nullPtr
+        Just jGroupName -> do
+            jGroupName' <- textToCString jGroupName
+            return jGroupName'
+    gtk_notebook_set_group_name notebook' maybeGroupName
+    touchManagedPtr notebook
+    freeMem maybeGroupName
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetGroupNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookSetGroupNameMethodInfo a signature where
+    overloadedMethod _ = notebookSetGroupName
+
+#endif
+
+-- method Notebook::set_menu_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the menu label, or %NULL for default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_menu_label" gtk_notebook_set_menu_label :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- menu_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Changes the menu label for the page containing /@child@/.
+-}
+notebookSetMenuLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the child widget -}
+    -> Maybe (c)
+    {- ^ /@menuLabel@/: the menu label, or 'Nothing' for default -}
+    -> m ()
+notebookSetMenuLabel notebook child menuLabel = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    maybeMenuLabel <- case menuLabel of
+        Nothing -> return nullPtr
+        Just jMenuLabel -> do
+            jMenuLabel' <- unsafeManagedPtrCastPtr jMenuLabel
+            return jMenuLabel'
+    gtk_notebook_set_menu_label notebook' child' maybeMenuLabel
+    touchManagedPtr notebook
+    touchManagedPtr child
+    whenJust menuLabel touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetMenuLabelMethodInfo
+instance (signature ~ (b -> Maybe (c) -> m ()), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) => O.MethodInfo NotebookSetMenuLabelMethodInfo a signature where
+    overloadedMethod _ = notebookSetMenuLabel
+
+#endif
+
+-- method Notebook::set_menu_label_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the label text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_menu_label_text" gtk_notebook_set_menu_label_text :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- menu_text : TBasicType TUTF8
+    IO ()
+
+{- |
+Creates a new label and sets it as the menu label of /@child@/.
+-}
+notebookSetMenuLabelText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the child widget -}
+    -> T.Text
+    {- ^ /@menuText@/: the label text -}
+    -> m ()
+notebookSetMenuLabelText notebook child menuText = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    menuText' <- textToCString menuText
+    gtk_notebook_set_menu_label_text notebook' child' menuText'
+    touchManagedPtr notebook
+    touchManagedPtr child
+    freeMem menuText'
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetMenuLabelTextMethodInfo
+instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookSetMenuLabelTextMethodInfo a signature where
+    overloadedMethod _ = notebookSetMenuLabelText
+
+#endif
+
+-- method Notebook::set_scrollable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scrollable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if scroll arrows should be added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_scrollable" gtk_notebook_set_scrollable :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    CInt ->                                 -- scrollable : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the tab label area will have arrows for
+scrolling if there are too many tabs to fit in the area.
+-}
+notebookSetScrollable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> Bool
+    {- ^ /@scrollable@/: 'True' if scroll arrows should be added -}
+    -> m ()
+notebookSetScrollable notebook scrollable = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    let scrollable' = (fromIntegral . fromEnum) scrollable
+    gtk_notebook_set_scrollable notebook' scrollable'
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetScrollableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookSetScrollableMethodInfo a signature where
+    overloadedMethod _ = notebookSetScrollable
+
+#endif
+
+-- method Notebook::set_show_border
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_border", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if a bevel should be drawn around the notebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_show_border" gtk_notebook_set_show_border :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    CInt ->                                 -- show_border : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether a bevel will be drawn around the notebook pages.
+This only has a visual effect when the tabs are not shown.
+See 'GI.Gtk.Objects.Notebook.notebookSetShowTabs'.
+-}
+notebookSetShowBorder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> Bool
+    {- ^ /@showBorder@/: 'True' if a bevel should be drawn around the notebook -}
+    -> m ()
+notebookSetShowBorder notebook showBorder = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    let showBorder' = (fromIntegral . fromEnum) showBorder
+    gtk_notebook_set_show_border notebook' showBorder'
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetShowBorderMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookSetShowBorderMethodInfo a signature where
+    overloadedMethod _ = notebookSetShowBorder
+
+#endif
+
+-- method Notebook::set_show_tabs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_tabs", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the tabs should be shown", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_show_tabs" gtk_notebook_set_show_tabs :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    CInt ->                                 -- show_tabs : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether to show the tabs for the notebook or not.
+-}
+notebookSetShowTabs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> Bool
+    {- ^ /@showTabs@/: 'True' if the tabs should be shown -}
+    -> m ()
+notebookSetShowTabs notebook showTabs = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    let showTabs' = (fromIntegral . fromEnum) showTabs
+    gtk_notebook_set_show_tabs notebook' showTabs'
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetShowTabsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookSetShowTabsMethodInfo a signature where
+    overloadedMethod _ = notebookSetShowTabs
+
+#endif
+
+-- method Notebook::set_tab_detachable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detachable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the tab is detachable or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_tab_detachable" gtk_notebook_set_tab_detachable :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- detachable : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the tab can be detached from /@notebook@/ to another
+notebook or widget.
+
+Note that 2 notebooks must share a common group identificator
+(see 'GI.Gtk.Objects.Notebook.notebookSetGroupName') to allow automatic tabs
+interchange between them.
+
+If you want a widget to interact with a notebook through DnD
+(i.e.: accept dragged tabs from it) it must be set as a drop
+destination and accept the target “GTK_NOTEBOOK_TAB”. The notebook
+will fill the selection with a GtkWidget** pointing to the child
+widget that corresponds to the dropped tab.
+
+Note that you should use 'GI.Gtk.Objects.Notebook.notebookDetachTab' instead
+of 'GI.Gtk.Objects.Container.containerRemove' if you want to remove the tab from
+the source notebook as part of accepting a drop. Otherwise,
+the source notebook will think that the dragged tab was
+removed from underneath the ongoing drag operation, and
+will initiate a drag cancel animation.
+
+
+=== /C code/
+>
+> static void
+> on_drag_data_received (GtkWidget        *widget,
+>                        GdkDragContext   *context,
+>                        gint              x,
+>                        gint              y,
+>                        GtkSelectionData *data,
+>                        guint             info,
+>                        guint             time,
+>                        gpointer          user_data)
+> {
+>   GtkWidget *notebook;
+>   GtkWidget **child;
+>
+>   notebook = gtk_drag_get_source_widget (context);
+>   child = (void*) gtk_selection_data_get_data (data);
+>
+>   // process_widget (*child);
+>
+>   gtk_notebook_detach_tab (GTK_NOTEBOOK (notebook), *child);
+> }
+
+
+If you want a notebook to accept drags from other widgets,
+you will have to set your own DnD code to do it.
+
+/Since: 2.10/
+-}
+notebookSetTabDetachable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: a child 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@detachable@/: whether the tab is detachable or not -}
+    -> m ()
+notebookSetTabDetachable notebook child detachable = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    let detachable' = (fromIntegral . fromEnum) detachable
+    gtk_notebook_set_tab_detachable notebook' child' detachable'
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetTabDetachableMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookSetTabDetachableMethodInfo a signature where
+    overloadedMethod _ = notebookSetTabDetachable
+
+#endif
+
+-- method Notebook::set_tab_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the tab label widget to use, or %NULL\n    for default tab label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_tab_label" gtk_notebook_set_tab_label :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Widget.Widget ->                -- tab_label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Changes the tab label for /@child@/.
+If 'Nothing' is specified for /@tabLabel@/, then the page will
+have the label “page N”.
+-}
+notebookSetTabLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the page -}
+    -> Maybe (c)
+    {- ^ /@tabLabel@/: the tab label widget to use, or 'Nothing'
+    for default tab label -}
+    -> m ()
+notebookSetTabLabel notebook child tabLabel = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    maybeTabLabel <- case tabLabel of
+        Nothing -> return nullPtr
+        Just jTabLabel -> do
+            jTabLabel' <- unsafeManagedPtrCastPtr jTabLabel
+            return jTabLabel'
+    gtk_notebook_set_tab_label notebook' child' maybeTabLabel
+    touchManagedPtr notebook
+    touchManagedPtr child
+    whenJust tabLabel touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetTabLabelMethodInfo
+instance (signature ~ (b -> Maybe (c) -> m ()), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b, Gtk.Widget.IsWidget c) => O.MethodInfo NotebookSetTabLabelMethodInfo a signature where
+    overloadedMethod _ = notebookSetTabLabel
+
+#endif
+
+-- method Notebook::set_tab_label_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the label text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_tab_label_text" gtk_notebook_set_tab_label_text :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- tab_text : TBasicType TUTF8
+    IO ()
+
+{- |
+Creates a new label and sets it as the tab label for the page
+containing /@child@/.
+-}
+notebookSetTabLabelText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: the page -}
+    -> T.Text
+    {- ^ /@tabText@/: the label text -}
+    -> m ()
+notebookSetTabLabelText notebook child tabText = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    tabText' <- textToCString tabText
+    gtk_notebook_set_tab_label_text notebook' child' tabText'
+    touchManagedPtr notebook
+    touchManagedPtr child
+    freeMem tabText'
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetTabLabelTextMethodInfo
+instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookSetTabLabelTextMethodInfo a signature where
+    overloadedMethod _ = notebookSetTabLabelText
+
+#endif
+
+-- method Notebook::set_tab_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the edge to draw the tabs at", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_tab_pos" gtk_notebook_set_tab_pos :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    CUInt ->                                -- pos : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    IO ()
+
+{- |
+Sets the edge at which the tabs for switching pages in the
+notebook are drawn.
+-}
+notebookSetTabPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook'. -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@pos@/: the edge to draw the tabs at -}
+    -> m ()
+notebookSetTabPos notebook pos = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    let pos' = (fromIntegral . fromEnum) pos
+    gtk_notebook_set_tab_pos notebook' pos'
+    touchManagedPtr notebook
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetTabPosMethodInfo
+instance (signature ~ (Gtk.Enums.PositionType -> m ()), MonadIO m, IsNotebook a) => O.MethodInfo NotebookSetTabPosMethodInfo a signature where
+    overloadedMethod _ = notebookSetTabPos
+
+#endif
+
+-- method Notebook::set_tab_reorderable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "Notebook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNotebook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reorderable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the tab is reorderable or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_set_tab_reorderable" gtk_notebook_set_tab_reorderable :: 
+    Ptr Notebook ->                         -- notebook : TInterface (Name {namespace = "Gtk", name = "Notebook"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- reorderable : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the notebook tab can be reordered
+via drag and drop or not.
+
+/Since: 2.10/
+-}
+notebookSetTabReorderable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@notebook@/: a 'GI.Gtk.Objects.Notebook.Notebook' -}
+    -> b
+    {- ^ /@child@/: a child 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@reorderable@/: whether the tab is reorderable or not -}
+    -> m ()
+notebookSetTabReorderable notebook child reorderable = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    let reorderable' = (fromIntegral . fromEnum) reorderable
+    gtk_notebook_set_tab_reorderable notebook' child' reorderable'
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookSetTabReorderableMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsNotebook a, Gtk.Widget.IsWidget b) => O.MethodInfo NotebookSetTabReorderableMethodInfo a signature where
+    overloadedMethod _ = notebookSetTabReorderable
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Notebook.hs-boot b/GI/Gtk/Objects/Notebook.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Notebook.hs-boot
@@ -0,0 +1,212 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Notebook where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Notebook = Notebook (ManagedPtr Notebook)
+instance GObject Notebook where
+class (GObject o, O.IsDescendantOf Notebook o) => IsNotebook o
+instance (GObject o, O.IsDescendantOf Notebook o) => IsNotebook o
+instance O.HasParentTypes Notebook
+#if ENABLE_OVERLOADING
+data NotebookEnablePopupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGroupNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookScrollablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookShowBorderPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookShowTabsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookTabPosPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookChangeCurrentPageSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookCreateWindowSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookFocusTabSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookMoveFocusOutSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPageAddedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPageRemovedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPageReorderedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookReorderTabSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSelectPageSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSwitchPageSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookAppendPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookAppendPageMenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookDetachTabMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetActionWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetCurrentPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetGroupNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetMenuLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetMenuLabelTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetNPagesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetNthPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetScrollableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetShowBorderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetShowTabsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetTabDetachableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetTabHborderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetTabLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetTabLabelTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetTabPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetTabReorderableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookGetTabVborderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookInsertPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookInsertPageMenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookNextPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPageNumMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPopupDisableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPopupEnableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPrependPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPrependPageMenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookPrevPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookRemovePageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookReorderChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetActionWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetCurrentPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetGroupNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetMenuLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetMenuLabelTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetScrollableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetShowBorderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetShowTabsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetTabDetachableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetTabLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetTabLabelTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetTabPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NotebookSetTabReorderableMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/NotebookAccessible.hs b/GI/Gtk/Objects/NotebookAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/NotebookAccessible.hs
@@ -0,0 +1,173 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.NotebookAccessible
+    ( 
+
+-- * Exported types
+    NotebookAccessible(..)                  ,
+    IsNotebookAccessible                    ,
+    toNotebookAccessible                    ,
+    noNotebookAccessible                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype NotebookAccessible = NotebookAccessible (ManagedPtr NotebookAccessible)
+foreign import ccall "gtk_notebook_accessible_get_type"
+    c_gtk_notebook_accessible_get_type :: IO GType
+
+instance GObject NotebookAccessible where
+    gobjectType = c_gtk_notebook_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `NotebookAccessible`, for instance with `toNotebookAccessible`.
+class (GObject o, O.IsDescendantOf NotebookAccessible o) => IsNotebookAccessible o
+instance (GObject o, O.IsDescendantOf NotebookAccessible o) => IsNotebookAccessible o
+
+instance O.HasParentTypes NotebookAccessible
+type instance O.ParentTypes NotebookAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `NotebookAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toNotebookAccessible :: (MonadIO m, IsNotebookAccessible o) => o -> m NotebookAccessible
+toNotebookAccessible = liftIO . unsafeCastTo NotebookAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `NotebookAccessible`.
+noNotebookAccessible :: Maybe NotebookAccessible
+noNotebookAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveNotebookAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveNotebookAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveNotebookAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveNotebookAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveNotebookAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveNotebookAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveNotebookAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveNotebookAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveNotebookAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveNotebookAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveNotebookAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveNotebookAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveNotebookAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveNotebookAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveNotebookAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveNotebookAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveNotebookAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveNotebookAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveNotebookAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveNotebookAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveNotebookAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveNotebookAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveNotebookAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveNotebookAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveNotebookAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveNotebookAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveNotebookAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveNotebookAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveNotebookAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveNotebookAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveNotebookAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveNotebookAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveNotebookAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveNotebookAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveNotebookAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveNotebookAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveNotebookAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveNotebookAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveNotebookAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveNotebookAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveNotebookAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveNotebookAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveNotebookAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveNotebookAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveNotebookAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveNotebookAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveNotebookAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveNotebookAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveNotebookAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveNotebookAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveNotebookAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveNotebookAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveNotebookAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveNotebookAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveNotebookAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveNotebookAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveNotebookAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveNotebookAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveNotebookAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveNotebookAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveNotebookAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveNotebookAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveNotebookAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveNotebookAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveNotebookAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveNotebookAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveNotebookAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveNotebookAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveNotebookAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveNotebookAccessibleMethod t NotebookAccessible, O.MethodInfo info NotebookAccessible p) => OL.IsLabel t (NotebookAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList NotebookAccessible
+type instance O.AttributeList NotebookAccessible = NotebookAccessibleAttributeList
+type NotebookAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList NotebookAccessible = NotebookAccessibleSignalList
+type NotebookAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/NotebookAccessible.hs-boot b/GI/Gtk/Objects/NotebookAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/NotebookAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.NotebookAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype NotebookAccessible = NotebookAccessible (ManagedPtr NotebookAccessible)
+instance GObject NotebookAccessible where
+class (GObject o, O.IsDescendantOf NotebookAccessible o) => IsNotebookAccessible o
+instance (GObject o, O.IsDescendantOf NotebookAccessible o) => IsNotebookAccessible o
+instance O.HasParentTypes NotebookAccessible
diff --git a/GI/Gtk/Objects/NotebookPageAccessible.hs b/GI/Gtk/Objects/NotebookPageAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/NotebookPageAccessible.hs
@@ -0,0 +1,244 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.NotebookPageAccessible
+    ( 
+
+-- * Exported types
+    NotebookPageAccessible(..)              ,
+    IsNotebookPageAccessible                ,
+    toNotebookPageAccessible                ,
+    noNotebookPageAccessible                ,
+
+
+ -- * Methods
+-- ** invalidate #method:invalidate#
+
+#if ENABLE_OVERLOADING
+    NotebookPageAccessibleInvalidateMethodInfo,
+#endif
+    notebookPageAccessibleInvalidate        ,
+
+
+-- ** new #method:new#
+
+    notebookPageAccessibleNew               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.NotebookAccessible as Gtk.NotebookAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype NotebookPageAccessible = NotebookPageAccessible (ManagedPtr NotebookPageAccessible)
+foreign import ccall "gtk_notebook_page_accessible_get_type"
+    c_gtk_notebook_page_accessible_get_type :: IO GType
+
+instance GObject NotebookPageAccessible where
+    gobjectType = c_gtk_notebook_page_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `NotebookPageAccessible`, for instance with `toNotebookPageAccessible`.
+class (GObject o, O.IsDescendantOf NotebookPageAccessible o) => IsNotebookPageAccessible o
+instance (GObject o, O.IsDescendantOf NotebookPageAccessible o) => IsNotebookPageAccessible o
+
+instance O.HasParentTypes NotebookPageAccessible
+type instance O.ParentTypes NotebookPageAccessible = '[Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `NotebookPageAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toNotebookPageAccessible :: (MonadIO m, IsNotebookPageAccessible o) => o -> m NotebookPageAccessible
+toNotebookPageAccessible = liftIO . unsafeCastTo NotebookPageAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `NotebookPageAccessible`.
+noNotebookPageAccessible :: Maybe NotebookPageAccessible
+noNotebookPageAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveNotebookPageAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveNotebookPageAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveNotebookPageAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveNotebookPageAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveNotebookPageAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveNotebookPageAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveNotebookPageAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveNotebookPageAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveNotebookPageAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveNotebookPageAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveNotebookPageAccessibleMethod "invalidate" o = NotebookPageAccessibleInvalidateMethodInfo
+    ResolveNotebookPageAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveNotebookPageAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveNotebookPageAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveNotebookPageAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveNotebookPageAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveNotebookPageAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveNotebookPageAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveNotebookPageAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveNotebookPageAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveNotebookPageAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveNotebookPageAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveNotebookPageAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveNotebookPageAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveNotebookPageAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveNotebookPageAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveNotebookPageAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveNotebookPageAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveNotebookPageAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveNotebookPageAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveNotebookPageAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveNotebookPageAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveNotebookPageAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveNotebookPageAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveNotebookPageAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveNotebookPageAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveNotebookPageAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveNotebookPageAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveNotebookPageAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveNotebookPageAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveNotebookPageAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveNotebookPageAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveNotebookPageAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveNotebookPageAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveNotebookPageAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveNotebookPageAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveNotebookPageAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveNotebookPageAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveNotebookPageAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveNotebookPageAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveNotebookPageAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveNotebookPageAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveNotebookPageAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveNotebookPageAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveNotebookPageAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveNotebookPageAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveNotebookPageAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveNotebookPageAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveNotebookPageAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveNotebookPageAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveNotebookPageAccessibleMethod t NotebookPageAccessible, O.MethodInfo info NotebookPageAccessible p) => OL.IsLabel t (NotebookPageAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList NotebookPageAccessible
+type instance O.AttributeList NotebookPageAccessible = NotebookPageAccessibleAttributeList
+type NotebookPageAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList NotebookPageAccessible = NotebookPageAccessibleSignalList
+type NotebookPageAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method NotebookPageAccessible::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "notebook", argType = TInterface (Name {namespace = "Gtk", name = "NotebookAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "NotebookPageAccessible"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_page_accessible_new" gtk_notebook_page_accessible_new :: 
+    Ptr Gtk.NotebookAccessible.NotebookAccessible -> -- notebook : TInterface (Name {namespace = "Gtk", name = "NotebookAccessible"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr NotebookPageAccessible)
+
+{- |
+/No description available in the introspection data./
+-}
+notebookPageAccessibleNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.NotebookAccessible.IsNotebookAccessible a, Gtk.Widget.IsWidget b) =>
+    a
+    -> b
+    -> m NotebookPageAccessible
+notebookPageAccessibleNew notebook child = liftIO $ do
+    notebook' <- unsafeManagedPtrCastPtr notebook
+    child' <- unsafeManagedPtrCastPtr child
+    result <- gtk_notebook_page_accessible_new notebook' child'
+    checkUnexpectedReturnNULL "notebookPageAccessibleNew" result
+    result' <- (wrapObject NotebookPageAccessible) result
+    touchManagedPtr notebook
+    touchManagedPtr child
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method NotebookPageAccessible::invalidate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "page", argType = TInterface (Name {namespace = "Gtk", name = "NotebookPageAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_notebook_page_accessible_invalidate" gtk_notebook_page_accessible_invalidate :: 
+    Ptr NotebookPageAccessible ->           -- page : TInterface (Name {namespace = "Gtk", name = "NotebookPageAccessible"})
+    IO ()
+
+{- |
+/No description available in the introspection data./
+-}
+notebookPageAccessibleInvalidate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNotebookPageAccessible a) =>
+    a
+    -> m ()
+notebookPageAccessibleInvalidate page = liftIO $ do
+    page' <- unsafeManagedPtrCastPtr page
+    gtk_notebook_page_accessible_invalidate page'
+    touchManagedPtr page
+    return ()
+
+#if ENABLE_OVERLOADING
+data NotebookPageAccessibleInvalidateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsNotebookPageAccessible a) => O.MethodInfo NotebookPageAccessibleInvalidateMethodInfo a signature where
+    overloadedMethod _ = notebookPageAccessibleInvalidate
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/NotebookPageAccessible.hs-boot b/GI/Gtk/Objects/NotebookPageAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/NotebookPageAccessible.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.NotebookPageAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype NotebookPageAccessible = NotebookPageAccessible (ManagedPtr NotebookPageAccessible)
+instance GObject NotebookPageAccessible where
+class (GObject o, O.IsDescendantOf NotebookPageAccessible o) => IsNotebookPageAccessible o
+instance (GObject o, O.IsDescendantOf NotebookPageAccessible o) => IsNotebookPageAccessible o
+instance O.HasParentTypes NotebookPageAccessible
+#if ENABLE_OVERLOADING
+data NotebookPageAccessibleInvalidateMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/NumerableIcon.hs b/GI/Gtk/Objects/NumerableIcon.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/NumerableIcon.hs
@@ -0,0 +1,1138 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkNumerableIcon is a subclass of 'GI.Gio.Objects.EmblemedIcon.EmblemedIcon' that can
+show a number or short string as an emblem. The number can
+be overlayed on top of another emblem, if desired.
+
+It supports theming by taking font and color information
+from a provided 'GI.Gtk.Objects.StyleContext.StyleContext'; see
+'GI.Gtk.Objects.NumerableIcon.numerableIconSetStyleContext'.
+
+Typical numerable icons:
+<<https://developer.gnome.org/gtk3/stable/numerableicon.png>>
+<<https://developer.gnome.org/gtk3/stable/numerableicon2.png>>
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.NumerableIcon
+    ( 
+
+-- * Exported types
+    NumerableIcon(..)                       ,
+    IsNumerableIcon                         ,
+    toNumerableIcon                         ,
+    noNumerableIcon                         ,
+
+
+ -- * Methods
+-- ** getBackgroundGicon #method:getBackgroundGicon#
+
+#if ENABLE_OVERLOADING
+    NumerableIconGetBackgroundGiconMethodInfo,
+#endif
+    numerableIconGetBackgroundGicon         ,
+
+
+-- ** getBackgroundIconName #method:getBackgroundIconName#
+
+#if ENABLE_OVERLOADING
+    NumerableIconGetBackgroundIconNameMethodInfo,
+#endif
+    numerableIconGetBackgroundIconName      ,
+
+
+-- ** getCount #method:getCount#
+
+#if ENABLE_OVERLOADING
+    NumerableIconGetCountMethodInfo         ,
+#endif
+    numerableIconGetCount                   ,
+
+
+-- ** getLabel #method:getLabel#
+
+#if ENABLE_OVERLOADING
+    NumerableIconGetLabelMethodInfo         ,
+#endif
+    numerableIconGetLabel                   ,
+
+
+-- ** getStyleContext #method:getStyleContext#
+
+#if ENABLE_OVERLOADING
+    NumerableIconGetStyleContextMethodInfo  ,
+#endif
+    numerableIconGetStyleContext            ,
+
+
+-- ** new #method:new#
+
+    numerableIconNew                        ,
+
+
+-- ** newWithStyleContext #method:newWithStyleContext#
+
+    numerableIconNewWithStyleContext        ,
+
+
+-- ** setBackgroundGicon #method:setBackgroundGicon#
+
+#if ENABLE_OVERLOADING
+    NumerableIconSetBackgroundGiconMethodInfo,
+#endif
+    numerableIconSetBackgroundGicon         ,
+
+
+-- ** setBackgroundIconName #method:setBackgroundIconName#
+
+#if ENABLE_OVERLOADING
+    NumerableIconSetBackgroundIconNameMethodInfo,
+#endif
+    numerableIconSetBackgroundIconName      ,
+
+
+-- ** setCount #method:setCount#
+
+#if ENABLE_OVERLOADING
+    NumerableIconSetCountMethodInfo         ,
+#endif
+    numerableIconSetCount                   ,
+
+
+-- ** setLabel #method:setLabel#
+
+#if ENABLE_OVERLOADING
+    NumerableIconSetLabelMethodInfo         ,
+#endif
+    numerableIconSetLabel                   ,
+
+
+-- ** setStyleContext #method:setStyleContext#
+
+#if ENABLE_OVERLOADING
+    NumerableIconSetStyleContextMethodInfo  ,
+#endif
+    numerableIconSetStyleContext            ,
+
+
+
+
+ -- * Properties
+-- ** backgroundIcon #attr:backgroundIcon#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NumerableIconBackgroundIconPropertyInfo ,
+#endif
+    clearNumerableIconBackgroundIcon        ,
+    constructNumerableIconBackgroundIcon    ,
+    getNumerableIconBackgroundIcon          ,
+#if ENABLE_OVERLOADING
+    numerableIconBackgroundIcon             ,
+#endif
+    setNumerableIconBackgroundIcon          ,
+
+
+-- ** backgroundIconName #attr:backgroundIconName#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NumerableIconBackgroundIconNamePropertyInfo,
+#endif
+    clearNumerableIconBackgroundIconName    ,
+    constructNumerableIconBackgroundIconName,
+    getNumerableIconBackgroundIconName      ,
+#if ENABLE_OVERLOADING
+    numerableIconBackgroundIconName         ,
+#endif
+    setNumerableIconBackgroundIconName      ,
+
+
+-- ** count #attr:count#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NumerableIconCountPropertyInfo          ,
+#endif
+    constructNumerableIconCount             ,
+    getNumerableIconCount                   ,
+#if ENABLE_OVERLOADING
+    numerableIconCount                      ,
+#endif
+    setNumerableIconCount                   ,
+
+
+-- ** label #attr:label#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NumerableIconLabelPropertyInfo          ,
+#endif
+    clearNumerableIconLabel                 ,
+    constructNumerableIconLabel             ,
+    getNumerableIconLabel                   ,
+#if ENABLE_OVERLOADING
+    numerableIconLabel                      ,
+#endif
+    setNumerableIconLabel                   ,
+
+
+-- ** styleContext #attr:styleContext#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    NumerableIconStyleContextPropertyInfo   ,
+#endif
+    constructNumerableIconStyleContext      ,
+    getNumerableIconStyleContext            ,
+#if ENABLE_OVERLOADING
+    numerableIconStyleContext               ,
+#endif
+    setNumerableIconStyleContext            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import qualified GI.Gio.Objects.EmblemedIcon as Gio.EmblemedIcon
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
+
+-- | Memory-managed wrapper type.
+newtype NumerableIcon = NumerableIcon (ManagedPtr NumerableIcon)
+foreign import ccall "gtk_numerable_icon_get_type"
+    c_gtk_numerable_icon_get_type :: IO GType
+
+instance GObject NumerableIcon where
+    gobjectType = c_gtk_numerable_icon_get_type
+    
+
+-- | Type class for types which can be safely cast to `NumerableIcon`, for instance with `toNumerableIcon`.
+class (GObject o, O.IsDescendantOf NumerableIcon o) => IsNumerableIcon o
+instance (GObject o, O.IsDescendantOf NumerableIcon o) => IsNumerableIcon o
+
+instance O.HasParentTypes NumerableIcon
+type instance O.ParentTypes NumerableIcon = '[Gio.EmblemedIcon.EmblemedIcon, GObject.Object.Object, Gio.Icon.Icon]
+
+-- | Cast to `NumerableIcon`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toNumerableIcon :: (MonadIO m, IsNumerableIcon o) => o -> m NumerableIcon
+toNumerableIcon = liftIO . unsafeCastTo NumerableIcon
+
+-- | A convenience alias for `Nothing` :: `Maybe` `NumerableIcon`.
+noNumerableIcon :: Maybe NumerableIcon
+noNumerableIcon = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveNumerableIconMethod (t :: Symbol) (o :: *) :: * where
+    ResolveNumerableIconMethod "addEmblem" o = Gio.EmblemedIcon.EmblemedIconAddEmblemMethodInfo
+    ResolveNumerableIconMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveNumerableIconMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveNumerableIconMethod "clearEmblems" o = Gio.EmblemedIcon.EmblemedIconClearEmblemsMethodInfo
+    ResolveNumerableIconMethod "equal" o = Gio.Icon.IconEqualMethodInfo
+    ResolveNumerableIconMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveNumerableIconMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveNumerableIconMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveNumerableIconMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveNumerableIconMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveNumerableIconMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveNumerableIconMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveNumerableIconMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveNumerableIconMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveNumerableIconMethod "serialize" o = Gio.Icon.IconSerializeMethodInfo
+    ResolveNumerableIconMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveNumerableIconMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveNumerableIconMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveNumerableIconMethod "toString" o = Gio.Icon.IconToStringMethodInfo
+    ResolveNumerableIconMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveNumerableIconMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveNumerableIconMethod "getBackgroundGicon" o = NumerableIconGetBackgroundGiconMethodInfo
+    ResolveNumerableIconMethod "getBackgroundIconName" o = NumerableIconGetBackgroundIconNameMethodInfo
+    ResolveNumerableIconMethod "getCount" o = NumerableIconGetCountMethodInfo
+    ResolveNumerableIconMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveNumerableIconMethod "getEmblems" o = Gio.EmblemedIcon.EmblemedIconGetEmblemsMethodInfo
+    ResolveNumerableIconMethod "getIcon" o = Gio.EmblemedIcon.EmblemedIconGetIconMethodInfo
+    ResolveNumerableIconMethod "getLabel" o = NumerableIconGetLabelMethodInfo
+    ResolveNumerableIconMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveNumerableIconMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveNumerableIconMethod "getStyleContext" o = NumerableIconGetStyleContextMethodInfo
+    ResolveNumerableIconMethod "setBackgroundGicon" o = NumerableIconSetBackgroundGiconMethodInfo
+    ResolveNumerableIconMethod "setBackgroundIconName" o = NumerableIconSetBackgroundIconNameMethodInfo
+    ResolveNumerableIconMethod "setCount" o = NumerableIconSetCountMethodInfo
+    ResolveNumerableIconMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveNumerableIconMethod "setLabel" o = NumerableIconSetLabelMethodInfo
+    ResolveNumerableIconMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveNumerableIconMethod "setStyleContext" o = NumerableIconSetStyleContextMethodInfo
+    ResolveNumerableIconMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveNumerableIconMethod t NumerableIcon, O.MethodInfo info NumerableIcon p) => OL.IsLabel t (NumerableIcon -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "background-icon"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' numerableIcon #backgroundIcon
+@
+-}
+getNumerableIconBackgroundIcon :: (MonadIO m, IsNumerableIcon o) => o -> m (Maybe Gio.Icon.Icon)
+getNumerableIconBackgroundIcon obj = liftIO $ B.Properties.getObjectPropertyObject obj "background-icon" Gio.Icon.Icon
+
+{- |
+Set the value of the “@background-icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' numerableIcon [ #backgroundIcon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNumerableIconBackgroundIcon :: (MonadIO m, IsNumerableIcon o, Gio.Icon.IsIcon a) => o -> a -> m ()
+setNumerableIconBackgroundIcon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "background-icon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-icon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNumerableIconBackgroundIcon :: (IsNumerableIcon o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
+constructNumerableIconBackgroundIcon val = B.Properties.constructObjectPropertyObject "background-icon" (Just val)
+
+{- |
+Set the value of the “@background-icon@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #backgroundIcon
+@
+-}
+clearNumerableIconBackgroundIcon :: (MonadIO m, IsNumerableIcon o) => o -> m ()
+clearNumerableIconBackgroundIcon obj = liftIO $ B.Properties.setObjectPropertyObject obj "background-icon" (Nothing :: Maybe Gio.Icon.Icon)
+
+#if ENABLE_OVERLOADING
+data NumerableIconBackgroundIconPropertyInfo
+instance AttrInfo NumerableIconBackgroundIconPropertyInfo where
+    type AttrAllowedOps NumerableIconBackgroundIconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint NumerableIconBackgroundIconPropertyInfo = Gio.Icon.IsIcon
+    type AttrBaseTypeConstraint NumerableIconBackgroundIconPropertyInfo = IsNumerableIcon
+    type AttrGetType NumerableIconBackgroundIconPropertyInfo = (Maybe Gio.Icon.Icon)
+    type AttrLabel NumerableIconBackgroundIconPropertyInfo = "background-icon"
+    type AttrOrigin NumerableIconBackgroundIconPropertyInfo = NumerableIcon
+    attrGet _ = getNumerableIconBackgroundIcon
+    attrSet _ = setNumerableIconBackgroundIcon
+    attrConstruct _ = constructNumerableIconBackgroundIcon
+    attrClear _ = clearNumerableIconBackgroundIcon
+#endif
+
+-- VVV Prop "background-icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@background-icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' numerableIcon #backgroundIconName
+@
+-}
+getNumerableIconBackgroundIconName :: (MonadIO m, IsNumerableIcon o) => o -> m (Maybe T.Text)
+getNumerableIconBackgroundIconName obj = liftIO $ B.Properties.getObjectPropertyString obj "background-icon-name"
+
+{- |
+Set the value of the “@background-icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' numerableIcon [ #backgroundIconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNumerableIconBackgroundIconName :: (MonadIO m, IsNumerableIcon o) => o -> T.Text -> m ()
+setNumerableIconBackgroundIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "background-icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNumerableIconBackgroundIconName :: (IsNumerableIcon o) => T.Text -> IO (GValueConstruct o)
+constructNumerableIconBackgroundIconName val = B.Properties.constructObjectPropertyString "background-icon-name" (Just val)
+
+{- |
+Set the value of the “@background-icon-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #backgroundIconName
+@
+-}
+clearNumerableIconBackgroundIconName :: (MonadIO m, IsNumerableIcon o) => o -> m ()
+clearNumerableIconBackgroundIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "background-icon-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data NumerableIconBackgroundIconNamePropertyInfo
+instance AttrInfo NumerableIconBackgroundIconNamePropertyInfo where
+    type AttrAllowedOps NumerableIconBackgroundIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint NumerableIconBackgroundIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint NumerableIconBackgroundIconNamePropertyInfo = IsNumerableIcon
+    type AttrGetType NumerableIconBackgroundIconNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel NumerableIconBackgroundIconNamePropertyInfo = "background-icon-name"
+    type AttrOrigin NumerableIconBackgroundIconNamePropertyInfo = NumerableIcon
+    attrGet _ = getNumerableIconBackgroundIconName
+    attrSet _ = setNumerableIconBackgroundIconName
+    attrConstruct _ = constructNumerableIconBackgroundIconName
+    attrClear _ = clearNumerableIconBackgroundIconName
+#endif
+
+-- VVV Prop "count"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@count@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' numerableIcon #count
+@
+-}
+getNumerableIconCount :: (MonadIO m, IsNumerableIcon o) => o -> m Int32
+getNumerableIconCount obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "count"
+
+{- |
+Set the value of the “@count@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' numerableIcon [ #count 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNumerableIconCount :: (MonadIO m, IsNumerableIcon o) => o -> Int32 -> m ()
+setNumerableIconCount obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "count" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@count@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNumerableIconCount :: (IsNumerableIcon o) => Int32 -> IO (GValueConstruct o)
+constructNumerableIconCount val = B.Properties.constructObjectPropertyInt32 "count" val
+
+#if ENABLE_OVERLOADING
+data NumerableIconCountPropertyInfo
+instance AttrInfo NumerableIconCountPropertyInfo where
+    type AttrAllowedOps NumerableIconCountPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NumerableIconCountPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint NumerableIconCountPropertyInfo = IsNumerableIcon
+    type AttrGetType NumerableIconCountPropertyInfo = Int32
+    type AttrLabel NumerableIconCountPropertyInfo = "count"
+    type AttrOrigin NumerableIconCountPropertyInfo = NumerableIcon
+    attrGet _ = getNumerableIconCount
+    attrSet _ = setNumerableIconCount
+    attrConstruct _ = constructNumerableIconCount
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' numerableIcon #label
+@
+-}
+getNumerableIconLabel :: (MonadIO m, IsNumerableIcon o) => o -> m (Maybe T.Text)
+getNumerableIconLabel obj = liftIO $ B.Properties.getObjectPropertyString obj "label"
+
+{- |
+Set the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' numerableIcon [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNumerableIconLabel :: (MonadIO m, IsNumerableIcon o) => o -> T.Text -> m ()
+setNumerableIconLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNumerableIconLabel :: (IsNumerableIcon o) => T.Text -> IO (GValueConstruct o)
+constructNumerableIconLabel val = B.Properties.constructObjectPropertyString "label" (Just val)
+
+{- |
+Set the value of the “@label@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #label
+@
+-}
+clearNumerableIconLabel :: (MonadIO m, IsNumerableIcon o) => o -> m ()
+clearNumerableIconLabel obj = liftIO $ B.Properties.setObjectPropertyString obj "label" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data NumerableIconLabelPropertyInfo
+instance AttrInfo NumerableIconLabelPropertyInfo where
+    type AttrAllowedOps NumerableIconLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint NumerableIconLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint NumerableIconLabelPropertyInfo = IsNumerableIcon
+    type AttrGetType NumerableIconLabelPropertyInfo = (Maybe T.Text)
+    type AttrLabel NumerableIconLabelPropertyInfo = "label"
+    type AttrOrigin NumerableIconLabelPropertyInfo = NumerableIcon
+    attrGet _ = getNumerableIconLabel
+    attrSet _ = setNumerableIconLabel
+    attrConstruct _ = constructNumerableIconLabel
+    attrClear _ = clearNumerableIconLabel
+#endif
+
+-- VVV Prop "style-context"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@style-context@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' numerableIcon #styleContext
+@
+-}
+getNumerableIconStyleContext :: (MonadIO m, IsNumerableIcon o) => o -> m (Maybe Gtk.StyleContext.StyleContext)
+getNumerableIconStyleContext obj = liftIO $ B.Properties.getObjectPropertyObject obj "style-context" Gtk.StyleContext.StyleContext
+
+{- |
+Set the value of the “@style-context@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' numerableIcon [ #styleContext 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setNumerableIconStyleContext :: (MonadIO m, IsNumerableIcon o, Gtk.StyleContext.IsStyleContext a) => o -> a -> m ()
+setNumerableIconStyleContext obj val = liftIO $ B.Properties.setObjectPropertyObject obj "style-context" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@style-context@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructNumerableIconStyleContext :: (IsNumerableIcon o, Gtk.StyleContext.IsStyleContext a) => a -> IO (GValueConstruct o)
+constructNumerableIconStyleContext val = B.Properties.constructObjectPropertyObject "style-context" (Just val)
+
+#if ENABLE_OVERLOADING
+data NumerableIconStyleContextPropertyInfo
+instance AttrInfo NumerableIconStyleContextPropertyInfo where
+    type AttrAllowedOps NumerableIconStyleContextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint NumerableIconStyleContextPropertyInfo = Gtk.StyleContext.IsStyleContext
+    type AttrBaseTypeConstraint NumerableIconStyleContextPropertyInfo = IsNumerableIcon
+    type AttrGetType NumerableIconStyleContextPropertyInfo = (Maybe Gtk.StyleContext.StyleContext)
+    type AttrLabel NumerableIconStyleContextPropertyInfo = "style-context"
+    type AttrOrigin NumerableIconStyleContextPropertyInfo = NumerableIcon
+    attrGet _ = getNumerableIconStyleContext
+    attrSet _ = setNumerableIconStyleContext
+    attrConstruct _ = constructNumerableIconStyleContext
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList NumerableIcon
+type instance O.AttributeList NumerableIcon = NumerableIconAttributeList
+type NumerableIconAttributeList = ('[ '("backgroundIcon", NumerableIconBackgroundIconPropertyInfo), '("backgroundIconName", NumerableIconBackgroundIconNamePropertyInfo), '("count", NumerableIconCountPropertyInfo), '("gicon", Gio.EmblemedIcon.EmblemedIconGiconPropertyInfo), '("label", NumerableIconLabelPropertyInfo), '("styleContext", NumerableIconStyleContextPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+numerableIconBackgroundIcon :: AttrLabelProxy "backgroundIcon"
+numerableIconBackgroundIcon = AttrLabelProxy
+
+numerableIconBackgroundIconName :: AttrLabelProxy "backgroundIconName"
+numerableIconBackgroundIconName = AttrLabelProxy
+
+numerableIconCount :: AttrLabelProxy "count"
+numerableIconCount = AttrLabelProxy
+
+numerableIconLabel :: AttrLabelProxy "label"
+numerableIconLabel = AttrLabelProxy
+
+numerableIconStyleContext :: AttrLabelProxy "styleContext"
+numerableIconStyleContext = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList NumerableIcon = NumerableIconSignalList
+type NumerableIconSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method NumerableIcon::get_background_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_get_background_gicon" gtk_numerable_icon_get_background_gicon :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    IO (Ptr Gio.Icon.Icon)
+
+{-# DEPRECATED numerableIconGetBackgroundGicon ["(Since version 3.14)"] #-}
+{- |
+Returns the 'GI.Gio.Interfaces.Icon.Icon' that was set as the base background image, or
+'Nothing' if there’s none. The caller of this function does not own
+a reference to the returned 'GI.Gio.Interfaces.Icon.Icon'.
+
+/Since: 3.0/
+-}
+numerableIconGetBackgroundGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> m (Maybe Gio.Icon.Icon)
+    {- ^ __Returns:__ a 'GI.Gio.Interfaces.Icon.Icon', or 'Nothing' -}
+numerableIconGetBackgroundGicon self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_numerable_icon_get_background_gicon self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.Icon.Icon) result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NumerableIconGetBackgroundGiconMethodInfo
+instance (signature ~ (m (Maybe Gio.Icon.Icon)), MonadIO m, IsNumerableIcon a) => O.MethodInfo NumerableIconGetBackgroundGiconMethodInfo a signature where
+    overloadedMethod _ = numerableIconGetBackgroundGicon
+
+#endif
+
+-- method NumerableIcon::get_background_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_get_background_icon_name" gtk_numerable_icon_get_background_icon_name :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    IO CString
+
+{-# DEPRECATED numerableIconGetBackgroundIconName ["(Since version 3.14)"] #-}
+{- |
+Returns the icon name used as the base background image,
+or 'Nothing' if there’s none.
+
+/Since: 3.0/
+-}
+numerableIconGetBackgroundIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ an icon name, or 'Nothing' -}
+numerableIconGetBackgroundIconName self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_numerable_icon_get_background_icon_name self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NumerableIconGetBackgroundIconNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsNumerableIcon a) => O.MethodInfo NumerableIconGetBackgroundIconNameMethodInfo a signature where
+    overloadedMethod _ = numerableIconGetBackgroundIconName
+
+#endif
+
+-- method NumerableIcon::get_count
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_get_count" gtk_numerable_icon_get_count :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    IO Int32
+
+{-# DEPRECATED numerableIconGetCount ["(Since version 3.14)"] #-}
+{- |
+Returns the value currently displayed by /@self@/.
+
+/Since: 3.0/
+-}
+numerableIconGetCount ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> m Int32
+    {- ^ __Returns:__ the currently displayed value -}
+numerableIconGetCount self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_numerable_icon_get_count self'
+    touchManagedPtr self
+    return result
+
+#if ENABLE_OVERLOADING
+data NumerableIconGetCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsNumerableIcon a) => O.MethodInfo NumerableIconGetCountMethodInfo a signature where
+    overloadedMethod _ = numerableIconGetCount
+
+#endif
+
+-- method NumerableIcon::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_get_label" gtk_numerable_icon_get_label :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    IO CString
+
+{-# DEPRECATED numerableIconGetLabel ["(Since version 3.14)"] #-}
+{- |
+Returns the currently displayed label of the icon, or 'Nothing'.
+
+/Since: 3.0/
+-}
+numerableIconGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the currently displayed label -}
+numerableIconGetLabel self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_numerable_icon_get_label self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NumerableIconGetLabelMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsNumerableIcon a) => O.MethodInfo NumerableIconGetLabelMethodInfo a signature where
+    overloadedMethod _ = numerableIconGetLabel
+
+#endif
+
+-- method NumerableIcon::get_style_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StyleContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_get_style_context" gtk_numerable_icon_get_style_context :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    IO (Ptr Gtk.StyleContext.StyleContext)
+
+{-# DEPRECATED numerableIconGetStyleContext ["(Since version 3.14)"] #-}
+{- |
+Returns the 'GI.Gtk.Objects.StyleContext.StyleContext' used by the icon for theming,
+or 'Nothing' if there’s none.
+
+/Since: 3.0/
+-}
+numerableIconGetStyleContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> m (Maybe Gtk.StyleContext.StyleContext)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.StyleContext.StyleContext', or 'Nothing'.
+    This object is internal to GTK+ and should not be unreffed.
+    Use 'GI.GObject.Objects.Object.objectRef' if you want to keep it around -}
+numerableIconGetStyleContext self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_numerable_icon_get_style_context self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.StyleContext.StyleContext) result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data NumerableIconGetStyleContextMethodInfo
+instance (signature ~ (m (Maybe Gtk.StyleContext.StyleContext)), MonadIO m, IsNumerableIcon a) => O.MethodInfo NumerableIconGetStyleContextMethodInfo a signature where
+    overloadedMethod _ = numerableIconGetStyleContext
+
+#endif
+
+-- method NumerableIcon::set_background_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GIcon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_set_background_gicon" gtk_numerable_icon_set_background_gicon :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    IO ()
+
+{-# DEPRECATED numerableIconSetBackgroundGicon ["(Since version 3.14)"] #-}
+{- |
+Updates the icon to use /@icon@/ as the base background image.
+If /@icon@/ is 'Nothing', /@self@/ will go back using style information
+or default theming for its background image.
+
+If this method is called and an icon name was already set as
+background for the icon, /@icon@/ will be used, i.e. the last method
+called between 'GI.Gtk.Objects.NumerableIcon.numerableIconSetBackgroundGicon' and
+'GI.Gtk.Objects.NumerableIcon.numerableIconSetBackgroundIconName' has always priority.
+
+/Since: 3.0/
+-}
+numerableIconSetBackgroundGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> Maybe (b)
+    {- ^ /@icon@/: a 'GI.Gio.Interfaces.Icon.Icon', or 'Nothing' -}
+    -> m ()
+numerableIconSetBackgroundGicon self icon = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    maybeIcon <- case icon of
+        Nothing -> return nullPtr
+        Just jIcon -> do
+            jIcon' <- unsafeManagedPtrCastPtr jIcon
+            return jIcon'
+    gtk_numerable_icon_set_background_gicon self' maybeIcon
+    touchManagedPtr self
+    whenJust icon touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data NumerableIconSetBackgroundGiconMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsNumerableIcon a, Gio.Icon.IsIcon b) => O.MethodInfo NumerableIconSetBackgroundGiconMethodInfo a signature where
+    overloadedMethod _ = numerableIconSetBackgroundGicon
+
+#endif
+
+-- method NumerableIcon::set_background_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an icon name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_set_background_icon_name" gtk_numerable_icon_set_background_icon_name :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED numerableIconSetBackgroundIconName ["(Since version 3.14)"] #-}
+{- |
+Updates the icon to use the icon named /@iconName@/ from the
+current icon theme as the base background image. If /@iconName@/
+is 'Nothing', /@self@/ will go back using style information or default
+theming for its background image.
+
+If this method is called and a 'GI.Gio.Interfaces.Icon.Icon' was already set as
+background for the icon, /@iconName@/ will be used, i.e. the
+last method called between 'GI.Gtk.Objects.NumerableIcon.numerableIconSetBackgroundIconName'
+and 'GI.Gtk.Objects.NumerableIcon.numerableIconSetBackgroundGicon' has always priority.
+
+/Since: 3.0/
+-}
+numerableIconSetBackgroundIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> Maybe (T.Text)
+    {- ^ /@iconName@/: an icon name, or 'Nothing' -}
+    -> m ()
+numerableIconSetBackgroundIconName self iconName = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    gtk_numerable_icon_set_background_icon_name self' maybeIconName
+    touchManagedPtr self
+    freeMem maybeIconName
+    return ()
+
+#if ENABLE_OVERLOADING
+data NumerableIconSetBackgroundIconNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsNumerableIcon a) => O.MethodInfo NumerableIconSetBackgroundIconNameMethodInfo a signature where
+    overloadedMethod _ = numerableIconSetBackgroundIconName
+
+#endif
+
+-- method NumerableIcon::set_count
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a number between -99 and 99", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_set_count" gtk_numerable_icon_set_count :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED numerableIconSetCount ["(Since version 3.14)"] #-}
+{- |
+Sets the currently displayed value of /@self@/ to /@count@/.
+
+The numeric value is always clamped to make it two digits, i.e.
+between -99 and 99. Setting a count of zero removes the emblem.
+If this method is called, and a label was already set on the icon,
+it will automatically be reset to 'Nothing' before rendering the number,
+i.e. the last method called between 'GI.Gtk.Objects.NumerableIcon.numerableIconSetCount'
+and 'GI.Gtk.Objects.NumerableIcon.numerableIconSetLabel' has always priority.
+
+/Since: 3.0/
+-}
+numerableIconSetCount ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> Int32
+    {- ^ /@count@/: a number between -99 and 99 -}
+    -> m ()
+numerableIconSetCount self count = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    gtk_numerable_icon_set_count self' count
+    touchManagedPtr self
+    return ()
+
+#if ENABLE_OVERLOADING
+data NumerableIconSetCountMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsNumerableIcon a) => O.MethodInfo NumerableIconSetCountMethodInfo a signature where
+    overloadedMethod _ = numerableIconSetCount
+
+#endif
+
+-- method NumerableIcon::set_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a short label, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_set_label" gtk_numerable_icon_set_label :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED numerableIconSetLabel ["(Since version 3.14)"] #-}
+{- |
+Sets the currently displayed value of /@self@/ to the string
+in /@label@/. Setting an empty label removes the emblem.
+
+Note that this is meant for displaying short labels, such as
+roman numbers, or single letters. For roman numbers, consider
+using the Unicode characters U+2160 - U+217F. Strings longer
+than two characters will likely not be rendered very well.
+
+If this method is called, and a number was already set on the
+icon, it will automatically be reset to zero before rendering
+the label, i.e. the last method called between
+'GI.Gtk.Objects.NumerableIcon.numerableIconSetLabel' and 'GI.Gtk.Objects.NumerableIcon.numerableIconSetCount'
+has always priority.
+
+/Since: 3.0/
+-}
+numerableIconSetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: a short label, or 'Nothing' -}
+    -> m ()
+numerableIconSetLabel self label = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    gtk_numerable_icon_set_label self' maybeLabel
+    touchManagedPtr self
+    freeMem maybeLabel
+    return ()
+
+#if ENABLE_OVERLOADING
+data NumerableIconSetLabelMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsNumerableIcon a) => O.MethodInfo NumerableIconSetLabelMethodInfo a signature where
+    overloadedMethod _ = numerableIconSetLabel
+
+#endif
+
+-- method NumerableIcon::set_style_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "NumerableIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumerableIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_set_style_context" gtk_numerable_icon_set_style_context :: 
+    Ptr NumerableIcon ->                    -- self : TInterface (Name {namespace = "Gtk", name = "NumerableIcon"})
+    Ptr Gtk.StyleContext.StyleContext ->    -- style : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO ()
+
+{-# DEPRECATED numerableIconSetStyleContext ["(Since version 3.14)"] #-}
+{- |
+Updates the icon to fetch theme information from the
+given 'GI.Gtk.Objects.StyleContext.StyleContext'.
+
+/Since: 3.0/
+-}
+numerableIconSetStyleContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsNumerableIcon a, Gtk.StyleContext.IsStyleContext b) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' -}
+    -> b
+    {- ^ /@style@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m ()
+numerableIconSetStyleContext self style = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    style' <- unsafeManagedPtrCastPtr style
+    gtk_numerable_icon_set_style_context self' style'
+    touchManagedPtr self
+    touchManagedPtr style
+    return ()
+
+#if ENABLE_OVERLOADING
+data NumerableIconSetStyleContextMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsNumerableIcon a, Gtk.StyleContext.IsStyleContext b) => O.MethodInfo NumerableIconSetStyleContextMethodInfo a signature where
+    overloadedMethod _ = numerableIconSetStyleContext
+
+#endif
+
+-- method NumerableIcon::new
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "base_icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIcon to overlay on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_new" gtk_numerable_icon_new :: 
+    Ptr Gio.Icon.Icon ->                    -- base_icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    IO (Ptr Gio.Icon.Icon)
+
+{-# DEPRECATED numerableIconNew ["(Since version 3.14)"] #-}
+{- |
+Creates a new unthemed 'GI.Gtk.Objects.NumerableIcon.NumerableIcon'.
+
+/Since: 3.0/
+-}
+numerableIconNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gio.Icon.IsIcon a) =>
+    a
+    {- ^ /@baseIcon@/: a 'GI.Gio.Interfaces.Icon.Icon' to overlay on -}
+    -> m Gio.Icon.Icon
+    {- ^ __Returns:__ a new 'GI.Gio.Interfaces.Icon.Icon' -}
+numerableIconNew baseIcon = liftIO $ do
+    baseIcon' <- unsafeManagedPtrCastPtr baseIcon
+    result <- gtk_numerable_icon_new baseIcon'
+    checkUnexpectedReturnNULL "numerableIconNew" result
+    result' <- (wrapObject Gio.Icon.Icon) result
+    touchManagedPtr baseIcon
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method NumerableIcon::new_with_style_context
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "base_icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIcon to overlay on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_numerable_icon_new_with_style_context" gtk_numerable_icon_new_with_style_context :: 
+    Ptr Gio.Icon.Icon ->                    -- base_icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO (Ptr Gio.Icon.Icon)
+
+{-# DEPRECATED numerableIconNewWithStyleContext ["(Since version 3.14)"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.NumerableIcon.NumerableIcon' which will themed according
+to the passed 'GI.Gtk.Objects.StyleContext.StyleContext'. This is a convenience constructor
+that calls 'GI.Gtk.Objects.NumerableIcon.numerableIconSetStyleContext' internally.
+
+/Since: 3.0/
+-}
+numerableIconNewWithStyleContext ::
+    (B.CallStack.HasCallStack, MonadIO m, Gio.Icon.IsIcon a, Gtk.StyleContext.IsStyleContext b) =>
+    a
+    {- ^ /@baseIcon@/: a 'GI.Gio.Interfaces.Icon.Icon' to overlay on -}
+    -> b
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m Gio.Icon.Icon
+    {- ^ __Returns:__ a new 'GI.Gio.Interfaces.Icon.Icon' -}
+numerableIconNewWithStyleContext baseIcon context = liftIO $ do
+    baseIcon' <- unsafeManagedPtrCastPtr baseIcon
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_numerable_icon_new_with_style_context baseIcon' context'
+    checkUnexpectedReturnNULL "numerableIconNewWithStyleContext" result
+    result' <- (wrapObject Gio.Icon.Icon) result
+    touchManagedPtr baseIcon
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/NumerableIcon.hs-boot b/GI/Gtk/Objects/NumerableIcon.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/NumerableIcon.hs-boot
@@ -0,0 +1,74 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.NumerableIcon where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype NumerableIcon = NumerableIcon (ManagedPtr NumerableIcon)
+instance GObject NumerableIcon where
+class (GObject o, O.IsDescendantOf NumerableIcon o) => IsNumerableIcon o
+instance (GObject o, O.IsDescendantOf NumerableIcon o) => IsNumerableIcon o
+instance O.HasParentTypes NumerableIcon
+#if ENABLE_OVERLOADING
+data NumerableIconBackgroundIconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconBackgroundIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconCountPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconStyleContextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconGetBackgroundGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconGetBackgroundIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconGetCountMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconGetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconGetStyleContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconSetBackgroundGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconSetBackgroundIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconSetCountMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconSetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data NumerableIconSetStyleContextMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/OffscreenWindow.hs b/GI/Gtk/Objects/OffscreenWindow.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/OffscreenWindow.hs
@@ -0,0 +1,687 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkOffscreenWindow is strictly intended to be used for obtaining
+snapshots of widgets that are not part of a normal widget hierarchy.
+Since 'GI.Gtk.Objects.OffscreenWindow.OffscreenWindow' is a toplevel widget you cannot obtain
+snapshots of a full window with it since you cannot pack a toplevel
+widget in another toplevel.
+
+The idea is to take a widget and manually set the state of it,
+add it to a GtkOffscreenWindow and then retrieve the snapshot
+as a 'GI.Cairo.Structs.Surface.Surface' or 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'.
+
+GtkOffscreenWindow derives from 'GI.Gtk.Objects.Window.Window' only as an implementation
+detail.  Applications should not use any API specific to 'GI.Gtk.Objects.Window.Window'
+to operate on this object.  It should be treated as a 'GI.Gtk.Objects.Bin.Bin' that
+has no parent widget.
+
+When contained offscreen widgets are redrawn, GtkOffscreenWindow
+will emit a 'GI.Gtk.Objects.Widget.Widget'::@/damage-event/@ signal.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.OffscreenWindow
+    ( 
+
+-- * Exported types
+    OffscreenWindow(..)                     ,
+    IsOffscreenWindow                       ,
+    toOffscreenWindow                       ,
+    noOffscreenWindow                       ,
+
+
+ -- * Methods
+-- ** getPixbuf #method:getPixbuf#
+
+#if ENABLE_OVERLOADING
+    OffscreenWindowGetPixbufMethodInfo      ,
+#endif
+    offscreenWindowGetPixbuf                ,
+
+
+-- ** getSurface #method:getSurface#
+
+#if ENABLE_OVERLOADING
+    OffscreenWindowGetSurfaceMethodInfo     ,
+#endif
+    offscreenWindowGetSurface               ,
+
+
+-- ** new #method:new#
+
+    offscreenWindowNew                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.Cairo.Structs.Surface as Cairo.Surface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype OffscreenWindow = OffscreenWindow (ManagedPtr OffscreenWindow)
+foreign import ccall "gtk_offscreen_window_get_type"
+    c_gtk_offscreen_window_get_type :: IO GType
+
+instance GObject OffscreenWindow where
+    gobjectType = c_gtk_offscreen_window_get_type
+    
+
+-- | Type class for types which can be safely cast to `OffscreenWindow`, for instance with `toOffscreenWindow`.
+class (GObject o, O.IsDescendantOf OffscreenWindow o) => IsOffscreenWindow o
+instance (GObject o, O.IsDescendantOf OffscreenWindow o) => IsOffscreenWindow o
+
+instance O.HasParentTypes OffscreenWindow
+type instance O.ParentTypes OffscreenWindow = '[Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `OffscreenWindow`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toOffscreenWindow :: (MonadIO m, IsOffscreenWindow o) => o -> m OffscreenWindow
+toOffscreenWindow = liftIO . unsafeCastTo OffscreenWindow
+
+-- | A convenience alias for `Nothing` :: `Maybe` `OffscreenWindow`.
+noOffscreenWindow :: Maybe OffscreenWindow
+noOffscreenWindow = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveOffscreenWindowMethod (t :: Symbol) (o :: *) :: * where
+    ResolveOffscreenWindowMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveOffscreenWindowMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveOffscreenWindowMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveOffscreenWindowMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveOffscreenWindowMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveOffscreenWindowMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveOffscreenWindowMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveOffscreenWindowMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveOffscreenWindowMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveOffscreenWindowMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveOffscreenWindowMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveOffscreenWindowMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveOffscreenWindowMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveOffscreenWindowMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveOffscreenWindowMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveOffscreenWindowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveOffscreenWindowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveOffscreenWindowMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveOffscreenWindowMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveOffscreenWindowMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveOffscreenWindowMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveOffscreenWindowMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveOffscreenWindowMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveOffscreenWindowMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveOffscreenWindowMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveOffscreenWindowMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveOffscreenWindowMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveOffscreenWindowMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveOffscreenWindowMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveOffscreenWindowMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveOffscreenWindowMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveOffscreenWindowMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveOffscreenWindowMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveOffscreenWindowMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveOffscreenWindowMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveOffscreenWindowMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveOffscreenWindowMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveOffscreenWindowMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveOffscreenWindowMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveOffscreenWindowMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveOffscreenWindowMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveOffscreenWindowMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveOffscreenWindowMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveOffscreenWindowMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveOffscreenWindowMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveOffscreenWindowMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveOffscreenWindowMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveOffscreenWindowMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveOffscreenWindowMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveOffscreenWindowMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveOffscreenWindowMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveOffscreenWindowMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveOffscreenWindowMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveOffscreenWindowMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveOffscreenWindowMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveOffscreenWindowMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveOffscreenWindowMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveOffscreenWindowMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveOffscreenWindowMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveOffscreenWindowMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveOffscreenWindowMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveOffscreenWindowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveOffscreenWindowMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveOffscreenWindowMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveOffscreenWindowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveOffscreenWindowMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveOffscreenWindowMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveOffscreenWindowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveOffscreenWindowMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveOffscreenWindowMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveOffscreenWindowMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveOffscreenWindowMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveOffscreenWindowMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveOffscreenWindowMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveOffscreenWindowMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveOffscreenWindowMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveOffscreenWindowMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveOffscreenWindowMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveOffscreenWindowMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveOffscreenWindowMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveOffscreenWindowMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveOffscreenWindowMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveOffscreenWindowMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveOffscreenWindowMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveOffscreenWindowMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveOffscreenWindowMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveOffscreenWindowMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveOffscreenWindowMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveOffscreenWindowMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveOffscreenWindowMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveOffscreenWindowMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveOffscreenWindowMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveOffscreenWindowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveOffscreenWindowMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveOffscreenWindowMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveOffscreenWindowMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveOffscreenWindowMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveOffscreenWindowMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveOffscreenWindowMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveOffscreenWindowMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveOffscreenWindowMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveOffscreenWindowMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveOffscreenWindowMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveOffscreenWindowMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveOffscreenWindowMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveOffscreenWindowMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveOffscreenWindowMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveOffscreenWindowMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveOffscreenWindowMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveOffscreenWindowMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveOffscreenWindowMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveOffscreenWindowMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveOffscreenWindowMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveOffscreenWindowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveOffscreenWindowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveOffscreenWindowMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveOffscreenWindowMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveOffscreenWindowMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveOffscreenWindowMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveOffscreenWindowMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveOffscreenWindowMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveOffscreenWindowMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveOffscreenWindowMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveOffscreenWindowMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveOffscreenWindowMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveOffscreenWindowMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveOffscreenWindowMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveOffscreenWindowMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveOffscreenWindowMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveOffscreenWindowMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveOffscreenWindowMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveOffscreenWindowMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveOffscreenWindowMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveOffscreenWindowMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveOffscreenWindowMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveOffscreenWindowMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveOffscreenWindowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveOffscreenWindowMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveOffscreenWindowMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveOffscreenWindowMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveOffscreenWindowMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveOffscreenWindowMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveOffscreenWindowMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveOffscreenWindowMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveOffscreenWindowMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveOffscreenWindowMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveOffscreenWindowMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveOffscreenWindowMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveOffscreenWindowMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveOffscreenWindowMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveOffscreenWindowMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveOffscreenWindowMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveOffscreenWindowMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveOffscreenWindowMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveOffscreenWindowMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveOffscreenWindowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveOffscreenWindowMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveOffscreenWindowMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveOffscreenWindowMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveOffscreenWindowMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveOffscreenWindowMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveOffscreenWindowMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveOffscreenWindowMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveOffscreenWindowMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveOffscreenWindowMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveOffscreenWindowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveOffscreenWindowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveOffscreenWindowMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveOffscreenWindowMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveOffscreenWindowMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveOffscreenWindowMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveOffscreenWindowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveOffscreenWindowMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveOffscreenWindowMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveOffscreenWindowMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveOffscreenWindowMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveOffscreenWindowMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveOffscreenWindowMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveOffscreenWindowMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveOffscreenWindowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveOffscreenWindowMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveOffscreenWindowMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveOffscreenWindowMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveOffscreenWindowMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveOffscreenWindowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveOffscreenWindowMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveOffscreenWindowMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveOffscreenWindowMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveOffscreenWindowMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveOffscreenWindowMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveOffscreenWindowMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveOffscreenWindowMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveOffscreenWindowMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveOffscreenWindowMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveOffscreenWindowMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveOffscreenWindowMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveOffscreenWindowMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveOffscreenWindowMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveOffscreenWindowMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveOffscreenWindowMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveOffscreenWindowMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveOffscreenWindowMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveOffscreenWindowMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveOffscreenWindowMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveOffscreenWindowMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveOffscreenWindowMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveOffscreenWindowMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveOffscreenWindowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveOffscreenWindowMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveOffscreenWindowMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveOffscreenWindowMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveOffscreenWindowMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveOffscreenWindowMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveOffscreenWindowMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveOffscreenWindowMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveOffscreenWindowMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveOffscreenWindowMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveOffscreenWindowMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveOffscreenWindowMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveOffscreenWindowMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveOffscreenWindowMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveOffscreenWindowMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveOffscreenWindowMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveOffscreenWindowMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveOffscreenWindowMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveOffscreenWindowMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveOffscreenWindowMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveOffscreenWindowMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveOffscreenWindowMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveOffscreenWindowMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveOffscreenWindowMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveOffscreenWindowMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveOffscreenWindowMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveOffscreenWindowMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveOffscreenWindowMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveOffscreenWindowMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveOffscreenWindowMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveOffscreenWindowMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveOffscreenWindowMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveOffscreenWindowMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveOffscreenWindowMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveOffscreenWindowMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveOffscreenWindowMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveOffscreenWindowMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveOffscreenWindowMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveOffscreenWindowMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveOffscreenWindowMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveOffscreenWindowMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveOffscreenWindowMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveOffscreenWindowMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveOffscreenWindowMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveOffscreenWindowMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveOffscreenWindowMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveOffscreenWindowMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveOffscreenWindowMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveOffscreenWindowMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveOffscreenWindowMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveOffscreenWindowMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveOffscreenWindowMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveOffscreenWindowMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveOffscreenWindowMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveOffscreenWindowMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveOffscreenWindowMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveOffscreenWindowMethod "getPixbuf" o = OffscreenWindowGetPixbufMethodInfo
+    ResolveOffscreenWindowMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveOffscreenWindowMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveOffscreenWindowMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveOffscreenWindowMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveOffscreenWindowMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveOffscreenWindowMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveOffscreenWindowMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveOffscreenWindowMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveOffscreenWindowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveOffscreenWindowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveOffscreenWindowMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveOffscreenWindowMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveOffscreenWindowMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveOffscreenWindowMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveOffscreenWindowMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveOffscreenWindowMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveOffscreenWindowMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveOffscreenWindowMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveOffscreenWindowMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveOffscreenWindowMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveOffscreenWindowMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveOffscreenWindowMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveOffscreenWindowMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveOffscreenWindowMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveOffscreenWindowMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveOffscreenWindowMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveOffscreenWindowMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveOffscreenWindowMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveOffscreenWindowMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveOffscreenWindowMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveOffscreenWindowMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveOffscreenWindowMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveOffscreenWindowMethod "getSurface" o = OffscreenWindowGetSurfaceMethodInfo
+    ResolveOffscreenWindowMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveOffscreenWindowMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveOffscreenWindowMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveOffscreenWindowMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveOffscreenWindowMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveOffscreenWindowMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveOffscreenWindowMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveOffscreenWindowMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveOffscreenWindowMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveOffscreenWindowMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveOffscreenWindowMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveOffscreenWindowMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveOffscreenWindowMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveOffscreenWindowMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveOffscreenWindowMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveOffscreenWindowMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveOffscreenWindowMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveOffscreenWindowMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveOffscreenWindowMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveOffscreenWindowMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveOffscreenWindowMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveOffscreenWindowMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveOffscreenWindowMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveOffscreenWindowMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveOffscreenWindowMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveOffscreenWindowMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveOffscreenWindowMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveOffscreenWindowMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveOffscreenWindowMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveOffscreenWindowMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveOffscreenWindowMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveOffscreenWindowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveOffscreenWindowMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveOffscreenWindowMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveOffscreenWindowMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveOffscreenWindowMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveOffscreenWindowMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveOffscreenWindowMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveOffscreenWindowMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveOffscreenWindowMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveOffscreenWindowMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveOffscreenWindowMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveOffscreenWindowMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveOffscreenWindowMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveOffscreenWindowMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveOffscreenWindowMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveOffscreenWindowMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveOffscreenWindowMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveOffscreenWindowMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveOffscreenWindowMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveOffscreenWindowMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveOffscreenWindowMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveOffscreenWindowMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveOffscreenWindowMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveOffscreenWindowMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveOffscreenWindowMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveOffscreenWindowMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveOffscreenWindowMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveOffscreenWindowMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveOffscreenWindowMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveOffscreenWindowMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveOffscreenWindowMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveOffscreenWindowMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveOffscreenWindowMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveOffscreenWindowMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveOffscreenWindowMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveOffscreenWindowMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveOffscreenWindowMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveOffscreenWindowMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveOffscreenWindowMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveOffscreenWindowMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveOffscreenWindowMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveOffscreenWindowMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveOffscreenWindowMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveOffscreenWindowMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveOffscreenWindowMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveOffscreenWindowMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveOffscreenWindowMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveOffscreenWindowMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveOffscreenWindowMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveOffscreenWindowMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveOffscreenWindowMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveOffscreenWindowMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveOffscreenWindowMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveOffscreenWindowMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveOffscreenWindowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveOffscreenWindowMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveOffscreenWindowMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveOffscreenWindowMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveOffscreenWindowMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveOffscreenWindowMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveOffscreenWindowMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveOffscreenWindowMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveOffscreenWindowMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveOffscreenWindowMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveOffscreenWindowMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveOffscreenWindowMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveOffscreenWindowMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveOffscreenWindowMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveOffscreenWindowMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveOffscreenWindowMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveOffscreenWindowMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveOffscreenWindowMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveOffscreenWindowMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveOffscreenWindowMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveOffscreenWindowMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveOffscreenWindowMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveOffscreenWindowMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveOffscreenWindowMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveOffscreenWindowMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveOffscreenWindowMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveOffscreenWindowMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveOffscreenWindowMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveOffscreenWindowMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveOffscreenWindowMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveOffscreenWindowMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveOffscreenWindowMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveOffscreenWindowMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveOffscreenWindowMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveOffscreenWindowMethod t OffscreenWindow, O.MethodInfo info OffscreenWindow p) => OL.IsLabel t (OffscreenWindow -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList OffscreenWindow
+type instance O.AttributeList OffscreenWindow = OffscreenWindowAttributeList
+type OffscreenWindowAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList OffscreenWindow = OffscreenWindowSignalList
+type OffscreenWindowSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method OffscreenWindow::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "OffscreenWindow"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_offscreen_window_new" gtk_offscreen_window_new :: 
+    IO (Ptr OffscreenWindow)
+
+{- |
+Creates a toplevel container widget that is used to retrieve
+snapshots of widgets without showing them on the screen.
+
+/Since: 2.20/
+-}
+offscreenWindowNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m OffscreenWindow
+    {- ^ __Returns:__ A pointer to a 'GI.Gtk.Objects.Widget.Widget' -}
+offscreenWindowNew  = liftIO $ do
+    result <- gtk_offscreen_window_new
+    checkUnexpectedReturnNULL "offscreenWindowNew" result
+    result' <- (newObject OffscreenWindow) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method OffscreenWindow::get_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "offscreen", argType = TInterface (Name {namespace = "Gtk", name = "OffscreenWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkOffscreenWindow contained widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_offscreen_window_get_pixbuf" gtk_offscreen_window_get_pixbuf :: 
+    Ptr OffscreenWindow ->                  -- offscreen : TInterface (Name {namespace = "Gtk", name = "OffscreenWindow"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Retrieves a snapshot of the contained widget in the form of
+a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'.  This is a new pixbuf with a reference count of 1,
+and the application should unreference it once it is no longer
+needed.
+
+/Since: 2.20/
+-}
+offscreenWindowGetPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsOffscreenWindow a) =>
+    a
+    {- ^ /@offscreen@/: the 'GI.Gtk.Objects.OffscreenWindow.OffscreenWindow' contained widget. -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ A 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' pointer, or 'Nothing'. -}
+offscreenWindowGetPixbuf offscreen = liftIO $ do
+    offscreen' <- unsafeManagedPtrCastPtr offscreen
+    result <- gtk_offscreen_window_get_pixbuf offscreen'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr offscreen
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data OffscreenWindowGetPixbufMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsOffscreenWindow a) => O.MethodInfo OffscreenWindowGetPixbufMethodInfo a signature where
+    overloadedMethod _ = offscreenWindowGetPixbuf
+
+#endif
+
+-- method OffscreenWindow::get_surface
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "offscreen", argType = TInterface (Name {namespace = "Gtk", name = "OffscreenWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkOffscreenWindow contained widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_offscreen_window_get_surface" gtk_offscreen_window_get_surface :: 
+    Ptr OffscreenWindow ->                  -- offscreen : TInterface (Name {namespace = "Gtk", name = "OffscreenWindow"})
+    IO (Ptr Cairo.Surface.Surface)
+
+{- |
+Retrieves a snapshot of the contained widget in the form of
+a 'GI.Cairo.Structs.Surface.Surface'.  If you need to keep this around over window
+resizes then you should add a reference to it.
+
+/Since: 2.20/
+-}
+offscreenWindowGetSurface ::
+    (B.CallStack.HasCallStack, MonadIO m, IsOffscreenWindow a) =>
+    a
+    {- ^ /@offscreen@/: the 'GI.Gtk.Objects.OffscreenWindow.OffscreenWindow' contained widget. -}
+    -> m (Maybe Cairo.Surface.Surface)
+    {- ^ __Returns:__ A 'GI.Cairo.Structs.Surface.Surface' pointer to the offscreen
+    surface, or 'Nothing'. -}
+offscreenWindowGetSurface offscreen = liftIO $ do
+    offscreen' <- unsafeManagedPtrCastPtr offscreen
+    result <- gtk_offscreen_window_get_surface offscreen'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Cairo.Surface.Surface) result'
+        return result''
+    touchManagedPtr offscreen
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data OffscreenWindowGetSurfaceMethodInfo
+instance (signature ~ (m (Maybe Cairo.Surface.Surface)), MonadIO m, IsOffscreenWindow a) => O.MethodInfo OffscreenWindowGetSurfaceMethodInfo a signature where
+    overloadedMethod _ = offscreenWindowGetSurface
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/OffscreenWindow.hs-boot b/GI/Gtk/Objects/OffscreenWindow.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/OffscreenWindow.hs-boot
@@ -0,0 +1,35 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.OffscreenWindow where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype OffscreenWindow = OffscreenWindow (ManagedPtr OffscreenWindow)
+instance GObject OffscreenWindow where
+class (GObject o, O.IsDescendantOf OffscreenWindow o) => IsOffscreenWindow o
+instance (GObject o, O.IsDescendantOf OffscreenWindow o) => IsOffscreenWindow o
+instance O.HasParentTypes OffscreenWindow
+#if ENABLE_OVERLOADING
+data OffscreenWindowGetPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data OffscreenWindowGetSurfaceMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Overlay.hs b/GI/Gtk/Objects/Overlay.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Overlay.hs
@@ -0,0 +1,704 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkOverlay is a container which contains a single main child, on top
+of which it can place “overlay” widgets. The position of each overlay
+widget is determined by its 'GI.Gtk.Objects.Widget.Widget':@/halign/@ and 'GI.Gtk.Objects.Widget.Widget':@/valign/@
+properties. E.g. a widget with both alignments set to 'GI.Gtk.Enums.AlignStart'
+will be placed at the top left corner of the GtkOverlay container,
+whereas an overlay with halign set to 'GI.Gtk.Enums.AlignCenter' and valign set
+to 'GI.Gtk.Enums.AlignEnd' will be placed a the bottom edge of the GtkOverlay,
+horizontally centered. The position can be adjusted by setting the margin
+properties of the child to non-zero values.
+
+More complicated placement of overlays is possible by connecting
+to the 'GI.Gtk.Objects.Overlay.Overlay'::@/get-child-position/@ signal.
+
+= GtkOverlay as GtkBuildable
+
+The GtkOverlay implementation of the GtkBuildable interface
+supports placing a child as an overlay by specifying “overlay” as
+the “type” attribute of a @\<child>@ element.
+
+= CSS nodes
+
+GtkOverlay has a single CSS node with the name “overlay”. Overlay children
+whose alignments cause them to be positioned at an edge get the style classes
+“.left”, “.right”, “.top”, and\/or “.bottom” according to their position.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Overlay
+    ( 
+
+-- * Exported types
+    Overlay(..)                             ,
+    IsOverlay                               ,
+    toOverlay                               ,
+    noOverlay                               ,
+
+
+ -- * Methods
+-- ** addOverlay #method:addOverlay#
+
+#if ENABLE_OVERLOADING
+    OverlayAddOverlayMethodInfo             ,
+#endif
+    overlayAddOverlay                       ,
+
+
+-- ** getOverlayPassThrough #method:getOverlayPassThrough#
+
+#if ENABLE_OVERLOADING
+    OverlayGetOverlayPassThroughMethodInfo  ,
+#endif
+    overlayGetOverlayPassThrough            ,
+
+
+-- ** new #method:new#
+
+    overlayNew                              ,
+
+
+-- ** reorderOverlay #method:reorderOverlay#
+
+#if ENABLE_OVERLOADING
+    OverlayReorderOverlayMethodInfo         ,
+#endif
+    overlayReorderOverlay                   ,
+
+
+-- ** setOverlayPassThrough #method:setOverlayPassThrough#
+
+#if ENABLE_OVERLOADING
+    OverlaySetOverlayPassThroughMethodInfo  ,
+#endif
+    overlaySetOverlayPassThrough            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Overlay = Overlay (ManagedPtr Overlay)
+foreign import ccall "gtk_overlay_get_type"
+    c_gtk_overlay_get_type :: IO GType
+
+instance GObject Overlay where
+    gobjectType = c_gtk_overlay_get_type
+    
+
+-- | Type class for types which can be safely cast to `Overlay`, for instance with `toOverlay`.
+class (GObject o, O.IsDescendantOf Overlay o) => IsOverlay o
+instance (GObject o, O.IsDescendantOf Overlay o) => IsOverlay o
+
+instance O.HasParentTypes Overlay
+type instance O.ParentTypes Overlay = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Overlay`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toOverlay :: (MonadIO m, IsOverlay o) => o -> m Overlay
+toOverlay = liftIO . unsafeCastTo Overlay
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Overlay`.
+noOverlay :: Maybe Overlay
+noOverlay = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveOverlayMethod (t :: Symbol) (o :: *) :: * where
+    ResolveOverlayMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveOverlayMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveOverlayMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveOverlayMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveOverlayMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveOverlayMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveOverlayMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveOverlayMethod "addOverlay" o = OverlayAddOverlayMethodInfo
+    ResolveOverlayMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveOverlayMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveOverlayMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveOverlayMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveOverlayMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveOverlayMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveOverlayMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveOverlayMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveOverlayMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveOverlayMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveOverlayMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveOverlayMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveOverlayMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveOverlayMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveOverlayMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveOverlayMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveOverlayMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveOverlayMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveOverlayMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveOverlayMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveOverlayMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveOverlayMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveOverlayMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveOverlayMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveOverlayMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveOverlayMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveOverlayMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveOverlayMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveOverlayMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveOverlayMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveOverlayMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveOverlayMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveOverlayMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveOverlayMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveOverlayMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveOverlayMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveOverlayMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveOverlayMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveOverlayMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveOverlayMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveOverlayMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveOverlayMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveOverlayMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveOverlayMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveOverlayMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveOverlayMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveOverlayMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveOverlayMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveOverlayMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveOverlayMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveOverlayMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveOverlayMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveOverlayMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveOverlayMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveOverlayMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveOverlayMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveOverlayMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveOverlayMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveOverlayMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveOverlayMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveOverlayMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveOverlayMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveOverlayMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveOverlayMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveOverlayMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveOverlayMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveOverlayMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveOverlayMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveOverlayMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveOverlayMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveOverlayMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveOverlayMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveOverlayMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveOverlayMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveOverlayMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveOverlayMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveOverlayMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveOverlayMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveOverlayMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveOverlayMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveOverlayMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveOverlayMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveOverlayMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveOverlayMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveOverlayMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveOverlayMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveOverlayMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveOverlayMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveOverlayMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveOverlayMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveOverlayMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveOverlayMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveOverlayMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveOverlayMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveOverlayMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveOverlayMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveOverlayMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveOverlayMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveOverlayMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveOverlayMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveOverlayMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveOverlayMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveOverlayMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveOverlayMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveOverlayMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveOverlayMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveOverlayMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveOverlayMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveOverlayMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveOverlayMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveOverlayMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveOverlayMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveOverlayMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveOverlayMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveOverlayMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveOverlayMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveOverlayMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveOverlayMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveOverlayMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveOverlayMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveOverlayMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveOverlayMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveOverlayMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveOverlayMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveOverlayMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveOverlayMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveOverlayMethod "reorderOverlay" o = OverlayReorderOverlayMethodInfo
+    ResolveOverlayMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveOverlayMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveOverlayMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveOverlayMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveOverlayMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveOverlayMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveOverlayMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveOverlayMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveOverlayMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveOverlayMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveOverlayMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveOverlayMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveOverlayMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveOverlayMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveOverlayMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveOverlayMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveOverlayMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveOverlayMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveOverlayMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveOverlayMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveOverlayMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveOverlayMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveOverlayMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveOverlayMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveOverlayMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveOverlayMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveOverlayMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveOverlayMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveOverlayMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveOverlayMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveOverlayMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveOverlayMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveOverlayMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveOverlayMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveOverlayMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveOverlayMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveOverlayMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveOverlayMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveOverlayMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveOverlayMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveOverlayMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveOverlayMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveOverlayMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveOverlayMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveOverlayMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveOverlayMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveOverlayMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveOverlayMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveOverlayMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveOverlayMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveOverlayMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveOverlayMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveOverlayMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveOverlayMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveOverlayMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveOverlayMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveOverlayMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveOverlayMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveOverlayMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveOverlayMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveOverlayMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveOverlayMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveOverlayMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveOverlayMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveOverlayMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveOverlayMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveOverlayMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveOverlayMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveOverlayMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveOverlayMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveOverlayMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveOverlayMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveOverlayMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveOverlayMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveOverlayMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveOverlayMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveOverlayMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveOverlayMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveOverlayMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveOverlayMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveOverlayMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveOverlayMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveOverlayMethod "getOverlayPassThrough" o = OverlayGetOverlayPassThroughMethodInfo
+    ResolveOverlayMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveOverlayMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveOverlayMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveOverlayMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveOverlayMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveOverlayMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveOverlayMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveOverlayMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveOverlayMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveOverlayMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveOverlayMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveOverlayMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveOverlayMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveOverlayMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveOverlayMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveOverlayMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveOverlayMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveOverlayMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveOverlayMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveOverlayMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveOverlayMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveOverlayMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveOverlayMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveOverlayMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveOverlayMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveOverlayMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveOverlayMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveOverlayMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveOverlayMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveOverlayMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveOverlayMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveOverlayMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveOverlayMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveOverlayMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveOverlayMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveOverlayMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveOverlayMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveOverlayMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveOverlayMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveOverlayMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveOverlayMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveOverlayMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveOverlayMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveOverlayMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveOverlayMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveOverlayMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveOverlayMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveOverlayMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveOverlayMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveOverlayMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveOverlayMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveOverlayMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveOverlayMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveOverlayMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveOverlayMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveOverlayMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveOverlayMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveOverlayMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveOverlayMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveOverlayMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveOverlayMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveOverlayMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveOverlayMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveOverlayMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveOverlayMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveOverlayMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveOverlayMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveOverlayMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveOverlayMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveOverlayMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveOverlayMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveOverlayMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveOverlayMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveOverlayMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveOverlayMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveOverlayMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveOverlayMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveOverlayMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveOverlayMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveOverlayMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveOverlayMethod "setOverlayPassThrough" o = OverlaySetOverlayPassThroughMethodInfo
+    ResolveOverlayMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveOverlayMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveOverlayMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveOverlayMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveOverlayMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveOverlayMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveOverlayMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveOverlayMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveOverlayMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveOverlayMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveOverlayMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveOverlayMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveOverlayMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveOverlayMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveOverlayMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveOverlayMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveOverlayMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveOverlayMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveOverlayMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveOverlayMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveOverlayMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveOverlayMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveOverlayMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveOverlayMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveOverlayMethod t Overlay, O.MethodInfo info Overlay p) => OL.IsLabel t (Overlay -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Overlay
+type instance O.AttributeList Overlay = OverlayAttributeList
+type OverlayAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Overlay = OverlaySignalList
+type OverlaySignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Overlay::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Overlay"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_overlay_new" gtk_overlay_new :: 
+    IO (Ptr Overlay)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Overlay.Overlay'.
+
+/Since: 3.2/
+-}
+overlayNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Overlay
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Overlay.Overlay' object. -}
+overlayNew  = liftIO $ do
+    result <- gtk_overlay_new
+    checkUnexpectedReturnNULL "overlayNew" result
+    result' <- (newObject Overlay) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Overlay::add_overlay
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "overlay", argType = TInterface (Name {namespace = "Gtk", name = "Overlay"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkOverlay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget to be added to the container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_overlay_add_overlay" gtk_overlay_add_overlay :: 
+    Ptr Overlay ->                          -- overlay : TInterface (Name {namespace = "Gtk", name = "Overlay"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds /@widget@/ to /@overlay@/.
+
+The widget will be stacked on top of the main widget
+added with 'GI.Gtk.Objects.Container.containerAdd'.
+
+The position at which /@widget@/ is placed is determined
+from its 'GI.Gtk.Objects.Widget.Widget':@/halign/@ and 'GI.Gtk.Objects.Widget.Widget':@/valign/@ properties.
+
+/Since: 3.2/
+-}
+overlayAddOverlay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsOverlay a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@overlay@/: a 'GI.Gtk.Objects.Overlay.Overlay' -}
+    -> b
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' to be added to the container -}
+    -> m ()
+overlayAddOverlay overlay widget = liftIO $ do
+    overlay' <- unsafeManagedPtrCastPtr overlay
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_overlay_add_overlay overlay' widget'
+    touchManagedPtr overlay
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data OverlayAddOverlayMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsOverlay a, Gtk.Widget.IsWidget b) => O.MethodInfo OverlayAddOverlayMethodInfo a signature where
+    overloadedMethod _ = overlayAddOverlay
+
+#endif
+
+-- method Overlay::get_overlay_pass_through
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "overlay", argType = TInterface (Name {namespace = "Gtk", name = "Overlay"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkOverlay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an overlay child of #GtkOverlay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_overlay_get_overlay_pass_through" gtk_overlay_get_overlay_pass_through :: 
+    Ptr Overlay ->                          -- overlay : TInterface (Name {namespace = "Gtk", name = "Overlay"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Convenience function to get the value of the 'GI.Gtk.Objects.Overlay.Overlay':@/pass-through/@
+child property for /@widget@/.
+
+/Since: 3.18/
+-}
+overlayGetOverlayPassThrough ::
+    (B.CallStack.HasCallStack, MonadIO m, IsOverlay a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@overlay@/: a 'GI.Gtk.Objects.Overlay.Overlay' -}
+    -> b
+    {- ^ /@widget@/: an overlay child of 'GI.Gtk.Objects.Overlay.Overlay' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the widget is a pass through child. -}
+overlayGetOverlayPassThrough overlay widget = liftIO $ do
+    overlay' <- unsafeManagedPtrCastPtr overlay
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_overlay_get_overlay_pass_through overlay' widget'
+    let result' = (/= 0) result
+    touchManagedPtr overlay
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data OverlayGetOverlayPassThroughMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsOverlay a, Gtk.Widget.IsWidget b) => O.MethodInfo OverlayGetOverlayPassThroughMethodInfo a signature where
+    overloadedMethod _ = overlayGetOverlayPassThrough
+
+#endif
+
+-- method Overlay::reorder_overlay
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "overlay", argType = TInterface (Name {namespace = "Gtk", name = "Overlay"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkOverlay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the overlaid #GtkWidget to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new index for @child in the list of overlay children\n  of @overlay, starting from 0. If negative, indicates the end of\n  the list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_overlay_reorder_overlay" gtk_overlay_reorder_overlay :: 
+    Ptr Overlay ->                          -- overlay : TInterface (Name {namespace = "Gtk", name = "Overlay"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Moves /@child@/ to a new /@index@/ in the list of /@overlay@/ children.
+The list contains overlays in the order that these were
+added to /@overlay@/.
+
+A widget’s index in the /@overlay@/ children list determines which order
+the children are drawn if they overlap. The first child is drawn at
+the bottom. It also affects the default focus chain order.
+
+/Since: 3.18/
+-}
+overlayReorderOverlay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsOverlay a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@overlay@/: a 'GI.Gtk.Objects.Overlay.Overlay' -}
+    -> b
+    {- ^ /@child@/: the overlaid 'GI.Gtk.Objects.Widget.Widget' to move -}
+    -> Int32
+    {- ^ /@position@/: the new index for /@child@/ in the list of overlay children
+  of /@overlay@/, starting from 0. If negative, indicates the end of
+  the list -}
+    -> m ()
+overlayReorderOverlay overlay child position = liftIO $ do
+    overlay' <- unsafeManagedPtrCastPtr overlay
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_overlay_reorder_overlay overlay' child' position
+    touchManagedPtr overlay
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data OverlayReorderOverlayMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsOverlay a, Gtk.Widget.IsWidget b) => O.MethodInfo OverlayReorderOverlayMethodInfo a signature where
+    overloadedMethod _ = overlayReorderOverlay
+
+#endif
+
+-- method Overlay::set_overlay_pass_through
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "overlay", argType = TInterface (Name {namespace = "Gtk", name = "Overlay"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkOverlay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an overlay child of #GtkOverlay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pass_through", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the child should pass the input through", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_overlay_set_overlay_pass_through" gtk_overlay_set_overlay_pass_through :: 
+    Ptr Overlay ->                          -- overlay : TInterface (Name {namespace = "Gtk", name = "Overlay"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- pass_through : TBasicType TBoolean
+    IO ()
+
+{- |
+Convenience function to set the value of the 'GI.Gtk.Objects.Overlay.Overlay':@/pass-through/@
+child property for /@widget@/.
+
+/Since: 3.18/
+-}
+overlaySetOverlayPassThrough ::
+    (B.CallStack.HasCallStack, MonadIO m, IsOverlay a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@overlay@/: a 'GI.Gtk.Objects.Overlay.Overlay' -}
+    -> b
+    {- ^ /@widget@/: an overlay child of 'GI.Gtk.Objects.Overlay.Overlay' -}
+    -> Bool
+    {- ^ /@passThrough@/: whether the child should pass the input through -}
+    -> m ()
+overlaySetOverlayPassThrough overlay widget passThrough = liftIO $ do
+    overlay' <- unsafeManagedPtrCastPtr overlay
+    widget' <- unsafeManagedPtrCastPtr widget
+    let passThrough' = (fromIntegral . fromEnum) passThrough
+    gtk_overlay_set_overlay_pass_through overlay' widget' passThrough'
+    touchManagedPtr overlay
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data OverlaySetOverlayPassThroughMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsOverlay a, Gtk.Widget.IsWidget b) => O.MethodInfo OverlaySetOverlayPassThroughMethodInfo a signature where
+    overloadedMethod _ = overlaySetOverlayPassThrough
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Overlay.hs-boot b/GI/Gtk/Objects/Overlay.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Overlay.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Overlay where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Overlay = Overlay (ManagedPtr Overlay)
+instance GObject Overlay where
+class (GObject o, O.IsDescendantOf Overlay o) => IsOverlay o
+instance (GObject o, O.IsDescendantOf Overlay o) => IsOverlay o
+instance O.HasParentTypes Overlay
+#if ENABLE_OVERLOADING
+data OverlayAddOverlayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data OverlayGetOverlayPassThroughMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data OverlayReorderOverlayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data OverlaySetOverlayPassThroughMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/PadController.hs b/GI/Gtk/Objects/PadController.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PadController.hs
@@ -0,0 +1,472 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.PadController.PadController' is an event controller for the pads found in drawing
+tablets (The collection of buttons and tactile sensors often found around
+the stylus-sensitive area).
+
+These buttons and sensors have no implicit meaning, and by default they
+perform no action, this event controller is provided to map those to
+'GI.Gio.Interfaces.Action.Action' objects, thus letting the application give those a more semantic
+meaning.
+
+Buttons and sensors are not constrained to triggering a single action, some
+'GI.Gdk.Enums.InputSourceTabletPad' devices feature multiple \"modes\", all these input
+elements have one current mode, which may determine the final action
+being triggered. Pad devices often divide buttons and sensors into groups,
+all elements in a group share the same current mode, but different groups
+may have different modes. See 'GI.Gdk.Interfaces.DevicePad.devicePadGetNGroups' and
+'GI.Gdk.Interfaces.DevicePad.devicePadGetGroupNModes'.
+
+Each of the actions that a given button\/strip\/ring performs for a given
+mode is defined by 'GI.Gtk.Structs.PadActionEntry.PadActionEntry', it contains an action name that
+will be looked up in the given 'GI.Gio.Interfaces.ActionGroup.ActionGroup' and activated whenever the
+specified input element and mode are triggered.
+
+A simple example of 'GI.Gtk.Objects.PadController.PadController' usage, assigning button 1 in all
+modes and pad devices to an \"invert-selection\" action:
+>
+>  GtkPadActionEntry *pad_actions[] = {
+>    { GTK_PAD_ACTION_BUTTON, 1, -1, "Invert selection", "pad-actions.invert-selection" },
+>    …
+>  };
+>
+>  …
+>  action_group = g_simple_action_group_new ();
+>  action = g_simple_action_new ("pad-actions.invert-selection", NULL);
+>  g_signal_connect (action, "activate", on_invert_selection_activated, NULL);
+>  g_action_map_add_action (G_ACTION_MAP (action_group), action);
+>  …
+>  pad_controller = gtk_pad_controller_new (window, action_group, NULL);
+
+
+The actions belonging to rings\/strips will be activated with a parameter
+of type @/G_VARIANT_TYPE_DOUBLE/@ bearing the value of the given axis, it
+is required that those are made stateful and accepting this 'GI.GLib.Structs.VariantType.VariantType'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.PadController
+    ( 
+
+-- * Exported types
+    PadController(..)                       ,
+    IsPadController                         ,
+    toPadController                         ,
+    noPadController                         ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    padControllerNew                        ,
+
+
+-- ** setAction #method:setAction#
+
+#if ENABLE_OVERLOADING
+    PadControllerSetActionMethodInfo        ,
+#endif
+    padControllerSetAction                  ,
+
+
+-- ** setActionEntries #method:setActionEntries#
+
+#if ENABLE_OVERLOADING
+    PadControllerSetActionEntriesMethodInfo ,
+#endif
+    padControllerSetActionEntries           ,
+
+
+
+
+ -- * Properties
+-- ** actionGroup #attr:actionGroup#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PadControllerActionGroupPropertyInfo    ,
+#endif
+    constructPadControllerActionGroup       ,
+    getPadControllerActionGroup             ,
+#if ENABLE_OVERLOADING
+    padControllerActionGroup                ,
+#endif
+
+
+-- ** pad #attr:pad#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PadControllerPadPropertyInfo            ,
+#endif
+    constructPadControllerPad               ,
+    getPadControllerPad                     ,
+#if ENABLE_OVERLOADING
+    padControllerPad                        ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Device as Gdk.Device
+import qualified GI.Gio.Interfaces.ActionGroup as Gio.ActionGroup
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+import {-# SOURCE #-} qualified GI.Gtk.Structs.PadActionEntry as Gtk.PadActionEntry
+
+-- | Memory-managed wrapper type.
+newtype PadController = PadController (ManagedPtr PadController)
+foreign import ccall "gtk_pad_controller_get_type"
+    c_gtk_pad_controller_get_type :: IO GType
+
+instance GObject PadController where
+    gobjectType = c_gtk_pad_controller_get_type
+    
+
+-- | Type class for types which can be safely cast to `PadController`, for instance with `toPadController`.
+class (GObject o, O.IsDescendantOf PadController o) => IsPadController o
+instance (GObject o, O.IsDescendantOf PadController o) => IsPadController o
+
+instance O.HasParentTypes PadController
+type instance O.ParentTypes PadController = '[Gtk.EventController.EventController, GObject.Object.Object]
+
+-- | Cast to `PadController`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPadController :: (MonadIO m, IsPadController o) => o -> m PadController
+toPadController = liftIO . unsafeCastTo PadController
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PadController`.
+noPadController :: Maybe PadController
+noPadController = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePadControllerMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePadControllerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePadControllerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePadControllerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePadControllerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePadControllerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePadControllerMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
+    ResolvePadControllerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePadControllerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePadControllerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePadControllerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePadControllerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePadControllerMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
+    ResolvePadControllerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePadControllerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePadControllerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePadControllerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePadControllerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePadControllerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePadControllerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePadControllerMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
+    ResolvePadControllerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePadControllerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePadControllerMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
+    ResolvePadControllerMethod "setAction" o = PadControllerSetActionMethodInfo
+    ResolvePadControllerMethod "setActionEntries" o = PadControllerSetActionEntriesMethodInfo
+    ResolvePadControllerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePadControllerMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
+    ResolvePadControllerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePadControllerMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePadControllerMethod t PadController, O.MethodInfo info PadController p) => OL.IsLabel t (PadController -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "action-group"
+   -- Type: TInterface (Name {namespace = "Gio", name = "ActionGroup"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@action-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' padController #actionGroup
+@
+-}
+getPadControllerActionGroup :: (MonadIO m, IsPadController o) => o -> m (Maybe Gio.ActionGroup.ActionGroup)
+getPadControllerActionGroup obj = liftIO $ B.Properties.getObjectPropertyObject obj "action-group" Gio.ActionGroup.ActionGroup
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@action-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPadControllerActionGroup :: (IsPadController o, Gio.ActionGroup.IsActionGroup a) => a -> IO (GValueConstruct o)
+constructPadControllerActionGroup val = B.Properties.constructObjectPropertyObject "action-group" (Just val)
+
+#if ENABLE_OVERLOADING
+data PadControllerActionGroupPropertyInfo
+instance AttrInfo PadControllerActionGroupPropertyInfo where
+    type AttrAllowedOps PadControllerActionGroupPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PadControllerActionGroupPropertyInfo = Gio.ActionGroup.IsActionGroup
+    type AttrBaseTypeConstraint PadControllerActionGroupPropertyInfo = IsPadController
+    type AttrGetType PadControllerActionGroupPropertyInfo = (Maybe Gio.ActionGroup.ActionGroup)
+    type AttrLabel PadControllerActionGroupPropertyInfo = "action-group"
+    type AttrOrigin PadControllerActionGroupPropertyInfo = PadController
+    attrGet _ = getPadControllerActionGroup
+    attrSet _ = undefined
+    attrConstruct _ = constructPadControllerActionGroup
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pad"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Device"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pad@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' padController #pad
+@
+-}
+getPadControllerPad :: (MonadIO m, IsPadController o) => o -> m (Maybe Gdk.Device.Device)
+getPadControllerPad obj = liftIO $ B.Properties.getObjectPropertyObject obj "pad" Gdk.Device.Device
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pad@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPadControllerPad :: (IsPadController o, Gdk.Device.IsDevice a) => a -> IO (GValueConstruct o)
+constructPadControllerPad val = B.Properties.constructObjectPropertyObject "pad" (Just val)
+
+#if ENABLE_OVERLOADING
+data PadControllerPadPropertyInfo
+instance AttrInfo PadControllerPadPropertyInfo where
+    type AttrAllowedOps PadControllerPadPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PadControllerPadPropertyInfo = Gdk.Device.IsDevice
+    type AttrBaseTypeConstraint PadControllerPadPropertyInfo = IsPadController
+    type AttrGetType PadControllerPadPropertyInfo = (Maybe Gdk.Device.Device)
+    type AttrLabel PadControllerPadPropertyInfo = "pad"
+    type AttrOrigin PadControllerPadPropertyInfo = PadController
+    attrGet _ = getPadControllerPad
+    attrSet _ = undefined
+    attrConstruct _ = constructPadControllerPad
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PadController
+type instance O.AttributeList PadController = PadControllerAttributeList
+type PadControllerAttributeList = ('[ '("actionGroup", PadControllerActionGroupPropertyInfo), '("pad", PadControllerPadPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+padControllerActionGroup :: AttrLabelProxy "actionGroup"
+padControllerActionGroup = AttrLabelProxy
+
+padControllerPad :: AttrLabelProxy "pad"
+padControllerPad = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList PadController = PadControllerSignalList
+type PadControllerSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method PadController::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "Gio", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GActionGroup to trigger actions from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A %GDK_SOURCE_TABLET_PAD device, or %NULL to handle all pads", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PadController"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_pad_controller_new" gtk_pad_controller_new :: 
+    Ptr Gtk.Window.Window ->                -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gio.ActionGroup.ActionGroup ->      -- group : TInterface (Name {namespace = "Gio", name = "ActionGroup"})
+    Ptr Gdk.Device.Device ->                -- pad : TInterface (Name {namespace = "Gdk", name = "Device"})
+    IO (Ptr PadController)
+
+{- |
+Creates a new 'GI.Gtk.Objects.PadController.PadController' that will associate events from /@pad@/ to
+actions. A 'Nothing' pad may be provided so the controller manages all pad devices
+generically, it is discouraged to mix 'GI.Gtk.Objects.PadController.PadController' objects with 'Nothing'
+and non-'Nothing' /@pad@/ argument on the same /@window@/, as execution order is not
+guaranteed.
+
+The 'GI.Gtk.Objects.PadController.PadController' is created with no mapped actions. In order to map pad
+events to actions, use 'GI.Gtk.Objects.PadController.padControllerSetActionEntries' or
+'GI.Gtk.Objects.PadController.padControllerSetAction'.
+
+/Since: 3.22/
+-}
+padControllerNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Window.IsWindow a, Gio.ActionGroup.IsActionGroup b, Gdk.Device.IsDevice c) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> b
+    {- ^ /@group@/: 'GI.Gio.Interfaces.ActionGroup.ActionGroup' to trigger actions from -}
+    -> Maybe (c)
+    {- ^ /@pad@/: A 'GI.Gdk.Enums.InputSourceTabletPad' device, or 'Nothing' to handle all pads -}
+    -> m PadController
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.PadController.PadController' -}
+padControllerNew window group pad = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    group' <- unsafeManagedPtrCastPtr group
+    maybePad <- case pad of
+        Nothing -> return nullPtr
+        Just jPad -> do
+            jPad' <- unsafeManagedPtrCastPtr jPad
+            return jPad'
+    result <- gtk_pad_controller_new window' group' maybePad
+    checkUnexpectedReturnNULL "padControllerNew" result
+    result' <- (wrapObject PadController) result
+    touchManagedPtr window
+    touchManagedPtr group
+    whenJust pad touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PadController::set_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "PadController"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPadController", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "PadActionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of pad feature that will trigger this action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the 0-indexed button/ring/strip number that will trigger this action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mode that will trigger this action, or -1 for all modes.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Human readable description of this action, this string should\n  be deemed user-visible.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "action name that will be activated in the #GActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_pad_controller_set_action" gtk_pad_controller_set_action :: 
+    Ptr PadController ->                    -- controller : TInterface (Name {namespace = "Gtk", name = "PadController"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "PadActionType"})
+    Int32 ->                                -- index : TBasicType TInt
+    Int32 ->                                -- mode : TBasicType TInt
+    CString ->                              -- label : TBasicType TUTF8
+    CString ->                              -- action_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds an individual action to /@controller@/. This action will only be activated
+if the given button\/ring\/strip number in /@index@/ is interacted while
+the current mode is /@mode@/. -1 may be used for simple cases, so the action
+is triggered on all modes.
+
+The given /@label@/ should be considered user-visible, so internationalization
+rules apply. Some windowing systems may be able to use those for user
+feedback.
+
+/Since: 3.22/
+-}
+padControllerSetAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPadController a) =>
+    a
+    {- ^ /@controller@/: a 'GI.Gtk.Objects.PadController.PadController' -}
+    -> Gtk.Enums.PadActionType
+    {- ^ /@type@/: the type of pad feature that will trigger this action -}
+    -> Int32
+    {- ^ /@index@/: the 0-indexed button\/ring\/strip number that will trigger this action -}
+    -> Int32
+    {- ^ /@mode@/: the mode that will trigger this action, or -1 for all modes. -}
+    -> T.Text
+    {- ^ /@label@/: Human readable description of this action, this string should
+  be deemed user-visible. -}
+    -> T.Text
+    {- ^ /@actionName@/: action name that will be activated in the 'GI.Gio.Interfaces.ActionGroup.ActionGroup' -}
+    -> m ()
+padControllerSetAction controller type_ index mode label actionName = liftIO $ do
+    controller' <- unsafeManagedPtrCastPtr controller
+    let type_' = (fromIntegral . fromEnum) type_
+    label' <- textToCString label
+    actionName' <- textToCString actionName
+    gtk_pad_controller_set_action controller' type_' index mode label' actionName'
+    touchManagedPtr controller
+    freeMem label'
+    freeMem actionName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PadControllerSetActionMethodInfo
+instance (signature ~ (Gtk.Enums.PadActionType -> Int32 -> Int32 -> T.Text -> T.Text -> m ()), MonadIO m, IsPadController a) => O.MethodInfo PadControllerSetActionMethodInfo a signature where
+    overloadedMethod _ = padControllerSetAction
+
+#endif
+
+-- method PadController::set_action_entries
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "controller", argType = TInterface (Name {namespace = "Gtk", name = "PadController"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPadController", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "entries", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "PadActionEntry"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action entries to set on @controller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_entries", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of elements in @entries", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_entries", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of elements in @entries", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_pad_controller_set_action_entries" gtk_pad_controller_set_action_entries :: 
+    Ptr PadController ->                    -- controller : TInterface (Name {namespace = "Gtk", name = "PadController"})
+    Ptr Gtk.PadActionEntry.PadActionEntry -> -- entries : TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "PadActionEntry"}))
+    Int32 ->                                -- n_entries : TBasicType TInt
+    IO ()
+
+{- |
+This is a convenience function to add a group of action entries on
+/@controller@/. See 'GI.Gtk.Structs.PadActionEntry.PadActionEntry' and 'GI.Gtk.Objects.PadController.padControllerSetAction'.
+
+/Since: 3.22/
+-}
+padControllerSetActionEntries ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPadController a) =>
+    a
+    {- ^ /@controller@/: a 'GI.Gtk.Objects.PadController.PadController' -}
+    -> [Gtk.PadActionEntry.PadActionEntry]
+    {- ^ /@entries@/: the action entries to set on /@controller@/ -}
+    -> m ()
+padControllerSetActionEntries controller entries = liftIO $ do
+    let nEntries = fromIntegral $ length entries
+    controller' <- unsafeManagedPtrCastPtr controller
+    entries' <- mapM unsafeManagedPtrGetPtr entries
+    entries'' <- packBlockArray 32 entries'
+    gtk_pad_controller_set_action_entries controller' entries'' nEntries
+    touchManagedPtr controller
+    mapM_ touchManagedPtr entries
+    freeMem entries''
+    return ()
+
+#if ENABLE_OVERLOADING
+data PadControllerSetActionEntriesMethodInfo
+instance (signature ~ ([Gtk.PadActionEntry.PadActionEntry] -> m ()), MonadIO m, IsPadController a) => O.MethodInfo PadControllerSetActionEntriesMethodInfo a signature where
+    overloadedMethod _ = padControllerSetActionEntries
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/PadController.hs-boot b/GI/Gtk/Objects/PadController.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PadController.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.PadController where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PadController = PadController (ManagedPtr PadController)
+instance GObject PadController where
+class (GObject o, O.IsDescendantOf PadController o) => IsPadController o
+instance (GObject o, O.IsDescendantOf PadController o) => IsPadController o
+instance O.HasParentTypes PadController
+#if ENABLE_OVERLOADING
+data PadControllerActionGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PadControllerPadPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PadControllerSetActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PadControllerSetActionEntriesMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/PageSetup.hs b/GI/Gtk/Objects/PageSetup.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PageSetup.hs
@@ -0,0 +1,1543 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkPageSetup object stores the page size, orientation and margins.
+The idea is that you can get one of these from the page setup dialog
+and then pass it to the 'GI.Gtk.Objects.PrintOperation.PrintOperation' when printing.
+The benefit of splitting this out of the 'GI.Gtk.Objects.PrintSettings.PrintSettings' is that
+these affect the actual layout of the page, and thus need to be set
+long before user prints.
+
+## Margins ## {@/print/@-margins}
+The margins specified in this object are the “print margins”, i.e. the
+parts of the page that the printer cannot print on. These are different
+from the layout margins that a word processor uses; they are typically
+used to determine the minimal size for the layout
+margins.
+
+To obtain a 'GI.Gtk.Objects.PageSetup.PageSetup' use 'GI.Gtk.Objects.PageSetup.pageSetupNew' to get the defaults,
+or use 'GI.Gtk.Functions.printRunPageSetupDialog' to show the page setup dialog
+and receive the resulting page setup.
+
+== A page setup dialog
+
+
+=== /C code/
+>
+>static GtkPrintSettings *settings = NULL;
+>static GtkPageSetup *page_setup = NULL;
+>
+>static void
+>do_page_setup (void)
+>{
+>  GtkPageSetup *new_page_setup;
+>
+>  if (settings == NULL)
+>    settings = gtk_print_settings_new ();
+>
+>  new_page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (main_window),
+>                                                    page_setup, settings);
+>
+>  if (page_setup)
+>    g_object_unref (page_setup);
+>
+>  page_setup = new_page_setup;
+>}
+
+
+Printing support was added in GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.PageSetup
+    ( 
+
+-- * Exported types
+    PageSetup(..)                           ,
+    IsPageSetup                             ,
+    toPageSetup                             ,
+    noPageSetup                             ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    PageSetupCopyMethodInfo                 ,
+#endif
+    pageSetupCopy                           ,
+
+
+-- ** getBottomMargin #method:getBottomMargin#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetBottomMarginMethodInfo      ,
+#endif
+    pageSetupGetBottomMargin                ,
+
+
+-- ** getLeftMargin #method:getLeftMargin#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetLeftMarginMethodInfo        ,
+#endif
+    pageSetupGetLeftMargin                  ,
+
+
+-- ** getOrientation #method:getOrientation#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetOrientationMethodInfo       ,
+#endif
+    pageSetupGetOrientation                 ,
+
+
+-- ** getPageHeight #method:getPageHeight#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetPageHeightMethodInfo        ,
+#endif
+    pageSetupGetPageHeight                  ,
+
+
+-- ** getPageWidth #method:getPageWidth#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetPageWidthMethodInfo         ,
+#endif
+    pageSetupGetPageWidth                   ,
+
+
+-- ** getPaperHeight #method:getPaperHeight#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetPaperHeightMethodInfo       ,
+#endif
+    pageSetupGetPaperHeight                 ,
+
+
+-- ** getPaperSize #method:getPaperSize#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetPaperSizeMethodInfo         ,
+#endif
+    pageSetupGetPaperSize                   ,
+
+
+-- ** getPaperWidth #method:getPaperWidth#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetPaperWidthMethodInfo        ,
+#endif
+    pageSetupGetPaperWidth                  ,
+
+
+-- ** getRightMargin #method:getRightMargin#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetRightMarginMethodInfo       ,
+#endif
+    pageSetupGetRightMargin                 ,
+
+
+-- ** getTopMargin #method:getTopMargin#
+
+#if ENABLE_OVERLOADING
+    PageSetupGetTopMarginMethodInfo         ,
+#endif
+    pageSetupGetTopMargin                   ,
+
+
+-- ** loadFile #method:loadFile#
+
+#if ENABLE_OVERLOADING
+    PageSetupLoadFileMethodInfo             ,
+#endif
+    pageSetupLoadFile                       ,
+
+
+-- ** loadKeyFile #method:loadKeyFile#
+
+#if ENABLE_OVERLOADING
+    PageSetupLoadKeyFileMethodInfo          ,
+#endif
+    pageSetupLoadKeyFile                    ,
+
+
+-- ** new #method:new#
+
+    pageSetupNew                            ,
+
+
+-- ** newFromFile #method:newFromFile#
+
+    pageSetupNewFromFile                    ,
+
+
+-- ** newFromGvariant #method:newFromGvariant#
+
+    pageSetupNewFromGvariant                ,
+
+
+-- ** newFromKeyFile #method:newFromKeyFile#
+
+    pageSetupNewFromKeyFile                 ,
+
+
+-- ** setBottomMargin #method:setBottomMargin#
+
+#if ENABLE_OVERLOADING
+    PageSetupSetBottomMarginMethodInfo      ,
+#endif
+    pageSetupSetBottomMargin                ,
+
+
+-- ** setLeftMargin #method:setLeftMargin#
+
+#if ENABLE_OVERLOADING
+    PageSetupSetLeftMarginMethodInfo        ,
+#endif
+    pageSetupSetLeftMargin                  ,
+
+
+-- ** setOrientation #method:setOrientation#
+
+#if ENABLE_OVERLOADING
+    PageSetupSetOrientationMethodInfo       ,
+#endif
+    pageSetupSetOrientation                 ,
+
+
+-- ** setPaperSize #method:setPaperSize#
+
+#if ENABLE_OVERLOADING
+    PageSetupSetPaperSizeMethodInfo         ,
+#endif
+    pageSetupSetPaperSize                   ,
+
+
+-- ** setPaperSizeAndDefaultMargins #method:setPaperSizeAndDefaultMargins#
+
+#if ENABLE_OVERLOADING
+    PageSetupSetPaperSizeAndDefaultMarginsMethodInfo,
+#endif
+    pageSetupSetPaperSizeAndDefaultMargins  ,
+
+
+-- ** setRightMargin #method:setRightMargin#
+
+#if ENABLE_OVERLOADING
+    PageSetupSetRightMarginMethodInfo       ,
+#endif
+    pageSetupSetRightMargin                 ,
+
+
+-- ** setTopMargin #method:setTopMargin#
+
+#if ENABLE_OVERLOADING
+    PageSetupSetTopMarginMethodInfo         ,
+#endif
+    pageSetupSetTopMargin                   ,
+
+
+-- ** toFile #method:toFile#
+
+#if ENABLE_OVERLOADING
+    PageSetupToFileMethodInfo               ,
+#endif
+    pageSetupToFile                         ,
+
+
+-- ** toGvariant #method:toGvariant#
+
+#if ENABLE_OVERLOADING
+    PageSetupToGvariantMethodInfo           ,
+#endif
+    pageSetupToGvariant                     ,
+
+
+-- ** toKeyFile #method:toKeyFile#
+
+#if ENABLE_OVERLOADING
+    PageSetupToKeyFileMethodInfo            ,
+#endif
+    pageSetupToKeyFile                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Structs.KeyFile as GLib.KeyFile
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Structs.PaperSize as Gtk.PaperSize
+
+-- | Memory-managed wrapper type.
+newtype PageSetup = PageSetup (ManagedPtr PageSetup)
+foreign import ccall "gtk_page_setup_get_type"
+    c_gtk_page_setup_get_type :: IO GType
+
+instance GObject PageSetup where
+    gobjectType = c_gtk_page_setup_get_type
+    
+
+-- | Type class for types which can be safely cast to `PageSetup`, for instance with `toPageSetup`.
+class (GObject o, O.IsDescendantOf PageSetup o) => IsPageSetup o
+instance (GObject o, O.IsDescendantOf PageSetup o) => IsPageSetup o
+
+instance O.HasParentTypes PageSetup
+type instance O.ParentTypes PageSetup = '[GObject.Object.Object]
+
+-- | Cast to `PageSetup`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPageSetup :: (MonadIO m, IsPageSetup o) => o -> m PageSetup
+toPageSetup = liftIO . unsafeCastTo PageSetup
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PageSetup`.
+noPageSetup :: Maybe PageSetup
+noPageSetup = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePageSetupMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePageSetupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePageSetupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePageSetupMethod "copy" o = PageSetupCopyMethodInfo
+    ResolvePageSetupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePageSetupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePageSetupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePageSetupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePageSetupMethod "loadFile" o = PageSetupLoadFileMethodInfo
+    ResolvePageSetupMethod "loadKeyFile" o = PageSetupLoadKeyFileMethodInfo
+    ResolvePageSetupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePageSetupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePageSetupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePageSetupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePageSetupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePageSetupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePageSetupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePageSetupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePageSetupMethod "toFile" o = PageSetupToFileMethodInfo
+    ResolvePageSetupMethod "toGvariant" o = PageSetupToGvariantMethodInfo
+    ResolvePageSetupMethod "toKeyFile" o = PageSetupToKeyFileMethodInfo
+    ResolvePageSetupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePageSetupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePageSetupMethod "getBottomMargin" o = PageSetupGetBottomMarginMethodInfo
+    ResolvePageSetupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePageSetupMethod "getLeftMargin" o = PageSetupGetLeftMarginMethodInfo
+    ResolvePageSetupMethod "getOrientation" o = PageSetupGetOrientationMethodInfo
+    ResolvePageSetupMethod "getPageHeight" o = PageSetupGetPageHeightMethodInfo
+    ResolvePageSetupMethod "getPageWidth" o = PageSetupGetPageWidthMethodInfo
+    ResolvePageSetupMethod "getPaperHeight" o = PageSetupGetPaperHeightMethodInfo
+    ResolvePageSetupMethod "getPaperSize" o = PageSetupGetPaperSizeMethodInfo
+    ResolvePageSetupMethod "getPaperWidth" o = PageSetupGetPaperWidthMethodInfo
+    ResolvePageSetupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePageSetupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePageSetupMethod "getRightMargin" o = PageSetupGetRightMarginMethodInfo
+    ResolvePageSetupMethod "getTopMargin" o = PageSetupGetTopMarginMethodInfo
+    ResolvePageSetupMethod "setBottomMargin" o = PageSetupSetBottomMarginMethodInfo
+    ResolvePageSetupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePageSetupMethod "setLeftMargin" o = PageSetupSetLeftMarginMethodInfo
+    ResolvePageSetupMethod "setOrientation" o = PageSetupSetOrientationMethodInfo
+    ResolvePageSetupMethod "setPaperSize" o = PageSetupSetPaperSizeMethodInfo
+    ResolvePageSetupMethod "setPaperSizeAndDefaultMargins" o = PageSetupSetPaperSizeAndDefaultMarginsMethodInfo
+    ResolvePageSetupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePageSetupMethod "setRightMargin" o = PageSetupSetRightMarginMethodInfo
+    ResolvePageSetupMethod "setTopMargin" o = PageSetupSetTopMarginMethodInfo
+    ResolvePageSetupMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePageSetupMethod t PageSetup, O.MethodInfo info PageSetup p) => OL.IsLabel t (PageSetup -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PageSetup
+type instance O.AttributeList PageSetup = PageSetupAttributeList
+type PageSetupAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList PageSetup = PageSetupSignalList
+type PageSetupSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method PageSetup::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageSetup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_new" gtk_page_setup_new :: 
+    IO (Ptr PageSetup)
+
+{- |
+Creates a new 'GI.Gtk.Objects.PageSetup.PageSetup'.
+
+/Since: 2.10/
+-}
+pageSetupNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m PageSetup
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.PageSetup.PageSetup'. -}
+pageSetupNew  = liftIO $ do
+    result <- gtk_page_setup_new
+    checkUnexpectedReturnNULL "pageSetupNew" result
+    result' <- (wrapObject PageSetup) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PageSetup::new_from_file
+-- method type : Constructor
+-- Args : [Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename to read the page setup from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageSetup"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_new_from_file" gtk_page_setup_new_from_file :: 
+    CString ->                              -- file_name : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr PageSetup)
+
+{- |
+Reads the page setup from the file /@fileName@/. Returns a
+new 'GI.Gtk.Objects.PageSetup.PageSetup' object with the restored page setup,
+or 'Nothing' if an error occurred. See 'GI.Gtk.Objects.PageSetup.pageSetupToFile'.
+
+/Since: 2.12/
+-}
+pageSetupNewFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Char]
+    {- ^ /@fileName@/: the filename to read the page setup from -}
+    -> m PageSetup
+    {- ^ __Returns:__ the restored 'GI.Gtk.Objects.PageSetup.PageSetup' /(Can throw 'Data.GI.Base.GError.GError')/ -}
+pageSetupNewFromFile fileName = liftIO $ do
+    fileName' <- stringToCString fileName
+    onException (do
+        result <- propagateGError $ gtk_page_setup_new_from_file fileName'
+        checkUnexpectedReturnNULL "pageSetupNewFromFile" result
+        result' <- (wrapObject PageSetup) result
+        freeMem fileName'
+        return result'
+     ) (do
+        freeMem fileName'
+     )
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PageSetup::new_from_gvariant
+-- method type : Constructor
+-- Args : [Arg {argCName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an a{sv} #GVariant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageSetup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_new_from_gvariant" gtk_page_setup_new_from_gvariant :: 
+    Ptr GVariant ->                         -- variant : TVariant
+    IO (Ptr PageSetup)
+
+{- |
+Desrialize a page setup from an a{sv} variant in
+the format produced by 'GI.Gtk.Objects.PageSetup.pageSetupToGvariant'.
+
+/Since: 3.22/
+-}
+pageSetupNewFromGvariant ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GVariant
+    {- ^ /@variant@/: an a{sv} 'GVariant' -}
+    -> m PageSetup
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.PageSetup.PageSetup' object -}
+pageSetupNewFromGvariant variant = liftIO $ do
+    variant' <- unsafeManagedPtrGetPtr variant
+    result <- gtk_page_setup_new_from_gvariant variant'
+    checkUnexpectedReturnNULL "pageSetupNewFromGvariant" result
+    result' <- (wrapObject PageSetup) result
+    touchManagedPtr variant
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PageSetup::new_from_key_file
+-- method type : Constructor
+-- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GKeyFile to retrieve the page_setup from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the group in the key_file to read, or %NULL\n             to use the default name \8220Page Setup\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageSetup"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_new_from_key_file" gtk_page_setup_new_from_key_file :: 
+    Ptr GLib.KeyFile.KeyFile ->             -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr PageSetup)
+
+{- |
+Reads the page setup from the group /@groupName@/ in the key file
+/@keyFile@/. Returns a new 'GI.Gtk.Objects.PageSetup.PageSetup' object with the restored
+page setup, or 'Nothing' if an error occurred.
+
+/Since: 2.12/
+-}
+pageSetupNewFromKeyFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GLib.KeyFile.KeyFile
+    {- ^ /@keyFile@/: the 'GI.GLib.Structs.KeyFile.KeyFile' to retrieve the page_setup from -}
+    -> Maybe (T.Text)
+    {- ^ /@groupName@/: the name of the group in the key_file to read, or 'Nothing'
+             to use the default name “Page Setup” -}
+    -> m PageSetup
+    {- ^ __Returns:__ the restored 'GI.Gtk.Objects.PageSetup.PageSetup' /(Can throw 'Data.GI.Base.GError.GError')/ -}
+pageSetupNewFromKeyFile keyFile groupName = liftIO $ do
+    keyFile' <- unsafeManagedPtrGetPtr keyFile
+    maybeGroupName <- case groupName of
+        Nothing -> return nullPtr
+        Just jGroupName -> do
+            jGroupName' <- textToCString jGroupName
+            return jGroupName'
+    onException (do
+        result <- propagateGError $ gtk_page_setup_new_from_key_file keyFile' maybeGroupName
+        checkUnexpectedReturnNULL "pageSetupNewFromKeyFile" result
+        result' <- (wrapObject PageSetup) result
+        touchManagedPtr keyFile
+        freeMem maybeGroupName
+        return result'
+     ) (do
+        freeMem maybeGroupName
+     )
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PageSetup::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "other", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkPageSetup to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageSetup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_copy" gtk_page_setup_copy :: 
+    Ptr PageSetup ->                        -- other : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    IO (Ptr PageSetup)
+
+{- |
+Copies a 'GI.Gtk.Objects.PageSetup.PageSetup'.
+
+/Since: 2.10/
+-}
+pageSetupCopy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@other@/: the 'GI.Gtk.Objects.PageSetup.PageSetup' to copy -}
+    -> m PageSetup
+    {- ^ __Returns:__ a copy of /@other@/ -}
+pageSetupCopy other = liftIO $ do
+    other' <- unsafeManagedPtrCastPtr other
+    result <- gtk_page_setup_copy other'
+    checkUnexpectedReturnNULL "pageSetupCopy" result
+    result' <- (wrapObject PageSetup) result
+    touchManagedPtr other
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupCopyMethodInfo
+instance (signature ~ (m PageSetup), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupCopyMethodInfo a signature where
+    overloadedMethod _ = pageSetupCopy
+
+#endif
+
+-- method PageSetup::get_bottom_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_bottom_margin" gtk_page_setup_get_bottom_margin :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the bottom margin in units of /@unit@/.
+
+/Since: 2.10/
+-}
+pageSetupGetBottomMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the bottom margin -}
+pageSetupGetBottomMargin setup unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_page_setup_get_bottom_margin setup' unit'
+    let result' = realToFrac result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetBottomMarginMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetBottomMarginMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetBottomMargin
+
+#endif
+
+-- method PageSetup::get_left_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_left_margin" gtk_page_setup_get_left_margin :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the left margin in units of /@unit@/.
+
+/Since: 2.10/
+-}
+pageSetupGetLeftMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the left margin -}
+pageSetupGetLeftMargin setup unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_page_setup_get_left_margin setup' unit'
+    let result' = realToFrac result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetLeftMarginMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetLeftMarginMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetLeftMargin
+
+#endif
+
+-- method PageSetup::get_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageOrientation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_orientation" gtk_page_setup_get_orientation :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    IO CUInt
+
+{- |
+Gets the page orientation of the 'GI.Gtk.Objects.PageSetup.PageSetup'.
+
+/Since: 2.10/
+-}
+pageSetupGetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> m Gtk.Enums.PageOrientation
+    {- ^ __Returns:__ the page orientation -}
+pageSetupGetOrientation setup = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    result <- gtk_page_setup_get_orientation setup'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetOrientationMethodInfo
+instance (signature ~ (m Gtk.Enums.PageOrientation), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetOrientationMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetOrientation
+
+#endif
+
+-- method PageSetup::get_page_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_page_height" gtk_page_setup_get_page_height :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Returns the page height in units of /@unit@/.
+
+Note that this function takes orientation and
+margins into consideration.
+See 'GI.Gtk.Objects.PageSetup.pageSetupGetPaperHeight'.
+
+/Since: 2.10/
+-}
+pageSetupGetPageHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the page height. -}
+pageSetupGetPageHeight setup unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_page_setup_get_page_height setup' unit'
+    let result' = realToFrac result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetPageHeightMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetPageHeightMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetPageHeight
+
+#endif
+
+-- method PageSetup::get_page_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_page_width" gtk_page_setup_get_page_width :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Returns the page width in units of /@unit@/.
+
+Note that this function takes orientation and
+margins into consideration.
+See 'GI.Gtk.Objects.PageSetup.pageSetupGetPaperWidth'.
+
+/Since: 2.10/
+-}
+pageSetupGetPageWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the page width. -}
+pageSetupGetPageWidth setup unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_page_setup_get_page_width setup' unit'
+    let result' = realToFrac result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetPageWidthMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetPageWidthMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetPageWidth
+
+#endif
+
+-- method PageSetup::get_paper_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_paper_height" gtk_page_setup_get_paper_height :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Returns the paper height in units of /@unit@/.
+
+Note that this function takes orientation, but
+not margins into consideration.
+See 'GI.Gtk.Objects.PageSetup.pageSetupGetPageHeight'.
+
+/Since: 2.10/
+-}
+pageSetupGetPaperHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the paper height. -}
+pageSetupGetPaperHeight setup unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_page_setup_get_paper_height setup' unit'
+    let result' = realToFrac result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetPaperHeightMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetPaperHeightMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetPaperHeight
+
+#endif
+
+-- method PageSetup::get_paper_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PaperSize"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_paper_size" gtk_page_setup_get_paper_size :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    IO (Ptr Gtk.PaperSize.PaperSize)
+
+{- |
+Gets the paper size of the 'GI.Gtk.Objects.PageSetup.PageSetup'.
+
+/Since: 2.10/
+-}
+pageSetupGetPaperSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> m Gtk.PaperSize.PaperSize
+    {- ^ __Returns:__ the paper size -}
+pageSetupGetPaperSize setup = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    result <- gtk_page_setup_get_paper_size setup'
+    checkUnexpectedReturnNULL "pageSetupGetPaperSize" result
+    result' <- (newBoxed Gtk.PaperSize.PaperSize) result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetPaperSizeMethodInfo
+instance (signature ~ (m Gtk.PaperSize.PaperSize), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetPaperSizeMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetPaperSize
+
+#endif
+
+-- method PageSetup::get_paper_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_paper_width" gtk_page_setup_get_paper_width :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Returns the paper width in units of /@unit@/.
+
+Note that this function takes orientation, but
+not margins into consideration.
+See 'GI.Gtk.Objects.PageSetup.pageSetupGetPageWidth'.
+
+/Since: 2.10/
+-}
+pageSetupGetPaperWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the paper width. -}
+pageSetupGetPaperWidth setup unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_page_setup_get_paper_width setup' unit'
+    let result' = realToFrac result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetPaperWidthMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetPaperWidthMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetPaperWidth
+
+#endif
+
+-- method PageSetup::get_right_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_right_margin" gtk_page_setup_get_right_margin :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the right margin in units of /@unit@/.
+
+/Since: 2.10/
+-}
+pageSetupGetRightMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the right margin -}
+pageSetupGetRightMargin setup unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_page_setup_get_right_margin setup' unit'
+    let result' = realToFrac result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetRightMarginMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetRightMarginMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetRightMargin
+
+#endif
+
+-- method PageSetup::get_top_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_get_top_margin" gtk_page_setup_get_top_margin :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the top margin in units of /@unit@/.
+
+/Since: 2.10/
+-}
+pageSetupGetTopMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the top margin -}
+pageSetupGetTopMargin setup unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_page_setup_get_top_margin setup' unit'
+    let result' = realToFrac result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupGetTopMarginMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupGetTopMarginMethodInfo a signature where
+    overloadedMethod _ = pageSetupGetTopMargin
+
+#endif
+
+-- method PageSetup::load_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename to read the page setup from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_load_file" gtk_page_setup_load_file :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CString ->                              -- file_name : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Reads the page setup from the file /@fileName@/.
+See 'GI.Gtk.Objects.PageSetup.pageSetupToFile'.
+
+/Since: 2.14/
+-}
+pageSetupLoadFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> [Char]
+    {- ^ /@fileName@/: the filename to read the page setup from -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+pageSetupLoadFile setup fileName = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    fileName' <- stringToCString fileName
+    onException (do
+        _ <- propagateGError $ gtk_page_setup_load_file setup' fileName'
+        touchManagedPtr setup
+        freeMem fileName'
+        return ()
+     ) (do
+        freeMem fileName'
+     )
+
+#if ENABLE_OVERLOADING
+data PageSetupLoadFileMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupLoadFileMethodInfo a signature where
+    overloadedMethod _ = pageSetupLoadFile
+
+#endif
+
+-- method PageSetup::load_key_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GKeyFile to retrieve the page_setup from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the group in the key_file to read, or %NULL\n             to use the default name \8220Page Setup\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_load_key_file" gtk_page_setup_load_key_file :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    Ptr GLib.KeyFile.KeyFile ->             -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Reads the page setup from the group /@groupName@/ in the key file
+/@keyFile@/.
+
+/Since: 2.14/
+-}
+pageSetupLoadKeyFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> GLib.KeyFile.KeyFile
+    {- ^ /@keyFile@/: the 'GI.GLib.Structs.KeyFile.KeyFile' to retrieve the page_setup from -}
+    -> Maybe (T.Text)
+    {- ^ /@groupName@/: the name of the group in the key_file to read, or 'Nothing'
+             to use the default name “Page Setup” -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+pageSetupLoadKeyFile setup keyFile groupName = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    keyFile' <- unsafeManagedPtrGetPtr keyFile
+    maybeGroupName <- case groupName of
+        Nothing -> return nullPtr
+        Just jGroupName -> do
+            jGroupName' <- textToCString jGroupName
+            return jGroupName'
+    onException (do
+        _ <- propagateGError $ gtk_page_setup_load_key_file setup' keyFile' maybeGroupName
+        touchManagedPtr setup
+        touchManagedPtr keyFile
+        freeMem maybeGroupName
+        return ()
+     ) (do
+        freeMem maybeGroupName
+     )
+
+#if ENABLE_OVERLOADING
+data PageSetupLoadKeyFileMethodInfo
+instance (signature ~ (GLib.KeyFile.KeyFile -> Maybe (T.Text) -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupLoadKeyFileMethodInfo a signature where
+    overloadedMethod _ = pageSetupLoadKeyFile
+
+#endif
+
+-- method PageSetup::set_bottom_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new bottom margin in units of @unit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the units for @margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_set_bottom_margin" gtk_page_setup_set_bottom_margin :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CDouble ->                              -- margin : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO ()
+
+{- |
+Sets the bottom margin of the 'GI.Gtk.Objects.PageSetup.PageSetup'.
+
+/Since: 2.10/
+-}
+pageSetupSetBottomMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Double
+    {- ^ /@margin@/: the new bottom margin in units of /@unit@/ -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the units for /@margin@/ -}
+    -> m ()
+pageSetupSetBottomMargin setup margin unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let margin' = realToFrac margin
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_page_setup_set_bottom_margin setup' margin' unit'
+    touchManagedPtr setup
+    return ()
+
+#if ENABLE_OVERLOADING
+data PageSetupSetBottomMarginMethodInfo
+instance (signature ~ (Double -> Gtk.Enums.Unit -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupSetBottomMarginMethodInfo a signature where
+    overloadedMethod _ = pageSetupSetBottomMargin
+
+#endif
+
+-- method PageSetup::set_left_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new left margin in units of @unit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the units for @margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_set_left_margin" gtk_page_setup_set_left_margin :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CDouble ->                              -- margin : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO ()
+
+{- |
+Sets the left margin of the 'GI.Gtk.Objects.PageSetup.PageSetup'.
+
+/Since: 2.10/
+-}
+pageSetupSetLeftMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Double
+    {- ^ /@margin@/: the new left margin in units of /@unit@/ -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the units for /@margin@/ -}
+    -> m ()
+pageSetupSetLeftMargin setup margin unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let margin' = realToFrac margin
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_page_setup_set_left_margin setup' margin' unit'
+    touchManagedPtr setup
+    return ()
+
+#if ENABLE_OVERLOADING
+data PageSetupSetLeftMarginMethodInfo
+instance (signature ~ (Double -> Gtk.Enums.Unit -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupSetLeftMarginMethodInfo a signature where
+    overloadedMethod _ = pageSetupSetLeftMargin
+
+#endif
+
+-- method PageSetup::set_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "PageOrientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageOrientation value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_set_orientation" gtk_page_setup_set_orientation :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "PageOrientation"})
+    IO ()
+
+{- |
+Sets the page orientation of the 'GI.Gtk.Objects.PageSetup.PageSetup'.
+
+/Since: 2.10/
+-}
+pageSetupSetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.Enums.PageOrientation
+    {- ^ /@orientation@/: a 'GI.Gtk.Enums.PageOrientation' value -}
+    -> m ()
+pageSetupSetOrientation setup orientation = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let orientation' = (fromIntegral . fromEnum) orientation
+    gtk_page_setup_set_orientation setup' orientation'
+    touchManagedPtr setup
+    return ()
+
+#if ENABLE_OVERLOADING
+data PageSetupSetOrientationMethodInfo
+instance (signature ~ (Gtk.Enums.PageOrientation -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupSetOrientationMethodInfo a signature where
+    overloadedMethod _ = pageSetupSetOrientation
+
+#endif
+
+-- method PageSetup::set_paper_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_set_paper_size" gtk_page_setup_set_paper_size :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    Ptr Gtk.PaperSize.PaperSize ->          -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO ()
+
+{- |
+Sets the paper size of the 'GI.Gtk.Objects.PageSetup.PageSetup' without
+changing the margins. See
+'GI.Gtk.Objects.PageSetup.pageSetupSetPaperSizeAndDefaultMargins'.
+
+/Since: 2.10/
+-}
+pageSetupSetPaperSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.PaperSize.PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' -}
+    -> m ()
+pageSetupSetPaperSize setup size = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    size' <- unsafeManagedPtrGetPtr size
+    gtk_page_setup_set_paper_size setup' size'
+    touchManagedPtr setup
+    touchManagedPtr size
+    return ()
+
+#if ENABLE_OVERLOADING
+data PageSetupSetPaperSizeMethodInfo
+instance (signature ~ (Gtk.PaperSize.PaperSize -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupSetPaperSizeMethodInfo a signature where
+    overloadedMethod _ = pageSetupSetPaperSize
+
+#endif
+
+-- method PageSetup::set_paper_size_and_default_margins
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_set_paper_size_and_default_margins" gtk_page_setup_set_paper_size_and_default_margins :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    Ptr Gtk.PaperSize.PaperSize ->          -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO ()
+
+{- |
+Sets the paper size of the 'GI.Gtk.Objects.PageSetup.PageSetup' and modifies
+the margins according to the new paper size.
+
+/Since: 2.10/
+-}
+pageSetupSetPaperSizeAndDefaultMargins ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Gtk.PaperSize.PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' -}
+    -> m ()
+pageSetupSetPaperSizeAndDefaultMargins setup size = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    size' <- unsafeManagedPtrGetPtr size
+    gtk_page_setup_set_paper_size_and_default_margins setup' size'
+    touchManagedPtr setup
+    touchManagedPtr size
+    return ()
+
+#if ENABLE_OVERLOADING
+data PageSetupSetPaperSizeAndDefaultMarginsMethodInfo
+instance (signature ~ (Gtk.PaperSize.PaperSize -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupSetPaperSizeAndDefaultMarginsMethodInfo a signature where
+    overloadedMethod _ = pageSetupSetPaperSizeAndDefaultMargins
+
+#endif
+
+-- method PageSetup::set_right_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new right margin in units of @unit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the units for @margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_set_right_margin" gtk_page_setup_set_right_margin :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CDouble ->                              -- margin : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO ()
+
+{- |
+Sets the right margin of the 'GI.Gtk.Objects.PageSetup.PageSetup'.
+
+/Since: 2.10/
+-}
+pageSetupSetRightMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Double
+    {- ^ /@margin@/: the new right margin in units of /@unit@/ -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the units for /@margin@/ -}
+    -> m ()
+pageSetupSetRightMargin setup margin unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let margin' = realToFrac margin
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_page_setup_set_right_margin setup' margin' unit'
+    touchManagedPtr setup
+    return ()
+
+#if ENABLE_OVERLOADING
+data PageSetupSetRightMarginMethodInfo
+instance (signature ~ (Double -> Gtk.Enums.Unit -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupSetRightMarginMethodInfo a signature where
+    overloadedMethod _ = pageSetupSetRightMargin
+
+#endif
+
+-- method PageSetup::set_top_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new top margin in units of @unit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the units for @margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_set_top_margin" gtk_page_setup_set_top_margin :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CDouble ->                              -- margin : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO ()
+
+{- |
+Sets the top margin of the 'GI.Gtk.Objects.PageSetup.PageSetup'.
+
+/Since: 2.10/
+-}
+pageSetupSetTopMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> Double
+    {- ^ /@margin@/: the new top margin in units of /@unit@/ -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the units for /@margin@/ -}
+    -> m ()
+pageSetupSetTopMargin setup margin unit = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    let margin' = realToFrac margin
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_page_setup_set_top_margin setup' margin' unit'
+    touchManagedPtr setup
+    return ()
+
+#if ENABLE_OVERLOADING
+data PageSetupSetTopMarginMethodInfo
+instance (signature ~ (Double -> Gtk.Enums.Unit -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupSetTopMarginMethodInfo a signature where
+    overloadedMethod _ = pageSetupSetTopMargin
+
+#endif
+
+-- method PageSetup::to_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the file to save to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_to_file" gtk_page_setup_to_file :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    CString ->                              -- file_name : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+This function saves the information from /@setup@/ to /@fileName@/.
+
+/Since: 2.12/
+-}
+pageSetupToFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> [Char]
+    {- ^ /@fileName@/: the file to save to -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+pageSetupToFile setup fileName = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    fileName' <- stringToCString fileName
+    onException (do
+        _ <- propagateGError $ gtk_page_setup_to_file setup' fileName'
+        touchManagedPtr setup
+        freeMem fileName'
+        return ()
+     ) (do
+        freeMem fileName'
+     )
+
+#if ENABLE_OVERLOADING
+data PageSetupToFileMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupToFileMethodInfo a signature where
+    overloadedMethod _ = pageSetupToFile
+
+#endif
+
+-- method PageSetup::to_gvariant
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just TVariant
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_to_gvariant" gtk_page_setup_to_gvariant :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    IO (Ptr GVariant)
+
+{- |
+Serialize page setup to an a{sv} variant.
+
+/Since: 3.22/
+-}
+pageSetupToGvariant ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> m GVariant
+    {- ^ __Returns:__ a new, floating, 'GVariant' -}
+pageSetupToGvariant setup = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    result <- gtk_page_setup_to_gvariant setup'
+    checkUnexpectedReturnNULL "pageSetupToGvariant" result
+    result' <- B.GVariant.newGVariantFromPtr result
+    touchManagedPtr setup
+    return result'
+
+#if ENABLE_OVERLOADING
+data PageSetupToGvariantMethodInfo
+instance (signature ~ (m GVariant), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupToGvariantMethodInfo a signature where
+    overloadedMethod _ = pageSetupToGvariant
+
+#endif
+
+-- method PageSetup::to_key_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GKeyFile to save the page setup to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the group to add the settings to in @key_file,\n     or %NULL to use the default name \8220Page Setup\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_page_setup_to_key_file" gtk_page_setup_to_key_file :: 
+    Ptr PageSetup ->                        -- setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    Ptr GLib.KeyFile.KeyFile ->             -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    IO ()
+
+{- |
+This function adds the page setup from /@setup@/ to /@keyFile@/.
+
+/Since: 2.12/
+-}
+pageSetupToKeyFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPageSetup a) =>
+    a
+    {- ^ /@setup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> GLib.KeyFile.KeyFile
+    {- ^ /@keyFile@/: the 'GI.GLib.Structs.KeyFile.KeyFile' to save the page setup to -}
+    -> Maybe (T.Text)
+    {- ^ /@groupName@/: the group to add the settings to in /@keyFile@/,
+     or 'Nothing' to use the default name “Page Setup” -}
+    -> m ()
+pageSetupToKeyFile setup keyFile groupName = liftIO $ do
+    setup' <- unsafeManagedPtrCastPtr setup
+    keyFile' <- unsafeManagedPtrGetPtr keyFile
+    maybeGroupName <- case groupName of
+        Nothing -> return nullPtr
+        Just jGroupName -> do
+            jGroupName' <- textToCString jGroupName
+            return jGroupName'
+    gtk_page_setup_to_key_file setup' keyFile' maybeGroupName
+    touchManagedPtr setup
+    touchManagedPtr keyFile
+    freeMem maybeGroupName
+    return ()
+
+#if ENABLE_OVERLOADING
+data PageSetupToKeyFileMethodInfo
+instance (signature ~ (GLib.KeyFile.KeyFile -> Maybe (T.Text) -> m ()), MonadIO m, IsPageSetup a) => O.MethodInfo PageSetupToKeyFileMethodInfo a signature where
+    overloadedMethod _ = pageSetupToKeyFile
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/PageSetup.hs-boot b/GI/Gtk/Objects/PageSetup.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PageSetup.hs-boot
@@ -0,0 +1,98 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.PageSetup where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PageSetup = PageSetup (ManagedPtr PageSetup)
+instance GObject PageSetup where
+class (GObject o, O.IsDescendantOf PageSetup o) => IsPageSetup o
+instance (GObject o, O.IsDescendantOf PageSetup o) => IsPageSetup o
+instance O.HasParentTypes PageSetup
+#if ENABLE_OVERLOADING
+data PageSetupCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetBottomMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetLeftMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetPageHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetPageWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetPaperHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetPaperSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetPaperWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetRightMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupGetTopMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupLoadFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupLoadKeyFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupSetBottomMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupSetLeftMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupSetOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupSetPaperSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupSetPaperSizeAndDefaultMarginsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupSetRightMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupSetTopMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupToFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupToGvariantMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PageSetupToKeyFileMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Paned.hs b/GI/Gtk/Objects/Paned.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Paned.hs
@@ -0,0 +1,1968 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.Paned.Paned' has two panes, arranged either
+horizontally or vertically. The division between
+the two panes is adjustable by the user by dragging
+a handle.
+
+Child widgets are
+added to the panes of the widget with 'GI.Gtk.Objects.Paned.panedPack1' and
+'GI.Gtk.Objects.Paned.panedPack2'. The division between the two children is set by default
+from the size requests of the children, but it can be adjusted by the
+user.
+
+A paned widget draws a separator between the two child widgets and a
+small handle that the user can drag to adjust the division. It does not
+draw any relief around the children or around the separator. (The space
+in which the separator is called the gutter.) Often, it is useful to put
+each child inside a 'GI.Gtk.Objects.Frame.Frame' with the shadow type set to 'GI.Gtk.Enums.ShadowTypeIn'
+so that the gutter appears as a ridge. No separator is drawn if one of
+the children is missing.
+
+Each child has two options that can be set, /@resize@/ and /@shrink@/. If
+/@resize@/ is true, then when the 'GI.Gtk.Objects.Paned.Paned' is resized, that child will
+expand or shrink along with the paned widget. If /@shrink@/ is true, then
+that child can be made smaller than its requisition by the user.
+Setting /@shrink@/ to 'False' allows the application to set a minimum size.
+If /@resize@/ is false for both children, then this is treated as if
+/@resize@/ is true for both children.
+
+The application can set the position of the slider as if it were set
+by the user, by calling 'GI.Gtk.Objects.Paned.panedSetPosition'.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>paned
+>├── <child>
+>├── separator[.wide]
+>╰── <child>
+
+
+GtkPaned has a main CSS node with name paned, and a subnode for
+the separator with name separator. The subnode gets a .wide style
+class when the paned is supposed to be wide.
+
+In horizontal orientation, the nodes of the children are always arranged
+from left to right. So :first-child will always select the leftmost child,
+regardless of text direction.
+
+== Creating a paned widget with minimum sizes.
+
+
+=== /C code/
+>
+>GtkWidget *hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
+>GtkWidget *frame1 = gtk_frame_new (NULL);
+>GtkWidget *frame2 = gtk_frame_new (NULL);
+>gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN);
+>gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN);
+>
+>gtk_widget_set_size_request (hpaned, 200, -1);
+>
+>gtk_paned_pack1 (GTK_PANED (hpaned), frame1, TRUE, FALSE);
+>gtk_widget_set_size_request (frame1, 50, -1);
+>
+>gtk_paned_pack2 (GTK_PANED (hpaned), frame2, FALSE, FALSE);
+>gtk_widget_set_size_request (frame2, 50, -1);
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Paned
+    ( 
+
+-- * Exported types
+    Paned(..)                               ,
+    IsPaned                                 ,
+    toPaned                                 ,
+    noPaned                                 ,
+
+
+ -- * Methods
+-- ** add1 #method:add1#
+
+#if ENABLE_OVERLOADING
+    PanedAdd1MethodInfo                     ,
+#endif
+    panedAdd1                               ,
+
+
+-- ** add2 #method:add2#
+
+#if ENABLE_OVERLOADING
+    PanedAdd2MethodInfo                     ,
+#endif
+    panedAdd2                               ,
+
+
+-- ** getChild1 #method:getChild1#
+
+#if ENABLE_OVERLOADING
+    PanedGetChild1MethodInfo                ,
+#endif
+    panedGetChild1                          ,
+
+
+-- ** getChild2 #method:getChild2#
+
+#if ENABLE_OVERLOADING
+    PanedGetChild2MethodInfo                ,
+#endif
+    panedGetChild2                          ,
+
+
+-- ** getHandleWindow #method:getHandleWindow#
+
+#if ENABLE_OVERLOADING
+    PanedGetHandleWindowMethodInfo          ,
+#endif
+    panedGetHandleWindow                    ,
+
+
+-- ** getPosition #method:getPosition#
+
+#if ENABLE_OVERLOADING
+    PanedGetPositionMethodInfo              ,
+#endif
+    panedGetPosition                        ,
+
+
+-- ** getWideHandle #method:getWideHandle#
+
+#if ENABLE_OVERLOADING
+    PanedGetWideHandleMethodInfo            ,
+#endif
+    panedGetWideHandle                      ,
+
+
+-- ** new #method:new#
+
+    panedNew                                ,
+
+
+-- ** pack1 #method:pack1#
+
+#if ENABLE_OVERLOADING
+    PanedPack1MethodInfo                    ,
+#endif
+    panedPack1                              ,
+
+
+-- ** pack2 #method:pack2#
+
+#if ENABLE_OVERLOADING
+    PanedPack2MethodInfo                    ,
+#endif
+    panedPack2                              ,
+
+
+-- ** setPosition #method:setPosition#
+
+#if ENABLE_OVERLOADING
+    PanedSetPositionMethodInfo              ,
+#endif
+    panedSetPosition                        ,
+
+
+-- ** setWideHandle #method:setWideHandle#
+
+#if ENABLE_OVERLOADING
+    PanedSetWideHandleMethodInfo            ,
+#endif
+    panedSetWideHandle                      ,
+
+
+
+
+ -- * Properties
+-- ** maxPosition #attr:maxPosition#
+{- | The largest possible value for the position property.
+This property is derived from the size and shrinkability
+of the widget\'s children.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    PanedMaxPositionPropertyInfo            ,
+#endif
+    getPanedMaxPosition                     ,
+#if ENABLE_OVERLOADING
+    panedMaxPosition                        ,
+#endif
+
+
+-- ** minPosition #attr:minPosition#
+{- | The smallest possible value for the position property.
+This property is derived from the size and shrinkability
+of the widget\'s children.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    PanedMinPositionPropertyInfo            ,
+#endif
+    getPanedMinPosition                     ,
+#if ENABLE_OVERLOADING
+    panedMinPosition                        ,
+#endif
+
+
+-- ** position #attr:position#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PanedPositionPropertyInfo               ,
+#endif
+    constructPanedPosition                  ,
+    getPanedPosition                        ,
+#if ENABLE_OVERLOADING
+    panedPosition                           ,
+#endif
+    setPanedPosition                        ,
+
+
+-- ** positionSet #attr:positionSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PanedPositionSetPropertyInfo            ,
+#endif
+    constructPanedPositionSet               ,
+    getPanedPositionSet                     ,
+#if ENABLE_OVERLOADING
+    panedPositionSet                        ,
+#endif
+    setPanedPositionSet                     ,
+
+
+-- ** wideHandle #attr:wideHandle#
+{- | Setting this property to 'True' indicates that the paned needs
+to provide stronger visual separation (e.g. because it separates
+between two notebooks, whose tab rows would otherwise merge visually).
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    PanedWideHandlePropertyInfo             ,
+#endif
+    constructPanedWideHandle                ,
+    getPanedWideHandle                      ,
+#if ENABLE_OVERLOADING
+    panedWideHandle                         ,
+#endif
+    setPanedWideHandle                      ,
+
+
+
+
+ -- * Signals
+-- ** acceptPosition #signal:acceptPosition#
+
+    C_PanedAcceptPositionCallback           ,
+    PanedAcceptPositionCallback             ,
+#if ENABLE_OVERLOADING
+    PanedAcceptPositionSignalInfo           ,
+#endif
+    afterPanedAcceptPosition                ,
+    genClosure_PanedAcceptPosition          ,
+    mk_PanedAcceptPositionCallback          ,
+    noPanedAcceptPositionCallback           ,
+    onPanedAcceptPosition                   ,
+    wrap_PanedAcceptPositionCallback        ,
+
+
+-- ** cancelPosition #signal:cancelPosition#
+
+    C_PanedCancelPositionCallback           ,
+    PanedCancelPositionCallback             ,
+#if ENABLE_OVERLOADING
+    PanedCancelPositionSignalInfo           ,
+#endif
+    afterPanedCancelPosition                ,
+    genClosure_PanedCancelPosition          ,
+    mk_PanedCancelPositionCallback          ,
+    noPanedCancelPositionCallback           ,
+    onPanedCancelPosition                   ,
+    wrap_PanedCancelPositionCallback        ,
+
+
+-- ** cycleChildFocus #signal:cycleChildFocus#
+
+    C_PanedCycleChildFocusCallback          ,
+    PanedCycleChildFocusCallback            ,
+#if ENABLE_OVERLOADING
+    PanedCycleChildFocusSignalInfo          ,
+#endif
+    afterPanedCycleChildFocus               ,
+    genClosure_PanedCycleChildFocus         ,
+    mk_PanedCycleChildFocusCallback         ,
+    noPanedCycleChildFocusCallback          ,
+    onPanedCycleChildFocus                  ,
+    wrap_PanedCycleChildFocusCallback       ,
+
+
+-- ** cycleHandleFocus #signal:cycleHandleFocus#
+
+    C_PanedCycleHandleFocusCallback         ,
+    PanedCycleHandleFocusCallback           ,
+#if ENABLE_OVERLOADING
+    PanedCycleHandleFocusSignalInfo         ,
+#endif
+    afterPanedCycleHandleFocus              ,
+    genClosure_PanedCycleHandleFocus        ,
+    mk_PanedCycleHandleFocusCallback        ,
+    noPanedCycleHandleFocusCallback         ,
+    onPanedCycleHandleFocus                 ,
+    wrap_PanedCycleHandleFocusCallback      ,
+
+
+-- ** moveHandle #signal:moveHandle#
+
+    C_PanedMoveHandleCallback               ,
+    PanedMoveHandleCallback                 ,
+#if ENABLE_OVERLOADING
+    PanedMoveHandleSignalInfo               ,
+#endif
+    afterPanedMoveHandle                    ,
+    genClosure_PanedMoveHandle              ,
+    mk_PanedMoveHandleCallback              ,
+    noPanedMoveHandleCallback               ,
+    onPanedMoveHandle                       ,
+    wrap_PanedMoveHandleCallback            ,
+
+
+-- ** toggleHandleFocus #signal:toggleHandleFocus#
+
+    C_PanedToggleHandleFocusCallback        ,
+    PanedToggleHandleFocusCallback          ,
+#if ENABLE_OVERLOADING
+    PanedToggleHandleFocusSignalInfo        ,
+#endif
+    afterPanedToggleHandleFocus             ,
+    genClosure_PanedToggleHandleFocus       ,
+    mk_PanedToggleHandleFocusCallback       ,
+    noPanedToggleHandleFocusCallback        ,
+    onPanedToggleHandleFocus                ,
+    wrap_PanedToggleHandleFocusCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Paned = Paned (ManagedPtr Paned)
+foreign import ccall "gtk_paned_get_type"
+    c_gtk_paned_get_type :: IO GType
+
+instance GObject Paned where
+    gobjectType = c_gtk_paned_get_type
+    
+
+-- | Type class for types which can be safely cast to `Paned`, for instance with `toPaned`.
+class (GObject o, O.IsDescendantOf Paned o) => IsPaned o
+instance (GObject o, O.IsDescendantOf Paned o) => IsPaned o
+
+instance O.HasParentTypes Paned
+type instance O.ParentTypes Paned = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `Paned`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPaned :: (MonadIO m, IsPaned o) => o -> m Paned
+toPaned = liftIO . unsafeCastTo Paned
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Paned`.
+noPaned :: Maybe Paned
+noPaned = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePanedMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePanedMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolvePanedMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolvePanedMethod "add1" o = PanedAdd1MethodInfo
+    ResolvePanedMethod "add2" o = PanedAdd2MethodInfo
+    ResolvePanedMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolvePanedMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolvePanedMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolvePanedMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolvePanedMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolvePanedMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolvePanedMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePanedMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePanedMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolvePanedMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolvePanedMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolvePanedMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolvePanedMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolvePanedMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolvePanedMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolvePanedMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolvePanedMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolvePanedMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolvePanedMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolvePanedMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolvePanedMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolvePanedMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolvePanedMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolvePanedMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolvePanedMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolvePanedMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolvePanedMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolvePanedMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolvePanedMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolvePanedMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolvePanedMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolvePanedMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolvePanedMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolvePanedMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolvePanedMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolvePanedMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolvePanedMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolvePanedMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolvePanedMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolvePanedMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolvePanedMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolvePanedMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolvePanedMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolvePanedMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolvePanedMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolvePanedMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolvePanedMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolvePanedMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolvePanedMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolvePanedMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolvePanedMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolvePanedMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolvePanedMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolvePanedMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolvePanedMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolvePanedMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolvePanedMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolvePanedMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolvePanedMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolvePanedMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolvePanedMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePanedMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolvePanedMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolvePanedMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePanedMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePanedMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolvePanedMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolvePanedMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolvePanedMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolvePanedMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolvePanedMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolvePanedMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolvePanedMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolvePanedMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolvePanedMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolvePanedMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolvePanedMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolvePanedMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolvePanedMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolvePanedMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolvePanedMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolvePanedMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolvePanedMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolvePanedMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolvePanedMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolvePanedMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePanedMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolvePanedMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolvePanedMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolvePanedMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolvePanedMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolvePanedMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolvePanedMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolvePanedMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolvePanedMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolvePanedMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolvePanedMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolvePanedMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolvePanedMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolvePanedMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolvePanedMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolvePanedMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolvePanedMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolvePanedMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePanedMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePanedMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolvePanedMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolvePanedMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolvePanedMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolvePanedMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolvePanedMethod "pack1" o = PanedPack1MethodInfo
+    ResolvePanedMethod "pack2" o = PanedPack2MethodInfo
+    ResolvePanedMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolvePanedMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolvePanedMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolvePanedMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolvePanedMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolvePanedMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolvePanedMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolvePanedMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolvePanedMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolvePanedMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolvePanedMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolvePanedMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePanedMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePanedMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolvePanedMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolvePanedMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolvePanedMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolvePanedMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolvePanedMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolvePanedMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolvePanedMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolvePanedMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolvePanedMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolvePanedMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolvePanedMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolvePanedMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePanedMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolvePanedMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolvePanedMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolvePanedMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolvePanedMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolvePanedMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolvePanedMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolvePanedMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolvePanedMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolvePanedMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePanedMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePanedMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolvePanedMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolvePanedMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolvePanedMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePanedMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolvePanedMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolvePanedMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolvePanedMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolvePanedMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolvePanedMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePanedMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolvePanedMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolvePanedMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolvePanedMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePanedMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolvePanedMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolvePanedMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolvePanedMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolvePanedMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolvePanedMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolvePanedMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolvePanedMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolvePanedMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolvePanedMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolvePanedMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolvePanedMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolvePanedMethod "getChild1" o = PanedGetChild1MethodInfo
+    ResolvePanedMethod "getChild2" o = PanedGetChild2MethodInfo
+    ResolvePanedMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolvePanedMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolvePanedMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolvePanedMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolvePanedMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolvePanedMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolvePanedMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePanedMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolvePanedMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolvePanedMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolvePanedMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolvePanedMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolvePanedMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolvePanedMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolvePanedMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolvePanedMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolvePanedMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolvePanedMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolvePanedMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolvePanedMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolvePanedMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolvePanedMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolvePanedMethod "getHandleWindow" o = PanedGetHandleWindowMethodInfo
+    ResolvePanedMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolvePanedMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolvePanedMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolvePanedMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolvePanedMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolvePanedMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolvePanedMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolvePanedMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolvePanedMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolvePanedMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolvePanedMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolvePanedMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolvePanedMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolvePanedMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolvePanedMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolvePanedMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolvePanedMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolvePanedMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolvePanedMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolvePanedMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolvePanedMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolvePanedMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolvePanedMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolvePanedMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolvePanedMethod "getPosition" o = PanedGetPositionMethodInfo
+    ResolvePanedMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolvePanedMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolvePanedMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolvePanedMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolvePanedMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolvePanedMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolvePanedMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePanedMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePanedMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolvePanedMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolvePanedMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolvePanedMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolvePanedMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolvePanedMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolvePanedMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolvePanedMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolvePanedMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolvePanedMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolvePanedMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolvePanedMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolvePanedMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolvePanedMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolvePanedMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolvePanedMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolvePanedMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolvePanedMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolvePanedMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolvePanedMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolvePanedMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolvePanedMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolvePanedMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolvePanedMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolvePanedMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolvePanedMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolvePanedMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolvePanedMethod "getWideHandle" o = PanedGetWideHandleMethodInfo
+    ResolvePanedMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolvePanedMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolvePanedMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolvePanedMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolvePanedMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolvePanedMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolvePanedMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolvePanedMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolvePanedMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolvePanedMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolvePanedMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolvePanedMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePanedMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolvePanedMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolvePanedMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolvePanedMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolvePanedMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolvePanedMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolvePanedMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolvePanedMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolvePanedMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolvePanedMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolvePanedMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolvePanedMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolvePanedMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolvePanedMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolvePanedMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolvePanedMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolvePanedMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolvePanedMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolvePanedMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolvePanedMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolvePanedMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolvePanedMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolvePanedMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolvePanedMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolvePanedMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolvePanedMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolvePanedMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolvePanedMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolvePanedMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolvePanedMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolvePanedMethod "setPosition" o = PanedSetPositionMethodInfo
+    ResolvePanedMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePanedMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolvePanedMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolvePanedMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolvePanedMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolvePanedMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolvePanedMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolvePanedMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolvePanedMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolvePanedMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolvePanedMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolvePanedMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolvePanedMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolvePanedMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolvePanedMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolvePanedMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolvePanedMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolvePanedMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolvePanedMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolvePanedMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolvePanedMethod "setWideHandle" o = PanedSetWideHandleMethodInfo
+    ResolvePanedMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolvePanedMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePanedMethod t Paned, O.MethodInfo info Paned p) => OL.IsLabel t (Paned -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Paned::accept-position
+{- |
+The ::accept-position signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to accept the current position of the handle when
+moving it using key bindings.
+
+The default binding for this signal is Return or Space.
+
+/Since: 2.0/
+-}
+type PanedAcceptPositionCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PanedAcceptPositionCallback`@.
+noPanedAcceptPositionCallback :: Maybe PanedAcceptPositionCallback
+noPanedAcceptPositionCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PanedAcceptPositionCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_PanedAcceptPositionCallback`.
+foreign import ccall "wrapper"
+    mk_PanedAcceptPositionCallback :: C_PanedAcceptPositionCallback -> IO (FunPtr C_PanedAcceptPositionCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PanedAcceptPosition :: MonadIO m => PanedAcceptPositionCallback -> m (GClosure C_PanedAcceptPositionCallback)
+genClosure_PanedAcceptPosition cb = liftIO $ do
+    let cb' = wrap_PanedAcceptPositionCallback cb
+    mk_PanedAcceptPositionCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PanedAcceptPositionCallback` into a `C_PanedAcceptPositionCallback`.
+wrap_PanedAcceptPositionCallback ::
+    PanedAcceptPositionCallback ->
+    C_PanedAcceptPositionCallback
+wrap_PanedAcceptPositionCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@accept-position@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' paned #acceptPosition callback
+@
+-}
+onPanedAcceptPosition :: (IsPaned a, MonadIO m) => a -> PanedAcceptPositionCallback -> m SignalHandlerId
+onPanedAcceptPosition obj cb = liftIO $ do
+    let cb' = wrap_PanedAcceptPositionCallback cb
+    cb'' <- mk_PanedAcceptPositionCallback cb'
+    connectSignalFunPtr obj "accept-position" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@accept-position@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' paned #acceptPosition callback
+@
+-}
+afterPanedAcceptPosition :: (IsPaned a, MonadIO m) => a -> PanedAcceptPositionCallback -> m SignalHandlerId
+afterPanedAcceptPosition obj cb = liftIO $ do
+    let cb' = wrap_PanedAcceptPositionCallback cb
+    cb'' <- mk_PanedAcceptPositionCallback cb'
+    connectSignalFunPtr obj "accept-position" cb'' SignalConnectAfter
+
+
+-- signal Paned::cancel-position
+{- |
+The ::cancel-position signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to cancel moving the position of the handle using key
+bindings. The position of the handle will be reset to the value prior to
+moving it.
+
+The default binding for this signal is Escape.
+
+/Since: 2.0/
+-}
+type PanedCancelPositionCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PanedCancelPositionCallback`@.
+noPanedCancelPositionCallback :: Maybe PanedCancelPositionCallback
+noPanedCancelPositionCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PanedCancelPositionCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_PanedCancelPositionCallback`.
+foreign import ccall "wrapper"
+    mk_PanedCancelPositionCallback :: C_PanedCancelPositionCallback -> IO (FunPtr C_PanedCancelPositionCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PanedCancelPosition :: MonadIO m => PanedCancelPositionCallback -> m (GClosure C_PanedCancelPositionCallback)
+genClosure_PanedCancelPosition cb = liftIO $ do
+    let cb' = wrap_PanedCancelPositionCallback cb
+    mk_PanedCancelPositionCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PanedCancelPositionCallback` into a `C_PanedCancelPositionCallback`.
+wrap_PanedCancelPositionCallback ::
+    PanedCancelPositionCallback ->
+    C_PanedCancelPositionCallback
+wrap_PanedCancelPositionCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@cancel-position@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' paned #cancelPosition callback
+@
+-}
+onPanedCancelPosition :: (IsPaned a, MonadIO m) => a -> PanedCancelPositionCallback -> m SignalHandlerId
+onPanedCancelPosition obj cb = liftIO $ do
+    let cb' = wrap_PanedCancelPositionCallback cb
+    cb'' <- mk_PanedCancelPositionCallback cb'
+    connectSignalFunPtr obj "cancel-position" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cancel-position@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' paned #cancelPosition callback
+@
+-}
+afterPanedCancelPosition :: (IsPaned a, MonadIO m) => a -> PanedCancelPositionCallback -> m SignalHandlerId
+afterPanedCancelPosition obj cb = liftIO $ do
+    let cb' = wrap_PanedCancelPositionCallback cb
+    cb'' <- mk_PanedCancelPositionCallback cb'
+    connectSignalFunPtr obj "cancel-position" cb'' SignalConnectAfter
+
+
+-- signal Paned::cycle-child-focus
+{- |
+The ::cycle-child-focus signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to cycle the focus between the children of the paned.
+
+The default binding is f6.
+
+/Since: 2.0/
+-}
+type PanedCycleChildFocusCallback =
+    Bool
+    {- ^ /@reversed@/: whether cycling backward or forward -}
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PanedCycleChildFocusCallback`@.
+noPanedCycleChildFocusCallback :: Maybe PanedCycleChildFocusCallback
+noPanedCycleChildFocusCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PanedCycleChildFocusCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_PanedCycleChildFocusCallback`.
+foreign import ccall "wrapper"
+    mk_PanedCycleChildFocusCallback :: C_PanedCycleChildFocusCallback -> IO (FunPtr C_PanedCycleChildFocusCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PanedCycleChildFocus :: MonadIO m => PanedCycleChildFocusCallback -> m (GClosure C_PanedCycleChildFocusCallback)
+genClosure_PanedCycleChildFocus cb = liftIO $ do
+    let cb' = wrap_PanedCycleChildFocusCallback cb
+    mk_PanedCycleChildFocusCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PanedCycleChildFocusCallback` into a `C_PanedCycleChildFocusCallback`.
+wrap_PanedCycleChildFocusCallback ::
+    PanedCycleChildFocusCallback ->
+    C_PanedCycleChildFocusCallback
+wrap_PanedCycleChildFocusCallback _cb _ reversed _ = do
+    let reversed' = (/= 0) reversed
+    result <- _cb  reversed'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@cycle-child-focus@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' paned #cycleChildFocus callback
+@
+-}
+onPanedCycleChildFocus :: (IsPaned a, MonadIO m) => a -> PanedCycleChildFocusCallback -> m SignalHandlerId
+onPanedCycleChildFocus obj cb = liftIO $ do
+    let cb' = wrap_PanedCycleChildFocusCallback cb
+    cb'' <- mk_PanedCycleChildFocusCallback cb'
+    connectSignalFunPtr obj "cycle-child-focus" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cycle-child-focus@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' paned #cycleChildFocus callback
+@
+-}
+afterPanedCycleChildFocus :: (IsPaned a, MonadIO m) => a -> PanedCycleChildFocusCallback -> m SignalHandlerId
+afterPanedCycleChildFocus obj cb = liftIO $ do
+    let cb' = wrap_PanedCycleChildFocusCallback cb
+    cb'' <- mk_PanedCycleChildFocusCallback cb'
+    connectSignalFunPtr obj "cycle-child-focus" cb'' SignalConnectAfter
+
+
+-- signal Paned::cycle-handle-focus
+{- |
+The ::cycle-handle-focus signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to cycle whether the paned should grab focus to allow
+the user to change position of the handle by using key bindings.
+
+The default binding for this signal is f8.
+
+/Since: 2.0/
+-}
+type PanedCycleHandleFocusCallback =
+    Bool
+    {- ^ /@reversed@/: whether cycling backward or forward -}
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PanedCycleHandleFocusCallback`@.
+noPanedCycleHandleFocusCallback :: Maybe PanedCycleHandleFocusCallback
+noPanedCycleHandleFocusCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PanedCycleHandleFocusCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_PanedCycleHandleFocusCallback`.
+foreign import ccall "wrapper"
+    mk_PanedCycleHandleFocusCallback :: C_PanedCycleHandleFocusCallback -> IO (FunPtr C_PanedCycleHandleFocusCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PanedCycleHandleFocus :: MonadIO m => PanedCycleHandleFocusCallback -> m (GClosure C_PanedCycleHandleFocusCallback)
+genClosure_PanedCycleHandleFocus cb = liftIO $ do
+    let cb' = wrap_PanedCycleHandleFocusCallback cb
+    mk_PanedCycleHandleFocusCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PanedCycleHandleFocusCallback` into a `C_PanedCycleHandleFocusCallback`.
+wrap_PanedCycleHandleFocusCallback ::
+    PanedCycleHandleFocusCallback ->
+    C_PanedCycleHandleFocusCallback
+wrap_PanedCycleHandleFocusCallback _cb _ reversed _ = do
+    let reversed' = (/= 0) reversed
+    result <- _cb  reversed'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@cycle-handle-focus@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' paned #cycleHandleFocus callback
+@
+-}
+onPanedCycleHandleFocus :: (IsPaned a, MonadIO m) => a -> PanedCycleHandleFocusCallback -> m SignalHandlerId
+onPanedCycleHandleFocus obj cb = liftIO $ do
+    let cb' = wrap_PanedCycleHandleFocusCallback cb
+    cb'' <- mk_PanedCycleHandleFocusCallback cb'
+    connectSignalFunPtr obj "cycle-handle-focus" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cycle-handle-focus@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' paned #cycleHandleFocus callback
+@
+-}
+afterPanedCycleHandleFocus :: (IsPaned a, MonadIO m) => a -> PanedCycleHandleFocusCallback -> m SignalHandlerId
+afterPanedCycleHandleFocus obj cb = liftIO $ do
+    let cb' = wrap_PanedCycleHandleFocusCallback cb
+    cb'' <- mk_PanedCycleHandleFocusCallback cb'
+    connectSignalFunPtr obj "cycle-handle-focus" cb'' SignalConnectAfter
+
+
+-- signal Paned::move-handle
+{- |
+The ::move-handle signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to move the handle when the user is using key bindings
+to move it.
+
+/Since: 2.0/
+-}
+type PanedMoveHandleCallback =
+    Gtk.Enums.ScrollType
+    {- ^ /@scrollType@/: a 'GI.Gtk.Enums.ScrollType' -}
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PanedMoveHandleCallback`@.
+noPanedMoveHandleCallback :: Maybe PanedMoveHandleCallback
+noPanedMoveHandleCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PanedMoveHandleCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_PanedMoveHandleCallback`.
+foreign import ccall "wrapper"
+    mk_PanedMoveHandleCallback :: C_PanedMoveHandleCallback -> IO (FunPtr C_PanedMoveHandleCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PanedMoveHandle :: MonadIO m => PanedMoveHandleCallback -> m (GClosure C_PanedMoveHandleCallback)
+genClosure_PanedMoveHandle cb = liftIO $ do
+    let cb' = wrap_PanedMoveHandleCallback cb
+    mk_PanedMoveHandleCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PanedMoveHandleCallback` into a `C_PanedMoveHandleCallback`.
+wrap_PanedMoveHandleCallback ::
+    PanedMoveHandleCallback ->
+    C_PanedMoveHandleCallback
+wrap_PanedMoveHandleCallback _cb _ scrollType _ = do
+    let scrollType' = (toEnum . fromIntegral) scrollType
+    result <- _cb  scrollType'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@move-handle@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' paned #moveHandle callback
+@
+-}
+onPanedMoveHandle :: (IsPaned a, MonadIO m) => a -> PanedMoveHandleCallback -> m SignalHandlerId
+onPanedMoveHandle obj cb = liftIO $ do
+    let cb' = wrap_PanedMoveHandleCallback cb
+    cb'' <- mk_PanedMoveHandleCallback cb'
+    connectSignalFunPtr obj "move-handle" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-handle@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' paned #moveHandle callback
+@
+-}
+afterPanedMoveHandle :: (IsPaned a, MonadIO m) => a -> PanedMoveHandleCallback -> m SignalHandlerId
+afterPanedMoveHandle obj cb = liftIO $ do
+    let cb' = wrap_PanedMoveHandleCallback cb
+    cb'' <- mk_PanedMoveHandleCallback cb'
+    connectSignalFunPtr obj "move-handle" cb'' SignalConnectAfter
+
+
+-- signal Paned::toggle-handle-focus
+{- |
+The ::toggle-handle-focus is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to accept the current position of the handle and then
+move focus to the next widget in the focus chain.
+
+The default binding is Tab.
+
+/Since: 2.0/
+-}
+type PanedToggleHandleFocusCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PanedToggleHandleFocusCallback`@.
+noPanedToggleHandleFocusCallback :: Maybe PanedToggleHandleFocusCallback
+noPanedToggleHandleFocusCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PanedToggleHandleFocusCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_PanedToggleHandleFocusCallback`.
+foreign import ccall "wrapper"
+    mk_PanedToggleHandleFocusCallback :: C_PanedToggleHandleFocusCallback -> IO (FunPtr C_PanedToggleHandleFocusCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PanedToggleHandleFocus :: MonadIO m => PanedToggleHandleFocusCallback -> m (GClosure C_PanedToggleHandleFocusCallback)
+genClosure_PanedToggleHandleFocus cb = liftIO $ do
+    let cb' = wrap_PanedToggleHandleFocusCallback cb
+    mk_PanedToggleHandleFocusCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PanedToggleHandleFocusCallback` into a `C_PanedToggleHandleFocusCallback`.
+wrap_PanedToggleHandleFocusCallback ::
+    PanedToggleHandleFocusCallback ->
+    C_PanedToggleHandleFocusCallback
+wrap_PanedToggleHandleFocusCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@toggle-handle-focus@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' paned #toggleHandleFocus callback
+@
+-}
+onPanedToggleHandleFocus :: (IsPaned a, MonadIO m) => a -> PanedToggleHandleFocusCallback -> m SignalHandlerId
+onPanedToggleHandleFocus obj cb = liftIO $ do
+    let cb' = wrap_PanedToggleHandleFocusCallback cb
+    cb'' <- mk_PanedToggleHandleFocusCallback cb'
+    connectSignalFunPtr obj "toggle-handle-focus" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-handle-focus@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' paned #toggleHandleFocus callback
+@
+-}
+afterPanedToggleHandleFocus :: (IsPaned a, MonadIO m) => a -> PanedToggleHandleFocusCallback -> m SignalHandlerId
+afterPanedToggleHandleFocus obj cb = liftIO $ do
+    let cb' = wrap_PanedToggleHandleFocusCallback cb
+    cb'' <- mk_PanedToggleHandleFocusCallback cb'
+    connectSignalFunPtr obj "toggle-handle-focus" cb'' SignalConnectAfter
+
+
+-- VVV Prop "max-position"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@max-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' paned #maxPosition
+@
+-}
+getPanedMaxPosition :: (MonadIO m, IsPaned o) => o -> m Int32
+getPanedMaxPosition obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-position"
+
+#if ENABLE_OVERLOADING
+data PanedMaxPositionPropertyInfo
+instance AttrInfo PanedMaxPositionPropertyInfo where
+    type AttrAllowedOps PanedMaxPositionPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint PanedMaxPositionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint PanedMaxPositionPropertyInfo = IsPaned
+    type AttrGetType PanedMaxPositionPropertyInfo = Int32
+    type AttrLabel PanedMaxPositionPropertyInfo = "max-position"
+    type AttrOrigin PanedMaxPositionPropertyInfo = Paned
+    attrGet _ = getPanedMaxPosition
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "min-position"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@min-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' paned #minPosition
+@
+-}
+getPanedMinPosition :: (MonadIO m, IsPaned o) => o -> m Int32
+getPanedMinPosition obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "min-position"
+
+#if ENABLE_OVERLOADING
+data PanedMinPositionPropertyInfo
+instance AttrInfo PanedMinPositionPropertyInfo where
+    type AttrAllowedOps PanedMinPositionPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint PanedMinPositionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint PanedMinPositionPropertyInfo = IsPaned
+    type AttrGetType PanedMinPositionPropertyInfo = Int32
+    type AttrLabel PanedMinPositionPropertyInfo = "min-position"
+    type AttrOrigin PanedMinPositionPropertyInfo = Paned
+    attrGet _ = getPanedMinPosition
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "position"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' paned #position
+@
+-}
+getPanedPosition :: (MonadIO m, IsPaned o) => o -> m Int32
+getPanedPosition obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "position"
+
+{- |
+Set the value of the “@position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' paned [ #position 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPanedPosition :: (MonadIO m, IsPaned o) => o -> Int32 -> m ()
+setPanedPosition obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "position" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@position@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPanedPosition :: (IsPaned o) => Int32 -> IO (GValueConstruct o)
+constructPanedPosition val = B.Properties.constructObjectPropertyInt32 "position" val
+
+#if ENABLE_OVERLOADING
+data PanedPositionPropertyInfo
+instance AttrInfo PanedPositionPropertyInfo where
+    type AttrAllowedOps PanedPositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PanedPositionPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint PanedPositionPropertyInfo = IsPaned
+    type AttrGetType PanedPositionPropertyInfo = Int32
+    type AttrLabel PanedPositionPropertyInfo = "position"
+    type AttrOrigin PanedPositionPropertyInfo = Paned
+    attrGet _ = getPanedPosition
+    attrSet _ = setPanedPosition
+    attrConstruct _ = constructPanedPosition
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "position-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@position-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' paned #positionSet
+@
+-}
+getPanedPositionSet :: (MonadIO m, IsPaned o) => o -> m Bool
+getPanedPositionSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "position-set"
+
+{- |
+Set the value of the “@position-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' paned [ #positionSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPanedPositionSet :: (MonadIO m, IsPaned o) => o -> Bool -> m ()
+setPanedPositionSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "position-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@position-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPanedPositionSet :: (IsPaned o) => Bool -> IO (GValueConstruct o)
+constructPanedPositionSet val = B.Properties.constructObjectPropertyBool "position-set" val
+
+#if ENABLE_OVERLOADING
+data PanedPositionSetPropertyInfo
+instance AttrInfo PanedPositionSetPropertyInfo where
+    type AttrAllowedOps PanedPositionSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PanedPositionSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PanedPositionSetPropertyInfo = IsPaned
+    type AttrGetType PanedPositionSetPropertyInfo = Bool
+    type AttrLabel PanedPositionSetPropertyInfo = "position-set"
+    type AttrOrigin PanedPositionSetPropertyInfo = Paned
+    attrGet _ = getPanedPositionSet
+    attrSet _ = setPanedPositionSet
+    attrConstruct _ = constructPanedPositionSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wide-handle"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@wide-handle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' paned #wideHandle
+@
+-}
+getPanedWideHandle :: (MonadIO m, IsPaned o) => o -> m Bool
+getPanedWideHandle obj = liftIO $ B.Properties.getObjectPropertyBool obj "wide-handle"
+
+{- |
+Set the value of the “@wide-handle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' paned [ #wideHandle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPanedWideHandle :: (MonadIO m, IsPaned o) => o -> Bool -> m ()
+setPanedWideHandle obj val = liftIO $ B.Properties.setObjectPropertyBool obj "wide-handle" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wide-handle@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPanedWideHandle :: (IsPaned o) => Bool -> IO (GValueConstruct o)
+constructPanedWideHandle val = B.Properties.constructObjectPropertyBool "wide-handle" val
+
+#if ENABLE_OVERLOADING
+data PanedWideHandlePropertyInfo
+instance AttrInfo PanedWideHandlePropertyInfo where
+    type AttrAllowedOps PanedWideHandlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PanedWideHandlePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PanedWideHandlePropertyInfo = IsPaned
+    type AttrGetType PanedWideHandlePropertyInfo = Bool
+    type AttrLabel PanedWideHandlePropertyInfo = "wide-handle"
+    type AttrOrigin PanedWideHandlePropertyInfo = Paned
+    attrGet _ = getPanedWideHandle
+    attrSet _ = setPanedWideHandle
+    attrConstruct _ = constructPanedWideHandle
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Paned
+type instance O.AttributeList Paned = PanedAttributeList
+type PanedAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxPosition", PanedMaxPositionPropertyInfo), '("minPosition", PanedMinPositionPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("position", PanedPositionPropertyInfo), '("positionSet", PanedPositionSetPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("wideHandle", PanedWideHandlePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+panedMaxPosition :: AttrLabelProxy "maxPosition"
+panedMaxPosition = AttrLabelProxy
+
+panedMinPosition :: AttrLabelProxy "minPosition"
+panedMinPosition = AttrLabelProxy
+
+panedPosition :: AttrLabelProxy "position"
+panedPosition = AttrLabelProxy
+
+panedPositionSet :: AttrLabelProxy "positionSet"
+panedPositionSet = AttrLabelProxy
+
+panedWideHandle :: AttrLabelProxy "wideHandle"
+panedWideHandle = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data PanedAcceptPositionSignalInfo
+instance SignalInfo PanedAcceptPositionSignalInfo where
+    type HaskellCallbackType PanedAcceptPositionSignalInfo = PanedAcceptPositionCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PanedAcceptPositionCallback cb
+        cb'' <- mk_PanedAcceptPositionCallback cb'
+        connectSignalFunPtr obj "accept-position" cb'' connectMode
+
+data PanedCancelPositionSignalInfo
+instance SignalInfo PanedCancelPositionSignalInfo where
+    type HaskellCallbackType PanedCancelPositionSignalInfo = PanedCancelPositionCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PanedCancelPositionCallback cb
+        cb'' <- mk_PanedCancelPositionCallback cb'
+        connectSignalFunPtr obj "cancel-position" cb'' connectMode
+
+data PanedCycleChildFocusSignalInfo
+instance SignalInfo PanedCycleChildFocusSignalInfo where
+    type HaskellCallbackType PanedCycleChildFocusSignalInfo = PanedCycleChildFocusCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PanedCycleChildFocusCallback cb
+        cb'' <- mk_PanedCycleChildFocusCallback cb'
+        connectSignalFunPtr obj "cycle-child-focus" cb'' connectMode
+
+data PanedCycleHandleFocusSignalInfo
+instance SignalInfo PanedCycleHandleFocusSignalInfo where
+    type HaskellCallbackType PanedCycleHandleFocusSignalInfo = PanedCycleHandleFocusCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PanedCycleHandleFocusCallback cb
+        cb'' <- mk_PanedCycleHandleFocusCallback cb'
+        connectSignalFunPtr obj "cycle-handle-focus" cb'' connectMode
+
+data PanedMoveHandleSignalInfo
+instance SignalInfo PanedMoveHandleSignalInfo where
+    type HaskellCallbackType PanedMoveHandleSignalInfo = PanedMoveHandleCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PanedMoveHandleCallback cb
+        cb'' <- mk_PanedMoveHandleCallback cb'
+        connectSignalFunPtr obj "move-handle" cb'' connectMode
+
+data PanedToggleHandleFocusSignalInfo
+instance SignalInfo PanedToggleHandleFocusSignalInfo where
+    type HaskellCallbackType PanedToggleHandleFocusSignalInfo = PanedToggleHandleFocusCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PanedToggleHandleFocusCallback cb
+        cb'' <- mk_PanedToggleHandleFocusCallback cb'
+        connectSignalFunPtr obj "toggle-handle-focus" cb'' connectMode
+
+type instance O.SignalList Paned = PanedSignalList
+type PanedSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("acceptPosition", PanedAcceptPositionSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("cancelPosition", PanedCancelPositionSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("cycleChildFocus", PanedCycleChildFocusSignalInfo), '("cycleHandleFocus", PanedCycleHandleFocusSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveHandle", PanedMoveHandleSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleHandleFocus", PanedToggleHandleFocusSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Paned::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paned\8217s orientation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Paned"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_new" gtk_paned_new :: 
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO (Ptr Paned)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Paned.Paned' widget.
+
+/Since: 3.0/
+-}
+panedNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the paned’s orientation. -}
+    -> m Paned
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Paned.Paned'. -}
+panedNew orientation = liftIO $ do
+    let orientation' = (fromIntegral . fromEnum) orientation
+    result <- gtk_paned_new orientation'
+    checkUnexpectedReturnNULL "panedNew" result
+    result' <- (newObject Paned) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Paned::add1
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a paned widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_add1" gtk_paned_add1 :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds a child to the top or left pane with default parameters. This is
+equivalent to
+@gtk_paned_pack1 (paned, child, FALSE, TRUE)@.
+-}
+panedAdd1 ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@paned@/: a paned widget -}
+    -> b
+    {- ^ /@child@/: the child to add -}
+    -> m ()
+panedAdd1 paned child = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_paned_add1 paned' child'
+    touchManagedPtr paned
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data PanedAdd1MethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsPaned a, Gtk.Widget.IsWidget b) => O.MethodInfo PanedAdd1MethodInfo a signature where
+    overloadedMethod _ = panedAdd1
+
+#endif
+
+-- method Paned::add2
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a paned widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_add2" gtk_paned_add2 :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds a child to the bottom or right pane with default parameters. This
+is equivalent to
+@gtk_paned_pack2 (paned, child, TRUE, TRUE)@.
+-}
+panedAdd2 ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@paned@/: a paned widget -}
+    -> b
+    {- ^ /@child@/: the child to add -}
+    -> m ()
+panedAdd2 paned child = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_paned_add2 paned' child'
+    touchManagedPtr paned
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data PanedAdd2MethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsPaned a, Gtk.Widget.IsWidget b) => O.MethodInfo PanedAdd2MethodInfo a signature where
+    overloadedMethod _ = panedAdd2
+
+#endif
+
+-- method Paned::get_child1
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaned widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_get_child1" gtk_paned_get_child1 :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Obtains the first child of the paned widget.
+
+/Since: 2.4/
+-}
+panedGetChild1 ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a) =>
+    a
+    {- ^ /@paned@/: a 'GI.Gtk.Objects.Paned.Paned' widget -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ first child, or 'Nothing' if it is not set. -}
+panedGetChild1 paned = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    result <- gtk_paned_get_child1 paned'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr paned
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data PanedGetChild1MethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsPaned a) => O.MethodInfo PanedGetChild1MethodInfo a signature where
+    overloadedMethod _ = panedGetChild1
+
+#endif
+
+-- method Paned::get_child2
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaned widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_get_child2" gtk_paned_get_child2 :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Obtains the second child of the paned widget.
+
+/Since: 2.4/
+-}
+panedGetChild2 ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a) =>
+    a
+    {- ^ /@paned@/: a 'GI.Gtk.Objects.Paned.Paned' widget -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ second child, or 'Nothing' if it is not set. -}
+panedGetChild2 paned = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    result <- gtk_paned_get_child2 paned'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr paned
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data PanedGetChild2MethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsPaned a) => O.MethodInfo PanedGetChild2MethodInfo a signature where
+    overloadedMethod _ = panedGetChild2
+
+#endif
+
+-- method Paned::get_handle_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_get_handle_window" gtk_paned_get_handle_window :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Returns the 'GI.Gdk.Objects.Window.Window' of the handle. This function is
+useful when handling button or motion events because it
+enables the callback to distinguish between the window
+of the paned, a child and the handle.
+
+/Since: 2.20/
+-}
+panedGetHandleWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a) =>
+    a
+    {- ^ /@paned@/: a 'GI.Gtk.Objects.Paned.Paned' -}
+    -> m Gdk.Window.Window
+    {- ^ __Returns:__ the paned’s handle window. -}
+panedGetHandleWindow paned = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    result <- gtk_paned_get_handle_window paned'
+    checkUnexpectedReturnNULL "panedGetHandleWindow" result
+    result' <- (newObject Gdk.Window.Window) result
+    touchManagedPtr paned
+    return result'
+
+#if ENABLE_OVERLOADING
+data PanedGetHandleWindowMethodInfo
+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsPaned a) => O.MethodInfo PanedGetHandleWindowMethodInfo a signature where
+    overloadedMethod _ = panedGetHandleWindow
+
+#endif
+
+-- method Paned::get_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaned widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_get_position" gtk_paned_get_position :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    IO Int32
+
+{- |
+Obtains the position of the divider between the two panes.
+-}
+panedGetPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a) =>
+    a
+    {- ^ /@paned@/: a 'GI.Gtk.Objects.Paned.Paned' widget -}
+    -> m Int32
+    {- ^ __Returns:__ position of the divider -}
+panedGetPosition paned = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    result <- gtk_paned_get_position paned'
+    touchManagedPtr paned
+    return result
+
+#if ENABLE_OVERLOADING
+data PanedGetPositionMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsPaned a) => O.MethodInfo PanedGetPositionMethodInfo a signature where
+    overloadedMethod _ = panedGetPosition
+
+#endif
+
+-- method Paned::get_wide_handle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_get_wide_handle" gtk_paned_get_wide_handle :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    IO CInt
+
+{- |
+Gets the 'GI.Gtk.Objects.Paned.Paned':@/wide-handle/@ property.
+
+/Since: 3.16/
+-}
+panedGetWideHandle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a) =>
+    a
+    {- ^ /@paned@/: a 'GI.Gtk.Objects.Paned.Paned' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the paned should have a wide handle -}
+panedGetWideHandle paned = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    result <- gtk_paned_get_wide_handle paned'
+    let result' = (/= 0) result
+    touchManagedPtr paned
+    return result'
+
+#if ENABLE_OVERLOADING
+data PanedGetWideHandleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPaned a) => O.MethodInfo PanedGetWideHandleMethodInfo a signature where
+    overloadedMethod _ = panedGetWideHandle
+
+#endif
+
+-- method Paned::pack1
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a paned widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resize", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "should this child expand when the paned widget is resized.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shrink", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "can this child be made smaller than its requisition.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_pack1" gtk_paned_pack1 :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- resize : TBasicType TBoolean
+    CInt ->                                 -- shrink : TBasicType TBoolean
+    IO ()
+
+{- |
+Adds a child to the top or left pane.
+-}
+panedPack1 ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@paned@/: a paned widget -}
+    -> b
+    {- ^ /@child@/: the child to add -}
+    -> Bool
+    {- ^ /@resize@/: should this child expand when the paned widget is resized. -}
+    -> Bool
+    {- ^ /@shrink@/: can this child be made smaller than its requisition. -}
+    -> m ()
+panedPack1 paned child resize shrink = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    child' <- unsafeManagedPtrCastPtr child
+    let resize' = (fromIntegral . fromEnum) resize
+    let shrink' = (fromIntegral . fromEnum) shrink
+    gtk_paned_pack1 paned' child' resize' shrink'
+    touchManagedPtr paned
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data PanedPack1MethodInfo
+instance (signature ~ (b -> Bool -> Bool -> m ()), MonadIO m, IsPaned a, Gtk.Widget.IsWidget b) => O.MethodInfo PanedPack1MethodInfo a signature where
+    overloadedMethod _ = panedPack1
+
+#endif
+
+-- method Paned::pack2
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a paned widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resize", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "should this child expand when the paned widget is resized.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shrink", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "can this child be made smaller than its requisition.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_pack2" gtk_paned_pack2 :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- resize : TBasicType TBoolean
+    CInt ->                                 -- shrink : TBasicType TBoolean
+    IO ()
+
+{- |
+Adds a child to the bottom or right pane.
+-}
+panedPack2 ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@paned@/: a paned widget -}
+    -> b
+    {- ^ /@child@/: the child to add -}
+    -> Bool
+    {- ^ /@resize@/: should this child expand when the paned widget is resized. -}
+    -> Bool
+    {- ^ /@shrink@/: can this child be made smaller than its requisition. -}
+    -> m ()
+panedPack2 paned child resize shrink = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    child' <- unsafeManagedPtrCastPtr child
+    let resize' = (fromIntegral . fromEnum) resize
+    let shrink' = (fromIntegral . fromEnum) shrink
+    gtk_paned_pack2 paned' child' resize' shrink'
+    touchManagedPtr paned
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data PanedPack2MethodInfo
+instance (signature ~ (b -> Bool -> Bool -> m ()), MonadIO m, IsPaned a, Gtk.Widget.IsWidget b) => O.MethodInfo PanedPack2MethodInfo a signature where
+    overloadedMethod _ = panedPack2
+
+#endif
+
+-- method Paned::set_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaned widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pixel position of divider, a negative value means that the position\n           is unset.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_set_position" gtk_paned_set_position :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Sets the position of the divider between the two panes.
+-}
+panedSetPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a) =>
+    a
+    {- ^ /@paned@/: a 'GI.Gtk.Objects.Paned.Paned' widget -}
+    -> Int32
+    {- ^ /@position@/: pixel position of divider, a negative value means that the position
+           is unset. -}
+    -> m ()
+panedSetPosition paned position = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    gtk_paned_set_position paned' position
+    touchManagedPtr paned
+    return ()
+
+#if ENABLE_OVERLOADING
+data PanedSetPositionMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsPaned a) => O.MethodInfo PanedSetPositionMethodInfo a signature where
+    overloadedMethod _ = panedSetPosition
+
+#endif
+
+-- method Paned::set_wide_handle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paned", argType = TInterface (Name {namespace = "Gtk", name = "Paned"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wide", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for the #GtkPaned:wide-handle property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paned_set_wide_handle" gtk_paned_set_wide_handle :: 
+    Ptr Paned ->                            -- paned : TInterface (Name {namespace = "Gtk", name = "Paned"})
+    CInt ->                                 -- wide : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Paned.Paned':@/wide-handle/@ property.
+
+/Since: 3.16/
+-}
+panedSetWideHandle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPaned a) =>
+    a
+    {- ^ /@paned@/: a 'GI.Gtk.Objects.Paned.Paned' -}
+    -> Bool
+    {- ^ /@wide@/: the new value for the 'GI.Gtk.Objects.Paned.Paned':@/wide-handle/@ property -}
+    -> m ()
+panedSetWideHandle paned wide = liftIO $ do
+    paned' <- unsafeManagedPtrCastPtr paned
+    let wide' = (fromIntegral . fromEnum) wide
+    gtk_paned_set_wide_handle paned' wide'
+    touchManagedPtr paned
+    return ()
+
+#if ENABLE_OVERLOADING
+data PanedSetWideHandleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPaned a) => O.MethodInfo PanedSetWideHandleMethodInfo a signature where
+    overloadedMethod _ = panedSetWideHandle
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Paned.hs-boot b/GI/Gtk/Objects/Paned.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Paned.hs-boot
@@ -0,0 +1,95 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Paned where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Paned = Paned (ManagedPtr Paned)
+instance GObject Paned where
+class (GObject o, O.IsDescendantOf Paned o) => IsPaned o
+instance (GObject o, O.IsDescendantOf Paned o) => IsPaned o
+instance O.HasParentTypes Paned
+#if ENABLE_OVERLOADING
+data PanedMaxPositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedMinPositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedPositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedPositionSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedWideHandlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedAcceptPositionSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedCancelPositionSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedCycleChildFocusSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedCycleHandleFocusSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedMoveHandleSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedToggleHandleFocusSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedAdd1MethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedAdd2MethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedGetChild1MethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedGetChild2MethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedGetHandleWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedGetPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedGetWideHandleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedPack1MethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedPack2MethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedSetPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PanedSetWideHandleMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/PanedAccessible.hs b/GI/Gtk/Objects/PanedAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PanedAccessible.hs
@@ -0,0 +1,176 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.PanedAccessible
+    ( 
+
+-- * Exported types
+    PanedAccessible(..)                     ,
+    IsPanedAccessible                       ,
+    toPanedAccessible                       ,
+    noPanedAccessible                       ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Value as Atk.Value
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype PanedAccessible = PanedAccessible (ManagedPtr PanedAccessible)
+foreign import ccall "gtk_paned_accessible_get_type"
+    c_gtk_paned_accessible_get_type :: IO GType
+
+instance GObject PanedAccessible where
+    gobjectType = c_gtk_paned_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `PanedAccessible`, for instance with `toPanedAccessible`.
+class (GObject o, O.IsDescendantOf PanedAccessible o) => IsPanedAccessible o
+instance (GObject o, O.IsDescendantOf PanedAccessible o) => IsPanedAccessible o
+
+instance O.HasParentTypes PanedAccessible
+type instance O.ParentTypes PanedAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Value.Value]
+
+-- | Cast to `PanedAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPanedAccessible :: (MonadIO m, IsPanedAccessible o) => o -> m PanedAccessible
+toPanedAccessible = liftIO . unsafeCastTo PanedAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PanedAccessible`.
+noPanedAccessible :: Maybe PanedAccessible
+noPanedAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePanedAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePanedAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolvePanedAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePanedAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePanedAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolvePanedAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolvePanedAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePanedAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePanedAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePanedAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolvePanedAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolvePanedAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePanedAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePanedAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePanedAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolvePanedAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolvePanedAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePanedAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolvePanedAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolvePanedAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolvePanedAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePanedAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolvePanedAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolvePanedAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolvePanedAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolvePanedAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePanedAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolvePanedAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolvePanedAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePanedAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePanedAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePanedAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePanedAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePanedAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolvePanedAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolvePanedAccessibleMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo
+    ResolvePanedAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePanedAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolvePanedAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolvePanedAccessibleMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo
+    ResolvePanedAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolvePanedAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolvePanedAccessibleMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo
+    ResolvePanedAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolvePanedAccessibleMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo
+    ResolvePanedAccessibleMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo
+    ResolvePanedAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolvePanedAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolvePanedAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolvePanedAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolvePanedAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolvePanedAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePanedAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePanedAccessibleMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo
+    ResolvePanedAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolvePanedAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolvePanedAccessibleMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo
+    ResolvePanedAccessibleMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo
+    ResolvePanedAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolvePanedAccessibleMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo
+    ResolvePanedAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePanedAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolvePanedAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolvePanedAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolvePanedAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolvePanedAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolvePanedAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePanedAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolvePanedAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolvePanedAccessibleMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo
+    ResolvePanedAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolvePanedAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePanedAccessibleMethod t PanedAccessible, O.MethodInfo info PanedAccessible p) => OL.IsLabel t (PanedAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PanedAccessible
+type instance O.AttributeList PanedAccessible = PanedAccessibleAttributeList
+type PanedAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList PanedAccessible = PanedAccessibleSignalList
+type PanedAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/PanedAccessible.hs-boot b/GI/Gtk/Objects/PanedAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PanedAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.PanedAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PanedAccessible = PanedAccessible (ManagedPtr PanedAccessible)
+instance GObject PanedAccessible where
+class (GObject o, O.IsDescendantOf PanedAccessible o) => IsPanedAccessible o
+instance (GObject o, O.IsDescendantOf PanedAccessible o) => IsPanedAccessible o
+instance O.HasParentTypes PanedAccessible
diff --git a/GI/Gtk/Objects/PlacesSidebar.hs b/GI/Gtk/Objects/PlacesSidebar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PlacesSidebar.hs
@@ -0,0 +1,3883 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' is a widget that displays a list of frequently-used places in the
+file system:  the user’s home directory, the user’s bookmarks, and volumes and drives.
+This widget is used as a sidebar in 'GI.Gtk.Interfaces.FileChooser.FileChooser' and may be used by file managers
+and similar programs.
+
+The places sidebar displays drives and volumes, and will automatically mount
+or unmount them when the user selects them.
+
+Applications can hook to various signals in the places sidebar to customize
+its behavior.  For example, they can add extra commands to the context menu
+of the sidebar.
+
+While bookmarks are completely in control of the user, the places sidebar also
+allows individual applications to provide extra shortcut folders that are unique
+to each application.  For example, a Paint program may want to add a shortcut
+for a Clipart folder.  You can do this with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarAddShortcut'.
+
+To make use of the places sidebar, an application at least needs to connect
+to the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@ signal.  This is emitted when the
+user selects in the sidebar a location to open.  The application should also
+call 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetLocation' when it changes the currently-viewed
+location.
+
+= CSS nodes
+
+GtkPlacesSidebar uses a single CSS node with name placessidebar and style
+class .sidebar.
+
+Among the children of the places sidebar, the following style classes can
+be used:
+
+* .sidebar-new-bookmark-row for the \'Add new bookmark\' row
+* .sidebar-placeholder-row for a row that is a placeholder
+* .has-open-popup when a popup is open for a row
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.PlacesSidebar
+    ( 
+
+-- * Exported types
+    PlacesSidebar(..)                       ,
+    IsPlacesSidebar                         ,
+    toPlacesSidebar                         ,
+    noPlacesSidebar                         ,
+
+
+ -- * Methods
+-- ** addShortcut #method:addShortcut#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarAddShortcutMethodInfo      ,
+#endif
+    placesSidebarAddShortcut                ,
+
+
+-- ** getLocalOnly #method:getLocalOnly#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetLocalOnlyMethodInfo     ,
+#endif
+    placesSidebarGetLocalOnly               ,
+
+
+-- ** getLocation #method:getLocation#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetLocationMethodInfo      ,
+#endif
+    placesSidebarGetLocation                ,
+
+
+-- ** getNthBookmark #method:getNthBookmark#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetNthBookmarkMethodInfo   ,
+#endif
+    placesSidebarGetNthBookmark             ,
+
+
+-- ** getOpenFlags #method:getOpenFlags#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetOpenFlagsMethodInfo     ,
+#endif
+    placesSidebarGetOpenFlags               ,
+
+
+-- ** getShowConnectToServer #method:getShowConnectToServer#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetShowConnectToServerMethodInfo,
+#endif
+    placesSidebarGetShowConnectToServer     ,
+
+
+-- ** getShowDesktop #method:getShowDesktop#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetShowDesktopMethodInfo   ,
+#endif
+    placesSidebarGetShowDesktop             ,
+
+
+-- ** getShowEnterLocation #method:getShowEnterLocation#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetShowEnterLocationMethodInfo,
+#endif
+    placesSidebarGetShowEnterLocation       ,
+
+
+-- ** getShowOtherLocations #method:getShowOtherLocations#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetShowOtherLocationsMethodInfo,
+#endif
+    placesSidebarGetShowOtherLocations      ,
+
+
+-- ** getShowRecent #method:getShowRecent#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetShowRecentMethodInfo    ,
+#endif
+    placesSidebarGetShowRecent              ,
+
+
+-- ** getShowStarredLocation #method:getShowStarredLocation#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetShowStarredLocationMethodInfo,
+#endif
+    placesSidebarGetShowStarredLocation     ,
+
+
+-- ** getShowTrash #method:getShowTrash#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarGetShowTrashMethodInfo     ,
+#endif
+    placesSidebarGetShowTrash               ,
+
+
+-- ** listShortcuts #method:listShortcuts#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarListShortcutsMethodInfo    ,
+#endif
+    placesSidebarListShortcuts              ,
+
+
+-- ** new #method:new#
+
+    placesSidebarNew                        ,
+
+
+-- ** removeShortcut #method:removeShortcut#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarRemoveShortcutMethodInfo   ,
+#endif
+    placesSidebarRemoveShortcut             ,
+
+
+-- ** setDropTargetsVisible #method:setDropTargetsVisible#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetDropTargetsVisibleMethodInfo,
+#endif
+    placesSidebarSetDropTargetsVisible      ,
+
+
+-- ** setLocalOnly #method:setLocalOnly#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetLocalOnlyMethodInfo     ,
+#endif
+    placesSidebarSetLocalOnly               ,
+
+
+-- ** setLocation #method:setLocation#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetLocationMethodInfo      ,
+#endif
+    placesSidebarSetLocation                ,
+
+
+-- ** setOpenFlags #method:setOpenFlags#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetOpenFlagsMethodInfo     ,
+#endif
+    placesSidebarSetOpenFlags               ,
+
+
+-- ** setShowConnectToServer #method:setShowConnectToServer#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetShowConnectToServerMethodInfo,
+#endif
+    placesSidebarSetShowConnectToServer     ,
+
+
+-- ** setShowDesktop #method:setShowDesktop#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetShowDesktopMethodInfo   ,
+#endif
+    placesSidebarSetShowDesktop             ,
+
+
+-- ** setShowEnterLocation #method:setShowEnterLocation#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetShowEnterLocationMethodInfo,
+#endif
+    placesSidebarSetShowEnterLocation       ,
+
+
+-- ** setShowOtherLocations #method:setShowOtherLocations#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetShowOtherLocationsMethodInfo,
+#endif
+    placesSidebarSetShowOtherLocations      ,
+
+
+-- ** setShowRecent #method:setShowRecent#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetShowRecentMethodInfo    ,
+#endif
+    placesSidebarSetShowRecent              ,
+
+
+-- ** setShowStarredLocation #method:setShowStarredLocation#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetShowStarredLocationMethodInfo,
+#endif
+    placesSidebarSetShowStarredLocation     ,
+
+
+-- ** setShowTrash #method:setShowTrash#
+
+#if ENABLE_OVERLOADING
+    PlacesSidebarSetShowTrashMethodInfo     ,
+#endif
+    placesSidebarSetShowTrash               ,
+
+
+
+
+ -- * Properties
+-- ** localOnly #attr:localOnly#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarLocalOnlyPropertyInfo      ,
+#endif
+    constructPlacesSidebarLocalOnly         ,
+    getPlacesSidebarLocalOnly               ,
+#if ENABLE_OVERLOADING
+    placesSidebarLocalOnly                  ,
+#endif
+    setPlacesSidebarLocalOnly               ,
+
+
+-- ** location #attr:location#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarLocationPropertyInfo       ,
+#endif
+    clearPlacesSidebarLocation              ,
+    constructPlacesSidebarLocation          ,
+    getPlacesSidebarLocation                ,
+#if ENABLE_OVERLOADING
+    placesSidebarLocation                   ,
+#endif
+    setPlacesSidebarLocation                ,
+
+
+-- ** openFlags #attr:openFlags#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarOpenFlagsPropertyInfo      ,
+#endif
+    constructPlacesSidebarOpenFlags         ,
+    getPlacesSidebarOpenFlags               ,
+#if ENABLE_OVERLOADING
+    placesSidebarOpenFlags                  ,
+#endif
+    setPlacesSidebarOpenFlags               ,
+
+
+-- ** populateAll #attr:populateAll#
+{- | If :populate-all is 'True', the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/populate-popup/@ signal
+is also emitted for popovers.
+
+/Since: 3.18/
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarPopulateAllPropertyInfo    ,
+#endif
+    constructPlacesSidebarPopulateAll       ,
+    getPlacesSidebarPopulateAll             ,
+#if ENABLE_OVERLOADING
+    placesSidebarPopulateAll                ,
+#endif
+    setPlacesSidebarPopulateAll             ,
+
+
+-- ** showConnectToServer #attr:showConnectToServer#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowConnectToServerPropertyInfo,
+#endif
+    constructPlacesSidebarShowConnectToServer,
+    getPlacesSidebarShowConnectToServer     ,
+#if ENABLE_OVERLOADING
+    placesSidebarShowConnectToServer        ,
+#endif
+    setPlacesSidebarShowConnectToServer     ,
+
+
+-- ** showDesktop #attr:showDesktop#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowDesktopPropertyInfo    ,
+#endif
+    constructPlacesSidebarShowDesktop       ,
+    getPlacesSidebarShowDesktop             ,
+#if ENABLE_OVERLOADING
+    placesSidebarShowDesktop                ,
+#endif
+    setPlacesSidebarShowDesktop             ,
+
+
+-- ** showEnterLocation #attr:showEnterLocation#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowEnterLocationPropertyInfo,
+#endif
+    constructPlacesSidebarShowEnterLocation ,
+    getPlacesSidebarShowEnterLocation       ,
+#if ENABLE_OVERLOADING
+    placesSidebarShowEnterLocation          ,
+#endif
+    setPlacesSidebarShowEnterLocation       ,
+
+
+-- ** showOtherLocations #attr:showOtherLocations#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowOtherLocationsPropertyInfo,
+#endif
+    constructPlacesSidebarShowOtherLocations,
+    getPlacesSidebarShowOtherLocations      ,
+#if ENABLE_OVERLOADING
+    placesSidebarShowOtherLocations         ,
+#endif
+    setPlacesSidebarShowOtherLocations      ,
+
+
+-- ** showRecent #attr:showRecent#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowRecentPropertyInfo     ,
+#endif
+    constructPlacesSidebarShowRecent        ,
+    getPlacesSidebarShowRecent              ,
+#if ENABLE_OVERLOADING
+    placesSidebarShowRecent                 ,
+#endif
+    setPlacesSidebarShowRecent              ,
+
+
+-- ** showStarredLocation #attr:showStarredLocation#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowStarredLocationPropertyInfo,
+#endif
+    constructPlacesSidebarShowStarredLocation,
+    getPlacesSidebarShowStarredLocation     ,
+#if ENABLE_OVERLOADING
+    placesSidebarShowStarredLocation        ,
+#endif
+    setPlacesSidebarShowStarredLocation     ,
+
+
+-- ** showTrash #attr:showTrash#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowTrashPropertyInfo      ,
+#endif
+    constructPlacesSidebarShowTrash         ,
+    getPlacesSidebarShowTrash               ,
+#if ENABLE_OVERLOADING
+    placesSidebarShowTrash                  ,
+#endif
+    setPlacesSidebarShowTrash               ,
+
+
+
+
+ -- * Signals
+-- ** dragActionAsk #signal:dragActionAsk#
+
+    C_PlacesSidebarDragActionAskCallback    ,
+    PlacesSidebarDragActionAskCallback      ,
+#if ENABLE_OVERLOADING
+    PlacesSidebarDragActionAskSignalInfo    ,
+#endif
+    afterPlacesSidebarDragActionAsk         ,
+    genClosure_PlacesSidebarDragActionAsk   ,
+    mk_PlacesSidebarDragActionAskCallback   ,
+    noPlacesSidebarDragActionAskCallback    ,
+    onPlacesSidebarDragActionAsk            ,
+    wrap_PlacesSidebarDragActionAskCallback ,
+
+
+-- ** dragActionRequested #signal:dragActionRequested#
+
+    C_PlacesSidebarDragActionRequestedCallback,
+    PlacesSidebarDragActionRequestedCallback,
+#if ENABLE_OVERLOADING
+    PlacesSidebarDragActionRequestedSignalInfo,
+#endif
+    afterPlacesSidebarDragActionRequested   ,
+    genClosure_PlacesSidebarDragActionRequested,
+    mk_PlacesSidebarDragActionRequestedCallback,
+    noPlacesSidebarDragActionRequestedCallback,
+    onPlacesSidebarDragActionRequested      ,
+    wrap_PlacesSidebarDragActionRequestedCallback,
+
+
+-- ** dragPerformDrop #signal:dragPerformDrop#
+
+    C_PlacesSidebarDragPerformDropCallback  ,
+    PlacesSidebarDragPerformDropCallback    ,
+#if ENABLE_OVERLOADING
+    PlacesSidebarDragPerformDropSignalInfo  ,
+#endif
+    afterPlacesSidebarDragPerformDrop       ,
+    genClosure_PlacesSidebarDragPerformDrop ,
+    mk_PlacesSidebarDragPerformDropCallback ,
+    noPlacesSidebarDragPerformDropCallback  ,
+    onPlacesSidebarDragPerformDrop          ,
+    wrap_PlacesSidebarDragPerformDropCallback,
+
+
+-- ** mount #signal:mount#
+
+    C_PlacesSidebarMountCallback            ,
+    PlacesSidebarMountCallback              ,
+#if ENABLE_OVERLOADING
+    PlacesSidebarMountSignalInfo            ,
+#endif
+    afterPlacesSidebarMount                 ,
+    genClosure_PlacesSidebarMount           ,
+    mk_PlacesSidebarMountCallback           ,
+    noPlacesSidebarMountCallback            ,
+    onPlacesSidebarMount                    ,
+    wrap_PlacesSidebarMountCallback         ,
+
+
+-- ** openLocation #signal:openLocation#
+
+    C_PlacesSidebarOpenLocationCallback     ,
+    PlacesSidebarOpenLocationCallback       ,
+#if ENABLE_OVERLOADING
+    PlacesSidebarOpenLocationSignalInfo     ,
+#endif
+    afterPlacesSidebarOpenLocation          ,
+    genClosure_PlacesSidebarOpenLocation    ,
+    mk_PlacesSidebarOpenLocationCallback    ,
+    noPlacesSidebarOpenLocationCallback     ,
+    onPlacesSidebarOpenLocation             ,
+    wrap_PlacesSidebarOpenLocationCallback  ,
+
+
+-- ** populatePopup #signal:populatePopup#
+
+    C_PlacesSidebarPopulatePopupCallback    ,
+    PlacesSidebarPopulatePopupCallback      ,
+#if ENABLE_OVERLOADING
+    PlacesSidebarPopulatePopupSignalInfo    ,
+#endif
+    afterPlacesSidebarPopulatePopup         ,
+    genClosure_PlacesSidebarPopulatePopup   ,
+    mk_PlacesSidebarPopulatePopupCallback   ,
+    noPlacesSidebarPopulatePopupCallback    ,
+    onPlacesSidebarPopulatePopup            ,
+    wrap_PlacesSidebarPopulatePopupCallback ,
+
+
+-- ** showConnectToServer #signal:showConnectToServer#
+
+    C_PlacesSidebarShowConnectToServerCallback,
+    PlacesSidebarShowConnectToServerCallback,
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowConnectToServerSignalInfo,
+#endif
+    afterPlacesSidebarShowConnectToServer   ,
+    genClosure_PlacesSidebarShowConnectToServer,
+    mk_PlacesSidebarShowConnectToServerCallback,
+    noPlacesSidebarShowConnectToServerCallback,
+    onPlacesSidebarShowConnectToServer      ,
+    wrap_PlacesSidebarShowConnectToServerCallback,
+
+
+-- ** showEnterLocation #signal:showEnterLocation#
+
+    C_PlacesSidebarShowEnterLocationCallback,
+    PlacesSidebarShowEnterLocationCallback  ,
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowEnterLocationSignalInfo,
+#endif
+    afterPlacesSidebarShowEnterLocation     ,
+    genClosure_PlacesSidebarShowEnterLocation,
+    mk_PlacesSidebarShowEnterLocationCallback,
+    noPlacesSidebarShowEnterLocationCallback,
+    onPlacesSidebarShowEnterLocation        ,
+    wrap_PlacesSidebarShowEnterLocationCallback,
+
+
+-- ** showErrorMessage #signal:showErrorMessage#
+
+    C_PlacesSidebarShowErrorMessageCallback ,
+    PlacesSidebarShowErrorMessageCallback   ,
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowErrorMessageSignalInfo ,
+#endif
+    afterPlacesSidebarShowErrorMessage      ,
+    genClosure_PlacesSidebarShowErrorMessage,
+    mk_PlacesSidebarShowErrorMessageCallback,
+    noPlacesSidebarShowErrorMessageCallback ,
+    onPlacesSidebarShowErrorMessage         ,
+    wrap_PlacesSidebarShowErrorMessageCallback,
+
+
+-- ** showOtherLocations #signal:showOtherLocations#
+
+    C_PlacesSidebarShowOtherLocationsCallback,
+    PlacesSidebarShowOtherLocationsCallback ,
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowOtherLocationsSignalInfo,
+#endif
+    afterPlacesSidebarShowOtherLocations    ,
+    genClosure_PlacesSidebarShowOtherLocations,
+    mk_PlacesSidebarShowOtherLocationsCallback,
+    noPlacesSidebarShowOtherLocationsCallback,
+    onPlacesSidebarShowOtherLocations       ,
+    wrap_PlacesSidebarShowOtherLocationsCallback,
+
+
+-- ** showOtherLocationsWithFlags #signal:showOtherLocationsWithFlags#
+
+    C_PlacesSidebarShowOtherLocationsWithFlagsCallback,
+    PlacesSidebarShowOtherLocationsWithFlagsCallback,
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowOtherLocationsWithFlagsSignalInfo,
+#endif
+    afterPlacesSidebarShowOtherLocationsWithFlags,
+    genClosure_PlacesSidebarShowOtherLocationsWithFlags,
+    mk_PlacesSidebarShowOtherLocationsWithFlagsCallback,
+    noPlacesSidebarShowOtherLocationsWithFlagsCallback,
+    onPlacesSidebarShowOtherLocationsWithFlags,
+    wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback,
+
+
+-- ** showStarredLocation #signal:showStarredLocation#
+
+    C_PlacesSidebarShowStarredLocationCallback,
+    PlacesSidebarShowStarredLocationCallback,
+#if ENABLE_OVERLOADING
+    PlacesSidebarShowStarredLocationSignalInfo,
+#endif
+    afterPlacesSidebarShowStarredLocation   ,
+    genClosure_PlacesSidebarShowStarredLocation,
+    mk_PlacesSidebarShowStarredLocationCallback,
+    noPlacesSidebarShowStarredLocationCallback,
+    onPlacesSidebarShowStarredLocation      ,
+    wrap_PlacesSidebarShowStarredLocationCallback,
+
+
+-- ** unmount #signal:unmount#
+
+    C_PlacesSidebarUnmountCallback          ,
+    PlacesSidebarUnmountCallback            ,
+#if ENABLE_OVERLOADING
+    PlacesSidebarUnmountSignalInfo          ,
+#endif
+    afterPlacesSidebarUnmount               ,
+    genClosure_PlacesSidebarUnmount         ,
+    mk_PlacesSidebarUnmountCallback         ,
+    noPlacesSidebarUnmountCallback          ,
+    onPlacesSidebarUnmount                  ,
+    wrap_PlacesSidebarUnmountCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.DragContext as Gdk.DragContext
+import qualified GI.Gio.Interfaces.File as Gio.File
+import qualified GI.Gio.Interfaces.Volume as Gio.Volume
+import qualified GI.Gio.Objects.MountOperation as Gio.MountOperation
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ScrolledWindow as Gtk.ScrolledWindow
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype PlacesSidebar = PlacesSidebar (ManagedPtr PlacesSidebar)
+foreign import ccall "gtk_places_sidebar_get_type"
+    c_gtk_places_sidebar_get_type :: IO GType
+
+instance GObject PlacesSidebar where
+    gobjectType = c_gtk_places_sidebar_get_type
+    
+
+-- | Type class for types which can be safely cast to `PlacesSidebar`, for instance with `toPlacesSidebar`.
+class (GObject o, O.IsDescendantOf PlacesSidebar o) => IsPlacesSidebar o
+instance (GObject o, O.IsDescendantOf PlacesSidebar o) => IsPlacesSidebar o
+
+instance O.HasParentTypes PlacesSidebar
+type instance O.ParentTypes PlacesSidebar = '[Gtk.ScrolledWindow.ScrolledWindow, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `PlacesSidebar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPlacesSidebar :: (MonadIO m, IsPlacesSidebar o) => o -> m PlacesSidebar
+toPlacesSidebar = liftIO . unsafeCastTo PlacesSidebar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PlacesSidebar`.
+noPlacesSidebar :: Maybe PlacesSidebar
+noPlacesSidebar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePlacesSidebarMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePlacesSidebarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolvePlacesSidebarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolvePlacesSidebarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolvePlacesSidebarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolvePlacesSidebarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolvePlacesSidebarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolvePlacesSidebarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolvePlacesSidebarMethod "addShortcut" o = PlacesSidebarAddShortcutMethodInfo
+    ResolvePlacesSidebarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolvePlacesSidebarMethod "addWithViewport" o = Gtk.ScrolledWindow.ScrolledWindowAddWithViewportMethodInfo
+    ResolvePlacesSidebarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePlacesSidebarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePlacesSidebarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolvePlacesSidebarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolvePlacesSidebarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolvePlacesSidebarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolvePlacesSidebarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolvePlacesSidebarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolvePlacesSidebarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolvePlacesSidebarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolvePlacesSidebarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolvePlacesSidebarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolvePlacesSidebarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolvePlacesSidebarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolvePlacesSidebarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolvePlacesSidebarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolvePlacesSidebarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolvePlacesSidebarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolvePlacesSidebarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolvePlacesSidebarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolvePlacesSidebarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolvePlacesSidebarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolvePlacesSidebarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolvePlacesSidebarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolvePlacesSidebarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolvePlacesSidebarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolvePlacesSidebarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolvePlacesSidebarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolvePlacesSidebarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolvePlacesSidebarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolvePlacesSidebarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolvePlacesSidebarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolvePlacesSidebarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolvePlacesSidebarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolvePlacesSidebarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolvePlacesSidebarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolvePlacesSidebarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolvePlacesSidebarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolvePlacesSidebarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolvePlacesSidebarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolvePlacesSidebarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolvePlacesSidebarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolvePlacesSidebarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolvePlacesSidebarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolvePlacesSidebarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePlacesSidebarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolvePlacesSidebarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolvePlacesSidebarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePlacesSidebarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePlacesSidebarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolvePlacesSidebarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolvePlacesSidebarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolvePlacesSidebarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolvePlacesSidebarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolvePlacesSidebarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolvePlacesSidebarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolvePlacesSidebarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolvePlacesSidebarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolvePlacesSidebarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolvePlacesSidebarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolvePlacesSidebarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolvePlacesSidebarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolvePlacesSidebarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolvePlacesSidebarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolvePlacesSidebarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolvePlacesSidebarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolvePlacesSidebarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolvePlacesSidebarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolvePlacesSidebarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolvePlacesSidebarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePlacesSidebarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolvePlacesSidebarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolvePlacesSidebarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolvePlacesSidebarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolvePlacesSidebarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolvePlacesSidebarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolvePlacesSidebarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolvePlacesSidebarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolvePlacesSidebarMethod "listShortcuts" o = PlacesSidebarListShortcutsMethodInfo
+    ResolvePlacesSidebarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolvePlacesSidebarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolvePlacesSidebarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolvePlacesSidebarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolvePlacesSidebarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolvePlacesSidebarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolvePlacesSidebarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolvePlacesSidebarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolvePlacesSidebarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolvePlacesSidebarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePlacesSidebarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePlacesSidebarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolvePlacesSidebarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolvePlacesSidebarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolvePlacesSidebarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolvePlacesSidebarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolvePlacesSidebarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolvePlacesSidebarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolvePlacesSidebarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolvePlacesSidebarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolvePlacesSidebarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolvePlacesSidebarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolvePlacesSidebarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolvePlacesSidebarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolvePlacesSidebarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolvePlacesSidebarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolvePlacesSidebarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolvePlacesSidebarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePlacesSidebarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePlacesSidebarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolvePlacesSidebarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolvePlacesSidebarMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolvePlacesSidebarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolvePlacesSidebarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolvePlacesSidebarMethod "removeShortcut" o = PlacesSidebarRemoveShortcutMethodInfo
+    ResolvePlacesSidebarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolvePlacesSidebarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolvePlacesSidebarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolvePlacesSidebarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolvePlacesSidebarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolvePlacesSidebarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolvePlacesSidebarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolvePlacesSidebarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePlacesSidebarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolvePlacesSidebarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolvePlacesSidebarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolvePlacesSidebarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolvePlacesSidebarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolvePlacesSidebarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolvePlacesSidebarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolvePlacesSidebarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolvePlacesSidebarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolvePlacesSidebarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePlacesSidebarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePlacesSidebarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolvePlacesSidebarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolvePlacesSidebarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolvePlacesSidebarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePlacesSidebarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolvePlacesSidebarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolvePlacesSidebarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolvePlacesSidebarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolvePlacesSidebarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolvePlacesSidebarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePlacesSidebarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolvePlacesSidebarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolvePlacesSidebarMethod "unsetPlacement" o = Gtk.ScrolledWindow.ScrolledWindowUnsetPlacementMethodInfo
+    ResolvePlacesSidebarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolvePlacesSidebarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePlacesSidebarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolvePlacesSidebarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolvePlacesSidebarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolvePlacesSidebarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolvePlacesSidebarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolvePlacesSidebarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolvePlacesSidebarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolvePlacesSidebarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolvePlacesSidebarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolvePlacesSidebarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolvePlacesSidebarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolvePlacesSidebarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolvePlacesSidebarMethod "getCaptureButtonPress" o = Gtk.ScrolledWindow.ScrolledWindowGetCaptureButtonPressMethodInfo
+    ResolvePlacesSidebarMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolvePlacesSidebarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolvePlacesSidebarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolvePlacesSidebarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolvePlacesSidebarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolvePlacesSidebarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolvePlacesSidebarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolvePlacesSidebarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePlacesSidebarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolvePlacesSidebarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolvePlacesSidebarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolvePlacesSidebarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolvePlacesSidebarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolvePlacesSidebarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolvePlacesSidebarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolvePlacesSidebarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolvePlacesSidebarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolvePlacesSidebarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolvePlacesSidebarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolvePlacesSidebarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolvePlacesSidebarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolvePlacesSidebarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolvePlacesSidebarMethod "getHadjustment" o = Gtk.ScrolledWindow.ScrolledWindowGetHadjustmentMethodInfo
+    ResolvePlacesSidebarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolvePlacesSidebarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolvePlacesSidebarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolvePlacesSidebarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolvePlacesSidebarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolvePlacesSidebarMethod "getHscrollbar" o = Gtk.ScrolledWindow.ScrolledWindowGetHscrollbarMethodInfo
+    ResolvePlacesSidebarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolvePlacesSidebarMethod "getKineticScrolling" o = Gtk.ScrolledWindow.ScrolledWindowGetKineticScrollingMethodInfo
+    ResolvePlacesSidebarMethod "getLocalOnly" o = PlacesSidebarGetLocalOnlyMethodInfo
+    ResolvePlacesSidebarMethod "getLocation" o = PlacesSidebarGetLocationMethodInfo
+    ResolvePlacesSidebarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolvePlacesSidebarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolvePlacesSidebarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolvePlacesSidebarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolvePlacesSidebarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolvePlacesSidebarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolvePlacesSidebarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolvePlacesSidebarMethod "getMaxContentHeight" o = Gtk.ScrolledWindow.ScrolledWindowGetMaxContentHeightMethodInfo
+    ResolvePlacesSidebarMethod "getMaxContentWidth" o = Gtk.ScrolledWindow.ScrolledWindowGetMaxContentWidthMethodInfo
+    ResolvePlacesSidebarMethod "getMinContentHeight" o = Gtk.ScrolledWindow.ScrolledWindowGetMinContentHeightMethodInfo
+    ResolvePlacesSidebarMethod "getMinContentWidth" o = Gtk.ScrolledWindow.ScrolledWindowGetMinContentWidthMethodInfo
+    ResolvePlacesSidebarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolvePlacesSidebarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolvePlacesSidebarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolvePlacesSidebarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolvePlacesSidebarMethod "getNthBookmark" o = PlacesSidebarGetNthBookmarkMethodInfo
+    ResolvePlacesSidebarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolvePlacesSidebarMethod "getOpenFlags" o = PlacesSidebarGetOpenFlagsMethodInfo
+    ResolvePlacesSidebarMethod "getOverlayScrolling" o = Gtk.ScrolledWindow.ScrolledWindowGetOverlayScrollingMethodInfo
+    ResolvePlacesSidebarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolvePlacesSidebarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolvePlacesSidebarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolvePlacesSidebarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolvePlacesSidebarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolvePlacesSidebarMethod "getPlacement" o = Gtk.ScrolledWindow.ScrolledWindowGetPlacementMethodInfo
+    ResolvePlacesSidebarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolvePlacesSidebarMethod "getPolicy" o = Gtk.ScrolledWindow.ScrolledWindowGetPolicyMethodInfo
+    ResolvePlacesSidebarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolvePlacesSidebarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolvePlacesSidebarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolvePlacesSidebarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolvePlacesSidebarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolvePlacesSidebarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolvePlacesSidebarMethod "getPropagateNaturalHeight" o = Gtk.ScrolledWindow.ScrolledWindowGetPropagateNaturalHeightMethodInfo
+    ResolvePlacesSidebarMethod "getPropagateNaturalWidth" o = Gtk.ScrolledWindow.ScrolledWindowGetPropagateNaturalWidthMethodInfo
+    ResolvePlacesSidebarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePlacesSidebarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePlacesSidebarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolvePlacesSidebarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolvePlacesSidebarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolvePlacesSidebarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolvePlacesSidebarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolvePlacesSidebarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolvePlacesSidebarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolvePlacesSidebarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolvePlacesSidebarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolvePlacesSidebarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolvePlacesSidebarMethod "getShadowType" o = Gtk.ScrolledWindow.ScrolledWindowGetShadowTypeMethodInfo
+    ResolvePlacesSidebarMethod "getShowConnectToServer" o = PlacesSidebarGetShowConnectToServerMethodInfo
+    ResolvePlacesSidebarMethod "getShowDesktop" o = PlacesSidebarGetShowDesktopMethodInfo
+    ResolvePlacesSidebarMethod "getShowEnterLocation" o = PlacesSidebarGetShowEnterLocationMethodInfo
+    ResolvePlacesSidebarMethod "getShowOtherLocations" o = PlacesSidebarGetShowOtherLocationsMethodInfo
+    ResolvePlacesSidebarMethod "getShowRecent" o = PlacesSidebarGetShowRecentMethodInfo
+    ResolvePlacesSidebarMethod "getShowStarredLocation" o = PlacesSidebarGetShowStarredLocationMethodInfo
+    ResolvePlacesSidebarMethod "getShowTrash" o = PlacesSidebarGetShowTrashMethodInfo
+    ResolvePlacesSidebarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolvePlacesSidebarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolvePlacesSidebarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolvePlacesSidebarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolvePlacesSidebarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolvePlacesSidebarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolvePlacesSidebarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolvePlacesSidebarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolvePlacesSidebarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolvePlacesSidebarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolvePlacesSidebarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolvePlacesSidebarMethod "getVadjustment" o = Gtk.ScrolledWindow.ScrolledWindowGetVadjustmentMethodInfo
+    ResolvePlacesSidebarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolvePlacesSidebarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolvePlacesSidebarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolvePlacesSidebarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolvePlacesSidebarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolvePlacesSidebarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolvePlacesSidebarMethod "getVscrollbar" o = Gtk.ScrolledWindow.ScrolledWindowGetVscrollbarMethodInfo
+    ResolvePlacesSidebarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolvePlacesSidebarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolvePlacesSidebarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolvePlacesSidebarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolvePlacesSidebarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolvePlacesSidebarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolvePlacesSidebarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolvePlacesSidebarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolvePlacesSidebarMethod "setCaptureButtonPress" o = Gtk.ScrolledWindow.ScrolledWindowSetCaptureButtonPressMethodInfo
+    ResolvePlacesSidebarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolvePlacesSidebarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolvePlacesSidebarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolvePlacesSidebarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePlacesSidebarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolvePlacesSidebarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolvePlacesSidebarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolvePlacesSidebarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolvePlacesSidebarMethod "setDropTargetsVisible" o = PlacesSidebarSetDropTargetsVisibleMethodInfo
+    ResolvePlacesSidebarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolvePlacesSidebarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolvePlacesSidebarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolvePlacesSidebarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolvePlacesSidebarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolvePlacesSidebarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolvePlacesSidebarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolvePlacesSidebarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolvePlacesSidebarMethod "setHadjustment" o = Gtk.ScrolledWindow.ScrolledWindowSetHadjustmentMethodInfo
+    ResolvePlacesSidebarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolvePlacesSidebarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolvePlacesSidebarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolvePlacesSidebarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolvePlacesSidebarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolvePlacesSidebarMethod "setKineticScrolling" o = Gtk.ScrolledWindow.ScrolledWindowSetKineticScrollingMethodInfo
+    ResolvePlacesSidebarMethod "setLocalOnly" o = PlacesSidebarSetLocalOnlyMethodInfo
+    ResolvePlacesSidebarMethod "setLocation" o = PlacesSidebarSetLocationMethodInfo
+    ResolvePlacesSidebarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolvePlacesSidebarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolvePlacesSidebarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolvePlacesSidebarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolvePlacesSidebarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolvePlacesSidebarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolvePlacesSidebarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolvePlacesSidebarMethod "setMaxContentHeight" o = Gtk.ScrolledWindow.ScrolledWindowSetMaxContentHeightMethodInfo
+    ResolvePlacesSidebarMethod "setMaxContentWidth" o = Gtk.ScrolledWindow.ScrolledWindowSetMaxContentWidthMethodInfo
+    ResolvePlacesSidebarMethod "setMinContentHeight" o = Gtk.ScrolledWindow.ScrolledWindowSetMinContentHeightMethodInfo
+    ResolvePlacesSidebarMethod "setMinContentWidth" o = Gtk.ScrolledWindow.ScrolledWindowSetMinContentWidthMethodInfo
+    ResolvePlacesSidebarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolvePlacesSidebarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolvePlacesSidebarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolvePlacesSidebarMethod "setOpenFlags" o = PlacesSidebarSetOpenFlagsMethodInfo
+    ResolvePlacesSidebarMethod "setOverlayScrolling" o = Gtk.ScrolledWindow.ScrolledWindowSetOverlayScrollingMethodInfo
+    ResolvePlacesSidebarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolvePlacesSidebarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolvePlacesSidebarMethod "setPlacement" o = Gtk.ScrolledWindow.ScrolledWindowSetPlacementMethodInfo
+    ResolvePlacesSidebarMethod "setPolicy" o = Gtk.ScrolledWindow.ScrolledWindowSetPolicyMethodInfo
+    ResolvePlacesSidebarMethod "setPropagateNaturalHeight" o = Gtk.ScrolledWindow.ScrolledWindowSetPropagateNaturalHeightMethodInfo
+    ResolvePlacesSidebarMethod "setPropagateNaturalWidth" o = Gtk.ScrolledWindow.ScrolledWindowSetPropagateNaturalWidthMethodInfo
+    ResolvePlacesSidebarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePlacesSidebarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolvePlacesSidebarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolvePlacesSidebarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolvePlacesSidebarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolvePlacesSidebarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolvePlacesSidebarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolvePlacesSidebarMethod "setShadowType" o = Gtk.ScrolledWindow.ScrolledWindowSetShadowTypeMethodInfo
+    ResolvePlacesSidebarMethod "setShowConnectToServer" o = PlacesSidebarSetShowConnectToServerMethodInfo
+    ResolvePlacesSidebarMethod "setShowDesktop" o = PlacesSidebarSetShowDesktopMethodInfo
+    ResolvePlacesSidebarMethod "setShowEnterLocation" o = PlacesSidebarSetShowEnterLocationMethodInfo
+    ResolvePlacesSidebarMethod "setShowOtherLocations" o = PlacesSidebarSetShowOtherLocationsMethodInfo
+    ResolvePlacesSidebarMethod "setShowRecent" o = PlacesSidebarSetShowRecentMethodInfo
+    ResolvePlacesSidebarMethod "setShowStarredLocation" o = PlacesSidebarSetShowStarredLocationMethodInfo
+    ResolvePlacesSidebarMethod "setShowTrash" o = PlacesSidebarSetShowTrashMethodInfo
+    ResolvePlacesSidebarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolvePlacesSidebarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolvePlacesSidebarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolvePlacesSidebarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolvePlacesSidebarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolvePlacesSidebarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolvePlacesSidebarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolvePlacesSidebarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolvePlacesSidebarMethod "setVadjustment" o = Gtk.ScrolledWindow.ScrolledWindowSetVadjustmentMethodInfo
+    ResolvePlacesSidebarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolvePlacesSidebarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolvePlacesSidebarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolvePlacesSidebarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolvePlacesSidebarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolvePlacesSidebarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolvePlacesSidebarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePlacesSidebarMethod t PlacesSidebar, O.MethodInfo info PlacesSidebar p) => OL.IsLabel t (PlacesSidebar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal PlacesSidebar::drag-action-ask
+{- |
+The places sidebar emits this signal when it needs to ask the application
+to pop up a menu to ask the user for which drag action to perform.
+
+/Since: 3.10/
+-}
+type PlacesSidebarDragActionAskCallback =
+    Int32
+    {- ^ /@actions@/: Possible drag actions that need to be asked for. -}
+    -> IO Int32
+    {- ^ __Returns:__ the final drag action that the sidebar should pass to the drag side
+of the drag-and-drop operation. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarDragActionAskCallback`@.
+noPlacesSidebarDragActionAskCallback :: Maybe PlacesSidebarDragActionAskCallback
+noPlacesSidebarDragActionAskCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarDragActionAskCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO Int32
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarDragActionAskCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarDragActionAskCallback :: C_PlacesSidebarDragActionAskCallback -> IO (FunPtr C_PlacesSidebarDragActionAskCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarDragActionAsk :: MonadIO m => PlacesSidebarDragActionAskCallback -> m (GClosure C_PlacesSidebarDragActionAskCallback)
+genClosure_PlacesSidebarDragActionAsk cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarDragActionAskCallback cb
+    mk_PlacesSidebarDragActionAskCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarDragActionAskCallback` into a `C_PlacesSidebarDragActionAskCallback`.
+wrap_PlacesSidebarDragActionAskCallback ::
+    PlacesSidebarDragActionAskCallback ->
+    C_PlacesSidebarDragActionAskCallback
+wrap_PlacesSidebarDragActionAskCallback _cb _ actions _ = do
+    result <- _cb  actions
+    return result
+
+
+{- |
+Connect a signal handler for the “@drag-action-ask@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #dragActionAsk callback
+@
+-}
+onPlacesSidebarDragActionAsk :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarDragActionAskCallback -> m SignalHandlerId
+onPlacesSidebarDragActionAsk obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarDragActionAskCallback cb
+    cb'' <- mk_PlacesSidebarDragActionAskCallback cb'
+    connectSignalFunPtr obj "drag-action-ask" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-action-ask@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #dragActionAsk callback
+@
+-}
+afterPlacesSidebarDragActionAsk :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarDragActionAskCallback -> m SignalHandlerId
+afterPlacesSidebarDragActionAsk obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarDragActionAskCallback cb
+    cb'' <- mk_PlacesSidebarDragActionAskCallback cb'
+    connectSignalFunPtr obj "drag-action-ask" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::drag-action-requested
+{- |
+When the user starts a drag-and-drop operation and the sidebar needs
+to ask the application for which drag action to perform, then the
+sidebar will emit this signal.
+
+The application can evaluate the /@context@/ for customary actions, or
+it can check the type of the files indicated by /@sourceFileList@/ against the
+possible actions for the destination /@destFile@/.
+
+The drag action to use must be the return value of the signal handler.
+
+/Since: 3.10/
+-}
+type PlacesSidebarDragActionRequestedCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: 'GI.Gdk.Objects.DragContext.DragContext' with information about the drag operation -}
+    -> Gio.File.File
+    {- ^ /@destFile@/: 'GI.Gio.Interfaces.File.File' with the tentative location that is being hovered for a drop -}
+    -> [Gio.File.File]
+    {- ^ /@sourceFileList@/: 
+  List of 'GI.Gio.Interfaces.File.File' that are being dragged -}
+    -> IO Int32
+    {- ^ __Returns:__ The drag action to use, for example, @/GDK_ACTION_COPY/@
+or @/GDK_ACTION_MOVE/@, or 0 if no action is allowed here (i.e. drops
+are not allowed in the specified /@destFile@/). -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarDragActionRequestedCallback`@.
+noPlacesSidebarDragActionRequestedCallback :: Maybe PlacesSidebarDragActionRequestedCallback
+noPlacesSidebarDragActionRequestedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarDragActionRequestedCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    Ptr Gio.File.File ->
+    Ptr (GList (Ptr Gio.File.File)) ->
+    Ptr () ->                               -- user_data
+    IO Int32
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarDragActionRequestedCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarDragActionRequestedCallback :: C_PlacesSidebarDragActionRequestedCallback -> IO (FunPtr C_PlacesSidebarDragActionRequestedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarDragActionRequested :: MonadIO m => PlacesSidebarDragActionRequestedCallback -> m (GClosure C_PlacesSidebarDragActionRequestedCallback)
+genClosure_PlacesSidebarDragActionRequested cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarDragActionRequestedCallback cb
+    mk_PlacesSidebarDragActionRequestedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarDragActionRequestedCallback` into a `C_PlacesSidebarDragActionRequestedCallback`.
+wrap_PlacesSidebarDragActionRequestedCallback ::
+    PlacesSidebarDragActionRequestedCallback ->
+    C_PlacesSidebarDragActionRequestedCallback
+wrap_PlacesSidebarDragActionRequestedCallback _cb _ context destFile sourceFileList _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    destFile' <- (newObject Gio.File.File) destFile
+    sourceFileList' <- unpackGList sourceFileList
+    sourceFileList'' <- mapM (newObject Gio.File.File) sourceFileList'
+    result <- _cb  context' destFile' sourceFileList''
+    return result
+
+
+{- |
+Connect a signal handler for the “@drag-action-requested@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #dragActionRequested callback
+@
+-}
+onPlacesSidebarDragActionRequested :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarDragActionRequestedCallback -> m SignalHandlerId
+onPlacesSidebarDragActionRequested obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarDragActionRequestedCallback cb
+    cb'' <- mk_PlacesSidebarDragActionRequestedCallback cb'
+    connectSignalFunPtr obj "drag-action-requested" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-action-requested@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #dragActionRequested callback
+@
+-}
+afterPlacesSidebarDragActionRequested :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarDragActionRequestedCallback -> m SignalHandlerId
+afterPlacesSidebarDragActionRequested obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarDragActionRequestedCallback cb
+    cb'' <- mk_PlacesSidebarDragActionRequestedCallback cb'
+    connectSignalFunPtr obj "drag-action-requested" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::drag-perform-drop
+{- |
+The places sidebar emits this signal when the user completes a
+drag-and-drop operation and one of the sidebar\'s items is the
+destination.  This item is in the /@destFile@/, and the
+/@sourceFileList@/ has the list of files that are dropped into it and
+which should be copied\/moved\/etc. based on the specified /@action@/.
+
+/Since: 3.10/
+-}
+type PlacesSidebarDragPerformDropCallback =
+    Gio.File.File
+    {- ^ /@destFile@/: Destination 'GI.Gio.Interfaces.File.File'. -}
+    -> [Gio.File.File]
+    {- ^ /@sourceFileList@/: 
+  'GI.GLib.Structs.List.List' of 'GI.Gio.Interfaces.File.File' that got dropped. -}
+    -> Int32
+    {- ^ /@action@/: Drop action to perform. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarDragPerformDropCallback`@.
+noPlacesSidebarDragPerformDropCallback :: Maybe PlacesSidebarDragPerformDropCallback
+noPlacesSidebarDragPerformDropCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarDragPerformDropCallback =
+    Ptr () ->                               -- object
+    Ptr Gio.File.File ->
+    Ptr (GList (Ptr Gio.File.File)) ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarDragPerformDropCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarDragPerformDropCallback :: C_PlacesSidebarDragPerformDropCallback -> IO (FunPtr C_PlacesSidebarDragPerformDropCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarDragPerformDrop :: MonadIO m => PlacesSidebarDragPerformDropCallback -> m (GClosure C_PlacesSidebarDragPerformDropCallback)
+genClosure_PlacesSidebarDragPerformDrop cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarDragPerformDropCallback cb
+    mk_PlacesSidebarDragPerformDropCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarDragPerformDropCallback` into a `C_PlacesSidebarDragPerformDropCallback`.
+wrap_PlacesSidebarDragPerformDropCallback ::
+    PlacesSidebarDragPerformDropCallback ->
+    C_PlacesSidebarDragPerformDropCallback
+wrap_PlacesSidebarDragPerformDropCallback _cb _ destFile sourceFileList action _ = do
+    destFile' <- (newObject Gio.File.File) destFile
+    sourceFileList' <- unpackGList sourceFileList
+    sourceFileList'' <- mapM (newObject Gio.File.File) sourceFileList'
+    _cb  destFile' sourceFileList'' action
+
+
+{- |
+Connect a signal handler for the “@drag-perform-drop@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #dragPerformDrop callback
+@
+-}
+onPlacesSidebarDragPerformDrop :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarDragPerformDropCallback -> m SignalHandlerId
+onPlacesSidebarDragPerformDrop obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarDragPerformDropCallback cb
+    cb'' <- mk_PlacesSidebarDragPerformDropCallback cb'
+    connectSignalFunPtr obj "drag-perform-drop" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-perform-drop@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #dragPerformDrop callback
+@
+-}
+afterPlacesSidebarDragPerformDrop :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarDragPerformDropCallback -> m SignalHandlerId
+afterPlacesSidebarDragPerformDrop obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarDragPerformDropCallback cb
+    cb'' <- mk_PlacesSidebarDragPerformDropCallback cb'
+    connectSignalFunPtr obj "drag-perform-drop" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::mount
+{- |
+The places sidebar emits this signal when it starts a new operation
+because the user clicked on some location that needs mounting.
+In this way the application using the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' can track the
+progress of the operation and, for example, show a notification.
+
+/Since: 3.20/
+-}
+type PlacesSidebarMountCallback =
+    Gio.MountOperation.MountOperation
+    {- ^ /@mountOperation@/: the 'GI.Gio.Objects.MountOperation.MountOperation' that is going to start. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarMountCallback`@.
+noPlacesSidebarMountCallback :: Maybe PlacesSidebarMountCallback
+noPlacesSidebarMountCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarMountCallback =
+    Ptr () ->                               -- object
+    Ptr Gio.MountOperation.MountOperation ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarMountCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarMountCallback :: C_PlacesSidebarMountCallback -> IO (FunPtr C_PlacesSidebarMountCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarMount :: MonadIO m => PlacesSidebarMountCallback -> m (GClosure C_PlacesSidebarMountCallback)
+genClosure_PlacesSidebarMount cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarMountCallback cb
+    mk_PlacesSidebarMountCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarMountCallback` into a `C_PlacesSidebarMountCallback`.
+wrap_PlacesSidebarMountCallback ::
+    PlacesSidebarMountCallback ->
+    C_PlacesSidebarMountCallback
+wrap_PlacesSidebarMountCallback _cb _ mountOperation _ = do
+    mountOperation' <- (newObject Gio.MountOperation.MountOperation) mountOperation
+    _cb  mountOperation'
+
+
+{- |
+Connect a signal handler for the “@mount@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #mount callback
+@
+-}
+onPlacesSidebarMount :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarMountCallback -> m SignalHandlerId
+onPlacesSidebarMount obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarMountCallback cb
+    cb'' <- mk_PlacesSidebarMountCallback cb'
+    connectSignalFunPtr obj "mount" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@mount@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #mount callback
+@
+-}
+afterPlacesSidebarMount :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarMountCallback -> m SignalHandlerId
+afterPlacesSidebarMount obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarMountCallback cb
+    cb'' <- mk_PlacesSidebarMountCallback cb'
+    connectSignalFunPtr obj "mount" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::open-location
+{- |
+The places sidebar emits this signal when the user selects a location
+in it.  The calling application should display the contents of that
+location; for example, a file manager should show a list of files in
+the specified location.
+
+/Since: 3.10/
+-}
+type PlacesSidebarOpenLocationCallback =
+    Gio.File.File
+    {- ^ /@location@/: 'GI.Gio.Interfaces.File.File' to which the caller should switch. -}
+    -> [Gtk.Flags.PlacesOpenFlags]
+    {- ^ /@openFlags@/: a single value from 'GI.Gtk.Flags.PlacesOpenFlags' specifying how the /@location@/ should be opened. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarOpenLocationCallback`@.
+noPlacesSidebarOpenLocationCallback :: Maybe PlacesSidebarOpenLocationCallback
+noPlacesSidebarOpenLocationCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarOpenLocationCallback =
+    Ptr () ->                               -- object
+    Ptr Gio.File.File ->
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarOpenLocationCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarOpenLocationCallback :: C_PlacesSidebarOpenLocationCallback -> IO (FunPtr C_PlacesSidebarOpenLocationCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarOpenLocation :: MonadIO m => PlacesSidebarOpenLocationCallback -> m (GClosure C_PlacesSidebarOpenLocationCallback)
+genClosure_PlacesSidebarOpenLocation cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarOpenLocationCallback cb
+    mk_PlacesSidebarOpenLocationCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarOpenLocationCallback` into a `C_PlacesSidebarOpenLocationCallback`.
+wrap_PlacesSidebarOpenLocationCallback ::
+    PlacesSidebarOpenLocationCallback ->
+    C_PlacesSidebarOpenLocationCallback
+wrap_PlacesSidebarOpenLocationCallback _cb _ location openFlags _ = do
+    location' <- (newObject Gio.File.File) location
+    let openFlags' = wordToGFlags openFlags
+    _cb  location' openFlags'
+
+
+{- |
+Connect a signal handler for the “@open-location@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #openLocation callback
+@
+-}
+onPlacesSidebarOpenLocation :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarOpenLocationCallback -> m SignalHandlerId
+onPlacesSidebarOpenLocation obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarOpenLocationCallback cb
+    cb'' <- mk_PlacesSidebarOpenLocationCallback cb'
+    connectSignalFunPtr obj "open-location" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@open-location@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #openLocation callback
+@
+-}
+afterPlacesSidebarOpenLocation :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarOpenLocationCallback -> m SignalHandlerId
+afterPlacesSidebarOpenLocation obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarOpenLocationCallback cb
+    cb'' <- mk_PlacesSidebarOpenLocationCallback cb'
+    connectSignalFunPtr obj "open-location" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::populate-popup
+{- |
+The places sidebar emits this signal when the user invokes a contextual
+popup on one of its items. In the signal handler, the application may
+add extra items to the menu as appropriate. For example, a file manager
+may want to add a \"Properties\" command to the menu.
+
+It is not necessary to store the /@selectedItem@/ for each menu item;
+during their callbacks, the application can use 'GI.Gtk.Objects.PlacesSidebar.placesSidebarGetLocation'
+to get the file to which the item refers.
+
+The /@selectedItem@/ argument may be 'Nothing' in case the selection refers to
+a volume. In this case, /@selectedVolume@/ will be non-'Nothing'. In this case,
+the calling application will have to 'GI.GObject.Objects.Object.objectRef' the /@selectedVolume@/ and
+keep it around to use it in the callback.
+
+The /@container@/ and all its contents are destroyed after the user
+dismisses the popup. The popup is re-created (and thus, this signal is
+emitted) every time the user activates the contextual menu.
+
+Before 3.18, the /@container@/ always was a 'GI.Gtk.Objects.Menu.Menu', and you were expected
+to add your items as @/GtkMenuItems/@. Since 3.18, the popup may be implemented
+as a 'GI.Gtk.Objects.Popover.Popover', in which case /@container@/ will be something else, e.g. a
+'GI.Gtk.Objects.Box.Box', to which you may add @/GtkModelButtons/@ or other widgets, such as
+@/GtkEntries/@, @/GtkSpinButtons/@, etc. If your application can deal with this
+situation, you can set 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/populate-all/@ to 'True' to request
+that this signal is emitted for populating popovers as well.
+
+/Since: 3.10/
+-}
+type PlacesSidebarPopulatePopupCallback =
+    Gtk.Widget.Widget
+    {- ^ /@container@/: a 'GI.Gtk.Objects.Menu.Menu' or another 'GI.Gtk.Objects.Container.Container' -}
+    -> Maybe Gio.File.File
+    {- ^ /@selectedItem@/: 'GI.Gio.Interfaces.File.File' with the item to which
+    the popup should refer, or 'Nothing' in the case of a /@selectedVolume@/. -}
+    -> Maybe Gio.Volume.Volume
+    {- ^ /@selectedVolume@/: 'GI.Gio.Interfaces.Volume.Volume' if the selected
+    item is a volume, or 'Nothing' if it is a file. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarPopulatePopupCallback`@.
+noPlacesSidebarPopulatePopupCallback :: Maybe PlacesSidebarPopulatePopupCallback
+noPlacesSidebarPopulatePopupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarPopulatePopupCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr Gio.File.File ->
+    Ptr Gio.Volume.Volume ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarPopulatePopupCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarPopulatePopupCallback :: C_PlacesSidebarPopulatePopupCallback -> IO (FunPtr C_PlacesSidebarPopulatePopupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarPopulatePopup :: MonadIO m => PlacesSidebarPopulatePopupCallback -> m (GClosure C_PlacesSidebarPopulatePopupCallback)
+genClosure_PlacesSidebarPopulatePopup cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarPopulatePopupCallback cb
+    mk_PlacesSidebarPopulatePopupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarPopulatePopupCallback` into a `C_PlacesSidebarPopulatePopupCallback`.
+wrap_PlacesSidebarPopulatePopupCallback ::
+    PlacesSidebarPopulatePopupCallback ->
+    C_PlacesSidebarPopulatePopupCallback
+wrap_PlacesSidebarPopulatePopupCallback _cb _ container selectedItem selectedVolume _ = do
+    container' <- (newObject Gtk.Widget.Widget) container
+    maybeSelectedItem <-
+        if selectedItem == nullPtr
+        then return Nothing
+        else do
+            selectedItem' <- (newObject Gio.File.File) selectedItem
+            return $ Just selectedItem'
+    maybeSelectedVolume <-
+        if selectedVolume == nullPtr
+        then return Nothing
+        else do
+            selectedVolume' <- (newObject Gio.Volume.Volume) selectedVolume
+            return $ Just selectedVolume'
+    _cb  container' maybeSelectedItem maybeSelectedVolume
+
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #populatePopup callback
+@
+-}
+onPlacesSidebarPopulatePopup :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarPopulatePopupCallback -> m SignalHandlerId
+onPlacesSidebarPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarPopulatePopupCallback cb
+    cb'' <- mk_PlacesSidebarPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #populatePopup callback
+@
+-}
+afterPlacesSidebarPopulatePopup :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarPopulatePopupCallback -> m SignalHandlerId
+afterPlacesSidebarPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarPopulatePopupCallback cb
+    cb'' <- mk_PlacesSidebarPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::show-connect-to-server
+{-# DEPRECATED PlacesSidebarShowConnectToServerCallback ["(Since version 3.18)","use the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-other-locations/@ signal","    to connect to network servers."] #-}
+{- |
+The places sidebar emits this signal when it needs the calling
+application to present an way to connect directly to a network server.
+For example, the application may bring up a dialog box asking for
+a URL like \"sftp:\/\/ftp.example.com\".  It is up to the application to create
+the corresponding mount by using, for example, 'GI.Gio.Interfaces.File.fileMountEnclosingVolume'.
+-}
+type PlacesSidebarShowConnectToServerCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarShowConnectToServerCallback`@.
+noPlacesSidebarShowConnectToServerCallback :: Maybe PlacesSidebarShowConnectToServerCallback
+noPlacesSidebarShowConnectToServerCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarShowConnectToServerCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarShowConnectToServerCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarShowConnectToServerCallback :: C_PlacesSidebarShowConnectToServerCallback -> IO (FunPtr C_PlacesSidebarShowConnectToServerCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarShowConnectToServer :: MonadIO m => PlacesSidebarShowConnectToServerCallback -> m (GClosure C_PlacesSidebarShowConnectToServerCallback)
+genClosure_PlacesSidebarShowConnectToServer cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowConnectToServerCallback cb
+    mk_PlacesSidebarShowConnectToServerCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarShowConnectToServerCallback` into a `C_PlacesSidebarShowConnectToServerCallback`.
+wrap_PlacesSidebarShowConnectToServerCallback ::
+    PlacesSidebarShowConnectToServerCallback ->
+    C_PlacesSidebarShowConnectToServerCallback
+wrap_PlacesSidebarShowConnectToServerCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@show-connect-to-server@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #showConnectToServer callback
+@
+-}
+onPlacesSidebarShowConnectToServer :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowConnectToServerCallback -> m SignalHandlerId
+onPlacesSidebarShowConnectToServer obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowConnectToServerCallback cb
+    cb'' <- mk_PlacesSidebarShowConnectToServerCallback cb'
+    connectSignalFunPtr obj "show-connect-to-server" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show-connect-to-server@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #showConnectToServer callback
+@
+-}
+afterPlacesSidebarShowConnectToServer :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowConnectToServerCallback -> m SignalHandlerId
+afterPlacesSidebarShowConnectToServer obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowConnectToServerCallback cb
+    cb'' <- mk_PlacesSidebarShowConnectToServerCallback cb'
+    connectSignalFunPtr obj "show-connect-to-server" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::show-enter-location
+{- |
+The places sidebar emits this signal when it needs the calling
+application to present an way to directly enter a location.
+For example, the application may bring up a dialog box asking for
+a URL like \"http:\/\/http.example.com\".
+
+/Since: 3.14/
+-}
+type PlacesSidebarShowEnterLocationCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarShowEnterLocationCallback`@.
+noPlacesSidebarShowEnterLocationCallback :: Maybe PlacesSidebarShowEnterLocationCallback
+noPlacesSidebarShowEnterLocationCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarShowEnterLocationCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarShowEnterLocationCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarShowEnterLocationCallback :: C_PlacesSidebarShowEnterLocationCallback -> IO (FunPtr C_PlacesSidebarShowEnterLocationCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarShowEnterLocation :: MonadIO m => PlacesSidebarShowEnterLocationCallback -> m (GClosure C_PlacesSidebarShowEnterLocationCallback)
+genClosure_PlacesSidebarShowEnterLocation cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowEnterLocationCallback cb
+    mk_PlacesSidebarShowEnterLocationCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarShowEnterLocationCallback` into a `C_PlacesSidebarShowEnterLocationCallback`.
+wrap_PlacesSidebarShowEnterLocationCallback ::
+    PlacesSidebarShowEnterLocationCallback ->
+    C_PlacesSidebarShowEnterLocationCallback
+wrap_PlacesSidebarShowEnterLocationCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@show-enter-location@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #showEnterLocation callback
+@
+-}
+onPlacesSidebarShowEnterLocation :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowEnterLocationCallback -> m SignalHandlerId
+onPlacesSidebarShowEnterLocation obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowEnterLocationCallback cb
+    cb'' <- mk_PlacesSidebarShowEnterLocationCallback cb'
+    connectSignalFunPtr obj "show-enter-location" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show-enter-location@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #showEnterLocation callback
+@
+-}
+afterPlacesSidebarShowEnterLocation :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowEnterLocationCallback -> m SignalHandlerId
+afterPlacesSidebarShowEnterLocation obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowEnterLocationCallback cb
+    cb'' <- mk_PlacesSidebarShowEnterLocationCallback cb'
+    connectSignalFunPtr obj "show-enter-location" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::show-error-message
+{- |
+The places sidebar emits this signal when it needs the calling
+application to present an error message.  Most of these messages
+refer to mounting or unmounting media, for example, when a drive
+cannot be started for some reason.
+
+/Since: 3.10/
+-}
+type PlacesSidebarShowErrorMessageCallback =
+    T.Text
+    {- ^ /@primary@/: primary message with a summary of the error to show. -}
+    -> T.Text
+    {- ^ /@secondary@/: secondary message with details of the error to show. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarShowErrorMessageCallback`@.
+noPlacesSidebarShowErrorMessageCallback :: Maybe PlacesSidebarShowErrorMessageCallback
+noPlacesSidebarShowErrorMessageCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarShowErrorMessageCallback =
+    Ptr () ->                               -- object
+    CString ->
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarShowErrorMessageCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarShowErrorMessageCallback :: C_PlacesSidebarShowErrorMessageCallback -> IO (FunPtr C_PlacesSidebarShowErrorMessageCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarShowErrorMessage :: MonadIO m => PlacesSidebarShowErrorMessageCallback -> m (GClosure C_PlacesSidebarShowErrorMessageCallback)
+genClosure_PlacesSidebarShowErrorMessage cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowErrorMessageCallback cb
+    mk_PlacesSidebarShowErrorMessageCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarShowErrorMessageCallback` into a `C_PlacesSidebarShowErrorMessageCallback`.
+wrap_PlacesSidebarShowErrorMessageCallback ::
+    PlacesSidebarShowErrorMessageCallback ->
+    C_PlacesSidebarShowErrorMessageCallback
+wrap_PlacesSidebarShowErrorMessageCallback _cb _ primary secondary _ = do
+    primary' <- cstringToText primary
+    secondary' <- cstringToText secondary
+    _cb  primary' secondary'
+
+
+{- |
+Connect a signal handler for the “@show-error-message@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #showErrorMessage callback
+@
+-}
+onPlacesSidebarShowErrorMessage :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowErrorMessageCallback -> m SignalHandlerId
+onPlacesSidebarShowErrorMessage obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowErrorMessageCallback cb
+    cb'' <- mk_PlacesSidebarShowErrorMessageCallback cb'
+    connectSignalFunPtr obj "show-error-message" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show-error-message@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #showErrorMessage callback
+@
+-}
+afterPlacesSidebarShowErrorMessage :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowErrorMessageCallback -> m SignalHandlerId
+afterPlacesSidebarShowErrorMessage obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowErrorMessageCallback cb
+    cb'' <- mk_PlacesSidebarShowErrorMessageCallback cb'
+    connectSignalFunPtr obj "show-error-message" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::show-other-locations
+{-# DEPRECATED PlacesSidebarShowOtherLocationsCallback ["(Since version 3.20)","use the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-other-locations-with-flags/@","which includes the open flags in order to allow the user to specify to open","in a new tab or window, in a similar way than 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@"] #-}
+{- |
+The places sidebar emits this signal when it needs the calling
+application to present a way to show other locations e.g. drives
+and network access points.
+For example, the application may bring up a page showing persistent
+volumes and discovered network addresses.
+
+/Since: 3.18/
+-}
+type PlacesSidebarShowOtherLocationsCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarShowOtherLocationsCallback`@.
+noPlacesSidebarShowOtherLocationsCallback :: Maybe PlacesSidebarShowOtherLocationsCallback
+noPlacesSidebarShowOtherLocationsCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarShowOtherLocationsCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarShowOtherLocationsCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarShowOtherLocationsCallback :: C_PlacesSidebarShowOtherLocationsCallback -> IO (FunPtr C_PlacesSidebarShowOtherLocationsCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarShowOtherLocations :: MonadIO m => PlacesSidebarShowOtherLocationsCallback -> m (GClosure C_PlacesSidebarShowOtherLocationsCallback)
+genClosure_PlacesSidebarShowOtherLocations cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowOtherLocationsCallback cb
+    mk_PlacesSidebarShowOtherLocationsCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarShowOtherLocationsCallback` into a `C_PlacesSidebarShowOtherLocationsCallback`.
+wrap_PlacesSidebarShowOtherLocationsCallback ::
+    PlacesSidebarShowOtherLocationsCallback ->
+    C_PlacesSidebarShowOtherLocationsCallback
+wrap_PlacesSidebarShowOtherLocationsCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@show-other-locations@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #showOtherLocations callback
+@
+-}
+onPlacesSidebarShowOtherLocations :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowOtherLocationsCallback -> m SignalHandlerId
+onPlacesSidebarShowOtherLocations obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowOtherLocationsCallback cb
+    cb'' <- mk_PlacesSidebarShowOtherLocationsCallback cb'
+    connectSignalFunPtr obj "show-other-locations" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show-other-locations@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #showOtherLocations callback
+@
+-}
+afterPlacesSidebarShowOtherLocations :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowOtherLocationsCallback -> m SignalHandlerId
+afterPlacesSidebarShowOtherLocations obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowOtherLocationsCallback cb
+    cb'' <- mk_PlacesSidebarShowOtherLocationsCallback cb'
+    connectSignalFunPtr obj "show-other-locations" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::show-other-locations-with-flags
+{- |
+The places sidebar emits this signal when it needs the calling
+application to present a way to show other locations e.g. drives
+and network access points.
+For example, the application may bring up a page showing persistent
+volumes and discovered network addresses.
+
+/Since: 3.20/
+-}
+type PlacesSidebarShowOtherLocationsWithFlagsCallback =
+    [Gtk.Flags.PlacesOpenFlags]
+    {- ^ /@openFlags@/: a single value from 'GI.Gtk.Flags.PlacesOpenFlags' specifying how it should be opened. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarShowOtherLocationsWithFlagsCallback`@.
+noPlacesSidebarShowOtherLocationsWithFlagsCallback :: Maybe PlacesSidebarShowOtherLocationsWithFlagsCallback
+noPlacesSidebarShowOtherLocationsWithFlagsCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarShowOtherLocationsWithFlagsCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarShowOtherLocationsWithFlagsCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarShowOtherLocationsWithFlagsCallback :: C_PlacesSidebarShowOtherLocationsWithFlagsCallback -> IO (FunPtr C_PlacesSidebarShowOtherLocationsWithFlagsCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarShowOtherLocationsWithFlags :: MonadIO m => PlacesSidebarShowOtherLocationsWithFlagsCallback -> m (GClosure C_PlacesSidebarShowOtherLocationsWithFlagsCallback)
+genClosure_PlacesSidebarShowOtherLocationsWithFlags cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback cb
+    mk_PlacesSidebarShowOtherLocationsWithFlagsCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarShowOtherLocationsWithFlagsCallback` into a `C_PlacesSidebarShowOtherLocationsWithFlagsCallback`.
+wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback ::
+    PlacesSidebarShowOtherLocationsWithFlagsCallback ->
+    C_PlacesSidebarShowOtherLocationsWithFlagsCallback
+wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback _cb _ openFlags _ = do
+    let openFlags' = wordToGFlags openFlags
+    _cb  openFlags'
+
+
+{- |
+Connect a signal handler for the “@show-other-locations-with-flags@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #showOtherLocationsWithFlags callback
+@
+-}
+onPlacesSidebarShowOtherLocationsWithFlags :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowOtherLocationsWithFlagsCallback -> m SignalHandlerId
+onPlacesSidebarShowOtherLocationsWithFlags obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback cb
+    cb'' <- mk_PlacesSidebarShowOtherLocationsWithFlagsCallback cb'
+    connectSignalFunPtr obj "show-other-locations-with-flags" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show-other-locations-with-flags@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #showOtherLocationsWithFlags callback
+@
+-}
+afterPlacesSidebarShowOtherLocationsWithFlags :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowOtherLocationsWithFlagsCallback -> m SignalHandlerId
+afterPlacesSidebarShowOtherLocationsWithFlags obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback cb
+    cb'' <- mk_PlacesSidebarShowOtherLocationsWithFlagsCallback cb'
+    connectSignalFunPtr obj "show-other-locations-with-flags" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::show-starred-location
+{- |
+The places sidebar emits this signal when it needs the calling
+application to present a way to show the starred files. In GNOME,
+starred files are implemented by setting the nao:predefined-tag-favorite
+tag in the tracker database.
+
+/Since: 3.22.26/
+-}
+type PlacesSidebarShowStarredLocationCallback =
+    [Gtk.Flags.PlacesOpenFlags]
+    {- ^ /@openFlags@/: a single value from 'GI.Gtk.Flags.PlacesOpenFlags' specifying how the
+  starred file should be opened. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarShowStarredLocationCallback`@.
+noPlacesSidebarShowStarredLocationCallback :: Maybe PlacesSidebarShowStarredLocationCallback
+noPlacesSidebarShowStarredLocationCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarShowStarredLocationCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarShowStarredLocationCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarShowStarredLocationCallback :: C_PlacesSidebarShowStarredLocationCallback -> IO (FunPtr C_PlacesSidebarShowStarredLocationCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarShowStarredLocation :: MonadIO m => PlacesSidebarShowStarredLocationCallback -> m (GClosure C_PlacesSidebarShowStarredLocationCallback)
+genClosure_PlacesSidebarShowStarredLocation cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowStarredLocationCallback cb
+    mk_PlacesSidebarShowStarredLocationCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarShowStarredLocationCallback` into a `C_PlacesSidebarShowStarredLocationCallback`.
+wrap_PlacesSidebarShowStarredLocationCallback ::
+    PlacesSidebarShowStarredLocationCallback ->
+    C_PlacesSidebarShowStarredLocationCallback
+wrap_PlacesSidebarShowStarredLocationCallback _cb _ openFlags _ = do
+    let openFlags' = wordToGFlags openFlags
+    _cb  openFlags'
+
+
+{- |
+Connect a signal handler for the “@show-starred-location@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #showStarredLocation callback
+@
+-}
+onPlacesSidebarShowStarredLocation :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowStarredLocationCallback -> m SignalHandlerId
+onPlacesSidebarShowStarredLocation obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowStarredLocationCallback cb
+    cb'' <- mk_PlacesSidebarShowStarredLocationCallback cb'
+    connectSignalFunPtr obj "show-starred-location" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show-starred-location@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #showStarredLocation callback
+@
+-}
+afterPlacesSidebarShowStarredLocation :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarShowStarredLocationCallback -> m SignalHandlerId
+afterPlacesSidebarShowStarredLocation obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarShowStarredLocationCallback cb
+    cb'' <- mk_PlacesSidebarShowStarredLocationCallback cb'
+    connectSignalFunPtr obj "show-starred-location" cb'' SignalConnectAfter
+
+
+-- signal PlacesSidebar::unmount
+{- |
+The places sidebar emits this signal when it starts a new operation
+because the user for example ejected some drive or unmounted a mount.
+In this way the application using the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' can track the
+progress of the operation and, for example, show a notification.
+
+/Since: 3.20/
+-}
+type PlacesSidebarUnmountCallback =
+    Gio.MountOperation.MountOperation
+    {- ^ /@mountOperation@/: the 'GI.Gio.Objects.MountOperation.MountOperation' that is going to start. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlacesSidebarUnmountCallback`@.
+noPlacesSidebarUnmountCallback :: Maybe PlacesSidebarUnmountCallback
+noPlacesSidebarUnmountCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlacesSidebarUnmountCallback =
+    Ptr () ->                               -- object
+    Ptr Gio.MountOperation.MountOperation ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlacesSidebarUnmountCallback`.
+foreign import ccall "wrapper"
+    mk_PlacesSidebarUnmountCallback :: C_PlacesSidebarUnmountCallback -> IO (FunPtr C_PlacesSidebarUnmountCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlacesSidebarUnmount :: MonadIO m => PlacesSidebarUnmountCallback -> m (GClosure C_PlacesSidebarUnmountCallback)
+genClosure_PlacesSidebarUnmount cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarUnmountCallback cb
+    mk_PlacesSidebarUnmountCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlacesSidebarUnmountCallback` into a `C_PlacesSidebarUnmountCallback`.
+wrap_PlacesSidebarUnmountCallback ::
+    PlacesSidebarUnmountCallback ->
+    C_PlacesSidebarUnmountCallback
+wrap_PlacesSidebarUnmountCallback _cb _ mountOperation _ = do
+    mountOperation' <- (newObject Gio.MountOperation.MountOperation) mountOperation
+    _cb  mountOperation'
+
+
+{- |
+Connect a signal handler for the “@unmount@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' placesSidebar #unmount callback
+@
+-}
+onPlacesSidebarUnmount :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarUnmountCallback -> m SignalHandlerId
+onPlacesSidebarUnmount obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarUnmountCallback cb
+    cb'' <- mk_PlacesSidebarUnmountCallback cb'
+    connectSignalFunPtr obj "unmount" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@unmount@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' placesSidebar #unmount callback
+@
+-}
+afterPlacesSidebarUnmount :: (IsPlacesSidebar a, MonadIO m) => a -> PlacesSidebarUnmountCallback -> m SignalHandlerId
+afterPlacesSidebarUnmount obj cb = liftIO $ do
+    let cb' = wrap_PlacesSidebarUnmountCallback cb
+    cb'' <- mk_PlacesSidebarUnmountCallback cb'
+    connectSignalFunPtr obj "unmount" cb'' SignalConnectAfter
+
+
+-- VVV Prop "local-only"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@local-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #localOnly
+@
+-}
+getPlacesSidebarLocalOnly :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
+getPlacesSidebarLocalOnly obj = liftIO $ B.Properties.getObjectPropertyBool obj "local-only"
+
+{- |
+Set the value of the “@local-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #localOnly 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarLocalOnly :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
+setPlacesSidebarLocalOnly obj val = liftIO $ B.Properties.setObjectPropertyBool obj "local-only" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@local-only@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarLocalOnly :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
+constructPlacesSidebarLocalOnly val = B.Properties.constructObjectPropertyBool "local-only" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarLocalOnlyPropertyInfo
+instance AttrInfo PlacesSidebarLocalOnlyPropertyInfo where
+    type AttrAllowedOps PlacesSidebarLocalOnlyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarLocalOnlyPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PlacesSidebarLocalOnlyPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarLocalOnlyPropertyInfo = Bool
+    type AttrLabel PlacesSidebarLocalOnlyPropertyInfo = "local-only"
+    type AttrOrigin PlacesSidebarLocalOnlyPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarLocalOnly
+    attrSet _ = setPlacesSidebarLocalOnly
+    attrConstruct _ = constructPlacesSidebarLocalOnly
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "location"
+   -- Type: TInterface (Name {namespace = "Gio", name = "File"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+{- |
+Get the value of the “@location@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #location
+@
+-}
+getPlacesSidebarLocation :: (MonadIO m, IsPlacesSidebar o) => o -> m (Maybe Gio.File.File)
+getPlacesSidebarLocation obj = liftIO $ B.Properties.getObjectPropertyObject obj "location" Gio.File.File
+
+{- |
+Set the value of the “@location@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #location 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarLocation :: (MonadIO m, IsPlacesSidebar o, Gio.File.IsFile a) => o -> a -> m ()
+setPlacesSidebarLocation obj val = liftIO $ B.Properties.setObjectPropertyObject obj "location" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@location@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarLocation :: (IsPlacesSidebar o, Gio.File.IsFile a) => a -> IO (GValueConstruct o)
+constructPlacesSidebarLocation val = B.Properties.constructObjectPropertyObject "location" (Just val)
+
+{- |
+Set the value of the “@location@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #location
+@
+-}
+clearPlacesSidebarLocation :: (MonadIO m, IsPlacesSidebar o) => o -> m ()
+clearPlacesSidebarLocation obj = liftIO $ B.Properties.setObjectPropertyObject obj "location" (Nothing :: Maybe Gio.File.File)
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarLocationPropertyInfo
+instance AttrInfo PlacesSidebarLocationPropertyInfo where
+    type AttrAllowedOps PlacesSidebarLocationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PlacesSidebarLocationPropertyInfo = Gio.File.IsFile
+    type AttrBaseTypeConstraint PlacesSidebarLocationPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarLocationPropertyInfo = (Maybe Gio.File.File)
+    type AttrLabel PlacesSidebarLocationPropertyInfo = "location"
+    type AttrOrigin PlacesSidebarLocationPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarLocation
+    attrSet _ = setPlacesSidebarLocation
+    attrConstruct _ = constructPlacesSidebarLocation
+    attrClear _ = clearPlacesSidebarLocation
+#endif
+
+-- VVV Prop "open-flags"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PlacesOpenFlags"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@open-flags@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #openFlags
+@
+-}
+getPlacesSidebarOpenFlags :: (MonadIO m, IsPlacesSidebar o) => o -> m [Gtk.Flags.PlacesOpenFlags]
+getPlacesSidebarOpenFlags obj = liftIO $ B.Properties.getObjectPropertyFlags obj "open-flags"
+
+{- |
+Set the value of the “@open-flags@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #openFlags 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarOpenFlags :: (MonadIO m, IsPlacesSidebar o) => o -> [Gtk.Flags.PlacesOpenFlags] -> m ()
+setPlacesSidebarOpenFlags obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "open-flags" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@open-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarOpenFlags :: (IsPlacesSidebar o) => [Gtk.Flags.PlacesOpenFlags] -> IO (GValueConstruct o)
+constructPlacesSidebarOpenFlags val = B.Properties.constructObjectPropertyFlags "open-flags" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarOpenFlagsPropertyInfo
+instance AttrInfo PlacesSidebarOpenFlagsPropertyInfo where
+    type AttrAllowedOps PlacesSidebarOpenFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarOpenFlagsPropertyInfo = (~) [Gtk.Flags.PlacesOpenFlags]
+    type AttrBaseTypeConstraint PlacesSidebarOpenFlagsPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarOpenFlagsPropertyInfo = [Gtk.Flags.PlacesOpenFlags]
+    type AttrLabel PlacesSidebarOpenFlagsPropertyInfo = "open-flags"
+    type AttrOrigin PlacesSidebarOpenFlagsPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarOpenFlags
+    attrSet _ = setPlacesSidebarOpenFlags
+    attrConstruct _ = constructPlacesSidebarOpenFlags
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "populate-all"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@populate-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #populateAll
+@
+-}
+getPlacesSidebarPopulateAll :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
+getPlacesSidebarPopulateAll obj = liftIO $ B.Properties.getObjectPropertyBool obj "populate-all"
+
+{- |
+Set the value of the “@populate-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #populateAll 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarPopulateAll :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
+setPlacesSidebarPopulateAll obj val = liftIO $ B.Properties.setObjectPropertyBool obj "populate-all" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@populate-all@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarPopulateAll :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
+constructPlacesSidebarPopulateAll val = B.Properties.constructObjectPropertyBool "populate-all" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarPopulateAllPropertyInfo
+instance AttrInfo PlacesSidebarPopulateAllPropertyInfo where
+    type AttrAllowedOps PlacesSidebarPopulateAllPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarPopulateAllPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PlacesSidebarPopulateAllPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarPopulateAllPropertyInfo = Bool
+    type AttrLabel PlacesSidebarPopulateAllPropertyInfo = "populate-all"
+    type AttrOrigin PlacesSidebarPopulateAllPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarPopulateAll
+    attrSet _ = setPlacesSidebarPopulateAll
+    attrConstruct _ = constructPlacesSidebarPopulateAll
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-connect-to-server"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-connect-to-server@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #showConnectToServer
+@
+-}
+getPlacesSidebarShowConnectToServer :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
+getPlacesSidebarShowConnectToServer obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-connect-to-server"
+
+{- |
+Set the value of the “@show-connect-to-server@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #showConnectToServer 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarShowConnectToServer :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
+setPlacesSidebarShowConnectToServer obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-connect-to-server" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-connect-to-server@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarShowConnectToServer :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
+constructPlacesSidebarShowConnectToServer val = B.Properties.constructObjectPropertyBool "show-connect-to-server" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowConnectToServerPropertyInfo
+instance AttrInfo PlacesSidebarShowConnectToServerPropertyInfo where
+    type AttrAllowedOps PlacesSidebarShowConnectToServerPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarShowConnectToServerPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PlacesSidebarShowConnectToServerPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarShowConnectToServerPropertyInfo = Bool
+    type AttrLabel PlacesSidebarShowConnectToServerPropertyInfo = "show-connect-to-server"
+    type AttrOrigin PlacesSidebarShowConnectToServerPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarShowConnectToServer
+    attrSet _ = setPlacesSidebarShowConnectToServer
+    attrConstruct _ = constructPlacesSidebarShowConnectToServer
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-desktop"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-desktop@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #showDesktop
+@
+-}
+getPlacesSidebarShowDesktop :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
+getPlacesSidebarShowDesktop obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-desktop"
+
+{- |
+Set the value of the “@show-desktop@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #showDesktop 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarShowDesktop :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
+setPlacesSidebarShowDesktop obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-desktop" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-desktop@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarShowDesktop :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
+constructPlacesSidebarShowDesktop val = B.Properties.constructObjectPropertyBool "show-desktop" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowDesktopPropertyInfo
+instance AttrInfo PlacesSidebarShowDesktopPropertyInfo where
+    type AttrAllowedOps PlacesSidebarShowDesktopPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarShowDesktopPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PlacesSidebarShowDesktopPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarShowDesktopPropertyInfo = Bool
+    type AttrLabel PlacesSidebarShowDesktopPropertyInfo = "show-desktop"
+    type AttrOrigin PlacesSidebarShowDesktopPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarShowDesktop
+    attrSet _ = setPlacesSidebarShowDesktop
+    attrConstruct _ = constructPlacesSidebarShowDesktop
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-enter-location"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-enter-location@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #showEnterLocation
+@
+-}
+getPlacesSidebarShowEnterLocation :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
+getPlacesSidebarShowEnterLocation obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-enter-location"
+
+{- |
+Set the value of the “@show-enter-location@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #showEnterLocation 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarShowEnterLocation :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
+setPlacesSidebarShowEnterLocation obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-enter-location" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-enter-location@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarShowEnterLocation :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
+constructPlacesSidebarShowEnterLocation val = B.Properties.constructObjectPropertyBool "show-enter-location" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowEnterLocationPropertyInfo
+instance AttrInfo PlacesSidebarShowEnterLocationPropertyInfo where
+    type AttrAllowedOps PlacesSidebarShowEnterLocationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarShowEnterLocationPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PlacesSidebarShowEnterLocationPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarShowEnterLocationPropertyInfo = Bool
+    type AttrLabel PlacesSidebarShowEnterLocationPropertyInfo = "show-enter-location"
+    type AttrOrigin PlacesSidebarShowEnterLocationPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarShowEnterLocation
+    attrSet _ = setPlacesSidebarShowEnterLocation
+    attrConstruct _ = constructPlacesSidebarShowEnterLocation
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-other-locations"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-other-locations@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #showOtherLocations
+@
+-}
+getPlacesSidebarShowOtherLocations :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
+getPlacesSidebarShowOtherLocations obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-other-locations"
+
+{- |
+Set the value of the “@show-other-locations@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #showOtherLocations 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarShowOtherLocations :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
+setPlacesSidebarShowOtherLocations obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-other-locations" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-other-locations@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarShowOtherLocations :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
+constructPlacesSidebarShowOtherLocations val = B.Properties.constructObjectPropertyBool "show-other-locations" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowOtherLocationsPropertyInfo
+instance AttrInfo PlacesSidebarShowOtherLocationsPropertyInfo where
+    type AttrAllowedOps PlacesSidebarShowOtherLocationsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarShowOtherLocationsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PlacesSidebarShowOtherLocationsPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarShowOtherLocationsPropertyInfo = Bool
+    type AttrLabel PlacesSidebarShowOtherLocationsPropertyInfo = "show-other-locations"
+    type AttrOrigin PlacesSidebarShowOtherLocationsPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarShowOtherLocations
+    attrSet _ = setPlacesSidebarShowOtherLocations
+    attrConstruct _ = constructPlacesSidebarShowOtherLocations
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-recent"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-recent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #showRecent
+@
+-}
+getPlacesSidebarShowRecent :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
+getPlacesSidebarShowRecent obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-recent"
+
+{- |
+Set the value of the “@show-recent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #showRecent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarShowRecent :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
+setPlacesSidebarShowRecent obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-recent" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-recent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarShowRecent :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
+constructPlacesSidebarShowRecent val = B.Properties.constructObjectPropertyBool "show-recent" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowRecentPropertyInfo
+instance AttrInfo PlacesSidebarShowRecentPropertyInfo where
+    type AttrAllowedOps PlacesSidebarShowRecentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarShowRecentPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PlacesSidebarShowRecentPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarShowRecentPropertyInfo = Bool
+    type AttrLabel PlacesSidebarShowRecentPropertyInfo = "show-recent"
+    type AttrOrigin PlacesSidebarShowRecentPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarShowRecent
+    attrSet _ = setPlacesSidebarShowRecent
+    attrConstruct _ = constructPlacesSidebarShowRecent
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-starred-location"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-starred-location@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #showStarredLocation
+@
+-}
+getPlacesSidebarShowStarredLocation :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
+getPlacesSidebarShowStarredLocation obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-starred-location"
+
+{- |
+Set the value of the “@show-starred-location@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #showStarredLocation 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarShowStarredLocation :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
+setPlacesSidebarShowStarredLocation obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-starred-location" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-starred-location@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarShowStarredLocation :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
+constructPlacesSidebarShowStarredLocation val = B.Properties.constructObjectPropertyBool "show-starred-location" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowStarredLocationPropertyInfo
+instance AttrInfo PlacesSidebarShowStarredLocationPropertyInfo where
+    type AttrAllowedOps PlacesSidebarShowStarredLocationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarShowStarredLocationPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PlacesSidebarShowStarredLocationPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarShowStarredLocationPropertyInfo = Bool
+    type AttrLabel PlacesSidebarShowStarredLocationPropertyInfo = "show-starred-location"
+    type AttrOrigin PlacesSidebarShowStarredLocationPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarShowStarredLocation
+    attrSet _ = setPlacesSidebarShowStarredLocation
+    attrConstruct _ = constructPlacesSidebarShowStarredLocation
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-trash"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-trash@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' placesSidebar #showTrash
+@
+-}
+getPlacesSidebarShowTrash :: (MonadIO m, IsPlacesSidebar o) => o -> m Bool
+getPlacesSidebarShowTrash obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-trash"
+
+{- |
+Set the value of the “@show-trash@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' placesSidebar [ #showTrash 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPlacesSidebarShowTrash :: (MonadIO m, IsPlacesSidebar o) => o -> Bool -> m ()
+setPlacesSidebarShowTrash obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-trash" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-trash@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPlacesSidebarShowTrash :: (IsPlacesSidebar o) => Bool -> IO (GValueConstruct o)
+constructPlacesSidebarShowTrash val = B.Properties.constructObjectPropertyBool "show-trash" val
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowTrashPropertyInfo
+instance AttrInfo PlacesSidebarShowTrashPropertyInfo where
+    type AttrAllowedOps PlacesSidebarShowTrashPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PlacesSidebarShowTrashPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PlacesSidebarShowTrashPropertyInfo = IsPlacesSidebar
+    type AttrGetType PlacesSidebarShowTrashPropertyInfo = Bool
+    type AttrLabel PlacesSidebarShowTrashPropertyInfo = "show-trash"
+    type AttrOrigin PlacesSidebarShowTrashPropertyInfo = PlacesSidebar
+    attrGet _ = getPlacesSidebarShowTrash
+    attrSet _ = setPlacesSidebarShowTrash
+    attrConstruct _ = constructPlacesSidebarShowTrash
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PlacesSidebar
+type instance O.AttributeList PlacesSidebar = PlacesSidebarAttributeList
+type PlacesSidebarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", Gtk.ScrolledWindow.ScrolledWindowHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hscrollbarPolicy", Gtk.ScrolledWindow.ScrolledWindowHscrollbarPolicyPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("kineticScrolling", Gtk.ScrolledWindow.ScrolledWindowKineticScrollingPropertyInfo), '("localOnly", PlacesSidebarLocalOnlyPropertyInfo), '("location", PlacesSidebarLocationPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxContentHeight", Gtk.ScrolledWindow.ScrolledWindowMaxContentHeightPropertyInfo), '("maxContentWidth", Gtk.ScrolledWindow.ScrolledWindowMaxContentWidthPropertyInfo), '("minContentHeight", Gtk.ScrolledWindow.ScrolledWindowMinContentHeightPropertyInfo), '("minContentWidth", Gtk.ScrolledWindow.ScrolledWindowMinContentWidthPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("openFlags", PlacesSidebarOpenFlagsPropertyInfo), '("overlayScrolling", Gtk.ScrolledWindow.ScrolledWindowOverlayScrollingPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("populateAll", PlacesSidebarPopulateAllPropertyInfo), '("propagateNaturalHeight", Gtk.ScrolledWindow.ScrolledWindowPropagateNaturalHeightPropertyInfo), '("propagateNaturalWidth", Gtk.ScrolledWindow.ScrolledWindowPropagateNaturalWidthPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", Gtk.ScrolledWindow.ScrolledWindowShadowTypePropertyInfo), '("showConnectToServer", PlacesSidebarShowConnectToServerPropertyInfo), '("showDesktop", PlacesSidebarShowDesktopPropertyInfo), '("showEnterLocation", PlacesSidebarShowEnterLocationPropertyInfo), '("showOtherLocations", PlacesSidebarShowOtherLocationsPropertyInfo), '("showRecent", PlacesSidebarShowRecentPropertyInfo), '("showStarredLocation", PlacesSidebarShowStarredLocationPropertyInfo), '("showTrash", PlacesSidebarShowTrashPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("vadjustment", Gtk.ScrolledWindow.ScrolledWindowVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollbarPolicy", Gtk.ScrolledWindow.ScrolledWindowVscrollbarPolicyPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPlacement", Gtk.ScrolledWindow.ScrolledWindowWindowPlacementPropertyInfo), '("windowPlacementSet", Gtk.ScrolledWindow.ScrolledWindowWindowPlacementSetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+placesSidebarLocalOnly :: AttrLabelProxy "localOnly"
+placesSidebarLocalOnly = AttrLabelProxy
+
+placesSidebarLocation :: AttrLabelProxy "location"
+placesSidebarLocation = AttrLabelProxy
+
+placesSidebarOpenFlags :: AttrLabelProxy "openFlags"
+placesSidebarOpenFlags = AttrLabelProxy
+
+placesSidebarPopulateAll :: AttrLabelProxy "populateAll"
+placesSidebarPopulateAll = AttrLabelProxy
+
+placesSidebarShowConnectToServer :: AttrLabelProxy "showConnectToServer"
+placesSidebarShowConnectToServer = AttrLabelProxy
+
+placesSidebarShowDesktop :: AttrLabelProxy "showDesktop"
+placesSidebarShowDesktop = AttrLabelProxy
+
+placesSidebarShowEnterLocation :: AttrLabelProxy "showEnterLocation"
+placesSidebarShowEnterLocation = AttrLabelProxy
+
+placesSidebarShowOtherLocations :: AttrLabelProxy "showOtherLocations"
+placesSidebarShowOtherLocations = AttrLabelProxy
+
+placesSidebarShowRecent :: AttrLabelProxy "showRecent"
+placesSidebarShowRecent = AttrLabelProxy
+
+placesSidebarShowStarredLocation :: AttrLabelProxy "showStarredLocation"
+placesSidebarShowStarredLocation = AttrLabelProxy
+
+placesSidebarShowTrash :: AttrLabelProxy "showTrash"
+placesSidebarShowTrash = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarDragActionAskSignalInfo
+instance SignalInfo PlacesSidebarDragActionAskSignalInfo where
+    type HaskellCallbackType PlacesSidebarDragActionAskSignalInfo = PlacesSidebarDragActionAskCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarDragActionAskCallback cb
+        cb'' <- mk_PlacesSidebarDragActionAskCallback cb'
+        connectSignalFunPtr obj "drag-action-ask" cb'' connectMode
+
+data PlacesSidebarDragActionRequestedSignalInfo
+instance SignalInfo PlacesSidebarDragActionRequestedSignalInfo where
+    type HaskellCallbackType PlacesSidebarDragActionRequestedSignalInfo = PlacesSidebarDragActionRequestedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarDragActionRequestedCallback cb
+        cb'' <- mk_PlacesSidebarDragActionRequestedCallback cb'
+        connectSignalFunPtr obj "drag-action-requested" cb'' connectMode
+
+data PlacesSidebarDragPerformDropSignalInfo
+instance SignalInfo PlacesSidebarDragPerformDropSignalInfo where
+    type HaskellCallbackType PlacesSidebarDragPerformDropSignalInfo = PlacesSidebarDragPerformDropCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarDragPerformDropCallback cb
+        cb'' <- mk_PlacesSidebarDragPerformDropCallback cb'
+        connectSignalFunPtr obj "drag-perform-drop" cb'' connectMode
+
+data PlacesSidebarMountSignalInfo
+instance SignalInfo PlacesSidebarMountSignalInfo where
+    type HaskellCallbackType PlacesSidebarMountSignalInfo = PlacesSidebarMountCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarMountCallback cb
+        cb'' <- mk_PlacesSidebarMountCallback cb'
+        connectSignalFunPtr obj "mount" cb'' connectMode
+
+data PlacesSidebarOpenLocationSignalInfo
+instance SignalInfo PlacesSidebarOpenLocationSignalInfo where
+    type HaskellCallbackType PlacesSidebarOpenLocationSignalInfo = PlacesSidebarOpenLocationCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarOpenLocationCallback cb
+        cb'' <- mk_PlacesSidebarOpenLocationCallback cb'
+        connectSignalFunPtr obj "open-location" cb'' connectMode
+
+data PlacesSidebarPopulatePopupSignalInfo
+instance SignalInfo PlacesSidebarPopulatePopupSignalInfo where
+    type HaskellCallbackType PlacesSidebarPopulatePopupSignalInfo = PlacesSidebarPopulatePopupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarPopulatePopupCallback cb
+        cb'' <- mk_PlacesSidebarPopulatePopupCallback cb'
+        connectSignalFunPtr obj "populate-popup" cb'' connectMode
+
+data PlacesSidebarShowConnectToServerSignalInfo
+instance SignalInfo PlacesSidebarShowConnectToServerSignalInfo where
+    type HaskellCallbackType PlacesSidebarShowConnectToServerSignalInfo = PlacesSidebarShowConnectToServerCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarShowConnectToServerCallback cb
+        cb'' <- mk_PlacesSidebarShowConnectToServerCallback cb'
+        connectSignalFunPtr obj "show-connect-to-server" cb'' connectMode
+
+data PlacesSidebarShowEnterLocationSignalInfo
+instance SignalInfo PlacesSidebarShowEnterLocationSignalInfo where
+    type HaskellCallbackType PlacesSidebarShowEnterLocationSignalInfo = PlacesSidebarShowEnterLocationCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarShowEnterLocationCallback cb
+        cb'' <- mk_PlacesSidebarShowEnterLocationCallback cb'
+        connectSignalFunPtr obj "show-enter-location" cb'' connectMode
+
+data PlacesSidebarShowErrorMessageSignalInfo
+instance SignalInfo PlacesSidebarShowErrorMessageSignalInfo where
+    type HaskellCallbackType PlacesSidebarShowErrorMessageSignalInfo = PlacesSidebarShowErrorMessageCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarShowErrorMessageCallback cb
+        cb'' <- mk_PlacesSidebarShowErrorMessageCallback cb'
+        connectSignalFunPtr obj "show-error-message" cb'' connectMode
+
+data PlacesSidebarShowOtherLocationsSignalInfo
+instance SignalInfo PlacesSidebarShowOtherLocationsSignalInfo where
+    type HaskellCallbackType PlacesSidebarShowOtherLocationsSignalInfo = PlacesSidebarShowOtherLocationsCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarShowOtherLocationsCallback cb
+        cb'' <- mk_PlacesSidebarShowOtherLocationsCallback cb'
+        connectSignalFunPtr obj "show-other-locations" cb'' connectMode
+
+data PlacesSidebarShowOtherLocationsWithFlagsSignalInfo
+instance SignalInfo PlacesSidebarShowOtherLocationsWithFlagsSignalInfo where
+    type HaskellCallbackType PlacesSidebarShowOtherLocationsWithFlagsSignalInfo = PlacesSidebarShowOtherLocationsWithFlagsCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarShowOtherLocationsWithFlagsCallback cb
+        cb'' <- mk_PlacesSidebarShowOtherLocationsWithFlagsCallback cb'
+        connectSignalFunPtr obj "show-other-locations-with-flags" cb'' connectMode
+
+data PlacesSidebarShowStarredLocationSignalInfo
+instance SignalInfo PlacesSidebarShowStarredLocationSignalInfo where
+    type HaskellCallbackType PlacesSidebarShowStarredLocationSignalInfo = PlacesSidebarShowStarredLocationCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarShowStarredLocationCallback cb
+        cb'' <- mk_PlacesSidebarShowStarredLocationCallback cb'
+        connectSignalFunPtr obj "show-starred-location" cb'' connectMode
+
+data PlacesSidebarUnmountSignalInfo
+instance SignalInfo PlacesSidebarUnmountSignalInfo where
+    type HaskellCallbackType PlacesSidebarUnmountSignalInfo = PlacesSidebarUnmountCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlacesSidebarUnmountCallback cb
+        cb'' <- mk_PlacesSidebarUnmountCallback cb'
+        connectSignalFunPtr obj "unmount" cb'' connectMode
+
+type instance O.SignalList PlacesSidebar = PlacesSidebarSignalList
+type PlacesSidebarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragActionAsk", PlacesSidebarDragActionAskSignalInfo), '("dragActionRequested", PlacesSidebarDragActionRequestedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("dragPerformDrop", PlacesSidebarDragPerformDropSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("edgeOvershot", Gtk.ScrolledWindow.ScrolledWindowEdgeOvershotSignalInfo), '("edgeReached", Gtk.ScrolledWindow.ScrolledWindowEdgeReachedSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("mount", PlacesSidebarMountSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveFocusOut", Gtk.ScrolledWindow.ScrolledWindowMoveFocusOutSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("openLocation", PlacesSidebarOpenLocationSignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("populatePopup", PlacesSidebarPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollChild", Gtk.ScrolledWindow.ScrolledWindowScrollChildSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showConnectToServer", PlacesSidebarShowConnectToServerSignalInfo), '("showEnterLocation", PlacesSidebarShowEnterLocationSignalInfo), '("showErrorMessage", PlacesSidebarShowErrorMessageSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("showOtherLocations", PlacesSidebarShowOtherLocationsSignalInfo), '("showOtherLocationsWithFlags", PlacesSidebarShowOtherLocationsWithFlagsSignalInfo), '("showStarredLocation", PlacesSidebarShowStarredLocationSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unmount", PlacesSidebarUnmountSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method PlacesSidebar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_new" gtk_places_sidebar_new :: 
+    IO (Ptr PlacesSidebar)
+
+{- |
+Creates a new 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' widget.
+
+The application should connect to at least the
+'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@ signal to be notified
+when the user makes a selection in the sidebar.
+
+/Since: 3.10/
+-}
+placesSidebarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m PlacesSidebar
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' -}
+placesSidebarNew  = liftIO $ do
+    result <- gtk_places_sidebar_new
+    checkUnexpectedReturnNULL "placesSidebarNew" result
+    result' <- (newObject PlacesSidebar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PlacesSidebar::add_shortcut
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to add as an application-specific shortcut", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_add_shortcut" gtk_places_sidebar_add_shortcut :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    Ptr Gio.File.File ->                    -- location : TInterface (Name {namespace = "Gio", name = "File"})
+    IO ()
+
+{- |
+Applications may want to present some folders in the places sidebar if
+they could be immediately useful to users.  For example, a drawing
+program could add a “\/usr\/share\/clipart” location when the sidebar is
+being used in an “Insert Clipart” dialog box.
+
+This function adds the specified /@location@/ to a special place for immutable
+shortcuts.  The shortcuts are application-specific; they are not shared
+across applications, and they are not persistent.  If this function
+is called multiple times with different locations, then they are added
+to the sidebar’s list in the same order as the function is called.
+
+/Since: 3.10/
+-}
+placesSidebarAddShortcut ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> b
+    {- ^ /@location@/: location to add as an application-specific shortcut -}
+    -> m ()
+placesSidebarAddShortcut sidebar location = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    location' <- unsafeManagedPtrCastPtr location
+    gtk_places_sidebar_add_shortcut sidebar' location'
+    touchManagedPtr sidebar
+    touchManagedPtr location
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarAddShortcutMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) => O.MethodInfo PlacesSidebarAddShortcutMethodInfo a signature where
+    overloadedMethod _ = placesSidebarAddShortcut
+
+#endif
+
+-- method PlacesSidebar::get_local_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_local_only" gtk_places_sidebar_get_local_only :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO CInt
+
+{- |
+Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetLocalOnly'.
+
+/Since: 3.12/
+-}
+placesSidebarGetLocalOnly ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the sidebar will only show local files. -}
+placesSidebarGetLocalOnly sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_local_only sidebar'
+    let result' = (/= 0) result
+    touchManagedPtr sidebar
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetLocalOnlyMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetLocalOnlyMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetLocalOnly
+
+#endif
+
+-- method PlacesSidebar::get_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_location" gtk_places_sidebar_get_location :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO (Ptr Gio.File.File)
+
+{- |
+Gets the currently selected location in the /@sidebar@/. This can be 'Nothing' when
+nothing is selected, for example, when 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetLocation' has
+been called with a location that is not among the sidebar’s list of places to
+show.
+
+You can use this function to get the selection in the /@sidebar@/.  Also, if you
+connect to the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/populate-popup/@ signal, you can use this
+function to get the location that is being referred to during the callbacks
+for your menu items.
+
+/Since: 3.10/
+-}
+placesSidebarGetLocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m (Maybe Gio.File.File)
+    {- ^ __Returns:__ a 'GI.Gio.Interfaces.File.File' with the selected location, or
+'Nothing' if nothing is visually selected. -}
+placesSidebarGetLocation sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_location sidebar'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gio.File.File) result'
+        return result''
+    touchManagedPtr sidebar
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetLocationMethodInfo
+instance (signature ~ (m (Maybe Gio.File.File)), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetLocationMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetLocation
+
+#endif
+
+-- method PlacesSidebar::get_nth_bookmark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of the bookmark to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_nth_bookmark" gtk_places_sidebar_get_nth_bookmark :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    Int32 ->                                -- n : TBasicType TInt
+    IO (Ptr Gio.File.File)
+
+{- |
+This function queries the bookmarks added by the user to the places sidebar,
+and returns one of them.  This function is used by 'GI.Gtk.Interfaces.FileChooser.FileChooser' to implement
+the “Alt-1”, “Alt-2”, etc. shortcuts, which activate the cooresponding bookmark.
+
+/Since: 3.10/
+-}
+placesSidebarGetNthBookmark ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Int32
+    {- ^ /@n@/: index of the bookmark to query -}
+    -> m (Maybe Gio.File.File)
+    {- ^ __Returns:__ The bookmark specified by the index /@n@/, or
+'Nothing' if no such index exist.  Note that the indices start at 0, even though
+the file chooser starts them with the keyboard shortcut \"Alt-1\". -}
+placesSidebarGetNthBookmark sidebar n = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_nth_bookmark sidebar' n
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gio.File.File) result'
+        return result''
+    touchManagedPtr sidebar
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetNthBookmarkMethodInfo
+instance (signature ~ (Int32 -> m (Maybe Gio.File.File)), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetNthBookmarkMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetNthBookmark
+
+#endif
+
+-- method PlacesSidebar::get_open_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPlacesSidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PlacesOpenFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_open_flags" gtk_places_sidebar_get_open_flags :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO CUInt
+
+{- |
+Gets the open flags.
+
+/Since: 3.10/
+-}
+placesSidebarGetOpenFlags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar' -}
+    -> m [Gtk.Flags.PlacesOpenFlags]
+    {- ^ __Returns:__ the 'GI.Gtk.Flags.PlacesOpenFlags' of /@sidebar@/ -}
+placesSidebarGetOpenFlags sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_open_flags sidebar'
+    let result' = wordToGFlags result
+    touchManagedPtr sidebar
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetOpenFlagsMethodInfo
+instance (signature ~ (m [Gtk.Flags.PlacesOpenFlags]), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetOpenFlagsMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetOpenFlags
+
+#endif
+
+-- method PlacesSidebar::get_show_connect_to_server
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_show_connect_to_server" gtk_places_sidebar_get_show_connect_to_server :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO CInt
+
+{-# DEPRECATED placesSidebarGetShowConnectToServer ["(Since version 3.18)","It is recommended to group this functionality with the drives","    and network location under the new \\'Other Location\\' item"] #-}
+{- |
+Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowConnectToServer'
+-}
+placesSidebarGetShowConnectToServer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the sidebar will display a “Connect to Server” item. -}
+placesSidebarGetShowConnectToServer sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_show_connect_to_server sidebar'
+    let result' = (/= 0) result
+    touchManagedPtr sidebar
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowConnectToServerMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowConnectToServerMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetShowConnectToServer
+
+#endif
+
+-- method PlacesSidebar::get_show_desktop
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_show_desktop" gtk_places_sidebar_get_show_desktop :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO CInt
+
+{- |
+Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowDesktop'
+
+/Since: 3.10/
+-}
+placesSidebarGetShowDesktop ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the sidebar will display a builtin shortcut to the desktop folder. -}
+placesSidebarGetShowDesktop sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_show_desktop sidebar'
+    let result' = (/= 0) result
+    touchManagedPtr sidebar
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowDesktopMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowDesktopMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetShowDesktop
+
+#endif
+
+-- method PlacesSidebar::get_show_enter_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_show_enter_location" gtk_places_sidebar_get_show_enter_location :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO CInt
+
+{- |
+Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowEnterLocation'
+
+/Since: 3.14/
+-}
+placesSidebarGetShowEnterLocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the sidebar will display an “Enter Location” item. -}
+placesSidebarGetShowEnterLocation sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_show_enter_location sidebar'
+    let result' = (/= 0) result
+    touchManagedPtr sidebar
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowEnterLocationMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowEnterLocationMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetShowEnterLocation
+
+#endif
+
+-- method PlacesSidebar::get_show_other_locations
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_show_other_locations" gtk_places_sidebar_get_show_other_locations :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO CInt
+
+{- |
+Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowOtherLocations'
+
+/Since: 3.18/
+-}
+placesSidebarGetShowOtherLocations ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the sidebar will display an “Other Locations” item. -}
+placesSidebarGetShowOtherLocations sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_show_other_locations sidebar'
+    let result' = (/= 0) result
+    touchManagedPtr sidebar
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowOtherLocationsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowOtherLocationsMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetShowOtherLocations
+
+#endif
+
+-- method PlacesSidebar::get_show_recent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_show_recent" gtk_places_sidebar_get_show_recent :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO CInt
+
+{- |
+Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowRecent'
+
+/Since: 3.18/
+-}
+placesSidebarGetShowRecent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the sidebar will display a builtin shortcut for recent files -}
+placesSidebarGetShowRecent sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_show_recent sidebar'
+    let result' = (/= 0) result
+    touchManagedPtr sidebar
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowRecentMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowRecentMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetShowRecent
+
+#endif
+
+-- method PlacesSidebar::get_show_starred_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_show_starred_location" gtk_places_sidebar_get_show_starred_location :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO CInt
+
+{- |
+Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowStarredLocation'
+
+/Since: 3.22.26/
+-}
+placesSidebarGetShowStarredLocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the sidebar will display a Starred item. -}
+placesSidebarGetShowStarredLocation sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_show_starred_location sidebar'
+    let result' = (/= 0) result
+    touchManagedPtr sidebar
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowStarredLocationMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowStarredLocationMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetShowStarredLocation
+
+#endif
+
+-- method PlacesSidebar::get_show_trash
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_get_show_trash" gtk_places_sidebar_get_show_trash :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO CInt
+
+{- |
+Returns the value previously set with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetShowTrash'
+
+/Since: 3.18/
+-}
+placesSidebarGetShowTrash ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the sidebar will display a “Trash” item. -}
+placesSidebarGetShowTrash sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_get_show_trash sidebar'
+    let result' = (/= 0) result
+    touchManagedPtr sidebar
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowTrashMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarGetShowTrashMethodInfo a signature where
+    overloadedMethod _ = placesSidebarGetShowTrash
+
+#endif
+
+-- method PlacesSidebar::list_shortcuts
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gio", name = "File"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_list_shortcuts" gtk_places_sidebar_list_shortcuts :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    IO (Ptr (GSList (Ptr Gio.File.File)))
+
+{- |
+Gets the list of shortcuts.
+
+/Since: 3.10/
+-}
+placesSidebarListShortcuts ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> m [Gio.File.File]
+    {- ^ __Returns:__ 
+    A 'GI.GLib.Structs.SList.SList' of 'GI.Gio.Interfaces.File.File' of the locations that have been added as
+    application-specific shortcuts with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarAddShortcut'.
+    To free this list, you can use
+
+=== /C code/
+>
+>g_slist_free_full (list, (GDestroyNotify) g_object_unref);
+ -}
+placesSidebarListShortcuts sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_places_sidebar_list_shortcuts sidebar'
+    result' <- unpackGSList result
+    result'' <- mapM (wrapObject Gio.File.File) result'
+    g_slist_free result
+    touchManagedPtr sidebar
+    return result''
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarListShortcutsMethodInfo
+instance (signature ~ (m [Gio.File.File]), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarListShortcutsMethodInfo a signature where
+    overloadedMethod _ = placesSidebarListShortcuts
+
+#endif
+
+-- method PlacesSidebar::remove_shortcut
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_remove_shortcut" gtk_places_sidebar_remove_shortcut :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    Ptr Gio.File.File ->                    -- location : TInterface (Name {namespace = "Gio", name = "File"})
+    IO ()
+
+{- |
+Removes an application-specific shortcut that has been previously been
+inserted with 'GI.Gtk.Objects.PlacesSidebar.placesSidebarAddShortcut'.  If the /@location@/ is not a
+shortcut in the sidebar, then nothing is done.
+
+/Since: 3.10/
+-}
+placesSidebarRemoveShortcut ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> b
+    {- ^ /@location@/: location to remove -}
+    -> m ()
+placesSidebarRemoveShortcut sidebar location = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    location' <- unsafeManagedPtrCastPtr location
+    gtk_places_sidebar_remove_shortcut sidebar' location'
+    touchManagedPtr sidebar
+    touchManagedPtr location
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarRemoveShortcutMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) => O.MethodInfo PlacesSidebarRemoveShortcutMethodInfo a signature where
+    overloadedMethod _ = placesSidebarRemoveShortcut
+
+#endif
+
+-- method PlacesSidebar::set_drop_targets_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show the valid targets or not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "drag context used to ask the source about the action that wants to\n    perform, so hints are more accurate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_drop_targets_visible" gtk_places_sidebar_set_drop_targets_visible :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CInt ->                                 -- visible : TBasicType TBoolean
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    IO ()
+
+{- |
+Make the GtkPlacesSidebar show drop targets, so it can show the available
+drop targets and a \"new bookmark\" row. This improves the Drag-and-Drop
+experience of the user and allows applications to show all available
+drop targets at once.
+
+This needs to be called when the application is aware of an ongoing drag
+that might target the sidebar. The drop-targets-visible state will be unset
+automatically if the drag finishes in the GtkPlacesSidebar. You only need
+to unset the state when the drag ends on some other widget on your application.
+
+/Since: 3.18/
+-}
+placesSidebarSetDropTargetsVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a, Gdk.DragContext.IsDragContext b) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar. -}
+    -> Bool
+    {- ^ /@visible@/: whether to show the valid targets or not. -}
+    -> b
+    {- ^ /@context@/: drag context used to ask the source about the action that wants to
+    perform, so hints are more accurate. -}
+    -> m ()
+placesSidebarSetDropTargetsVisible sidebar visible context = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let visible' = (fromIntegral . fromEnum) visible
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_places_sidebar_set_drop_targets_visible sidebar' visible' context'
+    touchManagedPtr sidebar
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetDropTargetsVisibleMethodInfo
+instance (signature ~ (Bool -> b -> m ()), MonadIO m, IsPlacesSidebar a, Gdk.DragContext.IsDragContext b) => O.MethodInfo PlacesSidebarSetDropTargetsVisibleMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetDropTargetsVisible
+
+#endif
+
+-- method PlacesSidebar::set_local_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "local_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show only local files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_local_only" gtk_places_sidebar_set_local_only :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CInt ->                                 -- local_only : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the /@sidebar@/ should only show local files.
+
+/Since: 3.12/
+-}
+placesSidebarSetLocalOnly ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Bool
+    {- ^ /@localOnly@/: whether to show only local files -}
+    -> m ()
+placesSidebarSetLocalOnly sidebar localOnly = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let localOnly' = (fromIntegral . fromEnum) localOnly
+    gtk_places_sidebar_set_local_only sidebar' localOnly'
+    touchManagedPtr sidebar
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetLocalOnlyMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetLocalOnlyMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetLocalOnly
+
+#endif
+
+-- method PlacesSidebar::set_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "location to select, or %NULL for no current path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_location" gtk_places_sidebar_set_location :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    Ptr Gio.File.File ->                    -- location : TInterface (Name {namespace = "Gio", name = "File"})
+    IO ()
+
+{- |
+Sets the location that is being shown in the widgets surrounding the
+/@sidebar@/, for example, in a folder view in a file manager.  In turn, the
+/@sidebar@/ will highlight that location if it is being shown in the list of
+places, or it will unhighlight everything if the /@location@/ is not among the
+places in the list.
+
+/Since: 3.10/
+-}
+placesSidebarSetLocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Maybe (b)
+    {- ^ /@location@/: location to select, or 'Nothing' for no current path -}
+    -> m ()
+placesSidebarSetLocation sidebar location = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    maybeLocation <- case location of
+        Nothing -> return nullPtr
+        Just jLocation -> do
+            jLocation' <- unsafeManagedPtrCastPtr jLocation
+            return jLocation'
+    gtk_places_sidebar_set_location sidebar' maybeLocation
+    touchManagedPtr sidebar
+    whenJust location touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetLocationMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsPlacesSidebar a, Gio.File.IsFile b) => O.MethodInfo PlacesSidebarSetLocationMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetLocation
+
+#endif
+
+-- method PlacesSidebar::set_open_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "PlacesOpenFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Bitmask of modes in which the calling application can open locations", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_open_flags" gtk_places_sidebar_set_open_flags :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "PlacesOpenFlags"})
+    IO ()
+
+{- |
+Sets the way in which the calling application can open new locations from
+the places sidebar.  For example, some applications only open locations
+“directly” into their main view, while others may support opening locations
+in a new notebook tab or a new window.
+
+This function is used to tell the places /@sidebar@/ about the ways in which the
+application can open new locations, so that the sidebar can display (or not)
+the “Open in new tab” and “Open in new window” menu items as appropriate.
+
+When the 'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/open-location/@ signal is emitted, its flags
+argument will be set to one of the /@flags@/ that was passed in
+'GI.Gtk.Objects.PlacesSidebar.placesSidebarSetOpenFlags'.
+
+Passing 0 for /@flags@/ will cause @/GTK_PLACES_OPEN_NORMAL/@ to always be sent
+to callbacks for the “open-location” signal.
+
+/Since: 3.10/
+-}
+placesSidebarSetOpenFlags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> [Gtk.Flags.PlacesOpenFlags]
+    {- ^ /@flags@/: Bitmask of modes in which the calling application can open locations -}
+    -> m ()
+placesSidebarSetOpenFlags sidebar flags = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let flags' = gflagsToWord flags
+    gtk_places_sidebar_set_open_flags sidebar' flags'
+    touchManagedPtr sidebar
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetOpenFlagsMethodInfo
+instance (signature ~ ([Gtk.Flags.PlacesOpenFlags] -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetOpenFlagsMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetOpenFlags
+
+#endif
+
+-- method PlacesSidebar::set_show_connect_to_server
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_connect_to_server", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for the Connect to Server command", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_show_connect_to_server" gtk_places_sidebar_set_show_connect_to_server :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CInt ->                                 -- show_connect_to_server : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED placesSidebarSetShowConnectToServer ["(Since version 3.18)","It is recommended to group this functionality with the drives","    and network location under the new \\'Other Location\\' item"] #-}
+{- |
+Sets whether the /@sidebar@/ should show an item for connecting to a network server;
+this is off by default. An application may want to turn this on if it implements
+a way for the user to connect to network servers directly.
+
+If you enable this, you should connect to the
+'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-connect-to-server/@ signal.
+
+/Since: 3.10/
+-}
+placesSidebarSetShowConnectToServer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Bool
+    {- ^ /@showConnectToServer@/: whether to show an item for the Connect to Server command -}
+    -> m ()
+placesSidebarSetShowConnectToServer sidebar showConnectToServer = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let showConnectToServer' = (fromIntegral . fromEnum) showConnectToServer
+    gtk_places_sidebar_set_show_connect_to_server sidebar' showConnectToServer'
+    touchManagedPtr sidebar
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowConnectToServerMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowConnectToServerMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetShowConnectToServer
+
+#endif
+
+-- method PlacesSidebar::set_show_desktop
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_desktop", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for the Desktop folder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_show_desktop" gtk_places_sidebar_set_show_desktop :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CInt ->                                 -- show_desktop : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the /@sidebar@/ should show an item for the Desktop folder.
+The default value for this option is determined by the desktop
+environment and the user’s configuration, but this function can be
+used to override it on a per-application basis.
+
+/Since: 3.10/
+-}
+placesSidebarSetShowDesktop ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Bool
+    {- ^ /@showDesktop@/: whether to show an item for the Desktop folder -}
+    -> m ()
+placesSidebarSetShowDesktop sidebar showDesktop = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let showDesktop' = (fromIntegral . fromEnum) showDesktop
+    gtk_places_sidebar_set_show_desktop sidebar' showDesktop'
+    touchManagedPtr sidebar
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowDesktopMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowDesktopMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetShowDesktop
+
+#endif
+
+-- method PlacesSidebar::set_show_enter_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_enter_location", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item to enter a location", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_show_enter_location" gtk_places_sidebar_set_show_enter_location :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CInt ->                                 -- show_enter_location : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the /@sidebar@/ should show an item for entering a location;
+this is off by default. An application may want to turn this on if manually
+entering URLs is an expected user action.
+
+If you enable this, you should connect to the
+'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-enter-location/@ signal.
+
+/Since: 3.14/
+-}
+placesSidebarSetShowEnterLocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Bool
+    {- ^ /@showEnterLocation@/: whether to show an item to enter a location -}
+    -> m ()
+placesSidebarSetShowEnterLocation sidebar showEnterLocation = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let showEnterLocation' = (fromIntegral . fromEnum) showEnterLocation
+    gtk_places_sidebar_set_show_enter_location sidebar' showEnterLocation'
+    touchManagedPtr sidebar
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowEnterLocationMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowEnterLocationMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetShowEnterLocation
+
+#endif
+
+-- method PlacesSidebar::set_show_other_locations
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_other_locations", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for the Other Locations view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_show_other_locations" gtk_places_sidebar_set_show_other_locations :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CInt ->                                 -- show_other_locations : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the /@sidebar@/ should show an item for the application to show
+an Other Locations view; this is off by default. When set to 'True', persistent
+devices such as hard drives are hidden, otherwise they are shown in the sidebar.
+An application may want to turn this on if it implements a way for the user to
+see and interact with drives and network servers directly.
+
+If you enable this, you should connect to the
+'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-other-locations/@ signal.
+
+/Since: 3.18/
+-}
+placesSidebarSetShowOtherLocations ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Bool
+    {- ^ /@showOtherLocations@/: whether to show an item for the Other Locations view -}
+    -> m ()
+placesSidebarSetShowOtherLocations sidebar showOtherLocations = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let showOtherLocations' = (fromIntegral . fromEnum) showOtherLocations
+    gtk_places_sidebar_set_show_other_locations sidebar' showOtherLocations'
+    touchManagedPtr sidebar
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowOtherLocationsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowOtherLocationsMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetShowOtherLocations
+
+#endif
+
+-- method PlacesSidebar::set_show_recent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_recent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for recent files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_show_recent" gtk_places_sidebar_set_show_recent :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CInt ->                                 -- show_recent : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the /@sidebar@/ should show an item for recent files.
+The default value for this option is determined by the desktop
+environment, but this function can be used to override it on a
+per-application basis.
+
+/Since: 3.18/
+-}
+placesSidebarSetShowRecent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Bool
+    {- ^ /@showRecent@/: whether to show an item for recent files -}
+    -> m ()
+placesSidebarSetShowRecent sidebar showRecent = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let showRecent' = (fromIntegral . fromEnum) showRecent
+    gtk_places_sidebar_set_show_recent sidebar' showRecent'
+    touchManagedPtr sidebar
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowRecentMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowRecentMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetShowRecent
+
+#endif
+
+-- method PlacesSidebar::set_show_starred_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_starred_location", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for Starred files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_show_starred_location" gtk_places_sidebar_set_show_starred_location :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CInt ->                                 -- show_starred_location : TBasicType TBoolean
+    IO ()
+
+{- |
+If you enable this, you should connect to the
+'GI.Gtk.Objects.PlacesSidebar.PlacesSidebar'::@/show-starred-location/@ signal.
+
+/Since: 3.22.26/
+-}
+placesSidebarSetShowStarredLocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Bool
+    {- ^ /@showStarredLocation@/: whether to show an item for Starred files -}
+    -> m ()
+placesSidebarSetShowStarredLocation sidebar showStarredLocation = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let showStarredLocation' = (fromIntegral . fromEnum) showStarredLocation
+    gtk_places_sidebar_set_show_starred_location sidebar' showStarredLocation'
+    touchManagedPtr sidebar
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowStarredLocationMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowStarredLocationMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetShowStarredLocation
+
+#endif
+
+-- method PlacesSidebar::set_show_trash
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a places sidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_trash", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show an item for the Trash location", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_places_sidebar_set_show_trash" gtk_places_sidebar_set_show_trash :: 
+    Ptr PlacesSidebar ->                    -- sidebar : TInterface (Name {namespace = "Gtk", name = "PlacesSidebar"})
+    CInt ->                                 -- show_trash : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the /@sidebar@/ should show an item for the Trash location.
+
+/Since: 3.18/
+-}
+placesSidebarSetShowTrash ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlacesSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a places sidebar -}
+    -> Bool
+    {- ^ /@showTrash@/: whether to show an item for the Trash location -}
+    -> m ()
+placesSidebarSetShowTrash sidebar showTrash = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    let showTrash' = (fromIntegral . fromEnum) showTrash
+    gtk_places_sidebar_set_show_trash sidebar' showTrash'
+    touchManagedPtr sidebar
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowTrashMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPlacesSidebar a) => O.MethodInfo PlacesSidebarSetShowTrashMethodInfo a signature where
+    overloadedMethod _ = placesSidebarSetShowTrash
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/PlacesSidebar.hs-boot b/GI/Gtk/Objects/PlacesSidebar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PlacesSidebar.hs-boot
@@ -0,0 +1,176 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.PlacesSidebar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PlacesSidebar = PlacesSidebar (ManagedPtr PlacesSidebar)
+instance GObject PlacesSidebar where
+class (GObject o, O.IsDescendantOf PlacesSidebar o) => IsPlacesSidebar o
+instance (GObject o, O.IsDescendantOf PlacesSidebar o) => IsPlacesSidebar o
+instance O.HasParentTypes PlacesSidebar
+#if ENABLE_OVERLOADING
+data PlacesSidebarLocalOnlyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarLocationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarOpenFlagsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarPopulateAllPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowConnectToServerPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowDesktopPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowEnterLocationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowOtherLocationsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowRecentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowStarredLocationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowTrashPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarDragActionAskSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarDragActionRequestedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarDragPerformDropSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarMountSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarOpenLocationSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarPopulatePopupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowConnectToServerSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowEnterLocationSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowErrorMessageSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowOtherLocationsSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowOtherLocationsWithFlagsSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarShowStarredLocationSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarUnmountSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarAddShortcutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetLocalOnlyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetLocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetNthBookmarkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetOpenFlagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowConnectToServerMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowDesktopMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowEnterLocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowOtherLocationsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowRecentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowStarredLocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarGetShowTrashMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarListShortcutsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarRemoveShortcutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetDropTargetsVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetLocalOnlyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetLocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetOpenFlagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowConnectToServerMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowDesktopMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowEnterLocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowOtherLocationsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowRecentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowStarredLocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlacesSidebarSetShowTrashMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Plug.hs b/GI/Gtk/Objects/Plug.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Plug.hs
@@ -0,0 +1,1060 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Together with 'GI.Gtk.Objects.Socket.Socket', 'GI.Gtk.Objects.Plug.Plug' provides the ability to embed
+widgets from one process into another process in a fashion that is
+transparent to the user. One process creates a 'GI.Gtk.Objects.Socket.Socket' widget
+and passes the ID of that widget’s window to the other process,
+which then creates a 'GI.Gtk.Objects.Plug.Plug' with that window ID. Any widgets
+contained in the 'GI.Gtk.Objects.Plug.Plug' then will appear inside the first
+application’s window.
+
+The communication between a 'GI.Gtk.Objects.Socket.Socket' and a 'GI.Gtk.Objects.Plug.Plug' follows the
+<http://www.freedesktop.org/Standards/xembed-spec XEmbed Protocol>.
+This protocol has also been implemented in other toolkits, e.g. Qt,
+allowing the same level of integration when embedding a Qt widget
+in GTK+ or vice versa.
+
+The 'GI.Gtk.Objects.Plug.Plug' and 'GI.Gtk.Objects.Socket.Socket' widgets are only available when GTK+
+is compiled for the X11 platform and @/GDK_WINDOWING_X11/@ is defined.
+They can only be used on a @/GdkX11Display/@. To use 'GI.Gtk.Objects.Plug.Plug' and
+'GI.Gtk.Objects.Socket.Socket', you need to include the @gtk\/gtkx.h@ header.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Plug
+    ( 
+
+-- * Exported types
+    Plug(..)                                ,
+    IsPlug                                  ,
+    toPlug                                  ,
+    noPlug                                  ,
+
+
+ -- * Methods
+-- ** construct #method:construct#
+
+#if ENABLE_OVERLOADING
+    PlugConstructMethodInfo                 ,
+#endif
+    plugConstruct                           ,
+
+
+-- ** constructForDisplay #method:constructForDisplay#
+
+#if ENABLE_OVERLOADING
+    PlugConstructForDisplayMethodInfo       ,
+#endif
+    plugConstructForDisplay                 ,
+
+
+-- ** getEmbedded #method:getEmbedded#
+
+#if ENABLE_OVERLOADING
+    PlugGetEmbeddedMethodInfo               ,
+#endif
+    plugGetEmbedded                         ,
+
+
+-- ** getId #method:getId#
+
+#if ENABLE_OVERLOADING
+    PlugGetIdMethodInfo                     ,
+#endif
+    plugGetId                               ,
+
+
+-- ** getSocketWindow #method:getSocketWindow#
+
+#if ENABLE_OVERLOADING
+    PlugGetSocketWindowMethodInfo           ,
+#endif
+    plugGetSocketWindow                     ,
+
+
+-- ** new #method:new#
+
+    plugNew                                 ,
+
+
+-- ** newForDisplay #method:newForDisplay#
+
+    plugNewForDisplay                       ,
+
+
+
+
+ -- * Properties
+-- ** embedded #attr:embedded#
+{- | 'True' if the plug is embedded in a socket.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    PlugEmbeddedPropertyInfo                ,
+#endif
+    getPlugEmbedded                         ,
+#if ENABLE_OVERLOADING
+    plugEmbedded                            ,
+#endif
+
+
+-- ** socketWindow #attr:socketWindow#
+{- | The window of the socket the plug is embedded in.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    PlugSocketWindowPropertyInfo            ,
+#endif
+    getPlugSocketWindow                     ,
+#if ENABLE_OVERLOADING
+    plugSocketWindow                        ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** embedded #signal:embedded#
+
+    C_PlugEmbeddedCallback                  ,
+    PlugEmbeddedCallback                    ,
+#if ENABLE_OVERLOADING
+    PlugEmbeddedSignalInfo                  ,
+#endif
+    afterPlugEmbedded                       ,
+    genClosure_PlugEmbedded                 ,
+    mk_PlugEmbeddedCallback                 ,
+    noPlugEmbeddedCallback                  ,
+    onPlugEmbedded                          ,
+    wrap_PlugEmbeddedCallback               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Display as Gdk.Display
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype Plug = Plug (ManagedPtr Plug)
+foreign import ccall "gtk_plug_get_type"
+    c_gtk_plug_get_type :: IO GType
+
+instance GObject Plug where
+    gobjectType = c_gtk_plug_get_type
+    
+
+-- | Type class for types which can be safely cast to `Plug`, for instance with `toPlug`.
+class (GObject o, O.IsDescendantOf Plug o) => IsPlug o
+instance (GObject o, O.IsDescendantOf Plug o) => IsPlug o
+
+instance O.HasParentTypes Plug
+type instance O.ParentTypes Plug = '[Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Plug`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPlug :: (MonadIO m, IsPlug o) => o -> m Plug
+toPlug = liftIO . unsafeCastTo Plug
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Plug`.
+noPlug :: Maybe Plug
+noPlug = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePlugMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePlugMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolvePlugMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolvePlugMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolvePlugMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolvePlugMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolvePlugMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolvePlugMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolvePlugMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolvePlugMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolvePlugMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolvePlugMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolvePlugMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolvePlugMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolvePlugMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolvePlugMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolvePlugMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePlugMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePlugMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolvePlugMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolvePlugMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolvePlugMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolvePlugMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolvePlugMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolvePlugMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolvePlugMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolvePlugMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolvePlugMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolvePlugMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolvePlugMethod "construct" o = PlugConstructMethodInfo
+    ResolvePlugMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolvePlugMethod "constructForDisplay" o = PlugConstructForDisplayMethodInfo
+    ResolvePlugMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolvePlugMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolvePlugMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolvePlugMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolvePlugMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolvePlugMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolvePlugMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolvePlugMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolvePlugMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolvePlugMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolvePlugMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolvePlugMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolvePlugMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolvePlugMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolvePlugMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolvePlugMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolvePlugMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolvePlugMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolvePlugMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolvePlugMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolvePlugMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolvePlugMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolvePlugMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolvePlugMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolvePlugMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolvePlugMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolvePlugMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolvePlugMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolvePlugMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolvePlugMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolvePlugMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolvePlugMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolvePlugMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolvePlugMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolvePlugMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolvePlugMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolvePlugMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolvePlugMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolvePlugMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolvePlugMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolvePlugMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolvePlugMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolvePlugMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePlugMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolvePlugMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolvePlugMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePlugMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolvePlugMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolvePlugMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePlugMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolvePlugMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolvePlugMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolvePlugMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolvePlugMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolvePlugMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolvePlugMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolvePlugMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolvePlugMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolvePlugMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolvePlugMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolvePlugMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolvePlugMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolvePlugMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolvePlugMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolvePlugMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolvePlugMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolvePlugMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolvePlugMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolvePlugMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolvePlugMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolvePlugMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolvePlugMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolvePlugMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolvePlugMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePlugMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolvePlugMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolvePlugMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolvePlugMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolvePlugMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolvePlugMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolvePlugMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolvePlugMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolvePlugMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolvePlugMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolvePlugMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolvePlugMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolvePlugMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolvePlugMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolvePlugMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolvePlugMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolvePlugMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolvePlugMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolvePlugMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolvePlugMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolvePlugMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePlugMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePlugMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolvePlugMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolvePlugMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolvePlugMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolvePlugMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolvePlugMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolvePlugMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolvePlugMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolvePlugMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolvePlugMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolvePlugMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolvePlugMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolvePlugMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolvePlugMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolvePlugMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolvePlugMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolvePlugMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolvePlugMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolvePlugMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolvePlugMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolvePlugMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePlugMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePlugMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolvePlugMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolvePlugMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolvePlugMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolvePlugMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolvePlugMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolvePlugMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolvePlugMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolvePlugMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolvePlugMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolvePlugMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolvePlugMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolvePlugMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolvePlugMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolvePlugMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolvePlugMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolvePlugMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolvePlugMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolvePlugMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePlugMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolvePlugMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolvePlugMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolvePlugMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolvePlugMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolvePlugMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolvePlugMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolvePlugMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolvePlugMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolvePlugMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePlugMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePlugMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolvePlugMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolvePlugMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolvePlugMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolvePlugMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePlugMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolvePlugMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolvePlugMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolvePlugMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolvePlugMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolvePlugMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolvePlugMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolvePlugMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePlugMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolvePlugMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolvePlugMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolvePlugMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolvePlugMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePlugMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolvePlugMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolvePlugMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolvePlugMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolvePlugMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolvePlugMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolvePlugMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolvePlugMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolvePlugMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolvePlugMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolvePlugMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolvePlugMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolvePlugMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolvePlugMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolvePlugMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolvePlugMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolvePlugMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolvePlugMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolvePlugMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolvePlugMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolvePlugMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolvePlugMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolvePlugMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePlugMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolvePlugMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolvePlugMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolvePlugMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolvePlugMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolvePlugMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolvePlugMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolvePlugMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolvePlugMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolvePlugMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolvePlugMethod "getEmbedded" o = PlugGetEmbeddedMethodInfo
+    ResolvePlugMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolvePlugMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolvePlugMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolvePlugMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolvePlugMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolvePlugMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolvePlugMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolvePlugMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolvePlugMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolvePlugMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolvePlugMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolvePlugMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolvePlugMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolvePlugMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolvePlugMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolvePlugMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolvePlugMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolvePlugMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolvePlugMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolvePlugMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolvePlugMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolvePlugMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolvePlugMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolvePlugMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolvePlugMethod "getId" o = PlugGetIdMethodInfo
+    ResolvePlugMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolvePlugMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolvePlugMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolvePlugMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolvePlugMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolvePlugMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolvePlugMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolvePlugMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolvePlugMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolvePlugMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolvePlugMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolvePlugMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolvePlugMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolvePlugMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolvePlugMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolvePlugMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolvePlugMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolvePlugMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolvePlugMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolvePlugMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolvePlugMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolvePlugMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolvePlugMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolvePlugMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolvePlugMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolvePlugMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolvePlugMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolvePlugMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolvePlugMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolvePlugMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePlugMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePlugMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolvePlugMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolvePlugMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolvePlugMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolvePlugMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolvePlugMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolvePlugMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolvePlugMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolvePlugMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolvePlugMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolvePlugMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolvePlugMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolvePlugMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolvePlugMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolvePlugMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolvePlugMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolvePlugMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolvePlugMethod "getSocketWindow" o = PlugGetSocketWindowMethodInfo
+    ResolvePlugMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolvePlugMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolvePlugMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolvePlugMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolvePlugMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolvePlugMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolvePlugMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolvePlugMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolvePlugMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolvePlugMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolvePlugMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolvePlugMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolvePlugMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolvePlugMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolvePlugMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolvePlugMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolvePlugMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolvePlugMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolvePlugMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolvePlugMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolvePlugMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolvePlugMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolvePlugMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolvePlugMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolvePlugMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolvePlugMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolvePlugMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolvePlugMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolvePlugMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolvePlugMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolvePlugMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolvePlugMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolvePlugMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolvePlugMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolvePlugMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolvePlugMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolvePlugMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePlugMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolvePlugMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolvePlugMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolvePlugMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolvePlugMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolvePlugMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolvePlugMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolvePlugMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolvePlugMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolvePlugMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolvePlugMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolvePlugMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolvePlugMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolvePlugMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolvePlugMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolvePlugMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolvePlugMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolvePlugMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolvePlugMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolvePlugMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolvePlugMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolvePlugMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolvePlugMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolvePlugMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolvePlugMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolvePlugMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolvePlugMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolvePlugMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolvePlugMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolvePlugMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolvePlugMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolvePlugMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolvePlugMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolvePlugMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolvePlugMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolvePlugMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolvePlugMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolvePlugMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolvePlugMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolvePlugMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolvePlugMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolvePlugMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolvePlugMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolvePlugMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolvePlugMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolvePlugMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolvePlugMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolvePlugMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolvePlugMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolvePlugMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolvePlugMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolvePlugMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolvePlugMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolvePlugMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePlugMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolvePlugMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolvePlugMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolvePlugMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolvePlugMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolvePlugMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolvePlugMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolvePlugMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolvePlugMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolvePlugMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolvePlugMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolvePlugMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolvePlugMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolvePlugMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolvePlugMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolvePlugMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolvePlugMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolvePlugMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolvePlugMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolvePlugMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolvePlugMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolvePlugMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolvePlugMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolvePlugMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolvePlugMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolvePlugMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolvePlugMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolvePlugMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolvePlugMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolvePlugMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolvePlugMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolvePlugMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolvePlugMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePlugMethod t Plug, O.MethodInfo info Plug p) => OL.IsLabel t (Plug -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Plug::embedded
+{- |
+Gets emitted when the plug becomes embedded in a socket.
+-}
+type PlugEmbeddedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PlugEmbeddedCallback`@.
+noPlugEmbeddedCallback :: Maybe PlugEmbeddedCallback
+noPlugEmbeddedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PlugEmbeddedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PlugEmbeddedCallback`.
+foreign import ccall "wrapper"
+    mk_PlugEmbeddedCallback :: C_PlugEmbeddedCallback -> IO (FunPtr C_PlugEmbeddedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PlugEmbedded :: MonadIO m => PlugEmbeddedCallback -> m (GClosure C_PlugEmbeddedCallback)
+genClosure_PlugEmbedded cb = liftIO $ do
+    let cb' = wrap_PlugEmbeddedCallback cb
+    mk_PlugEmbeddedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PlugEmbeddedCallback` into a `C_PlugEmbeddedCallback`.
+wrap_PlugEmbeddedCallback ::
+    PlugEmbeddedCallback ->
+    C_PlugEmbeddedCallback
+wrap_PlugEmbeddedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@embedded@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' plug #embedded callback
+@
+-}
+onPlugEmbedded :: (IsPlug a, MonadIO m) => a -> PlugEmbeddedCallback -> m SignalHandlerId
+onPlugEmbedded obj cb = liftIO $ do
+    let cb' = wrap_PlugEmbeddedCallback cb
+    cb'' <- mk_PlugEmbeddedCallback cb'
+    connectSignalFunPtr obj "embedded" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@embedded@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' plug #embedded callback
+@
+-}
+afterPlugEmbedded :: (IsPlug a, MonadIO m) => a -> PlugEmbeddedCallback -> m SignalHandlerId
+afterPlugEmbedded obj cb = liftIO $ do
+    let cb' = wrap_PlugEmbeddedCallback cb
+    cb'' <- mk_PlugEmbeddedCallback cb'
+    connectSignalFunPtr obj "embedded" cb'' SignalConnectAfter
+
+
+-- VVV Prop "embedded"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@embedded@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' plug #embedded
+@
+-}
+getPlugEmbedded :: (MonadIO m, IsPlug o) => o -> m Bool
+getPlugEmbedded obj = liftIO $ B.Properties.getObjectPropertyBool obj "embedded"
+
+#if ENABLE_OVERLOADING
+data PlugEmbeddedPropertyInfo
+instance AttrInfo PlugEmbeddedPropertyInfo where
+    type AttrAllowedOps PlugEmbeddedPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint PlugEmbeddedPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint PlugEmbeddedPropertyInfo = IsPlug
+    type AttrGetType PlugEmbeddedPropertyInfo = Bool
+    type AttrLabel PlugEmbeddedPropertyInfo = "embedded"
+    type AttrOrigin PlugEmbeddedPropertyInfo = Plug
+    attrGet _ = getPlugEmbedded
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "socket-window"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Window"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@socket-window@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' plug #socketWindow
+@
+-}
+getPlugSocketWindow :: (MonadIO m, IsPlug o) => o -> m (Maybe Gdk.Window.Window)
+getPlugSocketWindow obj = liftIO $ B.Properties.getObjectPropertyObject obj "socket-window" Gdk.Window.Window
+
+#if ENABLE_OVERLOADING
+data PlugSocketWindowPropertyInfo
+instance AttrInfo PlugSocketWindowPropertyInfo where
+    type AttrAllowedOps PlugSocketWindowPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PlugSocketWindowPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint PlugSocketWindowPropertyInfo = IsPlug
+    type AttrGetType PlugSocketWindowPropertyInfo = (Maybe Gdk.Window.Window)
+    type AttrLabel PlugSocketWindowPropertyInfo = "socket-window"
+    type AttrOrigin PlugSocketWindowPropertyInfo = Plug
+    attrGet _ = getPlugSocketWindow
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Plug
+type instance O.AttributeList Plug = PlugAttributeList
+type PlugAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("embedded", PlugEmbeddedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("socketWindow", PlugSocketWindowPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+plugEmbedded :: AttrLabelProxy "embedded"
+plugEmbedded = AttrLabelProxy
+
+plugSocketWindow :: AttrLabelProxy "socketWindow"
+plugSocketWindow = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data PlugEmbeddedSignalInfo
+instance SignalInfo PlugEmbeddedSignalInfo where
+    type HaskellCallbackType PlugEmbeddedSignalInfo = PlugEmbeddedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PlugEmbeddedCallback cb
+        cb'' <- mk_PlugEmbeddedCallback cb'
+        connectSignalFunPtr obj "embedded" cb'' connectMode
+
+type instance O.SignalList Plug = PlugSignalList
+type PlugSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("embedded", PlugEmbeddedSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Plug::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "socket_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the window ID of the socket, or 0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Plug"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_plug_new" gtk_plug_new :: 
+    CULong ->                               -- socket_id : TBasicType TULong
+    IO (Ptr Plug)
+
+{- |
+Creates a new plug widget inside the 'GI.Gtk.Objects.Socket.Socket' identified
+by /@socketId@/. If /@socketId@/ is 0, the plug is left “unplugged” and
+can later be plugged into a 'GI.Gtk.Objects.Socket.Socket' by  'GI.Gtk.Objects.Socket.socketAddId'.
+-}
+plugNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CULong
+    {- ^ /@socketId@/: the window ID of the socket, or 0. -}
+    -> m Plug
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Plug.Plug' widget. -}
+plugNew socketId = liftIO $ do
+    result <- gtk_plug_new socketId
+    checkUnexpectedReturnNULL "plugNew" result
+    result' <- (newObject Plug) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Plug::new_for_display
+-- method type : Constructor
+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay on which @socket_id is displayed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "socket_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the XID of the socket\8217s window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Plug"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_plug_new_for_display" gtk_plug_new_for_display :: 
+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
+    CULong ->                               -- socket_id : TBasicType TULong
+    IO (Ptr Plug)
+
+{- |
+Create a new plug widget inside the 'GI.Gtk.Objects.Socket.Socket' identified by socket_id.
+
+/Since: 2.2/
+-}
+plugNewForDisplay ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>
+    a
+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' on which /@socketId@/ is displayed -}
+    -> CULong
+    {- ^ /@socketId@/: the XID of the socket’s window. -}
+    -> m Plug
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Plug.Plug' widget. -}
+plugNewForDisplay display socketId = liftIO $ do
+    display' <- unsafeManagedPtrCastPtr display
+    result <- gtk_plug_new_for_display display' socketId
+    checkUnexpectedReturnNULL "plugNewForDisplay" result
+    result' <- (newObject Plug) result
+    touchManagedPtr display
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Plug::construct
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "plug", argType = TInterface (Name {namespace = "Gtk", name = "Plug"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPlug.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "socket_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the XID of the socket\8217s window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_plug_construct" gtk_plug_construct :: 
+    Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
+    CULong ->                               -- socket_id : TBasicType TULong
+    IO ()
+
+{- |
+Finish the initialization of /@plug@/ for a given 'GI.Gtk.Objects.Socket.Socket' identified by
+/@socketId@/. This function will generally only be used by classes deriving from 'GI.Gtk.Objects.Plug.Plug'.
+-}
+plugConstruct ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>
+    a
+    {- ^ /@plug@/: a 'GI.Gtk.Objects.Plug.Plug'. -}
+    -> CULong
+    {- ^ /@socketId@/: the XID of the socket’s window. -}
+    -> m ()
+plugConstruct plug socketId = liftIO $ do
+    plug' <- unsafeManagedPtrCastPtr plug
+    gtk_plug_construct plug' socketId
+    touchManagedPtr plug
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlugConstructMethodInfo
+instance (signature ~ (CULong -> m ()), MonadIO m, IsPlug a) => O.MethodInfo PlugConstructMethodInfo a signature where
+    overloadedMethod _ = plugConstruct
+
+#endif
+
+-- method Plug::construct_for_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "plug", argType = TInterface (Name {namespace = "Gtk", name = "Plug"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPlug.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDisplay associated with @socket_id\8217s\n     #GtkSocket.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "socket_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the XID of the socket\8217s window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_plug_construct_for_display" gtk_plug_construct_for_display :: 
+    Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
+    CULong ->                               -- socket_id : TBasicType TULong
+    IO ()
+
+{- |
+Finish the initialization of /@plug@/ for a given 'GI.Gtk.Objects.Socket.Socket' identified by
+/@socketId@/ which is currently displayed on /@display@/.
+This function will generally only be used by classes deriving from 'GI.Gtk.Objects.Plug.Plug'.
+
+/Since: 2.2/
+-}
+plugConstructForDisplay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlug a, Gdk.Display.IsDisplay b) =>
+    a
+    {- ^ /@plug@/: a 'GI.Gtk.Objects.Plug.Plug'. -}
+    -> b
+    {- ^ /@display@/: the 'GI.Gdk.Objects.Display.Display' associated with /@socketId@/’s
+     'GI.Gtk.Objects.Socket.Socket'. -}
+    -> CULong
+    {- ^ /@socketId@/: the XID of the socket’s window. -}
+    -> m ()
+plugConstructForDisplay plug display socketId = liftIO $ do
+    plug' <- unsafeManagedPtrCastPtr plug
+    display' <- unsafeManagedPtrCastPtr display
+    gtk_plug_construct_for_display plug' display' socketId
+    touchManagedPtr plug
+    touchManagedPtr display
+    return ()
+
+#if ENABLE_OVERLOADING
+data PlugConstructForDisplayMethodInfo
+instance (signature ~ (b -> CULong -> m ()), MonadIO m, IsPlug a, Gdk.Display.IsDisplay b) => O.MethodInfo PlugConstructForDisplayMethodInfo a signature where
+    overloadedMethod _ = plugConstructForDisplay
+
+#endif
+
+-- method Plug::get_embedded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "plug", argType = TInterface (Name {namespace = "Gtk", name = "Plug"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPlug", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_plug_get_embedded" gtk_plug_get_embedded :: 
+    Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
+    IO CInt
+
+{- |
+Determines whether the plug is embedded in a socket.
+
+/Since: 2.14/
+-}
+plugGetEmbedded ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>
+    a
+    {- ^ /@plug@/: a 'GI.Gtk.Objects.Plug.Plug' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the plug is embedded in a socket -}
+plugGetEmbedded plug = liftIO $ do
+    plug' <- unsafeManagedPtrCastPtr plug
+    result <- gtk_plug_get_embedded plug'
+    let result' = (/= 0) result
+    touchManagedPtr plug
+    return result'
+
+#if ENABLE_OVERLOADING
+data PlugGetEmbeddedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPlug a) => O.MethodInfo PlugGetEmbeddedMethodInfo a signature where
+    overloadedMethod _ = plugGetEmbedded
+
+#endif
+
+-- method Plug::get_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "plug", argType = TInterface (Name {namespace = "Gtk", name = "Plug"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPlug.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TULong)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_plug_get_id" gtk_plug_get_id :: 
+    Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
+    IO CULong
+
+{- |
+Gets the window ID of a 'GI.Gtk.Objects.Plug.Plug' widget, which can then
+be used to embed this window inside another window, for
+instance with 'GI.Gtk.Objects.Socket.socketAddId'.
+-}
+plugGetId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>
+    a
+    {- ^ /@plug@/: a 'GI.Gtk.Objects.Plug.Plug'. -}
+    -> m CULong
+    {- ^ __Returns:__ the window ID for the plug -}
+plugGetId plug = liftIO $ do
+    plug' <- unsafeManagedPtrCastPtr plug
+    result <- gtk_plug_get_id plug'
+    touchManagedPtr plug
+    return result
+
+#if ENABLE_OVERLOADING
+data PlugGetIdMethodInfo
+instance (signature ~ (m CULong), MonadIO m, IsPlug a) => O.MethodInfo PlugGetIdMethodInfo a signature where
+    overloadedMethod _ = plugGetId
+
+#endif
+
+-- method Plug::get_socket_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "plug", argType = TInterface (Name {namespace = "Gtk", name = "Plug"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPlug", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_plug_get_socket_window" gtk_plug_get_socket_window :: 
+    Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Retrieves the socket the plug is embedded in.
+
+/Since: 2.14/
+-}
+plugGetSocketWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>
+    a
+    {- ^ /@plug@/: a 'GI.Gtk.Objects.Plug.Plug' -}
+    -> m (Maybe Gdk.Window.Window)
+    {- ^ __Returns:__ the window of the socket, or 'Nothing' -}
+plugGetSocketWindow plug = liftIO $ do
+    plug' <- unsafeManagedPtrCastPtr plug
+    result <- gtk_plug_get_socket_window plug'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Window.Window) result'
+        return result''
+    touchManagedPtr plug
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data PlugGetSocketWindowMethodInfo
+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsPlug a) => O.MethodInfo PlugGetSocketWindowMethodInfo a signature where
+    overloadedMethod _ = plugGetSocketWindow
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Plug.hs-boot b/GI/Gtk/Objects/Plug.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Plug.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Plug where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Plug = Plug (ManagedPtr Plug)
+instance GObject Plug where
+class (GObject o, O.IsDescendantOf Plug o) => IsPlug o
+instance (GObject o, O.IsDescendantOf Plug o) => IsPlug o
+instance O.HasParentTypes Plug
+#if ENABLE_OVERLOADING
+data PlugEmbeddedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlugSocketWindowPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlugEmbeddedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlugConstructMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlugConstructForDisplayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlugGetEmbeddedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlugGetIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PlugGetSocketWindowMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Popover.hs b/GI/Gtk/Objects/Popover.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Popover.hs
@@ -0,0 +1,1984 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkPopover is a bubble-like context window, primarily meant to
+provide context-dependent information or options. Popovers are
+attached to a widget, passed at construction time on 'GI.Gtk.Objects.Popover.popoverNew',
+or updated afterwards through 'GI.Gtk.Objects.Popover.popoverSetRelativeTo', by
+default they will point to the whole widget area, although this
+behavior can be changed through 'GI.Gtk.Objects.Popover.popoverSetPointingTo'.
+
+The position of a popover relative to the widget it is attached to
+can also be changed through 'GI.Gtk.Objects.Popover.popoverSetPosition'.
+
+By default, 'GI.Gtk.Objects.Popover.Popover' performs a GTK+ grab, in order to ensure
+input events get redirected to it while it is shown, and also so
+the popover is dismissed in the expected situations (clicks outside
+the popover, or the Esc key being pressed). If no such modal behavior
+is desired on a popover, 'GI.Gtk.Objects.Popover.popoverSetModal' may be called on it
+to tweak its behavior.
+
+== GtkPopover as menu replacement
+
+GtkPopover is often used to replace menus. To facilitate this, it
+supports being populated from a 'GI.Gio.Objects.MenuModel.MenuModel', using
+'GI.Gtk.Objects.Popover.popoverNewFromModel'. In addition to all the regular menu
+model features, this function supports rendering sections in the
+model in a more compact form, as a row of icon buttons instead of
+menu items.
+
+To use this rendering, set the ”display-hint” attribute of the
+section to ”horizontal-buttons” and set the icons of your items
+with the ”verb-icon” attribute.
+
+>
+><section>
+>  <attribute name="display-hint">horizontal-buttons</attribute>
+>  <item>
+>    <attribute name="label">Cut</attribute>
+>    <attribute name="action">app.cut</attribute>
+>    <attribute name="verb-icon">edit-cut-symbolic</attribute>
+>  </item>
+>  <item>
+>    <attribute name="label">Copy</attribute>
+>    <attribute name="action">app.copy</attribute>
+>    <attribute name="verb-icon">edit-copy-symbolic</attribute>
+>  </item>
+>  <item>
+>    <attribute name="label">Paste</attribute>
+>    <attribute name="action">app.paste</attribute>
+>    <attribute name="verb-icon">edit-paste-symbolic</attribute>
+>  </item>
+></section>
+
+
+= CSS nodes
+
+GtkPopover has a single css node called popover. It always gets the
+.background style class and it gets the .menu style class if it is
+menu-like (e.g. 'GI.Gtk.Objects.PopoverMenu.PopoverMenu' or created using 'GI.Gtk.Objects.Popover.popoverNewFromModel'.
+
+Particular uses of GtkPopover, such as touch selection popups
+or magnifiers in 'GI.Gtk.Objects.Entry.Entry' or 'GI.Gtk.Objects.TextView.TextView' get style classes
+like .touch-selection or .magnifier to differentiate from
+plain popovers.
+
+/Since: 3.12/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Popover
+    ( 
+
+-- * Exported types
+    Popover(..)                             ,
+    IsPopover                               ,
+    toPopover                               ,
+    noPopover                               ,
+
+
+ -- * Methods
+-- ** bindModel #method:bindModel#
+
+#if ENABLE_OVERLOADING
+    PopoverBindModelMethodInfo              ,
+#endif
+    popoverBindModel                        ,
+
+
+-- ** getConstrainTo #method:getConstrainTo#
+
+#if ENABLE_OVERLOADING
+    PopoverGetConstrainToMethodInfo         ,
+#endif
+    popoverGetConstrainTo                   ,
+
+
+-- ** getDefaultWidget #method:getDefaultWidget#
+
+#if ENABLE_OVERLOADING
+    PopoverGetDefaultWidgetMethodInfo       ,
+#endif
+    popoverGetDefaultWidget                 ,
+
+
+-- ** getModal #method:getModal#
+
+#if ENABLE_OVERLOADING
+    PopoverGetModalMethodInfo               ,
+#endif
+    popoverGetModal                         ,
+
+
+-- ** getPointingTo #method:getPointingTo#
+
+#if ENABLE_OVERLOADING
+    PopoverGetPointingToMethodInfo          ,
+#endif
+    popoverGetPointingTo                    ,
+
+
+-- ** getPosition #method:getPosition#
+
+#if ENABLE_OVERLOADING
+    PopoverGetPositionMethodInfo            ,
+#endif
+    popoverGetPosition                      ,
+
+
+-- ** getRelativeTo #method:getRelativeTo#
+
+#if ENABLE_OVERLOADING
+    PopoverGetRelativeToMethodInfo          ,
+#endif
+    popoverGetRelativeTo                    ,
+
+
+-- ** getTransitionsEnabled #method:getTransitionsEnabled#
+
+#if ENABLE_OVERLOADING
+    PopoverGetTransitionsEnabledMethodInfo  ,
+#endif
+    popoverGetTransitionsEnabled            ,
+
+
+-- ** new #method:new#
+
+    popoverNew                              ,
+
+
+-- ** newFromModel #method:newFromModel#
+
+    popoverNewFromModel                     ,
+
+
+-- ** popdown #method:popdown#
+
+#if ENABLE_OVERLOADING
+    PopoverPopdownMethodInfo                ,
+#endif
+    popoverPopdown                          ,
+
+
+-- ** popup #method:popup#
+
+#if ENABLE_OVERLOADING
+    PopoverPopupMethodInfo                  ,
+#endif
+    popoverPopup                            ,
+
+
+-- ** setConstrainTo #method:setConstrainTo#
+
+#if ENABLE_OVERLOADING
+    PopoverSetConstrainToMethodInfo         ,
+#endif
+    popoverSetConstrainTo                   ,
+
+
+-- ** setDefaultWidget #method:setDefaultWidget#
+
+#if ENABLE_OVERLOADING
+    PopoverSetDefaultWidgetMethodInfo       ,
+#endif
+    popoverSetDefaultWidget                 ,
+
+
+-- ** setModal #method:setModal#
+
+#if ENABLE_OVERLOADING
+    PopoverSetModalMethodInfo               ,
+#endif
+    popoverSetModal                         ,
+
+
+-- ** setPointingTo #method:setPointingTo#
+
+#if ENABLE_OVERLOADING
+    PopoverSetPointingToMethodInfo          ,
+#endif
+    popoverSetPointingTo                    ,
+
+
+-- ** setPosition #method:setPosition#
+
+#if ENABLE_OVERLOADING
+    PopoverSetPositionMethodInfo            ,
+#endif
+    popoverSetPosition                      ,
+
+
+-- ** setRelativeTo #method:setRelativeTo#
+
+#if ENABLE_OVERLOADING
+    PopoverSetRelativeToMethodInfo          ,
+#endif
+    popoverSetRelativeTo                    ,
+
+
+-- ** setTransitionsEnabled #method:setTransitionsEnabled#
+
+#if ENABLE_OVERLOADING
+    PopoverSetTransitionsEnabledMethodInfo  ,
+#endif
+    popoverSetTransitionsEnabled            ,
+
+
+
+
+ -- * Properties
+-- ** constrainTo #attr:constrainTo#
+{- | Sets a constraint for the popover position.
+
+/Since: 3.20/
+-}
+#if ENABLE_OVERLOADING
+    PopoverConstrainToPropertyInfo          ,
+#endif
+    constructPopoverConstrainTo             ,
+    getPopoverConstrainTo                   ,
+#if ENABLE_OVERLOADING
+    popoverConstrainTo                      ,
+#endif
+    setPopoverConstrainTo                   ,
+
+
+-- ** modal #attr:modal#
+{- | Sets whether the popover is modal (so other elements in the window do not
+receive input while the popover is visible).
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    PopoverModalPropertyInfo                ,
+#endif
+    constructPopoverModal                   ,
+    getPopoverModal                         ,
+#if ENABLE_OVERLOADING
+    popoverModal                            ,
+#endif
+    setPopoverModal                         ,
+
+
+-- ** pointingTo #attr:pointingTo#
+{- | Marks a specific rectangle to be pointed.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    PopoverPointingToPropertyInfo           ,
+#endif
+    constructPopoverPointingTo              ,
+    getPopoverPointingTo                    ,
+#if ENABLE_OVERLOADING
+    popoverPointingTo                       ,
+#endif
+    setPopoverPointingTo                    ,
+
+
+-- ** position #attr:position#
+{- | Sets the preferred position of the popover.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    PopoverPositionPropertyInfo             ,
+#endif
+    constructPopoverPosition                ,
+    getPopoverPosition                      ,
+#if ENABLE_OVERLOADING
+    popoverPosition                         ,
+#endif
+    setPopoverPosition                      ,
+
+
+-- ** relativeTo #attr:relativeTo#
+{- | Sets the attached widget.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    PopoverRelativeToPropertyInfo           ,
+#endif
+    clearPopoverRelativeTo                  ,
+    constructPopoverRelativeTo              ,
+    getPopoverRelativeTo                    ,
+#if ENABLE_OVERLOADING
+    popoverRelativeTo                       ,
+#endif
+    setPopoverRelativeTo                    ,
+
+
+-- ** transitionsEnabled #attr:transitionsEnabled#
+{- | Whether show\/hide transitions are enabled for this popover.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    PopoverTransitionsEnabledPropertyInfo   ,
+#endif
+    constructPopoverTransitionsEnabled      ,
+    getPopoverTransitionsEnabled            ,
+#if ENABLE_OVERLOADING
+    popoverTransitionsEnabled               ,
+#endif
+    setPopoverTransitionsEnabled            ,
+
+
+
+
+ -- * Signals
+-- ** closed #signal:closed#
+
+    C_PopoverClosedCallback                 ,
+    PopoverClosedCallback                   ,
+#if ENABLE_OVERLOADING
+    PopoverClosedSignalInfo                 ,
+#endif
+    afterPopoverClosed                      ,
+    genClosure_PopoverClosed                ,
+    mk_PopoverClosedCallback                ,
+    noPopoverClosedCallback                 ,
+    onPopoverClosed                         ,
+    wrap_PopoverClosedCallback              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Popover = Popover (ManagedPtr Popover)
+foreign import ccall "gtk_popover_get_type"
+    c_gtk_popover_get_type :: IO GType
+
+instance GObject Popover where
+    gobjectType = c_gtk_popover_get_type
+    
+
+-- | Type class for types which can be safely cast to `Popover`, for instance with `toPopover`.
+class (GObject o, O.IsDescendantOf Popover o) => IsPopover o
+instance (GObject o, O.IsDescendantOf Popover o) => IsPopover o
+
+instance O.HasParentTypes Popover
+type instance O.ParentTypes Popover = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Popover`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPopover :: (MonadIO m, IsPopover o) => o -> m Popover
+toPopover = liftIO . unsafeCastTo Popover
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Popover`.
+noPopover :: Maybe Popover
+noPopover = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePopoverMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePopoverMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolvePopoverMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolvePopoverMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolvePopoverMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolvePopoverMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolvePopoverMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolvePopoverMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolvePopoverMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolvePopoverMethod "bindModel" o = PopoverBindModelMethodInfo
+    ResolvePopoverMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePopoverMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePopoverMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolvePopoverMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolvePopoverMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolvePopoverMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolvePopoverMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolvePopoverMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolvePopoverMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolvePopoverMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolvePopoverMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolvePopoverMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolvePopoverMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolvePopoverMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolvePopoverMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolvePopoverMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolvePopoverMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolvePopoverMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolvePopoverMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolvePopoverMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolvePopoverMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolvePopoverMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolvePopoverMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolvePopoverMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolvePopoverMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolvePopoverMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolvePopoverMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolvePopoverMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolvePopoverMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolvePopoverMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolvePopoverMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolvePopoverMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolvePopoverMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolvePopoverMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolvePopoverMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolvePopoverMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolvePopoverMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolvePopoverMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolvePopoverMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolvePopoverMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolvePopoverMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolvePopoverMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolvePopoverMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolvePopoverMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolvePopoverMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolvePopoverMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolvePopoverMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolvePopoverMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolvePopoverMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolvePopoverMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolvePopoverMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolvePopoverMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolvePopoverMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolvePopoverMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolvePopoverMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePopoverMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolvePopoverMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolvePopoverMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePopoverMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePopoverMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolvePopoverMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolvePopoverMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolvePopoverMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolvePopoverMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolvePopoverMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolvePopoverMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolvePopoverMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolvePopoverMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolvePopoverMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolvePopoverMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolvePopoverMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolvePopoverMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolvePopoverMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolvePopoverMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolvePopoverMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolvePopoverMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolvePopoverMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolvePopoverMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolvePopoverMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolvePopoverMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePopoverMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolvePopoverMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolvePopoverMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolvePopoverMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolvePopoverMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolvePopoverMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolvePopoverMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolvePopoverMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolvePopoverMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolvePopoverMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolvePopoverMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolvePopoverMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolvePopoverMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolvePopoverMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolvePopoverMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolvePopoverMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolvePopoverMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolvePopoverMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePopoverMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePopoverMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolvePopoverMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolvePopoverMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolvePopoverMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolvePopoverMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolvePopoverMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolvePopoverMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolvePopoverMethod "popdown" o = PopoverPopdownMethodInfo
+    ResolvePopoverMethod "popup" o = PopoverPopupMethodInfo
+    ResolvePopoverMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolvePopoverMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolvePopoverMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolvePopoverMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolvePopoverMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolvePopoverMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolvePopoverMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolvePopoverMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolvePopoverMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolvePopoverMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePopoverMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePopoverMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolvePopoverMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolvePopoverMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolvePopoverMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolvePopoverMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolvePopoverMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolvePopoverMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolvePopoverMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolvePopoverMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolvePopoverMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolvePopoverMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolvePopoverMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolvePopoverMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePopoverMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolvePopoverMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolvePopoverMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolvePopoverMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolvePopoverMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolvePopoverMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolvePopoverMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolvePopoverMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolvePopoverMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolvePopoverMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePopoverMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePopoverMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolvePopoverMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolvePopoverMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolvePopoverMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePopoverMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolvePopoverMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolvePopoverMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolvePopoverMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolvePopoverMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolvePopoverMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePopoverMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolvePopoverMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolvePopoverMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolvePopoverMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePopoverMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolvePopoverMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolvePopoverMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolvePopoverMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolvePopoverMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolvePopoverMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolvePopoverMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolvePopoverMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolvePopoverMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolvePopoverMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolvePopoverMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolvePopoverMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolvePopoverMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolvePopoverMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolvePopoverMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolvePopoverMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolvePopoverMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolvePopoverMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolvePopoverMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolvePopoverMethod "getConstrainTo" o = PopoverGetConstrainToMethodInfo
+    ResolvePopoverMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePopoverMethod "getDefaultWidget" o = PopoverGetDefaultWidgetMethodInfo
+    ResolvePopoverMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolvePopoverMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolvePopoverMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolvePopoverMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolvePopoverMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolvePopoverMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolvePopoverMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolvePopoverMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolvePopoverMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolvePopoverMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolvePopoverMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolvePopoverMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolvePopoverMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolvePopoverMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolvePopoverMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolvePopoverMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolvePopoverMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolvePopoverMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolvePopoverMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolvePopoverMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolvePopoverMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolvePopoverMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolvePopoverMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolvePopoverMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolvePopoverMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolvePopoverMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolvePopoverMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolvePopoverMethod "getModal" o = PopoverGetModalMethodInfo
+    ResolvePopoverMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolvePopoverMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolvePopoverMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolvePopoverMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolvePopoverMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolvePopoverMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolvePopoverMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolvePopoverMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolvePopoverMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolvePopoverMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolvePopoverMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolvePopoverMethod "getPointingTo" o = PopoverGetPointingToMethodInfo
+    ResolvePopoverMethod "getPosition" o = PopoverGetPositionMethodInfo
+    ResolvePopoverMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolvePopoverMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolvePopoverMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolvePopoverMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolvePopoverMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolvePopoverMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolvePopoverMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePopoverMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePopoverMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolvePopoverMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolvePopoverMethod "getRelativeTo" o = PopoverGetRelativeToMethodInfo
+    ResolvePopoverMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolvePopoverMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolvePopoverMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolvePopoverMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolvePopoverMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolvePopoverMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolvePopoverMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolvePopoverMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolvePopoverMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolvePopoverMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolvePopoverMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolvePopoverMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolvePopoverMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolvePopoverMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolvePopoverMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolvePopoverMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolvePopoverMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolvePopoverMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolvePopoverMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolvePopoverMethod "getTransitionsEnabled" o = PopoverGetTransitionsEnabledMethodInfo
+    ResolvePopoverMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolvePopoverMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolvePopoverMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolvePopoverMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolvePopoverMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolvePopoverMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolvePopoverMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolvePopoverMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolvePopoverMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolvePopoverMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolvePopoverMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolvePopoverMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolvePopoverMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolvePopoverMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolvePopoverMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolvePopoverMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolvePopoverMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolvePopoverMethod "setConstrainTo" o = PopoverSetConstrainToMethodInfo
+    ResolvePopoverMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePopoverMethod "setDefaultWidget" o = PopoverSetDefaultWidgetMethodInfo
+    ResolvePopoverMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolvePopoverMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolvePopoverMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolvePopoverMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolvePopoverMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolvePopoverMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolvePopoverMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolvePopoverMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolvePopoverMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolvePopoverMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolvePopoverMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolvePopoverMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolvePopoverMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolvePopoverMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolvePopoverMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolvePopoverMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolvePopoverMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolvePopoverMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolvePopoverMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolvePopoverMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolvePopoverMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolvePopoverMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolvePopoverMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolvePopoverMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolvePopoverMethod "setModal" o = PopoverSetModalMethodInfo
+    ResolvePopoverMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolvePopoverMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolvePopoverMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolvePopoverMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolvePopoverMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolvePopoverMethod "setPointingTo" o = PopoverSetPointingToMethodInfo
+    ResolvePopoverMethod "setPosition" o = PopoverSetPositionMethodInfo
+    ResolvePopoverMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePopoverMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolvePopoverMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolvePopoverMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolvePopoverMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolvePopoverMethod "setRelativeTo" o = PopoverSetRelativeToMethodInfo
+    ResolvePopoverMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolvePopoverMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolvePopoverMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolvePopoverMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolvePopoverMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolvePopoverMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolvePopoverMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolvePopoverMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolvePopoverMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolvePopoverMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolvePopoverMethod "setTransitionsEnabled" o = PopoverSetTransitionsEnabledMethodInfo
+    ResolvePopoverMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolvePopoverMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolvePopoverMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolvePopoverMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolvePopoverMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolvePopoverMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolvePopoverMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePopoverMethod t Popover, O.MethodInfo info Popover p) => OL.IsLabel t (Popover -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Popover::closed
+{- |
+This signal is emitted when the popover is dismissed either through
+API or user interaction.
+
+/Since: 3.12/
+-}
+type PopoverClosedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PopoverClosedCallback`@.
+noPopoverClosedCallback :: Maybe PopoverClosedCallback
+noPopoverClosedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PopoverClosedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PopoverClosedCallback`.
+foreign import ccall "wrapper"
+    mk_PopoverClosedCallback :: C_PopoverClosedCallback -> IO (FunPtr C_PopoverClosedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PopoverClosed :: MonadIO m => PopoverClosedCallback -> m (GClosure C_PopoverClosedCallback)
+genClosure_PopoverClosed cb = liftIO $ do
+    let cb' = wrap_PopoverClosedCallback cb
+    mk_PopoverClosedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PopoverClosedCallback` into a `C_PopoverClosedCallback`.
+wrap_PopoverClosedCallback ::
+    PopoverClosedCallback ->
+    C_PopoverClosedCallback
+wrap_PopoverClosedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@closed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' popover #closed callback
+@
+-}
+onPopoverClosed :: (IsPopover a, MonadIO m) => a -> PopoverClosedCallback -> m SignalHandlerId
+onPopoverClosed obj cb = liftIO $ do
+    let cb' = wrap_PopoverClosedCallback cb
+    cb'' <- mk_PopoverClosedCallback cb'
+    connectSignalFunPtr obj "closed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@closed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' popover #closed callback
+@
+-}
+afterPopoverClosed :: (IsPopover a, MonadIO m) => a -> PopoverClosedCallback -> m SignalHandlerId
+afterPopoverClosed obj cb = liftIO $ do
+    let cb' = wrap_PopoverClosedCallback cb
+    cb'' <- mk_PopoverClosedCallback cb'
+    connectSignalFunPtr obj "closed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "constrain-to"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PopoverConstraint"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@constrain-to@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' popover #constrainTo
+@
+-}
+getPopoverConstrainTo :: (MonadIO m, IsPopover o) => o -> m Gtk.Enums.PopoverConstraint
+getPopoverConstrainTo obj = liftIO $ B.Properties.getObjectPropertyEnum obj "constrain-to"
+
+{- |
+Set the value of the “@constrain-to@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' popover [ #constrainTo 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPopoverConstrainTo :: (MonadIO m, IsPopover o) => o -> Gtk.Enums.PopoverConstraint -> m ()
+setPopoverConstrainTo obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "constrain-to" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@constrain-to@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPopoverConstrainTo :: (IsPopover o) => Gtk.Enums.PopoverConstraint -> IO (GValueConstruct o)
+constructPopoverConstrainTo val = B.Properties.constructObjectPropertyEnum "constrain-to" val
+
+#if ENABLE_OVERLOADING
+data PopoverConstrainToPropertyInfo
+instance AttrInfo PopoverConstrainToPropertyInfo where
+    type AttrAllowedOps PopoverConstrainToPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PopoverConstrainToPropertyInfo = (~) Gtk.Enums.PopoverConstraint
+    type AttrBaseTypeConstraint PopoverConstrainToPropertyInfo = IsPopover
+    type AttrGetType PopoverConstrainToPropertyInfo = Gtk.Enums.PopoverConstraint
+    type AttrLabel PopoverConstrainToPropertyInfo = "constrain-to"
+    type AttrOrigin PopoverConstrainToPropertyInfo = Popover
+    attrGet _ = getPopoverConstrainTo
+    attrSet _ = setPopoverConstrainTo
+    attrConstruct _ = constructPopoverConstrainTo
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "modal"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@modal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' popover #modal
+@
+-}
+getPopoverModal :: (MonadIO m, IsPopover o) => o -> m Bool
+getPopoverModal obj = liftIO $ B.Properties.getObjectPropertyBool obj "modal"
+
+{- |
+Set the value of the “@modal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' popover [ #modal 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPopoverModal :: (MonadIO m, IsPopover o) => o -> Bool -> m ()
+setPopoverModal obj val = liftIO $ B.Properties.setObjectPropertyBool obj "modal" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@modal@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPopoverModal :: (IsPopover o) => Bool -> IO (GValueConstruct o)
+constructPopoverModal val = B.Properties.constructObjectPropertyBool "modal" val
+
+#if ENABLE_OVERLOADING
+data PopoverModalPropertyInfo
+instance AttrInfo PopoverModalPropertyInfo where
+    type AttrAllowedOps PopoverModalPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PopoverModalPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PopoverModalPropertyInfo = IsPopover
+    type AttrGetType PopoverModalPropertyInfo = Bool
+    type AttrLabel PopoverModalPropertyInfo = "modal"
+    type AttrOrigin PopoverModalPropertyInfo = Popover
+    attrGet _ = getPopoverModal
+    attrSet _ = setPopoverModal
+    attrConstruct _ = constructPopoverModal
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pointing-to"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@pointing-to@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' popover #pointingTo
+@
+-}
+getPopoverPointingTo :: (MonadIO m, IsPopover o) => o -> m (Maybe Gdk.Rectangle.Rectangle)
+getPopoverPointingTo obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "pointing-to" Gdk.Rectangle.Rectangle
+
+{- |
+Set the value of the “@pointing-to@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' popover [ #pointingTo 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPopoverPointingTo :: (MonadIO m, IsPopover o) => o -> Gdk.Rectangle.Rectangle -> m ()
+setPopoverPointingTo obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "pointing-to" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pointing-to@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPopoverPointingTo :: (IsPopover o) => Gdk.Rectangle.Rectangle -> IO (GValueConstruct o)
+constructPopoverPointingTo val = B.Properties.constructObjectPropertyBoxed "pointing-to" (Just val)
+
+#if ENABLE_OVERLOADING
+data PopoverPointingToPropertyInfo
+instance AttrInfo PopoverPointingToPropertyInfo where
+    type AttrAllowedOps PopoverPointingToPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PopoverPointingToPropertyInfo = (~) Gdk.Rectangle.Rectangle
+    type AttrBaseTypeConstraint PopoverPointingToPropertyInfo = IsPopover
+    type AttrGetType PopoverPointingToPropertyInfo = (Maybe Gdk.Rectangle.Rectangle)
+    type AttrLabel PopoverPointingToPropertyInfo = "pointing-to"
+    type AttrOrigin PopoverPointingToPropertyInfo = Popover
+    attrGet _ = getPopoverPointingTo
+    attrSet _ = setPopoverPointingTo
+    attrConstruct _ = constructPopoverPointingTo
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "position"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PositionType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' popover #position
+@
+-}
+getPopoverPosition :: (MonadIO m, IsPopover o) => o -> m Gtk.Enums.PositionType
+getPopoverPosition obj = liftIO $ B.Properties.getObjectPropertyEnum obj "position"
+
+{- |
+Set the value of the “@position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' popover [ #position 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPopoverPosition :: (MonadIO m, IsPopover o) => o -> Gtk.Enums.PositionType -> m ()
+setPopoverPosition obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "position" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@position@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPopoverPosition :: (IsPopover o) => Gtk.Enums.PositionType -> IO (GValueConstruct o)
+constructPopoverPosition val = B.Properties.constructObjectPropertyEnum "position" val
+
+#if ENABLE_OVERLOADING
+data PopoverPositionPropertyInfo
+instance AttrInfo PopoverPositionPropertyInfo where
+    type AttrAllowedOps PopoverPositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PopoverPositionPropertyInfo = (~) Gtk.Enums.PositionType
+    type AttrBaseTypeConstraint PopoverPositionPropertyInfo = IsPopover
+    type AttrGetType PopoverPositionPropertyInfo = Gtk.Enums.PositionType
+    type AttrLabel PopoverPositionPropertyInfo = "position"
+    type AttrOrigin PopoverPositionPropertyInfo = Popover
+    attrGet _ = getPopoverPosition
+    attrSet _ = setPopoverPosition
+    attrConstruct _ = constructPopoverPosition
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "relative-to"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@relative-to@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' popover #relativeTo
+@
+-}
+getPopoverRelativeTo :: (MonadIO m, IsPopover o) => o -> m Gtk.Widget.Widget
+getPopoverRelativeTo obj = liftIO $ checkUnexpectedNothing "getPopoverRelativeTo" $ B.Properties.getObjectPropertyObject obj "relative-to" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@relative-to@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' popover [ #relativeTo 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPopoverRelativeTo :: (MonadIO m, IsPopover o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setPopoverRelativeTo obj val = liftIO $ B.Properties.setObjectPropertyObject obj "relative-to" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@relative-to@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPopoverRelativeTo :: (IsPopover o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructPopoverRelativeTo val = B.Properties.constructObjectPropertyObject "relative-to" (Just val)
+
+{- |
+Set the value of the “@relative-to@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #relativeTo
+@
+-}
+clearPopoverRelativeTo :: (MonadIO m, IsPopover o) => o -> m ()
+clearPopoverRelativeTo obj = liftIO $ B.Properties.setObjectPropertyObject obj "relative-to" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data PopoverRelativeToPropertyInfo
+instance AttrInfo PopoverRelativeToPropertyInfo where
+    type AttrAllowedOps PopoverRelativeToPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PopoverRelativeToPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint PopoverRelativeToPropertyInfo = IsPopover
+    type AttrGetType PopoverRelativeToPropertyInfo = Gtk.Widget.Widget
+    type AttrLabel PopoverRelativeToPropertyInfo = "relative-to"
+    type AttrOrigin PopoverRelativeToPropertyInfo = Popover
+    attrGet _ = getPopoverRelativeTo
+    attrSet _ = setPopoverRelativeTo
+    attrConstruct _ = constructPopoverRelativeTo
+    attrClear _ = clearPopoverRelativeTo
+#endif
+
+-- VVV Prop "transitions-enabled"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@transitions-enabled@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' popover #transitionsEnabled
+@
+-}
+getPopoverTransitionsEnabled :: (MonadIO m, IsPopover o) => o -> m Bool
+getPopoverTransitionsEnabled obj = liftIO $ B.Properties.getObjectPropertyBool obj "transitions-enabled"
+
+{- |
+Set the value of the “@transitions-enabled@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' popover [ #transitionsEnabled 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPopoverTransitionsEnabled :: (MonadIO m, IsPopover o) => o -> Bool -> m ()
+setPopoverTransitionsEnabled obj val = liftIO $ B.Properties.setObjectPropertyBool obj "transitions-enabled" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@transitions-enabled@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPopoverTransitionsEnabled :: (IsPopover o) => Bool -> IO (GValueConstruct o)
+constructPopoverTransitionsEnabled val = B.Properties.constructObjectPropertyBool "transitions-enabled" val
+
+#if ENABLE_OVERLOADING
+data PopoverTransitionsEnabledPropertyInfo
+instance AttrInfo PopoverTransitionsEnabledPropertyInfo where
+    type AttrAllowedOps PopoverTransitionsEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PopoverTransitionsEnabledPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PopoverTransitionsEnabledPropertyInfo = IsPopover
+    type AttrGetType PopoverTransitionsEnabledPropertyInfo = Bool
+    type AttrLabel PopoverTransitionsEnabledPropertyInfo = "transitions-enabled"
+    type AttrOrigin PopoverTransitionsEnabledPropertyInfo = Popover
+    attrGet _ = getPopoverTransitionsEnabled
+    attrSet _ = setPopoverTransitionsEnabled
+    attrConstruct _ = constructPopoverTransitionsEnabled
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Popover
+type instance O.AttributeList Popover = PopoverAttributeList
+type PopoverAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("constrainTo", PopoverConstrainToPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("modal", PopoverModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("pointingTo", PopoverPointingToPropertyInfo), '("position", PopoverPositionPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relativeTo", PopoverRelativeToPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transitionsEnabled", PopoverTransitionsEnabledPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+popoverConstrainTo :: AttrLabelProxy "constrainTo"
+popoverConstrainTo = AttrLabelProxy
+
+popoverModal :: AttrLabelProxy "modal"
+popoverModal = AttrLabelProxy
+
+popoverPointingTo :: AttrLabelProxy "pointingTo"
+popoverPointingTo = AttrLabelProxy
+
+popoverPosition :: AttrLabelProxy "position"
+popoverPosition = AttrLabelProxy
+
+popoverRelativeTo :: AttrLabelProxy "relativeTo"
+popoverRelativeTo = AttrLabelProxy
+
+popoverTransitionsEnabled :: AttrLabelProxy "transitionsEnabled"
+popoverTransitionsEnabled = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data PopoverClosedSignalInfo
+instance SignalInfo PopoverClosedSignalInfo where
+    type HaskellCallbackType PopoverClosedSignalInfo = PopoverClosedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PopoverClosedCallback cb
+        cb'' <- mk_PopoverClosedCallback cb'
+        connectSignalFunPtr obj "closed" cb'' connectMode
+
+type instance O.SignalList Popover = PopoverSignalList
+type PopoverSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("closed", PopoverClosedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Popover::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "relative_to", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GtkWidget the popover is related to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Popover"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_new" gtk_popover_new :: 
+    Ptr Gtk.Widget.Widget ->                -- relative_to : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Popover)
+
+{- |
+Creates a new popover to point to /@relativeTo@/
+
+/Since: 3.12/
+-}
+popoverNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    Maybe (a)
+    {- ^ /@relativeTo@/: 'GI.Gtk.Objects.Widget.Widget' the popover is related to -}
+    -> m Popover
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Popover.Popover' -}
+popoverNew relativeTo = liftIO $ do
+    maybeRelativeTo <- case relativeTo of
+        Nothing -> return nullPtr
+        Just jRelativeTo -> do
+            jRelativeTo' <- unsafeManagedPtrCastPtr jRelativeTo
+            return jRelativeTo'
+    result <- gtk_popover_new maybeRelativeTo
+    checkUnexpectedReturnNULL "popoverNew" result
+    result' <- (newObject Popover) result
+    whenJust relativeTo touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Popover::new_from_model
+-- method type : Constructor
+-- Args : [Arg {argCName = "relative_to", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GtkWidget the popover is related to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gio", name = "MenuModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMenuModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Popover"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_new_from_model" gtk_popover_new_from_model :: 
+    Ptr Gtk.Widget.Widget ->                -- relative_to : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gio.MenuModel.MenuModel ->          -- model : TInterface (Name {namespace = "Gio", name = "MenuModel"})
+    IO (Ptr Popover)
+
+{- |
+Creates a 'GI.Gtk.Objects.Popover.Popover' and populates it according to
+/@model@/. The popover is pointed to the /@relativeTo@/ widget.
+
+The created buttons are connected to actions found in the
+'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow' to which the popover belongs - typically
+by means of being attached to a widget that is contained within
+the @/GtkApplicationWindows/@ widget hierarchy.
+
+Actions can also be added using 'GI.Gtk.Objects.Widget.widgetInsertActionGroup'
+on the menus attach widget or on any of its parent widgets.
+
+/Since: 3.12/
+-}
+popoverNewFromModel ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a, Gio.MenuModel.IsMenuModel b) =>
+    Maybe (a)
+    {- ^ /@relativeTo@/: 'GI.Gtk.Objects.Widget.Widget' the popover is related to -}
+    -> b
+    {- ^ /@model@/: a 'GI.Gio.Objects.MenuModel.MenuModel' -}
+    -> m Popover
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Popover.Popover' -}
+popoverNewFromModel relativeTo model = liftIO $ do
+    maybeRelativeTo <- case relativeTo of
+        Nothing -> return nullPtr
+        Just jRelativeTo -> do
+            jRelativeTo' <- unsafeManagedPtrCastPtr jRelativeTo
+            return jRelativeTo'
+    model' <- unsafeManagedPtrCastPtr model
+    result <- gtk_popover_new_from_model maybeRelativeTo model'
+    checkUnexpectedReturnNULL "popoverNewFromModel" result
+    result' <- (newObject Popover) result
+    whenJust relativeTo touchManagedPtr
+    touchManagedPtr model
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Popover::bind_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gio", name = "MenuModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GMenuModel to bind to or %NULL to remove\n  binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_namespace", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the namespace for actions in @model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_bind_model" gtk_popover_bind_model :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    Ptr Gio.MenuModel.MenuModel ->          -- model : TInterface (Name {namespace = "Gio", name = "MenuModel"})
+    CString ->                              -- action_namespace : TBasicType TUTF8
+    IO ()
+
+{- |
+Establishes a binding between a 'GI.Gtk.Objects.Popover.Popover' and a 'GI.Gio.Objects.MenuModel.MenuModel'.
+
+The contents of /@popover@/ are removed and then refilled with menu items
+according to /@model@/.  When /@model@/ changes, /@popover@/ is updated.
+Calling this function twice on /@popover@/ with different /@model@/ will
+cause the first binding to be replaced with a binding to the new
+model. If /@model@/ is 'Nothing' then any previous binding is undone and
+all children are removed.
+
+If /@actionNamespace@/ is non-'Nothing' then the effect is as if all
+actions mentioned in the /@model@/ have their names prefixed with the
+namespace, plus a dot.  For example, if the action “quit” is
+mentioned and /@actionNamespace@/ is “app” then the effective action
+name is “app.quit”.
+
+This function uses 'GI.Gtk.Interfaces.Actionable.Actionable' to define the action name and
+target values on the created menu items.  If you want to use an
+action group other than “app” and “win”, or if you want to use a
+'GI.Gtk.Objects.MenuShell.MenuShell' outside of a 'GI.Gtk.Objects.ApplicationWindow.ApplicationWindow', then you will need
+to attach your own action group to the widget hierarchy using
+'GI.Gtk.Objects.Widget.widgetInsertActionGroup'.  As an example, if you created a
+group with a “quit” action and inserted it with the name “mygroup”
+then you would use the action name “mygroup.quit” in your
+'GI.Gio.Objects.MenuModel.MenuModel'.
+
+/Since: 3.12/
+-}
+popoverBindModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a, Gio.MenuModel.IsMenuModel b) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> Maybe (b)
+    {- ^ /@model@/: the 'GI.Gio.Objects.MenuModel.MenuModel' to bind to or 'Nothing' to remove
+  binding -}
+    -> Maybe (T.Text)
+    {- ^ /@actionNamespace@/: the namespace for actions in /@model@/ -}
+    -> m ()
+popoverBindModel popover model actionNamespace = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    maybeModel <- case model of
+        Nothing -> return nullPtr
+        Just jModel -> do
+            jModel' <- unsafeManagedPtrCastPtr jModel
+            return jModel'
+    maybeActionNamespace <- case actionNamespace of
+        Nothing -> return nullPtr
+        Just jActionNamespace -> do
+            jActionNamespace' <- textToCString jActionNamespace
+            return jActionNamespace'
+    gtk_popover_bind_model popover' maybeModel maybeActionNamespace
+    touchManagedPtr popover
+    whenJust model touchManagedPtr
+    freeMem maybeActionNamespace
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverBindModelMethodInfo
+instance (signature ~ (Maybe (b) -> Maybe (T.Text) -> m ()), MonadIO m, IsPopover a, Gio.MenuModel.IsMenuModel b) => O.MethodInfo PopoverBindModelMethodInfo a signature where
+    overloadedMethod _ = popoverBindModel
+
+#endif
+
+-- method Popover::get_constrain_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PopoverConstraint"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_get_constrain_to" gtk_popover_get_constrain_to :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    IO CUInt
+
+{- |
+Returns the constraint for placing this popover.
+See 'GI.Gtk.Objects.Popover.popoverSetConstrainTo'.
+
+/Since: 3.20/
+-}
+popoverGetConstrainTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> m Gtk.Enums.PopoverConstraint
+    {- ^ __Returns:__ the constraint for placing this popover. -}
+popoverGetConstrainTo popover = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    result <- gtk_popover_get_constrain_to popover'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr popover
+    return result'
+
+#if ENABLE_OVERLOADING
+data PopoverGetConstrainToMethodInfo
+instance (signature ~ (m Gtk.Enums.PopoverConstraint), MonadIO m, IsPopover a) => O.MethodInfo PopoverGetConstrainToMethodInfo a signature where
+    overloadedMethod _ = popoverGetConstrainTo
+
+#endif
+
+-- method Popover::get_default_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_get_default_widget" gtk_popover_get_default_widget :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the widget that should be set as the default while
+the popover is shown.
+
+/Since: 3.18/
+-}
+popoverGetDefaultWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the default widget,
+or 'Nothing' if there is none -}
+popoverGetDefaultWidget popover = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    result <- gtk_popover_get_default_widget popover'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr popover
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data PopoverGetDefaultWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsPopover a) => O.MethodInfo PopoverGetDefaultWidgetMethodInfo a signature where
+    overloadedMethod _ = popoverGetDefaultWidget
+
+#endif
+
+-- method Popover::get_modal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_get_modal" gtk_popover_get_modal :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    IO CInt
+
+{- |
+Returns whether the popover is modal, see gtk_popover_set_modal to
+see the implications of this.
+
+/Since: 3.12/
+-}
+popoverGetModal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> m Bool
+    {- ^ __Returns:__ @/TRUE/@ if /@popover@/ is modal -}
+popoverGetModal popover = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    result <- gtk_popover_get_modal popover'
+    let result' = (/= 0) result
+    touchManagedPtr popover
+    return result'
+
+#if ENABLE_OVERLOADING
+data PopoverGetModalMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPopover a) => O.MethodInfo PopoverGetModalMethodInfo a signature where
+    overloadedMethod _ = popoverGetModal
+
+#endif
+
+-- method Popover::get_pointing_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_get_pointing_to" gtk_popover_get_pointing_to :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO CInt
+
+{- |
+If a rectangle to point to has been set, this function will
+return 'True' and fill in /@rect@/ with such rectangle, otherwise
+it will return 'False' and fill in /@rect@/ with the attached
+widget coordinates.
+-}
+popoverGetPointingTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> m ((Bool, Gdk.Rectangle.Rectangle))
+    {- ^ __Returns:__ 'True' if a rectangle to point to was set. -}
+popoverGetPointingTo popover = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    result <- gtk_popover_get_pointing_to popover' rect
+    let result' = (/= 0) result
+    rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect
+    touchManagedPtr popover
+    return (result', rect')
+
+#if ENABLE_OVERLOADING
+data PopoverGetPointingToMethodInfo
+instance (signature ~ (m ((Bool, Gdk.Rectangle.Rectangle))), MonadIO m, IsPopover a) => O.MethodInfo PopoverGetPointingToMethodInfo a signature where
+    overloadedMethod _ = popoverGetPointingTo
+
+#endif
+
+-- method Popover::get_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PositionType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_get_position" gtk_popover_get_position :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    IO CUInt
+
+{- |
+Returns the preferred position of /@popover@/.
+-}
+popoverGetPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> m Gtk.Enums.PositionType
+    {- ^ __Returns:__ The preferred position. -}
+popoverGetPosition popover = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    result <- gtk_popover_get_position popover'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr popover
+    return result'
+
+#if ENABLE_OVERLOADING
+data PopoverGetPositionMethodInfo
+instance (signature ~ (m Gtk.Enums.PositionType), MonadIO m, IsPopover a) => O.MethodInfo PopoverGetPositionMethodInfo a signature where
+    overloadedMethod _ = popoverGetPosition
+
+#endif
+
+-- method Popover::get_relative_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_get_relative_to" gtk_popover_get_relative_to :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the widget /@popover@/ is currently attached to
+
+/Since: 3.12/
+-}
+popoverGetRelativeTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Widget.Widget' -}
+popoverGetRelativeTo popover = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    result <- gtk_popover_get_relative_to popover'
+    checkUnexpectedReturnNULL "popoverGetRelativeTo" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr popover
+    return result'
+
+#if ENABLE_OVERLOADING
+data PopoverGetRelativeToMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsPopover a) => O.MethodInfo PopoverGetRelativeToMethodInfo a signature where
+    overloadedMethod _ = popoverGetRelativeTo
+
+#endif
+
+-- method Popover::get_transitions_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_get_transitions_enabled" gtk_popover_get_transitions_enabled :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    IO CInt
+
+{-# DEPRECATED popoverGetTransitionsEnabled ["(Since version 3.22)","You can show or hide the popover without transitions","  using 'GI.Gtk.Objects.Widget.widgetShow' and 'GI.Gtk.Objects.Widget.widgetHide' while 'GI.Gtk.Objects.Popover.popoverPopup'","  and 'GI.Gtk.Objects.Popover.popoverPopdown' will use transitions."] #-}
+{- |
+Returns whether show\/hide transitions are enabled on this popover.
+
+/Since: 3.16/
+-}
+popoverGetTransitionsEnabled ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> m Bool
+    {- ^ __Returns:__ @/TRUE/@ if the show and hide transitions of the given
+         popover are enabled, @/FALSE/@ otherwise. -}
+popoverGetTransitionsEnabled popover = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    result <- gtk_popover_get_transitions_enabled popover'
+    let result' = (/= 0) result
+    touchManagedPtr popover
+    return result'
+
+#if ENABLE_OVERLOADING
+data PopoverGetTransitionsEnabledMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPopover a) => O.MethodInfo PopoverGetTransitionsEnabledMethodInfo a signature where
+    overloadedMethod _ = popoverGetTransitionsEnabled
+
+#endif
+
+-- method Popover::popdown
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_popdown" gtk_popover_popdown :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    IO ()
+
+{- |
+Pops /@popover@/ down.This is different than a 'GI.Gtk.Objects.Widget.widgetHide' call
+in that it shows the popover with a transition. If you want to hide
+the popover without a transition, use 'GI.Gtk.Objects.Widget.widgetHide'.
+
+/Since: 3.22/
+-}
+popoverPopdown ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> m ()
+popoverPopdown popover = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    gtk_popover_popdown popover'
+    touchManagedPtr popover
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverPopdownMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsPopover a) => O.MethodInfo PopoverPopdownMethodInfo a signature where
+    overloadedMethod _ = popoverPopdown
+
+#endif
+
+-- method Popover::popup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_popup" gtk_popover_popup :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    IO ()
+
+{- |
+Pops /@popover@/ up. This is different than a 'GI.Gtk.Objects.Widget.widgetShow' call
+in that it shows the popover with a transition. If you want to show
+the popover without a transition, use 'GI.Gtk.Objects.Widget.widgetShow'.
+
+/Since: 3.22/
+-}
+popoverPopup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> m ()
+popoverPopup popover = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    gtk_popover_popup popover'
+    touchManagedPtr popover
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverPopupMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsPopover a) => O.MethodInfo PopoverPopupMethodInfo a signature where
+    overloadedMethod _ = popoverPopup
+
+#endif
+
+-- method Popover::set_constrain_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "constraint", argType = TInterface (Name {namespace = "Gtk", name = "PopoverConstraint"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new constraint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_set_constrain_to" gtk_popover_set_constrain_to :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    CUInt ->                                -- constraint : TInterface (Name {namespace = "Gtk", name = "PopoverConstraint"})
+    IO ()
+
+{- |
+Sets a constraint for positioning this popover.
+
+Note that not all platforms support placing popovers freely,
+and may already impose constraints.
+
+/Since: 3.20/
+-}
+popoverSetConstrainTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> Gtk.Enums.PopoverConstraint
+    {- ^ /@constraint@/: the new constraint -}
+    -> m ()
+popoverSetConstrainTo popover constraint = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    let constraint' = (fromIntegral . fromEnum) constraint
+    gtk_popover_set_constrain_to popover' constraint'
+    touchManagedPtr popover
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverSetConstrainToMethodInfo
+instance (signature ~ (Gtk.Enums.PopoverConstraint -> m ()), MonadIO m, IsPopover a) => O.MethodInfo PopoverSetConstrainToMethodInfo a signature where
+    overloadedMethod _ = popoverSetConstrainTo
+
+#endif
+
+-- method Popover::set_default_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the new default widget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_set_default_widget" gtk_popover_set_default_widget :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the widget that should be set as default widget while
+the popover is shown (see 'GI.Gtk.Objects.Window.windowSetDefault'). 'GI.Gtk.Objects.Popover.Popover'
+remembers the previous default widget and reestablishes it
+when the popover is dismissed.
+
+/Since: 3.18/
+-}
+popoverSetDefaultWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the new default widget, or 'Nothing' -}
+    -> m ()
+popoverSetDefaultWidget popover widget = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    gtk_popover_set_default_widget popover' maybeWidget
+    touchManagedPtr popover
+    whenJust widget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverSetDefaultWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsPopover a, Gtk.Widget.IsWidget b) => O.MethodInfo PopoverSetDefaultWidgetMethodInfo a signature where
+    overloadedMethod _ = popoverSetDefaultWidget
+
+#endif
+
+-- method Popover::set_modal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#TRUE to make popover claim all input within the toplevel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_set_modal" gtk_popover_set_modal :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    CInt ->                                 -- modal : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@popover@/ is modal, a modal popover will grab all input
+within the toplevel and grab the keyboard focus on it when being
+displayed. Clicking outside the popover area or pressing Esc will
+dismiss the popover and ungrab input.
+
+/Since: 3.12/
+-}
+popoverSetModal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> Bool
+    {- ^ /@modal@/: @/TRUE/@ to make popover claim all input within the toplevel -}
+    -> m ()
+popoverSetModal popover modal = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    let modal' = (fromIntegral . fromEnum) modal
+    gtk_popover_set_modal popover' modal'
+    touchManagedPtr popover
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverSetModalMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPopover a) => O.MethodInfo PopoverSetModalMethodInfo a signature where
+    overloadedMethod _ = popoverSetModal
+
+#endif
+
+-- method Popover::set_pointing_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle to point to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_set_pointing_to" gtk_popover_set_pointing_to :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Sets the rectangle that /@popover@/ will point to, in the
+coordinate space of the widget /@popover@/ is attached to,
+see 'GI.Gtk.Objects.Popover.popoverSetRelativeTo'.
+
+/Since: 3.12/
+-}
+popoverSetPointingTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@rect@/: rectangle to point to -}
+    -> m ()
+popoverSetPointingTo popover rect = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    rect' <- unsafeManagedPtrGetPtr rect
+    gtk_popover_set_pointing_to popover' rect'
+    touchManagedPtr popover
+    touchManagedPtr rect
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverSetPointingToMethodInfo
+instance (signature ~ (Gdk.Rectangle.Rectangle -> m ()), MonadIO m, IsPopover a) => O.MethodInfo PopoverSetPointingToMethodInfo a signature where
+    overloadedMethod _ = popoverSetPointingTo
+
+#endif
+
+-- method Popover::set_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "preferred popover position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_set_position" gtk_popover_set_position :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    CUInt ->                                -- position : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    IO ()
+
+{- |
+Sets the preferred position for /@popover@/ to appear. If the /@popover@/
+is currently visible, it will be immediately updated.
+
+This preference will be respected where possible, although
+on lack of space (eg. if close to the window edges), the
+'GI.Gtk.Objects.Popover.Popover' may choose to appear on the opposite side
+
+/Since: 3.12/
+-}
+popoverSetPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@position@/: preferred popover position -}
+    -> m ()
+popoverSetPosition popover position = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    let position' = (fromIntegral . fromEnum) position
+    gtk_popover_set_position popover' position'
+    touchManagedPtr popover
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverSetPositionMethodInfo
+instance (signature ~ (Gtk.Enums.PositionType -> m ()), MonadIO m, IsPopover a) => O.MethodInfo PopoverSetPositionMethodInfo a signature where
+    overloadedMethod _ = popoverSetPosition
+
+#endif
+
+-- method Popover::set_relative_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relative_to", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_set_relative_to" gtk_popover_set_relative_to :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    Ptr Gtk.Widget.Widget ->                -- relative_to : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets a new widget to be attached to /@popover@/. If /@popover@/ is
+visible, the position will be updated.
+
+Note: the ownership of popovers is always given to their /@relativeTo@/
+widget, so if /@relativeTo@/ is set to 'Nothing' on an attached /@popover@/, it
+will be detached from its previous widget, and consequently destroyed
+unless extra references are kept.
+
+/Since: 3.12/
+-}
+popoverSetRelativeTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> Maybe (b)
+    {- ^ /@relativeTo@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+popoverSetRelativeTo popover relativeTo = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    maybeRelativeTo <- case relativeTo of
+        Nothing -> return nullPtr
+        Just jRelativeTo -> do
+            jRelativeTo' <- unsafeManagedPtrCastPtr jRelativeTo
+            return jRelativeTo'
+    gtk_popover_set_relative_to popover' maybeRelativeTo
+    touchManagedPtr popover
+    whenJust relativeTo touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverSetRelativeToMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsPopover a, Gtk.Widget.IsWidget b) => O.MethodInfo PopoverSetRelativeToMethodInfo a signature where
+    overloadedMethod _ = popoverSetRelativeTo
+
+#endif
+
+-- method Popover::set_transitions_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "Popover"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopover", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transitions_enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether transitions are enabled", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_set_transitions_enabled" gtk_popover_set_transitions_enabled :: 
+    Ptr Popover ->                          -- popover : TInterface (Name {namespace = "Gtk", name = "Popover"})
+    CInt ->                                 -- transitions_enabled : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED popoverSetTransitionsEnabled ["(Since version 3.22)","You can show or hide the popover without transitions","  using 'GI.Gtk.Objects.Widget.widgetShow' and 'GI.Gtk.Objects.Widget.widgetHide' while 'GI.Gtk.Objects.Popover.popoverPopup'","  and 'GI.Gtk.Objects.Popover.popoverPopdown' will use transitions."] #-}
+{- |
+Sets whether show\/hide transitions are enabled on this popover
+
+/Since: 3.16/
+-}
+popoverSetTransitionsEnabled ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopover a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.Popover.Popover' -}
+    -> Bool
+    {- ^ /@transitionsEnabled@/: Whether transitions are enabled -}
+    -> m ()
+popoverSetTransitionsEnabled popover transitionsEnabled = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    let transitionsEnabled' = (fromIntegral . fromEnum) transitionsEnabled
+    gtk_popover_set_transitions_enabled popover' transitionsEnabled'
+    touchManagedPtr popover
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverSetTransitionsEnabledMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPopover a) => O.MethodInfo PopoverSetTransitionsEnabledMethodInfo a signature where
+    overloadedMethod _ = popoverSetTransitionsEnabled
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Popover.hs-boot b/GI/Gtk/Objects/Popover.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Popover.hs-boot
@@ -0,0 +1,101 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Popover where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Popover = Popover (ManagedPtr Popover)
+instance GObject Popover where
+class (GObject o, O.IsDescendantOf Popover o) => IsPopover o
+instance (GObject o, O.IsDescendantOf Popover o) => IsPopover o
+instance O.HasParentTypes Popover
+#if ENABLE_OVERLOADING
+data PopoverConstrainToPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverModalPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverPointingToPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverPositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverRelativeToPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverTransitionsEnabledPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverClosedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverBindModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverGetConstrainToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverGetDefaultWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverGetModalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverGetPointingToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverGetPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverGetRelativeToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverGetTransitionsEnabledMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverPopdownMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverPopupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverSetConstrainToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverSetDefaultWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverSetModalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverSetPointingToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverSetPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverSetRelativeToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverSetTransitionsEnabledMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/PopoverAccessible.hs b/GI/Gtk/Objects/PopoverAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PopoverAccessible.hs
@@ -0,0 +1,165 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.PopoverAccessible
+    ( 
+
+-- * Exported types
+    PopoverAccessible(..)                   ,
+    IsPopoverAccessible                     ,
+    toPopoverAccessible                     ,
+    noPopoverAccessible                     ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype PopoverAccessible = PopoverAccessible (ManagedPtr PopoverAccessible)
+foreign import ccall "gtk_popover_accessible_get_type"
+    c_gtk_popover_accessible_get_type :: IO GType
+
+instance GObject PopoverAccessible where
+    gobjectType = c_gtk_popover_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `PopoverAccessible`, for instance with `toPopoverAccessible`.
+class (GObject o, O.IsDescendantOf PopoverAccessible o) => IsPopoverAccessible o
+instance (GObject o, O.IsDescendantOf PopoverAccessible o) => IsPopoverAccessible o
+
+instance O.HasParentTypes PopoverAccessible
+type instance O.ParentTypes PopoverAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `PopoverAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPopoverAccessible :: (MonadIO m, IsPopoverAccessible o) => o -> m PopoverAccessible
+toPopoverAccessible = liftIO . unsafeCastTo PopoverAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PopoverAccessible`.
+noPopoverAccessible :: Maybe PopoverAccessible
+noPopoverAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePopoverAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePopoverAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolvePopoverAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePopoverAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePopoverAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolvePopoverAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolvePopoverAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePopoverAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePopoverAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePopoverAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolvePopoverAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolvePopoverAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePopoverAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePopoverAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePopoverAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolvePopoverAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolvePopoverAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePopoverAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolvePopoverAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolvePopoverAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolvePopoverAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePopoverAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolvePopoverAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolvePopoverAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolvePopoverAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolvePopoverAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePopoverAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolvePopoverAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolvePopoverAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePopoverAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePopoverAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePopoverAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePopoverAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePopoverAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolvePopoverAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolvePopoverAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePopoverAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolvePopoverAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolvePopoverAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolvePopoverAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolvePopoverAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolvePopoverAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolvePopoverAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolvePopoverAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolvePopoverAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolvePopoverAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolvePopoverAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePopoverAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePopoverAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolvePopoverAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolvePopoverAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolvePopoverAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePopoverAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolvePopoverAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolvePopoverAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolvePopoverAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolvePopoverAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolvePopoverAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePopoverAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolvePopoverAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolvePopoverAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolvePopoverAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePopoverAccessibleMethod t PopoverAccessible, O.MethodInfo info PopoverAccessible p) => OL.IsLabel t (PopoverAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PopoverAccessible
+type instance O.AttributeList PopoverAccessible = PopoverAccessibleAttributeList
+type PopoverAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList PopoverAccessible = PopoverAccessibleSignalList
+type PopoverAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/PopoverAccessible.hs-boot b/GI/Gtk/Objects/PopoverAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PopoverAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.PopoverAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PopoverAccessible = PopoverAccessible (ManagedPtr PopoverAccessible)
+instance GObject PopoverAccessible where
+class (GObject o, O.IsDescendantOf PopoverAccessible o) => IsPopoverAccessible o
+instance (GObject o, O.IsDescendantOf PopoverAccessible o) => IsPopoverAccessible o
+instance O.HasParentTypes PopoverAccessible
diff --git a/GI/Gtk/Objects/PopoverMenu.hs b/GI/Gtk/Objects/PopoverMenu.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PopoverMenu.hs
@@ -0,0 +1,686 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkPopoverMenu is a subclass of 'GI.Gtk.Objects.Popover.Popover' that treats its
+children like menus and allows switching between them. It is
+meant to be used primarily together with 'GI.Gtk.Objects.ModelButton.ModelButton', but
+any widget can be used, such as 'GI.Gtk.Objects.SpinButton.SpinButton' or 'GI.Gtk.Objects.Scale.Scale'.
+In this respect, GtkPopoverMenu is more flexible than popovers
+that are created from a 'GI.Gio.Objects.MenuModel.MenuModel' with 'GI.Gtk.Objects.Popover.popoverNewFromModel'.
+
+To add a child as a submenu, set the 'GI.Gtk.Objects.PopoverMenu.PopoverMenu':@/submenu/@
+child property to the name of the submenu. To let the user open
+this submenu, add a 'GI.Gtk.Objects.ModelButton.ModelButton' whose 'GI.Gtk.Objects.ModelButton.ModelButton':@/menu-name/@
+property is set to the name you\'ve given to the submenu.
+
+By convention, the first child of a submenu should be a 'GI.Gtk.Objects.ModelButton.ModelButton'
+to switch back to the parent menu. Such a button should use the
+'GI.Gtk.Objects.ModelButton.ModelButton':@/inverted/@ and 'GI.Gtk.Objects.ModelButton.ModelButton':@/centered/@ properties
+to achieve a title-like appearance and place the submenu indicator
+at the opposite side. To switch back to the main menu, use \"main\"
+as the menu name.
+
+= Example
+
+>
+><object class="GtkPopoverMenu">
+>  <child>
+>    <object class="GtkBox">
+>      <property name="visible">True</property>
+>      <property name="margin">10</property>
+>      <child>
+>        <object class="GtkModelButton">
+>          <property name="visible">True</property>
+>          <property name="action-name">win.frob</property>
+>          <property name="text" translatable="yes">Frob</property>
+>        </object>
+>      </child>
+>      <child>
+>        <object class="GtkModelButton">
+>          <property name="visible">True</property>
+>          <property name="menu-name">more</property>
+>          <property name="text" translatable="yes">More</property>
+>        </object>
+>      </child>
+>    </object>
+>  </child>
+>  <child>
+>    <object class="GtkBox">
+>      <property name="visible">True</property>
+>      <property name="margin">10</property>
+>      <child>
+>        <object class="GtkModelButton">
+>          <property name="visible">True</property>
+>          <property name="action-name">win.foo</property>
+>          <property name="text" translatable="yes">Foo</property>
+>        </object>
+>      </child>
+>      <child>
+>        <object class="GtkModelButton">
+>          <property name="visible">True</property>
+>          <property name="action-name">win.bar</property>
+>          <property name="text" translatable="yes">Bar</property>
+>        </object>
+>      </child>
+>    </object>
+>    <packing>
+>      <property name="submenu">more</property>
+>    </packing>
+>  </child>
+></object>
+
+
+Just like normal popovers created using gtk_popover_new_from_model,
+'GI.Gtk.Objects.PopoverMenu.PopoverMenu' instances have a single css node called \"popover\"
+and get the .menu style class.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.PopoverMenu
+    ( 
+
+-- * Exported types
+    PopoverMenu(..)                         ,
+    IsPopoverMenu                           ,
+    toPopoverMenu                           ,
+    noPopoverMenu                           ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    popoverMenuNew                          ,
+
+
+-- ** openSubmenu #method:openSubmenu#
+
+#if ENABLE_OVERLOADING
+    PopoverMenuOpenSubmenuMethodInfo        ,
+#endif
+    popoverMenuOpenSubmenu                  ,
+
+
+
+
+ -- * Properties
+-- ** visibleSubmenu #attr:visibleSubmenu#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    PopoverMenuVisibleSubmenuPropertyInfo   ,
+#endif
+    clearPopoverMenuVisibleSubmenu          ,
+    constructPopoverMenuVisibleSubmenu      ,
+    getPopoverMenuVisibleSubmenu            ,
+#if ENABLE_OVERLOADING
+    popoverMenuVisibleSubmenu               ,
+#endif
+    setPopoverMenuVisibleSubmenu            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Popover as Gtk.Popover
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype PopoverMenu = PopoverMenu (ManagedPtr PopoverMenu)
+foreign import ccall "gtk_popover_menu_get_type"
+    c_gtk_popover_menu_get_type :: IO GType
+
+instance GObject PopoverMenu where
+    gobjectType = c_gtk_popover_menu_get_type
+    
+
+-- | Type class for types which can be safely cast to `PopoverMenu`, for instance with `toPopoverMenu`.
+class (GObject o, O.IsDescendantOf PopoverMenu o) => IsPopoverMenu o
+instance (GObject o, O.IsDescendantOf PopoverMenu o) => IsPopoverMenu o
+
+instance O.HasParentTypes PopoverMenu
+type instance O.ParentTypes PopoverMenu = '[Gtk.Popover.Popover, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `PopoverMenu`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPopoverMenu :: (MonadIO m, IsPopoverMenu o) => o -> m PopoverMenu
+toPopoverMenu = liftIO . unsafeCastTo PopoverMenu
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PopoverMenu`.
+noPopoverMenu :: Maybe PopoverMenu
+noPopoverMenu = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePopoverMenuMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePopoverMenuMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolvePopoverMenuMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolvePopoverMenuMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolvePopoverMenuMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolvePopoverMenuMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolvePopoverMenuMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolvePopoverMenuMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolvePopoverMenuMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolvePopoverMenuMethod "bindModel" o = Gtk.Popover.PopoverBindModelMethodInfo
+    ResolvePopoverMenuMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePopoverMenuMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePopoverMenuMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolvePopoverMenuMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolvePopoverMenuMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolvePopoverMenuMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolvePopoverMenuMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolvePopoverMenuMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolvePopoverMenuMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolvePopoverMenuMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolvePopoverMenuMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolvePopoverMenuMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolvePopoverMenuMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolvePopoverMenuMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolvePopoverMenuMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolvePopoverMenuMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolvePopoverMenuMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolvePopoverMenuMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolvePopoverMenuMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolvePopoverMenuMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolvePopoverMenuMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolvePopoverMenuMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolvePopoverMenuMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolvePopoverMenuMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolvePopoverMenuMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolvePopoverMenuMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolvePopoverMenuMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolvePopoverMenuMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolvePopoverMenuMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolvePopoverMenuMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolvePopoverMenuMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolvePopoverMenuMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolvePopoverMenuMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolvePopoverMenuMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolvePopoverMenuMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolvePopoverMenuMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolvePopoverMenuMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolvePopoverMenuMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolvePopoverMenuMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolvePopoverMenuMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolvePopoverMenuMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolvePopoverMenuMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolvePopoverMenuMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolvePopoverMenuMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolvePopoverMenuMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolvePopoverMenuMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolvePopoverMenuMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolvePopoverMenuMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolvePopoverMenuMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolvePopoverMenuMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolvePopoverMenuMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolvePopoverMenuMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolvePopoverMenuMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolvePopoverMenuMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolvePopoverMenuMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePopoverMenuMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolvePopoverMenuMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolvePopoverMenuMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePopoverMenuMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePopoverMenuMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolvePopoverMenuMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolvePopoverMenuMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolvePopoverMenuMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolvePopoverMenuMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolvePopoverMenuMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolvePopoverMenuMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolvePopoverMenuMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolvePopoverMenuMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolvePopoverMenuMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolvePopoverMenuMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolvePopoverMenuMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolvePopoverMenuMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolvePopoverMenuMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolvePopoverMenuMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolvePopoverMenuMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolvePopoverMenuMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolvePopoverMenuMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolvePopoverMenuMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolvePopoverMenuMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolvePopoverMenuMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePopoverMenuMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolvePopoverMenuMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolvePopoverMenuMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolvePopoverMenuMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolvePopoverMenuMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolvePopoverMenuMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolvePopoverMenuMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolvePopoverMenuMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolvePopoverMenuMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolvePopoverMenuMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolvePopoverMenuMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolvePopoverMenuMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolvePopoverMenuMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolvePopoverMenuMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolvePopoverMenuMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolvePopoverMenuMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolvePopoverMenuMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolvePopoverMenuMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePopoverMenuMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePopoverMenuMethod "openSubmenu" o = PopoverMenuOpenSubmenuMethodInfo
+    ResolvePopoverMenuMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolvePopoverMenuMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolvePopoverMenuMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolvePopoverMenuMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolvePopoverMenuMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolvePopoverMenuMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolvePopoverMenuMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolvePopoverMenuMethod "popdown" o = Gtk.Popover.PopoverPopdownMethodInfo
+    ResolvePopoverMenuMethod "popup" o = Gtk.Popover.PopoverPopupMethodInfo
+    ResolvePopoverMenuMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolvePopoverMenuMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolvePopoverMenuMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolvePopoverMenuMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolvePopoverMenuMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolvePopoverMenuMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolvePopoverMenuMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolvePopoverMenuMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolvePopoverMenuMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolvePopoverMenuMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePopoverMenuMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePopoverMenuMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolvePopoverMenuMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolvePopoverMenuMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolvePopoverMenuMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolvePopoverMenuMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolvePopoverMenuMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolvePopoverMenuMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolvePopoverMenuMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolvePopoverMenuMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolvePopoverMenuMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolvePopoverMenuMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolvePopoverMenuMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolvePopoverMenuMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePopoverMenuMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolvePopoverMenuMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolvePopoverMenuMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolvePopoverMenuMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolvePopoverMenuMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolvePopoverMenuMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolvePopoverMenuMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolvePopoverMenuMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolvePopoverMenuMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolvePopoverMenuMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePopoverMenuMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePopoverMenuMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolvePopoverMenuMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolvePopoverMenuMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolvePopoverMenuMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePopoverMenuMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolvePopoverMenuMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolvePopoverMenuMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolvePopoverMenuMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolvePopoverMenuMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolvePopoverMenuMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePopoverMenuMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolvePopoverMenuMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolvePopoverMenuMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolvePopoverMenuMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePopoverMenuMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolvePopoverMenuMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolvePopoverMenuMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolvePopoverMenuMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolvePopoverMenuMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolvePopoverMenuMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolvePopoverMenuMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolvePopoverMenuMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolvePopoverMenuMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolvePopoverMenuMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolvePopoverMenuMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolvePopoverMenuMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolvePopoverMenuMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolvePopoverMenuMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolvePopoverMenuMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolvePopoverMenuMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolvePopoverMenuMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolvePopoverMenuMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolvePopoverMenuMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolvePopoverMenuMethod "getConstrainTo" o = Gtk.Popover.PopoverGetConstrainToMethodInfo
+    ResolvePopoverMenuMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePopoverMenuMethod "getDefaultWidget" o = Gtk.Popover.PopoverGetDefaultWidgetMethodInfo
+    ResolvePopoverMenuMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolvePopoverMenuMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolvePopoverMenuMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolvePopoverMenuMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolvePopoverMenuMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolvePopoverMenuMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolvePopoverMenuMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolvePopoverMenuMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolvePopoverMenuMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolvePopoverMenuMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolvePopoverMenuMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolvePopoverMenuMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolvePopoverMenuMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolvePopoverMenuMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolvePopoverMenuMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolvePopoverMenuMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolvePopoverMenuMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolvePopoverMenuMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolvePopoverMenuMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolvePopoverMenuMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolvePopoverMenuMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolvePopoverMenuMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolvePopoverMenuMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolvePopoverMenuMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolvePopoverMenuMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolvePopoverMenuMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolvePopoverMenuMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolvePopoverMenuMethod "getModal" o = Gtk.Popover.PopoverGetModalMethodInfo
+    ResolvePopoverMenuMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolvePopoverMenuMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolvePopoverMenuMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolvePopoverMenuMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolvePopoverMenuMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolvePopoverMenuMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolvePopoverMenuMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolvePopoverMenuMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolvePopoverMenuMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolvePopoverMenuMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolvePopoverMenuMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolvePopoverMenuMethod "getPointingTo" o = Gtk.Popover.PopoverGetPointingToMethodInfo
+    ResolvePopoverMenuMethod "getPosition" o = Gtk.Popover.PopoverGetPositionMethodInfo
+    ResolvePopoverMenuMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolvePopoverMenuMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolvePopoverMenuMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolvePopoverMenuMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolvePopoverMenuMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolvePopoverMenuMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolvePopoverMenuMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePopoverMenuMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePopoverMenuMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolvePopoverMenuMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolvePopoverMenuMethod "getRelativeTo" o = Gtk.Popover.PopoverGetRelativeToMethodInfo
+    ResolvePopoverMenuMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolvePopoverMenuMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolvePopoverMenuMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolvePopoverMenuMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolvePopoverMenuMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolvePopoverMenuMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolvePopoverMenuMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolvePopoverMenuMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolvePopoverMenuMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolvePopoverMenuMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolvePopoverMenuMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolvePopoverMenuMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolvePopoverMenuMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolvePopoverMenuMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolvePopoverMenuMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolvePopoverMenuMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolvePopoverMenuMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolvePopoverMenuMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolvePopoverMenuMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolvePopoverMenuMethod "getTransitionsEnabled" o = Gtk.Popover.PopoverGetTransitionsEnabledMethodInfo
+    ResolvePopoverMenuMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolvePopoverMenuMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolvePopoverMenuMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolvePopoverMenuMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolvePopoverMenuMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolvePopoverMenuMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolvePopoverMenuMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolvePopoverMenuMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolvePopoverMenuMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolvePopoverMenuMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolvePopoverMenuMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolvePopoverMenuMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolvePopoverMenuMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolvePopoverMenuMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolvePopoverMenuMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolvePopoverMenuMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolvePopoverMenuMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolvePopoverMenuMethod "setConstrainTo" o = Gtk.Popover.PopoverSetConstrainToMethodInfo
+    ResolvePopoverMenuMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePopoverMenuMethod "setDefaultWidget" o = Gtk.Popover.PopoverSetDefaultWidgetMethodInfo
+    ResolvePopoverMenuMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolvePopoverMenuMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolvePopoverMenuMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolvePopoverMenuMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolvePopoverMenuMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolvePopoverMenuMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolvePopoverMenuMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolvePopoverMenuMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolvePopoverMenuMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolvePopoverMenuMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolvePopoverMenuMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolvePopoverMenuMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolvePopoverMenuMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolvePopoverMenuMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolvePopoverMenuMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolvePopoverMenuMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolvePopoverMenuMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolvePopoverMenuMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolvePopoverMenuMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolvePopoverMenuMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolvePopoverMenuMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolvePopoverMenuMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolvePopoverMenuMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolvePopoverMenuMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolvePopoverMenuMethod "setModal" o = Gtk.Popover.PopoverSetModalMethodInfo
+    ResolvePopoverMenuMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolvePopoverMenuMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolvePopoverMenuMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolvePopoverMenuMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolvePopoverMenuMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolvePopoverMenuMethod "setPointingTo" o = Gtk.Popover.PopoverSetPointingToMethodInfo
+    ResolvePopoverMenuMethod "setPosition" o = Gtk.Popover.PopoverSetPositionMethodInfo
+    ResolvePopoverMenuMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePopoverMenuMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolvePopoverMenuMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolvePopoverMenuMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolvePopoverMenuMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolvePopoverMenuMethod "setRelativeTo" o = Gtk.Popover.PopoverSetRelativeToMethodInfo
+    ResolvePopoverMenuMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolvePopoverMenuMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolvePopoverMenuMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolvePopoverMenuMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolvePopoverMenuMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolvePopoverMenuMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolvePopoverMenuMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolvePopoverMenuMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolvePopoverMenuMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolvePopoverMenuMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolvePopoverMenuMethod "setTransitionsEnabled" o = Gtk.Popover.PopoverSetTransitionsEnabledMethodInfo
+    ResolvePopoverMenuMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolvePopoverMenuMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolvePopoverMenuMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolvePopoverMenuMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolvePopoverMenuMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolvePopoverMenuMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolvePopoverMenuMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePopoverMenuMethod t PopoverMenu, O.MethodInfo info PopoverMenu p) => OL.IsLabel t (PopoverMenu -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "visible-submenu"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@visible-submenu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' popoverMenu #visibleSubmenu
+@
+-}
+getPopoverMenuVisibleSubmenu :: (MonadIO m, IsPopoverMenu o) => o -> m (Maybe T.Text)
+getPopoverMenuVisibleSubmenu obj = liftIO $ B.Properties.getObjectPropertyString obj "visible-submenu"
+
+{- |
+Set the value of the “@visible-submenu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' popoverMenu [ #visibleSubmenu 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPopoverMenuVisibleSubmenu :: (MonadIO m, IsPopoverMenu o) => o -> T.Text -> m ()
+setPopoverMenuVisibleSubmenu obj val = liftIO $ B.Properties.setObjectPropertyString obj "visible-submenu" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible-submenu@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPopoverMenuVisibleSubmenu :: (IsPopoverMenu o) => T.Text -> IO (GValueConstruct o)
+constructPopoverMenuVisibleSubmenu val = B.Properties.constructObjectPropertyString "visible-submenu" (Just val)
+
+{- |
+Set the value of the “@visible-submenu@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #visibleSubmenu
+@
+-}
+clearPopoverMenuVisibleSubmenu :: (MonadIO m, IsPopoverMenu o) => o -> m ()
+clearPopoverMenuVisibleSubmenu obj = liftIO $ B.Properties.setObjectPropertyString obj "visible-submenu" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data PopoverMenuVisibleSubmenuPropertyInfo
+instance AttrInfo PopoverMenuVisibleSubmenuPropertyInfo where
+    type AttrAllowedOps PopoverMenuVisibleSubmenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PopoverMenuVisibleSubmenuPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint PopoverMenuVisibleSubmenuPropertyInfo = IsPopoverMenu
+    type AttrGetType PopoverMenuVisibleSubmenuPropertyInfo = (Maybe T.Text)
+    type AttrLabel PopoverMenuVisibleSubmenuPropertyInfo = "visible-submenu"
+    type AttrOrigin PopoverMenuVisibleSubmenuPropertyInfo = PopoverMenu
+    attrGet _ = getPopoverMenuVisibleSubmenu
+    attrSet _ = setPopoverMenuVisibleSubmenu
+    attrConstruct _ = constructPopoverMenuVisibleSubmenu
+    attrClear _ = clearPopoverMenuVisibleSubmenu
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PopoverMenu
+type instance O.AttributeList PopoverMenu = PopoverMenuAttributeList
+type PopoverMenuAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("constrainTo", Gtk.Popover.PopoverConstrainToPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("modal", Gtk.Popover.PopoverModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("pointingTo", Gtk.Popover.PopoverPointingToPropertyInfo), '("position", Gtk.Popover.PopoverPositionPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relativeTo", Gtk.Popover.PopoverRelativeToPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transitionsEnabled", Gtk.Popover.PopoverTransitionsEnabledPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visibleSubmenu", PopoverMenuVisibleSubmenuPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+popoverMenuVisibleSubmenu :: AttrLabelProxy "visibleSubmenu"
+popoverMenuVisibleSubmenu = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList PopoverMenu = PopoverMenuSignalList
+type PopoverMenuSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("closed", Gtk.Popover.PopoverClosedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method PopoverMenu::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PopoverMenu"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_menu_new" gtk_popover_menu_new :: 
+    IO (Ptr PopoverMenu)
+
+{- |
+Creates a new popover menu.
+
+/Since: 3.16/
+-}
+popoverMenuNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m PopoverMenu
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.PopoverMenu.PopoverMenu' -}
+popoverMenuNew  = liftIO $ do
+    result <- gtk_popover_menu_new
+    checkUnexpectedReturnNULL "popoverMenuNew" result
+    result' <- (newObject PopoverMenu) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PopoverMenu::open_submenu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "popover", argType = TInterface (Name {namespace = "Gtk", name = "PopoverMenu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPopoverMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the menu to switch to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_popover_menu_open_submenu" gtk_popover_menu_open_submenu :: 
+    Ptr PopoverMenu ->                      -- popover : TInterface (Name {namespace = "Gtk", name = "PopoverMenu"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Opens a submenu of the /@popover@/. The /@name@/
+must be one of the names given to the submenus
+of /@popover@/ with 'GI.Gtk.Objects.PopoverMenu.PopoverMenu':@/submenu/@, or
+\"main\" to switch back to the main menu.
+
+'GI.Gtk.Objects.ModelButton.ModelButton' will open submenus automatically
+when the 'GI.Gtk.Objects.ModelButton.ModelButton':@/menu-name/@ property is set,
+so this function is only needed when you are using
+other kinds of widgets to initiate menu changes.
+
+/Since: 3.16/
+-}
+popoverMenuOpenSubmenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPopoverMenu a) =>
+    a
+    {- ^ /@popover@/: a 'GI.Gtk.Objects.PopoverMenu.PopoverMenu' -}
+    -> T.Text
+    {- ^ /@name@/: the name of the menu to switch to -}
+    -> m ()
+popoverMenuOpenSubmenu popover name = liftIO $ do
+    popover' <- unsafeManagedPtrCastPtr popover
+    name' <- textToCString name
+    gtk_popover_menu_open_submenu popover' name'
+    touchManagedPtr popover
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PopoverMenuOpenSubmenuMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsPopoverMenu a) => O.MethodInfo PopoverMenuOpenSubmenuMethodInfo a signature where
+    overloadedMethod _ = popoverMenuOpenSubmenu
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/PopoverMenu.hs-boot b/GI/Gtk/Objects/PopoverMenu.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PopoverMenu.hs-boot
@@ -0,0 +1,35 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.PopoverMenu where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PopoverMenu = PopoverMenu (ManagedPtr PopoverMenu)
+instance GObject PopoverMenu where
+class (GObject o, O.IsDescendantOf PopoverMenu o) => IsPopoverMenu o
+instance (GObject o, O.IsDescendantOf PopoverMenu o) => IsPopoverMenu o
+instance O.HasParentTypes PopoverMenu
+#if ENABLE_OVERLOADING
+data PopoverMenuVisibleSubmenuPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PopoverMenuOpenSubmenuMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/PrintContext.hs b/GI/Gtk/Objects/PrintContext.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PrintContext.hs
@@ -0,0 +1,751 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkPrintContext encapsulates context information that is required when
+drawing pages for printing, such as the cairo context and important
+parameters like page size and resolution. It also lets you easily
+create 'GI.Pango.Objects.Layout.Layout' and 'GI.Pango.Objects.Context.Context' objects that match the font metrics
+of the cairo surface.
+
+GtkPrintContext objects gets passed to the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/begin-print/@,
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/end-print/@, 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/request-page-setup/@ and
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/draw-page/@ signals on the 'GI.Gtk.Objects.PrintOperation.PrintOperation'.
+
+## Using GtkPrintContext in a 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/draw-page/@ callback
+
+
+=== /C code/
+>
+>static void
+>draw_page (GtkPrintOperation *operation,
+>	   GtkPrintContext   *context,
+>	   int                page_nr)
+>{
+>  cairo_t *cr;
+>  PangoLayout *layout;
+>  PangoFontDescription *desc;
+>
+>  cr = gtk_print_context_get_cairo_context (context);
+>
+>  // Draw a red rectangle, as wide as the paper (inside the margins)
+>  cairo_set_source_rgb (cr, 1.0, 0, 0);
+>  cairo_rectangle (cr, 0, 0, gtk_print_context_get_width (context), 50);
+>
+>  cairo_fill (cr);
+>
+>  // Draw some lines
+>  cairo_move_to (cr, 20, 10);
+>  cairo_line_to (cr, 40, 20);
+>  cairo_arc (cr, 60, 60, 20, 0, M_PI);
+>  cairo_line_to (cr, 80, 20);
+>
+>  cairo_set_source_rgb (cr, 0, 0, 0);
+>  cairo_set_line_width (cr, 5);
+>  cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
+>  cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
+>
+>  cairo_stroke (cr);
+>
+>  // Draw some text
+>  layout = gtk_print_context_create_pango_layout (context);
+>  pango_layout_set_text (layout, "Hello World! Printing is easy", -1);
+>  desc = pango_font_description_from_string ("sans 28");
+>  pango_layout_set_font_description (layout, desc);
+>  pango_font_description_free (desc);
+>
+>  cairo_move_to (cr, 30, 20);
+>  pango_cairo_layout_path (cr, layout);
+>
+>  // Font Outline
+>  cairo_set_source_rgb (cr, 0.93, 1.0, 0.47);
+>  cairo_set_line_width (cr, 0.5);
+>  cairo_stroke_preserve (cr);
+>
+>  // Font Fill
+>  cairo_set_source_rgb (cr, 0, 0.0, 1.0);
+>  cairo_fill (cr);
+>
+>  g_object_unref (layout);
+>}
+
+
+Printing support was added in GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.PrintContext
+    ( 
+
+-- * Exported types
+    PrintContext(..)                        ,
+    IsPrintContext                          ,
+    toPrintContext                          ,
+    noPrintContext                          ,
+
+
+ -- * Methods
+-- ** createPangoContext #method:createPangoContext#
+
+#if ENABLE_OVERLOADING
+    PrintContextCreatePangoContextMethodInfo,
+#endif
+    printContextCreatePangoContext          ,
+
+
+-- ** createPangoLayout #method:createPangoLayout#
+
+#if ENABLE_OVERLOADING
+    PrintContextCreatePangoLayoutMethodInfo ,
+#endif
+    printContextCreatePangoLayout           ,
+
+
+-- ** getCairoContext #method:getCairoContext#
+
+#if ENABLE_OVERLOADING
+    PrintContextGetCairoContextMethodInfo   ,
+#endif
+    printContextGetCairoContext             ,
+
+
+-- ** getDpiX #method:getDpiX#
+
+#if ENABLE_OVERLOADING
+    PrintContextGetDpiXMethodInfo           ,
+#endif
+    printContextGetDpiX                     ,
+
+
+-- ** getDpiY #method:getDpiY#
+
+#if ENABLE_OVERLOADING
+    PrintContextGetDpiYMethodInfo           ,
+#endif
+    printContextGetDpiY                     ,
+
+
+-- ** getHardMargins #method:getHardMargins#
+
+#if ENABLE_OVERLOADING
+    PrintContextGetHardMarginsMethodInfo    ,
+#endif
+    printContextGetHardMargins              ,
+
+
+-- ** getHeight #method:getHeight#
+
+#if ENABLE_OVERLOADING
+    PrintContextGetHeightMethodInfo         ,
+#endif
+    printContextGetHeight                   ,
+
+
+-- ** getPageSetup #method:getPageSetup#
+
+#if ENABLE_OVERLOADING
+    PrintContextGetPageSetupMethodInfo      ,
+#endif
+    printContextGetPageSetup                ,
+
+
+-- ** getPangoFontmap #method:getPangoFontmap#
+
+#if ENABLE_OVERLOADING
+    PrintContextGetPangoFontmapMethodInfo   ,
+#endif
+    printContextGetPangoFontmap             ,
+
+
+-- ** getWidth #method:getWidth#
+
+#if ENABLE_OVERLOADING
+    PrintContextGetWidthMethodInfo          ,
+#endif
+    printContextGetWidth                    ,
+
+
+-- ** setCairoContext #method:setCairoContext#
+
+#if ENABLE_OVERLOADING
+    PrintContextSetCairoContextMethodInfo   ,
+#endif
+    printContextSetCairoContext             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Context as Cairo.Context
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.PageSetup as Gtk.PageSetup
+import qualified GI.Pango.Objects.Context as Pango.Context
+import qualified GI.Pango.Objects.FontMap as Pango.FontMap
+import qualified GI.Pango.Objects.Layout as Pango.Layout
+
+-- | Memory-managed wrapper type.
+newtype PrintContext = PrintContext (ManagedPtr PrintContext)
+foreign import ccall "gtk_print_context_get_type"
+    c_gtk_print_context_get_type :: IO GType
+
+instance GObject PrintContext where
+    gobjectType = c_gtk_print_context_get_type
+    
+
+-- | Type class for types which can be safely cast to `PrintContext`, for instance with `toPrintContext`.
+class (GObject o, O.IsDescendantOf PrintContext o) => IsPrintContext o
+instance (GObject o, O.IsDescendantOf PrintContext o) => IsPrintContext o
+
+instance O.HasParentTypes PrintContext
+type instance O.ParentTypes PrintContext = '[GObject.Object.Object]
+
+-- | Cast to `PrintContext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPrintContext :: (MonadIO m, IsPrintContext o) => o -> m PrintContext
+toPrintContext = liftIO . unsafeCastTo PrintContext
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PrintContext`.
+noPrintContext :: Maybe PrintContext
+noPrintContext = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePrintContextMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePrintContextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePrintContextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePrintContextMethod "createPangoContext" o = PrintContextCreatePangoContextMethodInfo
+    ResolvePrintContextMethod "createPangoLayout" o = PrintContextCreatePangoLayoutMethodInfo
+    ResolvePrintContextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePrintContextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePrintContextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePrintContextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePrintContextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePrintContextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePrintContextMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePrintContextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePrintContextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePrintContextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePrintContextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePrintContextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePrintContextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePrintContextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePrintContextMethod "getCairoContext" o = PrintContextGetCairoContextMethodInfo
+    ResolvePrintContextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePrintContextMethod "getDpiX" o = PrintContextGetDpiXMethodInfo
+    ResolvePrintContextMethod "getDpiY" o = PrintContextGetDpiYMethodInfo
+    ResolvePrintContextMethod "getHardMargins" o = PrintContextGetHardMarginsMethodInfo
+    ResolvePrintContextMethod "getHeight" o = PrintContextGetHeightMethodInfo
+    ResolvePrintContextMethod "getPageSetup" o = PrintContextGetPageSetupMethodInfo
+    ResolvePrintContextMethod "getPangoFontmap" o = PrintContextGetPangoFontmapMethodInfo
+    ResolvePrintContextMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePrintContextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePrintContextMethod "getWidth" o = PrintContextGetWidthMethodInfo
+    ResolvePrintContextMethod "setCairoContext" o = PrintContextSetCairoContextMethodInfo
+    ResolvePrintContextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePrintContextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePrintContextMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePrintContextMethod t PrintContext, O.MethodInfo info PrintContext p) => OL.IsLabel t (PrintContext -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PrintContext
+type instance O.AttributeList PrintContext = PrintContextAttributeList
+type PrintContextAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList PrintContext = PrintContextSignalList
+type PrintContextSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method PrintContext::create_pango_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Context"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_create_pango_context" gtk_print_context_create_pango_context :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    IO (Ptr Pango.Context.Context)
+
+{- |
+Creates a new 'GI.Pango.Objects.Context.Context' that can be used with the
+'GI.Gtk.Objects.PrintContext.PrintContext'.
+
+/Since: 2.10/
+-}
+printContextCreatePangoContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m Pango.Context.Context
+    {- ^ __Returns:__ a new Pango context for /@context@/ -}
+printContextCreatePangoContext context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_print_context_create_pango_context context'
+    checkUnexpectedReturnNULL "printContextCreatePangoContext" result
+    result' <- (wrapObject Pango.Context.Context) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintContextCreatePangoContextMethodInfo
+instance (signature ~ (m Pango.Context.Context), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextCreatePangoContextMethodInfo a signature where
+    overloadedMethod _ = printContextCreatePangoContext
+
+#endif
+
+-- method PrintContext::create_pango_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Layout"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_create_pango_layout" gtk_print_context_create_pango_layout :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    IO (Ptr Pango.Layout.Layout)
+
+{- |
+Creates a new 'GI.Pango.Objects.Layout.Layout' that is suitable for use
+with the 'GI.Gtk.Objects.PrintContext.PrintContext'.
+
+/Since: 2.10/
+-}
+printContextCreatePangoLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m Pango.Layout.Layout
+    {- ^ __Returns:__ a new Pango layout for /@context@/ -}
+printContextCreatePangoLayout context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_print_context_create_pango_layout context'
+    checkUnexpectedReturnNULL "printContextCreatePangoLayout" result
+    result' <- (wrapObject Pango.Layout.Layout) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintContextCreatePangoLayoutMethodInfo
+instance (signature ~ (m Pango.Layout.Layout), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextCreatePangoLayoutMethodInfo a signature where
+    overloadedMethod _ = printContextCreatePangoLayout
+
+#endif
+
+-- method PrintContext::get_cairo_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Context"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_get_cairo_context" gtk_print_context_get_cairo_context :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    IO (Ptr Cairo.Context.Context)
+
+{- |
+Obtains the cairo context that is associated with the
+'GI.Gtk.Objects.PrintContext.PrintContext'.
+
+/Since: 2.10/
+-}
+printContextGetCairoContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m Cairo.Context.Context
+    {- ^ __Returns:__ the cairo context of /@context@/ -}
+printContextGetCairoContext context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_print_context_get_cairo_context context'
+    checkUnexpectedReturnNULL "printContextGetCairoContext" result
+    result' <- (newBoxed Cairo.Context.Context) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintContextGetCairoContextMethodInfo
+instance (signature ~ (m Cairo.Context.Context), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextGetCairoContextMethodInfo a signature where
+    overloadedMethod _ = printContextGetCairoContext
+
+#endif
+
+-- method PrintContext::get_dpi_x
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_get_dpi_x" gtk_print_context_get_dpi_x :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    IO CDouble
+
+{- |
+Obtains the horizontal resolution of the 'GI.Gtk.Objects.PrintContext.PrintContext',
+in dots per inch.
+
+/Since: 2.10/
+-}
+printContextGetDpiX ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m Double
+    {- ^ __Returns:__ the horizontal resolution of /@context@/ -}
+printContextGetDpiX context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_print_context_get_dpi_x context'
+    let result' = realToFrac result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintContextGetDpiXMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextGetDpiXMethodInfo a signature where
+    overloadedMethod _ = printContextGetDpiX
+
+#endif
+
+-- method PrintContext::get_dpi_y
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_get_dpi_y" gtk_print_context_get_dpi_y :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    IO CDouble
+
+{- |
+Obtains the vertical resolution of the 'GI.Gtk.Objects.PrintContext.PrintContext',
+in dots per inch.
+
+/Since: 2.10/
+-}
+printContextGetDpiY ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m Double
+    {- ^ __Returns:__ the vertical resolution of /@context@/ -}
+printContextGetDpiY context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_print_context_get_dpi_y context'
+    let result' = realToFrac result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintContextGetDpiYMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextGetDpiYMethodInfo a signature where
+    overloadedMethod _ = printContextGetDpiY
+
+#endif
+
+-- method PrintContext::get_hard_margins
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "top", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "top hardware printer margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "bottom", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bottom hardware printer margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "left", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "left hardware printer margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "right", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "right hardware printer margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_get_hard_margins" gtk_print_context_get_hard_margins :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    Ptr CDouble ->                          -- top : TBasicType TDouble
+    Ptr CDouble ->                          -- bottom : TBasicType TDouble
+    Ptr CDouble ->                          -- left : TBasicType TDouble
+    Ptr CDouble ->                          -- right : TBasicType TDouble
+    IO CInt
+
+{- |
+Obtains the hardware printer margins of the 'GI.Gtk.Objects.PrintContext.PrintContext', in units.
+
+/Since: 2.20/
+-}
+printContextGetHardMargins ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m ((Bool, Double, Double, Double, Double))
+    {- ^ __Returns:__ 'True' if the hard margins were retrieved -}
+printContextGetHardMargins context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    top <- allocMem :: IO (Ptr CDouble)
+    bottom <- allocMem :: IO (Ptr CDouble)
+    left <- allocMem :: IO (Ptr CDouble)
+    right <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_print_context_get_hard_margins context' top bottom left right
+    let result' = (/= 0) result
+    top' <- peek top
+    let top'' = realToFrac top'
+    bottom' <- peek bottom
+    let bottom'' = realToFrac bottom'
+    left' <- peek left
+    let left'' = realToFrac left'
+    right' <- peek right
+    let right'' = realToFrac right'
+    touchManagedPtr context
+    freeMem top
+    freeMem bottom
+    freeMem left
+    freeMem right
+    return (result', top'', bottom'', left'', right'')
+
+#if ENABLE_OVERLOADING
+data PrintContextGetHardMarginsMethodInfo
+instance (signature ~ (m ((Bool, Double, Double, Double, Double))), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextGetHardMarginsMethodInfo a signature where
+    overloadedMethod _ = printContextGetHardMargins
+
+#endif
+
+-- method PrintContext::get_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_get_height" gtk_print_context_get_height :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    IO CDouble
+
+{- |
+Obtains the height of the 'GI.Gtk.Objects.PrintContext.PrintContext', in pixels.
+
+/Since: 2.10/
+-}
+printContextGetHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m Double
+    {- ^ __Returns:__ the height of /@context@/ -}
+printContextGetHeight context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_print_context_get_height context'
+    let result' = realToFrac result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintContextGetHeightMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextGetHeightMethodInfo a signature where
+    overloadedMethod _ = printContextGetHeight
+
+#endif
+
+-- method PrintContext::get_page_setup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageSetup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_get_page_setup" gtk_print_context_get_page_setup :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    IO (Ptr Gtk.PageSetup.PageSetup)
+
+{- |
+Obtains the 'GI.Gtk.Objects.PageSetup.PageSetup' that determines the page
+dimensions of the 'GI.Gtk.Objects.PrintContext.PrintContext'.
+
+/Since: 2.10/
+-}
+printContextGetPageSetup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m Gtk.PageSetup.PageSetup
+    {- ^ __Returns:__ the page setup of /@context@/ -}
+printContextGetPageSetup context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_print_context_get_page_setup context'
+    checkUnexpectedReturnNULL "printContextGetPageSetup" result
+    result' <- (newObject Gtk.PageSetup.PageSetup) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintContextGetPageSetupMethodInfo
+instance (signature ~ (m Gtk.PageSetup.PageSetup), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextGetPageSetupMethodInfo a signature where
+    overloadedMethod _ = printContextGetPageSetup
+
+#endif
+
+-- method PrintContext::get_pango_fontmap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontMap"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_get_pango_fontmap" gtk_print_context_get_pango_fontmap :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    IO (Ptr Pango.FontMap.FontMap)
+
+{- |
+Returns a 'GI.Pango.Objects.FontMap.FontMap' that is suitable for use
+with the 'GI.Gtk.Objects.PrintContext.PrintContext'.
+
+/Since: 2.10/
+-}
+printContextGetPangoFontmap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m Pango.FontMap.FontMap
+    {- ^ __Returns:__ the font map of /@context@/ -}
+printContextGetPangoFontmap context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_print_context_get_pango_fontmap context'
+    checkUnexpectedReturnNULL "printContextGetPangoFontmap" result
+    result' <- (newObject Pango.FontMap.FontMap) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintContextGetPangoFontmapMethodInfo
+instance (signature ~ (m Pango.FontMap.FontMap), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextGetPangoFontmapMethodInfo a signature where
+    overloadedMethod _ = printContextGetPangoFontmap
+
+#endif
+
+-- method PrintContext::get_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_get_width" gtk_print_context_get_width :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    IO CDouble
+
+{- |
+Obtains the width of the 'GI.Gtk.Objects.PrintContext.PrintContext', in pixels.
+
+/Since: 2.10/
+-}
+printContextGetWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> m Double
+    {- ^ __Returns:__ the width of /@context@/ -}
+printContextGetWidth context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_print_context_get_width context'
+    let result' = realToFrac result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintContextGetWidthMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextGetWidthMethodInfo a signature where
+    overloadedMethod _ = printContextGetWidth
+
+#endif
+
+-- method PrintContext::set_cairo_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "PrintContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the cairo context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dpi_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal resolution to use with @cr", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dpi_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical resolution to use with @cr", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_context_set_cairo_context" gtk_print_context_set_cairo_context :: 
+    Ptr PrintContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "PrintContext"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    CDouble ->                              -- dpi_x : TBasicType TDouble
+    CDouble ->                              -- dpi_y : TBasicType TDouble
+    IO ()
+
+{- |
+Sets a new cairo context on a print context.
+
+This function is intended to be used when implementing
+an internal print preview, it is not needed for printing,
+since GTK+ itself creates a suitable cairo context in that
+case.
+
+/Since: 2.10/
+-}
+printContextSetCairoContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.PrintContext.PrintContext' -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: the cairo context -}
+    -> Double
+    {- ^ /@dpiX@/: the horizontal resolution to use with /@cr@/ -}
+    -> Double
+    {- ^ /@dpiY@/: the vertical resolution to use with /@cr@/ -}
+    -> m ()
+printContextSetCairoContext context cr dpiX dpiY = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    cr' <- unsafeManagedPtrGetPtr cr
+    let dpiX' = realToFrac dpiX
+    let dpiY' = realToFrac dpiY
+    gtk_print_context_set_cairo_context context' cr' dpiX' dpiY'
+    touchManagedPtr context
+    touchManagedPtr cr
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintContextSetCairoContextMethodInfo
+instance (signature ~ (Cairo.Context.Context -> Double -> Double -> m ()), MonadIO m, IsPrintContext a) => O.MethodInfo PrintContextSetCairoContextMethodInfo a signature where
+    overloadedMethod _ = printContextSetCairoContext
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/PrintContext.hs-boot b/GI/Gtk/Objects/PrintContext.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PrintContext.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.PrintContext where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PrintContext = PrintContext (ManagedPtr PrintContext)
+instance GObject PrintContext where
+class (GObject o, O.IsDescendantOf PrintContext o) => IsPrintContext o
+instance (GObject o, O.IsDescendantOf PrintContext o) => IsPrintContext o
+instance O.HasParentTypes PrintContext
+#if ENABLE_OVERLOADING
+data PrintContextCreatePangoContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextCreatePangoLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextGetCairoContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextGetDpiXMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextGetDpiYMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextGetHardMarginsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextGetHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextGetPageSetupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextGetPangoFontmapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextGetWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintContextSetCairoContextMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/PrintOperation.hs b/GI/Gtk/Objects/PrintOperation.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PrintOperation.hs
@@ -0,0 +1,4244 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkPrintOperation is the high-level, portable printing API.
+It looks a bit different than other GTK+ dialogs such as the
+'GI.Gtk.Interfaces.FileChooser.FileChooser', since some platforms don’t expose enough
+infrastructure to implement a good print dialog. On such
+platforms, GtkPrintOperation uses the native print dialog.
+On platforms which do not provide a native print dialog, GTK+
+uses its own, see @/GtkPrintUnixDialog/@.
+
+The typical way to use the high-level printing API is to create
+a GtkPrintOperation object with 'GI.Gtk.Objects.PrintOperation.printOperationNew' when
+the user selects to print. Then you set some properties on it,
+e.g. the page size, any 'GI.Gtk.Objects.PrintSettings.PrintSettings' from previous print
+operations, the number of pages, the current page, etc.
+
+Then you start the print operation by calling 'GI.Gtk.Objects.PrintOperation.printOperationRun'.
+It will then show a dialog, let the user select a printer and
+options. When the user finished the dialog various signals will
+be emitted on the 'GI.Gtk.Objects.PrintOperation.PrintOperation', the main one being
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/draw-page/@, which you are supposed to catch
+and render the page on the provided 'GI.Gtk.Objects.PrintContext.PrintContext' using Cairo.
+
+= The high-level printing API
+
+
+=== /C code/
+>
+>static GtkPrintSettings *settings = NULL;
+>
+>static void
+>do_print (void)
+>{
+>  GtkPrintOperation *print;
+>  GtkPrintOperationResult res;
+>
+>  print = gtk_print_operation_new ();
+>
+>  if (settings != NULL)
+>    gtk_print_operation_set_print_settings (print, settings);
+>
+>  g_signal_connect (print, "begin_print", G_CALLBACK (begin_print), NULL);
+>  g_signal_connect (print, "draw_page", G_CALLBACK (draw_page), NULL);
+>
+>  res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
+>                                 GTK_WINDOW (main_window), NULL);
+>
+>  if (res == GTK_PRINT_OPERATION_RESULT_APPLY)
+>    {
+>      if (settings != NULL)
+>        g_object_unref (settings);
+>      settings = g_object_ref (gtk_print_operation_get_print_settings (print));
+>    }
+>
+>  g_object_unref (print);
+>}
+
+
+By default GtkPrintOperation uses an external application to do
+print preview. To implement a custom print preview, an application
+must connect to the preview signal. The functions
+'GI.Gtk.Interfaces.PrintOperationPreview.printOperationPreviewRenderPage',
+'GI.Gtk.Interfaces.PrintOperationPreview.printOperationPreviewEndPreview' and
+'GI.Gtk.Interfaces.PrintOperationPreview.printOperationPreviewIsSelected'
+are useful when implementing a print preview.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.PrintOperation
+    ( 
+
+-- * Exported types
+    PrintOperation(..)                      ,
+    IsPrintOperation                        ,
+    toPrintOperation                        ,
+    noPrintOperation                        ,
+
+
+ -- * Methods
+-- ** cancel #method:cancel#
+
+#if ENABLE_OVERLOADING
+    PrintOperationCancelMethodInfo          ,
+#endif
+    printOperationCancel                    ,
+
+
+-- ** drawPageFinish #method:drawPageFinish#
+
+#if ENABLE_OVERLOADING
+    PrintOperationDrawPageFinishMethodInfo  ,
+#endif
+    printOperationDrawPageFinish            ,
+
+
+-- ** getDefaultPageSetup #method:getDefaultPageSetup#
+
+#if ENABLE_OVERLOADING
+    PrintOperationGetDefaultPageSetupMethodInfo,
+#endif
+    printOperationGetDefaultPageSetup       ,
+
+
+-- ** getEmbedPageSetup #method:getEmbedPageSetup#
+
+#if ENABLE_OVERLOADING
+    PrintOperationGetEmbedPageSetupMethodInfo,
+#endif
+    printOperationGetEmbedPageSetup         ,
+
+
+-- ** getError #method:getError#
+
+#if ENABLE_OVERLOADING
+    PrintOperationGetErrorMethodInfo        ,
+#endif
+    printOperationGetError                  ,
+
+
+-- ** getHasSelection #method:getHasSelection#
+
+#if ENABLE_OVERLOADING
+    PrintOperationGetHasSelectionMethodInfo ,
+#endif
+    printOperationGetHasSelection           ,
+
+
+-- ** getNPagesToPrint #method:getNPagesToPrint#
+
+#if ENABLE_OVERLOADING
+    PrintOperationGetNPagesToPrintMethodInfo,
+#endif
+    printOperationGetNPagesToPrint          ,
+
+
+-- ** getPrintSettings #method:getPrintSettings#
+
+#if ENABLE_OVERLOADING
+    PrintOperationGetPrintSettingsMethodInfo,
+#endif
+    printOperationGetPrintSettings          ,
+
+
+-- ** getStatus #method:getStatus#
+
+#if ENABLE_OVERLOADING
+    PrintOperationGetStatusMethodInfo       ,
+#endif
+    printOperationGetStatus                 ,
+
+
+-- ** getStatusString #method:getStatusString#
+
+#if ENABLE_OVERLOADING
+    PrintOperationGetStatusStringMethodInfo ,
+#endif
+    printOperationGetStatusString           ,
+
+
+-- ** getSupportSelection #method:getSupportSelection#
+
+#if ENABLE_OVERLOADING
+    PrintOperationGetSupportSelectionMethodInfo,
+#endif
+    printOperationGetSupportSelection       ,
+
+
+-- ** isFinished #method:isFinished#
+
+#if ENABLE_OVERLOADING
+    PrintOperationIsFinishedMethodInfo      ,
+#endif
+    printOperationIsFinished                ,
+
+
+-- ** new #method:new#
+
+    printOperationNew                       ,
+
+
+-- ** run #method:run#
+
+#if ENABLE_OVERLOADING
+    PrintOperationRunMethodInfo             ,
+#endif
+    printOperationRun                       ,
+
+
+-- ** setAllowAsync #method:setAllowAsync#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetAllowAsyncMethodInfo   ,
+#endif
+    printOperationSetAllowAsync             ,
+
+
+-- ** setCurrentPage #method:setCurrentPage#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetCurrentPageMethodInfo  ,
+#endif
+    printOperationSetCurrentPage            ,
+
+
+-- ** setCustomTabLabel #method:setCustomTabLabel#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetCustomTabLabelMethodInfo,
+#endif
+    printOperationSetCustomTabLabel         ,
+
+
+-- ** setDefaultPageSetup #method:setDefaultPageSetup#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetDefaultPageSetupMethodInfo,
+#endif
+    printOperationSetDefaultPageSetup       ,
+
+
+-- ** setDeferDrawing #method:setDeferDrawing#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetDeferDrawingMethodInfo ,
+#endif
+    printOperationSetDeferDrawing           ,
+
+
+-- ** setEmbedPageSetup #method:setEmbedPageSetup#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetEmbedPageSetupMethodInfo,
+#endif
+    printOperationSetEmbedPageSetup         ,
+
+
+-- ** setExportFilename #method:setExportFilename#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetExportFilenameMethodInfo,
+#endif
+    printOperationSetExportFilename         ,
+
+
+-- ** setHasSelection #method:setHasSelection#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetHasSelectionMethodInfo ,
+#endif
+    printOperationSetHasSelection           ,
+
+
+-- ** setJobName #method:setJobName#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetJobNameMethodInfo      ,
+#endif
+    printOperationSetJobName                ,
+
+
+-- ** setNPages #method:setNPages#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetNPagesMethodInfo       ,
+#endif
+    printOperationSetNPages                 ,
+
+
+-- ** setPrintSettings #method:setPrintSettings#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetPrintSettingsMethodInfo,
+#endif
+    printOperationSetPrintSettings          ,
+
+
+-- ** setShowProgress #method:setShowProgress#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetShowProgressMethodInfo ,
+#endif
+    printOperationSetShowProgress           ,
+
+
+-- ** setSupportSelection #method:setSupportSelection#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetSupportSelectionMethodInfo,
+#endif
+    printOperationSetSupportSelection       ,
+
+
+-- ** setTrackPrintStatus #method:setTrackPrintStatus#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetTrackPrintStatusMethodInfo,
+#endif
+    printOperationSetTrackPrintStatus       ,
+
+
+-- ** setUnit #method:setUnit#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetUnitMethodInfo         ,
+#endif
+    printOperationSetUnit                   ,
+
+
+-- ** setUseFullPage #method:setUseFullPage#
+
+#if ENABLE_OVERLOADING
+    PrintOperationSetUseFullPageMethodInfo  ,
+#endif
+    printOperationSetUseFullPage            ,
+
+
+
+
+ -- * Properties
+-- ** allowAsync #attr:allowAsync#
+{- | Determines whether the print operation may run asynchronously or not.
+
+Some systems don\'t support asynchronous printing, but those that do
+will return 'GI.Gtk.Enums.PrintOperationResultInProgress' as the status, and
+emit the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/done/@ signal when the operation is actually
+done.
+
+The Windows port does not support asynchronous operation at all (this
+is unlikely to change). On other platforms, all actions except for
+'GI.Gtk.Enums.PrintOperationActionExport' support asynchronous operation.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationAllowAsyncPropertyInfo    ,
+#endif
+    constructPrintOperationAllowAsync       ,
+    getPrintOperationAllowAsync             ,
+#if ENABLE_OVERLOADING
+    printOperationAllowAsync                ,
+#endif
+    setPrintOperationAllowAsync             ,
+
+
+-- ** currentPage #attr:currentPage#
+{- | The current page in the document.
+
+If this is set before 'GI.Gtk.Objects.PrintOperation.printOperationRun',
+the user will be able to select to print only the current page.
+
+Note that this only makes sense for pre-paginated documents.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationCurrentPagePropertyInfo   ,
+#endif
+    constructPrintOperationCurrentPage      ,
+    getPrintOperationCurrentPage            ,
+#if ENABLE_OVERLOADING
+    printOperationCurrentPage               ,
+#endif
+    setPrintOperationCurrentPage            ,
+
+
+-- ** customTabLabel #attr:customTabLabel#
+{- | Used as the label of the tab containing custom widgets.
+Note that this property may be ignored on some platforms.
+
+If this is 'Nothing', GTK+ uses a default label.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationCustomTabLabelPropertyInfo,
+#endif
+    clearPrintOperationCustomTabLabel       ,
+    constructPrintOperationCustomTabLabel   ,
+    getPrintOperationCustomTabLabel         ,
+#if ENABLE_OVERLOADING
+    printOperationCustomTabLabel            ,
+#endif
+    setPrintOperationCustomTabLabel         ,
+
+
+-- ** defaultPageSetup #attr:defaultPageSetup#
+{- | The 'GI.Gtk.Objects.PageSetup.PageSetup' used by default.
+
+This page setup will be used by 'GI.Gtk.Objects.PrintOperation.printOperationRun',
+but it can be overridden on a per-page basis by connecting
+to the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/request-page-setup/@ signal.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationDefaultPageSetupPropertyInfo,
+#endif
+    clearPrintOperationDefaultPageSetup     ,
+    constructPrintOperationDefaultPageSetup ,
+    getPrintOperationDefaultPageSetup       ,
+#if ENABLE_OVERLOADING
+    printOperationDefaultPageSetup          ,
+#endif
+    setPrintOperationDefaultPageSetup       ,
+
+
+-- ** embedPageSetup #attr:embedPageSetup#
+{- | If 'True', page size combo box and orientation combo box are embedded into page setup page.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationEmbedPageSetupPropertyInfo,
+#endif
+    constructPrintOperationEmbedPageSetup   ,
+    getPrintOperationEmbedPageSetup         ,
+#if ENABLE_OVERLOADING
+    printOperationEmbedPageSetup            ,
+#endif
+    setPrintOperationEmbedPageSetup         ,
+
+
+-- ** exportFilename #attr:exportFilename#
+{- | The name of a file to generate instead of showing the print dialog.
+Currently, PDF is the only supported format.
+
+The intended use of this property is for implementing
+“Export to PDF” actions.
+
+“Print to PDF” support is independent of this and is done
+by letting the user pick the “Print to PDF” item from the
+list of printers in the print dialog.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationExportFilenamePropertyInfo,
+#endif
+    clearPrintOperationExportFilename       ,
+    constructPrintOperationExportFilename   ,
+    getPrintOperationExportFilename         ,
+#if ENABLE_OVERLOADING
+    printOperationExportFilename            ,
+#endif
+    setPrintOperationExportFilename         ,
+
+
+-- ** hasSelection #attr:hasSelection#
+{- | Determines whether there is a selection in your application.
+This can allow your application to print the selection.
+This is typically used to make a \"Selection\" button sensitive.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationHasSelectionPropertyInfo  ,
+#endif
+    constructPrintOperationHasSelection     ,
+    getPrintOperationHasSelection           ,
+#if ENABLE_OVERLOADING
+    printOperationHasSelection              ,
+#endif
+    setPrintOperationHasSelection           ,
+
+
+-- ** jobName #attr:jobName#
+{- | A string used to identify the job (e.g. in monitoring
+applications like eggcups).
+
+If you don\'t set a job name, GTK+ picks a default one
+by numbering successive print jobs.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationJobNamePropertyInfo       ,
+#endif
+    constructPrintOperationJobName          ,
+    getPrintOperationJobName                ,
+#if ENABLE_OVERLOADING
+    printOperationJobName                   ,
+#endif
+    setPrintOperationJobName                ,
+
+
+-- ** nPages #attr:nPages#
+{- | The number of pages in the document.
+
+This must be set to a positive number
+before the rendering starts. It may be set in a
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/begin-print/@ signal hander.
+
+Note that the page numbers passed to the
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/request-page-setup/@ and
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/draw-page/@ signals are 0-based, i.e. if
+the user chooses to print all pages, the last ::draw-page signal
+will be for page /@nPages@/ - 1.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationNPagesPropertyInfo        ,
+#endif
+    constructPrintOperationNPages           ,
+    getPrintOperationNPages                 ,
+#if ENABLE_OVERLOADING
+    printOperationNPages                    ,
+#endif
+    setPrintOperationNPages                 ,
+
+
+-- ** nPagesToPrint #attr:nPagesToPrint#
+{- | The number of pages that will be printed.
+
+Note that this value is set during print preparation phase
+('GI.Gtk.Enums.PrintStatusPreparing'), so this value should never be
+get before the data generation phase ('GI.Gtk.Enums.PrintStatusGeneratingData').
+You can connect to the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/status-changed/@ signal
+and call 'GI.Gtk.Objects.PrintOperation.printOperationGetNPagesToPrint' when
+print status is 'GI.Gtk.Enums.PrintStatusGeneratingData'.
+This is typically used to track the progress of print operation.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationNPagesToPrintPropertyInfo ,
+#endif
+    getPrintOperationNPagesToPrint          ,
+#if ENABLE_OVERLOADING
+    printOperationNPagesToPrint             ,
+#endif
+
+
+-- ** printSettings #attr:printSettings#
+{- | The 'GI.Gtk.Objects.PrintSettings.PrintSettings' used for initializing the dialog.
+
+Setting this property is typically used to re-establish
+print settings from a previous print operation, see
+'GI.Gtk.Objects.PrintOperation.printOperationRun'.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationPrintSettingsPropertyInfo ,
+#endif
+    clearPrintOperationPrintSettings        ,
+    constructPrintOperationPrintSettings    ,
+    getPrintOperationPrintSettings          ,
+#if ENABLE_OVERLOADING
+    printOperationPrintSettings             ,
+#endif
+    setPrintOperationPrintSettings          ,
+
+
+-- ** showProgress #attr:showProgress#
+{- | Determines whether to show a progress dialog during the
+print operation.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationShowProgressPropertyInfo  ,
+#endif
+    constructPrintOperationShowProgress     ,
+    getPrintOperationShowProgress           ,
+#if ENABLE_OVERLOADING
+    printOperationShowProgress              ,
+#endif
+    setPrintOperationShowProgress           ,
+
+
+-- ** status #attr:status#
+{- | The status of the print operation.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationStatusPropertyInfo        ,
+#endif
+    getPrintOperationStatus                 ,
+#if ENABLE_OVERLOADING
+    printOperationStatus                    ,
+#endif
+
+
+-- ** statusString #attr:statusString#
+{- | A string representation of the status of the print operation.
+The string is translated and suitable for displaying the print
+status e.g. in a 'GI.Gtk.Objects.Statusbar.Statusbar'.
+
+See the 'GI.Gtk.Objects.PrintOperation.PrintOperation':@/status/@ property for a status value that
+is suitable for programmatic use.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationStatusStringPropertyInfo  ,
+#endif
+    getPrintOperationStatusString           ,
+#if ENABLE_OVERLOADING
+    printOperationStatusString              ,
+#endif
+
+
+-- ** supportSelection #attr:supportSelection#
+{- | If 'True', the print operation will support print of selection.
+This allows the print dialog to show a \"Selection\" button.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationSupportSelectionPropertyInfo,
+#endif
+    constructPrintOperationSupportSelection ,
+    getPrintOperationSupportSelection       ,
+#if ENABLE_OVERLOADING
+    printOperationSupportSelection          ,
+#endif
+    setPrintOperationSupportSelection       ,
+
+
+-- ** trackPrintStatus #attr:trackPrintStatus#
+{- | If 'True', the print operation will try to continue report on
+the status of the print job in the printer queues and printer.
+This can allow your application to show things like “out of paper”
+issues, and when the print job actually reaches the printer.
+However, this is often implemented using polling, and should
+not be enabled unless needed.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationTrackPrintStatusPropertyInfo,
+#endif
+    constructPrintOperationTrackPrintStatus ,
+    getPrintOperationTrackPrintStatus       ,
+#if ENABLE_OVERLOADING
+    printOperationTrackPrintStatus          ,
+#endif
+    setPrintOperationTrackPrintStatus       ,
+
+
+-- ** unit #attr:unit#
+{- | The transformation for the cairo context obtained from
+'GI.Gtk.Objects.PrintContext.PrintContext' is set up in such a way that distances
+are measured in units of /@unit@/.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationUnitPropertyInfo          ,
+#endif
+    constructPrintOperationUnit             ,
+    getPrintOperationUnit                   ,
+#if ENABLE_OVERLOADING
+    printOperationUnit                      ,
+#endif
+    setPrintOperationUnit                   ,
+
+
+-- ** useFullPage #attr:useFullPage#
+{- | If 'True', the transformation for the cairo context obtained
+from 'GI.Gtk.Objects.PrintContext.PrintContext' puts the origin at the top left corner
+of the page (which may not be the top left corner of the sheet,
+depending on page orientation and the number of pages per sheet).
+Otherwise, the origin is at the top left corner of the imageable
+area (i.e. inside the margins).
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    PrintOperationUseFullPagePropertyInfo   ,
+#endif
+    constructPrintOperationUseFullPage      ,
+    getPrintOperationUseFullPage            ,
+#if ENABLE_OVERLOADING
+    printOperationUseFullPage               ,
+#endif
+    setPrintOperationUseFullPage            ,
+
+
+
+
+ -- * Signals
+-- ** beginPrint #signal:beginPrint#
+
+    C_PrintOperationBeginPrintCallback      ,
+    PrintOperationBeginPrintCallback        ,
+#if ENABLE_OVERLOADING
+    PrintOperationBeginPrintSignalInfo      ,
+#endif
+    afterPrintOperationBeginPrint           ,
+    genClosure_PrintOperationBeginPrint     ,
+    mk_PrintOperationBeginPrintCallback     ,
+    noPrintOperationBeginPrintCallback      ,
+    onPrintOperationBeginPrint              ,
+    wrap_PrintOperationBeginPrintCallback   ,
+
+
+-- ** createCustomWidget #signal:createCustomWidget#
+
+    C_PrintOperationCreateCustomWidgetCallback,
+    PrintOperationCreateCustomWidgetCallback,
+#if ENABLE_OVERLOADING
+    PrintOperationCreateCustomWidgetSignalInfo,
+#endif
+    afterPrintOperationCreateCustomWidget   ,
+    genClosure_PrintOperationCreateCustomWidget,
+    mk_PrintOperationCreateCustomWidgetCallback,
+    noPrintOperationCreateCustomWidgetCallback,
+    onPrintOperationCreateCustomWidget      ,
+    wrap_PrintOperationCreateCustomWidgetCallback,
+
+
+-- ** customWidgetApply #signal:customWidgetApply#
+
+    C_PrintOperationCustomWidgetApplyCallback,
+    PrintOperationCustomWidgetApplyCallback ,
+#if ENABLE_OVERLOADING
+    PrintOperationCustomWidgetApplySignalInfo,
+#endif
+    afterPrintOperationCustomWidgetApply    ,
+    genClosure_PrintOperationCustomWidgetApply,
+    mk_PrintOperationCustomWidgetApplyCallback,
+    noPrintOperationCustomWidgetApplyCallback,
+    onPrintOperationCustomWidgetApply       ,
+    wrap_PrintOperationCustomWidgetApplyCallback,
+
+
+-- ** done #signal:done#
+
+    C_PrintOperationDoneCallback            ,
+    PrintOperationDoneCallback              ,
+#if ENABLE_OVERLOADING
+    PrintOperationDoneSignalInfo            ,
+#endif
+    afterPrintOperationDone                 ,
+    genClosure_PrintOperationDone           ,
+    mk_PrintOperationDoneCallback           ,
+    noPrintOperationDoneCallback            ,
+    onPrintOperationDone                    ,
+    wrap_PrintOperationDoneCallback         ,
+
+
+-- ** drawPage #signal:drawPage#
+
+    C_PrintOperationDrawPageCallback        ,
+    PrintOperationDrawPageCallback          ,
+#if ENABLE_OVERLOADING
+    PrintOperationDrawPageSignalInfo        ,
+#endif
+    afterPrintOperationDrawPage             ,
+    genClosure_PrintOperationDrawPage       ,
+    mk_PrintOperationDrawPageCallback       ,
+    noPrintOperationDrawPageCallback        ,
+    onPrintOperationDrawPage                ,
+    wrap_PrintOperationDrawPageCallback     ,
+
+
+-- ** endPrint #signal:endPrint#
+
+    C_PrintOperationEndPrintCallback        ,
+    PrintOperationEndPrintCallback          ,
+#if ENABLE_OVERLOADING
+    PrintOperationEndPrintSignalInfo        ,
+#endif
+    afterPrintOperationEndPrint             ,
+    genClosure_PrintOperationEndPrint       ,
+    mk_PrintOperationEndPrintCallback       ,
+    noPrintOperationEndPrintCallback        ,
+    onPrintOperationEndPrint                ,
+    wrap_PrintOperationEndPrintCallback     ,
+
+
+-- ** paginate #signal:paginate#
+
+    C_PrintOperationPaginateCallback        ,
+    PrintOperationPaginateCallback          ,
+#if ENABLE_OVERLOADING
+    PrintOperationPaginateSignalInfo        ,
+#endif
+    afterPrintOperationPaginate             ,
+    genClosure_PrintOperationPaginate       ,
+    mk_PrintOperationPaginateCallback       ,
+    noPrintOperationPaginateCallback        ,
+    onPrintOperationPaginate                ,
+    wrap_PrintOperationPaginateCallback     ,
+
+
+-- ** preview #signal:preview#
+
+    C_PrintOperationPreviewCallback         ,
+    PrintOperationPreviewCallback           ,
+#if ENABLE_OVERLOADING
+    PrintOperationPreviewSignalInfo         ,
+#endif
+    afterPrintOperationPreview              ,
+    genClosure_PrintOperationPreview        ,
+    mk_PrintOperationPreviewCallback        ,
+    noPrintOperationPreviewCallback         ,
+    onPrintOperationPreview                 ,
+    wrap_PrintOperationPreviewCallback      ,
+
+
+-- ** requestPageSetup #signal:requestPageSetup#
+
+    C_PrintOperationRequestPageSetupCallback,
+    PrintOperationRequestPageSetupCallback  ,
+#if ENABLE_OVERLOADING
+    PrintOperationRequestPageSetupSignalInfo,
+#endif
+    afterPrintOperationRequestPageSetup     ,
+    genClosure_PrintOperationRequestPageSetup,
+    mk_PrintOperationRequestPageSetupCallback,
+    noPrintOperationRequestPageSetupCallback,
+    onPrintOperationRequestPageSetup        ,
+    wrap_PrintOperationRequestPageSetupCallback,
+
+
+-- ** statusChanged #signal:statusChanged#
+
+    C_PrintOperationStatusChangedCallback   ,
+    PrintOperationStatusChangedCallback     ,
+#if ENABLE_OVERLOADING
+    PrintOperationStatusChangedSignalInfo   ,
+#endif
+    afterPrintOperationStatusChanged        ,
+    genClosure_PrintOperationStatusChanged  ,
+    mk_PrintOperationStatusChangedCallback  ,
+    noPrintOperationStatusChangedCallback   ,
+    onPrintOperationStatusChanged           ,
+    wrap_PrintOperationStatusChangedCallback,
+
+
+-- ** updateCustomWidget #signal:updateCustomWidget#
+
+    C_PrintOperationUpdateCustomWidgetCallback,
+    PrintOperationUpdateCustomWidgetCallback,
+#if ENABLE_OVERLOADING
+    PrintOperationUpdateCustomWidgetSignalInfo,
+#endif
+    afterPrintOperationUpdateCustomWidget   ,
+    genClosure_PrintOperationUpdateCustomWidget,
+    mk_PrintOperationUpdateCustomWidgetCallback,
+    noPrintOperationUpdateCustomWidgetCallback,
+    onPrintOperationUpdateCustomWidget      ,
+    wrap_PrintOperationUpdateCustomWidgetCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.PrintOperationPreview as Gtk.PrintOperationPreview
+import {-# SOURCE #-} qualified GI.Gtk.Objects.PageSetup as Gtk.PageSetup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.PrintContext as Gtk.PrintContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.PrintSettings as Gtk.PrintSettings
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype PrintOperation = PrintOperation (ManagedPtr PrintOperation)
+foreign import ccall "gtk_print_operation_get_type"
+    c_gtk_print_operation_get_type :: IO GType
+
+instance GObject PrintOperation where
+    gobjectType = c_gtk_print_operation_get_type
+    
+
+-- | Type class for types which can be safely cast to `PrintOperation`, for instance with `toPrintOperation`.
+class (GObject o, O.IsDescendantOf PrintOperation o) => IsPrintOperation o
+instance (GObject o, O.IsDescendantOf PrintOperation o) => IsPrintOperation o
+
+instance O.HasParentTypes PrintOperation
+type instance O.ParentTypes PrintOperation = '[GObject.Object.Object, Gtk.PrintOperationPreview.PrintOperationPreview]
+
+-- | Cast to `PrintOperation`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPrintOperation :: (MonadIO m, IsPrintOperation o) => o -> m PrintOperation
+toPrintOperation = liftIO . unsafeCastTo PrintOperation
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PrintOperation`.
+noPrintOperation :: Maybe PrintOperation
+noPrintOperation = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePrintOperationMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePrintOperationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePrintOperationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePrintOperationMethod "cancel" o = PrintOperationCancelMethodInfo
+    ResolvePrintOperationMethod "drawPageFinish" o = PrintOperationDrawPageFinishMethodInfo
+    ResolvePrintOperationMethod "endPreview" o = Gtk.PrintOperationPreview.PrintOperationPreviewEndPreviewMethodInfo
+    ResolvePrintOperationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePrintOperationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePrintOperationMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePrintOperationMethod "isFinished" o = PrintOperationIsFinishedMethodInfo
+    ResolvePrintOperationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePrintOperationMethod "isSelected" o = Gtk.PrintOperationPreview.PrintOperationPreviewIsSelectedMethodInfo
+    ResolvePrintOperationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePrintOperationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePrintOperationMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePrintOperationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePrintOperationMethod "renderPage" o = Gtk.PrintOperationPreview.PrintOperationPreviewRenderPageMethodInfo
+    ResolvePrintOperationMethod "run" o = PrintOperationRunMethodInfo
+    ResolvePrintOperationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePrintOperationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePrintOperationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePrintOperationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePrintOperationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePrintOperationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePrintOperationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePrintOperationMethod "getDefaultPageSetup" o = PrintOperationGetDefaultPageSetupMethodInfo
+    ResolvePrintOperationMethod "getEmbedPageSetup" o = PrintOperationGetEmbedPageSetupMethodInfo
+    ResolvePrintOperationMethod "getError" o = PrintOperationGetErrorMethodInfo
+    ResolvePrintOperationMethod "getHasSelection" o = PrintOperationGetHasSelectionMethodInfo
+    ResolvePrintOperationMethod "getNPagesToPrint" o = PrintOperationGetNPagesToPrintMethodInfo
+    ResolvePrintOperationMethod "getPrintSettings" o = PrintOperationGetPrintSettingsMethodInfo
+    ResolvePrintOperationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePrintOperationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePrintOperationMethod "getStatus" o = PrintOperationGetStatusMethodInfo
+    ResolvePrintOperationMethod "getStatusString" o = PrintOperationGetStatusStringMethodInfo
+    ResolvePrintOperationMethod "getSupportSelection" o = PrintOperationGetSupportSelectionMethodInfo
+    ResolvePrintOperationMethod "setAllowAsync" o = PrintOperationSetAllowAsyncMethodInfo
+    ResolvePrintOperationMethod "setCurrentPage" o = PrintOperationSetCurrentPageMethodInfo
+    ResolvePrintOperationMethod "setCustomTabLabel" o = PrintOperationSetCustomTabLabelMethodInfo
+    ResolvePrintOperationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePrintOperationMethod "setDefaultPageSetup" o = PrintOperationSetDefaultPageSetupMethodInfo
+    ResolvePrintOperationMethod "setDeferDrawing" o = PrintOperationSetDeferDrawingMethodInfo
+    ResolvePrintOperationMethod "setEmbedPageSetup" o = PrintOperationSetEmbedPageSetupMethodInfo
+    ResolvePrintOperationMethod "setExportFilename" o = PrintOperationSetExportFilenameMethodInfo
+    ResolvePrintOperationMethod "setHasSelection" o = PrintOperationSetHasSelectionMethodInfo
+    ResolvePrintOperationMethod "setJobName" o = PrintOperationSetJobNameMethodInfo
+    ResolvePrintOperationMethod "setNPages" o = PrintOperationSetNPagesMethodInfo
+    ResolvePrintOperationMethod "setPrintSettings" o = PrintOperationSetPrintSettingsMethodInfo
+    ResolvePrintOperationMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePrintOperationMethod "setShowProgress" o = PrintOperationSetShowProgressMethodInfo
+    ResolvePrintOperationMethod "setSupportSelection" o = PrintOperationSetSupportSelectionMethodInfo
+    ResolvePrintOperationMethod "setTrackPrintStatus" o = PrintOperationSetTrackPrintStatusMethodInfo
+    ResolvePrintOperationMethod "setUnit" o = PrintOperationSetUnitMethodInfo
+    ResolvePrintOperationMethod "setUseFullPage" o = PrintOperationSetUseFullPageMethodInfo
+    ResolvePrintOperationMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePrintOperationMethod t PrintOperation, O.MethodInfo info PrintOperation p) => OL.IsLabel t (PrintOperation -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal PrintOperation::begin-print
+{- |
+Emitted after the user has finished changing print settings
+in the dialog, before the actual rendering starts.
+
+A typical use for ::begin-print is to use the parameters from the
+'GI.Gtk.Objects.PrintContext.PrintContext' and paginate the document accordingly, and then
+set the number of pages with 'GI.Gtk.Objects.PrintOperation.printOperationSetNPages'.
+
+/Since: 2.10/
+-}
+type PrintOperationBeginPrintCallback =
+    Gtk.PrintContext.PrintContext
+    {- ^ /@context@/: the 'GI.Gtk.Objects.PrintContext.PrintContext' for the current operation -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationBeginPrintCallback`@.
+noPrintOperationBeginPrintCallback :: Maybe PrintOperationBeginPrintCallback
+noPrintOperationBeginPrintCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationBeginPrintCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.PrintContext.PrintContext ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationBeginPrintCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationBeginPrintCallback :: C_PrintOperationBeginPrintCallback -> IO (FunPtr C_PrintOperationBeginPrintCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationBeginPrint :: MonadIO m => PrintOperationBeginPrintCallback -> m (GClosure C_PrintOperationBeginPrintCallback)
+genClosure_PrintOperationBeginPrint cb = liftIO $ do
+    let cb' = wrap_PrintOperationBeginPrintCallback cb
+    mk_PrintOperationBeginPrintCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationBeginPrintCallback` into a `C_PrintOperationBeginPrintCallback`.
+wrap_PrintOperationBeginPrintCallback ::
+    PrintOperationBeginPrintCallback ->
+    C_PrintOperationBeginPrintCallback
+wrap_PrintOperationBeginPrintCallback _cb _ context _ = do
+    context' <- (newObject Gtk.PrintContext.PrintContext) context
+    _cb  context'
+
+
+{- |
+Connect a signal handler for the “@begin-print@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #beginPrint callback
+@
+-}
+onPrintOperationBeginPrint :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationBeginPrintCallback -> m SignalHandlerId
+onPrintOperationBeginPrint obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationBeginPrintCallback cb
+    cb'' <- mk_PrintOperationBeginPrintCallback cb'
+    connectSignalFunPtr obj "begin-print" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@begin-print@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #beginPrint callback
+@
+-}
+afterPrintOperationBeginPrint :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationBeginPrintCallback -> m SignalHandlerId
+afterPrintOperationBeginPrint obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationBeginPrintCallback cb
+    cb'' <- mk_PrintOperationBeginPrintCallback cb'
+    connectSignalFunPtr obj "begin-print" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::create-custom-widget
+{- |
+Emitted when displaying the print dialog. If you return a
+widget in a handler for this signal it will be added to a custom
+tab in the print dialog. You typically return a container widget
+with multiple widgets in it.
+
+The print dialog owns the returned widget, and its lifetime is not
+controlled by the application. However, the widget is guaranteed
+to stay around until the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/custom-widget-apply/@
+signal is emitted on the operation. Then you can read out any
+information you need from the widgets.
+
+/Since: 2.10/
+-}
+type PrintOperationCreateCustomWidgetCallback =
+    IO GObject.Object.Object
+    {- ^ __Returns:__ A custom widget that gets embedded in
+         the print dialog, or 'Nothing' -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationCreateCustomWidgetCallback`@.
+noPrintOperationCreateCustomWidgetCallback :: Maybe PrintOperationCreateCustomWidgetCallback
+noPrintOperationCreateCustomWidgetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationCreateCustomWidgetCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO (Ptr GObject.Object.Object)
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationCreateCustomWidgetCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationCreateCustomWidgetCallback :: C_PrintOperationCreateCustomWidgetCallback -> IO (FunPtr C_PrintOperationCreateCustomWidgetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationCreateCustomWidget :: MonadIO m => PrintOperationCreateCustomWidgetCallback -> m (GClosure C_PrintOperationCreateCustomWidgetCallback)
+genClosure_PrintOperationCreateCustomWidget cb = liftIO $ do
+    let cb' = wrap_PrintOperationCreateCustomWidgetCallback cb
+    mk_PrintOperationCreateCustomWidgetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationCreateCustomWidgetCallback` into a `C_PrintOperationCreateCustomWidgetCallback`.
+wrap_PrintOperationCreateCustomWidgetCallback ::
+    PrintOperationCreateCustomWidgetCallback ->
+    C_PrintOperationCreateCustomWidgetCallback
+wrap_PrintOperationCreateCustomWidgetCallback _cb _ _ = do
+    result <- _cb 
+    result' <- B.ManagedPtr.disownObject result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@create-custom-widget@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #createCustomWidget callback
+@
+-}
+onPrintOperationCreateCustomWidget :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationCreateCustomWidgetCallback -> m SignalHandlerId
+onPrintOperationCreateCustomWidget obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationCreateCustomWidgetCallback cb
+    cb'' <- mk_PrintOperationCreateCustomWidgetCallback cb'
+    connectSignalFunPtr obj "create-custom-widget" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@create-custom-widget@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #createCustomWidget callback
+@
+-}
+afterPrintOperationCreateCustomWidget :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationCreateCustomWidgetCallback -> m SignalHandlerId
+afterPrintOperationCreateCustomWidget obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationCreateCustomWidgetCallback cb
+    cb'' <- mk_PrintOperationCreateCustomWidgetCallback cb'
+    connectSignalFunPtr obj "create-custom-widget" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::custom-widget-apply
+{- |
+Emitted right before 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/begin-print/@ if you added
+a custom widget in the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/create-custom-widget/@ handler.
+When you get this signal you should read the information from the
+custom widgets, as the widgets are not guaraneed to be around at a
+later time.
+
+/Since: 2.10/
+-}
+type PrintOperationCustomWidgetApplyCallback =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the custom widget added in create-custom-widget -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationCustomWidgetApplyCallback`@.
+noPrintOperationCustomWidgetApplyCallback :: Maybe PrintOperationCustomWidgetApplyCallback
+noPrintOperationCustomWidgetApplyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationCustomWidgetApplyCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationCustomWidgetApplyCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationCustomWidgetApplyCallback :: C_PrintOperationCustomWidgetApplyCallback -> IO (FunPtr C_PrintOperationCustomWidgetApplyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationCustomWidgetApply :: MonadIO m => PrintOperationCustomWidgetApplyCallback -> m (GClosure C_PrintOperationCustomWidgetApplyCallback)
+genClosure_PrintOperationCustomWidgetApply cb = liftIO $ do
+    let cb' = wrap_PrintOperationCustomWidgetApplyCallback cb
+    mk_PrintOperationCustomWidgetApplyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationCustomWidgetApplyCallback` into a `C_PrintOperationCustomWidgetApplyCallback`.
+wrap_PrintOperationCustomWidgetApplyCallback ::
+    PrintOperationCustomWidgetApplyCallback ->
+    C_PrintOperationCustomWidgetApplyCallback
+wrap_PrintOperationCustomWidgetApplyCallback _cb _ widget _ = do
+    widget' <- (newObject Gtk.Widget.Widget) widget
+    _cb  widget'
+
+
+{- |
+Connect a signal handler for the “@custom-widget-apply@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #customWidgetApply callback
+@
+-}
+onPrintOperationCustomWidgetApply :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationCustomWidgetApplyCallback -> m SignalHandlerId
+onPrintOperationCustomWidgetApply obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationCustomWidgetApplyCallback cb
+    cb'' <- mk_PrintOperationCustomWidgetApplyCallback cb'
+    connectSignalFunPtr obj "custom-widget-apply" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@custom-widget-apply@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #customWidgetApply callback
+@
+-}
+afterPrintOperationCustomWidgetApply :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationCustomWidgetApplyCallback -> m SignalHandlerId
+afterPrintOperationCustomWidgetApply obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationCustomWidgetApplyCallback cb
+    cb'' <- mk_PrintOperationCustomWidgetApplyCallback cb'
+    connectSignalFunPtr obj "custom-widget-apply" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::done
+{- |
+Emitted when the print operation run has finished doing
+everything required for printing.
+
+/@result@/ gives you information about what happened during the run.
+If /@result@/ is 'GI.Gtk.Enums.PrintOperationResultError' then you can call
+'GI.Gtk.Objects.PrintOperation.printOperationGetError' for more information.
+
+If you enabled print status tracking then
+'GI.Gtk.Objects.PrintOperation.printOperationIsFinished' may still return 'False'
+after 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/done/@ was emitted.
+
+/Since: 2.10/
+-}
+type PrintOperationDoneCallback =
+    Gtk.Enums.PrintOperationResult
+    {- ^ /@result@/: the result of the print operation -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationDoneCallback`@.
+noPrintOperationDoneCallback :: Maybe PrintOperationDoneCallback
+noPrintOperationDoneCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationDoneCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationDoneCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationDoneCallback :: C_PrintOperationDoneCallback -> IO (FunPtr C_PrintOperationDoneCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationDone :: MonadIO m => PrintOperationDoneCallback -> m (GClosure C_PrintOperationDoneCallback)
+genClosure_PrintOperationDone cb = liftIO $ do
+    let cb' = wrap_PrintOperationDoneCallback cb
+    mk_PrintOperationDoneCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationDoneCallback` into a `C_PrintOperationDoneCallback`.
+wrap_PrintOperationDoneCallback ::
+    PrintOperationDoneCallback ->
+    C_PrintOperationDoneCallback
+wrap_PrintOperationDoneCallback _cb _ result_ _ = do
+    let result_' = (toEnum . fromIntegral) result_
+    _cb  result_'
+
+
+{- |
+Connect a signal handler for the “@done@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #done callback
+@
+-}
+onPrintOperationDone :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationDoneCallback -> m SignalHandlerId
+onPrintOperationDone obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationDoneCallback cb
+    cb'' <- mk_PrintOperationDoneCallback cb'
+    connectSignalFunPtr obj "done" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@done@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #done callback
+@
+-}
+afterPrintOperationDone :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationDoneCallback -> m SignalHandlerId
+afterPrintOperationDone obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationDoneCallback cb
+    cb'' <- mk_PrintOperationDoneCallback cb'
+    connectSignalFunPtr obj "done" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::draw-page
+{- |
+Emitted for every page that is printed. The signal handler
+must render the /@pageNr@/\'s page onto the cairo context obtained
+from /@context@/ using 'GI.Gtk.Objects.PrintContext.printContextGetCairoContext'.
+
+=== /C code/
+>
+>static void
+>draw_page (GtkPrintOperation *operation,
+>           GtkPrintContext   *context,
+>           gint               page_nr,
+>           gpointer           user_data)
+>{
+>  cairo_t *cr;
+>  PangoLayout *layout;
+>  gdouble width, text_height;
+>  gint layout_height;
+>  PangoFontDescription *desc;
+>  
+>  cr = gtk_print_context_get_cairo_context (context);
+>  width = gtk_print_context_get_width (context);
+>  
+>  cairo_rectangle (cr, 0, 0, width, HEADER_HEIGHT);
+>  
+>  cairo_set_source_rgb (cr, 0.8, 0.8, 0.8);
+>  cairo_fill (cr);
+>  
+>  layout = gtk_print_context_create_pango_layout (context);
+>  
+>  desc = pango_font_description_from_string ("sans 14");
+>  pango_layout_set_font_description (layout, desc);
+>  pango_font_description_free (desc);
+>  
+>  pango_layout_set_text (layout, "some text", -1);
+>  pango_layout_set_width (layout, width * PANGO_SCALE);
+>  pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);
+>     		      
+>  pango_layout_get_size (layout, NULL, &layout_height);
+>  text_height = (gdouble)layout_height / PANGO_SCALE;
+>  
+>  cairo_move_to (cr, width / 2,  (HEADER_HEIGHT - text_height) / 2);
+>  pango_cairo_show_layout (cr, layout);
+>  
+>  g_object_unref (layout);
+>}
+
+
+Use 'GI.Gtk.Objects.PrintOperation.printOperationSetUseFullPage' and
+'GI.Gtk.Objects.PrintOperation.printOperationSetUnit' before starting the print operation
+to set up the transformation of the cairo context according to your
+needs.
+
+/Since: 2.10/
+-}
+type PrintOperationDrawPageCallback =
+    Gtk.PrintContext.PrintContext
+    {- ^ /@context@/: the 'GI.Gtk.Objects.PrintContext.PrintContext' for the current operation -}
+    -> Int32
+    {- ^ /@pageNr@/: the number of the currently printed page (0-based) -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationDrawPageCallback`@.
+noPrintOperationDrawPageCallback :: Maybe PrintOperationDrawPageCallback
+noPrintOperationDrawPageCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationDrawPageCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.PrintContext.PrintContext ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationDrawPageCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationDrawPageCallback :: C_PrintOperationDrawPageCallback -> IO (FunPtr C_PrintOperationDrawPageCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationDrawPage :: MonadIO m => PrintOperationDrawPageCallback -> m (GClosure C_PrintOperationDrawPageCallback)
+genClosure_PrintOperationDrawPage cb = liftIO $ do
+    let cb' = wrap_PrintOperationDrawPageCallback cb
+    mk_PrintOperationDrawPageCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationDrawPageCallback` into a `C_PrintOperationDrawPageCallback`.
+wrap_PrintOperationDrawPageCallback ::
+    PrintOperationDrawPageCallback ->
+    C_PrintOperationDrawPageCallback
+wrap_PrintOperationDrawPageCallback _cb _ context pageNr _ = do
+    context' <- (newObject Gtk.PrintContext.PrintContext) context
+    _cb  context' pageNr
+
+
+{- |
+Connect a signal handler for the “@draw-page@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #drawPage callback
+@
+-}
+onPrintOperationDrawPage :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationDrawPageCallback -> m SignalHandlerId
+onPrintOperationDrawPage obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationDrawPageCallback cb
+    cb'' <- mk_PrintOperationDrawPageCallback cb'
+    connectSignalFunPtr obj "draw-page" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@draw-page@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #drawPage callback
+@
+-}
+afterPrintOperationDrawPage :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationDrawPageCallback -> m SignalHandlerId
+afterPrintOperationDrawPage obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationDrawPageCallback cb
+    cb'' <- mk_PrintOperationDrawPageCallback cb'
+    connectSignalFunPtr obj "draw-page" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::end-print
+{- |
+Emitted after all pages have been rendered.
+A handler for this signal can clean up any resources that have
+been allocated in the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/begin-print/@ handler.
+
+/Since: 2.10/
+-}
+type PrintOperationEndPrintCallback =
+    Gtk.PrintContext.PrintContext
+    {- ^ /@context@/: the 'GI.Gtk.Objects.PrintContext.PrintContext' for the current operation -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationEndPrintCallback`@.
+noPrintOperationEndPrintCallback :: Maybe PrintOperationEndPrintCallback
+noPrintOperationEndPrintCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationEndPrintCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.PrintContext.PrintContext ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationEndPrintCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationEndPrintCallback :: C_PrintOperationEndPrintCallback -> IO (FunPtr C_PrintOperationEndPrintCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationEndPrint :: MonadIO m => PrintOperationEndPrintCallback -> m (GClosure C_PrintOperationEndPrintCallback)
+genClosure_PrintOperationEndPrint cb = liftIO $ do
+    let cb' = wrap_PrintOperationEndPrintCallback cb
+    mk_PrintOperationEndPrintCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationEndPrintCallback` into a `C_PrintOperationEndPrintCallback`.
+wrap_PrintOperationEndPrintCallback ::
+    PrintOperationEndPrintCallback ->
+    C_PrintOperationEndPrintCallback
+wrap_PrintOperationEndPrintCallback _cb _ context _ = do
+    context' <- (newObject Gtk.PrintContext.PrintContext) context
+    _cb  context'
+
+
+{- |
+Connect a signal handler for the “@end-print@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #endPrint callback
+@
+-}
+onPrintOperationEndPrint :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationEndPrintCallback -> m SignalHandlerId
+onPrintOperationEndPrint obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationEndPrintCallback cb
+    cb'' <- mk_PrintOperationEndPrintCallback cb'
+    connectSignalFunPtr obj "end-print" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@end-print@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #endPrint callback
+@
+-}
+afterPrintOperationEndPrint :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationEndPrintCallback -> m SignalHandlerId
+afterPrintOperationEndPrint obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationEndPrintCallback cb
+    cb'' <- mk_PrintOperationEndPrintCallback cb'
+    connectSignalFunPtr obj "end-print" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::paginate
+{- |
+Emitted after the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/begin-print/@ signal, but before
+the actual rendering starts. It keeps getting emitted until a connected
+signal handler returns 'True'.
+
+The ::paginate signal is intended to be used for paginating a document
+in small chunks, to avoid blocking the user interface for a long
+time. The signal handler should update the number of pages using
+'GI.Gtk.Objects.PrintOperation.printOperationSetNPages', and return 'True' if the document
+has been completely paginated.
+
+If you don\'t need to do pagination in chunks, you can simply do
+it all in the ::begin-print handler, and set the number of pages
+from there.
+
+/Since: 2.10/
+-}
+type PrintOperationPaginateCallback =
+    Gtk.PrintContext.PrintContext
+    {- ^ /@context@/: the 'GI.Gtk.Objects.PrintContext.PrintContext' for the current operation -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if pagination is complete -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationPaginateCallback`@.
+noPrintOperationPaginateCallback :: Maybe PrintOperationPaginateCallback
+noPrintOperationPaginateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationPaginateCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.PrintContext.PrintContext ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationPaginateCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationPaginateCallback :: C_PrintOperationPaginateCallback -> IO (FunPtr C_PrintOperationPaginateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationPaginate :: MonadIO m => PrintOperationPaginateCallback -> m (GClosure C_PrintOperationPaginateCallback)
+genClosure_PrintOperationPaginate cb = liftIO $ do
+    let cb' = wrap_PrintOperationPaginateCallback cb
+    mk_PrintOperationPaginateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationPaginateCallback` into a `C_PrintOperationPaginateCallback`.
+wrap_PrintOperationPaginateCallback ::
+    PrintOperationPaginateCallback ->
+    C_PrintOperationPaginateCallback
+wrap_PrintOperationPaginateCallback _cb _ context _ = do
+    context' <- (newObject Gtk.PrintContext.PrintContext) context
+    result <- _cb  context'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@paginate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #paginate callback
+@
+-}
+onPrintOperationPaginate :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationPaginateCallback -> m SignalHandlerId
+onPrintOperationPaginate obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationPaginateCallback cb
+    cb'' <- mk_PrintOperationPaginateCallback cb'
+    connectSignalFunPtr obj "paginate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@paginate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #paginate callback
+@
+-}
+afterPrintOperationPaginate :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationPaginateCallback -> m SignalHandlerId
+afterPrintOperationPaginate obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationPaginateCallback cb
+    cb'' <- mk_PrintOperationPaginateCallback cb'
+    connectSignalFunPtr obj "paginate" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::preview
+{- |
+Gets emitted when a preview is requested from the native dialog.
+
+The default handler for this signal uses an external viewer
+application to preview.
+
+To implement a custom print preview, an application must return
+'True' from its handler for this signal. In order to use the
+provided /@context@/ for the preview implementation, it must be
+given a suitable cairo context with 'GI.Gtk.Objects.PrintContext.printContextSetCairoContext'.
+
+The custom preview implementation can use
+'GI.Gtk.Interfaces.PrintOperationPreview.printOperationPreviewIsSelected' and
+'GI.Gtk.Interfaces.PrintOperationPreview.printOperationPreviewRenderPage' to find pages which
+are selected for print and render them. The preview must be
+finished by calling 'GI.Gtk.Interfaces.PrintOperationPreview.printOperationPreviewEndPreview'
+(typically in response to the user clicking a close button).
+
+/Since: 2.10/
+-}
+type PrintOperationPreviewCallback =
+    Gtk.PrintOperationPreview.PrintOperationPreview
+    {- ^ /@preview@/: the 'GI.Gtk.Interfaces.PrintOperationPreview.PrintOperationPreview' for the current operation -}
+    -> Gtk.PrintContext.PrintContext
+    {- ^ /@context@/: the 'GI.Gtk.Objects.PrintContext.PrintContext' that will be used -}
+    -> Maybe Gtk.Window.Window
+    {- ^ /@parent@/: the 'GI.Gtk.Objects.Window.Window' to use as window parent, or 'Nothing' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the listener wants to take over control of the preview -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationPreviewCallback`@.
+noPrintOperationPreviewCallback :: Maybe PrintOperationPreviewCallback
+noPrintOperationPreviewCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationPreviewCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.PrintOperationPreview.PrintOperationPreview ->
+    Ptr Gtk.PrintContext.PrintContext ->
+    Ptr Gtk.Window.Window ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationPreviewCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationPreviewCallback :: C_PrintOperationPreviewCallback -> IO (FunPtr C_PrintOperationPreviewCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationPreview :: MonadIO m => PrintOperationPreviewCallback -> m (GClosure C_PrintOperationPreviewCallback)
+genClosure_PrintOperationPreview cb = liftIO $ do
+    let cb' = wrap_PrintOperationPreviewCallback cb
+    mk_PrintOperationPreviewCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationPreviewCallback` into a `C_PrintOperationPreviewCallback`.
+wrap_PrintOperationPreviewCallback ::
+    PrintOperationPreviewCallback ->
+    C_PrintOperationPreviewCallback
+wrap_PrintOperationPreviewCallback _cb _ preview context parent _ = do
+    preview' <- (newObject Gtk.PrintOperationPreview.PrintOperationPreview) preview
+    context' <- (newObject Gtk.PrintContext.PrintContext) context
+    maybeParent <-
+        if parent == nullPtr
+        then return Nothing
+        else do
+            parent' <- (newObject Gtk.Window.Window) parent
+            return $ Just parent'
+    result <- _cb  preview' context' maybeParent
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@preview@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #preview callback
+@
+-}
+onPrintOperationPreview :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationPreviewCallback -> m SignalHandlerId
+onPrintOperationPreview obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationPreviewCallback cb
+    cb'' <- mk_PrintOperationPreviewCallback cb'
+    connectSignalFunPtr obj "preview" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@preview@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #preview callback
+@
+-}
+afterPrintOperationPreview :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationPreviewCallback -> m SignalHandlerId
+afterPrintOperationPreview obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationPreviewCallback cb
+    cb'' <- mk_PrintOperationPreviewCallback cb'
+    connectSignalFunPtr obj "preview" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::request-page-setup
+{- |
+Emitted once for every page that is printed, to give
+the application a chance to modify the page setup. Any changes
+done to /@setup@/ will be in force only for printing this page.
+
+/Since: 2.10/
+-}
+type PrintOperationRequestPageSetupCallback =
+    Gtk.PrintContext.PrintContext
+    {- ^ /@context@/: the 'GI.Gtk.Objects.PrintContext.PrintContext' for the current operation -}
+    -> Int32
+    {- ^ /@pageNr@/: the number of the currently printed page (0-based) -}
+    -> Gtk.PageSetup.PageSetup
+    {- ^ /@setup@/: the 'GI.Gtk.Objects.PageSetup.PageSetup' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationRequestPageSetupCallback`@.
+noPrintOperationRequestPageSetupCallback :: Maybe PrintOperationRequestPageSetupCallback
+noPrintOperationRequestPageSetupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationRequestPageSetupCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.PrintContext.PrintContext ->
+    Int32 ->
+    Ptr Gtk.PageSetup.PageSetup ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationRequestPageSetupCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationRequestPageSetupCallback :: C_PrintOperationRequestPageSetupCallback -> IO (FunPtr C_PrintOperationRequestPageSetupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationRequestPageSetup :: MonadIO m => PrintOperationRequestPageSetupCallback -> m (GClosure C_PrintOperationRequestPageSetupCallback)
+genClosure_PrintOperationRequestPageSetup cb = liftIO $ do
+    let cb' = wrap_PrintOperationRequestPageSetupCallback cb
+    mk_PrintOperationRequestPageSetupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationRequestPageSetupCallback` into a `C_PrintOperationRequestPageSetupCallback`.
+wrap_PrintOperationRequestPageSetupCallback ::
+    PrintOperationRequestPageSetupCallback ->
+    C_PrintOperationRequestPageSetupCallback
+wrap_PrintOperationRequestPageSetupCallback _cb _ context pageNr setup _ = do
+    context' <- (newObject Gtk.PrintContext.PrintContext) context
+    setup' <- (newObject Gtk.PageSetup.PageSetup) setup
+    _cb  context' pageNr setup'
+
+
+{- |
+Connect a signal handler for the “@request-page-setup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #requestPageSetup callback
+@
+-}
+onPrintOperationRequestPageSetup :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationRequestPageSetupCallback -> m SignalHandlerId
+onPrintOperationRequestPageSetup obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationRequestPageSetupCallback cb
+    cb'' <- mk_PrintOperationRequestPageSetupCallback cb'
+    connectSignalFunPtr obj "request-page-setup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@request-page-setup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #requestPageSetup callback
+@
+-}
+afterPrintOperationRequestPageSetup :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationRequestPageSetupCallback -> m SignalHandlerId
+afterPrintOperationRequestPageSetup obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationRequestPageSetupCallback cb
+    cb'' <- mk_PrintOperationRequestPageSetupCallback cb'
+    connectSignalFunPtr obj "request-page-setup" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::status-changed
+{- |
+Emitted at between the various phases of the print operation.
+See 'GI.Gtk.Enums.PrintStatus' for the phases that are being discriminated.
+Use 'GI.Gtk.Objects.PrintOperation.printOperationGetStatus' to find out the current
+status.
+
+/Since: 2.10/
+-}
+type PrintOperationStatusChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationStatusChangedCallback`@.
+noPrintOperationStatusChangedCallback :: Maybe PrintOperationStatusChangedCallback
+noPrintOperationStatusChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationStatusChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationStatusChangedCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationStatusChangedCallback :: C_PrintOperationStatusChangedCallback -> IO (FunPtr C_PrintOperationStatusChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationStatusChanged :: MonadIO m => PrintOperationStatusChangedCallback -> m (GClosure C_PrintOperationStatusChangedCallback)
+genClosure_PrintOperationStatusChanged cb = liftIO $ do
+    let cb' = wrap_PrintOperationStatusChangedCallback cb
+    mk_PrintOperationStatusChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationStatusChangedCallback` into a `C_PrintOperationStatusChangedCallback`.
+wrap_PrintOperationStatusChangedCallback ::
+    PrintOperationStatusChangedCallback ->
+    C_PrintOperationStatusChangedCallback
+wrap_PrintOperationStatusChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@status-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #statusChanged callback
+@
+-}
+onPrintOperationStatusChanged :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationStatusChangedCallback -> m SignalHandlerId
+onPrintOperationStatusChanged obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationStatusChangedCallback cb
+    cb'' <- mk_PrintOperationStatusChangedCallback cb'
+    connectSignalFunPtr obj "status-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@status-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #statusChanged callback
+@
+-}
+afterPrintOperationStatusChanged :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationStatusChangedCallback -> m SignalHandlerId
+afterPrintOperationStatusChanged obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationStatusChangedCallback cb
+    cb'' <- mk_PrintOperationStatusChangedCallback cb'
+    connectSignalFunPtr obj "status-changed" cb'' SignalConnectAfter
+
+
+-- signal PrintOperation::update-custom-widget
+{- |
+Emitted after change of selected printer. The actual page setup and
+print settings are passed to the custom widget, which can actualize
+itself according to this change.
+
+/Since: 2.18/
+-}
+type PrintOperationUpdateCustomWidgetCallback =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the custom widget added in create-custom-widget -}
+    -> Gtk.PageSetup.PageSetup
+    {- ^ /@setup@/: actual page setup -}
+    -> Gtk.PrintSettings.PrintSettings
+    {- ^ /@settings@/: actual print settings -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `PrintOperationUpdateCustomWidgetCallback`@.
+noPrintOperationUpdateCustomWidgetCallback :: Maybe PrintOperationUpdateCustomWidgetCallback
+noPrintOperationUpdateCustomWidgetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_PrintOperationUpdateCustomWidgetCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr Gtk.PageSetup.PageSetup ->
+    Ptr Gtk.PrintSettings.PrintSettings ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_PrintOperationUpdateCustomWidgetCallback`.
+foreign import ccall "wrapper"
+    mk_PrintOperationUpdateCustomWidgetCallback :: C_PrintOperationUpdateCustomWidgetCallback -> IO (FunPtr C_PrintOperationUpdateCustomWidgetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_PrintOperationUpdateCustomWidget :: MonadIO m => PrintOperationUpdateCustomWidgetCallback -> m (GClosure C_PrintOperationUpdateCustomWidgetCallback)
+genClosure_PrintOperationUpdateCustomWidget cb = liftIO $ do
+    let cb' = wrap_PrintOperationUpdateCustomWidgetCallback cb
+    mk_PrintOperationUpdateCustomWidgetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `PrintOperationUpdateCustomWidgetCallback` into a `C_PrintOperationUpdateCustomWidgetCallback`.
+wrap_PrintOperationUpdateCustomWidgetCallback ::
+    PrintOperationUpdateCustomWidgetCallback ->
+    C_PrintOperationUpdateCustomWidgetCallback
+wrap_PrintOperationUpdateCustomWidgetCallback _cb _ widget setup settings _ = do
+    widget' <- (newObject Gtk.Widget.Widget) widget
+    setup' <- (newObject Gtk.PageSetup.PageSetup) setup
+    settings' <- (newObject Gtk.PrintSettings.PrintSettings) settings
+    _cb  widget' setup' settings'
+
+
+{- |
+Connect a signal handler for the “@update-custom-widget@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' printOperation #updateCustomWidget callback
+@
+-}
+onPrintOperationUpdateCustomWidget :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationUpdateCustomWidgetCallback -> m SignalHandlerId
+onPrintOperationUpdateCustomWidget obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationUpdateCustomWidgetCallback cb
+    cb'' <- mk_PrintOperationUpdateCustomWidgetCallback cb'
+    connectSignalFunPtr obj "update-custom-widget" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@update-custom-widget@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' printOperation #updateCustomWidget callback
+@
+-}
+afterPrintOperationUpdateCustomWidget :: (IsPrintOperation a, MonadIO m) => a -> PrintOperationUpdateCustomWidgetCallback -> m SignalHandlerId
+afterPrintOperationUpdateCustomWidget obj cb = liftIO $ do
+    let cb' = wrap_PrintOperationUpdateCustomWidgetCallback cb
+    cb'' <- mk_PrintOperationUpdateCustomWidgetCallback cb'
+    connectSignalFunPtr obj "update-custom-widget" cb'' SignalConnectAfter
+
+
+-- VVV Prop "allow-async"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@allow-async@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #allowAsync
+@
+-}
+getPrintOperationAllowAsync :: (MonadIO m, IsPrintOperation o) => o -> m Bool
+getPrintOperationAllowAsync obj = liftIO $ B.Properties.getObjectPropertyBool obj "allow-async"
+
+{- |
+Set the value of the “@allow-async@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #allowAsync 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationAllowAsync :: (MonadIO m, IsPrintOperation o) => o -> Bool -> m ()
+setPrintOperationAllowAsync obj val = liftIO $ B.Properties.setObjectPropertyBool obj "allow-async" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@allow-async@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationAllowAsync :: (IsPrintOperation o) => Bool -> IO (GValueConstruct o)
+constructPrintOperationAllowAsync val = B.Properties.constructObjectPropertyBool "allow-async" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationAllowAsyncPropertyInfo
+instance AttrInfo PrintOperationAllowAsyncPropertyInfo where
+    type AttrAllowedOps PrintOperationAllowAsyncPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationAllowAsyncPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintOperationAllowAsyncPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationAllowAsyncPropertyInfo = Bool
+    type AttrLabel PrintOperationAllowAsyncPropertyInfo = "allow-async"
+    type AttrOrigin PrintOperationAllowAsyncPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationAllowAsync
+    attrSet _ = setPrintOperationAllowAsync
+    attrConstruct _ = constructPrintOperationAllowAsync
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "current-page"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@current-page@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #currentPage
+@
+-}
+getPrintOperationCurrentPage :: (MonadIO m, IsPrintOperation o) => o -> m Int32
+getPrintOperationCurrentPage obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "current-page"
+
+{- |
+Set the value of the “@current-page@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #currentPage 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationCurrentPage :: (MonadIO m, IsPrintOperation o) => o -> Int32 -> m ()
+setPrintOperationCurrentPage obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "current-page" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@current-page@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationCurrentPage :: (IsPrintOperation o) => Int32 -> IO (GValueConstruct o)
+constructPrintOperationCurrentPage val = B.Properties.constructObjectPropertyInt32 "current-page" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationCurrentPagePropertyInfo
+instance AttrInfo PrintOperationCurrentPagePropertyInfo where
+    type AttrAllowedOps PrintOperationCurrentPagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationCurrentPagePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint PrintOperationCurrentPagePropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationCurrentPagePropertyInfo = Int32
+    type AttrLabel PrintOperationCurrentPagePropertyInfo = "current-page"
+    type AttrOrigin PrintOperationCurrentPagePropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationCurrentPage
+    attrSet _ = setPrintOperationCurrentPage
+    attrConstruct _ = constructPrintOperationCurrentPage
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "custom-tab-label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+{- |
+Get the value of the “@custom-tab-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #customTabLabel
+@
+-}
+getPrintOperationCustomTabLabel :: (MonadIO m, IsPrintOperation o) => o -> m (Maybe T.Text)
+getPrintOperationCustomTabLabel obj = liftIO $ B.Properties.getObjectPropertyString obj "custom-tab-label"
+
+{- |
+Set the value of the “@custom-tab-label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #customTabLabel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationCustomTabLabel :: (MonadIO m, IsPrintOperation o) => o -> T.Text -> m ()
+setPrintOperationCustomTabLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "custom-tab-label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@custom-tab-label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationCustomTabLabel :: (IsPrintOperation o) => T.Text -> IO (GValueConstruct o)
+constructPrintOperationCustomTabLabel val = B.Properties.constructObjectPropertyString "custom-tab-label" (Just val)
+
+{- |
+Set the value of the “@custom-tab-label@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #customTabLabel
+@
+-}
+clearPrintOperationCustomTabLabel :: (MonadIO m, IsPrintOperation o) => o -> m ()
+clearPrintOperationCustomTabLabel obj = liftIO $ B.Properties.setObjectPropertyString obj "custom-tab-label" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data PrintOperationCustomTabLabelPropertyInfo
+instance AttrInfo PrintOperationCustomTabLabelPropertyInfo where
+    type AttrAllowedOps PrintOperationCustomTabLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PrintOperationCustomTabLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint PrintOperationCustomTabLabelPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationCustomTabLabelPropertyInfo = (Maybe T.Text)
+    type AttrLabel PrintOperationCustomTabLabelPropertyInfo = "custom-tab-label"
+    type AttrOrigin PrintOperationCustomTabLabelPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationCustomTabLabel
+    attrSet _ = setPrintOperationCustomTabLabel
+    attrConstruct _ = constructPrintOperationCustomTabLabel
+    attrClear _ = clearPrintOperationCustomTabLabel
+#endif
+
+-- VVV Prop "default-page-setup"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@default-page-setup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #defaultPageSetup
+@
+-}
+getPrintOperationDefaultPageSetup :: (MonadIO m, IsPrintOperation o) => o -> m Gtk.PageSetup.PageSetup
+getPrintOperationDefaultPageSetup obj = liftIO $ checkUnexpectedNothing "getPrintOperationDefaultPageSetup" $ B.Properties.getObjectPropertyObject obj "default-page-setup" Gtk.PageSetup.PageSetup
+
+{- |
+Set the value of the “@default-page-setup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #defaultPageSetup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationDefaultPageSetup :: (MonadIO m, IsPrintOperation o, Gtk.PageSetup.IsPageSetup a) => o -> a -> m ()
+setPrintOperationDefaultPageSetup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "default-page-setup" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@default-page-setup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationDefaultPageSetup :: (IsPrintOperation o, Gtk.PageSetup.IsPageSetup a) => a -> IO (GValueConstruct o)
+constructPrintOperationDefaultPageSetup val = B.Properties.constructObjectPropertyObject "default-page-setup" (Just val)
+
+{- |
+Set the value of the “@default-page-setup@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #defaultPageSetup
+@
+-}
+clearPrintOperationDefaultPageSetup :: (MonadIO m, IsPrintOperation o) => o -> m ()
+clearPrintOperationDefaultPageSetup obj = liftIO $ B.Properties.setObjectPropertyObject obj "default-page-setup" (Nothing :: Maybe Gtk.PageSetup.PageSetup)
+
+#if ENABLE_OVERLOADING
+data PrintOperationDefaultPageSetupPropertyInfo
+instance AttrInfo PrintOperationDefaultPageSetupPropertyInfo where
+    type AttrAllowedOps PrintOperationDefaultPageSetupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PrintOperationDefaultPageSetupPropertyInfo = Gtk.PageSetup.IsPageSetup
+    type AttrBaseTypeConstraint PrintOperationDefaultPageSetupPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationDefaultPageSetupPropertyInfo = Gtk.PageSetup.PageSetup
+    type AttrLabel PrintOperationDefaultPageSetupPropertyInfo = "default-page-setup"
+    type AttrOrigin PrintOperationDefaultPageSetupPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationDefaultPageSetup
+    attrSet _ = setPrintOperationDefaultPageSetup
+    attrConstruct _ = constructPrintOperationDefaultPageSetup
+    attrClear _ = clearPrintOperationDefaultPageSetup
+#endif
+
+-- VVV Prop "embed-page-setup"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@embed-page-setup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #embedPageSetup
+@
+-}
+getPrintOperationEmbedPageSetup :: (MonadIO m, IsPrintOperation o) => o -> m Bool
+getPrintOperationEmbedPageSetup obj = liftIO $ B.Properties.getObjectPropertyBool obj "embed-page-setup"
+
+{- |
+Set the value of the “@embed-page-setup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #embedPageSetup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationEmbedPageSetup :: (MonadIO m, IsPrintOperation o) => o -> Bool -> m ()
+setPrintOperationEmbedPageSetup obj val = liftIO $ B.Properties.setObjectPropertyBool obj "embed-page-setup" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@embed-page-setup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationEmbedPageSetup :: (IsPrintOperation o) => Bool -> IO (GValueConstruct o)
+constructPrintOperationEmbedPageSetup val = B.Properties.constructObjectPropertyBool "embed-page-setup" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationEmbedPageSetupPropertyInfo
+instance AttrInfo PrintOperationEmbedPageSetupPropertyInfo where
+    type AttrAllowedOps PrintOperationEmbedPageSetupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationEmbedPageSetupPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintOperationEmbedPageSetupPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationEmbedPageSetupPropertyInfo = Bool
+    type AttrLabel PrintOperationEmbedPageSetupPropertyInfo = "embed-page-setup"
+    type AttrOrigin PrintOperationEmbedPageSetupPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationEmbedPageSetup
+    attrSet _ = setPrintOperationEmbedPageSetup
+    attrConstruct _ = constructPrintOperationEmbedPageSetup
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "export-filename"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@export-filename@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #exportFilename
+@
+-}
+getPrintOperationExportFilename :: (MonadIO m, IsPrintOperation o) => o -> m (Maybe T.Text)
+getPrintOperationExportFilename obj = liftIO $ B.Properties.getObjectPropertyString obj "export-filename"
+
+{- |
+Set the value of the “@export-filename@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #exportFilename 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationExportFilename :: (MonadIO m, IsPrintOperation o) => o -> T.Text -> m ()
+setPrintOperationExportFilename obj val = liftIO $ B.Properties.setObjectPropertyString obj "export-filename" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@export-filename@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationExportFilename :: (IsPrintOperation o) => T.Text -> IO (GValueConstruct o)
+constructPrintOperationExportFilename val = B.Properties.constructObjectPropertyString "export-filename" (Just val)
+
+{- |
+Set the value of the “@export-filename@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #exportFilename
+@
+-}
+clearPrintOperationExportFilename :: (MonadIO m, IsPrintOperation o) => o -> m ()
+clearPrintOperationExportFilename obj = liftIO $ B.Properties.setObjectPropertyString obj "export-filename" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data PrintOperationExportFilenamePropertyInfo
+instance AttrInfo PrintOperationExportFilenamePropertyInfo where
+    type AttrAllowedOps PrintOperationExportFilenamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PrintOperationExportFilenamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint PrintOperationExportFilenamePropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationExportFilenamePropertyInfo = (Maybe T.Text)
+    type AttrLabel PrintOperationExportFilenamePropertyInfo = "export-filename"
+    type AttrOrigin PrintOperationExportFilenamePropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationExportFilename
+    attrSet _ = setPrintOperationExportFilename
+    attrConstruct _ = constructPrintOperationExportFilename
+    attrClear _ = clearPrintOperationExportFilename
+#endif
+
+-- VVV Prop "has-selection"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #hasSelection
+@
+-}
+getPrintOperationHasSelection :: (MonadIO m, IsPrintOperation o) => o -> m Bool
+getPrintOperationHasSelection obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-selection"
+
+{- |
+Set the value of the “@has-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #hasSelection 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationHasSelection :: (MonadIO m, IsPrintOperation o) => o -> Bool -> m ()
+setPrintOperationHasSelection obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-selection" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-selection@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationHasSelection :: (IsPrintOperation o) => Bool -> IO (GValueConstruct o)
+constructPrintOperationHasSelection val = B.Properties.constructObjectPropertyBool "has-selection" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationHasSelectionPropertyInfo
+instance AttrInfo PrintOperationHasSelectionPropertyInfo where
+    type AttrAllowedOps PrintOperationHasSelectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationHasSelectionPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintOperationHasSelectionPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationHasSelectionPropertyInfo = Bool
+    type AttrLabel PrintOperationHasSelectionPropertyInfo = "has-selection"
+    type AttrOrigin PrintOperationHasSelectionPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationHasSelection
+    attrSet _ = setPrintOperationHasSelection
+    attrConstruct _ = constructPrintOperationHasSelection
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "job-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@job-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #jobName
+@
+-}
+getPrintOperationJobName :: (MonadIO m, IsPrintOperation o) => o -> m (Maybe T.Text)
+getPrintOperationJobName obj = liftIO $ B.Properties.getObjectPropertyString obj "job-name"
+
+{- |
+Set the value of the “@job-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #jobName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationJobName :: (MonadIO m, IsPrintOperation o) => o -> T.Text -> m ()
+setPrintOperationJobName obj val = liftIO $ B.Properties.setObjectPropertyString obj "job-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@job-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationJobName :: (IsPrintOperation o) => T.Text -> IO (GValueConstruct o)
+constructPrintOperationJobName val = B.Properties.constructObjectPropertyString "job-name" (Just val)
+
+#if ENABLE_OVERLOADING
+data PrintOperationJobNamePropertyInfo
+instance AttrInfo PrintOperationJobNamePropertyInfo where
+    type AttrAllowedOps PrintOperationJobNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationJobNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint PrintOperationJobNamePropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationJobNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel PrintOperationJobNamePropertyInfo = "job-name"
+    type AttrOrigin PrintOperationJobNamePropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationJobName
+    attrSet _ = setPrintOperationJobName
+    attrConstruct _ = constructPrintOperationJobName
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "n-pages"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@n-pages@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #nPages
+@
+-}
+getPrintOperationNPages :: (MonadIO m, IsPrintOperation o) => o -> m Int32
+getPrintOperationNPages obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "n-pages"
+
+{- |
+Set the value of the “@n-pages@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #nPages 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationNPages :: (MonadIO m, IsPrintOperation o) => o -> Int32 -> m ()
+setPrintOperationNPages obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "n-pages" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@n-pages@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationNPages :: (IsPrintOperation o) => Int32 -> IO (GValueConstruct o)
+constructPrintOperationNPages val = B.Properties.constructObjectPropertyInt32 "n-pages" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationNPagesPropertyInfo
+instance AttrInfo PrintOperationNPagesPropertyInfo where
+    type AttrAllowedOps PrintOperationNPagesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationNPagesPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint PrintOperationNPagesPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationNPagesPropertyInfo = Int32
+    type AttrLabel PrintOperationNPagesPropertyInfo = "n-pages"
+    type AttrOrigin PrintOperationNPagesPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationNPages
+    attrSet _ = setPrintOperationNPages
+    attrConstruct _ = constructPrintOperationNPages
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "n-pages-to-print"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@n-pages-to-print@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #nPagesToPrint
+@
+-}
+getPrintOperationNPagesToPrint :: (MonadIO m, IsPrintOperation o) => o -> m Int32
+getPrintOperationNPagesToPrint obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "n-pages-to-print"
+
+#if ENABLE_OVERLOADING
+data PrintOperationNPagesToPrintPropertyInfo
+instance AttrInfo PrintOperationNPagesToPrintPropertyInfo where
+    type AttrAllowedOps PrintOperationNPagesToPrintPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationNPagesToPrintPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint PrintOperationNPagesToPrintPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationNPagesToPrintPropertyInfo = Int32
+    type AttrLabel PrintOperationNPagesToPrintPropertyInfo = "n-pages-to-print"
+    type AttrOrigin PrintOperationNPagesToPrintPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationNPagesToPrint
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "print-settings"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@print-settings@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #printSettings
+@
+-}
+getPrintOperationPrintSettings :: (MonadIO m, IsPrintOperation o) => o -> m Gtk.PrintSettings.PrintSettings
+getPrintOperationPrintSettings obj = liftIO $ checkUnexpectedNothing "getPrintOperationPrintSettings" $ B.Properties.getObjectPropertyObject obj "print-settings" Gtk.PrintSettings.PrintSettings
+
+{- |
+Set the value of the “@print-settings@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #printSettings 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationPrintSettings :: (MonadIO m, IsPrintOperation o, Gtk.PrintSettings.IsPrintSettings a) => o -> a -> m ()
+setPrintOperationPrintSettings obj val = liftIO $ B.Properties.setObjectPropertyObject obj "print-settings" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@print-settings@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationPrintSettings :: (IsPrintOperation o, Gtk.PrintSettings.IsPrintSettings a) => a -> IO (GValueConstruct o)
+constructPrintOperationPrintSettings val = B.Properties.constructObjectPropertyObject "print-settings" (Just val)
+
+{- |
+Set the value of the “@print-settings@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #printSettings
+@
+-}
+clearPrintOperationPrintSettings :: (MonadIO m, IsPrintOperation o) => o -> m ()
+clearPrintOperationPrintSettings obj = liftIO $ B.Properties.setObjectPropertyObject obj "print-settings" (Nothing :: Maybe Gtk.PrintSettings.PrintSettings)
+
+#if ENABLE_OVERLOADING
+data PrintOperationPrintSettingsPropertyInfo
+instance AttrInfo PrintOperationPrintSettingsPropertyInfo where
+    type AttrAllowedOps PrintOperationPrintSettingsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PrintOperationPrintSettingsPropertyInfo = Gtk.PrintSettings.IsPrintSettings
+    type AttrBaseTypeConstraint PrintOperationPrintSettingsPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationPrintSettingsPropertyInfo = Gtk.PrintSettings.PrintSettings
+    type AttrLabel PrintOperationPrintSettingsPropertyInfo = "print-settings"
+    type AttrOrigin PrintOperationPrintSettingsPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationPrintSettings
+    attrSet _ = setPrintOperationPrintSettings
+    attrConstruct _ = constructPrintOperationPrintSettings
+    attrClear _ = clearPrintOperationPrintSettings
+#endif
+
+-- VVV Prop "show-progress"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@show-progress@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #showProgress
+@
+-}
+getPrintOperationShowProgress :: (MonadIO m, IsPrintOperation o) => o -> m Bool
+getPrintOperationShowProgress obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-progress"
+
+{- |
+Set the value of the “@show-progress@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #showProgress 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationShowProgress :: (MonadIO m, IsPrintOperation o) => o -> Bool -> m ()
+setPrintOperationShowProgress obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-progress" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-progress@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationShowProgress :: (IsPrintOperation o) => Bool -> IO (GValueConstruct o)
+constructPrintOperationShowProgress val = B.Properties.constructObjectPropertyBool "show-progress" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationShowProgressPropertyInfo
+instance AttrInfo PrintOperationShowProgressPropertyInfo where
+    type AttrAllowedOps PrintOperationShowProgressPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationShowProgressPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintOperationShowProgressPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationShowProgressPropertyInfo = Bool
+    type AttrLabel PrintOperationShowProgressPropertyInfo = "show-progress"
+    type AttrOrigin PrintOperationShowProgressPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationShowProgress
+    attrSet _ = setPrintOperationShowProgress
+    attrConstruct _ = constructPrintOperationShowProgress
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "status"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PrintStatus"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@status@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #status
+@
+-}
+getPrintOperationStatus :: (MonadIO m, IsPrintOperation o) => o -> m Gtk.Enums.PrintStatus
+getPrintOperationStatus obj = liftIO $ B.Properties.getObjectPropertyEnum obj "status"
+
+#if ENABLE_OVERLOADING
+data PrintOperationStatusPropertyInfo
+instance AttrInfo PrintOperationStatusPropertyInfo where
+    type AttrAllowedOps PrintOperationStatusPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationStatusPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint PrintOperationStatusPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationStatusPropertyInfo = Gtk.Enums.PrintStatus
+    type AttrLabel PrintOperationStatusPropertyInfo = "status"
+    type AttrOrigin PrintOperationStatusPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationStatus
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "status-string"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@status-string@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #statusString
+@
+-}
+getPrintOperationStatusString :: (MonadIO m, IsPrintOperation o) => o -> m T.Text
+getPrintOperationStatusString obj = liftIO $ checkUnexpectedNothing "getPrintOperationStatusString" $ B.Properties.getObjectPropertyString obj "status-string"
+
+#if ENABLE_OVERLOADING
+data PrintOperationStatusStringPropertyInfo
+instance AttrInfo PrintOperationStatusStringPropertyInfo where
+    type AttrAllowedOps PrintOperationStatusStringPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PrintOperationStatusStringPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint PrintOperationStatusStringPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationStatusStringPropertyInfo = T.Text
+    type AttrLabel PrintOperationStatusStringPropertyInfo = "status-string"
+    type AttrOrigin PrintOperationStatusStringPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationStatusString
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "support-selection"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@support-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #supportSelection
+@
+-}
+getPrintOperationSupportSelection :: (MonadIO m, IsPrintOperation o) => o -> m Bool
+getPrintOperationSupportSelection obj = liftIO $ B.Properties.getObjectPropertyBool obj "support-selection"
+
+{- |
+Set the value of the “@support-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #supportSelection 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationSupportSelection :: (MonadIO m, IsPrintOperation o) => o -> Bool -> m ()
+setPrintOperationSupportSelection obj val = liftIO $ B.Properties.setObjectPropertyBool obj "support-selection" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@support-selection@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationSupportSelection :: (IsPrintOperation o) => Bool -> IO (GValueConstruct o)
+constructPrintOperationSupportSelection val = B.Properties.constructObjectPropertyBool "support-selection" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationSupportSelectionPropertyInfo
+instance AttrInfo PrintOperationSupportSelectionPropertyInfo where
+    type AttrAllowedOps PrintOperationSupportSelectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationSupportSelectionPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintOperationSupportSelectionPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationSupportSelectionPropertyInfo = Bool
+    type AttrLabel PrintOperationSupportSelectionPropertyInfo = "support-selection"
+    type AttrOrigin PrintOperationSupportSelectionPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationSupportSelection
+    attrSet _ = setPrintOperationSupportSelection
+    attrConstruct _ = constructPrintOperationSupportSelection
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "track-print-status"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@track-print-status@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #trackPrintStatus
+@
+-}
+getPrintOperationTrackPrintStatus :: (MonadIO m, IsPrintOperation o) => o -> m Bool
+getPrintOperationTrackPrintStatus obj = liftIO $ B.Properties.getObjectPropertyBool obj "track-print-status"
+
+{- |
+Set the value of the “@track-print-status@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #trackPrintStatus 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationTrackPrintStatus :: (MonadIO m, IsPrintOperation o) => o -> Bool -> m ()
+setPrintOperationTrackPrintStatus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "track-print-status" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@track-print-status@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationTrackPrintStatus :: (IsPrintOperation o) => Bool -> IO (GValueConstruct o)
+constructPrintOperationTrackPrintStatus val = B.Properties.constructObjectPropertyBool "track-print-status" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationTrackPrintStatusPropertyInfo
+instance AttrInfo PrintOperationTrackPrintStatusPropertyInfo where
+    type AttrAllowedOps PrintOperationTrackPrintStatusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationTrackPrintStatusPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintOperationTrackPrintStatusPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationTrackPrintStatusPropertyInfo = Bool
+    type AttrLabel PrintOperationTrackPrintStatusPropertyInfo = "track-print-status"
+    type AttrOrigin PrintOperationTrackPrintStatusPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationTrackPrintStatus
+    attrSet _ = setPrintOperationTrackPrintStatus
+    attrConstruct _ = constructPrintOperationTrackPrintStatus
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "unit"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Unit"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@unit@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #unit
+@
+-}
+getPrintOperationUnit :: (MonadIO m, IsPrintOperation o) => o -> m Gtk.Enums.Unit
+getPrintOperationUnit obj = liftIO $ B.Properties.getObjectPropertyEnum obj "unit"
+
+{- |
+Set the value of the “@unit@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #unit 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationUnit :: (MonadIO m, IsPrintOperation o) => o -> Gtk.Enums.Unit -> m ()
+setPrintOperationUnit obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "unit" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@unit@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationUnit :: (IsPrintOperation o) => Gtk.Enums.Unit -> IO (GValueConstruct o)
+constructPrintOperationUnit val = B.Properties.constructObjectPropertyEnum "unit" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationUnitPropertyInfo
+instance AttrInfo PrintOperationUnitPropertyInfo where
+    type AttrAllowedOps PrintOperationUnitPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationUnitPropertyInfo = (~) Gtk.Enums.Unit
+    type AttrBaseTypeConstraint PrintOperationUnitPropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationUnitPropertyInfo = Gtk.Enums.Unit
+    type AttrLabel PrintOperationUnitPropertyInfo = "unit"
+    type AttrOrigin PrintOperationUnitPropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationUnit
+    attrSet _ = setPrintOperationUnit
+    attrConstruct _ = constructPrintOperationUnit
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "use-full-page"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@use-full-page@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' printOperation #useFullPage
+@
+-}
+getPrintOperationUseFullPage :: (MonadIO m, IsPrintOperation o) => o -> m Bool
+getPrintOperationUseFullPage obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-full-page"
+
+{- |
+Set the value of the “@use-full-page@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' printOperation [ #useFullPage 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPrintOperationUseFullPage :: (MonadIO m, IsPrintOperation o) => o -> Bool -> m ()
+setPrintOperationUseFullPage obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-full-page" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-full-page@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructPrintOperationUseFullPage :: (IsPrintOperation o) => Bool -> IO (GValueConstruct o)
+constructPrintOperationUseFullPage val = B.Properties.constructObjectPropertyBool "use-full-page" val
+
+#if ENABLE_OVERLOADING
+data PrintOperationUseFullPagePropertyInfo
+instance AttrInfo PrintOperationUseFullPagePropertyInfo where
+    type AttrAllowedOps PrintOperationUseFullPagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint PrintOperationUseFullPagePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint PrintOperationUseFullPagePropertyInfo = IsPrintOperation
+    type AttrGetType PrintOperationUseFullPagePropertyInfo = Bool
+    type AttrLabel PrintOperationUseFullPagePropertyInfo = "use-full-page"
+    type AttrOrigin PrintOperationUseFullPagePropertyInfo = PrintOperation
+    attrGet _ = getPrintOperationUseFullPage
+    attrSet _ = setPrintOperationUseFullPage
+    attrConstruct _ = constructPrintOperationUseFullPage
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PrintOperation
+type instance O.AttributeList PrintOperation = PrintOperationAttributeList
+type PrintOperationAttributeList = ('[ '("allowAsync", PrintOperationAllowAsyncPropertyInfo), '("currentPage", PrintOperationCurrentPagePropertyInfo), '("customTabLabel", PrintOperationCustomTabLabelPropertyInfo), '("defaultPageSetup", PrintOperationDefaultPageSetupPropertyInfo), '("embedPageSetup", PrintOperationEmbedPageSetupPropertyInfo), '("exportFilename", PrintOperationExportFilenamePropertyInfo), '("hasSelection", PrintOperationHasSelectionPropertyInfo), '("jobName", PrintOperationJobNamePropertyInfo), '("nPages", PrintOperationNPagesPropertyInfo), '("nPagesToPrint", PrintOperationNPagesToPrintPropertyInfo), '("printSettings", PrintOperationPrintSettingsPropertyInfo), '("showProgress", PrintOperationShowProgressPropertyInfo), '("status", PrintOperationStatusPropertyInfo), '("statusString", PrintOperationStatusStringPropertyInfo), '("supportSelection", PrintOperationSupportSelectionPropertyInfo), '("trackPrintStatus", PrintOperationTrackPrintStatusPropertyInfo), '("unit", PrintOperationUnitPropertyInfo), '("useFullPage", PrintOperationUseFullPagePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+printOperationAllowAsync :: AttrLabelProxy "allowAsync"
+printOperationAllowAsync = AttrLabelProxy
+
+printOperationCurrentPage :: AttrLabelProxy "currentPage"
+printOperationCurrentPage = AttrLabelProxy
+
+printOperationCustomTabLabel :: AttrLabelProxy "customTabLabel"
+printOperationCustomTabLabel = AttrLabelProxy
+
+printOperationDefaultPageSetup :: AttrLabelProxy "defaultPageSetup"
+printOperationDefaultPageSetup = AttrLabelProxy
+
+printOperationEmbedPageSetup :: AttrLabelProxy "embedPageSetup"
+printOperationEmbedPageSetup = AttrLabelProxy
+
+printOperationExportFilename :: AttrLabelProxy "exportFilename"
+printOperationExportFilename = AttrLabelProxy
+
+printOperationHasSelection :: AttrLabelProxy "hasSelection"
+printOperationHasSelection = AttrLabelProxy
+
+printOperationJobName :: AttrLabelProxy "jobName"
+printOperationJobName = AttrLabelProxy
+
+printOperationNPages :: AttrLabelProxy "nPages"
+printOperationNPages = AttrLabelProxy
+
+printOperationNPagesToPrint :: AttrLabelProxy "nPagesToPrint"
+printOperationNPagesToPrint = AttrLabelProxy
+
+printOperationPrintSettings :: AttrLabelProxy "printSettings"
+printOperationPrintSettings = AttrLabelProxy
+
+printOperationShowProgress :: AttrLabelProxy "showProgress"
+printOperationShowProgress = AttrLabelProxy
+
+printOperationStatus :: AttrLabelProxy "status"
+printOperationStatus = AttrLabelProxy
+
+printOperationStatusString :: AttrLabelProxy "statusString"
+printOperationStatusString = AttrLabelProxy
+
+printOperationSupportSelection :: AttrLabelProxy "supportSelection"
+printOperationSupportSelection = AttrLabelProxy
+
+printOperationTrackPrintStatus :: AttrLabelProxy "trackPrintStatus"
+printOperationTrackPrintStatus = AttrLabelProxy
+
+printOperationUnit :: AttrLabelProxy "unit"
+printOperationUnit = AttrLabelProxy
+
+printOperationUseFullPage :: AttrLabelProxy "useFullPage"
+printOperationUseFullPage = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data PrintOperationBeginPrintSignalInfo
+instance SignalInfo PrintOperationBeginPrintSignalInfo where
+    type HaskellCallbackType PrintOperationBeginPrintSignalInfo = PrintOperationBeginPrintCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationBeginPrintCallback cb
+        cb'' <- mk_PrintOperationBeginPrintCallback cb'
+        connectSignalFunPtr obj "begin-print" cb'' connectMode
+
+data PrintOperationCreateCustomWidgetSignalInfo
+instance SignalInfo PrintOperationCreateCustomWidgetSignalInfo where
+    type HaskellCallbackType PrintOperationCreateCustomWidgetSignalInfo = PrintOperationCreateCustomWidgetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationCreateCustomWidgetCallback cb
+        cb'' <- mk_PrintOperationCreateCustomWidgetCallback cb'
+        connectSignalFunPtr obj "create-custom-widget" cb'' connectMode
+
+data PrintOperationCustomWidgetApplySignalInfo
+instance SignalInfo PrintOperationCustomWidgetApplySignalInfo where
+    type HaskellCallbackType PrintOperationCustomWidgetApplySignalInfo = PrintOperationCustomWidgetApplyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationCustomWidgetApplyCallback cb
+        cb'' <- mk_PrintOperationCustomWidgetApplyCallback cb'
+        connectSignalFunPtr obj "custom-widget-apply" cb'' connectMode
+
+data PrintOperationDoneSignalInfo
+instance SignalInfo PrintOperationDoneSignalInfo where
+    type HaskellCallbackType PrintOperationDoneSignalInfo = PrintOperationDoneCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationDoneCallback cb
+        cb'' <- mk_PrintOperationDoneCallback cb'
+        connectSignalFunPtr obj "done" cb'' connectMode
+
+data PrintOperationDrawPageSignalInfo
+instance SignalInfo PrintOperationDrawPageSignalInfo where
+    type HaskellCallbackType PrintOperationDrawPageSignalInfo = PrintOperationDrawPageCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationDrawPageCallback cb
+        cb'' <- mk_PrintOperationDrawPageCallback cb'
+        connectSignalFunPtr obj "draw-page" cb'' connectMode
+
+data PrintOperationEndPrintSignalInfo
+instance SignalInfo PrintOperationEndPrintSignalInfo where
+    type HaskellCallbackType PrintOperationEndPrintSignalInfo = PrintOperationEndPrintCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationEndPrintCallback cb
+        cb'' <- mk_PrintOperationEndPrintCallback cb'
+        connectSignalFunPtr obj "end-print" cb'' connectMode
+
+data PrintOperationPaginateSignalInfo
+instance SignalInfo PrintOperationPaginateSignalInfo where
+    type HaskellCallbackType PrintOperationPaginateSignalInfo = PrintOperationPaginateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationPaginateCallback cb
+        cb'' <- mk_PrintOperationPaginateCallback cb'
+        connectSignalFunPtr obj "paginate" cb'' connectMode
+
+data PrintOperationPreviewSignalInfo
+instance SignalInfo PrintOperationPreviewSignalInfo where
+    type HaskellCallbackType PrintOperationPreviewSignalInfo = PrintOperationPreviewCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationPreviewCallback cb
+        cb'' <- mk_PrintOperationPreviewCallback cb'
+        connectSignalFunPtr obj "preview" cb'' connectMode
+
+data PrintOperationRequestPageSetupSignalInfo
+instance SignalInfo PrintOperationRequestPageSetupSignalInfo where
+    type HaskellCallbackType PrintOperationRequestPageSetupSignalInfo = PrintOperationRequestPageSetupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationRequestPageSetupCallback cb
+        cb'' <- mk_PrintOperationRequestPageSetupCallback cb'
+        connectSignalFunPtr obj "request-page-setup" cb'' connectMode
+
+data PrintOperationStatusChangedSignalInfo
+instance SignalInfo PrintOperationStatusChangedSignalInfo where
+    type HaskellCallbackType PrintOperationStatusChangedSignalInfo = PrintOperationStatusChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationStatusChangedCallback cb
+        cb'' <- mk_PrintOperationStatusChangedCallback cb'
+        connectSignalFunPtr obj "status-changed" cb'' connectMode
+
+data PrintOperationUpdateCustomWidgetSignalInfo
+instance SignalInfo PrintOperationUpdateCustomWidgetSignalInfo where
+    type HaskellCallbackType PrintOperationUpdateCustomWidgetSignalInfo = PrintOperationUpdateCustomWidgetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_PrintOperationUpdateCustomWidgetCallback cb
+        cb'' <- mk_PrintOperationUpdateCustomWidgetCallback cb'
+        connectSignalFunPtr obj "update-custom-widget" cb'' connectMode
+
+type instance O.SignalList PrintOperation = PrintOperationSignalList
+type PrintOperationSignalList = ('[ '("beginPrint", PrintOperationBeginPrintSignalInfo), '("createCustomWidget", PrintOperationCreateCustomWidgetSignalInfo), '("customWidgetApply", PrintOperationCustomWidgetApplySignalInfo), '("done", PrintOperationDoneSignalInfo), '("drawPage", PrintOperationDrawPageSignalInfo), '("endPrint", PrintOperationEndPrintSignalInfo), '("gotPageSize", Gtk.PrintOperationPreview.PrintOperationPreviewGotPageSizeSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("paginate", PrintOperationPaginateSignalInfo), '("preview", PrintOperationPreviewSignalInfo), '("ready", Gtk.PrintOperationPreview.PrintOperationPreviewReadySignalInfo), '("requestPageSetup", PrintOperationRequestPageSetupSignalInfo), '("statusChanged", PrintOperationStatusChangedSignalInfo), '("updateCustomWidget", PrintOperationUpdateCustomWidgetSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method PrintOperation::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintOperation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_new" gtk_print_operation_new :: 
+    IO (Ptr PrintOperation)
+
+{- |
+Creates a new 'GI.Gtk.Objects.PrintOperation.PrintOperation'.
+
+/Since: 2.10/
+-}
+printOperationNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m PrintOperation
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+printOperationNew  = liftIO $ do
+    result <- gtk_print_operation_new
+    checkUnexpectedReturnNULL "printOperationNew" result
+    result' <- (wrapObject PrintOperation) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PrintOperation::cancel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_cancel" gtk_print_operation_cancel :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO ()
+
+{- |
+Cancels a running print operation. This function may
+be called from a 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/begin-print/@,
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/paginate/@ or 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/draw-page/@
+signal handler to stop the currently running print
+operation.
+
+/Since: 2.10/
+-}
+printOperationCancel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m ()
+printOperationCancel op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    gtk_print_operation_cancel op'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationCancelMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationCancelMethodInfo a signature where
+    overloadedMethod _ = printOperationCancel
+
+#endif
+
+-- method PrintOperation::draw_page_finish
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_draw_page_finish" gtk_print_operation_draw_page_finish :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO ()
+
+{- |
+Signalize that drawing of particular page is complete.
+
+It is called after completion of page drawing (e.g. drawing in another
+thread).
+If 'GI.Gtk.Objects.PrintOperation.printOperationSetDeferDrawing' was called before, then this function
+has to be called by application. In another case it is called by the library
+itself.
+
+/Since: 2.16/
+-}
+printOperationDrawPageFinish ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m ()
+printOperationDrawPageFinish op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    gtk_print_operation_draw_page_finish op'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationDrawPageFinishMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationDrawPageFinishMethodInfo a signature where
+    overloadedMethod _ = printOperationDrawPageFinish
+
+#endif
+
+-- method PrintOperation::get_default_page_setup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageSetup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_get_default_page_setup" gtk_print_operation_get_default_page_setup :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO (Ptr Gtk.PageSetup.PageSetup)
+
+{- |
+Returns the default page setup, see
+'GI.Gtk.Objects.PrintOperation.printOperationSetDefaultPageSetup'.
+
+/Since: 2.10/
+-}
+printOperationGetDefaultPageSetup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m Gtk.PageSetup.PageSetup
+    {- ^ __Returns:__ the default page setup -}
+printOperationGetDefaultPageSetup op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_print_operation_get_default_page_setup op'
+    checkUnexpectedReturnNULL "printOperationGetDefaultPageSetup" result
+    result' <- (newObject Gtk.PageSetup.PageSetup) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintOperationGetDefaultPageSetupMethodInfo
+instance (signature ~ (m Gtk.PageSetup.PageSetup), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationGetDefaultPageSetupMethodInfo a signature where
+    overloadedMethod _ = printOperationGetDefaultPageSetup
+
+#endif
+
+-- method PrintOperation::get_embed_page_setup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_get_embed_page_setup" gtk_print_operation_get_embed_page_setup :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO CInt
+
+{- |
+Gets the value of 'GI.Gtk.Objects.PrintOperation.PrintOperation':@/embed-page-setup/@ property.
+
+/Since: 2.18/
+-}
+printOperationGetEmbedPageSetup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m Bool
+    {- ^ __Returns:__ whether page setup selection combos are embedded -}
+printOperationGetEmbedPageSetup op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_print_operation_get_embed_page_setup op'
+    let result' = (/= 0) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintOperationGetEmbedPageSetupMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationGetEmbedPageSetupMethodInfo a signature where
+    overloadedMethod _ = printOperationGetEmbedPageSetup
+
+#endif
+
+-- method PrintOperation::get_error
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_get_error" gtk_print_operation_get_error :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    Ptr (Ptr GError) ->                     -- error
+    IO ()
+
+{- |
+Call this when the result of a print operation is
+'GI.Gtk.Enums.PrintOperationResultError', either as returned by
+'GI.Gtk.Objects.PrintOperation.printOperationRun', or in the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/done/@ signal
+handler. The returned 'GError' will contain more details on what went wrong.
+
+/Since: 2.10/
+-}
+printOperationGetError ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+printOperationGetError op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    onException (do
+        propagateGError $ gtk_print_operation_get_error op'
+        touchManagedPtr op
+        return ()
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data PrintOperationGetErrorMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationGetErrorMethodInfo a signature where
+    overloadedMethod _ = printOperationGetError
+
+#endif
+
+-- method PrintOperation::get_has_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_get_has_selection" gtk_print_operation_get_has_selection :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO CInt
+
+{- |
+Gets the value of 'GI.Gtk.Objects.PrintOperation.PrintOperation':@/has-selection/@ property.
+
+/Since: 2.18/
+-}
+printOperationGetHasSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m Bool
+    {- ^ __Returns:__ whether there is a selection -}
+printOperationGetHasSelection op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_print_operation_get_has_selection op'
+    let result' = (/= 0) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintOperationGetHasSelectionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationGetHasSelectionMethodInfo a signature where
+    overloadedMethod _ = printOperationGetHasSelection
+
+#endif
+
+-- method PrintOperation::get_n_pages_to_print
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_get_n_pages_to_print" gtk_print_operation_get_n_pages_to_print :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO Int32
+
+{- |
+Returns the number of pages that will be printed.
+
+Note that this value is set during print preparation phase
+('GI.Gtk.Enums.PrintStatusPreparing'), so this function should never be
+called before the data generation phase ('GI.Gtk.Enums.PrintStatusGeneratingData').
+You can connect to the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/status-changed/@ signal
+and call 'GI.Gtk.Objects.PrintOperation.printOperationGetNPagesToPrint' when
+print status is 'GI.Gtk.Enums.PrintStatusGeneratingData'.
+This is typically used to track the progress of print operation.
+
+/Since: 2.18/
+-}
+printOperationGetNPagesToPrint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of pages that will be printed -}
+printOperationGetNPagesToPrint op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_print_operation_get_n_pages_to_print op'
+    touchManagedPtr op
+    return result
+
+#if ENABLE_OVERLOADING
+data PrintOperationGetNPagesToPrintMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationGetNPagesToPrintMethodInfo a signature where
+    overloadedMethod _ = printOperationGetNPagesToPrint
+
+#endif
+
+-- method PrintOperation::get_print_settings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintSettings"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_get_print_settings" gtk_print_operation_get_print_settings :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO (Ptr Gtk.PrintSettings.PrintSettings)
+
+{- |
+Returns the current print settings.
+
+Note that the return value is 'Nothing' until either
+'GI.Gtk.Objects.PrintOperation.printOperationSetPrintSettings' or
+'GI.Gtk.Objects.PrintOperation.printOperationRun' have been called.
+
+/Since: 2.10/
+-}
+printOperationGetPrintSettings ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m Gtk.PrintSettings.PrintSettings
+    {- ^ __Returns:__ the current print settings of /@op@/. -}
+printOperationGetPrintSettings op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_print_operation_get_print_settings op'
+    checkUnexpectedReturnNULL "printOperationGetPrintSettings" result
+    result' <- (newObject Gtk.PrintSettings.PrintSettings) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintOperationGetPrintSettingsMethodInfo
+instance (signature ~ (m Gtk.PrintSettings.PrintSettings), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationGetPrintSettingsMethodInfo a signature where
+    overloadedMethod _ = printOperationGetPrintSettings
+
+#endif
+
+-- method PrintOperation::get_status
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintStatus"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_get_status" gtk_print_operation_get_status :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO CUInt
+
+{- |
+Returns the status of the print operation.
+Also see 'GI.Gtk.Objects.PrintOperation.printOperationGetStatusString'.
+
+/Since: 2.10/
+-}
+printOperationGetStatus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m Gtk.Enums.PrintStatus
+    {- ^ __Returns:__ the status of the print operation -}
+printOperationGetStatus op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_print_operation_get_status op'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintOperationGetStatusMethodInfo
+instance (signature ~ (m Gtk.Enums.PrintStatus), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationGetStatusMethodInfo a signature where
+    overloadedMethod _ = printOperationGetStatus
+
+#endif
+
+-- method PrintOperation::get_status_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_get_status_string" gtk_print_operation_get_status_string :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO CString
+
+{- |
+Returns a string representation of the status of the
+print operation. The string is translated and suitable
+for displaying the print status e.g. in a 'GI.Gtk.Objects.Statusbar.Statusbar'.
+
+Use 'GI.Gtk.Objects.PrintOperation.printOperationGetStatus' to obtain a status
+value that is suitable for programmatic use.
+
+/Since: 2.10/
+-}
+printOperationGetStatusString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m T.Text
+    {- ^ __Returns:__ a string representation of the status
+   of the print operation -}
+printOperationGetStatusString op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_print_operation_get_status_string op'
+    checkUnexpectedReturnNULL "printOperationGetStatusString" result
+    result' <- cstringToText result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintOperationGetStatusStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationGetStatusStringMethodInfo a signature where
+    overloadedMethod _ = printOperationGetStatusString
+
+#endif
+
+-- method PrintOperation::get_support_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_get_support_selection" gtk_print_operation_get_support_selection :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO CInt
+
+{- |
+Gets the value of 'GI.Gtk.Objects.PrintOperation.PrintOperation':@/support-selection/@ property.
+
+/Since: 2.18/
+-}
+printOperationGetSupportSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the application supports print of selection -}
+printOperationGetSupportSelection op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_print_operation_get_support_selection op'
+    let result' = (/= 0) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintOperationGetSupportSelectionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationGetSupportSelectionMethodInfo a signature where
+    overloadedMethod _ = printOperationGetSupportSelection
+
+#endif
+
+-- method PrintOperation::is_finished
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_is_finished" gtk_print_operation_is_finished :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO CInt
+
+{- |
+A convenience function to find out if the print operation
+is finished, either successfully ('GI.Gtk.Enums.PrintStatusFinished')
+or unsuccessfully ('GI.Gtk.Enums.PrintStatusFinishedAborted').
+
+Note: when you enable print status tracking the print operation
+can be in a non-finished state even after done has been called, as
+the operation status then tracks the print job status on the printer.
+
+/Since: 2.10/
+-}
+printOperationIsFinished ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if the print operation is finished. -}
+printOperationIsFinished op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    result <- gtk_print_operation_is_finished op'
+    let result' = (/= 0) result
+    touchManagedPtr op
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintOperationIsFinishedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationIsFinishedMethodInfo a signature where
+    overloadedMethod _ = printOperationIsFinished
+
+#endif
+
+-- method PrintOperation::run
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperationAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action to start", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Transient parent of the dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintOperationResult"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_run" gtk_print_operation_run :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CUInt ->                                -- action : TInterface (Name {namespace = "Gtk", name = "PrintOperationAction"})
+    Ptr Gtk.Window.Window ->                -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr (Ptr GError) ->                     -- error
+    IO CUInt
+
+{- |
+Runs the print operation, by first letting the user modify
+print settings in the print dialog, and then print the document.
+
+Normally that this function does not return until the rendering of all
+pages is complete. You can connect to the
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/status-changed/@ signal on /@op@/ to obtain some
+information about the progress of the print operation.
+Furthermore, it may use a recursive mainloop to show the print dialog.
+
+If you call 'GI.Gtk.Objects.PrintOperation.printOperationSetAllowAsync' or set the
+'GI.Gtk.Objects.PrintOperation.PrintOperation':@/allow-async/@ property the operation will run
+asynchronously if this is supported on the platform. The
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/done/@ signal will be emitted with the result of the
+operation when the it is done (i.e. when the dialog is canceled, or when
+the print succeeds or fails).
+
+=== /C code/
+>
+>if (settings != NULL)
+>  gtk_print_operation_set_print_settings (print, settings);
+>  
+>if (page_setup != NULL)
+>  gtk_print_operation_set_default_page_setup (print, page_setup);
+>  
+>g_signal_connect (print, "begin-print",
+>                  G_CALLBACK (begin_print), &data);
+>g_signal_connect (print, "draw-page",
+>                  G_CALLBACK (draw_page), &data);
+> 
+>res = gtk_print_operation_run (print,
+>                               GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
+>                               parent,
+>                               &error);
+> 
+>if (res == GTK_PRINT_OPERATION_RESULT_ERROR)
+> {
+>   error_dialog = gtk_message_dialog_new (GTK_WINDOW (parent),
+>  			                     GTK_DIALOG_DESTROY_WITH_PARENT,
+>					     GTK_MESSAGE_ERROR,
+>					     GTK_BUTTONS_CLOSE,
+>					     "Error printing file:\n%s",
+>					     error->message);
+>   g_signal_connect (error_dialog, "response",
+>                     G_CALLBACK (gtk_widget_destroy), NULL);
+>   gtk_widget_show (error_dialog);
+>   g_error_free (error);
+> }
+>else if (res == GTK_PRINT_OPERATION_RESULT_APPLY)
+> {
+>   if (settings != NULL)
+>g_object_unref (settings);
+>   settings = g_object_ref (gtk_print_operation_get_print_settings (print));
+> }
+
+
+Note that 'GI.Gtk.Objects.PrintOperation.printOperationRun' can only be called once on a
+given 'GI.Gtk.Objects.PrintOperation.PrintOperation'.
+
+/Since: 2.10/
+-}
+printOperationRun ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a, Gtk.Window.IsWindow b) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Gtk.Enums.PrintOperationAction
+    {- ^ /@action@/: the action to start -}
+    -> Maybe (b)
+    {- ^ /@parent@/: Transient parent of the dialog -}
+    -> m Gtk.Enums.PrintOperationResult
+    {- ^ __Returns:__ the result of the print operation. A return value of
+  'GI.Gtk.Enums.PrintOperationResultApply' indicates that the printing was
+  completed successfully. In this case, it is a good idea to obtain
+  the used print settings with 'GI.Gtk.Objects.PrintOperation.printOperationGetPrintSettings'
+  and store them for reuse with the next print operation. A value of
+  'GI.Gtk.Enums.PrintOperationResultInProgress' means the operation is running
+  asynchronously, and will emit the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/done/@ signal when
+  done. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+printOperationRun op action parent = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    let action' = (fromIntegral . fromEnum) action
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    onException (do
+        result <- propagateGError $ gtk_print_operation_run op' action' maybeParent
+        let result' = (toEnum . fromIntegral) result
+        touchManagedPtr op
+        whenJust parent touchManagedPtr
+        return result'
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data PrintOperationRunMethodInfo
+instance (signature ~ (Gtk.Enums.PrintOperationAction -> Maybe (b) -> m Gtk.Enums.PrintOperationResult), MonadIO m, IsPrintOperation a, Gtk.Window.IsWindow b) => O.MethodInfo PrintOperationRunMethodInfo a signature where
+    overloadedMethod _ = printOperationRun
+
+#endif
+
+-- method PrintOperation::set_allow_async
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allow_async", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to allow asynchronous operation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_allow_async" gtk_print_operation_set_allow_async :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CInt ->                                 -- allow_async : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the 'GI.Gtk.Objects.PrintOperation.printOperationRun' may return
+before the print operation is completed. Note that
+some platforms may not allow asynchronous operation.
+
+/Since: 2.10/
+-}
+printOperationSetAllowAsync ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Bool
+    {- ^ /@allowAsync@/: 'True' to allow asynchronous operation -}
+    -> m ()
+printOperationSetAllowAsync op allowAsync = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    let allowAsync' = (fromIntegral . fromEnum) allowAsync
+    gtk_print_operation_set_allow_async op' allowAsync'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetAllowAsyncMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetAllowAsyncMethodInfo a signature where
+    overloadedMethod _ = printOperationSetAllowAsync
+
+#endif
+
+-- method PrintOperation::set_current_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "current_page", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the current page, 0-based", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_current_page" gtk_print_operation_set_current_page :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    Int32 ->                                -- current_page : TBasicType TInt
+    IO ()
+
+{- |
+Sets the current page.
+
+If this is called before 'GI.Gtk.Objects.PrintOperation.printOperationRun',
+the user will be able to select to print only the current page.
+
+Note that this only makes sense for pre-paginated documents.
+
+/Since: 2.10/
+-}
+printOperationSetCurrentPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Int32
+    {- ^ /@currentPage@/: the current page, 0-based -}
+    -> m ()
+printOperationSetCurrentPage op currentPage = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    gtk_print_operation_set_current_page op' currentPage
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetCurrentPageMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetCurrentPageMethodInfo a signature where
+    overloadedMethod _ = printOperationSetCurrentPage
+
+#endif
+
+-- method PrintOperation::set_custom_tab_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the label to use, or %NULL to use the default label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_custom_tab_label" gtk_print_operation_set_custom_tab_label :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the label for the tab holding custom widgets.
+
+/Since: 2.10/
+-}
+printOperationSetCustomTabLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: the label to use, or 'Nothing' to use the default label -}
+    -> m ()
+printOperationSetCustomTabLabel op label = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    gtk_print_operation_set_custom_tab_label op' maybeLabel
+    touchManagedPtr op
+    freeMem maybeLabel
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetCustomTabLabelMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetCustomTabLabelMethodInfo a signature where
+    overloadedMethod _ = printOperationSetCustomTabLabel
+
+#endif
+
+-- method PrintOperation::set_default_page_setup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_page_setup", argType = TInterface (Name {namespace = "Gtk", name = "PageSetup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkPageSetup, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_default_page_setup" gtk_print_operation_set_default_page_setup :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    Ptr Gtk.PageSetup.PageSetup ->          -- default_page_setup : TInterface (Name {namespace = "Gtk", name = "PageSetup"})
+    IO ()
+
+{- |
+Makes /@defaultPageSetup@/ the default page setup for /@op@/.
+
+This page setup will be used by 'GI.Gtk.Objects.PrintOperation.printOperationRun',
+but it can be overridden on a per-page basis by connecting
+to the 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/request-page-setup/@ signal.
+
+/Since: 2.10/
+-}
+printOperationSetDefaultPageSetup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a, Gtk.PageSetup.IsPageSetup b) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Maybe (b)
+    {- ^ /@defaultPageSetup@/: a 'GI.Gtk.Objects.PageSetup.PageSetup', or 'Nothing' -}
+    -> m ()
+printOperationSetDefaultPageSetup op defaultPageSetup = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    maybeDefaultPageSetup <- case defaultPageSetup of
+        Nothing -> return nullPtr
+        Just jDefaultPageSetup -> do
+            jDefaultPageSetup' <- unsafeManagedPtrCastPtr jDefaultPageSetup
+            return jDefaultPageSetup'
+    gtk_print_operation_set_default_page_setup op' maybeDefaultPageSetup
+    touchManagedPtr op
+    whenJust defaultPageSetup touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetDefaultPageSetupMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsPrintOperation a, Gtk.PageSetup.IsPageSetup b) => O.MethodInfo PrintOperationSetDefaultPageSetupMethodInfo a signature where
+    overloadedMethod _ = printOperationSetDefaultPageSetup
+
+#endif
+
+-- method PrintOperation::set_defer_drawing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_defer_drawing" gtk_print_operation_set_defer_drawing :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    IO ()
+
+{- |
+Sets up the 'GI.Gtk.Objects.PrintOperation.PrintOperation' to wait for calling of
+'GI.Gtk.Objects.PrintOperation.printOperationDrawPageFinish' from application. It can
+be used for drawing page in another thread.
+
+This function must be called in the callback of “draw-page” signal.
+
+/Since: 2.16/
+-}
+printOperationSetDeferDrawing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> m ()
+printOperationSetDeferDrawing op = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    gtk_print_operation_set_defer_drawing op'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetDeferDrawingMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetDeferDrawingMethodInfo a signature where
+    overloadedMethod _ = printOperationSetDeferDrawing
+
+#endif
+
+-- method PrintOperation::set_embed_page_setup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "embed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to embed page setup selection in the #GtkPrintUnixDialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_embed_page_setup" gtk_print_operation_set_embed_page_setup :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CInt ->                                 -- embed : TBasicType TBoolean
+    IO ()
+
+{- |
+Embed page size combo box and orientation combo box into page setup page.
+Selected page setup is stored as default page setup in 'GI.Gtk.Objects.PrintOperation.PrintOperation'.
+
+/Since: 2.18/
+-}
+printOperationSetEmbedPageSetup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Bool
+    {- ^ /@embed@/: 'True' to embed page setup selection in the @/GtkPrintUnixDialog/@ -}
+    -> m ()
+printOperationSetEmbedPageSetup op embed = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    let embed' = (fromIntegral . fromEnum) embed
+    gtk_print_operation_set_embed_page_setup op' embed'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetEmbedPageSetupMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetEmbedPageSetupMethodInfo a signature where
+    overloadedMethod _ = printOperationSetEmbedPageSetup
+
+#endif
+
+-- method PrintOperation::set_export_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename for the exported file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_export_filename" gtk_print_operation_set_export_filename :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CString ->                              -- filename : TBasicType TFileName
+    IO ()
+
+{- |
+Sets up the 'GI.Gtk.Objects.PrintOperation.PrintOperation' to generate a file instead
+of showing the print dialog. The indended use of this function
+is for implementing “Export to PDF” actions. Currently, PDF
+is the only supported format.
+
+“Print to PDF” support is independent of this and is done
+by letting the user pick the “Print to PDF” item from the list
+of printers in the print dialog.
+
+/Since: 2.10/
+-}
+printOperationSetExportFilename ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> [Char]
+    {- ^ /@filename@/: the filename for the exported file -}
+    -> m ()
+printOperationSetExportFilename op filename = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    filename' <- stringToCString filename
+    gtk_print_operation_set_export_filename op' filename'
+    touchManagedPtr op
+    freeMem filename'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetExportFilenameMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetExportFilenameMethodInfo a signature where
+    overloadedMethod _ = printOperationSetExportFilename
+
+#endif
+
+-- method PrintOperation::set_has_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_selection", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE indicates that a selection exists", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_has_selection" gtk_print_operation_set_has_selection :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CInt ->                                 -- has_selection : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether there is a selection to print.
+
+Application has to set number of pages to which the selection
+will draw by 'GI.Gtk.Objects.PrintOperation.printOperationSetNPages' in a callback of
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/begin-print/@.
+
+/Since: 2.18/
+-}
+printOperationSetHasSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Bool
+    {- ^ /@hasSelection@/: 'True' indicates that a selection exists -}
+    -> m ()
+printOperationSetHasSelection op hasSelection = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    let hasSelection' = (fromIntegral . fromEnum) hasSelection
+    gtk_print_operation_set_has_selection op' hasSelection'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetHasSelectionMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetHasSelectionMethodInfo a signature where
+    overloadedMethod _ = printOperationSetHasSelection
+
+#endif
+
+-- method PrintOperation::set_job_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "job_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string that identifies the print job", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_job_name" gtk_print_operation_set_job_name :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CString ->                              -- job_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the name of the print job. The name is used to identify
+the job (e.g. in monitoring applications like eggcups).
+
+If you don’t set a job name, GTK+ picks a default one by
+numbering successive print jobs.
+
+/Since: 2.10/
+-}
+printOperationSetJobName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> T.Text
+    {- ^ /@jobName@/: a string that identifies the print job -}
+    -> m ()
+printOperationSetJobName op jobName = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    jobName' <- textToCString jobName
+    gtk_print_operation_set_job_name op' jobName'
+    touchManagedPtr op
+    freeMem jobName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetJobNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetJobNameMethodInfo a signature where
+    overloadedMethod _ = printOperationSetJobName
+
+#endif
+
+-- method PrintOperation::set_n_pages
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_pages", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of pages", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_n_pages" gtk_print_operation_set_n_pages :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    Int32 ->                                -- n_pages : TBasicType TInt
+    IO ()
+
+{- |
+Sets the number of pages in the document.
+
+This must be set to a positive number
+before the rendering starts. It may be set in a
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/begin-print/@ signal hander.
+
+Note that the page numbers passed to the
+'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/request-page-setup/@
+and 'GI.Gtk.Objects.PrintOperation.PrintOperation'::@/draw-page/@ signals are 0-based, i.e. if
+the user chooses to print all pages, the last ::draw-page signal
+will be for page /@nPages@/ - 1.
+
+/Since: 2.10/
+-}
+printOperationSetNPages ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Int32
+    {- ^ /@nPages@/: the number of pages -}
+    -> m ()
+printOperationSetNPages op nPages = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    gtk_print_operation_set_n_pages op' nPages
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetNPagesMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetNPagesMethodInfo a signature where
+    overloadedMethod _ = printOperationSetNPages
+
+#endif
+
+-- method PrintOperation::set_print_settings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "print_settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_print_settings" gtk_print_operation_set_print_settings :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    Ptr Gtk.PrintSettings.PrintSettings ->  -- print_settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO ()
+
+{- |
+Sets the print settings for /@op@/. This is typically used to
+re-establish print settings from a previous print operation,
+see 'GI.Gtk.Objects.PrintOperation.printOperationRun'.
+
+/Since: 2.10/
+-}
+printOperationSetPrintSettings ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a, Gtk.PrintSettings.IsPrintSettings b) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Maybe (b)
+    {- ^ /@printSettings@/: 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m ()
+printOperationSetPrintSettings op printSettings = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    maybePrintSettings <- case printSettings of
+        Nothing -> return nullPtr
+        Just jPrintSettings -> do
+            jPrintSettings' <- unsafeManagedPtrCastPtr jPrintSettings
+            return jPrintSettings'
+    gtk_print_operation_set_print_settings op' maybePrintSettings
+    touchManagedPtr op
+    whenJust printSettings touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetPrintSettingsMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsPrintOperation a, Gtk.PrintSettings.IsPrintSettings b) => O.MethodInfo PrintOperationSetPrintSettingsMethodInfo a signature where
+    overloadedMethod _ = printOperationSetPrintSettings
+
+#endif
+
+-- method PrintOperation::set_show_progress
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_progress", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to show a progress dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_show_progress" gtk_print_operation_set_show_progress :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CInt ->                                 -- show_progress : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@showProgress@/ is 'True', the print operation will show a
+progress dialog during the print operation.
+
+/Since: 2.10/
+-}
+printOperationSetShowProgress ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Bool
+    {- ^ /@showProgress@/: 'True' to show a progress dialog -}
+    -> m ()
+printOperationSetShowProgress op showProgress = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    let showProgress' = (fromIntegral . fromEnum) showProgress
+    gtk_print_operation_set_show_progress op' showProgress'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetShowProgressMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetShowProgressMethodInfo a signature where
+    overloadedMethod _ = printOperationSetShowProgress
+
+#endif
+
+-- method PrintOperation::set_support_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "support_selection", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to support selection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_support_selection" gtk_print_operation_set_support_selection :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CInt ->                                 -- support_selection : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether selection is supported by 'GI.Gtk.Objects.PrintOperation.PrintOperation'.
+
+/Since: 2.18/
+-}
+printOperationSetSupportSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Bool
+    {- ^ /@supportSelection@/: 'True' to support selection -}
+    -> m ()
+printOperationSetSupportSelection op supportSelection = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    let supportSelection' = (fromIntegral . fromEnum) supportSelection
+    gtk_print_operation_set_support_selection op' supportSelection'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetSupportSelectionMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetSupportSelectionMethodInfo a signature where
+    overloadedMethod _ = printOperationSetSupportSelection
+
+#endif
+
+-- method PrintOperation::set_track_print_status
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "track_status", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to track status after printing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_track_print_status" gtk_print_operation_set_track_print_status :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CInt ->                                 -- track_status : TBasicType TBoolean
+    IO ()
+
+{- |
+If track_status is 'True', the print operation will try to continue report
+on the status of the print job in the printer queues and printer. This
+can allow your application to show things like “out of paper” issues,
+and when the print job actually reaches the printer.
+
+This function is often implemented using some form of polling, so it should
+not be enabled unless needed.
+
+/Since: 2.10/
+-}
+printOperationSetTrackPrintStatus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Bool
+    {- ^ /@trackStatus@/: 'True' to track status after printing -}
+    -> m ()
+printOperationSetTrackPrintStatus op trackStatus = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    let trackStatus' = (fromIntegral . fromEnum) trackStatus
+    gtk_print_operation_set_track_print_status op' trackStatus'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetTrackPrintStatusMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetTrackPrintStatusMethodInfo a signature where
+    overloadedMethod _ = printOperationSetTrackPrintStatus
+
+#endif
+
+-- method PrintOperation::set_unit
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_unit" gtk_print_operation_set_unit :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO ()
+
+{- |
+Sets up the transformation for the cairo context obtained from
+'GI.Gtk.Objects.PrintContext.PrintContext' in such a way that distances are measured in
+units of /@unit@/.
+
+/Since: 2.10/
+-}
+printOperationSetUnit ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit to use -}
+    -> m ()
+printOperationSetUnit op unit = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_print_operation_set_unit op' unit'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetUnitMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetUnitMethodInfo a signature where
+    overloadedMethod _ = printOperationSetUnit
+
+#endif
+
+-- method PrintOperation::set_use_full_page
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "op", argType = TInterface (Name {namespace = "Gtk", name = "PrintOperation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintOperation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "full_page", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to set up the #GtkPrintContext for the full page", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_operation_set_use_full_page" gtk_print_operation_set_use_full_page :: 
+    Ptr PrintOperation ->                   -- op : TInterface (Name {namespace = "Gtk", name = "PrintOperation"})
+    CInt ->                                 -- full_page : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@fullPage@/ is 'True', the transformation for the cairo context
+obtained from 'GI.Gtk.Objects.PrintContext.PrintContext' puts the origin at the top left
+corner of the page (which may not be the top left corner of the
+sheet, depending on page orientation and the number of pages per
+sheet). Otherwise, the origin is at the top left corner of the
+imageable area (i.e. inside the margins).
+
+/Since: 2.10/
+-}
+printOperationSetUseFullPage ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintOperation a) =>
+    a
+    {- ^ /@op@/: a 'GI.Gtk.Objects.PrintOperation.PrintOperation' -}
+    -> Bool
+    {- ^ /@fullPage@/: 'True' to set up the 'GI.Gtk.Objects.PrintContext.PrintContext' for the full page -}
+    -> m ()
+printOperationSetUseFullPage op fullPage = liftIO $ do
+    op' <- unsafeManagedPtrCastPtr op
+    let fullPage' = (fromIntegral . fromEnum) fullPage
+    gtk_print_operation_set_use_full_page op' fullPage'
+    touchManagedPtr op
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintOperationSetUseFullPageMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintOperation a) => O.MethodInfo PrintOperationSetUseFullPageMethodInfo a signature where
+    overloadedMethod _ = printOperationSetUseFullPage
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/PrintOperation.hs-boot b/GI/Gtk/Objects/PrintOperation.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PrintOperation.hs-boot
@@ -0,0 +1,203 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.PrintOperation where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PrintOperation = PrintOperation (ManagedPtr PrintOperation)
+instance GObject PrintOperation where
+class (GObject o, O.IsDescendantOf PrintOperation o) => IsPrintOperation o
+instance (GObject o, O.IsDescendantOf PrintOperation o) => IsPrintOperation o
+instance O.HasParentTypes PrintOperation
+#if ENABLE_OVERLOADING
+data PrintOperationAllowAsyncPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationCurrentPagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationCustomTabLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationDefaultPageSetupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationEmbedPageSetupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationExportFilenamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationHasSelectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationJobNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationNPagesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationNPagesToPrintPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationPrintSettingsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationShowProgressPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationStatusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationStatusStringPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSupportSelectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationTrackPrintStatusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationUnitPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationUseFullPagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationBeginPrintSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationCreateCustomWidgetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationCustomWidgetApplySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationDoneSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationDrawPageSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationEndPrintSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationPaginateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationPreviewSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationRequestPageSetupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationStatusChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationUpdateCustomWidgetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationCancelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationDrawPageFinishMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationGetDefaultPageSetupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationGetEmbedPageSetupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationGetErrorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationGetHasSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationGetNPagesToPrintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationGetPrintSettingsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationGetStatusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationGetStatusStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationGetSupportSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationIsFinishedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationRunMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetAllowAsyncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetCurrentPageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetCustomTabLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetDefaultPageSetupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetDeferDrawingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetEmbedPageSetupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetExportFilenameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetHasSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetJobNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetNPagesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetPrintSettingsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetShowProgressMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetSupportSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetTrackPrintStatusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetUnitMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintOperationSetUseFullPageMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/PrintSettings.hs b/GI/Gtk/Objects/PrintSettings.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PrintSettings.hs
@@ -0,0 +1,3904 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkPrintSettings object represents the settings of a print dialog in
+a system-independent way. The main use for this object is that once
+you’ve printed you can get a settings object that represents the settings
+the user chose, and the next time you print you can pass that object in so
+that the user doesn’t have to re-set all his settings.
+
+Its also possible to enumerate the settings so that you can easily save
+the settings for the next time your app runs, or even store them in a
+document. The predefined keys try to use shared values as much as possible
+so that moving such a document between systems still works.
+
+Printing support was added in GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.PrintSettings
+    ( 
+
+-- * Exported types
+    PrintSettings(..)                       ,
+    IsPrintSettings                         ,
+    toPrintSettings                         ,
+    noPrintSettings                         ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsCopyMethodInfo             ,
+#endif
+    printSettingsCopy                       ,
+
+
+-- ** foreach #method:foreach#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsForeachMethodInfo          ,
+#endif
+    printSettingsForeach                    ,
+
+
+-- ** get #method:get#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetMethodInfo              ,
+#endif
+    printSettingsGet                        ,
+
+
+-- ** getBool #method:getBool#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetBoolMethodInfo          ,
+#endif
+    printSettingsGetBool                    ,
+
+
+-- ** getCollate #method:getCollate#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetCollateMethodInfo       ,
+#endif
+    printSettingsGetCollate                 ,
+
+
+-- ** getDefaultSource #method:getDefaultSource#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetDefaultSourceMethodInfo ,
+#endif
+    printSettingsGetDefaultSource           ,
+
+
+-- ** getDither #method:getDither#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetDitherMethodInfo        ,
+#endif
+    printSettingsGetDither                  ,
+
+
+-- ** getDouble #method:getDouble#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetDoubleMethodInfo        ,
+#endif
+    printSettingsGetDouble                  ,
+
+
+-- ** getDoubleWithDefault #method:getDoubleWithDefault#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetDoubleWithDefaultMethodInfo,
+#endif
+    printSettingsGetDoubleWithDefault       ,
+
+
+-- ** getDuplex #method:getDuplex#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetDuplexMethodInfo        ,
+#endif
+    printSettingsGetDuplex                  ,
+
+
+-- ** getFinishings #method:getFinishings#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetFinishingsMethodInfo    ,
+#endif
+    printSettingsGetFinishings              ,
+
+
+-- ** getInt #method:getInt#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetIntMethodInfo           ,
+#endif
+    printSettingsGetInt                     ,
+
+
+-- ** getIntWithDefault #method:getIntWithDefault#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetIntWithDefaultMethodInfo,
+#endif
+    printSettingsGetIntWithDefault          ,
+
+
+-- ** getLength #method:getLength#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetLengthMethodInfo        ,
+#endif
+    printSettingsGetLength                  ,
+
+
+-- ** getMediaType #method:getMediaType#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetMediaTypeMethodInfo     ,
+#endif
+    printSettingsGetMediaType               ,
+
+
+-- ** getNCopies #method:getNCopies#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetNCopiesMethodInfo       ,
+#endif
+    printSettingsGetNCopies                 ,
+
+
+-- ** getNumberUp #method:getNumberUp#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetNumberUpMethodInfo      ,
+#endif
+    printSettingsGetNumberUp                ,
+
+
+-- ** getNumberUpLayout #method:getNumberUpLayout#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetNumberUpLayoutMethodInfo,
+#endif
+    printSettingsGetNumberUpLayout          ,
+
+
+-- ** getOrientation #method:getOrientation#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetOrientationMethodInfo   ,
+#endif
+    printSettingsGetOrientation             ,
+
+
+-- ** getOutputBin #method:getOutputBin#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetOutputBinMethodInfo     ,
+#endif
+    printSettingsGetOutputBin               ,
+
+
+-- ** getPageRanges #method:getPageRanges#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetPageRangesMethodInfo    ,
+#endif
+    printSettingsGetPageRanges              ,
+
+
+-- ** getPageSet #method:getPageSet#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetPageSetMethodInfo       ,
+#endif
+    printSettingsGetPageSet                 ,
+
+
+-- ** getPaperHeight #method:getPaperHeight#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetPaperHeightMethodInfo   ,
+#endif
+    printSettingsGetPaperHeight             ,
+
+
+-- ** getPaperSize #method:getPaperSize#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetPaperSizeMethodInfo     ,
+#endif
+    printSettingsGetPaperSize               ,
+
+
+-- ** getPaperWidth #method:getPaperWidth#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetPaperWidthMethodInfo    ,
+#endif
+    printSettingsGetPaperWidth              ,
+
+
+-- ** getPrintPages #method:getPrintPages#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetPrintPagesMethodInfo    ,
+#endif
+    printSettingsGetPrintPages              ,
+
+
+-- ** getPrinter #method:getPrinter#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetPrinterMethodInfo       ,
+#endif
+    printSettingsGetPrinter                 ,
+
+
+-- ** getPrinterLpi #method:getPrinterLpi#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetPrinterLpiMethodInfo    ,
+#endif
+    printSettingsGetPrinterLpi              ,
+
+
+-- ** getQuality #method:getQuality#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetQualityMethodInfo       ,
+#endif
+    printSettingsGetQuality                 ,
+
+
+-- ** getResolution #method:getResolution#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetResolutionMethodInfo    ,
+#endif
+    printSettingsGetResolution              ,
+
+
+-- ** getResolutionX #method:getResolutionX#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetResolutionXMethodInfo   ,
+#endif
+    printSettingsGetResolutionX             ,
+
+
+-- ** getResolutionY #method:getResolutionY#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetResolutionYMethodInfo   ,
+#endif
+    printSettingsGetResolutionY             ,
+
+
+-- ** getReverse #method:getReverse#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetReverseMethodInfo       ,
+#endif
+    printSettingsGetReverse                 ,
+
+
+-- ** getScale #method:getScale#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetScaleMethodInfo         ,
+#endif
+    printSettingsGetScale                   ,
+
+
+-- ** getUseColor #method:getUseColor#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsGetUseColorMethodInfo      ,
+#endif
+    printSettingsGetUseColor                ,
+
+
+-- ** hasKey #method:hasKey#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsHasKeyMethodInfo           ,
+#endif
+    printSettingsHasKey                     ,
+
+
+-- ** loadFile #method:loadFile#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsLoadFileMethodInfo         ,
+#endif
+    printSettingsLoadFile                   ,
+
+
+-- ** loadKeyFile #method:loadKeyFile#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsLoadKeyFileMethodInfo      ,
+#endif
+    printSettingsLoadKeyFile                ,
+
+
+-- ** new #method:new#
+
+    printSettingsNew                        ,
+
+
+-- ** newFromFile #method:newFromFile#
+
+    printSettingsNewFromFile                ,
+
+
+-- ** newFromGvariant #method:newFromGvariant#
+
+    printSettingsNewFromGvariant            ,
+
+
+-- ** newFromKeyFile #method:newFromKeyFile#
+
+    printSettingsNewFromKeyFile             ,
+
+
+-- ** set #method:set#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetMethodInfo              ,
+#endif
+    printSettingsSet                        ,
+
+
+-- ** setBool #method:setBool#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetBoolMethodInfo          ,
+#endif
+    printSettingsSetBool                    ,
+
+
+-- ** setCollate #method:setCollate#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetCollateMethodInfo       ,
+#endif
+    printSettingsSetCollate                 ,
+
+
+-- ** setDefaultSource #method:setDefaultSource#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetDefaultSourceMethodInfo ,
+#endif
+    printSettingsSetDefaultSource           ,
+
+
+-- ** setDither #method:setDither#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetDitherMethodInfo        ,
+#endif
+    printSettingsSetDither                  ,
+
+
+-- ** setDouble #method:setDouble#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetDoubleMethodInfo        ,
+#endif
+    printSettingsSetDouble                  ,
+
+
+-- ** setDuplex #method:setDuplex#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetDuplexMethodInfo        ,
+#endif
+    printSettingsSetDuplex                  ,
+
+
+-- ** setFinishings #method:setFinishings#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetFinishingsMethodInfo    ,
+#endif
+    printSettingsSetFinishings              ,
+
+
+-- ** setInt #method:setInt#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetIntMethodInfo           ,
+#endif
+    printSettingsSetInt                     ,
+
+
+-- ** setLength #method:setLength#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetLengthMethodInfo        ,
+#endif
+    printSettingsSetLength                  ,
+
+
+-- ** setMediaType #method:setMediaType#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetMediaTypeMethodInfo     ,
+#endif
+    printSettingsSetMediaType               ,
+
+
+-- ** setNCopies #method:setNCopies#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetNCopiesMethodInfo       ,
+#endif
+    printSettingsSetNCopies                 ,
+
+
+-- ** setNumberUp #method:setNumberUp#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetNumberUpMethodInfo      ,
+#endif
+    printSettingsSetNumberUp                ,
+
+
+-- ** setNumberUpLayout #method:setNumberUpLayout#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetNumberUpLayoutMethodInfo,
+#endif
+    printSettingsSetNumberUpLayout          ,
+
+
+-- ** setOrientation #method:setOrientation#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetOrientationMethodInfo   ,
+#endif
+    printSettingsSetOrientation             ,
+
+
+-- ** setOutputBin #method:setOutputBin#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetOutputBinMethodInfo     ,
+#endif
+    printSettingsSetOutputBin               ,
+
+
+-- ** setPageRanges #method:setPageRanges#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetPageRangesMethodInfo    ,
+#endif
+    printSettingsSetPageRanges              ,
+
+
+-- ** setPageSet #method:setPageSet#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetPageSetMethodInfo       ,
+#endif
+    printSettingsSetPageSet                 ,
+
+
+-- ** setPaperHeight #method:setPaperHeight#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetPaperHeightMethodInfo   ,
+#endif
+    printSettingsSetPaperHeight             ,
+
+
+-- ** setPaperSize #method:setPaperSize#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetPaperSizeMethodInfo     ,
+#endif
+    printSettingsSetPaperSize               ,
+
+
+-- ** setPaperWidth #method:setPaperWidth#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetPaperWidthMethodInfo    ,
+#endif
+    printSettingsSetPaperWidth              ,
+
+
+-- ** setPrintPages #method:setPrintPages#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetPrintPagesMethodInfo    ,
+#endif
+    printSettingsSetPrintPages              ,
+
+
+-- ** setPrinter #method:setPrinter#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetPrinterMethodInfo       ,
+#endif
+    printSettingsSetPrinter                 ,
+
+
+-- ** setPrinterLpi #method:setPrinterLpi#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetPrinterLpiMethodInfo    ,
+#endif
+    printSettingsSetPrinterLpi              ,
+
+
+-- ** setQuality #method:setQuality#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetQualityMethodInfo       ,
+#endif
+    printSettingsSetQuality                 ,
+
+
+-- ** setResolution #method:setResolution#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetResolutionMethodInfo    ,
+#endif
+    printSettingsSetResolution              ,
+
+
+-- ** setResolutionXy #method:setResolutionXy#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetResolutionXyMethodInfo  ,
+#endif
+    printSettingsSetResolutionXy            ,
+
+
+-- ** setReverse #method:setReverse#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetReverseMethodInfo       ,
+#endif
+    printSettingsSetReverse                 ,
+
+
+-- ** setScale #method:setScale#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetScaleMethodInfo         ,
+#endif
+    printSettingsSetScale                   ,
+
+
+-- ** setUseColor #method:setUseColor#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsSetUseColorMethodInfo      ,
+#endif
+    printSettingsSetUseColor                ,
+
+
+-- ** toFile #method:toFile#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsToFileMethodInfo           ,
+#endif
+    printSettingsToFile                     ,
+
+
+-- ** toGvariant #method:toGvariant#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsToGvariantMethodInfo       ,
+#endif
+    printSettingsToGvariant                 ,
+
+
+-- ** toKeyFile #method:toKeyFile#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsToKeyFileMethodInfo        ,
+#endif
+    printSettingsToKeyFile                  ,
+
+
+-- ** unset #method:unset#
+
+#if ENABLE_OVERLOADING
+    PrintSettingsUnsetMethodInfo            ,
+#endif
+    printSettingsUnset                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Structs.KeyFile as GLib.KeyFile
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Structs.PageRange as Gtk.PageRange
+import {-# SOURCE #-} qualified GI.Gtk.Structs.PaperSize as Gtk.PaperSize
+
+-- | Memory-managed wrapper type.
+newtype PrintSettings = PrintSettings (ManagedPtr PrintSettings)
+foreign import ccall "gtk_print_settings_get_type"
+    c_gtk_print_settings_get_type :: IO GType
+
+instance GObject PrintSettings where
+    gobjectType = c_gtk_print_settings_get_type
+    
+
+-- | Type class for types which can be safely cast to `PrintSettings`, for instance with `toPrintSettings`.
+class (GObject o, O.IsDescendantOf PrintSettings o) => IsPrintSettings o
+instance (GObject o, O.IsDescendantOf PrintSettings o) => IsPrintSettings o
+
+instance O.HasParentTypes PrintSettings
+type instance O.ParentTypes PrintSettings = '[GObject.Object.Object]
+
+-- | Cast to `PrintSettings`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toPrintSettings :: (MonadIO m, IsPrintSettings o) => o -> m PrintSettings
+toPrintSettings = liftIO . unsafeCastTo PrintSettings
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PrintSettings`.
+noPrintSettings :: Maybe PrintSettings
+noPrintSettings = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolvePrintSettingsMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePrintSettingsMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolvePrintSettingsMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolvePrintSettingsMethod "copy" o = PrintSettingsCopyMethodInfo
+    ResolvePrintSettingsMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolvePrintSettingsMethod "foreach" o = PrintSettingsForeachMethodInfo
+    ResolvePrintSettingsMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolvePrintSettingsMethod "get" o = PrintSettingsGetMethodInfo
+    ResolvePrintSettingsMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolvePrintSettingsMethod "hasKey" o = PrintSettingsHasKeyMethodInfo
+    ResolvePrintSettingsMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolvePrintSettingsMethod "loadFile" o = PrintSettingsLoadFileMethodInfo
+    ResolvePrintSettingsMethod "loadKeyFile" o = PrintSettingsLoadKeyFileMethodInfo
+    ResolvePrintSettingsMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolvePrintSettingsMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolvePrintSettingsMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolvePrintSettingsMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolvePrintSettingsMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolvePrintSettingsMethod "set" o = PrintSettingsSetMethodInfo
+    ResolvePrintSettingsMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolvePrintSettingsMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolvePrintSettingsMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolvePrintSettingsMethod "toFile" o = PrintSettingsToFileMethodInfo
+    ResolvePrintSettingsMethod "toGvariant" o = PrintSettingsToGvariantMethodInfo
+    ResolvePrintSettingsMethod "toKeyFile" o = PrintSettingsToKeyFileMethodInfo
+    ResolvePrintSettingsMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolvePrintSettingsMethod "unset" o = PrintSettingsUnsetMethodInfo
+    ResolvePrintSettingsMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolvePrintSettingsMethod "getBool" o = PrintSettingsGetBoolMethodInfo
+    ResolvePrintSettingsMethod "getCollate" o = PrintSettingsGetCollateMethodInfo
+    ResolvePrintSettingsMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolvePrintSettingsMethod "getDefaultSource" o = PrintSettingsGetDefaultSourceMethodInfo
+    ResolvePrintSettingsMethod "getDither" o = PrintSettingsGetDitherMethodInfo
+    ResolvePrintSettingsMethod "getDouble" o = PrintSettingsGetDoubleMethodInfo
+    ResolvePrintSettingsMethod "getDoubleWithDefault" o = PrintSettingsGetDoubleWithDefaultMethodInfo
+    ResolvePrintSettingsMethod "getDuplex" o = PrintSettingsGetDuplexMethodInfo
+    ResolvePrintSettingsMethod "getFinishings" o = PrintSettingsGetFinishingsMethodInfo
+    ResolvePrintSettingsMethod "getInt" o = PrintSettingsGetIntMethodInfo
+    ResolvePrintSettingsMethod "getIntWithDefault" o = PrintSettingsGetIntWithDefaultMethodInfo
+    ResolvePrintSettingsMethod "getLength" o = PrintSettingsGetLengthMethodInfo
+    ResolvePrintSettingsMethod "getMediaType" o = PrintSettingsGetMediaTypeMethodInfo
+    ResolvePrintSettingsMethod "getNCopies" o = PrintSettingsGetNCopiesMethodInfo
+    ResolvePrintSettingsMethod "getNumberUp" o = PrintSettingsGetNumberUpMethodInfo
+    ResolvePrintSettingsMethod "getNumberUpLayout" o = PrintSettingsGetNumberUpLayoutMethodInfo
+    ResolvePrintSettingsMethod "getOrientation" o = PrintSettingsGetOrientationMethodInfo
+    ResolvePrintSettingsMethod "getOutputBin" o = PrintSettingsGetOutputBinMethodInfo
+    ResolvePrintSettingsMethod "getPageRanges" o = PrintSettingsGetPageRangesMethodInfo
+    ResolvePrintSettingsMethod "getPageSet" o = PrintSettingsGetPageSetMethodInfo
+    ResolvePrintSettingsMethod "getPaperHeight" o = PrintSettingsGetPaperHeightMethodInfo
+    ResolvePrintSettingsMethod "getPaperSize" o = PrintSettingsGetPaperSizeMethodInfo
+    ResolvePrintSettingsMethod "getPaperWidth" o = PrintSettingsGetPaperWidthMethodInfo
+    ResolvePrintSettingsMethod "getPrintPages" o = PrintSettingsGetPrintPagesMethodInfo
+    ResolvePrintSettingsMethod "getPrinter" o = PrintSettingsGetPrinterMethodInfo
+    ResolvePrintSettingsMethod "getPrinterLpi" o = PrintSettingsGetPrinterLpiMethodInfo
+    ResolvePrintSettingsMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolvePrintSettingsMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolvePrintSettingsMethod "getQuality" o = PrintSettingsGetQualityMethodInfo
+    ResolvePrintSettingsMethod "getResolution" o = PrintSettingsGetResolutionMethodInfo
+    ResolvePrintSettingsMethod "getResolutionX" o = PrintSettingsGetResolutionXMethodInfo
+    ResolvePrintSettingsMethod "getResolutionY" o = PrintSettingsGetResolutionYMethodInfo
+    ResolvePrintSettingsMethod "getReverse" o = PrintSettingsGetReverseMethodInfo
+    ResolvePrintSettingsMethod "getScale" o = PrintSettingsGetScaleMethodInfo
+    ResolvePrintSettingsMethod "getUseColor" o = PrintSettingsGetUseColorMethodInfo
+    ResolvePrintSettingsMethod "setBool" o = PrintSettingsSetBoolMethodInfo
+    ResolvePrintSettingsMethod "setCollate" o = PrintSettingsSetCollateMethodInfo
+    ResolvePrintSettingsMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolvePrintSettingsMethod "setDefaultSource" o = PrintSettingsSetDefaultSourceMethodInfo
+    ResolvePrintSettingsMethod "setDither" o = PrintSettingsSetDitherMethodInfo
+    ResolvePrintSettingsMethod "setDouble" o = PrintSettingsSetDoubleMethodInfo
+    ResolvePrintSettingsMethod "setDuplex" o = PrintSettingsSetDuplexMethodInfo
+    ResolvePrintSettingsMethod "setFinishings" o = PrintSettingsSetFinishingsMethodInfo
+    ResolvePrintSettingsMethod "setInt" o = PrintSettingsSetIntMethodInfo
+    ResolvePrintSettingsMethod "setLength" o = PrintSettingsSetLengthMethodInfo
+    ResolvePrintSettingsMethod "setMediaType" o = PrintSettingsSetMediaTypeMethodInfo
+    ResolvePrintSettingsMethod "setNCopies" o = PrintSettingsSetNCopiesMethodInfo
+    ResolvePrintSettingsMethod "setNumberUp" o = PrintSettingsSetNumberUpMethodInfo
+    ResolvePrintSettingsMethod "setNumberUpLayout" o = PrintSettingsSetNumberUpLayoutMethodInfo
+    ResolvePrintSettingsMethod "setOrientation" o = PrintSettingsSetOrientationMethodInfo
+    ResolvePrintSettingsMethod "setOutputBin" o = PrintSettingsSetOutputBinMethodInfo
+    ResolvePrintSettingsMethod "setPageRanges" o = PrintSettingsSetPageRangesMethodInfo
+    ResolvePrintSettingsMethod "setPageSet" o = PrintSettingsSetPageSetMethodInfo
+    ResolvePrintSettingsMethod "setPaperHeight" o = PrintSettingsSetPaperHeightMethodInfo
+    ResolvePrintSettingsMethod "setPaperSize" o = PrintSettingsSetPaperSizeMethodInfo
+    ResolvePrintSettingsMethod "setPaperWidth" o = PrintSettingsSetPaperWidthMethodInfo
+    ResolvePrintSettingsMethod "setPrintPages" o = PrintSettingsSetPrintPagesMethodInfo
+    ResolvePrintSettingsMethod "setPrinter" o = PrintSettingsSetPrinterMethodInfo
+    ResolvePrintSettingsMethod "setPrinterLpi" o = PrintSettingsSetPrinterLpiMethodInfo
+    ResolvePrintSettingsMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolvePrintSettingsMethod "setQuality" o = PrintSettingsSetQualityMethodInfo
+    ResolvePrintSettingsMethod "setResolution" o = PrintSettingsSetResolutionMethodInfo
+    ResolvePrintSettingsMethod "setResolutionXy" o = PrintSettingsSetResolutionXyMethodInfo
+    ResolvePrintSettingsMethod "setReverse" o = PrintSettingsSetReverseMethodInfo
+    ResolvePrintSettingsMethod "setScale" o = PrintSettingsSetScaleMethodInfo
+    ResolvePrintSettingsMethod "setUseColor" o = PrintSettingsSetUseColorMethodInfo
+    ResolvePrintSettingsMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePrintSettingsMethod t PrintSettings, O.MethodInfo info PrintSettings p) => OL.IsLabel t (PrintSettings -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PrintSettings
+type instance O.AttributeList PrintSettings = PrintSettingsAttributeList
+type PrintSettingsAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList PrintSettings = PrintSettingsSignalList
+type PrintSettingsSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method PrintSettings::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintSettings"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_new" gtk_print_settings_new :: 
+    IO (Ptr PrintSettings)
+
+{- |
+Creates a new 'GI.Gtk.Objects.PrintSettings.PrintSettings' object.
+
+/Since: 2.10/
+-}
+printSettingsNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m PrintSettings
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.PrintSettings.PrintSettings' object -}
+printSettingsNew  = liftIO $ do
+    result <- gtk_print_settings_new
+    checkUnexpectedReturnNULL "printSettingsNew" result
+    result' <- (wrapObject PrintSettings) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PrintSettings::new_from_file
+-- method type : Constructor
+-- Args : [Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename to read the settings from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintSettings"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_new_from_file" gtk_print_settings_new_from_file :: 
+    CString ->                              -- file_name : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr PrintSettings)
+
+{- |
+Reads the print settings from /@fileName@/. Returns a new 'GI.Gtk.Objects.PrintSettings.PrintSettings'
+object with the restored settings, or 'Nothing' if an error occurred. If the
+file could not be loaded then error is set to either a 'GI.GLib.Enums.FileError' or
+'GI.GLib.Enums.KeyFileError'.  See 'GI.Gtk.Objects.PrintSettings.printSettingsToFile'.
+
+/Since: 2.12/
+-}
+printSettingsNewFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Char]
+    {- ^ /@fileName@/: the filename to read the settings from -}
+    -> m PrintSettings
+    {- ^ __Returns:__ the restored 'GI.Gtk.Objects.PrintSettings.PrintSettings' /(Can throw 'Data.GI.Base.GError.GError')/ -}
+printSettingsNewFromFile fileName = liftIO $ do
+    fileName' <- stringToCString fileName
+    onException (do
+        result <- propagateGError $ gtk_print_settings_new_from_file fileName'
+        checkUnexpectedReturnNULL "printSettingsNewFromFile" result
+        result' <- (wrapObject PrintSettings) result
+        freeMem fileName'
+        return result'
+     ) (do
+        freeMem fileName'
+     )
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PrintSettings::new_from_gvariant
+-- method type : Constructor
+-- Args : [Arg {argCName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an a{sv} #GVariant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintSettings"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_new_from_gvariant" gtk_print_settings_new_from_gvariant :: 
+    Ptr GVariant ->                         -- variant : TVariant
+    IO (Ptr PrintSettings)
+
+{- |
+Deserialize print settings from an a{sv} variant in
+the format produced by 'GI.Gtk.Objects.PrintSettings.printSettingsToGvariant'.
+
+/Since: 3.22/
+-}
+printSettingsNewFromGvariant ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GVariant
+    {- ^ /@variant@/: an a{sv} 'GVariant' -}
+    -> m PrintSettings
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.PrintSettings.PrintSettings' object -}
+printSettingsNewFromGvariant variant = liftIO $ do
+    variant' <- unsafeManagedPtrGetPtr variant
+    result <- gtk_print_settings_new_from_gvariant variant'
+    checkUnexpectedReturnNULL "printSettingsNewFromGvariant" result
+    result' <- (wrapObject PrintSettings) result
+    touchManagedPtr variant
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PrintSettings::new_from_key_file
+-- method type : Constructor
+-- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GKeyFile to retrieve the settings from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the group to use, or %NULL to use\n    the default \8220Print Settings\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintSettings"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_new_from_key_file" gtk_print_settings_new_from_key_file :: 
+    Ptr GLib.KeyFile.KeyFile ->             -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr PrintSettings)
+
+{- |
+Reads the print settings from the group /@groupName@/ in /@keyFile@/.  Returns a
+new 'GI.Gtk.Objects.PrintSettings.PrintSettings' object with the restored settings, or 'Nothing' if an
+error occurred. If the file could not be loaded then error is set to either
+a 'GI.GLib.Enums.FileError' or 'GI.GLib.Enums.KeyFileError'.
+
+/Since: 2.12/
+-}
+printSettingsNewFromKeyFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GLib.KeyFile.KeyFile
+    {- ^ /@keyFile@/: the 'GI.GLib.Structs.KeyFile.KeyFile' to retrieve the settings from -}
+    -> Maybe (T.Text)
+    {- ^ /@groupName@/: the name of the group to use, or 'Nothing' to use
+    the default “Print Settings” -}
+    -> m PrintSettings
+    {- ^ __Returns:__ the restored 'GI.Gtk.Objects.PrintSettings.PrintSettings' /(Can throw 'Data.GI.Base.GError.GError')/ -}
+printSettingsNewFromKeyFile keyFile groupName = liftIO $ do
+    keyFile' <- unsafeManagedPtrGetPtr keyFile
+    maybeGroupName <- case groupName of
+        Nothing -> return nullPtr
+        Just jGroupName -> do
+            jGroupName' <- textToCString jGroupName
+            return jGroupName'
+    onException (do
+        result <- propagateGError $ gtk_print_settings_new_from_key_file keyFile' maybeGroupName
+        checkUnexpectedReturnNULL "printSettingsNewFromKeyFile" result
+        result' <- (wrapObject PrintSettings) result
+        touchManagedPtr keyFile
+        freeMem maybeGroupName
+        return result'
+     ) (do
+        freeMem maybeGroupName
+     )
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PrintSettings::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "other", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintSettings"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_copy" gtk_print_settings_copy :: 
+    Ptr PrintSettings ->                    -- other : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO (Ptr PrintSettings)
+
+{- |
+Copies a 'GI.Gtk.Objects.PrintSettings.PrintSettings' object.
+
+/Since: 2.10/
+-}
+printSettingsCopy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@other@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m PrintSettings
+    {- ^ __Returns:__ a newly allocated copy of /@other@/ -}
+printSettingsCopy other = liftIO $ do
+    other' <- unsafeManagedPtrCastPtr other
+    result <- gtk_print_settings_copy other'
+    checkUnexpectedReturnNULL "printSettingsCopy" result
+    result' <- (wrapObject PrintSettings) result
+    touchManagedPtr other
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsCopyMethodInfo
+instance (signature ~ (m PrintSettings), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsCopyMethodInfo a signature where
+    overloadedMethod _ = printSettingsCopy
+
+#endif
+
+-- method PrintSettings::foreach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettingsFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_foreach" gtk_print_settings_foreach :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    FunPtr Gtk.Callbacks.C_PrintSettingsFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "PrintSettingsFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls /@func@/ for each key-value pair of /@settings@/.
+
+/Since: 2.10/
+-}
+printSettingsForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Callbacks.PrintSettingsFunc
+    {- ^ /@func@/: the function to call -}
+    -> m ()
+printSettingsForeach settings func = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    func' <- Gtk.Callbacks.mk_PrintSettingsFunc (Gtk.Callbacks.wrap_PrintSettingsFunc Nothing (Gtk.Callbacks.drop_closures_PrintSettingsFunc func))
+    let userData = nullPtr
+    gtk_print_settings_foreach settings' func' userData
+    safeFreeFunPtr $ castFunPtrToPtr func'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsForeachMethodInfo
+instance (signature ~ (Gtk.Callbacks.PrintSettingsFunc -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsForeachMethodInfo a signature where
+    overloadedMethod _ = printSettingsForeach
+
+#endif
+
+-- method PrintSettings::get
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get" gtk_print_settings_get :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    IO CString
+
+{- |
+Looks up the string value associated with /@key@/.
+
+/Since: 2.10/
+-}
+printSettingsGet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> m T.Text
+    {- ^ __Returns:__ the string value for /@key@/ -}
+printSettingsGet settings key = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    result <- gtk_print_settings_get settings' key'
+    checkUnexpectedReturnNULL "printSettingsGet" result
+    result' <- cstringToText result
+    touchManagedPtr settings
+    freeMem key'
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetMethodInfo a signature where
+    overloadedMethod _ = printSettingsGet
+
+#endif
+
+-- method PrintSettings::get_bool
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_bool" gtk_print_settings_get_bool :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    IO CInt
+
+{- |
+Returns the boolean represented by the value
+that is associated with /@key@/.
+
+The string “true” represents 'True', any other
+string 'False'.
+
+/Since: 2.10/
+-}
+printSettingsGetBool ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if /@key@/ maps to a true value. -}
+printSettingsGetBool settings key = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    result <- gtk_print_settings_get_bool settings' key'
+    let result' = (/= 0) result
+    touchManagedPtr settings
+    freeMem key'
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetBoolMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetBoolMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetBool
+
+#endif
+
+-- method PrintSettings::get_collate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_collate" gtk_print_settings_get_collate :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CInt
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_COLLATE'.
+
+/Since: 2.10/
+-}
+printSettingsGetCollate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Bool
+    {- ^ __Returns:__ whether to collate the printed pages -}
+printSettingsGetCollate settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_collate settings'
+    let result' = (/= 0) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetCollateMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetCollateMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetCollate
+
+#endif
+
+-- method PrintSettings::get_default_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_default_source" gtk_print_settings_get_default_source :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CString
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_DEFAULT_SOURCE'.
+
+/Since: 2.10/
+-}
+printSettingsGetDefaultSource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m T.Text
+    {- ^ __Returns:__ the default source -}
+printSettingsGetDefaultSource settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_default_source settings'
+    checkUnexpectedReturnNULL "printSettingsGetDefaultSource" result
+    result' <- cstringToText result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDefaultSourceMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetDefaultSourceMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetDefaultSource
+
+#endif
+
+-- method PrintSettings::get_dither
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_dither" gtk_print_settings_get_dither :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CString
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_DITHER'.
+
+/Since: 2.10/
+-}
+printSettingsGetDither ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m T.Text
+    {- ^ __Returns:__ the dithering that is used -}
+printSettingsGetDither settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_dither settings'
+    checkUnexpectedReturnNULL "printSettingsGetDither" result
+    result' <- cstringToText result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDitherMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetDitherMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetDither
+
+#endif
+
+-- method PrintSettings::get_double
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_double" gtk_print_settings_get_double :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    IO CDouble
+
+{- |
+Returns the double value associated with /@key@/, or 0.
+
+/Since: 2.10/
+-}
+printSettingsGetDouble ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> m Double
+    {- ^ __Returns:__ the double value of /@key@/ -}
+printSettingsGetDouble settings key = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    result <- gtk_print_settings_get_double settings' key'
+    let result' = realToFrac result
+    touchManagedPtr settings
+    freeMem key'
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDoubleMethodInfo
+instance (signature ~ (T.Text -> m Double), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetDoubleMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetDouble
+
+#endif
+
+-- method PrintSettings::get_double_with_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "def", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the default value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_double_with_default" gtk_print_settings_get_double_with_default :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    CDouble ->                              -- def : TBasicType TDouble
+    IO CDouble
+
+{- |
+Returns the floating point number represented by
+the value that is associated with /@key@/, or /@defaultVal@/
+if the value does not represent a floating point number.
+
+Floating point numbers are parsed with 'GI.GLib.Functions.asciiStrtod'.
+
+/Since: 2.10/
+-}
+printSettingsGetDoubleWithDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> Double
+    {- ^ /@def@/: the default value -}
+    -> m Double
+    {- ^ __Returns:__ the floating point number associated with /@key@/ -}
+printSettingsGetDoubleWithDefault settings key def = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    let def' = realToFrac def
+    result <- gtk_print_settings_get_double_with_default settings' key' def'
+    let result' = realToFrac result
+    touchManagedPtr settings
+    freeMem key'
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDoubleWithDefaultMethodInfo
+instance (signature ~ (T.Text -> Double -> m Double), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetDoubleWithDefaultMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetDoubleWithDefault
+
+#endif
+
+-- method PrintSettings::get_duplex
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintDuplex"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_duplex" gtk_print_settings_get_duplex :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CUInt
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_DUPLEX'.
+
+/Since: 2.10/
+-}
+printSettingsGetDuplex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Gtk.Enums.PrintDuplex
+    {- ^ __Returns:__ whether to print the output in duplex. -}
+printSettingsGetDuplex settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_duplex settings'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDuplexMethodInfo
+instance (signature ~ (m Gtk.Enums.PrintDuplex), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetDuplexMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetDuplex
+
+#endif
+
+-- method PrintSettings::get_finishings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_finishings" gtk_print_settings_get_finishings :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CString
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_FINISHINGS'.
+
+/Since: 2.10/
+-}
+printSettingsGetFinishings ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m T.Text
+    {- ^ __Returns:__ the finishings -}
+printSettingsGetFinishings settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_finishings settings'
+    checkUnexpectedReturnNULL "printSettingsGetFinishings" result
+    result' <- cstringToText result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetFinishingsMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetFinishingsMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetFinishings
+
+#endif
+
+-- method PrintSettings::get_int
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_int" gtk_print_settings_get_int :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    IO Int32
+
+{- |
+Returns the integer value of /@key@/, or 0.
+
+/Since: 2.10/
+-}
+printSettingsGetInt ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> m Int32
+    {- ^ __Returns:__ the integer value of /@key@/ -}
+printSettingsGetInt settings key = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    result <- gtk_print_settings_get_int settings' key'
+    touchManagedPtr settings
+    freeMem key'
+    return result
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetIntMethodInfo
+instance (signature ~ (T.Text -> m Int32), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetIntMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetInt
+
+#endif
+
+-- method PrintSettings::get_int_with_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "def", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the default value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_int_with_default" gtk_print_settings_get_int_with_default :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    Int32 ->                                -- def : TBasicType TInt
+    IO Int32
+
+{- |
+Returns the value of /@key@/, interpreted as
+an integer, or the default value.
+
+/Since: 2.10/
+-}
+printSettingsGetIntWithDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> Int32
+    {- ^ /@def@/: the default value -}
+    -> m Int32
+    {- ^ __Returns:__ the integer value of /@key@/ -}
+printSettingsGetIntWithDefault settings key def = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    result <- gtk_print_settings_get_int_with_default settings' key' def
+    touchManagedPtr settings
+    freeMem key'
+    return result
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetIntWithDefaultMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m Int32), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetIntWithDefaultMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetIntWithDefault
+
+#endif
+
+-- method PrintSettings::get_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit of the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_length" gtk_print_settings_get_length :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Returns the value associated with /@key@/, interpreted
+as a length. The returned value is converted to /@units@/.
+
+/Since: 2.10/
+-}
+printSettingsGetLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit of the return value -}
+    -> m Double
+    {- ^ __Returns:__ the length value of /@key@/, converted to /@unit@/ -}
+printSettingsGetLength settings key unit = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_print_settings_get_length settings' key' unit'
+    let result' = realToFrac result
+    touchManagedPtr settings
+    freeMem key'
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetLengthMethodInfo
+instance (signature ~ (T.Text -> Gtk.Enums.Unit -> m Double), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetLengthMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetLength
+
+#endif
+
+-- method PrintSettings::get_media_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_media_type" gtk_print_settings_get_media_type :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CString
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_MEDIA_TYPE'.
+
+The set of media types is defined in PWG 5101.1-2002 PWG.
+
+/Since: 2.10/
+-}
+printSettingsGetMediaType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m T.Text
+    {- ^ __Returns:__ the media type -}
+printSettingsGetMediaType settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_media_type settings'
+    checkUnexpectedReturnNULL "printSettingsGetMediaType" result
+    result' <- cstringToText result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetMediaTypeMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetMediaTypeMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetMediaType
+
+#endif
+
+-- method PrintSettings::get_n_copies
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_n_copies" gtk_print_settings_get_n_copies :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO Int32
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_N_COPIES'.
+
+/Since: 2.10/
+-}
+printSettingsGetNCopies ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of copies to print -}
+printSettingsGetNCopies settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_n_copies settings'
+    touchManagedPtr settings
+    return result
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetNCopiesMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetNCopiesMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetNCopies
+
+#endif
+
+-- method PrintSettings::get_number_up
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_number_up" gtk_print_settings_get_number_up :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO Int32
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_NUMBER_UP'.
+
+/Since: 2.10/
+-}
+printSettingsGetNumberUp ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of pages per sheet -}
+printSettingsGetNumberUp settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_number_up settings'
+    touchManagedPtr settings
+    return result
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetNumberUpMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetNumberUpMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetNumberUp
+
+#endif
+
+-- method PrintSettings::get_number_up_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "NumberUpLayout"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_number_up_layout" gtk_print_settings_get_number_up_layout :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CUInt
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_NUMBER_UP_LAYOUT'.
+
+/Since: 2.14/
+-}
+printSettingsGetNumberUpLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Gtk.Enums.NumberUpLayout
+    {- ^ __Returns:__ layout of page in number-up mode -}
+printSettingsGetNumberUpLayout settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_number_up_layout settings'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetNumberUpLayoutMethodInfo
+instance (signature ~ (m Gtk.Enums.NumberUpLayout), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetNumberUpLayoutMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetNumberUpLayout
+
+#endif
+
+-- method PrintSettings::get_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageOrientation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_orientation" gtk_print_settings_get_orientation :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CUInt
+
+{- |
+Get the value of 'GI.Gtk.Constants.PRINT_SETTINGS_ORIENTATION',
+converted to a 'GI.Gtk.Enums.PageOrientation'.
+
+/Since: 2.10/
+-}
+printSettingsGetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Gtk.Enums.PageOrientation
+    {- ^ __Returns:__ the orientation -}
+printSettingsGetOrientation settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_orientation settings'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetOrientationMethodInfo
+instance (signature ~ (m Gtk.Enums.PageOrientation), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetOrientationMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetOrientation
+
+#endif
+
+-- method PrintSettings::get_output_bin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_output_bin" gtk_print_settings_get_output_bin :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CString
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_OUTPUT_BIN'.
+
+/Since: 2.10/
+-}
+printSettingsGetOutputBin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m T.Text
+    {- ^ __Returns:__ the output bin -}
+printSettingsGetOutputBin settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_output_bin settings'
+    checkUnexpectedReturnNULL "printSettingsGetOutputBin" result
+    result' <- cstringToText result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetOutputBinMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetOutputBinMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetOutputBin
+
+#endif
+
+-- method PrintSettings::get_page_ranges
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num_ranges", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the returned array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "num_ranges", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the returned array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "PageRange"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_page_ranges" gtk_print_settings_get_page_ranges :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    Ptr Int32 ->                            -- num_ranges : TBasicType TInt
+    IO (Ptr Gtk.PageRange.PageRange)
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAGE_RANGES'.
+
+/Since: 2.10/
+-}
+printSettingsGetPageRanges ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m [Gtk.PageRange.PageRange]
+    {- ^ __Returns:__ an array
+    of @/GtkPageRanges/@.  Use 'GI.GLib.Functions.free' to free the array when
+    it is no longer needed. -}
+printSettingsGetPageRanges settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    numRanges <- allocMem :: IO (Ptr Int32)
+    result <- gtk_print_settings_get_page_ranges settings' numRanges
+    numRanges' <- peek numRanges
+    checkUnexpectedReturnNULL "printSettingsGetPageRanges" result
+    result' <- (unpackBlockArrayWithLength 8 numRanges') result
+    result'' <- mapM (wrapPtr Gtk.PageRange.PageRange) result'
+    freeMem result
+    touchManagedPtr settings
+    freeMem numRanges
+    return result''
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPageRangesMethodInfo
+instance (signature ~ (m [Gtk.PageRange.PageRange]), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetPageRangesMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetPageRanges
+
+#endif
+
+-- method PrintSettings::get_page_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PageSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_page_set" gtk_print_settings_get_page_set :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CUInt
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAGE_SET'.
+
+/Since: 2.10/
+-}
+printSettingsGetPageSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Gtk.Enums.PageSet
+    {- ^ __Returns:__ the set of pages to print -}
+printSettingsGetPageSet settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_page_set settings'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPageSetMethodInfo
+instance (signature ~ (m Gtk.Enums.PageSet), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetPageSetMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetPageSet
+
+#endif
+
+-- method PrintSettings::get_paper_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_paper_height" gtk_print_settings_get_paper_height :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAPER_HEIGHT',
+converted to /@unit@/.
+
+/Since: 2.10/
+-}
+printSettingsGetPaperHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the paper height, in units of /@unit@/ -}
+printSettingsGetPaperHeight settings unit = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_print_settings_get_paper_height settings' unit'
+    let result' = realToFrac result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPaperHeightMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetPaperHeightMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetPaperHeight
+
+#endif
+
+-- method PrintSettings::get_paper_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PaperSize"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_paper_size" gtk_print_settings_get_paper_size :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO (Ptr Gtk.PaperSize.PaperSize)
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAPER_FORMAT',
+converted to a 'GI.Gtk.Structs.PaperSize.PaperSize'.
+
+/Since: 2.10/
+-}
+printSettingsGetPaperSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Gtk.PaperSize.PaperSize
+    {- ^ __Returns:__ the paper size -}
+printSettingsGetPaperSize settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_paper_size settings'
+    checkUnexpectedReturnNULL "printSettingsGetPaperSize" result
+    result' <- (wrapBoxed Gtk.PaperSize.PaperSize) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPaperSizeMethodInfo
+instance (signature ~ (m Gtk.PaperSize.PaperSize), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetPaperSizeMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetPaperSize
+
+#endif
+
+-- method PrintSettings::get_paper_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_paper_width" gtk_print_settings_get_paper_width :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAPER_WIDTH',
+converted to /@unit@/.
+
+/Since: 2.10/
+-}
+printSettingsGetPaperWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value -}
+    -> m Double
+    {- ^ __Returns:__ the paper width, in units of /@unit@/ -}
+printSettingsGetPaperWidth settings unit = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_print_settings_get_paper_width settings' unit'
+    let result' = realToFrac result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPaperWidthMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetPaperWidthMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetPaperWidth
+
+#endif
+
+-- method PrintSettings::get_print_pages
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintPages"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_print_pages" gtk_print_settings_get_print_pages :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CUInt
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PRINT_PAGES'.
+
+/Since: 2.10/
+-}
+printSettingsGetPrintPages ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Gtk.Enums.PrintPages
+    {- ^ __Returns:__ which pages to print -}
+printSettingsGetPrintPages settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_print_pages settings'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPrintPagesMethodInfo
+instance (signature ~ (m Gtk.Enums.PrintPages), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetPrintPagesMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetPrintPages
+
+#endif
+
+-- method PrintSettings::get_printer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_printer" gtk_print_settings_get_printer :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CString
+
+{- |
+Convenience function to obtain the value of
+'GI.Gtk.Constants.PRINT_SETTINGS_PRINTER'.
+
+/Since: 2.10/
+-}
+printSettingsGetPrinter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m T.Text
+    {- ^ __Returns:__ the printer name -}
+printSettingsGetPrinter settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_printer settings'
+    checkUnexpectedReturnNULL "printSettingsGetPrinter" result
+    result' <- cstringToText result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPrinterMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetPrinterMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetPrinter
+
+#endif
+
+-- method PrintSettings::get_printer_lpi
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_printer_lpi" gtk_print_settings_get_printer_lpi :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CDouble
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PRINTER_LPI'.
+
+/Since: 2.16/
+-}
+printSettingsGetPrinterLpi ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Double
+    {- ^ __Returns:__ the resolution in lpi (lines per inch) -}
+printSettingsGetPrinterLpi settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_printer_lpi settings'
+    let result' = realToFrac result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPrinterLpiMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetPrinterLpiMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetPrinterLpi
+
+#endif
+
+-- method PrintSettings::get_quality
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PrintQuality"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_quality" gtk_print_settings_get_quality :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CUInt
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_QUALITY'.
+
+/Since: 2.10/
+-}
+printSettingsGetQuality ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Gtk.Enums.PrintQuality
+    {- ^ __Returns:__ the print quality -}
+printSettingsGetQuality settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_quality settings'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetQualityMethodInfo
+instance (signature ~ (m Gtk.Enums.PrintQuality), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetQualityMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetQuality
+
+#endif
+
+-- method PrintSettings::get_resolution
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_resolution" gtk_print_settings_get_resolution :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO Int32
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_RESOLUTION'.
+
+/Since: 2.10/
+-}
+printSettingsGetResolution ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Int32
+    {- ^ __Returns:__ the resolution in dpi -}
+printSettingsGetResolution settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_resolution settings'
+    touchManagedPtr settings
+    return result
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetResolutionMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetResolutionMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetResolution
+
+#endif
+
+-- method PrintSettings::get_resolution_x
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_resolution_x" gtk_print_settings_get_resolution_x :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO Int32
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_RESOLUTION_X'.
+
+/Since: 2.16/
+-}
+printSettingsGetResolutionX ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Int32
+    {- ^ __Returns:__ the horizontal resolution in dpi -}
+printSettingsGetResolutionX settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_resolution_x settings'
+    touchManagedPtr settings
+    return result
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetResolutionXMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetResolutionXMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetResolutionX
+
+#endif
+
+-- method PrintSettings::get_resolution_y
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_resolution_y" gtk_print_settings_get_resolution_y :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO Int32
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_RESOLUTION_Y'.
+
+/Since: 2.16/
+-}
+printSettingsGetResolutionY ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Int32
+    {- ^ __Returns:__ the vertical resolution in dpi -}
+printSettingsGetResolutionY settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_resolution_y settings'
+    touchManagedPtr settings
+    return result
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetResolutionYMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetResolutionYMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetResolutionY
+
+#endif
+
+-- method PrintSettings::get_reverse
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_reverse" gtk_print_settings_get_reverse :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CInt
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_REVERSE'.
+
+/Since: 2.10/
+-}
+printSettingsGetReverse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Bool
+    {- ^ __Returns:__ whether to reverse the order of the printed pages -}
+printSettingsGetReverse settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_reverse settings'
+    let result' = (/= 0) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetReverseMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetReverseMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetReverse
+
+#endif
+
+-- method PrintSettings::get_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_scale" gtk_print_settings_get_scale :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CDouble
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_SCALE'.
+
+/Since: 2.10/
+-}
+printSettingsGetScale ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Double
+    {- ^ __Returns:__ the scale in percent -}
+printSettingsGetScale settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_scale settings'
+    let result' = realToFrac result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetScaleMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetScaleMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetScale
+
+#endif
+
+-- method PrintSettings::get_use_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_get_use_color" gtk_print_settings_get_use_color :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO CInt
+
+{- |
+Gets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_USE_COLOR'.
+
+/Since: 2.10/
+-}
+printSettingsGetUseColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m Bool
+    {- ^ __Returns:__ whether to use color -}
+printSettingsGetUseColor settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_get_use_color settings'
+    let result' = (/= 0) result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsGetUseColorMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsGetUseColorMethodInfo a signature where
+    overloadedMethod _ = printSettingsGetUseColor
+
+#endif
+
+-- method PrintSettings::has_key
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_has_key" gtk_print_settings_has_key :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    IO CInt
+
+{- |
+Returns 'True', if a value is associated with /@key@/.
+
+/Since: 2.10/
+-}
+printSettingsHasKey ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if /@key@/ has a value -}
+printSettingsHasKey settings key = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    result <- gtk_print_settings_has_key settings' key'
+    let result' = (/= 0) result
+    touchManagedPtr settings
+    freeMem key'
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsHasKeyMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsHasKeyMethodInfo a signature where
+    overloadedMethod _ = printSettingsHasKey
+
+#endif
+
+-- method PrintSettings::load_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filename to read the settings from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_load_file" gtk_print_settings_load_file :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- file_name : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Reads the print settings from /@fileName@/. If the file could not be loaded
+then error is set to either a 'GI.GLib.Enums.FileError' or 'GI.GLib.Enums.KeyFileError'.
+See 'GI.Gtk.Objects.PrintSettings.printSettingsToFile'.
+
+/Since: 2.14/
+-}
+printSettingsLoadFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> [Char]
+    {- ^ /@fileName@/: the filename to read the settings from -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+printSettingsLoadFile settings fileName = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    fileName' <- stringToCString fileName
+    onException (do
+        _ <- propagateGError $ gtk_print_settings_load_file settings' fileName'
+        touchManagedPtr settings
+        freeMem fileName'
+        return ()
+     ) (do
+        freeMem fileName'
+     )
+
+#if ENABLE_OVERLOADING
+data PrintSettingsLoadFileMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsLoadFileMethodInfo a signature where
+    overloadedMethod _ = printSettingsLoadFile
+
+#endif
+
+-- method PrintSettings::load_key_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GKeyFile to retrieve the settings from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the group to use, or %NULL to use the default\n    \8220Print Settings\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_load_key_file" gtk_print_settings_load_key_file :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    Ptr GLib.KeyFile.KeyFile ->             -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Reads the print settings from the group /@groupName@/ in /@keyFile@/. If the
+file could not be loaded then error is set to either a 'GI.GLib.Enums.FileError' or
+'GI.GLib.Enums.KeyFileError'.
+
+/Since: 2.14/
+-}
+printSettingsLoadKeyFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> GLib.KeyFile.KeyFile
+    {- ^ /@keyFile@/: the 'GI.GLib.Structs.KeyFile.KeyFile' to retrieve the settings from -}
+    -> Maybe (T.Text)
+    {- ^ /@groupName@/: the name of the group to use, or 'Nothing' to use the default
+    “Print Settings” -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+printSettingsLoadKeyFile settings keyFile groupName = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    keyFile' <- unsafeManagedPtrGetPtr keyFile
+    maybeGroupName <- case groupName of
+        Nothing -> return nullPtr
+        Just jGroupName -> do
+            jGroupName' <- textToCString jGroupName
+            return jGroupName'
+    onException (do
+        _ <- propagateGError $ gtk_print_settings_load_key_file settings' keyFile' maybeGroupName
+        touchManagedPtr settings
+        touchManagedPtr keyFile
+        freeMem maybeGroupName
+        return ()
+     ) (do
+        freeMem maybeGroupName
+     )
+
+#if ENABLE_OVERLOADING
+data PrintSettingsLoadKeyFileMethodInfo
+instance (signature ~ (GLib.KeyFile.KeyFile -> Maybe (T.Text) -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsLoadKeyFileMethodInfo a signature where
+    overloadedMethod _ = printSettingsLoadKeyFile
+
+#endif
+
+-- method PrintSettings::set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set" gtk_print_settings_set :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    CString ->                              -- value : TBasicType TUTF8
+    IO ()
+
+{- |
+Associates /@value@/ with /@key@/.
+
+/Since: 2.10/
+-}
+printSettingsSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> Maybe (T.Text)
+    {- ^ /@value@/: a string value, or 'Nothing' -}
+    -> m ()
+printSettingsSet settings key value = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    maybeValue <- case value of
+        Nothing -> return nullPtr
+        Just jValue -> do
+            jValue' <- textToCString jValue
+            return jValue'
+    gtk_print_settings_set settings' key' maybeValue
+    touchManagedPtr settings
+    freeMem key'
+    freeMem maybeValue
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetMethodInfo
+instance (signature ~ (T.Text -> Maybe (T.Text) -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetMethodInfo a signature where
+    overloadedMethod _ = printSettingsSet
+
+#endif
+
+-- method PrintSettings::set_bool
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a boolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_bool" gtk_print_settings_set_bool :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    CInt ->                                 -- value : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets /@key@/ to a boolean value.
+
+/Since: 2.10/
+-}
+printSettingsSetBool ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> Bool
+    {- ^ /@value@/: a boolean -}
+    -> m ()
+printSettingsSetBool settings key value = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    let value' = (fromIntegral . fromEnum) value
+    gtk_print_settings_set_bool settings' key' value'
+    touchManagedPtr settings
+    freeMem key'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetBoolMethodInfo
+instance (signature ~ (T.Text -> Bool -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetBoolMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetBool
+
+#endif
+
+-- method PrintSettings::set_collate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to collate the output", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_collate" gtk_print_settings_set_collate :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CInt ->                                 -- collate : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_COLLATE'.
+
+/Since: 2.10/
+-}
+printSettingsSetCollate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Bool
+    {- ^ /@collate@/: whether to collate the output -}
+    -> m ()
+printSettingsSetCollate settings collate = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let collate' = (fromIntegral . fromEnum) collate
+    gtk_print_settings_set_collate settings' collate'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetCollateMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetCollateMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetCollate
+
+#endif
+
+-- method PrintSettings::set_default_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_source", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the default source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_default_source" gtk_print_settings_set_default_source :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- default_source : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_DEFAULT_SOURCE'.
+
+/Since: 2.10/
+-}
+printSettingsSetDefaultSource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@defaultSource@/: the default source -}
+    -> m ()
+printSettingsSetDefaultSource settings defaultSource = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    defaultSource' <- textToCString defaultSource
+    gtk_print_settings_set_default_source settings' defaultSource'
+    touchManagedPtr settings
+    freeMem defaultSource'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetDefaultSourceMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetDefaultSourceMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetDefaultSource
+
+#endif
+
+-- method PrintSettings::set_dither
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dither", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the dithering that is used", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_dither" gtk_print_settings_set_dither :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- dither : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_DITHER'.
+
+/Since: 2.10/
+-}
+printSettingsSetDither ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@dither@/: the dithering that is used -}
+    -> m ()
+printSettingsSetDither settings dither = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    dither' <- textToCString dither
+    gtk_print_settings_set_dither settings' dither'
+    touchManagedPtr settings
+    freeMem dither'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetDitherMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetDitherMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetDither
+
+#endif
+
+-- method PrintSettings::set_double
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a double value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_double" gtk_print_settings_set_double :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    CDouble ->                              -- value : TBasicType TDouble
+    IO ()
+
+{- |
+Sets /@key@/ to a double value.
+
+/Since: 2.10/
+-}
+printSettingsSetDouble ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> Double
+    {- ^ /@value@/: a double value -}
+    -> m ()
+printSettingsSetDouble settings key value = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    let value' = realToFrac value
+    gtk_print_settings_set_double settings' key' value'
+    touchManagedPtr settings
+    freeMem key'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetDoubleMethodInfo
+instance (signature ~ (T.Text -> Double -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetDoubleMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetDouble
+
+#endif
+
+-- method PrintSettings::set_duplex
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duplex", argType = TInterface (Name {namespace = "Gtk", name = "PrintDuplex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintDuplex value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_duplex" gtk_print_settings_set_duplex :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CUInt ->                                -- duplex : TInterface (Name {namespace = "Gtk", name = "PrintDuplex"})
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_DUPLEX'.
+
+/Since: 2.10/
+-}
+printSettingsSetDuplex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Enums.PrintDuplex
+    {- ^ /@duplex@/: a 'GI.Gtk.Enums.PrintDuplex' value -}
+    -> m ()
+printSettingsSetDuplex settings duplex = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let duplex' = (fromIntegral . fromEnum) duplex
+    gtk_print_settings_set_duplex settings' duplex'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetDuplexMethodInfo
+instance (signature ~ (Gtk.Enums.PrintDuplex -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetDuplexMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetDuplex
+
+#endif
+
+-- method PrintSettings::set_finishings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "finishings", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the finishings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_finishings" gtk_print_settings_set_finishings :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- finishings : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_FINISHINGS'.
+
+/Since: 2.10/
+-}
+printSettingsSetFinishings ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@finishings@/: the finishings -}
+    -> m ()
+printSettingsSetFinishings settings finishings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    finishings' <- textToCString finishings
+    gtk_print_settings_set_finishings settings' finishings'
+    touchManagedPtr settings
+    freeMem finishings'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetFinishingsMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetFinishingsMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetFinishings
+
+#endif
+
+-- method PrintSettings::set_int
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_int" gtk_print_settings_set_int :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    Int32 ->                                -- value : TBasicType TInt
+    IO ()
+
+{- |
+Sets /@key@/ to an integer value.
+
+/Since: 2.10/
+-}
+printSettingsSetInt ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> Int32
+    {- ^ /@value@/: an integer -}
+    -> m ()
+printSettingsSetInt settings key value = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    gtk_print_settings_set_int settings' key' value
+    touchManagedPtr settings
+    freeMem key'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetIntMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetIntMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetInt
+
+#endif
+
+-- method PrintSettings::set_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a length", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit of @length", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_length" gtk_print_settings_set_length :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    CDouble ->                              -- value : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO ()
+
+{- |
+Associates a length in units of /@unit@/ with /@key@/.
+
+/Since: 2.10/
+-}
+printSettingsSetLength ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> Double
+    {- ^ /@value@/: a length -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit of /@length@/ -}
+    -> m ()
+printSettingsSetLength settings key value unit = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    let value' = realToFrac value
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_print_settings_set_length settings' key' value' unit'
+    touchManagedPtr settings
+    freeMem key'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetLengthMethodInfo
+instance (signature ~ (T.Text -> Double -> Gtk.Enums.Unit -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetLengthMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetLength
+
+#endif
+
+-- method PrintSettings::set_media_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "media_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the media type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_media_type" gtk_print_settings_set_media_type :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- media_type : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_MEDIA_TYPE'.
+
+The set of media types is defined in PWG 5101.1-2002 PWG.
+
+/Since: 2.10/
+-}
+printSettingsSetMediaType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@mediaType@/: the media type -}
+    -> m ()
+printSettingsSetMediaType settings mediaType = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    mediaType' <- textToCString mediaType
+    gtk_print_settings_set_media_type settings' mediaType'
+    touchManagedPtr settings
+    freeMem mediaType'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetMediaTypeMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetMediaTypeMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetMediaType
+
+#endif
+
+-- method PrintSettings::set_n_copies
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num_copies", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of copies", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_n_copies" gtk_print_settings_set_n_copies :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    Int32 ->                                -- num_copies : TBasicType TInt
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_N_COPIES'.
+
+/Since: 2.10/
+-}
+printSettingsSetNCopies ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Int32
+    {- ^ /@numCopies@/: the number of copies -}
+    -> m ()
+printSettingsSetNCopies settings numCopies = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    gtk_print_settings_set_n_copies settings' numCopies
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetNCopiesMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetNCopiesMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetNCopies
+
+#endif
+
+-- method PrintSettings::set_number_up
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "number_up", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of pages per sheet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_number_up" gtk_print_settings_set_number_up :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    Int32 ->                                -- number_up : TBasicType TInt
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_NUMBER_UP'.
+
+/Since: 2.10/
+-}
+printSettingsSetNumberUp ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Int32
+    {- ^ /@numberUp@/: the number of pages per sheet -}
+    -> m ()
+printSettingsSetNumberUp settings numberUp = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    gtk_print_settings_set_number_up settings' numberUp
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetNumberUpMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetNumberUpMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetNumberUp
+
+#endif
+
+-- method PrintSettings::set_number_up_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "number_up_layout", argType = TInterface (Name {namespace = "Gtk", name = "NumberUpLayout"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkNumberUpLayout value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_number_up_layout" gtk_print_settings_set_number_up_layout :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CUInt ->                                -- number_up_layout : TInterface (Name {namespace = "Gtk", name = "NumberUpLayout"})
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_NUMBER_UP_LAYOUT'.
+
+/Since: 2.14/
+-}
+printSettingsSetNumberUpLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Enums.NumberUpLayout
+    {- ^ /@numberUpLayout@/: a 'GI.Gtk.Enums.NumberUpLayout' value -}
+    -> m ()
+printSettingsSetNumberUpLayout settings numberUpLayout = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let numberUpLayout' = (fromIntegral . fromEnum) numberUpLayout
+    gtk_print_settings_set_number_up_layout settings' numberUpLayout'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetNumberUpLayoutMethodInfo
+instance (signature ~ (Gtk.Enums.NumberUpLayout -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetNumberUpLayoutMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetNumberUpLayout
+
+#endif
+
+-- method PrintSettings::set_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "PageOrientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a page orientation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_orientation" gtk_print_settings_set_orientation :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "PageOrientation"})
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_ORIENTATION'.
+
+/Since: 2.10/
+-}
+printSettingsSetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Enums.PageOrientation
+    {- ^ /@orientation@/: a page orientation -}
+    -> m ()
+printSettingsSetOrientation settings orientation = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let orientation' = (fromIntegral . fromEnum) orientation
+    gtk_print_settings_set_orientation settings' orientation'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetOrientationMethodInfo
+instance (signature ~ (Gtk.Enums.PageOrientation -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetOrientationMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetOrientation
+
+#endif
+
+-- method PrintSettings::set_output_bin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "output_bin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the output bin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_output_bin" gtk_print_settings_set_output_bin :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- output_bin : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_OUTPUT_BIN'.
+
+/Since: 2.10/
+-}
+printSettingsSetOutputBin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@outputBin@/: the output bin -}
+    -> m ()
+printSettingsSetOutputBin settings outputBin = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    outputBin' <- textToCString outputBin
+    gtk_print_settings_set_output_bin settings' outputBin'
+    touchManagedPtr settings
+    freeMem outputBin'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetOutputBinMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetOutputBinMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetOutputBin
+
+#endif
+
+-- method PrintSettings::set_page_ranges
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_ranges", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "PageRange"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GtkPageRanges", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num_ranges", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @page_ranges", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "num_ranges", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @page_ranges", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_page_ranges" gtk_print_settings_set_page_ranges :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    Ptr Gtk.PageRange.PageRange ->          -- page_ranges : TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "PageRange"}))
+    Int32 ->                                -- num_ranges : TBasicType TInt
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAGE_RANGES'.
+
+/Since: 2.10/
+-}
+printSettingsSetPageRanges ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> [Gtk.PageRange.PageRange]
+    {- ^ /@pageRanges@/: an array of @/GtkPageRanges/@ -}
+    -> m ()
+printSettingsSetPageRanges settings pageRanges = liftIO $ do
+    let numRanges = fromIntegral $ length pageRanges
+    settings' <- unsafeManagedPtrCastPtr settings
+    pageRanges' <- mapM unsafeManagedPtrGetPtr pageRanges
+    pageRanges'' <- packBlockArray 8 pageRanges'
+    gtk_print_settings_set_page_ranges settings' pageRanges'' numRanges
+    touchManagedPtr settings
+    mapM_ touchManagedPtr pageRanges
+    freeMem pageRanges''
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPageRangesMethodInfo
+instance (signature ~ ([Gtk.PageRange.PageRange] -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetPageRangesMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetPageRanges
+
+#endif
+
+-- method PrintSettings::set_page_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page_set", argType = TInterface (Name {namespace = "Gtk", name = "PageSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPageSet value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_page_set" gtk_print_settings_set_page_set :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CUInt ->                                -- page_set : TInterface (Name {namespace = "Gtk", name = "PageSet"})
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAGE_SET'.
+
+/Since: 2.10/
+-}
+printSettingsSetPageSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Enums.PageSet
+    {- ^ /@pageSet@/: a 'GI.Gtk.Enums.PageSet' value -}
+    -> m ()
+printSettingsSetPageSet settings pageSet = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let pageSet' = (fromIntegral . fromEnum) pageSet
+    gtk_print_settings_set_page_set settings' pageSet'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPageSetMethodInfo
+instance (signature ~ (Gtk.Enums.PageSet -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetPageSetMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetPageSet
+
+#endif
+
+-- method PrintSettings::set_paper_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paper height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the units of @height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_paper_height" gtk_print_settings_set_paper_height :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CDouble ->                              -- height : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAPER_HEIGHT'.
+
+/Since: 2.10/
+-}
+printSettingsSetPaperHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Double
+    {- ^ /@height@/: the paper height -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the units of /@height@/ -}
+    -> m ()
+printSettingsSetPaperHeight settings height unit = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let height' = realToFrac height
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_print_settings_set_paper_height settings' height' unit'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPaperHeightMethodInfo
+instance (signature ~ (Double -> Gtk.Enums.Unit -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetPaperHeightMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetPaperHeight
+
+#endif
+
+-- method PrintSettings::set_paper_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "paper_size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a paper size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_paper_size" gtk_print_settings_set_paper_size :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    Ptr Gtk.PaperSize.PaperSize ->          -- paper_size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAPER_FORMAT',
+'GI.Gtk.Constants.PRINT_SETTINGS_PAPER_WIDTH' and
+'GI.Gtk.Constants.PRINT_SETTINGS_PAPER_HEIGHT'.
+
+/Since: 2.10/
+-}
+printSettingsSetPaperSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.PaperSize.PaperSize
+    {- ^ /@paperSize@/: a paper size -}
+    -> m ()
+printSettingsSetPaperSize settings paperSize = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    paperSize' <- unsafeManagedPtrGetPtr paperSize
+    gtk_print_settings_set_paper_size settings' paperSize'
+    touchManagedPtr settings
+    touchManagedPtr paperSize
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPaperSizeMethodInfo
+instance (signature ~ (Gtk.PaperSize.PaperSize -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetPaperSizeMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetPaperSize
+
+#endif
+
+-- method PrintSettings::set_paper_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paper width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the units of @width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_paper_width" gtk_print_settings_set_paper_width :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CDouble ->                              -- width : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PAPER_WIDTH'.
+
+/Since: 2.10/
+-}
+printSettingsSetPaperWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Double
+    {- ^ /@width@/: the paper width -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the units of /@width@/ -}
+    -> m ()
+printSettingsSetPaperWidth settings width unit = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let width' = realToFrac width
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_print_settings_set_paper_width settings' width' unit'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPaperWidthMethodInfo
+instance (signature ~ (Double -> Gtk.Enums.Unit -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetPaperWidthMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetPaperWidth
+
+#endif
+
+-- method PrintSettings::set_print_pages
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pages", argType = TInterface (Name {namespace = "Gtk", name = "PrintPages"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintPages value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_print_pages" gtk_print_settings_set_print_pages :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CUInt ->                                -- pages : TInterface (Name {namespace = "Gtk", name = "PrintPages"})
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PRINT_PAGES'.
+
+/Since: 2.10/
+-}
+printSettingsSetPrintPages ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Enums.PrintPages
+    {- ^ /@pages@/: a 'GI.Gtk.Enums.PrintPages' value -}
+    -> m ()
+printSettingsSetPrintPages settings pages = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let pages' = (fromIntegral . fromEnum) pages
+    gtk_print_settings_set_print_pages settings' pages'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPrintPagesMethodInfo
+instance (signature ~ (Gtk.Enums.PrintPages -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetPrintPagesMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetPrintPages
+
+#endif
+
+-- method PrintSettings::set_printer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "printer", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the printer name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_printer" gtk_print_settings_set_printer :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- printer : TBasicType TUTF8
+    IO ()
+
+{- |
+Convenience function to set 'GI.Gtk.Constants.PRINT_SETTINGS_PRINTER'
+to /@printer@/.
+
+/Since: 2.10/
+-}
+printSettingsSetPrinter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@printer@/: the printer name -}
+    -> m ()
+printSettingsSetPrinter settings printer = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    printer' <- textToCString printer
+    gtk_print_settings_set_printer settings' printer'
+    touchManagedPtr settings
+    freeMem printer'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPrinterMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetPrinterMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetPrinter
+
+#endif
+
+-- method PrintSettings::set_printer_lpi
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lpi", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the resolution in lpi (lines per inch)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_printer_lpi" gtk_print_settings_set_printer_lpi :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CDouble ->                              -- lpi : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_PRINTER_LPI'.
+
+/Since: 2.16/
+-}
+printSettingsSetPrinterLpi ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Double
+    {- ^ /@lpi@/: the resolution in lpi (lines per inch) -}
+    -> m ()
+printSettingsSetPrinterLpi settings lpi = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let lpi' = realToFrac lpi
+    gtk_print_settings_set_printer_lpi settings' lpi'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPrinterLpiMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetPrinterLpiMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetPrinterLpi
+
+#endif
+
+-- method PrintSettings::set_quality
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quality", argType = TInterface (Name {namespace = "Gtk", name = "PrintQuality"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintQuality value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_quality" gtk_print_settings_set_quality :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CUInt ->                                -- quality : TInterface (Name {namespace = "Gtk", name = "PrintQuality"})
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_QUALITY'.
+
+/Since: 2.10/
+-}
+printSettingsSetQuality ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Gtk.Enums.PrintQuality
+    {- ^ /@quality@/: a 'GI.Gtk.Enums.PrintQuality' value -}
+    -> m ()
+printSettingsSetQuality settings quality = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let quality' = (fromIntegral . fromEnum) quality
+    gtk_print_settings_set_quality settings' quality'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetQualityMethodInfo
+instance (signature ~ (Gtk.Enums.PrintQuality -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetQualityMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetQuality
+
+#endif
+
+-- method PrintSettings::set_resolution
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resolution", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the resolution in dpi", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_resolution" gtk_print_settings_set_resolution :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    Int32 ->                                -- resolution : TBasicType TInt
+    IO ()
+
+{- |
+Sets the values of 'GI.Gtk.Constants.PRINT_SETTINGS_RESOLUTION',
+'GI.Gtk.Constants.PRINT_SETTINGS_RESOLUTION_X' and
+'GI.Gtk.Constants.PRINT_SETTINGS_RESOLUTION_Y'.
+
+/Since: 2.10/
+-}
+printSettingsSetResolution ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Int32
+    {- ^ /@resolution@/: the resolution in dpi -}
+    -> m ()
+printSettingsSetResolution settings resolution = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    gtk_print_settings_set_resolution settings' resolution
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetResolutionMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetResolutionMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetResolution
+
+#endif
+
+-- method PrintSettings::set_resolution_xy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resolution_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal resolution in dpi", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resolution_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical resolution in dpi", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_resolution_xy" gtk_print_settings_set_resolution_xy :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    Int32 ->                                -- resolution_x : TBasicType TInt
+    Int32 ->                                -- resolution_y : TBasicType TInt
+    IO ()
+
+{- |
+Sets the values of 'GI.Gtk.Constants.PRINT_SETTINGS_RESOLUTION',
+'GI.Gtk.Constants.PRINT_SETTINGS_RESOLUTION_X' and
+'GI.Gtk.Constants.PRINT_SETTINGS_RESOLUTION_Y'.
+
+/Since: 2.16/
+-}
+printSettingsSetResolutionXy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Int32
+    {- ^ /@resolutionX@/: the horizontal resolution in dpi -}
+    -> Int32
+    {- ^ /@resolutionY@/: the vertical resolution in dpi -}
+    -> m ()
+printSettingsSetResolutionXy settings resolutionX resolutionY = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    gtk_print_settings_set_resolution_xy settings' resolutionX resolutionY
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetResolutionXyMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetResolutionXyMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetResolutionXy
+
+#endif
+
+-- method PrintSettings::set_reverse
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reverse", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to reverse the output", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_reverse" gtk_print_settings_set_reverse :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CInt ->                                 -- reverse : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_REVERSE'.
+
+/Since: 2.10/
+-}
+printSettingsSetReverse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Bool
+    {- ^ /@reverse@/: whether to reverse the output -}
+    -> m ()
+printSettingsSetReverse settings reverse = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let reverse' = (fromIntegral . fromEnum) reverse
+    gtk_print_settings_set_reverse settings' reverse'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetReverseMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetReverseMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetReverse
+
+#endif
+
+-- method PrintSettings::set_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scale in percent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_scale" gtk_print_settings_set_scale :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CDouble ->                              -- scale : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_SCALE'.
+
+/Since: 2.10/
+-}
+printSettingsSetScale ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Double
+    {- ^ /@scale@/: the scale in percent -}
+    -> m ()
+printSettingsSetScale settings scale = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let scale' = realToFrac scale
+    gtk_print_settings_set_scale settings' scale'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetScaleMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetScaleMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetScale
+
+#endif
+
+-- method PrintSettings::set_use_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_color", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to use color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_set_use_color" gtk_print_settings_set_use_color :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CInt ->                                 -- use_color : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the value of 'GI.Gtk.Constants.PRINT_SETTINGS_USE_COLOR'.
+
+/Since: 2.10/
+-}
+printSettingsSetUseColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> Bool
+    {- ^ /@useColor@/: whether to use color -}
+    -> m ()
+printSettingsSetUseColor settings useColor = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    let useColor' = (fromIntegral . fromEnum) useColor
+    gtk_print_settings_set_use_color settings' useColor'
+    touchManagedPtr settings
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsSetUseColorMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsSetUseColorMethodInfo a signature where
+    overloadedMethod _ = printSettingsSetUseColor
+
+#endif
+
+-- method PrintSettings::to_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the file to save to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_to_file" gtk_print_settings_to_file :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- file_name : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+This function saves the print settings from /@settings@/ to /@fileName@/. If the
+file could not be loaded then error is set to either a 'GI.GLib.Enums.FileError' or
+'GI.GLib.Enums.KeyFileError'.
+
+/Since: 2.12/
+-}
+printSettingsToFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> [Char]
+    {- ^ /@fileName@/: the file to save to -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+printSettingsToFile settings fileName = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    fileName' <- stringToCString fileName
+    onException (do
+        _ <- propagateGError $ gtk_print_settings_to_file settings' fileName'
+        touchManagedPtr settings
+        freeMem fileName'
+        return ()
+     ) (do
+        freeMem fileName'
+     )
+
+#if ENABLE_OVERLOADING
+data PrintSettingsToFileMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsToFileMethodInfo a signature where
+    overloadedMethod _ = printSettingsToFile
+
+#endif
+
+-- method PrintSettings::to_gvariant
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just TVariant
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_to_gvariant" gtk_print_settings_to_gvariant :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    IO (Ptr GVariant)
+
+{- |
+Serialize print settings to an a{sv} variant.
+
+/Since: 3.22/
+-}
+printSettingsToGvariant ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> m GVariant
+    {- ^ __Returns:__ a new, floating, 'GVariant' -}
+printSettingsToGvariant settings = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    result <- gtk_print_settings_to_gvariant settings'
+    checkUnexpectedReturnNULL "printSettingsToGvariant" result
+    result' <- B.GVariant.newGVariantFromPtr result
+    touchManagedPtr settings
+    return result'
+
+#if ENABLE_OVERLOADING
+data PrintSettingsToGvariantMethodInfo
+instance (signature ~ (m GVariant), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsToGvariantMethodInfo a signature where
+    overloadedMethod _ = printSettingsToGvariant
+
+#endif
+
+-- method PrintSettings::to_key_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GKeyFile to save the print settings to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the group to add the settings to in @key_file, or\n    %NULL to use the default \8220Print Settings\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_to_key_file" gtk_print_settings_to_key_file :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    Ptr GLib.KeyFile.KeyFile ->             -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    IO ()
+
+{- |
+This function adds the print settings from /@settings@/ to /@keyFile@/.
+
+/Since: 2.12/
+-}
+printSettingsToKeyFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> GLib.KeyFile.KeyFile
+    {- ^ /@keyFile@/: the 'GI.GLib.Structs.KeyFile.KeyFile' to save the print settings to -}
+    -> Maybe (T.Text)
+    {- ^ /@groupName@/: the group to add the settings to in /@keyFile@/, or
+    'Nothing' to use the default “Print Settings” -}
+    -> m ()
+printSettingsToKeyFile settings keyFile groupName = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    keyFile' <- unsafeManagedPtrGetPtr keyFile
+    maybeGroupName <- case groupName of
+        Nothing -> return nullPtr
+        Just jGroupName -> do
+            jGroupName' <- textToCString jGroupName
+            return jGroupName'
+    gtk_print_settings_to_key_file settings' keyFile' maybeGroupName
+    touchManagedPtr settings
+    touchManagedPtr keyFile
+    freeMem maybeGroupName
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsToKeyFileMethodInfo
+instance (signature ~ (GLib.KeyFile.KeyFile -> Maybe (T.Text) -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsToKeyFileMethodInfo a signature where
+    overloadedMethod _ = printSettingsToKeyFile
+
+#endif
+
+-- method PrintSettings::unset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "PrintSettings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPrintSettings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_print_settings_unset" gtk_print_settings_unset :: 
+    Ptr PrintSettings ->                    -- settings : TInterface (Name {namespace = "Gtk", name = "PrintSettings"})
+    CString ->                              -- key : TBasicType TUTF8
+    IO ()
+
+{- |
+Removes any value associated with /@key@/.
+This has the same effect as setting the value to 'Nothing'.
+
+/Since: 2.10/
+-}
+printSettingsUnset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsPrintSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.PrintSettings.PrintSettings' -}
+    -> T.Text
+    {- ^ /@key@/: a key -}
+    -> m ()
+printSettingsUnset settings key = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    key' <- textToCString key
+    gtk_print_settings_unset settings' key'
+    touchManagedPtr settings
+    freeMem key'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PrintSettingsUnsetMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsPrintSettings a) => O.MethodInfo PrintSettingsUnsetMethodInfo a signature where
+    overloadedMethod _ = printSettingsUnset
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/PrintSettings.hs-boot b/GI/Gtk/Objects/PrintSettings.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/PrintSettings.hs-boot
@@ -0,0 +1,245 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.PrintSettings where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PrintSettings = PrintSettings (ManagedPtr PrintSettings)
+instance GObject PrintSettings where
+class (GObject o, O.IsDescendantOf PrintSettings o) => IsPrintSettings o
+instance (GObject o, O.IsDescendantOf PrintSettings o) => IsPrintSettings o
+instance O.HasParentTypes PrintSettings
+#if ENABLE_OVERLOADING
+data PrintSettingsCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsForeachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetBoolMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetCollateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDefaultSourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDitherMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDoubleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDoubleWithDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetDuplexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetFinishingsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetIntMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetIntWithDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetMediaTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetNCopiesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetNumberUpMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetNumberUpLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetOutputBinMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPageRangesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPageSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPaperHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPaperSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPaperWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPrintPagesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPrinterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetPrinterLpiMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetQualityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetResolutionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetResolutionXMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetResolutionYMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetReverseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetScaleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsGetUseColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsHasKeyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsLoadFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsLoadKeyFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetBoolMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetCollateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetDefaultSourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetDitherMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetDoubleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetDuplexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetFinishingsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetIntMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetMediaTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetNCopiesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetNumberUpMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetNumberUpLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetOutputBinMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPageRangesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPageSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPaperHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPaperSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPaperWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPrintPagesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPrinterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetPrinterLpiMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetQualityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetResolutionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetResolutionXyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetReverseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetScaleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsSetUseColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsToFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsToGvariantMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsToKeyFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PrintSettingsUnsetMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ProgressBar.hs b/GI/Gtk/Objects/ProgressBar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ProgressBar.hs
@@ -0,0 +1,1524 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.ProgressBar.ProgressBar' is typically used to display the progress of a long
+running operation. It provides a visual clue that processing is underway.
+The GtkProgressBar can be used in two different modes: percentage mode
+and activity mode.
+
+When an application can determine how much work needs to take place
+(e.g. read a fixed number of bytes from a file) and can monitor its
+progress, it can use the GtkProgressBar in percentage mode and the
+user sees a growing bar indicating the percentage of the work that
+has been completed. In this mode, the application is required to call
+'GI.Gtk.Objects.ProgressBar.progressBarSetFraction' periodically to update the progress bar.
+
+When an application has no accurate way of knowing the amount of work
+to do, it can use the 'GI.Gtk.Objects.ProgressBar.ProgressBar' in activity mode, which shows
+activity by a block moving back and forth within the progress area. In
+this mode, the application is required to call 'GI.Gtk.Objects.ProgressBar.progressBarPulse'
+periodically to update the progress bar.
+
+There is quite a bit of flexibility provided to control the appearance
+of the 'GI.Gtk.Objects.ProgressBar.ProgressBar'. Functions are provided to control the orientation
+of the bar, optional text can be displayed along with the bar, and the
+step size used in activity mode can be set.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>progressbar[.osd]
+>├── [text]
+>╰── trough[.empty][.full]
+>    ╰── progress[.pulse]
+
+
+GtkProgressBar has a main CSS node with name progressbar and subnodes with
+names text and trough, of which the latter has a subnode named progress. The
+text subnode is only present if text is shown. The progress subnode has the
+style class .pulse when in activity mode. It gets the style classes .left,
+.right, .top or .bottom added when the progress \'touches\' the corresponding
+end of the GtkProgressBar. The .osd class on the progressbar node is for use
+in overlays like the one Epiphany has for page loading progress.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ProgressBar
+    ( 
+
+-- * Exported types
+    ProgressBar(..)                         ,
+    IsProgressBar                           ,
+    toProgressBar                           ,
+    noProgressBar                           ,
+
+
+ -- * Methods
+-- ** getEllipsize #method:getEllipsize#
+
+#if ENABLE_OVERLOADING
+    ProgressBarGetEllipsizeMethodInfo       ,
+#endif
+    progressBarGetEllipsize                 ,
+
+
+-- ** getFraction #method:getFraction#
+
+#if ENABLE_OVERLOADING
+    ProgressBarGetFractionMethodInfo        ,
+#endif
+    progressBarGetFraction                  ,
+
+
+-- ** getInverted #method:getInverted#
+
+#if ENABLE_OVERLOADING
+    ProgressBarGetInvertedMethodInfo        ,
+#endif
+    progressBarGetInverted                  ,
+
+
+-- ** getPulseStep #method:getPulseStep#
+
+#if ENABLE_OVERLOADING
+    ProgressBarGetPulseStepMethodInfo       ,
+#endif
+    progressBarGetPulseStep                 ,
+
+
+-- ** getShowText #method:getShowText#
+
+#if ENABLE_OVERLOADING
+    ProgressBarGetShowTextMethodInfo        ,
+#endif
+    progressBarGetShowText                  ,
+
+
+-- ** getText #method:getText#
+
+#if ENABLE_OVERLOADING
+    ProgressBarGetTextMethodInfo            ,
+#endif
+    progressBarGetText                      ,
+
+
+-- ** new #method:new#
+
+    progressBarNew                          ,
+
+
+-- ** pulse #method:pulse#
+
+#if ENABLE_OVERLOADING
+    ProgressBarPulseMethodInfo              ,
+#endif
+    progressBarPulse                        ,
+
+
+-- ** setEllipsize #method:setEllipsize#
+
+#if ENABLE_OVERLOADING
+    ProgressBarSetEllipsizeMethodInfo       ,
+#endif
+    progressBarSetEllipsize                 ,
+
+
+-- ** setFraction #method:setFraction#
+
+#if ENABLE_OVERLOADING
+    ProgressBarSetFractionMethodInfo        ,
+#endif
+    progressBarSetFraction                  ,
+
+
+-- ** setInverted #method:setInverted#
+
+#if ENABLE_OVERLOADING
+    ProgressBarSetInvertedMethodInfo        ,
+#endif
+    progressBarSetInverted                  ,
+
+
+-- ** setPulseStep #method:setPulseStep#
+
+#if ENABLE_OVERLOADING
+    ProgressBarSetPulseStepMethodInfo       ,
+#endif
+    progressBarSetPulseStep                 ,
+
+
+-- ** setShowText #method:setShowText#
+
+#if ENABLE_OVERLOADING
+    ProgressBarSetShowTextMethodInfo        ,
+#endif
+    progressBarSetShowText                  ,
+
+
+-- ** setText #method:setText#
+
+#if ENABLE_OVERLOADING
+    ProgressBarSetTextMethodInfo            ,
+#endif
+    progressBarSetText                      ,
+
+
+
+
+ -- * Properties
+-- ** ellipsize #attr:ellipsize#
+{- | The preferred place to ellipsize the string, if the progress bar does
+not have enough room to display the entire string, specified as a
+'GI.Pango.Enums.EllipsizeMode'.
+
+Note that setting this property to a value other than
+'GI.Pango.Enums.EllipsizeModeNone' has the side-effect that the progress bar requests
+only enough space to display the ellipsis (\"...\"). Another means to set a
+progress bar\'s width is 'GI.Gtk.Objects.Widget.widgetSetSizeRequest'.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    ProgressBarEllipsizePropertyInfo        ,
+#endif
+    constructProgressBarEllipsize           ,
+    getProgressBarEllipsize                 ,
+#if ENABLE_OVERLOADING
+    progressBarEllipsize                    ,
+#endif
+    setProgressBarEllipsize                 ,
+
+
+-- ** fraction #attr:fraction#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ProgressBarFractionPropertyInfo         ,
+#endif
+    constructProgressBarFraction            ,
+    getProgressBarFraction                  ,
+#if ENABLE_OVERLOADING
+    progressBarFraction                     ,
+#endif
+    setProgressBarFraction                  ,
+
+
+-- ** inverted #attr:inverted#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ProgressBarInvertedPropertyInfo         ,
+#endif
+    constructProgressBarInverted            ,
+    getProgressBarInverted                  ,
+#if ENABLE_OVERLOADING
+    progressBarInverted                     ,
+#endif
+    setProgressBarInverted                  ,
+
+
+-- ** pulseStep #attr:pulseStep#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ProgressBarPulseStepPropertyInfo        ,
+#endif
+    constructProgressBarPulseStep           ,
+    getProgressBarPulseStep                 ,
+#if ENABLE_OVERLOADING
+    progressBarPulseStep                    ,
+#endif
+    setProgressBarPulseStep                 ,
+
+
+-- ** showText #attr:showText#
+{- | Sets whether the progress bar will show a text in addition
+to the bar itself. The shown text is either the value of
+the 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/text/@ property or, if that is 'Nothing',
+the 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/fraction/@ value, as a percentage.
+
+To make a progress bar that is styled and sized suitably for
+showing text (even if the actual text is blank), set
+'GI.Gtk.Objects.ProgressBar.ProgressBar':@/show-text/@ to 'True' and 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/text/@
+to the empty string (not 'Nothing').
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ProgressBarShowTextPropertyInfo         ,
+#endif
+    constructProgressBarShowText            ,
+    getProgressBarShowText                  ,
+#if ENABLE_OVERLOADING
+    progressBarShowText                     ,
+#endif
+    setProgressBarShowText                  ,
+
+
+-- ** text #attr:text#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ProgressBarTextPropertyInfo             ,
+#endif
+    clearProgressBarText                    ,
+    constructProgressBarText                ,
+    getProgressBarText                      ,
+#if ENABLE_OVERLOADING
+    progressBarText                         ,
+#endif
+    setProgressBarText                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import qualified GI.Pango.Enums as Pango.Enums
+
+-- | Memory-managed wrapper type.
+newtype ProgressBar = ProgressBar (ManagedPtr ProgressBar)
+foreign import ccall "gtk_progress_bar_get_type"
+    c_gtk_progress_bar_get_type :: IO GType
+
+instance GObject ProgressBar where
+    gobjectType = c_gtk_progress_bar_get_type
+    
+
+-- | Type class for types which can be safely cast to `ProgressBar`, for instance with `toProgressBar`.
+class (GObject o, O.IsDescendantOf ProgressBar o) => IsProgressBar o
+instance (GObject o, O.IsDescendantOf ProgressBar o) => IsProgressBar o
+
+instance O.HasParentTypes ProgressBar
+type instance O.ParentTypes ProgressBar = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `ProgressBar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toProgressBar :: (MonadIO m, IsProgressBar o) => o -> m ProgressBar
+toProgressBar = liftIO . unsafeCastTo ProgressBar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ProgressBar`.
+noProgressBar :: Maybe ProgressBar
+noProgressBar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveProgressBarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveProgressBarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveProgressBarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveProgressBarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveProgressBarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveProgressBarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveProgressBarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveProgressBarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveProgressBarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveProgressBarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveProgressBarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveProgressBarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveProgressBarMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveProgressBarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveProgressBarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveProgressBarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveProgressBarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveProgressBarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveProgressBarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveProgressBarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveProgressBarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveProgressBarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveProgressBarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveProgressBarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveProgressBarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveProgressBarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveProgressBarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveProgressBarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveProgressBarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveProgressBarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveProgressBarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveProgressBarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveProgressBarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveProgressBarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveProgressBarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveProgressBarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveProgressBarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveProgressBarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveProgressBarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveProgressBarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveProgressBarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveProgressBarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveProgressBarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveProgressBarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveProgressBarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveProgressBarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveProgressBarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveProgressBarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveProgressBarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveProgressBarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveProgressBarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveProgressBarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveProgressBarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveProgressBarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveProgressBarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveProgressBarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveProgressBarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveProgressBarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveProgressBarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveProgressBarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveProgressBarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveProgressBarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveProgressBarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveProgressBarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveProgressBarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveProgressBarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveProgressBarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveProgressBarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveProgressBarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveProgressBarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveProgressBarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveProgressBarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveProgressBarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveProgressBarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveProgressBarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveProgressBarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveProgressBarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveProgressBarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveProgressBarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveProgressBarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveProgressBarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveProgressBarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveProgressBarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveProgressBarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveProgressBarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveProgressBarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveProgressBarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveProgressBarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveProgressBarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveProgressBarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveProgressBarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveProgressBarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveProgressBarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveProgressBarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveProgressBarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveProgressBarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveProgressBarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveProgressBarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveProgressBarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveProgressBarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveProgressBarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveProgressBarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveProgressBarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveProgressBarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveProgressBarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveProgressBarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveProgressBarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveProgressBarMethod "pulse" o = ProgressBarPulseMethodInfo
+    ResolveProgressBarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveProgressBarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveProgressBarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveProgressBarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveProgressBarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveProgressBarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveProgressBarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveProgressBarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveProgressBarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveProgressBarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveProgressBarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveProgressBarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveProgressBarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveProgressBarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveProgressBarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveProgressBarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveProgressBarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveProgressBarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveProgressBarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveProgressBarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveProgressBarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveProgressBarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveProgressBarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveProgressBarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveProgressBarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveProgressBarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveProgressBarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveProgressBarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveProgressBarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveProgressBarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveProgressBarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveProgressBarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveProgressBarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveProgressBarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveProgressBarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveProgressBarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveProgressBarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveProgressBarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveProgressBarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveProgressBarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveProgressBarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveProgressBarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveProgressBarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveProgressBarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveProgressBarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveProgressBarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveProgressBarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveProgressBarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveProgressBarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveProgressBarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveProgressBarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveProgressBarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveProgressBarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveProgressBarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveProgressBarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveProgressBarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveProgressBarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveProgressBarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveProgressBarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveProgressBarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveProgressBarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveProgressBarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveProgressBarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveProgressBarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveProgressBarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveProgressBarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveProgressBarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveProgressBarMethod "getEllipsize" o = ProgressBarGetEllipsizeMethodInfo
+    ResolveProgressBarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveProgressBarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveProgressBarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveProgressBarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveProgressBarMethod "getFraction" o = ProgressBarGetFractionMethodInfo
+    ResolveProgressBarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveProgressBarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveProgressBarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveProgressBarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveProgressBarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveProgressBarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveProgressBarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveProgressBarMethod "getInverted" o = ProgressBarGetInvertedMethodInfo
+    ResolveProgressBarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveProgressBarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveProgressBarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveProgressBarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveProgressBarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveProgressBarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveProgressBarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveProgressBarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveProgressBarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveProgressBarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveProgressBarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveProgressBarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveProgressBarMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveProgressBarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveProgressBarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveProgressBarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveProgressBarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveProgressBarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveProgressBarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveProgressBarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveProgressBarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveProgressBarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveProgressBarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveProgressBarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveProgressBarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveProgressBarMethod "getPulseStep" o = ProgressBarGetPulseStepMethodInfo
+    ResolveProgressBarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveProgressBarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveProgressBarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveProgressBarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveProgressBarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveProgressBarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveProgressBarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveProgressBarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveProgressBarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveProgressBarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveProgressBarMethod "getShowText" o = ProgressBarGetShowTextMethodInfo
+    ResolveProgressBarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveProgressBarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveProgressBarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveProgressBarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveProgressBarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveProgressBarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveProgressBarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveProgressBarMethod "getText" o = ProgressBarGetTextMethodInfo
+    ResolveProgressBarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveProgressBarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveProgressBarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveProgressBarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveProgressBarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveProgressBarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveProgressBarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveProgressBarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveProgressBarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveProgressBarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveProgressBarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveProgressBarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveProgressBarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveProgressBarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveProgressBarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveProgressBarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveProgressBarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveProgressBarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveProgressBarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveProgressBarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveProgressBarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveProgressBarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveProgressBarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveProgressBarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveProgressBarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveProgressBarMethod "setEllipsize" o = ProgressBarSetEllipsizeMethodInfo
+    ResolveProgressBarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveProgressBarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveProgressBarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveProgressBarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveProgressBarMethod "setFraction" o = ProgressBarSetFractionMethodInfo
+    ResolveProgressBarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveProgressBarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveProgressBarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveProgressBarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveProgressBarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveProgressBarMethod "setInverted" o = ProgressBarSetInvertedMethodInfo
+    ResolveProgressBarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveProgressBarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveProgressBarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveProgressBarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveProgressBarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveProgressBarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveProgressBarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveProgressBarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveProgressBarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveProgressBarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveProgressBarMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveProgressBarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveProgressBarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveProgressBarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveProgressBarMethod "setPulseStep" o = ProgressBarSetPulseStepMethodInfo
+    ResolveProgressBarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveProgressBarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveProgressBarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveProgressBarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveProgressBarMethod "setShowText" o = ProgressBarSetShowTextMethodInfo
+    ResolveProgressBarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveProgressBarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveProgressBarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveProgressBarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveProgressBarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveProgressBarMethod "setText" o = ProgressBarSetTextMethodInfo
+    ResolveProgressBarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveProgressBarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveProgressBarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveProgressBarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveProgressBarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveProgressBarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveProgressBarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveProgressBarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveProgressBarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveProgressBarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveProgressBarMethod t ProgressBar, O.MethodInfo info ProgressBar p) => OL.IsLabel t (ProgressBar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "ellipsize"
+   -- Type: TInterface (Name {namespace = "Pango", name = "EllipsizeMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@ellipsize@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' progressBar #ellipsize
+@
+-}
+getProgressBarEllipsize :: (MonadIO m, IsProgressBar o) => o -> m Pango.Enums.EllipsizeMode
+getProgressBarEllipsize obj = liftIO $ B.Properties.getObjectPropertyEnum obj "ellipsize"
+
+{- |
+Set the value of the “@ellipsize@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' progressBar [ #ellipsize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setProgressBarEllipsize :: (MonadIO m, IsProgressBar o) => o -> Pango.Enums.EllipsizeMode -> m ()
+setProgressBarEllipsize obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "ellipsize" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@ellipsize@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructProgressBarEllipsize :: (IsProgressBar o) => Pango.Enums.EllipsizeMode -> IO (GValueConstruct o)
+constructProgressBarEllipsize val = B.Properties.constructObjectPropertyEnum "ellipsize" val
+
+#if ENABLE_OVERLOADING
+data ProgressBarEllipsizePropertyInfo
+instance AttrInfo ProgressBarEllipsizePropertyInfo where
+    type AttrAllowedOps ProgressBarEllipsizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ProgressBarEllipsizePropertyInfo = (~) Pango.Enums.EllipsizeMode
+    type AttrBaseTypeConstraint ProgressBarEllipsizePropertyInfo = IsProgressBar
+    type AttrGetType ProgressBarEllipsizePropertyInfo = Pango.Enums.EllipsizeMode
+    type AttrLabel ProgressBarEllipsizePropertyInfo = "ellipsize"
+    type AttrOrigin ProgressBarEllipsizePropertyInfo = ProgressBar
+    attrGet _ = getProgressBarEllipsize
+    attrSet _ = setProgressBarEllipsize
+    attrConstruct _ = constructProgressBarEllipsize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "fraction"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@fraction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' progressBar #fraction
+@
+-}
+getProgressBarFraction :: (MonadIO m, IsProgressBar o) => o -> m Double
+getProgressBarFraction obj = liftIO $ B.Properties.getObjectPropertyDouble obj "fraction"
+
+{- |
+Set the value of the “@fraction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' progressBar [ #fraction 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setProgressBarFraction :: (MonadIO m, IsProgressBar o) => o -> Double -> m ()
+setProgressBarFraction obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "fraction" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@fraction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructProgressBarFraction :: (IsProgressBar o) => Double -> IO (GValueConstruct o)
+constructProgressBarFraction val = B.Properties.constructObjectPropertyDouble "fraction" val
+
+#if ENABLE_OVERLOADING
+data ProgressBarFractionPropertyInfo
+instance AttrInfo ProgressBarFractionPropertyInfo where
+    type AttrAllowedOps ProgressBarFractionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ProgressBarFractionPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint ProgressBarFractionPropertyInfo = IsProgressBar
+    type AttrGetType ProgressBarFractionPropertyInfo = Double
+    type AttrLabel ProgressBarFractionPropertyInfo = "fraction"
+    type AttrOrigin ProgressBarFractionPropertyInfo = ProgressBar
+    attrGet _ = getProgressBarFraction
+    attrSet _ = setProgressBarFraction
+    attrConstruct _ = constructProgressBarFraction
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "inverted"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' progressBar #inverted
+@
+-}
+getProgressBarInverted :: (MonadIO m, IsProgressBar o) => o -> m Bool
+getProgressBarInverted obj = liftIO $ B.Properties.getObjectPropertyBool obj "inverted"
+
+{- |
+Set the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' progressBar [ #inverted 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setProgressBarInverted :: (MonadIO m, IsProgressBar o) => o -> Bool -> m ()
+setProgressBarInverted obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inverted" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inverted@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructProgressBarInverted :: (IsProgressBar o) => Bool -> IO (GValueConstruct o)
+constructProgressBarInverted val = B.Properties.constructObjectPropertyBool "inverted" val
+
+#if ENABLE_OVERLOADING
+data ProgressBarInvertedPropertyInfo
+instance AttrInfo ProgressBarInvertedPropertyInfo where
+    type AttrAllowedOps ProgressBarInvertedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ProgressBarInvertedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ProgressBarInvertedPropertyInfo = IsProgressBar
+    type AttrGetType ProgressBarInvertedPropertyInfo = Bool
+    type AttrLabel ProgressBarInvertedPropertyInfo = "inverted"
+    type AttrOrigin ProgressBarInvertedPropertyInfo = ProgressBar
+    attrGet _ = getProgressBarInverted
+    attrSet _ = setProgressBarInverted
+    attrConstruct _ = constructProgressBarInverted
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pulse-step"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@pulse-step@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' progressBar #pulseStep
+@
+-}
+getProgressBarPulseStep :: (MonadIO m, IsProgressBar o) => o -> m Double
+getProgressBarPulseStep obj = liftIO $ B.Properties.getObjectPropertyDouble obj "pulse-step"
+
+{- |
+Set the value of the “@pulse-step@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' progressBar [ #pulseStep 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setProgressBarPulseStep :: (MonadIO m, IsProgressBar o) => o -> Double -> m ()
+setProgressBarPulseStep obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "pulse-step" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pulse-step@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructProgressBarPulseStep :: (IsProgressBar o) => Double -> IO (GValueConstruct o)
+constructProgressBarPulseStep val = B.Properties.constructObjectPropertyDouble "pulse-step" val
+
+#if ENABLE_OVERLOADING
+data ProgressBarPulseStepPropertyInfo
+instance AttrInfo ProgressBarPulseStepPropertyInfo where
+    type AttrAllowedOps ProgressBarPulseStepPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ProgressBarPulseStepPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint ProgressBarPulseStepPropertyInfo = IsProgressBar
+    type AttrGetType ProgressBarPulseStepPropertyInfo = Double
+    type AttrLabel ProgressBarPulseStepPropertyInfo = "pulse-step"
+    type AttrOrigin ProgressBarPulseStepPropertyInfo = ProgressBar
+    attrGet _ = getProgressBarPulseStep
+    attrSet _ = setProgressBarPulseStep
+    attrConstruct _ = constructProgressBarPulseStep
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-text"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' progressBar #showText
+@
+-}
+getProgressBarShowText :: (MonadIO m, IsProgressBar o) => o -> m Bool
+getProgressBarShowText obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-text"
+
+{- |
+Set the value of the “@show-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' progressBar [ #showText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setProgressBarShowText :: (MonadIO m, IsProgressBar o) => o -> Bool -> m ()
+setProgressBarShowText obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-text" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructProgressBarShowText :: (IsProgressBar o) => Bool -> IO (GValueConstruct o)
+constructProgressBarShowText val = B.Properties.constructObjectPropertyBool "show-text" val
+
+#if ENABLE_OVERLOADING
+data ProgressBarShowTextPropertyInfo
+instance AttrInfo ProgressBarShowTextPropertyInfo where
+    type AttrAllowedOps ProgressBarShowTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ProgressBarShowTextPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ProgressBarShowTextPropertyInfo = IsProgressBar
+    type AttrGetType ProgressBarShowTextPropertyInfo = Bool
+    type AttrLabel ProgressBarShowTextPropertyInfo = "show-text"
+    type AttrOrigin ProgressBarShowTextPropertyInfo = ProgressBar
+    attrGet _ = getProgressBarShowText
+    attrSet _ = setProgressBarShowText
+    attrConstruct _ = constructProgressBarShowText
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' progressBar #text
+@
+-}
+getProgressBarText :: (MonadIO m, IsProgressBar o) => o -> m (Maybe T.Text)
+getProgressBarText obj = liftIO $ B.Properties.getObjectPropertyString obj "text"
+
+{- |
+Set the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' progressBar [ #text 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setProgressBarText :: (MonadIO m, IsProgressBar o) => o -> T.Text -> m ()
+setProgressBarText obj val = liftIO $ B.Properties.setObjectPropertyString obj "text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructProgressBarText :: (IsProgressBar o) => T.Text -> IO (GValueConstruct o)
+constructProgressBarText val = B.Properties.constructObjectPropertyString "text" (Just val)
+
+{- |
+Set the value of the “@text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #text
+@
+-}
+clearProgressBarText :: (MonadIO m, IsProgressBar o) => o -> m ()
+clearProgressBarText obj = liftIO $ B.Properties.setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ProgressBarTextPropertyInfo
+instance AttrInfo ProgressBarTextPropertyInfo where
+    type AttrAllowedOps ProgressBarTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ProgressBarTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ProgressBarTextPropertyInfo = IsProgressBar
+    type AttrGetType ProgressBarTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel ProgressBarTextPropertyInfo = "text"
+    type AttrOrigin ProgressBarTextPropertyInfo = ProgressBar
+    attrGet _ = getProgressBarText
+    attrSet _ = setProgressBarText
+    attrConstruct _ = constructProgressBarText
+    attrClear _ = clearProgressBarText
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ProgressBar
+type instance O.AttributeList ProgressBar = ProgressBarAttributeList
+type ProgressBarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("ellipsize", ProgressBarEllipsizePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("fraction", ProgressBarFractionPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inverted", ProgressBarInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("pulseStep", ProgressBarPulseStepPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showText", ProgressBarShowTextPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("text", ProgressBarTextPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+progressBarEllipsize :: AttrLabelProxy "ellipsize"
+progressBarEllipsize = AttrLabelProxy
+
+progressBarFraction :: AttrLabelProxy "fraction"
+progressBarFraction = AttrLabelProxy
+
+progressBarInverted :: AttrLabelProxy "inverted"
+progressBarInverted = AttrLabelProxy
+
+progressBarPulseStep :: AttrLabelProxy "pulseStep"
+progressBarPulseStep = AttrLabelProxy
+
+progressBarShowText :: AttrLabelProxy "showText"
+progressBarShowText = AttrLabelProxy
+
+progressBarText :: AttrLabelProxy "text"
+progressBarText = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ProgressBar = ProgressBarSignalList
+type ProgressBarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ProgressBar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ProgressBar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_new" gtk_progress_bar_new :: 
+    IO (Ptr ProgressBar)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ProgressBar.ProgressBar'.
+-}
+progressBarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ProgressBar
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.ProgressBar.ProgressBar'. -}
+progressBarNew  = liftIO $ do
+    result <- gtk_progress_bar_new
+    checkUnexpectedReturnNULL "progressBarNew" result
+    result' <- (newObject ProgressBar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ProgressBar::get_ellipsize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "EllipsizeMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_get_ellipsize" gtk_progress_bar_get_ellipsize :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    IO CUInt
+
+{- |
+Returns the ellipsizing position of the progress bar.
+See 'GI.Gtk.Objects.ProgressBar.progressBarSetEllipsize'.
+
+/Since: 2.6/
+-}
+progressBarGetEllipsize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> m Pango.Enums.EllipsizeMode
+    {- ^ __Returns:__ 'GI.Pango.Enums.EllipsizeMode' -}
+progressBarGetEllipsize pbar = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    result <- gtk_progress_bar_get_ellipsize pbar'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr pbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data ProgressBarGetEllipsizeMethodInfo
+instance (signature ~ (m Pango.Enums.EllipsizeMode), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarGetEllipsizeMethodInfo a signature where
+    overloadedMethod _ = progressBarGetEllipsize
+
+#endif
+
+-- method ProgressBar::get_fraction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_get_fraction" gtk_progress_bar_get_fraction :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    IO CDouble
+
+{- |
+Returns the current fraction of the task that’s been completed.
+-}
+progressBarGetFraction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> m Double
+    {- ^ __Returns:__ a fraction from 0.0 to 1.0 -}
+progressBarGetFraction pbar = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    result <- gtk_progress_bar_get_fraction pbar'
+    let result' = realToFrac result
+    touchManagedPtr pbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data ProgressBarGetFractionMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarGetFractionMethodInfo a signature where
+    overloadedMethod _ = progressBarGetFraction
+
+#endif
+
+-- method ProgressBar::get_inverted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_get_inverted" gtk_progress_bar_get_inverted :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.ProgressBar.progressBarSetInverted'.
+-}
+progressBarGetInverted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the progress bar is inverted -}
+progressBarGetInverted pbar = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    result <- gtk_progress_bar_get_inverted pbar'
+    let result' = (/= 0) result
+    touchManagedPtr pbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data ProgressBarGetInvertedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarGetInvertedMethodInfo a signature where
+    overloadedMethod _ = progressBarGetInverted
+
+#endif
+
+-- method ProgressBar::get_pulse_step
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_get_pulse_step" gtk_progress_bar_get_pulse_step :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    IO CDouble
+
+{- |
+Retrieves the pulse step set with 'GI.Gtk.Objects.ProgressBar.progressBarSetPulseStep'.
+-}
+progressBarGetPulseStep ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> m Double
+    {- ^ __Returns:__ a fraction from 0.0 to 1.0 -}
+progressBarGetPulseStep pbar = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    result <- gtk_progress_bar_get_pulse_step pbar'
+    let result' = realToFrac result
+    touchManagedPtr pbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data ProgressBarGetPulseStepMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarGetPulseStepMethodInfo a signature where
+    overloadedMethod _ = progressBarGetPulseStep
+
+#endif
+
+-- method ProgressBar::get_show_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_get_show_text" gtk_progress_bar_get_show_text :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    IO CInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/show-text/@ property.
+See 'GI.Gtk.Objects.ProgressBar.progressBarSetShowText'.
+
+/Since: 3.0/
+-}
+progressBarGetShowText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if text is shown in the progress bar -}
+progressBarGetShowText pbar = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    result <- gtk_progress_bar_get_show_text pbar'
+    let result' = (/= 0) result
+    touchManagedPtr pbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data ProgressBarGetShowTextMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarGetShowTextMethodInfo a signature where
+    overloadedMethod _ = progressBarGetShowText
+
+#endif
+
+-- method ProgressBar::get_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_get_text" gtk_progress_bar_get_text :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    IO CString
+
+{- |
+Retrieves the text that is displayed with the progress bar,
+if any, otherwise 'Nothing'. The return value is a reference
+to the text, not a copy of it, so will become invalid
+if you change the text in the progress bar.
+-}
+progressBarGetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ text, or 'Nothing'; this string is owned by the widget
+and should not be modified or freed. -}
+progressBarGetText pbar = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    result <- gtk_progress_bar_get_text pbar'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr pbar
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ProgressBarGetTextMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarGetTextMethodInfo a signature where
+    overloadedMethod _ = progressBarGetText
+
+#endif
+
+-- method ProgressBar::pulse
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_pulse" gtk_progress_bar_pulse :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    IO ()
+
+{- |
+Indicates that some progress has been made, but you don’t know how much.
+Causes the progress bar to enter “activity mode,” where a block
+bounces back and forth. Each call to 'GI.Gtk.Objects.ProgressBar.progressBarPulse'
+causes the block to move by a little bit (the amount of movement
+per pulse is determined by 'GI.Gtk.Objects.ProgressBar.progressBarSetPulseStep').
+-}
+progressBarPulse ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> m ()
+progressBarPulse pbar = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    gtk_progress_bar_pulse pbar'
+    touchManagedPtr pbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ProgressBarPulseMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarPulseMethodInfo a signature where
+    overloadedMethod _ = progressBarPulse
+
+#endif
+
+-- method ProgressBar::set_ellipsize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Pango", name = "EllipsizeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #PangoEllipsizeMode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_set_ellipsize" gtk_progress_bar_set_ellipsize :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    CUInt ->                                -- mode : TInterface (Name {namespace = "Pango", name = "EllipsizeMode"})
+    IO ()
+
+{- |
+Sets the mode used to ellipsize (add an ellipsis: \"...\") the
+text if there is not enough space to render the entire string.
+
+/Since: 2.6/
+-}
+progressBarSetEllipsize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> Pango.Enums.EllipsizeMode
+    {- ^ /@mode@/: a 'GI.Pango.Enums.EllipsizeMode' -}
+    -> m ()
+progressBarSetEllipsize pbar mode = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    let mode' = (fromIntegral . fromEnum) mode
+    gtk_progress_bar_set_ellipsize pbar' mode'
+    touchManagedPtr pbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ProgressBarSetEllipsizeMethodInfo
+instance (signature ~ (Pango.Enums.EllipsizeMode -> m ()), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarSetEllipsizeMethodInfo a signature where
+    overloadedMethod _ = progressBarSetEllipsize
+
+#endif
+
+-- method ProgressBar::set_fraction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "fraction of the task that\8217s been completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_set_fraction" gtk_progress_bar_set_fraction :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    CDouble ->                              -- fraction : TBasicType TDouble
+    IO ()
+
+{- |
+Causes the progress bar to “fill in” the given fraction
+of the bar. The fraction should be between 0.0 and 1.0,
+inclusive.
+-}
+progressBarSetFraction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> Double
+    {- ^ /@fraction@/: fraction of the task that’s been completed -}
+    -> m ()
+progressBarSetFraction pbar fraction = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    let fraction' = realToFrac fraction
+    gtk_progress_bar_set_fraction pbar' fraction'
+    touchManagedPtr pbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ProgressBarSetFractionMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarSetFractionMethodInfo a signature where
+    overloadedMethod _ = progressBarSetFraction
+
+#endif
+
+-- method ProgressBar::set_inverted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "inverted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to invert the progress bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_set_inverted" gtk_progress_bar_set_inverted :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    CInt ->                                 -- inverted : TBasicType TBoolean
+    IO ()
+
+{- |
+Progress bars normally grow from top to bottom or left to right.
+Inverted progress bars grow in the opposite direction.
+-}
+progressBarSetInverted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> Bool
+    {- ^ /@inverted@/: 'True' to invert the progress bar -}
+    -> m ()
+progressBarSetInverted pbar inverted = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    let inverted' = (fromIntegral . fromEnum) inverted
+    gtk_progress_bar_set_inverted pbar' inverted'
+    touchManagedPtr pbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ProgressBarSetInvertedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarSetInvertedMethodInfo a signature where
+    overloadedMethod _ = progressBarSetInverted
+
+#endif
+
+-- method ProgressBar::set_pulse_step
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fraction", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "fraction between 0.0 and 1.0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_set_pulse_step" gtk_progress_bar_set_pulse_step :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    CDouble ->                              -- fraction : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the fraction of total progress bar length to move the
+bouncing block for each call to 'GI.Gtk.Objects.ProgressBar.progressBarPulse'.
+-}
+progressBarSetPulseStep ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> Double
+    {- ^ /@fraction@/: fraction between 0.0 and 1.0 -}
+    -> m ()
+progressBarSetPulseStep pbar fraction = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    let fraction' = realToFrac fraction
+    gtk_progress_bar_set_pulse_step pbar' fraction'
+    touchManagedPtr pbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ProgressBarSetPulseStepMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarSetPulseStepMethodInfo a signature where
+    overloadedMethod _ = progressBarSetPulseStep
+
+#endif
+
+-- method ProgressBar::set_show_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_text", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_set_show_text" gtk_progress_bar_set_show_text :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    CInt ->                                 -- show_text : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the progress bar will show text next to the bar.
+The shown text is either the value of the 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/text/@
+property or, if that is 'Nothing', the 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/fraction/@ value,
+as a percentage.
+
+To make a progress bar that is styled and sized suitably for containing
+text (even if the actual text is blank), set 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/show-text/@ to
+'True' and 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/text/@ to the empty string (not 'Nothing').
+
+/Since: 3.0/
+-}
+progressBarSetShowText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> Bool
+    {- ^ /@showText@/: whether to show text -}
+    -> m ()
+progressBarSetShowText pbar showText = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    let showText' = (fromIntegral . fromEnum) showText
+    gtk_progress_bar_set_show_text pbar' showText'
+    touchManagedPtr pbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ProgressBarSetShowTextMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarSetShowTextMethodInfo a signature where
+    overloadedMethod _ = progressBarSetShowText
+
+#endif
+
+-- method ProgressBar::set_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "pbar", argType = TInterface (Name {namespace = "Gtk", name = "ProgressBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkProgressBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a UTF-8 string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_progress_bar_set_text" gtk_progress_bar_set_text :: 
+    Ptr ProgressBar ->                      -- pbar : TInterface (Name {namespace = "Gtk", name = "ProgressBar"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Causes the given /@text@/ to appear next to the progress bar.
+
+If /@text@/ is 'Nothing' and 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/show-text/@ is 'True', the current
+value of 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/fraction/@ will be displayed as a percentage.
+
+If /@text@/ is non-'Nothing' and 'GI.Gtk.Objects.ProgressBar.ProgressBar':@/show-text/@ is 'True', the text
+will be displayed. In this case, it will not display the progress
+percentage. If /@text@/ is the empty string, the progress bar will still
+be styled and sized suitably for containing text, as long as
+'GI.Gtk.Objects.ProgressBar.ProgressBar':@/show-text/@ is 'True'.
+-}
+progressBarSetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsProgressBar a) =>
+    a
+    {- ^ /@pbar@/: a 'GI.Gtk.Objects.ProgressBar.ProgressBar' -}
+    -> Maybe (T.Text)
+    {- ^ /@text@/: a UTF-8 string, or 'Nothing' -}
+    -> m ()
+progressBarSetText pbar text = liftIO $ do
+    pbar' <- unsafeManagedPtrCastPtr pbar
+    maybeText <- case text of
+        Nothing -> return nullPtr
+        Just jText -> do
+            jText' <- textToCString jText
+            return jText'
+    gtk_progress_bar_set_text pbar' maybeText
+    touchManagedPtr pbar
+    freeMem maybeText
+    return ()
+
+#if ENABLE_OVERLOADING
+data ProgressBarSetTextMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsProgressBar a) => O.MethodInfo ProgressBarSetTextMethodInfo a signature where
+    overloadedMethod _ = progressBarSetText
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ProgressBar.hs-boot b/GI/Gtk/Objects/ProgressBar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ProgressBar.hs-boot
@@ -0,0 +1,86 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ProgressBar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ProgressBar = ProgressBar (ManagedPtr ProgressBar)
+instance GObject ProgressBar where
+class (GObject o, O.IsDescendantOf ProgressBar o) => IsProgressBar o
+instance (GObject o, O.IsDescendantOf ProgressBar o) => IsProgressBar o
+instance O.HasParentTypes ProgressBar
+#if ENABLE_OVERLOADING
+data ProgressBarEllipsizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarFractionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarInvertedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarPulseStepPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarShowTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarGetEllipsizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarGetFractionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarGetInvertedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarGetPulseStepMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarGetShowTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarGetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarPulseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarSetEllipsizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarSetFractionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarSetInvertedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarSetPulseStepMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarSetShowTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ProgressBarSetTextMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ProgressBarAccessible.hs b/GI/Gtk/Objects/ProgressBarAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ProgressBarAccessible.hs
@@ -0,0 +1,175 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ProgressBarAccessible
+    ( 
+
+-- * Exported types
+    ProgressBarAccessible(..)               ,
+    IsProgressBarAccessible                 ,
+    toProgressBarAccessible                 ,
+    noProgressBarAccessible                 ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Value as Atk.Value
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ProgressBarAccessible = ProgressBarAccessible (ManagedPtr ProgressBarAccessible)
+foreign import ccall "gtk_progress_bar_accessible_get_type"
+    c_gtk_progress_bar_accessible_get_type :: IO GType
+
+instance GObject ProgressBarAccessible where
+    gobjectType = c_gtk_progress_bar_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ProgressBarAccessible`, for instance with `toProgressBarAccessible`.
+class (GObject o, O.IsDescendantOf ProgressBarAccessible o) => IsProgressBarAccessible o
+instance (GObject o, O.IsDescendantOf ProgressBarAccessible o) => IsProgressBarAccessible o
+
+instance O.HasParentTypes ProgressBarAccessible
+type instance O.ParentTypes ProgressBarAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Value.Value]
+
+-- | Cast to `ProgressBarAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toProgressBarAccessible :: (MonadIO m, IsProgressBarAccessible o) => o -> m ProgressBarAccessible
+toProgressBarAccessible = liftIO . unsafeCastTo ProgressBarAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ProgressBarAccessible`.
+noProgressBarAccessible :: Maybe ProgressBarAccessible
+noProgressBarAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveProgressBarAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveProgressBarAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveProgressBarAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveProgressBarAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveProgressBarAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveProgressBarAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveProgressBarAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveProgressBarAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveProgressBarAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveProgressBarAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveProgressBarAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveProgressBarAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveProgressBarAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveProgressBarAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveProgressBarAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveProgressBarAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveProgressBarAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveProgressBarAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveProgressBarAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveProgressBarAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveProgressBarAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveProgressBarAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveProgressBarAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveProgressBarAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveProgressBarAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveProgressBarAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveProgressBarAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveProgressBarAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveProgressBarAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveProgressBarAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveProgressBarAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveProgressBarAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveProgressBarAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveProgressBarAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveProgressBarAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveProgressBarAccessibleMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo
+    ResolveProgressBarAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveProgressBarAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveProgressBarAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveProgressBarAccessibleMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo
+    ResolveProgressBarAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveProgressBarAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveProgressBarAccessibleMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo
+    ResolveProgressBarAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveProgressBarAccessibleMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo
+    ResolveProgressBarAccessibleMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo
+    ResolveProgressBarAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveProgressBarAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveProgressBarAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveProgressBarAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveProgressBarAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveProgressBarAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveProgressBarAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveProgressBarAccessibleMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo
+    ResolveProgressBarAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveProgressBarAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveProgressBarAccessibleMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo
+    ResolveProgressBarAccessibleMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo
+    ResolveProgressBarAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveProgressBarAccessibleMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo
+    ResolveProgressBarAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveProgressBarAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveProgressBarAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveProgressBarAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveProgressBarAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveProgressBarAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveProgressBarAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveProgressBarAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveProgressBarAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveProgressBarAccessibleMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo
+    ResolveProgressBarAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveProgressBarAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveProgressBarAccessibleMethod t ProgressBarAccessible, O.MethodInfo info ProgressBarAccessible p) => OL.IsLabel t (ProgressBarAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ProgressBarAccessible
+type instance O.AttributeList ProgressBarAccessible = ProgressBarAccessibleAttributeList
+type ProgressBarAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ProgressBarAccessible = ProgressBarAccessibleSignalList
+type ProgressBarAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ProgressBarAccessible.hs-boot b/GI/Gtk/Objects/ProgressBarAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ProgressBarAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ProgressBarAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ProgressBarAccessible = ProgressBarAccessible (ManagedPtr ProgressBarAccessible)
+instance GObject ProgressBarAccessible where
+class (GObject o, O.IsDescendantOf ProgressBarAccessible o) => IsProgressBarAccessible o
+instance (GObject o, O.IsDescendantOf ProgressBarAccessible o) => IsProgressBarAccessible o
+instance O.HasParentTypes ProgressBarAccessible
diff --git a/GI/Gtk/Objects/RadioAction.hs b/GI/Gtk/Objects/RadioAction.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioAction.hs
@@ -0,0 +1,856 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.RadioAction.RadioAction' is similar to 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem'. A number of radio
+actions can be linked together so that only one may be active at any
+one time.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RadioAction
+    ( 
+
+-- * Exported types
+    RadioAction(..)                         ,
+    IsRadioAction                           ,
+    toRadioAction                           ,
+    noRadioAction                           ,
+
+
+ -- * Methods
+-- ** getCurrentValue #method:getCurrentValue#
+
+#if ENABLE_OVERLOADING
+    RadioActionGetCurrentValueMethodInfo    ,
+#endif
+    radioActionGetCurrentValue              ,
+
+
+-- ** getGroup #method:getGroup#
+
+#if ENABLE_OVERLOADING
+    RadioActionGetGroupMethodInfo           ,
+#endif
+    radioActionGetGroup                     ,
+
+
+-- ** joinGroup #method:joinGroup#
+
+#if ENABLE_OVERLOADING
+    RadioActionJoinGroupMethodInfo          ,
+#endif
+    radioActionJoinGroup                    ,
+
+
+-- ** new #method:new#
+
+    radioActionNew                          ,
+
+
+-- ** setCurrentValue #method:setCurrentValue#
+
+#if ENABLE_OVERLOADING
+    RadioActionSetCurrentValueMethodInfo    ,
+#endif
+    radioActionSetCurrentValue              ,
+
+
+-- ** setGroup #method:setGroup#
+
+#if ENABLE_OVERLOADING
+    RadioActionSetGroupMethodInfo           ,
+#endif
+    radioActionSetGroup                     ,
+
+
+
+
+ -- * Properties
+-- ** currentValue #attr:currentValue#
+{- | The value property of the currently active member of the group to which
+this action belongs.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RadioActionCurrentValuePropertyInfo     ,
+#endif
+    constructRadioActionCurrentValue        ,
+    getRadioActionCurrentValue              ,
+#if ENABLE_OVERLOADING
+    radioActionCurrentValue                 ,
+#endif
+    setRadioActionCurrentValue              ,
+
+
+-- ** group #attr:group#
+{- | Sets a new group for a radio action.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    RadioActionGroupPropertyInfo            ,
+#endif
+    clearRadioActionGroup                   ,
+    constructRadioActionGroup               ,
+#if ENABLE_OVERLOADING
+    radioActionGroup                        ,
+#endif
+    setRadioActionGroup                     ,
+
+
+-- ** value #attr:value#
+{- | The value is an arbitrary integer which can be used as a
+convenient way to determine which action in the group is
+currently active in an ::activate or ::changed signal handler.
+See 'GI.Gtk.Objects.RadioAction.radioActionGetCurrentValue' and 'GI.Gtk.Structs.RadioActionEntry.RadioActionEntry'
+for convenient ways to get and set this property.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    RadioActionValuePropertyInfo            ,
+#endif
+    constructRadioActionValue               ,
+    getRadioActionValue                     ,
+#if ENABLE_OVERLOADING
+    radioActionValue                        ,
+#endif
+    setRadioActionValue                     ,
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    C_RadioActionChangedCallback            ,
+    RadioActionChangedCallback              ,
+#if ENABLE_OVERLOADING
+    RadioActionChangedSignalInfo            ,
+#endif
+    afterRadioActionChanged                 ,
+    genClosure_RadioActionChanged           ,
+    mk_RadioActionChangedCallback           ,
+    noRadioActionChangedCallback            ,
+    onRadioActionChanged                    ,
+    wrap_RadioActionChangedCallback         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Action as Gtk.Action
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToggleAction as Gtk.ToggleAction
+
+-- | Memory-managed wrapper type.
+newtype RadioAction = RadioAction (ManagedPtr RadioAction)
+foreign import ccall "gtk_radio_action_get_type"
+    c_gtk_radio_action_get_type :: IO GType
+
+instance GObject RadioAction where
+    gobjectType = c_gtk_radio_action_get_type
+    
+
+-- | Type class for types which can be safely cast to `RadioAction`, for instance with `toRadioAction`.
+class (GObject o, O.IsDescendantOf RadioAction o) => IsRadioAction o
+instance (GObject o, O.IsDescendantOf RadioAction o) => IsRadioAction o
+
+instance O.HasParentTypes RadioAction
+type instance O.ParentTypes RadioAction = '[Gtk.ToggleAction.ToggleAction, Gtk.Action.Action, GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `RadioAction`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRadioAction :: (MonadIO m, IsRadioAction o) => o -> m RadioAction
+toRadioAction = liftIO . unsafeCastTo RadioAction
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RadioAction`.
+noRadioAction :: Maybe RadioAction
+noRadioAction = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRadioActionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRadioActionMethod "activate" o = Gtk.Action.ActionActivateMethodInfo
+    ResolveRadioActionMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRadioActionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRadioActionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRadioActionMethod "blockActivate" o = Gtk.Action.ActionBlockActivateMethodInfo
+    ResolveRadioActionMethod "connectAccelerator" o = Gtk.Action.ActionConnectAcceleratorMethodInfo
+    ResolveRadioActionMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRadioActionMethod "createIcon" o = Gtk.Action.ActionCreateIconMethodInfo
+    ResolveRadioActionMethod "createMenu" o = Gtk.Action.ActionCreateMenuMethodInfo
+    ResolveRadioActionMethod "createMenuItem" o = Gtk.Action.ActionCreateMenuItemMethodInfo
+    ResolveRadioActionMethod "createToolItem" o = Gtk.Action.ActionCreateToolItemMethodInfo
+    ResolveRadioActionMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRadioActionMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRadioActionMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRadioActionMethod "disconnectAccelerator" o = Gtk.Action.ActionDisconnectAcceleratorMethodInfo
+    ResolveRadioActionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRadioActionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRadioActionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRadioActionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRadioActionMethod "isSensitive" o = Gtk.Action.ActionIsSensitiveMethodInfo
+    ResolveRadioActionMethod "isVisible" o = Gtk.Action.ActionIsVisibleMethodInfo
+    ResolveRadioActionMethod "joinGroup" o = RadioActionJoinGroupMethodInfo
+    ResolveRadioActionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRadioActionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRadioActionMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRadioActionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRadioActionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRadioActionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRadioActionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRadioActionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRadioActionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRadioActionMethod "toggled" o = Gtk.ToggleAction.ToggleActionToggledMethodInfo
+    ResolveRadioActionMethod "unblockActivate" o = Gtk.Action.ActionUnblockActivateMethodInfo
+    ResolveRadioActionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRadioActionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRadioActionMethod "getAccelClosure" o = Gtk.Action.ActionGetAccelClosureMethodInfo
+    ResolveRadioActionMethod "getAccelPath" o = Gtk.Action.ActionGetAccelPathMethodInfo
+    ResolveRadioActionMethod "getActive" o = Gtk.ToggleAction.ToggleActionGetActiveMethodInfo
+    ResolveRadioActionMethod "getAlwaysShowImage" o = Gtk.Action.ActionGetAlwaysShowImageMethodInfo
+    ResolveRadioActionMethod "getCurrentValue" o = RadioActionGetCurrentValueMethodInfo
+    ResolveRadioActionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRadioActionMethod "getDrawAsRadio" o = Gtk.ToggleAction.ToggleActionGetDrawAsRadioMethodInfo
+    ResolveRadioActionMethod "getGicon" o = Gtk.Action.ActionGetGiconMethodInfo
+    ResolveRadioActionMethod "getGroup" o = RadioActionGetGroupMethodInfo
+    ResolveRadioActionMethod "getIconName" o = Gtk.Action.ActionGetIconNameMethodInfo
+    ResolveRadioActionMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRadioActionMethod "getIsImportant" o = Gtk.Action.ActionGetIsImportantMethodInfo
+    ResolveRadioActionMethod "getLabel" o = Gtk.Action.ActionGetLabelMethodInfo
+    ResolveRadioActionMethod "getName" o = Gtk.Action.ActionGetNameMethodInfo
+    ResolveRadioActionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRadioActionMethod "getProxies" o = Gtk.Action.ActionGetProxiesMethodInfo
+    ResolveRadioActionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRadioActionMethod "getSensitive" o = Gtk.Action.ActionGetSensitiveMethodInfo
+    ResolveRadioActionMethod "getShortLabel" o = Gtk.Action.ActionGetShortLabelMethodInfo
+    ResolveRadioActionMethod "getStockId" o = Gtk.Action.ActionGetStockIdMethodInfo
+    ResolveRadioActionMethod "getTooltip" o = Gtk.Action.ActionGetTooltipMethodInfo
+    ResolveRadioActionMethod "getVisible" o = Gtk.Action.ActionGetVisibleMethodInfo
+    ResolveRadioActionMethod "getVisibleHorizontal" o = Gtk.Action.ActionGetVisibleHorizontalMethodInfo
+    ResolveRadioActionMethod "getVisibleVertical" o = Gtk.Action.ActionGetVisibleVerticalMethodInfo
+    ResolveRadioActionMethod "setAccelGroup" o = Gtk.Action.ActionSetAccelGroupMethodInfo
+    ResolveRadioActionMethod "setAccelPath" o = Gtk.Action.ActionSetAccelPathMethodInfo
+    ResolveRadioActionMethod "setActive" o = Gtk.ToggleAction.ToggleActionSetActiveMethodInfo
+    ResolveRadioActionMethod "setAlwaysShowImage" o = Gtk.Action.ActionSetAlwaysShowImageMethodInfo
+    ResolveRadioActionMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRadioActionMethod "setCurrentValue" o = RadioActionSetCurrentValueMethodInfo
+    ResolveRadioActionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRadioActionMethod "setDrawAsRadio" o = Gtk.ToggleAction.ToggleActionSetDrawAsRadioMethodInfo
+    ResolveRadioActionMethod "setGicon" o = Gtk.Action.ActionSetGiconMethodInfo
+    ResolveRadioActionMethod "setGroup" o = RadioActionSetGroupMethodInfo
+    ResolveRadioActionMethod "setIconName" o = Gtk.Action.ActionSetIconNameMethodInfo
+    ResolveRadioActionMethod "setIsImportant" o = Gtk.Action.ActionSetIsImportantMethodInfo
+    ResolveRadioActionMethod "setLabel" o = Gtk.Action.ActionSetLabelMethodInfo
+    ResolveRadioActionMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveRadioActionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRadioActionMethod "setSensitive" o = Gtk.Action.ActionSetSensitiveMethodInfo
+    ResolveRadioActionMethod "setShortLabel" o = Gtk.Action.ActionSetShortLabelMethodInfo
+    ResolveRadioActionMethod "setStockId" o = Gtk.Action.ActionSetStockIdMethodInfo
+    ResolveRadioActionMethod "setTooltip" o = Gtk.Action.ActionSetTooltipMethodInfo
+    ResolveRadioActionMethod "setVisible" o = Gtk.Action.ActionSetVisibleMethodInfo
+    ResolveRadioActionMethod "setVisibleHorizontal" o = Gtk.Action.ActionSetVisibleHorizontalMethodInfo
+    ResolveRadioActionMethod "setVisibleVertical" o = Gtk.Action.ActionSetVisibleVerticalMethodInfo
+    ResolveRadioActionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRadioActionMethod t RadioAction, O.MethodInfo info RadioAction p) => OL.IsLabel t (RadioAction -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal RadioAction::changed
+{-# DEPRECATED RadioActionChangedCallback ["(Since version 3.10)"] #-}
+{- |
+The ::changed signal is emitted on every member of a radio group when the
+active member is changed. The signal gets emitted after the ::activate signals
+for the previous and current active members.
+
+/Since: 2.4/
+-}
+type RadioActionChangedCallback =
+    RadioAction
+    {- ^ /@current@/: the member of /@action@/\'s group which has just been activated -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RadioActionChangedCallback`@.
+noRadioActionChangedCallback :: Maybe RadioActionChangedCallback
+noRadioActionChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RadioActionChangedCallback =
+    Ptr () ->                               -- object
+    Ptr RadioAction ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_RadioActionChangedCallback`.
+foreign import ccall "wrapper"
+    mk_RadioActionChangedCallback :: C_RadioActionChangedCallback -> IO (FunPtr C_RadioActionChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RadioActionChanged :: MonadIO m => RadioActionChangedCallback -> m (GClosure C_RadioActionChangedCallback)
+genClosure_RadioActionChanged cb = liftIO $ do
+    let cb' = wrap_RadioActionChangedCallback cb
+    mk_RadioActionChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RadioActionChangedCallback` into a `C_RadioActionChangedCallback`.
+wrap_RadioActionChangedCallback ::
+    RadioActionChangedCallback ->
+    C_RadioActionChangedCallback
+wrap_RadioActionChangedCallback _cb _ current _ = do
+    current' <- (newObject RadioAction) current
+    _cb  current'
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' radioAction #changed callback
+@
+-}
+onRadioActionChanged :: (IsRadioAction a, MonadIO m) => a -> RadioActionChangedCallback -> m SignalHandlerId
+onRadioActionChanged obj cb = liftIO $ do
+    let cb' = wrap_RadioActionChangedCallback cb
+    cb'' <- mk_RadioActionChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' radioAction #changed callback
+@
+-}
+afterRadioActionChanged :: (IsRadioAction a, MonadIO m) => a -> RadioActionChangedCallback -> m SignalHandlerId
+afterRadioActionChanged obj cb = liftIO $ do
+    let cb' = wrap_RadioActionChangedCallback cb
+    cb'' <- mk_RadioActionChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "current-value"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@current-value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' radioAction #currentValue
+@
+-}
+getRadioActionCurrentValue :: (MonadIO m, IsRadioAction o) => o -> m Int32
+getRadioActionCurrentValue obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "current-value"
+
+{- |
+Set the value of the “@current-value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioAction [ #currentValue 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioActionCurrentValue :: (MonadIO m, IsRadioAction o) => o -> Int32 -> m ()
+setRadioActionCurrentValue obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "current-value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@current-value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRadioActionCurrentValue :: (IsRadioAction o) => Int32 -> IO (GValueConstruct o)
+constructRadioActionCurrentValue val = B.Properties.constructObjectPropertyInt32 "current-value" val
+
+#if ENABLE_OVERLOADING
+data RadioActionCurrentValuePropertyInfo
+instance AttrInfo RadioActionCurrentValuePropertyInfo where
+    type AttrAllowedOps RadioActionCurrentValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RadioActionCurrentValuePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint RadioActionCurrentValuePropertyInfo = IsRadioAction
+    type AttrGetType RadioActionCurrentValuePropertyInfo = Int32
+    type AttrLabel RadioActionCurrentValuePropertyInfo = "current-value"
+    type AttrOrigin RadioActionCurrentValuePropertyInfo = RadioAction
+    attrGet _ = getRadioActionCurrentValue
+    attrSet _ = setRadioActionCurrentValue
+    attrConstruct _ = constructRadioActionCurrentValue
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "RadioAction"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioAction [ #group 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioActionGroup :: (MonadIO m, IsRadioAction o, IsRadioAction a) => o -> a -> m ()
+setRadioActionGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRadioActionGroup :: (IsRadioAction o, IsRadioAction a) => a -> IO (GValueConstruct o)
+constructRadioActionGroup val = B.Properties.constructObjectPropertyObject "group" (Just val)
+
+{- |
+Set the value of the “@group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #group
+@
+-}
+clearRadioActionGroup :: (MonadIO m, IsRadioAction o) => o -> m ()
+clearRadioActionGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "group" (Nothing :: Maybe RadioAction)
+
+#if ENABLE_OVERLOADING
+data RadioActionGroupPropertyInfo
+instance AttrInfo RadioActionGroupPropertyInfo where
+    type AttrAllowedOps RadioActionGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint RadioActionGroupPropertyInfo = IsRadioAction
+    type AttrBaseTypeConstraint RadioActionGroupPropertyInfo = IsRadioAction
+    type AttrGetType RadioActionGroupPropertyInfo = ()
+    type AttrLabel RadioActionGroupPropertyInfo = "group"
+    type AttrOrigin RadioActionGroupPropertyInfo = RadioAction
+    attrGet _ = undefined
+    attrSet _ = setRadioActionGroup
+    attrConstruct _ = constructRadioActionGroup
+    attrClear _ = clearRadioActionGroup
+#endif
+
+-- VVV Prop "value"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' radioAction #value
+@
+-}
+getRadioActionValue :: (MonadIO m, IsRadioAction o) => o -> m Int32
+getRadioActionValue obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "value"
+
+{- |
+Set the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioAction [ #value 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioActionValue :: (MonadIO m, IsRadioAction o) => o -> Int32 -> m ()
+setRadioActionValue obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRadioActionValue :: (IsRadioAction o) => Int32 -> IO (GValueConstruct o)
+constructRadioActionValue val = B.Properties.constructObjectPropertyInt32 "value" val
+
+#if ENABLE_OVERLOADING
+data RadioActionValuePropertyInfo
+instance AttrInfo RadioActionValuePropertyInfo where
+    type AttrAllowedOps RadioActionValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RadioActionValuePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint RadioActionValuePropertyInfo = IsRadioAction
+    type AttrGetType RadioActionValuePropertyInfo = Int32
+    type AttrLabel RadioActionValuePropertyInfo = "value"
+    type AttrOrigin RadioActionValuePropertyInfo = RadioAction
+    attrGet _ = getRadioActionValue
+    attrSet _ = setRadioActionValue
+    attrConstruct _ = constructRadioActionValue
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RadioAction
+type instance O.AttributeList RadioAction = RadioActionAttributeList
+type RadioActionAttributeList = ('[ '("actionGroup", Gtk.Action.ActionActionGroupPropertyInfo), '("active", Gtk.ToggleAction.ToggleActionActivePropertyInfo), '("alwaysShowImage", Gtk.Action.ActionAlwaysShowImagePropertyInfo), '("currentValue", RadioActionCurrentValuePropertyInfo), '("drawAsRadio", Gtk.ToggleAction.ToggleActionDrawAsRadioPropertyInfo), '("gicon", Gtk.Action.ActionGiconPropertyInfo), '("group", RadioActionGroupPropertyInfo), '("hideIfEmpty", Gtk.Action.ActionHideIfEmptyPropertyInfo), '("iconName", Gtk.Action.ActionIconNamePropertyInfo), '("isImportant", Gtk.Action.ActionIsImportantPropertyInfo), '("label", Gtk.Action.ActionLabelPropertyInfo), '("name", Gtk.Action.ActionNamePropertyInfo), '("sensitive", Gtk.Action.ActionSensitivePropertyInfo), '("shortLabel", Gtk.Action.ActionShortLabelPropertyInfo), '("stockId", Gtk.Action.ActionStockIdPropertyInfo), '("tooltip", Gtk.Action.ActionTooltipPropertyInfo), '("value", RadioActionValuePropertyInfo), '("visible", Gtk.Action.ActionVisiblePropertyInfo), '("visibleHorizontal", Gtk.Action.ActionVisibleHorizontalPropertyInfo), '("visibleOverflown", Gtk.Action.ActionVisibleOverflownPropertyInfo), '("visibleVertical", Gtk.Action.ActionVisibleVerticalPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+radioActionCurrentValue :: AttrLabelProxy "currentValue"
+radioActionCurrentValue = AttrLabelProxy
+
+radioActionGroup :: AttrLabelProxy "group"
+radioActionGroup = AttrLabelProxy
+
+radioActionValue :: AttrLabelProxy "value"
+radioActionValue = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data RadioActionChangedSignalInfo
+instance SignalInfo RadioActionChangedSignalInfo where
+    type HaskellCallbackType RadioActionChangedSignalInfo = RadioActionChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RadioActionChangedCallback cb
+        cb'' <- mk_RadioActionChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+type instance O.SignalList RadioAction = RadioActionSignalList
+type RadioActionSignalList = ('[ '("activate", Gtk.Action.ActionActivateSignalInfo), '("changed", RadioActionChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("toggled", Gtk.ToggleAction.ToggleActionToggledSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RadioAction::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A unique name for the action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The label displayed in menu items and on buttons,\n  or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A tooltip for this action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The stock icon to display in widgets representing\n  this action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value which gtk_radio_action_get_current_value() should\n  return if this action is selected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioAction"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_action_new" gtk_radio_action_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- label : TBasicType TUTF8
+    CString ->                              -- tooltip : TBasicType TUTF8
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Int32 ->                                -- value : TBasicType TInt
+    IO (Ptr RadioAction)
+
+{-# DEPRECATED radioActionNew ["(Since version 3.10)"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.RadioAction.RadioAction' object. To add the action to
+a 'GI.Gtk.Objects.ActionGroup.ActionGroup' and set the accelerator for the action,
+call 'GI.Gtk.Objects.ActionGroup.actionGroupAddActionWithAccel'.
+
+/Since: 2.4/
+-}
+radioActionNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: A unique name for the action -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: The label displayed in menu items and on buttons,
+  or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@tooltip@/: A tooltip for this action, or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@stockId@/: The stock icon to display in widgets representing
+  this action, or 'Nothing' -}
+    -> Int32
+    {- ^ /@value@/: The value which 'GI.Gtk.Objects.RadioAction.radioActionGetCurrentValue' should
+  return if this action is selected. -}
+    -> m RadioAction
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RadioAction.RadioAction' -}
+radioActionNew name label tooltip stockId value = liftIO $ do
+    name' <- textToCString name
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    maybeTooltip <- case tooltip of
+        Nothing -> return nullPtr
+        Just jTooltip -> do
+            jTooltip' <- textToCString jTooltip
+            return jTooltip'
+    maybeStockId <- case stockId of
+        Nothing -> return nullPtr
+        Just jStockId -> do
+            jStockId' <- textToCString jStockId
+            return jStockId'
+    result <- gtk_radio_action_new name' maybeLabel maybeTooltip maybeStockId value
+    checkUnexpectedReturnNULL "radioActionNew" result
+    result' <- (wrapObject RadioAction) result
+    freeMem name'
+    freeMem maybeLabel
+    freeMem maybeTooltip
+    freeMem maybeStockId
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioAction::get_current_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "RadioAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRadioAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_action_get_current_value" gtk_radio_action_get_current_value :: 
+    Ptr RadioAction ->                      -- action : TInterface (Name {namespace = "Gtk", name = "RadioAction"})
+    IO Int32
+
+{-# DEPRECATED radioActionGetCurrentValue ["(Since version 3.10)"] #-}
+{- |
+Obtains the value property of the currently active member of
+the group to which /@action@/ belongs.
+
+/Since: 2.4/
+-}
+radioActionGetCurrentValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.RadioAction.RadioAction' -}
+    -> m Int32
+    {- ^ __Returns:__ The value of the currently active group member -}
+radioActionGetCurrentValue action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_radio_action_get_current_value action'
+    touchManagedPtr action
+    return result
+
+#if ENABLE_OVERLOADING
+data RadioActionGetCurrentValueMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsRadioAction a) => O.MethodInfo RadioActionGetCurrentValueMethodInfo a signature where
+    overloadedMethod _ = radioActionGetCurrentValue
+
+#endif
+
+-- method RadioAction::get_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "RadioAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "RadioAction"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_action_get_group" gtk_radio_action_get_group :: 
+    Ptr RadioAction ->                      -- action : TInterface (Name {namespace = "Gtk", name = "RadioAction"})
+    IO (Ptr (GSList (Ptr RadioAction)))
+
+{-# DEPRECATED radioActionGetGroup ["(Since version 3.10)"] #-}
+{- |
+Returns the list representing the radio group for this object.
+Note that the returned list is only valid until the next change
+to the group.
+
+A common way to set up a group of radio group is the following:
+
+=== /C code/
+>
+>  GSList *group = NULL;
+>  GtkRadioAction *action;
+> 
+>  while ( ...more actions to add... /)
+>    {
+>       action = gtk_radio_action_new (...);
+>       
+>       gtk_radio_action_set_group (action, group);
+>       group = gtk_radio_action_get_group (action);
+>    }
+
+
+/Since: 2.4/
+-}
+radioActionGetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m [RadioAction]
+    {- ^ __Returns:__ the list representing the radio group for this object -}
+radioActionGetGroup action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_radio_action_get_group action'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject RadioAction) result'
+    touchManagedPtr action
+    return result''
+
+#if ENABLE_OVERLOADING
+data RadioActionGetGroupMethodInfo
+instance (signature ~ (m [RadioAction]), MonadIO m, IsRadioAction a) => O.MethodInfo RadioActionGetGroupMethodInfo a signature where
+    overloadedMethod _ = radioActionGetGroup
+
+#endif
+
+-- method RadioAction::join_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "RadioAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_source", argType = TInterface (Name {namespace = "Gtk", name = "RadioAction"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a radio action object whos group we are\n  joining, or %NULL to remove the radio action from its group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_action_join_group" gtk_radio_action_join_group :: 
+    Ptr RadioAction ->                      -- action : TInterface (Name {namespace = "Gtk", name = "RadioAction"})
+    Ptr RadioAction ->                      -- group_source : TInterface (Name {namespace = "Gtk", name = "RadioAction"})
+    IO ()
+
+{-# DEPRECATED radioActionJoinGroup ["(Since version 3.10)"] #-}
+{- |
+Joins a radio action object to the group of another radio action object.
+
+Use this in language bindings instead of the 'GI.Gtk.Objects.RadioAction.radioActionGetGroup'
+and 'GI.Gtk.Objects.RadioAction.radioActionSetGroup' methods
+
+A common way to set up a group of radio actions is the following:
+
+=== /C code/
+>
+>  GtkRadioAction *action;
+>  GtkRadioAction *last_action;
+> 
+>  while ( ...more actions to add... /)
+>    {
+>       action = gtk_radio_action_new (...);
+>       
+>       gtk_radio_action_join_group (action, last_action);
+>       last_action = action;
+>    }
+
+
+/Since: 3.0/
+-}
+radioActionJoinGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioAction a, IsRadioAction b) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> Maybe (b)
+    {- ^ /@groupSource@/: a radio action object whos group we are
+  joining, or 'Nothing' to remove the radio action from its group -}
+    -> m ()
+radioActionJoinGroup action groupSource = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    maybeGroupSource <- case groupSource of
+        Nothing -> return nullPtr
+        Just jGroupSource -> do
+            jGroupSource' <- unsafeManagedPtrCastPtr jGroupSource
+            return jGroupSource'
+    gtk_radio_action_join_group action' maybeGroupSource
+    touchManagedPtr action
+    whenJust groupSource touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data RadioActionJoinGroupMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRadioAction a, IsRadioAction b) => O.MethodInfo RadioActionJoinGroupMethodInfo a signature where
+    overloadedMethod _ = radioActionJoinGroup
+
+#endif
+
+-- method RadioAction::set_current_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "RadioAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRadioAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "current_value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_action_set_current_value" gtk_radio_action_set_current_value :: 
+    Ptr RadioAction ->                      -- action : TInterface (Name {namespace = "Gtk", name = "RadioAction"})
+    Int32 ->                                -- current_value : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED radioActionSetCurrentValue ["(Since version 3.10)"] #-}
+{- |
+Sets the currently active group member to the member with value
+property /@currentValue@/.
+
+/Since: 2.10/
+-}
+radioActionSetCurrentValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.RadioAction.RadioAction' -}
+    -> Int32
+    {- ^ /@currentValue@/: the new value -}
+    -> m ()
+radioActionSetCurrentValue action currentValue = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_radio_action_set_current_value action' currentValue
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data RadioActionSetCurrentValueMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsRadioAction a) => O.MethodInfo RadioActionSetCurrentValueMethodInfo a signature where
+    overloadedMethod _ = radioActionSetCurrentValue
+
+#endif
+
+-- method RadioAction::set_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "RadioAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioAction"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a list representing a radio group, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_action_set_group" gtk_radio_action_set_group :: 
+    Ptr RadioAction ->                      -- action : TInterface (Name {namespace = "Gtk", name = "RadioAction"})
+    Ptr (GSList (Ptr RadioAction)) ->       -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioAction"}))
+    IO ()
+
+{-# DEPRECATED radioActionSetGroup ["(Since version 3.10)"] #-}
+{- |
+Sets the radio group for the radio action object.
+
+/Since: 2.4/
+-}
+radioActionSetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioAction a, IsRadioAction b) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> [b]
+    {- ^ /@group@/: a list representing a radio group, or 'Nothing' -}
+    -> m ()
+radioActionSetGroup action group = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    gtk_radio_action_set_group action' group''
+    touchManagedPtr action
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    return ()
+
+#if ENABLE_OVERLOADING
+data RadioActionSetGroupMethodInfo
+instance (signature ~ ([b] -> m ()), MonadIO m, IsRadioAction a, IsRadioAction b) => O.MethodInfo RadioActionSetGroupMethodInfo a signature where
+    overloadedMethod _ = radioActionSetGroup
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RadioAction.hs-boot b/GI/Gtk/Objects/RadioAction.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioAction.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RadioAction where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RadioAction = RadioAction (ManagedPtr RadioAction)
+instance GObject RadioAction where
+class (GObject o, O.IsDescendantOf RadioAction o) => IsRadioAction o
+instance (GObject o, O.IsDescendantOf RadioAction o) => IsRadioAction o
+instance O.HasParentTypes RadioAction
+#if ENABLE_OVERLOADING
+data RadioActionCurrentValuePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioActionGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioActionValuePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioActionChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioActionGetCurrentValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioActionGetGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioActionJoinGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioActionSetCurrentValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioActionSetGroupMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/RadioButton.hs b/GI/Gtk/Objects/RadioButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioButton.hs
@@ -0,0 +1,1174 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A single radio button performs the same basic function as a 'GI.Gtk.Objects.CheckButton.CheckButton',
+as its position in the object hierarchy reflects. It is only when multiple
+radio buttons are grouped together that they become a different user
+interface component in their own right.
+
+Every radio button is a member of some group of radio buttons. When one is
+selected, all other radio buttons in the same group are deselected. A
+'GI.Gtk.Objects.RadioButton.RadioButton' is one way of giving the user a choice from many options.
+
+Radio button widgets are created with 'GI.Gtk.Objects.RadioButton.radioButtonNew', passing 'Nothing'
+as the argument if this is the first radio button in a group. In subsequent
+calls, the group you wish to add this button to should be passed as an
+argument. Optionally, 'GI.Gtk.Objects.RadioButton.radioButtonNewWithLabel' can be used if you
+want a text label on the radio button.
+
+Alternatively, when adding widgets to an existing group of radio buttons,
+use 'GI.Gtk.Objects.RadioButton.radioButtonNewFromWidget' with a 'GI.Gtk.Objects.RadioButton.RadioButton' that already
+has a group assigned to it. The convenience function
+'GI.Gtk.Objects.RadioButton.radioButtonNewWithLabelFromWidget' is also provided.
+
+To retrieve the group a 'GI.Gtk.Objects.RadioButton.RadioButton' is assigned to, use
+'GI.Gtk.Objects.RadioButton.radioButtonGetGroup'.
+
+To remove a 'GI.Gtk.Objects.RadioButton.RadioButton' from one group and make it part of a new one,
+use 'GI.Gtk.Objects.RadioButton.radioButtonSetGroup'.
+
+The group list does not need to be freed, as each 'GI.Gtk.Objects.RadioButton.RadioButton' will remove
+itself and its list item when it is destroyed.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>radiobutton
+>├── radio
+>╰── <child>
+
+
+A GtkRadioButton with indicator (see 'GI.Gtk.Objects.ToggleButton.toggleButtonSetMode') has a
+main CSS node with name radiobutton and a subnode with name radio.
+
+
+=== /plain code/
+>
+>button.radio
+>├── radio
+>╰── <child>
+
+
+A GtkRadioButton without indicator changes the name of its main node
+to button and adds a .radio style class to it. The subnode is invisible
+in this case.
+
+== How to create a group of two radio buttons.
+
+
+=== /C code/
+>
+>void create_radio_buttons (void) {
+>
+>   GtkWidget *window, *radio1, *radio2, *box, *entry;
+>   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+>   box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
+>   gtk_box_set_homogeneous (GTK_BOX (box), TRUE);
+>
+>   // Create a radio button with a GtkEntry widget
+>   radio1 = gtk_radio_button_new (NULL);
+>   entry = gtk_entry_new ();
+>   gtk_container_add (GTK_CONTAINER (radio1), entry);
+>
+>
+>   // Create a radio button with a label
+>   radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1),
+>                                                         "I’m the second radio button.");
+>
+>   // Pack them into a box, then show all the widgets
+>   gtk_box_pack_start (GTK_BOX (box), radio1);
+>   gtk_box_pack_start (GTK_BOX (box), radio2);
+>   gtk_container_add (GTK_CONTAINER (window), box);
+>   gtk_widget_show_all (window);
+>   return;
+>}
+
+
+When an unselected button in the group is clicked the clicked button
+receives the 'GI.Gtk.Objects.ToggleButton.ToggleButton'::@/toggled/@ signal, as does the previously
+selected button.
+Inside the 'GI.Gtk.Objects.ToggleButton.ToggleButton'::@/toggled/@ handler, 'GI.Gtk.Objects.ToggleButton.toggleButtonGetActive'
+can be used to determine if the button has been selected or deselected.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RadioButton
+    ( 
+
+-- * Exported types
+    RadioButton(..)                         ,
+    IsRadioButton                           ,
+    toRadioButton                           ,
+    noRadioButton                           ,
+
+
+ -- * Methods
+-- ** getGroup #method:getGroup#
+
+#if ENABLE_OVERLOADING
+    RadioButtonGetGroupMethodInfo           ,
+#endif
+    radioButtonGetGroup                     ,
+
+
+-- ** joinGroup #method:joinGroup#
+
+#if ENABLE_OVERLOADING
+    RadioButtonJoinGroupMethodInfo          ,
+#endif
+    radioButtonJoinGroup                    ,
+
+
+-- ** new #method:new#
+
+    radioButtonNew                          ,
+
+
+-- ** newFromWidget #method:newFromWidget#
+
+    radioButtonNewFromWidget                ,
+
+
+-- ** newWithLabel #method:newWithLabel#
+
+    radioButtonNewWithLabel                 ,
+
+
+-- ** newWithLabelFromWidget #method:newWithLabelFromWidget#
+
+    radioButtonNewWithLabelFromWidget       ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    radioButtonNewWithMnemonic              ,
+
+
+-- ** newWithMnemonicFromWidget #method:newWithMnemonicFromWidget#
+
+    radioButtonNewWithMnemonicFromWidget    ,
+
+
+-- ** setGroup #method:setGroup#
+
+#if ENABLE_OVERLOADING
+    RadioButtonSetGroupMethodInfo           ,
+#endif
+    radioButtonSetGroup                     ,
+
+
+
+
+ -- * Properties
+-- ** group #attr:group#
+{- | Sets a new group for a radio button.
+-}
+#if ENABLE_OVERLOADING
+    RadioButtonGroupPropertyInfo            ,
+#endif
+    clearRadioButtonGroup                   ,
+    constructRadioButtonGroup               ,
+#if ENABLE_OVERLOADING
+    radioButtonGroup                        ,
+#endif
+    setRadioButtonGroup                     ,
+
+
+
+
+ -- * Signals
+-- ** groupChanged #signal:groupChanged#
+
+    C_RadioButtonGroupChangedCallback       ,
+    RadioButtonGroupChangedCallback         ,
+#if ENABLE_OVERLOADING
+    RadioButtonGroupChangedSignalInfo       ,
+#endif
+    afterRadioButtonGroupChanged            ,
+    genClosure_RadioButtonGroupChanged      ,
+    mk_RadioButtonGroupChangedCallback      ,
+    noRadioButtonGroupChangedCallback       ,
+    onRadioButtonGroupChanged               ,
+    wrap_RadioButtonGroupChangedCallback    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CheckButton as Gtk.CheckButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToggleButton as Gtk.ToggleButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype RadioButton = RadioButton (ManagedPtr RadioButton)
+foreign import ccall "gtk_radio_button_get_type"
+    c_gtk_radio_button_get_type :: IO GType
+
+instance GObject RadioButton where
+    gobjectType = c_gtk_radio_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `RadioButton`, for instance with `toRadioButton`.
+class (GObject o, O.IsDescendantOf RadioButton o) => IsRadioButton o
+instance (GObject o, O.IsDescendantOf RadioButton o) => IsRadioButton o
+
+instance O.HasParentTypes RadioButton
+type instance O.ParentTypes RadioButton = '[Gtk.CheckButton.CheckButton, Gtk.ToggleButton.ToggleButton, Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `RadioButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRadioButton :: (MonadIO m, IsRadioButton o) => o -> m RadioButton
+toRadioButton = liftIO . unsafeCastTo RadioButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RadioButton`.
+noRadioButton :: Maybe RadioButton
+noRadioButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRadioButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRadioButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveRadioButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveRadioButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveRadioButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRadioButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveRadioButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveRadioButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveRadioButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveRadioButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRadioButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRadioButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveRadioButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveRadioButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveRadioButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveRadioButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveRadioButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveRadioButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveRadioButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveRadioButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveRadioButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveRadioButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveRadioButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRadioButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveRadioButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveRadioButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRadioButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRadioButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRadioButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveRadioButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveRadioButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveRadioButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveRadioButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveRadioButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveRadioButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveRadioButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveRadioButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveRadioButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveRadioButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveRadioButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveRadioButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveRadioButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveRadioButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveRadioButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveRadioButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveRadioButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveRadioButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveRadioButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveRadioButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveRadioButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveRadioButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveRadioButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveRadioButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveRadioButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveRadioButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveRadioButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveRadioButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveRadioButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveRadioButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveRadioButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveRadioButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveRadioButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveRadioButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveRadioButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveRadioButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveRadioButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveRadioButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRadioButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveRadioButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveRadioButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRadioButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRadioButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveRadioButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveRadioButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveRadioButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveRadioButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveRadioButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveRadioButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveRadioButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveRadioButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveRadioButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveRadioButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveRadioButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveRadioButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveRadioButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveRadioButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveRadioButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveRadioButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveRadioButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveRadioButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveRadioButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveRadioButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRadioButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveRadioButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveRadioButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveRadioButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveRadioButtonMethod "joinGroup" o = RadioButtonJoinGroupMethodInfo
+    ResolveRadioButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveRadioButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveRadioButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveRadioButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveRadioButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveRadioButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveRadioButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveRadioButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveRadioButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveRadioButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveRadioButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveRadioButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveRadioButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveRadioButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveRadioButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRadioButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRadioButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveRadioButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveRadioButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveRadioButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveRadioButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveRadioButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRadioButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveRadioButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveRadioButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveRadioButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveRadioButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveRadioButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveRadioButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveRadioButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveRadioButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveRadioButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveRadioButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveRadioButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRadioButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRadioButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveRadioButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveRadioButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveRadioButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveRadioButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveRadioButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveRadioButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveRadioButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveRadioButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveRadioButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveRadioButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveRadioButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveRadioButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveRadioButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRadioButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveRadioButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveRadioButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveRadioButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveRadioButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveRadioButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveRadioButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveRadioButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveRadioButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveRadioButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRadioButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRadioButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveRadioButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveRadioButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveRadioButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveRadioButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRadioButtonMethod "toggled" o = Gtk.ToggleButton.ToggleButtonToggledMethodInfo
+    ResolveRadioButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveRadioButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveRadioButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveRadioButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveRadioButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveRadioButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRadioButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveRadioButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveRadioButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveRadioButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRadioButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveRadioButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveRadioButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveRadioButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveRadioButtonMethod "getActive" o = Gtk.ToggleButton.ToggleButtonGetActiveMethodInfo
+    ResolveRadioButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveRadioButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveRadioButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveRadioButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveRadioButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveRadioButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveRadioButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveRadioButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveRadioButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveRadioButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveRadioButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveRadioButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveRadioButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveRadioButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveRadioButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveRadioButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveRadioButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveRadioButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveRadioButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveRadioButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRadioButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveRadioButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveRadioButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveRadioButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveRadioButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveRadioButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveRadioButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveRadioButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveRadioButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveRadioButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveRadioButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveRadioButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveRadioButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveRadioButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveRadioButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveRadioButtonMethod "getGroup" o = RadioButtonGetGroupMethodInfo
+    ResolveRadioButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveRadioButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveRadioButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveRadioButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveRadioButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveRadioButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveRadioButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveRadioButtonMethod "getInconsistent" o = Gtk.ToggleButton.ToggleButtonGetInconsistentMethodInfo
+    ResolveRadioButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRadioButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveRadioButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveRadioButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveRadioButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveRadioButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveRadioButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveRadioButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveRadioButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveRadioButtonMethod "getMode" o = Gtk.ToggleButton.ToggleButtonGetModeMethodInfo
+    ResolveRadioButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveRadioButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveRadioButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveRadioButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveRadioButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveRadioButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveRadioButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveRadioButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveRadioButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveRadioButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveRadioButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveRadioButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveRadioButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveRadioButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveRadioButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveRadioButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveRadioButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveRadioButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRadioButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRadioButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveRadioButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveRadioButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveRadioButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveRadioButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveRadioButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveRadioButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveRadioButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveRadioButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveRadioButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveRadioButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveRadioButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveRadioButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveRadioButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveRadioButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveRadioButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveRadioButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveRadioButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveRadioButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveRadioButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveRadioButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveRadioButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveRadioButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveRadioButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveRadioButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveRadioButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveRadioButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveRadioButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveRadioButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveRadioButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveRadioButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveRadioButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveRadioButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveRadioButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveRadioButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveRadioButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveRadioButtonMethod "setActive" o = Gtk.ToggleButton.ToggleButtonSetActiveMethodInfo
+    ResolveRadioButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveRadioButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveRadioButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveRadioButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveRadioButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveRadioButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRadioButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveRadioButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveRadioButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveRadioButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveRadioButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveRadioButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRadioButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveRadioButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveRadioButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveRadioButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveRadioButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveRadioButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveRadioButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveRadioButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveRadioButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveRadioButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveRadioButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveRadioButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveRadioButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveRadioButtonMethod "setGroup" o = RadioButtonSetGroupMethodInfo
+    ResolveRadioButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveRadioButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveRadioButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveRadioButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveRadioButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveRadioButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveRadioButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveRadioButtonMethod "setInconsistent" o = Gtk.ToggleButton.ToggleButtonSetInconsistentMethodInfo
+    ResolveRadioButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveRadioButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveRadioButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveRadioButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveRadioButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveRadioButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveRadioButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveRadioButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveRadioButtonMethod "setMode" o = Gtk.ToggleButton.ToggleButtonSetModeMethodInfo
+    ResolveRadioButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveRadioButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveRadioButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveRadioButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveRadioButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveRadioButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRadioButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveRadioButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveRadioButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveRadioButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveRadioButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveRadioButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveRadioButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveRadioButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveRadioButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveRadioButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveRadioButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveRadioButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveRadioButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveRadioButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveRadioButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveRadioButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveRadioButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveRadioButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveRadioButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveRadioButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveRadioButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveRadioButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveRadioButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveRadioButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveRadioButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveRadioButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRadioButtonMethod t RadioButton, O.MethodInfo info RadioButton p) => OL.IsLabel t (RadioButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal RadioButton::group-changed
+{- |
+Emitted when the group of radio buttons that a radio button belongs
+to changes. This is emitted when a radio button switches from
+being alone to being part of a group of 2 or more buttons, or
+vice-versa, and when a button is moved from one group of 2 or
+more buttons to a different one, but not when the composition
+of the group that a button belongs to changes.
+
+/Since: 2.4/
+-}
+type RadioButtonGroupChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RadioButtonGroupChangedCallback`@.
+noRadioButtonGroupChangedCallback :: Maybe RadioButtonGroupChangedCallback
+noRadioButtonGroupChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RadioButtonGroupChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_RadioButtonGroupChangedCallback`.
+foreign import ccall "wrapper"
+    mk_RadioButtonGroupChangedCallback :: C_RadioButtonGroupChangedCallback -> IO (FunPtr C_RadioButtonGroupChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RadioButtonGroupChanged :: MonadIO m => RadioButtonGroupChangedCallback -> m (GClosure C_RadioButtonGroupChangedCallback)
+genClosure_RadioButtonGroupChanged cb = liftIO $ do
+    let cb' = wrap_RadioButtonGroupChangedCallback cb
+    mk_RadioButtonGroupChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RadioButtonGroupChangedCallback` into a `C_RadioButtonGroupChangedCallback`.
+wrap_RadioButtonGroupChangedCallback ::
+    RadioButtonGroupChangedCallback ->
+    C_RadioButtonGroupChangedCallback
+wrap_RadioButtonGroupChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@group-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' radioButton #groupChanged callback
+@
+-}
+onRadioButtonGroupChanged :: (IsRadioButton a, MonadIO m) => a -> RadioButtonGroupChangedCallback -> m SignalHandlerId
+onRadioButtonGroupChanged obj cb = liftIO $ do
+    let cb' = wrap_RadioButtonGroupChangedCallback cb
+    cb'' <- mk_RadioButtonGroupChangedCallback cb'
+    connectSignalFunPtr obj "group-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@group-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' radioButton #groupChanged callback
+@
+-}
+afterRadioButtonGroupChanged :: (IsRadioButton a, MonadIO m) => a -> RadioButtonGroupChangedCallback -> m SignalHandlerId
+afterRadioButtonGroupChanged obj cb = liftIO $ do
+    let cb' = wrap_RadioButtonGroupChangedCallback cb
+    cb'' <- mk_RadioButtonGroupChangedCallback cb'
+    connectSignalFunPtr obj "group-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "RadioButton"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioButton [ #group 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioButtonGroup :: (MonadIO m, IsRadioButton o, IsRadioButton a) => o -> a -> m ()
+setRadioButtonGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRadioButtonGroup :: (IsRadioButton o, IsRadioButton a) => a -> IO (GValueConstruct o)
+constructRadioButtonGroup val = B.Properties.constructObjectPropertyObject "group" (Just val)
+
+{- |
+Set the value of the “@group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #group
+@
+-}
+clearRadioButtonGroup :: (MonadIO m, IsRadioButton o) => o -> m ()
+clearRadioButtonGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "group" (Nothing :: Maybe RadioButton)
+
+#if ENABLE_OVERLOADING
+data RadioButtonGroupPropertyInfo
+instance AttrInfo RadioButtonGroupPropertyInfo where
+    type AttrAllowedOps RadioButtonGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint RadioButtonGroupPropertyInfo = IsRadioButton
+    type AttrBaseTypeConstraint RadioButtonGroupPropertyInfo = IsRadioButton
+    type AttrGetType RadioButtonGroupPropertyInfo = ()
+    type AttrLabel RadioButtonGroupPropertyInfo = "group"
+    type AttrOrigin RadioButtonGroupPropertyInfo = RadioButton
+    attrGet _ = undefined
+    attrSet _ = setRadioButtonGroup
+    attrConstruct _ = constructRadioButtonGroup
+    attrClear _ = clearRadioButtonGroup
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RadioButton
+type instance O.AttributeList RadioButton = RadioButtonAttributeList
+type RadioButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", Gtk.ToggleButton.ToggleButtonActivePropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawIndicator", Gtk.ToggleButton.ToggleButtonDrawIndicatorPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("group", RadioButtonGroupPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("inconsistent", Gtk.ToggleButton.ToggleButtonInconsistentPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+radioButtonGroup :: AttrLabelProxy "group"
+radioButtonGroup = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data RadioButtonGroupChangedSignalInfo
+instance SignalInfo RadioButtonGroupChangedSignalInfo where
+    type HaskellCallbackType RadioButtonGroupChangedSignalInfo = RadioButtonGroupChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RadioButtonGroupChangedCallback cb
+        cb'' <- mk_RadioButtonGroupChangedCallback cb'
+        connectSignalFunPtr obj "group-changed" cb'' connectMode
+
+type instance O.SignalList RadioButton = RadioButtonSignalList
+type RadioButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("groupChanged", RadioButtonGroupChangedSignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggled", Gtk.ToggleButton.ToggleButtonToggledSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RadioButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an existing\n        radio button group, or %NULL if you are creating a new group.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_button_new" gtk_radio_button_new :: 
+    Ptr (GSList (Ptr RadioButton)) ->       -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+    IO (Ptr RadioButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioButton.RadioButton'. To be of any practical value, a widget should
+then be packed into the radio button.
+-}
+radioButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioButton a) =>
+    [a]
+    {- ^ /@group@/: an existing
+        radio button group, or 'Nothing' if you are creating a new group. -}
+    -> m RadioButton
+    {- ^ __Returns:__ a new radio button -}
+radioButtonNew group = liftIO $ do
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    result <- gtk_radio_button_new group''
+    checkUnexpectedReturnNULL "radioButtonNew" result
+    result' <- (newObject RadioButton) result
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioButton::new_from_widget
+-- method type : Constructor
+-- Args : [Arg {argCName = "radio_group_member", argType = TInterface (Name {namespace = "Gtk", name = "RadioButton"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an existing #GtkRadioButton.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_button_new_from_widget" gtk_radio_button_new_from_widget :: 
+    Ptr RadioButton ->                      -- radio_group_member : TInterface (Name {namespace = "Gtk", name = "RadioButton"})
+    IO (Ptr RadioButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioButton.RadioButton', adding it to the same group as
+/@radioGroupMember@/. As with 'GI.Gtk.Objects.RadioButton.radioButtonNew', a widget
+should be packed into the radio button.
+-}
+radioButtonNewFromWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioButton a) =>
+    Maybe (a)
+    {- ^ /@radioGroupMember@/: an existing 'GI.Gtk.Objects.RadioButton.RadioButton'. -}
+    -> m RadioButton
+    {- ^ __Returns:__ a new radio button. -}
+radioButtonNewFromWidget radioGroupMember = liftIO $ do
+    maybeRadioGroupMember <- case radioGroupMember of
+        Nothing -> return nullPtr
+        Just jRadioGroupMember -> do
+            jRadioGroupMember' <- unsafeManagedPtrCastPtr jRadioGroupMember
+            return jRadioGroupMember'
+    result <- gtk_radio_button_new_from_widget maybeRadioGroupMember
+    checkUnexpectedReturnNULL "radioButtonNewFromWidget" result
+    result' <- (newObject RadioButton) result
+    whenJust radioGroupMember touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioButton::new_with_label
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an existing\n        radio button group, or %NULL if you are creating a new group.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text label to display next to the radio button.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_button_new_with_label" gtk_radio_button_new_with_label :: 
+    Ptr (GSList (Ptr RadioButton)) ->       -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr RadioButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioButton.RadioButton' with a text label.
+-}
+radioButtonNewWithLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioButton a) =>
+    [a]
+    {- ^ /@group@/: an existing
+        radio button group, or 'Nothing' if you are creating a new group. -}
+    -> T.Text
+    {- ^ /@label@/: the text label to display next to the radio button. -}
+    -> m RadioButton
+    {- ^ __Returns:__ a new radio button. -}
+radioButtonNewWithLabel group label = liftIO $ do
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    label' <- textToCString label
+    result <- gtk_radio_button_new_with_label group'' label'
+    checkUnexpectedReturnNULL "radioButtonNewWithLabel" result
+    result' <- (newObject RadioButton) result
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioButton::new_with_label_from_widget
+-- method type : Constructor
+-- Args : [Arg {argCName = "radio_group_member", argType = TInterface (Name {namespace = "Gtk", name = "RadioButton"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "widget to get radio group from or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a text string to display next to the radio button.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_button_new_with_label_from_widget" gtk_radio_button_new_with_label_from_widget :: 
+    Ptr RadioButton ->                      -- radio_group_member : TInterface (Name {namespace = "Gtk", name = "RadioButton"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr RadioButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioButton.RadioButton' with a text label, adding it to
+the same group as /@radioGroupMember@/.
+-}
+radioButtonNewWithLabelFromWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioButton a) =>
+    Maybe (a)
+    {- ^ /@radioGroupMember@/: widget to get radio group from or 'Nothing' -}
+    -> T.Text
+    {- ^ /@label@/: a text string to display next to the radio button. -}
+    -> m RadioButton
+    {- ^ __Returns:__ a new radio button. -}
+radioButtonNewWithLabelFromWidget radioGroupMember label = liftIO $ do
+    maybeRadioGroupMember <- case radioGroupMember of
+        Nothing -> return nullPtr
+        Just jRadioGroupMember -> do
+            jRadioGroupMember' <- unsafeManagedPtrCastPtr jRadioGroupMember
+            return jRadioGroupMember'
+    label' <- textToCString label
+    result <- gtk_radio_button_new_with_label_from_widget maybeRadioGroupMember label'
+    checkUnexpectedReturnNULL "radioButtonNewWithLabelFromWidget" result
+    result' <- (newObject RadioButton) result
+    whenJust radioGroupMember touchManagedPtr
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioButton::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the radio button\n        group, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text of the button, with an underscore in front of the\n        mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_button_new_with_mnemonic" gtk_radio_button_new_with_mnemonic :: 
+    Ptr (GSList (Ptr RadioButton)) ->       -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr RadioButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioButton.RadioButton' containing a label, adding it to the same
+group as /@group@/. The label will be created using
+'GI.Gtk.Objects.Label.labelNewWithMnemonic', so underscores in /@label@/ indicate the
+mnemonic for the button.
+-}
+radioButtonNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioButton a) =>
+    [a]
+    {- ^ /@group@/: the radio button
+        group, or 'Nothing' -}
+    -> T.Text
+    {- ^ /@label@/: the text of the button, with an underscore in front of the
+        mnemonic character -}
+    -> m RadioButton
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RadioButton.RadioButton' -}
+radioButtonNewWithMnemonic group label = liftIO $ do
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    label' <- textToCString label
+    result <- gtk_radio_button_new_with_mnemonic group'' label'
+    checkUnexpectedReturnNULL "radioButtonNewWithMnemonic" result
+    result' <- (newObject RadioButton) result
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioButton::new_with_mnemonic_from_widget
+-- method type : Constructor
+-- Args : [Arg {argCName = "radio_group_member", argType = TInterface (Name {namespace = "Gtk", name = "RadioButton"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "widget to get radio group from or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text of the button, with an underscore in front of the\n        mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_button_new_with_mnemonic_from_widget" gtk_radio_button_new_with_mnemonic_from_widget :: 
+    Ptr RadioButton ->                      -- radio_group_member : TInterface (Name {namespace = "Gtk", name = "RadioButton"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr RadioButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioButton.RadioButton' containing a label. The label
+will be created using 'GI.Gtk.Objects.Label.labelNewWithMnemonic', so underscores
+in /@label@/ indicate the mnemonic for the button.
+-}
+radioButtonNewWithMnemonicFromWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioButton a) =>
+    Maybe (a)
+    {- ^ /@radioGroupMember@/: widget to get radio group from or 'Nothing' -}
+    -> T.Text
+    {- ^ /@label@/: the text of the button, with an underscore in front of the
+        mnemonic character -}
+    -> m RadioButton
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RadioButton.RadioButton' -}
+radioButtonNewWithMnemonicFromWidget radioGroupMember label = liftIO $ do
+    maybeRadioGroupMember <- case radioGroupMember of
+        Nothing -> return nullPtr
+        Just jRadioGroupMember -> do
+            jRadioGroupMember' <- unsafeManagedPtrCastPtr jRadioGroupMember
+            return jRadioGroupMember'
+    label' <- textToCString label
+    result <- gtk_radio_button_new_with_mnemonic_from_widget maybeRadioGroupMember label'
+    checkUnexpectedReturnNULL "radioButtonNewWithMnemonicFromWidget" result
+    result' <- (newObject RadioButton) result
+    whenJust radioGroupMember touchManagedPtr
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioButton::get_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "radio_button", argType = TInterface (Name {namespace = "Gtk", name = "RadioButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRadioButton.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_button_get_group" gtk_radio_button_get_group :: 
+    Ptr RadioButton ->                      -- radio_button : TInterface (Name {namespace = "Gtk", name = "RadioButton"})
+    IO (Ptr (GSList (Ptr RadioButton)))
+
+{- |
+Retrieves the group assigned to a radio button.
+-}
+radioButtonGetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioButton a) =>
+    a
+    {- ^ /@radioButton@/: a 'GI.Gtk.Objects.RadioButton.RadioButton'. -}
+    -> m [RadioButton]
+    {- ^ __Returns:__ a linked list
+containing all the radio buttons in the same group
+as /@radioButton@/. The returned list is owned by the radio button
+and must not be modified or freed. -}
+radioButtonGetGroup radioButton = liftIO $ do
+    radioButton' <- unsafeManagedPtrCastPtr radioButton
+    result <- gtk_radio_button_get_group radioButton'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject RadioButton) result'
+    touchManagedPtr radioButton
+    return result''
+
+#if ENABLE_OVERLOADING
+data RadioButtonGetGroupMethodInfo
+instance (signature ~ (m [RadioButton]), MonadIO m, IsRadioButton a) => O.MethodInfo RadioButtonGetGroupMethodInfo a signature where
+    overloadedMethod _ = radioButtonGetGroup
+
+#endif
+
+-- method RadioButton::join_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "radio_button", argType = TInterface (Name {namespace = "Gtk", name = "RadioButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkRadioButton object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_source", argType = TInterface (Name {namespace = "Gtk", name = "RadioButton"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a radio button object whos group we are\n  joining, or %NULL to remove the radio button from its group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_button_join_group" gtk_radio_button_join_group :: 
+    Ptr RadioButton ->                      -- radio_button : TInterface (Name {namespace = "Gtk", name = "RadioButton"})
+    Ptr RadioButton ->                      -- group_source : TInterface (Name {namespace = "Gtk", name = "RadioButton"})
+    IO ()
+
+{- |
+Joins a 'GI.Gtk.Objects.RadioButton.RadioButton' object to the group of another 'GI.Gtk.Objects.RadioButton.RadioButton' object
+
+Use this in language bindings instead of the 'GI.Gtk.Objects.RadioButton.radioButtonGetGroup'
+and 'GI.Gtk.Objects.RadioButton.radioButtonSetGroup' methods
+
+A common way to set up a group of radio buttons is the following:
+
+=== /C code/
+>
+>  GtkRadioButton *radio_button;
+>  GtkRadioButton *last_button;
+>
+>  while (some_condition)
+>    {
+>       radio_button = gtk_radio_button_new (NULL);
+>
+>       gtk_radio_button_join_group (radio_button, last_button);
+>       last_button = radio_button;
+>    }
+
+
+/Since: 3.0/
+-}
+radioButtonJoinGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioButton a, IsRadioButton b) =>
+    a
+    {- ^ /@radioButton@/: the 'GI.Gtk.Objects.RadioButton.RadioButton' object -}
+    -> Maybe (b)
+    {- ^ /@groupSource@/: a radio button object whos group we are
+  joining, or 'Nothing' to remove the radio button from its group -}
+    -> m ()
+radioButtonJoinGroup radioButton groupSource = liftIO $ do
+    radioButton' <- unsafeManagedPtrCastPtr radioButton
+    maybeGroupSource <- case groupSource of
+        Nothing -> return nullPtr
+        Just jGroupSource -> do
+            jGroupSource' <- unsafeManagedPtrCastPtr jGroupSource
+            return jGroupSource'
+    gtk_radio_button_join_group radioButton' maybeGroupSource
+    touchManagedPtr radioButton
+    whenJust groupSource touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data RadioButtonJoinGroupMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRadioButton a, IsRadioButton b) => O.MethodInfo RadioButtonJoinGroupMethodInfo a signature where
+    overloadedMethod _ = radioButtonJoinGroup
+
+#endif
+
+-- method RadioButton::set_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "radio_button", argType = TInterface (Name {namespace = "Gtk", name = "RadioButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRadioButton.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an existing radio\n    button group, such as one returned from gtk_radio_button_get_group(), or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_button_set_group" gtk_radio_button_set_group :: 
+    Ptr RadioButton ->                      -- radio_button : TInterface (Name {namespace = "Gtk", name = "RadioButton"})
+    Ptr (GSList (Ptr RadioButton)) ->       -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+    IO ()
+
+{- |
+Sets a 'GI.Gtk.Objects.RadioButton.RadioButton'’s group. It should be noted that this does not change
+the layout of your interface in any way, so if you are changing the group,
+it is likely you will need to re-arrange the user interface to reflect these
+changes.
+-}
+radioButtonSetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioButton a, IsRadioButton b) =>
+    a
+    {- ^ /@radioButton@/: a 'GI.Gtk.Objects.RadioButton.RadioButton'. -}
+    -> [b]
+    {- ^ /@group@/: an existing radio
+    button group, such as one returned from 'GI.Gtk.Objects.RadioButton.radioButtonGetGroup', or 'Nothing'. -}
+    -> m ()
+radioButtonSetGroup radioButton group = liftIO $ do
+    radioButton' <- unsafeManagedPtrCastPtr radioButton
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    gtk_radio_button_set_group radioButton' group''
+    touchManagedPtr radioButton
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    return ()
+
+#if ENABLE_OVERLOADING
+data RadioButtonSetGroupMethodInfo
+instance (signature ~ ([b] -> m ()), MonadIO m, IsRadioButton a, IsRadioButton b) => O.MethodInfo RadioButtonSetGroupMethodInfo a signature where
+    overloadedMethod _ = radioButtonSetGroup
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RadioButton.hs-boot b/GI/Gtk/Objects/RadioButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioButton.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RadioButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RadioButton = RadioButton (ManagedPtr RadioButton)
+instance GObject RadioButton where
+class (GObject o, O.IsDescendantOf RadioButton o) => IsRadioButton o
+instance (GObject o, O.IsDescendantOf RadioButton o) => IsRadioButton o
+instance O.HasParentTypes RadioButton
+#if ENABLE_OVERLOADING
+data RadioButtonGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioButtonGroupChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioButtonGetGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioButtonJoinGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioButtonSetGroupMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/RadioButtonAccessible.hs b/GI/Gtk/Objects/RadioButtonAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioButtonAccessible.hs
@@ -0,0 +1,178 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RadioButtonAccessible
+    ( 
+
+-- * Exported types
+    RadioButtonAccessible(..)               ,
+    IsRadioButtonAccessible                 ,
+    toRadioButtonAccessible                 ,
+    noRadioButtonAccessible                 ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ButtonAccessible as Gtk.ButtonAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToggleButtonAccessible as Gtk.ToggleButtonAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype RadioButtonAccessible = RadioButtonAccessible (ManagedPtr RadioButtonAccessible)
+foreign import ccall "gtk_radio_button_accessible_get_type"
+    c_gtk_radio_button_accessible_get_type :: IO GType
+
+instance GObject RadioButtonAccessible where
+    gobjectType = c_gtk_radio_button_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `RadioButtonAccessible`, for instance with `toRadioButtonAccessible`.
+class (GObject o, O.IsDescendantOf RadioButtonAccessible o) => IsRadioButtonAccessible o
+instance (GObject o, O.IsDescendantOf RadioButtonAccessible o) => IsRadioButtonAccessible o
+
+instance O.HasParentTypes RadioButtonAccessible
+type instance O.ParentTypes RadioButtonAccessible = '[Gtk.ToggleButtonAccessible.ToggleButtonAccessible, Gtk.ButtonAccessible.ButtonAccessible, Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Image.Image]
+
+-- | Cast to `RadioButtonAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRadioButtonAccessible :: (MonadIO m, IsRadioButtonAccessible o) => o -> m RadioButtonAccessible
+toRadioButtonAccessible = liftIO . unsafeCastTo RadioButtonAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RadioButtonAccessible`.
+noRadioButtonAccessible :: Maybe RadioButtonAccessible
+noRadioButtonAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRadioButtonAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRadioButtonAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveRadioButtonAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRadioButtonAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRadioButtonAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveRadioButtonAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveRadioButtonAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveRadioButtonAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRadioButtonAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRadioButtonAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRadioButtonAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveRadioButtonAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveRadioButtonAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRadioButtonAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRadioButtonAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRadioButtonAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveRadioButtonAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveRadioButtonAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRadioButtonAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveRadioButtonAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveRadioButtonAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveRadioButtonAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRadioButtonAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveRadioButtonAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveRadioButtonAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveRadioButtonAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveRadioButtonAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRadioButtonAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveRadioButtonAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveRadioButtonAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRadioButtonAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRadioButtonAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRadioButtonAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRadioButtonAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRadioButtonAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveRadioButtonAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveRadioButtonAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRadioButtonAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveRadioButtonAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveRadioButtonAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveRadioButtonAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveRadioButtonAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveRadioButtonAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveRadioButtonAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveRadioButtonAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveRadioButtonAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveRadioButtonAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveRadioButtonAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveRadioButtonAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveRadioButtonAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveRadioButtonAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveRadioButtonAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveRadioButtonAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveRadioButtonAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveRadioButtonAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRadioButtonAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRadioButtonAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveRadioButtonAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveRadioButtonAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveRadioButtonAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRadioButtonAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveRadioButtonAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveRadioButtonAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveRadioButtonAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveRadioButtonAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveRadioButtonAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveRadioButtonAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRadioButtonAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveRadioButtonAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveRadioButtonAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveRadioButtonAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRadioButtonAccessibleMethod t RadioButtonAccessible, O.MethodInfo info RadioButtonAccessible p) => OL.IsLabel t (RadioButtonAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RadioButtonAccessible
+type instance O.AttributeList RadioButtonAccessible = RadioButtonAccessibleAttributeList
+type RadioButtonAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RadioButtonAccessible = RadioButtonAccessibleSignalList
+type RadioButtonAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RadioButtonAccessible.hs-boot b/GI/Gtk/Objects/RadioButtonAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioButtonAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RadioButtonAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RadioButtonAccessible = RadioButtonAccessible (ManagedPtr RadioButtonAccessible)
+instance GObject RadioButtonAccessible where
+class (GObject o, O.IsDescendantOf RadioButtonAccessible o) => IsRadioButtonAccessible o
+instance (GObject o, O.IsDescendantOf RadioButtonAccessible o) => IsRadioButtonAccessible o
+instance O.HasParentTypes RadioButtonAccessible
diff --git a/GI/Gtk/Objects/RadioMenuItem.hs b/GI/Gtk/Objects/RadioMenuItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioMenuItem.hs
@@ -0,0 +1,1120 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A radio menu item is a check menu item that belongs to a group. At each
+instant exactly one of the radio menu items from a group is selected.
+
+The group list does not need to be freed, as each 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' will
+remove itself and its list item when it is destroyed.
+
+The correct way to create a group of radio menu items is approximatively
+this:
+
+== How to create a group of radio menu items.
+
+
+=== /C code/
+>
+>GSList *group = NULL;
+>GtkWidget *item;
+>gint i;
+>
+>for (i = 0; i < 5; i++)
+>{
+>  item = gtk_radio_menu_item_new_with_label (group, "This is an example");
+>  group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item));
+>  if (i == 1)
+>    gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), TRUE);
+>}
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>menuitem
+>├── radio.left
+>╰── <child>
+
+
+GtkRadioMenuItem has a main CSS node with name menuitem, and a subnode
+with name radio, which gets the .left or .right style class.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RadioMenuItem
+    ( 
+
+-- * Exported types
+    RadioMenuItem(..)                       ,
+    IsRadioMenuItem                         ,
+    toRadioMenuItem                         ,
+    noRadioMenuItem                         ,
+
+
+ -- * Methods
+-- ** getGroup #method:getGroup#
+
+#if ENABLE_OVERLOADING
+    RadioMenuItemGetGroupMethodInfo         ,
+#endif
+    radioMenuItemGetGroup                   ,
+
+
+-- ** joinGroup #method:joinGroup#
+
+#if ENABLE_OVERLOADING
+    RadioMenuItemJoinGroupMethodInfo        ,
+#endif
+    radioMenuItemJoinGroup                  ,
+
+
+-- ** new #method:new#
+
+    radioMenuItemNew                        ,
+
+
+-- ** newFromWidget #method:newFromWidget#
+
+    radioMenuItemNewFromWidget              ,
+
+
+-- ** newWithLabel #method:newWithLabel#
+
+    radioMenuItemNewWithLabel               ,
+
+
+-- ** newWithLabelFromWidget #method:newWithLabelFromWidget#
+
+    radioMenuItemNewWithLabelFromWidget     ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    radioMenuItemNewWithMnemonic            ,
+
+
+-- ** newWithMnemonicFromWidget #method:newWithMnemonicFromWidget#
+
+    radioMenuItemNewWithMnemonicFromWidget  ,
+
+
+-- ** setGroup #method:setGroup#
+
+#if ENABLE_OVERLOADING
+    RadioMenuItemSetGroupMethodInfo         ,
+#endif
+    radioMenuItemSetGroup                   ,
+
+
+
+
+ -- * Properties
+-- ** group #attr:group#
+{- | The radio menu item whose group this widget belongs to.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    RadioMenuItemGroupPropertyInfo          ,
+#endif
+    clearRadioMenuItemGroup                 ,
+    constructRadioMenuItemGroup             ,
+#if ENABLE_OVERLOADING
+    radioMenuItemGroup                      ,
+#endif
+    setRadioMenuItemGroup                   ,
+
+
+
+
+ -- * Signals
+-- ** groupChanged #signal:groupChanged#
+
+    C_RadioMenuItemGroupChangedCallback     ,
+    RadioMenuItemGroupChangedCallback       ,
+#if ENABLE_OVERLOADING
+    RadioMenuItemGroupChangedSignalInfo     ,
+#endif
+    afterRadioMenuItemGroupChanged          ,
+    genClosure_RadioMenuItemGroupChanged    ,
+    mk_RadioMenuItemGroupChangedCallback    ,
+    noRadioMenuItemGroupChangedCallback     ,
+    onRadioMenuItemGroupChanged             ,
+    wrap_RadioMenuItemGroupChangedCallback  ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CheckMenuItem as Gtk.CheckMenuItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuItem as Gtk.MenuItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype RadioMenuItem = RadioMenuItem (ManagedPtr RadioMenuItem)
+foreign import ccall "gtk_radio_menu_item_get_type"
+    c_gtk_radio_menu_item_get_type :: IO GType
+
+instance GObject RadioMenuItem where
+    gobjectType = c_gtk_radio_menu_item_get_type
+    
+
+-- | Type class for types which can be safely cast to `RadioMenuItem`, for instance with `toRadioMenuItem`.
+class (GObject o, O.IsDescendantOf RadioMenuItem o) => IsRadioMenuItem o
+instance (GObject o, O.IsDescendantOf RadioMenuItem o) => IsRadioMenuItem o
+
+instance O.HasParentTypes RadioMenuItem
+type instance O.ParentTypes RadioMenuItem = '[Gtk.CheckMenuItem.CheckMenuItem, Gtk.MenuItem.MenuItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `RadioMenuItem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRadioMenuItem :: (MonadIO m, IsRadioMenuItem o) => o -> m RadioMenuItem
+toRadioMenuItem = liftIO . unsafeCastTo RadioMenuItem
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RadioMenuItem`.
+noRadioMenuItem :: Maybe RadioMenuItem
+noRadioMenuItem = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRadioMenuItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRadioMenuItemMethod "activate" o = Gtk.MenuItem.MenuItemActivateMethodInfo
+    ResolveRadioMenuItemMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveRadioMenuItemMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveRadioMenuItemMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRadioMenuItemMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveRadioMenuItemMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveRadioMenuItemMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveRadioMenuItemMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveRadioMenuItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRadioMenuItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRadioMenuItemMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveRadioMenuItemMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveRadioMenuItemMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveRadioMenuItemMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveRadioMenuItemMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveRadioMenuItemMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveRadioMenuItemMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveRadioMenuItemMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveRadioMenuItemMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveRadioMenuItemMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveRadioMenuItemMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRadioMenuItemMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveRadioMenuItemMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveRadioMenuItemMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRadioMenuItemMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRadioMenuItemMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRadioMenuItemMethod "deselect" o = Gtk.MenuItem.MenuItemDeselectMethodInfo
+    ResolveRadioMenuItemMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveRadioMenuItemMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveRadioMenuItemMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveRadioMenuItemMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveRadioMenuItemMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveRadioMenuItemMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveRadioMenuItemMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveRadioMenuItemMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveRadioMenuItemMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveRadioMenuItemMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveRadioMenuItemMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveRadioMenuItemMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveRadioMenuItemMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveRadioMenuItemMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveRadioMenuItemMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveRadioMenuItemMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveRadioMenuItemMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveRadioMenuItemMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveRadioMenuItemMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveRadioMenuItemMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveRadioMenuItemMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveRadioMenuItemMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveRadioMenuItemMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveRadioMenuItemMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveRadioMenuItemMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveRadioMenuItemMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveRadioMenuItemMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveRadioMenuItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRadioMenuItemMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveRadioMenuItemMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveRadioMenuItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRadioMenuItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRadioMenuItemMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveRadioMenuItemMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveRadioMenuItemMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveRadioMenuItemMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveRadioMenuItemMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveRadioMenuItemMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveRadioMenuItemMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveRadioMenuItemMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveRadioMenuItemMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveRadioMenuItemMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveRadioMenuItemMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveRadioMenuItemMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveRadioMenuItemMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveRadioMenuItemMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveRadioMenuItemMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveRadioMenuItemMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveRadioMenuItemMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveRadioMenuItemMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveRadioMenuItemMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveRadioMenuItemMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveRadioMenuItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRadioMenuItemMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveRadioMenuItemMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveRadioMenuItemMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveRadioMenuItemMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveRadioMenuItemMethod "joinGroup" o = RadioMenuItemJoinGroupMethodInfo
+    ResolveRadioMenuItemMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveRadioMenuItemMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveRadioMenuItemMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveRadioMenuItemMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveRadioMenuItemMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveRadioMenuItemMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveRadioMenuItemMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveRadioMenuItemMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveRadioMenuItemMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveRadioMenuItemMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveRadioMenuItemMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveRadioMenuItemMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveRadioMenuItemMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveRadioMenuItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRadioMenuItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRadioMenuItemMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveRadioMenuItemMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveRadioMenuItemMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveRadioMenuItemMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveRadioMenuItemMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveRadioMenuItemMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRadioMenuItemMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveRadioMenuItemMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveRadioMenuItemMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveRadioMenuItemMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveRadioMenuItemMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveRadioMenuItemMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveRadioMenuItemMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveRadioMenuItemMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveRadioMenuItemMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveRadioMenuItemMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveRadioMenuItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRadioMenuItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRadioMenuItemMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveRadioMenuItemMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveRadioMenuItemMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveRadioMenuItemMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveRadioMenuItemMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveRadioMenuItemMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveRadioMenuItemMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveRadioMenuItemMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveRadioMenuItemMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveRadioMenuItemMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveRadioMenuItemMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveRadioMenuItemMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveRadioMenuItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRadioMenuItemMethod "select" o = Gtk.MenuItem.MenuItemSelectMethodInfo
+    ResolveRadioMenuItemMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveRadioMenuItemMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveRadioMenuItemMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveRadioMenuItemMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveRadioMenuItemMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveRadioMenuItemMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveRadioMenuItemMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveRadioMenuItemMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveRadioMenuItemMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveRadioMenuItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRadioMenuItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRadioMenuItemMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveRadioMenuItemMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveRadioMenuItemMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveRadioMenuItemMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveRadioMenuItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRadioMenuItemMethod "toggleSizeAllocate" o = Gtk.MenuItem.MenuItemToggleSizeAllocateMethodInfo
+    ResolveRadioMenuItemMethod "toggleSizeRequest" o = Gtk.MenuItem.MenuItemToggleSizeRequestMethodInfo
+    ResolveRadioMenuItemMethod "toggled" o = Gtk.CheckMenuItem.CheckMenuItemToggledMethodInfo
+    ResolveRadioMenuItemMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveRadioMenuItemMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveRadioMenuItemMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveRadioMenuItemMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveRadioMenuItemMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveRadioMenuItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRadioMenuItemMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveRadioMenuItemMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveRadioMenuItemMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveRadioMenuItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRadioMenuItemMethod "getAccelPath" o = Gtk.MenuItem.MenuItemGetAccelPathMethodInfo
+    ResolveRadioMenuItemMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveRadioMenuItemMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveRadioMenuItemMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveRadioMenuItemMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveRadioMenuItemMethod "getActive" o = Gtk.CheckMenuItem.CheckMenuItemGetActiveMethodInfo
+    ResolveRadioMenuItemMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveRadioMenuItemMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveRadioMenuItemMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveRadioMenuItemMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveRadioMenuItemMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveRadioMenuItemMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveRadioMenuItemMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveRadioMenuItemMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveRadioMenuItemMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveRadioMenuItemMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveRadioMenuItemMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveRadioMenuItemMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveRadioMenuItemMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveRadioMenuItemMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveRadioMenuItemMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveRadioMenuItemMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveRadioMenuItemMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveRadioMenuItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRadioMenuItemMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveRadioMenuItemMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveRadioMenuItemMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveRadioMenuItemMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveRadioMenuItemMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveRadioMenuItemMethod "getDrawAsRadio" o = Gtk.CheckMenuItem.CheckMenuItemGetDrawAsRadioMethodInfo
+    ResolveRadioMenuItemMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveRadioMenuItemMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveRadioMenuItemMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveRadioMenuItemMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveRadioMenuItemMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveRadioMenuItemMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveRadioMenuItemMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveRadioMenuItemMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveRadioMenuItemMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveRadioMenuItemMethod "getGroup" o = RadioMenuItemGetGroupMethodInfo
+    ResolveRadioMenuItemMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveRadioMenuItemMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveRadioMenuItemMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveRadioMenuItemMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveRadioMenuItemMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveRadioMenuItemMethod "getInconsistent" o = Gtk.CheckMenuItem.CheckMenuItemGetInconsistentMethodInfo
+    ResolveRadioMenuItemMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRadioMenuItemMethod "getLabel" o = Gtk.MenuItem.MenuItemGetLabelMethodInfo
+    ResolveRadioMenuItemMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveRadioMenuItemMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveRadioMenuItemMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveRadioMenuItemMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveRadioMenuItemMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveRadioMenuItemMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveRadioMenuItemMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveRadioMenuItemMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveRadioMenuItemMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveRadioMenuItemMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveRadioMenuItemMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveRadioMenuItemMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveRadioMenuItemMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveRadioMenuItemMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveRadioMenuItemMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveRadioMenuItemMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveRadioMenuItemMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveRadioMenuItemMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveRadioMenuItemMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveRadioMenuItemMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveRadioMenuItemMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveRadioMenuItemMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveRadioMenuItemMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveRadioMenuItemMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveRadioMenuItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRadioMenuItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRadioMenuItemMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveRadioMenuItemMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveRadioMenuItemMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveRadioMenuItemMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveRadioMenuItemMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveRadioMenuItemMethod "getReserveIndicator" o = Gtk.MenuItem.MenuItemGetReserveIndicatorMethodInfo
+    ResolveRadioMenuItemMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveRadioMenuItemMethod "getRightJustified" o = Gtk.MenuItem.MenuItemGetRightJustifiedMethodInfo
+    ResolveRadioMenuItemMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveRadioMenuItemMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveRadioMenuItemMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveRadioMenuItemMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveRadioMenuItemMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveRadioMenuItemMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveRadioMenuItemMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveRadioMenuItemMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveRadioMenuItemMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveRadioMenuItemMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveRadioMenuItemMethod "getSubmenu" o = Gtk.MenuItem.MenuItemGetSubmenuMethodInfo
+    ResolveRadioMenuItemMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveRadioMenuItemMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveRadioMenuItemMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveRadioMenuItemMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveRadioMenuItemMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveRadioMenuItemMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveRadioMenuItemMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveRadioMenuItemMethod "getUseUnderline" o = Gtk.MenuItem.MenuItemGetUseUnderlineMethodInfo
+    ResolveRadioMenuItemMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveRadioMenuItemMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveRadioMenuItemMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveRadioMenuItemMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveRadioMenuItemMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveRadioMenuItemMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveRadioMenuItemMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveRadioMenuItemMethod "setAccelPath" o = Gtk.MenuItem.MenuItemSetAccelPathMethodInfo
+    ResolveRadioMenuItemMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveRadioMenuItemMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveRadioMenuItemMethod "setActive" o = Gtk.CheckMenuItem.CheckMenuItemSetActiveMethodInfo
+    ResolveRadioMenuItemMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveRadioMenuItemMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveRadioMenuItemMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveRadioMenuItemMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRadioMenuItemMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveRadioMenuItemMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveRadioMenuItemMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveRadioMenuItemMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveRadioMenuItemMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveRadioMenuItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRadioMenuItemMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveRadioMenuItemMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveRadioMenuItemMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveRadioMenuItemMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveRadioMenuItemMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveRadioMenuItemMethod "setDrawAsRadio" o = Gtk.CheckMenuItem.CheckMenuItemSetDrawAsRadioMethodInfo
+    ResolveRadioMenuItemMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveRadioMenuItemMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveRadioMenuItemMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveRadioMenuItemMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveRadioMenuItemMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveRadioMenuItemMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveRadioMenuItemMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveRadioMenuItemMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveRadioMenuItemMethod "setGroup" o = RadioMenuItemSetGroupMethodInfo
+    ResolveRadioMenuItemMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveRadioMenuItemMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveRadioMenuItemMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveRadioMenuItemMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveRadioMenuItemMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveRadioMenuItemMethod "setInconsistent" o = Gtk.CheckMenuItem.CheckMenuItemSetInconsistentMethodInfo
+    ResolveRadioMenuItemMethod "setLabel" o = Gtk.MenuItem.MenuItemSetLabelMethodInfo
+    ResolveRadioMenuItemMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveRadioMenuItemMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveRadioMenuItemMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveRadioMenuItemMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveRadioMenuItemMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveRadioMenuItemMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveRadioMenuItemMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveRadioMenuItemMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveRadioMenuItemMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveRadioMenuItemMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveRadioMenuItemMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveRadioMenuItemMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveRadioMenuItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRadioMenuItemMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveRadioMenuItemMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveRadioMenuItemMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveRadioMenuItemMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveRadioMenuItemMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveRadioMenuItemMethod "setReserveIndicator" o = Gtk.MenuItem.MenuItemSetReserveIndicatorMethodInfo
+    ResolveRadioMenuItemMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveRadioMenuItemMethod "setRightJustified" o = Gtk.MenuItem.MenuItemSetRightJustifiedMethodInfo
+    ResolveRadioMenuItemMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveRadioMenuItemMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveRadioMenuItemMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveRadioMenuItemMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveRadioMenuItemMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveRadioMenuItemMethod "setSubmenu" o = Gtk.MenuItem.MenuItemSetSubmenuMethodInfo
+    ResolveRadioMenuItemMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveRadioMenuItemMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveRadioMenuItemMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveRadioMenuItemMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveRadioMenuItemMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveRadioMenuItemMethod "setUseUnderline" o = Gtk.MenuItem.MenuItemSetUseUnderlineMethodInfo
+    ResolveRadioMenuItemMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveRadioMenuItemMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveRadioMenuItemMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveRadioMenuItemMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveRadioMenuItemMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveRadioMenuItemMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveRadioMenuItemMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRadioMenuItemMethod t RadioMenuItem, O.MethodInfo info RadioMenuItem p) => OL.IsLabel t (RadioMenuItem -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal RadioMenuItem::group-changed
+{- |
+/No description available in the introspection data./
+-}
+type RadioMenuItemGroupChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RadioMenuItemGroupChangedCallback`@.
+noRadioMenuItemGroupChangedCallback :: Maybe RadioMenuItemGroupChangedCallback
+noRadioMenuItemGroupChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RadioMenuItemGroupChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_RadioMenuItemGroupChangedCallback`.
+foreign import ccall "wrapper"
+    mk_RadioMenuItemGroupChangedCallback :: C_RadioMenuItemGroupChangedCallback -> IO (FunPtr C_RadioMenuItemGroupChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RadioMenuItemGroupChanged :: MonadIO m => RadioMenuItemGroupChangedCallback -> m (GClosure C_RadioMenuItemGroupChangedCallback)
+genClosure_RadioMenuItemGroupChanged cb = liftIO $ do
+    let cb' = wrap_RadioMenuItemGroupChangedCallback cb
+    mk_RadioMenuItemGroupChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RadioMenuItemGroupChangedCallback` into a `C_RadioMenuItemGroupChangedCallback`.
+wrap_RadioMenuItemGroupChangedCallback ::
+    RadioMenuItemGroupChangedCallback ->
+    C_RadioMenuItemGroupChangedCallback
+wrap_RadioMenuItemGroupChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@group-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' radioMenuItem #groupChanged callback
+@
+-}
+onRadioMenuItemGroupChanged :: (IsRadioMenuItem a, MonadIO m) => a -> RadioMenuItemGroupChangedCallback -> m SignalHandlerId
+onRadioMenuItemGroupChanged obj cb = liftIO $ do
+    let cb' = wrap_RadioMenuItemGroupChangedCallback cb
+    cb'' <- mk_RadioMenuItemGroupChangedCallback cb'
+    connectSignalFunPtr obj "group-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@group-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' radioMenuItem #groupChanged callback
+@
+-}
+afterRadioMenuItemGroupChanged :: (IsRadioMenuItem a, MonadIO m) => a -> RadioMenuItemGroupChangedCallback -> m SignalHandlerId
+afterRadioMenuItemGroupChanged obj cb = liftIO $ do
+    let cb' = wrap_RadioMenuItemGroupChangedCallback cb
+    cb'' <- mk_RadioMenuItemGroupChangedCallback cb'
+    connectSignalFunPtr obj "group-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioMenuItem [ #group 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioMenuItemGroup :: (MonadIO m, IsRadioMenuItem o, IsRadioMenuItem a) => o -> a -> m ()
+setRadioMenuItemGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRadioMenuItemGroup :: (IsRadioMenuItem o, IsRadioMenuItem a) => a -> IO (GValueConstruct o)
+constructRadioMenuItemGroup val = B.Properties.constructObjectPropertyObject "group" (Just val)
+
+{- |
+Set the value of the “@group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #group
+@
+-}
+clearRadioMenuItemGroup :: (MonadIO m, IsRadioMenuItem o) => o -> m ()
+clearRadioMenuItemGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "group" (Nothing :: Maybe RadioMenuItem)
+
+#if ENABLE_OVERLOADING
+data RadioMenuItemGroupPropertyInfo
+instance AttrInfo RadioMenuItemGroupPropertyInfo where
+    type AttrAllowedOps RadioMenuItemGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint RadioMenuItemGroupPropertyInfo = IsRadioMenuItem
+    type AttrBaseTypeConstraint RadioMenuItemGroupPropertyInfo = IsRadioMenuItem
+    type AttrGetType RadioMenuItemGroupPropertyInfo = ()
+    type AttrLabel RadioMenuItemGroupPropertyInfo = "group"
+    type AttrOrigin RadioMenuItemGroupPropertyInfo = RadioMenuItem
+    attrGet _ = undefined
+    attrSet _ = setRadioMenuItemGroup
+    attrConstruct _ = constructRadioMenuItemGroup
+    attrClear _ = clearRadioMenuItemGroup
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RadioMenuItem
+type instance O.AttributeList RadioMenuItem = RadioMenuItemAttributeList
+type RadioMenuItemAttributeList = ('[ '("accelPath", Gtk.MenuItem.MenuItemAccelPathPropertyInfo), '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", Gtk.CheckMenuItem.CheckMenuItemActivePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawAsRadio", Gtk.CheckMenuItem.CheckMenuItemDrawAsRadioPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("group", RadioMenuItemGroupPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inconsistent", Gtk.CheckMenuItem.CheckMenuItemInconsistentPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.MenuItem.MenuItemLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rightJustified", Gtk.MenuItem.MenuItemRightJustifiedPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("submenu", Gtk.MenuItem.MenuItemSubmenuPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useUnderline", Gtk.MenuItem.MenuItemUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+radioMenuItemGroup :: AttrLabelProxy "group"
+radioMenuItemGroup = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data RadioMenuItemGroupChangedSignalInfo
+instance SignalInfo RadioMenuItemGroupChangedSignalInfo where
+    type HaskellCallbackType RadioMenuItemGroupChangedSignalInfo = RadioMenuItemGroupChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RadioMenuItemGroupChangedCallback cb
+        cb'' <- mk_RadioMenuItemGroupChangedCallback cb'
+        connectSignalFunPtr obj "group-changed" cb'' connectMode
+
+type instance O.SignalList RadioMenuItem = RadioMenuItemSignalList
+type RadioMenuItemSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.MenuItem.MenuItemActivateSignalInfo), '("activateItem", Gtk.MenuItem.MenuItemActivateItemSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deselect", Gtk.MenuItem.MenuItemDeselectSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("groupChanged", RadioMenuItemGroupChangedSignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("select", Gtk.MenuItem.MenuItemSelectSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleSizeAllocate", Gtk.MenuItem.MenuItemToggleSizeAllocateSignalInfo), '("toggleSizeRequest", Gtk.MenuItem.MenuItemToggleSizeRequestSignalInfo), '("toggled", Gtk.CheckMenuItem.CheckMenuItemToggledSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RadioMenuItem::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the group to which the\n  radio menu item is to be attached, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_menu_item_new" gtk_radio_menu_item_new :: 
+    Ptr (GSList (Ptr RadioMenuItem)) ->     -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+    IO (Ptr RadioMenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem'.
+-}
+radioMenuItemNew ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioMenuItem a) =>
+    [a]
+    {- ^ /@group@/: the group to which the
+  radio menu item is to be attached, or 'Nothing' -}
+    -> m RadioMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+radioMenuItemNew group = liftIO $ do
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    result <- gtk_radio_menu_item_new group''
+    checkUnexpectedReturnNULL "radioMenuItemNew" result
+    result' <- (newObject RadioMenuItem) result
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioMenuItem::new_from_widget
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "An existing #GtkRadioMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_menu_item_new_from_widget" gtk_radio_menu_item_new_from_widget :: 
+    Ptr RadioMenuItem ->                    -- group : TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})
+    IO (Ptr RadioMenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' adding it to the same group as /@group@/.
+
+/Since: 2.4/
+-}
+radioMenuItemNewFromWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioMenuItem a) =>
+    Maybe (a)
+    {- ^ /@group@/: An existing 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+    -> m RadioMenuItem
+    {- ^ __Returns:__ The new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+radioMenuItemNewFromWidget group = liftIO $ do
+    maybeGroup <- case group of
+        Nothing -> return nullPtr
+        Just jGroup -> do
+            jGroup' <- unsafeManagedPtrCastPtr jGroup
+            return jGroup'
+    result <- gtk_radio_menu_item_new_from_widget maybeGroup
+    checkUnexpectedReturnNULL "radioMenuItemNewFromWidget" result
+    result' <- (newObject RadioMenuItem) result
+    whenJust group touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioMenuItem::new_with_label
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n        group the radio menu item is inside, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text for the label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_menu_item_new_with_label" gtk_radio_menu_item_new_with_label :: 
+    Ptr (GSList (Ptr RadioMenuItem)) ->     -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr RadioMenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' whose child is a simple 'GI.Gtk.Objects.Label.Label'.
+-}
+radioMenuItemNewWithLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioMenuItem a) =>
+    [a]
+    {- ^ /@group@/: 
+        group the radio menu item is inside, or 'Nothing' -}
+    -> T.Text
+    {- ^ /@label@/: the text for the label -}
+    -> m RadioMenuItem
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+radioMenuItemNewWithLabel group label = liftIO $ do
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    label' <- textToCString label
+    result <- gtk_radio_menu_item_new_with_label group'' label'
+    checkUnexpectedReturnNULL "radioMenuItemNewWithLabel" result
+    result' <- (newObject RadioMenuItem) result
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioMenuItem::new_with_label_from_widget
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an existing #GtkRadioMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the text for the label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_menu_item_new_with_label_from_widget" gtk_radio_menu_item_new_with_label_from_widget :: 
+    Ptr RadioMenuItem ->                    -- group : TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr RadioMenuItem)
+
+{- |
+Creates a new GtkRadioMenuItem whose child is a simple GtkLabel.
+The new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' is added to the same group as /@group@/.
+
+/Since: 2.4/
+-}
+radioMenuItemNewWithLabelFromWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioMenuItem a) =>
+    Maybe (a)
+    {- ^ /@group@/: an existing 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: the text for the label -}
+    -> m RadioMenuItem
+    {- ^ __Returns:__ The new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+radioMenuItemNewWithLabelFromWidget group label = liftIO $ do
+    maybeGroup <- case group of
+        Nothing -> return nullPtr
+        Just jGroup -> do
+            jGroup' <- unsafeManagedPtrCastPtr jGroup
+            return jGroup'
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    result <- gtk_radio_menu_item_new_with_label_from_widget maybeGroup maybeLabel
+    checkUnexpectedReturnNULL "radioMenuItemNewWithLabelFromWidget" result
+    result' <- (newObject RadioMenuItem) result
+    whenJust group touchManagedPtr
+    freeMem maybeLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioMenuItem::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n        group the radio menu item is inside, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text of the button, with an underscore in front of the\n        mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_menu_item_new_with_mnemonic" gtk_radio_menu_item_new_with_mnemonic :: 
+    Ptr (GSList (Ptr RadioMenuItem)) ->     -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr RadioMenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' containing a label. The label
+will be created using 'GI.Gtk.Objects.Label.labelNewWithMnemonic', so underscores
+in /@label@/ indicate the mnemonic for the menu item.
+-}
+radioMenuItemNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioMenuItem a) =>
+    [a]
+    {- ^ /@group@/: 
+        group the radio menu item is inside, or 'Nothing' -}
+    -> T.Text
+    {- ^ /@label@/: the text of the button, with an underscore in front of the
+        mnemonic character -}
+    -> m RadioMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+radioMenuItemNewWithMnemonic group label = liftIO $ do
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    label' <- textToCString label
+    result <- gtk_radio_menu_item_new_with_mnemonic group'' label'
+    checkUnexpectedReturnNULL "radioMenuItemNewWithMnemonic" result
+    result' <- (newObject RadioMenuItem) result
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioMenuItem::new_with_mnemonic_from_widget
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "An existing #GtkRadioMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the text of the button, with an underscore in front of the\n        mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_menu_item_new_with_mnemonic_from_widget" gtk_radio_menu_item_new_with_mnemonic_from_widget :: 
+    Ptr RadioMenuItem ->                    -- group : TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr RadioMenuItem)
+
+{- |
+Creates a new GtkRadioMenuItem containing a label. The label will be
+created using 'GI.Gtk.Objects.Label.labelNewWithMnemonic', so underscores in label
+indicate the mnemonic for the menu item.
+
+The new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' is added to the same group as /@group@/.
+
+/Since: 2.4/
+-}
+radioMenuItemNewWithMnemonicFromWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioMenuItem a) =>
+    Maybe (a)
+    {- ^ /@group@/: An existing 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: the text of the button, with an underscore in front of the
+        mnemonic character -}
+    -> m RadioMenuItem
+    {- ^ __Returns:__ The new 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+radioMenuItemNewWithMnemonicFromWidget group label = liftIO $ do
+    maybeGroup <- case group of
+        Nothing -> return nullPtr
+        Just jGroup -> do
+            jGroup' <- unsafeManagedPtrCastPtr jGroup
+            return jGroup'
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    result <- gtk_radio_menu_item_new_with_mnemonic_from_widget maybeGroup maybeLabel
+    checkUnexpectedReturnNULL "radioMenuItemNewWithMnemonicFromWidget" result
+    result' <- (newObject RadioMenuItem) result
+    whenJust group touchManagedPtr
+    freeMem maybeLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioMenuItem::get_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "radio_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRadioMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_menu_item_get_group" gtk_radio_menu_item_get_group :: 
+    Ptr RadioMenuItem ->                    -- radio_menu_item : TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})
+    IO (Ptr (GSList (Ptr RadioMenuItem)))
+
+{- |
+Returns the group to which the radio menu item belongs, as a 'GI.GLib.Structs.List.List' of
+'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem'. The list belongs to GTK+ and should not be freed.
+-}
+radioMenuItemGetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioMenuItem a) =>
+    a
+    {- ^ /@radioMenuItem@/: a 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+    -> m [RadioMenuItem]
+    {- ^ __Returns:__ the group
+    of /@radioMenuItem@/ -}
+radioMenuItemGetGroup radioMenuItem = liftIO $ do
+    radioMenuItem' <- unsafeManagedPtrCastPtr radioMenuItem
+    result <- gtk_radio_menu_item_get_group radioMenuItem'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject RadioMenuItem) result'
+    touchManagedPtr radioMenuItem
+    return result''
+
+#if ENABLE_OVERLOADING
+data RadioMenuItemGetGroupMethodInfo
+instance (signature ~ (m [RadioMenuItem]), MonadIO m, IsRadioMenuItem a) => O.MethodInfo RadioMenuItemGetGroupMethodInfo a signature where
+    overloadedMethod _ = radioMenuItemGetGroup
+
+#endif
+
+-- method RadioMenuItem::join_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "radio_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRadioMenuItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_source", argType = TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkRadioMenuItem whose group we are\n  joining, or %NULL to remove the @radio_menu_item from its current\n  group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_menu_item_join_group" gtk_radio_menu_item_join_group :: 
+    Ptr RadioMenuItem ->                    -- radio_menu_item : TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})
+    Ptr RadioMenuItem ->                    -- group_source : TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})
+    IO ()
+
+{- |
+Joins a 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' object to the group of another 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem'
+object.
+
+This function should be used by language bindings to avoid the memory
+manangement of the opaque 'GI.GLib.Structs.SList.SList' of 'GI.Gtk.Objects.RadioMenuItem.radioMenuItemGetGroup'
+and 'GI.Gtk.Objects.RadioMenuItem.radioMenuItemSetGroup'.
+
+A common way to set up a group of 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' instances is:
+
+>
+>  GtkRadioMenuItem *last_item = NULL;
+>
+>  while ( ...more items to add... )
+>    {
+>      GtkRadioMenuItem *radio_item;
+>
+>      radio_item = gtk_radio_menu_item_new (...);
+>
+>      gtk_radio_menu_item_join_group (radio_item, last_item);
+>      last_item = radio_item;
+>    }
+
+
+/Since: 3.18/
+-}
+radioMenuItemJoinGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) =>
+    a
+    {- ^ /@radioMenuItem@/: a 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' -}
+    -> Maybe (b)
+    {- ^ /@groupSource@/: a 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem' whose group we are
+  joining, or 'Nothing' to remove the /@radioMenuItem@/ from its current
+  group -}
+    -> m ()
+radioMenuItemJoinGroup radioMenuItem groupSource = liftIO $ do
+    radioMenuItem' <- unsafeManagedPtrCastPtr radioMenuItem
+    maybeGroupSource <- case groupSource of
+        Nothing -> return nullPtr
+        Just jGroupSource -> do
+            jGroupSource' <- unsafeManagedPtrCastPtr jGroupSource
+            return jGroupSource'
+    gtk_radio_menu_item_join_group radioMenuItem' maybeGroupSource
+    touchManagedPtr radioMenuItem
+    whenJust groupSource touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data RadioMenuItemJoinGroupMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) => O.MethodInfo RadioMenuItemJoinGroupMethodInfo a signature where
+    overloadedMethod _ = radioMenuItemJoinGroup
+
+#endif
+
+-- method RadioMenuItem::set_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "radio_menu_item", argType = TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRadioMenuItem.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the new group, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_menu_item_set_group" gtk_radio_menu_item_set_group :: 
+    Ptr RadioMenuItem ->                    -- radio_menu_item : TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"})
+    Ptr (GSList (Ptr RadioMenuItem)) ->     -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioMenuItem"}))
+    IO ()
+
+{- |
+Sets the group of a radio menu item, or changes it.
+-}
+radioMenuItemSetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) =>
+    a
+    {- ^ /@radioMenuItem@/: a 'GI.Gtk.Objects.RadioMenuItem.RadioMenuItem'. -}
+    -> [b]
+    {- ^ /@group@/: the new group, or 'Nothing'. -}
+    -> m ()
+radioMenuItemSetGroup radioMenuItem group = liftIO $ do
+    radioMenuItem' <- unsafeManagedPtrCastPtr radioMenuItem
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    gtk_radio_menu_item_set_group radioMenuItem' group''
+    touchManagedPtr radioMenuItem
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    return ()
+
+#if ENABLE_OVERLOADING
+data RadioMenuItemSetGroupMethodInfo
+instance (signature ~ ([b] -> m ()), MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) => O.MethodInfo RadioMenuItemSetGroupMethodInfo a signature where
+    overloadedMethod _ = radioMenuItemSetGroup
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RadioMenuItem.hs-boot b/GI/Gtk/Objects/RadioMenuItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioMenuItem.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RadioMenuItem where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RadioMenuItem = RadioMenuItem (ManagedPtr RadioMenuItem)
+instance GObject RadioMenuItem where
+class (GObject o, O.IsDescendantOf RadioMenuItem o) => IsRadioMenuItem o
+instance (GObject o, O.IsDescendantOf RadioMenuItem o) => IsRadioMenuItem o
+instance O.HasParentTypes RadioMenuItem
+#if ENABLE_OVERLOADING
+data RadioMenuItemGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioMenuItemGroupChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioMenuItemGetGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioMenuItemJoinGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioMenuItemSetGroupMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/RadioMenuItemAccessible.hs b/GI/Gtk/Objects/RadioMenuItemAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioMenuItemAccessible.hs
@@ -0,0 +1,180 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RadioMenuItemAccessible
+    ( 
+
+-- * Exported types
+    RadioMenuItemAccessible(..)             ,
+    IsRadioMenuItemAccessible               ,
+    toRadioMenuItemAccessible               ,
+    noRadioMenuItemAccessible               ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CheckMenuItemAccessible as Gtk.CheckMenuItemAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuItemAccessible as Gtk.MenuItemAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype RadioMenuItemAccessible = RadioMenuItemAccessible (ManagedPtr RadioMenuItemAccessible)
+foreign import ccall "gtk_radio_menu_item_accessible_get_type"
+    c_gtk_radio_menu_item_accessible_get_type :: IO GType
+
+instance GObject RadioMenuItemAccessible where
+    gobjectType = c_gtk_radio_menu_item_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `RadioMenuItemAccessible`, for instance with `toRadioMenuItemAccessible`.
+class (GObject o, O.IsDescendantOf RadioMenuItemAccessible o) => IsRadioMenuItemAccessible o
+instance (GObject o, O.IsDescendantOf RadioMenuItemAccessible o) => IsRadioMenuItemAccessible o
+
+instance O.HasParentTypes RadioMenuItemAccessible
+type instance O.ParentTypes RadioMenuItemAccessible = '[Gtk.CheckMenuItemAccessible.CheckMenuItemAccessible, Gtk.MenuItemAccessible.MenuItemAccessible, Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Selection.Selection]
+
+-- | Cast to `RadioMenuItemAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRadioMenuItemAccessible :: (MonadIO m, IsRadioMenuItemAccessible o) => o -> m RadioMenuItemAccessible
+toRadioMenuItemAccessible = liftIO . unsafeCastTo RadioMenuItemAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RadioMenuItemAccessible`.
+noRadioMenuItemAccessible :: Maybe RadioMenuItemAccessible
+noRadioMenuItemAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRadioMenuItemAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRadioMenuItemAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveRadioMenuItemAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveRadioMenuItemAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRadioMenuItemAccessibleMethod t RadioMenuItemAccessible, O.MethodInfo info RadioMenuItemAccessible p) => OL.IsLabel t (RadioMenuItemAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RadioMenuItemAccessible
+type instance O.AttributeList RadioMenuItemAccessible = RadioMenuItemAccessibleAttributeList
+type RadioMenuItemAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RadioMenuItemAccessible = RadioMenuItemAccessibleSignalList
+type RadioMenuItemAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RadioMenuItemAccessible.hs-boot b/GI/Gtk/Objects/RadioMenuItemAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioMenuItemAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RadioMenuItemAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RadioMenuItemAccessible = RadioMenuItemAccessible (ManagedPtr RadioMenuItemAccessible)
+instance GObject RadioMenuItemAccessible where
+class (GObject o, O.IsDescendantOf RadioMenuItemAccessible o) => IsRadioMenuItemAccessible o
+instance (GObject o, O.IsDescendantOf RadioMenuItemAccessible o) => IsRadioMenuItemAccessible o
+instance O.HasParentTypes RadioMenuItemAccessible
diff --git a/GI/Gtk/Objects/RadioToolButton.hs b/GI/Gtk/Objects/RadioToolButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioToolButton.hs
@@ -0,0 +1,846 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' is a 'GI.Gtk.Objects.ToolItem.ToolItem' that contains a radio button,
+that is, a button that is part of a group of toggle buttons where only
+one button can be active at a time.
+
+Use 'GI.Gtk.Objects.RadioToolButton.radioToolButtonNew' to create a new GtkRadioToolButton. Use
+'GI.Gtk.Objects.RadioToolButton.radioToolButtonNewFromWidget' to create a new GtkRadioToolButton
+that is part of the same group as an existing GtkRadioToolButton.
+
+= CSS nodes
+
+GtkRadioToolButton has a single CSS node with name toolbutton.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RadioToolButton
+    ( 
+
+-- * Exported types
+    RadioToolButton(..)                     ,
+    IsRadioToolButton                       ,
+    toRadioToolButton                       ,
+    noRadioToolButton                       ,
+
+
+ -- * Methods
+-- ** getGroup #method:getGroup#
+
+#if ENABLE_OVERLOADING
+    RadioToolButtonGetGroupMethodInfo       ,
+#endif
+    radioToolButtonGetGroup                 ,
+
+
+-- ** new #method:new#
+
+    radioToolButtonNew                      ,
+
+
+-- ** newFromStock #method:newFromStock#
+
+    radioToolButtonNewFromStock             ,
+
+
+-- ** newFromWidget #method:newFromWidget#
+
+    radioToolButtonNewFromWidget            ,
+
+
+-- ** newWithStockFromWidget #method:newWithStockFromWidget#
+
+    radioToolButtonNewWithStockFromWidget   ,
+
+
+-- ** setGroup #method:setGroup#
+
+#if ENABLE_OVERLOADING
+    RadioToolButtonSetGroupMethodInfo       ,
+#endif
+    radioToolButtonSetGroup                 ,
+
+
+
+
+ -- * Properties
+-- ** group #attr:group#
+{- | Sets a new group for a radio tool button.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    RadioToolButtonGroupPropertyInfo        ,
+#endif
+    clearRadioToolButtonGroup               ,
+    constructRadioToolButtonGroup           ,
+#if ENABLE_OVERLOADING
+    radioToolButtonGroup                    ,
+#endif
+    setRadioToolButtonGroup                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RadioButton as Gtk.RadioButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToggleToolButton as Gtk.ToggleToolButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolButton as Gtk.ToolButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolItem as Gtk.ToolItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype RadioToolButton = RadioToolButton (ManagedPtr RadioToolButton)
+foreign import ccall "gtk_radio_tool_button_get_type"
+    c_gtk_radio_tool_button_get_type :: IO GType
+
+instance GObject RadioToolButton where
+    gobjectType = c_gtk_radio_tool_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `RadioToolButton`, for instance with `toRadioToolButton`.
+class (GObject o, O.IsDescendantOf RadioToolButton o) => IsRadioToolButton o
+instance (GObject o, O.IsDescendantOf RadioToolButton o) => IsRadioToolButton o
+
+instance O.HasParentTypes RadioToolButton
+type instance O.ParentTypes RadioToolButton = '[Gtk.ToggleToolButton.ToggleToolButton, Gtk.ToolButton.ToolButton, Gtk.ToolItem.ToolItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `RadioToolButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRadioToolButton :: (MonadIO m, IsRadioToolButton o) => o -> m RadioToolButton
+toRadioToolButton = liftIO . unsafeCastTo RadioToolButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RadioToolButton`.
+noRadioToolButton :: Maybe RadioToolButton
+noRadioToolButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRadioToolButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRadioToolButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveRadioToolButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveRadioToolButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveRadioToolButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRadioToolButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveRadioToolButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveRadioToolButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveRadioToolButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveRadioToolButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRadioToolButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRadioToolButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveRadioToolButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveRadioToolButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveRadioToolButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveRadioToolButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveRadioToolButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveRadioToolButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveRadioToolButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveRadioToolButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveRadioToolButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveRadioToolButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRadioToolButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveRadioToolButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveRadioToolButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRadioToolButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRadioToolButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRadioToolButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveRadioToolButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveRadioToolButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveRadioToolButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveRadioToolButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveRadioToolButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveRadioToolButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveRadioToolButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveRadioToolButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveRadioToolButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveRadioToolButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveRadioToolButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveRadioToolButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveRadioToolButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveRadioToolButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveRadioToolButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveRadioToolButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveRadioToolButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveRadioToolButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveRadioToolButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveRadioToolButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveRadioToolButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveRadioToolButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveRadioToolButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveRadioToolButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveRadioToolButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveRadioToolButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveRadioToolButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRadioToolButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveRadioToolButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveRadioToolButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRadioToolButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRadioToolButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveRadioToolButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveRadioToolButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveRadioToolButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveRadioToolButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveRadioToolButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveRadioToolButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveRadioToolButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveRadioToolButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveRadioToolButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveRadioToolButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveRadioToolButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveRadioToolButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveRadioToolButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveRadioToolButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveRadioToolButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveRadioToolButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveRadioToolButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveRadioToolButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveRadioToolButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveRadioToolButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRadioToolButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveRadioToolButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveRadioToolButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveRadioToolButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveRadioToolButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveRadioToolButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveRadioToolButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveRadioToolButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveRadioToolButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveRadioToolButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveRadioToolButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveRadioToolButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveRadioToolButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveRadioToolButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveRadioToolButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveRadioToolButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveRadioToolButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveRadioToolButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRadioToolButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRadioToolButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveRadioToolButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveRadioToolButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveRadioToolButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveRadioToolButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveRadioToolButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRadioToolButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveRadioToolButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveRadioToolButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveRadioToolButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveRadioToolButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveRadioToolButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveRadioToolButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveRadioToolButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveRadioToolButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveRadioToolButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveRadioToolButtonMethod "rebuildMenu" o = Gtk.ToolItem.ToolItemRebuildMenuMethodInfo
+    ResolveRadioToolButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRadioToolButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRadioToolButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveRadioToolButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveRadioToolButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveRadioToolButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveRadioToolButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveRadioToolButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveRadioToolButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveRadioToolButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveRadioToolButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveRadioToolButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveRadioToolButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveRadioToolButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveRadioToolButtonMethod "retrieveProxyMenuItem" o = Gtk.ToolItem.ToolItemRetrieveProxyMenuItemMethodInfo
+    ResolveRadioToolButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRadioToolButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveRadioToolButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveRadioToolButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveRadioToolButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveRadioToolButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveRadioToolButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveRadioToolButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveRadioToolButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveRadioToolButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveRadioToolButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRadioToolButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRadioToolButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveRadioToolButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveRadioToolButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveRadioToolButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveRadioToolButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRadioToolButtonMethod "toolbarReconfigured" o = Gtk.ToolItem.ToolItemToolbarReconfiguredMethodInfo
+    ResolveRadioToolButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveRadioToolButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveRadioToolButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveRadioToolButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveRadioToolButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveRadioToolButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRadioToolButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveRadioToolButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveRadioToolButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveRadioToolButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRadioToolButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveRadioToolButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveRadioToolButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveRadioToolButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveRadioToolButtonMethod "getActive" o = Gtk.ToggleToolButton.ToggleToolButtonGetActiveMethodInfo
+    ResolveRadioToolButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveRadioToolButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveRadioToolButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveRadioToolButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveRadioToolButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveRadioToolButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveRadioToolButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveRadioToolButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveRadioToolButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveRadioToolButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveRadioToolButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveRadioToolButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveRadioToolButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveRadioToolButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveRadioToolButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveRadioToolButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveRadioToolButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveRadioToolButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRadioToolButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveRadioToolButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveRadioToolButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveRadioToolButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveRadioToolButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveRadioToolButtonMethod "getEllipsizeMode" o = Gtk.ToolItem.ToolItemGetEllipsizeModeMethodInfo
+    ResolveRadioToolButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveRadioToolButtonMethod "getExpand" o = Gtk.ToolItem.ToolItemGetExpandMethodInfo
+    ResolveRadioToolButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveRadioToolButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveRadioToolButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveRadioToolButtonMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveRadioToolButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveRadioToolButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveRadioToolButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveRadioToolButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveRadioToolButtonMethod "getGroup" o = RadioToolButtonGetGroupMethodInfo
+    ResolveRadioToolButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveRadioToolButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveRadioToolButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveRadioToolButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveRadioToolButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveRadioToolButtonMethod "getHomogeneous" o = Gtk.ToolItem.ToolItemGetHomogeneousMethodInfo
+    ResolveRadioToolButtonMethod "getIconName" o = Gtk.ToolButton.ToolButtonGetIconNameMethodInfo
+    ResolveRadioToolButtonMethod "getIconSize" o = Gtk.ToolItem.ToolItemGetIconSizeMethodInfo
+    ResolveRadioToolButtonMethod "getIconWidget" o = Gtk.ToolButton.ToolButtonGetIconWidgetMethodInfo
+    ResolveRadioToolButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRadioToolButtonMethod "getIsImportant" o = Gtk.ToolItem.ToolItemGetIsImportantMethodInfo
+    ResolveRadioToolButtonMethod "getLabel" o = Gtk.ToolButton.ToolButtonGetLabelMethodInfo
+    ResolveRadioToolButtonMethod "getLabelWidget" o = Gtk.ToolButton.ToolButtonGetLabelWidgetMethodInfo
+    ResolveRadioToolButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveRadioToolButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveRadioToolButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveRadioToolButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveRadioToolButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveRadioToolButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveRadioToolButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveRadioToolButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveRadioToolButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveRadioToolButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveRadioToolButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveRadioToolButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveRadioToolButtonMethod "getOrientation" o = Gtk.ToolItem.ToolItemGetOrientationMethodInfo
+    ResolveRadioToolButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveRadioToolButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveRadioToolButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveRadioToolButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveRadioToolButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveRadioToolButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveRadioToolButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveRadioToolButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveRadioToolButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveRadioToolButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveRadioToolButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveRadioToolButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveRadioToolButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRadioToolButtonMethod "getProxyMenuItem" o = Gtk.ToolItem.ToolItemGetProxyMenuItemMethodInfo
+    ResolveRadioToolButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRadioToolButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveRadioToolButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveRadioToolButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveRadioToolButtonMethod "getReliefStyle" o = Gtk.ToolItem.ToolItemGetReliefStyleMethodInfo
+    ResolveRadioToolButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveRadioToolButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveRadioToolButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveRadioToolButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveRadioToolButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveRadioToolButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveRadioToolButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveRadioToolButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveRadioToolButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveRadioToolButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveRadioToolButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveRadioToolButtonMethod "getStockId" o = Gtk.ToolButton.ToolButtonGetStockIdMethodInfo
+    ResolveRadioToolButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveRadioToolButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveRadioToolButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveRadioToolButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveRadioToolButtonMethod "getTextAlignment" o = Gtk.ToolItem.ToolItemGetTextAlignmentMethodInfo
+    ResolveRadioToolButtonMethod "getTextOrientation" o = Gtk.ToolItem.ToolItemGetTextOrientationMethodInfo
+    ResolveRadioToolButtonMethod "getTextSizeGroup" o = Gtk.ToolItem.ToolItemGetTextSizeGroupMethodInfo
+    ResolveRadioToolButtonMethod "getToolbarStyle" o = Gtk.ToolItem.ToolItemGetToolbarStyleMethodInfo
+    ResolveRadioToolButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveRadioToolButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveRadioToolButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveRadioToolButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveRadioToolButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveRadioToolButtonMethod "getUseDragWindow" o = Gtk.ToolItem.ToolItemGetUseDragWindowMethodInfo
+    ResolveRadioToolButtonMethod "getUseUnderline" o = Gtk.ToolButton.ToolButtonGetUseUnderlineMethodInfo
+    ResolveRadioToolButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveRadioToolButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveRadioToolButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveRadioToolButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveRadioToolButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveRadioToolButtonMethod "getVisibleHorizontal" o = Gtk.ToolItem.ToolItemGetVisibleHorizontalMethodInfo
+    ResolveRadioToolButtonMethod "getVisibleVertical" o = Gtk.ToolItem.ToolItemGetVisibleVerticalMethodInfo
+    ResolveRadioToolButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveRadioToolButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveRadioToolButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveRadioToolButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveRadioToolButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveRadioToolButtonMethod "setActive" o = Gtk.ToggleToolButton.ToggleToolButtonSetActiveMethodInfo
+    ResolveRadioToolButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveRadioToolButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveRadioToolButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveRadioToolButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRadioToolButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveRadioToolButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveRadioToolButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveRadioToolButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveRadioToolButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveRadioToolButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRadioToolButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveRadioToolButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveRadioToolButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveRadioToolButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveRadioToolButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveRadioToolButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveRadioToolButtonMethod "setExpand" o = Gtk.ToolItem.ToolItemSetExpandMethodInfo
+    ResolveRadioToolButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveRadioToolButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveRadioToolButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveRadioToolButtonMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveRadioToolButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveRadioToolButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveRadioToolButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveRadioToolButtonMethod "setGroup" o = RadioToolButtonSetGroupMethodInfo
+    ResolveRadioToolButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveRadioToolButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveRadioToolButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveRadioToolButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveRadioToolButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveRadioToolButtonMethod "setHomogeneous" o = Gtk.ToolItem.ToolItemSetHomogeneousMethodInfo
+    ResolveRadioToolButtonMethod "setIconName" o = Gtk.ToolButton.ToolButtonSetIconNameMethodInfo
+    ResolveRadioToolButtonMethod "setIconWidget" o = Gtk.ToolButton.ToolButtonSetIconWidgetMethodInfo
+    ResolveRadioToolButtonMethod "setIsImportant" o = Gtk.ToolItem.ToolItemSetIsImportantMethodInfo
+    ResolveRadioToolButtonMethod "setLabel" o = Gtk.ToolButton.ToolButtonSetLabelMethodInfo
+    ResolveRadioToolButtonMethod "setLabelWidget" o = Gtk.ToolButton.ToolButtonSetLabelWidgetMethodInfo
+    ResolveRadioToolButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveRadioToolButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveRadioToolButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveRadioToolButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveRadioToolButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveRadioToolButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveRadioToolButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveRadioToolButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveRadioToolButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveRadioToolButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveRadioToolButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveRadioToolButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveRadioToolButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRadioToolButtonMethod "setProxyMenuItem" o = Gtk.ToolItem.ToolItemSetProxyMenuItemMethodInfo
+    ResolveRadioToolButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveRadioToolButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveRadioToolButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveRadioToolButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveRadioToolButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveRadioToolButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveRadioToolButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveRadioToolButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveRadioToolButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveRadioToolButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveRadioToolButtonMethod "setStockId" o = Gtk.ToolButton.ToolButtonSetStockIdMethodInfo
+    ResolveRadioToolButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveRadioToolButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveRadioToolButtonMethod "setTooltipMarkup" o = Gtk.ToolItem.ToolItemSetTooltipMarkupMethodInfo
+    ResolveRadioToolButtonMethod "setTooltipText" o = Gtk.ToolItem.ToolItemSetTooltipTextMethodInfo
+    ResolveRadioToolButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveRadioToolButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveRadioToolButtonMethod "setUseDragWindow" o = Gtk.ToolItem.ToolItemSetUseDragWindowMethodInfo
+    ResolveRadioToolButtonMethod "setUseUnderline" o = Gtk.ToolButton.ToolButtonSetUseUnderlineMethodInfo
+    ResolveRadioToolButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveRadioToolButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveRadioToolButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveRadioToolButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveRadioToolButtonMethod "setVisibleHorizontal" o = Gtk.ToolItem.ToolItemSetVisibleHorizontalMethodInfo
+    ResolveRadioToolButtonMethod "setVisibleVertical" o = Gtk.ToolItem.ToolItemSetVisibleVerticalMethodInfo
+    ResolveRadioToolButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveRadioToolButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveRadioToolButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRadioToolButtonMethod t RadioToolButton, O.MethodInfo info RadioToolButton p) => OL.IsLabel t (RadioToolButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "RadioToolButton"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioToolButton [ #group 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioToolButtonGroup :: (MonadIO m, IsRadioToolButton o, IsRadioToolButton a) => o -> a -> m ()
+setRadioToolButtonGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRadioToolButtonGroup :: (IsRadioToolButton o, IsRadioToolButton a) => a -> IO (GValueConstruct o)
+constructRadioToolButtonGroup val = B.Properties.constructObjectPropertyObject "group" (Just val)
+
+{- |
+Set the value of the “@group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #group
+@
+-}
+clearRadioToolButtonGroup :: (MonadIO m, IsRadioToolButton o) => o -> m ()
+clearRadioToolButtonGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "group" (Nothing :: Maybe RadioToolButton)
+
+#if ENABLE_OVERLOADING
+data RadioToolButtonGroupPropertyInfo
+instance AttrInfo RadioToolButtonGroupPropertyInfo where
+    type AttrAllowedOps RadioToolButtonGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint RadioToolButtonGroupPropertyInfo = IsRadioToolButton
+    type AttrBaseTypeConstraint RadioToolButtonGroupPropertyInfo = IsRadioToolButton
+    type AttrGetType RadioToolButtonGroupPropertyInfo = ()
+    type AttrLabel RadioToolButtonGroupPropertyInfo = "group"
+    type AttrOrigin RadioToolButtonGroupPropertyInfo = RadioToolButton
+    attrGet _ = undefined
+    attrSet _ = setRadioToolButtonGroup
+    attrConstruct _ = constructRadioToolButtonGroup
+    attrClear _ = clearRadioToolButtonGroup
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RadioToolButton
+type instance O.AttributeList RadioToolButton = RadioToolButtonAttributeList
+type RadioToolButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", Gtk.ToggleToolButton.ToggleToolButtonActivePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("group", RadioToolButtonGroupPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("iconName", Gtk.ToolButton.ToolButtonIconNamePropertyInfo), '("iconWidget", Gtk.ToolButton.ToolButtonIconWidgetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isImportant", Gtk.ToolItem.ToolItemIsImportantPropertyInfo), '("label", Gtk.ToolButton.ToolButtonLabelPropertyInfo), '("labelWidget", Gtk.ToolButton.ToolButtonLabelWidgetPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stockId", Gtk.ToolButton.ToolButtonStockIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useUnderline", Gtk.ToolButton.ToolButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visibleHorizontal", Gtk.ToolItem.ToolItemVisibleHorizontalPropertyInfo), '("visibleVertical", Gtk.ToolItem.ToolItemVisibleVerticalPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+radioToolButtonGroup :: AttrLabelProxy "group"
+radioToolButtonGroup = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RadioToolButton = RadioToolButtonSignalList
+type RadioToolButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.ToolButton.ToolButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("createMenuProxy", Gtk.ToolItem.ToolItemCreateMenuProxySignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggled", Gtk.ToggleToolButton.ToggleToolButtonToggledSignalInfo), '("toolbarReconfigured", Gtk.ToolItem.ToolItemToolbarReconfiguredSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RadioToolButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "An\n  existing radio button group, or %NULL if you are creating a new group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_tool_button_new" gtk_radio_tool_button_new :: 
+    Ptr (GSList (Ptr Gtk.RadioButton.RadioButton)) -> -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+    IO (Ptr RadioToolButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton', adding it to /@group@/.
+
+/Since: 2.4/
+-}
+radioToolButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.RadioButton.IsRadioButton a) =>
+    [a]
+    {- ^ /@group@/: An
+  existing radio button group, or 'Nothing' if you are creating a new group -}
+    -> m RadioToolButton
+    {- ^ __Returns:__ The new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' -}
+radioToolButtonNew group = liftIO $ do
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    result <- gtk_radio_tool_button_new group''
+    checkUnexpectedReturnNULL "radioToolButtonNew" result
+    result' <- (newObject RadioToolButton) result
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioToolButton::new_from_stock
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an existing radio button\n  group, or %NULL if you are creating a new group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a stock item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_tool_button_new_from_stock" gtk_radio_tool_button_new_from_stock :: 
+    Ptr (GSList (Ptr Gtk.RadioButton.RadioButton)) -> -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr RadioToolButton)
+
+{-# DEPRECATED radioToolButtonNewFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.RadioToolButton.radioToolButtonNew' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton', adding it to /@group@/.
+The new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' will contain an icon and label from the
+stock item indicated by /@stockId@/.
+
+/Since: 2.4/
+-}
+radioToolButtonNewFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.RadioButton.IsRadioButton a) =>
+    [a]
+    {- ^ /@group@/: an existing radio button
+  group, or 'Nothing' if you are creating a new group -}
+    -> T.Text
+    {- ^ /@stockId@/: the name of a stock item -}
+    -> m RadioToolButton
+    {- ^ __Returns:__ The new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' -}
+radioToolButtonNewFromStock group stockId = liftIO $ do
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    stockId' <- textToCString stockId
+    result <- gtk_radio_tool_button_new_from_stock group'' stockId'
+    checkUnexpectedReturnNULL "radioToolButtonNewFromStock" result
+    result' <- (newObject RadioToolButton) result
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioToolButton::new_from_widget
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "RadioToolButton"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "An existing #GtkRadioToolButton, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_tool_button_new_from_widget" gtk_radio_tool_button_new_from_widget :: 
+    Ptr RadioToolButton ->                  -- group : TInterface (Name {namespace = "Gtk", name = "RadioToolButton"})
+    IO (Ptr RadioToolButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' adding it to the same group as /@gruup@/
+
+/Since: 2.4/
+-}
+radioToolButtonNewFromWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioToolButton a) =>
+    Maybe (a)
+    {- ^ /@group@/: An existing 'GI.Gtk.Objects.RadioToolButton.RadioToolButton', or 'Nothing' -}
+    -> m RadioToolButton
+    {- ^ __Returns:__ The new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' -}
+radioToolButtonNewFromWidget group = liftIO $ do
+    maybeGroup <- case group of
+        Nothing -> return nullPtr
+        Just jGroup -> do
+            jGroup' <- unsafeManagedPtrCastPtr jGroup
+            return jGroup'
+    result <- gtk_radio_tool_button_new_from_widget maybeGroup
+    checkUnexpectedReturnNULL "radioToolButtonNewFromWidget" result
+    result' <- (newObject RadioToolButton) result
+    whenJust group touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioToolButton::new_with_stock_from_widget
+-- method type : Constructor
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "RadioToolButton"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "An existing #GtkRadioToolButton.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a stock item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RadioToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_tool_button_new_with_stock_from_widget" gtk_radio_tool_button_new_with_stock_from_widget :: 
+    Ptr RadioToolButton ->                  -- group : TInterface (Name {namespace = "Gtk", name = "RadioToolButton"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr RadioToolButton)
+
+{-# DEPRECATED radioToolButtonNewWithStockFromWidget ["(Since version 3.10)","gtk_radio_tool_button_new_from_widget"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' adding it to the same group as /@group@/.
+The new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' will contain an icon and label from the
+stock item indicated by /@stockId@/.
+
+/Since: 2.4/
+-}
+radioToolButtonNewWithStockFromWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioToolButton a) =>
+    Maybe (a)
+    {- ^ /@group@/: An existing 'GI.Gtk.Objects.RadioToolButton.RadioToolButton'. -}
+    -> T.Text
+    {- ^ /@stockId@/: the name of a stock item -}
+    -> m RadioToolButton
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' -}
+radioToolButtonNewWithStockFromWidget group stockId = liftIO $ do
+    maybeGroup <- case group of
+        Nothing -> return nullPtr
+        Just jGroup -> do
+            jGroup' <- unsafeManagedPtrCastPtr jGroup
+            return jGroup'
+    stockId' <- textToCString stockId
+    result <- gtk_radio_tool_button_new_with_stock_from_widget maybeGroup stockId'
+    checkUnexpectedReturnNULL "radioToolButtonNewWithStockFromWidget" result
+    result' <- (newObject RadioToolButton) result
+    whenJust group touchManagedPtr
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RadioToolButton::get_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "RadioToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRadioToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_tool_button_get_group" gtk_radio_tool_button_get_group :: 
+    Ptr RadioToolButton ->                  -- button : TInterface (Name {namespace = "Gtk", name = "RadioToolButton"})
+    IO (Ptr (GSList (Ptr Gtk.RadioButton.RadioButton)))
+
+{- |
+Returns the radio button group /@button@/ belongs to.
+
+/Since: 2.4/
+-}
+radioToolButtonGetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' -}
+    -> m [Gtk.RadioButton.RadioButton]
+    {- ^ __Returns:__ The group /@button@/ belongs to. -}
+radioToolButtonGetGroup button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_radio_tool_button_get_group button'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.RadioButton.RadioButton) result'
+    touchManagedPtr button
+    return result''
+
+#if ENABLE_OVERLOADING
+data RadioToolButtonGetGroupMethodInfo
+instance (signature ~ (m [Gtk.RadioButton.RadioButton]), MonadIO m, IsRadioToolButton a) => O.MethodInfo RadioToolButtonGetGroupMethodInfo a signature where
+    overloadedMethod _ = radioToolButtonGetGroup
+
+#endif
+
+-- method RadioToolButton::set_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "RadioToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRadioToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an existing radio button group, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_radio_tool_button_set_group" gtk_radio_tool_button_set_group :: 
+    Ptr RadioToolButton ->                  -- button : TInterface (Name {namespace = "Gtk", name = "RadioToolButton"})
+    Ptr (GSList (Ptr Gtk.RadioButton.RadioButton)) -> -- group : TGSList (TInterface (Name {namespace = "Gtk", name = "RadioButton"}))
+    IO ()
+
+{- |
+Adds /@button@/ to /@group@/, removing it from the group it belonged to before.
+
+/Since: 2.4/
+-}
+radioToolButtonSetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRadioToolButton a, Gtk.RadioButton.IsRadioButton b) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' -}
+    -> [b]
+    {- ^ /@group@/: an existing radio button group, or 'Nothing' -}
+    -> m ()
+radioToolButtonSetGroup button group = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    group' <- mapM unsafeManagedPtrCastPtr group
+    group'' <- packGSList group'
+    gtk_radio_tool_button_set_group button' group''
+    touchManagedPtr button
+    mapM_ touchManagedPtr group
+    g_slist_free group''
+    return ()
+
+#if ENABLE_OVERLOADING
+data RadioToolButtonSetGroupMethodInfo
+instance (signature ~ ([b] -> m ()), MonadIO m, IsRadioToolButton a, Gtk.RadioButton.IsRadioButton b) => O.MethodInfo RadioToolButtonSetGroupMethodInfo a signature where
+    overloadedMethod _ = radioToolButtonSetGroup
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RadioToolButton.hs-boot b/GI/Gtk/Objects/RadioToolButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RadioToolButton.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RadioToolButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RadioToolButton = RadioToolButton (ManagedPtr RadioToolButton)
+instance GObject RadioToolButton where
+class (GObject o, O.IsDescendantOf RadioToolButton o) => IsRadioToolButton o
+instance (GObject o, O.IsDescendantOf RadioToolButton o) => IsRadioToolButton o
+instance O.HasParentTypes RadioToolButton
+#if ENABLE_OVERLOADING
+data RadioToolButtonGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioToolButtonGetGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RadioToolButtonSetGroupMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Range.hs b/GI/Gtk/Objects/Range.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Range.hs
@@ -0,0 +1,2713 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.Range.Range' is the common base class for widgets which visualize an
+adjustment, e.g 'GI.Gtk.Objects.Scale.Scale' or 'GI.Gtk.Objects.Scrollbar.Scrollbar'.
+
+Apart from signals for monitoring the parameters of the adjustment,
+'GI.Gtk.Objects.Range.Range' provides properties and methods for influencing the sensitivity
+of the “steppers”. It also provides properties and methods for setting a
+“fill level” on range widgets. See 'GI.Gtk.Objects.Range.rangeSetFillLevel'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Range
+    ( 
+
+-- * Exported types
+    Range(..)                               ,
+    IsRange                                 ,
+    toRange                                 ,
+    noRange                                 ,
+
+
+ -- * Methods
+-- ** getAdjustment #method:getAdjustment#
+
+#if ENABLE_OVERLOADING
+    RangeGetAdjustmentMethodInfo            ,
+#endif
+    rangeGetAdjustment                      ,
+
+
+-- ** getFillLevel #method:getFillLevel#
+
+#if ENABLE_OVERLOADING
+    RangeGetFillLevelMethodInfo             ,
+#endif
+    rangeGetFillLevel                       ,
+
+
+-- ** getFlippable #method:getFlippable#
+
+#if ENABLE_OVERLOADING
+    RangeGetFlippableMethodInfo             ,
+#endif
+    rangeGetFlippable                       ,
+
+
+-- ** getInverted #method:getInverted#
+
+#if ENABLE_OVERLOADING
+    RangeGetInvertedMethodInfo              ,
+#endif
+    rangeGetInverted                        ,
+
+
+-- ** getLowerStepperSensitivity #method:getLowerStepperSensitivity#
+
+#if ENABLE_OVERLOADING
+    RangeGetLowerStepperSensitivityMethodInfo,
+#endif
+    rangeGetLowerStepperSensitivity         ,
+
+
+-- ** getMinSliderSize #method:getMinSliderSize#
+
+#if ENABLE_OVERLOADING
+    RangeGetMinSliderSizeMethodInfo         ,
+#endif
+    rangeGetMinSliderSize                   ,
+
+
+-- ** getRangeRect #method:getRangeRect#
+
+#if ENABLE_OVERLOADING
+    RangeGetRangeRectMethodInfo             ,
+#endif
+    rangeGetRangeRect                       ,
+
+
+-- ** getRestrictToFillLevel #method:getRestrictToFillLevel#
+
+#if ENABLE_OVERLOADING
+    RangeGetRestrictToFillLevelMethodInfo   ,
+#endif
+    rangeGetRestrictToFillLevel             ,
+
+
+-- ** getRoundDigits #method:getRoundDigits#
+
+#if ENABLE_OVERLOADING
+    RangeGetRoundDigitsMethodInfo           ,
+#endif
+    rangeGetRoundDigits                     ,
+
+
+-- ** getShowFillLevel #method:getShowFillLevel#
+
+#if ENABLE_OVERLOADING
+    RangeGetShowFillLevelMethodInfo         ,
+#endif
+    rangeGetShowFillLevel                   ,
+
+
+-- ** getSliderRange #method:getSliderRange#
+
+#if ENABLE_OVERLOADING
+    RangeGetSliderRangeMethodInfo           ,
+#endif
+    rangeGetSliderRange                     ,
+
+
+-- ** getSliderSizeFixed #method:getSliderSizeFixed#
+
+#if ENABLE_OVERLOADING
+    RangeGetSliderSizeFixedMethodInfo       ,
+#endif
+    rangeGetSliderSizeFixed                 ,
+
+
+-- ** getUpperStepperSensitivity #method:getUpperStepperSensitivity#
+
+#if ENABLE_OVERLOADING
+    RangeGetUpperStepperSensitivityMethodInfo,
+#endif
+    rangeGetUpperStepperSensitivity         ,
+
+
+-- ** getValue #method:getValue#
+
+#if ENABLE_OVERLOADING
+    RangeGetValueMethodInfo                 ,
+#endif
+    rangeGetValue                           ,
+
+
+-- ** setAdjustment #method:setAdjustment#
+
+#if ENABLE_OVERLOADING
+    RangeSetAdjustmentMethodInfo            ,
+#endif
+    rangeSetAdjustment                      ,
+
+
+-- ** setFillLevel #method:setFillLevel#
+
+#if ENABLE_OVERLOADING
+    RangeSetFillLevelMethodInfo             ,
+#endif
+    rangeSetFillLevel                       ,
+
+
+-- ** setFlippable #method:setFlippable#
+
+#if ENABLE_OVERLOADING
+    RangeSetFlippableMethodInfo             ,
+#endif
+    rangeSetFlippable                       ,
+
+
+-- ** setIncrements #method:setIncrements#
+
+#if ENABLE_OVERLOADING
+    RangeSetIncrementsMethodInfo            ,
+#endif
+    rangeSetIncrements                      ,
+
+
+-- ** setInverted #method:setInverted#
+
+#if ENABLE_OVERLOADING
+    RangeSetInvertedMethodInfo              ,
+#endif
+    rangeSetInverted                        ,
+
+
+-- ** setLowerStepperSensitivity #method:setLowerStepperSensitivity#
+
+#if ENABLE_OVERLOADING
+    RangeSetLowerStepperSensitivityMethodInfo,
+#endif
+    rangeSetLowerStepperSensitivity         ,
+
+
+-- ** setMinSliderSize #method:setMinSliderSize#
+
+#if ENABLE_OVERLOADING
+    RangeSetMinSliderSizeMethodInfo         ,
+#endif
+    rangeSetMinSliderSize                   ,
+
+
+-- ** setRange #method:setRange#
+
+#if ENABLE_OVERLOADING
+    RangeSetRangeMethodInfo                 ,
+#endif
+    rangeSetRange                           ,
+
+
+-- ** setRestrictToFillLevel #method:setRestrictToFillLevel#
+
+#if ENABLE_OVERLOADING
+    RangeSetRestrictToFillLevelMethodInfo   ,
+#endif
+    rangeSetRestrictToFillLevel             ,
+
+
+-- ** setRoundDigits #method:setRoundDigits#
+
+#if ENABLE_OVERLOADING
+    RangeSetRoundDigitsMethodInfo           ,
+#endif
+    rangeSetRoundDigits                     ,
+
+
+-- ** setShowFillLevel #method:setShowFillLevel#
+
+#if ENABLE_OVERLOADING
+    RangeSetShowFillLevelMethodInfo         ,
+#endif
+    rangeSetShowFillLevel                   ,
+
+
+-- ** setSliderSizeFixed #method:setSliderSizeFixed#
+
+#if ENABLE_OVERLOADING
+    RangeSetSliderSizeFixedMethodInfo       ,
+#endif
+    rangeSetSliderSizeFixed                 ,
+
+
+-- ** setUpperStepperSensitivity #method:setUpperStepperSensitivity#
+
+#if ENABLE_OVERLOADING
+    RangeSetUpperStepperSensitivityMethodInfo,
+#endif
+    rangeSetUpperStepperSensitivity         ,
+
+
+-- ** setValue #method:setValue#
+
+#if ENABLE_OVERLOADING
+    RangeSetValueMethodInfo                 ,
+#endif
+    rangeSetValue                           ,
+
+
+
+
+ -- * Properties
+-- ** adjustment #attr:adjustment#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RangeAdjustmentPropertyInfo             ,
+#endif
+    constructRangeAdjustment                ,
+    getRangeAdjustment                      ,
+#if ENABLE_OVERLOADING
+    rangeAdjustment                         ,
+#endif
+    setRangeAdjustment                      ,
+
+
+-- ** fillLevel #attr:fillLevel#
+{- | The fill level (e.g. prebuffering of a network stream).
+See 'GI.Gtk.Objects.Range.rangeSetFillLevel'.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    RangeFillLevelPropertyInfo              ,
+#endif
+    constructRangeFillLevel                 ,
+    getRangeFillLevel                       ,
+#if ENABLE_OVERLOADING
+    rangeFillLevel                          ,
+#endif
+    setRangeFillLevel                       ,
+
+
+-- ** inverted #attr:inverted#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RangeInvertedPropertyInfo               ,
+#endif
+    constructRangeInverted                  ,
+    getRangeInverted                        ,
+#if ENABLE_OVERLOADING
+    rangeInverted                           ,
+#endif
+    setRangeInverted                        ,
+
+
+-- ** lowerStepperSensitivity #attr:lowerStepperSensitivity#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RangeLowerStepperSensitivityPropertyInfo,
+#endif
+    constructRangeLowerStepperSensitivity   ,
+    getRangeLowerStepperSensitivity         ,
+#if ENABLE_OVERLOADING
+    rangeLowerStepperSensitivity            ,
+#endif
+    setRangeLowerStepperSensitivity         ,
+
+
+-- ** restrictToFillLevel #attr:restrictToFillLevel#
+{- | The restrict-to-fill-level property controls whether slider
+movement is restricted to an upper boundary set by the
+fill level. See 'GI.Gtk.Objects.Range.rangeSetRestrictToFillLevel'.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    RangeRestrictToFillLevelPropertyInfo    ,
+#endif
+    constructRangeRestrictToFillLevel       ,
+    getRangeRestrictToFillLevel             ,
+#if ENABLE_OVERLOADING
+    rangeRestrictToFillLevel                ,
+#endif
+    setRangeRestrictToFillLevel             ,
+
+
+-- ** roundDigits #attr:roundDigits#
+{- | The number of digits to round the value to when
+it changes, or -1. See 'GI.Gtk.Objects.Range.Range'::@/change-value/@.
+
+/Since: 2.24/
+-}
+#if ENABLE_OVERLOADING
+    RangeRoundDigitsPropertyInfo            ,
+#endif
+    constructRangeRoundDigits               ,
+    getRangeRoundDigits                     ,
+#if ENABLE_OVERLOADING
+    rangeRoundDigits                        ,
+#endif
+    setRangeRoundDigits                     ,
+
+
+-- ** showFillLevel #attr:showFillLevel#
+{- | The show-fill-level property controls whether fill level indicator
+graphics are displayed on the trough. See
+'GI.Gtk.Objects.Range.rangeSetShowFillLevel'.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    RangeShowFillLevelPropertyInfo          ,
+#endif
+    constructRangeShowFillLevel             ,
+    getRangeShowFillLevel                   ,
+#if ENABLE_OVERLOADING
+    rangeShowFillLevel                      ,
+#endif
+    setRangeShowFillLevel                   ,
+
+
+-- ** upperStepperSensitivity #attr:upperStepperSensitivity#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RangeUpperStepperSensitivityPropertyInfo,
+#endif
+    constructRangeUpperStepperSensitivity   ,
+    getRangeUpperStepperSensitivity         ,
+#if ENABLE_OVERLOADING
+    rangeUpperStepperSensitivity            ,
+#endif
+    setRangeUpperStepperSensitivity         ,
+
+
+
+
+ -- * Signals
+-- ** adjustBounds #signal:adjustBounds#
+
+    C_RangeAdjustBoundsCallback             ,
+    RangeAdjustBoundsCallback               ,
+#if ENABLE_OVERLOADING
+    RangeAdjustBoundsSignalInfo             ,
+#endif
+    afterRangeAdjustBounds                  ,
+    genClosure_RangeAdjustBounds            ,
+    mk_RangeAdjustBoundsCallback            ,
+    noRangeAdjustBoundsCallback             ,
+    onRangeAdjustBounds                     ,
+    wrap_RangeAdjustBoundsCallback          ,
+
+
+-- ** changeValue #signal:changeValue#
+
+    C_RangeChangeValueCallback              ,
+    RangeChangeValueCallback                ,
+#if ENABLE_OVERLOADING
+    RangeChangeValueSignalInfo              ,
+#endif
+    afterRangeChangeValue                   ,
+    genClosure_RangeChangeValue             ,
+    mk_RangeChangeValueCallback             ,
+    noRangeChangeValueCallback              ,
+    onRangeChangeValue                      ,
+    wrap_RangeChangeValueCallback           ,
+
+
+-- ** moveSlider #signal:moveSlider#
+
+    C_RangeMoveSliderCallback               ,
+    RangeMoveSliderCallback                 ,
+#if ENABLE_OVERLOADING
+    RangeMoveSliderSignalInfo               ,
+#endif
+    afterRangeMoveSlider                    ,
+    genClosure_RangeMoveSlider              ,
+    mk_RangeMoveSliderCallback              ,
+    noRangeMoveSliderCallback               ,
+    onRangeMoveSlider                       ,
+    wrap_RangeMoveSliderCallback            ,
+
+
+-- ** valueChanged #signal:valueChanged#
+
+    C_RangeValueChangedCallback             ,
+    RangeValueChangedCallback               ,
+#if ENABLE_OVERLOADING
+    RangeValueChangedSignalInfo             ,
+#endif
+    afterRangeValueChanged                  ,
+    genClosure_RangeValueChanged            ,
+    mk_RangeValueChangedCallback            ,
+    noRangeValueChangedCallback             ,
+    onRangeValueChanged                     ,
+    wrap_RangeValueChangedCallback          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Range = Range (ManagedPtr Range)
+foreign import ccall "gtk_range_get_type"
+    c_gtk_range_get_type :: IO GType
+
+instance GObject Range where
+    gobjectType = c_gtk_range_get_type
+    
+
+-- | Type class for types which can be safely cast to `Range`, for instance with `toRange`.
+class (GObject o, O.IsDescendantOf Range o) => IsRange o
+instance (GObject o, O.IsDescendantOf Range o) => IsRange o
+
+instance O.HasParentTypes Range
+type instance O.ParentTypes Range = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `Range`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRange :: (MonadIO m, IsRange o) => o -> m Range
+toRange = liftIO . unsafeCastTo Range
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Range`.
+noRange :: Maybe Range
+noRange = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRangeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRangeMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveRangeMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveRangeMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRangeMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveRangeMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveRangeMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveRangeMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveRangeMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRangeMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRangeMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveRangeMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveRangeMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveRangeMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveRangeMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveRangeMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRangeMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveRangeMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveRangeMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRangeMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRangeMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRangeMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveRangeMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveRangeMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveRangeMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveRangeMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveRangeMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveRangeMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveRangeMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveRangeMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveRangeMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveRangeMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveRangeMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveRangeMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveRangeMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveRangeMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveRangeMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveRangeMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveRangeMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveRangeMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveRangeMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveRangeMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveRangeMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveRangeMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveRangeMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveRangeMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveRangeMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveRangeMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveRangeMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveRangeMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveRangeMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveRangeMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveRangeMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveRangeMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveRangeMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveRangeMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveRangeMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRangeMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveRangeMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRangeMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRangeMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveRangeMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveRangeMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveRangeMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveRangeMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveRangeMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveRangeMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveRangeMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveRangeMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveRangeMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveRangeMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveRangeMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveRangeMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveRangeMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveRangeMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveRangeMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveRangeMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveRangeMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveRangeMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveRangeMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveRangeMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRangeMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveRangeMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveRangeMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveRangeMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveRangeMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveRangeMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveRangeMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveRangeMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveRangeMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveRangeMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveRangeMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveRangeMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveRangeMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveRangeMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveRangeMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveRangeMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveRangeMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveRangeMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRangeMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRangeMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveRangeMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveRangeMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveRangeMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveRangeMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveRangeMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRangeMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveRangeMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveRangeMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveRangeMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveRangeMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveRangeMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveRangeMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveRangeMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveRangeMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveRangeMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRangeMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRangeMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveRangeMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveRangeMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveRangeMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveRangeMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveRangeMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveRangeMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveRangeMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveRangeMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveRangeMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveRangeMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRangeMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveRangeMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveRangeMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveRangeMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveRangeMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveRangeMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveRangeMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveRangeMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveRangeMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveRangeMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRangeMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRangeMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveRangeMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveRangeMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveRangeMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRangeMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveRangeMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveRangeMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveRangeMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveRangeMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveRangeMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRangeMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveRangeMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveRangeMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRangeMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveRangeMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveRangeMethod "getAdjustment" o = RangeGetAdjustmentMethodInfo
+    ResolveRangeMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveRangeMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveRangeMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveRangeMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveRangeMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveRangeMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveRangeMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveRangeMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveRangeMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveRangeMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveRangeMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveRangeMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveRangeMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveRangeMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveRangeMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRangeMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveRangeMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveRangeMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveRangeMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveRangeMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveRangeMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveRangeMethod "getFillLevel" o = RangeGetFillLevelMethodInfo
+    ResolveRangeMethod "getFlippable" o = RangeGetFlippableMethodInfo
+    ResolveRangeMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveRangeMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveRangeMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveRangeMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveRangeMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveRangeMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveRangeMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveRangeMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveRangeMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveRangeMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRangeMethod "getInverted" o = RangeGetInvertedMethodInfo
+    ResolveRangeMethod "getLowerStepperSensitivity" o = RangeGetLowerStepperSensitivityMethodInfo
+    ResolveRangeMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveRangeMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveRangeMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveRangeMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveRangeMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveRangeMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveRangeMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveRangeMethod "getMinSliderSize" o = RangeGetMinSliderSizeMethodInfo
+    ResolveRangeMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveRangeMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveRangeMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveRangeMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveRangeMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveRangeMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveRangeMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveRangeMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveRangeMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveRangeMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveRangeMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveRangeMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveRangeMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveRangeMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveRangeMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveRangeMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveRangeMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveRangeMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRangeMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRangeMethod "getRangeRect" o = RangeGetRangeRectMethodInfo
+    ResolveRangeMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveRangeMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveRangeMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveRangeMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveRangeMethod "getRestrictToFillLevel" o = RangeGetRestrictToFillLevelMethodInfo
+    ResolveRangeMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveRangeMethod "getRoundDigits" o = RangeGetRoundDigitsMethodInfo
+    ResolveRangeMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveRangeMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveRangeMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveRangeMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveRangeMethod "getShowFillLevel" o = RangeGetShowFillLevelMethodInfo
+    ResolveRangeMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveRangeMethod "getSliderRange" o = RangeGetSliderRangeMethodInfo
+    ResolveRangeMethod "getSliderSizeFixed" o = RangeGetSliderSizeFixedMethodInfo
+    ResolveRangeMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveRangeMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveRangeMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveRangeMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveRangeMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveRangeMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveRangeMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveRangeMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveRangeMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveRangeMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveRangeMethod "getUpperStepperSensitivity" o = RangeGetUpperStepperSensitivityMethodInfo
+    ResolveRangeMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveRangeMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveRangeMethod "getValue" o = RangeGetValueMethodInfo
+    ResolveRangeMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveRangeMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveRangeMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveRangeMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveRangeMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveRangeMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveRangeMethod "setAdjustment" o = RangeSetAdjustmentMethodInfo
+    ResolveRangeMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveRangeMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveRangeMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRangeMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveRangeMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveRangeMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveRangeMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveRangeMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveRangeMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRangeMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveRangeMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveRangeMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveRangeMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveRangeMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveRangeMethod "setFillLevel" o = RangeSetFillLevelMethodInfo
+    ResolveRangeMethod "setFlippable" o = RangeSetFlippableMethodInfo
+    ResolveRangeMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveRangeMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveRangeMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveRangeMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveRangeMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveRangeMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveRangeMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveRangeMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveRangeMethod "setIncrements" o = RangeSetIncrementsMethodInfo
+    ResolveRangeMethod "setInverted" o = RangeSetInvertedMethodInfo
+    ResolveRangeMethod "setLowerStepperSensitivity" o = RangeSetLowerStepperSensitivityMethodInfo
+    ResolveRangeMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveRangeMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveRangeMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveRangeMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveRangeMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveRangeMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveRangeMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveRangeMethod "setMinSliderSize" o = RangeSetMinSliderSizeMethodInfo
+    ResolveRangeMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveRangeMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveRangeMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveRangeMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveRangeMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveRangeMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveRangeMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRangeMethod "setRange" o = RangeSetRangeMethodInfo
+    ResolveRangeMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveRangeMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveRangeMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveRangeMethod "setRestrictToFillLevel" o = RangeSetRestrictToFillLevelMethodInfo
+    ResolveRangeMethod "setRoundDigits" o = RangeSetRoundDigitsMethodInfo
+    ResolveRangeMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveRangeMethod "setShowFillLevel" o = RangeSetShowFillLevelMethodInfo
+    ResolveRangeMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveRangeMethod "setSliderSizeFixed" o = RangeSetSliderSizeFixedMethodInfo
+    ResolveRangeMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveRangeMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveRangeMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveRangeMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveRangeMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveRangeMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveRangeMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveRangeMethod "setUpperStepperSensitivity" o = RangeSetUpperStepperSensitivityMethodInfo
+    ResolveRangeMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveRangeMethod "setValue" o = RangeSetValueMethodInfo
+    ResolveRangeMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveRangeMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveRangeMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveRangeMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveRangeMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveRangeMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRangeMethod t Range, O.MethodInfo info Range p) => OL.IsLabel t (Range -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Range::adjust-bounds
+{- |
+Emitted before clamping a value, to give the application a
+chance to adjust the bounds.
+-}
+type RangeAdjustBoundsCallback =
+    Double
+    {- ^ /@value@/: the value before we clamp -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RangeAdjustBoundsCallback`@.
+noRangeAdjustBoundsCallback :: Maybe RangeAdjustBoundsCallback
+noRangeAdjustBoundsCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RangeAdjustBoundsCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_RangeAdjustBoundsCallback`.
+foreign import ccall "wrapper"
+    mk_RangeAdjustBoundsCallback :: C_RangeAdjustBoundsCallback -> IO (FunPtr C_RangeAdjustBoundsCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RangeAdjustBounds :: MonadIO m => RangeAdjustBoundsCallback -> m (GClosure C_RangeAdjustBoundsCallback)
+genClosure_RangeAdjustBounds cb = liftIO $ do
+    let cb' = wrap_RangeAdjustBoundsCallback cb
+    mk_RangeAdjustBoundsCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RangeAdjustBoundsCallback` into a `C_RangeAdjustBoundsCallback`.
+wrap_RangeAdjustBoundsCallback ::
+    RangeAdjustBoundsCallback ->
+    C_RangeAdjustBoundsCallback
+wrap_RangeAdjustBoundsCallback _cb _ value _ = do
+    let value' = realToFrac value
+    _cb  value'
+
+
+{- |
+Connect a signal handler for the “@adjust-bounds@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' range #adjustBounds callback
+@
+-}
+onRangeAdjustBounds :: (IsRange a, MonadIO m) => a -> RangeAdjustBoundsCallback -> m SignalHandlerId
+onRangeAdjustBounds obj cb = liftIO $ do
+    let cb' = wrap_RangeAdjustBoundsCallback cb
+    cb'' <- mk_RangeAdjustBoundsCallback cb'
+    connectSignalFunPtr obj "adjust-bounds" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@adjust-bounds@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' range #adjustBounds callback
+@
+-}
+afterRangeAdjustBounds :: (IsRange a, MonadIO m) => a -> RangeAdjustBoundsCallback -> m SignalHandlerId
+afterRangeAdjustBounds obj cb = liftIO $ do
+    let cb' = wrap_RangeAdjustBoundsCallback cb
+    cb'' <- mk_RangeAdjustBoundsCallback cb'
+    connectSignalFunPtr obj "adjust-bounds" cb'' SignalConnectAfter
+
+
+-- signal Range::change-value
+{- |
+The 'GI.Gtk.Objects.Range.Range'::@/change-value/@ signal is emitted when a scroll action is
+performed on a range.  It allows an application to determine the
+type of scroll event that occurred and the resultant new value.
+The application can handle the event itself and return 'True' to
+prevent further processing.  Or, by returning 'False', it can pass
+the event to other handlers until the default GTK+ handler is
+reached.
+
+The value parameter is unrounded.  An application that overrides
+the GtkRange::change-value signal is responsible for clamping the
+value to the desired number of decimal digits; the default GTK+
+handler clamps the value based on 'GI.Gtk.Objects.Range.Range':@/round-digits/@.
+
+/Since: 2.6/
+-}
+type RangeChangeValueCallback =
+    Gtk.Enums.ScrollType
+    {- ^ /@scroll@/: the type of scroll action that was performed -}
+    -> Double
+    {- ^ /@value@/: the new value resulting from the scroll action -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to prevent other handlers from being invoked for
+    the signal, 'False' to propagate the signal further -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RangeChangeValueCallback`@.
+noRangeChangeValueCallback :: Maybe RangeChangeValueCallback
+noRangeChangeValueCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RangeChangeValueCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_RangeChangeValueCallback`.
+foreign import ccall "wrapper"
+    mk_RangeChangeValueCallback :: C_RangeChangeValueCallback -> IO (FunPtr C_RangeChangeValueCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RangeChangeValue :: MonadIO m => RangeChangeValueCallback -> m (GClosure C_RangeChangeValueCallback)
+genClosure_RangeChangeValue cb = liftIO $ do
+    let cb' = wrap_RangeChangeValueCallback cb
+    mk_RangeChangeValueCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RangeChangeValueCallback` into a `C_RangeChangeValueCallback`.
+wrap_RangeChangeValueCallback ::
+    RangeChangeValueCallback ->
+    C_RangeChangeValueCallback
+wrap_RangeChangeValueCallback _cb _ scroll value _ = do
+    let scroll' = (toEnum . fromIntegral) scroll
+    let value' = realToFrac value
+    result <- _cb  scroll' value'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@change-value@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' range #changeValue callback
+@
+-}
+onRangeChangeValue :: (IsRange a, MonadIO m) => a -> RangeChangeValueCallback -> m SignalHandlerId
+onRangeChangeValue obj cb = liftIO $ do
+    let cb' = wrap_RangeChangeValueCallback cb
+    cb'' <- mk_RangeChangeValueCallback cb'
+    connectSignalFunPtr obj "change-value" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@change-value@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' range #changeValue callback
+@
+-}
+afterRangeChangeValue :: (IsRange a, MonadIO m) => a -> RangeChangeValueCallback -> m SignalHandlerId
+afterRangeChangeValue obj cb = liftIO $ do
+    let cb' = wrap_RangeChangeValueCallback cb
+    cb'' <- mk_RangeChangeValueCallback cb'
+    connectSignalFunPtr obj "change-value" cb'' SignalConnectAfter
+
+
+-- signal Range::move-slider
+{- |
+Virtual function that moves the slider. Used for keybindings.
+-}
+type RangeMoveSliderCallback =
+    Gtk.Enums.ScrollType
+    {- ^ /@step@/: how to move the slider -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RangeMoveSliderCallback`@.
+noRangeMoveSliderCallback :: Maybe RangeMoveSliderCallback
+noRangeMoveSliderCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RangeMoveSliderCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_RangeMoveSliderCallback`.
+foreign import ccall "wrapper"
+    mk_RangeMoveSliderCallback :: C_RangeMoveSliderCallback -> IO (FunPtr C_RangeMoveSliderCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RangeMoveSlider :: MonadIO m => RangeMoveSliderCallback -> m (GClosure C_RangeMoveSliderCallback)
+genClosure_RangeMoveSlider cb = liftIO $ do
+    let cb' = wrap_RangeMoveSliderCallback cb
+    mk_RangeMoveSliderCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RangeMoveSliderCallback` into a `C_RangeMoveSliderCallback`.
+wrap_RangeMoveSliderCallback ::
+    RangeMoveSliderCallback ->
+    C_RangeMoveSliderCallback
+wrap_RangeMoveSliderCallback _cb _ step _ = do
+    let step' = (toEnum . fromIntegral) step
+    _cb  step'
+
+
+{- |
+Connect a signal handler for the “@move-slider@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' range #moveSlider callback
+@
+-}
+onRangeMoveSlider :: (IsRange a, MonadIO m) => a -> RangeMoveSliderCallback -> m SignalHandlerId
+onRangeMoveSlider obj cb = liftIO $ do
+    let cb' = wrap_RangeMoveSliderCallback cb
+    cb'' <- mk_RangeMoveSliderCallback cb'
+    connectSignalFunPtr obj "move-slider" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-slider@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' range #moveSlider callback
+@
+-}
+afterRangeMoveSlider :: (IsRange a, MonadIO m) => a -> RangeMoveSliderCallback -> m SignalHandlerId
+afterRangeMoveSlider obj cb = liftIO $ do
+    let cb' = wrap_RangeMoveSliderCallback cb
+    cb'' <- mk_RangeMoveSliderCallback cb'
+    connectSignalFunPtr obj "move-slider" cb'' SignalConnectAfter
+
+
+-- signal Range::value-changed
+{- |
+Emitted when the range value changes.
+-}
+type RangeValueChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RangeValueChangedCallback`@.
+noRangeValueChangedCallback :: Maybe RangeValueChangedCallback
+noRangeValueChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RangeValueChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_RangeValueChangedCallback`.
+foreign import ccall "wrapper"
+    mk_RangeValueChangedCallback :: C_RangeValueChangedCallback -> IO (FunPtr C_RangeValueChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RangeValueChanged :: MonadIO m => RangeValueChangedCallback -> m (GClosure C_RangeValueChangedCallback)
+genClosure_RangeValueChanged cb = liftIO $ do
+    let cb' = wrap_RangeValueChangedCallback cb
+    mk_RangeValueChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RangeValueChangedCallback` into a `C_RangeValueChangedCallback`.
+wrap_RangeValueChangedCallback ::
+    RangeValueChangedCallback ->
+    C_RangeValueChangedCallback
+wrap_RangeValueChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@value-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' range #valueChanged callback
+@
+-}
+onRangeValueChanged :: (IsRange a, MonadIO m) => a -> RangeValueChangedCallback -> m SignalHandlerId
+onRangeValueChanged obj cb = liftIO $ do
+    let cb' = wrap_RangeValueChangedCallback cb
+    cb'' <- mk_RangeValueChangedCallback cb'
+    connectSignalFunPtr obj "value-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@value-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' range #valueChanged callback
+@
+-}
+afterRangeValueChanged :: (IsRange a, MonadIO m) => a -> RangeValueChangedCallback -> m SignalHandlerId
+afterRangeValueChanged obj cb = liftIO $ do
+    let cb' = wrap_RangeValueChangedCallback cb
+    cb'' <- mk_RangeValueChangedCallback cb'
+    connectSignalFunPtr obj "value-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "adjustment"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@adjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' range #adjustment
+@
+-}
+getRangeAdjustment :: (MonadIO m, IsRange o) => o -> m Gtk.Adjustment.Adjustment
+getRangeAdjustment obj = liftIO $ checkUnexpectedNothing "getRangeAdjustment" $ B.Properties.getObjectPropertyObject obj "adjustment" Gtk.Adjustment.Adjustment
+
+{- |
+Set the value of the “@adjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' range [ #adjustment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRangeAdjustment :: (MonadIO m, IsRange o, Gtk.Adjustment.IsAdjustment a) => o -> a -> m ()
+setRangeAdjustment obj val = liftIO $ B.Properties.setObjectPropertyObject obj "adjustment" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@adjustment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRangeAdjustment :: (IsRange o, Gtk.Adjustment.IsAdjustment a) => a -> IO (GValueConstruct o)
+constructRangeAdjustment val = B.Properties.constructObjectPropertyObject "adjustment" (Just val)
+
+#if ENABLE_OVERLOADING
+data RangeAdjustmentPropertyInfo
+instance AttrInfo RangeAdjustmentPropertyInfo where
+    type AttrAllowedOps RangeAdjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RangeAdjustmentPropertyInfo = Gtk.Adjustment.IsAdjustment
+    type AttrBaseTypeConstraint RangeAdjustmentPropertyInfo = IsRange
+    type AttrGetType RangeAdjustmentPropertyInfo = Gtk.Adjustment.Adjustment
+    type AttrLabel RangeAdjustmentPropertyInfo = "adjustment"
+    type AttrOrigin RangeAdjustmentPropertyInfo = Range
+    attrGet _ = getRangeAdjustment
+    attrSet _ = setRangeAdjustment
+    attrConstruct _ = constructRangeAdjustment
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "fill-level"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@fill-level@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' range #fillLevel
+@
+-}
+getRangeFillLevel :: (MonadIO m, IsRange o) => o -> m Double
+getRangeFillLevel obj = liftIO $ B.Properties.getObjectPropertyDouble obj "fill-level"
+
+{- |
+Set the value of the “@fill-level@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' range [ #fillLevel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRangeFillLevel :: (MonadIO m, IsRange o) => o -> Double -> m ()
+setRangeFillLevel obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "fill-level" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@fill-level@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRangeFillLevel :: (IsRange o) => Double -> IO (GValueConstruct o)
+constructRangeFillLevel val = B.Properties.constructObjectPropertyDouble "fill-level" val
+
+#if ENABLE_OVERLOADING
+data RangeFillLevelPropertyInfo
+instance AttrInfo RangeFillLevelPropertyInfo where
+    type AttrAllowedOps RangeFillLevelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RangeFillLevelPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint RangeFillLevelPropertyInfo = IsRange
+    type AttrGetType RangeFillLevelPropertyInfo = Double
+    type AttrLabel RangeFillLevelPropertyInfo = "fill-level"
+    type AttrOrigin RangeFillLevelPropertyInfo = Range
+    attrGet _ = getRangeFillLevel
+    attrSet _ = setRangeFillLevel
+    attrConstruct _ = constructRangeFillLevel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "inverted"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' range #inverted
+@
+-}
+getRangeInverted :: (MonadIO m, IsRange o) => o -> m Bool
+getRangeInverted obj = liftIO $ B.Properties.getObjectPropertyBool obj "inverted"
+
+{- |
+Set the value of the “@inverted@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' range [ #inverted 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRangeInverted :: (MonadIO m, IsRange o) => o -> Bool -> m ()
+setRangeInverted obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inverted" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inverted@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRangeInverted :: (IsRange o) => Bool -> IO (GValueConstruct o)
+constructRangeInverted val = B.Properties.constructObjectPropertyBool "inverted" val
+
+#if ENABLE_OVERLOADING
+data RangeInvertedPropertyInfo
+instance AttrInfo RangeInvertedPropertyInfo where
+    type AttrAllowedOps RangeInvertedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RangeInvertedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RangeInvertedPropertyInfo = IsRange
+    type AttrGetType RangeInvertedPropertyInfo = Bool
+    type AttrLabel RangeInvertedPropertyInfo = "inverted"
+    type AttrOrigin RangeInvertedPropertyInfo = Range
+    attrGet _ = getRangeInverted
+    attrSet _ = setRangeInverted
+    attrConstruct _ = constructRangeInverted
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "lower-stepper-sensitivity"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SensitivityType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@lower-stepper-sensitivity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' range #lowerStepperSensitivity
+@
+-}
+getRangeLowerStepperSensitivity :: (MonadIO m, IsRange o) => o -> m Gtk.Enums.SensitivityType
+getRangeLowerStepperSensitivity obj = liftIO $ B.Properties.getObjectPropertyEnum obj "lower-stepper-sensitivity"
+
+{- |
+Set the value of the “@lower-stepper-sensitivity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' range [ #lowerStepperSensitivity 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRangeLowerStepperSensitivity :: (MonadIO m, IsRange o) => o -> Gtk.Enums.SensitivityType -> m ()
+setRangeLowerStepperSensitivity obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "lower-stepper-sensitivity" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@lower-stepper-sensitivity@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRangeLowerStepperSensitivity :: (IsRange o) => Gtk.Enums.SensitivityType -> IO (GValueConstruct o)
+constructRangeLowerStepperSensitivity val = B.Properties.constructObjectPropertyEnum "lower-stepper-sensitivity" val
+
+#if ENABLE_OVERLOADING
+data RangeLowerStepperSensitivityPropertyInfo
+instance AttrInfo RangeLowerStepperSensitivityPropertyInfo where
+    type AttrAllowedOps RangeLowerStepperSensitivityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RangeLowerStepperSensitivityPropertyInfo = (~) Gtk.Enums.SensitivityType
+    type AttrBaseTypeConstraint RangeLowerStepperSensitivityPropertyInfo = IsRange
+    type AttrGetType RangeLowerStepperSensitivityPropertyInfo = Gtk.Enums.SensitivityType
+    type AttrLabel RangeLowerStepperSensitivityPropertyInfo = "lower-stepper-sensitivity"
+    type AttrOrigin RangeLowerStepperSensitivityPropertyInfo = Range
+    attrGet _ = getRangeLowerStepperSensitivity
+    attrSet _ = setRangeLowerStepperSensitivity
+    attrConstruct _ = constructRangeLowerStepperSensitivity
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "restrict-to-fill-level"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@restrict-to-fill-level@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' range #restrictToFillLevel
+@
+-}
+getRangeRestrictToFillLevel :: (MonadIO m, IsRange o) => o -> m Bool
+getRangeRestrictToFillLevel obj = liftIO $ B.Properties.getObjectPropertyBool obj "restrict-to-fill-level"
+
+{- |
+Set the value of the “@restrict-to-fill-level@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' range [ #restrictToFillLevel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRangeRestrictToFillLevel :: (MonadIO m, IsRange o) => o -> Bool -> m ()
+setRangeRestrictToFillLevel obj val = liftIO $ B.Properties.setObjectPropertyBool obj "restrict-to-fill-level" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@restrict-to-fill-level@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRangeRestrictToFillLevel :: (IsRange o) => Bool -> IO (GValueConstruct o)
+constructRangeRestrictToFillLevel val = B.Properties.constructObjectPropertyBool "restrict-to-fill-level" val
+
+#if ENABLE_OVERLOADING
+data RangeRestrictToFillLevelPropertyInfo
+instance AttrInfo RangeRestrictToFillLevelPropertyInfo where
+    type AttrAllowedOps RangeRestrictToFillLevelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RangeRestrictToFillLevelPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RangeRestrictToFillLevelPropertyInfo = IsRange
+    type AttrGetType RangeRestrictToFillLevelPropertyInfo = Bool
+    type AttrLabel RangeRestrictToFillLevelPropertyInfo = "restrict-to-fill-level"
+    type AttrOrigin RangeRestrictToFillLevelPropertyInfo = Range
+    attrGet _ = getRangeRestrictToFillLevel
+    attrSet _ = setRangeRestrictToFillLevel
+    attrConstruct _ = constructRangeRestrictToFillLevel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "round-digits"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@round-digits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' range #roundDigits
+@
+-}
+getRangeRoundDigits :: (MonadIO m, IsRange o) => o -> m Int32
+getRangeRoundDigits obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "round-digits"
+
+{- |
+Set the value of the “@round-digits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' range [ #roundDigits 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRangeRoundDigits :: (MonadIO m, IsRange o) => o -> Int32 -> m ()
+setRangeRoundDigits obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "round-digits" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@round-digits@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRangeRoundDigits :: (IsRange o) => Int32 -> IO (GValueConstruct o)
+constructRangeRoundDigits val = B.Properties.constructObjectPropertyInt32 "round-digits" val
+
+#if ENABLE_OVERLOADING
+data RangeRoundDigitsPropertyInfo
+instance AttrInfo RangeRoundDigitsPropertyInfo where
+    type AttrAllowedOps RangeRoundDigitsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RangeRoundDigitsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint RangeRoundDigitsPropertyInfo = IsRange
+    type AttrGetType RangeRoundDigitsPropertyInfo = Int32
+    type AttrLabel RangeRoundDigitsPropertyInfo = "round-digits"
+    type AttrOrigin RangeRoundDigitsPropertyInfo = Range
+    attrGet _ = getRangeRoundDigits
+    attrSet _ = setRangeRoundDigits
+    attrConstruct _ = constructRangeRoundDigits
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-fill-level"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-fill-level@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' range #showFillLevel
+@
+-}
+getRangeShowFillLevel :: (MonadIO m, IsRange o) => o -> m Bool
+getRangeShowFillLevel obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-fill-level"
+
+{- |
+Set the value of the “@show-fill-level@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' range [ #showFillLevel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRangeShowFillLevel :: (MonadIO m, IsRange o) => o -> Bool -> m ()
+setRangeShowFillLevel obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-fill-level" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-fill-level@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRangeShowFillLevel :: (IsRange o) => Bool -> IO (GValueConstruct o)
+constructRangeShowFillLevel val = B.Properties.constructObjectPropertyBool "show-fill-level" val
+
+#if ENABLE_OVERLOADING
+data RangeShowFillLevelPropertyInfo
+instance AttrInfo RangeShowFillLevelPropertyInfo where
+    type AttrAllowedOps RangeShowFillLevelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RangeShowFillLevelPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RangeShowFillLevelPropertyInfo = IsRange
+    type AttrGetType RangeShowFillLevelPropertyInfo = Bool
+    type AttrLabel RangeShowFillLevelPropertyInfo = "show-fill-level"
+    type AttrOrigin RangeShowFillLevelPropertyInfo = Range
+    attrGet _ = getRangeShowFillLevel
+    attrSet _ = setRangeShowFillLevel
+    attrConstruct _ = constructRangeShowFillLevel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "upper-stepper-sensitivity"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SensitivityType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@upper-stepper-sensitivity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' range #upperStepperSensitivity
+@
+-}
+getRangeUpperStepperSensitivity :: (MonadIO m, IsRange o) => o -> m Gtk.Enums.SensitivityType
+getRangeUpperStepperSensitivity obj = liftIO $ B.Properties.getObjectPropertyEnum obj "upper-stepper-sensitivity"
+
+{- |
+Set the value of the “@upper-stepper-sensitivity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' range [ #upperStepperSensitivity 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRangeUpperStepperSensitivity :: (MonadIO m, IsRange o) => o -> Gtk.Enums.SensitivityType -> m ()
+setRangeUpperStepperSensitivity obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "upper-stepper-sensitivity" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@upper-stepper-sensitivity@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRangeUpperStepperSensitivity :: (IsRange o) => Gtk.Enums.SensitivityType -> IO (GValueConstruct o)
+constructRangeUpperStepperSensitivity val = B.Properties.constructObjectPropertyEnum "upper-stepper-sensitivity" val
+
+#if ENABLE_OVERLOADING
+data RangeUpperStepperSensitivityPropertyInfo
+instance AttrInfo RangeUpperStepperSensitivityPropertyInfo where
+    type AttrAllowedOps RangeUpperStepperSensitivityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RangeUpperStepperSensitivityPropertyInfo = (~) Gtk.Enums.SensitivityType
+    type AttrBaseTypeConstraint RangeUpperStepperSensitivityPropertyInfo = IsRange
+    type AttrGetType RangeUpperStepperSensitivityPropertyInfo = Gtk.Enums.SensitivityType
+    type AttrLabel RangeUpperStepperSensitivityPropertyInfo = "upper-stepper-sensitivity"
+    type AttrOrigin RangeUpperStepperSensitivityPropertyInfo = Range
+    attrGet _ = getRangeUpperStepperSensitivity
+    attrSet _ = setRangeUpperStepperSensitivity
+    attrConstruct _ = constructRangeUpperStepperSensitivity
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Range
+type instance O.AttributeList Range = RangeAttributeList
+type RangeAttributeList = ('[ '("adjustment", RangeAdjustmentPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("fillLevel", RangeFillLevelPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inverted", RangeInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("lowerStepperSensitivity", RangeLowerStepperSensitivityPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("restrictToFillLevel", RangeRestrictToFillLevelPropertyInfo), '("roundDigits", RangeRoundDigitsPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showFillLevel", RangeShowFillLevelPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("upperStepperSensitivity", RangeUpperStepperSensitivityPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+rangeAdjustment :: AttrLabelProxy "adjustment"
+rangeAdjustment = AttrLabelProxy
+
+rangeFillLevel :: AttrLabelProxy "fillLevel"
+rangeFillLevel = AttrLabelProxy
+
+rangeInverted :: AttrLabelProxy "inverted"
+rangeInverted = AttrLabelProxy
+
+rangeLowerStepperSensitivity :: AttrLabelProxy "lowerStepperSensitivity"
+rangeLowerStepperSensitivity = AttrLabelProxy
+
+rangeRestrictToFillLevel :: AttrLabelProxy "restrictToFillLevel"
+rangeRestrictToFillLevel = AttrLabelProxy
+
+rangeRoundDigits :: AttrLabelProxy "roundDigits"
+rangeRoundDigits = AttrLabelProxy
+
+rangeShowFillLevel :: AttrLabelProxy "showFillLevel"
+rangeShowFillLevel = AttrLabelProxy
+
+rangeUpperStepperSensitivity :: AttrLabelProxy "upperStepperSensitivity"
+rangeUpperStepperSensitivity = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data RangeAdjustBoundsSignalInfo
+instance SignalInfo RangeAdjustBoundsSignalInfo where
+    type HaskellCallbackType RangeAdjustBoundsSignalInfo = RangeAdjustBoundsCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RangeAdjustBoundsCallback cb
+        cb'' <- mk_RangeAdjustBoundsCallback cb'
+        connectSignalFunPtr obj "adjust-bounds" cb'' connectMode
+
+data RangeChangeValueSignalInfo
+instance SignalInfo RangeChangeValueSignalInfo where
+    type HaskellCallbackType RangeChangeValueSignalInfo = RangeChangeValueCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RangeChangeValueCallback cb
+        cb'' <- mk_RangeChangeValueCallback cb'
+        connectSignalFunPtr obj "change-value" cb'' connectMode
+
+data RangeMoveSliderSignalInfo
+instance SignalInfo RangeMoveSliderSignalInfo where
+    type HaskellCallbackType RangeMoveSliderSignalInfo = RangeMoveSliderCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RangeMoveSliderCallback cb
+        cb'' <- mk_RangeMoveSliderCallback cb'
+        connectSignalFunPtr obj "move-slider" cb'' connectMode
+
+data RangeValueChangedSignalInfo
+instance SignalInfo RangeValueChangedSignalInfo where
+    type HaskellCallbackType RangeValueChangedSignalInfo = RangeValueChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RangeValueChangedCallback cb
+        cb'' <- mk_RangeValueChangedCallback cb'
+        connectSignalFunPtr obj "value-changed" cb'' connectMode
+
+type instance O.SignalList Range = RangeSignalList
+type RangeSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("adjustBounds", RangeAdjustBoundsSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeValue", RangeChangeValueSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveSlider", RangeMoveSliderSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", RangeValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Range::get_adjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_adjustment" gtk_range_get_adjustment :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Get the 'GI.Gtk.Objects.Adjustment.Adjustment' which is the “model” object for 'GI.Gtk.Objects.Range.Range'.
+See 'GI.Gtk.Objects.Range.rangeSetAdjustment' for details.
+The return value does not have a reference added, so should not
+be unreferenced.
+-}
+rangeGetAdjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+rangeGetAdjustment range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_adjustment range'
+    checkUnexpectedReturnNULL "rangeGetAdjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetAdjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsRange a) => O.MethodInfo RangeGetAdjustmentMethodInfo a signature where
+    overloadedMethod _ = rangeGetAdjustment
+
+#endif
+
+-- method Range::get_fill_level
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_fill_level" gtk_range_get_fill_level :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO CDouble
+
+{- |
+Gets the current position of the fill level indicator.
+
+/Since: 2.12/
+-}
+rangeGetFillLevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: A 'GI.Gtk.Objects.Range.Range' -}
+    -> m Double
+    {- ^ __Returns:__ The current fill level -}
+rangeGetFillLevel range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_fill_level range'
+    let result' = realToFrac result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetFillLevelMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsRange a) => O.MethodInfo RangeGetFillLevelMethodInfo a signature where
+    overloadedMethod _ = rangeGetFillLevel
+
+#endif
+
+-- method Range::get_flippable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_flippable" gtk_range_get_flippable :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Range.rangeSetFlippable'.
+
+/Since: 2.18/
+-}
+rangeGetFlippable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the range is flippable -}
+rangeGetFlippable range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_flippable range'
+    let result' = (/= 0) result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetFlippableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRange a) => O.MethodInfo RangeGetFlippableMethodInfo a signature where
+    overloadedMethod _ = rangeGetFlippable
+
+#endif
+
+-- method Range::get_inverted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_inverted" gtk_range_get_inverted :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Range.rangeSetInverted'.
+-}
+rangeGetInverted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the range is inverted -}
+rangeGetInverted range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_inverted range'
+    let result' = (/= 0) result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetInvertedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRange a) => O.MethodInfo RangeGetInvertedMethodInfo a signature where
+    overloadedMethod _ = rangeGetInverted
+
+#endif
+
+-- method Range::get_lower_stepper_sensitivity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SensitivityType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_lower_stepper_sensitivity" gtk_range_get_lower_stepper_sensitivity :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO CUInt
+
+{- |
+Gets the sensitivity policy for the stepper that points to the
+\'lower\' end of the GtkRange’s adjustment.
+
+/Since: 2.10/
+-}
+rangeGetLowerStepperSensitivity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m Gtk.Enums.SensitivityType
+    {- ^ __Returns:__ The lower stepper’s sensitivity policy. -}
+rangeGetLowerStepperSensitivity range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_lower_stepper_sensitivity range'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetLowerStepperSensitivityMethodInfo
+instance (signature ~ (m Gtk.Enums.SensitivityType), MonadIO m, IsRange a) => O.MethodInfo RangeGetLowerStepperSensitivityMethodInfo a signature where
+    overloadedMethod _ = rangeGetLowerStepperSensitivity
+
+#endif
+
+-- method Range::get_min_slider_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_min_slider_size" gtk_range_get_min_slider_size :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO Int32
+
+{-# DEPRECATED rangeGetMinSliderSize ["(Since version 3.20)","Use the min-height\\/min-width CSS properties on the slider","  node."] #-}
+{- |
+This function is useful mainly for 'GI.Gtk.Objects.Range.Range' subclasses.
+
+See 'GI.Gtk.Objects.Range.rangeSetMinSliderSize'.
+
+/Since: 2.20/
+-}
+rangeGetMinSliderSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m Int32
+    {- ^ __Returns:__ The minimum size of the range’s slider. -}
+rangeGetMinSliderSize range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_min_slider_size range'
+    touchManagedPtr range
+    return result
+
+#if ENABLE_OVERLOADING
+data RangeGetMinSliderSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsRange a) => O.MethodInfo RangeGetMinSliderSizeMethodInfo a signature where
+    overloadedMethod _ = rangeGetMinSliderSize
+
+#endif
+
+-- method Range::get_range_rect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "range_rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the range rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_range_rect" gtk_range_get_range_rect :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- range_rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+This function returns the area that contains the range’s trough
+and its steppers, in widget->window coordinates.
+
+This function is useful mainly for 'GI.Gtk.Objects.Range.Range' subclasses.
+
+/Since: 2.20/
+-}
+rangeGetRangeRect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m (Gdk.Rectangle.Rectangle)
+rangeGetRangeRect range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    rangeRect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_range_get_range_rect range' rangeRect
+    rangeRect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rangeRect
+    touchManagedPtr range
+    return rangeRect'
+
+#if ENABLE_OVERLOADING
+data RangeGetRangeRectMethodInfo
+instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsRange a) => O.MethodInfo RangeGetRangeRectMethodInfo a signature where
+    overloadedMethod _ = rangeGetRangeRect
+
+#endif
+
+-- method Range::get_restrict_to_fill_level
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_restrict_to_fill_level" gtk_range_get_restrict_to_fill_level :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO CInt
+
+{- |
+Gets whether the range is restricted to the fill level.
+
+/Since: 2.12/
+-}
+rangeGetRestrictToFillLevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: A 'GI.Gtk.Objects.Range.Range' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@range@/ is restricted to the fill level. -}
+rangeGetRestrictToFillLevel range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_restrict_to_fill_level range'
+    let result' = (/= 0) result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetRestrictToFillLevelMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRange a) => O.MethodInfo RangeGetRestrictToFillLevelMethodInfo a signature where
+    overloadedMethod _ = rangeGetRestrictToFillLevel
+
+#endif
+
+-- method Range::get_round_digits
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_round_digits" gtk_range_get_round_digits :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO Int32
+
+{- |
+Gets the number of digits to round the value to when
+it changes. See 'GI.Gtk.Objects.Range.Range'::@/change-value/@.
+
+/Since: 2.24/
+-}
+rangeGetRoundDigits ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of digits to round to -}
+rangeGetRoundDigits range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_round_digits range'
+    touchManagedPtr range
+    return result
+
+#if ENABLE_OVERLOADING
+data RangeGetRoundDigitsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsRange a) => O.MethodInfo RangeGetRoundDigitsMethodInfo a signature where
+    overloadedMethod _ = rangeGetRoundDigits
+
+#endif
+
+-- method Range::get_show_fill_level
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_show_fill_level" gtk_range_get_show_fill_level :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO CInt
+
+{- |
+Gets whether the range displays the fill level graphically.
+
+/Since: 2.12/
+-}
+rangeGetShowFillLevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: A 'GI.Gtk.Objects.Range.Range' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@range@/ shows the fill level. -}
+rangeGetShowFillLevel range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_show_fill_level range'
+    let result' = (/= 0) result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetShowFillLevelMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRange a) => O.MethodInfo RangeGetShowFillLevelMethodInfo a signature where
+    overloadedMethod _ = rangeGetShowFillLevel
+
+#endif
+
+-- method Range::get_slider_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "slider_start", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the slider's\n    start, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "slider_end", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the slider's\n    end, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_slider_range" gtk_range_get_slider_range :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    Ptr Int32 ->                            -- slider_start : TBasicType TInt
+    Ptr Int32 ->                            -- slider_end : TBasicType TInt
+    IO ()
+
+{- |
+This function returns sliders range along the long dimension,
+in widget->window coordinates.
+
+This function is useful mainly for 'GI.Gtk.Objects.Range.Range' subclasses.
+
+/Since: 2.20/
+-}
+rangeGetSliderRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m ((Int32, Int32))
+rangeGetSliderRange range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    sliderStart <- allocMem :: IO (Ptr Int32)
+    sliderEnd <- allocMem :: IO (Ptr Int32)
+    gtk_range_get_slider_range range' sliderStart sliderEnd
+    sliderStart' <- peek sliderStart
+    sliderEnd' <- peek sliderEnd
+    touchManagedPtr range
+    freeMem sliderStart
+    freeMem sliderEnd
+    return (sliderStart', sliderEnd')
+
+#if ENABLE_OVERLOADING
+data RangeGetSliderRangeMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsRange a) => O.MethodInfo RangeGetSliderRangeMethodInfo a signature where
+    overloadedMethod _ = rangeGetSliderRange
+
+#endif
+
+-- method Range::get_slider_size_fixed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_slider_size_fixed" gtk_range_get_slider_size_fixed :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO CInt
+
+{- |
+This function is useful mainly for 'GI.Gtk.Objects.Range.Range' subclasses.
+
+See 'GI.Gtk.Objects.Range.rangeSetSliderSizeFixed'.
+
+/Since: 2.20/
+-}
+rangeGetSliderSizeFixed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the range’s slider has a fixed size. -}
+rangeGetSliderSizeFixed range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_slider_size_fixed range'
+    let result' = (/= 0) result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetSliderSizeFixedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRange a) => O.MethodInfo RangeGetSliderSizeFixedMethodInfo a signature where
+    overloadedMethod _ = rangeGetSliderSizeFixed
+
+#endif
+
+-- method Range::get_upper_stepper_sensitivity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SensitivityType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_upper_stepper_sensitivity" gtk_range_get_upper_stepper_sensitivity :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO CUInt
+
+{- |
+Gets the sensitivity policy for the stepper that points to the
+\'upper\' end of the GtkRange’s adjustment.
+
+/Since: 2.10/
+-}
+rangeGetUpperStepperSensitivity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m Gtk.Enums.SensitivityType
+    {- ^ __Returns:__ The upper stepper’s sensitivity policy. -}
+rangeGetUpperStepperSensitivity range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_upper_stepper_sensitivity range'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetUpperStepperSensitivityMethodInfo
+instance (signature ~ (m Gtk.Enums.SensitivityType), MonadIO m, IsRange a) => O.MethodInfo RangeGetUpperStepperSensitivityMethodInfo a signature where
+    overloadedMethod _ = rangeGetUpperStepperSensitivity
+
+#endif
+
+-- method Range::get_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_get_value" gtk_range_get_value :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    IO CDouble
+
+{- |
+Gets the current value of the range.
+-}
+rangeGetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> m Double
+    {- ^ __Returns:__ current value of the range. -}
+rangeGetValue range = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    result <- gtk_range_get_value range'
+    let result' = realToFrac result
+    touchManagedPtr range
+    return result'
+
+#if ENABLE_OVERLOADING
+data RangeGetValueMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsRange a) => O.MethodInfo RangeGetValueMethodInfo a signature where
+    overloadedMethod _ = rangeGetValue
+
+#endif
+
+-- method Range::set_adjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_adjustment" gtk_range_set_adjustment :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Sets the adjustment to be used as the “model” object for this range
+widget. The adjustment indicates the current range value, the
+minimum and maximum range values, the step\/page increments used
+for keybindings and scrolling, and the page size. The page size
+is normally 0 for 'GI.Gtk.Objects.Scale.Scale' and nonzero for 'GI.Gtk.Objects.Scrollbar.Scrollbar', and
+indicates the size of the visible area of the widget being scrolled.
+The page size affects the size of the scrollbar slider.
+-}
+rangeSetAdjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> b
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m ()
+rangeSetAdjustment range adjustment = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    gtk_range_set_adjustment range' adjustment'
+    touchManagedPtr range
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetAdjustmentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsRange a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo RangeSetAdjustmentMethodInfo a signature where
+    overloadedMethod _ = rangeSetAdjustment
+
+#endif
+
+-- method Range::set_fill_level
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fill_level", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new position of the fill level indicator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_fill_level" gtk_range_set_fill_level :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CDouble ->                              -- fill_level : TBasicType TDouble
+    IO ()
+
+{- |
+Set the new position of the fill level indicator.
+
+The “fill level” is probably best described by its most prominent
+use case, which is an indicator for the amount of pre-buffering in
+a streaming media player. In that use case, the value of the range
+would indicate the current play position, and the fill level would
+be the position up to which the file\/stream has been downloaded.
+
+This amount of prebuffering can be displayed on the range’s trough
+and is themeable separately from the trough. To enable fill level
+display, use 'GI.Gtk.Objects.Range.rangeSetShowFillLevel'. The range defaults
+to not showing the fill level.
+
+Additionally, it’s possible to restrict the range’s slider position
+to values which are smaller than the fill level. This is controller
+by 'GI.Gtk.Objects.Range.rangeSetRestrictToFillLevel' and is by default
+enabled.
+
+/Since: 2.12/
+-}
+rangeSetFillLevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Double
+    {- ^ /@fillLevel@/: the new position of the fill level indicator -}
+    -> m ()
+rangeSetFillLevel range fillLevel = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let fillLevel' = realToFrac fillLevel
+    gtk_range_set_fill_level range' fillLevel'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetFillLevelMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetFillLevelMethodInfo a signature where
+    overloadedMethod _ = rangeSetFillLevel
+
+#endif
+
+-- method Range::set_flippable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flippable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make the range flippable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_flippable" gtk_range_set_flippable :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CInt ->                                 -- flippable : TBasicType TBoolean
+    IO ()
+
+{- |
+If a range is flippable, it will switch its direction if it is
+horizontal and its direction is 'GI.Gtk.Enums.TextDirectionRtl'.
+
+See 'GI.Gtk.Objects.Widget.widgetGetDirection'.
+
+/Since: 2.18/
+-}
+rangeSetFlippable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Bool
+    {- ^ /@flippable@/: 'True' to make the range flippable -}
+    -> m ()
+rangeSetFlippable range flippable = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let flippable' = (fromIntegral . fromEnum) flippable
+    gtk_range_set_flippable range' flippable'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetFlippableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetFlippableMethodInfo a signature where
+    overloadedMethod _ = rangeSetFlippable
+
+#endif
+
+-- method Range::set_increments
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "step size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "page size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_increments" gtk_range_set_increments :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CDouble ->                              -- step : TBasicType TDouble
+    CDouble ->                              -- page : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the step and page sizes for the range.
+The step size is used when the user clicks the 'GI.Gtk.Objects.Scrollbar.Scrollbar'
+arrows or moves 'GI.Gtk.Objects.Scale.Scale' via arrow keys. The page size
+is used for example when moving via Page Up or Page Down keys.
+-}
+rangeSetIncrements ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Double
+    {- ^ /@step@/: step size -}
+    -> Double
+    {- ^ /@page@/: page size -}
+    -> m ()
+rangeSetIncrements range step page = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let step' = realToFrac step
+    let page' = realToFrac page
+    gtk_range_set_increments range' step' page'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetIncrementsMethodInfo
+instance (signature ~ (Double -> Double -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetIncrementsMethodInfo a signature where
+    overloadedMethod _ = rangeSetIncrements
+
+#endif
+
+-- method Range::set_inverted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to invert the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_inverted" gtk_range_set_inverted :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Ranges normally move from lower to higher values as the
+slider moves from top to bottom or left to right. Inverted
+ranges have higher values at the top or on the right rather than
+on the bottom or left.
+-}
+rangeSetInverted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to invert the range -}
+    -> m ()
+rangeSetInverted range setting = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_range_set_inverted range' setting'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetInvertedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetInvertedMethodInfo a signature where
+    overloadedMethod _ = rangeSetInverted
+
+#endif
+
+-- method Range::set_lower_stepper_sensitivity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitivity", argType = TInterface (Name {namespace = "Gtk", name = "SensitivityType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the lower stepper\8217s sensitivity policy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_lower_stepper_sensitivity" gtk_range_set_lower_stepper_sensitivity :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CUInt ->                                -- sensitivity : TInterface (Name {namespace = "Gtk", name = "SensitivityType"})
+    IO ()
+
+{- |
+Sets the sensitivity policy for the stepper that points to the
+\'lower\' end of the GtkRange’s adjustment.
+
+/Since: 2.10/
+-}
+rangeSetLowerStepperSensitivity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Gtk.Enums.SensitivityType
+    {- ^ /@sensitivity@/: the lower stepper’s sensitivity policy. -}
+    -> m ()
+rangeSetLowerStepperSensitivity range sensitivity = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let sensitivity' = (fromIntegral . fromEnum) sensitivity
+    gtk_range_set_lower_stepper_sensitivity range' sensitivity'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetLowerStepperSensitivityMethodInfo
+instance (signature ~ (Gtk.Enums.SensitivityType -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetLowerStepperSensitivityMethodInfo a signature where
+    overloadedMethod _ = rangeSetLowerStepperSensitivity
+
+#endif
+
+-- method Range::set_min_slider_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The slider\8217s minimum size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_min_slider_size" gtk_range_set_min_slider_size :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    Int32 ->                                -- min_size : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED rangeSetMinSliderSize ["(Since version 3.20)","Use the min-height\\/min-width CSS properties on the slider","  node."] #-}
+{- |
+Sets the minimum size of the range’s slider.
+
+This function is useful mainly for 'GI.Gtk.Objects.Range.Range' subclasses.
+
+/Since: 2.20/
+-}
+rangeSetMinSliderSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Int32
+    {- ^ /@minSize@/: The slider’s minimum size -}
+    -> m ()
+rangeSetMinSliderSize range minSize = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    gtk_range_set_min_slider_size range' minSize
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetMinSliderSizeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetMinSliderSizeMethodInfo a signature where
+    overloadedMethod _ = rangeSetMinSliderSize
+
+#endif
+
+-- method Range::set_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum range value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum range value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_range" gtk_range_set_range :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CDouble ->                              -- min : TBasicType TDouble
+    CDouble ->                              -- max : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the allowable values in the 'GI.Gtk.Objects.Range.Range', and clamps the range
+value to be between /@min@/ and /@max@/. (If the range has a non-zero
+page size, it is clamped between /@min@/ and /@max@/ - page-size.)
+-}
+rangeSetRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Double
+    {- ^ /@min@/: minimum range value -}
+    -> Double
+    {- ^ /@max@/: maximum range value -}
+    -> m ()
+rangeSetRange range min max = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let min' = realToFrac min
+    let max' = realToFrac max
+    gtk_range_set_range range' min' max'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetRangeMethodInfo
+instance (signature ~ (Double -> Double -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetRangeMethodInfo a signature where
+    overloadedMethod _ = rangeSetRange
+
+#endif
+
+-- method Range::set_restrict_to_fill_level
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "restrict_to_fill_level", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether the fill level restricts slider movement.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_restrict_to_fill_level" gtk_range_set_restrict_to_fill_level :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CInt ->                                 -- restrict_to_fill_level : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the slider is restricted to the fill level. See
+'GI.Gtk.Objects.Range.rangeSetFillLevel' for a general description of the fill
+level concept.
+
+/Since: 2.12/
+-}
+rangeSetRestrictToFillLevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: A 'GI.Gtk.Objects.Range.Range' -}
+    -> Bool
+    {- ^ /@restrictToFillLevel@/: Whether the fill level restricts slider movement. -}
+    -> m ()
+rangeSetRestrictToFillLevel range restrictToFillLevel = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let restrictToFillLevel' = (fromIntegral . fromEnum) restrictToFillLevel
+    gtk_range_set_restrict_to_fill_level range' restrictToFillLevel'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetRestrictToFillLevelMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetRestrictToFillLevelMethodInfo a signature where
+    overloadedMethod _ = rangeSetRestrictToFillLevel
+
+#endif
+
+-- method Range::set_round_digits
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "round_digits", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the precision in digits, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_round_digits" gtk_range_set_round_digits :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    Int32 ->                                -- round_digits : TBasicType TInt
+    IO ()
+
+{- |
+Sets the number of digits to round the value to when
+it changes. See 'GI.Gtk.Objects.Range.Range'::@/change-value/@.
+
+/Since: 2.24/
+-}
+rangeSetRoundDigits ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Int32
+    {- ^ /@roundDigits@/: the precision in digits, or -1 -}
+    -> m ()
+rangeSetRoundDigits range roundDigits = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    gtk_range_set_round_digits range' roundDigits
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetRoundDigitsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetRoundDigitsMethodInfo a signature where
+    overloadedMethod _ = rangeSetRoundDigits
+
+#endif
+
+-- method Range::set_show_fill_level
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_fill_level", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether a fill level indicator graphics is shown.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_show_fill_level" gtk_range_set_show_fill_level :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CInt ->                                 -- show_fill_level : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether a graphical fill level is show on the trough. See
+'GI.Gtk.Objects.Range.rangeSetFillLevel' for a general description of the fill
+level concept.
+
+/Since: 2.12/
+-}
+rangeSetShowFillLevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: A 'GI.Gtk.Objects.Range.Range' -}
+    -> Bool
+    {- ^ /@showFillLevel@/: Whether a fill level indicator graphics is shown. -}
+    -> m ()
+rangeSetShowFillLevel range showFillLevel = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let showFillLevel' = (fromIntegral . fromEnum) showFillLevel
+    gtk_range_set_show_fill_level range' showFillLevel'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetShowFillLevelMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetShowFillLevelMethodInfo a signature where
+    overloadedMethod _ = rangeSetShowFillLevel
+
+#endif
+
+-- method Range::set_slider_size_fixed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size_fixed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make the slider size constant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_slider_size_fixed" gtk_range_set_slider_size_fixed :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CInt ->                                 -- size_fixed : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the range’s slider has a fixed size, or a size that
+depends on its adjustment’s page size.
+
+This function is useful mainly for 'GI.Gtk.Objects.Range.Range' subclasses.
+
+/Since: 2.20/
+-}
+rangeSetSliderSizeFixed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Bool
+    {- ^ /@sizeFixed@/: 'True' to make the slider size constant -}
+    -> m ()
+rangeSetSliderSizeFixed range sizeFixed = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let sizeFixed' = (fromIntegral . fromEnum) sizeFixed
+    gtk_range_set_slider_size_fixed range' sizeFixed'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetSliderSizeFixedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetSliderSizeFixedMethodInfo a signature where
+    overloadedMethod _ = rangeSetSliderSizeFixed
+
+#endif
+
+-- method Range::set_upper_stepper_sensitivity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitivity", argType = TInterface (Name {namespace = "Gtk", name = "SensitivityType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the upper stepper\8217s sensitivity policy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_upper_stepper_sensitivity" gtk_range_set_upper_stepper_sensitivity :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CUInt ->                                -- sensitivity : TInterface (Name {namespace = "Gtk", name = "SensitivityType"})
+    IO ()
+
+{- |
+Sets the sensitivity policy for the stepper that points to the
+\'upper\' end of the GtkRange’s adjustment.
+
+/Since: 2.10/
+-}
+rangeSetUpperStepperSensitivity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Gtk.Enums.SensitivityType
+    {- ^ /@sensitivity@/: the upper stepper’s sensitivity policy. -}
+    -> m ()
+rangeSetUpperStepperSensitivity range sensitivity = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let sensitivity' = (fromIntegral . fromEnum) sensitivity
+    gtk_range_set_upper_stepper_sensitivity range' sensitivity'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetUpperStepperSensitivityMethodInfo
+instance (signature ~ (Gtk.Enums.SensitivityType -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetUpperStepperSensitivityMethodInfo a signature where
+    overloadedMethod _ = rangeSetUpperStepperSensitivity
+
+#endif
+
+-- method Range::set_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "range", argType = TInterface (Name {namespace = "Gtk", name = "Range"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRange", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new value of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_range_set_value" gtk_range_set_value :: 
+    Ptr Range ->                            -- range : TInterface (Name {namespace = "Gtk", name = "Range"})
+    CDouble ->                              -- value : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the current value of the range; if the value is outside the
+minimum or maximum range values, it will be clamped to fit inside
+them. The range emits the 'GI.Gtk.Objects.Range.Range'::@/value-changed/@ signal if the
+value changes.
+-}
+rangeSetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRange a) =>
+    a
+    {- ^ /@range@/: a 'GI.Gtk.Objects.Range.Range' -}
+    -> Double
+    {- ^ /@value@/: new value of the range -}
+    -> m ()
+rangeSetValue range value = liftIO $ do
+    range' <- unsafeManagedPtrCastPtr range
+    let value' = realToFrac value
+    gtk_range_set_value range' value'
+    touchManagedPtr range
+    return ()
+
+#if ENABLE_OVERLOADING
+data RangeSetValueMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsRange a) => O.MethodInfo RangeSetValueMethodInfo a signature where
+    overloadedMethod _ = rangeSetValue
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Range.hs-boot b/GI/Gtk/Objects/Range.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Range.hs-boot
@@ -0,0 +1,149 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Range where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Range = Range (ManagedPtr Range)
+instance GObject Range where
+class (GObject o, O.IsDescendantOf Range o) => IsRange o
+instance (GObject o, O.IsDescendantOf Range o) => IsRange o
+instance O.HasParentTypes Range
+#if ENABLE_OVERLOADING
+data RangeAdjustmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeFillLevelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeInvertedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeLowerStepperSensitivityPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeRestrictToFillLevelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeRoundDigitsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeShowFillLevelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeUpperStepperSensitivityPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeAdjustBoundsSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeChangeValueSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeMoveSliderSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeValueChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetAdjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetFillLevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetFlippableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetInvertedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetLowerStepperSensitivityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetMinSliderSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetRangeRectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetRestrictToFillLevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetRoundDigitsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetShowFillLevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetSliderRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetSliderSizeFixedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetUpperStepperSensitivityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeGetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetAdjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetFillLevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetFlippableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetIncrementsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetInvertedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetLowerStepperSensitivityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetMinSliderSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetRestrictToFillLevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetRoundDigitsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetShowFillLevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetSliderSizeFixedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetUpperStepperSensitivityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RangeSetValueMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/RangeAccessible.hs b/GI/Gtk/Objects/RangeAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RangeAccessible.hs
@@ -0,0 +1,175 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RangeAccessible
+    ( 
+
+-- * Exported types
+    RangeAccessible(..)                     ,
+    IsRangeAccessible                       ,
+    toRangeAccessible                       ,
+    noRangeAccessible                       ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Value as Atk.Value
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype RangeAccessible = RangeAccessible (ManagedPtr RangeAccessible)
+foreign import ccall "gtk_range_accessible_get_type"
+    c_gtk_range_accessible_get_type :: IO GType
+
+instance GObject RangeAccessible where
+    gobjectType = c_gtk_range_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `RangeAccessible`, for instance with `toRangeAccessible`.
+class (GObject o, O.IsDescendantOf RangeAccessible o) => IsRangeAccessible o
+instance (GObject o, O.IsDescendantOf RangeAccessible o) => IsRangeAccessible o
+
+instance O.HasParentTypes RangeAccessible
+type instance O.ParentTypes RangeAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Value.Value]
+
+-- | Cast to `RangeAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRangeAccessible :: (MonadIO m, IsRangeAccessible o) => o -> m RangeAccessible
+toRangeAccessible = liftIO . unsafeCastTo RangeAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RangeAccessible`.
+noRangeAccessible :: Maybe RangeAccessible
+noRangeAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRangeAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRangeAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveRangeAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRangeAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRangeAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveRangeAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveRangeAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRangeAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRangeAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRangeAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveRangeAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveRangeAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRangeAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRangeAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRangeAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveRangeAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveRangeAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRangeAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveRangeAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveRangeAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveRangeAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRangeAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveRangeAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveRangeAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveRangeAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveRangeAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRangeAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveRangeAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveRangeAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRangeAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRangeAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRangeAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRangeAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRangeAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveRangeAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveRangeAccessibleMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo
+    ResolveRangeAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRangeAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveRangeAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveRangeAccessibleMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo
+    ResolveRangeAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveRangeAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveRangeAccessibleMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo
+    ResolveRangeAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveRangeAccessibleMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo
+    ResolveRangeAccessibleMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo
+    ResolveRangeAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveRangeAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveRangeAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveRangeAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveRangeAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveRangeAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRangeAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRangeAccessibleMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo
+    ResolveRangeAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveRangeAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveRangeAccessibleMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo
+    ResolveRangeAccessibleMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo
+    ResolveRangeAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveRangeAccessibleMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo
+    ResolveRangeAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRangeAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveRangeAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveRangeAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveRangeAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveRangeAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveRangeAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRangeAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveRangeAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveRangeAccessibleMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo
+    ResolveRangeAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveRangeAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRangeAccessibleMethod t RangeAccessible, O.MethodInfo info RangeAccessible p) => OL.IsLabel t (RangeAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RangeAccessible
+type instance O.AttributeList RangeAccessible = RangeAccessibleAttributeList
+type RangeAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RangeAccessible = RangeAccessibleSignalList
+type RangeAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RangeAccessible.hs-boot b/GI/Gtk/Objects/RangeAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RangeAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RangeAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RangeAccessible = RangeAccessible (ManagedPtr RangeAccessible)
+instance GObject RangeAccessible where
+class (GObject o, O.IsDescendantOf RangeAccessible o) => IsRangeAccessible o
+instance (GObject o, O.IsDescendantOf RangeAccessible o) => IsRangeAccessible o
+instance O.HasParentTypes RangeAccessible
diff --git a/GI/Gtk/Objects/RcStyle.hs b/GI/Gtk/Objects/RcStyle.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RcStyle.hs
@@ -0,0 +1,209 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.RcStyle.RcStyle'-struct is used to represent a set
+of information about the appearance of a widget.
+This can later be composited together with other
+'GI.Gtk.Objects.RcStyle.RcStyle'-struct\<!-- -->s to form a 'GI.Gtk.Objects.Style.Style'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RcStyle
+    ( 
+
+-- * Exported types
+    RcStyle(..)                             ,
+    IsRcStyle                               ,
+    toRcStyle                               ,
+    noRcStyle                               ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    RcStyleCopyMethodInfo                   ,
+#endif
+    rcStyleCopy                             ,
+
+
+-- ** new #method:new#
+
+    rcStyleNew                              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+
+-- | Memory-managed wrapper type.
+newtype RcStyle = RcStyle (ManagedPtr RcStyle)
+foreign import ccall "gtk_rc_style_get_type"
+    c_gtk_rc_style_get_type :: IO GType
+
+instance GObject RcStyle where
+    gobjectType = c_gtk_rc_style_get_type
+    
+
+-- | Type class for types which can be safely cast to `RcStyle`, for instance with `toRcStyle`.
+class (GObject o, O.IsDescendantOf RcStyle o) => IsRcStyle o
+instance (GObject o, O.IsDescendantOf RcStyle o) => IsRcStyle o
+
+instance O.HasParentTypes RcStyle
+type instance O.ParentTypes RcStyle = '[GObject.Object.Object]
+
+-- | Cast to `RcStyle`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRcStyle :: (MonadIO m, IsRcStyle o) => o -> m RcStyle
+toRcStyle = liftIO . unsafeCastTo RcStyle
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RcStyle`.
+noRcStyle :: Maybe RcStyle
+noRcStyle = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRcStyleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRcStyleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRcStyleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRcStyleMethod "copy" o = RcStyleCopyMethodInfo
+    ResolveRcStyleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRcStyleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRcStyleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRcStyleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRcStyleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRcStyleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRcStyleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRcStyleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRcStyleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRcStyleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRcStyleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRcStyleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRcStyleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRcStyleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRcStyleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRcStyleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRcStyleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRcStyleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRcStyleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRcStyleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRcStyleMethod t RcStyle, O.MethodInfo info RcStyle p) => OL.IsLabel t (RcStyle -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RcStyle
+type instance O.AttributeList RcStyle = RcStyleAttributeList
+type RcStyleAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RcStyle = RcStyleSignalList
+type RcStyleSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RcStyle::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RcStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_style_new" gtk_rc_style_new :: 
+    IO (Ptr RcStyle)
+
+{-# DEPRECATED rcStyleNew ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.RcStyle.RcStyle' with no fields set and
+a reference count of 1.
+-}
+rcStyleNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m RcStyle
+    {- ^ __Returns:__ the newly-created 'GI.Gtk.Objects.RcStyle.RcStyle' -}
+rcStyleNew  = liftIO $ do
+    result <- gtk_rc_style_new
+    checkUnexpectedReturnNULL "rcStyleNew" result
+    result' <- (wrapObject RcStyle) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RcStyle::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "orig", argType = TInterface (Name {namespace = "Gtk", name = "RcStyle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the style to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RcStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_style_copy" gtk_rc_style_copy :: 
+    Ptr RcStyle ->                          -- orig : TInterface (Name {namespace = "Gtk", name = "RcStyle"})
+    IO (Ptr RcStyle)
+
+{-# DEPRECATED rcStyleCopy ["(Since version 3.0)","Use 'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
+{- |
+Makes a copy of the specified 'GI.Gtk.Objects.RcStyle.RcStyle'. This function
+will correctly copy an RC style that is a member of a class
+derived from 'GI.Gtk.Objects.RcStyle.RcStyle'.
+-}
+rcStyleCopy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRcStyle a) =>
+    a
+    {- ^ /@orig@/: the style to copy -}
+    -> m RcStyle
+    {- ^ __Returns:__ the resulting 'GI.Gtk.Objects.RcStyle.RcStyle' -}
+rcStyleCopy orig = liftIO $ do
+    orig' <- unsafeManagedPtrCastPtr orig
+    result <- gtk_rc_style_copy orig'
+    checkUnexpectedReturnNULL "rcStyleCopy" result
+    result' <- (wrapObject RcStyle) result
+    touchManagedPtr orig
+    return result'
+
+#if ENABLE_OVERLOADING
+data RcStyleCopyMethodInfo
+instance (signature ~ (m RcStyle), MonadIO m, IsRcStyle a) => O.MethodInfo RcStyleCopyMethodInfo a signature where
+    overloadedMethod _ = rcStyleCopy
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RcStyle.hs-boot b/GI/Gtk/Objects/RcStyle.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RcStyle.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RcStyle where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RcStyle = RcStyle (ManagedPtr RcStyle)
+instance GObject RcStyle where
+class (GObject o, O.IsDescendantOf RcStyle o) => IsRcStyle o
+instance (GObject o, O.IsDescendantOf RcStyle o) => IsRcStyle o
+instance O.HasParentTypes RcStyle
+#if ENABLE_OVERLOADING
+data RcStyleCopyMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/RecentAction.hs b/GI/Gtk/Objects/RecentAction.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentAction.hs
@@ -0,0 +1,535 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.RecentAction.RecentAction' represents a list of recently used files, which
+can be shown by widgets such as 'GI.Gtk.Objects.RecentChooserDialog.RecentChooserDialog' or
+'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu'.
+
+To construct a submenu showing recently used files, use a 'GI.Gtk.Objects.RecentAction.RecentAction'
+as the action for a \<menuitem>. To construct a menu toolbutton showing
+the recently used files in the popup menu, use a 'GI.Gtk.Objects.RecentAction.RecentAction' as the
+action for a \<toolitem> element.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RecentAction
+    ( 
+
+-- * Exported types
+    RecentAction(..)                        ,
+    IsRecentAction                          ,
+    toRecentAction                          ,
+    noRecentAction                          ,
+
+
+ -- * Methods
+-- ** getShowNumbers #method:getShowNumbers#
+
+#if ENABLE_OVERLOADING
+    RecentActionGetShowNumbersMethodInfo    ,
+#endif
+    recentActionGetShowNumbers              ,
+
+
+-- ** new #method:new#
+
+    recentActionNew                         ,
+
+
+-- ** newForManager #method:newForManager#
+
+    recentActionNewForManager               ,
+
+
+-- ** setShowNumbers #method:setShowNumbers#
+
+#if ENABLE_OVERLOADING
+    RecentActionSetShowNumbersMethodInfo    ,
+#endif
+    recentActionSetShowNumbers              ,
+
+
+
+
+ -- * Properties
+-- ** showNumbers #attr:showNumbers#
+{- | Whether the items should be displayed with a number.
+-}
+#if ENABLE_OVERLOADING
+    RecentActionShowNumbersPropertyInfo     ,
+#endif
+    constructRecentActionShowNumbers        ,
+    getRecentActionShowNumbers              ,
+#if ENABLE_OVERLOADING
+    recentActionShowNumbers                 ,
+#endif
+    setRecentActionShowNumbers              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.RecentChooser as Gtk.RecentChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Action as Gtk.Action
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RecentManager as Gtk.RecentManager
+
+-- | Memory-managed wrapper type.
+newtype RecentAction = RecentAction (ManagedPtr RecentAction)
+foreign import ccall "gtk_recent_action_get_type"
+    c_gtk_recent_action_get_type :: IO GType
+
+instance GObject RecentAction where
+    gobjectType = c_gtk_recent_action_get_type
+    
+
+-- | Type class for types which can be safely cast to `RecentAction`, for instance with `toRecentAction`.
+class (GObject o, O.IsDescendantOf RecentAction o) => IsRecentAction o
+instance (GObject o, O.IsDescendantOf RecentAction o) => IsRecentAction o
+
+instance O.HasParentTypes RecentAction
+type instance O.ParentTypes RecentAction = '[Gtk.Action.Action, GObject.Object.Object, Gtk.Buildable.Buildable, Gtk.RecentChooser.RecentChooser]
+
+-- | Cast to `RecentAction`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRecentAction :: (MonadIO m, IsRecentAction o) => o -> m RecentAction
+toRecentAction = liftIO . unsafeCastTo RecentAction
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentAction`.
+noRecentAction :: Maybe RecentAction
+noRecentAction = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentActionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentActionMethod "activate" o = Gtk.Action.ActionActivateMethodInfo
+    ResolveRecentActionMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRecentActionMethod "addFilter" o = Gtk.RecentChooser.RecentChooserAddFilterMethodInfo
+    ResolveRecentActionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRecentActionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRecentActionMethod "blockActivate" o = Gtk.Action.ActionBlockActivateMethodInfo
+    ResolveRecentActionMethod "connectAccelerator" o = Gtk.Action.ActionConnectAcceleratorMethodInfo
+    ResolveRecentActionMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRecentActionMethod "createIcon" o = Gtk.Action.ActionCreateIconMethodInfo
+    ResolveRecentActionMethod "createMenu" o = Gtk.Action.ActionCreateMenuMethodInfo
+    ResolveRecentActionMethod "createMenuItem" o = Gtk.Action.ActionCreateMenuItemMethodInfo
+    ResolveRecentActionMethod "createToolItem" o = Gtk.Action.ActionCreateToolItemMethodInfo
+    ResolveRecentActionMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRecentActionMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRecentActionMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRecentActionMethod "disconnectAccelerator" o = Gtk.Action.ActionDisconnectAcceleratorMethodInfo
+    ResolveRecentActionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRecentActionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRecentActionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRecentActionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRecentActionMethod "isSensitive" o = Gtk.Action.ActionIsSensitiveMethodInfo
+    ResolveRecentActionMethod "isVisible" o = Gtk.Action.ActionIsVisibleMethodInfo
+    ResolveRecentActionMethod "listFilters" o = Gtk.RecentChooser.RecentChooserListFiltersMethodInfo
+    ResolveRecentActionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRecentActionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRecentActionMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRecentActionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRecentActionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRecentActionMethod "removeFilter" o = Gtk.RecentChooser.RecentChooserRemoveFilterMethodInfo
+    ResolveRecentActionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRecentActionMethod "selectAll" o = Gtk.RecentChooser.RecentChooserSelectAllMethodInfo
+    ResolveRecentActionMethod "selectUri" o = Gtk.RecentChooser.RecentChooserSelectUriMethodInfo
+    ResolveRecentActionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRecentActionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRecentActionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRecentActionMethod "unblockActivate" o = Gtk.Action.ActionUnblockActivateMethodInfo
+    ResolveRecentActionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRecentActionMethod "unselectAll" o = Gtk.RecentChooser.RecentChooserUnselectAllMethodInfo
+    ResolveRecentActionMethod "unselectUri" o = Gtk.RecentChooser.RecentChooserUnselectUriMethodInfo
+    ResolveRecentActionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRecentActionMethod "getAccelClosure" o = Gtk.Action.ActionGetAccelClosureMethodInfo
+    ResolveRecentActionMethod "getAccelPath" o = Gtk.Action.ActionGetAccelPathMethodInfo
+    ResolveRecentActionMethod "getAlwaysShowImage" o = Gtk.Action.ActionGetAlwaysShowImageMethodInfo
+    ResolveRecentActionMethod "getCurrentItem" o = Gtk.RecentChooser.RecentChooserGetCurrentItemMethodInfo
+    ResolveRecentActionMethod "getCurrentUri" o = Gtk.RecentChooser.RecentChooserGetCurrentUriMethodInfo
+    ResolveRecentActionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRecentActionMethod "getFilter" o = Gtk.RecentChooser.RecentChooserGetFilterMethodInfo
+    ResolveRecentActionMethod "getGicon" o = Gtk.Action.ActionGetGiconMethodInfo
+    ResolveRecentActionMethod "getIconName" o = Gtk.Action.ActionGetIconNameMethodInfo
+    ResolveRecentActionMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRecentActionMethod "getIsImportant" o = Gtk.Action.ActionGetIsImportantMethodInfo
+    ResolveRecentActionMethod "getItems" o = Gtk.RecentChooser.RecentChooserGetItemsMethodInfo
+    ResolveRecentActionMethod "getLabel" o = Gtk.Action.ActionGetLabelMethodInfo
+    ResolveRecentActionMethod "getLimit" o = Gtk.RecentChooser.RecentChooserGetLimitMethodInfo
+    ResolveRecentActionMethod "getLocalOnly" o = Gtk.RecentChooser.RecentChooserGetLocalOnlyMethodInfo
+    ResolveRecentActionMethod "getName" o = Gtk.Action.ActionGetNameMethodInfo
+    ResolveRecentActionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRecentActionMethod "getProxies" o = Gtk.Action.ActionGetProxiesMethodInfo
+    ResolveRecentActionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRecentActionMethod "getSelectMultiple" o = Gtk.RecentChooser.RecentChooserGetSelectMultipleMethodInfo
+    ResolveRecentActionMethod "getSensitive" o = Gtk.Action.ActionGetSensitiveMethodInfo
+    ResolveRecentActionMethod "getShortLabel" o = Gtk.Action.ActionGetShortLabelMethodInfo
+    ResolveRecentActionMethod "getShowIcons" o = Gtk.RecentChooser.RecentChooserGetShowIconsMethodInfo
+    ResolveRecentActionMethod "getShowNotFound" o = Gtk.RecentChooser.RecentChooserGetShowNotFoundMethodInfo
+    ResolveRecentActionMethod "getShowNumbers" o = RecentActionGetShowNumbersMethodInfo
+    ResolveRecentActionMethod "getShowPrivate" o = Gtk.RecentChooser.RecentChooserGetShowPrivateMethodInfo
+    ResolveRecentActionMethod "getShowTips" o = Gtk.RecentChooser.RecentChooserGetShowTipsMethodInfo
+    ResolveRecentActionMethod "getSortType" o = Gtk.RecentChooser.RecentChooserGetSortTypeMethodInfo
+    ResolveRecentActionMethod "getStockId" o = Gtk.Action.ActionGetStockIdMethodInfo
+    ResolveRecentActionMethod "getTooltip" o = Gtk.Action.ActionGetTooltipMethodInfo
+    ResolveRecentActionMethod "getUris" o = Gtk.RecentChooser.RecentChooserGetUrisMethodInfo
+    ResolveRecentActionMethod "getVisible" o = Gtk.Action.ActionGetVisibleMethodInfo
+    ResolveRecentActionMethod "getVisibleHorizontal" o = Gtk.Action.ActionGetVisibleHorizontalMethodInfo
+    ResolveRecentActionMethod "getVisibleVertical" o = Gtk.Action.ActionGetVisibleVerticalMethodInfo
+    ResolveRecentActionMethod "setAccelGroup" o = Gtk.Action.ActionSetAccelGroupMethodInfo
+    ResolveRecentActionMethod "setAccelPath" o = Gtk.Action.ActionSetAccelPathMethodInfo
+    ResolveRecentActionMethod "setAlwaysShowImage" o = Gtk.Action.ActionSetAlwaysShowImageMethodInfo
+    ResolveRecentActionMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRecentActionMethod "setCurrentUri" o = Gtk.RecentChooser.RecentChooserSetCurrentUriMethodInfo
+    ResolveRecentActionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRecentActionMethod "setFilter" o = Gtk.RecentChooser.RecentChooserSetFilterMethodInfo
+    ResolveRecentActionMethod "setGicon" o = Gtk.Action.ActionSetGiconMethodInfo
+    ResolveRecentActionMethod "setIconName" o = Gtk.Action.ActionSetIconNameMethodInfo
+    ResolveRecentActionMethod "setIsImportant" o = Gtk.Action.ActionSetIsImportantMethodInfo
+    ResolveRecentActionMethod "setLabel" o = Gtk.Action.ActionSetLabelMethodInfo
+    ResolveRecentActionMethod "setLimit" o = Gtk.RecentChooser.RecentChooserSetLimitMethodInfo
+    ResolveRecentActionMethod "setLocalOnly" o = Gtk.RecentChooser.RecentChooserSetLocalOnlyMethodInfo
+    ResolveRecentActionMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveRecentActionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRecentActionMethod "setSelectMultiple" o = Gtk.RecentChooser.RecentChooserSetSelectMultipleMethodInfo
+    ResolveRecentActionMethod "setSensitive" o = Gtk.Action.ActionSetSensitiveMethodInfo
+    ResolveRecentActionMethod "setShortLabel" o = Gtk.Action.ActionSetShortLabelMethodInfo
+    ResolveRecentActionMethod "setShowIcons" o = Gtk.RecentChooser.RecentChooserSetShowIconsMethodInfo
+    ResolveRecentActionMethod "setShowNotFound" o = Gtk.RecentChooser.RecentChooserSetShowNotFoundMethodInfo
+    ResolveRecentActionMethod "setShowNumbers" o = RecentActionSetShowNumbersMethodInfo
+    ResolveRecentActionMethod "setShowPrivate" o = Gtk.RecentChooser.RecentChooserSetShowPrivateMethodInfo
+    ResolveRecentActionMethod "setShowTips" o = Gtk.RecentChooser.RecentChooserSetShowTipsMethodInfo
+    ResolveRecentActionMethod "setSortFunc" o = Gtk.RecentChooser.RecentChooserSetSortFuncMethodInfo
+    ResolveRecentActionMethod "setSortType" o = Gtk.RecentChooser.RecentChooserSetSortTypeMethodInfo
+    ResolveRecentActionMethod "setStockId" o = Gtk.Action.ActionSetStockIdMethodInfo
+    ResolveRecentActionMethod "setTooltip" o = Gtk.Action.ActionSetTooltipMethodInfo
+    ResolveRecentActionMethod "setVisible" o = Gtk.Action.ActionSetVisibleMethodInfo
+    ResolveRecentActionMethod "setVisibleHorizontal" o = Gtk.Action.ActionSetVisibleHorizontalMethodInfo
+    ResolveRecentActionMethod "setVisibleVertical" o = Gtk.Action.ActionSetVisibleVerticalMethodInfo
+    ResolveRecentActionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentActionMethod t RecentAction, O.MethodInfo info RecentAction p) => OL.IsLabel t (RecentAction -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "show-numbers"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-numbers@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentAction #showNumbers
+@
+-}
+getRecentActionShowNumbers :: (MonadIO m, IsRecentAction o) => o -> m Bool
+getRecentActionShowNumbers obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-numbers"
+
+{- |
+Set the value of the “@show-numbers@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentAction [ #showNumbers 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentActionShowNumbers :: (MonadIO m, IsRecentAction o) => o -> Bool -> m ()
+setRecentActionShowNumbers obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-numbers" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-numbers@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentActionShowNumbers :: (IsRecentAction o) => Bool -> IO (GValueConstruct o)
+constructRecentActionShowNumbers val = B.Properties.constructObjectPropertyBool "show-numbers" val
+
+#if ENABLE_OVERLOADING
+data RecentActionShowNumbersPropertyInfo
+instance AttrInfo RecentActionShowNumbersPropertyInfo where
+    type AttrAllowedOps RecentActionShowNumbersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentActionShowNumbersPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RecentActionShowNumbersPropertyInfo = IsRecentAction
+    type AttrGetType RecentActionShowNumbersPropertyInfo = Bool
+    type AttrLabel RecentActionShowNumbersPropertyInfo = "show-numbers"
+    type AttrOrigin RecentActionShowNumbersPropertyInfo = RecentAction
+    attrGet _ = getRecentActionShowNumbers
+    attrSet _ = setRecentActionShowNumbers
+    attrConstruct _ = constructRecentActionShowNumbers
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentAction
+type instance O.AttributeList RecentAction = RecentActionAttributeList
+type RecentActionAttributeList = ('[ '("actionGroup", Gtk.Action.ActionActionGroupPropertyInfo), '("alwaysShowImage", Gtk.Action.ActionAlwaysShowImagePropertyInfo), '("filter", Gtk.RecentChooser.RecentChooserFilterPropertyInfo), '("gicon", Gtk.Action.ActionGiconPropertyInfo), '("hideIfEmpty", Gtk.Action.ActionHideIfEmptyPropertyInfo), '("iconName", Gtk.Action.ActionIconNamePropertyInfo), '("isImportant", Gtk.Action.ActionIsImportantPropertyInfo), '("label", Gtk.Action.ActionLabelPropertyInfo), '("limit", Gtk.RecentChooser.RecentChooserLimitPropertyInfo), '("localOnly", Gtk.RecentChooser.RecentChooserLocalOnlyPropertyInfo), '("name", Gtk.Action.ActionNamePropertyInfo), '("recentManager", Gtk.RecentChooser.RecentChooserRecentManagerPropertyInfo), '("selectMultiple", Gtk.RecentChooser.RecentChooserSelectMultiplePropertyInfo), '("sensitive", Gtk.Action.ActionSensitivePropertyInfo), '("shortLabel", Gtk.Action.ActionShortLabelPropertyInfo), '("showIcons", Gtk.RecentChooser.RecentChooserShowIconsPropertyInfo), '("showNotFound", Gtk.RecentChooser.RecentChooserShowNotFoundPropertyInfo), '("showNumbers", RecentActionShowNumbersPropertyInfo), '("showPrivate", Gtk.RecentChooser.RecentChooserShowPrivatePropertyInfo), '("showTips", Gtk.RecentChooser.RecentChooserShowTipsPropertyInfo), '("sortType", Gtk.RecentChooser.RecentChooserSortTypePropertyInfo), '("stockId", Gtk.Action.ActionStockIdPropertyInfo), '("tooltip", Gtk.Action.ActionTooltipPropertyInfo), '("visible", Gtk.Action.ActionVisiblePropertyInfo), '("visibleHorizontal", Gtk.Action.ActionVisibleHorizontalPropertyInfo), '("visibleOverflown", Gtk.Action.ActionVisibleOverflownPropertyInfo), '("visibleVertical", Gtk.Action.ActionVisibleVerticalPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+recentActionShowNumbers :: AttrLabelProxy "showNumbers"
+recentActionShowNumbers = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RecentAction = RecentActionSignalList
+type RecentActionSignalList = ('[ '("activate", Gtk.Action.ActionActivateSignalInfo), '("itemActivated", Gtk.RecentChooser.RecentChooserItemActivatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("selectionChanged", Gtk.RecentChooser.RecentChooserSelectionChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RecentAction::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a unique name for the action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the label displayed in menu items and on buttons,\n  or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a tooltip for the action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the stock icon to display in widgets representing\n  the action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentAction"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_action_new" gtk_recent_action_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- label : TBasicType TUTF8
+    CString ->                              -- tooltip : TBasicType TUTF8
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr RecentAction)
+
+{-# DEPRECATED recentActionNew ["(Since version 3.10)"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.RecentAction.RecentAction' object. To add the action to
+a 'GI.Gtk.Objects.ActionGroup.ActionGroup' and set the accelerator for the action,
+call 'GI.Gtk.Objects.ActionGroup.actionGroupAddActionWithAccel'.
+
+/Since: 2.12/
+-}
+recentActionNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: a unique name for the action -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: the label displayed in menu items and on buttons,
+  or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@tooltip@/: a tooltip for the action, or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@stockId@/: the stock icon to display in widgets representing
+  the action, or 'Nothing' -}
+    -> m RecentAction
+    {- ^ __Returns:__ the newly created 'GI.Gtk.Objects.RecentAction.RecentAction'. -}
+recentActionNew name label tooltip stockId = liftIO $ do
+    name' <- textToCString name
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    maybeTooltip <- case tooltip of
+        Nothing -> return nullPtr
+        Just jTooltip -> do
+            jTooltip' <- textToCString jTooltip
+            return jTooltip'
+    maybeStockId <- case stockId of
+        Nothing -> return nullPtr
+        Just jStockId -> do
+            jStockId' <- textToCString jStockId
+            return jStockId'
+    result <- gtk_recent_action_new name' maybeLabel maybeTooltip maybeStockId
+    checkUnexpectedReturnNULL "recentActionNew" result
+    result' <- (wrapObject RecentAction) result
+    freeMem name'
+    freeMem maybeLabel
+    freeMem maybeTooltip
+    freeMem maybeStockId
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RecentAction::new_for_manager
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a unique name for the action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the label displayed in menu items and on buttons,\n  or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a tooltip for the action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the stock icon to display in widgets representing\n  the action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager, or %NULL for using the default\n  #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentAction"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_action_new_for_manager" gtk_recent_action_new_for_manager :: 
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- label : TBasicType TUTF8
+    CString ->                              -- tooltip : TBasicType TUTF8
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Ptr Gtk.RecentManager.RecentManager ->  -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    IO (Ptr RecentAction)
+
+{-# DEPRECATED recentActionNewForManager ["(Since version 3.10)"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.RecentAction.RecentAction' object. To add the action to
+a 'GI.Gtk.Objects.ActionGroup.ActionGroup' and set the accelerator for the action,
+call 'GI.Gtk.Objects.ActionGroup.actionGroupAddActionWithAccel'.
+
+/Since: 2.12/
+-}
+recentActionNewForManager ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.RecentManager.IsRecentManager a) =>
+    T.Text
+    {- ^ /@name@/: a unique name for the action -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: the label displayed in menu items and on buttons,
+  or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@tooltip@/: a tooltip for the action, or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@stockId@/: the stock icon to display in widgets representing
+  the action, or 'Nothing' -}
+    -> Maybe (a)
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager', or 'Nothing' for using the default
+  'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> m RecentAction
+    {- ^ __Returns:__ the newly created 'GI.Gtk.Objects.RecentAction.RecentAction' -}
+recentActionNewForManager name label tooltip stockId manager = liftIO $ do
+    name' <- textToCString name
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    maybeTooltip <- case tooltip of
+        Nothing -> return nullPtr
+        Just jTooltip -> do
+            jTooltip' <- textToCString jTooltip
+            return jTooltip'
+    maybeStockId <- case stockId of
+        Nothing -> return nullPtr
+        Just jStockId -> do
+            jStockId' <- textToCString jStockId
+            return jStockId'
+    maybeManager <- case manager of
+        Nothing -> return nullPtr
+        Just jManager -> do
+            jManager' <- unsafeManagedPtrCastPtr jManager
+            return jManager'
+    result <- gtk_recent_action_new_for_manager name' maybeLabel maybeTooltip maybeStockId maybeManager
+    checkUnexpectedReturnNULL "recentActionNewForManager" result
+    result' <- (wrapObject RecentAction) result
+    whenJust manager touchManagedPtr
+    freeMem name'
+    freeMem maybeLabel
+    freeMem maybeTooltip
+    freeMem maybeStockId
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RecentAction::get_show_numbers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "RecentAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_action_get_show_numbers" gtk_recent_action_get_show_numbers :: 
+    Ptr RecentAction ->                     -- action : TInterface (Name {namespace = "Gtk", name = "RecentAction"})
+    IO CInt
+
+{-# DEPRECATED recentActionGetShowNumbers ["(Since version 3.10)"] #-}
+{- |
+Returns the value set by 'GI.Gtk.Objects.RecentChooserMenu.recentChooserMenuSetShowNumbers'.
+
+/Since: 2.12/
+-}
+recentActionGetShowNumbers ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.RecentAction.RecentAction' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if numbers should be shown. -}
+recentActionGetShowNumbers action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_recent_action_get_show_numbers action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentActionGetShowNumbersMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRecentAction a) => O.MethodInfo RecentActionGetShowNumbersMethodInfo a signature where
+    overloadedMethod _ = recentActionGetShowNumbers
+
+#endif
+
+-- method RecentAction::set_show_numbers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "RecentAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentAction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_numbers", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the shown items should be numbered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_action_set_show_numbers" gtk_recent_action_set_show_numbers :: 
+    Ptr RecentAction ->                     -- action : TInterface (Name {namespace = "Gtk", name = "RecentAction"})
+    CInt ->                                 -- show_numbers : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED recentActionSetShowNumbers ["(Since version 3.10)"] #-}
+{- |
+Sets whether a number should be added to the items shown by the
+widgets representing /@action@/. The numbers are shown to provide
+a unique character for a mnemonic to be used inside the menu item\'s
+label. Only the first ten items get a number to avoid clashes.
+
+/Since: 2.12/
+-}
+recentActionSetShowNumbers ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentAction a) =>
+    a
+    {- ^ /@action@/: a 'GI.Gtk.Objects.RecentAction.RecentAction' -}
+    -> Bool
+    {- ^ /@showNumbers@/: 'True' if the shown items should be numbered -}
+    -> m ()
+recentActionSetShowNumbers action showNumbers = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    let showNumbers' = (fromIntegral . fromEnum) showNumbers
+    gtk_recent_action_set_show_numbers action' showNumbers'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentActionSetShowNumbersMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRecentAction a) => O.MethodInfo RecentActionSetShowNumbersMethodInfo a signature where
+    overloadedMethod _ = recentActionSetShowNumbers
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RecentAction.hs-boot b/GI/Gtk/Objects/RecentAction.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentAction.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RecentAction where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentAction = RecentAction (ManagedPtr RecentAction)
+instance GObject RecentAction where
+class (GObject o, O.IsDescendantOf RecentAction o) => IsRecentAction o
+instance (GObject o, O.IsDescendantOf RecentAction o) => IsRecentAction o
+instance O.HasParentTypes RecentAction
+#if ENABLE_OVERLOADING
+data RecentActionShowNumbersPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentActionGetShowNumbersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentActionSetShowNumbersMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/RecentChooserDialog.hs b/GI/Gtk/Objects/RecentChooserDialog.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentChooserDialog.hs
@@ -0,0 +1,616 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.RecentChooserDialog.RecentChooserDialog' is a dialog box suitable for displaying the recently
+used documents.  This widgets works by putting a 'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget' inside
+a 'GI.Gtk.Objects.Dialog.Dialog'.  It exposes the 'GI.Gtk.Structs.RecentChooserIface.RecentChooserIface' interface, so you can use
+all the 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' functions on the recent chooser dialog as well as
+those for 'GI.Gtk.Objects.Dialog.Dialog'.
+
+Note that 'GI.Gtk.Objects.RecentChooserDialog.RecentChooserDialog' does not have any methods of its own.
+Instead, you should use the functions that work on a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser'.
+
+## Typical usage ## {@/gtkrecentchooser/@-typical-usage}
+
+In the simplest of cases, you can use the following code to use
+a 'GI.Gtk.Objects.RecentChooserDialog.RecentChooserDialog' to select a recently used file:
+
+
+=== /C code/
+>
+>GtkWidget *dialog;
+>gint res;
+>
+>dialog = gtk_recent_chooser_dialog_new ("Recent Documents",
+>                                        parent_window,
+>                                        _("_Cancel"),
+>                                        GTK_RESPONSE_CANCEL,
+>                                        _("_Open"),
+>                                        GTK_RESPONSE_ACCEPT,
+>                                        NULL);
+>
+>res = gtk_dialog_run (GTK_DIALOG (dialog));
+>if (res == GTK_RESPONSE_ACCEPT)
+>  {
+>    GtkRecentInfo *info;
+>    GtkRecentChooser *chooser = GTK_RECENT_CHOOSER (dialog);
+>
+>    info = gtk_recent_chooser_get_current_item (chooser);
+>    open_file (gtk_recent_info_get_uri (info));
+>    gtk_recent_info_unref (info);
+>  }
+>
+>gtk_widget_destroy (dialog);
+
+
+Recently used files are supported since GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RecentChooserDialog
+    ( 
+
+-- * Exported types
+    RecentChooserDialog(..)                 ,
+    IsRecentChooserDialog                   ,
+    toRecentChooserDialog                   ,
+    noRecentChooserDialog                   ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.RecentChooser as Gtk.RecentChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Dialog as Gtk.Dialog
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype RecentChooserDialog = RecentChooserDialog (ManagedPtr RecentChooserDialog)
+foreign import ccall "gtk_recent_chooser_dialog_get_type"
+    c_gtk_recent_chooser_dialog_get_type :: IO GType
+
+instance GObject RecentChooserDialog where
+    gobjectType = c_gtk_recent_chooser_dialog_get_type
+    
+
+-- | Type class for types which can be safely cast to `RecentChooserDialog`, for instance with `toRecentChooserDialog`.
+class (GObject o, O.IsDescendantOf RecentChooserDialog o) => IsRecentChooserDialog o
+instance (GObject o, O.IsDescendantOf RecentChooserDialog o) => IsRecentChooserDialog o
+
+instance O.HasParentTypes RecentChooserDialog
+type instance O.ParentTypes RecentChooserDialog = '[Gtk.Dialog.Dialog, Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.RecentChooser.RecentChooser]
+
+-- | Cast to `RecentChooserDialog`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRecentChooserDialog :: (MonadIO m, IsRecentChooserDialog o) => o -> m RecentChooserDialog
+toRecentChooserDialog = liftIO . unsafeCastTo RecentChooserDialog
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentChooserDialog`.
+noRecentChooserDialog :: Maybe RecentChooserDialog
+noRecentChooserDialog = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentChooserDialogMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentChooserDialogMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveRecentChooserDialogMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveRecentChooserDialogMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveRecentChooserDialogMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveRecentChooserDialogMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveRecentChooserDialogMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveRecentChooserDialogMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveRecentChooserDialogMethod "addActionWidget" o = Gtk.Dialog.DialogAddActionWidgetMethodInfo
+    ResolveRecentChooserDialogMethod "addButton" o = Gtk.Dialog.DialogAddButtonMethodInfo
+    ResolveRecentChooserDialogMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRecentChooserDialogMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveRecentChooserDialogMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveRecentChooserDialogMethod "addFilter" o = Gtk.RecentChooser.RecentChooserAddFilterMethodInfo
+    ResolveRecentChooserDialogMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveRecentChooserDialogMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveRecentChooserDialogMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveRecentChooserDialogMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveRecentChooserDialogMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveRecentChooserDialogMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRecentChooserDialogMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRecentChooserDialogMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveRecentChooserDialogMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveRecentChooserDialogMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveRecentChooserDialogMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveRecentChooserDialogMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveRecentChooserDialogMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveRecentChooserDialogMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveRecentChooserDialogMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveRecentChooserDialogMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveRecentChooserDialogMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveRecentChooserDialogMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveRecentChooserDialogMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRecentChooserDialogMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveRecentChooserDialogMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveRecentChooserDialogMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRecentChooserDialogMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRecentChooserDialogMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRecentChooserDialogMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveRecentChooserDialogMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveRecentChooserDialogMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveRecentChooserDialogMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveRecentChooserDialogMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveRecentChooserDialogMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveRecentChooserDialogMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveRecentChooserDialogMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveRecentChooserDialogMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveRecentChooserDialogMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveRecentChooserDialogMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveRecentChooserDialogMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveRecentChooserDialogMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveRecentChooserDialogMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveRecentChooserDialogMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveRecentChooserDialogMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveRecentChooserDialogMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveRecentChooserDialogMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRecentChooserDialogMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveRecentChooserDialogMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveRecentChooserDialogMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRecentChooserDialogMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveRecentChooserDialogMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveRecentChooserDialogMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRecentChooserDialogMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveRecentChooserDialogMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveRecentChooserDialogMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveRecentChooserDialogMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveRecentChooserDialogMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveRecentChooserDialogMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveRecentChooserDialogMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveRecentChooserDialogMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveRecentChooserDialogMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveRecentChooserDialogMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveRecentChooserDialogMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveRecentChooserDialogMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveRecentChooserDialogMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveRecentChooserDialogMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveRecentChooserDialogMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveRecentChooserDialogMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveRecentChooserDialogMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveRecentChooserDialogMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveRecentChooserDialogMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveRecentChooserDialogMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveRecentChooserDialogMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveRecentChooserDialogMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveRecentChooserDialogMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveRecentChooserDialogMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveRecentChooserDialogMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRecentChooserDialogMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveRecentChooserDialogMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveRecentChooserDialogMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveRecentChooserDialogMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveRecentChooserDialogMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveRecentChooserDialogMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveRecentChooserDialogMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveRecentChooserDialogMethod "listFilters" o = Gtk.RecentChooser.RecentChooserListFiltersMethodInfo
+    ResolveRecentChooserDialogMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveRecentChooserDialogMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveRecentChooserDialogMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveRecentChooserDialogMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveRecentChooserDialogMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveRecentChooserDialogMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveRecentChooserDialogMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveRecentChooserDialogMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveRecentChooserDialogMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveRecentChooserDialogMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveRecentChooserDialogMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveRecentChooserDialogMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveRecentChooserDialogMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRecentChooserDialogMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRecentChooserDialogMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveRecentChooserDialogMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveRecentChooserDialogMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveRecentChooserDialogMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveRecentChooserDialogMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveRecentChooserDialogMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveRecentChooserDialogMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRecentChooserDialogMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveRecentChooserDialogMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveRecentChooserDialogMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveRecentChooserDialogMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveRecentChooserDialogMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveRecentChooserDialogMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveRecentChooserDialogMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveRecentChooserDialogMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveRecentChooserDialogMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveRecentChooserDialogMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveRecentChooserDialogMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveRecentChooserDialogMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveRecentChooserDialogMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveRecentChooserDialogMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRecentChooserDialogMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRecentChooserDialogMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveRecentChooserDialogMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveRecentChooserDialogMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveRecentChooserDialogMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveRecentChooserDialogMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveRecentChooserDialogMethod "removeFilter" o = Gtk.RecentChooser.RecentChooserRemoveFilterMethodInfo
+    ResolveRecentChooserDialogMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveRecentChooserDialogMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveRecentChooserDialogMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveRecentChooserDialogMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveRecentChooserDialogMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveRecentChooserDialogMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveRecentChooserDialogMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveRecentChooserDialogMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveRecentChooserDialogMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveRecentChooserDialogMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveRecentChooserDialogMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveRecentChooserDialogMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveRecentChooserDialogMethod "response" o = Gtk.Dialog.DialogResponseMethodInfo
+    ResolveRecentChooserDialogMethod "run" o = Gtk.Dialog.DialogRunMethodInfo
+    ResolveRecentChooserDialogMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRecentChooserDialogMethod "selectAll" o = Gtk.RecentChooser.RecentChooserSelectAllMethodInfo
+    ResolveRecentChooserDialogMethod "selectUri" o = Gtk.RecentChooser.RecentChooserSelectUriMethodInfo
+    ResolveRecentChooserDialogMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveRecentChooserDialogMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveRecentChooserDialogMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveRecentChooserDialogMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveRecentChooserDialogMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveRecentChooserDialogMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveRecentChooserDialogMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveRecentChooserDialogMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveRecentChooserDialogMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveRecentChooserDialogMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRecentChooserDialogMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRecentChooserDialogMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveRecentChooserDialogMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveRecentChooserDialogMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveRecentChooserDialogMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveRecentChooserDialogMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRecentChooserDialogMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveRecentChooserDialogMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveRecentChooserDialogMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveRecentChooserDialogMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveRecentChooserDialogMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveRecentChooserDialogMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveRecentChooserDialogMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveRecentChooserDialogMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRecentChooserDialogMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveRecentChooserDialogMethod "unselectAll" o = Gtk.RecentChooser.RecentChooserUnselectAllMethodInfo
+    ResolveRecentChooserDialogMethod "unselectUri" o = Gtk.RecentChooser.RecentChooserUnselectUriMethodInfo
+    ResolveRecentChooserDialogMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveRecentChooserDialogMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveRecentChooserDialogMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveRecentChooserDialogMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRecentChooserDialogMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveRecentChooserDialogMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveRecentChooserDialogMethod "getActionArea" o = Gtk.Dialog.DialogGetActionAreaMethodInfo
+    ResolveRecentChooserDialogMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveRecentChooserDialogMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveRecentChooserDialogMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveRecentChooserDialogMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveRecentChooserDialogMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveRecentChooserDialogMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveRecentChooserDialogMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveRecentChooserDialogMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveRecentChooserDialogMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveRecentChooserDialogMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveRecentChooserDialogMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveRecentChooserDialogMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveRecentChooserDialogMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveRecentChooserDialogMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveRecentChooserDialogMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveRecentChooserDialogMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveRecentChooserDialogMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveRecentChooserDialogMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveRecentChooserDialogMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveRecentChooserDialogMethod "getContentArea" o = Gtk.Dialog.DialogGetContentAreaMethodInfo
+    ResolveRecentChooserDialogMethod "getCurrentItem" o = Gtk.RecentChooser.RecentChooserGetCurrentItemMethodInfo
+    ResolveRecentChooserDialogMethod "getCurrentUri" o = Gtk.RecentChooser.RecentChooserGetCurrentUriMethodInfo
+    ResolveRecentChooserDialogMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRecentChooserDialogMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveRecentChooserDialogMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveRecentChooserDialogMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveRecentChooserDialogMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveRecentChooserDialogMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveRecentChooserDialogMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveRecentChooserDialogMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveRecentChooserDialogMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveRecentChooserDialogMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveRecentChooserDialogMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveRecentChooserDialogMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveRecentChooserDialogMethod "getFilter" o = Gtk.RecentChooser.RecentChooserGetFilterMethodInfo
+    ResolveRecentChooserDialogMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveRecentChooserDialogMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveRecentChooserDialogMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveRecentChooserDialogMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveRecentChooserDialogMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveRecentChooserDialogMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveRecentChooserDialogMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveRecentChooserDialogMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveRecentChooserDialogMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveRecentChooserDialogMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveRecentChooserDialogMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveRecentChooserDialogMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveRecentChooserDialogMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveRecentChooserDialogMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveRecentChooserDialogMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveRecentChooserDialogMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveRecentChooserDialogMethod "getHeaderBar" o = Gtk.Dialog.DialogGetHeaderBarMethodInfo
+    ResolveRecentChooserDialogMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveRecentChooserDialogMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveRecentChooserDialogMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveRecentChooserDialogMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveRecentChooserDialogMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveRecentChooserDialogMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveRecentChooserDialogMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRecentChooserDialogMethod "getItems" o = Gtk.RecentChooser.RecentChooserGetItemsMethodInfo
+    ResolveRecentChooserDialogMethod "getLimit" o = Gtk.RecentChooser.RecentChooserGetLimitMethodInfo
+    ResolveRecentChooserDialogMethod "getLocalOnly" o = Gtk.RecentChooser.RecentChooserGetLocalOnlyMethodInfo
+    ResolveRecentChooserDialogMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveRecentChooserDialogMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveRecentChooserDialogMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveRecentChooserDialogMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveRecentChooserDialogMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveRecentChooserDialogMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveRecentChooserDialogMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveRecentChooserDialogMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveRecentChooserDialogMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveRecentChooserDialogMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveRecentChooserDialogMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveRecentChooserDialogMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveRecentChooserDialogMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveRecentChooserDialogMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveRecentChooserDialogMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveRecentChooserDialogMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveRecentChooserDialogMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveRecentChooserDialogMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveRecentChooserDialogMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveRecentChooserDialogMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveRecentChooserDialogMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveRecentChooserDialogMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveRecentChooserDialogMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveRecentChooserDialogMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveRecentChooserDialogMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveRecentChooserDialogMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveRecentChooserDialogMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveRecentChooserDialogMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRecentChooserDialogMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRecentChooserDialogMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveRecentChooserDialogMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveRecentChooserDialogMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveRecentChooserDialogMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveRecentChooserDialogMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveRecentChooserDialogMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveRecentChooserDialogMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveRecentChooserDialogMethod "getResponseForWidget" o = Gtk.Dialog.DialogGetResponseForWidgetMethodInfo
+    ResolveRecentChooserDialogMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveRecentChooserDialogMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveRecentChooserDialogMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveRecentChooserDialogMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveRecentChooserDialogMethod "getSelectMultiple" o = Gtk.RecentChooser.RecentChooserGetSelectMultipleMethodInfo
+    ResolveRecentChooserDialogMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveRecentChooserDialogMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveRecentChooserDialogMethod "getShowIcons" o = Gtk.RecentChooser.RecentChooserGetShowIconsMethodInfo
+    ResolveRecentChooserDialogMethod "getShowNotFound" o = Gtk.RecentChooser.RecentChooserGetShowNotFoundMethodInfo
+    ResolveRecentChooserDialogMethod "getShowPrivate" o = Gtk.RecentChooser.RecentChooserGetShowPrivateMethodInfo
+    ResolveRecentChooserDialogMethod "getShowTips" o = Gtk.RecentChooser.RecentChooserGetShowTipsMethodInfo
+    ResolveRecentChooserDialogMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveRecentChooserDialogMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveRecentChooserDialogMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveRecentChooserDialogMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveRecentChooserDialogMethod "getSortType" o = Gtk.RecentChooser.RecentChooserGetSortTypeMethodInfo
+    ResolveRecentChooserDialogMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveRecentChooserDialogMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveRecentChooserDialogMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveRecentChooserDialogMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveRecentChooserDialogMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveRecentChooserDialogMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveRecentChooserDialogMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveRecentChooserDialogMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveRecentChooserDialogMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveRecentChooserDialogMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveRecentChooserDialogMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveRecentChooserDialogMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveRecentChooserDialogMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveRecentChooserDialogMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveRecentChooserDialogMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveRecentChooserDialogMethod "getUris" o = Gtk.RecentChooser.RecentChooserGetUrisMethodInfo
+    ResolveRecentChooserDialogMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveRecentChooserDialogMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveRecentChooserDialogMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveRecentChooserDialogMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveRecentChooserDialogMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveRecentChooserDialogMethod "getWidgetForResponse" o = Gtk.Dialog.DialogGetWidgetForResponseMethodInfo
+    ResolveRecentChooserDialogMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveRecentChooserDialogMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveRecentChooserDialogMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveRecentChooserDialogMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveRecentChooserDialogMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveRecentChooserDialogMethod "setAlternativeButtonOrderFromArray" o = Gtk.Dialog.DialogSetAlternativeButtonOrderFromArrayMethodInfo
+    ResolveRecentChooserDialogMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveRecentChooserDialogMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveRecentChooserDialogMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveRecentChooserDialogMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveRecentChooserDialogMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRecentChooserDialogMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveRecentChooserDialogMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveRecentChooserDialogMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveRecentChooserDialogMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveRecentChooserDialogMethod "setCurrentUri" o = Gtk.RecentChooser.RecentChooserSetCurrentUriMethodInfo
+    ResolveRecentChooserDialogMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRecentChooserDialogMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveRecentChooserDialogMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveRecentChooserDialogMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveRecentChooserDialogMethod "setDefaultResponse" o = Gtk.Dialog.DialogSetDefaultResponseMethodInfo
+    ResolveRecentChooserDialogMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveRecentChooserDialogMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveRecentChooserDialogMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveRecentChooserDialogMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveRecentChooserDialogMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveRecentChooserDialogMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveRecentChooserDialogMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveRecentChooserDialogMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveRecentChooserDialogMethod "setFilter" o = Gtk.RecentChooser.RecentChooserSetFilterMethodInfo
+    ResolveRecentChooserDialogMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveRecentChooserDialogMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveRecentChooserDialogMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveRecentChooserDialogMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveRecentChooserDialogMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveRecentChooserDialogMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveRecentChooserDialogMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveRecentChooserDialogMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveRecentChooserDialogMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveRecentChooserDialogMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveRecentChooserDialogMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveRecentChooserDialogMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveRecentChooserDialogMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveRecentChooserDialogMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveRecentChooserDialogMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveRecentChooserDialogMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveRecentChooserDialogMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveRecentChooserDialogMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveRecentChooserDialogMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveRecentChooserDialogMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveRecentChooserDialogMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveRecentChooserDialogMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveRecentChooserDialogMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveRecentChooserDialogMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveRecentChooserDialogMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveRecentChooserDialogMethod "setLimit" o = Gtk.RecentChooser.RecentChooserSetLimitMethodInfo
+    ResolveRecentChooserDialogMethod "setLocalOnly" o = Gtk.RecentChooser.RecentChooserSetLocalOnlyMethodInfo
+    ResolveRecentChooserDialogMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveRecentChooserDialogMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveRecentChooserDialogMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveRecentChooserDialogMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveRecentChooserDialogMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveRecentChooserDialogMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveRecentChooserDialogMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveRecentChooserDialogMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveRecentChooserDialogMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveRecentChooserDialogMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveRecentChooserDialogMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveRecentChooserDialogMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveRecentChooserDialogMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveRecentChooserDialogMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveRecentChooserDialogMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveRecentChooserDialogMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRecentChooserDialogMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveRecentChooserDialogMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveRecentChooserDialogMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveRecentChooserDialogMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveRecentChooserDialogMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveRecentChooserDialogMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveRecentChooserDialogMethod "setResponseSensitive" o = Gtk.Dialog.DialogSetResponseSensitiveMethodInfo
+    ResolveRecentChooserDialogMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveRecentChooserDialogMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveRecentChooserDialogMethod "setSelectMultiple" o = Gtk.RecentChooser.RecentChooserSetSelectMultipleMethodInfo
+    ResolveRecentChooserDialogMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveRecentChooserDialogMethod "setShowIcons" o = Gtk.RecentChooser.RecentChooserSetShowIconsMethodInfo
+    ResolveRecentChooserDialogMethod "setShowNotFound" o = Gtk.RecentChooser.RecentChooserSetShowNotFoundMethodInfo
+    ResolveRecentChooserDialogMethod "setShowPrivate" o = Gtk.RecentChooser.RecentChooserSetShowPrivateMethodInfo
+    ResolveRecentChooserDialogMethod "setShowTips" o = Gtk.RecentChooser.RecentChooserSetShowTipsMethodInfo
+    ResolveRecentChooserDialogMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveRecentChooserDialogMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveRecentChooserDialogMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveRecentChooserDialogMethod "setSortFunc" o = Gtk.RecentChooser.RecentChooserSetSortFuncMethodInfo
+    ResolveRecentChooserDialogMethod "setSortType" o = Gtk.RecentChooser.RecentChooserSetSortTypeMethodInfo
+    ResolveRecentChooserDialogMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveRecentChooserDialogMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveRecentChooserDialogMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveRecentChooserDialogMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveRecentChooserDialogMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveRecentChooserDialogMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveRecentChooserDialogMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveRecentChooserDialogMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveRecentChooserDialogMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveRecentChooserDialogMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveRecentChooserDialogMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveRecentChooserDialogMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveRecentChooserDialogMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveRecentChooserDialogMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveRecentChooserDialogMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveRecentChooserDialogMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveRecentChooserDialogMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveRecentChooserDialogMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveRecentChooserDialogMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveRecentChooserDialogMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveRecentChooserDialogMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentChooserDialogMethod t RecentChooserDialog, O.MethodInfo info RecentChooserDialog p) => OL.IsLabel t (RecentChooserDialog -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentChooserDialog
+type instance O.AttributeList RecentChooserDialog = RecentChooserDialogAttributeList
+type RecentChooserDialogAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("filter", Gtk.RecentChooser.RecentChooserFilterPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("limit", Gtk.RecentChooser.RecentChooserLimitPropertyInfo), '("localOnly", Gtk.RecentChooser.RecentChooserLocalOnlyPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("recentManager", Gtk.RecentChooser.RecentChooserRecentManagerPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("selectMultiple", Gtk.RecentChooser.RecentChooserSelectMultiplePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showIcons", Gtk.RecentChooser.RecentChooserShowIconsPropertyInfo), '("showNotFound", Gtk.RecentChooser.RecentChooserShowNotFoundPropertyInfo), '("showPrivate", Gtk.RecentChooser.RecentChooserShowPrivatePropertyInfo), '("showTips", Gtk.RecentChooser.RecentChooserShowTipsPropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("sortType", Gtk.RecentChooser.RecentChooserSortTypePropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("useHeaderBar", Gtk.Dialog.DialogUseHeaderBarPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RecentChooserDialog = RecentChooserDialogSignalList
+type RecentChooserDialogSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", Gtk.Dialog.DialogCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("itemActivated", Gtk.RecentChooser.RecentChooserItemActivatedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("response", Gtk.Dialog.DialogResponseSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionChanged", Gtk.RecentChooser.RecentChooserSelectionChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RecentChooserDialog.hs-boot b/GI/Gtk/Objects/RecentChooserDialog.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentChooserDialog.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RecentChooserDialog where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentChooserDialog = RecentChooserDialog (ManagedPtr RecentChooserDialog)
+instance GObject RecentChooserDialog where
+class (GObject o, O.IsDescendantOf RecentChooserDialog o) => IsRecentChooserDialog o
+instance (GObject o, O.IsDescendantOf RecentChooserDialog o) => IsRecentChooserDialog o
+instance O.HasParentTypes RecentChooserDialog
diff --git a/GI/Gtk/Objects/RecentChooserMenu.hs b/GI/Gtk/Objects/RecentChooserMenu.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentChooserMenu.hs
@@ -0,0 +1,782 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' is a widget suitable for displaying recently used files
+inside a menu.  It can be used to set a sub-menu of a 'GI.Gtk.Objects.MenuItem.MenuItem' using
+'GI.Gtk.Objects.MenuItem.menuItemSetSubmenu', or as the menu of a 'GI.Gtk.Objects.MenuToolButton.MenuToolButton'.
+
+Note that 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' does not have any methods of its own. Instead,
+you should use the functions that work on a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser'.
+
+Note also that 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' does not support multiple filters, as it
+has no way to let the user choose between them as the 'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget'
+and 'GI.Gtk.Objects.RecentChooserDialog.RecentChooserDialog' widgets do. Thus using 'GI.Gtk.Interfaces.RecentChooser.recentChooserAddFilter'
+on a 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' widget will yield the same effects as using
+'GI.Gtk.Interfaces.RecentChooser.recentChooserSetFilter', replacing any currently set filter
+with the supplied filter; 'GI.Gtk.Interfaces.RecentChooser.recentChooserRemoveFilter' will remove
+any currently set 'GI.Gtk.Objects.RecentFilter.RecentFilter' object and will unset the current filter;
+'GI.Gtk.Interfaces.RecentChooser.recentChooserListFilters' will return a list containing a single
+'GI.Gtk.Objects.RecentFilter.RecentFilter' object.
+
+Recently used files are supported since GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RecentChooserMenu
+    ( 
+
+-- * Exported types
+    RecentChooserMenu(..)                   ,
+    IsRecentChooserMenu                     ,
+    toRecentChooserMenu                     ,
+    noRecentChooserMenu                     ,
+
+
+ -- * Methods
+-- ** getShowNumbers #method:getShowNumbers#
+
+#if ENABLE_OVERLOADING
+    RecentChooserMenuGetShowNumbersMethodInfo,
+#endif
+    recentChooserMenuGetShowNumbers         ,
+
+
+-- ** new #method:new#
+
+    recentChooserMenuNew                    ,
+
+
+-- ** newForManager #method:newForManager#
+
+    recentChooserMenuNewForManager          ,
+
+
+-- ** setShowNumbers #method:setShowNumbers#
+
+#if ENABLE_OVERLOADING
+    RecentChooserMenuSetShowNumbersMethodInfo,
+#endif
+    recentChooserMenuSetShowNumbers         ,
+
+
+
+
+ -- * Properties
+-- ** showNumbers #attr:showNumbers#
+{- | Whether the first ten items in the menu should be prepended by
+a number acting as a unique mnemonic.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentChooserMenuShowNumbersPropertyInfo,
+#endif
+    constructRecentChooserMenuShowNumbers   ,
+    getRecentChooserMenuShowNumbers         ,
+#if ENABLE_OVERLOADING
+    recentChooserMenuShowNumbers            ,
+#endif
+    setRecentChooserMenuShowNumbers         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.RecentChooser as Gtk.RecentChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Menu as Gtk.Menu
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuShell as Gtk.MenuShell
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RecentManager as Gtk.RecentManager
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype RecentChooserMenu = RecentChooserMenu (ManagedPtr RecentChooserMenu)
+foreign import ccall "gtk_recent_chooser_menu_get_type"
+    c_gtk_recent_chooser_menu_get_type :: IO GType
+
+instance GObject RecentChooserMenu where
+    gobjectType = c_gtk_recent_chooser_menu_get_type
+    
+
+-- | Type class for types which can be safely cast to `RecentChooserMenu`, for instance with `toRecentChooserMenu`.
+class (GObject o, O.IsDescendantOf RecentChooserMenu o) => IsRecentChooserMenu o
+instance (GObject o, O.IsDescendantOf RecentChooserMenu o) => IsRecentChooserMenu o
+
+instance O.HasParentTypes RecentChooserMenu
+type instance O.ParentTypes RecentChooserMenu = '[Gtk.Menu.Menu, Gtk.MenuShell.MenuShell, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable, Gtk.RecentChooser.RecentChooser]
+
+-- | Cast to `RecentChooserMenu`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRecentChooserMenu :: (MonadIO m, IsRecentChooserMenu o) => o -> m RecentChooserMenu
+toRecentChooserMenu = liftIO . unsafeCastTo RecentChooserMenu
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentChooserMenu`.
+noRecentChooserMenu :: Maybe RecentChooserMenu
+noRecentChooserMenu = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentChooserMenuMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentChooserMenuMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveRecentChooserMenuMethod "activateItem" o = Gtk.MenuShell.MenuShellActivateItemMethodInfo
+    ResolveRecentChooserMenuMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveRecentChooserMenuMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveRecentChooserMenuMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRecentChooserMenuMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveRecentChooserMenuMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveRecentChooserMenuMethod "addFilter" o = Gtk.RecentChooser.RecentChooserAddFilterMethodInfo
+    ResolveRecentChooserMenuMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveRecentChooserMenuMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveRecentChooserMenuMethod "append" o = Gtk.MenuShell.MenuShellAppendMethodInfo
+    ResolveRecentChooserMenuMethod "attach" o = Gtk.Menu.MenuAttachMethodInfo
+    ResolveRecentChooserMenuMethod "attachToWidget" o = Gtk.Menu.MenuAttachToWidgetMethodInfo
+    ResolveRecentChooserMenuMethod "bindModel" o = Gtk.MenuShell.MenuShellBindModelMethodInfo
+    ResolveRecentChooserMenuMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRecentChooserMenuMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRecentChooserMenuMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveRecentChooserMenuMethod "cancel" o = Gtk.MenuShell.MenuShellCancelMethodInfo
+    ResolveRecentChooserMenuMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveRecentChooserMenuMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveRecentChooserMenuMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveRecentChooserMenuMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveRecentChooserMenuMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveRecentChooserMenuMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveRecentChooserMenuMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveRecentChooserMenuMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveRecentChooserMenuMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveRecentChooserMenuMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRecentChooserMenuMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveRecentChooserMenuMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveRecentChooserMenuMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRecentChooserMenuMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRecentChooserMenuMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRecentChooserMenuMethod "deactivate" o = Gtk.MenuShell.MenuShellDeactivateMethodInfo
+    ResolveRecentChooserMenuMethod "deselect" o = Gtk.MenuShell.MenuShellDeselectMethodInfo
+    ResolveRecentChooserMenuMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveRecentChooserMenuMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveRecentChooserMenuMethod "detach" o = Gtk.Menu.MenuDetachMethodInfo
+    ResolveRecentChooserMenuMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveRecentChooserMenuMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveRecentChooserMenuMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveRecentChooserMenuMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveRecentChooserMenuMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveRecentChooserMenuMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveRecentChooserMenuMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveRecentChooserMenuMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveRecentChooserMenuMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveRecentChooserMenuMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveRecentChooserMenuMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveRecentChooserMenuMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveRecentChooserMenuMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveRecentChooserMenuMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveRecentChooserMenuMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveRecentChooserMenuMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRecentChooserMenuMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveRecentChooserMenuMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveRecentChooserMenuMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRecentChooserMenuMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRecentChooserMenuMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveRecentChooserMenuMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveRecentChooserMenuMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveRecentChooserMenuMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveRecentChooserMenuMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveRecentChooserMenuMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveRecentChooserMenuMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveRecentChooserMenuMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveRecentChooserMenuMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveRecentChooserMenuMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveRecentChooserMenuMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveRecentChooserMenuMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveRecentChooserMenuMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveRecentChooserMenuMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveRecentChooserMenuMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveRecentChooserMenuMethod "insert" o = Gtk.MenuShell.MenuShellInsertMethodInfo
+    ResolveRecentChooserMenuMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveRecentChooserMenuMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveRecentChooserMenuMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveRecentChooserMenuMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveRecentChooserMenuMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveRecentChooserMenuMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRecentChooserMenuMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveRecentChooserMenuMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveRecentChooserMenuMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveRecentChooserMenuMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveRecentChooserMenuMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveRecentChooserMenuMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveRecentChooserMenuMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveRecentChooserMenuMethod "listFilters" o = Gtk.RecentChooser.RecentChooserListFiltersMethodInfo
+    ResolveRecentChooserMenuMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveRecentChooserMenuMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveRecentChooserMenuMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveRecentChooserMenuMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveRecentChooserMenuMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveRecentChooserMenuMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveRecentChooserMenuMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveRecentChooserMenuMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveRecentChooserMenuMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveRecentChooserMenuMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveRecentChooserMenuMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRecentChooserMenuMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRecentChooserMenuMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveRecentChooserMenuMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveRecentChooserMenuMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveRecentChooserMenuMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveRecentChooserMenuMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveRecentChooserMenuMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRecentChooserMenuMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveRecentChooserMenuMethod "placeOnMonitor" o = Gtk.Menu.MenuPlaceOnMonitorMethodInfo
+    ResolveRecentChooserMenuMethod "popdown" o = Gtk.Menu.MenuPopdownMethodInfo
+    ResolveRecentChooserMenuMethod "popup" o = Gtk.Menu.MenuPopupMethodInfo
+    ResolveRecentChooserMenuMethod "popupAtPointer" o = Gtk.Menu.MenuPopupAtPointerMethodInfo
+    ResolveRecentChooserMenuMethod "popupAtRect" o = Gtk.Menu.MenuPopupAtRectMethodInfo
+    ResolveRecentChooserMenuMethod "popupAtWidget" o = Gtk.Menu.MenuPopupAtWidgetMethodInfo
+    ResolveRecentChooserMenuMethod "popupForDevice" o = Gtk.Menu.MenuPopupForDeviceMethodInfo
+    ResolveRecentChooserMenuMethod "prepend" o = Gtk.MenuShell.MenuShellPrependMethodInfo
+    ResolveRecentChooserMenuMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveRecentChooserMenuMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveRecentChooserMenuMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveRecentChooserMenuMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveRecentChooserMenuMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveRecentChooserMenuMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveRecentChooserMenuMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveRecentChooserMenuMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveRecentChooserMenuMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveRecentChooserMenuMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRecentChooserMenuMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRecentChooserMenuMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveRecentChooserMenuMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveRecentChooserMenuMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveRecentChooserMenuMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveRecentChooserMenuMethod "removeFilter" o = Gtk.RecentChooser.RecentChooserRemoveFilterMethodInfo
+    ResolveRecentChooserMenuMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveRecentChooserMenuMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveRecentChooserMenuMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveRecentChooserMenuMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveRecentChooserMenuMethod "reorderChild" o = Gtk.Menu.MenuReorderChildMethodInfo
+    ResolveRecentChooserMenuMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveRecentChooserMenuMethod "reposition" o = Gtk.Menu.MenuRepositionMethodInfo
+    ResolveRecentChooserMenuMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveRecentChooserMenuMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveRecentChooserMenuMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveRecentChooserMenuMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRecentChooserMenuMethod "selectAll" o = Gtk.RecentChooser.RecentChooserSelectAllMethodInfo
+    ResolveRecentChooserMenuMethod "selectFirst" o = Gtk.MenuShell.MenuShellSelectFirstMethodInfo
+    ResolveRecentChooserMenuMethod "selectItem" o = Gtk.MenuShell.MenuShellSelectItemMethodInfo
+    ResolveRecentChooserMenuMethod "selectUri" o = Gtk.RecentChooser.RecentChooserSelectUriMethodInfo
+    ResolveRecentChooserMenuMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveRecentChooserMenuMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveRecentChooserMenuMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveRecentChooserMenuMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveRecentChooserMenuMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveRecentChooserMenuMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveRecentChooserMenuMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveRecentChooserMenuMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveRecentChooserMenuMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveRecentChooserMenuMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRecentChooserMenuMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRecentChooserMenuMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveRecentChooserMenuMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveRecentChooserMenuMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveRecentChooserMenuMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveRecentChooserMenuMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRecentChooserMenuMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveRecentChooserMenuMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveRecentChooserMenuMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveRecentChooserMenuMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveRecentChooserMenuMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveRecentChooserMenuMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRecentChooserMenuMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveRecentChooserMenuMethod "unselectAll" o = Gtk.RecentChooser.RecentChooserUnselectAllMethodInfo
+    ResolveRecentChooserMenuMethod "unselectUri" o = Gtk.RecentChooser.RecentChooserUnselectUriMethodInfo
+    ResolveRecentChooserMenuMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveRecentChooserMenuMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveRecentChooserMenuMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRecentChooserMenuMethod "getAccelGroup" o = Gtk.Menu.MenuGetAccelGroupMethodInfo
+    ResolveRecentChooserMenuMethod "getAccelPath" o = Gtk.Menu.MenuGetAccelPathMethodInfo
+    ResolveRecentChooserMenuMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveRecentChooserMenuMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveRecentChooserMenuMethod "getActive" o = Gtk.Menu.MenuGetActiveMethodInfo
+    ResolveRecentChooserMenuMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveRecentChooserMenuMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveRecentChooserMenuMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveRecentChooserMenuMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveRecentChooserMenuMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveRecentChooserMenuMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveRecentChooserMenuMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveRecentChooserMenuMethod "getAttachWidget" o = Gtk.Menu.MenuGetAttachWidgetMethodInfo
+    ResolveRecentChooserMenuMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveRecentChooserMenuMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveRecentChooserMenuMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveRecentChooserMenuMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveRecentChooserMenuMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveRecentChooserMenuMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveRecentChooserMenuMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveRecentChooserMenuMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveRecentChooserMenuMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveRecentChooserMenuMethod "getCurrentItem" o = Gtk.RecentChooser.RecentChooserGetCurrentItemMethodInfo
+    ResolveRecentChooserMenuMethod "getCurrentUri" o = Gtk.RecentChooser.RecentChooserGetCurrentUriMethodInfo
+    ResolveRecentChooserMenuMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRecentChooserMenuMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveRecentChooserMenuMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveRecentChooserMenuMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveRecentChooserMenuMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveRecentChooserMenuMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveRecentChooserMenuMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveRecentChooserMenuMethod "getFilter" o = Gtk.RecentChooser.RecentChooserGetFilterMethodInfo
+    ResolveRecentChooserMenuMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveRecentChooserMenuMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveRecentChooserMenuMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveRecentChooserMenuMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveRecentChooserMenuMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveRecentChooserMenuMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveRecentChooserMenuMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveRecentChooserMenuMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveRecentChooserMenuMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveRecentChooserMenuMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveRecentChooserMenuMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveRecentChooserMenuMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveRecentChooserMenuMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveRecentChooserMenuMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRecentChooserMenuMethod "getItems" o = Gtk.RecentChooser.RecentChooserGetItemsMethodInfo
+    ResolveRecentChooserMenuMethod "getLimit" o = Gtk.RecentChooser.RecentChooserGetLimitMethodInfo
+    ResolveRecentChooserMenuMethod "getLocalOnly" o = Gtk.RecentChooser.RecentChooserGetLocalOnlyMethodInfo
+    ResolveRecentChooserMenuMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveRecentChooserMenuMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveRecentChooserMenuMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveRecentChooserMenuMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveRecentChooserMenuMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveRecentChooserMenuMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveRecentChooserMenuMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveRecentChooserMenuMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveRecentChooserMenuMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveRecentChooserMenuMethod "getMonitor" o = Gtk.Menu.MenuGetMonitorMethodInfo
+    ResolveRecentChooserMenuMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveRecentChooserMenuMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveRecentChooserMenuMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveRecentChooserMenuMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveRecentChooserMenuMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveRecentChooserMenuMethod "getParentShell" o = Gtk.MenuShell.MenuShellGetParentShellMethodInfo
+    ResolveRecentChooserMenuMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveRecentChooserMenuMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveRecentChooserMenuMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveRecentChooserMenuMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveRecentChooserMenuMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveRecentChooserMenuMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveRecentChooserMenuMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveRecentChooserMenuMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveRecentChooserMenuMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveRecentChooserMenuMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveRecentChooserMenuMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRecentChooserMenuMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRecentChooserMenuMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveRecentChooserMenuMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveRecentChooserMenuMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveRecentChooserMenuMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveRecentChooserMenuMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveRecentChooserMenuMethod "getReserveToggleSize" o = Gtk.Menu.MenuGetReserveToggleSizeMethodInfo
+    ResolveRecentChooserMenuMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveRecentChooserMenuMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveRecentChooserMenuMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveRecentChooserMenuMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveRecentChooserMenuMethod "getSelectMultiple" o = Gtk.RecentChooser.RecentChooserGetSelectMultipleMethodInfo
+    ResolveRecentChooserMenuMethod "getSelectedItem" o = Gtk.MenuShell.MenuShellGetSelectedItemMethodInfo
+    ResolveRecentChooserMenuMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveRecentChooserMenuMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveRecentChooserMenuMethod "getShowIcons" o = Gtk.RecentChooser.RecentChooserGetShowIconsMethodInfo
+    ResolveRecentChooserMenuMethod "getShowNotFound" o = Gtk.RecentChooser.RecentChooserGetShowNotFoundMethodInfo
+    ResolveRecentChooserMenuMethod "getShowNumbers" o = RecentChooserMenuGetShowNumbersMethodInfo
+    ResolveRecentChooserMenuMethod "getShowPrivate" o = Gtk.RecentChooser.RecentChooserGetShowPrivateMethodInfo
+    ResolveRecentChooserMenuMethod "getShowTips" o = Gtk.RecentChooser.RecentChooserGetShowTipsMethodInfo
+    ResolveRecentChooserMenuMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveRecentChooserMenuMethod "getSortType" o = Gtk.RecentChooser.RecentChooserGetSortTypeMethodInfo
+    ResolveRecentChooserMenuMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveRecentChooserMenuMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveRecentChooserMenuMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveRecentChooserMenuMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveRecentChooserMenuMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveRecentChooserMenuMethod "getTakeFocus" o = Gtk.MenuShell.MenuShellGetTakeFocusMethodInfo
+    ResolveRecentChooserMenuMethod "getTearoffState" o = Gtk.Menu.MenuGetTearoffStateMethodInfo
+    ResolveRecentChooserMenuMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveRecentChooserMenuMethod "getTitle" o = Gtk.Menu.MenuGetTitleMethodInfo
+    ResolveRecentChooserMenuMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveRecentChooserMenuMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveRecentChooserMenuMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveRecentChooserMenuMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveRecentChooserMenuMethod "getUris" o = Gtk.RecentChooser.RecentChooserGetUrisMethodInfo
+    ResolveRecentChooserMenuMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveRecentChooserMenuMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveRecentChooserMenuMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveRecentChooserMenuMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveRecentChooserMenuMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveRecentChooserMenuMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveRecentChooserMenuMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveRecentChooserMenuMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveRecentChooserMenuMethod "setAccelGroup" o = Gtk.Menu.MenuSetAccelGroupMethodInfo
+    ResolveRecentChooserMenuMethod "setAccelPath" o = Gtk.Menu.MenuSetAccelPathMethodInfo
+    ResolveRecentChooserMenuMethod "setActive" o = Gtk.Menu.MenuSetActiveMethodInfo
+    ResolveRecentChooserMenuMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveRecentChooserMenuMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveRecentChooserMenuMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveRecentChooserMenuMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRecentChooserMenuMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveRecentChooserMenuMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveRecentChooserMenuMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveRecentChooserMenuMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveRecentChooserMenuMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveRecentChooserMenuMethod "setCurrentUri" o = Gtk.RecentChooser.RecentChooserSetCurrentUriMethodInfo
+    ResolveRecentChooserMenuMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRecentChooserMenuMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveRecentChooserMenuMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveRecentChooserMenuMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveRecentChooserMenuMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveRecentChooserMenuMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveRecentChooserMenuMethod "setFilter" o = Gtk.RecentChooser.RecentChooserSetFilterMethodInfo
+    ResolveRecentChooserMenuMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveRecentChooserMenuMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveRecentChooserMenuMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveRecentChooserMenuMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveRecentChooserMenuMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveRecentChooserMenuMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveRecentChooserMenuMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveRecentChooserMenuMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveRecentChooserMenuMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveRecentChooserMenuMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveRecentChooserMenuMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveRecentChooserMenuMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveRecentChooserMenuMethod "setLimit" o = Gtk.RecentChooser.RecentChooserSetLimitMethodInfo
+    ResolveRecentChooserMenuMethod "setLocalOnly" o = Gtk.RecentChooser.RecentChooserSetLocalOnlyMethodInfo
+    ResolveRecentChooserMenuMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveRecentChooserMenuMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveRecentChooserMenuMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveRecentChooserMenuMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveRecentChooserMenuMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveRecentChooserMenuMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveRecentChooserMenuMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveRecentChooserMenuMethod "setMonitor" o = Gtk.Menu.MenuSetMonitorMethodInfo
+    ResolveRecentChooserMenuMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveRecentChooserMenuMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveRecentChooserMenuMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveRecentChooserMenuMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveRecentChooserMenuMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveRecentChooserMenuMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRecentChooserMenuMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveRecentChooserMenuMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveRecentChooserMenuMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveRecentChooserMenuMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveRecentChooserMenuMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveRecentChooserMenuMethod "setReserveToggleSize" o = Gtk.Menu.MenuSetReserveToggleSizeMethodInfo
+    ResolveRecentChooserMenuMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveRecentChooserMenuMethod "setScreen" o = Gtk.Menu.MenuSetScreenMethodInfo
+    ResolveRecentChooserMenuMethod "setSelectMultiple" o = Gtk.RecentChooser.RecentChooserSetSelectMultipleMethodInfo
+    ResolveRecentChooserMenuMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveRecentChooserMenuMethod "setShowIcons" o = Gtk.RecentChooser.RecentChooserSetShowIconsMethodInfo
+    ResolveRecentChooserMenuMethod "setShowNotFound" o = Gtk.RecentChooser.RecentChooserSetShowNotFoundMethodInfo
+    ResolveRecentChooserMenuMethod "setShowNumbers" o = RecentChooserMenuSetShowNumbersMethodInfo
+    ResolveRecentChooserMenuMethod "setShowPrivate" o = Gtk.RecentChooser.RecentChooserSetShowPrivateMethodInfo
+    ResolveRecentChooserMenuMethod "setShowTips" o = Gtk.RecentChooser.RecentChooserSetShowTipsMethodInfo
+    ResolveRecentChooserMenuMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveRecentChooserMenuMethod "setSortFunc" o = Gtk.RecentChooser.RecentChooserSetSortFuncMethodInfo
+    ResolveRecentChooserMenuMethod "setSortType" o = Gtk.RecentChooser.RecentChooserSetSortTypeMethodInfo
+    ResolveRecentChooserMenuMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveRecentChooserMenuMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveRecentChooserMenuMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveRecentChooserMenuMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveRecentChooserMenuMethod "setTakeFocus" o = Gtk.MenuShell.MenuShellSetTakeFocusMethodInfo
+    ResolveRecentChooserMenuMethod "setTearoffState" o = Gtk.Menu.MenuSetTearoffStateMethodInfo
+    ResolveRecentChooserMenuMethod "setTitle" o = Gtk.Menu.MenuSetTitleMethodInfo
+    ResolveRecentChooserMenuMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveRecentChooserMenuMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveRecentChooserMenuMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveRecentChooserMenuMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveRecentChooserMenuMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveRecentChooserMenuMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveRecentChooserMenuMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveRecentChooserMenuMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveRecentChooserMenuMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveRecentChooserMenuMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveRecentChooserMenuMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentChooserMenuMethod t RecentChooserMenu, O.MethodInfo info RecentChooserMenu p) => OL.IsLabel t (RecentChooserMenu -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "show-numbers"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-numbers@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentChooserMenu #showNumbers
+@
+-}
+getRecentChooserMenuShowNumbers :: (MonadIO m, IsRecentChooserMenu o) => o -> m Bool
+getRecentChooserMenuShowNumbers obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-numbers"
+
+{- |
+Set the value of the “@show-numbers@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentChooserMenu [ #showNumbers 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentChooserMenuShowNumbers :: (MonadIO m, IsRecentChooserMenu o) => o -> Bool -> m ()
+setRecentChooserMenuShowNumbers obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-numbers" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-numbers@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentChooserMenuShowNumbers :: (IsRecentChooserMenu o) => Bool -> IO (GValueConstruct o)
+constructRecentChooserMenuShowNumbers val = B.Properties.constructObjectPropertyBool "show-numbers" val
+
+#if ENABLE_OVERLOADING
+data RecentChooserMenuShowNumbersPropertyInfo
+instance AttrInfo RecentChooserMenuShowNumbersPropertyInfo where
+    type AttrAllowedOps RecentChooserMenuShowNumbersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RecentChooserMenuShowNumbersPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RecentChooserMenuShowNumbersPropertyInfo = IsRecentChooserMenu
+    type AttrGetType RecentChooserMenuShowNumbersPropertyInfo = Bool
+    type AttrLabel RecentChooserMenuShowNumbersPropertyInfo = "show-numbers"
+    type AttrOrigin RecentChooserMenuShowNumbersPropertyInfo = RecentChooserMenu
+    attrGet _ = getRecentChooserMenuShowNumbers
+    attrSet _ = setRecentChooserMenuShowNumbers
+    attrConstruct _ = constructRecentChooserMenuShowNumbers
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentChooserMenu
+type instance O.AttributeList RecentChooserMenu = RecentChooserMenuAttributeList
+type RecentChooserMenuAttributeList = ('[ '("accelGroup", Gtk.Menu.MenuAccelGroupPropertyInfo), '("accelPath", Gtk.Menu.MenuAccelPathPropertyInfo), '("active", Gtk.Menu.MenuActivePropertyInfo), '("anchorHints", Gtk.Menu.MenuAnchorHintsPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("attachWidget", Gtk.Menu.MenuAttachWidgetPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("filter", Gtk.RecentChooser.RecentChooserFilterPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("limit", Gtk.RecentChooser.RecentChooserLimitPropertyInfo), '("localOnly", Gtk.RecentChooser.RecentChooserLocalOnlyPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("menuTypeHint", Gtk.Menu.MenuMenuTypeHintPropertyInfo), '("monitor", Gtk.Menu.MenuMonitorPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("recentManager", Gtk.RecentChooser.RecentChooserRecentManagerPropertyInfo), '("rectAnchorDx", Gtk.Menu.MenuRectAnchorDxPropertyInfo), '("rectAnchorDy", Gtk.Menu.MenuRectAnchorDyPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("reserveToggleSize", Gtk.Menu.MenuReserveToggleSizePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectMultiple", Gtk.RecentChooser.RecentChooserSelectMultiplePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showIcons", Gtk.RecentChooser.RecentChooserShowIconsPropertyInfo), '("showNotFound", Gtk.RecentChooser.RecentChooserShowNotFoundPropertyInfo), '("showNumbers", RecentChooserMenuShowNumbersPropertyInfo), '("showPrivate", Gtk.RecentChooser.RecentChooserShowPrivatePropertyInfo), '("showTips", Gtk.RecentChooser.RecentChooserShowTipsPropertyInfo), '("sortType", Gtk.RecentChooser.RecentChooserSortTypePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("takeFocus", Gtk.MenuShell.MenuShellTakeFocusPropertyInfo), '("tearoffState", Gtk.Menu.MenuTearoffStatePropertyInfo), '("tearoffTitle", Gtk.Menu.MenuTearoffTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+recentChooserMenuShowNumbers :: AttrLabelProxy "showNumbers"
+recentChooserMenuShowNumbers = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RecentChooserMenu = RecentChooserMenuSignalList
+type RecentChooserMenuSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateCurrent", Gtk.MenuShell.MenuShellActivateCurrentSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("cancel", Gtk.MenuShell.MenuShellCancelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("cycleFocus", Gtk.MenuShell.MenuShellCycleFocusSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deactivate", Gtk.MenuShell.MenuShellDeactivateSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("insert", Gtk.MenuShell.MenuShellInsertSignalInfo), '("itemActivated", Gtk.RecentChooser.RecentChooserItemActivatedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCurrent", Gtk.MenuShell.MenuShellMoveCurrentSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveScroll", Gtk.Menu.MenuMoveScrollSignalInfo), '("moveSelected", Gtk.MenuShell.MenuShellMoveSelectedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("poppedUp", Gtk.Menu.MenuPoppedUpSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionChanged", Gtk.RecentChooser.RecentChooserSelectionChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionDone", Gtk.MenuShell.MenuShellSelectionDoneSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RecentChooserMenu::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentChooserMenu"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_menu_new" gtk_recent_chooser_menu_new :: 
+    IO (Ptr RecentChooserMenu)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' widget.
+
+This kind of widget shows the list of recently used resources as
+a menu, each item as a menu item.  Each item inside the menu might
+have an icon, representing its MIME type, and a number, for mnemonic
+access.
+
+This widget implements the 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' interface.
+
+This widget creates its own 'GI.Gtk.Objects.RecentManager.RecentManager' object.  See the
+'GI.Gtk.Objects.RecentChooserMenu.recentChooserMenuNewForManager' function to know how to create
+a 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' widget bound to another 'GI.Gtk.Objects.RecentManager.RecentManager' object.
+
+/Since: 2.10/
+-}
+recentChooserMenuNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m RecentChooserMenu
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' -}
+recentChooserMenuNew  = liftIO $ do
+    result <- gtk_recent_chooser_menu_new
+    checkUnexpectedReturnNULL "recentChooserMenuNew" result
+    result' <- (newObject RecentChooserMenu) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RecentChooserMenu::new_for_manager
+-- method type : Constructor
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentChooserMenu"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_menu_new_for_manager" gtk_recent_chooser_menu_new_for_manager :: 
+    Ptr Gtk.RecentManager.RecentManager ->  -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    IO (Ptr RecentChooserMenu)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' widget using /@manager@/ as
+the underlying recently used resources manager.
+
+This is useful if you have implemented your own recent manager,
+or if you have a customized instance of a 'GI.Gtk.Objects.RecentManager.RecentManager'
+object or if you wish to share a common 'GI.Gtk.Objects.RecentManager.RecentManager' object
+among multiple 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' widgets.
+
+/Since: 2.10/
+-}
+recentChooserMenuNewForManager ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.RecentManager.IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> m RecentChooserMenu
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu', bound to /@manager@/. -}
+recentChooserMenuNewForManager manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    result <- gtk_recent_chooser_menu_new_for_manager manager'
+    checkUnexpectedReturnNULL "recentChooserMenuNewForManager" result
+    result' <- (newObject RecentChooserMenu) result
+    touchManagedPtr manager
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RecentChooserMenu::get_show_numbers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooserMenu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooserMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_menu_get_show_numbers" gtk_recent_chooser_menu_get_show_numbers :: 
+    Ptr RecentChooserMenu ->                -- menu : TInterface (Name {namespace = "Gtk", name = "RecentChooserMenu"})
+    IO CInt
+
+{- |
+Returns the value set by 'GI.Gtk.Objects.RecentChooserMenu.recentChooserMenuSetShowNumbers'.
+
+/Since: 2.10/
+-}
+recentChooserMenuGetShowNumbers ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooserMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if numbers should be shown. -}
+recentChooserMenuGetShowNumbers menu = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    result <- gtk_recent_chooser_menu_get_show_numbers menu'
+    let result' = (/= 0) result
+    touchManagedPtr menu
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentChooserMenuGetShowNumbersMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRecentChooserMenu a) => O.MethodInfo RecentChooserMenuGetShowNumbersMethodInfo a signature where
+    overloadedMethod _ = recentChooserMenuGetShowNumbers
+
+#endif
+
+-- method RecentChooserMenu::set_show_numbers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "RecentChooserMenu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentChooserMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_numbers", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show numbers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_menu_set_show_numbers" gtk_recent_chooser_menu_set_show_numbers :: 
+    Ptr RecentChooserMenu ->                -- menu : TInterface (Name {namespace = "Gtk", name = "RecentChooserMenu"})
+    CInt ->                                 -- show_numbers : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether a number should be added to the items of /@menu@/.  The
+numbers are shown to provide a unique character for a mnemonic to
+be used inside ten menu item’s label.  Only the first the items
+get a number to avoid clashes.
+
+/Since: 2.10/
+-}
+recentChooserMenuSetShowNumbers ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentChooserMenu a) =>
+    a
+    {- ^ /@menu@/: a 'GI.Gtk.Objects.RecentChooserMenu.RecentChooserMenu' -}
+    -> Bool
+    {- ^ /@showNumbers@/: whether to show numbers -}
+    -> m ()
+recentChooserMenuSetShowNumbers menu showNumbers = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    let showNumbers' = (fromIntegral . fromEnum) showNumbers
+    gtk_recent_chooser_menu_set_show_numbers menu' showNumbers'
+    touchManagedPtr menu
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentChooserMenuSetShowNumbersMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRecentChooserMenu a) => O.MethodInfo RecentChooserMenuSetShowNumbersMethodInfo a signature where
+    overloadedMethod _ = recentChooserMenuSetShowNumbers
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RecentChooserMenu.hs-boot b/GI/Gtk/Objects/RecentChooserMenu.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentChooserMenu.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RecentChooserMenu where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentChooserMenu = RecentChooserMenu (ManagedPtr RecentChooserMenu)
+instance GObject RecentChooserMenu where
+class (GObject o, O.IsDescendantOf RecentChooserMenu o) => IsRecentChooserMenu o
+instance (GObject o, O.IsDescendantOf RecentChooserMenu o) => IsRecentChooserMenu o
+instance O.HasParentTypes RecentChooserMenu
+#if ENABLE_OVERLOADING
+data RecentChooserMenuShowNumbersPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserMenuGetShowNumbersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentChooserMenuSetShowNumbersMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/RecentChooserWidget.hs b/GI/Gtk/Objects/RecentChooserWidget.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentChooserWidget.hs
@@ -0,0 +1,559 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget' is a widget suitable for selecting recently used
+files.  It is the main building block of a 'GI.Gtk.Objects.RecentChooserDialog.RecentChooserDialog'.  Most
+applications will only need to use the latter; you can use
+'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget' as part of a larger window if you have special needs.
+
+Note that 'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget' does not have any methods of its own.
+Instead, you should use the functions that work on a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser'.
+
+Recently used files are supported since GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RecentChooserWidget
+    ( 
+
+-- * Exported types
+    RecentChooserWidget(..)                 ,
+    IsRecentChooserWidget                   ,
+    toRecentChooserWidget                   ,
+    noRecentChooserWidget                   ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    recentChooserWidgetNew                  ,
+
+
+-- ** newForManager #method:newForManager#
+
+    recentChooserWidgetNewForManager        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.RecentChooser as Gtk.RecentChooser
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RecentManager as Gtk.RecentManager
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype RecentChooserWidget = RecentChooserWidget (ManagedPtr RecentChooserWidget)
+foreign import ccall "gtk_recent_chooser_widget_get_type"
+    c_gtk_recent_chooser_widget_get_type :: IO GType
+
+instance GObject RecentChooserWidget where
+    gobjectType = c_gtk_recent_chooser_widget_get_type
+    
+
+-- | Type class for types which can be safely cast to `RecentChooserWidget`, for instance with `toRecentChooserWidget`.
+class (GObject o, O.IsDescendantOf RecentChooserWidget o) => IsRecentChooserWidget o
+instance (GObject o, O.IsDescendantOf RecentChooserWidget o) => IsRecentChooserWidget o
+
+instance O.HasParentTypes RecentChooserWidget
+type instance O.ParentTypes RecentChooserWidget = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable, Gtk.RecentChooser.RecentChooser]
+
+-- | Cast to `RecentChooserWidget`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRecentChooserWidget :: (MonadIO m, IsRecentChooserWidget o) => o -> m RecentChooserWidget
+toRecentChooserWidget = liftIO . unsafeCastTo RecentChooserWidget
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentChooserWidget`.
+noRecentChooserWidget :: Maybe RecentChooserWidget
+noRecentChooserWidget = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentChooserWidgetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentChooserWidgetMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveRecentChooserWidgetMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveRecentChooserWidgetMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveRecentChooserWidgetMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRecentChooserWidgetMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveRecentChooserWidgetMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveRecentChooserWidgetMethod "addFilter" o = Gtk.RecentChooser.RecentChooserAddFilterMethodInfo
+    ResolveRecentChooserWidgetMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveRecentChooserWidgetMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveRecentChooserWidgetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRecentChooserWidgetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRecentChooserWidgetMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveRecentChooserWidgetMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveRecentChooserWidgetMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveRecentChooserWidgetMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveRecentChooserWidgetMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveRecentChooserWidgetMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveRecentChooserWidgetMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveRecentChooserWidgetMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveRecentChooserWidgetMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveRecentChooserWidgetMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveRecentChooserWidgetMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRecentChooserWidgetMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveRecentChooserWidgetMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveRecentChooserWidgetMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRecentChooserWidgetMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRecentChooserWidgetMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRecentChooserWidgetMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveRecentChooserWidgetMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveRecentChooserWidgetMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveRecentChooserWidgetMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveRecentChooserWidgetMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveRecentChooserWidgetMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveRecentChooserWidgetMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveRecentChooserWidgetMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveRecentChooserWidgetMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveRecentChooserWidgetMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveRecentChooserWidgetMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveRecentChooserWidgetMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveRecentChooserWidgetMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveRecentChooserWidgetMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveRecentChooserWidgetMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveRecentChooserWidgetMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveRecentChooserWidgetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRecentChooserWidgetMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveRecentChooserWidgetMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveRecentChooserWidgetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRecentChooserWidgetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRecentChooserWidgetMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveRecentChooserWidgetMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveRecentChooserWidgetMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveRecentChooserWidgetMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveRecentChooserWidgetMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveRecentChooserWidgetMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveRecentChooserWidgetMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveRecentChooserWidgetMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveRecentChooserWidgetMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveRecentChooserWidgetMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveRecentChooserWidgetMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveRecentChooserWidgetMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveRecentChooserWidgetMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveRecentChooserWidgetMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveRecentChooserWidgetMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveRecentChooserWidgetMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveRecentChooserWidgetMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveRecentChooserWidgetMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveRecentChooserWidgetMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveRecentChooserWidgetMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveRecentChooserWidgetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRecentChooserWidgetMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveRecentChooserWidgetMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveRecentChooserWidgetMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveRecentChooserWidgetMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveRecentChooserWidgetMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveRecentChooserWidgetMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveRecentChooserWidgetMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveRecentChooserWidgetMethod "listFilters" o = Gtk.RecentChooser.RecentChooserListFiltersMethodInfo
+    ResolveRecentChooserWidgetMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveRecentChooserWidgetMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveRecentChooserWidgetMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveRecentChooserWidgetMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveRecentChooserWidgetMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveRecentChooserWidgetMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveRecentChooserWidgetMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveRecentChooserWidgetMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveRecentChooserWidgetMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveRecentChooserWidgetMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveRecentChooserWidgetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRecentChooserWidgetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRecentChooserWidgetMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveRecentChooserWidgetMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveRecentChooserWidgetMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveRecentChooserWidgetMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveRecentChooserWidgetMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveRecentChooserWidgetMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveRecentChooserWidgetMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveRecentChooserWidgetMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRecentChooserWidgetMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveRecentChooserWidgetMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveRecentChooserWidgetMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveRecentChooserWidgetMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveRecentChooserWidgetMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveRecentChooserWidgetMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveRecentChooserWidgetMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveRecentChooserWidgetMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveRecentChooserWidgetMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveRecentChooserWidgetMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveRecentChooserWidgetMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveRecentChooserWidgetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRecentChooserWidgetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRecentChooserWidgetMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveRecentChooserWidgetMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveRecentChooserWidgetMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveRecentChooserWidgetMethod "removeFilter" o = Gtk.RecentChooser.RecentChooserRemoveFilterMethodInfo
+    ResolveRecentChooserWidgetMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveRecentChooserWidgetMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveRecentChooserWidgetMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveRecentChooserWidgetMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveRecentChooserWidgetMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveRecentChooserWidgetMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveRecentChooserWidgetMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveRecentChooserWidgetMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveRecentChooserWidgetMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveRecentChooserWidgetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRecentChooserWidgetMethod "selectAll" o = Gtk.RecentChooser.RecentChooserSelectAllMethodInfo
+    ResolveRecentChooserWidgetMethod "selectUri" o = Gtk.RecentChooser.RecentChooserSelectUriMethodInfo
+    ResolveRecentChooserWidgetMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveRecentChooserWidgetMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveRecentChooserWidgetMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveRecentChooserWidgetMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveRecentChooserWidgetMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveRecentChooserWidgetMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveRecentChooserWidgetMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveRecentChooserWidgetMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveRecentChooserWidgetMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveRecentChooserWidgetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRecentChooserWidgetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRecentChooserWidgetMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveRecentChooserWidgetMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveRecentChooserWidgetMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveRecentChooserWidgetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRecentChooserWidgetMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveRecentChooserWidgetMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveRecentChooserWidgetMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveRecentChooserWidgetMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveRecentChooserWidgetMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveRecentChooserWidgetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRecentChooserWidgetMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "unselectAll" o = Gtk.RecentChooser.RecentChooserUnselectAllMethodInfo
+    ResolveRecentChooserWidgetMethod "unselectUri" o = Gtk.RecentChooser.RecentChooserUnselectUriMethodInfo
+    ResolveRecentChooserWidgetMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveRecentChooserWidgetMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveRecentChooserWidgetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRecentChooserWidgetMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveRecentChooserWidgetMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveRecentChooserWidgetMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveRecentChooserWidgetMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveRecentChooserWidgetMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveRecentChooserWidgetMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveRecentChooserWidgetMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveRecentChooserWidgetMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveRecentChooserWidgetMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveRecentChooserWidgetMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveRecentChooserWidgetMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveRecentChooserWidgetMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveRecentChooserWidgetMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveRecentChooserWidgetMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveRecentChooserWidgetMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveRecentChooserWidgetMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveRecentChooserWidgetMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveRecentChooserWidgetMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveRecentChooserWidgetMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveRecentChooserWidgetMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveRecentChooserWidgetMethod "getCurrentItem" o = Gtk.RecentChooser.RecentChooserGetCurrentItemMethodInfo
+    ResolveRecentChooserWidgetMethod "getCurrentUri" o = Gtk.RecentChooser.RecentChooserGetCurrentUriMethodInfo
+    ResolveRecentChooserWidgetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRecentChooserWidgetMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveRecentChooserWidgetMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveRecentChooserWidgetMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveRecentChooserWidgetMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveRecentChooserWidgetMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveRecentChooserWidgetMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveRecentChooserWidgetMethod "getFilter" o = Gtk.RecentChooser.RecentChooserGetFilterMethodInfo
+    ResolveRecentChooserWidgetMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveRecentChooserWidgetMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveRecentChooserWidgetMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveRecentChooserWidgetMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveRecentChooserWidgetMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveRecentChooserWidgetMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveRecentChooserWidgetMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveRecentChooserWidgetMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveRecentChooserWidgetMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveRecentChooserWidgetMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveRecentChooserWidgetMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveRecentChooserWidgetMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveRecentChooserWidgetMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveRecentChooserWidgetMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRecentChooserWidgetMethod "getItems" o = Gtk.RecentChooser.RecentChooserGetItemsMethodInfo
+    ResolveRecentChooserWidgetMethod "getLimit" o = Gtk.RecentChooser.RecentChooserGetLimitMethodInfo
+    ResolveRecentChooserWidgetMethod "getLocalOnly" o = Gtk.RecentChooser.RecentChooserGetLocalOnlyMethodInfo
+    ResolveRecentChooserWidgetMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveRecentChooserWidgetMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveRecentChooserWidgetMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveRecentChooserWidgetMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveRecentChooserWidgetMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveRecentChooserWidgetMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveRecentChooserWidgetMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveRecentChooserWidgetMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveRecentChooserWidgetMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveRecentChooserWidgetMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveRecentChooserWidgetMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveRecentChooserWidgetMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveRecentChooserWidgetMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveRecentChooserWidgetMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveRecentChooserWidgetMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveRecentChooserWidgetMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveRecentChooserWidgetMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveRecentChooserWidgetMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveRecentChooserWidgetMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveRecentChooserWidgetMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveRecentChooserWidgetMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveRecentChooserWidgetMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveRecentChooserWidgetMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveRecentChooserWidgetMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveRecentChooserWidgetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRecentChooserWidgetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRecentChooserWidgetMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveRecentChooserWidgetMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveRecentChooserWidgetMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveRecentChooserWidgetMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveRecentChooserWidgetMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveRecentChooserWidgetMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveRecentChooserWidgetMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveRecentChooserWidgetMethod "getSelectMultiple" o = Gtk.RecentChooser.RecentChooserGetSelectMultipleMethodInfo
+    ResolveRecentChooserWidgetMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveRecentChooserWidgetMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveRecentChooserWidgetMethod "getShowIcons" o = Gtk.RecentChooser.RecentChooserGetShowIconsMethodInfo
+    ResolveRecentChooserWidgetMethod "getShowNotFound" o = Gtk.RecentChooser.RecentChooserGetShowNotFoundMethodInfo
+    ResolveRecentChooserWidgetMethod "getShowPrivate" o = Gtk.RecentChooser.RecentChooserGetShowPrivateMethodInfo
+    ResolveRecentChooserWidgetMethod "getShowTips" o = Gtk.RecentChooser.RecentChooserGetShowTipsMethodInfo
+    ResolveRecentChooserWidgetMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveRecentChooserWidgetMethod "getSortType" o = Gtk.RecentChooser.RecentChooserGetSortTypeMethodInfo
+    ResolveRecentChooserWidgetMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveRecentChooserWidgetMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveRecentChooserWidgetMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveRecentChooserWidgetMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveRecentChooserWidgetMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveRecentChooserWidgetMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveRecentChooserWidgetMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveRecentChooserWidgetMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveRecentChooserWidgetMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveRecentChooserWidgetMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveRecentChooserWidgetMethod "getUris" o = Gtk.RecentChooser.RecentChooserGetUrisMethodInfo
+    ResolveRecentChooserWidgetMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveRecentChooserWidgetMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveRecentChooserWidgetMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveRecentChooserWidgetMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveRecentChooserWidgetMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveRecentChooserWidgetMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveRecentChooserWidgetMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveRecentChooserWidgetMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveRecentChooserWidgetMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveRecentChooserWidgetMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveRecentChooserWidgetMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveRecentChooserWidgetMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRecentChooserWidgetMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveRecentChooserWidgetMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveRecentChooserWidgetMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveRecentChooserWidgetMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveRecentChooserWidgetMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveRecentChooserWidgetMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveRecentChooserWidgetMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveRecentChooserWidgetMethod "setCurrentUri" o = Gtk.RecentChooser.RecentChooserSetCurrentUriMethodInfo
+    ResolveRecentChooserWidgetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRecentChooserWidgetMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveRecentChooserWidgetMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveRecentChooserWidgetMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveRecentChooserWidgetMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveRecentChooserWidgetMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveRecentChooserWidgetMethod "setFilter" o = Gtk.RecentChooser.RecentChooserSetFilterMethodInfo
+    ResolveRecentChooserWidgetMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveRecentChooserWidgetMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveRecentChooserWidgetMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveRecentChooserWidgetMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveRecentChooserWidgetMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveRecentChooserWidgetMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveRecentChooserWidgetMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveRecentChooserWidgetMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveRecentChooserWidgetMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveRecentChooserWidgetMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveRecentChooserWidgetMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveRecentChooserWidgetMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveRecentChooserWidgetMethod "setLimit" o = Gtk.RecentChooser.RecentChooserSetLimitMethodInfo
+    ResolveRecentChooserWidgetMethod "setLocalOnly" o = Gtk.RecentChooser.RecentChooserSetLocalOnlyMethodInfo
+    ResolveRecentChooserWidgetMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveRecentChooserWidgetMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveRecentChooserWidgetMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveRecentChooserWidgetMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveRecentChooserWidgetMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveRecentChooserWidgetMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveRecentChooserWidgetMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveRecentChooserWidgetMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveRecentChooserWidgetMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveRecentChooserWidgetMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveRecentChooserWidgetMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveRecentChooserWidgetMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveRecentChooserWidgetMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRecentChooserWidgetMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveRecentChooserWidgetMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveRecentChooserWidgetMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveRecentChooserWidgetMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveRecentChooserWidgetMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveRecentChooserWidgetMethod "setSelectMultiple" o = Gtk.RecentChooser.RecentChooserSetSelectMultipleMethodInfo
+    ResolveRecentChooserWidgetMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveRecentChooserWidgetMethod "setShowIcons" o = Gtk.RecentChooser.RecentChooserSetShowIconsMethodInfo
+    ResolveRecentChooserWidgetMethod "setShowNotFound" o = Gtk.RecentChooser.RecentChooserSetShowNotFoundMethodInfo
+    ResolveRecentChooserWidgetMethod "setShowPrivate" o = Gtk.RecentChooser.RecentChooserSetShowPrivateMethodInfo
+    ResolveRecentChooserWidgetMethod "setShowTips" o = Gtk.RecentChooser.RecentChooserSetShowTipsMethodInfo
+    ResolveRecentChooserWidgetMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveRecentChooserWidgetMethod "setSortFunc" o = Gtk.RecentChooser.RecentChooserSetSortFuncMethodInfo
+    ResolveRecentChooserWidgetMethod "setSortType" o = Gtk.RecentChooser.RecentChooserSetSortTypeMethodInfo
+    ResolveRecentChooserWidgetMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveRecentChooserWidgetMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveRecentChooserWidgetMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveRecentChooserWidgetMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveRecentChooserWidgetMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveRecentChooserWidgetMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveRecentChooserWidgetMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveRecentChooserWidgetMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveRecentChooserWidgetMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveRecentChooserWidgetMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveRecentChooserWidgetMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveRecentChooserWidgetMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveRecentChooserWidgetMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveRecentChooserWidgetMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveRecentChooserWidgetMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentChooserWidgetMethod t RecentChooserWidget, O.MethodInfo info RecentChooserWidget p) => OL.IsLabel t (RecentChooserWidget -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentChooserWidget
+type instance O.AttributeList RecentChooserWidget = RecentChooserWidgetAttributeList
+type RecentChooserWidgetAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("filter", Gtk.RecentChooser.RecentChooserFilterPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("limit", Gtk.RecentChooser.RecentChooserLimitPropertyInfo), '("localOnly", Gtk.RecentChooser.RecentChooserLocalOnlyPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("recentManager", Gtk.RecentChooser.RecentChooserRecentManagerPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("selectMultiple", Gtk.RecentChooser.RecentChooserSelectMultiplePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showIcons", Gtk.RecentChooser.RecentChooserShowIconsPropertyInfo), '("showNotFound", Gtk.RecentChooser.RecentChooserShowNotFoundPropertyInfo), '("showPrivate", Gtk.RecentChooser.RecentChooserShowPrivatePropertyInfo), '("showTips", Gtk.RecentChooser.RecentChooserShowTipsPropertyInfo), '("sortType", Gtk.RecentChooser.RecentChooserSortTypePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RecentChooserWidget = RecentChooserWidgetSignalList
+type RecentChooserWidgetSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("itemActivated", Gtk.RecentChooser.RecentChooserItemActivatedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionChanged", Gtk.RecentChooser.RecentChooserSelectionChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RecentChooserWidget::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentChooserWidget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_widget_new" gtk_recent_chooser_widget_new :: 
+    IO (Ptr RecentChooserWidget)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget' object.  This is an embeddable widget
+used to access the recently used resources list.
+
+/Since: 2.10/
+-}
+recentChooserWidgetNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m RecentChooserWidget
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget' -}
+recentChooserWidgetNew  = liftIO $ do
+    result <- gtk_recent_chooser_widget_new
+    checkUnexpectedReturnNULL "recentChooserWidgetNew" result
+    result' <- (newObject RecentChooserWidget) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RecentChooserWidget::new_for_manager
+-- method type : Constructor
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentChooserWidget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_chooser_widget_new_for_manager" gtk_recent_chooser_widget_new_for_manager :: 
+    Ptr Gtk.RecentManager.RecentManager ->  -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    IO (Ptr RecentChooserWidget)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget' with a specified recent manager.
+
+This is useful if you have implemented your own recent manager, or if you
+have a customized instance of a 'GI.Gtk.Objects.RecentManager.RecentManager' object.
+
+/Since: 2.10/
+-}
+recentChooserWidgetNewForManager ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.RecentManager.IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> m RecentChooserWidget
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RecentChooserWidget.RecentChooserWidget' -}
+recentChooserWidgetNewForManager manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    result <- gtk_recent_chooser_widget_new_for_manager manager'
+    checkUnexpectedReturnNULL "recentChooserWidgetNewForManager" result
+    result' <- (newObject RecentChooserWidget) result
+    touchManagedPtr manager
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/RecentChooserWidget.hs-boot b/GI/Gtk/Objects/RecentChooserWidget.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentChooserWidget.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RecentChooserWidget where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentChooserWidget = RecentChooserWidget (ManagedPtr RecentChooserWidget)
+instance GObject RecentChooserWidget where
+class (GObject o, O.IsDescendantOf RecentChooserWidget o) => IsRecentChooserWidget o
+instance (GObject o, O.IsDescendantOf RecentChooserWidget o) => IsRecentChooserWidget o
+instance O.HasParentTypes RecentChooserWidget
diff --git a/GI/Gtk/Objects/RecentFilter.hs b/GI/Gtk/Objects/RecentFilter.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentFilter.hs
@@ -0,0 +1,794 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.RecentFilter.RecentFilter' can be used to restrict the files being shown
+in a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser'.  Files can be filtered based on their name
+(with 'GI.Gtk.Objects.RecentFilter.recentFilterAddPattern'), on their mime type (with
+'GI.Gtk.Objects.FileFilter.fileFilterAddMimeType'), on the application that has
+registered them (with 'GI.Gtk.Objects.RecentFilter.recentFilterAddApplication'), or by
+a custom filter function (with 'GI.Gtk.Objects.RecentFilter.recentFilterAddCustom').
+
+Filtering by mime type handles aliasing and subclassing of mime
+types; e.g. a filter for text\/plain also matches a file with mime
+type application\/rtf, since application\/rtf is a subclass of text\/plain.
+Note that 'GI.Gtk.Objects.RecentFilter.RecentFilter' allows wildcards for the subtype of a
+mime type, so you can e.g. filter for image\/\\*.
+
+Normally, filters are used by adding them to a 'GI.Gtk.Interfaces.RecentChooser.RecentChooser',
+see 'GI.Gtk.Interfaces.RecentChooser.recentChooserAddFilter', but it is also possible to
+manually use a filter on a file with 'GI.Gtk.Objects.RecentFilter.recentFilterFilter'.
+
+Recently used files are supported since GTK+ 2.10.
+
+== GtkRecentFilter as GtkBuildable
+
+The GtkRecentFilter implementation of the GtkBuildable interface
+supports adding rules using the \<mime-types>, \<patterns> and
+\<applications> elements and listing the rules within. Specifying
+a \<mime-type>, \<pattern> or \<application> has the same effect as
+calling 'GI.Gtk.Objects.RecentFilter.recentFilterAddMimeType',
+'GI.Gtk.Objects.RecentFilter.recentFilterAddPattern' or 'GI.Gtk.Objects.RecentFilter.recentFilterAddApplication'.
+
+An example of a UI definition fragment specifying GtkRecentFilter rules:
+>
+><object class="GtkRecentFilter">
+>  <mime-types>
+>    <mime-type>text/plain</mime-type>
+>    <mime-type>image/png</mime-type>
+>  </mime-types>
+>  <patterns>
+>    <pattern>*.txt</pattern>
+>    <pattern>*.png</pattern>
+>  </patterns>
+>  <applications>
+>    <application>gimp</application>
+>    <application>gedit</application>
+>    <application>glade</application>
+>  </applications>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RecentFilter
+    ( 
+
+-- * Exported types
+    RecentFilter(..)                        ,
+    IsRecentFilter                          ,
+    toRecentFilter                          ,
+    noRecentFilter                          ,
+
+
+ -- * Methods
+-- ** addAge #method:addAge#
+
+#if ENABLE_OVERLOADING
+    RecentFilterAddAgeMethodInfo            ,
+#endif
+    recentFilterAddAge                      ,
+
+
+-- ** addApplication #method:addApplication#
+
+#if ENABLE_OVERLOADING
+    RecentFilterAddApplicationMethodInfo    ,
+#endif
+    recentFilterAddApplication              ,
+
+
+-- ** addCustom #method:addCustom#
+
+#if ENABLE_OVERLOADING
+    RecentFilterAddCustomMethodInfo         ,
+#endif
+    recentFilterAddCustom                   ,
+
+
+-- ** addGroup #method:addGroup#
+
+#if ENABLE_OVERLOADING
+    RecentFilterAddGroupMethodInfo          ,
+#endif
+    recentFilterAddGroup                    ,
+
+
+-- ** addMimeType #method:addMimeType#
+
+#if ENABLE_OVERLOADING
+    RecentFilterAddMimeTypeMethodInfo       ,
+#endif
+    recentFilterAddMimeType                 ,
+
+
+-- ** addPattern #method:addPattern#
+
+#if ENABLE_OVERLOADING
+    RecentFilterAddPatternMethodInfo        ,
+#endif
+    recentFilterAddPattern                  ,
+
+
+-- ** addPixbufFormats #method:addPixbufFormats#
+
+#if ENABLE_OVERLOADING
+    RecentFilterAddPixbufFormatsMethodInfo  ,
+#endif
+    recentFilterAddPixbufFormats            ,
+
+
+-- ** filter #method:filter#
+
+#if ENABLE_OVERLOADING
+    RecentFilterFilterMethodInfo            ,
+#endif
+    recentFilterFilter                      ,
+
+
+-- ** getName #method:getName#
+
+#if ENABLE_OVERLOADING
+    RecentFilterGetNameMethodInfo           ,
+#endif
+    recentFilterGetName                     ,
+
+
+-- ** getNeeded #method:getNeeded#
+
+#if ENABLE_OVERLOADING
+    RecentFilterGetNeededMethodInfo         ,
+#endif
+    recentFilterGetNeeded                   ,
+
+
+-- ** new #method:new#
+
+    recentFilterNew                         ,
+
+
+-- ** setName #method:setName#
+
+#if ENABLE_OVERLOADING
+    RecentFilterSetNameMethodInfo           ,
+#endif
+    recentFilterSetName                     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Structs.RecentFilterInfo as Gtk.RecentFilterInfo
+
+-- | Memory-managed wrapper type.
+newtype RecentFilter = RecentFilter (ManagedPtr RecentFilter)
+foreign import ccall "gtk_recent_filter_get_type"
+    c_gtk_recent_filter_get_type :: IO GType
+
+instance GObject RecentFilter where
+    gobjectType = c_gtk_recent_filter_get_type
+    
+
+-- | Type class for types which can be safely cast to `RecentFilter`, for instance with `toRecentFilter`.
+class (GObject o, O.IsDescendantOf RecentFilter o) => IsRecentFilter o
+instance (GObject o, O.IsDescendantOf RecentFilter o) => IsRecentFilter o
+
+instance O.HasParentTypes RecentFilter
+type instance O.ParentTypes RecentFilter = '[GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `RecentFilter`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRecentFilter :: (MonadIO m, IsRecentFilter o) => o -> m RecentFilter
+toRecentFilter = liftIO . unsafeCastTo RecentFilter
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentFilter`.
+noRecentFilter :: Maybe RecentFilter
+noRecentFilter = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentFilterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentFilterMethod "addAge" o = RecentFilterAddAgeMethodInfo
+    ResolveRecentFilterMethod "addApplication" o = RecentFilterAddApplicationMethodInfo
+    ResolveRecentFilterMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRecentFilterMethod "addCustom" o = RecentFilterAddCustomMethodInfo
+    ResolveRecentFilterMethod "addGroup" o = RecentFilterAddGroupMethodInfo
+    ResolveRecentFilterMethod "addMimeType" o = RecentFilterAddMimeTypeMethodInfo
+    ResolveRecentFilterMethod "addPattern" o = RecentFilterAddPatternMethodInfo
+    ResolveRecentFilterMethod "addPixbufFormats" o = RecentFilterAddPixbufFormatsMethodInfo
+    ResolveRecentFilterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRecentFilterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRecentFilterMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRecentFilterMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRecentFilterMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRecentFilterMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRecentFilterMethod "filter" o = RecentFilterFilterMethodInfo
+    ResolveRecentFilterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRecentFilterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRecentFilterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRecentFilterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRecentFilterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRecentFilterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRecentFilterMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRecentFilterMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRecentFilterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRecentFilterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRecentFilterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRecentFilterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRecentFilterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRecentFilterMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRecentFilterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRecentFilterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRecentFilterMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRecentFilterMethod "getName" o = RecentFilterGetNameMethodInfo
+    ResolveRecentFilterMethod "getNeeded" o = RecentFilterGetNeededMethodInfo
+    ResolveRecentFilterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRecentFilterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRecentFilterMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRecentFilterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRecentFilterMethod "setName" o = RecentFilterSetNameMethodInfo
+    ResolveRecentFilterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRecentFilterMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentFilterMethod t RecentFilter, O.MethodInfo info RecentFilter p) => OL.IsLabel t (RecentFilter -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentFilter
+type instance O.AttributeList RecentFilter = RecentFilterAttributeList
+type RecentFilterAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RecentFilter = RecentFilterSignalList
+type RecentFilterSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RecentFilter::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentFilter"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_new" gtk_recent_filter_new :: 
+    IO (Ptr RecentFilter)
+
+{- |
+Creates a new 'GI.Gtk.Objects.RecentFilter.RecentFilter' with no rules added to it.
+Such filter does not accept any recently used resources, so is not
+particularly useful until you add rules with
+'GI.Gtk.Objects.RecentFilter.recentFilterAddPattern', 'GI.Gtk.Objects.RecentFilter.recentFilterAddMimeType',
+'GI.Gtk.Objects.RecentFilter.recentFilterAddApplication', 'GI.Gtk.Objects.RecentFilter.recentFilterAddAge'.
+To create a filter that accepts any recently used resource, use:
+
+=== /C code/
+>
+>GtkRecentFilter *filter = gtk_recent_filter_new ();
+>gtk_recent_filter_add_pattern (filter, "*");
+
+
+/Since: 2.10/
+-}
+recentFilterNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m RecentFilter
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+recentFilterNew  = liftIO $ do
+    result <- gtk_recent_filter_new
+    checkUnexpectedReturnNULL "recentFilterNew" result
+    result' <- (newObject RecentFilter) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RecentFilter::add_age
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "days", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of days", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_add_age" gtk_recent_filter_add_age :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    Int32 ->                                -- days : TBasicType TInt
+    IO ()
+
+{- |
+Adds a rule that allows resources based on their age - that is, the number
+of days elapsed since they were last modified.
+
+/Since: 2.10/
+-}
+recentFilterAddAge ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> Int32
+    {- ^ /@days@/: number of days -}
+    -> m ()
+recentFilterAddAge filter days = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_recent_filter_add_age filter' days
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentFilterAddAgeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterAddAgeMethodInfo a signature where
+    overloadedMethod _ = recentFilterAddAge
+
+#endif
+
+-- method RecentFilter::add_application
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "application", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an application name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_add_application" gtk_recent_filter_add_application :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    CString ->                              -- application : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a rule that allows resources based on the name of the application
+that has registered them.
+
+/Since: 2.10/
+-}
+recentFilterAddApplication ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> T.Text
+    {- ^ /@application@/: an application name -}
+    -> m ()
+recentFilterAddApplication filter application = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    application' <- textToCString application
+    gtk_recent_filter_add_application filter' application'
+    touchManagedPtr filter
+    freeMem application'
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentFilterAddApplicationMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterAddApplicationMethodInfo a signature where
+    overloadedMethod _ = recentFilterAddApplication
+
+#endif
+
+-- method RecentFilter::add_custom
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "needed", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilterFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitfield of flags indicating the information that the custom\n         filter function needs.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilterFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "callback function; if the function returns %TRUE, then\n  the file will be displayed.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data_destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call to free @data when it is no longer needed.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_add_custom" gtk_recent_filter_add_custom :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    CUInt ->                                -- needed : TInterface (Name {namespace = "Gtk", name = "RecentFilterFlags"})
+    FunPtr Gtk.Callbacks.C_RecentFilterFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "RecentFilterFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- data_destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Adds a rule to a filter that allows resources based on a custom callback
+function. The bitfield /@needed@/ which is passed in provides information
+about what sorts of information that the filter function needs;
+this allows GTK+ to avoid retrieving expensive information when
+it isn’t needed by the filter.
+
+/Since: 2.10/
+-}
+recentFilterAddCustom ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> [Gtk.Flags.RecentFilterFlags]
+    {- ^ /@needed@/: bitfield of flags indicating the information that the custom
+         filter function needs. -}
+    -> Gtk.Callbacks.RecentFilterFunc
+    {- ^ /@func@/: callback function; if the function returns 'True', then
+  the file will be displayed. -}
+    -> m ()
+recentFilterAddCustom filter needed func = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    let needed' = gflagsToWord needed
+    func' <- Gtk.Callbacks.mk_RecentFilterFunc (Gtk.Callbacks.wrap_RecentFilterFunc Nothing (Gtk.Callbacks.drop_closures_RecentFilterFunc func))
+    let data_ = castFunPtrToPtr func'
+    let dataDestroy = safeFreeFunPtrPtr
+    gtk_recent_filter_add_custom filter' needed' func' data_ dataDestroy
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentFilterAddCustomMethodInfo
+instance (signature ~ ([Gtk.Flags.RecentFilterFlags] -> Gtk.Callbacks.RecentFilterFunc -> m ()), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterAddCustomMethodInfo a signature where
+    overloadedMethod _ = recentFilterAddCustom
+
+#endif
+
+-- method RecentFilter::add_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_add_group" gtk_recent_filter_add_group :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    CString ->                              -- group : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a rule that allows resources based on the name of the group
+to which they belong
+
+/Since: 2.10/
+-}
+recentFilterAddGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> T.Text
+    {- ^ /@group@/: a group name -}
+    -> m ()
+recentFilterAddGroup filter group = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    group' <- textToCString group
+    gtk_recent_filter_add_group filter' group'
+    touchManagedPtr filter
+    freeMem group'
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentFilterAddGroupMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterAddGroupMethodInfo a signature where
+    overloadedMethod _ = recentFilterAddGroup
+
+#endif
+
+-- method RecentFilter::add_mime_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a MIME type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_add_mime_type" gtk_recent_filter_add_mime_type :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    CString ->                              -- mime_type : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a rule that allows resources based on their registered MIME type.
+
+/Since: 2.10/
+-}
+recentFilterAddMimeType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> T.Text
+    {- ^ /@mimeType@/: a MIME type -}
+    -> m ()
+recentFilterAddMimeType filter mimeType = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    mimeType' <- textToCString mimeType
+    gtk_recent_filter_add_mime_type filter' mimeType'
+    touchManagedPtr filter
+    freeMem mimeType'
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentFilterAddMimeTypeMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterAddMimeTypeMethodInfo a signature where
+    overloadedMethod _ = recentFilterAddMimeType
+
+#endif
+
+-- method RecentFilter::add_pattern
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file pattern", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_add_pattern" gtk_recent_filter_add_pattern :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    CString ->                              -- pattern : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a rule that allows resources based on a pattern matching their
+display name.
+
+/Since: 2.10/
+-}
+recentFilterAddPattern ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> T.Text
+    {- ^ /@pattern@/: a file pattern -}
+    -> m ()
+recentFilterAddPattern filter pattern = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    pattern' <- textToCString pattern
+    gtk_recent_filter_add_pattern filter' pattern'
+    touchManagedPtr filter
+    freeMem pattern'
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentFilterAddPatternMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterAddPatternMethodInfo a signature where
+    overloadedMethod _ = recentFilterAddPattern
+
+#endif
+
+-- method RecentFilter::add_pixbuf_formats
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_add_pixbuf_formats" gtk_recent_filter_add_pixbuf_formats :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    IO ()
+
+{- |
+Adds a rule allowing image files in the formats supported
+by GdkPixbuf.
+
+/Since: 2.10/
+-}
+recentFilterAddPixbufFormats ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> m ()
+recentFilterAddPixbufFormats filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_recent_filter_add_pixbuf_formats filter'
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentFilterAddPixbufFormatsMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterAddPixbufFormatsMethodInfo a signature where
+    overloadedMethod _ = recentFilterAddPixbufFormats
+
+#endif
+
+-- method RecentFilter::filter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_info", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilterInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilterInfo containing information\n  about a recently used resource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_filter" gtk_recent_filter_filter :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    Ptr Gtk.RecentFilterInfo.RecentFilterInfo -> -- filter_info : TInterface (Name {namespace = "Gtk", name = "RecentFilterInfo"})
+    IO CInt
+
+{- |
+Tests whether a file should be displayed according to /@filter@/.
+The 'GI.Gtk.Structs.RecentFilterInfo.RecentFilterInfo' /@filterInfo@/ should include
+the fields returned from 'GI.Gtk.Objects.RecentFilter.recentFilterGetNeeded', and
+must set the 'GI.Gtk.Structs.RecentFilterInfo.RecentFilterInfo'.@/contains/@ field of /@filterInfo@/
+to indicate which fields have been set.
+
+This function will not typically be used by applications; it
+is intended principally for use in the implementation of
+'GI.Gtk.Interfaces.RecentChooser.RecentChooser'.
+
+/Since: 2.10/
+-}
+recentFilterFilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> Gtk.RecentFilterInfo.RecentFilterInfo
+    {- ^ /@filterInfo@/: a 'GI.Gtk.Structs.RecentFilterInfo.RecentFilterInfo' containing information
+  about a recently used resource -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the file should be displayed -}
+recentFilterFilter filter filterInfo = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    filterInfo' <- unsafeManagedPtrGetPtr filterInfo
+    result <- gtk_recent_filter_filter filter' filterInfo'
+    let result' = (/= 0) result
+    touchManagedPtr filter
+    touchManagedPtr filterInfo
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentFilterFilterMethodInfo
+instance (signature ~ (Gtk.RecentFilterInfo.RecentFilterInfo -> m Bool), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterFilterMethodInfo a signature where
+    overloadedMethod _ = recentFilterFilter
+
+#endif
+
+-- method RecentFilter::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_get_name" gtk_recent_filter_get_name :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    IO CString
+
+{- |
+Gets the human-readable name for the filter.
+See 'GI.Gtk.Objects.RecentFilter.recentFilterSetName'.
+
+/Since: 2.10/
+-}
+recentFilterGetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the name of the filter, or 'Nothing'.  The returned string
+  is owned by the filter object and should not be freed. -}
+recentFilterGetName filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    result <- gtk_recent_filter_get_name filter'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr filter
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data RecentFilterGetNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterGetNameMethodInfo a signature where
+    overloadedMethod _ = recentFilterGetName
+
+#endif
+
+-- method RecentFilter::get_needed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentFilterFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_get_needed" gtk_recent_filter_get_needed :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    IO CUInt
+
+{- |
+Gets the fields that need to be filled in for the 'GI.Gtk.Structs.RecentFilterInfo.RecentFilterInfo'
+passed to 'GI.Gtk.Objects.RecentFilter.recentFilterFilter'
+
+This function will not typically be used by applications; it
+is intended principally for use in the implementation of
+'GI.Gtk.Interfaces.RecentChooser.RecentChooser'.
+
+/Since: 2.10/
+-}
+recentFilterGetNeeded ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> m [Gtk.Flags.RecentFilterFlags]
+    {- ^ __Returns:__ bitfield of flags indicating needed fields when
+  calling 'GI.Gtk.Objects.RecentFilter.recentFilterFilter' -}
+recentFilterGetNeeded filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    result <- gtk_recent_filter_get_needed filter'
+    let result' = wordToGFlags result
+    touchManagedPtr filter
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentFilterGetNeededMethodInfo
+instance (signature ~ (m [Gtk.Flags.RecentFilterFlags]), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterGetNeededMethodInfo a signature where
+    overloadedMethod _ = recentFilterGetNeeded
+
+#endif
+
+-- method RecentFilter::set_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "RecentFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "then human readable name of @filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_filter_set_name" gtk_recent_filter_set_name :: 
+    Ptr RecentFilter ->                     -- filter : TInterface (Name {namespace = "Gtk", name = "RecentFilter"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the human-readable name of the filter; this is the string
+that will be displayed in the recently used resources selector
+user interface if there is a selectable list of filters.
+
+/Since: 2.10/
+-}
+recentFilterSetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentFilter a) =>
+    a
+    {- ^ /@filter@/: a 'GI.Gtk.Objects.RecentFilter.RecentFilter' -}
+    -> T.Text
+    {- ^ /@name@/: then human readable name of /@filter@/ -}
+    -> m ()
+recentFilterSetName filter name = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    name' <- textToCString name
+    gtk_recent_filter_set_name filter' name'
+    touchManagedPtr filter
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentFilterSetNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentFilter a) => O.MethodInfo RecentFilterSetNameMethodInfo a signature where
+    overloadedMethod _ = recentFilterSetName
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/RecentFilter.hs-boot b/GI/Gtk/Objects/RecentFilter.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentFilter.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RecentFilter where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentFilter = RecentFilter (ManagedPtr RecentFilter)
+instance GObject RecentFilter where
+class (GObject o, O.IsDescendantOf RecentFilter o) => IsRecentFilter o
+instance (GObject o, O.IsDescendantOf RecentFilter o) => IsRecentFilter o
+instance O.HasParentTypes RecentFilter
+#if ENABLE_OVERLOADING
+data RecentFilterAddAgeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterAddApplicationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterAddCustomMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterAddGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterAddMimeTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterAddPatternMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterAddPixbufFormatsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterFilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterGetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterGetNeededMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentFilterSetNameMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/RecentManager.hs b/GI/Gtk/Objects/RecentManager.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentManager.hs
@@ -0,0 +1,946 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.RecentManager.RecentManager' provides a facility for adding, removing and
+looking up recently used files. Each recently used file is
+identified by its URI, and has meta-data associated to it, like
+the names and command lines of the applications that have
+registered it, the number of time each application has registered
+the same file, the mime type of the file and whether the file
+should be displayed only by the applications that have
+registered it.
+
+The recently used files list is per user.
+
+The 'GI.Gtk.Objects.RecentManager.RecentManager' acts like a database of all the recently
+used files. You can create new 'GI.Gtk.Objects.RecentManager.RecentManager' objects, but
+it is more efficient to use the default manager created by GTK+.
+
+Adding a new recently used file is as simple as:
+
+
+=== /C code/
+>
+>GtkRecentManager *manager;
+>
+>manager = gtk_recent_manager_get_default ();
+>gtk_recent_manager_add_item (manager, file_uri);
+
+
+The 'GI.Gtk.Objects.RecentManager.RecentManager' will try to gather all the needed information
+from the file itself through GIO.
+
+Looking up the meta-data associated with a recently used file
+given its URI requires calling 'GI.Gtk.Objects.RecentManager.recentManagerLookupItem':
+
+
+=== /C code/
+>
+>GtkRecentManager *manager;
+>GtkRecentInfo *info;
+>GError *error = NULL;
+>
+>manager = gtk_recent_manager_get_default ();
+>info = gtk_recent_manager_lookup_item (manager, file_uri, &error);
+>if (error)
+>  {
+>    g_warning ("Could not find the file: %s", error->message);
+>    g_error_free (error);
+>  }
+>else
+> {
+>   // Use the info object
+>   gtk_recent_info_unref (info);
+> }
+
+
+In order to retrieve the list of recently used files, you can use
+'GI.Gtk.Objects.RecentManager.recentManagerGetItems', which returns a list of 'GI.Gtk.Structs.RecentInfo.RecentInfo'-structs.
+
+A 'GI.Gtk.Objects.RecentManager.RecentManager' is the model used to populate the contents of
+one, or more 'GI.Gtk.Interfaces.RecentChooser.RecentChooser' implementations.
+
+Note that the maximum age of the recently used files list is
+controllable through the 'GI.Gtk.Objects.Settings.Settings':@/gtk-recent-files-max-age/@
+property.
+
+Recently used files are supported since GTK+ 2.10.
+
+/Since: 2.10/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RecentManager
+    ( 
+
+-- * Exported types
+    RecentManager(..)                       ,
+    IsRecentManager                         ,
+    toRecentManager                         ,
+    noRecentManager                         ,
+
+
+ -- * Methods
+-- ** addFull #method:addFull#
+
+#if ENABLE_OVERLOADING
+    RecentManagerAddFullMethodInfo          ,
+#endif
+    recentManagerAddFull                    ,
+
+
+-- ** addItem #method:addItem#
+
+#if ENABLE_OVERLOADING
+    RecentManagerAddItemMethodInfo          ,
+#endif
+    recentManagerAddItem                    ,
+
+
+-- ** getDefault #method:getDefault#
+
+    recentManagerGetDefault                 ,
+
+
+-- ** getItems #method:getItems#
+
+#if ENABLE_OVERLOADING
+    RecentManagerGetItemsMethodInfo         ,
+#endif
+    recentManagerGetItems                   ,
+
+
+-- ** hasItem #method:hasItem#
+
+#if ENABLE_OVERLOADING
+    RecentManagerHasItemMethodInfo          ,
+#endif
+    recentManagerHasItem                    ,
+
+
+-- ** lookupItem #method:lookupItem#
+
+#if ENABLE_OVERLOADING
+    RecentManagerLookupItemMethodInfo       ,
+#endif
+    recentManagerLookupItem                 ,
+
+
+-- ** moveItem #method:moveItem#
+
+#if ENABLE_OVERLOADING
+    RecentManagerMoveItemMethodInfo         ,
+#endif
+    recentManagerMoveItem                   ,
+
+
+-- ** new #method:new#
+
+    recentManagerNew                        ,
+
+
+-- ** purgeItems #method:purgeItems#
+
+#if ENABLE_OVERLOADING
+    RecentManagerPurgeItemsMethodInfo       ,
+#endif
+    recentManagerPurgeItems                 ,
+
+
+-- ** removeItem #method:removeItem#
+
+#if ENABLE_OVERLOADING
+    RecentManagerRemoveItemMethodInfo       ,
+#endif
+    recentManagerRemoveItem                 ,
+
+
+
+
+ -- * Properties
+-- ** filename #attr:filename#
+{- | The full path to the file to be used to store and read the
+recently used resources list
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentManagerFilenamePropertyInfo       ,
+#endif
+    constructRecentManagerFilename          ,
+    getRecentManagerFilename                ,
+#if ENABLE_OVERLOADING
+    recentManagerFilename                   ,
+#endif
+
+
+-- ** size #attr:size#
+{- | The size of the recently used resources list.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    RecentManagerSizePropertyInfo           ,
+#endif
+    getRecentManagerSize                    ,
+#if ENABLE_OVERLOADING
+    recentManagerSize                       ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    C_RecentManagerChangedCallback          ,
+    RecentManagerChangedCallback            ,
+#if ENABLE_OVERLOADING
+    RecentManagerChangedSignalInfo          ,
+#endif
+    afterRecentManagerChanged               ,
+    genClosure_RecentManagerChanged         ,
+    mk_RecentManagerChangedCallback         ,
+    noRecentManagerChangedCallback          ,
+    onRecentManagerChanged                  ,
+    wrap_RecentManagerChangedCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Structs.RecentData as Gtk.RecentData
+import {-# SOURCE #-} qualified GI.Gtk.Structs.RecentInfo as Gtk.RecentInfo
+
+-- | Memory-managed wrapper type.
+newtype RecentManager = RecentManager (ManagedPtr RecentManager)
+foreign import ccall "gtk_recent_manager_get_type"
+    c_gtk_recent_manager_get_type :: IO GType
+
+instance GObject RecentManager where
+    gobjectType = c_gtk_recent_manager_get_type
+    
+
+-- | Type class for types which can be safely cast to `RecentManager`, for instance with `toRecentManager`.
+class (GObject o, O.IsDescendantOf RecentManager o) => IsRecentManager o
+instance (GObject o, O.IsDescendantOf RecentManager o) => IsRecentManager o
+
+instance O.HasParentTypes RecentManager
+type instance O.ParentTypes RecentManager = '[GObject.Object.Object]
+
+-- | Cast to `RecentManager`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRecentManager :: (MonadIO m, IsRecentManager o) => o -> m RecentManager
+toRecentManager = liftIO . unsafeCastTo RecentManager
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentManager`.
+noRecentManager :: Maybe RecentManager
+noRecentManager = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentManagerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentManagerMethod "addFull" o = RecentManagerAddFullMethodInfo
+    ResolveRecentManagerMethod "addItem" o = RecentManagerAddItemMethodInfo
+    ResolveRecentManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRecentManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRecentManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRecentManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRecentManagerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRecentManagerMethod "hasItem" o = RecentManagerHasItemMethodInfo
+    ResolveRecentManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRecentManagerMethod "lookupItem" o = RecentManagerLookupItemMethodInfo
+    ResolveRecentManagerMethod "moveItem" o = RecentManagerMoveItemMethodInfo
+    ResolveRecentManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRecentManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRecentManagerMethod "purgeItems" o = RecentManagerPurgeItemsMethodInfo
+    ResolveRecentManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRecentManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRecentManagerMethod "removeItem" o = RecentManagerRemoveItemMethodInfo
+    ResolveRecentManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRecentManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRecentManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRecentManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRecentManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRecentManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRecentManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRecentManagerMethod "getItems" o = RecentManagerGetItemsMethodInfo
+    ResolveRecentManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRecentManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRecentManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRecentManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRecentManagerMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentManagerMethod t RecentManager, O.MethodInfo info RecentManager p) => OL.IsLabel t (RecentManager -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal RecentManager::changed
+{- |
+Emitted when the current recently used resources manager changes
+its contents, either by calling 'GI.Gtk.Objects.RecentManager.recentManagerAddItem' or
+by another application.
+
+/Since: 2.10/
+-}
+type RecentManagerChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `RecentManagerChangedCallback`@.
+noRecentManagerChangedCallback :: Maybe RecentManagerChangedCallback
+noRecentManagerChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_RecentManagerChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_RecentManagerChangedCallback`.
+foreign import ccall "wrapper"
+    mk_RecentManagerChangedCallback :: C_RecentManagerChangedCallback -> IO (FunPtr C_RecentManagerChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_RecentManagerChanged :: MonadIO m => RecentManagerChangedCallback -> m (GClosure C_RecentManagerChangedCallback)
+genClosure_RecentManagerChanged cb = liftIO $ do
+    let cb' = wrap_RecentManagerChangedCallback cb
+    mk_RecentManagerChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `RecentManagerChangedCallback` into a `C_RecentManagerChangedCallback`.
+wrap_RecentManagerChangedCallback ::
+    RecentManagerChangedCallback ->
+    C_RecentManagerChangedCallback
+wrap_RecentManagerChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' recentManager #changed callback
+@
+-}
+onRecentManagerChanged :: (IsRecentManager a, MonadIO m) => a -> RecentManagerChangedCallback -> m SignalHandlerId
+onRecentManagerChanged obj cb = liftIO $ do
+    let cb' = wrap_RecentManagerChangedCallback cb
+    cb'' <- mk_RecentManagerChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' recentManager #changed callback
+@
+-}
+afterRecentManagerChanged :: (IsRecentManager a, MonadIO m) => a -> RecentManagerChangedCallback -> m SignalHandlerId
+afterRecentManagerChanged obj cb = liftIO $ do
+    let cb' = wrap_RecentManagerChangedCallback cb
+    cb'' <- mk_RecentManagerChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "filename"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@filename@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentManager #filename
+@
+-}
+getRecentManagerFilename :: (MonadIO m, IsRecentManager o) => o -> m (Maybe T.Text)
+getRecentManagerFilename obj = liftIO $ B.Properties.getObjectPropertyString obj "filename"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@filename@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRecentManagerFilename :: (IsRecentManager o) => T.Text -> IO (GValueConstruct o)
+constructRecentManagerFilename val = B.Properties.constructObjectPropertyString "filename" (Just val)
+
+#if ENABLE_OVERLOADING
+data RecentManagerFilenamePropertyInfo
+instance AttrInfo RecentManagerFilenamePropertyInfo where
+    type AttrAllowedOps RecentManagerFilenamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentManagerFilenamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint RecentManagerFilenamePropertyInfo = IsRecentManager
+    type AttrGetType RecentManagerFilenamePropertyInfo = (Maybe T.Text)
+    type AttrLabel RecentManagerFilenamePropertyInfo = "filename"
+    type AttrOrigin RecentManagerFilenamePropertyInfo = RecentManager
+    attrGet _ = getRecentManagerFilename
+    attrSet _ = undefined
+    attrConstruct _ = constructRecentManagerFilename
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentManager #size
+@
+-}
+getRecentManagerSize :: (MonadIO m, IsRecentManager o) => o -> m Int32
+getRecentManagerSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "size"
+
+#if ENABLE_OVERLOADING
+data RecentManagerSizePropertyInfo
+instance AttrInfo RecentManagerSizePropertyInfo where
+    type AttrAllowedOps RecentManagerSizePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint RecentManagerSizePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint RecentManagerSizePropertyInfo = IsRecentManager
+    type AttrGetType RecentManagerSizePropertyInfo = Int32
+    type AttrLabel RecentManagerSizePropertyInfo = "size"
+    type AttrOrigin RecentManagerSizePropertyInfo = RecentManager
+    attrGet _ = getRecentManagerSize
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentManager
+type instance O.AttributeList RecentManager = RecentManagerAttributeList
+type RecentManagerAttributeList = ('[ '("filename", RecentManagerFilenamePropertyInfo), '("size", RecentManagerSizePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+recentManagerFilename :: AttrLabelProxy "filename"
+recentManagerFilename = AttrLabelProxy
+
+recentManagerSize :: AttrLabelProxy "size"
+recentManagerSize = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data RecentManagerChangedSignalInfo
+instance SignalInfo RecentManagerChangedSignalInfo where
+    type HaskellCallbackType RecentManagerChangedSignalInfo = RecentManagerChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_RecentManagerChangedCallback cb
+        cb'' <- mk_RecentManagerChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+type instance O.SignalList RecentManager = RecentManagerSignalList
+type RecentManagerSignalList = ('[ '("changed", RecentManagerChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RecentManager::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentManager"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_new" gtk_recent_manager_new :: 
+    IO (Ptr RecentManager)
+
+{- |
+Creates a new recent manager object. Recent manager objects are used to
+handle the list of recently used resources. A 'GI.Gtk.Objects.RecentManager.RecentManager' object
+monitors the recently used resources list, and emits the “changed” signal
+each time something inside the list changes.
+
+'GI.Gtk.Objects.RecentManager.RecentManager' objects are expensive: be sure to create them only when
+needed. You should use 'GI.Gtk.Objects.RecentManager.recentManagerGetDefault' instead.
+
+/Since: 2.10/
+-}
+recentManagerNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m RecentManager
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.RecentManager.RecentManager' object -}
+recentManagerNew  = liftIO $ do
+    result <- gtk_recent_manager_new
+    checkUnexpectedReturnNULL "recentManagerNew" result
+    result' <- (wrapObject RecentManager) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RecentManager::add_full
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "recent_data", argType = TInterface (Name {namespace = "Gtk", name = "RecentData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "metadata of the resource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_add_full" gtk_recent_manager_add_full :: 
+    Ptr RecentManager ->                    -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr Gtk.RecentData.RecentData ->        -- recent_data : TInterface (Name {namespace = "Gtk", name = "RecentData"})
+    IO CInt
+
+{- |
+Adds a new resource, pointed by /@uri@/, into the recently used
+resources list, using the metadata specified inside the
+'GI.Gtk.Structs.RecentData.RecentData'-struct passed in /@recentData@/.
+
+The passed URI will be used to identify this resource inside the
+list.
+
+In order to register the new recently used resource, metadata about
+the resource must be passed as well as the URI; the metadata is
+stored in a 'GI.Gtk.Structs.RecentData.RecentData'-struct, which must contain the MIME
+type of the resource pointed by the URI; the name of the application
+that is registering the item, and a command line to be used when
+launching the item.
+
+Optionally, a 'GI.Gtk.Structs.RecentData.RecentData'-struct might contain a UTF-8 string
+to be used when viewing the item instead of the last component of
+the URI; a short description of the item; whether the item should
+be considered private - that is, should be displayed only by the
+applications that have registered it.
+
+/Since: 2.10/
+-}
+recentManagerAddFull ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> T.Text
+    {- ^ /@uri@/: a valid URI -}
+    -> Gtk.RecentData.RecentData
+    {- ^ /@recentData@/: metadata of the resource -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the new item was successfully added to the
+    recently used resources list, 'False' otherwise -}
+recentManagerAddFull manager uri recentData = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    uri' <- textToCString uri
+    recentData' <- unsafeManagedPtrGetPtr recentData
+    result <- gtk_recent_manager_add_full manager' uri' recentData'
+    let result' = (/= 0) result
+    touchManagedPtr manager
+    touchManagedPtr recentData
+    freeMem uri'
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentManagerAddFullMethodInfo
+instance (signature ~ (T.Text -> Gtk.RecentData.RecentData -> m Bool), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerAddFullMethodInfo a signature where
+    overloadedMethod _ = recentManagerAddFull
+
+#endif
+
+-- method RecentManager::add_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_add_item" gtk_recent_manager_add_item :: 
+    Ptr RecentManager ->                    -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    CString ->                              -- uri : TBasicType TUTF8
+    IO CInt
+
+{- |
+Adds a new resource, pointed by /@uri@/, into the recently used
+resources list.
+
+This function automatically retrieves some of the needed
+metadata and setting other metadata to common default values;
+it then feeds the data to 'GI.Gtk.Objects.RecentManager.recentManagerAddFull'.
+
+See 'GI.Gtk.Objects.RecentManager.recentManagerAddFull' if you want to explicitly
+define the metadata for the resource pointed by /@uri@/.
+
+/Since: 2.10/
+-}
+recentManagerAddItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> T.Text
+    {- ^ /@uri@/: a valid URI -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the new item was successfully added
+  to the recently used resources list -}
+recentManagerAddItem manager uri = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    uri' <- textToCString uri
+    result <- gtk_recent_manager_add_item manager' uri'
+    let result' = (/= 0) result
+    touchManagedPtr manager
+    freeMem uri'
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentManagerAddItemMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerAddItemMethodInfo a signature where
+    overloadedMethod _ = recentManagerAddItem
+
+#endif
+
+-- method RecentManager::get_items
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "RecentInfo"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_get_items" gtk_recent_manager_get_items :: 
+    Ptr RecentManager ->                    -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    IO (Ptr (GList (Ptr Gtk.RecentInfo.RecentInfo)))
+
+{- |
+Gets the list of recently used resources.
+
+/Since: 2.10/
+-}
+recentManagerGetItems ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> m [Gtk.RecentInfo.RecentInfo]
+    {- ^ __Returns:__ a list of
+  newly allocated 'GI.Gtk.Structs.RecentInfo.RecentInfo' objects. Use
+  'GI.Gtk.Structs.RecentInfo.recentInfoUnref' on each item inside the list, and then
+  free the list itself using @/g_list_free()/@. -}
+recentManagerGetItems manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    result <- gtk_recent_manager_get_items manager'
+    result' <- unpackGList result
+    result'' <- mapM (wrapBoxed Gtk.RecentInfo.RecentInfo) result'
+    g_list_free result
+    touchManagedPtr manager
+    return result''
+
+#if ENABLE_OVERLOADING
+data RecentManagerGetItemsMethodInfo
+instance (signature ~ (m [Gtk.RecentInfo.RecentInfo]), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerGetItemsMethodInfo a signature where
+    overloadedMethod _ = recentManagerGetItems
+
+#endif
+
+-- method RecentManager::has_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_has_item" gtk_recent_manager_has_item :: 
+    Ptr RecentManager ->                    -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    CString ->                              -- uri : TBasicType TUTF8
+    IO CInt
+
+{- |
+Checks whether there is a recently used resource registered
+with /@uri@/ inside the recent manager.
+
+/Since: 2.10/
+-}
+recentManagerHasItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> T.Text
+    {- ^ /@uri@/: a URI -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the resource was found, 'False' otherwise -}
+recentManagerHasItem manager uri = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    uri' <- textToCString uri
+    result <- gtk_recent_manager_has_item manager' uri'
+    let result' = (/= 0) result
+    touchManagedPtr manager
+    freeMem uri'
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentManagerHasItemMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerHasItemMethodInfo a signature where
+    overloadedMethod _ = recentManagerHasItem
+
+#endif
+
+-- method RecentManager::lookup_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentInfo"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_lookup_item" gtk_recent_manager_lookup_item :: 
+    Ptr RecentManager ->                    -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr Gtk.RecentInfo.RecentInfo)
+
+{- |
+Searches for a URI inside the recently used resources list, and
+returns a 'GI.Gtk.Structs.RecentInfo.RecentInfo'-struct containing informations about the resource
+like its MIME type, or its display name.
+
+/Since: 2.10/
+-}
+recentManagerLookupItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> T.Text
+    {- ^ /@uri@/: a URI -}
+    -> m (Maybe Gtk.RecentInfo.RecentInfo)
+    {- ^ __Returns:__ a 'GI.Gtk.Structs.RecentInfo.RecentInfo'-struct containing information
+  about the resource pointed by /@uri@/, or 'Nothing' if the URI was
+  not registered in the recently used resources list. Free with
+  'GI.Gtk.Structs.RecentInfo.recentInfoUnref'. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+recentManagerLookupItem manager uri = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    uri' <- textToCString uri
+    onException (do
+        result <- propagateGError $ gtk_recent_manager_lookup_item manager' uri'
+        maybeResult <- convertIfNonNull result $ \result' -> do
+            result'' <- (wrapBoxed Gtk.RecentInfo.RecentInfo) result'
+            return result''
+        touchManagedPtr manager
+        freeMem uri'
+        return maybeResult
+     ) (do
+        freeMem uri'
+     )
+
+#if ENABLE_OVERLOADING
+data RecentManagerLookupItemMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.RecentInfo.RecentInfo)), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerLookupItemMethodInfo a signature where
+    overloadedMethod _ = recentManagerLookupItem
+
+#endif
+
+-- method RecentManager::move_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the URI of a recently used resource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the new URI of the recently used resource, or\n   %NULL to remove the item pointed by @uri in the list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_move_item" gtk_recent_manager_move_item :: 
+    Ptr RecentManager ->                    -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    CString ->                              -- uri : TBasicType TUTF8
+    CString ->                              -- new_uri : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Changes the location of a recently used resource from /@uri@/ to /@newUri@/.
+
+Please note that this function will not affect the resource pointed
+by the URIs, but only the URI used in the recently used resources list.
+
+/Since: 2.10/
+-}
+recentManagerMoveItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> T.Text
+    {- ^ /@uri@/: the URI of a recently used resource -}
+    -> Maybe (T.Text)
+    {- ^ /@newUri@/: the new URI of the recently used resource, or
+   'Nothing' to remove the item pointed by /@uri@/ in the list -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+recentManagerMoveItem manager uri newUri = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    uri' <- textToCString uri
+    maybeNewUri <- case newUri of
+        Nothing -> return nullPtr
+        Just jNewUri -> do
+            jNewUri' <- textToCString jNewUri
+            return jNewUri'
+    onException (do
+        _ <- propagateGError $ gtk_recent_manager_move_item manager' uri' maybeNewUri
+        touchManagedPtr manager
+        freeMem uri'
+        freeMem maybeNewUri
+        return ()
+     ) (do
+        freeMem uri'
+        freeMem maybeNewUri
+     )
+
+#if ENABLE_OVERLOADING
+data RecentManagerMoveItemMethodInfo
+instance (signature ~ (T.Text -> Maybe (T.Text) -> m ()), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerMoveItemMethodInfo a signature where
+    overloadedMethod _ = recentManagerMoveItem
+
+#endif
+
+-- method RecentManager::purge_items
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_purge_items" gtk_recent_manager_purge_items :: 
+    Ptr RecentManager ->                    -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    Ptr (Ptr GError) ->                     -- error
+    IO Int32
+
+{- |
+Purges every item from the recently used resources list.
+
+/Since: 2.10/
+-}
+recentManagerPurgeItems ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of items that have been removed from the
+  recently used resources list /(Can throw 'Data.GI.Base.GError.GError')/ -}
+recentManagerPurgeItems manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    onException (do
+        result <- propagateGError $ gtk_recent_manager_purge_items manager'
+        touchManagedPtr manager
+        return result
+     ) (do
+        return ()
+     )
+
+#if ENABLE_OVERLOADING
+data RecentManagerPurgeItemsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerPurgeItemsMethodInfo a signature where
+    overloadedMethod _ = recentManagerPurgeItems
+
+#endif
+
+-- method RecentManager::remove_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "RecentManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the URI of the item you wish to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_remove_item" gtk_recent_manager_remove_item :: 
+    Ptr RecentManager ->                    -- manager : TInterface (Name {namespace = "Gtk", name = "RecentManager"})
+    CString ->                              -- uri : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Removes a resource pointed by /@uri@/ from the recently used resources
+list handled by a recent manager.
+
+/Since: 2.10/
+-}
+recentManagerRemoveItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRecentManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.RecentManager.RecentManager' -}
+    -> T.Text
+    {- ^ /@uri@/: the URI of the item you wish to remove -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+recentManagerRemoveItem manager uri = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    uri' <- textToCString uri
+    onException (do
+        _ <- propagateGError $ gtk_recent_manager_remove_item manager' uri'
+        touchManagedPtr manager
+        freeMem uri'
+        return ()
+     ) (do
+        freeMem uri'
+     )
+
+#if ENABLE_OVERLOADING
+data RecentManagerRemoveItemMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRecentManager a) => O.MethodInfo RecentManagerRemoveItemMethodInfo a signature where
+    overloadedMethod _ = recentManagerRemoveItem
+
+#endif
+
+-- method RecentManager::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentManager"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_manager_get_default" gtk_recent_manager_get_default :: 
+    IO (Ptr RecentManager)
+
+{- |
+Gets a unique instance of 'GI.Gtk.Objects.RecentManager.RecentManager', that you can share
+in your application without caring about memory management.
+
+/Since: 2.10/
+-}
+recentManagerGetDefault ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m RecentManager
+    {- ^ __Returns:__ A unique 'GI.Gtk.Objects.RecentManager.RecentManager'. Do not ref or
+  unref it. -}
+recentManagerGetDefault  = liftIO $ do
+    result <- gtk_recent_manager_get_default
+    checkUnexpectedReturnNULL "recentManagerGetDefault" result
+    result' <- (newObject RecentManager) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/RecentManager.hs-boot b/GI/Gtk/Objects/RecentManager.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RecentManager.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RecentManager where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentManager = RecentManager (ManagedPtr RecentManager)
+instance GObject RecentManager where
+class (GObject o, O.IsDescendantOf RecentManager o) => IsRecentManager o
+instance (GObject o, O.IsDescendantOf RecentManager o) => IsRecentManager o
+instance O.HasParentTypes RecentManager
+#if ENABLE_OVERLOADING
+data RecentManagerFilenamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerAddFullMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerAddItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerGetItemsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerHasItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerLookupItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerMoveItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerPurgeItemsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentManagerRemoveItemMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/RendererCellAccessible.hs b/GI/Gtk/Objects/RendererCellAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RendererCellAccessible.hs
@@ -0,0 +1,271 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.RendererCellAccessible
+    ( 
+
+-- * Exported types
+    RendererCellAccessible(..)              ,
+    IsRendererCellAccessible                ,
+    toRendererCellAccessible                ,
+    noRendererCellAccessible                ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    rendererCellAccessibleNew               ,
+
+
+
+
+ -- * Properties
+-- ** renderer #attr:renderer#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RendererCellAccessibleRendererPropertyInfo,
+#endif
+    constructRendererCellAccessibleRenderer ,
+    getRendererCellAccessibleRenderer       ,
+#if ENABLE_OVERLOADING
+    rendererCellAccessibleRenderer          ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.TableCell as Atk.TableCell
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellAccessible as Gtk.CellAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+
+-- | Memory-managed wrapper type.
+newtype RendererCellAccessible = RendererCellAccessible (ManagedPtr RendererCellAccessible)
+foreign import ccall "gtk_renderer_cell_accessible_get_type"
+    c_gtk_renderer_cell_accessible_get_type :: IO GType
+
+instance GObject RendererCellAccessible where
+    gobjectType = c_gtk_renderer_cell_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `RendererCellAccessible`, for instance with `toRendererCellAccessible`.
+class (GObject o, O.IsDescendantOf RendererCellAccessible o) => IsRendererCellAccessible o
+instance (GObject o, O.IsDescendantOf RendererCellAccessible o) => IsRendererCellAccessible o
+
+instance O.HasParentTypes RendererCellAccessible
+type instance O.ParentTypes RendererCellAccessible = '[Gtk.CellAccessible.CellAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.TableCell.TableCell]
+
+-- | Cast to `RendererCellAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRendererCellAccessible :: (MonadIO m, IsRendererCellAccessible o) => o -> m RendererCellAccessible
+toRendererCellAccessible = liftIO . unsafeCastTo RendererCellAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RendererCellAccessible`.
+noRendererCellAccessible :: Maybe RendererCellAccessible
+noRendererCellAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRendererCellAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRendererCellAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveRendererCellAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRendererCellAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRendererCellAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveRendererCellAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveRendererCellAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveRendererCellAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRendererCellAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRendererCellAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRendererCellAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveRendererCellAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveRendererCellAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRendererCellAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRendererCellAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRendererCellAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveRendererCellAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveRendererCellAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRendererCellAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveRendererCellAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveRendererCellAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveRendererCellAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRendererCellAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveRendererCellAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveRendererCellAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveRendererCellAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveRendererCellAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRendererCellAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveRendererCellAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveRendererCellAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRendererCellAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRendererCellAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRendererCellAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRendererCellAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRendererCellAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveRendererCellAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveRendererCellAccessibleMethod "getColumnHeaderCells" o = Atk.TableCell.TableCellGetColumnHeaderCellsMethodInfo
+    ResolveRendererCellAccessibleMethod "getColumnSpan" o = Atk.TableCell.TableCellGetColumnSpanMethodInfo
+    ResolveRendererCellAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRendererCellAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveRendererCellAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveRendererCellAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveRendererCellAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveRendererCellAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveRendererCellAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveRendererCellAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveRendererCellAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveRendererCellAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveRendererCellAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveRendererCellAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveRendererCellAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveRendererCellAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveRendererCellAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRendererCellAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRendererCellAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveRendererCellAccessibleMethod "getRowColumnSpan" o = Atk.TableCell.TableCellGetRowColumnSpanMethodInfo
+    ResolveRendererCellAccessibleMethod "getRowHeaderCells" o = Atk.TableCell.TableCellGetRowHeaderCellsMethodInfo
+    ResolveRendererCellAccessibleMethod "getRowSpan" o = Atk.TableCell.TableCellGetRowSpanMethodInfo
+    ResolveRendererCellAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveRendererCellAccessibleMethod "getTable" o = Atk.TableCell.TableCellGetTableMethodInfo
+    ResolveRendererCellAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveRendererCellAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRendererCellAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveRendererCellAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveRendererCellAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveRendererCellAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveRendererCellAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveRendererCellAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRendererCellAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveRendererCellAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveRendererCellAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveRendererCellAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRendererCellAccessibleMethod t RendererCellAccessible, O.MethodInfo info RendererCellAccessible p) => OL.IsLabel t (RendererCellAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "renderer"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@renderer@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' rendererCellAccessible #renderer
+@
+-}
+getRendererCellAccessibleRenderer :: (MonadIO m, IsRendererCellAccessible o) => o -> m (Maybe Gtk.CellRenderer.CellRenderer)
+getRendererCellAccessibleRenderer obj = liftIO $ B.Properties.getObjectPropertyObject obj "renderer" Gtk.CellRenderer.CellRenderer
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@renderer@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRendererCellAccessibleRenderer :: (IsRendererCellAccessible o, Gtk.CellRenderer.IsCellRenderer a) => a -> IO (GValueConstruct o)
+constructRendererCellAccessibleRenderer val = B.Properties.constructObjectPropertyObject "renderer" (Just val)
+
+#if ENABLE_OVERLOADING
+data RendererCellAccessibleRendererPropertyInfo
+instance AttrInfo RendererCellAccessibleRendererPropertyInfo where
+    type AttrAllowedOps RendererCellAccessibleRendererPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RendererCellAccessibleRendererPropertyInfo = Gtk.CellRenderer.IsCellRenderer
+    type AttrBaseTypeConstraint RendererCellAccessibleRendererPropertyInfo = IsRendererCellAccessible
+    type AttrGetType RendererCellAccessibleRendererPropertyInfo = (Maybe Gtk.CellRenderer.CellRenderer)
+    type AttrLabel RendererCellAccessibleRendererPropertyInfo = "renderer"
+    type AttrOrigin RendererCellAccessibleRendererPropertyInfo = RendererCellAccessible
+    attrGet _ = getRendererCellAccessibleRenderer
+    attrSet _ = undefined
+    attrConstruct _ = constructRendererCellAccessibleRenderer
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RendererCellAccessible
+type instance O.AttributeList RendererCellAccessible = RendererCellAccessibleAttributeList
+type RendererCellAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("renderer", RendererCellAccessibleRendererPropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+rendererCellAccessibleRenderer :: AttrLabelProxy "renderer"
+rendererCellAccessibleRenderer = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList RendererCellAccessible = RendererCellAccessibleSignalList
+type RendererCellAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method RendererCellAccessible::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RendererCellAccessible"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_renderer_cell_accessible_new" gtk_renderer_cell_accessible_new :: 
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO (Ptr RendererCellAccessible)
+
+{- |
+/No description available in the introspection data./
+-}
+rendererCellAccessibleNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellRenderer.IsCellRenderer a) =>
+    a
+    -> m RendererCellAccessible
+rendererCellAccessibleNew renderer = liftIO $ do
+    renderer' <- unsafeManagedPtrCastPtr renderer
+    result <- gtk_renderer_cell_accessible_new renderer'
+    checkUnexpectedReturnNULL "rendererCellAccessibleNew" result
+    result' <- (wrapObject RendererCellAccessible) result
+    touchManagedPtr renderer
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/RendererCellAccessible.hs-boot b/GI/Gtk/Objects/RendererCellAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/RendererCellAccessible.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.RendererCellAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RendererCellAccessible = RendererCellAccessible (ManagedPtr RendererCellAccessible)
+instance GObject RendererCellAccessible where
+class (GObject o, O.IsDescendantOf RendererCellAccessible o) => IsRendererCellAccessible o
+instance (GObject o, O.IsDescendantOf RendererCellAccessible o) => IsRendererCellAccessible o
+instance O.HasParentTypes RendererCellAccessible
+#if ENABLE_OVERLOADING
+data RendererCellAccessibleRendererPropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/Revealer.hs b/GI/Gtk/Objects/Revealer.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Revealer.hs
@@ -0,0 +1,1058 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The GtkRevealer widget is a container which animates
+the transition of its child from invisible to visible.
+
+The style of transition can be controlled with
+'GI.Gtk.Objects.Revealer.revealerSetTransitionType'.
+
+These animations respect the 'GI.Gtk.Objects.Settings.Settings':@/gtk-enable-animations/@
+setting.
+
+= CSS nodes
+
+GtkRevealer has a single CSS node with name revealer.
+
+The GtkRevealer widget was added in GTK+ 3.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Revealer
+    ( 
+
+-- * Exported types
+    Revealer(..)                            ,
+    IsRevealer                              ,
+    toRevealer                              ,
+    noRevealer                              ,
+
+
+ -- * Methods
+-- ** getChildRevealed #method:getChildRevealed#
+
+#if ENABLE_OVERLOADING
+    RevealerGetChildRevealedMethodInfo      ,
+#endif
+    revealerGetChildRevealed                ,
+
+
+-- ** getRevealChild #method:getRevealChild#
+
+#if ENABLE_OVERLOADING
+    RevealerGetRevealChildMethodInfo        ,
+#endif
+    revealerGetRevealChild                  ,
+
+
+-- ** getTransitionDuration #method:getTransitionDuration#
+
+#if ENABLE_OVERLOADING
+    RevealerGetTransitionDurationMethodInfo ,
+#endif
+    revealerGetTransitionDuration           ,
+
+
+-- ** getTransitionType #method:getTransitionType#
+
+#if ENABLE_OVERLOADING
+    RevealerGetTransitionTypeMethodInfo     ,
+#endif
+    revealerGetTransitionType               ,
+
+
+-- ** new #method:new#
+
+    revealerNew                             ,
+
+
+-- ** setRevealChild #method:setRevealChild#
+
+#if ENABLE_OVERLOADING
+    RevealerSetRevealChildMethodInfo        ,
+#endif
+    revealerSetRevealChild                  ,
+
+
+-- ** setTransitionDuration #method:setTransitionDuration#
+
+#if ENABLE_OVERLOADING
+    RevealerSetTransitionDurationMethodInfo ,
+#endif
+    revealerSetTransitionDuration           ,
+
+
+-- ** setTransitionType #method:setTransitionType#
+
+#if ENABLE_OVERLOADING
+    RevealerSetTransitionTypeMethodInfo     ,
+#endif
+    revealerSetTransitionType               ,
+
+
+
+
+ -- * Properties
+-- ** childRevealed #attr:childRevealed#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RevealerChildRevealedPropertyInfo       ,
+#endif
+    getRevealerChildRevealed                ,
+#if ENABLE_OVERLOADING
+    revealerChildRevealed                   ,
+#endif
+
+
+-- ** revealChild #attr:revealChild#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RevealerRevealChildPropertyInfo         ,
+#endif
+    constructRevealerRevealChild            ,
+    getRevealerRevealChild                  ,
+#if ENABLE_OVERLOADING
+    revealerRevealChild                     ,
+#endif
+    setRevealerRevealChild                  ,
+
+
+-- ** transitionDuration #attr:transitionDuration#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RevealerTransitionDurationPropertyInfo  ,
+#endif
+    constructRevealerTransitionDuration     ,
+    getRevealerTransitionDuration           ,
+#if ENABLE_OVERLOADING
+    revealerTransitionDuration              ,
+#endif
+    setRevealerTransitionDuration           ,
+
+
+-- ** transitionType #attr:transitionType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    RevealerTransitionTypePropertyInfo      ,
+#endif
+    constructRevealerTransitionType         ,
+    getRevealerTransitionType               ,
+#if ENABLE_OVERLOADING
+    revealerTransitionType                  ,
+#endif
+    setRevealerTransitionType               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Revealer = Revealer (ManagedPtr Revealer)
+foreign import ccall "gtk_revealer_get_type"
+    c_gtk_revealer_get_type :: IO GType
+
+instance GObject Revealer where
+    gobjectType = c_gtk_revealer_get_type
+    
+
+-- | Type class for types which can be safely cast to `Revealer`, for instance with `toRevealer`.
+class (GObject o, O.IsDescendantOf Revealer o) => IsRevealer o
+instance (GObject o, O.IsDescendantOf Revealer o) => IsRevealer o
+
+instance O.HasParentTypes Revealer
+type instance O.ParentTypes Revealer = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Revealer`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toRevealer :: (MonadIO m, IsRevealer o) => o -> m Revealer
+toRevealer = liftIO . unsafeCastTo Revealer
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Revealer`.
+noRevealer :: Maybe Revealer
+noRevealer = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveRevealerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRevealerMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveRevealerMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveRevealerMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveRevealerMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveRevealerMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveRevealerMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveRevealerMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveRevealerMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveRevealerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveRevealerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveRevealerMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveRevealerMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveRevealerMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveRevealerMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveRevealerMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveRevealerMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveRevealerMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveRevealerMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveRevealerMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveRevealerMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveRevealerMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveRevealerMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveRevealerMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveRevealerMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveRevealerMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveRevealerMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveRevealerMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveRevealerMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveRevealerMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveRevealerMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveRevealerMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveRevealerMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveRevealerMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveRevealerMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveRevealerMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveRevealerMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveRevealerMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveRevealerMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveRevealerMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveRevealerMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveRevealerMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveRevealerMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveRevealerMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveRevealerMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveRevealerMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveRevealerMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveRevealerMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveRevealerMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveRevealerMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveRevealerMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveRevealerMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveRevealerMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveRevealerMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveRevealerMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveRevealerMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveRevealerMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveRevealerMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveRevealerMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveRevealerMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveRevealerMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveRevealerMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveRevealerMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveRevealerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveRevealerMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveRevealerMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveRevealerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveRevealerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveRevealerMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveRevealerMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveRevealerMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveRevealerMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveRevealerMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveRevealerMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveRevealerMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveRevealerMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveRevealerMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveRevealerMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveRevealerMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveRevealerMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveRevealerMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveRevealerMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveRevealerMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveRevealerMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveRevealerMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveRevealerMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveRevealerMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveRevealerMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveRevealerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveRevealerMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveRevealerMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveRevealerMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveRevealerMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveRevealerMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveRevealerMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveRevealerMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveRevealerMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveRevealerMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveRevealerMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveRevealerMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveRevealerMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveRevealerMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveRevealerMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveRevealerMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveRevealerMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveRevealerMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveRevealerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveRevealerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveRevealerMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveRevealerMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveRevealerMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveRevealerMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveRevealerMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveRevealerMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveRevealerMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveRevealerMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveRevealerMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveRevealerMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveRevealerMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveRevealerMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveRevealerMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveRevealerMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveRevealerMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveRevealerMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveRevealerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveRevealerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveRevealerMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveRevealerMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveRevealerMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveRevealerMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveRevealerMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveRevealerMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveRevealerMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveRevealerMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveRevealerMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveRevealerMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveRevealerMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveRevealerMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveRevealerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveRevealerMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveRevealerMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveRevealerMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveRevealerMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveRevealerMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveRevealerMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveRevealerMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveRevealerMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveRevealerMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveRevealerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveRevealerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveRevealerMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveRevealerMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveRevealerMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveRevealerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveRevealerMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveRevealerMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveRevealerMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveRevealerMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveRevealerMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveRevealerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveRevealerMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveRevealerMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveRevealerMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveRevealerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveRevealerMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveRevealerMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveRevealerMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveRevealerMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveRevealerMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveRevealerMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveRevealerMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveRevealerMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveRevealerMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveRevealerMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveRevealerMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveRevealerMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveRevealerMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveRevealerMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveRevealerMethod "getChildRevealed" o = RevealerGetChildRevealedMethodInfo
+    ResolveRevealerMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveRevealerMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveRevealerMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveRevealerMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveRevealerMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveRevealerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveRevealerMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveRevealerMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveRevealerMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveRevealerMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveRevealerMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveRevealerMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveRevealerMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveRevealerMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveRevealerMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveRevealerMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveRevealerMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveRevealerMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveRevealerMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveRevealerMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveRevealerMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveRevealerMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveRevealerMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveRevealerMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveRevealerMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveRevealerMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveRevealerMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveRevealerMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveRevealerMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveRevealerMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveRevealerMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveRevealerMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveRevealerMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveRevealerMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveRevealerMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveRevealerMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveRevealerMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveRevealerMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveRevealerMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveRevealerMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveRevealerMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveRevealerMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveRevealerMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveRevealerMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveRevealerMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveRevealerMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveRevealerMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveRevealerMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveRevealerMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveRevealerMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveRevealerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveRevealerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveRevealerMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveRevealerMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveRevealerMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveRevealerMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveRevealerMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveRevealerMethod "getRevealChild" o = RevealerGetRevealChildMethodInfo
+    ResolveRevealerMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveRevealerMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveRevealerMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveRevealerMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveRevealerMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveRevealerMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveRevealerMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveRevealerMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveRevealerMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveRevealerMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveRevealerMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveRevealerMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveRevealerMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveRevealerMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveRevealerMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveRevealerMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveRevealerMethod "getTransitionDuration" o = RevealerGetTransitionDurationMethodInfo
+    ResolveRevealerMethod "getTransitionType" o = RevealerGetTransitionTypeMethodInfo
+    ResolveRevealerMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveRevealerMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveRevealerMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveRevealerMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveRevealerMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveRevealerMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveRevealerMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveRevealerMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveRevealerMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveRevealerMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveRevealerMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveRevealerMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveRevealerMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveRevealerMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveRevealerMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveRevealerMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveRevealerMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveRevealerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveRevealerMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveRevealerMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveRevealerMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveRevealerMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveRevealerMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveRevealerMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveRevealerMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveRevealerMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveRevealerMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveRevealerMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveRevealerMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveRevealerMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveRevealerMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveRevealerMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveRevealerMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveRevealerMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveRevealerMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveRevealerMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveRevealerMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveRevealerMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveRevealerMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveRevealerMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveRevealerMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveRevealerMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveRevealerMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveRevealerMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveRevealerMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveRevealerMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveRevealerMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveRevealerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveRevealerMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveRevealerMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveRevealerMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveRevealerMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveRevealerMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveRevealerMethod "setRevealChild" o = RevealerSetRevealChildMethodInfo
+    ResolveRevealerMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveRevealerMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveRevealerMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveRevealerMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveRevealerMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveRevealerMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveRevealerMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveRevealerMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveRevealerMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveRevealerMethod "setTransitionDuration" o = RevealerSetTransitionDurationMethodInfo
+    ResolveRevealerMethod "setTransitionType" o = RevealerSetTransitionTypeMethodInfo
+    ResolveRevealerMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveRevealerMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveRevealerMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveRevealerMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveRevealerMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveRevealerMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveRevealerMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRevealerMethod t Revealer, O.MethodInfo info Revealer p) => OL.IsLabel t (Revealer -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "child-revealed"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@child-revealed@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' revealer #childRevealed
+@
+-}
+getRevealerChildRevealed :: (MonadIO m, IsRevealer o) => o -> m Bool
+getRevealerChildRevealed obj = liftIO $ B.Properties.getObjectPropertyBool obj "child-revealed"
+
+#if ENABLE_OVERLOADING
+data RevealerChildRevealedPropertyInfo
+instance AttrInfo RevealerChildRevealedPropertyInfo where
+    type AttrAllowedOps RevealerChildRevealedPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint RevealerChildRevealedPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint RevealerChildRevealedPropertyInfo = IsRevealer
+    type AttrGetType RevealerChildRevealedPropertyInfo = Bool
+    type AttrLabel RevealerChildRevealedPropertyInfo = "child-revealed"
+    type AttrOrigin RevealerChildRevealedPropertyInfo = Revealer
+    attrGet _ = getRevealerChildRevealed
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "reveal-child"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@reveal-child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' revealer #revealChild
+@
+-}
+getRevealerRevealChild :: (MonadIO m, IsRevealer o) => o -> m Bool
+getRevealerRevealChild obj = liftIO $ B.Properties.getObjectPropertyBool obj "reveal-child"
+
+{- |
+Set the value of the “@reveal-child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' revealer [ #revealChild 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRevealerRevealChild :: (MonadIO m, IsRevealer o) => o -> Bool -> m ()
+setRevealerRevealChild obj val = liftIO $ B.Properties.setObjectPropertyBool obj "reveal-child" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@reveal-child@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRevealerRevealChild :: (IsRevealer o) => Bool -> IO (GValueConstruct o)
+constructRevealerRevealChild val = B.Properties.constructObjectPropertyBool "reveal-child" val
+
+#if ENABLE_OVERLOADING
+data RevealerRevealChildPropertyInfo
+instance AttrInfo RevealerRevealChildPropertyInfo where
+    type AttrAllowedOps RevealerRevealChildPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RevealerRevealChildPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint RevealerRevealChildPropertyInfo = IsRevealer
+    type AttrGetType RevealerRevealChildPropertyInfo = Bool
+    type AttrLabel RevealerRevealChildPropertyInfo = "reveal-child"
+    type AttrOrigin RevealerRevealChildPropertyInfo = Revealer
+    attrGet _ = getRevealerRevealChild
+    attrSet _ = setRevealerRevealChild
+    attrConstruct _ = constructRevealerRevealChild
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "transition-duration"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@transition-duration@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' revealer #transitionDuration
+@
+-}
+getRevealerTransitionDuration :: (MonadIO m, IsRevealer o) => o -> m Word32
+getRevealerTransitionDuration obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "transition-duration"
+
+{- |
+Set the value of the “@transition-duration@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' revealer [ #transitionDuration 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRevealerTransitionDuration :: (MonadIO m, IsRevealer o) => o -> Word32 -> m ()
+setRevealerTransitionDuration obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "transition-duration" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@transition-duration@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRevealerTransitionDuration :: (IsRevealer o) => Word32 -> IO (GValueConstruct o)
+constructRevealerTransitionDuration val = B.Properties.constructObjectPropertyUInt32 "transition-duration" val
+
+#if ENABLE_OVERLOADING
+data RevealerTransitionDurationPropertyInfo
+instance AttrInfo RevealerTransitionDurationPropertyInfo where
+    type AttrAllowedOps RevealerTransitionDurationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RevealerTransitionDurationPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint RevealerTransitionDurationPropertyInfo = IsRevealer
+    type AttrGetType RevealerTransitionDurationPropertyInfo = Word32
+    type AttrLabel RevealerTransitionDurationPropertyInfo = "transition-duration"
+    type AttrOrigin RevealerTransitionDurationPropertyInfo = Revealer
+    attrGet _ = getRevealerTransitionDuration
+    attrSet _ = setRevealerTransitionDuration
+    attrConstruct _ = constructRevealerTransitionDuration
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "transition-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "RevealerTransitionType"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@transition-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' revealer #transitionType
+@
+-}
+getRevealerTransitionType :: (MonadIO m, IsRevealer o) => o -> m Gtk.Enums.RevealerTransitionType
+getRevealerTransitionType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "transition-type"
+
+{- |
+Set the value of the “@transition-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' revealer [ #transitionType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRevealerTransitionType :: (MonadIO m, IsRevealer o) => o -> Gtk.Enums.RevealerTransitionType -> m ()
+setRevealerTransitionType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "transition-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@transition-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructRevealerTransitionType :: (IsRevealer o) => Gtk.Enums.RevealerTransitionType -> IO (GValueConstruct o)
+constructRevealerTransitionType val = B.Properties.constructObjectPropertyEnum "transition-type" val
+
+#if ENABLE_OVERLOADING
+data RevealerTransitionTypePropertyInfo
+instance AttrInfo RevealerTransitionTypePropertyInfo where
+    type AttrAllowedOps RevealerTransitionTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint RevealerTransitionTypePropertyInfo = (~) Gtk.Enums.RevealerTransitionType
+    type AttrBaseTypeConstraint RevealerTransitionTypePropertyInfo = IsRevealer
+    type AttrGetType RevealerTransitionTypePropertyInfo = Gtk.Enums.RevealerTransitionType
+    type AttrLabel RevealerTransitionTypePropertyInfo = "transition-type"
+    type AttrOrigin RevealerTransitionTypePropertyInfo = Revealer
+    attrGet _ = getRevealerTransitionType
+    attrSet _ = setRevealerTransitionType
+    attrConstruct _ = constructRevealerTransitionType
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Revealer
+type instance O.AttributeList Revealer = RevealerAttributeList
+type RevealerAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("childRevealed", RevealerChildRevealedPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("revealChild", RevealerRevealChildPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transitionDuration", RevealerTransitionDurationPropertyInfo), '("transitionType", RevealerTransitionTypePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+revealerChildRevealed :: AttrLabelProxy "childRevealed"
+revealerChildRevealed = AttrLabelProxy
+
+revealerRevealChild :: AttrLabelProxy "revealChild"
+revealerRevealChild = AttrLabelProxy
+
+revealerTransitionDuration :: AttrLabelProxy "transitionDuration"
+revealerTransitionDuration = AttrLabelProxy
+
+revealerTransitionType :: AttrLabelProxy "transitionType"
+revealerTransitionType = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Revealer = RevealerSignalList
+type RevealerSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Revealer::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Revealer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_revealer_new" gtk_revealer_new :: 
+    IO (Ptr Revealer)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Revealer.Revealer'.
+
+/Since: 3.10/
+-}
+revealerNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Revealer
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.Revealer.Revealer' -}
+revealerNew  = liftIO $ do
+    result <- gtk_revealer_new
+    checkUnexpectedReturnNULL "revealerNew" result
+    result' <- (newObject Revealer) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Revealer::get_child_revealed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "revealer", argType = TInterface (Name {namespace = "Gtk", name = "Revealer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRevealer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_revealer_get_child_revealed" gtk_revealer_get_child_revealed :: 
+    Ptr Revealer ->                         -- revealer : TInterface (Name {namespace = "Gtk", name = "Revealer"})
+    IO CInt
+
+{- |
+Returns whether the child is fully revealed, in other words whether
+the transition to the revealed state is completed.
+
+/Since: 3.10/
+-}
+revealerGetChildRevealed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRevealer a) =>
+    a
+    {- ^ /@revealer@/: a 'GI.Gtk.Objects.Revealer.Revealer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the child is fully revealed -}
+revealerGetChildRevealed revealer = liftIO $ do
+    revealer' <- unsafeManagedPtrCastPtr revealer
+    result <- gtk_revealer_get_child_revealed revealer'
+    let result' = (/= 0) result
+    touchManagedPtr revealer
+    return result'
+
+#if ENABLE_OVERLOADING
+data RevealerGetChildRevealedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRevealer a) => O.MethodInfo RevealerGetChildRevealedMethodInfo a signature where
+    overloadedMethod _ = revealerGetChildRevealed
+
+#endif
+
+-- method Revealer::get_reveal_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "revealer", argType = TInterface (Name {namespace = "Gtk", name = "Revealer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRevealer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_revealer_get_reveal_child" gtk_revealer_get_reveal_child :: 
+    Ptr Revealer ->                         -- revealer : TInterface (Name {namespace = "Gtk", name = "Revealer"})
+    IO CInt
+
+{- |
+Returns whether the child is currently
+revealed. See 'GI.Gtk.Objects.Revealer.revealerSetRevealChild'.
+
+This function returns 'True' as soon as the transition
+is to the revealed state is started. To learn whether
+the child is fully revealed (ie the transition is completed),
+use 'GI.Gtk.Objects.Revealer.revealerGetChildRevealed'.
+
+/Since: 3.10/
+-}
+revealerGetRevealChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRevealer a) =>
+    a
+    {- ^ /@revealer@/: a 'GI.Gtk.Objects.Revealer.Revealer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the child is revealed. -}
+revealerGetRevealChild revealer = liftIO $ do
+    revealer' <- unsafeManagedPtrCastPtr revealer
+    result <- gtk_revealer_get_reveal_child revealer'
+    let result' = (/= 0) result
+    touchManagedPtr revealer
+    return result'
+
+#if ENABLE_OVERLOADING
+data RevealerGetRevealChildMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsRevealer a) => O.MethodInfo RevealerGetRevealChildMethodInfo a signature where
+    overloadedMethod _ = revealerGetRevealChild
+
+#endif
+
+-- method Revealer::get_transition_duration
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "revealer", argType = TInterface (Name {namespace = "Gtk", name = "Revealer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRevealer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_revealer_get_transition_duration" gtk_revealer_get_transition_duration :: 
+    Ptr Revealer ->                         -- revealer : TInterface (Name {namespace = "Gtk", name = "Revealer"})
+    IO Word32
+
+{- |
+Returns the amount of time (in milliseconds) that
+transitions will take.
+
+/Since: 3.10/
+-}
+revealerGetTransitionDuration ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRevealer a) =>
+    a
+    {- ^ /@revealer@/: a 'GI.Gtk.Objects.Revealer.Revealer' -}
+    -> m Word32
+    {- ^ __Returns:__ the transition duration -}
+revealerGetTransitionDuration revealer = liftIO $ do
+    revealer' <- unsafeManagedPtrCastPtr revealer
+    result <- gtk_revealer_get_transition_duration revealer'
+    touchManagedPtr revealer
+    return result
+
+#if ENABLE_OVERLOADING
+data RevealerGetTransitionDurationMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsRevealer a) => O.MethodInfo RevealerGetTransitionDurationMethodInfo a signature where
+    overloadedMethod _ = revealerGetTransitionDuration
+
+#endif
+
+-- method Revealer::get_transition_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "revealer", argType = TInterface (Name {namespace = "Gtk", name = "Revealer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRevealer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RevealerTransitionType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_revealer_get_transition_type" gtk_revealer_get_transition_type :: 
+    Ptr Revealer ->                         -- revealer : TInterface (Name {namespace = "Gtk", name = "Revealer"})
+    IO CUInt
+
+{- |
+Gets the type of animation that will be used
+for transitions in /@revealer@/.
+
+/Since: 3.10/
+-}
+revealerGetTransitionType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRevealer a) =>
+    a
+    {- ^ /@revealer@/: a 'GI.Gtk.Objects.Revealer.Revealer' -}
+    -> m Gtk.Enums.RevealerTransitionType
+    {- ^ __Returns:__ the current transition type of /@revealer@/ -}
+revealerGetTransitionType revealer = liftIO $ do
+    revealer' <- unsafeManagedPtrCastPtr revealer
+    result <- gtk_revealer_get_transition_type revealer'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr revealer
+    return result'
+
+#if ENABLE_OVERLOADING
+data RevealerGetTransitionTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.RevealerTransitionType), MonadIO m, IsRevealer a) => O.MethodInfo RevealerGetTransitionTypeMethodInfo a signature where
+    overloadedMethod _ = revealerGetTransitionType
+
+#endif
+
+-- method Revealer::set_reveal_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "revealer", argType = TInterface (Name {namespace = "Gtk", name = "Revealer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRevealer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reveal_child", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to reveal the child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_revealer_set_reveal_child" gtk_revealer_set_reveal_child :: 
+    Ptr Revealer ->                         -- revealer : TInterface (Name {namespace = "Gtk", name = "Revealer"})
+    CInt ->                                 -- reveal_child : TBasicType TBoolean
+    IO ()
+
+{- |
+Tells the 'GI.Gtk.Objects.Revealer.Revealer' to reveal or conceal its child.
+
+The transition will be animated with the current
+transition type of /@revealer@/.
+
+/Since: 3.10/
+-}
+revealerSetRevealChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRevealer a) =>
+    a
+    {- ^ /@revealer@/: a 'GI.Gtk.Objects.Revealer.Revealer' -}
+    -> Bool
+    {- ^ /@revealChild@/: 'True' to reveal the child -}
+    -> m ()
+revealerSetRevealChild revealer revealChild = liftIO $ do
+    revealer' <- unsafeManagedPtrCastPtr revealer
+    let revealChild' = (fromIntegral . fromEnum) revealChild
+    gtk_revealer_set_reveal_child revealer' revealChild'
+    touchManagedPtr revealer
+    return ()
+
+#if ENABLE_OVERLOADING
+data RevealerSetRevealChildMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsRevealer a) => O.MethodInfo RevealerSetRevealChildMethodInfo a signature where
+    overloadedMethod _ = revealerSetRevealChild
+
+#endif
+
+-- method Revealer::set_transition_duration
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "revealer", argType = TInterface (Name {namespace = "Gtk", name = "Revealer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRevealer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new duration, in milliseconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_revealer_set_transition_duration" gtk_revealer_set_transition_duration :: 
+    Ptr Revealer ->                         -- revealer : TInterface (Name {namespace = "Gtk", name = "Revealer"})
+    Word32 ->                               -- duration : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the duration that transitions will take.
+
+/Since: 3.10/
+-}
+revealerSetTransitionDuration ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRevealer a) =>
+    a
+    {- ^ /@revealer@/: a 'GI.Gtk.Objects.Revealer.Revealer' -}
+    -> Word32
+    {- ^ /@duration@/: the new duration, in milliseconds -}
+    -> m ()
+revealerSetTransitionDuration revealer duration = liftIO $ do
+    revealer' <- unsafeManagedPtrCastPtr revealer
+    gtk_revealer_set_transition_duration revealer' duration
+    touchManagedPtr revealer
+    return ()
+
+#if ENABLE_OVERLOADING
+data RevealerSetTransitionDurationMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsRevealer a) => O.MethodInfo RevealerSetTransitionDurationMethodInfo a signature where
+    overloadedMethod _ = revealerSetTransitionDuration
+
+#endif
+
+-- method Revealer::set_transition_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "revealer", argType = TInterface (Name {namespace = "Gtk", name = "Revealer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRevealer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transition", argType = TInterface (Name {namespace = "Gtk", name = "RevealerTransitionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new transition type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_revealer_set_transition_type" gtk_revealer_set_transition_type :: 
+    Ptr Revealer ->                         -- revealer : TInterface (Name {namespace = "Gtk", name = "Revealer"})
+    CUInt ->                                -- transition : TInterface (Name {namespace = "Gtk", name = "RevealerTransitionType"})
+    IO ()
+
+{- |
+Sets the type of animation that will be used for
+transitions in /@revealer@/. Available types include
+various kinds of fades and slides.
+
+/Since: 3.10/
+-}
+revealerSetTransitionType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsRevealer a) =>
+    a
+    {- ^ /@revealer@/: a 'GI.Gtk.Objects.Revealer.Revealer' -}
+    -> Gtk.Enums.RevealerTransitionType
+    {- ^ /@transition@/: the new transition type -}
+    -> m ()
+revealerSetTransitionType revealer transition = liftIO $ do
+    revealer' <- unsafeManagedPtrCastPtr revealer
+    let transition' = (fromIntegral . fromEnum) transition
+    gtk_revealer_set_transition_type revealer' transition'
+    touchManagedPtr revealer
+    return ()
+
+#if ENABLE_OVERLOADING
+data RevealerSetTransitionTypeMethodInfo
+instance (signature ~ (Gtk.Enums.RevealerTransitionType -> m ()), MonadIO m, IsRevealer a) => O.MethodInfo RevealerSetTransitionTypeMethodInfo a signature where
+    overloadedMethod _ = revealerSetTransitionType
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Revealer.hs-boot b/GI/Gtk/Objects/Revealer.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Revealer.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Revealer where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Revealer = Revealer (ManagedPtr Revealer)
+instance GObject Revealer where
+class (GObject o, O.IsDescendantOf Revealer o) => IsRevealer o
+instance (GObject o, O.IsDescendantOf Revealer o) => IsRevealer o
+instance O.HasParentTypes Revealer
+#if ENABLE_OVERLOADING
+data RevealerChildRevealedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerRevealChildPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerTransitionDurationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerTransitionTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerGetChildRevealedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerGetRevealChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerGetTransitionDurationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerGetTransitionTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerSetRevealChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerSetTransitionDurationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RevealerSetTransitionTypeMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Scale.hs b/GI/Gtk/Objects/Scale.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Scale.hs
@@ -0,0 +1,1591 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkScale is a slider control used to select a numeric value.
+To use it, you’ll probably want to investigate the methods on
+its base class, 'GI.Gtk.Objects.Range.Range', in addition to the methods for GtkScale itself.
+To set the value of a scale, you would normally use 'GI.Gtk.Objects.Range.rangeSetValue'.
+To detect changes to the value, you would normally use the
+'GI.Gtk.Objects.Range.Range'::@/value-changed/@ signal.
+
+Note that using the same upper and lower bounds for the 'GI.Gtk.Objects.Scale.Scale' (through
+the 'GI.Gtk.Objects.Range.Range' methods) will hide the slider itself. This is useful for
+applications that want to show an undeterminate value on the scale, without
+changing the layout of the application (such as movie or music players).
+
+= GtkScale as GtkBuildable
+
+GtkScale supports a custom \<marks> element, which can contain multiple
+\<mark> elements. The “value” and “position” attributes have the same
+meaning as 'GI.Gtk.Objects.Scale.scaleAddMark' parameters of the same name. If the
+element is not empty, its content is taken as the markup to show at
+the mark. It can be translated with the usual ”translatable” and
+“context” attributes.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>scale[.fine-tune][.marks-before][.marks-after]
+>├── marks.top
+>│   ├── mark
+>│   ┊    ├── [label]
+>│   ┊    ╰── indicator
+>┊   ┊
+>│   ╰── mark
+>├── [value]
+>├── contents
+>│   ╰── trough
+>│       ├── slider
+>│       ├── [highlight]
+>│       ╰── [fill]
+>╰── marks.bottom
+>    ├── mark
+>    ┊    ├── indicator
+>    ┊    ╰── [label]
+>    ╰── mark
+
+
+GtkScale has a main CSS node with name scale and a subnode for its contents,
+with subnodes named trough and slider.
+
+The main node gets the style class .fine-tune added when the scale is in
+\'fine-tuning\' mode.
+
+If the scale has an origin (see 'GI.Gtk.Objects.Scale.scaleSetHasOrigin'), there is a
+subnode with name highlight below the trough node that is used for rendering
+the highlighted part of the trough.
+
+If the scale is showing a fill level (see 'GI.Gtk.Objects.Range.rangeSetShowFillLevel'),
+there is a subnode with name fill below the trough node that is used for
+rendering the filled in part of the trough.
+
+If marks are present, there is a marks subnode before or after the contents
+node, below which each mark gets a node with name mark. The marks nodes get
+either the .top or .bottom style class.
+
+The mark node has a subnode named indicator. If the mark has text, it also
+has a subnode named label. When the mark is either above or left of the
+scale, the label subnode is the first when present. Otherwise, the indicator
+subnode is the first.
+
+The main CSS node gets the \'marks-before\' and\/or \'marks-after\' style classes
+added depending on what marks are present.
+
+If the scale is displaying the value (see 'GI.Gtk.Objects.Scale.Scale':@/draw-value/@), there is
+subnode with name value.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Scale
+    ( 
+
+-- * Exported types
+    Scale(..)                               ,
+    IsScale                                 ,
+    toScale                                 ,
+    noScale                                 ,
+
+
+ -- * Methods
+-- ** addMark #method:addMark#
+
+#if ENABLE_OVERLOADING
+    ScaleAddMarkMethodInfo                  ,
+#endif
+    scaleAddMark                            ,
+
+
+-- ** clearMarks #method:clearMarks#
+
+#if ENABLE_OVERLOADING
+    ScaleClearMarksMethodInfo               ,
+#endif
+    scaleClearMarks                         ,
+
+
+-- ** getDigits #method:getDigits#
+
+#if ENABLE_OVERLOADING
+    ScaleGetDigitsMethodInfo                ,
+#endif
+    scaleGetDigits                          ,
+
+
+-- ** getDrawValue #method:getDrawValue#
+
+#if ENABLE_OVERLOADING
+    ScaleGetDrawValueMethodInfo             ,
+#endif
+    scaleGetDrawValue                       ,
+
+
+-- ** getHasOrigin #method:getHasOrigin#
+
+#if ENABLE_OVERLOADING
+    ScaleGetHasOriginMethodInfo             ,
+#endif
+    scaleGetHasOrigin                       ,
+
+
+-- ** getLayout #method:getLayout#
+
+#if ENABLE_OVERLOADING
+    ScaleGetLayoutMethodInfo                ,
+#endif
+    scaleGetLayout                          ,
+
+
+-- ** getLayoutOffsets #method:getLayoutOffsets#
+
+#if ENABLE_OVERLOADING
+    ScaleGetLayoutOffsetsMethodInfo         ,
+#endif
+    scaleGetLayoutOffsets                   ,
+
+
+-- ** getValuePos #method:getValuePos#
+
+#if ENABLE_OVERLOADING
+    ScaleGetValuePosMethodInfo              ,
+#endif
+    scaleGetValuePos                        ,
+
+
+-- ** new #method:new#
+
+    scaleNew                                ,
+
+
+-- ** newWithRange #method:newWithRange#
+
+    scaleNewWithRange                       ,
+
+
+-- ** setDigits #method:setDigits#
+
+#if ENABLE_OVERLOADING
+    ScaleSetDigitsMethodInfo                ,
+#endif
+    scaleSetDigits                          ,
+
+
+-- ** setDrawValue #method:setDrawValue#
+
+#if ENABLE_OVERLOADING
+    ScaleSetDrawValueMethodInfo             ,
+#endif
+    scaleSetDrawValue                       ,
+
+
+-- ** setHasOrigin #method:setHasOrigin#
+
+#if ENABLE_OVERLOADING
+    ScaleSetHasOriginMethodInfo             ,
+#endif
+    scaleSetHasOrigin                       ,
+
+
+-- ** setValuePos #method:setValuePos#
+
+#if ENABLE_OVERLOADING
+    ScaleSetValuePosMethodInfo              ,
+#endif
+    scaleSetValuePos                        ,
+
+
+
+
+ -- * Properties
+-- ** digits #attr:digits#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScaleDigitsPropertyInfo                 ,
+#endif
+    constructScaleDigits                    ,
+    getScaleDigits                          ,
+#if ENABLE_OVERLOADING
+    scaleDigits                             ,
+#endif
+    setScaleDigits                          ,
+
+
+-- ** drawValue #attr:drawValue#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScaleDrawValuePropertyInfo              ,
+#endif
+    constructScaleDrawValue                 ,
+    getScaleDrawValue                       ,
+#if ENABLE_OVERLOADING
+    scaleDrawValue                          ,
+#endif
+    setScaleDrawValue                       ,
+
+
+-- ** hasOrigin #attr:hasOrigin#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScaleHasOriginPropertyInfo              ,
+#endif
+    constructScaleHasOrigin                 ,
+    getScaleHasOrigin                       ,
+#if ENABLE_OVERLOADING
+    scaleHasOrigin                          ,
+#endif
+    setScaleHasOrigin                       ,
+
+
+-- ** valuePos #attr:valuePos#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScaleValuePosPropertyInfo               ,
+#endif
+    constructScaleValuePos                  ,
+    getScaleValuePos                        ,
+#if ENABLE_OVERLOADING
+    scaleValuePos                           ,
+#endif
+    setScaleValuePos                        ,
+
+
+
+
+ -- * Signals
+-- ** formatValue #signal:formatValue#
+
+    C_ScaleFormatValueCallback              ,
+    ScaleFormatValueCallback                ,
+#if ENABLE_OVERLOADING
+    ScaleFormatValueSignalInfo              ,
+#endif
+    afterScaleFormatValue                   ,
+    genClosure_ScaleFormatValue             ,
+    mk_ScaleFormatValueCallback             ,
+    noScaleFormatValueCallback              ,
+    onScaleFormatValue                      ,
+    wrap_ScaleFormatValueCallback           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Range as Gtk.Range
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import qualified GI.Pango.Objects.Layout as Pango.Layout
+
+-- | Memory-managed wrapper type.
+newtype Scale = Scale (ManagedPtr Scale)
+foreign import ccall "gtk_scale_get_type"
+    c_gtk_scale_get_type :: IO GType
+
+instance GObject Scale where
+    gobjectType = c_gtk_scale_get_type
+    
+
+-- | Type class for types which can be safely cast to `Scale`, for instance with `toScale`.
+class (GObject o, O.IsDescendantOf Scale o) => IsScale o
+instance (GObject o, O.IsDescendantOf Scale o) => IsScale o
+
+instance O.HasParentTypes Scale
+type instance O.ParentTypes Scale = '[Gtk.Range.Range, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `Scale`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toScale :: (MonadIO m, IsScale o) => o -> m Scale
+toScale = liftIO . unsafeCastTo Scale
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Scale`.
+noScale :: Maybe Scale
+noScale = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveScaleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScaleMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveScaleMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveScaleMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveScaleMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveScaleMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveScaleMethod "addMark" o = ScaleAddMarkMethodInfo
+    ResolveScaleMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveScaleMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveScaleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveScaleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveScaleMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveScaleMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveScaleMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveScaleMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveScaleMethod "clearMarks" o = ScaleClearMarksMethodInfo
+    ResolveScaleMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveScaleMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveScaleMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveScaleMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveScaleMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveScaleMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveScaleMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveScaleMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveScaleMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveScaleMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveScaleMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveScaleMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveScaleMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveScaleMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveScaleMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveScaleMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveScaleMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveScaleMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveScaleMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveScaleMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveScaleMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveScaleMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveScaleMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveScaleMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveScaleMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveScaleMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveScaleMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveScaleMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveScaleMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveScaleMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveScaleMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveScaleMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveScaleMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveScaleMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveScaleMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveScaleMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveScaleMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveScaleMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveScaleMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveScaleMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveScaleMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveScaleMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveScaleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveScaleMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveScaleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveScaleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveScaleMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveScaleMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveScaleMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveScaleMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveScaleMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveScaleMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveScaleMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveScaleMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveScaleMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveScaleMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveScaleMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveScaleMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveScaleMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveScaleMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveScaleMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveScaleMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveScaleMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveScaleMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveScaleMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveScaleMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveScaleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveScaleMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveScaleMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveScaleMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveScaleMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveScaleMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveScaleMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveScaleMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveScaleMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveScaleMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveScaleMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveScaleMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveScaleMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveScaleMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveScaleMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveScaleMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveScaleMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveScaleMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveScaleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveScaleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveScaleMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveScaleMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveScaleMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveScaleMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveScaleMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveScaleMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveScaleMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveScaleMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveScaleMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveScaleMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveScaleMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveScaleMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveScaleMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveScaleMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveScaleMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveScaleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveScaleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveScaleMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveScaleMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveScaleMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveScaleMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveScaleMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveScaleMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveScaleMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveScaleMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveScaleMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveScaleMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveScaleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveScaleMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveScaleMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveScaleMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveScaleMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveScaleMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveScaleMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveScaleMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveScaleMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveScaleMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveScaleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveScaleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveScaleMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveScaleMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveScaleMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveScaleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveScaleMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveScaleMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveScaleMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveScaleMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveScaleMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveScaleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveScaleMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveScaleMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveScaleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveScaleMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveScaleMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveScaleMethod "getAdjustment" o = Gtk.Range.RangeGetAdjustmentMethodInfo
+    ResolveScaleMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveScaleMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveScaleMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveScaleMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveScaleMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveScaleMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveScaleMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveScaleMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveScaleMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveScaleMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveScaleMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveScaleMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveScaleMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveScaleMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveScaleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveScaleMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveScaleMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveScaleMethod "getDigits" o = ScaleGetDigitsMethodInfo
+    ResolveScaleMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveScaleMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveScaleMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveScaleMethod "getDrawValue" o = ScaleGetDrawValueMethodInfo
+    ResolveScaleMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveScaleMethod "getFillLevel" o = Gtk.Range.RangeGetFillLevelMethodInfo
+    ResolveScaleMethod "getFlippable" o = Gtk.Range.RangeGetFlippableMethodInfo
+    ResolveScaleMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveScaleMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveScaleMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveScaleMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveScaleMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveScaleMethod "getHasOrigin" o = ScaleGetHasOriginMethodInfo
+    ResolveScaleMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveScaleMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveScaleMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveScaleMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveScaleMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveScaleMethod "getInverted" o = Gtk.Range.RangeGetInvertedMethodInfo
+    ResolveScaleMethod "getLayout" o = ScaleGetLayoutMethodInfo
+    ResolveScaleMethod "getLayoutOffsets" o = ScaleGetLayoutOffsetsMethodInfo
+    ResolveScaleMethod "getLowerStepperSensitivity" o = Gtk.Range.RangeGetLowerStepperSensitivityMethodInfo
+    ResolveScaleMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveScaleMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveScaleMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveScaleMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveScaleMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveScaleMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveScaleMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveScaleMethod "getMinSliderSize" o = Gtk.Range.RangeGetMinSliderSizeMethodInfo
+    ResolveScaleMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveScaleMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveScaleMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveScaleMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveScaleMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveScaleMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveScaleMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveScaleMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveScaleMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveScaleMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveScaleMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveScaleMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveScaleMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveScaleMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveScaleMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveScaleMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveScaleMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveScaleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveScaleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveScaleMethod "getRangeRect" o = Gtk.Range.RangeGetRangeRectMethodInfo
+    ResolveScaleMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveScaleMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveScaleMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveScaleMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveScaleMethod "getRestrictToFillLevel" o = Gtk.Range.RangeGetRestrictToFillLevelMethodInfo
+    ResolveScaleMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveScaleMethod "getRoundDigits" o = Gtk.Range.RangeGetRoundDigitsMethodInfo
+    ResolveScaleMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveScaleMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveScaleMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveScaleMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveScaleMethod "getShowFillLevel" o = Gtk.Range.RangeGetShowFillLevelMethodInfo
+    ResolveScaleMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveScaleMethod "getSliderRange" o = Gtk.Range.RangeGetSliderRangeMethodInfo
+    ResolveScaleMethod "getSliderSizeFixed" o = Gtk.Range.RangeGetSliderSizeFixedMethodInfo
+    ResolveScaleMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveScaleMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveScaleMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveScaleMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveScaleMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveScaleMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveScaleMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveScaleMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveScaleMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveScaleMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveScaleMethod "getUpperStepperSensitivity" o = Gtk.Range.RangeGetUpperStepperSensitivityMethodInfo
+    ResolveScaleMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveScaleMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveScaleMethod "getValue" o = Gtk.Range.RangeGetValueMethodInfo
+    ResolveScaleMethod "getValuePos" o = ScaleGetValuePosMethodInfo
+    ResolveScaleMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveScaleMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveScaleMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveScaleMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveScaleMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveScaleMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveScaleMethod "setAdjustment" o = Gtk.Range.RangeSetAdjustmentMethodInfo
+    ResolveScaleMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveScaleMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveScaleMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveScaleMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveScaleMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveScaleMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveScaleMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveScaleMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveScaleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveScaleMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveScaleMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveScaleMethod "setDigits" o = ScaleSetDigitsMethodInfo
+    ResolveScaleMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveScaleMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveScaleMethod "setDrawValue" o = ScaleSetDrawValueMethodInfo
+    ResolveScaleMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveScaleMethod "setFillLevel" o = Gtk.Range.RangeSetFillLevelMethodInfo
+    ResolveScaleMethod "setFlippable" o = Gtk.Range.RangeSetFlippableMethodInfo
+    ResolveScaleMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveScaleMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveScaleMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveScaleMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveScaleMethod "setHasOrigin" o = ScaleSetHasOriginMethodInfo
+    ResolveScaleMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveScaleMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveScaleMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveScaleMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveScaleMethod "setIncrements" o = Gtk.Range.RangeSetIncrementsMethodInfo
+    ResolveScaleMethod "setInverted" o = Gtk.Range.RangeSetInvertedMethodInfo
+    ResolveScaleMethod "setLowerStepperSensitivity" o = Gtk.Range.RangeSetLowerStepperSensitivityMethodInfo
+    ResolveScaleMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveScaleMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveScaleMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveScaleMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveScaleMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveScaleMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveScaleMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveScaleMethod "setMinSliderSize" o = Gtk.Range.RangeSetMinSliderSizeMethodInfo
+    ResolveScaleMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveScaleMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveScaleMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveScaleMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveScaleMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveScaleMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveScaleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveScaleMethod "setRange" o = Gtk.Range.RangeSetRangeMethodInfo
+    ResolveScaleMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveScaleMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveScaleMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveScaleMethod "setRestrictToFillLevel" o = Gtk.Range.RangeSetRestrictToFillLevelMethodInfo
+    ResolveScaleMethod "setRoundDigits" o = Gtk.Range.RangeSetRoundDigitsMethodInfo
+    ResolveScaleMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveScaleMethod "setShowFillLevel" o = Gtk.Range.RangeSetShowFillLevelMethodInfo
+    ResolveScaleMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveScaleMethod "setSliderSizeFixed" o = Gtk.Range.RangeSetSliderSizeFixedMethodInfo
+    ResolveScaleMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveScaleMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveScaleMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveScaleMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveScaleMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveScaleMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveScaleMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveScaleMethod "setUpperStepperSensitivity" o = Gtk.Range.RangeSetUpperStepperSensitivityMethodInfo
+    ResolveScaleMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveScaleMethod "setValue" o = Gtk.Range.RangeSetValueMethodInfo
+    ResolveScaleMethod "setValuePos" o = ScaleSetValuePosMethodInfo
+    ResolveScaleMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveScaleMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveScaleMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveScaleMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveScaleMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveScaleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveScaleMethod t Scale, O.MethodInfo info Scale p) => OL.IsLabel t (Scale -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Scale::format-value
+{- |
+Signal which allows you to change how the scale value is displayed.
+Connect a signal handler which returns an allocated string representing
+/@value@/. That string will then be used to display the scale\'s value.
+
+If no user-provided handlers are installed, the value will be displayed on
+its own, rounded according to the value of the 'GI.Gtk.Objects.Scale.Scale':@/digits/@ property.
+
+Here\'s an example signal handler which displays a value 1.0 as
+with \"-->1.0\<--\".
+
+=== /C code/
+>
+>static gchar*
+>format_value_callback (GtkScale *scale,
+>                       gdouble   value)
+>{
+>  return g_strdup_printf ("-->\%0.*g<--",
+>                          gtk_scale_get_digits (scale), value);
+> }
+-}
+type ScaleFormatValueCallback =
+    Double
+    {- ^ /@value@/: the value to format -}
+    -> IO T.Text
+    {- ^ __Returns:__ allocated string representing /@value@/ -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ScaleFormatValueCallback`@.
+noScaleFormatValueCallback :: Maybe ScaleFormatValueCallback
+noScaleFormatValueCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ScaleFormatValueCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO CString
+
+-- | Generate a function pointer callable from C code, from a `C_ScaleFormatValueCallback`.
+foreign import ccall "wrapper"
+    mk_ScaleFormatValueCallback :: C_ScaleFormatValueCallback -> IO (FunPtr C_ScaleFormatValueCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ScaleFormatValue :: MonadIO m => ScaleFormatValueCallback -> m (GClosure C_ScaleFormatValueCallback)
+genClosure_ScaleFormatValue cb = liftIO $ do
+    let cb' = wrap_ScaleFormatValueCallback cb
+    mk_ScaleFormatValueCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ScaleFormatValueCallback` into a `C_ScaleFormatValueCallback`.
+wrap_ScaleFormatValueCallback ::
+    ScaleFormatValueCallback ->
+    C_ScaleFormatValueCallback
+wrap_ScaleFormatValueCallback _cb _ value _ = do
+    let value' = realToFrac value
+    result <- _cb  value'
+    result' <- textToCString result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@format-value@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' scale #formatValue callback
+@
+-}
+onScaleFormatValue :: (IsScale a, MonadIO m) => a -> ScaleFormatValueCallback -> m SignalHandlerId
+onScaleFormatValue obj cb = liftIO $ do
+    let cb' = wrap_ScaleFormatValueCallback cb
+    cb'' <- mk_ScaleFormatValueCallback cb'
+    connectSignalFunPtr obj "format-value" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@format-value@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' scale #formatValue callback
+@
+-}
+afterScaleFormatValue :: (IsScale a, MonadIO m) => a -> ScaleFormatValueCallback -> m SignalHandlerId
+afterScaleFormatValue obj cb = liftIO $ do
+    let cb' = wrap_ScaleFormatValueCallback cb
+    cb'' <- mk_ScaleFormatValueCallback cb'
+    connectSignalFunPtr obj "format-value" cb'' SignalConnectAfter
+
+
+-- VVV Prop "digits"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@digits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scale #digits
+@
+-}
+getScaleDigits :: (MonadIO m, IsScale o) => o -> m Int32
+getScaleDigits obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "digits"
+
+{- |
+Set the value of the “@digits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scale [ #digits 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScaleDigits :: (MonadIO m, IsScale o) => o -> Int32 -> m ()
+setScaleDigits obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "digits" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@digits@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScaleDigits :: (IsScale o) => Int32 -> IO (GValueConstruct o)
+constructScaleDigits val = B.Properties.constructObjectPropertyInt32 "digits" val
+
+#if ENABLE_OVERLOADING
+data ScaleDigitsPropertyInfo
+instance AttrInfo ScaleDigitsPropertyInfo where
+    type AttrAllowedOps ScaleDigitsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScaleDigitsPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ScaleDigitsPropertyInfo = IsScale
+    type AttrGetType ScaleDigitsPropertyInfo = Int32
+    type AttrLabel ScaleDigitsPropertyInfo = "digits"
+    type AttrOrigin ScaleDigitsPropertyInfo = Scale
+    attrGet _ = getScaleDigits
+    attrSet _ = setScaleDigits
+    attrConstruct _ = constructScaleDigits
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "draw-value"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@draw-value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scale #drawValue
+@
+-}
+getScaleDrawValue :: (MonadIO m, IsScale o) => o -> m Bool
+getScaleDrawValue obj = liftIO $ B.Properties.getObjectPropertyBool obj "draw-value"
+
+{- |
+Set the value of the “@draw-value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scale [ #drawValue 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScaleDrawValue :: (MonadIO m, IsScale o) => o -> Bool -> m ()
+setScaleDrawValue obj val = liftIO $ B.Properties.setObjectPropertyBool obj "draw-value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@draw-value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScaleDrawValue :: (IsScale o) => Bool -> IO (GValueConstruct o)
+constructScaleDrawValue val = B.Properties.constructObjectPropertyBool "draw-value" val
+
+#if ENABLE_OVERLOADING
+data ScaleDrawValuePropertyInfo
+instance AttrInfo ScaleDrawValuePropertyInfo where
+    type AttrAllowedOps ScaleDrawValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScaleDrawValuePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ScaleDrawValuePropertyInfo = IsScale
+    type AttrGetType ScaleDrawValuePropertyInfo = Bool
+    type AttrLabel ScaleDrawValuePropertyInfo = "draw-value"
+    type AttrOrigin ScaleDrawValuePropertyInfo = Scale
+    attrGet _ = getScaleDrawValue
+    attrSet _ = setScaleDrawValue
+    attrConstruct _ = constructScaleDrawValue
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-origin"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-origin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scale #hasOrigin
+@
+-}
+getScaleHasOrigin :: (MonadIO m, IsScale o) => o -> m Bool
+getScaleHasOrigin obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-origin"
+
+{- |
+Set the value of the “@has-origin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scale [ #hasOrigin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScaleHasOrigin :: (MonadIO m, IsScale o) => o -> Bool -> m ()
+setScaleHasOrigin obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-origin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-origin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScaleHasOrigin :: (IsScale o) => Bool -> IO (GValueConstruct o)
+constructScaleHasOrigin val = B.Properties.constructObjectPropertyBool "has-origin" val
+
+#if ENABLE_OVERLOADING
+data ScaleHasOriginPropertyInfo
+instance AttrInfo ScaleHasOriginPropertyInfo where
+    type AttrAllowedOps ScaleHasOriginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScaleHasOriginPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ScaleHasOriginPropertyInfo = IsScale
+    type AttrGetType ScaleHasOriginPropertyInfo = Bool
+    type AttrLabel ScaleHasOriginPropertyInfo = "has-origin"
+    type AttrOrigin ScaleHasOriginPropertyInfo = Scale
+    attrGet _ = getScaleHasOrigin
+    attrSet _ = setScaleHasOrigin
+    attrConstruct _ = constructScaleHasOrigin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "value-pos"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PositionType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@value-pos@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scale #valuePos
+@
+-}
+getScaleValuePos :: (MonadIO m, IsScale o) => o -> m Gtk.Enums.PositionType
+getScaleValuePos obj = liftIO $ B.Properties.getObjectPropertyEnum obj "value-pos"
+
+{- |
+Set the value of the “@value-pos@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scale [ #valuePos 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScaleValuePos :: (MonadIO m, IsScale o) => o -> Gtk.Enums.PositionType -> m ()
+setScaleValuePos obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "value-pos" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@value-pos@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScaleValuePos :: (IsScale o) => Gtk.Enums.PositionType -> IO (GValueConstruct o)
+constructScaleValuePos val = B.Properties.constructObjectPropertyEnum "value-pos" val
+
+#if ENABLE_OVERLOADING
+data ScaleValuePosPropertyInfo
+instance AttrInfo ScaleValuePosPropertyInfo where
+    type AttrAllowedOps ScaleValuePosPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScaleValuePosPropertyInfo = (~) Gtk.Enums.PositionType
+    type AttrBaseTypeConstraint ScaleValuePosPropertyInfo = IsScale
+    type AttrGetType ScaleValuePosPropertyInfo = Gtk.Enums.PositionType
+    type AttrLabel ScaleValuePosPropertyInfo = "value-pos"
+    type AttrOrigin ScaleValuePosPropertyInfo = Scale
+    attrGet _ = getScaleValuePos
+    attrSet _ = setScaleValuePos
+    attrConstruct _ = constructScaleValuePos
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Scale
+type instance O.AttributeList Scale = ScaleAttributeList
+type ScaleAttributeList = ('[ '("adjustment", Gtk.Range.RangeAdjustmentPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("digits", ScaleDigitsPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawValue", ScaleDrawValuePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("fillLevel", Gtk.Range.RangeFillLevelPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasOrigin", ScaleHasOriginPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inverted", Gtk.Range.RangeInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("lowerStepperSensitivity", Gtk.Range.RangeLowerStepperSensitivityPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("restrictToFillLevel", Gtk.Range.RangeRestrictToFillLevelPropertyInfo), '("roundDigits", Gtk.Range.RangeRoundDigitsPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showFillLevel", Gtk.Range.RangeShowFillLevelPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("upperStepperSensitivity", Gtk.Range.RangeUpperStepperSensitivityPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("valuePos", ScaleValuePosPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+scaleDigits :: AttrLabelProxy "digits"
+scaleDigits = AttrLabelProxy
+
+scaleDrawValue :: AttrLabelProxy "drawValue"
+scaleDrawValue = AttrLabelProxy
+
+scaleHasOrigin :: AttrLabelProxy "hasOrigin"
+scaleHasOrigin = AttrLabelProxy
+
+scaleValuePos :: AttrLabelProxy "valuePos"
+scaleValuePos = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ScaleFormatValueSignalInfo
+instance SignalInfo ScaleFormatValueSignalInfo where
+    type HaskellCallbackType ScaleFormatValueSignalInfo = ScaleFormatValueCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ScaleFormatValueCallback cb
+        cb'' <- mk_ScaleFormatValueCallback cb'
+        connectSignalFunPtr obj "format-value" cb'' connectMode
+
+type instance O.SignalList Scale = ScaleSignalList
+type ScaleSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("adjustBounds", Gtk.Range.RangeAdjustBoundsSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeValue", Gtk.Range.RangeChangeValueSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("formatValue", ScaleFormatValueSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveSlider", Gtk.Range.RangeMoveSliderSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", Gtk.Range.RangeValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Scale::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scale\8217s orientation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkAdjustment which sets the range\n             of the scale, or %NULL to create a new adjustment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Scale"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_new" gtk_scale_new :: 
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO (Ptr Scale)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Scale.Scale'.
+
+/Since: 3.0/
+-}
+scaleNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a) =>
+    Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the scale’s orientation. -}
+    -> Maybe (a)
+    {- ^ /@adjustment@/: the 'GI.Gtk.Objects.Adjustment.Adjustment' which sets the range
+             of the scale, or 'Nothing' to create a new adjustment. -}
+    -> m Scale
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Scale.Scale' -}
+scaleNew orientation adjustment = liftIO $ do
+    let orientation' = (fromIntegral . fromEnum) orientation
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    result <- gtk_scale_new orientation' maybeAdjustment
+    checkUnexpectedReturnNULL "scaleNew" result
+    result' <- (newObject Scale) result
+    whenJust adjustment touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Scale::new_with_range
+-- method type : Constructor
+-- Args : [Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scale\8217s orientation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "step increment (tick size) used with keyboard shortcuts", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Scale"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_new_with_range" gtk_scale_new_with_range :: 
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    CDouble ->                              -- min : TBasicType TDouble
+    CDouble ->                              -- max : TBasicType TDouble
+    CDouble ->                              -- step : TBasicType TDouble
+    IO (Ptr Scale)
+
+{- |
+Creates a new scale widget with the given orientation that lets the
+user input a number between /@min@/ and /@max@/ (including /@min@/ and /@max@/)
+with the increment /@step@/.  /@step@/ must be nonzero; it’s the distance
+the slider moves when using the arrow keys to adjust the scale
+value.
+
+Note that the way in which the precision is derived works best if /@step@/
+is a power of ten. If the resulting precision is not suitable for your
+needs, use 'GI.Gtk.Objects.Scale.scaleSetDigits' to correct it.
+
+/Since: 3.0/
+-}
+scaleNewWithRange ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the scale’s orientation. -}
+    -> Double
+    {- ^ /@min@/: minimum value -}
+    -> Double
+    {- ^ /@max@/: maximum value -}
+    -> Double
+    {- ^ /@step@/: step increment (tick size) used with keyboard shortcuts -}
+    -> m Scale
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Scale.Scale' -}
+scaleNewWithRange orientation min max step = liftIO $ do
+    let orientation' = (fromIntegral . fromEnum) orientation
+    let min' = realToFrac min
+    let max' = realToFrac max
+    let step' = realToFrac step
+    result <- gtk_scale_new_with_range orientation' min' max' step'
+    checkUnexpectedReturnNULL "scaleNewWithRange" result
+    result' <- (newObject Scale) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Scale::add_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value at which the mark is placed, must be between\n  the lower and upper limits of the scales\8217 adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "where to draw the mark. For a horizontal scale, #GTK_POS_TOP\n  and %GTK_POS_LEFT are drawn above the scale, anything else below.\n  For a vertical scale, #GTK_POS_LEFT and %GTK_POS_TOP are drawn to\n  the left of the scale, anything else to the right.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Text to be shown at the mark, using [Pango markup][PangoMarkupFormat], or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_add_mark" gtk_scale_add_mark :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    CDouble ->                              -- value : TBasicType TDouble
+    CUInt ->                                -- position : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    CString ->                              -- markup : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a mark at /@value@/.
+
+A mark is indicated visually by drawing a tick mark next to the scale,
+and GTK+ makes it easy for the user to position the scale exactly at the
+marks value.
+
+If /@markup@/ is not 'Nothing', text is shown next to the tick mark.
+
+To remove marks from a scale, use 'GI.Gtk.Objects.Scale.scaleClearMarks'.
+
+/Since: 2.16/
+-}
+scaleAddMark ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> Double
+    {- ^ /@value@/: the value at which the mark is placed, must be between
+  the lower and upper limits of the scales’ adjustment -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@position@/: where to draw the mark. For a horizontal scale, @/GTK_POS_TOP/@
+  and 'GI.Gtk.Enums.PositionTypeLeft' are drawn above the scale, anything else below.
+  For a vertical scale, @/GTK_POS_LEFT/@ and 'GI.Gtk.Enums.PositionTypeTop' are drawn to
+  the left of the scale, anything else to the right. -}
+    -> Maybe (T.Text)
+    {- ^ /@markup@/: Text to be shown at the mark, using [Pango markup][PangoMarkupFormat], or 'Nothing' -}
+    -> m ()
+scaleAddMark scale value position markup = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    let value' = realToFrac value
+    let position' = (fromIntegral . fromEnum) position
+    maybeMarkup <- case markup of
+        Nothing -> return nullPtr
+        Just jMarkup -> do
+            jMarkup' <- textToCString jMarkup
+            return jMarkup'
+    gtk_scale_add_mark scale' value' position' maybeMarkup
+    touchManagedPtr scale
+    freeMem maybeMarkup
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScaleAddMarkMethodInfo
+instance (signature ~ (Double -> Gtk.Enums.PositionType -> Maybe (T.Text) -> m ()), MonadIO m, IsScale a) => O.MethodInfo ScaleAddMarkMethodInfo a signature where
+    overloadedMethod _ = scaleAddMark
+
+#endif
+
+-- method Scale::clear_marks
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_clear_marks" gtk_scale_clear_marks :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    IO ()
+
+{- |
+Removes any marks that have been added with 'GI.Gtk.Objects.Scale.scaleAddMark'.
+
+/Since: 2.16/
+-}
+scaleClearMarks ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> m ()
+scaleClearMarks scale = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    gtk_scale_clear_marks scale'
+    touchManagedPtr scale
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScaleClearMarksMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsScale a) => O.MethodInfo ScaleClearMarksMethodInfo a signature where
+    overloadedMethod _ = scaleClearMarks
+
+#endif
+
+-- method Scale::get_digits
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_get_digits" gtk_scale_get_digits :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    IO Int32
+
+{- |
+Gets the number of decimal places that are displayed in the value.
+-}
+scaleGetDigits ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of decimal places that are displayed -}
+scaleGetDigits scale = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    result <- gtk_scale_get_digits scale'
+    touchManagedPtr scale
+    return result
+
+#if ENABLE_OVERLOADING
+data ScaleGetDigitsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsScale a) => O.MethodInfo ScaleGetDigitsMethodInfo a signature where
+    overloadedMethod _ = scaleGetDigits
+
+#endif
+
+-- method Scale::get_draw_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_get_draw_value" gtk_scale_get_draw_value :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    IO CInt
+
+{- |
+Returns whether the current value is displayed as a string
+next to the slider.
+-}
+scaleGetDrawValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the current value is displayed as a string -}
+scaleGetDrawValue scale = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    result <- gtk_scale_get_draw_value scale'
+    let result' = (/= 0) result
+    touchManagedPtr scale
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScaleGetDrawValueMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsScale a) => O.MethodInfo ScaleGetDrawValueMethodInfo a signature where
+    overloadedMethod _ = scaleGetDrawValue
+
+#endif
+
+-- method Scale::get_has_origin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_get_has_origin" gtk_scale_get_has_origin :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    IO CInt
+
+{- |
+Returns whether the scale has an origin.
+
+/Since: 3.4/
+-}
+scaleGetHasOrigin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the scale has an origin. -}
+scaleGetHasOrigin scale = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    result <- gtk_scale_get_has_origin scale'
+    let result' = (/= 0) result
+    touchManagedPtr scale
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScaleGetHasOriginMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsScale a) => O.MethodInfo ScaleGetHasOriginMethodInfo a signature where
+    overloadedMethod _ = scaleGetHasOrigin
+
+#endif
+
+-- method Scale::get_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Layout"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_get_layout" gtk_scale_get_layout :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    IO (Ptr Pango.Layout.Layout)
+
+{- |
+Gets the 'GI.Pango.Objects.Layout.Layout' used to display the scale. The returned
+object is owned by the scale so does not need to be freed by
+the caller.
+
+/Since: 2.4/
+-}
+scaleGetLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: A 'GI.Gtk.Objects.Scale.Scale' -}
+    -> m (Maybe Pango.Layout.Layout)
+    {- ^ __Returns:__ the 'GI.Pango.Objects.Layout.Layout' for this scale,
+    or 'Nothing' if the 'GI.Gtk.Objects.Scale.Scale':@/draw-value/@ property is 'False'. -}
+scaleGetLayout scale = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    result <- gtk_scale_get_layout scale'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Pango.Layout.Layout) result'
+        return result''
+    touchManagedPtr scale
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ScaleGetLayoutMethodInfo
+instance (signature ~ (m (Maybe Pango.Layout.Layout)), MonadIO m, IsScale a) => O.MethodInfo ScaleGetLayoutMethodInfo a signature where
+    overloadedMethod _ = scaleGetLayout
+
+#endif
+
+-- method Scale::get_layout_offsets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store X offset of layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store Y offset of layout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_get_layout_offsets" gtk_scale_get_layout_offsets :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    Ptr Int32 ->                            -- x : TBasicType TInt
+    Ptr Int32 ->                            -- y : TBasicType TInt
+    IO ()
+
+{- |
+Obtains the coordinates where the scale will draw the
+'GI.Pango.Objects.Layout.Layout' representing the text in the scale. Remember
+when using the 'GI.Pango.Objects.Layout.Layout' function you need to convert to
+and from pixels using @/PANGO_PIXELS()/@ or 'GI.Pango.Constants.SCALE'.
+
+If the 'GI.Gtk.Objects.Scale.Scale':@/draw-value/@ property is 'False', the return
+values are undefined.
+
+/Since: 2.4/
+-}
+scaleGetLayoutOffsets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> m ((Int32, Int32))
+scaleGetLayoutOffsets scale = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    gtk_scale_get_layout_offsets scale' x y
+    x' <- peek x
+    y' <- peek y
+    touchManagedPtr scale
+    freeMem x
+    freeMem y
+    return (x', y')
+
+#if ENABLE_OVERLOADING
+data ScaleGetLayoutOffsetsMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsScale a) => O.MethodInfo ScaleGetLayoutOffsetsMethodInfo a signature where
+    overloadedMethod _ = scaleGetLayoutOffsets
+
+#endif
+
+-- method Scale::get_value_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PositionType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_get_value_pos" gtk_scale_get_value_pos :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    IO CUInt
+
+{- |
+Gets the position in which the current value is displayed.
+-}
+scaleGetValuePos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> m Gtk.Enums.PositionType
+    {- ^ __Returns:__ the position in which the current value is displayed -}
+scaleGetValuePos scale = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    result <- gtk_scale_get_value_pos scale'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr scale
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScaleGetValuePosMethodInfo
+instance (signature ~ (m Gtk.Enums.PositionType), MonadIO m, IsScale a) => O.MethodInfo ScaleGetValuePosMethodInfo a signature where
+    overloadedMethod _ = scaleGetValuePos
+
+#endif
+
+-- method Scale::set_digits
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "digits", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of decimal places to display,\n    e.g. use 1 to display 1.0, 2 to display 1.00, etc", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_set_digits" gtk_scale_set_digits :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    Int32 ->                                -- digits : TBasicType TInt
+    IO ()
+
+{- |
+Sets the number of decimal places that are displayed in the value. Also
+causes the value of the adjustment to be rounded to this number of digits,
+so the retrieved value matches the displayed one, if 'GI.Gtk.Objects.Scale.Scale':@/draw-value/@ is
+'True' when the value changes. If you want to enforce rounding the value when
+'GI.Gtk.Objects.Scale.Scale':@/draw-value/@ is 'False', you can set 'GI.Gtk.Objects.Range.Range':@/round-digits/@ instead.
+
+Note that rounding to a small number of digits can interfere with
+the smooth autoscrolling that is built into 'GI.Gtk.Objects.Scale.Scale'. As an alternative,
+you can use the 'GI.Gtk.Objects.Scale.Scale'::@/format-value/@ signal to format the displayed
+value yourself.
+-}
+scaleSetDigits ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> Int32
+    {- ^ /@digits@/: the number of decimal places to display,
+    e.g. use 1 to display 1.0, 2 to display 1.00, etc -}
+    -> m ()
+scaleSetDigits scale digits = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    gtk_scale_set_digits scale' digits
+    touchManagedPtr scale
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScaleSetDigitsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsScale a) => O.MethodInfo ScaleSetDigitsMethodInfo a signature where
+    overloadedMethod _ = scaleSetDigits
+
+#endif
+
+-- method Scale::set_draw_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "draw_value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to draw the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_set_draw_value" gtk_scale_set_draw_value :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    CInt ->                                 -- draw_value : TBasicType TBoolean
+    IO ()
+
+{- |
+Specifies whether the current value is displayed as a string next
+to the slider.
+-}
+scaleSetDrawValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> Bool
+    {- ^ /@drawValue@/: 'True' to draw the value -}
+    -> m ()
+scaleSetDrawValue scale drawValue = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    let drawValue' = (fromIntegral . fromEnum) drawValue
+    gtk_scale_set_draw_value scale' drawValue'
+    touchManagedPtr scale
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScaleSetDrawValueMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsScale a) => O.MethodInfo ScaleSetDrawValueMethodInfo a signature where
+    overloadedMethod _ = scaleSetDrawValue
+
+#endif
+
+-- method Scale::set_has_origin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_origin", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the scale has an origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_set_has_origin" gtk_scale_set_has_origin :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    CInt ->                                 -- has_origin : TBasicType TBoolean
+    IO ()
+
+{- |
+If 'GI.Gtk.Objects.Scale.Scale':@/has-origin/@ is set to 'True' (the default), the scale will
+highlight the part of the trough between the origin (bottom or left side)
+and the current value.
+
+/Since: 3.4/
+-}
+scaleSetHasOrigin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> Bool
+    {- ^ /@hasOrigin@/: 'True' if the scale has an origin -}
+    -> m ()
+scaleSetHasOrigin scale hasOrigin = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    let hasOrigin' = (fromIntegral . fromEnum) hasOrigin
+    gtk_scale_set_has_origin scale' hasOrigin'
+    touchManagedPtr scale
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScaleSetHasOriginMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsScale a) => O.MethodInfo ScaleSetHasOriginMethodInfo a signature where
+    overloadedMethod _ = scaleSetHasOrigin
+
+#endif
+
+-- method Scale::set_value_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scale", argType = TInterface (Name {namespace = "Gtk", name = "Scale"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TInterface (Name {namespace = "Gtk", name = "PositionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position in which the current value is displayed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_set_value_pos" gtk_scale_set_value_pos :: 
+    Ptr Scale ->                            -- scale : TInterface (Name {namespace = "Gtk", name = "Scale"})
+    CUInt ->                                -- pos : TInterface (Name {namespace = "Gtk", name = "PositionType"})
+    IO ()
+
+{- |
+Sets the position in which the current value is displayed.
+-}
+scaleSetValuePos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScale a) =>
+    a
+    {- ^ /@scale@/: a 'GI.Gtk.Objects.Scale.Scale' -}
+    -> Gtk.Enums.PositionType
+    {- ^ /@pos@/: the position in which the current value is displayed -}
+    -> m ()
+scaleSetValuePos scale pos = liftIO $ do
+    scale' <- unsafeManagedPtrCastPtr scale
+    let pos' = (fromIntegral . fromEnum) pos
+    gtk_scale_set_value_pos scale' pos'
+    touchManagedPtr scale
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScaleSetValuePosMethodInfo
+instance (signature ~ (Gtk.Enums.PositionType -> m ()), MonadIO m, IsScale a) => O.MethodInfo ScaleSetValuePosMethodInfo a signature where
+    overloadedMethod _ = scaleSetValuePos
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Scale.hs-boot b/GI/Gtk/Objects/Scale.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Scale.hs-boot
@@ -0,0 +1,80 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Scale where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Scale = Scale (ManagedPtr Scale)
+instance GObject Scale where
+class (GObject o, O.IsDescendantOf Scale o) => IsScale o
+instance (GObject o, O.IsDescendantOf Scale o) => IsScale o
+instance O.HasParentTypes Scale
+#if ENABLE_OVERLOADING
+data ScaleDigitsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleDrawValuePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleHasOriginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleValuePosPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleFormatValueSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleAddMarkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleClearMarksMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleGetDigitsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleGetDrawValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleGetHasOriginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleGetLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleGetLayoutOffsetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleGetValuePosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleSetDigitsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleSetDrawValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleSetHasOriginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleSetValuePosMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ScaleAccessible.hs b/GI/Gtk/Objects/ScaleAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScaleAccessible.hs
@@ -0,0 +1,176 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ScaleAccessible
+    ( 
+
+-- * Exported types
+    ScaleAccessible(..)                     ,
+    IsScaleAccessible                       ,
+    toScaleAccessible                       ,
+    noScaleAccessible                       ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Value as Atk.Value
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RangeAccessible as Gtk.RangeAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ScaleAccessible = ScaleAccessible (ManagedPtr ScaleAccessible)
+foreign import ccall "gtk_scale_accessible_get_type"
+    c_gtk_scale_accessible_get_type :: IO GType
+
+instance GObject ScaleAccessible where
+    gobjectType = c_gtk_scale_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ScaleAccessible`, for instance with `toScaleAccessible`.
+class (GObject o, O.IsDescendantOf ScaleAccessible o) => IsScaleAccessible o
+instance (GObject o, O.IsDescendantOf ScaleAccessible o) => IsScaleAccessible o
+
+instance O.HasParentTypes ScaleAccessible
+type instance O.ParentTypes ScaleAccessible = '[Gtk.RangeAccessible.RangeAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Value.Value]
+
+-- | Cast to `ScaleAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toScaleAccessible :: (MonadIO m, IsScaleAccessible o) => o -> m ScaleAccessible
+toScaleAccessible = liftIO . unsafeCastTo ScaleAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ScaleAccessible`.
+noScaleAccessible :: Maybe ScaleAccessible
+noScaleAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveScaleAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScaleAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveScaleAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveScaleAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveScaleAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveScaleAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveScaleAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveScaleAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveScaleAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveScaleAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveScaleAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveScaleAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveScaleAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveScaleAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveScaleAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveScaleAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveScaleAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveScaleAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveScaleAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveScaleAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveScaleAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveScaleAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveScaleAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveScaleAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveScaleAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveScaleAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveScaleAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveScaleAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveScaleAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveScaleAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveScaleAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveScaleAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveScaleAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveScaleAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveScaleAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveScaleAccessibleMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo
+    ResolveScaleAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveScaleAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveScaleAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveScaleAccessibleMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo
+    ResolveScaleAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveScaleAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveScaleAccessibleMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo
+    ResolveScaleAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveScaleAccessibleMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo
+    ResolveScaleAccessibleMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo
+    ResolveScaleAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveScaleAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveScaleAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveScaleAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveScaleAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveScaleAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveScaleAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveScaleAccessibleMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo
+    ResolveScaleAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveScaleAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveScaleAccessibleMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo
+    ResolveScaleAccessibleMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo
+    ResolveScaleAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveScaleAccessibleMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo
+    ResolveScaleAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveScaleAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveScaleAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveScaleAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveScaleAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveScaleAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveScaleAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveScaleAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveScaleAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveScaleAccessibleMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo
+    ResolveScaleAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveScaleAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveScaleAccessibleMethod t ScaleAccessible, O.MethodInfo info ScaleAccessible p) => OL.IsLabel t (ScaleAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ScaleAccessible
+type instance O.AttributeList ScaleAccessible = ScaleAccessibleAttributeList
+type ScaleAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ScaleAccessible = ScaleAccessibleSignalList
+type ScaleAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ScaleAccessible.hs-boot b/GI/Gtk/Objects/ScaleAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScaleAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ScaleAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ScaleAccessible = ScaleAccessible (ManagedPtr ScaleAccessible)
+instance GObject ScaleAccessible where
+class (GObject o, O.IsDescendantOf ScaleAccessible o) => IsScaleAccessible o
+instance (GObject o, O.IsDescendantOf ScaleAccessible o) => IsScaleAccessible o
+instance O.HasParentTypes ScaleAccessible
diff --git a/GI/Gtk/Objects/ScaleButton.hs b/GI/Gtk/Objects/ScaleButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScaleButton.hs
@@ -0,0 +1,1491 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.ScaleButton.ScaleButton' provides a button which pops up a scale widget.
+This kind of widget is commonly used for volume controls in multimedia
+applications, and GTK+ provides a 'GI.Gtk.Objects.VolumeButton.VolumeButton' subclass that
+is tailored for this use case.
+
+= CSS nodes
+
+GtkScaleButton has a single CSS node with name button. To differentiate
+it from a plain 'GI.Gtk.Objects.Button.Button', it gets the .scale style class.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ScaleButton
+    ( 
+
+-- * Exported types
+    ScaleButton(..)                         ,
+    IsScaleButton                           ,
+    toScaleButton                           ,
+    noScaleButton                           ,
+
+
+ -- * Methods
+-- ** getAdjustment #method:getAdjustment#
+
+#if ENABLE_OVERLOADING
+    ScaleButtonGetAdjustmentMethodInfo      ,
+#endif
+    scaleButtonGetAdjustment                ,
+
+
+-- ** getMinusButton #method:getMinusButton#
+
+#if ENABLE_OVERLOADING
+    ScaleButtonGetMinusButtonMethodInfo     ,
+#endif
+    scaleButtonGetMinusButton               ,
+
+
+-- ** getPlusButton #method:getPlusButton#
+
+#if ENABLE_OVERLOADING
+    ScaleButtonGetPlusButtonMethodInfo      ,
+#endif
+    scaleButtonGetPlusButton                ,
+
+
+-- ** getPopup #method:getPopup#
+
+#if ENABLE_OVERLOADING
+    ScaleButtonGetPopupMethodInfo           ,
+#endif
+    scaleButtonGetPopup                     ,
+
+
+-- ** getValue #method:getValue#
+
+#if ENABLE_OVERLOADING
+    ScaleButtonGetValueMethodInfo           ,
+#endif
+    scaleButtonGetValue                     ,
+
+
+-- ** new #method:new#
+
+    scaleButtonNew                          ,
+
+
+-- ** setAdjustment #method:setAdjustment#
+
+#if ENABLE_OVERLOADING
+    ScaleButtonSetAdjustmentMethodInfo      ,
+#endif
+    scaleButtonSetAdjustment                ,
+
+
+-- ** setIcons #method:setIcons#
+
+#if ENABLE_OVERLOADING
+    ScaleButtonSetIconsMethodInfo           ,
+#endif
+    scaleButtonSetIcons                     ,
+
+
+-- ** setValue #method:setValue#
+
+#if ENABLE_OVERLOADING
+    ScaleButtonSetValueMethodInfo           ,
+#endif
+    scaleButtonSetValue                     ,
+
+
+
+
+ -- * Properties
+-- ** adjustment #attr:adjustment#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScaleButtonAdjustmentPropertyInfo       ,
+#endif
+    constructScaleButtonAdjustment          ,
+    getScaleButtonAdjustment                ,
+#if ENABLE_OVERLOADING
+    scaleButtonAdjustment                   ,
+#endif
+    setScaleButtonAdjustment                ,
+
+
+-- ** icons #attr:icons#
+{- | The names of the icons to be used by the scale button.
+The first item in the array will be used in the button
+when the current value is the lowest value, the second
+item for the highest value. All the subsequent icons will
+be used for all the other values, spread evenly over the
+range of values.
+
+If there\'s only one icon name in the /@icons@/ array, it will
+be used for all the values. If only two icon names are in
+the /@icons@/ array, the first one will be used for the bottom
+50% of the scale, and the second one for the top 50%.
+
+It is recommended to use at least 3 icons so that the
+'GI.Gtk.Objects.ScaleButton.ScaleButton' reflects the current value of the scale
+better for the users.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    ScaleButtonIconsPropertyInfo            ,
+#endif
+    constructScaleButtonIcons               ,
+    getScaleButtonIcons                     ,
+#if ENABLE_OVERLOADING
+    scaleButtonIcons                        ,
+#endif
+    setScaleButtonIcons                     ,
+
+
+-- ** size #attr:size#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScaleButtonSizePropertyInfo             ,
+#endif
+    constructScaleButtonSize                ,
+    getScaleButtonSize                      ,
+#if ENABLE_OVERLOADING
+    scaleButtonSize                         ,
+#endif
+    setScaleButtonSize                      ,
+
+
+-- ** value #attr:value#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScaleButtonValuePropertyInfo            ,
+#endif
+    constructScaleButtonValue               ,
+    getScaleButtonValue                     ,
+#if ENABLE_OVERLOADING
+    scaleButtonValue                        ,
+#endif
+    setScaleButtonValue                     ,
+
+
+
+
+ -- * Signals
+-- ** popdown #signal:popdown#
+
+    C_ScaleButtonPopdownCallback            ,
+    ScaleButtonPopdownCallback              ,
+#if ENABLE_OVERLOADING
+    ScaleButtonPopdownSignalInfo            ,
+#endif
+    afterScaleButtonPopdown                 ,
+    genClosure_ScaleButtonPopdown           ,
+    mk_ScaleButtonPopdownCallback           ,
+    noScaleButtonPopdownCallback            ,
+    onScaleButtonPopdown                    ,
+    wrap_ScaleButtonPopdownCallback         ,
+
+
+-- ** popup #signal:popup#
+
+    C_ScaleButtonPopupCallback              ,
+    ScaleButtonPopupCallback                ,
+#if ENABLE_OVERLOADING
+    ScaleButtonPopupSignalInfo              ,
+#endif
+    afterScaleButtonPopup                   ,
+    genClosure_ScaleButtonPopup             ,
+    mk_ScaleButtonPopupCallback             ,
+    noScaleButtonPopupCallback              ,
+    onScaleButtonPopup                      ,
+    wrap_ScaleButtonPopupCallback           ,
+
+
+-- ** valueChanged #signal:valueChanged#
+
+    C_ScaleButtonValueChangedCallback       ,
+    ScaleButtonValueChangedCallback         ,
+#if ENABLE_OVERLOADING
+    ScaleButtonValueChangedSignalInfo       ,
+#endif
+    afterScaleButtonValueChanged            ,
+    genClosure_ScaleButtonValueChanged      ,
+    mk_ScaleButtonValueChangedCallback      ,
+    noScaleButtonValueChangedCallback       ,
+    onScaleButtonValueChanged               ,
+    wrap_ScaleButtonValueChangedCallback    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ScaleButton = ScaleButton (ManagedPtr ScaleButton)
+foreign import ccall "gtk_scale_button_get_type"
+    c_gtk_scale_button_get_type :: IO GType
+
+instance GObject ScaleButton where
+    gobjectType = c_gtk_scale_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `ScaleButton`, for instance with `toScaleButton`.
+class (GObject o, O.IsDescendantOf ScaleButton o) => IsScaleButton o
+instance (GObject o, O.IsDescendantOf ScaleButton o) => IsScaleButton o
+
+instance O.HasParentTypes ScaleButton
+type instance O.ParentTypes ScaleButton = '[Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `ScaleButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toScaleButton :: (MonadIO m, IsScaleButton o) => o -> m ScaleButton
+toScaleButton = liftIO . unsafeCastTo ScaleButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ScaleButton`.
+noScaleButton :: Maybe ScaleButton
+noScaleButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveScaleButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScaleButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveScaleButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveScaleButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveScaleButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveScaleButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveScaleButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveScaleButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveScaleButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveScaleButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveScaleButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveScaleButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveScaleButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveScaleButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveScaleButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveScaleButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveScaleButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveScaleButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveScaleButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveScaleButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveScaleButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveScaleButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveScaleButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveScaleButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveScaleButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveScaleButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveScaleButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveScaleButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveScaleButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveScaleButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveScaleButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveScaleButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveScaleButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveScaleButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveScaleButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveScaleButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveScaleButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveScaleButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveScaleButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveScaleButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveScaleButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveScaleButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveScaleButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveScaleButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveScaleButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveScaleButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveScaleButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveScaleButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveScaleButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveScaleButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveScaleButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveScaleButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveScaleButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveScaleButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveScaleButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveScaleButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveScaleButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveScaleButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveScaleButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveScaleButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveScaleButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveScaleButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveScaleButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveScaleButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveScaleButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveScaleButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveScaleButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveScaleButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveScaleButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveScaleButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveScaleButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveScaleButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveScaleButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveScaleButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveScaleButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveScaleButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveScaleButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveScaleButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveScaleButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveScaleButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveScaleButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveScaleButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveScaleButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveScaleButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveScaleButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveScaleButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveScaleButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveScaleButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveScaleButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveScaleButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveScaleButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveScaleButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveScaleButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveScaleButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveScaleButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveScaleButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveScaleButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveScaleButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveScaleButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveScaleButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveScaleButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveScaleButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveScaleButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveScaleButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveScaleButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveScaleButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveScaleButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveScaleButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveScaleButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveScaleButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveScaleButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveScaleButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveScaleButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveScaleButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveScaleButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveScaleButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveScaleButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveScaleButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveScaleButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveScaleButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveScaleButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveScaleButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveScaleButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveScaleButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveScaleButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveScaleButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveScaleButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveScaleButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveScaleButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveScaleButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveScaleButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveScaleButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveScaleButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveScaleButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveScaleButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveScaleButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveScaleButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveScaleButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveScaleButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveScaleButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveScaleButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveScaleButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveScaleButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveScaleButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveScaleButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveScaleButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveScaleButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveScaleButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveScaleButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveScaleButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveScaleButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveScaleButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveScaleButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveScaleButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveScaleButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveScaleButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveScaleButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveScaleButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveScaleButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveScaleButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveScaleButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveScaleButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveScaleButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveScaleButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveScaleButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveScaleButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveScaleButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveScaleButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveScaleButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveScaleButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveScaleButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveScaleButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveScaleButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveScaleButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveScaleButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveScaleButtonMethod "getAdjustment" o = ScaleButtonGetAdjustmentMethodInfo
+    ResolveScaleButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveScaleButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveScaleButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveScaleButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveScaleButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveScaleButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveScaleButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveScaleButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveScaleButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveScaleButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveScaleButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveScaleButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveScaleButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveScaleButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveScaleButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveScaleButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveScaleButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveScaleButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveScaleButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveScaleButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveScaleButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveScaleButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveScaleButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveScaleButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveScaleButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveScaleButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveScaleButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveScaleButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveScaleButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveScaleButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveScaleButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveScaleButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveScaleButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveScaleButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveScaleButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveScaleButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveScaleButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveScaleButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveScaleButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveScaleButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveScaleButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveScaleButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveScaleButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveScaleButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveScaleButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveScaleButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveScaleButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveScaleButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveScaleButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveScaleButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveScaleButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveScaleButtonMethod "getMinusButton" o = ScaleButtonGetMinusButtonMethodInfo
+    ResolveScaleButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveScaleButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveScaleButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveScaleButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveScaleButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveScaleButtonMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveScaleButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveScaleButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveScaleButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveScaleButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveScaleButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveScaleButtonMethod "getPlusButton" o = ScaleButtonGetPlusButtonMethodInfo
+    ResolveScaleButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveScaleButtonMethod "getPopup" o = ScaleButtonGetPopupMethodInfo
+    ResolveScaleButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveScaleButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveScaleButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveScaleButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveScaleButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveScaleButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveScaleButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveScaleButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveScaleButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveScaleButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveScaleButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveScaleButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveScaleButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveScaleButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveScaleButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveScaleButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveScaleButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveScaleButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveScaleButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveScaleButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveScaleButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveScaleButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveScaleButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveScaleButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveScaleButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveScaleButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveScaleButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveScaleButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveScaleButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveScaleButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveScaleButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveScaleButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveScaleButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveScaleButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveScaleButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveScaleButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveScaleButtonMethod "getValue" o = ScaleButtonGetValueMethodInfo
+    ResolveScaleButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveScaleButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveScaleButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveScaleButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveScaleButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveScaleButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveScaleButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveScaleButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveScaleButtonMethod "setAdjustment" o = ScaleButtonSetAdjustmentMethodInfo
+    ResolveScaleButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveScaleButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveScaleButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveScaleButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveScaleButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveScaleButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveScaleButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveScaleButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveScaleButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveScaleButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveScaleButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveScaleButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveScaleButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveScaleButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveScaleButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveScaleButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveScaleButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveScaleButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveScaleButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveScaleButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveScaleButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveScaleButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveScaleButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveScaleButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveScaleButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveScaleButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveScaleButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveScaleButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveScaleButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveScaleButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveScaleButtonMethod "setIcons" o = ScaleButtonSetIconsMethodInfo
+    ResolveScaleButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveScaleButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveScaleButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveScaleButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveScaleButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveScaleButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveScaleButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveScaleButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveScaleButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveScaleButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveScaleButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveScaleButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveScaleButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveScaleButtonMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveScaleButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveScaleButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveScaleButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveScaleButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveScaleButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveScaleButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveScaleButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveScaleButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveScaleButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveScaleButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveScaleButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveScaleButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveScaleButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveScaleButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveScaleButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveScaleButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveScaleButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveScaleButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveScaleButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveScaleButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveScaleButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveScaleButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveScaleButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveScaleButtonMethod "setValue" o = ScaleButtonSetValueMethodInfo
+    ResolveScaleButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveScaleButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveScaleButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveScaleButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveScaleButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveScaleButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveScaleButtonMethod t ScaleButton, O.MethodInfo info ScaleButton p) => OL.IsLabel t (ScaleButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ScaleButton::popdown
+{- |
+The ::popdown signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to popdown the scale widget.
+
+The default binding for this signal is Escape.
+
+/Since: 2.12/
+-}
+type ScaleButtonPopdownCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ScaleButtonPopdownCallback`@.
+noScaleButtonPopdownCallback :: Maybe ScaleButtonPopdownCallback
+noScaleButtonPopdownCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ScaleButtonPopdownCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ScaleButtonPopdownCallback`.
+foreign import ccall "wrapper"
+    mk_ScaleButtonPopdownCallback :: C_ScaleButtonPopdownCallback -> IO (FunPtr C_ScaleButtonPopdownCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ScaleButtonPopdown :: MonadIO m => ScaleButtonPopdownCallback -> m (GClosure C_ScaleButtonPopdownCallback)
+genClosure_ScaleButtonPopdown cb = liftIO $ do
+    let cb' = wrap_ScaleButtonPopdownCallback cb
+    mk_ScaleButtonPopdownCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ScaleButtonPopdownCallback` into a `C_ScaleButtonPopdownCallback`.
+wrap_ScaleButtonPopdownCallback ::
+    ScaleButtonPopdownCallback ->
+    C_ScaleButtonPopdownCallback
+wrap_ScaleButtonPopdownCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@popdown@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' scaleButton #popdown callback
+@
+-}
+onScaleButtonPopdown :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopdownCallback -> m SignalHandlerId
+onScaleButtonPopdown obj cb = liftIO $ do
+    let cb' = wrap_ScaleButtonPopdownCallback cb
+    cb'' <- mk_ScaleButtonPopdownCallback cb'
+    connectSignalFunPtr obj "popdown" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@popdown@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' scaleButton #popdown callback
+@
+-}
+afterScaleButtonPopdown :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopdownCallback -> m SignalHandlerId
+afterScaleButtonPopdown obj cb = liftIO $ do
+    let cb' = wrap_ScaleButtonPopdownCallback cb
+    cb'' <- mk_ScaleButtonPopdownCallback cb'
+    connectSignalFunPtr obj "popdown" cb'' SignalConnectAfter
+
+
+-- signal ScaleButton::popup
+{- |
+The ::popup signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to popup the scale widget.
+
+The default bindings for this signal are Space, Enter and Return.
+
+/Since: 2.12/
+-}
+type ScaleButtonPopupCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ScaleButtonPopupCallback`@.
+noScaleButtonPopupCallback :: Maybe ScaleButtonPopupCallback
+noScaleButtonPopupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ScaleButtonPopupCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ScaleButtonPopupCallback`.
+foreign import ccall "wrapper"
+    mk_ScaleButtonPopupCallback :: C_ScaleButtonPopupCallback -> IO (FunPtr C_ScaleButtonPopupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ScaleButtonPopup :: MonadIO m => ScaleButtonPopupCallback -> m (GClosure C_ScaleButtonPopupCallback)
+genClosure_ScaleButtonPopup cb = liftIO $ do
+    let cb' = wrap_ScaleButtonPopupCallback cb
+    mk_ScaleButtonPopupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ScaleButtonPopupCallback` into a `C_ScaleButtonPopupCallback`.
+wrap_ScaleButtonPopupCallback ::
+    ScaleButtonPopupCallback ->
+    C_ScaleButtonPopupCallback
+wrap_ScaleButtonPopupCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@popup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' scaleButton #popup callback
+@
+-}
+onScaleButtonPopup :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopupCallback -> m SignalHandlerId
+onScaleButtonPopup obj cb = liftIO $ do
+    let cb' = wrap_ScaleButtonPopupCallback cb
+    cb'' <- mk_ScaleButtonPopupCallback cb'
+    connectSignalFunPtr obj "popup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@popup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' scaleButton #popup callback
+@
+-}
+afterScaleButtonPopup :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopupCallback -> m SignalHandlerId
+afterScaleButtonPopup obj cb = liftIO $ do
+    let cb' = wrap_ScaleButtonPopupCallback cb
+    cb'' <- mk_ScaleButtonPopupCallback cb'
+    connectSignalFunPtr obj "popup" cb'' SignalConnectAfter
+
+
+-- signal ScaleButton::value-changed
+{- |
+The ::value-changed signal is emitted when the value field has
+changed.
+
+/Since: 2.12/
+-}
+type ScaleButtonValueChangedCallback =
+    Double
+    {- ^ /@value@/: the new value -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ScaleButtonValueChangedCallback`@.
+noScaleButtonValueChangedCallback :: Maybe ScaleButtonValueChangedCallback
+noScaleButtonValueChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ScaleButtonValueChangedCallback =
+    Ptr () ->                               -- object
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ScaleButtonValueChangedCallback`.
+foreign import ccall "wrapper"
+    mk_ScaleButtonValueChangedCallback :: C_ScaleButtonValueChangedCallback -> IO (FunPtr C_ScaleButtonValueChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ScaleButtonValueChanged :: MonadIO m => ScaleButtonValueChangedCallback -> m (GClosure C_ScaleButtonValueChangedCallback)
+genClosure_ScaleButtonValueChanged cb = liftIO $ do
+    let cb' = wrap_ScaleButtonValueChangedCallback cb
+    mk_ScaleButtonValueChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ScaleButtonValueChangedCallback` into a `C_ScaleButtonValueChangedCallback`.
+wrap_ScaleButtonValueChangedCallback ::
+    ScaleButtonValueChangedCallback ->
+    C_ScaleButtonValueChangedCallback
+wrap_ScaleButtonValueChangedCallback _cb _ value _ = do
+    let value' = realToFrac value
+    _cb  value'
+
+
+{- |
+Connect a signal handler for the “@value-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' scaleButton #valueChanged callback
+@
+-}
+onScaleButtonValueChanged :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonValueChangedCallback -> m SignalHandlerId
+onScaleButtonValueChanged obj cb = liftIO $ do
+    let cb' = wrap_ScaleButtonValueChangedCallback cb
+    cb'' <- mk_ScaleButtonValueChangedCallback cb'
+    connectSignalFunPtr obj "value-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@value-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' scaleButton #valueChanged callback
+@
+-}
+afterScaleButtonValueChanged :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonValueChangedCallback -> m SignalHandlerId
+afterScaleButtonValueChanged obj cb = liftIO $ do
+    let cb' = wrap_ScaleButtonValueChangedCallback cb
+    cb'' <- mk_ScaleButtonValueChangedCallback cb'
+    connectSignalFunPtr obj "value-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "adjustment"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@adjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scaleButton #adjustment
+@
+-}
+getScaleButtonAdjustment :: (MonadIO m, IsScaleButton o) => o -> m Gtk.Adjustment.Adjustment
+getScaleButtonAdjustment obj = liftIO $ checkUnexpectedNothing "getScaleButtonAdjustment" $ B.Properties.getObjectPropertyObject obj "adjustment" Gtk.Adjustment.Adjustment
+
+{- |
+Set the value of the “@adjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scaleButton [ #adjustment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScaleButtonAdjustment :: (MonadIO m, IsScaleButton o, Gtk.Adjustment.IsAdjustment a) => o -> a -> m ()
+setScaleButtonAdjustment obj val = liftIO $ B.Properties.setObjectPropertyObject obj "adjustment" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@adjustment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScaleButtonAdjustment :: (IsScaleButton o, Gtk.Adjustment.IsAdjustment a) => a -> IO (GValueConstruct o)
+constructScaleButtonAdjustment val = B.Properties.constructObjectPropertyObject "adjustment" (Just val)
+
+#if ENABLE_OVERLOADING
+data ScaleButtonAdjustmentPropertyInfo
+instance AttrInfo ScaleButtonAdjustmentPropertyInfo where
+    type AttrAllowedOps ScaleButtonAdjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScaleButtonAdjustmentPropertyInfo = Gtk.Adjustment.IsAdjustment
+    type AttrBaseTypeConstraint ScaleButtonAdjustmentPropertyInfo = IsScaleButton
+    type AttrGetType ScaleButtonAdjustmentPropertyInfo = Gtk.Adjustment.Adjustment
+    type AttrLabel ScaleButtonAdjustmentPropertyInfo = "adjustment"
+    type AttrOrigin ScaleButtonAdjustmentPropertyInfo = ScaleButton
+    attrGet _ = getScaleButtonAdjustment
+    attrSet _ = setScaleButtonAdjustment
+    attrConstruct _ = constructScaleButtonAdjustment
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "icons"
+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@icons@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scaleButton #icons
+@
+-}
+getScaleButtonIcons :: (MonadIO m, IsScaleButton o) => o -> m (Maybe [T.Text])
+getScaleButtonIcons obj = liftIO $ B.Properties.getObjectPropertyStringArray obj "icons"
+
+{- |
+Set the value of the “@icons@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scaleButton [ #icons 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScaleButtonIcons :: (MonadIO m, IsScaleButton o) => o -> [T.Text] -> m ()
+setScaleButtonIcons obj val = liftIO $ B.Properties.setObjectPropertyStringArray obj "icons" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icons@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScaleButtonIcons :: (IsScaleButton o) => [T.Text] -> IO (GValueConstruct o)
+constructScaleButtonIcons val = B.Properties.constructObjectPropertyStringArray "icons" (Just val)
+
+#if ENABLE_OVERLOADING
+data ScaleButtonIconsPropertyInfo
+instance AttrInfo ScaleButtonIconsPropertyInfo where
+    type AttrAllowedOps ScaleButtonIconsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScaleButtonIconsPropertyInfo = (~) [T.Text]
+    type AttrBaseTypeConstraint ScaleButtonIconsPropertyInfo = IsScaleButton
+    type AttrGetType ScaleButtonIconsPropertyInfo = (Maybe [T.Text])
+    type AttrLabel ScaleButtonIconsPropertyInfo = "icons"
+    type AttrOrigin ScaleButtonIconsPropertyInfo = ScaleButton
+    attrGet _ = getScaleButtonIcons
+    attrSet _ = setScaleButtonIcons
+    attrConstruct _ = constructScaleButtonIcons
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "IconSize"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scaleButton #size
+@
+-}
+getScaleButtonSize :: (MonadIO m, IsScaleButton o) => o -> m Gtk.Enums.IconSize
+getScaleButtonSize obj = liftIO $ B.Properties.getObjectPropertyEnum obj "size"
+
+{- |
+Set the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scaleButton [ #size 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScaleButtonSize :: (MonadIO m, IsScaleButton o) => o -> Gtk.Enums.IconSize -> m ()
+setScaleButtonSize obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScaleButtonSize :: (IsScaleButton o) => Gtk.Enums.IconSize -> IO (GValueConstruct o)
+constructScaleButtonSize val = B.Properties.constructObjectPropertyEnum "size" val
+
+#if ENABLE_OVERLOADING
+data ScaleButtonSizePropertyInfo
+instance AttrInfo ScaleButtonSizePropertyInfo where
+    type AttrAllowedOps ScaleButtonSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScaleButtonSizePropertyInfo = (~) Gtk.Enums.IconSize
+    type AttrBaseTypeConstraint ScaleButtonSizePropertyInfo = IsScaleButton
+    type AttrGetType ScaleButtonSizePropertyInfo = Gtk.Enums.IconSize
+    type AttrLabel ScaleButtonSizePropertyInfo = "size"
+    type AttrOrigin ScaleButtonSizePropertyInfo = ScaleButton
+    attrGet _ = getScaleButtonSize
+    attrSet _ = setScaleButtonSize
+    attrConstruct _ = constructScaleButtonSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "value"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scaleButton #value
+@
+-}
+getScaleButtonValue :: (MonadIO m, IsScaleButton o) => o -> m Double
+getScaleButtonValue obj = liftIO $ B.Properties.getObjectPropertyDouble obj "value"
+
+{- |
+Set the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scaleButton [ #value 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScaleButtonValue :: (MonadIO m, IsScaleButton o) => o -> Double -> m ()
+setScaleButtonValue obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScaleButtonValue :: (IsScaleButton o) => Double -> IO (GValueConstruct o)
+constructScaleButtonValue val = B.Properties.constructObjectPropertyDouble "value" val
+
+#if ENABLE_OVERLOADING
+data ScaleButtonValuePropertyInfo
+instance AttrInfo ScaleButtonValuePropertyInfo where
+    type AttrAllowedOps ScaleButtonValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScaleButtonValuePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint ScaleButtonValuePropertyInfo = IsScaleButton
+    type AttrGetType ScaleButtonValuePropertyInfo = Double
+    type AttrLabel ScaleButtonValuePropertyInfo = "value"
+    type AttrOrigin ScaleButtonValuePropertyInfo = ScaleButton
+    attrGet _ = getScaleButtonValue
+    attrSet _ = setScaleButtonValue
+    attrConstruct _ = constructScaleButtonValue
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ScaleButton
+type instance O.AttributeList ScaleButton = ScaleButtonAttributeList
+type ScaleButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("adjustment", ScaleButtonAdjustmentPropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("icons", ScaleButtonIconsPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("size", ScaleButtonSizePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("value", ScaleButtonValuePropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+scaleButtonAdjustment :: AttrLabelProxy "adjustment"
+scaleButtonAdjustment = AttrLabelProxy
+
+scaleButtonIcons :: AttrLabelProxy "icons"
+scaleButtonIcons = AttrLabelProxy
+
+scaleButtonSize :: AttrLabelProxy "size"
+scaleButtonSize = AttrLabelProxy
+
+scaleButtonValue :: AttrLabelProxy "value"
+scaleButtonValue = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ScaleButtonPopdownSignalInfo
+instance SignalInfo ScaleButtonPopdownSignalInfo where
+    type HaskellCallbackType ScaleButtonPopdownSignalInfo = ScaleButtonPopdownCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ScaleButtonPopdownCallback cb
+        cb'' <- mk_ScaleButtonPopdownCallback cb'
+        connectSignalFunPtr obj "popdown" cb'' connectMode
+
+data ScaleButtonPopupSignalInfo
+instance SignalInfo ScaleButtonPopupSignalInfo where
+    type HaskellCallbackType ScaleButtonPopupSignalInfo = ScaleButtonPopupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ScaleButtonPopupCallback cb
+        cb'' <- mk_ScaleButtonPopupCallback cb'
+        connectSignalFunPtr obj "popup" cb'' connectMode
+
+data ScaleButtonValueChangedSignalInfo
+instance SignalInfo ScaleButtonValueChangedSignalInfo where
+    type HaskellCallbackType ScaleButtonValueChangedSignalInfo = ScaleButtonValueChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ScaleButtonValueChangedCallback cb
+        cb'' <- mk_ScaleButtonValueChangedCallback cb'
+        connectSignalFunPtr obj "value-changed" cb'' connectMode
+
+type instance O.SignalList ScaleButton = ScaleButtonSignalList
+type ScaleButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popdown", ScaleButtonPopdownSignalInfo), '("popup", ScaleButtonPopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", ScaleButtonValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ScaleButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum value of the scale (usually 0)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum value of the scale (usually 100)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stepping of value when a scroll-wheel event,\n       or up/down arrow event occurs (usually 2)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icons", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a %NULL-terminated\n        array of icon names, or %NULL if you want to set the list\n        later with gtk_scale_button_set_icons()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ScaleButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_button_new" gtk_scale_button_new :: 
+    Int32 ->                                -- size : TBasicType TInt
+    CDouble ->                              -- min : TBasicType TDouble
+    CDouble ->                              -- max : TBasicType TDouble
+    CDouble ->                              -- step : TBasicType TDouble
+    Ptr CString ->                          -- icons : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO (Ptr ScaleButton)
+
+{- |
+Creates a 'GI.Gtk.Objects.ScaleButton.ScaleButton', with a range between /@min@/ and /@max@/, with
+a stepping of /@step@/.
+
+/Since: 2.12/
+-}
+scaleButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> Double
+    {- ^ /@min@/: the minimum value of the scale (usually 0) -}
+    -> Double
+    {- ^ /@max@/: the maximum value of the scale (usually 100) -}
+    -> Double
+    {- ^ /@step@/: the stepping of value when a scroll-wheel event,
+       or up\/down arrow event occurs (usually 2) -}
+    -> Maybe ([T.Text])
+    {- ^ /@icons@/: a 'Nothing'-terminated
+        array of icon names, or 'Nothing' if you want to set the list
+        later with 'GI.Gtk.Objects.ScaleButton.scaleButtonSetIcons' -}
+    -> m ScaleButton
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+scaleButtonNew size min max step icons = liftIO $ do
+    let min' = realToFrac min
+    let max' = realToFrac max
+    let step' = realToFrac step
+    maybeIcons <- case icons of
+        Nothing -> return nullPtr
+        Just jIcons -> do
+            jIcons' <- packZeroTerminatedUTF8CArray jIcons
+            return jIcons'
+    result <- gtk_scale_button_new size min' max' step' maybeIcons
+    checkUnexpectedReturnNULL "scaleButtonNew" result
+    result' <- (newObject ScaleButton) result
+    mapZeroTerminatedCArray freeMem maybeIcons
+    freeMem maybeIcons
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ScaleButton::get_adjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ScaleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScaleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_button_get_adjustment" gtk_scale_button_get_adjustment :: 
+    Ptr ScaleButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ScaleButton"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Gets the 'GI.Gtk.Objects.Adjustment.Adjustment' associated with the 'GI.Gtk.Objects.ScaleButton.ScaleButton'’s scale.
+See 'GI.Gtk.Objects.Range.rangeGetAdjustment' for details.
+
+/Since: 2.12/
+-}
+scaleButtonGetAdjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScaleButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ the adjustment associated with the scale -}
+scaleButtonGetAdjustment button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_scale_button_get_adjustment button'
+    checkUnexpectedReturnNULL "scaleButtonGetAdjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScaleButtonGetAdjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsScaleButton a) => O.MethodInfo ScaleButtonGetAdjustmentMethodInfo a signature where
+    overloadedMethod _ = scaleButtonGetAdjustment
+
+#endif
+
+-- method ScaleButton::get_minus_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ScaleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScaleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Button"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_button_get_minus_button" gtk_scale_button_get_minus_button :: 
+    Ptr ScaleButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ScaleButton"})
+    IO (Ptr Gtk.Button.Button)
+
+{- |
+Retrieves the minus button of the 'GI.Gtk.Objects.ScaleButton.ScaleButton'.
+
+/Since: 2.14/
+-}
+scaleButtonGetMinusButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScaleButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+    -> m Gtk.Button.Button
+    {- ^ __Returns:__ the minus button of the 'GI.Gtk.Objects.ScaleButton.ScaleButton' as a 'GI.Gtk.Objects.Button.Button' -}
+scaleButtonGetMinusButton button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_scale_button_get_minus_button button'
+    checkUnexpectedReturnNULL "scaleButtonGetMinusButton" result
+    result' <- (newObject Gtk.Button.Button) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScaleButtonGetMinusButtonMethodInfo
+instance (signature ~ (m Gtk.Button.Button), MonadIO m, IsScaleButton a) => O.MethodInfo ScaleButtonGetMinusButtonMethodInfo a signature where
+    overloadedMethod _ = scaleButtonGetMinusButton
+
+#endif
+
+-- method ScaleButton::get_plus_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ScaleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScaleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Button"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_button_get_plus_button" gtk_scale_button_get_plus_button :: 
+    Ptr ScaleButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ScaleButton"})
+    IO (Ptr Gtk.Button.Button)
+
+{- |
+Retrieves the plus button of the 'GI.Gtk.Objects.ScaleButton.ScaleButton'.
+
+/Since: 2.14/
+-}
+scaleButtonGetPlusButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScaleButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+    -> m Gtk.Button.Button
+    {- ^ __Returns:__ the plus button of the 'GI.Gtk.Objects.ScaleButton.ScaleButton' as a 'GI.Gtk.Objects.Button.Button' -}
+scaleButtonGetPlusButton button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_scale_button_get_plus_button button'
+    checkUnexpectedReturnNULL "scaleButtonGetPlusButton" result
+    result' <- (newObject Gtk.Button.Button) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScaleButtonGetPlusButtonMethodInfo
+instance (signature ~ (m Gtk.Button.Button), MonadIO m, IsScaleButton a) => O.MethodInfo ScaleButtonGetPlusButtonMethodInfo a signature where
+    overloadedMethod _ = scaleButtonGetPlusButton
+
+#endif
+
+-- method ScaleButton::get_popup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ScaleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScaleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_button_get_popup" gtk_scale_button_get_popup :: 
+    Ptr ScaleButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ScaleButton"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the popup of the 'GI.Gtk.Objects.ScaleButton.ScaleButton'.
+
+/Since: 2.14/
+-}
+scaleButtonGetPopup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScaleButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the popup of the 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+scaleButtonGetPopup button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_scale_button_get_popup button'
+    checkUnexpectedReturnNULL "scaleButtonGetPopup" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScaleButtonGetPopupMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsScaleButton a) => O.MethodInfo ScaleButtonGetPopupMethodInfo a signature where
+    overloadedMethod _ = scaleButtonGetPopup
+
+#endif
+
+-- method ScaleButton::get_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ScaleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScaleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_button_get_value" gtk_scale_button_get_value :: 
+    Ptr ScaleButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ScaleButton"})
+    IO CDouble
+
+{- |
+Gets the current value of the scale button.
+
+/Since: 2.12/
+-}
+scaleButtonGetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScaleButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+    -> m Double
+    {- ^ __Returns:__ current value of the scale button -}
+scaleButtonGetValue button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_scale_button_get_value button'
+    let result' = realToFrac result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScaleButtonGetValueMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsScaleButton a) => O.MethodInfo ScaleButtonGetValueMethodInfo a signature where
+    overloadedMethod _ = scaleButtonGetValue
+
+#endif
+
+-- method ScaleButton::set_adjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ScaleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScaleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_button_set_adjustment" gtk_scale_button_set_adjustment :: 
+    Ptr ScaleButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ScaleButton"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Adjustment.Adjustment' to be used as a model
+for the 'GI.Gtk.Objects.ScaleButton.ScaleButton'’s scale.
+See 'GI.Gtk.Objects.Range.rangeSetAdjustment' for details.
+
+/Since: 2.12/
+-}
+scaleButtonSetAdjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScaleButton a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+    -> b
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+    -> m ()
+scaleButtonSetAdjustment button adjustment = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    gtk_scale_button_set_adjustment button' adjustment'
+    touchManagedPtr button
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScaleButtonSetAdjustmentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsScaleButton a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ScaleButtonSetAdjustmentMethodInfo a signature where
+    overloadedMethod _ = scaleButtonSetAdjustment
+
+#endif
+
+-- method ScaleButton::set_icons
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ScaleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScaleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icons", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of icon names", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_button_set_icons" gtk_scale_button_set_icons :: 
+    Ptr ScaleButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ScaleButton"})
+    Ptr CString ->                          -- icons : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO ()
+
+{- |
+Sets the icons to be used by the scale button.
+For details, see the 'GI.Gtk.Objects.ScaleButton.ScaleButton':@/icons/@ property.
+
+/Since: 2.12/
+-}
+scaleButtonSetIcons ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScaleButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+    -> [T.Text]
+    {- ^ /@icons@/: a 'Nothing'-terminated array of icon names -}
+    -> m ()
+scaleButtonSetIcons button icons = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    icons' <- packZeroTerminatedUTF8CArray icons
+    gtk_scale_button_set_icons button' icons'
+    touchManagedPtr button
+    mapZeroTerminatedCArray freeMem icons'
+    freeMem icons'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScaleButtonSetIconsMethodInfo
+instance (signature ~ ([T.Text] -> m ()), MonadIO m, IsScaleButton a) => O.MethodInfo ScaleButtonSetIconsMethodInfo a signature where
+    overloadedMethod _ = scaleButtonSetIcons
+
+#endif
+
+-- method ScaleButton::set_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ScaleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScaleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new value of the scale button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scale_button_set_value" gtk_scale_button_set_value :: 
+    Ptr ScaleButton ->                      -- button : TInterface (Name {namespace = "Gtk", name = "ScaleButton"})
+    CDouble ->                              -- value : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the current value of the scale; if the value is outside
+the minimum or maximum range values, it will be clamped to fit
+inside them. The scale button emits the 'GI.Gtk.Objects.ScaleButton.ScaleButton'::@/value-changed/@
+signal if the value changes.
+
+/Since: 2.12/
+-}
+scaleButtonSetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScaleButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ScaleButton.ScaleButton' -}
+    -> Double
+    {- ^ /@value@/: new value of the scale button -}
+    -> m ()
+scaleButtonSetValue button value = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let value' = realToFrac value
+    gtk_scale_button_set_value button' value'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScaleButtonSetValueMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsScaleButton a) => O.MethodInfo ScaleButtonSetValueMethodInfo a signature where
+    overloadedMethod _ = scaleButtonSetValue
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ScaleButton.hs-boot b/GI/Gtk/Objects/ScaleButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScaleButton.hs-boot
@@ -0,0 +1,74 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ScaleButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ScaleButton = ScaleButton (ManagedPtr ScaleButton)
+instance GObject ScaleButton where
+class (GObject o, O.IsDescendantOf ScaleButton o) => IsScaleButton o
+instance (GObject o, O.IsDescendantOf ScaleButton o) => IsScaleButton o
+instance O.HasParentTypes ScaleButton
+#if ENABLE_OVERLOADING
+data ScaleButtonAdjustmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonIconsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonValuePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonPopdownSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonPopupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonValueChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonGetAdjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonGetMinusButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonGetPlusButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonGetPopupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonGetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonSetAdjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonSetIconsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScaleButtonSetValueMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ScaleButtonAccessible.hs b/GI/Gtk/Objects/ScaleButtonAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScaleButtonAccessible.hs
@@ -0,0 +1,188 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ScaleButtonAccessible
+    ( 
+
+-- * Exported types
+    ScaleButtonAccessible(..)               ,
+    IsScaleButtonAccessible                 ,
+    toScaleButtonAccessible                 ,
+    noScaleButtonAccessible                 ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Interfaces.Value as Atk.Value
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ButtonAccessible as Gtk.ButtonAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ScaleButtonAccessible = ScaleButtonAccessible (ManagedPtr ScaleButtonAccessible)
+foreign import ccall "gtk_scale_button_accessible_get_type"
+    c_gtk_scale_button_accessible_get_type :: IO GType
+
+instance GObject ScaleButtonAccessible where
+    gobjectType = c_gtk_scale_button_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ScaleButtonAccessible`, for instance with `toScaleButtonAccessible`.
+class (GObject o, O.IsDescendantOf ScaleButtonAccessible o) => IsScaleButtonAccessible o
+instance (GObject o, O.IsDescendantOf ScaleButtonAccessible o) => IsScaleButtonAccessible o
+
+instance O.HasParentTypes ScaleButtonAccessible
+type instance O.ParentTypes ScaleButtonAccessible = '[Gtk.ButtonAccessible.ButtonAccessible, Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Image.Image, Atk.Value.Value]
+
+-- | Cast to `ScaleButtonAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toScaleButtonAccessible :: (MonadIO m, IsScaleButtonAccessible o) => o -> m ScaleButtonAccessible
+toScaleButtonAccessible = liftIO . unsafeCastTo ScaleButtonAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ScaleButtonAccessible`.
+noScaleButtonAccessible :: Maybe ScaleButtonAccessible
+noScaleButtonAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveScaleButtonAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScaleButtonAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveScaleButtonAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveScaleButtonAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveScaleButtonAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveScaleButtonAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveScaleButtonAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveScaleButtonAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveScaleButtonAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveScaleButtonAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveScaleButtonAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveScaleButtonAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveScaleButtonAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveScaleButtonAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveScaleButtonAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveScaleButtonAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveScaleButtonAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveScaleButtonAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveScaleButtonAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveScaleButtonAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveScaleButtonAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveScaleButtonAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveScaleButtonAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveScaleButtonAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveScaleButtonAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveScaleButtonAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveScaleButtonAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveScaleButtonAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveScaleButtonAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveScaleButtonAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveScaleButtonAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveScaleButtonAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveScaleButtonAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveScaleButtonAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveScaleButtonAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveScaleButtonAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveScaleButtonAccessibleMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo
+    ResolveScaleButtonAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveScaleButtonAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveScaleButtonAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveScaleButtonAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveScaleButtonAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveScaleButtonAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveScaleButtonAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveScaleButtonAccessibleMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo
+    ResolveScaleButtonAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveScaleButtonAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveScaleButtonAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveScaleButtonAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveScaleButtonAccessibleMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo
+    ResolveScaleButtonAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveScaleButtonAccessibleMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo
+    ResolveScaleButtonAccessibleMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo
+    ResolveScaleButtonAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveScaleButtonAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveScaleButtonAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveScaleButtonAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveScaleButtonAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveScaleButtonAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveScaleButtonAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveScaleButtonAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveScaleButtonAccessibleMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo
+    ResolveScaleButtonAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveScaleButtonAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveScaleButtonAccessibleMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo
+    ResolveScaleButtonAccessibleMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo
+    ResolveScaleButtonAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveScaleButtonAccessibleMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo
+    ResolveScaleButtonAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveScaleButtonAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveScaleButtonAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveScaleButtonAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveScaleButtonAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveScaleButtonAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveScaleButtonAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveScaleButtonAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveScaleButtonAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveScaleButtonAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveScaleButtonAccessibleMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo
+    ResolveScaleButtonAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveScaleButtonAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveScaleButtonAccessibleMethod t ScaleButtonAccessible, O.MethodInfo info ScaleButtonAccessible p) => OL.IsLabel t (ScaleButtonAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ScaleButtonAccessible
+type instance O.AttributeList ScaleButtonAccessible = ScaleButtonAccessibleAttributeList
+type ScaleButtonAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ScaleButtonAccessible = ScaleButtonAccessibleSignalList
+type ScaleButtonAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ScaleButtonAccessible.hs-boot b/GI/Gtk/Objects/ScaleButtonAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScaleButtonAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ScaleButtonAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ScaleButtonAccessible = ScaleButtonAccessible (ManagedPtr ScaleButtonAccessible)
+instance GObject ScaleButtonAccessible where
+class (GObject o, O.IsDescendantOf ScaleButtonAccessible o) => IsScaleButtonAccessible o
+instance (GObject o, O.IsDescendantOf ScaleButtonAccessible o) => IsScaleButtonAccessible o
+instance O.HasParentTypes ScaleButtonAccessible
diff --git a/GI/Gtk/Objects/Scrollbar.hs b/GI/Gtk/Objects/Scrollbar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Scrollbar.hs
@@ -0,0 +1,517 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Scrollbar.Scrollbar' widget is a horizontal or vertical scrollbar,
+depending on the value of the 'GI.Gtk.Interfaces.Orientable.Orientable':@/orientation/@ property.
+
+Its position and movement are controlled by the adjustment that is passed to
+or created by 'GI.Gtk.Objects.Scrollbar.scrollbarNew'. See 'GI.Gtk.Objects.Adjustment.Adjustment' for more details. The
+'GI.Gtk.Objects.Adjustment.Adjustment':@/value/@ field sets the position of the thumb and must be between
+'GI.Gtk.Objects.Adjustment.Adjustment':@/lower/@ and 'GI.Gtk.Objects.Adjustment.Adjustment':@/upper/@ - 'GI.Gtk.Objects.Adjustment.Adjustment':@/page-size/@. The
+'GI.Gtk.Objects.Adjustment.Adjustment':@/page-size/@ represents the size of the visible scrollable area.
+The fields 'GI.Gtk.Objects.Adjustment.Adjustment':@/step-increment/@ and 'GI.Gtk.Objects.Adjustment.Adjustment':@/page-increment/@
+fields are added to or subtracted from the 'GI.Gtk.Objects.Adjustment.Adjustment':@/value/@ when the user
+asks to move by a step (using e.g. the cursor arrow keys or, if present, the
+stepper buttons) or by a page (using e.g. the Page Down\/Up keys).
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>scrollbar[.fine-tune]
+>╰── contents
+>    ├── [button.up]
+>    ├── [button.down]
+>    ├── trough
+>    │   ╰── slider
+>    ├── [button.up]
+>    ╰── [button.down]
+
+
+GtkScrollbar has a main CSS node with name scrollbar and a subnode for its
+contents, with subnodes named trough and slider.
+
+The main node gets the style class .fine-tune added when the scrollbar is
+in \'fine-tuning\' mode.
+
+If steppers are enabled, they are represented by up to four additional
+subnodes with name button. These get the style classes .up and .down to
+indicate in which direction they are moving.
+
+Other style classes that may be added to scrollbars inside 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow'
+include the positional classes (.left, .right, .top, .bottom) and style
+classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering).
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Scrollbar
+    ( 
+
+-- * Exported types
+    Scrollbar(..)                           ,
+    IsScrollbar                             ,
+    toScrollbar                             ,
+    noScrollbar                             ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    scrollbarNew                            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Range as Gtk.Range
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Scrollbar = Scrollbar (ManagedPtr Scrollbar)
+foreign import ccall "gtk_scrollbar_get_type"
+    c_gtk_scrollbar_get_type :: IO GType
+
+instance GObject Scrollbar where
+    gobjectType = c_gtk_scrollbar_get_type
+    
+
+-- | Type class for types which can be safely cast to `Scrollbar`, for instance with `toScrollbar`.
+class (GObject o, O.IsDescendantOf Scrollbar o) => IsScrollbar o
+instance (GObject o, O.IsDescendantOf Scrollbar o) => IsScrollbar o
+
+instance O.HasParentTypes Scrollbar
+type instance O.ParentTypes Scrollbar = '[Gtk.Range.Range, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `Scrollbar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toScrollbar :: (MonadIO m, IsScrollbar o) => o -> m Scrollbar
+toScrollbar = liftIO . unsafeCastTo Scrollbar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Scrollbar`.
+noScrollbar :: Maybe Scrollbar
+noScrollbar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveScrollbarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScrollbarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveScrollbarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveScrollbarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveScrollbarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveScrollbarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveScrollbarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveScrollbarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveScrollbarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveScrollbarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveScrollbarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveScrollbarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveScrollbarMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveScrollbarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveScrollbarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveScrollbarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveScrollbarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveScrollbarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveScrollbarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveScrollbarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveScrollbarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveScrollbarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveScrollbarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveScrollbarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveScrollbarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveScrollbarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveScrollbarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveScrollbarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveScrollbarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveScrollbarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveScrollbarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveScrollbarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveScrollbarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveScrollbarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveScrollbarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveScrollbarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveScrollbarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveScrollbarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveScrollbarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveScrollbarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveScrollbarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveScrollbarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveScrollbarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveScrollbarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveScrollbarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveScrollbarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveScrollbarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveScrollbarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveScrollbarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveScrollbarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveScrollbarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveScrollbarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveScrollbarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveScrollbarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveScrollbarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveScrollbarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveScrollbarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveScrollbarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveScrollbarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveScrollbarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveScrollbarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveScrollbarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveScrollbarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveScrollbarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveScrollbarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveScrollbarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveScrollbarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveScrollbarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveScrollbarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveScrollbarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveScrollbarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveScrollbarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveScrollbarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveScrollbarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveScrollbarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveScrollbarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveScrollbarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveScrollbarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveScrollbarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveScrollbarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveScrollbarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveScrollbarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveScrollbarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveScrollbarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveScrollbarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveScrollbarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveScrollbarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveScrollbarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveScrollbarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveScrollbarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveScrollbarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveScrollbarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveScrollbarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveScrollbarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveScrollbarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveScrollbarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveScrollbarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveScrollbarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveScrollbarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveScrollbarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveScrollbarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveScrollbarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveScrollbarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveScrollbarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveScrollbarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveScrollbarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveScrollbarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveScrollbarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveScrollbarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveScrollbarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveScrollbarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveScrollbarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveScrollbarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveScrollbarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveScrollbarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveScrollbarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveScrollbarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveScrollbarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveScrollbarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveScrollbarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveScrollbarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveScrollbarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveScrollbarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveScrollbarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveScrollbarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveScrollbarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveScrollbarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveScrollbarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveScrollbarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveScrollbarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveScrollbarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveScrollbarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveScrollbarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveScrollbarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveScrollbarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveScrollbarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveScrollbarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveScrollbarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveScrollbarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveScrollbarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveScrollbarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveScrollbarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveScrollbarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveScrollbarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveScrollbarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveScrollbarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveScrollbarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveScrollbarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveScrollbarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveScrollbarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveScrollbarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveScrollbarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveScrollbarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveScrollbarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveScrollbarMethod "getAdjustment" o = Gtk.Range.RangeGetAdjustmentMethodInfo
+    ResolveScrollbarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveScrollbarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveScrollbarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveScrollbarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveScrollbarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveScrollbarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveScrollbarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveScrollbarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveScrollbarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveScrollbarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveScrollbarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveScrollbarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveScrollbarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveScrollbarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveScrollbarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveScrollbarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveScrollbarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveScrollbarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveScrollbarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveScrollbarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveScrollbarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveScrollbarMethod "getFillLevel" o = Gtk.Range.RangeGetFillLevelMethodInfo
+    ResolveScrollbarMethod "getFlippable" o = Gtk.Range.RangeGetFlippableMethodInfo
+    ResolveScrollbarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveScrollbarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveScrollbarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveScrollbarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveScrollbarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveScrollbarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveScrollbarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveScrollbarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveScrollbarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveScrollbarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveScrollbarMethod "getInverted" o = Gtk.Range.RangeGetInvertedMethodInfo
+    ResolveScrollbarMethod "getLowerStepperSensitivity" o = Gtk.Range.RangeGetLowerStepperSensitivityMethodInfo
+    ResolveScrollbarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveScrollbarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveScrollbarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveScrollbarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveScrollbarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveScrollbarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveScrollbarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveScrollbarMethod "getMinSliderSize" o = Gtk.Range.RangeGetMinSliderSizeMethodInfo
+    ResolveScrollbarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveScrollbarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveScrollbarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveScrollbarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveScrollbarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveScrollbarMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveScrollbarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveScrollbarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveScrollbarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveScrollbarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveScrollbarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveScrollbarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveScrollbarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveScrollbarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveScrollbarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveScrollbarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveScrollbarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveScrollbarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveScrollbarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveScrollbarMethod "getRangeRect" o = Gtk.Range.RangeGetRangeRectMethodInfo
+    ResolveScrollbarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveScrollbarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveScrollbarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveScrollbarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveScrollbarMethod "getRestrictToFillLevel" o = Gtk.Range.RangeGetRestrictToFillLevelMethodInfo
+    ResolveScrollbarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveScrollbarMethod "getRoundDigits" o = Gtk.Range.RangeGetRoundDigitsMethodInfo
+    ResolveScrollbarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveScrollbarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveScrollbarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveScrollbarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveScrollbarMethod "getShowFillLevel" o = Gtk.Range.RangeGetShowFillLevelMethodInfo
+    ResolveScrollbarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveScrollbarMethod "getSliderRange" o = Gtk.Range.RangeGetSliderRangeMethodInfo
+    ResolveScrollbarMethod "getSliderSizeFixed" o = Gtk.Range.RangeGetSliderSizeFixedMethodInfo
+    ResolveScrollbarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveScrollbarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveScrollbarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveScrollbarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveScrollbarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveScrollbarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveScrollbarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveScrollbarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveScrollbarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveScrollbarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveScrollbarMethod "getUpperStepperSensitivity" o = Gtk.Range.RangeGetUpperStepperSensitivityMethodInfo
+    ResolveScrollbarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveScrollbarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveScrollbarMethod "getValue" o = Gtk.Range.RangeGetValueMethodInfo
+    ResolveScrollbarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveScrollbarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveScrollbarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveScrollbarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveScrollbarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveScrollbarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveScrollbarMethod "setAdjustment" o = Gtk.Range.RangeSetAdjustmentMethodInfo
+    ResolveScrollbarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveScrollbarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveScrollbarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveScrollbarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveScrollbarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveScrollbarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveScrollbarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveScrollbarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveScrollbarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveScrollbarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveScrollbarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveScrollbarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveScrollbarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveScrollbarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveScrollbarMethod "setFillLevel" o = Gtk.Range.RangeSetFillLevelMethodInfo
+    ResolveScrollbarMethod "setFlippable" o = Gtk.Range.RangeSetFlippableMethodInfo
+    ResolveScrollbarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveScrollbarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveScrollbarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveScrollbarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveScrollbarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveScrollbarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveScrollbarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveScrollbarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveScrollbarMethod "setIncrements" o = Gtk.Range.RangeSetIncrementsMethodInfo
+    ResolveScrollbarMethod "setInverted" o = Gtk.Range.RangeSetInvertedMethodInfo
+    ResolveScrollbarMethod "setLowerStepperSensitivity" o = Gtk.Range.RangeSetLowerStepperSensitivityMethodInfo
+    ResolveScrollbarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveScrollbarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveScrollbarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveScrollbarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveScrollbarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveScrollbarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveScrollbarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveScrollbarMethod "setMinSliderSize" o = Gtk.Range.RangeSetMinSliderSizeMethodInfo
+    ResolveScrollbarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveScrollbarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveScrollbarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveScrollbarMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveScrollbarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveScrollbarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveScrollbarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveScrollbarMethod "setRange" o = Gtk.Range.RangeSetRangeMethodInfo
+    ResolveScrollbarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveScrollbarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveScrollbarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveScrollbarMethod "setRestrictToFillLevel" o = Gtk.Range.RangeSetRestrictToFillLevelMethodInfo
+    ResolveScrollbarMethod "setRoundDigits" o = Gtk.Range.RangeSetRoundDigitsMethodInfo
+    ResolveScrollbarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveScrollbarMethod "setShowFillLevel" o = Gtk.Range.RangeSetShowFillLevelMethodInfo
+    ResolveScrollbarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveScrollbarMethod "setSliderSizeFixed" o = Gtk.Range.RangeSetSliderSizeFixedMethodInfo
+    ResolveScrollbarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveScrollbarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveScrollbarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveScrollbarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveScrollbarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveScrollbarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveScrollbarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveScrollbarMethod "setUpperStepperSensitivity" o = Gtk.Range.RangeSetUpperStepperSensitivityMethodInfo
+    ResolveScrollbarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveScrollbarMethod "setValue" o = Gtk.Range.RangeSetValueMethodInfo
+    ResolveScrollbarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveScrollbarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveScrollbarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveScrollbarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveScrollbarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveScrollbarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveScrollbarMethod t Scrollbar, O.MethodInfo info Scrollbar p) => OL.IsLabel t (Scrollbar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Scrollbar
+type instance O.AttributeList Scrollbar = ScrollbarAttributeList
+type ScrollbarAttributeList = ('[ '("adjustment", Gtk.Range.RangeAdjustmentPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("fillLevel", Gtk.Range.RangeFillLevelPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inverted", Gtk.Range.RangeInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("lowerStepperSensitivity", Gtk.Range.RangeLowerStepperSensitivityPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("restrictToFillLevel", Gtk.Range.RangeRestrictToFillLevelPropertyInfo), '("roundDigits", Gtk.Range.RangeRoundDigitsPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showFillLevel", Gtk.Range.RangeShowFillLevelPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("upperStepperSensitivity", Gtk.Range.RangeUpperStepperSensitivityPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Scrollbar = ScrollbarSignalList
+type ScrollbarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("adjustBounds", Gtk.Range.RangeAdjustBoundsSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeValue", Gtk.Range.RangeChangeValueSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveSlider", Gtk.Range.RangeMoveSliderSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", Gtk.Range.RangeValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Scrollbar::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scrollbar\8217s orientation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkAdjustment to use, or %NULL to create a new adjustment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Scrollbar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrollbar_new" gtk_scrollbar_new :: 
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO (Ptr Scrollbar)
+
+{- |
+Creates a new scrollbar with the given orientation.
+
+/Since: 3.0/
+-}
+scrollbarNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a) =>
+    Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the scrollbar’s orientation. -}
+    -> Maybe (a)
+    {- ^ /@adjustment@/: the 'GI.Gtk.Objects.Adjustment.Adjustment' to use, or 'Nothing' to create a new adjustment. -}
+    -> m Scrollbar
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Scrollbar.Scrollbar'. -}
+scrollbarNew orientation adjustment = liftIO $ do
+    let orientation' = (fromIntegral . fromEnum) orientation
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    result <- gtk_scrollbar_new orientation' maybeAdjustment
+    checkUnexpectedReturnNULL "scrollbarNew" result
+    result' <- (newObject Scrollbar) result
+    whenJust adjustment touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/Scrollbar.hs-boot b/GI/Gtk/Objects/Scrollbar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Scrollbar.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Scrollbar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Scrollbar = Scrollbar (ManagedPtr Scrollbar)
+instance GObject Scrollbar where
+class (GObject o, O.IsDescendantOf Scrollbar o) => IsScrollbar o
+instance (GObject o, O.IsDescendantOf Scrollbar o) => IsScrollbar o
+instance O.HasParentTypes Scrollbar
diff --git a/GI/Gtk/Objects/ScrolledWindow.hs b/GI/Gtk/Objects/ScrolledWindow.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScrolledWindow.hs
@@ -0,0 +1,3552 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkScrolledWindow is a container that accepts a single child widget, makes
+that child scrollable using either internally added scrollbars or externally
+associated adjustments, and optionally draws a frame around the child.
+
+Widgets with native scrolling support, i.e. those whose classes implement the
+'GI.Gtk.Interfaces.Scrollable.Scrollable' interface, are added directly. For other types of widget, the
+class 'GI.Gtk.Objects.Viewport.Viewport' acts as an adaptor, giving scrollability to other widgets.
+GtkScrolledWindow’s implementation of 'GI.Gtk.Objects.Container.containerAdd' intelligently
+accounts for whether or not the added child is a 'GI.Gtk.Interfaces.Scrollable.Scrollable'. If it isn’t,
+'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' wraps the child in a 'GI.Gtk.Objects.Viewport.Viewport' and adds that for you.
+Therefore, you can just add any child widget and not worry about the details.
+
+If 'GI.Gtk.Objects.Container.containerAdd' has added a 'GI.Gtk.Objects.Viewport.Viewport' for you, you can remove
+both your added child widget from the 'GI.Gtk.Objects.Viewport.Viewport', and the 'GI.Gtk.Objects.Viewport.Viewport'
+from the GtkScrolledWindow, like this:
+
+
+=== /C code/
+>
+>GtkWidget *scrolled_window = gtk_scrolled_window_new (NULL, NULL);
+>GtkWidget *child_widget = gtk_button_new ();
+>
+>// GtkButton is not a GtkScrollable, so GtkScrolledWindow will automatically
+>// add a GtkViewport.
+>gtk_container_add (GTK_CONTAINER (scrolled_window),
+>                   child_widget);
+>
+>// Either of these will result in child_widget being unparented:
+>gtk_container_remove (GTK_CONTAINER (scrolled_window),
+>                      child_widget);
+>// or
+>gtk_container_remove (GTK_CONTAINER (scrolled_window),
+>                      gtk_bin_get_child (GTK_BIN (scrolled_window)));
+
+
+Unless 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow':@/policy/@ is GTK_POLICY_NEVER or GTK_POLICY_EXTERNAL,
+GtkScrolledWindow adds internal 'GI.Gtk.Objects.Scrollbar.Scrollbar' widgets around its child. The
+scroll position of the child, and if applicable the scrollbars, is controlled
+by the 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow':@/hadjustment/@ and 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow':@/vadjustment/@
+that are associated with the GtkScrolledWindow. See the docs on 'GI.Gtk.Objects.Scrollbar.Scrollbar'
+for the details, but note that the “step_increment” and “page_increment”
+fields are only effective if the policy causes scrollbars to be present.
+
+If a GtkScrolledWindow doesn’t behave quite as you would like, or
+doesn’t have exactly the right layout, it’s very possible to set up
+your own scrolling with 'GI.Gtk.Objects.Scrollbar.Scrollbar' and for example a 'GI.Gtk.Objects.Grid.Grid'.
+
+= Touch support
+
+GtkScrolledWindow has built-in support for touch devices. When a
+touchscreen is used, swiping will move the scrolled window, and will
+expose \'kinetic\' behavior. This can be turned off with the
+'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow':@/kinetic-scrolling/@ property if it is undesired.
+
+GtkScrolledWindow also displays visual \'overshoot\' indication when
+the content is pulled beyond the end, and this situation can be
+captured with the 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow'::@/edge-overshot/@ signal.
+
+If no mouse device is present, the scrollbars will overlayed as
+narrow, auto-hiding indicators over the content. If traditional
+scrollbars are desired although no mouse is present, this behaviour
+can be turned off with the 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow':@/overlay-scrolling/@
+property.
+
+= CSS nodes
+
+GtkScrolledWindow has a main CSS node with name scrolledwindow.
+
+It uses subnodes with names overshoot and undershoot to
+draw the overflow and underflow indications. These nodes get
+the .left, .right, .top or .bottom style class added depending
+on where the indication is drawn.
+
+GtkScrolledWindow also sets the positional style classes (.left,
+.right, .top, .bottom) and style classes related to overlay
+scrolling (.overlay-indicator, .dragging, .hovering) on its scrollbars.
+
+If both scrollbars are visible, the area where they meet is drawn
+with a subnode named junction.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ScrolledWindow
+    ( 
+
+-- * Exported types
+    ScrolledWindow(..)                      ,
+    IsScrolledWindow                        ,
+    toScrolledWindow                        ,
+    noScrolledWindow                        ,
+
+
+ -- * Methods
+-- ** addWithViewport #method:addWithViewport#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowAddWithViewportMethodInfo ,
+#endif
+    scrolledWindowAddWithViewport           ,
+
+
+-- ** getCaptureButtonPress #method:getCaptureButtonPress#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetCaptureButtonPressMethodInfo,
+#endif
+    scrolledWindowGetCaptureButtonPress     ,
+
+
+-- ** getHadjustment #method:getHadjustment#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetHadjustmentMethodInfo  ,
+#endif
+    scrolledWindowGetHadjustment            ,
+
+
+-- ** getHscrollbar #method:getHscrollbar#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetHscrollbarMethodInfo   ,
+#endif
+    scrolledWindowGetHscrollbar             ,
+
+
+-- ** getKineticScrolling #method:getKineticScrolling#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetKineticScrollingMethodInfo,
+#endif
+    scrolledWindowGetKineticScrolling       ,
+
+
+-- ** getMaxContentHeight #method:getMaxContentHeight#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetMaxContentHeightMethodInfo,
+#endif
+    scrolledWindowGetMaxContentHeight       ,
+
+
+-- ** getMaxContentWidth #method:getMaxContentWidth#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetMaxContentWidthMethodInfo,
+#endif
+    scrolledWindowGetMaxContentWidth        ,
+
+
+-- ** getMinContentHeight #method:getMinContentHeight#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetMinContentHeightMethodInfo,
+#endif
+    scrolledWindowGetMinContentHeight       ,
+
+
+-- ** getMinContentWidth #method:getMinContentWidth#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetMinContentWidthMethodInfo,
+#endif
+    scrolledWindowGetMinContentWidth        ,
+
+
+-- ** getOverlayScrolling #method:getOverlayScrolling#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetOverlayScrollingMethodInfo,
+#endif
+    scrolledWindowGetOverlayScrolling       ,
+
+
+-- ** getPlacement #method:getPlacement#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetPlacementMethodInfo    ,
+#endif
+    scrolledWindowGetPlacement              ,
+
+
+-- ** getPolicy #method:getPolicy#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetPolicyMethodInfo       ,
+#endif
+    scrolledWindowGetPolicy                 ,
+
+
+-- ** getPropagateNaturalHeight #method:getPropagateNaturalHeight#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetPropagateNaturalHeightMethodInfo,
+#endif
+    scrolledWindowGetPropagateNaturalHeight ,
+
+
+-- ** getPropagateNaturalWidth #method:getPropagateNaturalWidth#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetPropagateNaturalWidthMethodInfo,
+#endif
+    scrolledWindowGetPropagateNaturalWidth  ,
+
+
+-- ** getShadowType #method:getShadowType#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetShadowTypeMethodInfo   ,
+#endif
+    scrolledWindowGetShadowType             ,
+
+
+-- ** getVadjustment #method:getVadjustment#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetVadjustmentMethodInfo  ,
+#endif
+    scrolledWindowGetVadjustment            ,
+
+
+-- ** getVscrollbar #method:getVscrollbar#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowGetVscrollbarMethodInfo   ,
+#endif
+    scrolledWindowGetVscrollbar             ,
+
+
+-- ** new #method:new#
+
+    scrolledWindowNew                       ,
+
+
+-- ** setCaptureButtonPress #method:setCaptureButtonPress#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetCaptureButtonPressMethodInfo,
+#endif
+    scrolledWindowSetCaptureButtonPress     ,
+
+
+-- ** setHadjustment #method:setHadjustment#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetHadjustmentMethodInfo  ,
+#endif
+    scrolledWindowSetHadjustment            ,
+
+
+-- ** setKineticScrolling #method:setKineticScrolling#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetKineticScrollingMethodInfo,
+#endif
+    scrolledWindowSetKineticScrolling       ,
+
+
+-- ** setMaxContentHeight #method:setMaxContentHeight#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetMaxContentHeightMethodInfo,
+#endif
+    scrolledWindowSetMaxContentHeight       ,
+
+
+-- ** setMaxContentWidth #method:setMaxContentWidth#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetMaxContentWidthMethodInfo,
+#endif
+    scrolledWindowSetMaxContentWidth        ,
+
+
+-- ** setMinContentHeight #method:setMinContentHeight#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetMinContentHeightMethodInfo,
+#endif
+    scrolledWindowSetMinContentHeight       ,
+
+
+-- ** setMinContentWidth #method:setMinContentWidth#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetMinContentWidthMethodInfo,
+#endif
+    scrolledWindowSetMinContentWidth        ,
+
+
+-- ** setOverlayScrolling #method:setOverlayScrolling#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetOverlayScrollingMethodInfo,
+#endif
+    scrolledWindowSetOverlayScrolling       ,
+
+
+-- ** setPlacement #method:setPlacement#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetPlacementMethodInfo    ,
+#endif
+    scrolledWindowSetPlacement              ,
+
+
+-- ** setPolicy #method:setPolicy#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetPolicyMethodInfo       ,
+#endif
+    scrolledWindowSetPolicy                 ,
+
+
+-- ** setPropagateNaturalHeight #method:setPropagateNaturalHeight#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetPropagateNaturalHeightMethodInfo,
+#endif
+    scrolledWindowSetPropagateNaturalHeight ,
+
+
+-- ** setPropagateNaturalWidth #method:setPropagateNaturalWidth#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetPropagateNaturalWidthMethodInfo,
+#endif
+    scrolledWindowSetPropagateNaturalWidth  ,
+
+
+-- ** setShadowType #method:setShadowType#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetShadowTypeMethodInfo   ,
+#endif
+    scrolledWindowSetShadowType             ,
+
+
+-- ** setVadjustment #method:setVadjustment#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowSetVadjustmentMethodInfo  ,
+#endif
+    scrolledWindowSetVadjustment            ,
+
+
+-- ** unsetPlacement #method:unsetPlacement#
+
+#if ENABLE_OVERLOADING
+    ScrolledWindowUnsetPlacementMethodInfo  ,
+#endif
+    scrolledWindowUnsetPlacement            ,
+
+
+
+
+ -- * Properties
+-- ** hadjustment #attr:hadjustment#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowHadjustmentPropertyInfo   ,
+#endif
+    constructScrolledWindowHadjustment      ,
+    getScrolledWindowHadjustment            ,
+#if ENABLE_OVERLOADING
+    scrolledWindowHadjustment               ,
+#endif
+    setScrolledWindowHadjustment            ,
+
+
+-- ** hscrollbarPolicy #attr:hscrollbarPolicy#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowHscrollbarPolicyPropertyInfo,
+#endif
+    constructScrolledWindowHscrollbarPolicy ,
+    getScrolledWindowHscrollbarPolicy       ,
+#if ENABLE_OVERLOADING
+    scrolledWindowHscrollbarPolicy          ,
+#endif
+    setScrolledWindowHscrollbarPolicy       ,
+
+
+-- ** kineticScrolling #attr:kineticScrolling#
+{- | Whether kinetic scrolling is enabled or not. Kinetic scrolling
+only applies to devices with source 'GI.Gdk.Enums.InputSourceTouchscreen'.
+
+/Since: 3.4/
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowKineticScrollingPropertyInfo,
+#endif
+    constructScrolledWindowKineticScrolling ,
+    getScrolledWindowKineticScrolling       ,
+#if ENABLE_OVERLOADING
+    scrolledWindowKineticScrolling          ,
+#endif
+    setScrolledWindowKineticScrolling       ,
+
+
+-- ** maxContentHeight #attr:maxContentHeight#
+{- | The maximum content height of /@scrolledWindow@/, or -1 if not set.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowMaxContentHeightPropertyInfo,
+#endif
+    constructScrolledWindowMaxContentHeight ,
+    getScrolledWindowMaxContentHeight       ,
+#if ENABLE_OVERLOADING
+    scrolledWindowMaxContentHeight          ,
+#endif
+    setScrolledWindowMaxContentHeight       ,
+
+
+-- ** maxContentWidth #attr:maxContentWidth#
+{- | The maximum content width of /@scrolledWindow@/, or -1 if not set.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowMaxContentWidthPropertyInfo,
+#endif
+    constructScrolledWindowMaxContentWidth  ,
+    getScrolledWindowMaxContentWidth        ,
+#if ENABLE_OVERLOADING
+    scrolledWindowMaxContentWidth           ,
+#endif
+    setScrolledWindowMaxContentWidth        ,
+
+
+-- ** minContentHeight #attr:minContentHeight#
+{- | The minimum content height of /@scrolledWindow@/, or -1 if not set.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowMinContentHeightPropertyInfo,
+#endif
+    constructScrolledWindowMinContentHeight ,
+    getScrolledWindowMinContentHeight       ,
+#if ENABLE_OVERLOADING
+    scrolledWindowMinContentHeight          ,
+#endif
+    setScrolledWindowMinContentHeight       ,
+
+
+-- ** minContentWidth #attr:minContentWidth#
+{- | The minimum content width of /@scrolledWindow@/, or -1 if not set.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowMinContentWidthPropertyInfo,
+#endif
+    constructScrolledWindowMinContentWidth  ,
+    getScrolledWindowMinContentWidth        ,
+#if ENABLE_OVERLOADING
+    scrolledWindowMinContentWidth           ,
+#endif
+    setScrolledWindowMinContentWidth        ,
+
+
+-- ** overlayScrolling #attr:overlayScrolling#
+{- | Whether overlay scrolling is enabled or not. If it is, the
+scrollbars are only added as traditional widgets when a mouse
+is present. Otherwise, they are overlayed on top of the content,
+as narrow indicators.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowOverlayScrollingPropertyInfo,
+#endif
+    constructScrolledWindowOverlayScrolling ,
+    getScrolledWindowOverlayScrolling       ,
+#if ENABLE_OVERLOADING
+    scrolledWindowOverlayScrolling          ,
+#endif
+    setScrolledWindowOverlayScrolling       ,
+
+
+-- ** propagateNaturalHeight #attr:propagateNaturalHeight#
+{- | Whether the natural height of the child should be calculated and propagated
+through the scrolled window’s requested natural height.
+
+This is useful in cases where an attempt should be made to allocate exactly
+enough space for the natural size of the child.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowPropagateNaturalHeightPropertyInfo,
+#endif
+    constructScrolledWindowPropagateNaturalHeight,
+    getScrolledWindowPropagateNaturalHeight ,
+#if ENABLE_OVERLOADING
+    scrolledWindowPropagateNaturalHeight    ,
+#endif
+    setScrolledWindowPropagateNaturalHeight ,
+
+
+-- ** propagateNaturalWidth #attr:propagateNaturalWidth#
+{- | Whether the natural width of the child should be calculated and propagated
+through the scrolled window’s requested natural width.
+
+This is useful in cases where an attempt should be made to allocate exactly
+enough space for the natural size of the child.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowPropagateNaturalWidthPropertyInfo,
+#endif
+    constructScrolledWindowPropagateNaturalWidth,
+    getScrolledWindowPropagateNaturalWidth  ,
+#if ENABLE_OVERLOADING
+    scrolledWindowPropagateNaturalWidth     ,
+#endif
+    setScrolledWindowPropagateNaturalWidth  ,
+
+
+-- ** shadowType #attr:shadowType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowShadowTypePropertyInfo    ,
+#endif
+    constructScrolledWindowShadowType       ,
+    getScrolledWindowShadowType             ,
+#if ENABLE_OVERLOADING
+    scrolledWindowShadowType                ,
+#endif
+    setScrolledWindowShadowType             ,
+
+
+-- ** vadjustment #attr:vadjustment#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowVadjustmentPropertyInfo   ,
+#endif
+    constructScrolledWindowVadjustment      ,
+    getScrolledWindowVadjustment            ,
+#if ENABLE_OVERLOADING
+    scrolledWindowVadjustment               ,
+#endif
+    setScrolledWindowVadjustment            ,
+
+
+-- ** vscrollbarPolicy #attr:vscrollbarPolicy#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowVscrollbarPolicyPropertyInfo,
+#endif
+    constructScrolledWindowVscrollbarPolicy ,
+    getScrolledWindowVscrollbarPolicy       ,
+#if ENABLE_OVERLOADING
+    scrolledWindowVscrollbarPolicy          ,
+#endif
+    setScrolledWindowVscrollbarPolicy       ,
+
+
+-- ** windowPlacement #attr:windowPlacement#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowWindowPlacementPropertyInfo,
+#endif
+    constructScrolledWindowWindowPlacement  ,
+    getScrolledWindowWindowPlacement        ,
+#if ENABLE_OVERLOADING
+    scrolledWindowWindowPlacement           ,
+#endif
+    setScrolledWindowWindowPlacement        ,
+
+
+-- ** windowPlacementSet #attr:windowPlacementSet#
+{- | Whether \"window-placement\" should be used to determine the location
+of the contents with respect to the scrollbars.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    ScrolledWindowWindowPlacementSetPropertyInfo,
+#endif
+    constructScrolledWindowWindowPlacementSet,
+    getScrolledWindowWindowPlacementSet     ,
+#if ENABLE_OVERLOADING
+    scrolledWindowWindowPlacementSet        ,
+#endif
+    setScrolledWindowWindowPlacementSet     ,
+
+
+
+
+ -- * Signals
+-- ** edgeOvershot #signal:edgeOvershot#
+
+    C_ScrolledWindowEdgeOvershotCallback    ,
+    ScrolledWindowEdgeOvershotCallback      ,
+#if ENABLE_OVERLOADING
+    ScrolledWindowEdgeOvershotSignalInfo    ,
+#endif
+    afterScrolledWindowEdgeOvershot         ,
+    genClosure_ScrolledWindowEdgeOvershot   ,
+    mk_ScrolledWindowEdgeOvershotCallback   ,
+    noScrolledWindowEdgeOvershotCallback    ,
+    onScrolledWindowEdgeOvershot            ,
+    wrap_ScrolledWindowEdgeOvershotCallback ,
+
+
+-- ** edgeReached #signal:edgeReached#
+
+    C_ScrolledWindowEdgeReachedCallback     ,
+    ScrolledWindowEdgeReachedCallback       ,
+#if ENABLE_OVERLOADING
+    ScrolledWindowEdgeReachedSignalInfo     ,
+#endif
+    afterScrolledWindowEdgeReached          ,
+    genClosure_ScrolledWindowEdgeReached    ,
+    mk_ScrolledWindowEdgeReachedCallback    ,
+    noScrolledWindowEdgeReachedCallback     ,
+    onScrolledWindowEdgeReached             ,
+    wrap_ScrolledWindowEdgeReachedCallback  ,
+
+
+-- ** moveFocusOut #signal:moveFocusOut#
+
+    C_ScrolledWindowMoveFocusOutCallback    ,
+    ScrolledWindowMoveFocusOutCallback      ,
+#if ENABLE_OVERLOADING
+    ScrolledWindowMoveFocusOutSignalInfo    ,
+#endif
+    afterScrolledWindowMoveFocusOut         ,
+    genClosure_ScrolledWindowMoveFocusOut   ,
+    mk_ScrolledWindowMoveFocusOutCallback   ,
+    noScrolledWindowMoveFocusOutCallback    ,
+    onScrolledWindowMoveFocusOut            ,
+    wrap_ScrolledWindowMoveFocusOutCallback ,
+
+
+-- ** scrollChild #signal:scrollChild#
+
+    C_ScrolledWindowScrollChildCallback     ,
+    ScrolledWindowScrollChildCallback       ,
+#if ENABLE_OVERLOADING
+    ScrolledWindowScrollChildSignalInfo     ,
+#endif
+    afterScrolledWindowScrollChild          ,
+    genClosure_ScrolledWindowScrollChild    ,
+    mk_ScrolledWindowScrollChildCallback    ,
+    noScrolledWindowScrollChildCallback     ,
+    onScrolledWindowScrollChild             ,
+    wrap_ScrolledWindowScrollChildCallback  ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ScrolledWindow = ScrolledWindow (ManagedPtr ScrolledWindow)
+foreign import ccall "gtk_scrolled_window_get_type"
+    c_gtk_scrolled_window_get_type :: IO GType
+
+instance GObject ScrolledWindow where
+    gobjectType = c_gtk_scrolled_window_get_type
+    
+
+-- | Type class for types which can be safely cast to `ScrolledWindow`, for instance with `toScrolledWindow`.
+class (GObject o, O.IsDescendantOf ScrolledWindow o) => IsScrolledWindow o
+instance (GObject o, O.IsDescendantOf ScrolledWindow o) => IsScrolledWindow o
+
+instance O.HasParentTypes ScrolledWindow
+type instance O.ParentTypes ScrolledWindow = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `ScrolledWindow`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toScrolledWindow :: (MonadIO m, IsScrolledWindow o) => o -> m ScrolledWindow
+toScrolledWindow = liftIO . unsafeCastTo ScrolledWindow
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ScrolledWindow`.
+noScrolledWindow :: Maybe ScrolledWindow
+noScrolledWindow = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveScrolledWindowMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScrolledWindowMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveScrolledWindowMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveScrolledWindowMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveScrolledWindowMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveScrolledWindowMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveScrolledWindowMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveScrolledWindowMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveScrolledWindowMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveScrolledWindowMethod "addWithViewport" o = ScrolledWindowAddWithViewportMethodInfo
+    ResolveScrolledWindowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveScrolledWindowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveScrolledWindowMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveScrolledWindowMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveScrolledWindowMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveScrolledWindowMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveScrolledWindowMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveScrolledWindowMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveScrolledWindowMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveScrolledWindowMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveScrolledWindowMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveScrolledWindowMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveScrolledWindowMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveScrolledWindowMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveScrolledWindowMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveScrolledWindowMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveScrolledWindowMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveScrolledWindowMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveScrolledWindowMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveScrolledWindowMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveScrolledWindowMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveScrolledWindowMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveScrolledWindowMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveScrolledWindowMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveScrolledWindowMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveScrolledWindowMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveScrolledWindowMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveScrolledWindowMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveScrolledWindowMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveScrolledWindowMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveScrolledWindowMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveScrolledWindowMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveScrolledWindowMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveScrolledWindowMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveScrolledWindowMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveScrolledWindowMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveScrolledWindowMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveScrolledWindowMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveScrolledWindowMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveScrolledWindowMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveScrolledWindowMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveScrolledWindowMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveScrolledWindowMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveScrolledWindowMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveScrolledWindowMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveScrolledWindowMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveScrolledWindowMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveScrolledWindowMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveScrolledWindowMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveScrolledWindowMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveScrolledWindowMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveScrolledWindowMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveScrolledWindowMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveScrolledWindowMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveScrolledWindowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveScrolledWindowMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveScrolledWindowMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveScrolledWindowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveScrolledWindowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveScrolledWindowMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveScrolledWindowMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveScrolledWindowMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveScrolledWindowMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveScrolledWindowMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveScrolledWindowMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveScrolledWindowMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveScrolledWindowMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveScrolledWindowMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveScrolledWindowMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveScrolledWindowMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveScrolledWindowMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveScrolledWindowMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveScrolledWindowMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveScrolledWindowMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveScrolledWindowMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveScrolledWindowMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveScrolledWindowMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveScrolledWindowMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveScrolledWindowMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveScrolledWindowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveScrolledWindowMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveScrolledWindowMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveScrolledWindowMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveScrolledWindowMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveScrolledWindowMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveScrolledWindowMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveScrolledWindowMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveScrolledWindowMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveScrolledWindowMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveScrolledWindowMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveScrolledWindowMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveScrolledWindowMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveScrolledWindowMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveScrolledWindowMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveScrolledWindowMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveScrolledWindowMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveScrolledWindowMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveScrolledWindowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveScrolledWindowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveScrolledWindowMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveScrolledWindowMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveScrolledWindowMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveScrolledWindowMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveScrolledWindowMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveScrolledWindowMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveScrolledWindowMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveScrolledWindowMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveScrolledWindowMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveScrolledWindowMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveScrolledWindowMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveScrolledWindowMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveScrolledWindowMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveScrolledWindowMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveScrolledWindowMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveScrolledWindowMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveScrolledWindowMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveScrolledWindowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveScrolledWindowMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveScrolledWindowMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveScrolledWindowMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveScrolledWindowMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveScrolledWindowMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveScrolledWindowMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveScrolledWindowMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveScrolledWindowMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveScrolledWindowMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveScrolledWindowMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveScrolledWindowMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveScrolledWindowMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveScrolledWindowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveScrolledWindowMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveScrolledWindowMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveScrolledWindowMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveScrolledWindowMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveScrolledWindowMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveScrolledWindowMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveScrolledWindowMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveScrolledWindowMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveScrolledWindowMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveScrolledWindowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveScrolledWindowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveScrolledWindowMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveScrolledWindowMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveScrolledWindowMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveScrolledWindowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveScrolledWindowMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveScrolledWindowMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveScrolledWindowMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveScrolledWindowMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveScrolledWindowMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveScrolledWindowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveScrolledWindowMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveScrolledWindowMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveScrolledWindowMethod "unsetPlacement" o = ScrolledWindowUnsetPlacementMethodInfo
+    ResolveScrolledWindowMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveScrolledWindowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveScrolledWindowMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveScrolledWindowMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveScrolledWindowMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveScrolledWindowMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveScrolledWindowMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveScrolledWindowMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveScrolledWindowMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveScrolledWindowMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveScrolledWindowMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveScrolledWindowMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveScrolledWindowMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveScrolledWindowMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveScrolledWindowMethod "getCaptureButtonPress" o = ScrolledWindowGetCaptureButtonPressMethodInfo
+    ResolveScrolledWindowMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveScrolledWindowMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveScrolledWindowMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveScrolledWindowMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveScrolledWindowMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveScrolledWindowMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveScrolledWindowMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveScrolledWindowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveScrolledWindowMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveScrolledWindowMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveScrolledWindowMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveScrolledWindowMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveScrolledWindowMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveScrolledWindowMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveScrolledWindowMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveScrolledWindowMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveScrolledWindowMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveScrolledWindowMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveScrolledWindowMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveScrolledWindowMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveScrolledWindowMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveScrolledWindowMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveScrolledWindowMethod "getHadjustment" o = ScrolledWindowGetHadjustmentMethodInfo
+    ResolveScrolledWindowMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveScrolledWindowMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveScrolledWindowMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveScrolledWindowMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveScrolledWindowMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveScrolledWindowMethod "getHscrollbar" o = ScrolledWindowGetHscrollbarMethodInfo
+    ResolveScrolledWindowMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveScrolledWindowMethod "getKineticScrolling" o = ScrolledWindowGetKineticScrollingMethodInfo
+    ResolveScrolledWindowMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveScrolledWindowMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveScrolledWindowMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveScrolledWindowMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveScrolledWindowMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveScrolledWindowMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveScrolledWindowMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveScrolledWindowMethod "getMaxContentHeight" o = ScrolledWindowGetMaxContentHeightMethodInfo
+    ResolveScrolledWindowMethod "getMaxContentWidth" o = ScrolledWindowGetMaxContentWidthMethodInfo
+    ResolveScrolledWindowMethod "getMinContentHeight" o = ScrolledWindowGetMinContentHeightMethodInfo
+    ResolveScrolledWindowMethod "getMinContentWidth" o = ScrolledWindowGetMinContentWidthMethodInfo
+    ResolveScrolledWindowMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveScrolledWindowMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveScrolledWindowMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveScrolledWindowMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveScrolledWindowMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveScrolledWindowMethod "getOverlayScrolling" o = ScrolledWindowGetOverlayScrollingMethodInfo
+    ResolveScrolledWindowMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveScrolledWindowMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveScrolledWindowMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveScrolledWindowMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveScrolledWindowMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveScrolledWindowMethod "getPlacement" o = ScrolledWindowGetPlacementMethodInfo
+    ResolveScrolledWindowMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveScrolledWindowMethod "getPolicy" o = ScrolledWindowGetPolicyMethodInfo
+    ResolveScrolledWindowMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveScrolledWindowMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveScrolledWindowMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveScrolledWindowMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveScrolledWindowMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveScrolledWindowMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveScrolledWindowMethod "getPropagateNaturalHeight" o = ScrolledWindowGetPropagateNaturalHeightMethodInfo
+    ResolveScrolledWindowMethod "getPropagateNaturalWidth" o = ScrolledWindowGetPropagateNaturalWidthMethodInfo
+    ResolveScrolledWindowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveScrolledWindowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveScrolledWindowMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveScrolledWindowMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveScrolledWindowMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveScrolledWindowMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveScrolledWindowMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveScrolledWindowMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveScrolledWindowMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveScrolledWindowMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveScrolledWindowMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveScrolledWindowMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveScrolledWindowMethod "getShadowType" o = ScrolledWindowGetShadowTypeMethodInfo
+    ResolveScrolledWindowMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveScrolledWindowMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveScrolledWindowMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveScrolledWindowMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveScrolledWindowMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveScrolledWindowMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveScrolledWindowMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveScrolledWindowMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveScrolledWindowMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveScrolledWindowMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveScrolledWindowMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveScrolledWindowMethod "getVadjustment" o = ScrolledWindowGetVadjustmentMethodInfo
+    ResolveScrolledWindowMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveScrolledWindowMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveScrolledWindowMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveScrolledWindowMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveScrolledWindowMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveScrolledWindowMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveScrolledWindowMethod "getVscrollbar" o = ScrolledWindowGetVscrollbarMethodInfo
+    ResolveScrolledWindowMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveScrolledWindowMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveScrolledWindowMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveScrolledWindowMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveScrolledWindowMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveScrolledWindowMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveScrolledWindowMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveScrolledWindowMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveScrolledWindowMethod "setCaptureButtonPress" o = ScrolledWindowSetCaptureButtonPressMethodInfo
+    ResolveScrolledWindowMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveScrolledWindowMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveScrolledWindowMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveScrolledWindowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveScrolledWindowMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveScrolledWindowMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveScrolledWindowMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveScrolledWindowMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveScrolledWindowMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveScrolledWindowMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveScrolledWindowMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveScrolledWindowMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveScrolledWindowMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveScrolledWindowMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveScrolledWindowMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveScrolledWindowMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveScrolledWindowMethod "setHadjustment" o = ScrolledWindowSetHadjustmentMethodInfo
+    ResolveScrolledWindowMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveScrolledWindowMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveScrolledWindowMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveScrolledWindowMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveScrolledWindowMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveScrolledWindowMethod "setKineticScrolling" o = ScrolledWindowSetKineticScrollingMethodInfo
+    ResolveScrolledWindowMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveScrolledWindowMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveScrolledWindowMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveScrolledWindowMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveScrolledWindowMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveScrolledWindowMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveScrolledWindowMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveScrolledWindowMethod "setMaxContentHeight" o = ScrolledWindowSetMaxContentHeightMethodInfo
+    ResolveScrolledWindowMethod "setMaxContentWidth" o = ScrolledWindowSetMaxContentWidthMethodInfo
+    ResolveScrolledWindowMethod "setMinContentHeight" o = ScrolledWindowSetMinContentHeightMethodInfo
+    ResolveScrolledWindowMethod "setMinContentWidth" o = ScrolledWindowSetMinContentWidthMethodInfo
+    ResolveScrolledWindowMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveScrolledWindowMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveScrolledWindowMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveScrolledWindowMethod "setOverlayScrolling" o = ScrolledWindowSetOverlayScrollingMethodInfo
+    ResolveScrolledWindowMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveScrolledWindowMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveScrolledWindowMethod "setPlacement" o = ScrolledWindowSetPlacementMethodInfo
+    ResolveScrolledWindowMethod "setPolicy" o = ScrolledWindowSetPolicyMethodInfo
+    ResolveScrolledWindowMethod "setPropagateNaturalHeight" o = ScrolledWindowSetPropagateNaturalHeightMethodInfo
+    ResolveScrolledWindowMethod "setPropagateNaturalWidth" o = ScrolledWindowSetPropagateNaturalWidthMethodInfo
+    ResolveScrolledWindowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveScrolledWindowMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveScrolledWindowMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveScrolledWindowMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveScrolledWindowMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveScrolledWindowMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveScrolledWindowMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveScrolledWindowMethod "setShadowType" o = ScrolledWindowSetShadowTypeMethodInfo
+    ResolveScrolledWindowMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveScrolledWindowMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveScrolledWindowMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveScrolledWindowMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveScrolledWindowMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveScrolledWindowMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveScrolledWindowMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveScrolledWindowMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveScrolledWindowMethod "setVadjustment" o = ScrolledWindowSetVadjustmentMethodInfo
+    ResolveScrolledWindowMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveScrolledWindowMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveScrolledWindowMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveScrolledWindowMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveScrolledWindowMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveScrolledWindowMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveScrolledWindowMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveScrolledWindowMethod t ScrolledWindow, O.MethodInfo info ScrolledWindow p) => OL.IsLabel t (ScrolledWindow -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ScrolledWindow::edge-overshot
+{- |
+The ::edge-overshot signal is emitted whenever user initiated scrolling
+makes the scrolled window firmly surpass (i.e. with some edge resistance)
+the lower or upper limits defined by the adjustment in that orientation.
+
+A similar behavior without edge resistance is provided by the
+'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow'::@/edge-reached/@ signal.
+
+Note: The /@pos@/ argument is LTR\/RTL aware, so callers should be aware too
+if intending to provide behavior on horizontal edges.
+
+/Since: 3.16/
+-}
+type ScrolledWindowEdgeOvershotCallback =
+    Gtk.Enums.PositionType
+    {- ^ /@pos@/: edge side that was hit -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ScrolledWindowEdgeOvershotCallback`@.
+noScrolledWindowEdgeOvershotCallback :: Maybe ScrolledWindowEdgeOvershotCallback
+noScrolledWindowEdgeOvershotCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ScrolledWindowEdgeOvershotCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ScrolledWindowEdgeOvershotCallback`.
+foreign import ccall "wrapper"
+    mk_ScrolledWindowEdgeOvershotCallback :: C_ScrolledWindowEdgeOvershotCallback -> IO (FunPtr C_ScrolledWindowEdgeOvershotCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ScrolledWindowEdgeOvershot :: MonadIO m => ScrolledWindowEdgeOvershotCallback -> m (GClosure C_ScrolledWindowEdgeOvershotCallback)
+genClosure_ScrolledWindowEdgeOvershot cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowEdgeOvershotCallback cb
+    mk_ScrolledWindowEdgeOvershotCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ScrolledWindowEdgeOvershotCallback` into a `C_ScrolledWindowEdgeOvershotCallback`.
+wrap_ScrolledWindowEdgeOvershotCallback ::
+    ScrolledWindowEdgeOvershotCallback ->
+    C_ScrolledWindowEdgeOvershotCallback
+wrap_ScrolledWindowEdgeOvershotCallback _cb _ pos _ = do
+    let pos' = (toEnum . fromIntegral) pos
+    _cb  pos'
+
+
+{- |
+Connect a signal handler for the “@edge-overshot@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' scrolledWindow #edgeOvershot callback
+@
+-}
+onScrolledWindowEdgeOvershot :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowEdgeOvershotCallback -> m SignalHandlerId
+onScrolledWindowEdgeOvershot obj cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowEdgeOvershotCallback cb
+    cb'' <- mk_ScrolledWindowEdgeOvershotCallback cb'
+    connectSignalFunPtr obj "edge-overshot" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@edge-overshot@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' scrolledWindow #edgeOvershot callback
+@
+-}
+afterScrolledWindowEdgeOvershot :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowEdgeOvershotCallback -> m SignalHandlerId
+afterScrolledWindowEdgeOvershot obj cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowEdgeOvershotCallback cb
+    cb'' <- mk_ScrolledWindowEdgeOvershotCallback cb'
+    connectSignalFunPtr obj "edge-overshot" cb'' SignalConnectAfter
+
+
+-- signal ScrolledWindow::edge-reached
+{- |
+The ::edge-reached signal is emitted whenever user-initiated scrolling
+makes the scrolled window exactly reach the lower or upper limits
+defined by the adjustment in that orientation.
+
+A similar behavior with edge resistance is provided by the
+'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow'::@/edge-overshot/@ signal.
+
+Note: The /@pos@/ argument is LTR\/RTL aware, so callers should be aware too
+if intending to provide behavior on horizontal edges.
+
+/Since: 3.16/
+-}
+type ScrolledWindowEdgeReachedCallback =
+    Gtk.Enums.PositionType
+    {- ^ /@pos@/: edge side that was reached -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ScrolledWindowEdgeReachedCallback`@.
+noScrolledWindowEdgeReachedCallback :: Maybe ScrolledWindowEdgeReachedCallback
+noScrolledWindowEdgeReachedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ScrolledWindowEdgeReachedCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ScrolledWindowEdgeReachedCallback`.
+foreign import ccall "wrapper"
+    mk_ScrolledWindowEdgeReachedCallback :: C_ScrolledWindowEdgeReachedCallback -> IO (FunPtr C_ScrolledWindowEdgeReachedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ScrolledWindowEdgeReached :: MonadIO m => ScrolledWindowEdgeReachedCallback -> m (GClosure C_ScrolledWindowEdgeReachedCallback)
+genClosure_ScrolledWindowEdgeReached cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowEdgeReachedCallback cb
+    mk_ScrolledWindowEdgeReachedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ScrolledWindowEdgeReachedCallback` into a `C_ScrolledWindowEdgeReachedCallback`.
+wrap_ScrolledWindowEdgeReachedCallback ::
+    ScrolledWindowEdgeReachedCallback ->
+    C_ScrolledWindowEdgeReachedCallback
+wrap_ScrolledWindowEdgeReachedCallback _cb _ pos _ = do
+    let pos' = (toEnum . fromIntegral) pos
+    _cb  pos'
+
+
+{- |
+Connect a signal handler for the “@edge-reached@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' scrolledWindow #edgeReached callback
+@
+-}
+onScrolledWindowEdgeReached :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowEdgeReachedCallback -> m SignalHandlerId
+onScrolledWindowEdgeReached obj cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowEdgeReachedCallback cb
+    cb'' <- mk_ScrolledWindowEdgeReachedCallback cb'
+    connectSignalFunPtr obj "edge-reached" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@edge-reached@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' scrolledWindow #edgeReached callback
+@
+-}
+afterScrolledWindowEdgeReached :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowEdgeReachedCallback -> m SignalHandlerId
+afterScrolledWindowEdgeReached obj cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowEdgeReachedCallback cb
+    cb'' <- mk_ScrolledWindowEdgeReachedCallback cb'
+    connectSignalFunPtr obj "edge-reached" cb'' SignalConnectAfter
+
+
+-- signal ScrolledWindow::move-focus-out
+{- |
+The ::move-focus-out signal is a
+[keybinding signal][GtkBindingSignal] which gets
+emitted when focus is moved away from the scrolled window by a
+keybinding. The 'GI.Gtk.Objects.Widget.Widget'::@/move-focus/@ signal is emitted with
+/@directionType@/ on this scrolled window’s toplevel parent in the
+container hierarchy. The default bindings for this signal are
+@Ctrl + Tab@ to move forward and @Ctrl + Shift + Tab@ to move backward.
+-}
+type ScrolledWindowMoveFocusOutCallback =
+    Gtk.Enums.DirectionType
+    {- ^ /@directionType@/: either 'GI.Gtk.Enums.DirectionTypeTabForward' or
+  'GI.Gtk.Enums.DirectionTypeTabBackward' -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ScrolledWindowMoveFocusOutCallback`@.
+noScrolledWindowMoveFocusOutCallback :: Maybe ScrolledWindowMoveFocusOutCallback
+noScrolledWindowMoveFocusOutCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ScrolledWindowMoveFocusOutCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ScrolledWindowMoveFocusOutCallback`.
+foreign import ccall "wrapper"
+    mk_ScrolledWindowMoveFocusOutCallback :: C_ScrolledWindowMoveFocusOutCallback -> IO (FunPtr C_ScrolledWindowMoveFocusOutCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ScrolledWindowMoveFocusOut :: MonadIO m => ScrolledWindowMoveFocusOutCallback -> m (GClosure C_ScrolledWindowMoveFocusOutCallback)
+genClosure_ScrolledWindowMoveFocusOut cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowMoveFocusOutCallback cb
+    mk_ScrolledWindowMoveFocusOutCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ScrolledWindowMoveFocusOutCallback` into a `C_ScrolledWindowMoveFocusOutCallback`.
+wrap_ScrolledWindowMoveFocusOutCallback ::
+    ScrolledWindowMoveFocusOutCallback ->
+    C_ScrolledWindowMoveFocusOutCallback
+wrap_ScrolledWindowMoveFocusOutCallback _cb _ directionType _ = do
+    let directionType' = (toEnum . fromIntegral) directionType
+    _cb  directionType'
+
+
+{- |
+Connect a signal handler for the “@move-focus-out@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' scrolledWindow #moveFocusOut callback
+@
+-}
+onScrolledWindowMoveFocusOut :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowMoveFocusOutCallback -> m SignalHandlerId
+onScrolledWindowMoveFocusOut obj cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowMoveFocusOutCallback cb
+    cb'' <- mk_ScrolledWindowMoveFocusOutCallback cb'
+    connectSignalFunPtr obj "move-focus-out" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-focus-out@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' scrolledWindow #moveFocusOut callback
+@
+-}
+afterScrolledWindowMoveFocusOut :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowMoveFocusOutCallback -> m SignalHandlerId
+afterScrolledWindowMoveFocusOut obj cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowMoveFocusOutCallback cb
+    cb'' <- mk_ScrolledWindowMoveFocusOutCallback cb'
+    connectSignalFunPtr obj "move-focus-out" cb'' SignalConnectAfter
+
+
+-- signal ScrolledWindow::scroll-child
+{- |
+The ::scroll-child signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when a keybinding that scrolls is pressed.
+The horizontal or vertical adjustment is updated which triggers a
+signal that the scrolled window’s child may listen to and scroll itself.
+-}
+type ScrolledWindowScrollChildCallback =
+    Gtk.Enums.ScrollType
+    {- ^ /@scroll@/: a 'GI.Gtk.Enums.ScrollType' describing how much to scroll -}
+    -> Bool
+    {- ^ /@horizontal@/: whether the keybinding scrolls the child
+  horizontally or not -}
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ScrolledWindowScrollChildCallback`@.
+noScrolledWindowScrollChildCallback :: Maybe ScrolledWindowScrollChildCallback
+noScrolledWindowScrollChildCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ScrolledWindowScrollChildCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_ScrolledWindowScrollChildCallback`.
+foreign import ccall "wrapper"
+    mk_ScrolledWindowScrollChildCallback :: C_ScrolledWindowScrollChildCallback -> IO (FunPtr C_ScrolledWindowScrollChildCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ScrolledWindowScrollChild :: MonadIO m => ScrolledWindowScrollChildCallback -> m (GClosure C_ScrolledWindowScrollChildCallback)
+genClosure_ScrolledWindowScrollChild cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowScrollChildCallback cb
+    mk_ScrolledWindowScrollChildCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ScrolledWindowScrollChildCallback` into a `C_ScrolledWindowScrollChildCallback`.
+wrap_ScrolledWindowScrollChildCallback ::
+    ScrolledWindowScrollChildCallback ->
+    C_ScrolledWindowScrollChildCallback
+wrap_ScrolledWindowScrollChildCallback _cb _ scroll horizontal _ = do
+    let scroll' = (toEnum . fromIntegral) scroll
+    let horizontal' = (/= 0) horizontal
+    result <- _cb  scroll' horizontal'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@scroll-child@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' scrolledWindow #scrollChild callback
+@
+-}
+onScrolledWindowScrollChild :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowScrollChildCallback -> m SignalHandlerId
+onScrolledWindowScrollChild obj cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowScrollChildCallback cb
+    cb'' <- mk_ScrolledWindowScrollChildCallback cb'
+    connectSignalFunPtr obj "scroll-child" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@scroll-child@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' scrolledWindow #scrollChild callback
+@
+-}
+afterScrolledWindowScrollChild :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowScrollChildCallback -> m SignalHandlerId
+afterScrolledWindowScrollChild obj cb = liftIO $ do
+    let cb' = wrap_ScrolledWindowScrollChildCallback cb
+    cb'' <- mk_ScrolledWindowScrollChildCallback cb'
+    connectSignalFunPtr obj "scroll-child" cb'' SignalConnectAfter
+
+
+-- VVV Prop "hadjustment"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@hadjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #hadjustment
+@
+-}
+getScrolledWindowHadjustment :: (MonadIO m, IsScrolledWindow o) => o -> m Gtk.Adjustment.Adjustment
+getScrolledWindowHadjustment obj = liftIO $ checkUnexpectedNothing "getScrolledWindowHadjustment" $ B.Properties.getObjectPropertyObject obj "hadjustment" Gtk.Adjustment.Adjustment
+
+{- |
+Set the value of the “@hadjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #hadjustment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowHadjustment :: (MonadIO m, IsScrolledWindow o, Gtk.Adjustment.IsAdjustment a) => o -> a -> m ()
+setScrolledWindowHadjustment obj val = liftIO $ B.Properties.setObjectPropertyObject obj "hadjustment" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hadjustment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowHadjustment :: (IsScrolledWindow o, Gtk.Adjustment.IsAdjustment a) => a -> IO (GValueConstruct o)
+constructScrolledWindowHadjustment val = B.Properties.constructObjectPropertyObject "hadjustment" (Just val)
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowHadjustmentPropertyInfo
+instance AttrInfo ScrolledWindowHadjustmentPropertyInfo where
+    type AttrAllowedOps ScrolledWindowHadjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowHadjustmentPropertyInfo = Gtk.Adjustment.IsAdjustment
+    type AttrBaseTypeConstraint ScrolledWindowHadjustmentPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowHadjustmentPropertyInfo = Gtk.Adjustment.Adjustment
+    type AttrLabel ScrolledWindowHadjustmentPropertyInfo = "hadjustment"
+    type AttrOrigin ScrolledWindowHadjustmentPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowHadjustment
+    attrSet _ = setScrolledWindowHadjustment
+    attrConstruct _ = constructScrolledWindowHadjustment
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "hscrollbar-policy"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PolicyType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@hscrollbar-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #hscrollbarPolicy
+@
+-}
+getScrolledWindowHscrollbarPolicy :: (MonadIO m, IsScrolledWindow o) => o -> m Gtk.Enums.PolicyType
+getScrolledWindowHscrollbarPolicy obj = liftIO $ B.Properties.getObjectPropertyEnum obj "hscrollbar-policy"
+
+{- |
+Set the value of the “@hscrollbar-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #hscrollbarPolicy 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowHscrollbarPolicy :: (MonadIO m, IsScrolledWindow o) => o -> Gtk.Enums.PolicyType -> m ()
+setScrolledWindowHscrollbarPolicy obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "hscrollbar-policy" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hscrollbar-policy@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowHscrollbarPolicy :: (IsScrolledWindow o) => Gtk.Enums.PolicyType -> IO (GValueConstruct o)
+constructScrolledWindowHscrollbarPolicy val = B.Properties.constructObjectPropertyEnum "hscrollbar-policy" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowHscrollbarPolicyPropertyInfo
+instance AttrInfo ScrolledWindowHscrollbarPolicyPropertyInfo where
+    type AttrAllowedOps ScrolledWindowHscrollbarPolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowHscrollbarPolicyPropertyInfo = (~) Gtk.Enums.PolicyType
+    type AttrBaseTypeConstraint ScrolledWindowHscrollbarPolicyPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowHscrollbarPolicyPropertyInfo = Gtk.Enums.PolicyType
+    type AttrLabel ScrolledWindowHscrollbarPolicyPropertyInfo = "hscrollbar-policy"
+    type AttrOrigin ScrolledWindowHscrollbarPolicyPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowHscrollbarPolicy
+    attrSet _ = setScrolledWindowHscrollbarPolicy
+    attrConstruct _ = constructScrolledWindowHscrollbarPolicy
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "kinetic-scrolling"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@kinetic-scrolling@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #kineticScrolling
+@
+-}
+getScrolledWindowKineticScrolling :: (MonadIO m, IsScrolledWindow o) => o -> m Bool
+getScrolledWindowKineticScrolling obj = liftIO $ B.Properties.getObjectPropertyBool obj "kinetic-scrolling"
+
+{- |
+Set the value of the “@kinetic-scrolling@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #kineticScrolling 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowKineticScrolling :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m ()
+setScrolledWindowKineticScrolling obj val = liftIO $ B.Properties.setObjectPropertyBool obj "kinetic-scrolling" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@kinetic-scrolling@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowKineticScrolling :: (IsScrolledWindow o) => Bool -> IO (GValueConstruct o)
+constructScrolledWindowKineticScrolling val = B.Properties.constructObjectPropertyBool "kinetic-scrolling" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowKineticScrollingPropertyInfo
+instance AttrInfo ScrolledWindowKineticScrollingPropertyInfo where
+    type AttrAllowedOps ScrolledWindowKineticScrollingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowKineticScrollingPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ScrolledWindowKineticScrollingPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowKineticScrollingPropertyInfo = Bool
+    type AttrLabel ScrolledWindowKineticScrollingPropertyInfo = "kinetic-scrolling"
+    type AttrOrigin ScrolledWindowKineticScrollingPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowKineticScrolling
+    attrSet _ = setScrolledWindowKineticScrolling
+    attrConstruct _ = constructScrolledWindowKineticScrolling
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "max-content-height"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@max-content-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #maxContentHeight
+@
+-}
+getScrolledWindowMaxContentHeight :: (MonadIO m, IsScrolledWindow o) => o -> m Int32
+getScrolledWindowMaxContentHeight obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-content-height"
+
+{- |
+Set the value of the “@max-content-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #maxContentHeight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowMaxContentHeight :: (MonadIO m, IsScrolledWindow o) => o -> Int32 -> m ()
+setScrolledWindowMaxContentHeight obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "max-content-height" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-content-height@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowMaxContentHeight :: (IsScrolledWindow o) => Int32 -> IO (GValueConstruct o)
+constructScrolledWindowMaxContentHeight val = B.Properties.constructObjectPropertyInt32 "max-content-height" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowMaxContentHeightPropertyInfo
+instance AttrInfo ScrolledWindowMaxContentHeightPropertyInfo where
+    type AttrAllowedOps ScrolledWindowMaxContentHeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowMaxContentHeightPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ScrolledWindowMaxContentHeightPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowMaxContentHeightPropertyInfo = Int32
+    type AttrLabel ScrolledWindowMaxContentHeightPropertyInfo = "max-content-height"
+    type AttrOrigin ScrolledWindowMaxContentHeightPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowMaxContentHeight
+    attrSet _ = setScrolledWindowMaxContentHeight
+    attrConstruct _ = constructScrolledWindowMaxContentHeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "max-content-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@max-content-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #maxContentWidth
+@
+-}
+getScrolledWindowMaxContentWidth :: (MonadIO m, IsScrolledWindow o) => o -> m Int32
+getScrolledWindowMaxContentWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-content-width"
+
+{- |
+Set the value of the “@max-content-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #maxContentWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowMaxContentWidth :: (MonadIO m, IsScrolledWindow o) => o -> Int32 -> m ()
+setScrolledWindowMaxContentWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "max-content-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-content-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowMaxContentWidth :: (IsScrolledWindow o) => Int32 -> IO (GValueConstruct o)
+constructScrolledWindowMaxContentWidth val = B.Properties.constructObjectPropertyInt32 "max-content-width" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowMaxContentWidthPropertyInfo
+instance AttrInfo ScrolledWindowMaxContentWidthPropertyInfo where
+    type AttrAllowedOps ScrolledWindowMaxContentWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowMaxContentWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ScrolledWindowMaxContentWidthPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowMaxContentWidthPropertyInfo = Int32
+    type AttrLabel ScrolledWindowMaxContentWidthPropertyInfo = "max-content-width"
+    type AttrOrigin ScrolledWindowMaxContentWidthPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowMaxContentWidth
+    attrSet _ = setScrolledWindowMaxContentWidth
+    attrConstruct _ = constructScrolledWindowMaxContentWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "min-content-height"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@min-content-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #minContentHeight
+@
+-}
+getScrolledWindowMinContentHeight :: (MonadIO m, IsScrolledWindow o) => o -> m Int32
+getScrolledWindowMinContentHeight obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "min-content-height"
+
+{- |
+Set the value of the “@min-content-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #minContentHeight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowMinContentHeight :: (MonadIO m, IsScrolledWindow o) => o -> Int32 -> m ()
+setScrolledWindowMinContentHeight obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "min-content-height" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@min-content-height@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowMinContentHeight :: (IsScrolledWindow o) => Int32 -> IO (GValueConstruct o)
+constructScrolledWindowMinContentHeight val = B.Properties.constructObjectPropertyInt32 "min-content-height" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowMinContentHeightPropertyInfo
+instance AttrInfo ScrolledWindowMinContentHeightPropertyInfo where
+    type AttrAllowedOps ScrolledWindowMinContentHeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowMinContentHeightPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ScrolledWindowMinContentHeightPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowMinContentHeightPropertyInfo = Int32
+    type AttrLabel ScrolledWindowMinContentHeightPropertyInfo = "min-content-height"
+    type AttrOrigin ScrolledWindowMinContentHeightPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowMinContentHeight
+    attrSet _ = setScrolledWindowMinContentHeight
+    attrConstruct _ = constructScrolledWindowMinContentHeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "min-content-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@min-content-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #minContentWidth
+@
+-}
+getScrolledWindowMinContentWidth :: (MonadIO m, IsScrolledWindow o) => o -> m Int32
+getScrolledWindowMinContentWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "min-content-width"
+
+{- |
+Set the value of the “@min-content-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #minContentWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowMinContentWidth :: (MonadIO m, IsScrolledWindow o) => o -> Int32 -> m ()
+setScrolledWindowMinContentWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "min-content-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@min-content-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowMinContentWidth :: (IsScrolledWindow o) => Int32 -> IO (GValueConstruct o)
+constructScrolledWindowMinContentWidth val = B.Properties.constructObjectPropertyInt32 "min-content-width" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowMinContentWidthPropertyInfo
+instance AttrInfo ScrolledWindowMinContentWidthPropertyInfo where
+    type AttrAllowedOps ScrolledWindowMinContentWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowMinContentWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint ScrolledWindowMinContentWidthPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowMinContentWidthPropertyInfo = Int32
+    type AttrLabel ScrolledWindowMinContentWidthPropertyInfo = "min-content-width"
+    type AttrOrigin ScrolledWindowMinContentWidthPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowMinContentWidth
+    attrSet _ = setScrolledWindowMinContentWidth
+    attrConstruct _ = constructScrolledWindowMinContentWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "overlay-scrolling"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@overlay-scrolling@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #overlayScrolling
+@
+-}
+getScrolledWindowOverlayScrolling :: (MonadIO m, IsScrolledWindow o) => o -> m Bool
+getScrolledWindowOverlayScrolling obj = liftIO $ B.Properties.getObjectPropertyBool obj "overlay-scrolling"
+
+{- |
+Set the value of the “@overlay-scrolling@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #overlayScrolling 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowOverlayScrolling :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m ()
+setScrolledWindowOverlayScrolling obj val = liftIO $ B.Properties.setObjectPropertyBool obj "overlay-scrolling" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@overlay-scrolling@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowOverlayScrolling :: (IsScrolledWindow o) => Bool -> IO (GValueConstruct o)
+constructScrolledWindowOverlayScrolling val = B.Properties.constructObjectPropertyBool "overlay-scrolling" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowOverlayScrollingPropertyInfo
+instance AttrInfo ScrolledWindowOverlayScrollingPropertyInfo where
+    type AttrAllowedOps ScrolledWindowOverlayScrollingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowOverlayScrollingPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ScrolledWindowOverlayScrollingPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowOverlayScrollingPropertyInfo = Bool
+    type AttrLabel ScrolledWindowOverlayScrollingPropertyInfo = "overlay-scrolling"
+    type AttrOrigin ScrolledWindowOverlayScrollingPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowOverlayScrolling
+    attrSet _ = setScrolledWindowOverlayScrolling
+    attrConstruct _ = constructScrolledWindowOverlayScrolling
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "propagate-natural-height"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@propagate-natural-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #propagateNaturalHeight
+@
+-}
+getScrolledWindowPropagateNaturalHeight :: (MonadIO m, IsScrolledWindow o) => o -> m Bool
+getScrolledWindowPropagateNaturalHeight obj = liftIO $ B.Properties.getObjectPropertyBool obj "propagate-natural-height"
+
+{- |
+Set the value of the “@propagate-natural-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #propagateNaturalHeight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowPropagateNaturalHeight :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m ()
+setScrolledWindowPropagateNaturalHeight obj val = liftIO $ B.Properties.setObjectPropertyBool obj "propagate-natural-height" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@propagate-natural-height@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowPropagateNaturalHeight :: (IsScrolledWindow o) => Bool -> IO (GValueConstruct o)
+constructScrolledWindowPropagateNaturalHeight val = B.Properties.constructObjectPropertyBool "propagate-natural-height" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowPropagateNaturalHeightPropertyInfo
+instance AttrInfo ScrolledWindowPropagateNaturalHeightPropertyInfo where
+    type AttrAllowedOps ScrolledWindowPropagateNaturalHeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowPropagateNaturalHeightPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ScrolledWindowPropagateNaturalHeightPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowPropagateNaturalHeightPropertyInfo = Bool
+    type AttrLabel ScrolledWindowPropagateNaturalHeightPropertyInfo = "propagate-natural-height"
+    type AttrOrigin ScrolledWindowPropagateNaturalHeightPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowPropagateNaturalHeight
+    attrSet _ = setScrolledWindowPropagateNaturalHeight
+    attrConstruct _ = constructScrolledWindowPropagateNaturalHeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "propagate-natural-width"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@propagate-natural-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #propagateNaturalWidth
+@
+-}
+getScrolledWindowPropagateNaturalWidth :: (MonadIO m, IsScrolledWindow o) => o -> m Bool
+getScrolledWindowPropagateNaturalWidth obj = liftIO $ B.Properties.getObjectPropertyBool obj "propagate-natural-width"
+
+{- |
+Set the value of the “@propagate-natural-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #propagateNaturalWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowPropagateNaturalWidth :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m ()
+setScrolledWindowPropagateNaturalWidth obj val = liftIO $ B.Properties.setObjectPropertyBool obj "propagate-natural-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@propagate-natural-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowPropagateNaturalWidth :: (IsScrolledWindow o) => Bool -> IO (GValueConstruct o)
+constructScrolledWindowPropagateNaturalWidth val = B.Properties.constructObjectPropertyBool "propagate-natural-width" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowPropagateNaturalWidthPropertyInfo
+instance AttrInfo ScrolledWindowPropagateNaturalWidthPropertyInfo where
+    type AttrAllowedOps ScrolledWindowPropagateNaturalWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowPropagateNaturalWidthPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ScrolledWindowPropagateNaturalWidthPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowPropagateNaturalWidthPropertyInfo = Bool
+    type AttrLabel ScrolledWindowPropagateNaturalWidthPropertyInfo = "propagate-natural-width"
+    type AttrOrigin ScrolledWindowPropagateNaturalWidthPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowPropagateNaturalWidth
+    attrSet _ = setScrolledWindowPropagateNaturalWidth
+    attrConstruct _ = constructScrolledWindowPropagateNaturalWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "shadow-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #shadowType
+@
+-}
+getScrolledWindowShadowType :: (MonadIO m, IsScrolledWindow o) => o -> m Gtk.Enums.ShadowType
+getScrolledWindowShadowType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "shadow-type"
+
+{- |
+Set the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #shadowType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowShadowType :: (MonadIO m, IsScrolledWindow o) => o -> Gtk.Enums.ShadowType -> m ()
+setScrolledWindowShadowType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "shadow-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@shadow-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowShadowType :: (IsScrolledWindow o) => Gtk.Enums.ShadowType -> IO (GValueConstruct o)
+constructScrolledWindowShadowType val = B.Properties.constructObjectPropertyEnum "shadow-type" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowShadowTypePropertyInfo
+instance AttrInfo ScrolledWindowShadowTypePropertyInfo where
+    type AttrAllowedOps ScrolledWindowShadowTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowShadowTypePropertyInfo = (~) Gtk.Enums.ShadowType
+    type AttrBaseTypeConstraint ScrolledWindowShadowTypePropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowShadowTypePropertyInfo = Gtk.Enums.ShadowType
+    type AttrLabel ScrolledWindowShadowTypePropertyInfo = "shadow-type"
+    type AttrOrigin ScrolledWindowShadowTypePropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowShadowType
+    attrSet _ = setScrolledWindowShadowType
+    attrConstruct _ = constructScrolledWindowShadowType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "vadjustment"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@vadjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #vadjustment
+@
+-}
+getScrolledWindowVadjustment :: (MonadIO m, IsScrolledWindow o) => o -> m Gtk.Adjustment.Adjustment
+getScrolledWindowVadjustment obj = liftIO $ checkUnexpectedNothing "getScrolledWindowVadjustment" $ B.Properties.getObjectPropertyObject obj "vadjustment" Gtk.Adjustment.Adjustment
+
+{- |
+Set the value of the “@vadjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #vadjustment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowVadjustment :: (MonadIO m, IsScrolledWindow o, Gtk.Adjustment.IsAdjustment a) => o -> a -> m ()
+setScrolledWindowVadjustment obj val = liftIO $ B.Properties.setObjectPropertyObject obj "vadjustment" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@vadjustment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowVadjustment :: (IsScrolledWindow o, Gtk.Adjustment.IsAdjustment a) => a -> IO (GValueConstruct o)
+constructScrolledWindowVadjustment val = B.Properties.constructObjectPropertyObject "vadjustment" (Just val)
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowVadjustmentPropertyInfo
+instance AttrInfo ScrolledWindowVadjustmentPropertyInfo where
+    type AttrAllowedOps ScrolledWindowVadjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowVadjustmentPropertyInfo = Gtk.Adjustment.IsAdjustment
+    type AttrBaseTypeConstraint ScrolledWindowVadjustmentPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowVadjustmentPropertyInfo = Gtk.Adjustment.Adjustment
+    type AttrLabel ScrolledWindowVadjustmentPropertyInfo = "vadjustment"
+    type AttrOrigin ScrolledWindowVadjustmentPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowVadjustment
+    attrSet _ = setScrolledWindowVadjustment
+    attrConstruct _ = constructScrolledWindowVadjustment
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "vscrollbar-policy"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PolicyType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@vscrollbar-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #vscrollbarPolicy
+@
+-}
+getScrolledWindowVscrollbarPolicy :: (MonadIO m, IsScrolledWindow o) => o -> m Gtk.Enums.PolicyType
+getScrolledWindowVscrollbarPolicy obj = liftIO $ B.Properties.getObjectPropertyEnum obj "vscrollbar-policy"
+
+{- |
+Set the value of the “@vscrollbar-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #vscrollbarPolicy 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowVscrollbarPolicy :: (MonadIO m, IsScrolledWindow o) => o -> Gtk.Enums.PolicyType -> m ()
+setScrolledWindowVscrollbarPolicy obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "vscrollbar-policy" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@vscrollbar-policy@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowVscrollbarPolicy :: (IsScrolledWindow o) => Gtk.Enums.PolicyType -> IO (GValueConstruct o)
+constructScrolledWindowVscrollbarPolicy val = B.Properties.constructObjectPropertyEnum "vscrollbar-policy" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowVscrollbarPolicyPropertyInfo
+instance AttrInfo ScrolledWindowVscrollbarPolicyPropertyInfo where
+    type AttrAllowedOps ScrolledWindowVscrollbarPolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowVscrollbarPolicyPropertyInfo = (~) Gtk.Enums.PolicyType
+    type AttrBaseTypeConstraint ScrolledWindowVscrollbarPolicyPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowVscrollbarPolicyPropertyInfo = Gtk.Enums.PolicyType
+    type AttrLabel ScrolledWindowVscrollbarPolicyPropertyInfo = "vscrollbar-policy"
+    type AttrOrigin ScrolledWindowVscrollbarPolicyPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowVscrollbarPolicy
+    attrSet _ = setScrolledWindowVscrollbarPolicy
+    attrConstruct _ = constructScrolledWindowVscrollbarPolicy
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "window-placement"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CornerType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@window-placement@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #windowPlacement
+@
+-}
+getScrolledWindowWindowPlacement :: (MonadIO m, IsScrolledWindow o) => o -> m Gtk.Enums.CornerType
+getScrolledWindowWindowPlacement obj = liftIO $ B.Properties.getObjectPropertyEnum obj "window-placement"
+
+{- |
+Set the value of the “@window-placement@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #windowPlacement 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowWindowPlacement :: (MonadIO m, IsScrolledWindow o) => o -> Gtk.Enums.CornerType -> m ()
+setScrolledWindowWindowPlacement obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "window-placement" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@window-placement@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowWindowPlacement :: (IsScrolledWindow o) => Gtk.Enums.CornerType -> IO (GValueConstruct o)
+constructScrolledWindowWindowPlacement val = B.Properties.constructObjectPropertyEnum "window-placement" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowWindowPlacementPropertyInfo
+instance AttrInfo ScrolledWindowWindowPlacementPropertyInfo where
+    type AttrAllowedOps ScrolledWindowWindowPlacementPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowWindowPlacementPropertyInfo = (~) Gtk.Enums.CornerType
+    type AttrBaseTypeConstraint ScrolledWindowWindowPlacementPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowWindowPlacementPropertyInfo = Gtk.Enums.CornerType
+    type AttrLabel ScrolledWindowWindowPlacementPropertyInfo = "window-placement"
+    type AttrOrigin ScrolledWindowWindowPlacementPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowWindowPlacement
+    attrSet _ = setScrolledWindowWindowPlacement
+    attrConstruct _ = constructScrolledWindowWindowPlacement
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "window-placement-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@window-placement-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' scrolledWindow #windowPlacementSet
+@
+-}
+getScrolledWindowWindowPlacementSet :: (MonadIO m, IsScrolledWindow o) => o -> m Bool
+getScrolledWindowWindowPlacementSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "window-placement-set"
+
+{- |
+Set the value of the “@window-placement-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' scrolledWindow [ #windowPlacementSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setScrolledWindowWindowPlacementSet :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m ()
+setScrolledWindowWindowPlacementSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "window-placement-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@window-placement-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructScrolledWindowWindowPlacementSet :: (IsScrolledWindow o) => Bool -> IO (GValueConstruct o)
+constructScrolledWindowWindowPlacementSet val = B.Properties.constructObjectPropertyBool "window-placement-set" val
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowWindowPlacementSetPropertyInfo
+instance AttrInfo ScrolledWindowWindowPlacementSetPropertyInfo where
+    type AttrAllowedOps ScrolledWindowWindowPlacementSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScrolledWindowWindowPlacementSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ScrolledWindowWindowPlacementSetPropertyInfo = IsScrolledWindow
+    type AttrGetType ScrolledWindowWindowPlacementSetPropertyInfo = Bool
+    type AttrLabel ScrolledWindowWindowPlacementSetPropertyInfo = "window-placement-set"
+    type AttrOrigin ScrolledWindowWindowPlacementSetPropertyInfo = ScrolledWindow
+    attrGet _ = getScrolledWindowWindowPlacementSet
+    attrSet _ = setScrolledWindowWindowPlacementSet
+    attrConstruct _ = constructScrolledWindowWindowPlacementSet
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ScrolledWindow
+type instance O.AttributeList ScrolledWindow = ScrolledWindowAttributeList
+type ScrolledWindowAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", ScrolledWindowHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hscrollbarPolicy", ScrolledWindowHscrollbarPolicyPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("kineticScrolling", ScrolledWindowKineticScrollingPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxContentHeight", ScrolledWindowMaxContentHeightPropertyInfo), '("maxContentWidth", ScrolledWindowMaxContentWidthPropertyInfo), '("minContentHeight", ScrolledWindowMinContentHeightPropertyInfo), '("minContentWidth", ScrolledWindowMinContentWidthPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overlayScrolling", ScrolledWindowOverlayScrollingPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("propagateNaturalHeight", ScrolledWindowPropagateNaturalHeightPropertyInfo), '("propagateNaturalWidth", ScrolledWindowPropagateNaturalWidthPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", ScrolledWindowShadowTypePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("vadjustment", ScrolledWindowVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollbarPolicy", ScrolledWindowVscrollbarPolicyPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPlacement", ScrolledWindowWindowPlacementPropertyInfo), '("windowPlacementSet", ScrolledWindowWindowPlacementSetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+scrolledWindowHadjustment :: AttrLabelProxy "hadjustment"
+scrolledWindowHadjustment = AttrLabelProxy
+
+scrolledWindowHscrollbarPolicy :: AttrLabelProxy "hscrollbarPolicy"
+scrolledWindowHscrollbarPolicy = AttrLabelProxy
+
+scrolledWindowKineticScrolling :: AttrLabelProxy "kineticScrolling"
+scrolledWindowKineticScrolling = AttrLabelProxy
+
+scrolledWindowMaxContentHeight :: AttrLabelProxy "maxContentHeight"
+scrolledWindowMaxContentHeight = AttrLabelProxy
+
+scrolledWindowMaxContentWidth :: AttrLabelProxy "maxContentWidth"
+scrolledWindowMaxContentWidth = AttrLabelProxy
+
+scrolledWindowMinContentHeight :: AttrLabelProxy "minContentHeight"
+scrolledWindowMinContentHeight = AttrLabelProxy
+
+scrolledWindowMinContentWidth :: AttrLabelProxy "minContentWidth"
+scrolledWindowMinContentWidth = AttrLabelProxy
+
+scrolledWindowOverlayScrolling :: AttrLabelProxy "overlayScrolling"
+scrolledWindowOverlayScrolling = AttrLabelProxy
+
+scrolledWindowPropagateNaturalHeight :: AttrLabelProxy "propagateNaturalHeight"
+scrolledWindowPropagateNaturalHeight = AttrLabelProxy
+
+scrolledWindowPropagateNaturalWidth :: AttrLabelProxy "propagateNaturalWidth"
+scrolledWindowPropagateNaturalWidth = AttrLabelProxy
+
+scrolledWindowShadowType :: AttrLabelProxy "shadowType"
+scrolledWindowShadowType = AttrLabelProxy
+
+scrolledWindowVadjustment :: AttrLabelProxy "vadjustment"
+scrolledWindowVadjustment = AttrLabelProxy
+
+scrolledWindowVscrollbarPolicy :: AttrLabelProxy "vscrollbarPolicy"
+scrolledWindowVscrollbarPolicy = AttrLabelProxy
+
+scrolledWindowWindowPlacement :: AttrLabelProxy "windowPlacement"
+scrolledWindowWindowPlacement = AttrLabelProxy
+
+scrolledWindowWindowPlacementSet :: AttrLabelProxy "windowPlacementSet"
+scrolledWindowWindowPlacementSet = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowEdgeOvershotSignalInfo
+instance SignalInfo ScrolledWindowEdgeOvershotSignalInfo where
+    type HaskellCallbackType ScrolledWindowEdgeOvershotSignalInfo = ScrolledWindowEdgeOvershotCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ScrolledWindowEdgeOvershotCallback cb
+        cb'' <- mk_ScrolledWindowEdgeOvershotCallback cb'
+        connectSignalFunPtr obj "edge-overshot" cb'' connectMode
+
+data ScrolledWindowEdgeReachedSignalInfo
+instance SignalInfo ScrolledWindowEdgeReachedSignalInfo where
+    type HaskellCallbackType ScrolledWindowEdgeReachedSignalInfo = ScrolledWindowEdgeReachedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ScrolledWindowEdgeReachedCallback cb
+        cb'' <- mk_ScrolledWindowEdgeReachedCallback cb'
+        connectSignalFunPtr obj "edge-reached" cb'' connectMode
+
+data ScrolledWindowMoveFocusOutSignalInfo
+instance SignalInfo ScrolledWindowMoveFocusOutSignalInfo where
+    type HaskellCallbackType ScrolledWindowMoveFocusOutSignalInfo = ScrolledWindowMoveFocusOutCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ScrolledWindowMoveFocusOutCallback cb
+        cb'' <- mk_ScrolledWindowMoveFocusOutCallback cb'
+        connectSignalFunPtr obj "move-focus-out" cb'' connectMode
+
+data ScrolledWindowScrollChildSignalInfo
+instance SignalInfo ScrolledWindowScrollChildSignalInfo where
+    type HaskellCallbackType ScrolledWindowScrollChildSignalInfo = ScrolledWindowScrollChildCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ScrolledWindowScrollChildCallback cb
+        cb'' <- mk_ScrolledWindowScrollChildCallback cb'
+        connectSignalFunPtr obj "scroll-child" cb'' connectMode
+
+type instance O.SignalList ScrolledWindow = ScrolledWindowSignalList
+type ScrolledWindowSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("edgeOvershot", ScrolledWindowEdgeOvershotSignalInfo), '("edgeReached", ScrolledWindowEdgeReachedSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveFocusOut", ScrolledWindowMoveFocusOutSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollChild", ScrolledWindowScrollChildSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ScrolledWindow::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "hadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "horizontal adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "vertical adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_new" gtk_scrolled_window_new :: 
+    Ptr Gtk.Adjustment.Adjustment ->        -- hadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- vadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO (Ptr ScrolledWindow)
+
+{- |
+Creates a new scrolled window.
+
+The two arguments are the scrolled window’s adjustments; these will be
+shared with the scrollbars and the child widget to keep the bars in sync
+with the child. Usually you want to pass 'Nothing' for the adjustments, which
+will cause the scrolled window to create them for you.
+-}
+scrolledWindowNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a, Gtk.Adjustment.IsAdjustment b) =>
+    Maybe (a)
+    {- ^ /@hadjustment@/: horizontal adjustment -}
+    -> Maybe (b)
+    {- ^ /@vadjustment@/: vertical adjustment -}
+    -> m ScrolledWindow
+    {- ^ __Returns:__ a new scrolled window -}
+scrolledWindowNew hadjustment vadjustment = liftIO $ do
+    maybeHadjustment <- case hadjustment of
+        Nothing -> return nullPtr
+        Just jHadjustment -> do
+            jHadjustment' <- unsafeManagedPtrCastPtr jHadjustment
+            return jHadjustment'
+    maybeVadjustment <- case vadjustment of
+        Nothing -> return nullPtr
+        Just jVadjustment -> do
+            jVadjustment' <- unsafeManagedPtrCastPtr jVadjustment
+            return jVadjustment'
+    result <- gtk_scrolled_window_new maybeHadjustment maybeVadjustment
+    checkUnexpectedReturnNULL "scrolledWindowNew" result
+    result' <- (newObject ScrolledWindow) result
+    whenJust hadjustment touchManagedPtr
+    whenJust vadjustment touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ScrolledWindow::add_with_viewport
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget you want to scroll", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_add_with_viewport" gtk_scrolled_window_add_with_viewport :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{-# DEPRECATED scrolledWindowAddWithViewport ["(Since version 3.8)","'GI.Gtk.Objects.Container.containerAdd' will automatically add","a 'GI.Gtk.Objects.Viewport.Viewport' if the child doesn\8217t implement 'GI.Gtk.Interfaces.Scrollable.Scrollable'."] #-}
+{- |
+Used to add children without native scrolling capabilities. This
+is simply a convenience function; it is equivalent to adding the
+unscrollable child to a viewport, then adding the viewport to the
+scrolled window. If a child has native scrolling, use
+'GI.Gtk.Objects.Container.containerAdd' instead of this function.
+
+The viewport scrolls the child by moving its 'GI.Gdk.Objects.Window.Window', and takes
+the size of the child to be the size of its toplevel 'GI.Gdk.Objects.Window.Window'.
+This will be very wrong for most widgets that support native scrolling;
+for example, if you add a widget such as 'GI.Gtk.Objects.TreeView.TreeView' with a viewport,
+the whole widget will scroll, including the column headings. Thus,
+widgets with native scrolling support should not be used with the
+'GI.Gtk.Objects.Viewport.Viewport' proxy.
+
+A widget supports scrolling natively if it implements the
+'GI.Gtk.Interfaces.Scrollable.Scrollable' interface.
+-}
+scrolledWindowAddWithViewport ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> b
+    {- ^ /@child@/: the widget you want to scroll -}
+    -> m ()
+scrolledWindowAddWithViewport scrolledWindow child = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_scrolled_window_add_with_viewport scrolledWindow' child'
+    touchManagedPtr scrolledWindow
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowAddWithViewportMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsScrolledWindow a, Gtk.Widget.IsWidget b) => O.MethodInfo ScrolledWindowAddWithViewportMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowAddWithViewport
+
+#endif
+
+-- method ScrolledWindow::get_capture_button_press
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_capture_button_press" gtk_scrolled_window_get_capture_button_press :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO CInt
+
+{- |
+Return whether button presses are captured during kinetic
+scrolling. See 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowSetCaptureButtonPress'.
+
+/Since: 3.4/
+-}
+scrolledWindowGetCaptureButtonPress ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if button presses are captured during kinetic scrolling -}
+scrolledWindowGetCaptureButtonPress scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_capture_button_press scrolledWindow'
+    let result' = (/= 0) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetCaptureButtonPressMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetCaptureButtonPressMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetCaptureButtonPress
+
+#endif
+
+-- method ScrolledWindow::get_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_hadjustment" gtk_scrolled_window_get_hadjustment :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Returns the horizontal scrollbar’s adjustment, used to connect the
+horizontal scrollbar to the child widget’s horizontal scroll
+functionality.
+-}
+scrolledWindowGetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ the horizontal 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+scrolledWindowGetHadjustment scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_hadjustment scrolledWindow'
+    checkUnexpectedReturnNULL "scrolledWindowGetHadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetHadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetHadjustment
+
+#endif
+
+-- method ScrolledWindow::get_hscrollbar
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_hscrollbar" gtk_scrolled_window_get_hscrollbar :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the horizontal scrollbar of /@scrolledWindow@/.
+
+/Since: 2.8/
+-}
+scrolledWindowGetHscrollbar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the horizontal scrollbar of the scrolled window. -}
+scrolledWindowGetHscrollbar scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_hscrollbar scrolledWindow'
+    checkUnexpectedReturnNULL "scrolledWindowGetHscrollbar" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetHscrollbarMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetHscrollbarMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetHscrollbar
+
+#endif
+
+-- method ScrolledWindow::get_kinetic_scrolling
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_kinetic_scrolling" gtk_scrolled_window_get_kinetic_scrolling :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO CInt
+
+{- |
+Returns the specified kinetic scrolling behavior.
+
+/Since: 3.4/
+-}
+scrolledWindowGetKineticScrolling ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Bool
+    {- ^ __Returns:__ the scrolling behavior flags. -}
+scrolledWindowGetKineticScrolling scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_kinetic_scrolling scrolledWindow'
+    let result' = (/= 0) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetKineticScrollingMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetKineticScrollingMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetKineticScrolling
+
+#endif
+
+-- method ScrolledWindow::get_max_content_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_max_content_height" gtk_scrolled_window_get_max_content_height :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO Int32
+
+{- |
+Returns the maximum content height set.
+
+/Since: 3.22/
+-}
+scrolledWindowGetMaxContentHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Int32
+    {- ^ __Returns:__ the maximum content height, or -1 -}
+scrolledWindowGetMaxContentHeight scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_max_content_height scrolledWindow'
+    touchManagedPtr scrolledWindow
+    return result
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetMaxContentHeightMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetMaxContentHeightMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetMaxContentHeight
+
+#endif
+
+-- method ScrolledWindow::get_max_content_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_max_content_width" gtk_scrolled_window_get_max_content_width :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO Int32
+
+{- |
+Returns the maximum content width set.
+
+/Since: 3.22/
+-}
+scrolledWindowGetMaxContentWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Int32
+    {- ^ __Returns:__ the maximum content width, or -1 -}
+scrolledWindowGetMaxContentWidth scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_max_content_width scrolledWindow'
+    touchManagedPtr scrolledWindow
+    return result
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetMaxContentWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetMaxContentWidthMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetMaxContentWidth
+
+#endif
+
+-- method ScrolledWindow::get_min_content_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_min_content_height" gtk_scrolled_window_get_min_content_height :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO Int32
+
+{- |
+Gets the minimal content height of /@scrolledWindow@/, or -1 if not set.
+
+/Since: 3.0/
+-}
+scrolledWindowGetMinContentHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Int32
+    {- ^ __Returns:__ the minimal content height -}
+scrolledWindowGetMinContentHeight scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_min_content_height scrolledWindow'
+    touchManagedPtr scrolledWindow
+    return result
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetMinContentHeightMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetMinContentHeightMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetMinContentHeight
+
+#endif
+
+-- method ScrolledWindow::get_min_content_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_min_content_width" gtk_scrolled_window_get_min_content_width :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO Int32
+
+{- |
+Gets the minimum content width of /@scrolledWindow@/, or -1 if not set.
+
+/Since: 3.0/
+-}
+scrolledWindowGetMinContentWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Int32
+    {- ^ __Returns:__ the minimum content width -}
+scrolledWindowGetMinContentWidth scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_min_content_width scrolledWindow'
+    touchManagedPtr scrolledWindow
+    return result
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetMinContentWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetMinContentWidthMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetMinContentWidth
+
+#endif
+
+-- method ScrolledWindow::get_overlay_scrolling
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_overlay_scrolling" gtk_scrolled_window_get_overlay_scrolling :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO CInt
+
+{- |
+Returns whether overlay scrolling is enabled for this scrolled window.
+
+/Since: 3.16/
+-}
+scrolledWindowGetOverlayScrolling ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if overlay scrolling is enabled -}
+scrolledWindowGetOverlayScrolling scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_overlay_scrolling scrolledWindow'
+    let result' = (/= 0) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetOverlayScrollingMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetOverlayScrollingMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetOverlayScrolling
+
+#endif
+
+-- method ScrolledWindow::get_placement
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CornerType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_placement" gtk_scrolled_window_get_placement :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO CUInt
+
+{- |
+Gets the placement of the contents with respect to the scrollbars
+for the scrolled window. See 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowSetPlacement'.
+-}
+scrolledWindowGetPlacement ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Gtk.Enums.CornerType
+    {- ^ __Returns:__ the current placement value.
+
+See also 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowSetPlacement' and
+'GI.Gtk.Objects.ScrolledWindow.scrolledWindowUnsetPlacement'. -}
+scrolledWindowGetPlacement scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_placement scrolledWindow'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetPlacementMethodInfo
+instance (signature ~ (m Gtk.Enums.CornerType), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetPlacementMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetPlacement
+
+#endif
+
+-- method ScrolledWindow::get_policy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hscrollbar_policy", argType = TInterface (Name {namespace = "Gtk", name = "PolicyType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the policy\n    for the horizontal scrollbar, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "vscrollbar_policy", argType = TInterface (Name {namespace = "Gtk", name = "PolicyType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the policy\n    for the vertical scrollbar, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_policy" gtk_scrolled_window_get_policy :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    Ptr CUInt ->                            -- hscrollbar_policy : TInterface (Name {namespace = "Gtk", name = "PolicyType"})
+    Ptr CUInt ->                            -- vscrollbar_policy : TInterface (Name {namespace = "Gtk", name = "PolicyType"})
+    IO ()
+
+{- |
+Retrieves the current policy values for the horizontal and vertical
+scrollbars. See 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowSetPolicy'.
+-}
+scrolledWindowGetPolicy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m ((Gtk.Enums.PolicyType, Gtk.Enums.PolicyType))
+scrolledWindowGetPolicy scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    hscrollbarPolicy <- allocMem :: IO (Ptr CUInt)
+    vscrollbarPolicy <- allocMem :: IO (Ptr CUInt)
+    gtk_scrolled_window_get_policy scrolledWindow' hscrollbarPolicy vscrollbarPolicy
+    hscrollbarPolicy' <- peek hscrollbarPolicy
+    let hscrollbarPolicy'' = (toEnum . fromIntegral) hscrollbarPolicy'
+    vscrollbarPolicy' <- peek vscrollbarPolicy
+    let vscrollbarPolicy'' = (toEnum . fromIntegral) vscrollbarPolicy'
+    touchManagedPtr scrolledWindow
+    freeMem hscrollbarPolicy
+    freeMem vscrollbarPolicy
+    return (hscrollbarPolicy'', vscrollbarPolicy'')
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetPolicyMethodInfo
+instance (signature ~ (m ((Gtk.Enums.PolicyType, Gtk.Enums.PolicyType))), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetPolicyMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetPolicy
+
+#endif
+
+-- method ScrolledWindow::get_propagate_natural_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_propagate_natural_height" gtk_scrolled_window_get_propagate_natural_height :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO CInt
+
+{- |
+Reports whether the natural height of the child will be calculated and propagated
+through the scrolled window’s requested natural height.
+
+/Since: 3.22/
+-}
+scrolledWindowGetPropagateNaturalHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Bool
+    {- ^ __Returns:__ whether natural height propagation is enabled. -}
+scrolledWindowGetPropagateNaturalHeight scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_propagate_natural_height scrolledWindow'
+    let result' = (/= 0) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetPropagateNaturalHeightMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetPropagateNaturalHeightMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetPropagateNaturalHeight
+
+#endif
+
+-- method ScrolledWindow::get_propagate_natural_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_propagate_natural_width" gtk_scrolled_window_get_propagate_natural_width :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO CInt
+
+{- |
+Reports whether the natural width of the child will be calculated and propagated
+through the scrolled window’s requested natural width.
+
+/Since: 3.22/
+-}
+scrolledWindowGetPropagateNaturalWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Bool
+    {- ^ __Returns:__ whether natural width propagation is enabled. -}
+scrolledWindowGetPropagateNaturalWidth scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_propagate_natural_width scrolledWindow'
+    let result' = (/= 0) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetPropagateNaturalWidthMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetPropagateNaturalWidthMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetPropagateNaturalWidth
+
+#endif
+
+-- method ScrolledWindow::get_shadow_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ShadowType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_shadow_type" gtk_scrolled_window_get_shadow_type :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO CUInt
+
+{- |
+Gets the shadow type of the scrolled window. See
+'GI.Gtk.Objects.ScrolledWindow.scrolledWindowSetShadowType'.
+-}
+scrolledWindowGetShadowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Gtk.Enums.ShadowType
+    {- ^ __Returns:__ the current shadow type -}
+scrolledWindowGetShadowType scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_shadow_type scrolledWindow'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetShadowTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.ShadowType), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetShadowTypeMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetShadowType
+
+#endif
+
+-- method ScrolledWindow::get_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_vadjustment" gtk_scrolled_window_get_vadjustment :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Returns the vertical scrollbar’s adjustment, used to connect the
+vertical scrollbar to the child widget’s vertical scroll functionality.
+-}
+scrolledWindowGetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ the vertical 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+scrolledWindowGetVadjustment scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_vadjustment scrolledWindow'
+    checkUnexpectedReturnNULL "scrolledWindowGetVadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetVadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetVadjustment
+
+#endif
+
+-- method ScrolledWindow::get_vscrollbar
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_get_vscrollbar" gtk_scrolled_window_get_vscrollbar :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the vertical scrollbar of /@scrolledWindow@/.
+
+/Since: 2.8/
+-}
+scrolledWindowGetVscrollbar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the vertical scrollbar of the scrolled window. -}
+scrolledWindowGetVscrollbar scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    result <- gtk_scrolled_window_get_vscrollbar scrolledWindow'
+    checkUnexpectedReturnNULL "scrolledWindowGetVscrollbar" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr scrolledWindow
+    return result'
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetVscrollbarMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowGetVscrollbarMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowGetVscrollbar
+
+#endif
+
+-- method ScrolledWindow::set_capture_button_press
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "capture_button_press", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to capture button presses", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_capture_button_press" gtk_scrolled_window_set_capture_button_press :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    CInt ->                                 -- capture_button_press : TBasicType TBoolean
+    IO ()
+
+{- |
+Changes the behaviour of /@scrolledWindow@/ with regard to the initial
+event that possibly starts kinetic scrolling. When /@captureButtonPress@/
+is set to 'True', the event is captured by the scrolled window, and
+then later replayed if it is meant to go to the child widget.
+
+This should be enabled if any child widgets perform non-reversible
+actions on 'GI.Gtk.Objects.Widget.Widget'::@/button-press-event/@. If they don\'t, and handle
+additionally handle 'GI.Gtk.Objects.Widget.Widget'::@/grab-broken-event/@, it might be better
+to set /@captureButtonPress@/ to 'False'.
+
+This setting only has an effect if kinetic scrolling is enabled.
+
+/Since: 3.4/
+-}
+scrolledWindowSetCaptureButtonPress ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Bool
+    {- ^ /@captureButtonPress@/: 'True' to capture button presses -}
+    -> m ()
+scrolledWindowSetCaptureButtonPress scrolledWindow captureButtonPress = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    let captureButtonPress' = (fromIntegral . fromEnum) captureButtonPress
+    gtk_scrolled_window_set_capture_button_press scrolledWindow' captureButtonPress'
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetCaptureButtonPressMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetCaptureButtonPressMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetCaptureButtonPress
+
+#endif
+
+-- method ScrolledWindow::set_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "horizontal scroll adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_hadjustment" gtk_scrolled_window_set_hadjustment :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- hadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Adjustment.Adjustment' for the horizontal scrollbar.
+-}
+scrolledWindowSetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> b
+    {- ^ /@hadjustment@/: horizontal scroll adjustment -}
+    -> m ()
+scrolledWindowSetHadjustment scrolledWindow hadjustment = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    hadjustment' <- unsafeManagedPtrCastPtr hadjustment
+    gtk_scrolled_window_set_hadjustment scrolledWindow' hadjustment'
+    touchManagedPtr scrolledWindow
+    touchManagedPtr hadjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetHadjustmentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsScrolledWindow a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ScrolledWindowSetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetHadjustment
+
+#endif
+
+-- method ScrolledWindow::set_kinetic_scrolling
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "kinetic_scrolling", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable kinetic scrolling", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_kinetic_scrolling" gtk_scrolled_window_set_kinetic_scrolling :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    CInt ->                                 -- kinetic_scrolling : TBasicType TBoolean
+    IO ()
+
+{- |
+Turns kinetic scrolling on or off.
+Kinetic scrolling only applies to devices with source
+'GI.Gdk.Enums.InputSourceTouchscreen'.
+
+/Since: 3.4/
+-}
+scrolledWindowSetKineticScrolling ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Bool
+    {- ^ /@kineticScrolling@/: 'True' to enable kinetic scrolling -}
+    -> m ()
+scrolledWindowSetKineticScrolling scrolledWindow kineticScrolling = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    let kineticScrolling' = (fromIntegral . fromEnum) kineticScrolling
+    gtk_scrolled_window_set_kinetic_scrolling scrolledWindow' kineticScrolling'
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetKineticScrollingMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetKineticScrollingMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetKineticScrolling
+
+#endif
+
+-- method ScrolledWindow::set_max_content_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum content height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_max_content_height" gtk_scrolled_window_set_max_content_height :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Sets the maximum height that /@scrolledWindow@/ should keep visible. The
+/@scrolledWindow@/ will grow up to this height before it starts scrolling
+the content.
+
+It is a programming error to set the maximum content height to a value
+smaller than 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow':@/min-content-height/@.
+
+/Since: 3.22/
+-}
+scrolledWindowSetMaxContentHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Int32
+    {- ^ /@height@/: the maximum content height -}
+    -> m ()
+scrolledWindowSetMaxContentHeight scrolledWindow height = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    gtk_scrolled_window_set_max_content_height scrolledWindow' height
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetMaxContentHeightMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetMaxContentHeightMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetMaxContentHeight
+
+#endif
+
+-- method ScrolledWindow::set_max_content_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum content width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_max_content_width" gtk_scrolled_window_set_max_content_width :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    Int32 ->                                -- width : TBasicType TInt
+    IO ()
+
+{- |
+Sets the maximum width that /@scrolledWindow@/ should keep visible. The
+/@scrolledWindow@/ will grow up to this width before it starts scrolling
+the content.
+
+It is a programming error to set the maximum content width to a value
+smaller than 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow':@/min-content-width/@.
+
+/Since: 3.22/
+-}
+scrolledWindowSetMaxContentWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Int32
+    {- ^ /@width@/: the maximum content width -}
+    -> m ()
+scrolledWindowSetMaxContentWidth scrolledWindow width = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    gtk_scrolled_window_set_max_content_width scrolledWindow' width
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetMaxContentWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetMaxContentWidthMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetMaxContentWidth
+
+#endif
+
+-- method ScrolledWindow::set_min_content_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimal content height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_min_content_height" gtk_scrolled_window_set_min_content_height :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Sets the minimum height that /@scrolledWindow@/ should keep visible.
+Note that this can and (usually will) be smaller than the minimum
+size of the content.
+
+It is a programming error to set the minimum content height to a
+value greater than 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow':@/max-content-height/@.
+
+/Since: 3.0/
+-}
+scrolledWindowSetMinContentHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Int32
+    {- ^ /@height@/: the minimal content height -}
+    -> m ()
+scrolledWindowSetMinContentHeight scrolledWindow height = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    gtk_scrolled_window_set_min_content_height scrolledWindow' height
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetMinContentHeightMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetMinContentHeightMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetMinContentHeight
+
+#endif
+
+-- method ScrolledWindow::set_min_content_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimal content width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_min_content_width" gtk_scrolled_window_set_min_content_width :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    Int32 ->                                -- width : TBasicType TInt
+    IO ()
+
+{- |
+Sets the minimum width that /@scrolledWindow@/ should keep visible.
+Note that this can and (usually will) be smaller than the minimum
+size of the content.
+
+It is a programming error to set the minimum content width to a
+value greater than 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow':@/max-content-width/@.
+
+/Since: 3.0/
+-}
+scrolledWindowSetMinContentWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Int32
+    {- ^ /@width@/: the minimal content width -}
+    -> m ()
+scrolledWindowSetMinContentWidth scrolledWindow width = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    gtk_scrolled_window_set_min_content_width scrolledWindow' width
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetMinContentWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetMinContentWidthMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetMinContentWidth
+
+#endif
+
+-- method ScrolledWindow::set_overlay_scrolling
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "overlay_scrolling", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to enable overlay scrolling", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_overlay_scrolling" gtk_scrolled_window_set_overlay_scrolling :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    CInt ->                                 -- overlay_scrolling : TBasicType TBoolean
+    IO ()
+
+{- |
+Enables or disables overlay scrolling for this scrolled window.
+
+/Since: 3.16/
+-}
+scrolledWindowSetOverlayScrolling ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Bool
+    {- ^ /@overlayScrolling@/: whether to enable overlay scrolling -}
+    -> m ()
+scrolledWindowSetOverlayScrolling scrolledWindow overlayScrolling = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    let overlayScrolling' = (fromIntegral . fromEnum) overlayScrolling
+    gtk_scrolled_window_set_overlay_scrolling scrolledWindow' overlayScrolling'
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetOverlayScrollingMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetOverlayScrollingMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetOverlayScrolling
+
+#endif
+
+-- method ScrolledWindow::set_placement
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window_placement", argType = TInterface (Name {namespace = "Gtk", name = "CornerType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position of the child window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_placement" gtk_scrolled_window_set_placement :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    CUInt ->                                -- window_placement : TInterface (Name {namespace = "Gtk", name = "CornerType"})
+    IO ()
+
+{- |
+Sets the placement of the contents with respect to the scrollbars
+for the scrolled window.
+
+The default is 'GI.Gtk.Enums.CornerTypeTopLeft', meaning the child is
+in the top left, with the scrollbars underneath and to the right.
+Other values in 'GI.Gtk.Enums.CornerType' are 'GI.Gtk.Enums.CornerTypeTopRight',
+'GI.Gtk.Enums.CornerTypeBottomLeft', and 'GI.Gtk.Enums.CornerTypeBottomRight'.
+
+See also 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowGetPlacement' and
+'GI.Gtk.Objects.ScrolledWindow.scrolledWindowUnsetPlacement'.
+-}
+scrolledWindowSetPlacement ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Gtk.Enums.CornerType
+    {- ^ /@windowPlacement@/: position of the child window -}
+    -> m ()
+scrolledWindowSetPlacement scrolledWindow windowPlacement = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    let windowPlacement' = (fromIntegral . fromEnum) windowPlacement
+    gtk_scrolled_window_set_placement scrolledWindow' windowPlacement'
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetPlacementMethodInfo
+instance (signature ~ (Gtk.Enums.CornerType -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetPlacementMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetPlacement
+
+#endif
+
+-- method ScrolledWindow::set_policy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hscrollbar_policy", argType = TInterface (Name {namespace = "Gtk", name = "PolicyType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "policy for horizontal bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vscrollbar_policy", argType = TInterface (Name {namespace = "Gtk", name = "PolicyType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "policy for vertical bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_policy" gtk_scrolled_window_set_policy :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    CUInt ->                                -- hscrollbar_policy : TInterface (Name {namespace = "Gtk", name = "PolicyType"})
+    CUInt ->                                -- vscrollbar_policy : TInterface (Name {namespace = "Gtk", name = "PolicyType"})
+    IO ()
+
+{- |
+Sets the scrollbar policy for the horizontal and vertical scrollbars.
+
+The policy determines when the scrollbar should appear; it is a value
+from the 'GI.Gtk.Enums.PolicyType' enumeration. If 'GI.Gtk.Enums.PolicyTypeAlways', the
+scrollbar is always present; if 'GI.Gtk.Enums.PolicyTypeNever', the scrollbar is
+never present; if 'GI.Gtk.Enums.PolicyTypeAutomatic', the scrollbar is present only
+if needed (that is, if the slider part of the bar would be smaller
+than the trough — the display is larger than the page size).
+-}
+scrolledWindowSetPolicy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Gtk.Enums.PolicyType
+    {- ^ /@hscrollbarPolicy@/: policy for horizontal bar -}
+    -> Gtk.Enums.PolicyType
+    {- ^ /@vscrollbarPolicy@/: policy for vertical bar -}
+    -> m ()
+scrolledWindowSetPolicy scrolledWindow hscrollbarPolicy vscrollbarPolicy = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    let hscrollbarPolicy' = (fromIntegral . fromEnum) hscrollbarPolicy
+    let vscrollbarPolicy' = (fromIntegral . fromEnum) vscrollbarPolicy
+    gtk_scrolled_window_set_policy scrolledWindow' hscrollbarPolicy' vscrollbarPolicy'
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetPolicyMethodInfo
+instance (signature ~ (Gtk.Enums.PolicyType -> Gtk.Enums.PolicyType -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetPolicyMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetPolicy
+
+#endif
+
+-- method ScrolledWindow::set_propagate_natural_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "propagate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to propagate natural height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_propagate_natural_height" gtk_scrolled_window_set_propagate_natural_height :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    CInt ->                                 -- propagate : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the natural height of the child should be calculated and propagated
+through the scrolled window’s requested natural height.
+
+/Since: 3.22/
+-}
+scrolledWindowSetPropagateNaturalHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Bool
+    {- ^ /@propagate@/: whether to propagate natural height -}
+    -> m ()
+scrolledWindowSetPropagateNaturalHeight scrolledWindow propagate = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    let propagate' = (fromIntegral . fromEnum) propagate
+    gtk_scrolled_window_set_propagate_natural_height scrolledWindow' propagate'
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetPropagateNaturalHeightMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetPropagateNaturalHeightMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetPropagateNaturalHeight
+
+#endif
+
+-- method ScrolledWindow::set_propagate_natural_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "propagate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to propagate natural width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_propagate_natural_width" gtk_scrolled_window_set_propagate_natural_width :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    CInt ->                                 -- propagate : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the natural width of the child should be calculated and propagated
+through the scrolled window’s requested natural width.
+
+/Since: 3.22/
+-}
+scrolledWindowSetPropagateNaturalWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Bool
+    {- ^ /@propagate@/: whether to propagate natural width -}
+    -> m ()
+scrolledWindowSetPropagateNaturalWidth scrolledWindow propagate = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    let propagate' = (fromIntegral . fromEnum) propagate
+    gtk_scrolled_window_set_propagate_natural_width scrolledWindow' propagate'
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetPropagateNaturalWidthMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetPropagateNaturalWidthMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetPropagateNaturalWidth
+
+#endif
+
+-- method ScrolledWindow::set_shadow_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "kind of shadow to draw around scrolled window contents", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_shadow_type" gtk_scrolled_window_set_shadow_type :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    IO ()
+
+{- |
+Changes the type of shadow drawn around the contents of
+/@scrolledWindow@/.
+-}
+scrolledWindowSetShadowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@type@/: kind of shadow to draw around scrolled window contents -}
+    -> m ()
+scrolledWindowSetShadowType scrolledWindow type_ = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    let type_' = (fromIntegral . fromEnum) type_
+    gtk_scrolled_window_set_shadow_type scrolledWindow' type_'
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetShadowTypeMethodInfo
+instance (signature ~ (Gtk.Enums.ShadowType -> m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowSetShadowTypeMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetShadowType
+
+#endif
+
+-- method ScrolledWindow::set_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "vertical scroll adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_set_vadjustment" gtk_scrolled_window_set_vadjustment :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- vadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Adjustment.Adjustment' for the vertical scrollbar.
+-}
+scrolledWindowSetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> b
+    {- ^ /@vadjustment@/: vertical scroll adjustment -}
+    -> m ()
+scrolledWindowSetVadjustment scrolledWindow vadjustment = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    vadjustment' <- unsafeManagedPtrCastPtr vadjustment
+    gtk_scrolled_window_set_vadjustment scrolledWindow' vadjustment'
+    touchManagedPtr scrolledWindow
+    touchManagedPtr vadjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetVadjustmentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsScrolledWindow a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ScrolledWindowSetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowSetVadjustment
+
+#endif
+
+-- method ScrolledWindow::unset_placement
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "scrolled_window", argType = TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkScrolledWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_scrolled_window_unset_placement" gtk_scrolled_window_unset_placement :: 
+    Ptr ScrolledWindow ->                   -- scrolled_window : TInterface (Name {namespace = "Gtk", name = "ScrolledWindow"})
+    IO ()
+
+{- |
+Unsets the placement of the contents with respect to the scrollbars
+for the scrolled window. If no window placement is set for a scrolled
+window, it defaults to 'GI.Gtk.Enums.CornerTypeTopLeft'.
+
+See also 'GI.Gtk.Objects.ScrolledWindow.scrolledWindowSetPlacement' and
+'GI.Gtk.Objects.ScrolledWindow.scrolledWindowGetPlacement'.
+
+/Since: 2.10/
+-}
+scrolledWindowUnsetPlacement ::
+    (B.CallStack.HasCallStack, MonadIO m, IsScrolledWindow a) =>
+    a
+    {- ^ /@scrolledWindow@/: a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow' -}
+    -> m ()
+scrolledWindowUnsetPlacement scrolledWindow = liftIO $ do
+    scrolledWindow' <- unsafeManagedPtrCastPtr scrolledWindow
+    gtk_scrolled_window_unset_placement scrolledWindow'
+    touchManagedPtr scrolledWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data ScrolledWindowUnsetPlacementMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsScrolledWindow a) => O.MethodInfo ScrolledWindowUnsetPlacementMethodInfo a signature where
+    overloadedMethod _ = scrolledWindowUnsetPlacement
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ScrolledWindow.hs-boot b/GI/Gtk/Objects/ScrolledWindow.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScrolledWindow.hs-boot
@@ -0,0 +1,182 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ScrolledWindow where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ScrolledWindow = ScrolledWindow (ManagedPtr ScrolledWindow)
+instance GObject ScrolledWindow where
+class (GObject o, O.IsDescendantOf ScrolledWindow o) => IsScrolledWindow o
+instance (GObject o, O.IsDescendantOf ScrolledWindow o) => IsScrolledWindow o
+instance O.HasParentTypes ScrolledWindow
+#if ENABLE_OVERLOADING
+data ScrolledWindowHadjustmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowHscrollbarPolicyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowKineticScrollingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowMaxContentHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowMaxContentWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowMinContentHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowMinContentWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowOverlayScrollingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowPropagateNaturalHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowPropagateNaturalWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowShadowTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowVadjustmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowVscrollbarPolicyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowWindowPlacementPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowWindowPlacementSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowEdgeOvershotSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowEdgeReachedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowMoveFocusOutSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowScrollChildSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowAddWithViewportMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetCaptureButtonPressMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetHscrollbarMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetKineticScrollingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetMaxContentHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetMaxContentWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetMinContentHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetMinContentWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetOverlayScrollingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetPlacementMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetPolicyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetPropagateNaturalHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetPropagateNaturalWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetShadowTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowGetVscrollbarMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetCaptureButtonPressMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetKineticScrollingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetMaxContentHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetMaxContentWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetMinContentHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetMinContentWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetOverlayScrollingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetPlacementMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetPolicyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetPropagateNaturalHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetPropagateNaturalWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetShadowTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowSetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ScrolledWindowUnsetPlacementMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ScrolledWindowAccessible.hs b/GI/Gtk/Objects/ScrolledWindowAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScrolledWindowAccessible.hs
@@ -0,0 +1,165 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ScrolledWindowAccessible
+    ( 
+
+-- * Exported types
+    ScrolledWindowAccessible(..)            ,
+    IsScrolledWindowAccessible              ,
+    toScrolledWindowAccessible              ,
+    noScrolledWindowAccessible              ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ScrolledWindowAccessible = ScrolledWindowAccessible (ManagedPtr ScrolledWindowAccessible)
+foreign import ccall "gtk_scrolled_window_accessible_get_type"
+    c_gtk_scrolled_window_accessible_get_type :: IO GType
+
+instance GObject ScrolledWindowAccessible where
+    gobjectType = c_gtk_scrolled_window_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ScrolledWindowAccessible`, for instance with `toScrolledWindowAccessible`.
+class (GObject o, O.IsDescendantOf ScrolledWindowAccessible o) => IsScrolledWindowAccessible o
+instance (GObject o, O.IsDescendantOf ScrolledWindowAccessible o) => IsScrolledWindowAccessible o
+
+instance O.HasParentTypes ScrolledWindowAccessible
+type instance O.ParentTypes ScrolledWindowAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `ScrolledWindowAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toScrolledWindowAccessible :: (MonadIO m, IsScrolledWindowAccessible o) => o -> m ScrolledWindowAccessible
+toScrolledWindowAccessible = liftIO . unsafeCastTo ScrolledWindowAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ScrolledWindowAccessible`.
+noScrolledWindowAccessible :: Maybe ScrolledWindowAccessible
+noScrolledWindowAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveScrolledWindowAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScrolledWindowAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveScrolledWindowAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveScrolledWindowAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveScrolledWindowAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveScrolledWindowAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveScrolledWindowAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveScrolledWindowAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveScrolledWindowAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveScrolledWindowAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveScrolledWindowAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveScrolledWindowAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveScrolledWindowAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveScrolledWindowAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveScrolledWindowAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveScrolledWindowAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveScrolledWindowAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveScrolledWindowAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveScrolledWindowAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveScrolledWindowAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveScrolledWindowAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveScrolledWindowAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveScrolledWindowAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveScrolledWindowAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveScrolledWindowAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveScrolledWindowAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveScrolledWindowAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveScrolledWindowAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveScrolledWindowAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveScrolledWindowAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveScrolledWindowAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveScrolledWindowAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveScrolledWindowAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveScrolledWindowAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveScrolledWindowAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveScrolledWindowAccessibleMethod t ScrolledWindowAccessible, O.MethodInfo info ScrolledWindowAccessible p) => OL.IsLabel t (ScrolledWindowAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ScrolledWindowAccessible
+type instance O.AttributeList ScrolledWindowAccessible = ScrolledWindowAccessibleAttributeList
+type ScrolledWindowAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ScrolledWindowAccessible = ScrolledWindowAccessibleSignalList
+type ScrolledWindowAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ScrolledWindowAccessible.hs-boot b/GI/Gtk/Objects/ScrolledWindowAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ScrolledWindowAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ScrolledWindowAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ScrolledWindowAccessible = ScrolledWindowAccessible (ManagedPtr ScrolledWindowAccessible)
+instance GObject ScrolledWindowAccessible where
+class (GObject o, O.IsDescendantOf ScrolledWindowAccessible o) => IsScrolledWindowAccessible o
+instance (GObject o, O.IsDescendantOf ScrolledWindowAccessible o) => IsScrolledWindowAccessible o
+instance O.HasParentTypes ScrolledWindowAccessible
diff --git a/GI/Gtk/Objects/SearchBar.hs b/GI/Gtk/Objects/SearchBar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SearchBar.hs
@@ -0,0 +1,956 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.SearchBar.SearchBar' is a container made to have a search entry (possibly
+with additional connex widgets, such as drop-down menus, or buttons)
+built-in. The search bar would appear when a search is started through
+typing on the keyboard, or the application’s search mode is toggled on.
+
+For keyboard presses to start a search, events will need to be
+forwarded from the top-level window that contains the search bar.
+See 'GI.Gtk.Objects.SearchBar.searchBarHandleEvent' for example code. Common shortcuts
+such as Ctrl+F should be handled as an application action, or through
+the menu items.
+
+You will also need to tell the search bar about which entry you
+are using as your search entry using 'GI.Gtk.Objects.SearchBar.searchBarConnectEntry'.
+The following example shows you how to create a more complex search
+entry.
+
+= CSS nodes
+
+GtkSearchBar has a single CSS node with name searchbar.
+
+== Creating a search bar
+
+<https://gitlab.gnome.org/GNOME/gtk/blob/gtk-3-24/examples/search-bar.c A simple example>
+
+/Since: 3.10/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.SearchBar
+    ( 
+
+-- * Exported types
+    SearchBar(..)                           ,
+    IsSearchBar                             ,
+    toSearchBar                             ,
+    noSearchBar                             ,
+
+
+ -- * Methods
+-- ** connectEntry #method:connectEntry#
+
+#if ENABLE_OVERLOADING
+    SearchBarConnectEntryMethodInfo         ,
+#endif
+    searchBarConnectEntry                   ,
+
+
+-- ** getSearchMode #method:getSearchMode#
+
+#if ENABLE_OVERLOADING
+    SearchBarGetSearchModeMethodInfo        ,
+#endif
+    searchBarGetSearchMode                  ,
+
+
+-- ** getShowCloseButton #method:getShowCloseButton#
+
+#if ENABLE_OVERLOADING
+    SearchBarGetShowCloseButtonMethodInfo   ,
+#endif
+    searchBarGetShowCloseButton             ,
+
+
+-- ** handleEvent #method:handleEvent#
+
+#if ENABLE_OVERLOADING
+    SearchBarHandleEventMethodInfo          ,
+#endif
+    searchBarHandleEvent                    ,
+
+
+-- ** new #method:new#
+
+    searchBarNew                            ,
+
+
+-- ** setSearchMode #method:setSearchMode#
+
+#if ENABLE_OVERLOADING
+    SearchBarSetSearchModeMethodInfo        ,
+#endif
+    searchBarSetSearchMode                  ,
+
+
+-- ** setShowCloseButton #method:setShowCloseButton#
+
+#if ENABLE_OVERLOADING
+    SearchBarSetShowCloseButtonMethodInfo   ,
+#endif
+    searchBarSetShowCloseButton             ,
+
+
+
+
+ -- * Properties
+-- ** searchModeEnabled #attr:searchModeEnabled#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SearchBarSearchModeEnabledPropertyInfo  ,
+#endif
+    constructSearchBarSearchModeEnabled     ,
+    getSearchBarSearchModeEnabled           ,
+#if ENABLE_OVERLOADING
+    searchBarSearchModeEnabled              ,
+#endif
+    setSearchBarSearchModeEnabled           ,
+
+
+-- ** showCloseButton #attr:showCloseButton#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SearchBarShowCloseButtonPropertyInfo    ,
+#endif
+    constructSearchBarShowCloseButton       ,
+    getSearchBarShowCloseButton             ,
+#if ENABLE_OVERLOADING
+    searchBarShowCloseButton                ,
+#endif
+    setSearchBarShowCloseButton             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Entry as Gtk.Entry
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype SearchBar = SearchBar (ManagedPtr SearchBar)
+foreign import ccall "gtk_search_bar_get_type"
+    c_gtk_search_bar_get_type :: IO GType
+
+instance GObject SearchBar where
+    gobjectType = c_gtk_search_bar_get_type
+    
+
+-- | Type class for types which can be safely cast to `SearchBar`, for instance with `toSearchBar`.
+class (GObject o, O.IsDescendantOf SearchBar o) => IsSearchBar o
+instance (GObject o, O.IsDescendantOf SearchBar o) => IsSearchBar o
+
+instance O.HasParentTypes SearchBar
+type instance O.ParentTypes SearchBar = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `SearchBar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSearchBar :: (MonadIO m, IsSearchBar o) => o -> m SearchBar
+toSearchBar = liftIO . unsafeCastTo SearchBar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SearchBar`.
+noSearchBar :: Maybe SearchBar
+noSearchBar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSearchBarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSearchBarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveSearchBarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveSearchBarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveSearchBarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSearchBarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveSearchBarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveSearchBarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveSearchBarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveSearchBarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSearchBarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSearchBarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveSearchBarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveSearchBarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveSearchBarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveSearchBarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveSearchBarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveSearchBarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveSearchBarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveSearchBarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveSearchBarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveSearchBarMethod "connectEntry" o = SearchBarConnectEntryMethodInfo
+    ResolveSearchBarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSearchBarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveSearchBarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveSearchBarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSearchBarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSearchBarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSearchBarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveSearchBarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveSearchBarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveSearchBarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveSearchBarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveSearchBarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveSearchBarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveSearchBarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveSearchBarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveSearchBarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveSearchBarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveSearchBarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveSearchBarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveSearchBarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveSearchBarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveSearchBarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveSearchBarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveSearchBarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveSearchBarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveSearchBarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveSearchBarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveSearchBarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveSearchBarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveSearchBarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveSearchBarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveSearchBarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveSearchBarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveSearchBarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveSearchBarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveSearchBarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveSearchBarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveSearchBarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveSearchBarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveSearchBarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveSearchBarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveSearchBarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveSearchBarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSearchBarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveSearchBarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveSearchBarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSearchBarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSearchBarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveSearchBarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveSearchBarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveSearchBarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveSearchBarMethod "handleEvent" o = SearchBarHandleEventMethodInfo
+    ResolveSearchBarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveSearchBarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveSearchBarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveSearchBarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveSearchBarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveSearchBarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveSearchBarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveSearchBarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveSearchBarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveSearchBarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveSearchBarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveSearchBarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveSearchBarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveSearchBarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveSearchBarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveSearchBarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveSearchBarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSearchBarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveSearchBarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveSearchBarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveSearchBarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveSearchBarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveSearchBarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveSearchBarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveSearchBarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveSearchBarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveSearchBarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveSearchBarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveSearchBarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveSearchBarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveSearchBarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveSearchBarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveSearchBarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveSearchBarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveSearchBarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSearchBarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSearchBarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveSearchBarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveSearchBarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveSearchBarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveSearchBarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveSearchBarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSearchBarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveSearchBarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveSearchBarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveSearchBarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveSearchBarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveSearchBarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveSearchBarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveSearchBarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveSearchBarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveSearchBarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveSearchBarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSearchBarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSearchBarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveSearchBarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveSearchBarMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveSearchBarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveSearchBarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveSearchBarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveSearchBarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveSearchBarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveSearchBarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveSearchBarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveSearchBarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveSearchBarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveSearchBarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSearchBarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveSearchBarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveSearchBarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveSearchBarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveSearchBarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveSearchBarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveSearchBarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveSearchBarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveSearchBarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveSearchBarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSearchBarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSearchBarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveSearchBarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveSearchBarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveSearchBarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSearchBarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveSearchBarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveSearchBarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveSearchBarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveSearchBarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveSearchBarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSearchBarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveSearchBarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveSearchBarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveSearchBarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSearchBarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveSearchBarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveSearchBarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveSearchBarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveSearchBarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveSearchBarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveSearchBarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveSearchBarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveSearchBarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveSearchBarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveSearchBarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveSearchBarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveSearchBarMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveSearchBarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveSearchBarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveSearchBarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveSearchBarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveSearchBarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveSearchBarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveSearchBarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSearchBarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveSearchBarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveSearchBarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveSearchBarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveSearchBarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveSearchBarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveSearchBarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveSearchBarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveSearchBarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveSearchBarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveSearchBarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveSearchBarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveSearchBarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveSearchBarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveSearchBarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveSearchBarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveSearchBarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveSearchBarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveSearchBarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveSearchBarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSearchBarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveSearchBarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveSearchBarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveSearchBarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveSearchBarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveSearchBarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveSearchBarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveSearchBarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveSearchBarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveSearchBarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveSearchBarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveSearchBarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveSearchBarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveSearchBarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveSearchBarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveSearchBarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveSearchBarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveSearchBarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveSearchBarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveSearchBarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveSearchBarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveSearchBarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveSearchBarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveSearchBarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveSearchBarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSearchBarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSearchBarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveSearchBarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveSearchBarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveSearchBarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveSearchBarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveSearchBarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveSearchBarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveSearchBarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveSearchBarMethod "getSearchMode" o = SearchBarGetSearchModeMethodInfo
+    ResolveSearchBarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveSearchBarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveSearchBarMethod "getShowCloseButton" o = SearchBarGetShowCloseButtonMethodInfo
+    ResolveSearchBarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveSearchBarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveSearchBarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveSearchBarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveSearchBarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveSearchBarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveSearchBarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveSearchBarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveSearchBarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveSearchBarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveSearchBarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveSearchBarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveSearchBarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveSearchBarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveSearchBarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveSearchBarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveSearchBarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveSearchBarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveSearchBarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveSearchBarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveSearchBarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveSearchBarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveSearchBarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSearchBarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveSearchBarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveSearchBarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveSearchBarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveSearchBarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveSearchBarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSearchBarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveSearchBarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveSearchBarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveSearchBarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveSearchBarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveSearchBarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveSearchBarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveSearchBarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveSearchBarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveSearchBarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveSearchBarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveSearchBarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveSearchBarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveSearchBarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveSearchBarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveSearchBarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveSearchBarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveSearchBarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveSearchBarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveSearchBarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveSearchBarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveSearchBarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveSearchBarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveSearchBarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveSearchBarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveSearchBarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveSearchBarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveSearchBarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveSearchBarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveSearchBarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSearchBarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveSearchBarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveSearchBarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveSearchBarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveSearchBarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveSearchBarMethod "setSearchMode" o = SearchBarSetSearchModeMethodInfo
+    ResolveSearchBarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveSearchBarMethod "setShowCloseButton" o = SearchBarSetShowCloseButtonMethodInfo
+    ResolveSearchBarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveSearchBarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveSearchBarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveSearchBarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveSearchBarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveSearchBarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveSearchBarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveSearchBarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveSearchBarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveSearchBarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveSearchBarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveSearchBarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveSearchBarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveSearchBarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveSearchBarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSearchBarMethod t SearchBar, O.MethodInfo info SearchBar p) => OL.IsLabel t (SearchBar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "search-mode-enabled"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@search-mode-enabled@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' searchBar #searchModeEnabled
+@
+-}
+getSearchBarSearchModeEnabled :: (MonadIO m, IsSearchBar o) => o -> m Bool
+getSearchBarSearchModeEnabled obj = liftIO $ B.Properties.getObjectPropertyBool obj "search-mode-enabled"
+
+{- |
+Set the value of the “@search-mode-enabled@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' searchBar [ #searchModeEnabled 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSearchBarSearchModeEnabled :: (MonadIO m, IsSearchBar o) => o -> Bool -> m ()
+setSearchBarSearchModeEnabled obj val = liftIO $ B.Properties.setObjectPropertyBool obj "search-mode-enabled" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@search-mode-enabled@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSearchBarSearchModeEnabled :: (IsSearchBar o) => Bool -> IO (GValueConstruct o)
+constructSearchBarSearchModeEnabled val = B.Properties.constructObjectPropertyBool "search-mode-enabled" val
+
+#if ENABLE_OVERLOADING
+data SearchBarSearchModeEnabledPropertyInfo
+instance AttrInfo SearchBarSearchModeEnabledPropertyInfo where
+    type AttrAllowedOps SearchBarSearchModeEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SearchBarSearchModeEnabledPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SearchBarSearchModeEnabledPropertyInfo = IsSearchBar
+    type AttrGetType SearchBarSearchModeEnabledPropertyInfo = Bool
+    type AttrLabel SearchBarSearchModeEnabledPropertyInfo = "search-mode-enabled"
+    type AttrOrigin SearchBarSearchModeEnabledPropertyInfo = SearchBar
+    attrGet _ = getSearchBarSearchModeEnabled
+    attrSet _ = setSearchBarSearchModeEnabled
+    attrConstruct _ = constructSearchBarSearchModeEnabled
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-close-button"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-close-button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' searchBar #showCloseButton
+@
+-}
+getSearchBarShowCloseButton :: (MonadIO m, IsSearchBar o) => o -> m Bool
+getSearchBarShowCloseButton obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-close-button"
+
+{- |
+Set the value of the “@show-close-button@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' searchBar [ #showCloseButton 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSearchBarShowCloseButton :: (MonadIO m, IsSearchBar o) => o -> Bool -> m ()
+setSearchBarShowCloseButton obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-close-button" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-close-button@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSearchBarShowCloseButton :: (IsSearchBar o) => Bool -> IO (GValueConstruct o)
+constructSearchBarShowCloseButton val = B.Properties.constructObjectPropertyBool "show-close-button" val
+
+#if ENABLE_OVERLOADING
+data SearchBarShowCloseButtonPropertyInfo
+instance AttrInfo SearchBarShowCloseButtonPropertyInfo where
+    type AttrAllowedOps SearchBarShowCloseButtonPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SearchBarShowCloseButtonPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SearchBarShowCloseButtonPropertyInfo = IsSearchBar
+    type AttrGetType SearchBarShowCloseButtonPropertyInfo = Bool
+    type AttrLabel SearchBarShowCloseButtonPropertyInfo = "show-close-button"
+    type AttrOrigin SearchBarShowCloseButtonPropertyInfo = SearchBar
+    attrGet _ = getSearchBarShowCloseButton
+    attrSet _ = setSearchBarShowCloseButton
+    attrConstruct _ = constructSearchBarShowCloseButton
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SearchBar
+type instance O.AttributeList SearchBar = SearchBarAttributeList
+type SearchBarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("searchModeEnabled", SearchBarSearchModeEnabledPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showCloseButton", SearchBarShowCloseButtonPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+searchBarSearchModeEnabled :: AttrLabelProxy "searchModeEnabled"
+searchBarSearchModeEnabled = AttrLabelProxy
+
+searchBarShowCloseButton :: AttrLabelProxy "showCloseButton"
+searchBarShowCloseButton = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList SearchBar = SearchBarSignalList
+type SearchBarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method SearchBar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SearchBar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_search_bar_new" gtk_search_bar_new :: 
+    IO (Ptr SearchBar)
+
+{- |
+Creates a 'GI.Gtk.Objects.SearchBar.SearchBar'. You will need to tell it about
+which widget is going to be your text entry using
+'GI.Gtk.Objects.SearchBar.searchBarConnectEntry'.
+
+/Since: 3.10/
+-}
+searchBarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m SearchBar
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.SearchBar.SearchBar' -}
+searchBarNew  = liftIO $ do
+    result <- gtk_search_bar_new
+    checkUnexpectedReturnNULL "searchBarNew" result
+    result' <- (newObject SearchBar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SearchBar::connect_entry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "SearchBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSearchBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_search_bar_connect_entry" gtk_search_bar_connect_entry :: 
+    Ptr SearchBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "SearchBar"})
+    Ptr Gtk.Entry.Entry ->                  -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO ()
+
+{- |
+Connects the 'GI.Gtk.Objects.Entry.Entry' widget passed as the one to be used in
+this search bar. The entry should be a descendant of the search bar.
+This is only required if the entry isn’t the direct child of the
+search bar (as in our main example).
+
+/Since: 3.10/
+-}
+searchBarConnectEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSearchBar a, Gtk.Entry.IsEntry b) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.SearchBar.SearchBar' -}
+    -> b
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.Entry.Entry' -}
+    -> m ()
+searchBarConnectEntry bar entry = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    entry' <- unsafeManagedPtrCastPtr entry
+    gtk_search_bar_connect_entry bar' entry'
+    touchManagedPtr bar
+    touchManagedPtr entry
+    return ()
+
+#if ENABLE_OVERLOADING
+data SearchBarConnectEntryMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsSearchBar a, Gtk.Entry.IsEntry b) => O.MethodInfo SearchBarConnectEntryMethodInfo a signature where
+    overloadedMethod _ = searchBarConnectEntry
+
+#endif
+
+-- method SearchBar::get_search_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "SearchBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSearchBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_search_bar_get_search_mode" gtk_search_bar_get_search_mode :: 
+    Ptr SearchBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "SearchBar"})
+    IO CInt
+
+{- |
+Returns whether the search mode is on or off.
+
+/Since: 3.10/
+-}
+searchBarGetSearchMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSearchBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.SearchBar.SearchBar' -}
+    -> m Bool
+    {- ^ __Returns:__ whether search mode is toggled on -}
+searchBarGetSearchMode bar = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    result <- gtk_search_bar_get_search_mode bar'
+    let result' = (/= 0) result
+    touchManagedPtr bar
+    return result'
+
+#if ENABLE_OVERLOADING
+data SearchBarGetSearchModeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsSearchBar a) => O.MethodInfo SearchBarGetSearchModeMethodInfo a signature where
+    overloadedMethod _ = searchBarGetSearchMode
+
+#endif
+
+-- method SearchBar::get_show_close_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "SearchBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSearchBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_search_bar_get_show_close_button" gtk_search_bar_get_show_close_button :: 
+    Ptr SearchBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "SearchBar"})
+    IO CInt
+
+{- |
+Returns whether the close button is shown.
+
+/Since: 3.10/
+-}
+searchBarGetShowCloseButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSearchBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.SearchBar.SearchBar' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the close button is shown -}
+searchBarGetShowCloseButton bar = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    result <- gtk_search_bar_get_show_close_button bar'
+    let result' = (/= 0) result
+    touchManagedPtr bar
+    return result'
+
+#if ENABLE_OVERLOADING
+data SearchBarGetShowCloseButtonMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsSearchBar a) => O.MethodInfo SearchBarGetShowCloseButtonMethodInfo a signature where
+    overloadedMethod _ = searchBarGetShowCloseButton
+
+#endif
+
+-- method SearchBar::handle_event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "SearchBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSearchBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent containing key press events", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_search_bar_handle_event" gtk_search_bar_handle_event :: 
+    Ptr SearchBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "SearchBar"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO CInt
+
+{- |
+This function should be called when the top-level
+window which contains the search bar received a key event.
+
+If the key event is handled by the search bar, the bar will
+be shown, the entry populated with the entered text and 'GI.Gdk.Constants.EVENT_STOP'
+will be returned. The caller should ensure that events are
+not propagated further.
+
+If no entry has been connected to the search bar, using
+'GI.Gtk.Objects.SearchBar.searchBarConnectEntry', this function will return
+immediately with a warning.
+
+== Showing the search bar on key presses
+
+
+=== /C code/
+>
+>static gboolean
+>on_key_press_event (GtkWidget *widget,
+>                    GdkEvent  *event,
+>                    gpointer   user_data)
+>{
+>  GtkSearchBar *bar = GTK_SEARCH_BAR (user_data);
+>  return gtk_search_bar_handle_event (bar, event);
+>}
+>
+>static void
+>create_toplevel (void)
+>{
+>  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+>  GtkWindow *search_bar = gtk_search_bar_new ();
+>
+> // Add more widgets to the window...
+>
+>  g_signal_connect (window,
+>                   "key-press-event",
+>                    G_CALLBACK (on_key_press_event),
+>                    search_bar);
+>}
+
+
+/Since: 3.10/
+-}
+searchBarHandleEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSearchBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.SearchBar.SearchBar' -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' containing key press events -}
+    -> m Bool
+    {- ^ __Returns:__ 'GI.Gdk.Constants.EVENT_STOP' if the key press event resulted
+    in text being entered in the search entry (and revealing
+    the search bar if necessary), 'GI.Gdk.Constants.EVENT_PROPAGATE' otherwise. -}
+searchBarHandleEvent bar event = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_search_bar_handle_event bar' event'
+    let result' = (/= 0) result
+    touchManagedPtr bar
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data SearchBarHandleEventMethodInfo
+instance (signature ~ (Gdk.Event.Event -> m Bool), MonadIO m, IsSearchBar a) => O.MethodInfo SearchBarHandleEventMethodInfo a signature where
+    overloadedMethod _ = searchBarHandleEvent
+
+#endif
+
+-- method SearchBar::set_search_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "SearchBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSearchBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_mode", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new state of the search mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_search_bar_set_search_mode" gtk_search_bar_set_search_mode :: 
+    Ptr SearchBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "SearchBar"})
+    CInt ->                                 -- search_mode : TBasicType TBoolean
+    IO ()
+
+{- |
+Switches the search mode on or off.
+
+/Since: 3.10/
+-}
+searchBarSetSearchMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSearchBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.SearchBar.SearchBar' -}
+    -> Bool
+    {- ^ /@searchMode@/: the new state of the search mode -}
+    -> m ()
+searchBarSetSearchMode bar searchMode = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    let searchMode' = (fromIntegral . fromEnum) searchMode
+    gtk_search_bar_set_search_mode bar' searchMode'
+    touchManagedPtr bar
+    return ()
+
+#if ENABLE_OVERLOADING
+data SearchBarSetSearchModeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsSearchBar a) => O.MethodInfo SearchBarSetSearchModeMethodInfo a signature where
+    overloadedMethod _ = searchBarSetSearchMode
+
+#endif
+
+-- method SearchBar::set_show_close_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "bar", argType = TInterface (Name {namespace = "Gtk", name = "SearchBar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSearchBar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the close button will be shown or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_search_bar_set_show_close_button" gtk_search_bar_set_show_close_button :: 
+    Ptr SearchBar ->                        -- bar : TInterface (Name {namespace = "Gtk", name = "SearchBar"})
+    CInt ->                                 -- visible : TBasicType TBoolean
+    IO ()
+
+{- |
+Shows or hides the close button. Applications that
+already have a “search” toggle button should not show a close
+button in their search bar, as it duplicates the role of the
+toggle button.
+
+/Since: 3.10/
+-}
+searchBarSetShowCloseButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSearchBar a) =>
+    a
+    {- ^ /@bar@/: a 'GI.Gtk.Objects.SearchBar.SearchBar' -}
+    -> Bool
+    {- ^ /@visible@/: whether the close button will be shown or not -}
+    -> m ()
+searchBarSetShowCloseButton bar visible = liftIO $ do
+    bar' <- unsafeManagedPtrCastPtr bar
+    let visible' = (fromIntegral . fromEnum) visible
+    gtk_search_bar_set_show_close_button bar' visible'
+    touchManagedPtr bar
+    return ()
+
+#if ENABLE_OVERLOADING
+data SearchBarSetShowCloseButtonMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsSearchBar a) => O.MethodInfo SearchBarSetShowCloseButtonMethodInfo a signature where
+    overloadedMethod _ = searchBarSetShowCloseButton
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/SearchBar.hs-boot b/GI/Gtk/Objects/SearchBar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SearchBar.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.SearchBar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SearchBar = SearchBar (ManagedPtr SearchBar)
+instance GObject SearchBar where
+class (GObject o, O.IsDescendantOf SearchBar o) => IsSearchBar o
+instance (GObject o, O.IsDescendantOf SearchBar o) => IsSearchBar o
+instance O.HasParentTypes SearchBar
+#if ENABLE_OVERLOADING
+data SearchBarSearchModeEnabledPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchBarShowCloseButtonPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchBarConnectEntryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchBarGetSearchModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchBarGetShowCloseButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchBarHandleEventMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchBarSetSearchModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchBarSetShowCloseButtonMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/SearchEntry.hs b/GI/Gtk/Objects/SearchEntry.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SearchEntry.hs
@@ -0,0 +1,997 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.SearchEntry.SearchEntry' is a subclass of 'GI.Gtk.Objects.Entry.Entry' that has been
+tailored for use as a search entry.
+
+It will show an inactive symbolic “find” icon when the search
+entry is empty, and a symbolic “clear” icon when there is text.
+Clicking on the “clear” icon will empty the search entry.
+
+Note that the search\/clear icon is shown using a secondary
+icon, and thus does not work if you are using the secondary
+icon position for some other purpose.
+
+To make filtering appear more reactive, it is a good idea to
+not react to every change in the entry text immediately, but
+only after a short delay. To support this, 'GI.Gtk.Objects.SearchEntry.SearchEntry'
+emits the 'GI.Gtk.Objects.SearchEntry.SearchEntry'::@/search-changed/@ signal which can
+be used instead of the 'GI.Gtk.Interfaces.Editable.Editable'::@/changed/@ signal.
+
+The 'GI.Gtk.Objects.SearchEntry.SearchEntry'::@/previous-match/@, 'GI.Gtk.Objects.SearchEntry.SearchEntry'::@/next-match/@
+and 'GI.Gtk.Objects.SearchEntry.SearchEntry'::@/stop-search/@ signals can be used to implement
+moving between search results and ending the search.
+
+Often, GtkSearchEntry will be fed events by means of being
+placed inside a 'GI.Gtk.Objects.SearchBar.SearchBar'. If that is not the case,
+you can use 'GI.Gtk.Objects.SearchEntry.searchEntryHandleEvent' to pass events.
+
+/Since: 3.6/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.SearchEntry
+    ( 
+
+-- * Exported types
+    SearchEntry(..)                         ,
+    IsSearchEntry                           ,
+    toSearchEntry                           ,
+    noSearchEntry                           ,
+
+
+ -- * Methods
+-- ** handleEvent #method:handleEvent#
+
+#if ENABLE_OVERLOADING
+    SearchEntryHandleEventMethodInfo        ,
+#endif
+    searchEntryHandleEvent                  ,
+
+
+-- ** new #method:new#
+
+    searchEntryNew                          ,
+
+
+
+
+ -- * Signals
+-- ** nextMatch #signal:nextMatch#
+
+    C_SearchEntryNextMatchCallback          ,
+    SearchEntryNextMatchCallback            ,
+#if ENABLE_OVERLOADING
+    SearchEntryNextMatchSignalInfo          ,
+#endif
+    afterSearchEntryNextMatch               ,
+    genClosure_SearchEntryNextMatch         ,
+    mk_SearchEntryNextMatchCallback         ,
+    noSearchEntryNextMatchCallback          ,
+    onSearchEntryNextMatch                  ,
+    wrap_SearchEntryNextMatchCallback       ,
+
+
+-- ** previousMatch #signal:previousMatch#
+
+    C_SearchEntryPreviousMatchCallback      ,
+    SearchEntryPreviousMatchCallback        ,
+#if ENABLE_OVERLOADING
+    SearchEntryPreviousMatchSignalInfo      ,
+#endif
+    afterSearchEntryPreviousMatch           ,
+    genClosure_SearchEntryPreviousMatch     ,
+    mk_SearchEntryPreviousMatchCallback     ,
+    noSearchEntryPreviousMatchCallback      ,
+    onSearchEntryPreviousMatch              ,
+    wrap_SearchEntryPreviousMatchCallback   ,
+
+
+-- ** searchChanged #signal:searchChanged#
+
+    C_SearchEntrySearchChangedCallback      ,
+    SearchEntrySearchChangedCallback        ,
+#if ENABLE_OVERLOADING
+    SearchEntrySearchChangedSignalInfo      ,
+#endif
+    afterSearchEntrySearchChanged           ,
+    genClosure_SearchEntrySearchChanged     ,
+    mk_SearchEntrySearchChangedCallback     ,
+    noSearchEntrySearchChangedCallback      ,
+    onSearchEntrySearchChanged              ,
+    wrap_SearchEntrySearchChangedCallback   ,
+
+
+-- ** stopSearch #signal:stopSearch#
+
+    C_SearchEntryStopSearchCallback         ,
+    SearchEntryStopSearchCallback           ,
+#if ENABLE_OVERLOADING
+    SearchEntryStopSearchSignalInfo         ,
+#endif
+    afterSearchEntryStopSearch              ,
+    genClosure_SearchEntryStopSearch        ,
+    mk_SearchEntryStopSearchCallback        ,
+    noSearchEntryStopSearchCallback         ,
+    onSearchEntryStopSearch                 ,
+    wrap_SearchEntryStopSearchCallback      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellEditable as Gtk.CellEditable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Editable as Gtk.Editable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Entry as Gtk.Entry
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype SearchEntry = SearchEntry (ManagedPtr SearchEntry)
+foreign import ccall "gtk_search_entry_get_type"
+    c_gtk_search_entry_get_type :: IO GType
+
+instance GObject SearchEntry where
+    gobjectType = c_gtk_search_entry_get_type
+    
+
+-- | Type class for types which can be safely cast to `SearchEntry`, for instance with `toSearchEntry`.
+class (GObject o, O.IsDescendantOf SearchEntry o) => IsSearchEntry o
+instance (GObject o, O.IsDescendantOf SearchEntry o) => IsSearchEntry o
+
+instance O.HasParentTypes SearchEntry
+type instance O.ParentTypes SearchEntry = '[Gtk.Entry.Entry, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.CellEditable.CellEditable, Gtk.Editable.Editable]
+
+-- | Cast to `SearchEntry`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSearchEntry :: (MonadIO m, IsSearchEntry o) => o -> m SearchEntry
+toSearchEntry = liftIO . unsafeCastTo SearchEntry
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SearchEntry`.
+noSearchEntry :: Maybe SearchEntry
+noSearchEntry = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSearchEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSearchEntryMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveSearchEntryMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveSearchEntryMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSearchEntryMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveSearchEntryMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveSearchEntryMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveSearchEntryMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveSearchEntryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSearchEntryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSearchEntryMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveSearchEntryMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveSearchEntryMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveSearchEntryMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveSearchEntryMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveSearchEntryMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSearchEntryMethod "copyClipboard" o = Gtk.Editable.EditableCopyClipboardMethodInfo
+    ResolveSearchEntryMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveSearchEntryMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveSearchEntryMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSearchEntryMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSearchEntryMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSearchEntryMethod "cutClipboard" o = Gtk.Editable.EditableCutClipboardMethodInfo
+    ResolveSearchEntryMethod "deleteSelection" o = Gtk.Editable.EditableDeleteSelectionMethodInfo
+    ResolveSearchEntryMethod "deleteText" o = Gtk.Editable.EditableDeleteTextMethodInfo
+    ResolveSearchEntryMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveSearchEntryMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveSearchEntryMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveSearchEntryMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveSearchEntryMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveSearchEntryMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveSearchEntryMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveSearchEntryMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveSearchEntryMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveSearchEntryMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveSearchEntryMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveSearchEntryMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveSearchEntryMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveSearchEntryMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveSearchEntryMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveSearchEntryMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveSearchEntryMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveSearchEntryMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveSearchEntryMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveSearchEntryMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveSearchEntryMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveSearchEntryMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveSearchEntryMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveSearchEntryMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveSearchEntryMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveSearchEntryMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveSearchEntryMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveSearchEntryMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveSearchEntryMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveSearchEntryMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveSearchEntryMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveSearchEntryMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveSearchEntryMethod "editingDone" o = Gtk.CellEditable.CellEditableEditingDoneMethodInfo
+    ResolveSearchEntryMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveSearchEntryMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveSearchEntryMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveSearchEntryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSearchEntryMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveSearchEntryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSearchEntryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSearchEntryMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveSearchEntryMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveSearchEntryMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveSearchEntryMethod "grabFocusWithoutSelecting" o = Gtk.Entry.EntryGrabFocusWithoutSelectingMethodInfo
+    ResolveSearchEntryMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveSearchEntryMethod "handleEvent" o = SearchEntryHandleEventMethodInfo
+    ResolveSearchEntryMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveSearchEntryMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveSearchEntryMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveSearchEntryMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveSearchEntryMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveSearchEntryMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveSearchEntryMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveSearchEntryMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveSearchEntryMethod "imContextFilterKeypress" o = Gtk.Entry.EntryImContextFilterKeypressMethodInfo
+    ResolveSearchEntryMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveSearchEntryMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveSearchEntryMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveSearchEntryMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveSearchEntryMethod "insertText" o = Gtk.Editable.EditableInsertTextMethodInfo
+    ResolveSearchEntryMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveSearchEntryMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveSearchEntryMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveSearchEntryMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveSearchEntryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSearchEntryMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveSearchEntryMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveSearchEntryMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveSearchEntryMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveSearchEntryMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveSearchEntryMethod "layoutIndexToTextIndex" o = Gtk.Entry.EntryLayoutIndexToTextIndexMethodInfo
+    ResolveSearchEntryMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveSearchEntryMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveSearchEntryMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveSearchEntryMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveSearchEntryMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveSearchEntryMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveSearchEntryMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveSearchEntryMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveSearchEntryMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveSearchEntryMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveSearchEntryMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveSearchEntryMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveSearchEntryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSearchEntryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSearchEntryMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveSearchEntryMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveSearchEntryMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveSearchEntryMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveSearchEntryMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveSearchEntryMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSearchEntryMethod "pasteClipboard" o = Gtk.Editable.EditablePasteClipboardMethodInfo
+    ResolveSearchEntryMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveSearchEntryMethod "progressPulse" o = Gtk.Entry.EntryProgressPulseMethodInfo
+    ResolveSearchEntryMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveSearchEntryMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveSearchEntryMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveSearchEntryMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveSearchEntryMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveSearchEntryMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveSearchEntryMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveSearchEntryMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveSearchEntryMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSearchEntryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSearchEntryMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveSearchEntryMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveSearchEntryMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveSearchEntryMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveSearchEntryMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveSearchEntryMethod "removeWidget" o = Gtk.CellEditable.CellEditableRemoveWidgetMethodInfo
+    ResolveSearchEntryMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveSearchEntryMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveSearchEntryMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveSearchEntryMethod "resetImContext" o = Gtk.Entry.EntryResetImContextMethodInfo
+    ResolveSearchEntryMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveSearchEntryMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveSearchEntryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSearchEntryMethod "selectRegion" o = Gtk.Editable.EditableSelectRegionMethodInfo
+    ResolveSearchEntryMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveSearchEntryMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveSearchEntryMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveSearchEntryMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveSearchEntryMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveSearchEntryMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveSearchEntryMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveSearchEntryMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveSearchEntryMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveSearchEntryMethod "startEditing" o = Gtk.CellEditable.CellEditableStartEditingMethodInfo
+    ResolveSearchEntryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSearchEntryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSearchEntryMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveSearchEntryMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveSearchEntryMethod "textIndexToLayoutIndex" o = Gtk.Entry.EntryTextIndexToLayoutIndexMethodInfo
+    ResolveSearchEntryMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveSearchEntryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSearchEntryMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveSearchEntryMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveSearchEntryMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveSearchEntryMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveSearchEntryMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveSearchEntryMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSearchEntryMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveSearchEntryMethod "unsetInvisibleChar" o = Gtk.Entry.EntryUnsetInvisibleCharMethodInfo
+    ResolveSearchEntryMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveSearchEntryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSearchEntryMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveSearchEntryMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveSearchEntryMethod "getActivatesDefault" o = Gtk.Entry.EntryGetActivatesDefaultMethodInfo
+    ResolveSearchEntryMethod "getAlignment" o = Gtk.Entry.EntryGetAlignmentMethodInfo
+    ResolveSearchEntryMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveSearchEntryMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveSearchEntryMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveSearchEntryMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveSearchEntryMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveSearchEntryMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveSearchEntryMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveSearchEntryMethod "getAttributes" o = Gtk.Entry.EntryGetAttributesMethodInfo
+    ResolveSearchEntryMethod "getBuffer" o = Gtk.Entry.EntryGetBufferMethodInfo
+    ResolveSearchEntryMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveSearchEntryMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveSearchEntryMethod "getChars" o = Gtk.Editable.EditableGetCharsMethodInfo
+    ResolveSearchEntryMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveSearchEntryMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveSearchEntryMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveSearchEntryMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveSearchEntryMethod "getCompletion" o = Gtk.Entry.EntryGetCompletionMethodInfo
+    ResolveSearchEntryMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveSearchEntryMethod "getCurrentIconDragSource" o = Gtk.Entry.EntryGetCurrentIconDragSourceMethodInfo
+    ResolveSearchEntryMethod "getCursorHadjustment" o = Gtk.Entry.EntryGetCursorHadjustmentMethodInfo
+    ResolveSearchEntryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSearchEntryMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveSearchEntryMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveSearchEntryMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveSearchEntryMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveSearchEntryMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveSearchEntryMethod "getEditable" o = Gtk.Editable.EditableGetEditableMethodInfo
+    ResolveSearchEntryMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveSearchEntryMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveSearchEntryMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveSearchEntryMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveSearchEntryMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveSearchEntryMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveSearchEntryMethod "getHasFrame" o = Gtk.Entry.EntryGetHasFrameMethodInfo
+    ResolveSearchEntryMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveSearchEntryMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveSearchEntryMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveSearchEntryMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveSearchEntryMethod "getIconActivatable" o = Gtk.Entry.EntryGetIconActivatableMethodInfo
+    ResolveSearchEntryMethod "getIconArea" o = Gtk.Entry.EntryGetIconAreaMethodInfo
+    ResolveSearchEntryMethod "getIconAtPos" o = Gtk.Entry.EntryGetIconAtPosMethodInfo
+    ResolveSearchEntryMethod "getIconGicon" o = Gtk.Entry.EntryGetIconGiconMethodInfo
+    ResolveSearchEntryMethod "getIconName" o = Gtk.Entry.EntryGetIconNameMethodInfo
+    ResolveSearchEntryMethod "getIconPixbuf" o = Gtk.Entry.EntryGetIconPixbufMethodInfo
+    ResolveSearchEntryMethod "getIconSensitive" o = Gtk.Entry.EntryGetIconSensitiveMethodInfo
+    ResolveSearchEntryMethod "getIconStock" o = Gtk.Entry.EntryGetIconStockMethodInfo
+    ResolveSearchEntryMethod "getIconStorageType" o = Gtk.Entry.EntryGetIconStorageTypeMethodInfo
+    ResolveSearchEntryMethod "getIconTooltipMarkup" o = Gtk.Entry.EntryGetIconTooltipMarkupMethodInfo
+    ResolveSearchEntryMethod "getIconTooltipText" o = Gtk.Entry.EntryGetIconTooltipTextMethodInfo
+    ResolveSearchEntryMethod "getInnerBorder" o = Gtk.Entry.EntryGetInnerBorderMethodInfo
+    ResolveSearchEntryMethod "getInputHints" o = Gtk.Entry.EntryGetInputHintsMethodInfo
+    ResolveSearchEntryMethod "getInputPurpose" o = Gtk.Entry.EntryGetInputPurposeMethodInfo
+    ResolveSearchEntryMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSearchEntryMethod "getInvisibleChar" o = Gtk.Entry.EntryGetInvisibleCharMethodInfo
+    ResolveSearchEntryMethod "getLayout" o = Gtk.Entry.EntryGetLayoutMethodInfo
+    ResolveSearchEntryMethod "getLayoutOffsets" o = Gtk.Entry.EntryGetLayoutOffsetsMethodInfo
+    ResolveSearchEntryMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveSearchEntryMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveSearchEntryMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveSearchEntryMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveSearchEntryMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveSearchEntryMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveSearchEntryMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveSearchEntryMethod "getMaxLength" o = Gtk.Entry.EntryGetMaxLengthMethodInfo
+    ResolveSearchEntryMethod "getMaxWidthChars" o = Gtk.Entry.EntryGetMaxWidthCharsMethodInfo
+    ResolveSearchEntryMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveSearchEntryMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveSearchEntryMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveSearchEntryMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveSearchEntryMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveSearchEntryMethod "getOverwriteMode" o = Gtk.Entry.EntryGetOverwriteModeMethodInfo
+    ResolveSearchEntryMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveSearchEntryMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveSearchEntryMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveSearchEntryMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveSearchEntryMethod "getPlaceholderText" o = Gtk.Entry.EntryGetPlaceholderTextMethodInfo
+    ResolveSearchEntryMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveSearchEntryMethod "getPosition" o = Gtk.Editable.EditableGetPositionMethodInfo
+    ResolveSearchEntryMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveSearchEntryMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveSearchEntryMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveSearchEntryMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveSearchEntryMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveSearchEntryMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveSearchEntryMethod "getProgressFraction" o = Gtk.Entry.EntryGetProgressFractionMethodInfo
+    ResolveSearchEntryMethod "getProgressPulseStep" o = Gtk.Entry.EntryGetProgressPulseStepMethodInfo
+    ResolveSearchEntryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSearchEntryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSearchEntryMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveSearchEntryMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveSearchEntryMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveSearchEntryMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveSearchEntryMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveSearchEntryMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveSearchEntryMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveSearchEntryMethod "getSelectionBounds" o = Gtk.Editable.EditableGetSelectionBoundsMethodInfo
+    ResolveSearchEntryMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveSearchEntryMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveSearchEntryMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveSearchEntryMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveSearchEntryMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveSearchEntryMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveSearchEntryMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveSearchEntryMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveSearchEntryMethod "getTabs" o = Gtk.Entry.EntryGetTabsMethodInfo
+    ResolveSearchEntryMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveSearchEntryMethod "getText" o = Gtk.Entry.EntryGetTextMethodInfo
+    ResolveSearchEntryMethod "getTextArea" o = Gtk.Entry.EntryGetTextAreaMethodInfo
+    ResolveSearchEntryMethod "getTextLength" o = Gtk.Entry.EntryGetTextLengthMethodInfo
+    ResolveSearchEntryMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveSearchEntryMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveSearchEntryMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveSearchEntryMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveSearchEntryMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveSearchEntryMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveSearchEntryMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveSearchEntryMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveSearchEntryMethod "getVisibility" o = Gtk.Entry.EntryGetVisibilityMethodInfo
+    ResolveSearchEntryMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveSearchEntryMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveSearchEntryMethod "getWidthChars" o = Gtk.Entry.EntryGetWidthCharsMethodInfo
+    ResolveSearchEntryMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveSearchEntryMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveSearchEntryMethod "setActivatesDefault" o = Gtk.Entry.EntrySetActivatesDefaultMethodInfo
+    ResolveSearchEntryMethod "setAlignment" o = Gtk.Entry.EntrySetAlignmentMethodInfo
+    ResolveSearchEntryMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveSearchEntryMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveSearchEntryMethod "setAttributes" o = Gtk.Entry.EntrySetAttributesMethodInfo
+    ResolveSearchEntryMethod "setBuffer" o = Gtk.Entry.EntrySetBufferMethodInfo
+    ResolveSearchEntryMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSearchEntryMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveSearchEntryMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveSearchEntryMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveSearchEntryMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveSearchEntryMethod "setCompletion" o = Gtk.Entry.EntrySetCompletionMethodInfo
+    ResolveSearchEntryMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveSearchEntryMethod "setCursorHadjustment" o = Gtk.Entry.EntrySetCursorHadjustmentMethodInfo
+    ResolveSearchEntryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSearchEntryMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveSearchEntryMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveSearchEntryMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveSearchEntryMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveSearchEntryMethod "setEditable" o = Gtk.Editable.EditableSetEditableMethodInfo
+    ResolveSearchEntryMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveSearchEntryMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveSearchEntryMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveSearchEntryMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveSearchEntryMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveSearchEntryMethod "setHasFrame" o = Gtk.Entry.EntrySetHasFrameMethodInfo
+    ResolveSearchEntryMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveSearchEntryMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveSearchEntryMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveSearchEntryMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveSearchEntryMethod "setIconActivatable" o = Gtk.Entry.EntrySetIconActivatableMethodInfo
+    ResolveSearchEntryMethod "setIconDragSource" o = Gtk.Entry.EntrySetIconDragSourceMethodInfo
+    ResolveSearchEntryMethod "setIconFromGicon" o = Gtk.Entry.EntrySetIconFromGiconMethodInfo
+    ResolveSearchEntryMethod "setIconFromIconName" o = Gtk.Entry.EntrySetIconFromIconNameMethodInfo
+    ResolveSearchEntryMethod "setIconFromPixbuf" o = Gtk.Entry.EntrySetIconFromPixbufMethodInfo
+    ResolveSearchEntryMethod "setIconFromStock" o = Gtk.Entry.EntrySetIconFromStockMethodInfo
+    ResolveSearchEntryMethod "setIconSensitive" o = Gtk.Entry.EntrySetIconSensitiveMethodInfo
+    ResolveSearchEntryMethod "setIconTooltipMarkup" o = Gtk.Entry.EntrySetIconTooltipMarkupMethodInfo
+    ResolveSearchEntryMethod "setIconTooltipText" o = Gtk.Entry.EntrySetIconTooltipTextMethodInfo
+    ResolveSearchEntryMethod "setInnerBorder" o = Gtk.Entry.EntrySetInnerBorderMethodInfo
+    ResolveSearchEntryMethod "setInputHints" o = Gtk.Entry.EntrySetInputHintsMethodInfo
+    ResolveSearchEntryMethod "setInputPurpose" o = Gtk.Entry.EntrySetInputPurposeMethodInfo
+    ResolveSearchEntryMethod "setInvisibleChar" o = Gtk.Entry.EntrySetInvisibleCharMethodInfo
+    ResolveSearchEntryMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveSearchEntryMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveSearchEntryMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveSearchEntryMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveSearchEntryMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveSearchEntryMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveSearchEntryMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveSearchEntryMethod "setMaxLength" o = Gtk.Entry.EntrySetMaxLengthMethodInfo
+    ResolveSearchEntryMethod "setMaxWidthChars" o = Gtk.Entry.EntrySetMaxWidthCharsMethodInfo
+    ResolveSearchEntryMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveSearchEntryMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveSearchEntryMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveSearchEntryMethod "setOverwriteMode" o = Gtk.Entry.EntrySetOverwriteModeMethodInfo
+    ResolveSearchEntryMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveSearchEntryMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveSearchEntryMethod "setPlaceholderText" o = Gtk.Entry.EntrySetPlaceholderTextMethodInfo
+    ResolveSearchEntryMethod "setPosition" o = Gtk.Editable.EditableSetPositionMethodInfo
+    ResolveSearchEntryMethod "setProgressFraction" o = Gtk.Entry.EntrySetProgressFractionMethodInfo
+    ResolveSearchEntryMethod "setProgressPulseStep" o = Gtk.Entry.EntrySetProgressPulseStepMethodInfo
+    ResolveSearchEntryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSearchEntryMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveSearchEntryMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveSearchEntryMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveSearchEntryMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveSearchEntryMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveSearchEntryMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveSearchEntryMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveSearchEntryMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveSearchEntryMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveSearchEntryMethod "setTabs" o = Gtk.Entry.EntrySetTabsMethodInfo
+    ResolveSearchEntryMethod "setText" o = Gtk.Entry.EntrySetTextMethodInfo
+    ResolveSearchEntryMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveSearchEntryMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveSearchEntryMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveSearchEntryMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveSearchEntryMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveSearchEntryMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveSearchEntryMethod "setVisibility" o = Gtk.Entry.EntrySetVisibilityMethodInfo
+    ResolveSearchEntryMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveSearchEntryMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveSearchEntryMethod "setWidthChars" o = Gtk.Entry.EntrySetWidthCharsMethodInfo
+    ResolveSearchEntryMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveSearchEntryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSearchEntryMethod t SearchEntry, O.MethodInfo info SearchEntry p) => OL.IsLabel t (SearchEntry -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal SearchEntry::next-match
+{- |
+The ::next-match signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a move to the next match
+for the current search string.
+
+Applications should connect to it, to implement moving between
+matches.
+
+The default bindings for this signal is Ctrl-g.
+
+/Since: 3.16/
+-}
+type SearchEntryNextMatchCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SearchEntryNextMatchCallback`@.
+noSearchEntryNextMatchCallback :: Maybe SearchEntryNextMatchCallback
+noSearchEntryNextMatchCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SearchEntryNextMatchCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_SearchEntryNextMatchCallback`.
+foreign import ccall "wrapper"
+    mk_SearchEntryNextMatchCallback :: C_SearchEntryNextMatchCallback -> IO (FunPtr C_SearchEntryNextMatchCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SearchEntryNextMatch :: MonadIO m => SearchEntryNextMatchCallback -> m (GClosure C_SearchEntryNextMatchCallback)
+genClosure_SearchEntryNextMatch cb = liftIO $ do
+    let cb' = wrap_SearchEntryNextMatchCallback cb
+    mk_SearchEntryNextMatchCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SearchEntryNextMatchCallback` into a `C_SearchEntryNextMatchCallback`.
+wrap_SearchEntryNextMatchCallback ::
+    SearchEntryNextMatchCallback ->
+    C_SearchEntryNextMatchCallback
+wrap_SearchEntryNextMatchCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@next-match@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' searchEntry #nextMatch callback
+@
+-}
+onSearchEntryNextMatch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryNextMatchCallback -> m SignalHandlerId
+onSearchEntryNextMatch obj cb = liftIO $ do
+    let cb' = wrap_SearchEntryNextMatchCallback cb
+    cb'' <- mk_SearchEntryNextMatchCallback cb'
+    connectSignalFunPtr obj "next-match" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@next-match@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' searchEntry #nextMatch callback
+@
+-}
+afterSearchEntryNextMatch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryNextMatchCallback -> m SignalHandlerId
+afterSearchEntryNextMatch obj cb = liftIO $ do
+    let cb' = wrap_SearchEntryNextMatchCallback cb
+    cb'' <- mk_SearchEntryNextMatchCallback cb'
+    connectSignalFunPtr obj "next-match" cb'' SignalConnectAfter
+
+
+-- signal SearchEntry::previous-match
+{- |
+The ::previous-match signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a move to the previous match
+for the current search string.
+
+Applications should connect to it, to implement moving between
+matches.
+
+The default bindings for this signal is Ctrl-Shift-g.
+
+/Since: 3.16/
+-}
+type SearchEntryPreviousMatchCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SearchEntryPreviousMatchCallback`@.
+noSearchEntryPreviousMatchCallback :: Maybe SearchEntryPreviousMatchCallback
+noSearchEntryPreviousMatchCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SearchEntryPreviousMatchCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_SearchEntryPreviousMatchCallback`.
+foreign import ccall "wrapper"
+    mk_SearchEntryPreviousMatchCallback :: C_SearchEntryPreviousMatchCallback -> IO (FunPtr C_SearchEntryPreviousMatchCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SearchEntryPreviousMatch :: MonadIO m => SearchEntryPreviousMatchCallback -> m (GClosure C_SearchEntryPreviousMatchCallback)
+genClosure_SearchEntryPreviousMatch cb = liftIO $ do
+    let cb' = wrap_SearchEntryPreviousMatchCallback cb
+    mk_SearchEntryPreviousMatchCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SearchEntryPreviousMatchCallback` into a `C_SearchEntryPreviousMatchCallback`.
+wrap_SearchEntryPreviousMatchCallback ::
+    SearchEntryPreviousMatchCallback ->
+    C_SearchEntryPreviousMatchCallback
+wrap_SearchEntryPreviousMatchCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@previous-match@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' searchEntry #previousMatch callback
+@
+-}
+onSearchEntryPreviousMatch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryPreviousMatchCallback -> m SignalHandlerId
+onSearchEntryPreviousMatch obj cb = liftIO $ do
+    let cb' = wrap_SearchEntryPreviousMatchCallback cb
+    cb'' <- mk_SearchEntryPreviousMatchCallback cb'
+    connectSignalFunPtr obj "previous-match" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@previous-match@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' searchEntry #previousMatch callback
+@
+-}
+afterSearchEntryPreviousMatch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryPreviousMatchCallback -> m SignalHandlerId
+afterSearchEntryPreviousMatch obj cb = liftIO $ do
+    let cb' = wrap_SearchEntryPreviousMatchCallback cb
+    cb'' <- mk_SearchEntryPreviousMatchCallback cb'
+    connectSignalFunPtr obj "previous-match" cb'' SignalConnectAfter
+
+
+-- signal SearchEntry::search-changed
+{- |
+The 'GI.Gtk.Objects.SearchEntry.SearchEntry'::@/search-changed/@ signal is emitted with a short
+delay of 150 milliseconds after the last change to the entry text.
+
+/Since: 3.10/
+-}
+type SearchEntrySearchChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SearchEntrySearchChangedCallback`@.
+noSearchEntrySearchChangedCallback :: Maybe SearchEntrySearchChangedCallback
+noSearchEntrySearchChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SearchEntrySearchChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_SearchEntrySearchChangedCallback`.
+foreign import ccall "wrapper"
+    mk_SearchEntrySearchChangedCallback :: C_SearchEntrySearchChangedCallback -> IO (FunPtr C_SearchEntrySearchChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SearchEntrySearchChanged :: MonadIO m => SearchEntrySearchChangedCallback -> m (GClosure C_SearchEntrySearchChangedCallback)
+genClosure_SearchEntrySearchChanged cb = liftIO $ do
+    let cb' = wrap_SearchEntrySearchChangedCallback cb
+    mk_SearchEntrySearchChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SearchEntrySearchChangedCallback` into a `C_SearchEntrySearchChangedCallback`.
+wrap_SearchEntrySearchChangedCallback ::
+    SearchEntrySearchChangedCallback ->
+    C_SearchEntrySearchChangedCallback
+wrap_SearchEntrySearchChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@search-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' searchEntry #searchChanged callback
+@
+-}
+onSearchEntrySearchChanged :: (IsSearchEntry a, MonadIO m) => a -> SearchEntrySearchChangedCallback -> m SignalHandlerId
+onSearchEntrySearchChanged obj cb = liftIO $ do
+    let cb' = wrap_SearchEntrySearchChangedCallback cb
+    cb'' <- mk_SearchEntrySearchChangedCallback cb'
+    connectSignalFunPtr obj "search-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@search-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' searchEntry #searchChanged callback
+@
+-}
+afterSearchEntrySearchChanged :: (IsSearchEntry a, MonadIO m) => a -> SearchEntrySearchChangedCallback -> m SignalHandlerId
+afterSearchEntrySearchChanged obj cb = liftIO $ do
+    let cb' = wrap_SearchEntrySearchChangedCallback cb
+    cb'' <- mk_SearchEntrySearchChangedCallback cb'
+    connectSignalFunPtr obj "search-changed" cb'' SignalConnectAfter
+
+
+-- signal SearchEntry::stop-search
+{- |
+The ::stop-search signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user stops a search via keyboard input.
+
+Applications should connect to it, to implement hiding the search
+entry in this case.
+
+The default bindings for this signal is Escape.
+
+/Since: 3.16/
+-}
+type SearchEntryStopSearchCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SearchEntryStopSearchCallback`@.
+noSearchEntryStopSearchCallback :: Maybe SearchEntryStopSearchCallback
+noSearchEntryStopSearchCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SearchEntryStopSearchCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_SearchEntryStopSearchCallback`.
+foreign import ccall "wrapper"
+    mk_SearchEntryStopSearchCallback :: C_SearchEntryStopSearchCallback -> IO (FunPtr C_SearchEntryStopSearchCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SearchEntryStopSearch :: MonadIO m => SearchEntryStopSearchCallback -> m (GClosure C_SearchEntryStopSearchCallback)
+genClosure_SearchEntryStopSearch cb = liftIO $ do
+    let cb' = wrap_SearchEntryStopSearchCallback cb
+    mk_SearchEntryStopSearchCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SearchEntryStopSearchCallback` into a `C_SearchEntryStopSearchCallback`.
+wrap_SearchEntryStopSearchCallback ::
+    SearchEntryStopSearchCallback ->
+    C_SearchEntryStopSearchCallback
+wrap_SearchEntryStopSearchCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@stop-search@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' searchEntry #stopSearch callback
+@
+-}
+onSearchEntryStopSearch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryStopSearchCallback -> m SignalHandlerId
+onSearchEntryStopSearch obj cb = liftIO $ do
+    let cb' = wrap_SearchEntryStopSearchCallback cb
+    cb'' <- mk_SearchEntryStopSearchCallback cb'
+    connectSignalFunPtr obj "stop-search" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@stop-search@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' searchEntry #stopSearch callback
+@
+-}
+afterSearchEntryStopSearch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryStopSearchCallback -> m SignalHandlerId
+afterSearchEntryStopSearch obj cb = liftIO $ do
+    let cb' = wrap_SearchEntryStopSearchCallback cb
+    cb'' <- mk_SearchEntryStopSearchCallback cb'
+    connectSignalFunPtr obj "stop-search" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SearchEntry
+type instance O.AttributeList SearchEntry = SearchEntryAttributeList
+type SearchEntryAttributeList = ('[ '("activatesDefault", Gtk.Entry.EntryActivatesDefaultPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("attributes", Gtk.Entry.EntryAttributesPropertyInfo), '("buffer", Gtk.Entry.EntryBufferPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("capsLockWarning", Gtk.Entry.EntryCapsLockWarningPropertyInfo), '("completion", Gtk.Entry.EntryCompletionPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("cursorPosition", Gtk.Entry.EntryCursorPositionPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("editable", Gtk.Entry.EntryEditablePropertyInfo), '("editingCanceled", Gtk.CellEditable.CellEditableEditingCanceledPropertyInfo), '("enableEmojiCompletion", Gtk.Entry.EntryEnableEmojiCompletionPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasFrame", Gtk.Entry.EntryHasFramePropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("imModule", Gtk.Entry.EntryImModulePropertyInfo), '("innerBorder", Gtk.Entry.EntryInnerBorderPropertyInfo), '("inputHints", Gtk.Entry.EntryInputHintsPropertyInfo), '("inputPurpose", Gtk.Entry.EntryInputPurposePropertyInfo), '("invisibleChar", Gtk.Entry.EntryInvisibleCharPropertyInfo), '("invisibleCharSet", Gtk.Entry.EntryInvisibleCharSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxLength", Gtk.Entry.EntryMaxLengthPropertyInfo), '("maxWidthChars", Gtk.Entry.EntryMaxWidthCharsPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overwriteMode", Gtk.Entry.EntryOverwriteModePropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("placeholderText", Gtk.Entry.EntryPlaceholderTextPropertyInfo), '("populateAll", Gtk.Entry.EntryPopulateAllPropertyInfo), '("primaryIconActivatable", Gtk.Entry.EntryPrimaryIconActivatablePropertyInfo), '("primaryIconGicon", Gtk.Entry.EntryPrimaryIconGiconPropertyInfo), '("primaryIconName", Gtk.Entry.EntryPrimaryIconNamePropertyInfo), '("primaryIconPixbuf", Gtk.Entry.EntryPrimaryIconPixbufPropertyInfo), '("primaryIconSensitive", Gtk.Entry.EntryPrimaryIconSensitivePropertyInfo), '("primaryIconStock", Gtk.Entry.EntryPrimaryIconStockPropertyInfo), '("primaryIconStorageType", Gtk.Entry.EntryPrimaryIconStorageTypePropertyInfo), '("primaryIconTooltipMarkup", Gtk.Entry.EntryPrimaryIconTooltipMarkupPropertyInfo), '("primaryIconTooltipText", Gtk.Entry.EntryPrimaryIconTooltipTextPropertyInfo), '("progressFraction", Gtk.Entry.EntryProgressFractionPropertyInfo), '("progressPulseStep", Gtk.Entry.EntryProgressPulseStepPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("scrollOffset", Gtk.Entry.EntryScrollOffsetPropertyInfo), '("secondaryIconActivatable", Gtk.Entry.EntrySecondaryIconActivatablePropertyInfo), '("secondaryIconGicon", Gtk.Entry.EntrySecondaryIconGiconPropertyInfo), '("secondaryIconName", Gtk.Entry.EntrySecondaryIconNamePropertyInfo), '("secondaryIconPixbuf", Gtk.Entry.EntrySecondaryIconPixbufPropertyInfo), '("secondaryIconSensitive", Gtk.Entry.EntrySecondaryIconSensitivePropertyInfo), '("secondaryIconStock", Gtk.Entry.EntrySecondaryIconStockPropertyInfo), '("secondaryIconStorageType", Gtk.Entry.EntrySecondaryIconStorageTypePropertyInfo), '("secondaryIconTooltipMarkup", Gtk.Entry.EntrySecondaryIconTooltipMarkupPropertyInfo), '("secondaryIconTooltipText", Gtk.Entry.EntrySecondaryIconTooltipTextPropertyInfo), '("selectionBound", Gtk.Entry.EntrySelectionBoundPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", Gtk.Entry.EntryShadowTypePropertyInfo), '("showEmojiIcon", Gtk.Entry.EntryShowEmojiIconPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tabs", Gtk.Entry.EntryTabsPropertyInfo), '("text", Gtk.Entry.EntryTextPropertyInfo), '("textLength", Gtk.Entry.EntryTextLengthPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("truncateMultiline", Gtk.Entry.EntryTruncateMultilinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visibility", Gtk.Entry.EntryVisibilityPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthChars", Gtk.Entry.EntryWidthCharsPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Entry.EntryXalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data SearchEntryNextMatchSignalInfo
+instance SignalInfo SearchEntryNextMatchSignalInfo where
+    type HaskellCallbackType SearchEntryNextMatchSignalInfo = SearchEntryNextMatchCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SearchEntryNextMatchCallback cb
+        cb'' <- mk_SearchEntryNextMatchCallback cb'
+        connectSignalFunPtr obj "next-match" cb'' connectMode
+
+data SearchEntryPreviousMatchSignalInfo
+instance SignalInfo SearchEntryPreviousMatchSignalInfo where
+    type HaskellCallbackType SearchEntryPreviousMatchSignalInfo = SearchEntryPreviousMatchCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SearchEntryPreviousMatchCallback cb
+        cb'' <- mk_SearchEntryPreviousMatchCallback cb'
+        connectSignalFunPtr obj "previous-match" cb'' connectMode
+
+data SearchEntrySearchChangedSignalInfo
+instance SignalInfo SearchEntrySearchChangedSignalInfo where
+    type HaskellCallbackType SearchEntrySearchChangedSignalInfo = SearchEntrySearchChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SearchEntrySearchChangedCallback cb
+        cb'' <- mk_SearchEntrySearchChangedCallback cb'
+        connectSignalFunPtr obj "search-changed" cb'' connectMode
+
+data SearchEntryStopSearchSignalInfo
+instance SignalInfo SearchEntryStopSearchSignalInfo where
+    type HaskellCallbackType SearchEntryStopSearchSignalInfo = SearchEntryStopSearchCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SearchEntryStopSearchCallback cb
+        cb'' <- mk_SearchEntryStopSearchCallback cb'
+        connectSignalFunPtr obj "stop-search" cb'' connectMode
+
+type instance O.SignalList SearchEntry = SearchEntrySignalList
+type SearchEntrySignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Entry.EntryActivateSignalInfo), '("backspace", Gtk.Entry.EntryBackspaceSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changed", Gtk.Editable.EditableChangedSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("copyClipboard", Gtk.Entry.EntryCopyClipboardSignalInfo), '("cutClipboard", Gtk.Entry.EntryCutClipboardSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deleteFromCursor", Gtk.Entry.EntryDeleteFromCursorSignalInfo), '("deleteText", Gtk.Editable.EditableDeleteTextSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("editingDone", Gtk.CellEditable.CellEditableEditingDoneSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("iconPress", Gtk.Entry.EntryIconPressSignalInfo), '("iconRelease", Gtk.Entry.EntryIconReleaseSignalInfo), '("insertAtCursor", Gtk.Entry.EntryInsertAtCursorSignalInfo), '("insertEmoji", Gtk.Entry.EntryInsertEmojiSignalInfo), '("insertText", Gtk.Editable.EditableInsertTextSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", Gtk.Entry.EntryMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("nextMatch", SearchEntryNextMatchSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("pasteClipboard", Gtk.Entry.EntryPasteClipboardSignalInfo), '("populatePopup", Gtk.Entry.EntryPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("preeditChanged", Gtk.Entry.EntryPreeditChangedSignalInfo), '("previousMatch", SearchEntryPreviousMatchSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("removeWidget", Gtk.CellEditable.CellEditableRemoveWidgetSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("searchChanged", SearchEntrySearchChangedSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("stopSearch", SearchEntryStopSearchSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleOverwrite", Gtk.Entry.EntryToggleOverwriteSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method SearchEntry::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SearchEntry"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_search_entry_new" gtk_search_entry_new :: 
+    IO (Ptr SearchEntry)
+
+{- |
+Creates a 'GI.Gtk.Objects.SearchEntry.SearchEntry', with a find icon when the search field is
+empty, and a clear icon when it isn\'t.
+
+/Since: 3.6/
+-}
+searchEntryNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m SearchEntry
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.SearchEntry.SearchEntry' -}
+searchEntryNew  = liftIO $ do
+    result <- gtk_search_entry_new
+    checkUnexpectedReturnNULL "searchEntryNew" result
+    result' <- (newObject SearchEntry) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SearchEntry::handle_event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "SearchEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSearchEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_search_entry_handle_event" gtk_search_entry_handle_event :: 
+    Ptr SearchEntry ->                      -- entry : TInterface (Name {namespace = "Gtk", name = "SearchEntry"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO CInt
+
+{- |
+This function should be called when the top-level window
+which contains the search entry received a key event. If
+the entry is part of a 'GI.Gtk.Objects.SearchBar.SearchBar', it is preferable
+to call 'GI.Gtk.Objects.SearchBar.searchBarHandleEvent' instead, which will
+reveal the entry in addition to passing the event to this
+function.
+
+If the key event is handled by the search entry and starts
+or continues a search, 'GI.Gdk.Constants.EVENT_STOP' will be returned.
+The caller should ensure that the entry is shown in this
+case, and not propagate the event further.
+
+/Since: 3.16/
+-}
+searchEntryHandleEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSearchEntry a) =>
+    a
+    {- ^ /@entry@/: a 'GI.Gtk.Objects.SearchEntry.SearchEntry' -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: a key event -}
+    -> m Bool
+    {- ^ __Returns:__ 'GI.Gdk.Constants.EVENT_STOP' if the key press event resulted
+    in a search beginning or continuing, 'GI.Gdk.Constants.EVENT_PROPAGATE'
+    otherwise. -}
+searchEntryHandleEvent entry event = liftIO $ do
+    entry' <- unsafeManagedPtrCastPtr entry
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_search_entry_handle_event entry' event'
+    let result' = (/= 0) result
+    touchManagedPtr entry
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data SearchEntryHandleEventMethodInfo
+instance (signature ~ (Gdk.Event.Event -> m Bool), MonadIO m, IsSearchEntry a) => O.MethodInfo SearchEntryHandleEventMethodInfo a signature where
+    overloadedMethod _ = searchEntryHandleEvent
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/SearchEntry.hs-boot b/GI/Gtk/Objects/SearchEntry.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SearchEntry.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.SearchEntry where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SearchEntry = SearchEntry (ManagedPtr SearchEntry)
+instance GObject SearchEntry where
+class (GObject o, O.IsDescendantOf SearchEntry o) => IsSearchEntry o
+instance (GObject o, O.IsDescendantOf SearchEntry o) => IsSearchEntry o
+instance O.HasParentTypes SearchEntry
+#if ENABLE_OVERLOADING
+data SearchEntryNextMatchSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchEntryPreviousMatchSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchEntrySearchChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchEntryStopSearchSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SearchEntryHandleEventMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Separator.hs b/GI/Gtk/Objects/Separator.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Separator.hs
@@ -0,0 +1,446 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkSeparator is a horizontal or vertical separator widget, depending on the
+value of the 'GI.Gtk.Interfaces.Orientable.Orientable':@/orientation/@ property, used to group the widgets
+within a window. It displays a line with a shadow to make it appear sunken
+into the interface.
+
+= CSS nodes
+
+GtkSeparator has a single CSS node with name separator. The node
+gets one of the .horizontal or .vertical style classes.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Separator
+    ( 
+
+-- * Exported types
+    Separator(..)                           ,
+    IsSeparator                             ,
+    toSeparator                             ,
+    noSeparator                             ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    separatorNew                            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Separator = Separator (ManagedPtr Separator)
+foreign import ccall "gtk_separator_get_type"
+    c_gtk_separator_get_type :: IO GType
+
+instance GObject Separator where
+    gobjectType = c_gtk_separator_get_type
+    
+
+-- | Type class for types which can be safely cast to `Separator`, for instance with `toSeparator`.
+class (GObject o, O.IsDescendantOf Separator o) => IsSeparator o
+instance (GObject o, O.IsDescendantOf Separator o) => IsSeparator o
+
+instance O.HasParentTypes Separator
+type instance O.ParentTypes Separator = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `Separator`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSeparator :: (MonadIO m, IsSeparator o) => o -> m Separator
+toSeparator = liftIO . unsafeCastTo Separator
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Separator`.
+noSeparator :: Maybe Separator
+noSeparator = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSeparatorMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSeparatorMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveSeparatorMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveSeparatorMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSeparatorMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveSeparatorMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveSeparatorMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveSeparatorMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveSeparatorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSeparatorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSeparatorMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveSeparatorMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveSeparatorMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveSeparatorMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveSeparatorMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveSeparatorMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSeparatorMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveSeparatorMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveSeparatorMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSeparatorMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSeparatorMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSeparatorMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveSeparatorMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveSeparatorMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveSeparatorMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveSeparatorMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveSeparatorMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveSeparatorMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveSeparatorMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveSeparatorMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveSeparatorMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveSeparatorMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveSeparatorMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveSeparatorMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveSeparatorMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveSeparatorMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveSeparatorMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveSeparatorMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveSeparatorMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveSeparatorMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveSeparatorMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveSeparatorMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveSeparatorMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveSeparatorMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveSeparatorMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveSeparatorMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveSeparatorMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveSeparatorMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveSeparatorMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveSeparatorMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveSeparatorMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveSeparatorMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveSeparatorMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveSeparatorMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveSeparatorMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveSeparatorMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveSeparatorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSeparatorMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveSeparatorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSeparatorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSeparatorMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveSeparatorMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveSeparatorMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveSeparatorMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveSeparatorMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveSeparatorMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveSeparatorMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveSeparatorMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveSeparatorMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveSeparatorMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveSeparatorMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveSeparatorMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveSeparatorMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveSeparatorMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveSeparatorMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveSeparatorMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveSeparatorMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveSeparatorMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveSeparatorMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveSeparatorMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveSeparatorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSeparatorMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveSeparatorMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveSeparatorMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveSeparatorMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveSeparatorMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveSeparatorMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveSeparatorMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveSeparatorMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveSeparatorMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveSeparatorMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveSeparatorMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveSeparatorMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveSeparatorMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveSeparatorMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveSeparatorMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveSeparatorMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveSeparatorMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveSeparatorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSeparatorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSeparatorMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveSeparatorMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveSeparatorMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveSeparatorMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveSeparatorMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveSeparatorMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSeparatorMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveSeparatorMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveSeparatorMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveSeparatorMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveSeparatorMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveSeparatorMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveSeparatorMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveSeparatorMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveSeparatorMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveSeparatorMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSeparatorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSeparatorMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveSeparatorMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveSeparatorMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveSeparatorMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveSeparatorMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveSeparatorMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveSeparatorMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveSeparatorMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveSeparatorMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveSeparatorMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveSeparatorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSeparatorMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveSeparatorMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveSeparatorMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveSeparatorMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveSeparatorMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveSeparatorMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveSeparatorMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveSeparatorMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveSeparatorMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveSeparatorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSeparatorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSeparatorMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveSeparatorMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveSeparatorMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveSeparatorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSeparatorMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveSeparatorMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveSeparatorMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveSeparatorMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveSeparatorMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveSeparatorMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSeparatorMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveSeparatorMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveSeparatorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSeparatorMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveSeparatorMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveSeparatorMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveSeparatorMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveSeparatorMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveSeparatorMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveSeparatorMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveSeparatorMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveSeparatorMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveSeparatorMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveSeparatorMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveSeparatorMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveSeparatorMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveSeparatorMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveSeparatorMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveSeparatorMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveSeparatorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSeparatorMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveSeparatorMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveSeparatorMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveSeparatorMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveSeparatorMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveSeparatorMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveSeparatorMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveSeparatorMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveSeparatorMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveSeparatorMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveSeparatorMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveSeparatorMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveSeparatorMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveSeparatorMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveSeparatorMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveSeparatorMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSeparatorMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveSeparatorMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveSeparatorMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveSeparatorMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveSeparatorMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveSeparatorMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveSeparatorMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveSeparatorMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveSeparatorMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveSeparatorMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveSeparatorMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveSeparatorMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveSeparatorMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveSeparatorMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveSeparatorMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveSeparatorMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveSeparatorMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveSeparatorMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveSeparatorMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveSeparatorMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveSeparatorMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveSeparatorMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveSeparatorMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveSeparatorMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveSeparatorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSeparatorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSeparatorMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveSeparatorMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveSeparatorMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveSeparatorMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveSeparatorMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveSeparatorMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveSeparatorMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveSeparatorMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveSeparatorMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveSeparatorMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveSeparatorMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveSeparatorMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveSeparatorMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveSeparatorMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveSeparatorMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveSeparatorMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveSeparatorMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveSeparatorMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveSeparatorMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveSeparatorMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveSeparatorMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveSeparatorMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveSeparatorMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveSeparatorMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveSeparatorMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveSeparatorMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveSeparatorMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveSeparatorMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveSeparatorMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveSeparatorMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveSeparatorMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSeparatorMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveSeparatorMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveSeparatorMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveSeparatorMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveSeparatorMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveSeparatorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSeparatorMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveSeparatorMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveSeparatorMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveSeparatorMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveSeparatorMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveSeparatorMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveSeparatorMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveSeparatorMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveSeparatorMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveSeparatorMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveSeparatorMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveSeparatorMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveSeparatorMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveSeparatorMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveSeparatorMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveSeparatorMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveSeparatorMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveSeparatorMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveSeparatorMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveSeparatorMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveSeparatorMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveSeparatorMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveSeparatorMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveSeparatorMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveSeparatorMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveSeparatorMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveSeparatorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSeparatorMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveSeparatorMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveSeparatorMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveSeparatorMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveSeparatorMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveSeparatorMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveSeparatorMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveSeparatorMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveSeparatorMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveSeparatorMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveSeparatorMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveSeparatorMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveSeparatorMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveSeparatorMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveSeparatorMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveSeparatorMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveSeparatorMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveSeparatorMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveSeparatorMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSeparatorMethod t Separator, O.MethodInfo info Separator p) => OL.IsLabel t (Separator -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Separator
+type instance O.AttributeList Separator = SeparatorAttributeList
+type SeparatorAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Separator = SeparatorSignalList
+type SeparatorSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Separator::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the separator\8217s orientation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Separator"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_separator_new" gtk_separator_new :: 
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO (Ptr Separator)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Separator.Separator' with the given orientation.
+
+/Since: 3.0/
+-}
+separatorNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the separator’s orientation. -}
+    -> m Separator
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Separator.Separator'. -}
+separatorNew orientation = liftIO $ do
+    let orientation' = (fromIntegral . fromEnum) orientation
+    result <- gtk_separator_new orientation'
+    checkUnexpectedReturnNULL "separatorNew" result
+    result' <- (newObject Separator) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/Separator.hs-boot b/GI/Gtk/Objects/Separator.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Separator.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Separator where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Separator = Separator (ManagedPtr Separator)
+instance GObject Separator where
+class (GObject o, O.IsDescendantOf Separator o) => IsSeparator o
+instance (GObject o, O.IsDescendantOf Separator o) => IsSeparator o
+instance O.HasParentTypes Separator
diff --git a/GI/Gtk/Objects/SeparatorMenuItem.hs b/GI/Gtk/Objects/SeparatorMenuItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SeparatorMenuItem.hs
@@ -0,0 +1,493 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.SeparatorMenuItem.SeparatorMenuItem' is a separator used to group
+items within a menu. It displays a horizontal line with a shadow to
+make it appear sunken into the interface.
+
+= CSS nodes
+
+GtkSeparatorMenuItem has a single CSS node with name separator.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.SeparatorMenuItem
+    ( 
+
+-- * Exported types
+    SeparatorMenuItem(..)                   ,
+    IsSeparatorMenuItem                     ,
+    toSeparatorMenuItem                     ,
+    noSeparatorMenuItem                     ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    separatorMenuItemNew                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuItem as Gtk.MenuItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype SeparatorMenuItem = SeparatorMenuItem (ManagedPtr SeparatorMenuItem)
+foreign import ccall "gtk_separator_menu_item_get_type"
+    c_gtk_separator_menu_item_get_type :: IO GType
+
+instance GObject SeparatorMenuItem where
+    gobjectType = c_gtk_separator_menu_item_get_type
+    
+
+-- | Type class for types which can be safely cast to `SeparatorMenuItem`, for instance with `toSeparatorMenuItem`.
+class (GObject o, O.IsDescendantOf SeparatorMenuItem o) => IsSeparatorMenuItem o
+instance (GObject o, O.IsDescendantOf SeparatorMenuItem o) => IsSeparatorMenuItem o
+
+instance O.HasParentTypes SeparatorMenuItem
+type instance O.ParentTypes SeparatorMenuItem = '[Gtk.MenuItem.MenuItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `SeparatorMenuItem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSeparatorMenuItem :: (MonadIO m, IsSeparatorMenuItem o) => o -> m SeparatorMenuItem
+toSeparatorMenuItem = liftIO . unsafeCastTo SeparatorMenuItem
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SeparatorMenuItem`.
+noSeparatorMenuItem :: Maybe SeparatorMenuItem
+noSeparatorMenuItem = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSeparatorMenuItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSeparatorMenuItemMethod "activate" o = Gtk.MenuItem.MenuItemActivateMethodInfo
+    ResolveSeparatorMenuItemMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveSeparatorMenuItemMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveSeparatorMenuItemMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSeparatorMenuItemMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveSeparatorMenuItemMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveSeparatorMenuItemMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveSeparatorMenuItemMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveSeparatorMenuItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSeparatorMenuItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSeparatorMenuItemMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveSeparatorMenuItemMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveSeparatorMenuItemMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveSeparatorMenuItemMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveSeparatorMenuItemMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveSeparatorMenuItemMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveSeparatorMenuItemMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveSeparatorMenuItemMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveSeparatorMenuItemMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveSeparatorMenuItemMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveSeparatorMenuItemMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSeparatorMenuItemMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveSeparatorMenuItemMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveSeparatorMenuItemMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSeparatorMenuItemMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSeparatorMenuItemMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSeparatorMenuItemMethod "deselect" o = Gtk.MenuItem.MenuItemDeselectMethodInfo
+    ResolveSeparatorMenuItemMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveSeparatorMenuItemMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveSeparatorMenuItemMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveSeparatorMenuItemMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveSeparatorMenuItemMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveSeparatorMenuItemMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveSeparatorMenuItemMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveSeparatorMenuItemMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveSeparatorMenuItemMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveSeparatorMenuItemMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveSeparatorMenuItemMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveSeparatorMenuItemMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveSeparatorMenuItemMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveSeparatorMenuItemMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveSeparatorMenuItemMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveSeparatorMenuItemMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveSeparatorMenuItemMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveSeparatorMenuItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSeparatorMenuItemMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveSeparatorMenuItemMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveSeparatorMenuItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSeparatorMenuItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSeparatorMenuItemMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveSeparatorMenuItemMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveSeparatorMenuItemMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveSeparatorMenuItemMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveSeparatorMenuItemMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveSeparatorMenuItemMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveSeparatorMenuItemMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveSeparatorMenuItemMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveSeparatorMenuItemMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveSeparatorMenuItemMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveSeparatorMenuItemMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveSeparatorMenuItemMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveSeparatorMenuItemMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveSeparatorMenuItemMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveSeparatorMenuItemMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveSeparatorMenuItemMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveSeparatorMenuItemMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveSeparatorMenuItemMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveSeparatorMenuItemMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveSeparatorMenuItemMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveSeparatorMenuItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSeparatorMenuItemMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveSeparatorMenuItemMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveSeparatorMenuItemMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveSeparatorMenuItemMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveSeparatorMenuItemMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveSeparatorMenuItemMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveSeparatorMenuItemMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveSeparatorMenuItemMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveSeparatorMenuItemMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveSeparatorMenuItemMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveSeparatorMenuItemMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveSeparatorMenuItemMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveSeparatorMenuItemMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveSeparatorMenuItemMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveSeparatorMenuItemMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveSeparatorMenuItemMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveSeparatorMenuItemMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveSeparatorMenuItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSeparatorMenuItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSeparatorMenuItemMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveSeparatorMenuItemMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveSeparatorMenuItemMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveSeparatorMenuItemMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveSeparatorMenuItemMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveSeparatorMenuItemMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSeparatorMenuItemMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveSeparatorMenuItemMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveSeparatorMenuItemMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveSeparatorMenuItemMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveSeparatorMenuItemMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveSeparatorMenuItemMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveSeparatorMenuItemMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveSeparatorMenuItemMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveSeparatorMenuItemMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveSeparatorMenuItemMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveSeparatorMenuItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSeparatorMenuItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSeparatorMenuItemMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveSeparatorMenuItemMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveSeparatorMenuItemMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveSeparatorMenuItemMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveSeparatorMenuItemMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveSeparatorMenuItemMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveSeparatorMenuItemMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveSeparatorMenuItemMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveSeparatorMenuItemMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveSeparatorMenuItemMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveSeparatorMenuItemMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveSeparatorMenuItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSeparatorMenuItemMethod "select" o = Gtk.MenuItem.MenuItemSelectMethodInfo
+    ResolveSeparatorMenuItemMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveSeparatorMenuItemMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveSeparatorMenuItemMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveSeparatorMenuItemMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveSeparatorMenuItemMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveSeparatorMenuItemMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveSeparatorMenuItemMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveSeparatorMenuItemMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveSeparatorMenuItemMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveSeparatorMenuItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSeparatorMenuItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSeparatorMenuItemMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveSeparatorMenuItemMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveSeparatorMenuItemMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveSeparatorMenuItemMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveSeparatorMenuItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSeparatorMenuItemMethod "toggleSizeAllocate" o = Gtk.MenuItem.MenuItemToggleSizeAllocateMethodInfo
+    ResolveSeparatorMenuItemMethod "toggleSizeRequest" o = Gtk.MenuItem.MenuItemToggleSizeRequestMethodInfo
+    ResolveSeparatorMenuItemMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveSeparatorMenuItemMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveSeparatorMenuItemMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveSeparatorMenuItemMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveSeparatorMenuItemMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveSeparatorMenuItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSeparatorMenuItemMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveSeparatorMenuItemMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveSeparatorMenuItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSeparatorMenuItemMethod "getAccelPath" o = Gtk.MenuItem.MenuItemGetAccelPathMethodInfo
+    ResolveSeparatorMenuItemMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveSeparatorMenuItemMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveSeparatorMenuItemMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveSeparatorMenuItemMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveSeparatorMenuItemMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveSeparatorMenuItemMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveSeparatorMenuItemMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveSeparatorMenuItemMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveSeparatorMenuItemMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveSeparatorMenuItemMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveSeparatorMenuItemMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveSeparatorMenuItemMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveSeparatorMenuItemMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveSeparatorMenuItemMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveSeparatorMenuItemMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveSeparatorMenuItemMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveSeparatorMenuItemMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveSeparatorMenuItemMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveSeparatorMenuItemMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveSeparatorMenuItemMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveSeparatorMenuItemMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveSeparatorMenuItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSeparatorMenuItemMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveSeparatorMenuItemMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveSeparatorMenuItemMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveSeparatorMenuItemMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveSeparatorMenuItemMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveSeparatorMenuItemMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveSeparatorMenuItemMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveSeparatorMenuItemMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveSeparatorMenuItemMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveSeparatorMenuItemMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveSeparatorMenuItemMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveSeparatorMenuItemMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveSeparatorMenuItemMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveSeparatorMenuItemMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveSeparatorMenuItemMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveSeparatorMenuItemMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveSeparatorMenuItemMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveSeparatorMenuItemMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveSeparatorMenuItemMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSeparatorMenuItemMethod "getLabel" o = Gtk.MenuItem.MenuItemGetLabelMethodInfo
+    ResolveSeparatorMenuItemMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveSeparatorMenuItemMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveSeparatorMenuItemMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveSeparatorMenuItemMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveSeparatorMenuItemMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveSeparatorMenuItemMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveSeparatorMenuItemMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveSeparatorMenuItemMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveSeparatorMenuItemMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveSeparatorMenuItemMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveSeparatorMenuItemMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveSeparatorMenuItemMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveSeparatorMenuItemMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveSeparatorMenuItemMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveSeparatorMenuItemMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveSeparatorMenuItemMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveSeparatorMenuItemMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveSeparatorMenuItemMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveSeparatorMenuItemMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveSeparatorMenuItemMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveSeparatorMenuItemMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveSeparatorMenuItemMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveSeparatorMenuItemMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveSeparatorMenuItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSeparatorMenuItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSeparatorMenuItemMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveSeparatorMenuItemMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveSeparatorMenuItemMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveSeparatorMenuItemMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveSeparatorMenuItemMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveSeparatorMenuItemMethod "getReserveIndicator" o = Gtk.MenuItem.MenuItemGetReserveIndicatorMethodInfo
+    ResolveSeparatorMenuItemMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveSeparatorMenuItemMethod "getRightJustified" o = Gtk.MenuItem.MenuItemGetRightJustifiedMethodInfo
+    ResolveSeparatorMenuItemMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveSeparatorMenuItemMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveSeparatorMenuItemMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveSeparatorMenuItemMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveSeparatorMenuItemMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveSeparatorMenuItemMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveSeparatorMenuItemMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveSeparatorMenuItemMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveSeparatorMenuItemMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveSeparatorMenuItemMethod "getSubmenu" o = Gtk.MenuItem.MenuItemGetSubmenuMethodInfo
+    ResolveSeparatorMenuItemMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveSeparatorMenuItemMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveSeparatorMenuItemMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveSeparatorMenuItemMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveSeparatorMenuItemMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveSeparatorMenuItemMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveSeparatorMenuItemMethod "getUseUnderline" o = Gtk.MenuItem.MenuItemGetUseUnderlineMethodInfo
+    ResolveSeparatorMenuItemMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveSeparatorMenuItemMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveSeparatorMenuItemMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveSeparatorMenuItemMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveSeparatorMenuItemMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveSeparatorMenuItemMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveSeparatorMenuItemMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "setAccelPath" o = Gtk.MenuItem.MenuItemSetAccelPathMethodInfo
+    ResolveSeparatorMenuItemMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveSeparatorMenuItemMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveSeparatorMenuItemMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveSeparatorMenuItemMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveSeparatorMenuItemMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveSeparatorMenuItemMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSeparatorMenuItemMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveSeparatorMenuItemMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveSeparatorMenuItemMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveSeparatorMenuItemMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveSeparatorMenuItemMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveSeparatorMenuItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSeparatorMenuItemMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveSeparatorMenuItemMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveSeparatorMenuItemMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveSeparatorMenuItemMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveSeparatorMenuItemMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveSeparatorMenuItemMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveSeparatorMenuItemMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveSeparatorMenuItemMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveSeparatorMenuItemMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveSeparatorMenuItemMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveSeparatorMenuItemMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveSeparatorMenuItemMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveSeparatorMenuItemMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveSeparatorMenuItemMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveSeparatorMenuItemMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveSeparatorMenuItemMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveSeparatorMenuItemMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveSeparatorMenuItemMethod "setLabel" o = Gtk.MenuItem.MenuItemSetLabelMethodInfo
+    ResolveSeparatorMenuItemMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveSeparatorMenuItemMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveSeparatorMenuItemMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveSeparatorMenuItemMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveSeparatorMenuItemMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveSeparatorMenuItemMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveSeparatorMenuItemMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveSeparatorMenuItemMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveSeparatorMenuItemMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveSeparatorMenuItemMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveSeparatorMenuItemMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveSeparatorMenuItemMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSeparatorMenuItemMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveSeparatorMenuItemMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveSeparatorMenuItemMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveSeparatorMenuItemMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveSeparatorMenuItemMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveSeparatorMenuItemMethod "setReserveIndicator" o = Gtk.MenuItem.MenuItemSetReserveIndicatorMethodInfo
+    ResolveSeparatorMenuItemMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveSeparatorMenuItemMethod "setRightJustified" o = Gtk.MenuItem.MenuItemSetRightJustifiedMethodInfo
+    ResolveSeparatorMenuItemMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveSeparatorMenuItemMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveSeparatorMenuItemMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveSeparatorMenuItemMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveSeparatorMenuItemMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveSeparatorMenuItemMethod "setSubmenu" o = Gtk.MenuItem.MenuItemSetSubmenuMethodInfo
+    ResolveSeparatorMenuItemMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveSeparatorMenuItemMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveSeparatorMenuItemMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveSeparatorMenuItemMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveSeparatorMenuItemMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveSeparatorMenuItemMethod "setUseUnderline" o = Gtk.MenuItem.MenuItemSetUseUnderlineMethodInfo
+    ResolveSeparatorMenuItemMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveSeparatorMenuItemMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveSeparatorMenuItemMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveSeparatorMenuItemMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveSeparatorMenuItemMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveSeparatorMenuItemMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveSeparatorMenuItemMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSeparatorMenuItemMethod t SeparatorMenuItem, O.MethodInfo info SeparatorMenuItem p) => OL.IsLabel t (SeparatorMenuItem -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SeparatorMenuItem
+type instance O.AttributeList SeparatorMenuItem = SeparatorMenuItemAttributeList
+type SeparatorMenuItemAttributeList = ('[ '("accelPath", Gtk.MenuItem.MenuItemAccelPathPropertyInfo), '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.MenuItem.MenuItemLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rightJustified", Gtk.MenuItem.MenuItemRightJustifiedPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("submenu", Gtk.MenuItem.MenuItemSubmenuPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useUnderline", Gtk.MenuItem.MenuItemUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList SeparatorMenuItem = SeparatorMenuItemSignalList
+type SeparatorMenuItemSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.MenuItem.MenuItemActivateSignalInfo), '("activateItem", Gtk.MenuItem.MenuItemActivateItemSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deselect", Gtk.MenuItem.MenuItemDeselectSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("select", Gtk.MenuItem.MenuItemSelectSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleSizeAllocate", Gtk.MenuItem.MenuItemToggleSizeAllocateSignalInfo), '("toggleSizeRequest", Gtk.MenuItem.MenuItemToggleSizeRequestSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method SeparatorMenuItem::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SeparatorMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_separator_menu_item_new" gtk_separator_menu_item_new :: 
+    IO (Ptr SeparatorMenuItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.SeparatorMenuItem.SeparatorMenuItem'.
+-}
+separatorMenuItemNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m SeparatorMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.SeparatorMenuItem.SeparatorMenuItem'. -}
+separatorMenuItemNew  = liftIO $ do
+    result <- gtk_separator_menu_item_new
+    checkUnexpectedReturnNULL "separatorMenuItemNew" result
+    result' <- (newObject SeparatorMenuItem) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/SeparatorMenuItem.hs-boot b/GI/Gtk/Objects/SeparatorMenuItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SeparatorMenuItem.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.SeparatorMenuItem where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SeparatorMenuItem = SeparatorMenuItem (ManagedPtr SeparatorMenuItem)
+instance GObject SeparatorMenuItem where
+class (GObject o, O.IsDescendantOf SeparatorMenuItem o) => IsSeparatorMenuItem o
+instance (GObject o, O.IsDescendantOf SeparatorMenuItem o) => IsSeparatorMenuItem o
+instance O.HasParentTypes SeparatorMenuItem
diff --git a/GI/Gtk/Objects/SeparatorToolItem.hs b/GI/Gtk/Objects/SeparatorToolItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SeparatorToolItem.hs
@@ -0,0 +1,670 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem' is a 'GI.Gtk.Objects.ToolItem.ToolItem' that separates groups of other
+@/GtkToolItems/@. Depending on the theme, a 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem' will
+often look like a vertical line on horizontally docked toolbars.
+
+If the 'GI.Gtk.Objects.Toolbar.Toolbar' child property “expand” is 'True' and the property
+'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem':@/draw/@ is 'False', a 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem' will act as
+a “spring” that forces other items to the ends of the toolbar.
+
+Use 'GI.Gtk.Objects.SeparatorToolItem.separatorToolItemNew' to create a new 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem'.
+
+= CSS nodes
+
+GtkSeparatorToolItem has a single CSS node with name separator.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.SeparatorToolItem
+    ( 
+
+-- * Exported types
+    SeparatorToolItem(..)                   ,
+    IsSeparatorToolItem                     ,
+    toSeparatorToolItem                     ,
+    noSeparatorToolItem                     ,
+
+
+ -- * Methods
+-- ** getDraw #method:getDraw#
+
+#if ENABLE_OVERLOADING
+    SeparatorToolItemGetDrawMethodInfo      ,
+#endif
+    separatorToolItemGetDraw                ,
+
+
+-- ** new #method:new#
+
+    separatorToolItemNew                    ,
+
+
+-- ** setDraw #method:setDraw#
+
+#if ENABLE_OVERLOADING
+    SeparatorToolItemSetDrawMethodInfo      ,
+#endif
+    separatorToolItemSetDraw                ,
+
+
+
+
+ -- * Properties
+-- ** draw #attr:draw#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SeparatorToolItemDrawPropertyInfo       ,
+#endif
+    constructSeparatorToolItemDraw          ,
+    getSeparatorToolItemDraw                ,
+#if ENABLE_OVERLOADING
+    separatorToolItemDraw                   ,
+#endif
+    setSeparatorToolItemDraw                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolItem as Gtk.ToolItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype SeparatorToolItem = SeparatorToolItem (ManagedPtr SeparatorToolItem)
+foreign import ccall "gtk_separator_tool_item_get_type"
+    c_gtk_separator_tool_item_get_type :: IO GType
+
+instance GObject SeparatorToolItem where
+    gobjectType = c_gtk_separator_tool_item_get_type
+    
+
+-- | Type class for types which can be safely cast to `SeparatorToolItem`, for instance with `toSeparatorToolItem`.
+class (GObject o, O.IsDescendantOf SeparatorToolItem o) => IsSeparatorToolItem o
+instance (GObject o, O.IsDescendantOf SeparatorToolItem o) => IsSeparatorToolItem o
+
+instance O.HasParentTypes SeparatorToolItem
+type instance O.ParentTypes SeparatorToolItem = '[Gtk.ToolItem.ToolItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `SeparatorToolItem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSeparatorToolItem :: (MonadIO m, IsSeparatorToolItem o) => o -> m SeparatorToolItem
+toSeparatorToolItem = liftIO . unsafeCastTo SeparatorToolItem
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SeparatorToolItem`.
+noSeparatorToolItem :: Maybe SeparatorToolItem
+noSeparatorToolItem = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSeparatorToolItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSeparatorToolItemMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveSeparatorToolItemMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveSeparatorToolItemMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveSeparatorToolItemMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSeparatorToolItemMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveSeparatorToolItemMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveSeparatorToolItemMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveSeparatorToolItemMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveSeparatorToolItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSeparatorToolItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSeparatorToolItemMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveSeparatorToolItemMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveSeparatorToolItemMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveSeparatorToolItemMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveSeparatorToolItemMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveSeparatorToolItemMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveSeparatorToolItemMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveSeparatorToolItemMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveSeparatorToolItemMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveSeparatorToolItemMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveSeparatorToolItemMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSeparatorToolItemMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveSeparatorToolItemMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveSeparatorToolItemMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSeparatorToolItemMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSeparatorToolItemMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSeparatorToolItemMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveSeparatorToolItemMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveSeparatorToolItemMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveSeparatorToolItemMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveSeparatorToolItemMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveSeparatorToolItemMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveSeparatorToolItemMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveSeparatorToolItemMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveSeparatorToolItemMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveSeparatorToolItemMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveSeparatorToolItemMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveSeparatorToolItemMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveSeparatorToolItemMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveSeparatorToolItemMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveSeparatorToolItemMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveSeparatorToolItemMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveSeparatorToolItemMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveSeparatorToolItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSeparatorToolItemMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveSeparatorToolItemMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveSeparatorToolItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSeparatorToolItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSeparatorToolItemMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveSeparatorToolItemMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveSeparatorToolItemMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveSeparatorToolItemMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveSeparatorToolItemMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveSeparatorToolItemMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveSeparatorToolItemMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveSeparatorToolItemMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveSeparatorToolItemMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveSeparatorToolItemMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveSeparatorToolItemMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveSeparatorToolItemMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveSeparatorToolItemMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveSeparatorToolItemMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveSeparatorToolItemMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveSeparatorToolItemMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveSeparatorToolItemMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveSeparatorToolItemMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveSeparatorToolItemMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveSeparatorToolItemMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveSeparatorToolItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSeparatorToolItemMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveSeparatorToolItemMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveSeparatorToolItemMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveSeparatorToolItemMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveSeparatorToolItemMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveSeparatorToolItemMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveSeparatorToolItemMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveSeparatorToolItemMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveSeparatorToolItemMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveSeparatorToolItemMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveSeparatorToolItemMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveSeparatorToolItemMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveSeparatorToolItemMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveSeparatorToolItemMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveSeparatorToolItemMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveSeparatorToolItemMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveSeparatorToolItemMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveSeparatorToolItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSeparatorToolItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSeparatorToolItemMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveSeparatorToolItemMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveSeparatorToolItemMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveSeparatorToolItemMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveSeparatorToolItemMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveSeparatorToolItemMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSeparatorToolItemMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveSeparatorToolItemMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveSeparatorToolItemMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveSeparatorToolItemMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveSeparatorToolItemMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveSeparatorToolItemMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveSeparatorToolItemMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveSeparatorToolItemMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveSeparatorToolItemMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveSeparatorToolItemMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveSeparatorToolItemMethod "rebuildMenu" o = Gtk.ToolItem.ToolItemRebuildMenuMethodInfo
+    ResolveSeparatorToolItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSeparatorToolItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSeparatorToolItemMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveSeparatorToolItemMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveSeparatorToolItemMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveSeparatorToolItemMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveSeparatorToolItemMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveSeparatorToolItemMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveSeparatorToolItemMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveSeparatorToolItemMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveSeparatorToolItemMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveSeparatorToolItemMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveSeparatorToolItemMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveSeparatorToolItemMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveSeparatorToolItemMethod "retrieveProxyMenuItem" o = Gtk.ToolItem.ToolItemRetrieveProxyMenuItemMethodInfo
+    ResolveSeparatorToolItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSeparatorToolItemMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveSeparatorToolItemMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveSeparatorToolItemMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveSeparatorToolItemMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveSeparatorToolItemMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveSeparatorToolItemMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveSeparatorToolItemMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveSeparatorToolItemMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveSeparatorToolItemMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveSeparatorToolItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSeparatorToolItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSeparatorToolItemMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveSeparatorToolItemMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveSeparatorToolItemMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveSeparatorToolItemMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveSeparatorToolItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSeparatorToolItemMethod "toolbarReconfigured" o = Gtk.ToolItem.ToolItemToolbarReconfiguredMethodInfo
+    ResolveSeparatorToolItemMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveSeparatorToolItemMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveSeparatorToolItemMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveSeparatorToolItemMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveSeparatorToolItemMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveSeparatorToolItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSeparatorToolItemMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveSeparatorToolItemMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveSeparatorToolItemMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveSeparatorToolItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSeparatorToolItemMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveSeparatorToolItemMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveSeparatorToolItemMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveSeparatorToolItemMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveSeparatorToolItemMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveSeparatorToolItemMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveSeparatorToolItemMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveSeparatorToolItemMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveSeparatorToolItemMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveSeparatorToolItemMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveSeparatorToolItemMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveSeparatorToolItemMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveSeparatorToolItemMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveSeparatorToolItemMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveSeparatorToolItemMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveSeparatorToolItemMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveSeparatorToolItemMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveSeparatorToolItemMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveSeparatorToolItemMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveSeparatorToolItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSeparatorToolItemMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveSeparatorToolItemMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveSeparatorToolItemMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveSeparatorToolItemMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveSeparatorToolItemMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveSeparatorToolItemMethod "getDraw" o = SeparatorToolItemGetDrawMethodInfo
+    ResolveSeparatorToolItemMethod "getEllipsizeMode" o = Gtk.ToolItem.ToolItemGetEllipsizeModeMethodInfo
+    ResolveSeparatorToolItemMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveSeparatorToolItemMethod "getExpand" o = Gtk.ToolItem.ToolItemGetExpandMethodInfo
+    ResolveSeparatorToolItemMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveSeparatorToolItemMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveSeparatorToolItemMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveSeparatorToolItemMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveSeparatorToolItemMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveSeparatorToolItemMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveSeparatorToolItemMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveSeparatorToolItemMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveSeparatorToolItemMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveSeparatorToolItemMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveSeparatorToolItemMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveSeparatorToolItemMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveSeparatorToolItemMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveSeparatorToolItemMethod "getHomogeneous" o = Gtk.ToolItem.ToolItemGetHomogeneousMethodInfo
+    ResolveSeparatorToolItemMethod "getIconSize" o = Gtk.ToolItem.ToolItemGetIconSizeMethodInfo
+    ResolveSeparatorToolItemMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSeparatorToolItemMethod "getIsImportant" o = Gtk.ToolItem.ToolItemGetIsImportantMethodInfo
+    ResolveSeparatorToolItemMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveSeparatorToolItemMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveSeparatorToolItemMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveSeparatorToolItemMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveSeparatorToolItemMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveSeparatorToolItemMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveSeparatorToolItemMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveSeparatorToolItemMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveSeparatorToolItemMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveSeparatorToolItemMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveSeparatorToolItemMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveSeparatorToolItemMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveSeparatorToolItemMethod "getOrientation" o = Gtk.ToolItem.ToolItemGetOrientationMethodInfo
+    ResolveSeparatorToolItemMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveSeparatorToolItemMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveSeparatorToolItemMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveSeparatorToolItemMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveSeparatorToolItemMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveSeparatorToolItemMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveSeparatorToolItemMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveSeparatorToolItemMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveSeparatorToolItemMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveSeparatorToolItemMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveSeparatorToolItemMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveSeparatorToolItemMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveSeparatorToolItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSeparatorToolItemMethod "getProxyMenuItem" o = Gtk.ToolItem.ToolItemGetProxyMenuItemMethodInfo
+    ResolveSeparatorToolItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSeparatorToolItemMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveSeparatorToolItemMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveSeparatorToolItemMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveSeparatorToolItemMethod "getReliefStyle" o = Gtk.ToolItem.ToolItemGetReliefStyleMethodInfo
+    ResolveSeparatorToolItemMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveSeparatorToolItemMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveSeparatorToolItemMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveSeparatorToolItemMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveSeparatorToolItemMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveSeparatorToolItemMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveSeparatorToolItemMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveSeparatorToolItemMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveSeparatorToolItemMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveSeparatorToolItemMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveSeparatorToolItemMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveSeparatorToolItemMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveSeparatorToolItemMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveSeparatorToolItemMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveSeparatorToolItemMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveSeparatorToolItemMethod "getTextAlignment" o = Gtk.ToolItem.ToolItemGetTextAlignmentMethodInfo
+    ResolveSeparatorToolItemMethod "getTextOrientation" o = Gtk.ToolItem.ToolItemGetTextOrientationMethodInfo
+    ResolveSeparatorToolItemMethod "getTextSizeGroup" o = Gtk.ToolItem.ToolItemGetTextSizeGroupMethodInfo
+    ResolveSeparatorToolItemMethod "getToolbarStyle" o = Gtk.ToolItem.ToolItemGetToolbarStyleMethodInfo
+    ResolveSeparatorToolItemMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveSeparatorToolItemMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveSeparatorToolItemMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveSeparatorToolItemMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveSeparatorToolItemMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveSeparatorToolItemMethod "getUseDragWindow" o = Gtk.ToolItem.ToolItemGetUseDragWindowMethodInfo
+    ResolveSeparatorToolItemMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveSeparatorToolItemMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveSeparatorToolItemMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveSeparatorToolItemMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveSeparatorToolItemMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveSeparatorToolItemMethod "getVisibleHorizontal" o = Gtk.ToolItem.ToolItemGetVisibleHorizontalMethodInfo
+    ResolveSeparatorToolItemMethod "getVisibleVertical" o = Gtk.ToolItem.ToolItemGetVisibleVerticalMethodInfo
+    ResolveSeparatorToolItemMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveSeparatorToolItemMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveSeparatorToolItemMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveSeparatorToolItemMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveSeparatorToolItemMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveSeparatorToolItemMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveSeparatorToolItemMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSeparatorToolItemMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveSeparatorToolItemMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveSeparatorToolItemMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveSeparatorToolItemMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveSeparatorToolItemMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveSeparatorToolItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSeparatorToolItemMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveSeparatorToolItemMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveSeparatorToolItemMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveSeparatorToolItemMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveSeparatorToolItemMethod "setDraw" o = SeparatorToolItemSetDrawMethodInfo
+    ResolveSeparatorToolItemMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveSeparatorToolItemMethod "setExpand" o = Gtk.ToolItem.ToolItemSetExpandMethodInfo
+    ResolveSeparatorToolItemMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveSeparatorToolItemMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveSeparatorToolItemMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveSeparatorToolItemMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveSeparatorToolItemMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveSeparatorToolItemMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveSeparatorToolItemMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveSeparatorToolItemMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveSeparatorToolItemMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveSeparatorToolItemMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveSeparatorToolItemMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveSeparatorToolItemMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveSeparatorToolItemMethod "setHomogeneous" o = Gtk.ToolItem.ToolItemSetHomogeneousMethodInfo
+    ResolveSeparatorToolItemMethod "setIsImportant" o = Gtk.ToolItem.ToolItemSetIsImportantMethodInfo
+    ResolveSeparatorToolItemMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveSeparatorToolItemMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveSeparatorToolItemMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveSeparatorToolItemMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveSeparatorToolItemMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveSeparatorToolItemMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveSeparatorToolItemMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveSeparatorToolItemMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveSeparatorToolItemMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveSeparatorToolItemMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveSeparatorToolItemMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveSeparatorToolItemMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveSeparatorToolItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSeparatorToolItemMethod "setProxyMenuItem" o = Gtk.ToolItem.ToolItemSetProxyMenuItemMethodInfo
+    ResolveSeparatorToolItemMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveSeparatorToolItemMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveSeparatorToolItemMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveSeparatorToolItemMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveSeparatorToolItemMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveSeparatorToolItemMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveSeparatorToolItemMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveSeparatorToolItemMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveSeparatorToolItemMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveSeparatorToolItemMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveSeparatorToolItemMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveSeparatorToolItemMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveSeparatorToolItemMethod "setTooltipMarkup" o = Gtk.ToolItem.ToolItemSetTooltipMarkupMethodInfo
+    ResolveSeparatorToolItemMethod "setTooltipText" o = Gtk.ToolItem.ToolItemSetTooltipTextMethodInfo
+    ResolveSeparatorToolItemMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveSeparatorToolItemMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveSeparatorToolItemMethod "setUseDragWindow" o = Gtk.ToolItem.ToolItemSetUseDragWindowMethodInfo
+    ResolveSeparatorToolItemMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveSeparatorToolItemMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveSeparatorToolItemMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveSeparatorToolItemMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveSeparatorToolItemMethod "setVisibleHorizontal" o = Gtk.ToolItem.ToolItemSetVisibleHorizontalMethodInfo
+    ResolveSeparatorToolItemMethod "setVisibleVertical" o = Gtk.ToolItem.ToolItemSetVisibleVerticalMethodInfo
+    ResolveSeparatorToolItemMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveSeparatorToolItemMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveSeparatorToolItemMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSeparatorToolItemMethod t SeparatorToolItem, O.MethodInfo info SeparatorToolItem p) => OL.IsLabel t (SeparatorToolItem -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "draw"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@draw@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' separatorToolItem #draw
+@
+-}
+getSeparatorToolItemDraw :: (MonadIO m, IsSeparatorToolItem o) => o -> m Bool
+getSeparatorToolItemDraw obj = liftIO $ B.Properties.getObjectPropertyBool obj "draw"
+
+{- |
+Set the value of the “@draw@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' separatorToolItem [ #draw 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSeparatorToolItemDraw :: (MonadIO m, IsSeparatorToolItem o) => o -> Bool -> m ()
+setSeparatorToolItemDraw obj val = liftIO $ B.Properties.setObjectPropertyBool obj "draw" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@draw@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSeparatorToolItemDraw :: (IsSeparatorToolItem o) => Bool -> IO (GValueConstruct o)
+constructSeparatorToolItemDraw val = B.Properties.constructObjectPropertyBool "draw" val
+
+#if ENABLE_OVERLOADING
+data SeparatorToolItemDrawPropertyInfo
+instance AttrInfo SeparatorToolItemDrawPropertyInfo where
+    type AttrAllowedOps SeparatorToolItemDrawPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SeparatorToolItemDrawPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SeparatorToolItemDrawPropertyInfo = IsSeparatorToolItem
+    type AttrGetType SeparatorToolItemDrawPropertyInfo = Bool
+    type AttrLabel SeparatorToolItemDrawPropertyInfo = "draw"
+    type AttrOrigin SeparatorToolItemDrawPropertyInfo = SeparatorToolItem
+    attrGet _ = getSeparatorToolItemDraw
+    attrSet _ = setSeparatorToolItemDraw
+    attrConstruct _ = constructSeparatorToolItemDraw
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SeparatorToolItem
+type instance O.AttributeList SeparatorToolItem = SeparatorToolItemAttributeList
+type SeparatorToolItemAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("draw", SeparatorToolItemDrawPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isImportant", Gtk.ToolItem.ToolItemIsImportantPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visibleHorizontal", Gtk.ToolItem.ToolItemVisibleHorizontalPropertyInfo), '("visibleVertical", Gtk.ToolItem.ToolItemVisibleVerticalPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+separatorToolItemDraw :: AttrLabelProxy "draw"
+separatorToolItemDraw = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList SeparatorToolItem = SeparatorToolItemSignalList
+type SeparatorToolItemSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("createMenuProxy", Gtk.ToolItem.ToolItemCreateMenuProxySignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toolbarReconfigured", Gtk.ToolItem.ToolItemToolbarReconfiguredSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method SeparatorToolItem::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SeparatorToolItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_separator_tool_item_new" gtk_separator_tool_item_new :: 
+    IO (Ptr SeparatorToolItem)
+
+{- |
+Create a new 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem'
+
+/Since: 2.4/
+-}
+separatorToolItemNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m SeparatorToolItem
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem' -}
+separatorToolItemNew  = liftIO $ do
+    result <- gtk_separator_tool_item_new
+    checkUnexpectedReturnNULL "separatorToolItemNew" result
+    result' <- (newObject SeparatorToolItem) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SeparatorToolItem::get_draw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "Gtk", name = "SeparatorToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSeparatorToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_separator_tool_item_get_draw" gtk_separator_tool_item_get_draw :: 
+    Ptr SeparatorToolItem ->                -- item : TInterface (Name {namespace = "Gtk", name = "SeparatorToolItem"})
+    IO CInt
+
+{- |
+Returns whether /@item@/ is drawn as a line, or just blank.
+See 'GI.Gtk.Objects.SeparatorToolItem.separatorToolItemSetDraw'.
+
+/Since: 2.4/
+-}
+separatorToolItemGetDraw ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSeparatorToolItem a) =>
+    a
+    {- ^ /@item@/: a 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@item@/ is drawn as a line, or just blank. -}
+separatorToolItemGetDraw item = liftIO $ do
+    item' <- unsafeManagedPtrCastPtr item
+    result <- gtk_separator_tool_item_get_draw item'
+    let result' = (/= 0) result
+    touchManagedPtr item
+    return result'
+
+#if ENABLE_OVERLOADING
+data SeparatorToolItemGetDrawMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsSeparatorToolItem a) => O.MethodInfo SeparatorToolItemGetDrawMethodInfo a signature where
+    overloadedMethod _ = separatorToolItemGetDraw
+
+#endif
+
+-- method SeparatorToolItem::set_draw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "Gtk", name = "SeparatorToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSeparatorToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "draw", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @item is drawn as a vertical line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_separator_tool_item_set_draw" gtk_separator_tool_item_set_draw :: 
+    Ptr SeparatorToolItem ->                -- item : TInterface (Name {namespace = "Gtk", name = "SeparatorToolItem"})
+    CInt ->                                 -- draw : TBasicType TBoolean
+    IO ()
+
+{- |
+Whether /@item@/ is drawn as a vertical line, or just blank.
+Setting this to 'False' along with 'GI.Gtk.Objects.ToolItem.toolItemSetExpand' is useful
+to create an item that forces following items to the end of the toolbar.
+
+/Since: 2.4/
+-}
+separatorToolItemSetDraw ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSeparatorToolItem a) =>
+    a
+    {- ^ /@item@/: a 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem' -}
+    -> Bool
+    {- ^ /@draw@/: whether /@item@/ is drawn as a vertical line -}
+    -> m ()
+separatorToolItemSetDraw item draw = liftIO $ do
+    item' <- unsafeManagedPtrCastPtr item
+    let draw' = (fromIntegral . fromEnum) draw
+    gtk_separator_tool_item_set_draw item' draw'
+    touchManagedPtr item
+    return ()
+
+#if ENABLE_OVERLOADING
+data SeparatorToolItemSetDrawMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsSeparatorToolItem a) => O.MethodInfo SeparatorToolItemSetDrawMethodInfo a signature where
+    overloadedMethod _ = separatorToolItemSetDraw
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/SeparatorToolItem.hs-boot b/GI/Gtk/Objects/SeparatorToolItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SeparatorToolItem.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.SeparatorToolItem where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SeparatorToolItem = SeparatorToolItem (ManagedPtr SeparatorToolItem)
+instance GObject SeparatorToolItem where
+class (GObject o, O.IsDescendantOf SeparatorToolItem o) => IsSeparatorToolItem o
+instance (GObject o, O.IsDescendantOf SeparatorToolItem o) => IsSeparatorToolItem o
+instance O.HasParentTypes SeparatorToolItem
+#if ENABLE_OVERLOADING
+data SeparatorToolItemDrawPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SeparatorToolItemGetDrawMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SeparatorToolItemSetDrawMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Settings.hs b/GI/Gtk/Objects/Settings.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Settings.hs
@@ -0,0 +1,6437 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkSettings provide a mechanism to share global settings between
+applications.
+
+On the X window system, this sharing is realized by an
+<http://www.freedesktop.org/wiki/Specifications/xsettings-spec XSettings>
+manager that is usually part of the desktop environment, along with
+utilities that let the user change these settings. In the absence of
+an Xsettings manager, GTK+ reads default values for settings from
+@settings.ini@ files in
+@\/etc\/gtk-3.0@, @$XDG_CONFIG_DIRS\/gtk-3.0@
+and @$XDG_CONFIG_HOME\/gtk-3.0@.
+These files must be valid key files (see 'GI.GLib.Structs.KeyFile.KeyFile'), and have
+a section called Settings. Themes can also provide default values
+for settings by installing a @settings.ini@ file
+next to their @gtk.css@ file.
+
+Applications can override system-wide settings by setting the property
+of the GtkSettings object with @/g_object_set()/@. This should be restricted
+to special cases though; GtkSettings are not meant as an application
+configuration facility. When doing so, you need to be aware that settings
+that are specific to individual widgets may not be available before the
+widget type has been realized at least once. The following example
+demonstrates a way to do this:
+
+=== /C code/
+>
+>  gtk_init (&argc, &argv);
+>
+>  // make sure the type is realized
+>  g_type_class_unref (g_type_class_ref (GTK_TYPE_IMAGE_MENU_ITEM));
+>
+>  g_object_set (gtk_settings_get_default (), "gtk-enable-animations", FALSE, NULL);
+
+
+There is one GtkSettings instance per screen. It can be obtained with
+'GI.Gtk.Objects.Settings.settingsGetForScreen', but in many cases, it is more convenient
+to use 'GI.Gtk.Objects.Widget.widgetGetSettings'. 'GI.Gtk.Objects.Settings.settingsGetDefault' returns the
+GtkSettings instance for the default screen.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Settings
+    ( 
+
+-- * Exported types
+    Settings(..)                            ,
+    IsSettings                              ,
+    toSettings                              ,
+    noSettings                              ,
+
+
+ -- * Methods
+-- ** getDefault #method:getDefault#
+
+    settingsGetDefault                      ,
+
+
+-- ** getForScreen #method:getForScreen#
+
+    settingsGetForScreen                    ,
+
+
+-- ** installProperty #method:installProperty#
+
+    settingsInstallProperty                 ,
+
+
+-- ** installPropertyParser #method:installPropertyParser#
+
+    settingsInstallPropertyParser           ,
+
+
+-- ** resetProperty #method:resetProperty#
+
+#if ENABLE_OVERLOADING
+    SettingsResetPropertyMethodInfo         ,
+#endif
+    settingsResetProperty                   ,
+
+
+-- ** setDoubleProperty #method:setDoubleProperty#
+
+#if ENABLE_OVERLOADING
+    SettingsSetDoublePropertyMethodInfo     ,
+#endif
+    settingsSetDoubleProperty               ,
+
+
+-- ** setLongProperty #method:setLongProperty#
+
+#if ENABLE_OVERLOADING
+    SettingsSetLongPropertyMethodInfo       ,
+#endif
+    settingsSetLongProperty                 ,
+
+
+-- ** setPropertyValue #method:setPropertyValue#
+
+#if ENABLE_OVERLOADING
+    SettingsSetPropertyValueMethodInfo      ,
+#endif
+    settingsSetPropertyValue                ,
+
+
+-- ** setStringProperty #method:setStringProperty#
+
+#if ENABLE_OVERLOADING
+    SettingsSetStringPropertyMethodInfo     ,
+#endif
+    settingsSetStringProperty               ,
+
+
+
+
+ -- * Properties
+-- ** colorHash #attr:colorHash#
+
+#if ENABLE_OVERLOADING
+    SettingsColorHashPropertyInfo           ,
+#endif
+#if ENABLE_OVERLOADING
+    settingsColorHash                       ,
+#endif
+
+
+-- ** gtkAlternativeButtonOrder #attr:gtkAlternativeButtonOrder#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkAlternativeButtonOrderPropertyInfo,
+#endif
+    constructSettingsGtkAlternativeButtonOrder,
+    getSettingsGtkAlternativeButtonOrder    ,
+    setSettingsGtkAlternativeButtonOrder    ,
+#if ENABLE_OVERLOADING
+    settingsGtkAlternativeButtonOrder       ,
+#endif
+
+
+-- ** gtkAlternativeSortArrows #attr:gtkAlternativeSortArrows#
+{- | Controls the direction of the sort indicators in sorted list and tree
+views. By default an arrow pointing down means the column is sorted
+in ascending order. When set to 'True', this order will be inverted.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkAlternativeSortArrowsPropertyInfo,
+#endif
+    constructSettingsGtkAlternativeSortArrows,
+    getSettingsGtkAlternativeSortArrows     ,
+    setSettingsGtkAlternativeSortArrows     ,
+#if ENABLE_OVERLOADING
+    settingsGtkAlternativeSortArrows        ,
+#endif
+
+
+-- ** gtkApplicationPreferDarkTheme #attr:gtkApplicationPreferDarkTheme#
+{- | Whether the application prefers to use a dark theme. If a GTK+ theme
+includes a dark variant, it will be used instead of the configured
+theme.
+
+Some applications benefit from minimizing the amount of light pollution that
+interferes with the content. Good candidates for dark themes are photo and
+video editors that make the actual content get all the attention and minimize
+the distraction of the chrome.
+
+Dark themes should not be used for documents, where large spaces are white\/light
+and the dark chrome creates too much contrast (web browser, text editor...).
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkApplicationPreferDarkThemePropertyInfo,
+#endif
+    constructSettingsGtkApplicationPreferDarkTheme,
+    getSettingsGtkApplicationPreferDarkTheme,
+    setSettingsGtkApplicationPreferDarkTheme,
+#if ENABLE_OVERLOADING
+    settingsGtkApplicationPreferDarkTheme   ,
+#endif
+
+
+-- ** gtkAutoMnemonics #attr:gtkAutoMnemonics#
+{- | Whether mnemonics should be automatically shown and hidden when the user
+presses the mnemonic activator.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkAutoMnemonicsPropertyInfo    ,
+#endif
+    constructSettingsGtkAutoMnemonics       ,
+    getSettingsGtkAutoMnemonics             ,
+    setSettingsGtkAutoMnemonics             ,
+#if ENABLE_OVERLOADING
+    settingsGtkAutoMnemonics                ,
+#endif
+
+
+-- ** gtkButtonImages #attr:gtkButtonImages#
+{- | Whether images should be shown on buttons
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkButtonImagesPropertyInfo     ,
+#endif
+    constructSettingsGtkButtonImages        ,
+    getSettingsGtkButtonImages              ,
+    setSettingsGtkButtonImages              ,
+#if ENABLE_OVERLOADING
+    settingsGtkButtonImages                 ,
+#endif
+
+
+-- ** gtkCanChangeAccels #attr:gtkCanChangeAccels#
+{- | Whether menu accelerators can be changed by pressing a key over the menu item.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkCanChangeAccelsPropertyInfo  ,
+#endif
+    constructSettingsGtkCanChangeAccels     ,
+    getSettingsGtkCanChangeAccels           ,
+    setSettingsGtkCanChangeAccels           ,
+#if ENABLE_OVERLOADING
+    settingsGtkCanChangeAccels              ,
+#endif
+
+
+-- ** gtkColorPalette #attr:gtkColorPalette#
+{- | Palette to use in the deprecated color selector.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkColorPalettePropertyInfo     ,
+#endif
+    clearSettingsGtkColorPalette            ,
+    constructSettingsGtkColorPalette        ,
+    getSettingsGtkColorPalette              ,
+    setSettingsGtkColorPalette              ,
+#if ENABLE_OVERLOADING
+    settingsGtkColorPalette                 ,
+#endif
+
+
+-- ** gtkColorScheme #attr:gtkColorScheme#
+{- | A palette of named colors for use in themes. The format of the string is
+>
+>name1: color1
+>name2: color2
+>...
+
+Color names must be acceptable as identifiers in the
+[gtkrc][gtk3-Resource-Files] syntax, and
+color specifications must be in the format accepted by
+'GI.Gdk.Functions.colorParse'.
+
+Note that due to the way the color tables from different sources are
+merged, color specifications will be converted to hexadecimal form
+when getting this property.
+
+Starting with GTK+ 2.12, the entries can alternatively be separated
+by \';\' instead of newlines:
+>
+>name1: color1; name2: color2; ...
+
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkColorSchemePropertyInfo      ,
+#endif
+    clearSettingsGtkColorScheme             ,
+    constructSettingsGtkColorScheme         ,
+    getSettingsGtkColorScheme               ,
+    setSettingsGtkColorScheme               ,
+#if ENABLE_OVERLOADING
+    settingsGtkColorScheme                  ,
+#endif
+
+
+-- ** gtkCursorBlink #attr:gtkCursorBlink#
+{- | Whether the cursor should blink.
+
+Also see the 'GI.Gtk.Objects.Settings.Settings':@/gtk-cursor-blink-timeout/@ setting,
+which allows more flexible control over cursor blinking.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkCursorBlinkPropertyInfo      ,
+#endif
+    constructSettingsGtkCursorBlink         ,
+    getSettingsGtkCursorBlink               ,
+    setSettingsGtkCursorBlink               ,
+#if ENABLE_OVERLOADING
+    settingsGtkCursorBlink                  ,
+#endif
+
+
+-- ** gtkCursorBlinkTime #attr:gtkCursorBlinkTime#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkCursorBlinkTimePropertyInfo  ,
+#endif
+    constructSettingsGtkCursorBlinkTime     ,
+    getSettingsGtkCursorBlinkTime           ,
+    setSettingsGtkCursorBlinkTime           ,
+#if ENABLE_OVERLOADING
+    settingsGtkCursorBlinkTime              ,
+#endif
+
+
+-- ** gtkCursorBlinkTimeout #attr:gtkCursorBlinkTimeout#
+{- | Time after which the cursor stops blinking, in seconds.
+The timer is reset after each user interaction.
+
+Setting this to zero has the same effect as setting
+'GI.Gtk.Objects.Settings.Settings':@/gtk-cursor-blink/@ to 'False'.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkCursorBlinkTimeoutPropertyInfo,
+#endif
+    constructSettingsGtkCursorBlinkTimeout  ,
+    getSettingsGtkCursorBlinkTimeout        ,
+    setSettingsGtkCursorBlinkTimeout        ,
+#if ENABLE_OVERLOADING
+    settingsGtkCursorBlinkTimeout           ,
+#endif
+
+
+-- ** gtkCursorThemeName #attr:gtkCursorThemeName#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkCursorThemeNamePropertyInfo  ,
+#endif
+    clearSettingsGtkCursorThemeName         ,
+    constructSettingsGtkCursorThemeName     ,
+    getSettingsGtkCursorThemeName           ,
+    setSettingsGtkCursorThemeName           ,
+#if ENABLE_OVERLOADING
+    settingsGtkCursorThemeName              ,
+#endif
+
+
+-- ** gtkCursorThemeSize #attr:gtkCursorThemeSize#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkCursorThemeSizePropertyInfo  ,
+#endif
+    constructSettingsGtkCursorThemeSize     ,
+    getSettingsGtkCursorThemeSize           ,
+    setSettingsGtkCursorThemeSize           ,
+#if ENABLE_OVERLOADING
+    settingsGtkCursorThemeSize              ,
+#endif
+
+
+-- ** gtkDecorationLayout #attr:gtkDecorationLayout#
+{- | This setting determines which buttons should be put in the
+titlebar of client-side decorated windows, and whether they
+should be placed at the left of right.
+
+The format of the string is button names, separated by commas.
+A colon separates the buttons that should appear on the left
+from those on the right. Recognized button names are minimize,
+maximize, close, icon (the window icon) and menu (a menu button
+for the fallback app menu).
+
+For example, \"menu:minimize,maximize,close\" specifies a menu
+on the left, and minimize, maximize and close buttons on the right.
+
+Note that buttons will only be shown when they are meaningful.
+E.g. a menu button only appears when the desktop shell does not
+show the app menu, and a close button only appears on a window
+that can be closed.
+
+Also note that the setting can be overridden with the
+'GI.Gtk.Objects.HeaderBar.HeaderBar':@/decoration-layout/@ property.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkDecorationLayoutPropertyInfo ,
+#endif
+    clearSettingsGtkDecorationLayout        ,
+    constructSettingsGtkDecorationLayout    ,
+    getSettingsGtkDecorationLayout          ,
+    setSettingsGtkDecorationLayout          ,
+#if ENABLE_OVERLOADING
+    settingsGtkDecorationLayout             ,
+#endif
+
+
+-- ** gtkDialogsUseHeader #attr:gtkDialogsUseHeader#
+{- | Whether builtin GTK+ dialogs such as the file chooser, the
+color chooser or the font chooser will use a header bar at
+the top to show action widgets, or an action area at the bottom.
+
+This setting does not affect custom dialogs using GtkDialog
+directly, or message dialogs.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkDialogsUseHeaderPropertyInfo ,
+#endif
+    constructSettingsGtkDialogsUseHeader    ,
+    getSettingsGtkDialogsUseHeader          ,
+    setSettingsGtkDialogsUseHeader          ,
+#if ENABLE_OVERLOADING
+    settingsGtkDialogsUseHeader             ,
+#endif
+
+
+-- ** gtkDndDragThreshold #attr:gtkDndDragThreshold#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkDndDragThresholdPropertyInfo ,
+#endif
+    constructSettingsGtkDndDragThreshold    ,
+    getSettingsGtkDndDragThreshold          ,
+    setSettingsGtkDndDragThreshold          ,
+#if ENABLE_OVERLOADING
+    settingsGtkDndDragThreshold             ,
+#endif
+
+
+-- ** gtkDoubleClickDistance #attr:gtkDoubleClickDistance#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkDoubleClickDistancePropertyInfo,
+#endif
+    constructSettingsGtkDoubleClickDistance ,
+    getSettingsGtkDoubleClickDistance       ,
+    setSettingsGtkDoubleClickDistance       ,
+#if ENABLE_OVERLOADING
+    settingsGtkDoubleClickDistance          ,
+#endif
+
+
+-- ** gtkDoubleClickTime #attr:gtkDoubleClickTime#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkDoubleClickTimePropertyInfo  ,
+#endif
+    constructSettingsGtkDoubleClickTime     ,
+    getSettingsGtkDoubleClickTime           ,
+    setSettingsGtkDoubleClickTime           ,
+#if ENABLE_OVERLOADING
+    settingsGtkDoubleClickTime              ,
+#endif
+
+
+-- ** gtkEnableAccels #attr:gtkEnableAccels#
+{- | Whether menu items should have visible accelerators which can be
+activated.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkEnableAccelsPropertyInfo     ,
+#endif
+    constructSettingsGtkEnableAccels        ,
+    getSettingsGtkEnableAccels              ,
+    setSettingsGtkEnableAccels              ,
+#if ENABLE_OVERLOADING
+    settingsGtkEnableAccels                 ,
+#endif
+
+
+-- ** gtkEnableAnimations #attr:gtkEnableAnimations#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkEnableAnimationsPropertyInfo ,
+#endif
+    constructSettingsGtkEnableAnimations    ,
+    getSettingsGtkEnableAnimations          ,
+    setSettingsGtkEnableAnimations          ,
+#if ENABLE_OVERLOADING
+    settingsGtkEnableAnimations             ,
+#endif
+
+
+-- ** gtkEnableEventSounds #attr:gtkEnableEventSounds#
+{- | Whether to play any event sounds at all.
+
+See the <http://www.freedesktop.org/wiki/Specifications/sound-theme-spec Sound Theme Specifications>
+for more information on event sounds and sound themes.
+
+GTK+ itself does not support event sounds, you have to use a loadable
+module like the one that comes with libcanberra.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkEnableEventSoundsPropertyInfo,
+#endif
+    constructSettingsGtkEnableEventSounds   ,
+    getSettingsGtkEnableEventSounds         ,
+    setSettingsGtkEnableEventSounds         ,
+#if ENABLE_OVERLOADING
+    settingsGtkEnableEventSounds            ,
+#endif
+
+
+-- ** gtkEnableInputFeedbackSounds #attr:gtkEnableInputFeedbackSounds#
+{- | Whether to play event sounds as feedback to user input.
+
+See the <http://www.freedesktop.org/wiki/Specifications/sound-theme-spec Sound Theme Specifications>
+for more information on event sounds and sound themes.
+
+GTK+ itself does not support event sounds, you have to use a loadable
+module like the one that comes with libcanberra.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkEnableInputFeedbackSoundsPropertyInfo,
+#endif
+    constructSettingsGtkEnableInputFeedbackSounds,
+    getSettingsGtkEnableInputFeedbackSounds ,
+    setSettingsGtkEnableInputFeedbackSounds ,
+#if ENABLE_OVERLOADING
+    settingsGtkEnableInputFeedbackSounds    ,
+#endif
+
+
+-- ** gtkEnableMnemonics #attr:gtkEnableMnemonics#
+{- | Whether labels and menu items should have visible mnemonics which
+can be activated.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkEnableMnemonicsPropertyInfo  ,
+#endif
+    constructSettingsGtkEnableMnemonics     ,
+    getSettingsGtkEnableMnemonics           ,
+    setSettingsGtkEnableMnemonics           ,
+#if ENABLE_OVERLOADING
+    settingsGtkEnableMnemonics              ,
+#endif
+
+
+-- ** gtkEnablePrimaryPaste #attr:gtkEnablePrimaryPaste#
+{- | Whether a middle click on a mouse should paste the
+\'PRIMARY\' clipboard content at the cursor location.
+
+/Since: 3.4/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkEnablePrimaryPastePropertyInfo,
+#endif
+    constructSettingsGtkEnablePrimaryPaste  ,
+    getSettingsGtkEnablePrimaryPaste        ,
+    setSettingsGtkEnablePrimaryPaste        ,
+#if ENABLE_OVERLOADING
+    settingsGtkEnablePrimaryPaste           ,
+#endif
+
+
+-- ** gtkEnableTooltips #attr:gtkEnableTooltips#
+{- | Whether tooltips should be shown on widgets.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkEnableTooltipsPropertyInfo   ,
+#endif
+    constructSettingsGtkEnableTooltips      ,
+    getSettingsGtkEnableTooltips            ,
+    setSettingsGtkEnableTooltips            ,
+#if ENABLE_OVERLOADING
+    settingsGtkEnableTooltips               ,
+#endif
+
+
+-- ** gtkEntryPasswordHintTimeout #attr:gtkEntryPasswordHintTimeout#
+{- | How long to show the last input character in hidden
+entries. This value is in milliseconds. 0 disables showing the
+last char. 600 is a good value for enabling it.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkEntryPasswordHintTimeoutPropertyInfo,
+#endif
+    constructSettingsGtkEntryPasswordHintTimeout,
+    getSettingsGtkEntryPasswordHintTimeout  ,
+    setSettingsGtkEntryPasswordHintTimeout  ,
+#if ENABLE_OVERLOADING
+    settingsGtkEntryPasswordHintTimeout     ,
+#endif
+
+
+-- ** gtkEntrySelectOnFocus #attr:gtkEntrySelectOnFocus#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkEntrySelectOnFocusPropertyInfo,
+#endif
+    constructSettingsGtkEntrySelectOnFocus  ,
+    getSettingsGtkEntrySelectOnFocus        ,
+    setSettingsGtkEntrySelectOnFocus        ,
+#if ENABLE_OVERLOADING
+    settingsGtkEntrySelectOnFocus           ,
+#endif
+
+
+-- ** gtkErrorBell #attr:gtkErrorBell#
+{- | When 'True', keyboard navigation and other input-related errors
+will cause a beep. Since the error bell is implemented using
+'GI.Gdk.Objects.Window.windowBeep', the windowing system may offer ways to
+configure the error bell in many ways, such as flashing the
+window or similar visual effects.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkErrorBellPropertyInfo        ,
+#endif
+    constructSettingsGtkErrorBell           ,
+    getSettingsGtkErrorBell                 ,
+    setSettingsGtkErrorBell                 ,
+#if ENABLE_OVERLOADING
+    settingsGtkErrorBell                    ,
+#endif
+
+
+-- ** gtkFallbackIconTheme #attr:gtkFallbackIconTheme#
+{- | Name of a icon theme to fall back to.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkFallbackIconThemePropertyInfo,
+#endif
+    clearSettingsGtkFallbackIconTheme       ,
+    constructSettingsGtkFallbackIconTheme   ,
+    getSettingsGtkFallbackIconTheme         ,
+    setSettingsGtkFallbackIconTheme         ,
+#if ENABLE_OVERLOADING
+    settingsGtkFallbackIconTheme            ,
+#endif
+
+
+-- ** gtkFileChooserBackend #attr:gtkFileChooserBackend#
+{- | Name of the GtkFileChooser backend to use by default.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkFileChooserBackendPropertyInfo,
+#endif
+    clearSettingsGtkFileChooserBackend      ,
+    constructSettingsGtkFileChooserBackend  ,
+    getSettingsGtkFileChooserBackend        ,
+    setSettingsGtkFileChooserBackend        ,
+#if ENABLE_OVERLOADING
+    settingsGtkFileChooserBackend           ,
+#endif
+
+
+-- ** gtkFontName #attr:gtkFontName#
+{- | The default font to use. GTK+ uses the family name and size from this string.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkFontNamePropertyInfo         ,
+#endif
+    clearSettingsGtkFontName                ,
+    constructSettingsGtkFontName            ,
+    getSettingsGtkFontName                  ,
+    setSettingsGtkFontName                  ,
+#if ENABLE_OVERLOADING
+    settingsGtkFontName                     ,
+#endif
+
+
+-- ** gtkFontconfigTimestamp #attr:gtkFontconfigTimestamp#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkFontconfigTimestampPropertyInfo,
+#endif
+    constructSettingsGtkFontconfigTimestamp ,
+    getSettingsGtkFontconfigTimestamp       ,
+    setSettingsGtkFontconfigTimestamp       ,
+#if ENABLE_OVERLOADING
+    settingsGtkFontconfigTimestamp          ,
+#endif
+
+
+-- ** gtkIconSizes #attr:gtkIconSizes#
+{- | A list of icon sizes. The list is separated by colons, and
+item has the form:
+
+@size-name@ = @width@ , @height@
+
+E.g. \"gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48\".
+GTK+ itself use the following named icon sizes: gtk-menu,
+gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd,
+gtk-dialog. Applications can register their own named icon
+sizes with 'GI.Gtk.Functions.iconSizeRegister'.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkIconSizesPropertyInfo        ,
+#endif
+    clearSettingsGtkIconSizes               ,
+    constructSettingsGtkIconSizes           ,
+    getSettingsGtkIconSizes                 ,
+    setSettingsGtkIconSizes                 ,
+#if ENABLE_OVERLOADING
+    settingsGtkIconSizes                    ,
+#endif
+
+
+-- ** gtkIconThemeName #attr:gtkIconThemeName#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkIconThemeNamePropertyInfo    ,
+#endif
+    clearSettingsGtkIconThemeName           ,
+    constructSettingsGtkIconThemeName       ,
+    getSettingsGtkIconThemeName             ,
+    setSettingsGtkIconThemeName             ,
+#if ENABLE_OVERLOADING
+    settingsGtkIconThemeName                ,
+#endif
+
+
+-- ** gtkImModule #attr:gtkImModule#
+{- | Which IM (input method) module should be used by default. This is the
+input method that will be used if the user has not explicitly chosen
+another input method from the IM context menu.
+This also can be a colon-separated list of input methods, which GTK+
+will try in turn until it finds one available on the system.
+
+See 'GI.Gtk.Objects.IMContext.IMContext'.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkImModulePropertyInfo         ,
+#endif
+    clearSettingsGtkImModule                ,
+    constructSettingsGtkImModule            ,
+    getSettingsGtkImModule                  ,
+    setSettingsGtkImModule                  ,
+#if ENABLE_OVERLOADING
+    settingsGtkImModule                     ,
+#endif
+
+
+-- ** gtkImPreeditStyle #attr:gtkImPreeditStyle#
+{- | How to draw the input method preedit string.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkImPreeditStylePropertyInfo   ,
+#endif
+    constructSettingsGtkImPreeditStyle      ,
+    getSettingsGtkImPreeditStyle            ,
+    setSettingsGtkImPreeditStyle            ,
+#if ENABLE_OVERLOADING
+    settingsGtkImPreeditStyle               ,
+#endif
+
+
+-- ** gtkImStatusStyle #attr:gtkImStatusStyle#
+{- | How to draw the input method statusbar.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkImStatusStylePropertyInfo    ,
+#endif
+    constructSettingsGtkImStatusStyle       ,
+    getSettingsGtkImStatusStyle             ,
+    setSettingsGtkImStatusStyle             ,
+#if ENABLE_OVERLOADING
+    settingsGtkImStatusStyle                ,
+#endif
+
+
+-- ** gtkKeyThemeName #attr:gtkKeyThemeName#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkKeyThemeNamePropertyInfo     ,
+#endif
+    clearSettingsGtkKeyThemeName            ,
+    constructSettingsGtkKeyThemeName        ,
+    getSettingsGtkKeyThemeName              ,
+    setSettingsGtkKeyThemeName              ,
+#if ENABLE_OVERLOADING
+    settingsGtkKeyThemeName                 ,
+#endif
+
+
+-- ** gtkKeynavCursorOnly #attr:gtkKeynavCursorOnly#
+{- | When 'True', keyboard navigation should be able to reach all widgets
+by using the cursor keys only. Tab, Shift etc. keys can\'t be expected
+to be present on the used input device.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkKeynavCursorOnlyPropertyInfo ,
+#endif
+    constructSettingsGtkKeynavCursorOnly    ,
+    getSettingsGtkKeynavCursorOnly          ,
+    setSettingsGtkKeynavCursorOnly          ,
+#if ENABLE_OVERLOADING
+    settingsGtkKeynavCursorOnly             ,
+#endif
+
+
+-- ** gtkKeynavUseCaret #attr:gtkKeynavUseCaret#
+{- | Whether GTK+ should make sure that text can be navigated with
+a caret, even if it is not editable. This is useful when using
+a screen reader.
+
+/Since: 3.20/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkKeynavUseCaretPropertyInfo   ,
+#endif
+    constructSettingsGtkKeynavUseCaret      ,
+    getSettingsGtkKeynavUseCaret            ,
+    setSettingsGtkKeynavUseCaret            ,
+#if ENABLE_OVERLOADING
+    settingsGtkKeynavUseCaret               ,
+#endif
+
+
+-- ** gtkKeynavWrapAround #attr:gtkKeynavWrapAround#
+{- | When 'True', some widgets will wrap around when doing keyboard
+navigation, such as menus, menubars and notebooks.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkKeynavWrapAroundPropertyInfo ,
+#endif
+    constructSettingsGtkKeynavWrapAround    ,
+    getSettingsGtkKeynavWrapAround          ,
+    setSettingsGtkKeynavWrapAround          ,
+#if ENABLE_OVERLOADING
+    settingsGtkKeynavWrapAround             ,
+#endif
+
+
+-- ** gtkLabelSelectOnFocus #attr:gtkLabelSelectOnFocus#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkLabelSelectOnFocusPropertyInfo,
+#endif
+    constructSettingsGtkLabelSelectOnFocus  ,
+    getSettingsGtkLabelSelectOnFocus        ,
+    setSettingsGtkLabelSelectOnFocus        ,
+#if ENABLE_OVERLOADING
+    settingsGtkLabelSelectOnFocus           ,
+#endif
+
+
+-- ** gtkLongPressTime #attr:gtkLongPressTime#
+{- | The time for a button or touch press to be considered a \"long press\".
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkLongPressTimePropertyInfo    ,
+#endif
+    constructSettingsGtkLongPressTime       ,
+    getSettingsGtkLongPressTime             ,
+    setSettingsGtkLongPressTime             ,
+#if ENABLE_OVERLOADING
+    settingsGtkLongPressTime                ,
+#endif
+
+
+-- ** gtkMenuBarAccel #attr:gtkMenuBarAccel#
+{- | Keybinding to activate the menu bar.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkMenuBarAccelPropertyInfo     ,
+#endif
+    clearSettingsGtkMenuBarAccel            ,
+    constructSettingsGtkMenuBarAccel        ,
+    getSettingsGtkMenuBarAccel              ,
+    setSettingsGtkMenuBarAccel              ,
+#if ENABLE_OVERLOADING
+    settingsGtkMenuBarAccel                 ,
+#endif
+
+
+-- ** gtkMenuBarPopupDelay #attr:gtkMenuBarPopupDelay#
+{- | Delay before the submenus of a menu bar appear.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkMenuBarPopupDelayPropertyInfo,
+#endif
+    constructSettingsGtkMenuBarPopupDelay   ,
+    getSettingsGtkMenuBarPopupDelay         ,
+    setSettingsGtkMenuBarPopupDelay         ,
+#if ENABLE_OVERLOADING
+    settingsGtkMenuBarPopupDelay            ,
+#endif
+
+
+-- ** gtkMenuImages #attr:gtkMenuImages#
+{- | Whether images should be shown in menu items
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkMenuImagesPropertyInfo       ,
+#endif
+    constructSettingsGtkMenuImages          ,
+    getSettingsGtkMenuImages                ,
+    setSettingsGtkMenuImages                ,
+#if ENABLE_OVERLOADING
+    settingsGtkMenuImages                   ,
+#endif
+
+
+-- ** gtkMenuPopdownDelay #attr:gtkMenuPopdownDelay#
+{- | The time before hiding a submenu when the pointer is moving towards the submenu.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkMenuPopdownDelayPropertyInfo ,
+#endif
+    constructSettingsGtkMenuPopdownDelay    ,
+    getSettingsGtkMenuPopdownDelay          ,
+    setSettingsGtkMenuPopdownDelay          ,
+#if ENABLE_OVERLOADING
+    settingsGtkMenuPopdownDelay             ,
+#endif
+
+
+-- ** gtkMenuPopupDelay #attr:gtkMenuPopupDelay#
+{- | Minimum time the pointer must stay over a menu item before the submenu appear.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkMenuPopupDelayPropertyInfo   ,
+#endif
+    constructSettingsGtkMenuPopupDelay      ,
+    getSettingsGtkMenuPopupDelay            ,
+    setSettingsGtkMenuPopupDelay            ,
+#if ENABLE_OVERLOADING
+    settingsGtkMenuPopupDelay               ,
+#endif
+
+
+-- ** gtkModules #attr:gtkModules#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkModulesPropertyInfo          ,
+#endif
+    clearSettingsGtkModules                 ,
+    constructSettingsGtkModules             ,
+    getSettingsGtkModules                   ,
+    setSettingsGtkModules                   ,
+#if ENABLE_OVERLOADING
+    settingsGtkModules                      ,
+#endif
+
+
+-- ** gtkPrimaryButtonWarpsSlider #attr:gtkPrimaryButtonWarpsSlider#
+{- | If the value of this setting is 'True', clicking the primary button in a
+'GI.Gtk.Objects.Range.Range' trough will move the slider, and hence set the range’s value, to
+the point that you clicked. If it is 'False', a primary click will cause the
+slider\/value to move by the range’s page-size towards the point clicked.
+
+Whichever action you choose for the primary button, the other action will
+be available by holding Shift and primary-clicking, or (since GTK+ 3.22.25)
+clicking the middle mouse button.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkPrimaryButtonWarpsSliderPropertyInfo,
+#endif
+    constructSettingsGtkPrimaryButtonWarpsSlider,
+    getSettingsGtkPrimaryButtonWarpsSlider  ,
+    setSettingsGtkPrimaryButtonWarpsSlider  ,
+#if ENABLE_OVERLOADING
+    settingsGtkPrimaryButtonWarpsSlider     ,
+#endif
+
+
+-- ** gtkPrintBackends #attr:gtkPrintBackends#
+{- | A comma-separated list of print backends to use in the print
+dialog. Available print backends depend on the GTK+ installation,
+and may include \"file\", \"cups\", \"lpr\" or \"papi\".
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkPrintBackendsPropertyInfo    ,
+#endif
+    clearSettingsGtkPrintBackends           ,
+    constructSettingsGtkPrintBackends       ,
+    getSettingsGtkPrintBackends             ,
+    setSettingsGtkPrintBackends             ,
+#if ENABLE_OVERLOADING
+    settingsGtkPrintBackends                ,
+#endif
+
+
+-- ** gtkPrintPreviewCommand #attr:gtkPrintPreviewCommand#
+{- | A command to run for displaying the print preview. The command
+should contain a @%f@ placeholder, which will get replaced by
+the path to the pdf file. The command may also contain a @%s@
+placeholder, which will get replaced by the path to a file
+containing the print settings in the format produced by
+'GI.Gtk.Objects.PrintSettings.printSettingsToFile'.
+
+The preview application is responsible for removing the pdf file
+and the print settings file when it is done.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkPrintPreviewCommandPropertyInfo,
+#endif
+    clearSettingsGtkPrintPreviewCommand     ,
+    constructSettingsGtkPrintPreviewCommand ,
+    getSettingsGtkPrintPreviewCommand       ,
+    setSettingsGtkPrintPreviewCommand       ,
+#if ENABLE_OVERLOADING
+    settingsGtkPrintPreviewCommand          ,
+#endif
+
+
+-- ** gtkRecentFilesEnabled #attr:gtkRecentFilesEnabled#
+{- | Whether GTK+ should keep track of items inside the recently used
+resources list. If set to 'False', the list will always be empty.
+
+/Since: 3.8/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkRecentFilesEnabledPropertyInfo,
+#endif
+    constructSettingsGtkRecentFilesEnabled  ,
+    getSettingsGtkRecentFilesEnabled        ,
+    setSettingsGtkRecentFilesEnabled        ,
+#if ENABLE_OVERLOADING
+    settingsGtkRecentFilesEnabled           ,
+#endif
+
+
+-- ** gtkRecentFilesLimit #attr:gtkRecentFilesLimit#
+{- | The number of recently used files that should be displayed by default by
+'GI.Gtk.Interfaces.RecentChooser.RecentChooser' implementations and by the 'GI.Gtk.Interfaces.FileChooser.FileChooser'. A value of
+-1 means every recently used file stored.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkRecentFilesLimitPropertyInfo ,
+#endif
+    constructSettingsGtkRecentFilesLimit    ,
+    getSettingsGtkRecentFilesLimit          ,
+    setSettingsGtkRecentFilesLimit          ,
+#if ENABLE_OVERLOADING
+    settingsGtkRecentFilesLimit             ,
+#endif
+
+
+-- ** gtkRecentFilesMaxAge #attr:gtkRecentFilesMaxAge#
+{- | The maximum age, in days, of the items inside the recently used
+resources list. Items older than this setting will be excised
+from the list. If set to 0, the list will always be empty; if
+set to -1, no item will be removed.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkRecentFilesMaxAgePropertyInfo,
+#endif
+    constructSettingsGtkRecentFilesMaxAge   ,
+    getSettingsGtkRecentFilesMaxAge         ,
+    setSettingsGtkRecentFilesMaxAge         ,
+#if ENABLE_OVERLOADING
+    settingsGtkRecentFilesMaxAge            ,
+#endif
+
+
+-- ** gtkScrolledWindowPlacement #attr:gtkScrolledWindowPlacement#
+{- | Where the contents of scrolled windows are located with respect to the
+scrollbars, if not overridden by the scrolled window\'s own placement.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkScrolledWindowPlacementPropertyInfo,
+#endif
+    constructSettingsGtkScrolledWindowPlacement,
+    getSettingsGtkScrolledWindowPlacement   ,
+    setSettingsGtkScrolledWindowPlacement   ,
+#if ENABLE_OVERLOADING
+    settingsGtkScrolledWindowPlacement      ,
+#endif
+
+
+-- ** gtkShellShowsAppMenu #attr:gtkShellShowsAppMenu#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkShellShowsAppMenuPropertyInfo,
+#endif
+    constructSettingsGtkShellShowsAppMenu   ,
+    getSettingsGtkShellShowsAppMenu         ,
+    setSettingsGtkShellShowsAppMenu         ,
+#if ENABLE_OVERLOADING
+    settingsGtkShellShowsAppMenu            ,
+#endif
+
+
+-- ** gtkShellShowsDesktop #attr:gtkShellShowsDesktop#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkShellShowsDesktopPropertyInfo,
+#endif
+    constructSettingsGtkShellShowsDesktop   ,
+    getSettingsGtkShellShowsDesktop         ,
+    setSettingsGtkShellShowsDesktop         ,
+#if ENABLE_OVERLOADING
+    settingsGtkShellShowsDesktop            ,
+#endif
+
+
+-- ** gtkShellShowsMenubar #attr:gtkShellShowsMenubar#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkShellShowsMenubarPropertyInfo,
+#endif
+    constructSettingsGtkShellShowsMenubar   ,
+    getSettingsGtkShellShowsMenubar         ,
+    setSettingsGtkShellShowsMenubar         ,
+#if ENABLE_OVERLOADING
+    settingsGtkShellShowsMenubar            ,
+#endif
+
+
+-- ** gtkShowInputMethodMenu #attr:gtkShowInputMethodMenu#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkShowInputMethodMenuPropertyInfo,
+#endif
+    constructSettingsGtkShowInputMethodMenu ,
+    getSettingsGtkShowInputMethodMenu       ,
+    setSettingsGtkShowInputMethodMenu       ,
+#if ENABLE_OVERLOADING
+    settingsGtkShowInputMethodMenu          ,
+#endif
+
+
+-- ** gtkShowUnicodeMenu #attr:gtkShowUnicodeMenu#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkShowUnicodeMenuPropertyInfo  ,
+#endif
+    constructSettingsGtkShowUnicodeMenu     ,
+    getSettingsGtkShowUnicodeMenu           ,
+    setSettingsGtkShowUnicodeMenu           ,
+#if ENABLE_OVERLOADING
+    settingsGtkShowUnicodeMenu              ,
+#endif
+
+
+-- ** gtkSoundThemeName #attr:gtkSoundThemeName#
+{- | The XDG sound theme to use for event sounds.
+
+See the <http://www.freedesktop.org/wiki/Specifications/sound-theme-spec Sound Theme Specifications>
+for more information on event sounds and sound themes.
+
+GTK+ itself does not support event sounds, you have to use a loadable
+module like the one that comes with libcanberra.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkSoundThemeNamePropertyInfo   ,
+#endif
+    clearSettingsGtkSoundThemeName          ,
+    constructSettingsGtkSoundThemeName      ,
+    getSettingsGtkSoundThemeName            ,
+    setSettingsGtkSoundThemeName            ,
+#if ENABLE_OVERLOADING
+    settingsGtkSoundThemeName               ,
+#endif
+
+
+-- ** gtkSplitCursor #attr:gtkSplitCursor#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkSplitCursorPropertyInfo      ,
+#endif
+    constructSettingsGtkSplitCursor         ,
+    getSettingsGtkSplitCursor               ,
+    setSettingsGtkSplitCursor               ,
+#if ENABLE_OVERLOADING
+    settingsGtkSplitCursor                  ,
+#endif
+
+
+-- ** gtkThemeName #attr:gtkThemeName#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkThemeNamePropertyInfo        ,
+#endif
+    clearSettingsGtkThemeName               ,
+    constructSettingsGtkThemeName           ,
+    getSettingsGtkThemeName                 ,
+    setSettingsGtkThemeName                 ,
+#if ENABLE_OVERLOADING
+    settingsGtkThemeName                    ,
+#endif
+
+
+-- ** gtkTimeoutExpand #attr:gtkTimeoutExpand#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTimeoutExpandPropertyInfo    ,
+#endif
+    constructSettingsGtkTimeoutExpand       ,
+    getSettingsGtkTimeoutExpand             ,
+    setSettingsGtkTimeoutExpand             ,
+#if ENABLE_OVERLOADING
+    settingsGtkTimeoutExpand                ,
+#endif
+
+
+-- ** gtkTimeoutInitial #attr:gtkTimeoutInitial#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTimeoutInitialPropertyInfo   ,
+#endif
+    constructSettingsGtkTimeoutInitial      ,
+    getSettingsGtkTimeoutInitial            ,
+    setSettingsGtkTimeoutInitial            ,
+#if ENABLE_OVERLOADING
+    settingsGtkTimeoutInitial               ,
+#endif
+
+
+-- ** gtkTimeoutRepeat #attr:gtkTimeoutRepeat#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTimeoutRepeatPropertyInfo    ,
+#endif
+    constructSettingsGtkTimeoutRepeat       ,
+    getSettingsGtkTimeoutRepeat             ,
+    setSettingsGtkTimeoutRepeat             ,
+#if ENABLE_OVERLOADING
+    settingsGtkTimeoutRepeat                ,
+#endif
+
+
+-- ** gtkTitlebarDoubleClick #attr:gtkTitlebarDoubleClick#
+{- | This setting determines the action to take when a double-click
+occurs on the titlebar of client-side decorated windows.
+
+Recognized actions are minimize, toggle-maximize, menu, lower
+or none.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTitlebarDoubleClickPropertyInfo,
+#endif
+    clearSettingsGtkTitlebarDoubleClick     ,
+    constructSettingsGtkTitlebarDoubleClick ,
+    getSettingsGtkTitlebarDoubleClick       ,
+    setSettingsGtkTitlebarDoubleClick       ,
+#if ENABLE_OVERLOADING
+    settingsGtkTitlebarDoubleClick          ,
+#endif
+
+
+-- ** gtkTitlebarMiddleClick #attr:gtkTitlebarMiddleClick#
+{- | This setting determines the action to take when a middle-click
+occurs on the titlebar of client-side decorated windows.
+
+Recognized actions are minimize, toggle-maximize, menu, lower
+or none.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTitlebarMiddleClickPropertyInfo,
+#endif
+    clearSettingsGtkTitlebarMiddleClick     ,
+    constructSettingsGtkTitlebarMiddleClick ,
+    getSettingsGtkTitlebarMiddleClick       ,
+    setSettingsGtkTitlebarMiddleClick       ,
+#if ENABLE_OVERLOADING
+    settingsGtkTitlebarMiddleClick          ,
+#endif
+
+
+-- ** gtkTitlebarRightClick #attr:gtkTitlebarRightClick#
+{- | This setting determines the action to take when a right-click
+occurs on the titlebar of client-side decorated windows.
+
+Recognized actions are minimize, toggle-maximize, menu, lower
+or none.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTitlebarRightClickPropertyInfo,
+#endif
+    clearSettingsGtkTitlebarRightClick      ,
+    constructSettingsGtkTitlebarRightClick  ,
+    getSettingsGtkTitlebarRightClick        ,
+    setSettingsGtkTitlebarRightClick        ,
+#if ENABLE_OVERLOADING
+    settingsGtkTitlebarRightClick           ,
+#endif
+
+
+-- ** gtkToolbarIconSize #attr:gtkToolbarIconSize#
+{- | The size of icons in default toolbars.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkToolbarIconSizePropertyInfo  ,
+#endif
+    constructSettingsGtkToolbarIconSize     ,
+    getSettingsGtkToolbarIconSize           ,
+    setSettingsGtkToolbarIconSize           ,
+#if ENABLE_OVERLOADING
+    settingsGtkToolbarIconSize              ,
+#endif
+
+
+-- ** gtkToolbarStyle #attr:gtkToolbarStyle#
+{- | The size of icons in default toolbars.
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkToolbarStylePropertyInfo     ,
+#endif
+    constructSettingsGtkToolbarStyle        ,
+    getSettingsGtkToolbarStyle              ,
+    setSettingsGtkToolbarStyle              ,
+#if ENABLE_OVERLOADING
+    settingsGtkToolbarStyle                 ,
+#endif
+
+
+-- ** gtkTooltipBrowseModeTimeout #attr:gtkTooltipBrowseModeTimeout#
+{- | Amount of time, in milliseconds, after which the browse mode
+will be disabled.
+
+See 'GI.Gtk.Objects.Settings.Settings':@/gtk-tooltip-browse-timeout/@ for more information
+about browse mode.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTooltipBrowseModeTimeoutPropertyInfo,
+#endif
+    constructSettingsGtkTooltipBrowseModeTimeout,
+    getSettingsGtkTooltipBrowseModeTimeout  ,
+    setSettingsGtkTooltipBrowseModeTimeout  ,
+#if ENABLE_OVERLOADING
+    settingsGtkTooltipBrowseModeTimeout     ,
+#endif
+
+
+-- ** gtkTooltipBrowseTimeout #attr:gtkTooltipBrowseTimeout#
+{- | Controls the time after which tooltips will appear when
+browse mode is enabled, in milliseconds.
+
+Browse mode is enabled when the mouse pointer moves off an object
+where a tooltip was currently being displayed. If the mouse pointer
+hits another object before the browse mode timeout expires (see
+'GI.Gtk.Objects.Settings.Settings':@/gtk-tooltip-browse-mode-timeout/@), it will take the
+amount of milliseconds specified by this setting to popup the tooltip
+for the new object.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTooltipBrowseTimeoutPropertyInfo,
+#endif
+    constructSettingsGtkTooltipBrowseTimeout,
+    getSettingsGtkTooltipBrowseTimeout      ,
+    setSettingsGtkTooltipBrowseTimeout      ,
+#if ENABLE_OVERLOADING
+    settingsGtkTooltipBrowseTimeout         ,
+#endif
+
+
+-- ** gtkTooltipTimeout #attr:gtkTooltipTimeout#
+{- | Time, in milliseconds, after which a tooltip could appear if the
+cursor is hovering on top of a widget.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTooltipTimeoutPropertyInfo   ,
+#endif
+    constructSettingsGtkTooltipTimeout      ,
+    getSettingsGtkTooltipTimeout            ,
+    setSettingsGtkTooltipTimeout            ,
+#if ENABLE_OVERLOADING
+    settingsGtkTooltipTimeout               ,
+#endif
+
+
+-- ** gtkTouchscreenMode #attr:gtkTouchscreenMode#
+{- | When 'True', there are no motion notify events delivered on this screen,
+and widgets can\'t use the pointer hovering them for any essential
+functionality.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkTouchscreenModePropertyInfo  ,
+#endif
+    constructSettingsGtkTouchscreenMode     ,
+    getSettingsGtkTouchscreenMode           ,
+    setSettingsGtkTouchscreenMode           ,
+#if ENABLE_OVERLOADING
+    settingsGtkTouchscreenMode              ,
+#endif
+
+
+-- ** gtkVisibleFocus #attr:gtkVisibleFocus#
+{- | Whether \'focus rectangles\' should be always visible, never visible,
+or hidden until the user starts to use the keyboard.
+
+/Since: 3.2/
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkVisibleFocusPropertyInfo     ,
+#endif
+    constructSettingsGtkVisibleFocus        ,
+    getSettingsGtkVisibleFocus              ,
+    setSettingsGtkVisibleFocus              ,
+#if ENABLE_OVERLOADING
+    settingsGtkVisibleFocus                 ,
+#endif
+
+
+-- ** gtkXftAntialias #attr:gtkXftAntialias#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkXftAntialiasPropertyInfo     ,
+#endif
+    constructSettingsGtkXftAntialias        ,
+    getSettingsGtkXftAntialias              ,
+    setSettingsGtkXftAntialias              ,
+#if ENABLE_OVERLOADING
+    settingsGtkXftAntialias                 ,
+#endif
+
+
+-- ** gtkXftDpi #attr:gtkXftDpi#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkXftDpiPropertyInfo           ,
+#endif
+    constructSettingsGtkXftDpi              ,
+    getSettingsGtkXftDpi                    ,
+    setSettingsGtkXftDpi                    ,
+#if ENABLE_OVERLOADING
+    settingsGtkXftDpi                       ,
+#endif
+
+
+-- ** gtkXftHinting #attr:gtkXftHinting#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkXftHintingPropertyInfo       ,
+#endif
+    constructSettingsGtkXftHinting          ,
+    getSettingsGtkXftHinting                ,
+    setSettingsGtkXftHinting                ,
+#if ENABLE_OVERLOADING
+    settingsGtkXftHinting                   ,
+#endif
+
+
+-- ** gtkXftHintstyle #attr:gtkXftHintstyle#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkXftHintstylePropertyInfo     ,
+#endif
+    clearSettingsGtkXftHintstyle            ,
+    constructSettingsGtkXftHintstyle        ,
+    getSettingsGtkXftHintstyle              ,
+    setSettingsGtkXftHintstyle              ,
+#if ENABLE_OVERLOADING
+    settingsGtkXftHintstyle                 ,
+#endif
+
+
+-- ** gtkXftRgba #attr:gtkXftRgba#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SettingsGtkXftRgbaPropertyInfo          ,
+#endif
+    clearSettingsGtkXftRgba                 ,
+    constructSettingsGtkXftRgba             ,
+    getSettingsGtkXftRgba                   ,
+    setSettingsGtkXftRgba                   ,
+#if ENABLE_OVERLOADING
+    settingsGtkXftRgba                      ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.StyleProvider as Gtk.StyleProvider
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SettingsValue as Gtk.SettingsValue
+
+-- | Memory-managed wrapper type.
+newtype Settings = Settings (ManagedPtr Settings)
+foreign import ccall "gtk_settings_get_type"
+    c_gtk_settings_get_type :: IO GType
+
+instance GObject Settings where
+    gobjectType = c_gtk_settings_get_type
+    
+
+-- | Type class for types which can be safely cast to `Settings`, for instance with `toSettings`.
+class (GObject o, O.IsDescendantOf Settings o) => IsSettings o
+instance (GObject o, O.IsDescendantOf Settings o) => IsSettings o
+
+instance O.HasParentTypes Settings
+type instance O.ParentTypes Settings = '[GObject.Object.Object, Gtk.StyleProvider.StyleProvider]
+
+-- | Cast to `Settings`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSettings :: (MonadIO m, IsSettings o) => o -> m Settings
+toSettings = liftIO . unsafeCastTo Settings
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Settings`.
+noSettings :: Maybe Settings
+noSettings = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSettingsMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSettingsMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSettingsMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSettingsMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSettingsMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSettingsMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSettingsMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSettingsMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSettingsMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSettingsMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSettingsMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSettingsMethod "resetProperty" o = SettingsResetPropertyMethodInfo
+    ResolveSettingsMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSettingsMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSettingsMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSettingsMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSettingsMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSettingsMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSettingsMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSettingsMethod "getIconFactory" o = Gtk.StyleProvider.StyleProviderGetIconFactoryMethodInfo
+    ResolveSettingsMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSettingsMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSettingsMethod "getStyle" o = Gtk.StyleProvider.StyleProviderGetStyleMethodInfo
+    ResolveSettingsMethod "getStyleProperty" o = Gtk.StyleProvider.StyleProviderGetStylePropertyMethodInfo
+    ResolveSettingsMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSettingsMethod "setDoubleProperty" o = SettingsSetDoublePropertyMethodInfo
+    ResolveSettingsMethod "setLongProperty" o = SettingsSetLongPropertyMethodInfo
+    ResolveSettingsMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSettingsMethod "setPropertyValue" o = SettingsSetPropertyValueMethodInfo
+    ResolveSettingsMethod "setStringProperty" o = SettingsSetStringPropertyMethodInfo
+    ResolveSettingsMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSettingsMethod t Settings, O.MethodInfo info Settings p) => OL.IsLabel t (Settings -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- XXX Generation of property "color-hash" of object "Settings" failed: Not implemented: "Property SettingsColorHash has unsupported transfer type TransferContainer"
+#if ENABLE_OVERLOADING
+-- XXX Placeholder
+data SettingsColorHashPropertyInfo
+instance AttrInfo SettingsColorHashPropertyInfo where
+    type AttrAllowedOps SettingsColorHashPropertyInfo = '[]
+    type AttrSetTypeConstraint SettingsColorHashPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint SettingsColorHashPropertyInfo = (~) ()
+    type AttrGetType SettingsColorHashPropertyInfo = ()
+    type AttrLabel SettingsColorHashPropertyInfo = ""
+    type AttrOrigin SettingsColorHashPropertyInfo = Settings
+    attrGet = undefined
+    attrSet = undefined
+    attrConstruct = undefined
+    attrClear = undefined
+#endif
+
+-- VVV Prop "gtk-alternative-button-order"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-alternative-button-order@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkAlternativeButtonOrder
+@
+-}
+getSettingsGtkAlternativeButtonOrder :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkAlternativeButtonOrder obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-alternative-button-order"
+
+{- |
+Set the value of the “@gtk-alternative-button-order@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkAlternativeButtonOrder 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkAlternativeButtonOrder :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkAlternativeButtonOrder obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-alternative-button-order" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-alternative-button-order@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkAlternativeButtonOrder :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkAlternativeButtonOrder val = B.Properties.constructObjectPropertyBool "gtk-alternative-button-order" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkAlternativeButtonOrderPropertyInfo
+instance AttrInfo SettingsGtkAlternativeButtonOrderPropertyInfo where
+    type AttrAllowedOps SettingsGtkAlternativeButtonOrderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkAlternativeButtonOrderPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkAlternativeButtonOrderPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkAlternativeButtonOrderPropertyInfo = Bool
+    type AttrLabel SettingsGtkAlternativeButtonOrderPropertyInfo = "gtk-alternative-button-order"
+    type AttrOrigin SettingsGtkAlternativeButtonOrderPropertyInfo = Settings
+    attrGet _ = getSettingsGtkAlternativeButtonOrder
+    attrSet _ = setSettingsGtkAlternativeButtonOrder
+    attrConstruct _ = constructSettingsGtkAlternativeButtonOrder
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-alternative-sort-arrows"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-alternative-sort-arrows@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkAlternativeSortArrows
+@
+-}
+getSettingsGtkAlternativeSortArrows :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkAlternativeSortArrows obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-alternative-sort-arrows"
+
+{- |
+Set the value of the “@gtk-alternative-sort-arrows@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkAlternativeSortArrows 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkAlternativeSortArrows :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkAlternativeSortArrows obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-alternative-sort-arrows" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-alternative-sort-arrows@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkAlternativeSortArrows :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkAlternativeSortArrows val = B.Properties.constructObjectPropertyBool "gtk-alternative-sort-arrows" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkAlternativeSortArrowsPropertyInfo
+instance AttrInfo SettingsGtkAlternativeSortArrowsPropertyInfo where
+    type AttrAllowedOps SettingsGtkAlternativeSortArrowsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkAlternativeSortArrowsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkAlternativeSortArrowsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkAlternativeSortArrowsPropertyInfo = Bool
+    type AttrLabel SettingsGtkAlternativeSortArrowsPropertyInfo = "gtk-alternative-sort-arrows"
+    type AttrOrigin SettingsGtkAlternativeSortArrowsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkAlternativeSortArrows
+    attrSet _ = setSettingsGtkAlternativeSortArrows
+    attrConstruct _ = constructSettingsGtkAlternativeSortArrows
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-application-prefer-dark-theme"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-application-prefer-dark-theme@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkApplicationPreferDarkTheme
+@
+-}
+getSettingsGtkApplicationPreferDarkTheme :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkApplicationPreferDarkTheme obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-application-prefer-dark-theme"
+
+{- |
+Set the value of the “@gtk-application-prefer-dark-theme@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkApplicationPreferDarkTheme 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkApplicationPreferDarkTheme :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkApplicationPreferDarkTheme obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-application-prefer-dark-theme" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-application-prefer-dark-theme@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkApplicationPreferDarkTheme :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkApplicationPreferDarkTheme val = B.Properties.constructObjectPropertyBool "gtk-application-prefer-dark-theme" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkApplicationPreferDarkThemePropertyInfo
+instance AttrInfo SettingsGtkApplicationPreferDarkThemePropertyInfo where
+    type AttrAllowedOps SettingsGtkApplicationPreferDarkThemePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkApplicationPreferDarkThemePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkApplicationPreferDarkThemePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkApplicationPreferDarkThemePropertyInfo = Bool
+    type AttrLabel SettingsGtkApplicationPreferDarkThemePropertyInfo = "gtk-application-prefer-dark-theme"
+    type AttrOrigin SettingsGtkApplicationPreferDarkThemePropertyInfo = Settings
+    attrGet _ = getSettingsGtkApplicationPreferDarkTheme
+    attrSet _ = setSettingsGtkApplicationPreferDarkTheme
+    attrConstruct _ = constructSettingsGtkApplicationPreferDarkTheme
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-auto-mnemonics"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-auto-mnemonics@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkAutoMnemonics
+@
+-}
+getSettingsGtkAutoMnemonics :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkAutoMnemonics obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-auto-mnemonics"
+
+{- |
+Set the value of the “@gtk-auto-mnemonics@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkAutoMnemonics 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkAutoMnemonics :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkAutoMnemonics obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-auto-mnemonics" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-auto-mnemonics@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkAutoMnemonics :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkAutoMnemonics val = B.Properties.constructObjectPropertyBool "gtk-auto-mnemonics" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkAutoMnemonicsPropertyInfo
+instance AttrInfo SettingsGtkAutoMnemonicsPropertyInfo where
+    type AttrAllowedOps SettingsGtkAutoMnemonicsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkAutoMnemonicsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkAutoMnemonicsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkAutoMnemonicsPropertyInfo = Bool
+    type AttrLabel SettingsGtkAutoMnemonicsPropertyInfo = "gtk-auto-mnemonics"
+    type AttrOrigin SettingsGtkAutoMnemonicsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkAutoMnemonics
+    attrSet _ = setSettingsGtkAutoMnemonics
+    attrConstruct _ = constructSettingsGtkAutoMnemonics
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-button-images"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-button-images@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkButtonImages
+@
+-}
+getSettingsGtkButtonImages :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkButtonImages obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-button-images"
+
+{- |
+Set the value of the “@gtk-button-images@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkButtonImages 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkButtonImages :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkButtonImages obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-button-images" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-button-images@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkButtonImages :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkButtonImages val = B.Properties.constructObjectPropertyBool "gtk-button-images" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkButtonImagesPropertyInfo
+instance AttrInfo SettingsGtkButtonImagesPropertyInfo where
+    type AttrAllowedOps SettingsGtkButtonImagesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkButtonImagesPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkButtonImagesPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkButtonImagesPropertyInfo = Bool
+    type AttrLabel SettingsGtkButtonImagesPropertyInfo = "gtk-button-images"
+    type AttrOrigin SettingsGtkButtonImagesPropertyInfo = Settings
+    attrGet _ = getSettingsGtkButtonImages
+    attrSet _ = setSettingsGtkButtonImages
+    attrConstruct _ = constructSettingsGtkButtonImages
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-can-change-accels"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-can-change-accels@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkCanChangeAccels
+@
+-}
+getSettingsGtkCanChangeAccels :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkCanChangeAccels obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-can-change-accels"
+
+{- |
+Set the value of the “@gtk-can-change-accels@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkCanChangeAccels 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkCanChangeAccels :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkCanChangeAccels obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-can-change-accels" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-can-change-accels@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkCanChangeAccels :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkCanChangeAccels val = B.Properties.constructObjectPropertyBool "gtk-can-change-accels" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkCanChangeAccelsPropertyInfo
+instance AttrInfo SettingsGtkCanChangeAccelsPropertyInfo where
+    type AttrAllowedOps SettingsGtkCanChangeAccelsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkCanChangeAccelsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkCanChangeAccelsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkCanChangeAccelsPropertyInfo = Bool
+    type AttrLabel SettingsGtkCanChangeAccelsPropertyInfo = "gtk-can-change-accels"
+    type AttrOrigin SettingsGtkCanChangeAccelsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkCanChangeAccels
+    attrSet _ = setSettingsGtkCanChangeAccels
+    attrConstruct _ = constructSettingsGtkCanChangeAccels
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-color-palette"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-color-palette@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkColorPalette
+@
+-}
+getSettingsGtkColorPalette :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkColorPalette obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-color-palette"
+
+{- |
+Set the value of the “@gtk-color-palette@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkColorPalette 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkColorPalette :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkColorPalette obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-color-palette" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-color-palette@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkColorPalette :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkColorPalette val = B.Properties.constructObjectPropertyString "gtk-color-palette" (Just val)
+
+{- |
+Set the value of the “@gtk-color-palette@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkColorPalette
+@
+-}
+clearSettingsGtkColorPalette :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkColorPalette obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-color-palette" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkColorPalettePropertyInfo
+instance AttrInfo SettingsGtkColorPalettePropertyInfo where
+    type AttrAllowedOps SettingsGtkColorPalettePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkColorPalettePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkColorPalettePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkColorPalettePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkColorPalettePropertyInfo = "gtk-color-palette"
+    type AttrOrigin SettingsGtkColorPalettePropertyInfo = Settings
+    attrGet _ = getSettingsGtkColorPalette
+    attrSet _ = setSettingsGtkColorPalette
+    attrConstruct _ = constructSettingsGtkColorPalette
+    attrClear _ = clearSettingsGtkColorPalette
+#endif
+
+-- VVV Prop "gtk-color-scheme"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-color-scheme@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkColorScheme
+@
+-}
+getSettingsGtkColorScheme :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkColorScheme obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-color-scheme"
+
+{- |
+Set the value of the “@gtk-color-scheme@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkColorScheme 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkColorScheme :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkColorScheme obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-color-scheme" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-color-scheme@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkColorScheme :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkColorScheme val = B.Properties.constructObjectPropertyString "gtk-color-scheme" (Just val)
+
+{- |
+Set the value of the “@gtk-color-scheme@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkColorScheme
+@
+-}
+clearSettingsGtkColorScheme :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkColorScheme obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-color-scheme" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkColorSchemePropertyInfo
+instance AttrInfo SettingsGtkColorSchemePropertyInfo where
+    type AttrAllowedOps SettingsGtkColorSchemePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkColorSchemePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkColorSchemePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkColorSchemePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkColorSchemePropertyInfo = "gtk-color-scheme"
+    type AttrOrigin SettingsGtkColorSchemePropertyInfo = Settings
+    attrGet _ = getSettingsGtkColorScheme
+    attrSet _ = setSettingsGtkColorScheme
+    attrConstruct _ = constructSettingsGtkColorScheme
+    attrClear _ = clearSettingsGtkColorScheme
+#endif
+
+-- VVV Prop "gtk-cursor-blink"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-cursor-blink@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkCursorBlink
+@
+-}
+getSettingsGtkCursorBlink :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkCursorBlink obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-cursor-blink"
+
+{- |
+Set the value of the “@gtk-cursor-blink@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkCursorBlink 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkCursorBlink :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkCursorBlink obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-cursor-blink" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-cursor-blink@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkCursorBlink :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkCursorBlink val = B.Properties.constructObjectPropertyBool "gtk-cursor-blink" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorBlinkPropertyInfo
+instance AttrInfo SettingsGtkCursorBlinkPropertyInfo where
+    type AttrAllowedOps SettingsGtkCursorBlinkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkCursorBlinkPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkCursorBlinkPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkCursorBlinkPropertyInfo = Bool
+    type AttrLabel SettingsGtkCursorBlinkPropertyInfo = "gtk-cursor-blink"
+    type AttrOrigin SettingsGtkCursorBlinkPropertyInfo = Settings
+    attrGet _ = getSettingsGtkCursorBlink
+    attrSet _ = setSettingsGtkCursorBlink
+    attrConstruct _ = constructSettingsGtkCursorBlink
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-cursor-blink-time"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-cursor-blink-time@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkCursorBlinkTime
+@
+-}
+getSettingsGtkCursorBlinkTime :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkCursorBlinkTime obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-cursor-blink-time"
+
+{- |
+Set the value of the “@gtk-cursor-blink-time@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkCursorBlinkTime 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkCursorBlinkTime :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkCursorBlinkTime obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-cursor-blink-time" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-cursor-blink-time@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkCursorBlinkTime :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkCursorBlinkTime val = B.Properties.constructObjectPropertyInt32 "gtk-cursor-blink-time" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorBlinkTimePropertyInfo
+instance AttrInfo SettingsGtkCursorBlinkTimePropertyInfo where
+    type AttrAllowedOps SettingsGtkCursorBlinkTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkCursorBlinkTimePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkCursorBlinkTimePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkCursorBlinkTimePropertyInfo = Int32
+    type AttrLabel SettingsGtkCursorBlinkTimePropertyInfo = "gtk-cursor-blink-time"
+    type AttrOrigin SettingsGtkCursorBlinkTimePropertyInfo = Settings
+    attrGet _ = getSettingsGtkCursorBlinkTime
+    attrSet _ = setSettingsGtkCursorBlinkTime
+    attrConstruct _ = constructSettingsGtkCursorBlinkTime
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-cursor-blink-timeout"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-cursor-blink-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkCursorBlinkTimeout
+@
+-}
+getSettingsGtkCursorBlinkTimeout :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkCursorBlinkTimeout obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-cursor-blink-timeout"
+
+{- |
+Set the value of the “@gtk-cursor-blink-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkCursorBlinkTimeout 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkCursorBlinkTimeout :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkCursorBlinkTimeout obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-cursor-blink-timeout" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-cursor-blink-timeout@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkCursorBlinkTimeout :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkCursorBlinkTimeout val = B.Properties.constructObjectPropertyInt32 "gtk-cursor-blink-timeout" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorBlinkTimeoutPropertyInfo
+instance AttrInfo SettingsGtkCursorBlinkTimeoutPropertyInfo where
+    type AttrAllowedOps SettingsGtkCursorBlinkTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkCursorBlinkTimeoutPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkCursorBlinkTimeoutPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkCursorBlinkTimeoutPropertyInfo = Int32
+    type AttrLabel SettingsGtkCursorBlinkTimeoutPropertyInfo = "gtk-cursor-blink-timeout"
+    type AttrOrigin SettingsGtkCursorBlinkTimeoutPropertyInfo = Settings
+    attrGet _ = getSettingsGtkCursorBlinkTimeout
+    attrSet _ = setSettingsGtkCursorBlinkTimeout
+    attrConstruct _ = constructSettingsGtkCursorBlinkTimeout
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-cursor-theme-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-cursor-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkCursorThemeName
+@
+-}
+getSettingsGtkCursorThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkCursorThemeName obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-cursor-theme-name"
+
+{- |
+Set the value of the “@gtk-cursor-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkCursorThemeName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkCursorThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkCursorThemeName obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-cursor-theme-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-cursor-theme-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkCursorThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkCursorThemeName val = B.Properties.constructObjectPropertyString "gtk-cursor-theme-name" (Just val)
+
+{- |
+Set the value of the “@gtk-cursor-theme-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkCursorThemeName
+@
+-}
+clearSettingsGtkCursorThemeName :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkCursorThemeName obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-cursor-theme-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorThemeNamePropertyInfo
+instance AttrInfo SettingsGtkCursorThemeNamePropertyInfo where
+    type AttrAllowedOps SettingsGtkCursorThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkCursorThemeNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkCursorThemeNamePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkCursorThemeNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkCursorThemeNamePropertyInfo = "gtk-cursor-theme-name"
+    type AttrOrigin SettingsGtkCursorThemeNamePropertyInfo = Settings
+    attrGet _ = getSettingsGtkCursorThemeName
+    attrSet _ = setSettingsGtkCursorThemeName
+    attrConstruct _ = constructSettingsGtkCursorThemeName
+    attrClear _ = clearSettingsGtkCursorThemeName
+#endif
+
+-- VVV Prop "gtk-cursor-theme-size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-cursor-theme-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkCursorThemeSize
+@
+-}
+getSettingsGtkCursorThemeSize :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkCursorThemeSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-cursor-theme-size"
+
+{- |
+Set the value of the “@gtk-cursor-theme-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkCursorThemeSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkCursorThemeSize :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkCursorThemeSize obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-cursor-theme-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-cursor-theme-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkCursorThemeSize :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkCursorThemeSize val = B.Properties.constructObjectPropertyInt32 "gtk-cursor-theme-size" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorThemeSizePropertyInfo
+instance AttrInfo SettingsGtkCursorThemeSizePropertyInfo where
+    type AttrAllowedOps SettingsGtkCursorThemeSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkCursorThemeSizePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkCursorThemeSizePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkCursorThemeSizePropertyInfo = Int32
+    type AttrLabel SettingsGtkCursorThemeSizePropertyInfo = "gtk-cursor-theme-size"
+    type AttrOrigin SettingsGtkCursorThemeSizePropertyInfo = Settings
+    attrGet _ = getSettingsGtkCursorThemeSize
+    attrSet _ = setSettingsGtkCursorThemeSize
+    attrConstruct _ = constructSettingsGtkCursorThemeSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-decoration-layout"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-decoration-layout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkDecorationLayout
+@
+-}
+getSettingsGtkDecorationLayout :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkDecorationLayout obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-decoration-layout"
+
+{- |
+Set the value of the “@gtk-decoration-layout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkDecorationLayout 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkDecorationLayout :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkDecorationLayout obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-decoration-layout" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-decoration-layout@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkDecorationLayout :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkDecorationLayout val = B.Properties.constructObjectPropertyString "gtk-decoration-layout" (Just val)
+
+{- |
+Set the value of the “@gtk-decoration-layout@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkDecorationLayout
+@
+-}
+clearSettingsGtkDecorationLayout :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkDecorationLayout obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-decoration-layout" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkDecorationLayoutPropertyInfo
+instance AttrInfo SettingsGtkDecorationLayoutPropertyInfo where
+    type AttrAllowedOps SettingsGtkDecorationLayoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkDecorationLayoutPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkDecorationLayoutPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkDecorationLayoutPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkDecorationLayoutPropertyInfo = "gtk-decoration-layout"
+    type AttrOrigin SettingsGtkDecorationLayoutPropertyInfo = Settings
+    attrGet _ = getSettingsGtkDecorationLayout
+    attrSet _ = setSettingsGtkDecorationLayout
+    attrConstruct _ = constructSettingsGtkDecorationLayout
+    attrClear _ = clearSettingsGtkDecorationLayout
+#endif
+
+-- VVV Prop "gtk-dialogs-use-header"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-dialogs-use-header@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkDialogsUseHeader
+@
+-}
+getSettingsGtkDialogsUseHeader :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkDialogsUseHeader obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-dialogs-use-header"
+
+{- |
+Set the value of the “@gtk-dialogs-use-header@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkDialogsUseHeader 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkDialogsUseHeader :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkDialogsUseHeader obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-dialogs-use-header" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-dialogs-use-header@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkDialogsUseHeader :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkDialogsUseHeader val = B.Properties.constructObjectPropertyBool "gtk-dialogs-use-header" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkDialogsUseHeaderPropertyInfo
+instance AttrInfo SettingsGtkDialogsUseHeaderPropertyInfo where
+    type AttrAllowedOps SettingsGtkDialogsUseHeaderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkDialogsUseHeaderPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkDialogsUseHeaderPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkDialogsUseHeaderPropertyInfo = Bool
+    type AttrLabel SettingsGtkDialogsUseHeaderPropertyInfo = "gtk-dialogs-use-header"
+    type AttrOrigin SettingsGtkDialogsUseHeaderPropertyInfo = Settings
+    attrGet _ = getSettingsGtkDialogsUseHeader
+    attrSet _ = setSettingsGtkDialogsUseHeader
+    attrConstruct _ = constructSettingsGtkDialogsUseHeader
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-dnd-drag-threshold"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-dnd-drag-threshold@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkDndDragThreshold
+@
+-}
+getSettingsGtkDndDragThreshold :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkDndDragThreshold obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-dnd-drag-threshold"
+
+{- |
+Set the value of the “@gtk-dnd-drag-threshold@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkDndDragThreshold 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkDndDragThreshold :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkDndDragThreshold obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-dnd-drag-threshold" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-dnd-drag-threshold@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkDndDragThreshold :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkDndDragThreshold val = B.Properties.constructObjectPropertyInt32 "gtk-dnd-drag-threshold" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkDndDragThresholdPropertyInfo
+instance AttrInfo SettingsGtkDndDragThresholdPropertyInfo where
+    type AttrAllowedOps SettingsGtkDndDragThresholdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkDndDragThresholdPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkDndDragThresholdPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkDndDragThresholdPropertyInfo = Int32
+    type AttrLabel SettingsGtkDndDragThresholdPropertyInfo = "gtk-dnd-drag-threshold"
+    type AttrOrigin SettingsGtkDndDragThresholdPropertyInfo = Settings
+    attrGet _ = getSettingsGtkDndDragThreshold
+    attrSet _ = setSettingsGtkDndDragThreshold
+    attrConstruct _ = constructSettingsGtkDndDragThreshold
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-double-click-distance"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-double-click-distance@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkDoubleClickDistance
+@
+-}
+getSettingsGtkDoubleClickDistance :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkDoubleClickDistance obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-double-click-distance"
+
+{- |
+Set the value of the “@gtk-double-click-distance@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkDoubleClickDistance 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkDoubleClickDistance :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkDoubleClickDistance obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-double-click-distance" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-double-click-distance@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkDoubleClickDistance :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkDoubleClickDistance val = B.Properties.constructObjectPropertyInt32 "gtk-double-click-distance" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkDoubleClickDistancePropertyInfo
+instance AttrInfo SettingsGtkDoubleClickDistancePropertyInfo where
+    type AttrAllowedOps SettingsGtkDoubleClickDistancePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkDoubleClickDistancePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkDoubleClickDistancePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkDoubleClickDistancePropertyInfo = Int32
+    type AttrLabel SettingsGtkDoubleClickDistancePropertyInfo = "gtk-double-click-distance"
+    type AttrOrigin SettingsGtkDoubleClickDistancePropertyInfo = Settings
+    attrGet _ = getSettingsGtkDoubleClickDistance
+    attrSet _ = setSettingsGtkDoubleClickDistance
+    attrConstruct _ = constructSettingsGtkDoubleClickDistance
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-double-click-time"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-double-click-time@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkDoubleClickTime
+@
+-}
+getSettingsGtkDoubleClickTime :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkDoubleClickTime obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-double-click-time"
+
+{- |
+Set the value of the “@gtk-double-click-time@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkDoubleClickTime 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkDoubleClickTime :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkDoubleClickTime obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-double-click-time" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-double-click-time@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkDoubleClickTime :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkDoubleClickTime val = B.Properties.constructObjectPropertyInt32 "gtk-double-click-time" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkDoubleClickTimePropertyInfo
+instance AttrInfo SettingsGtkDoubleClickTimePropertyInfo where
+    type AttrAllowedOps SettingsGtkDoubleClickTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkDoubleClickTimePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkDoubleClickTimePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkDoubleClickTimePropertyInfo = Int32
+    type AttrLabel SettingsGtkDoubleClickTimePropertyInfo = "gtk-double-click-time"
+    type AttrOrigin SettingsGtkDoubleClickTimePropertyInfo = Settings
+    attrGet _ = getSettingsGtkDoubleClickTime
+    attrSet _ = setSettingsGtkDoubleClickTime
+    attrConstruct _ = constructSettingsGtkDoubleClickTime
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-enable-accels"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-enable-accels@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkEnableAccels
+@
+-}
+getSettingsGtkEnableAccels :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkEnableAccels obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-enable-accels"
+
+{- |
+Set the value of the “@gtk-enable-accels@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkEnableAccels 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkEnableAccels :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkEnableAccels obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-enable-accels" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-enable-accels@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkEnableAccels :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkEnableAccels val = B.Properties.constructObjectPropertyBool "gtk-enable-accels" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableAccelsPropertyInfo
+instance AttrInfo SettingsGtkEnableAccelsPropertyInfo where
+    type AttrAllowedOps SettingsGtkEnableAccelsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkEnableAccelsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkEnableAccelsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkEnableAccelsPropertyInfo = Bool
+    type AttrLabel SettingsGtkEnableAccelsPropertyInfo = "gtk-enable-accels"
+    type AttrOrigin SettingsGtkEnableAccelsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkEnableAccels
+    attrSet _ = setSettingsGtkEnableAccels
+    attrConstruct _ = constructSettingsGtkEnableAccels
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-enable-animations"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-enable-animations@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkEnableAnimations
+@
+-}
+getSettingsGtkEnableAnimations :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkEnableAnimations obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-enable-animations"
+
+{- |
+Set the value of the “@gtk-enable-animations@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkEnableAnimations 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkEnableAnimations :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkEnableAnimations obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-enable-animations" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-enable-animations@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkEnableAnimations :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkEnableAnimations val = B.Properties.constructObjectPropertyBool "gtk-enable-animations" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableAnimationsPropertyInfo
+instance AttrInfo SettingsGtkEnableAnimationsPropertyInfo where
+    type AttrAllowedOps SettingsGtkEnableAnimationsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkEnableAnimationsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkEnableAnimationsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkEnableAnimationsPropertyInfo = Bool
+    type AttrLabel SettingsGtkEnableAnimationsPropertyInfo = "gtk-enable-animations"
+    type AttrOrigin SettingsGtkEnableAnimationsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkEnableAnimations
+    attrSet _ = setSettingsGtkEnableAnimations
+    attrConstruct _ = constructSettingsGtkEnableAnimations
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-enable-event-sounds"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-enable-event-sounds@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkEnableEventSounds
+@
+-}
+getSettingsGtkEnableEventSounds :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkEnableEventSounds obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-enable-event-sounds"
+
+{- |
+Set the value of the “@gtk-enable-event-sounds@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkEnableEventSounds 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkEnableEventSounds :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkEnableEventSounds obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-enable-event-sounds" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-enable-event-sounds@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkEnableEventSounds :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkEnableEventSounds val = B.Properties.constructObjectPropertyBool "gtk-enable-event-sounds" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableEventSoundsPropertyInfo
+instance AttrInfo SettingsGtkEnableEventSoundsPropertyInfo where
+    type AttrAllowedOps SettingsGtkEnableEventSoundsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkEnableEventSoundsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkEnableEventSoundsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkEnableEventSoundsPropertyInfo = Bool
+    type AttrLabel SettingsGtkEnableEventSoundsPropertyInfo = "gtk-enable-event-sounds"
+    type AttrOrigin SettingsGtkEnableEventSoundsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkEnableEventSounds
+    attrSet _ = setSettingsGtkEnableEventSounds
+    attrConstruct _ = constructSettingsGtkEnableEventSounds
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-enable-input-feedback-sounds"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-enable-input-feedback-sounds@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkEnableInputFeedbackSounds
+@
+-}
+getSettingsGtkEnableInputFeedbackSounds :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkEnableInputFeedbackSounds obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-enable-input-feedback-sounds"
+
+{- |
+Set the value of the “@gtk-enable-input-feedback-sounds@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkEnableInputFeedbackSounds 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkEnableInputFeedbackSounds :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkEnableInputFeedbackSounds obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-enable-input-feedback-sounds" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-enable-input-feedback-sounds@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkEnableInputFeedbackSounds :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkEnableInputFeedbackSounds val = B.Properties.constructObjectPropertyBool "gtk-enable-input-feedback-sounds" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableInputFeedbackSoundsPropertyInfo
+instance AttrInfo SettingsGtkEnableInputFeedbackSoundsPropertyInfo where
+    type AttrAllowedOps SettingsGtkEnableInputFeedbackSoundsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkEnableInputFeedbackSoundsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkEnableInputFeedbackSoundsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkEnableInputFeedbackSoundsPropertyInfo = Bool
+    type AttrLabel SettingsGtkEnableInputFeedbackSoundsPropertyInfo = "gtk-enable-input-feedback-sounds"
+    type AttrOrigin SettingsGtkEnableInputFeedbackSoundsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkEnableInputFeedbackSounds
+    attrSet _ = setSettingsGtkEnableInputFeedbackSounds
+    attrConstruct _ = constructSettingsGtkEnableInputFeedbackSounds
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-enable-mnemonics"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-enable-mnemonics@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkEnableMnemonics
+@
+-}
+getSettingsGtkEnableMnemonics :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkEnableMnemonics obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-enable-mnemonics"
+
+{- |
+Set the value of the “@gtk-enable-mnemonics@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkEnableMnemonics 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkEnableMnemonics :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkEnableMnemonics obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-enable-mnemonics" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-enable-mnemonics@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkEnableMnemonics :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkEnableMnemonics val = B.Properties.constructObjectPropertyBool "gtk-enable-mnemonics" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableMnemonicsPropertyInfo
+instance AttrInfo SettingsGtkEnableMnemonicsPropertyInfo where
+    type AttrAllowedOps SettingsGtkEnableMnemonicsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkEnableMnemonicsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkEnableMnemonicsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkEnableMnemonicsPropertyInfo = Bool
+    type AttrLabel SettingsGtkEnableMnemonicsPropertyInfo = "gtk-enable-mnemonics"
+    type AttrOrigin SettingsGtkEnableMnemonicsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkEnableMnemonics
+    attrSet _ = setSettingsGtkEnableMnemonics
+    attrConstruct _ = constructSettingsGtkEnableMnemonics
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-enable-primary-paste"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-enable-primary-paste@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkEnablePrimaryPaste
+@
+-}
+getSettingsGtkEnablePrimaryPaste :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkEnablePrimaryPaste obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-enable-primary-paste"
+
+{- |
+Set the value of the “@gtk-enable-primary-paste@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkEnablePrimaryPaste 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkEnablePrimaryPaste :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkEnablePrimaryPaste obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-enable-primary-paste" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-enable-primary-paste@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkEnablePrimaryPaste :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkEnablePrimaryPaste val = B.Properties.constructObjectPropertyBool "gtk-enable-primary-paste" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkEnablePrimaryPastePropertyInfo
+instance AttrInfo SettingsGtkEnablePrimaryPastePropertyInfo where
+    type AttrAllowedOps SettingsGtkEnablePrimaryPastePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkEnablePrimaryPastePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkEnablePrimaryPastePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkEnablePrimaryPastePropertyInfo = Bool
+    type AttrLabel SettingsGtkEnablePrimaryPastePropertyInfo = "gtk-enable-primary-paste"
+    type AttrOrigin SettingsGtkEnablePrimaryPastePropertyInfo = Settings
+    attrGet _ = getSettingsGtkEnablePrimaryPaste
+    attrSet _ = setSettingsGtkEnablePrimaryPaste
+    attrConstruct _ = constructSettingsGtkEnablePrimaryPaste
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-enable-tooltips"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-enable-tooltips@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkEnableTooltips
+@
+-}
+getSettingsGtkEnableTooltips :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkEnableTooltips obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-enable-tooltips"
+
+{- |
+Set the value of the “@gtk-enable-tooltips@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkEnableTooltips 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkEnableTooltips :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkEnableTooltips obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-enable-tooltips" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-enable-tooltips@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkEnableTooltips :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkEnableTooltips val = B.Properties.constructObjectPropertyBool "gtk-enable-tooltips" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableTooltipsPropertyInfo
+instance AttrInfo SettingsGtkEnableTooltipsPropertyInfo where
+    type AttrAllowedOps SettingsGtkEnableTooltipsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkEnableTooltipsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkEnableTooltipsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkEnableTooltipsPropertyInfo = Bool
+    type AttrLabel SettingsGtkEnableTooltipsPropertyInfo = "gtk-enable-tooltips"
+    type AttrOrigin SettingsGtkEnableTooltipsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkEnableTooltips
+    attrSet _ = setSettingsGtkEnableTooltips
+    attrConstruct _ = constructSettingsGtkEnableTooltips
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-entry-password-hint-timeout"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-entry-password-hint-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkEntryPasswordHintTimeout
+@
+-}
+getSettingsGtkEntryPasswordHintTimeout :: (MonadIO m, IsSettings o) => o -> m Word32
+getSettingsGtkEntryPasswordHintTimeout obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "gtk-entry-password-hint-timeout"
+
+{- |
+Set the value of the “@gtk-entry-password-hint-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkEntryPasswordHintTimeout 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkEntryPasswordHintTimeout :: (MonadIO m, IsSettings o) => o -> Word32 -> m ()
+setSettingsGtkEntryPasswordHintTimeout obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "gtk-entry-password-hint-timeout" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-entry-password-hint-timeout@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkEntryPasswordHintTimeout :: (IsSettings o) => Word32 -> IO (GValueConstruct o)
+constructSettingsGtkEntryPasswordHintTimeout val = B.Properties.constructObjectPropertyUInt32 "gtk-entry-password-hint-timeout" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkEntryPasswordHintTimeoutPropertyInfo
+instance AttrInfo SettingsGtkEntryPasswordHintTimeoutPropertyInfo where
+    type AttrAllowedOps SettingsGtkEntryPasswordHintTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkEntryPasswordHintTimeoutPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint SettingsGtkEntryPasswordHintTimeoutPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkEntryPasswordHintTimeoutPropertyInfo = Word32
+    type AttrLabel SettingsGtkEntryPasswordHintTimeoutPropertyInfo = "gtk-entry-password-hint-timeout"
+    type AttrOrigin SettingsGtkEntryPasswordHintTimeoutPropertyInfo = Settings
+    attrGet _ = getSettingsGtkEntryPasswordHintTimeout
+    attrSet _ = setSettingsGtkEntryPasswordHintTimeout
+    attrConstruct _ = constructSettingsGtkEntryPasswordHintTimeout
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-entry-select-on-focus"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-entry-select-on-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkEntrySelectOnFocus
+@
+-}
+getSettingsGtkEntrySelectOnFocus :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkEntrySelectOnFocus obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-entry-select-on-focus"
+
+{- |
+Set the value of the “@gtk-entry-select-on-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkEntrySelectOnFocus 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkEntrySelectOnFocus :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkEntrySelectOnFocus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-entry-select-on-focus" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-entry-select-on-focus@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkEntrySelectOnFocus :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkEntrySelectOnFocus val = B.Properties.constructObjectPropertyBool "gtk-entry-select-on-focus" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkEntrySelectOnFocusPropertyInfo
+instance AttrInfo SettingsGtkEntrySelectOnFocusPropertyInfo where
+    type AttrAllowedOps SettingsGtkEntrySelectOnFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkEntrySelectOnFocusPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkEntrySelectOnFocusPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkEntrySelectOnFocusPropertyInfo = Bool
+    type AttrLabel SettingsGtkEntrySelectOnFocusPropertyInfo = "gtk-entry-select-on-focus"
+    type AttrOrigin SettingsGtkEntrySelectOnFocusPropertyInfo = Settings
+    attrGet _ = getSettingsGtkEntrySelectOnFocus
+    attrSet _ = setSettingsGtkEntrySelectOnFocus
+    attrConstruct _ = constructSettingsGtkEntrySelectOnFocus
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-error-bell"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-error-bell@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkErrorBell
+@
+-}
+getSettingsGtkErrorBell :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkErrorBell obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-error-bell"
+
+{- |
+Set the value of the “@gtk-error-bell@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkErrorBell 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkErrorBell :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkErrorBell obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-error-bell" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-error-bell@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkErrorBell :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkErrorBell val = B.Properties.constructObjectPropertyBool "gtk-error-bell" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkErrorBellPropertyInfo
+instance AttrInfo SettingsGtkErrorBellPropertyInfo where
+    type AttrAllowedOps SettingsGtkErrorBellPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkErrorBellPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkErrorBellPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkErrorBellPropertyInfo = Bool
+    type AttrLabel SettingsGtkErrorBellPropertyInfo = "gtk-error-bell"
+    type AttrOrigin SettingsGtkErrorBellPropertyInfo = Settings
+    attrGet _ = getSettingsGtkErrorBell
+    attrSet _ = setSettingsGtkErrorBell
+    attrConstruct _ = constructSettingsGtkErrorBell
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-fallback-icon-theme"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-fallback-icon-theme@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkFallbackIconTheme
+@
+-}
+getSettingsGtkFallbackIconTheme :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkFallbackIconTheme obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-fallback-icon-theme"
+
+{- |
+Set the value of the “@gtk-fallback-icon-theme@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkFallbackIconTheme 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkFallbackIconTheme :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkFallbackIconTheme obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-fallback-icon-theme" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-fallback-icon-theme@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkFallbackIconTheme :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkFallbackIconTheme val = B.Properties.constructObjectPropertyString "gtk-fallback-icon-theme" (Just val)
+
+{- |
+Set the value of the “@gtk-fallback-icon-theme@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkFallbackIconTheme
+@
+-}
+clearSettingsGtkFallbackIconTheme :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkFallbackIconTheme obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-fallback-icon-theme" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkFallbackIconThemePropertyInfo
+instance AttrInfo SettingsGtkFallbackIconThemePropertyInfo where
+    type AttrAllowedOps SettingsGtkFallbackIconThemePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkFallbackIconThemePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkFallbackIconThemePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkFallbackIconThemePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkFallbackIconThemePropertyInfo = "gtk-fallback-icon-theme"
+    type AttrOrigin SettingsGtkFallbackIconThemePropertyInfo = Settings
+    attrGet _ = getSettingsGtkFallbackIconTheme
+    attrSet _ = setSettingsGtkFallbackIconTheme
+    attrConstruct _ = constructSettingsGtkFallbackIconTheme
+    attrClear _ = clearSettingsGtkFallbackIconTheme
+#endif
+
+-- VVV Prop "gtk-file-chooser-backend"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-file-chooser-backend@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkFileChooserBackend
+@
+-}
+getSettingsGtkFileChooserBackend :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkFileChooserBackend obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-file-chooser-backend"
+
+{- |
+Set the value of the “@gtk-file-chooser-backend@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkFileChooserBackend 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkFileChooserBackend :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkFileChooserBackend obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-file-chooser-backend" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-file-chooser-backend@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkFileChooserBackend :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkFileChooserBackend val = B.Properties.constructObjectPropertyString "gtk-file-chooser-backend" (Just val)
+
+{- |
+Set the value of the “@gtk-file-chooser-backend@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkFileChooserBackend
+@
+-}
+clearSettingsGtkFileChooserBackend :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkFileChooserBackend obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-file-chooser-backend" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkFileChooserBackendPropertyInfo
+instance AttrInfo SettingsGtkFileChooserBackendPropertyInfo where
+    type AttrAllowedOps SettingsGtkFileChooserBackendPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkFileChooserBackendPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkFileChooserBackendPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkFileChooserBackendPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkFileChooserBackendPropertyInfo = "gtk-file-chooser-backend"
+    type AttrOrigin SettingsGtkFileChooserBackendPropertyInfo = Settings
+    attrGet _ = getSettingsGtkFileChooserBackend
+    attrSet _ = setSettingsGtkFileChooserBackend
+    attrConstruct _ = constructSettingsGtkFileChooserBackend
+    attrClear _ = clearSettingsGtkFileChooserBackend
+#endif
+
+-- VVV Prop "gtk-font-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-font-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkFontName
+@
+-}
+getSettingsGtkFontName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkFontName obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-font-name"
+
+{- |
+Set the value of the “@gtk-font-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkFontName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkFontName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkFontName obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-font-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-font-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkFontName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkFontName val = B.Properties.constructObjectPropertyString "gtk-font-name" (Just val)
+
+{- |
+Set the value of the “@gtk-font-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkFontName
+@
+-}
+clearSettingsGtkFontName :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkFontName obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-font-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkFontNamePropertyInfo
+instance AttrInfo SettingsGtkFontNamePropertyInfo where
+    type AttrAllowedOps SettingsGtkFontNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkFontNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkFontNamePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkFontNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkFontNamePropertyInfo = "gtk-font-name"
+    type AttrOrigin SettingsGtkFontNamePropertyInfo = Settings
+    attrGet _ = getSettingsGtkFontName
+    attrSet _ = setSettingsGtkFontName
+    attrConstruct _ = constructSettingsGtkFontName
+    attrClear _ = clearSettingsGtkFontName
+#endif
+
+-- VVV Prop "gtk-fontconfig-timestamp"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-fontconfig-timestamp@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkFontconfigTimestamp
+@
+-}
+getSettingsGtkFontconfigTimestamp :: (MonadIO m, IsSettings o) => o -> m Word32
+getSettingsGtkFontconfigTimestamp obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "gtk-fontconfig-timestamp"
+
+{- |
+Set the value of the “@gtk-fontconfig-timestamp@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkFontconfigTimestamp 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkFontconfigTimestamp :: (MonadIO m, IsSettings o) => o -> Word32 -> m ()
+setSettingsGtkFontconfigTimestamp obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "gtk-fontconfig-timestamp" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-fontconfig-timestamp@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkFontconfigTimestamp :: (IsSettings o) => Word32 -> IO (GValueConstruct o)
+constructSettingsGtkFontconfigTimestamp val = B.Properties.constructObjectPropertyUInt32 "gtk-fontconfig-timestamp" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkFontconfigTimestampPropertyInfo
+instance AttrInfo SettingsGtkFontconfigTimestampPropertyInfo where
+    type AttrAllowedOps SettingsGtkFontconfigTimestampPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkFontconfigTimestampPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint SettingsGtkFontconfigTimestampPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkFontconfigTimestampPropertyInfo = Word32
+    type AttrLabel SettingsGtkFontconfigTimestampPropertyInfo = "gtk-fontconfig-timestamp"
+    type AttrOrigin SettingsGtkFontconfigTimestampPropertyInfo = Settings
+    attrGet _ = getSettingsGtkFontconfigTimestamp
+    attrSet _ = setSettingsGtkFontconfigTimestamp
+    attrConstruct _ = constructSettingsGtkFontconfigTimestamp
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-icon-sizes"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-icon-sizes@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkIconSizes
+@
+-}
+getSettingsGtkIconSizes :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkIconSizes obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-icon-sizes"
+
+{- |
+Set the value of the “@gtk-icon-sizes@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkIconSizes 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkIconSizes :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkIconSizes obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-icon-sizes" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-icon-sizes@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkIconSizes :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkIconSizes val = B.Properties.constructObjectPropertyString "gtk-icon-sizes" (Just val)
+
+{- |
+Set the value of the “@gtk-icon-sizes@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkIconSizes
+@
+-}
+clearSettingsGtkIconSizes :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkIconSizes obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-icon-sizes" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkIconSizesPropertyInfo
+instance AttrInfo SettingsGtkIconSizesPropertyInfo where
+    type AttrAllowedOps SettingsGtkIconSizesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkIconSizesPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkIconSizesPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkIconSizesPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkIconSizesPropertyInfo = "gtk-icon-sizes"
+    type AttrOrigin SettingsGtkIconSizesPropertyInfo = Settings
+    attrGet _ = getSettingsGtkIconSizes
+    attrSet _ = setSettingsGtkIconSizes
+    attrConstruct _ = constructSettingsGtkIconSizes
+    attrClear _ = clearSettingsGtkIconSizes
+#endif
+
+-- VVV Prop "gtk-icon-theme-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-icon-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkIconThemeName
+@
+-}
+getSettingsGtkIconThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkIconThemeName obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-icon-theme-name"
+
+{- |
+Set the value of the “@gtk-icon-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkIconThemeName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkIconThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkIconThemeName obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-icon-theme-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-icon-theme-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkIconThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkIconThemeName val = B.Properties.constructObjectPropertyString "gtk-icon-theme-name" (Just val)
+
+{- |
+Set the value of the “@gtk-icon-theme-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkIconThemeName
+@
+-}
+clearSettingsGtkIconThemeName :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkIconThemeName obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-icon-theme-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkIconThemeNamePropertyInfo
+instance AttrInfo SettingsGtkIconThemeNamePropertyInfo where
+    type AttrAllowedOps SettingsGtkIconThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkIconThemeNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkIconThemeNamePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkIconThemeNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkIconThemeNamePropertyInfo = "gtk-icon-theme-name"
+    type AttrOrigin SettingsGtkIconThemeNamePropertyInfo = Settings
+    attrGet _ = getSettingsGtkIconThemeName
+    attrSet _ = setSettingsGtkIconThemeName
+    attrConstruct _ = constructSettingsGtkIconThemeName
+    attrClear _ = clearSettingsGtkIconThemeName
+#endif
+
+-- VVV Prop "gtk-im-module"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-im-module@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkImModule
+@
+-}
+getSettingsGtkImModule :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkImModule obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-im-module"
+
+{- |
+Set the value of the “@gtk-im-module@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkImModule 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkImModule :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkImModule obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-im-module" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-im-module@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkImModule :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkImModule val = B.Properties.constructObjectPropertyString "gtk-im-module" (Just val)
+
+{- |
+Set the value of the “@gtk-im-module@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkImModule
+@
+-}
+clearSettingsGtkImModule :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkImModule obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-im-module" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkImModulePropertyInfo
+instance AttrInfo SettingsGtkImModulePropertyInfo where
+    type AttrAllowedOps SettingsGtkImModulePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkImModulePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkImModulePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkImModulePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkImModulePropertyInfo = "gtk-im-module"
+    type AttrOrigin SettingsGtkImModulePropertyInfo = Settings
+    attrGet _ = getSettingsGtkImModule
+    attrSet _ = setSettingsGtkImModule
+    attrConstruct _ = constructSettingsGtkImModule
+    attrClear _ = clearSettingsGtkImModule
+#endif
+
+-- VVV Prop "gtk-im-preedit-style"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "IMPreeditStyle"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-im-preedit-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkImPreeditStyle
+@
+-}
+getSettingsGtkImPreeditStyle :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.IMPreeditStyle
+getSettingsGtkImPreeditStyle obj = liftIO $ B.Properties.getObjectPropertyEnum obj "gtk-im-preedit-style"
+
+{- |
+Set the value of the “@gtk-im-preedit-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkImPreeditStyle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkImPreeditStyle :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.IMPreeditStyle -> m ()
+setSettingsGtkImPreeditStyle obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "gtk-im-preedit-style" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-im-preedit-style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkImPreeditStyle :: (IsSettings o) => Gtk.Enums.IMPreeditStyle -> IO (GValueConstruct o)
+constructSettingsGtkImPreeditStyle val = B.Properties.constructObjectPropertyEnum "gtk-im-preedit-style" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkImPreeditStylePropertyInfo
+instance AttrInfo SettingsGtkImPreeditStylePropertyInfo where
+    type AttrAllowedOps SettingsGtkImPreeditStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkImPreeditStylePropertyInfo = (~) Gtk.Enums.IMPreeditStyle
+    type AttrBaseTypeConstraint SettingsGtkImPreeditStylePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkImPreeditStylePropertyInfo = Gtk.Enums.IMPreeditStyle
+    type AttrLabel SettingsGtkImPreeditStylePropertyInfo = "gtk-im-preedit-style"
+    type AttrOrigin SettingsGtkImPreeditStylePropertyInfo = Settings
+    attrGet _ = getSettingsGtkImPreeditStyle
+    attrSet _ = setSettingsGtkImPreeditStyle
+    attrConstruct _ = constructSettingsGtkImPreeditStyle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-im-status-style"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "IMStatusStyle"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-im-status-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkImStatusStyle
+@
+-}
+getSettingsGtkImStatusStyle :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.IMStatusStyle
+getSettingsGtkImStatusStyle obj = liftIO $ B.Properties.getObjectPropertyEnum obj "gtk-im-status-style"
+
+{- |
+Set the value of the “@gtk-im-status-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkImStatusStyle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkImStatusStyle :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.IMStatusStyle -> m ()
+setSettingsGtkImStatusStyle obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "gtk-im-status-style" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-im-status-style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkImStatusStyle :: (IsSettings o) => Gtk.Enums.IMStatusStyle -> IO (GValueConstruct o)
+constructSettingsGtkImStatusStyle val = B.Properties.constructObjectPropertyEnum "gtk-im-status-style" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkImStatusStylePropertyInfo
+instance AttrInfo SettingsGtkImStatusStylePropertyInfo where
+    type AttrAllowedOps SettingsGtkImStatusStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkImStatusStylePropertyInfo = (~) Gtk.Enums.IMStatusStyle
+    type AttrBaseTypeConstraint SettingsGtkImStatusStylePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkImStatusStylePropertyInfo = Gtk.Enums.IMStatusStyle
+    type AttrLabel SettingsGtkImStatusStylePropertyInfo = "gtk-im-status-style"
+    type AttrOrigin SettingsGtkImStatusStylePropertyInfo = Settings
+    attrGet _ = getSettingsGtkImStatusStyle
+    attrSet _ = setSettingsGtkImStatusStyle
+    attrConstruct _ = constructSettingsGtkImStatusStyle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-key-theme-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-key-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkKeyThemeName
+@
+-}
+getSettingsGtkKeyThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkKeyThemeName obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-key-theme-name"
+
+{- |
+Set the value of the “@gtk-key-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkKeyThemeName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkKeyThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkKeyThemeName obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-key-theme-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-key-theme-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkKeyThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkKeyThemeName val = B.Properties.constructObjectPropertyString "gtk-key-theme-name" (Just val)
+
+{- |
+Set the value of the “@gtk-key-theme-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkKeyThemeName
+@
+-}
+clearSettingsGtkKeyThemeName :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkKeyThemeName obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-key-theme-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkKeyThemeNamePropertyInfo
+instance AttrInfo SettingsGtkKeyThemeNamePropertyInfo where
+    type AttrAllowedOps SettingsGtkKeyThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkKeyThemeNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkKeyThemeNamePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkKeyThemeNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkKeyThemeNamePropertyInfo = "gtk-key-theme-name"
+    type AttrOrigin SettingsGtkKeyThemeNamePropertyInfo = Settings
+    attrGet _ = getSettingsGtkKeyThemeName
+    attrSet _ = setSettingsGtkKeyThemeName
+    attrConstruct _ = constructSettingsGtkKeyThemeName
+    attrClear _ = clearSettingsGtkKeyThemeName
+#endif
+
+-- VVV Prop "gtk-keynav-cursor-only"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-keynav-cursor-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkKeynavCursorOnly
+@
+-}
+getSettingsGtkKeynavCursorOnly :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkKeynavCursorOnly obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-keynav-cursor-only"
+
+{- |
+Set the value of the “@gtk-keynav-cursor-only@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkKeynavCursorOnly 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkKeynavCursorOnly :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkKeynavCursorOnly obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-keynav-cursor-only" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-keynav-cursor-only@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkKeynavCursorOnly :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkKeynavCursorOnly val = B.Properties.constructObjectPropertyBool "gtk-keynav-cursor-only" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkKeynavCursorOnlyPropertyInfo
+instance AttrInfo SettingsGtkKeynavCursorOnlyPropertyInfo where
+    type AttrAllowedOps SettingsGtkKeynavCursorOnlyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkKeynavCursorOnlyPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkKeynavCursorOnlyPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkKeynavCursorOnlyPropertyInfo = Bool
+    type AttrLabel SettingsGtkKeynavCursorOnlyPropertyInfo = "gtk-keynav-cursor-only"
+    type AttrOrigin SettingsGtkKeynavCursorOnlyPropertyInfo = Settings
+    attrGet _ = getSettingsGtkKeynavCursorOnly
+    attrSet _ = setSettingsGtkKeynavCursorOnly
+    attrConstruct _ = constructSettingsGtkKeynavCursorOnly
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-keynav-use-caret"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-keynav-use-caret@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkKeynavUseCaret
+@
+-}
+getSettingsGtkKeynavUseCaret :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkKeynavUseCaret obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-keynav-use-caret"
+
+{- |
+Set the value of the “@gtk-keynav-use-caret@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkKeynavUseCaret 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkKeynavUseCaret :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkKeynavUseCaret obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-keynav-use-caret" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-keynav-use-caret@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkKeynavUseCaret :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkKeynavUseCaret val = B.Properties.constructObjectPropertyBool "gtk-keynav-use-caret" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkKeynavUseCaretPropertyInfo
+instance AttrInfo SettingsGtkKeynavUseCaretPropertyInfo where
+    type AttrAllowedOps SettingsGtkKeynavUseCaretPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkKeynavUseCaretPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkKeynavUseCaretPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkKeynavUseCaretPropertyInfo = Bool
+    type AttrLabel SettingsGtkKeynavUseCaretPropertyInfo = "gtk-keynav-use-caret"
+    type AttrOrigin SettingsGtkKeynavUseCaretPropertyInfo = Settings
+    attrGet _ = getSettingsGtkKeynavUseCaret
+    attrSet _ = setSettingsGtkKeynavUseCaret
+    attrConstruct _ = constructSettingsGtkKeynavUseCaret
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-keynav-wrap-around"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-keynav-wrap-around@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkKeynavWrapAround
+@
+-}
+getSettingsGtkKeynavWrapAround :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkKeynavWrapAround obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-keynav-wrap-around"
+
+{- |
+Set the value of the “@gtk-keynav-wrap-around@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkKeynavWrapAround 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkKeynavWrapAround :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkKeynavWrapAround obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-keynav-wrap-around" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-keynav-wrap-around@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkKeynavWrapAround :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkKeynavWrapAround val = B.Properties.constructObjectPropertyBool "gtk-keynav-wrap-around" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkKeynavWrapAroundPropertyInfo
+instance AttrInfo SettingsGtkKeynavWrapAroundPropertyInfo where
+    type AttrAllowedOps SettingsGtkKeynavWrapAroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkKeynavWrapAroundPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkKeynavWrapAroundPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkKeynavWrapAroundPropertyInfo = Bool
+    type AttrLabel SettingsGtkKeynavWrapAroundPropertyInfo = "gtk-keynav-wrap-around"
+    type AttrOrigin SettingsGtkKeynavWrapAroundPropertyInfo = Settings
+    attrGet _ = getSettingsGtkKeynavWrapAround
+    attrSet _ = setSettingsGtkKeynavWrapAround
+    attrConstruct _ = constructSettingsGtkKeynavWrapAround
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-label-select-on-focus"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-label-select-on-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkLabelSelectOnFocus
+@
+-}
+getSettingsGtkLabelSelectOnFocus :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkLabelSelectOnFocus obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-label-select-on-focus"
+
+{- |
+Set the value of the “@gtk-label-select-on-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkLabelSelectOnFocus 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkLabelSelectOnFocus :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkLabelSelectOnFocus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-label-select-on-focus" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-label-select-on-focus@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkLabelSelectOnFocus :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkLabelSelectOnFocus val = B.Properties.constructObjectPropertyBool "gtk-label-select-on-focus" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkLabelSelectOnFocusPropertyInfo
+instance AttrInfo SettingsGtkLabelSelectOnFocusPropertyInfo where
+    type AttrAllowedOps SettingsGtkLabelSelectOnFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkLabelSelectOnFocusPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkLabelSelectOnFocusPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkLabelSelectOnFocusPropertyInfo = Bool
+    type AttrLabel SettingsGtkLabelSelectOnFocusPropertyInfo = "gtk-label-select-on-focus"
+    type AttrOrigin SettingsGtkLabelSelectOnFocusPropertyInfo = Settings
+    attrGet _ = getSettingsGtkLabelSelectOnFocus
+    attrSet _ = setSettingsGtkLabelSelectOnFocus
+    attrConstruct _ = constructSettingsGtkLabelSelectOnFocus
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-long-press-time"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-long-press-time@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkLongPressTime
+@
+-}
+getSettingsGtkLongPressTime :: (MonadIO m, IsSettings o) => o -> m Word32
+getSettingsGtkLongPressTime obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "gtk-long-press-time"
+
+{- |
+Set the value of the “@gtk-long-press-time@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkLongPressTime 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkLongPressTime :: (MonadIO m, IsSettings o) => o -> Word32 -> m ()
+setSettingsGtkLongPressTime obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "gtk-long-press-time" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-long-press-time@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkLongPressTime :: (IsSettings o) => Word32 -> IO (GValueConstruct o)
+constructSettingsGtkLongPressTime val = B.Properties.constructObjectPropertyUInt32 "gtk-long-press-time" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkLongPressTimePropertyInfo
+instance AttrInfo SettingsGtkLongPressTimePropertyInfo where
+    type AttrAllowedOps SettingsGtkLongPressTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkLongPressTimePropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint SettingsGtkLongPressTimePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkLongPressTimePropertyInfo = Word32
+    type AttrLabel SettingsGtkLongPressTimePropertyInfo = "gtk-long-press-time"
+    type AttrOrigin SettingsGtkLongPressTimePropertyInfo = Settings
+    attrGet _ = getSettingsGtkLongPressTime
+    attrSet _ = setSettingsGtkLongPressTime
+    attrConstruct _ = constructSettingsGtkLongPressTime
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-menu-bar-accel"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-menu-bar-accel@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkMenuBarAccel
+@
+-}
+getSettingsGtkMenuBarAccel :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkMenuBarAccel obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-menu-bar-accel"
+
+{- |
+Set the value of the “@gtk-menu-bar-accel@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkMenuBarAccel 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkMenuBarAccel :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkMenuBarAccel obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-menu-bar-accel" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-menu-bar-accel@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkMenuBarAccel :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkMenuBarAccel val = B.Properties.constructObjectPropertyString "gtk-menu-bar-accel" (Just val)
+
+{- |
+Set the value of the “@gtk-menu-bar-accel@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkMenuBarAccel
+@
+-}
+clearSettingsGtkMenuBarAccel :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkMenuBarAccel obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-menu-bar-accel" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuBarAccelPropertyInfo
+instance AttrInfo SettingsGtkMenuBarAccelPropertyInfo where
+    type AttrAllowedOps SettingsGtkMenuBarAccelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkMenuBarAccelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkMenuBarAccelPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkMenuBarAccelPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkMenuBarAccelPropertyInfo = "gtk-menu-bar-accel"
+    type AttrOrigin SettingsGtkMenuBarAccelPropertyInfo = Settings
+    attrGet _ = getSettingsGtkMenuBarAccel
+    attrSet _ = setSettingsGtkMenuBarAccel
+    attrConstruct _ = constructSettingsGtkMenuBarAccel
+    attrClear _ = clearSettingsGtkMenuBarAccel
+#endif
+
+-- VVV Prop "gtk-menu-bar-popup-delay"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-menu-bar-popup-delay@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkMenuBarPopupDelay
+@
+-}
+getSettingsGtkMenuBarPopupDelay :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkMenuBarPopupDelay obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-menu-bar-popup-delay"
+
+{- |
+Set the value of the “@gtk-menu-bar-popup-delay@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkMenuBarPopupDelay 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkMenuBarPopupDelay :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkMenuBarPopupDelay obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-menu-bar-popup-delay" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-menu-bar-popup-delay@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkMenuBarPopupDelay :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkMenuBarPopupDelay val = B.Properties.constructObjectPropertyInt32 "gtk-menu-bar-popup-delay" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuBarPopupDelayPropertyInfo
+instance AttrInfo SettingsGtkMenuBarPopupDelayPropertyInfo where
+    type AttrAllowedOps SettingsGtkMenuBarPopupDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkMenuBarPopupDelayPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkMenuBarPopupDelayPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkMenuBarPopupDelayPropertyInfo = Int32
+    type AttrLabel SettingsGtkMenuBarPopupDelayPropertyInfo = "gtk-menu-bar-popup-delay"
+    type AttrOrigin SettingsGtkMenuBarPopupDelayPropertyInfo = Settings
+    attrGet _ = getSettingsGtkMenuBarPopupDelay
+    attrSet _ = setSettingsGtkMenuBarPopupDelay
+    attrConstruct _ = constructSettingsGtkMenuBarPopupDelay
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-menu-images"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-menu-images@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkMenuImages
+@
+-}
+getSettingsGtkMenuImages :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkMenuImages obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-menu-images"
+
+{- |
+Set the value of the “@gtk-menu-images@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkMenuImages 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkMenuImages :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkMenuImages obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-menu-images" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-menu-images@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkMenuImages :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkMenuImages val = B.Properties.constructObjectPropertyBool "gtk-menu-images" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuImagesPropertyInfo
+instance AttrInfo SettingsGtkMenuImagesPropertyInfo where
+    type AttrAllowedOps SettingsGtkMenuImagesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkMenuImagesPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkMenuImagesPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkMenuImagesPropertyInfo = Bool
+    type AttrLabel SettingsGtkMenuImagesPropertyInfo = "gtk-menu-images"
+    type AttrOrigin SettingsGtkMenuImagesPropertyInfo = Settings
+    attrGet _ = getSettingsGtkMenuImages
+    attrSet _ = setSettingsGtkMenuImages
+    attrConstruct _ = constructSettingsGtkMenuImages
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-menu-popdown-delay"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-menu-popdown-delay@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkMenuPopdownDelay
+@
+-}
+getSettingsGtkMenuPopdownDelay :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkMenuPopdownDelay obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-menu-popdown-delay"
+
+{- |
+Set the value of the “@gtk-menu-popdown-delay@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkMenuPopdownDelay 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkMenuPopdownDelay :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkMenuPopdownDelay obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-menu-popdown-delay" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-menu-popdown-delay@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkMenuPopdownDelay :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkMenuPopdownDelay val = B.Properties.constructObjectPropertyInt32 "gtk-menu-popdown-delay" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuPopdownDelayPropertyInfo
+instance AttrInfo SettingsGtkMenuPopdownDelayPropertyInfo where
+    type AttrAllowedOps SettingsGtkMenuPopdownDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkMenuPopdownDelayPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkMenuPopdownDelayPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkMenuPopdownDelayPropertyInfo = Int32
+    type AttrLabel SettingsGtkMenuPopdownDelayPropertyInfo = "gtk-menu-popdown-delay"
+    type AttrOrigin SettingsGtkMenuPopdownDelayPropertyInfo = Settings
+    attrGet _ = getSettingsGtkMenuPopdownDelay
+    attrSet _ = setSettingsGtkMenuPopdownDelay
+    attrConstruct _ = constructSettingsGtkMenuPopdownDelay
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-menu-popup-delay"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-menu-popup-delay@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkMenuPopupDelay
+@
+-}
+getSettingsGtkMenuPopupDelay :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkMenuPopupDelay obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-menu-popup-delay"
+
+{- |
+Set the value of the “@gtk-menu-popup-delay@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkMenuPopupDelay 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkMenuPopupDelay :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkMenuPopupDelay obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-menu-popup-delay" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-menu-popup-delay@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkMenuPopupDelay :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkMenuPopupDelay val = B.Properties.constructObjectPropertyInt32 "gtk-menu-popup-delay" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuPopupDelayPropertyInfo
+instance AttrInfo SettingsGtkMenuPopupDelayPropertyInfo where
+    type AttrAllowedOps SettingsGtkMenuPopupDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkMenuPopupDelayPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkMenuPopupDelayPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkMenuPopupDelayPropertyInfo = Int32
+    type AttrLabel SettingsGtkMenuPopupDelayPropertyInfo = "gtk-menu-popup-delay"
+    type AttrOrigin SettingsGtkMenuPopupDelayPropertyInfo = Settings
+    attrGet _ = getSettingsGtkMenuPopupDelay
+    attrSet _ = setSettingsGtkMenuPopupDelay
+    attrConstruct _ = constructSettingsGtkMenuPopupDelay
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-modules"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-modules@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkModules
+@
+-}
+getSettingsGtkModules :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkModules obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-modules"
+
+{- |
+Set the value of the “@gtk-modules@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkModules 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkModules :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkModules obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-modules" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-modules@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkModules :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkModules val = B.Properties.constructObjectPropertyString "gtk-modules" (Just val)
+
+{- |
+Set the value of the “@gtk-modules@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkModules
+@
+-}
+clearSettingsGtkModules :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkModules obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-modules" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkModulesPropertyInfo
+instance AttrInfo SettingsGtkModulesPropertyInfo where
+    type AttrAllowedOps SettingsGtkModulesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkModulesPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkModulesPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkModulesPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkModulesPropertyInfo = "gtk-modules"
+    type AttrOrigin SettingsGtkModulesPropertyInfo = Settings
+    attrGet _ = getSettingsGtkModules
+    attrSet _ = setSettingsGtkModules
+    attrConstruct _ = constructSettingsGtkModules
+    attrClear _ = clearSettingsGtkModules
+#endif
+
+-- VVV Prop "gtk-primary-button-warps-slider"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-primary-button-warps-slider@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkPrimaryButtonWarpsSlider
+@
+-}
+getSettingsGtkPrimaryButtonWarpsSlider :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkPrimaryButtonWarpsSlider obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-primary-button-warps-slider"
+
+{- |
+Set the value of the “@gtk-primary-button-warps-slider@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkPrimaryButtonWarpsSlider 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkPrimaryButtonWarpsSlider :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkPrimaryButtonWarpsSlider obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-primary-button-warps-slider" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-primary-button-warps-slider@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkPrimaryButtonWarpsSlider :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkPrimaryButtonWarpsSlider val = B.Properties.constructObjectPropertyBool "gtk-primary-button-warps-slider" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkPrimaryButtonWarpsSliderPropertyInfo
+instance AttrInfo SettingsGtkPrimaryButtonWarpsSliderPropertyInfo where
+    type AttrAllowedOps SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = Bool
+    type AttrLabel SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = "gtk-primary-button-warps-slider"
+    type AttrOrigin SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = Settings
+    attrGet _ = getSettingsGtkPrimaryButtonWarpsSlider
+    attrSet _ = setSettingsGtkPrimaryButtonWarpsSlider
+    attrConstruct _ = constructSettingsGtkPrimaryButtonWarpsSlider
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-print-backends"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-print-backends@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkPrintBackends
+@
+-}
+getSettingsGtkPrintBackends :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkPrintBackends obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-print-backends"
+
+{- |
+Set the value of the “@gtk-print-backends@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkPrintBackends 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkPrintBackends :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkPrintBackends obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-print-backends" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-print-backends@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkPrintBackends :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkPrintBackends val = B.Properties.constructObjectPropertyString "gtk-print-backends" (Just val)
+
+{- |
+Set the value of the “@gtk-print-backends@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkPrintBackends
+@
+-}
+clearSettingsGtkPrintBackends :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkPrintBackends obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-print-backends" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkPrintBackendsPropertyInfo
+instance AttrInfo SettingsGtkPrintBackendsPropertyInfo where
+    type AttrAllowedOps SettingsGtkPrintBackendsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkPrintBackendsPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkPrintBackendsPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkPrintBackendsPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkPrintBackendsPropertyInfo = "gtk-print-backends"
+    type AttrOrigin SettingsGtkPrintBackendsPropertyInfo = Settings
+    attrGet _ = getSettingsGtkPrintBackends
+    attrSet _ = setSettingsGtkPrintBackends
+    attrConstruct _ = constructSettingsGtkPrintBackends
+    attrClear _ = clearSettingsGtkPrintBackends
+#endif
+
+-- VVV Prop "gtk-print-preview-command"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-print-preview-command@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkPrintPreviewCommand
+@
+-}
+getSettingsGtkPrintPreviewCommand :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkPrintPreviewCommand obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-print-preview-command"
+
+{- |
+Set the value of the “@gtk-print-preview-command@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkPrintPreviewCommand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkPrintPreviewCommand :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkPrintPreviewCommand obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-print-preview-command" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-print-preview-command@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkPrintPreviewCommand :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkPrintPreviewCommand val = B.Properties.constructObjectPropertyString "gtk-print-preview-command" (Just val)
+
+{- |
+Set the value of the “@gtk-print-preview-command@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkPrintPreviewCommand
+@
+-}
+clearSettingsGtkPrintPreviewCommand :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkPrintPreviewCommand obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-print-preview-command" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkPrintPreviewCommandPropertyInfo
+instance AttrInfo SettingsGtkPrintPreviewCommandPropertyInfo where
+    type AttrAllowedOps SettingsGtkPrintPreviewCommandPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkPrintPreviewCommandPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkPrintPreviewCommandPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkPrintPreviewCommandPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkPrintPreviewCommandPropertyInfo = "gtk-print-preview-command"
+    type AttrOrigin SettingsGtkPrintPreviewCommandPropertyInfo = Settings
+    attrGet _ = getSettingsGtkPrintPreviewCommand
+    attrSet _ = setSettingsGtkPrintPreviewCommand
+    attrConstruct _ = constructSettingsGtkPrintPreviewCommand
+    attrClear _ = clearSettingsGtkPrintPreviewCommand
+#endif
+
+-- VVV Prop "gtk-recent-files-enabled"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-recent-files-enabled@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkRecentFilesEnabled
+@
+-}
+getSettingsGtkRecentFilesEnabled :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkRecentFilesEnabled obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-recent-files-enabled"
+
+{- |
+Set the value of the “@gtk-recent-files-enabled@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkRecentFilesEnabled 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkRecentFilesEnabled :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkRecentFilesEnabled obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-recent-files-enabled" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-recent-files-enabled@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkRecentFilesEnabled :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkRecentFilesEnabled val = B.Properties.constructObjectPropertyBool "gtk-recent-files-enabled" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkRecentFilesEnabledPropertyInfo
+instance AttrInfo SettingsGtkRecentFilesEnabledPropertyInfo where
+    type AttrAllowedOps SettingsGtkRecentFilesEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkRecentFilesEnabledPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkRecentFilesEnabledPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkRecentFilesEnabledPropertyInfo = Bool
+    type AttrLabel SettingsGtkRecentFilesEnabledPropertyInfo = "gtk-recent-files-enabled"
+    type AttrOrigin SettingsGtkRecentFilesEnabledPropertyInfo = Settings
+    attrGet _ = getSettingsGtkRecentFilesEnabled
+    attrSet _ = setSettingsGtkRecentFilesEnabled
+    attrConstruct _ = constructSettingsGtkRecentFilesEnabled
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-recent-files-limit"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-recent-files-limit@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkRecentFilesLimit
+@
+-}
+getSettingsGtkRecentFilesLimit :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkRecentFilesLimit obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-recent-files-limit"
+
+{- |
+Set the value of the “@gtk-recent-files-limit@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkRecentFilesLimit 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkRecentFilesLimit :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkRecentFilesLimit obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-recent-files-limit" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-recent-files-limit@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkRecentFilesLimit :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkRecentFilesLimit val = B.Properties.constructObjectPropertyInt32 "gtk-recent-files-limit" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkRecentFilesLimitPropertyInfo
+instance AttrInfo SettingsGtkRecentFilesLimitPropertyInfo where
+    type AttrAllowedOps SettingsGtkRecentFilesLimitPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkRecentFilesLimitPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkRecentFilesLimitPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkRecentFilesLimitPropertyInfo = Int32
+    type AttrLabel SettingsGtkRecentFilesLimitPropertyInfo = "gtk-recent-files-limit"
+    type AttrOrigin SettingsGtkRecentFilesLimitPropertyInfo = Settings
+    attrGet _ = getSettingsGtkRecentFilesLimit
+    attrSet _ = setSettingsGtkRecentFilesLimit
+    attrConstruct _ = constructSettingsGtkRecentFilesLimit
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-recent-files-max-age"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-recent-files-max-age@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkRecentFilesMaxAge
+@
+-}
+getSettingsGtkRecentFilesMaxAge :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkRecentFilesMaxAge obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-recent-files-max-age"
+
+{- |
+Set the value of the “@gtk-recent-files-max-age@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkRecentFilesMaxAge 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkRecentFilesMaxAge :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkRecentFilesMaxAge obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-recent-files-max-age" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-recent-files-max-age@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkRecentFilesMaxAge :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkRecentFilesMaxAge val = B.Properties.constructObjectPropertyInt32 "gtk-recent-files-max-age" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkRecentFilesMaxAgePropertyInfo
+instance AttrInfo SettingsGtkRecentFilesMaxAgePropertyInfo where
+    type AttrAllowedOps SettingsGtkRecentFilesMaxAgePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkRecentFilesMaxAgePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkRecentFilesMaxAgePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkRecentFilesMaxAgePropertyInfo = Int32
+    type AttrLabel SettingsGtkRecentFilesMaxAgePropertyInfo = "gtk-recent-files-max-age"
+    type AttrOrigin SettingsGtkRecentFilesMaxAgePropertyInfo = Settings
+    attrGet _ = getSettingsGtkRecentFilesMaxAge
+    attrSet _ = setSettingsGtkRecentFilesMaxAge
+    attrConstruct _ = constructSettingsGtkRecentFilesMaxAge
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-scrolled-window-placement"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CornerType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-scrolled-window-placement@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkScrolledWindowPlacement
+@
+-}
+getSettingsGtkScrolledWindowPlacement :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.CornerType
+getSettingsGtkScrolledWindowPlacement obj = liftIO $ B.Properties.getObjectPropertyEnum obj "gtk-scrolled-window-placement"
+
+{- |
+Set the value of the “@gtk-scrolled-window-placement@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkScrolledWindowPlacement 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkScrolledWindowPlacement :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.CornerType -> m ()
+setSettingsGtkScrolledWindowPlacement obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "gtk-scrolled-window-placement" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-scrolled-window-placement@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkScrolledWindowPlacement :: (IsSettings o) => Gtk.Enums.CornerType -> IO (GValueConstruct o)
+constructSettingsGtkScrolledWindowPlacement val = B.Properties.constructObjectPropertyEnum "gtk-scrolled-window-placement" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkScrolledWindowPlacementPropertyInfo
+instance AttrInfo SettingsGtkScrolledWindowPlacementPropertyInfo where
+    type AttrAllowedOps SettingsGtkScrolledWindowPlacementPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkScrolledWindowPlacementPropertyInfo = (~) Gtk.Enums.CornerType
+    type AttrBaseTypeConstraint SettingsGtkScrolledWindowPlacementPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkScrolledWindowPlacementPropertyInfo = Gtk.Enums.CornerType
+    type AttrLabel SettingsGtkScrolledWindowPlacementPropertyInfo = "gtk-scrolled-window-placement"
+    type AttrOrigin SettingsGtkScrolledWindowPlacementPropertyInfo = Settings
+    attrGet _ = getSettingsGtkScrolledWindowPlacement
+    attrSet _ = setSettingsGtkScrolledWindowPlacement
+    attrConstruct _ = constructSettingsGtkScrolledWindowPlacement
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-shell-shows-app-menu"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-shell-shows-app-menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkShellShowsAppMenu
+@
+-}
+getSettingsGtkShellShowsAppMenu :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkShellShowsAppMenu obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-shell-shows-app-menu"
+
+{- |
+Set the value of the “@gtk-shell-shows-app-menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkShellShowsAppMenu 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkShellShowsAppMenu :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkShellShowsAppMenu obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-shell-shows-app-menu" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-shell-shows-app-menu@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkShellShowsAppMenu :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkShellShowsAppMenu val = B.Properties.constructObjectPropertyBool "gtk-shell-shows-app-menu" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkShellShowsAppMenuPropertyInfo
+instance AttrInfo SettingsGtkShellShowsAppMenuPropertyInfo where
+    type AttrAllowedOps SettingsGtkShellShowsAppMenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkShellShowsAppMenuPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkShellShowsAppMenuPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkShellShowsAppMenuPropertyInfo = Bool
+    type AttrLabel SettingsGtkShellShowsAppMenuPropertyInfo = "gtk-shell-shows-app-menu"
+    type AttrOrigin SettingsGtkShellShowsAppMenuPropertyInfo = Settings
+    attrGet _ = getSettingsGtkShellShowsAppMenu
+    attrSet _ = setSettingsGtkShellShowsAppMenu
+    attrConstruct _ = constructSettingsGtkShellShowsAppMenu
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-shell-shows-desktop"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-shell-shows-desktop@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkShellShowsDesktop
+@
+-}
+getSettingsGtkShellShowsDesktop :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkShellShowsDesktop obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-shell-shows-desktop"
+
+{- |
+Set the value of the “@gtk-shell-shows-desktop@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkShellShowsDesktop 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkShellShowsDesktop :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkShellShowsDesktop obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-shell-shows-desktop" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-shell-shows-desktop@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkShellShowsDesktop :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkShellShowsDesktop val = B.Properties.constructObjectPropertyBool "gtk-shell-shows-desktop" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkShellShowsDesktopPropertyInfo
+instance AttrInfo SettingsGtkShellShowsDesktopPropertyInfo where
+    type AttrAllowedOps SettingsGtkShellShowsDesktopPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkShellShowsDesktopPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkShellShowsDesktopPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkShellShowsDesktopPropertyInfo = Bool
+    type AttrLabel SettingsGtkShellShowsDesktopPropertyInfo = "gtk-shell-shows-desktop"
+    type AttrOrigin SettingsGtkShellShowsDesktopPropertyInfo = Settings
+    attrGet _ = getSettingsGtkShellShowsDesktop
+    attrSet _ = setSettingsGtkShellShowsDesktop
+    attrConstruct _ = constructSettingsGtkShellShowsDesktop
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-shell-shows-menubar"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-shell-shows-menubar@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkShellShowsMenubar
+@
+-}
+getSettingsGtkShellShowsMenubar :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkShellShowsMenubar obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-shell-shows-menubar"
+
+{- |
+Set the value of the “@gtk-shell-shows-menubar@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkShellShowsMenubar 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkShellShowsMenubar :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkShellShowsMenubar obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-shell-shows-menubar" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-shell-shows-menubar@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkShellShowsMenubar :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkShellShowsMenubar val = B.Properties.constructObjectPropertyBool "gtk-shell-shows-menubar" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkShellShowsMenubarPropertyInfo
+instance AttrInfo SettingsGtkShellShowsMenubarPropertyInfo where
+    type AttrAllowedOps SettingsGtkShellShowsMenubarPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkShellShowsMenubarPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkShellShowsMenubarPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkShellShowsMenubarPropertyInfo = Bool
+    type AttrLabel SettingsGtkShellShowsMenubarPropertyInfo = "gtk-shell-shows-menubar"
+    type AttrOrigin SettingsGtkShellShowsMenubarPropertyInfo = Settings
+    attrGet _ = getSettingsGtkShellShowsMenubar
+    attrSet _ = setSettingsGtkShellShowsMenubar
+    attrConstruct _ = constructSettingsGtkShellShowsMenubar
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-show-input-method-menu"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-show-input-method-menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkShowInputMethodMenu
+@
+-}
+getSettingsGtkShowInputMethodMenu :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkShowInputMethodMenu obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-show-input-method-menu"
+
+{- |
+Set the value of the “@gtk-show-input-method-menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkShowInputMethodMenu 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkShowInputMethodMenu :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkShowInputMethodMenu obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-show-input-method-menu" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-show-input-method-menu@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkShowInputMethodMenu :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkShowInputMethodMenu val = B.Properties.constructObjectPropertyBool "gtk-show-input-method-menu" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkShowInputMethodMenuPropertyInfo
+instance AttrInfo SettingsGtkShowInputMethodMenuPropertyInfo where
+    type AttrAllowedOps SettingsGtkShowInputMethodMenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkShowInputMethodMenuPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkShowInputMethodMenuPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkShowInputMethodMenuPropertyInfo = Bool
+    type AttrLabel SettingsGtkShowInputMethodMenuPropertyInfo = "gtk-show-input-method-menu"
+    type AttrOrigin SettingsGtkShowInputMethodMenuPropertyInfo = Settings
+    attrGet _ = getSettingsGtkShowInputMethodMenu
+    attrSet _ = setSettingsGtkShowInputMethodMenu
+    attrConstruct _ = constructSettingsGtkShowInputMethodMenu
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-show-unicode-menu"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-show-unicode-menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkShowUnicodeMenu
+@
+-}
+getSettingsGtkShowUnicodeMenu :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkShowUnicodeMenu obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-show-unicode-menu"
+
+{- |
+Set the value of the “@gtk-show-unicode-menu@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkShowUnicodeMenu 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkShowUnicodeMenu :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkShowUnicodeMenu obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-show-unicode-menu" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-show-unicode-menu@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkShowUnicodeMenu :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkShowUnicodeMenu val = B.Properties.constructObjectPropertyBool "gtk-show-unicode-menu" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkShowUnicodeMenuPropertyInfo
+instance AttrInfo SettingsGtkShowUnicodeMenuPropertyInfo where
+    type AttrAllowedOps SettingsGtkShowUnicodeMenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkShowUnicodeMenuPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkShowUnicodeMenuPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkShowUnicodeMenuPropertyInfo = Bool
+    type AttrLabel SettingsGtkShowUnicodeMenuPropertyInfo = "gtk-show-unicode-menu"
+    type AttrOrigin SettingsGtkShowUnicodeMenuPropertyInfo = Settings
+    attrGet _ = getSettingsGtkShowUnicodeMenu
+    attrSet _ = setSettingsGtkShowUnicodeMenu
+    attrConstruct _ = constructSettingsGtkShowUnicodeMenu
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-sound-theme-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-sound-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkSoundThemeName
+@
+-}
+getSettingsGtkSoundThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkSoundThemeName obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-sound-theme-name"
+
+{- |
+Set the value of the “@gtk-sound-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkSoundThemeName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkSoundThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkSoundThemeName obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-sound-theme-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-sound-theme-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkSoundThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkSoundThemeName val = B.Properties.constructObjectPropertyString "gtk-sound-theme-name" (Just val)
+
+{- |
+Set the value of the “@gtk-sound-theme-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkSoundThemeName
+@
+-}
+clearSettingsGtkSoundThemeName :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkSoundThemeName obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-sound-theme-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkSoundThemeNamePropertyInfo
+instance AttrInfo SettingsGtkSoundThemeNamePropertyInfo where
+    type AttrAllowedOps SettingsGtkSoundThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkSoundThemeNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkSoundThemeNamePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkSoundThemeNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkSoundThemeNamePropertyInfo = "gtk-sound-theme-name"
+    type AttrOrigin SettingsGtkSoundThemeNamePropertyInfo = Settings
+    attrGet _ = getSettingsGtkSoundThemeName
+    attrSet _ = setSettingsGtkSoundThemeName
+    attrConstruct _ = constructSettingsGtkSoundThemeName
+    attrClear _ = clearSettingsGtkSoundThemeName
+#endif
+
+-- VVV Prop "gtk-split-cursor"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-split-cursor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkSplitCursor
+@
+-}
+getSettingsGtkSplitCursor :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkSplitCursor obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-split-cursor"
+
+{- |
+Set the value of the “@gtk-split-cursor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkSplitCursor 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkSplitCursor :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkSplitCursor obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-split-cursor" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-split-cursor@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkSplitCursor :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkSplitCursor val = B.Properties.constructObjectPropertyBool "gtk-split-cursor" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkSplitCursorPropertyInfo
+instance AttrInfo SettingsGtkSplitCursorPropertyInfo where
+    type AttrAllowedOps SettingsGtkSplitCursorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkSplitCursorPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkSplitCursorPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkSplitCursorPropertyInfo = Bool
+    type AttrLabel SettingsGtkSplitCursorPropertyInfo = "gtk-split-cursor"
+    type AttrOrigin SettingsGtkSplitCursorPropertyInfo = Settings
+    attrGet _ = getSettingsGtkSplitCursor
+    attrSet _ = setSettingsGtkSplitCursor
+    attrConstruct _ = constructSettingsGtkSplitCursor
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-theme-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkThemeName
+@
+-}
+getSettingsGtkThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkThemeName obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-theme-name"
+
+{- |
+Set the value of the “@gtk-theme-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkThemeName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkThemeName obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-theme-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-theme-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkThemeName val = B.Properties.constructObjectPropertyString "gtk-theme-name" (Just val)
+
+{- |
+Set the value of the “@gtk-theme-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkThemeName
+@
+-}
+clearSettingsGtkThemeName :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkThemeName obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-theme-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkThemeNamePropertyInfo
+instance AttrInfo SettingsGtkThemeNamePropertyInfo where
+    type AttrAllowedOps SettingsGtkThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkThemeNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkThemeNamePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkThemeNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkThemeNamePropertyInfo = "gtk-theme-name"
+    type AttrOrigin SettingsGtkThemeNamePropertyInfo = Settings
+    attrGet _ = getSettingsGtkThemeName
+    attrSet _ = setSettingsGtkThemeName
+    attrConstruct _ = constructSettingsGtkThemeName
+    attrClear _ = clearSettingsGtkThemeName
+#endif
+
+-- VVV Prop "gtk-timeout-expand"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-timeout-expand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTimeoutExpand
+@
+-}
+getSettingsGtkTimeoutExpand :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkTimeoutExpand obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-timeout-expand"
+
+{- |
+Set the value of the “@gtk-timeout-expand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTimeoutExpand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTimeoutExpand :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkTimeoutExpand obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-timeout-expand" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-timeout-expand@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTimeoutExpand :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkTimeoutExpand val = B.Properties.constructObjectPropertyInt32 "gtk-timeout-expand" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTimeoutExpandPropertyInfo
+instance AttrInfo SettingsGtkTimeoutExpandPropertyInfo where
+    type AttrAllowedOps SettingsGtkTimeoutExpandPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkTimeoutExpandPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkTimeoutExpandPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTimeoutExpandPropertyInfo = Int32
+    type AttrLabel SettingsGtkTimeoutExpandPropertyInfo = "gtk-timeout-expand"
+    type AttrOrigin SettingsGtkTimeoutExpandPropertyInfo = Settings
+    attrGet _ = getSettingsGtkTimeoutExpand
+    attrSet _ = setSettingsGtkTimeoutExpand
+    attrConstruct _ = constructSettingsGtkTimeoutExpand
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-timeout-initial"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-timeout-initial@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTimeoutInitial
+@
+-}
+getSettingsGtkTimeoutInitial :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkTimeoutInitial obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-timeout-initial"
+
+{- |
+Set the value of the “@gtk-timeout-initial@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTimeoutInitial 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTimeoutInitial :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkTimeoutInitial obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-timeout-initial" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-timeout-initial@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTimeoutInitial :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkTimeoutInitial val = B.Properties.constructObjectPropertyInt32 "gtk-timeout-initial" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTimeoutInitialPropertyInfo
+instance AttrInfo SettingsGtkTimeoutInitialPropertyInfo where
+    type AttrAllowedOps SettingsGtkTimeoutInitialPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkTimeoutInitialPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkTimeoutInitialPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTimeoutInitialPropertyInfo = Int32
+    type AttrLabel SettingsGtkTimeoutInitialPropertyInfo = "gtk-timeout-initial"
+    type AttrOrigin SettingsGtkTimeoutInitialPropertyInfo = Settings
+    attrGet _ = getSettingsGtkTimeoutInitial
+    attrSet _ = setSettingsGtkTimeoutInitial
+    attrConstruct _ = constructSettingsGtkTimeoutInitial
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-timeout-repeat"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-timeout-repeat@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTimeoutRepeat
+@
+-}
+getSettingsGtkTimeoutRepeat :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkTimeoutRepeat obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-timeout-repeat"
+
+{- |
+Set the value of the “@gtk-timeout-repeat@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTimeoutRepeat 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTimeoutRepeat :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkTimeoutRepeat obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-timeout-repeat" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-timeout-repeat@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTimeoutRepeat :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkTimeoutRepeat val = B.Properties.constructObjectPropertyInt32 "gtk-timeout-repeat" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTimeoutRepeatPropertyInfo
+instance AttrInfo SettingsGtkTimeoutRepeatPropertyInfo where
+    type AttrAllowedOps SettingsGtkTimeoutRepeatPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkTimeoutRepeatPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkTimeoutRepeatPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTimeoutRepeatPropertyInfo = Int32
+    type AttrLabel SettingsGtkTimeoutRepeatPropertyInfo = "gtk-timeout-repeat"
+    type AttrOrigin SettingsGtkTimeoutRepeatPropertyInfo = Settings
+    attrGet _ = getSettingsGtkTimeoutRepeat
+    attrSet _ = setSettingsGtkTimeoutRepeat
+    attrConstruct _ = constructSettingsGtkTimeoutRepeat
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-titlebar-double-click"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-titlebar-double-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTitlebarDoubleClick
+@
+-}
+getSettingsGtkTitlebarDoubleClick :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkTitlebarDoubleClick obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-titlebar-double-click"
+
+{- |
+Set the value of the “@gtk-titlebar-double-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTitlebarDoubleClick 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTitlebarDoubleClick :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkTitlebarDoubleClick obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-titlebar-double-click" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-titlebar-double-click@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTitlebarDoubleClick :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkTitlebarDoubleClick val = B.Properties.constructObjectPropertyString "gtk-titlebar-double-click" (Just val)
+
+{- |
+Set the value of the “@gtk-titlebar-double-click@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkTitlebarDoubleClick
+@
+-}
+clearSettingsGtkTitlebarDoubleClick :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkTitlebarDoubleClick obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-titlebar-double-click" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTitlebarDoubleClickPropertyInfo
+instance AttrInfo SettingsGtkTitlebarDoubleClickPropertyInfo where
+    type AttrAllowedOps SettingsGtkTitlebarDoubleClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkTitlebarDoubleClickPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkTitlebarDoubleClickPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTitlebarDoubleClickPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkTitlebarDoubleClickPropertyInfo = "gtk-titlebar-double-click"
+    type AttrOrigin SettingsGtkTitlebarDoubleClickPropertyInfo = Settings
+    attrGet _ = getSettingsGtkTitlebarDoubleClick
+    attrSet _ = setSettingsGtkTitlebarDoubleClick
+    attrConstruct _ = constructSettingsGtkTitlebarDoubleClick
+    attrClear _ = clearSettingsGtkTitlebarDoubleClick
+#endif
+
+-- VVV Prop "gtk-titlebar-middle-click"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-titlebar-middle-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTitlebarMiddleClick
+@
+-}
+getSettingsGtkTitlebarMiddleClick :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkTitlebarMiddleClick obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-titlebar-middle-click"
+
+{- |
+Set the value of the “@gtk-titlebar-middle-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTitlebarMiddleClick 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTitlebarMiddleClick :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkTitlebarMiddleClick obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-titlebar-middle-click" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-titlebar-middle-click@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTitlebarMiddleClick :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkTitlebarMiddleClick val = B.Properties.constructObjectPropertyString "gtk-titlebar-middle-click" (Just val)
+
+{- |
+Set the value of the “@gtk-titlebar-middle-click@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkTitlebarMiddleClick
+@
+-}
+clearSettingsGtkTitlebarMiddleClick :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkTitlebarMiddleClick obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-titlebar-middle-click" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTitlebarMiddleClickPropertyInfo
+instance AttrInfo SettingsGtkTitlebarMiddleClickPropertyInfo where
+    type AttrAllowedOps SettingsGtkTitlebarMiddleClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkTitlebarMiddleClickPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkTitlebarMiddleClickPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTitlebarMiddleClickPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkTitlebarMiddleClickPropertyInfo = "gtk-titlebar-middle-click"
+    type AttrOrigin SettingsGtkTitlebarMiddleClickPropertyInfo = Settings
+    attrGet _ = getSettingsGtkTitlebarMiddleClick
+    attrSet _ = setSettingsGtkTitlebarMiddleClick
+    attrConstruct _ = constructSettingsGtkTitlebarMiddleClick
+    attrClear _ = clearSettingsGtkTitlebarMiddleClick
+#endif
+
+-- VVV Prop "gtk-titlebar-right-click"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-titlebar-right-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTitlebarRightClick
+@
+-}
+getSettingsGtkTitlebarRightClick :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkTitlebarRightClick obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-titlebar-right-click"
+
+{- |
+Set the value of the “@gtk-titlebar-right-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTitlebarRightClick 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTitlebarRightClick :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkTitlebarRightClick obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-titlebar-right-click" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-titlebar-right-click@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTitlebarRightClick :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkTitlebarRightClick val = B.Properties.constructObjectPropertyString "gtk-titlebar-right-click" (Just val)
+
+{- |
+Set the value of the “@gtk-titlebar-right-click@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkTitlebarRightClick
+@
+-}
+clearSettingsGtkTitlebarRightClick :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkTitlebarRightClick obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-titlebar-right-click" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTitlebarRightClickPropertyInfo
+instance AttrInfo SettingsGtkTitlebarRightClickPropertyInfo where
+    type AttrAllowedOps SettingsGtkTitlebarRightClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkTitlebarRightClickPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkTitlebarRightClickPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTitlebarRightClickPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkTitlebarRightClickPropertyInfo = "gtk-titlebar-right-click"
+    type AttrOrigin SettingsGtkTitlebarRightClickPropertyInfo = Settings
+    attrGet _ = getSettingsGtkTitlebarRightClick
+    attrSet _ = setSettingsGtkTitlebarRightClick
+    attrConstruct _ = constructSettingsGtkTitlebarRightClick
+    attrClear _ = clearSettingsGtkTitlebarRightClick
+#endif
+
+-- VVV Prop "gtk-toolbar-icon-size"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "IconSize"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-toolbar-icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkToolbarIconSize
+@
+-}
+getSettingsGtkToolbarIconSize :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.IconSize
+getSettingsGtkToolbarIconSize obj = liftIO $ B.Properties.getObjectPropertyEnum obj "gtk-toolbar-icon-size"
+
+{- |
+Set the value of the “@gtk-toolbar-icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkToolbarIconSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkToolbarIconSize :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.IconSize -> m ()
+setSettingsGtkToolbarIconSize obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "gtk-toolbar-icon-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-toolbar-icon-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkToolbarIconSize :: (IsSettings o) => Gtk.Enums.IconSize -> IO (GValueConstruct o)
+constructSettingsGtkToolbarIconSize val = B.Properties.constructObjectPropertyEnum "gtk-toolbar-icon-size" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkToolbarIconSizePropertyInfo
+instance AttrInfo SettingsGtkToolbarIconSizePropertyInfo where
+    type AttrAllowedOps SettingsGtkToolbarIconSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkToolbarIconSizePropertyInfo = (~) Gtk.Enums.IconSize
+    type AttrBaseTypeConstraint SettingsGtkToolbarIconSizePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkToolbarIconSizePropertyInfo = Gtk.Enums.IconSize
+    type AttrLabel SettingsGtkToolbarIconSizePropertyInfo = "gtk-toolbar-icon-size"
+    type AttrOrigin SettingsGtkToolbarIconSizePropertyInfo = Settings
+    attrGet _ = getSettingsGtkToolbarIconSize
+    attrSet _ = setSettingsGtkToolbarIconSize
+    attrConstruct _ = constructSettingsGtkToolbarIconSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-toolbar-style"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-toolbar-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkToolbarStyle
+@
+-}
+getSettingsGtkToolbarStyle :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.ToolbarStyle
+getSettingsGtkToolbarStyle obj = liftIO $ B.Properties.getObjectPropertyEnum obj "gtk-toolbar-style"
+
+{- |
+Set the value of the “@gtk-toolbar-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkToolbarStyle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkToolbarStyle :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.ToolbarStyle -> m ()
+setSettingsGtkToolbarStyle obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "gtk-toolbar-style" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-toolbar-style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkToolbarStyle :: (IsSettings o) => Gtk.Enums.ToolbarStyle -> IO (GValueConstruct o)
+constructSettingsGtkToolbarStyle val = B.Properties.constructObjectPropertyEnum "gtk-toolbar-style" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkToolbarStylePropertyInfo
+instance AttrInfo SettingsGtkToolbarStylePropertyInfo where
+    type AttrAllowedOps SettingsGtkToolbarStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkToolbarStylePropertyInfo = (~) Gtk.Enums.ToolbarStyle
+    type AttrBaseTypeConstraint SettingsGtkToolbarStylePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkToolbarStylePropertyInfo = Gtk.Enums.ToolbarStyle
+    type AttrLabel SettingsGtkToolbarStylePropertyInfo = "gtk-toolbar-style"
+    type AttrOrigin SettingsGtkToolbarStylePropertyInfo = Settings
+    attrGet _ = getSettingsGtkToolbarStyle
+    attrSet _ = setSettingsGtkToolbarStyle
+    attrConstruct _ = constructSettingsGtkToolbarStyle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-tooltip-browse-mode-timeout"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-tooltip-browse-mode-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTooltipBrowseModeTimeout
+@
+-}
+getSettingsGtkTooltipBrowseModeTimeout :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkTooltipBrowseModeTimeout obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-tooltip-browse-mode-timeout"
+
+{- |
+Set the value of the “@gtk-tooltip-browse-mode-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTooltipBrowseModeTimeout 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTooltipBrowseModeTimeout :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkTooltipBrowseModeTimeout obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-tooltip-browse-mode-timeout" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-tooltip-browse-mode-timeout@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTooltipBrowseModeTimeout :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkTooltipBrowseModeTimeout val = B.Properties.constructObjectPropertyInt32 "gtk-tooltip-browse-mode-timeout" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTooltipBrowseModeTimeoutPropertyInfo
+instance AttrInfo SettingsGtkTooltipBrowseModeTimeoutPropertyInfo where
+    type AttrAllowedOps SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = Int32
+    type AttrLabel SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = "gtk-tooltip-browse-mode-timeout"
+    type AttrOrigin SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = Settings
+    attrGet _ = getSettingsGtkTooltipBrowseModeTimeout
+    attrSet _ = setSettingsGtkTooltipBrowseModeTimeout
+    attrConstruct _ = constructSettingsGtkTooltipBrowseModeTimeout
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-tooltip-browse-timeout"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-tooltip-browse-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTooltipBrowseTimeout
+@
+-}
+getSettingsGtkTooltipBrowseTimeout :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkTooltipBrowseTimeout obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-tooltip-browse-timeout"
+
+{- |
+Set the value of the “@gtk-tooltip-browse-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTooltipBrowseTimeout 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTooltipBrowseTimeout :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkTooltipBrowseTimeout obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-tooltip-browse-timeout" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-tooltip-browse-timeout@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTooltipBrowseTimeout :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkTooltipBrowseTimeout val = B.Properties.constructObjectPropertyInt32 "gtk-tooltip-browse-timeout" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTooltipBrowseTimeoutPropertyInfo
+instance AttrInfo SettingsGtkTooltipBrowseTimeoutPropertyInfo where
+    type AttrAllowedOps SettingsGtkTooltipBrowseTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkTooltipBrowseTimeoutPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkTooltipBrowseTimeoutPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTooltipBrowseTimeoutPropertyInfo = Int32
+    type AttrLabel SettingsGtkTooltipBrowseTimeoutPropertyInfo = "gtk-tooltip-browse-timeout"
+    type AttrOrigin SettingsGtkTooltipBrowseTimeoutPropertyInfo = Settings
+    attrGet _ = getSettingsGtkTooltipBrowseTimeout
+    attrSet _ = setSettingsGtkTooltipBrowseTimeout
+    attrConstruct _ = constructSettingsGtkTooltipBrowseTimeout
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-tooltip-timeout"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-tooltip-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTooltipTimeout
+@
+-}
+getSettingsGtkTooltipTimeout :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkTooltipTimeout obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-tooltip-timeout"
+
+{- |
+Set the value of the “@gtk-tooltip-timeout@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTooltipTimeout 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTooltipTimeout :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkTooltipTimeout obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-tooltip-timeout" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-tooltip-timeout@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTooltipTimeout :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkTooltipTimeout val = B.Properties.constructObjectPropertyInt32 "gtk-tooltip-timeout" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTooltipTimeoutPropertyInfo
+instance AttrInfo SettingsGtkTooltipTimeoutPropertyInfo where
+    type AttrAllowedOps SettingsGtkTooltipTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkTooltipTimeoutPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkTooltipTimeoutPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTooltipTimeoutPropertyInfo = Int32
+    type AttrLabel SettingsGtkTooltipTimeoutPropertyInfo = "gtk-tooltip-timeout"
+    type AttrOrigin SettingsGtkTooltipTimeoutPropertyInfo = Settings
+    attrGet _ = getSettingsGtkTooltipTimeout
+    attrSet _ = setSettingsGtkTooltipTimeout
+    attrConstruct _ = constructSettingsGtkTooltipTimeout
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-touchscreen-mode"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-touchscreen-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkTouchscreenMode
+@
+-}
+getSettingsGtkTouchscreenMode :: (MonadIO m, IsSettings o) => o -> m Bool
+getSettingsGtkTouchscreenMode obj = liftIO $ B.Properties.getObjectPropertyBool obj "gtk-touchscreen-mode"
+
+{- |
+Set the value of the “@gtk-touchscreen-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkTouchscreenMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkTouchscreenMode :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
+setSettingsGtkTouchscreenMode obj val = liftIO $ B.Properties.setObjectPropertyBool obj "gtk-touchscreen-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-touchscreen-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkTouchscreenMode :: (IsSettings o) => Bool -> IO (GValueConstruct o)
+constructSettingsGtkTouchscreenMode val = B.Properties.constructObjectPropertyBool "gtk-touchscreen-mode" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkTouchscreenModePropertyInfo
+instance AttrInfo SettingsGtkTouchscreenModePropertyInfo where
+    type AttrAllowedOps SettingsGtkTouchscreenModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkTouchscreenModePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SettingsGtkTouchscreenModePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkTouchscreenModePropertyInfo = Bool
+    type AttrLabel SettingsGtkTouchscreenModePropertyInfo = "gtk-touchscreen-mode"
+    type AttrOrigin SettingsGtkTouchscreenModePropertyInfo = Settings
+    attrGet _ = getSettingsGtkTouchscreenMode
+    attrSet _ = setSettingsGtkTouchscreenMode
+    attrConstruct _ = constructSettingsGtkTouchscreenMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-visible-focus"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "PolicyType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-visible-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkVisibleFocus
+@
+-}
+getSettingsGtkVisibleFocus :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.PolicyType
+getSettingsGtkVisibleFocus obj = liftIO $ B.Properties.getObjectPropertyEnum obj "gtk-visible-focus"
+
+{- |
+Set the value of the “@gtk-visible-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkVisibleFocus 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkVisibleFocus :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.PolicyType -> m ()
+setSettingsGtkVisibleFocus obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "gtk-visible-focus" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-visible-focus@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkVisibleFocus :: (IsSettings o) => Gtk.Enums.PolicyType -> IO (GValueConstruct o)
+constructSettingsGtkVisibleFocus val = B.Properties.constructObjectPropertyEnum "gtk-visible-focus" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkVisibleFocusPropertyInfo
+instance AttrInfo SettingsGtkVisibleFocusPropertyInfo where
+    type AttrAllowedOps SettingsGtkVisibleFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkVisibleFocusPropertyInfo = (~) Gtk.Enums.PolicyType
+    type AttrBaseTypeConstraint SettingsGtkVisibleFocusPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkVisibleFocusPropertyInfo = Gtk.Enums.PolicyType
+    type AttrLabel SettingsGtkVisibleFocusPropertyInfo = "gtk-visible-focus"
+    type AttrOrigin SettingsGtkVisibleFocusPropertyInfo = Settings
+    attrGet _ = getSettingsGtkVisibleFocus
+    attrSet _ = setSettingsGtkVisibleFocus
+    attrConstruct _ = constructSettingsGtkVisibleFocus
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-xft-antialias"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-xft-antialias@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkXftAntialias
+@
+-}
+getSettingsGtkXftAntialias :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkXftAntialias obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-xft-antialias"
+
+{- |
+Set the value of the “@gtk-xft-antialias@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkXftAntialias 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkXftAntialias :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkXftAntialias obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-xft-antialias" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-xft-antialias@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkXftAntialias :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkXftAntialias val = B.Properties.constructObjectPropertyInt32 "gtk-xft-antialias" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkXftAntialiasPropertyInfo
+instance AttrInfo SettingsGtkXftAntialiasPropertyInfo where
+    type AttrAllowedOps SettingsGtkXftAntialiasPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkXftAntialiasPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkXftAntialiasPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkXftAntialiasPropertyInfo = Int32
+    type AttrLabel SettingsGtkXftAntialiasPropertyInfo = "gtk-xft-antialias"
+    type AttrOrigin SettingsGtkXftAntialiasPropertyInfo = Settings
+    attrGet _ = getSettingsGtkXftAntialias
+    attrSet _ = setSettingsGtkXftAntialias
+    attrConstruct _ = constructSettingsGtkXftAntialias
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-xft-dpi"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-xft-dpi@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkXftDpi
+@
+-}
+getSettingsGtkXftDpi :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkXftDpi obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-xft-dpi"
+
+{- |
+Set the value of the “@gtk-xft-dpi@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkXftDpi 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkXftDpi :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkXftDpi obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-xft-dpi" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-xft-dpi@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkXftDpi :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkXftDpi val = B.Properties.constructObjectPropertyInt32 "gtk-xft-dpi" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkXftDpiPropertyInfo
+instance AttrInfo SettingsGtkXftDpiPropertyInfo where
+    type AttrAllowedOps SettingsGtkXftDpiPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkXftDpiPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkXftDpiPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkXftDpiPropertyInfo = Int32
+    type AttrLabel SettingsGtkXftDpiPropertyInfo = "gtk-xft-dpi"
+    type AttrOrigin SettingsGtkXftDpiPropertyInfo = Settings
+    attrGet _ = getSettingsGtkXftDpi
+    attrSet _ = setSettingsGtkXftDpi
+    attrConstruct _ = constructSettingsGtkXftDpi
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-xft-hinting"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-xft-hinting@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkXftHinting
+@
+-}
+getSettingsGtkXftHinting :: (MonadIO m, IsSettings o) => o -> m Int32
+getSettingsGtkXftHinting obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "gtk-xft-hinting"
+
+{- |
+Set the value of the “@gtk-xft-hinting@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkXftHinting 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkXftHinting :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
+setSettingsGtkXftHinting obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "gtk-xft-hinting" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-xft-hinting@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkXftHinting :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
+constructSettingsGtkXftHinting val = B.Properties.constructObjectPropertyInt32 "gtk-xft-hinting" val
+
+#if ENABLE_OVERLOADING
+data SettingsGtkXftHintingPropertyInfo
+instance AttrInfo SettingsGtkXftHintingPropertyInfo where
+    type AttrAllowedOps SettingsGtkXftHintingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SettingsGtkXftHintingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint SettingsGtkXftHintingPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkXftHintingPropertyInfo = Int32
+    type AttrLabel SettingsGtkXftHintingPropertyInfo = "gtk-xft-hinting"
+    type AttrOrigin SettingsGtkXftHintingPropertyInfo = Settings
+    attrGet _ = getSettingsGtkXftHinting
+    attrSet _ = setSettingsGtkXftHinting
+    attrConstruct _ = constructSettingsGtkXftHinting
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gtk-xft-hintstyle"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-xft-hintstyle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkXftHintstyle
+@
+-}
+getSettingsGtkXftHintstyle :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkXftHintstyle obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-xft-hintstyle"
+
+{- |
+Set the value of the “@gtk-xft-hintstyle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkXftHintstyle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkXftHintstyle :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkXftHintstyle obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-xft-hintstyle" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-xft-hintstyle@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkXftHintstyle :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkXftHintstyle val = B.Properties.constructObjectPropertyString "gtk-xft-hintstyle" (Just val)
+
+{- |
+Set the value of the “@gtk-xft-hintstyle@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkXftHintstyle
+@
+-}
+clearSettingsGtkXftHintstyle :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkXftHintstyle obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-xft-hintstyle" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkXftHintstylePropertyInfo
+instance AttrInfo SettingsGtkXftHintstylePropertyInfo where
+    type AttrAllowedOps SettingsGtkXftHintstylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkXftHintstylePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkXftHintstylePropertyInfo = IsSettings
+    type AttrGetType SettingsGtkXftHintstylePropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkXftHintstylePropertyInfo = "gtk-xft-hintstyle"
+    type AttrOrigin SettingsGtkXftHintstylePropertyInfo = Settings
+    attrGet _ = getSettingsGtkXftHintstyle
+    attrSet _ = setSettingsGtkXftHintstyle
+    attrConstruct _ = constructSettingsGtkXftHintstyle
+    attrClear _ = clearSettingsGtkXftHintstyle
+#endif
+
+-- VVV Prop "gtk-xft-rgba"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@gtk-xft-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settings #gtkXftRgba
+@
+-}
+getSettingsGtkXftRgba :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
+getSettingsGtkXftRgba obj = liftIO $ B.Properties.getObjectPropertyString obj "gtk-xft-rgba"
+
+{- |
+Set the value of the “@gtk-xft-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settings [ #gtkXftRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsGtkXftRgba :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
+setSettingsGtkXftRgba obj val = liftIO $ B.Properties.setObjectPropertyString obj "gtk-xft-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gtk-xft-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSettingsGtkXftRgba :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
+constructSettingsGtkXftRgba val = B.Properties.constructObjectPropertyString "gtk-xft-rgba" (Just val)
+
+{- |
+Set the value of the “@gtk-xft-rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gtkXftRgba
+@
+-}
+clearSettingsGtkXftRgba :: (MonadIO m, IsSettings o) => o -> m ()
+clearSettingsGtkXftRgba obj = liftIO $ B.Properties.setObjectPropertyString obj "gtk-xft-rgba" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data SettingsGtkXftRgbaPropertyInfo
+instance AttrInfo SettingsGtkXftRgbaPropertyInfo where
+    type AttrAllowedOps SettingsGtkXftRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsGtkXftRgbaPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint SettingsGtkXftRgbaPropertyInfo = IsSettings
+    type AttrGetType SettingsGtkXftRgbaPropertyInfo = (Maybe T.Text)
+    type AttrLabel SettingsGtkXftRgbaPropertyInfo = "gtk-xft-rgba"
+    type AttrOrigin SettingsGtkXftRgbaPropertyInfo = Settings
+    attrGet _ = getSettingsGtkXftRgba
+    attrSet _ = setSettingsGtkXftRgba
+    attrConstruct _ = constructSettingsGtkXftRgba
+    attrClear _ = clearSettingsGtkXftRgba
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Settings
+type instance O.AttributeList Settings = SettingsAttributeList
+type SettingsAttributeList = ('[ '("colorHash", SettingsColorHashPropertyInfo), '("gtkAlternativeButtonOrder", SettingsGtkAlternativeButtonOrderPropertyInfo), '("gtkAlternativeSortArrows", SettingsGtkAlternativeSortArrowsPropertyInfo), '("gtkApplicationPreferDarkTheme", SettingsGtkApplicationPreferDarkThemePropertyInfo), '("gtkAutoMnemonics", SettingsGtkAutoMnemonicsPropertyInfo), '("gtkButtonImages", SettingsGtkButtonImagesPropertyInfo), '("gtkCanChangeAccels", SettingsGtkCanChangeAccelsPropertyInfo), '("gtkColorPalette", SettingsGtkColorPalettePropertyInfo), '("gtkColorScheme", SettingsGtkColorSchemePropertyInfo), '("gtkCursorBlink", SettingsGtkCursorBlinkPropertyInfo), '("gtkCursorBlinkTime", SettingsGtkCursorBlinkTimePropertyInfo), '("gtkCursorBlinkTimeout", SettingsGtkCursorBlinkTimeoutPropertyInfo), '("gtkCursorThemeName", SettingsGtkCursorThemeNamePropertyInfo), '("gtkCursorThemeSize", SettingsGtkCursorThemeSizePropertyInfo), '("gtkDecorationLayout", SettingsGtkDecorationLayoutPropertyInfo), '("gtkDialogsUseHeader", SettingsGtkDialogsUseHeaderPropertyInfo), '("gtkDndDragThreshold", SettingsGtkDndDragThresholdPropertyInfo), '("gtkDoubleClickDistance", SettingsGtkDoubleClickDistancePropertyInfo), '("gtkDoubleClickTime", SettingsGtkDoubleClickTimePropertyInfo), '("gtkEnableAccels", SettingsGtkEnableAccelsPropertyInfo), '("gtkEnableAnimations", SettingsGtkEnableAnimationsPropertyInfo), '("gtkEnableEventSounds", SettingsGtkEnableEventSoundsPropertyInfo), '("gtkEnableInputFeedbackSounds", SettingsGtkEnableInputFeedbackSoundsPropertyInfo), '("gtkEnableMnemonics", SettingsGtkEnableMnemonicsPropertyInfo), '("gtkEnablePrimaryPaste", SettingsGtkEnablePrimaryPastePropertyInfo), '("gtkEnableTooltips", SettingsGtkEnableTooltipsPropertyInfo), '("gtkEntryPasswordHintTimeout", SettingsGtkEntryPasswordHintTimeoutPropertyInfo), '("gtkEntrySelectOnFocus", SettingsGtkEntrySelectOnFocusPropertyInfo), '("gtkErrorBell", SettingsGtkErrorBellPropertyInfo), '("gtkFallbackIconTheme", SettingsGtkFallbackIconThemePropertyInfo), '("gtkFileChooserBackend", SettingsGtkFileChooserBackendPropertyInfo), '("gtkFontName", SettingsGtkFontNamePropertyInfo), '("gtkFontconfigTimestamp", SettingsGtkFontconfigTimestampPropertyInfo), '("gtkIconSizes", SettingsGtkIconSizesPropertyInfo), '("gtkIconThemeName", SettingsGtkIconThemeNamePropertyInfo), '("gtkImModule", SettingsGtkImModulePropertyInfo), '("gtkImPreeditStyle", SettingsGtkImPreeditStylePropertyInfo), '("gtkImStatusStyle", SettingsGtkImStatusStylePropertyInfo), '("gtkKeyThemeName", SettingsGtkKeyThemeNamePropertyInfo), '("gtkKeynavCursorOnly", SettingsGtkKeynavCursorOnlyPropertyInfo), '("gtkKeynavUseCaret", SettingsGtkKeynavUseCaretPropertyInfo), '("gtkKeynavWrapAround", SettingsGtkKeynavWrapAroundPropertyInfo), '("gtkLabelSelectOnFocus", SettingsGtkLabelSelectOnFocusPropertyInfo), '("gtkLongPressTime", SettingsGtkLongPressTimePropertyInfo), '("gtkMenuBarAccel", SettingsGtkMenuBarAccelPropertyInfo), '("gtkMenuBarPopupDelay", SettingsGtkMenuBarPopupDelayPropertyInfo), '("gtkMenuImages", SettingsGtkMenuImagesPropertyInfo), '("gtkMenuPopdownDelay", SettingsGtkMenuPopdownDelayPropertyInfo), '("gtkMenuPopupDelay", SettingsGtkMenuPopupDelayPropertyInfo), '("gtkModules", SettingsGtkModulesPropertyInfo), '("gtkPrimaryButtonWarpsSlider", SettingsGtkPrimaryButtonWarpsSliderPropertyInfo), '("gtkPrintBackends", SettingsGtkPrintBackendsPropertyInfo), '("gtkPrintPreviewCommand", SettingsGtkPrintPreviewCommandPropertyInfo), '("gtkRecentFilesEnabled", SettingsGtkRecentFilesEnabledPropertyInfo), '("gtkRecentFilesLimit", SettingsGtkRecentFilesLimitPropertyInfo), '("gtkRecentFilesMaxAge", SettingsGtkRecentFilesMaxAgePropertyInfo), '("gtkScrolledWindowPlacement", SettingsGtkScrolledWindowPlacementPropertyInfo), '("gtkShellShowsAppMenu", SettingsGtkShellShowsAppMenuPropertyInfo), '("gtkShellShowsDesktop", SettingsGtkShellShowsDesktopPropertyInfo), '("gtkShellShowsMenubar", SettingsGtkShellShowsMenubarPropertyInfo), '("gtkShowInputMethodMenu", SettingsGtkShowInputMethodMenuPropertyInfo), '("gtkShowUnicodeMenu", SettingsGtkShowUnicodeMenuPropertyInfo), '("gtkSoundThemeName", SettingsGtkSoundThemeNamePropertyInfo), '("gtkSplitCursor", SettingsGtkSplitCursorPropertyInfo), '("gtkThemeName", SettingsGtkThemeNamePropertyInfo), '("gtkTimeoutExpand", SettingsGtkTimeoutExpandPropertyInfo), '("gtkTimeoutInitial", SettingsGtkTimeoutInitialPropertyInfo), '("gtkTimeoutRepeat", SettingsGtkTimeoutRepeatPropertyInfo), '("gtkTitlebarDoubleClick", SettingsGtkTitlebarDoubleClickPropertyInfo), '("gtkTitlebarMiddleClick", SettingsGtkTitlebarMiddleClickPropertyInfo), '("gtkTitlebarRightClick", SettingsGtkTitlebarRightClickPropertyInfo), '("gtkToolbarIconSize", SettingsGtkToolbarIconSizePropertyInfo), '("gtkToolbarStyle", SettingsGtkToolbarStylePropertyInfo), '("gtkTooltipBrowseModeTimeout", SettingsGtkTooltipBrowseModeTimeoutPropertyInfo), '("gtkTooltipBrowseTimeout", SettingsGtkTooltipBrowseTimeoutPropertyInfo), '("gtkTooltipTimeout", SettingsGtkTooltipTimeoutPropertyInfo), '("gtkTouchscreenMode", SettingsGtkTouchscreenModePropertyInfo), '("gtkVisibleFocus", SettingsGtkVisibleFocusPropertyInfo), '("gtkXftAntialias", SettingsGtkXftAntialiasPropertyInfo), '("gtkXftDpi", SettingsGtkXftDpiPropertyInfo), '("gtkXftHinting", SettingsGtkXftHintingPropertyInfo), '("gtkXftHintstyle", SettingsGtkXftHintstylePropertyInfo), '("gtkXftRgba", SettingsGtkXftRgbaPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+settingsColorHash :: AttrLabelProxy "colorHash"
+settingsColorHash = AttrLabelProxy
+
+settingsGtkAlternativeButtonOrder :: AttrLabelProxy "gtkAlternativeButtonOrder"
+settingsGtkAlternativeButtonOrder = AttrLabelProxy
+
+settingsGtkAlternativeSortArrows :: AttrLabelProxy "gtkAlternativeSortArrows"
+settingsGtkAlternativeSortArrows = AttrLabelProxy
+
+settingsGtkApplicationPreferDarkTheme :: AttrLabelProxy "gtkApplicationPreferDarkTheme"
+settingsGtkApplicationPreferDarkTheme = AttrLabelProxy
+
+settingsGtkAutoMnemonics :: AttrLabelProxy "gtkAutoMnemonics"
+settingsGtkAutoMnemonics = AttrLabelProxy
+
+settingsGtkButtonImages :: AttrLabelProxy "gtkButtonImages"
+settingsGtkButtonImages = AttrLabelProxy
+
+settingsGtkCanChangeAccels :: AttrLabelProxy "gtkCanChangeAccels"
+settingsGtkCanChangeAccels = AttrLabelProxy
+
+settingsGtkColorPalette :: AttrLabelProxy "gtkColorPalette"
+settingsGtkColorPalette = AttrLabelProxy
+
+settingsGtkColorScheme :: AttrLabelProxy "gtkColorScheme"
+settingsGtkColorScheme = AttrLabelProxy
+
+settingsGtkCursorBlink :: AttrLabelProxy "gtkCursorBlink"
+settingsGtkCursorBlink = AttrLabelProxy
+
+settingsGtkCursorBlinkTime :: AttrLabelProxy "gtkCursorBlinkTime"
+settingsGtkCursorBlinkTime = AttrLabelProxy
+
+settingsGtkCursorBlinkTimeout :: AttrLabelProxy "gtkCursorBlinkTimeout"
+settingsGtkCursorBlinkTimeout = AttrLabelProxy
+
+settingsGtkCursorThemeName :: AttrLabelProxy "gtkCursorThemeName"
+settingsGtkCursorThemeName = AttrLabelProxy
+
+settingsGtkCursorThemeSize :: AttrLabelProxy "gtkCursorThemeSize"
+settingsGtkCursorThemeSize = AttrLabelProxy
+
+settingsGtkDecorationLayout :: AttrLabelProxy "gtkDecorationLayout"
+settingsGtkDecorationLayout = AttrLabelProxy
+
+settingsGtkDialogsUseHeader :: AttrLabelProxy "gtkDialogsUseHeader"
+settingsGtkDialogsUseHeader = AttrLabelProxy
+
+settingsGtkDndDragThreshold :: AttrLabelProxy "gtkDndDragThreshold"
+settingsGtkDndDragThreshold = AttrLabelProxy
+
+settingsGtkDoubleClickDistance :: AttrLabelProxy "gtkDoubleClickDistance"
+settingsGtkDoubleClickDistance = AttrLabelProxy
+
+settingsGtkDoubleClickTime :: AttrLabelProxy "gtkDoubleClickTime"
+settingsGtkDoubleClickTime = AttrLabelProxy
+
+settingsGtkEnableAccels :: AttrLabelProxy "gtkEnableAccels"
+settingsGtkEnableAccels = AttrLabelProxy
+
+settingsGtkEnableAnimations :: AttrLabelProxy "gtkEnableAnimations"
+settingsGtkEnableAnimations = AttrLabelProxy
+
+settingsGtkEnableEventSounds :: AttrLabelProxy "gtkEnableEventSounds"
+settingsGtkEnableEventSounds = AttrLabelProxy
+
+settingsGtkEnableInputFeedbackSounds :: AttrLabelProxy "gtkEnableInputFeedbackSounds"
+settingsGtkEnableInputFeedbackSounds = AttrLabelProxy
+
+settingsGtkEnableMnemonics :: AttrLabelProxy "gtkEnableMnemonics"
+settingsGtkEnableMnemonics = AttrLabelProxy
+
+settingsGtkEnablePrimaryPaste :: AttrLabelProxy "gtkEnablePrimaryPaste"
+settingsGtkEnablePrimaryPaste = AttrLabelProxy
+
+settingsGtkEnableTooltips :: AttrLabelProxy "gtkEnableTooltips"
+settingsGtkEnableTooltips = AttrLabelProxy
+
+settingsGtkEntryPasswordHintTimeout :: AttrLabelProxy "gtkEntryPasswordHintTimeout"
+settingsGtkEntryPasswordHintTimeout = AttrLabelProxy
+
+settingsGtkEntrySelectOnFocus :: AttrLabelProxy "gtkEntrySelectOnFocus"
+settingsGtkEntrySelectOnFocus = AttrLabelProxy
+
+settingsGtkErrorBell :: AttrLabelProxy "gtkErrorBell"
+settingsGtkErrorBell = AttrLabelProxy
+
+settingsGtkFallbackIconTheme :: AttrLabelProxy "gtkFallbackIconTheme"
+settingsGtkFallbackIconTheme = AttrLabelProxy
+
+settingsGtkFileChooserBackend :: AttrLabelProxy "gtkFileChooserBackend"
+settingsGtkFileChooserBackend = AttrLabelProxy
+
+settingsGtkFontName :: AttrLabelProxy "gtkFontName"
+settingsGtkFontName = AttrLabelProxy
+
+settingsGtkFontconfigTimestamp :: AttrLabelProxy "gtkFontconfigTimestamp"
+settingsGtkFontconfigTimestamp = AttrLabelProxy
+
+settingsGtkIconSizes :: AttrLabelProxy "gtkIconSizes"
+settingsGtkIconSizes = AttrLabelProxy
+
+settingsGtkIconThemeName :: AttrLabelProxy "gtkIconThemeName"
+settingsGtkIconThemeName = AttrLabelProxy
+
+settingsGtkImModule :: AttrLabelProxy "gtkImModule"
+settingsGtkImModule = AttrLabelProxy
+
+settingsGtkImPreeditStyle :: AttrLabelProxy "gtkImPreeditStyle"
+settingsGtkImPreeditStyle = AttrLabelProxy
+
+settingsGtkImStatusStyle :: AttrLabelProxy "gtkImStatusStyle"
+settingsGtkImStatusStyle = AttrLabelProxy
+
+settingsGtkKeyThemeName :: AttrLabelProxy "gtkKeyThemeName"
+settingsGtkKeyThemeName = AttrLabelProxy
+
+settingsGtkKeynavCursorOnly :: AttrLabelProxy "gtkKeynavCursorOnly"
+settingsGtkKeynavCursorOnly = AttrLabelProxy
+
+settingsGtkKeynavUseCaret :: AttrLabelProxy "gtkKeynavUseCaret"
+settingsGtkKeynavUseCaret = AttrLabelProxy
+
+settingsGtkKeynavWrapAround :: AttrLabelProxy "gtkKeynavWrapAround"
+settingsGtkKeynavWrapAround = AttrLabelProxy
+
+settingsGtkLabelSelectOnFocus :: AttrLabelProxy "gtkLabelSelectOnFocus"
+settingsGtkLabelSelectOnFocus = AttrLabelProxy
+
+settingsGtkLongPressTime :: AttrLabelProxy "gtkLongPressTime"
+settingsGtkLongPressTime = AttrLabelProxy
+
+settingsGtkMenuBarAccel :: AttrLabelProxy "gtkMenuBarAccel"
+settingsGtkMenuBarAccel = AttrLabelProxy
+
+settingsGtkMenuBarPopupDelay :: AttrLabelProxy "gtkMenuBarPopupDelay"
+settingsGtkMenuBarPopupDelay = AttrLabelProxy
+
+settingsGtkMenuImages :: AttrLabelProxy "gtkMenuImages"
+settingsGtkMenuImages = AttrLabelProxy
+
+settingsGtkMenuPopdownDelay :: AttrLabelProxy "gtkMenuPopdownDelay"
+settingsGtkMenuPopdownDelay = AttrLabelProxy
+
+settingsGtkMenuPopupDelay :: AttrLabelProxy "gtkMenuPopupDelay"
+settingsGtkMenuPopupDelay = AttrLabelProxy
+
+settingsGtkModules :: AttrLabelProxy "gtkModules"
+settingsGtkModules = AttrLabelProxy
+
+settingsGtkPrimaryButtonWarpsSlider :: AttrLabelProxy "gtkPrimaryButtonWarpsSlider"
+settingsGtkPrimaryButtonWarpsSlider = AttrLabelProxy
+
+settingsGtkPrintBackends :: AttrLabelProxy "gtkPrintBackends"
+settingsGtkPrintBackends = AttrLabelProxy
+
+settingsGtkPrintPreviewCommand :: AttrLabelProxy "gtkPrintPreviewCommand"
+settingsGtkPrintPreviewCommand = AttrLabelProxy
+
+settingsGtkRecentFilesEnabled :: AttrLabelProxy "gtkRecentFilesEnabled"
+settingsGtkRecentFilesEnabled = AttrLabelProxy
+
+settingsGtkRecentFilesLimit :: AttrLabelProxy "gtkRecentFilesLimit"
+settingsGtkRecentFilesLimit = AttrLabelProxy
+
+settingsGtkRecentFilesMaxAge :: AttrLabelProxy "gtkRecentFilesMaxAge"
+settingsGtkRecentFilesMaxAge = AttrLabelProxy
+
+settingsGtkScrolledWindowPlacement :: AttrLabelProxy "gtkScrolledWindowPlacement"
+settingsGtkScrolledWindowPlacement = AttrLabelProxy
+
+settingsGtkShellShowsAppMenu :: AttrLabelProxy "gtkShellShowsAppMenu"
+settingsGtkShellShowsAppMenu = AttrLabelProxy
+
+settingsGtkShellShowsDesktop :: AttrLabelProxy "gtkShellShowsDesktop"
+settingsGtkShellShowsDesktop = AttrLabelProxy
+
+settingsGtkShellShowsMenubar :: AttrLabelProxy "gtkShellShowsMenubar"
+settingsGtkShellShowsMenubar = AttrLabelProxy
+
+settingsGtkShowInputMethodMenu :: AttrLabelProxy "gtkShowInputMethodMenu"
+settingsGtkShowInputMethodMenu = AttrLabelProxy
+
+settingsGtkShowUnicodeMenu :: AttrLabelProxy "gtkShowUnicodeMenu"
+settingsGtkShowUnicodeMenu = AttrLabelProxy
+
+settingsGtkSoundThemeName :: AttrLabelProxy "gtkSoundThemeName"
+settingsGtkSoundThemeName = AttrLabelProxy
+
+settingsGtkSplitCursor :: AttrLabelProxy "gtkSplitCursor"
+settingsGtkSplitCursor = AttrLabelProxy
+
+settingsGtkThemeName :: AttrLabelProxy "gtkThemeName"
+settingsGtkThemeName = AttrLabelProxy
+
+settingsGtkTimeoutExpand :: AttrLabelProxy "gtkTimeoutExpand"
+settingsGtkTimeoutExpand = AttrLabelProxy
+
+settingsGtkTimeoutInitial :: AttrLabelProxy "gtkTimeoutInitial"
+settingsGtkTimeoutInitial = AttrLabelProxy
+
+settingsGtkTimeoutRepeat :: AttrLabelProxy "gtkTimeoutRepeat"
+settingsGtkTimeoutRepeat = AttrLabelProxy
+
+settingsGtkTitlebarDoubleClick :: AttrLabelProxy "gtkTitlebarDoubleClick"
+settingsGtkTitlebarDoubleClick = AttrLabelProxy
+
+settingsGtkTitlebarMiddleClick :: AttrLabelProxy "gtkTitlebarMiddleClick"
+settingsGtkTitlebarMiddleClick = AttrLabelProxy
+
+settingsGtkTitlebarRightClick :: AttrLabelProxy "gtkTitlebarRightClick"
+settingsGtkTitlebarRightClick = AttrLabelProxy
+
+settingsGtkToolbarIconSize :: AttrLabelProxy "gtkToolbarIconSize"
+settingsGtkToolbarIconSize = AttrLabelProxy
+
+settingsGtkToolbarStyle :: AttrLabelProxy "gtkToolbarStyle"
+settingsGtkToolbarStyle = AttrLabelProxy
+
+settingsGtkTooltipBrowseModeTimeout :: AttrLabelProxy "gtkTooltipBrowseModeTimeout"
+settingsGtkTooltipBrowseModeTimeout = AttrLabelProxy
+
+settingsGtkTooltipBrowseTimeout :: AttrLabelProxy "gtkTooltipBrowseTimeout"
+settingsGtkTooltipBrowseTimeout = AttrLabelProxy
+
+settingsGtkTooltipTimeout :: AttrLabelProxy "gtkTooltipTimeout"
+settingsGtkTooltipTimeout = AttrLabelProxy
+
+settingsGtkTouchscreenMode :: AttrLabelProxy "gtkTouchscreenMode"
+settingsGtkTouchscreenMode = AttrLabelProxy
+
+settingsGtkVisibleFocus :: AttrLabelProxy "gtkVisibleFocus"
+settingsGtkVisibleFocus = AttrLabelProxy
+
+settingsGtkXftAntialias :: AttrLabelProxy "gtkXftAntialias"
+settingsGtkXftAntialias = AttrLabelProxy
+
+settingsGtkXftDpi :: AttrLabelProxy "gtkXftDpi"
+settingsGtkXftDpi = AttrLabelProxy
+
+settingsGtkXftHinting :: AttrLabelProxy "gtkXftHinting"
+settingsGtkXftHinting = AttrLabelProxy
+
+settingsGtkXftHintstyle :: AttrLabelProxy "gtkXftHintstyle"
+settingsGtkXftHintstyle = AttrLabelProxy
+
+settingsGtkXftRgba :: AttrLabelProxy "gtkXftRgba"
+settingsGtkXftRgba = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Settings = SettingsSignalList
+type SettingsSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Settings::reset_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSettings object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the setting to reset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_settings_reset_property" gtk_settings_reset_property :: 
+    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Undoes the effect of calling @/g_object_set()/@ to install an
+application-specific value for a setting. After this call,
+the setting will again follow the session-wide value for
+this setting.
+
+/Since: 3.20/
+-}
+settingsResetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
+    a
+    {- ^ /@settings@/: a 'GI.Gtk.Objects.Settings.Settings' object -}
+    -> T.Text
+    {- ^ /@name@/: the name of the setting to reset -}
+    -> m ()
+settingsResetProperty settings name = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    name' <- textToCString name
+    gtk_settings_reset_property settings' name'
+    touchManagedPtr settings
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data SettingsResetPropertyMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsResetPropertyMethodInfo a signature where
+    overloadedMethod _ = settingsResetProperty
+
+#endif
+
+-- method Settings::set_double_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v_double", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_settings_set_double_property" gtk_settings_set_double_property :: 
+    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
+    CString ->                              -- name : TBasicType TUTF8
+    CDouble ->                              -- v_double : TBasicType TDouble
+    CString ->                              -- origin : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED settingsSetDoubleProperty ["(Since version 3.16)","Use @/g_object_set()/@ instead."] #-}
+{- |
+/No description available in the introspection data./
+-}
+settingsSetDoubleProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
+    a
+    -> T.Text
+    -> Double
+    -> T.Text
+    -> m ()
+settingsSetDoubleProperty settings name vDouble origin = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    name' <- textToCString name
+    let vDouble' = realToFrac vDouble
+    origin' <- textToCString origin
+    gtk_settings_set_double_property settings' name' vDouble' origin'
+    touchManagedPtr settings
+    freeMem name'
+    freeMem origin'
+    return ()
+
+#if ENABLE_OVERLOADING
+data SettingsSetDoublePropertyMethodInfo
+instance (signature ~ (T.Text -> Double -> T.Text -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetDoublePropertyMethodInfo a signature where
+    overloadedMethod _ = settingsSetDoubleProperty
+
+#endif
+
+-- method Settings::set_long_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v_long", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_settings_set_long_property" gtk_settings_set_long_property :: 
+    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
+    CString ->                              -- name : TBasicType TUTF8
+    CLong ->                                -- v_long : TBasicType TLong
+    CString ->                              -- origin : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED settingsSetLongProperty ["(Since version 3.16)","Use @/g_object_set()/@ instead."] #-}
+{- |
+/No description available in the introspection data./
+-}
+settingsSetLongProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
+    a
+    -> T.Text
+    -> CLong
+    -> T.Text
+    -> m ()
+settingsSetLongProperty settings name vLong origin = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    name' <- textToCString name
+    origin' <- textToCString origin
+    gtk_settings_set_long_property settings' name' vLong origin'
+    touchManagedPtr settings
+    freeMem name'
+    freeMem origin'
+    return ()
+
+#if ENABLE_OVERLOADING
+data SettingsSetLongPropertyMethodInfo
+instance (signature ~ (T.Text -> CLong -> T.Text -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetLongPropertyMethodInfo a signature where
+    overloadedMethod _ = settingsSetLongProperty
+
+#endif
+
+-- method Settings::set_property_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "svalue", argType = TInterface (Name {namespace = "Gtk", name = "SettingsValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_settings_set_property_value" gtk_settings_set_property_value :: 
+    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr Gtk.SettingsValue.SettingsValue ->  -- svalue : TInterface (Name {namespace = "Gtk", name = "SettingsValue"})
+    IO ()
+
+{-# DEPRECATED settingsSetPropertyValue ["(Since version 3.16)","Use @/g_object_set()/@ instead."] #-}
+{- |
+/No description available in the introspection data./
+-}
+settingsSetPropertyValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
+    a
+    -> T.Text
+    -> Gtk.SettingsValue.SettingsValue
+    -> m ()
+settingsSetPropertyValue settings name svalue = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    name' <- textToCString name
+    svalue' <- unsafeManagedPtrGetPtr svalue
+    gtk_settings_set_property_value settings' name' svalue'
+    touchManagedPtr settings
+    touchManagedPtr svalue
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data SettingsSetPropertyValueMethodInfo
+instance (signature ~ (T.Text -> Gtk.SettingsValue.SettingsValue -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetPropertyValueMethodInfo a signature where
+    overloadedMethod _ = settingsSetPropertyValue
+
+#endif
+
+-- method Settings::set_string_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_settings_set_string_property" gtk_settings_set_string_property :: 
+    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- v_string : TBasicType TUTF8
+    CString ->                              -- origin : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED settingsSetStringProperty ["(Since version 3.16)","Use @/g_object_set()/@ instead."] #-}
+{- |
+/No description available in the introspection data./
+-}
+settingsSetStringProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
+    a
+    -> T.Text
+    -> T.Text
+    -> T.Text
+    -> m ()
+settingsSetStringProperty settings name vString origin = liftIO $ do
+    settings' <- unsafeManagedPtrCastPtr settings
+    name' <- textToCString name
+    vString' <- textToCString vString
+    origin' <- textToCString origin
+    gtk_settings_set_string_property settings' name' vString' origin'
+    touchManagedPtr settings
+    freeMem name'
+    freeMem vString'
+    freeMem origin'
+    return ()
+
+#if ENABLE_OVERLOADING
+data SettingsSetStringPropertyMethodInfo
+instance (signature ~ (T.Text -> T.Text -> T.Text -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetStringPropertyMethodInfo a signature where
+    overloadedMethod _ = settingsSetStringProperty
+
+#endif
+
+-- method Settings::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Settings"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_settings_get_default" gtk_settings_get_default :: 
+    IO (Ptr Settings)
+
+{- |
+Gets the 'GI.Gtk.Objects.Settings.Settings' object for the default GDK screen, creating
+it if necessary. See 'GI.Gtk.Objects.Settings.settingsGetForScreen'.
+-}
+settingsGetDefault ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m (Maybe Settings)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Settings.Settings' object. If there is
+no default screen, then returns 'Nothing'. -}
+settingsGetDefault  = liftIO $ do
+    result <- gtk_settings_get_default
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Settings) result'
+        return result''
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Settings::get_for_screen
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Settings"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_settings_get_for_screen" gtk_settings_get_for_screen :: 
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO (Ptr Settings)
+
+{- |
+Gets the 'GI.Gtk.Objects.Settings.Settings' object for /@screen@/, creating it if necessary.
+
+/Since: 2.2/
+-}
+settingsGetForScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>
+    a
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen'. -}
+    -> m Settings
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Settings.Settings' object. -}
+settingsGetForScreen screen = liftIO $ do
+    screen' <- unsafeManagedPtrCastPtr screen
+    result <- gtk_settings_get_for_screen screen'
+    checkUnexpectedReturnNULL "settingsGetForScreen" result
+    result' <- (newObject Settings) result
+    touchManagedPtr screen
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Settings::install_property
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_settings_install_property" gtk_settings_install_property :: 
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    IO ()
+
+{-# DEPRECATED settingsInstallProperty ["(Since version 3.16)","This function is not useful outside GTK+."] #-}
+{- |
+/No description available in the introspection data./
+-}
+settingsInstallProperty ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GParamSpec
+    -> m ()
+settingsInstallProperty pspec = liftIO $ do
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    gtk_settings_install_property pspec'
+    touchManagedPtr pspec
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Settings::install_property_parser
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parser", argType = TInterface (Name {namespace = "Gtk", name = "RcPropertyParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_settings_install_property_parser" gtk_settings_install_property_parser :: 
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    FunPtr Gtk.Callbacks.C_RcPropertyParser -> -- parser : TInterface (Name {namespace = "Gtk", name = "RcPropertyParser"})
+    IO ()
+
+{-# DEPRECATED settingsInstallPropertyParser ["(Since version 3.16)","This function is not useful outside GTK+."] #-}
+{- |
+/No description available in the introspection data./
+-}
+settingsInstallPropertyParser ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GParamSpec
+    -> Gtk.Callbacks.RcPropertyParser
+    -> m ()
+settingsInstallPropertyParser pspec parser = liftIO $ do
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    parser' <- Gtk.Callbacks.mk_RcPropertyParser (Gtk.Callbacks.wrap_RcPropertyParser Nothing parser)
+    gtk_settings_install_property_parser pspec' parser'
+    safeFreeFunPtr $ castFunPtrToPtr parser'
+    touchManagedPtr pspec
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/Settings.hs-boot b/GI/Gtk/Objects/Settings.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Settings.hs-boot
@@ -0,0 +1,290 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Settings where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Settings = Settings (ManagedPtr Settings)
+instance GObject Settings where
+class (GObject o, O.IsDescendantOf Settings o) => IsSettings o
+instance (GObject o, O.IsDescendantOf Settings o) => IsSettings o
+instance O.HasParentTypes Settings
+#if ENABLE_OVERLOADING
+data SettingsGtkAlternativeButtonOrderPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkAlternativeSortArrowsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkApplicationPreferDarkThemePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkAutoMnemonicsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkButtonImagesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkCanChangeAccelsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkColorPalettePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkColorSchemePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorBlinkPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorBlinkTimePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorBlinkTimeoutPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorThemeNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkCursorThemeSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkDecorationLayoutPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkDialogsUseHeaderPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkDndDragThresholdPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkDoubleClickDistancePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkDoubleClickTimePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableAccelsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableAnimationsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableEventSoundsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableInputFeedbackSoundsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableMnemonicsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkEnablePrimaryPastePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkEnableTooltipsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkEntryPasswordHintTimeoutPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkEntrySelectOnFocusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkErrorBellPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkFallbackIconThemePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkFileChooserBackendPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkFontNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkFontconfigTimestampPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkIconSizesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkIconThemeNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkImModulePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkImPreeditStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkImStatusStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkKeyThemeNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkKeynavCursorOnlyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkKeynavUseCaretPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkKeynavWrapAroundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkLabelSelectOnFocusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkLongPressTimePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuBarAccelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuBarPopupDelayPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuImagesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuPopdownDelayPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkMenuPopupDelayPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkModulesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkPrimaryButtonWarpsSliderPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkPrintBackendsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkPrintPreviewCommandPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkRecentFilesEnabledPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkRecentFilesLimitPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkRecentFilesMaxAgePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkScrolledWindowPlacementPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkShellShowsAppMenuPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkShellShowsDesktopPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkShellShowsMenubarPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkShowInputMethodMenuPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkShowUnicodeMenuPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkSoundThemeNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkSplitCursorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkThemeNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTimeoutExpandPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTimeoutInitialPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTimeoutRepeatPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTitlebarDoubleClickPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTitlebarMiddleClickPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTitlebarRightClickPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkToolbarIconSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkToolbarStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTooltipBrowseModeTimeoutPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTooltipBrowseTimeoutPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTooltipTimeoutPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkTouchscreenModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkVisibleFocusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkXftAntialiasPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkXftDpiPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkXftHintingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkXftHintstylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsGtkXftRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsResetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsSetDoublePropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsSetLongPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsSetPropertyValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SettingsSetStringPropertyMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ShortcutLabel.hs b/GI/Gtk/Objects/ShortcutLabel.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutLabel.hs
@@ -0,0 +1,814 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.ShortcutLabel.ShortcutLabel' is a widget that represents a single keyboard shortcut or gesture
+in the user interface.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ShortcutLabel
+    ( 
+
+-- * Exported types
+    ShortcutLabel(..)                       ,
+    IsShortcutLabel                         ,
+    toShortcutLabel                         ,
+    noShortcutLabel                         ,
+
+
+ -- * Methods
+-- ** getAccelerator #method:getAccelerator#
+
+#if ENABLE_OVERLOADING
+    ShortcutLabelGetAcceleratorMethodInfo   ,
+#endif
+    shortcutLabelGetAccelerator             ,
+
+
+-- ** getDisabledText #method:getDisabledText#
+
+#if ENABLE_OVERLOADING
+    ShortcutLabelGetDisabledTextMethodInfo  ,
+#endif
+    shortcutLabelGetDisabledText            ,
+
+
+-- ** new #method:new#
+
+    shortcutLabelNew                        ,
+
+
+-- ** setAccelerator #method:setAccelerator#
+
+#if ENABLE_OVERLOADING
+    ShortcutLabelSetAcceleratorMethodInfo   ,
+#endif
+    shortcutLabelSetAccelerator             ,
+
+
+-- ** setDisabledText #method:setDisabledText#
+
+#if ENABLE_OVERLOADING
+    ShortcutLabelSetDisabledTextMethodInfo  ,
+#endif
+    shortcutLabelSetDisabledText            ,
+
+
+
+
+ -- * Properties
+-- ** accelerator #attr:accelerator#
+{- | The accelerator that /@self@/ displays. See 'GI.Gtk.Objects.ShortcutsShortcut.ShortcutsShortcut':@/accelerator/@
+for the accepted syntax.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    ShortcutLabelAcceleratorPropertyInfo    ,
+#endif
+    constructShortcutLabelAccelerator       ,
+    getShortcutLabelAccelerator             ,
+    setShortcutLabelAccelerator             ,
+#if ENABLE_OVERLOADING
+    shortcutLabelAccelerator                ,
+#endif
+
+
+-- ** disabledText #attr:disabledText#
+{- | The text that is displayed when no accelerator is set.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    ShortcutLabelDisabledTextPropertyInfo   ,
+#endif
+    constructShortcutLabelDisabledText      ,
+    getShortcutLabelDisabledText            ,
+    setShortcutLabelDisabledText            ,
+#if ENABLE_OVERLOADING
+    shortcutLabelDisabledText               ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ShortcutLabel = ShortcutLabel (ManagedPtr ShortcutLabel)
+foreign import ccall "gtk_shortcut_label_get_type"
+    c_gtk_shortcut_label_get_type :: IO GType
+
+instance GObject ShortcutLabel where
+    gobjectType = c_gtk_shortcut_label_get_type
+    
+
+-- | Type class for types which can be safely cast to `ShortcutLabel`, for instance with `toShortcutLabel`.
+class (GObject o, O.IsDescendantOf ShortcutLabel o) => IsShortcutLabel o
+instance (GObject o, O.IsDescendantOf ShortcutLabel o) => IsShortcutLabel o
+
+instance O.HasParentTypes ShortcutLabel
+type instance O.ParentTypes ShortcutLabel = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `ShortcutLabel`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toShortcutLabel :: (MonadIO m, IsShortcutLabel o) => o -> m ShortcutLabel
+toShortcutLabel = liftIO . unsafeCastTo ShortcutLabel
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ShortcutLabel`.
+noShortcutLabel :: Maybe ShortcutLabel
+noShortcutLabel = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveShortcutLabelMethod (t :: Symbol) (o :: *) :: * where
+    ResolveShortcutLabelMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveShortcutLabelMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveShortcutLabelMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveShortcutLabelMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveShortcutLabelMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveShortcutLabelMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveShortcutLabelMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveShortcutLabelMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveShortcutLabelMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveShortcutLabelMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveShortcutLabelMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveShortcutLabelMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveShortcutLabelMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveShortcutLabelMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveShortcutLabelMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveShortcutLabelMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveShortcutLabelMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveShortcutLabelMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveShortcutLabelMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveShortcutLabelMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveShortcutLabelMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveShortcutLabelMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveShortcutLabelMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveShortcutLabelMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveShortcutLabelMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveShortcutLabelMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveShortcutLabelMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveShortcutLabelMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveShortcutLabelMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveShortcutLabelMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveShortcutLabelMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveShortcutLabelMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveShortcutLabelMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveShortcutLabelMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveShortcutLabelMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveShortcutLabelMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveShortcutLabelMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveShortcutLabelMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveShortcutLabelMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveShortcutLabelMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveShortcutLabelMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveShortcutLabelMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveShortcutLabelMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveShortcutLabelMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveShortcutLabelMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveShortcutLabelMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveShortcutLabelMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveShortcutLabelMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveShortcutLabelMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveShortcutLabelMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveShortcutLabelMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveShortcutLabelMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveShortcutLabelMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveShortcutLabelMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveShortcutLabelMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveShortcutLabelMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveShortcutLabelMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveShortcutLabelMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveShortcutLabelMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveShortcutLabelMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveShortcutLabelMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveShortcutLabelMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveShortcutLabelMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveShortcutLabelMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveShortcutLabelMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveShortcutLabelMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveShortcutLabelMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveShortcutLabelMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveShortcutLabelMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveShortcutLabelMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveShortcutLabelMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveShortcutLabelMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveShortcutLabelMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveShortcutLabelMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveShortcutLabelMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveShortcutLabelMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveShortcutLabelMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveShortcutLabelMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveShortcutLabelMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveShortcutLabelMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveShortcutLabelMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveShortcutLabelMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveShortcutLabelMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveShortcutLabelMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveShortcutLabelMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveShortcutLabelMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveShortcutLabelMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveShortcutLabelMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveShortcutLabelMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveShortcutLabelMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveShortcutLabelMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveShortcutLabelMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveShortcutLabelMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveShortcutLabelMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveShortcutLabelMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveShortcutLabelMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveShortcutLabelMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveShortcutLabelMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveShortcutLabelMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveShortcutLabelMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveShortcutLabelMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveShortcutLabelMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveShortcutLabelMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveShortcutLabelMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveShortcutLabelMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveShortcutLabelMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveShortcutLabelMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveShortcutLabelMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveShortcutLabelMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveShortcutLabelMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveShortcutLabelMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveShortcutLabelMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveShortcutLabelMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveShortcutLabelMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveShortcutLabelMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveShortcutLabelMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveShortcutLabelMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveShortcutLabelMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveShortcutLabelMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveShortcutLabelMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveShortcutLabelMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveShortcutLabelMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveShortcutLabelMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveShortcutLabelMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveShortcutLabelMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveShortcutLabelMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveShortcutLabelMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveShortcutLabelMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveShortcutLabelMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveShortcutLabelMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveShortcutLabelMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveShortcutLabelMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveShortcutLabelMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveShortcutLabelMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveShortcutLabelMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveShortcutLabelMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveShortcutLabelMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveShortcutLabelMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveShortcutLabelMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveShortcutLabelMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveShortcutLabelMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveShortcutLabelMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveShortcutLabelMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveShortcutLabelMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveShortcutLabelMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveShortcutLabelMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveShortcutLabelMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveShortcutLabelMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveShortcutLabelMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveShortcutLabelMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveShortcutLabelMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveShortcutLabelMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveShortcutLabelMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveShortcutLabelMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveShortcutLabelMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveShortcutLabelMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveShortcutLabelMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveShortcutLabelMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveShortcutLabelMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveShortcutLabelMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveShortcutLabelMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveShortcutLabelMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveShortcutLabelMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveShortcutLabelMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveShortcutLabelMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveShortcutLabelMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveShortcutLabelMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveShortcutLabelMethod "getAccelerator" o = ShortcutLabelGetAcceleratorMethodInfo
+    ResolveShortcutLabelMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveShortcutLabelMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveShortcutLabelMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveShortcutLabelMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveShortcutLabelMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveShortcutLabelMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveShortcutLabelMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveShortcutLabelMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveShortcutLabelMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveShortcutLabelMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveShortcutLabelMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveShortcutLabelMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveShortcutLabelMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveShortcutLabelMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveShortcutLabelMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveShortcutLabelMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveShortcutLabelMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveShortcutLabelMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveShortcutLabelMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveShortcutLabelMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveShortcutLabelMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveShortcutLabelMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveShortcutLabelMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveShortcutLabelMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveShortcutLabelMethod "getDisabledText" o = ShortcutLabelGetDisabledTextMethodInfo
+    ResolveShortcutLabelMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveShortcutLabelMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveShortcutLabelMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveShortcutLabelMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveShortcutLabelMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveShortcutLabelMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveShortcutLabelMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveShortcutLabelMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveShortcutLabelMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveShortcutLabelMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveShortcutLabelMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveShortcutLabelMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveShortcutLabelMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveShortcutLabelMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveShortcutLabelMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveShortcutLabelMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveShortcutLabelMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveShortcutLabelMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveShortcutLabelMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveShortcutLabelMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveShortcutLabelMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveShortcutLabelMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveShortcutLabelMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveShortcutLabelMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveShortcutLabelMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveShortcutLabelMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveShortcutLabelMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveShortcutLabelMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveShortcutLabelMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveShortcutLabelMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveShortcutLabelMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveShortcutLabelMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveShortcutLabelMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveShortcutLabelMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveShortcutLabelMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveShortcutLabelMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveShortcutLabelMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveShortcutLabelMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveShortcutLabelMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveShortcutLabelMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveShortcutLabelMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveShortcutLabelMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveShortcutLabelMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveShortcutLabelMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveShortcutLabelMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveShortcutLabelMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveShortcutLabelMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveShortcutLabelMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveShortcutLabelMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveShortcutLabelMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveShortcutLabelMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveShortcutLabelMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveShortcutLabelMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveShortcutLabelMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveShortcutLabelMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveShortcutLabelMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveShortcutLabelMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveShortcutLabelMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveShortcutLabelMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveShortcutLabelMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveShortcutLabelMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveShortcutLabelMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveShortcutLabelMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveShortcutLabelMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveShortcutLabelMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveShortcutLabelMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveShortcutLabelMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveShortcutLabelMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveShortcutLabelMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveShortcutLabelMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveShortcutLabelMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveShortcutLabelMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveShortcutLabelMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveShortcutLabelMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveShortcutLabelMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveShortcutLabelMethod "setAccelerator" o = ShortcutLabelSetAcceleratorMethodInfo
+    ResolveShortcutLabelMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveShortcutLabelMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveShortcutLabelMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveShortcutLabelMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveShortcutLabelMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveShortcutLabelMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveShortcutLabelMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveShortcutLabelMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveShortcutLabelMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveShortcutLabelMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveShortcutLabelMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveShortcutLabelMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveShortcutLabelMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveShortcutLabelMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveShortcutLabelMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveShortcutLabelMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveShortcutLabelMethod "setDisabledText" o = ShortcutLabelSetDisabledTextMethodInfo
+    ResolveShortcutLabelMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveShortcutLabelMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveShortcutLabelMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveShortcutLabelMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveShortcutLabelMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveShortcutLabelMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveShortcutLabelMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveShortcutLabelMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveShortcutLabelMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveShortcutLabelMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveShortcutLabelMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveShortcutLabelMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveShortcutLabelMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveShortcutLabelMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveShortcutLabelMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveShortcutLabelMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveShortcutLabelMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveShortcutLabelMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveShortcutLabelMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveShortcutLabelMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveShortcutLabelMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveShortcutLabelMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveShortcutLabelMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveShortcutLabelMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveShortcutLabelMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveShortcutLabelMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveShortcutLabelMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveShortcutLabelMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveShortcutLabelMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveShortcutLabelMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveShortcutLabelMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveShortcutLabelMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveShortcutLabelMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveShortcutLabelMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveShortcutLabelMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveShortcutLabelMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveShortcutLabelMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveShortcutLabelMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveShortcutLabelMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveShortcutLabelMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveShortcutLabelMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveShortcutLabelMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveShortcutLabelMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveShortcutLabelMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveShortcutLabelMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveShortcutLabelMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveShortcutLabelMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveShortcutLabelMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveShortcutLabelMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveShortcutLabelMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveShortcutLabelMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveShortcutLabelMethod t ShortcutLabel, O.MethodInfo info ShortcutLabel p) => OL.IsLabel t (ShortcutLabel -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "accelerator"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@accelerator@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutLabel #accelerator
+@
+-}
+getShortcutLabelAccelerator :: (MonadIO m, IsShortcutLabel o) => o -> m (Maybe T.Text)
+getShortcutLabelAccelerator obj = liftIO $ B.Properties.getObjectPropertyString obj "accelerator"
+
+{- |
+Set the value of the “@accelerator@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutLabel [ #accelerator 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutLabelAccelerator :: (MonadIO m, IsShortcutLabel o) => o -> T.Text -> m ()
+setShortcutLabelAccelerator obj val = liftIO $ B.Properties.setObjectPropertyString obj "accelerator" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accelerator@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutLabelAccelerator :: (IsShortcutLabel o) => T.Text -> IO (GValueConstruct o)
+constructShortcutLabelAccelerator val = B.Properties.constructObjectPropertyString "accelerator" (Just val)
+
+#if ENABLE_OVERLOADING
+data ShortcutLabelAcceleratorPropertyInfo
+instance AttrInfo ShortcutLabelAcceleratorPropertyInfo where
+    type AttrAllowedOps ShortcutLabelAcceleratorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ShortcutLabelAcceleratorPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutLabelAcceleratorPropertyInfo = IsShortcutLabel
+    type AttrGetType ShortcutLabelAcceleratorPropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutLabelAcceleratorPropertyInfo = "accelerator"
+    type AttrOrigin ShortcutLabelAcceleratorPropertyInfo = ShortcutLabel
+    attrGet _ = getShortcutLabelAccelerator
+    attrSet _ = setShortcutLabelAccelerator
+    attrConstruct _ = constructShortcutLabelAccelerator
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "disabled-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@disabled-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutLabel #disabledText
+@
+-}
+getShortcutLabelDisabledText :: (MonadIO m, IsShortcutLabel o) => o -> m (Maybe T.Text)
+getShortcutLabelDisabledText obj = liftIO $ B.Properties.getObjectPropertyString obj "disabled-text"
+
+{- |
+Set the value of the “@disabled-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutLabel [ #disabledText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutLabelDisabledText :: (MonadIO m, IsShortcutLabel o) => o -> T.Text -> m ()
+setShortcutLabelDisabledText obj val = liftIO $ B.Properties.setObjectPropertyString obj "disabled-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@disabled-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutLabelDisabledText :: (IsShortcutLabel o) => T.Text -> IO (GValueConstruct o)
+constructShortcutLabelDisabledText val = B.Properties.constructObjectPropertyString "disabled-text" (Just val)
+
+#if ENABLE_OVERLOADING
+data ShortcutLabelDisabledTextPropertyInfo
+instance AttrInfo ShortcutLabelDisabledTextPropertyInfo where
+    type AttrAllowedOps ShortcutLabelDisabledTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ShortcutLabelDisabledTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutLabelDisabledTextPropertyInfo = IsShortcutLabel
+    type AttrGetType ShortcutLabelDisabledTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutLabelDisabledTextPropertyInfo = "disabled-text"
+    type AttrOrigin ShortcutLabelDisabledTextPropertyInfo = ShortcutLabel
+    attrGet _ = getShortcutLabelDisabledText
+    attrSet _ = setShortcutLabelDisabledText
+    attrConstruct _ = constructShortcutLabelDisabledText
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ShortcutLabel
+type instance O.AttributeList ShortcutLabel = ShortcutLabelAttributeList
+type ShortcutLabelAttributeList = ('[ '("accelerator", ShortcutLabelAcceleratorPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("disabledText", ShortcutLabelDisabledTextPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+shortcutLabelAccelerator :: AttrLabelProxy "accelerator"
+shortcutLabelAccelerator = AttrLabelProxy
+
+shortcutLabelDisabledText :: AttrLabelProxy "disabledText"
+shortcutLabelDisabledText = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ShortcutLabel = ShortcutLabelSignalList
+type ShortcutLabelSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ShortcutLabel::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "accelerator", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the initial accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ShortcutLabel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_shortcut_label_new" gtk_shortcut_label_new :: 
+    CString ->                              -- accelerator : TBasicType TUTF8
+    IO (Ptr ShortcutLabel)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ShortcutLabel.ShortcutLabel' with /@accelerator@/ set.
+
+/Since: 3.22/
+-}
+shortcutLabelNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@accelerator@/: the initial accelerator -}
+    -> m ShortcutLabel
+    {- ^ __Returns:__ a newly-allocated 'GI.Gtk.Objects.ShortcutLabel.ShortcutLabel' -}
+shortcutLabelNew accelerator = liftIO $ do
+    accelerator' <- textToCString accelerator
+    result <- gtk_shortcut_label_new accelerator'
+    checkUnexpectedReturnNULL "shortcutLabelNew" result
+    result' <- (wrapObject ShortcutLabel) result
+    freeMem accelerator'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ShortcutLabel::get_accelerator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "ShortcutLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkShortcutLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_shortcut_label_get_accelerator" gtk_shortcut_label_get_accelerator :: 
+    Ptr ShortcutLabel ->                    -- self : TInterface (Name {namespace = "Gtk", name = "ShortcutLabel"})
+    IO CString
+
+{- |
+Retrieves the current accelerator of /@self@/.
+
+/Since: 3.22/
+-}
+shortcutLabelGetAccelerator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsShortcutLabel a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.ShortcutLabel.ShortcutLabel' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the current accelerator. -}
+shortcutLabelGetAccelerator self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_shortcut_label_get_accelerator self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ShortcutLabelGetAcceleratorMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsShortcutLabel a) => O.MethodInfo ShortcutLabelGetAcceleratorMethodInfo a signature where
+    overloadedMethod _ = shortcutLabelGetAccelerator
+
+#endif
+
+-- method ShortcutLabel::get_disabled_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "ShortcutLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkShortcutLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_shortcut_label_get_disabled_text" gtk_shortcut_label_get_disabled_text :: 
+    Ptr ShortcutLabel ->                    -- self : TInterface (Name {namespace = "Gtk", name = "ShortcutLabel"})
+    IO CString
+
+{- |
+Retrieves the text that is displayed when no accelerator is set.
+
+/Since: 3.22/
+-}
+shortcutLabelGetDisabledText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsShortcutLabel a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.ShortcutLabel.ShortcutLabel' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the current text displayed when no
+accelerator is set. -}
+shortcutLabelGetDisabledText self = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    result <- gtk_shortcut_label_get_disabled_text self'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr self
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ShortcutLabelGetDisabledTextMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsShortcutLabel a) => O.MethodInfo ShortcutLabelGetDisabledTextMethodInfo a signature where
+    overloadedMethod _ = shortcutLabelGetDisabledText
+
+#endif
+
+-- method ShortcutLabel::set_accelerator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "ShortcutLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkShortcutLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_shortcut_label_set_accelerator" gtk_shortcut_label_set_accelerator :: 
+    Ptr ShortcutLabel ->                    -- self : TInterface (Name {namespace = "Gtk", name = "ShortcutLabel"})
+    CString ->                              -- accelerator : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the accelerator to be displayed by /@self@/.
+
+/Since: 3.22/
+-}
+shortcutLabelSetAccelerator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsShortcutLabel a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.ShortcutLabel.ShortcutLabel' -}
+    -> T.Text
+    {- ^ /@accelerator@/: the new accelerator -}
+    -> m ()
+shortcutLabelSetAccelerator self accelerator = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    accelerator' <- textToCString accelerator
+    gtk_shortcut_label_set_accelerator self' accelerator'
+    touchManagedPtr self
+    freeMem accelerator'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ShortcutLabelSetAcceleratorMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsShortcutLabel a) => O.MethodInfo ShortcutLabelSetAcceleratorMethodInfo a signature where
+    overloadedMethod _ = shortcutLabelSetAccelerator
+
+#endif
+
+-- method ShortcutLabel::set_disabled_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gtk", name = "ShortcutLabel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkShortcutLabel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "disabled_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text to be displayed when no accelerator is set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_shortcut_label_set_disabled_text" gtk_shortcut_label_set_disabled_text :: 
+    Ptr ShortcutLabel ->                    -- self : TInterface (Name {namespace = "Gtk", name = "ShortcutLabel"})
+    CString ->                              -- disabled_text : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text to be displayed by /@self@/ when no accelerator is set.
+
+/Since: 3.22/
+-}
+shortcutLabelSetDisabledText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsShortcutLabel a) =>
+    a
+    {- ^ /@self@/: a 'GI.Gtk.Objects.ShortcutLabel.ShortcutLabel' -}
+    -> T.Text
+    {- ^ /@disabledText@/: the text to be displayed when no accelerator is set -}
+    -> m ()
+shortcutLabelSetDisabledText self disabledText = liftIO $ do
+    self' <- unsafeManagedPtrCastPtr self
+    disabledText' <- textToCString disabledText
+    gtk_shortcut_label_set_disabled_text self' disabledText'
+    touchManagedPtr self
+    freeMem disabledText'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ShortcutLabelSetDisabledTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsShortcutLabel a) => O.MethodInfo ShortcutLabelSetDisabledTextMethodInfo a signature where
+    overloadedMethod _ = shortcutLabelSetDisabledText
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ShortcutLabel.hs-boot b/GI/Gtk/Objects/ShortcutLabel.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutLabel.hs-boot
@@ -0,0 +1,47 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ShortcutLabel where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ShortcutLabel = ShortcutLabel (ManagedPtr ShortcutLabel)
+instance GObject ShortcutLabel where
+class (GObject o, O.IsDescendantOf ShortcutLabel o) => IsShortcutLabel o
+instance (GObject o, O.IsDescendantOf ShortcutLabel o) => IsShortcutLabel o
+instance O.HasParentTypes ShortcutLabel
+#if ENABLE_OVERLOADING
+data ShortcutLabelAcceleratorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutLabelDisabledTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutLabelGetAcceleratorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutLabelGetDisabledTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutLabelSetAcceleratorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutLabelSetDisabledTextMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ShortcutsGroup.hs b/GI/Gtk/Objects/ShortcutsGroup.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutsGroup.hs
@@ -0,0 +1,787 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkShortcutsGroup represents a group of related keyboard shortcuts
+or gestures. The group has a title. It may optionally be associated with
+a view of the application, which can be used to show only relevant shortcuts
+depending on the application context.
+
+This widget is only meant to be used with 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ShortcutsGroup
+    ( 
+
+-- * Exported types
+    ShortcutsGroup(..)                      ,
+    IsShortcutsGroup                        ,
+    toShortcutsGroup                        ,
+    noShortcutsGroup                        ,
+
+
+ -- * Properties
+-- ** accelSizeGroup #attr:accelSizeGroup#
+{- | The size group for the accelerator portion of shortcuts in this group.
+
+This is used internally by GTK+, and must not be modified by applications.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsGroupAccelSizeGroupPropertyInfo,
+#endif
+    clearShortcutsGroupAccelSizeGroup       ,
+    constructShortcutsGroupAccelSizeGroup   ,
+    setShortcutsGroupAccelSizeGroup         ,
+#if ENABLE_OVERLOADING
+    shortcutsGroupAccelSizeGroup            ,
+#endif
+
+
+-- ** height #attr:height#
+{- | A rough measure for the number of lines in this group.
+
+This is used internally by GTK+, and is not useful for applications.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsGroupHeightPropertyInfo        ,
+#endif
+    getShortcutsGroupHeight                 ,
+#if ENABLE_OVERLOADING
+    shortcutsGroupHeight                    ,
+#endif
+
+
+-- ** title #attr:title#
+{- | The title for this group of shortcuts.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsGroupTitlePropertyInfo         ,
+#endif
+    clearShortcutsGroupTitle                ,
+    constructShortcutsGroupTitle            ,
+    getShortcutsGroupTitle                  ,
+    setShortcutsGroupTitle                  ,
+#if ENABLE_OVERLOADING
+    shortcutsGroupTitle                     ,
+#endif
+
+
+-- ** titleSizeGroup #attr:titleSizeGroup#
+{- | The size group for the textual portion of shortcuts in this group.
+
+This is used internally by GTK+, and must not be modified by applications.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsGroupTitleSizeGroupPropertyInfo,
+#endif
+    clearShortcutsGroupTitleSizeGroup       ,
+    constructShortcutsGroupTitleSizeGroup   ,
+    setShortcutsGroupTitleSizeGroup         ,
+#if ENABLE_OVERLOADING
+    shortcutsGroupTitleSizeGroup            ,
+#endif
+
+
+-- ** view #attr:view#
+{- | An optional view that the shortcuts in this group are relevant for.
+The group will be hidden if the 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow':@/view-name/@ property
+does not match the view of this group.
+
+Set this to 'Nothing' to make the group always visible.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsGroupViewPropertyInfo          ,
+#endif
+    clearShortcutsGroupView                 ,
+    constructShortcutsGroupView             ,
+    getShortcutsGroupView                   ,
+    setShortcutsGroupView                   ,
+#if ENABLE_OVERLOADING
+    shortcutsGroupView                      ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.SizeGroup as Gtk.SizeGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ShortcutsGroup = ShortcutsGroup (ManagedPtr ShortcutsGroup)
+foreign import ccall "gtk_shortcuts_group_get_type"
+    c_gtk_shortcuts_group_get_type :: IO GType
+
+instance GObject ShortcutsGroup where
+    gobjectType = c_gtk_shortcuts_group_get_type
+    
+
+-- | Type class for types which can be safely cast to `ShortcutsGroup`, for instance with `toShortcutsGroup`.
+class (GObject o, O.IsDescendantOf ShortcutsGroup o) => IsShortcutsGroup o
+instance (GObject o, O.IsDescendantOf ShortcutsGroup o) => IsShortcutsGroup o
+
+instance O.HasParentTypes ShortcutsGroup
+type instance O.ParentTypes ShortcutsGroup = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `ShortcutsGroup`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toShortcutsGroup :: (MonadIO m, IsShortcutsGroup o) => o -> m ShortcutsGroup
+toShortcutsGroup = liftIO . unsafeCastTo ShortcutsGroup
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ShortcutsGroup`.
+noShortcutsGroup :: Maybe ShortcutsGroup
+noShortcutsGroup = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveShortcutsGroupMethod (t :: Symbol) (o :: *) :: * where
+    ResolveShortcutsGroupMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveShortcutsGroupMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveShortcutsGroupMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveShortcutsGroupMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveShortcutsGroupMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveShortcutsGroupMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveShortcutsGroupMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveShortcutsGroupMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveShortcutsGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveShortcutsGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveShortcutsGroupMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveShortcutsGroupMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveShortcutsGroupMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveShortcutsGroupMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveShortcutsGroupMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveShortcutsGroupMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveShortcutsGroupMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveShortcutsGroupMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveShortcutsGroupMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveShortcutsGroupMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveShortcutsGroupMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveShortcutsGroupMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveShortcutsGroupMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveShortcutsGroupMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveShortcutsGroupMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveShortcutsGroupMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveShortcutsGroupMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveShortcutsGroupMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveShortcutsGroupMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveShortcutsGroupMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveShortcutsGroupMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveShortcutsGroupMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveShortcutsGroupMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveShortcutsGroupMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveShortcutsGroupMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveShortcutsGroupMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveShortcutsGroupMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveShortcutsGroupMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveShortcutsGroupMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveShortcutsGroupMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveShortcutsGroupMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveShortcutsGroupMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveShortcutsGroupMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveShortcutsGroupMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveShortcutsGroupMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveShortcutsGroupMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveShortcutsGroupMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveShortcutsGroupMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveShortcutsGroupMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveShortcutsGroupMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveShortcutsGroupMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveShortcutsGroupMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveShortcutsGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveShortcutsGroupMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveShortcutsGroupMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveShortcutsGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveShortcutsGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveShortcutsGroupMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveShortcutsGroupMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveShortcutsGroupMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveShortcutsGroupMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveShortcutsGroupMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveShortcutsGroupMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveShortcutsGroupMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveShortcutsGroupMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveShortcutsGroupMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveShortcutsGroupMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveShortcutsGroupMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveShortcutsGroupMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveShortcutsGroupMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveShortcutsGroupMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveShortcutsGroupMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveShortcutsGroupMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveShortcutsGroupMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveShortcutsGroupMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveShortcutsGroupMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveShortcutsGroupMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveShortcutsGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveShortcutsGroupMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveShortcutsGroupMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveShortcutsGroupMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveShortcutsGroupMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveShortcutsGroupMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveShortcutsGroupMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveShortcutsGroupMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveShortcutsGroupMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveShortcutsGroupMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveShortcutsGroupMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveShortcutsGroupMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveShortcutsGroupMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveShortcutsGroupMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveShortcutsGroupMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveShortcutsGroupMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveShortcutsGroupMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveShortcutsGroupMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveShortcutsGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveShortcutsGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveShortcutsGroupMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveShortcutsGroupMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveShortcutsGroupMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveShortcutsGroupMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveShortcutsGroupMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveShortcutsGroupMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveShortcutsGroupMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveShortcutsGroupMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveShortcutsGroupMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveShortcutsGroupMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveShortcutsGroupMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveShortcutsGroupMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveShortcutsGroupMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveShortcutsGroupMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveShortcutsGroupMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveShortcutsGroupMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveShortcutsGroupMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveShortcutsGroupMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveShortcutsGroupMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveShortcutsGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveShortcutsGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveShortcutsGroupMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveShortcutsGroupMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveShortcutsGroupMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveShortcutsGroupMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveShortcutsGroupMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveShortcutsGroupMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveShortcutsGroupMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveShortcutsGroupMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveShortcutsGroupMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveShortcutsGroupMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveShortcutsGroupMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveShortcutsGroupMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveShortcutsGroupMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveShortcutsGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveShortcutsGroupMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveShortcutsGroupMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveShortcutsGroupMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveShortcutsGroupMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveShortcutsGroupMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveShortcutsGroupMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveShortcutsGroupMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveShortcutsGroupMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveShortcutsGroupMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveShortcutsGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveShortcutsGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveShortcutsGroupMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveShortcutsGroupMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveShortcutsGroupMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveShortcutsGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveShortcutsGroupMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveShortcutsGroupMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveShortcutsGroupMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveShortcutsGroupMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveShortcutsGroupMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveShortcutsGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveShortcutsGroupMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveShortcutsGroupMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveShortcutsGroupMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveShortcutsGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveShortcutsGroupMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveShortcutsGroupMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveShortcutsGroupMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveShortcutsGroupMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveShortcutsGroupMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveShortcutsGroupMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveShortcutsGroupMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveShortcutsGroupMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveShortcutsGroupMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveShortcutsGroupMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveShortcutsGroupMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveShortcutsGroupMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveShortcutsGroupMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveShortcutsGroupMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveShortcutsGroupMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveShortcutsGroupMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveShortcutsGroupMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveShortcutsGroupMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveShortcutsGroupMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveShortcutsGroupMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveShortcutsGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveShortcutsGroupMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveShortcutsGroupMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveShortcutsGroupMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveShortcutsGroupMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveShortcutsGroupMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveShortcutsGroupMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveShortcutsGroupMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveShortcutsGroupMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveShortcutsGroupMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveShortcutsGroupMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveShortcutsGroupMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveShortcutsGroupMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveShortcutsGroupMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveShortcutsGroupMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveShortcutsGroupMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveShortcutsGroupMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveShortcutsGroupMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveShortcutsGroupMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveShortcutsGroupMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveShortcutsGroupMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveShortcutsGroupMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveShortcutsGroupMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveShortcutsGroupMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveShortcutsGroupMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveShortcutsGroupMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveShortcutsGroupMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveShortcutsGroupMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveShortcutsGroupMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveShortcutsGroupMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveShortcutsGroupMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveShortcutsGroupMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveShortcutsGroupMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveShortcutsGroupMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveShortcutsGroupMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveShortcutsGroupMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveShortcutsGroupMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveShortcutsGroupMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveShortcutsGroupMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveShortcutsGroupMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveShortcutsGroupMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveShortcutsGroupMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveShortcutsGroupMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveShortcutsGroupMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveShortcutsGroupMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveShortcutsGroupMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveShortcutsGroupMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveShortcutsGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveShortcutsGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveShortcutsGroupMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveShortcutsGroupMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveShortcutsGroupMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveShortcutsGroupMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveShortcutsGroupMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveShortcutsGroupMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveShortcutsGroupMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveShortcutsGroupMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveShortcutsGroupMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveShortcutsGroupMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveShortcutsGroupMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveShortcutsGroupMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveShortcutsGroupMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveShortcutsGroupMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveShortcutsGroupMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveShortcutsGroupMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveShortcutsGroupMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveShortcutsGroupMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveShortcutsGroupMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveShortcutsGroupMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveShortcutsGroupMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveShortcutsGroupMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveShortcutsGroupMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveShortcutsGroupMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveShortcutsGroupMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveShortcutsGroupMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveShortcutsGroupMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveShortcutsGroupMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveShortcutsGroupMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveShortcutsGroupMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveShortcutsGroupMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveShortcutsGroupMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveShortcutsGroupMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveShortcutsGroupMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveShortcutsGroupMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveShortcutsGroupMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveShortcutsGroupMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveShortcutsGroupMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveShortcutsGroupMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveShortcutsGroupMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveShortcutsGroupMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveShortcutsGroupMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveShortcutsGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveShortcutsGroupMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveShortcutsGroupMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveShortcutsGroupMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveShortcutsGroupMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveShortcutsGroupMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveShortcutsGroupMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveShortcutsGroupMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveShortcutsGroupMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveShortcutsGroupMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveShortcutsGroupMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveShortcutsGroupMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveShortcutsGroupMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveShortcutsGroupMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveShortcutsGroupMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveShortcutsGroupMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveShortcutsGroupMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveShortcutsGroupMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveShortcutsGroupMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveShortcutsGroupMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveShortcutsGroupMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveShortcutsGroupMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveShortcutsGroupMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveShortcutsGroupMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveShortcutsGroupMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveShortcutsGroupMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveShortcutsGroupMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveShortcutsGroupMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveShortcutsGroupMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveShortcutsGroupMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveShortcutsGroupMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveShortcutsGroupMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveShortcutsGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveShortcutsGroupMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveShortcutsGroupMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveShortcutsGroupMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveShortcutsGroupMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveShortcutsGroupMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveShortcutsGroupMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveShortcutsGroupMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveShortcutsGroupMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveShortcutsGroupMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveShortcutsGroupMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveShortcutsGroupMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveShortcutsGroupMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveShortcutsGroupMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveShortcutsGroupMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveShortcutsGroupMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveShortcutsGroupMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveShortcutsGroupMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveShortcutsGroupMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveShortcutsGroupMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveShortcutsGroupMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveShortcutsGroupMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveShortcutsGroupMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveShortcutsGroupMethod t ShortcutsGroup, O.MethodInfo info ShortcutsGroup p) => OL.IsLabel t (ShortcutsGroup -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "accel-size-group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@accel-size-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsGroup [ #accelSizeGroup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsGroupAccelSizeGroup :: (MonadIO m, IsShortcutsGroup o, Gtk.SizeGroup.IsSizeGroup a) => o -> a -> m ()
+setShortcutsGroupAccelSizeGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accel-size-group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-size-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsGroupAccelSizeGroup :: (IsShortcutsGroup o, Gtk.SizeGroup.IsSizeGroup a) => a -> IO (GValueConstruct o)
+constructShortcutsGroupAccelSizeGroup val = B.Properties.constructObjectPropertyObject "accel-size-group" (Just val)
+
+{- |
+Set the value of the “@accel-size-group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelSizeGroup
+@
+-}
+clearShortcutsGroupAccelSizeGroup :: (MonadIO m, IsShortcutsGroup o) => o -> m ()
+clearShortcutsGroupAccelSizeGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "accel-size-group" (Nothing :: Maybe Gtk.SizeGroup.SizeGroup)
+
+#if ENABLE_OVERLOADING
+data ShortcutsGroupAccelSizeGroupPropertyInfo
+instance AttrInfo ShortcutsGroupAccelSizeGroupPropertyInfo where
+    type AttrAllowedOps ShortcutsGroupAccelSizeGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsGroupAccelSizeGroupPropertyInfo = Gtk.SizeGroup.IsSizeGroup
+    type AttrBaseTypeConstraint ShortcutsGroupAccelSizeGroupPropertyInfo = IsShortcutsGroup
+    type AttrGetType ShortcutsGroupAccelSizeGroupPropertyInfo = ()
+    type AttrLabel ShortcutsGroupAccelSizeGroupPropertyInfo = "accel-size-group"
+    type AttrOrigin ShortcutsGroupAccelSizeGroupPropertyInfo = ShortcutsGroup
+    attrGet _ = undefined
+    attrSet _ = setShortcutsGroupAccelSizeGroup
+    attrConstruct _ = constructShortcutsGroupAccelSizeGroup
+    attrClear _ = clearShortcutsGroupAccelSizeGroup
+#endif
+
+-- VVV Prop "height"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsGroup #height
+@
+-}
+getShortcutsGroupHeight :: (MonadIO m, IsShortcutsGroup o) => o -> m Word32
+getShortcutsGroupHeight obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "height"
+
+#if ENABLE_OVERLOADING
+data ShortcutsGroupHeightPropertyInfo
+instance AttrInfo ShortcutsGroupHeightPropertyInfo where
+    type AttrAllowedOps ShortcutsGroupHeightPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint ShortcutsGroupHeightPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint ShortcutsGroupHeightPropertyInfo = IsShortcutsGroup
+    type AttrGetType ShortcutsGroupHeightPropertyInfo = Word32
+    type AttrLabel ShortcutsGroupHeightPropertyInfo = "height"
+    type AttrOrigin ShortcutsGroupHeightPropertyInfo = ShortcutsGroup
+    attrGet _ = getShortcutsGroupHeight
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsGroup #title
+@
+-}
+getShortcutsGroupTitle :: (MonadIO m, IsShortcutsGroup o) => o -> m (Maybe T.Text)
+getShortcutsGroupTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsGroup [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsGroupTitle :: (MonadIO m, IsShortcutsGroup o) => o -> T.Text -> m ()
+setShortcutsGroupTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsGroupTitle :: (IsShortcutsGroup o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsGroupTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+{- |
+Set the value of the “@title@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #title
+@
+-}
+clearShortcutsGroupTitle :: (MonadIO m, IsShortcutsGroup o) => o -> m ()
+clearShortcutsGroupTitle obj = liftIO $ B.Properties.setObjectPropertyString obj "title" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsGroupTitlePropertyInfo
+instance AttrInfo ShortcutsGroupTitlePropertyInfo where
+    type AttrAllowedOps ShortcutsGroupTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsGroupTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsGroupTitlePropertyInfo = IsShortcutsGroup
+    type AttrGetType ShortcutsGroupTitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsGroupTitlePropertyInfo = "title"
+    type AttrOrigin ShortcutsGroupTitlePropertyInfo = ShortcutsGroup
+    attrGet _ = getShortcutsGroupTitle
+    attrSet _ = setShortcutsGroupTitle
+    attrConstruct _ = constructShortcutsGroupTitle
+    attrClear _ = clearShortcutsGroupTitle
+#endif
+
+-- VVV Prop "title-size-group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@title-size-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsGroup [ #titleSizeGroup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsGroupTitleSizeGroup :: (MonadIO m, IsShortcutsGroup o, Gtk.SizeGroup.IsSizeGroup a) => o -> a -> m ()
+setShortcutsGroupTitleSizeGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "title-size-group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title-size-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsGroupTitleSizeGroup :: (IsShortcutsGroup o, Gtk.SizeGroup.IsSizeGroup a) => a -> IO (GValueConstruct o)
+constructShortcutsGroupTitleSizeGroup val = B.Properties.constructObjectPropertyObject "title-size-group" (Just val)
+
+{- |
+Set the value of the “@title-size-group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #titleSizeGroup
+@
+-}
+clearShortcutsGroupTitleSizeGroup :: (MonadIO m, IsShortcutsGroup o) => o -> m ()
+clearShortcutsGroupTitleSizeGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "title-size-group" (Nothing :: Maybe Gtk.SizeGroup.SizeGroup)
+
+#if ENABLE_OVERLOADING
+data ShortcutsGroupTitleSizeGroupPropertyInfo
+instance AttrInfo ShortcutsGroupTitleSizeGroupPropertyInfo where
+    type AttrAllowedOps ShortcutsGroupTitleSizeGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsGroupTitleSizeGroupPropertyInfo = Gtk.SizeGroup.IsSizeGroup
+    type AttrBaseTypeConstraint ShortcutsGroupTitleSizeGroupPropertyInfo = IsShortcutsGroup
+    type AttrGetType ShortcutsGroupTitleSizeGroupPropertyInfo = ()
+    type AttrLabel ShortcutsGroupTitleSizeGroupPropertyInfo = "title-size-group"
+    type AttrOrigin ShortcutsGroupTitleSizeGroupPropertyInfo = ShortcutsGroup
+    attrGet _ = undefined
+    attrSet _ = setShortcutsGroupTitleSizeGroup
+    attrConstruct _ = constructShortcutsGroupTitleSizeGroup
+    attrClear _ = clearShortcutsGroupTitleSizeGroup
+#endif
+
+-- VVV Prop "view"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@view@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsGroup #view
+@
+-}
+getShortcutsGroupView :: (MonadIO m, IsShortcutsGroup o) => o -> m (Maybe T.Text)
+getShortcutsGroupView obj = liftIO $ B.Properties.getObjectPropertyString obj "view"
+
+{- |
+Set the value of the “@view@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsGroup [ #view 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsGroupView :: (MonadIO m, IsShortcutsGroup o) => o -> T.Text -> m ()
+setShortcutsGroupView obj val = liftIO $ B.Properties.setObjectPropertyString obj "view" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@view@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsGroupView :: (IsShortcutsGroup o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsGroupView val = B.Properties.constructObjectPropertyString "view" (Just val)
+
+{- |
+Set the value of the “@view@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #view
+@
+-}
+clearShortcutsGroupView :: (MonadIO m, IsShortcutsGroup o) => o -> m ()
+clearShortcutsGroupView obj = liftIO $ B.Properties.setObjectPropertyString obj "view" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsGroupViewPropertyInfo
+instance AttrInfo ShortcutsGroupViewPropertyInfo where
+    type AttrAllowedOps ShortcutsGroupViewPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsGroupViewPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsGroupViewPropertyInfo = IsShortcutsGroup
+    type AttrGetType ShortcutsGroupViewPropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsGroupViewPropertyInfo = "view"
+    type AttrOrigin ShortcutsGroupViewPropertyInfo = ShortcutsGroup
+    attrGet _ = getShortcutsGroupView
+    attrSet _ = setShortcutsGroupView
+    attrConstruct _ = constructShortcutsGroupView
+    attrClear _ = clearShortcutsGroupView
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ShortcutsGroup
+type instance O.AttributeList ShortcutsGroup = ShortcutsGroupAttributeList
+type ShortcutsGroupAttributeList = ('[ '("accelSizeGroup", ShortcutsGroupAccelSizeGroupPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("height", ShortcutsGroupHeightPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", ShortcutsGroupTitlePropertyInfo), '("titleSizeGroup", ShortcutsGroupTitleSizeGroupPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("view", ShortcutsGroupViewPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+shortcutsGroupAccelSizeGroup :: AttrLabelProxy "accelSizeGroup"
+shortcutsGroupAccelSizeGroup = AttrLabelProxy
+
+shortcutsGroupHeight :: AttrLabelProxy "height"
+shortcutsGroupHeight = AttrLabelProxy
+
+shortcutsGroupTitle :: AttrLabelProxy "title"
+shortcutsGroupTitle = AttrLabelProxy
+
+shortcutsGroupTitleSizeGroup :: AttrLabelProxy "titleSizeGroup"
+shortcutsGroupTitleSizeGroup = AttrLabelProxy
+
+shortcutsGroupView :: AttrLabelProxy "view"
+shortcutsGroupView = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ShortcutsGroup = ShortcutsGroupSignalList
+type ShortcutsGroupSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ShortcutsGroup.hs-boot b/GI/Gtk/Objects/ShortcutsGroup.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutsGroup.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ShortcutsGroup where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ShortcutsGroup = ShortcutsGroup (ManagedPtr ShortcutsGroup)
+instance GObject ShortcutsGroup where
+class (GObject o, O.IsDescendantOf ShortcutsGroup o) => IsShortcutsGroup o
+instance (GObject o, O.IsDescendantOf ShortcutsGroup o) => IsShortcutsGroup o
+instance O.HasParentTypes ShortcutsGroup
+#if ENABLE_OVERLOADING
+data ShortcutsGroupAccelSizeGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsGroupHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsGroupTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsGroupTitleSizeGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsGroupViewPropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/ShortcutsSection.hs b/GI/Gtk/Objects/ShortcutsSection.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutsSection.hs
@@ -0,0 +1,853 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkShortcutsSection collects all the keyboard shortcuts and gestures
+for a major application mode. If your application needs multiple sections,
+you should give each section a unique 'GI.Gtk.Objects.ShortcutsSection.ShortcutsSection':@/section-name/@ and
+a 'GI.Gtk.Objects.ShortcutsSection.ShortcutsSection':@/title/@ that can be shown in the section selector of
+the GtkShortcutsWindow.
+
+The 'GI.Gtk.Objects.ShortcutsSection.ShortcutsSection':@/max-height/@ property can be used to influence how
+the groups in the section are distributed over pages and columns.
+
+This widget is only meant to be used with 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ShortcutsSection
+    ( 
+
+-- * Exported types
+    ShortcutsSection(..)                    ,
+    IsShortcutsSection                      ,
+    toShortcutsSection                      ,
+    noShortcutsSection                      ,
+
+
+ -- * Properties
+-- ** maxHeight #attr:maxHeight#
+{- | The maximum number of lines to allow per column. This property can
+be used to influence how the groups in this section are distributed
+across pages and columns. The default value of 15 should work in
+for most cases.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsSectionMaxHeightPropertyInfo   ,
+#endif
+    constructShortcutsSectionMaxHeight      ,
+    getShortcutsSectionMaxHeight            ,
+    setShortcutsSectionMaxHeight            ,
+#if ENABLE_OVERLOADING
+    shortcutsSectionMaxHeight               ,
+#endif
+
+
+-- ** sectionName #attr:sectionName#
+{- | A unique name to identify this section among the sections
+added to the GtkShortcutsWindow. Setting the 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow':@/section-name/@
+property to this string will make this section shown in the
+GtkShortcutsWindow.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsSectionSectionNamePropertyInfo ,
+#endif
+    clearShortcutsSectionSectionName        ,
+    constructShortcutsSectionSectionName    ,
+    getShortcutsSectionSectionName          ,
+    setShortcutsSectionSectionName          ,
+#if ENABLE_OVERLOADING
+    shortcutsSectionSectionName             ,
+#endif
+
+
+-- ** title #attr:title#
+{- | The string to show in the section selector of the GtkShortcutsWindow
+for this section. If there is only one section, you don\'t need to
+set a title, since the section selector will not be shown in this case.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsSectionTitlePropertyInfo       ,
+#endif
+    clearShortcutsSectionTitle              ,
+    constructShortcutsSectionTitle          ,
+    getShortcutsSectionTitle                ,
+    setShortcutsSectionTitle                ,
+#if ENABLE_OVERLOADING
+    shortcutsSectionTitle                   ,
+#endif
+
+
+-- ** viewName #attr:viewName#
+{- | A view name to filter the groups in this section by.
+See 'GI.Gtk.Objects.ShortcutsGroup.ShortcutsGroup':@/view/@.
+
+Applications are expected to use the 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow':@/view-name/@
+property for this purpose.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsSectionViewNamePropertyInfo    ,
+#endif
+    clearShortcutsSectionViewName           ,
+    constructShortcutsSectionViewName       ,
+    getShortcutsSectionViewName             ,
+    setShortcutsSectionViewName             ,
+#if ENABLE_OVERLOADING
+    shortcutsSectionViewName                ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** changeCurrentPage #signal:changeCurrentPage#
+
+    C_ShortcutsSectionChangeCurrentPageCallback,
+    ShortcutsSectionChangeCurrentPageCallback,
+#if ENABLE_OVERLOADING
+    ShortcutsSectionChangeCurrentPageSignalInfo,
+#endif
+    afterShortcutsSectionChangeCurrentPage  ,
+    genClosure_ShortcutsSectionChangeCurrentPage,
+    mk_ShortcutsSectionChangeCurrentPageCallback,
+    noShortcutsSectionChangeCurrentPageCallback,
+    onShortcutsSectionChangeCurrentPage     ,
+    wrap_ShortcutsSectionChangeCurrentPageCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ShortcutsSection = ShortcutsSection (ManagedPtr ShortcutsSection)
+foreign import ccall "gtk_shortcuts_section_get_type"
+    c_gtk_shortcuts_section_get_type :: IO GType
+
+instance GObject ShortcutsSection where
+    gobjectType = c_gtk_shortcuts_section_get_type
+    
+
+-- | Type class for types which can be safely cast to `ShortcutsSection`, for instance with `toShortcutsSection`.
+class (GObject o, O.IsDescendantOf ShortcutsSection o) => IsShortcutsSection o
+instance (GObject o, O.IsDescendantOf ShortcutsSection o) => IsShortcutsSection o
+
+instance O.HasParentTypes ShortcutsSection
+type instance O.ParentTypes ShortcutsSection = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `ShortcutsSection`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toShortcutsSection :: (MonadIO m, IsShortcutsSection o) => o -> m ShortcutsSection
+toShortcutsSection = liftIO . unsafeCastTo ShortcutsSection
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ShortcutsSection`.
+noShortcutsSection :: Maybe ShortcutsSection
+noShortcutsSection = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveShortcutsSectionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveShortcutsSectionMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveShortcutsSectionMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveShortcutsSectionMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveShortcutsSectionMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveShortcutsSectionMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveShortcutsSectionMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveShortcutsSectionMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveShortcutsSectionMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveShortcutsSectionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveShortcutsSectionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveShortcutsSectionMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveShortcutsSectionMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveShortcutsSectionMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveShortcutsSectionMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveShortcutsSectionMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveShortcutsSectionMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveShortcutsSectionMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveShortcutsSectionMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveShortcutsSectionMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveShortcutsSectionMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveShortcutsSectionMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveShortcutsSectionMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveShortcutsSectionMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveShortcutsSectionMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveShortcutsSectionMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveShortcutsSectionMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveShortcutsSectionMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveShortcutsSectionMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveShortcutsSectionMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveShortcutsSectionMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveShortcutsSectionMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveShortcutsSectionMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveShortcutsSectionMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveShortcutsSectionMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveShortcutsSectionMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveShortcutsSectionMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveShortcutsSectionMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveShortcutsSectionMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveShortcutsSectionMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveShortcutsSectionMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveShortcutsSectionMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveShortcutsSectionMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveShortcutsSectionMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveShortcutsSectionMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveShortcutsSectionMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveShortcutsSectionMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveShortcutsSectionMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveShortcutsSectionMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveShortcutsSectionMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveShortcutsSectionMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveShortcutsSectionMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveShortcutsSectionMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveShortcutsSectionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveShortcutsSectionMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveShortcutsSectionMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveShortcutsSectionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveShortcutsSectionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveShortcutsSectionMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveShortcutsSectionMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveShortcutsSectionMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveShortcutsSectionMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveShortcutsSectionMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveShortcutsSectionMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveShortcutsSectionMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveShortcutsSectionMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveShortcutsSectionMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveShortcutsSectionMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveShortcutsSectionMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveShortcutsSectionMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveShortcutsSectionMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveShortcutsSectionMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveShortcutsSectionMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveShortcutsSectionMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveShortcutsSectionMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveShortcutsSectionMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveShortcutsSectionMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveShortcutsSectionMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveShortcutsSectionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveShortcutsSectionMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveShortcutsSectionMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveShortcutsSectionMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveShortcutsSectionMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveShortcutsSectionMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveShortcutsSectionMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveShortcutsSectionMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveShortcutsSectionMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveShortcutsSectionMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveShortcutsSectionMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveShortcutsSectionMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveShortcutsSectionMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveShortcutsSectionMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveShortcutsSectionMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveShortcutsSectionMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveShortcutsSectionMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveShortcutsSectionMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveShortcutsSectionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveShortcutsSectionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveShortcutsSectionMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveShortcutsSectionMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveShortcutsSectionMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveShortcutsSectionMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveShortcutsSectionMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveShortcutsSectionMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveShortcutsSectionMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveShortcutsSectionMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveShortcutsSectionMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveShortcutsSectionMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveShortcutsSectionMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveShortcutsSectionMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveShortcutsSectionMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveShortcutsSectionMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveShortcutsSectionMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveShortcutsSectionMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveShortcutsSectionMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveShortcutsSectionMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveShortcutsSectionMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveShortcutsSectionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveShortcutsSectionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveShortcutsSectionMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveShortcutsSectionMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveShortcutsSectionMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveShortcutsSectionMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveShortcutsSectionMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveShortcutsSectionMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveShortcutsSectionMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveShortcutsSectionMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveShortcutsSectionMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveShortcutsSectionMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveShortcutsSectionMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveShortcutsSectionMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveShortcutsSectionMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveShortcutsSectionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveShortcutsSectionMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveShortcutsSectionMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveShortcutsSectionMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveShortcutsSectionMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveShortcutsSectionMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveShortcutsSectionMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveShortcutsSectionMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveShortcutsSectionMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveShortcutsSectionMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveShortcutsSectionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveShortcutsSectionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveShortcutsSectionMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveShortcutsSectionMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveShortcutsSectionMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveShortcutsSectionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveShortcutsSectionMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveShortcutsSectionMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveShortcutsSectionMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveShortcutsSectionMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveShortcutsSectionMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveShortcutsSectionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveShortcutsSectionMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveShortcutsSectionMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveShortcutsSectionMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveShortcutsSectionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveShortcutsSectionMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveShortcutsSectionMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveShortcutsSectionMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveShortcutsSectionMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveShortcutsSectionMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveShortcutsSectionMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveShortcutsSectionMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveShortcutsSectionMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveShortcutsSectionMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveShortcutsSectionMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveShortcutsSectionMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveShortcutsSectionMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveShortcutsSectionMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveShortcutsSectionMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveShortcutsSectionMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveShortcutsSectionMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveShortcutsSectionMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveShortcutsSectionMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveShortcutsSectionMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveShortcutsSectionMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveShortcutsSectionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveShortcutsSectionMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveShortcutsSectionMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveShortcutsSectionMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveShortcutsSectionMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveShortcutsSectionMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveShortcutsSectionMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveShortcutsSectionMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveShortcutsSectionMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveShortcutsSectionMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveShortcutsSectionMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveShortcutsSectionMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveShortcutsSectionMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveShortcutsSectionMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveShortcutsSectionMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveShortcutsSectionMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveShortcutsSectionMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveShortcutsSectionMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveShortcutsSectionMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveShortcutsSectionMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveShortcutsSectionMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveShortcutsSectionMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveShortcutsSectionMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveShortcutsSectionMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveShortcutsSectionMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveShortcutsSectionMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveShortcutsSectionMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveShortcutsSectionMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveShortcutsSectionMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveShortcutsSectionMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveShortcutsSectionMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveShortcutsSectionMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveShortcutsSectionMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveShortcutsSectionMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveShortcutsSectionMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveShortcutsSectionMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveShortcutsSectionMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveShortcutsSectionMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveShortcutsSectionMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveShortcutsSectionMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveShortcutsSectionMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveShortcutsSectionMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveShortcutsSectionMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveShortcutsSectionMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveShortcutsSectionMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveShortcutsSectionMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveShortcutsSectionMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveShortcutsSectionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveShortcutsSectionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveShortcutsSectionMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveShortcutsSectionMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveShortcutsSectionMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveShortcutsSectionMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveShortcutsSectionMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveShortcutsSectionMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveShortcutsSectionMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveShortcutsSectionMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveShortcutsSectionMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveShortcutsSectionMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveShortcutsSectionMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveShortcutsSectionMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveShortcutsSectionMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveShortcutsSectionMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveShortcutsSectionMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveShortcutsSectionMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveShortcutsSectionMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveShortcutsSectionMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveShortcutsSectionMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveShortcutsSectionMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveShortcutsSectionMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveShortcutsSectionMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveShortcutsSectionMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveShortcutsSectionMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveShortcutsSectionMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveShortcutsSectionMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveShortcutsSectionMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveShortcutsSectionMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveShortcutsSectionMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveShortcutsSectionMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveShortcutsSectionMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveShortcutsSectionMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveShortcutsSectionMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveShortcutsSectionMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveShortcutsSectionMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveShortcutsSectionMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveShortcutsSectionMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveShortcutsSectionMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveShortcutsSectionMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveShortcutsSectionMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveShortcutsSectionMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveShortcutsSectionMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveShortcutsSectionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveShortcutsSectionMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveShortcutsSectionMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveShortcutsSectionMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveShortcutsSectionMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveShortcutsSectionMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveShortcutsSectionMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveShortcutsSectionMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveShortcutsSectionMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveShortcutsSectionMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveShortcutsSectionMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveShortcutsSectionMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveShortcutsSectionMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveShortcutsSectionMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveShortcutsSectionMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveShortcutsSectionMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveShortcutsSectionMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveShortcutsSectionMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveShortcutsSectionMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveShortcutsSectionMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveShortcutsSectionMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveShortcutsSectionMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveShortcutsSectionMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveShortcutsSectionMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveShortcutsSectionMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveShortcutsSectionMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveShortcutsSectionMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveShortcutsSectionMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveShortcutsSectionMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveShortcutsSectionMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveShortcutsSectionMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveShortcutsSectionMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveShortcutsSectionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveShortcutsSectionMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveShortcutsSectionMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveShortcutsSectionMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveShortcutsSectionMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveShortcutsSectionMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveShortcutsSectionMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveShortcutsSectionMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveShortcutsSectionMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveShortcutsSectionMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveShortcutsSectionMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveShortcutsSectionMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveShortcutsSectionMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveShortcutsSectionMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveShortcutsSectionMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveShortcutsSectionMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveShortcutsSectionMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveShortcutsSectionMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveShortcutsSectionMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveShortcutsSectionMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveShortcutsSectionMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveShortcutsSectionMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveShortcutsSectionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveShortcutsSectionMethod t ShortcutsSection, O.MethodInfo info ShortcutsSection p) => OL.IsLabel t (ShortcutsSection -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ShortcutsSection::change-current-page
+{- |
+/No description available in the introspection data./
+-}
+type ShortcutsSectionChangeCurrentPageCallback =
+    Int32
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ShortcutsSectionChangeCurrentPageCallback`@.
+noShortcutsSectionChangeCurrentPageCallback :: Maybe ShortcutsSectionChangeCurrentPageCallback
+noShortcutsSectionChangeCurrentPageCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ShortcutsSectionChangeCurrentPageCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_ShortcutsSectionChangeCurrentPageCallback`.
+foreign import ccall "wrapper"
+    mk_ShortcutsSectionChangeCurrentPageCallback :: C_ShortcutsSectionChangeCurrentPageCallback -> IO (FunPtr C_ShortcutsSectionChangeCurrentPageCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ShortcutsSectionChangeCurrentPage :: MonadIO m => ShortcutsSectionChangeCurrentPageCallback -> m (GClosure C_ShortcutsSectionChangeCurrentPageCallback)
+genClosure_ShortcutsSectionChangeCurrentPage cb = liftIO $ do
+    let cb' = wrap_ShortcutsSectionChangeCurrentPageCallback cb
+    mk_ShortcutsSectionChangeCurrentPageCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ShortcutsSectionChangeCurrentPageCallback` into a `C_ShortcutsSectionChangeCurrentPageCallback`.
+wrap_ShortcutsSectionChangeCurrentPageCallback ::
+    ShortcutsSectionChangeCurrentPageCallback ->
+    C_ShortcutsSectionChangeCurrentPageCallback
+wrap_ShortcutsSectionChangeCurrentPageCallback _cb _ object _ = do
+    result <- _cb  object
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@change-current-page@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' shortcutsSection #changeCurrentPage callback
+@
+-}
+onShortcutsSectionChangeCurrentPage :: (IsShortcutsSection a, MonadIO m) => a -> ShortcutsSectionChangeCurrentPageCallback -> m SignalHandlerId
+onShortcutsSectionChangeCurrentPage obj cb = liftIO $ do
+    let cb' = wrap_ShortcutsSectionChangeCurrentPageCallback cb
+    cb'' <- mk_ShortcutsSectionChangeCurrentPageCallback cb'
+    connectSignalFunPtr obj "change-current-page" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@change-current-page@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' shortcutsSection #changeCurrentPage callback
+@
+-}
+afterShortcutsSectionChangeCurrentPage :: (IsShortcutsSection a, MonadIO m) => a -> ShortcutsSectionChangeCurrentPageCallback -> m SignalHandlerId
+afterShortcutsSectionChangeCurrentPage obj cb = liftIO $ do
+    let cb' = wrap_ShortcutsSectionChangeCurrentPageCallback cb
+    cb'' <- mk_ShortcutsSectionChangeCurrentPageCallback cb'
+    connectSignalFunPtr obj "change-current-page" cb'' SignalConnectAfter
+
+
+-- VVV Prop "max-height"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@max-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsSection #maxHeight
+@
+-}
+getShortcutsSectionMaxHeight :: (MonadIO m, IsShortcutsSection o) => o -> m Word32
+getShortcutsSectionMaxHeight obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "max-height"
+
+{- |
+Set the value of the “@max-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsSection [ #maxHeight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsSectionMaxHeight :: (MonadIO m, IsShortcutsSection o) => o -> Word32 -> m ()
+setShortcutsSectionMaxHeight obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "max-height" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-height@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsSectionMaxHeight :: (IsShortcutsSection o) => Word32 -> IO (GValueConstruct o)
+constructShortcutsSectionMaxHeight val = B.Properties.constructObjectPropertyUInt32 "max-height" val
+
+#if ENABLE_OVERLOADING
+data ShortcutsSectionMaxHeightPropertyInfo
+instance AttrInfo ShortcutsSectionMaxHeightPropertyInfo where
+    type AttrAllowedOps ShortcutsSectionMaxHeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ShortcutsSectionMaxHeightPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint ShortcutsSectionMaxHeightPropertyInfo = IsShortcutsSection
+    type AttrGetType ShortcutsSectionMaxHeightPropertyInfo = Word32
+    type AttrLabel ShortcutsSectionMaxHeightPropertyInfo = "max-height"
+    type AttrOrigin ShortcutsSectionMaxHeightPropertyInfo = ShortcutsSection
+    attrGet _ = getShortcutsSectionMaxHeight
+    attrSet _ = setShortcutsSectionMaxHeight
+    attrConstruct _ = constructShortcutsSectionMaxHeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "section-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@section-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsSection #sectionName
+@
+-}
+getShortcutsSectionSectionName :: (MonadIO m, IsShortcutsSection o) => o -> m (Maybe T.Text)
+getShortcutsSectionSectionName obj = liftIO $ B.Properties.getObjectPropertyString obj "section-name"
+
+{- |
+Set the value of the “@section-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsSection [ #sectionName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsSectionSectionName :: (MonadIO m, IsShortcutsSection o) => o -> T.Text -> m ()
+setShortcutsSectionSectionName obj val = liftIO $ B.Properties.setObjectPropertyString obj "section-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@section-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsSectionSectionName :: (IsShortcutsSection o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsSectionSectionName val = B.Properties.constructObjectPropertyString "section-name" (Just val)
+
+{- |
+Set the value of the “@section-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #sectionName
+@
+-}
+clearShortcutsSectionSectionName :: (MonadIO m, IsShortcutsSection o) => o -> m ()
+clearShortcutsSectionSectionName obj = liftIO $ B.Properties.setObjectPropertyString obj "section-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsSectionSectionNamePropertyInfo
+instance AttrInfo ShortcutsSectionSectionNamePropertyInfo where
+    type AttrAllowedOps ShortcutsSectionSectionNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsSectionSectionNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsSectionSectionNamePropertyInfo = IsShortcutsSection
+    type AttrGetType ShortcutsSectionSectionNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsSectionSectionNamePropertyInfo = "section-name"
+    type AttrOrigin ShortcutsSectionSectionNamePropertyInfo = ShortcutsSection
+    attrGet _ = getShortcutsSectionSectionName
+    attrSet _ = setShortcutsSectionSectionName
+    attrConstruct _ = constructShortcutsSectionSectionName
+    attrClear _ = clearShortcutsSectionSectionName
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsSection #title
+@
+-}
+getShortcutsSectionTitle :: (MonadIO m, IsShortcutsSection o) => o -> m (Maybe T.Text)
+getShortcutsSectionTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsSection [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsSectionTitle :: (MonadIO m, IsShortcutsSection o) => o -> T.Text -> m ()
+setShortcutsSectionTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsSectionTitle :: (IsShortcutsSection o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsSectionTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+{- |
+Set the value of the “@title@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #title
+@
+-}
+clearShortcutsSectionTitle :: (MonadIO m, IsShortcutsSection o) => o -> m ()
+clearShortcutsSectionTitle obj = liftIO $ B.Properties.setObjectPropertyString obj "title" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsSectionTitlePropertyInfo
+instance AttrInfo ShortcutsSectionTitlePropertyInfo where
+    type AttrAllowedOps ShortcutsSectionTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsSectionTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsSectionTitlePropertyInfo = IsShortcutsSection
+    type AttrGetType ShortcutsSectionTitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsSectionTitlePropertyInfo = "title"
+    type AttrOrigin ShortcutsSectionTitlePropertyInfo = ShortcutsSection
+    attrGet _ = getShortcutsSectionTitle
+    attrSet _ = setShortcutsSectionTitle
+    attrConstruct _ = constructShortcutsSectionTitle
+    attrClear _ = clearShortcutsSectionTitle
+#endif
+
+-- VVV Prop "view-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@view-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsSection #viewName
+@
+-}
+getShortcutsSectionViewName :: (MonadIO m, IsShortcutsSection o) => o -> m (Maybe T.Text)
+getShortcutsSectionViewName obj = liftIO $ B.Properties.getObjectPropertyString obj "view-name"
+
+{- |
+Set the value of the “@view-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsSection [ #viewName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsSectionViewName :: (MonadIO m, IsShortcutsSection o) => o -> T.Text -> m ()
+setShortcutsSectionViewName obj val = liftIO $ B.Properties.setObjectPropertyString obj "view-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@view-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsSectionViewName :: (IsShortcutsSection o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsSectionViewName val = B.Properties.constructObjectPropertyString "view-name" (Just val)
+
+{- |
+Set the value of the “@view-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #viewName
+@
+-}
+clearShortcutsSectionViewName :: (MonadIO m, IsShortcutsSection o) => o -> m ()
+clearShortcutsSectionViewName obj = liftIO $ B.Properties.setObjectPropertyString obj "view-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsSectionViewNamePropertyInfo
+instance AttrInfo ShortcutsSectionViewNamePropertyInfo where
+    type AttrAllowedOps ShortcutsSectionViewNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsSectionViewNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsSectionViewNamePropertyInfo = IsShortcutsSection
+    type AttrGetType ShortcutsSectionViewNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsSectionViewNamePropertyInfo = "view-name"
+    type AttrOrigin ShortcutsSectionViewNamePropertyInfo = ShortcutsSection
+    attrGet _ = getShortcutsSectionViewName
+    attrSet _ = setShortcutsSectionViewName
+    attrConstruct _ = constructShortcutsSectionViewName
+    attrClear _ = clearShortcutsSectionViewName
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ShortcutsSection
+type instance O.AttributeList ShortcutsSection = ShortcutsSectionAttributeList
+type ShortcutsSectionAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxHeight", ShortcutsSectionMaxHeightPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sectionName", ShortcutsSectionSectionNamePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", ShortcutsSectionTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("viewName", ShortcutsSectionViewNamePropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+shortcutsSectionMaxHeight :: AttrLabelProxy "maxHeight"
+shortcutsSectionMaxHeight = AttrLabelProxy
+
+shortcutsSectionSectionName :: AttrLabelProxy "sectionName"
+shortcutsSectionSectionName = AttrLabelProxy
+
+shortcutsSectionTitle :: AttrLabelProxy "title"
+shortcutsSectionTitle = AttrLabelProxy
+
+shortcutsSectionViewName :: AttrLabelProxy "viewName"
+shortcutsSectionViewName = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ShortcutsSectionChangeCurrentPageSignalInfo
+instance SignalInfo ShortcutsSectionChangeCurrentPageSignalInfo where
+    type HaskellCallbackType ShortcutsSectionChangeCurrentPageSignalInfo = ShortcutsSectionChangeCurrentPageCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ShortcutsSectionChangeCurrentPageCallback cb
+        cb'' <- mk_ShortcutsSectionChangeCurrentPageCallback cb'
+        connectSignalFunPtr obj "change-current-page" cb'' connectMode
+
+type instance O.SignalList ShortcutsSection = ShortcutsSectionSignalList
+type ShortcutsSectionSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeCurrentPage", ShortcutsSectionChangeCurrentPageSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ShortcutsSection.hs-boot b/GI/Gtk/Objects/ShortcutsSection.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutsSection.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ShortcutsSection where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ShortcutsSection = ShortcutsSection (ManagedPtr ShortcutsSection)
+instance GObject ShortcutsSection where
+class (GObject o, O.IsDescendantOf ShortcutsSection o) => IsShortcutsSection o
+instance (GObject o, O.IsDescendantOf ShortcutsSection o) => IsShortcutsSection o
+instance O.HasParentTypes ShortcutsSection
+#if ENABLE_OVERLOADING
+data ShortcutsSectionMaxHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsSectionSectionNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsSectionTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsSectionViewNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsSectionChangeCurrentPageSignalInfo
+#endif
diff --git a/GI/Gtk/Objects/ShortcutsShortcut.hs b/GI/Gtk/Objects/ShortcutsShortcut.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutsShortcut.hs
@@ -0,0 +1,1261 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkShortcutsShortcut represents a single keyboard shortcut or gesture
+with a short text. This widget is only meant to be used with 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ShortcutsShortcut
+    ( 
+
+-- * Exported types
+    ShortcutsShortcut(..)                   ,
+    IsShortcutsShortcut                     ,
+    toShortcutsShortcut                     ,
+    noShortcutsShortcut                     ,
+
+
+ -- * Properties
+-- ** accelSizeGroup #attr:accelSizeGroup#
+{- | The size group for the accelerator portion of this shortcut.
+
+This is used internally by GTK+, and must not be modified by applications.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutAccelSizeGroupPropertyInfo,
+#endif
+    clearShortcutsShortcutAccelSizeGroup    ,
+    constructShortcutsShortcutAccelSizeGroup,
+    setShortcutsShortcutAccelSizeGroup      ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutAccelSizeGroup         ,
+#endif
+
+
+-- ** accelerator #attr:accelerator#
+{- | The accelerator(s) represented by this object. This property is used
+if 'GI.Gtk.Objects.ShortcutsShortcut.ShortcutsShortcut':@/shortcut-type/@ is set to @/GTK_SHORTCUT_ACCELERATOR/@.
+
+The syntax of this property is (an extension of) the syntax understood by
+'GI.Gtk.Functions.acceleratorParse'. Multiple accelerators can be specified by separating
+them with a space, but keep in mind that the available width is limited.
+It is also possible to specify ranges of shortcuts, using ... between the keys.
+Sequences of keys can be specified using a + or & between the keys.
+
+Examples:
+
+* A single shortcut: \<ctl>\<alt>delete
+* Two alternative shortcuts: \<shift>a Home
+* A range of shortcuts: \<alt>1...\<alt>9
+* Several keys pressed together: Control_L&Control_R
+* A sequence of shortcuts or keys: \<ctl>c+\<ctl>x
+
+
+Use + instead of & when the keys may (or have to be) pressed sequentially (e.g
+use t+t for \'press the t key twice\').
+
+Note that \<, > and & need to be escaped as &lt;, &gt; and &amp; when used
+in .ui files.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutAcceleratorPropertyInfo,
+#endif
+    clearShortcutsShortcutAccelerator       ,
+    constructShortcutsShortcutAccelerator   ,
+    getShortcutsShortcutAccelerator         ,
+    setShortcutsShortcutAccelerator         ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutAccelerator            ,
+#endif
+
+
+-- ** actionName #attr:actionName#
+{- | A detailed action name. If this is set for a shortcut
+of type 'GI.Gtk.Enums.ShortcutTypeAccelerator', then GTK+ will use
+the accelerators that are associated with the action
+via 'GI.Gtk.Objects.Application.applicationSetAccelsForAction', and setting
+'GI.Gtk.Objects.ShortcutsShortcut.ShortcutsShortcut'::@/accelerator/@ is not necessary.
+
+/Since: 3.22/
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutActionNamePropertyInfo ,
+#endif
+    clearShortcutsShortcutActionName        ,
+    constructShortcutsShortcutActionName    ,
+    getShortcutsShortcutActionName          ,
+    setShortcutsShortcutActionName          ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutActionName             ,
+#endif
+
+
+-- ** direction #attr:direction#
+{- | The text direction for which this shortcut is active. If the shortcut
+is used regardless of the text direction, set this property to
+@/GTK_TEXT_DIR_NONE/@.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutDirectionPropertyInfo  ,
+#endif
+    constructShortcutsShortcutDirection     ,
+    getShortcutsShortcutDirection           ,
+    setShortcutsShortcutDirection           ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutDirection              ,
+#endif
+
+
+-- ** icon #attr:icon#
+{- | An icon to represent the shortcut or gesture. This property is used if
+'GI.Gtk.Objects.ShortcutsShortcut.ShortcutsShortcut':@/shortcut-type/@ is set to @/GTK_SHORTCUT_GESTURE/@.
+For the other predefined gesture types, GTK+ provides an icon on its own.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutIconPropertyInfo       ,
+#endif
+    clearShortcutsShortcutIcon              ,
+    constructShortcutsShortcutIcon          ,
+    getShortcutsShortcutIcon                ,
+    setShortcutsShortcutIcon                ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutIcon                   ,
+#endif
+
+
+-- ** iconSet #attr:iconSet#
+{- | 'True' if an icon has been set.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutIconSetPropertyInfo    ,
+#endif
+    constructShortcutsShortcutIconSet       ,
+    getShortcutsShortcutIconSet             ,
+    setShortcutsShortcutIconSet             ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutIconSet                ,
+#endif
+
+
+-- ** shortcutType #attr:shortcutType#
+{- | The type of shortcut that is represented.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutShortcutTypePropertyInfo,
+#endif
+    constructShortcutsShortcutShortcutType  ,
+    getShortcutsShortcutShortcutType        ,
+    setShortcutsShortcutShortcutType        ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutShortcutType           ,
+#endif
+
+
+-- ** subtitle #attr:subtitle#
+{- | The subtitle for the shortcut or gesture.
+
+This is typically used for gestures and should be a short, one-line
+text that describes the gesture itself. For the predefined gesture
+types, GTK+ provides a subtitle on its own.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutSubtitlePropertyInfo   ,
+#endif
+    clearShortcutsShortcutSubtitle          ,
+    constructShortcutsShortcutSubtitle      ,
+    getShortcutsShortcutSubtitle            ,
+    setShortcutsShortcutSubtitle            ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutSubtitle               ,
+#endif
+
+
+-- ** subtitleSet #attr:subtitleSet#
+{- | 'True' if a subtitle has been set.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutSubtitleSetPropertyInfo,
+#endif
+    constructShortcutsShortcutSubtitleSet   ,
+    getShortcutsShortcutSubtitleSet         ,
+    setShortcutsShortcutSubtitleSet         ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutSubtitleSet            ,
+#endif
+
+
+-- ** title #attr:title#
+{- | The textual description for the shortcut or gesture represented by
+this object. This should be a short string that can fit in a single line.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutTitlePropertyInfo      ,
+#endif
+    clearShortcutsShortcutTitle             ,
+    constructShortcutsShortcutTitle         ,
+    getShortcutsShortcutTitle               ,
+    setShortcutsShortcutTitle               ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutTitle                  ,
+#endif
+
+
+-- ** titleSizeGroup #attr:titleSizeGroup#
+{- | The size group for the textual portion of this shortcut.
+
+This is used internally by GTK+, and must not be modified by applications.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsShortcutTitleSizeGroupPropertyInfo,
+#endif
+    clearShortcutsShortcutTitleSizeGroup    ,
+    constructShortcutsShortcutTitleSizeGroup,
+    setShortcutsShortcutTitleSizeGroup      ,
+#if ENABLE_OVERLOADING
+    shortcutsShortcutTitleSizeGroup         ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.SizeGroup as Gtk.SizeGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ShortcutsShortcut = ShortcutsShortcut (ManagedPtr ShortcutsShortcut)
+foreign import ccall "gtk_shortcuts_shortcut_get_type"
+    c_gtk_shortcuts_shortcut_get_type :: IO GType
+
+instance GObject ShortcutsShortcut where
+    gobjectType = c_gtk_shortcuts_shortcut_get_type
+    
+
+-- | Type class for types which can be safely cast to `ShortcutsShortcut`, for instance with `toShortcutsShortcut`.
+class (GObject o, O.IsDescendantOf ShortcutsShortcut o) => IsShortcutsShortcut o
+instance (GObject o, O.IsDescendantOf ShortcutsShortcut o) => IsShortcutsShortcut o
+
+instance O.HasParentTypes ShortcutsShortcut
+type instance O.ParentTypes ShortcutsShortcut = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `ShortcutsShortcut`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toShortcutsShortcut :: (MonadIO m, IsShortcutsShortcut o) => o -> m ShortcutsShortcut
+toShortcutsShortcut = liftIO . unsafeCastTo ShortcutsShortcut
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ShortcutsShortcut`.
+noShortcutsShortcut :: Maybe ShortcutsShortcut
+noShortcutsShortcut = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveShortcutsShortcutMethod (t :: Symbol) (o :: *) :: * where
+    ResolveShortcutsShortcutMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveShortcutsShortcutMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveShortcutsShortcutMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveShortcutsShortcutMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveShortcutsShortcutMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveShortcutsShortcutMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveShortcutsShortcutMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveShortcutsShortcutMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveShortcutsShortcutMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveShortcutsShortcutMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveShortcutsShortcutMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveShortcutsShortcutMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveShortcutsShortcutMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveShortcutsShortcutMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveShortcutsShortcutMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveShortcutsShortcutMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveShortcutsShortcutMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveShortcutsShortcutMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveShortcutsShortcutMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveShortcutsShortcutMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveShortcutsShortcutMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveShortcutsShortcutMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveShortcutsShortcutMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveShortcutsShortcutMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveShortcutsShortcutMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveShortcutsShortcutMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveShortcutsShortcutMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveShortcutsShortcutMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveShortcutsShortcutMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveShortcutsShortcutMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveShortcutsShortcutMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveShortcutsShortcutMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveShortcutsShortcutMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveShortcutsShortcutMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveShortcutsShortcutMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveShortcutsShortcutMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveShortcutsShortcutMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveShortcutsShortcutMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveShortcutsShortcutMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveShortcutsShortcutMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveShortcutsShortcutMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveShortcutsShortcutMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveShortcutsShortcutMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveShortcutsShortcutMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveShortcutsShortcutMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveShortcutsShortcutMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveShortcutsShortcutMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveShortcutsShortcutMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveShortcutsShortcutMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveShortcutsShortcutMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveShortcutsShortcutMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveShortcutsShortcutMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveShortcutsShortcutMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveShortcutsShortcutMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveShortcutsShortcutMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveShortcutsShortcutMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveShortcutsShortcutMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveShortcutsShortcutMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveShortcutsShortcutMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveShortcutsShortcutMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveShortcutsShortcutMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveShortcutsShortcutMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveShortcutsShortcutMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveShortcutsShortcutMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveShortcutsShortcutMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveShortcutsShortcutMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveShortcutsShortcutMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveShortcutsShortcutMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveShortcutsShortcutMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveShortcutsShortcutMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveShortcutsShortcutMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveShortcutsShortcutMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveShortcutsShortcutMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveShortcutsShortcutMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveShortcutsShortcutMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveShortcutsShortcutMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveShortcutsShortcutMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveShortcutsShortcutMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveShortcutsShortcutMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveShortcutsShortcutMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveShortcutsShortcutMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveShortcutsShortcutMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveShortcutsShortcutMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveShortcutsShortcutMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveShortcutsShortcutMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveShortcutsShortcutMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveShortcutsShortcutMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveShortcutsShortcutMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveShortcutsShortcutMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveShortcutsShortcutMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveShortcutsShortcutMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveShortcutsShortcutMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveShortcutsShortcutMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveShortcutsShortcutMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveShortcutsShortcutMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveShortcutsShortcutMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveShortcutsShortcutMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveShortcutsShortcutMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveShortcutsShortcutMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveShortcutsShortcutMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveShortcutsShortcutMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveShortcutsShortcutMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveShortcutsShortcutMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveShortcutsShortcutMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveShortcutsShortcutMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveShortcutsShortcutMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveShortcutsShortcutMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveShortcutsShortcutMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveShortcutsShortcutMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveShortcutsShortcutMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveShortcutsShortcutMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveShortcutsShortcutMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveShortcutsShortcutMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveShortcutsShortcutMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveShortcutsShortcutMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveShortcutsShortcutMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveShortcutsShortcutMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveShortcutsShortcutMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveShortcutsShortcutMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveShortcutsShortcutMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveShortcutsShortcutMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveShortcutsShortcutMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveShortcutsShortcutMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveShortcutsShortcutMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveShortcutsShortcutMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveShortcutsShortcutMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveShortcutsShortcutMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveShortcutsShortcutMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveShortcutsShortcutMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveShortcutsShortcutMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveShortcutsShortcutMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveShortcutsShortcutMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveShortcutsShortcutMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveShortcutsShortcutMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveShortcutsShortcutMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveShortcutsShortcutMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveShortcutsShortcutMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveShortcutsShortcutMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveShortcutsShortcutMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveShortcutsShortcutMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveShortcutsShortcutMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveShortcutsShortcutMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveShortcutsShortcutMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveShortcutsShortcutMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveShortcutsShortcutMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveShortcutsShortcutMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveShortcutsShortcutMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveShortcutsShortcutMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveShortcutsShortcutMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveShortcutsShortcutMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveShortcutsShortcutMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveShortcutsShortcutMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveShortcutsShortcutMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveShortcutsShortcutMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveShortcutsShortcutMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveShortcutsShortcutMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveShortcutsShortcutMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveShortcutsShortcutMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveShortcutsShortcutMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveShortcutsShortcutMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveShortcutsShortcutMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveShortcutsShortcutMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveShortcutsShortcutMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveShortcutsShortcutMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveShortcutsShortcutMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveShortcutsShortcutMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveShortcutsShortcutMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveShortcutsShortcutMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveShortcutsShortcutMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveShortcutsShortcutMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveShortcutsShortcutMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveShortcutsShortcutMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveShortcutsShortcutMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveShortcutsShortcutMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveShortcutsShortcutMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveShortcutsShortcutMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveShortcutsShortcutMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveShortcutsShortcutMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveShortcutsShortcutMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveShortcutsShortcutMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveShortcutsShortcutMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveShortcutsShortcutMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveShortcutsShortcutMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveShortcutsShortcutMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveShortcutsShortcutMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveShortcutsShortcutMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveShortcutsShortcutMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveShortcutsShortcutMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveShortcutsShortcutMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveShortcutsShortcutMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveShortcutsShortcutMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveShortcutsShortcutMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveShortcutsShortcutMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveShortcutsShortcutMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveShortcutsShortcutMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveShortcutsShortcutMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveShortcutsShortcutMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveShortcutsShortcutMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveShortcutsShortcutMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveShortcutsShortcutMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveShortcutsShortcutMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveShortcutsShortcutMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveShortcutsShortcutMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveShortcutsShortcutMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveShortcutsShortcutMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveShortcutsShortcutMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveShortcutsShortcutMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveShortcutsShortcutMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveShortcutsShortcutMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveShortcutsShortcutMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveShortcutsShortcutMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveShortcutsShortcutMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveShortcutsShortcutMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveShortcutsShortcutMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveShortcutsShortcutMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveShortcutsShortcutMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveShortcutsShortcutMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveShortcutsShortcutMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveShortcutsShortcutMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveShortcutsShortcutMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveShortcutsShortcutMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveShortcutsShortcutMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveShortcutsShortcutMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveShortcutsShortcutMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveShortcutsShortcutMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveShortcutsShortcutMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveShortcutsShortcutMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveShortcutsShortcutMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveShortcutsShortcutMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveShortcutsShortcutMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveShortcutsShortcutMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveShortcutsShortcutMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveShortcutsShortcutMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveShortcutsShortcutMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveShortcutsShortcutMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveShortcutsShortcutMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveShortcutsShortcutMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveShortcutsShortcutMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveShortcutsShortcutMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveShortcutsShortcutMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveShortcutsShortcutMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveShortcutsShortcutMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveShortcutsShortcutMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveShortcutsShortcutMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveShortcutsShortcutMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveShortcutsShortcutMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveShortcutsShortcutMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveShortcutsShortcutMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveShortcutsShortcutMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveShortcutsShortcutMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveShortcutsShortcutMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveShortcutsShortcutMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveShortcutsShortcutMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveShortcutsShortcutMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveShortcutsShortcutMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveShortcutsShortcutMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveShortcutsShortcutMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveShortcutsShortcutMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveShortcutsShortcutMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveShortcutsShortcutMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveShortcutsShortcutMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveShortcutsShortcutMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveShortcutsShortcutMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveShortcutsShortcutMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveShortcutsShortcutMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveShortcutsShortcutMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveShortcutsShortcutMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveShortcutsShortcutMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveShortcutsShortcutMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveShortcutsShortcutMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveShortcutsShortcutMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveShortcutsShortcutMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveShortcutsShortcutMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveShortcutsShortcutMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveShortcutsShortcutMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveShortcutsShortcutMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveShortcutsShortcutMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveShortcutsShortcutMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveShortcutsShortcutMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveShortcutsShortcutMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveShortcutsShortcutMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveShortcutsShortcutMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveShortcutsShortcutMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveShortcutsShortcutMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveShortcutsShortcutMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveShortcutsShortcutMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveShortcutsShortcutMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveShortcutsShortcutMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveShortcutsShortcutMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveShortcutsShortcutMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveShortcutsShortcutMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveShortcutsShortcutMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveShortcutsShortcutMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveShortcutsShortcutMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveShortcutsShortcutMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveShortcutsShortcutMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveShortcutsShortcutMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveShortcutsShortcutMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveShortcutsShortcutMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveShortcutsShortcutMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveShortcutsShortcutMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveShortcutsShortcutMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveShortcutsShortcutMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveShortcutsShortcutMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveShortcutsShortcutMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveShortcutsShortcutMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveShortcutsShortcutMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveShortcutsShortcutMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveShortcutsShortcutMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveShortcutsShortcutMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveShortcutsShortcutMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveShortcutsShortcutMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveShortcutsShortcutMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveShortcutsShortcutMethod t ShortcutsShortcut, O.MethodInfo info ShortcutsShortcut p) => OL.IsLabel t (ShortcutsShortcut -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "accel-size-group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@accel-size-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #accelSizeGroup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutAccelSizeGroup :: (MonadIO m, IsShortcutsShortcut o, Gtk.SizeGroup.IsSizeGroup a) => o -> a -> m ()
+setShortcutsShortcutAccelSizeGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accel-size-group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accel-size-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutAccelSizeGroup :: (IsShortcutsShortcut o, Gtk.SizeGroup.IsSizeGroup a) => a -> IO (GValueConstruct o)
+constructShortcutsShortcutAccelSizeGroup val = B.Properties.constructObjectPropertyObject "accel-size-group" (Just val)
+
+{- |
+Set the value of the “@accel-size-group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelSizeGroup
+@
+-}
+clearShortcutsShortcutAccelSizeGroup :: (MonadIO m, IsShortcutsShortcut o) => o -> m ()
+clearShortcutsShortcutAccelSizeGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "accel-size-group" (Nothing :: Maybe Gtk.SizeGroup.SizeGroup)
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutAccelSizeGroupPropertyInfo
+instance AttrInfo ShortcutsShortcutAccelSizeGroupPropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutAccelSizeGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsShortcutAccelSizeGroupPropertyInfo = Gtk.SizeGroup.IsSizeGroup
+    type AttrBaseTypeConstraint ShortcutsShortcutAccelSizeGroupPropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutAccelSizeGroupPropertyInfo = ()
+    type AttrLabel ShortcutsShortcutAccelSizeGroupPropertyInfo = "accel-size-group"
+    type AttrOrigin ShortcutsShortcutAccelSizeGroupPropertyInfo = ShortcutsShortcut
+    attrGet _ = undefined
+    attrSet _ = setShortcutsShortcutAccelSizeGroup
+    attrConstruct _ = constructShortcutsShortcutAccelSizeGroup
+    attrClear _ = clearShortcutsShortcutAccelSizeGroup
+#endif
+
+-- VVV Prop "accelerator"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@accelerator@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsShortcut #accelerator
+@
+-}
+getShortcutsShortcutAccelerator :: (MonadIO m, IsShortcutsShortcut o) => o -> m (Maybe T.Text)
+getShortcutsShortcutAccelerator obj = liftIO $ B.Properties.getObjectPropertyString obj "accelerator"
+
+{- |
+Set the value of the “@accelerator@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #accelerator 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutAccelerator :: (MonadIO m, IsShortcutsShortcut o) => o -> T.Text -> m ()
+setShortcutsShortcutAccelerator obj val = liftIO $ B.Properties.setObjectPropertyString obj "accelerator" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accelerator@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutAccelerator :: (IsShortcutsShortcut o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsShortcutAccelerator val = B.Properties.constructObjectPropertyString "accelerator" (Just val)
+
+{- |
+Set the value of the “@accelerator@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelerator
+@
+-}
+clearShortcutsShortcutAccelerator :: (MonadIO m, IsShortcutsShortcut o) => o -> m ()
+clearShortcutsShortcutAccelerator obj = liftIO $ B.Properties.setObjectPropertyString obj "accelerator" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutAcceleratorPropertyInfo
+instance AttrInfo ShortcutsShortcutAcceleratorPropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutAcceleratorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsShortcutAcceleratorPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsShortcutAcceleratorPropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutAcceleratorPropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsShortcutAcceleratorPropertyInfo = "accelerator"
+    type AttrOrigin ShortcutsShortcutAcceleratorPropertyInfo = ShortcutsShortcut
+    attrGet _ = getShortcutsShortcutAccelerator
+    attrSet _ = setShortcutsShortcutAccelerator
+    attrConstruct _ = constructShortcutsShortcutAccelerator
+    attrClear _ = clearShortcutsShortcutAccelerator
+#endif
+
+-- VVV Prop "action-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@action-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsShortcut #actionName
+@
+-}
+getShortcutsShortcutActionName :: (MonadIO m, IsShortcutsShortcut o) => o -> m (Maybe T.Text)
+getShortcutsShortcutActionName obj = liftIO $ B.Properties.getObjectPropertyString obj "action-name"
+
+{- |
+Set the value of the “@action-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #actionName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutActionName :: (MonadIO m, IsShortcutsShortcut o) => o -> T.Text -> m ()
+setShortcutsShortcutActionName obj val = liftIO $ B.Properties.setObjectPropertyString obj "action-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@action-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutActionName :: (IsShortcutsShortcut o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsShortcutActionName val = B.Properties.constructObjectPropertyString "action-name" (Just val)
+
+{- |
+Set the value of the “@action-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #actionName
+@
+-}
+clearShortcutsShortcutActionName :: (MonadIO m, IsShortcutsShortcut o) => o -> m ()
+clearShortcutsShortcutActionName obj = liftIO $ B.Properties.setObjectPropertyString obj "action-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutActionNamePropertyInfo
+instance AttrInfo ShortcutsShortcutActionNamePropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutActionNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsShortcutActionNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsShortcutActionNamePropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutActionNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsShortcutActionNamePropertyInfo = "action-name"
+    type AttrOrigin ShortcutsShortcutActionNamePropertyInfo = ShortcutsShortcut
+    attrGet _ = getShortcutsShortcutActionName
+    attrSet _ = setShortcutsShortcutActionName
+    attrConstruct _ = constructShortcutsShortcutActionName
+    attrClear _ = clearShortcutsShortcutActionName
+#endif
+
+-- VVV Prop "direction"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsShortcut #direction
+@
+-}
+getShortcutsShortcutDirection :: (MonadIO m, IsShortcutsShortcut o) => o -> m Gtk.Enums.TextDirection
+getShortcutsShortcutDirection obj = liftIO $ B.Properties.getObjectPropertyEnum obj "direction"
+
+{- |
+Set the value of the “@direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #direction 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutDirection :: (MonadIO m, IsShortcutsShortcut o) => o -> Gtk.Enums.TextDirection -> m ()
+setShortcutsShortcutDirection obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "direction" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@direction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutDirection :: (IsShortcutsShortcut o) => Gtk.Enums.TextDirection -> IO (GValueConstruct o)
+constructShortcutsShortcutDirection val = B.Properties.constructObjectPropertyEnum "direction" val
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutDirectionPropertyInfo
+instance AttrInfo ShortcutsShortcutDirectionPropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutDirectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ShortcutsShortcutDirectionPropertyInfo = (~) Gtk.Enums.TextDirection
+    type AttrBaseTypeConstraint ShortcutsShortcutDirectionPropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutDirectionPropertyInfo = Gtk.Enums.TextDirection
+    type AttrLabel ShortcutsShortcutDirectionPropertyInfo = "direction"
+    type AttrOrigin ShortcutsShortcutDirectionPropertyInfo = ShortcutsShortcut
+    attrGet _ = getShortcutsShortcutDirection
+    attrSet _ = setShortcutsShortcutDirection
+    attrConstruct _ = constructShortcutsShortcutDirection
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "icon"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsShortcut #icon
+@
+-}
+getShortcutsShortcutIcon :: (MonadIO m, IsShortcutsShortcut o) => o -> m (Maybe Gio.Icon.Icon)
+getShortcutsShortcutIcon obj = liftIO $ B.Properties.getObjectPropertyObject obj "icon" Gio.Icon.Icon
+
+{- |
+Set the value of the “@icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #icon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutIcon :: (MonadIO m, IsShortcutsShortcut o, Gio.Icon.IsIcon a) => o -> a -> m ()
+setShortcutsShortcutIcon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "icon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutIcon :: (IsShortcutsShortcut o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
+constructShortcutsShortcutIcon val = B.Properties.constructObjectPropertyObject "icon" (Just val)
+
+{- |
+Set the value of the “@icon@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #icon
+@
+-}
+clearShortcutsShortcutIcon :: (MonadIO m, IsShortcutsShortcut o) => o -> m ()
+clearShortcutsShortcutIcon obj = liftIO $ B.Properties.setObjectPropertyObject obj "icon" (Nothing :: Maybe Gio.Icon.Icon)
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutIconPropertyInfo
+instance AttrInfo ShortcutsShortcutIconPropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutIconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsShortcutIconPropertyInfo = Gio.Icon.IsIcon
+    type AttrBaseTypeConstraint ShortcutsShortcutIconPropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutIconPropertyInfo = (Maybe Gio.Icon.Icon)
+    type AttrLabel ShortcutsShortcutIconPropertyInfo = "icon"
+    type AttrOrigin ShortcutsShortcutIconPropertyInfo = ShortcutsShortcut
+    attrGet _ = getShortcutsShortcutIcon
+    attrSet _ = setShortcutsShortcutIcon
+    attrConstruct _ = constructShortcutsShortcutIcon
+    attrClear _ = clearShortcutsShortcutIcon
+#endif
+
+-- VVV Prop "icon-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsShortcut #iconSet
+@
+-}
+getShortcutsShortcutIconSet :: (MonadIO m, IsShortcutsShortcut o) => o -> m Bool
+getShortcutsShortcutIconSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "icon-set"
+
+{- |
+Set the value of the “@icon-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #iconSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutIconSet :: (MonadIO m, IsShortcutsShortcut o) => o -> Bool -> m ()
+setShortcutsShortcutIconSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "icon-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutIconSet :: (IsShortcutsShortcut o) => Bool -> IO (GValueConstruct o)
+constructShortcutsShortcutIconSet val = B.Properties.constructObjectPropertyBool "icon-set" val
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutIconSetPropertyInfo
+instance AttrInfo ShortcutsShortcutIconSetPropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutIconSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ShortcutsShortcutIconSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ShortcutsShortcutIconSetPropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutIconSetPropertyInfo = Bool
+    type AttrLabel ShortcutsShortcutIconSetPropertyInfo = "icon-set"
+    type AttrOrigin ShortcutsShortcutIconSetPropertyInfo = ShortcutsShortcut
+    attrGet _ = getShortcutsShortcutIconSet
+    attrSet _ = setShortcutsShortcutIconSet
+    attrConstruct _ = constructShortcutsShortcutIconSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "shortcut-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ShortcutType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@shortcut-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsShortcut #shortcutType
+@
+-}
+getShortcutsShortcutShortcutType :: (MonadIO m, IsShortcutsShortcut o) => o -> m Gtk.Enums.ShortcutType
+getShortcutsShortcutShortcutType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "shortcut-type"
+
+{- |
+Set the value of the “@shortcut-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #shortcutType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutShortcutType :: (MonadIO m, IsShortcutsShortcut o) => o -> Gtk.Enums.ShortcutType -> m ()
+setShortcutsShortcutShortcutType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "shortcut-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@shortcut-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutShortcutType :: (IsShortcutsShortcut o) => Gtk.Enums.ShortcutType -> IO (GValueConstruct o)
+constructShortcutsShortcutShortcutType val = B.Properties.constructObjectPropertyEnum "shortcut-type" val
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutShortcutTypePropertyInfo
+instance AttrInfo ShortcutsShortcutShortcutTypePropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutShortcutTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ShortcutsShortcutShortcutTypePropertyInfo = (~) Gtk.Enums.ShortcutType
+    type AttrBaseTypeConstraint ShortcutsShortcutShortcutTypePropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutShortcutTypePropertyInfo = Gtk.Enums.ShortcutType
+    type AttrLabel ShortcutsShortcutShortcutTypePropertyInfo = "shortcut-type"
+    type AttrOrigin ShortcutsShortcutShortcutTypePropertyInfo = ShortcutsShortcut
+    attrGet _ = getShortcutsShortcutShortcutType
+    attrSet _ = setShortcutsShortcutShortcutType
+    attrConstruct _ = constructShortcutsShortcutShortcutType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "subtitle"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@subtitle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsShortcut #subtitle
+@
+-}
+getShortcutsShortcutSubtitle :: (MonadIO m, IsShortcutsShortcut o) => o -> m (Maybe T.Text)
+getShortcutsShortcutSubtitle obj = liftIO $ B.Properties.getObjectPropertyString obj "subtitle"
+
+{- |
+Set the value of the “@subtitle@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #subtitle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutSubtitle :: (MonadIO m, IsShortcutsShortcut o) => o -> T.Text -> m ()
+setShortcutsShortcutSubtitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "subtitle" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@subtitle@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutSubtitle :: (IsShortcutsShortcut o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsShortcutSubtitle val = B.Properties.constructObjectPropertyString "subtitle" (Just val)
+
+{- |
+Set the value of the “@subtitle@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #subtitle
+@
+-}
+clearShortcutsShortcutSubtitle :: (MonadIO m, IsShortcutsShortcut o) => o -> m ()
+clearShortcutsShortcutSubtitle obj = liftIO $ B.Properties.setObjectPropertyString obj "subtitle" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutSubtitlePropertyInfo
+instance AttrInfo ShortcutsShortcutSubtitlePropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutSubtitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsShortcutSubtitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsShortcutSubtitlePropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutSubtitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsShortcutSubtitlePropertyInfo = "subtitle"
+    type AttrOrigin ShortcutsShortcutSubtitlePropertyInfo = ShortcutsShortcut
+    attrGet _ = getShortcutsShortcutSubtitle
+    attrSet _ = setShortcutsShortcutSubtitle
+    attrConstruct _ = constructShortcutsShortcutSubtitle
+    attrClear _ = clearShortcutsShortcutSubtitle
+#endif
+
+-- VVV Prop "subtitle-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@subtitle-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsShortcut #subtitleSet
+@
+-}
+getShortcutsShortcutSubtitleSet :: (MonadIO m, IsShortcutsShortcut o) => o -> m Bool
+getShortcutsShortcutSubtitleSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "subtitle-set"
+
+{- |
+Set the value of the “@subtitle-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #subtitleSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutSubtitleSet :: (MonadIO m, IsShortcutsShortcut o) => o -> Bool -> m ()
+setShortcutsShortcutSubtitleSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "subtitle-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@subtitle-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutSubtitleSet :: (IsShortcutsShortcut o) => Bool -> IO (GValueConstruct o)
+constructShortcutsShortcutSubtitleSet val = B.Properties.constructObjectPropertyBool "subtitle-set" val
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutSubtitleSetPropertyInfo
+instance AttrInfo ShortcutsShortcutSubtitleSetPropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutSubtitleSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ShortcutsShortcutSubtitleSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ShortcutsShortcutSubtitleSetPropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutSubtitleSetPropertyInfo = Bool
+    type AttrLabel ShortcutsShortcutSubtitleSetPropertyInfo = "subtitle-set"
+    type AttrOrigin ShortcutsShortcutSubtitleSetPropertyInfo = ShortcutsShortcut
+    attrGet _ = getShortcutsShortcutSubtitleSet
+    attrSet _ = setShortcutsShortcutSubtitleSet
+    attrConstruct _ = constructShortcutsShortcutSubtitleSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsShortcut #title
+@
+-}
+getShortcutsShortcutTitle :: (MonadIO m, IsShortcutsShortcut o) => o -> m (Maybe T.Text)
+getShortcutsShortcutTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutTitle :: (MonadIO m, IsShortcutsShortcut o) => o -> T.Text -> m ()
+setShortcutsShortcutTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutTitle :: (IsShortcutsShortcut o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsShortcutTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+{- |
+Set the value of the “@title@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #title
+@
+-}
+clearShortcutsShortcutTitle :: (MonadIO m, IsShortcutsShortcut o) => o -> m ()
+clearShortcutsShortcutTitle obj = liftIO $ B.Properties.setObjectPropertyString obj "title" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutTitlePropertyInfo
+instance AttrInfo ShortcutsShortcutTitlePropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsShortcutTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsShortcutTitlePropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutTitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsShortcutTitlePropertyInfo = "title"
+    type AttrOrigin ShortcutsShortcutTitlePropertyInfo = ShortcutsShortcut
+    attrGet _ = getShortcutsShortcutTitle
+    attrSet _ = setShortcutsShortcutTitle
+    attrConstruct _ = constructShortcutsShortcutTitle
+    attrClear _ = clearShortcutsShortcutTitle
+#endif
+
+-- VVV Prop "title-size-group"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@title-size-group@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsShortcut [ #titleSizeGroup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsShortcutTitleSizeGroup :: (MonadIO m, IsShortcutsShortcut o, Gtk.SizeGroup.IsSizeGroup a) => o -> a -> m ()
+setShortcutsShortcutTitleSizeGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "title-size-group" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title-size-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsShortcutTitleSizeGroup :: (IsShortcutsShortcut o, Gtk.SizeGroup.IsSizeGroup a) => a -> IO (GValueConstruct o)
+constructShortcutsShortcutTitleSizeGroup val = B.Properties.constructObjectPropertyObject "title-size-group" (Just val)
+
+{- |
+Set the value of the “@title-size-group@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #titleSizeGroup
+@
+-}
+clearShortcutsShortcutTitleSizeGroup :: (MonadIO m, IsShortcutsShortcut o) => o -> m ()
+clearShortcutsShortcutTitleSizeGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "title-size-group" (Nothing :: Maybe Gtk.SizeGroup.SizeGroup)
+
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutTitleSizeGroupPropertyInfo
+instance AttrInfo ShortcutsShortcutTitleSizeGroupPropertyInfo where
+    type AttrAllowedOps ShortcutsShortcutTitleSizeGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsShortcutTitleSizeGroupPropertyInfo = Gtk.SizeGroup.IsSizeGroup
+    type AttrBaseTypeConstraint ShortcutsShortcutTitleSizeGroupPropertyInfo = IsShortcutsShortcut
+    type AttrGetType ShortcutsShortcutTitleSizeGroupPropertyInfo = ()
+    type AttrLabel ShortcutsShortcutTitleSizeGroupPropertyInfo = "title-size-group"
+    type AttrOrigin ShortcutsShortcutTitleSizeGroupPropertyInfo = ShortcutsShortcut
+    attrGet _ = undefined
+    attrSet _ = setShortcutsShortcutTitleSizeGroup
+    attrConstruct _ = constructShortcutsShortcutTitleSizeGroup
+    attrClear _ = clearShortcutsShortcutTitleSizeGroup
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ShortcutsShortcut
+type instance O.AttributeList ShortcutsShortcut = ShortcutsShortcutAttributeList
+type ShortcutsShortcutAttributeList = ('[ '("accelSizeGroup", ShortcutsShortcutAccelSizeGroupPropertyInfo), '("accelerator", ShortcutsShortcutAcceleratorPropertyInfo), '("actionName", ShortcutsShortcutActionNamePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("direction", ShortcutsShortcutDirectionPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("icon", ShortcutsShortcutIconPropertyInfo), '("iconSet", ShortcutsShortcutIconSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shortcutType", ShortcutsShortcutShortcutTypePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("subtitle", ShortcutsShortcutSubtitlePropertyInfo), '("subtitleSet", ShortcutsShortcutSubtitleSetPropertyInfo), '("title", ShortcutsShortcutTitlePropertyInfo), '("titleSizeGroup", ShortcutsShortcutTitleSizeGroupPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+shortcutsShortcutAccelSizeGroup :: AttrLabelProxy "accelSizeGroup"
+shortcutsShortcutAccelSizeGroup = AttrLabelProxy
+
+shortcutsShortcutAccelerator :: AttrLabelProxy "accelerator"
+shortcutsShortcutAccelerator = AttrLabelProxy
+
+shortcutsShortcutActionName :: AttrLabelProxy "actionName"
+shortcutsShortcutActionName = AttrLabelProxy
+
+shortcutsShortcutDirection :: AttrLabelProxy "direction"
+shortcutsShortcutDirection = AttrLabelProxy
+
+shortcutsShortcutIcon :: AttrLabelProxy "icon"
+shortcutsShortcutIcon = AttrLabelProxy
+
+shortcutsShortcutIconSet :: AttrLabelProxy "iconSet"
+shortcutsShortcutIconSet = AttrLabelProxy
+
+shortcutsShortcutShortcutType :: AttrLabelProxy "shortcutType"
+shortcutsShortcutShortcutType = AttrLabelProxy
+
+shortcutsShortcutSubtitle :: AttrLabelProxy "subtitle"
+shortcutsShortcutSubtitle = AttrLabelProxy
+
+shortcutsShortcutSubtitleSet :: AttrLabelProxy "subtitleSet"
+shortcutsShortcutSubtitleSet = AttrLabelProxy
+
+shortcutsShortcutTitle :: AttrLabelProxy "title"
+shortcutsShortcutTitle = AttrLabelProxy
+
+shortcutsShortcutTitleSizeGroup :: AttrLabelProxy "titleSizeGroup"
+shortcutsShortcutTitleSizeGroup = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ShortcutsShortcut = ShortcutsShortcutSignalList
+type ShortcutsShortcutSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ShortcutsShortcut.hs-boot b/GI/Gtk/Objects/ShortcutsShortcut.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutsShortcut.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ShortcutsShortcut where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ShortcutsShortcut = ShortcutsShortcut (ManagedPtr ShortcutsShortcut)
+instance GObject ShortcutsShortcut where
+class (GObject o, O.IsDescendantOf ShortcutsShortcut o) => IsShortcutsShortcut o
+instance (GObject o, O.IsDescendantOf ShortcutsShortcut o) => IsShortcutsShortcut o
+instance O.HasParentTypes ShortcutsShortcut
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutAccelSizeGroupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutAcceleratorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutActionNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutDirectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutIconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutIconSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutShortcutTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutSubtitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutSubtitleSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsShortcutTitleSizeGroupPropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/ShortcutsWindow.hs b/GI/Gtk/Objects/ShortcutsWindow.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutsWindow.hs
@@ -0,0 +1,921 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkShortcutsWindow shows brief information about the keyboard shortcuts
+and gestures of an application. The shortcuts can be grouped, and you can
+have multiple sections in this window, corresponding to the major modes of
+your application.
+
+Additionally, the shortcuts can be filtered by the current view, to avoid
+showing information that is not relevant in the current application context.
+
+The recommended way to construct a GtkShortcutsWindow is with GtkBuilder,
+by populating a 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow' with one or more 'GI.Gtk.Objects.ShortcutsSection.ShortcutsSection'
+objects, which contain @/GtkShortcutsGroups/@ that in turn contain objects of
+class 'GI.Gtk.Objects.ShortcutsShortcut.ShortcutsShortcut'.
+
+= A simple example:
+
+<<https://developer.gnome.org/gtk3/stable/gedit-shortcuts.png>>
+
+This example has as single section. As you can see, the shortcut groups
+are arranged in columns, and spread across several pages if there are too
+many to find on a single page.
+
+The .ui file for this example can be found <https://git.gnome.org/browse/gtk+/tree/demos/gtk-demo/shortcuts-gedit.ui here>.
+
+= An example with multiple views:
+
+<<https://developer.gnome.org/gtk3/stable/clocks-shortcuts.png>>
+
+This example shows a 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow' that has been configured to show only
+the shortcuts relevant to the \"stopwatch\" view.
+
+The .ui file for this example can be found <https://git.gnome.org/browse/gtk+/tree/demos/gtk-demo/shortcuts-clocks.ui here>.
+
+= An example with multiple sections:
+
+<<https://developer.gnome.org/gtk3/stable/builder-shortcuts.png>>
+
+This example shows a 'GI.Gtk.Objects.ShortcutsWindow.ShortcutsWindow' with two sections, \"Editor Shortcuts\"
+and \"Terminal Shortcuts\".
+
+The .ui file for this example can be found <https://git.gnome.org/browse/gtk+/tree/demos/gtk-demo/shortcuts-builder.ui here>.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ShortcutsWindow
+    ( 
+
+-- * Exported types
+    ShortcutsWindow(..)                     ,
+    IsShortcutsWindow                       ,
+    toShortcutsWindow                       ,
+    noShortcutsWindow                       ,
+
+
+ -- * Properties
+-- ** sectionName #attr:sectionName#
+{- | The name of the section to show.
+
+This should be the section-name of one of the 'GI.Gtk.Objects.ShortcutsSection.ShortcutsSection'
+objects that are in this shortcuts window.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsWindowSectionNamePropertyInfo  ,
+#endif
+    clearShortcutsWindowSectionName         ,
+    constructShortcutsWindowSectionName     ,
+    getShortcutsWindowSectionName           ,
+    setShortcutsWindowSectionName           ,
+#if ENABLE_OVERLOADING
+    shortcutsWindowSectionName              ,
+#endif
+
+
+-- ** viewName #attr:viewName#
+{- | The view name by which to filter the contents.
+
+This should correspond to the 'GI.Gtk.Objects.ShortcutsGroup.ShortcutsGroup':@/view/@ property of some of
+the 'GI.Gtk.Objects.ShortcutsGroup.ShortcutsGroup' objects that are inside this shortcuts window.
+
+Set this to 'Nothing' to show all groups.
+-}
+#if ENABLE_OVERLOADING
+    ShortcutsWindowViewNamePropertyInfo     ,
+#endif
+    clearShortcutsWindowViewName            ,
+    constructShortcutsWindowViewName        ,
+    getShortcutsWindowViewName              ,
+    setShortcutsWindowViewName              ,
+#if ENABLE_OVERLOADING
+    shortcutsWindowViewName                 ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** close #signal:close#
+
+    C_ShortcutsWindowCloseCallback          ,
+    ShortcutsWindowCloseCallback            ,
+#if ENABLE_OVERLOADING
+    ShortcutsWindowCloseSignalInfo          ,
+#endif
+    afterShortcutsWindowClose               ,
+    genClosure_ShortcutsWindowClose         ,
+    mk_ShortcutsWindowCloseCallback         ,
+    noShortcutsWindowCloseCallback          ,
+    onShortcutsWindowClose                  ,
+    wrap_ShortcutsWindowCloseCallback       ,
+
+
+-- ** search #signal:search#
+
+    C_ShortcutsWindowSearchCallback         ,
+    ShortcutsWindowSearchCallback           ,
+#if ENABLE_OVERLOADING
+    ShortcutsWindowSearchSignalInfo         ,
+#endif
+    afterShortcutsWindowSearch              ,
+    genClosure_ShortcutsWindowSearch        ,
+    mk_ShortcutsWindowSearchCallback        ,
+    noShortcutsWindowSearchCallback         ,
+    onShortcutsWindowSearch                 ,
+    wrap_ShortcutsWindowSearchCallback      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype ShortcutsWindow = ShortcutsWindow (ManagedPtr ShortcutsWindow)
+foreign import ccall "gtk_shortcuts_window_get_type"
+    c_gtk_shortcuts_window_get_type :: IO GType
+
+instance GObject ShortcutsWindow where
+    gobjectType = c_gtk_shortcuts_window_get_type
+    
+
+-- | Type class for types which can be safely cast to `ShortcutsWindow`, for instance with `toShortcutsWindow`.
+class (GObject o, O.IsDescendantOf ShortcutsWindow o) => IsShortcutsWindow o
+instance (GObject o, O.IsDescendantOf ShortcutsWindow o) => IsShortcutsWindow o
+
+instance O.HasParentTypes ShortcutsWindow
+type instance O.ParentTypes ShortcutsWindow = '[Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `ShortcutsWindow`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toShortcutsWindow :: (MonadIO m, IsShortcutsWindow o) => o -> m ShortcutsWindow
+toShortcutsWindow = liftIO . unsafeCastTo ShortcutsWindow
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ShortcutsWindow`.
+noShortcutsWindow :: Maybe ShortcutsWindow
+noShortcutsWindow = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveShortcutsWindowMethod (t :: Symbol) (o :: *) :: * where
+    ResolveShortcutsWindowMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveShortcutsWindowMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
+    ResolveShortcutsWindowMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
+    ResolveShortcutsWindowMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
+    ResolveShortcutsWindowMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveShortcutsWindowMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
+    ResolveShortcutsWindowMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveShortcutsWindowMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveShortcutsWindowMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveShortcutsWindowMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveShortcutsWindowMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
+    ResolveShortcutsWindowMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveShortcutsWindowMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveShortcutsWindowMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
+    ResolveShortcutsWindowMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
+    ResolveShortcutsWindowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveShortcutsWindowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveShortcutsWindowMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveShortcutsWindowMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveShortcutsWindowMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveShortcutsWindowMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveShortcutsWindowMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveShortcutsWindowMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveShortcutsWindowMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveShortcutsWindowMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveShortcutsWindowMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveShortcutsWindowMethod "close" o = Gtk.Window.WindowCloseMethodInfo
+    ResolveShortcutsWindowMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveShortcutsWindowMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveShortcutsWindowMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveShortcutsWindowMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveShortcutsWindowMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveShortcutsWindowMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveShortcutsWindowMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveShortcutsWindowMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
+    ResolveShortcutsWindowMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveShortcutsWindowMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveShortcutsWindowMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveShortcutsWindowMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveShortcutsWindowMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveShortcutsWindowMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveShortcutsWindowMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveShortcutsWindowMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveShortcutsWindowMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveShortcutsWindowMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveShortcutsWindowMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveShortcutsWindowMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveShortcutsWindowMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveShortcutsWindowMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveShortcutsWindowMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveShortcutsWindowMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveShortcutsWindowMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveShortcutsWindowMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveShortcutsWindowMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveShortcutsWindowMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveShortcutsWindowMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveShortcutsWindowMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveShortcutsWindowMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveShortcutsWindowMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveShortcutsWindowMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveShortcutsWindowMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveShortcutsWindowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveShortcutsWindowMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveShortcutsWindowMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveShortcutsWindowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveShortcutsWindowMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
+    ResolveShortcutsWindowMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
+    ResolveShortcutsWindowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveShortcutsWindowMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveShortcutsWindowMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveShortcutsWindowMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveShortcutsWindowMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveShortcutsWindowMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveShortcutsWindowMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveShortcutsWindowMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveShortcutsWindowMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
+    ResolveShortcutsWindowMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveShortcutsWindowMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveShortcutsWindowMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
+    ResolveShortcutsWindowMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveShortcutsWindowMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveShortcutsWindowMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveShortcutsWindowMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
+    ResolveShortcutsWindowMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveShortcutsWindowMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveShortcutsWindowMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveShortcutsWindowMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveShortcutsWindowMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveShortcutsWindowMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
+    ResolveShortcutsWindowMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveShortcutsWindowMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveShortcutsWindowMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveShortcutsWindowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveShortcutsWindowMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveShortcutsWindowMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
+    ResolveShortcutsWindowMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveShortcutsWindowMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveShortcutsWindowMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveShortcutsWindowMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveShortcutsWindowMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveShortcutsWindowMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveShortcutsWindowMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveShortcutsWindowMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveShortcutsWindowMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
+    ResolveShortcutsWindowMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
+    ResolveShortcutsWindowMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveShortcutsWindowMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveShortcutsWindowMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveShortcutsWindowMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveShortcutsWindowMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveShortcutsWindowMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveShortcutsWindowMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveShortcutsWindowMethod "move" o = Gtk.Window.WindowMoveMethodInfo
+    ResolveShortcutsWindowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveShortcutsWindowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveShortcutsWindowMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveShortcutsWindowMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveShortcutsWindowMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveShortcutsWindowMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveShortcutsWindowMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveShortcutsWindowMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
+    ResolveShortcutsWindowMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveShortcutsWindowMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveShortcutsWindowMethod "present" o = Gtk.Window.WindowPresentMethodInfo
+    ResolveShortcutsWindowMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
+    ResolveShortcutsWindowMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveShortcutsWindowMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
+    ResolveShortcutsWindowMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveShortcutsWindowMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveShortcutsWindowMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveShortcutsWindowMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveShortcutsWindowMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveShortcutsWindowMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveShortcutsWindowMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveShortcutsWindowMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveShortcutsWindowMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveShortcutsWindowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveShortcutsWindowMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveShortcutsWindowMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveShortcutsWindowMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveShortcutsWindowMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
+    ResolveShortcutsWindowMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveShortcutsWindowMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
+    ResolveShortcutsWindowMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveShortcutsWindowMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveShortcutsWindowMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveShortcutsWindowMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveShortcutsWindowMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveShortcutsWindowMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveShortcutsWindowMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveShortcutsWindowMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
+    ResolveShortcutsWindowMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
+    ResolveShortcutsWindowMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveShortcutsWindowMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
+    ResolveShortcutsWindowMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
+    ResolveShortcutsWindowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveShortcutsWindowMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveShortcutsWindowMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveShortcutsWindowMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveShortcutsWindowMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveShortcutsWindowMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveShortcutsWindowMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveShortcutsWindowMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveShortcutsWindowMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveShortcutsWindowMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveShortcutsWindowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveShortcutsWindowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveShortcutsWindowMethod "stick" o = Gtk.Window.WindowStickMethodInfo
+    ResolveShortcutsWindowMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveShortcutsWindowMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveShortcutsWindowMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveShortcutsWindowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveShortcutsWindowMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveShortcutsWindowMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveShortcutsWindowMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
+    ResolveShortcutsWindowMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveShortcutsWindowMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
+    ResolveShortcutsWindowMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveShortcutsWindowMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveShortcutsWindowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveShortcutsWindowMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveShortcutsWindowMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveShortcutsWindowMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveShortcutsWindowMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
+    ResolveShortcutsWindowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveShortcutsWindowMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
+    ResolveShortcutsWindowMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveShortcutsWindowMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveShortcutsWindowMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveShortcutsWindowMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveShortcutsWindowMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveShortcutsWindowMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveShortcutsWindowMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveShortcutsWindowMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveShortcutsWindowMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveShortcutsWindowMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
+    ResolveShortcutsWindowMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
+    ResolveShortcutsWindowMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveShortcutsWindowMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveShortcutsWindowMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveShortcutsWindowMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveShortcutsWindowMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveShortcutsWindowMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveShortcutsWindowMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveShortcutsWindowMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveShortcutsWindowMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveShortcutsWindowMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveShortcutsWindowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveShortcutsWindowMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
+    ResolveShortcutsWindowMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
+    ResolveShortcutsWindowMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
+    ResolveShortcutsWindowMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
+    ResolveShortcutsWindowMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
+    ResolveShortcutsWindowMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveShortcutsWindowMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveShortcutsWindowMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveShortcutsWindowMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveShortcutsWindowMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveShortcutsWindowMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveShortcutsWindowMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
+    ResolveShortcutsWindowMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveShortcutsWindowMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveShortcutsWindowMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveShortcutsWindowMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveShortcutsWindowMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
+    ResolveShortcutsWindowMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveShortcutsWindowMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
+    ResolveShortcutsWindowMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveShortcutsWindowMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveShortcutsWindowMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveShortcutsWindowMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
+    ResolveShortcutsWindowMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
+    ResolveShortcutsWindowMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveShortcutsWindowMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
+    ResolveShortcutsWindowMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveShortcutsWindowMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveShortcutsWindowMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveShortcutsWindowMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveShortcutsWindowMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveShortcutsWindowMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
+    ResolveShortcutsWindowMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
+    ResolveShortcutsWindowMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
+    ResolveShortcutsWindowMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveShortcutsWindowMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveShortcutsWindowMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveShortcutsWindowMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveShortcutsWindowMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveShortcutsWindowMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveShortcutsWindowMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveShortcutsWindowMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveShortcutsWindowMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
+    ResolveShortcutsWindowMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
+    ResolveShortcutsWindowMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
+    ResolveShortcutsWindowMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveShortcutsWindowMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveShortcutsWindowMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveShortcutsWindowMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveShortcutsWindowMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
+    ResolveShortcutsWindowMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveShortcutsWindowMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveShortcutsWindowMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveShortcutsWindowMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveShortcutsWindowMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveShortcutsWindowMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveShortcutsWindowMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
+    ResolveShortcutsWindowMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveShortcutsWindowMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveShortcutsWindowMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveShortcutsWindowMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveShortcutsWindowMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveShortcutsWindowMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveShortcutsWindowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveShortcutsWindowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveShortcutsWindowMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveShortcutsWindowMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveShortcutsWindowMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveShortcutsWindowMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveShortcutsWindowMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
+    ResolveShortcutsWindowMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
+    ResolveShortcutsWindowMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveShortcutsWindowMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
+    ResolveShortcutsWindowMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveShortcutsWindowMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveShortcutsWindowMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
+    ResolveShortcutsWindowMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveShortcutsWindowMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveShortcutsWindowMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
+    ResolveShortcutsWindowMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveShortcutsWindowMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
+    ResolveShortcutsWindowMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
+    ResolveShortcutsWindowMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveShortcutsWindowMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveShortcutsWindowMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveShortcutsWindowMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveShortcutsWindowMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveShortcutsWindowMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveShortcutsWindowMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
+    ResolveShortcutsWindowMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
+    ResolveShortcutsWindowMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveShortcutsWindowMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveShortcutsWindowMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveShortcutsWindowMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveShortcutsWindowMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
+    ResolveShortcutsWindowMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
+    ResolveShortcutsWindowMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
+    ResolveShortcutsWindowMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveShortcutsWindowMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveShortcutsWindowMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveShortcutsWindowMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveShortcutsWindowMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveShortcutsWindowMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveShortcutsWindowMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveShortcutsWindowMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
+    ResolveShortcutsWindowMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveShortcutsWindowMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
+    ResolveShortcutsWindowMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveShortcutsWindowMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveShortcutsWindowMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
+    ResolveShortcutsWindowMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
+    ResolveShortcutsWindowMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveShortcutsWindowMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveShortcutsWindowMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveShortcutsWindowMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveShortcutsWindowMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveShortcutsWindowMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveShortcutsWindowMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveShortcutsWindowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveShortcutsWindowMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
+    ResolveShortcutsWindowMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
+    ResolveShortcutsWindowMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
+    ResolveShortcutsWindowMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
+    ResolveShortcutsWindowMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
+    ResolveShortcutsWindowMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
+    ResolveShortcutsWindowMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveShortcutsWindowMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveShortcutsWindowMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveShortcutsWindowMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveShortcutsWindowMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveShortcutsWindowMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
+    ResolveShortcutsWindowMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveShortcutsWindowMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveShortcutsWindowMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveShortcutsWindowMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveShortcutsWindowMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
+    ResolveShortcutsWindowMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveShortcutsWindowMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
+    ResolveShortcutsWindowMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveShortcutsWindowMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveShortcutsWindowMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
+    ResolveShortcutsWindowMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
+    ResolveShortcutsWindowMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveShortcutsWindowMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
+    ResolveShortcutsWindowMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveShortcutsWindowMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
+    ResolveShortcutsWindowMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveShortcutsWindowMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveShortcutsWindowMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveShortcutsWindowMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveShortcutsWindowMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
+    ResolveShortcutsWindowMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
+    ResolveShortcutsWindowMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
+    ResolveShortcutsWindowMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
+    ResolveShortcutsWindowMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
+    ResolveShortcutsWindowMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
+    ResolveShortcutsWindowMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveShortcutsWindowMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveShortcutsWindowMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveShortcutsWindowMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveShortcutsWindowMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveShortcutsWindowMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveShortcutsWindowMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveShortcutsWindowMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
+    ResolveShortcutsWindowMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
+    ResolveShortcutsWindowMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
+    ResolveShortcutsWindowMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveShortcutsWindowMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveShortcutsWindowMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
+    ResolveShortcutsWindowMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveShortcutsWindowMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveShortcutsWindowMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
+    ResolveShortcutsWindowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveShortcutsWindowMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveShortcutsWindowMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveShortcutsWindowMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveShortcutsWindowMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveShortcutsWindowMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
+    ResolveShortcutsWindowMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveShortcutsWindowMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
+    ResolveShortcutsWindowMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
+    ResolveShortcutsWindowMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveShortcutsWindowMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveShortcutsWindowMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
+    ResolveShortcutsWindowMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
+    ResolveShortcutsWindowMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
+    ResolveShortcutsWindowMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveShortcutsWindowMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveShortcutsWindowMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveShortcutsWindowMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveShortcutsWindowMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
+    ResolveShortcutsWindowMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
+    ResolveShortcutsWindowMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveShortcutsWindowMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveShortcutsWindowMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveShortcutsWindowMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
+    ResolveShortcutsWindowMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
+    ResolveShortcutsWindowMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
+    ResolveShortcutsWindowMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveShortcutsWindowMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveShortcutsWindowMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveShortcutsWindowMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveShortcutsWindowMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveShortcutsWindowMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveShortcutsWindowMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
+    ResolveShortcutsWindowMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveShortcutsWindowMethod t ShortcutsWindow, O.MethodInfo info ShortcutsWindow p) => OL.IsLabel t (ShortcutsWindow -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ShortcutsWindow::close
+{- |
+The ::close signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user uses a keybinding to close
+the window.
+
+The default binding for this signal is the Escape key.
+-}
+type ShortcutsWindowCloseCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ShortcutsWindowCloseCallback`@.
+noShortcutsWindowCloseCallback :: Maybe ShortcutsWindowCloseCallback
+noShortcutsWindowCloseCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ShortcutsWindowCloseCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ShortcutsWindowCloseCallback`.
+foreign import ccall "wrapper"
+    mk_ShortcutsWindowCloseCallback :: C_ShortcutsWindowCloseCallback -> IO (FunPtr C_ShortcutsWindowCloseCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ShortcutsWindowClose :: MonadIO m => ShortcutsWindowCloseCallback -> m (GClosure C_ShortcutsWindowCloseCallback)
+genClosure_ShortcutsWindowClose cb = liftIO $ do
+    let cb' = wrap_ShortcutsWindowCloseCallback cb
+    mk_ShortcutsWindowCloseCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ShortcutsWindowCloseCallback` into a `C_ShortcutsWindowCloseCallback`.
+wrap_ShortcutsWindowCloseCallback ::
+    ShortcutsWindowCloseCallback ->
+    C_ShortcutsWindowCloseCallback
+wrap_ShortcutsWindowCloseCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@close@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' shortcutsWindow #close callback
+@
+-}
+onShortcutsWindowClose :: (IsShortcutsWindow a, MonadIO m) => a -> ShortcutsWindowCloseCallback -> m SignalHandlerId
+onShortcutsWindowClose obj cb = liftIO $ do
+    let cb' = wrap_ShortcutsWindowCloseCallback cb
+    cb'' <- mk_ShortcutsWindowCloseCallback cb'
+    connectSignalFunPtr obj "close" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@close@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' shortcutsWindow #close callback
+@
+-}
+afterShortcutsWindowClose :: (IsShortcutsWindow a, MonadIO m) => a -> ShortcutsWindowCloseCallback -> m SignalHandlerId
+afterShortcutsWindowClose obj cb = liftIO $ do
+    let cb' = wrap_ShortcutsWindowCloseCallback cb
+    cb'' <- mk_ShortcutsWindowCloseCallback cb'
+    connectSignalFunPtr obj "close" cb'' SignalConnectAfter
+
+
+-- signal ShortcutsWindow::search
+{- |
+The ::search signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user uses a keybinding to start a search.
+
+The default binding for this signal is Control-F.
+-}
+type ShortcutsWindowSearchCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ShortcutsWindowSearchCallback`@.
+noShortcutsWindowSearchCallback :: Maybe ShortcutsWindowSearchCallback
+noShortcutsWindowSearchCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ShortcutsWindowSearchCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ShortcutsWindowSearchCallback`.
+foreign import ccall "wrapper"
+    mk_ShortcutsWindowSearchCallback :: C_ShortcutsWindowSearchCallback -> IO (FunPtr C_ShortcutsWindowSearchCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ShortcutsWindowSearch :: MonadIO m => ShortcutsWindowSearchCallback -> m (GClosure C_ShortcutsWindowSearchCallback)
+genClosure_ShortcutsWindowSearch cb = liftIO $ do
+    let cb' = wrap_ShortcutsWindowSearchCallback cb
+    mk_ShortcutsWindowSearchCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ShortcutsWindowSearchCallback` into a `C_ShortcutsWindowSearchCallback`.
+wrap_ShortcutsWindowSearchCallback ::
+    ShortcutsWindowSearchCallback ->
+    C_ShortcutsWindowSearchCallback
+wrap_ShortcutsWindowSearchCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@search@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' shortcutsWindow #search callback
+@
+-}
+onShortcutsWindowSearch :: (IsShortcutsWindow a, MonadIO m) => a -> ShortcutsWindowSearchCallback -> m SignalHandlerId
+onShortcutsWindowSearch obj cb = liftIO $ do
+    let cb' = wrap_ShortcutsWindowSearchCallback cb
+    cb'' <- mk_ShortcutsWindowSearchCallback cb'
+    connectSignalFunPtr obj "search" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@search@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' shortcutsWindow #search callback
+@
+-}
+afterShortcutsWindowSearch :: (IsShortcutsWindow a, MonadIO m) => a -> ShortcutsWindowSearchCallback -> m SignalHandlerId
+afterShortcutsWindowSearch obj cb = liftIO $ do
+    let cb' = wrap_ShortcutsWindowSearchCallback cb
+    cb'' <- mk_ShortcutsWindowSearchCallback cb'
+    connectSignalFunPtr obj "search" cb'' SignalConnectAfter
+
+
+-- VVV Prop "section-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@section-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsWindow #sectionName
+@
+-}
+getShortcutsWindowSectionName :: (MonadIO m, IsShortcutsWindow o) => o -> m (Maybe T.Text)
+getShortcutsWindowSectionName obj = liftIO $ B.Properties.getObjectPropertyString obj "section-name"
+
+{- |
+Set the value of the “@section-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsWindow [ #sectionName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsWindowSectionName :: (MonadIO m, IsShortcutsWindow o) => o -> T.Text -> m ()
+setShortcutsWindowSectionName obj val = liftIO $ B.Properties.setObjectPropertyString obj "section-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@section-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsWindowSectionName :: (IsShortcutsWindow o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsWindowSectionName val = B.Properties.constructObjectPropertyString "section-name" (Just val)
+
+{- |
+Set the value of the “@section-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #sectionName
+@
+-}
+clearShortcutsWindowSectionName :: (MonadIO m, IsShortcutsWindow o) => o -> m ()
+clearShortcutsWindowSectionName obj = liftIO $ B.Properties.setObjectPropertyString obj "section-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsWindowSectionNamePropertyInfo
+instance AttrInfo ShortcutsWindowSectionNamePropertyInfo where
+    type AttrAllowedOps ShortcutsWindowSectionNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsWindowSectionNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsWindowSectionNamePropertyInfo = IsShortcutsWindow
+    type AttrGetType ShortcutsWindowSectionNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsWindowSectionNamePropertyInfo = "section-name"
+    type AttrOrigin ShortcutsWindowSectionNamePropertyInfo = ShortcutsWindow
+    attrGet _ = getShortcutsWindowSectionName
+    attrSet _ = setShortcutsWindowSectionName
+    attrConstruct _ = constructShortcutsWindowSectionName
+    attrClear _ = clearShortcutsWindowSectionName
+#endif
+
+-- VVV Prop "view-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@view-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' shortcutsWindow #viewName
+@
+-}
+getShortcutsWindowViewName :: (MonadIO m, IsShortcutsWindow o) => o -> m (Maybe T.Text)
+getShortcutsWindowViewName obj = liftIO $ B.Properties.getObjectPropertyString obj "view-name"
+
+{- |
+Set the value of the “@view-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' shortcutsWindow [ #viewName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setShortcutsWindowViewName :: (MonadIO m, IsShortcutsWindow o) => o -> T.Text -> m ()
+setShortcutsWindowViewName obj val = liftIO $ B.Properties.setObjectPropertyString obj "view-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@view-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructShortcutsWindowViewName :: (IsShortcutsWindow o) => T.Text -> IO (GValueConstruct o)
+constructShortcutsWindowViewName val = B.Properties.constructObjectPropertyString "view-name" (Just val)
+
+{- |
+Set the value of the “@view-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #viewName
+@
+-}
+clearShortcutsWindowViewName :: (MonadIO m, IsShortcutsWindow o) => o -> m ()
+clearShortcutsWindowViewName obj = liftIO $ B.Properties.setObjectPropertyString obj "view-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ShortcutsWindowViewNamePropertyInfo
+instance AttrInfo ShortcutsWindowViewNamePropertyInfo where
+    type AttrAllowedOps ShortcutsWindowViewNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ShortcutsWindowViewNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ShortcutsWindowViewNamePropertyInfo = IsShortcutsWindow
+    type AttrGetType ShortcutsWindowViewNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ShortcutsWindowViewNamePropertyInfo = "view-name"
+    type AttrOrigin ShortcutsWindowViewNamePropertyInfo = ShortcutsWindow
+    attrGet _ = getShortcutsWindowViewName
+    attrSet _ = setShortcutsWindowViewName
+    attrConstruct _ = constructShortcutsWindowViewName
+    attrClear _ = clearShortcutsWindowViewName
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ShortcutsWindow
+type instance O.AttributeList ShortcutsWindow = ShortcutsWindowAttributeList
+type ShortcutsWindowAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sectionName", ShortcutsWindowSectionNamePropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("viewName", ShortcutsWindowViewNamePropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+shortcutsWindowSectionName :: AttrLabelProxy "sectionName"
+shortcutsWindowSectionName = AttrLabelProxy
+
+shortcutsWindowViewName :: AttrLabelProxy "viewName"
+shortcutsWindowViewName = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ShortcutsWindowCloseSignalInfo
+instance SignalInfo ShortcutsWindowCloseSignalInfo where
+    type HaskellCallbackType ShortcutsWindowCloseSignalInfo = ShortcutsWindowCloseCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ShortcutsWindowCloseCallback cb
+        cb'' <- mk_ShortcutsWindowCloseCallback cb'
+        connectSignalFunPtr obj "close" cb'' connectMode
+
+data ShortcutsWindowSearchSignalInfo
+instance SignalInfo ShortcutsWindowSearchSignalInfo where
+    type HaskellCallbackType ShortcutsWindowSearchSignalInfo = ShortcutsWindowSearchCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ShortcutsWindowSearchCallback cb
+        cb'' <- mk_ShortcutsWindowSearchCallback cb'
+        connectSignalFunPtr obj "search" cb'' connectMode
+
+type instance O.SignalList ShortcutsWindow = ShortcutsWindowSignalList
+type ShortcutsWindowSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("close", ShortcutsWindowCloseSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("search", ShortcutsWindowSearchSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ShortcutsWindow.hs-boot b/GI/Gtk/Objects/ShortcutsWindow.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ShortcutsWindow.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ShortcutsWindow where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ShortcutsWindow = ShortcutsWindow (ManagedPtr ShortcutsWindow)
+instance GObject ShortcutsWindow where
+class (GObject o, O.IsDescendantOf ShortcutsWindow o) => IsShortcutsWindow o
+instance (GObject o, O.IsDescendantOf ShortcutsWindow o) => IsShortcutsWindow o
+instance O.HasParentTypes ShortcutsWindow
+#if ENABLE_OVERLOADING
+data ShortcutsWindowSectionNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsWindowViewNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsWindowCloseSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ShortcutsWindowSearchSignalInfo
+#endif
diff --git a/GI/Gtk/Objects/SizeGroup.hs b/GI/Gtk/Objects/SizeGroup.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SizeGroup.hs
@@ -0,0 +1,715 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.SizeGroup.SizeGroup' provides a mechanism for grouping a number of widgets
+together so they all request the same amount of space.  This is
+typically useful when you want a column of widgets to have the same
+size, but you can’t use a 'GI.Gtk.Objects.Grid.Grid' widget.
+
+In detail, the size requested for each widget in a 'GI.Gtk.Objects.SizeGroup.SizeGroup' is
+the maximum of the sizes that would have been requested for each
+widget in the size group if they were not in the size group. The mode
+of the size group (see 'GI.Gtk.Objects.SizeGroup.sizeGroupSetMode') determines whether
+this applies to the horizontal size, the vertical size, or both sizes.
+
+Note that size groups only affect the amount of space requested, not
+the size that the widgets finally receive. If you want the widgets in
+a 'GI.Gtk.Objects.SizeGroup.SizeGroup' to actually be the same size, you need to pack them in
+such a way that they get the size they request and not more. For
+example, if you are packing your widgets into a table, you would not
+include the 'GI.Gtk.Flags.AttachOptionsFill' flag.
+
+'GI.Gtk.Objects.SizeGroup.SizeGroup' objects are referenced by each widget in the size group,
+so once you have added all widgets to a 'GI.Gtk.Objects.SizeGroup.SizeGroup', you can drop
+the initial reference to the size group with 'GI.GObject.Objects.Object.objectUnref'. If the
+widgets in the size group are subsequently destroyed, then they will
+be removed from the size group and drop their references on the size
+group; when all widgets have been removed, the size group will be
+freed.
+
+Widgets can be part of multiple size groups; GTK+ will compute the
+horizontal size of a widget from the horizontal requisition of all
+widgets that can be reached from the widget by a chain of size groups
+of type 'GI.Gtk.Enums.SizeGroupModeHorizontal' or 'GI.Gtk.Enums.SizeGroupModeBoth', and the
+vertical size from the vertical requisition of all widgets that can be
+reached from the widget by a chain of size groups of type
+'GI.Gtk.Enums.SizeGroupModeVertical' or 'GI.Gtk.Enums.SizeGroupModeBoth'.
+
+Note that only non-contextual sizes of every widget are ever consulted
+by size groups (since size groups have no knowledge of what size a widget
+will be allocated in one dimension, it cannot derive how much height
+a widget will receive for a given width). When grouping widgets that
+trade height for width in mode 'GI.Gtk.Enums.SizeGroupModeVertical' or 'GI.Gtk.Enums.SizeGroupModeBoth':
+the height for the minimum width will be the requested height for all
+widgets in the group. The same is of course true when horizontally grouping
+width for height widgets.
+
+Widgets that trade height-for-width should set a reasonably large minimum width
+by way of 'GI.Gtk.Objects.Label.Label':@/width-chars/@ for instance. Widgets with static sizes as well
+as widgets that grow (such as ellipsizing text) need no such considerations.
+
+= GtkSizeGroup as GtkBuildable
+
+Size groups can be specified in a UI definition by placing an \<object>
+element with @class=\"GtkSizeGroup\"@ somewhere in the UI definition. The
+widgets that belong to the size group are specified by a \<widgets> element
+that may contain multiple \<widget> elements, one for each member of the
+size group. The ”name” attribute gives the id of the widget.
+
+An example of a UI definition fragment with GtkSizeGroup:
+>
+><object class="GtkSizeGroup">
+>  <property name="mode">GTK_SIZE_GROUP_HORIZONTAL</property>
+>  <widgets>
+>    <widget name="radio1"/>
+>    <widget name="radio2"/>
+>  </widgets>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.SizeGroup
+    ( 
+
+-- * Exported types
+    SizeGroup(..)                           ,
+    IsSizeGroup                             ,
+    toSizeGroup                             ,
+    noSizeGroup                             ,
+
+
+ -- * Methods
+-- ** addWidget #method:addWidget#
+
+#if ENABLE_OVERLOADING
+    SizeGroupAddWidgetMethodInfo            ,
+#endif
+    sizeGroupAddWidget                      ,
+
+
+-- ** getIgnoreHidden #method:getIgnoreHidden#
+
+#if ENABLE_OVERLOADING
+    SizeGroupGetIgnoreHiddenMethodInfo      ,
+#endif
+    sizeGroupGetIgnoreHidden                ,
+
+
+-- ** getMode #method:getMode#
+
+#if ENABLE_OVERLOADING
+    SizeGroupGetModeMethodInfo              ,
+#endif
+    sizeGroupGetMode                        ,
+
+
+-- ** getWidgets #method:getWidgets#
+
+#if ENABLE_OVERLOADING
+    SizeGroupGetWidgetsMethodInfo           ,
+#endif
+    sizeGroupGetWidgets                     ,
+
+
+-- ** new #method:new#
+
+    sizeGroupNew                            ,
+
+
+-- ** removeWidget #method:removeWidget#
+
+#if ENABLE_OVERLOADING
+    SizeGroupRemoveWidgetMethodInfo         ,
+#endif
+    sizeGroupRemoveWidget                   ,
+
+
+-- ** setIgnoreHidden #method:setIgnoreHidden#
+
+#if ENABLE_OVERLOADING
+    SizeGroupSetIgnoreHiddenMethodInfo      ,
+#endif
+    sizeGroupSetIgnoreHidden                ,
+
+
+-- ** setMode #method:setMode#
+
+#if ENABLE_OVERLOADING
+    SizeGroupSetModeMethodInfo              ,
+#endif
+    sizeGroupSetMode                        ,
+
+
+
+
+ -- * Properties
+-- ** ignoreHidden #attr:ignoreHidden#
+{- | If 'True', unmapped widgets are ignored when determining
+the size of the group.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    SizeGroupIgnoreHiddenPropertyInfo       ,
+#endif
+    constructSizeGroupIgnoreHidden          ,
+    getSizeGroupIgnoreHidden                ,
+    setSizeGroupIgnoreHidden                ,
+#if ENABLE_OVERLOADING
+    sizeGroupIgnoreHidden                   ,
+#endif
+
+
+-- ** mode #attr:mode#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SizeGroupModePropertyInfo               ,
+#endif
+    constructSizeGroupMode                  ,
+    getSizeGroupMode                        ,
+    setSizeGroupMode                        ,
+#if ENABLE_OVERLOADING
+    sizeGroupMode                           ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype SizeGroup = SizeGroup (ManagedPtr SizeGroup)
+foreign import ccall "gtk_size_group_get_type"
+    c_gtk_size_group_get_type :: IO GType
+
+instance GObject SizeGroup where
+    gobjectType = c_gtk_size_group_get_type
+    
+
+-- | Type class for types which can be safely cast to `SizeGroup`, for instance with `toSizeGroup`.
+class (GObject o, O.IsDescendantOf SizeGroup o) => IsSizeGroup o
+instance (GObject o, O.IsDescendantOf SizeGroup o) => IsSizeGroup o
+
+instance O.HasParentTypes SizeGroup
+type instance O.ParentTypes SizeGroup = '[GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `SizeGroup`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSizeGroup :: (MonadIO m, IsSizeGroup o) => o -> m SizeGroup
+toSizeGroup = liftIO . unsafeCastTo SizeGroup
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SizeGroup`.
+noSizeGroup :: Maybe SizeGroup
+noSizeGroup = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSizeGroupMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSizeGroupMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSizeGroupMethod "addWidget" o = SizeGroupAddWidgetMethodInfo
+    ResolveSizeGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSizeGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSizeGroupMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSizeGroupMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSizeGroupMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSizeGroupMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSizeGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSizeGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSizeGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSizeGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSizeGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSizeGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSizeGroupMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSizeGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSizeGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSizeGroupMethod "removeWidget" o = SizeGroupRemoveWidgetMethodInfo
+    ResolveSizeGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSizeGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSizeGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSizeGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSizeGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSizeGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSizeGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSizeGroupMethod "getIgnoreHidden" o = SizeGroupGetIgnoreHiddenMethodInfo
+    ResolveSizeGroupMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSizeGroupMethod "getMode" o = SizeGroupGetModeMethodInfo
+    ResolveSizeGroupMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveSizeGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSizeGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSizeGroupMethod "getWidgets" o = SizeGroupGetWidgetsMethodInfo
+    ResolveSizeGroupMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSizeGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSizeGroupMethod "setIgnoreHidden" o = SizeGroupSetIgnoreHiddenMethodInfo
+    ResolveSizeGroupMethod "setMode" o = SizeGroupSetModeMethodInfo
+    ResolveSizeGroupMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveSizeGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSizeGroupMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSizeGroupMethod t SizeGroup, O.MethodInfo info SizeGroup p) => OL.IsLabel t (SizeGroup -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "ignore-hidden"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@ignore-hidden@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' sizeGroup #ignoreHidden
+@
+-}
+getSizeGroupIgnoreHidden :: (MonadIO m, IsSizeGroup o) => o -> m Bool
+getSizeGroupIgnoreHidden obj = liftIO $ B.Properties.getObjectPropertyBool obj "ignore-hidden"
+
+{- |
+Set the value of the “@ignore-hidden@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' sizeGroup [ #ignoreHidden 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSizeGroupIgnoreHidden :: (MonadIO m, IsSizeGroup o) => o -> Bool -> m ()
+setSizeGroupIgnoreHidden obj val = liftIO $ B.Properties.setObjectPropertyBool obj "ignore-hidden" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@ignore-hidden@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSizeGroupIgnoreHidden :: (IsSizeGroup o) => Bool -> IO (GValueConstruct o)
+constructSizeGroupIgnoreHidden val = B.Properties.constructObjectPropertyBool "ignore-hidden" val
+
+#if ENABLE_OVERLOADING
+data SizeGroupIgnoreHiddenPropertyInfo
+instance AttrInfo SizeGroupIgnoreHiddenPropertyInfo where
+    type AttrAllowedOps SizeGroupIgnoreHiddenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SizeGroupIgnoreHiddenPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SizeGroupIgnoreHiddenPropertyInfo = IsSizeGroup
+    type AttrGetType SizeGroupIgnoreHiddenPropertyInfo = Bool
+    type AttrLabel SizeGroupIgnoreHiddenPropertyInfo = "ignore-hidden"
+    type AttrOrigin SizeGroupIgnoreHiddenPropertyInfo = SizeGroup
+    attrGet _ = getSizeGroupIgnoreHidden
+    attrSet _ = setSizeGroupIgnoreHidden
+    attrConstruct _ = constructSizeGroupIgnoreHidden
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SizeGroupMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' sizeGroup #mode
+@
+-}
+getSizeGroupMode :: (MonadIO m, IsSizeGroup o) => o -> m Gtk.Enums.SizeGroupMode
+getSizeGroupMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "mode"
+
+{- |
+Set the value of the “@mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' sizeGroup [ #mode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSizeGroupMode :: (MonadIO m, IsSizeGroup o) => o -> Gtk.Enums.SizeGroupMode -> m ()
+setSizeGroupMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSizeGroupMode :: (IsSizeGroup o) => Gtk.Enums.SizeGroupMode -> IO (GValueConstruct o)
+constructSizeGroupMode val = B.Properties.constructObjectPropertyEnum "mode" val
+
+#if ENABLE_OVERLOADING
+data SizeGroupModePropertyInfo
+instance AttrInfo SizeGroupModePropertyInfo where
+    type AttrAllowedOps SizeGroupModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SizeGroupModePropertyInfo = (~) Gtk.Enums.SizeGroupMode
+    type AttrBaseTypeConstraint SizeGroupModePropertyInfo = IsSizeGroup
+    type AttrGetType SizeGroupModePropertyInfo = Gtk.Enums.SizeGroupMode
+    type AttrLabel SizeGroupModePropertyInfo = "mode"
+    type AttrOrigin SizeGroupModePropertyInfo = SizeGroup
+    attrGet _ = getSizeGroupMode
+    attrSet _ = setSizeGroupMode
+    attrConstruct _ = constructSizeGroupMode
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SizeGroup
+type instance O.AttributeList SizeGroup = SizeGroupAttributeList
+type SizeGroupAttributeList = ('[ '("ignoreHidden", SizeGroupIgnoreHiddenPropertyInfo), '("mode", SizeGroupModePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+sizeGroupIgnoreHidden :: AttrLabelProxy "ignoreHidden"
+sizeGroupIgnoreHidden = AttrLabelProxy
+
+sizeGroupMode :: AttrLabelProxy "mode"
+sizeGroupMode = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList SizeGroup = SizeGroupSignalList
+type SizeGroupSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method SizeGroup::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gtk", name = "SizeGroupMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mode for the new size group.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SizeGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_size_group_new" gtk_size_group_new :: 
+    CUInt ->                                -- mode : TInterface (Name {namespace = "Gtk", name = "SizeGroupMode"})
+    IO (Ptr SizeGroup)
+
+{- |
+Create a new 'GI.Gtk.Objects.SizeGroup.SizeGroup'.
+-}
+sizeGroupNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.SizeGroupMode
+    {- ^ /@mode@/: the mode for the new size group. -}
+    -> m SizeGroup
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.SizeGroup.SizeGroup' -}
+sizeGroupNew mode = liftIO $ do
+    let mode' = (fromIntegral . fromEnum) mode
+    result <- gtk_size_group_new mode'
+    checkUnexpectedReturnNULL "sizeGroupNew" result
+    result' <- (wrapObject SizeGroup) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SizeGroup::add_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size_group", argType = TInterface (Name {namespace = "Gtk", name = "SizeGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSizeGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_size_group_add_widget" gtk_size_group_add_widget :: 
+    Ptr SizeGroup ->                        -- size_group : TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds a widget to a 'GI.Gtk.Objects.SizeGroup.SizeGroup'. In the future, the requisition
+of the widget will be determined as the maximum of its requisition
+and the requisition of the other widgets in the size group.
+Whether this applies horizontally, vertically, or in both directions
+depends on the mode of the size group. See 'GI.Gtk.Objects.SizeGroup.sizeGroupSetMode'.
+
+When the widget is destroyed or no longer referenced elsewhere, it will
+be removed from the size group.
+-}
+sizeGroupAddWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@sizeGroup@/: a 'GI.Gtk.Objects.SizeGroup.SizeGroup' -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' to add -}
+    -> m ()
+sizeGroupAddWidget sizeGroup widget = liftIO $ do
+    sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_size_group_add_widget sizeGroup' widget'
+    touchManagedPtr sizeGroup
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data SizeGroupAddWidgetMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsSizeGroup a, Gtk.Widget.IsWidget b) => O.MethodInfo SizeGroupAddWidgetMethodInfo a signature where
+    overloadedMethod _ = sizeGroupAddWidget
+
+#endif
+
+-- method SizeGroup::get_ignore_hidden
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size_group", argType = TInterface (Name {namespace = "Gtk", name = "SizeGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSizeGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_size_group_get_ignore_hidden" gtk_size_group_get_ignore_hidden :: 
+    Ptr SizeGroup ->                        -- size_group : TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+    IO CInt
+
+{-# DEPRECATED sizeGroupGetIgnoreHidden ["(Since version 3.22)","Measuring the size of hidden widgets has not worked","    reliably for a long time. In most cases, they will report a size","    of 0 nowadays, and thus, their size will not affect the other","    size group members. In effect, size groups will always operate","    as if this property was 'True'. Use a 'GI.Gtk.Objects.Stack.Stack' instead to hide","    widgets while still having their size taken into account."] #-}
+{- |
+Returns if invisible widgets are ignored when calculating the size.
+
+/Since: 2.8/
+-}
+sizeGroupGetIgnoreHidden ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
+    a
+    {- ^ /@sizeGroup@/: a 'GI.Gtk.Objects.SizeGroup.SizeGroup' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if invisible widgets are ignored. -}
+sizeGroupGetIgnoreHidden sizeGroup = liftIO $ do
+    sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
+    result <- gtk_size_group_get_ignore_hidden sizeGroup'
+    let result' = (/= 0) result
+    touchManagedPtr sizeGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data SizeGroupGetIgnoreHiddenMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupGetIgnoreHiddenMethodInfo a signature where
+    overloadedMethod _ = sizeGroupGetIgnoreHidden
+
+#endif
+
+-- method SizeGroup::get_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size_group", argType = TInterface (Name {namespace = "Gtk", name = "SizeGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSizeGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SizeGroupMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_size_group_get_mode" gtk_size_group_get_mode :: 
+    Ptr SizeGroup ->                        -- size_group : TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+    IO CUInt
+
+{- |
+Gets the current mode of the size group. See 'GI.Gtk.Objects.SizeGroup.sizeGroupSetMode'.
+-}
+sizeGroupGetMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
+    a
+    {- ^ /@sizeGroup@/: a 'GI.Gtk.Objects.SizeGroup.SizeGroup' -}
+    -> m Gtk.Enums.SizeGroupMode
+    {- ^ __Returns:__ the current mode of the size group. -}
+sizeGroupGetMode sizeGroup = liftIO $ do
+    sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
+    result <- gtk_size_group_get_mode sizeGroup'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr sizeGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data SizeGroupGetModeMethodInfo
+instance (signature ~ (m Gtk.Enums.SizeGroupMode), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupGetModeMethodInfo a signature where
+    overloadedMethod _ = sizeGroupGetMode
+
+#endif
+
+-- method SizeGroup::get_widgets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size_group", argType = TInterface (Name {namespace = "Gtk", name = "SizeGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSizeGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "Widget"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_size_group_get_widgets" gtk_size_group_get_widgets :: 
+    Ptr SizeGroup ->                        -- size_group : TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+    IO (Ptr (GSList (Ptr Gtk.Widget.Widget)))
+
+{- |
+Returns the list of widgets associated with /@sizeGroup@/.
+
+/Since: 2.10/
+-}
+sizeGroupGetWidgets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
+    a
+    {- ^ /@sizeGroup@/: a 'GI.Gtk.Objects.SizeGroup.SizeGroup' -}
+    -> m [Gtk.Widget.Widget]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.SList.SList' of
+  widgets. The list is owned by GTK+ and should not be modified. -}
+sizeGroupGetWidgets sizeGroup = liftIO $ do
+    sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
+    result <- gtk_size_group_get_widgets sizeGroup'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.Widget.Widget) result'
+    touchManagedPtr sizeGroup
+    return result''
+
+#if ENABLE_OVERLOADING
+data SizeGroupGetWidgetsMethodInfo
+instance (signature ~ (m [Gtk.Widget.Widget]), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupGetWidgetsMethodInfo a signature where
+    overloadedMethod _ = sizeGroupGetWidgets
+
+#endif
+
+-- method SizeGroup::remove_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size_group", argType = TInterface (Name {namespace = "Gtk", name = "SizeGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSizeGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWidget to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_size_group_remove_widget" gtk_size_group_remove_widget :: 
+    Ptr SizeGroup ->                        -- size_group : TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Removes a widget from a 'GI.Gtk.Objects.SizeGroup.SizeGroup'.
+-}
+sizeGroupRemoveWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@sizeGroup@/: a 'GI.Gtk.Objects.SizeGroup.SizeGroup' -}
+    -> b
+    {- ^ /@widget@/: the 'GI.Gtk.Objects.Widget.Widget' to remove -}
+    -> m ()
+sizeGroupRemoveWidget sizeGroup widget = liftIO $ do
+    sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_size_group_remove_widget sizeGroup' widget'
+    touchManagedPtr sizeGroup
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data SizeGroupRemoveWidgetMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsSizeGroup a, Gtk.Widget.IsWidget b) => O.MethodInfo SizeGroupRemoveWidgetMethodInfo a signature where
+    overloadedMethod _ = sizeGroupRemoveWidget
+
+#endif
+
+-- method SizeGroup::set_ignore_hidden
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size_group", argType = TInterface (Name {namespace = "Gtk", name = "SizeGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSizeGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ignore_hidden", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether unmapped widgets should be ignored\n  when calculating the size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_size_group_set_ignore_hidden" gtk_size_group_set_ignore_hidden :: 
+    Ptr SizeGroup ->                        -- size_group : TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+    CInt ->                                 -- ignore_hidden : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED sizeGroupSetIgnoreHidden ["(Since version 3.22)","Measuring the size of hidden widgets has not worked","    reliably for a long time. In most cases, they will report a size","    of 0 nowadays, and thus, their size will not affect the other","    size group members. In effect, size groups will always operate","    as if this property was 'True'. Use a 'GI.Gtk.Objects.Stack.Stack' instead to hide","    widgets while still having their size taken into account."] #-}
+{- |
+Sets whether unmapped widgets should be ignored when
+calculating the size.
+
+/Since: 2.8/
+-}
+sizeGroupSetIgnoreHidden ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
+    a
+    {- ^ /@sizeGroup@/: a 'GI.Gtk.Objects.SizeGroup.SizeGroup' -}
+    -> Bool
+    {- ^ /@ignoreHidden@/: whether unmapped widgets should be ignored
+  when calculating the size -}
+    -> m ()
+sizeGroupSetIgnoreHidden sizeGroup ignoreHidden = liftIO $ do
+    sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
+    let ignoreHidden' = (fromIntegral . fromEnum) ignoreHidden
+    gtk_size_group_set_ignore_hidden sizeGroup' ignoreHidden'
+    touchManagedPtr sizeGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data SizeGroupSetIgnoreHiddenMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupSetIgnoreHiddenMethodInfo a signature where
+    overloadedMethod _ = sizeGroupSetIgnoreHidden
+
+#endif
+
+-- method SizeGroup::set_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size_group", argType = TInterface (Name {namespace = "Gtk", name = "SizeGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSizeGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gtk", name = "SizeGroupMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mode to set for the size group.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_size_group_set_mode" gtk_size_group_set_mode :: 
+    Ptr SizeGroup ->                        -- size_group : TInterface (Name {namespace = "Gtk", name = "SizeGroup"})
+    CUInt ->                                -- mode : TInterface (Name {namespace = "Gtk", name = "SizeGroupMode"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Enums.SizeGroupMode' of the size group. The mode of the size
+group determines whether the widgets in the size group should
+all have the same horizontal requisition ('GI.Gtk.Enums.SizeGroupModeHorizontal')
+all have the same vertical requisition ('GI.Gtk.Enums.SizeGroupModeVertical'),
+or should all have the same requisition in both directions
+('GI.Gtk.Enums.SizeGroupModeBoth').
+-}
+sizeGroupSetMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
+    a
+    {- ^ /@sizeGroup@/: a 'GI.Gtk.Objects.SizeGroup.SizeGroup' -}
+    -> Gtk.Enums.SizeGroupMode
+    {- ^ /@mode@/: the mode to set for the size group. -}
+    -> m ()
+sizeGroupSetMode sizeGroup mode = liftIO $ do
+    sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
+    let mode' = (fromIntegral . fromEnum) mode
+    gtk_size_group_set_mode sizeGroup' mode'
+    touchManagedPtr sizeGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data SizeGroupSetModeMethodInfo
+instance (signature ~ (Gtk.Enums.SizeGroupMode -> m ()), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupSetModeMethodInfo a signature where
+    overloadedMethod _ = sizeGroupSetMode
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/SizeGroup.hs-boot b/GI/Gtk/Objects/SizeGroup.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SizeGroup.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.SizeGroup where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SizeGroup = SizeGroup (ManagedPtr SizeGroup)
+instance GObject SizeGroup where
+class (GObject o, O.IsDescendantOf SizeGroup o) => IsSizeGroup o
+instance (GObject o, O.IsDescendantOf SizeGroup o) => IsSizeGroup o
+instance O.HasParentTypes SizeGroup
+#if ENABLE_OVERLOADING
+data SizeGroupIgnoreHiddenPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SizeGroupModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SizeGroupAddWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SizeGroupGetIgnoreHiddenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SizeGroupGetModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SizeGroupGetWidgetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SizeGroupRemoveWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SizeGroupSetIgnoreHiddenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SizeGroupSetModeMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Socket.hs b/GI/Gtk/Objects/Socket.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Socket.hs
@@ -0,0 +1,848 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Together with 'GI.Gtk.Objects.Plug.Plug', 'GI.Gtk.Objects.Socket.Socket' provides the ability to embed
+widgets from one process into another process in a fashion that
+is transparent to the user. One process creates a 'GI.Gtk.Objects.Socket.Socket' widget
+and passes that widget’s window ID to the other process, which then
+creates a 'GI.Gtk.Objects.Plug.Plug' with that window ID. Any widgets contained in the
+'GI.Gtk.Objects.Plug.Plug' then will appear inside the first application’s window.
+
+The socket’s window ID is obtained by using 'GI.Gtk.Objects.Socket.socketGetId'.
+Before using this function, the socket must have been realized,
+and for hence, have been added to its parent.
+
+== Obtaining the window ID of a socket.
+
+
+=== /C code/
+>
+>GtkWidget *socket = gtk_socket_new ();
+>gtk_widget_show (socket);
+>gtk_container_add (GTK_CONTAINER (parent), socket);
+>
+>// The following call is only necessary if one of
+>// the ancestors of the socket is not yet visible.
+>gtk_widget_realize (socket);
+>g_print ("The ID of the sockets window is %#x\n",
+>         gtk_socket_get_id (socket));
+
+
+Note that if you pass the window ID of the socket to another
+process that will create a plug in the socket, you must make
+sure that the socket widget is not destroyed until that plug
+is created. Violating this rule will cause unpredictable
+consequences, the most likely consequence being that the plug
+will appear as a separate toplevel window. You can check if
+the plug has been created by using 'GI.Gtk.Objects.Socket.socketGetPlugWindow'.
+If it returns a non-'Nothing' value, then the plug has been
+successfully created inside of the socket.
+
+When GTK+ is notified that the embedded window has been destroyed,
+then it will destroy the socket as well. You should always,
+therefore, be prepared for your sockets to be destroyed at any
+time when the main event loop is running. To prevent this from
+happening, you can connect to the 'GI.Gtk.Objects.Socket.Socket'::@/plug-removed/@ signal.
+
+The communication between a 'GI.Gtk.Objects.Socket.Socket' and a 'GI.Gtk.Objects.Plug.Plug' follows the
+<http://www.freedesktop.org/Standards/xembed-spec XEmbed Protocol>.
+This protocol has also been implemented in other toolkits, e.g. Qt,
+allowing the same level of integration when embedding a Qt widget
+in GTK or vice versa.
+
+The 'GI.Gtk.Objects.Plug.Plug' and 'GI.Gtk.Objects.Socket.Socket' widgets are only available when GTK+
+is compiled for the X11 platform and @/GDK_WINDOWING_X11/@ is defined.
+They can only be used on a @/GdkX11Display/@. To use 'GI.Gtk.Objects.Plug.Plug' and
+'GI.Gtk.Objects.Socket.Socket', you need to include the @gtk\/gtkx.h@ header.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Socket
+    ( 
+
+-- * Exported types
+    Socket(..)                              ,
+    IsSocket                                ,
+    toSocket                                ,
+    noSocket                                ,
+
+
+ -- * Methods
+-- ** addId #method:addId#
+
+#if ENABLE_OVERLOADING
+    SocketAddIdMethodInfo                   ,
+#endif
+    socketAddId                             ,
+
+
+-- ** getId #method:getId#
+
+#if ENABLE_OVERLOADING
+    SocketGetIdMethodInfo                   ,
+#endif
+    socketGetId                             ,
+
+
+-- ** getPlugWindow #method:getPlugWindow#
+
+#if ENABLE_OVERLOADING
+    SocketGetPlugWindowMethodInfo           ,
+#endif
+    socketGetPlugWindow                     ,
+
+
+-- ** new #method:new#
+
+    socketNew                               ,
+
+
+
+
+ -- * Signals
+-- ** plugAdded #signal:plugAdded#
+
+    C_SocketPlugAddedCallback               ,
+    SocketPlugAddedCallback                 ,
+#if ENABLE_OVERLOADING
+    SocketPlugAddedSignalInfo               ,
+#endif
+    afterSocketPlugAdded                    ,
+    genClosure_SocketPlugAdded              ,
+    mk_SocketPlugAddedCallback              ,
+    noSocketPlugAddedCallback               ,
+    onSocketPlugAdded                       ,
+    wrap_SocketPlugAddedCallback            ,
+
+
+-- ** plugRemoved #signal:plugRemoved#
+
+    C_SocketPlugRemovedCallback             ,
+    SocketPlugRemovedCallback               ,
+#if ENABLE_OVERLOADING
+    SocketPlugRemovedSignalInfo             ,
+#endif
+    afterSocketPlugRemoved                  ,
+    genClosure_SocketPlugRemoved            ,
+    mk_SocketPlugRemovedCallback            ,
+    noSocketPlugRemovedCallback             ,
+    onSocketPlugRemoved                     ,
+    wrap_SocketPlugRemovedCallback          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Socket = Socket (ManagedPtr Socket)
+foreign import ccall "gtk_socket_get_type"
+    c_gtk_socket_get_type :: IO GType
+
+instance GObject Socket where
+    gobjectType = c_gtk_socket_get_type
+    
+
+-- | Type class for types which can be safely cast to `Socket`, for instance with `toSocket`.
+class (GObject o, O.IsDescendantOf Socket o) => IsSocket o
+instance (GObject o, O.IsDescendantOf Socket o) => IsSocket o
+
+instance O.HasParentTypes Socket
+type instance O.ParentTypes Socket = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Socket`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSocket :: (MonadIO m, IsSocket o) => o -> m Socket
+toSocket = liftIO . unsafeCastTo Socket
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Socket`.
+noSocket :: Maybe Socket
+noSocket = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSocketMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSocketMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveSocketMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveSocketMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveSocketMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSocketMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveSocketMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveSocketMethod "addId" o = SocketAddIdMethodInfo
+    ResolveSocketMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveSocketMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveSocketMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSocketMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSocketMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveSocketMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveSocketMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveSocketMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveSocketMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveSocketMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveSocketMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveSocketMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveSocketMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveSocketMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveSocketMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSocketMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveSocketMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveSocketMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSocketMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSocketMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSocketMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveSocketMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveSocketMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveSocketMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveSocketMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveSocketMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveSocketMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveSocketMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveSocketMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveSocketMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveSocketMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveSocketMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveSocketMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveSocketMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveSocketMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveSocketMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveSocketMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveSocketMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveSocketMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveSocketMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveSocketMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveSocketMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveSocketMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveSocketMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveSocketMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveSocketMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveSocketMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveSocketMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveSocketMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveSocketMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveSocketMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveSocketMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveSocketMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveSocketMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveSocketMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveSocketMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveSocketMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSocketMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveSocketMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveSocketMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSocketMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSocketMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveSocketMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveSocketMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveSocketMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveSocketMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveSocketMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveSocketMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveSocketMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveSocketMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveSocketMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveSocketMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveSocketMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveSocketMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveSocketMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveSocketMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveSocketMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveSocketMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveSocketMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveSocketMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveSocketMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveSocketMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSocketMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveSocketMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveSocketMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveSocketMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveSocketMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveSocketMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveSocketMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveSocketMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveSocketMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveSocketMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveSocketMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveSocketMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveSocketMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveSocketMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveSocketMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveSocketMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveSocketMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveSocketMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSocketMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSocketMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveSocketMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveSocketMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveSocketMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveSocketMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveSocketMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSocketMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveSocketMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveSocketMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveSocketMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveSocketMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveSocketMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveSocketMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveSocketMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveSocketMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveSocketMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveSocketMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSocketMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSocketMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveSocketMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveSocketMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveSocketMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveSocketMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveSocketMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveSocketMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveSocketMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveSocketMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveSocketMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveSocketMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveSocketMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveSocketMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSocketMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveSocketMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveSocketMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveSocketMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveSocketMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveSocketMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveSocketMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveSocketMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveSocketMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveSocketMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSocketMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSocketMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveSocketMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveSocketMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveSocketMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSocketMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveSocketMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveSocketMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveSocketMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveSocketMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveSocketMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSocketMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveSocketMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveSocketMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveSocketMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSocketMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveSocketMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveSocketMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveSocketMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveSocketMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveSocketMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveSocketMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveSocketMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveSocketMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveSocketMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveSocketMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveSocketMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveSocketMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveSocketMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveSocketMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveSocketMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveSocketMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveSocketMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveSocketMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSocketMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveSocketMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveSocketMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveSocketMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveSocketMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveSocketMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveSocketMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveSocketMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveSocketMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveSocketMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveSocketMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveSocketMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveSocketMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveSocketMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveSocketMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveSocketMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveSocketMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveSocketMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveSocketMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveSocketMethod "getId" o = SocketGetIdMethodInfo
+    ResolveSocketMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSocketMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveSocketMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveSocketMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveSocketMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveSocketMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveSocketMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveSocketMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveSocketMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveSocketMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveSocketMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveSocketMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveSocketMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveSocketMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveSocketMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveSocketMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveSocketMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveSocketMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveSocketMethod "getPlugWindow" o = SocketGetPlugWindowMethodInfo
+    ResolveSocketMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveSocketMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveSocketMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveSocketMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveSocketMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveSocketMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveSocketMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveSocketMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSocketMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSocketMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveSocketMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveSocketMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveSocketMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveSocketMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveSocketMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveSocketMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveSocketMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveSocketMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveSocketMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveSocketMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveSocketMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveSocketMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveSocketMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveSocketMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveSocketMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveSocketMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveSocketMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveSocketMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveSocketMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveSocketMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveSocketMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveSocketMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveSocketMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveSocketMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveSocketMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveSocketMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveSocketMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveSocketMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveSocketMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveSocketMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveSocketMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveSocketMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSocketMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveSocketMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveSocketMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveSocketMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveSocketMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveSocketMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSocketMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveSocketMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveSocketMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveSocketMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveSocketMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveSocketMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveSocketMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveSocketMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveSocketMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveSocketMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveSocketMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveSocketMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveSocketMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveSocketMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveSocketMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveSocketMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveSocketMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveSocketMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveSocketMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveSocketMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveSocketMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveSocketMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveSocketMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveSocketMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveSocketMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveSocketMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveSocketMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveSocketMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveSocketMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveSocketMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSocketMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveSocketMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveSocketMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveSocketMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveSocketMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveSocketMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveSocketMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveSocketMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveSocketMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveSocketMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveSocketMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveSocketMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveSocketMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveSocketMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveSocketMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveSocketMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveSocketMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveSocketMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveSocketMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveSocketMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveSocketMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSocketMethod t Socket, O.MethodInfo info Socket p) => OL.IsLabel t (Socket -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Socket::plug-added
+{- |
+This signal is emitted when a client is successfully
+added to the socket.
+-}
+type SocketPlugAddedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SocketPlugAddedCallback`@.
+noSocketPlugAddedCallback :: Maybe SocketPlugAddedCallback
+noSocketPlugAddedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SocketPlugAddedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_SocketPlugAddedCallback`.
+foreign import ccall "wrapper"
+    mk_SocketPlugAddedCallback :: C_SocketPlugAddedCallback -> IO (FunPtr C_SocketPlugAddedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SocketPlugAdded :: MonadIO m => SocketPlugAddedCallback -> m (GClosure C_SocketPlugAddedCallback)
+genClosure_SocketPlugAdded cb = liftIO $ do
+    let cb' = wrap_SocketPlugAddedCallback cb
+    mk_SocketPlugAddedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SocketPlugAddedCallback` into a `C_SocketPlugAddedCallback`.
+wrap_SocketPlugAddedCallback ::
+    SocketPlugAddedCallback ->
+    C_SocketPlugAddedCallback
+wrap_SocketPlugAddedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@plug-added@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' socket #plugAdded callback
+@
+-}
+onSocketPlugAdded :: (IsSocket a, MonadIO m) => a -> SocketPlugAddedCallback -> m SignalHandlerId
+onSocketPlugAdded obj cb = liftIO $ do
+    let cb' = wrap_SocketPlugAddedCallback cb
+    cb'' <- mk_SocketPlugAddedCallback cb'
+    connectSignalFunPtr obj "plug-added" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@plug-added@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' socket #plugAdded callback
+@
+-}
+afterSocketPlugAdded :: (IsSocket a, MonadIO m) => a -> SocketPlugAddedCallback -> m SignalHandlerId
+afterSocketPlugAdded obj cb = liftIO $ do
+    let cb' = wrap_SocketPlugAddedCallback cb
+    cb'' <- mk_SocketPlugAddedCallback cb'
+    connectSignalFunPtr obj "plug-added" cb'' SignalConnectAfter
+
+
+-- signal Socket::plug-removed
+{- |
+This signal is emitted when a client is removed from the socket.
+The default action is to destroy the 'GI.Gtk.Objects.Socket.Socket' widget, so if you
+want to reuse it you must add a signal handler that returns 'True'.
+-}
+type SocketPlugRemovedCallback =
+    IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SocketPlugRemovedCallback`@.
+noSocketPlugRemovedCallback :: Maybe SocketPlugRemovedCallback
+noSocketPlugRemovedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SocketPlugRemovedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_SocketPlugRemovedCallback`.
+foreign import ccall "wrapper"
+    mk_SocketPlugRemovedCallback :: C_SocketPlugRemovedCallback -> IO (FunPtr C_SocketPlugRemovedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SocketPlugRemoved :: MonadIO m => SocketPlugRemovedCallback -> m (GClosure C_SocketPlugRemovedCallback)
+genClosure_SocketPlugRemoved cb = liftIO $ do
+    let cb' = wrap_SocketPlugRemovedCallback cb
+    mk_SocketPlugRemovedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SocketPlugRemovedCallback` into a `C_SocketPlugRemovedCallback`.
+wrap_SocketPlugRemovedCallback ::
+    SocketPlugRemovedCallback ->
+    C_SocketPlugRemovedCallback
+wrap_SocketPlugRemovedCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@plug-removed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' socket #plugRemoved callback
+@
+-}
+onSocketPlugRemoved :: (IsSocket a, MonadIO m) => a -> SocketPlugRemovedCallback -> m SignalHandlerId
+onSocketPlugRemoved obj cb = liftIO $ do
+    let cb' = wrap_SocketPlugRemovedCallback cb
+    cb'' <- mk_SocketPlugRemovedCallback cb'
+    connectSignalFunPtr obj "plug-removed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@plug-removed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' socket #plugRemoved callback
+@
+-}
+afterSocketPlugRemoved :: (IsSocket a, MonadIO m) => a -> SocketPlugRemovedCallback -> m SignalHandlerId
+afterSocketPlugRemoved obj cb = liftIO $ do
+    let cb' = wrap_SocketPlugRemovedCallback cb
+    cb'' <- mk_SocketPlugRemovedCallback cb'
+    connectSignalFunPtr obj "plug-removed" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Socket
+type instance O.AttributeList Socket = SocketAttributeList
+type SocketAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data SocketPlugAddedSignalInfo
+instance SignalInfo SocketPlugAddedSignalInfo where
+    type HaskellCallbackType SocketPlugAddedSignalInfo = SocketPlugAddedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SocketPlugAddedCallback cb
+        cb'' <- mk_SocketPlugAddedCallback cb'
+        connectSignalFunPtr obj "plug-added" cb'' connectMode
+
+data SocketPlugRemovedSignalInfo
+instance SignalInfo SocketPlugRemovedSignalInfo where
+    type HaskellCallbackType SocketPlugRemovedSignalInfo = SocketPlugRemovedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SocketPlugRemovedCallback cb
+        cb'' <- mk_SocketPlugRemovedCallback cb'
+        connectSignalFunPtr obj "plug-removed" cb'' connectMode
+
+type instance O.SignalList Socket = SocketSignalList
+type SocketSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("plugAdded", SocketPlugAddedSignalInfo), '("plugRemoved", SocketPlugRemovedSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Socket::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Socket"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_socket_new" gtk_socket_new :: 
+    IO (Ptr Socket)
+
+{- |
+Create a new empty 'GI.Gtk.Objects.Socket.Socket'.
+-}
+socketNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Socket
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Socket.Socket'. -}
+socketNew  = liftIO $ do
+    result <- gtk_socket_new
+    checkUnexpectedReturnNULL "socketNew" result
+    result' <- (newObject Socket) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Socket::add_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "socket_", argType = TInterface (Name {namespace = "Gtk", name = "Socket"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSocket", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the Window of a client participating in the XEMBED protocol.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_socket_add_id" gtk_socket_add_id :: 
+    Ptr Socket ->                           -- socket_ : TInterface (Name {namespace = "Gtk", name = "Socket"})
+    CULong ->                               -- window : TBasicType TULong
+    IO ()
+
+{- |
+Adds an XEMBED client, such as a 'GI.Gtk.Objects.Plug.Plug', to the 'GI.Gtk.Objects.Socket.Socket'.  The
+client may be in the same process or in a different process.
+
+To embed a 'GI.Gtk.Objects.Plug.Plug' in a 'GI.Gtk.Objects.Socket.Socket', you can either create the
+'GI.Gtk.Objects.Plug.Plug' with @gtk_plug_new (0)@, call
+'GI.Gtk.Objects.Plug.plugGetId' to get the window ID of the plug, and then pass that to the
+'GI.Gtk.Objects.Socket.socketAddId', or you can call 'GI.Gtk.Objects.Socket.socketGetId' to get the
+window ID for the socket, and call 'GI.Gtk.Objects.Plug.plugNew' passing in that
+ID.
+
+The 'GI.Gtk.Objects.Socket.Socket' must have already be added into a toplevel window
+ before you can make this call.
+-}
+socketAddId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSocket a) =>
+    a
+    {- ^ /@socket_@/: a 'GI.Gtk.Objects.Socket.Socket' -}
+    -> CULong
+    {- ^ /@window@/: the Window of a client participating in the XEMBED protocol. -}
+    -> m ()
+socketAddId socket_ window = liftIO $ do
+    socket_' <- unsafeManagedPtrCastPtr socket_
+    gtk_socket_add_id socket_' window
+    touchManagedPtr socket_
+    return ()
+
+#if ENABLE_OVERLOADING
+data SocketAddIdMethodInfo
+instance (signature ~ (CULong -> m ()), MonadIO m, IsSocket a) => O.MethodInfo SocketAddIdMethodInfo a signature where
+    overloadedMethod _ = socketAddId
+
+#endif
+
+-- method Socket::get_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "socket_", argType = TInterface (Name {namespace = "Gtk", name = "Socket"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSocket.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TULong)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_socket_get_id" gtk_socket_get_id :: 
+    Ptr Socket ->                           -- socket_ : TInterface (Name {namespace = "Gtk", name = "Socket"})
+    IO CULong
+
+{- |
+Gets the window ID of a 'GI.Gtk.Objects.Socket.Socket' widget, which can then
+be used to create a client embedded inside the socket, for
+instance with 'GI.Gtk.Objects.Plug.plugNew'.
+
+The 'GI.Gtk.Objects.Socket.Socket' must have already be added into a toplevel window
+before you can make this call.
+-}
+socketGetId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSocket a) =>
+    a
+    {- ^ /@socket_@/: a 'GI.Gtk.Objects.Socket.Socket'. -}
+    -> m CULong
+    {- ^ __Returns:__ the window ID for the socket -}
+socketGetId socket_ = liftIO $ do
+    socket_' <- unsafeManagedPtrCastPtr socket_
+    result <- gtk_socket_get_id socket_'
+    touchManagedPtr socket_
+    return result
+
+#if ENABLE_OVERLOADING
+data SocketGetIdMethodInfo
+instance (signature ~ (m CULong), MonadIO m, IsSocket a) => O.MethodInfo SocketGetIdMethodInfo a signature where
+    overloadedMethod _ = socketGetId
+
+#endif
+
+-- method Socket::get_plug_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "socket_", argType = TInterface (Name {namespace = "Gtk", name = "Socket"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSocket.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_socket_get_plug_window" gtk_socket_get_plug_window :: 
+    Ptr Socket ->                           -- socket_ : TInterface (Name {namespace = "Gtk", name = "Socket"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Retrieves the window of the plug. Use this to check if the plug has
+been created inside of the socket.
+
+/Since: 2.14/
+-}
+socketGetPlugWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSocket a) =>
+    a
+    {- ^ /@socket_@/: a 'GI.Gtk.Objects.Socket.Socket'. -}
+    -> m (Maybe Gdk.Window.Window)
+    {- ^ __Returns:__ the window of the plug if
+available, or 'Nothing' -}
+socketGetPlugWindow socket_ = liftIO $ do
+    socket_' <- unsafeManagedPtrCastPtr socket_
+    result <- gtk_socket_get_plug_window socket_'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Window.Window) result'
+        return result''
+    touchManagedPtr socket_
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data SocketGetPlugWindowMethodInfo
+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsSocket a) => O.MethodInfo SocketGetPlugWindowMethodInfo a signature where
+    overloadedMethod _ = socketGetPlugWindow
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Socket.hs-boot b/GI/Gtk/Objects/Socket.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Socket.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Socket where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Socket = Socket (ManagedPtr Socket)
+instance GObject Socket where
+class (GObject o, O.IsDescendantOf Socket o) => IsSocket o
+instance (GObject o, O.IsDescendantOf Socket o) => IsSocket o
+instance O.HasParentTypes Socket
+#if ENABLE_OVERLOADING
+data SocketPlugAddedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SocketPlugRemovedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SocketAddIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SocketGetIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SocketGetPlugWindowMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/SpinButton.hs b/GI/Gtk/Objects/SpinButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SpinButton.hs
@@ -0,0 +1,2775 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.SpinButton.SpinButton' is an ideal way to allow the user to set the value of
+some attribute. Rather than having to directly type a number into a
+'GI.Gtk.Objects.Entry.Entry', GtkSpinButton allows the user to click on one of two arrows
+to increment or decrement the displayed value. A value can still be
+typed in, with the bonus that it can be checked to ensure it is in a
+given range.
+
+The main properties of a GtkSpinButton are through an adjustment.
+See the 'GI.Gtk.Objects.Adjustment.Adjustment' section for more details about an adjustment\'s
+properties. Note that GtkSpinButton will by default make its entry
+large enough to accomodate the lower and upper bounds of the adjustment,
+which can lead to surprising results. Best practice is to set both
+the 'GI.Gtk.Objects.Entry.Entry':@/width-chars/@ and 'GI.Gtk.Objects.Entry.Entry':@/max-width-chars/@ poperties
+to the desired number of characters to display in the entry.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>spinbutton.horizontal
+>├── undershoot.left
+>├── undershoot.right
+>├── entry
+>│   ╰── ...
+>├── button.down
+>╰── button.up
+
+
+
+=== /plain code/
+>
+>spinbutton.vertical
+>├── undershoot.left
+>├── undershoot.right
+>├── button.up
+>├── entry
+>│   ╰── ...
+>╰── button.down
+
+
+GtkSpinButtons main CSS node has the name spinbutton. It creates subnodes
+for the entry and the two buttons, with these names. The button nodes have
+the style classes .up and .down. The GtkEntry subnodes (if present) are put
+below the entry node. The orientation of the spin button is reflected in
+the .vertical or .horizontal style class on the main node.
+
+== Using a GtkSpinButton to get an integer
+
+
+=== /C code/
+>
+>// Provides a function to retrieve an integer value from a GtkSpinButton
+>// and creates a spin button to model percentage values.
+>
+>gint
+>grab_int_value (GtkSpinButton *button,
+>                gpointer       user_data)
+>{
+>  return gtk_spin_button_get_value_as_int (button);
+>}
+>
+>void
+>create_integer_spin_button (void)
+>{
+>
+>  GtkWidget *window, *button;
+>  GtkAdjustment *adjustment;
+>
+>  adjustment = gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 0.0);
+>
+>  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+>  gtk_container_set_border_width (GTK_CONTAINER (window), 5);
+>
+>  // creates the spinbutton, with no decimal places
+>  button = gtk_spin_button_new (adjustment, 1.0, 0);
+>  gtk_container_add (GTK_CONTAINER (window), button);
+>
+>  gtk_widget_show_all (window);
+>}
+
+
+== Using a GtkSpinButton to get a floating point value
+
+
+=== /C code/
+>
+>// Provides a function to retrieve a floating point value from a
+>// GtkSpinButton, and creates a high precision spin button.
+>
+>gfloat
+>grab_float_value (GtkSpinButton *button,
+>                  gpointer       user_data)
+>{
+>  return gtk_spin_button_get_value (button);
+>}
+>
+>void
+>create_floating_spin_button (void)
+>{
+>  GtkWidget *window, *button;
+>  GtkAdjustment *adjustment;
+>
+>  adjustment = gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.0);
+>
+>  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+>  gtk_container_set_border_width (GTK_CONTAINER (window), 5);
+>
+>  // creates the spinbutton, with three decimal places
+>  button = gtk_spin_button_new (adjustment, 0.001, 3);
+>  gtk_container_add (GTK_CONTAINER (window), button);
+>
+>  gtk_widget_show_all (window);
+>}
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.SpinButton
+    ( 
+
+-- * Exported types
+    SpinButton(..)                          ,
+    IsSpinButton                            ,
+    toSpinButton                            ,
+    noSpinButton                            ,
+
+
+ -- * Methods
+-- ** configure #method:configure#
+
+#if ENABLE_OVERLOADING
+    SpinButtonConfigureMethodInfo           ,
+#endif
+    spinButtonConfigure                     ,
+
+
+-- ** getAdjustment #method:getAdjustment#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetAdjustmentMethodInfo       ,
+#endif
+    spinButtonGetAdjustment                 ,
+
+
+-- ** getDigits #method:getDigits#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetDigitsMethodInfo           ,
+#endif
+    spinButtonGetDigits                     ,
+
+
+-- ** getIncrements #method:getIncrements#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetIncrementsMethodInfo       ,
+#endif
+    spinButtonGetIncrements                 ,
+
+
+-- ** getNumeric #method:getNumeric#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetNumericMethodInfo          ,
+#endif
+    spinButtonGetNumeric                    ,
+
+
+-- ** getRange #method:getRange#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetRangeMethodInfo            ,
+#endif
+    spinButtonGetRange                      ,
+
+
+-- ** getSnapToTicks #method:getSnapToTicks#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetSnapToTicksMethodInfo      ,
+#endif
+    spinButtonGetSnapToTicks                ,
+
+
+-- ** getUpdatePolicy #method:getUpdatePolicy#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetUpdatePolicyMethodInfo     ,
+#endif
+    spinButtonGetUpdatePolicy               ,
+
+
+-- ** getValue #method:getValue#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetValueMethodInfo            ,
+#endif
+    spinButtonGetValue                      ,
+
+
+-- ** getValueAsInt #method:getValueAsInt#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetValueAsIntMethodInfo       ,
+#endif
+    spinButtonGetValueAsInt                 ,
+
+
+-- ** getWrap #method:getWrap#
+
+#if ENABLE_OVERLOADING
+    SpinButtonGetWrapMethodInfo             ,
+#endif
+    spinButtonGetWrap                       ,
+
+
+-- ** new #method:new#
+
+    spinButtonNew                           ,
+
+
+-- ** newWithRange #method:newWithRange#
+
+    spinButtonNewWithRange                  ,
+
+
+-- ** setAdjustment #method:setAdjustment#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSetAdjustmentMethodInfo       ,
+#endif
+    spinButtonSetAdjustment                 ,
+
+
+-- ** setDigits #method:setDigits#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSetDigitsMethodInfo           ,
+#endif
+    spinButtonSetDigits                     ,
+
+
+-- ** setIncrements #method:setIncrements#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSetIncrementsMethodInfo       ,
+#endif
+    spinButtonSetIncrements                 ,
+
+
+-- ** setNumeric #method:setNumeric#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSetNumericMethodInfo          ,
+#endif
+    spinButtonSetNumeric                    ,
+
+
+-- ** setRange #method:setRange#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSetRangeMethodInfo            ,
+#endif
+    spinButtonSetRange                      ,
+
+
+-- ** setSnapToTicks #method:setSnapToTicks#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSetSnapToTicksMethodInfo      ,
+#endif
+    spinButtonSetSnapToTicks                ,
+
+
+-- ** setUpdatePolicy #method:setUpdatePolicy#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSetUpdatePolicyMethodInfo     ,
+#endif
+    spinButtonSetUpdatePolicy               ,
+
+
+-- ** setValue #method:setValue#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSetValueMethodInfo            ,
+#endif
+    spinButtonSetValue                      ,
+
+
+-- ** setWrap #method:setWrap#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSetWrapMethodInfo             ,
+#endif
+    spinButtonSetWrap                       ,
+
+
+-- ** spin #method:spin#
+
+#if ENABLE_OVERLOADING
+    SpinButtonSpinMethodInfo                ,
+#endif
+    spinButtonSpin                          ,
+
+
+-- ** update #method:update#
+
+#if ENABLE_OVERLOADING
+    SpinButtonUpdateMethodInfo              ,
+#endif
+    spinButtonUpdate                        ,
+
+
+
+
+ -- * Properties
+-- ** adjustment #attr:adjustment#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SpinButtonAdjustmentPropertyInfo        ,
+#endif
+    constructSpinButtonAdjustment           ,
+    getSpinButtonAdjustment                 ,
+    setSpinButtonAdjustment                 ,
+#if ENABLE_OVERLOADING
+    spinButtonAdjustment                    ,
+#endif
+
+
+-- ** climbRate #attr:climbRate#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SpinButtonClimbRatePropertyInfo         ,
+#endif
+    constructSpinButtonClimbRate            ,
+    getSpinButtonClimbRate                  ,
+    setSpinButtonClimbRate                  ,
+#if ENABLE_OVERLOADING
+    spinButtonClimbRate                     ,
+#endif
+
+
+-- ** digits #attr:digits#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SpinButtonDigitsPropertyInfo            ,
+#endif
+    constructSpinButtonDigits               ,
+    getSpinButtonDigits                     ,
+    setSpinButtonDigits                     ,
+#if ENABLE_OVERLOADING
+    spinButtonDigits                        ,
+#endif
+
+
+-- ** numeric #attr:numeric#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SpinButtonNumericPropertyInfo           ,
+#endif
+    constructSpinButtonNumeric              ,
+    getSpinButtonNumeric                    ,
+    setSpinButtonNumeric                    ,
+#if ENABLE_OVERLOADING
+    spinButtonNumeric                       ,
+#endif
+
+
+-- ** snapToTicks #attr:snapToTicks#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SpinButtonSnapToTicksPropertyInfo       ,
+#endif
+    constructSpinButtonSnapToTicks          ,
+    getSpinButtonSnapToTicks                ,
+    setSpinButtonSnapToTicks                ,
+#if ENABLE_OVERLOADING
+    spinButtonSnapToTicks                   ,
+#endif
+
+
+-- ** updatePolicy #attr:updatePolicy#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SpinButtonUpdatePolicyPropertyInfo      ,
+#endif
+    constructSpinButtonUpdatePolicy         ,
+    getSpinButtonUpdatePolicy               ,
+    setSpinButtonUpdatePolicy               ,
+#if ENABLE_OVERLOADING
+    spinButtonUpdatePolicy                  ,
+#endif
+
+
+-- ** value #attr:value#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SpinButtonValuePropertyInfo             ,
+#endif
+    constructSpinButtonValue                ,
+    getSpinButtonValue                      ,
+    setSpinButtonValue                      ,
+#if ENABLE_OVERLOADING
+    spinButtonValue                         ,
+#endif
+
+
+-- ** wrap #attr:wrap#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SpinButtonWrapPropertyInfo              ,
+#endif
+    constructSpinButtonWrap                 ,
+    getSpinButtonWrap                       ,
+    setSpinButtonWrap                       ,
+#if ENABLE_OVERLOADING
+    spinButtonWrap                          ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** changeValue #signal:changeValue#
+
+    C_SpinButtonChangeValueCallback         ,
+    SpinButtonChangeValueCallback           ,
+#if ENABLE_OVERLOADING
+    SpinButtonChangeValueSignalInfo         ,
+#endif
+    afterSpinButtonChangeValue              ,
+    genClosure_SpinButtonChangeValue        ,
+    mk_SpinButtonChangeValueCallback        ,
+    noSpinButtonChangeValueCallback         ,
+    onSpinButtonChangeValue                 ,
+    wrap_SpinButtonChangeValueCallback      ,
+
+
+-- ** input #signal:input#
+
+    C_SpinButtonInputCallback               ,
+    SpinButtonInputCallback                 ,
+#if ENABLE_OVERLOADING
+    SpinButtonInputSignalInfo               ,
+#endif
+    afterSpinButtonInput                    ,
+    genClosure_SpinButtonInput              ,
+    mk_SpinButtonInputCallback              ,
+    noSpinButtonInputCallback               ,
+    onSpinButtonInput                       ,
+    wrap_SpinButtonInputCallback            ,
+
+
+-- ** output #signal:output#
+
+    C_SpinButtonOutputCallback              ,
+    SpinButtonOutputCallback                ,
+#if ENABLE_OVERLOADING
+    SpinButtonOutputSignalInfo              ,
+#endif
+    afterSpinButtonOutput                   ,
+    genClosure_SpinButtonOutput             ,
+    mk_SpinButtonOutputCallback             ,
+    noSpinButtonOutputCallback              ,
+    onSpinButtonOutput                      ,
+    wrap_SpinButtonOutputCallback           ,
+
+
+-- ** valueChanged #signal:valueChanged#
+
+    C_SpinButtonValueChangedCallback        ,
+    SpinButtonValueChangedCallback          ,
+#if ENABLE_OVERLOADING
+    SpinButtonValueChangedSignalInfo        ,
+#endif
+    afterSpinButtonValueChanged             ,
+    genClosure_SpinButtonValueChanged       ,
+    mk_SpinButtonValueChangedCallback       ,
+    noSpinButtonValueChangedCallback        ,
+    onSpinButtonValueChanged                ,
+    wrap_SpinButtonValueChangedCallback     ,
+
+
+-- ** wrapped #signal:wrapped#
+
+    C_SpinButtonWrappedCallback             ,
+    SpinButtonWrappedCallback               ,
+#if ENABLE_OVERLOADING
+    SpinButtonWrappedSignalInfo             ,
+#endif
+    afterSpinButtonWrapped                  ,
+    genClosure_SpinButtonWrapped            ,
+    mk_SpinButtonWrappedCallback            ,
+    noSpinButtonWrappedCallback             ,
+    onSpinButtonWrapped                     ,
+    wrap_SpinButtonWrappedCallback          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellEditable as Gtk.CellEditable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Editable as Gtk.Editable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Entry as Gtk.Entry
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype SpinButton = SpinButton (ManagedPtr SpinButton)
+foreign import ccall "gtk_spin_button_get_type"
+    c_gtk_spin_button_get_type :: IO GType
+
+instance GObject SpinButton where
+    gobjectType = c_gtk_spin_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `SpinButton`, for instance with `toSpinButton`.
+class (GObject o, O.IsDescendantOf SpinButton o) => IsSpinButton o
+instance (GObject o, O.IsDescendantOf SpinButton o) => IsSpinButton o
+
+instance O.HasParentTypes SpinButton
+type instance O.ParentTypes SpinButton = '[Gtk.Entry.Entry, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.CellEditable.CellEditable, Gtk.Editable.Editable, Gtk.Orientable.Orientable]
+
+-- | Cast to `SpinButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSpinButton :: (MonadIO m, IsSpinButton o) => o -> m SpinButton
+toSpinButton = liftIO . unsafeCastTo SpinButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SpinButton`.
+noSpinButton :: Maybe SpinButton
+noSpinButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSpinButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSpinButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveSpinButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveSpinButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSpinButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveSpinButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveSpinButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveSpinButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveSpinButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSpinButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSpinButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveSpinButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveSpinButtonMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveSpinButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveSpinButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveSpinButtonMethod "configure" o = SpinButtonConfigureMethodInfo
+    ResolveSpinButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSpinButtonMethod "copyClipboard" o = Gtk.Editable.EditableCopyClipboardMethodInfo
+    ResolveSpinButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveSpinButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveSpinButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSpinButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSpinButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSpinButtonMethod "cutClipboard" o = Gtk.Editable.EditableCutClipboardMethodInfo
+    ResolveSpinButtonMethod "deleteSelection" o = Gtk.Editable.EditableDeleteSelectionMethodInfo
+    ResolveSpinButtonMethod "deleteText" o = Gtk.Editable.EditableDeleteTextMethodInfo
+    ResolveSpinButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveSpinButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveSpinButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveSpinButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveSpinButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveSpinButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveSpinButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveSpinButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveSpinButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveSpinButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveSpinButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveSpinButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveSpinButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveSpinButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveSpinButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveSpinButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveSpinButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveSpinButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveSpinButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveSpinButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveSpinButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveSpinButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveSpinButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveSpinButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveSpinButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveSpinButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveSpinButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveSpinButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveSpinButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveSpinButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveSpinButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveSpinButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveSpinButtonMethod "editingDone" o = Gtk.CellEditable.CellEditableEditingDoneMethodInfo
+    ResolveSpinButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveSpinButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveSpinButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveSpinButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSpinButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveSpinButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSpinButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSpinButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveSpinButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveSpinButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveSpinButtonMethod "grabFocusWithoutSelecting" o = Gtk.Entry.EntryGrabFocusWithoutSelectingMethodInfo
+    ResolveSpinButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveSpinButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveSpinButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveSpinButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveSpinButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveSpinButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveSpinButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveSpinButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveSpinButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveSpinButtonMethod "imContextFilterKeypress" o = Gtk.Entry.EntryImContextFilterKeypressMethodInfo
+    ResolveSpinButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveSpinButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveSpinButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveSpinButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveSpinButtonMethod "insertText" o = Gtk.Editable.EditableInsertTextMethodInfo
+    ResolveSpinButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveSpinButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveSpinButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveSpinButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveSpinButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSpinButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveSpinButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveSpinButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveSpinButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveSpinButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveSpinButtonMethod "layoutIndexToTextIndex" o = Gtk.Entry.EntryLayoutIndexToTextIndexMethodInfo
+    ResolveSpinButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveSpinButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveSpinButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveSpinButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveSpinButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveSpinButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveSpinButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveSpinButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveSpinButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveSpinButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveSpinButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveSpinButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveSpinButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSpinButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSpinButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveSpinButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveSpinButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveSpinButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveSpinButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveSpinButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSpinButtonMethod "pasteClipboard" o = Gtk.Editable.EditablePasteClipboardMethodInfo
+    ResolveSpinButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveSpinButtonMethod "progressPulse" o = Gtk.Entry.EntryProgressPulseMethodInfo
+    ResolveSpinButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveSpinButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveSpinButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveSpinButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveSpinButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveSpinButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveSpinButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveSpinButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveSpinButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSpinButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSpinButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveSpinButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveSpinButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveSpinButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveSpinButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveSpinButtonMethod "removeWidget" o = Gtk.CellEditable.CellEditableRemoveWidgetMethodInfo
+    ResolveSpinButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveSpinButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveSpinButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveSpinButtonMethod "resetImContext" o = Gtk.Entry.EntryResetImContextMethodInfo
+    ResolveSpinButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveSpinButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveSpinButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSpinButtonMethod "selectRegion" o = Gtk.Editable.EditableSelectRegionMethodInfo
+    ResolveSpinButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveSpinButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveSpinButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveSpinButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveSpinButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveSpinButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveSpinButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveSpinButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveSpinButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveSpinButtonMethod "spin" o = SpinButtonSpinMethodInfo
+    ResolveSpinButtonMethod "startEditing" o = Gtk.CellEditable.CellEditableStartEditingMethodInfo
+    ResolveSpinButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSpinButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSpinButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveSpinButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveSpinButtonMethod "textIndexToLayoutIndex" o = Gtk.Entry.EntryTextIndexToLayoutIndexMethodInfo
+    ResolveSpinButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveSpinButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSpinButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveSpinButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveSpinButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveSpinButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveSpinButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveSpinButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSpinButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveSpinButtonMethod "unsetInvisibleChar" o = Gtk.Entry.EntryUnsetInvisibleCharMethodInfo
+    ResolveSpinButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveSpinButtonMethod "update" o = SpinButtonUpdateMethodInfo
+    ResolveSpinButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSpinButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveSpinButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveSpinButtonMethod "getActivatesDefault" o = Gtk.Entry.EntryGetActivatesDefaultMethodInfo
+    ResolveSpinButtonMethod "getAdjustment" o = SpinButtonGetAdjustmentMethodInfo
+    ResolveSpinButtonMethod "getAlignment" o = Gtk.Entry.EntryGetAlignmentMethodInfo
+    ResolveSpinButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveSpinButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveSpinButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveSpinButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveSpinButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveSpinButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveSpinButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveSpinButtonMethod "getAttributes" o = Gtk.Entry.EntryGetAttributesMethodInfo
+    ResolveSpinButtonMethod "getBuffer" o = Gtk.Entry.EntryGetBufferMethodInfo
+    ResolveSpinButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveSpinButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveSpinButtonMethod "getChars" o = Gtk.Editable.EditableGetCharsMethodInfo
+    ResolveSpinButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveSpinButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveSpinButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveSpinButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveSpinButtonMethod "getCompletion" o = Gtk.Entry.EntryGetCompletionMethodInfo
+    ResolveSpinButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveSpinButtonMethod "getCurrentIconDragSource" o = Gtk.Entry.EntryGetCurrentIconDragSourceMethodInfo
+    ResolveSpinButtonMethod "getCursorHadjustment" o = Gtk.Entry.EntryGetCursorHadjustmentMethodInfo
+    ResolveSpinButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSpinButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveSpinButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveSpinButtonMethod "getDigits" o = SpinButtonGetDigitsMethodInfo
+    ResolveSpinButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveSpinButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveSpinButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveSpinButtonMethod "getEditable" o = Gtk.Editable.EditableGetEditableMethodInfo
+    ResolveSpinButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveSpinButtonMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveSpinButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveSpinButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveSpinButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveSpinButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveSpinButtonMethod "getHasFrame" o = Gtk.Entry.EntryGetHasFrameMethodInfo
+    ResolveSpinButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveSpinButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveSpinButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveSpinButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveSpinButtonMethod "getIconActivatable" o = Gtk.Entry.EntryGetIconActivatableMethodInfo
+    ResolveSpinButtonMethod "getIconArea" o = Gtk.Entry.EntryGetIconAreaMethodInfo
+    ResolveSpinButtonMethod "getIconAtPos" o = Gtk.Entry.EntryGetIconAtPosMethodInfo
+    ResolveSpinButtonMethod "getIconGicon" o = Gtk.Entry.EntryGetIconGiconMethodInfo
+    ResolveSpinButtonMethod "getIconName" o = Gtk.Entry.EntryGetIconNameMethodInfo
+    ResolveSpinButtonMethod "getIconPixbuf" o = Gtk.Entry.EntryGetIconPixbufMethodInfo
+    ResolveSpinButtonMethod "getIconSensitive" o = Gtk.Entry.EntryGetIconSensitiveMethodInfo
+    ResolveSpinButtonMethod "getIconStock" o = Gtk.Entry.EntryGetIconStockMethodInfo
+    ResolveSpinButtonMethod "getIconStorageType" o = Gtk.Entry.EntryGetIconStorageTypeMethodInfo
+    ResolveSpinButtonMethod "getIconTooltipMarkup" o = Gtk.Entry.EntryGetIconTooltipMarkupMethodInfo
+    ResolveSpinButtonMethod "getIconTooltipText" o = Gtk.Entry.EntryGetIconTooltipTextMethodInfo
+    ResolveSpinButtonMethod "getIncrements" o = SpinButtonGetIncrementsMethodInfo
+    ResolveSpinButtonMethod "getInnerBorder" o = Gtk.Entry.EntryGetInnerBorderMethodInfo
+    ResolveSpinButtonMethod "getInputHints" o = Gtk.Entry.EntryGetInputHintsMethodInfo
+    ResolveSpinButtonMethod "getInputPurpose" o = Gtk.Entry.EntryGetInputPurposeMethodInfo
+    ResolveSpinButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSpinButtonMethod "getInvisibleChar" o = Gtk.Entry.EntryGetInvisibleCharMethodInfo
+    ResolveSpinButtonMethod "getLayout" o = Gtk.Entry.EntryGetLayoutMethodInfo
+    ResolveSpinButtonMethod "getLayoutOffsets" o = Gtk.Entry.EntryGetLayoutOffsetsMethodInfo
+    ResolveSpinButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveSpinButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveSpinButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveSpinButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveSpinButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveSpinButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveSpinButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveSpinButtonMethod "getMaxLength" o = Gtk.Entry.EntryGetMaxLengthMethodInfo
+    ResolveSpinButtonMethod "getMaxWidthChars" o = Gtk.Entry.EntryGetMaxWidthCharsMethodInfo
+    ResolveSpinButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveSpinButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveSpinButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveSpinButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveSpinButtonMethod "getNumeric" o = SpinButtonGetNumericMethodInfo
+    ResolveSpinButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveSpinButtonMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveSpinButtonMethod "getOverwriteMode" o = Gtk.Entry.EntryGetOverwriteModeMethodInfo
+    ResolveSpinButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveSpinButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveSpinButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveSpinButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveSpinButtonMethod "getPlaceholderText" o = Gtk.Entry.EntryGetPlaceholderTextMethodInfo
+    ResolveSpinButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveSpinButtonMethod "getPosition" o = Gtk.Editable.EditableGetPositionMethodInfo
+    ResolveSpinButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveSpinButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveSpinButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveSpinButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveSpinButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveSpinButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveSpinButtonMethod "getProgressFraction" o = Gtk.Entry.EntryGetProgressFractionMethodInfo
+    ResolveSpinButtonMethod "getProgressPulseStep" o = Gtk.Entry.EntryGetProgressPulseStepMethodInfo
+    ResolveSpinButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSpinButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSpinButtonMethod "getRange" o = SpinButtonGetRangeMethodInfo
+    ResolveSpinButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveSpinButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveSpinButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveSpinButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveSpinButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveSpinButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveSpinButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveSpinButtonMethod "getSelectionBounds" o = Gtk.Editable.EditableGetSelectionBoundsMethodInfo
+    ResolveSpinButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveSpinButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveSpinButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveSpinButtonMethod "getSnapToTicks" o = SpinButtonGetSnapToTicksMethodInfo
+    ResolveSpinButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveSpinButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveSpinButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveSpinButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveSpinButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveSpinButtonMethod "getTabs" o = Gtk.Entry.EntryGetTabsMethodInfo
+    ResolveSpinButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveSpinButtonMethod "getText" o = Gtk.Entry.EntryGetTextMethodInfo
+    ResolveSpinButtonMethod "getTextArea" o = Gtk.Entry.EntryGetTextAreaMethodInfo
+    ResolveSpinButtonMethod "getTextLength" o = Gtk.Entry.EntryGetTextLengthMethodInfo
+    ResolveSpinButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveSpinButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveSpinButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveSpinButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveSpinButtonMethod "getUpdatePolicy" o = SpinButtonGetUpdatePolicyMethodInfo
+    ResolveSpinButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveSpinButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveSpinButtonMethod "getValue" o = SpinButtonGetValueMethodInfo
+    ResolveSpinButtonMethod "getValueAsInt" o = SpinButtonGetValueAsIntMethodInfo
+    ResolveSpinButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveSpinButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveSpinButtonMethod "getVisibility" o = Gtk.Entry.EntryGetVisibilityMethodInfo
+    ResolveSpinButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveSpinButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveSpinButtonMethod "getWidthChars" o = Gtk.Entry.EntryGetWidthCharsMethodInfo
+    ResolveSpinButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveSpinButtonMethod "getWrap" o = SpinButtonGetWrapMethodInfo
+    ResolveSpinButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveSpinButtonMethod "setActivatesDefault" o = Gtk.Entry.EntrySetActivatesDefaultMethodInfo
+    ResolveSpinButtonMethod "setAdjustment" o = SpinButtonSetAdjustmentMethodInfo
+    ResolveSpinButtonMethod "setAlignment" o = Gtk.Entry.EntrySetAlignmentMethodInfo
+    ResolveSpinButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveSpinButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveSpinButtonMethod "setAttributes" o = Gtk.Entry.EntrySetAttributesMethodInfo
+    ResolveSpinButtonMethod "setBuffer" o = Gtk.Entry.EntrySetBufferMethodInfo
+    ResolveSpinButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSpinButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveSpinButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveSpinButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveSpinButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveSpinButtonMethod "setCompletion" o = Gtk.Entry.EntrySetCompletionMethodInfo
+    ResolveSpinButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveSpinButtonMethod "setCursorHadjustment" o = Gtk.Entry.EntrySetCursorHadjustmentMethodInfo
+    ResolveSpinButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSpinButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveSpinButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveSpinButtonMethod "setDigits" o = SpinButtonSetDigitsMethodInfo
+    ResolveSpinButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveSpinButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveSpinButtonMethod "setEditable" o = Gtk.Editable.EditableSetEditableMethodInfo
+    ResolveSpinButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveSpinButtonMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveSpinButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveSpinButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveSpinButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveSpinButtonMethod "setHasFrame" o = Gtk.Entry.EntrySetHasFrameMethodInfo
+    ResolveSpinButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveSpinButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveSpinButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveSpinButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveSpinButtonMethod "setIconActivatable" o = Gtk.Entry.EntrySetIconActivatableMethodInfo
+    ResolveSpinButtonMethod "setIconDragSource" o = Gtk.Entry.EntrySetIconDragSourceMethodInfo
+    ResolveSpinButtonMethod "setIconFromGicon" o = Gtk.Entry.EntrySetIconFromGiconMethodInfo
+    ResolveSpinButtonMethod "setIconFromIconName" o = Gtk.Entry.EntrySetIconFromIconNameMethodInfo
+    ResolveSpinButtonMethod "setIconFromPixbuf" o = Gtk.Entry.EntrySetIconFromPixbufMethodInfo
+    ResolveSpinButtonMethod "setIconFromStock" o = Gtk.Entry.EntrySetIconFromStockMethodInfo
+    ResolveSpinButtonMethod "setIconSensitive" o = Gtk.Entry.EntrySetIconSensitiveMethodInfo
+    ResolveSpinButtonMethod "setIconTooltipMarkup" o = Gtk.Entry.EntrySetIconTooltipMarkupMethodInfo
+    ResolveSpinButtonMethod "setIconTooltipText" o = Gtk.Entry.EntrySetIconTooltipTextMethodInfo
+    ResolveSpinButtonMethod "setIncrements" o = SpinButtonSetIncrementsMethodInfo
+    ResolveSpinButtonMethod "setInnerBorder" o = Gtk.Entry.EntrySetInnerBorderMethodInfo
+    ResolveSpinButtonMethod "setInputHints" o = Gtk.Entry.EntrySetInputHintsMethodInfo
+    ResolveSpinButtonMethod "setInputPurpose" o = Gtk.Entry.EntrySetInputPurposeMethodInfo
+    ResolveSpinButtonMethod "setInvisibleChar" o = Gtk.Entry.EntrySetInvisibleCharMethodInfo
+    ResolveSpinButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveSpinButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveSpinButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveSpinButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveSpinButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveSpinButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveSpinButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveSpinButtonMethod "setMaxLength" o = Gtk.Entry.EntrySetMaxLengthMethodInfo
+    ResolveSpinButtonMethod "setMaxWidthChars" o = Gtk.Entry.EntrySetMaxWidthCharsMethodInfo
+    ResolveSpinButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveSpinButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveSpinButtonMethod "setNumeric" o = SpinButtonSetNumericMethodInfo
+    ResolveSpinButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveSpinButtonMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveSpinButtonMethod "setOverwriteMode" o = Gtk.Entry.EntrySetOverwriteModeMethodInfo
+    ResolveSpinButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveSpinButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveSpinButtonMethod "setPlaceholderText" o = Gtk.Entry.EntrySetPlaceholderTextMethodInfo
+    ResolveSpinButtonMethod "setPosition" o = Gtk.Editable.EditableSetPositionMethodInfo
+    ResolveSpinButtonMethod "setProgressFraction" o = Gtk.Entry.EntrySetProgressFractionMethodInfo
+    ResolveSpinButtonMethod "setProgressPulseStep" o = Gtk.Entry.EntrySetProgressPulseStepMethodInfo
+    ResolveSpinButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSpinButtonMethod "setRange" o = SpinButtonSetRangeMethodInfo
+    ResolveSpinButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveSpinButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveSpinButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveSpinButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveSpinButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveSpinButtonMethod "setSnapToTicks" o = SpinButtonSetSnapToTicksMethodInfo
+    ResolveSpinButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveSpinButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveSpinButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveSpinButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveSpinButtonMethod "setTabs" o = Gtk.Entry.EntrySetTabsMethodInfo
+    ResolveSpinButtonMethod "setText" o = Gtk.Entry.EntrySetTextMethodInfo
+    ResolveSpinButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveSpinButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveSpinButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveSpinButtonMethod "setUpdatePolicy" o = SpinButtonSetUpdatePolicyMethodInfo
+    ResolveSpinButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveSpinButtonMethod "setValue" o = SpinButtonSetValueMethodInfo
+    ResolveSpinButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveSpinButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveSpinButtonMethod "setVisibility" o = Gtk.Entry.EntrySetVisibilityMethodInfo
+    ResolveSpinButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveSpinButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveSpinButtonMethod "setWidthChars" o = Gtk.Entry.EntrySetWidthCharsMethodInfo
+    ResolveSpinButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveSpinButtonMethod "setWrap" o = SpinButtonSetWrapMethodInfo
+    ResolveSpinButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSpinButtonMethod t SpinButton, O.MethodInfo info SpinButton p) => OL.IsLabel t (SpinButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal SpinButton::change-value
+{- |
+The ::change-value signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a value change.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control the cursor
+programmatically.
+
+The default bindings for this signal are Up\/Down and PageUp and\/PageDown.
+-}
+type SpinButtonChangeValueCallback =
+    Gtk.Enums.ScrollType
+    {- ^ /@scroll@/: a 'GI.Gtk.Enums.ScrollType' to specify the speed and amount of change -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SpinButtonChangeValueCallback`@.
+noSpinButtonChangeValueCallback :: Maybe SpinButtonChangeValueCallback
+noSpinButtonChangeValueCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SpinButtonChangeValueCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_SpinButtonChangeValueCallback`.
+foreign import ccall "wrapper"
+    mk_SpinButtonChangeValueCallback :: C_SpinButtonChangeValueCallback -> IO (FunPtr C_SpinButtonChangeValueCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SpinButtonChangeValue :: MonadIO m => SpinButtonChangeValueCallback -> m (GClosure C_SpinButtonChangeValueCallback)
+genClosure_SpinButtonChangeValue cb = liftIO $ do
+    let cb' = wrap_SpinButtonChangeValueCallback cb
+    mk_SpinButtonChangeValueCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SpinButtonChangeValueCallback` into a `C_SpinButtonChangeValueCallback`.
+wrap_SpinButtonChangeValueCallback ::
+    SpinButtonChangeValueCallback ->
+    C_SpinButtonChangeValueCallback
+wrap_SpinButtonChangeValueCallback _cb _ scroll _ = do
+    let scroll' = (toEnum . fromIntegral) scroll
+    _cb  scroll'
+
+
+{- |
+Connect a signal handler for the “@change-value@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' spinButton #changeValue callback
+@
+-}
+onSpinButtonChangeValue :: (IsSpinButton a, MonadIO m) => a -> SpinButtonChangeValueCallback -> m SignalHandlerId
+onSpinButtonChangeValue obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonChangeValueCallback cb
+    cb'' <- mk_SpinButtonChangeValueCallback cb'
+    connectSignalFunPtr obj "change-value" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@change-value@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' spinButton #changeValue callback
+@
+-}
+afterSpinButtonChangeValue :: (IsSpinButton a, MonadIO m) => a -> SpinButtonChangeValueCallback -> m SignalHandlerId
+afterSpinButtonChangeValue obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonChangeValueCallback cb
+    cb'' <- mk_SpinButtonChangeValueCallback cb'
+    connectSignalFunPtr obj "change-value" cb'' SignalConnectAfter
+
+
+-- signal SpinButton::input
+{- |
+The ::input signal can be used to influence the conversion of
+the users input into a double value. The signal handler is
+expected to use 'GI.Gtk.Objects.Entry.entryGetText' to retrieve the text of
+the entry and set /@newValue@/ to the new value.
+
+The default conversion uses 'GI.GLib.Functions.strtod'.
+-}
+type SpinButtonInputCallback =
+    IO ((Int32, Double))
+    {- ^ __Returns:__ 'True' for a successful conversion, 'False' if the input
+    was not handled, and 'GI.Gtk.Constants.INPUT_ERROR' if the conversion failed. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SpinButtonInputCallback`@.
+noSpinButtonInputCallback :: Maybe SpinButtonInputCallback
+noSpinButtonInputCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SpinButtonInputCallback =
+    Ptr () ->                               -- object
+    Ptr CDouble ->
+    Ptr () ->                               -- user_data
+    IO Int32
+
+-- | Generate a function pointer callable from C code, from a `C_SpinButtonInputCallback`.
+foreign import ccall "wrapper"
+    mk_SpinButtonInputCallback :: C_SpinButtonInputCallback -> IO (FunPtr C_SpinButtonInputCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SpinButtonInput :: MonadIO m => SpinButtonInputCallback -> m (GClosure C_SpinButtonInputCallback)
+genClosure_SpinButtonInput cb = liftIO $ do
+    let cb' = wrap_SpinButtonInputCallback cb
+    mk_SpinButtonInputCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SpinButtonInputCallback` into a `C_SpinButtonInputCallback`.
+wrap_SpinButtonInputCallback ::
+    SpinButtonInputCallback ->
+    C_SpinButtonInputCallback
+wrap_SpinButtonInputCallback _cb _ newValue _ = do
+    (result, outnewValue) <- _cb 
+    let outnewValue' = realToFrac outnewValue
+    poke newValue outnewValue'
+    return result
+
+
+{- |
+Connect a signal handler for the “@input@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' spinButton #input callback
+@
+-}
+onSpinButtonInput :: (IsSpinButton a, MonadIO m) => a -> SpinButtonInputCallback -> m SignalHandlerId
+onSpinButtonInput obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonInputCallback cb
+    cb'' <- mk_SpinButtonInputCallback cb'
+    connectSignalFunPtr obj "input" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@input@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' spinButton #input callback
+@
+-}
+afterSpinButtonInput :: (IsSpinButton a, MonadIO m) => a -> SpinButtonInputCallback -> m SignalHandlerId
+afterSpinButtonInput obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonInputCallback cb
+    cb'' <- mk_SpinButtonInputCallback cb'
+    connectSignalFunPtr obj "input" cb'' SignalConnectAfter
+
+
+-- signal SpinButton::output
+{- |
+The ::output signal can be used to change to formatting
+of the value that is displayed in the spin buttons entry.
+
+=== /C code/
+>
+>// show leading zeros
+>static gboolean
+>on_output (GtkSpinButton *spin,
+>           gpointer       data)
+>{
+>   GtkAdjustment *adjustment;
+>   gchar *text;
+>   int value;
+>
+>   adjustment = gtk_spin_button_get_adjustment (spin);
+>   value = (int)gtk_adjustment_get_value (adjustment);
+>   text = g_strdup_printf ("%02d", value);
+>   gtk_entry_set_text (GTK_ENTRY (spin), text);
+>   g_free (text);
+>
+>   return TRUE;
+>}
+-}
+type SpinButtonOutputCallback =
+    IO Bool
+    {- ^ __Returns:__ 'True' if the value has been displayed -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SpinButtonOutputCallback`@.
+noSpinButtonOutputCallback :: Maybe SpinButtonOutputCallback
+noSpinButtonOutputCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SpinButtonOutputCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_SpinButtonOutputCallback`.
+foreign import ccall "wrapper"
+    mk_SpinButtonOutputCallback :: C_SpinButtonOutputCallback -> IO (FunPtr C_SpinButtonOutputCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SpinButtonOutput :: MonadIO m => SpinButtonOutputCallback -> m (GClosure C_SpinButtonOutputCallback)
+genClosure_SpinButtonOutput cb = liftIO $ do
+    let cb' = wrap_SpinButtonOutputCallback cb
+    mk_SpinButtonOutputCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SpinButtonOutputCallback` into a `C_SpinButtonOutputCallback`.
+wrap_SpinButtonOutputCallback ::
+    SpinButtonOutputCallback ->
+    C_SpinButtonOutputCallback
+wrap_SpinButtonOutputCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@output@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' spinButton #output callback
+@
+-}
+onSpinButtonOutput :: (IsSpinButton a, MonadIO m) => a -> SpinButtonOutputCallback -> m SignalHandlerId
+onSpinButtonOutput obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonOutputCallback cb
+    cb'' <- mk_SpinButtonOutputCallback cb'
+    connectSignalFunPtr obj "output" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@output@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' spinButton #output callback
+@
+-}
+afterSpinButtonOutput :: (IsSpinButton a, MonadIO m) => a -> SpinButtonOutputCallback -> m SignalHandlerId
+afterSpinButtonOutput obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonOutputCallback cb
+    cb'' <- mk_SpinButtonOutputCallback cb'
+    connectSignalFunPtr obj "output" cb'' SignalConnectAfter
+
+
+-- signal SpinButton::value-changed
+{- |
+The ::value-changed signal is emitted when the value represented by
+/@spinbutton@/ changes. Also see the 'GI.Gtk.Objects.SpinButton.SpinButton'::@/output/@ signal.
+-}
+type SpinButtonValueChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SpinButtonValueChangedCallback`@.
+noSpinButtonValueChangedCallback :: Maybe SpinButtonValueChangedCallback
+noSpinButtonValueChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SpinButtonValueChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_SpinButtonValueChangedCallback`.
+foreign import ccall "wrapper"
+    mk_SpinButtonValueChangedCallback :: C_SpinButtonValueChangedCallback -> IO (FunPtr C_SpinButtonValueChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SpinButtonValueChanged :: MonadIO m => SpinButtonValueChangedCallback -> m (GClosure C_SpinButtonValueChangedCallback)
+genClosure_SpinButtonValueChanged cb = liftIO $ do
+    let cb' = wrap_SpinButtonValueChangedCallback cb
+    mk_SpinButtonValueChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SpinButtonValueChangedCallback` into a `C_SpinButtonValueChangedCallback`.
+wrap_SpinButtonValueChangedCallback ::
+    SpinButtonValueChangedCallback ->
+    C_SpinButtonValueChangedCallback
+wrap_SpinButtonValueChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@value-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' spinButton #valueChanged callback
+@
+-}
+onSpinButtonValueChanged :: (IsSpinButton a, MonadIO m) => a -> SpinButtonValueChangedCallback -> m SignalHandlerId
+onSpinButtonValueChanged obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonValueChangedCallback cb
+    cb'' <- mk_SpinButtonValueChangedCallback cb'
+    connectSignalFunPtr obj "value-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@value-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' spinButton #valueChanged callback
+@
+-}
+afterSpinButtonValueChanged :: (IsSpinButton a, MonadIO m) => a -> SpinButtonValueChangedCallback -> m SignalHandlerId
+afterSpinButtonValueChanged obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonValueChangedCallback cb
+    cb'' <- mk_SpinButtonValueChangedCallback cb'
+    connectSignalFunPtr obj "value-changed" cb'' SignalConnectAfter
+
+
+-- signal SpinButton::wrapped
+{- |
+The ::wrapped signal is emitted right after the spinbutton wraps
+from its maximum to minimum value or vice-versa.
+
+/Since: 2.10/
+-}
+type SpinButtonWrappedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SpinButtonWrappedCallback`@.
+noSpinButtonWrappedCallback :: Maybe SpinButtonWrappedCallback
+noSpinButtonWrappedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SpinButtonWrappedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_SpinButtonWrappedCallback`.
+foreign import ccall "wrapper"
+    mk_SpinButtonWrappedCallback :: C_SpinButtonWrappedCallback -> IO (FunPtr C_SpinButtonWrappedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SpinButtonWrapped :: MonadIO m => SpinButtonWrappedCallback -> m (GClosure C_SpinButtonWrappedCallback)
+genClosure_SpinButtonWrapped cb = liftIO $ do
+    let cb' = wrap_SpinButtonWrappedCallback cb
+    mk_SpinButtonWrappedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SpinButtonWrappedCallback` into a `C_SpinButtonWrappedCallback`.
+wrap_SpinButtonWrappedCallback ::
+    SpinButtonWrappedCallback ->
+    C_SpinButtonWrappedCallback
+wrap_SpinButtonWrappedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@wrapped@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' spinButton #wrapped callback
+@
+-}
+onSpinButtonWrapped :: (IsSpinButton a, MonadIO m) => a -> SpinButtonWrappedCallback -> m SignalHandlerId
+onSpinButtonWrapped obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonWrappedCallback cb
+    cb'' <- mk_SpinButtonWrappedCallback cb'
+    connectSignalFunPtr obj "wrapped" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@wrapped@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' spinButton #wrapped callback
+@
+-}
+afterSpinButtonWrapped :: (IsSpinButton a, MonadIO m) => a -> SpinButtonWrappedCallback -> m SignalHandlerId
+afterSpinButtonWrapped obj cb = liftIO $ do
+    let cb' = wrap_SpinButtonWrappedCallback cb
+    cb'' <- mk_SpinButtonWrappedCallback cb'
+    connectSignalFunPtr obj "wrapped" cb'' SignalConnectAfter
+
+
+-- VVV Prop "adjustment"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@adjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' spinButton #adjustment
+@
+-}
+getSpinButtonAdjustment :: (MonadIO m, IsSpinButton o) => o -> m Gtk.Adjustment.Adjustment
+getSpinButtonAdjustment obj = liftIO $ checkUnexpectedNothing "getSpinButtonAdjustment" $ B.Properties.getObjectPropertyObject obj "adjustment" Gtk.Adjustment.Adjustment
+
+{- |
+Set the value of the “@adjustment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' spinButton [ #adjustment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSpinButtonAdjustment :: (MonadIO m, IsSpinButton o, Gtk.Adjustment.IsAdjustment a) => o -> a -> m ()
+setSpinButtonAdjustment obj val = liftIO $ B.Properties.setObjectPropertyObject obj "adjustment" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@adjustment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSpinButtonAdjustment :: (IsSpinButton o, Gtk.Adjustment.IsAdjustment a) => a -> IO (GValueConstruct o)
+constructSpinButtonAdjustment val = B.Properties.constructObjectPropertyObject "adjustment" (Just val)
+
+#if ENABLE_OVERLOADING
+data SpinButtonAdjustmentPropertyInfo
+instance AttrInfo SpinButtonAdjustmentPropertyInfo where
+    type AttrAllowedOps SpinButtonAdjustmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SpinButtonAdjustmentPropertyInfo = Gtk.Adjustment.IsAdjustment
+    type AttrBaseTypeConstraint SpinButtonAdjustmentPropertyInfo = IsSpinButton
+    type AttrGetType SpinButtonAdjustmentPropertyInfo = Gtk.Adjustment.Adjustment
+    type AttrLabel SpinButtonAdjustmentPropertyInfo = "adjustment"
+    type AttrOrigin SpinButtonAdjustmentPropertyInfo = SpinButton
+    attrGet _ = getSpinButtonAdjustment
+    attrSet _ = setSpinButtonAdjustment
+    attrConstruct _ = constructSpinButtonAdjustment
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "climb-rate"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@climb-rate@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' spinButton #climbRate
+@
+-}
+getSpinButtonClimbRate :: (MonadIO m, IsSpinButton o) => o -> m Double
+getSpinButtonClimbRate obj = liftIO $ B.Properties.getObjectPropertyDouble obj "climb-rate"
+
+{- |
+Set the value of the “@climb-rate@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' spinButton [ #climbRate 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSpinButtonClimbRate :: (MonadIO m, IsSpinButton o) => o -> Double -> m ()
+setSpinButtonClimbRate obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "climb-rate" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@climb-rate@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSpinButtonClimbRate :: (IsSpinButton o) => Double -> IO (GValueConstruct o)
+constructSpinButtonClimbRate val = B.Properties.constructObjectPropertyDouble "climb-rate" val
+
+#if ENABLE_OVERLOADING
+data SpinButtonClimbRatePropertyInfo
+instance AttrInfo SpinButtonClimbRatePropertyInfo where
+    type AttrAllowedOps SpinButtonClimbRatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SpinButtonClimbRatePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint SpinButtonClimbRatePropertyInfo = IsSpinButton
+    type AttrGetType SpinButtonClimbRatePropertyInfo = Double
+    type AttrLabel SpinButtonClimbRatePropertyInfo = "climb-rate"
+    type AttrOrigin SpinButtonClimbRatePropertyInfo = SpinButton
+    attrGet _ = getSpinButtonClimbRate
+    attrSet _ = setSpinButtonClimbRate
+    attrConstruct _ = constructSpinButtonClimbRate
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "digits"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@digits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' spinButton #digits
+@
+-}
+getSpinButtonDigits :: (MonadIO m, IsSpinButton o) => o -> m Word32
+getSpinButtonDigits obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "digits"
+
+{- |
+Set the value of the “@digits@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' spinButton [ #digits 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSpinButtonDigits :: (MonadIO m, IsSpinButton o) => o -> Word32 -> m ()
+setSpinButtonDigits obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "digits" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@digits@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSpinButtonDigits :: (IsSpinButton o) => Word32 -> IO (GValueConstruct o)
+constructSpinButtonDigits val = B.Properties.constructObjectPropertyUInt32 "digits" val
+
+#if ENABLE_OVERLOADING
+data SpinButtonDigitsPropertyInfo
+instance AttrInfo SpinButtonDigitsPropertyInfo where
+    type AttrAllowedOps SpinButtonDigitsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SpinButtonDigitsPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint SpinButtonDigitsPropertyInfo = IsSpinButton
+    type AttrGetType SpinButtonDigitsPropertyInfo = Word32
+    type AttrLabel SpinButtonDigitsPropertyInfo = "digits"
+    type AttrOrigin SpinButtonDigitsPropertyInfo = SpinButton
+    attrGet _ = getSpinButtonDigits
+    attrSet _ = setSpinButtonDigits
+    attrConstruct _ = constructSpinButtonDigits
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "numeric"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@numeric@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' spinButton #numeric
+@
+-}
+getSpinButtonNumeric :: (MonadIO m, IsSpinButton o) => o -> m Bool
+getSpinButtonNumeric obj = liftIO $ B.Properties.getObjectPropertyBool obj "numeric"
+
+{- |
+Set the value of the “@numeric@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' spinButton [ #numeric 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSpinButtonNumeric :: (MonadIO m, IsSpinButton o) => o -> Bool -> m ()
+setSpinButtonNumeric obj val = liftIO $ B.Properties.setObjectPropertyBool obj "numeric" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@numeric@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSpinButtonNumeric :: (IsSpinButton o) => Bool -> IO (GValueConstruct o)
+constructSpinButtonNumeric val = B.Properties.constructObjectPropertyBool "numeric" val
+
+#if ENABLE_OVERLOADING
+data SpinButtonNumericPropertyInfo
+instance AttrInfo SpinButtonNumericPropertyInfo where
+    type AttrAllowedOps SpinButtonNumericPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SpinButtonNumericPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SpinButtonNumericPropertyInfo = IsSpinButton
+    type AttrGetType SpinButtonNumericPropertyInfo = Bool
+    type AttrLabel SpinButtonNumericPropertyInfo = "numeric"
+    type AttrOrigin SpinButtonNumericPropertyInfo = SpinButton
+    attrGet _ = getSpinButtonNumeric
+    attrSet _ = setSpinButtonNumeric
+    attrConstruct _ = constructSpinButtonNumeric
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "snap-to-ticks"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@snap-to-ticks@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' spinButton #snapToTicks
+@
+-}
+getSpinButtonSnapToTicks :: (MonadIO m, IsSpinButton o) => o -> m Bool
+getSpinButtonSnapToTicks obj = liftIO $ B.Properties.getObjectPropertyBool obj "snap-to-ticks"
+
+{- |
+Set the value of the “@snap-to-ticks@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' spinButton [ #snapToTicks 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSpinButtonSnapToTicks :: (MonadIO m, IsSpinButton o) => o -> Bool -> m ()
+setSpinButtonSnapToTicks obj val = liftIO $ B.Properties.setObjectPropertyBool obj "snap-to-ticks" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@snap-to-ticks@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSpinButtonSnapToTicks :: (IsSpinButton o) => Bool -> IO (GValueConstruct o)
+constructSpinButtonSnapToTicks val = B.Properties.constructObjectPropertyBool "snap-to-ticks" val
+
+#if ENABLE_OVERLOADING
+data SpinButtonSnapToTicksPropertyInfo
+instance AttrInfo SpinButtonSnapToTicksPropertyInfo where
+    type AttrAllowedOps SpinButtonSnapToTicksPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SpinButtonSnapToTicksPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SpinButtonSnapToTicksPropertyInfo = IsSpinButton
+    type AttrGetType SpinButtonSnapToTicksPropertyInfo = Bool
+    type AttrLabel SpinButtonSnapToTicksPropertyInfo = "snap-to-ticks"
+    type AttrOrigin SpinButtonSnapToTicksPropertyInfo = SpinButton
+    attrGet _ = getSpinButtonSnapToTicks
+    attrSet _ = setSpinButtonSnapToTicks
+    attrConstruct _ = constructSpinButtonSnapToTicks
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "update-policy"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SpinButtonUpdatePolicy"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@update-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' spinButton #updatePolicy
+@
+-}
+getSpinButtonUpdatePolicy :: (MonadIO m, IsSpinButton o) => o -> m Gtk.Enums.SpinButtonUpdatePolicy
+getSpinButtonUpdatePolicy obj = liftIO $ B.Properties.getObjectPropertyEnum obj "update-policy"
+
+{- |
+Set the value of the “@update-policy@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' spinButton [ #updatePolicy 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSpinButtonUpdatePolicy :: (MonadIO m, IsSpinButton o) => o -> Gtk.Enums.SpinButtonUpdatePolicy -> m ()
+setSpinButtonUpdatePolicy obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "update-policy" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@update-policy@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSpinButtonUpdatePolicy :: (IsSpinButton o) => Gtk.Enums.SpinButtonUpdatePolicy -> IO (GValueConstruct o)
+constructSpinButtonUpdatePolicy val = B.Properties.constructObjectPropertyEnum "update-policy" val
+
+#if ENABLE_OVERLOADING
+data SpinButtonUpdatePolicyPropertyInfo
+instance AttrInfo SpinButtonUpdatePolicyPropertyInfo where
+    type AttrAllowedOps SpinButtonUpdatePolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SpinButtonUpdatePolicyPropertyInfo = (~) Gtk.Enums.SpinButtonUpdatePolicy
+    type AttrBaseTypeConstraint SpinButtonUpdatePolicyPropertyInfo = IsSpinButton
+    type AttrGetType SpinButtonUpdatePolicyPropertyInfo = Gtk.Enums.SpinButtonUpdatePolicy
+    type AttrLabel SpinButtonUpdatePolicyPropertyInfo = "update-policy"
+    type AttrOrigin SpinButtonUpdatePolicyPropertyInfo = SpinButton
+    attrGet _ = getSpinButtonUpdatePolicy
+    attrSet _ = setSpinButtonUpdatePolicy
+    attrConstruct _ = constructSpinButtonUpdatePolicy
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "value"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' spinButton #value
+@
+-}
+getSpinButtonValue :: (MonadIO m, IsSpinButton o) => o -> m Double
+getSpinButtonValue obj = liftIO $ B.Properties.getObjectPropertyDouble obj "value"
+
+{- |
+Set the value of the “@value@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' spinButton [ #value 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSpinButtonValue :: (MonadIO m, IsSpinButton o) => o -> Double -> m ()
+setSpinButtonValue obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "value" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@value@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSpinButtonValue :: (IsSpinButton o) => Double -> IO (GValueConstruct o)
+constructSpinButtonValue val = B.Properties.constructObjectPropertyDouble "value" val
+
+#if ENABLE_OVERLOADING
+data SpinButtonValuePropertyInfo
+instance AttrInfo SpinButtonValuePropertyInfo where
+    type AttrAllowedOps SpinButtonValuePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SpinButtonValuePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint SpinButtonValuePropertyInfo = IsSpinButton
+    type AttrGetType SpinButtonValuePropertyInfo = Double
+    type AttrLabel SpinButtonValuePropertyInfo = "value"
+    type AttrOrigin SpinButtonValuePropertyInfo = SpinButton
+    attrGet _ = getSpinButtonValue
+    attrSet _ = setSpinButtonValue
+    attrConstruct _ = constructSpinButtonValue
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wrap"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@wrap@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' spinButton #wrap
+@
+-}
+getSpinButtonWrap :: (MonadIO m, IsSpinButton o) => o -> m Bool
+getSpinButtonWrap obj = liftIO $ B.Properties.getObjectPropertyBool obj "wrap"
+
+{- |
+Set the value of the “@wrap@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' spinButton [ #wrap 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSpinButtonWrap :: (MonadIO m, IsSpinButton o) => o -> Bool -> m ()
+setSpinButtonWrap obj val = liftIO $ B.Properties.setObjectPropertyBool obj "wrap" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSpinButtonWrap :: (IsSpinButton o) => Bool -> IO (GValueConstruct o)
+constructSpinButtonWrap val = B.Properties.constructObjectPropertyBool "wrap" val
+
+#if ENABLE_OVERLOADING
+data SpinButtonWrapPropertyInfo
+instance AttrInfo SpinButtonWrapPropertyInfo where
+    type AttrAllowedOps SpinButtonWrapPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SpinButtonWrapPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SpinButtonWrapPropertyInfo = IsSpinButton
+    type AttrGetType SpinButtonWrapPropertyInfo = Bool
+    type AttrLabel SpinButtonWrapPropertyInfo = "wrap"
+    type AttrOrigin SpinButtonWrapPropertyInfo = SpinButton
+    attrGet _ = getSpinButtonWrap
+    attrSet _ = setSpinButtonWrap
+    attrConstruct _ = constructSpinButtonWrap
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SpinButton
+type instance O.AttributeList SpinButton = SpinButtonAttributeList
+type SpinButtonAttributeList = ('[ '("activatesDefault", Gtk.Entry.EntryActivatesDefaultPropertyInfo), '("adjustment", SpinButtonAdjustmentPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("attributes", Gtk.Entry.EntryAttributesPropertyInfo), '("buffer", Gtk.Entry.EntryBufferPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("capsLockWarning", Gtk.Entry.EntryCapsLockWarningPropertyInfo), '("climbRate", SpinButtonClimbRatePropertyInfo), '("completion", Gtk.Entry.EntryCompletionPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("cursorPosition", Gtk.Entry.EntryCursorPositionPropertyInfo), '("digits", SpinButtonDigitsPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("editable", Gtk.Entry.EntryEditablePropertyInfo), '("editingCanceled", Gtk.CellEditable.CellEditableEditingCanceledPropertyInfo), '("enableEmojiCompletion", Gtk.Entry.EntryEnableEmojiCompletionPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasFrame", Gtk.Entry.EntryHasFramePropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("imModule", Gtk.Entry.EntryImModulePropertyInfo), '("innerBorder", Gtk.Entry.EntryInnerBorderPropertyInfo), '("inputHints", Gtk.Entry.EntryInputHintsPropertyInfo), '("inputPurpose", Gtk.Entry.EntryInputPurposePropertyInfo), '("invisibleChar", Gtk.Entry.EntryInvisibleCharPropertyInfo), '("invisibleCharSet", Gtk.Entry.EntryInvisibleCharSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxLength", Gtk.Entry.EntryMaxLengthPropertyInfo), '("maxWidthChars", Gtk.Entry.EntryMaxWidthCharsPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("numeric", SpinButtonNumericPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("overwriteMode", Gtk.Entry.EntryOverwriteModePropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("placeholderText", Gtk.Entry.EntryPlaceholderTextPropertyInfo), '("populateAll", Gtk.Entry.EntryPopulateAllPropertyInfo), '("primaryIconActivatable", Gtk.Entry.EntryPrimaryIconActivatablePropertyInfo), '("primaryIconGicon", Gtk.Entry.EntryPrimaryIconGiconPropertyInfo), '("primaryIconName", Gtk.Entry.EntryPrimaryIconNamePropertyInfo), '("primaryIconPixbuf", Gtk.Entry.EntryPrimaryIconPixbufPropertyInfo), '("primaryIconSensitive", Gtk.Entry.EntryPrimaryIconSensitivePropertyInfo), '("primaryIconStock", Gtk.Entry.EntryPrimaryIconStockPropertyInfo), '("primaryIconStorageType", Gtk.Entry.EntryPrimaryIconStorageTypePropertyInfo), '("primaryIconTooltipMarkup", Gtk.Entry.EntryPrimaryIconTooltipMarkupPropertyInfo), '("primaryIconTooltipText", Gtk.Entry.EntryPrimaryIconTooltipTextPropertyInfo), '("progressFraction", Gtk.Entry.EntryProgressFractionPropertyInfo), '("progressPulseStep", Gtk.Entry.EntryProgressPulseStepPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("scrollOffset", Gtk.Entry.EntryScrollOffsetPropertyInfo), '("secondaryIconActivatable", Gtk.Entry.EntrySecondaryIconActivatablePropertyInfo), '("secondaryIconGicon", Gtk.Entry.EntrySecondaryIconGiconPropertyInfo), '("secondaryIconName", Gtk.Entry.EntrySecondaryIconNamePropertyInfo), '("secondaryIconPixbuf", Gtk.Entry.EntrySecondaryIconPixbufPropertyInfo), '("secondaryIconSensitive", Gtk.Entry.EntrySecondaryIconSensitivePropertyInfo), '("secondaryIconStock", Gtk.Entry.EntrySecondaryIconStockPropertyInfo), '("secondaryIconStorageType", Gtk.Entry.EntrySecondaryIconStorageTypePropertyInfo), '("secondaryIconTooltipMarkup", Gtk.Entry.EntrySecondaryIconTooltipMarkupPropertyInfo), '("secondaryIconTooltipText", Gtk.Entry.EntrySecondaryIconTooltipTextPropertyInfo), '("selectionBound", Gtk.Entry.EntrySelectionBoundPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", Gtk.Entry.EntryShadowTypePropertyInfo), '("showEmojiIcon", Gtk.Entry.EntryShowEmojiIconPropertyInfo), '("snapToTicks", SpinButtonSnapToTicksPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tabs", Gtk.Entry.EntryTabsPropertyInfo), '("text", Gtk.Entry.EntryTextPropertyInfo), '("textLength", Gtk.Entry.EntryTextLengthPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("truncateMultiline", Gtk.Entry.EntryTruncateMultilinePropertyInfo), '("updatePolicy", SpinButtonUpdatePolicyPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("value", SpinButtonValuePropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visibility", Gtk.Entry.EntryVisibilityPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthChars", Gtk.Entry.EntryWidthCharsPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("wrap", SpinButtonWrapPropertyInfo), '("xalign", Gtk.Entry.EntryXalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+spinButtonAdjustment :: AttrLabelProxy "adjustment"
+spinButtonAdjustment = AttrLabelProxy
+
+spinButtonClimbRate :: AttrLabelProxy "climbRate"
+spinButtonClimbRate = AttrLabelProxy
+
+spinButtonDigits :: AttrLabelProxy "digits"
+spinButtonDigits = AttrLabelProxy
+
+spinButtonNumeric :: AttrLabelProxy "numeric"
+spinButtonNumeric = AttrLabelProxy
+
+spinButtonSnapToTicks :: AttrLabelProxy "snapToTicks"
+spinButtonSnapToTicks = AttrLabelProxy
+
+spinButtonUpdatePolicy :: AttrLabelProxy "updatePolicy"
+spinButtonUpdatePolicy = AttrLabelProxy
+
+spinButtonValue :: AttrLabelProxy "value"
+spinButtonValue = AttrLabelProxy
+
+spinButtonWrap :: AttrLabelProxy "wrap"
+spinButtonWrap = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data SpinButtonChangeValueSignalInfo
+instance SignalInfo SpinButtonChangeValueSignalInfo where
+    type HaskellCallbackType SpinButtonChangeValueSignalInfo = SpinButtonChangeValueCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SpinButtonChangeValueCallback cb
+        cb'' <- mk_SpinButtonChangeValueCallback cb'
+        connectSignalFunPtr obj "change-value" cb'' connectMode
+
+data SpinButtonInputSignalInfo
+instance SignalInfo SpinButtonInputSignalInfo where
+    type HaskellCallbackType SpinButtonInputSignalInfo = SpinButtonInputCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SpinButtonInputCallback cb
+        cb'' <- mk_SpinButtonInputCallback cb'
+        connectSignalFunPtr obj "input" cb'' connectMode
+
+data SpinButtonOutputSignalInfo
+instance SignalInfo SpinButtonOutputSignalInfo where
+    type HaskellCallbackType SpinButtonOutputSignalInfo = SpinButtonOutputCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SpinButtonOutputCallback cb
+        cb'' <- mk_SpinButtonOutputCallback cb'
+        connectSignalFunPtr obj "output" cb'' connectMode
+
+data SpinButtonValueChangedSignalInfo
+instance SignalInfo SpinButtonValueChangedSignalInfo where
+    type HaskellCallbackType SpinButtonValueChangedSignalInfo = SpinButtonValueChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SpinButtonValueChangedCallback cb
+        cb'' <- mk_SpinButtonValueChangedCallback cb'
+        connectSignalFunPtr obj "value-changed" cb'' connectMode
+
+data SpinButtonWrappedSignalInfo
+instance SignalInfo SpinButtonWrappedSignalInfo where
+    type HaskellCallbackType SpinButtonWrappedSignalInfo = SpinButtonWrappedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SpinButtonWrappedCallback cb
+        cb'' <- mk_SpinButtonWrappedCallback cb'
+        connectSignalFunPtr obj "wrapped" cb'' connectMode
+
+type instance O.SignalList SpinButton = SpinButtonSignalList
+type SpinButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Entry.EntryActivateSignalInfo), '("backspace", Gtk.Entry.EntryBackspaceSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeValue", SpinButtonChangeValueSignalInfo), '("changed", Gtk.Editable.EditableChangedSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("copyClipboard", Gtk.Entry.EntryCopyClipboardSignalInfo), '("cutClipboard", Gtk.Entry.EntryCutClipboardSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deleteFromCursor", Gtk.Entry.EntryDeleteFromCursorSignalInfo), '("deleteText", Gtk.Editable.EditableDeleteTextSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("editingDone", Gtk.CellEditable.CellEditableEditingDoneSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("iconPress", Gtk.Entry.EntryIconPressSignalInfo), '("iconRelease", Gtk.Entry.EntryIconReleaseSignalInfo), '("input", SpinButtonInputSignalInfo), '("insertAtCursor", Gtk.Entry.EntryInsertAtCursorSignalInfo), '("insertEmoji", Gtk.Entry.EntryInsertEmojiSignalInfo), '("insertText", Gtk.Editable.EditableInsertTextSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", Gtk.Entry.EntryMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("output", SpinButtonOutputSignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("pasteClipboard", Gtk.Entry.EntryPasteClipboardSignalInfo), '("populatePopup", Gtk.Entry.EntryPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("preeditChanged", Gtk.Entry.EntryPreeditChangedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("removeWidget", Gtk.CellEditable.CellEditableRemoveWidgetSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleOverwrite", Gtk.Entry.EntryToggleOverwriteSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", SpinButtonValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo), '("wrapped", SpinButtonWrappedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method SpinButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkAdjustment object that this spin\n    button should use, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "climb_rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies by how much the rate of change in the value will\n    accelerate if you continue to hold down an up/down button or arrow key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "digits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of decimal places to display", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SpinButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_new" gtk_spin_button_new :: 
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- climb_rate : TBasicType TDouble
+    Word32 ->                               -- digits : TBasicType TUInt
+    IO (Ptr SpinButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.SpinButton.SpinButton'.
+-}
+spinButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a) =>
+    Maybe (a)
+    {- ^ /@adjustment@/: the 'GI.Gtk.Objects.Adjustment.Adjustment' object that this spin
+    button should use, or 'Nothing' -}
+    -> Double
+    {- ^ /@climbRate@/: specifies by how much the rate of change in the value will
+    accelerate if you continue to hold down an up\/down button or arrow key -}
+    -> Word32
+    {- ^ /@digits@/: the number of decimal places to display -}
+    -> m SpinButton
+    {- ^ __Returns:__ The new spin button as a 'GI.Gtk.Objects.Widget.Widget' -}
+spinButtonNew adjustment climbRate digits = liftIO $ do
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    let climbRate' = realToFrac climbRate
+    result <- gtk_spin_button_new maybeAdjustment climbRate' digits
+    checkUnexpectedReturnNULL "spinButtonNew" result
+    result' <- (newObject SpinButton) result
+    whenJust adjustment touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SpinButton::new_with_range
+-- method type : Constructor
+-- Args : [Arg {argCName = "min", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Minimum allowable value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Maximum allowable value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Increment added or subtracted by spinning the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SpinButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_new_with_range" gtk_spin_button_new_with_range :: 
+    CDouble ->                              -- min : TBasicType TDouble
+    CDouble ->                              -- max : TBasicType TDouble
+    CDouble ->                              -- step : TBasicType TDouble
+    IO (Ptr SpinButton)
+
+{- |
+This is a convenience constructor that allows creation of a numeric
+'GI.Gtk.Objects.SpinButton.SpinButton' without manually creating an adjustment. The value is
+initially set to the minimum value and a page increment of 10 * /@step@/
+is the default. The precision of the spin button is equivalent to the
+precision of /@step@/.
+
+Note that the way in which the precision is derived works best if /@step@/
+is a power of ten. If the resulting precision is not suitable for your
+needs, use 'GI.Gtk.Objects.SpinButton.spinButtonSetDigits' to correct it.
+-}
+spinButtonNewWithRange ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Double
+    {- ^ /@min@/: Minimum allowable value -}
+    -> Double
+    {- ^ /@max@/: Maximum allowable value -}
+    -> Double
+    {- ^ /@step@/: Increment added or subtracted by spinning the widget -}
+    -> m SpinButton
+    {- ^ __Returns:__ The new spin button as a 'GI.Gtk.Objects.Widget.Widget' -}
+spinButtonNewWithRange min max step = liftIO $ do
+    let min' = realToFrac min
+    let max' = realToFrac max
+    let step' = realToFrac step
+    result <- gtk_spin_button_new_with_range min' max' step'
+    checkUnexpectedReturnNULL "spinButtonNewWithRange" result
+    result' <- (newObject SpinButton) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SpinButton::configure
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment to replace the spin button\8217s\n    existing adjustment, or %NULL to leave its current adjustment unchanged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "climb_rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new climb rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "digits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of decimal places to display in the spin button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_configure" gtk_spin_button_configure :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    CDouble ->                              -- climb_rate : TBasicType TDouble
+    Word32 ->                               -- digits : TBasicType TUInt
+    IO ()
+
+{- |
+Changes the properties of an existing spin button. The adjustment,
+climb rate, and number of decimal places are updated accordingly.
+-}
+spinButtonConfigure ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Maybe (b)
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' to replace the spin button’s
+    existing adjustment, or 'Nothing' to leave its current adjustment unchanged -}
+    -> Double
+    {- ^ /@climbRate@/: the new climb rate -}
+    -> Word32
+    {- ^ /@digits@/: the number of decimal places to display in the spin button -}
+    -> m ()
+spinButtonConfigure spinButton adjustment climbRate digits = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    let climbRate' = realToFrac climbRate
+    gtk_spin_button_configure spinButton' maybeAdjustment climbRate' digits
+    touchManagedPtr spinButton
+    whenJust adjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonConfigureMethodInfo
+instance (signature ~ (Maybe (b) -> Double -> Word32 -> m ()), MonadIO m, IsSpinButton a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo SpinButtonConfigureMethodInfo a signature where
+    overloadedMethod _ = spinButtonConfigure
+
+#endif
+
+-- method SpinButton::get_adjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_adjustment" gtk_spin_button_get_adjustment :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{- |
+Get the adjustment associated with a 'GI.Gtk.Objects.SpinButton.SpinButton'
+-}
+spinButtonGetAdjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.Adjustment.Adjustment' of /@spinButton@/ -}
+spinButtonGetAdjustment spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    result <- gtk_spin_button_get_adjustment spinButton'
+    checkUnexpectedReturnNULL "spinButtonGetAdjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr spinButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetAdjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetAdjustmentMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetAdjustment
+
+#endif
+
+-- method SpinButton::get_digits
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_digits" gtk_spin_button_get_digits :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    IO Word32
+
+{- |
+Fetches the precision of /@spinButton@/. See 'GI.Gtk.Objects.SpinButton.spinButtonSetDigits'.
+-}
+spinButtonGetDigits ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m Word32
+    {- ^ __Returns:__ the current precision -}
+spinButtonGetDigits spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    result <- gtk_spin_button_get_digits spinButton'
+    touchManagedPtr spinButton
+    return result
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetDigitsMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetDigitsMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetDigits
+
+#endif
+
+-- method SpinButton::get_increments
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store step increment, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "page", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store page increment, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_increments" gtk_spin_button_get_increments :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    Ptr CDouble ->                          -- step : TBasicType TDouble
+    Ptr CDouble ->                          -- page : TBasicType TDouble
+    IO ()
+
+{- |
+Gets the current step and page the increments used by /@spinButton@/. See
+'GI.Gtk.Objects.SpinButton.spinButtonSetIncrements'.
+-}
+spinButtonGetIncrements ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m ((Double, Double))
+spinButtonGetIncrements spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    step <- allocMem :: IO (Ptr CDouble)
+    page <- allocMem :: IO (Ptr CDouble)
+    gtk_spin_button_get_increments spinButton' step page
+    step' <- peek step
+    let step'' = realToFrac step'
+    page' <- peek page
+    let page'' = realToFrac page'
+    touchManagedPtr spinButton
+    freeMem step
+    freeMem page
+    return (step'', page'')
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetIncrementsMethodInfo
+instance (signature ~ (m ((Double, Double))), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetIncrementsMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetIncrements
+
+#endif
+
+-- method SpinButton::get_numeric
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_numeric" gtk_spin_button_get_numeric :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    IO CInt
+
+{- |
+Returns whether non-numeric text can be typed into the spin button.
+See 'GI.Gtk.Objects.SpinButton.spinButtonSetNumeric'.
+-}
+spinButtonGetNumeric ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if only numeric text can be entered -}
+spinButtonGetNumeric spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    result <- gtk_spin_button_get_numeric spinButton'
+    let result' = (/= 0) result
+    touchManagedPtr spinButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetNumericMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetNumericMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetNumeric
+
+#endif
+
+-- method SpinButton::get_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store minimum allowed value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "max", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store maximum allowed value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_range" gtk_spin_button_get_range :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    Ptr CDouble ->                          -- min : TBasicType TDouble
+    Ptr CDouble ->                          -- max : TBasicType TDouble
+    IO ()
+
+{- |
+Gets the range allowed for /@spinButton@/.
+See 'GI.Gtk.Objects.SpinButton.spinButtonSetRange'.
+-}
+spinButtonGetRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m ((Double, Double))
+spinButtonGetRange spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    min <- allocMem :: IO (Ptr CDouble)
+    max <- allocMem :: IO (Ptr CDouble)
+    gtk_spin_button_get_range spinButton' min max
+    min' <- peek min
+    let min'' = realToFrac min'
+    max' <- peek max
+    let max'' = realToFrac max'
+    touchManagedPtr spinButton
+    freeMem min
+    freeMem max
+    return (min'', max'')
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetRangeMethodInfo
+instance (signature ~ (m ((Double, Double))), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetRangeMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetRange
+
+#endif
+
+-- method SpinButton::get_snap_to_ticks
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_snap_to_ticks" gtk_spin_button_get_snap_to_ticks :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    IO CInt
+
+{- |
+Returns whether the values are corrected to the nearest step.
+See 'GI.Gtk.Objects.SpinButton.spinButtonSetSnapToTicks'.
+-}
+spinButtonGetSnapToTicks ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if values are snapped to the nearest step -}
+spinButtonGetSnapToTicks spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    result <- gtk_spin_button_get_snap_to_ticks spinButton'
+    let result' = (/= 0) result
+    touchManagedPtr spinButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetSnapToTicksMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetSnapToTicksMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetSnapToTicks
+
+#endif
+
+-- method SpinButton::get_update_policy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SpinButtonUpdatePolicy"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_update_policy" gtk_spin_button_get_update_policy :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    IO CUInt
+
+{- |
+Gets the update behavior of a spin button.
+See 'GI.Gtk.Objects.SpinButton.spinButtonSetUpdatePolicy'.
+-}
+spinButtonGetUpdatePolicy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m Gtk.Enums.SpinButtonUpdatePolicy
+    {- ^ __Returns:__ the current update policy -}
+spinButtonGetUpdatePolicy spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    result <- gtk_spin_button_get_update_policy spinButton'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr spinButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetUpdatePolicyMethodInfo
+instance (signature ~ (m Gtk.Enums.SpinButtonUpdatePolicy), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetUpdatePolicyMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetUpdatePolicy
+
+#endif
+
+-- method SpinButton::get_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_value" gtk_spin_button_get_value :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    IO CDouble
+
+{- |
+Get the value in the /@spinButton@/.
+-}
+spinButtonGetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m Double
+    {- ^ __Returns:__ the value of /@spinButton@/ -}
+spinButtonGetValue spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    result <- gtk_spin_button_get_value spinButton'
+    let result' = realToFrac result
+    touchManagedPtr spinButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetValueMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetValueMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetValue
+
+#endif
+
+-- method SpinButton::get_value_as_int
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_value_as_int" gtk_spin_button_get_value_as_int :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    IO Int32
+
+{- |
+Get the value /@spinButton@/ represented as an integer.
+-}
+spinButtonGetValueAsInt ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m Int32
+    {- ^ __Returns:__ the value of /@spinButton@/ -}
+spinButtonGetValueAsInt spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    result <- gtk_spin_button_get_value_as_int spinButton'
+    touchManagedPtr spinButton
+    return result
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetValueAsIntMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetValueAsIntMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetValueAsInt
+
+#endif
+
+-- method SpinButton::get_wrap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_get_wrap" gtk_spin_button_get_wrap :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    IO CInt
+
+{- |
+Returns whether the spin button’s value wraps around to the
+opposite limit when the upper or lower limit of the range is
+exceeded. See 'GI.Gtk.Objects.SpinButton.spinButtonSetWrap'.
+-}
+spinButtonGetWrap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the spin button wraps around -}
+spinButtonGetWrap spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    result <- gtk_spin_button_get_wrap spinButton'
+    let result' = (/= 0) result
+    touchManagedPtr spinButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data SpinButtonGetWrapMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonGetWrapMethodInfo a signature where
+    overloadedMethod _ = spinButtonGetWrap
+
+#endif
+
+-- method SpinButton::set_adjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment to replace the existing adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_set_adjustment" gtk_spin_button_set_adjustment :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{- |
+Replaces the 'GI.Gtk.Objects.Adjustment.Adjustment' associated with /@spinButton@/.
+-}
+spinButtonSetAdjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> b
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment' to replace the existing adjustment -}
+    -> m ()
+spinButtonSetAdjustment spinButton adjustment = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    gtk_spin_button_set_adjustment spinButton' adjustment'
+    touchManagedPtr spinButton
+    touchManagedPtr adjustment
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSetAdjustmentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsSpinButton a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo SpinButtonSetAdjustmentMethodInfo a signature where
+    overloadedMethod _ = spinButtonSetAdjustment
+
+#endif
+
+-- method SpinButton::set_digits
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "digits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of digits after the decimal point to be displayed for the spin button\8217s value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_set_digits" gtk_spin_button_set_digits :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    Word32 ->                               -- digits : TBasicType TUInt
+    IO ()
+
+{- |
+Set the precision to be displayed by /@spinButton@/. Up to 20 digit precision
+is allowed.
+-}
+spinButtonSetDigits ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Word32
+    {- ^ /@digits@/: the number of digits after the decimal point to be displayed for the spin button’s value -}
+    -> m ()
+spinButtonSetDigits spinButton digits = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    gtk_spin_button_set_digits spinButton' digits
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSetDigitsMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonSetDigitsMethodInfo a signature where
+    overloadedMethod _ = spinButtonSetDigits
+
+#endif
+
+-- method SpinButton::set_increments
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "increment applied for a button 1 press.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "page", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "increment applied for a button 2 press.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_set_increments" gtk_spin_button_set_increments :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    CDouble ->                              -- step : TBasicType TDouble
+    CDouble ->                              -- page : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the step and page increments for spin_button.  This affects how
+quickly the value changes when the spin button’s arrows are activated.
+-}
+spinButtonSetIncrements ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Double
+    {- ^ /@step@/: increment applied for a button 1 press. -}
+    -> Double
+    {- ^ /@page@/: increment applied for a button 2 press. -}
+    -> m ()
+spinButtonSetIncrements spinButton step page = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    let step' = realToFrac step
+    let page' = realToFrac page
+    gtk_spin_button_set_increments spinButton' step' page'
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSetIncrementsMethodInfo
+instance (signature ~ (Double -> Double -> m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonSetIncrementsMethodInfo a signature where
+    overloadedMethod _ = spinButtonSetIncrements
+
+#endif
+
+-- method SpinButton::set_numeric
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "numeric", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flag indicating if only numeric entry is allowed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_set_numeric" gtk_spin_button_set_numeric :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    CInt ->                                 -- numeric : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the flag that determines if non-numeric text can be typed
+into the spin button.
+-}
+spinButtonSetNumeric ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Bool
+    {- ^ /@numeric@/: flag indicating if only numeric entry is allowed -}
+    -> m ()
+spinButtonSetNumeric spinButton numeric = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    let numeric' = (fromIntegral . fromEnum) numeric
+    gtk_spin_button_set_numeric spinButton' numeric'
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSetNumericMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonSetNumericMethodInfo a signature where
+    overloadedMethod _ = spinButtonSetNumeric
+
+#endif
+
+-- method SpinButton::set_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum allowable value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum allowable value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_set_range" gtk_spin_button_set_range :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    CDouble ->                              -- min : TBasicType TDouble
+    CDouble ->                              -- max : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the minimum and maximum allowable values for /@spinButton@/.
+
+If the current value is outside this range, it will be adjusted
+to fit within the range, otherwise it will remain unchanged.
+-}
+spinButtonSetRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Double
+    {- ^ /@min@/: minimum allowable value -}
+    -> Double
+    {- ^ /@max@/: maximum allowable value -}
+    -> m ()
+spinButtonSetRange spinButton min max = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    let min' = realToFrac min
+    let max' = realToFrac max
+    gtk_spin_button_set_range spinButton' min' max'
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSetRangeMethodInfo
+instance (signature ~ (Double -> Double -> m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonSetRangeMethodInfo a signature where
+    overloadedMethod _ = spinButtonSetRange
+
+#endif
+
+-- method SpinButton::set_snap_to_ticks
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "snap_to_ticks", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a flag indicating if invalid values should be corrected", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_set_snap_to_ticks" gtk_spin_button_set_snap_to_ticks :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    CInt ->                                 -- snap_to_ticks : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the policy as to whether values are corrected to the
+nearest step increment when a spin button is activated after
+providing an invalid value.
+-}
+spinButtonSetSnapToTicks ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Bool
+    {- ^ /@snapToTicks@/: a flag indicating if invalid values should be corrected -}
+    -> m ()
+spinButtonSetSnapToTicks spinButton snapToTicks = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    let snapToTicks' = (fromIntegral . fromEnum) snapToTicks
+    gtk_spin_button_set_snap_to_ticks spinButton' snapToTicks'
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSetSnapToTicksMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonSetSnapToTicksMethodInfo a signature where
+    overloadedMethod _ = spinButtonSetSnapToTicks
+
+#endif
+
+-- method SpinButton::set_update_policy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "policy", argType = TInterface (Name {namespace = "Gtk", name = "SpinButtonUpdatePolicy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButtonUpdatePolicy value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_set_update_policy" gtk_spin_button_set_update_policy :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    CUInt ->                                -- policy : TInterface (Name {namespace = "Gtk", name = "SpinButtonUpdatePolicy"})
+    IO ()
+
+{- |
+Sets the update behavior of a spin button.
+This determines whether the spin button is always updated
+or only when a valid value is set.
+-}
+spinButtonSetUpdatePolicy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Gtk.Enums.SpinButtonUpdatePolicy
+    {- ^ /@policy@/: a 'GI.Gtk.Enums.SpinButtonUpdatePolicy' value -}
+    -> m ()
+spinButtonSetUpdatePolicy spinButton policy = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    let policy' = (fromIntegral . fromEnum) policy
+    gtk_spin_button_set_update_policy spinButton' policy'
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSetUpdatePolicyMethodInfo
+instance (signature ~ (Gtk.Enums.SpinButtonUpdatePolicy -> m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonSetUpdatePolicyMethodInfo a signature where
+    overloadedMethod _ = spinButtonSetUpdatePolicy
+
+#endif
+
+-- method SpinButton::set_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_set_value" gtk_spin_button_set_value :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    CDouble ->                              -- value : TBasicType TDouble
+    IO ()
+
+{- |
+Sets the value of /@spinButton@/.
+-}
+spinButtonSetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Double
+    {- ^ /@value@/: the new value -}
+    -> m ()
+spinButtonSetValue spinButton value = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    let value' = realToFrac value
+    gtk_spin_button_set_value spinButton' value'
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSetValueMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonSetValueMethodInfo a signature where
+    overloadedMethod _ = spinButtonSetValue
+
+#endif
+
+-- method SpinButton::set_wrap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wrap", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a flag indicating if wrapping behavior is performed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_set_wrap" gtk_spin_button_set_wrap :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    CInt ->                                 -- wrap : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the flag that determines if a spin button value wraps
+around to the opposite limit when the upper or lower limit
+of the range is exceeded.
+-}
+spinButtonSetWrap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Bool
+    {- ^ /@wrap@/: a flag indicating if wrapping behavior is performed -}
+    -> m ()
+spinButtonSetWrap spinButton wrap = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    let wrap' = (fromIntegral . fromEnum) wrap
+    gtk_spin_button_set_wrap spinButton' wrap'
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSetWrapMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonSetWrapMethodInfo a signature where
+    overloadedMethod _ = spinButtonSetWrap
+
+#endif
+
+-- method SpinButton::spin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "SpinType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinType indicating the direction to spin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "increment", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "step increment to apply in the specified direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_spin" gtk_spin_button_spin :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "SpinType"})
+    CDouble ->                              -- increment : TBasicType TDouble
+    IO ()
+
+{- |
+Increment or decrement a spin button’s value in a specified
+direction by a specified amount.
+-}
+spinButtonSpin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> Gtk.Enums.SpinType
+    {- ^ /@direction@/: a 'GI.Gtk.Enums.SpinType' indicating the direction to spin -}
+    -> Double
+    {- ^ /@increment@/: step increment to apply in the specified direction -}
+    -> m ()
+spinButtonSpin spinButton direction increment = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    let direction' = (fromIntegral . fromEnum) direction
+    let increment' = realToFrac increment
+    gtk_spin_button_spin spinButton' direction' increment'
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonSpinMethodInfo
+instance (signature ~ (Gtk.Enums.SpinType -> Double -> m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonSpinMethodInfo a signature where
+    overloadedMethod _ = spinButtonSpin
+
+#endif
+
+-- method SpinButton::update
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spin_button", argType = TInterface (Name {namespace = "Gtk", name = "SpinButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spin_button_update" gtk_spin_button_update :: 
+    Ptr SpinButton ->                       -- spin_button : TInterface (Name {namespace = "Gtk", name = "SpinButton"})
+    IO ()
+
+{- |
+Manually force an update of the spin button.
+-}
+spinButtonUpdate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinButton a) =>
+    a
+    {- ^ /@spinButton@/: a 'GI.Gtk.Objects.SpinButton.SpinButton' -}
+    -> m ()
+spinButtonUpdate spinButton = liftIO $ do
+    spinButton' <- unsafeManagedPtrCastPtr spinButton
+    gtk_spin_button_update spinButton'
+    touchManagedPtr spinButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinButtonUpdateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsSpinButton a) => O.MethodInfo SpinButtonUpdateMethodInfo a signature where
+    overloadedMethod _ = spinButtonUpdate
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/SpinButton.hs-boot b/GI/Gtk/Objects/SpinButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SpinButton.hs-boot
@@ -0,0 +1,134 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.SpinButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SpinButton = SpinButton (ManagedPtr SpinButton)
+instance GObject SpinButton where
+class (GObject o, O.IsDescendantOf SpinButton o) => IsSpinButton o
+instance (GObject o, O.IsDescendantOf SpinButton o) => IsSpinButton o
+instance O.HasParentTypes SpinButton
+#if ENABLE_OVERLOADING
+data SpinButtonAdjustmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonClimbRatePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonDigitsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonNumericPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSnapToTicksPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonUpdatePolicyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonValuePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonWrapPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonChangeValueSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonInputSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonOutputSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonValueChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonWrappedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonConfigureMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetAdjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetDigitsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetIncrementsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetNumericMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetSnapToTicksMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetUpdatePolicyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetValueAsIntMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonGetWrapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSetAdjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSetDigitsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSetIncrementsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSetNumericMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSetRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSetSnapToTicksMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSetUpdatePolicyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSetWrapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonSpinMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinButtonUpdateMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/SpinButtonAccessible.hs b/GI/Gtk/Objects/SpinButtonAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SpinButtonAccessible.hs
@@ -0,0 +1,212 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.SpinButtonAccessible
+    ( 
+
+-- * Exported types
+    SpinButtonAccessible(..)                ,
+    IsSpinButtonAccessible                  ,
+    toSpinButtonAccessible                  ,
+    noSpinButtonAccessible                  ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.EditableText as Atk.EditableText
+import qualified GI.Atk.Interfaces.Text as Atk.Text
+import qualified GI.Atk.Interfaces.Value as Atk.Value
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.EntryAccessible as Gtk.EntryAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype SpinButtonAccessible = SpinButtonAccessible (ManagedPtr SpinButtonAccessible)
+foreign import ccall "gtk_spin_button_accessible_get_type"
+    c_gtk_spin_button_accessible_get_type :: IO GType
+
+instance GObject SpinButtonAccessible where
+    gobjectType = c_gtk_spin_button_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `SpinButtonAccessible`, for instance with `toSpinButtonAccessible`.
+class (GObject o, O.IsDescendantOf SpinButtonAccessible o) => IsSpinButtonAccessible o
+instance (GObject o, O.IsDescendantOf SpinButtonAccessible o) => IsSpinButtonAccessible o
+
+instance O.HasParentTypes SpinButtonAccessible
+type instance O.ParentTypes SpinButtonAccessible = '[Gtk.EntryAccessible.EntryAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.EditableText.EditableText, Atk.Text.Text, Atk.Value.Value]
+
+-- | Cast to `SpinButtonAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSpinButtonAccessible :: (MonadIO m, IsSpinButtonAccessible o) => o -> m SpinButtonAccessible
+toSpinButtonAccessible = liftIO . unsafeCastTo SpinButtonAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SpinButtonAccessible`.
+noSpinButtonAccessible :: Maybe SpinButtonAccessible
+noSpinButtonAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSpinButtonAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSpinButtonAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveSpinButtonAccessibleMethod "addSelection" o = Atk.Text.TextAddSelectionMethodInfo
+    ResolveSpinButtonAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSpinButtonAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSpinButtonAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveSpinButtonAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveSpinButtonAccessibleMethod "copyText" o = Atk.EditableText.EditableTextCopyTextMethodInfo
+    ResolveSpinButtonAccessibleMethod "cutText" o = Atk.EditableText.EditableTextCutTextMethodInfo
+    ResolveSpinButtonAccessibleMethod "deleteText" o = Atk.EditableText.EditableTextDeleteTextMethodInfo
+    ResolveSpinButtonAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveSpinButtonAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSpinButtonAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSpinButtonAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSpinButtonAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveSpinButtonAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveSpinButtonAccessibleMethod "insertText" o = Atk.EditableText.EditableTextInsertTextMethodInfo
+    ResolveSpinButtonAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSpinButtonAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSpinButtonAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSpinButtonAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveSpinButtonAccessibleMethod "pasteText" o = Atk.EditableText.EditableTextPasteTextMethodInfo
+    ResolveSpinButtonAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveSpinButtonAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSpinButtonAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveSpinButtonAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveSpinButtonAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveSpinButtonAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSpinButtonAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveSpinButtonAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveSpinButtonAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveSpinButtonAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveSpinButtonAccessibleMethod "removeSelection" o = Atk.Text.TextRemoveSelectionMethodInfo
+    ResolveSpinButtonAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSpinButtonAccessibleMethod "scrollSubstringTo" o = Atk.Text.TextScrollSubstringToMethodInfo
+    ResolveSpinButtonAccessibleMethod "scrollSubstringToPoint" o = Atk.Text.TextScrollSubstringToPointMethodInfo
+    ResolveSpinButtonAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveSpinButtonAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveSpinButtonAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSpinButtonAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSpinButtonAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSpinButtonAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSpinButtonAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSpinButtonAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveSpinButtonAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveSpinButtonAccessibleMethod "getBoundedRanges" o = Atk.Text.TextGetBoundedRangesMethodInfo
+    ResolveSpinButtonAccessibleMethod "getCaretOffset" o = Atk.Text.TextGetCaretOffsetMethodInfo
+    ResolveSpinButtonAccessibleMethod "getCharacterAtOffset" o = Atk.Text.TextGetCharacterAtOffsetMethodInfo
+    ResolveSpinButtonAccessibleMethod "getCharacterCount" o = Atk.Text.TextGetCharacterCountMethodInfo
+    ResolveSpinButtonAccessibleMethod "getCharacterExtents" o = Atk.Text.TextGetCharacterExtentsMethodInfo
+    ResolveSpinButtonAccessibleMethod "getCurrentValue" o = Atk.Value.ValueGetCurrentValueMethodInfo
+    ResolveSpinButtonAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSpinButtonAccessibleMethod "getDefaultAttributes" o = Atk.Text.TextGetDefaultAttributesMethodInfo
+    ResolveSpinButtonAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveSpinButtonAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveSpinButtonAccessibleMethod "getIncrement" o = Atk.Value.ValueGetIncrementMethodInfo
+    ResolveSpinButtonAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveSpinButtonAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveSpinButtonAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveSpinButtonAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveSpinButtonAccessibleMethod "getMaximumValue" o = Atk.Value.ValueGetMaximumValueMethodInfo
+    ResolveSpinButtonAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveSpinButtonAccessibleMethod "getMinimumIncrement" o = Atk.Value.ValueGetMinimumIncrementMethodInfo
+    ResolveSpinButtonAccessibleMethod "getMinimumValue" o = Atk.Value.ValueGetMinimumValueMethodInfo
+    ResolveSpinButtonAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveSpinButtonAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveSpinButtonAccessibleMethod "getNSelections" o = Atk.Text.TextGetNSelectionsMethodInfo
+    ResolveSpinButtonAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveSpinButtonAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveSpinButtonAccessibleMethod "getOffsetAtPoint" o = Atk.Text.TextGetOffsetAtPointMethodInfo
+    ResolveSpinButtonAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveSpinButtonAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveSpinButtonAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSpinButtonAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSpinButtonAccessibleMethod "getRange" o = Atk.Value.ValueGetRangeMethodInfo
+    ResolveSpinButtonAccessibleMethod "getRangeExtents" o = Atk.Text.TextGetRangeExtentsMethodInfo
+    ResolveSpinButtonAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveSpinButtonAccessibleMethod "getRunAttributes" o = Atk.Text.TextGetRunAttributesMethodInfo
+    ResolveSpinButtonAccessibleMethod "getSelection" o = Atk.Text.TextGetSelectionMethodInfo
+    ResolveSpinButtonAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveSpinButtonAccessibleMethod "getStringAtOffset" o = Atk.Text.TextGetStringAtOffsetMethodInfo
+    ResolveSpinButtonAccessibleMethod "getSubRanges" o = Atk.Value.ValueGetSubRangesMethodInfo
+    ResolveSpinButtonAccessibleMethod "getText" o = Atk.Text.TextGetTextMethodInfo
+    ResolveSpinButtonAccessibleMethod "getTextAfterOffset" o = Atk.Text.TextGetTextAfterOffsetMethodInfo
+    ResolveSpinButtonAccessibleMethod "getTextAtOffset" o = Atk.Text.TextGetTextAtOffsetMethodInfo
+    ResolveSpinButtonAccessibleMethod "getTextBeforeOffset" o = Atk.Text.TextGetTextBeforeOffsetMethodInfo
+    ResolveSpinButtonAccessibleMethod "getValueAndText" o = Atk.Value.ValueGetValueAndTextMethodInfo
+    ResolveSpinButtonAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveSpinButtonAccessibleMethod "setCaretOffset" o = Atk.Text.TextSetCaretOffsetMethodInfo
+    ResolveSpinButtonAccessibleMethod "setCurrentValue" o = Atk.Value.ValueSetCurrentValueMethodInfo
+    ResolveSpinButtonAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSpinButtonAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveSpinButtonAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveSpinButtonAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveSpinButtonAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveSpinButtonAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveSpinButtonAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSpinButtonAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveSpinButtonAccessibleMethod "setRunAttributes" o = Atk.EditableText.EditableTextSetRunAttributesMethodInfo
+    ResolveSpinButtonAccessibleMethod "setSelection" o = Atk.Text.TextSetSelectionMethodInfo
+    ResolveSpinButtonAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveSpinButtonAccessibleMethod "setTextContents" o = Atk.EditableText.EditableTextSetTextContentsMethodInfo
+    ResolveSpinButtonAccessibleMethod "setValue" o = Atk.Value.ValueSetValueMethodInfo
+    ResolveSpinButtonAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveSpinButtonAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSpinButtonAccessibleMethod t SpinButtonAccessible, O.MethodInfo info SpinButtonAccessible p) => OL.IsLabel t (SpinButtonAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SpinButtonAccessible
+type instance O.AttributeList SpinButtonAccessible = SpinButtonAccessibleAttributeList
+type SpinButtonAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList SpinButtonAccessible = SpinButtonAccessibleSignalList
+type SpinButtonAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("textAttributesChanged", Atk.Text.TextTextAttributesChangedSignalInfo), '("textCaretMoved", Atk.Text.TextTextCaretMovedSignalInfo), '("textChanged", Atk.Text.TextTextChangedSignalInfo), '("textInsert", Atk.Text.TextTextInsertSignalInfo), '("textRemove", Atk.Text.TextTextRemoveSignalInfo), '("textSelectionChanged", Atk.Text.TextTextSelectionChangedSignalInfo), '("valueChanged", Atk.Value.ValueValueChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/SpinButtonAccessible.hs-boot b/GI/Gtk/Objects/SpinButtonAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SpinButtonAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.SpinButtonAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SpinButtonAccessible = SpinButtonAccessible (ManagedPtr SpinButtonAccessible)
+instance GObject SpinButtonAccessible where
+class (GObject o, O.IsDescendantOf SpinButtonAccessible o) => IsSpinButtonAccessible o
+instance (GObject o, O.IsDescendantOf SpinButtonAccessible o) => IsSpinButtonAccessible o
+instance O.HasParentTypes SpinButtonAccessible
diff --git a/GI/Gtk/Objects/Spinner.hs b/GI/Gtk/Objects/Spinner.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Spinner.hs
@@ -0,0 +1,596 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkSpinner widget displays an icon-size spinning animation.
+It is often used as an alternative to a 'GI.Gtk.Objects.ProgressBar.ProgressBar' for
+displaying indefinite activity, instead of actual progress.
+
+To start the animation, use 'GI.Gtk.Objects.Spinner.spinnerStart', to stop it
+use 'GI.Gtk.Objects.Spinner.spinnerStop'.
+
+= CSS nodes
+
+GtkSpinner has a single CSS node with the name spinner. When the animation is
+active, the :checked pseudoclass is added to this node.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Spinner
+    ( 
+
+-- * Exported types
+    Spinner(..)                             ,
+    IsSpinner                               ,
+    toSpinner                               ,
+    noSpinner                               ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    spinnerNew                              ,
+
+
+-- ** start #method:start#
+
+#if ENABLE_OVERLOADING
+    SpinnerStartMethodInfo                  ,
+#endif
+    spinnerStart                            ,
+
+
+-- ** stop #method:stop#
+
+#if ENABLE_OVERLOADING
+    SpinnerStopMethodInfo                   ,
+#endif
+    spinnerStop                             ,
+
+
+
+
+ -- * Properties
+-- ** active #attr:active#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    SpinnerActivePropertyInfo               ,
+#endif
+    constructSpinnerActive                  ,
+    getSpinnerActive                        ,
+    setSpinnerActive                        ,
+#if ENABLE_OVERLOADING
+    spinnerActive                           ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Spinner = Spinner (ManagedPtr Spinner)
+foreign import ccall "gtk_spinner_get_type"
+    c_gtk_spinner_get_type :: IO GType
+
+instance GObject Spinner where
+    gobjectType = c_gtk_spinner_get_type
+    
+
+-- | Type class for types which can be safely cast to `Spinner`, for instance with `toSpinner`.
+class (GObject o, O.IsDescendantOf Spinner o) => IsSpinner o
+instance (GObject o, O.IsDescendantOf Spinner o) => IsSpinner o
+
+instance O.HasParentTypes Spinner
+type instance O.ParentTypes Spinner = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Spinner`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSpinner :: (MonadIO m, IsSpinner o) => o -> m Spinner
+toSpinner = liftIO . unsafeCastTo Spinner
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Spinner`.
+noSpinner :: Maybe Spinner
+noSpinner = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSpinnerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSpinnerMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveSpinnerMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveSpinnerMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSpinnerMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveSpinnerMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveSpinnerMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveSpinnerMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveSpinnerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSpinnerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSpinnerMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveSpinnerMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveSpinnerMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveSpinnerMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveSpinnerMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveSpinnerMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSpinnerMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveSpinnerMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveSpinnerMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSpinnerMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSpinnerMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSpinnerMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveSpinnerMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveSpinnerMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveSpinnerMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveSpinnerMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveSpinnerMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveSpinnerMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveSpinnerMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveSpinnerMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveSpinnerMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveSpinnerMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveSpinnerMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveSpinnerMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveSpinnerMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveSpinnerMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveSpinnerMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveSpinnerMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveSpinnerMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveSpinnerMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveSpinnerMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveSpinnerMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveSpinnerMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveSpinnerMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveSpinnerMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveSpinnerMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveSpinnerMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveSpinnerMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveSpinnerMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveSpinnerMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveSpinnerMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveSpinnerMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveSpinnerMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveSpinnerMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveSpinnerMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveSpinnerMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveSpinnerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSpinnerMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveSpinnerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSpinnerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSpinnerMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveSpinnerMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveSpinnerMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveSpinnerMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveSpinnerMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveSpinnerMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveSpinnerMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveSpinnerMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveSpinnerMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveSpinnerMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveSpinnerMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveSpinnerMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveSpinnerMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveSpinnerMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveSpinnerMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveSpinnerMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveSpinnerMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveSpinnerMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveSpinnerMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveSpinnerMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveSpinnerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSpinnerMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveSpinnerMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveSpinnerMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveSpinnerMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveSpinnerMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveSpinnerMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveSpinnerMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveSpinnerMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveSpinnerMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveSpinnerMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveSpinnerMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveSpinnerMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveSpinnerMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveSpinnerMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveSpinnerMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveSpinnerMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveSpinnerMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveSpinnerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSpinnerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSpinnerMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveSpinnerMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveSpinnerMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveSpinnerMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveSpinnerMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveSpinnerMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSpinnerMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveSpinnerMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveSpinnerMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveSpinnerMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveSpinnerMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveSpinnerMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveSpinnerMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveSpinnerMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveSpinnerMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveSpinnerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSpinnerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSpinnerMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveSpinnerMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveSpinnerMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveSpinnerMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveSpinnerMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveSpinnerMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveSpinnerMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveSpinnerMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveSpinnerMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveSpinnerMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveSpinnerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSpinnerMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveSpinnerMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveSpinnerMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveSpinnerMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveSpinnerMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveSpinnerMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveSpinnerMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveSpinnerMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveSpinnerMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveSpinnerMethod "start" o = SpinnerStartMethodInfo
+    ResolveSpinnerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSpinnerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSpinnerMethod "stop" o = SpinnerStopMethodInfo
+    ResolveSpinnerMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveSpinnerMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveSpinnerMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveSpinnerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSpinnerMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveSpinnerMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveSpinnerMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveSpinnerMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveSpinnerMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveSpinnerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSpinnerMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveSpinnerMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveSpinnerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSpinnerMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveSpinnerMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveSpinnerMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveSpinnerMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveSpinnerMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveSpinnerMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveSpinnerMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveSpinnerMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveSpinnerMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveSpinnerMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveSpinnerMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveSpinnerMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveSpinnerMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveSpinnerMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveSpinnerMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveSpinnerMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveSpinnerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSpinnerMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveSpinnerMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveSpinnerMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveSpinnerMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveSpinnerMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveSpinnerMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveSpinnerMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveSpinnerMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveSpinnerMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveSpinnerMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveSpinnerMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveSpinnerMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveSpinnerMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveSpinnerMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveSpinnerMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveSpinnerMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSpinnerMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveSpinnerMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveSpinnerMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveSpinnerMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveSpinnerMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveSpinnerMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveSpinnerMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveSpinnerMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveSpinnerMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveSpinnerMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveSpinnerMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveSpinnerMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveSpinnerMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveSpinnerMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveSpinnerMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveSpinnerMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveSpinnerMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveSpinnerMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveSpinnerMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveSpinnerMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveSpinnerMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveSpinnerMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveSpinnerMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveSpinnerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSpinnerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSpinnerMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveSpinnerMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveSpinnerMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveSpinnerMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveSpinnerMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveSpinnerMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveSpinnerMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveSpinnerMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveSpinnerMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveSpinnerMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveSpinnerMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveSpinnerMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveSpinnerMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveSpinnerMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveSpinnerMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveSpinnerMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveSpinnerMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveSpinnerMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveSpinnerMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveSpinnerMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveSpinnerMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveSpinnerMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveSpinnerMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveSpinnerMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveSpinnerMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveSpinnerMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveSpinnerMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveSpinnerMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveSpinnerMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveSpinnerMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveSpinnerMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSpinnerMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveSpinnerMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveSpinnerMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveSpinnerMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveSpinnerMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveSpinnerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSpinnerMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveSpinnerMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveSpinnerMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveSpinnerMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveSpinnerMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveSpinnerMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveSpinnerMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveSpinnerMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveSpinnerMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveSpinnerMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveSpinnerMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveSpinnerMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveSpinnerMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveSpinnerMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveSpinnerMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveSpinnerMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveSpinnerMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveSpinnerMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveSpinnerMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveSpinnerMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveSpinnerMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveSpinnerMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveSpinnerMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveSpinnerMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveSpinnerMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveSpinnerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSpinnerMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveSpinnerMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveSpinnerMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveSpinnerMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveSpinnerMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveSpinnerMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveSpinnerMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveSpinnerMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveSpinnerMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveSpinnerMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveSpinnerMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveSpinnerMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveSpinnerMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveSpinnerMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveSpinnerMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveSpinnerMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveSpinnerMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveSpinnerMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveSpinnerMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSpinnerMethod t Spinner, O.MethodInfo info Spinner p) => OL.IsLabel t (Spinner -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' spinner #active
+@
+-}
+getSpinnerActive :: (MonadIO m, IsSpinner o) => o -> m Bool
+getSpinnerActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' spinner [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSpinnerActive :: (MonadIO m, IsSpinner o) => o -> Bool -> m ()
+setSpinnerActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSpinnerActive :: (IsSpinner o) => Bool -> IO (GValueConstruct o)
+constructSpinnerActive val = B.Properties.constructObjectPropertyBool "active" val
+
+#if ENABLE_OVERLOADING
+data SpinnerActivePropertyInfo
+instance AttrInfo SpinnerActivePropertyInfo where
+    type AttrAllowedOps SpinnerActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SpinnerActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SpinnerActivePropertyInfo = IsSpinner
+    type AttrGetType SpinnerActivePropertyInfo = Bool
+    type AttrLabel SpinnerActivePropertyInfo = "active"
+    type AttrOrigin SpinnerActivePropertyInfo = Spinner
+    attrGet _ = getSpinnerActive
+    attrSet _ = setSpinnerActive
+    attrConstruct _ = constructSpinnerActive
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Spinner
+type instance O.AttributeList Spinner = SpinnerAttributeList
+type SpinnerAttributeList = ('[ '("active", SpinnerActivePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+spinnerActive :: AttrLabelProxy "active"
+spinnerActive = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Spinner = SpinnerSignalList
+type SpinnerSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Spinner::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Spinner"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spinner_new" gtk_spinner_new :: 
+    IO (Ptr Spinner)
+
+{- |
+Returns a new spinner widget. Not yet started.
+
+/Since: 2.20/
+-}
+spinnerNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Spinner
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Spinner.Spinner' -}
+spinnerNew  = liftIO $ do
+    result <- gtk_spinner_new
+    checkUnexpectedReturnNULL "spinnerNew" result
+    result' <- (newObject Spinner) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Spinner::start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spinner", argType = TInterface (Name {namespace = "Gtk", name = "Spinner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spinner_start" gtk_spinner_start :: 
+    Ptr Spinner ->                          -- spinner : TInterface (Name {namespace = "Gtk", name = "Spinner"})
+    IO ()
+
+{- |
+Starts the animation of the spinner.
+
+/Since: 2.20/
+-}
+spinnerStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinner a) =>
+    a
+    {- ^ /@spinner@/: a 'GI.Gtk.Objects.Spinner.Spinner' -}
+    -> m ()
+spinnerStart spinner = liftIO $ do
+    spinner' <- unsafeManagedPtrCastPtr spinner
+    gtk_spinner_start spinner'
+    touchManagedPtr spinner
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinnerStartMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsSpinner a) => O.MethodInfo SpinnerStartMethodInfo a signature where
+    overloadedMethod _ = spinnerStart
+
+#endif
+
+-- method Spinner::stop
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "spinner", argType = TInterface (Name {namespace = "Gtk", name = "Spinner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSpinner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_spinner_stop" gtk_spinner_stop :: 
+    Ptr Spinner ->                          -- spinner : TInterface (Name {namespace = "Gtk", name = "Spinner"})
+    IO ()
+
+{- |
+Stops the animation of the spinner.
+
+/Since: 2.20/
+-}
+spinnerStop ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSpinner a) =>
+    a
+    {- ^ /@spinner@/: a 'GI.Gtk.Objects.Spinner.Spinner' -}
+    -> m ()
+spinnerStop spinner = liftIO $ do
+    spinner' <- unsafeManagedPtrCastPtr spinner
+    gtk_spinner_stop spinner'
+    touchManagedPtr spinner
+    return ()
+
+#if ENABLE_OVERLOADING
+data SpinnerStopMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsSpinner a) => O.MethodInfo SpinnerStopMethodInfo a signature where
+    overloadedMethod _ = spinnerStop
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Spinner.hs-boot b/GI/Gtk/Objects/Spinner.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Spinner.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Spinner where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Spinner = Spinner (ManagedPtr Spinner)
+instance GObject Spinner where
+class (GObject o, O.IsDescendantOf Spinner o) => IsSpinner o
+instance (GObject o, O.IsDescendantOf Spinner o) => IsSpinner o
+instance O.HasParentTypes Spinner
+#if ENABLE_OVERLOADING
+data SpinnerActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinnerStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SpinnerStopMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/SpinnerAccessible.hs b/GI/Gtk/Objects/SpinnerAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SpinnerAccessible.hs
@@ -0,0 +1,170 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.SpinnerAccessible
+    ( 
+
+-- * Exported types
+    SpinnerAccessible(..)                   ,
+    IsSpinnerAccessible                     ,
+    toSpinnerAccessible                     ,
+    noSpinnerAccessible                     ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype SpinnerAccessible = SpinnerAccessible (ManagedPtr SpinnerAccessible)
+foreign import ccall "gtk_spinner_accessible_get_type"
+    c_gtk_spinner_accessible_get_type :: IO GType
+
+instance GObject SpinnerAccessible where
+    gobjectType = c_gtk_spinner_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `SpinnerAccessible`, for instance with `toSpinnerAccessible`.
+class (GObject o, O.IsDescendantOf SpinnerAccessible o) => IsSpinnerAccessible o
+instance (GObject o, O.IsDescendantOf SpinnerAccessible o) => IsSpinnerAccessible o
+
+instance O.HasParentTypes SpinnerAccessible
+type instance O.ParentTypes SpinnerAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Image.Image]
+
+-- | Cast to `SpinnerAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSpinnerAccessible :: (MonadIO m, IsSpinnerAccessible o) => o -> m SpinnerAccessible
+toSpinnerAccessible = liftIO . unsafeCastTo SpinnerAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SpinnerAccessible`.
+noSpinnerAccessible :: Maybe SpinnerAccessible
+noSpinnerAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSpinnerAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSpinnerAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveSpinnerAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSpinnerAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSpinnerAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveSpinnerAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveSpinnerAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSpinnerAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSpinnerAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSpinnerAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveSpinnerAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveSpinnerAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSpinnerAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSpinnerAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSpinnerAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveSpinnerAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveSpinnerAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSpinnerAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveSpinnerAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveSpinnerAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveSpinnerAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSpinnerAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveSpinnerAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveSpinnerAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveSpinnerAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveSpinnerAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSpinnerAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveSpinnerAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveSpinnerAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSpinnerAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSpinnerAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSpinnerAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSpinnerAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSpinnerAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveSpinnerAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveSpinnerAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSpinnerAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveSpinnerAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveSpinnerAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveSpinnerAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveSpinnerAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveSpinnerAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveSpinnerAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveSpinnerAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveSpinnerAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveSpinnerAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveSpinnerAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveSpinnerAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveSpinnerAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveSpinnerAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveSpinnerAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSpinnerAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSpinnerAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveSpinnerAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveSpinnerAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveSpinnerAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSpinnerAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveSpinnerAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveSpinnerAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveSpinnerAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveSpinnerAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveSpinnerAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveSpinnerAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSpinnerAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveSpinnerAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveSpinnerAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveSpinnerAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSpinnerAccessibleMethod t SpinnerAccessible, O.MethodInfo info SpinnerAccessible p) => OL.IsLabel t (SpinnerAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SpinnerAccessible
+type instance O.AttributeList SpinnerAccessible = SpinnerAccessibleAttributeList
+type SpinnerAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList SpinnerAccessible = SpinnerAccessibleSignalList
+type SpinnerAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/SpinnerAccessible.hs-boot b/GI/Gtk/Objects/SpinnerAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SpinnerAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.SpinnerAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SpinnerAccessible = SpinnerAccessible (ManagedPtr SpinnerAccessible)
+instance GObject SpinnerAccessible where
+class (GObject o, O.IsDescendantOf SpinnerAccessible o) => IsSpinnerAccessible o
+instance (GObject o, O.IsDescendantOf SpinnerAccessible o) => IsSpinnerAccessible o
+instance O.HasParentTypes SpinnerAccessible
diff --git a/GI/Gtk/Objects/Stack.hs b/GI/Gtk/Objects/Stack.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Stack.hs
@@ -0,0 +1,2129 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The GtkStack widget is a container which only shows
+one of its children at a time. In contrast to GtkNotebook,
+GtkStack does not provide a means for users to change the
+visible child. Instead, the 'GI.Gtk.Objects.StackSwitcher.StackSwitcher' widget can be
+used with GtkStack to provide this functionality.
+
+Transitions between pages can be animated as slides or
+fades. This can be controlled with 'GI.Gtk.Objects.Stack.stackSetTransitionType'.
+These animations respect the 'GI.Gtk.Objects.Settings.Settings':@/gtk-enable-animations/@
+setting.
+
+The GtkStack widget was added in GTK+ 3.10.
+
+= CSS nodes
+
+GtkStack has a single CSS node named stack.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Stack
+    ( 
+
+-- * Exported types
+    Stack(..)                               ,
+    IsStack                                 ,
+    toStack                                 ,
+    noStack                                 ,
+
+
+ -- * Methods
+-- ** addNamed #method:addNamed#
+
+#if ENABLE_OVERLOADING
+    StackAddNamedMethodInfo                 ,
+#endif
+    stackAddNamed                           ,
+
+
+-- ** addTitled #method:addTitled#
+
+#if ENABLE_OVERLOADING
+    StackAddTitledMethodInfo                ,
+#endif
+    stackAddTitled                          ,
+
+
+-- ** getChildByName #method:getChildByName#
+
+#if ENABLE_OVERLOADING
+    StackGetChildByNameMethodInfo           ,
+#endif
+    stackGetChildByName                     ,
+
+
+-- ** getHhomogeneous #method:getHhomogeneous#
+
+#if ENABLE_OVERLOADING
+    StackGetHhomogeneousMethodInfo          ,
+#endif
+    stackGetHhomogeneous                    ,
+
+
+-- ** getHomogeneous #method:getHomogeneous#
+
+#if ENABLE_OVERLOADING
+    StackGetHomogeneousMethodInfo           ,
+#endif
+    stackGetHomogeneous                     ,
+
+
+-- ** getInterpolateSize #method:getInterpolateSize#
+
+#if ENABLE_OVERLOADING
+    StackGetInterpolateSizeMethodInfo       ,
+#endif
+    stackGetInterpolateSize                 ,
+
+
+-- ** getTransitionDuration #method:getTransitionDuration#
+
+#if ENABLE_OVERLOADING
+    StackGetTransitionDurationMethodInfo    ,
+#endif
+    stackGetTransitionDuration              ,
+
+
+-- ** getTransitionRunning #method:getTransitionRunning#
+
+#if ENABLE_OVERLOADING
+    StackGetTransitionRunningMethodInfo     ,
+#endif
+    stackGetTransitionRunning               ,
+
+
+-- ** getTransitionType #method:getTransitionType#
+
+#if ENABLE_OVERLOADING
+    StackGetTransitionTypeMethodInfo        ,
+#endif
+    stackGetTransitionType                  ,
+
+
+-- ** getVhomogeneous #method:getVhomogeneous#
+
+#if ENABLE_OVERLOADING
+    StackGetVhomogeneousMethodInfo          ,
+#endif
+    stackGetVhomogeneous                    ,
+
+
+-- ** getVisibleChild #method:getVisibleChild#
+
+#if ENABLE_OVERLOADING
+    StackGetVisibleChildMethodInfo          ,
+#endif
+    stackGetVisibleChild                    ,
+
+
+-- ** getVisibleChildName #method:getVisibleChildName#
+
+#if ENABLE_OVERLOADING
+    StackGetVisibleChildNameMethodInfo      ,
+#endif
+    stackGetVisibleChildName                ,
+
+
+-- ** new #method:new#
+
+    stackNew                                ,
+
+
+-- ** setHhomogeneous #method:setHhomogeneous#
+
+#if ENABLE_OVERLOADING
+    StackSetHhomogeneousMethodInfo          ,
+#endif
+    stackSetHhomogeneous                    ,
+
+
+-- ** setHomogeneous #method:setHomogeneous#
+
+#if ENABLE_OVERLOADING
+    StackSetHomogeneousMethodInfo           ,
+#endif
+    stackSetHomogeneous                     ,
+
+
+-- ** setInterpolateSize #method:setInterpolateSize#
+
+#if ENABLE_OVERLOADING
+    StackSetInterpolateSizeMethodInfo       ,
+#endif
+    stackSetInterpolateSize                 ,
+
+
+-- ** setTransitionDuration #method:setTransitionDuration#
+
+#if ENABLE_OVERLOADING
+    StackSetTransitionDurationMethodInfo    ,
+#endif
+    stackSetTransitionDuration              ,
+
+
+-- ** setTransitionType #method:setTransitionType#
+
+#if ENABLE_OVERLOADING
+    StackSetTransitionTypeMethodInfo        ,
+#endif
+    stackSetTransitionType                  ,
+
+
+-- ** setVhomogeneous #method:setVhomogeneous#
+
+#if ENABLE_OVERLOADING
+    StackSetVhomogeneousMethodInfo          ,
+#endif
+    stackSetVhomogeneous                    ,
+
+
+-- ** setVisibleChild #method:setVisibleChild#
+
+#if ENABLE_OVERLOADING
+    StackSetVisibleChildMethodInfo          ,
+#endif
+    stackSetVisibleChild                    ,
+
+
+-- ** setVisibleChildFull #method:setVisibleChildFull#
+
+#if ENABLE_OVERLOADING
+    StackSetVisibleChildFullMethodInfo      ,
+#endif
+    stackSetVisibleChildFull                ,
+
+
+-- ** setVisibleChildName #method:setVisibleChildName#
+
+#if ENABLE_OVERLOADING
+    StackSetVisibleChildNameMethodInfo      ,
+#endif
+    stackSetVisibleChildName                ,
+
+
+
+
+ -- * Properties
+-- ** hhomogeneous #attr:hhomogeneous#
+{- | 'True' if the stack allocates the same width for all children.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    StackHhomogeneousPropertyInfo           ,
+#endif
+    constructStackHhomogeneous              ,
+    getStackHhomogeneous                    ,
+    setStackHhomogeneous                    ,
+#if ENABLE_OVERLOADING
+    stackHhomogeneous                       ,
+#endif
+
+
+-- ** homogeneous #attr:homogeneous#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StackHomogeneousPropertyInfo            ,
+#endif
+    constructStackHomogeneous               ,
+    getStackHomogeneous                     ,
+    setStackHomogeneous                     ,
+#if ENABLE_OVERLOADING
+    stackHomogeneous                        ,
+#endif
+
+
+-- ** interpolateSize #attr:interpolateSize#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StackInterpolateSizePropertyInfo        ,
+#endif
+    constructStackInterpolateSize           ,
+    getStackInterpolateSize                 ,
+    setStackInterpolateSize                 ,
+#if ENABLE_OVERLOADING
+    stackInterpolateSize                    ,
+#endif
+
+
+-- ** transitionDuration #attr:transitionDuration#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StackTransitionDurationPropertyInfo     ,
+#endif
+    constructStackTransitionDuration        ,
+    getStackTransitionDuration              ,
+    setStackTransitionDuration              ,
+#if ENABLE_OVERLOADING
+    stackTransitionDuration                 ,
+#endif
+
+
+-- ** transitionRunning #attr:transitionRunning#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StackTransitionRunningPropertyInfo      ,
+#endif
+    getStackTransitionRunning               ,
+#if ENABLE_OVERLOADING
+    stackTransitionRunning                  ,
+#endif
+
+
+-- ** transitionType #attr:transitionType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StackTransitionTypePropertyInfo         ,
+#endif
+    constructStackTransitionType            ,
+    getStackTransitionType                  ,
+    setStackTransitionType                  ,
+#if ENABLE_OVERLOADING
+    stackTransitionType                     ,
+#endif
+
+
+-- ** vhomogeneous #attr:vhomogeneous#
+{- | 'True' if the stack allocates the same height for all children.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    StackVhomogeneousPropertyInfo           ,
+#endif
+    constructStackVhomogeneous              ,
+    getStackVhomogeneous                    ,
+    setStackVhomogeneous                    ,
+#if ENABLE_OVERLOADING
+    stackVhomogeneous                       ,
+#endif
+
+
+-- ** visibleChild #attr:visibleChild#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StackVisibleChildPropertyInfo           ,
+#endif
+    constructStackVisibleChild              ,
+    getStackVisibleChild                    ,
+    setStackVisibleChild                    ,
+#if ENABLE_OVERLOADING
+    stackVisibleChild                       ,
+#endif
+
+
+-- ** visibleChildName #attr:visibleChildName#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StackVisibleChildNamePropertyInfo       ,
+#endif
+    constructStackVisibleChildName          ,
+    getStackVisibleChildName                ,
+    setStackVisibleChildName                ,
+#if ENABLE_OVERLOADING
+    stackVisibleChildName                   ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Stack = Stack (ManagedPtr Stack)
+foreign import ccall "gtk_stack_get_type"
+    c_gtk_stack_get_type :: IO GType
+
+instance GObject Stack where
+    gobjectType = c_gtk_stack_get_type
+    
+
+-- | Type class for types which can be safely cast to `Stack`, for instance with `toStack`.
+class (GObject o, O.IsDescendantOf Stack o) => IsStack o
+instance (GObject o, O.IsDescendantOf Stack o) => IsStack o
+
+instance O.HasParentTypes Stack
+type instance O.ParentTypes Stack = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Stack`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStack :: (MonadIO m, IsStack o) => o -> m Stack
+toStack = liftIO . unsafeCastTo Stack
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Stack`.
+noStack :: Maybe Stack
+noStack = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStackMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStackMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveStackMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveStackMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveStackMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveStackMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveStackMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveStackMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveStackMethod "addNamed" o = StackAddNamedMethodInfo
+    ResolveStackMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveStackMethod "addTitled" o = StackAddTitledMethodInfo
+    ResolveStackMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStackMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStackMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveStackMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveStackMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveStackMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveStackMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveStackMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveStackMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveStackMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveStackMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveStackMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveStackMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveStackMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveStackMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveStackMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveStackMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveStackMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveStackMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveStackMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveStackMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveStackMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveStackMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveStackMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveStackMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveStackMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveStackMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveStackMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveStackMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveStackMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveStackMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveStackMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveStackMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveStackMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveStackMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveStackMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveStackMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveStackMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveStackMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveStackMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveStackMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveStackMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveStackMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveStackMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveStackMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveStackMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveStackMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveStackMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveStackMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveStackMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveStackMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveStackMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveStackMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveStackMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveStackMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStackMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveStackMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveStackMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStackMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStackMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveStackMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveStackMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveStackMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveStackMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveStackMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveStackMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveStackMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveStackMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveStackMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveStackMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveStackMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveStackMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveStackMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveStackMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveStackMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveStackMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveStackMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveStackMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveStackMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveStackMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStackMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveStackMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveStackMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveStackMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveStackMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveStackMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveStackMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveStackMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveStackMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveStackMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveStackMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveStackMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveStackMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveStackMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveStackMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveStackMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveStackMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveStackMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStackMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStackMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveStackMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveStackMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveStackMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveStackMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveStackMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveStackMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveStackMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveStackMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveStackMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveStackMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveStackMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveStackMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveStackMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveStackMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveStackMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveStackMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStackMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStackMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveStackMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveStackMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveStackMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveStackMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveStackMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveStackMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveStackMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveStackMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveStackMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveStackMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveStackMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveStackMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStackMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveStackMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveStackMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveStackMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveStackMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveStackMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveStackMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveStackMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveStackMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveStackMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStackMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStackMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveStackMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveStackMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveStackMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStackMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveStackMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveStackMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveStackMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveStackMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveStackMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStackMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveStackMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveStackMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveStackMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStackMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveStackMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveStackMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveStackMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveStackMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveStackMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveStackMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveStackMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveStackMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveStackMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveStackMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveStackMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveStackMethod "getChildByName" o = StackGetChildByNameMethodInfo
+    ResolveStackMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveStackMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveStackMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveStackMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveStackMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveStackMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveStackMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStackMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveStackMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveStackMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveStackMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveStackMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveStackMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveStackMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveStackMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveStackMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveStackMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveStackMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveStackMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveStackMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveStackMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveStackMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveStackMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveStackMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveStackMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveStackMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveStackMethod "getHhomogeneous" o = StackGetHhomogeneousMethodInfo
+    ResolveStackMethod "getHomogeneous" o = StackGetHomogeneousMethodInfo
+    ResolveStackMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveStackMethod "getInterpolateSize" o = StackGetInterpolateSizeMethodInfo
+    ResolveStackMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveStackMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveStackMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveStackMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveStackMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveStackMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveStackMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveStackMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveStackMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveStackMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveStackMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveStackMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveStackMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveStackMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveStackMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveStackMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveStackMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveStackMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveStackMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveStackMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveStackMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveStackMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveStackMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveStackMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveStackMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveStackMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStackMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveStackMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveStackMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveStackMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveStackMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveStackMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveStackMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveStackMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveStackMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveStackMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveStackMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveStackMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveStackMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveStackMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveStackMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveStackMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveStackMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveStackMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveStackMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveStackMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveStackMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveStackMethod "getTransitionDuration" o = StackGetTransitionDurationMethodInfo
+    ResolveStackMethod "getTransitionRunning" o = StackGetTransitionRunningMethodInfo
+    ResolveStackMethod "getTransitionType" o = StackGetTransitionTypeMethodInfo
+    ResolveStackMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveStackMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveStackMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveStackMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveStackMethod "getVhomogeneous" o = StackGetVhomogeneousMethodInfo
+    ResolveStackMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveStackMethod "getVisibleChild" o = StackGetVisibleChildMethodInfo
+    ResolveStackMethod "getVisibleChildName" o = StackGetVisibleChildNameMethodInfo
+    ResolveStackMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveStackMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveStackMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveStackMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveStackMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveStackMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveStackMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveStackMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveStackMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveStackMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveStackMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveStackMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveStackMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStackMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveStackMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveStackMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveStackMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveStackMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveStackMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveStackMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveStackMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveStackMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveStackMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveStackMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveStackMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveStackMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveStackMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveStackMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveStackMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveStackMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveStackMethod "setHhomogeneous" o = StackSetHhomogeneousMethodInfo
+    ResolveStackMethod "setHomogeneous" o = StackSetHomogeneousMethodInfo
+    ResolveStackMethod "setInterpolateSize" o = StackSetInterpolateSizeMethodInfo
+    ResolveStackMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveStackMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveStackMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveStackMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveStackMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveStackMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveStackMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveStackMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveStackMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveStackMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveStackMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveStackMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveStackMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveStackMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveStackMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveStackMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveStackMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveStackMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveStackMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveStackMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveStackMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveStackMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveStackMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveStackMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveStackMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveStackMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveStackMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveStackMethod "setTransitionDuration" o = StackSetTransitionDurationMethodInfo
+    ResolveStackMethod "setTransitionType" o = StackSetTransitionTypeMethodInfo
+    ResolveStackMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveStackMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveStackMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveStackMethod "setVhomogeneous" o = StackSetVhomogeneousMethodInfo
+    ResolveStackMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveStackMethod "setVisibleChild" o = StackSetVisibleChildMethodInfo
+    ResolveStackMethod "setVisibleChildFull" o = StackSetVisibleChildFullMethodInfo
+    ResolveStackMethod "setVisibleChildName" o = StackSetVisibleChildNameMethodInfo
+    ResolveStackMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveStackMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveStackMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStackMethod t Stack, O.MethodInfo info Stack p) => OL.IsLabel t (Stack -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "hhomogeneous"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@hhomogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stack #hhomogeneous
+@
+-}
+getStackHhomogeneous :: (MonadIO m, IsStack o) => o -> m Bool
+getStackHhomogeneous obj = liftIO $ B.Properties.getObjectPropertyBool obj "hhomogeneous"
+
+{- |
+Set the value of the “@hhomogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stack [ #hhomogeneous 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackHhomogeneous :: (MonadIO m, IsStack o) => o -> Bool -> m ()
+setStackHhomogeneous obj val = liftIO $ B.Properties.setObjectPropertyBool obj "hhomogeneous" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hhomogeneous@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackHhomogeneous :: (IsStack o) => Bool -> IO (GValueConstruct o)
+constructStackHhomogeneous val = B.Properties.constructObjectPropertyBool "hhomogeneous" val
+
+#if ENABLE_OVERLOADING
+data StackHhomogeneousPropertyInfo
+instance AttrInfo StackHhomogeneousPropertyInfo where
+    type AttrAllowedOps StackHhomogeneousPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackHhomogeneousPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StackHhomogeneousPropertyInfo = IsStack
+    type AttrGetType StackHhomogeneousPropertyInfo = Bool
+    type AttrLabel StackHhomogeneousPropertyInfo = "hhomogeneous"
+    type AttrOrigin StackHhomogeneousPropertyInfo = Stack
+    attrGet _ = getStackHhomogeneous
+    attrSet _ = setStackHhomogeneous
+    attrConstruct _ = constructStackHhomogeneous
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "homogeneous"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stack #homogeneous
+@
+-}
+getStackHomogeneous :: (MonadIO m, IsStack o) => o -> m Bool
+getStackHomogeneous obj = liftIO $ B.Properties.getObjectPropertyBool obj "homogeneous"
+
+{- |
+Set the value of the “@homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stack [ #homogeneous 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackHomogeneous :: (MonadIO m, IsStack o) => o -> Bool -> m ()
+setStackHomogeneous obj val = liftIO $ B.Properties.setObjectPropertyBool obj "homogeneous" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@homogeneous@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackHomogeneous :: (IsStack o) => Bool -> IO (GValueConstruct o)
+constructStackHomogeneous val = B.Properties.constructObjectPropertyBool "homogeneous" val
+
+#if ENABLE_OVERLOADING
+data StackHomogeneousPropertyInfo
+instance AttrInfo StackHomogeneousPropertyInfo where
+    type AttrAllowedOps StackHomogeneousPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackHomogeneousPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StackHomogeneousPropertyInfo = IsStack
+    type AttrGetType StackHomogeneousPropertyInfo = Bool
+    type AttrLabel StackHomogeneousPropertyInfo = "homogeneous"
+    type AttrOrigin StackHomogeneousPropertyInfo = Stack
+    attrGet _ = getStackHomogeneous
+    attrSet _ = setStackHomogeneous
+    attrConstruct _ = constructStackHomogeneous
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "interpolate-size"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@interpolate-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stack #interpolateSize
+@
+-}
+getStackInterpolateSize :: (MonadIO m, IsStack o) => o -> m Bool
+getStackInterpolateSize obj = liftIO $ B.Properties.getObjectPropertyBool obj "interpolate-size"
+
+{- |
+Set the value of the “@interpolate-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stack [ #interpolateSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackInterpolateSize :: (MonadIO m, IsStack o) => o -> Bool -> m ()
+setStackInterpolateSize obj val = liftIO $ B.Properties.setObjectPropertyBool obj "interpolate-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@interpolate-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackInterpolateSize :: (IsStack o) => Bool -> IO (GValueConstruct o)
+constructStackInterpolateSize val = B.Properties.constructObjectPropertyBool "interpolate-size" val
+
+#if ENABLE_OVERLOADING
+data StackInterpolateSizePropertyInfo
+instance AttrInfo StackInterpolateSizePropertyInfo where
+    type AttrAllowedOps StackInterpolateSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackInterpolateSizePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StackInterpolateSizePropertyInfo = IsStack
+    type AttrGetType StackInterpolateSizePropertyInfo = Bool
+    type AttrLabel StackInterpolateSizePropertyInfo = "interpolate-size"
+    type AttrOrigin StackInterpolateSizePropertyInfo = Stack
+    attrGet _ = getStackInterpolateSize
+    attrSet _ = setStackInterpolateSize
+    attrConstruct _ = constructStackInterpolateSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "transition-duration"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@transition-duration@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stack #transitionDuration
+@
+-}
+getStackTransitionDuration :: (MonadIO m, IsStack o) => o -> m Word32
+getStackTransitionDuration obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "transition-duration"
+
+{- |
+Set the value of the “@transition-duration@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stack [ #transitionDuration 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackTransitionDuration :: (MonadIO m, IsStack o) => o -> Word32 -> m ()
+setStackTransitionDuration obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "transition-duration" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@transition-duration@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackTransitionDuration :: (IsStack o) => Word32 -> IO (GValueConstruct o)
+constructStackTransitionDuration val = B.Properties.constructObjectPropertyUInt32 "transition-duration" val
+
+#if ENABLE_OVERLOADING
+data StackTransitionDurationPropertyInfo
+instance AttrInfo StackTransitionDurationPropertyInfo where
+    type AttrAllowedOps StackTransitionDurationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackTransitionDurationPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint StackTransitionDurationPropertyInfo = IsStack
+    type AttrGetType StackTransitionDurationPropertyInfo = Word32
+    type AttrLabel StackTransitionDurationPropertyInfo = "transition-duration"
+    type AttrOrigin StackTransitionDurationPropertyInfo = Stack
+    attrGet _ = getStackTransitionDuration
+    attrSet _ = setStackTransitionDuration
+    attrConstruct _ = constructStackTransitionDuration
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "transition-running"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@transition-running@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stack #transitionRunning
+@
+-}
+getStackTransitionRunning :: (MonadIO m, IsStack o) => o -> m Bool
+getStackTransitionRunning obj = liftIO $ B.Properties.getObjectPropertyBool obj "transition-running"
+
+#if ENABLE_OVERLOADING
+data StackTransitionRunningPropertyInfo
+instance AttrInfo StackTransitionRunningPropertyInfo where
+    type AttrAllowedOps StackTransitionRunningPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint StackTransitionRunningPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint StackTransitionRunningPropertyInfo = IsStack
+    type AttrGetType StackTransitionRunningPropertyInfo = Bool
+    type AttrLabel StackTransitionRunningPropertyInfo = "transition-running"
+    type AttrOrigin StackTransitionRunningPropertyInfo = Stack
+    attrGet _ = getStackTransitionRunning
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "transition-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "StackTransitionType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@transition-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stack #transitionType
+@
+-}
+getStackTransitionType :: (MonadIO m, IsStack o) => o -> m Gtk.Enums.StackTransitionType
+getStackTransitionType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "transition-type"
+
+{- |
+Set the value of the “@transition-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stack [ #transitionType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackTransitionType :: (MonadIO m, IsStack o) => o -> Gtk.Enums.StackTransitionType -> m ()
+setStackTransitionType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "transition-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@transition-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackTransitionType :: (IsStack o) => Gtk.Enums.StackTransitionType -> IO (GValueConstruct o)
+constructStackTransitionType val = B.Properties.constructObjectPropertyEnum "transition-type" val
+
+#if ENABLE_OVERLOADING
+data StackTransitionTypePropertyInfo
+instance AttrInfo StackTransitionTypePropertyInfo where
+    type AttrAllowedOps StackTransitionTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackTransitionTypePropertyInfo = (~) Gtk.Enums.StackTransitionType
+    type AttrBaseTypeConstraint StackTransitionTypePropertyInfo = IsStack
+    type AttrGetType StackTransitionTypePropertyInfo = Gtk.Enums.StackTransitionType
+    type AttrLabel StackTransitionTypePropertyInfo = "transition-type"
+    type AttrOrigin StackTransitionTypePropertyInfo = Stack
+    attrGet _ = getStackTransitionType
+    attrSet _ = setStackTransitionType
+    attrConstruct _ = constructStackTransitionType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "vhomogeneous"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@vhomogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stack #vhomogeneous
+@
+-}
+getStackVhomogeneous :: (MonadIO m, IsStack o) => o -> m Bool
+getStackVhomogeneous obj = liftIO $ B.Properties.getObjectPropertyBool obj "vhomogeneous"
+
+{- |
+Set the value of the “@vhomogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stack [ #vhomogeneous 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackVhomogeneous :: (MonadIO m, IsStack o) => o -> Bool -> m ()
+setStackVhomogeneous obj val = liftIO $ B.Properties.setObjectPropertyBool obj "vhomogeneous" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@vhomogeneous@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackVhomogeneous :: (IsStack o) => Bool -> IO (GValueConstruct o)
+constructStackVhomogeneous val = B.Properties.constructObjectPropertyBool "vhomogeneous" val
+
+#if ENABLE_OVERLOADING
+data StackVhomogeneousPropertyInfo
+instance AttrInfo StackVhomogeneousPropertyInfo where
+    type AttrAllowedOps StackVhomogeneousPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackVhomogeneousPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StackVhomogeneousPropertyInfo = IsStack
+    type AttrGetType StackVhomogeneousPropertyInfo = Bool
+    type AttrLabel StackVhomogeneousPropertyInfo = "vhomogeneous"
+    type AttrOrigin StackVhomogeneousPropertyInfo = Stack
+    attrGet _ = getStackVhomogeneous
+    attrSet _ = setStackVhomogeneous
+    attrConstruct _ = constructStackVhomogeneous
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible-child"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@visible-child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stack #visibleChild
+@
+-}
+getStackVisibleChild :: (MonadIO m, IsStack o) => o -> m (Maybe Gtk.Widget.Widget)
+getStackVisibleChild obj = liftIO $ B.Properties.getObjectPropertyObject obj "visible-child" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@visible-child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stack [ #visibleChild 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackVisibleChild :: (MonadIO m, IsStack o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setStackVisibleChild obj val = liftIO $ B.Properties.setObjectPropertyObject obj "visible-child" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible-child@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackVisibleChild :: (IsStack o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructStackVisibleChild val = B.Properties.constructObjectPropertyObject "visible-child" (Just val)
+
+#if ENABLE_OVERLOADING
+data StackVisibleChildPropertyInfo
+instance AttrInfo StackVisibleChildPropertyInfo where
+    type AttrAllowedOps StackVisibleChildPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackVisibleChildPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint StackVisibleChildPropertyInfo = IsStack
+    type AttrGetType StackVisibleChildPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel StackVisibleChildPropertyInfo = "visible-child"
+    type AttrOrigin StackVisibleChildPropertyInfo = Stack
+    attrGet _ = getStackVisibleChild
+    attrSet _ = setStackVisibleChild
+    attrConstruct _ = constructStackVisibleChild
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible-child-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@visible-child-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stack #visibleChildName
+@
+-}
+getStackVisibleChildName :: (MonadIO m, IsStack o) => o -> m (Maybe T.Text)
+getStackVisibleChildName obj = liftIO $ B.Properties.getObjectPropertyString obj "visible-child-name"
+
+{- |
+Set the value of the “@visible-child-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stack [ #visibleChildName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackVisibleChildName :: (MonadIO m, IsStack o) => o -> T.Text -> m ()
+setStackVisibleChildName obj val = liftIO $ B.Properties.setObjectPropertyString obj "visible-child-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible-child-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackVisibleChildName :: (IsStack o) => T.Text -> IO (GValueConstruct o)
+constructStackVisibleChildName val = B.Properties.constructObjectPropertyString "visible-child-name" (Just val)
+
+#if ENABLE_OVERLOADING
+data StackVisibleChildNamePropertyInfo
+instance AttrInfo StackVisibleChildNamePropertyInfo where
+    type AttrAllowedOps StackVisibleChildNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackVisibleChildNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StackVisibleChildNamePropertyInfo = IsStack
+    type AttrGetType StackVisibleChildNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel StackVisibleChildNamePropertyInfo = "visible-child-name"
+    type AttrOrigin StackVisibleChildNamePropertyInfo = Stack
+    attrGet _ = getStackVisibleChildName
+    attrSet _ = setStackVisibleChildName
+    attrConstruct _ = constructStackVisibleChildName
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Stack
+type instance O.AttributeList Stack = StackAttributeList
+type StackAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hhomogeneous", StackHhomogeneousPropertyInfo), '("homogeneous", StackHomogeneousPropertyInfo), '("interpolateSize", StackInterpolateSizePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transitionDuration", StackTransitionDurationPropertyInfo), '("transitionRunning", StackTransitionRunningPropertyInfo), '("transitionType", StackTransitionTypePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("vhomogeneous", StackVhomogeneousPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visibleChild", StackVisibleChildPropertyInfo), '("visibleChildName", StackVisibleChildNamePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+stackHhomogeneous :: AttrLabelProxy "hhomogeneous"
+stackHhomogeneous = AttrLabelProxy
+
+stackHomogeneous :: AttrLabelProxy "homogeneous"
+stackHomogeneous = AttrLabelProxy
+
+stackInterpolateSize :: AttrLabelProxy "interpolateSize"
+stackInterpolateSize = AttrLabelProxy
+
+stackTransitionDuration :: AttrLabelProxy "transitionDuration"
+stackTransitionDuration = AttrLabelProxy
+
+stackTransitionRunning :: AttrLabelProxy "transitionRunning"
+stackTransitionRunning = AttrLabelProxy
+
+stackTransitionType :: AttrLabelProxy "transitionType"
+stackTransitionType = AttrLabelProxy
+
+stackVhomogeneous :: AttrLabelProxy "vhomogeneous"
+stackVhomogeneous = AttrLabelProxy
+
+stackVisibleChild :: AttrLabelProxy "visibleChild"
+stackVisibleChild = AttrLabelProxy
+
+stackVisibleChildName :: AttrLabelProxy "visibleChildName"
+stackVisibleChildName = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Stack = StackSignalList
+type StackSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Stack::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Stack"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_new" gtk_stack_new :: 
+    IO (Ptr Stack)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Stack.Stack' container.
+
+/Since: 3.10/
+-}
+stackNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Stack
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Stack.Stack' -}
+stackNew  = liftIO $ do
+    result <- gtk_stack_new
+    checkUnexpectedReturnNULL "stackNew" result
+    result' <- (newObject Stack) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Stack::add_named
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name for @child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_add_named" gtk_stack_add_named :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a child to /@stack@/.
+The child is identified by the /@name@/.
+
+/Since: 3.10/
+-}
+stackAddNamed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> b
+    {- ^ /@child@/: the widget to add -}
+    -> T.Text
+    {- ^ /@name@/: the name for /@child@/ -}
+    -> m ()
+stackAddNamed stack child name = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    child' <- unsafeManagedPtrCastPtr child
+    name' <- textToCString name
+    gtk_stack_add_named stack' child' name'
+    touchManagedPtr stack
+    touchManagedPtr child
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackAddNamedMethodInfo
+instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsStack a, Gtk.Widget.IsWidget b) => O.MethodInfo StackAddNamedMethodInfo a signature where
+    overloadedMethod _ = stackAddNamed
+
+#endif
+
+-- method Stack::add_titled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name for @child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a human-readable title for @child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_add_titled" gtk_stack_add_titled :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a child to /@stack@/.
+The child is identified by the /@name@/. The /@title@/
+will be used by 'GI.Gtk.Objects.StackSwitcher.StackSwitcher' to represent
+/@child@/ in a tab bar, so it should be short.
+
+/Since: 3.10/
+-}
+stackAddTitled ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> b
+    {- ^ /@child@/: the widget to add -}
+    -> T.Text
+    {- ^ /@name@/: the name for /@child@/ -}
+    -> T.Text
+    {- ^ /@title@/: a human-readable title for /@child@/ -}
+    -> m ()
+stackAddTitled stack child name title = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    child' <- unsafeManagedPtrCastPtr child
+    name' <- textToCString name
+    title' <- textToCString title
+    gtk_stack_add_titled stack' child' name' title'
+    touchManagedPtr stack
+    touchManagedPtr child
+    freeMem name'
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackAddTitledMethodInfo
+instance (signature ~ (b -> T.Text -> T.Text -> m ()), MonadIO m, IsStack a, Gtk.Widget.IsWidget b) => O.MethodInfo StackAddTitledMethodInfo a signature where
+    overloadedMethod _ = stackAddTitled
+
+#endif
+
+-- method Stack::get_child_by_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the child to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_child_by_name" gtk_stack_get_child_by_name :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Finds the child of the 'GI.Gtk.Objects.Stack.Stack' with the name given as
+the argument. Returns 'Nothing' if there is no child with this
+name.
+
+/Since: 3.12/
+-}
+stackGetChildByName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> T.Text
+    {- ^ /@name@/: the name of the child to find -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the requested child of the 'GI.Gtk.Objects.Stack.Stack' -}
+stackGetChildByName stack name = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    name' <- textToCString name
+    result <- gtk_stack_get_child_by_name stack' name'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr stack
+    freeMem name'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StackGetChildByNameMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsStack a) => O.MethodInfo StackGetChildByNameMethodInfo a signature where
+    overloadedMethod _ = stackGetChildByName
+
+#endif
+
+-- method Stack::get_hhomogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_hhomogeneous" gtk_stack_get_hhomogeneous :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO CInt
+
+{- |
+Gets whether /@stack@/ is horizontally homogeneous.
+See 'GI.Gtk.Objects.Stack.stackSetHhomogeneous'.
+
+/Since: 3.16/
+-}
+stackGetHhomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@stack@/ is horizontally homogeneous. -}
+stackGetHhomogeneous stack = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    result <- gtk_stack_get_hhomogeneous stack'
+    let result' = (/= 0) result
+    touchManagedPtr stack
+    return result'
+
+#if ENABLE_OVERLOADING
+data StackGetHhomogeneousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsStack a) => O.MethodInfo StackGetHhomogeneousMethodInfo a signature where
+    overloadedMethod _ = stackGetHhomogeneous
+
+#endif
+
+-- method Stack::get_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_homogeneous" gtk_stack_get_homogeneous :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO CInt
+
+{- |
+Gets whether /@stack@/ is homogeneous.
+See 'GI.Gtk.Objects.Stack.stackSetHomogeneous'.
+
+/Since: 3.10/
+-}
+stackGetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@stack@/ is homogeneous. -}
+stackGetHomogeneous stack = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    result <- gtk_stack_get_homogeneous stack'
+    let result' = (/= 0) result
+    touchManagedPtr stack
+    return result'
+
+#if ENABLE_OVERLOADING
+data StackGetHomogeneousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsStack a) => O.MethodInfo StackGetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = stackGetHomogeneous
+
+#endif
+
+-- method Stack::get_interpolate_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_interpolate_size" gtk_stack_get_interpolate_size :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO CInt
+
+{- |
+Returns wether the 'GI.Gtk.Objects.Stack.Stack' is set up to interpolate between
+the sizes of children on page switch.
+
+/Since: 3.18/
+-}
+stackGetInterpolateSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: A 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if child sizes are interpolated -}
+stackGetInterpolateSize stack = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    result <- gtk_stack_get_interpolate_size stack'
+    let result' = (/= 0) result
+    touchManagedPtr stack
+    return result'
+
+#if ENABLE_OVERLOADING
+data StackGetInterpolateSizeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsStack a) => O.MethodInfo StackGetInterpolateSizeMethodInfo a signature where
+    overloadedMethod _ = stackGetInterpolateSize
+
+#endif
+
+-- method Stack::get_transition_duration
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_transition_duration" gtk_stack_get_transition_duration :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO Word32
+
+{- |
+Returns the amount of time (in milliseconds) that
+transitions between pages in /@stack@/ will take.
+
+/Since: 3.10/
+-}
+stackGetTransitionDuration ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m Word32
+    {- ^ __Returns:__ the transition duration -}
+stackGetTransitionDuration stack = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    result <- gtk_stack_get_transition_duration stack'
+    touchManagedPtr stack
+    return result
+
+#if ENABLE_OVERLOADING
+data StackGetTransitionDurationMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsStack a) => O.MethodInfo StackGetTransitionDurationMethodInfo a signature where
+    overloadedMethod _ = stackGetTransitionDuration
+
+#endif
+
+-- method Stack::get_transition_running
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_transition_running" gtk_stack_get_transition_running :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO CInt
+
+{- |
+Returns whether the /@stack@/ is currently in a transition from one page to
+another.
+
+/Since: 3.12/
+-}
+stackGetTransitionRunning ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the transition is currently running, 'False' otherwise. -}
+stackGetTransitionRunning stack = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    result <- gtk_stack_get_transition_running stack'
+    let result' = (/= 0) result
+    touchManagedPtr stack
+    return result'
+
+#if ENABLE_OVERLOADING
+data StackGetTransitionRunningMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsStack a) => O.MethodInfo StackGetTransitionRunningMethodInfo a signature where
+    overloadedMethod _ = stackGetTransitionRunning
+
+#endif
+
+-- method Stack::get_transition_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StackTransitionType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_transition_type" gtk_stack_get_transition_type :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO CUInt
+
+{- |
+Gets the type of animation that will be used
+for transitions between pages in /@stack@/.
+
+/Since: 3.10/
+-}
+stackGetTransitionType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m Gtk.Enums.StackTransitionType
+    {- ^ __Returns:__ the current transition type of /@stack@/ -}
+stackGetTransitionType stack = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    result <- gtk_stack_get_transition_type stack'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr stack
+    return result'
+
+#if ENABLE_OVERLOADING
+data StackGetTransitionTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.StackTransitionType), MonadIO m, IsStack a) => O.MethodInfo StackGetTransitionTypeMethodInfo a signature where
+    overloadedMethod _ = stackGetTransitionType
+
+#endif
+
+-- method Stack::get_vhomogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_vhomogeneous" gtk_stack_get_vhomogeneous :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO CInt
+
+{- |
+Gets whether /@stack@/ is vertically homogeneous.
+See 'GI.Gtk.Objects.Stack.stackSetVhomogeneous'.
+
+/Since: 3.16/
+-}
+stackGetVhomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@stack@/ is vertically homogeneous. -}
+stackGetVhomogeneous stack = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    result <- gtk_stack_get_vhomogeneous stack'
+    let result' = (/= 0) result
+    touchManagedPtr stack
+    return result'
+
+#if ENABLE_OVERLOADING
+data StackGetVhomogeneousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsStack a) => O.MethodInfo StackGetVhomogeneousMethodInfo a signature where
+    overloadedMethod _ = stackGetVhomogeneous
+
+#endif
+
+-- method Stack::get_visible_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_visible_child" gtk_stack_get_visible_child :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the currently visible child of /@stack@/, or 'Nothing' if
+there are no visible children.
+
+/Since: 3.10/
+-}
+stackGetVisibleChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the visible child of the 'GI.Gtk.Objects.Stack.Stack' -}
+stackGetVisibleChild stack = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    result <- gtk_stack_get_visible_child stack'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr stack
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StackGetVisibleChildMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsStack a) => O.MethodInfo StackGetVisibleChildMethodInfo a signature where
+    overloadedMethod _ = stackGetVisibleChild
+
+#endif
+
+-- method Stack::get_visible_child_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_get_visible_child_name" gtk_stack_get_visible_child_name :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO CString
+
+{- |
+Returns the name of the currently visible child of /@stack@/, or
+'Nothing' if there is no visible child.
+
+/Since: 3.10/
+-}
+stackGetVisibleChildName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the name of the visible child of the 'GI.Gtk.Objects.Stack.Stack' -}
+stackGetVisibleChildName stack = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    result <- gtk_stack_get_visible_child_name stack'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr stack
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StackGetVisibleChildNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsStack a) => O.MethodInfo StackGetVisibleChildNameMethodInfo a signature where
+    overloadedMethod _ = stackGetVisibleChildName
+
+#endif
+
+-- method Stack::set_hhomogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hhomogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make @stack horizontally homogeneous", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_set_hhomogeneous" gtk_stack_set_hhomogeneous :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    CInt ->                                 -- hhomogeneous : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Stack.Stack' to be horizontally homogeneous or not.
+If it is homogeneous, the 'GI.Gtk.Objects.Stack.Stack' will request the same
+width for all its children. If it isn\'t, the stack
+may change width when a different child becomes visible.
+
+/Since: 3.16/
+-}
+stackSetHhomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> Bool
+    {- ^ /@hhomogeneous@/: 'True' to make /@stack@/ horizontally homogeneous -}
+    -> m ()
+stackSetHhomogeneous stack hhomogeneous = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    let hhomogeneous' = (fromIntegral . fromEnum) hhomogeneous
+    gtk_stack_set_hhomogeneous stack' hhomogeneous'
+    touchManagedPtr stack
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSetHhomogeneousMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsStack a) => O.MethodInfo StackSetHhomogeneousMethodInfo a signature where
+    overloadedMethod _ = stackSetHhomogeneous
+
+#endif
+
+-- method Stack::set_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make @stack homogeneous", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_set_homogeneous" gtk_stack_set_homogeneous :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Stack.Stack' to be homogeneous or not. If it
+is homogeneous, the 'GI.Gtk.Objects.Stack.Stack' will request the same
+size for all its children. If it isn\'t, the stack
+may change size when a different child becomes visible.
+
+Since 3.16, homogeneity can be controlled separately
+for horizontal and vertical size, with the
+'GI.Gtk.Objects.Stack.Stack':@/hhomogeneous/@ and 'GI.Gtk.Objects.Stack.Stack':@/vhomogeneous/@.
+
+/Since: 3.10/
+-}
+stackSetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> Bool
+    {- ^ /@homogeneous@/: 'True' to make /@stack@/ homogeneous -}
+    -> m ()
+stackSetHomogeneous stack homogeneous = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    gtk_stack_set_homogeneous stack' homogeneous'
+    touchManagedPtr stack
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSetHomogeneousMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsStack a) => O.MethodInfo StackSetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = stackSetHomogeneous
+
+#endif
+
+-- method Stack::set_interpolate_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interpolate_size", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_set_interpolate_size" gtk_stack_set_interpolate_size :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    CInt ->                                 -- interpolate_size : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether or not /@stack@/ will interpolate its size when
+changing the visible child. If the 'GI.Gtk.Objects.Stack.Stack':@/interpolate-size/@
+property is set to 'True', /@stack@/ will interpolate its size between
+the current one and the one it\'ll take after changing the
+visible child, according to the set transition duration.
+
+/Since: 3.18/
+-}
+stackSetInterpolateSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: A 'GI.Gtk.Objects.Stack.Stack' -}
+    -> Bool
+    {- ^ /@interpolateSize@/: the new value -}
+    -> m ()
+stackSetInterpolateSize stack interpolateSize = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    let interpolateSize' = (fromIntegral . fromEnum) interpolateSize
+    gtk_stack_set_interpolate_size stack' interpolateSize'
+    touchManagedPtr stack
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSetInterpolateSizeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsStack a) => O.MethodInfo StackSetInterpolateSizeMethodInfo a signature where
+    overloadedMethod _ = stackSetInterpolateSize
+
+#endif
+
+-- method Stack::set_transition_duration
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new duration, in milliseconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_set_transition_duration" gtk_stack_set_transition_duration :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    Word32 ->                               -- duration : TBasicType TUInt
+    IO ()
+
+{- |
+Sets the duration that transitions between pages in /@stack@/
+will take.
+
+/Since: 3.10/
+-}
+stackSetTransitionDuration ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> Word32
+    {- ^ /@duration@/: the new duration, in milliseconds -}
+    -> m ()
+stackSetTransitionDuration stack duration = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    gtk_stack_set_transition_duration stack' duration
+    touchManagedPtr stack
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSetTransitionDurationMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsStack a) => O.MethodInfo StackSetTransitionDurationMethodInfo a signature where
+    overloadedMethod _ = stackSetTransitionDuration
+
+#endif
+
+-- method Stack::set_transition_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transition", argType = TInterface (Name {namespace = "Gtk", name = "StackTransitionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new transition type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_set_transition_type" gtk_stack_set_transition_type :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    CUInt ->                                -- transition : TInterface (Name {namespace = "Gtk", name = "StackTransitionType"})
+    IO ()
+
+{- |
+Sets the type of animation that will be used for
+transitions between pages in /@stack@/. Available
+types include various kinds of fades and slides.
+
+The transition type can be changed without problems
+at runtime, so it is possible to change the animation
+based on the page that is about to become current.
+
+/Since: 3.10/
+-}
+stackSetTransitionType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> Gtk.Enums.StackTransitionType
+    {- ^ /@transition@/: the new transition type -}
+    -> m ()
+stackSetTransitionType stack transition = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    let transition' = (fromIntegral . fromEnum) transition
+    gtk_stack_set_transition_type stack' transition'
+    touchManagedPtr stack
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSetTransitionTypeMethodInfo
+instance (signature ~ (Gtk.Enums.StackTransitionType -> m ()), MonadIO m, IsStack a) => O.MethodInfo StackSetTransitionTypeMethodInfo a signature where
+    overloadedMethod _ = stackSetTransitionType
+
+#endif
+
+-- method Stack::set_vhomogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vhomogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make @stack vertically homogeneous", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_set_vhomogeneous" gtk_stack_set_vhomogeneous :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    CInt ->                                 -- vhomogeneous : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Stack.Stack' to be vertically homogeneous or not.
+If it is homogeneous, the 'GI.Gtk.Objects.Stack.Stack' will request the same
+height for all its children. If it isn\'t, the stack
+may change height when a different child becomes visible.
+
+/Since: 3.16/
+-}
+stackSetVhomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> Bool
+    {- ^ /@vhomogeneous@/: 'True' to make /@stack@/ vertically homogeneous -}
+    -> m ()
+stackSetVhomogeneous stack vhomogeneous = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    let vhomogeneous' = (fromIntegral . fromEnum) vhomogeneous
+    gtk_stack_set_vhomogeneous stack' vhomogeneous'
+    touchManagedPtr stack
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSetVhomogeneousMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsStack a) => O.MethodInfo StackSetVhomogeneousMethodInfo a signature where
+    overloadedMethod _ = stackSetVhomogeneous
+
+#endif
+
+-- method Stack::set_visible_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @stack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_set_visible_child" gtk_stack_set_visible_child :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Makes /@child@/ the visible child of /@stack@/.
+
+If /@child@/ is different from the currently
+visible child, the transition between the
+two will be animated with the current
+transition type of /@stack@/.
+
+Note that the /@child@/ widget has to be visible itself
+(see 'GI.Gtk.Objects.Widget.widgetShow') in order to become the visible
+child of /@stack@/.
+
+/Since: 3.10/
+-}
+stackSetVisibleChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> b
+    {- ^ /@child@/: a child of /@stack@/ -}
+    -> m ()
+stackSetVisibleChild stack child = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_stack_set_visible_child stack' child'
+    touchManagedPtr stack
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSetVisibleChildMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsStack a, Gtk.Widget.IsWidget b) => O.MethodInfo StackSetVisibleChildMethodInfo a signature where
+    overloadedMethod _ = stackSetVisibleChild
+
+#endif
+
+-- method Stack::set_visible_child_full
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the child to make visible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transition", argType = TInterface (Name {namespace = "Gtk", name = "StackTransitionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the transition type to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_set_visible_child_full" gtk_stack_set_visible_child_full :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    CString ->                              -- name : TBasicType TUTF8
+    CUInt ->                                -- transition : TInterface (Name {namespace = "Gtk", name = "StackTransitionType"})
+    IO ()
+
+{- |
+Makes the child with the given name visible.
+
+Note that the child widget has to be visible itself
+(see 'GI.Gtk.Objects.Widget.widgetShow') in order to become the visible
+child of /@stack@/.
+
+/Since: 3.10/
+-}
+stackSetVisibleChildFull ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> T.Text
+    {- ^ /@name@/: the name of the child to make visible -}
+    -> Gtk.Enums.StackTransitionType
+    {- ^ /@transition@/: the transition type to use -}
+    -> m ()
+stackSetVisibleChildFull stack name transition = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    name' <- textToCString name
+    let transition' = (fromIntegral . fromEnum) transition
+    gtk_stack_set_visible_child_full stack' name' transition'
+    touchManagedPtr stack
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSetVisibleChildFullMethodInfo
+instance (signature ~ (T.Text -> Gtk.Enums.StackTransitionType -> m ()), MonadIO m, IsStack a) => O.MethodInfo StackSetVisibleChildFullMethodInfo a signature where
+    overloadedMethod _ = stackSetVisibleChildFull
+
+#endif
+
+-- method Stack::set_visible_child_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the child to make visible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_set_visible_child_name" gtk_stack_set_visible_child_name :: 
+    Ptr Stack ->                            -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Makes the child with the given name visible.
+
+If /@child@/ is different from the currently
+visible child, the transition between the
+two will be animated with the current
+transition type of /@stack@/.
+
+Note that the child widget has to be visible itself
+(see 'GI.Gtk.Objects.Widget.widgetShow') in order to become the visible
+child of /@stack@/.
+
+/Since: 3.10/
+-}
+stackSetVisibleChildName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStack a) =>
+    a
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> T.Text
+    {- ^ /@name@/: the name of the child to make visible -}
+    -> m ()
+stackSetVisibleChildName stack name = liftIO $ do
+    stack' <- unsafeManagedPtrCastPtr stack
+    name' <- textToCString name
+    gtk_stack_set_visible_child_name stack' name'
+    touchManagedPtr stack
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSetVisibleChildNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsStack a) => O.MethodInfo StackSetVisibleChildNameMethodInfo a signature where
+    overloadedMethod _ = stackSetVisibleChildName
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Stack.hs-boot b/GI/Gtk/Objects/Stack.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Stack.hs-boot
@@ -0,0 +1,119 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Stack where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Stack = Stack (ManagedPtr Stack)
+instance GObject Stack where
+class (GObject o, O.IsDescendantOf Stack o) => IsStack o
+instance (GObject o, O.IsDescendantOf Stack o) => IsStack o
+instance O.HasParentTypes Stack
+#if ENABLE_OVERLOADING
+data StackHhomogeneousPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackHomogeneousPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackInterpolateSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackTransitionDurationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackTransitionRunningPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackTransitionTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackVhomogeneousPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackVisibleChildPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackVisibleChildNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackAddNamedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackAddTitledMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetChildByNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetHhomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetInterpolateSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetTransitionDurationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetTransitionRunningMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetTransitionTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetVhomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetVisibleChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackGetVisibleChildNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSetHhomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSetInterpolateSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSetTransitionDurationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSetTransitionTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSetVhomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSetVisibleChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSetVisibleChildFullMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSetVisibleChildNameMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/StackAccessible.hs b/GI/Gtk/Objects/StackAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StackAccessible.hs
@@ -0,0 +1,165 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.StackAccessible
+    ( 
+
+-- * Exported types
+    StackAccessible(..)                     ,
+    IsStackAccessible                       ,
+    toStackAccessible                       ,
+    noStackAccessible                       ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype StackAccessible = StackAccessible (ManagedPtr StackAccessible)
+foreign import ccall "gtk_stack_accessible_get_type"
+    c_gtk_stack_accessible_get_type :: IO GType
+
+instance GObject StackAccessible where
+    gobjectType = c_gtk_stack_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `StackAccessible`, for instance with `toStackAccessible`.
+class (GObject o, O.IsDescendantOf StackAccessible o) => IsStackAccessible o
+instance (GObject o, O.IsDescendantOf StackAccessible o) => IsStackAccessible o
+
+instance O.HasParentTypes StackAccessible
+type instance O.ParentTypes StackAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `StackAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStackAccessible :: (MonadIO m, IsStackAccessible o) => o -> m StackAccessible
+toStackAccessible = liftIO . unsafeCastTo StackAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `StackAccessible`.
+noStackAccessible :: Maybe StackAccessible
+noStackAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStackAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStackAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveStackAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStackAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStackAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveStackAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveStackAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStackAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStackAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStackAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveStackAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveStackAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStackAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStackAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStackAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveStackAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveStackAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStackAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveStackAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveStackAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveStackAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStackAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveStackAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveStackAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveStackAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveStackAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStackAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveStackAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveStackAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStackAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStackAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStackAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStackAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStackAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveStackAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveStackAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStackAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveStackAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveStackAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveStackAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveStackAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveStackAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveStackAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveStackAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveStackAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveStackAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveStackAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveStackAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStackAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveStackAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveStackAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveStackAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStackAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveStackAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveStackAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveStackAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveStackAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveStackAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveStackAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveStackAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveStackAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveStackAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStackAccessibleMethod t StackAccessible, O.MethodInfo info StackAccessible p) => OL.IsLabel t (StackAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList StackAccessible
+type instance O.AttributeList StackAccessible = StackAccessibleAttributeList
+type StackAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList StackAccessible = StackAccessibleSignalList
+type StackAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/StackAccessible.hs-boot b/GI/Gtk/Objects/StackAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StackAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.StackAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype StackAccessible = StackAccessible (ManagedPtr StackAccessible)
+instance GObject StackAccessible where
+class (GObject o, O.IsDescendantOf StackAccessible o) => IsStackAccessible o
+instance (GObject o, O.IsDescendantOf StackAccessible o) => IsStackAccessible o
+instance O.HasParentTypes StackAccessible
diff --git a/GI/Gtk/Objects/StackSidebar.hs b/GI/Gtk/Objects/StackSidebar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StackSidebar.hs
@@ -0,0 +1,648 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkStackSidebar enables you to quickly and easily provide a
+consistent \"sidebar\" object for your user interface.
+
+In order to use a GtkStackSidebar, you simply use a GtkStack to
+organize your UI flow, and add the sidebar to your sidebar area. You
+can use 'GI.Gtk.Objects.StackSidebar.stackSidebarSetStack' to connect the 'GI.Gtk.Objects.StackSidebar.StackSidebar'
+to the 'GI.Gtk.Objects.Stack.Stack'.
+
+= CSS nodes
+
+GtkStackSidebar has a single CSS node with name stacksidebar and
+style class .sidebar.
+
+When circumstances require it, GtkStackSidebar adds the
+.needs-attention style class to the widgets representing the stack
+pages.
+
+/Since: 3.16/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.StackSidebar
+    ( 
+
+-- * Exported types
+    StackSidebar(..)                        ,
+    IsStackSidebar                          ,
+    toStackSidebar                          ,
+    noStackSidebar                          ,
+
+
+ -- * Methods
+-- ** getStack #method:getStack#
+
+#if ENABLE_OVERLOADING
+    StackSidebarGetStackMethodInfo          ,
+#endif
+    stackSidebarGetStack                    ,
+
+
+-- ** new #method:new#
+
+    stackSidebarNew                         ,
+
+
+-- ** setStack #method:setStack#
+
+#if ENABLE_OVERLOADING
+    StackSidebarSetStackMethodInfo          ,
+#endif
+    stackSidebarSetStack                    ,
+
+
+
+
+ -- * Properties
+-- ** stack #attr:stack#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StackSidebarStackPropertyInfo           ,
+#endif
+    constructStackSidebarStack              ,
+    getStackSidebarStack                    ,
+    setStackSidebarStack                    ,
+#if ENABLE_OVERLOADING
+    stackSidebarStack                       ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Stack as Gtk.Stack
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype StackSidebar = StackSidebar (ManagedPtr StackSidebar)
+foreign import ccall "gtk_stack_sidebar_get_type"
+    c_gtk_stack_sidebar_get_type :: IO GType
+
+instance GObject StackSidebar where
+    gobjectType = c_gtk_stack_sidebar_get_type
+    
+
+-- | Type class for types which can be safely cast to `StackSidebar`, for instance with `toStackSidebar`.
+class (GObject o, O.IsDescendantOf StackSidebar o) => IsStackSidebar o
+instance (GObject o, O.IsDescendantOf StackSidebar o) => IsStackSidebar o
+
+instance O.HasParentTypes StackSidebar
+type instance O.ParentTypes StackSidebar = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `StackSidebar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStackSidebar :: (MonadIO m, IsStackSidebar o) => o -> m StackSidebar
+toStackSidebar = liftIO . unsafeCastTo StackSidebar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `StackSidebar`.
+noStackSidebar :: Maybe StackSidebar
+noStackSidebar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStackSidebarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStackSidebarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveStackSidebarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveStackSidebarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveStackSidebarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveStackSidebarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveStackSidebarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveStackSidebarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveStackSidebarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveStackSidebarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStackSidebarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStackSidebarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveStackSidebarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveStackSidebarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveStackSidebarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveStackSidebarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveStackSidebarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveStackSidebarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveStackSidebarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveStackSidebarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveStackSidebarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveStackSidebarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveStackSidebarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveStackSidebarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveStackSidebarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveStackSidebarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveStackSidebarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveStackSidebarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveStackSidebarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveStackSidebarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveStackSidebarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveStackSidebarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveStackSidebarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveStackSidebarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveStackSidebarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveStackSidebarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveStackSidebarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveStackSidebarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveStackSidebarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveStackSidebarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveStackSidebarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveStackSidebarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveStackSidebarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveStackSidebarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveStackSidebarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveStackSidebarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveStackSidebarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveStackSidebarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveStackSidebarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveStackSidebarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveStackSidebarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveStackSidebarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveStackSidebarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveStackSidebarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveStackSidebarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveStackSidebarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveStackSidebarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveStackSidebarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveStackSidebarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveStackSidebarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveStackSidebarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveStackSidebarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveStackSidebarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveStackSidebarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStackSidebarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveStackSidebarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveStackSidebarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStackSidebarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStackSidebarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveStackSidebarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveStackSidebarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveStackSidebarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveStackSidebarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveStackSidebarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveStackSidebarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveStackSidebarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveStackSidebarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveStackSidebarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveStackSidebarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveStackSidebarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveStackSidebarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveStackSidebarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveStackSidebarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveStackSidebarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveStackSidebarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveStackSidebarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveStackSidebarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveStackSidebarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveStackSidebarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStackSidebarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveStackSidebarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveStackSidebarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveStackSidebarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveStackSidebarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveStackSidebarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveStackSidebarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveStackSidebarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveStackSidebarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveStackSidebarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveStackSidebarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveStackSidebarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveStackSidebarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveStackSidebarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveStackSidebarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveStackSidebarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveStackSidebarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveStackSidebarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStackSidebarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStackSidebarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveStackSidebarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveStackSidebarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveStackSidebarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveStackSidebarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveStackSidebarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveStackSidebarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveStackSidebarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveStackSidebarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveStackSidebarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveStackSidebarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveStackSidebarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveStackSidebarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveStackSidebarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveStackSidebarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveStackSidebarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveStackSidebarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStackSidebarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStackSidebarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveStackSidebarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveStackSidebarMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveStackSidebarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveStackSidebarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveStackSidebarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveStackSidebarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveStackSidebarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveStackSidebarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveStackSidebarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveStackSidebarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveStackSidebarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveStackSidebarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStackSidebarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveStackSidebarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveStackSidebarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveStackSidebarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveStackSidebarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveStackSidebarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveStackSidebarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveStackSidebarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveStackSidebarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveStackSidebarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStackSidebarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStackSidebarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveStackSidebarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveStackSidebarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveStackSidebarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStackSidebarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveStackSidebarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveStackSidebarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveStackSidebarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveStackSidebarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveStackSidebarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStackSidebarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveStackSidebarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveStackSidebarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveStackSidebarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStackSidebarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveStackSidebarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveStackSidebarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveStackSidebarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveStackSidebarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveStackSidebarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveStackSidebarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveStackSidebarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveStackSidebarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveStackSidebarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveStackSidebarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveStackSidebarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveStackSidebarMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveStackSidebarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveStackSidebarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveStackSidebarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveStackSidebarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveStackSidebarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveStackSidebarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveStackSidebarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStackSidebarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveStackSidebarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveStackSidebarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveStackSidebarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveStackSidebarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveStackSidebarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveStackSidebarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveStackSidebarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveStackSidebarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveStackSidebarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveStackSidebarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveStackSidebarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveStackSidebarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveStackSidebarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveStackSidebarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveStackSidebarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveStackSidebarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveStackSidebarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveStackSidebarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveStackSidebarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveStackSidebarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveStackSidebarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveStackSidebarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveStackSidebarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveStackSidebarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveStackSidebarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveStackSidebarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveStackSidebarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveStackSidebarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveStackSidebarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveStackSidebarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveStackSidebarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveStackSidebarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveStackSidebarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveStackSidebarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveStackSidebarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveStackSidebarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveStackSidebarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveStackSidebarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveStackSidebarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveStackSidebarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveStackSidebarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveStackSidebarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveStackSidebarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveStackSidebarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveStackSidebarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStackSidebarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveStackSidebarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveStackSidebarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveStackSidebarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveStackSidebarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveStackSidebarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveStackSidebarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveStackSidebarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveStackSidebarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveStackSidebarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveStackSidebarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveStackSidebarMethod "getStack" o = StackSidebarGetStackMethodInfo
+    ResolveStackSidebarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveStackSidebarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveStackSidebarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveStackSidebarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveStackSidebarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveStackSidebarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveStackSidebarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveStackSidebarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveStackSidebarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveStackSidebarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveStackSidebarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveStackSidebarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveStackSidebarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveStackSidebarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveStackSidebarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveStackSidebarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveStackSidebarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveStackSidebarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveStackSidebarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveStackSidebarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveStackSidebarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveStackSidebarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveStackSidebarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveStackSidebarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveStackSidebarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveStackSidebarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveStackSidebarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveStackSidebarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStackSidebarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveStackSidebarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveStackSidebarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveStackSidebarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveStackSidebarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveStackSidebarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveStackSidebarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveStackSidebarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveStackSidebarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveStackSidebarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveStackSidebarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveStackSidebarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveStackSidebarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveStackSidebarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveStackSidebarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveStackSidebarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveStackSidebarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveStackSidebarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveStackSidebarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveStackSidebarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveStackSidebarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveStackSidebarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveStackSidebarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveStackSidebarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveStackSidebarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveStackSidebarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveStackSidebarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveStackSidebarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveStackSidebarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveStackSidebarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveStackSidebarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveStackSidebarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveStackSidebarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveStackSidebarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveStackSidebarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveStackSidebarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveStackSidebarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveStackSidebarMethod "setStack" o = StackSidebarSetStackMethodInfo
+    ResolveStackSidebarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveStackSidebarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveStackSidebarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveStackSidebarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveStackSidebarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveStackSidebarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveStackSidebarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveStackSidebarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveStackSidebarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveStackSidebarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveStackSidebarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveStackSidebarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveStackSidebarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveStackSidebarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStackSidebarMethod t StackSidebar, O.MethodInfo info StackSidebar p) => OL.IsLabel t (StackSidebar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "stack"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Stack"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@stack@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stackSidebar #stack
+@
+-}
+getStackSidebarStack :: (MonadIO m, IsStackSidebar o) => o -> m (Maybe Gtk.Stack.Stack)
+getStackSidebarStack obj = liftIO $ B.Properties.getObjectPropertyObject obj "stack" Gtk.Stack.Stack
+
+{- |
+Set the value of the “@stack@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stackSidebar [ #stack 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackSidebarStack :: (MonadIO m, IsStackSidebar o, Gtk.Stack.IsStack a) => o -> a -> m ()
+setStackSidebarStack obj val = liftIO $ B.Properties.setObjectPropertyObject obj "stack" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stack@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackSidebarStack :: (IsStackSidebar o, Gtk.Stack.IsStack a) => a -> IO (GValueConstruct o)
+constructStackSidebarStack val = B.Properties.constructObjectPropertyObject "stack" (Just val)
+
+#if ENABLE_OVERLOADING
+data StackSidebarStackPropertyInfo
+instance AttrInfo StackSidebarStackPropertyInfo where
+    type AttrAllowedOps StackSidebarStackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackSidebarStackPropertyInfo = Gtk.Stack.IsStack
+    type AttrBaseTypeConstraint StackSidebarStackPropertyInfo = IsStackSidebar
+    type AttrGetType StackSidebarStackPropertyInfo = (Maybe Gtk.Stack.Stack)
+    type AttrLabel StackSidebarStackPropertyInfo = "stack"
+    type AttrOrigin StackSidebarStackPropertyInfo = StackSidebar
+    attrGet _ = getStackSidebarStack
+    attrSet _ = setStackSidebarStack
+    attrConstruct _ = constructStackSidebarStack
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList StackSidebar
+type instance O.AttributeList StackSidebar = StackSidebarAttributeList
+type StackSidebarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stack", StackSidebarStackPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+stackSidebarStack :: AttrLabelProxy "stack"
+stackSidebarStack = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList StackSidebar = StackSidebarSignalList
+type StackSidebarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method StackSidebar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StackSidebar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_sidebar_new" gtk_stack_sidebar_new :: 
+    IO (Ptr StackSidebar)
+
+{- |
+Creates a new sidebar.
+
+/Since: 3.16/
+-}
+stackSidebarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m StackSidebar
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.StackSidebar.StackSidebar' -}
+stackSidebarNew  = liftIO $ do
+    result <- gtk_stack_sidebar_new
+    checkUnexpectedReturnNULL "stackSidebarNew" result
+    result' <- (newObject StackSidebar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StackSidebar::get_stack
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "StackSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStackSidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Stack"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_sidebar_get_stack" gtk_stack_sidebar_get_stack :: 
+    Ptr StackSidebar ->                     -- sidebar : TInterface (Name {namespace = "Gtk", name = "StackSidebar"})
+    IO (Ptr Gtk.Stack.Stack)
+
+{- |
+Retrieves the stack.
+See 'GI.Gtk.Objects.StackSidebar.stackSidebarSetStack'.
+
+/Since: 3.16/
+-}
+stackSidebarGetStack ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStackSidebar a) =>
+    a
+    {- ^ /@sidebar@/: a 'GI.Gtk.Objects.StackSidebar.StackSidebar' -}
+    -> m (Maybe Gtk.Stack.Stack)
+    {- ^ __Returns:__ the associated 'GI.Gtk.Objects.Stack.Stack' or
+    'Nothing' if none has been set explicitly -}
+stackSidebarGetStack sidebar = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    result <- gtk_stack_sidebar_get_stack sidebar'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Stack.Stack) result'
+        return result''
+    touchManagedPtr sidebar
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StackSidebarGetStackMethodInfo
+instance (signature ~ (m (Maybe Gtk.Stack.Stack)), MonadIO m, IsStackSidebar a) => O.MethodInfo StackSidebarGetStackMethodInfo a signature where
+    overloadedMethod _ = stackSidebarGetStack
+
+#endif
+
+-- method StackSidebar::set_stack
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sidebar", argType = TInterface (Name {namespace = "Gtk", name = "StackSidebar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStackSidebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_sidebar_set_stack" gtk_stack_sidebar_set_stack :: 
+    Ptr StackSidebar ->                     -- sidebar : TInterface (Name {namespace = "Gtk", name = "StackSidebar"})
+    Ptr Gtk.Stack.Stack ->                  -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO ()
+
+{- |
+Set the 'GI.Gtk.Objects.Stack.Stack' associated with this 'GI.Gtk.Objects.StackSidebar.StackSidebar'.
+
+The sidebar widget will automatically update according to the order
+(packing) and items within the given 'GI.Gtk.Objects.Stack.Stack'.
+
+/Since: 3.16/
+-}
+stackSidebarSetStack ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStackSidebar a, Gtk.Stack.IsStack b) =>
+    a
+    {- ^ /@sidebar@/: a 'GI.Gtk.Objects.StackSidebar.StackSidebar' -}
+    -> b
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m ()
+stackSidebarSetStack sidebar stack = liftIO $ do
+    sidebar' <- unsafeManagedPtrCastPtr sidebar
+    stack' <- unsafeManagedPtrCastPtr stack
+    gtk_stack_sidebar_set_stack sidebar' stack'
+    touchManagedPtr sidebar
+    touchManagedPtr stack
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSidebarSetStackMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsStackSidebar a, Gtk.Stack.IsStack b) => O.MethodInfo StackSidebarSetStackMethodInfo a signature where
+    overloadedMethod _ = stackSidebarSetStack
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/StackSidebar.hs-boot b/GI/Gtk/Objects/StackSidebar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StackSidebar.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.StackSidebar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype StackSidebar = StackSidebar (ManagedPtr StackSidebar)
+instance GObject StackSidebar where
+class (GObject o, O.IsDescendantOf StackSidebar o) => IsStackSidebar o
+instance (GObject o, O.IsDescendantOf StackSidebar o) => IsStackSidebar o
+instance O.HasParentTypes StackSidebar
+#if ENABLE_OVERLOADING
+data StackSidebarStackPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSidebarGetStackMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSidebarSetStackMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/StackSwitcher.hs b/GI/Gtk/Objects/StackSwitcher.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StackSwitcher.hs
@@ -0,0 +1,748 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The GtkStackSwitcher widget acts as a controller for a
+'GI.Gtk.Objects.Stack.Stack'; it shows a row of buttons to switch between
+the various pages of the associated stack widget.
+
+All the content for the buttons comes from the child properties
+of the 'GI.Gtk.Objects.Stack.Stack'; the button visibility in a 'GI.Gtk.Objects.StackSwitcher.StackSwitcher'
+widget is controlled by the visibility of the child in the
+'GI.Gtk.Objects.Stack.Stack'.
+
+It is possible to associate multiple 'GI.Gtk.Objects.StackSwitcher.StackSwitcher' widgets
+with the same 'GI.Gtk.Objects.Stack.Stack' widget.
+
+The GtkStackSwitcher widget was added in 3.10.
+
+= CSS nodes
+
+GtkStackSwitcher has a single CSS node named stackswitcher and
+style class .stack-switcher.
+
+When circumstances require it, GtkStackSwitcher adds the
+.needs-attention style class to the widgets representing the
+stack pages.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.StackSwitcher
+    ( 
+
+-- * Exported types
+    StackSwitcher(..)                       ,
+    IsStackSwitcher                         ,
+    toStackSwitcher                         ,
+    noStackSwitcher                         ,
+
+
+ -- * Methods
+-- ** getStack #method:getStack#
+
+#if ENABLE_OVERLOADING
+    StackSwitcherGetStackMethodInfo         ,
+#endif
+    stackSwitcherGetStack                   ,
+
+
+-- ** new #method:new#
+
+    stackSwitcherNew                        ,
+
+
+-- ** setStack #method:setStack#
+
+#if ENABLE_OVERLOADING
+    StackSwitcherSetStackMethodInfo         ,
+#endif
+    stackSwitcherSetStack                   ,
+
+
+
+
+ -- * Properties
+-- ** iconSize #attr:iconSize#
+{- | Use the \"icon-size\" property to change the size of the image displayed
+when a 'GI.Gtk.Objects.StackSwitcher.StackSwitcher' is displaying icons.
+
+/Since: 3.20/
+-}
+#if ENABLE_OVERLOADING
+    StackSwitcherIconSizePropertyInfo       ,
+#endif
+    constructStackSwitcherIconSize          ,
+    getStackSwitcherIconSize                ,
+    setStackSwitcherIconSize                ,
+#if ENABLE_OVERLOADING
+    stackSwitcherIconSize                   ,
+#endif
+
+
+-- ** stack #attr:stack#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StackSwitcherStackPropertyInfo          ,
+#endif
+    clearStackSwitcherStack                 ,
+    constructStackSwitcherStack             ,
+    getStackSwitcherStack                   ,
+    setStackSwitcherStack                   ,
+#if ENABLE_OVERLOADING
+    stackSwitcherStack                      ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Stack as Gtk.Stack
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype StackSwitcher = StackSwitcher (ManagedPtr StackSwitcher)
+foreign import ccall "gtk_stack_switcher_get_type"
+    c_gtk_stack_switcher_get_type :: IO GType
+
+instance GObject StackSwitcher where
+    gobjectType = c_gtk_stack_switcher_get_type
+    
+
+-- | Type class for types which can be safely cast to `StackSwitcher`, for instance with `toStackSwitcher`.
+class (GObject o, O.IsDescendantOf StackSwitcher o) => IsStackSwitcher o
+instance (GObject o, O.IsDescendantOf StackSwitcher o) => IsStackSwitcher o
+
+instance O.HasParentTypes StackSwitcher
+type instance O.ParentTypes StackSwitcher = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `StackSwitcher`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStackSwitcher :: (MonadIO m, IsStackSwitcher o) => o -> m StackSwitcher
+toStackSwitcher = liftIO . unsafeCastTo StackSwitcher
+
+-- | A convenience alias for `Nothing` :: `Maybe` `StackSwitcher`.
+noStackSwitcher :: Maybe StackSwitcher
+noStackSwitcher = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStackSwitcherMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStackSwitcherMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveStackSwitcherMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveStackSwitcherMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveStackSwitcherMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveStackSwitcherMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveStackSwitcherMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveStackSwitcherMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveStackSwitcherMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveStackSwitcherMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStackSwitcherMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStackSwitcherMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveStackSwitcherMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveStackSwitcherMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveStackSwitcherMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveStackSwitcherMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveStackSwitcherMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveStackSwitcherMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveStackSwitcherMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveStackSwitcherMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveStackSwitcherMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveStackSwitcherMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveStackSwitcherMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveStackSwitcherMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveStackSwitcherMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveStackSwitcherMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveStackSwitcherMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveStackSwitcherMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveStackSwitcherMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveStackSwitcherMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveStackSwitcherMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveStackSwitcherMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveStackSwitcherMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveStackSwitcherMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveStackSwitcherMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveStackSwitcherMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveStackSwitcherMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveStackSwitcherMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveStackSwitcherMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveStackSwitcherMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveStackSwitcherMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveStackSwitcherMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveStackSwitcherMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveStackSwitcherMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveStackSwitcherMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveStackSwitcherMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveStackSwitcherMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveStackSwitcherMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveStackSwitcherMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveStackSwitcherMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveStackSwitcherMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveStackSwitcherMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveStackSwitcherMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveStackSwitcherMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveStackSwitcherMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveStackSwitcherMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveStackSwitcherMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveStackSwitcherMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveStackSwitcherMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveStackSwitcherMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveStackSwitcherMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveStackSwitcherMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveStackSwitcherMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveStackSwitcherMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStackSwitcherMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveStackSwitcherMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveStackSwitcherMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStackSwitcherMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStackSwitcherMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveStackSwitcherMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveStackSwitcherMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveStackSwitcherMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveStackSwitcherMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveStackSwitcherMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveStackSwitcherMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveStackSwitcherMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveStackSwitcherMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveStackSwitcherMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveStackSwitcherMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveStackSwitcherMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveStackSwitcherMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveStackSwitcherMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveStackSwitcherMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveStackSwitcherMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveStackSwitcherMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveStackSwitcherMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveStackSwitcherMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveStackSwitcherMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveStackSwitcherMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStackSwitcherMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveStackSwitcherMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveStackSwitcherMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveStackSwitcherMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveStackSwitcherMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveStackSwitcherMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveStackSwitcherMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveStackSwitcherMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveStackSwitcherMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveStackSwitcherMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveStackSwitcherMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveStackSwitcherMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveStackSwitcherMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveStackSwitcherMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveStackSwitcherMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveStackSwitcherMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveStackSwitcherMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveStackSwitcherMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStackSwitcherMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStackSwitcherMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveStackSwitcherMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveStackSwitcherMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveStackSwitcherMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveStackSwitcherMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveStackSwitcherMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveStackSwitcherMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveStackSwitcherMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveStackSwitcherMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveStackSwitcherMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveStackSwitcherMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveStackSwitcherMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveStackSwitcherMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveStackSwitcherMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveStackSwitcherMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveStackSwitcherMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveStackSwitcherMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveStackSwitcherMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveStackSwitcherMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveStackSwitcherMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStackSwitcherMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStackSwitcherMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveStackSwitcherMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveStackSwitcherMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveStackSwitcherMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveStackSwitcherMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveStackSwitcherMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveStackSwitcherMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveStackSwitcherMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveStackSwitcherMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveStackSwitcherMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveStackSwitcherMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveStackSwitcherMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveStackSwitcherMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveStackSwitcherMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStackSwitcherMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveStackSwitcherMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveStackSwitcherMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveStackSwitcherMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveStackSwitcherMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveStackSwitcherMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveStackSwitcherMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveStackSwitcherMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveStackSwitcherMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveStackSwitcherMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStackSwitcherMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStackSwitcherMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveStackSwitcherMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveStackSwitcherMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveStackSwitcherMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStackSwitcherMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveStackSwitcherMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveStackSwitcherMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveStackSwitcherMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveStackSwitcherMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveStackSwitcherMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStackSwitcherMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveStackSwitcherMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveStackSwitcherMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveStackSwitcherMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStackSwitcherMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveStackSwitcherMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveStackSwitcherMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveStackSwitcherMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveStackSwitcherMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveStackSwitcherMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveStackSwitcherMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveStackSwitcherMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveStackSwitcherMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveStackSwitcherMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveStackSwitcherMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveStackSwitcherMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveStackSwitcherMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveStackSwitcherMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveStackSwitcherMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveStackSwitcherMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveStackSwitcherMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveStackSwitcherMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveStackSwitcherMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveStackSwitcherMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveStackSwitcherMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStackSwitcherMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveStackSwitcherMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveStackSwitcherMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveStackSwitcherMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveStackSwitcherMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveStackSwitcherMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveStackSwitcherMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveStackSwitcherMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveStackSwitcherMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveStackSwitcherMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveStackSwitcherMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveStackSwitcherMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveStackSwitcherMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveStackSwitcherMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveStackSwitcherMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveStackSwitcherMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveStackSwitcherMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveStackSwitcherMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveStackSwitcherMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveStackSwitcherMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveStackSwitcherMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveStackSwitcherMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveStackSwitcherMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveStackSwitcherMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveStackSwitcherMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveStackSwitcherMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveStackSwitcherMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveStackSwitcherMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveStackSwitcherMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveStackSwitcherMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveStackSwitcherMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveStackSwitcherMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveStackSwitcherMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveStackSwitcherMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveStackSwitcherMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveStackSwitcherMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveStackSwitcherMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveStackSwitcherMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveStackSwitcherMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveStackSwitcherMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveStackSwitcherMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveStackSwitcherMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveStackSwitcherMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveStackSwitcherMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveStackSwitcherMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveStackSwitcherMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveStackSwitcherMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveStackSwitcherMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStackSwitcherMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveStackSwitcherMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveStackSwitcherMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveStackSwitcherMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveStackSwitcherMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveStackSwitcherMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveStackSwitcherMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveStackSwitcherMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveStackSwitcherMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveStackSwitcherMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveStackSwitcherMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveStackSwitcherMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveStackSwitcherMethod "getStack" o = StackSwitcherGetStackMethodInfo
+    ResolveStackSwitcherMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveStackSwitcherMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveStackSwitcherMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveStackSwitcherMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveStackSwitcherMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveStackSwitcherMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveStackSwitcherMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveStackSwitcherMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveStackSwitcherMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveStackSwitcherMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveStackSwitcherMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveStackSwitcherMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveStackSwitcherMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveStackSwitcherMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveStackSwitcherMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveStackSwitcherMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveStackSwitcherMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveStackSwitcherMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveStackSwitcherMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveStackSwitcherMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveStackSwitcherMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveStackSwitcherMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveStackSwitcherMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveStackSwitcherMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveStackSwitcherMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveStackSwitcherMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveStackSwitcherMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveStackSwitcherMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveStackSwitcherMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveStackSwitcherMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveStackSwitcherMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStackSwitcherMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveStackSwitcherMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveStackSwitcherMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveStackSwitcherMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveStackSwitcherMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveStackSwitcherMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveStackSwitcherMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveStackSwitcherMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveStackSwitcherMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveStackSwitcherMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveStackSwitcherMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveStackSwitcherMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveStackSwitcherMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveStackSwitcherMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveStackSwitcherMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveStackSwitcherMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveStackSwitcherMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveStackSwitcherMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveStackSwitcherMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveStackSwitcherMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveStackSwitcherMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveStackSwitcherMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveStackSwitcherMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveStackSwitcherMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveStackSwitcherMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveStackSwitcherMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveStackSwitcherMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveStackSwitcherMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveStackSwitcherMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveStackSwitcherMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveStackSwitcherMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveStackSwitcherMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveStackSwitcherMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveStackSwitcherMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveStackSwitcherMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveStackSwitcherMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveStackSwitcherMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveStackSwitcherMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveStackSwitcherMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveStackSwitcherMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveStackSwitcherMethod "setStack" o = StackSwitcherSetStackMethodInfo
+    ResolveStackSwitcherMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveStackSwitcherMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveStackSwitcherMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveStackSwitcherMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveStackSwitcherMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveStackSwitcherMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveStackSwitcherMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveStackSwitcherMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveStackSwitcherMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveStackSwitcherMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveStackSwitcherMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveStackSwitcherMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveStackSwitcherMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveStackSwitcherMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStackSwitcherMethod t StackSwitcher, O.MethodInfo info StackSwitcher p) => OL.IsLabel t (StackSwitcher -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "icon-size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stackSwitcher #iconSize
+@
+-}
+getStackSwitcherIconSize :: (MonadIO m, IsStackSwitcher o) => o -> m Int32
+getStackSwitcherIconSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "icon-size"
+
+{- |
+Set the value of the “@icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stackSwitcher [ #iconSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackSwitcherIconSize :: (MonadIO m, IsStackSwitcher o) => o -> Int32 -> m ()
+setStackSwitcherIconSize obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "icon-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackSwitcherIconSize :: (IsStackSwitcher o) => Int32 -> IO (GValueConstruct o)
+constructStackSwitcherIconSize val = B.Properties.constructObjectPropertyInt32 "icon-size" val
+
+#if ENABLE_OVERLOADING
+data StackSwitcherIconSizePropertyInfo
+instance AttrInfo StackSwitcherIconSizePropertyInfo where
+    type AttrAllowedOps StackSwitcherIconSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StackSwitcherIconSizePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint StackSwitcherIconSizePropertyInfo = IsStackSwitcher
+    type AttrGetType StackSwitcherIconSizePropertyInfo = Int32
+    type AttrLabel StackSwitcherIconSizePropertyInfo = "icon-size"
+    type AttrOrigin StackSwitcherIconSizePropertyInfo = StackSwitcher
+    attrGet _ = getStackSwitcherIconSize
+    attrSet _ = setStackSwitcherIconSize
+    attrConstruct _ = constructStackSwitcherIconSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "stack"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Stack"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@stack@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stackSwitcher #stack
+@
+-}
+getStackSwitcherStack :: (MonadIO m, IsStackSwitcher o) => o -> m (Maybe Gtk.Stack.Stack)
+getStackSwitcherStack obj = liftIO $ B.Properties.getObjectPropertyObject obj "stack" Gtk.Stack.Stack
+
+{- |
+Set the value of the “@stack@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stackSwitcher [ #stack 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStackSwitcherStack :: (MonadIO m, IsStackSwitcher o, Gtk.Stack.IsStack a) => o -> a -> m ()
+setStackSwitcherStack obj val = liftIO $ B.Properties.setObjectPropertyObject obj "stack" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stack@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStackSwitcherStack :: (IsStackSwitcher o, Gtk.Stack.IsStack a) => a -> IO (GValueConstruct o)
+constructStackSwitcherStack val = B.Properties.constructObjectPropertyObject "stack" (Just val)
+
+{- |
+Set the value of the “@stack@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stack
+@
+-}
+clearStackSwitcherStack :: (MonadIO m, IsStackSwitcher o) => o -> m ()
+clearStackSwitcherStack obj = liftIO $ B.Properties.setObjectPropertyObject obj "stack" (Nothing :: Maybe Gtk.Stack.Stack)
+
+#if ENABLE_OVERLOADING
+data StackSwitcherStackPropertyInfo
+instance AttrInfo StackSwitcherStackPropertyInfo where
+    type AttrAllowedOps StackSwitcherStackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StackSwitcherStackPropertyInfo = Gtk.Stack.IsStack
+    type AttrBaseTypeConstraint StackSwitcherStackPropertyInfo = IsStackSwitcher
+    type AttrGetType StackSwitcherStackPropertyInfo = (Maybe Gtk.Stack.Stack)
+    type AttrLabel StackSwitcherStackPropertyInfo = "stack"
+    type AttrOrigin StackSwitcherStackPropertyInfo = StackSwitcher
+    attrGet _ = getStackSwitcherStack
+    attrSet _ = setStackSwitcherStack
+    attrConstruct _ = constructStackSwitcherStack
+    attrClear _ = clearStackSwitcherStack
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList StackSwitcher
+type instance O.AttributeList StackSwitcher = StackSwitcherAttributeList
+type StackSwitcherAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("iconSize", StackSwitcherIconSizePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("stack", StackSwitcherStackPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+stackSwitcherIconSize :: AttrLabelProxy "iconSize"
+stackSwitcherIconSize = AttrLabelProxy
+
+stackSwitcherStack :: AttrLabelProxy "stack"
+stackSwitcherStack = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList StackSwitcher = StackSwitcherSignalList
+type StackSwitcherSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method StackSwitcher::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StackSwitcher"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_switcher_new" gtk_stack_switcher_new :: 
+    IO (Ptr StackSwitcher)
+
+{- |
+Create a new 'GI.Gtk.Objects.StackSwitcher.StackSwitcher'.
+
+/Since: 3.10/
+-}
+stackSwitcherNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m StackSwitcher
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.StackSwitcher.StackSwitcher'. -}
+stackSwitcherNew  = liftIO $ do
+    result <- gtk_stack_switcher_new
+    checkUnexpectedReturnNULL "stackSwitcherNew" result
+    result' <- (newObject StackSwitcher) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StackSwitcher::get_stack
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "switcher", argType = TInterface (Name {namespace = "Gtk", name = "StackSwitcher"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStackSwitcher", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Stack"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_switcher_get_stack" gtk_stack_switcher_get_stack :: 
+    Ptr StackSwitcher ->                    -- switcher : TInterface (Name {namespace = "Gtk", name = "StackSwitcher"})
+    IO (Ptr Gtk.Stack.Stack)
+
+{- |
+Retrieves the stack.
+See 'GI.Gtk.Objects.StackSwitcher.stackSwitcherSetStack'.
+
+/Since: 3.10/
+-}
+stackSwitcherGetStack ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStackSwitcher a) =>
+    a
+    {- ^ /@switcher@/: a 'GI.Gtk.Objects.StackSwitcher.StackSwitcher' -}
+    -> m (Maybe Gtk.Stack.Stack)
+    {- ^ __Returns:__ the stack, or 'Nothing' if
+   none has been set explicitly. -}
+stackSwitcherGetStack switcher = liftIO $ do
+    switcher' <- unsafeManagedPtrCastPtr switcher
+    result <- gtk_stack_switcher_get_stack switcher'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Stack.Stack) result'
+        return result''
+    touchManagedPtr switcher
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StackSwitcherGetStackMethodInfo
+instance (signature ~ (m (Maybe Gtk.Stack.Stack)), MonadIO m, IsStackSwitcher a) => O.MethodInfo StackSwitcherGetStackMethodInfo a signature where
+    overloadedMethod _ = stackSwitcherGetStack
+
+#endif
+
+-- method StackSwitcher::set_stack
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "switcher", argType = TInterface (Name {namespace = "Gtk", name = "StackSwitcher"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStackSwitcher", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stack", argType = TInterface (Name {namespace = "Gtk", name = "Stack"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stack_switcher_set_stack" gtk_stack_switcher_set_stack :: 
+    Ptr StackSwitcher ->                    -- switcher : TInterface (Name {namespace = "Gtk", name = "StackSwitcher"})
+    Ptr Gtk.Stack.Stack ->                  -- stack : TInterface (Name {namespace = "Gtk", name = "Stack"})
+    IO ()
+
+{- |
+Sets the stack to control.
+
+/Since: 3.10/
+-}
+stackSwitcherSetStack ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStackSwitcher a, Gtk.Stack.IsStack b) =>
+    a
+    {- ^ /@switcher@/: a 'GI.Gtk.Objects.StackSwitcher.StackSwitcher' -}
+    -> Maybe (b)
+    {- ^ /@stack@/: a 'GI.Gtk.Objects.Stack.Stack' -}
+    -> m ()
+stackSwitcherSetStack switcher stack = liftIO $ do
+    switcher' <- unsafeManagedPtrCastPtr switcher
+    maybeStack <- case stack of
+        Nothing -> return nullPtr
+        Just jStack -> do
+            jStack' <- unsafeManagedPtrCastPtr jStack
+            return jStack'
+    gtk_stack_switcher_set_stack switcher' maybeStack
+    touchManagedPtr switcher
+    whenJust stack touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data StackSwitcherSetStackMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsStackSwitcher a, Gtk.Stack.IsStack b) => O.MethodInfo StackSwitcherSetStackMethodInfo a signature where
+    overloadedMethod _ = stackSwitcherSetStack
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/StackSwitcher.hs-boot b/GI/Gtk/Objects/StackSwitcher.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StackSwitcher.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.StackSwitcher where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype StackSwitcher = StackSwitcher (ManagedPtr StackSwitcher)
+instance GObject StackSwitcher where
+class (GObject o, O.IsDescendantOf StackSwitcher o) => IsStackSwitcher o
+instance (GObject o, O.IsDescendantOf StackSwitcher o) => IsStackSwitcher o
+instance O.HasParentTypes StackSwitcher
+#if ENABLE_OVERLOADING
+data StackSwitcherIconSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSwitcherStackPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSwitcherGetStackMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StackSwitcherSetStackMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/StatusIcon.hs b/GI/Gtk/Objects/StatusIcon.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StatusIcon.hs
@@ -0,0 +1,3648 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The “system tray” or notification area is normally used for transient icons
+that indicate some special state. For example, a system tray icon might
+appear to tell the user that they have new mail, or have an incoming instant
+message, or something along those lines. The basic idea is that creating an
+icon in the notification area is less annoying than popping up a dialog.
+
+A 'GI.Gtk.Objects.StatusIcon.StatusIcon' object can be used to display an icon in a “system tray”.
+The icon can have a tooltip, and the user can interact with it by
+activating it or popping up a context menu.
+
+It is very important to notice that status icons depend on the existence
+of a notification area being available to the user; you should not use status
+icons as the only way to convey critical information regarding your application,
+as the notification area may not exist on the user\'s environment, or may have
+been removed. You should always check that a status icon has been embedded into
+a notification area by using 'GI.Gtk.Objects.StatusIcon.statusIconIsEmbedded', and gracefully
+recover if the function returns 'False'.
+
+On X11, the implementation follows the
+<http://www.freedesktop.org/wiki/Specifications/systemtray-spec FreeDesktop System Tray Specification>.
+Implementations of the “tray” side of this specification can
+be found e.g. in the GNOME 2 and KDE panel applications.
+
+Note that a GtkStatusIcon is not a widget, but just a 'GI.GObject.Objects.Object.Object'. Making it a
+widget would be impractical, since the system tray on Windows doesn’t allow
+to embed arbitrary widgets.
+
+GtkStatusIcon has been deprecated in 3.14. You should consider using
+notifications or more modern platform-specific APIs instead. GLib provides
+the 'GI.Gio.Objects.Notification.Notification' API which works well with 'GI.Gtk.Objects.Application.Application' on multiple
+platforms and environments, and should be the preferred mechanism to notify
+the users of transient status updates. See this <https://wiki.gnome.org/HowDoI/GNotification HowDoI>
+for code examples.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.StatusIcon
+    ( 
+
+-- * Exported types
+    StatusIcon(..)                          ,
+    IsStatusIcon                            ,
+    toStatusIcon                            ,
+    noStatusIcon                            ,
+
+
+ -- * Methods
+-- ** getGeometry #method:getGeometry#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetGeometryMethodInfo         ,
+#endif
+    statusIconGetGeometry                   ,
+
+
+-- ** getGicon #method:getGicon#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetGiconMethodInfo            ,
+#endif
+    statusIconGetGicon                      ,
+
+
+-- ** getHasTooltip #method:getHasTooltip#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetHasTooltipMethodInfo       ,
+#endif
+    statusIconGetHasTooltip                 ,
+
+
+-- ** getIconName #method:getIconName#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetIconNameMethodInfo         ,
+#endif
+    statusIconGetIconName                   ,
+
+
+-- ** getPixbuf #method:getPixbuf#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetPixbufMethodInfo           ,
+#endif
+    statusIconGetPixbuf                     ,
+
+
+-- ** getScreen #method:getScreen#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetScreenMethodInfo           ,
+#endif
+    statusIconGetScreen                     ,
+
+
+-- ** getSize #method:getSize#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetSizeMethodInfo             ,
+#endif
+    statusIconGetSize                       ,
+
+
+-- ** getStock #method:getStock#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetStockMethodInfo            ,
+#endif
+    statusIconGetStock                      ,
+
+
+-- ** getStorageType #method:getStorageType#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetStorageTypeMethodInfo      ,
+#endif
+    statusIconGetStorageType                ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetTitleMethodInfo            ,
+#endif
+    statusIconGetTitle                      ,
+
+
+-- ** getTooltipMarkup #method:getTooltipMarkup#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetTooltipMarkupMethodInfo    ,
+#endif
+    statusIconGetTooltipMarkup              ,
+
+
+-- ** getTooltipText #method:getTooltipText#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetTooltipTextMethodInfo      ,
+#endif
+    statusIconGetTooltipText                ,
+
+
+-- ** getVisible #method:getVisible#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetVisibleMethodInfo          ,
+#endif
+    statusIconGetVisible                    ,
+
+
+-- ** getX11WindowId #method:getX11WindowId#
+
+#if ENABLE_OVERLOADING
+    StatusIconGetX11WindowIdMethodInfo      ,
+#endif
+    statusIconGetX11WindowId                ,
+
+
+-- ** isEmbedded #method:isEmbedded#
+
+#if ENABLE_OVERLOADING
+    StatusIconIsEmbeddedMethodInfo          ,
+#endif
+    statusIconIsEmbedded                    ,
+
+
+-- ** new #method:new#
+
+    statusIconNew                           ,
+
+
+-- ** newFromFile #method:newFromFile#
+
+    statusIconNewFromFile                   ,
+
+
+-- ** newFromGicon #method:newFromGicon#
+
+    statusIconNewFromGicon                  ,
+
+
+-- ** newFromIconName #method:newFromIconName#
+
+    statusIconNewFromIconName               ,
+
+
+-- ** newFromPixbuf #method:newFromPixbuf#
+
+    statusIconNewFromPixbuf                 ,
+
+
+-- ** newFromStock #method:newFromStock#
+
+    statusIconNewFromStock                  ,
+
+
+-- ** positionMenu #method:positionMenu#
+
+    statusIconPositionMenu                  ,
+
+
+-- ** setFromFile #method:setFromFile#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetFromFileMethodInfo         ,
+#endif
+    statusIconSetFromFile                   ,
+
+
+-- ** setFromGicon #method:setFromGicon#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetFromGiconMethodInfo        ,
+#endif
+    statusIconSetFromGicon                  ,
+
+
+-- ** setFromIconName #method:setFromIconName#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetFromIconNameMethodInfo     ,
+#endif
+    statusIconSetFromIconName               ,
+
+
+-- ** setFromPixbuf #method:setFromPixbuf#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetFromPixbufMethodInfo       ,
+#endif
+    statusIconSetFromPixbuf                 ,
+
+
+-- ** setFromStock #method:setFromStock#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetFromStockMethodInfo        ,
+#endif
+    statusIconSetFromStock                  ,
+
+
+-- ** setHasTooltip #method:setHasTooltip#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetHasTooltipMethodInfo       ,
+#endif
+    statusIconSetHasTooltip                 ,
+
+
+-- ** setName #method:setName#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetNameMethodInfo             ,
+#endif
+    statusIconSetName                       ,
+
+
+-- ** setScreen #method:setScreen#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetScreenMethodInfo           ,
+#endif
+    statusIconSetScreen                     ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetTitleMethodInfo            ,
+#endif
+    statusIconSetTitle                      ,
+
+
+-- ** setTooltipMarkup #method:setTooltipMarkup#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetTooltipMarkupMethodInfo    ,
+#endif
+    statusIconSetTooltipMarkup              ,
+
+
+-- ** setTooltipText #method:setTooltipText#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetTooltipTextMethodInfo      ,
+#endif
+    statusIconSetTooltipText                ,
+
+
+-- ** setVisible #method:setVisible#
+
+#if ENABLE_OVERLOADING
+    StatusIconSetVisibleMethodInfo          ,
+#endif
+    statusIconSetVisible                    ,
+
+
+
+
+ -- * Properties
+-- ** embedded #attr:embedded#
+{- | 'True' if the statusicon is embedded in a notification area.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    StatusIconEmbeddedPropertyInfo          ,
+#endif
+    getStatusIconEmbedded                   ,
+#if ENABLE_OVERLOADING
+    statusIconEmbedded                      ,
+#endif
+
+
+-- ** file #attr:file#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StatusIconFilePropertyInfo              ,
+#endif
+    clearStatusIconFile                     ,
+    constructStatusIconFile                 ,
+    setStatusIconFile                       ,
+#if ENABLE_OVERLOADING
+    statusIconFile                          ,
+#endif
+
+
+-- ** gicon #attr:gicon#
+{- | The 'GI.Gio.Interfaces.Icon.Icon' displayed in the 'GI.Gtk.Objects.StatusIcon.StatusIcon'. For themed icons,
+the image will be updated automatically if the theme changes.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    StatusIconGiconPropertyInfo             ,
+#endif
+    clearStatusIconGicon                    ,
+    constructStatusIconGicon                ,
+    getStatusIconGicon                      ,
+    setStatusIconGicon                      ,
+#if ENABLE_OVERLOADING
+    statusIconGicon                         ,
+#endif
+
+
+-- ** hasTooltip #attr:hasTooltip#
+{- | Enables or disables the emission of 'GI.Gtk.Objects.StatusIcon.StatusIcon'::@/query-tooltip/@ on
+/@statusIcon@/.  A value of 'True' indicates that /@statusIcon@/ can have a
+tooltip, in this case the status icon will be queried using
+'GI.Gtk.Objects.StatusIcon.StatusIcon'::@/query-tooltip/@ to determine whether it will provide a
+tooltip or not.
+
+Note that setting this property to 'True' for the first time will change
+the event masks of the windows of this status icon to include leave-notify
+and motion-notify events. This will not be undone when the property is set
+to 'False' again.
+
+Whether this property is respected is platform dependent.
+For plain text tooltips, use 'GI.Gtk.Objects.StatusIcon.StatusIcon':@/tooltip-text/@ in preference.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    StatusIconHasTooltipPropertyInfo        ,
+#endif
+    constructStatusIconHasTooltip           ,
+    getStatusIconHasTooltip                 ,
+    setStatusIconHasTooltip                 ,
+#if ENABLE_OVERLOADING
+    statusIconHasTooltip                    ,
+#endif
+
+
+-- ** iconName #attr:iconName#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StatusIconIconNamePropertyInfo          ,
+#endif
+    clearStatusIconIconName                 ,
+    constructStatusIconIconName             ,
+    getStatusIconIconName                   ,
+    setStatusIconIconName                   ,
+#if ENABLE_OVERLOADING
+    statusIconIconName                      ,
+#endif
+
+
+-- ** orientation #attr:orientation#
+{- | The orientation of the tray in which the statusicon
+is embedded.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    StatusIconOrientationPropertyInfo       ,
+#endif
+    getStatusIconOrientation                ,
+#if ENABLE_OVERLOADING
+    statusIconOrientation                   ,
+#endif
+
+
+-- ** pixbuf #attr:pixbuf#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StatusIconPixbufPropertyInfo            ,
+#endif
+    clearStatusIconPixbuf                   ,
+    constructStatusIconPixbuf               ,
+    getStatusIconPixbuf                     ,
+    setStatusIconPixbuf                     ,
+#if ENABLE_OVERLOADING
+    statusIconPixbuf                        ,
+#endif
+
+
+-- ** screen #attr:screen#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StatusIconScreenPropertyInfo            ,
+#endif
+    constructStatusIconScreen               ,
+    getStatusIconScreen                     ,
+    setStatusIconScreen                     ,
+#if ENABLE_OVERLOADING
+    statusIconScreen                        ,
+#endif
+
+
+-- ** size #attr:size#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StatusIconSizePropertyInfo              ,
+#endif
+    getStatusIconSize                       ,
+#if ENABLE_OVERLOADING
+    statusIconSize                          ,
+#endif
+
+
+-- ** stock #attr:stock#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StatusIconStockPropertyInfo             ,
+#endif
+    clearStatusIconStock                    ,
+    constructStatusIconStock                ,
+    getStatusIconStock                      ,
+    setStatusIconStock                      ,
+#if ENABLE_OVERLOADING
+    statusIconStock                         ,
+#endif
+
+
+-- ** storageType #attr:storageType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StatusIconStorageTypePropertyInfo       ,
+#endif
+    getStatusIconStorageType                ,
+#if ENABLE_OVERLOADING
+    statusIconStorageType                   ,
+#endif
+
+
+-- ** title #attr:title#
+{- | The title of this tray icon. This should be a short, human-readable,
+localized string describing the tray icon. It may be used by tools
+like screen readers to render the tray icon.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    StatusIconTitlePropertyInfo             ,
+#endif
+    constructStatusIconTitle                ,
+    getStatusIconTitle                      ,
+    setStatusIconTitle                      ,
+#if ENABLE_OVERLOADING
+    statusIconTitle                         ,
+#endif
+
+
+-- ** tooltipMarkup #attr:tooltipMarkup#
+{- | Sets the text of tooltip to be the given string, which is marked up
+with the [Pango text markup language][PangoMarkupFormat].
+Also see 'GI.Gtk.Objects.Tooltip.tooltipSetMarkup'.
+
+This is a convenience property which will take care of getting the
+tooltip shown if the given string is not 'Nothing'.
+'GI.Gtk.Objects.StatusIcon.StatusIcon':@/has-tooltip/@ will automatically be set to 'True' and
+the default handler for the 'GI.Gtk.Objects.StatusIcon.StatusIcon'::@/query-tooltip/@ signal
+will take care of displaying the tooltip.
+
+On some platforms, embedded markup will be ignored.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    StatusIconTooltipMarkupPropertyInfo     ,
+#endif
+    clearStatusIconTooltipMarkup            ,
+    constructStatusIconTooltipMarkup        ,
+    getStatusIconTooltipMarkup              ,
+    setStatusIconTooltipMarkup              ,
+#if ENABLE_OVERLOADING
+    statusIconTooltipMarkup                 ,
+#endif
+
+
+-- ** tooltipText #attr:tooltipText#
+{- | Sets the text of tooltip to be the given string.
+
+Also see 'GI.Gtk.Objects.Tooltip.tooltipSetText'.
+
+This is a convenience property which will take care of getting the
+tooltip shown if the given string is not 'Nothing'.
+'GI.Gtk.Objects.StatusIcon.StatusIcon':@/has-tooltip/@ will automatically be set to 'True' and
+the default handler for the 'GI.Gtk.Objects.StatusIcon.StatusIcon'::@/query-tooltip/@ signal
+will take care of displaying the tooltip.
+
+Note that some platforms have limitations on the length of tooltips
+that they allow on status icons, e.g. Windows only shows the first
+64 characters.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    StatusIconTooltipTextPropertyInfo       ,
+#endif
+    constructStatusIconTooltipText          ,
+    getStatusIconTooltipText                ,
+    setStatusIconTooltipText                ,
+#if ENABLE_OVERLOADING
+    statusIconTooltipText                   ,
+#endif
+
+
+-- ** visible #attr:visible#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StatusIconVisiblePropertyInfo           ,
+#endif
+    constructStatusIconVisible              ,
+    getStatusIconVisible                    ,
+    setStatusIconVisible                    ,
+#if ENABLE_OVERLOADING
+    statusIconVisible                       ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** activate #signal:activate#
+
+    C_StatusIconActivateCallback            ,
+    StatusIconActivateCallback              ,
+#if ENABLE_OVERLOADING
+    StatusIconActivateSignalInfo            ,
+#endif
+    afterStatusIconActivate                 ,
+    genClosure_StatusIconActivate           ,
+    mk_StatusIconActivateCallback           ,
+    noStatusIconActivateCallback            ,
+    onStatusIconActivate                    ,
+    wrap_StatusIconActivateCallback         ,
+
+
+-- ** buttonPressEvent #signal:buttonPressEvent#
+
+    C_StatusIconButtonPressEventCallback    ,
+    StatusIconButtonPressEventCallback      ,
+#if ENABLE_OVERLOADING
+    StatusIconButtonPressEventSignalInfo    ,
+#endif
+    afterStatusIconButtonPressEvent         ,
+    genClosure_StatusIconButtonPressEvent   ,
+    mk_StatusIconButtonPressEventCallback   ,
+    noStatusIconButtonPressEventCallback    ,
+    onStatusIconButtonPressEvent            ,
+    wrap_StatusIconButtonPressEventCallback ,
+
+
+-- ** buttonReleaseEvent #signal:buttonReleaseEvent#
+
+    C_StatusIconButtonReleaseEventCallback  ,
+    StatusIconButtonReleaseEventCallback    ,
+#if ENABLE_OVERLOADING
+    StatusIconButtonReleaseEventSignalInfo  ,
+#endif
+    afterStatusIconButtonReleaseEvent       ,
+    genClosure_StatusIconButtonReleaseEvent ,
+    mk_StatusIconButtonReleaseEventCallback ,
+    noStatusIconButtonReleaseEventCallback  ,
+    onStatusIconButtonReleaseEvent          ,
+    wrap_StatusIconButtonReleaseEventCallback,
+
+
+-- ** popupMenu #signal:popupMenu#
+
+    C_StatusIconPopupMenuCallback           ,
+    StatusIconPopupMenuCallback             ,
+#if ENABLE_OVERLOADING
+    StatusIconPopupMenuSignalInfo           ,
+#endif
+    afterStatusIconPopupMenu                ,
+    genClosure_StatusIconPopupMenu          ,
+    mk_StatusIconPopupMenuCallback          ,
+    noStatusIconPopupMenuCallback           ,
+    onStatusIconPopupMenu                   ,
+    wrap_StatusIconPopupMenuCallback        ,
+
+
+-- ** queryTooltip #signal:queryTooltip#
+
+    C_StatusIconQueryTooltipCallback        ,
+    StatusIconQueryTooltipCallback          ,
+#if ENABLE_OVERLOADING
+    StatusIconQueryTooltipSignalInfo        ,
+#endif
+    afterStatusIconQueryTooltip             ,
+    genClosure_StatusIconQueryTooltip       ,
+    mk_StatusIconQueryTooltipCallback       ,
+    noStatusIconQueryTooltipCallback        ,
+    onStatusIconQueryTooltip                ,
+    wrap_StatusIconQueryTooltipCallback     ,
+
+
+-- ** scrollEvent #signal:scrollEvent#
+
+    C_StatusIconScrollEventCallback         ,
+    StatusIconScrollEventCallback           ,
+#if ENABLE_OVERLOADING
+    StatusIconScrollEventSignalInfo         ,
+#endif
+    afterStatusIconScrollEvent              ,
+    genClosure_StatusIconScrollEvent        ,
+    mk_StatusIconScrollEventCallback        ,
+    noStatusIconScrollEventCallback         ,
+    onStatusIconScrollEvent                 ,
+    wrap_StatusIconScrollEventCallback      ,
+
+
+-- ** sizeChanged #signal:sizeChanged#
+
+    C_StatusIconSizeChangedCallback         ,
+    StatusIconSizeChangedCallback           ,
+#if ENABLE_OVERLOADING
+    StatusIconSizeChangedSignalInfo         ,
+#endif
+    afterStatusIconSizeChanged              ,
+    genClosure_StatusIconSizeChanged        ,
+    mk_StatusIconSizeChangedCallback        ,
+    noStatusIconSizeChangedCallback         ,
+    onStatusIconSizeChanged                 ,
+    wrap_StatusIconSizeChangedCallback      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gdk.Structs.EventButton as Gdk.EventButton
+import qualified GI.Gdk.Structs.EventScroll as Gdk.EventScroll
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Menu as Gtk.Menu
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Tooltip as Gtk.Tooltip
+
+-- | Memory-managed wrapper type.
+newtype StatusIcon = StatusIcon (ManagedPtr StatusIcon)
+foreign import ccall "gtk_status_icon_get_type"
+    c_gtk_status_icon_get_type :: IO GType
+
+instance GObject StatusIcon where
+    gobjectType = c_gtk_status_icon_get_type
+    
+
+-- | Type class for types which can be safely cast to `StatusIcon`, for instance with `toStatusIcon`.
+class (GObject o, O.IsDescendantOf StatusIcon o) => IsStatusIcon o
+instance (GObject o, O.IsDescendantOf StatusIcon o) => IsStatusIcon o
+
+instance O.HasParentTypes StatusIcon
+type instance O.ParentTypes StatusIcon = '[GObject.Object.Object]
+
+-- | Cast to `StatusIcon`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStatusIcon :: (MonadIO m, IsStatusIcon o) => o -> m StatusIcon
+toStatusIcon = liftIO . unsafeCastTo StatusIcon
+
+-- | A convenience alias for `Nothing` :: `Maybe` `StatusIcon`.
+noStatusIcon :: Maybe StatusIcon
+noStatusIcon = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStatusIconMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStatusIconMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStatusIconMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStatusIconMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStatusIconMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStatusIconMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStatusIconMethod "isEmbedded" o = StatusIconIsEmbeddedMethodInfo
+    ResolveStatusIconMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStatusIconMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStatusIconMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStatusIconMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStatusIconMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStatusIconMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStatusIconMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStatusIconMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStatusIconMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStatusIconMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStatusIconMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStatusIconMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStatusIconMethod "getGeometry" o = StatusIconGetGeometryMethodInfo
+    ResolveStatusIconMethod "getGicon" o = StatusIconGetGiconMethodInfo
+    ResolveStatusIconMethod "getHasTooltip" o = StatusIconGetHasTooltipMethodInfo
+    ResolveStatusIconMethod "getIconName" o = StatusIconGetIconNameMethodInfo
+    ResolveStatusIconMethod "getPixbuf" o = StatusIconGetPixbufMethodInfo
+    ResolveStatusIconMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveStatusIconMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStatusIconMethod "getScreen" o = StatusIconGetScreenMethodInfo
+    ResolveStatusIconMethod "getSize" o = StatusIconGetSizeMethodInfo
+    ResolveStatusIconMethod "getStock" o = StatusIconGetStockMethodInfo
+    ResolveStatusIconMethod "getStorageType" o = StatusIconGetStorageTypeMethodInfo
+    ResolveStatusIconMethod "getTitle" o = StatusIconGetTitleMethodInfo
+    ResolveStatusIconMethod "getTooltipMarkup" o = StatusIconGetTooltipMarkupMethodInfo
+    ResolveStatusIconMethod "getTooltipText" o = StatusIconGetTooltipTextMethodInfo
+    ResolveStatusIconMethod "getVisible" o = StatusIconGetVisibleMethodInfo
+    ResolveStatusIconMethod "getX11WindowId" o = StatusIconGetX11WindowIdMethodInfo
+    ResolveStatusIconMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStatusIconMethod "setFromFile" o = StatusIconSetFromFileMethodInfo
+    ResolveStatusIconMethod "setFromGicon" o = StatusIconSetFromGiconMethodInfo
+    ResolveStatusIconMethod "setFromIconName" o = StatusIconSetFromIconNameMethodInfo
+    ResolveStatusIconMethod "setFromPixbuf" o = StatusIconSetFromPixbufMethodInfo
+    ResolveStatusIconMethod "setFromStock" o = StatusIconSetFromStockMethodInfo
+    ResolveStatusIconMethod "setHasTooltip" o = StatusIconSetHasTooltipMethodInfo
+    ResolveStatusIconMethod "setName" o = StatusIconSetNameMethodInfo
+    ResolveStatusIconMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveStatusIconMethod "setScreen" o = StatusIconSetScreenMethodInfo
+    ResolveStatusIconMethod "setTitle" o = StatusIconSetTitleMethodInfo
+    ResolveStatusIconMethod "setTooltipMarkup" o = StatusIconSetTooltipMarkupMethodInfo
+    ResolveStatusIconMethod "setTooltipText" o = StatusIconSetTooltipTextMethodInfo
+    ResolveStatusIconMethod "setVisible" o = StatusIconSetVisibleMethodInfo
+    ResolveStatusIconMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStatusIconMethod t StatusIcon, O.MethodInfo info StatusIcon p) => OL.IsLabel t (StatusIcon -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal StatusIcon::activate
+{- |
+Gets emitted when the user activates the status icon.
+If and how status icons can activated is platform-dependent.
+
+Unlike most G_SIGNAL_ACTION signals, this signal is meant to
+be used by applications and should be wrapped by language bindings.
+
+/Since: 2.10/
+-}
+type StatusIconActivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StatusIconActivateCallback`@.
+noStatusIconActivateCallback :: Maybe StatusIconActivateCallback
+noStatusIconActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StatusIconActivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_StatusIconActivateCallback`.
+foreign import ccall "wrapper"
+    mk_StatusIconActivateCallback :: C_StatusIconActivateCallback -> IO (FunPtr C_StatusIconActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StatusIconActivate :: MonadIO m => StatusIconActivateCallback -> m (GClosure C_StatusIconActivateCallback)
+genClosure_StatusIconActivate cb = liftIO $ do
+    let cb' = wrap_StatusIconActivateCallback cb
+    mk_StatusIconActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StatusIconActivateCallback` into a `C_StatusIconActivateCallback`.
+wrap_StatusIconActivateCallback ::
+    StatusIconActivateCallback ->
+    C_StatusIconActivateCallback
+wrap_StatusIconActivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' statusIcon #activate callback
+@
+-}
+onStatusIconActivate :: (IsStatusIcon a, MonadIO m) => a -> StatusIconActivateCallback -> m SignalHandlerId
+onStatusIconActivate obj cb = liftIO $ do
+    let cb' = wrap_StatusIconActivateCallback cb
+    cb'' <- mk_StatusIconActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' statusIcon #activate callback
+@
+-}
+afterStatusIconActivate :: (IsStatusIcon a, MonadIO m) => a -> StatusIconActivateCallback -> m SignalHandlerId
+afterStatusIconActivate obj cb = liftIO $ do
+    let cb' = wrap_StatusIconActivateCallback cb
+    cb'' <- mk_StatusIconActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter
+
+
+-- signal StatusIcon::button-press-event
+{- |
+The ::button-press-event signal will be emitted when a button
+(typically from a mouse) is pressed.
+
+Whether this event is emitted is platform-dependent.  Use the ::activate
+and ::popup-menu signals in preference.
+
+/Since: 2.14/
+-}
+type StatusIconButtonPressEventCallback =
+    Gdk.EventButton.EventButton
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventButton.EventButton' which triggered
+                                this signal -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked
+for the event. 'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StatusIconButtonPressEventCallback`@.
+noStatusIconButtonPressEventCallback :: Maybe StatusIconButtonPressEventCallback
+noStatusIconButtonPressEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StatusIconButtonPressEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventButton.EventButton ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_StatusIconButtonPressEventCallback`.
+foreign import ccall "wrapper"
+    mk_StatusIconButtonPressEventCallback :: C_StatusIconButtonPressEventCallback -> IO (FunPtr C_StatusIconButtonPressEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StatusIconButtonPressEvent :: MonadIO m => StatusIconButtonPressEventCallback -> m (GClosure C_StatusIconButtonPressEventCallback)
+genClosure_StatusIconButtonPressEvent cb = liftIO $ do
+    let cb' = wrap_StatusIconButtonPressEventCallback cb
+    mk_StatusIconButtonPressEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StatusIconButtonPressEventCallback` into a `C_StatusIconButtonPressEventCallback`.
+wrap_StatusIconButtonPressEventCallback ::
+    StatusIconButtonPressEventCallback ->
+    C_StatusIconButtonPressEventCallback
+wrap_StatusIconButtonPressEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventButton.EventButton) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@button-press-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' statusIcon #buttonPressEvent callback
+@
+-}
+onStatusIconButtonPressEvent :: (IsStatusIcon a, MonadIO m) => a -> StatusIconButtonPressEventCallback -> m SignalHandlerId
+onStatusIconButtonPressEvent obj cb = liftIO $ do
+    let cb' = wrap_StatusIconButtonPressEventCallback cb
+    cb'' <- mk_StatusIconButtonPressEventCallback cb'
+    connectSignalFunPtr obj "button-press-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@button-press-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' statusIcon #buttonPressEvent callback
+@
+-}
+afterStatusIconButtonPressEvent :: (IsStatusIcon a, MonadIO m) => a -> StatusIconButtonPressEventCallback -> m SignalHandlerId
+afterStatusIconButtonPressEvent obj cb = liftIO $ do
+    let cb' = wrap_StatusIconButtonPressEventCallback cb
+    cb'' <- mk_StatusIconButtonPressEventCallback cb'
+    connectSignalFunPtr obj "button-press-event" cb'' SignalConnectAfter
+
+
+-- signal StatusIcon::button-release-event
+{- |
+The ::button-release-event signal will be emitted when a button
+(typically from a mouse) is released.
+
+Whether this event is emitted is platform-dependent.  Use the ::activate
+and ::popup-menu signals in preference.
+
+/Since: 2.14/
+-}
+type StatusIconButtonReleaseEventCallback =
+    Gdk.EventButton.EventButton
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventButton.EventButton' which triggered
+                                this signal -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked
+for the event. 'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StatusIconButtonReleaseEventCallback`@.
+noStatusIconButtonReleaseEventCallback :: Maybe StatusIconButtonReleaseEventCallback
+noStatusIconButtonReleaseEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StatusIconButtonReleaseEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventButton.EventButton ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_StatusIconButtonReleaseEventCallback`.
+foreign import ccall "wrapper"
+    mk_StatusIconButtonReleaseEventCallback :: C_StatusIconButtonReleaseEventCallback -> IO (FunPtr C_StatusIconButtonReleaseEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StatusIconButtonReleaseEvent :: MonadIO m => StatusIconButtonReleaseEventCallback -> m (GClosure C_StatusIconButtonReleaseEventCallback)
+genClosure_StatusIconButtonReleaseEvent cb = liftIO $ do
+    let cb' = wrap_StatusIconButtonReleaseEventCallback cb
+    mk_StatusIconButtonReleaseEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StatusIconButtonReleaseEventCallback` into a `C_StatusIconButtonReleaseEventCallback`.
+wrap_StatusIconButtonReleaseEventCallback ::
+    StatusIconButtonReleaseEventCallback ->
+    C_StatusIconButtonReleaseEventCallback
+wrap_StatusIconButtonReleaseEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventButton.EventButton) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@button-release-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' statusIcon #buttonReleaseEvent callback
+@
+-}
+onStatusIconButtonReleaseEvent :: (IsStatusIcon a, MonadIO m) => a -> StatusIconButtonReleaseEventCallback -> m SignalHandlerId
+onStatusIconButtonReleaseEvent obj cb = liftIO $ do
+    let cb' = wrap_StatusIconButtonReleaseEventCallback cb
+    cb'' <- mk_StatusIconButtonReleaseEventCallback cb'
+    connectSignalFunPtr obj "button-release-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@button-release-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' statusIcon #buttonReleaseEvent callback
+@
+-}
+afterStatusIconButtonReleaseEvent :: (IsStatusIcon a, MonadIO m) => a -> StatusIconButtonReleaseEventCallback -> m SignalHandlerId
+afterStatusIconButtonReleaseEvent obj cb = liftIO $ do
+    let cb' = wrap_StatusIconButtonReleaseEventCallback cb
+    cb'' <- mk_StatusIconButtonReleaseEventCallback cb'
+    connectSignalFunPtr obj "button-release-event" cb'' SignalConnectAfter
+
+
+-- signal StatusIcon::popup-menu
+{- |
+Gets emitted when the user brings up the context menu
+of the status icon. Whether status icons can have context
+menus and how these are activated is platform-dependent.
+
+The /@button@/ and /@activateTime@/ parameters should be
+passed as the last to arguments to 'GI.Gtk.Objects.Menu.menuPopup'.
+
+Unlike most G_SIGNAL_ACTION signals, this signal is meant to
+be used by applications and should be wrapped by language bindings.
+
+/Since: 2.10/
+-}
+type StatusIconPopupMenuCallback =
+    Word32
+    {- ^ /@button@/: the button that was pressed, or 0 if the
+  signal is not emitted in response to a button press event -}
+    -> Word32
+    {- ^ /@activateTime@/: the timestamp of the event that
+  triggered the signal emission -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StatusIconPopupMenuCallback`@.
+noStatusIconPopupMenuCallback :: Maybe StatusIconPopupMenuCallback
+noStatusIconPopupMenuCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StatusIconPopupMenuCallback =
+    Ptr () ->                               -- object
+    Word32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_StatusIconPopupMenuCallback`.
+foreign import ccall "wrapper"
+    mk_StatusIconPopupMenuCallback :: C_StatusIconPopupMenuCallback -> IO (FunPtr C_StatusIconPopupMenuCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StatusIconPopupMenu :: MonadIO m => StatusIconPopupMenuCallback -> m (GClosure C_StatusIconPopupMenuCallback)
+genClosure_StatusIconPopupMenu cb = liftIO $ do
+    let cb' = wrap_StatusIconPopupMenuCallback cb
+    mk_StatusIconPopupMenuCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StatusIconPopupMenuCallback` into a `C_StatusIconPopupMenuCallback`.
+wrap_StatusIconPopupMenuCallback ::
+    StatusIconPopupMenuCallback ->
+    C_StatusIconPopupMenuCallback
+wrap_StatusIconPopupMenuCallback _cb _ button activateTime _ = do
+    _cb  button activateTime
+
+
+{- |
+Connect a signal handler for the “@popup-menu@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' statusIcon #popupMenu callback
+@
+-}
+onStatusIconPopupMenu :: (IsStatusIcon a, MonadIO m) => a -> StatusIconPopupMenuCallback -> m SignalHandlerId
+onStatusIconPopupMenu obj cb = liftIO $ do
+    let cb' = wrap_StatusIconPopupMenuCallback cb
+    cb'' <- mk_StatusIconPopupMenuCallback cb'
+    connectSignalFunPtr obj "popup-menu" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@popup-menu@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' statusIcon #popupMenu callback
+@
+-}
+afterStatusIconPopupMenu :: (IsStatusIcon a, MonadIO m) => a -> StatusIconPopupMenuCallback -> m SignalHandlerId
+afterStatusIconPopupMenu obj cb = liftIO $ do
+    let cb' = wrap_StatusIconPopupMenuCallback cb
+    cb'' <- mk_StatusIconPopupMenuCallback cb'
+    connectSignalFunPtr obj "popup-menu" cb'' SignalConnectAfter
+
+
+-- signal StatusIcon::query-tooltip
+{- |
+Emitted when the hover timeout has expired with the
+cursor hovering above /@statusIcon@/; or emitted when /@statusIcon@/ got
+focus in keyboard mode.
+
+Using the given coordinates, the signal handler should determine
+whether a tooltip should be shown for /@statusIcon@/. If this is
+the case 'True' should be returned, 'False' otherwise. Note that if
+/@keyboardMode@/ is 'True', the values of /@x@/ and /@y@/ are undefined and
+should not be used.
+
+The signal handler is free to manipulate /@tooltip@/ with the therefore
+destined function calls.
+
+Whether this signal is emitted is platform-dependent.
+For plain text tooltips, use 'GI.Gtk.Objects.StatusIcon.StatusIcon':@/tooltip-text/@ in preference.
+
+/Since: 2.16/
+-}
+type StatusIconQueryTooltipCallback =
+    Int32
+    {- ^ /@x@/: the x coordinate of the cursor position where the request has been
+    emitted, relative to /@statusIcon@/ -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate of the cursor position where the request has been
+    emitted, relative to /@statusIcon@/ -}
+    -> Bool
+    {- ^ /@keyboardMode@/: 'True' if the tooltip was trigged using the keyboard -}
+    -> Gtk.Tooltip.Tooltip
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if /@tooltip@/ should be shown right now, 'False' otherwise. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StatusIconQueryTooltipCallback`@.
+noStatusIconQueryTooltipCallback :: Maybe StatusIconQueryTooltipCallback
+noStatusIconQueryTooltipCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StatusIconQueryTooltipCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Int32 ->
+    CInt ->
+    Ptr Gtk.Tooltip.Tooltip ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_StatusIconQueryTooltipCallback`.
+foreign import ccall "wrapper"
+    mk_StatusIconQueryTooltipCallback :: C_StatusIconQueryTooltipCallback -> IO (FunPtr C_StatusIconQueryTooltipCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StatusIconQueryTooltip :: MonadIO m => StatusIconQueryTooltipCallback -> m (GClosure C_StatusIconQueryTooltipCallback)
+genClosure_StatusIconQueryTooltip cb = liftIO $ do
+    let cb' = wrap_StatusIconQueryTooltipCallback cb
+    mk_StatusIconQueryTooltipCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StatusIconQueryTooltipCallback` into a `C_StatusIconQueryTooltipCallback`.
+wrap_StatusIconQueryTooltipCallback ::
+    StatusIconQueryTooltipCallback ->
+    C_StatusIconQueryTooltipCallback
+wrap_StatusIconQueryTooltipCallback _cb _ x y keyboardMode tooltip _ = do
+    let keyboardMode' = (/= 0) keyboardMode
+    tooltip' <- (newObject Gtk.Tooltip.Tooltip) tooltip
+    result <- _cb  x y keyboardMode' tooltip'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@query-tooltip@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' statusIcon #queryTooltip callback
+@
+-}
+onStatusIconQueryTooltip :: (IsStatusIcon a, MonadIO m) => a -> StatusIconQueryTooltipCallback -> m SignalHandlerId
+onStatusIconQueryTooltip obj cb = liftIO $ do
+    let cb' = wrap_StatusIconQueryTooltipCallback cb
+    cb'' <- mk_StatusIconQueryTooltipCallback cb'
+    connectSignalFunPtr obj "query-tooltip" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@query-tooltip@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' statusIcon #queryTooltip callback
+@
+-}
+afterStatusIconQueryTooltip :: (IsStatusIcon a, MonadIO m) => a -> StatusIconQueryTooltipCallback -> m SignalHandlerId
+afterStatusIconQueryTooltip obj cb = liftIO $ do
+    let cb' = wrap_StatusIconQueryTooltipCallback cb
+    cb'' <- mk_StatusIconQueryTooltipCallback cb'
+    connectSignalFunPtr obj "query-tooltip" cb'' SignalConnectAfter
+
+
+-- signal StatusIcon::scroll-event
+{- |
+The ::scroll-event signal is emitted when a button in the 4 to 7
+range is pressed. Wheel mice are usually configured to generate
+button press events for buttons 4 and 5 when the wheel is turned.
+
+Whether this event is emitted is platform-dependent.
+
+/Since: 2.16/
+-}
+type StatusIconScrollEventCallback =
+    Gdk.EventScroll.EventScroll
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventScroll.EventScroll' which triggered
+                                this signal -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StatusIconScrollEventCallback`@.
+noStatusIconScrollEventCallback :: Maybe StatusIconScrollEventCallback
+noStatusIconScrollEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StatusIconScrollEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventScroll.EventScroll ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_StatusIconScrollEventCallback`.
+foreign import ccall "wrapper"
+    mk_StatusIconScrollEventCallback :: C_StatusIconScrollEventCallback -> IO (FunPtr C_StatusIconScrollEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StatusIconScrollEvent :: MonadIO m => StatusIconScrollEventCallback -> m (GClosure C_StatusIconScrollEventCallback)
+genClosure_StatusIconScrollEvent cb = liftIO $ do
+    let cb' = wrap_StatusIconScrollEventCallback cb
+    mk_StatusIconScrollEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StatusIconScrollEventCallback` into a `C_StatusIconScrollEventCallback`.
+wrap_StatusIconScrollEventCallback ::
+    StatusIconScrollEventCallback ->
+    C_StatusIconScrollEventCallback
+wrap_StatusIconScrollEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventScroll.EventScroll) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@scroll-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' statusIcon #scrollEvent callback
+@
+-}
+onStatusIconScrollEvent :: (IsStatusIcon a, MonadIO m) => a -> StatusIconScrollEventCallback -> m SignalHandlerId
+onStatusIconScrollEvent obj cb = liftIO $ do
+    let cb' = wrap_StatusIconScrollEventCallback cb
+    cb'' <- mk_StatusIconScrollEventCallback cb'
+    connectSignalFunPtr obj "scroll-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@scroll-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' statusIcon #scrollEvent callback
+@
+-}
+afterStatusIconScrollEvent :: (IsStatusIcon a, MonadIO m) => a -> StatusIconScrollEventCallback -> m SignalHandlerId
+afterStatusIconScrollEvent obj cb = liftIO $ do
+    let cb' = wrap_StatusIconScrollEventCallback cb
+    cb'' <- mk_StatusIconScrollEventCallback cb'
+    connectSignalFunPtr obj "scroll-event" cb'' SignalConnectAfter
+
+
+-- signal StatusIcon::size-changed
+{- |
+Gets emitted when the size available for the image
+changes, e.g. because the notification area got resized.
+
+/Since: 2.10/
+-}
+type StatusIconSizeChangedCallback =
+    Int32
+    {- ^ /@size@/: the new size -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the icon was updated for the new
+size. Otherwise, GTK+ will scale the icon as necessary. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StatusIconSizeChangedCallback`@.
+noStatusIconSizeChangedCallback :: Maybe StatusIconSizeChangedCallback
+noStatusIconSizeChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StatusIconSizeChangedCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_StatusIconSizeChangedCallback`.
+foreign import ccall "wrapper"
+    mk_StatusIconSizeChangedCallback :: C_StatusIconSizeChangedCallback -> IO (FunPtr C_StatusIconSizeChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StatusIconSizeChanged :: MonadIO m => StatusIconSizeChangedCallback -> m (GClosure C_StatusIconSizeChangedCallback)
+genClosure_StatusIconSizeChanged cb = liftIO $ do
+    let cb' = wrap_StatusIconSizeChangedCallback cb
+    mk_StatusIconSizeChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StatusIconSizeChangedCallback` into a `C_StatusIconSizeChangedCallback`.
+wrap_StatusIconSizeChangedCallback ::
+    StatusIconSizeChangedCallback ->
+    C_StatusIconSizeChangedCallback
+wrap_StatusIconSizeChangedCallback _cb _ size _ = do
+    result <- _cb  size
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@size-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' statusIcon #sizeChanged callback
+@
+-}
+onStatusIconSizeChanged :: (IsStatusIcon a, MonadIO m) => a -> StatusIconSizeChangedCallback -> m SignalHandlerId
+onStatusIconSizeChanged obj cb = liftIO $ do
+    let cb' = wrap_StatusIconSizeChangedCallback cb
+    cb'' <- mk_StatusIconSizeChangedCallback cb'
+    connectSignalFunPtr obj "size-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@size-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' statusIcon #sizeChanged callback
+@
+-}
+afterStatusIconSizeChanged :: (IsStatusIcon a, MonadIO m) => a -> StatusIconSizeChangedCallback -> m SignalHandlerId
+afterStatusIconSizeChanged obj cb = liftIO $ do
+    let cb' = wrap_StatusIconSizeChangedCallback cb
+    cb'' <- mk_StatusIconSizeChangedCallback cb'
+    connectSignalFunPtr obj "size-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "embedded"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@embedded@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #embedded
+@
+-}
+getStatusIconEmbedded :: (MonadIO m, IsStatusIcon o) => o -> m Bool
+getStatusIconEmbedded obj = liftIO $ B.Properties.getObjectPropertyBool obj "embedded"
+
+#if ENABLE_OVERLOADING
+data StatusIconEmbeddedPropertyInfo
+instance AttrInfo StatusIconEmbeddedPropertyInfo where
+    type AttrAllowedOps StatusIconEmbeddedPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint StatusIconEmbeddedPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint StatusIconEmbeddedPropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconEmbeddedPropertyInfo = Bool
+    type AttrLabel StatusIconEmbeddedPropertyInfo = "embedded"
+    type AttrOrigin StatusIconEmbeddedPropertyInfo = StatusIcon
+    attrGet _ = getStatusIconEmbedded
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "file"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@file@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #file 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconFile :: (MonadIO m, IsStatusIcon o) => o -> T.Text -> m ()
+setStatusIconFile obj val = liftIO $ B.Properties.setObjectPropertyString obj "file" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@file@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconFile :: (IsStatusIcon o) => T.Text -> IO (GValueConstruct o)
+constructStatusIconFile val = B.Properties.constructObjectPropertyString "file" (Just val)
+
+{- |
+Set the value of the “@file@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #file
+@
+-}
+clearStatusIconFile :: (MonadIO m, IsStatusIcon o) => o -> m ()
+clearStatusIconFile obj = liftIO $ B.Properties.setObjectPropertyString obj "file" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data StatusIconFilePropertyInfo
+instance AttrInfo StatusIconFilePropertyInfo where
+    type AttrAllowedOps StatusIconFilePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint StatusIconFilePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StatusIconFilePropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconFilePropertyInfo = ()
+    type AttrLabel StatusIconFilePropertyInfo = "file"
+    type AttrOrigin StatusIconFilePropertyInfo = StatusIcon
+    attrGet _ = undefined
+    attrSet _ = setStatusIconFile
+    attrConstruct _ = constructStatusIconFile
+    attrClear _ = clearStatusIconFile
+#endif
+
+-- VVV Prop "gicon"
+   -- Type: TInterface (Name {namespace = "Gio", name = "Icon"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #gicon
+@
+-}
+getStatusIconGicon :: (MonadIO m, IsStatusIcon o) => o -> m (Maybe Gio.Icon.Icon)
+getStatusIconGicon obj = liftIO $ B.Properties.getObjectPropertyObject obj "gicon" Gio.Icon.Icon
+
+{- |
+Set the value of the “@gicon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #gicon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconGicon :: (MonadIO m, IsStatusIcon o, Gio.Icon.IsIcon a) => o -> a -> m ()
+setStatusIconGicon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "gicon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gicon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconGicon :: (IsStatusIcon o, Gio.Icon.IsIcon a) => a -> IO (GValueConstruct o)
+constructStatusIconGicon val = B.Properties.constructObjectPropertyObject "gicon" (Just val)
+
+{- |
+Set the value of the “@gicon@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #gicon
+@
+-}
+clearStatusIconGicon :: (MonadIO m, IsStatusIcon o) => o -> m ()
+clearStatusIconGicon obj = liftIO $ B.Properties.setObjectPropertyObject obj "gicon" (Nothing :: Maybe Gio.Icon.Icon)
+
+#if ENABLE_OVERLOADING
+data StatusIconGiconPropertyInfo
+instance AttrInfo StatusIconGiconPropertyInfo where
+    type AttrAllowedOps StatusIconGiconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StatusIconGiconPropertyInfo = Gio.Icon.IsIcon
+    type AttrBaseTypeConstraint StatusIconGiconPropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconGiconPropertyInfo = (Maybe Gio.Icon.Icon)
+    type AttrLabel StatusIconGiconPropertyInfo = "gicon"
+    type AttrOrigin StatusIconGiconPropertyInfo = StatusIcon
+    attrGet _ = getStatusIconGicon
+    attrSet _ = setStatusIconGicon
+    attrConstruct _ = constructStatusIconGicon
+    attrClear _ = clearStatusIconGicon
+#endif
+
+-- VVV Prop "has-tooltip"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-tooltip@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #hasTooltip
+@
+-}
+getStatusIconHasTooltip :: (MonadIO m, IsStatusIcon o) => o -> m Bool
+getStatusIconHasTooltip obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-tooltip"
+
+{- |
+Set the value of the “@has-tooltip@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #hasTooltip 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconHasTooltip :: (MonadIO m, IsStatusIcon o) => o -> Bool -> m ()
+setStatusIconHasTooltip obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-tooltip" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-tooltip@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconHasTooltip :: (IsStatusIcon o) => Bool -> IO (GValueConstruct o)
+constructStatusIconHasTooltip val = B.Properties.constructObjectPropertyBool "has-tooltip" val
+
+#if ENABLE_OVERLOADING
+data StatusIconHasTooltipPropertyInfo
+instance AttrInfo StatusIconHasTooltipPropertyInfo where
+    type AttrAllowedOps StatusIconHasTooltipPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StatusIconHasTooltipPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StatusIconHasTooltipPropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconHasTooltipPropertyInfo = Bool
+    type AttrLabel StatusIconHasTooltipPropertyInfo = "has-tooltip"
+    type AttrOrigin StatusIconHasTooltipPropertyInfo = StatusIcon
+    attrGet _ = getStatusIconHasTooltip
+    attrSet _ = setStatusIconHasTooltip
+    attrConstruct _ = constructStatusIconHasTooltip
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #iconName
+@
+-}
+getStatusIconIconName :: (MonadIO m, IsStatusIcon o) => o -> m (Maybe T.Text)
+getStatusIconIconName obj = liftIO $ B.Properties.getObjectPropertyString obj "icon-name"
+
+{- |
+Set the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #iconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconIconName :: (MonadIO m, IsStatusIcon o) => o -> T.Text -> m ()
+setStatusIconIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconIconName :: (IsStatusIcon o) => T.Text -> IO (GValueConstruct o)
+constructStatusIconIconName val = B.Properties.constructObjectPropertyString "icon-name" (Just val)
+
+{- |
+Set the value of the “@icon-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #iconName
+@
+-}
+clearStatusIconIconName :: (MonadIO m, IsStatusIcon o) => o -> m ()
+clearStatusIconIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data StatusIconIconNamePropertyInfo
+instance AttrInfo StatusIconIconNamePropertyInfo where
+    type AttrAllowedOps StatusIconIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StatusIconIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StatusIconIconNamePropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconIconNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel StatusIconIconNamePropertyInfo = "icon-name"
+    type AttrOrigin StatusIconIconNamePropertyInfo = StatusIcon
+    attrGet _ = getStatusIconIconName
+    attrSet _ = setStatusIconIconName
+    attrConstruct _ = constructStatusIconIconName
+    attrClear _ = clearStatusIconIconName
+#endif
+
+-- VVV Prop "orientation"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Orientation"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@orientation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #orientation
+@
+-}
+getStatusIconOrientation :: (MonadIO m, IsStatusIcon o) => o -> m Gtk.Enums.Orientation
+getStatusIconOrientation obj = liftIO $ B.Properties.getObjectPropertyEnum obj "orientation"
+
+#if ENABLE_OVERLOADING
+data StatusIconOrientationPropertyInfo
+instance AttrInfo StatusIconOrientationPropertyInfo where
+    type AttrAllowedOps StatusIconOrientationPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint StatusIconOrientationPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint StatusIconOrientationPropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconOrientationPropertyInfo = Gtk.Enums.Orientation
+    type AttrLabel StatusIconOrientationPropertyInfo = "orientation"
+    type AttrOrigin StatusIconOrientationPropertyInfo = StatusIcon
+    attrGet _ = getStatusIconOrientation
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixbuf"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #pixbuf
+@
+-}
+getStatusIconPixbuf :: (MonadIO m, IsStatusIcon o) => o -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+getStatusIconPixbuf obj = liftIO $ B.Properties.getObjectPropertyObject obj "pixbuf" GdkPixbuf.Pixbuf.Pixbuf
+
+{- |
+Set the value of the “@pixbuf@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #pixbuf 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconPixbuf :: (MonadIO m, IsStatusIcon o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
+setStatusIconPixbuf obj val = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixbuf@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconPixbuf :: (IsStatusIcon o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
+constructStatusIconPixbuf val = B.Properties.constructObjectPropertyObject "pixbuf" (Just val)
+
+{- |
+Set the value of the “@pixbuf@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #pixbuf
+@
+-}
+clearStatusIconPixbuf :: (MonadIO m, IsStatusIcon o) => o -> m ()
+clearStatusIconPixbuf obj = liftIO $ B.Properties.setObjectPropertyObject obj "pixbuf" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)
+
+#if ENABLE_OVERLOADING
+data StatusIconPixbufPropertyInfo
+instance AttrInfo StatusIconPixbufPropertyInfo where
+    type AttrAllowedOps StatusIconPixbufPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StatusIconPixbufPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
+    type AttrBaseTypeConstraint StatusIconPixbufPropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconPixbufPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    type AttrLabel StatusIconPixbufPropertyInfo = "pixbuf"
+    type AttrOrigin StatusIconPixbufPropertyInfo = StatusIcon
+    attrGet _ = getStatusIconPixbuf
+    attrSet _ = setStatusIconPixbuf
+    attrConstruct _ = constructStatusIconPixbuf
+    attrClear _ = clearStatusIconPixbuf
+#endif
+
+-- VVV Prop "screen"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Screen"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #screen
+@
+-}
+getStatusIconScreen :: (MonadIO m, IsStatusIcon o) => o -> m Gdk.Screen.Screen
+getStatusIconScreen obj = liftIO $ checkUnexpectedNothing "getStatusIconScreen" $ B.Properties.getObjectPropertyObject obj "screen" Gdk.Screen.Screen
+
+{- |
+Set the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #screen 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconScreen :: (MonadIO m, IsStatusIcon o, Gdk.Screen.IsScreen a) => o -> a -> m ()
+setStatusIconScreen obj val = liftIO $ B.Properties.setObjectPropertyObject obj "screen" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@screen@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconScreen :: (IsStatusIcon o, Gdk.Screen.IsScreen a) => a -> IO (GValueConstruct o)
+constructStatusIconScreen val = B.Properties.constructObjectPropertyObject "screen" (Just val)
+
+#if ENABLE_OVERLOADING
+data StatusIconScreenPropertyInfo
+instance AttrInfo StatusIconScreenPropertyInfo where
+    type AttrAllowedOps StatusIconScreenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StatusIconScreenPropertyInfo = Gdk.Screen.IsScreen
+    type AttrBaseTypeConstraint StatusIconScreenPropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconScreenPropertyInfo = Gdk.Screen.Screen
+    type AttrLabel StatusIconScreenPropertyInfo = "screen"
+    type AttrOrigin StatusIconScreenPropertyInfo = StatusIcon
+    attrGet _ = getStatusIconScreen
+    attrSet _ = setStatusIconScreen
+    attrConstruct _ = constructStatusIconScreen
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #size
+@
+-}
+getStatusIconSize :: (MonadIO m, IsStatusIcon o) => o -> m Int32
+getStatusIconSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "size"
+
+#if ENABLE_OVERLOADING
+data StatusIconSizePropertyInfo
+instance AttrInfo StatusIconSizePropertyInfo where
+    type AttrAllowedOps StatusIconSizePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint StatusIconSizePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint StatusIconSizePropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconSizePropertyInfo = Int32
+    type AttrLabel StatusIconSizePropertyInfo = "size"
+    type AttrOrigin StatusIconSizePropertyInfo = StatusIcon
+    attrGet _ = getStatusIconSize
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "stock"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #stock
+@
+-}
+getStatusIconStock :: (MonadIO m, IsStatusIcon o) => o -> m (Maybe T.Text)
+getStatusIconStock obj = liftIO $ B.Properties.getObjectPropertyString obj "stock"
+
+{- |
+Set the value of the “@stock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #stock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconStock :: (MonadIO m, IsStatusIcon o) => o -> T.Text -> m ()
+setStatusIconStock obj val = liftIO $ B.Properties.setObjectPropertyString obj "stock" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconStock :: (IsStatusIcon o) => T.Text -> IO (GValueConstruct o)
+constructStatusIconStock val = B.Properties.constructObjectPropertyString "stock" (Just val)
+
+{- |
+Set the value of the “@stock@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stock
+@
+-}
+clearStatusIconStock :: (MonadIO m, IsStatusIcon o) => o -> m ()
+clearStatusIconStock obj = liftIO $ B.Properties.setObjectPropertyString obj "stock" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data StatusIconStockPropertyInfo
+instance AttrInfo StatusIconStockPropertyInfo where
+    type AttrAllowedOps StatusIconStockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StatusIconStockPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StatusIconStockPropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconStockPropertyInfo = (Maybe T.Text)
+    type AttrLabel StatusIconStockPropertyInfo = "stock"
+    type AttrOrigin StatusIconStockPropertyInfo = StatusIcon
+    attrGet _ = getStatusIconStock
+    attrSet _ = setStatusIconStock
+    attrConstruct _ = constructStatusIconStock
+    attrClear _ = clearStatusIconStock
+#endif
+
+-- VVV Prop "storage-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ImageType"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@storage-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #storageType
+@
+-}
+getStatusIconStorageType :: (MonadIO m, IsStatusIcon o) => o -> m Gtk.Enums.ImageType
+getStatusIconStorageType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "storage-type"
+
+#if ENABLE_OVERLOADING
+data StatusIconStorageTypePropertyInfo
+instance AttrInfo StatusIconStorageTypePropertyInfo where
+    type AttrAllowedOps StatusIconStorageTypePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint StatusIconStorageTypePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint StatusIconStorageTypePropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconStorageTypePropertyInfo = Gtk.Enums.ImageType
+    type AttrLabel StatusIconStorageTypePropertyInfo = "storage-type"
+    type AttrOrigin StatusIconStorageTypePropertyInfo = StatusIcon
+    attrGet _ = getStatusIconStorageType
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #title
+@
+-}
+getStatusIconTitle :: (MonadIO m, IsStatusIcon o) => o -> m T.Text
+getStatusIconTitle obj = liftIO $ checkUnexpectedNothing "getStatusIconTitle" $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconTitle :: (MonadIO m, IsStatusIcon o) => o -> T.Text -> m ()
+setStatusIconTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconTitle :: (IsStatusIcon o) => T.Text -> IO (GValueConstruct o)
+constructStatusIconTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+#if ENABLE_OVERLOADING
+data StatusIconTitlePropertyInfo
+instance AttrInfo StatusIconTitlePropertyInfo where
+    type AttrAllowedOps StatusIconTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StatusIconTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StatusIconTitlePropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconTitlePropertyInfo = T.Text
+    type AttrLabel StatusIconTitlePropertyInfo = "title"
+    type AttrOrigin StatusIconTitlePropertyInfo = StatusIcon
+    attrGet _ = getStatusIconTitle
+    attrSet _ = setStatusIconTitle
+    attrConstruct _ = constructStatusIconTitle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tooltip-markup"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+{- |
+Get the value of the “@tooltip-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #tooltipMarkup
+@
+-}
+getStatusIconTooltipMarkup :: (MonadIO m, IsStatusIcon o) => o -> m (Maybe T.Text)
+getStatusIconTooltipMarkup obj = liftIO $ B.Properties.getObjectPropertyString obj "tooltip-markup"
+
+{- |
+Set the value of the “@tooltip-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #tooltipMarkup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconTooltipMarkup :: (MonadIO m, IsStatusIcon o) => o -> T.Text -> m ()
+setStatusIconTooltipMarkup obj val = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-markup" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconTooltipMarkup :: (IsStatusIcon o) => T.Text -> IO (GValueConstruct o)
+constructStatusIconTooltipMarkup val = B.Properties.constructObjectPropertyString "tooltip-markup" (Just val)
+
+{- |
+Set the value of the “@tooltip-markup@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tooltipMarkup
+@
+-}
+clearStatusIconTooltipMarkup :: (MonadIO m, IsStatusIcon o) => o -> m ()
+clearStatusIconTooltipMarkup obj = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-markup" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data StatusIconTooltipMarkupPropertyInfo
+instance AttrInfo StatusIconTooltipMarkupPropertyInfo where
+    type AttrAllowedOps StatusIconTooltipMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StatusIconTooltipMarkupPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StatusIconTooltipMarkupPropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconTooltipMarkupPropertyInfo = (Maybe T.Text)
+    type AttrLabel StatusIconTooltipMarkupPropertyInfo = "tooltip-markup"
+    type AttrOrigin StatusIconTooltipMarkupPropertyInfo = StatusIcon
+    attrGet _ = getStatusIconTooltipMarkup
+    attrSet _ = setStatusIconTooltipMarkup
+    attrConstruct _ = constructStatusIconTooltipMarkup
+    attrClear _ = clearStatusIconTooltipMarkup
+#endif
+
+-- VVV Prop "tooltip-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@tooltip-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #tooltipText
+@
+-}
+getStatusIconTooltipText :: (MonadIO m, IsStatusIcon o) => o -> m (Maybe T.Text)
+getStatusIconTooltipText obj = liftIO $ B.Properties.getObjectPropertyString obj "tooltip-text"
+
+{- |
+Set the value of the “@tooltip-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #tooltipText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconTooltipText :: (MonadIO m, IsStatusIcon o) => o -> T.Text -> m ()
+setStatusIconTooltipText obj val = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconTooltipText :: (IsStatusIcon o) => T.Text -> IO (GValueConstruct o)
+constructStatusIconTooltipText val = B.Properties.constructObjectPropertyString "tooltip-text" (Just val)
+
+#if ENABLE_OVERLOADING
+data StatusIconTooltipTextPropertyInfo
+instance AttrInfo StatusIconTooltipTextPropertyInfo where
+    type AttrAllowedOps StatusIconTooltipTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StatusIconTooltipTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint StatusIconTooltipTextPropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconTooltipTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel StatusIconTooltipTextPropertyInfo = "tooltip-text"
+    type AttrOrigin StatusIconTooltipTextPropertyInfo = StatusIcon
+    attrGet _ = getStatusIconTooltipText
+    attrSet _ = setStatusIconTooltipText
+    attrConstruct _ = constructStatusIconTooltipText
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' statusIcon #visible
+@
+-}
+getStatusIconVisible :: (MonadIO m, IsStatusIcon o) => o -> m Bool
+getStatusIconVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible"
+
+{- |
+Set the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' statusIcon [ #visible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStatusIconVisible :: (MonadIO m, IsStatusIcon o) => o -> Bool -> m ()
+setStatusIconVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStatusIconVisible :: (IsStatusIcon o) => Bool -> IO (GValueConstruct o)
+constructStatusIconVisible val = B.Properties.constructObjectPropertyBool "visible" val
+
+#if ENABLE_OVERLOADING
+data StatusIconVisiblePropertyInfo
+instance AttrInfo StatusIconVisiblePropertyInfo where
+    type AttrAllowedOps StatusIconVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StatusIconVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint StatusIconVisiblePropertyInfo = IsStatusIcon
+    type AttrGetType StatusIconVisiblePropertyInfo = Bool
+    type AttrLabel StatusIconVisiblePropertyInfo = "visible"
+    type AttrOrigin StatusIconVisiblePropertyInfo = StatusIcon
+    attrGet _ = getStatusIconVisible
+    attrSet _ = setStatusIconVisible
+    attrConstruct _ = constructStatusIconVisible
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList StatusIcon
+type instance O.AttributeList StatusIcon = StatusIconAttributeList
+type StatusIconAttributeList = ('[ '("embedded", StatusIconEmbeddedPropertyInfo), '("file", StatusIconFilePropertyInfo), '("gicon", StatusIconGiconPropertyInfo), '("hasTooltip", StatusIconHasTooltipPropertyInfo), '("iconName", StatusIconIconNamePropertyInfo), '("orientation", StatusIconOrientationPropertyInfo), '("pixbuf", StatusIconPixbufPropertyInfo), '("screen", StatusIconScreenPropertyInfo), '("size", StatusIconSizePropertyInfo), '("stock", StatusIconStockPropertyInfo), '("storageType", StatusIconStorageTypePropertyInfo), '("title", StatusIconTitlePropertyInfo), '("tooltipMarkup", StatusIconTooltipMarkupPropertyInfo), '("tooltipText", StatusIconTooltipTextPropertyInfo), '("visible", StatusIconVisiblePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+statusIconEmbedded :: AttrLabelProxy "embedded"
+statusIconEmbedded = AttrLabelProxy
+
+statusIconFile :: AttrLabelProxy "file"
+statusIconFile = AttrLabelProxy
+
+statusIconGicon :: AttrLabelProxy "gicon"
+statusIconGicon = AttrLabelProxy
+
+statusIconHasTooltip :: AttrLabelProxy "hasTooltip"
+statusIconHasTooltip = AttrLabelProxy
+
+statusIconIconName :: AttrLabelProxy "iconName"
+statusIconIconName = AttrLabelProxy
+
+statusIconOrientation :: AttrLabelProxy "orientation"
+statusIconOrientation = AttrLabelProxy
+
+statusIconPixbuf :: AttrLabelProxy "pixbuf"
+statusIconPixbuf = AttrLabelProxy
+
+statusIconScreen :: AttrLabelProxy "screen"
+statusIconScreen = AttrLabelProxy
+
+statusIconSize :: AttrLabelProxy "size"
+statusIconSize = AttrLabelProxy
+
+statusIconStock :: AttrLabelProxy "stock"
+statusIconStock = AttrLabelProxy
+
+statusIconStorageType :: AttrLabelProxy "storageType"
+statusIconStorageType = AttrLabelProxy
+
+statusIconTitle :: AttrLabelProxy "title"
+statusIconTitle = AttrLabelProxy
+
+statusIconTooltipMarkup :: AttrLabelProxy "tooltipMarkup"
+statusIconTooltipMarkup = AttrLabelProxy
+
+statusIconTooltipText :: AttrLabelProxy "tooltipText"
+statusIconTooltipText = AttrLabelProxy
+
+statusIconVisible :: AttrLabelProxy "visible"
+statusIconVisible = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data StatusIconActivateSignalInfo
+instance SignalInfo StatusIconActivateSignalInfo where
+    type HaskellCallbackType StatusIconActivateSignalInfo = StatusIconActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StatusIconActivateCallback cb
+        cb'' <- mk_StatusIconActivateCallback cb'
+        connectSignalFunPtr obj "activate" cb'' connectMode
+
+data StatusIconButtonPressEventSignalInfo
+instance SignalInfo StatusIconButtonPressEventSignalInfo where
+    type HaskellCallbackType StatusIconButtonPressEventSignalInfo = StatusIconButtonPressEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StatusIconButtonPressEventCallback cb
+        cb'' <- mk_StatusIconButtonPressEventCallback cb'
+        connectSignalFunPtr obj "button-press-event" cb'' connectMode
+
+data StatusIconButtonReleaseEventSignalInfo
+instance SignalInfo StatusIconButtonReleaseEventSignalInfo where
+    type HaskellCallbackType StatusIconButtonReleaseEventSignalInfo = StatusIconButtonReleaseEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StatusIconButtonReleaseEventCallback cb
+        cb'' <- mk_StatusIconButtonReleaseEventCallback cb'
+        connectSignalFunPtr obj "button-release-event" cb'' connectMode
+
+data StatusIconPopupMenuSignalInfo
+instance SignalInfo StatusIconPopupMenuSignalInfo where
+    type HaskellCallbackType StatusIconPopupMenuSignalInfo = StatusIconPopupMenuCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StatusIconPopupMenuCallback cb
+        cb'' <- mk_StatusIconPopupMenuCallback cb'
+        connectSignalFunPtr obj "popup-menu" cb'' connectMode
+
+data StatusIconQueryTooltipSignalInfo
+instance SignalInfo StatusIconQueryTooltipSignalInfo where
+    type HaskellCallbackType StatusIconQueryTooltipSignalInfo = StatusIconQueryTooltipCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StatusIconQueryTooltipCallback cb
+        cb'' <- mk_StatusIconQueryTooltipCallback cb'
+        connectSignalFunPtr obj "query-tooltip" cb'' connectMode
+
+data StatusIconScrollEventSignalInfo
+instance SignalInfo StatusIconScrollEventSignalInfo where
+    type HaskellCallbackType StatusIconScrollEventSignalInfo = StatusIconScrollEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StatusIconScrollEventCallback cb
+        cb'' <- mk_StatusIconScrollEventCallback cb'
+        connectSignalFunPtr obj "scroll-event" cb'' connectMode
+
+data StatusIconSizeChangedSignalInfo
+instance SignalInfo StatusIconSizeChangedSignalInfo where
+    type HaskellCallbackType StatusIconSizeChangedSignalInfo = StatusIconSizeChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StatusIconSizeChangedCallback cb
+        cb'' <- mk_StatusIconSizeChangedCallback cb'
+        connectSignalFunPtr obj "size-changed" cb'' connectMode
+
+type instance O.SignalList StatusIcon = StatusIconSignalList
+type StatusIconSignalList = ('[ '("activate", StatusIconActivateSignalInfo), '("buttonPressEvent", StatusIconButtonPressEventSignalInfo), '("buttonReleaseEvent", StatusIconButtonReleaseEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("popupMenu", StatusIconPopupMenuSignalInfo), '("queryTooltip", StatusIconQueryTooltipSignalInfo), '("scrollEvent", StatusIconScrollEventSignalInfo), '("sizeChanged", StatusIconSizeChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method StatusIcon::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StatusIcon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_new" gtk_status_icon_new :: 
+    IO (Ptr StatusIcon)
+
+{-# DEPRECATED statusIconNew ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications"] #-}
+{- |
+Creates an empty status icon object.
+
+/Since: 2.10/
+-}
+statusIconNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m StatusIcon
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+statusIconNew  = liftIO $ do
+    result <- gtk_status_icon_new
+    checkUnexpectedReturnNULL "statusIconNew" result
+    result' <- (wrapObject StatusIcon) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StatusIcon::new_from_file
+-- method type : Constructor
+-- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a filename", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StatusIcon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_new_from_file" gtk_status_icon_new_from_file :: 
+    CString ->                              -- filename : TBasicType TFileName
+    IO (Ptr StatusIcon)
+
+{-# DEPRECATED statusIconNewFromFile ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications"] #-}
+{- |
+Creates a status icon displaying the file /@filename@/.
+
+The image will be scaled down to fit in the available
+space in the notification area, if necessary.
+
+/Since: 2.10/
+-}
+statusIconNewFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Char]
+    {- ^ /@filename@/: a filename -}
+    -> m StatusIcon
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+statusIconNewFromFile filename = liftIO $ do
+    filename' <- stringToCString filename
+    result <- gtk_status_icon_new_from_file filename'
+    checkUnexpectedReturnNULL "statusIconNewFromFile" result
+    result' <- (wrapObject StatusIcon) result
+    freeMem filename'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StatusIcon::new_from_gicon
+-- method type : Constructor
+-- Args : [Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StatusIcon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_new_from_gicon" gtk_status_icon_new_from_gicon :: 
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    IO (Ptr StatusIcon)
+
+{-# DEPRECATED statusIconNewFromGicon ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications"] #-}
+{- |
+Creates a status icon displaying a 'GI.Gio.Interfaces.Icon.Icon'. If the icon is a
+themed icon, it will be updated when the theme changes.
+
+/Since: 2.14/
+-}
+statusIconNewFromGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, Gio.Icon.IsIcon a) =>
+    a
+    {- ^ /@icon@/: a 'GI.Gio.Interfaces.Icon.Icon' -}
+    -> m StatusIcon
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+statusIconNewFromGicon icon = liftIO $ do
+    icon' <- unsafeManagedPtrCastPtr icon
+    result <- gtk_status_icon_new_from_gicon icon'
+    checkUnexpectedReturnNULL "statusIconNewFromGicon" result
+    result' <- (wrapObject StatusIcon) result
+    touchManagedPtr icon
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StatusIcon::new_from_icon_name
+-- method type : Constructor
+-- Args : [Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StatusIcon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_new_from_icon_name" gtk_status_icon_new_from_icon_name :: 
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO (Ptr StatusIcon)
+
+{-# DEPRECATED statusIconNewFromIconName ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications"] #-}
+{- |
+Creates a status icon displaying an icon from the current icon theme.
+If the current icon theme is changed, the icon will be updated
+appropriately.
+
+/Since: 2.10/
+-}
+statusIconNewFromIconName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@iconName@/: an icon name -}
+    -> m StatusIcon
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+statusIconNewFromIconName iconName = liftIO $ do
+    iconName' <- textToCString iconName
+    result <- gtk_status_icon_new_from_icon_name iconName'
+    checkUnexpectedReturnNULL "statusIconNewFromIconName" result
+    result' <- (wrapObject StatusIcon) result
+    freeMem iconName'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StatusIcon::new_from_pixbuf
+-- method type : Constructor
+-- Args : [Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StatusIcon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_new_from_pixbuf" gtk_status_icon_new_from_pixbuf :: 
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO (Ptr StatusIcon)
+
+{-# DEPRECATED statusIconNewFromPixbuf ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications"] #-}
+{- |
+Creates a status icon displaying /@pixbuf@/.
+
+The image will be scaled down to fit in the available
+space in the notification area, if necessary.
+
+/Since: 2.10/
+-}
+statusIconNewFromPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>
+    a
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}
+    -> m StatusIcon
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+statusIconNewFromPixbuf pixbuf = liftIO $ do
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    result <- gtk_status_icon_new_from_pixbuf pixbuf'
+    checkUnexpectedReturnNULL "statusIconNewFromPixbuf" result
+    result' <- (wrapObject StatusIcon) result
+    touchManagedPtr pixbuf
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StatusIcon::new_from_stock
+-- method type : Constructor
+-- Args : [Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StatusIcon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_new_from_stock" gtk_status_icon_new_from_stock :: 
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr StatusIcon)
+
+{-# DEPRECATED statusIconNewFromStock ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications"] #-}
+{- |
+Creates a status icon displaying a stock icon. Sample stock icon
+names are 'GI.Gtk.Constants.STOCK_OPEN', 'GI.Gtk.Constants.STOCK_QUIT'. You can register your
+own stock icon names, see 'GI.Gtk.Objects.IconFactory.iconFactoryAddDefault' and
+'GI.Gtk.Objects.IconFactory.iconFactoryAdd'.
+
+/Since: 2.10/
+-}
+statusIconNewFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@stockId@/: a stock icon id -}
+    -> m StatusIcon
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+statusIconNewFromStock stockId = liftIO $ do
+    stockId' <- textToCString stockId
+    result <- gtk_status_icon_new_from_stock stockId'
+    checkUnexpectedReturnNULL "statusIconNewFromStock" result
+    result' <- (wrapObject StatusIcon) result
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StatusIcon::get_geometry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for\n         the screen, or %NULL if the information is not needed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the area occupied by\n       the status icon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the\n   orientation of the panel in which the status icon is embedded,\n   or %NULL. A panel at the top or bottom of the screen is\n   horizontal, a panel at the left or right is vertical.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_geometry" gtk_status_icon_get_geometry :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    Ptr (Ptr Gdk.Screen.Screen) ->          -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr CUInt ->                            -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO CInt
+
+{-# DEPRECATED statusIconGetGeometry ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function, as the platform is responsible for the","  presentation of notifications"] #-}
+{- |
+Obtains information about the location of the status icon
+on screen. This information can be used to e.g. position
+popups like notification bubbles.
+
+See 'GI.Gtk.Objects.StatusIcon.statusIconPositionMenu' for a more convenient
+alternative for positioning menus.
+
+Note that some platforms do not allow GTK+ to provide
+this information, and even on platforms that do allow it,
+the information is not reliable unless the status icon
+is embedded in a notification area, see
+'GI.Gtk.Objects.StatusIcon.statusIconIsEmbedded'.
+
+/Since: 2.10/
+-}
+statusIconGetGeometry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m ((Bool, Gdk.Screen.Screen, Gdk.Rectangle.Rectangle, Gtk.Enums.Orientation))
+    {- ^ __Returns:__ 'True' if the location information has
+              been filled in -}
+statusIconGetGeometry statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    screen <- allocMem :: IO (Ptr (Ptr Gdk.Screen.Screen))
+    area <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    orientation <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_status_icon_get_geometry statusIcon' screen area orientation
+    let result' = (/= 0) result
+    screen' <- peek screen
+    screen'' <- (newObject Gdk.Screen.Screen) screen'
+    area' <- (wrapBoxed Gdk.Rectangle.Rectangle) area
+    orientation' <- peek orientation
+    let orientation'' = (toEnum . fromIntegral) orientation'
+    touchManagedPtr statusIcon
+    freeMem screen
+    freeMem orientation
+    return (result', screen'', area', orientation'')
+
+#if ENABLE_OVERLOADING
+data StatusIconGetGeometryMethodInfo
+instance (signature ~ (m ((Bool, Gdk.Screen.Screen, Gdk.Rectangle.Rectangle, Gtk.Enums.Orientation))), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetGeometryMethodInfo a signature where
+    overloadedMethod _ = statusIconGetGeometry
+
+#endif
+
+-- method StatusIcon::get_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_gicon" gtk_status_icon_get_gicon :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO (Ptr Gio.Icon.Icon)
+
+{-# DEPRECATED statusIconGetGicon ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Retrieves the 'GI.Gio.Interfaces.Icon.Icon' being displayed by the 'GI.Gtk.Objects.StatusIcon.StatusIcon'.
+The storage type of the status icon must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypeGicon' (see 'GI.Gtk.Objects.StatusIcon.statusIconGetStorageType').
+The caller of this function does not own a reference to the
+returned 'GI.Gio.Interfaces.Icon.Icon'.
+
+If this function fails, /@icon@/ is left unchanged;
+
+/Since: 2.14/
+-}
+statusIconGetGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m (Maybe Gio.Icon.Icon)
+    {- ^ __Returns:__ the displayed icon, or 'Nothing' if the image is empty -}
+statusIconGetGicon statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_gicon statusIcon'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.Icon.Icon) result'
+        return result''
+    touchManagedPtr statusIcon
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StatusIconGetGiconMethodInfo
+instance (signature ~ (m (Maybe Gio.Icon.Icon)), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetGiconMethodInfo a signature where
+    overloadedMethod _ = statusIconGetGicon
+
+#endif
+
+-- method StatusIcon::get_has_tooltip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_has_tooltip" gtk_status_icon_get_has_tooltip :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO CInt
+
+{-# DEPRECATED statusIconGetHasTooltip ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Returns the current value of the has-tooltip property.
+See 'GI.Gtk.Objects.StatusIcon.StatusIcon':@/has-tooltip/@ for more information.
+
+/Since: 2.16/
+-}
+statusIconGetHasTooltip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m Bool
+    {- ^ __Returns:__ current value of has-tooltip on /@statusIcon@/. -}
+statusIconGetHasTooltip statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_has_tooltip statusIcon'
+    let result' = (/= 0) result
+    touchManagedPtr statusIcon
+    return result'
+
+#if ENABLE_OVERLOADING
+data StatusIconGetHasTooltipMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetHasTooltipMethodInfo a signature where
+    overloadedMethod _ = statusIconGetHasTooltip
+
+#endif
+
+-- method StatusIcon::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_icon_name" gtk_status_icon_get_icon_name :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO CString
+
+{-# DEPRECATED statusIconGetIconName ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Gets the name of the icon being displayed by the 'GI.Gtk.Objects.StatusIcon.StatusIcon'.
+The storage type of the status icon must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypeIconName' (see 'GI.Gtk.Objects.StatusIcon.statusIconGetStorageType').
+The returned string is owned by the 'GI.Gtk.Objects.StatusIcon.StatusIcon' and should not
+be freed or modified.
+
+/Since: 2.10/
+-}
+statusIconGetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ name of the displayed icon, or 'Nothing' if the image is empty. -}
+statusIconGetIconName statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_icon_name statusIcon'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr statusIcon
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StatusIconGetIconNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetIconNameMethodInfo a signature where
+    overloadedMethod _ = statusIconGetIconName
+
+#endif
+
+-- method StatusIcon::get_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_pixbuf" gtk_status_icon_get_pixbuf :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED statusIconGetPixbuf ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Gets the 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' being displayed by the 'GI.Gtk.Objects.StatusIcon.StatusIcon'.
+The storage type of the status icon must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypePixbuf' (see 'GI.Gtk.Objects.StatusIcon.statusIconGetStorageType').
+The caller of this function does not own a reference to the
+returned pixbuf.
+
+/Since: 2.10/
+-}
+statusIconGetPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ the displayed pixbuf,
+    or 'Nothing' if the image is empty. -}
+statusIconGetPixbuf statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_pixbuf statusIcon'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr statusIcon
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StatusIconGetPixbufMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetPixbufMethodInfo a signature where
+    overloadedMethod _ = statusIconGetPixbuf
+
+#endif
+
+-- method StatusIcon::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_screen" gtk_status_icon_get_screen :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO (Ptr Gdk.Screen.Screen)
+
+{-# DEPRECATED statusIconGetScreen ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function, as notifications are managed by the platform"] #-}
+{- |
+Returns the 'GI.Gdk.Objects.Screen.Screen' associated with /@statusIcon@/.
+
+/Since: 2.12/
+-}
+statusIconGetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m Gdk.Screen.Screen
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Screen.Screen'. -}
+statusIconGetScreen statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_screen statusIcon'
+    checkUnexpectedReturnNULL "statusIconGetScreen" result
+    result' <- (newObject Gdk.Screen.Screen) result
+    touchManagedPtr statusIcon
+    return result'
+
+#if ENABLE_OVERLOADING
+data StatusIconGetScreenMethodInfo
+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetScreenMethodInfo a signature where
+    overloadedMethod _ = statusIconGetScreen
+
+#endif
+
+-- method StatusIcon::get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_size" gtk_status_icon_get_size :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO Int32
+
+{-# DEPRECATED statusIconGetSize ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function, as the representation of a notification","  is left to the platform"] #-}
+{- |
+Gets the size in pixels that is available for the image.
+Stock icons and named icons adapt their size automatically
+if the size of the notification area changes. For other
+storage types, the size-changed signal can be used to
+react to size changes.
+
+Note that the returned size is only meaningful while the
+status icon is embedded (see 'GI.Gtk.Objects.StatusIcon.statusIconIsEmbedded').
+
+/Since: 2.10/
+-}
+statusIconGetSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m Int32
+    {- ^ __Returns:__ the size that is available for the image -}
+statusIconGetSize statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_size statusIcon'
+    touchManagedPtr statusIcon
+    return result
+
+#if ENABLE_OVERLOADING
+data StatusIconGetSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetSizeMethodInfo a signature where
+    overloadedMethod _ = statusIconGetSize
+
+#endif
+
+-- method StatusIcon::get_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_stock" gtk_status_icon_get_stock :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO CString
+
+{-# DEPRECATED statusIconGetStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.StatusIcon.statusIconGetIconName' instead."] #-}
+{- |
+Gets the id of the stock icon being displayed by the 'GI.Gtk.Objects.StatusIcon.StatusIcon'.
+The storage type of the status icon must be 'GI.Gtk.Enums.ImageTypeEmpty' or
+'GI.Gtk.Enums.ImageTypeStock' (see 'GI.Gtk.Objects.StatusIcon.statusIconGetStorageType').
+The returned string is owned by the 'GI.Gtk.Objects.StatusIcon.StatusIcon' and should not
+be freed or modified.
+
+/Since: 2.10/
+-}
+statusIconGetStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ stock id of the displayed stock icon,
+  or 'Nothing' if the image is empty. -}
+statusIconGetStock statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_stock statusIcon'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr statusIcon
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StatusIconGetStockMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetStockMethodInfo a signature where
+    overloadedMethod _ = statusIconGetStock
+
+#endif
+
+-- method StatusIcon::get_storage_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ImageType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_storage_type" gtk_status_icon_get_storage_type :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO CUInt
+
+{-# DEPRECATED statusIconGetStorageType ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function, and 'GI.Gio.Objects.Notification.Notification' only supports 'GI.Gio.Interfaces.Icon.Icon'","  instances"] #-}
+{- |
+Gets the type of representation being used by the 'GI.Gtk.Objects.StatusIcon.StatusIcon'
+to store image data. If the 'GI.Gtk.Objects.StatusIcon.StatusIcon' has no image data,
+the return value will be 'GI.Gtk.Enums.ImageTypeEmpty'.
+
+/Since: 2.10/
+-}
+statusIconGetStorageType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m Gtk.Enums.ImageType
+    {- ^ __Returns:__ the image representation being used -}
+statusIconGetStorageType statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_storage_type statusIcon'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr statusIcon
+    return result'
+
+#if ENABLE_OVERLOADING
+data StatusIconGetStorageTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.ImageType), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetStorageTypeMethodInfo a signature where
+    overloadedMethod _ = statusIconGetStorageType
+
+#endif
+
+-- method StatusIcon::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_title" gtk_status_icon_get_title :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO CString
+
+{-# DEPRECATED statusIconGetTitle ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Gets the title of this tray icon. See 'GI.Gtk.Objects.StatusIcon.statusIconSetTitle'.
+
+/Since: 2.18/
+-}
+statusIconGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m T.Text
+    {- ^ __Returns:__ the title of the status icon -}
+statusIconGetTitle statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_title statusIcon'
+    checkUnexpectedReturnNULL "statusIconGetTitle" result
+    result' <- cstringToText result
+    touchManagedPtr statusIcon
+    return result'
+
+#if ENABLE_OVERLOADING
+data StatusIconGetTitleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetTitleMethodInfo a signature where
+    overloadedMethod _ = statusIconGetTitle
+
+#endif
+
+-- method StatusIcon::get_tooltip_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_tooltip_markup" gtk_status_icon_get_tooltip_markup :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO CString
+
+{-# DEPRECATED statusIconGetTooltipMarkup ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Gets the contents of the tooltip for /@statusIcon@/.
+
+/Since: 2.16/
+-}
+statusIconGetTooltipMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the tooltip text, or 'Nothing'. You should free the
+  returned string with 'GI.GLib.Functions.free' when done. -}
+statusIconGetTooltipMarkup statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_tooltip_markup statusIcon'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr statusIcon
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StatusIconGetTooltipMarkupMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetTooltipMarkupMethodInfo a signature where
+    overloadedMethod _ = statusIconGetTooltipMarkup
+
+#endif
+
+-- method StatusIcon::get_tooltip_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_tooltip_text" gtk_status_icon_get_tooltip_text :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO CString
+
+{-# DEPRECATED statusIconGetTooltipText ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Gets the contents of the tooltip for /@statusIcon@/.
+
+/Since: 2.16/
+-}
+statusIconGetTooltipText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the tooltip text, or 'Nothing'. You should free the
+  returned string with 'GI.GLib.Functions.free' when done. -}
+statusIconGetTooltipText statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_tooltip_text statusIcon'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr statusIcon
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StatusIconGetTooltipTextMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetTooltipTextMethodInfo a signature where
+    overloadedMethod _ = statusIconGetTooltipText
+
+#endif
+
+-- method StatusIcon::get_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_visible" gtk_status_icon_get_visible :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO CInt
+
+{-# DEPRECATED statusIconGetVisible ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Returns whether the status icon is visible or not.
+Note that being visible does not guarantee that
+the user can actually see the icon, see also
+'GI.Gtk.Objects.StatusIcon.statusIconIsEmbedded'.
+
+/Since: 2.10/
+-}
+statusIconGetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the status icon is visible -}
+statusIconGetVisible statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_visible statusIcon'
+    let result' = (/= 0) result
+    touchManagedPtr statusIcon
+    return result'
+
+#if ENABLE_OVERLOADING
+data StatusIconGetVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetVisibleMethodInfo a signature where
+    overloadedMethod _ = statusIconGetVisible
+
+#endif
+
+-- method StatusIcon::get_x11_window_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt32)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_get_x11_window_id" gtk_status_icon_get_x11_window_id :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO Word32
+
+{-# DEPRECATED statusIconGetX11WindowId ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+This function is only useful on the X11\/freedesktop.org platform.
+
+It returns a window ID for the widget in the underlying
+status icon implementation.  This is useful for the Galago
+notification service, which can send a window ID in the protocol
+in order for the server to position notification windows
+pointing to a status icon reliably.
+
+This function is not intended for other use cases which are
+more likely to be met by one of the non-X11 specific methods, such
+as 'GI.Gtk.Objects.StatusIcon.statusIconPositionMenu'.
+
+/Since: 2.14/
+-}
+statusIconGetX11WindowId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m Word32
+    {- ^ __Returns:__ An 32 bit unsigned integer identifier for the
+underlying X11 Window -}
+statusIconGetX11WindowId statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_get_x11_window_id statusIcon'
+    touchManagedPtr statusIcon
+    return result
+
+#if ENABLE_OVERLOADING
+data StatusIconGetX11WindowIdMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconGetX11WindowIdMethodInfo a signature where
+    overloadedMethod _ = statusIconGetX11WindowId
+
+#endif
+
+-- method StatusIcon::is_embedded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_is_embedded" gtk_status_icon_is_embedded :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO CInt
+
+{-# DEPRECATED statusIconIsEmbedded ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Returns whether the status icon is embedded in a notification
+area.
+
+/Since: 2.10/
+-}
+statusIconIsEmbedded ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the status icon is embedded in
+  a notification area. -}
+statusIconIsEmbedded statusIcon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    result <- gtk_status_icon_is_embedded statusIcon'
+    let result' = (/= 0) result
+    touchManagedPtr statusIcon
+    return result'
+
+#if ENABLE_OVERLOADING
+data StatusIconIsEmbeddedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconIsEmbeddedMethodInfo a signature where
+    overloadedMethod _ = statusIconIsEmbedded
+
+#endif
+
+-- method StatusIcon::set_from_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a filename", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_from_file" gtk_status_icon_set_from_file :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    CString ->                              -- filename : TBasicType TFileName
+    IO ()
+
+{-# DEPRECATED statusIconSetFromFile ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; you can use 'GI.Gio.Objects.Notification.notificationSetIcon'","  to associate a 'GI.Gio.Interfaces.Icon.Icon' with a notification"] #-}
+{- |
+Makes /@statusIcon@/ display the file /@filename@/.
+See 'GI.Gtk.Objects.StatusIcon.statusIconNewFromFile' for details.
+
+/Since: 2.10/
+-}
+statusIconSetFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> [Char]
+    {- ^ /@filename@/: a filename -}
+    -> m ()
+statusIconSetFromFile statusIcon filename = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    filename' <- stringToCString filename
+    gtk_status_icon_set_from_file statusIcon' filename'
+    touchManagedPtr statusIcon
+    freeMem filename'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetFromFileMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconSetFromFileMethodInfo a signature where
+    overloadedMethod _ = statusIconSetFromFile
+
+#endif
+
+-- method StatusIcon::set_from_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_from_gicon" gtk_status_icon_set_from_gicon :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    IO ()
+
+{-# DEPRECATED statusIconSetFromGicon ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; you can use 'GI.Gio.Objects.Notification.notificationSetIcon'","  to associate a 'GI.Gio.Interfaces.Icon.Icon' with a notification"] #-}
+{- |
+Makes /@statusIcon@/ display the 'GI.Gio.Interfaces.Icon.Icon'.
+See 'GI.Gtk.Objects.StatusIcon.statusIconNewFromGicon' for details.
+
+/Since: 2.14/
+-}
+statusIconSetFromGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> b
+    {- ^ /@icon@/: a GIcon -}
+    -> m ()
+statusIconSetFromGicon statusIcon icon = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    icon' <- unsafeManagedPtrCastPtr icon
+    gtk_status_icon_set_from_gicon statusIcon' icon'
+    touchManagedPtr statusIcon
+    touchManagedPtr icon
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetFromGiconMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsStatusIcon a, Gio.Icon.IsIcon b) => O.MethodInfo StatusIconSetFromGiconMethodInfo a signature where
+    overloadedMethod _ = statusIconSetFromGicon
+
+#endif
+
+-- method StatusIcon::set_from_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_from_icon_name" gtk_status_icon_set_from_icon_name :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED statusIconSetFromIconName ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; you can use 'GI.Gio.Objects.Notification.notificationSetIcon'","  to associate a 'GI.Gio.Interfaces.Icon.Icon' with a notification"] #-}
+{- |
+Makes /@statusIcon@/ display the icon named /@iconName@/ from the
+current icon theme.
+See 'GI.Gtk.Objects.StatusIcon.statusIconNewFromIconName' for details.
+
+/Since: 2.10/
+-}
+statusIconSetFromIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> T.Text
+    {- ^ /@iconName@/: an icon name -}
+    -> m ()
+statusIconSetFromIconName statusIcon iconName = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    iconName' <- textToCString iconName
+    gtk_status_icon_set_from_icon_name statusIcon' iconName'
+    touchManagedPtr statusIcon
+    freeMem iconName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetFromIconNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconSetFromIconNameMethodInfo a signature where
+    overloadedMethod _ = statusIconSetFromIconName
+
+#endif
+
+-- method StatusIcon::set_from_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_from_pixbuf" gtk_status_icon_set_from_pixbuf :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{-# DEPRECATED statusIconSetFromPixbuf ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; you can use 'GI.Gio.Objects.Notification.notificationSetIcon'","  to associate a 'GI.Gio.Interfaces.Icon.Icon' with a notification"] #-}
+{- |
+Makes /@statusIcon@/ display /@pixbuf@/.
+See 'GI.Gtk.Objects.StatusIcon.statusIconNewFromPixbuf' for details.
+
+/Since: 2.10/
+-}
+statusIconSetFromPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> Maybe (b)
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' or 'Nothing' -}
+    -> m ()
+statusIconSetFromPixbuf statusIcon pixbuf = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    maybePixbuf <- case pixbuf of
+        Nothing -> return nullPtr
+        Just jPixbuf -> do
+            jPixbuf' <- unsafeManagedPtrCastPtr jPixbuf
+            return jPixbuf'
+    gtk_status_icon_set_from_pixbuf statusIcon' maybePixbuf
+    touchManagedPtr statusIcon
+    whenJust pixbuf touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetFromPixbufMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsStatusIcon a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo StatusIconSetFromPixbufMethodInfo a signature where
+    overloadedMethod _ = statusIconSetFromPixbuf
+
+#endif
+
+-- method StatusIcon::set_from_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_from_stock" gtk_status_icon_set_from_stock :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED statusIconSetFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.StatusIcon.statusIconSetFromIconName' instead."] #-}
+{- |
+Makes /@statusIcon@/ display the stock icon with the id /@stockId@/.
+See 'GI.Gtk.Objects.StatusIcon.statusIconNewFromStock' for details.
+
+/Since: 2.10/
+-}
+statusIconSetFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> T.Text
+    {- ^ /@stockId@/: a stock icon id -}
+    -> m ()
+statusIconSetFromStock statusIcon stockId = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    stockId' <- textToCString stockId
+    gtk_status_icon_set_from_stock statusIcon' stockId'
+    touchManagedPtr statusIcon
+    freeMem stockId'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetFromStockMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconSetFromStockMethodInfo a signature where
+    overloadedMethod _ = statusIconSetFromStock
+
+#endif
+
+-- method StatusIcon::set_has_tooltip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_tooltip", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not @status_icon has a tooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_has_tooltip" gtk_status_icon_set_has_tooltip :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    CInt ->                                 -- has_tooltip : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED statusIconSetHasTooltip ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function, but notifications can display an arbitrary","  amount of text using 'GI.Gio.Objects.Notification.notificationSetBody'"] #-}
+{- |
+Sets the has-tooltip property on /@statusIcon@/ to /@hasTooltip@/.
+See 'GI.Gtk.Objects.StatusIcon.StatusIcon':@/has-tooltip/@ for more information.
+
+/Since: 2.16/
+-}
+statusIconSetHasTooltip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> Bool
+    {- ^ /@hasTooltip@/: whether or not /@statusIcon@/ has a tooltip -}
+    -> m ()
+statusIconSetHasTooltip statusIcon hasTooltip = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    let hasTooltip' = (fromIntegral . fromEnum) hasTooltip
+    gtk_status_icon_set_has_tooltip statusIcon' hasTooltip'
+    touchManagedPtr statusIcon
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetHasTooltipMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconSetHasTooltipMethodInfo a signature where
+    overloadedMethod _ = statusIconSetHasTooltip
+
+#endif
+
+-- method StatusIcon::set_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_name" gtk_status_icon_set_name :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED statusIconSetName ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function, as notifications are associated with a","  unique application identifier by 'GI.Gio.Objects.Application.Application'"] #-}
+{- |
+Sets the name of this tray icon.
+This should be a string identifying this icon. It is may be
+used for sorting the icons in the tray and will not be shown to
+the user.
+
+/Since: 2.20/
+-}
+statusIconSetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> T.Text
+    {- ^ /@name@/: the name -}
+    -> m ()
+statusIconSetName statusIcon name = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    name' <- textToCString name
+    gtk_status_icon_set_name statusIcon' name'
+    touchManagedPtr statusIcon
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconSetNameMethodInfo a signature where
+    overloadedMethod _ = statusIconSetName
+
+#endif
+
+-- method StatusIcon::set_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_screen" gtk_status_icon_set_screen :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO ()
+
+{-# DEPRECATED statusIconSetScreen ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function, as GTK typically only has one 'GI.Gdk.Objects.Screen.Screen'","  and notifications are managed by the platform"] #-}
+{- |
+Sets the 'GI.Gdk.Objects.Screen.Screen' where /@statusIcon@/ is displayed; if
+the icon is already mapped, it will be unmapped, and
+then remapped on the new screen.
+
+/Since: 2.12/
+-}
+statusIconSetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a, Gdk.Screen.IsScreen b) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> b
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}
+    -> m ()
+statusIconSetScreen statusIcon screen = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    screen' <- unsafeManagedPtrCastPtr screen
+    gtk_status_icon_set_screen statusIcon' screen'
+    touchManagedPtr statusIcon
+    touchManagedPtr screen
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetScreenMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsStatusIcon a, Gdk.Screen.IsScreen b) => O.MethodInfo StatusIconSetScreenMethodInfo a signature where
+    overloadedMethod _ = statusIconSetScreen
+
+#endif
+
+-- method StatusIcon::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the title", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_title" gtk_status_icon_set_title :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED statusIconSetTitle ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; you should use 'GI.Gio.Objects.Notification.notificationSetTitle'","  and 'GI.Gio.Objects.Notification.notificationSetBody' to present text inside your notification"] #-}
+{- |
+Sets the title of this tray icon.
+This should be a short, human-readable, localized string
+describing the tray icon. It may be used by tools like screen
+readers to render the tray icon.
+
+/Since: 2.18/
+-}
+statusIconSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> T.Text
+    {- ^ /@title@/: the title -}
+    -> m ()
+statusIconSetTitle statusIcon title = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    title' <- textToCString title
+    gtk_status_icon_set_title statusIcon' title'
+    touchManagedPtr statusIcon
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetTitleMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconSetTitleMethodInfo a signature where
+    overloadedMethod _ = statusIconSetTitle
+
+#endif
+
+-- method StatusIcon::set_tooltip_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the contents of the tooltip for @status_icon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_tooltip_markup" gtk_status_icon_set_tooltip_markup :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    CString ->                              -- markup : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED statusIconSetTooltipMarkup ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Sets /@markup@/ as the contents of the tooltip, which is marked up with
+ the [Pango text markup language][PangoMarkupFormat].
+
+This function will take care of setting 'GI.Gtk.Objects.StatusIcon.StatusIcon':@/has-tooltip/@ to 'True'
+and of the default handler for the 'GI.Gtk.Objects.StatusIcon.StatusIcon'::@/query-tooltip/@ signal.
+
+See also the 'GI.Gtk.Objects.StatusIcon.StatusIcon':@/tooltip-markup/@ property and
+'GI.Gtk.Objects.Tooltip.tooltipSetMarkup'.
+
+/Since: 2.16/
+-}
+statusIconSetTooltipMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> Maybe (T.Text)
+    {- ^ /@markup@/: the contents of the tooltip for /@statusIcon@/, or 'Nothing' -}
+    -> m ()
+statusIconSetTooltipMarkup statusIcon markup = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    maybeMarkup <- case markup of
+        Nothing -> return nullPtr
+        Just jMarkup -> do
+            jMarkup' <- textToCString jMarkup
+            return jMarkup'
+    gtk_status_icon_set_tooltip_markup statusIcon' maybeMarkup
+    touchManagedPtr statusIcon
+    freeMem maybeMarkup
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetTooltipMarkupMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconSetTooltipMarkupMethodInfo a signature where
+    overloadedMethod _ = statusIconSetTooltipMarkup
+
+#endif
+
+-- method StatusIcon::set_tooltip_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the contents of the tooltip for @status_icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_tooltip_text" gtk_status_icon_set_tooltip_text :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED statusIconSetTooltipText ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function"] #-}
+{- |
+Sets /@text@/ as the contents of the tooltip.
+
+This function will take care of setting 'GI.Gtk.Objects.StatusIcon.StatusIcon':@/has-tooltip/@ to
+'True' and of the default handler for the 'GI.Gtk.Objects.StatusIcon.StatusIcon'::@/query-tooltip/@
+signal.
+
+See also the 'GI.Gtk.Objects.StatusIcon.StatusIcon':@/tooltip-text/@ property and
+'GI.Gtk.Objects.Tooltip.tooltipSetText'.
+
+/Since: 2.16/
+-}
+statusIconSetTooltipText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> T.Text
+    {- ^ /@text@/: the contents of the tooltip for /@statusIcon@/ -}
+    -> m ()
+statusIconSetTooltipText statusIcon text = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    text' <- textToCString text
+    gtk_status_icon_set_tooltip_text statusIcon' text'
+    touchManagedPtr statusIcon
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetTooltipTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconSetTooltipTextMethodInfo a signature where
+    overloadedMethod _ = statusIconSetTooltipText
+
+#endif
+
+-- method StatusIcon::set_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "status_icon", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to show the status icon, %FALSE to hide it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_set_visible" gtk_status_icon_set_visible :: 
+    Ptr StatusIcon ->                       -- status_icon : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    CInt ->                                 -- visible : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED statusIconSetVisible ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; there is no direct replacement","  for this function, as notifications are managed by the platform"] #-}
+{- |
+Shows or hides a status icon.
+
+/Since: 2.10/
+-}
+statusIconSetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusIcon a) =>
+    a
+    {- ^ /@statusIcon@/: a 'GI.Gtk.Objects.StatusIcon.StatusIcon' -}
+    -> Bool
+    {- ^ /@visible@/: 'True' to show the status icon, 'False' to hide it -}
+    -> m ()
+statusIconSetVisible statusIcon visible = liftIO $ do
+    statusIcon' <- unsafeManagedPtrCastPtr statusIcon
+    let visible' = (fromIntegral . fromEnum) visible
+    gtk_status_icon_set_visible statusIcon' visible'
+    touchManagedPtr statusIcon
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusIconSetVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsStatusIcon a) => O.MethodInfo StatusIconSetVisibleMethodInfo a signature where
+    overloadedMethod _ = statusIconSetVisible
+
+#endif
+
+-- method StatusIcon::position_menu
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "menu", argType = TInterface (Name {namespace = "Gtk", name = "Menu"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkMenu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the x position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the y position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "push_in", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the first menu item should be offset\n          (pushed in) to be aligned with the menu popup position\n          (only useful for GtkOptionMenu).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "user_data", argType = TInterface (Name {namespace = "Gtk", name = "StatusIcon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the status icon to position the menu on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_status_icon_position_menu" gtk_status_icon_position_menu :: 
+    Ptr Gtk.Menu.Menu ->                    -- menu : TInterface (Name {namespace = "Gtk", name = "Menu"})
+    Ptr Int32 ->                            -- x : TBasicType TInt
+    Ptr Int32 ->                            -- y : TBasicType TInt
+    Ptr CInt ->                             -- push_in : TBasicType TBoolean
+    Ptr StatusIcon ->                       -- user_data : TInterface (Name {namespace = "Gtk", name = "StatusIcon"})
+    IO ()
+
+{-# DEPRECATED statusIconPositionMenu ["(Since version 3.14)","Use 'GI.Gio.Objects.Notification.Notification' and 'GI.Gtk.Objects.Application.Application' to","  provide status notifications; notifications do not have menus,","  but can have buttons, and actions associated with each button"] #-}
+{- |
+Menu positioning function to use with 'GI.Gtk.Objects.Menu.menuPopup'
+to position /@menu@/ aligned to the status icon /@userData@/.
+
+/Since: 2.10/
+-}
+statusIconPositionMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Menu.IsMenu a, IsStatusIcon b) =>
+    a
+    {- ^ /@menu@/: the 'GI.Gtk.Objects.Menu.Menu' -}
+    -> Int32
+    {- ^ /@x@/: return location for the x position -}
+    -> Int32
+    {- ^ /@y@/: return location for the y position -}
+    -> b
+    {- ^ /@userData@/: the status icon to position the menu on -}
+    -> m ((Int32, Int32, Bool))
+statusIconPositionMenu menu x y userData = liftIO $ do
+    menu' <- unsafeManagedPtrCastPtr menu
+    x' <- allocMem :: IO (Ptr Int32)
+    poke x' x
+    y' <- allocMem :: IO (Ptr Int32)
+    poke y' y
+    pushIn <- allocMem :: IO (Ptr CInt)
+    userData' <- unsafeManagedPtrCastPtr userData
+    gtk_status_icon_position_menu menu' x' y' pushIn userData'
+    x'' <- peek x'
+    y'' <- peek y'
+    pushIn' <- peek pushIn
+    let pushIn'' = (/= 0) pushIn'
+    touchManagedPtr menu
+    touchManagedPtr userData
+    freeMem x'
+    freeMem y'
+    freeMem pushIn
+    return (x'', y'', pushIn'')
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/StatusIcon.hs-boot b/GI/Gtk/Objects/StatusIcon.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StatusIcon.hs-boot
@@ -0,0 +1,176 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.StatusIcon where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype StatusIcon = StatusIcon (ManagedPtr StatusIcon)
+instance GObject StatusIcon where
+class (GObject o, O.IsDescendantOf StatusIcon o) => IsStatusIcon o
+instance (GObject o, O.IsDescendantOf StatusIcon o) => IsStatusIcon o
+instance O.HasParentTypes StatusIcon
+#if ENABLE_OVERLOADING
+data StatusIconEmbeddedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconFilePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGiconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconHasTooltipPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconOrientationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconPixbufPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconScreenPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconStockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconStorageTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconTooltipMarkupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconTooltipTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconButtonPressEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconButtonReleaseEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconPopupMenuSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconQueryTooltipSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconScrollEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSizeChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetGeometryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetHasTooltipMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetStorageTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetTooltipMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetTooltipTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconGetX11WindowIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconIsEmbeddedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetFromFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetFromGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetFromIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetFromPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetFromStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetHasTooltipMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetTooltipMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetTooltipTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusIconSetVisibleMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Statusbar.hs b/GI/Gtk/Objects/Statusbar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Statusbar.hs
@@ -0,0 +1,995 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.Statusbar.Statusbar' is usually placed along the bottom of an application\'s
+main 'GI.Gtk.Objects.Window.Window'. It may provide a regular commentary of the application\'s
+status (as is usually the case in a web browser, for example), or may be
+used to simply output a message when the status changes, (when an upload
+is complete in an FTP client, for example).
+
+Status bars in GTK+ maintain a stack of messages. The message at
+the top of the each bar’s stack is the one that will currently be displayed.
+
+Any messages added to a statusbar’s stack must specify a
+context id that is used to uniquely identify
+the source of a message. This context id can be generated by
+'GI.Gtk.Objects.Statusbar.statusbarGetContextId', given a message and the statusbar that
+it will be added to. Note that messages are stored in a stack, and when
+choosing which message to display, the stack structure is adhered to,
+regardless of the context identifier of a message.
+
+One could say that a statusbar maintains one stack of messages for
+display purposes, but allows multiple message producers to maintain
+sub-stacks of the messages they produced (via context ids).
+
+Status bars are created using 'GI.Gtk.Objects.Statusbar.statusbarNew'.
+
+Messages are added to the bar’s stack with 'GI.Gtk.Objects.Statusbar.statusbarPush'.
+
+The message at the top of the stack can be removed using
+'GI.Gtk.Objects.Statusbar.statusbarPop'. A message can be removed from anywhere in the
+stack if its message id was recorded at the time it was added. This
+is done using 'GI.Gtk.Objects.Statusbar.statusbarRemove'.
+
+= CSS node
+
+GtkStatusbar has a single CSS node with name statusbar.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Statusbar
+    ( 
+
+-- * Exported types
+    Statusbar(..)                           ,
+    IsStatusbar                             ,
+    toStatusbar                             ,
+    noStatusbar                             ,
+
+
+ -- * Methods
+-- ** getContextId #method:getContextId#
+
+#if ENABLE_OVERLOADING
+    StatusbarGetContextIdMethodInfo         ,
+#endif
+    statusbarGetContextId                   ,
+
+
+-- ** getMessageArea #method:getMessageArea#
+
+#if ENABLE_OVERLOADING
+    StatusbarGetMessageAreaMethodInfo       ,
+#endif
+    statusbarGetMessageArea                 ,
+
+
+-- ** new #method:new#
+
+    statusbarNew                            ,
+
+
+-- ** pop #method:pop#
+
+#if ENABLE_OVERLOADING
+    StatusbarPopMethodInfo                  ,
+#endif
+    statusbarPop                            ,
+
+
+-- ** push #method:push#
+
+#if ENABLE_OVERLOADING
+    StatusbarPushMethodInfo                 ,
+#endif
+    statusbarPush                           ,
+
+
+-- ** remove #method:remove#
+
+#if ENABLE_OVERLOADING
+    StatusbarRemoveMethodInfo               ,
+#endif
+    statusbarRemove                         ,
+
+
+-- ** removeAll #method:removeAll#
+
+#if ENABLE_OVERLOADING
+    StatusbarRemoveAllMethodInfo            ,
+#endif
+    statusbarRemoveAll                      ,
+
+
+
+
+ -- * Signals
+-- ** textPopped #signal:textPopped#
+
+    C_StatusbarTextPoppedCallback           ,
+    StatusbarTextPoppedCallback             ,
+#if ENABLE_OVERLOADING
+    StatusbarTextPoppedSignalInfo           ,
+#endif
+    afterStatusbarTextPopped                ,
+    genClosure_StatusbarTextPopped          ,
+    mk_StatusbarTextPoppedCallback          ,
+    noStatusbarTextPoppedCallback           ,
+    onStatusbarTextPopped                   ,
+    wrap_StatusbarTextPoppedCallback        ,
+
+
+-- ** textPushed #signal:textPushed#
+
+    C_StatusbarTextPushedCallback           ,
+    StatusbarTextPushedCallback             ,
+#if ENABLE_OVERLOADING
+    StatusbarTextPushedSignalInfo           ,
+#endif
+    afterStatusbarTextPushed                ,
+    genClosure_StatusbarTextPushed          ,
+    mk_StatusbarTextPushedCallback          ,
+    noStatusbarTextPushedCallback           ,
+    onStatusbarTextPushed                   ,
+    wrap_StatusbarTextPushedCallback        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Statusbar = Statusbar (ManagedPtr Statusbar)
+foreign import ccall "gtk_statusbar_get_type"
+    c_gtk_statusbar_get_type :: IO GType
+
+instance GObject Statusbar where
+    gobjectType = c_gtk_statusbar_get_type
+    
+
+-- | Type class for types which can be safely cast to `Statusbar`, for instance with `toStatusbar`.
+class (GObject o, O.IsDescendantOf Statusbar o) => IsStatusbar o
+instance (GObject o, O.IsDescendantOf Statusbar o) => IsStatusbar o
+
+instance O.HasParentTypes Statusbar
+type instance O.ParentTypes Statusbar = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `Statusbar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStatusbar :: (MonadIO m, IsStatusbar o) => o -> m Statusbar
+toStatusbar = liftIO . unsafeCastTo Statusbar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Statusbar`.
+noStatusbar :: Maybe Statusbar
+noStatusbar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStatusbarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStatusbarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveStatusbarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveStatusbarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveStatusbarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveStatusbarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveStatusbarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveStatusbarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveStatusbarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveStatusbarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStatusbarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStatusbarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveStatusbarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveStatusbarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveStatusbarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveStatusbarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveStatusbarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveStatusbarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveStatusbarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveStatusbarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveStatusbarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveStatusbarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveStatusbarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveStatusbarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveStatusbarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveStatusbarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveStatusbarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveStatusbarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveStatusbarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveStatusbarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveStatusbarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveStatusbarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveStatusbarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveStatusbarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveStatusbarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveStatusbarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveStatusbarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveStatusbarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveStatusbarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveStatusbarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveStatusbarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveStatusbarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveStatusbarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveStatusbarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveStatusbarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveStatusbarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveStatusbarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveStatusbarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveStatusbarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveStatusbarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveStatusbarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveStatusbarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveStatusbarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveStatusbarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveStatusbarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveStatusbarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveStatusbarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveStatusbarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveStatusbarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveStatusbarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveStatusbarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveStatusbarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveStatusbarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveStatusbarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStatusbarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveStatusbarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveStatusbarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStatusbarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStatusbarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveStatusbarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveStatusbarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveStatusbarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveStatusbarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveStatusbarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveStatusbarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveStatusbarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveStatusbarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveStatusbarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveStatusbarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveStatusbarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveStatusbarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveStatusbarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveStatusbarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveStatusbarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveStatusbarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveStatusbarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveStatusbarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveStatusbarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveStatusbarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStatusbarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveStatusbarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveStatusbarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveStatusbarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveStatusbarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveStatusbarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveStatusbarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveStatusbarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveStatusbarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveStatusbarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveStatusbarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveStatusbarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveStatusbarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveStatusbarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveStatusbarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveStatusbarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveStatusbarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveStatusbarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStatusbarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStatusbarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveStatusbarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveStatusbarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveStatusbarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveStatusbarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveStatusbarMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveStatusbarMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveStatusbarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveStatusbarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveStatusbarMethod "pop" o = StatusbarPopMethodInfo
+    ResolveStatusbarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveStatusbarMethod "push" o = StatusbarPushMethodInfo
+    ResolveStatusbarMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveStatusbarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveStatusbarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveStatusbarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveStatusbarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveStatusbarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveStatusbarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveStatusbarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveStatusbarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveStatusbarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStatusbarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStatusbarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveStatusbarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveStatusbarMethod "remove" o = StatusbarRemoveMethodInfo
+    ResolveStatusbarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveStatusbarMethod "removeAll" o = StatusbarRemoveAllMethodInfo
+    ResolveStatusbarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveStatusbarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveStatusbarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveStatusbarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveStatusbarMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveStatusbarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveStatusbarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveStatusbarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveStatusbarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveStatusbarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStatusbarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveStatusbarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveStatusbarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveStatusbarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveStatusbarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveStatusbarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveStatusbarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveStatusbarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveStatusbarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveStatusbarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStatusbarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStatusbarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveStatusbarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveStatusbarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveStatusbarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStatusbarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveStatusbarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveStatusbarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveStatusbarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveStatusbarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveStatusbarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStatusbarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveStatusbarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveStatusbarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveStatusbarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStatusbarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveStatusbarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveStatusbarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveStatusbarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveStatusbarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveStatusbarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveStatusbarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveStatusbarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveStatusbarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveStatusbarMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveStatusbarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveStatusbarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveStatusbarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveStatusbarMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveStatusbarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveStatusbarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveStatusbarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveStatusbarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveStatusbarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveStatusbarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveStatusbarMethod "getContextId" o = StatusbarGetContextIdMethodInfo
+    ResolveStatusbarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStatusbarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveStatusbarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveStatusbarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveStatusbarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveStatusbarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveStatusbarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveStatusbarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveStatusbarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveStatusbarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveStatusbarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveStatusbarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveStatusbarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveStatusbarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveStatusbarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveStatusbarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveStatusbarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveStatusbarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveStatusbarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveStatusbarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveStatusbarMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveStatusbarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveStatusbarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveStatusbarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveStatusbarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveStatusbarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveStatusbarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveStatusbarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveStatusbarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveStatusbarMethod "getMessageArea" o = StatusbarGetMessageAreaMethodInfo
+    ResolveStatusbarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveStatusbarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveStatusbarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveStatusbarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveStatusbarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveStatusbarMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveStatusbarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveStatusbarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveStatusbarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveStatusbarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveStatusbarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveStatusbarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveStatusbarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveStatusbarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveStatusbarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveStatusbarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveStatusbarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveStatusbarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveStatusbarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveStatusbarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStatusbarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveStatusbarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveStatusbarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveStatusbarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveStatusbarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveStatusbarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveStatusbarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveStatusbarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveStatusbarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveStatusbarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveStatusbarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveStatusbarMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveStatusbarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveStatusbarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveStatusbarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveStatusbarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveStatusbarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveStatusbarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveStatusbarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveStatusbarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveStatusbarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveStatusbarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveStatusbarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveStatusbarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveStatusbarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveStatusbarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveStatusbarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveStatusbarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveStatusbarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveStatusbarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveStatusbarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveStatusbarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveStatusbarMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveStatusbarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveStatusbarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveStatusbarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveStatusbarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveStatusbarMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveStatusbarMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveStatusbarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveStatusbarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveStatusbarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveStatusbarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStatusbarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveStatusbarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveStatusbarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveStatusbarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveStatusbarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveStatusbarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveStatusbarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveStatusbarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveStatusbarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveStatusbarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveStatusbarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveStatusbarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveStatusbarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveStatusbarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveStatusbarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveStatusbarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveStatusbarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveStatusbarMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveStatusbarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveStatusbarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveStatusbarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveStatusbarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveStatusbarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveStatusbarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveStatusbarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveStatusbarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveStatusbarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveStatusbarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveStatusbarMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveStatusbarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveStatusbarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveStatusbarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveStatusbarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveStatusbarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveStatusbarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveStatusbarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveStatusbarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveStatusbarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveStatusbarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveStatusbarMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveStatusbarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveStatusbarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveStatusbarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveStatusbarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveStatusbarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveStatusbarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveStatusbarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveStatusbarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveStatusbarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveStatusbarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveStatusbarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveStatusbarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveStatusbarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveStatusbarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStatusbarMethod t Statusbar, O.MethodInfo info Statusbar p) => OL.IsLabel t (Statusbar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Statusbar::text-popped
+{- |
+Is emitted whenever a new message is popped off a statusbar\'s stack.
+-}
+type StatusbarTextPoppedCallback =
+    Word32
+    {- ^ /@contextId@/: the context id of the relevant message\/statusbar -}
+    -> T.Text
+    {- ^ /@text@/: the message that was just popped -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StatusbarTextPoppedCallback`@.
+noStatusbarTextPoppedCallback :: Maybe StatusbarTextPoppedCallback
+noStatusbarTextPoppedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StatusbarTextPoppedCallback =
+    Ptr () ->                               -- object
+    Word32 ->
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_StatusbarTextPoppedCallback`.
+foreign import ccall "wrapper"
+    mk_StatusbarTextPoppedCallback :: C_StatusbarTextPoppedCallback -> IO (FunPtr C_StatusbarTextPoppedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StatusbarTextPopped :: MonadIO m => StatusbarTextPoppedCallback -> m (GClosure C_StatusbarTextPoppedCallback)
+genClosure_StatusbarTextPopped cb = liftIO $ do
+    let cb' = wrap_StatusbarTextPoppedCallback cb
+    mk_StatusbarTextPoppedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StatusbarTextPoppedCallback` into a `C_StatusbarTextPoppedCallback`.
+wrap_StatusbarTextPoppedCallback ::
+    StatusbarTextPoppedCallback ->
+    C_StatusbarTextPoppedCallback
+wrap_StatusbarTextPoppedCallback _cb _ contextId text _ = do
+    text' <- cstringToText text
+    _cb  contextId text'
+
+
+{- |
+Connect a signal handler for the “@text-popped@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' statusbar #textPopped callback
+@
+-}
+onStatusbarTextPopped :: (IsStatusbar a, MonadIO m) => a -> StatusbarTextPoppedCallback -> m SignalHandlerId
+onStatusbarTextPopped obj cb = liftIO $ do
+    let cb' = wrap_StatusbarTextPoppedCallback cb
+    cb'' <- mk_StatusbarTextPoppedCallback cb'
+    connectSignalFunPtr obj "text-popped" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@text-popped@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' statusbar #textPopped callback
+@
+-}
+afterStatusbarTextPopped :: (IsStatusbar a, MonadIO m) => a -> StatusbarTextPoppedCallback -> m SignalHandlerId
+afterStatusbarTextPopped obj cb = liftIO $ do
+    let cb' = wrap_StatusbarTextPoppedCallback cb
+    cb'' <- mk_StatusbarTextPoppedCallback cb'
+    connectSignalFunPtr obj "text-popped" cb'' SignalConnectAfter
+
+
+-- signal Statusbar::text-pushed
+{- |
+Is emitted whenever a new message gets pushed onto a statusbar\'s stack.
+-}
+type StatusbarTextPushedCallback =
+    Word32
+    {- ^ /@contextId@/: the context id of the relevant message\/statusbar -}
+    -> T.Text
+    {- ^ /@text@/: the message that was pushed -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StatusbarTextPushedCallback`@.
+noStatusbarTextPushedCallback :: Maybe StatusbarTextPushedCallback
+noStatusbarTextPushedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StatusbarTextPushedCallback =
+    Ptr () ->                               -- object
+    Word32 ->
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_StatusbarTextPushedCallback`.
+foreign import ccall "wrapper"
+    mk_StatusbarTextPushedCallback :: C_StatusbarTextPushedCallback -> IO (FunPtr C_StatusbarTextPushedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StatusbarTextPushed :: MonadIO m => StatusbarTextPushedCallback -> m (GClosure C_StatusbarTextPushedCallback)
+genClosure_StatusbarTextPushed cb = liftIO $ do
+    let cb' = wrap_StatusbarTextPushedCallback cb
+    mk_StatusbarTextPushedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StatusbarTextPushedCallback` into a `C_StatusbarTextPushedCallback`.
+wrap_StatusbarTextPushedCallback ::
+    StatusbarTextPushedCallback ->
+    C_StatusbarTextPushedCallback
+wrap_StatusbarTextPushedCallback _cb _ contextId text _ = do
+    text' <- cstringToText text
+    _cb  contextId text'
+
+
+{- |
+Connect a signal handler for the “@text-pushed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' statusbar #textPushed callback
+@
+-}
+onStatusbarTextPushed :: (IsStatusbar a, MonadIO m) => a -> StatusbarTextPushedCallback -> m SignalHandlerId
+onStatusbarTextPushed obj cb = liftIO $ do
+    let cb' = wrap_StatusbarTextPushedCallback cb
+    cb'' <- mk_StatusbarTextPushedCallback cb'
+    connectSignalFunPtr obj "text-pushed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@text-pushed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' statusbar #textPushed callback
+@
+-}
+afterStatusbarTextPushed :: (IsStatusbar a, MonadIO m) => a -> StatusbarTextPushedCallback -> m SignalHandlerId
+afterStatusbarTextPushed obj cb = liftIO $ do
+    let cb' = wrap_StatusbarTextPushedCallback cb
+    cb'' <- mk_StatusbarTextPushedCallback cb'
+    connectSignalFunPtr obj "text-pushed" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Statusbar
+type instance O.AttributeList Statusbar = StatusbarAttributeList
+type StatusbarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data StatusbarTextPoppedSignalInfo
+instance SignalInfo StatusbarTextPoppedSignalInfo where
+    type HaskellCallbackType StatusbarTextPoppedSignalInfo = StatusbarTextPoppedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StatusbarTextPoppedCallback cb
+        cb'' <- mk_StatusbarTextPoppedCallback cb'
+        connectSignalFunPtr obj "text-popped" cb'' connectMode
+
+data StatusbarTextPushedSignalInfo
+instance SignalInfo StatusbarTextPushedSignalInfo where
+    type HaskellCallbackType StatusbarTextPushedSignalInfo = StatusbarTextPushedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StatusbarTextPushedCallback cb
+        cb'' <- mk_StatusbarTextPushedCallback cb'
+        connectSignalFunPtr obj "text-pushed" cb'' connectMode
+
+type instance O.SignalList Statusbar = StatusbarSignalList
+type StatusbarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("textPopped", StatusbarTextPoppedSignalInfo), '("textPushed", StatusbarTextPushedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Statusbar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Statusbar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_statusbar_new" gtk_statusbar_new :: 
+    IO (Ptr Statusbar)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Statusbar.Statusbar' ready for messages.
+-}
+statusbarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Statusbar
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.Statusbar.Statusbar' -}
+statusbarNew  = liftIO $ do
+    result <- gtk_statusbar_new
+    checkUnexpectedReturnNULL "statusbarNew" result
+    result' <- (newObject Statusbar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Statusbar::get_context_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "statusbar", argType = TInterface (Name {namespace = "Gtk", name = "Statusbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "textual description of what context\n                      the new message is being used in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_statusbar_get_context_id" gtk_statusbar_get_context_id :: 
+    Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
+    CString ->                              -- context_description : TBasicType TUTF8
+    IO Word32
+
+{- |
+Returns a new context identifier, given a description
+of the actual context. Note that the description is
+not shown in the UI.
+-}
+statusbarGetContextId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
+    a
+    {- ^ /@statusbar@/: a 'GI.Gtk.Objects.Statusbar.Statusbar' -}
+    -> T.Text
+    {- ^ /@contextDescription@/: textual description of what context
+                      the new message is being used in -}
+    -> m Word32
+    {- ^ __Returns:__ an integer id -}
+statusbarGetContextId statusbar contextDescription = liftIO $ do
+    statusbar' <- unsafeManagedPtrCastPtr statusbar
+    contextDescription' <- textToCString contextDescription
+    result <- gtk_statusbar_get_context_id statusbar' contextDescription'
+    touchManagedPtr statusbar
+    freeMem contextDescription'
+    return result
+
+#if ENABLE_OVERLOADING
+data StatusbarGetContextIdMethodInfo
+instance (signature ~ (T.Text -> m Word32), MonadIO m, IsStatusbar a) => O.MethodInfo StatusbarGetContextIdMethodInfo a signature where
+    overloadedMethod _ = statusbarGetContextId
+
+#endif
+
+-- method Statusbar::get_message_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "statusbar", argType = TInterface (Name {namespace = "Gtk", name = "Statusbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Box"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_statusbar_get_message_area" gtk_statusbar_get_message_area :: 
+    Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
+    IO (Ptr Gtk.Box.Box)
+
+{- |
+Retrieves the box containing the label widget.
+
+/Since: 2.20/
+-}
+statusbarGetMessageArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
+    a
+    {- ^ /@statusbar@/: a 'GI.Gtk.Objects.Statusbar.Statusbar' -}
+    -> m Gtk.Box.Box
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Box.Box' -}
+statusbarGetMessageArea statusbar = liftIO $ do
+    statusbar' <- unsafeManagedPtrCastPtr statusbar
+    result <- gtk_statusbar_get_message_area statusbar'
+    checkUnexpectedReturnNULL "statusbarGetMessageArea" result
+    result' <- (newObject Gtk.Box.Box) result
+    touchManagedPtr statusbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data StatusbarGetMessageAreaMethodInfo
+instance (signature ~ (m Gtk.Box.Box), MonadIO m, IsStatusbar a) => O.MethodInfo StatusbarGetMessageAreaMethodInfo a signature where
+    overloadedMethod _ = statusbarGetMessageArea
+
+#endif
+
+-- method Statusbar::pop
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "statusbar", argType = TInterface (Name {namespace = "Gtk", name = "Statusbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a context identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_statusbar_pop" gtk_statusbar_pop :: 
+    Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
+    Word32 ->                               -- context_id : TBasicType TUInt
+    IO ()
+
+{- |
+Removes the first message in the 'GI.Gtk.Objects.Statusbar.Statusbar'’s stack
+with the given context id.
+
+Note that this may not change the displayed message, if
+the message at the top of the stack has a different
+context id.
+-}
+statusbarPop ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
+    a
+    {- ^ /@statusbar@/: a 'GI.Gtk.Objects.Statusbar.Statusbar' -}
+    -> Word32
+    {- ^ /@contextId@/: a context identifier -}
+    -> m ()
+statusbarPop statusbar contextId = liftIO $ do
+    statusbar' <- unsafeManagedPtrCastPtr statusbar
+    gtk_statusbar_pop statusbar' contextId
+    touchManagedPtr statusbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusbarPopMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsStatusbar a) => O.MethodInfo StatusbarPopMethodInfo a signature where
+    overloadedMethod _ = statusbarPop
+
+#endif
+
+-- method Statusbar::push
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "statusbar", argType = TInterface (Name {namespace = "Gtk", name = "Statusbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message\8217s context id, as returned by\n             gtk_statusbar_get_context_id()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message to add to the statusbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_statusbar_push" gtk_statusbar_push :: 
+    Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
+    Word32 ->                               -- context_id : TBasicType TUInt
+    CString ->                              -- text : TBasicType TUTF8
+    IO Word32
+
+{- |
+Pushes a new message onto a statusbar’s stack.
+-}
+statusbarPush ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
+    a
+    {- ^ /@statusbar@/: a 'GI.Gtk.Objects.Statusbar.Statusbar' -}
+    -> Word32
+    {- ^ /@contextId@/: the message’s context id, as returned by
+             'GI.Gtk.Objects.Statusbar.statusbarGetContextId' -}
+    -> T.Text
+    {- ^ /@text@/: the message to add to the statusbar -}
+    -> m Word32
+    {- ^ __Returns:__ a message id that can be used with
+         'GI.Gtk.Objects.Statusbar.statusbarRemove'. -}
+statusbarPush statusbar contextId text = liftIO $ do
+    statusbar' <- unsafeManagedPtrCastPtr statusbar
+    text' <- textToCString text
+    result <- gtk_statusbar_push statusbar' contextId text'
+    touchManagedPtr statusbar
+    freeMem text'
+    return result
+
+#if ENABLE_OVERLOADING
+data StatusbarPushMethodInfo
+instance (signature ~ (Word32 -> T.Text -> m Word32), MonadIO m, IsStatusbar a) => O.MethodInfo StatusbarPushMethodInfo a signature where
+    overloadedMethod _ = statusbarPush
+
+#endif
+
+-- method Statusbar::remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "statusbar", argType = TInterface (Name {namespace = "Gtk", name = "Statusbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a context identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a message identifier, as returned by gtk_statusbar_push()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_statusbar_remove" gtk_statusbar_remove :: 
+    Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
+    Word32 ->                               -- context_id : TBasicType TUInt
+    Word32 ->                               -- message_id : TBasicType TUInt
+    IO ()
+
+{- |
+Forces the removal of a message from a statusbar’s stack.
+The exact /@contextId@/ and /@messageId@/ must be specified.
+-}
+statusbarRemove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
+    a
+    {- ^ /@statusbar@/: a 'GI.Gtk.Objects.Statusbar.Statusbar' -}
+    -> Word32
+    {- ^ /@contextId@/: a context identifier -}
+    -> Word32
+    {- ^ /@messageId@/: a message identifier, as returned by 'GI.Gtk.Objects.Statusbar.statusbarPush' -}
+    -> m ()
+statusbarRemove statusbar contextId messageId = liftIO $ do
+    statusbar' <- unsafeManagedPtrCastPtr statusbar
+    gtk_statusbar_remove statusbar' contextId messageId
+    touchManagedPtr statusbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusbarRemoveMethodInfo
+instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsStatusbar a) => O.MethodInfo StatusbarRemoveMethodInfo a signature where
+    overloadedMethod _ = statusbarRemove
+
+#endif
+
+-- method Statusbar::remove_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "statusbar", argType = TInterface (Name {namespace = "Gtk", name = "Statusbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStatusbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a context identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_statusbar_remove_all" gtk_statusbar_remove_all :: 
+    Ptr Statusbar ->                        -- statusbar : TInterface (Name {namespace = "Gtk", name = "Statusbar"})
+    Word32 ->                               -- context_id : TBasicType TUInt
+    IO ()
+
+{- |
+Forces the removal of all messages from a statusbar\'s
+stack with the exact /@contextId@/.
+
+/Since: 2.22/
+-}
+statusbarRemoveAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStatusbar a) =>
+    a
+    {- ^ /@statusbar@/: a 'GI.Gtk.Objects.Statusbar.Statusbar' -}
+    -> Word32
+    {- ^ /@contextId@/: a context identifier -}
+    -> m ()
+statusbarRemoveAll statusbar contextId = liftIO $ do
+    statusbar' <- unsafeManagedPtrCastPtr statusbar
+    gtk_statusbar_remove_all statusbar' contextId
+    touchManagedPtr statusbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data StatusbarRemoveAllMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsStatusbar a) => O.MethodInfo StatusbarRemoveAllMethodInfo a signature where
+    overloadedMethod _ = statusbarRemoveAll
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Statusbar.hs-boot b/GI/Gtk/Objects/Statusbar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Statusbar.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Statusbar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Statusbar = Statusbar (ManagedPtr Statusbar)
+instance GObject Statusbar where
+class (GObject o, O.IsDescendantOf Statusbar o) => IsStatusbar o
+instance (GObject o, O.IsDescendantOf Statusbar o) => IsStatusbar o
+instance O.HasParentTypes Statusbar
+#if ENABLE_OVERLOADING
+data StatusbarTextPoppedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusbarTextPushedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusbarGetContextIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusbarGetMessageAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusbarPopMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusbarPushMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusbarRemoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StatusbarRemoveAllMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/StatusbarAccessible.hs b/GI/Gtk/Objects/StatusbarAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StatusbarAccessible.hs
@@ -0,0 +1,165 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.StatusbarAccessible
+    ( 
+
+-- * Exported types
+    StatusbarAccessible(..)                 ,
+    IsStatusbarAccessible                   ,
+    toStatusbarAccessible                   ,
+    noStatusbarAccessible                   ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype StatusbarAccessible = StatusbarAccessible (ManagedPtr StatusbarAccessible)
+foreign import ccall "gtk_statusbar_accessible_get_type"
+    c_gtk_statusbar_accessible_get_type :: IO GType
+
+instance GObject StatusbarAccessible where
+    gobjectType = c_gtk_statusbar_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `StatusbarAccessible`, for instance with `toStatusbarAccessible`.
+class (GObject o, O.IsDescendantOf StatusbarAccessible o) => IsStatusbarAccessible o
+instance (GObject o, O.IsDescendantOf StatusbarAccessible o) => IsStatusbarAccessible o
+
+instance O.HasParentTypes StatusbarAccessible
+type instance O.ParentTypes StatusbarAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `StatusbarAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStatusbarAccessible :: (MonadIO m, IsStatusbarAccessible o) => o -> m StatusbarAccessible
+toStatusbarAccessible = liftIO . unsafeCastTo StatusbarAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `StatusbarAccessible`.
+noStatusbarAccessible :: Maybe StatusbarAccessible
+noStatusbarAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStatusbarAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStatusbarAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveStatusbarAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStatusbarAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStatusbarAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveStatusbarAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveStatusbarAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStatusbarAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStatusbarAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStatusbarAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveStatusbarAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveStatusbarAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStatusbarAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStatusbarAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStatusbarAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveStatusbarAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveStatusbarAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStatusbarAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveStatusbarAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveStatusbarAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveStatusbarAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStatusbarAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveStatusbarAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveStatusbarAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveStatusbarAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveStatusbarAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStatusbarAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveStatusbarAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveStatusbarAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStatusbarAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStatusbarAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStatusbarAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStatusbarAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStatusbarAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveStatusbarAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveStatusbarAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStatusbarAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveStatusbarAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveStatusbarAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveStatusbarAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveStatusbarAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveStatusbarAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveStatusbarAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveStatusbarAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveStatusbarAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveStatusbarAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveStatusbarAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveStatusbarAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStatusbarAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveStatusbarAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveStatusbarAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveStatusbarAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStatusbarAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveStatusbarAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveStatusbarAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveStatusbarAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveStatusbarAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveStatusbarAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveStatusbarAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveStatusbarAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveStatusbarAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveStatusbarAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStatusbarAccessibleMethod t StatusbarAccessible, O.MethodInfo info StatusbarAccessible p) => OL.IsLabel t (StatusbarAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList StatusbarAccessible
+type instance O.AttributeList StatusbarAccessible = StatusbarAccessibleAttributeList
+type StatusbarAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList StatusbarAccessible = StatusbarAccessibleSignalList
+type StatusbarAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/StatusbarAccessible.hs-boot b/GI/Gtk/Objects/StatusbarAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StatusbarAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.StatusbarAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype StatusbarAccessible = StatusbarAccessible (ManagedPtr StatusbarAccessible)
+instance GObject StatusbarAccessible where
+class (GObject o, O.IsDescendantOf StatusbarAccessible o) => IsStatusbarAccessible o
+instance (GObject o, O.IsDescendantOf StatusbarAccessible o) => IsStatusbarAccessible o
+instance O.HasParentTypes StatusbarAccessible
diff --git a/GI/Gtk/Objects/Style.hs b/GI/Gtk/Objects/Style.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Style.hs
@@ -0,0 +1,930 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.Style.Style' object encapsulates the information that provides the look and
+feel for a widget.
+
+> In GTK+ 3.0, GtkStyle has been deprecated and replaced by
+> 'GI.Gtk.Objects.StyleContext.StyleContext'.
+
+Each 'GI.Gtk.Objects.Widget.Widget' has an associated 'GI.Gtk.Objects.Style.Style' object that is used when
+rendering that widget. Also, a 'GI.Gtk.Objects.Style.Style' holds information for the five
+possible widget states though not every widget supports all five
+states; see 'GI.Gtk.Enums.StateType'.
+
+Usually the 'GI.Gtk.Objects.Style.Style' for a widget is the same as the default style that
+is set by GTK+ and modified the theme engine.
+
+Usually applications should not need to use or modify the 'GI.Gtk.Objects.Style.Style' of
+their widgets.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Style
+    ( 
+
+-- * Exported types
+    Style(..)                               ,
+    IsStyle                                 ,
+    toStyle                                 ,
+    noStyle                                 ,
+
+
+ -- * Methods
+-- ** applyDefaultBackground #method:applyDefaultBackground#
+
+#if ENABLE_OVERLOADING
+    StyleApplyDefaultBackgroundMethodInfo   ,
+#endif
+    styleApplyDefaultBackground             ,
+
+
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    StyleCopyMethodInfo                     ,
+#endif
+    styleCopy                               ,
+
+
+-- ** detach #method:detach#
+
+#if ENABLE_OVERLOADING
+    StyleDetachMethodInfo                   ,
+#endif
+    styleDetach                             ,
+
+
+-- ** getStyleProperty #method:getStyleProperty#
+
+#if ENABLE_OVERLOADING
+    StyleGetStylePropertyMethodInfo         ,
+#endif
+    styleGetStyleProperty                   ,
+
+
+-- ** hasContext #method:hasContext#
+
+#if ENABLE_OVERLOADING
+    StyleHasContextMethodInfo               ,
+#endif
+    styleHasContext                         ,
+
+
+-- ** lookupColor #method:lookupColor#
+
+#if ENABLE_OVERLOADING
+    StyleLookupColorMethodInfo              ,
+#endif
+    styleLookupColor                        ,
+
+
+-- ** lookupIconSet #method:lookupIconSet#
+
+#if ENABLE_OVERLOADING
+    StyleLookupIconSetMethodInfo            ,
+#endif
+    styleLookupIconSet                      ,
+
+
+-- ** new #method:new#
+
+    styleNew                                ,
+
+
+-- ** renderIcon #method:renderIcon#
+
+#if ENABLE_OVERLOADING
+    StyleRenderIconMethodInfo               ,
+#endif
+    styleRenderIcon                         ,
+
+
+-- ** setBackground #method:setBackground#
+
+#if ENABLE_OVERLOADING
+    StyleSetBackgroundMethodInfo            ,
+#endif
+    styleSetBackground                      ,
+
+
+
+
+ -- * Properties
+-- ** context #attr:context#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StyleContextPropertyInfo                ,
+#endif
+    constructStyleContext                   ,
+    getStyleContext                         ,
+#if ENABLE_OVERLOADING
+    styleContext                            ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** realize #signal:realize#
+
+    C_StyleRealizeCallback                  ,
+    StyleRealizeCallback                    ,
+#if ENABLE_OVERLOADING
+    StyleRealizeSignalInfo                  ,
+#endif
+    afterStyleRealize                       ,
+    genClosure_StyleRealize                 ,
+    mk_StyleRealizeCallback                 ,
+    noStyleRealizeCallback                  ,
+    onStyleRealize                          ,
+    wrap_StyleRealizeCallback               ,
+
+
+-- ** unrealize #signal:unrealize#
+
+    C_StyleUnrealizeCallback                ,
+    StyleUnrealizeCallback                  ,
+#if ENABLE_OVERLOADING
+    StyleUnrealizeSignalInfo                ,
+#endif
+    afterStyleUnrealize                     ,
+    genClosure_StyleUnrealize               ,
+    mk_StyleUnrealizeCallback               ,
+    noStyleUnrealizeCallback                ,
+    onStyleUnrealize                        ,
+    wrap_StyleUnrealizeCallback             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Context as Cairo.Context
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSet as Gtk.IconSet
+import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSource as Gtk.IconSource
+
+-- | Memory-managed wrapper type.
+newtype Style = Style (ManagedPtr Style)
+foreign import ccall "gtk_style_get_type"
+    c_gtk_style_get_type :: IO GType
+
+instance GObject Style where
+    gobjectType = c_gtk_style_get_type
+    
+
+-- | Type class for types which can be safely cast to `Style`, for instance with `toStyle`.
+class (GObject o, O.IsDescendantOf Style o) => IsStyle o
+instance (GObject o, O.IsDescendantOf Style o) => IsStyle o
+
+instance O.HasParentTypes Style
+type instance O.ParentTypes Style = '[GObject.Object.Object]
+
+-- | Cast to `Style`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStyle :: (MonadIO m, IsStyle o) => o -> m Style
+toStyle = liftIO . unsafeCastTo Style
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Style`.
+noStyle :: Maybe Style
+noStyle = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStyleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStyleMethod "applyDefaultBackground" o = StyleApplyDefaultBackgroundMethodInfo
+    ResolveStyleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStyleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStyleMethod "copy" o = StyleCopyMethodInfo
+    ResolveStyleMethod "detach" o = StyleDetachMethodInfo
+    ResolveStyleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStyleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStyleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStyleMethod "hasContext" o = StyleHasContextMethodInfo
+    ResolveStyleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStyleMethod "lookupColor" o = StyleLookupColorMethodInfo
+    ResolveStyleMethod "lookupIconSet" o = StyleLookupIconSetMethodInfo
+    ResolveStyleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStyleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStyleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStyleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStyleMethod "renderIcon" o = StyleRenderIconMethodInfo
+    ResolveStyleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStyleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStyleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStyleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStyleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStyleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStyleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStyleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveStyleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStyleMethod "getStyleProperty" o = StyleGetStylePropertyMethodInfo
+    ResolveStyleMethod "setBackground" o = StyleSetBackgroundMethodInfo
+    ResolveStyleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStyleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveStyleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStyleMethod t Style, O.MethodInfo info Style p) => OL.IsLabel t (Style -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Style::realize
+{- |
+Emitted when the style has been initialized for a particular
+visual. Connecting to this signal is probably seldom
+useful since most of the time applications and widgets only
+deal with styles that have been already realized.
+
+/Since: 2.4/
+-}
+type StyleRealizeCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StyleRealizeCallback`@.
+noStyleRealizeCallback :: Maybe StyleRealizeCallback
+noStyleRealizeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StyleRealizeCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_StyleRealizeCallback`.
+foreign import ccall "wrapper"
+    mk_StyleRealizeCallback :: C_StyleRealizeCallback -> IO (FunPtr C_StyleRealizeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StyleRealize :: MonadIO m => StyleRealizeCallback -> m (GClosure C_StyleRealizeCallback)
+genClosure_StyleRealize cb = liftIO $ do
+    let cb' = wrap_StyleRealizeCallback cb
+    mk_StyleRealizeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StyleRealizeCallback` into a `C_StyleRealizeCallback`.
+wrap_StyleRealizeCallback ::
+    StyleRealizeCallback ->
+    C_StyleRealizeCallback
+wrap_StyleRealizeCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@realize@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' style #realize callback
+@
+-}
+onStyleRealize :: (IsStyle a, MonadIO m) => a -> StyleRealizeCallback -> m SignalHandlerId
+onStyleRealize obj cb = liftIO $ do
+    let cb' = wrap_StyleRealizeCallback cb
+    cb'' <- mk_StyleRealizeCallback cb'
+    connectSignalFunPtr obj "realize" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@realize@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' style #realize callback
+@
+-}
+afterStyleRealize :: (IsStyle a, MonadIO m) => a -> StyleRealizeCallback -> m SignalHandlerId
+afterStyleRealize obj cb = liftIO $ do
+    let cb' = wrap_StyleRealizeCallback cb
+    cb'' <- mk_StyleRealizeCallback cb'
+    connectSignalFunPtr obj "realize" cb'' SignalConnectAfter
+
+
+-- signal Style::unrealize
+{- |
+Emitted when the aspects of the style specific to a particular visual
+is being cleaned up. A connection to this signal can be useful
+if a widget wants to cache objects as object data on 'GI.Gtk.Objects.Style.Style'.
+This signal provides a convenient place to free such cached objects.
+
+/Since: 2.4/
+-}
+type StyleUnrealizeCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StyleUnrealizeCallback`@.
+noStyleUnrealizeCallback :: Maybe StyleUnrealizeCallback
+noStyleUnrealizeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StyleUnrealizeCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_StyleUnrealizeCallback`.
+foreign import ccall "wrapper"
+    mk_StyleUnrealizeCallback :: C_StyleUnrealizeCallback -> IO (FunPtr C_StyleUnrealizeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StyleUnrealize :: MonadIO m => StyleUnrealizeCallback -> m (GClosure C_StyleUnrealizeCallback)
+genClosure_StyleUnrealize cb = liftIO $ do
+    let cb' = wrap_StyleUnrealizeCallback cb
+    mk_StyleUnrealizeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StyleUnrealizeCallback` into a `C_StyleUnrealizeCallback`.
+wrap_StyleUnrealizeCallback ::
+    StyleUnrealizeCallback ->
+    C_StyleUnrealizeCallback
+wrap_StyleUnrealizeCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@unrealize@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' style #unrealize callback
+@
+-}
+onStyleUnrealize :: (IsStyle a, MonadIO m) => a -> StyleUnrealizeCallback -> m SignalHandlerId
+onStyleUnrealize obj cb = liftIO $ do
+    let cb' = wrap_StyleUnrealizeCallback cb
+    cb'' <- mk_StyleUnrealizeCallback cb'
+    connectSignalFunPtr obj "unrealize" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@unrealize@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' style #unrealize callback
+@
+-}
+afterStyleUnrealize :: (IsStyle a, MonadIO m) => a -> StyleUnrealizeCallback -> m SignalHandlerId
+afterStyleUnrealize obj cb = liftIO $ do
+    let cb' = wrap_StyleUnrealizeCallback cb
+    cb'' <- mk_StyleUnrealizeCallback cb'
+    connectSignalFunPtr obj "unrealize" cb'' SignalConnectAfter
+
+
+-- VVV Prop "context"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@context@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' style #context
+@
+-}
+getStyleContext :: (MonadIO m, IsStyle o) => o -> m (Maybe Gtk.StyleContext.StyleContext)
+getStyleContext obj = liftIO $ B.Properties.getObjectPropertyObject obj "context" Gtk.StyleContext.StyleContext
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@context@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStyleContext :: (IsStyle o, Gtk.StyleContext.IsStyleContext a) => a -> IO (GValueConstruct o)
+constructStyleContext val = B.Properties.constructObjectPropertyObject "context" (Just val)
+
+#if ENABLE_OVERLOADING
+data StyleContextPropertyInfo
+instance AttrInfo StyleContextPropertyInfo where
+    type AttrAllowedOps StyleContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleContextPropertyInfo = Gtk.StyleContext.IsStyleContext
+    type AttrBaseTypeConstraint StyleContextPropertyInfo = IsStyle
+    type AttrGetType StyleContextPropertyInfo = (Maybe Gtk.StyleContext.StyleContext)
+    type AttrLabel StyleContextPropertyInfo = "context"
+    type AttrOrigin StyleContextPropertyInfo = Style
+    attrGet _ = getStyleContext
+    attrSet _ = undefined
+    attrConstruct _ = constructStyleContext
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Style
+type instance O.AttributeList Style = StyleAttributeList
+type StyleAttributeList = ('[ '("context", StyleContextPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+styleContext :: AttrLabelProxy "context"
+styleContext = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data StyleRealizeSignalInfo
+instance SignalInfo StyleRealizeSignalInfo where
+    type HaskellCallbackType StyleRealizeSignalInfo = StyleRealizeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StyleRealizeCallback cb
+        cb'' <- mk_StyleRealizeCallback cb'
+        connectSignalFunPtr obj "realize" cb'' connectMode
+
+data StyleUnrealizeSignalInfo
+instance SignalInfo StyleUnrealizeSignalInfo where
+    type HaskellCallbackType StyleUnrealizeSignalInfo = StyleUnrealizeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StyleUnrealizeCallback cb
+        cb'' <- mk_StyleUnrealizeCallback cb'
+        connectSignalFunPtr obj "unrealize" cb'' connectMode
+
+type instance O.SignalList Style = StyleSignalList
+type StyleSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("realize", StyleRealizeSignalInfo), '("unrealize", StyleUnrealizeSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Style::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Style"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_new" gtk_style_new :: 
+    IO (Ptr Style)
+
+{-# DEPRECATED styleNew ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext'"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.Style.Style'.
+-}
+styleNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Style
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Style.Style'. -}
+styleNew  = liftIO $ do
+    result <- gtk_style_new
+    checkUnexpectedReturnNULL "styleNew" result
+    result' <- (wrapObject Style) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Style::apply_default_background
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_apply_default_background" gtk_style_apply_default_background :: 
+    Ptr Style ->                            -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED styleApplyDefaultBackground ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+/No description available in the introspection data./
+-}
+styleApplyDefaultBackground ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyle a, Gdk.Window.IsWindow b) =>
+    a
+    -> Cairo.Context.Context
+    -> b
+    -> Gtk.Enums.StateType
+    -> Int32
+    -> Int32
+    -> Int32
+    -> Int32
+    -> m ()
+styleApplyDefaultBackground style cr window stateType x y width height = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    cr' <- unsafeManagedPtrGetPtr cr
+    window' <- unsafeManagedPtrCastPtr window
+    let stateType' = (fromIntegral . fromEnum) stateType
+    gtk_style_apply_default_background style' cr' window' stateType' x y width height
+    touchManagedPtr style
+    touchManagedPtr cr
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleApplyDefaultBackgroundMethodInfo
+instance (signature ~ (Cairo.Context.Context -> b -> Gtk.Enums.StateType -> Int32 -> Int32 -> Int32 -> Int32 -> m ()), MonadIO m, IsStyle a, Gdk.Window.IsWindow b) => O.MethodInfo StyleApplyDefaultBackgroundMethodInfo a signature where
+    overloadedMethod _ = styleApplyDefaultBackground
+
+#endif
+
+-- method Style::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Style"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_copy" gtk_style_copy :: 
+    Ptr Style ->                            -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    IO (Ptr Style)
+
+{-# DEPRECATED styleCopy ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+Creates a copy of the passed in 'GI.Gtk.Objects.Style.Style' object.
+-}
+styleCopy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyle a) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> m Style
+    {- ^ __Returns:__ a copy of /@style@/ -}
+styleCopy style = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    result <- gtk_style_copy style'
+    checkUnexpectedReturnNULL "styleCopy" result
+    result' <- (wrapObject Style) result
+    touchManagedPtr style
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleCopyMethodInfo
+instance (signature ~ (m Style), MonadIO m, IsStyle a) => O.MethodInfo StyleCopyMethodInfo a signature where
+    overloadedMethod _ = styleCopy
+
+#endif
+
+-- method Style::detach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_detach" gtk_style_detach :: 
+    Ptr Style ->                            -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    IO ()
+
+{-# DEPRECATED styleDetach ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+Detaches a style from a window. If the style is not attached
+to any windows anymore, it is unrealized. See @/gtk_style_attach()/@.
+-}
+styleDetach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyle a) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> m ()
+styleDetach style = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    gtk_style_detach style'
+    touchManagedPtr style
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleDetachMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsStyle a) => O.MethodInfo StyleDetachMethodInfo a signature where
+    overloadedMethod _ = styleDetach
+
+#endif
+
+-- method Style::get_style_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of a descendant of #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the style property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue where the value of the property being\n    queried will be stored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_get_style_property" gtk_style_get_style_property :: 
+    Ptr Style ->                            -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    CGType ->                               -- widget_type : TBasicType TGType
+    CString ->                              -- property_name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Queries the value of a style property corresponding to a
+widget class is in the given style.
+
+/Since: 2.16/
+-}
+styleGetStyleProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyle a) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> GType
+    {- ^ /@widgetType@/: the 'GType' of a descendant of 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@propertyName@/: the name of the style property to get -}
+    -> m (GValue)
+styleGetStyleProperty style widgetType propertyName = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    let widgetType' = gtypeToCGType widgetType
+    propertyName' <- textToCString propertyName
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    gtk_style_get_style_property style' widgetType' propertyName' value
+    value' <- (wrapBoxed GValue) value
+    touchManagedPtr style
+    freeMem propertyName'
+    return value'
+
+#if ENABLE_OVERLOADING
+data StyleGetStylePropertyMethodInfo
+instance (signature ~ (GType -> T.Text -> m (GValue)), MonadIO m, IsStyle a) => O.MethodInfo StyleGetStylePropertyMethodInfo a signature where
+    overloadedMethod _ = styleGetStyleProperty
+
+#endif
+
+-- method Style::has_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_has_context" gtk_style_has_context :: 
+    Ptr Style ->                            -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    IO CInt
+
+{- |
+Returns whether /@style@/ has an associated 'GI.Gtk.Objects.StyleContext.StyleContext'.
+
+/Since: 3.0/
+-}
+styleHasContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyle a) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@style@/ has a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+styleHasContext style = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    result <- gtk_style_has_context style'
+    let result' = (/= 0) result
+    touchManagedPtr style
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleHasContextMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsStyle a) => O.MethodInfo StyleHasContextMethodInfo a signature where
+    overloadedMethod _ = styleHasContext
+
+#endif
+
+-- method Style::lookup_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the logical color to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkColor to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_lookup_color" gtk_style_lookup_color :: 
+    Ptr Style ->                            -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    CString ->                              -- color_name : TBasicType TUTF8
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO CInt
+
+{-# DEPRECATED styleLookupColor ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.styleContextLookupColor' instead"] #-}
+{- |
+Looks up /@colorName@/ in the style’s logical color mappings,
+filling in /@color@/ and returning 'True' if found, otherwise
+returning 'False'. Do not cache the found mapping, because
+it depends on the 'GI.Gtk.Objects.Style.Style' and might change when a theme
+switch occurs.
+
+/Since: 2.10/
+-}
+styleLookupColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyle a) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> T.Text
+    {- ^ /@colorName@/: the name of the logical color to look up -}
+    -> m ((Bool, Gdk.Color.Color))
+    {- ^ __Returns:__ 'True' if the mapping was found. -}
+styleLookupColor style colorName = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    colorName' <- textToCString colorName
+    color <- callocBoxedBytes 12 :: IO (Ptr Gdk.Color.Color)
+    result <- gtk_style_lookup_color style' colorName' color
+    let result' = (/= 0) result
+    color' <- (wrapBoxed Gdk.Color.Color) color
+    touchManagedPtr style
+    freeMem colorName'
+    return (result', color')
+
+#if ENABLE_OVERLOADING
+data StyleLookupColorMethodInfo
+instance (signature ~ (T.Text -> m ((Bool, Gdk.Color.Color))), MonadIO m, IsStyle a) => O.MethodInfo StyleLookupColorMethodInfo a signature where
+    overloadedMethod _ = styleLookupColor
+
+#endif
+
+-- method Style::lookup_icon_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_lookup_icon_set" gtk_style_lookup_icon_set :: 
+    Ptr Style ->                            -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr Gtk.IconSet.IconSet)
+
+{-# DEPRECATED styleLookupIconSet ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.styleContextLookupIconSet' instead"] #-}
+{- |
+Looks up /@stockId@/ in the icon factories associated with /@style@/
+and the default icon factory, returning an icon set if found,
+otherwise 'Nothing'.
+-}
+styleLookupIconSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyle a) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> T.Text
+    {- ^ /@stockId@/: an icon name -}
+    -> m Gtk.IconSet.IconSet
+    {- ^ __Returns:__ icon set of /@stockId@/ -}
+styleLookupIconSet style stockId = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    stockId' <- textToCString stockId
+    result <- gtk_style_lookup_icon_set style' stockId'
+    checkUnexpectedReturnNULL "styleLookupIconSet" result
+    result' <- (newBoxed Gtk.IconSet.IconSet) result
+    touchManagedPtr style
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleLookupIconSetMethodInfo
+instance (signature ~ (T.Text -> m Gtk.IconSet.IconSet), MonadIO m, IsStyle a) => O.MethodInfo StyleLookupIconSetMethodInfo a signature where
+    overloadedMethod _ = styleLookupIconSet
+
+#endif
+
+-- method Style::render_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkIconSource specifying the icon to render", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "TextDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a text direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size to render the icon at (#GtkIconSize). A size of\n    `(GtkIconSize)-1` means render at the size of the source and\n    don\8217t scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a style detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_render_icon" gtk_style_render_icon :: 
+    Ptr Style ->                            -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Gtk.IconSource.IconSource ->        -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Int32 ->                                -- size : TBasicType TInt
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED styleRenderIcon ["(Since version 3.0)","Use 'GI.Gtk.Functions.renderIconPixbuf' instead"] #-}
+{- |
+Renders the icon specified by /@source@/ at the given /@size@/
+according to the given parameters and returns the result in a
+pixbuf.
+-}
+styleRenderIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyle a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> Gtk.IconSource.IconSource
+    {- ^ /@source@/: the 'GI.Gtk.Structs.IconSource.IconSource' specifying the icon to render -}
+    -> Gtk.Enums.TextDirection
+    {- ^ /@direction@/: a text direction -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: a state -}
+    -> Int32
+    {- ^ /@size@/: the size to render the icon at ('GI.Gtk.Enums.IconSize'). A size of
+    @(GtkIconSize)-1@ means render at the size of the source and
+    don’t scale. -}
+    -> Maybe (b)
+    {- ^ /@widget@/: the widget -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: a style detail -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ a newly-created 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'
+    containing the rendered icon -}
+styleRenderIcon style source direction state size widget detail = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    source' <- unsafeManagedPtrGetPtr source
+    let direction' = (fromIntegral . fromEnum) direction
+    let state' = (fromIntegral . fromEnum) state
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    result <- gtk_style_render_icon style' source' direction' state' size maybeWidget maybeDetail
+    checkUnexpectedReturnNULL "styleRenderIcon" result
+    result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+    touchManagedPtr style
+    touchManagedPtr source
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleRenderIconMethodInfo
+instance (signature ~ (Gtk.IconSource.IconSource -> Gtk.Enums.TextDirection -> Gtk.Enums.StateType -> Int32 -> Maybe (b) -> Maybe (T.Text) -> m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m, IsStyle a, Gtk.Widget.IsWidget b) => O.MethodInfo StyleRenderIconMethodInfo a signature where
+    overloadedMethod _ = styleRenderIcon
+
+#endif
+
+-- method Style::set_background
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_type", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_set_background" gtk_style_set_background :: 
+    Ptr Style ->                            -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    CUInt ->                                -- state_type : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    IO ()
+
+{-# DEPRECATED styleSetBackground ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.styleContextSetBackground' instead"] #-}
+{- |
+Sets the background of /@window@/ to the background color or pixmap
+specified by /@style@/ for the given state.
+-}
+styleSetBackground ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyle a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' -}
+    -> b
+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@stateType@/: a state -}
+    -> m ()
+styleSetBackground style window stateType = liftIO $ do
+    style' <- unsafeManagedPtrCastPtr style
+    window' <- unsafeManagedPtrCastPtr window
+    let stateType' = (fromIntegral . fromEnum) stateType
+    gtk_style_set_background style' window' stateType'
+    touchManagedPtr style
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleSetBackgroundMethodInfo
+instance (signature ~ (b -> Gtk.Enums.StateType -> m ()), MonadIO m, IsStyle a, Gdk.Window.IsWindow b) => O.MethodInfo StyleSetBackgroundMethodInfo a signature where
+    overloadedMethod _ = styleSetBackground
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Style.hs-boot b/GI/Gtk/Objects/Style.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Style.hs-boot
@@ -0,0 +1,65 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Style where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Style = Style (ManagedPtr Style)
+instance GObject Style where
+class (GObject o, O.IsDescendantOf Style o) => IsStyle o
+instance (GObject o, O.IsDescendantOf Style o) => IsStyle o
+instance O.HasParentTypes Style
+#if ENABLE_OVERLOADING
+data StyleContextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleRealizeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleUnrealizeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleApplyDefaultBackgroundMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleDetachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleGetStylePropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleHasContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleLookupColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleLookupIconSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleRenderIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleSetBackgroundMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/StyleContext.hs b/GI/Gtk/Objects/StyleContext.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StyleContext.hs
@@ -0,0 +1,3440 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.StyleContext.StyleContext' is an object that stores styling information affecting
+a widget defined by 'GI.Gtk.Structs.WidgetPath.WidgetPath'.
+
+In order to construct the final style information, 'GI.Gtk.Objects.StyleContext.StyleContext'
+queries information from all attached @/GtkStyleProviders/@. Style providers
+can be either attached explicitly to the context through
+'GI.Gtk.Objects.StyleContext.styleContextAddProvider', or to the screen through
+'GI.Gtk.Objects.StyleContext.styleContextAddProviderForScreen'. The resulting style is a
+combination of all providers’ information in priority order.
+
+For GTK+ widgets, any 'GI.Gtk.Objects.StyleContext.StyleContext' returned by
+'GI.Gtk.Objects.Widget.widgetGetStyleContext' will already have a 'GI.Gtk.Structs.WidgetPath.WidgetPath', a
+'GI.Gdk.Objects.Screen.Screen' and RTL\/LTR information set. The style context will also be
+updated automatically if any of these settings change on the widget.
+
+If you are using the theming layer standalone, you will need to set a
+widget path and a screen yourself to the created style context through
+'GI.Gtk.Objects.StyleContext.styleContextSetPath' and possibly 'GI.Gtk.Objects.StyleContext.styleContextSetScreen'. See
+the “Foreign drawing“ example in gtk3-demo.
+
+# Style Classes # {@/gtkstylecontext/@-classes}
+
+Widgets can add style classes to their context, which can be used to associate
+different styles by class. The documentation for individual widgets lists
+which style classes it uses itself, and which style classes may be added by
+applications to affect their appearance.
+
+GTK+ defines macros for a number of style classes.
+
+= Style Regions
+
+Widgets can also add regions with flags to their context. This feature is
+deprecated and will be removed in a future GTK+ update. Please use style
+classes instead.
+
+GTK+ defines macros for a number of style regions.
+
+= Custom styling in UI libraries and applications
+
+If you are developing a library with custom @/GtkWidgets/@ that
+render differently than standard components, you may need to add a
+'GI.Gtk.Interfaces.StyleProvider.StyleProvider' yourself with the 'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_FALLBACK'
+priority, either a 'GI.Gtk.Objects.CssProvider.CssProvider' or a custom object implementing the
+'GI.Gtk.Interfaces.StyleProvider.StyleProvider' interface. This way themes may still attempt
+to style your UI elements in a different way if needed so.
+
+If you are using custom styling on an applications, you probably want then
+to make your style information prevail to the theme’s, so you must use
+a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' with the 'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_APPLICATION'
+priority, keep in mind that the user settings in
+@XDG_CONFIG_HOME\/gtk-3.0\/gtk.css@ will
+still take precedence over your changes, as it uses the
+'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_USER' priority.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.StyleContext
+    ( 
+
+-- * Exported types
+    StyleContext(..)                        ,
+    IsStyleContext                          ,
+    toStyleContext                          ,
+    noStyleContext                          ,
+
+
+ -- * Methods
+-- ** addClass #method:addClass#
+
+#if ENABLE_OVERLOADING
+    StyleContextAddClassMethodInfo          ,
+#endif
+    styleContextAddClass                    ,
+
+
+-- ** addProvider #method:addProvider#
+
+#if ENABLE_OVERLOADING
+    StyleContextAddProviderMethodInfo       ,
+#endif
+    styleContextAddProvider                 ,
+
+
+-- ** addProviderForScreen #method:addProviderForScreen#
+
+    styleContextAddProviderForScreen        ,
+
+
+-- ** addRegion #method:addRegion#
+
+#if ENABLE_OVERLOADING
+    StyleContextAddRegionMethodInfo         ,
+#endif
+    styleContextAddRegion                   ,
+
+
+-- ** cancelAnimations #method:cancelAnimations#
+
+#if ENABLE_OVERLOADING
+    StyleContextCancelAnimationsMethodInfo  ,
+#endif
+    styleContextCancelAnimations            ,
+
+
+-- ** getBackgroundColor #method:getBackgroundColor#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetBackgroundColorMethodInfo,
+#endif
+    styleContextGetBackgroundColor          ,
+
+
+-- ** getBorder #method:getBorder#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetBorderMethodInfo         ,
+#endif
+    styleContextGetBorder                   ,
+
+
+-- ** getBorderColor #method:getBorderColor#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetBorderColorMethodInfo    ,
+#endif
+    styleContextGetBorderColor              ,
+
+
+-- ** getColor #method:getColor#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetColorMethodInfo          ,
+#endif
+    styleContextGetColor                    ,
+
+
+-- ** getDirection #method:getDirection#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetDirectionMethodInfo      ,
+#endif
+    styleContextGetDirection                ,
+
+
+-- ** getFont #method:getFont#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetFontMethodInfo           ,
+#endif
+    styleContextGetFont                     ,
+
+
+-- ** getFrameClock #method:getFrameClock#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetFrameClockMethodInfo     ,
+#endif
+    styleContextGetFrameClock               ,
+
+
+-- ** getJunctionSides #method:getJunctionSides#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetJunctionSidesMethodInfo  ,
+#endif
+    styleContextGetJunctionSides            ,
+
+
+-- ** getMargin #method:getMargin#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetMarginMethodInfo         ,
+#endif
+    styleContextGetMargin                   ,
+
+
+-- ** getPadding #method:getPadding#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetPaddingMethodInfo        ,
+#endif
+    styleContextGetPadding                  ,
+
+
+-- ** getParent #method:getParent#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetParentMethodInfo         ,
+#endif
+    styleContextGetParent                   ,
+
+
+-- ** getPath #method:getPath#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetPathMethodInfo           ,
+#endif
+    styleContextGetPath                     ,
+
+
+-- ** getProperty #method:getProperty#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetPropertyMethodInfo       ,
+#endif
+    styleContextGetProperty                 ,
+
+
+-- ** getScale #method:getScale#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetScaleMethodInfo          ,
+#endif
+    styleContextGetScale                    ,
+
+
+-- ** getScreen #method:getScreen#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetScreenMethodInfo         ,
+#endif
+    styleContextGetScreen                   ,
+
+
+-- ** getSection #method:getSection#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetSectionMethodInfo        ,
+#endif
+    styleContextGetSection                  ,
+
+
+-- ** getState #method:getState#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetStateMethodInfo          ,
+#endif
+    styleContextGetState                    ,
+
+
+-- ** getStyleProperty #method:getStyleProperty#
+
+#if ENABLE_OVERLOADING
+    StyleContextGetStylePropertyMethodInfo  ,
+#endif
+    styleContextGetStyleProperty            ,
+
+
+-- ** hasClass #method:hasClass#
+
+#if ENABLE_OVERLOADING
+    StyleContextHasClassMethodInfo          ,
+#endif
+    styleContextHasClass                    ,
+
+
+-- ** hasRegion #method:hasRegion#
+
+#if ENABLE_OVERLOADING
+    StyleContextHasRegionMethodInfo         ,
+#endif
+    styleContextHasRegion                   ,
+
+
+-- ** invalidate #method:invalidate#
+
+#if ENABLE_OVERLOADING
+    StyleContextInvalidateMethodInfo        ,
+#endif
+    styleContextInvalidate                  ,
+
+
+-- ** listClasses #method:listClasses#
+
+#if ENABLE_OVERLOADING
+    StyleContextListClassesMethodInfo       ,
+#endif
+    styleContextListClasses                 ,
+
+
+-- ** listRegions #method:listRegions#
+
+#if ENABLE_OVERLOADING
+    StyleContextListRegionsMethodInfo       ,
+#endif
+    styleContextListRegions                 ,
+
+
+-- ** lookupColor #method:lookupColor#
+
+#if ENABLE_OVERLOADING
+    StyleContextLookupColorMethodInfo       ,
+#endif
+    styleContextLookupColor                 ,
+
+
+-- ** lookupIconSet #method:lookupIconSet#
+
+#if ENABLE_OVERLOADING
+    StyleContextLookupIconSetMethodInfo     ,
+#endif
+    styleContextLookupIconSet               ,
+
+
+-- ** new #method:new#
+
+    styleContextNew                         ,
+
+
+-- ** notifyStateChange #method:notifyStateChange#
+
+#if ENABLE_OVERLOADING
+    StyleContextNotifyStateChangeMethodInfo ,
+#endif
+    styleContextNotifyStateChange           ,
+
+
+-- ** popAnimatableRegion #method:popAnimatableRegion#
+
+#if ENABLE_OVERLOADING
+    StyleContextPopAnimatableRegionMethodInfo,
+#endif
+    styleContextPopAnimatableRegion         ,
+
+
+-- ** pushAnimatableRegion #method:pushAnimatableRegion#
+
+#if ENABLE_OVERLOADING
+    StyleContextPushAnimatableRegionMethodInfo,
+#endif
+    styleContextPushAnimatableRegion        ,
+
+
+-- ** removeClass #method:removeClass#
+
+#if ENABLE_OVERLOADING
+    StyleContextRemoveClassMethodInfo       ,
+#endif
+    styleContextRemoveClass                 ,
+
+
+-- ** removeProvider #method:removeProvider#
+
+#if ENABLE_OVERLOADING
+    StyleContextRemoveProviderMethodInfo    ,
+#endif
+    styleContextRemoveProvider              ,
+
+
+-- ** removeProviderForScreen #method:removeProviderForScreen#
+
+    styleContextRemoveProviderForScreen     ,
+
+
+-- ** removeRegion #method:removeRegion#
+
+#if ENABLE_OVERLOADING
+    StyleContextRemoveRegionMethodInfo      ,
+#endif
+    styleContextRemoveRegion                ,
+
+
+-- ** resetWidgets #method:resetWidgets#
+
+    styleContextResetWidgets                ,
+
+
+-- ** restore #method:restore#
+
+#if ENABLE_OVERLOADING
+    StyleContextRestoreMethodInfo           ,
+#endif
+    styleContextRestore                     ,
+
+
+-- ** save #method:save#
+
+#if ENABLE_OVERLOADING
+    StyleContextSaveMethodInfo              ,
+#endif
+    styleContextSave                        ,
+
+
+-- ** scrollAnimations #method:scrollAnimations#
+
+#if ENABLE_OVERLOADING
+    StyleContextScrollAnimationsMethodInfo  ,
+#endif
+    styleContextScrollAnimations            ,
+
+
+-- ** setBackground #method:setBackground#
+
+#if ENABLE_OVERLOADING
+    StyleContextSetBackgroundMethodInfo     ,
+#endif
+    styleContextSetBackground               ,
+
+
+-- ** setDirection #method:setDirection#
+
+#if ENABLE_OVERLOADING
+    StyleContextSetDirectionMethodInfo      ,
+#endif
+    styleContextSetDirection                ,
+
+
+-- ** setFrameClock #method:setFrameClock#
+
+#if ENABLE_OVERLOADING
+    StyleContextSetFrameClockMethodInfo     ,
+#endif
+    styleContextSetFrameClock               ,
+
+
+-- ** setJunctionSides #method:setJunctionSides#
+
+#if ENABLE_OVERLOADING
+    StyleContextSetJunctionSidesMethodInfo  ,
+#endif
+    styleContextSetJunctionSides            ,
+
+
+-- ** setParent #method:setParent#
+
+#if ENABLE_OVERLOADING
+    StyleContextSetParentMethodInfo         ,
+#endif
+    styleContextSetParent                   ,
+
+
+-- ** setPath #method:setPath#
+
+#if ENABLE_OVERLOADING
+    StyleContextSetPathMethodInfo           ,
+#endif
+    styleContextSetPath                     ,
+
+
+-- ** setScale #method:setScale#
+
+#if ENABLE_OVERLOADING
+    StyleContextSetScaleMethodInfo          ,
+#endif
+    styleContextSetScale                    ,
+
+
+-- ** setScreen #method:setScreen#
+
+#if ENABLE_OVERLOADING
+    StyleContextSetScreenMethodInfo         ,
+#endif
+    styleContextSetScreen                   ,
+
+
+-- ** setState #method:setState#
+
+#if ENABLE_OVERLOADING
+    StyleContextSetStateMethodInfo          ,
+#endif
+    styleContextSetState                    ,
+
+
+-- ** stateIsRunning #method:stateIsRunning#
+
+#if ENABLE_OVERLOADING
+    StyleContextStateIsRunningMethodInfo    ,
+#endif
+    styleContextStateIsRunning              ,
+
+
+-- ** toString #method:toString#
+
+#if ENABLE_OVERLOADING
+    StyleContextToStringMethodInfo          ,
+#endif
+    styleContextToString                    ,
+
+
+
+
+ -- * Properties
+-- ** direction #attr:direction#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StyleContextDirectionPropertyInfo       ,
+#endif
+    constructStyleContextDirection          ,
+    getStyleContextDirection                ,
+    setStyleContextDirection                ,
+#if ENABLE_OVERLOADING
+    styleContextDirection                   ,
+#endif
+
+
+-- ** paintClock #attr:paintClock#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StyleContextPaintClockPropertyInfo      ,
+#endif
+    clearStyleContextPaintClock             ,
+    constructStyleContextPaintClock         ,
+    getStyleContextPaintClock               ,
+    setStyleContextPaintClock               ,
+#if ENABLE_OVERLOADING
+    styleContextPaintClock                  ,
+#endif
+
+
+-- ** parent #attr:parent#
+{- | Sets or gets the style context’s parent. See 'GI.Gtk.Objects.StyleContext.styleContextSetParent'
+for details.
+
+/Since: 3.4/
+-}
+#if ENABLE_OVERLOADING
+    StyleContextParentPropertyInfo          ,
+#endif
+    clearStyleContextParent                 ,
+    constructStyleContextParent             ,
+    getStyleContextParent                   ,
+    setStyleContextParent                   ,
+#if ENABLE_OVERLOADING
+    styleContextParent                      ,
+#endif
+
+
+-- ** screen #attr:screen#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    StyleContextScreenPropertyInfo          ,
+#endif
+    constructStyleContextScreen             ,
+    getStyleContextScreen                   ,
+    setStyleContextScreen                   ,
+#if ENABLE_OVERLOADING
+    styleContextScreen                      ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    C_StyleContextChangedCallback           ,
+    StyleContextChangedCallback             ,
+#if ENABLE_OVERLOADING
+    StyleContextChangedSignalInfo           ,
+#endif
+    afterStyleContextChanged                ,
+    genClosure_StyleContextChanged          ,
+    mk_StyleContextChangedCallback          ,
+    noStyleContextChangedCallback           ,
+    onStyleContextChanged                   ,
+    wrap_StyleContextChangedCallback        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.FrameClock as Gdk.FrameClock
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.StyleProvider as Gtk.StyleProvider
+import {-# SOURCE #-} qualified GI.Gtk.Structs.Border as Gtk.Border
+import {-# SOURCE #-} qualified GI.Gtk.Structs.CssSection as Gtk.CssSection
+import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSet as Gtk.IconSet
+import {-# SOURCE #-} qualified GI.Gtk.Structs.WidgetPath as Gtk.WidgetPath
+import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
+
+-- | Memory-managed wrapper type.
+newtype StyleContext = StyleContext (ManagedPtr StyleContext)
+foreign import ccall "gtk_style_context_get_type"
+    c_gtk_style_context_get_type :: IO GType
+
+instance GObject StyleContext where
+    gobjectType = c_gtk_style_context_get_type
+    
+
+-- | Type class for types which can be safely cast to `StyleContext`, for instance with `toStyleContext`.
+class (GObject o, O.IsDescendantOf StyleContext o) => IsStyleContext o
+instance (GObject o, O.IsDescendantOf StyleContext o) => IsStyleContext o
+
+instance O.HasParentTypes StyleContext
+type instance O.ParentTypes StyleContext = '[GObject.Object.Object]
+
+-- | Cast to `StyleContext`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStyleContext :: (MonadIO m, IsStyleContext o) => o -> m StyleContext
+toStyleContext = liftIO . unsafeCastTo StyleContext
+
+-- | A convenience alias for `Nothing` :: `Maybe` `StyleContext`.
+noStyleContext :: Maybe StyleContext
+noStyleContext = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStyleContextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStyleContextMethod "addClass" o = StyleContextAddClassMethodInfo
+    ResolveStyleContextMethod "addProvider" o = StyleContextAddProviderMethodInfo
+    ResolveStyleContextMethod "addRegion" o = StyleContextAddRegionMethodInfo
+    ResolveStyleContextMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStyleContextMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStyleContextMethod "cancelAnimations" o = StyleContextCancelAnimationsMethodInfo
+    ResolveStyleContextMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStyleContextMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStyleContextMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStyleContextMethod "hasClass" o = StyleContextHasClassMethodInfo
+    ResolveStyleContextMethod "hasRegion" o = StyleContextHasRegionMethodInfo
+    ResolveStyleContextMethod "invalidate" o = StyleContextInvalidateMethodInfo
+    ResolveStyleContextMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStyleContextMethod "listClasses" o = StyleContextListClassesMethodInfo
+    ResolveStyleContextMethod "listRegions" o = StyleContextListRegionsMethodInfo
+    ResolveStyleContextMethod "lookupColor" o = StyleContextLookupColorMethodInfo
+    ResolveStyleContextMethod "lookupIconSet" o = StyleContextLookupIconSetMethodInfo
+    ResolveStyleContextMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStyleContextMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStyleContextMethod "notifyStateChange" o = StyleContextNotifyStateChangeMethodInfo
+    ResolveStyleContextMethod "popAnimatableRegion" o = StyleContextPopAnimatableRegionMethodInfo
+    ResolveStyleContextMethod "pushAnimatableRegion" o = StyleContextPushAnimatableRegionMethodInfo
+    ResolveStyleContextMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStyleContextMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStyleContextMethod "removeClass" o = StyleContextRemoveClassMethodInfo
+    ResolveStyleContextMethod "removeProvider" o = StyleContextRemoveProviderMethodInfo
+    ResolveStyleContextMethod "removeRegion" o = StyleContextRemoveRegionMethodInfo
+    ResolveStyleContextMethod "restore" o = StyleContextRestoreMethodInfo
+    ResolveStyleContextMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStyleContextMethod "save" o = StyleContextSaveMethodInfo
+    ResolveStyleContextMethod "scrollAnimations" o = StyleContextScrollAnimationsMethodInfo
+    ResolveStyleContextMethod "stateIsRunning" o = StyleContextStateIsRunningMethodInfo
+    ResolveStyleContextMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStyleContextMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStyleContextMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStyleContextMethod "toString" o = StyleContextToStringMethodInfo
+    ResolveStyleContextMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStyleContextMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStyleContextMethod "getBackgroundColor" o = StyleContextGetBackgroundColorMethodInfo
+    ResolveStyleContextMethod "getBorder" o = StyleContextGetBorderMethodInfo
+    ResolveStyleContextMethod "getBorderColor" o = StyleContextGetBorderColorMethodInfo
+    ResolveStyleContextMethod "getColor" o = StyleContextGetColorMethodInfo
+    ResolveStyleContextMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStyleContextMethod "getDirection" o = StyleContextGetDirectionMethodInfo
+    ResolveStyleContextMethod "getFont" o = StyleContextGetFontMethodInfo
+    ResolveStyleContextMethod "getFrameClock" o = StyleContextGetFrameClockMethodInfo
+    ResolveStyleContextMethod "getJunctionSides" o = StyleContextGetJunctionSidesMethodInfo
+    ResolveStyleContextMethod "getMargin" o = StyleContextGetMarginMethodInfo
+    ResolveStyleContextMethod "getPadding" o = StyleContextGetPaddingMethodInfo
+    ResolveStyleContextMethod "getParent" o = StyleContextGetParentMethodInfo
+    ResolveStyleContextMethod "getPath" o = StyleContextGetPathMethodInfo
+    ResolveStyleContextMethod "getProperty" o = StyleContextGetPropertyMethodInfo
+    ResolveStyleContextMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStyleContextMethod "getScale" o = StyleContextGetScaleMethodInfo
+    ResolveStyleContextMethod "getScreen" o = StyleContextGetScreenMethodInfo
+    ResolveStyleContextMethod "getSection" o = StyleContextGetSectionMethodInfo
+    ResolveStyleContextMethod "getState" o = StyleContextGetStateMethodInfo
+    ResolveStyleContextMethod "getStyleProperty" o = StyleContextGetStylePropertyMethodInfo
+    ResolveStyleContextMethod "setBackground" o = StyleContextSetBackgroundMethodInfo
+    ResolveStyleContextMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStyleContextMethod "setDirection" o = StyleContextSetDirectionMethodInfo
+    ResolveStyleContextMethod "setFrameClock" o = StyleContextSetFrameClockMethodInfo
+    ResolveStyleContextMethod "setJunctionSides" o = StyleContextSetJunctionSidesMethodInfo
+    ResolveStyleContextMethod "setParent" o = StyleContextSetParentMethodInfo
+    ResolveStyleContextMethod "setPath" o = StyleContextSetPathMethodInfo
+    ResolveStyleContextMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveStyleContextMethod "setScale" o = StyleContextSetScaleMethodInfo
+    ResolveStyleContextMethod "setScreen" o = StyleContextSetScreenMethodInfo
+    ResolveStyleContextMethod "setState" o = StyleContextSetStateMethodInfo
+    ResolveStyleContextMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStyleContextMethod t StyleContext, O.MethodInfo info StyleContext p) => OL.IsLabel t (StyleContext -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal StyleContext::changed
+{- |
+The ::changed signal is emitted when there is a change in the
+'GI.Gtk.Objects.StyleContext.StyleContext'.
+
+For a 'GI.Gtk.Objects.StyleContext.StyleContext' returned by 'GI.Gtk.Objects.Widget.widgetGetStyleContext', the
+'GI.Gtk.Objects.Widget.Widget'::@/style-updated/@ signal\/vfunc might be more convenient to use.
+
+This signal is useful when using the theming layer standalone.
+
+/Since: 3.0/
+-}
+type StyleContextChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `StyleContextChangedCallback`@.
+noStyleContextChangedCallback :: Maybe StyleContextChangedCallback
+noStyleContextChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_StyleContextChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_StyleContextChangedCallback`.
+foreign import ccall "wrapper"
+    mk_StyleContextChangedCallback :: C_StyleContextChangedCallback -> IO (FunPtr C_StyleContextChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_StyleContextChanged :: MonadIO m => StyleContextChangedCallback -> m (GClosure C_StyleContextChangedCallback)
+genClosure_StyleContextChanged cb = liftIO $ do
+    let cb' = wrap_StyleContextChangedCallback cb
+    mk_StyleContextChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `StyleContextChangedCallback` into a `C_StyleContextChangedCallback`.
+wrap_StyleContextChangedCallback ::
+    StyleContextChangedCallback ->
+    C_StyleContextChangedCallback
+wrap_StyleContextChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' styleContext #changed callback
+@
+-}
+onStyleContextChanged :: (IsStyleContext a, MonadIO m) => a -> StyleContextChangedCallback -> m SignalHandlerId
+onStyleContextChanged obj cb = liftIO $ do
+    let cb' = wrap_StyleContextChangedCallback cb
+    cb'' <- mk_StyleContextChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' styleContext #changed callback
+@
+-}
+afterStyleContextChanged :: (IsStyleContext a, MonadIO m) => a -> StyleContextChangedCallback -> m SignalHandlerId
+afterStyleContextChanged obj cb = liftIO $ do
+    let cb' = wrap_StyleContextChangedCallback cb
+    cb'' <- mk_StyleContextChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "direction"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' styleContext #direction
+@
+-}
+getStyleContextDirection :: (MonadIO m, IsStyleContext o) => o -> m Gtk.Enums.TextDirection
+getStyleContextDirection obj = liftIO $ B.Properties.getObjectPropertyEnum obj "direction"
+
+{- |
+Set the value of the “@direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' styleContext [ #direction 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStyleContextDirection :: (MonadIO m, IsStyleContext o) => o -> Gtk.Enums.TextDirection -> m ()
+setStyleContextDirection obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "direction" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@direction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStyleContextDirection :: (IsStyleContext o) => Gtk.Enums.TextDirection -> IO (GValueConstruct o)
+constructStyleContextDirection val = B.Properties.constructObjectPropertyEnum "direction" val
+
+#if ENABLE_OVERLOADING
+data StyleContextDirectionPropertyInfo
+instance AttrInfo StyleContextDirectionPropertyInfo where
+    type AttrAllowedOps StyleContextDirectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleContextDirectionPropertyInfo = (~) Gtk.Enums.TextDirection
+    type AttrBaseTypeConstraint StyleContextDirectionPropertyInfo = IsStyleContext
+    type AttrGetType StyleContextDirectionPropertyInfo = Gtk.Enums.TextDirection
+    type AttrLabel StyleContextDirectionPropertyInfo = "direction"
+    type AttrOrigin StyleContextDirectionPropertyInfo = StyleContext
+    attrGet _ = getStyleContextDirection
+    attrSet _ = setStyleContextDirection
+    attrConstruct _ = constructStyleContextDirection
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "paint-clock"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "FrameClock"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@paint-clock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' styleContext #paintClock
+@
+-}
+getStyleContextPaintClock :: (MonadIO m, IsStyleContext o) => o -> m (Maybe Gdk.FrameClock.FrameClock)
+getStyleContextPaintClock obj = liftIO $ B.Properties.getObjectPropertyObject obj "paint-clock" Gdk.FrameClock.FrameClock
+
+{- |
+Set the value of the “@paint-clock@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' styleContext [ #paintClock 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStyleContextPaintClock :: (MonadIO m, IsStyleContext o, Gdk.FrameClock.IsFrameClock a) => o -> a -> m ()
+setStyleContextPaintClock obj val = liftIO $ B.Properties.setObjectPropertyObject obj "paint-clock" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@paint-clock@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStyleContextPaintClock :: (IsStyleContext o, Gdk.FrameClock.IsFrameClock a) => a -> IO (GValueConstruct o)
+constructStyleContextPaintClock val = B.Properties.constructObjectPropertyObject "paint-clock" (Just val)
+
+{- |
+Set the value of the “@paint-clock@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #paintClock
+@
+-}
+clearStyleContextPaintClock :: (MonadIO m, IsStyleContext o) => o -> m ()
+clearStyleContextPaintClock obj = liftIO $ B.Properties.setObjectPropertyObject obj "paint-clock" (Nothing :: Maybe Gdk.FrameClock.FrameClock)
+
+#if ENABLE_OVERLOADING
+data StyleContextPaintClockPropertyInfo
+instance AttrInfo StyleContextPaintClockPropertyInfo where
+    type AttrAllowedOps StyleContextPaintClockPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleContextPaintClockPropertyInfo = Gdk.FrameClock.IsFrameClock
+    type AttrBaseTypeConstraint StyleContextPaintClockPropertyInfo = IsStyleContext
+    type AttrGetType StyleContextPaintClockPropertyInfo = (Maybe Gdk.FrameClock.FrameClock)
+    type AttrLabel StyleContextPaintClockPropertyInfo = "paint-clock"
+    type AttrOrigin StyleContextPaintClockPropertyInfo = StyleContext
+    attrGet _ = getStyleContextPaintClock
+    attrSet _ = setStyleContextPaintClock
+    attrConstruct _ = constructStyleContextPaintClock
+    attrClear _ = clearStyleContextPaintClock
+#endif
+
+-- VVV Prop "parent"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@parent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' styleContext #parent
+@
+-}
+getStyleContextParent :: (MonadIO m, IsStyleContext o) => o -> m (Maybe StyleContext)
+getStyleContextParent obj = liftIO $ B.Properties.getObjectPropertyObject obj "parent" StyleContext
+
+{- |
+Set the value of the “@parent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' styleContext [ #parent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStyleContextParent :: (MonadIO m, IsStyleContext o, IsStyleContext a) => o -> a -> m ()
+setStyleContextParent obj val = liftIO $ B.Properties.setObjectPropertyObject obj "parent" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@parent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStyleContextParent :: (IsStyleContext o, IsStyleContext a) => a -> IO (GValueConstruct o)
+constructStyleContextParent val = B.Properties.constructObjectPropertyObject "parent" (Just val)
+
+{- |
+Set the value of the “@parent@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #parent
+@
+-}
+clearStyleContextParent :: (MonadIO m, IsStyleContext o) => o -> m ()
+clearStyleContextParent obj = liftIO $ B.Properties.setObjectPropertyObject obj "parent" (Nothing :: Maybe StyleContext)
+
+#if ENABLE_OVERLOADING
+data StyleContextParentPropertyInfo
+instance AttrInfo StyleContextParentPropertyInfo where
+    type AttrAllowedOps StyleContextParentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StyleContextParentPropertyInfo = IsStyleContext
+    type AttrBaseTypeConstraint StyleContextParentPropertyInfo = IsStyleContext
+    type AttrGetType StyleContextParentPropertyInfo = (Maybe StyleContext)
+    type AttrLabel StyleContextParentPropertyInfo = "parent"
+    type AttrOrigin StyleContextParentPropertyInfo = StyleContext
+    attrGet _ = getStyleContextParent
+    attrSet _ = setStyleContextParent
+    attrConstruct _ = constructStyleContextParent
+    attrClear _ = clearStyleContextParent
+#endif
+
+-- VVV Prop "screen"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Screen"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' styleContext #screen
+@
+-}
+getStyleContextScreen :: (MonadIO m, IsStyleContext o) => o -> m Gdk.Screen.Screen
+getStyleContextScreen obj = liftIO $ checkUnexpectedNothing "getStyleContextScreen" $ B.Properties.getObjectPropertyObject obj "screen" Gdk.Screen.Screen
+
+{- |
+Set the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' styleContext [ #screen 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStyleContextScreen :: (MonadIO m, IsStyleContext o, Gdk.Screen.IsScreen a) => o -> a -> m ()
+setStyleContextScreen obj val = liftIO $ B.Properties.setObjectPropertyObject obj "screen" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@screen@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructStyleContextScreen :: (IsStyleContext o, Gdk.Screen.IsScreen a) => a -> IO (GValueConstruct o)
+constructStyleContextScreen val = B.Properties.constructObjectPropertyObject "screen" (Just val)
+
+#if ENABLE_OVERLOADING
+data StyleContextScreenPropertyInfo
+instance AttrInfo StyleContextScreenPropertyInfo where
+    type AttrAllowedOps StyleContextScreenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint StyleContextScreenPropertyInfo = Gdk.Screen.IsScreen
+    type AttrBaseTypeConstraint StyleContextScreenPropertyInfo = IsStyleContext
+    type AttrGetType StyleContextScreenPropertyInfo = Gdk.Screen.Screen
+    type AttrLabel StyleContextScreenPropertyInfo = "screen"
+    type AttrOrigin StyleContextScreenPropertyInfo = StyleContext
+    attrGet _ = getStyleContextScreen
+    attrSet _ = setStyleContextScreen
+    attrConstruct _ = constructStyleContextScreen
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList StyleContext
+type instance O.AttributeList StyleContext = StyleContextAttributeList
+type StyleContextAttributeList = ('[ '("direction", StyleContextDirectionPropertyInfo), '("paintClock", StyleContextPaintClockPropertyInfo), '("parent", StyleContextParentPropertyInfo), '("screen", StyleContextScreenPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+styleContextDirection :: AttrLabelProxy "direction"
+styleContextDirection = AttrLabelProxy
+
+styleContextPaintClock :: AttrLabelProxy "paintClock"
+styleContextPaintClock = AttrLabelProxy
+
+styleContextParent :: AttrLabelProxy "parent"
+styleContextParent = AttrLabelProxy
+
+styleContextScreen :: AttrLabelProxy "screen"
+styleContextScreen = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data StyleContextChangedSignalInfo
+instance SignalInfo StyleContextChangedSignalInfo where
+    type HaskellCallbackType StyleContextChangedSignalInfo = StyleContextChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_StyleContextChangedCallback cb
+        cb'' <- mk_StyleContextChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+type instance O.SignalList StyleContext = StyleContextSignalList
+type StyleContextSignalList = ('[ '("changed", StyleContextChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method StyleContext::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StyleContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_new" gtk_style_context_new :: 
+    IO (Ptr StyleContext)
+
+{- |
+Creates a standalone 'GI.Gtk.Objects.StyleContext.StyleContext', this style context
+won’t be attached to any widget, so you may want
+to call 'GI.Gtk.Objects.StyleContext.styleContextSetPath' yourself.
+
+This function is only useful when using the theming layer
+separated from GTK+, if you are using 'GI.Gtk.Objects.StyleContext.StyleContext' to
+theme @/GtkWidgets/@, use 'GI.Gtk.Objects.Widget.widgetGetStyleContext'
+in order to get a style context ready to theme the widget.
+-}
+styleContextNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m StyleContext
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.StyleContext.StyleContext'. -}
+styleContextNew  = liftIO $ do
+    result <- gtk_style_context_new
+    checkUnexpectedReturnNULL "styleContextNew" result
+    result' <- (wrapObject StyleContext) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StyleContext::add_class
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class name to use in styling", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_add_class" gtk_style_context_add_class :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- class_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds a style class to /@context@/, so posterior calls to
+@/gtk_style_context_get()/@ or any of the gtk_render_*()
+functions will make use of this new class for styling.
+
+In the CSS file format, a 'GI.Gtk.Objects.Entry.Entry' defining a “search”
+class, would be matched by:
+
+> <!-- language="CSS" -->
+>entry.search { ... }
+
+
+While any widget defining a “search” class would be
+matched by:
+> <!-- language="CSS" -->
+>.search { ... }
+
+
+/Since: 3.0/
+-}
+styleContextAddClass ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@className@/: class name to use in styling -}
+    -> m ()
+styleContextAddClass context className = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    className' <- textToCString className
+    gtk_style_context_add_class context' className'
+    touchManagedPtr context
+    freeMem className'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextAddClassMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextAddClassMethodInfo a signature where
+    overloadedMethod _ = styleContextAddClass
+
+#endif
+
+-- method StyleContext::add_provider
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gtk", name = "StyleProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the style provider. The lower\n           it is, the earlier it will be used in the style\n           construction. Typically this will be in the range\n           between %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and\n           %GTK_STYLE_PROVIDER_PRIORITY_USER", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_add_provider" gtk_style_context_add_provider :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gtk.StyleProvider.StyleProvider ->  -- provider : TInterface (Name {namespace = "Gtk", name = "StyleProvider"})
+    Word32 ->                               -- priority : TBasicType TUInt
+    IO ()
+
+{- |
+Adds a style provider to /@context@/, to be used in style construction.
+Note that a style provider added by this function only affects
+the style of the widget to which /@context@/ belongs. If you want
+to affect the style of all widgets, use
+'GI.Gtk.Objects.StyleContext.styleContextAddProviderForScreen'.
+
+Note: If both priorities are the same, a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider'
+added through this function takes precedence over another added
+through 'GI.Gtk.Objects.StyleContext.styleContextAddProviderForScreen'.
+
+/Since: 3.0/
+-}
+styleContextAddProvider ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a, Gtk.StyleProvider.IsStyleProvider b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> b
+    {- ^ /@provider@/: a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' -}
+    -> Word32
+    {- ^ /@priority@/: the priority of the style provider. The lower
+           it is, the earlier it will be used in the style
+           construction. Typically this will be in the range
+           between 'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_FALLBACK' and
+           'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_USER' -}
+    -> m ()
+styleContextAddProvider context provider priority = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    provider' <- unsafeManagedPtrCastPtr provider
+    gtk_style_context_add_provider context' provider' priority
+    touchManagedPtr context
+    touchManagedPtr provider
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextAddProviderMethodInfo
+instance (signature ~ (b -> Word32 -> m ()), MonadIO m, IsStyleContext a, Gtk.StyleProvider.IsStyleProvider b) => O.MethodInfo StyleContextAddProviderMethodInfo a signature where
+    overloadedMethod _ = styleContextAddProvider
+
+#endif
+
+-- method StyleContext::add_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name to use in styling", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "RegionFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags that apply to the region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_add_region" gtk_style_context_add_region :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- region_name : TBasicType TUTF8
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "RegionFlags"})
+    IO ()
+
+{-# DEPRECATED styleContextAddRegion ["(Since version 3.14)"] #-}
+{- |
+Adds a region to /@context@/, so posterior calls to
+@/gtk_style_context_get()/@ or any of the gtk_render_*()
+functions will make use of this new region for styling.
+
+In the CSS file format, a 'GI.Gtk.Objects.TreeView.TreeView' defining a “row”
+region, would be matched by:
+
+> <!-- language="CSS" -->
+>treeview row { ... }
+
+
+Pseudo-classes are used for matching /@flags@/, so the two
+following rules:
+> <!-- language="CSS" -->
+>treeview row:nth-child(even) { ... }
+>treeview row:nth-child(odd) { ... }
+
+
+would apply to even and odd rows, respectively.
+
+Region names must only contain lowercase letters
+and “-”, starting always with a lowercase letter.
+
+/Since: 3.0/
+-}
+styleContextAddRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@regionName@/: region name to use in styling -}
+    -> [Gtk.Flags.RegionFlags]
+    {- ^ /@flags@/: flags that apply to the region -}
+    -> m ()
+styleContextAddRegion context regionName flags = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    regionName' <- textToCString regionName
+    let flags' = gflagsToWord flags
+    gtk_style_context_add_region context' regionName' flags'
+    touchManagedPtr context
+    freeMem regionName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextAddRegionMethodInfo
+instance (signature ~ (T.Text -> [Gtk.Flags.RegionFlags] -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextAddRegionMethodInfo a signature where
+    overloadedMethod _ = styleContextAddRegion
+
+#endif
+
+-- method StyleContext::cancel_animations
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region_id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "animatable region to stop, or %NULL.\n    See gtk_style_context_push_animatable_region()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_cancel_animations" gtk_style_context_cancel_animations :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr () ->                               -- region_id : TBasicType TPtr
+    IO ()
+
+{-# DEPRECATED styleContextCancelAnimations ["(Since version 3.6)","This function does nothing."] #-}
+{- |
+Stops all running animations for /@regionId@/ and all animatable
+regions underneath.
+
+A 'Nothing' /@regionId@/ will stop all ongoing animations in /@context@/,
+when dealing with a 'GI.Gtk.Objects.StyleContext.StyleContext' obtained through
+'GI.Gtk.Objects.Widget.widgetGetStyleContext', this is normally done for you
+in all circumstances you would expect all widget to be stopped,
+so this should be only used in complex widgets with different
+animatable regions.
+
+/Since: 3.0/
+-}
+styleContextCancelAnimations ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Ptr ()
+    {- ^ /@regionId@/: animatable region to stop, or 'Nothing'.
+    See 'GI.Gtk.Objects.StyleContext.styleContextPushAnimatableRegion' -}
+    -> m ()
+styleContextCancelAnimations context regionId = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_style_context_cancel_animations context' regionId
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextCancelAnimationsMethodInfo
+instance (signature ~ (Ptr () -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextCancelAnimationsMethodInfo a signature where
+    overloadedMethod _ = styleContextCancelAnimations
+
+#endif
+
+-- method StyleContext::get_background_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the color for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the background color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_background_color" gtk_style_context_get_background_color :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{-# DEPRECATED styleContextGetBackgroundColor ["(Since version 3.16)","Use 'GI.Gtk.Functions.renderBackground' instead."] #-}
+{- |
+Gets the background color for a given state.
+
+This function is far less useful than it seems, and it should not be used in
+newly written code. CSS has no concept of \"background color\", as a background
+can be an image, or a gradient, or any other pattern including solid colors.
+
+The only reason why you would call 'GI.Gtk.Objects.StyleContext.styleContextGetBackgroundColor' is
+to use the returned value to draw the background with it; the correct way to
+achieve this result is to use 'GI.Gtk.Functions.renderBackground' instead, along with CSS
+style classes to modify the color to be rendered.
+
+/Since: 3.0/
+-}
+styleContextGetBackgroundColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the color for -}
+    -> m (Gdk.RGBA.RGBA)
+styleContextGetBackgroundColor context state = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let state' = gflagsToWord state
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    gtk_style_context_get_background_color context' state' color
+    color' <- (wrapBoxed Gdk.RGBA.RGBA) color
+    touchManagedPtr context
+    return color'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetBackgroundColorMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gdk.RGBA.RGBA)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetBackgroundColorMethodInfo a signature where
+    overloadedMethod _ = styleContextGetBackgroundColor
+
+#endif
+
+-- method StyleContext::get_border
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the border for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "border", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the border settings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_border" gtk_style_context_get_border :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gtk.Border.Border ->                -- border : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO ()
+
+{- |
+Gets the border for a given state as a 'GI.Gtk.Structs.Border.Border'.
+
+See 'GI.Gtk.Objects.StyleContext.styleContextGetProperty' and
+'GI.Gtk.Constants.STYLE_PROPERTY_BORDER_WIDTH' for details.
+
+/Since: 3.0/
+-}
+styleContextGetBorder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the border for -}
+    -> m (Gtk.Border.Border)
+styleContextGetBorder context state = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let state' = gflagsToWord state
+    border <- callocBoxedBytes 8 :: IO (Ptr Gtk.Border.Border)
+    gtk_style_context_get_border context' state' border
+    border' <- (wrapBoxed Gtk.Border.Border) border
+    touchManagedPtr context
+    return border'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetBorderMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gtk.Border.Border)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetBorderMethodInfo a signature where
+    overloadedMethod _ = styleContextGetBorder
+
+#endif
+
+-- method StyleContext::get_border_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the color for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the border color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_border_color" gtk_style_context_get_border_color :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{-# DEPRECATED styleContextGetBorderColor ["(Since version 3.16)","Use 'GI.Gtk.Functions.renderFrame' instead."] #-}
+{- |
+Gets the border color for a given state.
+
+/Since: 3.0/
+-}
+styleContextGetBorderColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the color for -}
+    -> m (Gdk.RGBA.RGBA)
+styleContextGetBorderColor context state = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let state' = gflagsToWord state
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    gtk_style_context_get_border_color context' state' color
+    color' <- (wrapBoxed Gdk.RGBA.RGBA) color
+    touchManagedPtr context
+    return color'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetBorderColorMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gdk.RGBA.RGBA)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetBorderColorMethodInfo a signature where
+    overloadedMethod _ = styleContextGetBorderColor
+
+#endif
+
+-- method StyleContext::get_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the color for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the foreground color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_color" gtk_style_context_get_color :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{- |
+Gets the foreground color for a given state.
+
+See 'GI.Gtk.Objects.StyleContext.styleContextGetProperty' and
+'GI.Gtk.Constants.STYLE_PROPERTY_COLOR' for details.
+
+/Since: 3.0/
+-}
+styleContextGetColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the color for -}
+    -> m (Gdk.RGBA.RGBA)
+styleContextGetColor context state = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let state' = gflagsToWord state
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    gtk_style_context_get_color context' state' color
+    color' <- (wrapBoxed Gdk.RGBA.RGBA) color
+    touchManagedPtr context
+    return color'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetColorMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gdk.RGBA.RGBA)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetColorMethodInfo a signature where
+    overloadedMethod _ = styleContextGetColor
+
+#endif
+
+-- method StyleContext::get_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextDirection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_direction" gtk_style_context_get_direction :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO CUInt
+
+{-# DEPRECATED styleContextGetDirection ["(Since version 3.8)","Use 'GI.Gtk.Objects.StyleContext.styleContextGetState' and","  check for @/GTK_STATE_FLAG_DIR_LTR/@ and","  @/GTK_STATE_FLAG_DIR_RTL/@ instead."] #-}
+{- |
+Returns the widget direction used for rendering.
+
+/Since: 3.0/
+-}
+styleContextGetDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m Gtk.Enums.TextDirection
+    {- ^ __Returns:__ the widget direction -}
+styleContextGetDirection context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_get_direction context'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetDirectionMethodInfo
+instance (signature ~ (m Gtk.Enums.TextDirection), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetDirectionMethodInfo a signature where
+    overloadedMethod _ = styleContextGetDirection
+
+#endif
+
+-- method StyleContext::get_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the font for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontDescription"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_font" gtk_style_context_get_font :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    IO (Ptr Pango.FontDescription.FontDescription)
+
+{-# DEPRECATED styleContextGetFont ["(Since version 3.8)","Use @/gtk_style_context_get()/@ for \\\"font\\\" or","    subproperties instead."] #-}
+{- |
+Returns the font description for a given state. The returned
+object is const and will remain valid until the
+'GI.Gtk.Objects.StyleContext.StyleContext'::@/changed/@ signal happens.
+
+/Since: 3.0/
+-}
+styleContextGetFont ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the font for -}
+    -> m Pango.FontDescription.FontDescription
+    {- ^ __Returns:__ the 'GI.Pango.Structs.FontDescription.FontDescription' for the given
+         state.  This object is owned by GTK+ and should not be
+         freed. -}
+styleContextGetFont context state = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let state' = gflagsToWord state
+    result <- gtk_style_context_get_font context' state'
+    checkUnexpectedReturnNULL "styleContextGetFont" result
+    result' <- (newBoxed Pango.FontDescription.FontDescription) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetFontMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m Pango.FontDescription.FontDescription), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetFontMethodInfo a signature where
+    overloadedMethod _ = styleContextGetFont
+
+#endif
+
+-- method StyleContext::get_frame_clock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "FrameClock"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_frame_clock" gtk_style_context_get_frame_clock :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO (Ptr Gdk.FrameClock.FrameClock)
+
+{- |
+Returns the 'GI.Gdk.Objects.FrameClock.FrameClock' to which /@context@/ is attached.
+
+/Since: 3.8/
+-}
+styleContextGetFrameClock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m (Maybe Gdk.FrameClock.FrameClock)
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.FrameClock.FrameClock', or 'Nothing'
+ if /@context@/ does not have an attached frame clock. -}
+styleContextGetFrameClock context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_get_frame_clock context'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.FrameClock.FrameClock) result'
+        return result''
+    touchManagedPtr context
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StyleContextGetFrameClockMethodInfo
+instance (signature ~ (m (Maybe Gdk.FrameClock.FrameClock)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetFrameClockMethodInfo a signature where
+    overloadedMethod _ = styleContextGetFrameClock
+
+#endif
+
+-- method StyleContext::get_junction_sides
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "JunctionSides"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_junction_sides" gtk_style_context_get_junction_sides :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO CUInt
+
+{- |
+Returns the sides where rendered elements connect visually with others.
+
+/Since: 3.0/
+-}
+styleContextGetJunctionSides ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m [Gtk.Flags.JunctionSides]
+    {- ^ __Returns:__ the junction sides -}
+styleContextGetJunctionSides context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_get_junction_sides context'
+    let result' = wordToGFlags result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetJunctionSidesMethodInfo
+instance (signature ~ (m [Gtk.Flags.JunctionSides]), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetJunctionSidesMethodInfo a signature where
+    overloadedMethod _ = styleContextGetJunctionSides
+
+#endif
+
+-- method StyleContext::get_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the border for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the margin settings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_margin" gtk_style_context_get_margin :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gtk.Border.Border ->                -- margin : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO ()
+
+{- |
+Gets the margin for a given state as a 'GI.Gtk.Structs.Border.Border'.
+See @/gtk_style_property_get()/@ and 'GI.Gtk.Constants.STYLE_PROPERTY_MARGIN'
+for details.
+
+/Since: 3.0/
+-}
+styleContextGetMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the border for -}
+    -> m (Gtk.Border.Border)
+styleContextGetMargin context state = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let state' = gflagsToWord state
+    margin <- callocBoxedBytes 8 :: IO (Ptr Gtk.Border.Border)
+    gtk_style_context_get_margin context' state' margin
+    margin' <- (wrapBoxed Gtk.Border.Border) margin
+    touchManagedPtr context
+    return margin'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetMarginMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gtk.Border.Border)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetMarginMethodInfo a signature where
+    overloadedMethod _ = styleContextGetMargin
+
+#endif
+
+-- method StyleContext::get_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the padding for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the padding settings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_padding" gtk_style_context_get_padding :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gtk.Border.Border ->                -- padding : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO ()
+
+{- |
+Gets the padding for a given state as a 'GI.Gtk.Structs.Border.Border'.
+See @/gtk_style_context_get()/@ and 'GI.Gtk.Constants.STYLE_PROPERTY_PADDING'
+for details.
+
+/Since: 3.0/
+-}
+styleContextGetPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the padding for -}
+    -> m (Gtk.Border.Border)
+styleContextGetPadding context state = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let state' = gflagsToWord state
+    padding <- callocBoxedBytes 8 :: IO (Ptr Gtk.Border.Border)
+    gtk_style_context_get_padding context' state' padding
+    padding' <- (wrapBoxed Gtk.Border.Border) padding
+    touchManagedPtr context
+    return padding'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetPaddingMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gtk.Border.Border)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetPaddingMethodInfo a signature where
+    overloadedMethod _ = styleContextGetPadding
+
+#endif
+
+-- method StyleContext::get_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StyleContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_parent" gtk_style_context_get_parent :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO (Ptr StyleContext)
+
+{- |
+Gets the parent context set via 'GI.Gtk.Objects.StyleContext.styleContextSetParent'.
+See that function for details.
+
+/Since: 3.4/
+-}
+styleContextGetParent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m (Maybe StyleContext)
+    {- ^ __Returns:__ the parent context or 'Nothing' -}
+styleContextGetParent context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_get_parent context'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject StyleContext) result'
+        return result''
+    touchManagedPtr context
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StyleContextGetParentMethodInfo
+instance (signature ~ (m (Maybe StyleContext)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetParentMethodInfo a signature where
+    overloadedMethod _ = styleContextGetParent
+
+#endif
+
+-- method StyleContext::get_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_path" gtk_style_context_get_path :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO (Ptr Gtk.WidgetPath.WidgetPath)
+
+{- |
+Returns the widget path used for style matching.
+
+/Since: 3.0/
+-}
+styleContextGetPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m Gtk.WidgetPath.WidgetPath
+    {- ^ __Returns:__ A 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+styleContextGetPath context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_get_path context'
+    checkUnexpectedReturnNULL "styleContextGetPath" result
+    result' <- (newBoxed Gtk.WidgetPath.WidgetPath) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetPathMethodInfo
+instance (signature ~ (m Gtk.WidgetPath.WidgetPath), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetPathMethodInfo a signature where
+    overloadedMethod _ = styleContextGetPath
+
+#endif
+
+-- method StyleContext::get_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "style property name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the property value for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the style property value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_property" gtk_style_context_get_property :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- property : TBasicType TUTF8
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Gets a style property from /@context@/ for the given state.
+
+Note that not all CSS properties that are supported by GTK+ can be
+retrieved in this way, since they may not be representable as 'GI.GObject.Structs.Value.Value'.
+GTK+ defines macros for a number of properties that can be used
+with this function.
+
+Note that passing a state other than the current state of /@context@/
+is not recommended unless the style context has been saved with
+'GI.Gtk.Objects.StyleContext.styleContextSave'.
+
+When /@value@/ is no longer needed, 'GI.GObject.Structs.Value.valueUnset' must be called
+to free any allocated memory.
+
+/Since: 3.0/
+-}
+styleContextGetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@property@/: style property name -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the property value for -}
+    -> m (GValue)
+styleContextGetProperty context property state = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    property' <- textToCString property
+    let state' = gflagsToWord state
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    gtk_style_context_get_property context' property' state' value
+    value' <- (wrapBoxed GValue) value
+    touchManagedPtr context
+    freeMem property'
+    return value'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetPropertyMethodInfo
+instance (signature ~ (T.Text -> [Gtk.Flags.StateFlags] -> m (GValue)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetPropertyMethodInfo a signature where
+    overloadedMethod _ = styleContextGetProperty
+
+#endif
+
+-- method StyleContext::get_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_scale" gtk_style_context_get_scale :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO Int32
+
+{- |
+Returns the scale used for assets.
+
+/Since: 3.10/
+-}
+styleContextGetScale ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m Int32
+    {- ^ __Returns:__ the scale -}
+styleContextGetScale context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_get_scale context'
+    touchManagedPtr context
+    return result
+
+#if ENABLE_OVERLOADING
+data StyleContextGetScaleMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetScaleMethodInfo a signature where
+    overloadedMethod _ = styleContextGetScale
+
+#endif
+
+-- method StyleContext::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_screen" gtk_style_context_get_screen :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO (Ptr Gdk.Screen.Screen)
+
+{- |
+Returns the 'GI.Gdk.Objects.Screen.Screen' to which /@context@/ is attached.
+-}
+styleContextGetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m Gdk.Screen.Screen
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Screen.Screen'. -}
+styleContextGetScreen context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_get_screen context'
+    checkUnexpectedReturnNULL "styleContextGetScreen" result
+    result' <- (newObject Gdk.Screen.Screen) result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetScreenMethodInfo
+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetScreenMethodInfo a signature where
+    overloadedMethod _ = styleContextGetScreen
+
+#endif
+
+-- method StyleContext::get_section
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "style property name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CssSection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_section" gtk_style_context_get_section :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- property : TBasicType TUTF8
+    IO (Ptr Gtk.CssSection.CssSection)
+
+{- |
+Queries the location in the CSS where /@property@/ was defined for the
+current /@context@/. Note that the state to be queried is taken from
+'GI.Gtk.Objects.StyleContext.styleContextGetState'.
+
+If the location is not available, 'Nothing' will be returned. The
+location might not be available for various reasons, such as the
+property being overridden, /@property@/ not naming a supported CSS
+property or tracking of definitions being disabled for performance
+reasons.
+
+Shorthand CSS properties cannot be queried for a location and will
+always return 'Nothing'.
+-}
+styleContextGetSection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@property@/: style property name -}
+    -> m (Maybe Gtk.CssSection.CssSection)
+    {- ^ __Returns:__ 'Nothing' or the section where a value
+for /@property@/ was defined -}
+styleContextGetSection context property = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    property' <- textToCString property
+    result <- gtk_style_context_get_section context' property'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Gtk.CssSection.CssSection) result'
+        return result''
+    touchManagedPtr context
+    freeMem property'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StyleContextGetSectionMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.CssSection.CssSection)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetSectionMethodInfo a signature where
+    overloadedMethod _ = styleContextGetSection
+
+#endif
+
+-- method StyleContext::get_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StateFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_state" gtk_style_context_get_state :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO CUInt
+
+{- |
+Returns the state used for style matching.
+
+This method should only be used to retrieve the 'GI.Gtk.Flags.StateFlags'
+to pass to 'GI.Gtk.Objects.StyleContext.StyleContext' methods, like 'GI.Gtk.Objects.StyleContext.styleContextGetPadding'.
+If you need to retrieve the current state of a 'GI.Gtk.Objects.Widget.Widget', use
+'GI.Gtk.Objects.Widget.widgetGetStateFlags'.
+
+/Since: 3.0/
+-}
+styleContextGetState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m [Gtk.Flags.StateFlags]
+    {- ^ __Returns:__ the state flags -}
+styleContextGetState context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_get_state context'
+    let result' = wordToGFlags result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleContextGetStateMethodInfo
+instance (signature ~ (m [Gtk.Flags.StateFlags]), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetStateMethodInfo a signature where
+    overloadedMethod _ = styleContextGetState
+
+#endif
+
+-- method StyleContext::get_style_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the widget style property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the property value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_get_style_property" gtk_style_context_get_style_property :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- property_name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Gets the value for a widget style property.
+
+When /@value@/ is no longer needed, 'GI.GObject.Structs.Value.valueUnset' must be called
+to free any allocated memory.
+-}
+styleContextGetStyleProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@propertyName@/: the name of the widget style property -}
+    -> GValue
+    {- ^ /@value@/: Return location for the property value -}
+    -> m ()
+styleContextGetStyleProperty context propertyName value = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    propertyName' <- textToCString propertyName
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_style_context_get_style_property context' propertyName' value'
+    touchManagedPtr context
+    touchManagedPtr value
+    freeMem propertyName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextGetStylePropertyMethodInfo
+instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextGetStylePropertyMethodInfo a signature where
+    overloadedMethod _ = styleContextGetStyleProperty
+
+#endif
+
+-- method StyleContext::has_class
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a class name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_has_class" gtk_style_context_has_class :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- class_name : TBasicType TUTF8
+    IO CInt
+
+{- |
+Returns 'True' if /@context@/ currently has defined the
+given class name.
+
+/Since: 3.0/
+-}
+styleContextHasClass ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@className@/: a class name -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@context@/ has /@className@/ defined -}
+styleContextHasClass context className = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    className' <- textToCString className
+    result <- gtk_style_context_has_class context' className'
+    let result' = (/= 0) result
+    touchManagedPtr context
+    freeMem className'
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleContextHasClassMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextHasClassMethodInfo a signature where
+    overloadedMethod _ = styleContextHasClass
+
+#endif
+
+-- method StyleContext::has_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a region name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags_return", argType = TInterface (Name {namespace = "Gtk", name = "RegionFlags"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for region flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_has_region" gtk_style_context_has_region :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- region_name : TBasicType TUTF8
+    Ptr CUInt ->                            -- flags_return : TInterface (Name {namespace = "Gtk", name = "RegionFlags"})
+    IO CInt
+
+{-# DEPRECATED styleContextHasRegion ["(Since version 3.14)"] #-}
+{- |
+Returns 'True' if /@context@/ has the region defined.
+If /@flagsReturn@/ is not 'Nothing', it is set to the flags
+affecting the region.
+
+/Since: 3.0/
+-}
+styleContextHasRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@regionName@/: a region name -}
+    -> m ((Bool, [Gtk.Flags.RegionFlags]))
+    {- ^ __Returns:__ 'True' if region is defined -}
+styleContextHasRegion context regionName = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    regionName' <- textToCString regionName
+    flagsReturn <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_style_context_has_region context' regionName' flagsReturn
+    let result' = (/= 0) result
+    flagsReturn' <- peek flagsReturn
+    let flagsReturn'' = wordToGFlags flagsReturn'
+    touchManagedPtr context
+    freeMem regionName'
+    freeMem flagsReturn
+    return (result', flagsReturn'')
+
+#if ENABLE_OVERLOADING
+data StyleContextHasRegionMethodInfo
+instance (signature ~ (T.Text -> m ((Bool, [Gtk.Flags.RegionFlags]))), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextHasRegionMethodInfo a signature where
+    overloadedMethod _ = styleContextHasRegion
+
+#endif
+
+-- method StyleContext::invalidate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_invalidate" gtk_style_context_invalidate :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO ()
+
+{-# DEPRECATED styleContextInvalidate ["(Since version 3.12)","Style contexts are invalidated automatically."] #-}
+{- |
+Invalidates /@context@/ style information, so it will be reconstructed
+again. It is useful if you modify the /@context@/ and need the new
+information immediately.
+
+/Since: 3.0/
+-}
+styleContextInvalidate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext'. -}
+    -> m ()
+styleContextInvalidate context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_style_context_invalidate context'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextInvalidateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextInvalidateMethodInfo a signature where
+    overloadedMethod _ = styleContextInvalidate
+
+#endif
+
+-- method StyleContext::list_classes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_list_classes" gtk_style_context_list_classes :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO (Ptr (GList CString))
+
+{- |
+Returns the list of classes currently defined in /@context@/.
+
+/Since: 3.0/
+-}
+styleContextListClasses ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of
+         strings with the currently defined classes. The contents
+         of the list are owned by GTK+, but you must free the list
+         itself with @/g_list_free()/@ when you are done with it. -}
+styleContextListClasses context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_list_classes context'
+    result' <- unpackGList result
+    result'' <- mapM cstringToText result'
+    g_list_free result
+    touchManagedPtr context
+    return result''
+
+#if ENABLE_OVERLOADING
+data StyleContextListClassesMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextListClassesMethodInfo a signature where
+    overloadedMethod _ = styleContextListClasses
+
+#endif
+
+-- method StyleContext::list_regions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_list_regions" gtk_style_context_list_regions :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO (Ptr (GList CString))
+
+{-# DEPRECATED styleContextListRegions ["(Since version 3.14)"] #-}
+{- |
+Returns the list of regions currently defined in /@context@/.
+
+/Since: 3.0/
+-}
+styleContextListRegions ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of
+         strings with the currently defined regions. The contents
+         of the list are owned by GTK+, but you must free the list
+         itself with @/g_list_free()/@ when you are done with it. -}
+styleContextListRegions context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_style_context_list_regions context'
+    result' <- unpackGList result
+    result'' <- mapM cstringToText result'
+    g_list_free result
+    touchManagedPtr context
+    return result''
+
+#if ENABLE_OVERLOADING
+data StyleContextListRegionsMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextListRegionsMethodInfo a signature where
+    overloadedMethod _ = styleContextListRegions
+
+#endif
+
+-- method StyleContext::lookup_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color name to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the looked up color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_lookup_color" gtk_style_context_lookup_color :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- color_name : TBasicType TUTF8
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO CInt
+
+{- |
+Looks up and resolves a color name in the /@context@/ color map.
+-}
+styleContextLookupColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@colorName@/: color name to lookup -}
+    -> m ((Bool, Gdk.RGBA.RGBA))
+    {- ^ __Returns:__ 'True' if /@colorName@/ was found and resolved, 'False' otherwise -}
+styleContextLookupColor context colorName = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    colorName' <- textToCString colorName
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    result <- gtk_style_context_lookup_color context' colorName' color
+    let result' = (/= 0) result
+    color' <- (wrapBoxed Gdk.RGBA.RGBA) color
+    touchManagedPtr context
+    freeMem colorName'
+    return (result', color')
+
+#if ENABLE_OVERLOADING
+data StyleContextLookupColorMethodInfo
+instance (signature ~ (T.Text -> m ((Bool, Gdk.RGBA.RGBA))), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextLookupColorMethodInfo a signature where
+    overloadedMethod _ = styleContextLookupColor
+
+#endif
+
+-- method StyleContext::lookup_icon_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an icon name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_lookup_icon_set" gtk_style_context_lookup_icon_set :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr Gtk.IconSet.IconSet)
+
+{-# DEPRECATED styleContextLookupIconSet ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.iconThemeLookupIcon' instead."] #-}
+{- |
+Looks up /@stockId@/ in the icon factories associated to /@context@/ and
+the default icon factory, returning an icon set if found, otherwise
+'Nothing'.
+-}
+styleContextLookupIconSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@stockId@/: an icon name -}
+    -> m (Maybe Gtk.IconSet.IconSet)
+    {- ^ __Returns:__ The looked up @/GtkIconSet/@, or 'Nothing' -}
+styleContextLookupIconSet context stockId = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    stockId' <- textToCString stockId
+    result <- gtk_style_context_lookup_icon_set context' stockId'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Gtk.IconSet.IconSet) result'
+        return result''
+    touchManagedPtr context
+    freeMem stockId'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data StyleContextLookupIconSetMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.IconSet.IconSet)), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextLookupIconSetMethodInfo a signature where
+    overloadedMethod _ = styleContextLookupIconSet
+
+#endif
+
+-- method StyleContext::notify_state_change
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region_id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "animatable region to notify on, or %NULL.\n    See gtk_style_context_push_animatable_region()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to trigger transition for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state_value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if @state is the state we are changing to,\n    %FALSE if we are changing away from it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_notify_state_change" gtk_style_context_notify_state_change :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    Ptr () ->                               -- region_id : TBasicType TPtr
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    CInt ->                                 -- state_value : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED styleContextNotifyStateChange ["(Since version 3.6)","This function does nothing."] #-}
+{- |
+Notifies a state change on /@context@/, so if the current style makes use
+of transition animations, one will be started so all rendered elements
+under /@regionId@/ are animated for state /@state@/ being set to value
+/@stateValue@/.
+
+The /@window@/ parameter is used in order to invalidate the rendered area
+as the animation runs, so make sure it is the same window that is being
+rendered on by the gtk_render_*() functions.
+
+If /@regionId@/ is 'Nothing', all rendered elements using /@context@/ will be
+affected by this state transition.
+
+As a practical example, a 'GI.Gtk.Objects.Button.Button' notifying a state transition on
+the prelight state:
+> <!-- language="C" -->
+>gtk_style_context_notify_state_change (context,
+>                                       gtk_widget_get_window (widget),
+>                                       NULL,
+>                                       GTK_STATE_PRELIGHT,
+>                                       button->in_button);
+
+
+Can be handled in the CSS file like this:
+> <!-- language="CSS" -->
+>button {
+>    background-color: #f00
+>}
+>
+>button:hover {
+>    background-color: #fff;
+>    transition: 200ms linear
+>}
+
+
+This combination will animate the button background from red to white
+if a pointer enters the button, and back to red if the pointer leaves
+the button.
+
+Note that /@state@/ is used when finding the transition parameters, which
+is why the style places the transition under the :hover pseudo-class.
+
+/Since: 3.0/
+-}
+styleContextNotifyStateChange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> b
+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}
+    -> Ptr ()
+    {- ^ /@regionId@/: animatable region to notify on, or 'Nothing'.
+    See 'GI.Gtk.Objects.StyleContext.styleContextPushAnimatableRegion' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: state to trigger transition for -}
+    -> Bool
+    {- ^ /@stateValue@/: 'True' if /@state@/ is the state we are changing to,
+    'False' if we are changing away from it -}
+    -> m ()
+styleContextNotifyStateChange context window regionId state stateValue = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    window' <- unsafeManagedPtrCastPtr window
+    let state' = (fromIntegral . fromEnum) state
+    let stateValue' = (fromIntegral . fromEnum) stateValue
+    gtk_style_context_notify_state_change context' window' regionId state' stateValue'
+    touchManagedPtr context
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextNotifyStateChangeMethodInfo
+instance (signature ~ (b -> Ptr () -> Gtk.Enums.StateType -> Bool -> m ()), MonadIO m, IsStyleContext a, Gdk.Window.IsWindow b) => O.MethodInfo StyleContextNotifyStateChangeMethodInfo a signature where
+    overloadedMethod _ = styleContextNotifyStateChange
+
+#endif
+
+-- method StyleContext::pop_animatable_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_pop_animatable_region" gtk_style_context_pop_animatable_region :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO ()
+
+{-# DEPRECATED styleContextPopAnimatableRegion ["(Since version 3.6)","This function does nothing."] #-}
+{- |
+Pops an animatable region from /@context@/.
+See 'GI.Gtk.Objects.StyleContext.styleContextPushAnimatableRegion'.
+
+/Since: 3.0/
+-}
+styleContextPopAnimatableRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m ()
+styleContextPopAnimatableRegion context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_style_context_pop_animatable_region context'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextPopAnimatableRegionMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextPopAnimatableRegionMethodInfo a signature where
+    overloadedMethod _ = styleContextPopAnimatableRegion
+
+#endif
+
+-- method StyleContext::push_animatable_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region_id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "unique identifier for the animatable region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_push_animatable_region" gtk_style_context_push_animatable_region :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr () ->                               -- region_id : TBasicType TPtr
+    IO ()
+
+{-# DEPRECATED styleContextPushAnimatableRegion ["(Since version 3.6)","This function does nothing."] #-}
+{- |
+Pushes an animatable region, so all further gtk_render_*() calls between
+this call and the following 'GI.Gtk.Objects.StyleContext.styleContextPopAnimatableRegion'
+will potentially show transition animations for this region if
+'GI.Gtk.Objects.StyleContext.styleContextNotifyStateChange' is called for a given state,
+and the current theme\/style defines transition animations for state
+changes.
+
+The /@regionId@/ used must be unique in /@context@/ so the themes
+can uniquely identify rendered elements subject to a state transition.
+
+/Since: 3.0/
+-}
+styleContextPushAnimatableRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Ptr ()
+    {- ^ /@regionId@/: unique identifier for the animatable region -}
+    -> m ()
+styleContextPushAnimatableRegion context regionId = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_style_context_push_animatable_region context' regionId
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextPushAnimatableRegionMethodInfo
+instance (signature ~ (Ptr () -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextPushAnimatableRegionMethodInfo a signature where
+    overloadedMethod _ = styleContextPushAnimatableRegion
+
+#endif
+
+-- method StyleContext::remove_class
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class name to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_remove_class" gtk_style_context_remove_class :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- class_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Removes /@className@/ from /@context@/.
+
+/Since: 3.0/
+-}
+styleContextRemoveClass ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@className@/: class name to remove -}
+    -> m ()
+styleContextRemoveClass context className = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    className' <- textToCString className
+    gtk_style_context_remove_class context' className'
+    touchManagedPtr context
+    freeMem className'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextRemoveClassMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextRemoveClassMethodInfo a signature where
+    overloadedMethod _ = styleContextRemoveClass
+
+#endif
+
+-- method StyleContext::remove_provider
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gtk", name = "StyleProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_remove_provider" gtk_style_context_remove_provider :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gtk.StyleProvider.StyleProvider ->  -- provider : TInterface (Name {namespace = "Gtk", name = "StyleProvider"})
+    IO ()
+
+{- |
+Removes /@provider@/ from the style providers list in /@context@/.
+
+/Since: 3.0/
+-}
+styleContextRemoveProvider ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a, Gtk.StyleProvider.IsStyleProvider b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> b
+    {- ^ /@provider@/: a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' -}
+    -> m ()
+styleContextRemoveProvider context provider = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    provider' <- unsafeManagedPtrCastPtr provider
+    gtk_style_context_remove_provider context' provider'
+    touchManagedPtr context
+    touchManagedPtr provider
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextRemoveProviderMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsStyleContext a, Gtk.StyleProvider.IsStyleProvider b) => O.MethodInfo StyleContextRemoveProviderMethodInfo a signature where
+    overloadedMethod _ = styleContextRemoveProvider
+
+#endif
+
+-- method StyleContext::remove_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_remove_region" gtk_style_context_remove_region :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CString ->                              -- region_name : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED styleContextRemoveRegion ["(Since version 3.14)"] #-}
+{- |
+Removes a region from /@context@/.
+
+/Since: 3.0/
+-}
+styleContextRemoveRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> T.Text
+    {- ^ /@regionName@/: region name to unset -}
+    -> m ()
+styleContextRemoveRegion context regionName = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    regionName' <- textToCString regionName
+    gtk_style_context_remove_region context' regionName'
+    touchManagedPtr context
+    freeMem regionName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextRemoveRegionMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextRemoveRegionMethodInfo a signature where
+    overloadedMethod _ = styleContextRemoveRegion
+
+#endif
+
+-- method StyleContext::restore
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_restore" gtk_style_context_restore :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO ()
+
+{- |
+Restores /@context@/ state to a previous stage.
+See 'GI.Gtk.Objects.StyleContext.styleContextSave'.
+
+/Since: 3.0/
+-}
+styleContextRestore ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m ()
+styleContextRestore context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_style_context_restore context'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextRestoreMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextRestoreMethodInfo a signature where
+    overloadedMethod _ = styleContextRestore
+
+#endif
+
+-- method StyleContext::save
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_save" gtk_style_context_save :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO ()
+
+{- |
+Saves the /@context@/ state, so temporary modifications done through
+'GI.Gtk.Objects.StyleContext.styleContextAddClass', 'GI.Gtk.Objects.StyleContext.styleContextRemoveClass',
+'GI.Gtk.Objects.StyleContext.styleContextSetState', etc. can quickly be reverted
+in one go through 'GI.Gtk.Objects.StyleContext.styleContextRestore'.
+
+The matching call to 'GI.Gtk.Objects.StyleContext.styleContextRestore' must be done
+before GTK returns to the main loop.
+
+/Since: 3.0/
+-}
+styleContextSave ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> m ()
+styleContextSave context = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_style_context_save context'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSaveMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextSaveMethodInfo a signature where
+    overloadedMethod _ = styleContextSave
+
+#endif
+
+-- method StyleContext::scroll_animations
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow used previously in\n         gtk_style_context_notify_state_change()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Amount to scroll in the X axis", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dy", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Amount to scroll in the Y axis", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_scroll_animations" gtk_style_context_scroll_animations :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    Int32 ->                                -- dx : TBasicType TInt
+    Int32 ->                                -- dy : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED styleContextScrollAnimations ["(Since version 3.6)","This function does nothing."] #-}
+{- |
+This function is analogous to 'GI.Gdk.Objects.Window.windowScroll', and
+should be called together with it so the invalidation
+areas for any ongoing animation are scrolled together
+with it.
+
+/Since: 3.0/
+-}
+styleContextScrollAnimations ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> b
+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' used previously in
+         'GI.Gtk.Objects.StyleContext.styleContextNotifyStateChange' -}
+    -> Int32
+    {- ^ /@dx@/: Amount to scroll in the X axis -}
+    -> Int32
+    {- ^ /@dy@/: Amount to scroll in the Y axis -}
+    -> m ()
+styleContextScrollAnimations context window dx dy = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_style_context_scroll_animations context' window' dx dy
+    touchManagedPtr context
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextScrollAnimationsMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsStyleContext a, Gdk.Window.IsWindow b) => O.MethodInfo StyleContextScrollAnimationsMethodInfo a signature where
+    overloadedMethod _ = styleContextScrollAnimations
+
+#endif
+
+-- method StyleContext::set_background
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_set_background" gtk_style_context_set_background :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO ()
+
+{-# DEPRECATED styleContextSetBackground ["(Since version 3.18)","Use 'GI.Gtk.Functions.renderBackground' instead.","  Note that clients still using this function are now responsible","  for calling this function again whenever /@context@/ is invalidated."] #-}
+{- |
+Sets the background of /@window@/ to the background pattern or
+color specified in /@context@/ for its current state.
+
+/Since: 3.0/
+-}
+styleContextSetBackground ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> b
+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}
+    -> m ()
+styleContextSetBackground context window = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_style_context_set_background context' window'
+    touchManagedPtr context
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSetBackgroundMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsStyleContext a, Gdk.Window.IsWindow b) => O.MethodInfo StyleContextSetBackgroundMethodInfo a signature where
+    overloadedMethod _ = styleContextSetBackground
+
+#endif
+
+-- method StyleContext::set_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "TextDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new direction.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_set_direction" gtk_style_context_set_direction :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+    IO ()
+
+{-# DEPRECATED styleContextSetDirection ["(Since version 3.8)","Use 'GI.Gtk.Objects.StyleContext.styleContextSetState' with","  @/GTK_STATE_FLAG_DIR_LTR/@ and @/GTK_STATE_FLAG_DIR_RTL/@","  instead."] #-}
+{- |
+Sets the reading direction for rendering purposes.
+
+If you are using a 'GI.Gtk.Objects.StyleContext.StyleContext' returned from
+'GI.Gtk.Objects.Widget.widgetGetStyleContext', you do not need to
+call this yourself.
+
+/Since: 3.0/
+-}
+styleContextSetDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Gtk.Enums.TextDirection
+    {- ^ /@direction@/: the new direction. -}
+    -> m ()
+styleContextSetDirection context direction = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let direction' = (fromIntegral . fromEnum) direction
+    gtk_style_context_set_direction context' direction'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSetDirectionMethodInfo
+instance (signature ~ (Gtk.Enums.TextDirection -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextSetDirectionMethodInfo a signature where
+    overloadedMethod _ = styleContextSetDirection
+
+#endif
+
+-- method StyleContext::set_frame_clock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "frame_clock", argType = TInterface (Name {namespace = "Gdk", name = "FrameClock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkFrameClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_set_frame_clock" gtk_style_context_set_frame_clock :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gdk.FrameClock.FrameClock ->        -- frame_clock : TInterface (Name {namespace = "Gdk", name = "FrameClock"})
+    IO ()
+
+{- |
+Attaches /@context@/ to the given frame clock.
+
+The frame clock is used for the timing of animations.
+
+If you are using a 'GI.Gtk.Objects.StyleContext.StyleContext' returned from
+'GI.Gtk.Objects.Widget.widgetGetStyleContext', you do not need to
+call this yourself.
+
+/Since: 3.8/
+-}
+styleContextSetFrameClock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a, Gdk.FrameClock.IsFrameClock b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}
+    -> b
+    {- ^ /@frameClock@/: a 'GI.Gdk.Objects.FrameClock.FrameClock' -}
+    -> m ()
+styleContextSetFrameClock context frameClock = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    frameClock' <- unsafeManagedPtrCastPtr frameClock
+    gtk_style_context_set_frame_clock context' frameClock'
+    touchManagedPtr context
+    touchManagedPtr frameClock
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSetFrameClockMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsStyleContext a, Gdk.FrameClock.IsFrameClock b) => O.MethodInfo StyleContextSetFrameClockMethodInfo a signature where
+    overloadedMethod _ = styleContextSetFrameClock
+
+#endif
+
+-- method StyleContext::set_junction_sides
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sides", argType = TInterface (Name {namespace = "Gtk", name = "JunctionSides"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "sides where rendered elements are visually connected to\n    other elements", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_set_junction_sides" gtk_style_context_set_junction_sides :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- sides : TInterface (Name {namespace = "Gtk", name = "JunctionSides"})
+    IO ()
+
+{- |
+Sets the sides where rendered elements (mostly through
+'GI.Gtk.Functions.renderFrame') will visually connect with other visual elements.
+
+This is merely a hint that may or may not be honored
+by themes.
+
+Container widgets are expected to set junction hints as appropriate
+for their children, so it should not normally be necessary to call
+this function manually.
+
+/Since: 3.0/
+-}
+styleContextSetJunctionSides ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.JunctionSides]
+    {- ^ /@sides@/: sides where rendered elements are visually connected to
+    other elements -}
+    -> m ()
+styleContextSetJunctionSides context sides = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let sides' = gflagsToWord sides
+    gtk_style_context_set_junction_sides context' sides'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSetJunctionSidesMethodInfo
+instance (signature ~ ([Gtk.Flags.JunctionSides] -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextSetJunctionSidesMethodInfo a signature where
+    overloadedMethod _ = styleContextSetJunctionSides
+
+#endif
+
+-- method StyleContext::set_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the new parent or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_set_parent" gtk_style_context_set_parent :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr StyleContext ->                     -- parent : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO ()
+
+{- |
+Sets the parent style context for /@context@/. The parent style
+context is used to implement
+<http://www.w3.org/TR/css3-cascade/#inheritance inheritance>
+of properties.
+
+If you are using a 'GI.Gtk.Objects.StyleContext.StyleContext' returned from
+'GI.Gtk.Objects.Widget.widgetGetStyleContext', the parent will be set for you.
+
+/Since: 3.4/
+-}
+styleContextSetParent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a, IsStyleContext b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Maybe (b)
+    {- ^ /@parent@/: the new parent or 'Nothing' -}
+    -> m ()
+styleContextSetParent context parent = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    gtk_style_context_set_parent context' maybeParent
+    touchManagedPtr context
+    whenJust parent touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSetParentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsStyleContext a, IsStyleContext b) => O.MethodInfo StyleContextSetParentMethodInfo a signature where
+    overloadedMethod _ = styleContextSetParent
+
+#endif
+
+-- method StyleContext::set_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_set_path" gtk_style_context_set_path :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gtk.WidgetPath.WidgetPath ->        -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Structs.WidgetPath.WidgetPath' used for style matching. As a
+consequence, the style will be regenerated to match
+the new given path.
+
+If you are using a 'GI.Gtk.Objects.StyleContext.StyleContext' returned from
+'GI.Gtk.Objects.Widget.widgetGetStyleContext', you do not need to call
+this yourself.
+
+/Since: 3.0/
+-}
+styleContextSetPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Gtk.WidgetPath.WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> m ()
+styleContextSetPath context path = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_style_context_set_path context' path'
+    touchManagedPtr context
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSetPathMethodInfo
+instance (signature ~ (Gtk.WidgetPath.WidgetPath -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextSetPathMethodInfo a signature where
+    overloadedMethod _ = styleContextSetPath
+
+#endif
+
+-- method StyleContext::set_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "scale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_set_scale" gtk_style_context_set_scale :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Int32 ->                                -- scale : TBasicType TInt
+    IO ()
+
+{- |
+Sets the scale to use when getting image assets for the style.
+
+/Since: 3.10/
+-}
+styleContextSetScale ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Int32
+    {- ^ /@scale@/: scale -}
+    -> m ()
+styleContextSetScale context scale = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    gtk_style_context_set_scale context' scale
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSetScaleMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextSetScaleMethodInfo a signature where
+    overloadedMethod _ = styleContextSetScale
+
+#endif
+
+-- method StyleContext::set_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_set_screen" gtk_style_context_set_screen :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO ()
+
+{- |
+Attaches /@context@/ to the given screen.
+
+The screen is used to add style information from “global” style
+providers, such as the screen’s 'GI.Gtk.Objects.Settings.Settings' instance.
+
+If you are using a 'GI.Gtk.Objects.StyleContext.StyleContext' returned from
+'GI.Gtk.Objects.Widget.widgetGetStyleContext', you do not need to
+call this yourself.
+
+/Since: 3.0/
+-}
+styleContextSetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a, Gdk.Screen.IsScreen b) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> b
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}
+    -> m ()
+styleContextSetScreen context screen = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    screen' <- unsafeManagedPtrCastPtr screen
+    gtk_style_context_set_screen context' screen'
+    touchManagedPtr context
+    touchManagedPtr screen
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSetScreenMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsStyleContext a, Gdk.Screen.IsScreen b) => O.MethodInfo StyleContextSetScreenMethodInfo a signature where
+    overloadedMethod _ = styleContextSetScreen
+
+#endif
+
+-- method StyleContext::set_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to represent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_set_state" gtk_style_context_set_state :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    IO ()
+
+{- |
+Sets the state to be used for style matching.
+
+/Since: 3.0/
+-}
+styleContextSetState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@flags@/: state to represent -}
+    -> m ()
+styleContextSetState context flags = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let flags' = gflagsToWord flags
+    gtk_style_context_set_state context' flags'
+    touchManagedPtr context
+    return ()
+
+#if ENABLE_OVERLOADING
+data StyleContextSetStateMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m ()), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextSetStateMethodInfo a signature where
+    overloadedMethod _ = styleContextSetState
+
+#endif
+
+-- method StyleContext::state_is_running
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the transition progress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_state_is_running" gtk_style_context_state_is_running :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr CDouble ->                          -- progress : TBasicType TDouble
+    IO CInt
+
+{-# DEPRECATED styleContextStateIsRunning ["(Since version 3.6)","This function always returns 'False'"] #-}
+{- |
+Returns 'True' if there is a transition animation running for the
+current region (see 'GI.Gtk.Objects.StyleContext.styleContextPushAnimatableRegion').
+
+If /@progress@/ is not 'Nothing', the animation progress will be returned
+there, 0.0 means the state is closest to being unset, while 1.0 means
+it’s closest to being set. This means transition animation will
+run from 0 to 1 when /@state@/ is being set and from 1 to 0 when
+it’s being unset.
+
+/Since: 3.0/
+-}
+styleContextStateIsRunning ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: a widget state -}
+    -> m ((Bool, Double))
+    {- ^ __Returns:__ 'True' if there is a running transition animation for /@state@/. -}
+styleContextStateIsRunning context state = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let state' = (fromIntegral . fromEnum) state
+    progress <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_style_context_state_is_running context' state' progress
+    let result' = (/= 0) result
+    progress' <- peek progress
+    let progress'' = realToFrac progress'
+    touchManagedPtr context
+    freeMem progress
+    return (result', progress'')
+
+#if ENABLE_OVERLOADING
+data StyleContextStateIsRunningMethodInfo
+instance (signature ~ (Gtk.Enums.StateType -> m ((Bool, Double))), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextStateIsRunningMethodInfo a signature where
+    overloadedMethod _ = styleContextStateIsRunning
+
+#endif
+
+-- method StyleContext::to_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "StyleContextPrintFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags that determine what to print", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_to_string" gtk_style_context_to_string :: 
+    Ptr StyleContext ->                     -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "StyleContextPrintFlags"})
+    IO CString
+
+{- |
+Converts the style context into a string representation.
+
+The string representation always includes information about
+the name, state, id, visibility and style classes of the CSS
+node that is backing /@context@/. Depending on the flags, more
+information may be included.
+
+This function is intended for testing and debugging of the
+CSS implementation in GTK+. There are no guarantees about
+the format of the returned string, it may change.
+
+/Since: 3.20/
+-}
+styleContextToString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleContext a) =>
+    a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> [Gtk.Flags.StyleContextPrintFlags]
+    {- ^ /@flags@/: Flags that determine what to print -}
+    -> m T.Text
+    {- ^ __Returns:__ a newly allocated string representing /@context@/ -}
+styleContextToString context flags = liftIO $ do
+    context' <- unsafeManagedPtrCastPtr context
+    let flags' = gflagsToWord flags
+    result <- gtk_style_context_to_string context' flags'
+    checkUnexpectedReturnNULL "styleContextToString" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data StyleContextToStringMethodInfo
+instance (signature ~ ([Gtk.Flags.StyleContextPrintFlags] -> m T.Text), MonadIO m, IsStyleContext a) => O.MethodInfo StyleContextToStringMethodInfo a signature where
+    overloadedMethod _ = styleContextToString
+
+#endif
+
+-- method StyleContext::add_provider_for_screen
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gtk", name = "StyleProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the style provider. The lower\n           it is, the earlier it will be used in the style\n           construction. Typically this will be in the range\n           between %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and\n           %GTK_STYLE_PROVIDER_PRIORITY_USER", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_add_provider_for_screen" gtk_style_context_add_provider_for_screen :: 
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    Ptr Gtk.StyleProvider.StyleProvider ->  -- provider : TInterface (Name {namespace = "Gtk", name = "StyleProvider"})
+    Word32 ->                               -- priority : TBasicType TUInt
+    IO ()
+
+{- |
+Adds a global style provider to /@screen@/, which will be used
+in style construction for all @/GtkStyleContexts/@ under /@screen@/.
+
+GTK+ uses this to make styling information from 'GI.Gtk.Objects.Settings.Settings'
+available.
+
+Note: If both priorities are the same, A 'GI.Gtk.Interfaces.StyleProvider.StyleProvider'
+added through 'GI.Gtk.Objects.StyleContext.styleContextAddProvider' takes precedence
+over another added through this function.
+
+/Since: 3.0/
+-}
+styleContextAddProviderForScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a, Gtk.StyleProvider.IsStyleProvider b) =>
+    a
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}
+    -> b
+    {- ^ /@provider@/: a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' -}
+    -> Word32
+    {- ^ /@priority@/: the priority of the style provider. The lower
+           it is, the earlier it will be used in the style
+           construction. Typically this will be in the range
+           between 'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_FALLBACK' and
+           'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_USER' -}
+    -> m ()
+styleContextAddProviderForScreen screen provider priority = liftIO $ do
+    screen' <- unsafeManagedPtrCastPtr screen
+    provider' <- unsafeManagedPtrCastPtr provider
+    gtk_style_context_add_provider_for_screen screen' provider' priority
+    touchManagedPtr screen
+    touchManagedPtr provider
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StyleContext::remove_provider_for_screen
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gtk", name = "StyleProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_remove_provider_for_screen" gtk_style_context_remove_provider_for_screen :: 
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    Ptr Gtk.StyleProvider.StyleProvider ->  -- provider : TInterface (Name {namespace = "Gtk", name = "StyleProvider"})
+    IO ()
+
+{- |
+Removes /@provider@/ from the global style providers list in /@screen@/.
+
+/Since: 3.0/
+-}
+styleContextRemoveProviderForScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a, Gtk.StyleProvider.IsStyleProvider b) =>
+    a
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}
+    -> b
+    {- ^ /@provider@/: a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' -}
+    -> m ()
+styleContextRemoveProviderForScreen screen provider = liftIO $ do
+    screen' <- unsafeManagedPtrCastPtr screen
+    provider' <- unsafeManagedPtrCastPtr provider
+    gtk_style_context_remove_provider_for_screen screen' provider'
+    touchManagedPtr screen
+    touchManagedPtr provider
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StyleContext::reset_widgets
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_context_reset_widgets" gtk_style_context_reset_widgets :: 
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO ()
+
+{- |
+This function recomputes the styles for all widgets under a particular
+'GI.Gdk.Objects.Screen.Screen'. This is useful when some global parameter has changed that
+affects the appearance of all widgets, because when a widget gets a new
+style, it will both redraw and recompute any cached information about
+its appearance. As an example, it is used when the color scheme changes
+in the related 'GI.Gtk.Objects.Settings.Settings' object.
+
+/Since: 3.0/
+-}
+styleContextResetWidgets ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>
+    a
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' -}
+    -> m ()
+styleContextResetWidgets screen = liftIO $ do
+    screen' <- unsafeManagedPtrCastPtr screen
+    gtk_style_context_reset_widgets screen'
+    touchManagedPtr screen
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/StyleContext.hs-boot b/GI/Gtk/Objects/StyleContext.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StyleContext.hs-boot
@@ -0,0 +1,191 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.StyleContext where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype StyleContext = StyleContext (ManagedPtr StyleContext)
+instance GObject StyleContext where
+class (GObject o, O.IsDescendantOf StyleContext o) => IsStyleContext o
+instance (GObject o, O.IsDescendantOf StyleContext o) => IsStyleContext o
+instance O.HasParentTypes StyleContext
+#if ENABLE_OVERLOADING
+data StyleContextDirectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextPaintClockPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextParentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextScreenPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextAddClassMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextAddProviderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextAddRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextCancelAnimationsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetBackgroundColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetBorderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetBorderColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetFontMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetFrameClockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetJunctionSidesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetScaleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetSectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextGetStylePropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextHasClassMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextHasRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextInvalidateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextListClassesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextListRegionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextLookupColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextLookupIconSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextNotifyStateChangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextPopAnimatableRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextPushAnimatableRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextRemoveClassMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextRemoveProviderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextRemoveRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextRestoreMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSaveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextScrollAnimationsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSetBackgroundMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSetDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSetFrameClockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSetJunctionSidesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSetParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSetPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSetScaleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextSetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextStateIsRunningMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StyleContextToStringMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/StyleProperties.hs b/GI/Gtk/Objects/StyleProperties.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StyleProperties.hs
@@ -0,0 +1,559 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkStyleProperties provides the storage for style information
+that is used by 'GI.Gtk.Objects.StyleContext.StyleContext' and other 'GI.Gtk.Interfaces.StyleProvider.StyleProvider'
+implementations.
+
+Before style properties can be stored in GtkStyleProperties, they
+must be registered with @/gtk_style_properties_register_property()/@.
+
+Unless you are writing a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' implementation, you
+are unlikely to use this API directly, as @/gtk_style_context_get()/@
+and its variants are the preferred way to access styling information
+from widget implementations and theming engine implementations
+should use the APIs provided by 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' instead.
+
+'GI.Gtk.Objects.StyleProperties.StyleProperties' has been deprecated in GTK 3.16. The CSS
+machinery does not use it anymore and all users of this object
+have been deprecated.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.StyleProperties
+    ( 
+
+-- * Exported types
+    StyleProperties(..)                     ,
+    IsStyleProperties                       ,
+    toStyleProperties                       ,
+    noStyleProperties                       ,
+
+
+ -- * Methods
+-- ** clear #method:clear#
+
+#if ENABLE_OVERLOADING
+    StylePropertiesClearMethodInfo          ,
+#endif
+    stylePropertiesClear                    ,
+
+
+-- ** getProperty #method:getProperty#
+
+#if ENABLE_OVERLOADING
+    StylePropertiesGetPropertyMethodInfo    ,
+#endif
+    stylePropertiesGetProperty              ,
+
+
+-- ** lookupColor #method:lookupColor#
+
+#if ENABLE_OVERLOADING
+    StylePropertiesLookupColorMethodInfo    ,
+#endif
+    stylePropertiesLookupColor              ,
+
+
+-- ** mapColor #method:mapColor#
+
+#if ENABLE_OVERLOADING
+    StylePropertiesMapColorMethodInfo       ,
+#endif
+    stylePropertiesMapColor                 ,
+
+
+-- ** merge #method:merge#
+
+#if ENABLE_OVERLOADING
+    StylePropertiesMergeMethodInfo          ,
+#endif
+    stylePropertiesMerge                    ,
+
+
+-- ** new #method:new#
+
+    stylePropertiesNew                      ,
+
+
+-- ** setProperty #method:setProperty#
+
+#if ENABLE_OVERLOADING
+    StylePropertiesSetPropertyMethodInfo    ,
+#endif
+    stylePropertiesSetProperty              ,
+
+
+-- ** unsetProperty #method:unsetProperty#
+
+#if ENABLE_OVERLOADING
+    StylePropertiesUnsetPropertyMethodInfo  ,
+#endif
+    stylePropertiesUnsetProperty            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.StyleProvider as Gtk.StyleProvider
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SymbolicColor as Gtk.SymbolicColor
+
+-- | Memory-managed wrapper type.
+newtype StyleProperties = StyleProperties (ManagedPtr StyleProperties)
+foreign import ccall "gtk_style_properties_get_type"
+    c_gtk_style_properties_get_type :: IO GType
+
+instance GObject StyleProperties where
+    gobjectType = c_gtk_style_properties_get_type
+    
+
+-- | Type class for types which can be safely cast to `StyleProperties`, for instance with `toStyleProperties`.
+class (GObject o, O.IsDescendantOf StyleProperties o) => IsStyleProperties o
+instance (GObject o, O.IsDescendantOf StyleProperties o) => IsStyleProperties o
+
+instance O.HasParentTypes StyleProperties
+type instance O.ParentTypes StyleProperties = '[GObject.Object.Object, Gtk.StyleProvider.StyleProvider]
+
+-- | Cast to `StyleProperties`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toStyleProperties :: (MonadIO m, IsStyleProperties o) => o -> m StyleProperties
+toStyleProperties = liftIO . unsafeCastTo StyleProperties
+
+-- | A convenience alias for `Nothing` :: `Maybe` `StyleProperties`.
+noStyleProperties :: Maybe StyleProperties
+noStyleProperties = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveStylePropertiesMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStylePropertiesMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveStylePropertiesMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveStylePropertiesMethod "clear" o = StylePropertiesClearMethodInfo
+    ResolveStylePropertiesMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveStylePropertiesMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveStylePropertiesMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveStylePropertiesMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveStylePropertiesMethod "lookupColor" o = StylePropertiesLookupColorMethodInfo
+    ResolveStylePropertiesMethod "mapColor" o = StylePropertiesMapColorMethodInfo
+    ResolveStylePropertiesMethod "merge" o = StylePropertiesMergeMethodInfo
+    ResolveStylePropertiesMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveStylePropertiesMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveStylePropertiesMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveStylePropertiesMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveStylePropertiesMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveStylePropertiesMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveStylePropertiesMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveStylePropertiesMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveStylePropertiesMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveStylePropertiesMethod "unsetProperty" o = StylePropertiesUnsetPropertyMethodInfo
+    ResolveStylePropertiesMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveStylePropertiesMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveStylePropertiesMethod "getIconFactory" o = Gtk.StyleProvider.StyleProviderGetIconFactoryMethodInfo
+    ResolveStylePropertiesMethod "getProperty" o = StylePropertiesGetPropertyMethodInfo
+    ResolveStylePropertiesMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveStylePropertiesMethod "getStyle" o = Gtk.StyleProvider.StyleProviderGetStyleMethodInfo
+    ResolveStylePropertiesMethod "getStyleProperty" o = Gtk.StyleProvider.StyleProviderGetStylePropertyMethodInfo
+    ResolveStylePropertiesMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveStylePropertiesMethod "setProperty" o = StylePropertiesSetPropertyMethodInfo
+    ResolveStylePropertiesMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStylePropertiesMethod t StyleProperties, O.MethodInfo info StyleProperties p) => OL.IsLabel t (StyleProperties -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList StyleProperties
+type instance O.AttributeList StyleProperties = StylePropertiesAttributeList
+type StylePropertiesAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList StyleProperties = StylePropertiesSignalList
+type StylePropertiesSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method StyleProperties::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StyleProperties"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_properties_new" gtk_style_properties_new :: 
+    IO (Ptr StyleProperties)
+
+{-# DEPRECATED stylePropertiesNew ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
+{- |
+Returns a newly created 'GI.Gtk.Objects.StyleProperties.StyleProperties'
+-}
+stylePropertiesNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m StyleProperties
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
+stylePropertiesNew  = liftIO $ do
+    result <- gtk_style_properties_new
+    checkUnexpectedReturnNULL "stylePropertiesNew" result
+    result' <- (wrapObject StyleProperties) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method StyleProperties::clear
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_properties_clear" gtk_style_properties_clear :: 
+    Ptr StyleProperties ->                  -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    IO ()
+
+{-# DEPRECATED stylePropertiesClear ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
+{- |
+Clears all style information from /@props@/.
+-}
+stylePropertiesClear ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
+    a
+    {- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
+    -> m ()
+stylePropertiesClear props = liftIO $ do
+    props' <- unsafeManagedPtrCastPtr props
+    gtk_style_properties_clear props'
+    touchManagedPtr props
+    return ()
+
+#if ENABLE_OVERLOADING
+data StylePropertiesClearMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesClearMethodInfo a signature where
+    overloadedMethod _ = stylePropertiesClear
+
+#endif
+
+-- method StyleProperties::get_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "style property name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the property value for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the style property value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_properties_get_property" gtk_style_properties_get_property :: 
+    Ptr StyleProperties ->                  -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    CString ->                              -- property : TBasicType TUTF8
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO CInt
+
+{-# DEPRECATED stylePropertiesGetProperty ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
+{- |
+Gets a style property from /@props@/ for the given state. When done with /@value@/,
+'GI.GObject.Structs.Value.valueUnset' needs to be called to free any allocated memory.
+
+/Since: 3.0/
+-}
+stylePropertiesGetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
+    a
+    {- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
+    -> T.Text
+    {- ^ /@property@/: style property name -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the property value for -}
+    -> m ((Bool, GValue))
+    {- ^ __Returns:__ 'True' if the property exists in /@props@/, 'False' otherwise -}
+stylePropertiesGetProperty props property state = liftIO $ do
+    props' <- unsafeManagedPtrCastPtr props
+    property' <- textToCString property
+    let state' = gflagsToWord state
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    result <- gtk_style_properties_get_property props' property' state' value
+    let result' = (/= 0) result
+    value' <- (wrapBoxed GValue) value
+    touchManagedPtr props
+    freeMem property'
+    return (result', value')
+
+#if ENABLE_OVERLOADING
+data StylePropertiesGetPropertyMethodInfo
+instance (signature ~ (T.Text -> [Gtk.Flags.StateFlags] -> m ((Bool, GValue))), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesGetPropertyMethodInfo a signature where
+    overloadedMethod _ = stylePropertiesGetProperty
+
+#endif
+
+-- method StyleProperties::lookup_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color name to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_properties_lookup_color" gtk_style_properties_lookup_color :: 
+    Ptr StyleProperties ->                  -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr Gtk.SymbolicColor.SymbolicColor)
+
+{-# DEPRECATED stylePropertiesLookupColor ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Returns the symbolic color that is mapped
+to /@name@/.
+
+/Since: 3.0/
+-}
+stylePropertiesLookupColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
+    a
+    {- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
+    -> T.Text
+    {- ^ /@name@/: color name to lookup -}
+    -> m Gtk.SymbolicColor.SymbolicColor
+    {- ^ __Returns:__ The mapped color -}
+stylePropertiesLookupColor props name = liftIO $ do
+    props' <- unsafeManagedPtrCastPtr props
+    name' <- textToCString name
+    result <- gtk_style_properties_lookup_color props' name'
+    checkUnexpectedReturnNULL "stylePropertiesLookupColor" result
+    result' <- (newBoxed Gtk.SymbolicColor.SymbolicColor) result
+    touchManagedPtr props
+    freeMem name'
+    return result'
+
+#if ENABLE_OVERLOADING
+data StylePropertiesLookupColorMethodInfo
+instance (signature ~ (T.Text -> m Gtk.SymbolicColor.SymbolicColor), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesLookupColorMethodInfo a signature where
+    overloadedMethod _ = stylePropertiesLookupColor
+
+#endif
+
+-- method StyleProperties::map_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkSymbolicColor to map @name to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_properties_map_color" gtk_style_properties_map_color :: 
+    Ptr StyleProperties ->                  -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr Gtk.SymbolicColor.SymbolicColor ->  -- color : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    IO ()
+
+{-# DEPRECATED stylePropertiesMapColor ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Maps /@color@/ so it can be referenced by /@name@/. See
+'GI.Gtk.Objects.StyleProperties.stylePropertiesLookupColor'
+
+/Since: 3.0/
+-}
+stylePropertiesMapColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
+    a
+    {- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
+    -> T.Text
+    {- ^ /@name@/: color name -}
+    -> Gtk.SymbolicColor.SymbolicColor
+    {- ^ /@color@/: 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' to map /@name@/ to -}
+    -> m ()
+stylePropertiesMapColor props name color = liftIO $ do
+    props' <- unsafeManagedPtrCastPtr props
+    name' <- textToCString name
+    color' <- unsafeManagedPtrGetPtr color
+    gtk_style_properties_map_color props' name' color'
+    touchManagedPtr props
+    touchManagedPtr color
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StylePropertiesMapColorMethodInfo
+instance (signature ~ (T.Text -> Gtk.SymbolicColor.SymbolicColor -> m ()), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesMapColorMethodInfo a signature where
+    overloadedMethod _ = stylePropertiesMapColor
+
+#endif
+
+-- method StyleProperties::merge
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "props_to_merge", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a second #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replace", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to replace values or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_properties_merge" gtk_style_properties_merge :: 
+    Ptr StyleProperties ->                  -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    Ptr StyleProperties ->                  -- props_to_merge : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    CInt ->                                 -- replace : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED stylePropertiesMerge ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
+{- |
+Merges into /@props@/ all the style information contained
+in /@propsToMerge@/. If /@replace@/ is 'True', the values
+will be overwritten, if it is 'False', the older values
+will prevail.
+
+/Since: 3.0/
+-}
+stylePropertiesMerge ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a, IsStyleProperties b) =>
+    a
+    {- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
+    -> b
+    {- ^ /@propsToMerge@/: a second 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
+    -> Bool
+    {- ^ /@replace@/: whether to replace values or not -}
+    -> m ()
+stylePropertiesMerge props propsToMerge replace = liftIO $ do
+    props' <- unsafeManagedPtrCastPtr props
+    propsToMerge' <- unsafeManagedPtrCastPtr propsToMerge
+    let replace' = (fromIntegral . fromEnum) replace
+    gtk_style_properties_merge props' propsToMerge' replace'
+    touchManagedPtr props
+    touchManagedPtr propsToMerge
+    return ()
+
+#if ENABLE_OVERLOADING
+data StylePropertiesMergeMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsStyleProperties a, IsStyleProperties b) => O.MethodInfo StylePropertiesMergeMethodInfo a signature where
+    overloadedMethod _ = stylePropertiesMerge
+
+#endif
+
+-- method StyleProperties::set_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "styling property to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to set the value for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new value for the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_properties_set_property" gtk_style_properties_set_property :: 
+    Ptr StyleProperties ->                  -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    CString ->                              -- property : TBasicType TUTF8
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{-# DEPRECATED stylePropertiesSetProperty ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
+{- |
+Sets a styling property in /@props@/.
+
+/Since: 3.0/
+-}
+stylePropertiesSetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
+    a
+    {- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
+    -> T.Text
+    {- ^ /@property@/: styling property to set -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to set the value for -}
+    -> GValue
+    {- ^ /@value@/: new value for the property -}
+    -> m ()
+stylePropertiesSetProperty props property state value = liftIO $ do
+    props' <- unsafeManagedPtrCastPtr props
+    property' <- textToCString property
+    let state' = gflagsToWord state
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_style_properties_set_property props' property' state' value'
+    touchManagedPtr props
+    touchManagedPtr value
+    freeMem property'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StylePropertiesSetPropertyMethodInfo
+instance (signature ~ (T.Text -> [Gtk.Flags.StateFlags] -> GValue -> m ()), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesSetPropertyMethodInfo a signature where
+    overloadedMethod _ = stylePropertiesSetProperty
+
+#endif
+
+-- method StyleProperties::unset_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "property to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_style_properties_unset_property" gtk_style_properties_unset_property :: 
+    Ptr StyleProperties ->                  -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    CString ->                              -- property : TBasicType TUTF8
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    IO ()
+
+{-# DEPRECATED stylePropertiesUnsetProperty ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
+{- |
+Unsets a style property in /@props@/.
+
+/Since: 3.0/
+-}
+stylePropertiesUnsetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
+    a
+    {- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
+    -> T.Text
+    {- ^ /@property@/: property to unset -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to unset -}
+    -> m ()
+stylePropertiesUnsetProperty props property state = liftIO $ do
+    props' <- unsafeManagedPtrCastPtr props
+    property' <- textToCString property
+    let state' = gflagsToWord state
+    gtk_style_properties_unset_property props' property' state'
+    touchManagedPtr props
+    freeMem property'
+    return ()
+
+#if ENABLE_OVERLOADING
+data StylePropertiesUnsetPropertyMethodInfo
+instance (signature ~ (T.Text -> [Gtk.Flags.StateFlags] -> m ()), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesUnsetPropertyMethodInfo a signature where
+    overloadedMethod _ = stylePropertiesUnsetProperty
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/StyleProperties.hs-boot b/GI/Gtk/Objects/StyleProperties.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/StyleProperties.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.StyleProperties where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype StyleProperties = StyleProperties (ManagedPtr StyleProperties)
+instance GObject StyleProperties where
+class (GObject o, O.IsDescendantOf StyleProperties o) => IsStyleProperties o
+instance (GObject o, O.IsDescendantOf StyleProperties o) => IsStyleProperties o
+instance O.HasParentTypes StyleProperties
+#if ENABLE_OVERLOADING
+data StylePropertiesClearMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StylePropertiesGetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StylePropertiesLookupColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StylePropertiesMapColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StylePropertiesMergeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StylePropertiesSetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data StylePropertiesUnsetPropertyMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Switch.hs b/GI/Gtk/Objects/Switch.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Switch.hs
@@ -0,0 +1,991 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.Switch.Switch' is a widget that has two states: on or off. The user can control
+which state should be active by clicking the empty area, or by dragging the
+handle.
+
+GtkSwitch can also handle situations where the underlying state changes with
+a delay. See 'GI.Gtk.Objects.Switch.Switch'::@/state-set/@ for details.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>switch
+>╰── slider
+
+
+GtkSwitch has two css nodes, the main node with the name switch and a subnode
+named slider. Neither of them is using any style classes.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Switch
+    ( 
+
+-- * Exported types
+    Switch(..)                              ,
+    IsSwitch                                ,
+    toSwitch                                ,
+    noSwitch                                ,
+
+
+ -- * Methods
+-- ** getActive #method:getActive#
+
+#if ENABLE_OVERLOADING
+    SwitchGetActiveMethodInfo               ,
+#endif
+    switchGetActive                         ,
+
+
+-- ** getState #method:getState#
+
+#if ENABLE_OVERLOADING
+    SwitchGetStateMethodInfo                ,
+#endif
+    switchGetState                          ,
+
+
+-- ** new #method:new#
+
+    switchNew                               ,
+
+
+-- ** setActive #method:setActive#
+
+#if ENABLE_OVERLOADING
+    SwitchSetActiveMethodInfo               ,
+#endif
+    switchSetActive                         ,
+
+
+-- ** setState #method:setState#
+
+#if ENABLE_OVERLOADING
+    SwitchSetStateMethodInfo                ,
+#endif
+    switchSetState                          ,
+
+
+
+
+ -- * Properties
+-- ** active #attr:active#
+{- | Whether the 'GI.Gtk.Objects.Switch.Switch' widget is in its on or off state.
+-}
+#if ENABLE_OVERLOADING
+    SwitchActivePropertyInfo                ,
+#endif
+    constructSwitchActive                   ,
+    getSwitchActive                         ,
+    setSwitchActive                         ,
+#if ENABLE_OVERLOADING
+    switchActive                            ,
+#endif
+
+
+-- ** state #attr:state#
+{- | The backend state that is controlled by the switch.
+See 'GI.Gtk.Objects.Switch.Switch'::@/state-set/@ for details.
+
+/Since: 3.14/
+-}
+#if ENABLE_OVERLOADING
+    SwitchStatePropertyInfo                 ,
+#endif
+    constructSwitchState                    ,
+    getSwitchState                          ,
+    setSwitchState                          ,
+#if ENABLE_OVERLOADING
+    switchState                             ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** activate #signal:activate#
+
+    C_SwitchActivateCallback                ,
+    SwitchActivateCallback                  ,
+#if ENABLE_OVERLOADING
+    SwitchActivateSignalInfo                ,
+#endif
+    afterSwitchActivate                     ,
+    genClosure_SwitchActivate               ,
+    mk_SwitchActivateCallback               ,
+    noSwitchActivateCallback                ,
+    onSwitchActivate                        ,
+    wrap_SwitchActivateCallback             ,
+
+
+-- ** stateSet #signal:stateSet#
+
+    C_SwitchStateSetCallback                ,
+    SwitchStateSetCallback                  ,
+#if ENABLE_OVERLOADING
+    SwitchStateSetSignalInfo                ,
+#endif
+    afterSwitchStateSet                     ,
+    genClosure_SwitchStateSet               ,
+    mk_SwitchStateSetCallback               ,
+    noSwitchStateSetCallback                ,
+    onSwitchStateSet                        ,
+    wrap_SwitchStateSetCallback             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Switch = Switch (ManagedPtr Switch)
+foreign import ccall "gtk_switch_get_type"
+    c_gtk_switch_get_type :: IO GType
+
+instance GObject Switch where
+    gobjectType = c_gtk_switch_get_type
+    
+
+-- | Type class for types which can be safely cast to `Switch`, for instance with `toSwitch`.
+class (GObject o, O.IsDescendantOf Switch o) => IsSwitch o
+instance (GObject o, O.IsDescendantOf Switch o) => IsSwitch o
+
+instance O.HasParentTypes Switch
+type instance O.ParentTypes Switch = '[Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `Switch`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSwitch :: (MonadIO m, IsSwitch o) => o -> m Switch
+toSwitch = liftIO . unsafeCastTo Switch
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Switch`.
+noSwitch :: Maybe Switch
+noSwitch = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSwitchMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSwitchMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveSwitchMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveSwitchMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveSwitchMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveSwitchMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveSwitchMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveSwitchMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveSwitchMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSwitchMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSwitchMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveSwitchMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveSwitchMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveSwitchMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveSwitchMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveSwitchMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveSwitchMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveSwitchMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveSwitchMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveSwitchMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveSwitchMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveSwitchMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveSwitchMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveSwitchMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveSwitchMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveSwitchMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveSwitchMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveSwitchMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveSwitchMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveSwitchMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveSwitchMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveSwitchMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveSwitchMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveSwitchMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveSwitchMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveSwitchMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveSwitchMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveSwitchMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveSwitchMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveSwitchMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveSwitchMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveSwitchMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveSwitchMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveSwitchMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveSwitchMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveSwitchMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveSwitchMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveSwitchMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveSwitchMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveSwitchMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveSwitchMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveSwitchMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveSwitchMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveSwitchMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveSwitchMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveSwitchMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveSwitchMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveSwitchMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSwitchMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveSwitchMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSwitchMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSwitchMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveSwitchMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveSwitchMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveSwitchMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveSwitchMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveSwitchMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveSwitchMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveSwitchMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveSwitchMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveSwitchMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveSwitchMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveSwitchMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveSwitchMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveSwitchMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveSwitchMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveSwitchMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveSwitchMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveSwitchMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveSwitchMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveSwitchMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveSwitchMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSwitchMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveSwitchMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveSwitchMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveSwitchMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveSwitchMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveSwitchMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveSwitchMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveSwitchMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveSwitchMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveSwitchMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveSwitchMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveSwitchMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveSwitchMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveSwitchMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveSwitchMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveSwitchMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveSwitchMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveSwitchMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSwitchMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSwitchMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveSwitchMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveSwitchMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveSwitchMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveSwitchMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveSwitchMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveSwitchMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveSwitchMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveSwitchMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveSwitchMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveSwitchMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveSwitchMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveSwitchMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveSwitchMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveSwitchMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveSwitchMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSwitchMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSwitchMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveSwitchMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveSwitchMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveSwitchMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveSwitchMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveSwitchMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveSwitchMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveSwitchMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveSwitchMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveSwitchMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveSwitchMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSwitchMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveSwitchMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveSwitchMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveSwitchMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveSwitchMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveSwitchMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveSwitchMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveSwitchMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveSwitchMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveSwitchMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSwitchMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSwitchMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveSwitchMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveSwitchMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveSwitchMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveSwitchMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSwitchMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveSwitchMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveSwitchMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveSwitchMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveSwitchMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveSwitchMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSwitchMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveSwitchMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveSwitchMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSwitchMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveSwitchMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveSwitchMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveSwitchMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveSwitchMethod "getActive" o = SwitchGetActiveMethodInfo
+    ResolveSwitchMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveSwitchMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveSwitchMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveSwitchMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveSwitchMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveSwitchMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveSwitchMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveSwitchMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveSwitchMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveSwitchMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveSwitchMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveSwitchMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveSwitchMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveSwitchMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveSwitchMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSwitchMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveSwitchMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveSwitchMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveSwitchMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveSwitchMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveSwitchMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveSwitchMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveSwitchMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveSwitchMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveSwitchMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveSwitchMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveSwitchMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveSwitchMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveSwitchMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveSwitchMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveSwitchMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveSwitchMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveSwitchMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveSwitchMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveSwitchMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveSwitchMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveSwitchMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveSwitchMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveSwitchMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveSwitchMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveSwitchMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveSwitchMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveSwitchMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveSwitchMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveSwitchMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveSwitchMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveSwitchMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveSwitchMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveSwitchMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveSwitchMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveSwitchMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveSwitchMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveSwitchMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveSwitchMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveSwitchMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSwitchMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSwitchMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveSwitchMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveSwitchMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveSwitchMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveSwitchMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveSwitchMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveSwitchMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveSwitchMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveSwitchMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveSwitchMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveSwitchMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveSwitchMethod "getState" o = SwitchGetStateMethodInfo
+    ResolveSwitchMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveSwitchMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveSwitchMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveSwitchMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveSwitchMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveSwitchMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveSwitchMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveSwitchMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveSwitchMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveSwitchMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveSwitchMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveSwitchMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveSwitchMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveSwitchMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveSwitchMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveSwitchMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveSwitchMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveSwitchMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveSwitchMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveSwitchMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveSwitchMethod "setActive" o = SwitchSetActiveMethodInfo
+    ResolveSwitchMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveSwitchMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveSwitchMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveSwitchMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveSwitchMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveSwitchMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveSwitchMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveSwitchMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveSwitchMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSwitchMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveSwitchMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveSwitchMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveSwitchMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveSwitchMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveSwitchMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveSwitchMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveSwitchMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveSwitchMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveSwitchMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveSwitchMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveSwitchMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveSwitchMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveSwitchMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveSwitchMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveSwitchMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveSwitchMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveSwitchMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveSwitchMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveSwitchMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveSwitchMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveSwitchMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveSwitchMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveSwitchMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveSwitchMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveSwitchMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveSwitchMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSwitchMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveSwitchMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveSwitchMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveSwitchMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveSwitchMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveSwitchMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveSwitchMethod "setState" o = SwitchSetStateMethodInfo
+    ResolveSwitchMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveSwitchMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveSwitchMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveSwitchMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveSwitchMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveSwitchMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveSwitchMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveSwitchMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveSwitchMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveSwitchMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveSwitchMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveSwitchMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveSwitchMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveSwitchMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSwitchMethod t Switch, O.MethodInfo info Switch p) => OL.IsLabel t (Switch -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Switch::activate
+{- |
+The ::activate signal on GtkSwitch is an action signal and
+emitting it causes the switch to animate.
+Applications should never connect to this signal, but use the
+notify::active signal.
+-}
+type SwitchActivateCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SwitchActivateCallback`@.
+noSwitchActivateCallback :: Maybe SwitchActivateCallback
+noSwitchActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SwitchActivateCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_SwitchActivateCallback`.
+foreign import ccall "wrapper"
+    mk_SwitchActivateCallback :: C_SwitchActivateCallback -> IO (FunPtr C_SwitchActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SwitchActivate :: MonadIO m => SwitchActivateCallback -> m (GClosure C_SwitchActivateCallback)
+genClosure_SwitchActivate cb = liftIO $ do
+    let cb' = wrap_SwitchActivateCallback cb
+    mk_SwitchActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SwitchActivateCallback` into a `C_SwitchActivateCallback`.
+wrap_SwitchActivateCallback ::
+    SwitchActivateCallback ->
+    C_SwitchActivateCallback
+wrap_SwitchActivateCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' switch #activate callback
+@
+-}
+onSwitchActivate :: (IsSwitch a, MonadIO m) => a -> SwitchActivateCallback -> m SignalHandlerId
+onSwitchActivate obj cb = liftIO $ do
+    let cb' = wrap_SwitchActivateCallback cb
+    cb'' <- mk_SwitchActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' switch #activate callback
+@
+-}
+afterSwitchActivate :: (IsSwitch a, MonadIO m) => a -> SwitchActivateCallback -> m SignalHandlerId
+afterSwitchActivate obj cb = liftIO $ do
+    let cb' = wrap_SwitchActivateCallback cb
+    cb'' <- mk_SwitchActivateCallback cb'
+    connectSignalFunPtr obj "activate" cb'' SignalConnectAfter
+
+
+-- signal Switch::state-set
+{- |
+The ::state-set signal on GtkSwitch is emitted to change the underlying
+state. It is emitted when the user changes the switch position. The
+default handler keeps the state in sync with the 'GI.Gtk.Objects.Switch.Switch':@/active/@
+property.
+
+To implement delayed state change, applications can connect to this signal,
+initiate the change of the underlying state, and call 'GI.Gtk.Objects.Switch.switchSetState'
+when the underlying state change is complete. The signal handler should
+return 'True' to prevent the default handler from running.
+
+Visually, the underlying state is represented by the trough color of
+the switch, while the 'GI.Gtk.Objects.Switch.Switch':@/active/@ property is represented by the
+position of the switch.
+
+/Since: 3.14/
+-}
+type SwitchStateSetCallback =
+    Bool
+    {- ^ /@state@/: the new state of the switch -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop the signal emission -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `SwitchStateSetCallback`@.
+noSwitchStateSetCallback :: Maybe SwitchStateSetCallback
+noSwitchStateSetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_SwitchStateSetCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_SwitchStateSetCallback`.
+foreign import ccall "wrapper"
+    mk_SwitchStateSetCallback :: C_SwitchStateSetCallback -> IO (FunPtr C_SwitchStateSetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_SwitchStateSet :: MonadIO m => SwitchStateSetCallback -> m (GClosure C_SwitchStateSetCallback)
+genClosure_SwitchStateSet cb = liftIO $ do
+    let cb' = wrap_SwitchStateSetCallback cb
+    mk_SwitchStateSetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `SwitchStateSetCallback` into a `C_SwitchStateSetCallback`.
+wrap_SwitchStateSetCallback ::
+    SwitchStateSetCallback ->
+    C_SwitchStateSetCallback
+wrap_SwitchStateSetCallback _cb _ state _ = do
+    let state' = (/= 0) state
+    result <- _cb  state'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@state-set@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' switch #stateSet callback
+@
+-}
+onSwitchStateSet :: (IsSwitch a, MonadIO m) => a -> SwitchStateSetCallback -> m SignalHandlerId
+onSwitchStateSet obj cb = liftIO $ do
+    let cb' = wrap_SwitchStateSetCallback cb
+    cb'' <- mk_SwitchStateSetCallback cb'
+    connectSignalFunPtr obj "state-set" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@state-set@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' switch #stateSet callback
+@
+-}
+afterSwitchStateSet :: (IsSwitch a, MonadIO m) => a -> SwitchStateSetCallback -> m SignalHandlerId
+afterSwitchStateSet obj cb = liftIO $ do
+    let cb' = wrap_SwitchStateSetCallback cb
+    cb'' <- mk_SwitchStateSetCallback cb'
+    connectSignalFunPtr obj "state-set" cb'' SignalConnectAfter
+
+
+-- VVV Prop "active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' switch #active
+@
+-}
+getSwitchActive :: (MonadIO m, IsSwitch o) => o -> m Bool
+getSwitchActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' switch [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSwitchActive :: (MonadIO m, IsSwitch o) => o -> Bool -> m ()
+setSwitchActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSwitchActive :: (IsSwitch o) => Bool -> IO (GValueConstruct o)
+constructSwitchActive val = B.Properties.constructObjectPropertyBool "active" val
+
+#if ENABLE_OVERLOADING
+data SwitchActivePropertyInfo
+instance AttrInfo SwitchActivePropertyInfo where
+    type AttrAllowedOps SwitchActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SwitchActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SwitchActivePropertyInfo = IsSwitch
+    type AttrGetType SwitchActivePropertyInfo = Bool
+    type AttrLabel SwitchActivePropertyInfo = "active"
+    type AttrOrigin SwitchActivePropertyInfo = Switch
+    attrGet _ = getSwitchActive
+    attrSet _ = setSwitchActive
+    attrConstruct _ = constructSwitchActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "state"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@state@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' switch #state
+@
+-}
+getSwitchState :: (MonadIO m, IsSwitch o) => o -> m Bool
+getSwitchState obj = liftIO $ B.Properties.getObjectPropertyBool obj "state"
+
+{- |
+Set the value of the “@state@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' switch [ #state 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSwitchState :: (MonadIO m, IsSwitch o) => o -> Bool -> m ()
+setSwitchState obj val = liftIO $ B.Properties.setObjectPropertyBool obj "state" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@state@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructSwitchState :: (IsSwitch o) => Bool -> IO (GValueConstruct o)
+constructSwitchState val = B.Properties.constructObjectPropertyBool "state" val
+
+#if ENABLE_OVERLOADING
+data SwitchStatePropertyInfo
+instance AttrInfo SwitchStatePropertyInfo where
+    type AttrAllowedOps SwitchStatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint SwitchStatePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint SwitchStatePropertyInfo = IsSwitch
+    type AttrGetType SwitchStatePropertyInfo = Bool
+    type AttrLabel SwitchStatePropertyInfo = "state"
+    type AttrOrigin SwitchStatePropertyInfo = Switch
+    attrGet _ = getSwitchState
+    attrSet _ = setSwitchState
+    attrConstruct _ = constructSwitchState
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Switch
+type instance O.AttributeList Switch = SwitchAttributeList
+type SwitchAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", SwitchActivePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("state", SwitchStatePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+switchActive :: AttrLabelProxy "active"
+switchActive = AttrLabelProxy
+
+switchState :: AttrLabelProxy "state"
+switchState = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data SwitchActivateSignalInfo
+instance SignalInfo SwitchActivateSignalInfo where
+    type HaskellCallbackType SwitchActivateSignalInfo = SwitchActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SwitchActivateCallback cb
+        cb'' <- mk_SwitchActivateCallback cb'
+        connectSignalFunPtr obj "activate" cb'' connectMode
+
+data SwitchStateSetSignalInfo
+instance SignalInfo SwitchStateSetSignalInfo where
+    type HaskellCallbackType SwitchStateSetSignalInfo = SwitchStateSetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_SwitchStateSetCallback cb
+        cb'' <- mk_SwitchStateSetCallback cb'
+        connectSignalFunPtr obj "state-set" cb'' connectMode
+
+type instance O.SignalList Switch = SwitchSignalList
+type SwitchSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", SwitchActivateSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("stateSet", SwitchStateSetSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Switch::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Switch"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_switch_new" gtk_switch_new :: 
+    IO (Ptr Switch)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Switch.Switch' widget.
+
+/Since: 3.0/
+-}
+switchNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Switch
+    {- ^ __Returns:__ the newly created 'GI.Gtk.Objects.Switch.Switch' instance -}
+switchNew  = liftIO $ do
+    result <- gtk_switch_new
+    checkUnexpectedReturnNULL "switchNew" result
+    result' <- (newObject Switch) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Switch::get_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sw", argType = TInterface (Name {namespace = "Gtk", name = "Switch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSwitch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_switch_get_active" gtk_switch_get_active :: 
+    Ptr Switch ->                           -- sw : TInterface (Name {namespace = "Gtk", name = "Switch"})
+    IO CInt
+
+{- |
+Gets whether the 'GI.Gtk.Objects.Switch.Switch' is in its “on” or “off” state.
+
+/Since: 3.0/
+-}
+switchGetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSwitch a) =>
+    a
+    {- ^ /@sw@/: a 'GI.Gtk.Objects.Switch.Switch' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the 'GI.Gtk.Objects.Switch.Switch' is active, and 'False' otherwise -}
+switchGetActive sw = liftIO $ do
+    sw' <- unsafeManagedPtrCastPtr sw
+    result <- gtk_switch_get_active sw'
+    let result' = (/= 0) result
+    touchManagedPtr sw
+    return result'
+
+#if ENABLE_OVERLOADING
+data SwitchGetActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsSwitch a) => O.MethodInfo SwitchGetActiveMethodInfo a signature where
+    overloadedMethod _ = switchGetActive
+
+#endif
+
+-- method Switch::get_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sw", argType = TInterface (Name {namespace = "Gtk", name = "Switch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSwitch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_switch_get_state" gtk_switch_get_state :: 
+    Ptr Switch ->                           -- sw : TInterface (Name {namespace = "Gtk", name = "Switch"})
+    IO CInt
+
+{- |
+Gets the underlying state of the 'GI.Gtk.Objects.Switch.Switch'.
+
+/Since: 3.14/
+-}
+switchGetState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSwitch a) =>
+    a
+    {- ^ /@sw@/: a 'GI.Gtk.Objects.Switch.Switch' -}
+    -> m Bool
+    {- ^ __Returns:__ the underlying state -}
+switchGetState sw = liftIO $ do
+    sw' <- unsafeManagedPtrCastPtr sw
+    result <- gtk_switch_get_state sw'
+    let result' = (/= 0) result
+    touchManagedPtr sw
+    return result'
+
+#if ENABLE_OVERLOADING
+data SwitchGetStateMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsSwitch a) => O.MethodInfo SwitchGetStateMethodInfo a signature where
+    overloadedMethod _ = switchGetState
+
+#endif
+
+-- method Switch::set_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sw", argType = TInterface (Name {namespace = "Gtk", name = "Switch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSwitch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if @sw should be active, and %FALSE otherwise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_switch_set_active" gtk_switch_set_active :: 
+    Ptr Switch ->                           -- sw : TInterface (Name {namespace = "Gtk", name = "Switch"})
+    CInt ->                                 -- is_active : TBasicType TBoolean
+    IO ()
+
+{- |
+Changes the state of /@sw@/ to the desired one.
+
+/Since: 3.0/
+-}
+switchSetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSwitch a) =>
+    a
+    {- ^ /@sw@/: a 'GI.Gtk.Objects.Switch.Switch' -}
+    -> Bool
+    {- ^ /@isActive@/: 'True' if /@sw@/ should be active, and 'False' otherwise -}
+    -> m ()
+switchSetActive sw isActive = liftIO $ do
+    sw' <- unsafeManagedPtrCastPtr sw
+    let isActive' = (fromIntegral . fromEnum) isActive
+    gtk_switch_set_active sw' isActive'
+    touchManagedPtr sw
+    return ()
+
+#if ENABLE_OVERLOADING
+data SwitchSetActiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsSwitch a) => O.MethodInfo SwitchSetActiveMethodInfo a signature where
+    overloadedMethod _ = switchSetActive
+
+#endif
+
+-- method Switch::set_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "sw", argType = TInterface (Name {namespace = "Gtk", name = "Switch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSwitch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_switch_set_state" gtk_switch_set_state :: 
+    Ptr Switch ->                           -- sw : TInterface (Name {namespace = "Gtk", name = "Switch"})
+    CInt ->                                 -- state : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the underlying state of the 'GI.Gtk.Objects.Switch.Switch'.
+
+Normally, this is the same as 'GI.Gtk.Objects.Switch.Switch':@/active/@, unless the switch
+is set up for delayed state changes. This function is typically
+called from a 'GI.Gtk.Objects.Switch.Switch'::@/state-set/@ signal handler.
+
+See 'GI.Gtk.Objects.Switch.Switch'::@/state-set/@ for details.
+
+/Since: 3.14/
+-}
+switchSetState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsSwitch a) =>
+    a
+    {- ^ /@sw@/: a 'GI.Gtk.Objects.Switch.Switch' -}
+    -> Bool
+    {- ^ /@state@/: the new state -}
+    -> m ()
+switchSetState sw state = liftIO $ do
+    sw' <- unsafeManagedPtrCastPtr sw
+    let state' = (fromIntegral . fromEnum) state
+    gtk_switch_set_state sw' state'
+    touchManagedPtr sw
+    return ()
+
+#if ENABLE_OVERLOADING
+data SwitchSetStateMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsSwitch a) => O.MethodInfo SwitchSetStateMethodInfo a signature where
+    overloadedMethod _ = switchSetState
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Switch.hs-boot b/GI/Gtk/Objects/Switch.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Switch.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Switch where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Switch = Switch (ManagedPtr Switch)
+instance GObject Switch where
+class (GObject o, O.IsDescendantOf Switch o) => IsSwitch o
+instance (GObject o, O.IsDescendantOf Switch o) => IsSwitch o
+instance O.HasParentTypes Switch
+#if ENABLE_OVERLOADING
+data SwitchActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SwitchStatePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data SwitchActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SwitchStateSetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data SwitchGetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SwitchGetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SwitchSetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SwitchSetStateMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/SwitchAccessible.hs b/GI/Gtk/Objects/SwitchAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SwitchAccessible.hs
@@ -0,0 +1,169 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.SwitchAccessible
+    ( 
+
+-- * Exported types
+    SwitchAccessible(..)                    ,
+    IsSwitchAccessible                      ,
+    toSwitchAccessible                      ,
+    noSwitchAccessible                      ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype SwitchAccessible = SwitchAccessible (ManagedPtr SwitchAccessible)
+foreign import ccall "gtk_switch_accessible_get_type"
+    c_gtk_switch_accessible_get_type :: IO GType
+
+instance GObject SwitchAccessible where
+    gobjectType = c_gtk_switch_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `SwitchAccessible`, for instance with `toSwitchAccessible`.
+class (GObject o, O.IsDescendantOf SwitchAccessible o) => IsSwitchAccessible o
+instance (GObject o, O.IsDescendantOf SwitchAccessible o) => IsSwitchAccessible o
+
+instance O.HasParentTypes SwitchAccessible
+type instance O.ParentTypes SwitchAccessible = '[Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component]
+
+-- | Cast to `SwitchAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toSwitchAccessible :: (MonadIO m, IsSwitchAccessible o) => o -> m SwitchAccessible
+toSwitchAccessible = liftIO . unsafeCastTo SwitchAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SwitchAccessible`.
+noSwitchAccessible :: Maybe SwitchAccessible
+noSwitchAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveSwitchAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSwitchAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveSwitchAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveSwitchAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveSwitchAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveSwitchAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveSwitchAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveSwitchAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveSwitchAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveSwitchAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveSwitchAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveSwitchAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveSwitchAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveSwitchAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveSwitchAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveSwitchAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveSwitchAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveSwitchAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveSwitchAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveSwitchAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveSwitchAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveSwitchAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveSwitchAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveSwitchAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveSwitchAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveSwitchAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveSwitchAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveSwitchAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveSwitchAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveSwitchAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveSwitchAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveSwitchAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveSwitchAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveSwitchAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveSwitchAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveSwitchAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveSwitchAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveSwitchAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveSwitchAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveSwitchAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveSwitchAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveSwitchAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveSwitchAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveSwitchAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveSwitchAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveSwitchAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveSwitchAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveSwitchAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveSwitchAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveSwitchAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveSwitchAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveSwitchAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveSwitchAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveSwitchAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveSwitchAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveSwitchAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveSwitchAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveSwitchAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveSwitchAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveSwitchAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveSwitchAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveSwitchAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveSwitchAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveSwitchAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveSwitchAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveSwitchAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSwitchAccessibleMethod t SwitchAccessible, O.MethodInfo info SwitchAccessible p) => OL.IsLabel t (SwitchAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SwitchAccessible
+type instance O.AttributeList SwitchAccessible = SwitchAccessibleAttributeList
+type SwitchAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList SwitchAccessible = SwitchAccessibleSignalList
+type SwitchAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/SwitchAccessible.hs-boot b/GI/Gtk/Objects/SwitchAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/SwitchAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.SwitchAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SwitchAccessible = SwitchAccessible (ManagedPtr SwitchAccessible)
+instance GObject SwitchAccessible where
+class (GObject o, O.IsDescendantOf SwitchAccessible o) => IsSwitchAccessible o
+instance (GObject o, O.IsDescendantOf SwitchAccessible o) => IsSwitchAccessible o
+instance O.HasParentTypes SwitchAccessible
diff --git a/GI/Gtk/Objects/Table.hs b/GI/Gtk/Objects/Table.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Table.hs
@@ -0,0 +1,1552 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Table.Table' functions allow the programmer to arrange widgets in rows and
+columns, making it easy to align many widgets next to each other,
+horizontally and vertically.
+
+Tables are created with a call to 'GI.Gtk.Objects.Table.tableNew', the size of which can
+later be changed with 'GI.Gtk.Objects.Table.tableResize'.
+
+Widgets can be added to a table using 'GI.Gtk.Objects.Table.tableAttach' or the more
+convenient (but slightly less flexible) 'GI.Gtk.Objects.Table.tableAttachDefaults'.
+
+To alter the space next to a specific row, use 'GI.Gtk.Objects.Table.tableSetRowSpacing',
+and for a column, 'GI.Gtk.Objects.Table.tableSetColSpacing'.
+The gaps between all rows or columns can be changed by
+calling 'GI.Gtk.Objects.Table.tableSetRowSpacings' or 'GI.Gtk.Objects.Table.tableSetColSpacings'
+respectively. Note that spacing is added between the
+children, while padding added by 'GI.Gtk.Objects.Table.tableAttach' is added on
+either side of the widget it belongs to.
+
+'GI.Gtk.Objects.Table.tableSetHomogeneous', can be used to set whether all cells in the
+table will resize themselves to the size of the largest widget in the table.
+
+> 'GI.Gtk.Objects.Table.Table' has been deprecated. Use 'GI.Gtk.Objects.Grid.Grid' instead. It provides the same
+> capabilities as GtkTable for arranging widgets in a rectangular grid, but
+> does support height-for-width geometry management.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Table
+    ( 
+
+-- * Exported types
+    Table(..)                               ,
+    IsTable                                 ,
+    toTable                                 ,
+    noTable                                 ,
+
+
+ -- * Methods
+-- ** attach #method:attach#
+
+#if ENABLE_OVERLOADING
+    TableAttachMethodInfo                   ,
+#endif
+    tableAttach                             ,
+
+
+-- ** attachDefaults #method:attachDefaults#
+
+#if ENABLE_OVERLOADING
+    TableAttachDefaultsMethodInfo           ,
+#endif
+    tableAttachDefaults                     ,
+
+
+-- ** getColSpacing #method:getColSpacing#
+
+#if ENABLE_OVERLOADING
+    TableGetColSpacingMethodInfo            ,
+#endif
+    tableGetColSpacing                      ,
+
+
+-- ** getDefaultColSpacing #method:getDefaultColSpacing#
+
+#if ENABLE_OVERLOADING
+    TableGetDefaultColSpacingMethodInfo     ,
+#endif
+    tableGetDefaultColSpacing               ,
+
+
+-- ** getDefaultRowSpacing #method:getDefaultRowSpacing#
+
+#if ENABLE_OVERLOADING
+    TableGetDefaultRowSpacingMethodInfo     ,
+#endif
+    tableGetDefaultRowSpacing               ,
+
+
+-- ** getHomogeneous #method:getHomogeneous#
+
+#if ENABLE_OVERLOADING
+    TableGetHomogeneousMethodInfo           ,
+#endif
+    tableGetHomogeneous                     ,
+
+
+-- ** getRowSpacing #method:getRowSpacing#
+
+#if ENABLE_OVERLOADING
+    TableGetRowSpacingMethodInfo            ,
+#endif
+    tableGetRowSpacing                      ,
+
+
+-- ** getSize #method:getSize#
+
+#if ENABLE_OVERLOADING
+    TableGetSizeMethodInfo                  ,
+#endif
+    tableGetSize                            ,
+
+
+-- ** new #method:new#
+
+    tableNew                                ,
+
+
+-- ** resize #method:resize#
+
+#if ENABLE_OVERLOADING
+    TableResizeMethodInfo                   ,
+#endif
+    tableResize                             ,
+
+
+-- ** setColSpacing #method:setColSpacing#
+
+#if ENABLE_OVERLOADING
+    TableSetColSpacingMethodInfo            ,
+#endif
+    tableSetColSpacing                      ,
+
+
+-- ** setColSpacings #method:setColSpacings#
+
+#if ENABLE_OVERLOADING
+    TableSetColSpacingsMethodInfo           ,
+#endif
+    tableSetColSpacings                     ,
+
+
+-- ** setHomogeneous #method:setHomogeneous#
+
+#if ENABLE_OVERLOADING
+    TableSetHomogeneousMethodInfo           ,
+#endif
+    tableSetHomogeneous                     ,
+
+
+-- ** setRowSpacing #method:setRowSpacing#
+
+#if ENABLE_OVERLOADING
+    TableSetRowSpacingMethodInfo            ,
+#endif
+    tableSetRowSpacing                      ,
+
+
+-- ** setRowSpacings #method:setRowSpacings#
+
+#if ENABLE_OVERLOADING
+    TableSetRowSpacingsMethodInfo           ,
+#endif
+    tableSetRowSpacings                     ,
+
+
+
+
+ -- * Properties
+-- ** columnSpacing #attr:columnSpacing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TableColumnSpacingPropertyInfo          ,
+#endif
+    constructTableColumnSpacing             ,
+    getTableColumnSpacing                   ,
+    setTableColumnSpacing                   ,
+#if ENABLE_OVERLOADING
+    tableColumnSpacing                      ,
+#endif
+
+
+-- ** homogeneous #attr:homogeneous#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TableHomogeneousPropertyInfo            ,
+#endif
+    constructTableHomogeneous               ,
+    getTableHomogeneous                     ,
+    setTableHomogeneous                     ,
+#if ENABLE_OVERLOADING
+    tableHomogeneous                        ,
+#endif
+
+
+-- ** nColumns #attr:nColumns#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TableNColumnsPropertyInfo               ,
+#endif
+    constructTableNColumns                  ,
+    getTableNColumns                        ,
+    setTableNColumns                        ,
+#if ENABLE_OVERLOADING
+    tableNColumns                           ,
+#endif
+
+
+-- ** nRows #attr:nRows#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TableNRowsPropertyInfo                  ,
+#endif
+    constructTableNRows                     ,
+    getTableNRows                           ,
+    setTableNRows                           ,
+#if ENABLE_OVERLOADING
+    tableNRows                              ,
+#endif
+
+
+-- ** rowSpacing #attr:rowSpacing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TableRowSpacingPropertyInfo             ,
+#endif
+    constructTableRowSpacing                ,
+    getTableRowSpacing                      ,
+    setTableRowSpacing                      ,
+#if ENABLE_OVERLOADING
+    tableRowSpacing                         ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Table = Table (ManagedPtr Table)
+foreign import ccall "gtk_table_get_type"
+    c_gtk_table_get_type :: IO GType
+
+instance GObject Table where
+    gobjectType = c_gtk_table_get_type
+    
+
+-- | Type class for types which can be safely cast to `Table`, for instance with `toTable`.
+class (GObject o, O.IsDescendantOf Table o) => IsTable o
+instance (GObject o, O.IsDescendantOf Table o) => IsTable o
+
+instance O.HasParentTypes Table
+type instance O.ParentTypes Table = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Table`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTable :: (MonadIO m, IsTable o) => o -> m Table
+toTable = liftIO . unsafeCastTo Table
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Table`.
+noTable :: Maybe Table
+noTable = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTableMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveTableMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveTableMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveTableMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveTableMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveTableMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveTableMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveTableMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveTableMethod "attach" o = TableAttachMethodInfo
+    ResolveTableMethod "attachDefaults" o = TableAttachDefaultsMethodInfo
+    ResolveTableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTableMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveTableMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveTableMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveTableMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveTableMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveTableMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveTableMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveTableMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveTableMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveTableMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveTableMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveTableMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveTableMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveTableMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveTableMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveTableMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveTableMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveTableMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveTableMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveTableMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveTableMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveTableMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveTableMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveTableMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveTableMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveTableMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveTableMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveTableMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveTableMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveTableMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveTableMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveTableMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveTableMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveTableMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveTableMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveTableMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveTableMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveTableMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveTableMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveTableMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveTableMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveTableMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveTableMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveTableMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveTableMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveTableMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveTableMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveTableMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveTableMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveTableMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveTableMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveTableMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveTableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTableMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveTableMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveTableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTableMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveTableMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveTableMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveTableMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveTableMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveTableMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveTableMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveTableMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveTableMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveTableMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveTableMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveTableMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveTableMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveTableMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveTableMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveTableMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveTableMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveTableMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveTableMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveTableMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveTableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTableMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveTableMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveTableMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveTableMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveTableMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveTableMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveTableMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveTableMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveTableMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveTableMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveTableMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveTableMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveTableMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveTableMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveTableMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveTableMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveTableMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveTableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTableMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveTableMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveTableMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveTableMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveTableMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveTableMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveTableMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveTableMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveTableMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveTableMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveTableMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveTableMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveTableMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveTableMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveTableMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveTableMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveTableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTableMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveTableMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveTableMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveTableMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveTableMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveTableMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveTableMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveTableMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveTableMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveTableMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveTableMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveTableMethod "resize" o = TableResizeMethodInfo
+    ResolveTableMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveTableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTableMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveTableMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveTableMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveTableMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveTableMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveTableMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveTableMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveTableMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveTableMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveTableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTableMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveTableMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveTableMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveTableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTableMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveTableMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveTableMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveTableMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveTableMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveTableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTableMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveTableMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveTableMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveTableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTableMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveTableMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveTableMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveTableMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveTableMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveTableMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveTableMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveTableMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveTableMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveTableMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveTableMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveTableMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveTableMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveTableMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveTableMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveTableMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveTableMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveTableMethod "getColSpacing" o = TableGetColSpacingMethodInfo
+    ResolveTableMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveTableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTableMethod "getDefaultColSpacing" o = TableGetDefaultColSpacingMethodInfo
+    ResolveTableMethod "getDefaultRowSpacing" o = TableGetDefaultRowSpacingMethodInfo
+    ResolveTableMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveTableMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveTableMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveTableMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveTableMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveTableMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveTableMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveTableMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveTableMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveTableMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveTableMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveTableMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveTableMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveTableMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveTableMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveTableMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveTableMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveTableMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveTableMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveTableMethod "getHomogeneous" o = TableGetHomogeneousMethodInfo
+    ResolveTableMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveTableMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveTableMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveTableMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveTableMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveTableMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveTableMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveTableMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveTableMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveTableMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveTableMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveTableMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveTableMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveTableMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveTableMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveTableMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveTableMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveTableMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveTableMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveTableMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveTableMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveTableMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveTableMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveTableMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveTableMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveTableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTableMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveTableMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveTableMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveTableMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveTableMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveTableMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveTableMethod "getRowSpacing" o = TableGetRowSpacingMethodInfo
+    ResolveTableMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveTableMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveTableMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveTableMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveTableMethod "getSize" o = TableGetSizeMethodInfo
+    ResolveTableMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveTableMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveTableMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveTableMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveTableMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveTableMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveTableMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveTableMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveTableMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveTableMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveTableMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveTableMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveTableMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveTableMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveTableMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveTableMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveTableMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveTableMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveTableMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveTableMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveTableMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveTableMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveTableMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveTableMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveTableMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveTableMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveTableMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveTableMethod "setColSpacing" o = TableSetColSpacingMethodInfo
+    ResolveTableMethod "setColSpacings" o = TableSetColSpacingsMethodInfo
+    ResolveTableMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveTableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTableMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveTableMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveTableMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveTableMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveTableMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveTableMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveTableMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveTableMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveTableMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveTableMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveTableMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveTableMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveTableMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveTableMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveTableMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveTableMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveTableMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveTableMethod "setHomogeneous" o = TableSetHomogeneousMethodInfo
+    ResolveTableMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveTableMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveTableMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveTableMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveTableMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveTableMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveTableMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveTableMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveTableMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveTableMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveTableMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveTableMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveTableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTableMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveTableMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveTableMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveTableMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveTableMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveTableMethod "setRowSpacing" o = TableSetRowSpacingMethodInfo
+    ResolveTableMethod "setRowSpacings" o = TableSetRowSpacingsMethodInfo
+    ResolveTableMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveTableMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveTableMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveTableMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveTableMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveTableMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveTableMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveTableMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveTableMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveTableMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveTableMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveTableMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveTableMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveTableMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveTableMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveTableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTableMethod t Table, O.MethodInfo info Table p) => OL.IsLabel t (Table -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "column-spacing"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@column-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' table #columnSpacing
+@
+-}
+getTableColumnSpacing :: (MonadIO m, IsTable o) => o -> m Word32
+getTableColumnSpacing obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "column-spacing"
+
+{- |
+Set the value of the “@column-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' table [ #columnSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableColumnSpacing :: (MonadIO m, IsTable o) => o -> Word32 -> m ()
+setTableColumnSpacing obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "column-spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@column-spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTableColumnSpacing :: (IsTable o) => Word32 -> IO (GValueConstruct o)
+constructTableColumnSpacing val = B.Properties.constructObjectPropertyUInt32 "column-spacing" val
+
+#if ENABLE_OVERLOADING
+data TableColumnSpacingPropertyInfo
+instance AttrInfo TableColumnSpacingPropertyInfo where
+    type AttrAllowedOps TableColumnSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TableColumnSpacingPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint TableColumnSpacingPropertyInfo = IsTable
+    type AttrGetType TableColumnSpacingPropertyInfo = Word32
+    type AttrLabel TableColumnSpacingPropertyInfo = "column-spacing"
+    type AttrOrigin TableColumnSpacingPropertyInfo = Table
+    attrGet _ = getTableColumnSpacing
+    attrSet _ = setTableColumnSpacing
+    attrConstruct _ = constructTableColumnSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "homogeneous"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' table #homogeneous
+@
+-}
+getTableHomogeneous :: (MonadIO m, IsTable o) => o -> m Bool
+getTableHomogeneous obj = liftIO $ B.Properties.getObjectPropertyBool obj "homogeneous"
+
+{- |
+Set the value of the “@homogeneous@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' table [ #homogeneous 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableHomogeneous :: (MonadIO m, IsTable o) => o -> Bool -> m ()
+setTableHomogeneous obj val = liftIO $ B.Properties.setObjectPropertyBool obj "homogeneous" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@homogeneous@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTableHomogeneous :: (IsTable o) => Bool -> IO (GValueConstruct o)
+constructTableHomogeneous val = B.Properties.constructObjectPropertyBool "homogeneous" val
+
+#if ENABLE_OVERLOADING
+data TableHomogeneousPropertyInfo
+instance AttrInfo TableHomogeneousPropertyInfo where
+    type AttrAllowedOps TableHomogeneousPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TableHomogeneousPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TableHomogeneousPropertyInfo = IsTable
+    type AttrGetType TableHomogeneousPropertyInfo = Bool
+    type AttrLabel TableHomogeneousPropertyInfo = "homogeneous"
+    type AttrOrigin TableHomogeneousPropertyInfo = Table
+    attrGet _ = getTableHomogeneous
+    attrSet _ = setTableHomogeneous
+    attrConstruct _ = constructTableHomogeneous
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "n-columns"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@n-columns@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' table #nColumns
+@
+-}
+getTableNColumns :: (MonadIO m, IsTable o) => o -> m Word32
+getTableNColumns obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "n-columns"
+
+{- |
+Set the value of the “@n-columns@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' table [ #nColumns 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableNColumns :: (MonadIO m, IsTable o) => o -> Word32 -> m ()
+setTableNColumns obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "n-columns" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@n-columns@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTableNColumns :: (IsTable o) => Word32 -> IO (GValueConstruct o)
+constructTableNColumns val = B.Properties.constructObjectPropertyUInt32 "n-columns" val
+
+#if ENABLE_OVERLOADING
+data TableNColumnsPropertyInfo
+instance AttrInfo TableNColumnsPropertyInfo where
+    type AttrAllowedOps TableNColumnsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TableNColumnsPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint TableNColumnsPropertyInfo = IsTable
+    type AttrGetType TableNColumnsPropertyInfo = Word32
+    type AttrLabel TableNColumnsPropertyInfo = "n-columns"
+    type AttrOrigin TableNColumnsPropertyInfo = Table
+    attrGet _ = getTableNColumns
+    attrSet _ = setTableNColumns
+    attrConstruct _ = constructTableNColumns
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "n-rows"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@n-rows@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' table #nRows
+@
+-}
+getTableNRows :: (MonadIO m, IsTable o) => o -> m Word32
+getTableNRows obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "n-rows"
+
+{- |
+Set the value of the “@n-rows@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' table [ #nRows 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableNRows :: (MonadIO m, IsTable o) => o -> Word32 -> m ()
+setTableNRows obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "n-rows" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@n-rows@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTableNRows :: (IsTable o) => Word32 -> IO (GValueConstruct o)
+constructTableNRows val = B.Properties.constructObjectPropertyUInt32 "n-rows" val
+
+#if ENABLE_OVERLOADING
+data TableNRowsPropertyInfo
+instance AttrInfo TableNRowsPropertyInfo where
+    type AttrAllowedOps TableNRowsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TableNRowsPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint TableNRowsPropertyInfo = IsTable
+    type AttrGetType TableNRowsPropertyInfo = Word32
+    type AttrLabel TableNRowsPropertyInfo = "n-rows"
+    type AttrOrigin TableNRowsPropertyInfo = Table
+    attrGet _ = getTableNRows
+    attrSet _ = setTableNRows
+    attrConstruct _ = constructTableNRows
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "row-spacing"
+   -- Type: TBasicType TUInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@row-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' table #rowSpacing
+@
+-}
+getTableRowSpacing :: (MonadIO m, IsTable o) => o -> m Word32
+getTableRowSpacing obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "row-spacing"
+
+{- |
+Set the value of the “@row-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' table [ #rowSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableRowSpacing :: (MonadIO m, IsTable o) => o -> Word32 -> m ()
+setTableRowSpacing obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "row-spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@row-spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTableRowSpacing :: (IsTable o) => Word32 -> IO (GValueConstruct o)
+constructTableRowSpacing val = B.Properties.constructObjectPropertyUInt32 "row-spacing" val
+
+#if ENABLE_OVERLOADING
+data TableRowSpacingPropertyInfo
+instance AttrInfo TableRowSpacingPropertyInfo where
+    type AttrAllowedOps TableRowSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TableRowSpacingPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint TableRowSpacingPropertyInfo = IsTable
+    type AttrGetType TableRowSpacingPropertyInfo = Word32
+    type AttrLabel TableRowSpacingPropertyInfo = "row-spacing"
+    type AttrOrigin TableRowSpacingPropertyInfo = Table
+    attrGet _ = getTableRowSpacing
+    attrSet _ = setTableRowSpacing
+    attrConstruct _ = constructTableRowSpacing
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Table
+type instance O.AttributeList Table = TableAttributeList
+type TableAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("columnSpacing", TableColumnSpacingPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", TableHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("nColumns", TableNColumnsPropertyInfo), '("nRows", TableNRowsPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rowSpacing", TableRowSpacingPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+tableColumnSpacing :: AttrLabelProxy "columnSpacing"
+tableColumnSpacing = AttrLabelProxy
+
+tableHomogeneous :: AttrLabelProxy "homogeneous"
+tableHomogeneous = AttrLabelProxy
+
+tableNColumns :: AttrLabelProxy "nColumns"
+tableNColumns = AttrLabelProxy
+
+tableNRows :: AttrLabelProxy "nRows"
+tableNRows = AttrLabelProxy
+
+tableRowSpacing :: AttrLabelProxy "rowSpacing"
+tableRowSpacing = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Table = TableSignalList
+type TableSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Table::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "rows", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of rows the new table should have.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "columns", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of columns the new table should have.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If set to %TRUE, all table cells are resized to the size of\n  the cell containing the largest widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Table"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_new" gtk_table_new :: 
+    Word32 ->                               -- rows : TBasicType TUInt
+    Word32 ->                               -- columns : TBasicType TUInt
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    IO (Ptr Table)
+
+{-# DEPRECATED tableNew ["(Since version 3.4)","Use 'GI.Gtk.Objects.Grid.gridNew'."] #-}
+{- |
+Used to create a new table widget. An initial size must be given by
+specifying how many rows and columns the table should have, although
+this can be changed later with 'GI.Gtk.Objects.Table.tableResize'.  /@rows@/ and /@columns@/
+must both be in the range 1 .. 65535. For historical reasons, 0 is accepted
+as well and is silently interpreted as 1.
+-}
+tableNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Word32
+    {- ^ /@rows@/: The number of rows the new table should have. -}
+    -> Word32
+    {- ^ /@columns@/: The number of columns the new table should have. -}
+    -> Bool
+    {- ^ /@homogeneous@/: If set to 'True', all table cells are resized to the size of
+  the cell containing the largest widget. -}
+    -> m Table
+    {- ^ __Returns:__ A pointer to the newly created table widget. -}
+tableNew rows columns homogeneous = liftIO $ do
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    result <- gtk_table_new rows columns homogeneous'
+    checkUnexpectedReturnNULL "tableNew" result
+    result' <- (newObject Table) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Table::attach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTable to add a new widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The widget to add.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column number to attach the left side of a child widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "right_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column number to attach the right side of a child widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "top_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row number to attach the top of a child widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bottom_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row number to attach the bottom of a child widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xoptions", argType = TInterface (Name {namespace = "Gtk", name = "AttachOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Used to specify the properties of the child widget when the table is resized.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yoptions", argType = TInterface (Name {namespace = "Gtk", name = "AttachOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The same as xoptions, except this field determines behaviour of vertical resizing.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpadding", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An integer value specifying the padding on the left and right of the widget being added to the table.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ypadding", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The amount of padding above and below the child widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_attach" gtk_table_attach :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Word32 ->                               -- left_attach : TBasicType TUInt
+    Word32 ->                               -- right_attach : TBasicType TUInt
+    Word32 ->                               -- top_attach : TBasicType TUInt
+    Word32 ->                               -- bottom_attach : TBasicType TUInt
+    CUInt ->                                -- xoptions : TInterface (Name {namespace = "Gtk", name = "AttachOptions"})
+    CUInt ->                                -- yoptions : TInterface (Name {namespace = "Gtk", name = "AttachOptions"})
+    Word32 ->                               -- xpadding : TBasicType TUInt
+    Word32 ->                               -- ypadding : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED tableAttach ["(Since version 3.4)","Use 'GI.Gtk.Objects.Grid.gridAttach' with 'GI.Gtk.Objects.Grid.Grid'. Note that the attach","    arguments differ between those two functions."] #-}
+{- |
+Adds a widget to a table. The number of “cells” that a widget will occupy is
+specified by /@leftAttach@/, /@rightAttach@/, /@topAttach@/ and /@bottomAttach@/.
+These each represent the leftmost, rightmost, uppermost and lowest column
+and row numbers of the table. (Columns and rows are indexed from zero).
+
+To make a button occupy the lower right cell of a 2x2 table, use
+>
+>gtk_table_attach (table, button,
+>                  1, 2, // left, right attach
+>                  1, 2, // top, bottom attach
+>                  xoptions, yoptions,
+>                  xpadding, ypadding);
+
+If you want to make the button span the entire bottom row, use /@leftAttach@/ == 0 and /@rightAttach@/ = 2 instead.
+-}
+tableAttach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@table@/: The 'GI.Gtk.Objects.Table.Table' to add a new widget to. -}
+    -> b
+    {- ^ /@child@/: The widget to add. -}
+    -> Word32
+    {- ^ /@leftAttach@/: the column number to attach the left side of a child widget to. -}
+    -> Word32
+    {- ^ /@rightAttach@/: the column number to attach the right side of a child widget to. -}
+    -> Word32
+    {- ^ /@topAttach@/: the row number to attach the top of a child widget to. -}
+    -> Word32
+    {- ^ /@bottomAttach@/: the row number to attach the bottom of a child widget to. -}
+    -> [Gtk.Flags.AttachOptions]
+    {- ^ /@xoptions@/: Used to specify the properties of the child widget when the table is resized. -}
+    -> [Gtk.Flags.AttachOptions]
+    {- ^ /@yoptions@/: The same as xoptions, except this field determines behaviour of vertical resizing. -}
+    -> Word32
+    {- ^ /@xpadding@/: An integer value specifying the padding on the left and right of the widget being added to the table. -}
+    -> Word32
+    {- ^ /@ypadding@/: The amount of padding above and below the child widget. -}
+    -> m ()
+tableAttach table child leftAttach rightAttach topAttach bottomAttach xoptions yoptions xpadding ypadding = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    child' <- unsafeManagedPtrCastPtr child
+    let xoptions' = gflagsToWord xoptions
+    let yoptions' = gflagsToWord yoptions
+    gtk_table_attach table' child' leftAttach rightAttach topAttach bottomAttach xoptions' yoptions' xpadding ypadding
+    touchManagedPtr table
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data TableAttachMethodInfo
+instance (signature ~ (b -> Word32 -> Word32 -> Word32 -> Word32 -> [Gtk.Flags.AttachOptions] -> [Gtk.Flags.AttachOptions] -> Word32 -> Word32 -> m ()), MonadIO m, IsTable a, Gtk.Widget.IsWidget b) => O.MethodInfo TableAttachMethodInfo a signature where
+    overloadedMethod _ = tableAttach
+
+#endif
+
+-- method Table::attach_defaults
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The table to add a new child widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The child widget to add.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The column number to attach the left side of the child widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "right_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The column number to attach the right side of the child widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "top_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The row number to attach the top of the child widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bottom_attach", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The row number to attach the bottom of the child widget to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_attach_defaults" gtk_table_attach_defaults :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Word32 ->                               -- left_attach : TBasicType TUInt
+    Word32 ->                               -- right_attach : TBasicType TUInt
+    Word32 ->                               -- top_attach : TBasicType TUInt
+    Word32 ->                               -- bottom_attach : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED tableAttachDefaults ["(Since version 3.4)","Use 'GI.Gtk.Objects.Grid.gridAttach' with 'GI.Gtk.Objects.Grid.Grid'. Note that the attach","    arguments differ between those two functions."] #-}
+{- |
+As there are many options associated with 'GI.Gtk.Objects.Table.tableAttach', this convenience
+function provides the programmer with a means to add children to a table with
+identical padding and expansion options. The values used for the 'GI.Gtk.Flags.AttachOptions'
+are @GTK_EXPAND | GTK_FILL@, and the padding is set to 0.
+-}
+tableAttachDefaults ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@table@/: The table to add a new child widget to. -}
+    -> b
+    {- ^ /@widget@/: The child widget to add. -}
+    -> Word32
+    {- ^ /@leftAttach@/: The column number to attach the left side of the child widget to. -}
+    -> Word32
+    {- ^ /@rightAttach@/: The column number to attach the right side of the child widget to. -}
+    -> Word32
+    {- ^ /@topAttach@/: The row number to attach the top of the child widget to. -}
+    -> Word32
+    {- ^ /@bottomAttach@/: The row number to attach the bottom of the child widget to. -}
+    -> m ()
+tableAttachDefaults table widget leftAttach rightAttach topAttach bottomAttach = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_table_attach_defaults table' widget' leftAttach rightAttach topAttach bottomAttach
+    touchManagedPtr table
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data TableAttachDefaultsMethodInfo
+instance (signature ~ (b -> Word32 -> Word32 -> Word32 -> Word32 -> m ()), MonadIO m, IsTable a, Gtk.Widget.IsWidget b) => O.MethodInfo TableAttachDefaultsMethodInfo a signature where
+    overloadedMethod _ = tableAttachDefaults
+
+#endif
+
+-- method Table::get_col_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a column in the table, 0 indicates the first column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_get_col_spacing" gtk_table_get_col_spacing :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Word32 ->                               -- column : TBasicType TUInt
+    IO Word32
+
+{-# DEPRECATED tableGetColSpacing ["(Since version 3.4)","'GI.Gtk.Objects.Grid.Grid' does not offer a replacement for this","    functionality."] #-}
+{- |
+Gets the amount of space between column /@col@/, and
+column /@col@/ + 1. See 'GI.Gtk.Objects.Table.tableSetColSpacing'.
+-}
+tableGetColSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table' -}
+    -> Word32
+    {- ^ /@column@/: a column in the table, 0 indicates the first column -}
+    -> m Word32
+    {- ^ __Returns:__ the column spacing -}
+tableGetColSpacing table column = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    result <- gtk_table_get_col_spacing table' column
+    touchManagedPtr table
+    return result
+
+#if ENABLE_OVERLOADING
+data TableGetColSpacingMethodInfo
+instance (signature ~ (Word32 -> m Word32), MonadIO m, IsTable a) => O.MethodInfo TableGetColSpacingMethodInfo a signature where
+    overloadedMethod _ = tableGetColSpacing
+
+#endif
+
+-- method Table::get_default_col_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_get_default_col_spacing" gtk_table_get_default_col_spacing :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    IO Word32
+
+{-# DEPRECATED tableGetDefaultColSpacing ["(Since version 3.4)","Use 'GI.Gtk.Objects.Grid.gridGetColumnSpacing' with 'GI.Gtk.Objects.Grid.Grid'."] #-}
+{- |
+Gets the default column spacing for the table. This is
+the spacing that will be used for newly added columns.
+(See 'GI.Gtk.Objects.Table.tableSetColSpacings')
+-}
+tableGetDefaultColSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table' -}
+    -> m Word32
+    {- ^ __Returns:__ the default column spacing -}
+tableGetDefaultColSpacing table = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    result <- gtk_table_get_default_col_spacing table'
+    touchManagedPtr table
+    return result
+
+#if ENABLE_OVERLOADING
+data TableGetDefaultColSpacingMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsTable a) => O.MethodInfo TableGetDefaultColSpacingMethodInfo a signature where
+    overloadedMethod _ = tableGetDefaultColSpacing
+
+#endif
+
+-- method Table::get_default_row_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_get_default_row_spacing" gtk_table_get_default_row_spacing :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    IO Word32
+
+{-# DEPRECATED tableGetDefaultRowSpacing ["(Since version 3.4)","Use 'GI.Gtk.Objects.Grid.gridGetRowSpacing' with 'GI.Gtk.Objects.Grid.Grid'."] #-}
+{- |
+Gets the default row spacing for the table. This is
+the spacing that will be used for newly added rows.
+(See 'GI.Gtk.Objects.Table.tableSetRowSpacings')
+-}
+tableGetDefaultRowSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table' -}
+    -> m Word32
+    {- ^ __Returns:__ the default row spacing -}
+tableGetDefaultRowSpacing table = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    result <- gtk_table_get_default_row_spacing table'
+    touchManagedPtr table
+    return result
+
+#if ENABLE_OVERLOADING
+data TableGetDefaultRowSpacingMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsTable a) => O.MethodInfo TableGetDefaultRowSpacingMethodInfo a signature where
+    overloadedMethod _ = tableGetDefaultRowSpacing
+
+#endif
+
+-- method Table::get_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_get_homogeneous" gtk_table_get_homogeneous :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    IO CInt
+
+{-# DEPRECATED tableGetHomogeneous ["(Since version 3.4)","Use 'GI.Gtk.Objects.Grid.gridGetRowHomogeneous' and","    'GI.Gtk.Objects.Grid.gridGetColumnHomogeneous' with 'GI.Gtk.Objects.Grid.Grid'."] #-}
+{- |
+Returns whether the table cells are all constrained to the same
+width and height. (See gtk_table_set_homogeneous ())
+-}
+tableGetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the cells are all constrained to the same size -}
+tableGetHomogeneous table = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    result <- gtk_table_get_homogeneous table'
+    let result' = (/= 0) result
+    touchManagedPtr table
+    return result'
+
+#if ENABLE_OVERLOADING
+data TableGetHomogeneousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTable a) => O.MethodInfo TableGetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = tableGetHomogeneous
+
+#endif
+
+-- method Table::get_row_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a row in the table, 0 indicates the first row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_get_row_spacing" gtk_table_get_row_spacing :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Word32 ->                               -- row : TBasicType TUInt
+    IO Word32
+
+{-# DEPRECATED tableGetRowSpacing ["(Since version 3.4)","'GI.Gtk.Objects.Grid.Grid' does not offer a replacement for this","    functionality."] #-}
+{- |
+Gets the amount of space between row /@row@/, and
+row /@row@/ + 1. See 'GI.Gtk.Objects.Table.tableSetRowSpacing'.
+-}
+tableGetRowSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table' -}
+    -> Word32
+    {- ^ /@row@/: a row in the table, 0 indicates the first row -}
+    -> m Word32
+    {- ^ __Returns:__ the row spacing -}
+tableGetRowSpacing table row = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    result <- gtk_table_get_row_spacing table' row
+    touchManagedPtr table
+    return result
+
+#if ENABLE_OVERLOADING
+data TableGetRowSpacingMethodInfo
+instance (signature ~ (Word32 -> m Word32), MonadIO m, IsTable a) => O.MethodInfo TableGetRowSpacingMethodInfo a signature where
+    overloadedMethod _ = tableGetRowSpacing
+
+#endif
+
+-- method Table::get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rows", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of\n  rows, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "columns", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number\n  of columns, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_get_size" gtk_table_get_size :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Ptr Word32 ->                           -- rows : TBasicType TUInt
+    Ptr Word32 ->                           -- columns : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED tableGetSize ["(Since version 3.4)","'GI.Gtk.Objects.Grid.Grid' does not expose the number of columns and","    rows."] #-}
+{- |
+Gets the number of rows and columns in the table.
+
+/Since: 2.22/
+-}
+tableGetSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table' -}
+    -> m ((Word32, Word32))
+tableGetSize table = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    rows <- allocMem :: IO (Ptr Word32)
+    columns <- allocMem :: IO (Ptr Word32)
+    gtk_table_get_size table' rows columns
+    rows' <- peek rows
+    columns' <- peek columns
+    touchManagedPtr table
+    freeMem rows
+    freeMem columns
+    return (rows', columns')
+
+#if ENABLE_OVERLOADING
+data TableGetSizeMethodInfo
+instance (signature ~ (m ((Word32, Word32))), MonadIO m, IsTable a) => O.MethodInfo TableGetSizeMethodInfo a signature where
+    overloadedMethod _ = tableGetSize
+
+#endif
+
+-- method Table::resize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTable you wish to change the size of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rows", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new number of rows.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "columns", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new number of columns.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_resize" gtk_table_resize :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Word32 ->                               -- rows : TBasicType TUInt
+    Word32 ->                               -- columns : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED tableResize ["(Since version 3.4)","'GI.Gtk.Objects.Grid.Grid' resizes automatically."] #-}
+{- |
+If you need to change a table’s size after
+it has been created, this function allows you to do so.
+-}
+tableResize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: The 'GI.Gtk.Objects.Table.Table' you wish to change the size of. -}
+    -> Word32
+    {- ^ /@rows@/: The new number of rows. -}
+    -> Word32
+    {- ^ /@columns@/: The new number of columns. -}
+    -> m ()
+tableResize table rows columns = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    gtk_table_resize table' rows columns
+    touchManagedPtr table
+    return ()
+
+#if ENABLE_OVERLOADING
+data TableResizeMethodInfo
+instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsTable a) => O.MethodInfo TableResizeMethodInfo a signature where
+    overloadedMethod _ = tableResize
+
+#endif
+
+-- method Table::set_col_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column whose spacing should be changed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of pixels that the spacing should take up.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_set_col_spacing" gtk_table_set_col_spacing :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Word32 ->                               -- column : TBasicType TUInt
+    Word32 ->                               -- spacing : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED tableSetColSpacing ["(Since version 3.4)","Use 'GI.Gtk.Objects.Widget.widgetSetMarginStart' and","    'GI.Gtk.Objects.Widget.widgetSetMarginEnd' on the widgets contained in the row if","    you need this functionality. 'GI.Gtk.Objects.Grid.Grid' does not support per-row spacing."] #-}
+{- |
+Alters the amount of space between a given table column and the following
+column.
+-}
+tableSetColSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table'. -}
+    -> Word32
+    {- ^ /@column@/: the column whose spacing should be changed. -}
+    -> Word32
+    {- ^ /@spacing@/: number of pixels that the spacing should take up. -}
+    -> m ()
+tableSetColSpacing table column spacing = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    gtk_table_set_col_spacing table' column spacing
+    touchManagedPtr table
+    return ()
+
+#if ENABLE_OVERLOADING
+data TableSetColSpacingMethodInfo
+instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsTable a) => O.MethodInfo TableSetColSpacingMethodInfo a signature where
+    overloadedMethod _ = tableSetColSpacing
+
+#endif
+
+-- method Table::set_col_spacings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of pixels of space to place between every column\n  in the table.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_set_col_spacings" gtk_table_set_col_spacings :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Word32 ->                               -- spacing : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED tableSetColSpacings ["(Since version 3.4)","Use 'GI.Gtk.Objects.Grid.gridSetColumnSpacing' with 'GI.Gtk.Objects.Grid.Grid'."] #-}
+{- |
+Sets the space between every column in /@table@/ equal to /@spacing@/.
+-}
+tableSetColSpacings ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table'. -}
+    -> Word32
+    {- ^ /@spacing@/: the number of pixels of space to place between every column
+  in the table. -}
+    -> m ()
+tableSetColSpacings table spacing = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    gtk_table_set_col_spacings table' spacing
+    touchManagedPtr table
+    return ()
+
+#if ENABLE_OVERLOADING
+data TableSetColSpacingsMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsTable a) => O.MethodInfo TableSetColSpacingsMethodInfo a signature where
+    overloadedMethod _ = tableSetColSpacings
+
+#endif
+
+-- method Table::set_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTable you wish to set the homogeneous properties of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Set to %TRUE to ensure all table cells are the same size. Set\n  to %FALSE if this is not your desired behaviour.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_set_homogeneous" gtk_table_set_homogeneous :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED tableSetHomogeneous ["(Since version 3.4)","Use 'GI.Gtk.Objects.Grid.gridSetRowHomogeneous' and","    'GI.Gtk.Objects.Grid.gridSetColumnHomogeneous' with 'GI.Gtk.Objects.Grid.Grid'."] #-}
+{- |
+Changes the homogenous property of table cells, ie. whether all cells are
+an equal size or not.
+-}
+tableSetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: The 'GI.Gtk.Objects.Table.Table' you wish to set the homogeneous properties of. -}
+    -> Bool
+    {- ^ /@homogeneous@/: Set to 'True' to ensure all table cells are the same size. Set
+  to 'False' if this is not your desired behaviour. -}
+    -> m ()
+tableSetHomogeneous table homogeneous = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    gtk_table_set_homogeneous table' homogeneous'
+    touchManagedPtr table
+    return ()
+
+#if ENABLE_OVERLOADING
+data TableSetHomogeneousMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTable a) => O.MethodInfo TableSetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = tableSetHomogeneous
+
+#endif
+
+-- method Table::set_row_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable containing the row whose properties you wish to change.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "row number whose spacing will be changed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of pixels that the spacing should take up.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_set_row_spacing" gtk_table_set_row_spacing :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Word32 ->                               -- row : TBasicType TUInt
+    Word32 ->                               -- spacing : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED tableSetRowSpacing ["(Since version 3.4)","Use 'GI.Gtk.Objects.Widget.widgetSetMarginTop' and","    'GI.Gtk.Objects.Widget.widgetSetMarginBottom' on the widgets contained in the row if","    you need this functionality. 'GI.Gtk.Objects.Grid.Grid' does not support per-row spacing."] #-}
+{- |
+Changes the space between a given table row and the subsequent row.
+-}
+tableSetRowSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table' containing the row whose properties you wish to change. -}
+    -> Word32
+    {- ^ /@row@/: row number whose spacing will be changed. -}
+    -> Word32
+    {- ^ /@spacing@/: number of pixels that the spacing should take up. -}
+    -> m ()
+tableSetRowSpacing table row spacing = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    gtk_table_set_row_spacing table' row spacing
+    touchManagedPtr table
+    return ()
+
+#if ENABLE_OVERLOADING
+data TableSetRowSpacingMethodInfo
+instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m, IsTable a) => O.MethodInfo TableSetRowSpacingMethodInfo a signature where
+    overloadedMethod _ = tableSetRowSpacing
+
+#endif
+
+-- method Table::set_row_spacings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "Table"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTable.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of pixels of space to place between every row in the table.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_table_set_row_spacings" gtk_table_set_row_spacings :: 
+    Ptr Table ->                            -- table : TInterface (Name {namespace = "Gtk", name = "Table"})
+    Word32 ->                               -- spacing : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED tableSetRowSpacings ["(Since version 3.4)","Use 'GI.Gtk.Objects.Grid.gridSetRowSpacing' with 'GI.Gtk.Objects.Grid.Grid'."] #-}
+{- |
+Sets the space between every row in /@table@/ equal to /@spacing@/.
+-}
+tableSetRowSpacings ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.Table.Table'. -}
+    -> Word32
+    {- ^ /@spacing@/: the number of pixels of space to place between every row in the table. -}
+    -> m ()
+tableSetRowSpacings table spacing = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    gtk_table_set_row_spacings table' spacing
+    touchManagedPtr table
+    return ()
+
+#if ENABLE_OVERLOADING
+data TableSetRowSpacingsMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsTable a) => O.MethodInfo TableSetRowSpacingsMethodInfo a signature where
+    overloadedMethod _ = tableSetRowSpacings
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Table.hs-boot b/GI/Gtk/Objects/Table.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Table.hs-boot
@@ -0,0 +1,86 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Table where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Table = Table (ManagedPtr Table)
+instance GObject Table where
+class (GObject o, O.IsDescendantOf Table o) => IsTable o
+instance (GObject o, O.IsDescendantOf Table o) => IsTable o
+instance O.HasParentTypes Table
+#if ENABLE_OVERLOADING
+data TableColumnSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableHomogeneousPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableNColumnsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableNRowsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableRowSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableAttachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableAttachDefaultsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableGetColSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableGetDefaultColSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableGetDefaultRowSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableGetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableGetRowSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableGetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableResizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableSetColSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableSetColSpacingsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableSetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableSetRowSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TableSetRowSpacingsMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TearoffMenuItem.hs b/GI/Gtk/Objects/TearoffMenuItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TearoffMenuItem.hs
@@ -0,0 +1,502 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.TearoffMenuItem.TearoffMenuItem' is a special 'GI.Gtk.Objects.MenuItem.MenuItem' which is used to
+tear off and reattach its menu.
+
+When its menu is shown normally, the 'GI.Gtk.Objects.TearoffMenuItem.TearoffMenuItem' is drawn as a
+dotted line indicating that the menu can be torn off.  Activating it
+causes its menu to be torn off and displayed in its own window
+as a tearoff menu.
+
+When its menu is shown as a tearoff menu, the 'GI.Gtk.Objects.TearoffMenuItem.TearoffMenuItem' is drawn
+as a dotted line which has a left pointing arrow graphic indicating that
+the tearoff menu can be reattached.  Activating it will erase the tearoff
+menu window.
+
+> 'GI.Gtk.Objects.TearoffMenuItem.TearoffMenuItem' is deprecated and should not be used in newly
+> written code. Menus are not meant to be torn around.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TearoffMenuItem
+    ( 
+
+-- * Exported types
+    TearoffMenuItem(..)                     ,
+    IsTearoffMenuItem                       ,
+    toTearoffMenuItem                       ,
+    noTearoffMenuItem                       ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    tearoffMenuItemNew                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.MenuItem as Gtk.MenuItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype TearoffMenuItem = TearoffMenuItem (ManagedPtr TearoffMenuItem)
+foreign import ccall "gtk_tearoff_menu_item_get_type"
+    c_gtk_tearoff_menu_item_get_type :: IO GType
+
+instance GObject TearoffMenuItem where
+    gobjectType = c_gtk_tearoff_menu_item_get_type
+    
+
+-- | Type class for types which can be safely cast to `TearoffMenuItem`, for instance with `toTearoffMenuItem`.
+class (GObject o, O.IsDescendantOf TearoffMenuItem o) => IsTearoffMenuItem o
+instance (GObject o, O.IsDescendantOf TearoffMenuItem o) => IsTearoffMenuItem o
+
+instance O.HasParentTypes TearoffMenuItem
+type instance O.ParentTypes TearoffMenuItem = '[Gtk.MenuItem.MenuItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `TearoffMenuItem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTearoffMenuItem :: (MonadIO m, IsTearoffMenuItem o) => o -> m TearoffMenuItem
+toTearoffMenuItem = liftIO . unsafeCastTo TearoffMenuItem
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TearoffMenuItem`.
+noTearoffMenuItem :: Maybe TearoffMenuItem
+noTearoffMenuItem = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTearoffMenuItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTearoffMenuItemMethod "activate" o = Gtk.MenuItem.MenuItemActivateMethodInfo
+    ResolveTearoffMenuItemMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveTearoffMenuItemMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveTearoffMenuItemMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveTearoffMenuItemMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveTearoffMenuItemMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveTearoffMenuItemMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveTearoffMenuItemMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveTearoffMenuItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTearoffMenuItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTearoffMenuItemMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveTearoffMenuItemMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveTearoffMenuItemMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveTearoffMenuItemMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveTearoffMenuItemMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveTearoffMenuItemMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveTearoffMenuItemMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveTearoffMenuItemMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveTearoffMenuItemMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveTearoffMenuItemMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveTearoffMenuItemMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveTearoffMenuItemMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveTearoffMenuItemMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveTearoffMenuItemMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveTearoffMenuItemMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveTearoffMenuItemMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveTearoffMenuItemMethod "deselect" o = Gtk.MenuItem.MenuItemDeselectMethodInfo
+    ResolveTearoffMenuItemMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveTearoffMenuItemMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveTearoffMenuItemMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveTearoffMenuItemMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveTearoffMenuItemMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveTearoffMenuItemMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveTearoffMenuItemMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveTearoffMenuItemMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveTearoffMenuItemMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveTearoffMenuItemMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveTearoffMenuItemMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveTearoffMenuItemMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveTearoffMenuItemMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveTearoffMenuItemMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveTearoffMenuItemMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveTearoffMenuItemMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveTearoffMenuItemMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveTearoffMenuItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTearoffMenuItemMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveTearoffMenuItemMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveTearoffMenuItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTearoffMenuItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTearoffMenuItemMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveTearoffMenuItemMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveTearoffMenuItemMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveTearoffMenuItemMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveTearoffMenuItemMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveTearoffMenuItemMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveTearoffMenuItemMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveTearoffMenuItemMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveTearoffMenuItemMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveTearoffMenuItemMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveTearoffMenuItemMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveTearoffMenuItemMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveTearoffMenuItemMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveTearoffMenuItemMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveTearoffMenuItemMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveTearoffMenuItemMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveTearoffMenuItemMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveTearoffMenuItemMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveTearoffMenuItemMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveTearoffMenuItemMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveTearoffMenuItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTearoffMenuItemMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveTearoffMenuItemMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveTearoffMenuItemMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveTearoffMenuItemMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveTearoffMenuItemMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveTearoffMenuItemMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveTearoffMenuItemMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveTearoffMenuItemMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveTearoffMenuItemMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveTearoffMenuItemMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveTearoffMenuItemMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveTearoffMenuItemMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveTearoffMenuItemMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveTearoffMenuItemMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveTearoffMenuItemMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveTearoffMenuItemMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveTearoffMenuItemMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveTearoffMenuItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTearoffMenuItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTearoffMenuItemMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveTearoffMenuItemMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveTearoffMenuItemMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveTearoffMenuItemMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveTearoffMenuItemMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveTearoffMenuItemMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveTearoffMenuItemMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveTearoffMenuItemMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveTearoffMenuItemMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveTearoffMenuItemMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveTearoffMenuItemMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveTearoffMenuItemMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveTearoffMenuItemMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveTearoffMenuItemMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveTearoffMenuItemMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveTearoffMenuItemMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveTearoffMenuItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTearoffMenuItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTearoffMenuItemMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveTearoffMenuItemMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveTearoffMenuItemMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveTearoffMenuItemMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveTearoffMenuItemMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveTearoffMenuItemMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveTearoffMenuItemMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveTearoffMenuItemMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveTearoffMenuItemMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveTearoffMenuItemMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveTearoffMenuItemMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveTearoffMenuItemMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveTearoffMenuItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTearoffMenuItemMethod "select" o = Gtk.MenuItem.MenuItemSelectMethodInfo
+    ResolveTearoffMenuItemMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveTearoffMenuItemMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveTearoffMenuItemMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveTearoffMenuItemMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveTearoffMenuItemMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveTearoffMenuItemMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveTearoffMenuItemMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveTearoffMenuItemMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveTearoffMenuItemMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveTearoffMenuItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTearoffMenuItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTearoffMenuItemMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveTearoffMenuItemMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveTearoffMenuItemMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveTearoffMenuItemMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveTearoffMenuItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTearoffMenuItemMethod "toggleSizeAllocate" o = Gtk.MenuItem.MenuItemToggleSizeAllocateMethodInfo
+    ResolveTearoffMenuItemMethod "toggleSizeRequest" o = Gtk.MenuItem.MenuItemToggleSizeRequestMethodInfo
+    ResolveTearoffMenuItemMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveTearoffMenuItemMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveTearoffMenuItemMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveTearoffMenuItemMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveTearoffMenuItemMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveTearoffMenuItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTearoffMenuItemMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveTearoffMenuItemMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveTearoffMenuItemMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveTearoffMenuItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTearoffMenuItemMethod "getAccelPath" o = Gtk.MenuItem.MenuItemGetAccelPathMethodInfo
+    ResolveTearoffMenuItemMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveTearoffMenuItemMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveTearoffMenuItemMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveTearoffMenuItemMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveTearoffMenuItemMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveTearoffMenuItemMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveTearoffMenuItemMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveTearoffMenuItemMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveTearoffMenuItemMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveTearoffMenuItemMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveTearoffMenuItemMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveTearoffMenuItemMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveTearoffMenuItemMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveTearoffMenuItemMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveTearoffMenuItemMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveTearoffMenuItemMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveTearoffMenuItemMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveTearoffMenuItemMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveTearoffMenuItemMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveTearoffMenuItemMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveTearoffMenuItemMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveTearoffMenuItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTearoffMenuItemMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveTearoffMenuItemMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveTearoffMenuItemMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveTearoffMenuItemMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveTearoffMenuItemMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveTearoffMenuItemMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveTearoffMenuItemMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveTearoffMenuItemMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveTearoffMenuItemMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveTearoffMenuItemMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveTearoffMenuItemMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveTearoffMenuItemMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveTearoffMenuItemMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveTearoffMenuItemMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveTearoffMenuItemMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveTearoffMenuItemMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveTearoffMenuItemMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveTearoffMenuItemMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveTearoffMenuItemMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveTearoffMenuItemMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveTearoffMenuItemMethod "getLabel" o = Gtk.MenuItem.MenuItemGetLabelMethodInfo
+    ResolveTearoffMenuItemMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveTearoffMenuItemMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveTearoffMenuItemMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveTearoffMenuItemMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveTearoffMenuItemMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveTearoffMenuItemMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveTearoffMenuItemMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveTearoffMenuItemMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveTearoffMenuItemMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveTearoffMenuItemMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveTearoffMenuItemMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveTearoffMenuItemMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveTearoffMenuItemMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveTearoffMenuItemMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveTearoffMenuItemMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveTearoffMenuItemMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveTearoffMenuItemMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveTearoffMenuItemMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveTearoffMenuItemMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveTearoffMenuItemMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveTearoffMenuItemMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveTearoffMenuItemMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveTearoffMenuItemMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveTearoffMenuItemMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveTearoffMenuItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTearoffMenuItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTearoffMenuItemMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveTearoffMenuItemMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveTearoffMenuItemMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveTearoffMenuItemMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveTearoffMenuItemMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveTearoffMenuItemMethod "getReserveIndicator" o = Gtk.MenuItem.MenuItemGetReserveIndicatorMethodInfo
+    ResolveTearoffMenuItemMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveTearoffMenuItemMethod "getRightJustified" o = Gtk.MenuItem.MenuItemGetRightJustifiedMethodInfo
+    ResolveTearoffMenuItemMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveTearoffMenuItemMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveTearoffMenuItemMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveTearoffMenuItemMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveTearoffMenuItemMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveTearoffMenuItemMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveTearoffMenuItemMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveTearoffMenuItemMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveTearoffMenuItemMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveTearoffMenuItemMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveTearoffMenuItemMethod "getSubmenu" o = Gtk.MenuItem.MenuItemGetSubmenuMethodInfo
+    ResolveTearoffMenuItemMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveTearoffMenuItemMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveTearoffMenuItemMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveTearoffMenuItemMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveTearoffMenuItemMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveTearoffMenuItemMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveTearoffMenuItemMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveTearoffMenuItemMethod "getUseUnderline" o = Gtk.MenuItem.MenuItemGetUseUnderlineMethodInfo
+    ResolveTearoffMenuItemMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveTearoffMenuItemMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveTearoffMenuItemMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveTearoffMenuItemMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveTearoffMenuItemMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveTearoffMenuItemMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveTearoffMenuItemMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveTearoffMenuItemMethod "setAccelPath" o = Gtk.MenuItem.MenuItemSetAccelPathMethodInfo
+    ResolveTearoffMenuItemMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveTearoffMenuItemMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveTearoffMenuItemMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveTearoffMenuItemMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveTearoffMenuItemMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveTearoffMenuItemMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveTearoffMenuItemMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveTearoffMenuItemMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveTearoffMenuItemMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveTearoffMenuItemMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveTearoffMenuItemMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveTearoffMenuItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTearoffMenuItemMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveTearoffMenuItemMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveTearoffMenuItemMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveTearoffMenuItemMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveTearoffMenuItemMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveTearoffMenuItemMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveTearoffMenuItemMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveTearoffMenuItemMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveTearoffMenuItemMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveTearoffMenuItemMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveTearoffMenuItemMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveTearoffMenuItemMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveTearoffMenuItemMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveTearoffMenuItemMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveTearoffMenuItemMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveTearoffMenuItemMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveTearoffMenuItemMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveTearoffMenuItemMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveTearoffMenuItemMethod "setLabel" o = Gtk.MenuItem.MenuItemSetLabelMethodInfo
+    ResolveTearoffMenuItemMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveTearoffMenuItemMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveTearoffMenuItemMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveTearoffMenuItemMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveTearoffMenuItemMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveTearoffMenuItemMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveTearoffMenuItemMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveTearoffMenuItemMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveTearoffMenuItemMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveTearoffMenuItemMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveTearoffMenuItemMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveTearoffMenuItemMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveTearoffMenuItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTearoffMenuItemMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveTearoffMenuItemMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveTearoffMenuItemMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveTearoffMenuItemMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveTearoffMenuItemMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveTearoffMenuItemMethod "setReserveIndicator" o = Gtk.MenuItem.MenuItemSetReserveIndicatorMethodInfo
+    ResolveTearoffMenuItemMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveTearoffMenuItemMethod "setRightJustified" o = Gtk.MenuItem.MenuItemSetRightJustifiedMethodInfo
+    ResolveTearoffMenuItemMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveTearoffMenuItemMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveTearoffMenuItemMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveTearoffMenuItemMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveTearoffMenuItemMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveTearoffMenuItemMethod "setSubmenu" o = Gtk.MenuItem.MenuItemSetSubmenuMethodInfo
+    ResolveTearoffMenuItemMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveTearoffMenuItemMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveTearoffMenuItemMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveTearoffMenuItemMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveTearoffMenuItemMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveTearoffMenuItemMethod "setUseUnderline" o = Gtk.MenuItem.MenuItemSetUseUnderlineMethodInfo
+    ResolveTearoffMenuItemMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveTearoffMenuItemMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveTearoffMenuItemMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveTearoffMenuItemMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveTearoffMenuItemMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveTearoffMenuItemMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveTearoffMenuItemMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTearoffMenuItemMethod t TearoffMenuItem, O.MethodInfo info TearoffMenuItem p) => OL.IsLabel t (TearoffMenuItem -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TearoffMenuItem
+type instance O.AttributeList TearoffMenuItem = TearoffMenuItemAttributeList
+type TearoffMenuItemAttributeList = ('[ '("accelPath", Gtk.MenuItem.MenuItemAccelPathPropertyInfo), '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.MenuItem.MenuItemLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rightJustified", Gtk.MenuItem.MenuItemRightJustifiedPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("submenu", Gtk.MenuItem.MenuItemSubmenuPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useUnderline", Gtk.MenuItem.MenuItemUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TearoffMenuItem = TearoffMenuItemSignalList
+type TearoffMenuItemSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.MenuItem.MenuItemActivateSignalInfo), '("activateItem", Gtk.MenuItem.MenuItemActivateItemSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deselect", Gtk.MenuItem.MenuItemDeselectSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("select", Gtk.MenuItem.MenuItemSelectSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleSizeAllocate", Gtk.MenuItem.MenuItemToggleSizeAllocateSignalInfo), '("toggleSizeRequest", Gtk.MenuItem.MenuItemToggleSizeRequestSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TearoffMenuItem::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TearoffMenuItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tearoff_menu_item_new" gtk_tearoff_menu_item_new :: 
+    IO (Ptr TearoffMenuItem)
+
+{-# DEPRECATED tearoffMenuItemNew ["(Since version 3.4)","'GI.Gtk.Objects.TearoffMenuItem.TearoffMenuItem' is deprecated and should not be","    used in newly written code."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.TearoffMenuItem.TearoffMenuItem'.
+-}
+tearoffMenuItemNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m TearoffMenuItem
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.TearoffMenuItem.TearoffMenuItem'. -}
+tearoffMenuItemNew  = liftIO $ do
+    result <- gtk_tearoff_menu_item_new
+    checkUnexpectedReturnNULL "tearoffMenuItemNew" result
+    result' <- (newObject TearoffMenuItem) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/TearoffMenuItem.hs-boot b/GI/Gtk/Objects/TearoffMenuItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TearoffMenuItem.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TearoffMenuItem where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TearoffMenuItem = TearoffMenuItem (ManagedPtr TearoffMenuItem)
+instance GObject TearoffMenuItem where
+class (GObject o, O.IsDescendantOf TearoffMenuItem o) => IsTearoffMenuItem o
+instance (GObject o, O.IsDescendantOf TearoffMenuItem o) => IsTearoffMenuItem o
+instance O.HasParentTypes TearoffMenuItem
diff --git a/GI/Gtk/Objects/TextBuffer.hs b/GI/Gtk/Objects/TextBuffer.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextBuffer.hs
@@ -0,0 +1,5774 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+You may wish to begin by reading the
+[text widget conceptual overview][TextWidget]
+which gives an overview of all the objects and data
+types related to the text widget and how they work together.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TextBuffer
+    ( 
+
+-- * Exported types
+    TextBuffer(..)                          ,
+    IsTextBuffer                            ,
+    toTextBuffer                            ,
+    noTextBuffer                            ,
+
+
+ -- * Methods
+-- ** addMark #method:addMark#
+
+#if ENABLE_OVERLOADING
+    TextBufferAddMarkMethodInfo             ,
+#endif
+    textBufferAddMark                       ,
+
+
+-- ** addSelectionClipboard #method:addSelectionClipboard#
+
+#if ENABLE_OVERLOADING
+    TextBufferAddSelectionClipboardMethodInfo,
+#endif
+    textBufferAddSelectionClipboard         ,
+
+
+-- ** applyTag #method:applyTag#
+
+#if ENABLE_OVERLOADING
+    TextBufferApplyTagMethodInfo            ,
+#endif
+    textBufferApplyTag                      ,
+
+
+-- ** applyTagByName #method:applyTagByName#
+
+#if ENABLE_OVERLOADING
+    TextBufferApplyTagByNameMethodInfo      ,
+#endif
+    textBufferApplyTagByName                ,
+
+
+-- ** backspace #method:backspace#
+
+#if ENABLE_OVERLOADING
+    TextBufferBackspaceMethodInfo           ,
+#endif
+    textBufferBackspace                     ,
+
+
+-- ** beginUserAction #method:beginUserAction#
+
+#if ENABLE_OVERLOADING
+    TextBufferBeginUserActionMethodInfo     ,
+#endif
+    textBufferBeginUserAction               ,
+
+
+-- ** copyClipboard #method:copyClipboard#
+
+#if ENABLE_OVERLOADING
+    TextBufferCopyClipboardMethodInfo       ,
+#endif
+    textBufferCopyClipboard                 ,
+
+
+-- ** createChildAnchor #method:createChildAnchor#
+
+#if ENABLE_OVERLOADING
+    TextBufferCreateChildAnchorMethodInfo   ,
+#endif
+    textBufferCreateChildAnchor             ,
+
+
+-- ** createMark #method:createMark#
+
+#if ENABLE_OVERLOADING
+    TextBufferCreateMarkMethodInfo          ,
+#endif
+    textBufferCreateMark                    ,
+
+
+-- ** cutClipboard #method:cutClipboard#
+
+#if ENABLE_OVERLOADING
+    TextBufferCutClipboardMethodInfo        ,
+#endif
+    textBufferCutClipboard                  ,
+
+
+-- ** delete #method:delete#
+
+#if ENABLE_OVERLOADING
+    TextBufferDeleteMethodInfo              ,
+#endif
+    textBufferDelete                        ,
+
+
+-- ** deleteInteractive #method:deleteInteractive#
+
+#if ENABLE_OVERLOADING
+    TextBufferDeleteInteractiveMethodInfo   ,
+#endif
+    textBufferDeleteInteractive             ,
+
+
+-- ** deleteMark #method:deleteMark#
+
+#if ENABLE_OVERLOADING
+    TextBufferDeleteMarkMethodInfo          ,
+#endif
+    textBufferDeleteMark                    ,
+
+
+-- ** deleteMarkByName #method:deleteMarkByName#
+
+#if ENABLE_OVERLOADING
+    TextBufferDeleteMarkByNameMethodInfo    ,
+#endif
+    textBufferDeleteMarkByName              ,
+
+
+-- ** deleteSelection #method:deleteSelection#
+
+#if ENABLE_OVERLOADING
+    TextBufferDeleteSelectionMethodInfo     ,
+#endif
+    textBufferDeleteSelection               ,
+
+
+-- ** deserialize #method:deserialize#
+
+#if ENABLE_OVERLOADING
+    TextBufferDeserializeMethodInfo         ,
+#endif
+    textBufferDeserialize                   ,
+
+
+-- ** deserializeGetCanCreateTags #method:deserializeGetCanCreateTags#
+
+#if ENABLE_OVERLOADING
+    TextBufferDeserializeGetCanCreateTagsMethodInfo,
+#endif
+    textBufferDeserializeGetCanCreateTags   ,
+
+
+-- ** deserializeSetCanCreateTags #method:deserializeSetCanCreateTags#
+
+#if ENABLE_OVERLOADING
+    TextBufferDeserializeSetCanCreateTagsMethodInfo,
+#endif
+    textBufferDeserializeSetCanCreateTags   ,
+
+
+-- ** endUserAction #method:endUserAction#
+
+#if ENABLE_OVERLOADING
+    TextBufferEndUserActionMethodInfo       ,
+#endif
+    textBufferEndUserAction                 ,
+
+
+-- ** getBounds #method:getBounds#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetBoundsMethodInfo           ,
+#endif
+    textBufferGetBounds                     ,
+
+
+-- ** getCharCount #method:getCharCount#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetCharCountMethodInfo        ,
+#endif
+    textBufferGetCharCount                  ,
+
+
+-- ** getCopyTargetList #method:getCopyTargetList#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetCopyTargetListMethodInfo   ,
+#endif
+    textBufferGetCopyTargetList             ,
+
+
+-- ** getDeserializeFormats #method:getDeserializeFormats#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetDeserializeFormatsMethodInfo,
+#endif
+    textBufferGetDeserializeFormats         ,
+
+
+-- ** getEndIter #method:getEndIter#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetEndIterMethodInfo          ,
+#endif
+    textBufferGetEndIter                    ,
+
+
+-- ** getHasSelection #method:getHasSelection#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetHasSelectionMethodInfo     ,
+#endif
+    textBufferGetHasSelection               ,
+
+
+-- ** getInsert #method:getInsert#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetInsertMethodInfo           ,
+#endif
+    textBufferGetInsert                     ,
+
+
+-- ** getIterAtChildAnchor #method:getIterAtChildAnchor#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetIterAtChildAnchorMethodInfo,
+#endif
+    textBufferGetIterAtChildAnchor          ,
+
+
+-- ** getIterAtLine #method:getIterAtLine#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetIterAtLineMethodInfo       ,
+#endif
+    textBufferGetIterAtLine                 ,
+
+
+-- ** getIterAtLineIndex #method:getIterAtLineIndex#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetIterAtLineIndexMethodInfo  ,
+#endif
+    textBufferGetIterAtLineIndex            ,
+
+
+-- ** getIterAtLineOffset #method:getIterAtLineOffset#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetIterAtLineOffsetMethodInfo ,
+#endif
+    textBufferGetIterAtLineOffset           ,
+
+
+-- ** getIterAtMark #method:getIterAtMark#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetIterAtMarkMethodInfo       ,
+#endif
+    textBufferGetIterAtMark                 ,
+
+
+-- ** getIterAtOffset #method:getIterAtOffset#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetIterAtOffsetMethodInfo     ,
+#endif
+    textBufferGetIterAtOffset               ,
+
+
+-- ** getLineCount #method:getLineCount#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetLineCountMethodInfo        ,
+#endif
+    textBufferGetLineCount                  ,
+
+
+-- ** getMark #method:getMark#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetMarkMethodInfo             ,
+#endif
+    textBufferGetMark                       ,
+
+
+-- ** getModified #method:getModified#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetModifiedMethodInfo         ,
+#endif
+    textBufferGetModified                   ,
+
+
+-- ** getPasteTargetList #method:getPasteTargetList#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetPasteTargetListMethodInfo  ,
+#endif
+    textBufferGetPasteTargetList            ,
+
+
+-- ** getSelectionBound #method:getSelectionBound#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetSelectionBoundMethodInfo   ,
+#endif
+    textBufferGetSelectionBound             ,
+
+
+-- ** getSelectionBounds #method:getSelectionBounds#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetSelectionBoundsMethodInfo  ,
+#endif
+    textBufferGetSelectionBounds            ,
+
+
+-- ** getSerializeFormats #method:getSerializeFormats#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetSerializeFormatsMethodInfo ,
+#endif
+    textBufferGetSerializeFormats           ,
+
+
+-- ** getSlice #method:getSlice#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetSliceMethodInfo            ,
+#endif
+    textBufferGetSlice                      ,
+
+
+-- ** getStartIter #method:getStartIter#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetStartIterMethodInfo        ,
+#endif
+    textBufferGetStartIter                  ,
+
+
+-- ** getTagTable #method:getTagTable#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetTagTableMethodInfo         ,
+#endif
+    textBufferGetTagTable                   ,
+
+
+-- ** getText #method:getText#
+
+#if ENABLE_OVERLOADING
+    TextBufferGetTextMethodInfo             ,
+#endif
+    textBufferGetText                       ,
+
+
+-- ** insert #method:insert#
+
+#if ENABLE_OVERLOADING
+    TextBufferInsertMethodInfo              ,
+#endif
+    textBufferInsert                        ,
+
+
+-- ** insertAtCursor #method:insertAtCursor#
+
+#if ENABLE_OVERLOADING
+    TextBufferInsertAtCursorMethodInfo      ,
+#endif
+    textBufferInsertAtCursor                ,
+
+
+-- ** insertChildAnchor #method:insertChildAnchor#
+
+#if ENABLE_OVERLOADING
+    TextBufferInsertChildAnchorMethodInfo   ,
+#endif
+    textBufferInsertChildAnchor             ,
+
+
+-- ** insertInteractive #method:insertInteractive#
+
+#if ENABLE_OVERLOADING
+    TextBufferInsertInteractiveMethodInfo   ,
+#endif
+    textBufferInsertInteractive             ,
+
+
+-- ** insertInteractiveAtCursor #method:insertInteractiveAtCursor#
+
+#if ENABLE_OVERLOADING
+    TextBufferInsertInteractiveAtCursorMethodInfo,
+#endif
+    textBufferInsertInteractiveAtCursor     ,
+
+
+-- ** insertMarkup #method:insertMarkup#
+
+#if ENABLE_OVERLOADING
+    TextBufferInsertMarkupMethodInfo        ,
+#endif
+    textBufferInsertMarkup                  ,
+
+
+-- ** insertPixbuf #method:insertPixbuf#
+
+#if ENABLE_OVERLOADING
+    TextBufferInsertPixbufMethodInfo        ,
+#endif
+    textBufferInsertPixbuf                  ,
+
+
+-- ** insertRange #method:insertRange#
+
+#if ENABLE_OVERLOADING
+    TextBufferInsertRangeMethodInfo         ,
+#endif
+    textBufferInsertRange                   ,
+
+
+-- ** insertRangeInteractive #method:insertRangeInteractive#
+
+#if ENABLE_OVERLOADING
+    TextBufferInsertRangeInteractiveMethodInfo,
+#endif
+    textBufferInsertRangeInteractive        ,
+
+
+-- ** moveMark #method:moveMark#
+
+#if ENABLE_OVERLOADING
+    TextBufferMoveMarkMethodInfo            ,
+#endif
+    textBufferMoveMark                      ,
+
+
+-- ** moveMarkByName #method:moveMarkByName#
+
+#if ENABLE_OVERLOADING
+    TextBufferMoveMarkByNameMethodInfo      ,
+#endif
+    textBufferMoveMarkByName                ,
+
+
+-- ** new #method:new#
+
+    textBufferNew                           ,
+
+
+-- ** pasteClipboard #method:pasteClipboard#
+
+#if ENABLE_OVERLOADING
+    TextBufferPasteClipboardMethodInfo      ,
+#endif
+    textBufferPasteClipboard                ,
+
+
+-- ** placeCursor #method:placeCursor#
+
+#if ENABLE_OVERLOADING
+    TextBufferPlaceCursorMethodInfo         ,
+#endif
+    textBufferPlaceCursor                   ,
+
+
+-- ** registerDeserializeFormat #method:registerDeserializeFormat#
+
+#if ENABLE_OVERLOADING
+    TextBufferRegisterDeserializeFormatMethodInfo,
+#endif
+    textBufferRegisterDeserializeFormat     ,
+
+
+-- ** registerDeserializeTagset #method:registerDeserializeTagset#
+
+#if ENABLE_OVERLOADING
+    TextBufferRegisterDeserializeTagsetMethodInfo,
+#endif
+    textBufferRegisterDeserializeTagset     ,
+
+
+-- ** registerSerializeFormat #method:registerSerializeFormat#
+
+#if ENABLE_OVERLOADING
+    TextBufferRegisterSerializeFormatMethodInfo,
+#endif
+    textBufferRegisterSerializeFormat       ,
+
+
+-- ** registerSerializeTagset #method:registerSerializeTagset#
+
+#if ENABLE_OVERLOADING
+    TextBufferRegisterSerializeTagsetMethodInfo,
+#endif
+    textBufferRegisterSerializeTagset       ,
+
+
+-- ** removeAllTags #method:removeAllTags#
+
+#if ENABLE_OVERLOADING
+    TextBufferRemoveAllTagsMethodInfo       ,
+#endif
+    textBufferRemoveAllTags                 ,
+
+
+-- ** removeSelectionClipboard #method:removeSelectionClipboard#
+
+#if ENABLE_OVERLOADING
+    TextBufferRemoveSelectionClipboardMethodInfo,
+#endif
+    textBufferRemoveSelectionClipboard      ,
+
+
+-- ** removeTag #method:removeTag#
+
+#if ENABLE_OVERLOADING
+    TextBufferRemoveTagMethodInfo           ,
+#endif
+    textBufferRemoveTag                     ,
+
+
+-- ** removeTagByName #method:removeTagByName#
+
+#if ENABLE_OVERLOADING
+    TextBufferRemoveTagByNameMethodInfo     ,
+#endif
+    textBufferRemoveTagByName               ,
+
+
+-- ** selectRange #method:selectRange#
+
+#if ENABLE_OVERLOADING
+    TextBufferSelectRangeMethodInfo         ,
+#endif
+    textBufferSelectRange                   ,
+
+
+-- ** serialize #method:serialize#
+
+#if ENABLE_OVERLOADING
+    TextBufferSerializeMethodInfo           ,
+#endif
+    textBufferSerialize                     ,
+
+
+-- ** setModified #method:setModified#
+
+#if ENABLE_OVERLOADING
+    TextBufferSetModifiedMethodInfo         ,
+#endif
+    textBufferSetModified                   ,
+
+
+-- ** setText #method:setText#
+
+#if ENABLE_OVERLOADING
+    TextBufferSetTextMethodInfo             ,
+#endif
+    textBufferSetText                       ,
+
+
+-- ** unregisterDeserializeFormat #method:unregisterDeserializeFormat#
+
+#if ENABLE_OVERLOADING
+    TextBufferUnregisterDeserializeFormatMethodInfo,
+#endif
+    textBufferUnregisterDeserializeFormat   ,
+
+
+-- ** unregisterSerializeFormat #method:unregisterSerializeFormat#
+
+#if ENABLE_OVERLOADING
+    TextBufferUnregisterSerializeFormatMethodInfo,
+#endif
+    textBufferUnregisterSerializeFormat     ,
+
+
+
+
+ -- * Properties
+-- ** copyTargetList #attr:copyTargetList#
+{- | The list of targets this buffer supports for clipboard copying
+and as DND source.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    TextBufferCopyTargetListPropertyInfo    ,
+#endif
+    getTextBufferCopyTargetList             ,
+#if ENABLE_OVERLOADING
+    textBufferCopyTargetList                ,
+#endif
+
+
+-- ** cursorPosition #attr:cursorPosition#
+{- | The position of the insert mark (as offset from the beginning
+of the buffer). It is useful for getting notified when the
+cursor moves.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    TextBufferCursorPositionPropertyInfo    ,
+#endif
+    getTextBufferCursorPosition             ,
+#if ENABLE_OVERLOADING
+    textBufferCursorPosition                ,
+#endif
+
+
+-- ** hasSelection #attr:hasSelection#
+{- | Whether the buffer has some text currently selected.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    TextBufferHasSelectionPropertyInfo      ,
+#endif
+    getTextBufferHasSelection               ,
+#if ENABLE_OVERLOADING
+    textBufferHasSelection                  ,
+#endif
+
+
+-- ** pasteTargetList #attr:pasteTargetList#
+{- | The list of targets this buffer supports for clipboard pasting
+and as DND destination.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    TextBufferPasteTargetListPropertyInfo   ,
+#endif
+    getTextBufferPasteTargetList            ,
+#if ENABLE_OVERLOADING
+    textBufferPasteTargetList               ,
+#endif
+
+
+-- ** tagTable #attr:tagTable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextBufferTagTablePropertyInfo          ,
+#endif
+    constructTextBufferTagTable             ,
+    getTextBufferTagTable                   ,
+#if ENABLE_OVERLOADING
+    textBufferTagTable                      ,
+#endif
+
+
+-- ** text #attr:text#
+{- | The text content of the buffer. Without child widgets and images,
+see 'GI.Gtk.Objects.TextBuffer.textBufferGetText' for more information.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    TextBufferTextPropertyInfo              ,
+#endif
+    clearTextBufferText                     ,
+    constructTextBufferText                 ,
+    getTextBufferText                       ,
+    setTextBufferText                       ,
+#if ENABLE_OVERLOADING
+    textBufferText                          ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** applyTag #signal:applyTag#
+
+    C_TextBufferApplyTagCallback            ,
+    TextBufferApplyTagCallback              ,
+#if ENABLE_OVERLOADING
+    TextBufferApplyTagSignalInfo            ,
+#endif
+    afterTextBufferApplyTag                 ,
+    genClosure_TextBufferApplyTag           ,
+    mk_TextBufferApplyTagCallback           ,
+    noTextBufferApplyTagCallback            ,
+    onTextBufferApplyTag                    ,
+    wrap_TextBufferApplyTagCallback         ,
+
+
+-- ** beginUserAction #signal:beginUserAction#
+
+    C_TextBufferBeginUserActionCallback     ,
+    TextBufferBeginUserActionCallback       ,
+#if ENABLE_OVERLOADING
+    TextBufferBeginUserActionSignalInfo     ,
+#endif
+    afterTextBufferBeginUserAction          ,
+    genClosure_TextBufferBeginUserAction    ,
+    mk_TextBufferBeginUserActionCallback    ,
+    noTextBufferBeginUserActionCallback     ,
+    onTextBufferBeginUserAction             ,
+    wrap_TextBufferBeginUserActionCallback  ,
+
+
+-- ** changed #signal:changed#
+
+    C_TextBufferChangedCallback             ,
+    TextBufferChangedCallback               ,
+#if ENABLE_OVERLOADING
+    TextBufferChangedSignalInfo             ,
+#endif
+    afterTextBufferChanged                  ,
+    genClosure_TextBufferChanged            ,
+    mk_TextBufferChangedCallback            ,
+    noTextBufferChangedCallback             ,
+    onTextBufferChanged                     ,
+    wrap_TextBufferChangedCallback          ,
+
+
+-- ** deleteRange #signal:deleteRange#
+
+    C_TextBufferDeleteRangeCallback         ,
+    TextBufferDeleteRangeCallback           ,
+#if ENABLE_OVERLOADING
+    TextBufferDeleteRangeSignalInfo         ,
+#endif
+    afterTextBufferDeleteRange              ,
+    genClosure_TextBufferDeleteRange        ,
+    mk_TextBufferDeleteRangeCallback        ,
+    noTextBufferDeleteRangeCallback         ,
+    onTextBufferDeleteRange                 ,
+    wrap_TextBufferDeleteRangeCallback      ,
+
+
+-- ** endUserAction #signal:endUserAction#
+
+    C_TextBufferEndUserActionCallback       ,
+    TextBufferEndUserActionCallback         ,
+#if ENABLE_OVERLOADING
+    TextBufferEndUserActionSignalInfo       ,
+#endif
+    afterTextBufferEndUserAction            ,
+    genClosure_TextBufferEndUserAction      ,
+    mk_TextBufferEndUserActionCallback      ,
+    noTextBufferEndUserActionCallback       ,
+    onTextBufferEndUserAction               ,
+    wrap_TextBufferEndUserActionCallback    ,
+
+
+-- ** insertChildAnchor #signal:insertChildAnchor#
+
+    C_TextBufferInsertChildAnchorCallback   ,
+    TextBufferInsertChildAnchorCallback     ,
+#if ENABLE_OVERLOADING
+    TextBufferInsertChildAnchorSignalInfo   ,
+#endif
+    afterTextBufferInsertChildAnchor        ,
+    genClosure_TextBufferInsertChildAnchor  ,
+    mk_TextBufferInsertChildAnchorCallback  ,
+    noTextBufferInsertChildAnchorCallback   ,
+    onTextBufferInsertChildAnchor           ,
+    wrap_TextBufferInsertChildAnchorCallback,
+
+
+-- ** insertPixbuf #signal:insertPixbuf#
+
+    C_TextBufferInsertPixbufCallback        ,
+    TextBufferInsertPixbufCallback          ,
+#if ENABLE_OVERLOADING
+    TextBufferInsertPixbufSignalInfo        ,
+#endif
+    afterTextBufferInsertPixbuf             ,
+    genClosure_TextBufferInsertPixbuf       ,
+    mk_TextBufferInsertPixbufCallback       ,
+    noTextBufferInsertPixbufCallback        ,
+    onTextBufferInsertPixbuf                ,
+    wrap_TextBufferInsertPixbufCallback     ,
+
+
+-- ** insertText #signal:insertText#
+
+    C_TextBufferInsertTextCallback          ,
+    TextBufferInsertTextCallback            ,
+#if ENABLE_OVERLOADING
+    TextBufferInsertTextSignalInfo          ,
+#endif
+    afterTextBufferInsertText               ,
+    genClosure_TextBufferInsertText         ,
+    mk_TextBufferInsertTextCallback         ,
+    noTextBufferInsertTextCallback          ,
+    onTextBufferInsertText                  ,
+    wrap_TextBufferInsertTextCallback       ,
+
+
+-- ** markDeleted #signal:markDeleted#
+
+    C_TextBufferMarkDeletedCallback         ,
+    TextBufferMarkDeletedCallback           ,
+#if ENABLE_OVERLOADING
+    TextBufferMarkDeletedSignalInfo         ,
+#endif
+    afterTextBufferMarkDeleted              ,
+    genClosure_TextBufferMarkDeleted        ,
+    mk_TextBufferMarkDeletedCallback        ,
+    noTextBufferMarkDeletedCallback         ,
+    onTextBufferMarkDeleted                 ,
+    wrap_TextBufferMarkDeletedCallback      ,
+
+
+-- ** markSet #signal:markSet#
+
+    C_TextBufferMarkSetCallback             ,
+    TextBufferMarkSetCallback               ,
+#if ENABLE_OVERLOADING
+    TextBufferMarkSetSignalInfo             ,
+#endif
+    afterTextBufferMarkSet                  ,
+    genClosure_TextBufferMarkSet            ,
+    mk_TextBufferMarkSetCallback            ,
+    noTextBufferMarkSetCallback             ,
+    onTextBufferMarkSet                     ,
+    wrap_TextBufferMarkSetCallback          ,
+
+
+-- ** modifiedChanged #signal:modifiedChanged#
+
+    C_TextBufferModifiedChangedCallback     ,
+    TextBufferModifiedChangedCallback       ,
+#if ENABLE_OVERLOADING
+    TextBufferModifiedChangedSignalInfo     ,
+#endif
+    afterTextBufferModifiedChanged          ,
+    genClosure_TextBufferModifiedChanged    ,
+    mk_TextBufferModifiedChangedCallback    ,
+    noTextBufferModifiedChangedCallback     ,
+    onTextBufferModifiedChanged             ,
+    wrap_TextBufferModifiedChangedCallback  ,
+
+
+-- ** pasteDone #signal:pasteDone#
+
+    C_TextBufferPasteDoneCallback           ,
+    TextBufferPasteDoneCallback             ,
+#if ENABLE_OVERLOADING
+    TextBufferPasteDoneSignalInfo           ,
+#endif
+    afterTextBufferPasteDone                ,
+    genClosure_TextBufferPasteDone          ,
+    mk_TextBufferPasteDoneCallback          ,
+    noTextBufferPasteDoneCallback           ,
+    onTextBufferPasteDone                   ,
+    wrap_TextBufferPasteDoneCallback        ,
+
+
+-- ** removeTag #signal:removeTag#
+
+    C_TextBufferRemoveTagCallback           ,
+    TextBufferRemoveTagCallback             ,
+#if ENABLE_OVERLOADING
+    TextBufferRemoveTagSignalInfo           ,
+#endif
+    afterTextBufferRemoveTag                ,
+    genClosure_TextBufferRemoveTag          ,
+    mk_TextBufferRemoveTagCallback          ,
+    noTextBufferRemoveTagCallback           ,
+    onTextBufferRemoveTag                   ,
+    wrap_TextBufferRemoveTagCallback        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Atom as Gdk.Atom
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Clipboard as Gtk.Clipboard
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextChildAnchor as Gtk.TextChildAnchor
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextMark as Gtk.TextMark
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextTag as Gtk.TextTag
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextTagTable as Gtk.TextTagTable
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetList as Gtk.TargetList
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TextIter as Gtk.TextIter
+
+-- | Memory-managed wrapper type.
+newtype TextBuffer = TextBuffer (ManagedPtr TextBuffer)
+foreign import ccall "gtk_text_buffer_get_type"
+    c_gtk_text_buffer_get_type :: IO GType
+
+instance GObject TextBuffer where
+    gobjectType = c_gtk_text_buffer_get_type
+    
+
+-- | Type class for types which can be safely cast to `TextBuffer`, for instance with `toTextBuffer`.
+class (GObject o, O.IsDescendantOf TextBuffer o) => IsTextBuffer o
+instance (GObject o, O.IsDescendantOf TextBuffer o) => IsTextBuffer o
+
+instance O.HasParentTypes TextBuffer
+type instance O.ParentTypes TextBuffer = '[GObject.Object.Object]
+
+-- | Cast to `TextBuffer`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTextBuffer :: (MonadIO m, IsTextBuffer o) => o -> m TextBuffer
+toTextBuffer = liftIO . unsafeCastTo TextBuffer
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextBuffer`.
+noTextBuffer :: Maybe TextBuffer
+noTextBuffer = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTextBufferMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextBufferMethod "addMark" o = TextBufferAddMarkMethodInfo
+    ResolveTextBufferMethod "addSelectionClipboard" o = TextBufferAddSelectionClipboardMethodInfo
+    ResolveTextBufferMethod "applyTag" o = TextBufferApplyTagMethodInfo
+    ResolveTextBufferMethod "applyTagByName" o = TextBufferApplyTagByNameMethodInfo
+    ResolveTextBufferMethod "backspace" o = TextBufferBackspaceMethodInfo
+    ResolveTextBufferMethod "beginUserAction" o = TextBufferBeginUserActionMethodInfo
+    ResolveTextBufferMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTextBufferMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTextBufferMethod "copyClipboard" o = TextBufferCopyClipboardMethodInfo
+    ResolveTextBufferMethod "createChildAnchor" o = TextBufferCreateChildAnchorMethodInfo
+    ResolveTextBufferMethod "createMark" o = TextBufferCreateMarkMethodInfo
+    ResolveTextBufferMethod "cutClipboard" o = TextBufferCutClipboardMethodInfo
+    ResolveTextBufferMethod "delete" o = TextBufferDeleteMethodInfo
+    ResolveTextBufferMethod "deleteInteractive" o = TextBufferDeleteInteractiveMethodInfo
+    ResolveTextBufferMethod "deleteMark" o = TextBufferDeleteMarkMethodInfo
+    ResolveTextBufferMethod "deleteMarkByName" o = TextBufferDeleteMarkByNameMethodInfo
+    ResolveTextBufferMethod "deleteSelection" o = TextBufferDeleteSelectionMethodInfo
+    ResolveTextBufferMethod "deserialize" o = TextBufferDeserializeMethodInfo
+    ResolveTextBufferMethod "deserializeGetCanCreateTags" o = TextBufferDeserializeGetCanCreateTagsMethodInfo
+    ResolveTextBufferMethod "deserializeSetCanCreateTags" o = TextBufferDeserializeSetCanCreateTagsMethodInfo
+    ResolveTextBufferMethod "endUserAction" o = TextBufferEndUserActionMethodInfo
+    ResolveTextBufferMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTextBufferMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTextBufferMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTextBufferMethod "insert" o = TextBufferInsertMethodInfo
+    ResolveTextBufferMethod "insertAtCursor" o = TextBufferInsertAtCursorMethodInfo
+    ResolveTextBufferMethod "insertChildAnchor" o = TextBufferInsertChildAnchorMethodInfo
+    ResolveTextBufferMethod "insertInteractive" o = TextBufferInsertInteractiveMethodInfo
+    ResolveTextBufferMethod "insertInteractiveAtCursor" o = TextBufferInsertInteractiveAtCursorMethodInfo
+    ResolveTextBufferMethod "insertMarkup" o = TextBufferInsertMarkupMethodInfo
+    ResolveTextBufferMethod "insertPixbuf" o = TextBufferInsertPixbufMethodInfo
+    ResolveTextBufferMethod "insertRange" o = TextBufferInsertRangeMethodInfo
+    ResolveTextBufferMethod "insertRangeInteractive" o = TextBufferInsertRangeInteractiveMethodInfo
+    ResolveTextBufferMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTextBufferMethod "moveMark" o = TextBufferMoveMarkMethodInfo
+    ResolveTextBufferMethod "moveMarkByName" o = TextBufferMoveMarkByNameMethodInfo
+    ResolveTextBufferMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTextBufferMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTextBufferMethod "pasteClipboard" o = TextBufferPasteClipboardMethodInfo
+    ResolveTextBufferMethod "placeCursor" o = TextBufferPlaceCursorMethodInfo
+    ResolveTextBufferMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTextBufferMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTextBufferMethod "registerDeserializeFormat" o = TextBufferRegisterDeserializeFormatMethodInfo
+    ResolveTextBufferMethod "registerDeserializeTagset" o = TextBufferRegisterDeserializeTagsetMethodInfo
+    ResolveTextBufferMethod "registerSerializeFormat" o = TextBufferRegisterSerializeFormatMethodInfo
+    ResolveTextBufferMethod "registerSerializeTagset" o = TextBufferRegisterSerializeTagsetMethodInfo
+    ResolveTextBufferMethod "removeAllTags" o = TextBufferRemoveAllTagsMethodInfo
+    ResolveTextBufferMethod "removeSelectionClipboard" o = TextBufferRemoveSelectionClipboardMethodInfo
+    ResolveTextBufferMethod "removeTag" o = TextBufferRemoveTagMethodInfo
+    ResolveTextBufferMethod "removeTagByName" o = TextBufferRemoveTagByNameMethodInfo
+    ResolveTextBufferMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTextBufferMethod "selectRange" o = TextBufferSelectRangeMethodInfo
+    ResolveTextBufferMethod "serialize" o = TextBufferSerializeMethodInfo
+    ResolveTextBufferMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTextBufferMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTextBufferMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTextBufferMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTextBufferMethod "unregisterDeserializeFormat" o = TextBufferUnregisterDeserializeFormatMethodInfo
+    ResolveTextBufferMethod "unregisterSerializeFormat" o = TextBufferUnregisterSerializeFormatMethodInfo
+    ResolveTextBufferMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTextBufferMethod "getBounds" o = TextBufferGetBoundsMethodInfo
+    ResolveTextBufferMethod "getCharCount" o = TextBufferGetCharCountMethodInfo
+    ResolveTextBufferMethod "getCopyTargetList" o = TextBufferGetCopyTargetListMethodInfo
+    ResolveTextBufferMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTextBufferMethod "getDeserializeFormats" o = TextBufferGetDeserializeFormatsMethodInfo
+    ResolveTextBufferMethod "getEndIter" o = TextBufferGetEndIterMethodInfo
+    ResolveTextBufferMethod "getHasSelection" o = TextBufferGetHasSelectionMethodInfo
+    ResolveTextBufferMethod "getInsert" o = TextBufferGetInsertMethodInfo
+    ResolveTextBufferMethod "getIterAtChildAnchor" o = TextBufferGetIterAtChildAnchorMethodInfo
+    ResolveTextBufferMethod "getIterAtLine" o = TextBufferGetIterAtLineMethodInfo
+    ResolveTextBufferMethod "getIterAtLineIndex" o = TextBufferGetIterAtLineIndexMethodInfo
+    ResolveTextBufferMethod "getIterAtLineOffset" o = TextBufferGetIterAtLineOffsetMethodInfo
+    ResolveTextBufferMethod "getIterAtMark" o = TextBufferGetIterAtMarkMethodInfo
+    ResolveTextBufferMethod "getIterAtOffset" o = TextBufferGetIterAtOffsetMethodInfo
+    ResolveTextBufferMethod "getLineCount" o = TextBufferGetLineCountMethodInfo
+    ResolveTextBufferMethod "getMark" o = TextBufferGetMarkMethodInfo
+    ResolveTextBufferMethod "getModified" o = TextBufferGetModifiedMethodInfo
+    ResolveTextBufferMethod "getPasteTargetList" o = TextBufferGetPasteTargetListMethodInfo
+    ResolveTextBufferMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTextBufferMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTextBufferMethod "getSelectionBound" o = TextBufferGetSelectionBoundMethodInfo
+    ResolveTextBufferMethod "getSelectionBounds" o = TextBufferGetSelectionBoundsMethodInfo
+    ResolveTextBufferMethod "getSerializeFormats" o = TextBufferGetSerializeFormatsMethodInfo
+    ResolveTextBufferMethod "getSlice" o = TextBufferGetSliceMethodInfo
+    ResolveTextBufferMethod "getStartIter" o = TextBufferGetStartIterMethodInfo
+    ResolveTextBufferMethod "getTagTable" o = TextBufferGetTagTableMethodInfo
+    ResolveTextBufferMethod "getText" o = TextBufferGetTextMethodInfo
+    ResolveTextBufferMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTextBufferMethod "setModified" o = TextBufferSetModifiedMethodInfo
+    ResolveTextBufferMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTextBufferMethod "setText" o = TextBufferSetTextMethodInfo
+    ResolveTextBufferMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextBufferMethod t TextBuffer, O.MethodInfo info TextBuffer p) => OL.IsLabel t (TextBuffer -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal TextBuffer::apply-tag
+{- |
+The ::apply-tag signal is emitted to apply a tag to a
+range of text in a 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+Applying actually occurs in the default handler.
+
+Note that if your handler runs before the default handler it must not
+invalidate the /@start@/ and /@end@/ iters (or has to revalidate them).
+
+See also:
+'GI.Gtk.Objects.TextBuffer.textBufferApplyTag',
+@/gtk_text_buffer_insert_with_tags()/@,
+'GI.Gtk.Objects.TextBuffer.textBufferInsertRange'.
+-}
+type TextBufferApplyTagCallback =
+    Gtk.TextTag.TextTag
+    {- ^ /@tag@/: the applied tag -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: the start of the range the tag is applied to -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: the end of the range the tag is applied to -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferApplyTagCallback`@.
+noTextBufferApplyTagCallback :: Maybe TextBufferApplyTagCallback
+noTextBufferApplyTagCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferApplyTagCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextTag.TextTag ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferApplyTagCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferApplyTagCallback :: C_TextBufferApplyTagCallback -> IO (FunPtr C_TextBufferApplyTagCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferApplyTag :: MonadIO m => TextBufferApplyTagCallback -> m (GClosure C_TextBufferApplyTagCallback)
+genClosure_TextBufferApplyTag cb = liftIO $ do
+    let cb' = wrap_TextBufferApplyTagCallback cb
+    mk_TextBufferApplyTagCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferApplyTagCallback` into a `C_TextBufferApplyTagCallback`.
+wrap_TextBufferApplyTagCallback ::
+    TextBufferApplyTagCallback ->
+    C_TextBufferApplyTagCallback
+wrap_TextBufferApplyTagCallback _cb _ tag start end _ = do
+    tag' <- (newObject Gtk.TextTag.TextTag) tag
+    B.ManagedPtr.withTransient Gtk.TextIter.TextIter start $ \start' -> do
+        B.ManagedPtr.withTransient Gtk.TextIter.TextIter end $ \end' -> do
+            _cb  tag' start' end'
+
+
+{- |
+Connect a signal handler for the “@apply-tag@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #applyTag callback
+@
+-}
+onTextBufferApplyTag :: (IsTextBuffer a, MonadIO m) => a -> TextBufferApplyTagCallback -> m SignalHandlerId
+onTextBufferApplyTag obj cb = liftIO $ do
+    let cb' = wrap_TextBufferApplyTagCallback cb
+    cb'' <- mk_TextBufferApplyTagCallback cb'
+    connectSignalFunPtr obj "apply-tag" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@apply-tag@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #applyTag callback
+@
+-}
+afterTextBufferApplyTag :: (IsTextBuffer a, MonadIO m) => a -> TextBufferApplyTagCallback -> m SignalHandlerId
+afterTextBufferApplyTag obj cb = liftIO $ do
+    let cb' = wrap_TextBufferApplyTagCallback cb
+    cb'' <- mk_TextBufferApplyTagCallback cb'
+    connectSignalFunPtr obj "apply-tag" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::begin-user-action
+{- |
+The ::begin-user-action signal is emitted at the beginning of a single
+user-visible operation on a 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+
+See also:
+'GI.Gtk.Objects.TextBuffer.textBufferBeginUserAction',
+'GI.Gtk.Objects.TextBuffer.textBufferInsertInteractive',
+'GI.Gtk.Objects.TextBuffer.textBufferInsertRangeInteractive',
+'GI.Gtk.Objects.TextBuffer.textBufferDeleteInteractive',
+'GI.Gtk.Objects.TextBuffer.textBufferBackspace',
+'GI.Gtk.Objects.TextBuffer.textBufferDeleteSelection'.
+-}
+type TextBufferBeginUserActionCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferBeginUserActionCallback`@.
+noTextBufferBeginUserActionCallback :: Maybe TextBufferBeginUserActionCallback
+noTextBufferBeginUserActionCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferBeginUserActionCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferBeginUserActionCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferBeginUserActionCallback :: C_TextBufferBeginUserActionCallback -> IO (FunPtr C_TextBufferBeginUserActionCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferBeginUserAction :: MonadIO m => TextBufferBeginUserActionCallback -> m (GClosure C_TextBufferBeginUserActionCallback)
+genClosure_TextBufferBeginUserAction cb = liftIO $ do
+    let cb' = wrap_TextBufferBeginUserActionCallback cb
+    mk_TextBufferBeginUserActionCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferBeginUserActionCallback` into a `C_TextBufferBeginUserActionCallback`.
+wrap_TextBufferBeginUserActionCallback ::
+    TextBufferBeginUserActionCallback ->
+    C_TextBufferBeginUserActionCallback
+wrap_TextBufferBeginUserActionCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@begin-user-action@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #beginUserAction callback
+@
+-}
+onTextBufferBeginUserAction :: (IsTextBuffer a, MonadIO m) => a -> TextBufferBeginUserActionCallback -> m SignalHandlerId
+onTextBufferBeginUserAction obj cb = liftIO $ do
+    let cb' = wrap_TextBufferBeginUserActionCallback cb
+    cb'' <- mk_TextBufferBeginUserActionCallback cb'
+    connectSignalFunPtr obj "begin-user-action" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@begin-user-action@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #beginUserAction callback
+@
+-}
+afterTextBufferBeginUserAction :: (IsTextBuffer a, MonadIO m) => a -> TextBufferBeginUserActionCallback -> m SignalHandlerId
+afterTextBufferBeginUserAction obj cb = liftIO $ do
+    let cb' = wrap_TextBufferBeginUserActionCallback cb
+    cb'' <- mk_TextBufferBeginUserActionCallback cb'
+    connectSignalFunPtr obj "begin-user-action" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::changed
+{- |
+The ::changed signal is emitted when the content of a 'GI.Gtk.Objects.TextBuffer.TextBuffer'
+has changed.
+-}
+type TextBufferChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferChangedCallback`@.
+noTextBufferChangedCallback :: Maybe TextBufferChangedCallback
+noTextBufferChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferChangedCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferChangedCallback :: C_TextBufferChangedCallback -> IO (FunPtr C_TextBufferChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferChanged :: MonadIO m => TextBufferChangedCallback -> m (GClosure C_TextBufferChangedCallback)
+genClosure_TextBufferChanged cb = liftIO $ do
+    let cb' = wrap_TextBufferChangedCallback cb
+    mk_TextBufferChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferChangedCallback` into a `C_TextBufferChangedCallback`.
+wrap_TextBufferChangedCallback ::
+    TextBufferChangedCallback ->
+    C_TextBufferChangedCallback
+wrap_TextBufferChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #changed callback
+@
+-}
+onTextBufferChanged :: (IsTextBuffer a, MonadIO m) => a -> TextBufferChangedCallback -> m SignalHandlerId
+onTextBufferChanged obj cb = liftIO $ do
+    let cb' = wrap_TextBufferChangedCallback cb
+    cb'' <- mk_TextBufferChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #changed callback
+@
+-}
+afterTextBufferChanged :: (IsTextBuffer a, MonadIO m) => a -> TextBufferChangedCallback -> m SignalHandlerId
+afterTextBufferChanged obj cb = liftIO $ do
+    let cb' = wrap_TextBufferChangedCallback cb
+    cb'' <- mk_TextBufferChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::delete-range
+{- |
+The ::delete-range signal is emitted to delete a range
+from a 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+
+Note that if your handler runs before the default handler it must not
+invalidate the /@start@/ and /@end@/ iters (or has to revalidate them).
+The default signal handler revalidates the /@start@/ and /@end@/ iters to
+both point to the location where text was deleted. Handlers
+which run after the default handler (see @/g_signal_connect_after()/@)
+do not have access to the deleted text.
+
+See also: 'GI.Gtk.Objects.TextBuffer.textBufferDelete'.
+-}
+type TextBufferDeleteRangeCallback =
+    Gtk.TextIter.TextIter
+    {- ^ /@start@/: the start of the range to be deleted -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: the end of the range to be deleted -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferDeleteRangeCallback`@.
+noTextBufferDeleteRangeCallback :: Maybe TextBufferDeleteRangeCallback
+noTextBufferDeleteRangeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferDeleteRangeCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferDeleteRangeCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferDeleteRangeCallback :: C_TextBufferDeleteRangeCallback -> IO (FunPtr C_TextBufferDeleteRangeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferDeleteRange :: MonadIO m => TextBufferDeleteRangeCallback -> m (GClosure C_TextBufferDeleteRangeCallback)
+genClosure_TextBufferDeleteRange cb = liftIO $ do
+    let cb' = wrap_TextBufferDeleteRangeCallback cb
+    mk_TextBufferDeleteRangeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferDeleteRangeCallback` into a `C_TextBufferDeleteRangeCallback`.
+wrap_TextBufferDeleteRangeCallback ::
+    TextBufferDeleteRangeCallback ->
+    C_TextBufferDeleteRangeCallback
+wrap_TextBufferDeleteRangeCallback _cb _ start end _ = do
+    B.ManagedPtr.withTransient Gtk.TextIter.TextIter start $ \start' -> do
+        B.ManagedPtr.withTransient Gtk.TextIter.TextIter end $ \end' -> do
+            _cb  start' end'
+
+
+{- |
+Connect a signal handler for the “@delete-range@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #deleteRange callback
+@
+-}
+onTextBufferDeleteRange :: (IsTextBuffer a, MonadIO m) => a -> TextBufferDeleteRangeCallback -> m SignalHandlerId
+onTextBufferDeleteRange obj cb = liftIO $ do
+    let cb' = wrap_TextBufferDeleteRangeCallback cb
+    cb'' <- mk_TextBufferDeleteRangeCallback cb'
+    connectSignalFunPtr obj "delete-range" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@delete-range@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #deleteRange callback
+@
+-}
+afterTextBufferDeleteRange :: (IsTextBuffer a, MonadIO m) => a -> TextBufferDeleteRangeCallback -> m SignalHandlerId
+afterTextBufferDeleteRange obj cb = liftIO $ do
+    let cb' = wrap_TextBufferDeleteRangeCallback cb
+    cb'' <- mk_TextBufferDeleteRangeCallback cb'
+    connectSignalFunPtr obj "delete-range" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::end-user-action
+{- |
+The ::end-user-action signal is emitted at the end of a single
+user-visible operation on the 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+
+See also:
+'GI.Gtk.Objects.TextBuffer.textBufferEndUserAction',
+'GI.Gtk.Objects.TextBuffer.textBufferInsertInteractive',
+'GI.Gtk.Objects.TextBuffer.textBufferInsertRangeInteractive',
+'GI.Gtk.Objects.TextBuffer.textBufferDeleteInteractive',
+'GI.Gtk.Objects.TextBuffer.textBufferBackspace',
+'GI.Gtk.Objects.TextBuffer.textBufferDeleteSelection',
+'GI.Gtk.Objects.TextBuffer.textBufferBackspace'.
+-}
+type TextBufferEndUserActionCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferEndUserActionCallback`@.
+noTextBufferEndUserActionCallback :: Maybe TextBufferEndUserActionCallback
+noTextBufferEndUserActionCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferEndUserActionCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferEndUserActionCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferEndUserActionCallback :: C_TextBufferEndUserActionCallback -> IO (FunPtr C_TextBufferEndUserActionCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferEndUserAction :: MonadIO m => TextBufferEndUserActionCallback -> m (GClosure C_TextBufferEndUserActionCallback)
+genClosure_TextBufferEndUserAction cb = liftIO $ do
+    let cb' = wrap_TextBufferEndUserActionCallback cb
+    mk_TextBufferEndUserActionCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferEndUserActionCallback` into a `C_TextBufferEndUserActionCallback`.
+wrap_TextBufferEndUserActionCallback ::
+    TextBufferEndUserActionCallback ->
+    C_TextBufferEndUserActionCallback
+wrap_TextBufferEndUserActionCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@end-user-action@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #endUserAction callback
+@
+-}
+onTextBufferEndUserAction :: (IsTextBuffer a, MonadIO m) => a -> TextBufferEndUserActionCallback -> m SignalHandlerId
+onTextBufferEndUserAction obj cb = liftIO $ do
+    let cb' = wrap_TextBufferEndUserActionCallback cb
+    cb'' <- mk_TextBufferEndUserActionCallback cb'
+    connectSignalFunPtr obj "end-user-action" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@end-user-action@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #endUserAction callback
+@
+-}
+afterTextBufferEndUserAction :: (IsTextBuffer a, MonadIO m) => a -> TextBufferEndUserActionCallback -> m SignalHandlerId
+afterTextBufferEndUserAction obj cb = liftIO $ do
+    let cb' = wrap_TextBufferEndUserActionCallback cb
+    cb'' <- mk_TextBufferEndUserActionCallback cb'
+    connectSignalFunPtr obj "end-user-action" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::insert-child-anchor
+{- |
+The ::insert-child-anchor signal is emitted to insert a
+'GI.Gtk.Objects.TextChildAnchor.TextChildAnchor' in a 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+Insertion actually occurs in the default handler.
+
+Note that if your handler runs before the default handler it must
+not invalidate the /@location@/ iter (or has to revalidate it).
+The default signal handler revalidates it to be placed after the
+inserted /@anchor@/.
+
+See also: 'GI.Gtk.Objects.TextBuffer.textBufferInsertChildAnchor'.
+-}
+type TextBufferInsertChildAnchorCallback =
+    Gtk.TextIter.TextIter
+    {- ^ /@location@/: position to insert /@anchor@/ in /@textbuffer@/ -}
+    -> Gtk.TextChildAnchor.TextChildAnchor
+    {- ^ /@anchor@/: the 'GI.Gtk.Objects.TextChildAnchor.TextChildAnchor' to be inserted -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferInsertChildAnchorCallback`@.
+noTextBufferInsertChildAnchorCallback :: Maybe TextBufferInsertChildAnchorCallback
+noTextBufferInsertChildAnchorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferInsertChildAnchorCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr Gtk.TextChildAnchor.TextChildAnchor ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferInsertChildAnchorCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferInsertChildAnchorCallback :: C_TextBufferInsertChildAnchorCallback -> IO (FunPtr C_TextBufferInsertChildAnchorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferInsertChildAnchor :: MonadIO m => TextBufferInsertChildAnchorCallback -> m (GClosure C_TextBufferInsertChildAnchorCallback)
+genClosure_TextBufferInsertChildAnchor cb = liftIO $ do
+    let cb' = wrap_TextBufferInsertChildAnchorCallback cb
+    mk_TextBufferInsertChildAnchorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferInsertChildAnchorCallback` into a `C_TextBufferInsertChildAnchorCallback`.
+wrap_TextBufferInsertChildAnchorCallback ::
+    TextBufferInsertChildAnchorCallback ->
+    C_TextBufferInsertChildAnchorCallback
+wrap_TextBufferInsertChildAnchorCallback _cb _ location anchor _ = do
+    B.ManagedPtr.withTransient Gtk.TextIter.TextIter location $ \location' -> do
+        anchor' <- (newObject Gtk.TextChildAnchor.TextChildAnchor) anchor
+        _cb  location' anchor'
+
+
+{- |
+Connect a signal handler for the “@insert-child-anchor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #insertChildAnchor callback
+@
+-}
+onTextBufferInsertChildAnchor :: (IsTextBuffer a, MonadIO m) => a -> TextBufferInsertChildAnchorCallback -> m SignalHandlerId
+onTextBufferInsertChildAnchor obj cb = liftIO $ do
+    let cb' = wrap_TextBufferInsertChildAnchorCallback cb
+    cb'' <- mk_TextBufferInsertChildAnchorCallback cb'
+    connectSignalFunPtr obj "insert-child-anchor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert-child-anchor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #insertChildAnchor callback
+@
+-}
+afterTextBufferInsertChildAnchor :: (IsTextBuffer a, MonadIO m) => a -> TextBufferInsertChildAnchorCallback -> m SignalHandlerId
+afterTextBufferInsertChildAnchor obj cb = liftIO $ do
+    let cb' = wrap_TextBufferInsertChildAnchorCallback cb
+    cb'' <- mk_TextBufferInsertChildAnchorCallback cb'
+    connectSignalFunPtr obj "insert-child-anchor" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::insert-pixbuf
+{- |
+The ::insert-pixbuf signal is emitted to insert a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'
+in a 'GI.Gtk.Objects.TextBuffer.TextBuffer'. Insertion actually occurs in the default handler.
+
+Note that if your handler runs before the default handler it must not
+invalidate the /@location@/ iter (or has to revalidate it).
+The default signal handler revalidates it to be placed after the
+inserted /@pixbuf@/.
+
+See also: 'GI.Gtk.Objects.TextBuffer.textBufferInsertPixbuf'.
+-}
+type TextBufferInsertPixbufCallback =
+    Gtk.TextIter.TextIter
+    {- ^ /@location@/: position to insert /@pixbuf@/ in /@textbuffer@/ -}
+    -> GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ /@pixbuf@/: the 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' to be inserted -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferInsertPixbufCallback`@.
+noTextBufferInsertPixbufCallback :: Maybe TextBufferInsertPixbufCallback
+noTextBufferInsertPixbufCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferInsertPixbufCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferInsertPixbufCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferInsertPixbufCallback :: C_TextBufferInsertPixbufCallback -> IO (FunPtr C_TextBufferInsertPixbufCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferInsertPixbuf :: MonadIO m => TextBufferInsertPixbufCallback -> m (GClosure C_TextBufferInsertPixbufCallback)
+genClosure_TextBufferInsertPixbuf cb = liftIO $ do
+    let cb' = wrap_TextBufferInsertPixbufCallback cb
+    mk_TextBufferInsertPixbufCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferInsertPixbufCallback` into a `C_TextBufferInsertPixbufCallback`.
+wrap_TextBufferInsertPixbufCallback ::
+    TextBufferInsertPixbufCallback ->
+    C_TextBufferInsertPixbufCallback
+wrap_TextBufferInsertPixbufCallback _cb _ location pixbuf _ = do
+    B.ManagedPtr.withTransient Gtk.TextIter.TextIter location $ \location' -> do
+        pixbuf' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) pixbuf
+        _cb  location' pixbuf'
+
+
+{- |
+Connect a signal handler for the “@insert-pixbuf@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #insertPixbuf callback
+@
+-}
+onTextBufferInsertPixbuf :: (IsTextBuffer a, MonadIO m) => a -> TextBufferInsertPixbufCallback -> m SignalHandlerId
+onTextBufferInsertPixbuf obj cb = liftIO $ do
+    let cb' = wrap_TextBufferInsertPixbufCallback cb
+    cb'' <- mk_TextBufferInsertPixbufCallback cb'
+    connectSignalFunPtr obj "insert-pixbuf" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert-pixbuf@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #insertPixbuf callback
+@
+-}
+afterTextBufferInsertPixbuf :: (IsTextBuffer a, MonadIO m) => a -> TextBufferInsertPixbufCallback -> m SignalHandlerId
+afterTextBufferInsertPixbuf obj cb = liftIO $ do
+    let cb' = wrap_TextBufferInsertPixbufCallback cb
+    cb'' <- mk_TextBufferInsertPixbufCallback cb'
+    connectSignalFunPtr obj "insert-pixbuf" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::insert-text
+{- |
+The ::insert-text signal is emitted to insert text in a 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+Insertion actually occurs in the default handler.
+
+Note that if your handler runs before the default handler it must not
+invalidate the /@location@/ iter (or has to revalidate it).
+The default signal handler revalidates it to point to the end of the
+inserted text.
+
+See also:
+'GI.Gtk.Objects.TextBuffer.textBufferInsert',
+'GI.Gtk.Objects.TextBuffer.textBufferInsertRange'.
+-}
+type TextBufferInsertTextCallback =
+    Gtk.TextIter.TextIter
+    {- ^ /@location@/: position to insert /@text@/ in /@textbuffer@/ -}
+    -> T.Text
+    {- ^ /@text@/: the UTF-8 text to be inserted -}
+    -> Int32
+    {- ^ /@len@/: length of the inserted text in bytes -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferInsertTextCallback`@.
+noTextBufferInsertTextCallback :: Maybe TextBufferInsertTextCallback
+noTextBufferInsertTextCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferInsertTextCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter.TextIter ->
+    CString ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferInsertTextCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferInsertTextCallback :: C_TextBufferInsertTextCallback -> IO (FunPtr C_TextBufferInsertTextCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferInsertText :: MonadIO m => TextBufferInsertTextCallback -> m (GClosure C_TextBufferInsertTextCallback)
+genClosure_TextBufferInsertText cb = liftIO $ do
+    let cb' = wrap_TextBufferInsertTextCallback cb
+    mk_TextBufferInsertTextCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferInsertTextCallback` into a `C_TextBufferInsertTextCallback`.
+wrap_TextBufferInsertTextCallback ::
+    TextBufferInsertTextCallback ->
+    C_TextBufferInsertTextCallback
+wrap_TextBufferInsertTextCallback _cb _ location text len _ = do
+    B.ManagedPtr.withTransient Gtk.TextIter.TextIter location $ \location' -> do
+        text' <- cstringToText text
+        _cb  location' text' len
+
+
+{- |
+Connect a signal handler for the “@insert-text@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #insertText callback
+@
+-}
+onTextBufferInsertText :: (IsTextBuffer a, MonadIO m) => a -> TextBufferInsertTextCallback -> m SignalHandlerId
+onTextBufferInsertText obj cb = liftIO $ do
+    let cb' = wrap_TextBufferInsertTextCallback cb
+    cb'' <- mk_TextBufferInsertTextCallback cb'
+    connectSignalFunPtr obj "insert-text" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert-text@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #insertText callback
+@
+-}
+afterTextBufferInsertText :: (IsTextBuffer a, MonadIO m) => a -> TextBufferInsertTextCallback -> m SignalHandlerId
+afterTextBufferInsertText obj cb = liftIO $ do
+    let cb' = wrap_TextBufferInsertTextCallback cb
+    cb'' <- mk_TextBufferInsertTextCallback cb'
+    connectSignalFunPtr obj "insert-text" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::mark-deleted
+{- |
+The ::mark-deleted signal is emitted as notification
+after a 'GI.Gtk.Objects.TextMark.TextMark' is deleted.
+
+See also:
+'GI.Gtk.Objects.TextBuffer.textBufferDeleteMark'.
+-}
+type TextBufferMarkDeletedCallback =
+    Gtk.TextMark.TextMark
+    {- ^ /@mark@/: The mark that was deleted -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferMarkDeletedCallback`@.
+noTextBufferMarkDeletedCallback :: Maybe TextBufferMarkDeletedCallback
+noTextBufferMarkDeletedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferMarkDeletedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextMark.TextMark ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferMarkDeletedCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferMarkDeletedCallback :: C_TextBufferMarkDeletedCallback -> IO (FunPtr C_TextBufferMarkDeletedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferMarkDeleted :: MonadIO m => TextBufferMarkDeletedCallback -> m (GClosure C_TextBufferMarkDeletedCallback)
+genClosure_TextBufferMarkDeleted cb = liftIO $ do
+    let cb' = wrap_TextBufferMarkDeletedCallback cb
+    mk_TextBufferMarkDeletedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferMarkDeletedCallback` into a `C_TextBufferMarkDeletedCallback`.
+wrap_TextBufferMarkDeletedCallback ::
+    TextBufferMarkDeletedCallback ->
+    C_TextBufferMarkDeletedCallback
+wrap_TextBufferMarkDeletedCallback _cb _ mark _ = do
+    mark' <- (newObject Gtk.TextMark.TextMark) mark
+    _cb  mark'
+
+
+{- |
+Connect a signal handler for the “@mark-deleted@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #markDeleted callback
+@
+-}
+onTextBufferMarkDeleted :: (IsTextBuffer a, MonadIO m) => a -> TextBufferMarkDeletedCallback -> m SignalHandlerId
+onTextBufferMarkDeleted obj cb = liftIO $ do
+    let cb' = wrap_TextBufferMarkDeletedCallback cb
+    cb'' <- mk_TextBufferMarkDeletedCallback cb'
+    connectSignalFunPtr obj "mark-deleted" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@mark-deleted@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #markDeleted callback
+@
+-}
+afterTextBufferMarkDeleted :: (IsTextBuffer a, MonadIO m) => a -> TextBufferMarkDeletedCallback -> m SignalHandlerId
+afterTextBufferMarkDeleted obj cb = liftIO $ do
+    let cb' = wrap_TextBufferMarkDeletedCallback cb
+    cb'' <- mk_TextBufferMarkDeletedCallback cb'
+    connectSignalFunPtr obj "mark-deleted" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::mark-set
+{- |
+The ::mark-set signal is emitted as notification
+after a 'GI.Gtk.Objects.TextMark.TextMark' is set.
+
+See also:
+'GI.Gtk.Objects.TextBuffer.textBufferCreateMark',
+'GI.Gtk.Objects.TextBuffer.textBufferMoveMark'.
+-}
+type TextBufferMarkSetCallback =
+    Gtk.TextIter.TextIter
+    {- ^ /@location@/: The location of /@mark@/ in /@textbuffer@/ -}
+    -> Gtk.TextMark.TextMark
+    {- ^ /@mark@/: The mark that is set -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferMarkSetCallback`@.
+noTextBufferMarkSetCallback :: Maybe TextBufferMarkSetCallback
+noTextBufferMarkSetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferMarkSetCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr Gtk.TextMark.TextMark ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferMarkSetCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferMarkSetCallback :: C_TextBufferMarkSetCallback -> IO (FunPtr C_TextBufferMarkSetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferMarkSet :: MonadIO m => TextBufferMarkSetCallback -> m (GClosure C_TextBufferMarkSetCallback)
+genClosure_TextBufferMarkSet cb = liftIO $ do
+    let cb' = wrap_TextBufferMarkSetCallback cb
+    mk_TextBufferMarkSetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferMarkSetCallback` into a `C_TextBufferMarkSetCallback`.
+wrap_TextBufferMarkSetCallback ::
+    TextBufferMarkSetCallback ->
+    C_TextBufferMarkSetCallback
+wrap_TextBufferMarkSetCallback _cb _ location mark _ = do
+    B.ManagedPtr.withTransient Gtk.TextIter.TextIter location $ \location' -> do
+        mark' <- (newObject Gtk.TextMark.TextMark) mark
+        _cb  location' mark'
+
+
+{- |
+Connect a signal handler for the “@mark-set@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #markSet callback
+@
+-}
+onTextBufferMarkSet :: (IsTextBuffer a, MonadIO m) => a -> TextBufferMarkSetCallback -> m SignalHandlerId
+onTextBufferMarkSet obj cb = liftIO $ do
+    let cb' = wrap_TextBufferMarkSetCallback cb
+    cb'' <- mk_TextBufferMarkSetCallback cb'
+    connectSignalFunPtr obj "mark-set" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@mark-set@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #markSet callback
+@
+-}
+afterTextBufferMarkSet :: (IsTextBuffer a, MonadIO m) => a -> TextBufferMarkSetCallback -> m SignalHandlerId
+afterTextBufferMarkSet obj cb = liftIO $ do
+    let cb' = wrap_TextBufferMarkSetCallback cb
+    cb'' <- mk_TextBufferMarkSetCallback cb'
+    connectSignalFunPtr obj "mark-set" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::modified-changed
+{- |
+The ::modified-changed signal is emitted when the modified bit of a
+'GI.Gtk.Objects.TextBuffer.TextBuffer' flips.
+
+See also:
+'GI.Gtk.Objects.TextBuffer.textBufferSetModified'.
+-}
+type TextBufferModifiedChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferModifiedChangedCallback`@.
+noTextBufferModifiedChangedCallback :: Maybe TextBufferModifiedChangedCallback
+noTextBufferModifiedChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferModifiedChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferModifiedChangedCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferModifiedChangedCallback :: C_TextBufferModifiedChangedCallback -> IO (FunPtr C_TextBufferModifiedChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferModifiedChanged :: MonadIO m => TextBufferModifiedChangedCallback -> m (GClosure C_TextBufferModifiedChangedCallback)
+genClosure_TextBufferModifiedChanged cb = liftIO $ do
+    let cb' = wrap_TextBufferModifiedChangedCallback cb
+    mk_TextBufferModifiedChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferModifiedChangedCallback` into a `C_TextBufferModifiedChangedCallback`.
+wrap_TextBufferModifiedChangedCallback ::
+    TextBufferModifiedChangedCallback ->
+    C_TextBufferModifiedChangedCallback
+wrap_TextBufferModifiedChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@modified-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #modifiedChanged callback
+@
+-}
+onTextBufferModifiedChanged :: (IsTextBuffer a, MonadIO m) => a -> TextBufferModifiedChangedCallback -> m SignalHandlerId
+onTextBufferModifiedChanged obj cb = liftIO $ do
+    let cb' = wrap_TextBufferModifiedChangedCallback cb
+    cb'' <- mk_TextBufferModifiedChangedCallback cb'
+    connectSignalFunPtr obj "modified-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@modified-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #modifiedChanged callback
+@
+-}
+afterTextBufferModifiedChanged :: (IsTextBuffer a, MonadIO m) => a -> TextBufferModifiedChangedCallback -> m SignalHandlerId
+afterTextBufferModifiedChanged obj cb = liftIO $ do
+    let cb' = wrap_TextBufferModifiedChangedCallback cb
+    cb'' <- mk_TextBufferModifiedChangedCallback cb'
+    connectSignalFunPtr obj "modified-changed" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::paste-done
+{- |
+The paste-done signal is emitted after paste operation has been completed.
+This is useful to properly scroll the view to the end of the pasted text.
+See 'GI.Gtk.Objects.TextBuffer.textBufferPasteClipboard' for more details.
+
+/Since: 2.16/
+-}
+type TextBufferPasteDoneCallback =
+    Gtk.Clipboard.Clipboard
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' pasted from -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferPasteDoneCallback`@.
+noTextBufferPasteDoneCallback :: Maybe TextBufferPasteDoneCallback
+noTextBufferPasteDoneCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferPasteDoneCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Clipboard.Clipboard ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferPasteDoneCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferPasteDoneCallback :: C_TextBufferPasteDoneCallback -> IO (FunPtr C_TextBufferPasteDoneCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferPasteDone :: MonadIO m => TextBufferPasteDoneCallback -> m (GClosure C_TextBufferPasteDoneCallback)
+genClosure_TextBufferPasteDone cb = liftIO $ do
+    let cb' = wrap_TextBufferPasteDoneCallback cb
+    mk_TextBufferPasteDoneCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferPasteDoneCallback` into a `C_TextBufferPasteDoneCallback`.
+wrap_TextBufferPasteDoneCallback ::
+    TextBufferPasteDoneCallback ->
+    C_TextBufferPasteDoneCallback
+wrap_TextBufferPasteDoneCallback _cb _ clipboard _ = do
+    clipboard' <- (newObject Gtk.Clipboard.Clipboard) clipboard
+    _cb  clipboard'
+
+
+{- |
+Connect a signal handler for the “@paste-done@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #pasteDone callback
+@
+-}
+onTextBufferPasteDone :: (IsTextBuffer a, MonadIO m) => a -> TextBufferPasteDoneCallback -> m SignalHandlerId
+onTextBufferPasteDone obj cb = liftIO $ do
+    let cb' = wrap_TextBufferPasteDoneCallback cb
+    cb'' <- mk_TextBufferPasteDoneCallback cb'
+    connectSignalFunPtr obj "paste-done" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@paste-done@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #pasteDone callback
+@
+-}
+afterTextBufferPasteDone :: (IsTextBuffer a, MonadIO m) => a -> TextBufferPasteDoneCallback -> m SignalHandlerId
+afterTextBufferPasteDone obj cb = liftIO $ do
+    let cb' = wrap_TextBufferPasteDoneCallback cb
+    cb'' <- mk_TextBufferPasteDoneCallback cb'
+    connectSignalFunPtr obj "paste-done" cb'' SignalConnectAfter
+
+
+-- signal TextBuffer::remove-tag
+{- |
+The ::remove-tag signal is emitted to remove all occurrences of /@tag@/ from
+a range of text in a 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+Removal actually occurs in the default handler.
+
+Note that if your handler runs before the default handler it must not
+invalidate the /@start@/ and /@end@/ iters (or has to revalidate them).
+
+See also:
+'GI.Gtk.Objects.TextBuffer.textBufferRemoveTag'.
+-}
+type TextBufferRemoveTagCallback =
+    Gtk.TextTag.TextTag
+    {- ^ /@tag@/: the tag to be removed -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: the start of the range the tag is removed from -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: the end of the range the tag is removed from -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextBufferRemoveTagCallback`@.
+noTextBufferRemoveTagCallback :: Maybe TextBufferRemoveTagCallback
+noTextBufferRemoveTagCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextBufferRemoveTagCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextTag.TextTag ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextBufferRemoveTagCallback`.
+foreign import ccall "wrapper"
+    mk_TextBufferRemoveTagCallback :: C_TextBufferRemoveTagCallback -> IO (FunPtr C_TextBufferRemoveTagCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextBufferRemoveTag :: MonadIO m => TextBufferRemoveTagCallback -> m (GClosure C_TextBufferRemoveTagCallback)
+genClosure_TextBufferRemoveTag cb = liftIO $ do
+    let cb' = wrap_TextBufferRemoveTagCallback cb
+    mk_TextBufferRemoveTagCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextBufferRemoveTagCallback` into a `C_TextBufferRemoveTagCallback`.
+wrap_TextBufferRemoveTagCallback ::
+    TextBufferRemoveTagCallback ->
+    C_TextBufferRemoveTagCallback
+wrap_TextBufferRemoveTagCallback _cb _ tag start end _ = do
+    tag' <- (newObject Gtk.TextTag.TextTag) tag
+    B.ManagedPtr.withTransient Gtk.TextIter.TextIter start $ \start' -> do
+        B.ManagedPtr.withTransient Gtk.TextIter.TextIter end $ \end' -> do
+            _cb  tag' start' end'
+
+
+{- |
+Connect a signal handler for the “@remove-tag@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textBuffer #removeTag callback
+@
+-}
+onTextBufferRemoveTag :: (IsTextBuffer a, MonadIO m) => a -> TextBufferRemoveTagCallback -> m SignalHandlerId
+onTextBufferRemoveTag obj cb = liftIO $ do
+    let cb' = wrap_TextBufferRemoveTagCallback cb
+    cb'' <- mk_TextBufferRemoveTagCallback cb'
+    connectSignalFunPtr obj "remove-tag" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@remove-tag@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textBuffer #removeTag callback
+@
+-}
+afterTextBufferRemoveTag :: (IsTextBuffer a, MonadIO m) => a -> TextBufferRemoveTagCallback -> m SignalHandlerId
+afterTextBufferRemoveTag obj cb = liftIO $ do
+    let cb' = wrap_TextBufferRemoveTagCallback cb
+    cb'' <- mk_TextBufferRemoveTagCallback cb'
+    connectSignalFunPtr obj "remove-tag" cb'' SignalConnectAfter
+
+
+-- VVV Prop "copy-target-list"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TargetList"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@copy-target-list@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textBuffer #copyTargetList
+@
+-}
+getTextBufferCopyTargetList :: (MonadIO m, IsTextBuffer o) => o -> m Gtk.TargetList.TargetList
+getTextBufferCopyTargetList obj = liftIO $ checkUnexpectedNothing "getTextBufferCopyTargetList" $ B.Properties.getObjectPropertyBoxed obj "copy-target-list" Gtk.TargetList.TargetList
+
+#if ENABLE_OVERLOADING
+data TextBufferCopyTargetListPropertyInfo
+instance AttrInfo TextBufferCopyTargetListPropertyInfo where
+    type AttrAllowedOps TextBufferCopyTargetListPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextBufferCopyTargetListPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TextBufferCopyTargetListPropertyInfo = IsTextBuffer
+    type AttrGetType TextBufferCopyTargetListPropertyInfo = Gtk.TargetList.TargetList
+    type AttrLabel TextBufferCopyTargetListPropertyInfo = "copy-target-list"
+    type AttrOrigin TextBufferCopyTargetListPropertyInfo = TextBuffer
+    attrGet _ = getTextBufferCopyTargetList
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "cursor-position"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cursor-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textBuffer #cursorPosition
+@
+-}
+getTextBufferCursorPosition :: (MonadIO m, IsTextBuffer o) => o -> m Int32
+getTextBufferCursorPosition obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "cursor-position"
+
+#if ENABLE_OVERLOADING
+data TextBufferCursorPositionPropertyInfo
+instance AttrInfo TextBufferCursorPositionPropertyInfo where
+    type AttrAllowedOps TextBufferCursorPositionPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TextBufferCursorPositionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TextBufferCursorPositionPropertyInfo = IsTextBuffer
+    type AttrGetType TextBufferCursorPositionPropertyInfo = Int32
+    type AttrLabel TextBufferCursorPositionPropertyInfo = "cursor-position"
+    type AttrOrigin TextBufferCursorPositionPropertyInfo = TextBuffer
+    attrGet _ = getTextBufferCursorPosition
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-selection"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@has-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textBuffer #hasSelection
+@
+-}
+getTextBufferHasSelection :: (MonadIO m, IsTextBuffer o) => o -> m Bool
+getTextBufferHasSelection obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-selection"
+
+#if ENABLE_OVERLOADING
+data TextBufferHasSelectionPropertyInfo
+instance AttrInfo TextBufferHasSelectionPropertyInfo where
+    type AttrAllowedOps TextBufferHasSelectionPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TextBufferHasSelectionPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TextBufferHasSelectionPropertyInfo = IsTextBuffer
+    type AttrGetType TextBufferHasSelectionPropertyInfo = Bool
+    type AttrLabel TextBufferHasSelectionPropertyInfo = "has-selection"
+    type AttrOrigin TextBufferHasSelectionPropertyInfo = TextBuffer
+    attrGet _ = getTextBufferHasSelection
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "paste-target-list"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TargetList"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@paste-target-list@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textBuffer #pasteTargetList
+@
+-}
+getTextBufferPasteTargetList :: (MonadIO m, IsTextBuffer o) => o -> m Gtk.TargetList.TargetList
+getTextBufferPasteTargetList obj = liftIO $ checkUnexpectedNothing "getTextBufferPasteTargetList" $ B.Properties.getObjectPropertyBoxed obj "paste-target-list" Gtk.TargetList.TargetList
+
+#if ENABLE_OVERLOADING
+data TextBufferPasteTargetListPropertyInfo
+instance AttrInfo TextBufferPasteTargetListPropertyInfo where
+    type AttrAllowedOps TextBufferPasteTargetListPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextBufferPasteTargetListPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TextBufferPasteTargetListPropertyInfo = IsTextBuffer
+    type AttrGetType TextBufferPasteTargetListPropertyInfo = Gtk.TargetList.TargetList
+    type AttrLabel TextBufferPasteTargetListPropertyInfo = "paste-target-list"
+    type AttrOrigin TextBufferPasteTargetListPropertyInfo = TextBuffer
+    attrGet _ = getTextBufferPasteTargetList
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tag-table"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TextTagTable"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@tag-table@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textBuffer #tagTable
+@
+-}
+getTextBufferTagTable :: (MonadIO m, IsTextBuffer o) => o -> m Gtk.TextTagTable.TextTagTable
+getTextBufferTagTable obj = liftIO $ checkUnexpectedNothing "getTextBufferTagTable" $ B.Properties.getObjectPropertyObject obj "tag-table" Gtk.TextTagTable.TextTagTable
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tag-table@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextBufferTagTable :: (IsTextBuffer o, Gtk.TextTagTable.IsTextTagTable a) => a -> IO (GValueConstruct o)
+constructTextBufferTagTable val = B.Properties.constructObjectPropertyObject "tag-table" (Just val)
+
+#if ENABLE_OVERLOADING
+data TextBufferTagTablePropertyInfo
+instance AttrInfo TextBufferTagTablePropertyInfo where
+    type AttrAllowedOps TextBufferTagTablePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextBufferTagTablePropertyInfo = Gtk.TextTagTable.IsTextTagTable
+    type AttrBaseTypeConstraint TextBufferTagTablePropertyInfo = IsTextBuffer
+    type AttrGetType TextBufferTagTablePropertyInfo = Gtk.TextTagTable.TextTagTable
+    type AttrLabel TextBufferTagTablePropertyInfo = "tag-table"
+    type AttrOrigin TextBufferTagTablePropertyInfo = TextBuffer
+    attrGet _ = getTextBufferTagTable
+    attrSet _ = undefined
+    attrConstruct _ = constructTextBufferTagTable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textBuffer #text
+@
+-}
+getTextBufferText :: (MonadIO m, IsTextBuffer o) => o -> m (Maybe T.Text)
+getTextBufferText obj = liftIO $ B.Properties.getObjectPropertyString obj "text"
+
+{- |
+Set the value of the “@text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textBuffer [ #text 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextBufferText :: (MonadIO m, IsTextBuffer o) => o -> T.Text -> m ()
+setTextBufferText obj val = liftIO $ B.Properties.setObjectPropertyString obj "text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextBufferText :: (IsTextBuffer o) => T.Text -> IO (GValueConstruct o)
+constructTextBufferText val = B.Properties.constructObjectPropertyString "text" (Just val)
+
+{- |
+Set the value of the “@text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #text
+@
+-}
+clearTextBufferText :: (MonadIO m, IsTextBuffer o) => o -> m ()
+clearTextBufferText obj = liftIO $ B.Properties.setObjectPropertyString obj "text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data TextBufferTextPropertyInfo
+instance AttrInfo TextBufferTextPropertyInfo where
+    type AttrAllowedOps TextBufferTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextBufferTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextBufferTextPropertyInfo = IsTextBuffer
+    type AttrGetType TextBufferTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel TextBufferTextPropertyInfo = "text"
+    type AttrOrigin TextBufferTextPropertyInfo = TextBuffer
+    attrGet _ = getTextBufferText
+    attrSet _ = setTextBufferText
+    attrConstruct _ = constructTextBufferText
+    attrClear _ = clearTextBufferText
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextBuffer
+type instance O.AttributeList TextBuffer = TextBufferAttributeList
+type TextBufferAttributeList = ('[ '("copyTargetList", TextBufferCopyTargetListPropertyInfo), '("cursorPosition", TextBufferCursorPositionPropertyInfo), '("hasSelection", TextBufferHasSelectionPropertyInfo), '("pasteTargetList", TextBufferPasteTargetListPropertyInfo), '("tagTable", TextBufferTagTablePropertyInfo), '("text", TextBufferTextPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+textBufferCopyTargetList :: AttrLabelProxy "copyTargetList"
+textBufferCopyTargetList = AttrLabelProxy
+
+textBufferCursorPosition :: AttrLabelProxy "cursorPosition"
+textBufferCursorPosition = AttrLabelProxy
+
+textBufferHasSelection :: AttrLabelProxy "hasSelection"
+textBufferHasSelection = AttrLabelProxy
+
+textBufferPasteTargetList :: AttrLabelProxy "pasteTargetList"
+textBufferPasteTargetList = AttrLabelProxy
+
+textBufferTagTable :: AttrLabelProxy "tagTable"
+textBufferTagTable = AttrLabelProxy
+
+textBufferText :: AttrLabelProxy "text"
+textBufferText = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data TextBufferApplyTagSignalInfo
+instance SignalInfo TextBufferApplyTagSignalInfo where
+    type HaskellCallbackType TextBufferApplyTagSignalInfo = TextBufferApplyTagCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferApplyTagCallback cb
+        cb'' <- mk_TextBufferApplyTagCallback cb'
+        connectSignalFunPtr obj "apply-tag" cb'' connectMode
+
+data TextBufferBeginUserActionSignalInfo
+instance SignalInfo TextBufferBeginUserActionSignalInfo where
+    type HaskellCallbackType TextBufferBeginUserActionSignalInfo = TextBufferBeginUserActionCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferBeginUserActionCallback cb
+        cb'' <- mk_TextBufferBeginUserActionCallback cb'
+        connectSignalFunPtr obj "begin-user-action" cb'' connectMode
+
+data TextBufferChangedSignalInfo
+instance SignalInfo TextBufferChangedSignalInfo where
+    type HaskellCallbackType TextBufferChangedSignalInfo = TextBufferChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferChangedCallback cb
+        cb'' <- mk_TextBufferChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+data TextBufferDeleteRangeSignalInfo
+instance SignalInfo TextBufferDeleteRangeSignalInfo where
+    type HaskellCallbackType TextBufferDeleteRangeSignalInfo = TextBufferDeleteRangeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferDeleteRangeCallback cb
+        cb'' <- mk_TextBufferDeleteRangeCallback cb'
+        connectSignalFunPtr obj "delete-range" cb'' connectMode
+
+data TextBufferEndUserActionSignalInfo
+instance SignalInfo TextBufferEndUserActionSignalInfo where
+    type HaskellCallbackType TextBufferEndUserActionSignalInfo = TextBufferEndUserActionCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferEndUserActionCallback cb
+        cb'' <- mk_TextBufferEndUserActionCallback cb'
+        connectSignalFunPtr obj "end-user-action" cb'' connectMode
+
+data TextBufferInsertChildAnchorSignalInfo
+instance SignalInfo TextBufferInsertChildAnchorSignalInfo where
+    type HaskellCallbackType TextBufferInsertChildAnchorSignalInfo = TextBufferInsertChildAnchorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferInsertChildAnchorCallback cb
+        cb'' <- mk_TextBufferInsertChildAnchorCallback cb'
+        connectSignalFunPtr obj "insert-child-anchor" cb'' connectMode
+
+data TextBufferInsertPixbufSignalInfo
+instance SignalInfo TextBufferInsertPixbufSignalInfo where
+    type HaskellCallbackType TextBufferInsertPixbufSignalInfo = TextBufferInsertPixbufCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferInsertPixbufCallback cb
+        cb'' <- mk_TextBufferInsertPixbufCallback cb'
+        connectSignalFunPtr obj "insert-pixbuf" cb'' connectMode
+
+data TextBufferInsertTextSignalInfo
+instance SignalInfo TextBufferInsertTextSignalInfo where
+    type HaskellCallbackType TextBufferInsertTextSignalInfo = TextBufferInsertTextCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferInsertTextCallback cb
+        cb'' <- mk_TextBufferInsertTextCallback cb'
+        connectSignalFunPtr obj "insert-text" cb'' connectMode
+
+data TextBufferMarkDeletedSignalInfo
+instance SignalInfo TextBufferMarkDeletedSignalInfo where
+    type HaskellCallbackType TextBufferMarkDeletedSignalInfo = TextBufferMarkDeletedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferMarkDeletedCallback cb
+        cb'' <- mk_TextBufferMarkDeletedCallback cb'
+        connectSignalFunPtr obj "mark-deleted" cb'' connectMode
+
+data TextBufferMarkSetSignalInfo
+instance SignalInfo TextBufferMarkSetSignalInfo where
+    type HaskellCallbackType TextBufferMarkSetSignalInfo = TextBufferMarkSetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferMarkSetCallback cb
+        cb'' <- mk_TextBufferMarkSetCallback cb'
+        connectSignalFunPtr obj "mark-set" cb'' connectMode
+
+data TextBufferModifiedChangedSignalInfo
+instance SignalInfo TextBufferModifiedChangedSignalInfo where
+    type HaskellCallbackType TextBufferModifiedChangedSignalInfo = TextBufferModifiedChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferModifiedChangedCallback cb
+        cb'' <- mk_TextBufferModifiedChangedCallback cb'
+        connectSignalFunPtr obj "modified-changed" cb'' connectMode
+
+data TextBufferPasteDoneSignalInfo
+instance SignalInfo TextBufferPasteDoneSignalInfo where
+    type HaskellCallbackType TextBufferPasteDoneSignalInfo = TextBufferPasteDoneCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferPasteDoneCallback cb
+        cb'' <- mk_TextBufferPasteDoneCallback cb'
+        connectSignalFunPtr obj "paste-done" cb'' connectMode
+
+data TextBufferRemoveTagSignalInfo
+instance SignalInfo TextBufferRemoveTagSignalInfo where
+    type HaskellCallbackType TextBufferRemoveTagSignalInfo = TextBufferRemoveTagCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextBufferRemoveTagCallback cb
+        cb'' <- mk_TextBufferRemoveTagCallback cb'
+        connectSignalFunPtr obj "remove-tag" cb'' connectMode
+
+type instance O.SignalList TextBuffer = TextBufferSignalList
+type TextBufferSignalList = ('[ '("applyTag", TextBufferApplyTagSignalInfo), '("beginUserAction", TextBufferBeginUserActionSignalInfo), '("changed", TextBufferChangedSignalInfo), '("deleteRange", TextBufferDeleteRangeSignalInfo), '("endUserAction", TextBufferEndUserActionSignalInfo), '("insertChildAnchor", TextBufferInsertChildAnchorSignalInfo), '("insertPixbuf", TextBufferInsertPixbufSignalInfo), '("insertText", TextBufferInsertTextSignalInfo), '("markDeleted", TextBufferMarkDeletedSignalInfo), '("markSet", TextBufferMarkSetSignalInfo), '("modifiedChanged", TextBufferModifiedChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pasteDone", TextBufferPasteDoneSignalInfo), '("removeTag", TextBufferRemoveTagSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TextBuffer::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "TextTagTable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a tag table, or %NULL to create a new one", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextBuffer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_new" gtk_text_buffer_new :: 
+    Ptr Gtk.TextTagTable.TextTagTable ->    -- table : TInterface (Name {namespace = "Gtk", name = "TextTagTable"})
+    IO (Ptr TextBuffer)
+
+{- |
+Creates a new text buffer.
+-}
+textBufferNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextTagTable.IsTextTagTable a) =>
+    Maybe (a)
+    {- ^ /@table@/: a tag table, or 'Nothing' to create a new one -}
+    -> m TextBuffer
+    {- ^ __Returns:__ a new text buffer -}
+textBufferNew table = liftIO $ do
+    maybeTable <- case table of
+        Nothing -> return nullPtr
+        Just jTable -> do
+            jTable' <- unsafeManagedPtrCastPtr jTable
+            return jTable'
+    result <- gtk_text_buffer_new maybeTable
+    checkUnexpectedReturnNULL "textBufferNew" result
+    result' <- (wrapObject TextBuffer) result
+    whenJust table touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TextBuffer::add_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mark to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to place mark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_add_mark" gtk_text_buffer_add_mark :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextMark.TextMark ->            -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    Ptr Gtk.TextIter.TextIter ->            -- where : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Adds the mark at position /@where@/. The mark must not be added to
+another buffer, and if its name is not 'Nothing' then there must not
+be another mark in the buffer with the same name.
+
+Emits the 'GI.Gtk.Objects.TextBuffer.TextBuffer'::@/mark-set/@ signal as notification of the mark\'s
+initial placement.
+
+/Since: 2.12/
+-}
+textBufferAddMark ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.TextMark.IsTextMark b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@mark@/: the mark to add -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@where@/: location to place mark -}
+    -> m ()
+textBufferAddMark buffer mark where_ = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    mark' <- unsafeManagedPtrCastPtr mark
+    where_' <- unsafeManagedPtrGetPtr where_
+    gtk_text_buffer_add_mark buffer' mark' where_'
+    touchManagedPtr buffer
+    touchManagedPtr mark
+    touchManagedPtr where_
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferAddMarkMethodInfo
+instance (signature ~ (b -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a, Gtk.TextMark.IsTextMark b) => O.MethodInfo TextBufferAddMarkMethodInfo a signature where
+    overloadedMethod _ = textBufferAddMark
+
+#endif
+
+-- method TextBuffer::add_selection_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_add_selection_clipboard" gtk_text_buffer_add_selection_clipboard :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.Clipboard.Clipboard ->          -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO ()
+
+{- |
+Adds /@clipboard@/ to the list of clipboards in which the selection
+contents of /@buffer@/ are available. In most cases, /@clipboard@/ will be
+the 'GI.Gtk.Objects.Clipboard.Clipboard' of type @/GDK_SELECTION_PRIMARY/@ for a view of /@buffer@/.
+-}
+textBufferAddSelectionClipboard ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' -}
+    -> m ()
+textBufferAddSelectionClipboard buffer clipboard = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    gtk_text_buffer_add_selection_clipboard buffer' clipboard'
+    touchManagedPtr buffer
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferAddSelectionClipboardMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) => O.MethodInfo TextBufferAddSelectionClipboardMethodInfo a signature where
+    overloadedMethod _ = textBufferAddSelectionClipboard
+
+#endif
+
+-- method TextBuffer::apply_tag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "one bound of range to be tagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "other bound of range to be tagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_apply_tag" gtk_text_buffer_apply_tag :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Emits the “apply-tag” signal on /@buffer@/. The default
+handler for the signal applies /@tag@/ to the given range.
+/@start@/ and /@end@/ do not have to be in order.
+-}
+textBufferApplyTag ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.TextTag.IsTextTag b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: one bound of range to be tagged -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: other bound of range to be tagged -}
+    -> m ()
+textBufferApplyTag buffer tag start end = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    tag' <- unsafeManagedPtrCastPtr tag
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    gtk_text_buffer_apply_tag buffer' tag' start' end'
+    touchManagedPtr buffer
+    touchManagedPtr tag
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferApplyTagMethodInfo
+instance (signature ~ (b -> Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a, Gtk.TextTag.IsTextTag b) => O.MethodInfo TextBufferApplyTagMethodInfo a signature where
+    overloadedMethod _ = textBufferApplyTag
+
+#endif
+
+-- method TextBuffer::apply_tag_by_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a named #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "one bound of range to be tagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "other bound of range to be tagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_apply_tag_by_name" gtk_text_buffer_apply_tag_by_name :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Calls 'GI.Gtk.Objects.TextTagTable.textTagTableLookup' on the buffer’s tag table to
+get a 'GI.Gtk.Objects.TextTag.TextTag', then calls 'GI.Gtk.Objects.TextBuffer.textBufferApplyTag'.
+-}
+textBufferApplyTagByName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@name@/: name of a named 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: one bound of range to be tagged -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: other bound of range to be tagged -}
+    -> m ()
+textBufferApplyTagByName buffer name start end = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    name' <- textToCString name
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    gtk_text_buffer_apply_tag_by_name buffer' name' start' end'
+    touchManagedPtr buffer
+    touchManagedPtr start
+    touchManagedPtr end
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferApplyTagByNameMethodInfo
+instance (signature ~ (T.Text -> Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferApplyTagByNameMethodInfo a signature where
+    overloadedMethod _ = textBufferApplyTagByName
+
+#endif
+
+-- method TextBuffer::backspace
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interactive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the deletion is caused by user interaction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_editable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the buffer is editable by default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_backspace" gtk_text_buffer_backspace :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- interactive : TBasicType TBoolean
+    CInt ->                                 -- default_editable : TBasicType TBoolean
+    IO CInt
+
+{- |
+Performs the appropriate action as if the user hit the delete
+key with the cursor at the position specified by /@iter@/. In the
+normal case a single character will be deleted, but when
+combining accents are involved, more than one character can
+be deleted, and when precomposed character and accent combinations
+are involved, less than one character will be deleted.
+
+Because the buffer is modified, all outstanding iterators become
+invalid after calling this function; however, the /@iter@/ will be
+re-initialized to point to the location where text was deleted.
+
+/Since: 2.6/
+-}
+textBufferBackspace ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a position in /@buffer@/ -}
+    -> Bool
+    {- ^ /@interactive@/: whether the deletion is caused by user interaction -}
+    -> Bool
+    {- ^ /@defaultEditable@/: whether the buffer is editable by default -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the buffer was modified -}
+textBufferBackspace buffer iter interactive defaultEditable = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    let interactive' = (fromIntegral . fromEnum) interactive
+    let defaultEditable' = (fromIntegral . fromEnum) defaultEditable
+    result <- gtk_text_buffer_backspace buffer' iter' interactive' defaultEditable'
+    let result' = (/= 0) result
+    touchManagedPtr buffer
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferBackspaceMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Bool -> Bool -> m Bool), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferBackspaceMethodInfo a signature where
+    overloadedMethod _ = textBufferBackspace
+
+#endif
+
+-- method TextBuffer::begin_user_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_begin_user_action" gtk_text_buffer_begin_user_action :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO ()
+
+{- |
+Called to indicate that the buffer operations between here and a
+call to 'GI.Gtk.Objects.TextBuffer.textBufferEndUserAction' are part of a single
+user-visible operation. The operations between
+'GI.Gtk.Objects.TextBuffer.textBufferBeginUserAction' and
+'GI.Gtk.Objects.TextBuffer.textBufferEndUserAction' can then be grouped when creating
+an undo stack. 'GI.Gtk.Objects.TextBuffer.TextBuffer' maintains a count of calls to
+'GI.Gtk.Objects.TextBuffer.textBufferBeginUserAction' that have not been closed with
+a call to 'GI.Gtk.Objects.TextBuffer.textBufferEndUserAction', and emits the
+“begin-user-action” and “end-user-action” signals only for the
+outermost pair of calls. This allows you to build user actions
+from other user actions.
+
+The “interactive” buffer mutation functions, such as
+'GI.Gtk.Objects.TextBuffer.textBufferInsertInteractive', automatically call begin\/end
+user action around the buffer operations they perform, so there\'s
+no need to add extra calls if you user action consists solely of a
+single call to one of those functions.
+-}
+textBufferBeginUserAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m ()
+textBufferBeginUserAction buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    gtk_text_buffer_begin_user_action buffer'
+    touchManagedPtr buffer
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferBeginUserActionMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferBeginUserActionMethodInfo a signature where
+    overloadedMethod _ = textBufferBeginUserAction
+
+#endif
+
+-- method TextBuffer::copy_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard object to copy to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_copy_clipboard" gtk_text_buffer_copy_clipboard :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.Clipboard.Clipboard ->          -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO ()
+
+{- |
+Copies the currently-selected text to a clipboard.
+-}
+textBufferCopyClipboard ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' object to copy to -}
+    -> m ()
+textBufferCopyClipboard buffer clipboard = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    gtk_text_buffer_copy_clipboard buffer' clipboard'
+    touchManagedPtr buffer
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferCopyClipboardMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) => O.MethodInfo TextBufferCopyClipboardMethodInfo a signature where
+    overloadedMethod _ = textBufferCopyClipboard
+
+#endif
+
+-- method TextBuffer::create_child_anchor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location in the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_create_child_anchor" gtk_text_buffer_create_child_anchor :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO (Ptr Gtk.TextChildAnchor.TextChildAnchor)
+
+{- |
+This is a convenience function which simply creates a child anchor
+with 'GI.Gtk.Objects.TextChildAnchor.textChildAnchorNew' and inserts it into the buffer
+with 'GI.Gtk.Objects.TextBuffer.textBufferInsertChildAnchor'. The new anchor is
+owned by the buffer; no reference count is returned to
+the caller of 'GI.Gtk.Objects.TextBuffer.textBufferCreateChildAnchor'.
+-}
+textBufferCreateChildAnchor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: location in the buffer -}
+    -> m Gtk.TextChildAnchor.TextChildAnchor
+    {- ^ __Returns:__ the created child anchor -}
+textBufferCreateChildAnchor buffer iter = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_buffer_create_child_anchor buffer' iter'
+    checkUnexpectedReturnNULL "textBufferCreateChildAnchor" result
+    result' <- (newObject Gtk.TextChildAnchor.TextChildAnchor) result
+    touchManagedPtr buffer
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferCreateChildAnchorMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> m Gtk.TextChildAnchor.TextChildAnchor), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferCreateChildAnchorMethodInfo a signature where
+    overloadedMethod _ = textBufferCreateChildAnchor
+
+#endif
+
+-- method TextBuffer::create_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mark_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name for mark, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to place mark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left_gravity", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the mark has left gravity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextMark"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_create_mark" gtk_text_buffer_create_mark :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- mark_name : TBasicType TUTF8
+    Ptr Gtk.TextIter.TextIter ->            -- where : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- left_gravity : TBasicType TBoolean
+    IO (Ptr Gtk.TextMark.TextMark)
+
+{- |
+Creates a mark at position /@where@/. If /@markName@/ is 'Nothing', the mark
+is anonymous; otherwise, the mark can be retrieved by name using
+'GI.Gtk.Objects.TextBuffer.textBufferGetMark'. If a mark has left gravity, and text is
+inserted at the mark’s current location, the mark will be moved to
+the left of the newly-inserted text. If the mark has right gravity
+(/@leftGravity@/ = 'False'), the mark will end up on the right of
+newly-inserted text. The standard left-to-right cursor is a mark
+with right gravity (when you type, the cursor stays on the right
+side of the text you’re typing).
+
+The caller of this function does not own a
+reference to the returned 'GI.Gtk.Objects.TextMark.TextMark', so you can ignore the
+return value if you like. Marks are owned by the buffer and go
+away when the buffer does.
+
+Emits the 'GI.Gtk.Objects.TextBuffer.TextBuffer'::@/mark-set/@ signal as notification of the mark\'s
+initial placement.
+-}
+textBufferCreateMark ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Maybe (T.Text)
+    {- ^ /@markName@/: name for mark, or 'Nothing' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@where@/: location to place mark -}
+    -> Bool
+    {- ^ /@leftGravity@/: whether the mark has left gravity -}
+    -> m Gtk.TextMark.TextMark
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.TextMark.TextMark' object -}
+textBufferCreateMark buffer markName where_ leftGravity = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    maybeMarkName <- case markName of
+        Nothing -> return nullPtr
+        Just jMarkName -> do
+            jMarkName' <- textToCString jMarkName
+            return jMarkName'
+    where_' <- unsafeManagedPtrGetPtr where_
+    let leftGravity' = (fromIntegral . fromEnum) leftGravity
+    result <- gtk_text_buffer_create_mark buffer' maybeMarkName where_' leftGravity'
+    checkUnexpectedReturnNULL "textBufferCreateMark" result
+    result' <- (newObject Gtk.TextMark.TextMark) result
+    touchManagedPtr buffer
+    touchManagedPtr where_
+    freeMem maybeMarkName
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferCreateMarkMethodInfo
+instance (signature ~ (Maybe (T.Text) -> Gtk.TextIter.TextIter -> Bool -> m Gtk.TextMark.TextMark), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferCreateMarkMethodInfo a signature where
+    overloadedMethod _ = textBufferCreateMark
+
+#endif
+
+-- method TextBuffer::cut_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard object to cut to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_editable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default editability of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_cut_clipboard" gtk_text_buffer_cut_clipboard :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.Clipboard.Clipboard ->          -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    CInt ->                                 -- default_editable : TBasicType TBoolean
+    IO ()
+
+{- |
+Copies the currently-selected text to a clipboard, then deletes
+said text if it’s editable.
+-}
+textBufferCutClipboard ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' object to cut to -}
+    -> Bool
+    {- ^ /@defaultEditable@/: default editability of the buffer -}
+    -> m ()
+textBufferCutClipboard buffer clipboard defaultEditable = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    let defaultEditable' = (fromIntegral . fromEnum) defaultEditable
+    gtk_text_buffer_cut_clipboard buffer' clipboard' defaultEditable'
+    touchManagedPtr buffer
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferCutClipboardMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) => O.MethodInfo TextBufferCutClipboardMethodInfo a signature where
+    overloadedMethod _ = textBufferCutClipboard
+
+#endif
+
+-- method TextBuffer::delete
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another position in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_delete" gtk_text_buffer_delete :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Deletes text between /@start@/ and /@end@/. The order of /@start@/ and /@end@/
+is not actually relevant; 'GI.Gtk.Objects.TextBuffer.textBufferDelete' will reorder
+them. This function actually emits the “delete-range” signal, and
+the default handler of that signal deletes the text. Because the
+buffer is modified, all outstanding iterators become invalid after
+calling this function; however, the /@start@/ and /@end@/ will be
+re-initialized to point to the location where text was deleted.
+-}
+textBufferDelete ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: a position in /@buffer@/ -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: another position in /@buffer@/ -}
+    -> m ()
+textBufferDelete buffer start end = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    gtk_text_buffer_delete buffer' start' end'
+    touchManagedPtr buffer
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferDeleteMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferDeleteMethodInfo a signature where
+    overloadedMethod _ = textBufferDelete
+
+#endif
+
+-- method TextBuffer::delete_interactive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of range to delete", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_editable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the buffer is editable by default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_delete_interactive" gtk_text_buffer_delete_interactive :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- start_iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end_iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- default_editable : TBasicType TBoolean
+    IO CInt
+
+{- |
+Deletes all editable text in the given range.
+Calls 'GI.Gtk.Objects.TextBuffer.textBufferDelete' for each editable sub-range of
+[/@start@/,/@end@/). /@start@/ and /@end@/ are revalidated to point to
+the location of the last deleted range, or left untouched if
+no text was deleted.
+-}
+textBufferDeleteInteractive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@startIter@/: start of range to delete -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@endIter@/: end of range -}
+    -> Bool
+    {- ^ /@defaultEditable@/: whether the buffer is editable by default -}
+    -> m Bool
+    {- ^ __Returns:__ whether some text was actually deleted -}
+textBufferDeleteInteractive buffer startIter endIter defaultEditable = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    startIter' <- unsafeManagedPtrGetPtr startIter
+    endIter' <- unsafeManagedPtrGetPtr endIter
+    let defaultEditable' = (fromIntegral . fromEnum) defaultEditable
+    result <- gtk_text_buffer_delete_interactive buffer' startIter' endIter' defaultEditable'
+    let result' = (/= 0) result
+    touchManagedPtr buffer
+    touchManagedPtr startIter
+    touchManagedPtr endIter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferDeleteInteractiveMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> Bool -> m Bool), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferDeleteInteractiveMethodInfo a signature where
+    overloadedMethod _ = textBufferDeleteInteractive
+
+#endif
+
+-- method TextBuffer::delete_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_delete_mark" gtk_text_buffer_delete_mark :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextMark.TextMark ->            -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    IO ()
+
+{- |
+Deletes /@mark@/, so that it’s no longer located anywhere in the
+buffer. Removes the reference the buffer holds to the mark, so if
+you haven’t called 'GI.GObject.Objects.Object.objectRef' on the mark, it will be freed. Even
+if the mark isn’t freed, most operations on /@mark@/ become
+invalid, until it gets added to a buffer again with
+'GI.Gtk.Objects.TextBuffer.textBufferAddMark'. Use 'GI.Gtk.Objects.TextMark.textMarkGetDeleted' to
+find out if a mark has been removed from its buffer.
+The 'GI.Gtk.Objects.TextBuffer.TextBuffer'::@/mark-deleted/@ signal will be emitted as notification after
+the mark is deleted.
+-}
+textBufferDeleteMark ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.TextMark.IsTextMark b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' in /@buffer@/ -}
+    -> m ()
+textBufferDeleteMark buffer mark = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    mark' <- unsafeManagedPtrCastPtr mark
+    gtk_text_buffer_delete_mark buffer' mark'
+    touchManagedPtr buffer
+    touchManagedPtr mark
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferDeleteMarkMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsTextBuffer a, Gtk.TextMark.IsTextMark b) => O.MethodInfo TextBufferDeleteMarkMethodInfo a signature where
+    overloadedMethod _ = textBufferDeleteMark
+
+#endif
+
+-- method TextBuffer::delete_mark_by_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a mark in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_delete_mark_by_name" gtk_text_buffer_delete_mark_by_name :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Deletes the mark named /@name@/; the mark must exist. See
+'GI.Gtk.Objects.TextBuffer.textBufferDeleteMark' for details.
+-}
+textBufferDeleteMarkByName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@name@/: name of a mark in /@buffer@/ -}
+    -> m ()
+textBufferDeleteMarkByName buffer name = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    name' <- textToCString name
+    gtk_text_buffer_delete_mark_by_name buffer' name'
+    touchManagedPtr buffer
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferDeleteMarkByNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferDeleteMarkByNameMethodInfo a signature where
+    overloadedMethod _ = textBufferDeleteMarkByName
+
+#endif
+
+-- method TextBuffer::delete_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interactive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the deletion is caused by user interaction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_editable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the buffer is editable by default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_delete_selection" gtk_text_buffer_delete_selection :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CInt ->                                 -- interactive : TBasicType TBoolean
+    CInt ->                                 -- default_editable : TBasicType TBoolean
+    IO CInt
+
+{- |
+Deletes the range between the “insert” and “selection_bound” marks,
+that is, the currently-selected text. If /@interactive@/ is 'True',
+the editability of the selection will be considered (users can’t delete
+uneditable text).
+-}
+textBufferDeleteSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Bool
+    {- ^ /@interactive@/: whether the deletion is caused by user interaction -}
+    -> Bool
+    {- ^ /@defaultEditable@/: whether the buffer is editable by default -}
+    -> m Bool
+    {- ^ __Returns:__ whether there was a non-empty selection to delete -}
+textBufferDeleteSelection buffer interactive defaultEditable = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    let interactive' = (fromIntegral . fromEnum) interactive
+    let defaultEditable' = (fromIntegral . fromEnum) defaultEditable
+    result <- gtk_text_buffer_delete_selection buffer' interactive' defaultEditable'
+    let result' = (/= 0) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferDeleteSelectionMethodInfo
+instance (signature ~ (Bool -> Bool -> m Bool), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferDeleteSelectionMethodInfo a signature where
+    overloadedMethod _ = textBufferDeleteSelection
+
+#endif
+
+-- method TextBuffer::deserialize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "register_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer @format is registered with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer to deserialize into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the rich text format to use for deserializing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "insertion point for the deserialized text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 5 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "data to deserialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_deserialize" gtk_text_buffer_deserialize :: 
+    Ptr TextBuffer ->                       -- register_buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr TextBuffer ->                       -- content_buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gdk.Atom.Atom ->                    -- format : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Word8 ->                            -- data : TCArray False (-1) 5 (TBasicType TUInt8)
+    Word64 ->                               -- length : TBasicType TUInt64
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+This function deserializes rich text in format /@format@/ and inserts
+it at /@iter@/.
+
+/@formats@/ to be used must be registered using
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterDeserializeFormat' or
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterDeserializeTagset' beforehand.
+
+/Since: 2.10/
+-}
+textBufferDeserialize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, IsTextBuffer b) =>
+    a
+    {- ^ /@registerBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' /@format@/ is registered with -}
+    -> b
+    {- ^ /@contentBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' to deserialize into -}
+    -> Gdk.Atom.Atom
+    {- ^ /@format@/: the rich text format to use for deserializing -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: insertion point for the deserialized text -}
+    -> ByteString
+    {- ^ /@data@/: data to deserialize -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+textBufferDeserialize registerBuffer contentBuffer format iter data_ = liftIO $ do
+    let length_ = fromIntegral $ B.length data_
+    registerBuffer' <- unsafeManagedPtrCastPtr registerBuffer
+    contentBuffer' <- unsafeManagedPtrCastPtr contentBuffer
+    format' <- unsafeManagedPtrGetPtr format
+    iter' <- unsafeManagedPtrGetPtr iter
+    data_' <- packByteString data_
+    onException (do
+        _ <- propagateGError $ gtk_text_buffer_deserialize registerBuffer' contentBuffer' format' iter' data_' length_
+        touchManagedPtr registerBuffer
+        touchManagedPtr contentBuffer
+        touchManagedPtr format
+        touchManagedPtr iter
+        freeMem data_'
+        return ()
+     ) (do
+        freeMem data_'
+     )
+
+#if ENABLE_OVERLOADING
+data TextBufferDeserializeMethodInfo
+instance (signature ~ (b -> Gdk.Atom.Atom -> Gtk.TextIter.TextIter -> ByteString -> m ()), MonadIO m, IsTextBuffer a, IsTextBuffer b) => O.MethodInfo TextBufferDeserializeMethodInfo a signature where
+    overloadedMethod _ = textBufferDeserialize
+
+#endif
+
+-- method TextBuffer::deserialize_get_can_create_tags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAtom representing a registered rich text format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_deserialize_get_can_create_tags" gtk_text_buffer_deserialize_get_can_create_tags :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gdk.Atom.Atom ->                    -- format : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO CInt
+
+{- |
+This functions returns the value set with
+'GI.Gtk.Objects.TextBuffer.textBufferDeserializeSetCanCreateTags'
+
+/Since: 2.10/
+-}
+textBufferDeserializeGetCanCreateTags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@format@/: a 'GI.Gdk.Structs.Atom.Atom' representing a registered rich text format -}
+    -> m Bool
+    {- ^ __Returns:__ whether deserializing this format may create tags -}
+textBufferDeserializeGetCanCreateTags buffer format = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    format' <- unsafeManagedPtrGetPtr format
+    result <- gtk_text_buffer_deserialize_get_can_create_tags buffer' format'
+    let result' = (/= 0) result
+    touchManagedPtr buffer
+    touchManagedPtr format
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferDeserializeGetCanCreateTagsMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> m Bool), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferDeserializeGetCanCreateTagsMethodInfo a signature where
+    overloadedMethod _ = textBufferDeserializeGetCanCreateTags
+
+#endif
+
+-- method TextBuffer::deserialize_set_can_create_tags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAtom representing a registered rich text format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "can_create_tags", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether deserializing this format may create tags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_deserialize_set_can_create_tags" gtk_text_buffer_deserialize_set_can_create_tags :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gdk.Atom.Atom ->                    -- format : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    CInt ->                                 -- can_create_tags : TBasicType TBoolean
+    IO ()
+
+{- |
+Use this function to allow a rich text deserialization function to
+create new tags in the receiving buffer. Note that using this
+function is almost always a bad idea, because the rich text
+functions you register should know how to map the rich text format
+they handler to your text buffers set of tags.
+
+The ability of creating new (arbitrary!) tags in the receiving buffer
+is meant for special rich text formats like the internal one that
+is registered using 'GI.Gtk.Objects.TextBuffer.textBufferRegisterDeserializeTagset',
+because that format is essentially a dump of the internal structure
+of the source buffer, including its tag names.
+
+You should allow creation of tags only if you know what you are
+doing, e.g. if you defined a tagset name for your application
+suite’s text buffers and you know that it’s fine to receive new
+tags from these buffers, because you know that your application can
+handle the newly created tags.
+
+/Since: 2.10/
+-}
+textBufferDeserializeSetCanCreateTags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@format@/: a 'GI.Gdk.Structs.Atom.Atom' representing a registered rich text format -}
+    -> Bool
+    {- ^ /@canCreateTags@/: whether deserializing this format may create tags -}
+    -> m ()
+textBufferDeserializeSetCanCreateTags buffer format canCreateTags = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    format' <- unsafeManagedPtrGetPtr format
+    let canCreateTags' = (fromIntegral . fromEnum) canCreateTags
+    gtk_text_buffer_deserialize_set_can_create_tags buffer' format' canCreateTags'
+    touchManagedPtr buffer
+    touchManagedPtr format
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferDeserializeSetCanCreateTagsMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> Bool -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferDeserializeSetCanCreateTagsMethodInfo a signature where
+    overloadedMethod _ = textBufferDeserializeSetCanCreateTags
+
+#endif
+
+-- method TextBuffer::end_user_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_end_user_action" gtk_text_buffer_end_user_action :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO ()
+
+{- |
+Should be paired with a call to 'GI.Gtk.Objects.TextBuffer.textBufferBeginUserAction'.
+See that function for a full explanation.
+-}
+textBufferEndUserAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m ()
+textBufferEndUserAction buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    gtk_text_buffer_end_user_action buffer'
+    touchManagedPtr buffer
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferEndUserActionMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferEndUserActionMethodInfo a signature where
+    overloadedMethod _ = textBufferEndUserAction
+
+#endif
+
+-- method TextBuffer::get_bounds
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize with first position in the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize with the end iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_bounds" gtk_text_buffer_get_bounds :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Retrieves the first and last iterators in the buffer, i.e. the
+entire buffer lies within the range [/@start@/,/@end@/).
+-}
+textBufferGetBounds ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m ((Gtk.TextIter.TextIter, Gtk.TextIter.TextIter))
+textBufferGetBounds buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    start <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    end <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    gtk_text_buffer_get_bounds buffer' start end
+    start' <- (wrapBoxed Gtk.TextIter.TextIter) start
+    end' <- (wrapBoxed Gtk.TextIter.TextIter) end
+    touchManagedPtr buffer
+    return (start', end')
+
+#if ENABLE_OVERLOADING
+data TextBufferGetBoundsMethodInfo
+instance (signature ~ (m ((Gtk.TextIter.TextIter, Gtk.TextIter.TextIter))), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetBoundsMethodInfo a signature where
+    overloadedMethod _ = textBufferGetBounds
+
+#endif
+
+-- method TextBuffer::get_char_count
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_char_count" gtk_text_buffer_get_char_count :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO Int32
+
+{- |
+Gets the number of characters in the buffer; note that characters
+and bytes are not the same, you can’t e.g. expect the contents of
+the buffer in string form to be this many bytes long. The character
+count is cached, so this function is very fast.
+-}
+textBufferGetCharCount ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Int32
+    {- ^ __Returns:__ number of characters in the buffer -}
+textBufferGetCharCount buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_buffer_get_char_count buffer'
+    touchManagedPtr buffer
+    return result
+
+#if ENABLE_OVERLOADING
+data TextBufferGetCharCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetCharCountMethodInfo a signature where
+    overloadedMethod _ = textBufferGetCharCount
+
+#endif
+
+-- method TextBuffer::get_copy_target_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetList"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_copy_target_list" gtk_text_buffer_get_copy_target_list :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO (Ptr Gtk.TargetList.TargetList)
+
+{- |
+This function returns the list of targets this text buffer can
+provide for copying and as DND source. The targets in the list are
+added with /@info@/ values from the 'GI.Gtk.Enums.TextBufferTargetInfo' enum,
+using 'GI.Gtk.Structs.TargetList.targetListAddRichTextTargets' and
+'GI.Gtk.Structs.TargetList.targetListAddTextTargets'.
+
+/Since: 2.10/
+-}
+textBufferGetCopyTargetList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Gtk.TargetList.TargetList
+    {- ^ __Returns:__ the 'GI.Gtk.Structs.TargetList.TargetList' -}
+textBufferGetCopyTargetList buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_buffer_get_copy_target_list buffer'
+    checkUnexpectedReturnNULL "textBufferGetCopyTargetList" result
+    result' <- (newBoxed Gtk.TargetList.TargetList) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetCopyTargetListMethodInfo
+instance (signature ~ (m Gtk.TargetList.TargetList), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetCopyTargetListMethodInfo a signature where
+    overloadedMethod _ = textBufferGetCopyTargetList
+
+#endif
+
+-- method TextBuffer::get_deserialize_formats
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_formats", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of formats", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_formats", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of formats", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_deserialize_formats" gtk_text_buffer_get_deserialize_formats :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Int32 ->                            -- n_formats : TBasicType TInt
+    IO (Ptr (Ptr Gdk.Atom.Atom))
+
+{- |
+This function returns the rich text deserialize formats registered
+with /@buffer@/ using 'GI.Gtk.Objects.TextBuffer.textBufferRegisterDeserializeFormat' or
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterDeserializeTagset'
+
+/Since: 2.10/
+-}
+textBufferGetDeserializeFormats ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m [Gdk.Atom.Atom]
+    {- ^ __Returns:__ an array of
+              @/GdkAtoms/@ representing the registered formats. -}
+textBufferGetDeserializeFormats buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    nFormats <- allocMem :: IO (Ptr Int32)
+    result <- gtk_text_buffer_get_deserialize_formats buffer' nFormats
+    nFormats' <- peek nFormats
+    checkUnexpectedReturnNULL "textBufferGetDeserializeFormats" result
+    result' <- (unpackPtrArrayWithLength nFormats') result
+    result'' <- mapM (newPtr Gdk.Atom.Atom) result'
+    freeMem result
+    touchManagedPtr buffer
+    freeMem nFormats
+    return result''
+
+#if ENABLE_OVERLOADING
+data TextBufferGetDeserializeFormatsMethodInfo
+instance (signature ~ (m [Gdk.Atom.Atom]), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetDeserializeFormatsMethodInfo a signature where
+    overloadedMethod _ = textBufferGetDeserializeFormats
+
+#endif
+
+-- method TextBuffer::get_end_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_end_iter" gtk_text_buffer_get_end_iter :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Initializes /@iter@/ with the “end iterator,” one past the last valid
+character in the text buffer. If dereferenced with
+'GI.Gtk.Structs.TextIter.textIterGetChar', the end iterator has a character value of 0.
+The entire buffer lies in the range from the first position in
+the buffer (call 'GI.Gtk.Objects.TextBuffer.textBufferGetStartIter' to get
+character position 0) to the end iterator.
+-}
+textBufferGetEndIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m (Gtk.TextIter.TextIter)
+textBufferGetEndIter buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    gtk_text_buffer_get_end_iter buffer' iter
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    touchManagedPtr buffer
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetEndIterMethodInfo
+instance (signature ~ (m (Gtk.TextIter.TextIter)), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetEndIterMethodInfo a signature where
+    overloadedMethod _ = textBufferGetEndIter
+
+#endif
+
+-- method TextBuffer::get_has_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_has_selection" gtk_text_buffer_get_has_selection :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO CInt
+
+{- |
+Indicates whether the buffer has some text currently selected.
+
+/Since: 2.10/
+-}
+textBufferGetHasSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the there is text selected -}
+textBufferGetHasSelection buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_buffer_get_has_selection buffer'
+    let result' = (/= 0) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetHasSelectionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetHasSelectionMethodInfo a signature where
+    overloadedMethod _ = textBufferGetHasSelection
+
+#endif
+
+-- method TextBuffer::get_insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextMark"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_insert" gtk_text_buffer_get_insert :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO (Ptr Gtk.TextMark.TextMark)
+
+{- |
+Returns the mark that represents the cursor (insertion point).
+Equivalent to calling 'GI.Gtk.Objects.TextBuffer.textBufferGetMark' to get the mark
+named “insert”, but very slightly more efficient, and involves less
+typing.
+-}
+textBufferGetInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Gtk.TextMark.TextMark
+    {- ^ __Returns:__ insertion point mark -}
+textBufferGetInsert buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_buffer_get_insert buffer'
+    checkUnexpectedReturnNULL "textBufferGetInsert" result
+    result' <- (newObject Gtk.TextMark.TextMark) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetInsertMethodInfo
+instance (signature ~ (m Gtk.TextMark.TextMark), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetInsertMethodInfo a signature where
+    overloadedMethod _ = textBufferGetInsert
+
+#endif
+
+-- method TextBuffer::get_iter_at_child_anchor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator to be initialized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "anchor", argType = TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child anchor that appears in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_iter_at_child_anchor" gtk_text_buffer_get_iter_at_child_anchor :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextChildAnchor.TextChildAnchor -> -- anchor : TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"})
+    IO ()
+
+{- |
+Obtains the location of /@anchor@/ within /@buffer@/.
+-}
+textBufferGetIterAtChildAnchor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.TextChildAnchor.IsTextChildAnchor b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@anchor@/: a child anchor that appears in /@buffer@/ -}
+    -> m (Gtk.TextIter.TextIter)
+textBufferGetIterAtChildAnchor buffer anchor = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    anchor' <- unsafeManagedPtrCastPtr anchor
+    gtk_text_buffer_get_iter_at_child_anchor buffer' iter anchor'
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    touchManagedPtr buffer
+    touchManagedPtr anchor
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtChildAnchorMethodInfo
+instance (signature ~ (b -> m (Gtk.TextIter.TextIter)), MonadIO m, IsTextBuffer a, Gtk.TextChildAnchor.IsTextChildAnchor b) => O.MethodInfo TextBufferGetIterAtChildAnchorMethodInfo a signature where
+    overloadedMethod _ = textBufferGetIterAtChildAnchor
+
+#endif
+
+-- method TextBuffer::get_iter_at_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "line_number", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "line number counting from 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_iter_at_line" gtk_text_buffer_get_iter_at_line :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- line_number : TBasicType TInt
+    IO ()
+
+{- |
+Initializes /@iter@/ to the start of the given line. If /@lineNumber@/ is greater
+than the number of lines in the /@buffer@/, the end iterator is returned.
+-}
+textBufferGetIterAtLine ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Int32
+    {- ^ /@lineNumber@/: line number counting from 0 -}
+    -> m (Gtk.TextIter.TextIter)
+textBufferGetIterAtLine buffer lineNumber = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    gtk_text_buffer_get_iter_at_line buffer' iter lineNumber
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    touchManagedPtr buffer
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtLineMethodInfo
+instance (signature ~ (Int32 -> m (Gtk.TextIter.TextIter)), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetIterAtLineMethodInfo a signature where
+    overloadedMethod _ = textBufferGetIterAtLine
+
+#endif
+
+-- method TextBuffer::get_iter_at_line_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "line_number", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "line number counting from 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "byte_index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "byte index from start of line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_iter_at_line_index" gtk_text_buffer_get_iter_at_line_index :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- line_number : TBasicType TInt
+    Int32 ->                                -- byte_index : TBasicType TInt
+    IO ()
+
+{- |
+Obtains an iterator pointing to /@byteIndex@/ within the given line.
+/@byteIndex@/ must be the start of a UTF-8 character. Note bytes, not
+characters; UTF-8 may encode one character as multiple bytes.
+
+Before the 3.20 version, it was not allowed to pass an invalid location.
+
+Since the 3.20 version, if /@lineNumber@/ is greater than the number of lines
+in the /@buffer@/, the end iterator is returned. And if /@byteIndex@/ is off the
+end of the line, the iterator at the end of the line is returned.
+-}
+textBufferGetIterAtLineIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Int32
+    {- ^ /@lineNumber@/: line number counting from 0 -}
+    -> Int32
+    {- ^ /@byteIndex@/: byte index from start of line -}
+    -> m (Gtk.TextIter.TextIter)
+textBufferGetIterAtLineIndex buffer lineNumber byteIndex = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    gtk_text_buffer_get_iter_at_line_index buffer' iter lineNumber byteIndex
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    touchManagedPtr buffer
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtLineIndexMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Gtk.TextIter.TextIter)), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetIterAtLineIndexMethodInfo a signature where
+    overloadedMethod _ = textBufferGetIterAtLineIndex
+
+#endif
+
+-- method TextBuffer::get_iter_at_line_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "line_number", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "line number counting from 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "char_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "char offset from start of line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_iter_at_line_offset" gtk_text_buffer_get_iter_at_line_offset :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- line_number : TBasicType TInt
+    Int32 ->                                -- char_offset : TBasicType TInt
+    IO ()
+
+{- |
+Obtains an iterator pointing to /@charOffset@/ within the given line. Note
+characters, not bytes; UTF-8 may encode one character as multiple bytes.
+
+Before the 3.20 version, it was not allowed to pass an invalid location.
+
+Since the 3.20 version, if /@lineNumber@/ is greater than the number of lines
+in the /@buffer@/, the end iterator is returned. And if /@charOffset@/ is off the
+end of the line, the iterator at the end of the line is returned.
+-}
+textBufferGetIterAtLineOffset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Int32
+    {- ^ /@lineNumber@/: line number counting from 0 -}
+    -> Int32
+    {- ^ /@charOffset@/: char offset from start of line -}
+    -> m (Gtk.TextIter.TextIter)
+textBufferGetIterAtLineOffset buffer lineNumber charOffset = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    gtk_text_buffer_get_iter_at_line_offset buffer' iter lineNumber charOffset
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    touchManagedPtr buffer
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtLineOffsetMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Gtk.TextIter.TextIter)), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetIterAtLineOffsetMethodInfo a signature where
+    overloadedMethod _ = textBufferGetIterAtLineOffset
+
+#endif
+
+-- method TextBuffer::get_iter_at_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_iter_at_mark" gtk_text_buffer_get_iter_at_mark :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextMark.TextMark ->            -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    IO ()
+
+{- |
+Initializes /@iter@/ with the current position of /@mark@/.
+-}
+textBufferGetIterAtMark ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.TextMark.IsTextMark b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' in /@buffer@/ -}
+    -> m (Gtk.TextIter.TextIter)
+textBufferGetIterAtMark buffer mark = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    mark' <- unsafeManagedPtrCastPtr mark
+    gtk_text_buffer_get_iter_at_mark buffer' iter mark'
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    touchManagedPtr buffer
+    touchManagedPtr mark
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtMarkMethodInfo
+instance (signature ~ (b -> m (Gtk.TextIter.TextIter)), MonadIO m, IsTextBuffer a, Gtk.TextMark.IsTextMark b) => O.MethodInfo TextBufferGetIterAtMarkMethodInfo a signature where
+    overloadedMethod _ = textBufferGetIterAtMark
+
+#endif
+
+-- method TextBuffer::get_iter_at_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "char_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "char offset from start of buffer, counting from 0, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_iter_at_offset" gtk_text_buffer_get_iter_at_offset :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- char_offset : TBasicType TInt
+    IO ()
+
+{- |
+Initializes /@iter@/ to a position /@charOffset@/ chars from the start
+of the entire buffer. If /@charOffset@/ is -1 or greater than the number
+of characters in the buffer, /@iter@/ is initialized to the end iterator,
+the iterator one past the last valid character in the buffer.
+-}
+textBufferGetIterAtOffset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Int32
+    {- ^ /@charOffset@/: char offset from start of buffer, counting from 0, or -1 -}
+    -> m (Gtk.TextIter.TextIter)
+textBufferGetIterAtOffset buffer charOffset = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    gtk_text_buffer_get_iter_at_offset buffer' iter charOffset
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    touchManagedPtr buffer
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtOffsetMethodInfo
+instance (signature ~ (Int32 -> m (Gtk.TextIter.TextIter)), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetIterAtOffsetMethodInfo a signature where
+    overloadedMethod _ = textBufferGetIterAtOffset
+
+#endif
+
+-- method TextBuffer::get_line_count
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_line_count" gtk_text_buffer_get_line_count :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO Int32
+
+{- |
+Obtains the number of lines in the buffer. This value is cached, so
+the function is very fast.
+-}
+textBufferGetLineCount ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Int32
+    {- ^ __Returns:__ number of lines in the buffer -}
+textBufferGetLineCount buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_buffer_get_line_count buffer'
+    touchManagedPtr buffer
+    return result
+
+#if ENABLE_OVERLOADING
+data TextBufferGetLineCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetLineCountMethodInfo a signature where
+    overloadedMethod _ = textBufferGetLineCount
+
+#endif
+
+-- method TextBuffer::get_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a mark name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextMark"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_mark" gtk_text_buffer_get_mark :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr Gtk.TextMark.TextMark)
+
+{- |
+Returns the mark named /@name@/ in buffer /@buffer@/, or 'Nothing' if no such
+mark exists in the buffer.
+-}
+textBufferGetMark ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@name@/: a mark name -}
+    -> m (Maybe Gtk.TextMark.TextMark)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.TextMark.TextMark', or 'Nothing' -}
+textBufferGetMark buffer name = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    name' <- textToCString name
+    result <- gtk_text_buffer_get_mark buffer' name'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.TextMark.TextMark) result'
+        return result''
+    touchManagedPtr buffer
+    freeMem name'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TextBufferGetMarkMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.TextMark.TextMark)), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetMarkMethodInfo a signature where
+    overloadedMethod _ = textBufferGetMark
+
+#endif
+
+-- method TextBuffer::get_modified
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_modified" gtk_text_buffer_get_modified :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO CInt
+
+{- |
+Indicates whether the buffer has been modified since the last call
+to 'GI.Gtk.Objects.TextBuffer.textBufferSetModified' set the modification flag to
+'False'. Used for example to enable a “save” function in a text
+editor.
+-}
+textBufferGetModified ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the buffer has been modified -}
+textBufferGetModified buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_buffer_get_modified buffer'
+    let result' = (/= 0) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetModifiedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetModifiedMethodInfo a signature where
+    overloadedMethod _ = textBufferGetModified
+
+#endif
+
+-- method TextBuffer::get_paste_target_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetList"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_paste_target_list" gtk_text_buffer_get_paste_target_list :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO (Ptr Gtk.TargetList.TargetList)
+
+{- |
+This function returns the list of targets this text buffer supports
+for pasting and as DND destination. The targets in the list are
+added with /@info@/ values from the 'GI.Gtk.Enums.TextBufferTargetInfo' enum,
+using 'GI.Gtk.Structs.TargetList.targetListAddRichTextTargets' and
+'GI.Gtk.Structs.TargetList.targetListAddTextTargets'.
+
+/Since: 2.10/
+-}
+textBufferGetPasteTargetList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Gtk.TargetList.TargetList
+    {- ^ __Returns:__ the 'GI.Gtk.Structs.TargetList.TargetList' -}
+textBufferGetPasteTargetList buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_buffer_get_paste_target_list buffer'
+    checkUnexpectedReturnNULL "textBufferGetPasteTargetList" result
+    result' <- (newBoxed Gtk.TargetList.TargetList) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetPasteTargetListMethodInfo
+instance (signature ~ (m Gtk.TargetList.TargetList), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetPasteTargetListMethodInfo a signature where
+    overloadedMethod _ = textBufferGetPasteTargetList
+
+#endif
+
+-- method TextBuffer::get_selection_bound
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextMark"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_selection_bound" gtk_text_buffer_get_selection_bound :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO (Ptr Gtk.TextMark.TextMark)
+
+{- |
+Returns the mark that represents the selection bound.  Equivalent
+to calling 'GI.Gtk.Objects.TextBuffer.textBufferGetMark' to get the mark named
+“selection_bound”, but very slightly more efficient, and involves
+less typing.
+
+The currently-selected text in /@buffer@/ is the region between the
+“selection_bound” and “insert” marks. If “selection_bound” and
+“insert” are in the same place, then there is no current selection.
+'GI.Gtk.Objects.TextBuffer.textBufferGetSelectionBounds' is another convenient function
+for handling the selection, if you just want to know whether there’s a
+selection and what its bounds are.
+-}
+textBufferGetSelectionBound ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Gtk.TextMark.TextMark
+    {- ^ __Returns:__ selection bound mark -}
+textBufferGetSelectionBound buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_buffer_get_selection_bound buffer'
+    checkUnexpectedReturnNULL "textBufferGetSelectionBound" result
+    result' <- (newObject Gtk.TextMark.TextMark) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetSelectionBoundMethodInfo
+instance (signature ~ (m Gtk.TextMark.TextMark), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetSelectionBoundMethodInfo a signature where
+    overloadedMethod _ = textBufferGetSelectionBound
+
+#endif
+
+-- method TextBuffer::get_selection_bounds
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize with selection start", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize with selection end", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_selection_bounds" gtk_text_buffer_get_selection_bounds :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Returns 'True' if some text is selected; places the bounds
+of the selection in /@start@/ and /@end@/ (if the selection has length 0,
+then /@start@/ and /@end@/ are filled in with the same value).
+/@start@/ and /@end@/ will be in ascending order. If /@start@/ and /@end@/ are
+NULL, then they are not filled in, but the return value still indicates
+whether text is selected.
+-}
+textBufferGetSelectionBounds ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m ((Bool, Gtk.TextIter.TextIter, Gtk.TextIter.TextIter))
+    {- ^ __Returns:__ whether the selection has nonzero length -}
+textBufferGetSelectionBounds buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    start <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    end <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    result <- gtk_text_buffer_get_selection_bounds buffer' start end
+    let result' = (/= 0) result
+    start' <- (wrapBoxed Gtk.TextIter.TextIter) start
+    end' <- (wrapBoxed Gtk.TextIter.TextIter) end
+    touchManagedPtr buffer
+    return (result', start', end')
+
+#if ENABLE_OVERLOADING
+data TextBufferGetSelectionBoundsMethodInfo
+instance (signature ~ (m ((Bool, Gtk.TextIter.TextIter, Gtk.TextIter.TextIter))), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetSelectionBoundsMethodInfo a signature where
+    overloadedMethod _ = textBufferGetSelectionBounds
+
+#endif
+
+-- method TextBuffer::get_serialize_formats
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_formats", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of formats", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_formats", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of formats", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TCArray False (-1) 1 (TInterface (Name {namespace = "Gdk", name = "Atom"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_serialize_formats" gtk_text_buffer_get_serialize_formats :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Int32 ->                            -- n_formats : TBasicType TInt
+    IO (Ptr (Ptr Gdk.Atom.Atom))
+
+{- |
+This function returns the rich text serialize formats registered
+with /@buffer@/ using 'GI.Gtk.Objects.TextBuffer.textBufferRegisterSerializeFormat' or
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterSerializeTagset'
+
+/Since: 2.10/
+-}
+textBufferGetSerializeFormats ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m [Gdk.Atom.Atom]
+    {- ^ __Returns:__ an array of
+              @/GdkAtoms/@ representing the registered formats. -}
+textBufferGetSerializeFormats buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    nFormats <- allocMem :: IO (Ptr Int32)
+    result <- gtk_text_buffer_get_serialize_formats buffer' nFormats
+    nFormats' <- peek nFormats
+    checkUnexpectedReturnNULL "textBufferGetSerializeFormats" result
+    result' <- (unpackPtrArrayWithLength nFormats') result
+    result'' <- mapM (newPtr Gdk.Atom.Atom) result'
+    freeMem result
+    touchManagedPtr buffer
+    freeMem nFormats
+    return result''
+
+#if ENABLE_OVERLOADING
+data TextBufferGetSerializeFormatsMethodInfo
+instance (signature ~ (m [Gdk.Atom.Atom]), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetSerializeFormatsMethodInfo a signature where
+    overloadedMethod _ = textBufferGetSerializeFormats
+
+#endif
+
+-- method TextBuffer::get_slice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of a range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of a range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "include_hidden_chars", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to include invisible text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_slice" gtk_text_buffer_get_slice :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- include_hidden_chars : TBasicType TBoolean
+    IO CString
+
+{- |
+Returns the text in the range [/@start@/,/@end@/). Excludes undisplayed
+text (text marked with tags that set the invisibility attribute) if
+/@includeHiddenChars@/ is 'False'. The returned string includes a
+0xFFFC character whenever the buffer contains
+embedded images, so byte and character indexes into
+the returned string do correspond to byte
+and character indexes into the buffer. Contrast with
+'GI.Gtk.Objects.TextBuffer.textBufferGetText'. Note that 0xFFFC can occur in normal
+text as well, so it is not a reliable indicator that a pixbuf or
+widget is in the buffer.
+-}
+textBufferGetSlice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: start of a range -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: end of a range -}
+    -> Bool
+    {- ^ /@includeHiddenChars@/: whether to include invisible text -}
+    -> m T.Text
+    {- ^ __Returns:__ an allocated UTF-8 string -}
+textBufferGetSlice buffer start end includeHiddenChars = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    let includeHiddenChars' = (fromIntegral . fromEnum) includeHiddenChars
+    result <- gtk_text_buffer_get_slice buffer' start' end' includeHiddenChars'
+    checkUnexpectedReturnNULL "textBufferGetSlice" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr buffer
+    touchManagedPtr start
+    touchManagedPtr end
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetSliceMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> Bool -> m T.Text), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetSliceMethodInfo a signature where
+    overloadedMethod _ = textBufferGetSlice
+
+#endif
+
+-- method TextBuffer::get_start_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_start_iter" gtk_text_buffer_get_start_iter :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Initialized /@iter@/ with the first position in the text buffer. This
+is the same as using 'GI.Gtk.Objects.TextBuffer.textBufferGetIterAtOffset' to get
+the iter at character offset 0.
+-}
+textBufferGetStartIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m (Gtk.TextIter.TextIter)
+textBufferGetStartIter buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    gtk_text_buffer_get_start_iter buffer' iter
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    touchManagedPtr buffer
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetStartIterMethodInfo
+instance (signature ~ (m (Gtk.TextIter.TextIter)), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetStartIterMethodInfo a signature where
+    overloadedMethod _ = textBufferGetStartIter
+
+#endif
+
+-- method TextBuffer::get_tag_table
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextTagTable"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_tag_table" gtk_text_buffer_get_tag_table :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO (Ptr Gtk.TextTagTable.TextTagTable)
+
+{- |
+Get the 'GI.Gtk.Objects.TextTagTable.TextTagTable' associated with this buffer.
+-}
+textBufferGetTagTable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Gtk.TextTagTable.TextTagTable
+    {- ^ __Returns:__ the buffer’s tag table -}
+textBufferGetTagTable buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_buffer_get_tag_table buffer'
+    checkUnexpectedReturnNULL "textBufferGetTagTable" result
+    result' <- (newObject Gtk.TextTagTable.TextTagTable) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetTagTableMethodInfo
+instance (signature ~ (m Gtk.TextTagTable.TextTagTable), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetTagTableMethodInfo a signature where
+    overloadedMethod _ = textBufferGetTagTable
+
+#endif
+
+-- method TextBuffer::get_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of a range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of a range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "include_hidden_chars", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to include invisible text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_get_text" gtk_text_buffer_get_text :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- include_hidden_chars : TBasicType TBoolean
+    IO CString
+
+{- |
+Returns the text in the range [/@start@/,/@end@/). Excludes undisplayed
+text (text marked with tags that set the invisibility attribute) if
+/@includeHiddenChars@/ is 'False'. Does not include characters
+representing embedded images, so byte and character indexes into
+the returned string do not correspond to byte
+and character indexes into the buffer. Contrast with
+'GI.Gtk.Objects.TextBuffer.textBufferGetSlice'.
+-}
+textBufferGetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: start of a range -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: end of a range -}
+    -> Bool
+    {- ^ /@includeHiddenChars@/: whether to include invisible text -}
+    -> m T.Text
+    {- ^ __Returns:__ an allocated UTF-8 string -}
+textBufferGetText buffer start end includeHiddenChars = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    let includeHiddenChars' = (fromIntegral . fromEnum) includeHiddenChars
+    result <- gtk_text_buffer_get_text buffer' start' end' includeHiddenChars'
+    checkUnexpectedReturnNULL "textBufferGetText" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr buffer
+    touchManagedPtr start
+    touchManagedPtr end
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferGetTextMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> Bool -> m T.Text), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferGetTextMethodInfo a signature where
+    overloadedMethod _ = textBufferGetText
+
+#endif
+
+-- method TextBuffer::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text in UTF-8 format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of text in bytes, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_insert" gtk_text_buffer_insert :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CString ->                              -- text : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt
+    IO ()
+
+{- |
+Inserts /@len@/ bytes of /@text@/ at position /@iter@/.  If /@len@/ is -1,
+/@text@/ must be nul-terminated and will be inserted in its
+entirety. Emits the “insert-text” signal; insertion actually occurs
+in the default handler for the signal. /@iter@/ is invalidated when
+insertion occurs (because the buffer contents change), but the
+default signal handler revalidates it to point to the end of the
+inserted text.
+-}
+textBufferInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a position in the buffer -}
+    -> T.Text
+    {- ^ /@text@/: text in UTF-8 format -}
+    -> Int32
+    {- ^ /@len@/: length of text in bytes, or -1 -}
+    -> m ()
+textBufferInsert buffer iter text len = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    text' <- textToCString text
+    gtk_text_buffer_insert buffer' iter' text' len
+    touchManagedPtr buffer
+    touchManagedPtr iter
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferInsertMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> T.Text -> Int32 -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferInsertMethodInfo a signature where
+    overloadedMethod _ = textBufferInsert
+
+#endif
+
+-- method TextBuffer::insert_at_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text in UTF-8 format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of text, in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_insert_at_cursor" gtk_text_buffer_insert_at_cursor :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- text : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt
+    IO ()
+
+{- |
+Simply calls 'GI.Gtk.Objects.TextBuffer.textBufferInsert', using the current
+cursor position as the insertion point.
+-}
+textBufferInsertAtCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@text@/: text in UTF-8 format -}
+    -> Int32
+    {- ^ /@len@/: length of text, in bytes -}
+    -> m ()
+textBufferInsertAtCursor buffer text len = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    text' <- textToCString text
+    gtk_text_buffer_insert_at_cursor buffer' text' len
+    touchManagedPtr buffer
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferInsertAtCursorMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferInsertAtCursorMethodInfo a signature where
+    overloadedMethod _ = textBufferInsertAtCursor
+
+#endif
+
+-- method TextBuffer::insert_child_anchor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to insert the anchor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "anchor", argType = TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextChildAnchor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_insert_child_anchor" gtk_text_buffer_insert_child_anchor :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextChildAnchor.TextChildAnchor -> -- anchor : TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"})
+    IO ()
+
+{- |
+Inserts a child widget anchor into the text buffer at /@iter@/. The
+anchor will be counted as one character in character counts, and
+when obtaining the buffer contents as a string, will be represented
+by the Unicode “object replacement character” 0xFFFC. Note that the
+“slice” variants for obtaining portions of the buffer as a string
+include this character for child anchors, but the “text” variants do
+not. E.g. see 'GI.Gtk.Objects.TextBuffer.textBufferGetSlice' and
+'GI.Gtk.Objects.TextBuffer.textBufferGetText'. Consider
+'GI.Gtk.Objects.TextBuffer.textBufferCreateChildAnchor' as a more convenient
+alternative to this function. The buffer will add a reference to
+the anchor, so you can unref it after insertion.
+-}
+textBufferInsertChildAnchor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.TextChildAnchor.IsTextChildAnchor b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: location to insert the anchor -}
+    -> b
+    {- ^ /@anchor@/: a 'GI.Gtk.Objects.TextChildAnchor.TextChildAnchor' -}
+    -> m ()
+textBufferInsertChildAnchor buffer iter anchor = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    anchor' <- unsafeManagedPtrCastPtr anchor
+    gtk_text_buffer_insert_child_anchor buffer' iter' anchor'
+    touchManagedPtr buffer
+    touchManagedPtr iter
+    touchManagedPtr anchor
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferInsertChildAnchorMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> b -> m ()), MonadIO m, IsTextBuffer a, Gtk.TextChildAnchor.IsTextChildAnchor b) => O.MethodInfo TextBufferInsertChildAnchorMethodInfo a signature where
+    overloadedMethod _ = textBufferInsertChildAnchor
+
+#endif
+
+-- method TextBuffer::insert_interactive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "some UTF-8 text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of text in bytes, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_editable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default editability of buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_insert_interactive" gtk_text_buffer_insert_interactive :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CString ->                              -- text : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt
+    CInt ->                                 -- default_editable : TBasicType TBoolean
+    IO CInt
+
+{- |
+Like 'GI.Gtk.Objects.TextBuffer.textBufferInsert', but the insertion will not occur if
+/@iter@/ is at a non-editable location in the buffer. Usually you
+want to prevent insertions at ineditable locations if the insertion
+results from a user action (is interactive).
+
+/@defaultEditable@/ indicates the editability of text that doesn\'t
+have a tag affecting editability applied to it. Typically the
+result of 'GI.Gtk.Objects.TextView.textViewGetEditable' is appropriate here.
+-}
+textBufferInsertInteractive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a position in /@buffer@/ -}
+    -> T.Text
+    {- ^ /@text@/: some UTF-8 text -}
+    -> Int32
+    {- ^ /@len@/: length of text in bytes, or -1 -}
+    -> Bool
+    {- ^ /@defaultEditable@/: default editability of buffer -}
+    -> m Bool
+    {- ^ __Returns:__ whether text was actually inserted -}
+textBufferInsertInteractive buffer iter text len defaultEditable = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    text' <- textToCString text
+    let defaultEditable' = (fromIntegral . fromEnum) defaultEditable
+    result <- gtk_text_buffer_insert_interactive buffer' iter' text' len defaultEditable'
+    let result' = (/= 0) result
+    touchManagedPtr buffer
+    touchManagedPtr iter
+    freeMem text'
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferInsertInteractiveMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> T.Text -> Int32 -> Bool -> m Bool), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferInsertInteractiveMethodInfo a signature where
+    overloadedMethod _ = textBufferInsertInteractive
+
+#endif
+
+-- method TextBuffer::insert_interactive_at_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text in UTF-8 format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of text in bytes, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_editable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default editability of buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_insert_interactive_at_cursor" gtk_text_buffer_insert_interactive_at_cursor :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- text : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt
+    CInt ->                                 -- default_editable : TBasicType TBoolean
+    IO CInt
+
+{- |
+Calls 'GI.Gtk.Objects.TextBuffer.textBufferInsertInteractive' at the cursor
+position.
+
+/@defaultEditable@/ indicates the editability of text that doesn\'t
+have a tag affecting editability applied to it. Typically the
+result of 'GI.Gtk.Objects.TextView.textViewGetEditable' is appropriate here.
+-}
+textBufferInsertInteractiveAtCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@text@/: text in UTF-8 format -}
+    -> Int32
+    {- ^ /@len@/: length of text in bytes, or -1 -}
+    -> Bool
+    {- ^ /@defaultEditable@/: default editability of buffer -}
+    -> m Bool
+    {- ^ __Returns:__ whether text was actually inserted -}
+textBufferInsertInteractiveAtCursor buffer text len defaultEditable = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    text' <- textToCString text
+    let defaultEditable' = (fromIntegral . fromEnum) defaultEditable
+    result <- gtk_text_buffer_insert_interactive_at_cursor buffer' text' len defaultEditable'
+    let result' = (/= 0) result
+    touchManagedPtr buffer
+    freeMem text'
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferInsertInteractiveAtCursorMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Bool -> m Bool), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferInsertInteractiveAtCursorMethodInfo a signature where
+    overloadedMethod _ = textBufferInsertInteractiveAtCursor
+
+#endif
+
+-- method TextBuffer::insert_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to insert the markup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a nul-terminated UTF-8 string containing [Pango markup][PangoMarkupFormat]", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @markup in bytes, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_insert_markup" gtk_text_buffer_insert_markup :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CString ->                              -- markup : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt
+    IO ()
+
+{- |
+Inserts the text in /@markup@/ at position /@iter@/. /@markup@/ will be inserted
+in its entirety and must be nul-terminated and valid UTF-8. Emits the
+'GI.Gtk.Objects.TextBuffer.TextBuffer'::@/insert-text/@ signal, possibly multiple times; insertion
+actually occurs in the default handler for the signal. /@iter@/ will point
+to the end of the inserted text on return.
+
+/Since: 3.16/
+-}
+textBufferInsertMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: location to insert the markup -}
+    -> T.Text
+    {- ^ /@markup@/: a nul-terminated UTF-8 string containing [Pango markup][PangoMarkupFormat] -}
+    -> Int32
+    {- ^ /@len@/: length of /@markup@/ in bytes, or -1 -}
+    -> m ()
+textBufferInsertMarkup buffer iter markup len = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    markup' <- textToCString markup
+    gtk_text_buffer_insert_markup buffer' iter' markup' len
+    touchManagedPtr buffer
+    touchManagedPtr iter
+    freeMem markup'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferInsertMarkupMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> T.Text -> Int32 -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferInsertMarkupMethodInfo a signature where
+    overloadedMethod _ = textBufferInsertMarkup
+
+#endif
+
+-- method TextBuffer::insert_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to insert the pixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_insert_pixbuf" gtk_text_buffer_insert_pixbuf :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{- |
+Inserts an image into the text buffer at /@iter@/. The image will be
+counted as one character in character counts, and when obtaining
+the buffer contents as a string, will be represented by the Unicode
+“object replacement character” 0xFFFC. Note that the “slice”
+variants for obtaining portions of the buffer as a string include
+this character for pixbufs, but the “text” variants do
+not. e.g. see 'GI.Gtk.Objects.TextBuffer.textBufferGetSlice' and
+'GI.Gtk.Objects.TextBuffer.textBufferGetText'.
+-}
+textBufferInsertPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: location to insert the pixbuf -}
+    -> b
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}
+    -> m ()
+textBufferInsertPixbuf buffer iter pixbuf = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    gtk_text_buffer_insert_pixbuf buffer' iter' pixbuf'
+    touchManagedPtr buffer
+    touchManagedPtr iter
+    touchManagedPtr pixbuf
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferInsertPixbufMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> b -> m ()), MonadIO m, IsTextBuffer a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo TextBufferInsertPixbufMethodInfo a signature where
+    overloadedMethod _ = textBufferInsertPixbuf
+
+#endif
+
+-- method TextBuffer::insert_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another position in the same buffer as @start", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_insert_range" gtk_text_buffer_insert_range :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Copies text, tags, and pixbufs between /@start@/ and /@end@/ (the order
+of /@start@/ and /@end@/ doesn’t matter) and inserts the copy at /@iter@/.
+Used instead of simply getting\/inserting text because it preserves
+images and tags. If /@start@/ and /@end@/ are in a different buffer from
+/@buffer@/, the two buffers must share the same tag table.
+
+Implemented via emissions of the insert_text and apply_tag signals,
+so expect those.
+-}
+textBufferInsertRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a position in /@buffer@/ -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: a position in a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: another position in the same buffer as /@start@/ -}
+    -> m ()
+textBufferInsertRange buffer iter start end = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    gtk_text_buffer_insert_range buffer' iter' start' end'
+    touchManagedPtr buffer
+    touchManagedPtr iter
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferInsertRangeMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferInsertRangeMethodInfo a signature where
+    overloadedMethod _ = textBufferInsertRange
+
+#endif
+
+-- method TextBuffer::insert_range_interactive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another position in the same buffer as @start", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_editable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default editability of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_insert_range_interactive" gtk_text_buffer_insert_range_interactive :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- default_editable : TBasicType TBoolean
+    IO CInt
+
+{- |
+Same as 'GI.Gtk.Objects.TextBuffer.textBufferInsertRange', but does nothing if the
+insertion point isn’t editable. The /@defaultEditable@/ parameter
+indicates whether the text is editable at /@iter@/ if no tags
+enclosing /@iter@/ affect editability. Typically the result of
+'GI.Gtk.Objects.TextView.textViewGetEditable' is appropriate here.
+-}
+textBufferInsertRangeInteractive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a position in /@buffer@/ -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: a position in a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: another position in the same buffer as /@start@/ -}
+    -> Bool
+    {- ^ /@defaultEditable@/: default editability of the buffer -}
+    -> m Bool
+    {- ^ __Returns:__ whether an insertion was possible at /@iter@/ -}
+textBufferInsertRangeInteractive buffer iter start end defaultEditable = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    iter' <- unsafeManagedPtrGetPtr iter
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    let defaultEditable' = (fromIntegral . fromEnum) defaultEditable
+    result <- gtk_text_buffer_insert_range_interactive buffer' iter' start' end' defaultEditable'
+    let result' = (/= 0) result
+    touchManagedPtr buffer
+    touchManagedPtr iter
+    touchManagedPtr start
+    touchManagedPtr end
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferInsertRangeInteractiveMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> Bool -> m Bool), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferInsertRangeInteractiveMethodInfo a signature where
+    overloadedMethod _ = textBufferInsertRangeInteractive
+
+#endif
+
+-- method TextBuffer::move_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new location for @mark in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_move_mark" gtk_text_buffer_move_mark :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextMark.TextMark ->            -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    Ptr Gtk.TextIter.TextIter ->            -- where : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Moves /@mark@/ to the new location /@where@/. Emits the 'GI.Gtk.Objects.TextBuffer.TextBuffer'::@/mark-set/@
+signal as notification of the move.
+-}
+textBufferMoveMark ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.TextMark.IsTextMark b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@where@/: new location for /@mark@/ in /@buffer@/ -}
+    -> m ()
+textBufferMoveMark buffer mark where_ = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    mark' <- unsafeManagedPtrCastPtr mark
+    where_' <- unsafeManagedPtrGetPtr where_
+    gtk_text_buffer_move_mark buffer' mark' where_'
+    touchManagedPtr buffer
+    touchManagedPtr mark
+    touchManagedPtr where_
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferMoveMarkMethodInfo
+instance (signature ~ (b -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a, Gtk.TextMark.IsTextMark b) => O.MethodInfo TextBufferMoveMarkMethodInfo a signature where
+    overloadedMethod _ = textBufferMoveMark
+
+#endif
+
+-- method TextBuffer::move_mark_by_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a mark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new location for mark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_move_mark_by_name" gtk_text_buffer_move_mark_by_name :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr Gtk.TextIter.TextIter ->            -- where : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Moves the mark named /@name@/ (which must exist) to location /@where@/.
+See 'GI.Gtk.Objects.TextBuffer.textBufferMoveMark' for details.
+-}
+textBufferMoveMarkByName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@name@/: name of a mark -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@where@/: new location for mark -}
+    -> m ()
+textBufferMoveMarkByName buffer name where_ = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    name' <- textToCString name
+    where_' <- unsafeManagedPtrGetPtr where_
+    gtk_text_buffer_move_mark_by_name buffer' name' where_'
+    touchManagedPtr buffer
+    touchManagedPtr where_
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferMoveMarkByNameMethodInfo
+instance (signature ~ (T.Text -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferMoveMarkByNameMethodInfo a signature where
+    overloadedMethod _ = textBufferMoveMarkByName
+
+#endif
+
+-- method TextBuffer::paste_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkClipboard to paste from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "override_location", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "location to insert pasted text, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_editable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the buffer is editable by default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_paste_clipboard" gtk_text_buffer_paste_clipboard :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.Clipboard.Clipboard ->          -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    Ptr Gtk.TextIter.TextIter ->            -- override_location : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- default_editable : TBasicType TBoolean
+    IO ()
+
+{- |
+Pastes the contents of a clipboard. If /@overrideLocation@/ is 'Nothing', the
+pasted text will be inserted at the cursor position, or the buffer selection
+will be replaced if the selection is non-empty.
+
+Note: pasting is asynchronous, that is, we’ll ask for the paste data and
+return, and at some point later after the main loop runs, the paste data will
+be inserted.
+-}
+textBufferPasteClipboard ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@clipboard@/: the 'GI.Gtk.Objects.Clipboard.Clipboard' to paste from -}
+    -> Maybe (Gtk.TextIter.TextIter)
+    {- ^ /@overrideLocation@/: location to insert pasted text, or 'Nothing' -}
+    -> Bool
+    {- ^ /@defaultEditable@/: whether the buffer is editable by default -}
+    -> m ()
+textBufferPasteClipboard buffer clipboard overrideLocation defaultEditable = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    maybeOverrideLocation <- case overrideLocation of
+        Nothing -> return nullPtr
+        Just jOverrideLocation -> do
+            jOverrideLocation' <- unsafeManagedPtrGetPtr jOverrideLocation
+            return jOverrideLocation'
+    let defaultEditable' = (fromIntegral . fromEnum) defaultEditable
+    gtk_text_buffer_paste_clipboard buffer' clipboard' maybeOverrideLocation defaultEditable'
+    touchManagedPtr buffer
+    touchManagedPtr clipboard
+    whenJust overrideLocation touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferPasteClipboardMethodInfo
+instance (signature ~ (b -> Maybe (Gtk.TextIter.TextIter) -> Bool -> m ()), MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) => O.MethodInfo TextBufferPasteClipboardMethodInfo a signature where
+    overloadedMethod _ = textBufferPasteClipboard
+
+#endif
+
+-- method TextBuffer::place_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "where to put the cursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_place_cursor" gtk_text_buffer_place_cursor :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- where : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+This function moves the “insert” and “selection_bound” marks
+simultaneously.  If you move them to the same place in two steps
+with 'GI.Gtk.Objects.TextBuffer.textBufferMoveMark', you will temporarily select a
+region in between their old and new locations, which can be pretty
+inefficient since the temporarily-selected region will force stuff
+to be recalculated. This function moves them as a unit, which can
+be optimized.
+-}
+textBufferPlaceCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@where@/: where to put the cursor -}
+    -> m ()
+textBufferPlaceCursor buffer where_ = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    where_' <- unsafeManagedPtrGetPtr where_
+    gtk_text_buffer_place_cursor buffer' where_'
+    touchManagedPtr buffer
+    touchManagedPtr where_
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferPlaceCursorMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferPlaceCursorMethodInfo a signature where
+    overloadedMethod _ = textBufferPlaceCursor
+
+#endif
+
+-- method TextBuffer::register_deserialize_format
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format\8217s mime-type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "Gtk", name = "TextBufferDeserializeFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the deserialize function to register", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "@function\8217s user_data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when @user_data is no longer needed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_register_deserialize_format" gtk_text_buffer_register_deserialize_format :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- mime_type : TBasicType TUTF8
+    FunPtr Gtk.Callbacks.C_TextBufferDeserializeFunc -> -- function : TInterface (Name {namespace = "Gtk", name = "TextBufferDeserializeFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- user_data_destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO (Ptr Gdk.Atom.Atom)
+
+{- |
+This function registers a rich text deserialization /@function@/ along with
+its /@mimeType@/ with the passed /@buffer@/.
+
+/Since: 2.10/
+-}
+textBufferRegisterDeserializeFormat ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@mimeType@/: the format’s mime-type -}
+    -> FunPtr Gtk.Callbacks.C_TextBufferDeserializeFunc
+    {- ^ /@function@/: the deserialize function to register -}
+    -> m Gdk.Atom.Atom
+    {- ^ __Returns:__ the 'GI.Gdk.Structs.Atom.Atom' that corresponds to the
+              newly registered format’s mime-type. -}
+textBufferRegisterDeserializeFormat buffer mimeType function = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    mimeType' <- textToCString mimeType
+    let userData = castFunPtrToPtr function
+    let userDataDestroy = safeFreeFunPtrPtr
+    result <- gtk_text_buffer_register_deserialize_format buffer' mimeType' function userData userDataDestroy
+    checkUnexpectedReturnNULL "textBufferRegisterDeserializeFormat" result
+    result' <- (newPtr Gdk.Atom.Atom) result
+    touchManagedPtr buffer
+    freeMem mimeType'
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferRegisterDeserializeFormatMethodInfo
+instance (signature ~ (T.Text -> FunPtr Gtk.Callbacks.C_TextBufferDeserializeFunc -> m Gdk.Atom.Atom), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferRegisterDeserializeFormatMethodInfo a signature where
+    overloadedMethod _ = textBufferRegisterDeserializeFormat
+
+#endif
+
+-- method TextBuffer::register_deserialize_tagset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tagset_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an optional tagset name, on %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_register_deserialize_tagset" gtk_text_buffer_register_deserialize_tagset :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- tagset_name : TBasicType TUTF8
+    IO (Ptr Gdk.Atom.Atom)
+
+{- |
+This function registers GTK+’s internal rich text serialization
+format with the passed /@buffer@/. See
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterSerializeTagset' for details.
+
+/Since: 2.10/
+-}
+textBufferRegisterDeserializeTagset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Maybe (T.Text)
+    {- ^ /@tagsetName@/: an optional tagset name, on 'Nothing' -}
+    -> m Gdk.Atom.Atom
+    {- ^ __Returns:__ the 'GI.Gdk.Structs.Atom.Atom' that corresponds to the
+              newly registered format’s mime-type. -}
+textBufferRegisterDeserializeTagset buffer tagsetName = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    maybeTagsetName <- case tagsetName of
+        Nothing -> return nullPtr
+        Just jTagsetName -> do
+            jTagsetName' <- textToCString jTagsetName
+            return jTagsetName'
+    result <- gtk_text_buffer_register_deserialize_tagset buffer' maybeTagsetName
+    checkUnexpectedReturnNULL "textBufferRegisterDeserializeTagset" result
+    result' <- (newPtr Gdk.Atom.Atom) result
+    touchManagedPtr buffer
+    freeMem maybeTagsetName
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferRegisterDeserializeTagsetMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m Gdk.Atom.Atom), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferRegisterDeserializeTagsetMethodInfo a signature where
+    overloadedMethod _ = textBufferRegisterDeserializeTagset
+
+#endif
+
+-- method TextBuffer::register_serialize_format
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format\8217s mime-type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "Gtk", name = "TextBufferSerializeFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the serialize function to register", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "@function\8217s user_data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when @user_data is no longer needed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_register_serialize_format" gtk_text_buffer_register_serialize_format :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- mime_type : TBasicType TUTF8
+    FunPtr Gtk.Callbacks.C_TextBufferSerializeFunc -> -- function : TInterface (Name {namespace = "Gtk", name = "TextBufferSerializeFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- user_data_destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO (Ptr Gdk.Atom.Atom)
+
+{- |
+This function registers a rich text serialization /@function@/ along with
+its /@mimeType@/ with the passed /@buffer@/.
+
+/Since: 2.10/
+-}
+textBufferRegisterSerializeFormat ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@mimeType@/: the format’s mime-type -}
+    -> Gtk.Callbacks.TextBufferSerializeFunc
+    {- ^ /@function@/: the serialize function to register -}
+    -> m Gdk.Atom.Atom
+    {- ^ __Returns:__ the 'GI.Gdk.Structs.Atom.Atom' that corresponds to the
+              newly registered format’s mime-type. -}
+textBufferRegisterSerializeFormat buffer mimeType function = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    mimeType' <- textToCString mimeType
+    function' <- Gtk.Callbacks.mk_TextBufferSerializeFunc (Gtk.Callbacks.wrap_TextBufferSerializeFunc Nothing (Gtk.Callbacks.drop_closures_TextBufferSerializeFunc function))
+    let userData = castFunPtrToPtr function'
+    let userDataDestroy = safeFreeFunPtrPtr
+    result <- gtk_text_buffer_register_serialize_format buffer' mimeType' function' userData userDataDestroy
+    checkUnexpectedReturnNULL "textBufferRegisterSerializeFormat" result
+    result' <- (newPtr Gdk.Atom.Atom) result
+    touchManagedPtr buffer
+    freeMem mimeType'
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferRegisterSerializeFormatMethodInfo
+instance (signature ~ (T.Text -> Gtk.Callbacks.TextBufferSerializeFunc -> m Gdk.Atom.Atom), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferRegisterSerializeFormatMethodInfo a signature where
+    overloadedMethod _ = textBufferRegisterSerializeFormat
+
+#endif
+
+-- method TextBuffer::register_serialize_tagset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tagset_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an optional tagset name, on %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_register_serialize_tagset" gtk_text_buffer_register_serialize_tagset :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- tagset_name : TBasicType TUTF8
+    IO (Ptr Gdk.Atom.Atom)
+
+{- |
+This function registers GTK+’s internal rich text serialization
+format with the passed /@buffer@/. The internal format does not comply
+to any standard rich text format and only works between 'GI.Gtk.Objects.TextBuffer.TextBuffer'
+instances. It is capable of serializing all of a text buffer’s tags
+and embedded pixbufs.
+
+This function is just a wrapper around
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterSerializeFormat'. The mime type used
+for registering is “application\/x-gtk-text-buffer-rich-text”, or
+“application\/x-gtk-text-buffer-rich-text;format=/@tagsetName@/” if a
+/@tagsetName@/ was passed.
+
+The /@tagsetName@/ can be used to restrict the transfer of rich text
+to buffers with compatible sets of tags, in order to avoid unknown
+tags from being pasted. It is probably the common case to pass an
+identifier != 'Nothing' here, since the 'Nothing' tagset requires the
+receiving buffer to deal with with pasting of arbitrary tags.
+
+/Since: 2.10/
+-}
+textBufferRegisterSerializeTagset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Maybe (T.Text)
+    {- ^ /@tagsetName@/: an optional tagset name, on 'Nothing' -}
+    -> m Gdk.Atom.Atom
+    {- ^ __Returns:__ the 'GI.Gdk.Structs.Atom.Atom' that corresponds to the
+              newly registered format’s mime-type. -}
+textBufferRegisterSerializeTagset buffer tagsetName = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    maybeTagsetName <- case tagsetName of
+        Nothing -> return nullPtr
+        Just jTagsetName -> do
+            jTagsetName' <- textToCString jTagsetName
+            return jTagsetName'
+    result <- gtk_text_buffer_register_serialize_tagset buffer' maybeTagsetName
+    checkUnexpectedReturnNULL "textBufferRegisterSerializeTagset" result
+    result' <- (newPtr Gdk.Atom.Atom) result
+    touchManagedPtr buffer
+    freeMem maybeTagsetName
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferRegisterSerializeTagsetMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m Gdk.Atom.Atom), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferRegisterSerializeTagsetMethodInfo a signature where
+    overloadedMethod _ = textBufferRegisterSerializeTagset
+
+#endif
+
+-- method TextBuffer::remove_all_tags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "one bound of range to be untagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "other bound of range to be untagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_remove_all_tags" gtk_text_buffer_remove_all_tags :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Removes all tags in the range between /@start@/ and /@end@/.  Be careful
+with this function; it could remove tags added in code unrelated to
+the code you’re currently writing. That is, using this function is
+probably a bad idea if you have two or more unrelated code sections
+that add tags.
+-}
+textBufferRemoveAllTags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: one bound of range to be untagged -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: other bound of range to be untagged -}
+    -> m ()
+textBufferRemoveAllTags buffer start end = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    gtk_text_buffer_remove_all_tags buffer' start' end'
+    touchManagedPtr buffer
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferRemoveAllTagsMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferRemoveAllTagsMethodInfo a signature where
+    overloadedMethod _ = textBufferRemoveAllTags
+
+#endif
+
+-- method TextBuffer::remove_selection_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clipboard", argType = TInterface (Name {namespace = "Gtk", name = "Clipboard"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkClipboard added to @buffer by\n            gtk_text_buffer_add_selection_clipboard()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_remove_selection_clipboard" gtk_text_buffer_remove_selection_clipboard :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.Clipboard.Clipboard ->          -- clipboard : TInterface (Name {namespace = "Gtk", name = "Clipboard"})
+    IO ()
+
+{- |
+Removes a 'GI.Gtk.Objects.Clipboard.Clipboard' added with
+'GI.Gtk.Objects.TextBuffer.textBufferAddSelectionClipboard'.
+-}
+textBufferRemoveSelectionClipboard ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@clipboard@/: a 'GI.Gtk.Objects.Clipboard.Clipboard' added to /@buffer@/ by
+            'GI.Gtk.Objects.TextBuffer.textBufferAddSelectionClipboard' -}
+    -> m ()
+textBufferRemoveSelectionClipboard buffer clipboard = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    clipboard' <- unsafeManagedPtrCastPtr clipboard
+    gtk_text_buffer_remove_selection_clipboard buffer' clipboard'
+    touchManagedPtr buffer
+    touchManagedPtr clipboard
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferRemoveSelectionClipboardMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsTextBuffer a, Gtk.Clipboard.IsClipboard b) => O.MethodInfo TextBufferRemoveSelectionClipboardMethodInfo a signature where
+    overloadedMethod _ = textBufferRemoveSelectionClipboard
+
+#endif
+
+-- method TextBuffer::remove_tag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "one bound of range to be untagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "other bound of range to be untagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_remove_tag" gtk_text_buffer_remove_tag :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Emits the “remove-tag” signal. The default handler for the signal
+removes all occurrences of /@tag@/ from the given range. /@start@/ and
+/@end@/ don’t have to be in order.
+-}
+textBufferRemoveTag ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, Gtk.TextTag.IsTextTag b) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> b
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: one bound of range to be untagged -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: other bound of range to be untagged -}
+    -> m ()
+textBufferRemoveTag buffer tag start end = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    tag' <- unsafeManagedPtrCastPtr tag
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    gtk_text_buffer_remove_tag buffer' tag' start' end'
+    touchManagedPtr buffer
+    touchManagedPtr tag
+    touchManagedPtr start
+    touchManagedPtr end
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferRemoveTagMethodInfo
+instance (signature ~ (b -> Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a, Gtk.TextTag.IsTextTag b) => O.MethodInfo TextBufferRemoveTagMethodInfo a signature where
+    overloadedMethod _ = textBufferRemoveTag
+
+#endif
+
+-- method TextBuffer::remove_tag_by_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "one bound of range to be untagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "other bound of range to be untagged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_remove_tag_by_name" gtk_text_buffer_remove_tag_by_name :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Calls 'GI.Gtk.Objects.TextTagTable.textTagTableLookup' on the buffer’s tag table to
+get a 'GI.Gtk.Objects.TextTag.TextTag', then calls 'GI.Gtk.Objects.TextBuffer.textBufferRemoveTag'.
+-}
+textBufferRemoveTagByName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@name@/: name of a 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: one bound of range to be untagged -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: other bound of range to be untagged -}
+    -> m ()
+textBufferRemoveTagByName buffer name start end = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    name' <- textToCString name
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    gtk_text_buffer_remove_tag_by_name buffer' name' start' end'
+    touchManagedPtr buffer
+    touchManagedPtr start
+    touchManagedPtr end
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferRemoveTagByNameMethodInfo
+instance (signature ~ (T.Text -> Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferRemoveTagByNameMethodInfo a signature where
+    overloadedMethod _ = textBufferRemoveTagByName
+
+#endif
+
+-- method TextBuffer::select_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ins", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "where to put the \8220insert\8221 mark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bound", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "where to put the \8220selection_bound\8221 mark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_select_range" gtk_text_buffer_select_range :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gtk.TextIter.TextIter ->            -- ins : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- bound : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+This function moves the “insert” and “selection_bound” marks
+simultaneously.  If you move them in two steps
+with 'GI.Gtk.Objects.TextBuffer.textBufferMoveMark', you will temporarily select a
+region in between their old and new locations, which can be pretty
+inefficient since the temporarily-selected region will force stuff
+to be recalculated. This function moves them as a unit, which can
+be optimized.
+
+/Since: 2.4/
+-}
+textBufferSelectRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@ins@/: where to put the “insert” mark -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@bound@/: where to put the “selection_bound” mark -}
+    -> m ()
+textBufferSelectRange buffer ins bound = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    ins' <- unsafeManagedPtrGetPtr ins
+    bound' <- unsafeManagedPtrGetPtr bound
+    gtk_text_buffer_select_range buffer' ins' bound'
+    touchManagedPtr buffer
+    touchManagedPtr ins
+    touchManagedPtr bound
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferSelectRangeMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferSelectRangeMethodInfo a signature where
+    overloadedMethod _ = textBufferSelectRange
+
+#endif
+
+-- method TextBuffer::serialize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "register_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer @format is registered with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkTextBuffer to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the rich text format to use for serializing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of block of text to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of block of test to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the serialized data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the serialized data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TCArray False (-1) 5 (TBasicType TUInt8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_serialize" gtk_text_buffer_serialize :: 
+    Ptr TextBuffer ->                       -- register_buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr TextBuffer ->                       -- content_buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gdk.Atom.Atom ->                    -- format : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Word64 ->                           -- length : TBasicType TUInt64
+    IO (Ptr Word8)
+
+{- |
+This function serializes the portion of text between /@start@/
+and /@end@/ in the rich text format represented by /@format@/.
+
+/@formats@/ to be used must be registered using
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterSerializeFormat' or
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterSerializeTagset' beforehand.
+
+/Since: 2.10/
+-}
+textBufferSerialize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a, IsTextBuffer b) =>
+    a
+    {- ^ /@registerBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' /@format@/ is registered with -}
+    -> b
+    {- ^ /@contentBuffer@/: the 'GI.Gtk.Objects.TextBuffer.TextBuffer' to serialize -}
+    -> Gdk.Atom.Atom
+    {- ^ /@format@/: the rich text format to use for serializing -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: start of block of text to serialize -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: end of block of test to serialize -}
+    -> m ByteString
+    {- ^ __Returns:__ the serialized
+              data, encoded as /@format@/ -}
+textBufferSerialize registerBuffer contentBuffer format start end = liftIO $ do
+    registerBuffer' <- unsafeManagedPtrCastPtr registerBuffer
+    contentBuffer' <- unsafeManagedPtrCastPtr contentBuffer
+    format' <- unsafeManagedPtrGetPtr format
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    length_ <- allocMem :: IO (Ptr Word64)
+    result <- gtk_text_buffer_serialize registerBuffer' contentBuffer' format' start' end' length_
+    length_' <- peek length_
+    checkUnexpectedReturnNULL "textBufferSerialize" result
+    result' <- (unpackByteStringWithLength length_') result
+    freeMem result
+    touchManagedPtr registerBuffer
+    touchManagedPtr contentBuffer
+    touchManagedPtr format
+    touchManagedPtr start
+    touchManagedPtr end
+    freeMem length_
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextBufferSerializeMethodInfo
+instance (signature ~ (b -> Gdk.Atom.Atom -> Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ByteString), MonadIO m, IsTextBuffer a, IsTextBuffer b) => O.MethodInfo TextBufferSerializeMethodInfo a signature where
+    overloadedMethod _ = textBufferSerialize
+
+#endif
+
+-- method TextBuffer::set_modified
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "modification flag setting", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_set_modified" gtk_text_buffer_set_modified :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Used to keep track of whether the buffer has been modified since the
+last time it was saved. Whenever the buffer is saved to disk, call
+gtk_text_buffer_set_modified (/@buffer@/, FALSE). When the buffer is modified,
+it will automatically toggled on the modified bit again. When the modified
+bit flips, the buffer emits the 'GI.Gtk.Objects.TextBuffer.TextBuffer'::@/modified-changed/@ signal.
+-}
+textBufferSetModified ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Bool
+    {- ^ /@setting@/: modification flag setting -}
+    -> m ()
+textBufferSetModified buffer setting = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_text_buffer_set_modified buffer' setting'
+    touchManagedPtr buffer
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferSetModifiedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferSetModifiedMethodInfo a signature where
+    overloadedMethod _ = textBufferSetModified
+
+#endif
+
+-- method TextBuffer::set_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "UTF-8 text to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @text in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_set_text" gtk_text_buffer_set_text :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    CString ->                              -- text : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt
+    IO ()
+
+{- |
+Deletes current contents of /@buffer@/, and inserts /@text@/ instead. If
+/@len@/ is -1, /@text@/ must be nul-terminated. /@text@/ must be valid UTF-8.
+-}
+textBufferSetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> T.Text
+    {- ^ /@text@/: UTF-8 text to insert -}
+    -> Int32
+    {- ^ /@len@/: length of /@text@/ in bytes -}
+    -> m ()
+textBufferSetText buffer text len = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    text' <- textToCString text
+    gtk_text_buffer_set_text buffer' text' len
+    touchManagedPtr buffer
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferSetTextMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferSetTextMethodInfo a signature where
+    overloadedMethod _ = textBufferSetText
+
+#endif
+
+-- method TextBuffer::unregister_deserialize_format
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAtom representing a registered rich text format.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_unregister_deserialize_format" gtk_text_buffer_unregister_deserialize_format :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gdk.Atom.Atom ->                    -- format : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO ()
+
+{- |
+This function unregisters a rich text format that was previously
+registered using 'GI.Gtk.Objects.TextBuffer.textBufferRegisterDeserializeFormat' or
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterDeserializeTagset'.
+
+/Since: 2.10/
+-}
+textBufferUnregisterDeserializeFormat ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@format@/: a 'GI.Gdk.Structs.Atom.Atom' representing a registered rich text format. -}
+    -> m ()
+textBufferUnregisterDeserializeFormat buffer format = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    format' <- unsafeManagedPtrGetPtr format
+    gtk_text_buffer_unregister_deserialize_format buffer' format'
+    touchManagedPtr buffer
+    touchManagedPtr format
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferUnregisterDeserializeFormatMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferUnregisterDeserializeFormatMethodInfo a signature where
+    overloadedMethod _ = textBufferUnregisterDeserializeFormat
+
+#endif
+
+-- method TextBuffer::unregister_serialize_format
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAtom representing a registered rich text format.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_buffer_unregister_serialize_format" gtk_text_buffer_unregister_serialize_format :: 
+    Ptr TextBuffer ->                       -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    Ptr Gdk.Atom.Atom ->                    -- format : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO ()
+
+{- |
+This function unregisters a rich text format that was previously
+registered using 'GI.Gtk.Objects.TextBuffer.textBufferRegisterSerializeFormat' or
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterSerializeTagset'
+
+/Since: 2.10/
+-}
+textBufferUnregisterSerializeFormat ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@format@/: a 'GI.Gdk.Structs.Atom.Atom' representing a registered rich text format. -}
+    -> m ()
+textBufferUnregisterSerializeFormat buffer format = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    format' <- unsafeManagedPtrGetPtr format
+    gtk_text_buffer_unregister_serialize_format buffer' format'
+    touchManagedPtr buffer
+    touchManagedPtr format
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextBufferUnregisterSerializeFormatMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> m ()), MonadIO m, IsTextBuffer a) => O.MethodInfo TextBufferUnregisterSerializeFormatMethodInfo a signature where
+    overloadedMethod _ = textBufferUnregisterSerializeFormat
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TextBuffer.hs-boot b/GI/Gtk/Objects/TextBuffer.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextBuffer.hs-boot
@@ -0,0 +1,296 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TextBuffer where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextBuffer = TextBuffer (ManagedPtr TextBuffer)
+instance GObject TextBuffer where
+class (GObject o, O.IsDescendantOf TextBuffer o) => IsTextBuffer o
+instance (GObject o, O.IsDescendantOf TextBuffer o) => IsTextBuffer o
+instance O.HasParentTypes TextBuffer
+#if ENABLE_OVERLOADING
+data TextBufferCopyTargetListPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferCursorPositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferHasSelectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferPasteTargetListPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferTagTablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferApplyTagSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferBeginUserActionSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferDeleteRangeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferEndUserActionSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertChildAnchorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertPixbufSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertTextSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferMarkDeletedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferMarkSetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferModifiedChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferPasteDoneSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferRemoveTagSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferAddMarkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferAddSelectionClipboardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferApplyTagMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferApplyTagByNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferBackspaceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferBeginUserActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferCopyClipboardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferCreateChildAnchorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferCreateMarkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferCutClipboardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferDeleteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferDeleteInteractiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferDeleteMarkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferDeleteMarkByNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferDeleteSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferDeserializeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferDeserializeGetCanCreateTagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferDeserializeSetCanCreateTagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferEndUserActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetBoundsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetCharCountMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetCopyTargetListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetDeserializeFormatsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetEndIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetHasSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtChildAnchorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtLineIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtLineOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtMarkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetIterAtOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetLineCountMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetMarkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetModifiedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetPasteTargetListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetSelectionBoundMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetSelectionBoundsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetSerializeFormatsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetSliceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetStartIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetTagTableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferGetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertAtCursorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertChildAnchorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertInteractiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertInteractiveAtCursorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferInsertRangeInteractiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferMoveMarkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferMoveMarkByNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferPasteClipboardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferPlaceCursorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferRegisterDeserializeFormatMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferRegisterDeserializeTagsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferRegisterSerializeFormatMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferRegisterSerializeTagsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferRemoveAllTagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferRemoveSelectionClipboardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferRemoveTagMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferRemoveTagByNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferSelectRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferSerializeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferSetModifiedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferSetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferUnregisterDeserializeFormatMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextBufferUnregisterSerializeFormatMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TextCellAccessible.hs b/GI/Gtk/Objects/TextCellAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextCellAccessible.hs
@@ -0,0 +1,200 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TextCellAccessible
+    ( 
+
+-- * Exported types
+    TextCellAccessible(..)                  ,
+    IsTextCellAccessible                    ,
+    toTextCellAccessible                    ,
+    noTextCellAccessible                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.TableCell as Atk.TableCell
+import qualified GI.Atk.Interfaces.Text as Atk.Text
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellAccessible as Gtk.CellAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RendererCellAccessible as Gtk.RendererCellAccessible
+
+-- | Memory-managed wrapper type.
+newtype TextCellAccessible = TextCellAccessible (ManagedPtr TextCellAccessible)
+foreign import ccall "gtk_text_cell_accessible_get_type"
+    c_gtk_text_cell_accessible_get_type :: IO GType
+
+instance GObject TextCellAccessible where
+    gobjectType = c_gtk_text_cell_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `TextCellAccessible`, for instance with `toTextCellAccessible`.
+class (GObject o, O.IsDescendantOf TextCellAccessible o) => IsTextCellAccessible o
+instance (GObject o, O.IsDescendantOf TextCellAccessible o) => IsTextCellAccessible o
+
+instance O.HasParentTypes TextCellAccessible
+type instance O.ParentTypes TextCellAccessible = '[Gtk.RendererCellAccessible.RendererCellAccessible, Gtk.CellAccessible.CellAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.TableCell.TableCell, Atk.Text.Text]
+
+-- | Cast to `TextCellAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTextCellAccessible :: (MonadIO m, IsTextCellAccessible o) => o -> m TextCellAccessible
+toTextCellAccessible = liftIO . unsafeCastTo TextCellAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextCellAccessible`.
+noTextCellAccessible :: Maybe TextCellAccessible
+noTextCellAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTextCellAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextCellAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveTextCellAccessibleMethod "addSelection" o = Atk.Text.TextAddSelectionMethodInfo
+    ResolveTextCellAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTextCellAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTextCellAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveTextCellAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveTextCellAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveTextCellAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTextCellAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTextCellAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTextCellAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveTextCellAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveTextCellAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTextCellAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTextCellAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTextCellAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveTextCellAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveTextCellAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTextCellAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveTextCellAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveTextCellAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveTextCellAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTextCellAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveTextCellAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveTextCellAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveTextCellAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveTextCellAccessibleMethod "removeSelection" o = Atk.Text.TextRemoveSelectionMethodInfo
+    ResolveTextCellAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTextCellAccessibleMethod "scrollSubstringTo" o = Atk.Text.TextScrollSubstringToMethodInfo
+    ResolveTextCellAccessibleMethod "scrollSubstringToPoint" o = Atk.Text.TextScrollSubstringToPointMethodInfo
+    ResolveTextCellAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveTextCellAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveTextCellAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTextCellAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTextCellAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTextCellAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTextCellAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTextCellAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveTextCellAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveTextCellAccessibleMethod "getBoundedRanges" o = Atk.Text.TextGetBoundedRangesMethodInfo
+    ResolveTextCellAccessibleMethod "getCaretOffset" o = Atk.Text.TextGetCaretOffsetMethodInfo
+    ResolveTextCellAccessibleMethod "getCharacterAtOffset" o = Atk.Text.TextGetCharacterAtOffsetMethodInfo
+    ResolveTextCellAccessibleMethod "getCharacterCount" o = Atk.Text.TextGetCharacterCountMethodInfo
+    ResolveTextCellAccessibleMethod "getCharacterExtents" o = Atk.Text.TextGetCharacterExtentsMethodInfo
+    ResolveTextCellAccessibleMethod "getColumnHeaderCells" o = Atk.TableCell.TableCellGetColumnHeaderCellsMethodInfo
+    ResolveTextCellAccessibleMethod "getColumnSpan" o = Atk.TableCell.TableCellGetColumnSpanMethodInfo
+    ResolveTextCellAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTextCellAccessibleMethod "getDefaultAttributes" o = Atk.Text.TextGetDefaultAttributesMethodInfo
+    ResolveTextCellAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveTextCellAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveTextCellAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveTextCellAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveTextCellAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveTextCellAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveTextCellAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveTextCellAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveTextCellAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveTextCellAccessibleMethod "getNSelections" o = Atk.Text.TextGetNSelectionsMethodInfo
+    ResolveTextCellAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveTextCellAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveTextCellAccessibleMethod "getOffsetAtPoint" o = Atk.Text.TextGetOffsetAtPointMethodInfo
+    ResolveTextCellAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveTextCellAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveTextCellAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTextCellAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTextCellAccessibleMethod "getRangeExtents" o = Atk.Text.TextGetRangeExtentsMethodInfo
+    ResolveTextCellAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveTextCellAccessibleMethod "getRowColumnSpan" o = Atk.TableCell.TableCellGetRowColumnSpanMethodInfo
+    ResolveTextCellAccessibleMethod "getRowHeaderCells" o = Atk.TableCell.TableCellGetRowHeaderCellsMethodInfo
+    ResolveTextCellAccessibleMethod "getRowSpan" o = Atk.TableCell.TableCellGetRowSpanMethodInfo
+    ResolveTextCellAccessibleMethod "getRunAttributes" o = Atk.Text.TextGetRunAttributesMethodInfo
+    ResolveTextCellAccessibleMethod "getSelection" o = Atk.Text.TextGetSelectionMethodInfo
+    ResolveTextCellAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveTextCellAccessibleMethod "getStringAtOffset" o = Atk.Text.TextGetStringAtOffsetMethodInfo
+    ResolveTextCellAccessibleMethod "getTable" o = Atk.TableCell.TableCellGetTableMethodInfo
+    ResolveTextCellAccessibleMethod "getText" o = Atk.Text.TextGetTextMethodInfo
+    ResolveTextCellAccessibleMethod "getTextAfterOffset" o = Atk.Text.TextGetTextAfterOffsetMethodInfo
+    ResolveTextCellAccessibleMethod "getTextAtOffset" o = Atk.Text.TextGetTextAtOffsetMethodInfo
+    ResolveTextCellAccessibleMethod "getTextBeforeOffset" o = Atk.Text.TextGetTextBeforeOffsetMethodInfo
+    ResolveTextCellAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveTextCellAccessibleMethod "setCaretOffset" o = Atk.Text.TextSetCaretOffsetMethodInfo
+    ResolveTextCellAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTextCellAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveTextCellAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveTextCellAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveTextCellAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveTextCellAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveTextCellAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTextCellAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveTextCellAccessibleMethod "setSelection" o = Atk.Text.TextSetSelectionMethodInfo
+    ResolveTextCellAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveTextCellAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveTextCellAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextCellAccessibleMethod t TextCellAccessible, O.MethodInfo info TextCellAccessible p) => OL.IsLabel t (TextCellAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextCellAccessible
+type instance O.AttributeList TextCellAccessible = TextCellAccessibleAttributeList
+type TextCellAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("renderer", Gtk.RendererCellAccessible.RendererCellAccessibleRendererPropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TextCellAccessible = TextCellAccessibleSignalList
+type TextCellAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("textAttributesChanged", Atk.Text.TextTextAttributesChangedSignalInfo), '("textCaretMoved", Atk.Text.TextTextCaretMovedSignalInfo), '("textChanged", Atk.Text.TextTextChangedSignalInfo), '("textInsert", Atk.Text.TextTextInsertSignalInfo), '("textRemove", Atk.Text.TextTextRemoveSignalInfo), '("textSelectionChanged", Atk.Text.TextTextSelectionChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TextCellAccessible.hs-boot b/GI/Gtk/Objects/TextCellAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextCellAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TextCellAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextCellAccessible = TextCellAccessible (ManagedPtr TextCellAccessible)
+instance GObject TextCellAccessible where
+class (GObject o, O.IsDescendantOf TextCellAccessible o) => IsTextCellAccessible o
+instance (GObject o, O.IsDescendantOf TextCellAccessible o) => IsTextCellAccessible o
+instance O.HasParentTypes TextCellAccessible
diff --git a/GI/Gtk/Objects/TextChildAnchor.hs b/GI/Gtk/Objects/TextChildAnchor.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextChildAnchor.hs
@@ -0,0 +1,258 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.TextChildAnchor.TextChildAnchor' is a spot in the buffer where child widgets can
+be “anchored” (inserted inline, as if they were characters). The anchor
+can have multiple widgets anchored, to allow for multiple views.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TextChildAnchor
+    ( 
+
+-- * Exported types
+    TextChildAnchor(..)                     ,
+    IsTextChildAnchor                       ,
+    toTextChildAnchor                       ,
+    noTextChildAnchor                       ,
+
+
+ -- * Methods
+-- ** getDeleted #method:getDeleted#
+
+#if ENABLE_OVERLOADING
+    TextChildAnchorGetDeletedMethodInfo     ,
+#endif
+    textChildAnchorGetDeleted               ,
+
+
+-- ** getWidgets #method:getWidgets#
+
+#if ENABLE_OVERLOADING
+    TextChildAnchorGetWidgetsMethodInfo     ,
+#endif
+    textChildAnchorGetWidgets               ,
+
+
+-- ** new #method:new#
+
+    textChildAnchorNew                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype TextChildAnchor = TextChildAnchor (ManagedPtr TextChildAnchor)
+foreign import ccall "gtk_text_child_anchor_get_type"
+    c_gtk_text_child_anchor_get_type :: IO GType
+
+instance GObject TextChildAnchor where
+    gobjectType = c_gtk_text_child_anchor_get_type
+    
+
+-- | Type class for types which can be safely cast to `TextChildAnchor`, for instance with `toTextChildAnchor`.
+class (GObject o, O.IsDescendantOf TextChildAnchor o) => IsTextChildAnchor o
+instance (GObject o, O.IsDescendantOf TextChildAnchor o) => IsTextChildAnchor o
+
+instance O.HasParentTypes TextChildAnchor
+type instance O.ParentTypes TextChildAnchor = '[GObject.Object.Object]
+
+-- | Cast to `TextChildAnchor`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTextChildAnchor :: (MonadIO m, IsTextChildAnchor o) => o -> m TextChildAnchor
+toTextChildAnchor = liftIO . unsafeCastTo TextChildAnchor
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextChildAnchor`.
+noTextChildAnchor :: Maybe TextChildAnchor
+noTextChildAnchor = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTextChildAnchorMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextChildAnchorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTextChildAnchorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTextChildAnchorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTextChildAnchorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTextChildAnchorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTextChildAnchorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTextChildAnchorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTextChildAnchorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTextChildAnchorMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTextChildAnchorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTextChildAnchorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTextChildAnchorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTextChildAnchorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTextChildAnchorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTextChildAnchorMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTextChildAnchorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTextChildAnchorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTextChildAnchorMethod "getDeleted" o = TextChildAnchorGetDeletedMethodInfo
+    ResolveTextChildAnchorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTextChildAnchorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTextChildAnchorMethod "getWidgets" o = TextChildAnchorGetWidgetsMethodInfo
+    ResolveTextChildAnchorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTextChildAnchorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTextChildAnchorMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextChildAnchorMethod t TextChildAnchor, O.MethodInfo info TextChildAnchor p) => OL.IsLabel t (TextChildAnchor -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextChildAnchor
+type instance O.AttributeList TextChildAnchor = TextChildAnchorAttributeList
+type TextChildAnchorAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TextChildAnchor = TextChildAnchorSignalList
+type TextChildAnchorSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TextChildAnchor::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_child_anchor_new" gtk_text_child_anchor_new :: 
+    IO (Ptr TextChildAnchor)
+
+{- |
+Creates a new 'GI.Gtk.Objects.TextChildAnchor.TextChildAnchor'. Usually you would then insert
+it into a 'GI.Gtk.Objects.TextBuffer.TextBuffer' with 'GI.Gtk.Objects.TextBuffer.textBufferInsertChildAnchor'.
+To perform the creation and insertion in one step, use the
+convenience function 'GI.Gtk.Objects.TextBuffer.textBufferCreateChildAnchor'.
+-}
+textChildAnchorNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m TextChildAnchor
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.TextChildAnchor.TextChildAnchor' -}
+textChildAnchorNew  = liftIO $ do
+    result <- gtk_text_child_anchor_new
+    checkUnexpectedReturnNULL "textChildAnchorNew" result
+    result' <- (wrapObject TextChildAnchor) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TextChildAnchor::get_deleted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "anchor", argType = TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextChildAnchor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_child_anchor_get_deleted" gtk_text_child_anchor_get_deleted :: 
+    Ptr TextChildAnchor ->                  -- anchor : TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"})
+    IO CInt
+
+{- |
+Determines whether a child anchor has been deleted from
+the buffer. Keep in mind that the child anchor will be
+unreferenced when removed from the buffer, so you need to
+hold your own reference (with 'GI.GObject.Objects.Object.objectRef') if you plan
+to use this function — otherwise all deleted child anchors
+will also be finalized.
+-}
+textChildAnchorGetDeleted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextChildAnchor a) =>
+    a
+    {- ^ /@anchor@/: a 'GI.Gtk.Objects.TextChildAnchor.TextChildAnchor' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the child anchor has been deleted from its buffer -}
+textChildAnchorGetDeleted anchor = liftIO $ do
+    anchor' <- unsafeManagedPtrCastPtr anchor
+    result <- gtk_text_child_anchor_get_deleted anchor'
+    let result' = (/= 0) result
+    touchManagedPtr anchor
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextChildAnchorGetDeletedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextChildAnchor a) => O.MethodInfo TextChildAnchorGetDeletedMethodInfo a signature where
+    overloadedMethod _ = textChildAnchorGetDeleted
+
+#endif
+
+-- method TextChildAnchor::get_widgets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "anchor", argType = TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextChildAnchor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Widget"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_child_anchor_get_widgets" gtk_text_child_anchor_get_widgets :: 
+    Ptr TextChildAnchor ->                  -- anchor : TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"})
+    IO (Ptr (GList (Ptr Gtk.Widget.Widget)))
+
+{- |
+Gets a list of all widgets anchored at this child anchor.
+The returned list should be freed with @/g_list_free()/@.
+-}
+textChildAnchorGetWidgets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextChildAnchor a) =>
+    a
+    {- ^ /@anchor@/: a 'GI.Gtk.Objects.TextChildAnchor.TextChildAnchor' -}
+    -> m [Gtk.Widget.Widget]
+    {- ^ __Returns:__ list of widgets anchored at /@anchor@/ -}
+textChildAnchorGetWidgets anchor = liftIO $ do
+    anchor' <- unsafeManagedPtrCastPtr anchor
+    result <- gtk_text_child_anchor_get_widgets anchor'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.Widget.Widget) result'
+    g_list_free result
+    touchManagedPtr anchor
+    return result''
+
+#if ENABLE_OVERLOADING
+data TextChildAnchorGetWidgetsMethodInfo
+instance (signature ~ (m [Gtk.Widget.Widget]), MonadIO m, IsTextChildAnchor a) => O.MethodInfo TextChildAnchorGetWidgetsMethodInfo a signature where
+    overloadedMethod _ = textChildAnchorGetWidgets
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TextChildAnchor.hs-boot b/GI/Gtk/Objects/TextChildAnchor.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextChildAnchor.hs-boot
@@ -0,0 +1,35 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TextChildAnchor where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextChildAnchor = TextChildAnchor (ManagedPtr TextChildAnchor)
+instance GObject TextChildAnchor where
+class (GObject o, O.IsDescendantOf TextChildAnchor o) => IsTextChildAnchor o
+instance (GObject o, O.IsDescendantOf TextChildAnchor o) => IsTextChildAnchor o
+instance O.HasParentTypes TextChildAnchor
+#if ENABLE_OVERLOADING
+data TextChildAnchorGetDeletedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextChildAnchorGetWidgetsMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TextMark.hs b/GI/Gtk/Objects/TextMark.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextMark.hs
@@ -0,0 +1,596 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+You may wish to begin by reading the
+[text widget conceptual overview][TextWidget]
+which gives an overview of all the objects and data
+types related to the text widget and how they work together.
+
+A 'GI.Gtk.Objects.TextMark.TextMark' is like a bookmark in a text buffer; it preserves a position in
+the text. You can convert the mark to an iterator using
+'GI.Gtk.Objects.TextBuffer.textBufferGetIterAtMark'. Unlike iterators, marks remain valid across
+buffer mutations, because their behavior is defined when text is inserted or
+deleted. When text containing a mark is deleted, the mark remains in the
+position originally occupied by the deleted text. When text is inserted at a
+mark, a mark with “left gravity” will be moved to the
+beginning of the newly-inserted text, and a mark with “right
+gravity” will be moved to the end.
+
+Note that “left” and “right” here refer to logical direction (left
+is the toward the start of the buffer); in some languages such as
+Hebrew the logically-leftmost text is not actually on the left when
+displayed.
+
+Marks are reference counted, but the reference count only controls the validity
+of the memory; marks can be deleted from the buffer at any time with
+'GI.Gtk.Objects.TextBuffer.textBufferDeleteMark'. Once deleted from the buffer, a mark is
+essentially useless.
+
+Marks optionally have names; these can be convenient to avoid passing the
+'GI.Gtk.Objects.TextMark.TextMark' object around.
+
+Marks are typically created using the 'GI.Gtk.Objects.TextBuffer.textBufferCreateMark' function.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TextMark
+    ( 
+
+-- * Exported types
+    TextMark(..)                            ,
+    IsTextMark                              ,
+    toTextMark                              ,
+    noTextMark                              ,
+
+
+ -- * Methods
+-- ** getBuffer #method:getBuffer#
+
+#if ENABLE_OVERLOADING
+    TextMarkGetBufferMethodInfo             ,
+#endif
+    textMarkGetBuffer                       ,
+
+
+-- ** getDeleted #method:getDeleted#
+
+#if ENABLE_OVERLOADING
+    TextMarkGetDeletedMethodInfo            ,
+#endif
+    textMarkGetDeleted                      ,
+
+
+-- ** getLeftGravity #method:getLeftGravity#
+
+#if ENABLE_OVERLOADING
+    TextMarkGetLeftGravityMethodInfo        ,
+#endif
+    textMarkGetLeftGravity                  ,
+
+
+-- ** getName #method:getName#
+
+#if ENABLE_OVERLOADING
+    TextMarkGetNameMethodInfo               ,
+#endif
+    textMarkGetName                         ,
+
+
+-- ** getVisible #method:getVisible#
+
+#if ENABLE_OVERLOADING
+    TextMarkGetVisibleMethodInfo            ,
+#endif
+    textMarkGetVisible                      ,
+
+
+-- ** new #method:new#
+
+    textMarkNew                             ,
+
+
+-- ** setVisible #method:setVisible#
+
+#if ENABLE_OVERLOADING
+    TextMarkSetVisibleMethodInfo            ,
+#endif
+    textMarkSetVisible                      ,
+
+
+
+
+ -- * Properties
+-- ** leftGravity #attr:leftGravity#
+{- | Whether the mark has left gravity. When text is inserted at the mark’s
+current location, if the mark has left gravity it will be moved
+to the left of the newly-inserted text, otherwise to the right.
+-}
+#if ENABLE_OVERLOADING
+    TextMarkLeftGravityPropertyInfo         ,
+#endif
+    constructTextMarkLeftGravity            ,
+    getTextMarkLeftGravity                  ,
+#if ENABLE_OVERLOADING
+    textMarkLeftGravity                     ,
+#endif
+
+
+-- ** name #attr:name#
+{- | The name of the mark or 'Nothing' if the mark is anonymous.
+-}
+#if ENABLE_OVERLOADING
+    TextMarkNamePropertyInfo                ,
+#endif
+    constructTextMarkName                   ,
+    getTextMarkName                         ,
+#if ENABLE_OVERLOADING
+    textMarkName                            ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
+
+-- | Memory-managed wrapper type.
+newtype TextMark = TextMark (ManagedPtr TextMark)
+foreign import ccall "gtk_text_mark_get_type"
+    c_gtk_text_mark_get_type :: IO GType
+
+instance GObject TextMark where
+    gobjectType = c_gtk_text_mark_get_type
+    
+
+-- | Type class for types which can be safely cast to `TextMark`, for instance with `toTextMark`.
+class (GObject o, O.IsDescendantOf TextMark o) => IsTextMark o
+instance (GObject o, O.IsDescendantOf TextMark o) => IsTextMark o
+
+instance O.HasParentTypes TextMark
+type instance O.ParentTypes TextMark = '[GObject.Object.Object]
+
+-- | Cast to `TextMark`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTextMark :: (MonadIO m, IsTextMark o) => o -> m TextMark
+toTextMark = liftIO . unsafeCastTo TextMark
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextMark`.
+noTextMark :: Maybe TextMark
+noTextMark = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTextMarkMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextMarkMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTextMarkMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTextMarkMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTextMarkMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTextMarkMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTextMarkMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTextMarkMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTextMarkMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTextMarkMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTextMarkMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTextMarkMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTextMarkMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTextMarkMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTextMarkMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTextMarkMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTextMarkMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTextMarkMethod "getBuffer" o = TextMarkGetBufferMethodInfo
+    ResolveTextMarkMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTextMarkMethod "getDeleted" o = TextMarkGetDeletedMethodInfo
+    ResolveTextMarkMethod "getLeftGravity" o = TextMarkGetLeftGravityMethodInfo
+    ResolveTextMarkMethod "getName" o = TextMarkGetNameMethodInfo
+    ResolveTextMarkMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTextMarkMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTextMarkMethod "getVisible" o = TextMarkGetVisibleMethodInfo
+    ResolveTextMarkMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTextMarkMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTextMarkMethod "setVisible" o = TextMarkSetVisibleMethodInfo
+    ResolveTextMarkMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextMarkMethod t TextMark, O.MethodInfo info TextMark p) => OL.IsLabel t (TextMark -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "left-gravity"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@left-gravity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textMark #leftGravity
+@
+-}
+getTextMarkLeftGravity :: (MonadIO m, IsTextMark o) => o -> m Bool
+getTextMarkLeftGravity obj = liftIO $ B.Properties.getObjectPropertyBool obj "left-gravity"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@left-gravity@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextMarkLeftGravity :: (IsTextMark o) => Bool -> IO (GValueConstruct o)
+constructTextMarkLeftGravity val = B.Properties.constructObjectPropertyBool "left-gravity" val
+
+#if ENABLE_OVERLOADING
+data TextMarkLeftGravityPropertyInfo
+instance AttrInfo TextMarkLeftGravityPropertyInfo where
+    type AttrAllowedOps TextMarkLeftGravityPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextMarkLeftGravityPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextMarkLeftGravityPropertyInfo = IsTextMark
+    type AttrGetType TextMarkLeftGravityPropertyInfo = Bool
+    type AttrLabel TextMarkLeftGravityPropertyInfo = "left-gravity"
+    type AttrOrigin TextMarkLeftGravityPropertyInfo = TextMark
+    attrGet _ = getTextMarkLeftGravity
+    attrSet _ = undefined
+    attrConstruct _ = constructTextMarkLeftGravity
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textMark #name
+@
+-}
+getTextMarkName :: (MonadIO m, IsTextMark o) => o -> m (Maybe T.Text)
+getTextMarkName obj = liftIO $ B.Properties.getObjectPropertyString obj "name"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextMarkName :: (IsTextMark o) => T.Text -> IO (GValueConstruct o)
+constructTextMarkName val = B.Properties.constructObjectPropertyString "name" (Just val)
+
+#if ENABLE_OVERLOADING
+data TextMarkNamePropertyInfo
+instance AttrInfo TextMarkNamePropertyInfo where
+    type AttrAllowedOps TextMarkNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextMarkNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextMarkNamePropertyInfo = IsTextMark
+    type AttrGetType TextMarkNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel TextMarkNamePropertyInfo = "name"
+    type AttrOrigin TextMarkNamePropertyInfo = TextMark
+    attrGet _ = getTextMarkName
+    attrSet _ = undefined
+    attrConstruct _ = constructTextMarkName
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextMark
+type instance O.AttributeList TextMark = TextMarkAttributeList
+type TextMarkAttributeList = ('[ '("leftGravity", TextMarkLeftGravityPropertyInfo), '("name", TextMarkNamePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+textMarkLeftGravity :: AttrLabelProxy "leftGravity"
+textMarkLeftGravity = AttrLabelProxy
+
+textMarkName :: AttrLabelProxy "name"
+textMarkName = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TextMark = TextMarkSignalList
+type TextMarkSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TextMark::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "mark name or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left_gravity", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the mark should have left gravity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextMark"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_mark_new" gtk_text_mark_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    CInt ->                                 -- left_gravity : TBasicType TBoolean
+    IO (Ptr TextMark)
+
+{- |
+Creates a text mark. Add it to a buffer using 'GI.Gtk.Objects.TextBuffer.textBufferAddMark'.
+If /@name@/ is 'Nothing', the mark is anonymous; otherwise, the mark can be
+retrieved by name using 'GI.Gtk.Objects.TextBuffer.textBufferGetMark'. If a mark has left
+gravity, and text is inserted at the mark’s current location, the mark
+will be moved to the left of the newly-inserted text. If the mark has
+right gravity (/@leftGravity@/ = 'False'), the mark will end up on the
+right of newly-inserted text. The standard left-to-right cursor is a
+mark with right gravity (when you type, the cursor stays on the right
+side of the text you’re typing).
+
+/Since: 2.12/
+-}
+textMarkNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@name@/: mark name or 'Nothing' -}
+    -> Bool
+    {- ^ /@leftGravity@/: whether the mark should have left gravity -}
+    -> m TextMark
+    {- ^ __Returns:__ new 'GI.Gtk.Objects.TextMark.TextMark' -}
+textMarkNew name leftGravity = liftIO $ do
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    let leftGravity' = (fromIntegral . fromEnum) leftGravity
+    result <- gtk_text_mark_new maybeName leftGravity'
+    checkUnexpectedReturnNULL "textMarkNew" result
+    result' <- (wrapObject TextMark) result
+    freeMem maybeName
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TextMark::get_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextBuffer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_mark_get_buffer" gtk_text_mark_get_buffer :: 
+    Ptr TextMark ->                         -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    IO (Ptr Gtk.TextBuffer.TextBuffer)
+
+{- |
+Gets the buffer this mark is located inside,
+or 'Nothing' if the mark is deleted.
+-}
+textMarkGetBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextMark a) =>
+    a
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' -}
+    -> m Gtk.TextBuffer.TextBuffer
+    {- ^ __Returns:__ the mark’s 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+textMarkGetBuffer mark = liftIO $ do
+    mark' <- unsafeManagedPtrCastPtr mark
+    result <- gtk_text_mark_get_buffer mark'
+    checkUnexpectedReturnNULL "textMarkGetBuffer" result
+    result' <- (newObject Gtk.TextBuffer.TextBuffer) result
+    touchManagedPtr mark
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextMarkGetBufferMethodInfo
+instance (signature ~ (m Gtk.TextBuffer.TextBuffer), MonadIO m, IsTextMark a) => O.MethodInfo TextMarkGetBufferMethodInfo a signature where
+    overloadedMethod _ = textMarkGetBuffer
+
+#endif
+
+-- method TextMark::get_deleted
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_mark_get_deleted" gtk_text_mark_get_deleted :: 
+    Ptr TextMark ->                         -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    IO CInt
+
+{- |
+Returns 'True' if the mark has been removed from its buffer
+with 'GI.Gtk.Objects.TextBuffer.textBufferDeleteMark'. See 'GI.Gtk.Objects.TextBuffer.textBufferAddMark'
+for a way to add it to a buffer again.
+-}
+textMarkGetDeleted ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextMark a) =>
+    a
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the mark is deleted -}
+textMarkGetDeleted mark = liftIO $ do
+    mark' <- unsafeManagedPtrCastPtr mark
+    result <- gtk_text_mark_get_deleted mark'
+    let result' = (/= 0) result
+    touchManagedPtr mark
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextMarkGetDeletedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextMark a) => O.MethodInfo TextMarkGetDeletedMethodInfo a signature where
+    overloadedMethod _ = textMarkGetDeleted
+
+#endif
+
+-- method TextMark::get_left_gravity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_mark_get_left_gravity" gtk_text_mark_get_left_gravity :: 
+    Ptr TextMark ->                         -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    IO CInt
+
+{- |
+Determines whether the mark has left gravity.
+-}
+textMarkGetLeftGravity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextMark a) =>
+    a
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the mark has left gravity, 'False' otherwise -}
+textMarkGetLeftGravity mark = liftIO $ do
+    mark' <- unsafeManagedPtrCastPtr mark
+    result <- gtk_text_mark_get_left_gravity mark'
+    let result' = (/= 0) result
+    touchManagedPtr mark
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextMarkGetLeftGravityMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextMark a) => O.MethodInfo TextMarkGetLeftGravityMethodInfo a signature where
+    overloadedMethod _ = textMarkGetLeftGravity
+
+#endif
+
+-- method TextMark::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_mark_get_name" gtk_text_mark_get_name :: 
+    Ptr TextMark ->                         -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    IO CString
+
+{- |
+Returns the mark name; returns NULL for anonymous marks.
+-}
+textMarkGetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextMark a) =>
+    a
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ mark name -}
+textMarkGetName mark = liftIO $ do
+    mark' <- unsafeManagedPtrCastPtr mark
+    result <- gtk_text_mark_get_name mark'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr mark
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TextMarkGetNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsTextMark a) => O.MethodInfo TextMarkGetNameMethodInfo a signature where
+    overloadedMethod _ = textMarkGetName
+
+#endif
+
+-- method TextMark::get_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_mark_get_visible" gtk_text_mark_get_visible :: 
+    Ptr TextMark ->                         -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    IO CInt
+
+{- |
+Returns 'True' if the mark is visible (i.e. a cursor is displayed
+for it).
+-}
+textMarkGetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextMark a) =>
+    a
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if visible -}
+textMarkGetVisible mark = liftIO $ do
+    mark' <- unsafeManagedPtrCastPtr mark
+    result <- gtk_text_mark_get_visible mark'
+    let result' = (/= 0) result
+    touchManagedPtr mark
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextMarkGetVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextMark a) => O.MethodInfo TextMarkGetVisibleMethodInfo a signature where
+    overloadedMethod _ = textMarkGetVisible
+
+#endif
+
+-- method TextMark::set_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "visibility of mark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_mark_set_visible" gtk_text_mark_set_visible :: 
+    Ptr TextMark ->                         -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the visibility of /@mark@/; the insertion point is normally
+visible, i.e. you can see it as a vertical bar. Also, the text
+widget uses a visible mark to indicate where a drop will occur when
+dragging-and-dropping text. Most other marks are not visible.
+Marks are not visible by default.
+-}
+textMarkSetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextMark a) =>
+    a
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' -}
+    -> Bool
+    {- ^ /@setting@/: visibility of mark -}
+    -> m ()
+textMarkSetVisible mark setting = liftIO $ do
+    mark' <- unsafeManagedPtrCastPtr mark
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_text_mark_set_visible mark' setting'
+    touchManagedPtr mark
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextMarkSetVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTextMark a) => O.MethodInfo TextMarkSetVisibleMethodInfo a signature where
+    overloadedMethod _ = textMarkSetVisible
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TextMark.hs-boot b/GI/Gtk/Objects/TextMark.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextMark.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TextMark where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextMark = TextMark (ManagedPtr TextMark)
+instance GObject TextMark where
+class (GObject o, O.IsDescendantOf TextMark o) => IsTextMark o
+instance (GObject o, O.IsDescendantOf TextMark o) => IsTextMark o
+instance O.HasParentTypes TextMark
+#if ENABLE_OVERLOADING
+data TextMarkLeftGravityPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextMarkNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextMarkGetBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextMarkGetDeletedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextMarkGetLeftGravityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextMarkGetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextMarkGetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextMarkSetVisibleMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TextTag.hs b/GI/Gtk/Objects/TextTag.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextTag.hs
@@ -0,0 +1,5527 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+You may wish to begin by reading the
+[text widget conceptual overview][TextWidget]
+which gives an overview of all the objects and
+data types related to the text widget and how they work together.
+
+Tags should be in the 'GI.Gtk.Objects.TextTagTable.TextTagTable' for a given 'GI.Gtk.Objects.TextBuffer.TextBuffer'
+before using them with that buffer.
+
+@/gtk_text_buffer_create_tag()/@ is the best way to create tags.
+See “gtk3-demo” for numerous examples.
+
+For each property of 'GI.Gtk.Objects.TextTag.TextTag', there is a “set” property, e.g.
+“font-set” corresponds to “font”. These “set” properties reflect
+whether a property has been set or not.
+They are maintained by GTK+ and you should not set them independently.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TextTag
+    ( 
+
+-- * Exported types
+    TextTag(..)                             ,
+    IsTextTag                               ,
+    toTextTag                               ,
+    noTextTag                               ,
+
+
+ -- * Methods
+-- ** changed #method:changed#
+
+#if ENABLE_OVERLOADING
+    TextTagChangedMethodInfo                ,
+#endif
+    textTagChanged                          ,
+
+
+-- ** event #method:event#
+
+#if ENABLE_OVERLOADING
+    TextTagEventMethodInfo                  ,
+#endif
+    textTagEvent                            ,
+
+
+-- ** getPriority #method:getPriority#
+
+#if ENABLE_OVERLOADING
+    TextTagGetPriorityMethodInfo            ,
+#endif
+    textTagGetPriority                      ,
+
+
+-- ** new #method:new#
+
+    textTagNew                              ,
+
+
+-- ** setPriority #method:setPriority#
+
+#if ENABLE_OVERLOADING
+    TextTagSetPriorityMethodInfo            ,
+#endif
+    textTagSetPriority                      ,
+
+
+
+
+ -- * Properties
+-- ** accumulativeMargin #attr:accumulativeMargin#
+{- | Whether the margins accumulate or override each other.
+
+When set to 'True' the margins of this tag are added to the margins
+of any other non-accumulative margins present. When set to 'False'
+the margins override one another (the default).
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    TextTagAccumulativeMarginPropertyInfo   ,
+#endif
+    constructTextTagAccumulativeMargin      ,
+    getTextTagAccumulativeMargin            ,
+    setTextTagAccumulativeMargin            ,
+#if ENABLE_OVERLOADING
+    textTagAccumulativeMargin               ,
+#endif
+
+
+-- ** background #attr:background#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagBackgroundPropertyInfo           ,
+#endif
+    clearTextTagBackground                  ,
+    constructTextTagBackground              ,
+    setTextTagBackground                    ,
+#if ENABLE_OVERLOADING
+    textTagBackground                       ,
+#endif
+
+
+-- ** backgroundFullHeight #attr:backgroundFullHeight#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagBackgroundFullHeightPropertyInfo ,
+#endif
+    constructTextTagBackgroundFullHeight    ,
+    getTextTagBackgroundFullHeight          ,
+    setTextTagBackgroundFullHeight          ,
+#if ENABLE_OVERLOADING
+    textTagBackgroundFullHeight             ,
+#endif
+
+
+-- ** backgroundFullHeightSet #attr:backgroundFullHeightSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagBackgroundFullHeightSetPropertyInfo,
+#endif
+    constructTextTagBackgroundFullHeightSet ,
+    getTextTagBackgroundFullHeightSet       ,
+    setTextTagBackgroundFullHeightSet       ,
+#if ENABLE_OVERLOADING
+    textTagBackgroundFullHeightSet          ,
+#endif
+
+
+-- ** backgroundGdk #attr:backgroundGdk#
+{- | Background color as a 'GI.Gdk.Structs.Color.Color'.
+-}
+#if ENABLE_OVERLOADING
+    TextTagBackgroundGdkPropertyInfo        ,
+#endif
+    clearTextTagBackgroundGdk               ,
+    constructTextTagBackgroundGdk           ,
+    getTextTagBackgroundGdk                 ,
+    setTextTagBackgroundGdk                 ,
+#if ENABLE_OVERLOADING
+    textTagBackgroundGdk                    ,
+#endif
+
+
+-- ** backgroundRgba #attr:backgroundRgba#
+{- | Background color as a 'GI.Gdk.Structs.RGBA.RGBA'.
+
+/Since: 3.2/
+-}
+#if ENABLE_OVERLOADING
+    TextTagBackgroundRgbaPropertyInfo       ,
+#endif
+    clearTextTagBackgroundRgba              ,
+    constructTextTagBackgroundRgba          ,
+    getTextTagBackgroundRgba                ,
+    setTextTagBackgroundRgba                ,
+#if ENABLE_OVERLOADING
+    textTagBackgroundRgba                   ,
+#endif
+
+
+-- ** backgroundSet #attr:backgroundSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagBackgroundSetPropertyInfo        ,
+#endif
+    constructTextTagBackgroundSet           ,
+    getTextTagBackgroundSet                 ,
+    setTextTagBackgroundSet                 ,
+#if ENABLE_OVERLOADING
+    textTagBackgroundSet                    ,
+#endif
+
+
+-- ** direction #attr:direction#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagDirectionPropertyInfo            ,
+#endif
+    constructTextTagDirection               ,
+    getTextTagDirection                     ,
+    setTextTagDirection                     ,
+#if ENABLE_OVERLOADING
+    textTagDirection                        ,
+#endif
+
+
+-- ** editable #attr:editable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagEditablePropertyInfo             ,
+#endif
+    constructTextTagEditable                ,
+    getTextTagEditable                      ,
+    setTextTagEditable                      ,
+#if ENABLE_OVERLOADING
+    textTagEditable                         ,
+#endif
+
+
+-- ** editableSet #attr:editableSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagEditableSetPropertyInfo          ,
+#endif
+    constructTextTagEditableSet             ,
+    getTextTagEditableSet                   ,
+    setTextTagEditableSet                   ,
+#if ENABLE_OVERLOADING
+    textTagEditableSet                      ,
+#endif
+
+
+-- ** fallback #attr:fallback#
+{- | Whether font fallback is enabled.
+
+When set to 'True', other fonts will be substituted
+where the current font is missing glyphs.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    TextTagFallbackPropertyInfo             ,
+#endif
+    constructTextTagFallback                ,
+    getTextTagFallback                      ,
+    setTextTagFallback                      ,
+#if ENABLE_OVERLOADING
+    textTagFallback                         ,
+#endif
+
+
+-- ** fallbackSet #attr:fallbackSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagFallbackSetPropertyInfo          ,
+#endif
+    constructTextTagFallbackSet             ,
+    getTextTagFallbackSet                   ,
+    setTextTagFallbackSet                   ,
+#if ENABLE_OVERLOADING
+    textTagFallbackSet                      ,
+#endif
+
+
+-- ** family #attr:family#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagFamilyPropertyInfo               ,
+#endif
+    clearTextTagFamily                      ,
+    constructTextTagFamily                  ,
+    getTextTagFamily                        ,
+    setTextTagFamily                        ,
+#if ENABLE_OVERLOADING
+    textTagFamily                           ,
+#endif
+
+
+-- ** familySet #attr:familySet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagFamilySetPropertyInfo            ,
+#endif
+    constructTextTagFamilySet               ,
+    getTextTagFamilySet                     ,
+    setTextTagFamilySet                     ,
+#if ENABLE_OVERLOADING
+    textTagFamilySet                        ,
+#endif
+
+
+-- ** font #attr:font#
+{- | Font description as string, e.g. \\\"Sans Italic 12\\\".
+
+Note that the initial value of this property depends on
+the internals of 'GI.Pango.Structs.FontDescription.FontDescription'.
+-}
+#if ENABLE_OVERLOADING
+    TextTagFontPropertyInfo                 ,
+#endif
+    clearTextTagFont                        ,
+    constructTextTagFont                    ,
+    getTextTagFont                          ,
+    setTextTagFont                          ,
+#if ENABLE_OVERLOADING
+    textTagFont                             ,
+#endif
+
+
+-- ** fontDesc #attr:fontDesc#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagFontDescPropertyInfo             ,
+#endif
+    clearTextTagFontDesc                    ,
+    constructTextTagFontDesc                ,
+    getTextTagFontDesc                      ,
+    setTextTagFontDesc                      ,
+#if ENABLE_OVERLOADING
+    textTagFontDesc                         ,
+#endif
+
+
+-- ** fontFeatures #attr:fontFeatures#
+{- | OpenType font features, as a string.
+
+/Since: 3.18/
+-}
+#if ENABLE_OVERLOADING
+    TextTagFontFeaturesPropertyInfo         ,
+#endif
+    clearTextTagFontFeatures                ,
+    constructTextTagFontFeatures            ,
+    getTextTagFontFeatures                  ,
+    setTextTagFontFeatures                  ,
+#if ENABLE_OVERLOADING
+    textTagFontFeatures                     ,
+#endif
+
+
+-- ** fontFeaturesSet #attr:fontFeaturesSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagFontFeaturesSetPropertyInfo      ,
+#endif
+    constructTextTagFontFeaturesSet         ,
+    getTextTagFontFeaturesSet               ,
+    setTextTagFontFeaturesSet               ,
+#if ENABLE_OVERLOADING
+    textTagFontFeaturesSet                  ,
+#endif
+
+
+-- ** foreground #attr:foreground#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagForegroundPropertyInfo           ,
+#endif
+    clearTextTagForeground                  ,
+    constructTextTagForeground              ,
+    setTextTagForeground                    ,
+#if ENABLE_OVERLOADING
+    textTagForeground                       ,
+#endif
+
+
+-- ** foregroundGdk #attr:foregroundGdk#
+{- | Foreground color as a 'GI.Gdk.Structs.Color.Color'.
+-}
+#if ENABLE_OVERLOADING
+    TextTagForegroundGdkPropertyInfo        ,
+#endif
+    clearTextTagForegroundGdk               ,
+    constructTextTagForegroundGdk           ,
+    getTextTagForegroundGdk                 ,
+    setTextTagForegroundGdk                 ,
+#if ENABLE_OVERLOADING
+    textTagForegroundGdk                    ,
+#endif
+
+
+-- ** foregroundRgba #attr:foregroundRgba#
+{- | Foreground color as a 'GI.Gdk.Structs.RGBA.RGBA'.
+
+/Since: 3.2/
+-}
+#if ENABLE_OVERLOADING
+    TextTagForegroundRgbaPropertyInfo       ,
+#endif
+    clearTextTagForegroundRgba              ,
+    constructTextTagForegroundRgba          ,
+    getTextTagForegroundRgba                ,
+    setTextTagForegroundRgba                ,
+#if ENABLE_OVERLOADING
+    textTagForegroundRgba                   ,
+#endif
+
+
+-- ** foregroundSet #attr:foregroundSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagForegroundSetPropertyInfo        ,
+#endif
+    constructTextTagForegroundSet           ,
+    getTextTagForegroundSet                 ,
+    setTextTagForegroundSet                 ,
+#if ENABLE_OVERLOADING
+    textTagForegroundSet                    ,
+#endif
+
+
+-- ** indent #attr:indent#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagIndentPropertyInfo               ,
+#endif
+    constructTextTagIndent                  ,
+    getTextTagIndent                        ,
+    setTextTagIndent                        ,
+#if ENABLE_OVERLOADING
+    textTagIndent                           ,
+#endif
+
+
+-- ** indentSet #attr:indentSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagIndentSetPropertyInfo            ,
+#endif
+    constructTextTagIndentSet               ,
+    getTextTagIndentSet                     ,
+    setTextTagIndentSet                     ,
+#if ENABLE_OVERLOADING
+    textTagIndentSet                        ,
+#endif
+
+
+-- ** invisible #attr:invisible#
+{- | Whether this text is hidden.
+
+Note that there may still be problems with the support for invisible
+text, in particular when navigating programmatically inside a buffer
+containing invisible segments.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    TextTagInvisiblePropertyInfo            ,
+#endif
+    constructTextTagInvisible               ,
+    getTextTagInvisible                     ,
+    setTextTagInvisible                     ,
+#if ENABLE_OVERLOADING
+    textTagInvisible                        ,
+#endif
+
+
+-- ** invisibleSet #attr:invisibleSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagInvisibleSetPropertyInfo         ,
+#endif
+    constructTextTagInvisibleSet            ,
+    getTextTagInvisibleSet                  ,
+    setTextTagInvisibleSet                  ,
+#if ENABLE_OVERLOADING
+    textTagInvisibleSet                     ,
+#endif
+
+
+-- ** justification #attr:justification#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagJustificationPropertyInfo        ,
+#endif
+    constructTextTagJustification           ,
+    getTextTagJustification                 ,
+    setTextTagJustification                 ,
+#if ENABLE_OVERLOADING
+    textTagJustification                    ,
+#endif
+
+
+-- ** justificationSet #attr:justificationSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagJustificationSetPropertyInfo     ,
+#endif
+    constructTextTagJustificationSet        ,
+    getTextTagJustificationSet              ,
+    setTextTagJustificationSet              ,
+#if ENABLE_OVERLOADING
+    textTagJustificationSet                 ,
+#endif
+
+
+-- ** language #attr:language#
+{- | The language this text is in, as an ISO code. Pango can use this as a
+hint when rendering the text. If not set, an appropriate default will be
+used.
+
+Note that the initial value of this property depends on the current
+locale, see also 'GI.Gtk.Functions.getDefaultLanguage'.
+-}
+#if ENABLE_OVERLOADING
+    TextTagLanguagePropertyInfo             ,
+#endif
+    clearTextTagLanguage                    ,
+    constructTextTagLanguage                ,
+    getTextTagLanguage                      ,
+    setTextTagLanguage                      ,
+#if ENABLE_OVERLOADING
+    textTagLanguage                         ,
+#endif
+
+
+-- ** languageSet #attr:languageSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagLanguageSetPropertyInfo          ,
+#endif
+    constructTextTagLanguageSet             ,
+    getTextTagLanguageSet                   ,
+    setTextTagLanguageSet                   ,
+#if ENABLE_OVERLOADING
+    textTagLanguageSet                      ,
+#endif
+
+
+-- ** leftMargin #attr:leftMargin#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagLeftMarginPropertyInfo           ,
+#endif
+    constructTextTagLeftMargin              ,
+    getTextTagLeftMargin                    ,
+    setTextTagLeftMargin                    ,
+#if ENABLE_OVERLOADING
+    textTagLeftMargin                       ,
+#endif
+
+
+-- ** leftMarginSet #attr:leftMarginSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagLeftMarginSetPropertyInfo        ,
+#endif
+    constructTextTagLeftMarginSet           ,
+    getTextTagLeftMarginSet                 ,
+    setTextTagLeftMarginSet                 ,
+#if ENABLE_OVERLOADING
+    textTagLeftMarginSet                    ,
+#endif
+
+
+-- ** letterSpacing #attr:letterSpacing#
+{- | Extra spacing between graphemes, in Pango units.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    TextTagLetterSpacingPropertyInfo        ,
+#endif
+    constructTextTagLetterSpacing           ,
+    getTextTagLetterSpacing                 ,
+    setTextTagLetterSpacing                 ,
+#if ENABLE_OVERLOADING
+    textTagLetterSpacing                    ,
+#endif
+
+
+-- ** letterSpacingSet #attr:letterSpacingSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagLetterSpacingSetPropertyInfo     ,
+#endif
+    constructTextTagLetterSpacingSet        ,
+    getTextTagLetterSpacingSet              ,
+    setTextTagLetterSpacingSet              ,
+#if ENABLE_OVERLOADING
+    textTagLetterSpacingSet                 ,
+#endif
+
+
+-- ** name #attr:name#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagNamePropertyInfo                 ,
+#endif
+    constructTextTagName                    ,
+    getTextTagName                          ,
+#if ENABLE_OVERLOADING
+    textTagName                             ,
+#endif
+
+
+-- ** paragraphBackground #attr:paragraphBackground#
+{- | The paragraph background color as a string.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    TextTagParagraphBackgroundPropertyInfo  ,
+#endif
+    clearTextTagParagraphBackground         ,
+    constructTextTagParagraphBackground     ,
+    setTextTagParagraphBackground           ,
+#if ENABLE_OVERLOADING
+    textTagParagraphBackground              ,
+#endif
+
+
+-- ** paragraphBackgroundGdk #attr:paragraphBackgroundGdk#
+{- | The paragraph background color as a 'GI.Gdk.Structs.Color.Color'.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    TextTagParagraphBackgroundGdkPropertyInfo,
+#endif
+    clearTextTagParagraphBackgroundGdk      ,
+    constructTextTagParagraphBackgroundGdk  ,
+    getTextTagParagraphBackgroundGdk        ,
+    setTextTagParagraphBackgroundGdk        ,
+#if ENABLE_OVERLOADING
+    textTagParagraphBackgroundGdk           ,
+#endif
+
+
+-- ** paragraphBackgroundRgba #attr:paragraphBackgroundRgba#
+{- | The paragraph background color as a 'GI.Gdk.Structs.RGBA.RGBA'.
+
+/Since: 3.2/
+-}
+#if ENABLE_OVERLOADING
+    TextTagParagraphBackgroundRgbaPropertyInfo,
+#endif
+    clearTextTagParagraphBackgroundRgba     ,
+    constructTextTagParagraphBackgroundRgba ,
+    getTextTagParagraphBackgroundRgba       ,
+    setTextTagParagraphBackgroundRgba       ,
+#if ENABLE_OVERLOADING
+    textTagParagraphBackgroundRgba          ,
+#endif
+
+
+-- ** paragraphBackgroundSet #attr:paragraphBackgroundSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagParagraphBackgroundSetPropertyInfo,
+#endif
+    constructTextTagParagraphBackgroundSet  ,
+    getTextTagParagraphBackgroundSet        ,
+    setTextTagParagraphBackgroundSet        ,
+#if ENABLE_OVERLOADING
+    textTagParagraphBackgroundSet           ,
+#endif
+
+
+-- ** pixelsAboveLines #attr:pixelsAboveLines#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagPixelsAboveLinesPropertyInfo     ,
+#endif
+    constructTextTagPixelsAboveLines        ,
+    getTextTagPixelsAboveLines              ,
+    setTextTagPixelsAboveLines              ,
+#if ENABLE_OVERLOADING
+    textTagPixelsAboveLines                 ,
+#endif
+
+
+-- ** pixelsAboveLinesSet #attr:pixelsAboveLinesSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagPixelsAboveLinesSetPropertyInfo  ,
+#endif
+    constructTextTagPixelsAboveLinesSet     ,
+    getTextTagPixelsAboveLinesSet           ,
+    setTextTagPixelsAboveLinesSet           ,
+#if ENABLE_OVERLOADING
+    textTagPixelsAboveLinesSet              ,
+#endif
+
+
+-- ** pixelsBelowLines #attr:pixelsBelowLines#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagPixelsBelowLinesPropertyInfo     ,
+#endif
+    constructTextTagPixelsBelowLines        ,
+    getTextTagPixelsBelowLines              ,
+    setTextTagPixelsBelowLines              ,
+#if ENABLE_OVERLOADING
+    textTagPixelsBelowLines                 ,
+#endif
+
+
+-- ** pixelsBelowLinesSet #attr:pixelsBelowLinesSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagPixelsBelowLinesSetPropertyInfo  ,
+#endif
+    constructTextTagPixelsBelowLinesSet     ,
+    getTextTagPixelsBelowLinesSet           ,
+    setTextTagPixelsBelowLinesSet           ,
+#if ENABLE_OVERLOADING
+    textTagPixelsBelowLinesSet              ,
+#endif
+
+
+-- ** pixelsInsideWrap #attr:pixelsInsideWrap#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagPixelsInsideWrapPropertyInfo     ,
+#endif
+    constructTextTagPixelsInsideWrap        ,
+    getTextTagPixelsInsideWrap              ,
+    setTextTagPixelsInsideWrap              ,
+#if ENABLE_OVERLOADING
+    textTagPixelsInsideWrap                 ,
+#endif
+
+
+-- ** pixelsInsideWrapSet #attr:pixelsInsideWrapSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagPixelsInsideWrapSetPropertyInfo  ,
+#endif
+    constructTextTagPixelsInsideWrapSet     ,
+    getTextTagPixelsInsideWrapSet           ,
+    setTextTagPixelsInsideWrapSet           ,
+#if ENABLE_OVERLOADING
+    textTagPixelsInsideWrapSet              ,
+#endif
+
+
+-- ** rightMargin #attr:rightMargin#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagRightMarginPropertyInfo          ,
+#endif
+    constructTextTagRightMargin             ,
+    getTextTagRightMargin                   ,
+    setTextTagRightMargin                   ,
+#if ENABLE_OVERLOADING
+    textTagRightMargin                      ,
+#endif
+
+
+-- ** rightMarginSet #attr:rightMarginSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagRightMarginSetPropertyInfo       ,
+#endif
+    constructTextTagRightMarginSet          ,
+    getTextTagRightMarginSet                ,
+    setTextTagRightMarginSet                ,
+#if ENABLE_OVERLOADING
+    textTagRightMarginSet                   ,
+#endif
+
+
+-- ** rise #attr:rise#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagRisePropertyInfo                 ,
+#endif
+    constructTextTagRise                    ,
+    getTextTagRise                          ,
+    setTextTagRise                          ,
+#if ENABLE_OVERLOADING
+    textTagRise                             ,
+#endif
+
+
+-- ** riseSet #attr:riseSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagRiseSetPropertyInfo              ,
+#endif
+    constructTextTagRiseSet                 ,
+    getTextTagRiseSet                       ,
+    setTextTagRiseSet                       ,
+#if ENABLE_OVERLOADING
+    textTagRiseSet                          ,
+#endif
+
+
+-- ** scale #attr:scale#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagScalePropertyInfo                ,
+#endif
+    constructTextTagScale                   ,
+    getTextTagScale                         ,
+    setTextTagScale                         ,
+#if ENABLE_OVERLOADING
+    textTagScale                            ,
+#endif
+
+
+-- ** scaleSet #attr:scaleSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagScaleSetPropertyInfo             ,
+#endif
+    constructTextTagScaleSet                ,
+    getTextTagScaleSet                      ,
+    setTextTagScaleSet                      ,
+#if ENABLE_OVERLOADING
+    textTagScaleSet                         ,
+#endif
+
+
+-- ** size #attr:size#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagSizePropertyInfo                 ,
+#endif
+    constructTextTagSize                    ,
+    getTextTagSize                          ,
+    setTextTagSize                          ,
+#if ENABLE_OVERLOADING
+    textTagSize                             ,
+#endif
+
+
+-- ** sizePoints #attr:sizePoints#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagSizePointsPropertyInfo           ,
+#endif
+    constructTextTagSizePoints              ,
+    getTextTagSizePoints                    ,
+    setTextTagSizePoints                    ,
+#if ENABLE_OVERLOADING
+    textTagSizePoints                       ,
+#endif
+
+
+-- ** sizeSet #attr:sizeSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagSizeSetPropertyInfo              ,
+#endif
+    constructTextTagSizeSet                 ,
+    getTextTagSizeSet                       ,
+    setTextTagSizeSet                       ,
+#if ENABLE_OVERLOADING
+    textTagSizeSet                          ,
+#endif
+
+
+-- ** stretch #attr:stretch#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagStretchPropertyInfo              ,
+#endif
+    constructTextTagStretch                 ,
+    getTextTagStretch                       ,
+    setTextTagStretch                       ,
+#if ENABLE_OVERLOADING
+    textTagStretch                          ,
+#endif
+
+
+-- ** stretchSet #attr:stretchSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagStretchSetPropertyInfo           ,
+#endif
+    constructTextTagStretchSet              ,
+    getTextTagStretchSet                    ,
+    setTextTagStretchSet                    ,
+#if ENABLE_OVERLOADING
+    textTagStretchSet                       ,
+#endif
+
+
+-- ** strikethrough #attr:strikethrough#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagStrikethroughPropertyInfo        ,
+#endif
+    constructTextTagStrikethrough           ,
+    getTextTagStrikethrough                 ,
+    setTextTagStrikethrough                 ,
+#if ENABLE_OVERLOADING
+    textTagStrikethrough                    ,
+#endif
+
+
+-- ** strikethroughRgba #attr:strikethroughRgba#
+{- | This property modifies the color of strikeouts. If not set, strikeouts
+will use the forground color.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    TextTagStrikethroughRgbaPropertyInfo    ,
+#endif
+    clearTextTagStrikethroughRgba           ,
+    constructTextTagStrikethroughRgba       ,
+    getTextTagStrikethroughRgba             ,
+    setTextTagStrikethroughRgba             ,
+#if ENABLE_OVERLOADING
+    textTagStrikethroughRgba                ,
+#endif
+
+
+-- ** strikethroughRgbaSet #attr:strikethroughRgbaSet#
+{- | If the 'GI.Gtk.Objects.TextTag.TextTag':@/strikethrough-rgba/@ property has been set.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    TextTagStrikethroughRgbaSetPropertyInfo ,
+#endif
+    constructTextTagStrikethroughRgbaSet    ,
+    getTextTagStrikethroughRgbaSet          ,
+    setTextTagStrikethroughRgbaSet          ,
+#if ENABLE_OVERLOADING
+    textTagStrikethroughRgbaSet             ,
+#endif
+
+
+-- ** strikethroughSet #attr:strikethroughSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagStrikethroughSetPropertyInfo     ,
+#endif
+    constructTextTagStrikethroughSet        ,
+    getTextTagStrikethroughSet              ,
+    setTextTagStrikethroughSet              ,
+#if ENABLE_OVERLOADING
+    textTagStrikethroughSet                 ,
+#endif
+
+
+-- ** style #attr:style#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagStylePropertyInfo                ,
+#endif
+    constructTextTagStyle                   ,
+    getTextTagStyle                         ,
+    setTextTagStyle                         ,
+#if ENABLE_OVERLOADING
+    textTagStyle                            ,
+#endif
+
+
+-- ** styleSet #attr:styleSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagStyleSetPropertyInfo             ,
+#endif
+    constructTextTagStyleSet                ,
+    getTextTagStyleSet                      ,
+    setTextTagStyleSet                      ,
+#if ENABLE_OVERLOADING
+    textTagStyleSet                         ,
+#endif
+
+
+-- ** tabs #attr:tabs#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagTabsPropertyInfo                 ,
+#endif
+    clearTextTagTabs                        ,
+    constructTextTagTabs                    ,
+    getTextTagTabs                          ,
+    setTextTagTabs                          ,
+#if ENABLE_OVERLOADING
+    textTagTabs                             ,
+#endif
+
+
+-- ** tabsSet #attr:tabsSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagTabsSetPropertyInfo              ,
+#endif
+    constructTextTagTabsSet                 ,
+    getTextTagTabsSet                       ,
+    setTextTagTabsSet                       ,
+#if ENABLE_OVERLOADING
+    textTagTabsSet                          ,
+#endif
+
+
+-- ** underline #attr:underline#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagUnderlinePropertyInfo            ,
+#endif
+    constructTextTagUnderline               ,
+    getTextTagUnderline                     ,
+    setTextTagUnderline                     ,
+#if ENABLE_OVERLOADING
+    textTagUnderline                        ,
+#endif
+
+
+-- ** underlineRgba #attr:underlineRgba#
+{- | This property modifies the color of underlines. If not set, underlines
+will use the forground color.
+
+If 'GI.Gtk.Objects.TextTag.TextTag':@/underline/@ is set to 'GI.Pango.Enums.UnderlineError', an alternate
+color may be applied instead of the foreground. Setting this property
+will always override those defaults.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    TextTagUnderlineRgbaPropertyInfo        ,
+#endif
+    clearTextTagUnderlineRgba               ,
+    constructTextTagUnderlineRgba           ,
+    getTextTagUnderlineRgba                 ,
+    setTextTagUnderlineRgba                 ,
+#if ENABLE_OVERLOADING
+    textTagUnderlineRgba                    ,
+#endif
+
+
+-- ** underlineRgbaSet #attr:underlineRgbaSet#
+{- | If the 'GI.Gtk.Objects.TextTag.TextTag':@/underline-rgba/@ property has been set.
+
+/Since: 3.16/
+-}
+#if ENABLE_OVERLOADING
+    TextTagUnderlineRgbaSetPropertyInfo     ,
+#endif
+    constructTextTagUnderlineRgbaSet        ,
+    getTextTagUnderlineRgbaSet              ,
+    setTextTagUnderlineRgbaSet              ,
+#if ENABLE_OVERLOADING
+    textTagUnderlineRgbaSet                 ,
+#endif
+
+
+-- ** underlineSet #attr:underlineSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagUnderlineSetPropertyInfo         ,
+#endif
+    constructTextTagUnderlineSet            ,
+    getTextTagUnderlineSet                  ,
+    setTextTagUnderlineSet                  ,
+#if ENABLE_OVERLOADING
+    textTagUnderlineSet                     ,
+#endif
+
+
+-- ** variant #attr:variant#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagVariantPropertyInfo              ,
+#endif
+    constructTextTagVariant                 ,
+    getTextTagVariant                       ,
+    setTextTagVariant                       ,
+#if ENABLE_OVERLOADING
+    textTagVariant                          ,
+#endif
+
+
+-- ** variantSet #attr:variantSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagVariantSetPropertyInfo           ,
+#endif
+    constructTextTagVariantSet              ,
+    getTextTagVariantSet                    ,
+    setTextTagVariantSet                    ,
+#if ENABLE_OVERLOADING
+    textTagVariantSet                       ,
+#endif
+
+
+-- ** weight #attr:weight#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagWeightPropertyInfo               ,
+#endif
+    constructTextTagWeight                  ,
+    getTextTagWeight                        ,
+    setTextTagWeight                        ,
+#if ENABLE_OVERLOADING
+    textTagWeight                           ,
+#endif
+
+
+-- ** weightSet #attr:weightSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagWeightSetPropertyInfo            ,
+#endif
+    constructTextTagWeightSet               ,
+    getTextTagWeightSet                     ,
+    setTextTagWeightSet                     ,
+#if ENABLE_OVERLOADING
+    textTagWeightSet                        ,
+#endif
+
+
+-- ** wrapMode #attr:wrapMode#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagWrapModePropertyInfo             ,
+#endif
+    constructTextTagWrapMode                ,
+    getTextTagWrapMode                      ,
+    setTextTagWrapMode                      ,
+#if ENABLE_OVERLOADING
+    textTagWrapMode                         ,
+#endif
+
+
+-- ** wrapModeSet #attr:wrapModeSet#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextTagWrapModeSetPropertyInfo          ,
+#endif
+    constructTextTagWrapModeSet             ,
+    getTextTagWrapModeSet                   ,
+    setTextTagWrapModeSet                   ,
+#if ENABLE_OVERLOADING
+    textTagWrapModeSet                      ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** event #signal:event#
+
+    C_TextTagEventCallback                  ,
+    TextTagEventCallback                    ,
+#if ENABLE_OVERLOADING
+    TextTagEventSignalInfo                  ,
+#endif
+    afterTextTagEvent                       ,
+    genClosure_TextTagEvent                 ,
+    mk_TextTagEventCallback                 ,
+    noTextTagEventCallback                  ,
+    onTextTagEvent                          ,
+    wrap_TextTagEventCallback               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TextIter as Gtk.TextIter
+import qualified GI.Pango.Enums as Pango.Enums
+import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
+import qualified GI.Pango.Structs.TabArray as Pango.TabArray
+
+-- | Memory-managed wrapper type.
+newtype TextTag = TextTag (ManagedPtr TextTag)
+foreign import ccall "gtk_text_tag_get_type"
+    c_gtk_text_tag_get_type :: IO GType
+
+instance GObject TextTag where
+    gobjectType = c_gtk_text_tag_get_type
+    
+
+-- | Type class for types which can be safely cast to `TextTag`, for instance with `toTextTag`.
+class (GObject o, O.IsDescendantOf TextTag o) => IsTextTag o
+instance (GObject o, O.IsDescendantOf TextTag o) => IsTextTag o
+
+instance O.HasParentTypes TextTag
+type instance O.ParentTypes TextTag = '[GObject.Object.Object]
+
+-- | Cast to `TextTag`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTextTag :: (MonadIO m, IsTextTag o) => o -> m TextTag
+toTextTag = liftIO . unsafeCastTo TextTag
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextTag`.
+noTextTag :: Maybe TextTag
+noTextTag = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTextTagMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextTagMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTextTagMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTextTagMethod "changed" o = TextTagChangedMethodInfo
+    ResolveTextTagMethod "event" o = TextTagEventMethodInfo
+    ResolveTextTagMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTextTagMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTextTagMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTextTagMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTextTagMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTextTagMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTextTagMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTextTagMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTextTagMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTextTagMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTextTagMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTextTagMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTextTagMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTextTagMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTextTagMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTextTagMethod "getPriority" o = TextTagGetPriorityMethodInfo
+    ResolveTextTagMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTextTagMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTextTagMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTextTagMethod "setPriority" o = TextTagSetPriorityMethodInfo
+    ResolveTextTagMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTextTagMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextTagMethod t TextTag, O.MethodInfo info TextTag p) => OL.IsLabel t (TextTag -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal TextTag::event
+{- |
+The ::event signal is emitted when an event occurs on a region of the
+buffer marked with this tag.
+-}
+type TextTagEventCallback =
+    GObject.Object.Object
+    {- ^ /@object@/: the object the event was fired from (typically a 'GI.Gtk.Objects.TextView.TextView') -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: the event which triggered the signal -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' pointing at the location the event occurred -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the
+event. 'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTagEventCallback`@.
+noTextTagEventCallback :: Maybe TextTagEventCallback
+noTextTagEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextTagEventCallback =
+    Ptr () ->                               -- object
+    Ptr GObject.Object.Object ->
+    Ptr Gdk.Event.Event ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TextTagEventCallback`.
+foreign import ccall "wrapper"
+    mk_TextTagEventCallback :: C_TextTagEventCallback -> IO (FunPtr C_TextTagEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextTagEvent :: MonadIO m => TextTagEventCallback -> m (GClosure C_TextTagEventCallback)
+genClosure_TextTagEvent cb = liftIO $ do
+    let cb' = wrap_TextTagEventCallback cb
+    mk_TextTagEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextTagEventCallback` into a `C_TextTagEventCallback`.
+wrap_TextTagEventCallback ::
+    TextTagEventCallback ->
+    C_TextTagEventCallback
+wrap_TextTagEventCallback _cb _ object event iter _ = do
+    object' <- (newObject GObject.Object.Object) object
+    B.ManagedPtr.withTransient Gdk.Event.Event event $ \event' -> do
+        B.ManagedPtr.withTransient Gtk.TextIter.TextIter iter $ \iter' -> do
+            result <- _cb  object' event' iter'
+            let result' = (fromIntegral . fromEnum) result
+            return result'
+
+
+{- |
+Connect a signal handler for the “@event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textTag #event callback
+@
+-}
+onTextTagEvent :: (IsTextTag a, MonadIO m) => a -> TextTagEventCallback -> m SignalHandlerId
+onTextTagEvent obj cb = liftIO $ do
+    let cb' = wrap_TextTagEventCallback cb
+    cb'' <- mk_TextTagEventCallback cb'
+    connectSignalFunPtr obj "event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textTag #event callback
+@
+-}
+afterTextTagEvent :: (IsTextTag a, MonadIO m) => a -> TextTagEventCallback -> m SignalHandlerId
+afterTextTagEvent obj cb = liftIO $ do
+    let cb' = wrap_TextTagEventCallback cb
+    cb'' <- mk_TextTagEventCallback cb'
+    connectSignalFunPtr obj "event" cb'' SignalConnectAfter
+
+
+-- VVV Prop "accumulative-margin"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@accumulative-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #accumulativeMargin
+@
+-}
+getTextTagAccumulativeMargin :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagAccumulativeMargin obj = liftIO $ B.Properties.getObjectPropertyBool obj "accumulative-margin"
+
+{- |
+Set the value of the “@accumulative-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #accumulativeMargin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagAccumulativeMargin :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagAccumulativeMargin obj val = liftIO $ B.Properties.setObjectPropertyBool obj "accumulative-margin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accumulative-margin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagAccumulativeMargin :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagAccumulativeMargin val = B.Properties.constructObjectPropertyBool "accumulative-margin" val
+
+#if ENABLE_OVERLOADING
+data TextTagAccumulativeMarginPropertyInfo
+instance AttrInfo TextTagAccumulativeMarginPropertyInfo where
+    type AttrAllowedOps TextTagAccumulativeMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagAccumulativeMarginPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagAccumulativeMarginPropertyInfo = IsTextTag
+    type AttrGetType TextTagAccumulativeMarginPropertyInfo = Bool
+    type AttrLabel TextTagAccumulativeMarginPropertyInfo = "accumulative-margin"
+    type AttrOrigin TextTagAccumulativeMarginPropertyInfo = TextTag
+    attrGet _ = getTextTagAccumulativeMargin
+    attrSet _ = setTextTagAccumulativeMargin
+    attrConstruct _ = constructTextTagAccumulativeMargin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "background"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@background@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #background 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagBackground :: (MonadIO m, IsTextTag o) => o -> T.Text -> m ()
+setTextTagBackground obj val = liftIO $ B.Properties.setObjectPropertyString obj "background" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagBackground :: (IsTextTag o) => T.Text -> IO (GValueConstruct o)
+constructTextTagBackground val = B.Properties.constructObjectPropertyString "background" (Just val)
+
+{- |
+Set the value of the “@background@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #background
+@
+-}
+clearTextTagBackground :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagBackground obj = liftIO $ B.Properties.setObjectPropertyString obj "background" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data TextTagBackgroundPropertyInfo
+instance AttrInfo TextTagBackgroundPropertyInfo where
+    type AttrAllowedOps TextTagBackgroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint TextTagBackgroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextTagBackgroundPropertyInfo = IsTextTag
+    type AttrGetType TextTagBackgroundPropertyInfo = ()
+    type AttrLabel TextTagBackgroundPropertyInfo = "background"
+    type AttrOrigin TextTagBackgroundPropertyInfo = TextTag
+    attrGet _ = undefined
+    attrSet _ = setTextTagBackground
+    attrConstruct _ = constructTextTagBackground
+    attrClear _ = clearTextTagBackground
+#endif
+
+-- VVV Prop "background-full-height"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-full-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #backgroundFullHeight
+@
+-}
+getTextTagBackgroundFullHeight :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagBackgroundFullHeight obj = liftIO $ B.Properties.getObjectPropertyBool obj "background-full-height"
+
+{- |
+Set the value of the “@background-full-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #backgroundFullHeight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagBackgroundFullHeight :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagBackgroundFullHeight obj val = liftIO $ B.Properties.setObjectPropertyBool obj "background-full-height" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-full-height@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagBackgroundFullHeight :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagBackgroundFullHeight val = B.Properties.constructObjectPropertyBool "background-full-height" val
+
+#if ENABLE_OVERLOADING
+data TextTagBackgroundFullHeightPropertyInfo
+instance AttrInfo TextTagBackgroundFullHeightPropertyInfo where
+    type AttrAllowedOps TextTagBackgroundFullHeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagBackgroundFullHeightPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagBackgroundFullHeightPropertyInfo = IsTextTag
+    type AttrGetType TextTagBackgroundFullHeightPropertyInfo = Bool
+    type AttrLabel TextTagBackgroundFullHeightPropertyInfo = "background-full-height"
+    type AttrOrigin TextTagBackgroundFullHeightPropertyInfo = TextTag
+    attrGet _ = getTextTagBackgroundFullHeight
+    attrSet _ = setTextTagBackgroundFullHeight
+    attrConstruct _ = constructTextTagBackgroundFullHeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "background-full-height-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-full-height-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #backgroundFullHeightSet
+@
+-}
+getTextTagBackgroundFullHeightSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagBackgroundFullHeightSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "background-full-height-set"
+
+{- |
+Set the value of the “@background-full-height-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #backgroundFullHeightSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagBackgroundFullHeightSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagBackgroundFullHeightSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "background-full-height-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-full-height-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagBackgroundFullHeightSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagBackgroundFullHeightSet val = B.Properties.constructObjectPropertyBool "background-full-height-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagBackgroundFullHeightSetPropertyInfo
+instance AttrInfo TextTagBackgroundFullHeightSetPropertyInfo where
+    type AttrAllowedOps TextTagBackgroundFullHeightSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagBackgroundFullHeightSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagBackgroundFullHeightSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagBackgroundFullHeightSetPropertyInfo = Bool
+    type AttrLabel TextTagBackgroundFullHeightSetPropertyInfo = "background-full-height-set"
+    type AttrOrigin TextTagBackgroundFullHeightSetPropertyInfo = TextTag
+    attrGet _ = getTextTagBackgroundFullHeightSet
+    attrSet _ = setTextTagBackgroundFullHeightSet
+    attrConstruct _ = constructTextTagBackgroundFullHeightSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "background-gdk"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Color"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #backgroundGdk
+@
+-}
+getTextTagBackgroundGdk :: (MonadIO m, IsTextTag o) => o -> m (Maybe Gdk.Color.Color)
+getTextTagBackgroundGdk obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "background-gdk" Gdk.Color.Color
+
+{- |
+Set the value of the “@background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #backgroundGdk 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagBackgroundGdk :: (MonadIO m, IsTextTag o) => o -> Gdk.Color.Color -> m ()
+setTextTagBackgroundGdk obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-gdk" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-gdk@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagBackgroundGdk :: (IsTextTag o) => Gdk.Color.Color -> IO (GValueConstruct o)
+constructTextTagBackgroundGdk val = B.Properties.constructObjectPropertyBoxed "background-gdk" (Just val)
+
+{- |
+Set the value of the “@background-gdk@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #backgroundGdk
+@
+-}
+clearTextTagBackgroundGdk :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagBackgroundGdk obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-gdk" (Nothing :: Maybe Gdk.Color.Color)
+
+#if ENABLE_OVERLOADING
+data TextTagBackgroundGdkPropertyInfo
+instance AttrInfo TextTagBackgroundGdkPropertyInfo where
+    type AttrAllowedOps TextTagBackgroundGdkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagBackgroundGdkPropertyInfo = (~) Gdk.Color.Color
+    type AttrBaseTypeConstraint TextTagBackgroundGdkPropertyInfo = IsTextTag
+    type AttrGetType TextTagBackgroundGdkPropertyInfo = (Maybe Gdk.Color.Color)
+    type AttrLabel TextTagBackgroundGdkPropertyInfo = "background-gdk"
+    type AttrOrigin TextTagBackgroundGdkPropertyInfo = TextTag
+    attrGet _ = getTextTagBackgroundGdk
+    attrSet _ = setTextTagBackgroundGdk
+    attrConstruct _ = constructTextTagBackgroundGdk
+    attrClear _ = clearTextTagBackgroundGdk
+#endif
+
+-- VVV Prop "background-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #backgroundRgba
+@
+-}
+getTextTagBackgroundRgba :: (MonadIO m, IsTextTag o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getTextTagBackgroundRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "background-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #backgroundRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagBackgroundRgba :: (MonadIO m, IsTextTag o) => o -> Gdk.RGBA.RGBA -> m ()
+setTextTagBackgroundRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagBackgroundRgba :: (IsTextTag o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructTextTagBackgroundRgba val = B.Properties.constructObjectPropertyBoxed "background-rgba" (Just val)
+
+{- |
+Set the value of the “@background-rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #backgroundRgba
+@
+-}
+clearTextTagBackgroundRgba :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagBackgroundRgba obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "background-rgba" (Nothing :: Maybe Gdk.RGBA.RGBA)
+
+#if ENABLE_OVERLOADING
+data TextTagBackgroundRgbaPropertyInfo
+instance AttrInfo TextTagBackgroundRgbaPropertyInfo where
+    type AttrAllowedOps TextTagBackgroundRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagBackgroundRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint TextTagBackgroundRgbaPropertyInfo = IsTextTag
+    type AttrGetType TextTagBackgroundRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel TextTagBackgroundRgbaPropertyInfo = "background-rgba"
+    type AttrOrigin TextTagBackgroundRgbaPropertyInfo = TextTag
+    attrGet _ = getTextTagBackgroundRgba
+    attrSet _ = setTextTagBackgroundRgba
+    attrConstruct _ = constructTextTagBackgroundRgba
+    attrClear _ = clearTextTagBackgroundRgba
+#endif
+
+-- VVV Prop "background-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #backgroundSet
+@
+-}
+getTextTagBackgroundSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagBackgroundSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "background-set"
+
+{- |
+Set the value of the “@background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #backgroundSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagBackgroundSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagBackgroundSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "background-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@background-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagBackgroundSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagBackgroundSet val = B.Properties.constructObjectPropertyBool "background-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagBackgroundSetPropertyInfo
+instance AttrInfo TextTagBackgroundSetPropertyInfo where
+    type AttrAllowedOps TextTagBackgroundSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagBackgroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagBackgroundSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagBackgroundSetPropertyInfo = Bool
+    type AttrLabel TextTagBackgroundSetPropertyInfo = "background-set"
+    type AttrOrigin TextTagBackgroundSetPropertyInfo = TextTag
+    attrGet _ = getTextTagBackgroundSet
+    attrSet _ = setTextTagBackgroundSet
+    attrConstruct _ = constructTextTagBackgroundSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "direction"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #direction
+@
+-}
+getTextTagDirection :: (MonadIO m, IsTextTag o) => o -> m Gtk.Enums.TextDirection
+getTextTagDirection obj = liftIO $ B.Properties.getObjectPropertyEnum obj "direction"
+
+{- |
+Set the value of the “@direction@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #direction 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagDirection :: (MonadIO m, IsTextTag o) => o -> Gtk.Enums.TextDirection -> m ()
+setTextTagDirection obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "direction" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@direction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagDirection :: (IsTextTag o) => Gtk.Enums.TextDirection -> IO (GValueConstruct o)
+constructTextTagDirection val = B.Properties.constructObjectPropertyEnum "direction" val
+
+#if ENABLE_OVERLOADING
+data TextTagDirectionPropertyInfo
+instance AttrInfo TextTagDirectionPropertyInfo where
+    type AttrAllowedOps TextTagDirectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagDirectionPropertyInfo = (~) Gtk.Enums.TextDirection
+    type AttrBaseTypeConstraint TextTagDirectionPropertyInfo = IsTextTag
+    type AttrGetType TextTagDirectionPropertyInfo = Gtk.Enums.TextDirection
+    type AttrLabel TextTagDirectionPropertyInfo = "direction"
+    type AttrOrigin TextTagDirectionPropertyInfo = TextTag
+    attrGet _ = getTextTagDirection
+    attrSet _ = setTextTagDirection
+    attrConstruct _ = constructTextTagDirection
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "editable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@editable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #editable
+@
+-}
+getTextTagEditable :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagEditable obj = liftIO $ B.Properties.getObjectPropertyBool obj "editable"
+
+{- |
+Set the value of the “@editable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #editable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagEditable :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagEditable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "editable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@editable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagEditable :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagEditable val = B.Properties.constructObjectPropertyBool "editable" val
+
+#if ENABLE_OVERLOADING
+data TextTagEditablePropertyInfo
+instance AttrInfo TextTagEditablePropertyInfo where
+    type AttrAllowedOps TextTagEditablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagEditablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagEditablePropertyInfo = IsTextTag
+    type AttrGetType TextTagEditablePropertyInfo = Bool
+    type AttrLabel TextTagEditablePropertyInfo = "editable"
+    type AttrOrigin TextTagEditablePropertyInfo = TextTag
+    attrGet _ = getTextTagEditable
+    attrSet _ = setTextTagEditable
+    attrConstruct _ = constructTextTagEditable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "editable-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@editable-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #editableSet
+@
+-}
+getTextTagEditableSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagEditableSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "editable-set"
+
+{- |
+Set the value of the “@editable-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #editableSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagEditableSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagEditableSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "editable-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@editable-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagEditableSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagEditableSet val = B.Properties.constructObjectPropertyBool "editable-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagEditableSetPropertyInfo
+instance AttrInfo TextTagEditableSetPropertyInfo where
+    type AttrAllowedOps TextTagEditableSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagEditableSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagEditableSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagEditableSetPropertyInfo = Bool
+    type AttrLabel TextTagEditableSetPropertyInfo = "editable-set"
+    type AttrOrigin TextTagEditableSetPropertyInfo = TextTag
+    attrGet _ = getTextTagEditableSet
+    attrSet _ = setTextTagEditableSet
+    attrConstruct _ = constructTextTagEditableSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "fallback"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@fallback@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #fallback
+@
+-}
+getTextTagFallback :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagFallback obj = liftIO $ B.Properties.getObjectPropertyBool obj "fallback"
+
+{- |
+Set the value of the “@fallback@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #fallback 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagFallback :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagFallback obj val = liftIO $ B.Properties.setObjectPropertyBool obj "fallback" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@fallback@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagFallback :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagFallback val = B.Properties.constructObjectPropertyBool "fallback" val
+
+#if ENABLE_OVERLOADING
+data TextTagFallbackPropertyInfo
+instance AttrInfo TextTagFallbackPropertyInfo where
+    type AttrAllowedOps TextTagFallbackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagFallbackPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagFallbackPropertyInfo = IsTextTag
+    type AttrGetType TextTagFallbackPropertyInfo = Bool
+    type AttrLabel TextTagFallbackPropertyInfo = "fallback"
+    type AttrOrigin TextTagFallbackPropertyInfo = TextTag
+    attrGet _ = getTextTagFallback
+    attrSet _ = setTextTagFallback
+    attrConstruct _ = constructTextTagFallback
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "fallback-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@fallback-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #fallbackSet
+@
+-}
+getTextTagFallbackSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagFallbackSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "fallback-set"
+
+{- |
+Set the value of the “@fallback-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #fallbackSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagFallbackSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagFallbackSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "fallback-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@fallback-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagFallbackSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagFallbackSet val = B.Properties.constructObjectPropertyBool "fallback-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagFallbackSetPropertyInfo
+instance AttrInfo TextTagFallbackSetPropertyInfo where
+    type AttrAllowedOps TextTagFallbackSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagFallbackSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagFallbackSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagFallbackSetPropertyInfo = Bool
+    type AttrLabel TextTagFallbackSetPropertyInfo = "fallback-set"
+    type AttrOrigin TextTagFallbackSetPropertyInfo = TextTag
+    attrGet _ = getTextTagFallbackSet
+    attrSet _ = setTextTagFallbackSet
+    attrConstruct _ = constructTextTagFallbackSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "family"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@family@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #family
+@
+-}
+getTextTagFamily :: (MonadIO m, IsTextTag o) => o -> m (Maybe T.Text)
+getTextTagFamily obj = liftIO $ B.Properties.getObjectPropertyString obj "family"
+
+{- |
+Set the value of the “@family@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #family 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagFamily :: (MonadIO m, IsTextTag o) => o -> T.Text -> m ()
+setTextTagFamily obj val = liftIO $ B.Properties.setObjectPropertyString obj "family" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@family@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagFamily :: (IsTextTag o) => T.Text -> IO (GValueConstruct o)
+constructTextTagFamily val = B.Properties.constructObjectPropertyString "family" (Just val)
+
+{- |
+Set the value of the “@family@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #family
+@
+-}
+clearTextTagFamily :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagFamily obj = liftIO $ B.Properties.setObjectPropertyString obj "family" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data TextTagFamilyPropertyInfo
+instance AttrInfo TextTagFamilyPropertyInfo where
+    type AttrAllowedOps TextTagFamilyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagFamilyPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextTagFamilyPropertyInfo = IsTextTag
+    type AttrGetType TextTagFamilyPropertyInfo = (Maybe T.Text)
+    type AttrLabel TextTagFamilyPropertyInfo = "family"
+    type AttrOrigin TextTagFamilyPropertyInfo = TextTag
+    attrGet _ = getTextTagFamily
+    attrSet _ = setTextTagFamily
+    attrConstruct _ = constructTextTagFamily
+    attrClear _ = clearTextTagFamily
+#endif
+
+-- VVV Prop "family-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@family-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #familySet
+@
+-}
+getTextTagFamilySet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagFamilySet obj = liftIO $ B.Properties.getObjectPropertyBool obj "family-set"
+
+{- |
+Set the value of the “@family-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #familySet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagFamilySet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagFamilySet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "family-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@family-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagFamilySet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagFamilySet val = B.Properties.constructObjectPropertyBool "family-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagFamilySetPropertyInfo
+instance AttrInfo TextTagFamilySetPropertyInfo where
+    type AttrAllowedOps TextTagFamilySetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagFamilySetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagFamilySetPropertyInfo = IsTextTag
+    type AttrGetType TextTagFamilySetPropertyInfo = Bool
+    type AttrLabel TextTagFamilySetPropertyInfo = "family-set"
+    type AttrOrigin TextTagFamilySetPropertyInfo = TextTag
+    attrGet _ = getTextTagFamilySet
+    attrSet _ = setTextTagFamilySet
+    attrConstruct _ = constructTextTagFamilySet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "font"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@font@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #font
+@
+-}
+getTextTagFont :: (MonadIO m, IsTextTag o) => o -> m (Maybe T.Text)
+getTextTagFont obj = liftIO $ B.Properties.getObjectPropertyString obj "font"
+
+{- |
+Set the value of the “@font@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #font 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagFont :: (MonadIO m, IsTextTag o) => o -> T.Text -> m ()
+setTextTagFont obj val = liftIO $ B.Properties.setObjectPropertyString obj "font" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagFont :: (IsTextTag o) => T.Text -> IO (GValueConstruct o)
+constructTextTagFont val = B.Properties.constructObjectPropertyString "font" (Just val)
+
+{- |
+Set the value of the “@font@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #font
+@
+-}
+clearTextTagFont :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagFont obj = liftIO $ B.Properties.setObjectPropertyString obj "font" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data TextTagFontPropertyInfo
+instance AttrInfo TextTagFontPropertyInfo where
+    type AttrAllowedOps TextTagFontPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagFontPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextTagFontPropertyInfo = IsTextTag
+    type AttrGetType TextTagFontPropertyInfo = (Maybe T.Text)
+    type AttrLabel TextTagFontPropertyInfo = "font"
+    type AttrOrigin TextTagFontPropertyInfo = TextTag
+    attrGet _ = getTextTagFont
+    attrSet _ = setTextTagFont
+    attrConstruct _ = constructTextTagFont
+    attrClear _ = clearTextTagFont
+#endif
+
+-- VVV Prop "font-desc"
+   -- Type: TInterface (Name {namespace = "Pango", name = "FontDescription"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@font-desc@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #fontDesc
+@
+-}
+getTextTagFontDesc :: (MonadIO m, IsTextTag o) => o -> m (Maybe Pango.FontDescription.FontDescription)
+getTextTagFontDesc obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "font-desc" Pango.FontDescription.FontDescription
+
+{- |
+Set the value of the “@font-desc@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #fontDesc 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagFontDesc :: (MonadIO m, IsTextTag o) => o -> Pango.FontDescription.FontDescription -> m ()
+setTextTagFontDesc obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "font-desc" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font-desc@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagFontDesc :: (IsTextTag o) => Pango.FontDescription.FontDescription -> IO (GValueConstruct o)
+constructTextTagFontDesc val = B.Properties.constructObjectPropertyBoxed "font-desc" (Just val)
+
+{- |
+Set the value of the “@font-desc@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #fontDesc
+@
+-}
+clearTextTagFontDesc :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagFontDesc obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "font-desc" (Nothing :: Maybe Pango.FontDescription.FontDescription)
+
+#if ENABLE_OVERLOADING
+data TextTagFontDescPropertyInfo
+instance AttrInfo TextTagFontDescPropertyInfo where
+    type AttrAllowedOps TextTagFontDescPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagFontDescPropertyInfo = (~) Pango.FontDescription.FontDescription
+    type AttrBaseTypeConstraint TextTagFontDescPropertyInfo = IsTextTag
+    type AttrGetType TextTagFontDescPropertyInfo = (Maybe Pango.FontDescription.FontDescription)
+    type AttrLabel TextTagFontDescPropertyInfo = "font-desc"
+    type AttrOrigin TextTagFontDescPropertyInfo = TextTag
+    attrGet _ = getTextTagFontDesc
+    attrSet _ = setTextTagFontDesc
+    attrConstruct _ = constructTextTagFontDesc
+    attrClear _ = clearTextTagFontDesc
+#endif
+
+-- VVV Prop "font-features"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@font-features@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #fontFeatures
+@
+-}
+getTextTagFontFeatures :: (MonadIO m, IsTextTag o) => o -> m (Maybe T.Text)
+getTextTagFontFeatures obj = liftIO $ B.Properties.getObjectPropertyString obj "font-features"
+
+{- |
+Set the value of the “@font-features@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #fontFeatures 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagFontFeatures :: (MonadIO m, IsTextTag o) => o -> T.Text -> m ()
+setTextTagFontFeatures obj val = liftIO $ B.Properties.setObjectPropertyString obj "font-features" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font-features@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagFontFeatures :: (IsTextTag o) => T.Text -> IO (GValueConstruct o)
+constructTextTagFontFeatures val = B.Properties.constructObjectPropertyString "font-features" (Just val)
+
+{- |
+Set the value of the “@font-features@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #fontFeatures
+@
+-}
+clearTextTagFontFeatures :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagFontFeatures obj = liftIO $ B.Properties.setObjectPropertyString obj "font-features" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data TextTagFontFeaturesPropertyInfo
+instance AttrInfo TextTagFontFeaturesPropertyInfo where
+    type AttrAllowedOps TextTagFontFeaturesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagFontFeaturesPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextTagFontFeaturesPropertyInfo = IsTextTag
+    type AttrGetType TextTagFontFeaturesPropertyInfo = (Maybe T.Text)
+    type AttrLabel TextTagFontFeaturesPropertyInfo = "font-features"
+    type AttrOrigin TextTagFontFeaturesPropertyInfo = TextTag
+    attrGet _ = getTextTagFontFeatures
+    attrSet _ = setTextTagFontFeatures
+    attrConstruct _ = constructTextTagFontFeatures
+    attrClear _ = clearTextTagFontFeatures
+#endif
+
+-- VVV Prop "font-features-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@font-features-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #fontFeaturesSet
+@
+-}
+getTextTagFontFeaturesSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagFontFeaturesSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "font-features-set"
+
+{- |
+Set the value of the “@font-features-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #fontFeaturesSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagFontFeaturesSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagFontFeaturesSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "font-features-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@font-features-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagFontFeaturesSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagFontFeaturesSet val = B.Properties.constructObjectPropertyBool "font-features-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagFontFeaturesSetPropertyInfo
+instance AttrInfo TextTagFontFeaturesSetPropertyInfo where
+    type AttrAllowedOps TextTagFontFeaturesSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagFontFeaturesSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagFontFeaturesSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagFontFeaturesSetPropertyInfo = Bool
+    type AttrLabel TextTagFontFeaturesSetPropertyInfo = "font-features-set"
+    type AttrOrigin TextTagFontFeaturesSetPropertyInfo = TextTag
+    attrGet _ = getTextTagFontFeaturesSet
+    attrSet _ = setTextTagFontFeaturesSet
+    attrConstruct _ = constructTextTagFontFeaturesSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "foreground"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@foreground@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #foreground 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagForeground :: (MonadIO m, IsTextTag o) => o -> T.Text -> m ()
+setTextTagForeground obj val = liftIO $ B.Properties.setObjectPropertyString obj "foreground" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@foreground@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagForeground :: (IsTextTag o) => T.Text -> IO (GValueConstruct o)
+constructTextTagForeground val = B.Properties.constructObjectPropertyString "foreground" (Just val)
+
+{- |
+Set the value of the “@foreground@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #foreground
+@
+-}
+clearTextTagForeground :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagForeground obj = liftIO $ B.Properties.setObjectPropertyString obj "foreground" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data TextTagForegroundPropertyInfo
+instance AttrInfo TextTagForegroundPropertyInfo where
+    type AttrAllowedOps TextTagForegroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint TextTagForegroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextTagForegroundPropertyInfo = IsTextTag
+    type AttrGetType TextTagForegroundPropertyInfo = ()
+    type AttrLabel TextTagForegroundPropertyInfo = "foreground"
+    type AttrOrigin TextTagForegroundPropertyInfo = TextTag
+    attrGet _ = undefined
+    attrSet _ = setTextTagForeground
+    attrConstruct _ = constructTextTagForeground
+    attrClear _ = clearTextTagForeground
+#endif
+
+-- VVV Prop "foreground-gdk"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Color"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@foreground-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #foregroundGdk
+@
+-}
+getTextTagForegroundGdk :: (MonadIO m, IsTextTag o) => o -> m (Maybe Gdk.Color.Color)
+getTextTagForegroundGdk obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "foreground-gdk" Gdk.Color.Color
+
+{- |
+Set the value of the “@foreground-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #foregroundGdk 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagForegroundGdk :: (MonadIO m, IsTextTag o) => o -> Gdk.Color.Color -> m ()
+setTextTagForegroundGdk obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "foreground-gdk" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@foreground-gdk@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagForegroundGdk :: (IsTextTag o) => Gdk.Color.Color -> IO (GValueConstruct o)
+constructTextTagForegroundGdk val = B.Properties.constructObjectPropertyBoxed "foreground-gdk" (Just val)
+
+{- |
+Set the value of the “@foreground-gdk@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #foregroundGdk
+@
+-}
+clearTextTagForegroundGdk :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagForegroundGdk obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "foreground-gdk" (Nothing :: Maybe Gdk.Color.Color)
+
+#if ENABLE_OVERLOADING
+data TextTagForegroundGdkPropertyInfo
+instance AttrInfo TextTagForegroundGdkPropertyInfo where
+    type AttrAllowedOps TextTagForegroundGdkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagForegroundGdkPropertyInfo = (~) Gdk.Color.Color
+    type AttrBaseTypeConstraint TextTagForegroundGdkPropertyInfo = IsTextTag
+    type AttrGetType TextTagForegroundGdkPropertyInfo = (Maybe Gdk.Color.Color)
+    type AttrLabel TextTagForegroundGdkPropertyInfo = "foreground-gdk"
+    type AttrOrigin TextTagForegroundGdkPropertyInfo = TextTag
+    attrGet _ = getTextTagForegroundGdk
+    attrSet _ = setTextTagForegroundGdk
+    attrConstruct _ = constructTextTagForegroundGdk
+    attrClear _ = clearTextTagForegroundGdk
+#endif
+
+-- VVV Prop "foreground-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@foreground-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #foregroundRgba
+@
+-}
+getTextTagForegroundRgba :: (MonadIO m, IsTextTag o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getTextTagForegroundRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "foreground-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@foreground-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #foregroundRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagForegroundRgba :: (MonadIO m, IsTextTag o) => o -> Gdk.RGBA.RGBA -> m ()
+setTextTagForegroundRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "foreground-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@foreground-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagForegroundRgba :: (IsTextTag o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructTextTagForegroundRgba val = B.Properties.constructObjectPropertyBoxed "foreground-rgba" (Just val)
+
+{- |
+Set the value of the “@foreground-rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #foregroundRgba
+@
+-}
+clearTextTagForegroundRgba :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagForegroundRgba obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "foreground-rgba" (Nothing :: Maybe Gdk.RGBA.RGBA)
+
+#if ENABLE_OVERLOADING
+data TextTagForegroundRgbaPropertyInfo
+instance AttrInfo TextTagForegroundRgbaPropertyInfo where
+    type AttrAllowedOps TextTagForegroundRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagForegroundRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint TextTagForegroundRgbaPropertyInfo = IsTextTag
+    type AttrGetType TextTagForegroundRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel TextTagForegroundRgbaPropertyInfo = "foreground-rgba"
+    type AttrOrigin TextTagForegroundRgbaPropertyInfo = TextTag
+    attrGet _ = getTextTagForegroundRgba
+    attrSet _ = setTextTagForegroundRgba
+    attrConstruct _ = constructTextTagForegroundRgba
+    attrClear _ = clearTextTagForegroundRgba
+#endif
+
+-- VVV Prop "foreground-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@foreground-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #foregroundSet
+@
+-}
+getTextTagForegroundSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagForegroundSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "foreground-set"
+
+{- |
+Set the value of the “@foreground-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #foregroundSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagForegroundSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagForegroundSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "foreground-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@foreground-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagForegroundSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagForegroundSet val = B.Properties.constructObjectPropertyBool "foreground-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagForegroundSetPropertyInfo
+instance AttrInfo TextTagForegroundSetPropertyInfo where
+    type AttrAllowedOps TextTagForegroundSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagForegroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagForegroundSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagForegroundSetPropertyInfo = Bool
+    type AttrLabel TextTagForegroundSetPropertyInfo = "foreground-set"
+    type AttrOrigin TextTagForegroundSetPropertyInfo = TextTag
+    attrGet _ = getTextTagForegroundSet
+    attrSet _ = setTextTagForegroundSet
+    attrConstruct _ = constructTextTagForegroundSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "indent"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@indent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #indent
+@
+-}
+getTextTagIndent :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagIndent obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "indent"
+
+{- |
+Set the value of the “@indent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #indent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagIndent :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagIndent obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "indent" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@indent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagIndent :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagIndent val = B.Properties.constructObjectPropertyInt32 "indent" val
+
+#if ENABLE_OVERLOADING
+data TextTagIndentPropertyInfo
+instance AttrInfo TextTagIndentPropertyInfo where
+    type AttrAllowedOps TextTagIndentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagIndentPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagIndentPropertyInfo = IsTextTag
+    type AttrGetType TextTagIndentPropertyInfo = Int32
+    type AttrLabel TextTagIndentPropertyInfo = "indent"
+    type AttrOrigin TextTagIndentPropertyInfo = TextTag
+    attrGet _ = getTextTagIndent
+    attrSet _ = setTextTagIndent
+    attrConstruct _ = constructTextTagIndent
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "indent-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@indent-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #indentSet
+@
+-}
+getTextTagIndentSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagIndentSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "indent-set"
+
+{- |
+Set the value of the “@indent-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #indentSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagIndentSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagIndentSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "indent-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@indent-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagIndentSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagIndentSet val = B.Properties.constructObjectPropertyBool "indent-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagIndentSetPropertyInfo
+instance AttrInfo TextTagIndentSetPropertyInfo where
+    type AttrAllowedOps TextTagIndentSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagIndentSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagIndentSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagIndentSetPropertyInfo = Bool
+    type AttrLabel TextTagIndentSetPropertyInfo = "indent-set"
+    type AttrOrigin TextTagIndentSetPropertyInfo = TextTag
+    attrGet _ = getTextTagIndentSet
+    attrSet _ = setTextTagIndentSet
+    attrConstruct _ = constructTextTagIndentSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "invisible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@invisible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #invisible
+@
+-}
+getTextTagInvisible :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagInvisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "invisible"
+
+{- |
+Set the value of the “@invisible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #invisible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagInvisible :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagInvisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "invisible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@invisible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagInvisible :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagInvisible val = B.Properties.constructObjectPropertyBool "invisible" val
+
+#if ENABLE_OVERLOADING
+data TextTagInvisiblePropertyInfo
+instance AttrInfo TextTagInvisiblePropertyInfo where
+    type AttrAllowedOps TextTagInvisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagInvisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagInvisiblePropertyInfo = IsTextTag
+    type AttrGetType TextTagInvisiblePropertyInfo = Bool
+    type AttrLabel TextTagInvisiblePropertyInfo = "invisible"
+    type AttrOrigin TextTagInvisiblePropertyInfo = TextTag
+    attrGet _ = getTextTagInvisible
+    attrSet _ = setTextTagInvisible
+    attrConstruct _ = constructTextTagInvisible
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "invisible-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@invisible-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #invisibleSet
+@
+-}
+getTextTagInvisibleSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagInvisibleSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "invisible-set"
+
+{- |
+Set the value of the “@invisible-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #invisibleSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagInvisibleSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagInvisibleSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "invisible-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@invisible-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagInvisibleSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagInvisibleSet val = B.Properties.constructObjectPropertyBool "invisible-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagInvisibleSetPropertyInfo
+instance AttrInfo TextTagInvisibleSetPropertyInfo where
+    type AttrAllowedOps TextTagInvisibleSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagInvisibleSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagInvisibleSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagInvisibleSetPropertyInfo = Bool
+    type AttrLabel TextTagInvisibleSetPropertyInfo = "invisible-set"
+    type AttrOrigin TextTagInvisibleSetPropertyInfo = TextTag
+    attrGet _ = getTextTagInvisibleSet
+    attrSet _ = setTextTagInvisibleSet
+    attrConstruct _ = constructTextTagInvisibleSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "justification"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Justification"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@justification@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #justification
+@
+-}
+getTextTagJustification :: (MonadIO m, IsTextTag o) => o -> m Gtk.Enums.Justification
+getTextTagJustification obj = liftIO $ B.Properties.getObjectPropertyEnum obj "justification"
+
+{- |
+Set the value of the “@justification@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #justification 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagJustification :: (MonadIO m, IsTextTag o) => o -> Gtk.Enums.Justification -> m ()
+setTextTagJustification obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "justification" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@justification@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagJustification :: (IsTextTag o) => Gtk.Enums.Justification -> IO (GValueConstruct o)
+constructTextTagJustification val = B.Properties.constructObjectPropertyEnum "justification" val
+
+#if ENABLE_OVERLOADING
+data TextTagJustificationPropertyInfo
+instance AttrInfo TextTagJustificationPropertyInfo where
+    type AttrAllowedOps TextTagJustificationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagJustificationPropertyInfo = (~) Gtk.Enums.Justification
+    type AttrBaseTypeConstraint TextTagJustificationPropertyInfo = IsTextTag
+    type AttrGetType TextTagJustificationPropertyInfo = Gtk.Enums.Justification
+    type AttrLabel TextTagJustificationPropertyInfo = "justification"
+    type AttrOrigin TextTagJustificationPropertyInfo = TextTag
+    attrGet _ = getTextTagJustification
+    attrSet _ = setTextTagJustification
+    attrConstruct _ = constructTextTagJustification
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "justification-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@justification-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #justificationSet
+@
+-}
+getTextTagJustificationSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagJustificationSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "justification-set"
+
+{- |
+Set the value of the “@justification-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #justificationSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagJustificationSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagJustificationSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "justification-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@justification-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagJustificationSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagJustificationSet val = B.Properties.constructObjectPropertyBool "justification-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagJustificationSetPropertyInfo
+instance AttrInfo TextTagJustificationSetPropertyInfo where
+    type AttrAllowedOps TextTagJustificationSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagJustificationSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagJustificationSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagJustificationSetPropertyInfo = Bool
+    type AttrLabel TextTagJustificationSetPropertyInfo = "justification-set"
+    type AttrOrigin TextTagJustificationSetPropertyInfo = TextTag
+    attrGet _ = getTextTagJustificationSet
+    attrSet _ = setTextTagJustificationSet
+    attrConstruct _ = constructTextTagJustificationSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "language"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@language@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #language
+@
+-}
+getTextTagLanguage :: (MonadIO m, IsTextTag o) => o -> m (Maybe T.Text)
+getTextTagLanguage obj = liftIO $ B.Properties.getObjectPropertyString obj "language"
+
+{- |
+Set the value of the “@language@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #language 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagLanguage :: (MonadIO m, IsTextTag o) => o -> T.Text -> m ()
+setTextTagLanguage obj val = liftIO $ B.Properties.setObjectPropertyString obj "language" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@language@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagLanguage :: (IsTextTag o) => T.Text -> IO (GValueConstruct o)
+constructTextTagLanguage val = B.Properties.constructObjectPropertyString "language" (Just val)
+
+{- |
+Set the value of the “@language@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #language
+@
+-}
+clearTextTagLanguage :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagLanguage obj = liftIO $ B.Properties.setObjectPropertyString obj "language" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data TextTagLanguagePropertyInfo
+instance AttrInfo TextTagLanguagePropertyInfo where
+    type AttrAllowedOps TextTagLanguagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagLanguagePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextTagLanguagePropertyInfo = IsTextTag
+    type AttrGetType TextTagLanguagePropertyInfo = (Maybe T.Text)
+    type AttrLabel TextTagLanguagePropertyInfo = "language"
+    type AttrOrigin TextTagLanguagePropertyInfo = TextTag
+    attrGet _ = getTextTagLanguage
+    attrSet _ = setTextTagLanguage
+    attrConstruct _ = constructTextTagLanguage
+    attrClear _ = clearTextTagLanguage
+#endif
+
+-- VVV Prop "language-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@language-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #languageSet
+@
+-}
+getTextTagLanguageSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagLanguageSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "language-set"
+
+{- |
+Set the value of the “@language-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #languageSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagLanguageSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagLanguageSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "language-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@language-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagLanguageSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagLanguageSet val = B.Properties.constructObjectPropertyBool "language-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagLanguageSetPropertyInfo
+instance AttrInfo TextTagLanguageSetPropertyInfo where
+    type AttrAllowedOps TextTagLanguageSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagLanguageSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagLanguageSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagLanguageSetPropertyInfo = Bool
+    type AttrLabel TextTagLanguageSetPropertyInfo = "language-set"
+    type AttrOrigin TextTagLanguageSetPropertyInfo = TextTag
+    attrGet _ = getTextTagLanguageSet
+    attrSet _ = setTextTagLanguageSet
+    attrConstruct _ = constructTextTagLanguageSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "left-margin"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@left-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #leftMargin
+@
+-}
+getTextTagLeftMargin :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagLeftMargin obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "left-margin"
+
+{- |
+Set the value of the “@left-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #leftMargin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagLeftMargin :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagLeftMargin obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "left-margin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@left-margin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagLeftMargin :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagLeftMargin val = B.Properties.constructObjectPropertyInt32 "left-margin" val
+
+#if ENABLE_OVERLOADING
+data TextTagLeftMarginPropertyInfo
+instance AttrInfo TextTagLeftMarginPropertyInfo where
+    type AttrAllowedOps TextTagLeftMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagLeftMarginPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagLeftMarginPropertyInfo = IsTextTag
+    type AttrGetType TextTagLeftMarginPropertyInfo = Int32
+    type AttrLabel TextTagLeftMarginPropertyInfo = "left-margin"
+    type AttrOrigin TextTagLeftMarginPropertyInfo = TextTag
+    attrGet _ = getTextTagLeftMargin
+    attrSet _ = setTextTagLeftMargin
+    attrConstruct _ = constructTextTagLeftMargin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "left-margin-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@left-margin-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #leftMarginSet
+@
+-}
+getTextTagLeftMarginSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagLeftMarginSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "left-margin-set"
+
+{- |
+Set the value of the “@left-margin-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #leftMarginSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagLeftMarginSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagLeftMarginSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "left-margin-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@left-margin-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagLeftMarginSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagLeftMarginSet val = B.Properties.constructObjectPropertyBool "left-margin-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagLeftMarginSetPropertyInfo
+instance AttrInfo TextTagLeftMarginSetPropertyInfo where
+    type AttrAllowedOps TextTagLeftMarginSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagLeftMarginSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagLeftMarginSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagLeftMarginSetPropertyInfo = Bool
+    type AttrLabel TextTagLeftMarginSetPropertyInfo = "left-margin-set"
+    type AttrOrigin TextTagLeftMarginSetPropertyInfo = TextTag
+    attrGet _ = getTextTagLeftMarginSet
+    attrSet _ = setTextTagLeftMarginSet
+    attrConstruct _ = constructTextTagLeftMarginSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "letter-spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@letter-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #letterSpacing
+@
+-}
+getTextTagLetterSpacing :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagLetterSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "letter-spacing"
+
+{- |
+Set the value of the “@letter-spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #letterSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagLetterSpacing :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagLetterSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "letter-spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@letter-spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagLetterSpacing :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagLetterSpacing val = B.Properties.constructObjectPropertyInt32 "letter-spacing" val
+
+#if ENABLE_OVERLOADING
+data TextTagLetterSpacingPropertyInfo
+instance AttrInfo TextTagLetterSpacingPropertyInfo where
+    type AttrAllowedOps TextTagLetterSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagLetterSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagLetterSpacingPropertyInfo = IsTextTag
+    type AttrGetType TextTagLetterSpacingPropertyInfo = Int32
+    type AttrLabel TextTagLetterSpacingPropertyInfo = "letter-spacing"
+    type AttrOrigin TextTagLetterSpacingPropertyInfo = TextTag
+    attrGet _ = getTextTagLetterSpacing
+    attrSet _ = setTextTagLetterSpacing
+    attrConstruct _ = constructTextTagLetterSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "letter-spacing-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@letter-spacing-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #letterSpacingSet
+@
+-}
+getTextTagLetterSpacingSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagLetterSpacingSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "letter-spacing-set"
+
+{- |
+Set the value of the “@letter-spacing-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #letterSpacingSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagLetterSpacingSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagLetterSpacingSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "letter-spacing-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@letter-spacing-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagLetterSpacingSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagLetterSpacingSet val = B.Properties.constructObjectPropertyBool "letter-spacing-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagLetterSpacingSetPropertyInfo
+instance AttrInfo TextTagLetterSpacingSetPropertyInfo where
+    type AttrAllowedOps TextTagLetterSpacingSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagLetterSpacingSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagLetterSpacingSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagLetterSpacingSetPropertyInfo = Bool
+    type AttrLabel TextTagLetterSpacingSetPropertyInfo = "letter-spacing-set"
+    type AttrOrigin TextTagLetterSpacingSetPropertyInfo = TextTag
+    attrGet _ = getTextTagLetterSpacingSet
+    attrSet _ = setTextTagLetterSpacingSet
+    attrConstruct _ = constructTextTagLetterSpacingSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #name
+@
+-}
+getTextTagName :: (MonadIO m, IsTextTag o) => o -> m (Maybe T.Text)
+getTextTagName obj = liftIO $ B.Properties.getObjectPropertyString obj "name"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagName :: (IsTextTag o) => T.Text -> IO (GValueConstruct o)
+constructTextTagName val = B.Properties.constructObjectPropertyString "name" (Just val)
+
+#if ENABLE_OVERLOADING
+data TextTagNamePropertyInfo
+instance AttrInfo TextTagNamePropertyInfo where
+    type AttrAllowedOps TextTagNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextTagNamePropertyInfo = IsTextTag
+    type AttrGetType TextTagNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel TextTagNamePropertyInfo = "name"
+    type AttrOrigin TextTagNamePropertyInfo = TextTag
+    attrGet _ = getTextTagName
+    attrSet _ = undefined
+    attrConstruct _ = constructTextTagName
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "paragraph-background"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Set the value of the “@paragraph-background@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #paragraphBackground 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagParagraphBackground :: (MonadIO m, IsTextTag o) => o -> T.Text -> m ()
+setTextTagParagraphBackground obj val = liftIO $ B.Properties.setObjectPropertyString obj "paragraph-background" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@paragraph-background@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagParagraphBackground :: (IsTextTag o) => T.Text -> IO (GValueConstruct o)
+constructTextTagParagraphBackground val = B.Properties.constructObjectPropertyString "paragraph-background" (Just val)
+
+{- |
+Set the value of the “@paragraph-background@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #paragraphBackground
+@
+-}
+clearTextTagParagraphBackground :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagParagraphBackground obj = liftIO $ B.Properties.setObjectPropertyString obj "paragraph-background" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data TextTagParagraphBackgroundPropertyInfo
+instance AttrInfo TextTagParagraphBackgroundPropertyInfo where
+    type AttrAllowedOps TextTagParagraphBackgroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrClear]
+    type AttrSetTypeConstraint TextTagParagraphBackgroundPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextTagParagraphBackgroundPropertyInfo = IsTextTag
+    type AttrGetType TextTagParagraphBackgroundPropertyInfo = ()
+    type AttrLabel TextTagParagraphBackgroundPropertyInfo = "paragraph-background"
+    type AttrOrigin TextTagParagraphBackgroundPropertyInfo = TextTag
+    attrGet _ = undefined
+    attrSet _ = setTextTagParagraphBackground
+    attrConstruct _ = constructTextTagParagraphBackground
+    attrClear _ = clearTextTagParagraphBackground
+#endif
+
+-- VVV Prop "paragraph-background-gdk"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Color"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@paragraph-background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #paragraphBackgroundGdk
+@
+-}
+getTextTagParagraphBackgroundGdk :: (MonadIO m, IsTextTag o) => o -> m (Maybe Gdk.Color.Color)
+getTextTagParagraphBackgroundGdk obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "paragraph-background-gdk" Gdk.Color.Color
+
+{- |
+Set the value of the “@paragraph-background-gdk@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #paragraphBackgroundGdk 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagParagraphBackgroundGdk :: (MonadIO m, IsTextTag o) => o -> Gdk.Color.Color -> m ()
+setTextTagParagraphBackgroundGdk obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "paragraph-background-gdk" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@paragraph-background-gdk@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagParagraphBackgroundGdk :: (IsTextTag o) => Gdk.Color.Color -> IO (GValueConstruct o)
+constructTextTagParagraphBackgroundGdk val = B.Properties.constructObjectPropertyBoxed "paragraph-background-gdk" (Just val)
+
+{- |
+Set the value of the “@paragraph-background-gdk@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #paragraphBackgroundGdk
+@
+-}
+clearTextTagParagraphBackgroundGdk :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagParagraphBackgroundGdk obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "paragraph-background-gdk" (Nothing :: Maybe Gdk.Color.Color)
+
+#if ENABLE_OVERLOADING
+data TextTagParagraphBackgroundGdkPropertyInfo
+instance AttrInfo TextTagParagraphBackgroundGdkPropertyInfo where
+    type AttrAllowedOps TextTagParagraphBackgroundGdkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagParagraphBackgroundGdkPropertyInfo = (~) Gdk.Color.Color
+    type AttrBaseTypeConstraint TextTagParagraphBackgroundGdkPropertyInfo = IsTextTag
+    type AttrGetType TextTagParagraphBackgroundGdkPropertyInfo = (Maybe Gdk.Color.Color)
+    type AttrLabel TextTagParagraphBackgroundGdkPropertyInfo = "paragraph-background-gdk"
+    type AttrOrigin TextTagParagraphBackgroundGdkPropertyInfo = TextTag
+    attrGet _ = getTextTagParagraphBackgroundGdk
+    attrSet _ = setTextTagParagraphBackgroundGdk
+    attrConstruct _ = constructTextTagParagraphBackgroundGdk
+    attrClear _ = clearTextTagParagraphBackgroundGdk
+#endif
+
+-- VVV Prop "paragraph-background-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@paragraph-background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #paragraphBackgroundRgba
+@
+-}
+getTextTagParagraphBackgroundRgba :: (MonadIO m, IsTextTag o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getTextTagParagraphBackgroundRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "paragraph-background-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@paragraph-background-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #paragraphBackgroundRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagParagraphBackgroundRgba :: (MonadIO m, IsTextTag o) => o -> Gdk.RGBA.RGBA -> m ()
+setTextTagParagraphBackgroundRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "paragraph-background-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@paragraph-background-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagParagraphBackgroundRgba :: (IsTextTag o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructTextTagParagraphBackgroundRgba val = B.Properties.constructObjectPropertyBoxed "paragraph-background-rgba" (Just val)
+
+{- |
+Set the value of the “@paragraph-background-rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #paragraphBackgroundRgba
+@
+-}
+clearTextTagParagraphBackgroundRgba :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagParagraphBackgroundRgba obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "paragraph-background-rgba" (Nothing :: Maybe Gdk.RGBA.RGBA)
+
+#if ENABLE_OVERLOADING
+data TextTagParagraphBackgroundRgbaPropertyInfo
+instance AttrInfo TextTagParagraphBackgroundRgbaPropertyInfo where
+    type AttrAllowedOps TextTagParagraphBackgroundRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagParagraphBackgroundRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint TextTagParagraphBackgroundRgbaPropertyInfo = IsTextTag
+    type AttrGetType TextTagParagraphBackgroundRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel TextTagParagraphBackgroundRgbaPropertyInfo = "paragraph-background-rgba"
+    type AttrOrigin TextTagParagraphBackgroundRgbaPropertyInfo = TextTag
+    attrGet _ = getTextTagParagraphBackgroundRgba
+    attrSet _ = setTextTagParagraphBackgroundRgba
+    attrConstruct _ = constructTextTagParagraphBackgroundRgba
+    attrClear _ = clearTextTagParagraphBackgroundRgba
+#endif
+
+-- VVV Prop "paragraph-background-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@paragraph-background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #paragraphBackgroundSet
+@
+-}
+getTextTagParagraphBackgroundSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagParagraphBackgroundSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "paragraph-background-set"
+
+{- |
+Set the value of the “@paragraph-background-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #paragraphBackgroundSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagParagraphBackgroundSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagParagraphBackgroundSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "paragraph-background-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@paragraph-background-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagParagraphBackgroundSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagParagraphBackgroundSet val = B.Properties.constructObjectPropertyBool "paragraph-background-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagParagraphBackgroundSetPropertyInfo
+instance AttrInfo TextTagParagraphBackgroundSetPropertyInfo where
+    type AttrAllowedOps TextTagParagraphBackgroundSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagParagraphBackgroundSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagParagraphBackgroundSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagParagraphBackgroundSetPropertyInfo = Bool
+    type AttrLabel TextTagParagraphBackgroundSetPropertyInfo = "paragraph-background-set"
+    type AttrOrigin TextTagParagraphBackgroundSetPropertyInfo = TextTag
+    attrGet _ = getTextTagParagraphBackgroundSet
+    attrSet _ = setTextTagParagraphBackgroundSet
+    attrConstruct _ = constructTextTagParagraphBackgroundSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixels-above-lines"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixels-above-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #pixelsAboveLines
+@
+-}
+getTextTagPixelsAboveLines :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagPixelsAboveLines obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "pixels-above-lines"
+
+{- |
+Set the value of the “@pixels-above-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #pixelsAboveLines 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagPixelsAboveLines :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagPixelsAboveLines obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "pixels-above-lines" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixels-above-lines@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagPixelsAboveLines :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagPixelsAboveLines val = B.Properties.constructObjectPropertyInt32 "pixels-above-lines" val
+
+#if ENABLE_OVERLOADING
+data TextTagPixelsAboveLinesPropertyInfo
+instance AttrInfo TextTagPixelsAboveLinesPropertyInfo where
+    type AttrAllowedOps TextTagPixelsAboveLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagPixelsAboveLinesPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagPixelsAboveLinesPropertyInfo = IsTextTag
+    type AttrGetType TextTagPixelsAboveLinesPropertyInfo = Int32
+    type AttrLabel TextTagPixelsAboveLinesPropertyInfo = "pixels-above-lines"
+    type AttrOrigin TextTagPixelsAboveLinesPropertyInfo = TextTag
+    attrGet _ = getTextTagPixelsAboveLines
+    attrSet _ = setTextTagPixelsAboveLines
+    attrConstruct _ = constructTextTagPixelsAboveLines
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixels-above-lines-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixels-above-lines-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #pixelsAboveLinesSet
+@
+-}
+getTextTagPixelsAboveLinesSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagPixelsAboveLinesSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "pixels-above-lines-set"
+
+{- |
+Set the value of the “@pixels-above-lines-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #pixelsAboveLinesSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagPixelsAboveLinesSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagPixelsAboveLinesSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "pixels-above-lines-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixels-above-lines-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagPixelsAboveLinesSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagPixelsAboveLinesSet val = B.Properties.constructObjectPropertyBool "pixels-above-lines-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagPixelsAboveLinesSetPropertyInfo
+instance AttrInfo TextTagPixelsAboveLinesSetPropertyInfo where
+    type AttrAllowedOps TextTagPixelsAboveLinesSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagPixelsAboveLinesSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagPixelsAboveLinesSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagPixelsAboveLinesSetPropertyInfo = Bool
+    type AttrLabel TextTagPixelsAboveLinesSetPropertyInfo = "pixels-above-lines-set"
+    type AttrOrigin TextTagPixelsAboveLinesSetPropertyInfo = TextTag
+    attrGet _ = getTextTagPixelsAboveLinesSet
+    attrSet _ = setTextTagPixelsAboveLinesSet
+    attrConstruct _ = constructTextTagPixelsAboveLinesSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixels-below-lines"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixels-below-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #pixelsBelowLines
+@
+-}
+getTextTagPixelsBelowLines :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagPixelsBelowLines obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "pixels-below-lines"
+
+{- |
+Set the value of the “@pixels-below-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #pixelsBelowLines 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagPixelsBelowLines :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagPixelsBelowLines obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "pixels-below-lines" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixels-below-lines@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagPixelsBelowLines :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagPixelsBelowLines val = B.Properties.constructObjectPropertyInt32 "pixels-below-lines" val
+
+#if ENABLE_OVERLOADING
+data TextTagPixelsBelowLinesPropertyInfo
+instance AttrInfo TextTagPixelsBelowLinesPropertyInfo where
+    type AttrAllowedOps TextTagPixelsBelowLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagPixelsBelowLinesPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagPixelsBelowLinesPropertyInfo = IsTextTag
+    type AttrGetType TextTagPixelsBelowLinesPropertyInfo = Int32
+    type AttrLabel TextTagPixelsBelowLinesPropertyInfo = "pixels-below-lines"
+    type AttrOrigin TextTagPixelsBelowLinesPropertyInfo = TextTag
+    attrGet _ = getTextTagPixelsBelowLines
+    attrSet _ = setTextTagPixelsBelowLines
+    attrConstruct _ = constructTextTagPixelsBelowLines
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixels-below-lines-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixels-below-lines-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #pixelsBelowLinesSet
+@
+-}
+getTextTagPixelsBelowLinesSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagPixelsBelowLinesSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "pixels-below-lines-set"
+
+{- |
+Set the value of the “@pixels-below-lines-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #pixelsBelowLinesSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagPixelsBelowLinesSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagPixelsBelowLinesSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "pixels-below-lines-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixels-below-lines-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagPixelsBelowLinesSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagPixelsBelowLinesSet val = B.Properties.constructObjectPropertyBool "pixels-below-lines-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagPixelsBelowLinesSetPropertyInfo
+instance AttrInfo TextTagPixelsBelowLinesSetPropertyInfo where
+    type AttrAllowedOps TextTagPixelsBelowLinesSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagPixelsBelowLinesSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagPixelsBelowLinesSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagPixelsBelowLinesSetPropertyInfo = Bool
+    type AttrLabel TextTagPixelsBelowLinesSetPropertyInfo = "pixels-below-lines-set"
+    type AttrOrigin TextTagPixelsBelowLinesSetPropertyInfo = TextTag
+    attrGet _ = getTextTagPixelsBelowLinesSet
+    attrSet _ = setTextTagPixelsBelowLinesSet
+    attrConstruct _ = constructTextTagPixelsBelowLinesSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixels-inside-wrap"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixels-inside-wrap@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #pixelsInsideWrap
+@
+-}
+getTextTagPixelsInsideWrap :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagPixelsInsideWrap obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "pixels-inside-wrap"
+
+{- |
+Set the value of the “@pixels-inside-wrap@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #pixelsInsideWrap 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagPixelsInsideWrap :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagPixelsInsideWrap obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "pixels-inside-wrap" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixels-inside-wrap@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagPixelsInsideWrap :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagPixelsInsideWrap val = B.Properties.constructObjectPropertyInt32 "pixels-inside-wrap" val
+
+#if ENABLE_OVERLOADING
+data TextTagPixelsInsideWrapPropertyInfo
+instance AttrInfo TextTagPixelsInsideWrapPropertyInfo where
+    type AttrAllowedOps TextTagPixelsInsideWrapPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagPixelsInsideWrapPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagPixelsInsideWrapPropertyInfo = IsTextTag
+    type AttrGetType TextTagPixelsInsideWrapPropertyInfo = Int32
+    type AttrLabel TextTagPixelsInsideWrapPropertyInfo = "pixels-inside-wrap"
+    type AttrOrigin TextTagPixelsInsideWrapPropertyInfo = TextTag
+    attrGet _ = getTextTagPixelsInsideWrap
+    attrSet _ = setTextTagPixelsInsideWrap
+    attrConstruct _ = constructTextTagPixelsInsideWrap
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixels-inside-wrap-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@pixels-inside-wrap-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #pixelsInsideWrapSet
+@
+-}
+getTextTagPixelsInsideWrapSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagPixelsInsideWrapSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "pixels-inside-wrap-set"
+
+{- |
+Set the value of the “@pixels-inside-wrap-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #pixelsInsideWrapSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagPixelsInsideWrapSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagPixelsInsideWrapSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "pixels-inside-wrap-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixels-inside-wrap-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagPixelsInsideWrapSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagPixelsInsideWrapSet val = B.Properties.constructObjectPropertyBool "pixels-inside-wrap-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagPixelsInsideWrapSetPropertyInfo
+instance AttrInfo TextTagPixelsInsideWrapSetPropertyInfo where
+    type AttrAllowedOps TextTagPixelsInsideWrapSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagPixelsInsideWrapSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagPixelsInsideWrapSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagPixelsInsideWrapSetPropertyInfo = Bool
+    type AttrLabel TextTagPixelsInsideWrapSetPropertyInfo = "pixels-inside-wrap-set"
+    type AttrOrigin TextTagPixelsInsideWrapSetPropertyInfo = TextTag
+    attrGet _ = getTextTagPixelsInsideWrapSet
+    attrSet _ = setTextTagPixelsInsideWrapSet
+    attrConstruct _ = constructTextTagPixelsInsideWrapSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "right-margin"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@right-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #rightMargin
+@
+-}
+getTextTagRightMargin :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagRightMargin obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "right-margin"
+
+{- |
+Set the value of the “@right-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #rightMargin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagRightMargin :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagRightMargin obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "right-margin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@right-margin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagRightMargin :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagRightMargin val = B.Properties.constructObjectPropertyInt32 "right-margin" val
+
+#if ENABLE_OVERLOADING
+data TextTagRightMarginPropertyInfo
+instance AttrInfo TextTagRightMarginPropertyInfo where
+    type AttrAllowedOps TextTagRightMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagRightMarginPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagRightMarginPropertyInfo = IsTextTag
+    type AttrGetType TextTagRightMarginPropertyInfo = Int32
+    type AttrLabel TextTagRightMarginPropertyInfo = "right-margin"
+    type AttrOrigin TextTagRightMarginPropertyInfo = TextTag
+    attrGet _ = getTextTagRightMargin
+    attrSet _ = setTextTagRightMargin
+    attrConstruct _ = constructTextTagRightMargin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "right-margin-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@right-margin-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #rightMarginSet
+@
+-}
+getTextTagRightMarginSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagRightMarginSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "right-margin-set"
+
+{- |
+Set the value of the “@right-margin-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #rightMarginSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagRightMarginSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagRightMarginSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "right-margin-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@right-margin-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagRightMarginSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagRightMarginSet val = B.Properties.constructObjectPropertyBool "right-margin-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagRightMarginSetPropertyInfo
+instance AttrInfo TextTagRightMarginSetPropertyInfo where
+    type AttrAllowedOps TextTagRightMarginSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagRightMarginSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagRightMarginSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagRightMarginSetPropertyInfo = Bool
+    type AttrLabel TextTagRightMarginSetPropertyInfo = "right-margin-set"
+    type AttrOrigin TextTagRightMarginSetPropertyInfo = TextTag
+    attrGet _ = getTextTagRightMarginSet
+    attrSet _ = setTextTagRightMarginSet
+    attrConstruct _ = constructTextTagRightMarginSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "rise"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@rise@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #rise
+@
+-}
+getTextTagRise :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagRise obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "rise"
+
+{- |
+Set the value of the “@rise@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #rise 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagRise :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagRise obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "rise" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rise@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagRise :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagRise val = B.Properties.constructObjectPropertyInt32 "rise" val
+
+#if ENABLE_OVERLOADING
+data TextTagRisePropertyInfo
+instance AttrInfo TextTagRisePropertyInfo where
+    type AttrAllowedOps TextTagRisePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagRisePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagRisePropertyInfo = IsTextTag
+    type AttrGetType TextTagRisePropertyInfo = Int32
+    type AttrLabel TextTagRisePropertyInfo = "rise"
+    type AttrOrigin TextTagRisePropertyInfo = TextTag
+    attrGet _ = getTextTagRise
+    attrSet _ = setTextTagRise
+    attrConstruct _ = constructTextTagRise
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "rise-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@rise-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #riseSet
+@
+-}
+getTextTagRiseSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagRiseSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "rise-set"
+
+{- |
+Set the value of the “@rise-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #riseSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagRiseSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagRiseSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "rise-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rise-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagRiseSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagRiseSet val = B.Properties.constructObjectPropertyBool "rise-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagRiseSetPropertyInfo
+instance AttrInfo TextTagRiseSetPropertyInfo where
+    type AttrAllowedOps TextTagRiseSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagRiseSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagRiseSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagRiseSetPropertyInfo = Bool
+    type AttrLabel TextTagRiseSetPropertyInfo = "rise-set"
+    type AttrOrigin TextTagRiseSetPropertyInfo = TextTag
+    attrGet _ = getTextTagRiseSet
+    attrSet _ = setTextTagRiseSet
+    attrConstruct _ = constructTextTagRiseSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "scale"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@scale@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #scale
+@
+-}
+getTextTagScale :: (MonadIO m, IsTextTag o) => o -> m Double
+getTextTagScale obj = liftIO $ B.Properties.getObjectPropertyDouble obj "scale"
+
+{- |
+Set the value of the “@scale@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #scale 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagScale :: (MonadIO m, IsTextTag o) => o -> Double -> m ()
+setTextTagScale obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "scale" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@scale@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagScale :: (IsTextTag o) => Double -> IO (GValueConstruct o)
+constructTextTagScale val = B.Properties.constructObjectPropertyDouble "scale" val
+
+#if ENABLE_OVERLOADING
+data TextTagScalePropertyInfo
+instance AttrInfo TextTagScalePropertyInfo where
+    type AttrAllowedOps TextTagScalePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagScalePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint TextTagScalePropertyInfo = IsTextTag
+    type AttrGetType TextTagScalePropertyInfo = Double
+    type AttrLabel TextTagScalePropertyInfo = "scale"
+    type AttrOrigin TextTagScalePropertyInfo = TextTag
+    attrGet _ = getTextTagScale
+    attrSet _ = setTextTagScale
+    attrConstruct _ = constructTextTagScale
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "scale-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@scale-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #scaleSet
+@
+-}
+getTextTagScaleSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagScaleSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "scale-set"
+
+{- |
+Set the value of the “@scale-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #scaleSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagScaleSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagScaleSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "scale-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@scale-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagScaleSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagScaleSet val = B.Properties.constructObjectPropertyBool "scale-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagScaleSetPropertyInfo
+instance AttrInfo TextTagScaleSetPropertyInfo where
+    type AttrAllowedOps TextTagScaleSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagScaleSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagScaleSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagScaleSetPropertyInfo = Bool
+    type AttrLabel TextTagScaleSetPropertyInfo = "scale-set"
+    type AttrOrigin TextTagScaleSetPropertyInfo = TextTag
+    attrGet _ = getTextTagScaleSet
+    attrSet _ = setTextTagScaleSet
+    attrConstruct _ = constructTextTagScaleSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #size
+@
+-}
+getTextTagSize :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "size"
+
+{- |
+Set the value of the “@size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #size 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagSize :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagSize obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagSize :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagSize val = B.Properties.constructObjectPropertyInt32 "size" val
+
+#if ENABLE_OVERLOADING
+data TextTagSizePropertyInfo
+instance AttrInfo TextTagSizePropertyInfo where
+    type AttrAllowedOps TextTagSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagSizePropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagSizePropertyInfo = IsTextTag
+    type AttrGetType TextTagSizePropertyInfo = Int32
+    type AttrLabel TextTagSizePropertyInfo = "size"
+    type AttrOrigin TextTagSizePropertyInfo = TextTag
+    attrGet _ = getTextTagSize
+    attrSet _ = setTextTagSize
+    attrConstruct _ = constructTextTagSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size-points"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@size-points@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #sizePoints
+@
+-}
+getTextTagSizePoints :: (MonadIO m, IsTextTag o) => o -> m Double
+getTextTagSizePoints obj = liftIO $ B.Properties.getObjectPropertyDouble obj "size-points"
+
+{- |
+Set the value of the “@size-points@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #sizePoints 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagSizePoints :: (MonadIO m, IsTextTag o) => o -> Double -> m ()
+setTextTagSizePoints obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "size-points" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@size-points@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagSizePoints :: (IsTextTag o) => Double -> IO (GValueConstruct o)
+constructTextTagSizePoints val = B.Properties.constructObjectPropertyDouble "size-points" val
+
+#if ENABLE_OVERLOADING
+data TextTagSizePointsPropertyInfo
+instance AttrInfo TextTagSizePointsPropertyInfo where
+    type AttrAllowedOps TextTagSizePointsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagSizePointsPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint TextTagSizePointsPropertyInfo = IsTextTag
+    type AttrGetType TextTagSizePointsPropertyInfo = Double
+    type AttrLabel TextTagSizePointsPropertyInfo = "size-points"
+    type AttrOrigin TextTagSizePointsPropertyInfo = TextTag
+    attrGet _ = getTextTagSizePoints
+    attrSet _ = setTextTagSizePoints
+    attrConstruct _ = constructTextTagSizePoints
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "size-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@size-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #sizeSet
+@
+-}
+getTextTagSizeSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagSizeSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "size-set"
+
+{- |
+Set the value of the “@size-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #sizeSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagSizeSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagSizeSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "size-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@size-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagSizeSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagSizeSet val = B.Properties.constructObjectPropertyBool "size-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagSizeSetPropertyInfo
+instance AttrInfo TextTagSizeSetPropertyInfo where
+    type AttrAllowedOps TextTagSizeSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagSizeSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagSizeSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagSizeSetPropertyInfo = Bool
+    type AttrLabel TextTagSizeSetPropertyInfo = "size-set"
+    type AttrOrigin TextTagSizeSetPropertyInfo = TextTag
+    attrGet _ = getTextTagSizeSet
+    attrSet _ = setTextTagSizeSet
+    attrConstruct _ = constructTextTagSizeSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "stretch"
+   -- Type: TInterface (Name {namespace = "Pango", name = "Stretch"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@stretch@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #stretch
+@
+-}
+getTextTagStretch :: (MonadIO m, IsTextTag o) => o -> m Pango.Enums.Stretch
+getTextTagStretch obj = liftIO $ B.Properties.getObjectPropertyEnum obj "stretch"
+
+{- |
+Set the value of the “@stretch@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #stretch 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagStretch :: (MonadIO m, IsTextTag o) => o -> Pango.Enums.Stretch -> m ()
+setTextTagStretch obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "stretch" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stretch@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagStretch :: (IsTextTag o) => Pango.Enums.Stretch -> IO (GValueConstruct o)
+constructTextTagStretch val = B.Properties.constructObjectPropertyEnum "stretch" val
+
+#if ENABLE_OVERLOADING
+data TextTagStretchPropertyInfo
+instance AttrInfo TextTagStretchPropertyInfo where
+    type AttrAllowedOps TextTagStretchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagStretchPropertyInfo = (~) Pango.Enums.Stretch
+    type AttrBaseTypeConstraint TextTagStretchPropertyInfo = IsTextTag
+    type AttrGetType TextTagStretchPropertyInfo = Pango.Enums.Stretch
+    type AttrLabel TextTagStretchPropertyInfo = "stretch"
+    type AttrOrigin TextTagStretchPropertyInfo = TextTag
+    attrGet _ = getTextTagStretch
+    attrSet _ = setTextTagStretch
+    attrConstruct _ = constructTextTagStretch
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "stretch-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@stretch-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #stretchSet
+@
+-}
+getTextTagStretchSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagStretchSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "stretch-set"
+
+{- |
+Set the value of the “@stretch-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #stretchSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagStretchSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagStretchSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "stretch-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stretch-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagStretchSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagStretchSet val = B.Properties.constructObjectPropertyBool "stretch-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagStretchSetPropertyInfo
+instance AttrInfo TextTagStretchSetPropertyInfo where
+    type AttrAllowedOps TextTagStretchSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagStretchSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagStretchSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagStretchSetPropertyInfo = Bool
+    type AttrLabel TextTagStretchSetPropertyInfo = "stretch-set"
+    type AttrOrigin TextTagStretchSetPropertyInfo = TextTag
+    attrGet _ = getTextTagStretchSet
+    attrSet _ = setTextTagStretchSet
+    attrConstruct _ = constructTextTagStretchSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "strikethrough"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@strikethrough@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #strikethrough
+@
+-}
+getTextTagStrikethrough :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagStrikethrough obj = liftIO $ B.Properties.getObjectPropertyBool obj "strikethrough"
+
+{- |
+Set the value of the “@strikethrough@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #strikethrough 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagStrikethrough :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagStrikethrough obj val = liftIO $ B.Properties.setObjectPropertyBool obj "strikethrough" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@strikethrough@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagStrikethrough :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagStrikethrough val = B.Properties.constructObjectPropertyBool "strikethrough" val
+
+#if ENABLE_OVERLOADING
+data TextTagStrikethroughPropertyInfo
+instance AttrInfo TextTagStrikethroughPropertyInfo where
+    type AttrAllowedOps TextTagStrikethroughPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagStrikethroughPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagStrikethroughPropertyInfo = IsTextTag
+    type AttrGetType TextTagStrikethroughPropertyInfo = Bool
+    type AttrLabel TextTagStrikethroughPropertyInfo = "strikethrough"
+    type AttrOrigin TextTagStrikethroughPropertyInfo = TextTag
+    attrGet _ = getTextTagStrikethrough
+    attrSet _ = setTextTagStrikethrough
+    attrConstruct _ = constructTextTagStrikethrough
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "strikethrough-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@strikethrough-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #strikethroughRgba
+@
+-}
+getTextTagStrikethroughRgba :: (MonadIO m, IsTextTag o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getTextTagStrikethroughRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "strikethrough-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@strikethrough-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #strikethroughRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagStrikethroughRgba :: (MonadIO m, IsTextTag o) => o -> Gdk.RGBA.RGBA -> m ()
+setTextTagStrikethroughRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "strikethrough-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@strikethrough-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagStrikethroughRgba :: (IsTextTag o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructTextTagStrikethroughRgba val = B.Properties.constructObjectPropertyBoxed "strikethrough-rgba" (Just val)
+
+{- |
+Set the value of the “@strikethrough-rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #strikethroughRgba
+@
+-}
+clearTextTagStrikethroughRgba :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagStrikethroughRgba obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "strikethrough-rgba" (Nothing :: Maybe Gdk.RGBA.RGBA)
+
+#if ENABLE_OVERLOADING
+data TextTagStrikethroughRgbaPropertyInfo
+instance AttrInfo TextTagStrikethroughRgbaPropertyInfo where
+    type AttrAllowedOps TextTagStrikethroughRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagStrikethroughRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint TextTagStrikethroughRgbaPropertyInfo = IsTextTag
+    type AttrGetType TextTagStrikethroughRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel TextTagStrikethroughRgbaPropertyInfo = "strikethrough-rgba"
+    type AttrOrigin TextTagStrikethroughRgbaPropertyInfo = TextTag
+    attrGet _ = getTextTagStrikethroughRgba
+    attrSet _ = setTextTagStrikethroughRgba
+    attrConstruct _ = constructTextTagStrikethroughRgba
+    attrClear _ = clearTextTagStrikethroughRgba
+#endif
+
+-- VVV Prop "strikethrough-rgba-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@strikethrough-rgba-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #strikethroughRgbaSet
+@
+-}
+getTextTagStrikethroughRgbaSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagStrikethroughRgbaSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "strikethrough-rgba-set"
+
+{- |
+Set the value of the “@strikethrough-rgba-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #strikethroughRgbaSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagStrikethroughRgbaSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagStrikethroughRgbaSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "strikethrough-rgba-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@strikethrough-rgba-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagStrikethroughRgbaSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagStrikethroughRgbaSet val = B.Properties.constructObjectPropertyBool "strikethrough-rgba-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagStrikethroughRgbaSetPropertyInfo
+instance AttrInfo TextTagStrikethroughRgbaSetPropertyInfo where
+    type AttrAllowedOps TextTagStrikethroughRgbaSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagStrikethroughRgbaSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagStrikethroughRgbaSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagStrikethroughRgbaSetPropertyInfo = Bool
+    type AttrLabel TextTagStrikethroughRgbaSetPropertyInfo = "strikethrough-rgba-set"
+    type AttrOrigin TextTagStrikethroughRgbaSetPropertyInfo = TextTag
+    attrGet _ = getTextTagStrikethroughRgbaSet
+    attrSet _ = setTextTagStrikethroughRgbaSet
+    attrConstruct _ = constructTextTagStrikethroughRgbaSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "strikethrough-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@strikethrough-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #strikethroughSet
+@
+-}
+getTextTagStrikethroughSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagStrikethroughSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "strikethrough-set"
+
+{- |
+Set the value of the “@strikethrough-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #strikethroughSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagStrikethroughSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagStrikethroughSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "strikethrough-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@strikethrough-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagStrikethroughSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagStrikethroughSet val = B.Properties.constructObjectPropertyBool "strikethrough-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagStrikethroughSetPropertyInfo
+instance AttrInfo TextTagStrikethroughSetPropertyInfo where
+    type AttrAllowedOps TextTagStrikethroughSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagStrikethroughSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagStrikethroughSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagStrikethroughSetPropertyInfo = Bool
+    type AttrLabel TextTagStrikethroughSetPropertyInfo = "strikethrough-set"
+    type AttrOrigin TextTagStrikethroughSetPropertyInfo = TextTag
+    attrGet _ = getTextTagStrikethroughSet
+    attrSet _ = setTextTagStrikethroughSet
+    attrConstruct _ = constructTextTagStrikethroughSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "style"
+   -- Type: TInterface (Name {namespace = "Pango", name = "Style"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #style
+@
+-}
+getTextTagStyle :: (MonadIO m, IsTextTag o) => o -> m Pango.Enums.Style
+getTextTagStyle obj = liftIO $ B.Properties.getObjectPropertyEnum obj "style"
+
+{- |
+Set the value of the “@style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #style 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagStyle :: (MonadIO m, IsTextTag o) => o -> Pango.Enums.Style -> m ()
+setTextTagStyle obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "style" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagStyle :: (IsTextTag o) => Pango.Enums.Style -> IO (GValueConstruct o)
+constructTextTagStyle val = B.Properties.constructObjectPropertyEnum "style" val
+
+#if ENABLE_OVERLOADING
+data TextTagStylePropertyInfo
+instance AttrInfo TextTagStylePropertyInfo where
+    type AttrAllowedOps TextTagStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagStylePropertyInfo = (~) Pango.Enums.Style
+    type AttrBaseTypeConstraint TextTagStylePropertyInfo = IsTextTag
+    type AttrGetType TextTagStylePropertyInfo = Pango.Enums.Style
+    type AttrLabel TextTagStylePropertyInfo = "style"
+    type AttrOrigin TextTagStylePropertyInfo = TextTag
+    attrGet _ = getTextTagStyle
+    attrSet _ = setTextTagStyle
+    attrConstruct _ = constructTextTagStyle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "style-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@style-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #styleSet
+@
+-}
+getTextTagStyleSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagStyleSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "style-set"
+
+{- |
+Set the value of the “@style-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #styleSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagStyleSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagStyleSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "style-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@style-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagStyleSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagStyleSet val = B.Properties.constructObjectPropertyBool "style-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagStyleSetPropertyInfo
+instance AttrInfo TextTagStyleSetPropertyInfo where
+    type AttrAllowedOps TextTagStyleSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagStyleSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagStyleSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagStyleSetPropertyInfo = Bool
+    type AttrLabel TextTagStyleSetPropertyInfo = "style-set"
+    type AttrOrigin TextTagStyleSetPropertyInfo = TextTag
+    attrGet _ = getTextTagStyleSet
+    attrSet _ = setTextTagStyleSet
+    attrConstruct _ = constructTextTagStyleSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tabs"
+   -- Type: TInterface (Name {namespace = "Pango", name = "TabArray"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@tabs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #tabs
+@
+-}
+getTextTagTabs :: (MonadIO m, IsTextTag o) => o -> m (Maybe Pango.TabArray.TabArray)
+getTextTagTabs obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "tabs" Pango.TabArray.TabArray
+
+{- |
+Set the value of the “@tabs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #tabs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagTabs :: (MonadIO m, IsTextTag o) => o -> Pango.TabArray.TabArray -> m ()
+setTextTagTabs obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "tabs" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tabs@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagTabs :: (IsTextTag o) => Pango.TabArray.TabArray -> IO (GValueConstruct o)
+constructTextTagTabs val = B.Properties.constructObjectPropertyBoxed "tabs" (Just val)
+
+{- |
+Set the value of the “@tabs@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tabs
+@
+-}
+clearTextTagTabs :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagTabs obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "tabs" (Nothing :: Maybe Pango.TabArray.TabArray)
+
+#if ENABLE_OVERLOADING
+data TextTagTabsPropertyInfo
+instance AttrInfo TextTagTabsPropertyInfo where
+    type AttrAllowedOps TextTagTabsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagTabsPropertyInfo = (~) Pango.TabArray.TabArray
+    type AttrBaseTypeConstraint TextTagTabsPropertyInfo = IsTextTag
+    type AttrGetType TextTagTabsPropertyInfo = (Maybe Pango.TabArray.TabArray)
+    type AttrLabel TextTagTabsPropertyInfo = "tabs"
+    type AttrOrigin TextTagTabsPropertyInfo = TextTag
+    attrGet _ = getTextTagTabs
+    attrSet _ = setTextTagTabs
+    attrConstruct _ = constructTextTagTabs
+    attrClear _ = clearTextTagTabs
+#endif
+
+-- VVV Prop "tabs-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@tabs-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #tabsSet
+@
+-}
+getTextTagTabsSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagTabsSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "tabs-set"
+
+{- |
+Set the value of the “@tabs-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #tabsSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagTabsSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagTabsSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "tabs-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tabs-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagTabsSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagTabsSet val = B.Properties.constructObjectPropertyBool "tabs-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagTabsSetPropertyInfo
+instance AttrInfo TextTagTabsSetPropertyInfo where
+    type AttrAllowedOps TextTagTabsSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagTabsSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagTabsSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagTabsSetPropertyInfo = Bool
+    type AttrLabel TextTagTabsSetPropertyInfo = "tabs-set"
+    type AttrOrigin TextTagTabsSetPropertyInfo = TextTag
+    attrGet _ = getTextTagTabsSet
+    attrSet _ = setTextTagTabsSet
+    attrConstruct _ = constructTextTagTabsSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "underline"
+   -- Type: TInterface (Name {namespace = "Pango", name = "Underline"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #underline
+@
+-}
+getTextTagUnderline :: (MonadIO m, IsTextTag o) => o -> m Pango.Enums.Underline
+getTextTagUnderline obj = liftIO $ B.Properties.getObjectPropertyEnum obj "underline"
+
+{- |
+Set the value of the “@underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #underline 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagUnderline :: (MonadIO m, IsTextTag o) => o -> Pango.Enums.Underline -> m ()
+setTextTagUnderline obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "underline" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@underline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagUnderline :: (IsTextTag o) => Pango.Enums.Underline -> IO (GValueConstruct o)
+constructTextTagUnderline val = B.Properties.constructObjectPropertyEnum "underline" val
+
+#if ENABLE_OVERLOADING
+data TextTagUnderlinePropertyInfo
+instance AttrInfo TextTagUnderlinePropertyInfo where
+    type AttrAllowedOps TextTagUnderlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagUnderlinePropertyInfo = (~) Pango.Enums.Underline
+    type AttrBaseTypeConstraint TextTagUnderlinePropertyInfo = IsTextTag
+    type AttrGetType TextTagUnderlinePropertyInfo = Pango.Enums.Underline
+    type AttrLabel TextTagUnderlinePropertyInfo = "underline"
+    type AttrOrigin TextTagUnderlinePropertyInfo = TextTag
+    attrGet _ = getTextTagUnderline
+    attrSet _ = setTextTagUnderline
+    attrConstruct _ = constructTextTagUnderline
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "underline-rgba"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "RGBA"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@underline-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #underlineRgba
+@
+-}
+getTextTagUnderlineRgba :: (MonadIO m, IsTextTag o) => o -> m (Maybe Gdk.RGBA.RGBA)
+getTextTagUnderlineRgba obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "underline-rgba" Gdk.RGBA.RGBA
+
+{- |
+Set the value of the “@underline-rgba@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #underlineRgba 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagUnderlineRgba :: (MonadIO m, IsTextTag o) => o -> Gdk.RGBA.RGBA -> m ()
+setTextTagUnderlineRgba obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "underline-rgba" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@underline-rgba@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagUnderlineRgba :: (IsTextTag o) => Gdk.RGBA.RGBA -> IO (GValueConstruct o)
+constructTextTagUnderlineRgba val = B.Properties.constructObjectPropertyBoxed "underline-rgba" (Just val)
+
+{- |
+Set the value of the “@underline-rgba@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #underlineRgba
+@
+-}
+clearTextTagUnderlineRgba :: (MonadIO m, IsTextTag o) => o -> m ()
+clearTextTagUnderlineRgba obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "underline-rgba" (Nothing :: Maybe Gdk.RGBA.RGBA)
+
+#if ENABLE_OVERLOADING
+data TextTagUnderlineRgbaPropertyInfo
+instance AttrInfo TextTagUnderlineRgbaPropertyInfo where
+    type AttrAllowedOps TextTagUnderlineRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextTagUnderlineRgbaPropertyInfo = (~) Gdk.RGBA.RGBA
+    type AttrBaseTypeConstraint TextTagUnderlineRgbaPropertyInfo = IsTextTag
+    type AttrGetType TextTagUnderlineRgbaPropertyInfo = (Maybe Gdk.RGBA.RGBA)
+    type AttrLabel TextTagUnderlineRgbaPropertyInfo = "underline-rgba"
+    type AttrOrigin TextTagUnderlineRgbaPropertyInfo = TextTag
+    attrGet _ = getTextTagUnderlineRgba
+    attrSet _ = setTextTagUnderlineRgba
+    attrConstruct _ = constructTextTagUnderlineRgba
+    attrClear _ = clearTextTagUnderlineRgba
+#endif
+
+-- VVV Prop "underline-rgba-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@underline-rgba-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #underlineRgbaSet
+@
+-}
+getTextTagUnderlineRgbaSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagUnderlineRgbaSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "underline-rgba-set"
+
+{- |
+Set the value of the “@underline-rgba-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #underlineRgbaSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagUnderlineRgbaSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagUnderlineRgbaSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "underline-rgba-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@underline-rgba-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagUnderlineRgbaSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagUnderlineRgbaSet val = B.Properties.constructObjectPropertyBool "underline-rgba-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagUnderlineRgbaSetPropertyInfo
+instance AttrInfo TextTagUnderlineRgbaSetPropertyInfo where
+    type AttrAllowedOps TextTagUnderlineRgbaSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagUnderlineRgbaSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagUnderlineRgbaSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagUnderlineRgbaSetPropertyInfo = Bool
+    type AttrLabel TextTagUnderlineRgbaSetPropertyInfo = "underline-rgba-set"
+    type AttrOrigin TextTagUnderlineRgbaSetPropertyInfo = TextTag
+    attrGet _ = getTextTagUnderlineRgbaSet
+    attrSet _ = setTextTagUnderlineRgbaSet
+    attrConstruct _ = constructTextTagUnderlineRgbaSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "underline-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@underline-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #underlineSet
+@
+-}
+getTextTagUnderlineSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagUnderlineSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "underline-set"
+
+{- |
+Set the value of the “@underline-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #underlineSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagUnderlineSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagUnderlineSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "underline-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@underline-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagUnderlineSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagUnderlineSet val = B.Properties.constructObjectPropertyBool "underline-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagUnderlineSetPropertyInfo
+instance AttrInfo TextTagUnderlineSetPropertyInfo where
+    type AttrAllowedOps TextTagUnderlineSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagUnderlineSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagUnderlineSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagUnderlineSetPropertyInfo = Bool
+    type AttrLabel TextTagUnderlineSetPropertyInfo = "underline-set"
+    type AttrOrigin TextTagUnderlineSetPropertyInfo = TextTag
+    attrGet _ = getTextTagUnderlineSet
+    attrSet _ = setTextTagUnderlineSet
+    attrConstruct _ = constructTextTagUnderlineSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "variant"
+   -- Type: TInterface (Name {namespace = "Pango", name = "Variant"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@variant@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #variant
+@
+-}
+getTextTagVariant :: (MonadIO m, IsTextTag o) => o -> m Pango.Enums.Variant
+getTextTagVariant obj = liftIO $ B.Properties.getObjectPropertyEnum obj "variant"
+
+{- |
+Set the value of the “@variant@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #variant 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagVariant :: (MonadIO m, IsTextTag o) => o -> Pango.Enums.Variant -> m ()
+setTextTagVariant obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "variant" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@variant@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagVariant :: (IsTextTag o) => Pango.Enums.Variant -> IO (GValueConstruct o)
+constructTextTagVariant val = B.Properties.constructObjectPropertyEnum "variant" val
+
+#if ENABLE_OVERLOADING
+data TextTagVariantPropertyInfo
+instance AttrInfo TextTagVariantPropertyInfo where
+    type AttrAllowedOps TextTagVariantPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagVariantPropertyInfo = (~) Pango.Enums.Variant
+    type AttrBaseTypeConstraint TextTagVariantPropertyInfo = IsTextTag
+    type AttrGetType TextTagVariantPropertyInfo = Pango.Enums.Variant
+    type AttrLabel TextTagVariantPropertyInfo = "variant"
+    type AttrOrigin TextTagVariantPropertyInfo = TextTag
+    attrGet _ = getTextTagVariant
+    attrSet _ = setTextTagVariant
+    attrConstruct _ = constructTextTagVariant
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "variant-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@variant-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #variantSet
+@
+-}
+getTextTagVariantSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagVariantSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "variant-set"
+
+{- |
+Set the value of the “@variant-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #variantSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagVariantSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagVariantSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "variant-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@variant-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagVariantSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagVariantSet val = B.Properties.constructObjectPropertyBool "variant-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagVariantSetPropertyInfo
+instance AttrInfo TextTagVariantSetPropertyInfo where
+    type AttrAllowedOps TextTagVariantSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagVariantSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagVariantSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagVariantSetPropertyInfo = Bool
+    type AttrLabel TextTagVariantSetPropertyInfo = "variant-set"
+    type AttrOrigin TextTagVariantSetPropertyInfo = TextTag
+    attrGet _ = getTextTagVariantSet
+    attrSet _ = setTextTagVariantSet
+    attrConstruct _ = constructTextTagVariantSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "weight"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@weight@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #weight
+@
+-}
+getTextTagWeight :: (MonadIO m, IsTextTag o) => o -> m Int32
+getTextTagWeight obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "weight"
+
+{- |
+Set the value of the “@weight@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #weight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagWeight :: (MonadIO m, IsTextTag o) => o -> Int32 -> m ()
+setTextTagWeight obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "weight" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@weight@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagWeight :: (IsTextTag o) => Int32 -> IO (GValueConstruct o)
+constructTextTagWeight val = B.Properties.constructObjectPropertyInt32 "weight" val
+
+#if ENABLE_OVERLOADING
+data TextTagWeightPropertyInfo
+instance AttrInfo TextTagWeightPropertyInfo where
+    type AttrAllowedOps TextTagWeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagWeightPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextTagWeightPropertyInfo = IsTextTag
+    type AttrGetType TextTagWeightPropertyInfo = Int32
+    type AttrLabel TextTagWeightPropertyInfo = "weight"
+    type AttrOrigin TextTagWeightPropertyInfo = TextTag
+    attrGet _ = getTextTagWeight
+    attrSet _ = setTextTagWeight
+    attrConstruct _ = constructTextTagWeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "weight-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@weight-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #weightSet
+@
+-}
+getTextTagWeightSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagWeightSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "weight-set"
+
+{- |
+Set the value of the “@weight-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #weightSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagWeightSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagWeightSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "weight-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@weight-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagWeightSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagWeightSet val = B.Properties.constructObjectPropertyBool "weight-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagWeightSetPropertyInfo
+instance AttrInfo TextTagWeightSetPropertyInfo where
+    type AttrAllowedOps TextTagWeightSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagWeightSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagWeightSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagWeightSetPropertyInfo = Bool
+    type AttrLabel TextTagWeightSetPropertyInfo = "weight-set"
+    type AttrOrigin TextTagWeightSetPropertyInfo = TextTag
+    attrGet _ = getTextTagWeightSet
+    attrSet _ = setTextTagWeightSet
+    attrConstruct _ = constructTextTagWeightSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wrap-mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "WrapMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@wrap-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #wrapMode
+@
+-}
+getTextTagWrapMode :: (MonadIO m, IsTextTag o) => o -> m Gtk.Enums.WrapMode
+getTextTagWrapMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "wrap-mode"
+
+{- |
+Set the value of the “@wrap-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #wrapMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagWrapMode :: (MonadIO m, IsTextTag o) => o -> Gtk.Enums.WrapMode -> m ()
+setTextTagWrapMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "wrap-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagWrapMode :: (IsTextTag o) => Gtk.Enums.WrapMode -> IO (GValueConstruct o)
+constructTextTagWrapMode val = B.Properties.constructObjectPropertyEnum "wrap-mode" val
+
+#if ENABLE_OVERLOADING
+data TextTagWrapModePropertyInfo
+instance AttrInfo TextTagWrapModePropertyInfo where
+    type AttrAllowedOps TextTagWrapModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagWrapModePropertyInfo = (~) Gtk.Enums.WrapMode
+    type AttrBaseTypeConstraint TextTagWrapModePropertyInfo = IsTextTag
+    type AttrGetType TextTagWrapModePropertyInfo = Gtk.Enums.WrapMode
+    type AttrLabel TextTagWrapModePropertyInfo = "wrap-mode"
+    type AttrOrigin TextTagWrapModePropertyInfo = TextTag
+    attrGet _ = getTextTagWrapMode
+    attrSet _ = setTextTagWrapMode
+    attrConstruct _ = constructTextTagWrapMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wrap-mode-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@wrap-mode-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textTag #wrapModeSet
+@
+-}
+getTextTagWrapModeSet :: (MonadIO m, IsTextTag o) => o -> m Bool
+getTextTagWrapModeSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "wrap-mode-set"
+
+{- |
+Set the value of the “@wrap-mode-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textTag [ #wrapModeSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextTagWrapModeSet :: (MonadIO m, IsTextTag o) => o -> Bool -> m ()
+setTextTagWrapModeSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "wrap-mode-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap-mode-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextTagWrapModeSet :: (IsTextTag o) => Bool -> IO (GValueConstruct o)
+constructTextTagWrapModeSet val = B.Properties.constructObjectPropertyBool "wrap-mode-set" val
+
+#if ENABLE_OVERLOADING
+data TextTagWrapModeSetPropertyInfo
+instance AttrInfo TextTagWrapModeSetPropertyInfo where
+    type AttrAllowedOps TextTagWrapModeSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextTagWrapModeSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextTagWrapModeSetPropertyInfo = IsTextTag
+    type AttrGetType TextTagWrapModeSetPropertyInfo = Bool
+    type AttrLabel TextTagWrapModeSetPropertyInfo = "wrap-mode-set"
+    type AttrOrigin TextTagWrapModeSetPropertyInfo = TextTag
+    attrGet _ = getTextTagWrapModeSet
+    attrSet _ = setTextTagWrapModeSet
+    attrConstruct _ = constructTextTagWrapModeSet
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextTag
+type instance O.AttributeList TextTag = TextTagAttributeList
+type TextTagAttributeList = ('[ '("accumulativeMargin", TextTagAccumulativeMarginPropertyInfo), '("background", TextTagBackgroundPropertyInfo), '("backgroundFullHeight", TextTagBackgroundFullHeightPropertyInfo), '("backgroundFullHeightSet", TextTagBackgroundFullHeightSetPropertyInfo), '("backgroundGdk", TextTagBackgroundGdkPropertyInfo), '("backgroundRgba", TextTagBackgroundRgbaPropertyInfo), '("backgroundSet", TextTagBackgroundSetPropertyInfo), '("direction", TextTagDirectionPropertyInfo), '("editable", TextTagEditablePropertyInfo), '("editableSet", TextTagEditableSetPropertyInfo), '("fallback", TextTagFallbackPropertyInfo), '("fallbackSet", TextTagFallbackSetPropertyInfo), '("family", TextTagFamilyPropertyInfo), '("familySet", TextTagFamilySetPropertyInfo), '("font", TextTagFontPropertyInfo), '("fontDesc", TextTagFontDescPropertyInfo), '("fontFeatures", TextTagFontFeaturesPropertyInfo), '("fontFeaturesSet", TextTagFontFeaturesSetPropertyInfo), '("foreground", TextTagForegroundPropertyInfo), '("foregroundGdk", TextTagForegroundGdkPropertyInfo), '("foregroundRgba", TextTagForegroundRgbaPropertyInfo), '("foregroundSet", TextTagForegroundSetPropertyInfo), '("indent", TextTagIndentPropertyInfo), '("indentSet", TextTagIndentSetPropertyInfo), '("invisible", TextTagInvisiblePropertyInfo), '("invisibleSet", TextTagInvisibleSetPropertyInfo), '("justification", TextTagJustificationPropertyInfo), '("justificationSet", TextTagJustificationSetPropertyInfo), '("language", TextTagLanguagePropertyInfo), '("languageSet", TextTagLanguageSetPropertyInfo), '("leftMargin", TextTagLeftMarginPropertyInfo), '("leftMarginSet", TextTagLeftMarginSetPropertyInfo), '("letterSpacing", TextTagLetterSpacingPropertyInfo), '("letterSpacingSet", TextTagLetterSpacingSetPropertyInfo), '("name", TextTagNamePropertyInfo), '("paragraphBackground", TextTagParagraphBackgroundPropertyInfo), '("paragraphBackgroundGdk", TextTagParagraphBackgroundGdkPropertyInfo), '("paragraphBackgroundRgba", TextTagParagraphBackgroundRgbaPropertyInfo), '("paragraphBackgroundSet", TextTagParagraphBackgroundSetPropertyInfo), '("pixelsAboveLines", TextTagPixelsAboveLinesPropertyInfo), '("pixelsAboveLinesSet", TextTagPixelsAboveLinesSetPropertyInfo), '("pixelsBelowLines", TextTagPixelsBelowLinesPropertyInfo), '("pixelsBelowLinesSet", TextTagPixelsBelowLinesSetPropertyInfo), '("pixelsInsideWrap", TextTagPixelsInsideWrapPropertyInfo), '("pixelsInsideWrapSet", TextTagPixelsInsideWrapSetPropertyInfo), '("rightMargin", TextTagRightMarginPropertyInfo), '("rightMarginSet", TextTagRightMarginSetPropertyInfo), '("rise", TextTagRisePropertyInfo), '("riseSet", TextTagRiseSetPropertyInfo), '("scale", TextTagScalePropertyInfo), '("scaleSet", TextTagScaleSetPropertyInfo), '("size", TextTagSizePropertyInfo), '("sizePoints", TextTagSizePointsPropertyInfo), '("sizeSet", TextTagSizeSetPropertyInfo), '("stretch", TextTagStretchPropertyInfo), '("stretchSet", TextTagStretchSetPropertyInfo), '("strikethrough", TextTagStrikethroughPropertyInfo), '("strikethroughRgba", TextTagStrikethroughRgbaPropertyInfo), '("strikethroughRgbaSet", TextTagStrikethroughRgbaSetPropertyInfo), '("strikethroughSet", TextTagStrikethroughSetPropertyInfo), '("style", TextTagStylePropertyInfo), '("styleSet", TextTagStyleSetPropertyInfo), '("tabs", TextTagTabsPropertyInfo), '("tabsSet", TextTagTabsSetPropertyInfo), '("underline", TextTagUnderlinePropertyInfo), '("underlineRgba", TextTagUnderlineRgbaPropertyInfo), '("underlineRgbaSet", TextTagUnderlineRgbaSetPropertyInfo), '("underlineSet", TextTagUnderlineSetPropertyInfo), '("variant", TextTagVariantPropertyInfo), '("variantSet", TextTagVariantSetPropertyInfo), '("weight", TextTagWeightPropertyInfo), '("weightSet", TextTagWeightSetPropertyInfo), '("wrapMode", TextTagWrapModePropertyInfo), '("wrapModeSet", TextTagWrapModeSetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+textTagAccumulativeMargin :: AttrLabelProxy "accumulativeMargin"
+textTagAccumulativeMargin = AttrLabelProxy
+
+textTagBackground :: AttrLabelProxy "background"
+textTagBackground = AttrLabelProxy
+
+textTagBackgroundFullHeight :: AttrLabelProxy "backgroundFullHeight"
+textTagBackgroundFullHeight = AttrLabelProxy
+
+textTagBackgroundFullHeightSet :: AttrLabelProxy "backgroundFullHeightSet"
+textTagBackgroundFullHeightSet = AttrLabelProxy
+
+textTagBackgroundGdk :: AttrLabelProxy "backgroundGdk"
+textTagBackgroundGdk = AttrLabelProxy
+
+textTagBackgroundRgba :: AttrLabelProxy "backgroundRgba"
+textTagBackgroundRgba = AttrLabelProxy
+
+textTagBackgroundSet :: AttrLabelProxy "backgroundSet"
+textTagBackgroundSet = AttrLabelProxy
+
+textTagDirection :: AttrLabelProxy "direction"
+textTagDirection = AttrLabelProxy
+
+textTagEditable :: AttrLabelProxy "editable"
+textTagEditable = AttrLabelProxy
+
+textTagEditableSet :: AttrLabelProxy "editableSet"
+textTagEditableSet = AttrLabelProxy
+
+textTagFallback :: AttrLabelProxy "fallback"
+textTagFallback = AttrLabelProxy
+
+textTagFallbackSet :: AttrLabelProxy "fallbackSet"
+textTagFallbackSet = AttrLabelProxy
+
+textTagFamily :: AttrLabelProxy "family"
+textTagFamily = AttrLabelProxy
+
+textTagFamilySet :: AttrLabelProxy "familySet"
+textTagFamilySet = AttrLabelProxy
+
+textTagFont :: AttrLabelProxy "font"
+textTagFont = AttrLabelProxy
+
+textTagFontDesc :: AttrLabelProxy "fontDesc"
+textTagFontDesc = AttrLabelProxy
+
+textTagFontFeatures :: AttrLabelProxy "fontFeatures"
+textTagFontFeatures = AttrLabelProxy
+
+textTagFontFeaturesSet :: AttrLabelProxy "fontFeaturesSet"
+textTagFontFeaturesSet = AttrLabelProxy
+
+textTagForeground :: AttrLabelProxy "foreground"
+textTagForeground = AttrLabelProxy
+
+textTagForegroundGdk :: AttrLabelProxy "foregroundGdk"
+textTagForegroundGdk = AttrLabelProxy
+
+textTagForegroundRgba :: AttrLabelProxy "foregroundRgba"
+textTagForegroundRgba = AttrLabelProxy
+
+textTagForegroundSet :: AttrLabelProxy "foregroundSet"
+textTagForegroundSet = AttrLabelProxy
+
+textTagIndent :: AttrLabelProxy "indent"
+textTagIndent = AttrLabelProxy
+
+textTagIndentSet :: AttrLabelProxy "indentSet"
+textTagIndentSet = AttrLabelProxy
+
+textTagInvisible :: AttrLabelProxy "invisible"
+textTagInvisible = AttrLabelProxy
+
+textTagInvisibleSet :: AttrLabelProxy "invisibleSet"
+textTagInvisibleSet = AttrLabelProxy
+
+textTagJustification :: AttrLabelProxy "justification"
+textTagJustification = AttrLabelProxy
+
+textTagJustificationSet :: AttrLabelProxy "justificationSet"
+textTagJustificationSet = AttrLabelProxy
+
+textTagLanguage :: AttrLabelProxy "language"
+textTagLanguage = AttrLabelProxy
+
+textTagLanguageSet :: AttrLabelProxy "languageSet"
+textTagLanguageSet = AttrLabelProxy
+
+textTagLeftMargin :: AttrLabelProxy "leftMargin"
+textTagLeftMargin = AttrLabelProxy
+
+textTagLeftMarginSet :: AttrLabelProxy "leftMarginSet"
+textTagLeftMarginSet = AttrLabelProxy
+
+textTagLetterSpacing :: AttrLabelProxy "letterSpacing"
+textTagLetterSpacing = AttrLabelProxy
+
+textTagLetterSpacingSet :: AttrLabelProxy "letterSpacingSet"
+textTagLetterSpacingSet = AttrLabelProxy
+
+textTagName :: AttrLabelProxy "name"
+textTagName = AttrLabelProxy
+
+textTagParagraphBackground :: AttrLabelProxy "paragraphBackground"
+textTagParagraphBackground = AttrLabelProxy
+
+textTagParagraphBackgroundGdk :: AttrLabelProxy "paragraphBackgroundGdk"
+textTagParagraphBackgroundGdk = AttrLabelProxy
+
+textTagParagraphBackgroundRgba :: AttrLabelProxy "paragraphBackgroundRgba"
+textTagParagraphBackgroundRgba = AttrLabelProxy
+
+textTagParagraphBackgroundSet :: AttrLabelProxy "paragraphBackgroundSet"
+textTagParagraphBackgroundSet = AttrLabelProxy
+
+textTagPixelsAboveLines :: AttrLabelProxy "pixelsAboveLines"
+textTagPixelsAboveLines = AttrLabelProxy
+
+textTagPixelsAboveLinesSet :: AttrLabelProxy "pixelsAboveLinesSet"
+textTagPixelsAboveLinesSet = AttrLabelProxy
+
+textTagPixelsBelowLines :: AttrLabelProxy "pixelsBelowLines"
+textTagPixelsBelowLines = AttrLabelProxy
+
+textTagPixelsBelowLinesSet :: AttrLabelProxy "pixelsBelowLinesSet"
+textTagPixelsBelowLinesSet = AttrLabelProxy
+
+textTagPixelsInsideWrap :: AttrLabelProxy "pixelsInsideWrap"
+textTagPixelsInsideWrap = AttrLabelProxy
+
+textTagPixelsInsideWrapSet :: AttrLabelProxy "pixelsInsideWrapSet"
+textTagPixelsInsideWrapSet = AttrLabelProxy
+
+textTagRightMargin :: AttrLabelProxy "rightMargin"
+textTagRightMargin = AttrLabelProxy
+
+textTagRightMarginSet :: AttrLabelProxy "rightMarginSet"
+textTagRightMarginSet = AttrLabelProxy
+
+textTagRise :: AttrLabelProxy "rise"
+textTagRise = AttrLabelProxy
+
+textTagRiseSet :: AttrLabelProxy "riseSet"
+textTagRiseSet = AttrLabelProxy
+
+textTagScale :: AttrLabelProxy "scale"
+textTagScale = AttrLabelProxy
+
+textTagScaleSet :: AttrLabelProxy "scaleSet"
+textTagScaleSet = AttrLabelProxy
+
+textTagSize :: AttrLabelProxy "size"
+textTagSize = AttrLabelProxy
+
+textTagSizePoints :: AttrLabelProxy "sizePoints"
+textTagSizePoints = AttrLabelProxy
+
+textTagSizeSet :: AttrLabelProxy "sizeSet"
+textTagSizeSet = AttrLabelProxy
+
+textTagStretch :: AttrLabelProxy "stretch"
+textTagStretch = AttrLabelProxy
+
+textTagStretchSet :: AttrLabelProxy "stretchSet"
+textTagStretchSet = AttrLabelProxy
+
+textTagStrikethrough :: AttrLabelProxy "strikethrough"
+textTagStrikethrough = AttrLabelProxy
+
+textTagStrikethroughRgba :: AttrLabelProxy "strikethroughRgba"
+textTagStrikethroughRgba = AttrLabelProxy
+
+textTagStrikethroughRgbaSet :: AttrLabelProxy "strikethroughRgbaSet"
+textTagStrikethroughRgbaSet = AttrLabelProxy
+
+textTagStrikethroughSet :: AttrLabelProxy "strikethroughSet"
+textTagStrikethroughSet = AttrLabelProxy
+
+textTagStyle :: AttrLabelProxy "style"
+textTagStyle = AttrLabelProxy
+
+textTagStyleSet :: AttrLabelProxy "styleSet"
+textTagStyleSet = AttrLabelProxy
+
+textTagTabs :: AttrLabelProxy "tabs"
+textTagTabs = AttrLabelProxy
+
+textTagTabsSet :: AttrLabelProxy "tabsSet"
+textTagTabsSet = AttrLabelProxy
+
+textTagUnderline :: AttrLabelProxy "underline"
+textTagUnderline = AttrLabelProxy
+
+textTagUnderlineRgba :: AttrLabelProxy "underlineRgba"
+textTagUnderlineRgba = AttrLabelProxy
+
+textTagUnderlineRgbaSet :: AttrLabelProxy "underlineRgbaSet"
+textTagUnderlineRgbaSet = AttrLabelProxy
+
+textTagUnderlineSet :: AttrLabelProxy "underlineSet"
+textTagUnderlineSet = AttrLabelProxy
+
+textTagVariant :: AttrLabelProxy "variant"
+textTagVariant = AttrLabelProxy
+
+textTagVariantSet :: AttrLabelProxy "variantSet"
+textTagVariantSet = AttrLabelProxy
+
+textTagWeight :: AttrLabelProxy "weight"
+textTagWeight = AttrLabelProxy
+
+textTagWeightSet :: AttrLabelProxy "weightSet"
+textTagWeightSet = AttrLabelProxy
+
+textTagWrapMode :: AttrLabelProxy "wrapMode"
+textTagWrapMode = AttrLabelProxy
+
+textTagWrapModeSet :: AttrLabelProxy "wrapModeSet"
+textTagWrapModeSet = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data TextTagEventSignalInfo
+instance SignalInfo TextTagEventSignalInfo where
+    type HaskellCallbackType TextTagEventSignalInfo = TextTagEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextTagEventCallback cb
+        cb'' <- mk_TextTagEventCallback cb'
+        connectSignalFunPtr obj "event" cb'' connectMode
+
+type instance O.SignalList TextTag = TextTagSignalList
+type TextTagSignalList = ('[ '("event", TextTagEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TextTag::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "tag name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextTag"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_new" gtk_text_tag_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr TextTag)
+
+{- |
+Creates a 'GI.Gtk.Objects.TextTag.TextTag'. Configure the tag using object arguments,
+i.e. using @/g_object_set()/@.
+-}
+textTagNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@name@/: tag name, or 'Nothing' -}
+    -> m TextTag
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.TextTag.TextTag' -}
+textTagNew name = liftIO $ do
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    result <- gtk_text_tag_new maybeName
+    checkUnexpectedReturnNULL "textTagNew" result
+    result' <- (wrapObject TextTag) result
+    freeMem maybeName
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TextTag::changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTag.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size_changed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the change affects the #GtkTextView layout.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_changed" gtk_text_tag_changed :: 
+    Ptr TextTag ->                          -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    CInt ->                                 -- size_changed : TBasicType TBoolean
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Objects.TextTagTable.TextTagTable'::@/tag-changed/@ signal on the 'GI.Gtk.Objects.TextTagTable.TextTagTable' where
+the tag is included.
+
+The signal is already emitted when setting a 'GI.Gtk.Objects.TextTag.TextTag' property. This
+function is useful for a 'GI.Gtk.Objects.TextTag.TextTag' subclass.
+
+/Since: 3.20/
+-}
+textTagChanged ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextTag a) =>
+    a
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag'. -}
+    -> Bool
+    {- ^ /@sizeChanged@/: whether the change affects the 'GI.Gtk.Objects.TextView.TextView' layout. -}
+    -> m ()
+textTagChanged tag sizeChanged = liftIO $ do
+    tag' <- unsafeManagedPtrCastPtr tag
+    let sizeChanged' = (fromIntegral . fromEnum) sizeChanged
+    gtk_text_tag_changed tag' sizeChanged'
+    touchManagedPtr tag
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextTagChangedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTextTag a) => O.MethodInfo TextTagChangedMethodInfo a signature where
+    overloadedMethod _ = textTagChanged
+
+#endif
+
+-- method TextTag::event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event_object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "object that received the event, such as a widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location where the event was received", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_event" gtk_text_tag_event :: 
+    Ptr TextTag ->                          -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    Ptr GObject.Object.Object ->            -- event_object : TInterface (Name {namespace = "GObject", name = "Object"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Emits the “event” signal on the 'GI.Gtk.Objects.TextTag.TextTag'.
+-}
+textTagEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextTag a, GObject.Object.IsObject b) =>
+    a
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> b
+    {- ^ /@eventObject@/: object that received the event, such as a widget -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: the event -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: location where the event was received -}
+    -> m Bool
+    {- ^ __Returns:__ result of signal emission (whether the event was handled) -}
+textTagEvent tag eventObject event iter = liftIO $ do
+    tag' <- unsafeManagedPtrCastPtr tag
+    eventObject' <- unsafeManagedPtrCastPtr eventObject
+    event' <- unsafeManagedPtrGetPtr event
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_tag_event tag' eventObject' event' iter'
+    let result' = (/= 0) result
+    touchManagedPtr tag
+    touchManagedPtr eventObject
+    touchManagedPtr event
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextTagEventMethodInfo
+instance (signature ~ (b -> Gdk.Event.Event -> Gtk.TextIter.TextIter -> m Bool), MonadIO m, IsTextTag a, GObject.Object.IsObject b) => O.MethodInfo TextTagEventMethodInfo a signature where
+    overloadedMethod _ = textTagEvent
+
+#endif
+
+-- method TextTag::get_priority
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_get_priority" gtk_text_tag_get_priority :: 
+    Ptr TextTag ->                          -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO Int32
+
+{- |
+Get the tag priority.
+-}
+textTagGetPriority ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextTag a) =>
+    a
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> m Int32
+    {- ^ __Returns:__ The tag’s priority. -}
+textTagGetPriority tag = liftIO $ do
+    tag' <- unsafeManagedPtrCastPtr tag
+    result <- gtk_text_tag_get_priority tag'
+    touchManagedPtr tag
+    return result
+
+#if ENABLE_OVERLOADING
+data TextTagGetPriorityMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextTag a) => O.MethodInfo TextTagGetPriorityMethodInfo a signature where
+    overloadedMethod _ = textTagGetPriority
+
+#endif
+
+-- method TextTag::set_priority
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new priority", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_set_priority" gtk_text_tag_set_priority :: 
+    Ptr TextTag ->                          -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    Int32 ->                                -- priority : TBasicType TInt
+    IO ()
+
+{- |
+Sets the priority of a 'GI.Gtk.Objects.TextTag.TextTag'. Valid priorities
+start at 0 and go to one less than 'GI.Gtk.Objects.TextTagTable.textTagTableGetSize'.
+Each tag in a table has a unique priority; setting the priority
+of one tag shifts the priorities of all the other tags in the
+table to maintain a unique priority for each tag. Higher priority
+tags “win” if two tags both set the same text attribute. When adding
+a tag to a tag table, it will be assigned the highest priority in
+the table by default; so normally the precedence of a set of tags
+is the order in which they were added to the table, or created with
+@/gtk_text_buffer_create_tag()/@, which adds the tag to the buffer’s table
+automatically.
+-}
+textTagSetPriority ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextTag a) =>
+    a
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> Int32
+    {- ^ /@priority@/: the new priority -}
+    -> m ()
+textTagSetPriority tag priority = liftIO $ do
+    tag' <- unsafeManagedPtrCastPtr tag
+    gtk_text_tag_set_priority tag' priority
+    touchManagedPtr tag
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextTagSetPriorityMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextTag a) => O.MethodInfo TextTagSetPriorityMethodInfo a signature where
+    overloadedMethod _ = textTagSetPriority
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TextTag.hs-boot b/GI/Gtk/Objects/TextTag.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextTag.hs-boot
@@ -0,0 +1,266 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TextTag where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextTag = TextTag (ManagedPtr TextTag)
+instance GObject TextTag where
+class (GObject o, O.IsDescendantOf TextTag o) => IsTextTag o
+instance (GObject o, O.IsDescendantOf TextTag o) => IsTextTag o
+instance O.HasParentTypes TextTag
+#if ENABLE_OVERLOADING
+data TextTagAccumulativeMarginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagBackgroundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagBackgroundFullHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagBackgroundFullHeightSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagBackgroundGdkPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagBackgroundRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagBackgroundSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagDirectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagEditablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagEditableSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagFallbackPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagFallbackSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagFamilyPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagFamilySetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagFontPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagFontDescPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagFontFeaturesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagFontFeaturesSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagForegroundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagForegroundGdkPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagForegroundRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagForegroundSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagIndentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagIndentSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagInvisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagInvisibleSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagJustificationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagJustificationSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagLanguagePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagLanguageSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagLeftMarginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagLeftMarginSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagLetterSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagLetterSpacingSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagParagraphBackgroundPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagParagraphBackgroundGdkPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagParagraphBackgroundRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagParagraphBackgroundSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagPixelsAboveLinesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagPixelsAboveLinesSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagPixelsBelowLinesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagPixelsBelowLinesSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagPixelsInsideWrapPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagPixelsInsideWrapSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagRightMarginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagRightMarginSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagRisePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagRiseSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagScalePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagScaleSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagSizePointsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagSizeSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagStretchPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagStretchSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagStrikethroughPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagStrikethroughRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagStrikethroughRgbaSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagStrikethroughSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagStyleSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagTabsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagTabsSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagUnderlinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagUnderlineRgbaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagUnderlineRgbaSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagUnderlineSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagVariantPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagVariantSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagWeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagWeightSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagWrapModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagWrapModeSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagChangedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagEventMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagGetPriorityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagSetPriorityMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TextTagTable.hs b/GI/Gtk/Objects/TextTagTable.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextTagTable.hs
@@ -0,0 +1,720 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+You may wish to begin by reading the
+[text widget conceptual overview][TextWidget]
+which gives an overview of all the objects and
+data types related to the text widget and how they work together.
+
+= GtkTextTagTables as GtkBuildable
+
+The GtkTextTagTable implementation of the GtkBuildable interface
+supports adding tags by specifying “tag” as the “type” attribute
+of a \<child> element.
+
+An example of a UI definition fragment specifying tags:
+>
+><object class="GtkTextTagTable">
+> <child type="tag">
+>   <object class="GtkTextTag"/>
+> </child>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TextTagTable
+    ( 
+
+-- * Exported types
+    TextTagTable(..)                        ,
+    IsTextTagTable                          ,
+    toTextTagTable                          ,
+    noTextTagTable                          ,
+
+
+ -- * Methods
+-- ** add #method:add#
+
+#if ENABLE_OVERLOADING
+    TextTagTableAddMethodInfo               ,
+#endif
+    textTagTableAdd                         ,
+
+
+-- ** foreach #method:foreach#
+
+#if ENABLE_OVERLOADING
+    TextTagTableForeachMethodInfo           ,
+#endif
+    textTagTableForeach                     ,
+
+
+-- ** getSize #method:getSize#
+
+#if ENABLE_OVERLOADING
+    TextTagTableGetSizeMethodInfo           ,
+#endif
+    textTagTableGetSize                     ,
+
+
+-- ** lookup #method:lookup#
+
+#if ENABLE_OVERLOADING
+    TextTagTableLookupMethodInfo            ,
+#endif
+    textTagTableLookup                      ,
+
+
+-- ** new #method:new#
+
+    textTagTableNew                         ,
+
+
+-- ** remove #method:remove#
+
+#if ENABLE_OVERLOADING
+    TextTagTableRemoveMethodInfo            ,
+#endif
+    textTagTableRemove                      ,
+
+
+
+
+ -- * Signals
+-- ** tagAdded #signal:tagAdded#
+
+    C_TextTagTableTagAddedCallback          ,
+    TextTagTableTagAddedCallback            ,
+#if ENABLE_OVERLOADING
+    TextTagTableTagAddedSignalInfo          ,
+#endif
+    afterTextTagTableTagAdded               ,
+    genClosure_TextTagTableTagAdded         ,
+    mk_TextTagTableTagAddedCallback         ,
+    noTextTagTableTagAddedCallback          ,
+    onTextTagTableTagAdded                  ,
+    wrap_TextTagTableTagAddedCallback       ,
+
+
+-- ** tagChanged #signal:tagChanged#
+
+    C_TextTagTableTagChangedCallback        ,
+    TextTagTableTagChangedCallback          ,
+#if ENABLE_OVERLOADING
+    TextTagTableTagChangedSignalInfo        ,
+#endif
+    afterTextTagTableTagChanged             ,
+    genClosure_TextTagTableTagChanged       ,
+    mk_TextTagTableTagChangedCallback       ,
+    noTextTagTableTagChangedCallback        ,
+    onTextTagTableTagChanged                ,
+    wrap_TextTagTableTagChangedCallback     ,
+
+
+-- ** tagRemoved #signal:tagRemoved#
+
+    C_TextTagTableTagRemovedCallback        ,
+    TextTagTableTagRemovedCallback          ,
+#if ENABLE_OVERLOADING
+    TextTagTableTagRemovedSignalInfo        ,
+#endif
+    afterTextTagTableTagRemoved             ,
+    genClosure_TextTagTableTagRemoved       ,
+    mk_TextTagTableTagRemovedCallback       ,
+    noTextTagTableTagRemovedCallback        ,
+    onTextTagTableTagRemoved                ,
+    wrap_TextTagTableTagRemovedCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextTag as Gtk.TextTag
+
+-- | Memory-managed wrapper type.
+newtype TextTagTable = TextTagTable (ManagedPtr TextTagTable)
+foreign import ccall "gtk_text_tag_table_get_type"
+    c_gtk_text_tag_table_get_type :: IO GType
+
+instance GObject TextTagTable where
+    gobjectType = c_gtk_text_tag_table_get_type
+    
+
+-- | Type class for types which can be safely cast to `TextTagTable`, for instance with `toTextTagTable`.
+class (GObject o, O.IsDescendantOf TextTagTable o) => IsTextTagTable o
+instance (GObject o, O.IsDescendantOf TextTagTable o) => IsTextTagTable o
+
+instance O.HasParentTypes TextTagTable
+type instance O.ParentTypes TextTagTable = '[GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `TextTagTable`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTextTagTable :: (MonadIO m, IsTextTagTable o) => o -> m TextTagTable
+toTextTagTable = liftIO . unsafeCastTo TextTagTable
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextTagTable`.
+noTextTagTable :: Maybe TextTagTable
+noTextTagTable = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTextTagTableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextTagTableMethod "add" o = TextTagTableAddMethodInfo
+    ResolveTextTagTableMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveTextTagTableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTextTagTableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTextTagTableMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveTextTagTableMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveTextTagTableMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveTextTagTableMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveTextTagTableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTextTagTableMethod "foreach" o = TextTagTableForeachMethodInfo
+    ResolveTextTagTableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTextTagTableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTextTagTableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTextTagTableMethod "lookup" o = TextTagTableLookupMethodInfo
+    ResolveTextTagTableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTextTagTableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTextTagTableMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveTextTagTableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTextTagTableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTextTagTableMethod "remove" o = TextTagTableRemoveMethodInfo
+    ResolveTextTagTableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTextTagTableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTextTagTableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTextTagTableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTextTagTableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTextTagTableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTextTagTableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTextTagTableMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveTextTagTableMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveTextTagTableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTextTagTableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTextTagTableMethod "getSize" o = TextTagTableGetSizeMethodInfo
+    ResolveTextTagTableMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveTextTagTableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTextTagTableMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveTextTagTableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTextTagTableMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextTagTableMethod t TextTagTable, O.MethodInfo info TextTagTable p) => OL.IsLabel t (TextTagTable -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal TextTagTable::tag-added
+{- |
+/No description available in the introspection data./
+-}
+type TextTagTableTagAddedCallback =
+    Gtk.TextTag.TextTag
+    {- ^ /@tag@/: the added tag. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTagTableTagAddedCallback`@.
+noTextTagTableTagAddedCallback :: Maybe TextTagTableTagAddedCallback
+noTextTagTableTagAddedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextTagTableTagAddedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextTag.TextTag ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextTagTableTagAddedCallback`.
+foreign import ccall "wrapper"
+    mk_TextTagTableTagAddedCallback :: C_TextTagTableTagAddedCallback -> IO (FunPtr C_TextTagTableTagAddedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextTagTableTagAdded :: MonadIO m => TextTagTableTagAddedCallback -> m (GClosure C_TextTagTableTagAddedCallback)
+genClosure_TextTagTableTagAdded cb = liftIO $ do
+    let cb' = wrap_TextTagTableTagAddedCallback cb
+    mk_TextTagTableTagAddedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextTagTableTagAddedCallback` into a `C_TextTagTableTagAddedCallback`.
+wrap_TextTagTableTagAddedCallback ::
+    TextTagTableTagAddedCallback ->
+    C_TextTagTableTagAddedCallback
+wrap_TextTagTableTagAddedCallback _cb _ tag _ = do
+    tag' <- (newObject Gtk.TextTag.TextTag) tag
+    _cb  tag'
+
+
+{- |
+Connect a signal handler for the “@tag-added@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textTagTable #tagAdded callback
+@
+-}
+onTextTagTableTagAdded :: (IsTextTagTable a, MonadIO m) => a -> TextTagTableTagAddedCallback -> m SignalHandlerId
+onTextTagTableTagAdded obj cb = liftIO $ do
+    let cb' = wrap_TextTagTableTagAddedCallback cb
+    cb'' <- mk_TextTagTableTagAddedCallback cb'
+    connectSignalFunPtr obj "tag-added" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@tag-added@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textTagTable #tagAdded callback
+@
+-}
+afterTextTagTableTagAdded :: (IsTextTagTable a, MonadIO m) => a -> TextTagTableTagAddedCallback -> m SignalHandlerId
+afterTextTagTableTagAdded obj cb = liftIO $ do
+    let cb' = wrap_TextTagTableTagAddedCallback cb
+    cb'' <- mk_TextTagTableTagAddedCallback cb'
+    connectSignalFunPtr obj "tag-added" cb'' SignalConnectAfter
+
+
+-- signal TextTagTable::tag-changed
+{- |
+/No description available in the introspection data./
+-}
+type TextTagTableTagChangedCallback =
+    Gtk.TextTag.TextTag
+    {- ^ /@tag@/: the changed tag. -}
+    -> Bool
+    {- ^ /@sizeChanged@/: whether the change affects the 'GI.Gtk.Objects.TextView.TextView' layout. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTagTableTagChangedCallback`@.
+noTextTagTableTagChangedCallback :: Maybe TextTagTableTagChangedCallback
+noTextTagTableTagChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextTagTableTagChangedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextTag.TextTag ->
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextTagTableTagChangedCallback`.
+foreign import ccall "wrapper"
+    mk_TextTagTableTagChangedCallback :: C_TextTagTableTagChangedCallback -> IO (FunPtr C_TextTagTableTagChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextTagTableTagChanged :: MonadIO m => TextTagTableTagChangedCallback -> m (GClosure C_TextTagTableTagChangedCallback)
+genClosure_TextTagTableTagChanged cb = liftIO $ do
+    let cb' = wrap_TextTagTableTagChangedCallback cb
+    mk_TextTagTableTagChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextTagTableTagChangedCallback` into a `C_TextTagTableTagChangedCallback`.
+wrap_TextTagTableTagChangedCallback ::
+    TextTagTableTagChangedCallback ->
+    C_TextTagTableTagChangedCallback
+wrap_TextTagTableTagChangedCallback _cb _ tag sizeChanged _ = do
+    tag' <- (newObject Gtk.TextTag.TextTag) tag
+    let sizeChanged' = (/= 0) sizeChanged
+    _cb  tag' sizeChanged'
+
+
+{- |
+Connect a signal handler for the “@tag-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textTagTable #tagChanged callback
+@
+-}
+onTextTagTableTagChanged :: (IsTextTagTable a, MonadIO m) => a -> TextTagTableTagChangedCallback -> m SignalHandlerId
+onTextTagTableTagChanged obj cb = liftIO $ do
+    let cb' = wrap_TextTagTableTagChangedCallback cb
+    cb'' <- mk_TextTagTableTagChangedCallback cb'
+    connectSignalFunPtr obj "tag-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@tag-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textTagTable #tagChanged callback
+@
+-}
+afterTextTagTableTagChanged :: (IsTextTagTable a, MonadIO m) => a -> TextTagTableTagChangedCallback -> m SignalHandlerId
+afterTextTagTableTagChanged obj cb = liftIO $ do
+    let cb' = wrap_TextTagTableTagChangedCallback cb
+    cb'' <- mk_TextTagTableTagChangedCallback cb'
+    connectSignalFunPtr obj "tag-changed" cb'' SignalConnectAfter
+
+
+-- signal TextTagTable::tag-removed
+{- |
+/No description available in the introspection data./
+-}
+type TextTagTableTagRemovedCallback =
+    Gtk.TextTag.TextTag
+    {- ^ /@tag@/: the removed tag. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextTagTableTagRemovedCallback`@.
+noTextTagTableTagRemovedCallback :: Maybe TextTagTableTagRemovedCallback
+noTextTagTableTagRemovedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextTagTableTagRemovedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TextTag.TextTag ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextTagTableTagRemovedCallback`.
+foreign import ccall "wrapper"
+    mk_TextTagTableTagRemovedCallback :: C_TextTagTableTagRemovedCallback -> IO (FunPtr C_TextTagTableTagRemovedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextTagTableTagRemoved :: MonadIO m => TextTagTableTagRemovedCallback -> m (GClosure C_TextTagTableTagRemovedCallback)
+genClosure_TextTagTableTagRemoved cb = liftIO $ do
+    let cb' = wrap_TextTagTableTagRemovedCallback cb
+    mk_TextTagTableTagRemovedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextTagTableTagRemovedCallback` into a `C_TextTagTableTagRemovedCallback`.
+wrap_TextTagTableTagRemovedCallback ::
+    TextTagTableTagRemovedCallback ->
+    C_TextTagTableTagRemovedCallback
+wrap_TextTagTableTagRemovedCallback _cb _ tag _ = do
+    tag' <- (newObject Gtk.TextTag.TextTag) tag
+    _cb  tag'
+
+
+{- |
+Connect a signal handler for the “@tag-removed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textTagTable #tagRemoved callback
+@
+-}
+onTextTagTableTagRemoved :: (IsTextTagTable a, MonadIO m) => a -> TextTagTableTagRemovedCallback -> m SignalHandlerId
+onTextTagTableTagRemoved obj cb = liftIO $ do
+    let cb' = wrap_TextTagTableTagRemovedCallback cb
+    cb'' <- mk_TextTagTableTagRemovedCallback cb'
+    connectSignalFunPtr obj "tag-removed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@tag-removed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textTagTable #tagRemoved callback
+@
+-}
+afterTextTagTableTagRemoved :: (IsTextTagTable a, MonadIO m) => a -> TextTagTableTagRemovedCallback -> m SignalHandlerId
+afterTextTagTableTagRemoved obj cb = liftIO $ do
+    let cb' = wrap_TextTagTableTagRemovedCallback cb
+    cb'' <- mk_TextTagTableTagRemovedCallback cb'
+    connectSignalFunPtr obj "tag-removed" cb'' SignalConnectAfter
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextTagTable
+type instance O.AttributeList TextTagTable = TextTagTableAttributeList
+type TextTagTableAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+data TextTagTableTagAddedSignalInfo
+instance SignalInfo TextTagTableTagAddedSignalInfo where
+    type HaskellCallbackType TextTagTableTagAddedSignalInfo = TextTagTableTagAddedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextTagTableTagAddedCallback cb
+        cb'' <- mk_TextTagTableTagAddedCallback cb'
+        connectSignalFunPtr obj "tag-added" cb'' connectMode
+
+data TextTagTableTagChangedSignalInfo
+instance SignalInfo TextTagTableTagChangedSignalInfo where
+    type HaskellCallbackType TextTagTableTagChangedSignalInfo = TextTagTableTagChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextTagTableTagChangedCallback cb
+        cb'' <- mk_TextTagTableTagChangedCallback cb'
+        connectSignalFunPtr obj "tag-changed" cb'' connectMode
+
+data TextTagTableTagRemovedSignalInfo
+instance SignalInfo TextTagTableTagRemovedSignalInfo where
+    type HaskellCallbackType TextTagTableTagRemovedSignalInfo = TextTagTableTagRemovedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextTagTableTagRemovedCallback cb
+        cb'' <- mk_TextTagTableTagRemovedCallback cb'
+        connectSignalFunPtr obj "tag-removed" cb'' connectMode
+
+type instance O.SignalList TextTagTable = TextTagTableSignalList
+type TextTagTableSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("tagAdded", TextTagTableTagAddedSignalInfo), '("tagChanged", TextTagTableTagChangedSignalInfo), '("tagRemoved", TextTagTableTagRemovedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TextTagTable::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextTagTable"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_table_new" gtk_text_tag_table_new :: 
+    IO (Ptr TextTagTable)
+
+{- |
+Creates a new 'GI.Gtk.Objects.TextTagTable.TextTagTable'. The table contains no tags by
+default.
+-}
+textTagTableNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m TextTagTable
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.TextTagTable.TextTagTable' -}
+textTagTableNew  = liftIO $ do
+    result <- gtk_text_tag_table_new
+    checkUnexpectedReturnNULL "textTagTableNew" result
+    result' <- (wrapObject TextTagTable) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TextTagTable::add
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "TextTagTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTagTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_table_add" gtk_text_tag_table_add :: 
+    Ptr TextTagTable ->                     -- table : TInterface (Name {namespace = "Gtk", name = "TextTagTable"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO CInt
+
+{- |
+Add a tag to the table. The tag is assigned the highest priority
+in the table.
+
+/@tag@/ must not be in a tag table already, and may not have
+the same name as an already-added tag.
+-}
+textTagTableAdd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextTagTable a, Gtk.TextTag.IsTextTag b) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.TextTagTable.TextTagTable' -}
+    -> b
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' on success. -}
+textTagTableAdd table tag = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    tag' <- unsafeManagedPtrCastPtr tag
+    result <- gtk_text_tag_table_add table' tag'
+    let result' = (/= 0) result
+    touchManagedPtr table
+    touchManagedPtr tag
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextTagTableAddMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsTextTagTable a, Gtk.TextTag.IsTextTag b) => O.MethodInfo TextTagTableAddMethodInfo a signature where
+    overloadedMethod _ = textTagTableAdd
+
+#endif
+
+-- method TextTagTable::foreach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "TextTagTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTagTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TextTagTableForeach"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call on each tag", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_table_foreach" gtk_text_tag_table_foreach :: 
+    Ptr TextTagTable ->                     -- table : TInterface (Name {namespace = "Gtk", name = "TextTagTable"})
+    FunPtr Gtk.Callbacks.C_TextTagTableForeach -> -- func : TInterface (Name {namespace = "Gtk", name = "TextTagTableForeach"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls /@func@/ on each tag in /@table@/, with user data /@data@/.
+Note that the table may not be modified while iterating
+over it (you can’t add\/remove tags).
+-}
+textTagTableForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextTagTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.TextTagTable.TextTagTable' -}
+    -> Gtk.Callbacks.TextTagTableForeach
+    {- ^ /@func@/: a function to call on each tag -}
+    -> m ()
+textTagTableForeach table func = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    func' <- Gtk.Callbacks.mk_TextTagTableForeach (Gtk.Callbacks.wrap_TextTagTableForeach Nothing (Gtk.Callbacks.drop_closures_TextTagTableForeach func))
+    let data_ = nullPtr
+    gtk_text_tag_table_foreach table' func' data_
+    safeFreeFunPtr $ castFunPtrToPtr func'
+    touchManagedPtr table
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextTagTableForeachMethodInfo
+instance (signature ~ (Gtk.Callbacks.TextTagTableForeach -> m ()), MonadIO m, IsTextTagTable a) => O.MethodInfo TextTagTableForeachMethodInfo a signature where
+    overloadedMethod _ = textTagTableForeach
+
+#endif
+
+-- method TextTagTable::get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "TextTagTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTagTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_table_get_size" gtk_text_tag_table_get_size :: 
+    Ptr TextTagTable ->                     -- table : TInterface (Name {namespace = "Gtk", name = "TextTagTable"})
+    IO Int32
+
+{- |
+Returns the size of the table (number of tags)
+-}
+textTagTableGetSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextTagTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.TextTagTable.TextTagTable' -}
+    -> m Int32
+    {- ^ __Returns:__ number of tags in /@table@/ -}
+textTagTableGetSize table = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    result <- gtk_text_tag_table_get_size table'
+    touchManagedPtr table
+    return result
+
+#if ENABLE_OVERLOADING
+data TextTagTableGetSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextTagTable a) => O.MethodInfo TextTagTableGetSizeMethodInfo a signature where
+    overloadedMethod _ = textTagTableGetSize
+
+#endif
+
+-- method TextTagTable::lookup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "TextTagTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTagTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextTag"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_table_lookup" gtk_text_tag_table_lookup :: 
+    Ptr TextTagTable ->                     -- table : TInterface (Name {namespace = "Gtk", name = "TextTagTable"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr Gtk.TextTag.TextTag)
+
+{- |
+Look up a named tag.
+-}
+textTagTableLookup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextTagTable a) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.TextTagTable.TextTagTable' -}
+    -> T.Text
+    {- ^ /@name@/: name of a tag -}
+    -> m (Maybe Gtk.TextTag.TextTag)
+    {- ^ __Returns:__ The tag, or 'Nothing' if none by that
+name is in the table. -}
+textTagTableLookup table name = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    name' <- textToCString name
+    result <- gtk_text_tag_table_lookup table' name'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.TextTag.TextTag) result'
+        return result''
+    touchManagedPtr table
+    freeMem name'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TextTagTableLookupMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.TextTag.TextTag)), MonadIO m, IsTextTagTable a) => O.MethodInfo TextTagTableLookupMethodInfo a signature where
+    overloadedMethod _ = textTagTableLookup
+
+#endif
+
+-- method TextTagTable::remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gtk", name = "TextTagTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTagTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_tag_table_remove" gtk_text_tag_table_remove :: 
+    Ptr TextTagTable ->                     -- table : TInterface (Name {namespace = "Gtk", name = "TextTagTable"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO ()
+
+{- |
+Remove a tag from the table. If a 'GI.Gtk.Objects.TextBuffer.TextBuffer' has /@table@/ as its tag table,
+the tag is removed from the buffer. The table’s reference to the tag is
+removed, so the tag will end up destroyed if you don’t have a reference to
+it.
+-}
+textTagTableRemove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextTagTable a, Gtk.TextTag.IsTextTag b) =>
+    a
+    {- ^ /@table@/: a 'GI.Gtk.Objects.TextTagTable.TextTagTable' -}
+    -> b
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> m ()
+textTagTableRemove table tag = liftIO $ do
+    table' <- unsafeManagedPtrCastPtr table
+    tag' <- unsafeManagedPtrCastPtr tag
+    gtk_text_tag_table_remove table' tag'
+    touchManagedPtr table
+    touchManagedPtr tag
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextTagTableRemoveMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsTextTagTable a, Gtk.TextTag.IsTextTag b) => O.MethodInfo TextTagTableRemoveMethodInfo a signature where
+    overloadedMethod _ = textTagTableRemove
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TextTagTable.hs-boot b/GI/Gtk/Objects/TextTagTable.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextTagTable.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TextTagTable where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextTagTable = TextTagTable (ManagedPtr TextTagTable)
+instance GObject TextTagTable where
+class (GObject o, O.IsDescendantOf TextTagTable o) => IsTextTagTable o
+instance (GObject o, O.IsDescendantOf TextTagTable o) => IsTextTagTable o
+instance O.HasParentTypes TextTagTable
+#if ENABLE_OVERLOADING
+data TextTagTableTagAddedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagTableTagChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagTableTagRemovedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagTableAddMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagTableForeachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagTableGetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagTableLookupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextTagTableRemoveMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TextView.hs b/GI/Gtk/Objects/TextView.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextView.hs
@@ -0,0 +1,7244 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+You may wish to begin by reading the
+[text widget conceptual overview][TextWidget]
+which gives an overview of all the objects and data
+types related to the text widget and how they work together.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>textview.view
+>├── border.top
+>├── border.left
+>├── text
+>│   ╰── [selection]
+>├── border.right
+>├── border.bottom
+>╰── [window.popup]
+
+
+GtkTextView has a main css node with name textview and style class .view,
+and subnodes for each of the border windows, and the main text area,
+with names border and text, respectively. The border nodes each get
+one of the style classes .left, .right, .top or .bottom.
+
+A node representing the selection will appear below the text node.
+
+If a context menu is opened, the window node will appear as a subnode
+of the main node.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TextView
+    ( 
+
+-- * Exported types
+    TextView(..)                            ,
+    IsTextView                              ,
+    toTextView                              ,
+    noTextView                              ,
+
+
+ -- * Methods
+-- ** addChildAtAnchor #method:addChildAtAnchor#
+
+#if ENABLE_OVERLOADING
+    TextViewAddChildAtAnchorMethodInfo      ,
+#endif
+    textViewAddChildAtAnchor                ,
+
+
+-- ** addChildInWindow #method:addChildInWindow#
+
+#if ENABLE_OVERLOADING
+    TextViewAddChildInWindowMethodInfo      ,
+#endif
+    textViewAddChildInWindow                ,
+
+
+-- ** backwardDisplayLine #method:backwardDisplayLine#
+
+#if ENABLE_OVERLOADING
+    TextViewBackwardDisplayLineMethodInfo   ,
+#endif
+    textViewBackwardDisplayLine             ,
+
+
+-- ** backwardDisplayLineStart #method:backwardDisplayLineStart#
+
+#if ENABLE_OVERLOADING
+    TextViewBackwardDisplayLineStartMethodInfo,
+#endif
+    textViewBackwardDisplayLineStart        ,
+
+
+-- ** bufferToWindowCoords #method:bufferToWindowCoords#
+
+#if ENABLE_OVERLOADING
+    TextViewBufferToWindowCoordsMethodInfo  ,
+#endif
+    textViewBufferToWindowCoords            ,
+
+
+-- ** forwardDisplayLine #method:forwardDisplayLine#
+
+#if ENABLE_OVERLOADING
+    TextViewForwardDisplayLineMethodInfo    ,
+#endif
+    textViewForwardDisplayLine              ,
+
+
+-- ** forwardDisplayLineEnd #method:forwardDisplayLineEnd#
+
+#if ENABLE_OVERLOADING
+    TextViewForwardDisplayLineEndMethodInfo ,
+#endif
+    textViewForwardDisplayLineEnd           ,
+
+
+-- ** getAcceptsTab #method:getAcceptsTab#
+
+#if ENABLE_OVERLOADING
+    TextViewGetAcceptsTabMethodInfo         ,
+#endif
+    textViewGetAcceptsTab                   ,
+
+
+-- ** getBorderWindowSize #method:getBorderWindowSize#
+
+#if ENABLE_OVERLOADING
+    TextViewGetBorderWindowSizeMethodInfo   ,
+#endif
+    textViewGetBorderWindowSize             ,
+
+
+-- ** getBottomMargin #method:getBottomMargin#
+
+#if ENABLE_OVERLOADING
+    TextViewGetBottomMarginMethodInfo       ,
+#endif
+    textViewGetBottomMargin                 ,
+
+
+-- ** getBuffer #method:getBuffer#
+
+#if ENABLE_OVERLOADING
+    TextViewGetBufferMethodInfo             ,
+#endif
+    textViewGetBuffer                       ,
+
+
+-- ** getCursorLocations #method:getCursorLocations#
+
+#if ENABLE_OVERLOADING
+    TextViewGetCursorLocationsMethodInfo    ,
+#endif
+    textViewGetCursorLocations              ,
+
+
+-- ** getCursorVisible #method:getCursorVisible#
+
+#if ENABLE_OVERLOADING
+    TextViewGetCursorVisibleMethodInfo      ,
+#endif
+    textViewGetCursorVisible                ,
+
+
+-- ** getDefaultAttributes #method:getDefaultAttributes#
+
+#if ENABLE_OVERLOADING
+    TextViewGetDefaultAttributesMethodInfo  ,
+#endif
+    textViewGetDefaultAttributes            ,
+
+
+-- ** getEditable #method:getEditable#
+
+#if ENABLE_OVERLOADING
+    TextViewGetEditableMethodInfo           ,
+#endif
+    textViewGetEditable                     ,
+
+
+-- ** getHadjustment #method:getHadjustment#
+
+#if ENABLE_OVERLOADING
+    TextViewGetHadjustmentMethodInfo        ,
+#endif
+    textViewGetHadjustment                  ,
+
+
+-- ** getIndent #method:getIndent#
+
+#if ENABLE_OVERLOADING
+    TextViewGetIndentMethodInfo             ,
+#endif
+    textViewGetIndent                       ,
+
+
+-- ** getInputHints #method:getInputHints#
+
+#if ENABLE_OVERLOADING
+    TextViewGetInputHintsMethodInfo         ,
+#endif
+    textViewGetInputHints                   ,
+
+
+-- ** getInputPurpose #method:getInputPurpose#
+
+#if ENABLE_OVERLOADING
+    TextViewGetInputPurposeMethodInfo       ,
+#endif
+    textViewGetInputPurpose                 ,
+
+
+-- ** getIterAtLocation #method:getIterAtLocation#
+
+#if ENABLE_OVERLOADING
+    TextViewGetIterAtLocationMethodInfo     ,
+#endif
+    textViewGetIterAtLocation               ,
+
+
+-- ** getIterAtPosition #method:getIterAtPosition#
+
+#if ENABLE_OVERLOADING
+    TextViewGetIterAtPositionMethodInfo     ,
+#endif
+    textViewGetIterAtPosition               ,
+
+
+-- ** getIterLocation #method:getIterLocation#
+
+#if ENABLE_OVERLOADING
+    TextViewGetIterLocationMethodInfo       ,
+#endif
+    textViewGetIterLocation                 ,
+
+
+-- ** getJustification #method:getJustification#
+
+#if ENABLE_OVERLOADING
+    TextViewGetJustificationMethodInfo      ,
+#endif
+    textViewGetJustification                ,
+
+
+-- ** getLeftMargin #method:getLeftMargin#
+
+#if ENABLE_OVERLOADING
+    TextViewGetLeftMarginMethodInfo         ,
+#endif
+    textViewGetLeftMargin                   ,
+
+
+-- ** getLineAtY #method:getLineAtY#
+
+#if ENABLE_OVERLOADING
+    TextViewGetLineAtYMethodInfo            ,
+#endif
+    textViewGetLineAtY                      ,
+
+
+-- ** getLineYrange #method:getLineYrange#
+
+#if ENABLE_OVERLOADING
+    TextViewGetLineYrangeMethodInfo         ,
+#endif
+    textViewGetLineYrange                   ,
+
+
+-- ** getMonospace #method:getMonospace#
+
+#if ENABLE_OVERLOADING
+    TextViewGetMonospaceMethodInfo          ,
+#endif
+    textViewGetMonospace                    ,
+
+
+-- ** getOverwrite #method:getOverwrite#
+
+#if ENABLE_OVERLOADING
+    TextViewGetOverwriteMethodInfo          ,
+#endif
+    textViewGetOverwrite                    ,
+
+
+-- ** getPixelsAboveLines #method:getPixelsAboveLines#
+
+#if ENABLE_OVERLOADING
+    TextViewGetPixelsAboveLinesMethodInfo   ,
+#endif
+    textViewGetPixelsAboveLines             ,
+
+
+-- ** getPixelsBelowLines #method:getPixelsBelowLines#
+
+#if ENABLE_OVERLOADING
+    TextViewGetPixelsBelowLinesMethodInfo   ,
+#endif
+    textViewGetPixelsBelowLines             ,
+
+
+-- ** getPixelsInsideWrap #method:getPixelsInsideWrap#
+
+#if ENABLE_OVERLOADING
+    TextViewGetPixelsInsideWrapMethodInfo   ,
+#endif
+    textViewGetPixelsInsideWrap             ,
+
+
+-- ** getRightMargin #method:getRightMargin#
+
+#if ENABLE_OVERLOADING
+    TextViewGetRightMarginMethodInfo        ,
+#endif
+    textViewGetRightMargin                  ,
+
+
+-- ** getTabs #method:getTabs#
+
+#if ENABLE_OVERLOADING
+    TextViewGetTabsMethodInfo               ,
+#endif
+    textViewGetTabs                         ,
+
+
+-- ** getTopMargin #method:getTopMargin#
+
+#if ENABLE_OVERLOADING
+    TextViewGetTopMarginMethodInfo          ,
+#endif
+    textViewGetTopMargin                    ,
+
+
+-- ** getVadjustment #method:getVadjustment#
+
+#if ENABLE_OVERLOADING
+    TextViewGetVadjustmentMethodInfo        ,
+#endif
+    textViewGetVadjustment                  ,
+
+
+-- ** getVisibleRect #method:getVisibleRect#
+
+#if ENABLE_OVERLOADING
+    TextViewGetVisibleRectMethodInfo        ,
+#endif
+    textViewGetVisibleRect                  ,
+
+
+-- ** getWindow #method:getWindow#
+
+#if ENABLE_OVERLOADING
+    TextViewGetWindowMethodInfo             ,
+#endif
+    textViewGetWindow                       ,
+
+
+-- ** getWindowType #method:getWindowType#
+
+#if ENABLE_OVERLOADING
+    TextViewGetWindowTypeMethodInfo         ,
+#endif
+    textViewGetWindowType                   ,
+
+
+-- ** getWrapMode #method:getWrapMode#
+
+#if ENABLE_OVERLOADING
+    TextViewGetWrapModeMethodInfo           ,
+#endif
+    textViewGetWrapMode                     ,
+
+
+-- ** imContextFilterKeypress #method:imContextFilterKeypress#
+
+#if ENABLE_OVERLOADING
+    TextViewImContextFilterKeypressMethodInfo,
+#endif
+    textViewImContextFilterKeypress         ,
+
+
+-- ** moveChild #method:moveChild#
+
+#if ENABLE_OVERLOADING
+    TextViewMoveChildMethodInfo             ,
+#endif
+    textViewMoveChild                       ,
+
+
+-- ** moveMarkOnscreen #method:moveMarkOnscreen#
+
+#if ENABLE_OVERLOADING
+    TextViewMoveMarkOnscreenMethodInfo      ,
+#endif
+    textViewMoveMarkOnscreen                ,
+
+
+-- ** moveVisually #method:moveVisually#
+
+#if ENABLE_OVERLOADING
+    TextViewMoveVisuallyMethodInfo          ,
+#endif
+    textViewMoveVisually                    ,
+
+
+-- ** new #method:new#
+
+    textViewNew                             ,
+
+
+-- ** newWithBuffer #method:newWithBuffer#
+
+    textViewNewWithBuffer                   ,
+
+
+-- ** placeCursorOnscreen #method:placeCursorOnscreen#
+
+#if ENABLE_OVERLOADING
+    TextViewPlaceCursorOnscreenMethodInfo   ,
+#endif
+    textViewPlaceCursorOnscreen             ,
+
+
+-- ** resetCursorBlink #method:resetCursorBlink#
+
+#if ENABLE_OVERLOADING
+    TextViewResetCursorBlinkMethodInfo      ,
+#endif
+    textViewResetCursorBlink                ,
+
+
+-- ** resetImContext #method:resetImContext#
+
+#if ENABLE_OVERLOADING
+    TextViewResetImContextMethodInfo        ,
+#endif
+    textViewResetImContext                  ,
+
+
+-- ** scrollMarkOnscreen #method:scrollMarkOnscreen#
+
+#if ENABLE_OVERLOADING
+    TextViewScrollMarkOnscreenMethodInfo    ,
+#endif
+    textViewScrollMarkOnscreen              ,
+
+
+-- ** scrollToIter #method:scrollToIter#
+
+#if ENABLE_OVERLOADING
+    TextViewScrollToIterMethodInfo          ,
+#endif
+    textViewScrollToIter                    ,
+
+
+-- ** scrollToMark #method:scrollToMark#
+
+#if ENABLE_OVERLOADING
+    TextViewScrollToMarkMethodInfo          ,
+#endif
+    textViewScrollToMark                    ,
+
+
+-- ** setAcceptsTab #method:setAcceptsTab#
+
+#if ENABLE_OVERLOADING
+    TextViewSetAcceptsTabMethodInfo         ,
+#endif
+    textViewSetAcceptsTab                   ,
+
+
+-- ** setBorderWindowSize #method:setBorderWindowSize#
+
+#if ENABLE_OVERLOADING
+    TextViewSetBorderWindowSizeMethodInfo   ,
+#endif
+    textViewSetBorderWindowSize             ,
+
+
+-- ** setBottomMargin #method:setBottomMargin#
+
+#if ENABLE_OVERLOADING
+    TextViewSetBottomMarginMethodInfo       ,
+#endif
+    textViewSetBottomMargin                 ,
+
+
+-- ** setBuffer #method:setBuffer#
+
+#if ENABLE_OVERLOADING
+    TextViewSetBufferMethodInfo             ,
+#endif
+    textViewSetBuffer                       ,
+
+
+-- ** setCursorVisible #method:setCursorVisible#
+
+#if ENABLE_OVERLOADING
+    TextViewSetCursorVisibleMethodInfo      ,
+#endif
+    textViewSetCursorVisible                ,
+
+
+-- ** setEditable #method:setEditable#
+
+#if ENABLE_OVERLOADING
+    TextViewSetEditableMethodInfo           ,
+#endif
+    textViewSetEditable                     ,
+
+
+-- ** setIndent #method:setIndent#
+
+#if ENABLE_OVERLOADING
+    TextViewSetIndentMethodInfo             ,
+#endif
+    textViewSetIndent                       ,
+
+
+-- ** setInputHints #method:setInputHints#
+
+#if ENABLE_OVERLOADING
+    TextViewSetInputHintsMethodInfo         ,
+#endif
+    textViewSetInputHints                   ,
+
+
+-- ** setInputPurpose #method:setInputPurpose#
+
+#if ENABLE_OVERLOADING
+    TextViewSetInputPurposeMethodInfo       ,
+#endif
+    textViewSetInputPurpose                 ,
+
+
+-- ** setJustification #method:setJustification#
+
+#if ENABLE_OVERLOADING
+    TextViewSetJustificationMethodInfo      ,
+#endif
+    textViewSetJustification                ,
+
+
+-- ** setLeftMargin #method:setLeftMargin#
+
+#if ENABLE_OVERLOADING
+    TextViewSetLeftMarginMethodInfo         ,
+#endif
+    textViewSetLeftMargin                   ,
+
+
+-- ** setMonospace #method:setMonospace#
+
+#if ENABLE_OVERLOADING
+    TextViewSetMonospaceMethodInfo          ,
+#endif
+    textViewSetMonospace                    ,
+
+
+-- ** setOverwrite #method:setOverwrite#
+
+#if ENABLE_OVERLOADING
+    TextViewSetOverwriteMethodInfo          ,
+#endif
+    textViewSetOverwrite                    ,
+
+
+-- ** setPixelsAboveLines #method:setPixelsAboveLines#
+
+#if ENABLE_OVERLOADING
+    TextViewSetPixelsAboveLinesMethodInfo   ,
+#endif
+    textViewSetPixelsAboveLines             ,
+
+
+-- ** setPixelsBelowLines #method:setPixelsBelowLines#
+
+#if ENABLE_OVERLOADING
+    TextViewSetPixelsBelowLinesMethodInfo   ,
+#endif
+    textViewSetPixelsBelowLines             ,
+
+
+-- ** setPixelsInsideWrap #method:setPixelsInsideWrap#
+
+#if ENABLE_OVERLOADING
+    TextViewSetPixelsInsideWrapMethodInfo   ,
+#endif
+    textViewSetPixelsInsideWrap             ,
+
+
+-- ** setRightMargin #method:setRightMargin#
+
+#if ENABLE_OVERLOADING
+    TextViewSetRightMarginMethodInfo        ,
+#endif
+    textViewSetRightMargin                  ,
+
+
+-- ** setTabs #method:setTabs#
+
+#if ENABLE_OVERLOADING
+    TextViewSetTabsMethodInfo               ,
+#endif
+    textViewSetTabs                         ,
+
+
+-- ** setTopMargin #method:setTopMargin#
+
+#if ENABLE_OVERLOADING
+    TextViewSetTopMarginMethodInfo          ,
+#endif
+    textViewSetTopMargin                    ,
+
+
+-- ** setWrapMode #method:setWrapMode#
+
+#if ENABLE_OVERLOADING
+    TextViewSetWrapModeMethodInfo           ,
+#endif
+    textViewSetWrapMode                     ,
+
+
+-- ** startsDisplayLine #method:startsDisplayLine#
+
+#if ENABLE_OVERLOADING
+    TextViewStartsDisplayLineMethodInfo     ,
+#endif
+    textViewStartsDisplayLine               ,
+
+
+-- ** windowToBufferCoords #method:windowToBufferCoords#
+
+#if ENABLE_OVERLOADING
+    TextViewWindowToBufferCoordsMethodInfo  ,
+#endif
+    textViewWindowToBufferCoords            ,
+
+
+
+
+ -- * Properties
+-- ** acceptsTab #attr:acceptsTab#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewAcceptsTabPropertyInfo          ,
+#endif
+    constructTextViewAcceptsTab             ,
+    getTextViewAcceptsTab                   ,
+    setTextViewAcceptsTab                   ,
+#if ENABLE_OVERLOADING
+    textViewAcceptsTab                      ,
+#endif
+
+
+-- ** bottomMargin #attr:bottomMargin#
+{- | The bottom margin for text in the text view.
+
+Note that this property is confusingly named. In CSS terms,
+the value set here is padding, and it is applied in addition
+to the padding from the theme.
+
+Don\'t confuse this property with 'GI.Gtk.Objects.Widget.Widget':@/margin-bottom/@.
+
+/Since: 3.18/
+-}
+#if ENABLE_OVERLOADING
+    TextViewBottomMarginPropertyInfo        ,
+#endif
+    constructTextViewBottomMargin           ,
+    getTextViewBottomMargin                 ,
+    setTextViewBottomMargin                 ,
+#if ENABLE_OVERLOADING
+    textViewBottomMargin                    ,
+#endif
+
+
+-- ** buffer #attr:buffer#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewBufferPropertyInfo              ,
+#endif
+    clearTextViewBuffer                     ,
+    constructTextViewBuffer                 ,
+    getTextViewBuffer                       ,
+    setTextViewBuffer                       ,
+#if ENABLE_OVERLOADING
+    textViewBuffer                          ,
+#endif
+
+
+-- ** cursorVisible #attr:cursorVisible#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewCursorVisiblePropertyInfo       ,
+#endif
+    constructTextViewCursorVisible          ,
+    getTextViewCursorVisible                ,
+    setTextViewCursorVisible                ,
+#if ENABLE_OVERLOADING
+    textViewCursorVisible                   ,
+#endif
+
+
+-- ** editable #attr:editable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewEditablePropertyInfo            ,
+#endif
+    constructTextViewEditable               ,
+    getTextViewEditable                     ,
+    setTextViewEditable                     ,
+#if ENABLE_OVERLOADING
+    textViewEditable                        ,
+#endif
+
+
+-- ** imModule #attr:imModule#
+{- | Which IM (input method) module should be used for this text_view.
+See 'GI.Gtk.Objects.IMContext.IMContext'.
+
+Setting this to a non-'Nothing' value overrides the
+system-wide IM module setting. See the GtkSettings
+'GI.Gtk.Objects.Settings.Settings':@/gtk-im-module/@ property.
+
+/Since: 2.16/
+-}
+#if ENABLE_OVERLOADING
+    TextViewImModulePropertyInfo            ,
+#endif
+    clearTextViewImModule                   ,
+    constructTextViewImModule               ,
+    getTextViewImModule                     ,
+    setTextViewImModule                     ,
+#if ENABLE_OVERLOADING
+    textViewImModule                        ,
+#endif
+
+
+-- ** indent #attr:indent#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewIndentPropertyInfo              ,
+#endif
+    constructTextViewIndent                 ,
+    getTextViewIndent                       ,
+    setTextViewIndent                       ,
+#if ENABLE_OVERLOADING
+    textViewIndent                          ,
+#endif
+
+
+-- ** inputHints #attr:inputHints#
+{- | Additional hints (beyond 'GI.Gtk.Objects.TextView.TextView':@/input-purpose/@) that
+allow input methods to fine-tune their behaviour.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    TextViewInputHintsPropertyInfo          ,
+#endif
+    constructTextViewInputHints             ,
+    getTextViewInputHints                   ,
+    setTextViewInputHints                   ,
+#if ENABLE_OVERLOADING
+    textViewInputHints                      ,
+#endif
+
+
+-- ** inputPurpose #attr:inputPurpose#
+{- | The purpose of this text field.
+
+This property can be used by on-screen keyboards and other input
+methods to adjust their behaviour.
+
+/Since: 3.6/
+-}
+#if ENABLE_OVERLOADING
+    TextViewInputPurposePropertyInfo        ,
+#endif
+    constructTextViewInputPurpose           ,
+    getTextViewInputPurpose                 ,
+    setTextViewInputPurpose                 ,
+#if ENABLE_OVERLOADING
+    textViewInputPurpose                    ,
+#endif
+
+
+-- ** justification #attr:justification#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewJustificationPropertyInfo       ,
+#endif
+    constructTextViewJustification          ,
+    getTextViewJustification                ,
+    setTextViewJustification                ,
+#if ENABLE_OVERLOADING
+    textViewJustification                   ,
+#endif
+
+
+-- ** leftMargin #attr:leftMargin#
+{- | The default left margin for text in the text view.
+Tags in the buffer may override the default.
+
+Note that this property is confusingly named. In CSS terms,
+the value set here is padding, and it is applied in addition
+to the padding from the theme.
+
+Don\'t confuse this property with 'GI.Gtk.Objects.Widget.Widget':@/margin-left/@.
+-}
+#if ENABLE_OVERLOADING
+    TextViewLeftMarginPropertyInfo          ,
+#endif
+    constructTextViewLeftMargin             ,
+    getTextViewLeftMargin                   ,
+    setTextViewLeftMargin                   ,
+#if ENABLE_OVERLOADING
+    textViewLeftMargin                      ,
+#endif
+
+
+-- ** monospace #attr:monospace#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewMonospacePropertyInfo           ,
+#endif
+    constructTextViewMonospace              ,
+    getTextViewMonospace                    ,
+    setTextViewMonospace                    ,
+#if ENABLE_OVERLOADING
+    textViewMonospace                       ,
+#endif
+
+
+-- ** overwrite #attr:overwrite#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewOverwritePropertyInfo           ,
+#endif
+    constructTextViewOverwrite              ,
+    getTextViewOverwrite                    ,
+    setTextViewOverwrite                    ,
+#if ENABLE_OVERLOADING
+    textViewOverwrite                       ,
+#endif
+
+
+-- ** pixelsAboveLines #attr:pixelsAboveLines#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewPixelsAboveLinesPropertyInfo    ,
+#endif
+    constructTextViewPixelsAboveLines       ,
+    getTextViewPixelsAboveLines             ,
+    setTextViewPixelsAboveLines             ,
+#if ENABLE_OVERLOADING
+    textViewPixelsAboveLines                ,
+#endif
+
+
+-- ** pixelsBelowLines #attr:pixelsBelowLines#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewPixelsBelowLinesPropertyInfo    ,
+#endif
+    constructTextViewPixelsBelowLines       ,
+    getTextViewPixelsBelowLines             ,
+    setTextViewPixelsBelowLines             ,
+#if ENABLE_OVERLOADING
+    textViewPixelsBelowLines                ,
+#endif
+
+
+-- ** pixelsInsideWrap #attr:pixelsInsideWrap#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewPixelsInsideWrapPropertyInfo    ,
+#endif
+    constructTextViewPixelsInsideWrap       ,
+    getTextViewPixelsInsideWrap             ,
+    setTextViewPixelsInsideWrap             ,
+#if ENABLE_OVERLOADING
+    textViewPixelsInsideWrap                ,
+#endif
+
+
+-- ** populateAll #attr:populateAll#
+{- | If :populate-all is 'True', the 'GI.Gtk.Objects.TextView.TextView'::@/populate-popup/@
+signal is also emitted for touch popups.
+
+/Since: 3.8/
+-}
+#if ENABLE_OVERLOADING
+    TextViewPopulateAllPropertyInfo         ,
+#endif
+    constructTextViewPopulateAll            ,
+    getTextViewPopulateAll                  ,
+    setTextViewPopulateAll                  ,
+#if ENABLE_OVERLOADING
+    textViewPopulateAll                     ,
+#endif
+
+
+-- ** rightMargin #attr:rightMargin#
+{- | The default right margin for text in the text view.
+Tags in the buffer may override the default.
+
+Note that this property is confusingly named. In CSS terms,
+the value set here is padding, and it is applied in addition
+to the padding from the theme.
+
+Don\'t confuse this property with 'GI.Gtk.Objects.Widget.Widget':@/margin-right/@.
+-}
+#if ENABLE_OVERLOADING
+    TextViewRightMarginPropertyInfo         ,
+#endif
+    constructTextViewRightMargin            ,
+    getTextViewRightMargin                  ,
+    setTextViewRightMargin                  ,
+#if ENABLE_OVERLOADING
+    textViewRightMargin                     ,
+#endif
+
+
+-- ** tabs #attr:tabs#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewTabsPropertyInfo                ,
+#endif
+    constructTextViewTabs                   ,
+    getTextViewTabs                         ,
+    setTextViewTabs                         ,
+#if ENABLE_OVERLOADING
+    textViewTabs                            ,
+#endif
+
+
+-- ** topMargin #attr:topMargin#
+{- | The top margin for text in the text view.
+
+Note that this property is confusingly named. In CSS terms,
+the value set here is padding, and it is applied in addition
+to the padding from the theme.
+
+Don\'t confuse this property with 'GI.Gtk.Objects.Widget.Widget':@/margin-top/@.
+
+/Since: 3.18/
+-}
+#if ENABLE_OVERLOADING
+    TextViewTopMarginPropertyInfo           ,
+#endif
+    constructTextViewTopMargin              ,
+    getTextViewTopMargin                    ,
+    setTextViewTopMargin                    ,
+#if ENABLE_OVERLOADING
+    textViewTopMargin                       ,
+#endif
+
+
+-- ** wrapMode #attr:wrapMode#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TextViewWrapModePropertyInfo            ,
+#endif
+    constructTextViewWrapMode               ,
+    getTextViewWrapMode                     ,
+    setTextViewWrapMode                     ,
+#if ENABLE_OVERLOADING
+    textViewWrapMode                        ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** backspace #signal:backspace#
+
+    C_TextViewBackspaceCallback             ,
+    TextViewBackspaceCallback               ,
+#if ENABLE_OVERLOADING
+    TextViewBackspaceSignalInfo             ,
+#endif
+    afterTextViewBackspace                  ,
+    genClosure_TextViewBackspace            ,
+    mk_TextViewBackspaceCallback            ,
+    noTextViewBackspaceCallback             ,
+    onTextViewBackspace                     ,
+    wrap_TextViewBackspaceCallback          ,
+
+
+-- ** copyClipboard #signal:copyClipboard#
+
+    C_TextViewCopyClipboardCallback         ,
+    TextViewCopyClipboardCallback           ,
+#if ENABLE_OVERLOADING
+    TextViewCopyClipboardSignalInfo         ,
+#endif
+    afterTextViewCopyClipboard              ,
+    genClosure_TextViewCopyClipboard        ,
+    mk_TextViewCopyClipboardCallback        ,
+    noTextViewCopyClipboardCallback         ,
+    onTextViewCopyClipboard                 ,
+    wrap_TextViewCopyClipboardCallback      ,
+
+
+-- ** cutClipboard #signal:cutClipboard#
+
+    C_TextViewCutClipboardCallback          ,
+    TextViewCutClipboardCallback            ,
+#if ENABLE_OVERLOADING
+    TextViewCutClipboardSignalInfo          ,
+#endif
+    afterTextViewCutClipboard               ,
+    genClosure_TextViewCutClipboard         ,
+    mk_TextViewCutClipboardCallback         ,
+    noTextViewCutClipboardCallback          ,
+    onTextViewCutClipboard                  ,
+    wrap_TextViewCutClipboardCallback       ,
+
+
+-- ** deleteFromCursor #signal:deleteFromCursor#
+
+    C_TextViewDeleteFromCursorCallback      ,
+    TextViewDeleteFromCursorCallback        ,
+#if ENABLE_OVERLOADING
+    TextViewDeleteFromCursorSignalInfo      ,
+#endif
+    afterTextViewDeleteFromCursor           ,
+    genClosure_TextViewDeleteFromCursor     ,
+    mk_TextViewDeleteFromCursorCallback     ,
+    noTextViewDeleteFromCursorCallback      ,
+    onTextViewDeleteFromCursor              ,
+    wrap_TextViewDeleteFromCursorCallback   ,
+
+
+-- ** extendSelection #signal:extendSelection#
+
+    C_TextViewExtendSelectionCallback       ,
+    TextViewExtendSelectionCallback         ,
+#if ENABLE_OVERLOADING
+    TextViewExtendSelectionSignalInfo       ,
+#endif
+    afterTextViewExtendSelection            ,
+    genClosure_TextViewExtendSelection      ,
+    mk_TextViewExtendSelectionCallback      ,
+    noTextViewExtendSelectionCallback       ,
+    onTextViewExtendSelection               ,
+    wrap_TextViewExtendSelectionCallback    ,
+
+
+-- ** insertAtCursor #signal:insertAtCursor#
+
+    C_TextViewInsertAtCursorCallback        ,
+    TextViewInsertAtCursorCallback          ,
+#if ENABLE_OVERLOADING
+    TextViewInsertAtCursorSignalInfo        ,
+#endif
+    afterTextViewInsertAtCursor             ,
+    genClosure_TextViewInsertAtCursor       ,
+    mk_TextViewInsertAtCursorCallback       ,
+    noTextViewInsertAtCursorCallback        ,
+    onTextViewInsertAtCursor                ,
+    wrap_TextViewInsertAtCursorCallback     ,
+
+
+-- ** insertEmoji #signal:insertEmoji#
+
+    C_TextViewInsertEmojiCallback           ,
+    TextViewInsertEmojiCallback             ,
+#if ENABLE_OVERLOADING
+    TextViewInsertEmojiSignalInfo           ,
+#endif
+    afterTextViewInsertEmoji                ,
+    genClosure_TextViewInsertEmoji          ,
+    mk_TextViewInsertEmojiCallback          ,
+    noTextViewInsertEmojiCallback           ,
+    onTextViewInsertEmoji                   ,
+    wrap_TextViewInsertEmojiCallback        ,
+
+
+-- ** moveCursor #signal:moveCursor#
+
+    C_TextViewMoveCursorCallback            ,
+    TextViewMoveCursorCallback              ,
+#if ENABLE_OVERLOADING
+    TextViewMoveCursorSignalInfo            ,
+#endif
+    afterTextViewMoveCursor                 ,
+    genClosure_TextViewMoveCursor           ,
+    mk_TextViewMoveCursorCallback           ,
+    noTextViewMoveCursorCallback            ,
+    onTextViewMoveCursor                    ,
+    wrap_TextViewMoveCursorCallback         ,
+
+
+-- ** moveViewport #signal:moveViewport#
+
+    C_TextViewMoveViewportCallback          ,
+    TextViewMoveViewportCallback            ,
+#if ENABLE_OVERLOADING
+    TextViewMoveViewportSignalInfo          ,
+#endif
+    afterTextViewMoveViewport               ,
+    genClosure_TextViewMoveViewport         ,
+    mk_TextViewMoveViewportCallback         ,
+    noTextViewMoveViewportCallback          ,
+    onTextViewMoveViewport                  ,
+    wrap_TextViewMoveViewportCallback       ,
+
+
+-- ** pasteClipboard #signal:pasteClipboard#
+
+    C_TextViewPasteClipboardCallback        ,
+    TextViewPasteClipboardCallback          ,
+#if ENABLE_OVERLOADING
+    TextViewPasteClipboardSignalInfo        ,
+#endif
+    afterTextViewPasteClipboard             ,
+    genClosure_TextViewPasteClipboard       ,
+    mk_TextViewPasteClipboardCallback       ,
+    noTextViewPasteClipboardCallback        ,
+    onTextViewPasteClipboard                ,
+    wrap_TextViewPasteClipboardCallback     ,
+
+
+-- ** populatePopup #signal:populatePopup#
+
+    C_TextViewPopulatePopupCallback         ,
+    TextViewPopulatePopupCallback           ,
+#if ENABLE_OVERLOADING
+    TextViewPopulatePopupSignalInfo         ,
+#endif
+    afterTextViewPopulatePopup              ,
+    genClosure_TextViewPopulatePopup        ,
+    mk_TextViewPopulatePopupCallback        ,
+    noTextViewPopulatePopupCallback         ,
+    onTextViewPopulatePopup                 ,
+    wrap_TextViewPopulatePopupCallback      ,
+
+
+-- ** preeditChanged #signal:preeditChanged#
+
+    C_TextViewPreeditChangedCallback        ,
+    TextViewPreeditChangedCallback          ,
+#if ENABLE_OVERLOADING
+    TextViewPreeditChangedSignalInfo        ,
+#endif
+    afterTextViewPreeditChanged             ,
+    genClosure_TextViewPreeditChanged       ,
+    mk_TextViewPreeditChangedCallback       ,
+    noTextViewPreeditChangedCallback        ,
+    onTextViewPreeditChanged                ,
+    wrap_TextViewPreeditChangedCallback     ,
+
+
+-- ** selectAll #signal:selectAll#
+
+    C_TextViewSelectAllCallback             ,
+    TextViewSelectAllCallback               ,
+#if ENABLE_OVERLOADING
+    TextViewSelectAllSignalInfo             ,
+#endif
+    afterTextViewSelectAll                  ,
+    genClosure_TextViewSelectAll            ,
+    mk_TextViewSelectAllCallback            ,
+    noTextViewSelectAllCallback             ,
+    onTextViewSelectAll                     ,
+    wrap_TextViewSelectAllCallback          ,
+
+
+-- ** setAnchor #signal:setAnchor#
+
+    C_TextViewSetAnchorCallback             ,
+    TextViewSetAnchorCallback               ,
+#if ENABLE_OVERLOADING
+    TextViewSetAnchorSignalInfo             ,
+#endif
+    afterTextViewSetAnchor                  ,
+    genClosure_TextViewSetAnchor            ,
+    mk_TextViewSetAnchorCallback            ,
+    noTextViewSetAnchorCallback             ,
+    onTextViewSetAnchor                     ,
+    wrap_TextViewSetAnchorCallback          ,
+
+
+-- ** toggleCursorVisible #signal:toggleCursorVisible#
+
+    C_TextViewToggleCursorVisibleCallback   ,
+    TextViewToggleCursorVisibleCallback     ,
+#if ENABLE_OVERLOADING
+    TextViewToggleCursorVisibleSignalInfo   ,
+#endif
+    afterTextViewToggleCursorVisible        ,
+    genClosure_TextViewToggleCursorVisible  ,
+    mk_TextViewToggleCursorVisibleCallback  ,
+    noTextViewToggleCursorVisibleCallback   ,
+    onTextViewToggleCursorVisible           ,
+    wrap_TextViewToggleCursorVisibleCallback,
+
+
+-- ** toggleOverwrite #signal:toggleOverwrite#
+
+    C_TextViewToggleOverwriteCallback       ,
+    TextViewToggleOverwriteCallback         ,
+#if ENABLE_OVERLOADING
+    TextViewToggleOverwriteSignalInfo       ,
+#endif
+    afterTextViewToggleOverwrite            ,
+    genClosure_TextViewToggleOverwrite      ,
+    mk_TextViewToggleOverwriteCallback      ,
+    noTextViewToggleOverwriteCallback       ,
+    onTextViewToggleOverwrite               ,
+    wrap_TextViewToggleOverwriteCallback    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Scrollable as Gtk.Scrollable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextChildAnchor as Gtk.TextChildAnchor
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextMark as Gtk.TextMark
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TextAttributes as Gtk.TextAttributes
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TextIter as Gtk.TextIter
+import qualified GI.Pango.Structs.TabArray as Pango.TabArray
+
+-- | Memory-managed wrapper type.
+newtype TextView = TextView (ManagedPtr TextView)
+foreign import ccall "gtk_text_view_get_type"
+    c_gtk_text_view_get_type :: IO GType
+
+instance GObject TextView where
+    gobjectType = c_gtk_text_view_get_type
+    
+
+-- | Type class for types which can be safely cast to `TextView`, for instance with `toTextView`.
+class (GObject o, O.IsDescendantOf TextView o) => IsTextView o
+instance (GObject o, O.IsDescendantOf TextView o) => IsTextView o
+
+instance O.HasParentTypes TextView
+type instance O.ParentTypes TextView = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Scrollable.Scrollable]
+
+-- | Cast to `TextView`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTextView :: (MonadIO m, IsTextView o) => o -> m TextView
+toTextView = liftIO . unsafeCastTo TextView
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextView`.
+noTextView :: Maybe TextView
+noTextView = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTextViewMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextViewMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveTextViewMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveTextViewMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveTextViewMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveTextViewMethod "addChildAtAnchor" o = TextViewAddChildAtAnchorMethodInfo
+    ResolveTextViewMethod "addChildInWindow" o = TextViewAddChildInWindowMethodInfo
+    ResolveTextViewMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveTextViewMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveTextViewMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveTextViewMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveTextViewMethod "backwardDisplayLine" o = TextViewBackwardDisplayLineMethodInfo
+    ResolveTextViewMethod "backwardDisplayLineStart" o = TextViewBackwardDisplayLineStartMethodInfo
+    ResolveTextViewMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTextViewMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTextViewMethod "bufferToWindowCoords" o = TextViewBufferToWindowCoordsMethodInfo
+    ResolveTextViewMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveTextViewMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveTextViewMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveTextViewMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveTextViewMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveTextViewMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveTextViewMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveTextViewMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveTextViewMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveTextViewMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveTextViewMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveTextViewMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveTextViewMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveTextViewMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveTextViewMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveTextViewMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveTextViewMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveTextViewMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveTextViewMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveTextViewMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveTextViewMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveTextViewMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveTextViewMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveTextViewMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveTextViewMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveTextViewMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveTextViewMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveTextViewMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveTextViewMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveTextViewMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveTextViewMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveTextViewMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveTextViewMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveTextViewMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveTextViewMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveTextViewMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveTextViewMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveTextViewMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveTextViewMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveTextViewMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveTextViewMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveTextViewMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveTextViewMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveTextViewMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveTextViewMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveTextViewMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveTextViewMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveTextViewMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveTextViewMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveTextViewMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveTextViewMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveTextViewMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveTextViewMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTextViewMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveTextViewMethod "forwardDisplayLine" o = TextViewForwardDisplayLineMethodInfo
+    ResolveTextViewMethod "forwardDisplayLineEnd" o = TextViewForwardDisplayLineEndMethodInfo
+    ResolveTextViewMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveTextViewMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTextViewMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTextViewMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveTextViewMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveTextViewMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveTextViewMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveTextViewMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveTextViewMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveTextViewMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveTextViewMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveTextViewMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveTextViewMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveTextViewMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveTextViewMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveTextViewMethod "imContextFilterKeypress" o = TextViewImContextFilterKeypressMethodInfo
+    ResolveTextViewMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveTextViewMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveTextViewMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveTextViewMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveTextViewMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveTextViewMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveTextViewMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveTextViewMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveTextViewMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTextViewMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveTextViewMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveTextViewMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveTextViewMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveTextViewMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveTextViewMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveTextViewMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveTextViewMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveTextViewMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveTextViewMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveTextViewMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveTextViewMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveTextViewMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveTextViewMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveTextViewMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveTextViewMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveTextViewMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveTextViewMethod "moveChild" o = TextViewMoveChildMethodInfo
+    ResolveTextViewMethod "moveMarkOnscreen" o = TextViewMoveMarkOnscreenMethodInfo
+    ResolveTextViewMethod "moveVisually" o = TextViewMoveVisuallyMethodInfo
+    ResolveTextViewMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTextViewMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTextViewMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveTextViewMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveTextViewMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveTextViewMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveTextViewMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveTextViewMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveTextViewMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveTextViewMethod "placeCursorOnscreen" o = TextViewPlaceCursorOnscreenMethodInfo
+    ResolveTextViewMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveTextViewMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveTextViewMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveTextViewMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveTextViewMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveTextViewMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveTextViewMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveTextViewMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveTextViewMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveTextViewMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTextViewMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTextViewMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveTextViewMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveTextViewMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveTextViewMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveTextViewMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveTextViewMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveTextViewMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveTextViewMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveTextViewMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveTextViewMethod "resetCursorBlink" o = TextViewResetCursorBlinkMethodInfo
+    ResolveTextViewMethod "resetImContext" o = TextViewResetImContextMethodInfo
+    ResolveTextViewMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveTextViewMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveTextViewMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveTextViewMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTextViewMethod "scrollMarkOnscreen" o = TextViewScrollMarkOnscreenMethodInfo
+    ResolveTextViewMethod "scrollToIter" o = TextViewScrollToIterMethodInfo
+    ResolveTextViewMethod "scrollToMark" o = TextViewScrollToMarkMethodInfo
+    ResolveTextViewMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveTextViewMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveTextViewMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveTextViewMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveTextViewMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveTextViewMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveTextViewMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveTextViewMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveTextViewMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveTextViewMethod "startsDisplayLine" o = TextViewStartsDisplayLineMethodInfo
+    ResolveTextViewMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTextViewMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTextViewMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveTextViewMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveTextViewMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveTextViewMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTextViewMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveTextViewMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveTextViewMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveTextViewMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveTextViewMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveTextViewMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTextViewMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveTextViewMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveTextViewMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveTextViewMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTextViewMethod "windowToBufferCoords" o = TextViewWindowToBufferCoordsMethodInfo
+    ResolveTextViewMethod "getAcceptsTab" o = TextViewGetAcceptsTabMethodInfo
+    ResolveTextViewMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveTextViewMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveTextViewMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveTextViewMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveTextViewMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveTextViewMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveTextViewMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveTextViewMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveTextViewMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveTextViewMethod "getBorder" o = Gtk.Scrollable.ScrollableGetBorderMethodInfo
+    ResolveTextViewMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveTextViewMethod "getBorderWindowSize" o = TextViewGetBorderWindowSizeMethodInfo
+    ResolveTextViewMethod "getBottomMargin" o = TextViewGetBottomMarginMethodInfo
+    ResolveTextViewMethod "getBuffer" o = TextViewGetBufferMethodInfo
+    ResolveTextViewMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveTextViewMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveTextViewMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveTextViewMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveTextViewMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveTextViewMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveTextViewMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveTextViewMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveTextViewMethod "getCursorLocations" o = TextViewGetCursorLocationsMethodInfo
+    ResolveTextViewMethod "getCursorVisible" o = TextViewGetCursorVisibleMethodInfo
+    ResolveTextViewMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTextViewMethod "getDefaultAttributes" o = TextViewGetDefaultAttributesMethodInfo
+    ResolveTextViewMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveTextViewMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveTextViewMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveTextViewMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveTextViewMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveTextViewMethod "getEditable" o = TextViewGetEditableMethodInfo
+    ResolveTextViewMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveTextViewMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveTextViewMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveTextViewMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveTextViewMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveTextViewMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveTextViewMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveTextViewMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveTextViewMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveTextViewMethod "getHadjustment" o = TextViewGetHadjustmentMethodInfo
+    ResolveTextViewMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveTextViewMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveTextViewMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveTextViewMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveTextViewMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveTextViewMethod "getHscrollPolicy" o = Gtk.Scrollable.ScrollableGetHscrollPolicyMethodInfo
+    ResolveTextViewMethod "getIndent" o = TextViewGetIndentMethodInfo
+    ResolveTextViewMethod "getInputHints" o = TextViewGetInputHintsMethodInfo
+    ResolveTextViewMethod "getInputPurpose" o = TextViewGetInputPurposeMethodInfo
+    ResolveTextViewMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveTextViewMethod "getIterAtLocation" o = TextViewGetIterAtLocationMethodInfo
+    ResolveTextViewMethod "getIterAtPosition" o = TextViewGetIterAtPositionMethodInfo
+    ResolveTextViewMethod "getIterLocation" o = TextViewGetIterLocationMethodInfo
+    ResolveTextViewMethod "getJustification" o = TextViewGetJustificationMethodInfo
+    ResolveTextViewMethod "getLeftMargin" o = TextViewGetLeftMarginMethodInfo
+    ResolveTextViewMethod "getLineAtY" o = TextViewGetLineAtYMethodInfo
+    ResolveTextViewMethod "getLineYrange" o = TextViewGetLineYrangeMethodInfo
+    ResolveTextViewMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveTextViewMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveTextViewMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveTextViewMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveTextViewMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveTextViewMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveTextViewMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveTextViewMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveTextViewMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveTextViewMethod "getMonospace" o = TextViewGetMonospaceMethodInfo
+    ResolveTextViewMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveTextViewMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveTextViewMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveTextViewMethod "getOverwrite" o = TextViewGetOverwriteMethodInfo
+    ResolveTextViewMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveTextViewMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveTextViewMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveTextViewMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveTextViewMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveTextViewMethod "getPixelsAboveLines" o = TextViewGetPixelsAboveLinesMethodInfo
+    ResolveTextViewMethod "getPixelsBelowLines" o = TextViewGetPixelsBelowLinesMethodInfo
+    ResolveTextViewMethod "getPixelsInsideWrap" o = TextViewGetPixelsInsideWrapMethodInfo
+    ResolveTextViewMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveTextViewMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveTextViewMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveTextViewMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveTextViewMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveTextViewMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveTextViewMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveTextViewMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTextViewMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTextViewMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveTextViewMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveTextViewMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveTextViewMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveTextViewMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveTextViewMethod "getRightMargin" o = TextViewGetRightMarginMethodInfo
+    ResolveTextViewMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveTextViewMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveTextViewMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveTextViewMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveTextViewMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveTextViewMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveTextViewMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveTextViewMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveTextViewMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveTextViewMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveTextViewMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveTextViewMethod "getTabs" o = TextViewGetTabsMethodInfo
+    ResolveTextViewMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveTextViewMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveTextViewMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveTextViewMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveTextViewMethod "getTopMargin" o = TextViewGetTopMarginMethodInfo
+    ResolveTextViewMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveTextViewMethod "getVadjustment" o = TextViewGetVadjustmentMethodInfo
+    ResolveTextViewMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveTextViewMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveTextViewMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveTextViewMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveTextViewMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveTextViewMethod "getVisibleRect" o = TextViewGetVisibleRectMethodInfo
+    ResolveTextViewMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveTextViewMethod "getVscrollPolicy" o = Gtk.Scrollable.ScrollableGetVscrollPolicyMethodInfo
+    ResolveTextViewMethod "getWindow" o = TextViewGetWindowMethodInfo
+    ResolveTextViewMethod "getWindowType" o = TextViewGetWindowTypeMethodInfo
+    ResolveTextViewMethod "getWrapMode" o = TextViewGetWrapModeMethodInfo
+    ResolveTextViewMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveTextViewMethod "setAcceptsTab" o = TextViewSetAcceptsTabMethodInfo
+    ResolveTextViewMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveTextViewMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveTextViewMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveTextViewMethod "setBorderWindowSize" o = TextViewSetBorderWindowSizeMethodInfo
+    ResolveTextViewMethod "setBottomMargin" o = TextViewSetBottomMarginMethodInfo
+    ResolveTextViewMethod "setBuffer" o = TextViewSetBufferMethodInfo
+    ResolveTextViewMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveTextViewMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveTextViewMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveTextViewMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveTextViewMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveTextViewMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveTextViewMethod "setCursorVisible" o = TextViewSetCursorVisibleMethodInfo
+    ResolveTextViewMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTextViewMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveTextViewMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveTextViewMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveTextViewMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveTextViewMethod "setEditable" o = TextViewSetEditableMethodInfo
+    ResolveTextViewMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveTextViewMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveTextViewMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveTextViewMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveTextViewMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveTextViewMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveTextViewMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveTextViewMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveTextViewMethod "setHadjustment" o = Gtk.Scrollable.ScrollableSetHadjustmentMethodInfo
+    ResolveTextViewMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveTextViewMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveTextViewMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveTextViewMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveTextViewMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveTextViewMethod "setHscrollPolicy" o = Gtk.Scrollable.ScrollableSetHscrollPolicyMethodInfo
+    ResolveTextViewMethod "setIndent" o = TextViewSetIndentMethodInfo
+    ResolveTextViewMethod "setInputHints" o = TextViewSetInputHintsMethodInfo
+    ResolveTextViewMethod "setInputPurpose" o = TextViewSetInputPurposeMethodInfo
+    ResolveTextViewMethod "setJustification" o = TextViewSetJustificationMethodInfo
+    ResolveTextViewMethod "setLeftMargin" o = TextViewSetLeftMarginMethodInfo
+    ResolveTextViewMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveTextViewMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveTextViewMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveTextViewMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveTextViewMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveTextViewMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveTextViewMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveTextViewMethod "setMonospace" o = TextViewSetMonospaceMethodInfo
+    ResolveTextViewMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveTextViewMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveTextViewMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveTextViewMethod "setOverwrite" o = TextViewSetOverwriteMethodInfo
+    ResolveTextViewMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveTextViewMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveTextViewMethod "setPixelsAboveLines" o = TextViewSetPixelsAboveLinesMethodInfo
+    ResolveTextViewMethod "setPixelsBelowLines" o = TextViewSetPixelsBelowLinesMethodInfo
+    ResolveTextViewMethod "setPixelsInsideWrap" o = TextViewSetPixelsInsideWrapMethodInfo
+    ResolveTextViewMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTextViewMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveTextViewMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveTextViewMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveTextViewMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveTextViewMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveTextViewMethod "setRightMargin" o = TextViewSetRightMarginMethodInfo
+    ResolveTextViewMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveTextViewMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveTextViewMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveTextViewMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveTextViewMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveTextViewMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveTextViewMethod "setTabs" o = TextViewSetTabsMethodInfo
+    ResolveTextViewMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveTextViewMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveTextViewMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveTextViewMethod "setTopMargin" o = TextViewSetTopMarginMethodInfo
+    ResolveTextViewMethod "setVadjustment" o = Gtk.Scrollable.ScrollableSetVadjustmentMethodInfo
+    ResolveTextViewMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveTextViewMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveTextViewMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveTextViewMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveTextViewMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveTextViewMethod "setVscrollPolicy" o = Gtk.Scrollable.ScrollableSetVscrollPolicyMethodInfo
+    ResolveTextViewMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveTextViewMethod "setWrapMode" o = TextViewSetWrapModeMethodInfo
+    ResolveTextViewMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextViewMethod t TextView, O.MethodInfo info TextView p) => OL.IsLabel t (TextView -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal TextView::backspace
+{- |
+The ::backspace signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user asks for it.
+
+The default bindings for this signal are
+Backspace and Shift-Backspace.
+-}
+type TextViewBackspaceCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewBackspaceCallback`@.
+noTextViewBackspaceCallback :: Maybe TextViewBackspaceCallback
+noTextViewBackspaceCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewBackspaceCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewBackspaceCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewBackspaceCallback :: C_TextViewBackspaceCallback -> IO (FunPtr C_TextViewBackspaceCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewBackspace :: MonadIO m => TextViewBackspaceCallback -> m (GClosure C_TextViewBackspaceCallback)
+genClosure_TextViewBackspace cb = liftIO $ do
+    let cb' = wrap_TextViewBackspaceCallback cb
+    mk_TextViewBackspaceCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewBackspaceCallback` into a `C_TextViewBackspaceCallback`.
+wrap_TextViewBackspaceCallback ::
+    TextViewBackspaceCallback ->
+    C_TextViewBackspaceCallback
+wrap_TextViewBackspaceCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@backspace@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #backspace callback
+@
+-}
+onTextViewBackspace :: (IsTextView a, MonadIO m) => a -> TextViewBackspaceCallback -> m SignalHandlerId
+onTextViewBackspace obj cb = liftIO $ do
+    let cb' = wrap_TextViewBackspaceCallback cb
+    cb'' <- mk_TextViewBackspaceCallback cb'
+    connectSignalFunPtr obj "backspace" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@backspace@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #backspace callback
+@
+-}
+afterTextViewBackspace :: (IsTextView a, MonadIO m) => a -> TextViewBackspaceCallback -> m SignalHandlerId
+afterTextViewBackspace obj cb = liftIO $ do
+    let cb' = wrap_TextViewBackspaceCallback cb
+    cb'' <- mk_TextViewBackspaceCallback cb'
+    connectSignalFunPtr obj "backspace" cb'' SignalConnectAfter
+
+
+-- signal TextView::copy-clipboard
+{- |
+The ::copy-clipboard signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to copy the selection to the clipboard.
+
+The default bindings for this signal are
+Ctrl-c and Ctrl-Insert.
+-}
+type TextViewCopyClipboardCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewCopyClipboardCallback`@.
+noTextViewCopyClipboardCallback :: Maybe TextViewCopyClipboardCallback
+noTextViewCopyClipboardCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewCopyClipboardCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewCopyClipboardCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewCopyClipboardCallback :: C_TextViewCopyClipboardCallback -> IO (FunPtr C_TextViewCopyClipboardCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewCopyClipboard :: MonadIO m => TextViewCopyClipboardCallback -> m (GClosure C_TextViewCopyClipboardCallback)
+genClosure_TextViewCopyClipboard cb = liftIO $ do
+    let cb' = wrap_TextViewCopyClipboardCallback cb
+    mk_TextViewCopyClipboardCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewCopyClipboardCallback` into a `C_TextViewCopyClipboardCallback`.
+wrap_TextViewCopyClipboardCallback ::
+    TextViewCopyClipboardCallback ->
+    C_TextViewCopyClipboardCallback
+wrap_TextViewCopyClipboardCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@copy-clipboard@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #copyClipboard callback
+@
+-}
+onTextViewCopyClipboard :: (IsTextView a, MonadIO m) => a -> TextViewCopyClipboardCallback -> m SignalHandlerId
+onTextViewCopyClipboard obj cb = liftIO $ do
+    let cb' = wrap_TextViewCopyClipboardCallback cb
+    cb'' <- mk_TextViewCopyClipboardCallback cb'
+    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@copy-clipboard@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #copyClipboard callback
+@
+-}
+afterTextViewCopyClipboard :: (IsTextView a, MonadIO m) => a -> TextViewCopyClipboardCallback -> m SignalHandlerId
+afterTextViewCopyClipboard obj cb = liftIO $ do
+    let cb' = wrap_TextViewCopyClipboardCallback cb
+    cb'' <- mk_TextViewCopyClipboardCallback cb'
+    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectAfter
+
+
+-- signal TextView::cut-clipboard
+{- |
+The ::cut-clipboard signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to cut the selection to the clipboard.
+
+The default bindings for this signal are
+Ctrl-x and Shift-Delete.
+-}
+type TextViewCutClipboardCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewCutClipboardCallback`@.
+noTextViewCutClipboardCallback :: Maybe TextViewCutClipboardCallback
+noTextViewCutClipboardCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewCutClipboardCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewCutClipboardCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewCutClipboardCallback :: C_TextViewCutClipboardCallback -> IO (FunPtr C_TextViewCutClipboardCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewCutClipboard :: MonadIO m => TextViewCutClipboardCallback -> m (GClosure C_TextViewCutClipboardCallback)
+genClosure_TextViewCutClipboard cb = liftIO $ do
+    let cb' = wrap_TextViewCutClipboardCallback cb
+    mk_TextViewCutClipboardCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewCutClipboardCallback` into a `C_TextViewCutClipboardCallback`.
+wrap_TextViewCutClipboardCallback ::
+    TextViewCutClipboardCallback ->
+    C_TextViewCutClipboardCallback
+wrap_TextViewCutClipboardCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@cut-clipboard@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #cutClipboard callback
+@
+-}
+onTextViewCutClipboard :: (IsTextView a, MonadIO m) => a -> TextViewCutClipboardCallback -> m SignalHandlerId
+onTextViewCutClipboard obj cb = liftIO $ do
+    let cb' = wrap_TextViewCutClipboardCallback cb
+    cb'' <- mk_TextViewCutClipboardCallback cb'
+    connectSignalFunPtr obj "cut-clipboard" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cut-clipboard@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #cutClipboard callback
+@
+-}
+afterTextViewCutClipboard :: (IsTextView a, MonadIO m) => a -> TextViewCutClipboardCallback -> m SignalHandlerId
+afterTextViewCutClipboard obj cb = liftIO $ do
+    let cb' = wrap_TextViewCutClipboardCallback cb
+    cb'' <- mk_TextViewCutClipboardCallback cb'
+    connectSignalFunPtr obj "cut-clipboard" cb'' SignalConnectAfter
+
+
+-- signal TextView::delete-from-cursor
+{- |
+The ::delete-from-cursor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a text deletion.
+
+If the /@type@/ is 'GI.Gtk.Enums.DeleteTypeChars', GTK+ deletes the selection
+if there is one, otherwise it deletes the requested number
+of characters.
+
+The default bindings for this signal are
+Delete for deleting a character, Ctrl-Delete for
+deleting a word and Ctrl-Backspace for deleting a word
+backwords.
+-}
+type TextViewDeleteFromCursorCallback =
+    Gtk.Enums.DeleteType
+    {- ^ /@type@/: the granularity of the deletion, as a 'GI.Gtk.Enums.DeleteType' -}
+    -> Int32
+    {- ^ /@count@/: the number of /@type@/ units to delete -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewDeleteFromCursorCallback`@.
+noTextViewDeleteFromCursorCallback :: Maybe TextViewDeleteFromCursorCallback
+noTextViewDeleteFromCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewDeleteFromCursorCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewDeleteFromCursorCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewDeleteFromCursorCallback :: C_TextViewDeleteFromCursorCallback -> IO (FunPtr C_TextViewDeleteFromCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewDeleteFromCursor :: MonadIO m => TextViewDeleteFromCursorCallback -> m (GClosure C_TextViewDeleteFromCursorCallback)
+genClosure_TextViewDeleteFromCursor cb = liftIO $ do
+    let cb' = wrap_TextViewDeleteFromCursorCallback cb
+    mk_TextViewDeleteFromCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewDeleteFromCursorCallback` into a `C_TextViewDeleteFromCursorCallback`.
+wrap_TextViewDeleteFromCursorCallback ::
+    TextViewDeleteFromCursorCallback ->
+    C_TextViewDeleteFromCursorCallback
+wrap_TextViewDeleteFromCursorCallback _cb _ type_ count _ = do
+    let type_' = (toEnum . fromIntegral) type_
+    _cb  type_' count
+
+
+{- |
+Connect a signal handler for the “@delete-from-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #deleteFromCursor callback
+@
+-}
+onTextViewDeleteFromCursor :: (IsTextView a, MonadIO m) => a -> TextViewDeleteFromCursorCallback -> m SignalHandlerId
+onTextViewDeleteFromCursor obj cb = liftIO $ do
+    let cb' = wrap_TextViewDeleteFromCursorCallback cb
+    cb'' <- mk_TextViewDeleteFromCursorCallback cb'
+    connectSignalFunPtr obj "delete-from-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@delete-from-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #deleteFromCursor callback
+@
+-}
+afterTextViewDeleteFromCursor :: (IsTextView a, MonadIO m) => a -> TextViewDeleteFromCursorCallback -> m SignalHandlerId
+afterTextViewDeleteFromCursor obj cb = liftIO $ do
+    let cb' = wrap_TextViewDeleteFromCursorCallback cb
+    cb'' <- mk_TextViewDeleteFromCursorCallback cb'
+    connectSignalFunPtr obj "delete-from-cursor" cb'' SignalConnectAfter
+
+
+-- signal TextView::extend-selection
+{- |
+The ::extend-selection signal is emitted when the selection needs to be
+extended at /@location@/.
+
+/Since: 3.16/
+-}
+type TextViewExtendSelectionCallback =
+    Gtk.Enums.TextExtendSelection
+    {- ^ /@granularity@/: the granularity type -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@location@/: the location where to extend the selection -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@start@/: where the selection should start -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@end@/: where the selection should end -}
+    -> IO Bool
+    {- ^ __Returns:__ 'GI.Gdk.Constants.EVENT_STOP' to stop other handlers from being invoked for the
+  event. 'GI.Gdk.Constants.EVENT_PROPAGATE' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewExtendSelectionCallback`@.
+noTextViewExtendSelectionCallback :: Maybe TextViewExtendSelectionCallback
+noTextViewExtendSelectionCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewExtendSelectionCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr Gtk.TextIter.TextIter ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewExtendSelectionCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewExtendSelectionCallback :: C_TextViewExtendSelectionCallback -> IO (FunPtr C_TextViewExtendSelectionCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewExtendSelection :: MonadIO m => TextViewExtendSelectionCallback -> m (GClosure C_TextViewExtendSelectionCallback)
+genClosure_TextViewExtendSelection cb = liftIO $ do
+    let cb' = wrap_TextViewExtendSelectionCallback cb
+    mk_TextViewExtendSelectionCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewExtendSelectionCallback` into a `C_TextViewExtendSelectionCallback`.
+wrap_TextViewExtendSelectionCallback ::
+    TextViewExtendSelectionCallback ->
+    C_TextViewExtendSelectionCallback
+wrap_TextViewExtendSelectionCallback _cb _ granularity location start end _ = do
+    let granularity' = (toEnum . fromIntegral) granularity
+    B.ManagedPtr.withTransient Gtk.TextIter.TextIter location $ \location' -> do
+        B.ManagedPtr.withTransient Gtk.TextIter.TextIter start $ \start' -> do
+            B.ManagedPtr.withTransient Gtk.TextIter.TextIter end $ \end' -> do
+                result <- _cb  granularity' location' start' end'
+                let result' = (fromIntegral . fromEnum) result
+                return result'
+
+
+{- |
+Connect a signal handler for the “@extend-selection@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #extendSelection callback
+@
+-}
+onTextViewExtendSelection :: (IsTextView a, MonadIO m) => a -> TextViewExtendSelectionCallback -> m SignalHandlerId
+onTextViewExtendSelection obj cb = liftIO $ do
+    let cb' = wrap_TextViewExtendSelectionCallback cb
+    cb'' <- mk_TextViewExtendSelectionCallback cb'
+    connectSignalFunPtr obj "extend-selection" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@extend-selection@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #extendSelection callback
+@
+-}
+afterTextViewExtendSelection :: (IsTextView a, MonadIO m) => a -> TextViewExtendSelectionCallback -> m SignalHandlerId
+afterTextViewExtendSelection obj cb = liftIO $ do
+    let cb' = wrap_TextViewExtendSelectionCallback cb
+    cb'' <- mk_TextViewExtendSelectionCallback cb'
+    connectSignalFunPtr obj "extend-selection" cb'' SignalConnectAfter
+
+
+-- signal TextView::insert-at-cursor
+{- |
+The ::insert-at-cursor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates the insertion of a
+fixed string at the cursor.
+
+This signal has no default bindings.
+-}
+type TextViewInsertAtCursorCallback =
+    T.Text
+    {- ^ /@string@/: the string to insert -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewInsertAtCursorCallback`@.
+noTextViewInsertAtCursorCallback :: Maybe TextViewInsertAtCursorCallback
+noTextViewInsertAtCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewInsertAtCursorCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewInsertAtCursorCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewInsertAtCursorCallback :: C_TextViewInsertAtCursorCallback -> IO (FunPtr C_TextViewInsertAtCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewInsertAtCursor :: MonadIO m => TextViewInsertAtCursorCallback -> m (GClosure C_TextViewInsertAtCursorCallback)
+genClosure_TextViewInsertAtCursor cb = liftIO $ do
+    let cb' = wrap_TextViewInsertAtCursorCallback cb
+    mk_TextViewInsertAtCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewInsertAtCursorCallback` into a `C_TextViewInsertAtCursorCallback`.
+wrap_TextViewInsertAtCursorCallback ::
+    TextViewInsertAtCursorCallback ->
+    C_TextViewInsertAtCursorCallback
+wrap_TextViewInsertAtCursorCallback _cb _ string _ = do
+    string' <- cstringToText string
+    _cb  string'
+
+
+{- |
+Connect a signal handler for the “@insert-at-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #insertAtCursor callback
+@
+-}
+onTextViewInsertAtCursor :: (IsTextView a, MonadIO m) => a -> TextViewInsertAtCursorCallback -> m SignalHandlerId
+onTextViewInsertAtCursor obj cb = liftIO $ do
+    let cb' = wrap_TextViewInsertAtCursorCallback cb
+    cb'' <- mk_TextViewInsertAtCursorCallback cb'
+    connectSignalFunPtr obj "insert-at-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert-at-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #insertAtCursor callback
+@
+-}
+afterTextViewInsertAtCursor :: (IsTextView a, MonadIO m) => a -> TextViewInsertAtCursorCallback -> m SignalHandlerId
+afterTextViewInsertAtCursor obj cb = liftIO $ do
+    let cb' = wrap_TextViewInsertAtCursorCallback cb
+    cb'' <- mk_TextViewInsertAtCursorCallback cb'
+    connectSignalFunPtr obj "insert-at-cursor" cb'' SignalConnectAfter
+
+
+-- signal TextView::insert-emoji
+{- |
+The ::insert-emoji signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to present the Emoji chooser for the /@textView@/.
+
+The default bindings for this signal are Ctrl-. and Ctrl-;
+
+/Since: 3.22.27/
+-}
+type TextViewInsertEmojiCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewInsertEmojiCallback`@.
+noTextViewInsertEmojiCallback :: Maybe TextViewInsertEmojiCallback
+noTextViewInsertEmojiCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewInsertEmojiCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewInsertEmojiCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewInsertEmojiCallback :: C_TextViewInsertEmojiCallback -> IO (FunPtr C_TextViewInsertEmojiCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewInsertEmoji :: MonadIO m => TextViewInsertEmojiCallback -> m (GClosure C_TextViewInsertEmojiCallback)
+genClosure_TextViewInsertEmoji cb = liftIO $ do
+    let cb' = wrap_TextViewInsertEmojiCallback cb
+    mk_TextViewInsertEmojiCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewInsertEmojiCallback` into a `C_TextViewInsertEmojiCallback`.
+wrap_TextViewInsertEmojiCallback ::
+    TextViewInsertEmojiCallback ->
+    C_TextViewInsertEmojiCallback
+wrap_TextViewInsertEmojiCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@insert-emoji@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #insertEmoji callback
+@
+-}
+onTextViewInsertEmoji :: (IsTextView a, MonadIO m) => a -> TextViewInsertEmojiCallback -> m SignalHandlerId
+onTextViewInsertEmoji obj cb = liftIO $ do
+    let cb' = wrap_TextViewInsertEmojiCallback cb
+    cb'' <- mk_TextViewInsertEmojiCallback cb'
+    connectSignalFunPtr obj "insert-emoji" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@insert-emoji@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #insertEmoji callback
+@
+-}
+afterTextViewInsertEmoji :: (IsTextView a, MonadIO m) => a -> TextViewInsertEmojiCallback -> m SignalHandlerId
+afterTextViewInsertEmoji obj cb = liftIO $ do
+    let cb' = wrap_TextViewInsertEmojiCallback cb
+    cb'' <- mk_TextViewInsertEmojiCallback cb'
+    connectSignalFunPtr obj "insert-emoji" cb'' SignalConnectAfter
+
+
+-- signal TextView::move-cursor
+{- |
+The ::move-cursor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates a cursor movement.
+If the cursor is not visible in /@textView@/, this signal causes
+the viewport to be moved instead.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control the cursor
+programmatically.
+
+The default bindings for this signal come in two variants,
+the variant with the Shift modifier extends the selection,
+the variant without the Shift modifer does not.
+There are too many key combinations to list them all here.
+
+* Arrow keys move by individual characters\/lines
+* Ctrl-arrow key combinations move by words\/paragraphs
+* Home\/End keys move to the ends of the buffer
+* PageUp\/PageDown keys move vertically by pages
+* Ctrl-PageUp\/PageDown keys move horizontally by pages
+-}
+type TextViewMoveCursorCallback =
+    Gtk.Enums.MovementStep
+    {- ^ /@step@/: the granularity of the move, as a 'GI.Gtk.Enums.MovementStep' -}
+    -> Int32
+    {- ^ /@count@/: the number of /@step@/ units to move -}
+    -> Bool
+    {- ^ /@extendSelection@/: 'True' if the move should extend the selection -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewMoveCursorCallback`@.
+noTextViewMoveCursorCallback :: Maybe TextViewMoveCursorCallback
+noTextViewMoveCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewMoveCursorCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewMoveCursorCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewMoveCursorCallback :: C_TextViewMoveCursorCallback -> IO (FunPtr C_TextViewMoveCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewMoveCursor :: MonadIO m => TextViewMoveCursorCallback -> m (GClosure C_TextViewMoveCursorCallback)
+genClosure_TextViewMoveCursor cb = liftIO $ do
+    let cb' = wrap_TextViewMoveCursorCallback cb
+    mk_TextViewMoveCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewMoveCursorCallback` into a `C_TextViewMoveCursorCallback`.
+wrap_TextViewMoveCursorCallback ::
+    TextViewMoveCursorCallback ->
+    C_TextViewMoveCursorCallback
+wrap_TextViewMoveCursorCallback _cb _ step count extendSelection _ = do
+    let step' = (toEnum . fromIntegral) step
+    let extendSelection' = (/= 0) extendSelection
+    _cb  step' count extendSelection'
+
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #moveCursor callback
+@
+-}
+onTextViewMoveCursor :: (IsTextView a, MonadIO m) => a -> TextViewMoveCursorCallback -> m SignalHandlerId
+onTextViewMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_TextViewMoveCursorCallback cb
+    cb'' <- mk_TextViewMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #moveCursor callback
+@
+-}
+afterTextViewMoveCursor :: (IsTextView a, MonadIO m) => a -> TextViewMoveCursorCallback -> m SignalHandlerId
+afterTextViewMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_TextViewMoveCursorCallback cb
+    cb'' <- mk_TextViewMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectAfter
+
+
+-- signal TextView::move-viewport
+{- |
+The ::move-viewport signal is a
+[keybinding signal][GtkBindingSignal]
+which can be bound to key combinations to allow the user
+to move the viewport, i.e. change what part of the text view
+is visible in a containing scrolled window.
+
+There are no default bindings for this signal.
+-}
+type TextViewMoveViewportCallback =
+    Gtk.Enums.ScrollStep
+    {- ^ /@step@/: the granularity of the movement, as a 'GI.Gtk.Enums.ScrollStep' -}
+    -> Int32
+    {- ^ /@count@/: the number of /@step@/ units to move -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewMoveViewportCallback`@.
+noTextViewMoveViewportCallback :: Maybe TextViewMoveViewportCallback
+noTextViewMoveViewportCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewMoveViewportCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewMoveViewportCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewMoveViewportCallback :: C_TextViewMoveViewportCallback -> IO (FunPtr C_TextViewMoveViewportCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewMoveViewport :: MonadIO m => TextViewMoveViewportCallback -> m (GClosure C_TextViewMoveViewportCallback)
+genClosure_TextViewMoveViewport cb = liftIO $ do
+    let cb' = wrap_TextViewMoveViewportCallback cb
+    mk_TextViewMoveViewportCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewMoveViewportCallback` into a `C_TextViewMoveViewportCallback`.
+wrap_TextViewMoveViewportCallback ::
+    TextViewMoveViewportCallback ->
+    C_TextViewMoveViewportCallback
+wrap_TextViewMoveViewportCallback _cb _ step count _ = do
+    let step' = (toEnum . fromIntegral) step
+    _cb  step' count
+
+
+{- |
+Connect a signal handler for the “@move-viewport@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #moveViewport callback
+@
+-}
+onTextViewMoveViewport :: (IsTextView a, MonadIO m) => a -> TextViewMoveViewportCallback -> m SignalHandlerId
+onTextViewMoveViewport obj cb = liftIO $ do
+    let cb' = wrap_TextViewMoveViewportCallback cb
+    cb'' <- mk_TextViewMoveViewportCallback cb'
+    connectSignalFunPtr obj "move-viewport" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-viewport@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #moveViewport callback
+@
+-}
+afterTextViewMoveViewport :: (IsTextView a, MonadIO m) => a -> TextViewMoveViewportCallback -> m SignalHandlerId
+afterTextViewMoveViewport obj cb = liftIO $ do
+    let cb' = wrap_TextViewMoveViewportCallback cb
+    cb'' <- mk_TextViewMoveViewportCallback cb'
+    connectSignalFunPtr obj "move-viewport" cb'' SignalConnectAfter
+
+
+-- signal TextView::paste-clipboard
+{- |
+The ::paste-clipboard signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to paste the contents of the clipboard
+into the text view.
+
+The default bindings for this signal are
+Ctrl-v and Shift-Insert.
+-}
+type TextViewPasteClipboardCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewPasteClipboardCallback`@.
+noTextViewPasteClipboardCallback :: Maybe TextViewPasteClipboardCallback
+noTextViewPasteClipboardCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewPasteClipboardCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewPasteClipboardCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewPasteClipboardCallback :: C_TextViewPasteClipboardCallback -> IO (FunPtr C_TextViewPasteClipboardCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewPasteClipboard :: MonadIO m => TextViewPasteClipboardCallback -> m (GClosure C_TextViewPasteClipboardCallback)
+genClosure_TextViewPasteClipboard cb = liftIO $ do
+    let cb' = wrap_TextViewPasteClipboardCallback cb
+    mk_TextViewPasteClipboardCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewPasteClipboardCallback` into a `C_TextViewPasteClipboardCallback`.
+wrap_TextViewPasteClipboardCallback ::
+    TextViewPasteClipboardCallback ->
+    C_TextViewPasteClipboardCallback
+wrap_TextViewPasteClipboardCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@paste-clipboard@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #pasteClipboard callback
+@
+-}
+onTextViewPasteClipboard :: (IsTextView a, MonadIO m) => a -> TextViewPasteClipboardCallback -> m SignalHandlerId
+onTextViewPasteClipboard obj cb = liftIO $ do
+    let cb' = wrap_TextViewPasteClipboardCallback cb
+    cb'' <- mk_TextViewPasteClipboardCallback cb'
+    connectSignalFunPtr obj "paste-clipboard" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@paste-clipboard@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #pasteClipboard callback
+@
+-}
+afterTextViewPasteClipboard :: (IsTextView a, MonadIO m) => a -> TextViewPasteClipboardCallback -> m SignalHandlerId
+afterTextViewPasteClipboard obj cb = liftIO $ do
+    let cb' = wrap_TextViewPasteClipboardCallback cb
+    cb'' <- mk_TextViewPasteClipboardCallback cb'
+    connectSignalFunPtr obj "paste-clipboard" cb'' SignalConnectAfter
+
+
+-- signal TextView::populate-popup
+{- |
+The ::populate-popup signal gets emitted before showing the
+context menu of the text view.
+
+If you need to add items to the context menu, connect
+to this signal and append your items to the /@popup@/, which
+will be a 'GI.Gtk.Objects.Menu.Menu' in this case.
+
+If 'GI.Gtk.Objects.TextView.TextView':@/populate-all/@ is 'True', this signal will
+also be emitted to populate touch popups. In this case,
+/@popup@/ will be a different container, e.g. a 'GI.Gtk.Objects.Toolbar.Toolbar'.
+
+The signal handler should not make assumptions about the
+type of /@widget@/, but check whether /@popup@/ is a 'GI.Gtk.Objects.Menu.Menu'
+or 'GI.Gtk.Objects.Toolbar.Toolbar' or another kind of container.
+-}
+type TextViewPopulatePopupCallback =
+    Gtk.Widget.Widget
+    {- ^ /@popup@/: the container that is being populated -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewPopulatePopupCallback`@.
+noTextViewPopulatePopupCallback :: Maybe TextViewPopulatePopupCallback
+noTextViewPopulatePopupCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewPopulatePopupCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewPopulatePopupCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewPopulatePopupCallback :: C_TextViewPopulatePopupCallback -> IO (FunPtr C_TextViewPopulatePopupCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewPopulatePopup :: MonadIO m => TextViewPopulatePopupCallback -> m (GClosure C_TextViewPopulatePopupCallback)
+genClosure_TextViewPopulatePopup cb = liftIO $ do
+    let cb' = wrap_TextViewPopulatePopupCallback cb
+    mk_TextViewPopulatePopupCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewPopulatePopupCallback` into a `C_TextViewPopulatePopupCallback`.
+wrap_TextViewPopulatePopupCallback ::
+    TextViewPopulatePopupCallback ->
+    C_TextViewPopulatePopupCallback
+wrap_TextViewPopulatePopupCallback _cb _ popup _ = do
+    popup' <- (newObject Gtk.Widget.Widget) popup
+    _cb  popup'
+
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #populatePopup callback
+@
+-}
+onTextViewPopulatePopup :: (IsTextView a, MonadIO m) => a -> TextViewPopulatePopupCallback -> m SignalHandlerId
+onTextViewPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_TextViewPopulatePopupCallback cb
+    cb'' <- mk_TextViewPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@populate-popup@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #populatePopup callback
+@
+-}
+afterTextViewPopulatePopup :: (IsTextView a, MonadIO m) => a -> TextViewPopulatePopupCallback -> m SignalHandlerId
+afterTextViewPopulatePopup obj cb = liftIO $ do
+    let cb' = wrap_TextViewPopulatePopupCallback cb
+    cb'' <- mk_TextViewPopulatePopupCallback cb'
+    connectSignalFunPtr obj "populate-popup" cb'' SignalConnectAfter
+
+
+-- signal TextView::preedit-changed
+{- |
+If an input method is used, the typed text will not immediately
+be committed to the buffer. So if you are interested in the text,
+connect to this signal.
+
+This signal is only emitted if the text at the given position
+is actually editable.
+
+/Since: 2.20/
+-}
+type TextViewPreeditChangedCallback =
+    T.Text
+    {- ^ /@preedit@/: the current preedit string -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewPreeditChangedCallback`@.
+noTextViewPreeditChangedCallback :: Maybe TextViewPreeditChangedCallback
+noTextViewPreeditChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewPreeditChangedCallback =
+    Ptr () ->                               -- object
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewPreeditChangedCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewPreeditChangedCallback :: C_TextViewPreeditChangedCallback -> IO (FunPtr C_TextViewPreeditChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewPreeditChanged :: MonadIO m => TextViewPreeditChangedCallback -> m (GClosure C_TextViewPreeditChangedCallback)
+genClosure_TextViewPreeditChanged cb = liftIO $ do
+    let cb' = wrap_TextViewPreeditChangedCallback cb
+    mk_TextViewPreeditChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewPreeditChangedCallback` into a `C_TextViewPreeditChangedCallback`.
+wrap_TextViewPreeditChangedCallback ::
+    TextViewPreeditChangedCallback ->
+    C_TextViewPreeditChangedCallback
+wrap_TextViewPreeditChangedCallback _cb _ preedit _ = do
+    preedit' <- cstringToText preedit
+    _cb  preedit'
+
+
+{- |
+Connect a signal handler for the “@preedit-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #preeditChanged callback
+@
+-}
+onTextViewPreeditChanged :: (IsTextView a, MonadIO m) => a -> TextViewPreeditChangedCallback -> m SignalHandlerId
+onTextViewPreeditChanged obj cb = liftIO $ do
+    let cb' = wrap_TextViewPreeditChangedCallback cb
+    cb'' <- mk_TextViewPreeditChangedCallback cb'
+    connectSignalFunPtr obj "preedit-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@preedit-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #preeditChanged callback
+@
+-}
+afterTextViewPreeditChanged :: (IsTextView a, MonadIO m) => a -> TextViewPreeditChangedCallback -> m SignalHandlerId
+afterTextViewPreeditChanged obj cb = liftIO $ do
+    let cb' = wrap_TextViewPreeditChangedCallback cb
+    cb'' <- mk_TextViewPreeditChangedCallback cb'
+    connectSignalFunPtr obj "preedit-changed" cb'' SignalConnectAfter
+
+
+-- signal TextView::select-all
+{- |
+The ::select-all signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to select or unselect the complete
+contents of the text view.
+
+The default bindings for this signal are Ctrl-a and Ctrl-\/
+for selecting and Shift-Ctrl-a and Ctrl-\\ for unselecting.
+-}
+type TextViewSelectAllCallback =
+    Bool
+    {- ^ /@select@/: 'True' to select, 'False' to unselect -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewSelectAllCallback`@.
+noTextViewSelectAllCallback :: Maybe TextViewSelectAllCallback
+noTextViewSelectAllCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewSelectAllCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewSelectAllCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewSelectAllCallback :: C_TextViewSelectAllCallback -> IO (FunPtr C_TextViewSelectAllCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewSelectAll :: MonadIO m => TextViewSelectAllCallback -> m (GClosure C_TextViewSelectAllCallback)
+genClosure_TextViewSelectAll cb = liftIO $ do
+    let cb' = wrap_TextViewSelectAllCallback cb
+    mk_TextViewSelectAllCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewSelectAllCallback` into a `C_TextViewSelectAllCallback`.
+wrap_TextViewSelectAllCallback ::
+    TextViewSelectAllCallback ->
+    C_TextViewSelectAllCallback
+wrap_TextViewSelectAllCallback _cb _ select _ = do
+    let select' = (/= 0) select
+    _cb  select'
+
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #selectAll callback
+@
+-}
+onTextViewSelectAll :: (IsTextView a, MonadIO m) => a -> TextViewSelectAllCallback -> m SignalHandlerId
+onTextViewSelectAll obj cb = liftIO $ do
+    let cb' = wrap_TextViewSelectAllCallback cb
+    cb'' <- mk_TextViewSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #selectAll callback
+@
+-}
+afterTextViewSelectAll :: (IsTextView a, MonadIO m) => a -> TextViewSelectAllCallback -> m SignalHandlerId
+afterTextViewSelectAll obj cb = liftIO $ do
+    let cb' = wrap_TextViewSelectAllCallback cb
+    cb'' <- mk_TextViewSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectAfter
+
+
+-- signal TextView::set-anchor
+{- |
+The ::set-anchor signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user initiates setting the \"anchor\"
+mark. The \"anchor\" mark gets placed at the same position as the
+\"insert\" mark.
+
+This signal has no default bindings.
+-}
+type TextViewSetAnchorCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewSetAnchorCallback`@.
+noTextViewSetAnchorCallback :: Maybe TextViewSetAnchorCallback
+noTextViewSetAnchorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewSetAnchorCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewSetAnchorCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewSetAnchorCallback :: C_TextViewSetAnchorCallback -> IO (FunPtr C_TextViewSetAnchorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewSetAnchor :: MonadIO m => TextViewSetAnchorCallback -> m (GClosure C_TextViewSetAnchorCallback)
+genClosure_TextViewSetAnchor cb = liftIO $ do
+    let cb' = wrap_TextViewSetAnchorCallback cb
+    mk_TextViewSetAnchorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewSetAnchorCallback` into a `C_TextViewSetAnchorCallback`.
+wrap_TextViewSetAnchorCallback ::
+    TextViewSetAnchorCallback ->
+    C_TextViewSetAnchorCallback
+wrap_TextViewSetAnchorCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@set-anchor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #setAnchor callback
+@
+-}
+onTextViewSetAnchor :: (IsTextView a, MonadIO m) => a -> TextViewSetAnchorCallback -> m SignalHandlerId
+onTextViewSetAnchor obj cb = liftIO $ do
+    let cb' = wrap_TextViewSetAnchorCallback cb
+    cb'' <- mk_TextViewSetAnchorCallback cb'
+    connectSignalFunPtr obj "set-anchor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@set-anchor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #setAnchor callback
+@
+-}
+afterTextViewSetAnchor :: (IsTextView a, MonadIO m) => a -> TextViewSetAnchorCallback -> m SignalHandlerId
+afterTextViewSetAnchor obj cb = liftIO $ do
+    let cb' = wrap_TextViewSetAnchorCallback cb
+    cb'' <- mk_TextViewSetAnchorCallback cb'
+    connectSignalFunPtr obj "set-anchor" cb'' SignalConnectAfter
+
+
+-- signal TextView::toggle-cursor-visible
+{- |
+The ::toggle-cursor-visible signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to toggle the 'GI.Gtk.Objects.TextView.TextView':@/cursor-visible/@
+property.
+
+The default binding for this signal is F7.
+-}
+type TextViewToggleCursorVisibleCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewToggleCursorVisibleCallback`@.
+noTextViewToggleCursorVisibleCallback :: Maybe TextViewToggleCursorVisibleCallback
+noTextViewToggleCursorVisibleCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewToggleCursorVisibleCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewToggleCursorVisibleCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewToggleCursorVisibleCallback :: C_TextViewToggleCursorVisibleCallback -> IO (FunPtr C_TextViewToggleCursorVisibleCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewToggleCursorVisible :: MonadIO m => TextViewToggleCursorVisibleCallback -> m (GClosure C_TextViewToggleCursorVisibleCallback)
+genClosure_TextViewToggleCursorVisible cb = liftIO $ do
+    let cb' = wrap_TextViewToggleCursorVisibleCallback cb
+    mk_TextViewToggleCursorVisibleCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewToggleCursorVisibleCallback` into a `C_TextViewToggleCursorVisibleCallback`.
+wrap_TextViewToggleCursorVisibleCallback ::
+    TextViewToggleCursorVisibleCallback ->
+    C_TextViewToggleCursorVisibleCallback
+wrap_TextViewToggleCursorVisibleCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggle-cursor-visible@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #toggleCursorVisible callback
+@
+-}
+onTextViewToggleCursorVisible :: (IsTextView a, MonadIO m) => a -> TextViewToggleCursorVisibleCallback -> m SignalHandlerId
+onTextViewToggleCursorVisible obj cb = liftIO $ do
+    let cb' = wrap_TextViewToggleCursorVisibleCallback cb
+    cb'' <- mk_TextViewToggleCursorVisibleCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-visible" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-cursor-visible@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #toggleCursorVisible callback
+@
+-}
+afterTextViewToggleCursorVisible :: (IsTextView a, MonadIO m) => a -> TextViewToggleCursorVisibleCallback -> m SignalHandlerId
+afterTextViewToggleCursorVisible obj cb = liftIO $ do
+    let cb' = wrap_TextViewToggleCursorVisibleCallback cb
+    cb'' <- mk_TextViewToggleCursorVisibleCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-visible" cb'' SignalConnectAfter
+
+
+-- signal TextView::toggle-overwrite
+{- |
+The ::toggle-overwrite signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted to toggle the overwrite mode of the text view.
+
+The default bindings for this signal is Insert.
+-}
+type TextViewToggleOverwriteCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TextViewToggleOverwriteCallback`@.
+noTextViewToggleOverwriteCallback :: Maybe TextViewToggleOverwriteCallback
+noTextViewToggleOverwriteCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TextViewToggleOverwriteCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TextViewToggleOverwriteCallback`.
+foreign import ccall "wrapper"
+    mk_TextViewToggleOverwriteCallback :: C_TextViewToggleOverwriteCallback -> IO (FunPtr C_TextViewToggleOverwriteCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TextViewToggleOverwrite :: MonadIO m => TextViewToggleOverwriteCallback -> m (GClosure C_TextViewToggleOverwriteCallback)
+genClosure_TextViewToggleOverwrite cb = liftIO $ do
+    let cb' = wrap_TextViewToggleOverwriteCallback cb
+    mk_TextViewToggleOverwriteCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TextViewToggleOverwriteCallback` into a `C_TextViewToggleOverwriteCallback`.
+wrap_TextViewToggleOverwriteCallback ::
+    TextViewToggleOverwriteCallback ->
+    C_TextViewToggleOverwriteCallback
+wrap_TextViewToggleOverwriteCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggle-overwrite@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' textView #toggleOverwrite callback
+@
+-}
+onTextViewToggleOverwrite :: (IsTextView a, MonadIO m) => a -> TextViewToggleOverwriteCallback -> m SignalHandlerId
+onTextViewToggleOverwrite obj cb = liftIO $ do
+    let cb' = wrap_TextViewToggleOverwriteCallback cb
+    cb'' <- mk_TextViewToggleOverwriteCallback cb'
+    connectSignalFunPtr obj "toggle-overwrite" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-overwrite@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' textView #toggleOverwrite callback
+@
+-}
+afterTextViewToggleOverwrite :: (IsTextView a, MonadIO m) => a -> TextViewToggleOverwriteCallback -> m SignalHandlerId
+afterTextViewToggleOverwrite obj cb = liftIO $ do
+    let cb' = wrap_TextViewToggleOverwriteCallback cb
+    cb'' <- mk_TextViewToggleOverwriteCallback cb'
+    connectSignalFunPtr obj "toggle-overwrite" cb'' SignalConnectAfter
+
+
+-- VVV Prop "accepts-tab"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@accepts-tab@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #acceptsTab
+@
+-}
+getTextViewAcceptsTab :: (MonadIO m, IsTextView o) => o -> m Bool
+getTextViewAcceptsTab obj = liftIO $ B.Properties.getObjectPropertyBool obj "accepts-tab"
+
+{- |
+Set the value of the “@accepts-tab@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #acceptsTab 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewAcceptsTab :: (MonadIO m, IsTextView o) => o -> Bool -> m ()
+setTextViewAcceptsTab obj val = liftIO $ B.Properties.setObjectPropertyBool obj "accepts-tab" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accepts-tab@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewAcceptsTab :: (IsTextView o) => Bool -> IO (GValueConstruct o)
+constructTextViewAcceptsTab val = B.Properties.constructObjectPropertyBool "accepts-tab" val
+
+#if ENABLE_OVERLOADING
+data TextViewAcceptsTabPropertyInfo
+instance AttrInfo TextViewAcceptsTabPropertyInfo where
+    type AttrAllowedOps TextViewAcceptsTabPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewAcceptsTabPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextViewAcceptsTabPropertyInfo = IsTextView
+    type AttrGetType TextViewAcceptsTabPropertyInfo = Bool
+    type AttrLabel TextViewAcceptsTabPropertyInfo = "accepts-tab"
+    type AttrOrigin TextViewAcceptsTabPropertyInfo = TextView
+    attrGet _ = getTextViewAcceptsTab
+    attrSet _ = setTextViewAcceptsTab
+    attrConstruct _ = constructTextViewAcceptsTab
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "bottom-margin"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@bottom-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #bottomMargin
+@
+-}
+getTextViewBottomMargin :: (MonadIO m, IsTextView o) => o -> m Int32
+getTextViewBottomMargin obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "bottom-margin"
+
+{- |
+Set the value of the “@bottom-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #bottomMargin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewBottomMargin :: (MonadIO m, IsTextView o) => o -> Int32 -> m ()
+setTextViewBottomMargin obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "bottom-margin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@bottom-margin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewBottomMargin :: (IsTextView o) => Int32 -> IO (GValueConstruct o)
+constructTextViewBottomMargin val = B.Properties.constructObjectPropertyInt32 "bottom-margin" val
+
+#if ENABLE_OVERLOADING
+data TextViewBottomMarginPropertyInfo
+instance AttrInfo TextViewBottomMarginPropertyInfo where
+    type AttrAllowedOps TextViewBottomMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewBottomMarginPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextViewBottomMarginPropertyInfo = IsTextView
+    type AttrGetType TextViewBottomMarginPropertyInfo = Int32
+    type AttrLabel TextViewBottomMarginPropertyInfo = "bottom-margin"
+    type AttrOrigin TextViewBottomMarginPropertyInfo = TextView
+    attrGet _ = getTextViewBottomMargin
+    attrSet _ = setTextViewBottomMargin
+    attrConstruct _ = constructTextViewBottomMargin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "buffer"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@buffer@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #buffer
+@
+-}
+getTextViewBuffer :: (MonadIO m, IsTextView o) => o -> m Gtk.TextBuffer.TextBuffer
+getTextViewBuffer obj = liftIO $ checkUnexpectedNothing "getTextViewBuffer" $ B.Properties.getObjectPropertyObject obj "buffer" Gtk.TextBuffer.TextBuffer
+
+{- |
+Set the value of the “@buffer@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #buffer 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewBuffer :: (MonadIO m, IsTextView o, Gtk.TextBuffer.IsTextBuffer a) => o -> a -> m ()
+setTextViewBuffer obj val = liftIO $ B.Properties.setObjectPropertyObject obj "buffer" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@buffer@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewBuffer :: (IsTextView o, Gtk.TextBuffer.IsTextBuffer a) => a -> IO (GValueConstruct o)
+constructTextViewBuffer val = B.Properties.constructObjectPropertyObject "buffer" (Just val)
+
+{- |
+Set the value of the “@buffer@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #buffer
+@
+-}
+clearTextViewBuffer :: (MonadIO m, IsTextView o) => o -> m ()
+clearTextViewBuffer obj = liftIO $ B.Properties.setObjectPropertyObject obj "buffer" (Nothing :: Maybe Gtk.TextBuffer.TextBuffer)
+
+#if ENABLE_OVERLOADING
+data TextViewBufferPropertyInfo
+instance AttrInfo TextViewBufferPropertyInfo where
+    type AttrAllowedOps TextViewBufferPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextViewBufferPropertyInfo = Gtk.TextBuffer.IsTextBuffer
+    type AttrBaseTypeConstraint TextViewBufferPropertyInfo = IsTextView
+    type AttrGetType TextViewBufferPropertyInfo = Gtk.TextBuffer.TextBuffer
+    type AttrLabel TextViewBufferPropertyInfo = "buffer"
+    type AttrOrigin TextViewBufferPropertyInfo = TextView
+    attrGet _ = getTextViewBuffer
+    attrSet _ = setTextViewBuffer
+    attrConstruct _ = constructTextViewBuffer
+    attrClear _ = clearTextViewBuffer
+#endif
+
+-- VVV Prop "cursor-visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@cursor-visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #cursorVisible
+@
+-}
+getTextViewCursorVisible :: (MonadIO m, IsTextView o) => o -> m Bool
+getTextViewCursorVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "cursor-visible"
+
+{- |
+Set the value of the “@cursor-visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #cursorVisible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewCursorVisible :: (MonadIO m, IsTextView o) => o -> Bool -> m ()
+setTextViewCursorVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "cursor-visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cursor-visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewCursorVisible :: (IsTextView o) => Bool -> IO (GValueConstruct o)
+constructTextViewCursorVisible val = B.Properties.constructObjectPropertyBool "cursor-visible" val
+
+#if ENABLE_OVERLOADING
+data TextViewCursorVisiblePropertyInfo
+instance AttrInfo TextViewCursorVisiblePropertyInfo where
+    type AttrAllowedOps TextViewCursorVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewCursorVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextViewCursorVisiblePropertyInfo = IsTextView
+    type AttrGetType TextViewCursorVisiblePropertyInfo = Bool
+    type AttrLabel TextViewCursorVisiblePropertyInfo = "cursor-visible"
+    type AttrOrigin TextViewCursorVisiblePropertyInfo = TextView
+    attrGet _ = getTextViewCursorVisible
+    attrSet _ = setTextViewCursorVisible
+    attrConstruct _ = constructTextViewCursorVisible
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "editable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@editable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #editable
+@
+-}
+getTextViewEditable :: (MonadIO m, IsTextView o) => o -> m Bool
+getTextViewEditable obj = liftIO $ B.Properties.getObjectPropertyBool obj "editable"
+
+{- |
+Set the value of the “@editable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #editable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewEditable :: (MonadIO m, IsTextView o) => o -> Bool -> m ()
+setTextViewEditable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "editable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@editable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewEditable :: (IsTextView o) => Bool -> IO (GValueConstruct o)
+constructTextViewEditable val = B.Properties.constructObjectPropertyBool "editable" val
+
+#if ENABLE_OVERLOADING
+data TextViewEditablePropertyInfo
+instance AttrInfo TextViewEditablePropertyInfo where
+    type AttrAllowedOps TextViewEditablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewEditablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextViewEditablePropertyInfo = IsTextView
+    type AttrGetType TextViewEditablePropertyInfo = Bool
+    type AttrLabel TextViewEditablePropertyInfo = "editable"
+    type AttrOrigin TextViewEditablePropertyInfo = TextView
+    attrGet _ = getTextViewEditable
+    attrSet _ = setTextViewEditable
+    attrConstruct _ = constructTextViewEditable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "im-module"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@im-module@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #imModule
+@
+-}
+getTextViewImModule :: (MonadIO m, IsTextView o) => o -> m (Maybe T.Text)
+getTextViewImModule obj = liftIO $ B.Properties.getObjectPropertyString obj "im-module"
+
+{- |
+Set the value of the “@im-module@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #imModule 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewImModule :: (MonadIO m, IsTextView o) => o -> T.Text -> m ()
+setTextViewImModule obj val = liftIO $ B.Properties.setObjectPropertyString obj "im-module" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@im-module@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewImModule :: (IsTextView o) => T.Text -> IO (GValueConstruct o)
+constructTextViewImModule val = B.Properties.constructObjectPropertyString "im-module" (Just val)
+
+{- |
+Set the value of the “@im-module@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #imModule
+@
+-}
+clearTextViewImModule :: (MonadIO m, IsTextView o) => o -> m ()
+clearTextViewImModule obj = liftIO $ B.Properties.setObjectPropertyString obj "im-module" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data TextViewImModulePropertyInfo
+instance AttrInfo TextViewImModulePropertyInfo where
+    type AttrAllowedOps TextViewImModulePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextViewImModulePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TextViewImModulePropertyInfo = IsTextView
+    type AttrGetType TextViewImModulePropertyInfo = (Maybe T.Text)
+    type AttrLabel TextViewImModulePropertyInfo = "im-module"
+    type AttrOrigin TextViewImModulePropertyInfo = TextView
+    attrGet _ = getTextViewImModule
+    attrSet _ = setTextViewImModule
+    attrConstruct _ = constructTextViewImModule
+    attrClear _ = clearTextViewImModule
+#endif
+
+-- VVV Prop "indent"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@indent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #indent
+@
+-}
+getTextViewIndent :: (MonadIO m, IsTextView o) => o -> m Int32
+getTextViewIndent obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "indent"
+
+{- |
+Set the value of the “@indent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #indent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewIndent :: (MonadIO m, IsTextView o) => o -> Int32 -> m ()
+setTextViewIndent obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "indent" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@indent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewIndent :: (IsTextView o) => Int32 -> IO (GValueConstruct o)
+constructTextViewIndent val = B.Properties.constructObjectPropertyInt32 "indent" val
+
+#if ENABLE_OVERLOADING
+data TextViewIndentPropertyInfo
+instance AttrInfo TextViewIndentPropertyInfo where
+    type AttrAllowedOps TextViewIndentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewIndentPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextViewIndentPropertyInfo = IsTextView
+    type AttrGetType TextViewIndentPropertyInfo = Int32
+    type AttrLabel TextViewIndentPropertyInfo = "indent"
+    type AttrOrigin TextViewIndentPropertyInfo = TextView
+    attrGet _ = getTextViewIndent
+    attrSet _ = setTextViewIndent
+    attrConstruct _ = constructTextViewIndent
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "input-hints"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "InputHints"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@input-hints@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #inputHints
+@
+-}
+getTextViewInputHints :: (MonadIO m, IsTextView o) => o -> m [Gtk.Flags.InputHints]
+getTextViewInputHints obj = liftIO $ B.Properties.getObjectPropertyFlags obj "input-hints"
+
+{- |
+Set the value of the “@input-hints@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #inputHints 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewInputHints :: (MonadIO m, IsTextView o) => o -> [Gtk.Flags.InputHints] -> m ()
+setTextViewInputHints obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "input-hints" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@input-hints@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewInputHints :: (IsTextView o) => [Gtk.Flags.InputHints] -> IO (GValueConstruct o)
+constructTextViewInputHints val = B.Properties.constructObjectPropertyFlags "input-hints" val
+
+#if ENABLE_OVERLOADING
+data TextViewInputHintsPropertyInfo
+instance AttrInfo TextViewInputHintsPropertyInfo where
+    type AttrAllowedOps TextViewInputHintsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewInputHintsPropertyInfo = (~) [Gtk.Flags.InputHints]
+    type AttrBaseTypeConstraint TextViewInputHintsPropertyInfo = IsTextView
+    type AttrGetType TextViewInputHintsPropertyInfo = [Gtk.Flags.InputHints]
+    type AttrLabel TextViewInputHintsPropertyInfo = "input-hints"
+    type AttrOrigin TextViewInputHintsPropertyInfo = TextView
+    attrGet _ = getTextViewInputHints
+    attrSet _ = setTextViewInputHints
+    attrConstruct _ = constructTextViewInputHints
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "input-purpose"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "InputPurpose"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@input-purpose@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #inputPurpose
+@
+-}
+getTextViewInputPurpose :: (MonadIO m, IsTextView o) => o -> m Gtk.Enums.InputPurpose
+getTextViewInputPurpose obj = liftIO $ B.Properties.getObjectPropertyEnum obj "input-purpose"
+
+{- |
+Set the value of the “@input-purpose@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #inputPurpose 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewInputPurpose :: (MonadIO m, IsTextView o) => o -> Gtk.Enums.InputPurpose -> m ()
+setTextViewInputPurpose obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "input-purpose" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@input-purpose@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewInputPurpose :: (IsTextView o) => Gtk.Enums.InputPurpose -> IO (GValueConstruct o)
+constructTextViewInputPurpose val = B.Properties.constructObjectPropertyEnum "input-purpose" val
+
+#if ENABLE_OVERLOADING
+data TextViewInputPurposePropertyInfo
+instance AttrInfo TextViewInputPurposePropertyInfo where
+    type AttrAllowedOps TextViewInputPurposePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewInputPurposePropertyInfo = (~) Gtk.Enums.InputPurpose
+    type AttrBaseTypeConstraint TextViewInputPurposePropertyInfo = IsTextView
+    type AttrGetType TextViewInputPurposePropertyInfo = Gtk.Enums.InputPurpose
+    type AttrLabel TextViewInputPurposePropertyInfo = "input-purpose"
+    type AttrOrigin TextViewInputPurposePropertyInfo = TextView
+    attrGet _ = getTextViewInputPurpose
+    attrSet _ = setTextViewInputPurpose
+    attrConstruct _ = constructTextViewInputPurpose
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "justification"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Justification"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@justification@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #justification
+@
+-}
+getTextViewJustification :: (MonadIO m, IsTextView o) => o -> m Gtk.Enums.Justification
+getTextViewJustification obj = liftIO $ B.Properties.getObjectPropertyEnum obj "justification"
+
+{- |
+Set the value of the “@justification@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #justification 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewJustification :: (MonadIO m, IsTextView o) => o -> Gtk.Enums.Justification -> m ()
+setTextViewJustification obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "justification" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@justification@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewJustification :: (IsTextView o) => Gtk.Enums.Justification -> IO (GValueConstruct o)
+constructTextViewJustification val = B.Properties.constructObjectPropertyEnum "justification" val
+
+#if ENABLE_OVERLOADING
+data TextViewJustificationPropertyInfo
+instance AttrInfo TextViewJustificationPropertyInfo where
+    type AttrAllowedOps TextViewJustificationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewJustificationPropertyInfo = (~) Gtk.Enums.Justification
+    type AttrBaseTypeConstraint TextViewJustificationPropertyInfo = IsTextView
+    type AttrGetType TextViewJustificationPropertyInfo = Gtk.Enums.Justification
+    type AttrLabel TextViewJustificationPropertyInfo = "justification"
+    type AttrOrigin TextViewJustificationPropertyInfo = TextView
+    attrGet _ = getTextViewJustification
+    attrSet _ = setTextViewJustification
+    attrConstruct _ = constructTextViewJustification
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "left-margin"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@left-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #leftMargin
+@
+-}
+getTextViewLeftMargin :: (MonadIO m, IsTextView o) => o -> m Int32
+getTextViewLeftMargin obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "left-margin"
+
+{- |
+Set the value of the “@left-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #leftMargin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewLeftMargin :: (MonadIO m, IsTextView o) => o -> Int32 -> m ()
+setTextViewLeftMargin obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "left-margin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@left-margin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewLeftMargin :: (IsTextView o) => Int32 -> IO (GValueConstruct o)
+constructTextViewLeftMargin val = B.Properties.constructObjectPropertyInt32 "left-margin" val
+
+#if ENABLE_OVERLOADING
+data TextViewLeftMarginPropertyInfo
+instance AttrInfo TextViewLeftMarginPropertyInfo where
+    type AttrAllowedOps TextViewLeftMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewLeftMarginPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextViewLeftMarginPropertyInfo = IsTextView
+    type AttrGetType TextViewLeftMarginPropertyInfo = Int32
+    type AttrLabel TextViewLeftMarginPropertyInfo = "left-margin"
+    type AttrOrigin TextViewLeftMarginPropertyInfo = TextView
+    attrGet _ = getTextViewLeftMargin
+    attrSet _ = setTextViewLeftMargin
+    attrConstruct _ = constructTextViewLeftMargin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "monospace"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@monospace@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #monospace
+@
+-}
+getTextViewMonospace :: (MonadIO m, IsTextView o) => o -> m Bool
+getTextViewMonospace obj = liftIO $ B.Properties.getObjectPropertyBool obj "monospace"
+
+{- |
+Set the value of the “@monospace@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #monospace 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewMonospace :: (MonadIO m, IsTextView o) => o -> Bool -> m ()
+setTextViewMonospace obj val = liftIO $ B.Properties.setObjectPropertyBool obj "monospace" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@monospace@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewMonospace :: (IsTextView o) => Bool -> IO (GValueConstruct o)
+constructTextViewMonospace val = B.Properties.constructObjectPropertyBool "monospace" val
+
+#if ENABLE_OVERLOADING
+data TextViewMonospacePropertyInfo
+instance AttrInfo TextViewMonospacePropertyInfo where
+    type AttrAllowedOps TextViewMonospacePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewMonospacePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextViewMonospacePropertyInfo = IsTextView
+    type AttrGetType TextViewMonospacePropertyInfo = Bool
+    type AttrLabel TextViewMonospacePropertyInfo = "monospace"
+    type AttrOrigin TextViewMonospacePropertyInfo = TextView
+    attrGet _ = getTextViewMonospace
+    attrSet _ = setTextViewMonospace
+    attrConstruct _ = constructTextViewMonospace
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "overwrite"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@overwrite@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #overwrite
+@
+-}
+getTextViewOverwrite :: (MonadIO m, IsTextView o) => o -> m Bool
+getTextViewOverwrite obj = liftIO $ B.Properties.getObjectPropertyBool obj "overwrite"
+
+{- |
+Set the value of the “@overwrite@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #overwrite 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewOverwrite :: (MonadIO m, IsTextView o) => o -> Bool -> m ()
+setTextViewOverwrite obj val = liftIO $ B.Properties.setObjectPropertyBool obj "overwrite" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@overwrite@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewOverwrite :: (IsTextView o) => Bool -> IO (GValueConstruct o)
+constructTextViewOverwrite val = B.Properties.constructObjectPropertyBool "overwrite" val
+
+#if ENABLE_OVERLOADING
+data TextViewOverwritePropertyInfo
+instance AttrInfo TextViewOverwritePropertyInfo where
+    type AttrAllowedOps TextViewOverwritePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewOverwritePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextViewOverwritePropertyInfo = IsTextView
+    type AttrGetType TextViewOverwritePropertyInfo = Bool
+    type AttrLabel TextViewOverwritePropertyInfo = "overwrite"
+    type AttrOrigin TextViewOverwritePropertyInfo = TextView
+    attrGet _ = getTextViewOverwrite
+    attrSet _ = setTextViewOverwrite
+    attrConstruct _ = constructTextViewOverwrite
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixels-above-lines"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@pixels-above-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #pixelsAboveLines
+@
+-}
+getTextViewPixelsAboveLines :: (MonadIO m, IsTextView o) => o -> m Int32
+getTextViewPixelsAboveLines obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "pixels-above-lines"
+
+{- |
+Set the value of the “@pixels-above-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #pixelsAboveLines 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewPixelsAboveLines :: (MonadIO m, IsTextView o) => o -> Int32 -> m ()
+setTextViewPixelsAboveLines obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "pixels-above-lines" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixels-above-lines@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewPixelsAboveLines :: (IsTextView o) => Int32 -> IO (GValueConstruct o)
+constructTextViewPixelsAboveLines val = B.Properties.constructObjectPropertyInt32 "pixels-above-lines" val
+
+#if ENABLE_OVERLOADING
+data TextViewPixelsAboveLinesPropertyInfo
+instance AttrInfo TextViewPixelsAboveLinesPropertyInfo where
+    type AttrAllowedOps TextViewPixelsAboveLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewPixelsAboveLinesPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextViewPixelsAboveLinesPropertyInfo = IsTextView
+    type AttrGetType TextViewPixelsAboveLinesPropertyInfo = Int32
+    type AttrLabel TextViewPixelsAboveLinesPropertyInfo = "pixels-above-lines"
+    type AttrOrigin TextViewPixelsAboveLinesPropertyInfo = TextView
+    attrGet _ = getTextViewPixelsAboveLines
+    attrSet _ = setTextViewPixelsAboveLines
+    attrConstruct _ = constructTextViewPixelsAboveLines
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixels-below-lines"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@pixels-below-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #pixelsBelowLines
+@
+-}
+getTextViewPixelsBelowLines :: (MonadIO m, IsTextView o) => o -> m Int32
+getTextViewPixelsBelowLines obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "pixels-below-lines"
+
+{- |
+Set the value of the “@pixels-below-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #pixelsBelowLines 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewPixelsBelowLines :: (MonadIO m, IsTextView o) => o -> Int32 -> m ()
+setTextViewPixelsBelowLines obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "pixels-below-lines" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixels-below-lines@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewPixelsBelowLines :: (IsTextView o) => Int32 -> IO (GValueConstruct o)
+constructTextViewPixelsBelowLines val = B.Properties.constructObjectPropertyInt32 "pixels-below-lines" val
+
+#if ENABLE_OVERLOADING
+data TextViewPixelsBelowLinesPropertyInfo
+instance AttrInfo TextViewPixelsBelowLinesPropertyInfo where
+    type AttrAllowedOps TextViewPixelsBelowLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewPixelsBelowLinesPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextViewPixelsBelowLinesPropertyInfo = IsTextView
+    type AttrGetType TextViewPixelsBelowLinesPropertyInfo = Int32
+    type AttrLabel TextViewPixelsBelowLinesPropertyInfo = "pixels-below-lines"
+    type AttrOrigin TextViewPixelsBelowLinesPropertyInfo = TextView
+    attrGet _ = getTextViewPixelsBelowLines
+    attrSet _ = setTextViewPixelsBelowLines
+    attrConstruct _ = constructTextViewPixelsBelowLines
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "pixels-inside-wrap"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@pixels-inside-wrap@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #pixelsInsideWrap
+@
+-}
+getTextViewPixelsInsideWrap :: (MonadIO m, IsTextView o) => o -> m Int32
+getTextViewPixelsInsideWrap obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "pixels-inside-wrap"
+
+{- |
+Set the value of the “@pixels-inside-wrap@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #pixelsInsideWrap 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewPixelsInsideWrap :: (MonadIO m, IsTextView o) => o -> Int32 -> m ()
+setTextViewPixelsInsideWrap obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "pixels-inside-wrap" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@pixels-inside-wrap@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewPixelsInsideWrap :: (IsTextView o) => Int32 -> IO (GValueConstruct o)
+constructTextViewPixelsInsideWrap val = B.Properties.constructObjectPropertyInt32 "pixels-inside-wrap" val
+
+#if ENABLE_OVERLOADING
+data TextViewPixelsInsideWrapPropertyInfo
+instance AttrInfo TextViewPixelsInsideWrapPropertyInfo where
+    type AttrAllowedOps TextViewPixelsInsideWrapPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewPixelsInsideWrapPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextViewPixelsInsideWrapPropertyInfo = IsTextView
+    type AttrGetType TextViewPixelsInsideWrapPropertyInfo = Int32
+    type AttrLabel TextViewPixelsInsideWrapPropertyInfo = "pixels-inside-wrap"
+    type AttrOrigin TextViewPixelsInsideWrapPropertyInfo = TextView
+    attrGet _ = getTextViewPixelsInsideWrap
+    attrSet _ = setTextViewPixelsInsideWrap
+    attrConstruct _ = constructTextViewPixelsInsideWrap
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "populate-all"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@populate-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #populateAll
+@
+-}
+getTextViewPopulateAll :: (MonadIO m, IsTextView o) => o -> m Bool
+getTextViewPopulateAll obj = liftIO $ B.Properties.getObjectPropertyBool obj "populate-all"
+
+{- |
+Set the value of the “@populate-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #populateAll 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewPopulateAll :: (MonadIO m, IsTextView o) => o -> Bool -> m ()
+setTextViewPopulateAll obj val = liftIO $ B.Properties.setObjectPropertyBool obj "populate-all" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@populate-all@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewPopulateAll :: (IsTextView o) => Bool -> IO (GValueConstruct o)
+constructTextViewPopulateAll val = B.Properties.constructObjectPropertyBool "populate-all" val
+
+#if ENABLE_OVERLOADING
+data TextViewPopulateAllPropertyInfo
+instance AttrInfo TextViewPopulateAllPropertyInfo where
+    type AttrAllowedOps TextViewPopulateAllPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewPopulateAllPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TextViewPopulateAllPropertyInfo = IsTextView
+    type AttrGetType TextViewPopulateAllPropertyInfo = Bool
+    type AttrLabel TextViewPopulateAllPropertyInfo = "populate-all"
+    type AttrOrigin TextViewPopulateAllPropertyInfo = TextView
+    attrGet _ = getTextViewPopulateAll
+    attrSet _ = setTextViewPopulateAll
+    attrConstruct _ = constructTextViewPopulateAll
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "right-margin"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@right-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #rightMargin
+@
+-}
+getTextViewRightMargin :: (MonadIO m, IsTextView o) => o -> m Int32
+getTextViewRightMargin obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "right-margin"
+
+{- |
+Set the value of the “@right-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #rightMargin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewRightMargin :: (MonadIO m, IsTextView o) => o -> Int32 -> m ()
+setTextViewRightMargin obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "right-margin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@right-margin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewRightMargin :: (IsTextView o) => Int32 -> IO (GValueConstruct o)
+constructTextViewRightMargin val = B.Properties.constructObjectPropertyInt32 "right-margin" val
+
+#if ENABLE_OVERLOADING
+data TextViewRightMarginPropertyInfo
+instance AttrInfo TextViewRightMarginPropertyInfo where
+    type AttrAllowedOps TextViewRightMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewRightMarginPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextViewRightMarginPropertyInfo = IsTextView
+    type AttrGetType TextViewRightMarginPropertyInfo = Int32
+    type AttrLabel TextViewRightMarginPropertyInfo = "right-margin"
+    type AttrOrigin TextViewRightMarginPropertyInfo = TextView
+    attrGet _ = getTextViewRightMargin
+    attrSet _ = setTextViewRightMargin
+    attrConstruct _ = constructTextViewRightMargin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tabs"
+   -- Type: TInterface (Name {namespace = "Pango", name = "TabArray"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@tabs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #tabs
+@
+-}
+getTextViewTabs :: (MonadIO m, IsTextView o) => o -> m (Maybe Pango.TabArray.TabArray)
+getTextViewTabs obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "tabs" Pango.TabArray.TabArray
+
+{- |
+Set the value of the “@tabs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #tabs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewTabs :: (MonadIO m, IsTextView o) => o -> Pango.TabArray.TabArray -> m ()
+setTextViewTabs obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "tabs" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tabs@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewTabs :: (IsTextView o) => Pango.TabArray.TabArray -> IO (GValueConstruct o)
+constructTextViewTabs val = B.Properties.constructObjectPropertyBoxed "tabs" (Just val)
+
+#if ENABLE_OVERLOADING
+data TextViewTabsPropertyInfo
+instance AttrInfo TextViewTabsPropertyInfo where
+    type AttrAllowedOps TextViewTabsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewTabsPropertyInfo = (~) Pango.TabArray.TabArray
+    type AttrBaseTypeConstraint TextViewTabsPropertyInfo = IsTextView
+    type AttrGetType TextViewTabsPropertyInfo = (Maybe Pango.TabArray.TabArray)
+    type AttrLabel TextViewTabsPropertyInfo = "tabs"
+    type AttrOrigin TextViewTabsPropertyInfo = TextView
+    attrGet _ = getTextViewTabs
+    attrSet _ = setTextViewTabs
+    attrConstruct _ = constructTextViewTabs
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "top-margin"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@top-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #topMargin
+@
+-}
+getTextViewTopMargin :: (MonadIO m, IsTextView o) => o -> m Int32
+getTextViewTopMargin obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "top-margin"
+
+{- |
+Set the value of the “@top-margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #topMargin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewTopMargin :: (MonadIO m, IsTextView o) => o -> Int32 -> m ()
+setTextViewTopMargin obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "top-margin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@top-margin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewTopMargin :: (IsTextView o) => Int32 -> IO (GValueConstruct o)
+constructTextViewTopMargin val = B.Properties.constructObjectPropertyInt32 "top-margin" val
+
+#if ENABLE_OVERLOADING
+data TextViewTopMarginPropertyInfo
+instance AttrInfo TextViewTopMarginPropertyInfo where
+    type AttrAllowedOps TextViewTopMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewTopMarginPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TextViewTopMarginPropertyInfo = IsTextView
+    type AttrGetType TextViewTopMarginPropertyInfo = Int32
+    type AttrLabel TextViewTopMarginPropertyInfo = "top-margin"
+    type AttrOrigin TextViewTopMarginPropertyInfo = TextView
+    attrGet _ = getTextViewTopMargin
+    attrSet _ = setTextViewTopMargin
+    attrConstruct _ = constructTextViewTopMargin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "wrap-mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "WrapMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@wrap-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textView #wrapMode
+@
+-}
+getTextViewWrapMode :: (MonadIO m, IsTextView o) => o -> m Gtk.Enums.WrapMode
+getTextViewWrapMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "wrap-mode"
+
+{- |
+Set the value of the “@wrap-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textView [ #wrapMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextViewWrapMode :: (MonadIO m, IsTextView o) => o -> Gtk.Enums.WrapMode -> m ()
+setTextViewWrapMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "wrap-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@wrap-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTextViewWrapMode :: (IsTextView o) => Gtk.Enums.WrapMode -> IO (GValueConstruct o)
+constructTextViewWrapMode val = B.Properties.constructObjectPropertyEnum "wrap-mode" val
+
+#if ENABLE_OVERLOADING
+data TextViewWrapModePropertyInfo
+instance AttrInfo TextViewWrapModePropertyInfo where
+    type AttrAllowedOps TextViewWrapModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TextViewWrapModePropertyInfo = (~) Gtk.Enums.WrapMode
+    type AttrBaseTypeConstraint TextViewWrapModePropertyInfo = IsTextView
+    type AttrGetType TextViewWrapModePropertyInfo = Gtk.Enums.WrapMode
+    type AttrLabel TextViewWrapModePropertyInfo = "wrap-mode"
+    type AttrOrigin TextViewWrapModePropertyInfo = TextView
+    attrGet _ = getTextViewWrapMode
+    attrSet _ = setTextViewWrapMode
+    attrConstruct _ = constructTextViewWrapMode
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextView
+type instance O.AttributeList TextView = TextViewAttributeList
+type TextViewAttributeList = ('[ '("acceptsTab", TextViewAcceptsTabPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("bottomMargin", TextViewBottomMarginPropertyInfo), '("buffer", TextViewBufferPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("cursorVisible", TextViewCursorVisiblePropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("editable", TextViewEditablePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", Gtk.Scrollable.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hscrollPolicy", Gtk.Scrollable.ScrollableHscrollPolicyPropertyInfo), '("imModule", TextViewImModulePropertyInfo), '("indent", TextViewIndentPropertyInfo), '("inputHints", TextViewInputHintsPropertyInfo), '("inputPurpose", TextViewInputPurposePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("justification", TextViewJustificationPropertyInfo), '("leftMargin", TextViewLeftMarginPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("monospace", TextViewMonospacePropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overwrite", TextViewOverwritePropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("pixelsAboveLines", TextViewPixelsAboveLinesPropertyInfo), '("pixelsBelowLines", TextViewPixelsBelowLinesPropertyInfo), '("pixelsInsideWrap", TextViewPixelsInsideWrapPropertyInfo), '("populateAll", TextViewPopulateAllPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rightMargin", TextViewRightMarginPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tabs", TextViewTabsPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("topMargin", TextViewTopMarginPropertyInfo), '("vadjustment", Gtk.Scrollable.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.Scrollable.ScrollableVscrollPolicyPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("wrapMode", TextViewWrapModePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+textViewAcceptsTab :: AttrLabelProxy "acceptsTab"
+textViewAcceptsTab = AttrLabelProxy
+
+textViewBottomMargin :: AttrLabelProxy "bottomMargin"
+textViewBottomMargin = AttrLabelProxy
+
+textViewBuffer :: AttrLabelProxy "buffer"
+textViewBuffer = AttrLabelProxy
+
+textViewCursorVisible :: AttrLabelProxy "cursorVisible"
+textViewCursorVisible = AttrLabelProxy
+
+textViewEditable :: AttrLabelProxy "editable"
+textViewEditable = AttrLabelProxy
+
+textViewImModule :: AttrLabelProxy "imModule"
+textViewImModule = AttrLabelProxy
+
+textViewIndent :: AttrLabelProxy "indent"
+textViewIndent = AttrLabelProxy
+
+textViewInputHints :: AttrLabelProxy "inputHints"
+textViewInputHints = AttrLabelProxy
+
+textViewInputPurpose :: AttrLabelProxy "inputPurpose"
+textViewInputPurpose = AttrLabelProxy
+
+textViewJustification :: AttrLabelProxy "justification"
+textViewJustification = AttrLabelProxy
+
+textViewLeftMargin :: AttrLabelProxy "leftMargin"
+textViewLeftMargin = AttrLabelProxy
+
+textViewMonospace :: AttrLabelProxy "monospace"
+textViewMonospace = AttrLabelProxy
+
+textViewOverwrite :: AttrLabelProxy "overwrite"
+textViewOverwrite = AttrLabelProxy
+
+textViewPixelsAboveLines :: AttrLabelProxy "pixelsAboveLines"
+textViewPixelsAboveLines = AttrLabelProxy
+
+textViewPixelsBelowLines :: AttrLabelProxy "pixelsBelowLines"
+textViewPixelsBelowLines = AttrLabelProxy
+
+textViewPixelsInsideWrap :: AttrLabelProxy "pixelsInsideWrap"
+textViewPixelsInsideWrap = AttrLabelProxy
+
+textViewPopulateAll :: AttrLabelProxy "populateAll"
+textViewPopulateAll = AttrLabelProxy
+
+textViewRightMargin :: AttrLabelProxy "rightMargin"
+textViewRightMargin = AttrLabelProxy
+
+textViewTabs :: AttrLabelProxy "tabs"
+textViewTabs = AttrLabelProxy
+
+textViewTopMargin :: AttrLabelProxy "topMargin"
+textViewTopMargin = AttrLabelProxy
+
+textViewWrapMode :: AttrLabelProxy "wrapMode"
+textViewWrapMode = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data TextViewBackspaceSignalInfo
+instance SignalInfo TextViewBackspaceSignalInfo where
+    type HaskellCallbackType TextViewBackspaceSignalInfo = TextViewBackspaceCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewBackspaceCallback cb
+        cb'' <- mk_TextViewBackspaceCallback cb'
+        connectSignalFunPtr obj "backspace" cb'' connectMode
+
+data TextViewCopyClipboardSignalInfo
+instance SignalInfo TextViewCopyClipboardSignalInfo where
+    type HaskellCallbackType TextViewCopyClipboardSignalInfo = TextViewCopyClipboardCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewCopyClipboardCallback cb
+        cb'' <- mk_TextViewCopyClipboardCallback cb'
+        connectSignalFunPtr obj "copy-clipboard" cb'' connectMode
+
+data TextViewCutClipboardSignalInfo
+instance SignalInfo TextViewCutClipboardSignalInfo where
+    type HaskellCallbackType TextViewCutClipboardSignalInfo = TextViewCutClipboardCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewCutClipboardCallback cb
+        cb'' <- mk_TextViewCutClipboardCallback cb'
+        connectSignalFunPtr obj "cut-clipboard" cb'' connectMode
+
+data TextViewDeleteFromCursorSignalInfo
+instance SignalInfo TextViewDeleteFromCursorSignalInfo where
+    type HaskellCallbackType TextViewDeleteFromCursorSignalInfo = TextViewDeleteFromCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewDeleteFromCursorCallback cb
+        cb'' <- mk_TextViewDeleteFromCursorCallback cb'
+        connectSignalFunPtr obj "delete-from-cursor" cb'' connectMode
+
+data TextViewExtendSelectionSignalInfo
+instance SignalInfo TextViewExtendSelectionSignalInfo where
+    type HaskellCallbackType TextViewExtendSelectionSignalInfo = TextViewExtendSelectionCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewExtendSelectionCallback cb
+        cb'' <- mk_TextViewExtendSelectionCallback cb'
+        connectSignalFunPtr obj "extend-selection" cb'' connectMode
+
+data TextViewInsertAtCursorSignalInfo
+instance SignalInfo TextViewInsertAtCursorSignalInfo where
+    type HaskellCallbackType TextViewInsertAtCursorSignalInfo = TextViewInsertAtCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewInsertAtCursorCallback cb
+        cb'' <- mk_TextViewInsertAtCursorCallback cb'
+        connectSignalFunPtr obj "insert-at-cursor" cb'' connectMode
+
+data TextViewInsertEmojiSignalInfo
+instance SignalInfo TextViewInsertEmojiSignalInfo where
+    type HaskellCallbackType TextViewInsertEmojiSignalInfo = TextViewInsertEmojiCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewInsertEmojiCallback cb
+        cb'' <- mk_TextViewInsertEmojiCallback cb'
+        connectSignalFunPtr obj "insert-emoji" cb'' connectMode
+
+data TextViewMoveCursorSignalInfo
+instance SignalInfo TextViewMoveCursorSignalInfo where
+    type HaskellCallbackType TextViewMoveCursorSignalInfo = TextViewMoveCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewMoveCursorCallback cb
+        cb'' <- mk_TextViewMoveCursorCallback cb'
+        connectSignalFunPtr obj "move-cursor" cb'' connectMode
+
+data TextViewMoveViewportSignalInfo
+instance SignalInfo TextViewMoveViewportSignalInfo where
+    type HaskellCallbackType TextViewMoveViewportSignalInfo = TextViewMoveViewportCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewMoveViewportCallback cb
+        cb'' <- mk_TextViewMoveViewportCallback cb'
+        connectSignalFunPtr obj "move-viewport" cb'' connectMode
+
+data TextViewPasteClipboardSignalInfo
+instance SignalInfo TextViewPasteClipboardSignalInfo where
+    type HaskellCallbackType TextViewPasteClipboardSignalInfo = TextViewPasteClipboardCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewPasteClipboardCallback cb
+        cb'' <- mk_TextViewPasteClipboardCallback cb'
+        connectSignalFunPtr obj "paste-clipboard" cb'' connectMode
+
+data TextViewPopulatePopupSignalInfo
+instance SignalInfo TextViewPopulatePopupSignalInfo where
+    type HaskellCallbackType TextViewPopulatePopupSignalInfo = TextViewPopulatePopupCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewPopulatePopupCallback cb
+        cb'' <- mk_TextViewPopulatePopupCallback cb'
+        connectSignalFunPtr obj "populate-popup" cb'' connectMode
+
+data TextViewPreeditChangedSignalInfo
+instance SignalInfo TextViewPreeditChangedSignalInfo where
+    type HaskellCallbackType TextViewPreeditChangedSignalInfo = TextViewPreeditChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewPreeditChangedCallback cb
+        cb'' <- mk_TextViewPreeditChangedCallback cb'
+        connectSignalFunPtr obj "preedit-changed" cb'' connectMode
+
+data TextViewSelectAllSignalInfo
+instance SignalInfo TextViewSelectAllSignalInfo where
+    type HaskellCallbackType TextViewSelectAllSignalInfo = TextViewSelectAllCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewSelectAllCallback cb
+        cb'' <- mk_TextViewSelectAllCallback cb'
+        connectSignalFunPtr obj "select-all" cb'' connectMode
+
+data TextViewSetAnchorSignalInfo
+instance SignalInfo TextViewSetAnchorSignalInfo where
+    type HaskellCallbackType TextViewSetAnchorSignalInfo = TextViewSetAnchorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewSetAnchorCallback cb
+        cb'' <- mk_TextViewSetAnchorCallback cb'
+        connectSignalFunPtr obj "set-anchor" cb'' connectMode
+
+data TextViewToggleCursorVisibleSignalInfo
+instance SignalInfo TextViewToggleCursorVisibleSignalInfo where
+    type HaskellCallbackType TextViewToggleCursorVisibleSignalInfo = TextViewToggleCursorVisibleCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewToggleCursorVisibleCallback cb
+        cb'' <- mk_TextViewToggleCursorVisibleCallback cb'
+        connectSignalFunPtr obj "toggle-cursor-visible" cb'' connectMode
+
+data TextViewToggleOverwriteSignalInfo
+instance SignalInfo TextViewToggleOverwriteSignalInfo where
+    type HaskellCallbackType TextViewToggleOverwriteSignalInfo = TextViewToggleOverwriteCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TextViewToggleOverwriteCallback cb
+        cb'' <- mk_TextViewToggleOverwriteCallback cb'
+        connectSignalFunPtr obj "toggle-overwrite" cb'' connectMode
+
+type instance O.SignalList TextView = TextViewSignalList
+type TextViewSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("backspace", TextViewBackspaceSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("copyClipboard", TextViewCopyClipboardSignalInfo), '("cutClipboard", TextViewCutClipboardSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deleteFromCursor", TextViewDeleteFromCursorSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("extendSelection", TextViewExtendSelectionSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("insertAtCursor", TextViewInsertAtCursorSignalInfo), '("insertEmoji", TextViewInsertEmojiSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", TextViewMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveViewport", TextViewMoveViewportSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("pasteClipboard", TextViewPasteClipboardSignalInfo), '("populatePopup", TextViewPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("preeditChanged", TextViewPreeditChangedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectAll", TextViewSelectAllSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setAnchor", TextViewSetAnchorSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleCursorVisible", TextViewToggleCursorVisibleSignalInfo), '("toggleOverwrite", TextViewToggleOverwriteSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TextView::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_new" gtk_text_view_new :: 
+    IO (Ptr TextView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.TextView.TextView'. If you don’t call 'GI.Gtk.Objects.TextView.textViewSetBuffer'
+before using the text view, an empty default buffer will be created
+for you. Get the buffer with 'GI.Gtk.Objects.TextView.textViewGetBuffer'. If you want
+to specify your own buffer, consider 'GI.Gtk.Objects.TextView.textViewNewWithBuffer'.
+-}
+textViewNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m TextView
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.TextView.TextView' -}
+textViewNew  = liftIO $ do
+    result <- gtk_text_view_new
+    checkUnexpectedReturnNULL "textViewNew" result
+    result' <- (newObject TextView) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TextView::new_with_buffer
+-- method type : Constructor
+-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_new_with_buffer" gtk_text_view_new_with_buffer :: 
+    Ptr Gtk.TextBuffer.TextBuffer ->        -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO (Ptr TextView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.TextView.TextView' widget displaying the buffer
+/@buffer@/. One buffer can be shared among many widgets.
+/@buffer@/ may be 'Nothing' to create a default buffer, in which case
+this function is equivalent to 'GI.Gtk.Objects.TextView.textViewNew'. The
+text view adds its own reference count to the buffer; it does not
+take over an existing reference.
+-}
+textViewNewWithBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextBuffer.IsTextBuffer a) =>
+    a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m TextView
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.TextView.TextView'. -}
+textViewNewWithBuffer buffer = liftIO $ do
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_text_view_new_with_buffer buffer'
+    checkUnexpectedReturnNULL "textViewNewWithBuffer" result
+    result' <- (newObject TextView) result
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TextView::add_child_at_anchor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "anchor", argType = TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextChildAnchor in the #GtkTextBuffer for @text_view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_add_child_at_anchor" gtk_text_view_add_child_at_anchor :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.TextChildAnchor.TextChildAnchor -> -- anchor : TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"})
+    IO ()
+
+{- |
+Adds a child widget in the text buffer, at the given /@anchor@/.
+-}
+textViewAddChildAtAnchor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a, Gtk.Widget.IsWidget b, Gtk.TextChildAnchor.IsTextChildAnchor c) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> b
+    {- ^ /@child@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> c
+    {- ^ /@anchor@/: a 'GI.Gtk.Objects.TextChildAnchor.TextChildAnchor' in the 'GI.Gtk.Objects.TextBuffer.TextBuffer' for /@textView@/ -}
+    -> m ()
+textViewAddChildAtAnchor textView child anchor = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    child' <- unsafeManagedPtrCastPtr child
+    anchor' <- unsafeManagedPtrCastPtr anchor
+    gtk_text_view_add_child_at_anchor textView' child' anchor'
+    touchManagedPtr textView
+    touchManagedPtr child
+    touchManagedPtr anchor
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewAddChildAtAnchorMethodInfo
+instance (signature ~ (b -> c -> m ()), MonadIO m, IsTextView a, Gtk.Widget.IsWidget b, Gtk.TextChildAnchor.IsTextChildAnchor c) => O.MethodInfo TextViewAddChildAtAnchorMethodInfo a signature where
+    overloadedMethod _ = textViewAddChildAtAnchor
+
+#endif
+
+-- method TextView::add_child_in_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "which_window", argType = TInterface (Name {namespace = "Gtk", name = "TextWindowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "which window the child should appear in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position of child in window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ypos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position of child in window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_add_child_in_window" gtk_text_view_add_child_in_window :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- which_window : TInterface (Name {namespace = "Gtk", name = "TextWindowType"})
+    Int32 ->                                -- xpos : TBasicType TInt
+    Int32 ->                                -- ypos : TBasicType TInt
+    IO ()
+
+{- |
+Adds a child at fixed coordinates in one of the text widget\'s
+windows.
+
+The window must have nonzero size (see
+'GI.Gtk.Objects.TextView.textViewSetBorderWindowSize'). Note that the child
+coordinates are given relative to scrolling. When
+placing a child in @/GTK_TEXT_WINDOW_WIDGET/@, scrolling is
+irrelevant, the child floats above all scrollable areas. But when
+placing a child in one of the scrollable windows (border windows or
+text window) it will move with the scrolling as needed.
+-}
+textViewAddChildInWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> b
+    {- ^ /@child@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.TextWindowType
+    {- ^ /@whichWindow@/: which window the child should appear in -}
+    -> Int32
+    {- ^ /@xpos@/: X position of child in window coordinates -}
+    -> Int32
+    {- ^ /@ypos@/: Y position of child in window coordinates -}
+    -> m ()
+textViewAddChildInWindow textView child whichWindow xpos ypos = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    child' <- unsafeManagedPtrCastPtr child
+    let whichWindow' = (fromIntegral . fromEnum) whichWindow
+    gtk_text_view_add_child_in_window textView' child' whichWindow' xpos ypos
+    touchManagedPtr textView
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewAddChildInWindowMethodInfo
+instance (signature ~ (b -> Gtk.Enums.TextWindowType -> Int32 -> Int32 -> m ()), MonadIO m, IsTextView a, Gtk.Widget.IsWidget b) => O.MethodInfo TextViewAddChildInWindowMethodInfo a signature where
+    overloadedMethod _ = textViewAddChildInWindow
+
+#endif
+
+-- method TextView::backward_display_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_backward_display_line" gtk_text_view_backward_display_line :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves the given /@iter@/ backward by one display (wrapped) line.
+A display line is different from a paragraph. Paragraphs are
+separated by newlines or other paragraph separator characters.
+Display lines are created by line-wrapping a paragraph. If
+wrapping is turned off, display lines and paragraphs will be the
+same. Display lines are divided differently for each view, since
+they depend on the view’s width; paragraphs are the same in all
+views, since they depend on the contents of the 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+-}
+textViewBackwardDisplayLine ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ was moved and is not on the end iterator -}
+textViewBackwardDisplayLine textView iter = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_view_backward_display_line textView' iter'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewBackwardDisplayLineMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewBackwardDisplayLineMethodInfo a signature where
+    overloadedMethod _ = textViewBackwardDisplayLine
+
+#endif
+
+-- method TextView::backward_display_line_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_backward_display_line_start" gtk_text_view_backward_display_line_start :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves the given /@iter@/ backward to the next display line start.
+A display line is different from a paragraph. Paragraphs are
+separated by newlines or other paragraph separator characters.
+Display lines are created by line-wrapping a paragraph. If
+wrapping is turned off, display lines and paragraphs will be the
+same. Display lines are divided differently for each view, since
+they depend on the view’s width; paragraphs are the same in all
+views, since they depend on the contents of the 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+-}
+textViewBackwardDisplayLineStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ was moved and is not on the end iterator -}
+textViewBackwardDisplayLineStart textView iter = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_view_backward_display_line_start textView' iter'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewBackwardDisplayLineStartMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewBackwardDisplayLineStartMethodInfo a signature where
+    overloadedMethod _ = textViewBackwardDisplayLineStart
+
+#endif
+
+-- method TextView::buffer_to_window_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "win", argType = TInterface (Name {namespace = "Gtk", name = "TextWindowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextWindowType, except %GTK_TEXT_WINDOW_PRIVATE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window x coordinate return location or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "window_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window y coordinate return location or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_buffer_to_window_coords" gtk_text_view_buffer_to_window_coords :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CUInt ->                                -- win : TInterface (Name {namespace = "Gtk", name = "TextWindowType"})
+    Int32 ->                                -- buffer_x : TBasicType TInt
+    Int32 ->                                -- buffer_y : TBasicType TInt
+    Ptr Int32 ->                            -- window_x : TBasicType TInt
+    Ptr Int32 ->                            -- window_y : TBasicType TInt
+    IO ()
+
+{- |
+Converts coordinate (/@bufferX@/, /@bufferY@/) to coordinates for the window
+/@win@/, and stores the result in (/@windowX@/, /@windowY@/).
+
+Note that you can’t convert coordinates for a nonexisting window (see
+'GI.Gtk.Objects.TextView.textViewSetBorderWindowSize').
+-}
+textViewBufferToWindowCoords ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.Enums.TextWindowType
+    {- ^ /@win@/: a 'GI.Gtk.Enums.TextWindowType', except 'GI.Gtk.Enums.TextWindowTypePrivate' -}
+    -> Int32
+    {- ^ /@bufferX@/: buffer x coordinate -}
+    -> Int32
+    {- ^ /@bufferY@/: buffer y coordinate -}
+    -> m ((Int32, Int32))
+textViewBufferToWindowCoords textView win bufferX bufferY = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let win' = (fromIntegral . fromEnum) win
+    windowX <- allocMem :: IO (Ptr Int32)
+    windowY <- allocMem :: IO (Ptr Int32)
+    gtk_text_view_buffer_to_window_coords textView' win' bufferX bufferY windowX windowY
+    windowX' <- peek windowX
+    windowY' <- peek windowY
+    touchManagedPtr textView
+    freeMem windowX
+    freeMem windowY
+    return (windowX', windowY')
+
+#if ENABLE_OVERLOADING
+data TextViewBufferToWindowCoordsMethodInfo
+instance (signature ~ (Gtk.Enums.TextWindowType -> Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsTextView a) => O.MethodInfo TextViewBufferToWindowCoordsMethodInfo a signature where
+    overloadedMethod _ = textViewBufferToWindowCoords
+
+#endif
+
+-- method TextView::forward_display_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_forward_display_line" gtk_text_view_forward_display_line :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves the given /@iter@/ forward by one display (wrapped) line.
+A display line is different from a paragraph. Paragraphs are
+separated by newlines or other paragraph separator characters.
+Display lines are created by line-wrapping a paragraph. If
+wrapping is turned off, display lines and paragraphs will be the
+same. Display lines are divided differently for each view, since
+they depend on the view’s width; paragraphs are the same in all
+views, since they depend on the contents of the 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+-}
+textViewForwardDisplayLine ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ was moved and is not on the end iterator -}
+textViewForwardDisplayLine textView iter = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_view_forward_display_line textView' iter'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewForwardDisplayLineMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewForwardDisplayLineMethodInfo a signature where
+    overloadedMethod _ = textViewForwardDisplayLine
+
+#endif
+
+-- method TextView::forward_display_line_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_forward_display_line_end" gtk_text_view_forward_display_line_end :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves the given /@iter@/ forward to the next display line end.
+A display line is different from a paragraph. Paragraphs are
+separated by newlines or other paragraph separator characters.
+Display lines are created by line-wrapping a paragraph. If
+wrapping is turned off, display lines and paragraphs will be the
+same. Display lines are divided differently for each view, since
+they depend on the view’s width; paragraphs are the same in all
+views, since they depend on the contents of the 'GI.Gtk.Objects.TextBuffer.TextBuffer'.
+-}
+textViewForwardDisplayLineEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ was moved and is not on the end iterator -}
+textViewForwardDisplayLineEnd textView iter = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_view_forward_display_line_end textView' iter'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewForwardDisplayLineEndMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewForwardDisplayLineEndMethodInfo a signature where
+    overloadedMethod _ = textViewForwardDisplayLineEnd
+
+#endif
+
+-- method TextView::get_accepts_tab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_accepts_tab" gtk_text_view_get_accepts_tab :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CInt
+
+{- |
+Returns whether pressing the Tab key inserts a tab characters.
+'GI.Gtk.Objects.TextView.textViewSetAcceptsTab'.
+
+/Since: 2.4/
+-}
+textViewGetAcceptsTab ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: A 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if pressing the Tab key inserts a tab character,
+  'False' if pressing the Tab key moves the keyboard focus. -}
+textViewGetAcceptsTab textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_accepts_tab textView'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetAcceptsTabMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetAcceptsTabMethodInfo a signature where
+    overloadedMethod _ = textViewGetAcceptsTab
+
+#endif
+
+-- method TextView::get_border_window_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "TextWindowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to return size from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_border_window_size" gtk_text_view_get_border_window_size :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "TextWindowType"})
+    IO Int32
+
+{- |
+Gets the width of the specified border window. See
+'GI.Gtk.Objects.TextView.textViewSetBorderWindowSize'.
+-}
+textViewGetBorderWindowSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.Enums.TextWindowType
+    {- ^ /@type@/: window to return size from -}
+    -> m Int32
+    {- ^ __Returns:__ width of window -}
+textViewGetBorderWindowSize textView type_ = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let type_' = (fromIntegral . fromEnum) type_
+    result <- gtk_text_view_get_border_window_size textView' type_'
+    touchManagedPtr textView
+    return result
+
+#if ENABLE_OVERLOADING
+data TextViewGetBorderWindowSizeMethodInfo
+instance (signature ~ (Gtk.Enums.TextWindowType -> m Int32), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetBorderWindowSizeMethodInfo a signature where
+    overloadedMethod _ = textViewGetBorderWindowSize
+
+#endif
+
+-- method TextView::get_bottom_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_bottom_margin" gtk_text_view_get_bottom_margin :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO Int32
+
+{- |
+Gets the bottom margin for text in the /@textView@/.
+
+/Since: 3.18/
+-}
+textViewGetBottomMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Int32
+    {- ^ __Returns:__ bottom margin in pixels -}
+textViewGetBottomMargin textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_bottom_margin textView'
+    touchManagedPtr textView
+    return result
+
+#if ENABLE_OVERLOADING
+data TextViewGetBottomMarginMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetBottomMarginMethodInfo a signature where
+    overloadedMethod _ = textViewGetBottomMargin
+
+#endif
+
+-- method TextView::get_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextBuffer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_buffer" gtk_text_view_get_buffer :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO (Ptr Gtk.TextBuffer.TextBuffer)
+
+{- |
+Returns the 'GI.Gtk.Objects.TextBuffer.TextBuffer' being displayed by this text view.
+The reference count on the buffer is not incremented; the caller
+of this function won’t own a new reference.
+-}
+textViewGetBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Gtk.TextBuffer.TextBuffer
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+textViewGetBuffer textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_buffer textView'
+    checkUnexpectedReturnNULL "textViewGetBuffer" result
+    result' <- (newObject Gtk.TextBuffer.TextBuffer) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetBufferMethodInfo
+instance (signature ~ (m Gtk.TextBuffer.TextBuffer), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetBufferMethodInfo a signature where
+    overloadedMethod _ = textViewGetBuffer
+
+#endif
+
+-- method TextView::get_cursor_locations
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "strong", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the strong\n    cursor position (may be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "weak", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the weak\n    cursor position (may be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_cursor_locations" gtk_text_view_get_cursor_locations :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- strong : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- weak : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Given an /@iter@/ within a text layout, determine the positions of the
+strong and weak cursors if the insertion point is at that
+iterator. The position of each cursor is stored as a zero-width
+rectangle. The strong cursor location is the location where
+characters of the directionality equal to the base direction of the
+paragraph are inserted.  The weak cursor location is the location
+where characters of the directionality opposite to the base
+direction of the paragraph are inserted.
+
+If /@iter@/ is 'Nothing', the actual cursor position is used.
+
+Note that if /@iter@/ happens to be the actual cursor position, and
+there is currently an IM preedit sequence being entered, the
+returned locations will be adjusted to account for the preedit
+cursor’s offset within the preedit sequence.
+
+The rectangle position is in buffer coordinates; use
+'GI.Gtk.Objects.TextView.textViewBufferToWindowCoords' to convert these
+coordinates to coordinates for one of the windows in the text view.
+
+/Since: 3.0/
+-}
+textViewGetCursorLocations ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Maybe (Gtk.TextIter.TextIter)
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m ((Gdk.Rectangle.Rectangle, Gdk.Rectangle.Rectangle))
+textViewGetCursorLocations textView iter = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    maybeIter <- case iter of
+        Nothing -> return nullPtr
+        Just jIter -> do
+            jIter' <- unsafeManagedPtrGetPtr jIter
+            return jIter'
+    strong <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    weak <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_text_view_get_cursor_locations textView' maybeIter strong weak
+    strong' <- (wrapBoxed Gdk.Rectangle.Rectangle) strong
+    weak' <- (wrapBoxed Gdk.Rectangle.Rectangle) weak
+    touchManagedPtr textView
+    whenJust iter touchManagedPtr
+    return (strong', weak')
+
+#if ENABLE_OVERLOADING
+data TextViewGetCursorLocationsMethodInfo
+instance (signature ~ (Maybe (Gtk.TextIter.TextIter) -> m ((Gdk.Rectangle.Rectangle, Gdk.Rectangle.Rectangle))), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetCursorLocationsMethodInfo a signature where
+    overloadedMethod _ = textViewGetCursorLocations
+
+#endif
+
+-- method TextView::get_cursor_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_cursor_visible" gtk_text_view_get_cursor_visible :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CInt
+
+{- |
+Find out whether the cursor should be displayed.
+-}
+textViewGetCursorVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the insertion mark is visible -}
+textViewGetCursorVisible textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_cursor_visible textView'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetCursorVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetCursorVisibleMethodInfo a signature where
+    overloadedMethod _ = textViewGetCursorVisible
+
+#endif
+
+-- method TextView::get_default_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextAttributes"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_default_attributes" gtk_text_view_get_default_attributes :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO (Ptr Gtk.TextAttributes.TextAttributes)
+
+{- |
+Obtains a copy of the default text attributes. These are the
+attributes used for text unless a tag overrides them.
+You’d typically pass the default attributes in to
+'GI.Gtk.Structs.TextIter.textIterGetAttributes' in order to get the
+attributes in effect at a given text position.
+
+The return value is a copy owned by the caller of this function,
+and should be freed with 'GI.Gtk.Structs.TextAttributes.textAttributesUnref'.
+-}
+textViewGetDefaultAttributes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Gtk.TextAttributes.TextAttributes
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.TextAttributes.TextAttributes' -}
+textViewGetDefaultAttributes textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_default_attributes textView'
+    checkUnexpectedReturnNULL "textViewGetDefaultAttributes" result
+    result' <- (wrapBoxed Gtk.TextAttributes.TextAttributes) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetDefaultAttributesMethodInfo
+instance (signature ~ (m Gtk.TextAttributes.TextAttributes), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetDefaultAttributesMethodInfo a signature where
+    overloadedMethod _ = textViewGetDefaultAttributes
+
+#endif
+
+-- method TextView::get_editable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_editable" gtk_text_view_get_editable :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CInt
+
+{- |
+Returns the default editability of the 'GI.Gtk.Objects.TextView.TextView'. Tags in the
+buffer may override this setting for some ranges of text.
+-}
+textViewGetEditable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Bool
+    {- ^ __Returns:__ whether text is editable by default -}
+textViewGetEditable textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_editable textView'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetEditableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetEditableMethodInfo a signature where
+    overloadedMethod _ = textViewGetEditable
+
+#endif
+
+-- method TextView::get_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_hadjustment" gtk_text_view_get_hadjustment :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED textViewGetHadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetHadjustment'"] #-}
+{- |
+Gets the horizontal-scrolling 'GI.Gtk.Objects.Adjustment.Adjustment'.
+
+/Since: 2.22/
+-}
+textViewGetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ pointer to the horizontal 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+textViewGetHadjustment textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_hadjustment textView'
+    checkUnexpectedReturnNULL "textViewGetHadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetHadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = textViewGetHadjustment
+
+#endif
+
+-- method TextView::get_indent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_indent" gtk_text_view_get_indent :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO Int32
+
+{- |
+Gets the default indentation of paragraphs in /@textView@/.
+Tags in the view’s buffer may override the default.
+The indentation may be negative.
+-}
+textViewGetIndent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Int32
+    {- ^ __Returns:__ number of pixels of indentation -}
+textViewGetIndent textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_indent textView'
+    touchManagedPtr textView
+    return result
+
+#if ENABLE_OVERLOADING
+data TextViewGetIndentMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetIndentMethodInfo a signature where
+    overloadedMethod _ = textViewGetIndent
+
+#endif
+
+-- method TextView::get_input_hints
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "InputHints"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_input_hints" gtk_text_view_get_input_hints :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CUInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.TextView.TextView':@/input-hints/@ property.
+
+/Since: 3.6/
+-}
+textViewGetInputHints ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m [Gtk.Flags.InputHints]
+textViewGetInputHints textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_input_hints textView'
+    let result' = wordToGFlags result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetInputHintsMethodInfo
+instance (signature ~ (m [Gtk.Flags.InputHints]), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetInputHintsMethodInfo a signature where
+    overloadedMethod _ = textViewGetInputHints
+
+#endif
+
+-- method TextView::get_input_purpose
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "InputPurpose"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_input_purpose" gtk_text_view_get_input_purpose :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CUInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.TextView.TextView':@/input-purpose/@ property.
+
+/Since: 3.6/
+-}
+textViewGetInputPurpose ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Gtk.Enums.InputPurpose
+textViewGetInputPurpose textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_input_purpose textView'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetInputPurposeMethodInfo
+instance (signature ~ (m Gtk.Enums.InputPurpose), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetInputPurposeMethodInfo a signature where
+    overloadedMethod _ = textViewGetInputPurpose
+
+#endif
+
+-- method TextView::get_iter_at_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x position, in buffer coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y position, in buffer coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_iter_at_location" gtk_text_view_get_iter_at_location :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO CInt
+
+{- |
+Retrieves the iterator at buffer coordinates /@x@/ and /@y@/. Buffer
+coordinates are coordinates for the entire buffer, not just the
+currently-displayed portion.  If you have coordinates from an
+event, you have to convert those to buffer coordinates with
+'GI.Gtk.Objects.TextView.textViewWindowToBufferCoords'.
+-}
+textViewGetIterAtLocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@x@/: x position, in buffer coordinates -}
+    -> Int32
+    {- ^ /@y@/: y position, in buffer coordinates -}
+    -> m ((Bool, Gtk.TextIter.TextIter))
+    {- ^ __Returns:__ 'True' if the position is over text -}
+textViewGetIterAtLocation textView x y = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    result <- gtk_text_view_get_iter_at_location textView' iter x y
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    touchManagedPtr textView
+    return (result', iter')
+
+#if ENABLE_OVERLOADING
+data TextViewGetIterAtLocationMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Bool, Gtk.TextIter.TextIter))), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetIterAtLocationMethodInfo a signature where
+    overloadedMethod _ = textViewGetIterAtLocation
+
+#endif
+
+-- method TextView::get_iter_at_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "trailing", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if non-%NULL, location to store an integer indicating where\n   in the grapheme the user clicked. It will either be\n   zero, or the number of characters in the grapheme.\n   0 represents the trailing edge of the grapheme.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x position, in buffer coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y position, in buffer coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_iter_at_position" gtk_text_view_get_iter_at_position :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Int32 ->                            -- trailing : TBasicType TInt
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO CInt
+
+{- |
+Retrieves the iterator pointing to the character at buffer
+coordinates /@x@/ and /@y@/. Buffer coordinates are coordinates for
+the entire buffer, not just the currently-displayed portion.
+If you have coordinates from an event, you have to convert
+those to buffer coordinates with
+'GI.Gtk.Objects.TextView.textViewWindowToBufferCoords'.
+
+Note that this is different from 'GI.Gtk.Objects.TextView.textViewGetIterAtLocation',
+which returns cursor locations, i.e. positions between
+characters.
+
+/Since: 2.6/
+-}
+textViewGetIterAtPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@x@/: x position, in buffer coordinates -}
+    -> Int32
+    {- ^ /@y@/: y position, in buffer coordinates -}
+    -> m ((Bool, Gtk.TextIter.TextIter, Int32))
+    {- ^ __Returns:__ 'True' if the position is over text -}
+textViewGetIterAtPosition textView x y = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    trailing <- allocMem :: IO (Ptr Int32)
+    result <- gtk_text_view_get_iter_at_position textView' iter trailing x y
+    let result' = (/= 0) result
+    iter' <- (wrapBoxed Gtk.TextIter.TextIter) iter
+    trailing' <- peek trailing
+    touchManagedPtr textView
+    freeMem trailing
+    return (result', iter', trailing')
+
+#if ENABLE_OVERLOADING
+data TextViewGetIterAtPositionMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Bool, Gtk.TextIter.TextIter, Int32))), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetIterAtPositionMethodInfo a signature where
+    overloadedMethod _ = textViewGetIterAtPosition
+
+#endif
+
+-- method TextView::get_iter_location
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bounds of the character at @iter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_iter_location" gtk_text_view_get_iter_location :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- location : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Gets a rectangle which roughly contains the character at /@iter@/.
+The rectangle position is in buffer coordinates; use
+'GI.Gtk.Objects.TextView.textViewBufferToWindowCoords' to convert these
+coordinates to coordinates for one of the windows in the text view.
+-}
+textViewGetIterLocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m (Gdk.Rectangle.Rectangle)
+textViewGetIterLocation textView iter = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter' <- unsafeManagedPtrGetPtr iter
+    location <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_text_view_get_iter_location textView' iter' location
+    location' <- (wrapBoxed Gdk.Rectangle.Rectangle) location
+    touchManagedPtr textView
+    touchManagedPtr iter
+    return location'
+
+#if ENABLE_OVERLOADING
+data TextViewGetIterLocationMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetIterLocationMethodInfo a signature where
+    overloadedMethod _ = textViewGetIterLocation
+
+#endif
+
+-- method TextView::get_justification
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Justification"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_justification" gtk_text_view_get_justification :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CUInt
+
+{- |
+Gets the default justification of paragraphs in /@textView@/.
+Tags in the buffer may override the default.
+-}
+textViewGetJustification ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Gtk.Enums.Justification
+    {- ^ __Returns:__ default justification -}
+textViewGetJustification textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_justification textView'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetJustificationMethodInfo
+instance (signature ~ (m Gtk.Enums.Justification), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetJustificationMethodInfo a signature where
+    overloadedMethod _ = textViewGetJustification
+
+#endif
+
+-- method TextView::get_left_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_left_margin" gtk_text_view_get_left_margin :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO Int32
+
+{- |
+Gets the default left margin size of paragraphs in the /@textView@/.
+Tags in the buffer may override the default.
+-}
+textViewGetLeftMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Int32
+    {- ^ __Returns:__ left margin in pixels -}
+textViewGetLeftMargin textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_left_margin textView'
+    touchManagedPtr textView
+    return result
+
+#if ENABLE_OVERLOADING
+data TextViewGetLeftMarginMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetLeftMarginMethodInfo a signature where
+    overloadedMethod _ = textViewGetLeftMargin
+
+#endif
+
+-- method TextView::get_line_at_y
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line_top", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for top coordinate of the line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_line_at_y" gtk_text_view_get_line_at_y :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- target_iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- y : TBasicType TInt
+    Ptr Int32 ->                            -- line_top : TBasicType TInt
+    IO ()
+
+{- |
+Gets the 'GI.Gtk.Structs.TextIter.TextIter' at the start of the line containing
+the coordinate /@y@/. /@y@/ is in buffer coordinates, convert from
+window coordinates with 'GI.Gtk.Objects.TextView.textViewWindowToBufferCoords'.
+If non-'Nothing', /@lineTop@/ will be filled with the coordinate of the top
+edge of the line.
+-}
+textViewGetLineAtY ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@y@/: a y coordinate -}
+    -> m ((Gtk.TextIter.TextIter, Int32))
+textViewGetLineAtY textView y = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    targetIter <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
+    lineTop <- allocMem :: IO (Ptr Int32)
+    gtk_text_view_get_line_at_y textView' targetIter y lineTop
+    targetIter' <- (wrapBoxed Gtk.TextIter.TextIter) targetIter
+    lineTop' <- peek lineTop
+    touchManagedPtr textView
+    freeMem lineTop
+    return (targetIter', lineTop')
+
+#if ENABLE_OVERLOADING
+data TextViewGetLineAtYMethodInfo
+instance (signature ~ (Int32 -> m ((Gtk.TextIter.TextIter, Int32))), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetLineAtYMethodInfo a signature where
+    overloadedMethod _ = textViewGetLineAtY
+
+#endif
+
+-- method TextView::get_line_yrange
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for a y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for a height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_line_yrange" gtk_text_view_get_line_yrange :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Int32 ->                            -- y : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+{- |
+Gets the y coordinate of the top of the line containing /@iter@/,
+and the height of the line. The coordinate is a buffer coordinate;
+convert to window coordinates with 'GI.Gtk.Objects.TextView.textViewBufferToWindowCoords'.
+-}
+textViewGetLineYrange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m ((Int32, Int32))
+textViewGetLineYrange textView iter = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter' <- unsafeManagedPtrGetPtr iter
+    y <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_text_view_get_line_yrange textView' iter' y height
+    y' <- peek y
+    height' <- peek height
+    touchManagedPtr textView
+    touchManagedPtr iter
+    freeMem y
+    freeMem height
+    return (y', height')
+
+#if ENABLE_OVERLOADING
+data TextViewGetLineYrangeMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> m ((Int32, Int32))), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetLineYrangeMethodInfo a signature where
+    overloadedMethod _ = textViewGetLineYrange
+
+#endif
+
+-- method TextView::get_monospace
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_monospace" gtk_text_view_get_monospace :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.TextView.TextView':@/monospace/@ property.
+
+/Since: 3.16/
+-}
+textViewGetMonospace ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if monospace fonts are desired -}
+textViewGetMonospace textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_monospace textView'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetMonospaceMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetMonospaceMethodInfo a signature where
+    overloadedMethod _ = textViewGetMonospace
+
+#endif
+
+-- method TextView::get_overwrite
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_overwrite" gtk_text_view_get_overwrite :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CInt
+
+{- |
+Returns whether the 'GI.Gtk.Objects.TextView.TextView' is in overwrite mode or not.
+
+/Since: 2.4/
+-}
+textViewGetOverwrite ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@textView@/ is in overwrite mode or not. -}
+textViewGetOverwrite textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_overwrite textView'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetOverwriteMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetOverwriteMethodInfo a signature where
+    overloadedMethod _ = textViewGetOverwrite
+
+#endif
+
+-- method TextView::get_pixels_above_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_pixels_above_lines" gtk_text_view_get_pixels_above_lines :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO Int32
+
+{- |
+Gets the default number of pixels to put above paragraphs.
+Adding this function with 'GI.Gtk.Objects.TextView.textViewGetPixelsBelowLines'
+is equal to the line space between each paragraph.
+-}
+textViewGetPixelsAboveLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Int32
+    {- ^ __Returns:__ default number of pixels above paragraphs -}
+textViewGetPixelsAboveLines textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_pixels_above_lines textView'
+    touchManagedPtr textView
+    return result
+
+#if ENABLE_OVERLOADING
+data TextViewGetPixelsAboveLinesMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetPixelsAboveLinesMethodInfo a signature where
+    overloadedMethod _ = textViewGetPixelsAboveLines
+
+#endif
+
+-- method TextView::get_pixels_below_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_pixels_below_lines" gtk_text_view_get_pixels_below_lines :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO Int32
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.TextView.textViewSetPixelsBelowLines'.
+
+The line space is the sum of the value returned by this function and the
+value returned by 'GI.Gtk.Objects.TextView.textViewGetPixelsAboveLines'.
+-}
+textViewGetPixelsBelowLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Int32
+    {- ^ __Returns:__ default number of blank pixels below paragraphs -}
+textViewGetPixelsBelowLines textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_pixels_below_lines textView'
+    touchManagedPtr textView
+    return result
+
+#if ENABLE_OVERLOADING
+data TextViewGetPixelsBelowLinesMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetPixelsBelowLinesMethodInfo a signature where
+    overloadedMethod _ = textViewGetPixelsBelowLines
+
+#endif
+
+-- method TextView::get_pixels_inside_wrap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_pixels_inside_wrap" gtk_text_view_get_pixels_inside_wrap :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO Int32
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.TextView.textViewSetPixelsInsideWrap'.
+-}
+textViewGetPixelsInsideWrap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Int32
+    {- ^ __Returns:__ default number of pixels of blank space between wrapped lines -}
+textViewGetPixelsInsideWrap textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_pixels_inside_wrap textView'
+    touchManagedPtr textView
+    return result
+
+#if ENABLE_OVERLOADING
+data TextViewGetPixelsInsideWrapMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetPixelsInsideWrapMethodInfo a signature where
+    overloadedMethod _ = textViewGetPixelsInsideWrap
+
+#endif
+
+-- method TextView::get_right_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_right_margin" gtk_text_view_get_right_margin :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO Int32
+
+{- |
+Gets the default right margin for text in /@textView@/. Tags
+in the buffer may override the default.
+-}
+textViewGetRightMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Int32
+    {- ^ __Returns:__ right margin in pixels -}
+textViewGetRightMargin textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_right_margin textView'
+    touchManagedPtr textView
+    return result
+
+#if ENABLE_OVERLOADING
+data TextViewGetRightMarginMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetRightMarginMethodInfo a signature where
+    overloadedMethod _ = textViewGetRightMargin
+
+#endif
+
+-- method TextView::get_tabs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "TabArray"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_tabs" gtk_text_view_get_tabs :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO (Ptr Pango.TabArray.TabArray)
+
+{- |
+Gets the default tabs for /@textView@/. Tags in the buffer may
+override the defaults. The returned array will be 'Nothing' if
+“standard” (8-space) tabs are used. Free the return value
+with 'GI.Pango.Structs.TabArray.tabArrayFree'.
+-}
+textViewGetTabs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m (Maybe Pango.TabArray.TabArray)
+    {- ^ __Returns:__ copy of default tab array, or 'Nothing' if
+   “standard\" tabs are used; must be freed with 'GI.Pango.Structs.TabArray.tabArrayFree'. -}
+textViewGetTabs textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_tabs textView'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Pango.TabArray.TabArray) result'
+        return result''
+    touchManagedPtr textView
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TextViewGetTabsMethodInfo
+instance (signature ~ (m (Maybe Pango.TabArray.TabArray)), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetTabsMethodInfo a signature where
+    overloadedMethod _ = textViewGetTabs
+
+#endif
+
+-- method TextView::get_top_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_top_margin" gtk_text_view_get_top_margin :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO Int32
+
+{- |
+Gets the top margin for text in the /@textView@/.
+
+/Since: 3.18/
+-}
+textViewGetTopMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Int32
+    {- ^ __Returns:__ top margin in pixels -}
+textViewGetTopMargin textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_top_margin textView'
+    touchManagedPtr textView
+    return result
+
+#if ENABLE_OVERLOADING
+data TextViewGetTopMarginMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetTopMarginMethodInfo a signature where
+    overloadedMethod _ = textViewGetTopMargin
+
+#endif
+
+-- method TextView::get_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_vadjustment" gtk_text_view_get_vadjustment :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED textViewGetVadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetVadjustment'"] #-}
+{- |
+Gets the vertical-scrolling 'GI.Gtk.Objects.Adjustment.Adjustment'.
+
+/Since: 2.22/
+-}
+textViewGetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ pointer to the vertical 'GI.Gtk.Objects.Adjustment.Adjustment' -}
+textViewGetVadjustment textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_vadjustment textView'
+    checkUnexpectedReturnNULL "textViewGetVadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetVadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = textViewGetVadjustment
+
+#endif
+
+-- method TextView::get_visible_rect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible_rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle to fill", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_visible_rect" gtk_text_view_get_visible_rect :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- visible_rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Fills /@visibleRect@/ with the currently-visible
+region of the buffer, in buffer coordinates. Convert to window coordinates
+with 'GI.Gtk.Objects.TextView.textViewBufferToWindowCoords'.
+-}
+textViewGetVisibleRect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m (Gdk.Rectangle.Rectangle)
+textViewGetVisibleRect textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    visibleRect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_text_view_get_visible_rect textView' visibleRect
+    visibleRect' <- (wrapBoxed Gdk.Rectangle.Rectangle) visibleRect
+    touchManagedPtr textView
+    return visibleRect'
+
+#if ENABLE_OVERLOADING
+data TextViewGetVisibleRectMethodInfo
+instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetVisibleRectMethodInfo a signature where
+    overloadedMethod _ = textViewGetVisibleRect
+
+#endif
+
+-- method TextView::get_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "win", argType = TInterface (Name {namespace = "Gtk", name = "TextWindowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_window" gtk_text_view_get_window :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CUInt ->                                -- win : TInterface (Name {namespace = "Gtk", name = "TextWindowType"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Retrieves the 'GI.Gdk.Objects.Window.Window' corresponding to an area of the text view;
+possible windows include the overall widget window, child windows
+on the left, right, top, bottom, and the window that displays the
+text buffer. Windows are 'Nothing' and nonexistent if their width or
+height is 0, and are nonexistent before the widget has been
+realized.
+-}
+textViewGetWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.Enums.TextWindowType
+    {- ^ /@win@/: window to get -}
+    -> m (Maybe Gdk.Window.Window)
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Window.Window', or 'Nothing' -}
+textViewGetWindow textView win = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let win' = (fromIntegral . fromEnum) win
+    result <- gtk_text_view_get_window textView' win'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Window.Window) result'
+        return result''
+    touchManagedPtr textView
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TextViewGetWindowMethodInfo
+instance (signature ~ (Gtk.Enums.TextWindowType -> m (Maybe Gdk.Window.Window)), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetWindowMethodInfo a signature where
+    overloadedMethod _ = textViewGetWindow
+
+#endif
+
+-- method TextView::get_window_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a window type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextWindowType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_window_type" gtk_text_view_get_window_type :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO CUInt
+
+{- |
+Usually used to find out which window an event corresponds to.
+
+If you connect to an event signal on /@textView@/, this function
+should be called on @event->window@ to see which window it was.
+-}
+textViewGetWindowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> b
+    {- ^ /@window@/: a window type -}
+    -> m Gtk.Enums.TextWindowType
+    {- ^ __Returns:__ the window type. -}
+textViewGetWindowType textView window = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_text_view_get_window_type textView' window'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr textView
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetWindowTypeMethodInfo
+instance (signature ~ (b -> m Gtk.Enums.TextWindowType), MonadIO m, IsTextView a, Gdk.Window.IsWindow b) => O.MethodInfo TextViewGetWindowTypeMethodInfo a signature where
+    overloadedMethod _ = textViewGetWindowType
+
+#endif
+
+-- method TextView::get_wrap_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WrapMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_get_wrap_mode" gtk_text_view_get_wrap_mode :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CUInt
+
+{- |
+Gets the line wrapping for the view.
+-}
+textViewGetWrapMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Gtk.Enums.WrapMode
+    {- ^ __Returns:__ the line wrap setting -}
+textViewGetWrapMode textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_get_wrap_mode textView'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewGetWrapModeMethodInfo
+instance (signature ~ (m Gtk.Enums.WrapMode), MonadIO m, IsTextView a) => O.MethodInfo TextViewGetWrapModeMethodInfo a signature where
+    overloadedMethod _ = textViewGetWrapMode
+
+#endif
+
+-- method TextView::im_context_filter_keypress
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_im_context_filter_keypress" gtk_text_view_im_context_filter_keypress :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gdk.EventKey.EventKey ->            -- event : TInterface (Name {namespace = "Gdk", name = "EventKey"})
+    IO CInt
+
+{- |
+Allow the 'GI.Gtk.Objects.TextView.TextView' input method to internally handle key press
+and release events. If this function returns 'True', then no further
+processing should be done for this key event. See
+'GI.Gtk.Objects.IMContext.iMContextFilterKeypress'.
+
+Note that you are expected to call this function from your handler
+when overriding key event handling. This is needed in the case when
+you need to insert your own key handling between the input method
+and the default key event handling of the 'GI.Gtk.Objects.TextView.TextView'.
+
+
+=== /C code/
+>
+>static gboolean
+>gtk_foo_bar_key_press_event (GtkWidget   *widget,
+>                             GdkEventKey *event)
+>{
+>  guint keyval;
+>
+>  gdk_event_get_keyval ((GdkEvent*)event, &keyval);
+>
+>  if (keyval == GDK_KEY_Return || keyval == GDK_KEY_KP_Enter)
+>    {
+>      if (gtk_text_view_im_context_filter_keypress (GTK_TEXT_VIEW (widget), event))
+>        return TRUE;
+>    }
+>
+>  // Do some stuff
+>
+>  return GTK_WIDGET_CLASS (gtk_foo_bar_parent_class)->key_press_event (widget, event);
+>}
+
+
+/Since: 2.22/
+-}
+textViewImContextFilterKeypress ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gdk.EventKey.EventKey
+    {- ^ /@event@/: the key event -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the input method handled the key event. -}
+textViewImContextFilterKeypress textView event = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_text_view_im_context_filter_keypress textView' event'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewImContextFilterKeypressMethodInfo
+instance (signature ~ (Gdk.EventKey.EventKey -> m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewImContextFilterKeypressMethodInfo a signature where
+    overloadedMethod _ = textViewImContextFilterKeypress
+
+#endif
+
+-- method TextView::move_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "child widget already added to the text view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xpos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new X position in window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ypos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new Y position in window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_move_child" gtk_text_view_move_child :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.Widget.Widget ->                -- child : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- xpos : TBasicType TInt
+    Int32 ->                                -- ypos : TBasicType TInt
+    IO ()
+
+{- |
+Updates the position of a child, as for 'GI.Gtk.Objects.TextView.textViewAddChildInWindow'.
+-}
+textViewMoveChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> b
+    {- ^ /@child@/: child widget already added to the text view -}
+    -> Int32
+    {- ^ /@xpos@/: new X position in window coordinates -}
+    -> Int32
+    {- ^ /@ypos@/: new Y position in window coordinates -}
+    -> m ()
+textViewMoveChild textView child xpos ypos = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    child' <- unsafeManagedPtrCastPtr child
+    gtk_text_view_move_child textView' child' xpos ypos
+    touchManagedPtr textView
+    touchManagedPtr child
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewMoveChildMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, IsTextView a, Gtk.Widget.IsWidget b) => O.MethodInfo TextViewMoveChildMethodInfo a signature where
+    overloadedMethod _ = textViewMoveChild
+
+#endif
+
+-- method TextView::move_mark_onscreen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_move_mark_onscreen" gtk_text_view_move_mark_onscreen :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextMark.TextMark ->            -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    IO CInt
+
+{- |
+Moves a mark within the buffer so that it\'s
+located within the currently-visible text area.
+-}
+textViewMoveMarkOnscreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a, Gtk.TextMark.IsTextMark b) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> b
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the mark moved (wasn’t already onscreen) -}
+textViewMoveMarkOnscreen textView mark = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    mark' <- unsafeManagedPtrCastPtr mark
+    result <- gtk_text_view_move_mark_onscreen textView' mark'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    touchManagedPtr mark
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewMoveMarkOnscreenMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsTextView a, Gtk.TextMark.IsTextMark b) => O.MethodInfo TextViewMoveMarkOnscreenMethodInfo a signature where
+    overloadedMethod _ = textViewMoveMarkOnscreen
+
+#endif
+
+-- method TextView::move_visually
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters to move (negative moves left,\n   positive moves right)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_move_visually" gtk_text_view_move_visually :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Move the iterator a given number of characters visually, treating
+it as the strong cursor position. If /@count@/ is positive, then the
+new strong cursor position will be /@count@/ positions to the right of
+the old cursor position. If /@count@/ is negative then the new strong
+cursor position will be /@count@/ positions to the left of the old
+cursor position.
+
+In the presence of bi-directional text, the correspondence
+between logical and visual order will depend on the direction
+of the current run, and there may be jumps when the cursor
+is moved off of the end of a run.
+-}
+textViewMoveVisually ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of characters to move (negative moves left,
+   positive moves right) -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not on the end iterator -}
+textViewMoveVisually textView iter count = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_view_move_visually textView' iter' count
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewMoveVisuallyMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Int32 -> m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewMoveVisuallyMethodInfo a signature where
+    overloadedMethod _ = textViewMoveVisually
+
+#endif
+
+-- method TextView::place_cursor_onscreen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_place_cursor_onscreen" gtk_text_view_place_cursor_onscreen :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO CInt
+
+{- |
+Moves the cursor to the currently visible region of the
+buffer, it it isn’t there already.
+-}
+textViewPlaceCursorOnscreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the cursor had to be moved. -}
+textViewPlaceCursorOnscreen textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    result <- gtk_text_view_place_cursor_onscreen textView'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewPlaceCursorOnscreenMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewPlaceCursorOnscreenMethodInfo a signature where
+    overloadedMethod _ = textViewPlaceCursorOnscreen
+
+#endif
+
+-- method TextView::reset_cursor_blink
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_reset_cursor_blink" gtk_text_view_reset_cursor_blink :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO ()
+
+{- |
+Ensures that the cursor is shown (i.e. not in an \'off\' blink
+interval) and resets the time that it will stay blinking (or
+visible, in case blinking is disabled).
+
+This function should be called in response to user input
+(e.g. from derived classes that override the textview\'s
+'GI.Gtk.Objects.Widget.Widget'::@/key-press-event/@ handler).
+
+/Since: 3.20/
+-}
+textViewResetCursorBlink ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m ()
+textViewResetCursorBlink textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_reset_cursor_blink textView'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewResetCursorBlinkMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewResetCursorBlinkMethodInfo a signature where
+    overloadedMethod _ = textViewResetCursorBlink
+
+#endif
+
+-- method TextView::reset_im_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_reset_im_context" gtk_text_view_reset_im_context :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    IO ()
+
+{- |
+Reset the input method context of the text view if needed.
+
+This can be necessary in the case where modifying the buffer
+would confuse on-going input method behavior.
+
+/Since: 2.22/
+-}
+textViewResetImContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> m ()
+textViewResetImContext textView = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_reset_im_context textView'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewResetImContextMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewResetImContextMethodInfo a signature where
+    overloadedMethod _ = textViewResetImContext
+
+#endif
+
+-- method TextView::scroll_mark_onscreen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a mark in the buffer for @text_view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_scroll_mark_onscreen" gtk_text_view_scroll_mark_onscreen :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextMark.TextMark ->            -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    IO ()
+
+{- |
+Scrolls /@textView@/ the minimum distance such that /@mark@/ is contained
+within the visible area of the widget.
+-}
+textViewScrollMarkOnscreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a, Gtk.TextMark.IsTextMark b) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> b
+    {- ^ /@mark@/: a mark in the buffer for /@textView@/ -}
+    -> m ()
+textViewScrollMarkOnscreen textView mark = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    mark' <- unsafeManagedPtrCastPtr mark
+    gtk_text_view_scroll_mark_onscreen textView' mark'
+    touchManagedPtr textView
+    touchManagedPtr mark
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewScrollMarkOnscreenMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsTextView a, Gtk.TextMark.IsTextMark b) => O.MethodInfo TextViewScrollMarkOnscreenMethodInfo a signature where
+    overloadedMethod _ = textViewScrollMarkOnscreen
+
+#endif
+
+-- method TextView::scroll_to_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "within_margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "margin as a [0.0,0.5) fraction of screen size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_align", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to use alignment arguments (if %FALSE,\n   just get the mark onscreen)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "horizontal alignment of mark within visible area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "vertical alignment of mark within visible area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_scroll_to_iter" gtk_text_view_scroll_to_iter :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CDouble ->                              -- within_margin : TBasicType TDouble
+    CInt ->                                 -- use_align : TBasicType TBoolean
+    CDouble ->                              -- xalign : TBasicType TDouble
+    CDouble ->                              -- yalign : TBasicType TDouble
+    IO CInt
+
+{- |
+Scrolls /@textView@/ so that /@iter@/ is on the screen in the position
+indicated by /@xalign@/ and /@yalign@/. An alignment of 0.0 indicates
+left or top, 1.0 indicates right or bottom, 0.5 means center.
+If /@useAlign@/ is 'False', the text scrolls the minimal distance to
+get the mark onscreen, possibly not scrolling at all. The effective
+screen for purposes of this function is reduced by a margin of size
+/@withinMargin@/.
+
+Note that this function uses the currently-computed height of the
+lines in the text buffer. Line heights are computed in an idle
+handler; so this function may not have the desired effect if it’s
+called before the height computations. To avoid oddness, consider
+using 'GI.Gtk.Objects.TextView.textViewScrollToMark' which saves a point to be
+scrolled to after line validation.
+-}
+textViewScrollToIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Double
+    {- ^ /@withinMargin@/: margin as a [0.0,0.5) fraction of screen size -}
+    -> Bool
+    {- ^ /@useAlign@/: whether to use alignment arguments (if 'False',
+   just get the mark onscreen) -}
+    -> Double
+    {- ^ /@xalign@/: horizontal alignment of mark within visible area -}
+    -> Double
+    {- ^ /@yalign@/: vertical alignment of mark within visible area -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if scrolling occurred -}
+textViewScrollToIter textView iter withinMargin useAlign xalign yalign = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter' <- unsafeManagedPtrGetPtr iter
+    let withinMargin' = realToFrac withinMargin
+    let useAlign' = (fromIntegral . fromEnum) useAlign
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    result <- gtk_text_view_scroll_to_iter textView' iter' withinMargin' useAlign' xalign' yalign'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewScrollToIterMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> Double -> Bool -> Double -> Double -> m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewScrollToIterMethodInfo a signature where
+    overloadedMethod _ = textViewScrollToIter
+
+#endif
+
+-- method TextView::scroll_to_mark
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mark", argType = TInterface (Name {namespace = "Gtk", name = "TextMark"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextMark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "within_margin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "margin as a [0.0,0.5) fraction of screen size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_align", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to use alignment arguments (if %FALSE, just\n   get the mark onscreen)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "horizontal alignment of mark within visible area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "yalign", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "vertical alignment of mark within visible area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_scroll_to_mark" gtk_text_view_scroll_to_mark :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextMark.TextMark ->            -- mark : TInterface (Name {namespace = "Gtk", name = "TextMark"})
+    CDouble ->                              -- within_margin : TBasicType TDouble
+    CInt ->                                 -- use_align : TBasicType TBoolean
+    CDouble ->                              -- xalign : TBasicType TDouble
+    CDouble ->                              -- yalign : TBasicType TDouble
+    IO ()
+
+{- |
+Scrolls /@textView@/ so that /@mark@/ is on the screen in the position
+indicated by /@xalign@/ and /@yalign@/. An alignment of 0.0 indicates
+left or top, 1.0 indicates right or bottom, 0.5 means center.
+If /@useAlign@/ is 'False', the text scrolls the minimal distance to
+get the mark onscreen, possibly not scrolling at all. The effective
+screen for purposes of this function is reduced by a margin of size
+/@withinMargin@/.
+-}
+textViewScrollToMark ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a, Gtk.TextMark.IsTextMark b) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> b
+    {- ^ /@mark@/: a 'GI.Gtk.Objects.TextMark.TextMark' -}
+    -> Double
+    {- ^ /@withinMargin@/: margin as a [0.0,0.5) fraction of screen size -}
+    -> Bool
+    {- ^ /@useAlign@/: whether to use alignment arguments (if 'False', just
+   get the mark onscreen) -}
+    -> Double
+    {- ^ /@xalign@/: horizontal alignment of mark within visible area -}
+    -> Double
+    {- ^ /@yalign@/: vertical alignment of mark within visible area -}
+    -> m ()
+textViewScrollToMark textView mark withinMargin useAlign xalign yalign = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    mark' <- unsafeManagedPtrCastPtr mark
+    let withinMargin' = realToFrac withinMargin
+    let useAlign' = (fromIntegral . fromEnum) useAlign
+    let xalign' = realToFrac xalign
+    let yalign' = realToFrac yalign
+    gtk_text_view_scroll_to_mark textView' mark' withinMargin' useAlign' xalign' yalign'
+    touchManagedPtr textView
+    touchManagedPtr mark
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewScrollToMarkMethodInfo
+instance (signature ~ (b -> Double -> Bool -> Double -> Double -> m ()), MonadIO m, IsTextView a, Gtk.TextMark.IsTextMark b) => O.MethodInfo TextViewScrollToMarkMethodInfo a signature where
+    overloadedMethod _ = textViewScrollToMark
+
+#endif
+
+-- method TextView::set_accepts_tab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accepts_tab", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if pressing the Tab key should insert a tab\n   character, %FALSE, if pressing the Tab key should move the\n   keyboard focus.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_accepts_tab" gtk_text_view_set_accepts_tab :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CInt ->                                 -- accepts_tab : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the behavior of the text widget when the Tab key is pressed.
+If /@acceptsTab@/ is 'True', a tab character is inserted. If /@acceptsTab@/
+is 'False' the keyboard focus is moved to the next widget in the focus
+chain.
+
+/Since: 2.4/
+-}
+textViewSetAcceptsTab ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: A 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Bool
+    {- ^ /@acceptsTab@/: 'True' if pressing the Tab key should insert a tab
+   character, 'False', if pressing the Tab key should move the
+   keyboard focus. -}
+    -> m ()
+textViewSetAcceptsTab textView acceptsTab = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let acceptsTab' = (fromIntegral . fromEnum) acceptsTab
+    gtk_text_view_set_accepts_tab textView' acceptsTab'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetAcceptsTabMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetAcceptsTabMethodInfo a signature where
+    overloadedMethod _ = textViewSetAcceptsTab
+
+#endif
+
+-- method TextView::set_border_window_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "TextWindowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to affect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width or height of the window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_border_window_size" gtk_text_view_set_border_window_size :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "TextWindowType"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+{- |
+Sets the width of 'GI.Gtk.Enums.TextWindowTypeLeft' or 'GI.Gtk.Enums.TextWindowTypeRight',
+or the height of 'GI.Gtk.Enums.TextWindowTypeTop' or 'GI.Gtk.Enums.TextWindowTypeBottom'.
+Automatically destroys the corresponding window if the size is set
+to 0, and creates the window if the size is set to non-zero.  This
+function can only be used for the “border windows”, and it won’t
+work with 'GI.Gtk.Enums.TextWindowTypeWidget', 'GI.Gtk.Enums.TextWindowTypeText', or
+'GI.Gtk.Enums.TextWindowTypePrivate'.
+-}
+textViewSetBorderWindowSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.Enums.TextWindowType
+    {- ^ /@type@/: window to affect -}
+    -> Int32
+    {- ^ /@size@/: width or height of the window -}
+    -> m ()
+textViewSetBorderWindowSize textView type_ size = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let type_' = (fromIntegral . fromEnum) type_
+    gtk_text_view_set_border_window_size textView' type_' size
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetBorderWindowSizeMethodInfo
+instance (signature ~ (Gtk.Enums.TextWindowType -> Int32 -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetBorderWindowSizeMethodInfo a signature where
+    overloadedMethod _ = textViewSetBorderWindowSize
+
+#endif
+
+-- method TextView::set_bottom_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bottom_margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bottom margin in pixels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_bottom_margin" gtk_text_view_set_bottom_margin :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Int32 ->                                -- bottom_margin : TBasicType TInt
+    IO ()
+
+{- |
+Sets the bottom margin for text in /@textView@/.
+
+Note that this function is confusingly named.
+In CSS terms, the value set here is padding.
+
+/Since: 3.18/
+-}
+textViewSetBottomMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@bottomMargin@/: bottom margin in pixels -}
+    -> m ()
+textViewSetBottomMargin textView bottomMargin = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_set_bottom_margin textView' bottomMargin
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetBottomMarginMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetBottomMarginMethodInfo a signature where
+    overloadedMethod _ = textViewSetBottomMargin
+
+#endif
+
+-- method TextView::set_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_buffer" gtk_text_view_set_buffer :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextBuffer.TextBuffer ->        -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO ()
+
+{- |
+Sets /@buffer@/ as the buffer being displayed by /@textView@/. The previous
+buffer displayed by the text view is unreferenced, and a reference is
+added to /@buffer@/. If you owned a reference to /@buffer@/ before passing it
+to this function, you must remove that reference yourself; 'GI.Gtk.Objects.TextView.TextView'
+will not “adopt” it.
+-}
+textViewSetBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a, Gtk.TextBuffer.IsTextBuffer b) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Maybe (b)
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m ()
+textViewSetBuffer textView buffer = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    maybeBuffer <- case buffer of
+        Nothing -> return nullPtr
+        Just jBuffer -> do
+            jBuffer' <- unsafeManagedPtrCastPtr jBuffer
+            return jBuffer'
+    gtk_text_view_set_buffer textView' maybeBuffer
+    touchManagedPtr textView
+    whenJust buffer touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetBufferMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsTextView a, Gtk.TextBuffer.IsTextBuffer b) => O.MethodInfo TextViewSetBufferMethodInfo a signature where
+    overloadedMethod _ = textViewSetBuffer
+
+#endif
+
+-- method TextView::set_cursor_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show the insertion cursor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_cursor_visible" gtk_text_view_set_cursor_visible :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Toggles whether the insertion point should be displayed. A buffer with
+no editable text probably shouldn’t have a visible cursor, so you may
+want to turn the cursor off.
+
+Note that this property may be overridden by the
+'GI.Gtk.Objects.Settings.Settings':@/gtk-keynave-use-caret/@ settings.
+-}
+textViewSetCursorVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Bool
+    {- ^ /@setting@/: whether to show the insertion cursor -}
+    -> m ()
+textViewSetCursorVisible textView setting = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_text_view_set_cursor_visible textView' setting'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetCursorVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetCursorVisibleMethodInfo a signature where
+    overloadedMethod _ = textViewSetCursorVisible
+
+#endif
+
+-- method TextView::set_editable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether it\8217s editable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_editable" gtk_text_view_set_editable :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the default editability of the 'GI.Gtk.Objects.TextView.TextView'. You can override
+this default setting with tags in the buffer, using the “editable”
+attribute of tags.
+-}
+textViewSetEditable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Bool
+    {- ^ /@setting@/: whether it’s editable -}
+    -> m ()
+textViewSetEditable textView setting = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_text_view_set_editable textView' setting'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetEditableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetEditableMethodInfo a signature where
+    overloadedMethod _ = textViewSetEditable
+
+#endif
+
+-- method TextView::set_indent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "indent", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "indentation in pixels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_indent" gtk_text_view_set_indent :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Int32 ->                                -- indent : TBasicType TInt
+    IO ()
+
+{- |
+Sets the default indentation for paragraphs in /@textView@/.
+Tags in the buffer may override the default.
+-}
+textViewSetIndent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@indent@/: indentation in pixels -}
+    -> m ()
+textViewSetIndent textView indent = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_set_indent textView' indent
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetIndentMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetIndentMethodInfo a signature where
+    overloadedMethod _ = textViewSetIndent
+
+#endif
+
+-- method TextView::set_input_hints
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hints", argType = TInterface (Name {namespace = "Gtk", name = "InputHints"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hints", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_input_hints" gtk_text_view_set_input_hints :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CUInt ->                                -- hints : TInterface (Name {namespace = "Gtk", name = "InputHints"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.TextView.TextView':@/input-hints/@ property, which
+allows input methods to fine-tune their behaviour.
+
+/Since: 3.6/
+-}
+textViewSetInputHints ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> [Gtk.Flags.InputHints]
+    {- ^ /@hints@/: the hints -}
+    -> m ()
+textViewSetInputHints textView hints = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let hints' = gflagsToWord hints
+    gtk_text_view_set_input_hints textView' hints'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetInputHintsMethodInfo
+instance (signature ~ ([Gtk.Flags.InputHints] -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetInputHintsMethodInfo a signature where
+    overloadedMethod _ = textViewSetInputHints
+
+#endif
+
+-- method TextView::set_input_purpose
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "purpose", argType = TInterface (Name {namespace = "Gtk", name = "InputPurpose"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the purpose", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_input_purpose" gtk_text_view_set_input_purpose :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CUInt ->                                -- purpose : TInterface (Name {namespace = "Gtk", name = "InputPurpose"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.TextView.TextView':@/input-purpose/@ property which
+can be used by on-screen keyboards and other input
+methods to adjust their behaviour.
+
+/Since: 3.6/
+-}
+textViewSetInputPurpose ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.Enums.InputPurpose
+    {- ^ /@purpose@/: the purpose -}
+    -> m ()
+textViewSetInputPurpose textView purpose = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let purpose' = (fromIntegral . fromEnum) purpose
+    gtk_text_view_set_input_purpose textView' purpose'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetInputPurposeMethodInfo
+instance (signature ~ (Gtk.Enums.InputPurpose -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetInputPurposeMethodInfo a signature where
+    overloadedMethod _ = textViewSetInputPurpose
+
+#endif
+
+-- method TextView::set_justification
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "justification", argType = TInterface (Name {namespace = "Gtk", name = "Justification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "justification", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_justification" gtk_text_view_set_justification :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CUInt ->                                -- justification : TInterface (Name {namespace = "Gtk", name = "Justification"})
+    IO ()
+
+{- |
+Sets the default justification of text in /@textView@/.
+Tags in the view’s buffer may override the default.
+-}
+textViewSetJustification ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.Enums.Justification
+    {- ^ /@justification@/: justification -}
+    -> m ()
+textViewSetJustification textView justification = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let justification' = (fromIntegral . fromEnum) justification
+    gtk_text_view_set_justification textView' justification'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetJustificationMethodInfo
+instance (signature ~ (Gtk.Enums.Justification -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetJustificationMethodInfo a signature where
+    overloadedMethod _ = textViewSetJustification
+
+#endif
+
+-- method TextView::set_left_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "left_margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "left margin in pixels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_left_margin" gtk_text_view_set_left_margin :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Int32 ->                                -- left_margin : TBasicType TInt
+    IO ()
+
+{- |
+Sets the default left margin for text in /@textView@/.
+Tags in the buffer may override the default.
+
+Note that this function is confusingly named.
+In CSS terms, the value set here is padding.
+-}
+textViewSetLeftMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@leftMargin@/: left margin in pixels -}
+    -> m ()
+textViewSetLeftMargin textView leftMargin = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_set_left_margin textView' leftMargin
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetLeftMarginMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetLeftMarginMethodInfo a signature where
+    overloadedMethod _ = textViewSetLeftMargin
+
+#endif
+
+-- method TextView::set_monospace
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monospace", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to request monospace styling", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_monospace" gtk_text_view_set_monospace :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CInt ->                                 -- monospace : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.TextView.TextView':@/monospace/@ property, which
+indicates that the text view should use monospace
+fonts.
+
+/Since: 3.16/
+-}
+textViewSetMonospace ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Bool
+    {- ^ /@monospace@/: 'True' to request monospace styling -}
+    -> m ()
+textViewSetMonospace textView monospace = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let monospace' = (fromIntegral . fromEnum) monospace
+    gtk_text_view_set_monospace textView' monospace'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetMonospaceMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetMonospaceMethodInfo a signature where
+    overloadedMethod _ = textViewSetMonospace
+
+#endif
+
+-- method TextView::set_overwrite
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "overwrite", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to turn on overwrite mode, %FALSE to turn it off", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_overwrite" gtk_text_view_set_overwrite :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CInt ->                                 -- overwrite : TBasicType TBoolean
+    IO ()
+
+{- |
+Changes the 'GI.Gtk.Objects.TextView.TextView' overwrite mode.
+
+/Since: 2.4/
+-}
+textViewSetOverwrite ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Bool
+    {- ^ /@overwrite@/: 'True' to turn on overwrite mode, 'False' to turn it off -}
+    -> m ()
+textViewSetOverwrite textView overwrite = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let overwrite' = (fromIntegral . fromEnum) overwrite
+    gtk_text_view_set_overwrite textView' overwrite'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetOverwriteMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetOverwriteMethodInfo a signature where
+    overloadedMethod _ = textViewSetOverwrite
+
+#endif
+
+-- method TextView::set_pixels_above_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixels_above_lines", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pixels above paragraphs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_pixels_above_lines" gtk_text_view_set_pixels_above_lines :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Int32 ->                                -- pixels_above_lines : TBasicType TInt
+    IO ()
+
+{- |
+Sets the default number of blank pixels above paragraphs in /@textView@/.
+Tags in the buffer for /@textView@/ may override the defaults.
+-}
+textViewSetPixelsAboveLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@pixelsAboveLines@/: pixels above paragraphs -}
+    -> m ()
+textViewSetPixelsAboveLines textView pixelsAboveLines = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_set_pixels_above_lines textView' pixelsAboveLines
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetPixelsAboveLinesMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetPixelsAboveLinesMethodInfo a signature where
+    overloadedMethod _ = textViewSetPixelsAboveLines
+
+#endif
+
+-- method TextView::set_pixels_below_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixels_below_lines", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pixels below paragraphs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_pixels_below_lines" gtk_text_view_set_pixels_below_lines :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Int32 ->                                -- pixels_below_lines : TBasicType TInt
+    IO ()
+
+{- |
+Sets the default number of pixels of blank space
+to put below paragraphs in /@textView@/. May be overridden
+by tags applied to /@textView@/’s buffer.
+-}
+textViewSetPixelsBelowLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@pixelsBelowLines@/: pixels below paragraphs -}
+    -> m ()
+textViewSetPixelsBelowLines textView pixelsBelowLines = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_set_pixels_below_lines textView' pixelsBelowLines
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetPixelsBelowLinesMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetPixelsBelowLinesMethodInfo a signature where
+    overloadedMethod _ = textViewSetPixelsBelowLines
+
+#endif
+
+-- method TextView::set_pixels_inside_wrap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixels_inside_wrap", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default number of pixels between wrapped lines", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_pixels_inside_wrap" gtk_text_view_set_pixels_inside_wrap :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Int32 ->                                -- pixels_inside_wrap : TBasicType TInt
+    IO ()
+
+{- |
+Sets the default number of pixels of blank space to leave between
+display\/wrapped lines within a paragraph. May be overridden by
+tags in /@textView@/’s buffer.
+-}
+textViewSetPixelsInsideWrap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@pixelsInsideWrap@/: default number of pixels between wrapped lines -}
+    -> m ()
+textViewSetPixelsInsideWrap textView pixelsInsideWrap = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_set_pixels_inside_wrap textView' pixelsInsideWrap
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetPixelsInsideWrapMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetPixelsInsideWrapMethodInfo a signature where
+    overloadedMethod _ = textViewSetPixelsInsideWrap
+
+#endif
+
+-- method TextView::set_right_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "right_margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "right margin in pixels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_right_margin" gtk_text_view_set_right_margin :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Int32 ->                                -- right_margin : TBasicType TInt
+    IO ()
+
+{- |
+Sets the default right margin for text in the text view.
+Tags in the buffer may override the default.
+
+Note that this function is confusingly named.
+In CSS terms, the value set here is padding.
+-}
+textViewSetRightMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@rightMargin@/: right margin in pixels -}
+    -> m ()
+textViewSetRightMargin textView rightMargin = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_set_right_margin textView' rightMargin
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetRightMarginMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetRightMarginMethodInfo a signature where
+    overloadedMethod _ = textViewSetRightMargin
+
+#endif
+
+-- method TextView::set_tabs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tabs", argType = TInterface (Name {namespace = "Pango", name = "TabArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tabs as a #PangoTabArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_tabs" gtk_text_view_set_tabs :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Pango.TabArray.TabArray ->          -- tabs : TInterface (Name {namespace = "Pango", name = "TabArray"})
+    IO ()
+
+{- |
+Sets the default tab stops for paragraphs in /@textView@/.
+Tags in the buffer may override the default.
+-}
+textViewSetTabs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Pango.TabArray.TabArray
+    {- ^ /@tabs@/: tabs as a 'GI.Pango.Structs.TabArray.TabArray' -}
+    -> m ()
+textViewSetTabs textView tabs = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    tabs' <- unsafeManagedPtrGetPtr tabs
+    gtk_text_view_set_tabs textView' tabs'
+    touchManagedPtr textView
+    touchManagedPtr tabs
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetTabsMethodInfo
+instance (signature ~ (Pango.TabArray.TabArray -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetTabsMethodInfo a signature where
+    overloadedMethod _ = textViewSetTabs
+
+#endif
+
+-- method TextView::set_top_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "top_margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "top margin in pixels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_top_margin" gtk_text_view_set_top_margin :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Int32 ->                                -- top_margin : TBasicType TInt
+    IO ()
+
+{- |
+Sets the top margin for text in /@textView@/.
+
+Note that this function is confusingly named.
+In CSS terms, the value set here is padding.
+
+/Since: 3.18/
+-}
+textViewSetTopMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Int32
+    {- ^ /@topMargin@/: top margin in pixels -}
+    -> m ()
+textViewSetTopMargin textView topMargin = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    gtk_text_view_set_top_margin textView' topMargin
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetTopMarginMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetTopMarginMethodInfo a signature where
+    overloadedMethod _ = textViewSetTopMargin
+
+#endif
+
+-- method TextView::set_wrap_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wrap_mode", argType = TInterface (Name {namespace = "Gtk", name = "WrapMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWrapMode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_set_wrap_mode" gtk_text_view_set_wrap_mode :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CUInt ->                                -- wrap_mode : TInterface (Name {namespace = "Gtk", name = "WrapMode"})
+    IO ()
+
+{- |
+Sets the line wrapping for the view.
+-}
+textViewSetWrapMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.Enums.WrapMode
+    {- ^ /@wrapMode@/: a 'GI.Gtk.Enums.WrapMode' -}
+    -> m ()
+textViewSetWrapMode textView wrapMode = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let wrapMode' = (fromIntegral . fromEnum) wrapMode
+    gtk_text_view_set_wrap_mode textView' wrapMode'
+    touchManagedPtr textView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextViewSetWrapModeMethodInfo
+instance (signature ~ (Gtk.Enums.WrapMode -> m ()), MonadIO m, IsTextView a) => O.MethodInfo TextViewSetWrapModeMethodInfo a signature where
+    overloadedMethod _ = textViewSetWrapMode
+
+#endif
+
+-- method TextView::starts_display_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_starts_display_line" gtk_text_view_starts_display_line :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Determines whether /@iter@/ is at the start of a display line.
+See 'GI.Gtk.Objects.TextView.textViewForwardDisplayLine' for an explanation of
+display lines vs. paragraphs.
+-}
+textViewStartsDisplayLine ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.TextIter.TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ begins a wrapped line -}
+textViewStartsDisplayLine textView iter = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_view_starts_display_line textView' iter'
+    let result' = (/= 0) result
+    touchManagedPtr textView
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextViewStartsDisplayLineMethodInfo
+instance (signature ~ (Gtk.TextIter.TextIter -> m Bool), MonadIO m, IsTextView a) => O.MethodInfo TextViewStartsDisplayLineMethodInfo a signature where
+    overloadedMethod _ = textViewStartsDisplayLine
+
+#endif
+
+-- method TextView::window_to_buffer_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "text_view", argType = TInterface (Name {namespace = "Gtk", name = "TextView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "win", argType = TInterface (Name {namespace = "Gtk", name = "TextWindowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextWindowType except %GTK_TEXT_WINDOW_PRIVATE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window x coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer x coordinate return location or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "buffer_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer y coordinate return location or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_view_window_to_buffer_coords" gtk_text_view_window_to_buffer_coords :: 
+    Ptr TextView ->                         -- text_view : TInterface (Name {namespace = "Gtk", name = "TextView"})
+    CUInt ->                                -- win : TInterface (Name {namespace = "Gtk", name = "TextWindowType"})
+    Int32 ->                                -- window_x : TBasicType TInt
+    Int32 ->                                -- window_y : TBasicType TInt
+    Ptr Int32 ->                            -- buffer_x : TBasicType TInt
+    Ptr Int32 ->                            -- buffer_y : TBasicType TInt
+    IO ()
+
+{- |
+Converts coordinates on the window identified by /@win@/ to buffer
+coordinates, storing the result in (/@bufferX@/,/@bufferY@/).
+
+Note that you can’t convert coordinates for a nonexisting window (see
+'GI.Gtk.Objects.TextView.textViewSetBorderWindowSize').
+-}
+textViewWindowToBufferCoords ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTextView a) =>
+    a
+    {- ^ /@textView@/: a 'GI.Gtk.Objects.TextView.TextView' -}
+    -> Gtk.Enums.TextWindowType
+    {- ^ /@win@/: a 'GI.Gtk.Enums.TextWindowType' except 'GI.Gtk.Enums.TextWindowTypePrivate' -}
+    -> Int32
+    {- ^ /@windowX@/: window x coordinate -}
+    -> Int32
+    {- ^ /@windowY@/: window y coordinate -}
+    -> m ((Int32, Int32))
+textViewWindowToBufferCoords textView win windowX windowY = liftIO $ do
+    textView' <- unsafeManagedPtrCastPtr textView
+    let win' = (fromIntegral . fromEnum) win
+    bufferX <- allocMem :: IO (Ptr Int32)
+    bufferY <- allocMem :: IO (Ptr Int32)
+    gtk_text_view_window_to_buffer_coords textView' win' windowX windowY bufferX bufferY
+    bufferX' <- peek bufferX
+    bufferY' <- peek bufferY
+    touchManagedPtr textView
+    freeMem bufferX
+    freeMem bufferY
+    return (bufferX', bufferY')
+
+#if ENABLE_OVERLOADING
+data TextViewWindowToBufferCoordsMethodInfo
+instance (signature ~ (Gtk.Enums.TextWindowType -> Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsTextView a) => O.MethodInfo TextViewWindowToBufferCoordsMethodInfo a signature where
+    overloadedMethod _ = textViewWindowToBufferCoords
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TextView.hs-boot b/GI/Gtk/Objects/TextView.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextView.hs-boot
@@ -0,0 +1,353 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TextView where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextView = TextView (ManagedPtr TextView)
+instance GObject TextView where
+class (GObject o, O.IsDescendantOf TextView o) => IsTextView o
+instance (GObject o, O.IsDescendantOf TextView o) => IsTextView o
+instance O.HasParentTypes TextView
+#if ENABLE_OVERLOADING
+data TextViewAcceptsTabPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewBottomMarginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewBufferPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewCursorVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewEditablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewImModulePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewIndentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewInputHintsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewInputPurposePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewJustificationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewLeftMarginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewMonospacePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewOverwritePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewPixelsAboveLinesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewPixelsBelowLinesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewPixelsInsideWrapPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewPopulateAllPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewRightMarginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewTabsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewTopMarginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewWrapModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewBackspaceSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewCopyClipboardSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewCutClipboardSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewDeleteFromCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewExtendSelectionSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewInsertAtCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewInsertEmojiSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewMoveCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewMoveViewportSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewPasteClipboardSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewPopulatePopupSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewPreeditChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSelectAllSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetAnchorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewToggleCursorVisibleSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewToggleOverwriteSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewAddChildAtAnchorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewAddChildInWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewBackwardDisplayLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewBackwardDisplayLineStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewBufferToWindowCoordsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewForwardDisplayLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewForwardDisplayLineEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetAcceptsTabMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetBorderWindowSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetBottomMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetCursorLocationsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetCursorVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetDefaultAttributesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetEditableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetIndentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetInputHintsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetInputPurposeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetIterAtLocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetIterAtPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetIterLocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetJustificationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetLeftMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetLineAtYMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetLineYrangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetMonospaceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetOverwriteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetPixelsAboveLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetPixelsBelowLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetPixelsInsideWrapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetRightMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetTabsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetTopMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetVisibleRectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetWindowTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewGetWrapModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewImContextFilterKeypressMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewMoveChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewMoveMarkOnscreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewMoveVisuallyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewPlaceCursorOnscreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewResetCursorBlinkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewResetImContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewScrollMarkOnscreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewScrollToIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewScrollToMarkMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetAcceptsTabMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetBorderWindowSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetBottomMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetCursorVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetEditableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetIndentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetInputHintsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetInputPurposeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetJustificationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetLeftMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetMonospaceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetOverwriteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetPixelsAboveLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetPixelsBelowLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetPixelsInsideWrapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetRightMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetTabsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetTopMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewSetWrapModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewStartsDisplayLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextViewWindowToBufferCoordsMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TextViewAccessible.hs b/GI/Gtk/Objects/TextViewAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextViewAccessible.hs
@@ -0,0 +1,201 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TextViewAccessible
+    ( 
+
+-- * Exported types
+    TextViewAccessible(..)                  ,
+    IsTextViewAccessible                    ,
+    toTextViewAccessible                    ,
+    noTextViewAccessible                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.EditableText as Atk.EditableText
+import qualified GI.Atk.Interfaces.StreamableContent as Atk.StreamableContent
+import qualified GI.Atk.Interfaces.Text as Atk.Text
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype TextViewAccessible = TextViewAccessible (ManagedPtr TextViewAccessible)
+foreign import ccall "gtk_text_view_accessible_get_type"
+    c_gtk_text_view_accessible_get_type :: IO GType
+
+instance GObject TextViewAccessible where
+    gobjectType = c_gtk_text_view_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `TextViewAccessible`, for instance with `toTextViewAccessible`.
+class (GObject o, O.IsDescendantOf TextViewAccessible o) => IsTextViewAccessible o
+instance (GObject o, O.IsDescendantOf TextViewAccessible o) => IsTextViewAccessible o
+
+instance O.HasParentTypes TextViewAccessible
+type instance O.ParentTypes TextViewAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.EditableText.EditableText, Atk.StreamableContent.StreamableContent, Atk.Text.Text]
+
+-- | Cast to `TextViewAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTextViewAccessible :: (MonadIO m, IsTextViewAccessible o) => o -> m TextViewAccessible
+toTextViewAccessible = liftIO . unsafeCastTo TextViewAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextViewAccessible`.
+noTextViewAccessible :: Maybe TextViewAccessible
+noTextViewAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTextViewAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextViewAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveTextViewAccessibleMethod "addSelection" o = Atk.Text.TextAddSelectionMethodInfo
+    ResolveTextViewAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTextViewAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTextViewAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveTextViewAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveTextViewAccessibleMethod "copyText" o = Atk.EditableText.EditableTextCopyTextMethodInfo
+    ResolveTextViewAccessibleMethod "cutText" o = Atk.EditableText.EditableTextCutTextMethodInfo
+    ResolveTextViewAccessibleMethod "deleteText" o = Atk.EditableText.EditableTextDeleteTextMethodInfo
+    ResolveTextViewAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTextViewAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTextViewAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTextViewAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveTextViewAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveTextViewAccessibleMethod "insertText" o = Atk.EditableText.EditableTextInsertTextMethodInfo
+    ResolveTextViewAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTextViewAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTextViewAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTextViewAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveTextViewAccessibleMethod "pasteText" o = Atk.EditableText.EditableTextPasteTextMethodInfo
+    ResolveTextViewAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveTextViewAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTextViewAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveTextViewAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveTextViewAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveTextViewAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTextViewAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveTextViewAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveTextViewAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveTextViewAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveTextViewAccessibleMethod "removeSelection" o = Atk.Text.TextRemoveSelectionMethodInfo
+    ResolveTextViewAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTextViewAccessibleMethod "scrollSubstringTo" o = Atk.Text.TextScrollSubstringToMethodInfo
+    ResolveTextViewAccessibleMethod "scrollSubstringToPoint" o = Atk.Text.TextScrollSubstringToPointMethodInfo
+    ResolveTextViewAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveTextViewAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveTextViewAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTextViewAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTextViewAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTextViewAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTextViewAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTextViewAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveTextViewAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveTextViewAccessibleMethod "getBoundedRanges" o = Atk.Text.TextGetBoundedRangesMethodInfo
+    ResolveTextViewAccessibleMethod "getCaretOffset" o = Atk.Text.TextGetCaretOffsetMethodInfo
+    ResolveTextViewAccessibleMethod "getCharacterAtOffset" o = Atk.Text.TextGetCharacterAtOffsetMethodInfo
+    ResolveTextViewAccessibleMethod "getCharacterCount" o = Atk.Text.TextGetCharacterCountMethodInfo
+    ResolveTextViewAccessibleMethod "getCharacterExtents" o = Atk.Text.TextGetCharacterExtentsMethodInfo
+    ResolveTextViewAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTextViewAccessibleMethod "getDefaultAttributes" o = Atk.Text.TextGetDefaultAttributesMethodInfo
+    ResolveTextViewAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveTextViewAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveTextViewAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveTextViewAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveTextViewAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveTextViewAccessibleMethod "getMimeType" o = Atk.StreamableContent.StreamableContentGetMimeTypeMethodInfo
+    ResolveTextViewAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveTextViewAccessibleMethod "getNMimeTypes" o = Atk.StreamableContent.StreamableContentGetNMimeTypesMethodInfo
+    ResolveTextViewAccessibleMethod "getNSelections" o = Atk.Text.TextGetNSelectionsMethodInfo
+    ResolveTextViewAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveTextViewAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveTextViewAccessibleMethod "getOffsetAtPoint" o = Atk.Text.TextGetOffsetAtPointMethodInfo
+    ResolveTextViewAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveTextViewAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveTextViewAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTextViewAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTextViewAccessibleMethod "getRangeExtents" o = Atk.Text.TextGetRangeExtentsMethodInfo
+    ResolveTextViewAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveTextViewAccessibleMethod "getRunAttributes" o = Atk.Text.TextGetRunAttributesMethodInfo
+    ResolveTextViewAccessibleMethod "getSelection" o = Atk.Text.TextGetSelectionMethodInfo
+    ResolveTextViewAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveTextViewAccessibleMethod "getStream" o = Atk.StreamableContent.StreamableContentGetStreamMethodInfo
+    ResolveTextViewAccessibleMethod "getStringAtOffset" o = Atk.Text.TextGetStringAtOffsetMethodInfo
+    ResolveTextViewAccessibleMethod "getText" o = Atk.Text.TextGetTextMethodInfo
+    ResolveTextViewAccessibleMethod "getTextAfterOffset" o = Atk.Text.TextGetTextAfterOffsetMethodInfo
+    ResolveTextViewAccessibleMethod "getTextAtOffset" o = Atk.Text.TextGetTextAtOffsetMethodInfo
+    ResolveTextViewAccessibleMethod "getTextBeforeOffset" o = Atk.Text.TextGetTextBeforeOffsetMethodInfo
+    ResolveTextViewAccessibleMethod "getUri" o = Atk.StreamableContent.StreamableContentGetUriMethodInfo
+    ResolveTextViewAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveTextViewAccessibleMethod "setCaretOffset" o = Atk.Text.TextSetCaretOffsetMethodInfo
+    ResolveTextViewAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTextViewAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveTextViewAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveTextViewAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveTextViewAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveTextViewAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveTextViewAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTextViewAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveTextViewAccessibleMethod "setRunAttributes" o = Atk.EditableText.EditableTextSetRunAttributesMethodInfo
+    ResolveTextViewAccessibleMethod "setSelection" o = Atk.Text.TextSetSelectionMethodInfo
+    ResolveTextViewAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveTextViewAccessibleMethod "setTextContents" o = Atk.EditableText.EditableTextSetTextContentsMethodInfo
+    ResolveTextViewAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveTextViewAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextViewAccessibleMethod t TextViewAccessible, O.MethodInfo info TextViewAccessible p) => OL.IsLabel t (TextViewAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextViewAccessible
+type instance O.AttributeList TextViewAccessible = TextViewAccessibleAttributeList
+type TextViewAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TextViewAccessible = TextViewAccessibleSignalList
+type TextViewAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("textAttributesChanged", Atk.Text.TextTextAttributesChangedSignalInfo), '("textCaretMoved", Atk.Text.TextTextCaretMovedSignalInfo), '("textChanged", Atk.Text.TextTextChangedSignalInfo), '("textInsert", Atk.Text.TextTextInsertSignalInfo), '("textRemove", Atk.Text.TextTextRemoveSignalInfo), '("textSelectionChanged", Atk.Text.TextTextSelectionChangedSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TextViewAccessible.hs-boot b/GI/Gtk/Objects/TextViewAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TextViewAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TextViewAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextViewAccessible = TextViewAccessible (ManagedPtr TextViewAccessible)
+instance GObject TextViewAccessible where
+class (GObject o, O.IsDescendantOf TextViewAccessible o) => IsTextViewAccessible o
+instance (GObject o, O.IsDescendantOf TextViewAccessible o) => IsTextViewAccessible o
+instance O.HasParentTypes TextViewAccessible
diff --git a/GI/Gtk/Objects/ThemingEngine.hs b/GI/Gtk/Objects/ThemingEngine.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ThemingEngine.hs
@@ -0,0 +1,1186 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.ThemingEngine.ThemingEngine' was the object used for rendering themed content
+in GTK+ widgets. It used to allow overriding GTK+\'s default
+implementation of rendering functions by allowing engines to be
+loaded as modules.
+
+'GI.Gtk.Objects.ThemingEngine.ThemingEngine' has been deprecated in GTK+ 3.14 and will be
+ignored for rendering. The advancements in CSS theming are good
+enough to allow themers to achieve their goals without the need
+to modify source code.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ThemingEngine
+    ( 
+
+-- * Exported types
+    ThemingEngine(..)                       ,
+    IsThemingEngine                         ,
+    toThemingEngine                         ,
+    noThemingEngine                         ,
+
+
+ -- * Methods
+-- ** getBackgroundColor #method:getBackgroundColor#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetBackgroundColorMethodInfo,
+#endif
+    themingEngineGetBackgroundColor         ,
+
+
+-- ** getBorder #method:getBorder#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetBorderMethodInfo        ,
+#endif
+    themingEngineGetBorder                  ,
+
+
+-- ** getBorderColor #method:getBorderColor#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetBorderColorMethodInfo   ,
+#endif
+    themingEngineGetBorderColor             ,
+
+
+-- ** getColor #method:getColor#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetColorMethodInfo         ,
+#endif
+    themingEngineGetColor                   ,
+
+
+-- ** getDirection #method:getDirection#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetDirectionMethodInfo     ,
+#endif
+    themingEngineGetDirection               ,
+
+
+-- ** getFont #method:getFont#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetFontMethodInfo          ,
+#endif
+    themingEngineGetFont                    ,
+
+
+-- ** getJunctionSides #method:getJunctionSides#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetJunctionSidesMethodInfo ,
+#endif
+    themingEngineGetJunctionSides           ,
+
+
+-- ** getMargin #method:getMargin#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetMarginMethodInfo        ,
+#endif
+    themingEngineGetMargin                  ,
+
+
+-- ** getPadding #method:getPadding#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetPaddingMethodInfo       ,
+#endif
+    themingEngineGetPadding                 ,
+
+
+-- ** getPath #method:getPath#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetPathMethodInfo          ,
+#endif
+    themingEngineGetPath                    ,
+
+
+-- ** getProperty #method:getProperty#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetPropertyMethodInfo      ,
+#endif
+    themingEngineGetProperty                ,
+
+
+-- ** getScreen #method:getScreen#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetScreenMethodInfo        ,
+#endif
+    themingEngineGetScreen                  ,
+
+
+-- ** getState #method:getState#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetStateMethodInfo         ,
+#endif
+    themingEngineGetState                   ,
+
+
+-- ** getStyleProperty #method:getStyleProperty#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineGetStylePropertyMethodInfo ,
+#endif
+    themingEngineGetStyleProperty           ,
+
+
+-- ** hasClass #method:hasClass#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineHasClassMethodInfo         ,
+#endif
+    themingEngineHasClass                   ,
+
+
+-- ** hasRegion #method:hasRegion#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineHasRegionMethodInfo        ,
+#endif
+    themingEngineHasRegion                  ,
+
+
+-- ** load #method:load#
+
+    themingEngineLoad                       ,
+
+
+-- ** lookupColor #method:lookupColor#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineLookupColorMethodInfo      ,
+#endif
+    themingEngineLookupColor                ,
+
+
+-- ** stateIsRunning #method:stateIsRunning#
+
+#if ENABLE_OVERLOADING
+    ThemingEngineStateIsRunningMethodInfo   ,
+#endif
+    themingEngineStateIsRunning             ,
+
+
+
+
+ -- * Properties
+-- ** name #attr:name#
+{- | The theming engine name, this name will be used when registering
+custom properties, for a theming engine named \"Clearlooks\" registering
+a \"glossy\" custom property, it could be referenced in the CSS file as
+
+>
+>-Clearlooks-glossy: true;
+
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    ThemingEngineNamePropertyInfo           ,
+#endif
+    constructThemingEngineName              ,
+    getThemingEngineName                    ,
+#if ENABLE_OVERLOADING
+    themingEngineName                       ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Structs.Border as Gtk.Border
+import {-# SOURCE #-} qualified GI.Gtk.Structs.WidgetPath as Gtk.WidgetPath
+import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
+
+-- | Memory-managed wrapper type.
+newtype ThemingEngine = ThemingEngine (ManagedPtr ThemingEngine)
+foreign import ccall "gtk_theming_engine_get_type"
+    c_gtk_theming_engine_get_type :: IO GType
+
+instance GObject ThemingEngine where
+    gobjectType = c_gtk_theming_engine_get_type
+    
+
+-- | Type class for types which can be safely cast to `ThemingEngine`, for instance with `toThemingEngine`.
+class (GObject o, O.IsDescendantOf ThemingEngine o) => IsThemingEngine o
+instance (GObject o, O.IsDescendantOf ThemingEngine o) => IsThemingEngine o
+
+instance O.HasParentTypes ThemingEngine
+type instance O.ParentTypes ThemingEngine = '[GObject.Object.Object]
+
+-- | Cast to `ThemingEngine`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toThemingEngine :: (MonadIO m, IsThemingEngine o) => o -> m ThemingEngine
+toThemingEngine = liftIO . unsafeCastTo ThemingEngine
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ThemingEngine`.
+noThemingEngine :: Maybe ThemingEngine
+noThemingEngine = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveThemingEngineMethod (t :: Symbol) (o :: *) :: * where
+    ResolveThemingEngineMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveThemingEngineMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveThemingEngineMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveThemingEngineMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveThemingEngineMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveThemingEngineMethod "hasClass" o = ThemingEngineHasClassMethodInfo
+    ResolveThemingEngineMethod "hasRegion" o = ThemingEngineHasRegionMethodInfo
+    ResolveThemingEngineMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveThemingEngineMethod "lookupColor" o = ThemingEngineLookupColorMethodInfo
+    ResolveThemingEngineMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveThemingEngineMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveThemingEngineMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveThemingEngineMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveThemingEngineMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveThemingEngineMethod "stateIsRunning" o = ThemingEngineStateIsRunningMethodInfo
+    ResolveThemingEngineMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveThemingEngineMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveThemingEngineMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveThemingEngineMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveThemingEngineMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveThemingEngineMethod "getBackgroundColor" o = ThemingEngineGetBackgroundColorMethodInfo
+    ResolveThemingEngineMethod "getBorder" o = ThemingEngineGetBorderMethodInfo
+    ResolveThemingEngineMethod "getBorderColor" o = ThemingEngineGetBorderColorMethodInfo
+    ResolveThemingEngineMethod "getColor" o = ThemingEngineGetColorMethodInfo
+    ResolveThemingEngineMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveThemingEngineMethod "getDirection" o = ThemingEngineGetDirectionMethodInfo
+    ResolveThemingEngineMethod "getFont" o = ThemingEngineGetFontMethodInfo
+    ResolveThemingEngineMethod "getJunctionSides" o = ThemingEngineGetJunctionSidesMethodInfo
+    ResolveThemingEngineMethod "getMargin" o = ThemingEngineGetMarginMethodInfo
+    ResolveThemingEngineMethod "getPadding" o = ThemingEngineGetPaddingMethodInfo
+    ResolveThemingEngineMethod "getPath" o = ThemingEngineGetPathMethodInfo
+    ResolveThemingEngineMethod "getProperty" o = ThemingEngineGetPropertyMethodInfo
+    ResolveThemingEngineMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveThemingEngineMethod "getScreen" o = ThemingEngineGetScreenMethodInfo
+    ResolveThemingEngineMethod "getState" o = ThemingEngineGetStateMethodInfo
+    ResolveThemingEngineMethod "getStyleProperty" o = ThemingEngineGetStylePropertyMethodInfo
+    ResolveThemingEngineMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveThemingEngineMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveThemingEngineMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveThemingEngineMethod t ThemingEngine, O.MethodInfo info ThemingEngine p) => OL.IsLabel t (ThemingEngine -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' themingEngine #name
+@
+-}
+getThemingEngineName :: (MonadIO m, IsThemingEngine o) => o -> m (Maybe T.Text)
+getThemingEngineName obj = liftIO $ B.Properties.getObjectPropertyString obj "name"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructThemingEngineName :: (IsThemingEngine o) => T.Text -> IO (GValueConstruct o)
+constructThemingEngineName val = B.Properties.constructObjectPropertyString "name" (Just val)
+
+#if ENABLE_OVERLOADING
+data ThemingEngineNamePropertyInfo
+instance AttrInfo ThemingEngineNamePropertyInfo where
+    type AttrAllowedOps ThemingEngineNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ThemingEngineNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ThemingEngineNamePropertyInfo = IsThemingEngine
+    type AttrGetType ThemingEngineNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ThemingEngineNamePropertyInfo = "name"
+    type AttrOrigin ThemingEngineNamePropertyInfo = ThemingEngine
+    attrGet _ = getThemingEngineName
+    attrSet _ = undefined
+    attrConstruct _ = constructThemingEngineName
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ThemingEngine
+type instance O.AttributeList ThemingEngine = ThemingEngineAttributeList
+type ThemingEngineAttributeList = ('[ '("name", ThemingEngineNamePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+themingEngineName :: AttrLabelProxy "name"
+themingEngineName = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ThemingEngine = ThemingEngineSignalList
+type ThemingEngineSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ThemingEngine::get_background_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the color for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the background color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_background_color" gtk_theming_engine_get_background_color :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{-# DEPRECATED themingEngineGetBackgroundColor ["(Since version 3.14)"] #-}
+{- |
+Gets the background color for a given state.
+
+/Since: 3.0/
+-}
+themingEngineGetBackgroundColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the color for -}
+    -> m (Gdk.RGBA.RGBA)
+themingEngineGetBackgroundColor engine state = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    let state' = gflagsToWord state
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    gtk_theming_engine_get_background_color engine' state' color
+    color' <- (wrapBoxed Gdk.RGBA.RGBA) color
+    touchManagedPtr engine
+    return color'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetBackgroundColorMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gdk.RGBA.RGBA)), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetBackgroundColorMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetBackgroundColor
+
+#endif
+
+-- method ThemingEngine::get_border
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the border for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "border", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the border settings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_border" gtk_theming_engine_get_border :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gtk.Border.Border ->                -- border : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO ()
+
+{-# DEPRECATED themingEngineGetBorder ["(Since version 3.14)"] #-}
+{- |
+Gets the border for a given state as a 'GI.Gtk.Structs.Border.Border'.
+
+/Since: 3.0/
+-}
+themingEngineGetBorder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the border for -}
+    -> m (Gtk.Border.Border)
+themingEngineGetBorder engine state = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    let state' = gflagsToWord state
+    border <- callocBoxedBytes 8 :: IO (Ptr Gtk.Border.Border)
+    gtk_theming_engine_get_border engine' state' border
+    border' <- (wrapBoxed Gtk.Border.Border) border
+    touchManagedPtr engine
+    return border'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetBorderMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gtk.Border.Border)), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetBorderMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetBorder
+
+#endif
+
+-- method ThemingEngine::get_border_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the color for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the border color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_border_color" gtk_theming_engine_get_border_color :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{-# DEPRECATED themingEngineGetBorderColor ["(Since version 3.14)"] #-}
+{- |
+Gets the border color for a given state.
+
+/Since: 3.0/
+-}
+themingEngineGetBorderColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the color for -}
+    -> m (Gdk.RGBA.RGBA)
+themingEngineGetBorderColor engine state = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    let state' = gflagsToWord state
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    gtk_theming_engine_get_border_color engine' state' color
+    color' <- (wrapBoxed Gdk.RGBA.RGBA) color
+    touchManagedPtr engine
+    return color'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetBorderColorMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gdk.RGBA.RGBA)), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetBorderColorMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetBorderColor
+
+#endif
+
+-- method ThemingEngine::get_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the color for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the foreground color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_color" gtk_theming_engine_get_color :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{-# DEPRECATED themingEngineGetColor ["(Since version 3.14)"] #-}
+{- |
+Gets the foreground color for a given state.
+
+/Since: 3.0/
+-}
+themingEngineGetColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the color for -}
+    -> m (Gdk.RGBA.RGBA)
+themingEngineGetColor engine state = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    let state' = gflagsToWord state
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    gtk_theming_engine_get_color engine' state' color
+    color' <- (wrapBoxed Gdk.RGBA.RGBA) color
+    touchManagedPtr engine
+    return color'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetColorMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gdk.RGBA.RGBA)), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetColorMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetColor
+
+#endif
+
+-- method ThemingEngine::get_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextDirection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_direction" gtk_theming_engine_get_direction :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    IO CUInt
+
+{-# DEPRECATED themingEngineGetDirection ["(Since version 3.8)","Use 'GI.Gtk.Objects.ThemingEngine.themingEngineGetState' and","  check for @/GTK_STATE_FLAG_DIR_LTR/@ and","  @/GTK_STATE_FLAG_DIR_RTL/@ instead."] #-}
+{- |
+Returns the widget direction used for rendering.
+
+/Since: 3.0/
+-}
+themingEngineGetDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> m Gtk.Enums.TextDirection
+    {- ^ __Returns:__ the widget direction -}
+themingEngineGetDirection engine = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    result <- gtk_theming_engine_get_direction engine'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr engine
+    return result'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetDirectionMethodInfo
+instance (signature ~ (m Gtk.Enums.TextDirection), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetDirectionMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetDirection
+
+#endif
+
+-- method ThemingEngine::get_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the font for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontDescription"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_font" gtk_theming_engine_get_font :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    IO (Ptr Pango.FontDescription.FontDescription)
+
+{-# DEPRECATED themingEngineGetFont ["(Since version 3.8)","Use @/gtk_theming_engine_get()/@"] #-}
+{- |
+Returns the font description for a given state.
+
+/Since: 3.0/
+-}
+themingEngineGetFont ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the font for -}
+    -> m Pango.FontDescription.FontDescription
+    {- ^ __Returns:__ the 'GI.Pango.Structs.FontDescription.FontDescription' for the given
+         state. This object is owned by GTK+ and should not be
+         freed. -}
+themingEngineGetFont engine state = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    let state' = gflagsToWord state
+    result <- gtk_theming_engine_get_font engine' state'
+    checkUnexpectedReturnNULL "themingEngineGetFont" result
+    result' <- (newBoxed Pango.FontDescription.FontDescription) result
+    touchManagedPtr engine
+    return result'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetFontMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m Pango.FontDescription.FontDescription), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetFontMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetFont
+
+#endif
+
+-- method ThemingEngine::get_junction_sides
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "JunctionSides"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_junction_sides" gtk_theming_engine_get_junction_sides :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    IO CUInt
+
+{-# DEPRECATED themingEngineGetJunctionSides ["(Since version 3.14)"] #-}
+{- |
+Returns the widget direction used for rendering.
+
+/Since: 3.0/
+-}
+themingEngineGetJunctionSides ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> m [Gtk.Flags.JunctionSides]
+    {- ^ __Returns:__ the widget direction -}
+themingEngineGetJunctionSides engine = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    result <- gtk_theming_engine_get_junction_sides engine'
+    let result' = wordToGFlags result
+    touchManagedPtr engine
+    return result'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetJunctionSidesMethodInfo
+instance (signature ~ (m [Gtk.Flags.JunctionSides]), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetJunctionSidesMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetJunctionSides
+
+#endif
+
+-- method ThemingEngine::get_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the border for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the margin settings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_margin" gtk_theming_engine_get_margin :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gtk.Border.Border ->                -- margin : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO ()
+
+{-# DEPRECATED themingEngineGetMargin ["(Since version 3.14)"] #-}
+{- |
+Gets the margin for a given state as a 'GI.Gtk.Structs.Border.Border'.
+
+/Since: 3.0/
+-}
+themingEngineGetMargin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the border for -}
+    -> m (Gtk.Border.Border)
+themingEngineGetMargin engine state = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    let state' = gflagsToWord state
+    margin <- callocBoxedBytes 8 :: IO (Ptr Gtk.Border.Border)
+    gtk_theming_engine_get_margin engine' state' margin
+    margin' <- (wrapBoxed Gtk.Border.Border) margin
+    touchManagedPtr engine
+    return margin'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetMarginMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gtk.Border.Border)), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetMarginMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetMargin
+
+#endif
+
+-- method ThemingEngine::get_padding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the padding for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "padding", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value for the padding settings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_padding" gtk_theming_engine_get_padding :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gtk.Border.Border ->                -- padding : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO ()
+
+{-# DEPRECATED themingEngineGetPadding ["(Since version 3.14)"] #-}
+{- |
+Gets the padding for a given state as a 'GI.Gtk.Structs.Border.Border'.
+
+/Since: 3.0/
+-}
+themingEngineGetPadding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the padding for -}
+    -> m (Gtk.Border.Border)
+themingEngineGetPadding engine state = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    let state' = gflagsToWord state
+    padding <- callocBoxedBytes 8 :: IO (Ptr Gtk.Border.Border)
+    gtk_theming_engine_get_padding engine' state' padding
+    padding' <- (wrapBoxed Gtk.Border.Border) padding
+    touchManagedPtr engine
+    return padding'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetPaddingMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m (Gtk.Border.Border)), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetPaddingMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetPadding
+
+#endif
+
+-- method ThemingEngine::get_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_path" gtk_theming_engine_get_path :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    IO (Ptr Gtk.WidgetPath.WidgetPath)
+
+{-# DEPRECATED themingEngineGetPath ["(Since version 3.14)"] #-}
+{- |
+Returns the widget path used for style matching.
+
+/Since: 3.0/
+-}
+themingEngineGetPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> m Gtk.WidgetPath.WidgetPath
+    {- ^ __Returns:__ A 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+themingEngineGetPath engine = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    result <- gtk_theming_engine_get_path engine'
+    checkUnexpectedReturnNULL "themingEngineGetPath" result
+    result' <- (newBoxed Gtk.WidgetPath.WidgetPath) result
+    touchManagedPtr engine
+    return result'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetPathMethodInfo
+instance (signature ~ (m Gtk.WidgetPath.WidgetPath), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetPathMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetPath
+
+#endif
+
+-- method ThemingEngine::get_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the property name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the value for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the property value,\n        you must free this memory using g_value_unset() once you are\n        done with it.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_property" gtk_theming_engine_get_property :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CString ->                              -- property : TBasicType TUTF8
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{-# DEPRECATED themingEngineGetProperty ["(Since version 3.14)"] #-}
+{- |
+Gets a property value as retrieved from the style settings that apply
+to the currently rendered element.
+
+/Since: 3.0/
+-}
+themingEngineGetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> T.Text
+    {- ^ /@property@/: the property name -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state to retrieve the value for -}
+    -> m (GValue)
+themingEngineGetProperty engine property state = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    property' <- textToCString property
+    let state' = gflagsToWord state
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    gtk_theming_engine_get_property engine' property' state' value
+    value' <- (wrapBoxed GValue) value
+    touchManagedPtr engine
+    freeMem property'
+    return value'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetPropertyMethodInfo
+instance (signature ~ (T.Text -> [Gtk.Flags.StateFlags] -> m (GValue)), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetPropertyMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetProperty
+
+#endif
+
+-- method ThemingEngine::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_screen" gtk_theming_engine_get_screen :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    IO (Ptr Gdk.Screen.Screen)
+
+{-# DEPRECATED themingEngineGetScreen ["(Since version 3.14)"] #-}
+{- |
+Returns the 'GI.Gdk.Objects.Screen.Screen' to which /@engine@/ currently rendering to.
+-}
+themingEngineGetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> m (Maybe Gdk.Screen.Screen)
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Screen.Screen', or 'Nothing'. -}
+themingEngineGetScreen engine = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    result <- gtk_theming_engine_get_screen engine'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Screen.Screen) result'
+        return result''
+    touchManagedPtr engine
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetScreenMethodInfo
+instance (signature ~ (m (Maybe Gdk.Screen.Screen)), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetScreenMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetScreen
+
+#endif
+
+-- method ThemingEngine::get_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StateFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_state" gtk_theming_engine_get_state :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    IO CUInt
+
+{-# DEPRECATED themingEngineGetState ["(Since version 3.14)"] #-}
+{- |
+returns the state used when rendering.
+
+/Since: 3.0/
+-}
+themingEngineGetState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> m [Gtk.Flags.StateFlags]
+    {- ^ __Returns:__ the state flags -}
+themingEngineGetState engine = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    result <- gtk_theming_engine_get_state engine'
+    let result' = wordToGFlags result
+    touchManagedPtr engine
+    return result'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetStateMethodInfo
+instance (signature ~ (m [Gtk.Flags.StateFlags]), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetStateMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetState
+
+#endif
+
+-- method ThemingEngine::get_style_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the widget style property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the property value, free with\n        g_value_unset() after use.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_get_style_property" gtk_theming_engine_get_style_property :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CString ->                              -- property_name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{-# DEPRECATED themingEngineGetStyleProperty ["(Since version 3.14)"] #-}
+{- |
+Gets the value for a widget style property.
+
+/Since: 3.0/
+-}
+themingEngineGetStyleProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> T.Text
+    {- ^ /@propertyName@/: the name of the widget style property -}
+    -> m (GValue)
+themingEngineGetStyleProperty engine propertyName = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    propertyName' <- textToCString propertyName
+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)
+    gtk_theming_engine_get_style_property engine' propertyName' value
+    value' <- (wrapBoxed GValue) value
+    touchManagedPtr engine
+    freeMem propertyName'
+    return value'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineGetStylePropertyMethodInfo
+instance (signature ~ (T.Text -> m (GValue)), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineGetStylePropertyMethodInfo a signature where
+    overloadedMethod _ = themingEngineGetStyleProperty
+
+#endif
+
+-- method ThemingEngine::has_class
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class name to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_has_class" gtk_theming_engine_has_class :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CString ->                              -- style_class : TBasicType TUTF8
+    IO CInt
+
+{-# DEPRECATED themingEngineHasClass ["(Since version 3.14)"] #-}
+{- |
+Returns 'True' if the currently rendered contents have
+defined the given class name.
+
+/Since: 3.0/
+-}
+themingEngineHasClass ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> T.Text
+    {- ^ /@styleClass@/: class name to look up -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@engine@/ has /@className@/ defined -}
+themingEngineHasClass engine styleClass = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    styleClass' <- textToCString styleClass
+    result <- gtk_theming_engine_has_class engine' styleClass'
+    let result' = (/= 0) result
+    touchManagedPtr engine
+    freeMem styleClass'
+    return result'
+
+#if ENABLE_OVERLOADING
+data ThemingEngineHasClassMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineHasClassMethodInfo a signature where
+    overloadedMethod _ = themingEngineHasClass
+
+#endif
+
+-- method ThemingEngine::has_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style_region", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a region name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "RegionFlags"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for region flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_has_region" gtk_theming_engine_has_region :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CString ->                              -- style_region : TBasicType TUTF8
+    Ptr CUInt ->                            -- flags : TInterface (Name {namespace = "Gtk", name = "RegionFlags"})
+    IO CInt
+
+{-# DEPRECATED themingEngineHasRegion ["(Since version 3.14)"] #-}
+{- |
+Returns 'True' if the currently rendered contents have the
+region defined. If /@flagsReturn@/ is not 'Nothing', it is set
+to the flags affecting the region.
+
+/Since: 3.0/
+-}
+themingEngineHasRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> T.Text
+    {- ^ /@styleRegion@/: a region name -}
+    -> m ((Bool, [Gtk.Flags.RegionFlags]))
+    {- ^ __Returns:__ 'True' if region is defined -}
+themingEngineHasRegion engine styleRegion = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    styleRegion' <- textToCString styleRegion
+    flags <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_theming_engine_has_region engine' styleRegion' flags
+    let result' = (/= 0) result
+    flags' <- peek flags
+    let flags'' = wordToGFlags flags'
+    touchManagedPtr engine
+    freeMem styleRegion'
+    freeMem flags
+    return (result', flags'')
+
+#if ENABLE_OVERLOADING
+data ThemingEngineHasRegionMethodInfo
+instance (signature ~ (T.Text -> m ((Bool, [Gtk.Flags.RegionFlags]))), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineHasRegionMethodInfo a signature where
+    overloadedMethod _ = themingEngineHasRegion
+
+#endif
+
+-- method ThemingEngine::lookup_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color name to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the looked up color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_lookup_color" gtk_theming_engine_lookup_color :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CString ->                              -- color_name : TBasicType TUTF8
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO CInt
+
+{-# DEPRECATED themingEngineLookupColor ["(Since version 3.14)"] #-}
+{- |
+Looks up and resolves a color name in the current style’s color map.
+
+/Since: 3.0/
+-}
+themingEngineLookupColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> T.Text
+    {- ^ /@colorName@/: color name to lookup -}
+    -> m ((Bool, Gdk.RGBA.RGBA))
+    {- ^ __Returns:__ 'True' if /@colorName@/ was found and resolved, 'False' otherwise -}
+themingEngineLookupColor engine colorName = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    colorName' <- textToCString colorName
+    color <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    result <- gtk_theming_engine_lookup_color engine' colorName' color
+    let result' = (/= 0) result
+    color' <- (wrapBoxed Gdk.RGBA.RGBA) color
+    touchManagedPtr engine
+    freeMem colorName'
+    return (result', color')
+
+#if ENABLE_OVERLOADING
+data ThemingEngineLookupColorMethodInfo
+instance (signature ~ (T.Text -> m ((Bool, Gdk.RGBA.RGBA))), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineLookupColorMethodInfo a signature where
+    overloadedMethod _ = themingEngineLookupColor
+
+#endif
+
+-- method ThemingEngine::state_is_running
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "engine", argType = TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkThemingEngine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the transition progress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_state_is_running" gtk_theming_engine_state_is_running :: 
+    Ptr ThemingEngine ->                    -- engine : TInterface (Name {namespace = "Gtk", name = "ThemingEngine"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr CDouble ->                          -- progress : TBasicType TDouble
+    IO CInt
+
+{-# DEPRECATED themingEngineStateIsRunning ["(Since version 3.6)","Always returns 'False'"] #-}
+{- |
+Returns 'True' if there is a transition animation running for the
+current region (see 'GI.Gtk.Objects.StyleContext.styleContextPushAnimatableRegion').
+
+If /@progress@/ is not 'Nothing', the animation progress will be returned
+there, 0.0 means the state is closest to being 'False', while 1.0 means
+it’s closest to being 'True'. This means transition animations will
+run from 0 to 1 when /@state@/ is being set to 'True' and from 1 to 0 when
+it’s being set to 'False'.
+
+/Since: 3.0/
+-}
+themingEngineStateIsRunning ::
+    (B.CallStack.HasCallStack, MonadIO m, IsThemingEngine a) =>
+    a
+    {- ^ /@engine@/: a 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: a widget state -}
+    -> m ((Bool, Double))
+    {- ^ __Returns:__ 'True' if there is a running transition animation for /@state@/. -}
+themingEngineStateIsRunning engine state = liftIO $ do
+    engine' <- unsafeManagedPtrCastPtr engine
+    let state' = (fromIntegral . fromEnum) state
+    progress <- allocMem :: IO (Ptr CDouble)
+    result <- gtk_theming_engine_state_is_running engine' state' progress
+    let result' = (/= 0) result
+    progress' <- peek progress
+    let progress'' = realToFrac progress'
+    touchManagedPtr engine
+    freeMem progress
+    return (result', progress'')
+
+#if ENABLE_OVERLOADING
+data ThemingEngineStateIsRunningMethodInfo
+instance (signature ~ (Gtk.Enums.StateType -> m ((Bool, Double))), MonadIO m, IsThemingEngine a) => O.MethodInfo ThemingEngineStateIsRunningMethodInfo a signature where
+    overloadedMethod _ = themingEngineStateIsRunning
+
+#endif
+
+-- method ThemingEngine::load
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Theme engine name to load", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ThemingEngine"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_theming_engine_load" gtk_theming_engine_load :: 
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr ThemingEngine)
+
+{-# DEPRECATED themingEngineLoad ["(Since version 3.14)"] #-}
+{- |
+Loads and initializes a theming engine module from the
+standard directories.
+-}
+themingEngineLoad ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: Theme engine name to load -}
+    -> m (Maybe ThemingEngine)
+    {- ^ __Returns:__ A theming engine, or 'Nothing' if
+the engine /@name@/ doesn’t exist. -}
+themingEngineLoad name = liftIO $ do
+    name' <- textToCString name
+    result <- gtk_theming_engine_load name'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject ThemingEngine) result'
+        return result''
+    freeMem name'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/ThemingEngine.hs-boot b/GI/Gtk/Objects/ThemingEngine.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ThemingEngine.hs-boot
@@ -0,0 +1,86 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ThemingEngine where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ThemingEngine = ThemingEngine (ManagedPtr ThemingEngine)
+instance GObject ThemingEngine where
+class (GObject o, O.IsDescendantOf ThemingEngine o) => IsThemingEngine o
+instance (GObject o, O.IsDescendantOf ThemingEngine o) => IsThemingEngine o
+instance O.HasParentTypes ThemingEngine
+#if ENABLE_OVERLOADING
+data ThemingEngineNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetBackgroundColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetBorderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetBorderColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetFontMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetJunctionSidesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetPaddingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineGetStylePropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineHasClassMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineHasRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineLookupColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ThemingEngineStateIsRunningMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ToggleAction.hs b/GI/Gtk/Objects/ToggleAction.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToggleAction.hs
@@ -0,0 +1,717 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.ToggleAction.ToggleAction' corresponds roughly to a 'GI.Gtk.Objects.CheckMenuItem.CheckMenuItem'. It has an
+“active” state specifying whether the action has been checked or not.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ToggleAction
+    ( 
+
+-- * Exported types
+    ToggleAction(..)                        ,
+    IsToggleAction                          ,
+    toToggleAction                          ,
+    noToggleAction                          ,
+
+
+ -- * Methods
+-- ** getActive #method:getActive#
+
+#if ENABLE_OVERLOADING
+    ToggleActionGetActiveMethodInfo         ,
+#endif
+    toggleActionGetActive                   ,
+
+
+-- ** getDrawAsRadio #method:getDrawAsRadio#
+
+#if ENABLE_OVERLOADING
+    ToggleActionGetDrawAsRadioMethodInfo    ,
+#endif
+    toggleActionGetDrawAsRadio              ,
+
+
+-- ** new #method:new#
+
+    toggleActionNew                         ,
+
+
+-- ** setActive #method:setActive#
+
+#if ENABLE_OVERLOADING
+    ToggleActionSetActiveMethodInfo         ,
+#endif
+    toggleActionSetActive                   ,
+
+
+-- ** setDrawAsRadio #method:setDrawAsRadio#
+
+#if ENABLE_OVERLOADING
+    ToggleActionSetDrawAsRadioMethodInfo    ,
+#endif
+    toggleActionSetDrawAsRadio              ,
+
+
+-- ** toggled #method:toggled#
+
+#if ENABLE_OVERLOADING
+    ToggleActionToggledMethodInfo           ,
+#endif
+    toggleActionToggled                     ,
+
+
+
+
+ -- * Properties
+-- ** active #attr:active#
+{- | Whether the toggle action should be active.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    ToggleActionActivePropertyInfo          ,
+#endif
+    constructToggleActionActive             ,
+    getToggleActionActive                   ,
+    setToggleActionActive                   ,
+#if ENABLE_OVERLOADING
+    toggleActionActive                      ,
+#endif
+
+
+-- ** drawAsRadio #attr:drawAsRadio#
+{- | Whether the proxies for this action look like radio action proxies.
+
+This is an appearance property and thus only applies if
+'GI.Gtk.Interfaces.Activatable.Activatable':@/use-action-appearance/@ is 'True'.
+-}
+#if ENABLE_OVERLOADING
+    ToggleActionDrawAsRadioPropertyInfo     ,
+#endif
+    constructToggleActionDrawAsRadio        ,
+    getToggleActionDrawAsRadio              ,
+    setToggleActionDrawAsRadio              ,
+#if ENABLE_OVERLOADING
+    toggleActionDrawAsRadio                 ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** toggled #signal:toggled#
+
+    C_ToggleActionToggledCallback           ,
+    ToggleActionToggledCallback             ,
+#if ENABLE_OVERLOADING
+    ToggleActionToggledSignalInfo           ,
+#endif
+    afterToggleActionToggled                ,
+    genClosure_ToggleActionToggled          ,
+    mk_ToggleActionToggledCallback          ,
+    noToggleActionToggledCallback           ,
+    onToggleActionToggled                   ,
+    wrap_ToggleActionToggledCallback        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Action as Gtk.Action
+
+-- | Memory-managed wrapper type.
+newtype ToggleAction = ToggleAction (ManagedPtr ToggleAction)
+foreign import ccall "gtk_toggle_action_get_type"
+    c_gtk_toggle_action_get_type :: IO GType
+
+instance GObject ToggleAction where
+    gobjectType = c_gtk_toggle_action_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToggleAction`, for instance with `toToggleAction`.
+class (GObject o, O.IsDescendantOf ToggleAction o) => IsToggleAction o
+instance (GObject o, O.IsDescendantOf ToggleAction o) => IsToggleAction o
+
+instance O.HasParentTypes ToggleAction
+type instance O.ParentTypes ToggleAction = '[Gtk.Action.Action, GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `ToggleAction`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToggleAction :: (MonadIO m, IsToggleAction o) => o -> m ToggleAction
+toToggleAction = liftIO . unsafeCastTo ToggleAction
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToggleAction`.
+noToggleAction :: Maybe ToggleAction
+noToggleAction = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToggleActionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToggleActionMethod "activate" o = Gtk.Action.ActionActivateMethodInfo
+    ResolveToggleActionMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveToggleActionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToggleActionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToggleActionMethod "blockActivate" o = Gtk.Action.ActionBlockActivateMethodInfo
+    ResolveToggleActionMethod "connectAccelerator" o = Gtk.Action.ActionConnectAcceleratorMethodInfo
+    ResolveToggleActionMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveToggleActionMethod "createIcon" o = Gtk.Action.ActionCreateIconMethodInfo
+    ResolveToggleActionMethod "createMenu" o = Gtk.Action.ActionCreateMenuMethodInfo
+    ResolveToggleActionMethod "createMenuItem" o = Gtk.Action.ActionCreateMenuItemMethodInfo
+    ResolveToggleActionMethod "createToolItem" o = Gtk.Action.ActionCreateToolItemMethodInfo
+    ResolveToggleActionMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveToggleActionMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveToggleActionMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveToggleActionMethod "disconnectAccelerator" o = Gtk.Action.ActionDisconnectAcceleratorMethodInfo
+    ResolveToggleActionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToggleActionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToggleActionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToggleActionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToggleActionMethod "isSensitive" o = Gtk.Action.ActionIsSensitiveMethodInfo
+    ResolveToggleActionMethod "isVisible" o = Gtk.Action.ActionIsVisibleMethodInfo
+    ResolveToggleActionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToggleActionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToggleActionMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveToggleActionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToggleActionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToggleActionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToggleActionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToggleActionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToggleActionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToggleActionMethod "toggled" o = ToggleActionToggledMethodInfo
+    ResolveToggleActionMethod "unblockActivate" o = Gtk.Action.ActionUnblockActivateMethodInfo
+    ResolveToggleActionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToggleActionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToggleActionMethod "getAccelClosure" o = Gtk.Action.ActionGetAccelClosureMethodInfo
+    ResolveToggleActionMethod "getAccelPath" o = Gtk.Action.ActionGetAccelPathMethodInfo
+    ResolveToggleActionMethod "getActive" o = ToggleActionGetActiveMethodInfo
+    ResolveToggleActionMethod "getAlwaysShowImage" o = Gtk.Action.ActionGetAlwaysShowImageMethodInfo
+    ResolveToggleActionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToggleActionMethod "getDrawAsRadio" o = ToggleActionGetDrawAsRadioMethodInfo
+    ResolveToggleActionMethod "getGicon" o = Gtk.Action.ActionGetGiconMethodInfo
+    ResolveToggleActionMethod "getIconName" o = Gtk.Action.ActionGetIconNameMethodInfo
+    ResolveToggleActionMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveToggleActionMethod "getIsImportant" o = Gtk.Action.ActionGetIsImportantMethodInfo
+    ResolveToggleActionMethod "getLabel" o = Gtk.Action.ActionGetLabelMethodInfo
+    ResolveToggleActionMethod "getName" o = Gtk.Action.ActionGetNameMethodInfo
+    ResolveToggleActionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToggleActionMethod "getProxies" o = Gtk.Action.ActionGetProxiesMethodInfo
+    ResolveToggleActionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToggleActionMethod "getSensitive" o = Gtk.Action.ActionGetSensitiveMethodInfo
+    ResolveToggleActionMethod "getShortLabel" o = Gtk.Action.ActionGetShortLabelMethodInfo
+    ResolveToggleActionMethod "getStockId" o = Gtk.Action.ActionGetStockIdMethodInfo
+    ResolveToggleActionMethod "getTooltip" o = Gtk.Action.ActionGetTooltipMethodInfo
+    ResolveToggleActionMethod "getVisible" o = Gtk.Action.ActionGetVisibleMethodInfo
+    ResolveToggleActionMethod "getVisibleHorizontal" o = Gtk.Action.ActionGetVisibleHorizontalMethodInfo
+    ResolveToggleActionMethod "getVisibleVertical" o = Gtk.Action.ActionGetVisibleVerticalMethodInfo
+    ResolveToggleActionMethod "setAccelGroup" o = Gtk.Action.ActionSetAccelGroupMethodInfo
+    ResolveToggleActionMethod "setAccelPath" o = Gtk.Action.ActionSetAccelPathMethodInfo
+    ResolveToggleActionMethod "setActive" o = ToggleActionSetActiveMethodInfo
+    ResolveToggleActionMethod "setAlwaysShowImage" o = Gtk.Action.ActionSetAlwaysShowImageMethodInfo
+    ResolveToggleActionMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveToggleActionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToggleActionMethod "setDrawAsRadio" o = ToggleActionSetDrawAsRadioMethodInfo
+    ResolveToggleActionMethod "setGicon" o = Gtk.Action.ActionSetGiconMethodInfo
+    ResolveToggleActionMethod "setIconName" o = Gtk.Action.ActionSetIconNameMethodInfo
+    ResolveToggleActionMethod "setIsImportant" o = Gtk.Action.ActionSetIsImportantMethodInfo
+    ResolveToggleActionMethod "setLabel" o = Gtk.Action.ActionSetLabelMethodInfo
+    ResolveToggleActionMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveToggleActionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToggleActionMethod "setSensitive" o = Gtk.Action.ActionSetSensitiveMethodInfo
+    ResolveToggleActionMethod "setShortLabel" o = Gtk.Action.ActionSetShortLabelMethodInfo
+    ResolveToggleActionMethod "setStockId" o = Gtk.Action.ActionSetStockIdMethodInfo
+    ResolveToggleActionMethod "setTooltip" o = Gtk.Action.ActionSetTooltipMethodInfo
+    ResolveToggleActionMethod "setVisible" o = Gtk.Action.ActionSetVisibleMethodInfo
+    ResolveToggleActionMethod "setVisibleHorizontal" o = Gtk.Action.ActionSetVisibleHorizontalMethodInfo
+    ResolveToggleActionMethod "setVisibleVertical" o = Gtk.Action.ActionSetVisibleVerticalMethodInfo
+    ResolveToggleActionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToggleActionMethod t ToggleAction, O.MethodInfo info ToggleAction p) => OL.IsLabel t (ToggleAction -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ToggleAction::toggled
+{-# DEPRECATED ToggleActionToggledCallback ["(Since version 3.10)"] #-}
+{- |
+Should be connected if you wish to perform an action
+whenever the 'GI.Gtk.Objects.ToggleAction.ToggleAction' state is changed.
+-}
+type ToggleActionToggledCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToggleActionToggledCallback`@.
+noToggleActionToggledCallback :: Maybe ToggleActionToggledCallback
+noToggleActionToggledCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToggleActionToggledCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ToggleActionToggledCallback`.
+foreign import ccall "wrapper"
+    mk_ToggleActionToggledCallback :: C_ToggleActionToggledCallback -> IO (FunPtr C_ToggleActionToggledCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToggleActionToggled :: MonadIO m => ToggleActionToggledCallback -> m (GClosure C_ToggleActionToggledCallback)
+genClosure_ToggleActionToggled cb = liftIO $ do
+    let cb' = wrap_ToggleActionToggledCallback cb
+    mk_ToggleActionToggledCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToggleActionToggledCallback` into a `C_ToggleActionToggledCallback`.
+wrap_ToggleActionToggledCallback ::
+    ToggleActionToggledCallback ->
+    C_ToggleActionToggledCallback
+wrap_ToggleActionToggledCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toggleAction #toggled callback
+@
+-}
+onToggleActionToggled :: (IsToggleAction a, MonadIO m) => a -> ToggleActionToggledCallback -> m SignalHandlerId
+onToggleActionToggled obj cb = liftIO $ do
+    let cb' = wrap_ToggleActionToggledCallback cb
+    cb'' <- mk_ToggleActionToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toggleAction #toggled callback
+@
+-}
+afterToggleActionToggled :: (IsToggleAction a, MonadIO m) => a -> ToggleActionToggledCallback -> m SignalHandlerId
+afterToggleActionToggled obj cb = liftIO $ do
+    let cb' = wrap_ToggleActionToggledCallback cb
+    cb'' <- mk_ToggleActionToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectAfter
+
+
+-- VVV Prop "active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleAction #active
+@
+-}
+getToggleActionActive :: (MonadIO m, IsToggleAction o) => o -> m Bool
+getToggleActionActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleAction [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleActionActive :: (MonadIO m, IsToggleAction o) => o -> Bool -> m ()
+setToggleActionActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToggleActionActive :: (IsToggleAction o) => Bool -> IO (GValueConstruct o)
+constructToggleActionActive val = B.Properties.constructObjectPropertyBool "active" val
+
+#if ENABLE_OVERLOADING
+data ToggleActionActivePropertyInfo
+instance AttrInfo ToggleActionActivePropertyInfo where
+    type AttrAllowedOps ToggleActionActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToggleActionActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToggleActionActivePropertyInfo = IsToggleAction
+    type AttrGetType ToggleActionActivePropertyInfo = Bool
+    type AttrLabel ToggleActionActivePropertyInfo = "active"
+    type AttrOrigin ToggleActionActivePropertyInfo = ToggleAction
+    attrGet _ = getToggleActionActive
+    attrSet _ = setToggleActionActive
+    attrConstruct _ = constructToggleActionActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "draw-as-radio"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@draw-as-radio@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleAction #drawAsRadio
+@
+-}
+getToggleActionDrawAsRadio :: (MonadIO m, IsToggleAction o) => o -> m Bool
+getToggleActionDrawAsRadio obj = liftIO $ B.Properties.getObjectPropertyBool obj "draw-as-radio"
+
+{- |
+Set the value of the “@draw-as-radio@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleAction [ #drawAsRadio 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleActionDrawAsRadio :: (MonadIO m, IsToggleAction o) => o -> Bool -> m ()
+setToggleActionDrawAsRadio obj val = liftIO $ B.Properties.setObjectPropertyBool obj "draw-as-radio" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@draw-as-radio@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToggleActionDrawAsRadio :: (IsToggleAction o) => Bool -> IO (GValueConstruct o)
+constructToggleActionDrawAsRadio val = B.Properties.constructObjectPropertyBool "draw-as-radio" val
+
+#if ENABLE_OVERLOADING
+data ToggleActionDrawAsRadioPropertyInfo
+instance AttrInfo ToggleActionDrawAsRadioPropertyInfo where
+    type AttrAllowedOps ToggleActionDrawAsRadioPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToggleActionDrawAsRadioPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToggleActionDrawAsRadioPropertyInfo = IsToggleAction
+    type AttrGetType ToggleActionDrawAsRadioPropertyInfo = Bool
+    type AttrLabel ToggleActionDrawAsRadioPropertyInfo = "draw-as-radio"
+    type AttrOrigin ToggleActionDrawAsRadioPropertyInfo = ToggleAction
+    attrGet _ = getToggleActionDrawAsRadio
+    attrSet _ = setToggleActionDrawAsRadio
+    attrConstruct _ = constructToggleActionDrawAsRadio
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToggleAction
+type instance O.AttributeList ToggleAction = ToggleActionAttributeList
+type ToggleActionAttributeList = ('[ '("actionGroup", Gtk.Action.ActionActionGroupPropertyInfo), '("active", ToggleActionActivePropertyInfo), '("alwaysShowImage", Gtk.Action.ActionAlwaysShowImagePropertyInfo), '("drawAsRadio", ToggleActionDrawAsRadioPropertyInfo), '("gicon", Gtk.Action.ActionGiconPropertyInfo), '("hideIfEmpty", Gtk.Action.ActionHideIfEmptyPropertyInfo), '("iconName", Gtk.Action.ActionIconNamePropertyInfo), '("isImportant", Gtk.Action.ActionIsImportantPropertyInfo), '("label", Gtk.Action.ActionLabelPropertyInfo), '("name", Gtk.Action.ActionNamePropertyInfo), '("sensitive", Gtk.Action.ActionSensitivePropertyInfo), '("shortLabel", Gtk.Action.ActionShortLabelPropertyInfo), '("stockId", Gtk.Action.ActionStockIdPropertyInfo), '("tooltip", Gtk.Action.ActionTooltipPropertyInfo), '("visible", Gtk.Action.ActionVisiblePropertyInfo), '("visibleHorizontal", Gtk.Action.ActionVisibleHorizontalPropertyInfo), '("visibleOverflown", Gtk.Action.ActionVisibleOverflownPropertyInfo), '("visibleVertical", Gtk.Action.ActionVisibleVerticalPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+toggleActionActive :: AttrLabelProxy "active"
+toggleActionActive = AttrLabelProxy
+
+toggleActionDrawAsRadio :: AttrLabelProxy "drawAsRadio"
+toggleActionDrawAsRadio = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ToggleActionToggledSignalInfo
+instance SignalInfo ToggleActionToggledSignalInfo where
+    type HaskellCallbackType ToggleActionToggledSignalInfo = ToggleActionToggledCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToggleActionToggledCallback cb
+        cb'' <- mk_ToggleActionToggledCallback cb'
+        connectSignalFunPtr obj "toggled" cb'' connectMode
+
+type instance O.SignalList ToggleAction = ToggleActionSignalList
+type ToggleActionSignalList = ('[ '("activate", Gtk.Action.ActionActivateSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("toggled", ToggleActionToggledSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ToggleAction::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A unique name for the action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The label displayed in menu items and on buttons,\n        or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A tooltip for the action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The stock icon to display in widgets representing\n           the action, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToggleAction"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_action_new" gtk_toggle_action_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- label : TBasicType TUTF8
+    CString ->                              -- tooltip : TBasicType TUTF8
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr ToggleAction)
+
+{-# DEPRECATED toggleActionNew ["(Since version 3.10)"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.ToggleAction.ToggleAction' object. To add the action to
+a 'GI.Gtk.Objects.ActionGroup.ActionGroup' and set the accelerator for the action,
+call 'GI.Gtk.Objects.ActionGroup.actionGroupAddActionWithAccel'.
+
+/Since: 2.4/
+-}
+toggleActionNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: A unique name for the action -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: The label displayed in menu items and on buttons,
+        or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@tooltip@/: A tooltip for the action, or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@stockId@/: The stock icon to display in widgets representing
+           the action, or 'Nothing' -}
+    -> m ToggleAction
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ToggleAction.ToggleAction' -}
+toggleActionNew name label tooltip stockId = liftIO $ do
+    name' <- textToCString name
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    maybeTooltip <- case tooltip of
+        Nothing -> return nullPtr
+        Just jTooltip -> do
+            jTooltip' <- textToCString jTooltip
+            return jTooltip'
+    maybeStockId <- case stockId of
+        Nothing -> return nullPtr
+        Just jStockId -> do
+            jStockId' <- textToCString jStockId
+            return jStockId'
+    result <- gtk_toggle_action_new name' maybeLabel maybeTooltip maybeStockId
+    checkUnexpectedReturnNULL "toggleActionNew" result
+    result' <- (wrapObject ToggleAction) result
+    freeMem name'
+    freeMem maybeLabel
+    freeMem maybeTooltip
+    freeMem maybeStockId
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToggleAction::get_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "ToggleAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_action_get_active" gtk_toggle_action_get_active :: 
+    Ptr ToggleAction ->                     -- action : TInterface (Name {namespace = "Gtk", name = "ToggleAction"})
+    IO CInt
+
+{-# DEPRECATED toggleActionGetActive ["(Since version 3.10)"] #-}
+{- |
+Returns the checked state of the toggle action.
+
+/Since: 2.4/
+-}
+toggleActionGetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m Bool
+    {- ^ __Returns:__ the checked state of the toggle action -}
+toggleActionGetActive action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_toggle_action_get_active action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToggleActionGetActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToggleAction a) => O.MethodInfo ToggleActionGetActiveMethodInfo a signature where
+    overloadedMethod _ = toggleActionGetActive
+
+#endif
+
+-- method ToggleAction::get_draw_as_radio
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "ToggleAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_action_get_draw_as_radio" gtk_toggle_action_get_draw_as_radio :: 
+    Ptr ToggleAction ->                     -- action : TInterface (Name {namespace = "Gtk", name = "ToggleAction"})
+    IO CInt
+
+{-# DEPRECATED toggleActionGetDrawAsRadio ["(Since version 3.10)"] #-}
+{- |
+Returns whether the action should have proxies like a radio action.
+
+/Since: 2.4/
+-}
+toggleActionGetDrawAsRadio ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m Bool
+    {- ^ __Returns:__ whether the action should have proxies like a radio action. -}
+toggleActionGetDrawAsRadio action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    result <- gtk_toggle_action_get_draw_as_radio action'
+    let result' = (/= 0) result
+    touchManagedPtr action
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToggleActionGetDrawAsRadioMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToggleAction a) => O.MethodInfo ToggleActionGetDrawAsRadioMethodInfo a signature where
+    overloadedMethod _ = toggleActionGetDrawAsRadio
+
+#endif
+
+-- method ToggleAction::set_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "ToggleAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the action should be checked or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_action_set_active" gtk_toggle_action_set_active :: 
+    Ptr ToggleAction ->                     -- action : TInterface (Name {namespace = "Gtk", name = "ToggleAction"})
+    CInt ->                                 -- is_active : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED toggleActionSetActive ["(Since version 3.10)"] #-}
+{- |
+Sets the checked state on the toggle action.
+
+/Since: 2.4/
+-}
+toggleActionSetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> Bool
+    {- ^ /@isActive@/: whether the action should be checked or not -}
+    -> m ()
+toggleActionSetActive action isActive = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    let isActive' = (fromIntegral . fromEnum) isActive
+    gtk_toggle_action_set_active action' isActive'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToggleActionSetActiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToggleAction a) => O.MethodInfo ToggleActionSetActiveMethodInfo a signature where
+    overloadedMethod _ = toggleActionSetActive
+
+#endif
+
+-- method ToggleAction::set_draw_as_radio
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "ToggleAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "draw_as_radio", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the action should have proxies like a radio\n   action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_action_set_draw_as_radio" gtk_toggle_action_set_draw_as_radio :: 
+    Ptr ToggleAction ->                     -- action : TInterface (Name {namespace = "Gtk", name = "ToggleAction"})
+    CInt ->                                 -- draw_as_radio : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED toggleActionSetDrawAsRadio ["(Since version 3.10)"] #-}
+{- |
+Sets whether the action should have proxies like a radio action.
+
+/Since: 2.4/
+-}
+toggleActionSetDrawAsRadio ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> Bool
+    {- ^ /@drawAsRadio@/: whether the action should have proxies like a radio
+   action -}
+    -> m ()
+toggleActionSetDrawAsRadio action drawAsRadio = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    let drawAsRadio' = (fromIntegral . fromEnum) drawAsRadio
+    gtk_toggle_action_set_draw_as_radio action' drawAsRadio'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToggleActionSetDrawAsRadioMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToggleAction a) => O.MethodInfo ToggleActionSetDrawAsRadioMethodInfo a signature where
+    overloadedMethod _ = toggleActionSetDrawAsRadio
+
+#endif
+
+-- method ToggleAction::toggled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "ToggleAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_action_toggled" gtk_toggle_action_toggled :: 
+    Ptr ToggleAction ->                     -- action : TInterface (Name {namespace = "Gtk", name = "ToggleAction"})
+    IO ()
+
+{-# DEPRECATED toggleActionToggled ["(Since version 3.10)"] #-}
+{- |
+Emits the “toggled” signal on the toggle action.
+
+/Since: 2.4/
+-}
+toggleActionToggled ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleAction a) =>
+    a
+    {- ^ /@action@/: the action object -}
+    -> m ()
+toggleActionToggled action = liftIO $ do
+    action' <- unsafeManagedPtrCastPtr action
+    gtk_toggle_action_toggled action'
+    touchManagedPtr action
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToggleActionToggledMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsToggleAction a) => O.MethodInfo ToggleActionToggledMethodInfo a signature where
+    overloadedMethod _ = toggleActionToggled
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ToggleAction.hs-boot b/GI/Gtk/Objects/ToggleAction.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToggleAction.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ToggleAction where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToggleAction = ToggleAction (ManagedPtr ToggleAction)
+instance GObject ToggleAction where
+class (GObject o, O.IsDescendantOf ToggleAction o) => IsToggleAction o
+instance (GObject o, O.IsDescendantOf ToggleAction o) => IsToggleAction o
+instance O.HasParentTypes ToggleAction
+#if ENABLE_OVERLOADING
+data ToggleActionActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleActionDrawAsRadioPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleActionToggledSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleActionGetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleActionGetDrawAsRadioMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleActionSetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleActionSetDrawAsRadioMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleActionToggledMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ToggleButton.hs b/GI/Gtk/Objects/ToggleButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToggleButton.hs
@@ -0,0 +1,1259 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.ToggleButton.ToggleButton' is a 'GI.Gtk.Objects.Button.Button' which will remain “pressed-in” when
+clicked. Clicking again will cause the toggle button to return to its
+normal state.
+
+A toggle button is created by calling either 'GI.Gtk.Objects.ToggleButton.toggleButtonNew' or
+'GI.Gtk.Objects.ToggleButton.toggleButtonNewWithLabel'. If using the former, it is advisable to
+pack a widget, (such as a 'GI.Gtk.Objects.Label.Label' and\/or a 'GI.Gtk.Objects.Image.Image'), into the toggle
+button’s container. (See 'GI.Gtk.Objects.Button.Button' for more information).
+
+The state of a 'GI.Gtk.Objects.ToggleButton.ToggleButton' can be set specifically using
+'GI.Gtk.Objects.ToggleButton.toggleButtonSetActive', and retrieved using
+'GI.Gtk.Objects.ToggleButton.toggleButtonGetActive'.
+
+To simply switch the state of a toggle button, use 'GI.Gtk.Objects.ToggleButton.toggleButtonToggled'.
+
+= CSS nodes
+
+GtkToggleButton has a single CSS node with name button. To differentiate
+it from a plain 'GI.Gtk.Objects.Button.Button', it gets the .toggle style class.
+
+## Creating two 'GI.Gtk.Objects.ToggleButton.ToggleButton' widgets.
+
+
+=== /C code/
+>
+>static void output_state (GtkToggleButton *source, gpointer user_data) {
+>  printf ("Active: %d\n", gtk_toggle_button_get_active (source));
+>}
+>
+>void make_toggles (void) {
+>  GtkWidget *window, *toggle1, *toggle2;
+>  GtkWidget *box;
+>  const char *text;
+>
+>  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+>  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+>
+>  text = "Hi, I’m a toggle button.";
+>  toggle1 = gtk_toggle_button_new_with_label (text);
+>
+>  // Makes this toggle button invisible
+>  gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle1),
+>                              TRUE);
+>
+>  g_signal_connect (toggle1, "toggled",
+>                    G_CALLBACK (output_state),
+>                    NULL);
+>  gtk_container_add (GTK_CONTAINER (box), toggle1);
+>
+>  text = "Hi, I’m a toggle button.";
+>  toggle2 = gtk_toggle_button_new_with_label (text);
+>  gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle2),
+>                              FALSE);
+>  g_signal_connect (toggle2, "toggled",
+>                    G_CALLBACK (output_state),
+>                    NULL);
+>  gtk_container_add (GTK_CONTAINER (box), toggle2);
+>
+>  gtk_container_add (GTK_CONTAINER (window), box);
+>  gtk_widget_show_all (window);
+>}
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ToggleButton
+    ( 
+
+-- * Exported types
+    ToggleButton(..)                        ,
+    IsToggleButton                          ,
+    toToggleButton                          ,
+    noToggleButton                          ,
+
+
+ -- * Methods
+-- ** getActive #method:getActive#
+
+#if ENABLE_OVERLOADING
+    ToggleButtonGetActiveMethodInfo         ,
+#endif
+    toggleButtonGetActive                   ,
+
+
+-- ** getInconsistent #method:getInconsistent#
+
+#if ENABLE_OVERLOADING
+    ToggleButtonGetInconsistentMethodInfo   ,
+#endif
+    toggleButtonGetInconsistent             ,
+
+
+-- ** getMode #method:getMode#
+
+#if ENABLE_OVERLOADING
+    ToggleButtonGetModeMethodInfo           ,
+#endif
+    toggleButtonGetMode                     ,
+
+
+-- ** new #method:new#
+
+    toggleButtonNew                         ,
+
+
+-- ** newWithLabel #method:newWithLabel#
+
+    toggleButtonNewWithLabel                ,
+
+
+-- ** newWithMnemonic #method:newWithMnemonic#
+
+    toggleButtonNewWithMnemonic             ,
+
+
+-- ** setActive #method:setActive#
+
+#if ENABLE_OVERLOADING
+    ToggleButtonSetActiveMethodInfo         ,
+#endif
+    toggleButtonSetActive                   ,
+
+
+-- ** setInconsistent #method:setInconsistent#
+
+#if ENABLE_OVERLOADING
+    ToggleButtonSetInconsistentMethodInfo   ,
+#endif
+    toggleButtonSetInconsistent             ,
+
+
+-- ** setMode #method:setMode#
+
+#if ENABLE_OVERLOADING
+    ToggleButtonSetModeMethodInfo           ,
+#endif
+    toggleButtonSetMode                     ,
+
+
+-- ** toggled #method:toggled#
+
+#if ENABLE_OVERLOADING
+    ToggleButtonToggledMethodInfo           ,
+#endif
+    toggleButtonToggled                     ,
+
+
+
+
+ -- * Properties
+-- ** active #attr:active#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToggleButtonActivePropertyInfo          ,
+#endif
+    constructToggleButtonActive             ,
+    getToggleButtonActive                   ,
+    setToggleButtonActive                   ,
+#if ENABLE_OVERLOADING
+    toggleButtonActive                      ,
+#endif
+
+
+-- ** drawIndicator #attr:drawIndicator#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToggleButtonDrawIndicatorPropertyInfo   ,
+#endif
+    constructToggleButtonDrawIndicator      ,
+    getToggleButtonDrawIndicator            ,
+    setToggleButtonDrawIndicator            ,
+#if ENABLE_OVERLOADING
+    toggleButtonDrawIndicator               ,
+#endif
+
+
+-- ** inconsistent #attr:inconsistent#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToggleButtonInconsistentPropertyInfo    ,
+#endif
+    constructToggleButtonInconsistent       ,
+    getToggleButtonInconsistent             ,
+    setToggleButtonInconsistent             ,
+#if ENABLE_OVERLOADING
+    toggleButtonInconsistent                ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** toggled #signal:toggled#
+
+    C_ToggleButtonToggledCallback           ,
+    ToggleButtonToggledCallback             ,
+#if ENABLE_OVERLOADING
+    ToggleButtonToggledSignalInfo           ,
+#endif
+    afterToggleButtonToggled                ,
+    genClosure_ToggleButtonToggled          ,
+    mk_ToggleButtonToggledCallback          ,
+    noToggleButtonToggledCallback           ,
+    onToggleButtonToggled                   ,
+    wrap_ToggleButtonToggledCallback        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ToggleButton = ToggleButton (ManagedPtr ToggleButton)
+foreign import ccall "gtk_toggle_button_get_type"
+    c_gtk_toggle_button_get_type :: IO GType
+
+instance GObject ToggleButton where
+    gobjectType = c_gtk_toggle_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToggleButton`, for instance with `toToggleButton`.
+class (GObject o, O.IsDescendantOf ToggleButton o) => IsToggleButton o
+instance (GObject o, O.IsDescendantOf ToggleButton o) => IsToggleButton o
+
+instance O.HasParentTypes ToggleButton
+type instance O.ParentTypes ToggleButton = '[Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `ToggleButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToggleButton :: (MonadIO m, IsToggleButton o) => o -> m ToggleButton
+toToggleButton = liftIO . unsafeCastTo ToggleButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToggleButton`.
+noToggleButton :: Maybe ToggleButton
+noToggleButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToggleButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToggleButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveToggleButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveToggleButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveToggleButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveToggleButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveToggleButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveToggleButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveToggleButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveToggleButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToggleButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToggleButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveToggleButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveToggleButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveToggleButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveToggleButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveToggleButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveToggleButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveToggleButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveToggleButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveToggleButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveToggleButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveToggleButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveToggleButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveToggleButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveToggleButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveToggleButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveToggleButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveToggleButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveToggleButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveToggleButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveToggleButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveToggleButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveToggleButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveToggleButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveToggleButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveToggleButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveToggleButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveToggleButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveToggleButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveToggleButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveToggleButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveToggleButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveToggleButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveToggleButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveToggleButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveToggleButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveToggleButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveToggleButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveToggleButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveToggleButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveToggleButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveToggleButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveToggleButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveToggleButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveToggleButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveToggleButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveToggleButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveToggleButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveToggleButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveToggleButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveToggleButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveToggleButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveToggleButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveToggleButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveToggleButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveToggleButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToggleButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveToggleButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveToggleButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToggleButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToggleButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveToggleButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveToggleButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveToggleButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveToggleButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveToggleButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveToggleButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveToggleButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveToggleButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveToggleButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveToggleButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveToggleButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveToggleButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveToggleButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveToggleButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveToggleButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveToggleButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveToggleButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveToggleButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveToggleButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveToggleButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToggleButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveToggleButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveToggleButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveToggleButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveToggleButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveToggleButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveToggleButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveToggleButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveToggleButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveToggleButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveToggleButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveToggleButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveToggleButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveToggleButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveToggleButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveToggleButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveToggleButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveToggleButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveToggleButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToggleButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToggleButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveToggleButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveToggleButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveToggleButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveToggleButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveToggleButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveToggleButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveToggleButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveToggleButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveToggleButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveToggleButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveToggleButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveToggleButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveToggleButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveToggleButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveToggleButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveToggleButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveToggleButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToggleButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToggleButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveToggleButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveToggleButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveToggleButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveToggleButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveToggleButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveToggleButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveToggleButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveToggleButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveToggleButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveToggleButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveToggleButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveToggleButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveToggleButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToggleButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveToggleButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveToggleButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveToggleButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveToggleButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveToggleButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveToggleButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveToggleButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveToggleButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveToggleButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToggleButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToggleButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveToggleButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveToggleButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveToggleButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveToggleButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToggleButtonMethod "toggled" o = ToggleButtonToggledMethodInfo
+    ResolveToggleButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveToggleButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveToggleButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveToggleButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveToggleButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveToggleButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToggleButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveToggleButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveToggleButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveToggleButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToggleButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveToggleButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveToggleButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveToggleButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveToggleButtonMethod "getActive" o = ToggleButtonGetActiveMethodInfo
+    ResolveToggleButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveToggleButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveToggleButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveToggleButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveToggleButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveToggleButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveToggleButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveToggleButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveToggleButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveToggleButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveToggleButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveToggleButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveToggleButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveToggleButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveToggleButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveToggleButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveToggleButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveToggleButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveToggleButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveToggleButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToggleButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveToggleButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveToggleButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveToggleButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveToggleButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveToggleButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveToggleButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveToggleButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveToggleButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveToggleButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveToggleButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveToggleButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveToggleButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveToggleButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveToggleButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveToggleButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveToggleButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveToggleButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveToggleButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveToggleButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveToggleButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveToggleButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveToggleButtonMethod "getInconsistent" o = ToggleButtonGetInconsistentMethodInfo
+    ResolveToggleButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveToggleButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveToggleButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveToggleButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveToggleButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveToggleButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveToggleButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveToggleButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveToggleButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveToggleButtonMethod "getMode" o = ToggleButtonGetModeMethodInfo
+    ResolveToggleButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveToggleButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveToggleButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveToggleButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveToggleButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveToggleButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveToggleButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveToggleButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveToggleButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveToggleButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveToggleButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveToggleButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveToggleButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveToggleButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveToggleButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveToggleButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveToggleButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveToggleButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToggleButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToggleButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveToggleButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveToggleButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveToggleButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveToggleButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveToggleButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveToggleButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveToggleButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveToggleButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveToggleButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveToggleButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveToggleButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveToggleButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveToggleButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveToggleButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveToggleButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveToggleButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveToggleButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveToggleButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveToggleButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveToggleButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveToggleButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveToggleButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveToggleButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveToggleButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveToggleButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveToggleButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveToggleButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveToggleButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveToggleButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveToggleButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveToggleButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveToggleButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveToggleButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveToggleButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveToggleButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveToggleButtonMethod "setActive" o = ToggleButtonSetActiveMethodInfo
+    ResolveToggleButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveToggleButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveToggleButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveToggleButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveToggleButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveToggleButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveToggleButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveToggleButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveToggleButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveToggleButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveToggleButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveToggleButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToggleButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveToggleButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveToggleButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveToggleButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveToggleButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveToggleButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveToggleButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveToggleButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveToggleButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveToggleButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveToggleButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveToggleButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveToggleButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveToggleButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveToggleButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveToggleButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveToggleButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveToggleButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveToggleButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveToggleButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveToggleButtonMethod "setInconsistent" o = ToggleButtonSetInconsistentMethodInfo
+    ResolveToggleButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveToggleButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveToggleButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveToggleButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveToggleButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveToggleButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveToggleButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveToggleButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveToggleButtonMethod "setMode" o = ToggleButtonSetModeMethodInfo
+    ResolveToggleButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveToggleButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveToggleButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveToggleButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveToggleButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveToggleButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToggleButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveToggleButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveToggleButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveToggleButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveToggleButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveToggleButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveToggleButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveToggleButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveToggleButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveToggleButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveToggleButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveToggleButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveToggleButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveToggleButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveToggleButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveToggleButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveToggleButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveToggleButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveToggleButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveToggleButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveToggleButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveToggleButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveToggleButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveToggleButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveToggleButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveToggleButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToggleButtonMethod t ToggleButton, O.MethodInfo info ToggleButton p) => OL.IsLabel t (ToggleButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ToggleButton::toggled
+{- |
+Should be connected if you wish to perform an action whenever the
+'GI.Gtk.Objects.ToggleButton.ToggleButton'\'s state is changed.
+-}
+type ToggleButtonToggledCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToggleButtonToggledCallback`@.
+noToggleButtonToggledCallback :: Maybe ToggleButtonToggledCallback
+noToggleButtonToggledCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToggleButtonToggledCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ToggleButtonToggledCallback`.
+foreign import ccall "wrapper"
+    mk_ToggleButtonToggledCallback :: C_ToggleButtonToggledCallback -> IO (FunPtr C_ToggleButtonToggledCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToggleButtonToggled :: MonadIO m => ToggleButtonToggledCallback -> m (GClosure C_ToggleButtonToggledCallback)
+genClosure_ToggleButtonToggled cb = liftIO $ do
+    let cb' = wrap_ToggleButtonToggledCallback cb
+    mk_ToggleButtonToggledCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToggleButtonToggledCallback` into a `C_ToggleButtonToggledCallback`.
+wrap_ToggleButtonToggledCallback ::
+    ToggleButtonToggledCallback ->
+    C_ToggleButtonToggledCallback
+wrap_ToggleButtonToggledCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toggleButton #toggled callback
+@
+-}
+onToggleButtonToggled :: (IsToggleButton a, MonadIO m) => a -> ToggleButtonToggledCallback -> m SignalHandlerId
+onToggleButtonToggled obj cb = liftIO $ do
+    let cb' = wrap_ToggleButtonToggledCallback cb
+    cb'' <- mk_ToggleButtonToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toggleButton #toggled callback
+@
+-}
+afterToggleButtonToggled :: (IsToggleButton a, MonadIO m) => a -> ToggleButtonToggledCallback -> m SignalHandlerId
+afterToggleButtonToggled obj cb = liftIO $ do
+    let cb' = wrap_ToggleButtonToggledCallback cb
+    cb'' <- mk_ToggleButtonToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectAfter
+
+
+-- VVV Prop "active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleButton #active
+@
+-}
+getToggleButtonActive :: (MonadIO m, IsToggleButton o) => o -> m Bool
+getToggleButtonActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleButton [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleButtonActive :: (MonadIO m, IsToggleButton o) => o -> Bool -> m ()
+setToggleButtonActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToggleButtonActive :: (IsToggleButton o) => Bool -> IO (GValueConstruct o)
+constructToggleButtonActive val = B.Properties.constructObjectPropertyBool "active" val
+
+#if ENABLE_OVERLOADING
+data ToggleButtonActivePropertyInfo
+instance AttrInfo ToggleButtonActivePropertyInfo where
+    type AttrAllowedOps ToggleButtonActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToggleButtonActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToggleButtonActivePropertyInfo = IsToggleButton
+    type AttrGetType ToggleButtonActivePropertyInfo = Bool
+    type AttrLabel ToggleButtonActivePropertyInfo = "active"
+    type AttrOrigin ToggleButtonActivePropertyInfo = ToggleButton
+    attrGet _ = getToggleButtonActive
+    attrSet _ = setToggleButtonActive
+    attrConstruct _ = constructToggleButtonActive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "draw-indicator"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@draw-indicator@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleButton #drawIndicator
+@
+-}
+getToggleButtonDrawIndicator :: (MonadIO m, IsToggleButton o) => o -> m Bool
+getToggleButtonDrawIndicator obj = liftIO $ B.Properties.getObjectPropertyBool obj "draw-indicator"
+
+{- |
+Set the value of the “@draw-indicator@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleButton [ #drawIndicator 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleButtonDrawIndicator :: (MonadIO m, IsToggleButton o) => o -> Bool -> m ()
+setToggleButtonDrawIndicator obj val = liftIO $ B.Properties.setObjectPropertyBool obj "draw-indicator" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@draw-indicator@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToggleButtonDrawIndicator :: (IsToggleButton o) => Bool -> IO (GValueConstruct o)
+constructToggleButtonDrawIndicator val = B.Properties.constructObjectPropertyBool "draw-indicator" val
+
+#if ENABLE_OVERLOADING
+data ToggleButtonDrawIndicatorPropertyInfo
+instance AttrInfo ToggleButtonDrawIndicatorPropertyInfo where
+    type AttrAllowedOps ToggleButtonDrawIndicatorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToggleButtonDrawIndicatorPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToggleButtonDrawIndicatorPropertyInfo = IsToggleButton
+    type AttrGetType ToggleButtonDrawIndicatorPropertyInfo = Bool
+    type AttrLabel ToggleButtonDrawIndicatorPropertyInfo = "draw-indicator"
+    type AttrOrigin ToggleButtonDrawIndicatorPropertyInfo = ToggleButton
+    attrGet _ = getToggleButtonDrawIndicator
+    attrSet _ = setToggleButtonDrawIndicator
+    attrConstruct _ = constructToggleButtonDrawIndicator
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "inconsistent"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@inconsistent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleButton #inconsistent
+@
+-}
+getToggleButtonInconsistent :: (MonadIO m, IsToggleButton o) => o -> m Bool
+getToggleButtonInconsistent obj = liftIO $ B.Properties.getObjectPropertyBool obj "inconsistent"
+
+{- |
+Set the value of the “@inconsistent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleButton [ #inconsistent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleButtonInconsistent :: (MonadIO m, IsToggleButton o) => o -> Bool -> m ()
+setToggleButtonInconsistent obj val = liftIO $ B.Properties.setObjectPropertyBool obj "inconsistent" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@inconsistent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToggleButtonInconsistent :: (IsToggleButton o) => Bool -> IO (GValueConstruct o)
+constructToggleButtonInconsistent val = B.Properties.constructObjectPropertyBool "inconsistent" val
+
+#if ENABLE_OVERLOADING
+data ToggleButtonInconsistentPropertyInfo
+instance AttrInfo ToggleButtonInconsistentPropertyInfo where
+    type AttrAllowedOps ToggleButtonInconsistentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToggleButtonInconsistentPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToggleButtonInconsistentPropertyInfo = IsToggleButton
+    type AttrGetType ToggleButtonInconsistentPropertyInfo = Bool
+    type AttrLabel ToggleButtonInconsistentPropertyInfo = "inconsistent"
+    type AttrOrigin ToggleButtonInconsistentPropertyInfo = ToggleButton
+    attrGet _ = getToggleButtonInconsistent
+    attrSet _ = setToggleButtonInconsistent
+    attrConstruct _ = constructToggleButtonInconsistent
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToggleButton
+type instance O.AttributeList ToggleButton = ToggleButtonAttributeList
+type ToggleButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", ToggleButtonActivePropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawIndicator", ToggleButtonDrawIndicatorPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("inconsistent", ToggleButtonInconsistentPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+toggleButtonActive :: AttrLabelProxy "active"
+toggleButtonActive = AttrLabelProxy
+
+toggleButtonDrawIndicator :: AttrLabelProxy "drawIndicator"
+toggleButtonDrawIndicator = AttrLabelProxy
+
+toggleButtonInconsistent :: AttrLabelProxy "inconsistent"
+toggleButtonInconsistent = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ToggleButtonToggledSignalInfo
+instance SignalInfo ToggleButtonToggledSignalInfo where
+    type HaskellCallbackType ToggleButtonToggledSignalInfo = ToggleButtonToggledCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToggleButtonToggledCallback cb
+        cb'' <- mk_ToggleButtonToggledCallback cb'
+        connectSignalFunPtr obj "toggled" cb'' connectMode
+
+type instance O.SignalList ToggleButton = ToggleButtonSignalList
+type ToggleButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggled", ToggleButtonToggledSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ToggleButton::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToggleButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_new" gtk_toggle_button_new :: 
+    IO (Ptr ToggleButton)
+
+{- |
+Creates a new toggle button. A widget should be packed into the button, as in 'GI.Gtk.Objects.Button.buttonNew'.
+-}
+toggleButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ToggleButton
+    {- ^ __Returns:__ a new toggle button. -}
+toggleButtonNew  = liftIO $ do
+    result <- gtk_toggle_button_new
+    checkUnexpectedReturnNULL "toggleButtonNew" result
+    result' <- (newObject ToggleButton) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToggleButton::new_with_label
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string containing the message to be placed in the toggle button.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToggleButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_new_with_label" gtk_toggle_button_new_with_label :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr ToggleButton)
+
+{- |
+Creates a new toggle button with a text label.
+-}
+toggleButtonNewWithLabel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: a string containing the message to be placed in the toggle button. -}
+    -> m ToggleButton
+    {- ^ __Returns:__ a new toggle button. -}
+toggleButtonNewWithLabel label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_toggle_button_new_with_label label'
+    checkUnexpectedReturnNULL "toggleButtonNewWithLabel" result
+    result' <- (newObject ToggleButton) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToggleButton::new_with_mnemonic
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text of the button, with an underscore in front of the\n        mnemonic character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToggleButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_new_with_mnemonic" gtk_toggle_button_new_with_mnemonic :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr ToggleButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ToggleButton.ToggleButton' containing a label. The label
+will be created using 'GI.Gtk.Objects.Label.labelNewWithMnemonic', so underscores
+in /@label@/ indicate the mnemonic for the button.
+-}
+toggleButtonNewWithMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: the text of the button, with an underscore in front of the
+        mnemonic character -}
+    -> m ToggleButton
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ToggleButton.ToggleButton' -}
+toggleButtonNewWithMnemonic label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_toggle_button_new_with_mnemonic label'
+    checkUnexpectedReturnNULL "toggleButtonNewWithMnemonic" result
+    result' <- (newObject ToggleButton) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToggleButton::get_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle_button", argType = TInterface (Name {namespace = "Gtk", name = "ToggleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToggleButton.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_get_active" gtk_toggle_button_get_active :: 
+    Ptr ToggleButton ->                     -- toggle_button : TInterface (Name {namespace = "Gtk", name = "ToggleButton"})
+    IO CInt
+
+{- |
+Queries a 'GI.Gtk.Objects.ToggleButton.ToggleButton' and returns its current state. Returns 'True' if
+the toggle button is pressed in and 'False' if it is raised.
+-}
+toggleButtonGetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleButton a) =>
+    a
+    {- ^ /@toggleButton@/: a 'GI.Gtk.Objects.ToggleButton.ToggleButton'. -}
+    -> m Bool
+    {- ^ __Returns:__ a 'Bool' value. -}
+toggleButtonGetActive toggleButton = liftIO $ do
+    toggleButton' <- unsafeManagedPtrCastPtr toggleButton
+    result <- gtk_toggle_button_get_active toggleButton'
+    let result' = (/= 0) result
+    touchManagedPtr toggleButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToggleButtonGetActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToggleButton a) => O.MethodInfo ToggleButtonGetActiveMethodInfo a signature where
+    overloadedMethod _ = toggleButtonGetActive
+
+#endif
+
+-- method ToggleButton::get_inconsistent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle_button", argType = TInterface (Name {namespace = "Gtk", name = "ToggleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToggleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_get_inconsistent" gtk_toggle_button_get_inconsistent :: 
+    Ptr ToggleButton ->                     -- toggle_button : TInterface (Name {namespace = "Gtk", name = "ToggleButton"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.ToggleButton.toggleButtonSetInconsistent'.
+-}
+toggleButtonGetInconsistent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleButton a) =>
+    a
+    {- ^ /@toggleButton@/: a 'GI.Gtk.Objects.ToggleButton.ToggleButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the button is displayed as inconsistent, 'False' otherwise -}
+toggleButtonGetInconsistent toggleButton = liftIO $ do
+    toggleButton' <- unsafeManagedPtrCastPtr toggleButton
+    result <- gtk_toggle_button_get_inconsistent toggleButton'
+    let result' = (/= 0) result
+    touchManagedPtr toggleButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToggleButtonGetInconsistentMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToggleButton a) => O.MethodInfo ToggleButtonGetInconsistentMethodInfo a signature where
+    overloadedMethod _ = toggleButtonGetInconsistent
+
+#endif
+
+-- method ToggleButton::get_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle_button", argType = TInterface (Name {namespace = "Gtk", name = "ToggleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToggleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_get_mode" gtk_toggle_button_get_mode :: 
+    Ptr ToggleButton ->                     -- toggle_button : TInterface (Name {namespace = "Gtk", name = "ToggleButton"})
+    IO CInt
+
+{- |
+Retrieves whether the button is displayed as a separate indicator
+and label. See 'GI.Gtk.Objects.ToggleButton.toggleButtonSetMode'.
+-}
+toggleButtonGetMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleButton a) =>
+    a
+    {- ^ /@toggleButton@/: a 'GI.Gtk.Objects.ToggleButton.ToggleButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the togglebutton is drawn as a separate indicator
+  and label. -}
+toggleButtonGetMode toggleButton = liftIO $ do
+    toggleButton' <- unsafeManagedPtrCastPtr toggleButton
+    result <- gtk_toggle_button_get_mode toggleButton'
+    let result' = (/= 0) result
+    touchManagedPtr toggleButton
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToggleButtonGetModeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToggleButton a) => O.MethodInfo ToggleButtonGetModeMethodInfo a signature where
+    overloadedMethod _ = toggleButtonGetMode
+
+#endif
+
+-- method ToggleButton::set_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle_button", argType = TInterface (Name {namespace = "Gtk", name = "ToggleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToggleButton.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE or %FALSE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_set_active" gtk_toggle_button_set_active :: 
+    Ptr ToggleButton ->                     -- toggle_button : TInterface (Name {namespace = "Gtk", name = "ToggleButton"})
+    CInt ->                                 -- is_active : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the status of the toggle button. Set to 'True' if you want the
+GtkToggleButton to be “pressed in”, and 'False' to raise it.
+This action causes the 'GI.Gtk.Objects.ToggleButton.ToggleButton'::@/toggled/@ signal and the
+'GI.Gtk.Objects.Button.Button'::@/clicked/@ signal to be emitted.
+-}
+toggleButtonSetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleButton a) =>
+    a
+    {- ^ /@toggleButton@/: a 'GI.Gtk.Objects.ToggleButton.ToggleButton'. -}
+    -> Bool
+    {- ^ /@isActive@/: 'True' or 'False'. -}
+    -> m ()
+toggleButtonSetActive toggleButton isActive = liftIO $ do
+    toggleButton' <- unsafeManagedPtrCastPtr toggleButton
+    let isActive' = (fromIntegral . fromEnum) isActive
+    gtk_toggle_button_set_active toggleButton' isActive'
+    touchManagedPtr toggleButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToggleButtonSetActiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToggleButton a) => O.MethodInfo ToggleButtonSetActiveMethodInfo a signature where
+    overloadedMethod _ = toggleButtonSetActive
+
+#endif
+
+-- method ToggleButton::set_inconsistent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle_button", argType = TInterface (Name {namespace = "Gtk", name = "ToggleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToggleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if state is inconsistent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_set_inconsistent" gtk_toggle_button_set_inconsistent :: 
+    Ptr ToggleButton ->                     -- toggle_button : TInterface (Name {namespace = "Gtk", name = "ToggleButton"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+If the user has selected a range of elements (such as some text or
+spreadsheet cells) that are affected by a toggle button, and the
+current values in that range are inconsistent, you may want to
+display the toggle in an “in between” state. This function turns on
+“in between” display.  Normally you would turn off the inconsistent
+state again if the user toggles the toggle button. This has to be
+done manually, 'GI.Gtk.Objects.ToggleButton.toggleButtonSetInconsistent' only affects
+visual appearance, it doesn’t affect the semantics of the button.
+-}
+toggleButtonSetInconsistent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleButton a) =>
+    a
+    {- ^ /@toggleButton@/: a 'GI.Gtk.Objects.ToggleButton.ToggleButton' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' if state is inconsistent -}
+    -> m ()
+toggleButtonSetInconsistent toggleButton setting = liftIO $ do
+    toggleButton' <- unsafeManagedPtrCastPtr toggleButton
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_toggle_button_set_inconsistent toggleButton' setting'
+    touchManagedPtr toggleButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToggleButtonSetInconsistentMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToggleButton a) => O.MethodInfo ToggleButtonSetInconsistentMethodInfo a signature where
+    overloadedMethod _ = toggleButtonSetInconsistent
+
+#endif
+
+-- method ToggleButton::set_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle_button", argType = TInterface (Name {namespace = "Gtk", name = "ToggleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToggleButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "draw_indicator", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, draw the button as a separate indicator\nand label; if %FALSE, draw the button like a normal button", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_set_mode" gtk_toggle_button_set_mode :: 
+    Ptr ToggleButton ->                     -- toggle_button : TInterface (Name {namespace = "Gtk", name = "ToggleButton"})
+    CInt ->                                 -- draw_indicator : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the button is displayed as a separate indicator and label.
+You can call this function on a checkbutton or a radiobutton with
+/@drawIndicator@/ = 'False' to make the button look like a normal button.
+
+This can be used to create linked strip of buttons that work like
+a 'GI.Gtk.Objects.StackSwitcher.StackSwitcher'.
+
+This function only affects instances of classes like 'GI.Gtk.Objects.CheckButton.CheckButton'
+and 'GI.Gtk.Objects.RadioButton.RadioButton' that derive from 'GI.Gtk.Objects.ToggleButton.ToggleButton',
+not instances of 'GI.Gtk.Objects.ToggleButton.ToggleButton' itself.
+-}
+toggleButtonSetMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleButton a) =>
+    a
+    {- ^ /@toggleButton@/: a 'GI.Gtk.Objects.ToggleButton.ToggleButton' -}
+    -> Bool
+    {- ^ /@drawIndicator@/: if 'True', draw the button as a separate indicator
+and label; if 'False', draw the button like a normal button -}
+    -> m ()
+toggleButtonSetMode toggleButton drawIndicator = liftIO $ do
+    toggleButton' <- unsafeManagedPtrCastPtr toggleButton
+    let drawIndicator' = (fromIntegral . fromEnum) drawIndicator
+    gtk_toggle_button_set_mode toggleButton' drawIndicator'
+    touchManagedPtr toggleButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToggleButtonSetModeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToggleButton a) => O.MethodInfo ToggleButtonSetModeMethodInfo a signature where
+    overloadedMethod _ = toggleButtonSetMode
+
+#endif
+
+-- method ToggleButton::toggled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toggle_button", argType = TInterface (Name {namespace = "Gtk", name = "ToggleButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToggleButton.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_button_toggled" gtk_toggle_button_toggled :: 
+    Ptr ToggleButton ->                     -- toggle_button : TInterface (Name {namespace = "Gtk", name = "ToggleButton"})
+    IO ()
+
+{- |
+Emits the 'GI.Gtk.Objects.ToggleButton.ToggleButton'::@/toggled/@ signal on the
+'GI.Gtk.Objects.ToggleButton.ToggleButton'. There is no good reason for an
+application ever to call this function.
+-}
+toggleButtonToggled ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleButton a) =>
+    a
+    {- ^ /@toggleButton@/: a 'GI.Gtk.Objects.ToggleButton.ToggleButton'. -}
+    -> m ()
+toggleButtonToggled toggleButton = liftIO $ do
+    toggleButton' <- unsafeManagedPtrCastPtr toggleButton
+    gtk_toggle_button_toggled toggleButton'
+    touchManagedPtr toggleButton
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToggleButtonToggledMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsToggleButton a) => O.MethodInfo ToggleButtonToggledMethodInfo a signature where
+    overloadedMethod _ = toggleButtonToggled
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ToggleButton.hs-boot b/GI/Gtk/Objects/ToggleButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToggleButton.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ToggleButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToggleButton = ToggleButton (ManagedPtr ToggleButton)
+instance GObject ToggleButton where
+class (GObject o, O.IsDescendantOf ToggleButton o) => IsToggleButton o
+instance (GObject o, O.IsDescendantOf ToggleButton o) => IsToggleButton o
+instance O.HasParentTypes ToggleButton
+#if ENABLE_OVERLOADING
+data ToggleButtonActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonDrawIndicatorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonInconsistentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonToggledSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonGetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonGetInconsistentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonGetModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonSetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonSetInconsistentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonSetModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleButtonToggledMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ToggleButtonAccessible.hs b/GI/Gtk/Objects/ToggleButtonAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToggleButtonAccessible.hs
@@ -0,0 +1,177 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ToggleButtonAccessible
+    ( 
+
+-- * Exported types
+    ToggleButtonAccessible(..)              ,
+    IsToggleButtonAccessible                ,
+    toToggleButtonAccessible                ,
+    noToggleButtonAccessible                ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Action as Atk.Action
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Image as Atk.Image
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ButtonAccessible as Gtk.ButtonAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype ToggleButtonAccessible = ToggleButtonAccessible (ManagedPtr ToggleButtonAccessible)
+foreign import ccall "gtk_toggle_button_accessible_get_type"
+    c_gtk_toggle_button_accessible_get_type :: IO GType
+
+instance GObject ToggleButtonAccessible where
+    gobjectType = c_gtk_toggle_button_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToggleButtonAccessible`, for instance with `toToggleButtonAccessible`.
+class (GObject o, O.IsDescendantOf ToggleButtonAccessible o) => IsToggleButtonAccessible o
+instance (GObject o, O.IsDescendantOf ToggleButtonAccessible o) => IsToggleButtonAccessible o
+
+instance O.HasParentTypes ToggleButtonAccessible
+type instance O.ParentTypes ToggleButtonAccessible = '[Gtk.ButtonAccessible.ButtonAccessible, Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Action.Action, Atk.Component.Component, Atk.Image.Image]
+
+-- | Cast to `ToggleButtonAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToggleButtonAccessible :: (MonadIO m, IsToggleButtonAccessible o) => o -> m ToggleButtonAccessible
+toToggleButtonAccessible = liftIO . unsafeCastTo ToggleButtonAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToggleButtonAccessible`.
+noToggleButtonAccessible :: Maybe ToggleButtonAccessible
+noToggleButtonAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToggleButtonAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToggleButtonAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveToggleButtonAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToggleButtonAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToggleButtonAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveToggleButtonAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveToggleButtonAccessibleMethod "doAction" o = Atk.Action.ActionDoActionMethodInfo
+    ResolveToggleButtonAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToggleButtonAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToggleButtonAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToggleButtonAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveToggleButtonAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveToggleButtonAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToggleButtonAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToggleButtonAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToggleButtonAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveToggleButtonAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveToggleButtonAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToggleButtonAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveToggleButtonAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveToggleButtonAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveToggleButtonAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToggleButtonAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveToggleButtonAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveToggleButtonAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveToggleButtonAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveToggleButtonAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToggleButtonAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveToggleButtonAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveToggleButtonAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToggleButtonAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToggleButtonAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToggleButtonAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToggleButtonAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToggleButtonAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveToggleButtonAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveToggleButtonAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToggleButtonAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveToggleButtonAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveToggleButtonAccessibleMethod "getImageDescription" o = Atk.Image.ImageGetImageDescriptionMethodInfo
+    ResolveToggleButtonAccessibleMethod "getImageLocale" o = Atk.Image.ImageGetImageLocaleMethodInfo
+    ResolveToggleButtonAccessibleMethod "getImagePosition" o = Atk.Image.ImageGetImagePositionMethodInfo
+    ResolveToggleButtonAccessibleMethod "getImageSize" o = Atk.Image.ImageGetImageSizeMethodInfo
+    ResolveToggleButtonAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveToggleButtonAccessibleMethod "getKeybinding" o = Atk.Action.ActionGetKeybindingMethodInfo
+    ResolveToggleButtonAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveToggleButtonAccessibleMethod "getLocalizedName" o = Atk.Action.ActionGetLocalizedNameMethodInfo
+    ResolveToggleButtonAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveToggleButtonAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveToggleButtonAccessibleMethod "getNActions" o = Atk.Action.ActionGetNActionsMethodInfo
+    ResolveToggleButtonAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveToggleButtonAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveToggleButtonAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveToggleButtonAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveToggleButtonAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToggleButtonAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToggleButtonAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveToggleButtonAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveToggleButtonAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveToggleButtonAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToggleButtonAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveToggleButtonAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveToggleButtonAccessibleMethod "setImageDescription" o = Atk.Image.ImageSetImageDescriptionMethodInfo
+    ResolveToggleButtonAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveToggleButtonAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveToggleButtonAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveToggleButtonAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToggleButtonAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveToggleButtonAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveToggleButtonAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveToggleButtonAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToggleButtonAccessibleMethod t ToggleButtonAccessible, O.MethodInfo info ToggleButtonAccessible p) => OL.IsLabel t (ToggleButtonAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToggleButtonAccessible
+type instance O.AttributeList ToggleButtonAccessible = ToggleButtonAccessibleAttributeList
+type ToggleButtonAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ToggleButtonAccessible = ToggleButtonAccessibleSignalList
+type ToggleButtonAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ToggleButtonAccessible.hs-boot b/GI/Gtk/Objects/ToggleButtonAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToggleButtonAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ToggleButtonAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToggleButtonAccessible = ToggleButtonAccessible (ManagedPtr ToggleButtonAccessible)
+instance GObject ToggleButtonAccessible where
+class (GObject o, O.IsDescendantOf ToggleButtonAccessible o) => IsToggleButtonAccessible o
+instance (GObject o, O.IsDescendantOf ToggleButtonAccessible o) => IsToggleButtonAccessible o
+instance O.HasParentTypes ToggleButtonAccessible
diff --git a/GI/Gtk/Objects/ToggleToolButton.hs b/GI/Gtk/Objects/ToggleToolButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToggleToolButton.hs
@@ -0,0 +1,821 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.ToggleToolButton.ToggleToolButton' is a 'GI.Gtk.Objects.ToolItem.ToolItem' that contains a toggle
+button.
+
+Use 'GI.Gtk.Objects.ToggleToolButton.toggleToolButtonNew' to create a new GtkToggleToolButton.
+
+= CSS nodes
+
+GtkToggleToolButton has a single CSS node with name togglebutton.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ToggleToolButton
+    ( 
+
+-- * Exported types
+    ToggleToolButton(..)                    ,
+    IsToggleToolButton                      ,
+    toToggleToolButton                      ,
+    noToggleToolButton                      ,
+
+
+ -- * Methods
+-- ** getActive #method:getActive#
+
+#if ENABLE_OVERLOADING
+    ToggleToolButtonGetActiveMethodInfo     ,
+#endif
+    toggleToolButtonGetActive               ,
+
+
+-- ** new #method:new#
+
+    toggleToolButtonNew                     ,
+
+
+-- ** newFromStock #method:newFromStock#
+
+    toggleToolButtonNewFromStock            ,
+
+
+-- ** setActive #method:setActive#
+
+#if ENABLE_OVERLOADING
+    ToggleToolButtonSetActiveMethodInfo     ,
+#endif
+    toggleToolButtonSetActive               ,
+
+
+
+
+ -- * Properties
+-- ** active #attr:active#
+{- | If the toggle tool button should be pressed in.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    ToggleToolButtonActivePropertyInfo      ,
+#endif
+    constructToggleToolButtonActive         ,
+    getToggleToolButtonActive               ,
+    setToggleToolButtonActive               ,
+#if ENABLE_OVERLOADING
+    toggleToolButtonActive                  ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** toggled #signal:toggled#
+
+    C_ToggleToolButtonToggledCallback       ,
+    ToggleToolButtonToggledCallback         ,
+#if ENABLE_OVERLOADING
+    ToggleToolButtonToggledSignalInfo       ,
+#endif
+    afterToggleToolButtonToggled            ,
+    genClosure_ToggleToolButtonToggled      ,
+    mk_ToggleToolButtonToggledCallback      ,
+    noToggleToolButtonToggledCallback       ,
+    onToggleToolButtonToggled               ,
+    wrap_ToggleToolButtonToggledCallback    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolButton as Gtk.ToolButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolItem as Gtk.ToolItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ToggleToolButton = ToggleToolButton (ManagedPtr ToggleToolButton)
+foreign import ccall "gtk_toggle_tool_button_get_type"
+    c_gtk_toggle_tool_button_get_type :: IO GType
+
+instance GObject ToggleToolButton where
+    gobjectType = c_gtk_toggle_tool_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToggleToolButton`, for instance with `toToggleToolButton`.
+class (GObject o, O.IsDescendantOf ToggleToolButton o) => IsToggleToolButton o
+instance (GObject o, O.IsDescendantOf ToggleToolButton o) => IsToggleToolButton o
+
+instance O.HasParentTypes ToggleToolButton
+type instance O.ParentTypes ToggleToolButton = '[Gtk.ToolButton.ToolButton, Gtk.ToolItem.ToolItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `ToggleToolButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToggleToolButton :: (MonadIO m, IsToggleToolButton o) => o -> m ToggleToolButton
+toToggleToolButton = liftIO . unsafeCastTo ToggleToolButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToggleToolButton`.
+noToggleToolButton :: Maybe ToggleToolButton
+noToggleToolButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToggleToolButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToggleToolButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveToggleToolButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveToggleToolButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveToggleToolButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveToggleToolButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveToggleToolButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveToggleToolButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveToggleToolButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveToggleToolButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToggleToolButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToggleToolButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveToggleToolButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveToggleToolButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveToggleToolButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveToggleToolButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveToggleToolButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveToggleToolButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveToggleToolButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveToggleToolButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveToggleToolButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveToggleToolButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveToggleToolButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveToggleToolButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveToggleToolButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveToggleToolButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveToggleToolButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveToggleToolButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveToggleToolButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveToggleToolButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveToggleToolButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveToggleToolButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveToggleToolButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveToggleToolButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveToggleToolButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveToggleToolButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveToggleToolButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveToggleToolButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveToggleToolButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveToggleToolButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveToggleToolButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveToggleToolButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveToggleToolButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveToggleToolButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveToggleToolButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveToggleToolButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveToggleToolButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveToggleToolButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveToggleToolButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveToggleToolButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveToggleToolButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveToggleToolButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveToggleToolButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveToggleToolButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveToggleToolButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToggleToolButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveToggleToolButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveToggleToolButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToggleToolButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToggleToolButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveToggleToolButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveToggleToolButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveToggleToolButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveToggleToolButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveToggleToolButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveToggleToolButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveToggleToolButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveToggleToolButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveToggleToolButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveToggleToolButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveToggleToolButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveToggleToolButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveToggleToolButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveToggleToolButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveToggleToolButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveToggleToolButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveToggleToolButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveToggleToolButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveToggleToolButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveToggleToolButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToggleToolButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveToggleToolButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveToggleToolButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveToggleToolButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveToggleToolButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveToggleToolButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveToggleToolButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveToggleToolButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveToggleToolButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveToggleToolButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveToggleToolButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveToggleToolButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveToggleToolButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveToggleToolButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveToggleToolButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveToggleToolButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveToggleToolButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveToggleToolButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToggleToolButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToggleToolButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveToggleToolButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveToggleToolButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveToggleToolButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveToggleToolButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveToggleToolButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveToggleToolButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveToggleToolButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveToggleToolButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveToggleToolButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveToggleToolButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveToggleToolButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveToggleToolButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveToggleToolButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveToggleToolButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveToggleToolButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveToggleToolButtonMethod "rebuildMenu" o = Gtk.ToolItem.ToolItemRebuildMenuMethodInfo
+    ResolveToggleToolButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToggleToolButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToggleToolButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveToggleToolButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveToggleToolButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveToggleToolButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveToggleToolButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveToggleToolButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveToggleToolButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveToggleToolButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveToggleToolButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveToggleToolButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveToggleToolButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveToggleToolButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveToggleToolButtonMethod "retrieveProxyMenuItem" o = Gtk.ToolItem.ToolItemRetrieveProxyMenuItemMethodInfo
+    ResolveToggleToolButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToggleToolButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveToggleToolButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveToggleToolButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveToggleToolButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveToggleToolButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveToggleToolButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveToggleToolButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveToggleToolButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveToggleToolButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveToggleToolButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToggleToolButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToggleToolButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveToggleToolButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveToggleToolButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveToggleToolButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveToggleToolButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToggleToolButtonMethod "toolbarReconfigured" o = Gtk.ToolItem.ToolItemToolbarReconfiguredMethodInfo
+    ResolveToggleToolButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveToggleToolButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveToggleToolButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveToggleToolButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveToggleToolButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveToggleToolButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToggleToolButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveToggleToolButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveToggleToolButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveToggleToolButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToggleToolButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveToggleToolButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveToggleToolButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveToggleToolButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveToggleToolButtonMethod "getActive" o = ToggleToolButtonGetActiveMethodInfo
+    ResolveToggleToolButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveToggleToolButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveToggleToolButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveToggleToolButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveToggleToolButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveToggleToolButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveToggleToolButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveToggleToolButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveToggleToolButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveToggleToolButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveToggleToolButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveToggleToolButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveToggleToolButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveToggleToolButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveToggleToolButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveToggleToolButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveToggleToolButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveToggleToolButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToggleToolButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveToggleToolButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveToggleToolButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveToggleToolButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveToggleToolButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveToggleToolButtonMethod "getEllipsizeMode" o = Gtk.ToolItem.ToolItemGetEllipsizeModeMethodInfo
+    ResolveToggleToolButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveToggleToolButtonMethod "getExpand" o = Gtk.ToolItem.ToolItemGetExpandMethodInfo
+    ResolveToggleToolButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveToggleToolButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveToggleToolButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveToggleToolButtonMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveToggleToolButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveToggleToolButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveToggleToolButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveToggleToolButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveToggleToolButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveToggleToolButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveToggleToolButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveToggleToolButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveToggleToolButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveToggleToolButtonMethod "getHomogeneous" o = Gtk.ToolItem.ToolItemGetHomogeneousMethodInfo
+    ResolveToggleToolButtonMethod "getIconName" o = Gtk.ToolButton.ToolButtonGetIconNameMethodInfo
+    ResolveToggleToolButtonMethod "getIconSize" o = Gtk.ToolItem.ToolItemGetIconSizeMethodInfo
+    ResolveToggleToolButtonMethod "getIconWidget" o = Gtk.ToolButton.ToolButtonGetIconWidgetMethodInfo
+    ResolveToggleToolButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveToggleToolButtonMethod "getIsImportant" o = Gtk.ToolItem.ToolItemGetIsImportantMethodInfo
+    ResolveToggleToolButtonMethod "getLabel" o = Gtk.ToolButton.ToolButtonGetLabelMethodInfo
+    ResolveToggleToolButtonMethod "getLabelWidget" o = Gtk.ToolButton.ToolButtonGetLabelWidgetMethodInfo
+    ResolveToggleToolButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveToggleToolButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveToggleToolButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveToggleToolButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveToggleToolButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveToggleToolButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveToggleToolButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveToggleToolButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveToggleToolButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveToggleToolButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveToggleToolButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveToggleToolButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveToggleToolButtonMethod "getOrientation" o = Gtk.ToolItem.ToolItemGetOrientationMethodInfo
+    ResolveToggleToolButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveToggleToolButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveToggleToolButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveToggleToolButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveToggleToolButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveToggleToolButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveToggleToolButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveToggleToolButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveToggleToolButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveToggleToolButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveToggleToolButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveToggleToolButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveToggleToolButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToggleToolButtonMethod "getProxyMenuItem" o = Gtk.ToolItem.ToolItemGetProxyMenuItemMethodInfo
+    ResolveToggleToolButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToggleToolButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveToggleToolButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveToggleToolButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveToggleToolButtonMethod "getReliefStyle" o = Gtk.ToolItem.ToolItemGetReliefStyleMethodInfo
+    ResolveToggleToolButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveToggleToolButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveToggleToolButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveToggleToolButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveToggleToolButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveToggleToolButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveToggleToolButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveToggleToolButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveToggleToolButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveToggleToolButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveToggleToolButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveToggleToolButtonMethod "getStockId" o = Gtk.ToolButton.ToolButtonGetStockIdMethodInfo
+    ResolveToggleToolButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveToggleToolButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveToggleToolButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveToggleToolButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveToggleToolButtonMethod "getTextAlignment" o = Gtk.ToolItem.ToolItemGetTextAlignmentMethodInfo
+    ResolveToggleToolButtonMethod "getTextOrientation" o = Gtk.ToolItem.ToolItemGetTextOrientationMethodInfo
+    ResolveToggleToolButtonMethod "getTextSizeGroup" o = Gtk.ToolItem.ToolItemGetTextSizeGroupMethodInfo
+    ResolveToggleToolButtonMethod "getToolbarStyle" o = Gtk.ToolItem.ToolItemGetToolbarStyleMethodInfo
+    ResolveToggleToolButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveToggleToolButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveToggleToolButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveToggleToolButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveToggleToolButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveToggleToolButtonMethod "getUseDragWindow" o = Gtk.ToolItem.ToolItemGetUseDragWindowMethodInfo
+    ResolveToggleToolButtonMethod "getUseUnderline" o = Gtk.ToolButton.ToolButtonGetUseUnderlineMethodInfo
+    ResolveToggleToolButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveToggleToolButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveToggleToolButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveToggleToolButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveToggleToolButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveToggleToolButtonMethod "getVisibleHorizontal" o = Gtk.ToolItem.ToolItemGetVisibleHorizontalMethodInfo
+    ResolveToggleToolButtonMethod "getVisibleVertical" o = Gtk.ToolItem.ToolItemGetVisibleVerticalMethodInfo
+    ResolveToggleToolButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveToggleToolButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveToggleToolButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveToggleToolButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveToggleToolButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveToggleToolButtonMethod "setActive" o = ToggleToolButtonSetActiveMethodInfo
+    ResolveToggleToolButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveToggleToolButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveToggleToolButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveToggleToolButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveToggleToolButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveToggleToolButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveToggleToolButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveToggleToolButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveToggleToolButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveToggleToolButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToggleToolButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveToggleToolButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveToggleToolButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveToggleToolButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveToggleToolButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveToggleToolButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveToggleToolButtonMethod "setExpand" o = Gtk.ToolItem.ToolItemSetExpandMethodInfo
+    ResolveToggleToolButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveToggleToolButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveToggleToolButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveToggleToolButtonMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveToggleToolButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveToggleToolButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveToggleToolButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveToggleToolButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveToggleToolButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveToggleToolButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveToggleToolButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveToggleToolButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveToggleToolButtonMethod "setHomogeneous" o = Gtk.ToolItem.ToolItemSetHomogeneousMethodInfo
+    ResolveToggleToolButtonMethod "setIconName" o = Gtk.ToolButton.ToolButtonSetIconNameMethodInfo
+    ResolveToggleToolButtonMethod "setIconWidget" o = Gtk.ToolButton.ToolButtonSetIconWidgetMethodInfo
+    ResolveToggleToolButtonMethod "setIsImportant" o = Gtk.ToolItem.ToolItemSetIsImportantMethodInfo
+    ResolveToggleToolButtonMethod "setLabel" o = Gtk.ToolButton.ToolButtonSetLabelMethodInfo
+    ResolveToggleToolButtonMethod "setLabelWidget" o = Gtk.ToolButton.ToolButtonSetLabelWidgetMethodInfo
+    ResolveToggleToolButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveToggleToolButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveToggleToolButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveToggleToolButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveToggleToolButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveToggleToolButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveToggleToolButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveToggleToolButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveToggleToolButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveToggleToolButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveToggleToolButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveToggleToolButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveToggleToolButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToggleToolButtonMethod "setProxyMenuItem" o = Gtk.ToolItem.ToolItemSetProxyMenuItemMethodInfo
+    ResolveToggleToolButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveToggleToolButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveToggleToolButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveToggleToolButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveToggleToolButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveToggleToolButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveToggleToolButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveToggleToolButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveToggleToolButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveToggleToolButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveToggleToolButtonMethod "setStockId" o = Gtk.ToolButton.ToolButtonSetStockIdMethodInfo
+    ResolveToggleToolButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveToggleToolButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveToggleToolButtonMethod "setTooltipMarkup" o = Gtk.ToolItem.ToolItemSetTooltipMarkupMethodInfo
+    ResolveToggleToolButtonMethod "setTooltipText" o = Gtk.ToolItem.ToolItemSetTooltipTextMethodInfo
+    ResolveToggleToolButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveToggleToolButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveToggleToolButtonMethod "setUseDragWindow" o = Gtk.ToolItem.ToolItemSetUseDragWindowMethodInfo
+    ResolveToggleToolButtonMethod "setUseUnderline" o = Gtk.ToolButton.ToolButtonSetUseUnderlineMethodInfo
+    ResolveToggleToolButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveToggleToolButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveToggleToolButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveToggleToolButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveToggleToolButtonMethod "setVisibleHorizontal" o = Gtk.ToolItem.ToolItemSetVisibleHorizontalMethodInfo
+    ResolveToggleToolButtonMethod "setVisibleVertical" o = Gtk.ToolItem.ToolItemSetVisibleVerticalMethodInfo
+    ResolveToggleToolButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveToggleToolButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveToggleToolButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToggleToolButtonMethod t ToggleToolButton, O.MethodInfo info ToggleToolButton p) => OL.IsLabel t (ToggleToolButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ToggleToolButton::toggled
+{- |
+Emitted whenever the toggle tool button changes state.
+-}
+type ToggleToolButtonToggledCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToggleToolButtonToggledCallback`@.
+noToggleToolButtonToggledCallback :: Maybe ToggleToolButtonToggledCallback
+noToggleToolButtonToggledCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToggleToolButtonToggledCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ToggleToolButtonToggledCallback`.
+foreign import ccall "wrapper"
+    mk_ToggleToolButtonToggledCallback :: C_ToggleToolButtonToggledCallback -> IO (FunPtr C_ToggleToolButtonToggledCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToggleToolButtonToggled :: MonadIO m => ToggleToolButtonToggledCallback -> m (GClosure C_ToggleToolButtonToggledCallback)
+genClosure_ToggleToolButtonToggled cb = liftIO $ do
+    let cb' = wrap_ToggleToolButtonToggledCallback cb
+    mk_ToggleToolButtonToggledCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToggleToolButtonToggledCallback` into a `C_ToggleToolButtonToggledCallback`.
+wrap_ToggleToolButtonToggledCallback ::
+    ToggleToolButtonToggledCallback ->
+    C_ToggleToolButtonToggledCallback
+wrap_ToggleToolButtonToggledCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toggleToolButton #toggled callback
+@
+-}
+onToggleToolButtonToggled :: (IsToggleToolButton a, MonadIO m) => a -> ToggleToolButtonToggledCallback -> m SignalHandlerId
+onToggleToolButtonToggled obj cb = liftIO $ do
+    let cb' = wrap_ToggleToolButtonToggledCallback cb
+    cb'' <- mk_ToggleToolButtonToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggled@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toggleToolButton #toggled callback
+@
+-}
+afterToggleToolButtonToggled :: (IsToggleToolButton a, MonadIO m) => a -> ToggleToolButtonToggledCallback -> m SignalHandlerId
+afterToggleToolButtonToggled obj cb = liftIO $ do
+    let cb' = wrap_ToggleToolButtonToggledCallback cb
+    cb'' <- mk_ToggleToolButtonToggledCallback cb'
+    connectSignalFunPtr obj "toggled" cb'' SignalConnectAfter
+
+
+-- VVV Prop "active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleToolButton #active
+@
+-}
+getToggleToolButtonActive :: (MonadIO m, IsToggleToolButton o) => o -> m Bool
+getToggleToolButtonActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "active"
+
+{- |
+Set the value of the “@active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleToolButton [ #active 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleToolButtonActive :: (MonadIO m, IsToggleToolButton o) => o -> Bool -> m ()
+setToggleToolButtonActive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "active" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@active@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToggleToolButtonActive :: (IsToggleToolButton o) => Bool -> IO (GValueConstruct o)
+constructToggleToolButtonActive val = B.Properties.constructObjectPropertyBool "active" val
+
+#if ENABLE_OVERLOADING
+data ToggleToolButtonActivePropertyInfo
+instance AttrInfo ToggleToolButtonActivePropertyInfo where
+    type AttrAllowedOps ToggleToolButtonActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToggleToolButtonActivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToggleToolButtonActivePropertyInfo = IsToggleToolButton
+    type AttrGetType ToggleToolButtonActivePropertyInfo = Bool
+    type AttrLabel ToggleToolButtonActivePropertyInfo = "active"
+    type AttrOrigin ToggleToolButtonActivePropertyInfo = ToggleToolButton
+    attrGet _ = getToggleToolButtonActive
+    attrSet _ = setToggleToolButtonActive
+    attrConstruct _ = constructToggleToolButtonActive
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToggleToolButton
+type instance O.AttributeList ToggleToolButton = ToggleToolButtonAttributeList
+type ToggleToolButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("active", ToggleToolButtonActivePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("iconName", Gtk.ToolButton.ToolButtonIconNamePropertyInfo), '("iconWidget", Gtk.ToolButton.ToolButtonIconWidgetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isImportant", Gtk.ToolItem.ToolItemIsImportantPropertyInfo), '("label", Gtk.ToolButton.ToolButtonLabelPropertyInfo), '("labelWidget", Gtk.ToolButton.ToolButtonLabelWidgetPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stockId", Gtk.ToolButton.ToolButtonStockIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useUnderline", Gtk.ToolButton.ToolButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visibleHorizontal", Gtk.ToolItem.ToolItemVisibleHorizontalPropertyInfo), '("visibleVertical", Gtk.ToolItem.ToolItemVisibleVerticalPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+toggleToolButtonActive :: AttrLabelProxy "active"
+toggleToolButtonActive = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ToggleToolButtonToggledSignalInfo
+instance SignalInfo ToggleToolButtonToggledSignalInfo where
+    type HaskellCallbackType ToggleToolButtonToggledSignalInfo = ToggleToolButtonToggledCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToggleToolButtonToggledCallback cb
+        cb'' <- mk_ToggleToolButtonToggledCallback cb'
+        connectSignalFunPtr obj "toggled" cb'' connectMode
+
+type instance O.SignalList ToggleToolButton = ToggleToolButtonSignalList
+type ToggleToolButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.ToolButton.ToolButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("createMenuProxy", Gtk.ToolItem.ToolItemCreateMenuProxySignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggled", ToggleToolButtonToggledSignalInfo), '("toolbarReconfigured", Gtk.ToolItem.ToolItemToolbarReconfiguredSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ToggleToolButton::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToggleToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_tool_button_new" gtk_toggle_tool_button_new :: 
+    IO (Ptr ToggleToolButton)
+
+{- |
+Returns a new 'GI.Gtk.Objects.ToggleToolButton.ToggleToolButton'
+
+/Since: 2.4/
+-}
+toggleToolButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ToggleToolButton
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Objects.ToggleToolButton.ToggleToolButton' -}
+toggleToolButtonNew  = liftIO $ do
+    result <- gtk_toggle_tool_button_new
+    checkUnexpectedReturnNULL "toggleToolButtonNew" result
+    result' <- (newObject ToggleToolButton) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToggleToolButton::new_from_stock
+-- method type : Constructor
+-- Args : [Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the stock item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToggleToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_tool_button_new_from_stock" gtk_toggle_tool_button_new_from_stock :: 
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr ToggleToolButton)
+
+{-# DEPRECATED toggleToolButtonNewFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.ToggleToolButton.toggleToolButtonNew' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.ToggleToolButton.ToggleToolButton' containing the image and text from a
+stock item. Some stock ids have preprocessor macros like 'GI.Gtk.Constants.STOCK_OK'
+and 'GI.Gtk.Constants.STOCK_APPLY'.
+
+It is an error if /@stockId@/ is not a name of a stock item.
+
+/Since: 2.4/
+-}
+toggleToolButtonNewFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@stockId@/: the name of the stock item -}
+    -> m ToggleToolButton
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ToggleToolButton.ToggleToolButton' -}
+toggleToolButtonNewFromStock stockId = liftIO $ do
+    stockId' <- textToCString stockId
+    result <- gtk_toggle_tool_button_new_from_stock stockId'
+    checkUnexpectedReturnNULL "toggleToolButtonNewFromStock" result
+    result' <- (newObject ToggleToolButton) result
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToggleToolButton::get_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToggleToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToggleToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_tool_button_get_active" gtk_toggle_tool_button_get_active :: 
+    Ptr ToggleToolButton ->                 -- button : TInterface (Name {namespace = "Gtk", name = "ToggleToolButton"})
+    IO CInt
+
+{- |
+Queries a 'GI.Gtk.Objects.ToggleToolButton.ToggleToolButton' and returns its current state.
+Returns 'True' if the toggle button is pressed in and 'False' if it is raised.
+
+/Since: 2.4/
+-}
+toggleToolButtonGetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToggleToolButton.ToggleToolButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the toggle tool button is pressed in, 'False' if not -}
+toggleToolButtonGetActive button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_toggle_tool_button_get_active button'
+    let result' = (/= 0) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToggleToolButtonGetActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToggleToolButton a) => O.MethodInfo ToggleToolButtonGetActiveMethodInfo a signature where
+    overloadedMethod _ = toggleToolButtonGetActive
+
+#endif
+
+-- method ToggleToolButton::set_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToggleToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToggleToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @button should be active", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toggle_tool_button_set_active" gtk_toggle_tool_button_set_active :: 
+    Ptr ToggleToolButton ->                 -- button : TInterface (Name {namespace = "Gtk", name = "ToggleToolButton"})
+    CInt ->                                 -- is_active : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the status of the toggle tool button. Set to 'True' if you
+want the GtkToggleButton to be “pressed in”, and 'False' to raise it.
+This action causes the toggled signal to be emitted.
+
+/Since: 2.4/
+-}
+toggleToolButtonSetActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToggleToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToggleToolButton.ToggleToolButton' -}
+    -> Bool
+    {- ^ /@isActive@/: whether /@button@/ should be active -}
+    -> m ()
+toggleToolButtonSetActive button isActive = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let isActive' = (fromIntegral . fromEnum) isActive
+    gtk_toggle_tool_button_set_active button' isActive'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToggleToolButtonSetActiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToggleToolButton a) => O.MethodInfo ToggleToolButtonSetActiveMethodInfo a signature where
+    overloadedMethod _ = toggleToolButtonSetActive
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ToggleToolButton.hs-boot b/GI/Gtk/Objects/ToggleToolButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToggleToolButton.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ToggleToolButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToggleToolButton = ToggleToolButton (ManagedPtr ToggleToolButton)
+instance GObject ToggleToolButton where
+class (GObject o, O.IsDescendantOf ToggleToolButton o) => IsToggleToolButton o
+instance (GObject o, O.IsDescendantOf ToggleToolButton o) => IsToggleToolButton o
+instance O.HasParentTypes ToggleToolButton
+#if ENABLE_OVERLOADING
+data ToggleToolButtonActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleToolButtonToggledSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleToolButtonGetActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToggleToolButtonSetActiveMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ToolButton.hs b/GI/Gtk/Objects/ToolButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToolButton.hs
@@ -0,0 +1,1768 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+@/GtkToolButtons/@ are @/GtkToolItems/@ containing buttons.
+
+Use 'GI.Gtk.Objects.ToolButton.toolButtonNew' to create a new 'GI.Gtk.Objects.ToolButton.ToolButton'.
+
+The label of a 'GI.Gtk.Objects.ToolButton.ToolButton' is determined by the properties
+'GI.Gtk.Objects.ToolButton.ToolButton':@/label-widget/@, 'GI.Gtk.Objects.ToolButton.ToolButton':@/label/@, and
+'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@. If 'GI.Gtk.Objects.ToolButton.ToolButton':@/label-widget/@ is
+non-'Nothing', then that widget is used as the label. Otherwise, if
+'GI.Gtk.Objects.ToolButton.ToolButton':@/label/@ is non-'Nothing', that string is used as the label.
+Otherwise, if 'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ is non-'Nothing', the label is
+determined by the stock item. Otherwise, the button does not have a label.
+
+The icon of a 'GI.Gtk.Objects.ToolButton.ToolButton' is determined by the properties
+'GI.Gtk.Objects.ToolButton.ToolButton':@/icon-widget/@ and 'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@. If
+'GI.Gtk.Objects.ToolButton.ToolButton':@/icon-widget/@ is non-'Nothing', then
+that widget is used as the icon. Otherwise, if 'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ is
+non-'Nothing', the icon is determined by the stock item. Otherwise,
+the button does not have a icon.
+
+= CSS nodes
+
+GtkToolButton has a single CSS node with name toolbutton.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ToolButton
+    ( 
+
+-- * Exported types
+    ToolButton(..)                          ,
+    IsToolButton                            ,
+    toToolButton                            ,
+    noToolButton                            ,
+
+
+ -- * Methods
+-- ** getIconName #method:getIconName#
+
+#if ENABLE_OVERLOADING
+    ToolButtonGetIconNameMethodInfo         ,
+#endif
+    toolButtonGetIconName                   ,
+
+
+-- ** getIconWidget #method:getIconWidget#
+
+#if ENABLE_OVERLOADING
+    ToolButtonGetIconWidgetMethodInfo       ,
+#endif
+    toolButtonGetIconWidget                 ,
+
+
+-- ** getLabel #method:getLabel#
+
+#if ENABLE_OVERLOADING
+    ToolButtonGetLabelMethodInfo            ,
+#endif
+    toolButtonGetLabel                      ,
+
+
+-- ** getLabelWidget #method:getLabelWidget#
+
+#if ENABLE_OVERLOADING
+    ToolButtonGetLabelWidgetMethodInfo      ,
+#endif
+    toolButtonGetLabelWidget                ,
+
+
+-- ** getStockId #method:getStockId#
+
+#if ENABLE_OVERLOADING
+    ToolButtonGetStockIdMethodInfo          ,
+#endif
+    toolButtonGetStockId                    ,
+
+
+-- ** getUseUnderline #method:getUseUnderline#
+
+#if ENABLE_OVERLOADING
+    ToolButtonGetUseUnderlineMethodInfo     ,
+#endif
+    toolButtonGetUseUnderline               ,
+
+
+-- ** new #method:new#
+
+    toolButtonNew                           ,
+
+
+-- ** newFromStock #method:newFromStock#
+
+    toolButtonNewFromStock                  ,
+
+
+-- ** setIconName #method:setIconName#
+
+#if ENABLE_OVERLOADING
+    ToolButtonSetIconNameMethodInfo         ,
+#endif
+    toolButtonSetIconName                   ,
+
+
+-- ** setIconWidget #method:setIconWidget#
+
+#if ENABLE_OVERLOADING
+    ToolButtonSetIconWidgetMethodInfo       ,
+#endif
+    toolButtonSetIconWidget                 ,
+
+
+-- ** setLabel #method:setLabel#
+
+#if ENABLE_OVERLOADING
+    ToolButtonSetLabelMethodInfo            ,
+#endif
+    toolButtonSetLabel                      ,
+
+
+-- ** setLabelWidget #method:setLabelWidget#
+
+#if ENABLE_OVERLOADING
+    ToolButtonSetLabelWidgetMethodInfo      ,
+#endif
+    toolButtonSetLabelWidget                ,
+
+
+-- ** setStockId #method:setStockId#
+
+#if ENABLE_OVERLOADING
+    ToolButtonSetStockIdMethodInfo          ,
+#endif
+    toolButtonSetStockId                    ,
+
+
+-- ** setUseUnderline #method:setUseUnderline#
+
+#if ENABLE_OVERLOADING
+    ToolButtonSetUseUnderlineMethodInfo     ,
+#endif
+    toolButtonSetUseUnderline               ,
+
+
+
+
+ -- * Properties
+-- ** iconName #attr:iconName#
+{- | The name of the themed icon displayed on the item.
+This property only has an effect if not overridden by
+'GI.Gtk.Objects.ToolButton.ToolButton':@/label-widget/@, 'GI.Gtk.Objects.ToolButton.ToolButton':@/icon-widget/@ or
+'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ properties.
+
+/Since: 2.8/
+-}
+#if ENABLE_OVERLOADING
+    ToolButtonIconNamePropertyInfo          ,
+#endif
+    clearToolButtonIconName                 ,
+    constructToolButtonIconName             ,
+    getToolButtonIconName                   ,
+    setToolButtonIconName                   ,
+#if ENABLE_OVERLOADING
+    toolButtonIconName                      ,
+#endif
+
+
+-- ** iconWidget #attr:iconWidget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolButtonIconWidgetPropertyInfo        ,
+#endif
+    clearToolButtonIconWidget               ,
+    constructToolButtonIconWidget           ,
+    getToolButtonIconWidget                 ,
+    setToolButtonIconWidget                 ,
+#if ENABLE_OVERLOADING
+    toolButtonIconWidget                    ,
+#endif
+
+
+-- ** label #attr:label#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolButtonLabelPropertyInfo             ,
+#endif
+    clearToolButtonLabel                    ,
+    constructToolButtonLabel                ,
+    getToolButtonLabel                      ,
+    setToolButtonLabel                      ,
+#if ENABLE_OVERLOADING
+    toolButtonLabel                         ,
+#endif
+
+
+-- ** labelWidget #attr:labelWidget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolButtonLabelWidgetPropertyInfo       ,
+#endif
+    clearToolButtonLabelWidget              ,
+    constructToolButtonLabelWidget          ,
+    getToolButtonLabelWidget                ,
+    setToolButtonLabelWidget                ,
+#if ENABLE_OVERLOADING
+    toolButtonLabelWidget                   ,
+#endif
+
+
+-- ** stockId #attr:stockId#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolButtonStockIdPropertyInfo           ,
+#endif
+    clearToolButtonStockId                  ,
+    constructToolButtonStockId              ,
+    getToolButtonStockId                    ,
+    setToolButtonStockId                    ,
+#if ENABLE_OVERLOADING
+    toolButtonStockId                       ,
+#endif
+
+
+-- ** useUnderline #attr:useUnderline#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolButtonUseUnderlinePropertyInfo      ,
+#endif
+    constructToolButtonUseUnderline         ,
+    getToolButtonUseUnderline               ,
+    setToolButtonUseUnderline               ,
+#if ENABLE_OVERLOADING
+    toolButtonUseUnderline                  ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** clicked #signal:clicked#
+
+    C_ToolButtonClickedCallback             ,
+    ToolButtonClickedCallback               ,
+#if ENABLE_OVERLOADING
+    ToolButtonClickedSignalInfo             ,
+#endif
+    afterToolButtonClicked                  ,
+    genClosure_ToolButtonClicked            ,
+    mk_ToolButtonClickedCallback            ,
+    noToolButtonClickedCallback             ,
+    onToolButtonClicked                     ,
+    wrap_ToolButtonClickedCallback          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolItem as Gtk.ToolItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype ToolButton = ToolButton (ManagedPtr ToolButton)
+foreign import ccall "gtk_tool_button_get_type"
+    c_gtk_tool_button_get_type :: IO GType
+
+instance GObject ToolButton where
+    gobjectType = c_gtk_tool_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToolButton`, for instance with `toToolButton`.
+class (GObject o, O.IsDescendantOf ToolButton o) => IsToolButton o
+instance (GObject o, O.IsDescendantOf ToolButton o) => IsToolButton o
+
+instance O.HasParentTypes ToolButton
+type instance O.ParentTypes ToolButton = '[Gtk.ToolItem.ToolItem, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `ToolButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToolButton :: (MonadIO m, IsToolButton o) => o -> m ToolButton
+toToolButton = liftIO . unsafeCastTo ToolButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToolButton`.
+noToolButton :: Maybe ToolButton
+noToolButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToolButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToolButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveToolButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveToolButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveToolButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveToolButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveToolButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveToolButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveToolButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveToolButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToolButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToolButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveToolButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveToolButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveToolButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveToolButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveToolButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveToolButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveToolButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveToolButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveToolButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveToolButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveToolButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveToolButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveToolButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveToolButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveToolButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveToolButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveToolButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveToolButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveToolButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveToolButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveToolButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveToolButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveToolButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveToolButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveToolButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveToolButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveToolButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveToolButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveToolButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveToolButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveToolButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveToolButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveToolButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveToolButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveToolButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveToolButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveToolButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveToolButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveToolButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveToolButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveToolButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveToolButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveToolButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveToolButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveToolButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveToolButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveToolButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveToolButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveToolButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveToolButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveToolButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveToolButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveToolButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToolButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveToolButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveToolButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToolButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToolButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveToolButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveToolButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveToolButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveToolButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveToolButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveToolButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveToolButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveToolButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveToolButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveToolButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveToolButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveToolButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveToolButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveToolButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveToolButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveToolButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveToolButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveToolButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveToolButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveToolButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToolButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveToolButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveToolButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveToolButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveToolButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveToolButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveToolButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveToolButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveToolButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveToolButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveToolButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveToolButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveToolButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveToolButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveToolButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveToolButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveToolButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveToolButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToolButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToolButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveToolButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveToolButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveToolButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveToolButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveToolButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveToolButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveToolButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveToolButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveToolButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveToolButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveToolButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveToolButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveToolButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveToolButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveToolButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveToolButtonMethod "rebuildMenu" o = Gtk.ToolItem.ToolItemRebuildMenuMethodInfo
+    ResolveToolButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToolButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToolButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveToolButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveToolButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveToolButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveToolButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveToolButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveToolButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveToolButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveToolButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveToolButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveToolButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveToolButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveToolButtonMethod "retrieveProxyMenuItem" o = Gtk.ToolItem.ToolItemRetrieveProxyMenuItemMethodInfo
+    ResolveToolButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToolButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveToolButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveToolButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveToolButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveToolButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveToolButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveToolButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveToolButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveToolButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveToolButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToolButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToolButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveToolButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveToolButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveToolButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveToolButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToolButtonMethod "toolbarReconfigured" o = Gtk.ToolItem.ToolItemToolbarReconfiguredMethodInfo
+    ResolveToolButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveToolButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveToolButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveToolButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveToolButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveToolButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToolButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveToolButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveToolButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveToolButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToolButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveToolButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveToolButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveToolButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveToolButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveToolButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveToolButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveToolButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveToolButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveToolButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveToolButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveToolButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveToolButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveToolButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveToolButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveToolButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveToolButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveToolButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveToolButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveToolButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveToolButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveToolButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToolButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveToolButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveToolButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveToolButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveToolButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveToolButtonMethod "getEllipsizeMode" o = Gtk.ToolItem.ToolItemGetEllipsizeModeMethodInfo
+    ResolveToolButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveToolButtonMethod "getExpand" o = Gtk.ToolItem.ToolItemGetExpandMethodInfo
+    ResolveToolButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveToolButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveToolButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveToolButtonMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveToolButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveToolButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveToolButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveToolButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveToolButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveToolButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveToolButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveToolButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveToolButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveToolButtonMethod "getHomogeneous" o = Gtk.ToolItem.ToolItemGetHomogeneousMethodInfo
+    ResolveToolButtonMethod "getIconName" o = ToolButtonGetIconNameMethodInfo
+    ResolveToolButtonMethod "getIconSize" o = Gtk.ToolItem.ToolItemGetIconSizeMethodInfo
+    ResolveToolButtonMethod "getIconWidget" o = ToolButtonGetIconWidgetMethodInfo
+    ResolveToolButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveToolButtonMethod "getIsImportant" o = Gtk.ToolItem.ToolItemGetIsImportantMethodInfo
+    ResolveToolButtonMethod "getLabel" o = ToolButtonGetLabelMethodInfo
+    ResolveToolButtonMethod "getLabelWidget" o = ToolButtonGetLabelWidgetMethodInfo
+    ResolveToolButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveToolButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveToolButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveToolButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveToolButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveToolButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveToolButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveToolButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveToolButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveToolButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveToolButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveToolButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveToolButtonMethod "getOrientation" o = Gtk.ToolItem.ToolItemGetOrientationMethodInfo
+    ResolveToolButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveToolButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveToolButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveToolButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveToolButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveToolButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveToolButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveToolButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveToolButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveToolButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveToolButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveToolButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveToolButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToolButtonMethod "getProxyMenuItem" o = Gtk.ToolItem.ToolItemGetProxyMenuItemMethodInfo
+    ResolveToolButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToolButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveToolButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveToolButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveToolButtonMethod "getReliefStyle" o = Gtk.ToolItem.ToolItemGetReliefStyleMethodInfo
+    ResolveToolButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveToolButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveToolButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveToolButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveToolButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveToolButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveToolButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveToolButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveToolButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveToolButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveToolButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveToolButtonMethod "getStockId" o = ToolButtonGetStockIdMethodInfo
+    ResolveToolButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveToolButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveToolButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveToolButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveToolButtonMethod "getTextAlignment" o = Gtk.ToolItem.ToolItemGetTextAlignmentMethodInfo
+    ResolveToolButtonMethod "getTextOrientation" o = Gtk.ToolItem.ToolItemGetTextOrientationMethodInfo
+    ResolveToolButtonMethod "getTextSizeGroup" o = Gtk.ToolItem.ToolItemGetTextSizeGroupMethodInfo
+    ResolveToolButtonMethod "getToolbarStyle" o = Gtk.ToolItem.ToolItemGetToolbarStyleMethodInfo
+    ResolveToolButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveToolButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveToolButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveToolButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveToolButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveToolButtonMethod "getUseDragWindow" o = Gtk.ToolItem.ToolItemGetUseDragWindowMethodInfo
+    ResolveToolButtonMethod "getUseUnderline" o = ToolButtonGetUseUnderlineMethodInfo
+    ResolveToolButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveToolButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveToolButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveToolButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveToolButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveToolButtonMethod "getVisibleHorizontal" o = Gtk.ToolItem.ToolItemGetVisibleHorizontalMethodInfo
+    ResolveToolButtonMethod "getVisibleVertical" o = Gtk.ToolItem.ToolItemGetVisibleVerticalMethodInfo
+    ResolveToolButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveToolButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveToolButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveToolButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveToolButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveToolButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveToolButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveToolButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveToolButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveToolButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveToolButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveToolButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveToolButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveToolButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveToolButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToolButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveToolButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveToolButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveToolButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveToolButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveToolButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveToolButtonMethod "setExpand" o = Gtk.ToolItem.ToolItemSetExpandMethodInfo
+    ResolveToolButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveToolButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveToolButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveToolButtonMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveToolButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveToolButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveToolButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveToolButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveToolButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveToolButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveToolButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveToolButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveToolButtonMethod "setHomogeneous" o = Gtk.ToolItem.ToolItemSetHomogeneousMethodInfo
+    ResolveToolButtonMethod "setIconName" o = ToolButtonSetIconNameMethodInfo
+    ResolveToolButtonMethod "setIconWidget" o = ToolButtonSetIconWidgetMethodInfo
+    ResolveToolButtonMethod "setIsImportant" o = Gtk.ToolItem.ToolItemSetIsImportantMethodInfo
+    ResolveToolButtonMethod "setLabel" o = ToolButtonSetLabelMethodInfo
+    ResolveToolButtonMethod "setLabelWidget" o = ToolButtonSetLabelWidgetMethodInfo
+    ResolveToolButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveToolButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveToolButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveToolButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveToolButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveToolButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveToolButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveToolButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveToolButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveToolButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveToolButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveToolButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveToolButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToolButtonMethod "setProxyMenuItem" o = Gtk.ToolItem.ToolItemSetProxyMenuItemMethodInfo
+    ResolveToolButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveToolButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveToolButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveToolButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveToolButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveToolButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveToolButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveToolButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveToolButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveToolButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveToolButtonMethod "setStockId" o = ToolButtonSetStockIdMethodInfo
+    ResolveToolButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveToolButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveToolButtonMethod "setTooltipMarkup" o = Gtk.ToolItem.ToolItemSetTooltipMarkupMethodInfo
+    ResolveToolButtonMethod "setTooltipText" o = Gtk.ToolItem.ToolItemSetTooltipTextMethodInfo
+    ResolveToolButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveToolButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveToolButtonMethod "setUseDragWindow" o = Gtk.ToolItem.ToolItemSetUseDragWindowMethodInfo
+    ResolveToolButtonMethod "setUseUnderline" o = ToolButtonSetUseUnderlineMethodInfo
+    ResolveToolButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveToolButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveToolButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveToolButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveToolButtonMethod "setVisibleHorizontal" o = Gtk.ToolItem.ToolItemSetVisibleHorizontalMethodInfo
+    ResolveToolButtonMethod "setVisibleVertical" o = Gtk.ToolItem.ToolItemSetVisibleVerticalMethodInfo
+    ResolveToolButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveToolButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveToolButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToolButtonMethod t ToolButton, O.MethodInfo info ToolButton p) => OL.IsLabel t (ToolButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ToolButton::clicked
+{- |
+This signal is emitted when the tool button is clicked with the mouse
+or activated with the keyboard.
+-}
+type ToolButtonClickedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToolButtonClickedCallback`@.
+noToolButtonClickedCallback :: Maybe ToolButtonClickedCallback
+noToolButtonClickedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToolButtonClickedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ToolButtonClickedCallback`.
+foreign import ccall "wrapper"
+    mk_ToolButtonClickedCallback :: C_ToolButtonClickedCallback -> IO (FunPtr C_ToolButtonClickedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToolButtonClicked :: MonadIO m => ToolButtonClickedCallback -> m (GClosure C_ToolButtonClickedCallback)
+genClosure_ToolButtonClicked cb = liftIO $ do
+    let cb' = wrap_ToolButtonClickedCallback cb
+    mk_ToolButtonClickedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToolButtonClickedCallback` into a `C_ToolButtonClickedCallback`.
+wrap_ToolButtonClickedCallback ::
+    ToolButtonClickedCallback ->
+    C_ToolButtonClickedCallback
+wrap_ToolButtonClickedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@clicked@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toolButton #clicked callback
+@
+-}
+onToolButtonClicked :: (IsToolButton a, MonadIO m) => a -> ToolButtonClickedCallback -> m SignalHandlerId
+onToolButtonClicked obj cb = liftIO $ do
+    let cb' = wrap_ToolButtonClickedCallback cb
+    cb'' <- mk_ToolButtonClickedCallback cb'
+    connectSignalFunPtr obj "clicked" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@clicked@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toolButton #clicked callback
+@
+-}
+afterToolButtonClicked :: (IsToolButton a, MonadIO m) => a -> ToolButtonClickedCallback -> m SignalHandlerId
+afterToolButtonClicked obj cb = liftIO $ do
+    let cb' = wrap_ToolButtonClickedCallback cb
+    cb'' <- mk_ToolButtonClickedCallback cb'
+    connectSignalFunPtr obj "clicked" cb'' SignalConnectAfter
+
+
+-- VVV Prop "icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolButton #iconName
+@
+-}
+getToolButtonIconName :: (MonadIO m, IsToolButton o) => o -> m (Maybe T.Text)
+getToolButtonIconName obj = liftIO $ B.Properties.getObjectPropertyString obj "icon-name"
+
+{- |
+Set the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolButton [ #iconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolButtonIconName :: (MonadIO m, IsToolButton o) => o -> T.Text -> m ()
+setToolButtonIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolButtonIconName :: (IsToolButton o) => T.Text -> IO (GValueConstruct o)
+constructToolButtonIconName val = B.Properties.constructObjectPropertyString "icon-name" (Just val)
+
+{- |
+Set the value of the “@icon-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #iconName
+@
+-}
+clearToolButtonIconName :: (MonadIO m, IsToolButton o) => o -> m ()
+clearToolButtonIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ToolButtonIconNamePropertyInfo
+instance AttrInfo ToolButtonIconNamePropertyInfo where
+    type AttrAllowedOps ToolButtonIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToolButtonIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ToolButtonIconNamePropertyInfo = IsToolButton
+    type AttrGetType ToolButtonIconNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel ToolButtonIconNamePropertyInfo = "icon-name"
+    type AttrOrigin ToolButtonIconNamePropertyInfo = ToolButton
+    attrGet _ = getToolButtonIconName
+    attrSet _ = setToolButtonIconName
+    attrConstruct _ = constructToolButtonIconName
+    attrClear _ = clearToolButtonIconName
+#endif
+
+-- VVV Prop "icon-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@icon-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolButton #iconWidget
+@
+-}
+getToolButtonIconWidget :: (MonadIO m, IsToolButton o) => o -> m (Maybe Gtk.Widget.Widget)
+getToolButtonIconWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "icon-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@icon-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolButton [ #iconWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolButtonIconWidget :: (MonadIO m, IsToolButton o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setToolButtonIconWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "icon-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolButtonIconWidget :: (IsToolButton o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructToolButtonIconWidget val = B.Properties.constructObjectPropertyObject "icon-widget" (Just val)
+
+{- |
+Set the value of the “@icon-widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #iconWidget
+@
+-}
+clearToolButtonIconWidget :: (MonadIO m, IsToolButton o) => o -> m ()
+clearToolButtonIconWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "icon-widget" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data ToolButtonIconWidgetPropertyInfo
+instance AttrInfo ToolButtonIconWidgetPropertyInfo where
+    type AttrAllowedOps ToolButtonIconWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToolButtonIconWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint ToolButtonIconWidgetPropertyInfo = IsToolButton
+    type AttrGetType ToolButtonIconWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel ToolButtonIconWidgetPropertyInfo = "icon-widget"
+    type AttrOrigin ToolButtonIconWidgetPropertyInfo = ToolButton
+    attrGet _ = getToolButtonIconWidget
+    attrSet _ = setToolButtonIconWidget
+    attrConstruct _ = constructToolButtonIconWidget
+    attrClear _ = clearToolButtonIconWidget
+#endif
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolButton #label
+@
+-}
+getToolButtonLabel :: (MonadIO m, IsToolButton o) => o -> m (Maybe T.Text)
+getToolButtonLabel obj = liftIO $ B.Properties.getObjectPropertyString obj "label"
+
+{- |
+Set the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolButton [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolButtonLabel :: (MonadIO m, IsToolButton o) => o -> T.Text -> m ()
+setToolButtonLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolButtonLabel :: (IsToolButton o) => T.Text -> IO (GValueConstruct o)
+constructToolButtonLabel val = B.Properties.constructObjectPropertyString "label" (Just val)
+
+{- |
+Set the value of the “@label@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #label
+@
+-}
+clearToolButtonLabel :: (MonadIO m, IsToolButton o) => o -> m ()
+clearToolButtonLabel obj = liftIO $ B.Properties.setObjectPropertyString obj "label" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ToolButtonLabelPropertyInfo
+instance AttrInfo ToolButtonLabelPropertyInfo where
+    type AttrAllowedOps ToolButtonLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToolButtonLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ToolButtonLabelPropertyInfo = IsToolButton
+    type AttrGetType ToolButtonLabelPropertyInfo = (Maybe T.Text)
+    type AttrLabel ToolButtonLabelPropertyInfo = "label"
+    type AttrOrigin ToolButtonLabelPropertyInfo = ToolButton
+    attrGet _ = getToolButtonLabel
+    attrSet _ = setToolButtonLabel
+    attrConstruct _ = constructToolButtonLabel
+    attrClear _ = clearToolButtonLabel
+#endif
+
+-- VVV Prop "label-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@label-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolButton #labelWidget
+@
+-}
+getToolButtonLabelWidget :: (MonadIO m, IsToolButton o) => o -> m (Maybe Gtk.Widget.Widget)
+getToolButtonLabelWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "label-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@label-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolButton [ #labelWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolButtonLabelWidget :: (MonadIO m, IsToolButton o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setToolButtonLabelWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "label-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolButtonLabelWidget :: (IsToolButton o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructToolButtonLabelWidget val = B.Properties.constructObjectPropertyObject "label-widget" (Just val)
+
+{- |
+Set the value of the “@label-widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #labelWidget
+@
+-}
+clearToolButtonLabelWidget :: (MonadIO m, IsToolButton o) => o -> m ()
+clearToolButtonLabelWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "label-widget" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data ToolButtonLabelWidgetPropertyInfo
+instance AttrInfo ToolButtonLabelWidgetPropertyInfo where
+    type AttrAllowedOps ToolButtonLabelWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToolButtonLabelWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint ToolButtonLabelWidgetPropertyInfo = IsToolButton
+    type AttrGetType ToolButtonLabelWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel ToolButtonLabelWidgetPropertyInfo = "label-widget"
+    type AttrOrigin ToolButtonLabelWidgetPropertyInfo = ToolButton
+    attrGet _ = getToolButtonLabelWidget
+    attrSet _ = setToolButtonLabelWidget
+    attrConstruct _ = constructToolButtonLabelWidget
+    attrClear _ = clearToolButtonLabelWidget
+#endif
+
+-- VVV Prop "stock-id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@stock-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolButton #stockId
+@
+-}
+getToolButtonStockId :: (MonadIO m, IsToolButton o) => o -> m T.Text
+getToolButtonStockId obj = liftIO $ checkUnexpectedNothing "getToolButtonStockId" $ B.Properties.getObjectPropertyString obj "stock-id"
+
+{- |
+Set the value of the “@stock-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolButton [ #stockId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolButtonStockId :: (MonadIO m, IsToolButton o) => o -> T.Text -> m ()
+setToolButtonStockId obj val = liftIO $ B.Properties.setObjectPropertyString obj "stock-id" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@stock-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolButtonStockId :: (IsToolButton o) => T.Text -> IO (GValueConstruct o)
+constructToolButtonStockId val = B.Properties.constructObjectPropertyString "stock-id" (Just val)
+
+{- |
+Set the value of the “@stock-id@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stockId
+@
+-}
+clearToolButtonStockId :: (MonadIO m, IsToolButton o) => o -> m ()
+clearToolButtonStockId obj = liftIO $ B.Properties.setObjectPropertyString obj "stock-id" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data ToolButtonStockIdPropertyInfo
+instance AttrInfo ToolButtonStockIdPropertyInfo where
+    type AttrAllowedOps ToolButtonStockIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToolButtonStockIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ToolButtonStockIdPropertyInfo = IsToolButton
+    type AttrGetType ToolButtonStockIdPropertyInfo = T.Text
+    type AttrLabel ToolButtonStockIdPropertyInfo = "stock-id"
+    type AttrOrigin ToolButtonStockIdPropertyInfo = ToolButton
+    attrGet _ = getToolButtonStockId
+    attrSet _ = setToolButtonStockId
+    attrConstruct _ = constructToolButtonStockId
+    attrClear _ = clearToolButtonStockId
+#endif
+
+-- VVV Prop "use-underline"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolButton #useUnderline
+@
+-}
+getToolButtonUseUnderline :: (MonadIO m, IsToolButton o) => o -> m Bool
+getToolButtonUseUnderline obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-underline"
+
+{- |
+Set the value of the “@use-underline@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolButton [ #useUnderline 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolButtonUseUnderline :: (MonadIO m, IsToolButton o) => o -> Bool -> m ()
+setToolButtonUseUnderline obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-underline" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-underline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolButtonUseUnderline :: (IsToolButton o) => Bool -> IO (GValueConstruct o)
+constructToolButtonUseUnderline val = B.Properties.constructObjectPropertyBool "use-underline" val
+
+#if ENABLE_OVERLOADING
+data ToolButtonUseUnderlinePropertyInfo
+instance AttrInfo ToolButtonUseUnderlinePropertyInfo where
+    type AttrAllowedOps ToolButtonUseUnderlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolButtonUseUnderlinePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToolButtonUseUnderlinePropertyInfo = IsToolButton
+    type AttrGetType ToolButtonUseUnderlinePropertyInfo = Bool
+    type AttrLabel ToolButtonUseUnderlinePropertyInfo = "use-underline"
+    type AttrOrigin ToolButtonUseUnderlinePropertyInfo = ToolButton
+    attrGet _ = getToolButtonUseUnderline
+    attrSet _ = setToolButtonUseUnderline
+    attrConstruct _ = constructToolButtonUseUnderline
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToolButton
+type instance O.AttributeList ToolButton = ToolButtonAttributeList
+type ToolButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("iconName", ToolButtonIconNamePropertyInfo), '("iconWidget", ToolButtonIconWidgetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isImportant", Gtk.ToolItem.ToolItemIsImportantPropertyInfo), '("label", ToolButtonLabelPropertyInfo), '("labelWidget", ToolButtonLabelWidgetPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("stockId", ToolButtonStockIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useUnderline", ToolButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visibleHorizontal", Gtk.ToolItem.ToolItemVisibleHorizontalPropertyInfo), '("visibleVertical", Gtk.ToolItem.ToolItemVisibleVerticalPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+toolButtonIconName :: AttrLabelProxy "iconName"
+toolButtonIconName = AttrLabelProxy
+
+toolButtonIconWidget :: AttrLabelProxy "iconWidget"
+toolButtonIconWidget = AttrLabelProxy
+
+toolButtonLabel :: AttrLabelProxy "label"
+toolButtonLabel = AttrLabelProxy
+
+toolButtonLabelWidget :: AttrLabelProxy "labelWidget"
+toolButtonLabelWidget = AttrLabelProxy
+
+toolButtonStockId :: AttrLabelProxy "stockId"
+toolButtonStockId = AttrLabelProxy
+
+toolButtonUseUnderline :: AttrLabelProxy "useUnderline"
+toolButtonUseUnderline = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ToolButtonClickedSignalInfo
+instance SignalInfo ToolButtonClickedSignalInfo where
+    type HaskellCallbackType ToolButtonClickedSignalInfo = ToolButtonClickedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToolButtonClickedCallback cb
+        cb'' <- mk_ToolButtonClickedCallback cb'
+        connectSignalFunPtr obj "clicked" cb'' connectMode
+
+type instance O.SignalList ToolButton = ToolButtonSignalList
+type ToolButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", ToolButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("createMenuProxy", Gtk.ToolItem.ToolItemCreateMenuProxySignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toolbarReconfigured", Gtk.ToolItem.ToolItemToolbarReconfiguredSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ToolButton::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "icon_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a widget that will be used as the button contents, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string that will be used as label, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_new" gtk_tool_button_new :: 
+    Ptr Gtk.Widget.Widget ->                -- icon_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr ToolButton)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ToolButton.ToolButton' using /@iconWidget@/ as contents and /@label@/ as
+label.
+
+/Since: 2.4/
+-}
+toolButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    Maybe (a)
+    {- ^ /@iconWidget@/: a widget that will be used as the button contents, or 'Nothing' -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: a string that will be used as label, or 'Nothing' -}
+    -> m ToolButton
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+toolButtonNew iconWidget label = liftIO $ do
+    maybeIconWidget <- case iconWidget of
+        Nothing -> return nullPtr
+        Just jIconWidget -> do
+            jIconWidget' <- unsafeManagedPtrCastPtr jIconWidget
+            return jIconWidget'
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    result <- gtk_tool_button_new maybeIconWidget maybeLabel
+    checkUnexpectedReturnNULL "toolButtonNew" result
+    result' <- (newObject ToolButton) result
+    whenJust iconWidget touchManagedPtr
+    freeMem maybeLabel
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToolButton::new_from_stock
+-- method type : Constructor
+-- Args : [Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the stock item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_new_from_stock" gtk_tool_button_new_from_stock :: 
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO (Ptr ToolButton)
+
+{-# DEPRECATED toolButtonNewFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.ToolButton.toolButtonNew' together with","'GI.Gtk.Objects.Image.imageNewFromIconName' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.ToolButton.ToolButton' containing the image and text from a
+stock item. Some stock ids have preprocessor macros like 'GI.Gtk.Constants.STOCK_OK'
+and 'GI.Gtk.Constants.STOCK_APPLY'.
+
+It is an error if /@stockId@/ is not a name of a stock item.
+
+/Since: 2.4/
+-}
+toolButtonNewFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@stockId@/: the name of the stock item -}
+    -> m ToolButton
+    {- ^ __Returns:__ A new 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+toolButtonNewFromStock stockId = liftIO $ do
+    stockId' <- textToCString stockId
+    result <- gtk_tool_button_new_from_stock stockId'
+    checkUnexpectedReturnNULL "toolButtonNewFromStock" result
+    result' <- (newObject ToolButton) result
+    freeMem stockId'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToolButton::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_get_icon_name" gtk_tool_button_get_icon_name :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    IO CString
+
+{- |
+Returns the name of the themed icon for the tool button,
+see 'GI.Gtk.Objects.ToolButton.toolButtonSetIconName'.
+
+/Since: 2.8/
+-}
+toolButtonGetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the icon name or 'Nothing' if the tool button has
+no themed icon -}
+toolButtonGetIconName button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_tool_button_get_icon_name button'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr button
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ToolButtonGetIconNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonGetIconNameMethodInfo a signature where
+    overloadedMethod _ = toolButtonGetIconName
+
+#endif
+
+-- method ToolButton::get_icon_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_get_icon_widget" gtk_tool_button_get_icon_widget :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Return the widget used as icon widget on /@button@/.
+See 'GI.Gtk.Objects.ToolButton.toolButtonSetIconWidget'.
+
+/Since: 2.4/
+-}
+toolButtonGetIconWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ The widget used as icon
+    on /@button@/, or 'Nothing'. -}
+toolButtonGetIconWidget button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_tool_button_get_icon_widget button'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr button
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ToolButtonGetIconWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonGetIconWidgetMethodInfo a signature where
+    overloadedMethod _ = toolButtonGetIconWidget
+
+#endif
+
+-- method ToolButton::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_get_label" gtk_tool_button_get_label :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    IO CString
+
+{- |
+Returns the label used by the tool button, or 'Nothing' if the tool button
+doesn’t have a label. or uses a the label from a stock item. The returned
+string is owned by GTK+, and must not be modified or freed.
+
+/Since: 2.4/
+-}
+toolButtonGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ The label, or 'Nothing' -}
+toolButtonGetLabel button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_tool_button_get_label button'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr button
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ToolButtonGetLabelMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonGetLabelMethodInfo a signature where
+    overloadedMethod _ = toolButtonGetLabel
+
+#endif
+
+-- method ToolButton::get_label_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_get_label_widget" gtk_tool_button_get_label_widget :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the widget used as label on /@button@/.
+See 'GI.Gtk.Objects.ToolButton.toolButtonSetLabelWidget'.
+
+/Since: 2.4/
+-}
+toolButtonGetLabelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ The widget used as label
+    on /@button@/, or 'Nothing'. -}
+toolButtonGetLabelWidget button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_tool_button_get_label_widget button'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr button
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ToolButtonGetLabelWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonGetLabelWidgetMethodInfo a signature where
+    overloadedMethod _ = toolButtonGetLabelWidget
+
+#endif
+
+-- method ToolButton::get_stock_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_get_stock_id" gtk_tool_button_get_stock_id :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    IO CString
+
+{-# DEPRECATED toolButtonGetStockId ["(Since version 3.10)","Use 'GI.Gtk.Objects.ToolButton.toolButtonGetIconName' instead."] #-}
+{- |
+Returns the name of the stock item. See 'GI.Gtk.Objects.ToolButton.toolButtonSetStockId'.
+The returned string is owned by GTK+ and must not be freed or modifed.
+
+/Since: 2.4/
+-}
+toolButtonGetStockId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> m T.Text
+    {- ^ __Returns:__ the name of the stock item for /@button@/. -}
+toolButtonGetStockId button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_tool_button_get_stock_id button'
+    checkUnexpectedReturnNULL "toolButtonGetStockId" result
+    result' <- cstringToText result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolButtonGetStockIdMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonGetStockIdMethodInfo a signature where
+    overloadedMethod _ = toolButtonGetStockId
+
+#endif
+
+-- method ToolButton::get_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_get_use_underline" gtk_tool_button_get_use_underline :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    IO CInt
+
+{- |
+Returns whether underscores in the label property are used as mnemonics
+on menu items on the overflow menu. See 'GI.Gtk.Objects.ToolButton.toolButtonSetUseUnderline'.
+
+/Since: 2.4/
+-}
+toolButtonGetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if underscores in the label property are used as
+mnemonics on menu items on the overflow menu. -}
+toolButtonGetUseUnderline button = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    result <- gtk_tool_button_get_use_underline button'
+    let result' = (/= 0) result
+    touchManagedPtr button
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolButtonGetUseUnderlineMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonGetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = toolButtonGetUseUnderline
+
+#endif
+
+-- method ToolButton::set_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the themed icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_set_icon_name" gtk_tool_button_set_icon_name :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the icon for the tool button from a named themed icon.
+See the docs for 'GI.Gtk.Objects.IconTheme.IconTheme' for more details.
+The 'GI.Gtk.Objects.ToolButton.ToolButton':@/icon-name/@ property only has an effect if not
+overridden by non-'Nothing' 'GI.Gtk.Objects.ToolButton.ToolButton':@/label-widget/@,
+'GI.Gtk.Objects.ToolButton.ToolButton':@/icon-widget/@ and 'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ properties.
+
+/Since: 2.8/
+-}
+toolButtonSetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> Maybe (T.Text)
+    {- ^ /@iconName@/: the name of the themed icon -}
+    -> m ()
+toolButtonSetIconName button iconName = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    gtk_tool_button_set_icon_name button' maybeIconName
+    touchManagedPtr button
+    freeMem maybeIconName
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolButtonSetIconNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonSetIconNameMethodInfo a signature where
+    overloadedMethod _ = toolButtonSetIconName
+
+#endif
+
+-- method ToolButton::set_icon_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget used as icon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_set_icon_widget" gtk_tool_button_set_icon_widget :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    Ptr Gtk.Widget.Widget ->                -- icon_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets /@icon@/ as the widget used as icon on /@button@/. If /@iconWidget@/ is
+'Nothing' the icon is determined by the 'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ property. If the
+'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ property is also 'Nothing', /@button@/ will not have an icon.
+
+/Since: 2.4/
+-}
+toolButtonSetIconWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> Maybe (b)
+    {- ^ /@iconWidget@/: the widget used as icon, or 'Nothing' -}
+    -> m ()
+toolButtonSetIconWidget button iconWidget = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    maybeIconWidget <- case iconWidget of
+        Nothing -> return nullPtr
+        Just jIconWidget -> do
+            jIconWidget' <- unsafeManagedPtrCastPtr jIconWidget
+            return jIconWidget'
+    gtk_tool_button_set_icon_widget button' maybeIconWidget
+    touchManagedPtr button
+    whenJust iconWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolButtonSetIconWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsToolButton a, Gtk.Widget.IsWidget b) => O.MethodInfo ToolButtonSetIconWidgetMethodInfo a signature where
+    overloadedMethod _ = toolButtonSetIconWidget
+
+#endif
+
+-- method ToolButton::set_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string that will be used as label, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_set_label" gtk_tool_button_set_label :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets /@label@/ as the label used for the tool button. The 'GI.Gtk.Objects.ToolButton.ToolButton':@/label/@
+property only has an effect if not overridden by a non-'Nothing'
+'GI.Gtk.Objects.ToolButton.ToolButton':@/label-widget/@ property. If both the 'GI.Gtk.Objects.ToolButton.ToolButton':@/label-widget/@
+and 'GI.Gtk.Objects.ToolButton.ToolButton':@/label/@ properties are 'Nothing', the label is determined by the
+'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ property. If the 'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ property is
+also 'Nothing', /@button@/ will not have a label.
+
+/Since: 2.4/
+-}
+toolButtonSetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> Maybe (T.Text)
+    {- ^ /@label@/: a string that will be used as label, or 'Nothing'. -}
+    -> m ()
+toolButtonSetLabel button label = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    maybeLabel <- case label of
+        Nothing -> return nullPtr
+        Just jLabel -> do
+            jLabel' <- textToCString jLabel
+            return jLabel'
+    gtk_tool_button_set_label button' maybeLabel
+    touchManagedPtr button
+    freeMem maybeLabel
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolButtonSetLabelMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonSetLabelMethodInfo a signature where
+    overloadedMethod _ = toolButtonSetLabel
+
+#endif
+
+-- method ToolButton::set_label_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget used as label, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_set_label_widget" gtk_tool_button_set_label_widget :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    Ptr Gtk.Widget.Widget ->                -- label_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets /@labelWidget@/ as the widget that will be used as the label
+for /@button@/. If /@labelWidget@/ is 'Nothing' the 'GI.Gtk.Objects.ToolButton.ToolButton':@/label/@ property is used
+as label. If 'GI.Gtk.Objects.ToolButton.ToolButton':@/label/@ is also 'Nothing', the label in the stock item
+determined by the 'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ property is used as label. If
+'GI.Gtk.Objects.ToolButton.ToolButton':@/stock-id/@ is also 'Nothing', /@button@/ does not have a label.
+
+/Since: 2.4/
+-}
+toolButtonSetLabelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> Maybe (b)
+    {- ^ /@labelWidget@/: the widget used as label, or 'Nothing' -}
+    -> m ()
+toolButtonSetLabelWidget button labelWidget = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    maybeLabelWidget <- case labelWidget of
+        Nothing -> return nullPtr
+        Just jLabelWidget -> do
+            jLabelWidget' <- unsafeManagedPtrCastPtr jLabelWidget
+            return jLabelWidget'
+    gtk_tool_button_set_label_widget button' maybeLabelWidget
+    touchManagedPtr button
+    whenJust labelWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolButtonSetLabelWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsToolButton a, Gtk.Widget.IsWidget b) => O.MethodInfo ToolButtonSetLabelWidgetMethodInfo a signature where
+    overloadedMethod _ = toolButtonSetLabelWidget
+
+#endif
+
+-- method ToolButton::set_stock_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a name of a stock item, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_set_stock_id" gtk_tool_button_set_stock_id :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED toolButtonSetStockId ["(Since version 3.10)","Use 'GI.Gtk.Objects.ToolButton.toolButtonSetIconName' instead."] #-}
+{- |
+Sets the name of the stock item. See 'GI.Gtk.Objects.ToolButton.toolButtonNewFromStock'.
+The stock_id property only has an effect if not overridden by non-'Nothing'
+'GI.Gtk.Objects.ToolButton.ToolButton':@/label-widget/@ and 'GI.Gtk.Objects.ToolButton.ToolButton':@/icon-widget/@ properties.
+
+/Since: 2.4/
+-}
+toolButtonSetStockId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> Maybe (T.Text)
+    {- ^ /@stockId@/: a name of a stock item, or 'Nothing' -}
+    -> m ()
+toolButtonSetStockId button stockId = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    maybeStockId <- case stockId of
+        Nothing -> return nullPtr
+        Just jStockId -> do
+            jStockId' <- textToCString jStockId
+            return jStockId'
+    gtk_tool_button_set_stock_id button' maybeStockId
+    touchManagedPtr button
+    freeMem maybeStockId
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolButtonSetStockIdMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonSetStockIdMethodInfo a signature where
+    overloadedMethod _ = toolButtonSetStockId
+
+#endif
+
+-- method ToolButton::set_use_underline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "button", argType = TInterface (Name {namespace = "Gtk", name = "ToolButton"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolButton", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_underline", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the button label has the form \8220_Open\8221", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_button_set_use_underline" gtk_tool_button_set_use_underline :: 
+    Ptr ToolButton ->                       -- button : TInterface (Name {namespace = "Gtk", name = "ToolButton"})
+    CInt ->                                 -- use_underline : TBasicType TBoolean
+    IO ()
+
+{- |
+If set, an underline in the label property indicates that the next character
+should be used for the mnemonic accelerator key in the overflow menu. For
+example, if the label property is “_Open” and /@useUnderline@/ is 'True',
+the label on the tool button will be “Open” and the item on the overflow
+menu will have an underlined “O”.
+
+Labels shown on tool buttons never have mnemonics on them; this property
+only affects the menu item on the overflow menu.
+
+/Since: 2.4/
+-}
+toolButtonSetUseUnderline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolButton a) =>
+    a
+    {- ^ /@button@/: a 'GI.Gtk.Objects.ToolButton.ToolButton' -}
+    -> Bool
+    {- ^ /@useUnderline@/: whether the button label has the form “_Open” -}
+    -> m ()
+toolButtonSetUseUnderline button useUnderline = liftIO $ do
+    button' <- unsafeManagedPtrCastPtr button
+    let useUnderline' = (fromIntegral . fromEnum) useUnderline
+    gtk_tool_button_set_use_underline button' useUnderline'
+    touchManagedPtr button
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolButtonSetUseUnderlineMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToolButton a) => O.MethodInfo ToolButtonSetUseUnderlineMethodInfo a signature where
+    overloadedMethod _ = toolButtonSetUseUnderline
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ToolButton.hs-boot b/GI/Gtk/Objects/ToolButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToolButton.hs-boot
@@ -0,0 +1,86 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ToolButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToolButton = ToolButton (ManagedPtr ToolButton)
+instance GObject ToolButton where
+class (GObject o, O.IsDescendantOf ToolButton o) => IsToolButton o
+instance (GObject o, O.IsDescendantOf ToolButton o) => IsToolButton o
+instance O.HasParentTypes ToolButton
+#if ENABLE_OVERLOADING
+data ToolButtonIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonIconWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonLabelWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonStockIdPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonUseUnderlinePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonClickedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonGetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonGetIconWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonGetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonGetLabelWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonGetStockIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonGetUseUnderlineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonSetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonSetIconWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonSetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonSetLabelWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonSetStockIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolButtonSetUseUnderlineMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ToolItem.hs b/GI/Gtk/Objects/ToolItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToolItem.hs
@@ -0,0 +1,2244 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+@/GtkToolItems/@ are widgets that can appear on a toolbar. To
+create a toolbar item that contain something else than a button, use
+'GI.Gtk.Objects.ToolItem.toolItemNew'. Use 'GI.Gtk.Objects.Container.containerAdd' to add a child
+widget to the tool item.
+
+For toolbar items that contain buttons, see the 'GI.Gtk.Objects.ToolButton.ToolButton',
+'GI.Gtk.Objects.ToggleToolButton.ToggleToolButton' and 'GI.Gtk.Objects.RadioToolButton.RadioToolButton' classes.
+
+See the 'GI.Gtk.Objects.Toolbar.Toolbar' class for a description of the toolbar widget, and
+'GI.Gtk.Interfaces.ToolShell.ToolShell' for a description of the tool shell interface.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ToolItem
+    ( 
+
+-- * Exported types
+    ToolItem(..)                            ,
+    IsToolItem                              ,
+    toToolItem                              ,
+    noToolItem                              ,
+
+
+ -- * Methods
+-- ** getEllipsizeMode #method:getEllipsizeMode#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetEllipsizeModeMethodInfo      ,
+#endif
+    toolItemGetEllipsizeMode                ,
+
+
+-- ** getExpand #method:getExpand#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetExpandMethodInfo             ,
+#endif
+    toolItemGetExpand                       ,
+
+
+-- ** getHomogeneous #method:getHomogeneous#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetHomogeneousMethodInfo        ,
+#endif
+    toolItemGetHomogeneous                  ,
+
+
+-- ** getIconSize #method:getIconSize#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetIconSizeMethodInfo           ,
+#endif
+    toolItemGetIconSize                     ,
+
+
+-- ** getIsImportant #method:getIsImportant#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetIsImportantMethodInfo        ,
+#endif
+    toolItemGetIsImportant                  ,
+
+
+-- ** getOrientation #method:getOrientation#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetOrientationMethodInfo        ,
+#endif
+    toolItemGetOrientation                  ,
+
+
+-- ** getProxyMenuItem #method:getProxyMenuItem#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetProxyMenuItemMethodInfo      ,
+#endif
+    toolItemGetProxyMenuItem                ,
+
+
+-- ** getReliefStyle #method:getReliefStyle#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetReliefStyleMethodInfo        ,
+#endif
+    toolItemGetReliefStyle                  ,
+
+
+-- ** getTextAlignment #method:getTextAlignment#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetTextAlignmentMethodInfo      ,
+#endif
+    toolItemGetTextAlignment                ,
+
+
+-- ** getTextOrientation #method:getTextOrientation#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetTextOrientationMethodInfo    ,
+#endif
+    toolItemGetTextOrientation              ,
+
+
+-- ** getTextSizeGroup #method:getTextSizeGroup#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetTextSizeGroupMethodInfo      ,
+#endif
+    toolItemGetTextSizeGroup                ,
+
+
+-- ** getToolbarStyle #method:getToolbarStyle#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetToolbarStyleMethodInfo       ,
+#endif
+    toolItemGetToolbarStyle                 ,
+
+
+-- ** getUseDragWindow #method:getUseDragWindow#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetUseDragWindowMethodInfo      ,
+#endif
+    toolItemGetUseDragWindow                ,
+
+
+-- ** getVisibleHorizontal #method:getVisibleHorizontal#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetVisibleHorizontalMethodInfo  ,
+#endif
+    toolItemGetVisibleHorizontal            ,
+
+
+-- ** getVisibleVertical #method:getVisibleVertical#
+
+#if ENABLE_OVERLOADING
+    ToolItemGetVisibleVerticalMethodInfo    ,
+#endif
+    toolItemGetVisibleVertical              ,
+
+
+-- ** new #method:new#
+
+    toolItemNew                             ,
+
+
+-- ** rebuildMenu #method:rebuildMenu#
+
+#if ENABLE_OVERLOADING
+    ToolItemRebuildMenuMethodInfo           ,
+#endif
+    toolItemRebuildMenu                     ,
+
+
+-- ** retrieveProxyMenuItem #method:retrieveProxyMenuItem#
+
+#if ENABLE_OVERLOADING
+    ToolItemRetrieveProxyMenuItemMethodInfo ,
+#endif
+    toolItemRetrieveProxyMenuItem           ,
+
+
+-- ** setExpand #method:setExpand#
+
+#if ENABLE_OVERLOADING
+    ToolItemSetExpandMethodInfo             ,
+#endif
+    toolItemSetExpand                       ,
+
+
+-- ** setHomogeneous #method:setHomogeneous#
+
+#if ENABLE_OVERLOADING
+    ToolItemSetHomogeneousMethodInfo        ,
+#endif
+    toolItemSetHomogeneous                  ,
+
+
+-- ** setIsImportant #method:setIsImportant#
+
+#if ENABLE_OVERLOADING
+    ToolItemSetIsImportantMethodInfo        ,
+#endif
+    toolItemSetIsImportant                  ,
+
+
+-- ** setProxyMenuItem #method:setProxyMenuItem#
+
+#if ENABLE_OVERLOADING
+    ToolItemSetProxyMenuItemMethodInfo      ,
+#endif
+    toolItemSetProxyMenuItem                ,
+
+
+-- ** setTooltipMarkup #method:setTooltipMarkup#
+
+#if ENABLE_OVERLOADING
+    ToolItemSetTooltipMarkupMethodInfo      ,
+#endif
+    toolItemSetTooltipMarkup                ,
+
+
+-- ** setTooltipText #method:setTooltipText#
+
+#if ENABLE_OVERLOADING
+    ToolItemSetTooltipTextMethodInfo        ,
+#endif
+    toolItemSetTooltipText                  ,
+
+
+-- ** setUseDragWindow #method:setUseDragWindow#
+
+#if ENABLE_OVERLOADING
+    ToolItemSetUseDragWindowMethodInfo      ,
+#endif
+    toolItemSetUseDragWindow                ,
+
+
+-- ** setVisibleHorizontal #method:setVisibleHorizontal#
+
+#if ENABLE_OVERLOADING
+    ToolItemSetVisibleHorizontalMethodInfo  ,
+#endif
+    toolItemSetVisibleHorizontal            ,
+
+
+-- ** setVisibleVertical #method:setVisibleVertical#
+
+#if ENABLE_OVERLOADING
+    ToolItemSetVisibleVerticalMethodInfo    ,
+#endif
+    toolItemSetVisibleVertical              ,
+
+
+-- ** toolbarReconfigured #method:toolbarReconfigured#
+
+#if ENABLE_OVERLOADING
+    ToolItemToolbarReconfiguredMethodInfo   ,
+#endif
+    toolItemToolbarReconfigured             ,
+
+
+
+
+ -- * Properties
+-- ** isImportant #attr:isImportant#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolItemIsImportantPropertyInfo         ,
+#endif
+    constructToolItemIsImportant            ,
+    getToolItemIsImportant                  ,
+    setToolItemIsImportant                  ,
+#if ENABLE_OVERLOADING
+    toolItemIsImportant                     ,
+#endif
+
+
+-- ** visibleHorizontal #attr:visibleHorizontal#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolItemVisibleHorizontalPropertyInfo   ,
+#endif
+    constructToolItemVisibleHorizontal      ,
+    getToolItemVisibleHorizontal            ,
+    setToolItemVisibleHorizontal            ,
+#if ENABLE_OVERLOADING
+    toolItemVisibleHorizontal               ,
+#endif
+
+
+-- ** visibleVertical #attr:visibleVertical#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolItemVisibleVerticalPropertyInfo     ,
+#endif
+    constructToolItemVisibleVertical        ,
+    getToolItemVisibleVertical              ,
+    setToolItemVisibleVertical              ,
+#if ENABLE_OVERLOADING
+    toolItemVisibleVertical                 ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** createMenuProxy #signal:createMenuProxy#
+
+    C_ToolItemCreateMenuProxyCallback       ,
+    ToolItemCreateMenuProxyCallback         ,
+#if ENABLE_OVERLOADING
+    ToolItemCreateMenuProxySignalInfo       ,
+#endif
+    afterToolItemCreateMenuProxy            ,
+    genClosure_ToolItemCreateMenuProxy      ,
+    mk_ToolItemCreateMenuProxyCallback      ,
+    noToolItemCreateMenuProxyCallback       ,
+    onToolItemCreateMenuProxy               ,
+    wrap_ToolItemCreateMenuProxyCallback    ,
+
+
+-- ** toolbarReconfigured #signal:toolbarReconfigured#
+
+    C_ToolItemToolbarReconfiguredCallback   ,
+    ToolItemToolbarReconfiguredCallback     ,
+#if ENABLE_OVERLOADING
+    ToolItemToolbarReconfiguredSignalInfo   ,
+#endif
+    afterToolItemToolbarReconfigured        ,
+    genClosure_ToolItemToolbarReconfigured  ,
+    mk_ToolItemToolbarReconfiguredCallback  ,
+    noToolItemToolbarReconfiguredCallback   ,
+    onToolItemToolbarReconfigured           ,
+    wrap_ToolItemToolbarReconfiguredCallback,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.SizeGroup as Gtk.SizeGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import qualified GI.Pango.Enums as Pango.Enums
+
+-- | Memory-managed wrapper type.
+newtype ToolItem = ToolItem (ManagedPtr ToolItem)
+foreign import ccall "gtk_tool_item_get_type"
+    c_gtk_tool_item_get_type :: IO GType
+
+instance GObject ToolItem where
+    gobjectType = c_gtk_tool_item_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToolItem`, for instance with `toToolItem`.
+class (GObject o, O.IsDescendantOf ToolItem o) => IsToolItem o
+instance (GObject o, O.IsDescendantOf ToolItem o) => IsToolItem o
+
+instance O.HasParentTypes ToolItem
+type instance O.ParentTypes ToolItem = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable]
+
+-- | Cast to `ToolItem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToolItem :: (MonadIO m, IsToolItem o) => o -> m ToolItem
+toToolItem = liftIO . unsafeCastTo ToolItem
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToolItem`.
+noToolItem :: Maybe ToolItem
+noToolItem = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToolItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToolItemMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveToolItemMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveToolItemMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveToolItemMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveToolItemMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveToolItemMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveToolItemMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveToolItemMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveToolItemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToolItemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToolItemMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveToolItemMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveToolItemMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveToolItemMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveToolItemMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveToolItemMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveToolItemMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveToolItemMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveToolItemMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveToolItemMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveToolItemMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveToolItemMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveToolItemMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveToolItemMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveToolItemMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveToolItemMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveToolItemMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveToolItemMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveToolItemMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveToolItemMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveToolItemMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveToolItemMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveToolItemMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveToolItemMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveToolItemMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveToolItemMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveToolItemMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveToolItemMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveToolItemMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveToolItemMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveToolItemMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveToolItemMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveToolItemMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveToolItemMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveToolItemMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveToolItemMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveToolItemMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveToolItemMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveToolItemMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveToolItemMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveToolItemMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveToolItemMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveToolItemMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveToolItemMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveToolItemMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveToolItemMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveToolItemMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveToolItemMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveToolItemMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveToolItemMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveToolItemMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveToolItemMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveToolItemMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveToolItemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToolItemMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveToolItemMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveToolItemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToolItemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToolItemMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveToolItemMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveToolItemMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveToolItemMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveToolItemMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveToolItemMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveToolItemMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveToolItemMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveToolItemMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveToolItemMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveToolItemMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveToolItemMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveToolItemMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveToolItemMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveToolItemMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveToolItemMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveToolItemMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveToolItemMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveToolItemMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveToolItemMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveToolItemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToolItemMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveToolItemMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveToolItemMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveToolItemMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveToolItemMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveToolItemMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveToolItemMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveToolItemMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveToolItemMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveToolItemMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveToolItemMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveToolItemMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveToolItemMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveToolItemMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveToolItemMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveToolItemMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveToolItemMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveToolItemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToolItemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToolItemMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveToolItemMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveToolItemMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveToolItemMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveToolItemMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveToolItemMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveToolItemMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveToolItemMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveToolItemMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveToolItemMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveToolItemMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveToolItemMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveToolItemMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveToolItemMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveToolItemMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveToolItemMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveToolItemMethod "rebuildMenu" o = ToolItemRebuildMenuMethodInfo
+    ResolveToolItemMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToolItemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToolItemMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveToolItemMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveToolItemMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveToolItemMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveToolItemMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveToolItemMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveToolItemMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveToolItemMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveToolItemMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveToolItemMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveToolItemMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveToolItemMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveToolItemMethod "retrieveProxyMenuItem" o = ToolItemRetrieveProxyMenuItemMethodInfo
+    ResolveToolItemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToolItemMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveToolItemMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveToolItemMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveToolItemMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveToolItemMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveToolItemMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveToolItemMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveToolItemMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveToolItemMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveToolItemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToolItemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToolItemMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveToolItemMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveToolItemMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveToolItemMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveToolItemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToolItemMethod "toolbarReconfigured" o = ToolItemToolbarReconfiguredMethodInfo
+    ResolveToolItemMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveToolItemMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveToolItemMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveToolItemMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveToolItemMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveToolItemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToolItemMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveToolItemMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveToolItemMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveToolItemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToolItemMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveToolItemMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveToolItemMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveToolItemMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveToolItemMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveToolItemMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveToolItemMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveToolItemMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveToolItemMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveToolItemMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveToolItemMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveToolItemMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveToolItemMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveToolItemMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveToolItemMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveToolItemMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveToolItemMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveToolItemMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveToolItemMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveToolItemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToolItemMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveToolItemMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveToolItemMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveToolItemMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveToolItemMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveToolItemMethod "getEllipsizeMode" o = ToolItemGetEllipsizeModeMethodInfo
+    ResolveToolItemMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveToolItemMethod "getExpand" o = ToolItemGetExpandMethodInfo
+    ResolveToolItemMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveToolItemMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveToolItemMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveToolItemMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveToolItemMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveToolItemMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveToolItemMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveToolItemMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveToolItemMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveToolItemMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveToolItemMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveToolItemMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveToolItemMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveToolItemMethod "getHomogeneous" o = ToolItemGetHomogeneousMethodInfo
+    ResolveToolItemMethod "getIconSize" o = ToolItemGetIconSizeMethodInfo
+    ResolveToolItemMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveToolItemMethod "getIsImportant" o = ToolItemGetIsImportantMethodInfo
+    ResolveToolItemMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveToolItemMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveToolItemMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveToolItemMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveToolItemMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveToolItemMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveToolItemMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveToolItemMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveToolItemMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveToolItemMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveToolItemMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveToolItemMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveToolItemMethod "getOrientation" o = ToolItemGetOrientationMethodInfo
+    ResolveToolItemMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveToolItemMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveToolItemMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveToolItemMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveToolItemMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveToolItemMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveToolItemMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveToolItemMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveToolItemMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveToolItemMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveToolItemMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveToolItemMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveToolItemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToolItemMethod "getProxyMenuItem" o = ToolItemGetProxyMenuItemMethodInfo
+    ResolveToolItemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToolItemMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveToolItemMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveToolItemMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveToolItemMethod "getReliefStyle" o = ToolItemGetReliefStyleMethodInfo
+    ResolveToolItemMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveToolItemMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveToolItemMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveToolItemMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveToolItemMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveToolItemMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveToolItemMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveToolItemMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveToolItemMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveToolItemMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveToolItemMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveToolItemMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveToolItemMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveToolItemMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveToolItemMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveToolItemMethod "getTextAlignment" o = ToolItemGetTextAlignmentMethodInfo
+    ResolveToolItemMethod "getTextOrientation" o = ToolItemGetTextOrientationMethodInfo
+    ResolveToolItemMethod "getTextSizeGroup" o = ToolItemGetTextSizeGroupMethodInfo
+    ResolveToolItemMethod "getToolbarStyle" o = ToolItemGetToolbarStyleMethodInfo
+    ResolveToolItemMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveToolItemMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveToolItemMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveToolItemMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveToolItemMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveToolItemMethod "getUseDragWindow" o = ToolItemGetUseDragWindowMethodInfo
+    ResolveToolItemMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveToolItemMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveToolItemMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveToolItemMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveToolItemMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveToolItemMethod "getVisibleHorizontal" o = ToolItemGetVisibleHorizontalMethodInfo
+    ResolveToolItemMethod "getVisibleVertical" o = ToolItemGetVisibleVerticalMethodInfo
+    ResolveToolItemMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveToolItemMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveToolItemMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveToolItemMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveToolItemMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveToolItemMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveToolItemMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveToolItemMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveToolItemMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveToolItemMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveToolItemMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveToolItemMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveToolItemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToolItemMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveToolItemMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveToolItemMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveToolItemMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveToolItemMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveToolItemMethod "setExpand" o = ToolItemSetExpandMethodInfo
+    ResolveToolItemMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveToolItemMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveToolItemMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveToolItemMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveToolItemMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveToolItemMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveToolItemMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveToolItemMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveToolItemMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveToolItemMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveToolItemMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveToolItemMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveToolItemMethod "setHomogeneous" o = ToolItemSetHomogeneousMethodInfo
+    ResolveToolItemMethod "setIsImportant" o = ToolItemSetIsImportantMethodInfo
+    ResolveToolItemMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveToolItemMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveToolItemMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveToolItemMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveToolItemMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveToolItemMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveToolItemMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveToolItemMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveToolItemMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveToolItemMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveToolItemMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveToolItemMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveToolItemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToolItemMethod "setProxyMenuItem" o = ToolItemSetProxyMenuItemMethodInfo
+    ResolveToolItemMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveToolItemMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveToolItemMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveToolItemMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveToolItemMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveToolItemMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveToolItemMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveToolItemMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveToolItemMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveToolItemMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveToolItemMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveToolItemMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveToolItemMethod "setTooltipMarkup" o = ToolItemSetTooltipMarkupMethodInfo
+    ResolveToolItemMethod "setTooltipText" o = ToolItemSetTooltipTextMethodInfo
+    ResolveToolItemMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveToolItemMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveToolItemMethod "setUseDragWindow" o = ToolItemSetUseDragWindowMethodInfo
+    ResolveToolItemMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveToolItemMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveToolItemMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveToolItemMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveToolItemMethod "setVisibleHorizontal" o = ToolItemSetVisibleHorizontalMethodInfo
+    ResolveToolItemMethod "setVisibleVertical" o = ToolItemSetVisibleVerticalMethodInfo
+    ResolveToolItemMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveToolItemMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveToolItemMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToolItemMethod t ToolItem, O.MethodInfo info ToolItem p) => OL.IsLabel t (ToolItem -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal ToolItem::create-menu-proxy
+{- |
+This signal is emitted when the toolbar needs information from /@toolItem@/
+about whether the item should appear in the toolbar overflow menu. In
+response the tool item should either
+
+* call 'GI.Gtk.Objects.ToolItem.toolItemSetProxyMenuItem' with a 'Nothing'
+pointer and return 'True' to indicate that the item should not appear
+in the overflow menu
+* call 'GI.Gtk.Objects.ToolItem.toolItemSetProxyMenuItem' with a new menu
+item and return 'True', or
+* return 'False' to indicate that the signal was not handled by the item.
+This means that the item will not appear in the overflow menu unless
+a later handler installs a menu item.
+
+
+The toolbar may cache the result of this signal. When the tool item changes
+how it will respond to this signal it must call 'GI.Gtk.Objects.ToolItem.toolItemRebuildMenu'
+to invalidate the cache and ensure that the toolbar rebuilds its overflow
+menu.
+-}
+type ToolItemCreateMenuProxyCallback =
+    IO Bool
+    {- ^ __Returns:__ 'True' if the signal was handled, 'False' if not -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToolItemCreateMenuProxyCallback`@.
+noToolItemCreateMenuProxyCallback :: Maybe ToolItemCreateMenuProxyCallback
+noToolItemCreateMenuProxyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToolItemCreateMenuProxyCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_ToolItemCreateMenuProxyCallback`.
+foreign import ccall "wrapper"
+    mk_ToolItemCreateMenuProxyCallback :: C_ToolItemCreateMenuProxyCallback -> IO (FunPtr C_ToolItemCreateMenuProxyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToolItemCreateMenuProxy :: MonadIO m => ToolItemCreateMenuProxyCallback -> m (GClosure C_ToolItemCreateMenuProxyCallback)
+genClosure_ToolItemCreateMenuProxy cb = liftIO $ do
+    let cb' = wrap_ToolItemCreateMenuProxyCallback cb
+    mk_ToolItemCreateMenuProxyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToolItemCreateMenuProxyCallback` into a `C_ToolItemCreateMenuProxyCallback`.
+wrap_ToolItemCreateMenuProxyCallback ::
+    ToolItemCreateMenuProxyCallback ->
+    C_ToolItemCreateMenuProxyCallback
+wrap_ToolItemCreateMenuProxyCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@create-menu-proxy@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toolItem #createMenuProxy callback
+@
+-}
+onToolItemCreateMenuProxy :: (IsToolItem a, MonadIO m) => a -> ToolItemCreateMenuProxyCallback -> m SignalHandlerId
+onToolItemCreateMenuProxy obj cb = liftIO $ do
+    let cb' = wrap_ToolItemCreateMenuProxyCallback cb
+    cb'' <- mk_ToolItemCreateMenuProxyCallback cb'
+    connectSignalFunPtr obj "create-menu-proxy" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@create-menu-proxy@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toolItem #createMenuProxy callback
+@
+-}
+afterToolItemCreateMenuProxy :: (IsToolItem a, MonadIO m) => a -> ToolItemCreateMenuProxyCallback -> m SignalHandlerId
+afterToolItemCreateMenuProxy obj cb = liftIO $ do
+    let cb' = wrap_ToolItemCreateMenuProxyCallback cb
+    cb'' <- mk_ToolItemCreateMenuProxyCallback cb'
+    connectSignalFunPtr obj "create-menu-proxy" cb'' SignalConnectAfter
+
+
+-- signal ToolItem::toolbar-reconfigured
+{- |
+This signal is emitted when some property of the toolbar that the
+item is a child of changes. For custom subclasses of 'GI.Gtk.Objects.ToolItem.ToolItem',
+the default handler of this signal use the functions
+
+* 'GI.Gtk.Interfaces.ToolShell.toolShellGetOrientation'
+* 'GI.Gtk.Interfaces.ToolShell.toolShellGetStyle'
+* 'GI.Gtk.Interfaces.ToolShell.toolShellGetIconSize'
+* 'GI.Gtk.Interfaces.ToolShell.toolShellGetReliefStyle'
+
+to find out what the toolbar should look like and change
+themselves accordingly.
+-}
+type ToolItemToolbarReconfiguredCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToolItemToolbarReconfiguredCallback`@.
+noToolItemToolbarReconfiguredCallback :: Maybe ToolItemToolbarReconfiguredCallback
+noToolItemToolbarReconfiguredCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToolItemToolbarReconfiguredCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ToolItemToolbarReconfiguredCallback`.
+foreign import ccall "wrapper"
+    mk_ToolItemToolbarReconfiguredCallback :: C_ToolItemToolbarReconfiguredCallback -> IO (FunPtr C_ToolItemToolbarReconfiguredCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToolItemToolbarReconfigured :: MonadIO m => ToolItemToolbarReconfiguredCallback -> m (GClosure C_ToolItemToolbarReconfiguredCallback)
+genClosure_ToolItemToolbarReconfigured cb = liftIO $ do
+    let cb' = wrap_ToolItemToolbarReconfiguredCallback cb
+    mk_ToolItemToolbarReconfiguredCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToolItemToolbarReconfiguredCallback` into a `C_ToolItemToolbarReconfiguredCallback`.
+wrap_ToolItemToolbarReconfiguredCallback ::
+    ToolItemToolbarReconfiguredCallback ->
+    C_ToolItemToolbarReconfiguredCallback
+wrap_ToolItemToolbarReconfiguredCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@toolbar-reconfigured@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toolItem #toolbarReconfigured callback
+@
+-}
+onToolItemToolbarReconfigured :: (IsToolItem a, MonadIO m) => a -> ToolItemToolbarReconfiguredCallback -> m SignalHandlerId
+onToolItemToolbarReconfigured obj cb = liftIO $ do
+    let cb' = wrap_ToolItemToolbarReconfiguredCallback cb
+    cb'' <- mk_ToolItemToolbarReconfiguredCallback cb'
+    connectSignalFunPtr obj "toolbar-reconfigured" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toolbar-reconfigured@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toolItem #toolbarReconfigured callback
+@
+-}
+afterToolItemToolbarReconfigured :: (IsToolItem a, MonadIO m) => a -> ToolItemToolbarReconfiguredCallback -> m SignalHandlerId
+afterToolItemToolbarReconfigured obj cb = liftIO $ do
+    let cb' = wrap_ToolItemToolbarReconfiguredCallback cb
+    cb'' <- mk_ToolItemToolbarReconfiguredCallback cb'
+    connectSignalFunPtr obj "toolbar-reconfigured" cb'' SignalConnectAfter
+
+
+-- VVV Prop "is-important"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@is-important@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolItem #isImportant
+@
+-}
+getToolItemIsImportant :: (MonadIO m, IsToolItem o) => o -> m Bool
+getToolItemIsImportant obj = liftIO $ B.Properties.getObjectPropertyBool obj "is-important"
+
+{- |
+Set the value of the “@is-important@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolItem [ #isImportant 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolItemIsImportant :: (MonadIO m, IsToolItem o) => o -> Bool -> m ()
+setToolItemIsImportant obj val = liftIO $ B.Properties.setObjectPropertyBool obj "is-important" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@is-important@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolItemIsImportant :: (IsToolItem o) => Bool -> IO (GValueConstruct o)
+constructToolItemIsImportant val = B.Properties.constructObjectPropertyBool "is-important" val
+
+#if ENABLE_OVERLOADING
+data ToolItemIsImportantPropertyInfo
+instance AttrInfo ToolItemIsImportantPropertyInfo where
+    type AttrAllowedOps ToolItemIsImportantPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolItemIsImportantPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToolItemIsImportantPropertyInfo = IsToolItem
+    type AttrGetType ToolItemIsImportantPropertyInfo = Bool
+    type AttrLabel ToolItemIsImportantPropertyInfo = "is-important"
+    type AttrOrigin ToolItemIsImportantPropertyInfo = ToolItem
+    attrGet _ = getToolItemIsImportant
+    attrSet _ = setToolItemIsImportant
+    attrConstruct _ = constructToolItemIsImportant
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible-horizontal"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible-horizontal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolItem #visibleHorizontal
+@
+-}
+getToolItemVisibleHorizontal :: (MonadIO m, IsToolItem o) => o -> m Bool
+getToolItemVisibleHorizontal obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible-horizontal"
+
+{- |
+Set the value of the “@visible-horizontal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolItem [ #visibleHorizontal 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolItemVisibleHorizontal :: (MonadIO m, IsToolItem o) => o -> Bool -> m ()
+setToolItemVisibleHorizontal obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible-horizontal" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible-horizontal@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolItemVisibleHorizontal :: (IsToolItem o) => Bool -> IO (GValueConstruct o)
+constructToolItemVisibleHorizontal val = B.Properties.constructObjectPropertyBool "visible-horizontal" val
+
+#if ENABLE_OVERLOADING
+data ToolItemVisibleHorizontalPropertyInfo
+instance AttrInfo ToolItemVisibleHorizontalPropertyInfo where
+    type AttrAllowedOps ToolItemVisibleHorizontalPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolItemVisibleHorizontalPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToolItemVisibleHorizontalPropertyInfo = IsToolItem
+    type AttrGetType ToolItemVisibleHorizontalPropertyInfo = Bool
+    type AttrLabel ToolItemVisibleHorizontalPropertyInfo = "visible-horizontal"
+    type AttrOrigin ToolItemVisibleHorizontalPropertyInfo = ToolItem
+    attrGet _ = getToolItemVisibleHorizontal
+    attrSet _ = setToolItemVisibleHorizontal
+    attrConstruct _ = constructToolItemVisibleHorizontal
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible-vertical"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible-vertical@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolItem #visibleVertical
+@
+-}
+getToolItemVisibleVertical :: (MonadIO m, IsToolItem o) => o -> m Bool
+getToolItemVisibleVertical obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible-vertical"
+
+{- |
+Set the value of the “@visible-vertical@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolItem [ #visibleVertical 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolItemVisibleVertical :: (MonadIO m, IsToolItem o) => o -> Bool -> m ()
+setToolItemVisibleVertical obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible-vertical" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible-vertical@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolItemVisibleVertical :: (IsToolItem o) => Bool -> IO (GValueConstruct o)
+constructToolItemVisibleVertical val = B.Properties.constructObjectPropertyBool "visible-vertical" val
+
+#if ENABLE_OVERLOADING
+data ToolItemVisibleVerticalPropertyInfo
+instance AttrInfo ToolItemVisibleVerticalPropertyInfo where
+    type AttrAllowedOps ToolItemVisibleVerticalPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolItemVisibleVerticalPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToolItemVisibleVerticalPropertyInfo = IsToolItem
+    type AttrGetType ToolItemVisibleVerticalPropertyInfo = Bool
+    type AttrLabel ToolItemVisibleVerticalPropertyInfo = "visible-vertical"
+    type AttrOrigin ToolItemVisibleVerticalPropertyInfo = ToolItem
+    attrGet _ = getToolItemVisibleVertical
+    attrSet _ = setToolItemVisibleVertical
+    attrConstruct _ = constructToolItemVisibleVertical
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToolItem
+type instance O.AttributeList ToolItem = ToolItemAttributeList
+type ToolItemAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isImportant", ToolItemIsImportantPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("visibleHorizontal", ToolItemVisibleHorizontalPropertyInfo), '("visibleVertical", ToolItemVisibleVerticalPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+toolItemIsImportant :: AttrLabelProxy "isImportant"
+toolItemIsImportant = AttrLabelProxy
+
+toolItemVisibleHorizontal :: AttrLabelProxy "visibleHorizontal"
+toolItemVisibleHorizontal = AttrLabelProxy
+
+toolItemVisibleVertical :: AttrLabelProxy "visibleVertical"
+toolItemVisibleVertical = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ToolItemCreateMenuProxySignalInfo
+instance SignalInfo ToolItemCreateMenuProxySignalInfo where
+    type HaskellCallbackType ToolItemCreateMenuProxySignalInfo = ToolItemCreateMenuProxyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToolItemCreateMenuProxyCallback cb
+        cb'' <- mk_ToolItemCreateMenuProxyCallback cb'
+        connectSignalFunPtr obj "create-menu-proxy" cb'' connectMode
+
+data ToolItemToolbarReconfiguredSignalInfo
+instance SignalInfo ToolItemToolbarReconfiguredSignalInfo where
+    type HaskellCallbackType ToolItemToolbarReconfiguredSignalInfo = ToolItemToolbarReconfiguredCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToolItemToolbarReconfiguredCallback cb
+        cb'' <- mk_ToolItemToolbarReconfiguredCallback cb'
+        connectSignalFunPtr obj "toolbar-reconfigured" cb'' connectMode
+
+type instance O.SignalList ToolItem = ToolItemSignalList
+type ToolItemSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("createMenuProxy", ToolItemCreateMenuProxySignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toolbarReconfigured", ToolItemToolbarReconfiguredSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ToolItem::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_new" gtk_tool_item_new :: 
+    IO (Ptr ToolItem)
+
+{- |
+Creates a new 'GI.Gtk.Objects.ToolItem.ToolItem'
+
+/Since: 2.4/
+-}
+toolItemNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ToolItem
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+toolItemNew  = liftIO $ do
+    result <- gtk_tool_item_new
+    checkUnexpectedReturnNULL "toolItemNew" result
+    result' <- (newObject ToolItem) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToolItem::get_ellipsize_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "EllipsizeMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_ellipsize_mode" gtk_tool_item_get_ellipsize_mode :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CUInt
+
+{- |
+Returns the ellipsize mode used for /@toolItem@/. Custom subclasses of
+'GI.Gtk.Objects.ToolItem.ToolItem' should call this function to find out how text should
+be ellipsized.
+
+/Since: 2.20/
+-}
+toolItemGetEllipsizeMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Pango.Enums.EllipsizeMode
+    {- ^ __Returns:__ a 'GI.Pango.Enums.EllipsizeMode' indicating how text in /@toolItem@/
+should be ellipsized. -}
+toolItemGetEllipsizeMode toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_ellipsize_mode toolItem'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetEllipsizeModeMethodInfo
+instance (signature ~ (m Pango.Enums.EllipsizeMode), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetEllipsizeModeMethodInfo a signature where
+    overloadedMethod _ = toolItemGetEllipsizeMode
+
+#endif
+
+-- method ToolItem::get_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_expand" gtk_tool_item_get_expand :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CInt
+
+{- |
+Returns whether /@toolItem@/ is allocated extra space.
+See 'GI.Gtk.Objects.ToolItem.toolItemSetExpand'.
+
+/Since: 2.4/
+-}
+toolItemGetExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@toolItem@/ is allocated extra space. -}
+toolItemGetExpand toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_expand toolItem'
+    let result' = (/= 0) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetExpandMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetExpandMethodInfo a signature where
+    overloadedMethod _ = toolItemGetExpand
+
+#endif
+
+-- method ToolItem::get_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_homogeneous" gtk_tool_item_get_homogeneous :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CInt
+
+{- |
+Returns whether /@toolItem@/ is the same size as other homogeneous
+items. See 'GI.Gtk.Objects.ToolItem.toolItemSetHomogeneous'.
+
+/Since: 2.4/
+-}
+toolItemGetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the item is the same size as other homogeneous
+items. -}
+toolItemGetHomogeneous toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_homogeneous toolItem'
+    let result' = (/= 0) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetHomogeneousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = toolItemGetHomogeneous
+
+#endif
+
+-- method ToolItem::get_icon_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_icon_size" gtk_tool_item_get_icon_size :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO Int32
+
+{- |
+Returns the icon size used for /@toolItem@/. Custom subclasses of
+'GI.Gtk.Objects.ToolItem.ToolItem' should call this function to find out what size icons
+they should use.
+
+/Since: 2.4/
+-}
+toolItemGetIconSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Int32
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.IconSize' indicating the icon size
+used for /@toolItem@/ -}
+toolItemGetIconSize toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_icon_size toolItem'
+    touchManagedPtr toolItem
+    return result
+
+#if ENABLE_OVERLOADING
+data ToolItemGetIconSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetIconSizeMethodInfo a signature where
+    overloadedMethod _ = toolItemGetIconSize
+
+#endif
+
+-- method ToolItem::get_is_important
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_is_important" gtk_tool_item_get_is_important :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CInt
+
+{- |
+Returns whether /@toolItem@/ is considered important. See
+'GI.Gtk.Objects.ToolItem.toolItemSetIsImportant'
+
+/Since: 2.4/
+-}
+toolItemGetIsImportant ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@toolItem@/ is considered important. -}
+toolItemGetIsImportant toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_is_important toolItem'
+    let result' = (/= 0) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetIsImportantMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetIsImportantMethodInfo a signature where
+    overloadedMethod _ = toolItemGetIsImportant
+
+#endif
+
+-- method ToolItem::get_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Orientation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_orientation" gtk_tool_item_get_orientation :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CUInt
+
+{- |
+Returns the orientation used for /@toolItem@/. Custom subclasses of
+'GI.Gtk.Objects.ToolItem.ToolItem' should call this function to find out what size icons
+they should use.
+
+/Since: 2.4/
+-}
+toolItemGetOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Gtk.Enums.Orientation
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.Orientation' indicating the orientation
+used for /@toolItem@/ -}
+toolItemGetOrientation toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_orientation toolItem'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetOrientationMethodInfo
+instance (signature ~ (m Gtk.Enums.Orientation), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetOrientationMethodInfo a signature where
+    overloadedMethod _ = toolItemGetOrientation
+
+#endif
+
+-- method ToolItem::get_proxy_menu_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_item_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string used to identify the menu item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_proxy_menu_item" gtk_tool_item_get_proxy_menu_item :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CString ->                              -- menu_item_id : TBasicType TUTF8
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+If /@menuItemId@/ matches the string passed to
+'GI.Gtk.Objects.ToolItem.toolItemSetProxyMenuItem' return the corresponding 'GI.Gtk.Objects.MenuItem.MenuItem'.
+
+Custom subclasses of 'GI.Gtk.Objects.ToolItem.ToolItem' should use this function to
+update their menu item when the 'GI.Gtk.Objects.ToolItem.ToolItem' changes. That the
+/@menuItemIds@/ must match ensures that a 'GI.Gtk.Objects.ToolItem.ToolItem'
+will not inadvertently change a menu item that they did not create.
+
+/Since: 2.4/
+-}
+toolItemGetProxyMenuItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> T.Text
+    {- ^ /@menuItemId@/: a string used to identify the menu item -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ The 'GI.Gtk.Objects.MenuItem.MenuItem' passed to
+    'GI.Gtk.Objects.ToolItem.toolItemSetProxyMenuItem', if the /@menuItemIds@/
+    match. -}
+toolItemGetProxyMenuItem toolItem menuItemId = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    menuItemId' <- textToCString menuItemId
+    result <- gtk_tool_item_get_proxy_menu_item toolItem' menuItemId'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr toolItem
+    freeMem menuItemId'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ToolItemGetProxyMenuItemMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetProxyMenuItemMethodInfo a signature where
+    overloadedMethod _ = toolItemGetProxyMenuItem
+
+#endif
+
+-- method ToolItem::get_relief_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ReliefStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_relief_style" gtk_tool_item_get_relief_style :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CUInt
+
+{- |
+Returns the relief style of /@toolItem@/. See 'GI.Gtk.Objects.Button.buttonSetRelief'.
+Custom subclasses of 'GI.Gtk.Objects.ToolItem.ToolItem' should call this function in the handler
+of the 'GI.Gtk.Objects.ToolItem.ToolItem'::@/toolbar_reconfigured/@ signal to find out the
+relief style of buttons.
+
+/Since: 2.4/
+-}
+toolItemGetReliefStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Gtk.Enums.ReliefStyle
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.ReliefStyle' indicating the relief style used
+for /@toolItem@/. -}
+toolItemGetReliefStyle toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_relief_style toolItem'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetReliefStyleMethodInfo
+instance (signature ~ (m Gtk.Enums.ReliefStyle), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetReliefStyleMethodInfo a signature where
+    overloadedMethod _ = toolItemGetReliefStyle
+
+#endif
+
+-- method ToolItem::get_text_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem:", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFloat)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_text_alignment" gtk_tool_item_get_text_alignment :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CFloat
+
+{- |
+Returns the text alignment used for /@toolItem@/. Custom subclasses of
+'GI.Gtk.Objects.ToolItem.ToolItem' should call this function to find out how text should
+be aligned.
+
+/Since: 2.20/
+-}
+toolItemGetTextAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem': -}
+    -> m Float
+    {- ^ __Returns:__ a @/gfloat/@ indicating the horizontal text alignment
+used for /@toolItem@/ -}
+toolItemGetTextAlignment toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_text_alignment toolItem'
+    let result' = realToFrac result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetTextAlignmentMethodInfo
+instance (signature ~ (m Float), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetTextAlignmentMethodInfo a signature where
+    overloadedMethod _ = toolItemGetTextAlignment
+
+#endif
+
+-- method ToolItem::get_text_orientation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Orientation"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_text_orientation" gtk_tool_item_get_text_orientation :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CUInt
+
+{- |
+Returns the text orientation used for /@toolItem@/. Custom subclasses of
+'GI.Gtk.Objects.ToolItem.ToolItem' should call this function to find out how text should
+be orientated.
+
+/Since: 2.20/
+-}
+toolItemGetTextOrientation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Gtk.Enums.Orientation
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.Orientation' indicating the text orientation
+used for /@toolItem@/ -}
+toolItemGetTextOrientation toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_text_orientation toolItem'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetTextOrientationMethodInfo
+instance (signature ~ (m Gtk.Enums.Orientation), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetTextOrientationMethodInfo a signature where
+    overloadedMethod _ = toolItemGetTextOrientation
+
+#endif
+
+-- method ToolItem::get_text_size_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SizeGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_text_size_group" gtk_tool_item_get_text_size_group :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO (Ptr Gtk.SizeGroup.SizeGroup)
+
+{- |
+Returns the size group used for labels in /@toolItem@/.
+Custom subclasses of 'GI.Gtk.Objects.ToolItem.ToolItem' should call this function
+and use the size group for labels.
+
+/Since: 2.20/
+-}
+toolItemGetTextSizeGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Gtk.SizeGroup.SizeGroup
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.SizeGroup.SizeGroup' -}
+toolItemGetTextSizeGroup toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_text_size_group toolItem'
+    checkUnexpectedReturnNULL "toolItemGetTextSizeGroup" result
+    result' <- (newObject Gtk.SizeGroup.SizeGroup) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetTextSizeGroupMethodInfo
+instance (signature ~ (m Gtk.SizeGroup.SizeGroup), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetTextSizeGroupMethodInfo a signature where
+    overloadedMethod _ = toolItemGetTextSizeGroup
+
+#endif
+
+-- method ToolItem::get_toolbar_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_toolbar_style" gtk_tool_item_get_toolbar_style :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CUInt
+
+{- |
+Returns the toolbar style used for /@toolItem@/. Custom subclasses of
+'GI.Gtk.Objects.ToolItem.ToolItem' should call this function in the handler of the
+GtkToolItem::toolbar_reconfigured signal to find out in what style
+the toolbar is displayed and change themselves accordingly
+
+Possibilities are:
+
+* 'GI.Gtk.Enums.ToolbarStyleBoth', meaning the tool item should show
+both an icon and a label, stacked vertically
+* 'GI.Gtk.Enums.ToolbarStyleIcons', meaning the toolbar shows only icons
+* 'GI.Gtk.Enums.ToolbarStyleText', meaning the tool item should only show text
+* 'GI.Gtk.Enums.ToolbarStyleBothHoriz', meaning the tool item should show
+both an icon and a label, arranged horizontally
+
+
+/Since: 2.4/
+-}
+toolItemGetToolbarStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Gtk.Enums.ToolbarStyle
+    {- ^ __Returns:__ A 'GI.Gtk.Enums.ToolbarStyle' indicating the toolbar style used
+for /@toolItem@/. -}
+toolItemGetToolbarStyle toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_toolbar_style toolItem'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetToolbarStyleMethodInfo
+instance (signature ~ (m Gtk.Enums.ToolbarStyle), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetToolbarStyleMethodInfo a signature where
+    overloadedMethod _ = toolItemGetToolbarStyle
+
+#endif
+
+-- method ToolItem::get_use_drag_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_use_drag_window" gtk_tool_item_get_use_drag_window :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CInt
+
+{- |
+Returns whether /@toolItem@/ has a drag window. See
+'GI.Gtk.Objects.ToolItem.toolItemSetUseDragWindow'.
+
+/Since: 2.4/
+-}
+toolItemGetUseDragWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@toolItem@/ uses a drag window. -}
+toolItemGetUseDragWindow toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_use_drag_window toolItem'
+    let result' = (/= 0) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetUseDragWindowMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetUseDragWindowMethodInfo a signature where
+    overloadedMethod _ = toolItemGetUseDragWindow
+
+#endif
+
+-- method ToolItem::get_visible_horizontal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_visible_horizontal" gtk_tool_item_get_visible_horizontal :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CInt
+
+{- |
+Returns whether the /@toolItem@/ is visible on toolbars that are
+docked horizontally.
+
+/Since: 2.4/
+-}
+toolItemGetVisibleHorizontal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@toolItem@/ is visible on toolbars that are
+docked horizontally. -}
+toolItemGetVisibleHorizontal toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_visible_horizontal toolItem'
+    let result' = (/= 0) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetVisibleHorizontalMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetVisibleHorizontalMethodInfo a signature where
+    overloadedMethod _ = toolItemGetVisibleHorizontal
+
+#endif
+
+-- method ToolItem::get_visible_vertical
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_get_visible_vertical" gtk_tool_item_get_visible_vertical :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO CInt
+
+{- |
+Returns whether /@toolItem@/ is visible when the toolbar is docked vertically.
+See 'GI.Gtk.Objects.ToolItem.toolItemSetVisibleVertical'.
+
+/Since: 2.4/
+-}
+toolItemGetVisibleVertical ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Bool
+    {- ^ __Returns:__ Whether /@toolItem@/ is visible when the toolbar is docked vertically -}
+toolItemGetVisibleVertical toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_get_visible_vertical toolItem'
+    let result' = (/= 0) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGetVisibleVerticalMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemGetVisibleVerticalMethodInfo a signature where
+    overloadedMethod _ = toolItemGetVisibleVertical
+
+#endif
+
+-- method ToolItem::rebuild_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_rebuild_menu" gtk_tool_item_rebuild_menu :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO ()
+
+{- |
+Calling this function signals to the toolbar that the
+overflow menu item for /@toolItem@/ has changed. If the
+overflow menu is visible when this function it called,
+the menu will be rebuilt.
+
+The function must be called when the tool item changes what it
+will do in response to the 'GI.Gtk.Objects.ToolItem.ToolItem'::@/create-menu-proxy/@ signal.
+
+/Since: 2.6/
+-}
+toolItemRebuildMenu ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m ()
+toolItemRebuildMenu toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    gtk_tool_item_rebuild_menu toolItem'
+    touchManagedPtr toolItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemRebuildMenuMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemRebuildMenuMethodInfo a signature where
+    overloadedMethod _ = toolItemRebuildMenu
+
+#endif
+
+-- method ToolItem::retrieve_proxy_menu_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_retrieve_proxy_menu_item" gtk_tool_item_retrieve_proxy_menu_item :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the 'GI.Gtk.Objects.MenuItem.MenuItem' that was last set by
+'GI.Gtk.Objects.ToolItem.toolItemSetProxyMenuItem', ie. the 'GI.Gtk.Objects.MenuItem.MenuItem'
+that is going to appear in the overflow menu.
+
+/Since: 2.4/
+-}
+toolItemRetrieveProxyMenuItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ The 'GI.Gtk.Objects.MenuItem.MenuItem' that is going to appear in the
+overflow menu for /@toolItem@/. -}
+toolItemRetrieveProxyMenuItem toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    result <- gtk_tool_item_retrieve_proxy_menu_item toolItem'
+    checkUnexpectedReturnNULL "toolItemRetrieveProxyMenuItem" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr toolItem
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemRetrieveProxyMenuItemMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemRetrieveProxyMenuItemMethodInfo a signature where
+    overloadedMethod _ = toolItemRetrieveProxyMenuItem
+
+#endif
+
+-- method ToolItem::set_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether @tool_item is allocated extra space", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_set_expand" gtk_tool_item_set_expand :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@toolItem@/ is allocated extra space when there
+is more room on the toolbar then needed for the items. The
+effect is that the item gets bigger when the toolbar gets bigger
+and smaller when the toolbar gets smaller.
+
+/Since: 2.4/
+-}
+toolItemSetExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> Bool
+    {- ^ /@expand@/: Whether /@toolItem@/ is allocated extra space -}
+    -> m ()
+toolItemSetExpand toolItem expand = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_tool_item_set_expand toolItem' expand'
+    touchManagedPtr toolItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemSetExpandMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemSetExpandMethodInfo a signature where
+    overloadedMethod _ = toolItemSetExpand
+
+#endif
+
+-- method ToolItem::set_homogeneous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @tool_item is the same size as other homogeneous items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_set_homogeneous" gtk_tool_item_set_homogeneous :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@toolItem@/ is to be allocated the same size as other
+homogeneous items. The effect is that all homogeneous items will have
+the same width as the widest of the items.
+
+/Since: 2.4/
+-}
+toolItemSetHomogeneous ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> Bool
+    {- ^ /@homogeneous@/: whether /@toolItem@/ is the same size as other homogeneous items -}
+    -> m ()
+toolItemSetHomogeneous toolItem homogeneous = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    gtk_tool_item_set_homogeneous toolItem' homogeneous'
+    touchManagedPtr toolItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemSetHomogeneousMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemSetHomogeneousMethodInfo a signature where
+    overloadedMethod _ = toolItemSetHomogeneous
+
+#endif
+
+-- method ToolItem::set_is_important
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_important", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the tool item should be considered important", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_set_is_important" gtk_tool_item_set_is_important :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CInt ->                                 -- is_important : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@toolItem@/ should be considered important. The 'GI.Gtk.Objects.ToolButton.ToolButton'
+class uses this property to determine whether to show or hide its label
+when the toolbar style is 'GI.Gtk.Enums.ToolbarStyleBothHoriz'. The result is that
+only tool buttons with the “is_important” property set have labels, an
+effect known as “priority text”
+
+/Since: 2.4/
+-}
+toolItemSetIsImportant ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> Bool
+    {- ^ /@isImportant@/: whether the tool item should be considered important -}
+    -> m ()
+toolItemSetIsImportant toolItem isImportant = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    let isImportant' = (fromIntegral . fromEnum) isImportant
+    gtk_tool_item_set_is_important toolItem' isImportant'
+    touchManagedPtr toolItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemSetIsImportantMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemSetIsImportantMethodInfo a signature where
+    overloadedMethod _ = toolItemSetIsImportant
+
+#endif
+
+-- method ToolItem::set_proxy_menu_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_item_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string used to identify @menu_item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "menu_item", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkMenuItem to use in the overflow menu, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_set_proxy_menu_item" gtk_tool_item_set_proxy_menu_item :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CString ->                              -- menu_item_id : TBasicType TUTF8
+    Ptr Gtk.Widget.Widget ->                -- menu_item : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.MenuItem.MenuItem' used in the toolbar overflow menu. The
+/@menuItemId@/ is used to identify the caller of this function and
+should also be used with 'GI.Gtk.Objects.ToolItem.toolItemGetProxyMenuItem'.
+
+See also 'GI.Gtk.Objects.ToolItem.ToolItem'::@/create-menu-proxy/@.
+
+/Since: 2.4/
+-}
+toolItemSetProxyMenuItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> T.Text
+    {- ^ /@menuItemId@/: a string used to identify /@menuItem@/ -}
+    -> Maybe (b)
+    {- ^ /@menuItem@/: a 'GI.Gtk.Objects.MenuItem.MenuItem' to use in the overflow menu, or 'Nothing' -}
+    -> m ()
+toolItemSetProxyMenuItem toolItem menuItemId menuItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    menuItemId' <- textToCString menuItemId
+    maybeMenuItem <- case menuItem of
+        Nothing -> return nullPtr
+        Just jMenuItem -> do
+            jMenuItem' <- unsafeManagedPtrCastPtr jMenuItem
+            return jMenuItem'
+    gtk_tool_item_set_proxy_menu_item toolItem' menuItemId' maybeMenuItem
+    touchManagedPtr toolItem
+    whenJust menuItem touchManagedPtr
+    freeMem menuItemId'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemSetProxyMenuItemMethodInfo
+instance (signature ~ (T.Text -> Maybe (b) -> m ()), MonadIO m, IsToolItem a, Gtk.Widget.IsWidget b) => O.MethodInfo ToolItemSetProxyMenuItemMethodInfo a signature where
+    overloadedMethod _ = toolItemSetProxyMenuItem
+
+#endif
+
+-- method ToolItem::set_tooltip_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "markup text to be used as tooltip for @tool_item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_set_tooltip_markup" gtk_tool_item_set_tooltip_markup :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CString ->                              -- markup : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the markup text to be displayed as tooltip on the item.
+See 'GI.Gtk.Objects.Widget.widgetSetTooltipMarkup'.
+
+/Since: 2.12/
+-}
+toolItemSetTooltipMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> T.Text
+    {- ^ /@markup@/: markup text to be used as tooltip for /@toolItem@/ -}
+    -> m ()
+toolItemSetTooltipMarkup toolItem markup = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    markup' <- textToCString markup
+    gtk_tool_item_set_tooltip_markup toolItem' markup'
+    touchManagedPtr toolItem
+    freeMem markup'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemSetTooltipMarkupMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemSetTooltipMarkupMethodInfo a signature where
+    overloadedMethod _ = toolItemSetTooltipMarkup
+
+#endif
+
+-- method ToolItem::set_tooltip_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text to be used as tooltip for @tool_item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_set_tooltip_text" gtk_tool_item_set_tooltip_text :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text to be displayed as tooltip on the item.
+See 'GI.Gtk.Objects.Widget.widgetSetTooltipText'.
+
+/Since: 2.12/
+-}
+toolItemSetTooltipText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> T.Text
+    {- ^ /@text@/: text to be used as tooltip for /@toolItem@/ -}
+    -> m ()
+toolItemSetTooltipText toolItem text = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    text' <- textToCString text
+    gtk_tool_item_set_tooltip_text toolItem' text'
+    touchManagedPtr toolItem
+    freeMem text'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemSetTooltipTextMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemSetTooltipTextMethodInfo a signature where
+    overloadedMethod _ = toolItemSetTooltipText
+
+#endif
+
+-- method ToolItem::set_use_drag_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_drag_window", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether @tool_item has a drag window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_set_use_drag_window" gtk_tool_item_set_use_drag_window :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CInt ->                                 -- use_drag_window : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@toolItem@/ has a drag window. When 'True' the
+toolitem can be used as a drag source through 'GI.Gtk.Objects.Widget.widgetDragSourceSet'.
+When /@toolItem@/ has a drag window it will intercept all events,
+even those that would otherwise be sent to a child of /@toolItem@/.
+
+/Since: 2.4/
+-}
+toolItemSetUseDragWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> Bool
+    {- ^ /@useDragWindow@/: Whether /@toolItem@/ has a drag window. -}
+    -> m ()
+toolItemSetUseDragWindow toolItem useDragWindow = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    let useDragWindow' = (fromIntegral . fromEnum) useDragWindow
+    gtk_tool_item_set_use_drag_window toolItem' useDragWindow'
+    touchManagedPtr toolItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemSetUseDragWindowMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemSetUseDragWindowMethodInfo a signature where
+    overloadedMethod _ = toolItemSetUseDragWindow
+
+#endif
+
+-- method ToolItem::set_visible_horizontal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible_horizontal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether @tool_item is visible when in horizontal mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_set_visible_horizontal" gtk_tool_item_set_visible_horizontal :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CInt ->                                 -- visible_horizontal : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@toolItem@/ is visible when the toolbar is docked horizontally.
+
+/Since: 2.4/
+-}
+toolItemSetVisibleHorizontal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> Bool
+    {- ^ /@visibleHorizontal@/: Whether /@toolItem@/ is visible when in horizontal mode -}
+    -> m ()
+toolItemSetVisibleHorizontal toolItem visibleHorizontal = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    let visibleHorizontal' = (fromIntegral . fromEnum) visibleHorizontal
+    gtk_tool_item_set_visible_horizontal toolItem' visibleHorizontal'
+    touchManagedPtr toolItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemSetVisibleHorizontalMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemSetVisibleHorizontalMethodInfo a signature where
+    overloadedMethod _ = toolItemSetVisibleHorizontal
+
+#endif
+
+-- method ToolItem::set_visible_vertical
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible_vertical", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @tool_item is visible when the toolbar\nis in vertical mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_set_visible_vertical" gtk_tool_item_set_visible_vertical :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    CInt ->                                 -- visible_vertical : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@toolItem@/ is visible when the toolbar is docked
+vertically. Some tool items, such as text entries, are too wide to be
+useful on a vertically docked toolbar. If /@visibleVertical@/ is 'False'
+/@toolItem@/ will not appear on toolbars that are docked vertically.
+
+/Since: 2.4/
+-}
+toolItemSetVisibleVertical ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> Bool
+    {- ^ /@visibleVertical@/: whether /@toolItem@/ is visible when the toolbar
+is in vertical mode -}
+    -> m ()
+toolItemSetVisibleVertical toolItem visibleVertical = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    let visibleVertical' = (fromIntegral . fromEnum) visibleVertical
+    gtk_tool_item_set_visible_vertical toolItem' visibleVertical'
+    touchManagedPtr toolItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemSetVisibleVerticalMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemSetVisibleVerticalMethodInfo a signature where
+    overloadedMethod _ = toolItemSetVisibleVertical
+
+#endif
+
+-- method ToolItem::toolbar_reconfigured
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_toolbar_reconfigured" gtk_tool_item_toolbar_reconfigured :: 
+    Ptr ToolItem ->                         -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO ()
+
+{- |
+Emits the signal 'GI.Gtk.Objects.ToolItem.ToolItem'::@/toolbar_reconfigured/@ on /@toolItem@/.
+'GI.Gtk.Objects.Toolbar.Toolbar' and other 'GI.Gtk.Interfaces.ToolShell.ToolShell' implementations use this function
+to notify children, when some aspect of their configuration changes.
+
+/Since: 2.14/
+-}
+toolItemToolbarReconfigured ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItem a) =>
+    a
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m ()
+toolItemToolbarReconfigured toolItem = liftIO $ do
+    toolItem' <- unsafeManagedPtrCastPtr toolItem
+    gtk_tool_item_toolbar_reconfigured toolItem'
+    touchManagedPtr toolItem
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemToolbarReconfiguredMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsToolItem a) => O.MethodInfo ToolItemToolbarReconfiguredMethodInfo a signature where
+    overloadedMethod _ = toolItemToolbarReconfigured
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ToolItem.hs-boot b/GI/Gtk/Objects/ToolItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToolItem.hs-boot
@@ -0,0 +1,125 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ToolItem where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToolItem = ToolItem (ManagedPtr ToolItem)
+instance GObject ToolItem where
+class (GObject o, O.IsDescendantOf ToolItem o) => IsToolItem o
+instance (GObject o, O.IsDescendantOf ToolItem o) => IsToolItem o
+instance O.HasParentTypes ToolItem
+#if ENABLE_OVERLOADING
+data ToolItemIsImportantPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemVisibleHorizontalPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemVisibleVerticalPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemCreateMenuProxySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemToolbarReconfiguredSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetEllipsizeModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetIconSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetIsImportantMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetProxyMenuItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetReliefStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetTextAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetTextOrientationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetTextSizeGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetToolbarStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetUseDragWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetVisibleHorizontalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGetVisibleVerticalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemRebuildMenuMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemRetrieveProxyMenuItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemSetExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemSetHomogeneousMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemSetIsImportantMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemSetProxyMenuItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemSetTooltipMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemSetTooltipTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemSetUseDragWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemSetVisibleHorizontalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemSetVisibleVerticalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemToolbarReconfiguredMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ToolItemGroup.hs b/GI/Gtk/Objects/ToolItemGroup.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToolItemGroup.hs
@@ -0,0 +1,1597 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' is used together with 'GI.Gtk.Objects.ToolPalette.ToolPalette' to add
+@/GtkToolItems/@ to a palette like container with different
+categories and drag and drop support.
+
+= CSS nodes
+
+GtkToolItemGroup has a single CSS node named toolitemgroup.
+
+/Since: 2.20/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ToolItemGroup
+    ( 
+
+-- * Exported types
+    ToolItemGroup(..)                       ,
+    IsToolItemGroup                         ,
+    toToolItemGroup                         ,
+    noToolItemGroup                         ,
+
+
+ -- * Methods
+-- ** getCollapsed #method:getCollapsed#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupGetCollapsedMethodInfo     ,
+#endif
+    toolItemGroupGetCollapsed               ,
+
+
+-- ** getDropItem #method:getDropItem#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupGetDropItemMethodInfo      ,
+#endif
+    toolItemGroupGetDropItem                ,
+
+
+-- ** getEllipsize #method:getEllipsize#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupGetEllipsizeMethodInfo     ,
+#endif
+    toolItemGroupGetEllipsize               ,
+
+
+-- ** getHeaderRelief #method:getHeaderRelief#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupGetHeaderReliefMethodInfo  ,
+#endif
+    toolItemGroupGetHeaderRelief            ,
+
+
+-- ** getItemPosition #method:getItemPosition#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupGetItemPositionMethodInfo  ,
+#endif
+    toolItemGroupGetItemPosition            ,
+
+
+-- ** getLabel #method:getLabel#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupGetLabelMethodInfo         ,
+#endif
+    toolItemGroupGetLabel                   ,
+
+
+-- ** getLabelWidget #method:getLabelWidget#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupGetLabelWidgetMethodInfo   ,
+#endif
+    toolItemGroupGetLabelWidget             ,
+
+
+-- ** getNItems #method:getNItems#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupGetNItemsMethodInfo        ,
+#endif
+    toolItemGroupGetNItems                  ,
+
+
+-- ** getNthItem #method:getNthItem#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupGetNthItemMethodInfo       ,
+#endif
+    toolItemGroupGetNthItem                 ,
+
+
+-- ** insert #method:insert#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupInsertMethodInfo           ,
+#endif
+    toolItemGroupInsert                     ,
+
+
+-- ** new #method:new#
+
+    toolItemGroupNew                        ,
+
+
+-- ** setCollapsed #method:setCollapsed#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupSetCollapsedMethodInfo     ,
+#endif
+    toolItemGroupSetCollapsed               ,
+
+
+-- ** setEllipsize #method:setEllipsize#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupSetEllipsizeMethodInfo     ,
+#endif
+    toolItemGroupSetEllipsize               ,
+
+
+-- ** setHeaderRelief #method:setHeaderRelief#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupSetHeaderReliefMethodInfo  ,
+#endif
+    toolItemGroupSetHeaderRelief            ,
+
+
+-- ** setItemPosition #method:setItemPosition#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupSetItemPositionMethodInfo  ,
+#endif
+    toolItemGroupSetItemPosition            ,
+
+
+-- ** setLabel #method:setLabel#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupSetLabelMethodInfo         ,
+#endif
+    toolItemGroupSetLabel                   ,
+
+
+-- ** setLabelWidget #method:setLabelWidget#
+
+#if ENABLE_OVERLOADING
+    ToolItemGroupSetLabelWidgetMethodInfo   ,
+#endif
+    toolItemGroupSetLabelWidget             ,
+
+
+
+
+ -- * Properties
+-- ** collapsed #attr:collapsed#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolItemGroupCollapsedPropertyInfo      ,
+#endif
+    constructToolItemGroupCollapsed         ,
+    getToolItemGroupCollapsed               ,
+    setToolItemGroupCollapsed               ,
+#if ENABLE_OVERLOADING
+    toolItemGroupCollapsed                  ,
+#endif
+
+
+-- ** ellipsize #attr:ellipsize#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolItemGroupEllipsizePropertyInfo      ,
+#endif
+    constructToolItemGroupEllipsize         ,
+    getToolItemGroupEllipsize               ,
+    setToolItemGroupEllipsize               ,
+#if ENABLE_OVERLOADING
+    toolItemGroupEllipsize                  ,
+#endif
+
+
+-- ** headerRelief #attr:headerRelief#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolItemGroupHeaderReliefPropertyInfo   ,
+#endif
+    constructToolItemGroupHeaderRelief      ,
+    getToolItemGroupHeaderRelief            ,
+    setToolItemGroupHeaderRelief            ,
+#if ENABLE_OVERLOADING
+    toolItemGroupHeaderRelief               ,
+#endif
+
+
+-- ** label #attr:label#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolItemGroupLabelPropertyInfo          ,
+#endif
+    constructToolItemGroupLabel             ,
+    getToolItemGroupLabel                   ,
+    setToolItemGroupLabel                   ,
+#if ENABLE_OVERLOADING
+    toolItemGroupLabel                      ,
+#endif
+
+
+-- ** labelWidget #attr:labelWidget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolItemGroupLabelWidgetPropertyInfo    ,
+#endif
+    constructToolItemGroupLabelWidget       ,
+    getToolItemGroupLabelWidget             ,
+    setToolItemGroupLabelWidget             ,
+#if ENABLE_OVERLOADING
+    toolItemGroupLabelWidget                ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.ToolShell as Gtk.ToolShell
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolItem as Gtk.ToolItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import qualified GI.Pango.Enums as Pango.Enums
+
+-- | Memory-managed wrapper type.
+newtype ToolItemGroup = ToolItemGroup (ManagedPtr ToolItemGroup)
+foreign import ccall "gtk_tool_item_group_get_type"
+    c_gtk_tool_item_group_get_type :: IO GType
+
+instance GObject ToolItemGroup where
+    gobjectType = c_gtk_tool_item_group_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToolItemGroup`, for instance with `toToolItemGroup`.
+class (GObject o, O.IsDescendantOf ToolItemGroup o) => IsToolItemGroup o
+instance (GObject o, O.IsDescendantOf ToolItemGroup o) => IsToolItemGroup o
+
+instance O.HasParentTypes ToolItemGroup
+type instance O.ParentTypes ToolItemGroup = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.ToolShell.ToolShell]
+
+-- | Cast to `ToolItemGroup`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToolItemGroup :: (MonadIO m, IsToolItemGroup o) => o -> m ToolItemGroup
+toToolItemGroup = liftIO . unsafeCastTo ToolItemGroup
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToolItemGroup`.
+noToolItemGroup :: Maybe ToolItemGroup
+noToolItemGroup = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToolItemGroupMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToolItemGroupMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveToolItemGroupMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveToolItemGroupMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveToolItemGroupMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveToolItemGroupMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveToolItemGroupMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveToolItemGroupMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveToolItemGroupMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveToolItemGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToolItemGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToolItemGroupMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveToolItemGroupMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveToolItemGroupMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveToolItemGroupMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveToolItemGroupMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveToolItemGroupMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveToolItemGroupMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveToolItemGroupMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveToolItemGroupMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveToolItemGroupMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveToolItemGroupMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveToolItemGroupMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveToolItemGroupMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveToolItemGroupMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveToolItemGroupMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveToolItemGroupMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveToolItemGroupMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveToolItemGroupMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveToolItemGroupMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveToolItemGroupMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveToolItemGroupMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveToolItemGroupMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveToolItemGroupMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveToolItemGroupMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveToolItemGroupMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveToolItemGroupMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveToolItemGroupMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveToolItemGroupMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveToolItemGroupMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveToolItemGroupMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveToolItemGroupMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveToolItemGroupMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveToolItemGroupMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveToolItemGroupMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveToolItemGroupMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveToolItemGroupMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveToolItemGroupMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveToolItemGroupMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveToolItemGroupMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveToolItemGroupMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveToolItemGroupMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveToolItemGroupMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveToolItemGroupMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveToolItemGroupMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveToolItemGroupMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveToolItemGroupMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveToolItemGroupMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveToolItemGroupMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveToolItemGroupMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveToolItemGroupMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveToolItemGroupMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveToolItemGroupMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveToolItemGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToolItemGroupMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveToolItemGroupMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveToolItemGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToolItemGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToolItemGroupMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveToolItemGroupMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveToolItemGroupMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveToolItemGroupMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveToolItemGroupMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveToolItemGroupMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveToolItemGroupMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveToolItemGroupMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveToolItemGroupMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveToolItemGroupMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveToolItemGroupMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveToolItemGroupMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveToolItemGroupMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveToolItemGroupMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveToolItemGroupMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveToolItemGroupMethod "insert" o = ToolItemGroupInsertMethodInfo
+    ResolveToolItemGroupMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveToolItemGroupMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveToolItemGroupMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveToolItemGroupMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveToolItemGroupMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveToolItemGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToolItemGroupMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveToolItemGroupMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveToolItemGroupMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveToolItemGroupMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveToolItemGroupMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveToolItemGroupMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveToolItemGroupMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveToolItemGroupMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveToolItemGroupMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveToolItemGroupMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveToolItemGroupMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveToolItemGroupMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveToolItemGroupMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveToolItemGroupMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveToolItemGroupMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveToolItemGroupMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveToolItemGroupMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveToolItemGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToolItemGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToolItemGroupMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveToolItemGroupMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveToolItemGroupMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveToolItemGroupMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveToolItemGroupMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveToolItemGroupMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveToolItemGroupMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveToolItemGroupMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveToolItemGroupMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveToolItemGroupMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveToolItemGroupMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveToolItemGroupMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveToolItemGroupMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveToolItemGroupMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveToolItemGroupMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveToolItemGroupMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveToolItemGroupMethod "rebuildMenu" o = Gtk.ToolShell.ToolShellRebuildMenuMethodInfo
+    ResolveToolItemGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToolItemGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToolItemGroupMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveToolItemGroupMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveToolItemGroupMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveToolItemGroupMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveToolItemGroupMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveToolItemGroupMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveToolItemGroupMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveToolItemGroupMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveToolItemGroupMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveToolItemGroupMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveToolItemGroupMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveToolItemGroupMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveToolItemGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToolItemGroupMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveToolItemGroupMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveToolItemGroupMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveToolItemGroupMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveToolItemGroupMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveToolItemGroupMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveToolItemGroupMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveToolItemGroupMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveToolItemGroupMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveToolItemGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToolItemGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToolItemGroupMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveToolItemGroupMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveToolItemGroupMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveToolItemGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToolItemGroupMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveToolItemGroupMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveToolItemGroupMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveToolItemGroupMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveToolItemGroupMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveToolItemGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToolItemGroupMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveToolItemGroupMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveToolItemGroupMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveToolItemGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToolItemGroupMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveToolItemGroupMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveToolItemGroupMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveToolItemGroupMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveToolItemGroupMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveToolItemGroupMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveToolItemGroupMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveToolItemGroupMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveToolItemGroupMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveToolItemGroupMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveToolItemGroupMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveToolItemGroupMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveToolItemGroupMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveToolItemGroupMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveToolItemGroupMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveToolItemGroupMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveToolItemGroupMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveToolItemGroupMethod "getCollapsed" o = ToolItemGroupGetCollapsedMethodInfo
+    ResolveToolItemGroupMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveToolItemGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToolItemGroupMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveToolItemGroupMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveToolItemGroupMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveToolItemGroupMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveToolItemGroupMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveToolItemGroupMethod "getDropItem" o = ToolItemGroupGetDropItemMethodInfo
+    ResolveToolItemGroupMethod "getEllipsize" o = ToolItemGroupGetEllipsizeMethodInfo
+    ResolveToolItemGroupMethod "getEllipsizeMode" o = Gtk.ToolShell.ToolShellGetEllipsizeModeMethodInfo
+    ResolveToolItemGroupMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveToolItemGroupMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveToolItemGroupMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveToolItemGroupMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveToolItemGroupMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveToolItemGroupMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveToolItemGroupMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveToolItemGroupMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveToolItemGroupMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveToolItemGroupMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveToolItemGroupMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveToolItemGroupMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveToolItemGroupMethod "getHeaderRelief" o = ToolItemGroupGetHeaderReliefMethodInfo
+    ResolveToolItemGroupMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveToolItemGroupMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveToolItemGroupMethod "getIconSize" o = Gtk.ToolShell.ToolShellGetIconSizeMethodInfo
+    ResolveToolItemGroupMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveToolItemGroupMethod "getItemPosition" o = ToolItemGroupGetItemPositionMethodInfo
+    ResolveToolItemGroupMethod "getLabel" o = ToolItemGroupGetLabelMethodInfo
+    ResolveToolItemGroupMethod "getLabelWidget" o = ToolItemGroupGetLabelWidgetMethodInfo
+    ResolveToolItemGroupMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveToolItemGroupMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveToolItemGroupMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveToolItemGroupMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveToolItemGroupMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveToolItemGroupMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveToolItemGroupMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveToolItemGroupMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveToolItemGroupMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveToolItemGroupMethod "getNItems" o = ToolItemGroupGetNItemsMethodInfo
+    ResolveToolItemGroupMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveToolItemGroupMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveToolItemGroupMethod "getNthItem" o = ToolItemGroupGetNthItemMethodInfo
+    ResolveToolItemGroupMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveToolItemGroupMethod "getOrientation" o = Gtk.ToolShell.ToolShellGetOrientationMethodInfo
+    ResolveToolItemGroupMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveToolItemGroupMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveToolItemGroupMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveToolItemGroupMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveToolItemGroupMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveToolItemGroupMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveToolItemGroupMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveToolItemGroupMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveToolItemGroupMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveToolItemGroupMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveToolItemGroupMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveToolItemGroupMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveToolItemGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToolItemGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToolItemGroupMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveToolItemGroupMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveToolItemGroupMethod "getReliefStyle" o = Gtk.ToolShell.ToolShellGetReliefStyleMethodInfo
+    ResolveToolItemGroupMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveToolItemGroupMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveToolItemGroupMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveToolItemGroupMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveToolItemGroupMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveToolItemGroupMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveToolItemGroupMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveToolItemGroupMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveToolItemGroupMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveToolItemGroupMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveToolItemGroupMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveToolItemGroupMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveToolItemGroupMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveToolItemGroupMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveToolItemGroupMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveToolItemGroupMethod "getTextAlignment" o = Gtk.ToolShell.ToolShellGetTextAlignmentMethodInfo
+    ResolveToolItemGroupMethod "getTextOrientation" o = Gtk.ToolShell.ToolShellGetTextOrientationMethodInfo
+    ResolveToolItemGroupMethod "getTextSizeGroup" o = Gtk.ToolShell.ToolShellGetTextSizeGroupMethodInfo
+    ResolveToolItemGroupMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveToolItemGroupMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveToolItemGroupMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveToolItemGroupMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveToolItemGroupMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveToolItemGroupMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveToolItemGroupMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveToolItemGroupMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveToolItemGroupMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveToolItemGroupMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveToolItemGroupMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveToolItemGroupMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveToolItemGroupMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveToolItemGroupMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveToolItemGroupMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveToolItemGroupMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveToolItemGroupMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveToolItemGroupMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveToolItemGroupMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveToolItemGroupMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveToolItemGroupMethod "setCollapsed" o = ToolItemGroupSetCollapsedMethodInfo
+    ResolveToolItemGroupMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveToolItemGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToolItemGroupMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveToolItemGroupMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveToolItemGroupMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveToolItemGroupMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveToolItemGroupMethod "setEllipsize" o = ToolItemGroupSetEllipsizeMethodInfo
+    ResolveToolItemGroupMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveToolItemGroupMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveToolItemGroupMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveToolItemGroupMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveToolItemGroupMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveToolItemGroupMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveToolItemGroupMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveToolItemGroupMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveToolItemGroupMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveToolItemGroupMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveToolItemGroupMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveToolItemGroupMethod "setHeaderRelief" o = ToolItemGroupSetHeaderReliefMethodInfo
+    ResolveToolItemGroupMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveToolItemGroupMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveToolItemGroupMethod "setItemPosition" o = ToolItemGroupSetItemPositionMethodInfo
+    ResolveToolItemGroupMethod "setLabel" o = ToolItemGroupSetLabelMethodInfo
+    ResolveToolItemGroupMethod "setLabelWidget" o = ToolItemGroupSetLabelWidgetMethodInfo
+    ResolveToolItemGroupMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveToolItemGroupMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveToolItemGroupMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveToolItemGroupMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveToolItemGroupMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveToolItemGroupMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveToolItemGroupMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveToolItemGroupMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveToolItemGroupMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveToolItemGroupMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveToolItemGroupMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveToolItemGroupMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveToolItemGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToolItemGroupMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveToolItemGroupMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveToolItemGroupMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveToolItemGroupMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveToolItemGroupMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveToolItemGroupMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveToolItemGroupMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveToolItemGroupMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveToolItemGroupMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveToolItemGroupMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveToolItemGroupMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveToolItemGroupMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveToolItemGroupMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveToolItemGroupMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveToolItemGroupMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveToolItemGroupMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveToolItemGroupMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveToolItemGroupMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveToolItemGroupMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveToolItemGroupMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveToolItemGroupMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToolItemGroupMethod t ToolItemGroup, O.MethodInfo info ToolItemGroup p) => OL.IsLabel t (ToolItemGroup -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "collapsed"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@collapsed@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolItemGroup #collapsed
+@
+-}
+getToolItemGroupCollapsed :: (MonadIO m, IsToolItemGroup o) => o -> m Bool
+getToolItemGroupCollapsed obj = liftIO $ B.Properties.getObjectPropertyBool obj "collapsed"
+
+{- |
+Set the value of the “@collapsed@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolItemGroup [ #collapsed 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolItemGroupCollapsed :: (MonadIO m, IsToolItemGroup o) => o -> Bool -> m ()
+setToolItemGroupCollapsed obj val = liftIO $ B.Properties.setObjectPropertyBool obj "collapsed" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@collapsed@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolItemGroupCollapsed :: (IsToolItemGroup o) => Bool -> IO (GValueConstruct o)
+constructToolItemGroupCollapsed val = B.Properties.constructObjectPropertyBool "collapsed" val
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupCollapsedPropertyInfo
+instance AttrInfo ToolItemGroupCollapsedPropertyInfo where
+    type AttrAllowedOps ToolItemGroupCollapsedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolItemGroupCollapsedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToolItemGroupCollapsedPropertyInfo = IsToolItemGroup
+    type AttrGetType ToolItemGroupCollapsedPropertyInfo = Bool
+    type AttrLabel ToolItemGroupCollapsedPropertyInfo = "collapsed"
+    type AttrOrigin ToolItemGroupCollapsedPropertyInfo = ToolItemGroup
+    attrGet _ = getToolItemGroupCollapsed
+    attrSet _ = setToolItemGroupCollapsed
+    attrConstruct _ = constructToolItemGroupCollapsed
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "ellipsize"
+   -- Type: TInterface (Name {namespace = "Pango", name = "EllipsizeMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@ellipsize@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolItemGroup #ellipsize
+@
+-}
+getToolItemGroupEllipsize :: (MonadIO m, IsToolItemGroup o) => o -> m Pango.Enums.EllipsizeMode
+getToolItemGroupEllipsize obj = liftIO $ B.Properties.getObjectPropertyEnum obj "ellipsize"
+
+{- |
+Set the value of the “@ellipsize@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolItemGroup [ #ellipsize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolItemGroupEllipsize :: (MonadIO m, IsToolItemGroup o) => o -> Pango.Enums.EllipsizeMode -> m ()
+setToolItemGroupEllipsize obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "ellipsize" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@ellipsize@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolItemGroupEllipsize :: (IsToolItemGroup o) => Pango.Enums.EllipsizeMode -> IO (GValueConstruct o)
+constructToolItemGroupEllipsize val = B.Properties.constructObjectPropertyEnum "ellipsize" val
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupEllipsizePropertyInfo
+instance AttrInfo ToolItemGroupEllipsizePropertyInfo where
+    type AttrAllowedOps ToolItemGroupEllipsizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolItemGroupEllipsizePropertyInfo = (~) Pango.Enums.EllipsizeMode
+    type AttrBaseTypeConstraint ToolItemGroupEllipsizePropertyInfo = IsToolItemGroup
+    type AttrGetType ToolItemGroupEllipsizePropertyInfo = Pango.Enums.EllipsizeMode
+    type AttrLabel ToolItemGroupEllipsizePropertyInfo = "ellipsize"
+    type AttrOrigin ToolItemGroupEllipsizePropertyInfo = ToolItemGroup
+    attrGet _ = getToolItemGroupEllipsize
+    attrSet _ = setToolItemGroupEllipsize
+    attrConstruct _ = constructToolItemGroupEllipsize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "header-relief"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ReliefStyle"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@header-relief@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolItemGroup #headerRelief
+@
+-}
+getToolItemGroupHeaderRelief :: (MonadIO m, IsToolItemGroup o) => o -> m Gtk.Enums.ReliefStyle
+getToolItemGroupHeaderRelief obj = liftIO $ B.Properties.getObjectPropertyEnum obj "header-relief"
+
+{- |
+Set the value of the “@header-relief@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolItemGroup [ #headerRelief 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolItemGroupHeaderRelief :: (MonadIO m, IsToolItemGroup o) => o -> Gtk.Enums.ReliefStyle -> m ()
+setToolItemGroupHeaderRelief obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "header-relief" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@header-relief@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolItemGroupHeaderRelief :: (IsToolItemGroup o) => Gtk.Enums.ReliefStyle -> IO (GValueConstruct o)
+constructToolItemGroupHeaderRelief val = B.Properties.constructObjectPropertyEnum "header-relief" val
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupHeaderReliefPropertyInfo
+instance AttrInfo ToolItemGroupHeaderReliefPropertyInfo where
+    type AttrAllowedOps ToolItemGroupHeaderReliefPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolItemGroupHeaderReliefPropertyInfo = (~) Gtk.Enums.ReliefStyle
+    type AttrBaseTypeConstraint ToolItemGroupHeaderReliefPropertyInfo = IsToolItemGroup
+    type AttrGetType ToolItemGroupHeaderReliefPropertyInfo = Gtk.Enums.ReliefStyle
+    type AttrLabel ToolItemGroupHeaderReliefPropertyInfo = "header-relief"
+    type AttrOrigin ToolItemGroupHeaderReliefPropertyInfo = ToolItemGroup
+    attrGet _ = getToolItemGroupHeaderRelief
+    attrSet _ = setToolItemGroupHeaderRelief
+    attrConstruct _ = constructToolItemGroupHeaderRelief
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "label"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolItemGroup #label
+@
+-}
+getToolItemGroupLabel :: (MonadIO m, IsToolItemGroup o) => o -> m T.Text
+getToolItemGroupLabel obj = liftIO $ checkUnexpectedNothing "getToolItemGroupLabel" $ B.Properties.getObjectPropertyString obj "label"
+
+{- |
+Set the value of the “@label@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolItemGroup [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolItemGroupLabel :: (MonadIO m, IsToolItemGroup o) => o -> T.Text -> m ()
+setToolItemGroupLabel obj val = liftIO $ B.Properties.setObjectPropertyString obj "label" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolItemGroupLabel :: (IsToolItemGroup o) => T.Text -> IO (GValueConstruct o)
+constructToolItemGroupLabel val = B.Properties.constructObjectPropertyString "label" (Just val)
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupLabelPropertyInfo
+instance AttrInfo ToolItemGroupLabelPropertyInfo where
+    type AttrAllowedOps ToolItemGroupLabelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolItemGroupLabelPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint ToolItemGroupLabelPropertyInfo = IsToolItemGroup
+    type AttrGetType ToolItemGroupLabelPropertyInfo = T.Text
+    type AttrLabel ToolItemGroupLabelPropertyInfo = "label"
+    type AttrOrigin ToolItemGroupLabelPropertyInfo = ToolItemGroup
+    attrGet _ = getToolItemGroupLabel
+    attrSet _ = setToolItemGroupLabel
+    attrConstruct _ = constructToolItemGroupLabel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "label-widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@label-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolItemGroup #labelWidget
+@
+-}
+getToolItemGroupLabelWidget :: (MonadIO m, IsToolItemGroup o) => o -> m Gtk.Widget.Widget
+getToolItemGroupLabelWidget obj = liftIO $ checkUnexpectedNothing "getToolItemGroupLabelWidget" $ B.Properties.getObjectPropertyObject obj "label-widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@label-widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolItemGroup [ #labelWidget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolItemGroupLabelWidget :: (MonadIO m, IsToolItemGroup o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setToolItemGroupLabelWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "label-widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@label-widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolItemGroupLabelWidget :: (IsToolItemGroup o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructToolItemGroupLabelWidget val = B.Properties.constructObjectPropertyObject "label-widget" (Just val)
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupLabelWidgetPropertyInfo
+instance AttrInfo ToolItemGroupLabelWidgetPropertyInfo where
+    type AttrAllowedOps ToolItemGroupLabelWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolItemGroupLabelWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint ToolItemGroupLabelWidgetPropertyInfo = IsToolItemGroup
+    type AttrGetType ToolItemGroupLabelWidgetPropertyInfo = Gtk.Widget.Widget
+    type AttrLabel ToolItemGroupLabelWidgetPropertyInfo = "label-widget"
+    type AttrOrigin ToolItemGroupLabelWidgetPropertyInfo = ToolItemGroup
+    attrGet _ = getToolItemGroupLabelWidget
+    attrSet _ = setToolItemGroupLabelWidget
+    attrConstruct _ = constructToolItemGroupLabelWidget
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToolItemGroup
+type instance O.AttributeList ToolItemGroup = ToolItemGroupAttributeList
+type ToolItemGroupAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("collapsed", ToolItemGroupCollapsedPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("ellipsize", ToolItemGroupEllipsizePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("headerRelief", ToolItemGroupHeaderReliefPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", ToolItemGroupLabelPropertyInfo), '("labelWidget", ToolItemGroupLabelWidgetPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+toolItemGroupCollapsed :: AttrLabelProxy "collapsed"
+toolItemGroupCollapsed = AttrLabelProxy
+
+toolItemGroupEllipsize :: AttrLabelProxy "ellipsize"
+toolItemGroupEllipsize = AttrLabelProxy
+
+toolItemGroupHeaderRelief :: AttrLabelProxy "headerRelief"
+toolItemGroupHeaderRelief = AttrLabelProxy
+
+toolItemGroupLabel :: AttrLabelProxy "label"
+toolItemGroupLabel = AttrLabelProxy
+
+toolItemGroupLabelWidget :: AttrLabelProxy "labelWidget"
+toolItemGroupLabelWidget = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ToolItemGroup = ToolItemGroupSignalList
+type ToolItemGroupSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ToolItemGroup::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the label of the new group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_new" gtk_tool_item_group_new :: 
+    CString ->                              -- label : TBasicType TUTF8
+    IO (Ptr ToolItemGroup)
+
+{- |
+Creates a new tool item group with label /@label@/.
+
+/Since: 2.20/
+-}
+toolItemGroupNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@label@/: the label of the new group -}
+    -> m ToolItemGroup
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup'. -}
+toolItemGroupNew label = liftIO $ do
+    label' <- textToCString label
+    result <- gtk_tool_item_group_new label'
+    checkUnexpectedReturnNULL "toolItemGroupNew" result
+    result' <- (newObject ToolItemGroup) result
+    freeMem label'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToolItemGroup::get_collapsed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_get_collapsed" gtk_tool_item_group_get_collapsed :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    IO CInt
+
+{- |
+Gets whether /@group@/ is collapsed or expanded.
+
+/Since: 2.20/
+-}
+toolItemGroupGetCollapsed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a GtkToolItemGroup -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@group@/ is collapsed, 'False' if it is expanded -}
+toolItemGroupGetCollapsed group = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_item_group_get_collapsed group'
+    let result' = (/= 0) result
+    touchManagedPtr group
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetCollapsedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupGetCollapsedMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupGetCollapsed
+
+#endif
+
+-- method ToolItemGroup::get_drop_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_get_drop_item" gtk_tool_item_group_get_drop_item :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO (Ptr Gtk.ToolItem.ToolItem)
+
+{- |
+Gets the tool item at position (x, y).
+
+/Since: 2.20/
+-}
+toolItemGroupGetDropItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> Int32
+    {- ^ /@x@/: the x position -}
+    -> Int32
+    {- ^ /@y@/: the y position -}
+    -> m Gtk.ToolItem.ToolItem
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.ToolItem.ToolItem' at position (x, y) -}
+toolItemGroupGetDropItem group x y = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_item_group_get_drop_item group' x y
+    checkUnexpectedReturnNULL "toolItemGroupGetDropItem" result
+    result' <- (newObject Gtk.ToolItem.ToolItem) result
+    touchManagedPtr group
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetDropItemMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Gtk.ToolItem.ToolItem), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupGetDropItemMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupGetDropItem
+
+#endif
+
+-- method ToolItemGroup::get_ellipsize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "EllipsizeMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_get_ellipsize" gtk_tool_item_group_get_ellipsize :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    IO CUInt
+
+{- |
+Gets the ellipsization mode of /@group@/.
+
+/Since: 2.20/
+-}
+toolItemGroupGetEllipsize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> m Pango.Enums.EllipsizeMode
+    {- ^ __Returns:__ the 'GI.Pango.Enums.EllipsizeMode' of /@group@/ -}
+toolItemGroupGetEllipsize group = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_item_group_get_ellipsize group'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr group
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetEllipsizeMethodInfo
+instance (signature ~ (m Pango.Enums.EllipsizeMode), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupGetEllipsizeMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupGetEllipsize
+
+#endif
+
+-- method ToolItemGroup::get_header_relief
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ReliefStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_get_header_relief" gtk_tool_item_group_get_header_relief :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    IO CUInt
+
+{- |
+Gets the relief mode of the header button of /@group@/.
+
+/Since: 2.20/
+-}
+toolItemGroupGetHeaderRelief ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> m Gtk.Enums.ReliefStyle
+    {- ^ __Returns:__ the 'GI.Gtk.Enums.ReliefStyle' -}
+toolItemGroupGetHeaderRelief group = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_item_group_get_header_relief group'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr group
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetHeaderReliefMethodInfo
+instance (signature ~ (m Gtk.Enums.ReliefStyle), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupGetHeaderReliefMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupGetHeaderRelief
+
+#endif
+
+-- method ToolItemGroup::get_item_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_get_item_position" gtk_tool_item_group_get_item_position :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    Ptr Gtk.ToolItem.ToolItem ->            -- item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO Int32
+
+{- |
+Gets the position of /@item@/ in /@group@/ as index.
+
+/Since: 2.20/
+-}
+toolItemGroupGetItemPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a, Gtk.ToolItem.IsToolItem b) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> b
+    {- ^ /@item@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> m Int32
+    {- ^ __Returns:__ the index of /@item@/ in /@group@/ or -1 if /@item@/ is no child of /@group@/ -}
+toolItemGroupGetItemPosition group item = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    item' <- unsafeManagedPtrCastPtr item
+    result <- gtk_tool_item_group_get_item_position group' item'
+    touchManagedPtr group
+    touchManagedPtr item
+    return result
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetItemPositionMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsToolItemGroup a, Gtk.ToolItem.IsToolItem b) => O.MethodInfo ToolItemGroupGetItemPositionMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupGetItemPosition
+
+#endif
+
+-- method ToolItemGroup::get_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_get_label" gtk_tool_item_group_get_label :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    IO CString
+
+{- |
+Gets the label of /@group@/.
+
+/Since: 2.20/
+-}
+toolItemGroupGetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> m T.Text
+    {- ^ __Returns:__ the label of /@group@/. The label is an internal string of /@group@/
+    and must not be modified. Note that 'Nothing' is returned if a custom
+    label has been set with 'GI.Gtk.Objects.ToolItemGroup.toolItemGroupSetLabelWidget' -}
+toolItemGroupGetLabel group = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_item_group_get_label group'
+    checkUnexpectedReturnNULL "toolItemGroupGetLabel" result
+    result' <- cstringToText result
+    touchManagedPtr group
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetLabelMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupGetLabelMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupGetLabel
+
+#endif
+
+-- method ToolItemGroup::get_label_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_get_label_widget" gtk_tool_item_group_get_label_widget :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the label widget of /@group@/.
+See 'GI.Gtk.Objects.ToolItemGroup.toolItemGroupSetLabelWidget'.
+
+/Since: 2.20/
+-}
+toolItemGroupGetLabelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the label widget of /@group@/ -}
+toolItemGroupGetLabelWidget group = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_item_group_get_label_widget group'
+    checkUnexpectedReturnNULL "toolItemGroupGetLabelWidget" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr group
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetLabelWidgetMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupGetLabelWidgetMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupGetLabelWidget
+
+#endif
+
+-- method ToolItemGroup::get_n_items
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_get_n_items" gtk_tool_item_group_get_n_items :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    IO Word32
+
+{- |
+Gets the number of tool items in /@group@/.
+
+/Since: 2.20/
+-}
+toolItemGroupGetNItems ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> m Word32
+    {- ^ __Returns:__ the number of tool items in /@group@/ -}
+toolItemGroupGetNItems group = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_item_group_get_n_items group'
+    touchManagedPtr group
+    return result
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetNItemsMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupGetNItemsMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupGetNItems
+
+#endif
+
+-- method ToolItemGroup::get_nth_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_get_nth_item" gtk_tool_item_group_get_nth_item :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    Word32 ->                               -- index : TBasicType TUInt
+    IO (Ptr Gtk.ToolItem.ToolItem)
+
+{- |
+Gets the tool item at /@index@/ in group.
+
+/Since: 2.20/
+-}
+toolItemGroupGetNthItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> Word32
+    {- ^ /@index@/: the index -}
+    -> m Gtk.ToolItem.ToolItem
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.ToolItem.ToolItem' at index -}
+toolItemGroupGetNthItem group index = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_item_group_get_nth_item group' index
+    checkUnexpectedReturnNULL "toolItemGroupGetNthItem" result
+    result' <- (newObject Gtk.ToolItem.ToolItem) result
+    touchManagedPtr group
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetNthItemMethodInfo
+instance (signature ~ (Word32 -> m Gtk.ToolItem.ToolItem), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupGetNthItemMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupGetNthItem
+
+#endif
+
+-- method ToolItemGroup::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkToolItem to insert into @group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position of @item in @group, starting with 0.\n    The position -1 means end of list.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_insert" gtk_tool_item_group_insert :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    Ptr Gtk.ToolItem.ToolItem ->            -- item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Inserts /@item@/ at /@position@/ in the list of children of /@group@/.
+
+/Since: 2.20/
+-}
+toolItemGroupInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a, Gtk.ToolItem.IsToolItem b) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> b
+    {- ^ /@item@/: the 'GI.Gtk.Objects.ToolItem.ToolItem' to insert into /@group@/ -}
+    -> Int32
+    {- ^ /@position@/: the position of /@item@/ in /@group@/, starting with 0.
+    The position -1 means end of list. -}
+    -> m ()
+toolItemGroupInsert group item position = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    item' <- unsafeManagedPtrCastPtr item
+    gtk_tool_item_group_insert group' item' position
+    touchManagedPtr group
+    touchManagedPtr item
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupInsertMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsToolItemGroup a, Gtk.ToolItem.IsToolItem b) => O.MethodInfo ToolItemGroupInsertMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupInsert
+
+#endif
+
+-- method ToolItemGroup::set_collapsed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collapsed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the @group should be collapsed or expanded", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_set_collapsed" gtk_tool_item_group_set_collapsed :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    CInt ->                                 -- collapsed : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the /@group@/ should be collapsed or expanded.
+
+/Since: 2.20/
+-}
+toolItemGroupSetCollapsed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> Bool
+    {- ^ /@collapsed@/: whether the /@group@/ should be collapsed or expanded -}
+    -> m ()
+toolItemGroupSetCollapsed group collapsed = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    let collapsed' = (fromIntegral . fromEnum) collapsed
+    gtk_tool_item_group_set_collapsed group' collapsed'
+    touchManagedPtr group
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetCollapsedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupSetCollapsedMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupSetCollapsed
+
+#endif
+
+-- method ToolItemGroup::set_ellipsize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ellipsize", argType = TInterface (Name {namespace = "Pango", name = "EllipsizeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #PangoEllipsizeMode labels in @group should use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_set_ellipsize" gtk_tool_item_group_set_ellipsize :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    CUInt ->                                -- ellipsize : TInterface (Name {namespace = "Pango", name = "EllipsizeMode"})
+    IO ()
+
+{- |
+Sets the ellipsization mode which should be used by labels in /@group@/.
+
+/Since: 2.20/
+-}
+toolItemGroupSetEllipsize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> Pango.Enums.EllipsizeMode
+    {- ^ /@ellipsize@/: the 'GI.Pango.Enums.EllipsizeMode' labels in /@group@/ should use -}
+    -> m ()
+toolItemGroupSetEllipsize group ellipsize = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    let ellipsize' = (fromIntegral . fromEnum) ellipsize
+    gtk_tool_item_group_set_ellipsize group' ellipsize'
+    touchManagedPtr group
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetEllipsizeMethodInfo
+instance (signature ~ (Pango.Enums.EllipsizeMode -> m ()), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupSetEllipsizeMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupSetEllipsize
+
+#endif
+
+-- method ToolItemGroup::set_header_relief
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "ReliefStyle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkReliefStyle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_set_header_relief" gtk_tool_item_group_set_header_relief :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    CUInt ->                                -- style : TInterface (Name {namespace = "Gtk", name = "ReliefStyle"})
+    IO ()
+
+{- |
+Set the button relief of the group header.
+See 'GI.Gtk.Objects.Button.buttonSetRelief' for details.
+
+/Since: 2.20/
+-}
+toolItemGroupSetHeaderRelief ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> Gtk.Enums.ReliefStyle
+    {- ^ /@style@/: the 'GI.Gtk.Enums.ReliefStyle' -}
+    -> m ()
+toolItemGroupSetHeaderRelief group style = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    let style' = (fromIntegral . fromEnum) style
+    gtk_tool_item_group_set_header_relief group' style'
+    touchManagedPtr group
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetHeaderReliefMethodInfo
+instance (signature ~ (Gtk.Enums.ReliefStyle -> m ()), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupSetHeaderReliefMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupSetHeaderRelief
+
+#endif
+
+-- method ToolItemGroup::set_item_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkToolItem to move to a new position, should\n    be a child of @group.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new position of @item in @group, starting with 0.\n    The position -1 means end of list.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_set_item_position" gtk_tool_item_group_set_item_position :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    Ptr Gtk.ToolItem.ToolItem ->            -- item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Sets the position of /@item@/ in the list of children of /@group@/.
+
+/Since: 2.20/
+-}
+toolItemGroupSetItemPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a, Gtk.ToolItem.IsToolItem b) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> b
+    {- ^ /@item@/: the 'GI.Gtk.Objects.ToolItem.ToolItem' to move to a new position, should
+    be a child of /@group@/. -}
+    -> Int32
+    {- ^ /@position@/: the new position of /@item@/ in /@group@/, starting with 0.
+    The position -1 means end of list. -}
+    -> m ()
+toolItemGroupSetItemPosition group item position = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    item' <- unsafeManagedPtrCastPtr item
+    gtk_tool_item_group_set_item_position group' item' position
+    touchManagedPtr group
+    touchManagedPtr item
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetItemPositionMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsToolItemGroup a, Gtk.ToolItem.IsToolItem b) => O.MethodInfo ToolItemGroupSetItemPositionMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupSetItemPosition
+
+#endif
+
+-- method ToolItemGroup::set_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new human-readable label of of the group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_set_label" gtk_tool_item_group_set_label :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    CString ->                              -- label : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the label of the tool item group. The label is displayed in the header
+of the group.
+
+/Since: 2.20/
+-}
+toolItemGroupSetLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> T.Text
+    {- ^ /@label@/: the new human-readable label of of the group -}
+    -> m ()
+toolItemGroupSetLabel group label = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    label' <- textToCString label
+    gtk_tool_item_group_set_label group' label'
+    touchManagedPtr group
+    freeMem label'
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetLabelMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsToolItemGroup a) => O.MethodInfo ToolItemGroupSetLabelMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupSetLabel
+
+#endif
+
+-- method ToolItemGroup::set_label_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to be displayed in place of the usual label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_item_group_set_label_widget" gtk_tool_item_group_set_label_widget :: 
+    Ptr ToolItemGroup ->                    -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    Ptr Gtk.Widget.Widget ->                -- label_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the label of the tool item group.
+The label widget is displayed in the header of the group, in place
+of the usual label.
+
+/Since: 2.20/
+-}
+toolItemGroupSetLabelWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolItemGroup a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> b
+    {- ^ /@labelWidget@/: the widget to be displayed in place of the usual label -}
+    -> m ()
+toolItemGroupSetLabelWidget group labelWidget = liftIO $ do
+    group' <- unsafeManagedPtrCastPtr group
+    labelWidget' <- unsafeManagedPtrCastPtr labelWidget
+    gtk_tool_item_group_set_label_widget group' labelWidget'
+    touchManagedPtr group
+    touchManagedPtr labelWidget
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetLabelWidgetMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsToolItemGroup a, Gtk.Widget.IsWidget b) => O.MethodInfo ToolItemGroupSetLabelWidgetMethodInfo a signature where
+    overloadedMethod _ = toolItemGroupSetLabelWidget
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ToolItemGroup.hs-boot b/GI/Gtk/Objects/ToolItemGroup.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToolItemGroup.hs-boot
@@ -0,0 +1,92 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ToolItemGroup where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToolItemGroup = ToolItemGroup (ManagedPtr ToolItemGroup)
+instance GObject ToolItemGroup where
+class (GObject o, O.IsDescendantOf ToolItemGroup o) => IsToolItemGroup o
+instance (GObject o, O.IsDescendantOf ToolItemGroup o) => IsToolItemGroup o
+instance O.HasParentTypes ToolItemGroup
+#if ENABLE_OVERLOADING
+data ToolItemGroupCollapsedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupEllipsizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupHeaderReliefPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupLabelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupLabelWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetCollapsedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetDropItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetEllipsizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetHeaderReliefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetItemPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetLabelWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetNItemsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupGetNthItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetCollapsedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetEllipsizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetHeaderReliefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetItemPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolItemGroupSetLabelWidgetMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ToolPalette.hs b/GI/Gtk/Objects/ToolPalette.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToolPalette.hs
@@ -0,0 +1,1796 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.ToolPalette.ToolPalette' allows you to add @/GtkToolItems/@ to a palette-like
+container with different categories and drag and drop support.
+
+A 'GI.Gtk.Objects.ToolPalette.ToolPalette' is created with a call to 'GI.Gtk.Objects.ToolPalette.toolPaletteNew'.
+
+@/GtkToolItems/@ cannot be added directly to a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -
+instead they are added to a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' which can than be added
+to a 'GI.Gtk.Objects.ToolPalette.ToolPalette'. To add a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' to a 'GI.Gtk.Objects.ToolPalette.ToolPalette',
+use 'GI.Gtk.Objects.Container.containerAdd'.
+
+
+=== /C code/
+>
+>GtkWidget *palette, *group;
+>GtkToolItem *item;
+>
+>palette = gtk_tool_palette_new ();
+>group = gtk_tool_item_group_new (_("Test Category"));
+>gtk_container_add (GTK_CONTAINER (palette), group);
+>
+>item = gtk_tool_button_new (NULL, _("_Open"));
+>gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "document-open");
+>gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
+
+
+The easiest way to use drag and drop with 'GI.Gtk.Objects.ToolPalette.ToolPalette' is to call
+'GI.Gtk.Objects.ToolPalette.toolPaletteAddDragDest' with the desired drag source /@palette@/
+and the desired drag target /@widget@/. Then 'GI.Gtk.Objects.ToolPalette.toolPaletteGetDragItem'
+can be used to get the dragged item in the 'GI.Gtk.Objects.Widget.Widget'::@/drag-data-received/@
+signal handler of the drag target.
+
+
+=== /C code/
+>
+>static void
+>passive_canvas_drag_data_received (GtkWidget        *widget,
+>                                   GdkDragContext   *context,
+>                                   gint              x,
+>                                   gint              y,
+>                                   GtkSelectionData *selection,
+>                                   guint             info,
+>                                   guint             time,
+>                                   gpointer          data)
+>{
+>  GtkWidget *palette;
+>  GtkWidget *item;
+>
+>  // Get the dragged item
+>  palette = gtk_widget_get_ancestor (gtk_drag_get_source_widget (context),
+>                                     GTK_TYPE_TOOL_PALETTE);
+>  if (palette != NULL)
+>    item = gtk_tool_palette_get_drag_item (GTK_TOOL_PALETTE (palette),
+>                                           selection);
+>
+>  // Do something with item
+>}
+>
+>GtkWidget *target, palette;
+>
+>palette = gtk_tool_palette_new ();
+>target = gtk_drawing_area_new ();
+>
+>g_signal_connect (G_OBJECT (target), "drag-data-received",
+>                  G_CALLBACK (passive_canvas_drag_data_received), NULL);
+>gtk_tool_palette_add_drag_dest (GTK_TOOL_PALETTE (palette), target,
+>                                GTK_DEST_DEFAULT_ALL,
+>                                GTK_TOOL_PALETTE_DRAG_ITEMS,
+>                                GDK_ACTION_COPY);
+
+
+= CSS nodes
+
+GtkToolPalette has a single CSS node named toolpalette.
+
+/Since: 2.20/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ToolPalette
+    ( 
+
+-- * Exported types
+    ToolPalette(..)                         ,
+    IsToolPalette                           ,
+    toToolPalette                           ,
+    noToolPalette                           ,
+
+
+ -- * Methods
+-- ** addDragDest #method:addDragDest#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteAddDragDestMethodInfo        ,
+#endif
+    toolPaletteAddDragDest                  ,
+
+
+-- ** getDragItem #method:getDragItem#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetDragItemMethodInfo        ,
+#endif
+    toolPaletteGetDragItem                  ,
+
+
+-- ** getDragTargetGroup #method:getDragTargetGroup#
+
+    toolPaletteGetDragTargetGroup           ,
+
+
+-- ** getDragTargetItem #method:getDragTargetItem#
+
+    toolPaletteGetDragTargetItem            ,
+
+
+-- ** getDropGroup #method:getDropGroup#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetDropGroupMethodInfo       ,
+#endif
+    toolPaletteGetDropGroup                 ,
+
+
+-- ** getDropItem #method:getDropItem#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetDropItemMethodInfo        ,
+#endif
+    toolPaletteGetDropItem                  ,
+
+
+-- ** getExclusive #method:getExclusive#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetExclusiveMethodInfo       ,
+#endif
+    toolPaletteGetExclusive                 ,
+
+
+-- ** getExpand #method:getExpand#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetExpandMethodInfo          ,
+#endif
+    toolPaletteGetExpand                    ,
+
+
+-- ** getGroupPosition #method:getGroupPosition#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetGroupPositionMethodInfo   ,
+#endif
+    toolPaletteGetGroupPosition             ,
+
+
+-- ** getHadjustment #method:getHadjustment#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetHadjustmentMethodInfo     ,
+#endif
+    toolPaletteGetHadjustment               ,
+
+
+-- ** getIconSize #method:getIconSize#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetIconSizeMethodInfo        ,
+#endif
+    toolPaletteGetIconSize                  ,
+
+
+-- ** getStyle #method:getStyle#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetStyleMethodInfo           ,
+#endif
+    toolPaletteGetStyle                     ,
+
+
+-- ** getVadjustment #method:getVadjustment#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteGetVadjustmentMethodInfo     ,
+#endif
+    toolPaletteGetVadjustment               ,
+
+
+-- ** new #method:new#
+
+    toolPaletteNew                          ,
+
+
+-- ** setDragSource #method:setDragSource#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteSetDragSourceMethodInfo      ,
+#endif
+    toolPaletteSetDragSource                ,
+
+
+-- ** setExclusive #method:setExclusive#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteSetExclusiveMethodInfo       ,
+#endif
+    toolPaletteSetExclusive                 ,
+
+
+-- ** setExpand #method:setExpand#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteSetExpandMethodInfo          ,
+#endif
+    toolPaletteSetExpand                    ,
+
+
+-- ** setGroupPosition #method:setGroupPosition#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteSetGroupPositionMethodInfo   ,
+#endif
+    toolPaletteSetGroupPosition             ,
+
+
+-- ** setIconSize #method:setIconSize#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteSetIconSizeMethodInfo        ,
+#endif
+    toolPaletteSetIconSize                  ,
+
+
+-- ** setStyle #method:setStyle#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteSetStyleMethodInfo           ,
+#endif
+    toolPaletteSetStyle                     ,
+
+
+-- ** unsetIconSize #method:unsetIconSize#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteUnsetIconSizeMethodInfo      ,
+#endif
+    toolPaletteUnsetIconSize                ,
+
+
+-- ** unsetStyle #method:unsetStyle#
+
+#if ENABLE_OVERLOADING
+    ToolPaletteUnsetStyleMethodInfo         ,
+#endif
+    toolPaletteUnsetStyle                   ,
+
+
+
+
+ -- * Properties
+-- ** iconSize #attr:iconSize#
+{- | The size of the icons in a tool palette. When this property is set,
+it overrides the default setting.
+
+This should only be used for special-purpose tool palettes, normal
+application tool palettes should respect the user preferences for the
+size of icons.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    ToolPaletteIconSizePropertyInfo         ,
+#endif
+    constructToolPaletteIconSize            ,
+    getToolPaletteIconSize                  ,
+    setToolPaletteIconSize                  ,
+#if ENABLE_OVERLOADING
+    toolPaletteIconSize                     ,
+#endif
+
+
+-- ** iconSizeSet #attr:iconSizeSet#
+{- | Is 'True' if the 'GI.Gtk.Objects.ToolPalette.ToolPalette':@/icon-size/@ property has been set.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    ToolPaletteIconSizeSetPropertyInfo      ,
+#endif
+    constructToolPaletteIconSizeSet         ,
+    getToolPaletteIconSizeSet               ,
+    setToolPaletteIconSizeSet               ,
+#if ENABLE_OVERLOADING
+    toolPaletteIconSizeSet                  ,
+#endif
+
+
+-- ** toolbarStyle #attr:toolbarStyle#
+{- | The style of items in the tool palette.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    ToolPaletteToolbarStylePropertyInfo     ,
+#endif
+    constructToolPaletteToolbarStyle        ,
+    getToolPaletteToolbarStyle              ,
+    setToolPaletteToolbarStyle              ,
+#if ENABLE_OVERLOADING
+    toolPaletteToolbarStyle                 ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Scrollable as Gtk.Scrollable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolItem as Gtk.ToolItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolItemGroup as Gtk.ToolItemGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SelectionData as Gtk.SelectionData
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetEntry as Gtk.TargetEntry
+
+-- | Memory-managed wrapper type.
+newtype ToolPalette = ToolPalette (ManagedPtr ToolPalette)
+foreign import ccall "gtk_tool_palette_get_type"
+    c_gtk_tool_palette_get_type :: IO GType
+
+instance GObject ToolPalette where
+    gobjectType = c_gtk_tool_palette_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToolPalette`, for instance with `toToolPalette`.
+class (GObject o, O.IsDescendantOf ToolPalette o) => IsToolPalette o
+instance (GObject o, O.IsDescendantOf ToolPalette o) => IsToolPalette o
+
+instance O.HasParentTypes ToolPalette
+type instance O.ParentTypes ToolPalette = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable, Gtk.Scrollable.Scrollable]
+
+-- | Cast to `ToolPalette`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToolPalette :: (MonadIO m, IsToolPalette o) => o -> m ToolPalette
+toToolPalette = liftIO . unsafeCastTo ToolPalette
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToolPalette`.
+noToolPalette :: Maybe ToolPalette
+noToolPalette = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToolPaletteMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToolPaletteMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveToolPaletteMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveToolPaletteMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveToolPaletteMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveToolPaletteMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveToolPaletteMethod "addDragDest" o = ToolPaletteAddDragDestMethodInfo
+    ResolveToolPaletteMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveToolPaletteMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveToolPaletteMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveToolPaletteMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToolPaletteMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToolPaletteMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveToolPaletteMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveToolPaletteMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveToolPaletteMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveToolPaletteMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveToolPaletteMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveToolPaletteMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveToolPaletteMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveToolPaletteMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveToolPaletteMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveToolPaletteMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveToolPaletteMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveToolPaletteMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveToolPaletteMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveToolPaletteMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveToolPaletteMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveToolPaletteMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveToolPaletteMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveToolPaletteMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveToolPaletteMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveToolPaletteMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveToolPaletteMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveToolPaletteMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveToolPaletteMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveToolPaletteMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveToolPaletteMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveToolPaletteMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveToolPaletteMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveToolPaletteMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveToolPaletteMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveToolPaletteMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveToolPaletteMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveToolPaletteMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveToolPaletteMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveToolPaletteMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveToolPaletteMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveToolPaletteMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveToolPaletteMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveToolPaletteMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveToolPaletteMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveToolPaletteMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveToolPaletteMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveToolPaletteMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveToolPaletteMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveToolPaletteMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveToolPaletteMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveToolPaletteMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveToolPaletteMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveToolPaletteMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveToolPaletteMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveToolPaletteMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveToolPaletteMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveToolPaletteMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToolPaletteMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveToolPaletteMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveToolPaletteMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToolPaletteMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToolPaletteMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveToolPaletteMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveToolPaletteMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveToolPaletteMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveToolPaletteMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveToolPaletteMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveToolPaletteMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveToolPaletteMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveToolPaletteMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveToolPaletteMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveToolPaletteMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveToolPaletteMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveToolPaletteMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveToolPaletteMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveToolPaletteMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveToolPaletteMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveToolPaletteMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveToolPaletteMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveToolPaletteMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveToolPaletteMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveToolPaletteMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToolPaletteMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveToolPaletteMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveToolPaletteMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveToolPaletteMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveToolPaletteMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveToolPaletteMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveToolPaletteMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveToolPaletteMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveToolPaletteMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveToolPaletteMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveToolPaletteMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveToolPaletteMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveToolPaletteMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveToolPaletteMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveToolPaletteMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveToolPaletteMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveToolPaletteMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveToolPaletteMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToolPaletteMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToolPaletteMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveToolPaletteMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveToolPaletteMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveToolPaletteMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveToolPaletteMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveToolPaletteMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveToolPaletteMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveToolPaletteMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveToolPaletteMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveToolPaletteMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveToolPaletteMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveToolPaletteMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveToolPaletteMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveToolPaletteMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveToolPaletteMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveToolPaletteMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveToolPaletteMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToolPaletteMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToolPaletteMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveToolPaletteMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveToolPaletteMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveToolPaletteMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveToolPaletteMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveToolPaletteMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveToolPaletteMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveToolPaletteMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveToolPaletteMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveToolPaletteMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveToolPaletteMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveToolPaletteMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveToolPaletteMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToolPaletteMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveToolPaletteMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveToolPaletteMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveToolPaletteMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveToolPaletteMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveToolPaletteMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveToolPaletteMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveToolPaletteMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveToolPaletteMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveToolPaletteMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToolPaletteMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToolPaletteMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveToolPaletteMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveToolPaletteMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveToolPaletteMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToolPaletteMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveToolPaletteMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveToolPaletteMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveToolPaletteMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveToolPaletteMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveToolPaletteMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToolPaletteMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveToolPaletteMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveToolPaletteMethod "unsetIconSize" o = ToolPaletteUnsetIconSizeMethodInfo
+    ResolveToolPaletteMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveToolPaletteMethod "unsetStyle" o = ToolPaletteUnsetStyleMethodInfo
+    ResolveToolPaletteMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToolPaletteMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveToolPaletteMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveToolPaletteMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveToolPaletteMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveToolPaletteMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveToolPaletteMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveToolPaletteMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveToolPaletteMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveToolPaletteMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveToolPaletteMethod "getBorder" o = Gtk.Scrollable.ScrollableGetBorderMethodInfo
+    ResolveToolPaletteMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveToolPaletteMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveToolPaletteMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveToolPaletteMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveToolPaletteMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveToolPaletteMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveToolPaletteMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveToolPaletteMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveToolPaletteMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveToolPaletteMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToolPaletteMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveToolPaletteMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveToolPaletteMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveToolPaletteMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveToolPaletteMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveToolPaletteMethod "getDragItem" o = ToolPaletteGetDragItemMethodInfo
+    ResolveToolPaletteMethod "getDropGroup" o = ToolPaletteGetDropGroupMethodInfo
+    ResolveToolPaletteMethod "getDropItem" o = ToolPaletteGetDropItemMethodInfo
+    ResolveToolPaletteMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveToolPaletteMethod "getExclusive" o = ToolPaletteGetExclusiveMethodInfo
+    ResolveToolPaletteMethod "getExpand" o = ToolPaletteGetExpandMethodInfo
+    ResolveToolPaletteMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveToolPaletteMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveToolPaletteMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveToolPaletteMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveToolPaletteMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveToolPaletteMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveToolPaletteMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveToolPaletteMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveToolPaletteMethod "getGroupPosition" o = ToolPaletteGetGroupPositionMethodInfo
+    ResolveToolPaletteMethod "getHadjustment" o = ToolPaletteGetHadjustmentMethodInfo
+    ResolveToolPaletteMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveToolPaletteMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveToolPaletteMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveToolPaletteMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveToolPaletteMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveToolPaletteMethod "getHscrollPolicy" o = Gtk.Scrollable.ScrollableGetHscrollPolicyMethodInfo
+    ResolveToolPaletteMethod "getIconSize" o = ToolPaletteGetIconSizeMethodInfo
+    ResolveToolPaletteMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveToolPaletteMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveToolPaletteMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveToolPaletteMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveToolPaletteMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveToolPaletteMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveToolPaletteMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveToolPaletteMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveToolPaletteMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveToolPaletteMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveToolPaletteMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveToolPaletteMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveToolPaletteMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveToolPaletteMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveToolPaletteMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveToolPaletteMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveToolPaletteMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveToolPaletteMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveToolPaletteMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveToolPaletteMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveToolPaletteMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveToolPaletteMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveToolPaletteMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveToolPaletteMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveToolPaletteMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveToolPaletteMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveToolPaletteMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToolPaletteMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToolPaletteMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveToolPaletteMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveToolPaletteMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveToolPaletteMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveToolPaletteMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveToolPaletteMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveToolPaletteMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveToolPaletteMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveToolPaletteMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveToolPaletteMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveToolPaletteMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveToolPaletteMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveToolPaletteMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveToolPaletteMethod "getStyle" o = ToolPaletteGetStyleMethodInfo
+    ResolveToolPaletteMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveToolPaletteMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveToolPaletteMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveToolPaletteMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveToolPaletteMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveToolPaletteMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveToolPaletteMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveToolPaletteMethod "getVadjustment" o = ToolPaletteGetVadjustmentMethodInfo
+    ResolveToolPaletteMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveToolPaletteMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveToolPaletteMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveToolPaletteMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveToolPaletteMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveToolPaletteMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveToolPaletteMethod "getVscrollPolicy" o = Gtk.Scrollable.ScrollableGetVscrollPolicyMethodInfo
+    ResolveToolPaletteMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveToolPaletteMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveToolPaletteMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveToolPaletteMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveToolPaletteMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveToolPaletteMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveToolPaletteMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveToolPaletteMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveToolPaletteMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveToolPaletteMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveToolPaletteMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveToolPaletteMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToolPaletteMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveToolPaletteMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveToolPaletteMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveToolPaletteMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveToolPaletteMethod "setDragSource" o = ToolPaletteSetDragSourceMethodInfo
+    ResolveToolPaletteMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveToolPaletteMethod "setExclusive" o = ToolPaletteSetExclusiveMethodInfo
+    ResolveToolPaletteMethod "setExpand" o = ToolPaletteSetExpandMethodInfo
+    ResolveToolPaletteMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveToolPaletteMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveToolPaletteMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveToolPaletteMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveToolPaletteMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveToolPaletteMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveToolPaletteMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveToolPaletteMethod "setGroupPosition" o = ToolPaletteSetGroupPositionMethodInfo
+    ResolveToolPaletteMethod "setHadjustment" o = Gtk.Scrollable.ScrollableSetHadjustmentMethodInfo
+    ResolveToolPaletteMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveToolPaletteMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveToolPaletteMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveToolPaletteMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveToolPaletteMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveToolPaletteMethod "setHscrollPolicy" o = Gtk.Scrollable.ScrollableSetHscrollPolicyMethodInfo
+    ResolveToolPaletteMethod "setIconSize" o = ToolPaletteSetIconSizeMethodInfo
+    ResolveToolPaletteMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveToolPaletteMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveToolPaletteMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveToolPaletteMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveToolPaletteMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveToolPaletteMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveToolPaletteMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveToolPaletteMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveToolPaletteMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveToolPaletteMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveToolPaletteMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveToolPaletteMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveToolPaletteMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveToolPaletteMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToolPaletteMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveToolPaletteMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveToolPaletteMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveToolPaletteMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveToolPaletteMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveToolPaletteMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveToolPaletteMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveToolPaletteMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveToolPaletteMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveToolPaletteMethod "setStyle" o = ToolPaletteSetStyleMethodInfo
+    ResolveToolPaletteMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveToolPaletteMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveToolPaletteMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveToolPaletteMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveToolPaletteMethod "setVadjustment" o = Gtk.Scrollable.ScrollableSetVadjustmentMethodInfo
+    ResolveToolPaletteMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveToolPaletteMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveToolPaletteMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveToolPaletteMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveToolPaletteMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveToolPaletteMethod "setVscrollPolicy" o = Gtk.Scrollable.ScrollableSetVscrollPolicyMethodInfo
+    ResolveToolPaletteMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveToolPaletteMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToolPaletteMethod t ToolPalette, O.MethodInfo info ToolPalette p) => OL.IsLabel t (ToolPalette -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "icon-size"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "IconSize"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolPalette #iconSize
+@
+-}
+getToolPaletteIconSize :: (MonadIO m, IsToolPalette o) => o -> m Gtk.Enums.IconSize
+getToolPaletteIconSize obj = liftIO $ B.Properties.getObjectPropertyEnum obj "icon-size"
+
+{- |
+Set the value of the “@icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolPalette [ #iconSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolPaletteIconSize :: (MonadIO m, IsToolPalette o) => o -> Gtk.Enums.IconSize -> m ()
+setToolPaletteIconSize obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "icon-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolPaletteIconSize :: (IsToolPalette o) => Gtk.Enums.IconSize -> IO (GValueConstruct o)
+constructToolPaletteIconSize val = B.Properties.constructObjectPropertyEnum "icon-size" val
+
+#if ENABLE_OVERLOADING
+data ToolPaletteIconSizePropertyInfo
+instance AttrInfo ToolPaletteIconSizePropertyInfo where
+    type AttrAllowedOps ToolPaletteIconSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolPaletteIconSizePropertyInfo = (~) Gtk.Enums.IconSize
+    type AttrBaseTypeConstraint ToolPaletteIconSizePropertyInfo = IsToolPalette
+    type AttrGetType ToolPaletteIconSizePropertyInfo = Gtk.Enums.IconSize
+    type AttrLabel ToolPaletteIconSizePropertyInfo = "icon-size"
+    type AttrOrigin ToolPaletteIconSizePropertyInfo = ToolPalette
+    attrGet _ = getToolPaletteIconSize
+    attrSet _ = setToolPaletteIconSize
+    attrConstruct _ = constructToolPaletteIconSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "icon-size-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon-size-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolPalette #iconSizeSet
+@
+-}
+getToolPaletteIconSizeSet :: (MonadIO m, IsToolPalette o) => o -> m Bool
+getToolPaletteIconSizeSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "icon-size-set"
+
+{- |
+Set the value of the “@icon-size-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolPalette [ #iconSizeSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolPaletteIconSizeSet :: (MonadIO m, IsToolPalette o) => o -> Bool -> m ()
+setToolPaletteIconSizeSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "icon-size-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-size-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolPaletteIconSizeSet :: (IsToolPalette o) => Bool -> IO (GValueConstruct o)
+constructToolPaletteIconSizeSet val = B.Properties.constructObjectPropertyBool "icon-size-set" val
+
+#if ENABLE_OVERLOADING
+data ToolPaletteIconSizeSetPropertyInfo
+instance AttrInfo ToolPaletteIconSizeSetPropertyInfo where
+    type AttrAllowedOps ToolPaletteIconSizeSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolPaletteIconSizeSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToolPaletteIconSizeSetPropertyInfo = IsToolPalette
+    type AttrGetType ToolPaletteIconSizeSetPropertyInfo = Bool
+    type AttrLabel ToolPaletteIconSizeSetPropertyInfo = "icon-size-set"
+    type AttrOrigin ToolPaletteIconSizeSetPropertyInfo = ToolPalette
+    attrGet _ = getToolPaletteIconSizeSet
+    attrSet _ = setToolPaletteIconSizeSet
+    attrConstruct _ = constructToolPaletteIconSizeSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "toolbar-style"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@toolbar-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolPalette #toolbarStyle
+@
+-}
+getToolPaletteToolbarStyle :: (MonadIO m, IsToolPalette o) => o -> m Gtk.Enums.ToolbarStyle
+getToolPaletteToolbarStyle obj = liftIO $ B.Properties.getObjectPropertyEnum obj "toolbar-style"
+
+{- |
+Set the value of the “@toolbar-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolPalette [ #toolbarStyle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolPaletteToolbarStyle :: (MonadIO m, IsToolPalette o) => o -> Gtk.Enums.ToolbarStyle -> m ()
+setToolPaletteToolbarStyle obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "toolbar-style" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@toolbar-style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolPaletteToolbarStyle :: (IsToolPalette o) => Gtk.Enums.ToolbarStyle -> IO (GValueConstruct o)
+constructToolPaletteToolbarStyle val = B.Properties.constructObjectPropertyEnum "toolbar-style" val
+
+#if ENABLE_OVERLOADING
+data ToolPaletteToolbarStylePropertyInfo
+instance AttrInfo ToolPaletteToolbarStylePropertyInfo where
+    type AttrAllowedOps ToolPaletteToolbarStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolPaletteToolbarStylePropertyInfo = (~) Gtk.Enums.ToolbarStyle
+    type AttrBaseTypeConstraint ToolPaletteToolbarStylePropertyInfo = IsToolPalette
+    type AttrGetType ToolPaletteToolbarStylePropertyInfo = Gtk.Enums.ToolbarStyle
+    type AttrLabel ToolPaletteToolbarStylePropertyInfo = "toolbar-style"
+    type AttrOrigin ToolPaletteToolbarStylePropertyInfo = ToolPalette
+    attrGet _ = getToolPaletteToolbarStyle
+    attrSet _ = setToolPaletteToolbarStyle
+    attrConstruct _ = constructToolPaletteToolbarStyle
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToolPalette
+type instance O.AttributeList ToolPalette = ToolPaletteAttributeList
+type ToolPaletteAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", Gtk.Scrollable.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hscrollPolicy", Gtk.Scrollable.ScrollableHscrollPolicyPropertyInfo), '("iconSize", ToolPaletteIconSizePropertyInfo), '("iconSizeSet", ToolPaletteIconSizeSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("toolbarStyle", ToolPaletteToolbarStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("vadjustment", Gtk.Scrollable.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.Scrollable.ScrollableVscrollPolicyPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+toolPaletteIconSize :: AttrLabelProxy "iconSize"
+toolPaletteIconSize = AttrLabelProxy
+
+toolPaletteIconSizeSet :: AttrLabelProxy "iconSizeSet"
+toolPaletteIconSizeSet = AttrLabelProxy
+
+toolPaletteToolbarStyle :: AttrLabelProxy "toolbarStyle"
+toolPaletteToolbarStyle = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ToolPalette = ToolPaletteSignalList
+type ToolPaletteSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ToolPalette::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolPalette"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_new" gtk_tool_palette_new :: 
+    IO (Ptr ToolPalette)
+
+{- |
+Creates a new tool palette.
+
+/Since: 2.20/
+-}
+toolPaletteNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ToolPalette
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+toolPaletteNew  = liftIO $ do
+    result <- gtk_tool_palette_new
+    checkUnexpectedReturnNULL "toolPaletteNew" result
+    result' <- (newObject ToolPalette) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToolPalette::add_drag_dest
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget which should be a drag destination for @palette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "DestDefaults"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the flags that specify what actions GTK+ should take for drops\n    on that widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TInterface (Name {namespace = "Gtk", name = "ToolPaletteDragTargets"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkToolPaletteDragTargets which the widget\n    should support", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkDragActions which the widget should suppport", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_add_drag_dest" gtk_tool_palette_add_drag_dest :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "DestDefaults"})
+    CUInt ->                                -- targets : TInterface (Name {namespace = "Gtk", name = "ToolPaletteDragTargets"})
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    IO ()
+
+{- |
+Sets /@palette@/ as drag source (see 'GI.Gtk.Objects.ToolPalette.toolPaletteSetDragSource')
+and sets /@widget@/ as a drag destination for drags from /@palette@/.
+See 'GI.Gtk.Objects.Widget.widgetDragDestSet'.
+
+/Since: 2.20/
+-}
+toolPaletteAddDragDest ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> b
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' which should be a drag destination for /@palette@/ -}
+    -> [Gtk.Flags.DestDefaults]
+    {- ^ /@flags@/: the flags that specify what actions GTK+ should take for drops
+    on that widget -}
+    -> [Gtk.Flags.ToolPaletteDragTargets]
+    {- ^ /@targets@/: the 'GI.Gtk.Flags.ToolPaletteDragTargets' which the widget
+    should support -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: the @/GdkDragActions/@ which the widget should suppport -}
+    -> m ()
+toolPaletteAddDragDest palette widget flags targets actions = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    widget' <- unsafeManagedPtrCastPtr widget
+    let flags' = gflagsToWord flags
+    let targets' = gflagsToWord targets
+    let actions' = gflagsToWord actions
+    gtk_tool_palette_add_drag_dest palette' widget' flags' targets' actions'
+    touchManagedPtr palette
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolPaletteAddDragDestMethodInfo
+instance (signature ~ (b -> [Gtk.Flags.DestDefaults] -> [Gtk.Flags.ToolPaletteDragTargets] -> [Gdk.Flags.DragAction] -> m ()), MonadIO m, IsToolPalette a, Gtk.Widget.IsWidget b) => O.MethodInfo ToolPaletteAddDragDestMethodInfo a signature where
+    overloadedMethod _ = toolPaletteAddDragDest
+
+#endif
+
+-- method ToolPalette::get_drag_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_drag_item" gtk_tool_palette_get_drag_item :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Ptr Gtk.SelectionData.SelectionData ->  -- selection : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Get the dragged item from the selection.
+This could be a 'GI.Gtk.Objects.ToolItem.ToolItem' or a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup'.
+
+/Since: 2.20/
+-}
+toolPaletteGetDragItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@selection@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the dragged item in selection -}
+toolPaletteGetDragItem palette selection = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    selection' <- unsafeManagedPtrGetPtr selection
+    result <- gtk_tool_palette_get_drag_item palette' selection'
+    checkUnexpectedReturnNULL "toolPaletteGetDragItem" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr palette
+    touchManagedPtr selection
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetDragItemMethodInfo
+instance (signature ~ (Gtk.SelectionData.SelectionData -> m Gtk.Widget.Widget), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteGetDragItemMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetDragItem
+
+#endif
+
+-- method ToolPalette::get_drop_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_drop_group" gtk_tool_palette_get_drop_group :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO (Ptr Gtk.ToolItemGroup.ToolItemGroup)
+
+{- |
+Gets the group at position (x, y).
+
+/Since: 2.20/
+-}
+toolPaletteGetDropGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> Int32
+    {- ^ /@x@/: the x position -}
+    -> Int32
+    {- ^ /@y@/: the y position -}
+    -> m (Maybe Gtk.ToolItemGroup.ToolItemGroup)
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' at position
+or 'Nothing' if there is no such group -}
+toolPaletteGetDropGroup palette x y = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    result <- gtk_tool_palette_get_drop_group palette' x y
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.ToolItemGroup.ToolItemGroup) result'
+        return result''
+    touchManagedPtr palette
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetDropGroupMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Maybe Gtk.ToolItemGroup.ToolItemGroup)), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteGetDropGroupMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetDropGroup
+
+#endif
+
+-- method ToolPalette::get_drop_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_drop_item" gtk_tool_palette_get_drop_item :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO (Ptr Gtk.ToolItem.ToolItem)
+
+{- |
+Gets the item at position (x, y).
+See 'GI.Gtk.Objects.ToolPalette.toolPaletteGetDropGroup'.
+
+/Since: 2.20/
+-}
+toolPaletteGetDropItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> Int32
+    {- ^ /@x@/: the x position -}
+    -> Int32
+    {- ^ /@y@/: the y position -}
+    -> m (Maybe Gtk.ToolItem.ToolItem)
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.ToolItem.ToolItem' at position or 'Nothing' if there is no such item -}
+toolPaletteGetDropItem palette x y = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    result <- gtk_tool_palette_get_drop_item palette' x y
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.ToolItem.ToolItem) result'
+        return result''
+    touchManagedPtr palette
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetDropItemMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Maybe Gtk.ToolItem.ToolItem)), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteGetDropItemMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetDropItem
+
+#endif
+
+-- method ToolPalette::get_exclusive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup which is a child of palette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_exclusive" gtk_tool_palette_get_exclusive :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Ptr Gtk.ToolItemGroup.ToolItemGroup ->  -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    IO CInt
+
+{- |
+Gets whether /@group@/ is exclusive or not.
+See 'GI.Gtk.Objects.ToolPalette.toolPaletteSetExclusive'.
+
+/Since: 2.20/
+-}
+toolPaletteGetExclusive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> b
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' which is a child of palette -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@group@/ is exclusive -}
+toolPaletteGetExclusive palette group = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_palette_get_exclusive palette' group'
+    let result' = (/= 0) result
+    touchManagedPtr palette
+    touchManagedPtr group
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetExclusiveMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) => O.MethodInfo ToolPaletteGetExclusiveMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetExclusive
+
+#endif
+
+-- method ToolPalette::get_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup which is a child of palette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_expand" gtk_tool_palette_get_expand :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Ptr Gtk.ToolItemGroup.ToolItemGroup ->  -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    IO CInt
+
+{- |
+Gets whether group should be given extra space.
+See 'GI.Gtk.Objects.ToolPalette.toolPaletteSetExpand'.
+
+/Since: 2.20/
+-}
+toolPaletteGetExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> b
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' which is a child of palette -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if group should be given extra space, 'False' otherwise -}
+toolPaletteGetExpand palette group = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_palette_get_expand palette' group'
+    let result' = (/= 0) result
+    touchManagedPtr palette
+    touchManagedPtr group
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetExpandMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) => O.MethodInfo ToolPaletteGetExpandMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetExpand
+
+#endif
+
+-- method ToolPalette::get_group_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_group_position" gtk_tool_palette_get_group_position :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Ptr Gtk.ToolItemGroup.ToolItemGroup ->  -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    IO Int32
+
+{- |
+Gets the position of /@group@/ in /@palette@/ as index.
+See 'GI.Gtk.Objects.ToolPalette.toolPaletteSetGroupPosition'.
+
+/Since: 2.20/
+-}
+toolPaletteGetGroupPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> b
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' -}
+    -> m Int32
+    {- ^ __Returns:__ the index of group or -1 if /@group@/ is not a child of /@palette@/ -}
+toolPaletteGetGroupPosition palette group = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    group' <- unsafeManagedPtrCastPtr group
+    result <- gtk_tool_palette_get_group_position palette' group'
+    touchManagedPtr palette
+    touchManagedPtr group
+    return result
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetGroupPositionMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) => O.MethodInfo ToolPaletteGetGroupPositionMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetGroupPosition
+
+#endif
+
+-- method ToolPalette::get_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_hadjustment" gtk_tool_palette_get_hadjustment :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED toolPaletteGetHadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetHadjustment'"] #-}
+{- |
+Gets the horizontal adjustment of the tool palette.
+
+/Since: 2.20/
+-}
+toolPaletteGetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ the horizontal adjustment of /@palette@/ -}
+toolPaletteGetHadjustment palette = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    result <- gtk_tool_palette_get_hadjustment palette'
+    checkUnexpectedReturnNULL "toolPaletteGetHadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr palette
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetHadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteGetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetHadjustment
+
+#endif
+
+-- method ToolPalette::get_icon_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_icon_size" gtk_tool_palette_get_icon_size :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    IO Int32
+
+{- |
+Gets the size of icons in the tool palette.
+See 'GI.Gtk.Objects.ToolPalette.toolPaletteSetIconSize'.
+
+/Since: 2.20/
+-}
+toolPaletteGetIconSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> m Int32
+    {- ^ __Returns:__ the 'GI.Gtk.Enums.IconSize' of icons in the tool palette -}
+toolPaletteGetIconSize palette = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    result <- gtk_tool_palette_get_icon_size palette'
+    touchManagedPtr palette
+    return result
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetIconSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteGetIconSizeMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetIconSize
+
+#endif
+
+-- method ToolPalette::get_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_style" gtk_tool_palette_get_style :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    IO CUInt
+
+{- |
+Gets the style (icons, text or both) of items in the tool palette.
+
+/Since: 2.20/
+-}
+toolPaletteGetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> m Gtk.Enums.ToolbarStyle
+    {- ^ __Returns:__ the 'GI.Gtk.Enums.ToolbarStyle' of items in the tool palette. -}
+toolPaletteGetStyle palette = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    result <- gtk_tool_palette_get_style palette'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr palette
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetStyleMethodInfo
+instance (signature ~ (m Gtk.Enums.ToolbarStyle), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteGetStyleMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetStyle
+
+#endif
+
+-- method ToolPalette::get_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_vadjustment" gtk_tool_palette_get_vadjustment :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED toolPaletteGetVadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetVadjustment'"] #-}
+{- |
+Gets the vertical adjustment of the tool palette.
+
+/Since: 2.20/
+-}
+toolPaletteGetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ the vertical adjustment of /@palette@/ -}
+toolPaletteGetVadjustment palette = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    result <- gtk_tool_palette_get_vadjustment palette'
+    checkUnexpectedReturnNULL "toolPaletteGetVadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr palette
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolPaletteGetVadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteGetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = toolPaletteGetVadjustment
+
+#endif
+
+-- method ToolPalette::set_drag_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TInterface (Name {namespace = "Gtk", name = "ToolPaletteDragTargets"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkToolPaletteDragTargets\n    which the widget should support", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_set_drag_source" gtk_tool_palette_set_drag_source :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    CUInt ->                                -- targets : TInterface (Name {namespace = "Gtk", name = "ToolPaletteDragTargets"})
+    IO ()
+
+{- |
+Sets the tool palette as a drag source.
+Enables all groups and items in the tool palette as drag sources
+on button 1 and button 3 press with copy and move actions.
+See 'GI.Gtk.Objects.Widget.widgetDragSourceSet'.
+
+/Since: 2.20/
+-}
+toolPaletteSetDragSource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> [Gtk.Flags.ToolPaletteDragTargets]
+    {- ^ /@targets@/: the 'GI.Gtk.Flags.ToolPaletteDragTargets'
+    which the widget should support -}
+    -> m ()
+toolPaletteSetDragSource palette targets = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    let targets' = gflagsToWord targets
+    gtk_tool_palette_set_drag_source palette' targets'
+    touchManagedPtr palette
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolPaletteSetDragSourceMethodInfo
+instance (signature ~ ([Gtk.Flags.ToolPaletteDragTargets] -> m ()), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteSetDragSourceMethodInfo a signature where
+    overloadedMethod _ = toolPaletteSetDragSource
+
+#endif
+
+-- method ToolPalette::set_exclusive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup which is a child of palette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "exclusive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the group should be exclusive or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_set_exclusive" gtk_tool_palette_set_exclusive :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Ptr Gtk.ToolItemGroup.ToolItemGroup ->  -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    CInt ->                                 -- exclusive : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the group should be exclusive or not.
+If an exclusive group is expanded all other groups are collapsed.
+
+/Since: 2.20/
+-}
+toolPaletteSetExclusive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> b
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' which is a child of palette -}
+    -> Bool
+    {- ^ /@exclusive@/: whether the group should be exclusive or not -}
+    -> m ()
+toolPaletteSetExclusive palette group exclusive = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    group' <- unsafeManagedPtrCastPtr group
+    let exclusive' = (fromIntegral . fromEnum) exclusive
+    gtk_tool_palette_set_exclusive palette' group' exclusive'
+    touchManagedPtr palette
+    touchManagedPtr group
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolPaletteSetExclusiveMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) => O.MethodInfo ToolPaletteSetExclusiveMethodInfo a signature where
+    overloadedMethod _ = toolPaletteSetExclusive
+
+#endif
+
+-- method ToolPalette::set_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup which is a child of palette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the group should be given extra space", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_set_expand" gtk_tool_palette_set_expand :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Ptr Gtk.ToolItemGroup.ToolItemGroup ->  -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the group should be given extra space.
+
+/Since: 2.20/
+-}
+toolPaletteSetExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> b
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' which is a child of palette -}
+    -> Bool
+    {- ^ /@expand@/: whether the group should be given extra space -}
+    -> m ()
+toolPaletteSetExpand palette group expand = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    group' <- unsafeManagedPtrCastPtr group
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_tool_palette_set_expand palette' group' expand'
+    touchManagedPtr palette
+    touchManagedPtr group
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolPaletteSetExpandMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) => O.MethodInfo ToolPaletteSetExpandMethodInfo a signature where
+    overloadedMethod _ = toolPaletteSetExpand
+
+#endif
+
+-- method ToolPalette::set_group_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItemGroup which is a child of palette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new index for group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_set_group_position" gtk_tool_palette_set_group_position :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Ptr Gtk.ToolItemGroup.ToolItemGroup ->  -- group : TInterface (Name {namespace = "Gtk", name = "ToolItemGroup"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Sets the position of the group as an index of the tool palette.
+If position is 0 the group will become the first child, if position is
+-1 it will become the last child.
+
+/Since: 2.20/
+-}
+toolPaletteSetGroupPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> b
+    {- ^ /@group@/: a 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup' which is a child of palette -}
+    -> Int32
+    {- ^ /@position@/: a new index for group -}
+    -> m ()
+toolPaletteSetGroupPosition palette group position = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    group' <- unsafeManagedPtrCastPtr group
+    gtk_tool_palette_set_group_position palette' group' position
+    touchManagedPtr palette
+    touchManagedPtr group
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolPaletteSetGroupPositionMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsToolPalette a, Gtk.ToolItemGroup.IsToolItemGroup b) => O.MethodInfo ToolPaletteSetGroupPositionMethodInfo a signature where
+    overloadedMethod _ = toolPaletteSetGroupPosition
+
+#endif
+
+-- method ToolPalette::set_icon_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkIconSize that icons in the tool\n    palette shall have", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_set_icon_size" gtk_tool_palette_set_icon_size :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    Int32 ->                                -- icon_size : TBasicType TInt
+    IO ()
+
+{- |
+Sets the size of icons in the tool palette.
+
+/Since: 2.20/
+-}
+toolPaletteSetIconSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> Int32
+    {- ^ /@iconSize@/: the 'GI.Gtk.Enums.IconSize' that icons in the tool
+    palette shall have -}
+    -> m ()
+toolPaletteSetIconSize palette iconSize = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    gtk_tool_palette_set_icon_size palette' iconSize
+    touchManagedPtr palette
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolPaletteSetIconSizeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteSetIconSizeMethodInfo a signature where
+    overloadedMethod _ = toolPaletteSetIconSize
+
+#endif
+
+-- method ToolPalette::set_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkToolbarStyle that items in the tool palette shall have", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_set_style" gtk_tool_palette_set_style :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    CUInt ->                                -- style : TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"})
+    IO ()
+
+{- |
+Sets the style (text, icons or both) of items in the tool palette.
+
+/Since: 2.20/
+-}
+toolPaletteSetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> Gtk.Enums.ToolbarStyle
+    {- ^ /@style@/: the 'GI.Gtk.Enums.ToolbarStyle' that items in the tool palette shall have -}
+    -> m ()
+toolPaletteSetStyle palette style = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    let style' = (fromIntegral . fromEnum) style
+    gtk_tool_palette_set_style palette' style'
+    touchManagedPtr palette
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolPaletteSetStyleMethodInfo
+instance (signature ~ (Gtk.Enums.ToolbarStyle -> m ()), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteSetStyleMethodInfo a signature where
+    overloadedMethod _ = toolPaletteSetStyle
+
+#endif
+
+-- method ToolPalette::unset_icon_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_unset_icon_size" gtk_tool_palette_unset_icon_size :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    IO ()
+
+{- |
+Unsets the tool palette icon size set with 'GI.Gtk.Objects.ToolPalette.toolPaletteSetIconSize',
+so that user preferences will be used to determine the icon size.
+
+/Since: 2.20/
+-}
+toolPaletteUnsetIconSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> m ()
+toolPaletteUnsetIconSize palette = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    gtk_tool_palette_unset_icon_size palette'
+    touchManagedPtr palette
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolPaletteUnsetIconSizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteUnsetIconSizeMethodInfo a signature where
+    overloadedMethod _ = toolPaletteUnsetIconSize
+
+#endif
+
+-- method ToolPalette::unset_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "palette", argType = TInterface (Name {namespace = "Gtk", name = "ToolPalette"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolPalette", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_unset_style" gtk_tool_palette_unset_style :: 
+    Ptr ToolPalette ->                      -- palette : TInterface (Name {namespace = "Gtk", name = "ToolPalette"})
+    IO ()
+
+{- |
+Unsets a toolbar style set with 'GI.Gtk.Objects.ToolPalette.toolPaletteSetStyle',
+so that user preferences will be used to determine the toolbar style.
+
+/Since: 2.20/
+-}
+toolPaletteUnsetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolPalette a) =>
+    a
+    {- ^ /@palette@/: a 'GI.Gtk.Objects.ToolPalette.ToolPalette' -}
+    -> m ()
+toolPaletteUnsetStyle palette = liftIO $ do
+    palette' <- unsafeManagedPtrCastPtr palette
+    gtk_tool_palette_unset_style palette'
+    touchManagedPtr palette
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolPaletteUnsetStyleMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsToolPalette a) => O.MethodInfo ToolPaletteUnsetStyleMethodInfo a signature where
+    overloadedMethod _ = toolPaletteUnsetStyle
+
+#endif
+
+-- method ToolPalette::get_drag_target_group
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_drag_target_group" gtk_tool_palette_get_drag_target_group :: 
+    IO (Ptr Gtk.TargetEntry.TargetEntry)
+
+{- |
+Get the target entry for a dragged 'GI.Gtk.Objects.ToolItemGroup.ToolItemGroup'.
+
+/Since: 2.20/
+-}
+toolPaletteGetDragTargetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Gtk.TargetEntry.TargetEntry
+    {- ^ __Returns:__ the 'GI.Gtk.Structs.TargetEntry.TargetEntry' for a dragged group -}
+toolPaletteGetDragTargetGroup  = liftIO $ do
+    result <- gtk_tool_palette_get_drag_target_group
+    checkUnexpectedReturnNULL "toolPaletteGetDragTargetGroup" result
+    result' <- (newBoxed Gtk.TargetEntry.TargetEntry) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method ToolPalette::get_drag_target_item
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tool_palette_get_drag_target_item" gtk_tool_palette_get_drag_target_item :: 
+    IO (Ptr Gtk.TargetEntry.TargetEntry)
+
+{- |
+Gets the target entry for a dragged 'GI.Gtk.Objects.ToolItem.ToolItem'.
+
+/Since: 2.20/
+-}
+toolPaletteGetDragTargetItem ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Gtk.TargetEntry.TargetEntry
+    {- ^ __Returns:__ the 'GI.Gtk.Structs.TargetEntry.TargetEntry' for a dragged item. -}
+toolPaletteGetDragTargetItem  = liftIO $ do
+    result <- gtk_tool_palette_get_drag_target_item
+    checkUnexpectedReturnNULL "toolPaletteGetDragTargetItem" result
+    result' <- (newBoxed Gtk.TargetEntry.TargetEntry) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/ToolPalette.hs-boot b/GI/Gtk/Objects/ToolPalette.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToolPalette.hs-boot
@@ -0,0 +1,95 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ToolPalette where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToolPalette = ToolPalette (ManagedPtr ToolPalette)
+instance GObject ToolPalette where
+class (GObject o, O.IsDescendantOf ToolPalette o) => IsToolPalette o
+instance (GObject o, O.IsDescendantOf ToolPalette o) => IsToolPalette o
+instance O.HasParentTypes ToolPalette
+#if ENABLE_OVERLOADING
+data ToolPaletteIconSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteIconSizeSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteToolbarStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteAddDragDestMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetDragItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetDropGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetDropItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetExclusiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetGroupPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetIconSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteGetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteSetDragSourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteSetExclusiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteSetExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteSetGroupPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteSetIconSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteSetStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteUnsetIconSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolPaletteUnsetStyleMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Toolbar.hs b/GI/Gtk/Objects/Toolbar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Toolbar.hs
@@ -0,0 +1,1894 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A toolbar is created with a call to 'GI.Gtk.Objects.Toolbar.toolbarNew'.
+
+A toolbar can contain instances of a subclass of 'GI.Gtk.Objects.ToolItem.ToolItem'. To add
+a 'GI.Gtk.Objects.ToolItem.ToolItem' to the a toolbar, use 'GI.Gtk.Objects.Toolbar.toolbarInsert'. To remove
+an item from the toolbar use 'GI.Gtk.Objects.Container.containerRemove'. To add a button
+to the toolbar, add an instance of 'GI.Gtk.Objects.ToolButton.ToolButton'.
+
+Toolbar items can be visually grouped by adding instances of
+'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem' to the toolbar. If the GtkToolbar child property
+“expand” is @/TRUE/@ and the property 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem':@/draw/@ is set to
+@/FALSE/@, the effect is to force all following items to the end of the toolbar.
+
+By default, a toolbar can be shrunk, upon which it will add an arrow button
+to show an overflow menu offering access to any 'GI.Gtk.Objects.ToolItem.ToolItem' child that has
+a proxy menu item. To disable this and request enough size for all children,
+call 'GI.Gtk.Objects.Toolbar.toolbarSetShowArrow' to set 'GI.Gtk.Objects.Toolbar.Toolbar':@/show-arrow/@ to 'False'.
+
+Creating a context menu for the toolbar can be done by connecting to
+the 'GI.Gtk.Objects.Toolbar.Toolbar'::@/popup-context-menu/@ signal.
+
+= CSS nodes
+
+GtkToolbar has a single CSS node with name toolbar.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Toolbar
+    ( 
+
+-- * Exported types
+    Toolbar(..)                             ,
+    IsToolbar                               ,
+    toToolbar                               ,
+    noToolbar                               ,
+
+
+ -- * Methods
+-- ** getDropIndex #method:getDropIndex#
+
+#if ENABLE_OVERLOADING
+    ToolbarGetDropIndexMethodInfo           ,
+#endif
+    toolbarGetDropIndex                     ,
+
+
+-- ** getIconSize #method:getIconSize#
+
+#if ENABLE_OVERLOADING
+    ToolbarGetIconSizeMethodInfo            ,
+#endif
+    toolbarGetIconSize                      ,
+
+
+-- ** getItemIndex #method:getItemIndex#
+
+#if ENABLE_OVERLOADING
+    ToolbarGetItemIndexMethodInfo           ,
+#endif
+    toolbarGetItemIndex                     ,
+
+
+-- ** getNItems #method:getNItems#
+
+#if ENABLE_OVERLOADING
+    ToolbarGetNItemsMethodInfo              ,
+#endif
+    toolbarGetNItems                        ,
+
+
+-- ** getNthItem #method:getNthItem#
+
+#if ENABLE_OVERLOADING
+    ToolbarGetNthItemMethodInfo             ,
+#endif
+    toolbarGetNthItem                       ,
+
+
+-- ** getReliefStyle #method:getReliefStyle#
+
+#if ENABLE_OVERLOADING
+    ToolbarGetReliefStyleMethodInfo         ,
+#endif
+    toolbarGetReliefStyle                   ,
+
+
+-- ** getShowArrow #method:getShowArrow#
+
+#if ENABLE_OVERLOADING
+    ToolbarGetShowArrowMethodInfo           ,
+#endif
+    toolbarGetShowArrow                     ,
+
+
+-- ** getStyle #method:getStyle#
+
+#if ENABLE_OVERLOADING
+    ToolbarGetStyleMethodInfo               ,
+#endif
+    toolbarGetStyle                         ,
+
+
+-- ** insert #method:insert#
+
+#if ENABLE_OVERLOADING
+    ToolbarInsertMethodInfo                 ,
+#endif
+    toolbarInsert                           ,
+
+
+-- ** new #method:new#
+
+    toolbarNew                              ,
+
+
+-- ** setDropHighlightItem #method:setDropHighlightItem#
+
+#if ENABLE_OVERLOADING
+    ToolbarSetDropHighlightItemMethodInfo   ,
+#endif
+    toolbarSetDropHighlightItem             ,
+
+
+-- ** setIconSize #method:setIconSize#
+
+#if ENABLE_OVERLOADING
+    ToolbarSetIconSizeMethodInfo            ,
+#endif
+    toolbarSetIconSize                      ,
+
+
+-- ** setShowArrow #method:setShowArrow#
+
+#if ENABLE_OVERLOADING
+    ToolbarSetShowArrowMethodInfo           ,
+#endif
+    toolbarSetShowArrow                     ,
+
+
+-- ** setStyle #method:setStyle#
+
+#if ENABLE_OVERLOADING
+    ToolbarSetStyleMethodInfo               ,
+#endif
+    toolbarSetStyle                         ,
+
+
+-- ** unsetIconSize #method:unsetIconSize#
+
+#if ENABLE_OVERLOADING
+    ToolbarUnsetIconSizeMethodInfo          ,
+#endif
+    toolbarUnsetIconSize                    ,
+
+
+-- ** unsetStyle #method:unsetStyle#
+
+#if ENABLE_OVERLOADING
+    ToolbarUnsetStyleMethodInfo             ,
+#endif
+    toolbarUnsetStyle                       ,
+
+
+
+
+ -- * Properties
+-- ** iconSize #attr:iconSize#
+{- | The size of the icons in a toolbar is normally determined by
+the toolbar-icon-size setting. When this property is set, it
+overrides the setting.
+
+This should only be used for special-purpose toolbars, normal
+application toolbars should respect the user preferences for the
+size of icons.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    ToolbarIconSizePropertyInfo             ,
+#endif
+    constructToolbarIconSize                ,
+    getToolbarIconSize                      ,
+    setToolbarIconSize                      ,
+#if ENABLE_OVERLOADING
+    toolbarIconSize                         ,
+#endif
+
+
+-- ** iconSizeSet #attr:iconSizeSet#
+{- | Is 'True' if the icon-size property has been set.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    ToolbarIconSizeSetPropertyInfo          ,
+#endif
+    constructToolbarIconSizeSet             ,
+    getToolbarIconSizeSet                   ,
+    setToolbarIconSizeSet                   ,
+#if ENABLE_OVERLOADING
+    toolbarIconSizeSet                      ,
+#endif
+
+
+-- ** showArrow #attr:showArrow#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolbarShowArrowPropertyInfo            ,
+#endif
+    constructToolbarShowArrow               ,
+    getToolbarShowArrow                     ,
+    setToolbarShowArrow                     ,
+#if ENABLE_OVERLOADING
+    toolbarShowArrow                        ,
+#endif
+
+
+-- ** toolbarStyle #attr:toolbarStyle#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ToolbarToolbarStylePropertyInfo         ,
+#endif
+    constructToolbarToolbarStyle            ,
+    getToolbarToolbarStyle                  ,
+    setToolbarToolbarStyle                  ,
+#if ENABLE_OVERLOADING
+    toolbarToolbarStyle                     ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** focusHomeOrEnd #signal:focusHomeOrEnd#
+
+    C_ToolbarFocusHomeOrEndCallback         ,
+    ToolbarFocusHomeOrEndCallback           ,
+#if ENABLE_OVERLOADING
+    ToolbarFocusHomeOrEndSignalInfo         ,
+#endif
+    afterToolbarFocusHomeOrEnd              ,
+    genClosure_ToolbarFocusHomeOrEnd        ,
+    mk_ToolbarFocusHomeOrEndCallback        ,
+    noToolbarFocusHomeOrEndCallback         ,
+    onToolbarFocusHomeOrEnd                 ,
+    wrap_ToolbarFocusHomeOrEndCallback      ,
+
+
+-- ** orientationChanged #signal:orientationChanged#
+
+    C_ToolbarOrientationChangedCallback     ,
+    ToolbarOrientationChangedCallback       ,
+#if ENABLE_OVERLOADING
+    ToolbarOrientationChangedSignalInfo     ,
+#endif
+    afterToolbarOrientationChanged          ,
+    genClosure_ToolbarOrientationChanged    ,
+    mk_ToolbarOrientationChangedCallback    ,
+    noToolbarOrientationChangedCallback     ,
+    onToolbarOrientationChanged             ,
+    wrap_ToolbarOrientationChangedCallback  ,
+
+
+-- ** popupContextMenu #signal:popupContextMenu#
+
+    C_ToolbarPopupContextMenuCallback       ,
+    ToolbarPopupContextMenuCallback         ,
+#if ENABLE_OVERLOADING
+    ToolbarPopupContextMenuSignalInfo       ,
+#endif
+    afterToolbarPopupContextMenu            ,
+    genClosure_ToolbarPopupContextMenu      ,
+    mk_ToolbarPopupContextMenuCallback      ,
+    noToolbarPopupContextMenuCallback       ,
+    onToolbarPopupContextMenu               ,
+    wrap_ToolbarPopupContextMenuCallback    ,
+
+
+-- ** styleChanged #signal:styleChanged#
+
+    C_ToolbarStyleChangedCallback           ,
+    ToolbarStyleChangedCallback             ,
+#if ENABLE_OVERLOADING
+    ToolbarStyleChangedSignalInfo           ,
+#endif
+    afterToolbarStyleChanged                ,
+    genClosure_ToolbarStyleChanged          ,
+    mk_ToolbarStyleChangedCallback          ,
+    noToolbarStyleChangedCallback           ,
+    onToolbarStyleChanged                   ,
+    wrap_ToolbarStyleChangedCallback        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.ToolShell as Gtk.ToolShell
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ToolItem as Gtk.ToolItem
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Toolbar = Toolbar (ManagedPtr Toolbar)
+foreign import ccall "gtk_toolbar_get_type"
+    c_gtk_toolbar_get_type :: IO GType
+
+instance GObject Toolbar where
+    gobjectType = c_gtk_toolbar_get_type
+    
+
+-- | Type class for types which can be safely cast to `Toolbar`, for instance with `toToolbar`.
+class (GObject o, O.IsDescendantOf Toolbar o) => IsToolbar o
+instance (GObject o, O.IsDescendantOf Toolbar o) => IsToolbar o
+
+instance O.HasParentTypes Toolbar
+type instance O.ParentTypes Toolbar = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable, Gtk.ToolShell.ToolShell]
+
+-- | Cast to `Toolbar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToolbar :: (MonadIO m, IsToolbar o) => o -> m Toolbar
+toToolbar = liftIO . unsafeCastTo Toolbar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Toolbar`.
+noToolbar :: Maybe Toolbar
+noToolbar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToolbarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToolbarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveToolbarMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveToolbarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveToolbarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveToolbarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveToolbarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveToolbarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveToolbarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveToolbarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToolbarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToolbarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveToolbarMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveToolbarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveToolbarMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveToolbarMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveToolbarMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveToolbarMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveToolbarMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveToolbarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveToolbarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveToolbarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveToolbarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveToolbarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveToolbarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveToolbarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveToolbarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveToolbarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveToolbarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveToolbarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveToolbarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveToolbarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveToolbarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveToolbarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveToolbarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveToolbarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveToolbarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveToolbarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveToolbarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveToolbarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveToolbarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveToolbarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveToolbarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveToolbarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveToolbarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveToolbarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveToolbarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveToolbarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveToolbarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveToolbarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveToolbarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveToolbarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveToolbarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveToolbarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveToolbarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveToolbarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveToolbarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveToolbarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveToolbarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveToolbarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveToolbarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveToolbarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveToolbarMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveToolbarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToolbarMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveToolbarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveToolbarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToolbarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToolbarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveToolbarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveToolbarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveToolbarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveToolbarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveToolbarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveToolbarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveToolbarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveToolbarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveToolbarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveToolbarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveToolbarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveToolbarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveToolbarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveToolbarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveToolbarMethod "insert" o = ToolbarInsertMethodInfo
+    ResolveToolbarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveToolbarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveToolbarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveToolbarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveToolbarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveToolbarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToolbarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveToolbarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveToolbarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveToolbarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveToolbarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveToolbarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveToolbarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveToolbarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveToolbarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveToolbarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveToolbarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveToolbarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveToolbarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveToolbarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveToolbarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveToolbarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveToolbarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveToolbarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToolbarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToolbarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveToolbarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveToolbarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveToolbarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveToolbarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveToolbarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveToolbarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveToolbarMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveToolbarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveToolbarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveToolbarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveToolbarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveToolbarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveToolbarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveToolbarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveToolbarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveToolbarMethod "rebuildMenu" o = Gtk.ToolShell.ToolShellRebuildMenuMethodInfo
+    ResolveToolbarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToolbarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToolbarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveToolbarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveToolbarMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveToolbarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveToolbarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveToolbarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveToolbarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveToolbarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveToolbarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveToolbarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveToolbarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveToolbarMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveToolbarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToolbarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveToolbarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveToolbarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveToolbarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveToolbarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveToolbarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveToolbarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveToolbarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveToolbarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveToolbarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToolbarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToolbarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveToolbarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveToolbarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveToolbarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToolbarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveToolbarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveToolbarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveToolbarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveToolbarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveToolbarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToolbarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveToolbarMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveToolbarMethod "unsetIconSize" o = ToolbarUnsetIconSizeMethodInfo
+    ResolveToolbarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveToolbarMethod "unsetStyle" o = ToolbarUnsetStyleMethodInfo
+    ResolveToolbarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToolbarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveToolbarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveToolbarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveToolbarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveToolbarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveToolbarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveToolbarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveToolbarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveToolbarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveToolbarMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveToolbarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveToolbarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveToolbarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveToolbarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveToolbarMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveToolbarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveToolbarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveToolbarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveToolbarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToolbarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveToolbarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveToolbarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveToolbarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveToolbarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveToolbarMethod "getDropIndex" o = ToolbarGetDropIndexMethodInfo
+    ResolveToolbarMethod "getEllipsizeMode" o = Gtk.ToolShell.ToolShellGetEllipsizeModeMethodInfo
+    ResolveToolbarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveToolbarMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveToolbarMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveToolbarMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveToolbarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveToolbarMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveToolbarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveToolbarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveToolbarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveToolbarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveToolbarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveToolbarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveToolbarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveToolbarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveToolbarMethod "getIconSize" o = ToolbarGetIconSizeMethodInfo
+    ResolveToolbarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveToolbarMethod "getItemIndex" o = ToolbarGetItemIndexMethodInfo
+    ResolveToolbarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveToolbarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveToolbarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveToolbarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveToolbarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveToolbarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveToolbarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveToolbarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveToolbarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveToolbarMethod "getNItems" o = ToolbarGetNItemsMethodInfo
+    ResolveToolbarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveToolbarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveToolbarMethod "getNthItem" o = ToolbarGetNthItemMethodInfo
+    ResolveToolbarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveToolbarMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveToolbarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveToolbarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveToolbarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveToolbarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveToolbarMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveToolbarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveToolbarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveToolbarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveToolbarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveToolbarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveToolbarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveToolbarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveToolbarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToolbarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToolbarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveToolbarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveToolbarMethod "getReliefStyle" o = ToolbarGetReliefStyleMethodInfo
+    ResolveToolbarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveToolbarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveToolbarMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveToolbarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveToolbarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveToolbarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveToolbarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveToolbarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveToolbarMethod "getShowArrow" o = ToolbarGetShowArrowMethodInfo
+    ResolveToolbarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveToolbarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveToolbarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveToolbarMethod "getStyle" o = ToolbarGetStyleMethodInfo
+    ResolveToolbarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveToolbarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveToolbarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveToolbarMethod "getTextAlignment" o = Gtk.ToolShell.ToolShellGetTextAlignmentMethodInfo
+    ResolveToolbarMethod "getTextOrientation" o = Gtk.ToolShell.ToolShellGetTextOrientationMethodInfo
+    ResolveToolbarMethod "getTextSizeGroup" o = Gtk.ToolShell.ToolShellGetTextSizeGroupMethodInfo
+    ResolveToolbarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveToolbarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveToolbarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveToolbarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveToolbarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveToolbarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveToolbarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveToolbarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveToolbarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveToolbarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveToolbarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveToolbarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveToolbarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveToolbarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveToolbarMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveToolbarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveToolbarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveToolbarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveToolbarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveToolbarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveToolbarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveToolbarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToolbarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveToolbarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveToolbarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveToolbarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveToolbarMethod "setDropHighlightItem" o = ToolbarSetDropHighlightItemMethodInfo
+    ResolveToolbarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveToolbarMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveToolbarMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveToolbarMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveToolbarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveToolbarMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveToolbarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveToolbarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveToolbarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveToolbarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveToolbarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveToolbarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveToolbarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveToolbarMethod "setIconSize" o = ToolbarSetIconSizeMethodInfo
+    ResolveToolbarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveToolbarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveToolbarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveToolbarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveToolbarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveToolbarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveToolbarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveToolbarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveToolbarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveToolbarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveToolbarMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveToolbarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveToolbarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveToolbarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToolbarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveToolbarMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveToolbarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveToolbarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveToolbarMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveToolbarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveToolbarMethod "setShowArrow" o = ToolbarSetShowArrowMethodInfo
+    ResolveToolbarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveToolbarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveToolbarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveToolbarMethod "setStyle" o = ToolbarSetStyleMethodInfo
+    ResolveToolbarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveToolbarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveToolbarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveToolbarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveToolbarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveToolbarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveToolbarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveToolbarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveToolbarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveToolbarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveToolbarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToolbarMethod t Toolbar, O.MethodInfo info Toolbar p) => OL.IsLabel t (Toolbar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Toolbar::focus-home-or-end
+{- |
+A keybinding signal used internally by GTK+. This signal can\'t
+be used in application code
+-}
+type ToolbarFocusHomeOrEndCallback =
+    Bool
+    {- ^ /@focusHome@/: 'True' if the first item should be focused -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the signal was handled, 'False' if not -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToolbarFocusHomeOrEndCallback`@.
+noToolbarFocusHomeOrEndCallback :: Maybe ToolbarFocusHomeOrEndCallback
+noToolbarFocusHomeOrEndCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToolbarFocusHomeOrEndCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_ToolbarFocusHomeOrEndCallback`.
+foreign import ccall "wrapper"
+    mk_ToolbarFocusHomeOrEndCallback :: C_ToolbarFocusHomeOrEndCallback -> IO (FunPtr C_ToolbarFocusHomeOrEndCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToolbarFocusHomeOrEnd :: MonadIO m => ToolbarFocusHomeOrEndCallback -> m (GClosure C_ToolbarFocusHomeOrEndCallback)
+genClosure_ToolbarFocusHomeOrEnd cb = liftIO $ do
+    let cb' = wrap_ToolbarFocusHomeOrEndCallback cb
+    mk_ToolbarFocusHomeOrEndCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToolbarFocusHomeOrEndCallback` into a `C_ToolbarFocusHomeOrEndCallback`.
+wrap_ToolbarFocusHomeOrEndCallback ::
+    ToolbarFocusHomeOrEndCallback ->
+    C_ToolbarFocusHomeOrEndCallback
+wrap_ToolbarFocusHomeOrEndCallback _cb _ focusHome _ = do
+    let focusHome' = (/= 0) focusHome
+    result <- _cb  focusHome'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@focus-home-or-end@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toolbar #focusHomeOrEnd callback
+@
+-}
+onToolbarFocusHomeOrEnd :: (IsToolbar a, MonadIO m) => a -> ToolbarFocusHomeOrEndCallback -> m SignalHandlerId
+onToolbarFocusHomeOrEnd obj cb = liftIO $ do
+    let cb' = wrap_ToolbarFocusHomeOrEndCallback cb
+    cb'' <- mk_ToolbarFocusHomeOrEndCallback cb'
+    connectSignalFunPtr obj "focus-home-or-end" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@focus-home-or-end@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toolbar #focusHomeOrEnd callback
+@
+-}
+afterToolbarFocusHomeOrEnd :: (IsToolbar a, MonadIO m) => a -> ToolbarFocusHomeOrEndCallback -> m SignalHandlerId
+afterToolbarFocusHomeOrEnd obj cb = liftIO $ do
+    let cb' = wrap_ToolbarFocusHomeOrEndCallback cb
+    cb'' <- mk_ToolbarFocusHomeOrEndCallback cb'
+    connectSignalFunPtr obj "focus-home-or-end" cb'' SignalConnectAfter
+
+
+-- signal Toolbar::orientation-changed
+{- |
+Emitted when the orientation of the toolbar changes.
+-}
+type ToolbarOrientationChangedCallback =
+    Gtk.Enums.Orientation
+    {- ^ /@orientation@/: the new 'GI.Gtk.Enums.Orientation' of the toolbar -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToolbarOrientationChangedCallback`@.
+noToolbarOrientationChangedCallback :: Maybe ToolbarOrientationChangedCallback
+noToolbarOrientationChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToolbarOrientationChangedCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ToolbarOrientationChangedCallback`.
+foreign import ccall "wrapper"
+    mk_ToolbarOrientationChangedCallback :: C_ToolbarOrientationChangedCallback -> IO (FunPtr C_ToolbarOrientationChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToolbarOrientationChanged :: MonadIO m => ToolbarOrientationChangedCallback -> m (GClosure C_ToolbarOrientationChangedCallback)
+genClosure_ToolbarOrientationChanged cb = liftIO $ do
+    let cb' = wrap_ToolbarOrientationChangedCallback cb
+    mk_ToolbarOrientationChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToolbarOrientationChangedCallback` into a `C_ToolbarOrientationChangedCallback`.
+wrap_ToolbarOrientationChangedCallback ::
+    ToolbarOrientationChangedCallback ->
+    C_ToolbarOrientationChangedCallback
+wrap_ToolbarOrientationChangedCallback _cb _ orientation _ = do
+    let orientation' = (toEnum . fromIntegral) orientation
+    _cb  orientation'
+
+
+{- |
+Connect a signal handler for the “@orientation-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toolbar #orientationChanged callback
+@
+-}
+onToolbarOrientationChanged :: (IsToolbar a, MonadIO m) => a -> ToolbarOrientationChangedCallback -> m SignalHandlerId
+onToolbarOrientationChanged obj cb = liftIO $ do
+    let cb' = wrap_ToolbarOrientationChangedCallback cb
+    cb'' <- mk_ToolbarOrientationChangedCallback cb'
+    connectSignalFunPtr obj "orientation-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@orientation-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toolbar #orientationChanged callback
+@
+-}
+afterToolbarOrientationChanged :: (IsToolbar a, MonadIO m) => a -> ToolbarOrientationChangedCallback -> m SignalHandlerId
+afterToolbarOrientationChanged obj cb = liftIO $ do
+    let cb' = wrap_ToolbarOrientationChangedCallback cb
+    cb'' <- mk_ToolbarOrientationChangedCallback cb'
+    connectSignalFunPtr obj "orientation-changed" cb'' SignalConnectAfter
+
+
+-- signal Toolbar::popup-context-menu
+{- |
+Emitted when the user right-clicks the toolbar or uses the
+keybinding to display a popup menu.
+
+Application developers should handle this signal if they want
+to display a context menu on the toolbar. The context-menu should
+appear at the coordinates given by /@x@/ and /@y@/. The mouse button
+number is given by the /@button@/ parameter. If the menu was popped
+up using the keybaord, /@button@/ is -1.
+-}
+type ToolbarPopupContextMenuCallback =
+    Int32
+    {- ^ /@x@/: the x coordinate of the point where the menu should appear -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate of the point where the menu should appear -}
+    -> Int32
+    {- ^ /@button@/: the mouse button the user pressed, or -1 -}
+    -> IO Bool
+    {- ^ __Returns:__ return 'True' if the signal was handled, 'False' if not -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToolbarPopupContextMenuCallback`@.
+noToolbarPopupContextMenuCallback :: Maybe ToolbarPopupContextMenuCallback
+noToolbarPopupContextMenuCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToolbarPopupContextMenuCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Int32 ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_ToolbarPopupContextMenuCallback`.
+foreign import ccall "wrapper"
+    mk_ToolbarPopupContextMenuCallback :: C_ToolbarPopupContextMenuCallback -> IO (FunPtr C_ToolbarPopupContextMenuCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToolbarPopupContextMenu :: MonadIO m => ToolbarPopupContextMenuCallback -> m (GClosure C_ToolbarPopupContextMenuCallback)
+genClosure_ToolbarPopupContextMenu cb = liftIO $ do
+    let cb' = wrap_ToolbarPopupContextMenuCallback cb
+    mk_ToolbarPopupContextMenuCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToolbarPopupContextMenuCallback` into a `C_ToolbarPopupContextMenuCallback`.
+wrap_ToolbarPopupContextMenuCallback ::
+    ToolbarPopupContextMenuCallback ->
+    C_ToolbarPopupContextMenuCallback
+wrap_ToolbarPopupContextMenuCallback _cb _ x y button _ = do
+    result <- _cb  x y button
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@popup-context-menu@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toolbar #popupContextMenu callback
+@
+-}
+onToolbarPopupContextMenu :: (IsToolbar a, MonadIO m) => a -> ToolbarPopupContextMenuCallback -> m SignalHandlerId
+onToolbarPopupContextMenu obj cb = liftIO $ do
+    let cb' = wrap_ToolbarPopupContextMenuCallback cb
+    cb'' <- mk_ToolbarPopupContextMenuCallback cb'
+    connectSignalFunPtr obj "popup-context-menu" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@popup-context-menu@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toolbar #popupContextMenu callback
+@
+-}
+afterToolbarPopupContextMenu :: (IsToolbar a, MonadIO m) => a -> ToolbarPopupContextMenuCallback -> m SignalHandlerId
+afterToolbarPopupContextMenu obj cb = liftIO $ do
+    let cb' = wrap_ToolbarPopupContextMenuCallback cb
+    cb'' <- mk_ToolbarPopupContextMenuCallback cb'
+    connectSignalFunPtr obj "popup-context-menu" cb'' SignalConnectAfter
+
+
+-- signal Toolbar::style-changed
+{- |
+Emitted when the style of the toolbar changes.
+-}
+type ToolbarStyleChangedCallback =
+    Gtk.Enums.ToolbarStyle
+    {- ^ /@style@/: the new 'GI.Gtk.Enums.ToolbarStyle' of the toolbar -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `ToolbarStyleChangedCallback`@.
+noToolbarStyleChangedCallback :: Maybe ToolbarStyleChangedCallback
+noToolbarStyleChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_ToolbarStyleChangedCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_ToolbarStyleChangedCallback`.
+foreign import ccall "wrapper"
+    mk_ToolbarStyleChangedCallback :: C_ToolbarStyleChangedCallback -> IO (FunPtr C_ToolbarStyleChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_ToolbarStyleChanged :: MonadIO m => ToolbarStyleChangedCallback -> m (GClosure C_ToolbarStyleChangedCallback)
+genClosure_ToolbarStyleChanged cb = liftIO $ do
+    let cb' = wrap_ToolbarStyleChangedCallback cb
+    mk_ToolbarStyleChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `ToolbarStyleChangedCallback` into a `C_ToolbarStyleChangedCallback`.
+wrap_ToolbarStyleChangedCallback ::
+    ToolbarStyleChangedCallback ->
+    C_ToolbarStyleChangedCallback
+wrap_ToolbarStyleChangedCallback _cb _ style _ = do
+    let style' = (toEnum . fromIntegral) style
+    _cb  style'
+
+
+{- |
+Connect a signal handler for the “@style-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' toolbar #styleChanged callback
+@
+-}
+onToolbarStyleChanged :: (IsToolbar a, MonadIO m) => a -> ToolbarStyleChangedCallback -> m SignalHandlerId
+onToolbarStyleChanged obj cb = liftIO $ do
+    let cb' = wrap_ToolbarStyleChangedCallback cb
+    cb'' <- mk_ToolbarStyleChangedCallback cb'
+    connectSignalFunPtr obj "style-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@style-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' toolbar #styleChanged callback
+@
+-}
+afterToolbarStyleChanged :: (IsToolbar a, MonadIO m) => a -> ToolbarStyleChangedCallback -> m SignalHandlerId
+afterToolbarStyleChanged obj cb = liftIO $ do
+    let cb' = wrap_ToolbarStyleChangedCallback cb
+    cb'' <- mk_ToolbarStyleChangedCallback cb'
+    connectSignalFunPtr obj "style-changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "icon-size"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "IconSize"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolbar #iconSize
+@
+-}
+getToolbarIconSize :: (MonadIO m, IsToolbar o) => o -> m Gtk.Enums.IconSize
+getToolbarIconSize obj = liftIO $ B.Properties.getObjectPropertyEnum obj "icon-size"
+
+{- |
+Set the value of the “@icon-size@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolbar [ #iconSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolbarIconSize :: (MonadIO m, IsToolbar o) => o -> Gtk.Enums.IconSize -> m ()
+setToolbarIconSize obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "icon-size" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolbarIconSize :: (IsToolbar o) => Gtk.Enums.IconSize -> IO (GValueConstruct o)
+constructToolbarIconSize val = B.Properties.constructObjectPropertyEnum "icon-size" val
+
+#if ENABLE_OVERLOADING
+data ToolbarIconSizePropertyInfo
+instance AttrInfo ToolbarIconSizePropertyInfo where
+    type AttrAllowedOps ToolbarIconSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolbarIconSizePropertyInfo = (~) Gtk.Enums.IconSize
+    type AttrBaseTypeConstraint ToolbarIconSizePropertyInfo = IsToolbar
+    type AttrGetType ToolbarIconSizePropertyInfo = Gtk.Enums.IconSize
+    type AttrLabel ToolbarIconSizePropertyInfo = "icon-size"
+    type AttrOrigin ToolbarIconSizePropertyInfo = Toolbar
+    attrGet _ = getToolbarIconSize
+    attrSet _ = setToolbarIconSize
+    attrConstruct _ = constructToolbarIconSize
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "icon-size-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@icon-size-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolbar #iconSizeSet
+@
+-}
+getToolbarIconSizeSet :: (MonadIO m, IsToolbar o) => o -> m Bool
+getToolbarIconSizeSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "icon-size-set"
+
+{- |
+Set the value of the “@icon-size-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolbar [ #iconSizeSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolbarIconSizeSet :: (MonadIO m, IsToolbar o) => o -> Bool -> m ()
+setToolbarIconSizeSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "icon-size-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-size-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolbarIconSizeSet :: (IsToolbar o) => Bool -> IO (GValueConstruct o)
+constructToolbarIconSizeSet val = B.Properties.constructObjectPropertyBool "icon-size-set" val
+
+#if ENABLE_OVERLOADING
+data ToolbarIconSizeSetPropertyInfo
+instance AttrInfo ToolbarIconSizeSetPropertyInfo where
+    type AttrAllowedOps ToolbarIconSizeSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolbarIconSizeSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToolbarIconSizeSetPropertyInfo = IsToolbar
+    type AttrGetType ToolbarIconSizeSetPropertyInfo = Bool
+    type AttrLabel ToolbarIconSizeSetPropertyInfo = "icon-size-set"
+    type AttrOrigin ToolbarIconSizeSetPropertyInfo = Toolbar
+    attrGet _ = getToolbarIconSizeSet
+    attrSet _ = setToolbarIconSizeSet
+    attrConstruct _ = constructToolbarIconSizeSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-arrow"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-arrow@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolbar #showArrow
+@
+-}
+getToolbarShowArrow :: (MonadIO m, IsToolbar o) => o -> m Bool
+getToolbarShowArrow obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-arrow"
+
+{- |
+Set the value of the “@show-arrow@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolbar [ #showArrow 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolbarShowArrow :: (MonadIO m, IsToolbar o) => o -> Bool -> m ()
+setToolbarShowArrow obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-arrow" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-arrow@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolbarShowArrow :: (IsToolbar o) => Bool -> IO (GValueConstruct o)
+constructToolbarShowArrow val = B.Properties.constructObjectPropertyBool "show-arrow" val
+
+#if ENABLE_OVERLOADING
+data ToolbarShowArrowPropertyInfo
+instance AttrInfo ToolbarShowArrowPropertyInfo where
+    type AttrAllowedOps ToolbarShowArrowPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolbarShowArrowPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint ToolbarShowArrowPropertyInfo = IsToolbar
+    type AttrGetType ToolbarShowArrowPropertyInfo = Bool
+    type AttrLabel ToolbarShowArrowPropertyInfo = "show-arrow"
+    type AttrOrigin ToolbarShowArrowPropertyInfo = Toolbar
+    attrGet _ = getToolbarShowArrow
+    attrSet _ = setToolbarShowArrow
+    attrConstruct _ = constructToolbarShowArrow
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "toolbar-style"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@toolbar-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toolbar #toolbarStyle
+@
+-}
+getToolbarToolbarStyle :: (MonadIO m, IsToolbar o) => o -> m Gtk.Enums.ToolbarStyle
+getToolbarToolbarStyle obj = liftIO $ B.Properties.getObjectPropertyEnum obj "toolbar-style"
+
+{- |
+Set the value of the “@toolbar-style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toolbar [ #toolbarStyle 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToolbarToolbarStyle :: (MonadIO m, IsToolbar o) => o -> Gtk.Enums.ToolbarStyle -> m ()
+setToolbarToolbarStyle obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "toolbar-style" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@toolbar-style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructToolbarToolbarStyle :: (IsToolbar o) => Gtk.Enums.ToolbarStyle -> IO (GValueConstruct o)
+constructToolbarToolbarStyle val = B.Properties.constructObjectPropertyEnum "toolbar-style" val
+
+#if ENABLE_OVERLOADING
+data ToolbarToolbarStylePropertyInfo
+instance AttrInfo ToolbarToolbarStylePropertyInfo where
+    type AttrAllowedOps ToolbarToolbarStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ToolbarToolbarStylePropertyInfo = (~) Gtk.Enums.ToolbarStyle
+    type AttrBaseTypeConstraint ToolbarToolbarStylePropertyInfo = IsToolbar
+    type AttrGetType ToolbarToolbarStylePropertyInfo = Gtk.Enums.ToolbarStyle
+    type AttrLabel ToolbarToolbarStylePropertyInfo = "toolbar-style"
+    type AttrOrigin ToolbarToolbarStylePropertyInfo = Toolbar
+    attrGet _ = getToolbarToolbarStyle
+    attrSet _ = setToolbarToolbarStyle
+    attrConstruct _ = constructToolbarToolbarStyle
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Toolbar
+type instance O.AttributeList Toolbar = ToolbarAttributeList
+type ToolbarAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("iconSize", ToolbarIconSizePropertyInfo), '("iconSizeSet", ToolbarIconSizeSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showArrow", ToolbarShowArrowPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("toolbarStyle", ToolbarToolbarStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+toolbarIconSize :: AttrLabelProxy "iconSize"
+toolbarIconSize = AttrLabelProxy
+
+toolbarIconSizeSet :: AttrLabelProxy "iconSizeSet"
+toolbarIconSizeSet = AttrLabelProxy
+
+toolbarShowArrow :: AttrLabelProxy "showArrow"
+toolbarShowArrow = AttrLabelProxy
+
+toolbarToolbarStyle :: AttrLabelProxy "toolbarStyle"
+toolbarToolbarStyle = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data ToolbarFocusHomeOrEndSignalInfo
+instance SignalInfo ToolbarFocusHomeOrEndSignalInfo where
+    type HaskellCallbackType ToolbarFocusHomeOrEndSignalInfo = ToolbarFocusHomeOrEndCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToolbarFocusHomeOrEndCallback cb
+        cb'' <- mk_ToolbarFocusHomeOrEndCallback cb'
+        connectSignalFunPtr obj "focus-home-or-end" cb'' connectMode
+
+data ToolbarOrientationChangedSignalInfo
+instance SignalInfo ToolbarOrientationChangedSignalInfo where
+    type HaskellCallbackType ToolbarOrientationChangedSignalInfo = ToolbarOrientationChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToolbarOrientationChangedCallback cb
+        cb'' <- mk_ToolbarOrientationChangedCallback cb'
+        connectSignalFunPtr obj "orientation-changed" cb'' connectMode
+
+data ToolbarPopupContextMenuSignalInfo
+instance SignalInfo ToolbarPopupContextMenuSignalInfo where
+    type HaskellCallbackType ToolbarPopupContextMenuSignalInfo = ToolbarPopupContextMenuCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToolbarPopupContextMenuCallback cb
+        cb'' <- mk_ToolbarPopupContextMenuCallback cb'
+        connectSignalFunPtr obj "popup-context-menu" cb'' connectMode
+
+data ToolbarStyleChangedSignalInfo
+instance SignalInfo ToolbarStyleChangedSignalInfo where
+    type HaskellCallbackType ToolbarStyleChangedSignalInfo = ToolbarStyleChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_ToolbarStyleChangedCallback cb
+        cb'' <- mk_ToolbarStyleChangedCallback cb'
+        connectSignalFunPtr obj "style-changed" cb'' connectMode
+
+type instance O.SignalList Toolbar = ToolbarSignalList
+type ToolbarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusHomeOrEnd", ToolbarFocusHomeOrEndSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("orientationChanged", ToolbarOrientationChangedSignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupContextMenu", ToolbarPopupContextMenuSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleChanged", ToolbarStyleChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Toolbar::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Toolbar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_new" gtk_toolbar_new :: 
+    IO (Ptr Toolbar)
+
+{- |
+Creates a new toolbar.
+-}
+toolbarNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Toolbar
+    {- ^ __Returns:__ the newly-created toolbar. -}
+toolbarNew  = liftIO $ do
+    result <- gtk_toolbar_new
+    checkUnexpectedReturnNULL "toolbarNew" result
+    result' <- (newObject Toolbar) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Toolbar::get_drop_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x coordinate of a point on the toolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y coordinate of a point on the toolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_get_drop_index" gtk_toolbar_get_drop_index :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO Int32
+
+{- |
+Returns the position corresponding to the indicated point on
+/@toolbar@/. This is useful when dragging items to the toolbar:
+this function returns the position a new item should be
+inserted.
+
+/@x@/ and /@y@/ are in /@toolbar@/ coordinates.
+
+/Since: 2.4/
+-}
+toolbarGetDropIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> Int32
+    {- ^ /@x@/: x coordinate of a point on the toolbar -}
+    -> Int32
+    {- ^ /@y@/: y coordinate of a point on the toolbar -}
+    -> m Int32
+    {- ^ __Returns:__ The position corresponding to the point (/@x@/, /@y@/) on the toolbar. -}
+toolbarGetDropIndex toolbar x y = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    result <- gtk_toolbar_get_drop_index toolbar' x y
+    touchManagedPtr toolbar
+    return result
+
+#if ENABLE_OVERLOADING
+data ToolbarGetDropIndexMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarGetDropIndexMethodInfo a signature where
+    overloadedMethod _ = toolbarGetDropIndex
+
+#endif
+
+-- method Toolbar::get_icon_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSize"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_get_icon_size" gtk_toolbar_get_icon_size :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    IO CUInt
+
+{- |
+Retrieves the icon size for the toolbar. See 'GI.Gtk.Objects.Toolbar.toolbarSetIconSize'.
+-}
+toolbarGetIconSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> m Gtk.Enums.IconSize
+    {- ^ __Returns:__ the current icon size for the icons on the toolbar. -}
+toolbarGetIconSize toolbar = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    result <- gtk_toolbar_get_icon_size toolbar'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr toolbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolbarGetIconSizeMethodInfo
+instance (signature ~ (m Gtk.Enums.IconSize), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarGetIconSizeMethodInfo a signature where
+    overloadedMethod _ = toolbarGetIconSize
+
+#endif
+
+-- method Toolbar::get_item_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem that is a child of @toolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_get_item_index" gtk_toolbar_get_item_index :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    Ptr Gtk.ToolItem.ToolItem ->            -- item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    IO Int32
+
+{- |
+Returns the position of /@item@/ on the toolbar, starting from 0.
+It is an error if /@item@/ is not a child of the toolbar.
+
+/Since: 2.4/
+-}
+toolbarGetItemIndex ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a, Gtk.ToolItem.IsToolItem b) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> b
+    {- ^ /@item@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' that is a child of /@toolbar@/ -}
+    -> m Int32
+    {- ^ __Returns:__ the position of item on the toolbar. -}
+toolbarGetItemIndex toolbar item = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    item' <- unsafeManagedPtrCastPtr item
+    result <- gtk_toolbar_get_item_index toolbar' item'
+    touchManagedPtr toolbar
+    touchManagedPtr item
+    return result
+
+#if ENABLE_OVERLOADING
+data ToolbarGetItemIndexMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsToolbar a, Gtk.ToolItem.IsToolItem b) => O.MethodInfo ToolbarGetItemIndexMethodInfo a signature where
+    overloadedMethod _ = toolbarGetItemIndex
+
+#endif
+
+-- method Toolbar::get_n_items
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_get_n_items" gtk_toolbar_get_n_items :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    IO Int32
+
+{- |
+Returns the number of items on the toolbar.
+
+/Since: 2.4/
+-}
+toolbarGetNItems ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of items on the toolbar -}
+toolbarGetNItems toolbar = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    result <- gtk_toolbar_get_n_items toolbar'
+    touchManagedPtr toolbar
+    return result
+
+#if ENABLE_OVERLOADING
+data ToolbarGetNItemsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarGetNItemsMethodInfo a signature where
+    overloadedMethod _ = toolbarGetNItems
+
+#endif
+
+-- method Toolbar::get_nth_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A position on the toolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolItem"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_get_nth_item" gtk_toolbar_get_nth_item :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    Int32 ->                                -- n : TBasicType TInt
+    IO (Ptr Gtk.ToolItem.ToolItem)
+
+{- |
+Returns the /@n@/\'th item on /@toolbar@/, or 'Nothing' if the
+toolbar does not contain an /@n@/\'th item.
+
+/Since: 2.4/
+-}
+toolbarGetNthItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> Int32
+    {- ^ /@n@/: A position on the toolbar -}
+    -> m (Maybe Gtk.ToolItem.ToolItem)
+    {- ^ __Returns:__ The /@n@/\'th 'GI.Gtk.Objects.ToolItem.ToolItem' on /@toolbar@/,
+    or 'Nothing' if there isn’t an /@n@/\'th item. -}
+toolbarGetNthItem toolbar n = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    result <- gtk_toolbar_get_nth_item toolbar' n
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.ToolItem.ToolItem) result'
+        return result''
+    touchManagedPtr toolbar
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data ToolbarGetNthItemMethodInfo
+instance (signature ~ (Int32 -> m (Maybe Gtk.ToolItem.ToolItem)), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarGetNthItemMethodInfo a signature where
+    overloadedMethod _ = toolbarGetNthItem
+
+#endif
+
+-- method Toolbar::get_relief_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ReliefStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_get_relief_style" gtk_toolbar_get_relief_style :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    IO CUInt
+
+{- |
+Returns the relief style of buttons on /@toolbar@/. See
+'GI.Gtk.Objects.Button.buttonSetRelief'.
+
+/Since: 2.4/
+-}
+toolbarGetReliefStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> m Gtk.Enums.ReliefStyle
+    {- ^ __Returns:__ The relief style of buttons on /@toolbar@/. -}
+toolbarGetReliefStyle toolbar = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    result <- gtk_toolbar_get_relief_style toolbar'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr toolbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolbarGetReliefStyleMethodInfo
+instance (signature ~ (m Gtk.Enums.ReliefStyle), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarGetReliefStyleMethodInfo a signature where
+    overloadedMethod _ = toolbarGetReliefStyle
+
+#endif
+
+-- method Toolbar::get_show_arrow
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_get_show_arrow" gtk_toolbar_get_show_arrow :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    IO CInt
+
+{- |
+Returns whether the toolbar has an overflow menu.
+See 'GI.Gtk.Objects.Toolbar.toolbarSetShowArrow'.
+
+/Since: 2.4/
+-}
+toolbarGetShowArrow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the toolbar has an overflow menu. -}
+toolbarGetShowArrow toolbar = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    result <- gtk_toolbar_get_show_arrow toolbar'
+    let result' = (/= 0) result
+    touchManagedPtr toolbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolbarGetShowArrowMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarGetShowArrowMethodInfo a signature where
+    overloadedMethod _ = toolbarGetShowArrow
+
+#endif
+
+-- method Toolbar::get_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_get_style" gtk_toolbar_get_style :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    IO CUInt
+
+{- |
+Retrieves whether the toolbar has text, icons, or both . See
+'GI.Gtk.Objects.Toolbar.toolbarSetStyle'.
+-}
+toolbarGetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> m Gtk.Enums.ToolbarStyle
+    {- ^ __Returns:__ the current style of /@toolbar@/ -}
+toolbarGetStyle toolbar = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    result <- gtk_toolbar_get_style toolbar'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr toolbar
+    return result'
+
+#if ENABLE_OVERLOADING
+data ToolbarGetStyleMethodInfo
+instance (signature ~ (m Gtk.Enums.ToolbarStyle), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarGetStyleMethodInfo a signature where
+    overloadedMethod _ = toolbarGetStyle
+
+#endif
+
+-- method Toolbar::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position of the new item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_insert" gtk_toolbar_insert :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    Ptr Gtk.ToolItem.ToolItem ->            -- item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO ()
+
+{- |
+Insert a 'GI.Gtk.Objects.ToolItem.ToolItem' into the toolbar at position /@pos@/. If /@pos@/ is
+0 the item is prepended to the start of the toolbar. If /@pos@/ is
+negative, the item is appended to the end of the toolbar.
+
+/Since: 2.4/
+-}
+toolbarInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a, Gtk.ToolItem.IsToolItem b) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> b
+    {- ^ /@item@/: a 'GI.Gtk.Objects.ToolItem.ToolItem' -}
+    -> Int32
+    {- ^ /@pos@/: the position of the new item -}
+    -> m ()
+toolbarInsert toolbar item pos = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    item' <- unsafeManagedPtrCastPtr item
+    gtk_toolbar_insert toolbar' item' pos
+    touchManagedPtr toolbar
+    touchManagedPtr item
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolbarInsertMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsToolbar a, Gtk.ToolItem.IsToolItem b) => O.MethodInfo ToolbarInsertMethodInfo a signature where
+    overloadedMethod _ = toolbarInsert
+
+#endif
+
+-- method Toolbar::set_drop_highlight_item
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tool_item", argType = TInterface (Name {namespace = "Gtk", name = "ToolItem"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkToolItem, or %NULL to turn of highlighting", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position on @toolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_set_drop_highlight_item" gtk_toolbar_set_drop_highlight_item :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    Ptr Gtk.ToolItem.ToolItem ->            -- tool_item : TInterface (Name {namespace = "Gtk", name = "ToolItem"})
+    Int32 ->                                -- index_ : TBasicType TInt
+    IO ()
+
+{- |
+Highlights /@toolbar@/ to give an idea of what it would look like
+if /@item@/ was added to /@toolbar@/ at the position indicated by /@index_@/.
+If /@item@/ is 'Nothing', highlighting is turned off. In that case /@index_@/
+is ignored.
+
+The /@toolItem@/ passed to this function must not be part of any widget
+hierarchy. When an item is set as drop highlight item it can not
+added to any widget hierarchy or used as highlight item for another
+toolbar.
+
+/Since: 2.4/
+-}
+toolbarSetDropHighlightItem ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a, Gtk.ToolItem.IsToolItem b) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> Maybe (b)
+    {- ^ /@toolItem@/: a 'GI.Gtk.Objects.ToolItem.ToolItem', or 'Nothing' to turn of highlighting -}
+    -> Int32
+    {- ^ /@index_@/: a position on /@toolbar@/ -}
+    -> m ()
+toolbarSetDropHighlightItem toolbar toolItem index_ = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    maybeToolItem <- case toolItem of
+        Nothing -> return nullPtr
+        Just jToolItem -> do
+            jToolItem' <- unsafeManagedPtrCastPtr jToolItem
+            return jToolItem'
+    gtk_toolbar_set_drop_highlight_item toolbar' maybeToolItem index_
+    touchManagedPtr toolbar
+    whenJust toolItem touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolbarSetDropHighlightItemMethodInfo
+instance (signature ~ (Maybe (b) -> Int32 -> m ()), MonadIO m, IsToolbar a, Gtk.ToolItem.IsToolItem b) => O.MethodInfo ToolbarSetDropHighlightItemMethodInfo a signature where
+    overloadedMethod _ = toolbarSetDropHighlightItem
+
+#endif
+
+-- method Toolbar::set_icon_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_size", argType = TInterface (Name {namespace = "Gtk", name = "IconSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkIconSize that stock icons in the toolbar shall have.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_set_icon_size" gtk_toolbar_set_icon_size :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    CUInt ->                                -- icon_size : TInterface (Name {namespace = "Gtk", name = "IconSize"})
+    IO ()
+
+{- |
+This function sets the size of stock icons in the toolbar. You
+can call it both before you add the icons and after they’ve been
+added. The size you set will override user preferences for the default
+icon size.
+
+This should only be used for special-purpose toolbars, normal
+application toolbars should respect the user preferences for the
+size of icons.
+-}
+toolbarSetIconSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: A 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> Gtk.Enums.IconSize
+    {- ^ /@iconSize@/: The 'GI.Gtk.Enums.IconSize' that stock icons in the toolbar shall have. -}
+    -> m ()
+toolbarSetIconSize toolbar iconSize = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    let iconSize' = (fromIntegral . fromEnum) iconSize
+    gtk_toolbar_set_icon_size toolbar' iconSize'
+    touchManagedPtr toolbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolbarSetIconSizeMethodInfo
+instance (signature ~ (Gtk.Enums.IconSize -> m ()), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarSetIconSizeMethodInfo a signature where
+    overloadedMethod _ = toolbarSetIconSize
+
+#endif
+
+-- method Toolbar::set_show_arrow
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_arrow", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether to show an overflow menu", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_set_show_arrow" gtk_toolbar_set_show_arrow :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    CInt ->                                 -- show_arrow : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether to show an overflow menu when /@toolbar@/ isn’t allocated enough
+size to show all of its items. If 'True', items which can’t fit in /@toolbar@/,
+and which have a proxy menu item set by 'GI.Gtk.Objects.ToolItem.toolItemSetProxyMenuItem'
+or 'GI.Gtk.Objects.ToolItem.ToolItem'::@/create-menu-proxy/@, will be available in an overflow menu,
+which can be opened by an added arrow button. If 'False', /@toolbar@/ will
+request enough size to fit all of its child items without any overflow.
+
+/Since: 2.4/
+-}
+toolbarSetShowArrow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> Bool
+    {- ^ /@showArrow@/: Whether to show an overflow menu -}
+    -> m ()
+toolbarSetShowArrow toolbar showArrow = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    let showArrow' = (fromIntegral . fromEnum) showArrow
+    gtk_toolbar_set_show_arrow toolbar' showArrow'
+    touchManagedPtr toolbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolbarSetShowArrowMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarSetShowArrowMethodInfo a signature where
+    overloadedMethod _ = toolbarSetShowArrow
+
+#endif
+
+-- method Toolbar::set_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new style for @toolbar.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_set_style" gtk_toolbar_set_style :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    CUInt ->                                -- style : TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"})
+    IO ()
+
+{- |
+Alters the view of /@toolbar@/ to display either icons only, text only, or both.
+-}
+toolbarSetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar'. -}
+    -> Gtk.Enums.ToolbarStyle
+    {- ^ /@style@/: the new style for /@toolbar@/. -}
+    -> m ()
+toolbarSetStyle toolbar style = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    let style' = (fromIntegral . fromEnum) style
+    gtk_toolbar_set_style toolbar' style'
+    touchManagedPtr toolbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolbarSetStyleMethodInfo
+instance (signature ~ (Gtk.Enums.ToolbarStyle -> m ()), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarSetStyleMethodInfo a signature where
+    overloadedMethod _ = toolbarSetStyle
+
+#endif
+
+-- method Toolbar::unset_icon_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_unset_icon_size" gtk_toolbar_unset_icon_size :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    IO ()
+
+{- |
+Unsets toolbar icon size set with 'GI.Gtk.Objects.Toolbar.toolbarSetIconSize', so that
+user preferences will be used to determine the icon size.
+-}
+toolbarUnsetIconSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> m ()
+toolbarUnsetIconSize toolbar = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    gtk_toolbar_unset_icon_size toolbar'
+    touchManagedPtr toolbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolbarUnsetIconSizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarUnsetIconSizeMethodInfo a signature where
+    overloadedMethod _ = toolbarUnsetIconSize
+
+#endif
+
+-- method Toolbar::unset_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "toolbar", argType = TInterface (Name {namespace = "Gtk", name = "Toolbar"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkToolbar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toolbar_unset_style" gtk_toolbar_unset_style :: 
+    Ptr Toolbar ->                          -- toolbar : TInterface (Name {namespace = "Gtk", name = "Toolbar"})
+    IO ()
+
+{- |
+Unsets a toolbar style set with 'GI.Gtk.Objects.Toolbar.toolbarSetStyle', so that
+user preferences will be used to determine the toolbar style.
+-}
+toolbarUnsetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToolbar a) =>
+    a
+    {- ^ /@toolbar@/: a 'GI.Gtk.Objects.Toolbar.Toolbar' -}
+    -> m ()
+toolbarUnsetStyle toolbar = liftIO $ do
+    toolbar' <- unsafeManagedPtrCastPtr toolbar
+    gtk_toolbar_unset_style toolbar'
+    touchManagedPtr toolbar
+    return ()
+
+#if ENABLE_OVERLOADING
+data ToolbarUnsetStyleMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsToolbar a) => O.MethodInfo ToolbarUnsetStyleMethodInfo a signature where
+    overloadedMethod _ = toolbarUnsetStyle
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Toolbar.hs-boot b/GI/Gtk/Objects/Toolbar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Toolbar.hs-boot
@@ -0,0 +1,98 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Toolbar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Toolbar = Toolbar (ManagedPtr Toolbar)
+instance GObject Toolbar where
+class (GObject o, O.IsDescendantOf Toolbar o) => IsToolbar o
+instance (GObject o, O.IsDescendantOf Toolbar o) => IsToolbar o
+instance O.HasParentTypes Toolbar
+#if ENABLE_OVERLOADING
+data ToolbarIconSizePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarIconSizeSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarShowArrowPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarToolbarStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarFocusHomeOrEndSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarOrientationChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarPopupContextMenuSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarStyleChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarGetDropIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarGetIconSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarGetItemIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarGetNItemsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarGetNthItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarGetReliefStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarGetShowArrowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarGetStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarSetDropHighlightItemMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarSetIconSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarSetShowArrowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarSetStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarUnsetIconSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ToolbarUnsetStyleMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/Tooltip.hs b/GI/Gtk/Objects/Tooltip.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Tooltip.hs
@@ -0,0 +1,653 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Basic tooltips can be realized simply by using 'GI.Gtk.Objects.Widget.widgetSetTooltipText'
+or 'GI.Gtk.Objects.Widget.widgetSetTooltipMarkup' without any explicit tooltip object.
+
+When you need a tooltip with a little more fancy contents, like adding an
+image, or you want the tooltip to have different contents per 'GI.Gtk.Objects.TreeView.TreeView'
+row or cell, you will have to do a little more work:
+
+* Set the 'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@ property to 'True', this will make GTK+
+monitor the widget for motion and related events which are needed to
+determine when and where to show a tooltip.
+* Connect to the 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ signal.  This signal will be
+emitted when a tooltip is supposed to be shown. One of the arguments passed
+to the signal handler is a GtkTooltip object. This is the object that we
+are about to display as a tooltip, and can be manipulated in your callback
+using functions like 'GI.Gtk.Objects.Tooltip.tooltipSetIcon'. There are functions for setting
+the tooltip’s markup, setting an image from a named icon, or even putting in
+a custom widget.
+
+
+  Return 'True' from your query-tooltip handler. This causes the tooltip to be
+  show. If you return 'False', it will not be shown.
+
+In the probably rare case where you want to have even more control over the
+tooltip that is about to be shown, you can set your own 'GI.Gtk.Objects.Window.Window' which
+will be used as tooltip window.  This works as follows:
+
+* Set 'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@ and connect to 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ as before.
+Use 'GI.Gtk.Objects.Widget.widgetSetTooltipWindow' to set a 'GI.Gtk.Objects.Window.Window' created by you as
+tooltip window.
+* In the 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ callback you can access your window using
+'GI.Gtk.Objects.Widget.widgetGetTooltipWindow' and manipulate as you wish. The semantics of
+the return value are exactly as before, return 'True' to show the window,
+'False' to not show it.
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Tooltip
+    ( 
+
+-- * Exported types
+    Tooltip(..)                             ,
+    IsTooltip                               ,
+    toTooltip                               ,
+    noTooltip                               ,
+
+
+ -- * Methods
+-- ** setCustom #method:setCustom#
+
+#if ENABLE_OVERLOADING
+    TooltipSetCustomMethodInfo              ,
+#endif
+    tooltipSetCustom                        ,
+
+
+-- ** setIcon #method:setIcon#
+
+#if ENABLE_OVERLOADING
+    TooltipSetIconMethodInfo                ,
+#endif
+    tooltipSetIcon                          ,
+
+
+-- ** setIconFromGicon #method:setIconFromGicon#
+
+#if ENABLE_OVERLOADING
+    TooltipSetIconFromGiconMethodInfo       ,
+#endif
+    tooltipSetIconFromGicon                 ,
+
+
+-- ** setIconFromIconName #method:setIconFromIconName#
+
+#if ENABLE_OVERLOADING
+    TooltipSetIconFromIconNameMethodInfo    ,
+#endif
+    tooltipSetIconFromIconName              ,
+
+
+-- ** setIconFromStock #method:setIconFromStock#
+
+#if ENABLE_OVERLOADING
+    TooltipSetIconFromStockMethodInfo       ,
+#endif
+    tooltipSetIconFromStock                 ,
+
+
+-- ** setMarkup #method:setMarkup#
+
+#if ENABLE_OVERLOADING
+    TooltipSetMarkupMethodInfo              ,
+#endif
+    tooltipSetMarkup                        ,
+
+
+-- ** setText #method:setText#
+
+#if ENABLE_OVERLOADING
+    TooltipSetTextMethodInfo                ,
+#endif
+    tooltipSetText                          ,
+
+
+-- ** setTipArea #method:setTipArea#
+
+#if ENABLE_OVERLOADING
+    TooltipSetTipAreaMethodInfo             ,
+#endif
+    tooltipSetTipArea                       ,
+
+
+-- ** triggerTooltipQuery #method:triggerTooltipQuery#
+
+    tooltipTriggerTooltipQuery              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Display as Gdk.Display
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Tooltip = Tooltip (ManagedPtr Tooltip)
+foreign import ccall "gtk_tooltip_get_type"
+    c_gtk_tooltip_get_type :: IO GType
+
+instance GObject Tooltip where
+    gobjectType = c_gtk_tooltip_get_type
+    
+
+-- | Type class for types which can be safely cast to `Tooltip`, for instance with `toTooltip`.
+class (GObject o, O.IsDescendantOf Tooltip o) => IsTooltip o
+instance (GObject o, O.IsDescendantOf Tooltip o) => IsTooltip o
+
+instance O.HasParentTypes Tooltip
+type instance O.ParentTypes Tooltip = '[GObject.Object.Object]
+
+-- | Cast to `Tooltip`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTooltip :: (MonadIO m, IsTooltip o) => o -> m Tooltip
+toTooltip = liftIO . unsafeCastTo Tooltip
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Tooltip`.
+noTooltip :: Maybe Tooltip
+noTooltip = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTooltipMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTooltipMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTooltipMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTooltipMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTooltipMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTooltipMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTooltipMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTooltipMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTooltipMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTooltipMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTooltipMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTooltipMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTooltipMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTooltipMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTooltipMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTooltipMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTooltipMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTooltipMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTooltipMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTooltipMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTooltipMethod "setCustom" o = TooltipSetCustomMethodInfo
+    ResolveTooltipMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTooltipMethod "setIcon" o = TooltipSetIconMethodInfo
+    ResolveTooltipMethod "setIconFromGicon" o = TooltipSetIconFromGiconMethodInfo
+    ResolveTooltipMethod "setIconFromIconName" o = TooltipSetIconFromIconNameMethodInfo
+    ResolveTooltipMethod "setIconFromStock" o = TooltipSetIconFromStockMethodInfo
+    ResolveTooltipMethod "setMarkup" o = TooltipSetMarkupMethodInfo
+    ResolveTooltipMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTooltipMethod "setText" o = TooltipSetTextMethodInfo
+    ResolveTooltipMethod "setTipArea" o = TooltipSetTipAreaMethodInfo
+    ResolveTooltipMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTooltipMethod t Tooltip, O.MethodInfo info Tooltip p) => OL.IsLabel t (Tooltip -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Tooltip
+type instance O.AttributeList Tooltip = TooltipAttributeList
+type TooltipAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Tooltip = TooltipSignalList
+type TooltipSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Tooltip::set_custom
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "custom_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWidget, or %NULL to unset the old custom widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tooltip_set_custom" gtk_tooltip_set_custom :: 
+    Ptr Tooltip ->                          -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    Ptr Gtk.Widget.Widget ->                -- custom_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Replaces the widget packed into the tooltip with
+/@customWidget@/. /@customWidget@/ does not get destroyed when the tooltip goes
+away.
+By default a box with a 'GI.Gtk.Objects.Image.Image' and 'GI.Gtk.Objects.Label.Label' is embedded in
+the tooltip, which can be configured using 'GI.Gtk.Objects.Tooltip.tooltipSetMarkup'
+and 'GI.Gtk.Objects.Tooltip.tooltipSetIcon'.
+
+/Since: 2.12/
+-}
+tooltipSetCustom ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTooltip a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Maybe (b)
+    {- ^ /@customWidget@/: a 'GI.Gtk.Objects.Widget.Widget', or 'Nothing' to unset the old custom widget. -}
+    -> m ()
+tooltipSetCustom tooltip customWidget = liftIO $ do
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    maybeCustomWidget <- case customWidget of
+        Nothing -> return nullPtr
+        Just jCustomWidget -> do
+            jCustomWidget' <- unsafeManagedPtrCastPtr jCustomWidget
+            return jCustomWidget'
+    gtk_tooltip_set_custom tooltip' maybeCustomWidget
+    touchManagedPtr tooltip
+    whenJust customWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TooltipSetCustomMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsTooltip a, Gtk.Widget.IsWidget b) => O.MethodInfo TooltipSetCustomMethodInfo a signature where
+    overloadedMethod _ = tooltipSetCustom
+
+#endif
+
+-- method Tooltip::set_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tooltip_set_icon" gtk_tooltip_set_icon :: 
+    Ptr Tooltip ->                          -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{- |
+Sets the icon of the tooltip (which is in front of the text) to be
+/@pixbuf@/.  If /@pixbuf@/ is 'Nothing', the image will be hidden.
+
+/Since: 2.12/
+-}
+tooltipSetIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTooltip a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Maybe (b)
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', or 'Nothing' -}
+    -> m ()
+tooltipSetIcon tooltip pixbuf = liftIO $ do
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    maybePixbuf <- case pixbuf of
+        Nothing -> return nullPtr
+        Just jPixbuf -> do
+            jPixbuf' <- unsafeManagedPtrCastPtr jPixbuf
+            return jPixbuf'
+    gtk_tooltip_set_icon tooltip' maybePixbuf
+    touchManagedPtr tooltip
+    whenJust pixbuf touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TooltipSetIconMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsTooltip a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo TooltipSetIconMethodInfo a signature where
+    overloadedMethod _ = tooltipSetIcon
+
+#endif
+
+-- method Tooltip::set_icon_from_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gicon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GIcon representing the icon, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tooltip_set_icon_from_gicon" gtk_tooltip_set_icon_from_gicon :: 
+    Ptr Tooltip ->                          -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    Ptr Gio.Icon.Icon ->                    -- gicon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+{- |
+Sets the icon of the tooltip (which is in front of the text)
+to be the icon indicated by /@gicon@/ with the size indicated
+by /@size@/. If /@gicon@/ is 'Nothing', the image will be hidden.
+
+/Since: 2.20/
+-}
+tooltipSetIconFromGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTooltip a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Maybe (b)
+    {- ^ /@gicon@/: a 'GI.Gio.Interfaces.Icon.Icon' representing the icon, or 'Nothing' -}
+    -> Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m ()
+tooltipSetIconFromGicon tooltip gicon size = liftIO $ do
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    maybeGicon <- case gicon of
+        Nothing -> return nullPtr
+        Just jGicon -> do
+            jGicon' <- unsafeManagedPtrCastPtr jGicon
+            return jGicon'
+    gtk_tooltip_set_icon_from_gicon tooltip' maybeGicon size
+    touchManagedPtr tooltip
+    whenJust gicon touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TooltipSetIconFromGiconMethodInfo
+instance (signature ~ (Maybe (b) -> Int32 -> m ()), MonadIO m, IsTooltip a, Gio.Icon.IsIcon b) => O.MethodInfo TooltipSetIconFromGiconMethodInfo a signature where
+    overloadedMethod _ = tooltipSetIconFromGicon
+
+#endif
+
+-- method Tooltip::set_icon_from_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an icon name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tooltip_set_icon_from_icon_name" gtk_tooltip_set_icon_from_icon_name :: 
+    Ptr Tooltip ->                          -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+{- |
+Sets the icon of the tooltip (which is in front of the text) to be
+the icon indicated by /@iconName@/ with the size indicated
+by /@size@/.  If /@iconName@/ is 'Nothing', the image will be hidden.
+
+/Since: 2.14/
+-}
+tooltipSetIconFromIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTooltip a) =>
+    a
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Maybe (T.Text)
+    {- ^ /@iconName@/: an icon name, or 'Nothing' -}
+    -> Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m ()
+tooltipSetIconFromIconName tooltip iconName size = liftIO $ do
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    gtk_tooltip_set_icon_from_icon_name tooltip' maybeIconName size
+    touchManagedPtr tooltip
+    freeMem maybeIconName
+    return ()
+
+#if ENABLE_OVERLOADING
+data TooltipSetIconFromIconNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> Int32 -> m ()), MonadIO m, IsTooltip a) => O.MethodInfo TooltipSetIconFromIconNameMethodInfo a signature where
+    overloadedMethod _ = tooltipSetIconFromIconName
+
+#endif
+
+-- method Tooltip::set_icon_from_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a stock id, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock icon size (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tooltip_set_icon_from_stock" gtk_tooltip_set_icon_from_stock :: 
+    Ptr Tooltip ->                          -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED tooltipSetIconFromStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.Tooltip.tooltipSetIconFromIconName' instead."] #-}
+{- |
+Sets the icon of the tooltip (which is in front of the text) to be
+the stock item indicated by /@stockId@/ with the size indicated
+by /@size@/.  If /@stockId@/ is 'Nothing', the image will be hidden.
+
+/Since: 2.12/
+-}
+tooltipSetIconFromStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTooltip a) =>
+    a
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Maybe (T.Text)
+    {- ^ /@stockId@/: a stock id, or 'Nothing' -}
+    -> Int32
+    {- ^ /@size@/: a stock icon size ('GI.Gtk.Enums.IconSize') -}
+    -> m ()
+tooltipSetIconFromStock tooltip stockId size = liftIO $ do
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    maybeStockId <- case stockId of
+        Nothing -> return nullPtr
+        Just jStockId -> do
+            jStockId' <- textToCString jStockId
+            return jStockId'
+    gtk_tooltip_set_icon_from_stock tooltip' maybeStockId size
+    touchManagedPtr tooltip
+    freeMem maybeStockId
+    return ()
+
+#if ENABLE_OVERLOADING
+data TooltipSetIconFromStockMethodInfo
+instance (signature ~ (Maybe (T.Text) -> Int32 -> m ()), MonadIO m, IsTooltip a) => O.MethodInfo TooltipSetIconFromStockMethodInfo a signature where
+    overloadedMethod _ = tooltipSetIconFromStock
+
+#endif
+
+-- method Tooltip::set_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a markup string (see [Pango markup format][PangoMarkupFormat]) or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tooltip_set_markup" gtk_tooltip_set_markup :: 
+    Ptr Tooltip ->                          -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    CString ->                              -- markup : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text of the tooltip to be /@markup@/, which is marked up
+with the [Pango text markup language][PangoMarkupFormat].
+If /@markup@/ is 'Nothing', the label will be hidden.
+
+/Since: 2.12/
+-}
+tooltipSetMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTooltip a) =>
+    a
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Maybe (T.Text)
+    {- ^ /@markup@/: a markup string (see [Pango markup format][PangoMarkupFormat]) or 'Nothing' -}
+    -> m ()
+tooltipSetMarkup tooltip markup = liftIO $ do
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    maybeMarkup <- case markup of
+        Nothing -> return nullPtr
+        Just jMarkup -> do
+            jMarkup' <- textToCString jMarkup
+            return jMarkup'
+    gtk_tooltip_set_markup tooltip' maybeMarkup
+    touchManagedPtr tooltip
+    freeMem maybeMarkup
+    return ()
+
+#if ENABLE_OVERLOADING
+data TooltipSetMarkupMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsTooltip a) => O.MethodInfo TooltipSetMarkupMethodInfo a signature where
+    overloadedMethod _ = tooltipSetMarkup
+
+#endif
+
+-- method Tooltip::set_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a text string or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tooltip_set_text" gtk_tooltip_set_text :: 
+    Ptr Tooltip ->                          -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the text of the tooltip to be /@text@/. If /@text@/ is 'Nothing', the label
+will be hidden. See also 'GI.Gtk.Objects.Tooltip.tooltipSetMarkup'.
+
+/Since: 2.12/
+-}
+tooltipSetText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTooltip a) =>
+    a
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Maybe (T.Text)
+    {- ^ /@text@/: a text string or 'Nothing' -}
+    -> m ()
+tooltipSetText tooltip text = liftIO $ do
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    maybeText <- case text of
+        Nothing -> return nullPtr
+        Just jText -> do
+            jText' <- textToCString jText
+            return jText'
+    gtk_tooltip_set_text tooltip' maybeText
+    touchManagedPtr tooltip
+    freeMem maybeText
+    return ()
+
+#if ENABLE_OVERLOADING
+data TooltipSetTextMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsTooltip a) => O.MethodInfo TooltipSetTextMethodInfo a signature where
+    overloadedMethod _ = tooltipSetText
+
+#endif
+
+-- method Tooltip::set_tip_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tooltip_set_tip_area" gtk_tooltip_set_tip_area :: 
+    Ptr Tooltip ->                          -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Sets the area of the widget, where the contents of this tooltip apply,
+to be /@rect@/ (in widget coordinates).  This is especially useful for
+properly setting tooltips on 'GI.Gtk.Objects.TreeView.TreeView' rows and cells, @/GtkIconViews/@,
+etc.
+
+For setting tooltips on 'GI.Gtk.Objects.TreeView.TreeView', please refer to the convenience
+functions for this: 'GI.Gtk.Objects.TreeView.treeViewSetTooltipRow' and
+'GI.Gtk.Objects.TreeView.treeViewSetTooltipCell'.
+
+/Since: 2.12/
+-}
+tooltipSetTipArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTooltip a) =>
+    a
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@rect@/: a 'GI.Gdk.Structs.Rectangle.Rectangle' -}
+    -> m ()
+tooltipSetTipArea tooltip rect = liftIO $ do
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    rect' <- unsafeManagedPtrGetPtr rect
+    gtk_tooltip_set_tip_area tooltip' rect'
+    touchManagedPtr tooltip
+    touchManagedPtr rect
+    return ()
+
+#if ENABLE_OVERLOADING
+data TooltipSetTipAreaMethodInfo
+instance (signature ~ (Gdk.Rectangle.Rectangle -> m ()), MonadIO m, IsTooltip a) => O.MethodInfo TooltipSetTipAreaMethodInfo a signature where
+    overloadedMethod _ = tooltipSetTipArea
+
+#endif
+
+-- method Tooltip::trigger_tooltip_query
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "display", argType = TInterface (Name {namespace = "Gdk", name = "Display"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDisplay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tooltip_trigger_tooltip_query" gtk_tooltip_trigger_tooltip_query :: 
+    Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
+    IO ()
+
+{- |
+Triggers a new tooltip query on /@display@/, in order to update the current
+visible tooltip, or to show\/hide the current tooltip.  This function is
+useful to call when, for example, the state of the widget changed by a
+key press.
+
+/Since: 2.12/
+-}
+tooltipTriggerTooltipQuery ::
+    (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>
+    a
+    {- ^ /@display@/: a 'GI.Gdk.Objects.Display.Display' -}
+    -> m ()
+tooltipTriggerTooltipQuery display = liftIO $ do
+    display' <- unsafeManagedPtrCastPtr display
+    gtk_tooltip_trigger_tooltip_query display'
+    touchManagedPtr display
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/Tooltip.hs-boot b/GI/Gtk/Objects/Tooltip.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Tooltip.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Tooltip where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Tooltip = Tooltip (ManagedPtr Tooltip)
+instance GObject Tooltip where
+class (GObject o, O.IsDescendantOf Tooltip o) => IsTooltip o
+instance (GObject o, O.IsDescendantOf Tooltip o) => IsTooltip o
+instance O.HasParentTypes Tooltip
+#if ENABLE_OVERLOADING
+data TooltipSetCustomMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TooltipSetIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TooltipSetIconFromGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TooltipSetIconFromIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TooltipSetIconFromStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TooltipSetMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TooltipSetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TooltipSetTipAreaMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/ToplevelAccessible.hs b/GI/Gtk/Objects/ToplevelAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToplevelAccessible.hs
@@ -0,0 +1,194 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.ToplevelAccessible
+    ( 
+
+-- * Exported types
+    ToplevelAccessible(..)                  ,
+    IsToplevelAccessible                    ,
+    toToplevelAccessible                    ,
+    noToplevelAccessible                    ,
+
+
+ -- * Methods
+-- ** getChildren #method:getChildren#
+
+#if ENABLE_OVERLOADING
+    ToplevelAccessibleGetChildrenMethodInfo ,
+#endif
+    toplevelAccessibleGetChildren           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype ToplevelAccessible = ToplevelAccessible (ManagedPtr ToplevelAccessible)
+foreign import ccall "gtk_toplevel_accessible_get_type"
+    c_gtk_toplevel_accessible_get_type :: IO GType
+
+instance GObject ToplevelAccessible where
+    gobjectType = c_gtk_toplevel_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `ToplevelAccessible`, for instance with `toToplevelAccessible`.
+class (GObject o, O.IsDescendantOf ToplevelAccessible o) => IsToplevelAccessible o
+instance (GObject o, O.IsDescendantOf ToplevelAccessible o) => IsToplevelAccessible o
+
+instance O.HasParentTypes ToplevelAccessible
+type instance O.ParentTypes ToplevelAccessible = '[Atk.Object.Object, GObject.Object.Object]
+
+-- | Cast to `ToplevelAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toToplevelAccessible :: (MonadIO m, IsToplevelAccessible o) => o -> m ToplevelAccessible
+toToplevelAccessible = liftIO . unsafeCastTo ToplevelAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToplevelAccessible`.
+noToplevelAccessible :: Maybe ToplevelAccessible
+noToplevelAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveToplevelAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToplevelAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveToplevelAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveToplevelAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveToplevelAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveToplevelAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveToplevelAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveToplevelAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveToplevelAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveToplevelAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveToplevelAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveToplevelAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveToplevelAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveToplevelAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveToplevelAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveToplevelAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveToplevelAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveToplevelAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveToplevelAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveToplevelAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveToplevelAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveToplevelAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveToplevelAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveToplevelAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveToplevelAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveToplevelAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveToplevelAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveToplevelAccessibleMethod "getChildren" o = ToplevelAccessibleGetChildrenMethodInfo
+    ResolveToplevelAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveToplevelAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveToplevelAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveToplevelAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveToplevelAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveToplevelAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveToplevelAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveToplevelAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveToplevelAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveToplevelAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveToplevelAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveToplevelAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveToplevelAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveToplevelAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveToplevelAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveToplevelAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveToplevelAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveToplevelAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveToplevelAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToplevelAccessibleMethod t ToplevelAccessible, O.MethodInfo info ToplevelAccessible p) => OL.IsLabel t (ToplevelAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToplevelAccessible
+type instance O.AttributeList ToplevelAccessible = ToplevelAccessibleAttributeList
+type ToplevelAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList ToplevelAccessible = ToplevelAccessibleSignalList
+type ToplevelAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method ToplevelAccessible::get_children
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "accessible", argType = TInterface (Name {namespace = "Gtk", name = "ToplevelAccessible"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Window"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_toplevel_accessible_get_children" gtk_toplevel_accessible_get_children :: 
+    Ptr ToplevelAccessible ->               -- accessible : TInterface (Name {namespace = "Gtk", name = "ToplevelAccessible"})
+    IO (Ptr (GList (Ptr Gtk.Window.Window)))
+
+{- |
+/No description available in the introspection data./
+-}
+toplevelAccessibleGetChildren ::
+    (B.CallStack.HasCallStack, MonadIO m, IsToplevelAccessible a) =>
+    a
+    -> m [Gtk.Window.Window]
+    {- ^ __Returns:__ List of
+  children. -}
+toplevelAccessibleGetChildren accessible = liftIO $ do
+    accessible' <- unsafeManagedPtrCastPtr accessible
+    result <- gtk_toplevel_accessible_get_children accessible'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.Window.Window) result'
+    touchManagedPtr accessible
+    return result''
+
+#if ENABLE_OVERLOADING
+data ToplevelAccessibleGetChildrenMethodInfo
+instance (signature ~ (m [Gtk.Window.Window]), MonadIO m, IsToplevelAccessible a) => O.MethodInfo ToplevelAccessibleGetChildrenMethodInfo a signature where
+    overloadedMethod _ = toplevelAccessibleGetChildren
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/ToplevelAccessible.hs-boot b/GI/Gtk/Objects/ToplevelAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/ToplevelAccessible.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.ToplevelAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToplevelAccessible = ToplevelAccessible (ManagedPtr ToplevelAccessible)
+instance GObject ToplevelAccessible where
+class (GObject o, O.IsDescendantOf ToplevelAccessible o) => IsToplevelAccessible o
+instance (GObject o, O.IsDescendantOf ToplevelAccessible o) => IsToplevelAccessible o
+instance O.HasParentTypes ToplevelAccessible
+#if ENABLE_OVERLOADING
+data ToplevelAccessibleGetChildrenMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TreeModelFilter.hs b/GI/Gtk/Objects/TreeModelFilter.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeModelFilter.hs
@@ -0,0 +1,836 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' is a tree model which wraps another tree model,
+and can do the following things:
+
+* Filter specific rows, based on data from a “visible column”, a column
+storing booleans indicating whether the row should be filtered or not,
+or based on the return value of a “visible function”, which gets a
+model, iter and user_data and returns a boolean indicating whether the
+row should be filtered or not.
+* Modify the “appearance” of the model, using a modify function.
+This is extremely powerful and allows for just changing some
+values and also for creating a completely different model based
+on the given child model.
+* Set a different root node, also known as a “virtual root”. You can pass
+in a 'GI.Gtk.Structs.TreePath.TreePath' indicating the root node for the filter at construction
+time.
+
+
+The basic API is similar to 'GI.Gtk.Objects.TreeModelSort.TreeModelSort'. For an example on its usage,
+see the section on 'GI.Gtk.Objects.TreeModelSort.TreeModelSort'.
+
+When using 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter', it is important to realize that
+'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' maintains an internal cache of all nodes which are
+visible in its clients. The cache is likely to be a subtree of the tree
+exposed by the child model. 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' will not cache the entire
+child model when unnecessary to not compromise the caching mechanism
+that is exposed by the reference counting scheme. If the child model
+implements reference counting, unnecessary signals may not be emitted
+because of reference counting rule 3, see the 'GI.Gtk.Interfaces.TreeModel.TreeModel'
+documentation. (Note that e.g. 'GI.Gtk.Objects.TreeStore.TreeStore' does not implement
+reference counting and will always emit all signals, even when
+the receiving node is not visible).
+
+Because of this, limitations for possible visible functions do apply.
+In general, visible functions should only use data or properties from
+the node for which the visibility state must be determined, its siblings
+or its parents. Usually, having a dependency on the state of any child
+node is not possible, unless references are taken on these explicitly.
+When no such reference exists, no signals may be received for these child
+nodes (see reference couting rule number 3 in the 'GI.Gtk.Interfaces.TreeModel.TreeModel' section).
+
+Determining the visibility state of a given node based on the state
+of its child nodes is a frequently occurring use case. Therefore,
+'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' explicitly supports this. For example, when a node
+does not have any children, you might not want the node to be visible.
+As soon as the first row is added to the node’s child level (or the
+last row removed), the node’s visibility should be updated.
+
+This introduces a dependency from the node on its child nodes. In order
+to accommodate this, 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' must make sure the necessary
+signals are received from the child model. This is achieved by building,
+for all nodes which are exposed as visible nodes to 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter'\'s
+clients, the child level (if any) and take a reference on the first node
+in this level. Furthermore, for every row-inserted, row-changed or
+row-deleted signal (also these which were not handled because the node
+was not cached), 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' will check if the visibility state
+of any parent node has changed.
+
+Beware, however, that this explicit support is limited to these two
+cases. For example, if you want a node to be visible only if two nodes
+in a child’s child level (2 levels deeper) are visible, you are on your
+own. In this case, either rely on 'GI.Gtk.Objects.TreeStore.TreeStore' to emit all signals
+because it does not implement reference counting, or for models that
+do implement reference counting, obtain references on these child levels
+yourself.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TreeModelFilter
+    ( 
+
+-- * Exported types
+    TreeModelFilter(..)                     ,
+    IsTreeModelFilter                       ,
+    toTreeModelFilter                       ,
+    noTreeModelFilter                       ,
+
+
+ -- * Methods
+-- ** clearCache #method:clearCache#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterClearCacheMethodInfo     ,
+#endif
+    treeModelFilterClearCache               ,
+
+
+-- ** convertChildIterToIter #method:convertChildIterToIter#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterConvertChildIterToIterMethodInfo,
+#endif
+    treeModelFilterConvertChildIterToIter   ,
+
+
+-- ** convertChildPathToPath #method:convertChildPathToPath#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterConvertChildPathToPathMethodInfo,
+#endif
+    treeModelFilterConvertChildPathToPath   ,
+
+
+-- ** convertIterToChildIter #method:convertIterToChildIter#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterConvertIterToChildIterMethodInfo,
+#endif
+    treeModelFilterConvertIterToChildIter   ,
+
+
+-- ** convertPathToChildPath #method:convertPathToChildPath#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterConvertPathToChildPathMethodInfo,
+#endif
+    treeModelFilterConvertPathToChildPath   ,
+
+
+-- ** getModel #method:getModel#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterGetModelMethodInfo       ,
+#endif
+    treeModelFilterGetModel                 ,
+
+
+-- ** refilter #method:refilter#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterRefilterMethodInfo       ,
+#endif
+    treeModelFilterRefilter                 ,
+
+
+-- ** setVisibleColumn #method:setVisibleColumn#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterSetVisibleColumnMethodInfo,
+#endif
+    treeModelFilterSetVisibleColumn         ,
+
+
+-- ** setVisibleFunc #method:setVisibleFunc#
+
+#if ENABLE_OVERLOADING
+    TreeModelFilterSetVisibleFuncMethodInfo ,
+#endif
+    treeModelFilterSetVisibleFunc           ,
+
+
+
+
+ -- * Properties
+-- ** childModel #attr:childModel#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeModelFilterChildModelPropertyInfo   ,
+#endif
+    constructTreeModelFilterChildModel      ,
+    getTreeModelFilterChildModel            ,
+#if ENABLE_OVERLOADING
+    treeModelFilterChildModel               ,
+#endif
+
+
+-- ** virtualRoot #attr:virtualRoot#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeModelFilterVirtualRootPropertyInfo  ,
+#endif
+    constructTreeModelFilterVirtualRoot     ,
+    getTreeModelFilterVirtualRoot           ,
+#if ENABLE_OVERLOADING
+    treeModelFilterVirtualRoot              ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeDragSource as Gtk.TreeDragSource
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- | Memory-managed wrapper type.
+newtype TreeModelFilter = TreeModelFilter (ManagedPtr TreeModelFilter)
+foreign import ccall "gtk_tree_model_filter_get_type"
+    c_gtk_tree_model_filter_get_type :: IO GType
+
+instance GObject TreeModelFilter where
+    gobjectType = c_gtk_tree_model_filter_get_type
+    
+
+-- | Type class for types which can be safely cast to `TreeModelFilter`, for instance with `toTreeModelFilter`.
+class (GObject o, O.IsDescendantOf TreeModelFilter o) => IsTreeModelFilter o
+instance (GObject o, O.IsDescendantOf TreeModelFilter o) => IsTreeModelFilter o
+
+instance O.HasParentTypes TreeModelFilter
+type instance O.ParentTypes TreeModelFilter = '[GObject.Object.Object, Gtk.TreeDragSource.TreeDragSource, Gtk.TreeModel.TreeModel]
+
+-- | Cast to `TreeModelFilter`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTreeModelFilter :: (MonadIO m, IsTreeModelFilter o) => o -> m TreeModelFilter
+toTreeModelFilter = liftIO . unsafeCastTo TreeModelFilter
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeModelFilter`.
+noTreeModelFilter :: Maybe TreeModelFilter
+noTreeModelFilter = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeModelFilterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeModelFilterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTreeModelFilterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTreeModelFilterMethod "clearCache" o = TreeModelFilterClearCacheMethodInfo
+    ResolveTreeModelFilterMethod "convertChildIterToIter" o = TreeModelFilterConvertChildIterToIterMethodInfo
+    ResolveTreeModelFilterMethod "convertChildPathToPath" o = TreeModelFilterConvertChildPathToPathMethodInfo
+    ResolveTreeModelFilterMethod "convertIterToChildIter" o = TreeModelFilterConvertIterToChildIterMethodInfo
+    ResolveTreeModelFilterMethod "convertPathToChildPath" o = TreeModelFilterConvertPathToChildPathMethodInfo
+    ResolveTreeModelFilterMethod "dragDataDelete" o = Gtk.TreeDragSource.TreeDragSourceDragDataDeleteMethodInfo
+    ResolveTreeModelFilterMethod "dragDataGet" o = Gtk.TreeDragSource.TreeDragSourceDragDataGetMethodInfo
+    ResolveTreeModelFilterMethod "filterNew" o = Gtk.TreeModel.TreeModelFilterNewMethodInfo
+    ResolveTreeModelFilterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTreeModelFilterMethod "foreach" o = Gtk.TreeModel.TreeModelForeachMethodInfo
+    ResolveTreeModelFilterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTreeModelFilterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTreeModelFilterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTreeModelFilterMethod "iterChildren" o = Gtk.TreeModel.TreeModelIterChildrenMethodInfo
+    ResolveTreeModelFilterMethod "iterHasChild" o = Gtk.TreeModel.TreeModelIterHasChildMethodInfo
+    ResolveTreeModelFilterMethod "iterNChildren" o = Gtk.TreeModel.TreeModelIterNChildrenMethodInfo
+    ResolveTreeModelFilterMethod "iterNext" o = Gtk.TreeModel.TreeModelIterNextMethodInfo
+    ResolveTreeModelFilterMethod "iterNthChild" o = Gtk.TreeModel.TreeModelIterNthChildMethodInfo
+    ResolveTreeModelFilterMethod "iterParent" o = Gtk.TreeModel.TreeModelIterParentMethodInfo
+    ResolveTreeModelFilterMethod "iterPrevious" o = Gtk.TreeModel.TreeModelIterPreviousMethodInfo
+    ResolveTreeModelFilterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTreeModelFilterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTreeModelFilterMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTreeModelFilterMethod "refNode" o = Gtk.TreeModel.TreeModelRefNodeMethodInfo
+    ResolveTreeModelFilterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTreeModelFilterMethod "refilter" o = TreeModelFilterRefilterMethodInfo
+    ResolveTreeModelFilterMethod "rowChanged" o = Gtk.TreeModel.TreeModelRowChangedMethodInfo
+    ResolveTreeModelFilterMethod "rowDeleted" o = Gtk.TreeModel.TreeModelRowDeletedMethodInfo
+    ResolveTreeModelFilterMethod "rowDraggable" o = Gtk.TreeDragSource.TreeDragSourceRowDraggableMethodInfo
+    ResolveTreeModelFilterMethod "rowHasChildToggled" o = Gtk.TreeModel.TreeModelRowHasChildToggledMethodInfo
+    ResolveTreeModelFilterMethod "rowInserted" o = Gtk.TreeModel.TreeModelRowInsertedMethodInfo
+    ResolveTreeModelFilterMethod "rowsReordered" o = Gtk.TreeModel.TreeModelRowsReorderedMethodInfo
+    ResolveTreeModelFilterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTreeModelFilterMethod "sortNewWithModel" o = Gtk.TreeModel.TreeModelSortNewWithModelMethodInfo
+    ResolveTreeModelFilterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTreeModelFilterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTreeModelFilterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTreeModelFilterMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTreeModelFilterMethod "unrefNode" o = Gtk.TreeModel.TreeModelUnrefNodeMethodInfo
+    ResolveTreeModelFilterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTreeModelFilterMethod "getColumnType" o = Gtk.TreeModel.TreeModelGetColumnTypeMethodInfo
+    ResolveTreeModelFilterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTreeModelFilterMethod "getFlags" o = Gtk.TreeModel.TreeModelGetFlagsMethodInfo
+    ResolveTreeModelFilterMethod "getIter" o = Gtk.TreeModel.TreeModelGetIterMethodInfo
+    ResolveTreeModelFilterMethod "getIterFirst" o = Gtk.TreeModel.TreeModelGetIterFirstMethodInfo
+    ResolveTreeModelFilterMethod "getIterFromString" o = Gtk.TreeModel.TreeModelGetIterFromStringMethodInfo
+    ResolveTreeModelFilterMethod "getModel" o = TreeModelFilterGetModelMethodInfo
+    ResolveTreeModelFilterMethod "getNColumns" o = Gtk.TreeModel.TreeModelGetNColumnsMethodInfo
+    ResolveTreeModelFilterMethod "getPath" o = Gtk.TreeModel.TreeModelGetPathMethodInfo
+    ResolveTreeModelFilterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTreeModelFilterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTreeModelFilterMethod "getStringFromIter" o = Gtk.TreeModel.TreeModelGetStringFromIterMethodInfo
+    ResolveTreeModelFilterMethod "getValue" o = Gtk.TreeModel.TreeModelGetValueMethodInfo
+    ResolveTreeModelFilterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTreeModelFilterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTreeModelFilterMethod "setVisibleColumn" o = TreeModelFilterSetVisibleColumnMethodInfo
+    ResolveTreeModelFilterMethod "setVisibleFunc" o = TreeModelFilterSetVisibleFuncMethodInfo
+    ResolveTreeModelFilterMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeModelFilterMethod t TreeModelFilter, O.MethodInfo info TreeModelFilter p) => OL.IsLabel t (TreeModelFilter -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "child-model"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@child-model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeModelFilter #childModel
+@
+-}
+getTreeModelFilterChildModel :: (MonadIO m, IsTreeModelFilter o) => o -> m (Maybe Gtk.TreeModel.TreeModel)
+getTreeModelFilterChildModel obj = liftIO $ B.Properties.getObjectPropertyObject obj "child-model" Gtk.TreeModel.TreeModel
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@child-model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeModelFilterChildModel :: (IsTreeModelFilter o, Gtk.TreeModel.IsTreeModel a) => a -> IO (GValueConstruct o)
+constructTreeModelFilterChildModel val = B.Properties.constructObjectPropertyObject "child-model" (Just val)
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterChildModelPropertyInfo
+instance AttrInfo TreeModelFilterChildModelPropertyInfo where
+    type AttrAllowedOps TreeModelFilterChildModelPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeModelFilterChildModelPropertyInfo = Gtk.TreeModel.IsTreeModel
+    type AttrBaseTypeConstraint TreeModelFilterChildModelPropertyInfo = IsTreeModelFilter
+    type AttrGetType TreeModelFilterChildModelPropertyInfo = (Maybe Gtk.TreeModel.TreeModel)
+    type AttrLabel TreeModelFilterChildModelPropertyInfo = "child-model"
+    type AttrOrigin TreeModelFilterChildModelPropertyInfo = TreeModelFilter
+    attrGet _ = getTreeModelFilterChildModel
+    attrSet _ = undefined
+    attrConstruct _ = constructTreeModelFilterChildModel
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "virtual-root"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreePath"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@virtual-root@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeModelFilter #virtualRoot
+@
+-}
+getTreeModelFilterVirtualRoot :: (MonadIO m, IsTreeModelFilter o) => o -> m (Maybe Gtk.TreePath.TreePath)
+getTreeModelFilterVirtualRoot obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "virtual-root" Gtk.TreePath.TreePath
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@virtual-root@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeModelFilterVirtualRoot :: (IsTreeModelFilter o) => Gtk.TreePath.TreePath -> IO (GValueConstruct o)
+constructTreeModelFilterVirtualRoot val = B.Properties.constructObjectPropertyBoxed "virtual-root" (Just val)
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterVirtualRootPropertyInfo
+instance AttrInfo TreeModelFilterVirtualRootPropertyInfo where
+    type AttrAllowedOps TreeModelFilterVirtualRootPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeModelFilterVirtualRootPropertyInfo = (~) Gtk.TreePath.TreePath
+    type AttrBaseTypeConstraint TreeModelFilterVirtualRootPropertyInfo = IsTreeModelFilter
+    type AttrGetType TreeModelFilterVirtualRootPropertyInfo = (Maybe Gtk.TreePath.TreePath)
+    type AttrLabel TreeModelFilterVirtualRootPropertyInfo = "virtual-root"
+    type AttrOrigin TreeModelFilterVirtualRootPropertyInfo = TreeModelFilter
+    attrGet _ = getTreeModelFilterVirtualRoot
+    attrSet _ = undefined
+    attrConstruct _ = constructTreeModelFilterVirtualRoot
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeModelFilter
+type instance O.AttributeList TreeModelFilter = TreeModelFilterAttributeList
+type TreeModelFilterAttributeList = ('[ '("childModel", TreeModelFilterChildModelPropertyInfo), '("virtualRoot", TreeModelFilterVirtualRootPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+treeModelFilterChildModel :: AttrLabelProxy "childModel"
+treeModelFilterChildModel = AttrLabelProxy
+
+treeModelFilterVirtualRoot :: AttrLabelProxy "virtualRoot"
+treeModelFilterVirtualRoot = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TreeModelFilter = TreeModelFilterSignalList
+type TreeModelFilterSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("rowChanged", Gtk.TreeModel.TreeModelRowChangedSignalInfo), '("rowDeleted", Gtk.TreeModel.TreeModelRowDeletedSignalInfo), '("rowHasChildToggled", Gtk.TreeModel.TreeModelRowHasChildToggledSignalInfo), '("rowInserted", Gtk.TreeModel.TreeModelRowInsertedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TreeModelFilter::clear_cache
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_clear_cache" gtk_tree_model_filter_clear_cache :: 
+    Ptr TreeModelFilter ->                  -- filter : TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"})
+    IO ()
+
+{- |
+This function should almost never be called. It clears the /@filter@/
+of any cached iterators that haven’t been reffed with
+'GI.Gtk.Interfaces.TreeModel.treeModelRefNode'. This might be useful if the child model
+being filtered is static (and doesn’t change often) and there has been
+a lot of unreffed access to nodes. As a side effect of this function,
+all unreffed iters will be invalid.
+
+/Since: 2.4/
+-}
+treeModelFilterClearCache ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter'. -}
+    -> m ()
+treeModelFilterClearCache filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_tree_model_filter_clear_cache filter'
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterClearCacheMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeModelFilter a) => O.MethodInfo TreeModelFilterClearCacheMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterClearCache
+
+#endif
+
+-- method TreeModelFilter::convert_child_iter_to_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An uninitialized #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "child_iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter pointing to a row on the child model.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_convert_child_iter_to_iter" gtk_tree_model_filter_convert_child_iter_to_iter :: 
+    Ptr TreeModelFilter ->                  -- filter : TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- filter_iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- child_iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Sets /@filterIter@/ to point to the row in /@filter@/ that corresponds to the
+row pointed at by /@childIter@/.  If /@filterIter@/ was not set, 'False' is
+returned.
+
+/Since: 2.4/
+-}
+treeModelFilterConvertChildIterToIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@childIter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to a row on the child model. -}
+    -> m ((Bool, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ 'True', if /@filterIter@/ was set, i.e. if /@childIter@/ is a
+valid iterator pointing to a visible row in child model. -}
+treeModelFilterConvertChildIterToIter filter childIter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    filterIter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    childIter' <- unsafeManagedPtrGetPtr childIter
+    result <- gtk_tree_model_filter_convert_child_iter_to_iter filter' filterIter childIter'
+    let result' = (/= 0) result
+    filterIter' <- (wrapBoxed Gtk.TreeIter.TreeIter) filterIter
+    touchManagedPtr filter
+    touchManagedPtr childIter
+    return (result', filterIter')
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterConvertChildIterToIterMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModelFilter a) => O.MethodInfo TreeModelFilterConvertChildIterToIterMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterConvertChildIterToIter
+
+#endif
+
+-- method TreeModelFilter::convert_child_path_to_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath to convert.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_convert_child_path_to_path" gtk_tree_model_filter_convert_child_path_to_path :: 
+    Ptr TreeModelFilter ->                  -- filter : TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"})
+    Ptr Gtk.TreePath.TreePath ->            -- child_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr Gtk.TreePath.TreePath)
+
+{- |
+Converts /@childPath@/ to a path relative to /@filter@/. That is, /@childPath@/
+points to a path in the child model. The rerturned path will point to the
+same row in the filtered model. If /@childPath@/ isn’t a valid path on the
+child model or points to a row which is not visible in /@filter@/, then 'Nothing'
+is returned.
+
+/Since: 2.4/
+-}
+treeModelFilterConvertChildPathToPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@childPath@/: A 'GI.Gtk.Structs.TreePath.TreePath' to convert. -}
+    -> m (Maybe Gtk.TreePath.TreePath)
+    {- ^ __Returns:__ A newly allocated 'GI.Gtk.Structs.TreePath.TreePath', or 'Nothing'. -}
+treeModelFilterConvertChildPathToPath filter childPath = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    childPath' <- unsafeManagedPtrGetPtr childPath
+    result <- gtk_tree_model_filter_convert_child_path_to_path filter' childPath'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gtk.TreePath.TreePath) result'
+        return result''
+    touchManagedPtr filter
+    touchManagedPtr childPath
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterConvertChildPathToPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsTreeModelFilter a) => O.MethodInfo TreeModelFilterConvertChildPathToPathMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterConvertChildPathToPath
+
+#endif
+
+-- method TreeModelFilter::convert_iter_to_child_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An uninitialized #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "filter_iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter pointing to a row on @filter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_convert_iter_to_child_iter" gtk_tree_model_filter_convert_iter_to_child_iter :: 
+    Ptr TreeModelFilter ->                  -- filter : TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- child_iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- filter_iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Sets /@childIter@/ to point to the row pointed to by /@filterIter@/.
+
+/Since: 2.4/
+-}
+treeModelFilterConvertIterToChildIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@filterIter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to a row on /@filter@/. -}
+    -> m (Gtk.TreeIter.TreeIter)
+treeModelFilterConvertIterToChildIter filter filterIter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    childIter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    filterIter' <- unsafeManagedPtrGetPtr filterIter
+    gtk_tree_model_filter_convert_iter_to_child_iter filter' childIter filterIter'
+    childIter' <- (wrapBoxed Gtk.TreeIter.TreeIter) childIter
+    touchManagedPtr filter
+    touchManagedPtr filterIter
+    return childIter'
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterConvertIterToChildIterMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeModelFilter a) => O.MethodInfo TreeModelFilterConvertIterToChildIterMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterConvertIterToChildIter
+
+#endif
+
+-- method TreeModelFilter::convert_path_to_child_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath to convert.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_convert_path_to_child_path" gtk_tree_model_filter_convert_path_to_child_path :: 
+    Ptr TreeModelFilter ->                  -- filter : TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"})
+    Ptr Gtk.TreePath.TreePath ->            -- filter_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr Gtk.TreePath.TreePath)
+
+{- |
+Converts /@filterPath@/ to a path on the child model of /@filter@/. That is,
+/@filterPath@/ points to a location in /@filter@/. The returned path will
+point to the same location in the model not being filtered. If /@filterPath@/
+does not point to a location in the child model, 'Nothing' is returned.
+
+/Since: 2.4/
+-}
+treeModelFilterConvertPathToChildPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@filterPath@/: A 'GI.Gtk.Structs.TreePath.TreePath' to convert. -}
+    -> m (Maybe Gtk.TreePath.TreePath)
+    {- ^ __Returns:__ A newly allocated 'GI.Gtk.Structs.TreePath.TreePath', or 'Nothing'. -}
+treeModelFilterConvertPathToChildPath filter filterPath = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    filterPath' <- unsafeManagedPtrGetPtr filterPath
+    result <- gtk_tree_model_filter_convert_path_to_child_path filter' filterPath'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gtk.TreePath.TreePath) result'
+        return result''
+    touchManagedPtr filter
+    touchManagedPtr filterPath
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterConvertPathToChildPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsTreeModelFilter a) => O.MethodInfo TreeModelFilterConvertPathToChildPathMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterConvertPathToChildPath
+
+#endif
+
+-- method TreeModelFilter::get_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_get_model" gtk_tree_model_filter_get_model :: 
+    Ptr TreeModelFilter ->                  -- filter : TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"})
+    IO (Ptr Gtk.TreeModel.TreeModel)
+
+{- |
+Returns a pointer to the child model of /@filter@/.
+
+/Since: 2.4/
+-}
+treeModelFilterGetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter'. -}
+    -> m Gtk.TreeModel.TreeModel
+    {- ^ __Returns:__ A pointer to a 'GI.Gtk.Interfaces.TreeModel.TreeModel'. -}
+treeModelFilterGetModel filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    result <- gtk_tree_model_filter_get_model filter'
+    checkUnexpectedReturnNULL "treeModelFilterGetModel" result
+    result' <- (newObject Gtk.TreeModel.TreeModel) result
+    touchManagedPtr filter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterGetModelMethodInfo
+instance (signature ~ (m Gtk.TreeModel.TreeModel), MonadIO m, IsTreeModelFilter a) => O.MethodInfo TreeModelFilterGetModelMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterGetModel
+
+#endif
+
+-- method TreeModelFilter::refilter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_refilter" gtk_tree_model_filter_refilter :: 
+    Ptr TreeModelFilter ->                  -- filter : TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"})
+    IO ()
+
+{- |
+Emits ::row_changed for each row in the child model, which causes
+the filter to re-evaluate whether a row is visible or not.
+
+/Since: 2.4/
+-}
+treeModelFilterRefilter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter'. -}
+    -> m ()
+treeModelFilterRefilter filter = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_tree_model_filter_refilter filter'
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterRefilterMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeModelFilter a) => O.MethodInfo TreeModelFilterRefilterMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterRefilter
+
+#endif
+
+-- method TreeModelFilter::set_visible_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gint which is the column containing the visible information", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_set_visible_column" gtk_tree_model_filter_set_visible_column :: 
+    Ptr TreeModelFilter ->                  -- filter : TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"})
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+Sets /@column@/ of the child_model to be the column where /@filter@/ should
+look for visibility information. /@columns@/ should be a column of type
+@/G_TYPE_BOOLEAN/@, where 'True' means that a row is visible, and 'False'
+if not.
+
+Note that 'GI.Gtk.Objects.TreeModelFilter.treeModelFilterSetVisibleFunc' or
+'GI.Gtk.Objects.TreeModelFilter.treeModelFilterSetVisibleColumn' can only be called
+once for a given filter model.
+
+/Since: 2.4/
+-}
+treeModelFilterSetVisibleColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' -}
+    -> Int32
+    {- ^ /@column@/: A @/gint/@ which is the column containing the visible information -}
+    -> m ()
+treeModelFilterSetVisibleColumn filter column = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    gtk_tree_model_filter_set_visible_column filter' column
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterSetVisibleColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTreeModelFilter a) => O.MethodInfo TreeModelFilterSetVisibleColumnMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterSetVisibleColumn
+
+#endif
+
+-- method TreeModelFilter::set_visible_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelFilterVisibleFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelFilterVisibleFunc, the visible function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data to pass to the visible function, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Destroy notifier of @data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_filter_set_visible_func" gtk_tree_model_filter_set_visible_func :: 
+    Ptr TreeModelFilter ->                  -- filter : TInterface (Name {namespace = "Gtk", name = "TreeModelFilter"})
+    FunPtr Gtk.Callbacks.C_TreeModelFilterVisibleFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeModelFilterVisibleFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the visible function used when filtering the /@filter@/ to be /@func@/.
+The function should return 'True' if the given row should be visible and
+'False' otherwise.
+
+If the condition calculated by the function changes over time (e.g.
+because it depends on some global parameters), you must call
+'GI.Gtk.Objects.TreeModelFilter.treeModelFilterRefilter' to keep the visibility information
+of the model up-to-date.
+
+Note that /@func@/ is called whenever a row is inserted, when it may still
+be empty. The visible function should therefore take special care of empty
+rows, like in the example below.
+
+
+=== /C code/
+>
+>static gboolean
+>visible_func (GtkTreeModel *model,
+>              GtkTreeIter  *iter,
+>              gpointer      data)
+>{
+>  // Visible if row is non-empty and first column is “HI”
+>  gchar *str;
+>  gboolean visible = FALSE;
+>
+>  gtk_tree_model_get (model, iter, 0, &str, -1);
+>  if (str && strcmp (str, "HI") == 0)
+>    visible = TRUE;
+>  g_free (str);
+>
+>  return visible;
+>}
+
+
+Note that 'GI.Gtk.Objects.TreeModelFilter.treeModelFilterSetVisibleFunc' or
+'GI.Gtk.Objects.TreeModelFilter.treeModelFilterSetVisibleColumn' can only be called
+once for a given filter model.
+
+/Since: 2.4/
+-}
+treeModelFilterSetVisibleFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelFilter a) =>
+    a
+    {- ^ /@filter@/: A 'GI.Gtk.Objects.TreeModelFilter.TreeModelFilter' -}
+    -> Gtk.Callbacks.TreeModelFilterVisibleFunc
+    {- ^ /@func@/: A 'GI.Gtk.Callbacks.TreeModelFilterVisibleFunc', the visible function -}
+    -> m ()
+treeModelFilterSetVisibleFunc filter func = liftIO $ do
+    filter' <- unsafeManagedPtrCastPtr filter
+    func' <- Gtk.Callbacks.mk_TreeModelFilterVisibleFunc (Gtk.Callbacks.wrap_TreeModelFilterVisibleFunc Nothing (Gtk.Callbacks.drop_closures_TreeModelFilterVisibleFunc func))
+    let data_ = castFunPtrToPtr func'
+    let destroy = safeFreeFunPtrPtr
+    gtk_tree_model_filter_set_visible_func filter' func' data_ destroy
+    touchManagedPtr filter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelFilterSetVisibleFuncMethodInfo
+instance (signature ~ (Gtk.Callbacks.TreeModelFilterVisibleFunc -> m ()), MonadIO m, IsTreeModelFilter a) => O.MethodInfo TreeModelFilterSetVisibleFuncMethodInfo a signature where
+    overloadedMethod _ = treeModelFilterSetVisibleFunc
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TreeModelFilter.hs-boot b/GI/Gtk/Objects/TreeModelFilter.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeModelFilter.hs-boot
@@ -0,0 +1,62 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TreeModelFilter where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeModelFilter = TreeModelFilter (ManagedPtr TreeModelFilter)
+instance GObject TreeModelFilter where
+class (GObject o, O.IsDescendantOf TreeModelFilter o) => IsTreeModelFilter o
+instance (GObject o, O.IsDescendantOf TreeModelFilter o) => IsTreeModelFilter o
+instance O.HasParentTypes TreeModelFilter
+#if ENABLE_OVERLOADING
+data TreeModelFilterChildModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterVirtualRootPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterClearCacheMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterConvertChildIterToIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterConvertChildPathToPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterConvertIterToChildIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterConvertPathToChildPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterGetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterRefilterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterSetVisibleColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelFilterSetVisibleFuncMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TreeModelSort.hs b/GI/Gtk/Objects/TreeModelSort.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeModelSort.hs
@@ -0,0 +1,722 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.TreeModelSort.TreeModelSort' is a model which implements the 'GI.Gtk.Interfaces.TreeSortable.TreeSortable'
+interface.  It does not hold any data itself, but rather is created with
+a child model and proxies its data.  It has identical column types to
+this child model, and the changes in the child are propagated.  The
+primary purpose of this model is to provide a way to sort a different
+model without modifying it. Note that the sort function used by
+'GI.Gtk.Objects.TreeModelSort.TreeModelSort' is not guaranteed to be stable.
+
+The use of this is best demonstrated through an example.  In the
+following sample code we create two 'GI.Gtk.Objects.TreeView.TreeView' widgets each with a
+view of the same data.  As the model is wrapped here by a
+'GI.Gtk.Objects.TreeModelSort.TreeModelSort', the two @/GtkTreeViews/@ can each sort their
+view of the data without affecting the other.  By contrast, if we
+simply put the same model in each widget, then sorting the first would
+sort the second.
+
+## Using a 'GI.Gtk.Objects.TreeModelSort.TreeModelSort'
+
+
+=== /C code/
+>
+>{
+>  GtkTreeView *tree_view1;
+>  GtkTreeView *tree_view2;
+>  GtkTreeModel *sort_model1;
+>  GtkTreeModel *sort_model2;
+>  GtkTreeModel *child_model;
+>
+>  // get the child model
+>  child_model = get_my_model ();
+>
+>  // Create the first tree
+>  sort_model1 = gtk_tree_model_sort_new_with_model (child_model);
+>  tree_view1 = gtk_tree_view_new_with_model (sort_model1);
+>
+>  // Create the second tree
+>  sort_model2 = gtk_tree_model_sort_new_with_model (child_model);
+>  tree_view2 = gtk_tree_view_new_with_model (sort_model2);
+>
+>  // Now we can sort the two models independently
+>  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model1),
+>                                        COLUMN_1, GTK_SORT_ASCENDING);
+>  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model2),
+>                                        COLUMN_1, GTK_SORT_DESCENDING);
+>}
+
+
+To demonstrate how to access the underlying child model from the sort
+model, the next example will be a callback for the 'GI.Gtk.Objects.TreeSelection.TreeSelection'
+'GI.Gtk.Objects.TreeSelection.TreeSelection'::@/changed/@ signal.  In this callback, we get a string
+from COLUMN_1 of the model.  We then modify the string, find the same
+selected row on the child model, and change the row there.
+
+== Accessing the child model of in a selection changed callback
+
+
+=== /C code/
+>
+>void
+>selection_changed (GtkTreeSelection *selection, gpointer data)
+>{
+>  GtkTreeModel *sort_model = NULL;
+>  GtkTreeModel *child_model;
+>  GtkTreeIter sort_iter;
+>  GtkTreeIter child_iter;
+>  char *some_data = NULL;
+>  char *modified_data;
+>
+>  // Get the current selected row and the model.
+>  if (! gtk_tree_selection_get_selected (selection,
+>                                         &sort_model,
+>                                         &sort_iter))
+>    return;
+>
+>  // Look up the current value on the selected row and get
+>  // a new value to change it to.
+>  gtk_tree_model_get (GTK_TREE_MODEL (sort_model), &sort_iter,
+>                      COLUMN_1, &some_data,
+>                      -1);
+>
+>  modified_data = change_the_data (some_data);
+>  g_free (some_data);
+>
+>  // Get an iterator on the child model, instead of the sort model.
+>  gtk_tree_model_sort_convert_iter_to_child_iter (GTK_TREE_MODEL_SORT (sort_model),
+>                                                  &child_iter,
+>                                                  &sort_iter);
+>
+>  // Get the child model and change the value of the row. In this
+>  // example, the child model is a GtkListStore. It could be any other
+>  // type of model, though.
+>  child_model = gtk_tree_model_sort_get_model (GTK_TREE_MODEL_SORT (sort_model));
+>  gtk_list_store_set (GTK_LIST_STORE (child_model), &child_iter,
+>                      COLUMN_1, &modified_data,
+>                      -1);
+>  g_free (modified_data);
+>}
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TreeModelSort
+    ( 
+
+-- * Exported types
+    TreeModelSort(..)                       ,
+    IsTreeModelSort                         ,
+    toTreeModelSort                         ,
+    noTreeModelSort                         ,
+
+
+ -- * Methods
+-- ** clearCache #method:clearCache#
+
+#if ENABLE_OVERLOADING
+    TreeModelSortClearCacheMethodInfo       ,
+#endif
+    treeModelSortClearCache                 ,
+
+
+-- ** convertChildIterToIter #method:convertChildIterToIter#
+
+#if ENABLE_OVERLOADING
+    TreeModelSortConvertChildIterToIterMethodInfo,
+#endif
+    treeModelSortConvertChildIterToIter     ,
+
+
+-- ** convertChildPathToPath #method:convertChildPathToPath#
+
+#if ENABLE_OVERLOADING
+    TreeModelSortConvertChildPathToPathMethodInfo,
+#endif
+    treeModelSortConvertChildPathToPath     ,
+
+
+-- ** convertIterToChildIter #method:convertIterToChildIter#
+
+#if ENABLE_OVERLOADING
+    TreeModelSortConvertIterToChildIterMethodInfo,
+#endif
+    treeModelSortConvertIterToChildIter     ,
+
+
+-- ** convertPathToChildPath #method:convertPathToChildPath#
+
+#if ENABLE_OVERLOADING
+    TreeModelSortConvertPathToChildPathMethodInfo,
+#endif
+    treeModelSortConvertPathToChildPath     ,
+
+
+-- ** getModel #method:getModel#
+
+#if ENABLE_OVERLOADING
+    TreeModelSortGetModelMethodInfo         ,
+#endif
+    treeModelSortGetModel                   ,
+
+
+-- ** iterIsValid #method:iterIsValid#
+
+#if ENABLE_OVERLOADING
+    TreeModelSortIterIsValidMethodInfo      ,
+#endif
+    treeModelSortIterIsValid                ,
+
+
+-- ** resetDefaultSortFunc #method:resetDefaultSortFunc#
+
+#if ENABLE_OVERLOADING
+    TreeModelSortResetDefaultSortFuncMethodInfo,
+#endif
+    treeModelSortResetDefaultSortFunc       ,
+
+
+
+
+ -- * Properties
+-- ** model #attr:model#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeModelSortModelPropertyInfo          ,
+#endif
+    constructTreeModelSortModel             ,
+    getTreeModelSortModel                   ,
+#if ENABLE_OVERLOADING
+    treeModelSortModel                      ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeDragSource as Gtk.TreeDragSource
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeSortable as Gtk.TreeSortable
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- | Memory-managed wrapper type.
+newtype TreeModelSort = TreeModelSort (ManagedPtr TreeModelSort)
+foreign import ccall "gtk_tree_model_sort_get_type"
+    c_gtk_tree_model_sort_get_type :: IO GType
+
+instance GObject TreeModelSort where
+    gobjectType = c_gtk_tree_model_sort_get_type
+    
+
+-- | Type class for types which can be safely cast to `TreeModelSort`, for instance with `toTreeModelSort`.
+class (GObject o, O.IsDescendantOf TreeModelSort o) => IsTreeModelSort o
+instance (GObject o, O.IsDescendantOf TreeModelSort o) => IsTreeModelSort o
+
+instance O.HasParentTypes TreeModelSort
+type instance O.ParentTypes TreeModelSort = '[GObject.Object.Object, Gtk.TreeDragSource.TreeDragSource, Gtk.TreeModel.TreeModel, Gtk.TreeSortable.TreeSortable]
+
+-- | Cast to `TreeModelSort`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTreeModelSort :: (MonadIO m, IsTreeModelSort o) => o -> m TreeModelSort
+toTreeModelSort = liftIO . unsafeCastTo TreeModelSort
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeModelSort`.
+noTreeModelSort :: Maybe TreeModelSort
+noTreeModelSort = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeModelSortMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeModelSortMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTreeModelSortMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTreeModelSortMethod "clearCache" o = TreeModelSortClearCacheMethodInfo
+    ResolveTreeModelSortMethod "convertChildIterToIter" o = TreeModelSortConvertChildIterToIterMethodInfo
+    ResolveTreeModelSortMethod "convertChildPathToPath" o = TreeModelSortConvertChildPathToPathMethodInfo
+    ResolveTreeModelSortMethod "convertIterToChildIter" o = TreeModelSortConvertIterToChildIterMethodInfo
+    ResolveTreeModelSortMethod "convertPathToChildPath" o = TreeModelSortConvertPathToChildPathMethodInfo
+    ResolveTreeModelSortMethod "dragDataDelete" o = Gtk.TreeDragSource.TreeDragSourceDragDataDeleteMethodInfo
+    ResolveTreeModelSortMethod "dragDataGet" o = Gtk.TreeDragSource.TreeDragSourceDragDataGetMethodInfo
+    ResolveTreeModelSortMethod "filterNew" o = Gtk.TreeModel.TreeModelFilterNewMethodInfo
+    ResolveTreeModelSortMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTreeModelSortMethod "foreach" o = Gtk.TreeModel.TreeModelForeachMethodInfo
+    ResolveTreeModelSortMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTreeModelSortMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTreeModelSortMethod "hasDefaultSortFunc" o = Gtk.TreeSortable.TreeSortableHasDefaultSortFuncMethodInfo
+    ResolveTreeModelSortMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTreeModelSortMethod "iterChildren" o = Gtk.TreeModel.TreeModelIterChildrenMethodInfo
+    ResolveTreeModelSortMethod "iterHasChild" o = Gtk.TreeModel.TreeModelIterHasChildMethodInfo
+    ResolveTreeModelSortMethod "iterIsValid" o = TreeModelSortIterIsValidMethodInfo
+    ResolveTreeModelSortMethod "iterNChildren" o = Gtk.TreeModel.TreeModelIterNChildrenMethodInfo
+    ResolveTreeModelSortMethod "iterNext" o = Gtk.TreeModel.TreeModelIterNextMethodInfo
+    ResolveTreeModelSortMethod "iterNthChild" o = Gtk.TreeModel.TreeModelIterNthChildMethodInfo
+    ResolveTreeModelSortMethod "iterParent" o = Gtk.TreeModel.TreeModelIterParentMethodInfo
+    ResolveTreeModelSortMethod "iterPrevious" o = Gtk.TreeModel.TreeModelIterPreviousMethodInfo
+    ResolveTreeModelSortMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTreeModelSortMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTreeModelSortMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTreeModelSortMethod "refNode" o = Gtk.TreeModel.TreeModelRefNodeMethodInfo
+    ResolveTreeModelSortMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTreeModelSortMethod "resetDefaultSortFunc" o = TreeModelSortResetDefaultSortFuncMethodInfo
+    ResolveTreeModelSortMethod "rowChanged" o = Gtk.TreeModel.TreeModelRowChangedMethodInfo
+    ResolveTreeModelSortMethod "rowDeleted" o = Gtk.TreeModel.TreeModelRowDeletedMethodInfo
+    ResolveTreeModelSortMethod "rowDraggable" o = Gtk.TreeDragSource.TreeDragSourceRowDraggableMethodInfo
+    ResolveTreeModelSortMethod "rowHasChildToggled" o = Gtk.TreeModel.TreeModelRowHasChildToggledMethodInfo
+    ResolveTreeModelSortMethod "rowInserted" o = Gtk.TreeModel.TreeModelRowInsertedMethodInfo
+    ResolveTreeModelSortMethod "rowsReordered" o = Gtk.TreeModel.TreeModelRowsReorderedMethodInfo
+    ResolveTreeModelSortMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTreeModelSortMethod "sortColumnChanged" o = Gtk.TreeSortable.TreeSortableSortColumnChangedMethodInfo
+    ResolveTreeModelSortMethod "sortNewWithModel" o = Gtk.TreeModel.TreeModelSortNewWithModelMethodInfo
+    ResolveTreeModelSortMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTreeModelSortMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTreeModelSortMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTreeModelSortMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTreeModelSortMethod "unrefNode" o = Gtk.TreeModel.TreeModelUnrefNodeMethodInfo
+    ResolveTreeModelSortMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTreeModelSortMethod "getColumnType" o = Gtk.TreeModel.TreeModelGetColumnTypeMethodInfo
+    ResolveTreeModelSortMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTreeModelSortMethod "getFlags" o = Gtk.TreeModel.TreeModelGetFlagsMethodInfo
+    ResolveTreeModelSortMethod "getIter" o = Gtk.TreeModel.TreeModelGetIterMethodInfo
+    ResolveTreeModelSortMethod "getIterFirst" o = Gtk.TreeModel.TreeModelGetIterFirstMethodInfo
+    ResolveTreeModelSortMethod "getIterFromString" o = Gtk.TreeModel.TreeModelGetIterFromStringMethodInfo
+    ResolveTreeModelSortMethod "getModel" o = TreeModelSortGetModelMethodInfo
+    ResolveTreeModelSortMethod "getNColumns" o = Gtk.TreeModel.TreeModelGetNColumnsMethodInfo
+    ResolveTreeModelSortMethod "getPath" o = Gtk.TreeModel.TreeModelGetPathMethodInfo
+    ResolveTreeModelSortMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTreeModelSortMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTreeModelSortMethod "getSortColumnId" o = Gtk.TreeSortable.TreeSortableGetSortColumnIdMethodInfo
+    ResolveTreeModelSortMethod "getStringFromIter" o = Gtk.TreeModel.TreeModelGetStringFromIterMethodInfo
+    ResolveTreeModelSortMethod "getValue" o = Gtk.TreeModel.TreeModelGetValueMethodInfo
+    ResolveTreeModelSortMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTreeModelSortMethod "setDefaultSortFunc" o = Gtk.TreeSortable.TreeSortableSetDefaultSortFuncMethodInfo
+    ResolveTreeModelSortMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTreeModelSortMethod "setSortColumnId" o = Gtk.TreeSortable.TreeSortableSetSortColumnIdMethodInfo
+    ResolveTreeModelSortMethod "setSortFunc" o = Gtk.TreeSortable.TreeSortableSetSortFuncMethodInfo
+    ResolveTreeModelSortMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeModelSortMethod t TreeModelSort, O.MethodInfo info TreeModelSort p) => OL.IsLabel t (TreeModelSort -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "model"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeModelSort #model
+@
+-}
+getTreeModelSortModel :: (MonadIO m, IsTreeModelSort o) => o -> m Gtk.TreeModel.TreeModel
+getTreeModelSortModel obj = liftIO $ checkUnexpectedNothing "getTreeModelSortModel" $ B.Properties.getObjectPropertyObject obj "model" Gtk.TreeModel.TreeModel
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeModelSortModel :: (IsTreeModelSort o, Gtk.TreeModel.IsTreeModel a) => a -> IO (GValueConstruct o)
+constructTreeModelSortModel val = B.Properties.constructObjectPropertyObject "model" (Just val)
+
+#if ENABLE_OVERLOADING
+data TreeModelSortModelPropertyInfo
+instance AttrInfo TreeModelSortModelPropertyInfo where
+    type AttrAllowedOps TreeModelSortModelPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeModelSortModelPropertyInfo = Gtk.TreeModel.IsTreeModel
+    type AttrBaseTypeConstraint TreeModelSortModelPropertyInfo = IsTreeModelSort
+    type AttrGetType TreeModelSortModelPropertyInfo = Gtk.TreeModel.TreeModel
+    type AttrLabel TreeModelSortModelPropertyInfo = "model"
+    type AttrOrigin TreeModelSortModelPropertyInfo = TreeModelSort
+    attrGet _ = getTreeModelSortModel
+    attrSet _ = undefined
+    attrConstruct _ = constructTreeModelSortModel
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeModelSort
+type instance O.AttributeList TreeModelSort = TreeModelSortAttributeList
+type TreeModelSortAttributeList = ('[ '("model", TreeModelSortModelPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+treeModelSortModel :: AttrLabelProxy "model"
+treeModelSortModel = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TreeModelSort = TreeModelSortSignalList
+type TreeModelSortSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("rowChanged", Gtk.TreeModel.TreeModelRowChangedSignalInfo), '("rowDeleted", Gtk.TreeModel.TreeModelRowDeletedSignalInfo), '("rowHasChildToggled", Gtk.TreeModel.TreeModelRowHasChildToggledSignalInfo), '("rowInserted", Gtk.TreeModel.TreeModelRowInsertedSignalInfo), '("sortColumnChanged", Gtk.TreeSortable.TreeSortableSortColumnChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TreeModelSort::clear_cache
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model_sort", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelSort"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelSort", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_sort_clear_cache" gtk_tree_model_sort_clear_cache :: 
+    Ptr TreeModelSort ->                    -- tree_model_sort : TInterface (Name {namespace = "Gtk", name = "TreeModelSort"})
+    IO ()
+
+{- |
+This function should almost never be called.  It clears the /@treeModelSort@/
+of any cached iterators that haven’t been reffed with
+'GI.Gtk.Interfaces.TreeModel.treeModelRefNode'.  This might be useful if the child model being
+sorted is static (and doesn’t change often) and there has been a lot of
+unreffed access to nodes.  As a side effect of this function, all unreffed
+iters will be invalid.
+-}
+treeModelSortClearCache ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
+    a
+    {- ^ /@treeModelSort@/: A 'GI.Gtk.Objects.TreeModelSort.TreeModelSort' -}
+    -> m ()
+treeModelSortClearCache treeModelSort = liftIO $ do
+    treeModelSort' <- unsafeManagedPtrCastPtr treeModelSort
+    gtk_tree_model_sort_clear_cache treeModelSort'
+    touchManagedPtr treeModelSort
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelSortClearCacheMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortClearCacheMethodInfo a signature where
+    overloadedMethod _ = treeModelSortClearCache
+
+#endif
+
+-- method TreeModelSort::convert_child_iter_to_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model_sort", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelSort"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelSort", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An uninitialized #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "child_iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter pointing to a row on the child model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_sort_convert_child_iter_to_iter" gtk_tree_model_sort_convert_child_iter_to_iter :: 
+    Ptr TreeModelSort ->                    -- tree_model_sort : TInterface (Name {namespace = "Gtk", name = "TreeModelSort"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- sort_iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- child_iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Sets /@sortIter@/ to point to the row in /@treeModelSort@/ that corresponds to
+the row pointed at by /@childIter@/.  If /@sortIter@/ was not set, 'False'
+is returned.  Note: a boolean is only returned since 2.14.
+-}
+treeModelSortConvertChildIterToIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
+    a
+    {- ^ /@treeModelSort@/: A 'GI.Gtk.Objects.TreeModelSort.TreeModelSort' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@childIter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to a row on the child model -}
+    -> m ((Bool, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ 'True', if /@sortIter@/ was set, i.e. if /@sortIter@/ is a
+valid iterator pointer to a visible row in the child model. -}
+treeModelSortConvertChildIterToIter treeModelSort childIter = liftIO $ do
+    treeModelSort' <- unsafeManagedPtrCastPtr treeModelSort
+    sortIter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    childIter' <- unsafeManagedPtrGetPtr childIter
+    result <- gtk_tree_model_sort_convert_child_iter_to_iter treeModelSort' sortIter childIter'
+    let result' = (/= 0) result
+    sortIter' <- (wrapBoxed Gtk.TreeIter.TreeIter) sortIter
+    touchManagedPtr treeModelSort
+    touchManagedPtr childIter
+    return (result', sortIter')
+
+#if ENABLE_OVERLOADING
+data TreeModelSortConvertChildIterToIterMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortConvertChildIterToIterMethodInfo a signature where
+    overloadedMethod _ = treeModelSortConvertChildIterToIter
+
+#endif
+
+-- method TreeModelSort::convert_child_path_to_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model_sort", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelSort"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelSort", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_sort_convert_child_path_to_path" gtk_tree_model_sort_convert_child_path_to_path :: 
+    Ptr TreeModelSort ->                    -- tree_model_sort : TInterface (Name {namespace = "Gtk", name = "TreeModelSort"})
+    Ptr Gtk.TreePath.TreePath ->            -- child_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr Gtk.TreePath.TreePath)
+
+{- |
+Converts /@childPath@/ to a path relative to /@treeModelSort@/.  That is,
+/@childPath@/ points to a path in the child model.  The returned path will
+point to the same row in the sorted model.  If /@childPath@/ isn’t a valid
+path on the child model, then 'Nothing' is returned.
+-}
+treeModelSortConvertChildPathToPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
+    a
+    {- ^ /@treeModelSort@/: A 'GI.Gtk.Objects.TreeModelSort.TreeModelSort' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@childPath@/: A 'GI.Gtk.Structs.TreePath.TreePath' to convert -}
+    -> m (Maybe Gtk.TreePath.TreePath)
+    {- ^ __Returns:__ A newly allocated 'GI.Gtk.Structs.TreePath.TreePath', or 'Nothing' -}
+treeModelSortConvertChildPathToPath treeModelSort childPath = liftIO $ do
+    treeModelSort' <- unsafeManagedPtrCastPtr treeModelSort
+    childPath' <- unsafeManagedPtrGetPtr childPath
+    result <- gtk_tree_model_sort_convert_child_path_to_path treeModelSort' childPath'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gtk.TreePath.TreePath) result'
+        return result''
+    touchManagedPtr treeModelSort
+    touchManagedPtr childPath
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeModelSortConvertChildPathToPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortConvertChildPathToPathMethodInfo a signature where
+    overloadedMethod _ = treeModelSortConvertChildPathToPath
+
+#endif
+
+-- method TreeModelSort::convert_iter_to_child_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model_sort", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelSort"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelSort", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An uninitialized #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "sorted_iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter pointing to a row on @tree_model_sort.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_sort_convert_iter_to_child_iter" gtk_tree_model_sort_convert_iter_to_child_iter :: 
+    Ptr TreeModelSort ->                    -- tree_model_sort : TInterface (Name {namespace = "Gtk", name = "TreeModelSort"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- child_iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- sorted_iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Sets /@childIter@/ to point to the row pointed to by /@sortedIter@/.
+-}
+treeModelSortConvertIterToChildIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
+    a
+    {- ^ /@treeModelSort@/: A 'GI.Gtk.Objects.TreeModelSort.TreeModelSort' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@sortedIter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' pointing to a row on /@treeModelSort@/. -}
+    -> m (Gtk.TreeIter.TreeIter)
+treeModelSortConvertIterToChildIter treeModelSort sortedIter = liftIO $ do
+    treeModelSort' <- unsafeManagedPtrCastPtr treeModelSort
+    childIter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    sortedIter' <- unsafeManagedPtrGetPtr sortedIter
+    gtk_tree_model_sort_convert_iter_to_child_iter treeModelSort' childIter sortedIter'
+    childIter' <- (wrapBoxed Gtk.TreeIter.TreeIter) childIter
+    touchManagedPtr treeModelSort
+    touchManagedPtr sortedIter
+    return childIter'
+
+#if ENABLE_OVERLOADING
+data TreeModelSortConvertIterToChildIterMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortConvertIterToChildIterMethodInfo a signature where
+    overloadedMethod _ = treeModelSortConvertIterToChildIter
+
+#endif
+
+-- method TreeModelSort::convert_path_to_child_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model_sort", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelSort"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelSort", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sorted_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_sort_convert_path_to_child_path" gtk_tree_model_sort_convert_path_to_child_path :: 
+    Ptr TreeModelSort ->                    -- tree_model_sort : TInterface (Name {namespace = "Gtk", name = "TreeModelSort"})
+    Ptr Gtk.TreePath.TreePath ->            -- sorted_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr Gtk.TreePath.TreePath)
+
+{- |
+Converts /@sortedPath@/ to a path on the child model of /@treeModelSort@/.
+That is, /@sortedPath@/ points to a location in /@treeModelSort@/.  The
+returned path will point to the same location in the model not being
+sorted.  If /@sortedPath@/ does not point to a location in the child model,
+'Nothing' is returned.
+-}
+treeModelSortConvertPathToChildPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
+    a
+    {- ^ /@treeModelSort@/: A 'GI.Gtk.Objects.TreeModelSort.TreeModelSort' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@sortedPath@/: A 'GI.Gtk.Structs.TreePath.TreePath' to convert -}
+    -> m (Maybe Gtk.TreePath.TreePath)
+    {- ^ __Returns:__ A newly allocated 'GI.Gtk.Structs.TreePath.TreePath', or 'Nothing' -}
+treeModelSortConvertPathToChildPath treeModelSort sortedPath = liftIO $ do
+    treeModelSort' <- unsafeManagedPtrCastPtr treeModelSort
+    sortedPath' <- unsafeManagedPtrGetPtr sortedPath
+    result <- gtk_tree_model_sort_convert_path_to_child_path treeModelSort' sortedPath'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gtk.TreePath.TreePath) result'
+        return result''
+    touchManagedPtr treeModelSort
+    touchManagedPtr sortedPath
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeModelSortConvertPathToChildPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortConvertPathToChildPathMethodInfo a signature where
+    overloadedMethod _ = treeModelSortConvertPathToChildPath
+
+#endif
+
+-- method TreeModelSort::get_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelSort"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModelSort", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_sort_get_model" gtk_tree_model_sort_get_model :: 
+    Ptr TreeModelSort ->                    -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModelSort"})
+    IO (Ptr Gtk.TreeModel.TreeModel)
+
+{- |
+Returns the model the 'GI.Gtk.Objects.TreeModelSort.TreeModelSort' is sorting.
+-}
+treeModelSortGetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
+    a
+    {- ^ /@treeModel@/: a 'GI.Gtk.Objects.TreeModelSort.TreeModelSort' -}
+    -> m Gtk.TreeModel.TreeModel
+    {- ^ __Returns:__ the \"child model\" being sorted -}
+treeModelSortGetModel treeModel = liftIO $ do
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    result <- gtk_tree_model_sort_get_model treeModel'
+    checkUnexpectedReturnNULL "treeModelSortGetModel" result
+    result' <- (newObject Gtk.TreeModel.TreeModel) result
+    touchManagedPtr treeModel
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelSortGetModelMethodInfo
+instance (signature ~ (m Gtk.TreeModel.TreeModel), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortGetModelMethodInfo a signature where
+    overloadedMethod _ = treeModelSortGetModel
+
+#endif
+
+-- method TreeModelSort::iter_is_valid
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model_sort", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelSort"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelSort.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_sort_iter_is_valid" gtk_tree_model_sort_iter_is_valid :: 
+    Ptr TreeModelSort ->                    -- tree_model_sort : TInterface (Name {namespace = "Gtk", name = "TreeModelSort"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+> This function is slow. Only use it for debugging and\/or testing
+> purposes.
+
+Checks if the given iter is a valid iter for this 'GI.Gtk.Objects.TreeModelSort.TreeModelSort'.
+
+/Since: 2.2/
+-}
+treeModelSortIterIsValid ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
+    a
+    {- ^ /@treeModelSort@/: A 'GI.Gtk.Objects.TreeModelSort.TreeModelSort'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the iter is valid, 'False' if the iter is invalid. -}
+treeModelSortIterIsValid treeModelSort iter = liftIO $ do
+    treeModelSort' <- unsafeManagedPtrCastPtr treeModelSort
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_model_sort_iter_is_valid treeModelSort' iter'
+    let result' = (/= 0) result
+    touchManagedPtr treeModelSort
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeModelSortIterIsValidMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortIterIsValidMethodInfo a signature where
+    overloadedMethod _ = treeModelSortIterIsValid
+
+#endif
+
+-- method TreeModelSort::reset_default_sort_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_model_sort", argType = TInterface (Name {namespace = "Gtk", name = "TreeModelSort"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeModelSort", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_model_sort_reset_default_sort_func" gtk_tree_model_sort_reset_default_sort_func :: 
+    Ptr TreeModelSort ->                    -- tree_model_sort : TInterface (Name {namespace = "Gtk", name = "TreeModelSort"})
+    IO ()
+
+{- |
+This resets the default sort function to be in the “unsorted” state.  That
+is, it is in the same order as the child model. It will re-sort the model
+to be in the same order as the child model only if the 'GI.Gtk.Objects.TreeModelSort.TreeModelSort'
+is in “unsorted” state.
+-}
+treeModelSortResetDefaultSortFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
+    a
+    {- ^ /@treeModelSort@/: A 'GI.Gtk.Objects.TreeModelSort.TreeModelSort' -}
+    -> m ()
+treeModelSortResetDefaultSortFunc treeModelSort = liftIO $ do
+    treeModelSort' <- unsafeManagedPtrCastPtr treeModelSort
+    gtk_tree_model_sort_reset_default_sort_func treeModelSort'
+    touchManagedPtr treeModelSort
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeModelSortResetDefaultSortFuncMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortResetDefaultSortFuncMethodInfo a signature where
+    overloadedMethod _ = treeModelSortResetDefaultSortFunc
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TreeModelSort.hs-boot b/GI/Gtk/Objects/TreeModelSort.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeModelSort.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TreeModelSort where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeModelSort = TreeModelSort (ManagedPtr TreeModelSort)
+instance GObject TreeModelSort where
+class (GObject o, O.IsDescendantOf TreeModelSort o) => IsTreeModelSort o
+instance (GObject o, O.IsDescendantOf TreeModelSort o) => IsTreeModelSort o
+instance O.HasParentTypes TreeModelSort
+#if ENABLE_OVERLOADING
+data TreeModelSortModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelSortClearCacheMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelSortConvertChildIterToIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelSortConvertChildPathToPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelSortConvertIterToChildIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelSortConvertPathToChildPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelSortGetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelSortIterIsValidMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeModelSortResetDefaultSortFuncMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TreeSelection.hs b/GI/Gtk/Objects/TreeSelection.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeSelection.hs
@@ -0,0 +1,1210 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.TreeSelection.TreeSelection' object is a helper object to manage the selection
+for a 'GI.Gtk.Objects.TreeView.TreeView' widget.  The 'GI.Gtk.Objects.TreeSelection.TreeSelection' object is
+automatically created when a new 'GI.Gtk.Objects.TreeView.TreeView' widget is created, and
+cannot exist independently of this widget.  The primary reason the
+'GI.Gtk.Objects.TreeSelection.TreeSelection' objects exists is for cleanliness of code and API.
+That is, there is no conceptual reason all these functions could not be
+methods on the 'GI.Gtk.Objects.TreeView.TreeView' widget instead of a separate function.
+
+The 'GI.Gtk.Objects.TreeSelection.TreeSelection' object is gotten from a 'GI.Gtk.Objects.TreeView.TreeView' by calling
+'GI.Gtk.Objects.TreeView.treeViewGetSelection'.  It can be manipulated to check the
+selection status of the tree, as well as select and deselect individual
+rows.  Selection is done completely view side.  As a result, multiple
+views of the same model can have completely different selections.
+Additionally, you cannot change the selection of a row on the model that
+is not currently displayed by the view without expanding its parents
+first.
+
+One of the important things to remember when monitoring the selection of
+a view is that the 'GI.Gtk.Objects.TreeSelection.TreeSelection'::@/changed/@ signal is mostly a hint.
+That is, it may only emit one signal when a range of rows is selected.
+Additionally, it may on occasion emit a 'GI.Gtk.Objects.TreeSelection.TreeSelection'::@/changed/@ signal
+when nothing has happened (mostly as a result of programmers calling
+select_row on an already selected row).
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TreeSelection
+    ( 
+
+-- * Exported types
+    TreeSelection(..)                       ,
+    IsTreeSelection                         ,
+    toTreeSelection                         ,
+    noTreeSelection                         ,
+
+
+ -- * Methods
+-- ** countSelectedRows #method:countSelectedRows#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionCountSelectedRowsMethodInfo,
+#endif
+    treeSelectionCountSelectedRows          ,
+
+
+-- ** getMode #method:getMode#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionGetModeMethodInfo          ,
+#endif
+    treeSelectionGetMode                    ,
+
+
+-- ** getSelected #method:getSelected#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionGetSelectedMethodInfo      ,
+#endif
+    treeSelectionGetSelected                ,
+
+
+-- ** getSelectedRows #method:getSelectedRows#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionGetSelectedRowsMethodInfo  ,
+#endif
+    treeSelectionGetSelectedRows            ,
+
+
+-- ** getTreeView #method:getTreeView#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionGetTreeViewMethodInfo      ,
+#endif
+    treeSelectionGetTreeView                ,
+
+
+-- ** iterIsSelected #method:iterIsSelected#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionIterIsSelectedMethodInfo   ,
+#endif
+    treeSelectionIterIsSelected             ,
+
+
+-- ** pathIsSelected #method:pathIsSelected#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionPathIsSelectedMethodInfo   ,
+#endif
+    treeSelectionPathIsSelected             ,
+
+
+-- ** selectAll #method:selectAll#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionSelectAllMethodInfo        ,
+#endif
+    treeSelectionSelectAll                  ,
+
+
+-- ** selectIter #method:selectIter#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionSelectIterMethodInfo       ,
+#endif
+    treeSelectionSelectIter                 ,
+
+
+-- ** selectPath #method:selectPath#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionSelectPathMethodInfo       ,
+#endif
+    treeSelectionSelectPath                 ,
+
+
+-- ** selectRange #method:selectRange#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionSelectRangeMethodInfo      ,
+#endif
+    treeSelectionSelectRange                ,
+
+
+-- ** selectedForeach #method:selectedForeach#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionSelectedForeachMethodInfo  ,
+#endif
+    treeSelectionSelectedForeach            ,
+
+
+-- ** setMode #method:setMode#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionSetModeMethodInfo          ,
+#endif
+    treeSelectionSetMode                    ,
+
+
+-- ** setSelectFunction #method:setSelectFunction#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionSetSelectFunctionMethodInfo,
+#endif
+    treeSelectionSetSelectFunction          ,
+
+
+-- ** unselectAll #method:unselectAll#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionUnselectAllMethodInfo      ,
+#endif
+    treeSelectionUnselectAll                ,
+
+
+-- ** unselectIter #method:unselectIter#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionUnselectIterMethodInfo     ,
+#endif
+    treeSelectionUnselectIter               ,
+
+
+-- ** unselectPath #method:unselectPath#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionUnselectPathMethodInfo     ,
+#endif
+    treeSelectionUnselectPath               ,
+
+
+-- ** unselectRange #method:unselectRange#
+
+#if ENABLE_OVERLOADING
+    TreeSelectionUnselectRangeMethodInfo    ,
+#endif
+    treeSelectionUnselectRange              ,
+
+
+
+
+ -- * Properties
+-- ** mode #attr:mode#
+{- | Selection mode.
+See 'GI.Gtk.Objects.TreeSelection.treeSelectionSetMode' for more information on this property.
+
+/Since: 3.2/
+-}
+#if ENABLE_OVERLOADING
+    TreeSelectionModePropertyInfo           ,
+#endif
+    constructTreeSelectionMode              ,
+    getTreeSelectionMode                    ,
+    setTreeSelectionMode                    ,
+#if ENABLE_OVERLOADING
+    treeSelectionMode                       ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** changed #signal:changed#
+
+    C_TreeSelectionChangedCallback          ,
+    TreeSelectionChangedCallback            ,
+#if ENABLE_OVERLOADING
+    TreeSelectionChangedSignalInfo          ,
+#endif
+    afterTreeSelectionChanged               ,
+    genClosure_TreeSelectionChanged         ,
+    mk_TreeSelectionChangedCallback         ,
+    noTreeSelectionChangedCallback          ,
+    onTreeSelectionChanged                  ,
+    wrap_TreeSelectionChangedCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TreeView as Gtk.TreeView
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- | Memory-managed wrapper type.
+newtype TreeSelection = TreeSelection (ManagedPtr TreeSelection)
+foreign import ccall "gtk_tree_selection_get_type"
+    c_gtk_tree_selection_get_type :: IO GType
+
+instance GObject TreeSelection where
+    gobjectType = c_gtk_tree_selection_get_type
+    
+
+-- | Type class for types which can be safely cast to `TreeSelection`, for instance with `toTreeSelection`.
+class (GObject o, O.IsDescendantOf TreeSelection o) => IsTreeSelection o
+instance (GObject o, O.IsDescendantOf TreeSelection o) => IsTreeSelection o
+
+instance O.HasParentTypes TreeSelection
+type instance O.ParentTypes TreeSelection = '[GObject.Object.Object]
+
+-- | Cast to `TreeSelection`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTreeSelection :: (MonadIO m, IsTreeSelection o) => o -> m TreeSelection
+toTreeSelection = liftIO . unsafeCastTo TreeSelection
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeSelection`.
+noTreeSelection :: Maybe TreeSelection
+noTreeSelection = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeSelectionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeSelectionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTreeSelectionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTreeSelectionMethod "countSelectedRows" o = TreeSelectionCountSelectedRowsMethodInfo
+    ResolveTreeSelectionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTreeSelectionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTreeSelectionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTreeSelectionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTreeSelectionMethod "iterIsSelected" o = TreeSelectionIterIsSelectedMethodInfo
+    ResolveTreeSelectionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTreeSelectionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTreeSelectionMethod "pathIsSelected" o = TreeSelectionPathIsSelectedMethodInfo
+    ResolveTreeSelectionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTreeSelectionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTreeSelectionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTreeSelectionMethod "selectAll" o = TreeSelectionSelectAllMethodInfo
+    ResolveTreeSelectionMethod "selectIter" o = TreeSelectionSelectIterMethodInfo
+    ResolveTreeSelectionMethod "selectPath" o = TreeSelectionSelectPathMethodInfo
+    ResolveTreeSelectionMethod "selectRange" o = TreeSelectionSelectRangeMethodInfo
+    ResolveTreeSelectionMethod "selectedForeach" o = TreeSelectionSelectedForeachMethodInfo
+    ResolveTreeSelectionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTreeSelectionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTreeSelectionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTreeSelectionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTreeSelectionMethod "unselectAll" o = TreeSelectionUnselectAllMethodInfo
+    ResolveTreeSelectionMethod "unselectIter" o = TreeSelectionUnselectIterMethodInfo
+    ResolveTreeSelectionMethod "unselectPath" o = TreeSelectionUnselectPathMethodInfo
+    ResolveTreeSelectionMethod "unselectRange" o = TreeSelectionUnselectRangeMethodInfo
+    ResolveTreeSelectionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTreeSelectionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTreeSelectionMethod "getMode" o = TreeSelectionGetModeMethodInfo
+    ResolveTreeSelectionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTreeSelectionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTreeSelectionMethod "getSelected" o = TreeSelectionGetSelectedMethodInfo
+    ResolveTreeSelectionMethod "getSelectedRows" o = TreeSelectionGetSelectedRowsMethodInfo
+    ResolveTreeSelectionMethod "getTreeView" o = TreeSelectionGetTreeViewMethodInfo
+    ResolveTreeSelectionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTreeSelectionMethod "setMode" o = TreeSelectionSetModeMethodInfo
+    ResolveTreeSelectionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTreeSelectionMethod "setSelectFunction" o = TreeSelectionSetSelectFunctionMethodInfo
+    ResolveTreeSelectionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeSelectionMethod t TreeSelection, O.MethodInfo info TreeSelection p) => OL.IsLabel t (TreeSelection -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal TreeSelection::changed
+{- |
+Emitted whenever the selection has (possibly) changed. Please note that
+this signal is mostly a hint.  It may only be emitted once when a range
+of rows are selected, and it may occasionally be emitted when nothing
+has happened.
+-}
+type TreeSelectionChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeSelectionChangedCallback`@.
+noTreeSelectionChangedCallback :: Maybe TreeSelectionChangedCallback
+noTreeSelectionChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeSelectionChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeSelectionChangedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeSelectionChangedCallback :: C_TreeSelectionChangedCallback -> IO (FunPtr C_TreeSelectionChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeSelectionChanged :: MonadIO m => TreeSelectionChangedCallback -> m (GClosure C_TreeSelectionChangedCallback)
+genClosure_TreeSelectionChanged cb = liftIO $ do
+    let cb' = wrap_TreeSelectionChangedCallback cb
+    mk_TreeSelectionChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeSelectionChangedCallback` into a `C_TreeSelectionChangedCallback`.
+wrap_TreeSelectionChangedCallback ::
+    TreeSelectionChangedCallback ->
+    C_TreeSelectionChangedCallback
+wrap_TreeSelectionChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeSelection #changed callback
+@
+-}
+onTreeSelectionChanged :: (IsTreeSelection a, MonadIO m) => a -> TreeSelectionChangedCallback -> m SignalHandlerId
+onTreeSelectionChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeSelectionChangedCallback cb
+    cb'' <- mk_TreeSelectionChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeSelection #changed callback
+@
+-}
+afterTreeSelectionChanged :: (IsTreeSelection a, MonadIO m) => a -> TreeSelectionChangedCallback -> m SignalHandlerId
+afterTreeSelectionChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeSelectionChangedCallback cb
+    cb'' <- mk_TreeSelectionChangedCallback cb'
+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter
+
+
+-- VVV Prop "mode"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SelectionMode"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeSelection #mode
+@
+-}
+getTreeSelectionMode :: (MonadIO m, IsTreeSelection o) => o -> m Gtk.Enums.SelectionMode
+getTreeSelectionMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "mode"
+
+{- |
+Set the value of the “@mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeSelection [ #mode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeSelectionMode :: (MonadIO m, IsTreeSelection o) => o -> Gtk.Enums.SelectionMode -> m ()
+setTreeSelectionMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeSelectionMode :: (IsTreeSelection o) => Gtk.Enums.SelectionMode -> IO (GValueConstruct o)
+constructTreeSelectionMode val = B.Properties.constructObjectPropertyEnum "mode" val
+
+#if ENABLE_OVERLOADING
+data TreeSelectionModePropertyInfo
+instance AttrInfo TreeSelectionModePropertyInfo where
+    type AttrAllowedOps TreeSelectionModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeSelectionModePropertyInfo = (~) Gtk.Enums.SelectionMode
+    type AttrBaseTypeConstraint TreeSelectionModePropertyInfo = IsTreeSelection
+    type AttrGetType TreeSelectionModePropertyInfo = Gtk.Enums.SelectionMode
+    type AttrLabel TreeSelectionModePropertyInfo = "mode"
+    type AttrOrigin TreeSelectionModePropertyInfo = TreeSelection
+    attrGet _ = getTreeSelectionMode
+    attrSet _ = setTreeSelectionMode
+    attrConstruct _ = constructTreeSelectionMode
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeSelection
+type instance O.AttributeList TreeSelection = TreeSelectionAttributeList
+type TreeSelectionAttributeList = ('[ '("mode", TreeSelectionModePropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+treeSelectionMode :: AttrLabelProxy "mode"
+treeSelectionMode = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data TreeSelectionChangedSignalInfo
+instance SignalInfo TreeSelectionChangedSignalInfo where
+    type HaskellCallbackType TreeSelectionChangedSignalInfo = TreeSelectionChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeSelectionChangedCallback cb
+        cb'' <- mk_TreeSelectionChangedCallback cb'
+        connectSignalFunPtr obj "changed" cb'' connectMode
+
+type instance O.SignalList TreeSelection = TreeSelectionSignalList
+type TreeSelectionSignalList = ('[ '("changed", TreeSelectionChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TreeSelection::count_selected_rows
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_count_selected_rows" gtk_tree_selection_count_selected_rows :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    IO Int32
+
+{- |
+Returns the number of rows that have been selected in /@tree@/.
+
+/Since: 2.2/
+-}
+treeSelectionCountSelectedRows ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> m Int32
+    {- ^ __Returns:__ The number of rows selected. -}
+treeSelectionCountSelectedRows selection = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    result <- gtk_tree_selection_count_selected_rows selection'
+    touchManagedPtr selection
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeSelectionCountSelectedRowsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionCountSelectedRowsMethodInfo a signature where
+    overloadedMethod _ = treeSelectionCountSelectedRows
+
+#endif
+
+-- method TreeSelection::get_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SelectionMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_get_mode" gtk_tree_selection_get_mode :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    IO CUInt
+
+{- |
+Gets the selection mode for /@selection@/. See
+'GI.Gtk.Objects.TreeSelection.treeSelectionSetMode'.
+-}
+treeSelectionGetMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: a 'GI.Gtk.Objects.TreeSelection.TreeSelection' -}
+    -> m Gtk.Enums.SelectionMode
+    {- ^ __Returns:__ the current selection mode -}
+treeSelectionGetMode selection = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    result <- gtk_tree_selection_get_mode selection'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr selection
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeSelectionGetModeMethodInfo
+instance (signature ~ (m Gtk.Enums.SelectionMode), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionGetModeMethodInfo a signature where
+    overloadedMethod _ = treeSelectionGetMode
+
+#endif
+
+-- method TreeSelection::get_selected
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to set to the #GtkTreeModel, or NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeIter, or NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_get_selected" gtk_tree_selection_get_selected :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr (Ptr Gtk.TreeModel.TreeModel) ->    -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Sets /@iter@/ to the currently selected node if /@selection@/ is set to
+@/GTK_SELECTION_SINGLE/@ or @/GTK_SELECTION_BROWSE/@.  /@iter@/ may be NULL if you
+just want to test if /@selection@/ has any selected nodes.  /@model@/ is filled
+with the current model as a convenience.  This function will not work if you
+use /@selection@/ is @/GTK_SELECTION_MULTIPLE/@.
+-}
+treeSelectionGetSelected ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> m ((Bool, Gtk.TreeModel.TreeModel, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ TRUE, if there is a selected node. -}
+treeSelectionGetSelected selection = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    model <- allocMem :: IO (Ptr (Ptr Gtk.TreeModel.TreeModel))
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    result <- gtk_tree_selection_get_selected selection' model iter
+    let result' = (/= 0) result
+    model' <- peek model
+    model'' <- (newObject Gtk.TreeModel.TreeModel) model'
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr selection
+    freeMem model
+    return (result', model'', iter')
+
+#if ENABLE_OVERLOADING
+data TreeSelectionGetSelectedMethodInfo
+instance (signature ~ (m ((Bool, Gtk.TreeModel.TreeModel, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionGetSelectedMethodInfo a signature where
+    overloadedMethod _ = treeSelectionGetSelected
+
+#endif
+
+-- method TreeSelection::get_selected_rows
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to set to the #GtkTreeModel, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "TreePath"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_get_selected_rows" gtk_tree_selection_get_selected_rows :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr (Ptr Gtk.TreeModel.TreeModel) ->    -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO (Ptr (GList (Ptr Gtk.TreePath.TreePath)))
+
+{- |
+Creates a list of path of all selected rows. Additionally, if you are
+planning on modifying the model after calling this function, you may
+want to convert the returned list into a list of @/GtkTreeRowReferences/@.
+To do this, you can use 'GI.Gtk.Structs.TreeRowReference.treeRowReferenceNew'.
+
+To free the return value, use:
+
+=== /C code/
+>
+>g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
+
+
+/Since: 2.2/
+-}
+treeSelectionGetSelectedRows ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> m (([Gtk.TreePath.TreePath], Gtk.TreeModel.TreeModel))
+    {- ^ __Returns:__ A 'GI.GLib.Structs.List.List' containing a 'GI.Gtk.Structs.TreePath.TreePath' for each selected row. -}
+treeSelectionGetSelectedRows selection = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    model <- allocMem :: IO (Ptr (Ptr Gtk.TreeModel.TreeModel))
+    result <- gtk_tree_selection_get_selected_rows selection' model
+    result' <- unpackGList result
+    result'' <- mapM (wrapBoxed Gtk.TreePath.TreePath) result'
+    g_list_free result
+    model' <- peek model
+    model'' <- (newObject Gtk.TreeModel.TreeModel) model'
+    touchManagedPtr selection
+    freeMem model
+    return (result'', model'')
+
+#if ENABLE_OVERLOADING
+data TreeSelectionGetSelectedRowsMethodInfo
+instance (signature ~ (m (([Gtk.TreePath.TreePath], Gtk.TreeModel.TreeModel))), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionGetSelectedRowsMethodInfo a signature where
+    overloadedMethod _ = treeSelectionGetSelectedRows
+
+#endif
+
+-- method TreeSelection::get_tree_view
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_get_tree_view" gtk_tree_selection_get_tree_view :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    IO (Ptr Gtk.TreeView.TreeView)
+
+{- |
+Returns the tree view associated with /@selection@/.
+-}
+treeSelectionGetTreeView ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection' -}
+    -> m Gtk.TreeView.TreeView
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.TreeView.TreeView' -}
+treeSelectionGetTreeView selection = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    result <- gtk_tree_selection_get_tree_view selection'
+    checkUnexpectedReturnNULL "treeSelectionGetTreeView" result
+    result' <- (newObject Gtk.TreeView.TreeView) result
+    touchManagedPtr selection
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeSelectionGetTreeViewMethodInfo
+instance (signature ~ (m Gtk.TreeView.TreeView), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionGetTreeViewMethodInfo a signature where
+    overloadedMethod _ = treeSelectionGetTreeView
+
+#endif
+
+-- method TreeSelection::iter_is_selected
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_iter_is_selected" gtk_tree_selection_iter_is_selected :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Returns 'True' if the row at /@iter@/ is currently selected.
+-}
+treeSelectionIterIsSelected ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if /@iter@/ is selected -}
+treeSelectionIterIsSelected selection iter = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_selection_iter_is_selected selection' iter'
+    let result' = (/= 0) result
+    touchManagedPtr selection
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeSelectionIterIsSelectedMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionIterIsSelectedMethodInfo a signature where
+    overloadedMethod _ = treeSelectionIterIsSelected
+
+#endif
+
+-- method TreeSelection::path_is_selected
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath to check selection on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_path_is_selected" gtk_tree_selection_path_is_selected :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Returns 'True' if the row pointed to by /@path@/ is currently selected.  If /@path@/
+does not point to a valid location, 'False' is returned
+-}
+treeSelectionPathIsSelected ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: A 'GI.Gtk.Structs.TreePath.TreePath' to check selection on. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@path@/ is selected. -}
+treeSelectionPathIsSelected selection path = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_selection_path_is_selected selection' path'
+    let result' = (/= 0) result
+    touchManagedPtr selection
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeSelectionPathIsSelectedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Bool), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionPathIsSelectedMethodInfo a signature where
+    overloadedMethod _ = treeSelectionPathIsSelected
+
+#endif
+
+-- method TreeSelection::select_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_select_all" gtk_tree_selection_select_all :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    IO ()
+
+{- |
+Selects all the nodes. /@selection@/ must be set to @/GTK_SELECTION_MULTIPLE/@
+mode.
+-}
+treeSelectionSelectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> m ()
+treeSelectionSelectAll selection = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    gtk_tree_selection_select_all selection'
+    touchManagedPtr selection
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionSelectAllMethodInfo a signature where
+    overloadedMethod _ = treeSelectionSelectAll
+
+#endif
+
+-- method TreeSelection::select_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeIter to be selected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_select_iter" gtk_tree_selection_select_iter :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Selects the specified iterator.
+-}
+treeSelectionSelectIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: The 'GI.Gtk.Structs.TreeIter.TreeIter' to be selected. -}
+    -> m ()
+treeSelectionSelectIter selection iter = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_tree_selection_select_iter selection' iter'
+    touchManagedPtr selection
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectIterMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionSelectIterMethodInfo a signature where
+    overloadedMethod _ = treeSelectionSelectIter
+
+#endif
+
+-- method TreeSelection::select_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath to be selected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_select_path" gtk_tree_selection_select_path :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Select the row at /@path@/.
+-}
+treeSelectionSelectPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' to be selected. -}
+    -> m ()
+treeSelectionSelectPath selection path = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_selection_select_path selection' path'
+    touchManagedPtr selection
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionSelectPathMethodInfo a signature where
+    overloadedMethod _ = treeSelectionSelectPath
+
+#endif
+
+-- method TreeSelection::select_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The initial node of the range.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The final node of the range.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_select_range" gtk_tree_selection_select_range :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr Gtk.TreePath.TreePath ->            -- start_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreePath.TreePath ->            -- end_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Selects a range of nodes, determined by /@startPath@/ and /@endPath@/ inclusive.
+/@selection@/ must be set to @/GTK_SELECTION_MULTIPLE/@ mode.
+-}
+treeSelectionSelectRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@startPath@/: The initial node of the range. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@endPath@/: The final node of the range. -}
+    -> m ()
+treeSelectionSelectRange selection startPath endPath = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    startPath' <- unsafeManagedPtrGetPtr startPath
+    endPath' <- unsafeManagedPtrGetPtr endPath
+    gtk_tree_selection_select_range selection' startPath' endPath'
+    touchManagedPtr selection
+    touchManagedPtr startPath
+    touchManagedPtr endPath
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectRangeMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.TreePath.TreePath -> m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionSelectRangeMethodInfo a signature where
+    overloadedMethod _ = treeSelectionSelectRange
+
+#endif
+
+-- method TreeSelection::selected_foreach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelectionForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The function to call for each selected node.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to the function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_selected_foreach" gtk_tree_selection_selected_foreach :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    FunPtr Gtk.Callbacks.C_TreeSelectionForeachFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeSelectionForeachFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls a function for each selected node. Note that you cannot modify
+the tree or selection from within this function. As a result,
+'GI.Gtk.Objects.TreeSelection.treeSelectionGetSelectedRows' might be more useful.
+-}
+treeSelectionSelectedForeach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Gtk.Callbacks.TreeSelectionForeachFunc
+    {- ^ /@func@/: The function to call for each selected node. -}
+    -> m ()
+treeSelectionSelectedForeach selection func = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    func' <- Gtk.Callbacks.mk_TreeSelectionForeachFunc (Gtk.Callbacks.wrap_TreeSelectionForeachFunc Nothing (Gtk.Callbacks.drop_closures_TreeSelectionForeachFunc func))
+    let data_ = nullPtr
+    gtk_tree_selection_selected_foreach selection' func' data_
+    safeFreeFunPtr $ castFunPtrToPtr func'
+    touchManagedPtr selection
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectedForeachMethodInfo
+instance (signature ~ (Gtk.Callbacks.TreeSelectionForeachFunc -> m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionSelectedForeachMethodInfo a signature where
+    overloadedMethod _ = treeSelectionSelectedForeach
+
+#endif
+
+-- method TreeSelection::set_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "SelectionMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The selection mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_set_mode" gtk_tree_selection_set_mode :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "SelectionMode"})
+    IO ()
+
+{- |
+Sets the selection mode of the /@selection@/.  If the previous type was
+@/GTK_SELECTION_MULTIPLE/@, then the anchor is kept selected, if it was
+previously selected.
+-}
+treeSelectionSetMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Gtk.Enums.SelectionMode
+    {- ^ /@type@/: The selection mode -}
+    -> m ()
+treeSelectionSetMode selection type_ = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    let type_' = (fromIntegral . fromEnum) type_
+    gtk_tree_selection_set_mode selection' type_'
+    touchManagedPtr selection
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionSetModeMethodInfo
+instance (signature ~ (Gtk.Enums.SelectionMode -> m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionSetModeMethodInfo a signature where
+    overloadedMethod _ = treeSelectionSetMode
+
+#endif
+
+-- method TreeSelection::set_select_function
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelectionFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The selection function. May be %NULL", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The selection function\8217s data. May be %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The destroy function for user data.  May be %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_set_select_function" gtk_tree_selection_set_select_function :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    FunPtr Gtk.Callbacks.C_TreeSelectionFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeSelectionFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the selection function.
+
+If set, this function is called before any node is selected or unselected,
+giving some control over which nodes are selected. The select function
+should return 'True' if the state of the node may be toggled, and 'False'
+if the state of the node should be left unchanged.
+-}
+treeSelectionSetSelectFunction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Maybe (Gtk.Callbacks.TreeSelectionFunc)
+    {- ^ /@func@/: The selection function. May be 'Nothing' -}
+    -> m ()
+treeSelectionSetSelectFunction selection func = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    maybeFunc <- case func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFunc -> do
+            jFunc' <- Gtk.Callbacks.mk_TreeSelectionFunc (Gtk.Callbacks.wrap_TreeSelectionFunc Nothing (Gtk.Callbacks.drop_closures_TreeSelectionFunc jFunc))
+            return jFunc'
+    let data_ = castFunPtrToPtr maybeFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_tree_selection_set_select_function selection' maybeFunc data_ destroy
+    touchManagedPtr selection
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionSetSelectFunctionMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.TreeSelectionFunc) -> m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionSetSelectFunctionMethodInfo a signature where
+    overloadedMethod _ = treeSelectionSetSelectFunction
+
+#endif
+
+-- method TreeSelection::unselect_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_unselect_all" gtk_tree_selection_unselect_all :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    IO ()
+
+{- |
+Unselects all the nodes.
+-}
+treeSelectionUnselectAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> m ()
+treeSelectionUnselectAll selection = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    gtk_tree_selection_unselect_all selection'
+    touchManagedPtr selection
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionUnselectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionUnselectAllMethodInfo a signature where
+    overloadedMethod _ = treeSelectionUnselectAll
+
+#endif
+
+-- method TreeSelection::unselect_iter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeIter to be unselected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_unselect_iter" gtk_tree_selection_unselect_iter :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Unselects the specified iterator.
+-}
+treeSelectionUnselectIter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: The 'GI.Gtk.Structs.TreeIter.TreeIter' to be unselected. -}
+    -> m ()
+treeSelectionUnselectIter selection iter = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_tree_selection_unselect_iter selection' iter'
+    touchManagedPtr selection
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionUnselectIterMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionUnselectIterMethodInfo a signature where
+    overloadedMethod _ = treeSelectionUnselectIter
+
+#endif
+
+-- method TreeSelection::unselect_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath to be unselected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_unselect_path" gtk_tree_selection_unselect_path :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Unselects the row at /@path@/.
+-}
+treeSelectionUnselectPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' to be unselected. -}
+    -> m ()
+treeSelectionUnselectPath selection path = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_selection_unselect_path selection' path'
+    touchManagedPtr selection
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionUnselectPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionUnselectPathMethodInfo a signature where
+    overloadedMethod _ = treeSelectionUnselectPath
+
+#endif
+
+-- method TreeSelection::unselect_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gtk", name = "TreeSelection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeSelection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The initial node of the range.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The initial node of the range.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_selection_unselect_range" gtk_tree_selection_unselect_range :: 
+    Ptr TreeSelection ->                    -- selection : TInterface (Name {namespace = "Gtk", name = "TreeSelection"})
+    Ptr Gtk.TreePath.TreePath ->            -- start_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreePath.TreePath ->            -- end_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Unselects a range of nodes, determined by /@startPath@/ and /@endPath@/
+inclusive.
+
+/Since: 2.2/
+-}
+treeSelectionUnselectRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeSelection a) =>
+    a
+    {- ^ /@selection@/: A 'GI.Gtk.Objects.TreeSelection.TreeSelection'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@startPath@/: The initial node of the range. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@endPath@/: The initial node of the range. -}
+    -> m ()
+treeSelectionUnselectRange selection startPath endPath = liftIO $ do
+    selection' <- unsafeManagedPtrCastPtr selection
+    startPath' <- unsafeManagedPtrGetPtr startPath
+    endPath' <- unsafeManagedPtrGetPtr endPath
+    gtk_tree_selection_unselect_range selection' startPath' endPath'
+    touchManagedPtr selection
+    touchManagedPtr startPath
+    touchManagedPtr endPath
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeSelectionUnselectRangeMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Gtk.TreePath.TreePath -> m ()), MonadIO m, IsTreeSelection a) => O.MethodInfo TreeSelectionUnselectRangeMethodInfo a signature where
+    overloadedMethod _ = treeSelectionUnselectRange
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TreeSelection.hs-boot b/GI/Gtk/Objects/TreeSelection.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeSelection.hs-boot
@@ -0,0 +1,89 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TreeSelection where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeSelection = TreeSelection (ManagedPtr TreeSelection)
+instance GObject TreeSelection where
+class (GObject o, O.IsDescendantOf TreeSelection o) => IsTreeSelection o
+instance (GObject o, O.IsDescendantOf TreeSelection o) => IsTreeSelection o
+instance O.HasParentTypes TreeSelection
+#if ENABLE_OVERLOADING
+data TreeSelectionModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionCountSelectedRowsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionGetModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionGetSelectedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionGetSelectedRowsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionGetTreeViewMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionIterIsSelectedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionPathIsSelectedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionSelectedForeachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionSetModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionSetSelectFunctionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionUnselectAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionUnselectIterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionUnselectPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeSelectionUnselectRangeMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TreeStore.hs b/GI/Gtk/Objects/TreeStore.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeStore.hs
@@ -0,0 +1,1245 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.TreeStore.TreeStore' object is a list model for use with a 'GI.Gtk.Objects.TreeView.TreeView'
+widget.  It implements the 'GI.Gtk.Interfaces.TreeModel.TreeModel' interface, and consequentially,
+can use all of the methods available there.  It also implements the
+'GI.Gtk.Interfaces.TreeSortable.TreeSortable' interface so it can be sorted by the view.  Finally,
+it also implements the tree
+[drag and drop][gtk3-GtkTreeView-drag-and-drop]
+interfaces.
+
+= GtkTreeStore as GtkBuildable
+
+The GtkTreeStore implementation of the 'GI.Gtk.Interfaces.Buildable.Buildable' interface allows
+to specify the model columns with a \<columns> element that may contain
+multiple \<column> elements, each specifying one model column. The “type”
+attribute specifies the data type for the column.
+
+An example of a UI Definition fragment for a tree store:
+>
+><object class="GtkTreeStore">
+>  <columns>
+>    <column type="gchararray"/>
+>    <column type="gchararray"/>
+>    <column type="gint"/>
+>  </columns>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TreeStore
+    ( 
+
+-- * Exported types
+    TreeStore(..)                           ,
+    IsTreeStore                             ,
+    toTreeStore                             ,
+    noTreeStore                             ,
+
+
+ -- * Methods
+-- ** append #method:append#
+
+#if ENABLE_OVERLOADING
+    TreeStoreAppendMethodInfo               ,
+#endif
+    treeStoreAppend                         ,
+
+
+-- ** clear #method:clear#
+
+#if ENABLE_OVERLOADING
+    TreeStoreClearMethodInfo                ,
+#endif
+    treeStoreClear                          ,
+
+
+-- ** insert #method:insert#
+
+#if ENABLE_OVERLOADING
+    TreeStoreInsertMethodInfo               ,
+#endif
+    treeStoreInsert                         ,
+
+
+-- ** insertAfter #method:insertAfter#
+
+#if ENABLE_OVERLOADING
+    TreeStoreInsertAfterMethodInfo          ,
+#endif
+    treeStoreInsertAfter                    ,
+
+
+-- ** insertBefore #method:insertBefore#
+
+#if ENABLE_OVERLOADING
+    TreeStoreInsertBeforeMethodInfo         ,
+#endif
+    treeStoreInsertBefore                   ,
+
+
+-- ** insertWithValues #method:insertWithValues#
+
+#if ENABLE_OVERLOADING
+    TreeStoreInsertWithValuesMethodInfo     ,
+#endif
+    treeStoreInsertWithValues               ,
+
+
+-- ** isAncestor #method:isAncestor#
+
+#if ENABLE_OVERLOADING
+    TreeStoreIsAncestorMethodInfo           ,
+#endif
+    treeStoreIsAncestor                     ,
+
+
+-- ** iterDepth #method:iterDepth#
+
+#if ENABLE_OVERLOADING
+    TreeStoreIterDepthMethodInfo            ,
+#endif
+    treeStoreIterDepth                      ,
+
+
+-- ** iterIsValid #method:iterIsValid#
+
+#if ENABLE_OVERLOADING
+    TreeStoreIterIsValidMethodInfo          ,
+#endif
+    treeStoreIterIsValid                    ,
+
+
+-- ** moveAfter #method:moveAfter#
+
+#if ENABLE_OVERLOADING
+    TreeStoreMoveAfterMethodInfo            ,
+#endif
+    treeStoreMoveAfter                      ,
+
+
+-- ** moveBefore #method:moveBefore#
+
+#if ENABLE_OVERLOADING
+    TreeStoreMoveBeforeMethodInfo           ,
+#endif
+    treeStoreMoveBefore                     ,
+
+
+-- ** new #method:new#
+
+    treeStoreNew                            ,
+
+
+-- ** prepend #method:prepend#
+
+#if ENABLE_OVERLOADING
+    TreeStorePrependMethodInfo              ,
+#endif
+    treeStorePrepend                        ,
+
+
+-- ** remove #method:remove#
+
+#if ENABLE_OVERLOADING
+    TreeStoreRemoveMethodInfo               ,
+#endif
+    treeStoreRemove                         ,
+
+
+-- ** set #method:set#
+
+#if ENABLE_OVERLOADING
+    TreeStoreSetMethodInfo                  ,
+#endif
+    treeStoreSet                            ,
+
+
+-- ** setColumnTypes #method:setColumnTypes#
+
+#if ENABLE_OVERLOADING
+    TreeStoreSetColumnTypesMethodInfo       ,
+#endif
+    treeStoreSetColumnTypes                 ,
+
+
+-- ** setValue #method:setValue#
+
+#if ENABLE_OVERLOADING
+    TreeStoreSetValueMethodInfo             ,
+#endif
+    treeStoreSetValue                       ,
+
+
+-- ** swap #method:swap#
+
+#if ENABLE_OVERLOADING
+    TreeStoreSwapMethodInfo                 ,
+#endif
+    treeStoreSwap                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeDragDest as Gtk.TreeDragDest
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeDragSource as Gtk.TreeDragSource
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeSortable as Gtk.TreeSortable
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+
+-- | Memory-managed wrapper type.
+newtype TreeStore = TreeStore (ManagedPtr TreeStore)
+foreign import ccall "gtk_tree_store_get_type"
+    c_gtk_tree_store_get_type :: IO GType
+
+instance GObject TreeStore where
+    gobjectType = c_gtk_tree_store_get_type
+    
+
+-- | Type class for types which can be safely cast to `TreeStore`, for instance with `toTreeStore`.
+class (GObject o, O.IsDescendantOf TreeStore o) => IsTreeStore o
+instance (GObject o, O.IsDescendantOf TreeStore o) => IsTreeStore o
+
+instance O.HasParentTypes TreeStore
+type instance O.ParentTypes TreeStore = '[GObject.Object.Object, Gtk.Buildable.Buildable, Gtk.TreeDragDest.TreeDragDest, Gtk.TreeDragSource.TreeDragSource, Gtk.TreeModel.TreeModel, Gtk.TreeSortable.TreeSortable]
+
+-- | Cast to `TreeStore`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTreeStore :: (MonadIO m, IsTreeStore o) => o -> m TreeStore
+toTreeStore = liftIO . unsafeCastTo TreeStore
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeStore`.
+noTreeStore :: Maybe TreeStore
+noTreeStore = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeStoreMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeStoreMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveTreeStoreMethod "append" o = TreeStoreAppendMethodInfo
+    ResolveTreeStoreMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTreeStoreMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTreeStoreMethod "clear" o = TreeStoreClearMethodInfo
+    ResolveTreeStoreMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveTreeStoreMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveTreeStoreMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveTreeStoreMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveTreeStoreMethod "dragDataDelete" o = Gtk.TreeDragSource.TreeDragSourceDragDataDeleteMethodInfo
+    ResolveTreeStoreMethod "dragDataGet" o = Gtk.TreeDragSource.TreeDragSourceDragDataGetMethodInfo
+    ResolveTreeStoreMethod "dragDataReceived" o = Gtk.TreeDragDest.TreeDragDestDragDataReceivedMethodInfo
+    ResolveTreeStoreMethod "filterNew" o = Gtk.TreeModel.TreeModelFilterNewMethodInfo
+    ResolveTreeStoreMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTreeStoreMethod "foreach" o = Gtk.TreeModel.TreeModelForeachMethodInfo
+    ResolveTreeStoreMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTreeStoreMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTreeStoreMethod "hasDefaultSortFunc" o = Gtk.TreeSortable.TreeSortableHasDefaultSortFuncMethodInfo
+    ResolveTreeStoreMethod "insert" o = TreeStoreInsertMethodInfo
+    ResolveTreeStoreMethod "insertAfter" o = TreeStoreInsertAfterMethodInfo
+    ResolveTreeStoreMethod "insertBefore" o = TreeStoreInsertBeforeMethodInfo
+    ResolveTreeStoreMethod "insertWithValues" o = TreeStoreInsertWithValuesMethodInfo
+    ResolveTreeStoreMethod "isAncestor" o = TreeStoreIsAncestorMethodInfo
+    ResolveTreeStoreMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTreeStoreMethod "iterChildren" o = Gtk.TreeModel.TreeModelIterChildrenMethodInfo
+    ResolveTreeStoreMethod "iterDepth" o = TreeStoreIterDepthMethodInfo
+    ResolveTreeStoreMethod "iterHasChild" o = Gtk.TreeModel.TreeModelIterHasChildMethodInfo
+    ResolveTreeStoreMethod "iterIsValid" o = TreeStoreIterIsValidMethodInfo
+    ResolveTreeStoreMethod "iterNChildren" o = Gtk.TreeModel.TreeModelIterNChildrenMethodInfo
+    ResolveTreeStoreMethod "iterNext" o = Gtk.TreeModel.TreeModelIterNextMethodInfo
+    ResolveTreeStoreMethod "iterNthChild" o = Gtk.TreeModel.TreeModelIterNthChildMethodInfo
+    ResolveTreeStoreMethod "iterParent" o = Gtk.TreeModel.TreeModelIterParentMethodInfo
+    ResolveTreeStoreMethod "iterPrevious" o = Gtk.TreeModel.TreeModelIterPreviousMethodInfo
+    ResolveTreeStoreMethod "moveAfter" o = TreeStoreMoveAfterMethodInfo
+    ResolveTreeStoreMethod "moveBefore" o = TreeStoreMoveBeforeMethodInfo
+    ResolveTreeStoreMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTreeStoreMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTreeStoreMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveTreeStoreMethod "prepend" o = TreeStorePrependMethodInfo
+    ResolveTreeStoreMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTreeStoreMethod "refNode" o = Gtk.TreeModel.TreeModelRefNodeMethodInfo
+    ResolveTreeStoreMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTreeStoreMethod "remove" o = TreeStoreRemoveMethodInfo
+    ResolveTreeStoreMethod "rowChanged" o = Gtk.TreeModel.TreeModelRowChangedMethodInfo
+    ResolveTreeStoreMethod "rowDeleted" o = Gtk.TreeModel.TreeModelRowDeletedMethodInfo
+    ResolveTreeStoreMethod "rowDraggable" o = Gtk.TreeDragSource.TreeDragSourceRowDraggableMethodInfo
+    ResolveTreeStoreMethod "rowDropPossible" o = Gtk.TreeDragDest.TreeDragDestRowDropPossibleMethodInfo
+    ResolveTreeStoreMethod "rowHasChildToggled" o = Gtk.TreeModel.TreeModelRowHasChildToggledMethodInfo
+    ResolveTreeStoreMethod "rowInserted" o = Gtk.TreeModel.TreeModelRowInsertedMethodInfo
+    ResolveTreeStoreMethod "rowsReordered" o = Gtk.TreeModel.TreeModelRowsReorderedMethodInfo
+    ResolveTreeStoreMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTreeStoreMethod "set" o = TreeStoreSetMethodInfo
+    ResolveTreeStoreMethod "sortColumnChanged" o = Gtk.TreeSortable.TreeSortableSortColumnChangedMethodInfo
+    ResolveTreeStoreMethod "sortNewWithModel" o = Gtk.TreeModel.TreeModelSortNewWithModelMethodInfo
+    ResolveTreeStoreMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTreeStoreMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTreeStoreMethod "swap" o = TreeStoreSwapMethodInfo
+    ResolveTreeStoreMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTreeStoreMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTreeStoreMethod "unrefNode" o = Gtk.TreeModel.TreeModelUnrefNodeMethodInfo
+    ResolveTreeStoreMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTreeStoreMethod "getColumnType" o = Gtk.TreeModel.TreeModelGetColumnTypeMethodInfo
+    ResolveTreeStoreMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTreeStoreMethod "getFlags" o = Gtk.TreeModel.TreeModelGetFlagsMethodInfo
+    ResolveTreeStoreMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveTreeStoreMethod "getIter" o = Gtk.TreeModel.TreeModelGetIterMethodInfo
+    ResolveTreeStoreMethod "getIterFirst" o = Gtk.TreeModel.TreeModelGetIterFirstMethodInfo
+    ResolveTreeStoreMethod "getIterFromString" o = Gtk.TreeModel.TreeModelGetIterFromStringMethodInfo
+    ResolveTreeStoreMethod "getNColumns" o = Gtk.TreeModel.TreeModelGetNColumnsMethodInfo
+    ResolveTreeStoreMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveTreeStoreMethod "getPath" o = Gtk.TreeModel.TreeModelGetPathMethodInfo
+    ResolveTreeStoreMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTreeStoreMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTreeStoreMethod "getSortColumnId" o = Gtk.TreeSortable.TreeSortableGetSortColumnIdMethodInfo
+    ResolveTreeStoreMethod "getStringFromIter" o = Gtk.TreeModel.TreeModelGetStringFromIterMethodInfo
+    ResolveTreeStoreMethod "getValue" o = Gtk.TreeModel.TreeModelGetValueMethodInfo
+    ResolveTreeStoreMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveTreeStoreMethod "setColumnTypes" o = TreeStoreSetColumnTypesMethodInfo
+    ResolveTreeStoreMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTreeStoreMethod "setDefaultSortFunc" o = Gtk.TreeSortable.TreeSortableSetDefaultSortFuncMethodInfo
+    ResolveTreeStoreMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveTreeStoreMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTreeStoreMethod "setSortColumnId" o = Gtk.TreeSortable.TreeSortableSetSortColumnIdMethodInfo
+    ResolveTreeStoreMethod "setSortFunc" o = Gtk.TreeSortable.TreeSortableSetSortFuncMethodInfo
+    ResolveTreeStoreMethod "setValue" o = TreeStoreSetValueMethodInfo
+    ResolveTreeStoreMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeStoreMethod t TreeStore, O.MethodInfo info TreeStore p) => OL.IsLabel t (TreeStore -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeStore
+type instance O.AttributeList TreeStore = TreeStoreAttributeList
+type TreeStoreAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TreeStore = TreeStoreSignalList
+type TreeStoreSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("rowChanged", Gtk.TreeModel.TreeModelRowChangedSignalInfo), '("rowDeleted", Gtk.TreeModel.TreeModelRowDeletedSignalInfo), '("rowHasChildToggled", Gtk.TreeModel.TreeModelRowHasChildToggledSignalInfo), '("rowInserted", Gtk.TreeModel.TreeModelRowInsertedSignalInfo), '("sortColumnChanged", Gtk.TreeSortable.TreeSortableSortColumnChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TreeStore::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "n_columns", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of columns in the tree store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TCArray False (-1) 0 (TBasicType TGType), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GType types for the columns, from first to last", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_columns", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of columns in the tree store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeStore"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_newv" gtk_tree_store_newv :: 
+    Int32 ->                                -- n_columns : TBasicType TInt
+    Ptr CGType ->                           -- types : TCArray False (-1) 0 (TBasicType TGType)
+    IO (Ptr TreeStore)
+
+{- |
+Non vararg creation function.  Used primarily by language bindings.
+-}
+treeStoreNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [GType]
+    {- ^ /@types@/: an array of 'GType' types for the columns, from first to last -}
+    -> m TreeStore
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+treeStoreNew types = liftIO $ do
+    let nColumns = fromIntegral $ length types
+    types' <- (packMapStorableArray gtypeToCGType) types
+    result <- gtk_tree_store_newv nColumns types'
+    checkUnexpectedReturnNULL "treeStoreNew" result
+    result' <- (wrapObject TreeStore) result
+    freeMem types'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreeStore::append
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the appended row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_append" gtk_tree_store_append :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- parent : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Appends a new row to /@treeStore@/.  If /@parent@/ is non-'Nothing', then it will append the
+new row after the last child of /@parent@/, otherwise it will append a row to
+the top level.  /@iter@/ will be changed to point to this new row.  The row will
+be empty after this function is called.  To fill in values, you need to call
+@/gtk_tree_store_set()/@ or 'GI.Gtk.Objects.TreeStore.treeStoreSetValue'.
+-}
+treeStoreAppend ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@parent@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> m (Gtk.TreeIter.TreeIter)
+treeStoreAppend treeStore parent = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrGetPtr jParent
+            return jParent'
+    gtk_tree_store_append treeStore' iter maybeParent
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeStore
+    whenJust parent touchManagedPtr
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TreeStoreAppendMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreAppendMethodInfo a signature where
+    overloadedMethod _ = treeStoreAppend
+
+#endif
+
+-- method TreeStore::clear
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_clear" gtk_tree_store_clear :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    IO ()
+
+{- |
+Removes all rows from /@treeStore@/
+-}
+treeStoreClear ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: a 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> m ()
+treeStoreClear treeStore = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    gtk_tree_store_clear treeStore'
+    touchManagedPtr treeStore
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeStoreClearMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreClearMethodInfo a signature where
+    overloadedMethod _ = treeStoreClear
+
+#endif
+
+-- method TreeStore::insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the new row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to insert the new row, or -1 for last", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_insert" gtk_tree_store_insert :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- parent : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO ()
+
+{- |
+Creates a new row at /@position@/.  If parent is non-'Nothing', then the row will be
+made a child of /@parent@/.  Otherwise, the row will be created at the toplevel.
+If /@position@/ is -1 or is larger than the number of rows at that level, then
+the new row will be inserted to the end of the list.  /@iter@/ will be changed
+to point to this new row.  The row will be empty after this function is
+called.  To fill in values, you need to call @/gtk_tree_store_set()/@ or
+'GI.Gtk.Objects.TreeStore.treeStoreSetValue'.
+-}
+treeStoreInsert ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@parent@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> Int32
+    {- ^ /@position@/: position to insert the new row, or -1 for last -}
+    -> m (Gtk.TreeIter.TreeIter)
+treeStoreInsert treeStore parent position = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrGetPtr jParent
+            return jParent'
+    gtk_tree_store_insert treeStore' iter maybeParent position
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeStore
+    whenJust parent touchManagedPtr
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TreeStoreInsertMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> Int32 -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreInsertMethodInfo a signature where
+    overloadedMethod _ = treeStoreInsert
+
+#endif
+
+-- method TreeStore::insert_after
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the new row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_insert_after" gtk_tree_store_insert_after :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- parent : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- sibling : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Inserts a new row after /@sibling@/.  If /@sibling@/ is 'Nothing', then the row will be
+prepended to /@parent@/ ’s children.  If /@parent@/ and /@sibling@/ are 'Nothing', then
+the row will be prepended to the toplevel.  If both /@sibling@/ and /@parent@/ are
+set, then /@parent@/ must be the parent of /@sibling@/.  When /@sibling@/ is set,
+/@parent@/ is optional.
+
+/@iter@/ will be changed to point to this new row.  The row will be empty after
+this function is called.  To fill in values, you need to call
+@/gtk_tree_store_set()/@ or 'GI.Gtk.Objects.TreeStore.treeStoreSetValue'.
+-}
+treeStoreInsertAfter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@parent@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@sibling@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> m (Gtk.TreeIter.TreeIter)
+treeStoreInsertAfter treeStore parent sibling = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrGetPtr jParent
+            return jParent'
+    maybeSibling <- case sibling of
+        Nothing -> return nullPtr
+        Just jSibling -> do
+            jSibling' <- unsafeManagedPtrGetPtr jSibling
+            return jSibling'
+    gtk_tree_store_insert_after treeStore' iter maybeParent maybeSibling
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeStore
+    whenJust parent touchManagedPtr
+    whenJust sibling touchManagedPtr
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TreeStoreInsertAfterMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> Maybe (Gtk.TreeIter.TreeIter) -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreInsertAfterMethodInfo a signature where
+    overloadedMethod _ = treeStoreInsertAfter
+
+#endif
+
+-- method TreeStore::insert_before
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the new row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_insert_before" gtk_tree_store_insert_before :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- parent : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- sibling : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Inserts a new row before /@sibling@/.  If /@sibling@/ is 'Nothing', then the row will
+be appended to /@parent@/ ’s children.  If /@parent@/ and /@sibling@/ are 'Nothing', then
+the row will be appended to the toplevel.  If both /@sibling@/ and /@parent@/ are
+set, then /@parent@/ must be the parent of /@sibling@/.  When /@sibling@/ is set,
+/@parent@/ is optional.
+
+/@iter@/ will be changed to point to this new row.  The row will be empty after
+this function is called.  To fill in values, you need to call
+@/gtk_tree_store_set()/@ or 'GI.Gtk.Objects.TreeStore.treeStoreSetValue'.
+-}
+treeStoreInsertBefore ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@parent@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@sibling@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> m (Gtk.TreeIter.TreeIter)
+treeStoreInsertBefore treeStore parent sibling = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrGetPtr jParent
+            return jParent'
+    maybeSibling <- case sibling of
+        Nothing -> return nullPtr
+        Just jSibling -> do
+            jSibling' <- unsafeManagedPtrGetPtr jSibling
+            return jSibling'
+    gtk_tree_store_insert_before treeStore' iter maybeParent maybeSibling
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeStore
+    whenJust parent touchManagedPtr
+    whenJust sibling touchManagedPtr
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TreeStoreInsertBeforeMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> Maybe (Gtk.TreeIter.TreeIter) -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreInsertBeforeMethodInfo a signature where
+    overloadedMethod _ = treeStoreInsertBefore
+
+#endif
+
+-- method TreeStore::insert_with_values
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set the new row, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to insert the new row, or -1 for last", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "columns", argType = TCArray False (-1) 6 (TBasicType TInt), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of column numbers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TCArray False (-1) 6 (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of GValues", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_insert_with_valuesv" gtk_tree_store_insert_with_valuesv :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- parent : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Int32 ->                                -- position : TBasicType TInt
+    Ptr Int32 ->                            -- columns : TCArray False (-1) 6 (TBasicType TInt)
+    Ptr GValue ->                           -- values : TCArray False (-1) 6 (TInterface (Name {namespace = "GObject", name = "Value"}))
+    Int32 ->                                -- n_values : TBasicType TInt
+    IO ()
+
+{- |
+A variant of @/gtk_tree_store_insert_with_values()/@ which takes
+the columns and values as two arrays, instead of varargs.  This
+function is mainly intended for language bindings.
+
+/Since: 2.10/
+-}
+treeStoreInsertWithValues ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@parent@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> Int32
+    {- ^ /@position@/: position to insert the new row, or -1 for last -}
+    -> [Int32]
+    {- ^ /@columns@/: an array of column numbers -}
+    -> [GValue]
+    {- ^ /@values@/: an array of GValues -}
+    -> m (Gtk.TreeIter.TreeIter)
+treeStoreInsertWithValues treeStore parent position columns values = liftIO $ do
+    let nValues = fromIntegral $ length values
+    let columns_expected_length_ = fromIntegral $ length columns
+    when (columns_expected_length_ /= nValues) $
+        error "Gtk.treeStoreInsertWithValues : length of 'columns' does not agree with that of 'values'."
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrGetPtr jParent
+            return jParent'
+    columns' <- packStorableArray columns
+    values' <- mapM unsafeManagedPtrGetPtr values
+    values'' <- packBlockArray 24 values'
+    gtk_tree_store_insert_with_valuesv treeStore' iter maybeParent position columns' values'' nValues
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeStore
+    whenJust parent touchManagedPtr
+    mapM_ touchManagedPtr values
+    freeMem columns'
+    freeMem values''
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TreeStoreInsertWithValuesMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> Int32 -> [Int32] -> [GValue] -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreInsertWithValuesMethodInfo a signature where
+    overloadedMethod _ = treeStoreInsertWithValues
+
+#endif
+
+-- method TreeStore::is_ancestor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "descendant", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_is_ancestor" gtk_tree_store_is_ancestor :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- descendant : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Returns 'True' if /@iter@/ is an ancestor of /@descendant@/.  That is, /@iter@/ is the
+parent (or grandparent or great-grandparent) of /@descendant@/.
+-}
+treeStoreIsAncestor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@descendant@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if /@iter@/ is an ancestor of /@descendant@/ -}
+treeStoreIsAncestor treeStore iter descendant = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    descendant' <- unsafeManagedPtrGetPtr descendant
+    result <- gtk_tree_store_is_ancestor treeStore' iter' descendant'
+    let result' = (/= 0) result
+    touchManagedPtr treeStore
+    touchManagedPtr iter
+    touchManagedPtr descendant
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeStoreIsAncestorMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreIsAncestorMethodInfo a signature where
+    overloadedMethod _ = treeStoreIsAncestor
+
+#endif
+
+-- method TreeStore::iter_depth
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_iter_depth" gtk_tree_store_iter_depth :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO Int32
+
+{- |
+Returns the depth of /@iter@/.  This will be 0 for anything on the root level, 1
+for anything down a level, etc.
+-}
+treeStoreIterDepth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' -}
+    -> m Int32
+    {- ^ __Returns:__ The depth of /@iter@/ -}
+treeStoreIterDepth treeStore iter = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_store_iter_depth treeStore' iter'
+    touchManagedPtr treeStore
+    touchManagedPtr iter
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeStoreIterDepthMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Int32), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreIterDepthMethodInfo a signature where
+    overloadedMethod _ = treeStoreIterDepth
+
+#endif
+
+-- method TreeStore::iter_is_valid
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_iter_is_valid" gtk_tree_store_iter_is_valid :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+WARNING: This function is slow. Only use it for debugging and\/or testing
+purposes.
+
+Checks if the given iter is a valid iter for this 'GI.Gtk.Objects.TreeStore.TreeStore'.
+
+/Since: 2.2/
+-}
+treeStoreIterIsValid ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the iter is valid, 'False' if the iter is invalid. -}
+treeStoreIterIsValid treeStore iter = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_store_iter_is_valid treeStore' iter'
+    let result' = (/= 0) result
+    touchManagedPtr treeStore
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeStoreIterIsValidMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreIterIsValidMethodInfo a signature where
+    overloadedMethod _ = treeStoreIterIsValid
+
+#endif
+
+-- method TreeStore::move_after
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_move_after" gtk_tree_store_move_after :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- position : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Moves /@iter@/ in /@treeStore@/ to the position after /@position@/. /@iter@/ and
+/@position@/ should be in the same level. Note that this function only
+works with unsorted stores. If /@position@/ is 'Nothing', /@iter@/ will be moved
+to the start of the level.
+
+/Since: 2.2/
+-}
+treeStoreMoveAfter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@position@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> m ()
+treeStoreMoveAfter treeStore iter position = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybePosition <- case position of
+        Nothing -> return nullPtr
+        Just jPosition -> do
+            jPosition' <- unsafeManagedPtrGetPtr jPosition
+            return jPosition'
+    gtk_tree_store_move_after treeStore' iter' maybePosition
+    touchManagedPtr treeStore
+    touchManagedPtr iter
+    whenJust position touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeStoreMoveAfterMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Maybe (Gtk.TreeIter.TreeIter) -> m ()), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreMoveAfterMethodInfo a signature where
+    overloadedMethod _ = treeStoreMoveAfter
+
+#endif
+
+-- method TreeStore::move_before
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_move_before" gtk_tree_store_move_before :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- position : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Moves /@iter@/ in /@treeStore@/ to the position before /@position@/. /@iter@/ and
+/@position@/ should be in the same level. Note that this function only
+works with unsorted stores. If /@position@/ is 'Nothing', /@iter@/ will be
+moved to the end of the level.
+
+/Since: 2.2/
+-}
+treeStoreMoveBefore ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@position@/: A 'GI.Gtk.Structs.TreeIter.TreeIter' or 'Nothing'. -}
+    -> m ()
+treeStoreMoveBefore treeStore iter position = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybePosition <- case position of
+        Nothing -> return nullPtr
+        Just jPosition -> do
+            jPosition' <- unsafeManagedPtrGetPtr jPosition
+            return jPosition'
+    gtk_tree_store_move_before treeStore' iter' maybePosition
+    touchManagedPtr treeStore
+    touchManagedPtr iter
+    whenJust position touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeStoreMoveBeforeMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Maybe (Gtk.TreeIter.TreeIter) -> m ()), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreMoveBeforeMethodInfo a signature where
+    overloadedMethod _ = treeStoreMoveBefore
+
+#endif
+
+-- method TreeStore::prepend
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An unset #GtkTreeIter to set to the prepended row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_prepend" gtk_tree_store_prepend :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- parent : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Prepends a new row to /@treeStore@/.  If /@parent@/ is non-'Nothing', then it will prepend
+the new row before the first child of /@parent@/, otherwise it will prepend a row
+to the top level.  /@iter@/ will be changed to point to this new row.  The row
+will be empty after this function is called.  To fill in values, you need to
+call @/gtk_tree_store_set()/@ or 'GI.Gtk.Objects.TreeStore.treeStoreSetValue'.
+-}
+treeStorePrepend ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Maybe (Gtk.TreeIter.TreeIter)
+    {- ^ /@parent@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter', or 'Nothing' -}
+    -> m (Gtk.TreeIter.TreeIter)
+treeStorePrepend treeStore parent = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrGetPtr jParent
+            return jParent'
+    gtk_tree_store_prepend treeStore' iter maybeParent
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeStore
+    whenJust parent touchManagedPtr
+    return iter'
+
+#if ENABLE_OVERLOADING
+data TreeStorePrependMethodInfo
+instance (signature ~ (Maybe (Gtk.TreeIter.TreeIter) -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStorePrependMethodInfo a signature where
+    overloadedMethod _ = treeStorePrepend
+
+#endif
+
+-- method TreeStore::remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_remove" gtk_tree_store_remove :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+Removes /@iter@/ from /@treeStore@/.  After being removed, /@iter@/ is set to the
+next valid row at that level, or invalidated if it previously pointed to the
+last one.
+-}
+treeStoreRemove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ is still valid, 'False' if not. -}
+treeStoreRemove treeStore iter = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_store_remove treeStore' iter'
+    let result' = (/= 0) result
+    touchManagedPtr treeStore
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeStoreRemoveMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreRemoveMethodInfo a signature where
+    overloadedMethod _ = treeStoreRemove
+
+#endif
+
+-- method TreeStore::set_column_types
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_columns", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of columns for the tree store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TCArray False (-1) 1 (TBasicType TGType), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An array of #GType types, one for each column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_columns", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of columns for the tree store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_set_column_types" gtk_tree_store_set_column_types :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Int32 ->                                -- n_columns : TBasicType TInt
+    Ptr CGType ->                           -- types : TCArray False (-1) 1 (TBasicType TGType)
+    IO ()
+
+{- |
+This function is meant primarily for @/GObjects/@ that inherit from
+'GI.Gtk.Objects.TreeStore.TreeStore', and should only be used when constructing a new
+'GI.Gtk.Objects.TreeStore.TreeStore'.  It will not function after a row has been added,
+or a method on the 'GI.Gtk.Interfaces.TreeModel.TreeModel' interface is called.
+-}
+treeStoreSetColumnTypes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> [GType]
+    {- ^ /@types@/: An array of 'GType' types, one for each column -}
+    -> m ()
+treeStoreSetColumnTypes treeStore types = liftIO $ do
+    let nColumns = fromIntegral $ length types
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    types' <- (packMapStorableArray gtypeToCGType) types
+    gtk_tree_store_set_column_types treeStore' nColumns types'
+    touchManagedPtr treeStore
+    freeMem types'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeStoreSetColumnTypesMethodInfo
+instance (signature ~ ([GType] -> m ()), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreSetColumnTypesMethodInfo a signature where
+    overloadedMethod _ = treeStoreSetColumnTypes
+
+#endif
+
+-- method TreeStore::set_value
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter for the row being modified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "column number to modify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new value for the cell", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_set_value" gtk_tree_store_set_value :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Int32 ->                                -- column : TBasicType TInt
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Sets the data in the cell specified by /@iter@/ and /@column@/.
+The type of /@value@/ must be convertible to the type of the
+column.
+-}
+treeStoreSetValue ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: a 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' for the row being modified -}
+    -> Int32
+    {- ^ /@column@/: column number to modify -}
+    -> GValue
+    {- ^ /@value@/: new value for the cell -}
+    -> m ()
+treeStoreSetValue treeStore iter column value = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_tree_store_set_value treeStore' iter' column value'
+    touchManagedPtr treeStore
+    touchManagedPtr iter
+    touchManagedPtr value
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeStoreSetValueMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Int32 -> GValue -> m ()), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreSetValueMethodInfo a signature where
+    overloadedMethod _ = treeStoreSetValue
+
+#endif
+
+-- method TreeStore::set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GtkTreeIter for the row being modified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "columns", argType = TCArray False (-1) 4 (TBasicType TInt), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of column numbers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TCArray False (-1) 4 (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of GValues", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @columns and @values arrays", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_set_valuesv" gtk_tree_store_set_valuesv :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Int32 ->                            -- columns : TCArray False (-1) 4 (TBasicType TInt)
+    Ptr GValue ->                           -- values : TCArray False (-1) 4 (TInterface (Name {namespace = "GObject", name = "Value"}))
+    Int32 ->                                -- n_values : TBasicType TInt
+    IO ()
+
+{- |
+A variant of @/gtk_tree_store_set_valist()/@ which takes
+the columns and values as two arrays, instead of varargs.  This
+function is mainly intended for language bindings or in case
+the number of columns to change is not known until run-time.
+
+/Since: 2.12/
+-}
+treeStoreSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore' -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: A valid 'GI.Gtk.Structs.TreeIter.TreeIter' for the row being modified -}
+    -> [Int32]
+    {- ^ /@columns@/: an array of column numbers -}
+    -> [GValue]
+    {- ^ /@values@/: an array of GValues -}
+    -> m ()
+treeStoreSet treeStore iter columns values = liftIO $ do
+    let nValues = fromIntegral $ length values
+    let columns_expected_length_ = fromIntegral $ length columns
+    when (columns_expected_length_ /= nValues) $
+        error "Gtk.treeStoreSet : length of 'columns' does not agree with that of 'values'."
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    iter' <- unsafeManagedPtrGetPtr iter
+    columns' <- packStorableArray columns
+    values' <- mapM unsafeManagedPtrGetPtr values
+    values'' <- packBlockArray 24 values'
+    gtk_tree_store_set_valuesv treeStore' iter' columns' values'' nValues
+    touchManagedPtr treeStore
+    touchManagedPtr iter
+    mapM_ touchManagedPtr values
+    freeMem columns'
+    freeMem values''
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeStoreSetMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> [Int32] -> [GValue] -> m ()), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreSetMethodInfo a signature where
+    overloadedMethod _ = treeStoreSet
+
+#endif
+
+-- method TreeStore::swap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_store", argType = TInterface (Name {namespace = "Gtk", name = "TreeStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeStore.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Another #GtkTreeIter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_store_swap" gtk_tree_store_swap :: 
+    Ptr TreeStore ->                        -- tree_store : TInterface (Name {namespace = "Gtk", name = "TreeStore"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- a : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- b : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Swaps /@a@/ and /@b@/ in the same level of /@treeStore@/. Note that this function
+only works with unsorted stores.
+
+/Since: 2.2/
+-}
+treeStoreSwap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeStore a) =>
+    a
+    {- ^ /@treeStore@/: A 'GI.Gtk.Objects.TreeStore.TreeStore'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@a@/: A 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@b@/: Another 'GI.Gtk.Structs.TreeIter.TreeIter'. -}
+    -> m ()
+treeStoreSwap treeStore a b = liftIO $ do
+    treeStore' <- unsafeManagedPtrCastPtr treeStore
+    a' <- unsafeManagedPtrGetPtr a
+    b' <- unsafeManagedPtrGetPtr b
+    gtk_tree_store_swap treeStore' a' b'
+    touchManagedPtr treeStore
+    touchManagedPtr a
+    touchManagedPtr b
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeStoreSwapMethodInfo
+instance (signature ~ (Gtk.TreeIter.TreeIter -> Gtk.TreeIter.TreeIter -> m ()), MonadIO m, IsTreeStore a) => O.MethodInfo TreeStoreSwapMethodInfo a signature where
+    overloadedMethod _ = treeStoreSwap
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TreeStore.hs-boot b/GI/Gtk/Objects/TreeStore.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeStore.hs-boot
@@ -0,0 +1,80 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TreeStore where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeStore = TreeStore (ManagedPtr TreeStore)
+instance GObject TreeStore where
+class (GObject o, O.IsDescendantOf TreeStore o) => IsTreeStore o
+instance (GObject o, O.IsDescendantOf TreeStore o) => IsTreeStore o
+instance O.HasParentTypes TreeStore
+#if ENABLE_OVERLOADING
+data TreeStoreAppendMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreClearMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreInsertAfterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreInsertBeforeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreInsertWithValuesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreIsAncestorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreIterDepthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreIterIsValidMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreMoveAfterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreMoveBeforeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStorePrependMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreRemoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreSetColumnTypesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreSetValueMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeStoreSwapMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TreeView.hs b/GI/Gtk/Objects/TreeView.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeView.hs
@@ -0,0 +1,8395 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Widget that displays any object that implements the 'GI.Gtk.Interfaces.TreeModel.TreeModel' interface.
+
+Please refer to the
+[tree widget conceptual overview][TreeWidget]
+for an overview of all the objects and data types related
+to the tree widget and how they work together.
+
+Several different coordinate systems are exposed in the GtkTreeView API.
+These are:
+
+<<https://developer.gnome.org/gtk3/stable/tree-view-coordinates.png>>
+
+Coordinate systems in GtkTreeView API:
+
+* Widget coordinates: Coordinates relative to the widget (usually @widget->window@).
+* Bin window coordinates: Coordinates relative to the window that GtkTreeView renders to.
+* Tree coordinates: Coordinates relative to the entire scrollable area of GtkTreeView. These
+coordinates start at (0, 0) for row 0 of the tree.
+
+
+Several functions are available for converting between the different
+coordinate systems.  The most common translations are between widget and bin
+window coordinates and between bin window and tree coordinates. For the
+former you can use 'GI.Gtk.Objects.TreeView.treeViewConvertWidgetToBinWindowCoords'
+(and vice versa), for the latter 'GI.Gtk.Objects.TreeView.treeViewConvertBinWindowToTreeCoords'
+(and vice versa).
+
+= GtkTreeView as GtkBuildable
+
+The GtkTreeView implementation of the GtkBuildable interface accepts
+'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' objects as \<child> elements and exposes the internal
+'GI.Gtk.Objects.TreeSelection.TreeSelection' in UI definitions.
+
+An example of a UI definition fragment with GtkTreeView:
+>
+><object class="GtkTreeView" id="treeview">
+>  <property name="model">liststore1</property>
+>  <child>
+>    <object class="GtkTreeViewColumn" id="test-column">
+>      <property name="title">Test</property>
+>      <child>
+>        <object class="GtkCellRendererText" id="test-renderer"/>
+>        <attributes>
+>          <attribute name="text">1</attribute>
+>        </attributes>
+>      </child>
+>    </object>
+>  </child>
+>  <child internal-child="selection">
+>    <object class="GtkTreeSelection" id="selection">
+>      <signal name="changed" handler="on_treeview_selection_changed"/>
+>    </object>
+>  </child>
+></object>
+
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>treeview.view
+>├── header
+>│   ├── <column header>
+>┊   ┊
+>│   ╰── <column header>
+>│
+>╰── [rubberband]
+
+
+GtkTreeView has a main CSS node with name treeview and style class .view.
+It has a subnode with name header, which is the parent for all the column
+header widgets\' CSS nodes.
+For rubberband selection, a subnode with name rubberband is used.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TreeView
+    ( 
+
+-- * Exported types
+    TreeView(..)                            ,
+    IsTreeView                              ,
+    toTreeView                              ,
+    noTreeView                              ,
+
+
+ -- * Methods
+-- ** appendColumn #method:appendColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewAppendColumnMethodInfo          ,
+#endif
+    treeViewAppendColumn                    ,
+
+
+-- ** collapseAll #method:collapseAll#
+
+#if ENABLE_OVERLOADING
+    TreeViewCollapseAllMethodInfo           ,
+#endif
+    treeViewCollapseAll                     ,
+
+
+-- ** collapseRow #method:collapseRow#
+
+#if ENABLE_OVERLOADING
+    TreeViewCollapseRowMethodInfo           ,
+#endif
+    treeViewCollapseRow                     ,
+
+
+-- ** columnsAutosize #method:columnsAutosize#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnsAutosizeMethodInfo       ,
+#endif
+    treeViewColumnsAutosize                 ,
+
+
+-- ** convertBinWindowToTreeCoords #method:convertBinWindowToTreeCoords#
+
+#if ENABLE_OVERLOADING
+    TreeViewConvertBinWindowToTreeCoordsMethodInfo,
+#endif
+    treeViewConvertBinWindowToTreeCoords    ,
+
+
+-- ** convertBinWindowToWidgetCoords #method:convertBinWindowToWidgetCoords#
+
+#if ENABLE_OVERLOADING
+    TreeViewConvertBinWindowToWidgetCoordsMethodInfo,
+#endif
+    treeViewConvertBinWindowToWidgetCoords  ,
+
+
+-- ** convertTreeToBinWindowCoords #method:convertTreeToBinWindowCoords#
+
+#if ENABLE_OVERLOADING
+    TreeViewConvertTreeToBinWindowCoordsMethodInfo,
+#endif
+    treeViewConvertTreeToBinWindowCoords    ,
+
+
+-- ** convertTreeToWidgetCoords #method:convertTreeToWidgetCoords#
+
+#if ENABLE_OVERLOADING
+    TreeViewConvertTreeToWidgetCoordsMethodInfo,
+#endif
+    treeViewConvertTreeToWidgetCoords       ,
+
+
+-- ** convertWidgetToBinWindowCoords #method:convertWidgetToBinWindowCoords#
+
+#if ENABLE_OVERLOADING
+    TreeViewConvertWidgetToBinWindowCoordsMethodInfo,
+#endif
+    treeViewConvertWidgetToBinWindowCoords  ,
+
+
+-- ** convertWidgetToTreeCoords #method:convertWidgetToTreeCoords#
+
+#if ENABLE_OVERLOADING
+    TreeViewConvertWidgetToTreeCoordsMethodInfo,
+#endif
+    treeViewConvertWidgetToTreeCoords       ,
+
+
+-- ** createRowDragIcon #method:createRowDragIcon#
+
+#if ENABLE_OVERLOADING
+    TreeViewCreateRowDragIconMethodInfo     ,
+#endif
+    treeViewCreateRowDragIcon               ,
+
+
+-- ** enableModelDragDest #method:enableModelDragDest#
+
+#if ENABLE_OVERLOADING
+    TreeViewEnableModelDragDestMethodInfo   ,
+#endif
+    treeViewEnableModelDragDest             ,
+
+
+-- ** enableModelDragSource #method:enableModelDragSource#
+
+#if ENABLE_OVERLOADING
+    TreeViewEnableModelDragSourceMethodInfo ,
+#endif
+    treeViewEnableModelDragSource           ,
+
+
+-- ** expandAll #method:expandAll#
+
+#if ENABLE_OVERLOADING
+    TreeViewExpandAllMethodInfo             ,
+#endif
+    treeViewExpandAll                       ,
+
+
+-- ** expandRow #method:expandRow#
+
+#if ENABLE_OVERLOADING
+    TreeViewExpandRowMethodInfo             ,
+#endif
+    treeViewExpandRow                       ,
+
+
+-- ** expandToPath #method:expandToPath#
+
+#if ENABLE_OVERLOADING
+    TreeViewExpandToPathMethodInfo          ,
+#endif
+    treeViewExpandToPath                    ,
+
+
+-- ** getActivateOnSingleClick #method:getActivateOnSingleClick#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetActivateOnSingleClickMethodInfo,
+#endif
+    treeViewGetActivateOnSingleClick        ,
+
+
+-- ** getBackgroundArea #method:getBackgroundArea#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetBackgroundAreaMethodInfo     ,
+#endif
+    treeViewGetBackgroundArea               ,
+
+
+-- ** getBinWindow #method:getBinWindow#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetBinWindowMethodInfo          ,
+#endif
+    treeViewGetBinWindow                    ,
+
+
+-- ** getCellArea #method:getCellArea#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetCellAreaMethodInfo           ,
+#endif
+    treeViewGetCellArea                     ,
+
+
+-- ** getColumn #method:getColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetColumnMethodInfo             ,
+#endif
+    treeViewGetColumn                       ,
+
+
+-- ** getColumns #method:getColumns#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetColumnsMethodInfo            ,
+#endif
+    treeViewGetColumns                      ,
+
+
+-- ** getCursor #method:getCursor#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetCursorMethodInfo             ,
+#endif
+    treeViewGetCursor                       ,
+
+
+-- ** getDestRowAtPos #method:getDestRowAtPos#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetDestRowAtPosMethodInfo       ,
+#endif
+    treeViewGetDestRowAtPos                 ,
+
+
+-- ** getDragDestRow #method:getDragDestRow#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetDragDestRowMethodInfo        ,
+#endif
+    treeViewGetDragDestRow                  ,
+
+
+-- ** getEnableSearch #method:getEnableSearch#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetEnableSearchMethodInfo       ,
+#endif
+    treeViewGetEnableSearch                 ,
+
+
+-- ** getEnableTreeLines #method:getEnableTreeLines#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetEnableTreeLinesMethodInfo    ,
+#endif
+    treeViewGetEnableTreeLines              ,
+
+
+-- ** getExpanderColumn #method:getExpanderColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetExpanderColumnMethodInfo     ,
+#endif
+    treeViewGetExpanderColumn               ,
+
+
+-- ** getFixedHeightMode #method:getFixedHeightMode#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetFixedHeightModeMethodInfo    ,
+#endif
+    treeViewGetFixedHeightMode              ,
+
+
+-- ** getGridLines #method:getGridLines#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetGridLinesMethodInfo          ,
+#endif
+    treeViewGetGridLines                    ,
+
+
+-- ** getHadjustment #method:getHadjustment#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetHadjustmentMethodInfo        ,
+#endif
+    treeViewGetHadjustment                  ,
+
+
+-- ** getHeadersClickable #method:getHeadersClickable#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetHeadersClickableMethodInfo   ,
+#endif
+    treeViewGetHeadersClickable             ,
+
+
+-- ** getHeadersVisible #method:getHeadersVisible#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetHeadersVisibleMethodInfo     ,
+#endif
+    treeViewGetHeadersVisible               ,
+
+
+-- ** getHoverExpand #method:getHoverExpand#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetHoverExpandMethodInfo        ,
+#endif
+    treeViewGetHoverExpand                  ,
+
+
+-- ** getHoverSelection #method:getHoverSelection#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetHoverSelectionMethodInfo     ,
+#endif
+    treeViewGetHoverSelection               ,
+
+
+-- ** getLevelIndentation #method:getLevelIndentation#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetLevelIndentationMethodInfo   ,
+#endif
+    treeViewGetLevelIndentation             ,
+
+
+-- ** getModel #method:getModel#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetModelMethodInfo              ,
+#endif
+    treeViewGetModel                        ,
+
+
+-- ** getNColumns #method:getNColumns#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetNColumnsMethodInfo           ,
+#endif
+    treeViewGetNColumns                     ,
+
+
+-- ** getPathAtPos #method:getPathAtPos#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetPathAtPosMethodInfo          ,
+#endif
+    treeViewGetPathAtPos                    ,
+
+
+-- ** getReorderable #method:getReorderable#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetReorderableMethodInfo        ,
+#endif
+    treeViewGetReorderable                  ,
+
+
+-- ** getRubberBanding #method:getRubberBanding#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetRubberBandingMethodInfo      ,
+#endif
+    treeViewGetRubberBanding                ,
+
+
+-- ** getRulesHint #method:getRulesHint#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetRulesHintMethodInfo          ,
+#endif
+    treeViewGetRulesHint                    ,
+
+
+-- ** getSearchColumn #method:getSearchColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetSearchColumnMethodInfo       ,
+#endif
+    treeViewGetSearchColumn                 ,
+
+
+-- ** getSearchEntry #method:getSearchEntry#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetSearchEntryMethodInfo        ,
+#endif
+    treeViewGetSearchEntry                  ,
+
+
+-- ** getSelection #method:getSelection#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetSelectionMethodInfo          ,
+#endif
+    treeViewGetSelection                    ,
+
+
+-- ** getShowExpanders #method:getShowExpanders#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetShowExpandersMethodInfo      ,
+#endif
+    treeViewGetShowExpanders                ,
+
+
+-- ** getTooltipColumn #method:getTooltipColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetTooltipColumnMethodInfo      ,
+#endif
+    treeViewGetTooltipColumn                ,
+
+
+-- ** getTooltipContext #method:getTooltipContext#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetTooltipContextMethodInfo     ,
+#endif
+    treeViewGetTooltipContext               ,
+
+
+-- ** getVadjustment #method:getVadjustment#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetVadjustmentMethodInfo        ,
+#endif
+    treeViewGetVadjustment                  ,
+
+
+-- ** getVisibleRange #method:getVisibleRange#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetVisibleRangeMethodInfo       ,
+#endif
+    treeViewGetVisibleRange                 ,
+
+
+-- ** getVisibleRect #method:getVisibleRect#
+
+#if ENABLE_OVERLOADING
+    TreeViewGetVisibleRectMethodInfo        ,
+#endif
+    treeViewGetVisibleRect                  ,
+
+
+-- ** insertColumn #method:insertColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewInsertColumnMethodInfo          ,
+#endif
+    treeViewInsertColumn                    ,
+
+
+-- ** insertColumnWithDataFunc #method:insertColumnWithDataFunc#
+
+#if ENABLE_OVERLOADING
+    TreeViewInsertColumnWithDataFuncMethodInfo,
+#endif
+    treeViewInsertColumnWithDataFunc        ,
+
+
+-- ** isBlankAtPos #method:isBlankAtPos#
+
+#if ENABLE_OVERLOADING
+    TreeViewIsBlankAtPosMethodInfo          ,
+#endif
+    treeViewIsBlankAtPos                    ,
+
+
+-- ** isRubberBandingActive #method:isRubberBandingActive#
+
+#if ENABLE_OVERLOADING
+    TreeViewIsRubberBandingActiveMethodInfo ,
+#endif
+    treeViewIsRubberBandingActive           ,
+
+
+-- ** mapExpandedRows #method:mapExpandedRows#
+
+#if ENABLE_OVERLOADING
+    TreeViewMapExpandedRowsMethodInfo       ,
+#endif
+    treeViewMapExpandedRows                 ,
+
+
+-- ** moveColumnAfter #method:moveColumnAfter#
+
+#if ENABLE_OVERLOADING
+    TreeViewMoveColumnAfterMethodInfo       ,
+#endif
+    treeViewMoveColumnAfter                 ,
+
+
+-- ** new #method:new#
+
+    treeViewNew                             ,
+
+
+-- ** newWithModel #method:newWithModel#
+
+    treeViewNewWithModel                    ,
+
+
+-- ** removeColumn #method:removeColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewRemoveColumnMethodInfo          ,
+#endif
+    treeViewRemoveColumn                    ,
+
+
+-- ** rowActivated #method:rowActivated#
+
+#if ENABLE_OVERLOADING
+    TreeViewRowActivatedMethodInfo          ,
+#endif
+    treeViewRowActivated                    ,
+
+
+-- ** rowExpanded #method:rowExpanded#
+
+#if ENABLE_OVERLOADING
+    TreeViewRowExpandedMethodInfo           ,
+#endif
+    treeViewRowExpanded                     ,
+
+
+-- ** scrollToCell #method:scrollToCell#
+
+#if ENABLE_OVERLOADING
+    TreeViewScrollToCellMethodInfo          ,
+#endif
+    treeViewScrollToCell                    ,
+
+
+-- ** scrollToPoint #method:scrollToPoint#
+
+#if ENABLE_OVERLOADING
+    TreeViewScrollToPointMethodInfo         ,
+#endif
+    treeViewScrollToPoint                   ,
+
+
+-- ** setActivateOnSingleClick #method:setActivateOnSingleClick#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetActivateOnSingleClickMethodInfo,
+#endif
+    treeViewSetActivateOnSingleClick        ,
+
+
+-- ** setColumnDragFunction #method:setColumnDragFunction#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetColumnDragFunctionMethodInfo ,
+#endif
+    treeViewSetColumnDragFunction           ,
+
+
+-- ** setCursor #method:setCursor#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetCursorMethodInfo             ,
+#endif
+    treeViewSetCursor                       ,
+
+
+-- ** setCursorOnCell #method:setCursorOnCell#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetCursorOnCellMethodInfo       ,
+#endif
+    treeViewSetCursorOnCell                 ,
+
+
+-- ** setDestroyCountFunc #method:setDestroyCountFunc#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetDestroyCountFuncMethodInfo   ,
+#endif
+    treeViewSetDestroyCountFunc             ,
+
+
+-- ** setDragDestRow #method:setDragDestRow#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetDragDestRowMethodInfo        ,
+#endif
+    treeViewSetDragDestRow                  ,
+
+
+-- ** setEnableSearch #method:setEnableSearch#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetEnableSearchMethodInfo       ,
+#endif
+    treeViewSetEnableSearch                 ,
+
+
+-- ** setEnableTreeLines #method:setEnableTreeLines#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetEnableTreeLinesMethodInfo    ,
+#endif
+    treeViewSetEnableTreeLines              ,
+
+
+-- ** setExpanderColumn #method:setExpanderColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetExpanderColumnMethodInfo     ,
+#endif
+    treeViewSetExpanderColumn               ,
+
+
+-- ** setFixedHeightMode #method:setFixedHeightMode#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetFixedHeightModeMethodInfo    ,
+#endif
+    treeViewSetFixedHeightMode              ,
+
+
+-- ** setGridLines #method:setGridLines#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetGridLinesMethodInfo          ,
+#endif
+    treeViewSetGridLines                    ,
+
+
+-- ** setHadjustment #method:setHadjustment#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetHadjustmentMethodInfo        ,
+#endif
+    treeViewSetHadjustment                  ,
+
+
+-- ** setHeadersClickable #method:setHeadersClickable#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetHeadersClickableMethodInfo   ,
+#endif
+    treeViewSetHeadersClickable             ,
+
+
+-- ** setHeadersVisible #method:setHeadersVisible#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetHeadersVisibleMethodInfo     ,
+#endif
+    treeViewSetHeadersVisible               ,
+
+
+-- ** setHoverExpand #method:setHoverExpand#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetHoverExpandMethodInfo        ,
+#endif
+    treeViewSetHoverExpand                  ,
+
+
+-- ** setHoverSelection #method:setHoverSelection#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetHoverSelectionMethodInfo     ,
+#endif
+    treeViewSetHoverSelection               ,
+
+
+-- ** setLevelIndentation #method:setLevelIndentation#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetLevelIndentationMethodInfo   ,
+#endif
+    treeViewSetLevelIndentation             ,
+
+
+-- ** setModel #method:setModel#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetModelMethodInfo              ,
+#endif
+    treeViewSetModel                        ,
+
+
+-- ** setReorderable #method:setReorderable#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetReorderableMethodInfo        ,
+#endif
+    treeViewSetReorderable                  ,
+
+
+-- ** setRowSeparatorFunc #method:setRowSeparatorFunc#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetRowSeparatorFuncMethodInfo   ,
+#endif
+    treeViewSetRowSeparatorFunc             ,
+
+
+-- ** setRubberBanding #method:setRubberBanding#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetRubberBandingMethodInfo      ,
+#endif
+    treeViewSetRubberBanding                ,
+
+
+-- ** setRulesHint #method:setRulesHint#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetRulesHintMethodInfo          ,
+#endif
+    treeViewSetRulesHint                    ,
+
+
+-- ** setSearchColumn #method:setSearchColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetSearchColumnMethodInfo       ,
+#endif
+    treeViewSetSearchColumn                 ,
+
+
+-- ** setSearchEntry #method:setSearchEntry#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetSearchEntryMethodInfo        ,
+#endif
+    treeViewSetSearchEntry                  ,
+
+
+-- ** setSearchEqualFunc #method:setSearchEqualFunc#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetSearchEqualFuncMethodInfo    ,
+#endif
+    treeViewSetSearchEqualFunc              ,
+
+
+-- ** setSearchPositionFunc #method:setSearchPositionFunc#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetSearchPositionFuncMethodInfo ,
+#endif
+    treeViewSetSearchPositionFunc           ,
+
+
+-- ** setShowExpanders #method:setShowExpanders#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetShowExpandersMethodInfo      ,
+#endif
+    treeViewSetShowExpanders                ,
+
+
+-- ** setTooltipCell #method:setTooltipCell#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetTooltipCellMethodInfo        ,
+#endif
+    treeViewSetTooltipCell                  ,
+
+
+-- ** setTooltipColumn #method:setTooltipColumn#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetTooltipColumnMethodInfo      ,
+#endif
+    treeViewSetTooltipColumn                ,
+
+
+-- ** setTooltipRow #method:setTooltipRow#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetTooltipRowMethodInfo         ,
+#endif
+    treeViewSetTooltipRow                   ,
+
+
+-- ** setVadjustment #method:setVadjustment#
+
+#if ENABLE_OVERLOADING
+    TreeViewSetVadjustmentMethodInfo        ,
+#endif
+    treeViewSetVadjustment                  ,
+
+
+-- ** unsetRowsDragDest #method:unsetRowsDragDest#
+
+#if ENABLE_OVERLOADING
+    TreeViewUnsetRowsDragDestMethodInfo     ,
+#endif
+    treeViewUnsetRowsDragDest               ,
+
+
+-- ** unsetRowsDragSource #method:unsetRowsDragSource#
+
+#if ENABLE_OVERLOADING
+    TreeViewUnsetRowsDragSourceMethodInfo   ,
+#endif
+    treeViewUnsetRowsDragSource             ,
+
+
+
+
+ -- * Properties
+-- ** activateOnSingleClick #attr:activateOnSingleClick#
+{- | The activate-on-single-click property specifies whether the \"row-activated\" signal
+will be emitted after a single click.
+
+/Since: 3.8/
+-}
+#if ENABLE_OVERLOADING
+    TreeViewActivateOnSingleClickPropertyInfo,
+#endif
+    constructTreeViewActivateOnSingleClick  ,
+    getTreeViewActivateOnSingleClick        ,
+    setTreeViewActivateOnSingleClick        ,
+#if ENABLE_OVERLOADING
+    treeViewActivateOnSingleClick           ,
+#endif
+
+
+-- ** enableGridLines #attr:enableGridLines#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewEnableGridLinesPropertyInfo     ,
+#endif
+    constructTreeViewEnableGridLines        ,
+    getTreeViewEnableGridLines              ,
+    setTreeViewEnableGridLines              ,
+#if ENABLE_OVERLOADING
+    treeViewEnableGridLines                 ,
+#endif
+
+
+-- ** enableSearch #attr:enableSearch#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewEnableSearchPropertyInfo        ,
+#endif
+    constructTreeViewEnableSearch           ,
+    getTreeViewEnableSearch                 ,
+    setTreeViewEnableSearch                 ,
+#if ENABLE_OVERLOADING
+    treeViewEnableSearch                    ,
+#endif
+
+
+-- ** enableTreeLines #attr:enableTreeLines#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewEnableTreeLinesPropertyInfo     ,
+#endif
+    constructTreeViewEnableTreeLines        ,
+    getTreeViewEnableTreeLines              ,
+    setTreeViewEnableTreeLines              ,
+#if ENABLE_OVERLOADING
+    treeViewEnableTreeLines                 ,
+#endif
+
+
+-- ** expanderColumn #attr:expanderColumn#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewExpanderColumnPropertyInfo      ,
+#endif
+    clearTreeViewExpanderColumn             ,
+    constructTreeViewExpanderColumn         ,
+    getTreeViewExpanderColumn               ,
+    setTreeViewExpanderColumn               ,
+#if ENABLE_OVERLOADING
+    treeViewExpanderColumn                  ,
+#endif
+
+
+-- ** fixedHeightMode #attr:fixedHeightMode#
+{- | Setting the ::fixed-height-mode property to 'True' speeds up
+'GI.Gtk.Objects.TreeView.TreeView' by assuming that all rows have the same height.
+Only enable this option if all rows are the same height.
+Please see 'GI.Gtk.Objects.TreeView.treeViewSetFixedHeightMode' for more
+information on this option.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    TreeViewFixedHeightModePropertyInfo     ,
+#endif
+    constructTreeViewFixedHeightMode        ,
+    getTreeViewFixedHeightMode              ,
+    setTreeViewFixedHeightMode              ,
+#if ENABLE_OVERLOADING
+    treeViewFixedHeightMode                 ,
+#endif
+
+
+-- ** headersClickable #attr:headersClickable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewHeadersClickablePropertyInfo    ,
+#endif
+    constructTreeViewHeadersClickable       ,
+    getTreeViewHeadersClickable             ,
+    setTreeViewHeadersClickable             ,
+#if ENABLE_OVERLOADING
+    treeViewHeadersClickable                ,
+#endif
+
+
+-- ** headersVisible #attr:headersVisible#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewHeadersVisiblePropertyInfo      ,
+#endif
+    constructTreeViewHeadersVisible         ,
+    getTreeViewHeadersVisible               ,
+    setTreeViewHeadersVisible               ,
+#if ENABLE_OVERLOADING
+    treeViewHeadersVisible                  ,
+#endif
+
+
+-- ** hoverExpand #attr:hoverExpand#
+{- | Enables or disables the hover expansion mode of /@treeView@/.
+Hover expansion makes rows expand or collapse if the pointer moves
+over them.
+
+This mode is primarily intended for treeviews in popups, e.g.
+in 'GI.Gtk.Objects.ComboBox.ComboBox' or 'GI.Gtk.Objects.EntryCompletion.EntryCompletion'.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    TreeViewHoverExpandPropertyInfo         ,
+#endif
+    constructTreeViewHoverExpand            ,
+    getTreeViewHoverExpand                  ,
+    setTreeViewHoverExpand                  ,
+#if ENABLE_OVERLOADING
+    treeViewHoverExpand                     ,
+#endif
+
+
+-- ** hoverSelection #attr:hoverSelection#
+{- | Enables or disables the hover selection mode of /@treeView@/.
+Hover selection makes the selected row follow the pointer.
+Currently, this works only for the selection modes
+'GI.Gtk.Enums.SelectionModeSingle' and 'GI.Gtk.Enums.SelectionModeBrowse'.
+
+This mode is primarily intended for treeviews in popups, e.g.
+in 'GI.Gtk.Objects.ComboBox.ComboBox' or 'GI.Gtk.Objects.EntryCompletion.EntryCompletion'.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    TreeViewHoverSelectionPropertyInfo      ,
+#endif
+    constructTreeViewHoverSelection         ,
+    getTreeViewHoverSelection               ,
+    setTreeViewHoverSelection               ,
+#if ENABLE_OVERLOADING
+    treeViewHoverSelection                  ,
+#endif
+
+
+-- ** levelIndentation #attr:levelIndentation#
+{- | Extra indentation for each level.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    TreeViewLevelIndentationPropertyInfo    ,
+#endif
+    constructTreeViewLevelIndentation       ,
+    getTreeViewLevelIndentation             ,
+    setTreeViewLevelIndentation             ,
+#if ENABLE_OVERLOADING
+    treeViewLevelIndentation                ,
+#endif
+
+
+-- ** model #attr:model#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewModelPropertyInfo               ,
+#endif
+    clearTreeViewModel                      ,
+    constructTreeViewModel                  ,
+    getTreeViewModel                        ,
+    setTreeViewModel                        ,
+#if ENABLE_OVERLOADING
+    treeViewModel                           ,
+#endif
+
+
+-- ** reorderable #attr:reorderable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewReorderablePropertyInfo         ,
+#endif
+    constructTreeViewReorderable            ,
+    getTreeViewReorderable                  ,
+    setTreeViewReorderable                  ,
+#if ENABLE_OVERLOADING
+    treeViewReorderable                     ,
+#endif
+
+
+-- ** rubberBanding #attr:rubberBanding#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewRubberBandingPropertyInfo       ,
+#endif
+    constructTreeViewRubberBanding          ,
+    getTreeViewRubberBanding                ,
+    setTreeViewRubberBanding                ,
+#if ENABLE_OVERLOADING
+    treeViewRubberBanding                   ,
+#endif
+
+
+-- ** rulesHint #attr:rulesHint#
+{- | Sets a hint to the theme to draw rows in alternating colors.
+-}
+#if ENABLE_OVERLOADING
+    TreeViewRulesHintPropertyInfo           ,
+#endif
+    constructTreeViewRulesHint              ,
+    getTreeViewRulesHint                    ,
+    setTreeViewRulesHint                    ,
+#if ENABLE_OVERLOADING
+    treeViewRulesHint                       ,
+#endif
+
+
+-- ** searchColumn #attr:searchColumn#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewSearchColumnPropertyInfo        ,
+#endif
+    constructTreeViewSearchColumn           ,
+    getTreeViewSearchColumn                 ,
+    setTreeViewSearchColumn                 ,
+#if ENABLE_OVERLOADING
+    treeViewSearchColumn                    ,
+#endif
+
+
+-- ** showExpanders #attr:showExpanders#
+{- | 'True' if the view has expanders.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    TreeViewShowExpandersPropertyInfo       ,
+#endif
+    constructTreeViewShowExpanders          ,
+    getTreeViewShowExpanders                ,
+    setTreeViewShowExpanders                ,
+#if ENABLE_OVERLOADING
+    treeViewShowExpanders                   ,
+#endif
+
+
+-- ** tooltipColumn #attr:tooltipColumn#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewTooltipColumnPropertyInfo       ,
+#endif
+    constructTreeViewTooltipColumn          ,
+    getTreeViewTooltipColumn                ,
+    setTreeViewTooltipColumn                ,
+#if ENABLE_OVERLOADING
+    treeViewTooltipColumn                   ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** columnsChanged #signal:columnsChanged#
+
+    C_TreeViewColumnsChangedCallback        ,
+    TreeViewColumnsChangedCallback          ,
+#if ENABLE_OVERLOADING
+    TreeViewColumnsChangedSignalInfo        ,
+#endif
+    afterTreeViewColumnsChanged             ,
+    genClosure_TreeViewColumnsChanged       ,
+    mk_TreeViewColumnsChangedCallback       ,
+    noTreeViewColumnsChangedCallback        ,
+    onTreeViewColumnsChanged                ,
+    wrap_TreeViewColumnsChangedCallback     ,
+
+
+-- ** cursorChanged #signal:cursorChanged#
+
+    C_TreeViewCursorChangedCallback         ,
+    TreeViewCursorChangedCallback           ,
+#if ENABLE_OVERLOADING
+    TreeViewCursorChangedSignalInfo         ,
+#endif
+    afterTreeViewCursorChanged              ,
+    genClosure_TreeViewCursorChanged        ,
+    mk_TreeViewCursorChangedCallback        ,
+    noTreeViewCursorChangedCallback         ,
+    onTreeViewCursorChanged                 ,
+    wrap_TreeViewCursorChangedCallback      ,
+
+
+-- ** expandCollapseCursorRow #signal:expandCollapseCursorRow#
+
+    C_TreeViewExpandCollapseCursorRowCallback,
+    TreeViewExpandCollapseCursorRowCallback ,
+#if ENABLE_OVERLOADING
+    TreeViewExpandCollapseCursorRowSignalInfo,
+#endif
+    afterTreeViewExpandCollapseCursorRow    ,
+    genClosure_TreeViewExpandCollapseCursorRow,
+    mk_TreeViewExpandCollapseCursorRowCallback,
+    noTreeViewExpandCollapseCursorRowCallback,
+    onTreeViewExpandCollapseCursorRow       ,
+    wrap_TreeViewExpandCollapseCursorRowCallback,
+
+
+-- ** moveCursor #signal:moveCursor#
+
+    C_TreeViewMoveCursorCallback            ,
+    TreeViewMoveCursorCallback              ,
+#if ENABLE_OVERLOADING
+    TreeViewMoveCursorSignalInfo            ,
+#endif
+    afterTreeViewMoveCursor                 ,
+    genClosure_TreeViewMoveCursor           ,
+    mk_TreeViewMoveCursorCallback           ,
+    noTreeViewMoveCursorCallback            ,
+    onTreeViewMoveCursor                    ,
+    wrap_TreeViewMoveCursorCallback         ,
+
+
+-- ** rowActivated #signal:rowActivated#
+
+    C_TreeViewRowActivatedCallback          ,
+    TreeViewRowActivatedCallback            ,
+#if ENABLE_OVERLOADING
+    TreeViewRowActivatedSignalInfo          ,
+#endif
+    afterTreeViewRowActivated               ,
+    genClosure_TreeViewRowActivated         ,
+    mk_TreeViewRowActivatedCallback         ,
+    noTreeViewRowActivatedCallback          ,
+    onTreeViewRowActivated                  ,
+    wrap_TreeViewRowActivatedCallback       ,
+
+
+-- ** rowCollapsed #signal:rowCollapsed#
+
+    C_TreeViewRowCollapsedCallback          ,
+    TreeViewRowCollapsedCallback            ,
+#if ENABLE_OVERLOADING
+    TreeViewRowCollapsedSignalInfo          ,
+#endif
+    afterTreeViewRowCollapsed               ,
+    genClosure_TreeViewRowCollapsed         ,
+    mk_TreeViewRowCollapsedCallback         ,
+    noTreeViewRowCollapsedCallback          ,
+    onTreeViewRowCollapsed                  ,
+    wrap_TreeViewRowCollapsedCallback       ,
+
+
+-- ** rowExpanded #signal:rowExpanded#
+
+    C_TreeViewRowExpandedCallback           ,
+    TreeViewRowExpandedCallback             ,
+#if ENABLE_OVERLOADING
+    TreeViewRowExpandedSignalInfo           ,
+#endif
+    afterTreeViewRowExpanded                ,
+    genClosure_TreeViewRowExpanded          ,
+    mk_TreeViewRowExpandedCallback          ,
+    noTreeViewRowExpandedCallback           ,
+    onTreeViewRowExpanded                   ,
+    wrap_TreeViewRowExpandedCallback        ,
+
+
+-- ** selectAll #signal:selectAll#
+
+    C_TreeViewSelectAllCallback             ,
+    TreeViewSelectAllCallback               ,
+#if ENABLE_OVERLOADING
+    TreeViewSelectAllSignalInfo             ,
+#endif
+    afterTreeViewSelectAll                  ,
+    genClosure_TreeViewSelectAll            ,
+    mk_TreeViewSelectAllCallback            ,
+    noTreeViewSelectAllCallback             ,
+    onTreeViewSelectAll                     ,
+    wrap_TreeViewSelectAllCallback          ,
+
+
+-- ** selectCursorParent #signal:selectCursorParent#
+
+    C_TreeViewSelectCursorParentCallback    ,
+    TreeViewSelectCursorParentCallback      ,
+#if ENABLE_OVERLOADING
+    TreeViewSelectCursorParentSignalInfo    ,
+#endif
+    afterTreeViewSelectCursorParent         ,
+    genClosure_TreeViewSelectCursorParent   ,
+    mk_TreeViewSelectCursorParentCallback   ,
+    noTreeViewSelectCursorParentCallback    ,
+    onTreeViewSelectCursorParent            ,
+    wrap_TreeViewSelectCursorParentCallback ,
+
+
+-- ** selectCursorRow #signal:selectCursorRow#
+
+    C_TreeViewSelectCursorRowCallback       ,
+    TreeViewSelectCursorRowCallback         ,
+#if ENABLE_OVERLOADING
+    TreeViewSelectCursorRowSignalInfo       ,
+#endif
+    afterTreeViewSelectCursorRow            ,
+    genClosure_TreeViewSelectCursorRow      ,
+    mk_TreeViewSelectCursorRowCallback      ,
+    noTreeViewSelectCursorRowCallback       ,
+    onTreeViewSelectCursorRow               ,
+    wrap_TreeViewSelectCursorRowCallback    ,
+
+
+-- ** startInteractiveSearch #signal:startInteractiveSearch#
+
+    C_TreeViewStartInteractiveSearchCallback,
+    TreeViewStartInteractiveSearchCallback  ,
+#if ENABLE_OVERLOADING
+    TreeViewStartInteractiveSearchSignalInfo,
+#endif
+    afterTreeViewStartInteractiveSearch     ,
+    genClosure_TreeViewStartInteractiveSearch,
+    mk_TreeViewStartInteractiveSearchCallback,
+    noTreeViewStartInteractiveSearchCallback,
+    onTreeViewStartInteractiveSearch        ,
+    wrap_TreeViewStartInteractiveSearchCallback,
+
+
+-- ** testCollapseRow #signal:testCollapseRow#
+
+    C_TreeViewTestCollapseRowCallback       ,
+    TreeViewTestCollapseRowCallback         ,
+#if ENABLE_OVERLOADING
+    TreeViewTestCollapseRowSignalInfo       ,
+#endif
+    afterTreeViewTestCollapseRow            ,
+    genClosure_TreeViewTestCollapseRow      ,
+    mk_TreeViewTestCollapseRowCallback      ,
+    noTreeViewTestCollapseRowCallback       ,
+    onTreeViewTestCollapseRow               ,
+    wrap_TreeViewTestCollapseRowCallback    ,
+
+
+-- ** testExpandRow #signal:testExpandRow#
+
+    C_TreeViewTestExpandRowCallback         ,
+    TreeViewTestExpandRowCallback           ,
+#if ENABLE_OVERLOADING
+    TreeViewTestExpandRowSignalInfo         ,
+#endif
+    afterTreeViewTestExpandRow              ,
+    genClosure_TreeViewTestExpandRow        ,
+    mk_TreeViewTestExpandRowCallback        ,
+    noTreeViewTestExpandRowCallback         ,
+    onTreeViewTestExpandRow                 ,
+    wrap_TreeViewTestExpandRowCallback      ,
+
+
+-- ** toggleCursorRow #signal:toggleCursorRow#
+
+    C_TreeViewToggleCursorRowCallback       ,
+    TreeViewToggleCursorRowCallback         ,
+#if ENABLE_OVERLOADING
+    TreeViewToggleCursorRowSignalInfo       ,
+#endif
+    afterTreeViewToggleCursorRow            ,
+    genClosure_TreeViewToggleCursorRow      ,
+    mk_TreeViewToggleCursorRowCallback      ,
+    noTreeViewToggleCursorRowCallback       ,
+    onTreeViewToggleCursorRow               ,
+    wrap_TreeViewToggleCursorRowCallback    ,
+
+
+-- ** unselectAll #signal:unselectAll#
+
+    C_TreeViewUnselectAllCallback           ,
+    TreeViewUnselectAllCallback             ,
+#if ENABLE_OVERLOADING
+    TreeViewUnselectAllSignalInfo           ,
+#endif
+    afterTreeViewUnselectAll                ,
+    genClosure_TreeViewUnselectAll          ,
+    mk_TreeViewUnselectAllCallback          ,
+    noTreeViewUnselectAllCallback           ,
+    onTreeViewUnselectAll                   ,
+    wrap_TreeViewUnselectAllCallback        ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.Cairo.Structs.Surface as Cairo.Surface
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Scrollable as Gtk.Scrollable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Entry as Gtk.Entry
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Tooltip as Gtk.Tooltip
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TreeSelection as Gtk.TreeSelection
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TreeViewColumn as Gtk.TreeViewColumn
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetEntry as Gtk.TargetEntry
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- | Memory-managed wrapper type.
+newtype TreeView = TreeView (ManagedPtr TreeView)
+foreign import ccall "gtk_tree_view_get_type"
+    c_gtk_tree_view_get_type :: IO GType
+
+instance GObject TreeView where
+    gobjectType = c_gtk_tree_view_get_type
+    
+
+-- | Type class for types which can be safely cast to `TreeView`, for instance with `toTreeView`.
+class (GObject o, O.IsDescendantOf TreeView o) => IsTreeView o
+instance (GObject o, O.IsDescendantOf TreeView o) => IsTreeView o
+
+instance O.HasParentTypes TreeView
+type instance O.ParentTypes TreeView = '[Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Scrollable.Scrollable]
+
+-- | Cast to `TreeView`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTreeView :: (MonadIO m, IsTreeView o) => o -> m TreeView
+toTreeView = liftIO . unsafeCastTo TreeView
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeView`.
+noTreeView :: Maybe TreeView
+noTreeView = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeViewMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeViewMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveTreeViewMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveTreeViewMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveTreeViewMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveTreeViewMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveTreeViewMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveTreeViewMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveTreeViewMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveTreeViewMethod "appendColumn" o = TreeViewAppendColumnMethodInfo
+    ResolveTreeViewMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTreeViewMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTreeViewMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveTreeViewMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveTreeViewMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveTreeViewMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveTreeViewMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveTreeViewMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveTreeViewMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveTreeViewMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveTreeViewMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveTreeViewMethod "collapseAll" o = TreeViewCollapseAllMethodInfo
+    ResolveTreeViewMethod "collapseRow" o = TreeViewCollapseRowMethodInfo
+    ResolveTreeViewMethod "columnsAutosize" o = TreeViewColumnsAutosizeMethodInfo
+    ResolveTreeViewMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveTreeViewMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveTreeViewMethod "convertBinWindowToTreeCoords" o = TreeViewConvertBinWindowToTreeCoordsMethodInfo
+    ResolveTreeViewMethod "convertBinWindowToWidgetCoords" o = TreeViewConvertBinWindowToWidgetCoordsMethodInfo
+    ResolveTreeViewMethod "convertTreeToBinWindowCoords" o = TreeViewConvertTreeToBinWindowCoordsMethodInfo
+    ResolveTreeViewMethod "convertTreeToWidgetCoords" o = TreeViewConvertTreeToWidgetCoordsMethodInfo
+    ResolveTreeViewMethod "convertWidgetToBinWindowCoords" o = TreeViewConvertWidgetToBinWindowCoordsMethodInfo
+    ResolveTreeViewMethod "convertWidgetToTreeCoords" o = TreeViewConvertWidgetToTreeCoordsMethodInfo
+    ResolveTreeViewMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveTreeViewMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveTreeViewMethod "createRowDragIcon" o = TreeViewCreateRowDragIconMethodInfo
+    ResolveTreeViewMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveTreeViewMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveTreeViewMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveTreeViewMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveTreeViewMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveTreeViewMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveTreeViewMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveTreeViewMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveTreeViewMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveTreeViewMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveTreeViewMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveTreeViewMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveTreeViewMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveTreeViewMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveTreeViewMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveTreeViewMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveTreeViewMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveTreeViewMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveTreeViewMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveTreeViewMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveTreeViewMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveTreeViewMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveTreeViewMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveTreeViewMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveTreeViewMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveTreeViewMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveTreeViewMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveTreeViewMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveTreeViewMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveTreeViewMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveTreeViewMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveTreeViewMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveTreeViewMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveTreeViewMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveTreeViewMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveTreeViewMethod "enableModelDragDest" o = TreeViewEnableModelDragDestMethodInfo
+    ResolveTreeViewMethod "enableModelDragSource" o = TreeViewEnableModelDragSourceMethodInfo
+    ResolveTreeViewMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveTreeViewMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveTreeViewMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveTreeViewMethod "expandAll" o = TreeViewExpandAllMethodInfo
+    ResolveTreeViewMethod "expandRow" o = TreeViewExpandRowMethodInfo
+    ResolveTreeViewMethod "expandToPath" o = TreeViewExpandToPathMethodInfo
+    ResolveTreeViewMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveTreeViewMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTreeViewMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveTreeViewMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveTreeViewMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTreeViewMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTreeViewMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveTreeViewMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveTreeViewMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveTreeViewMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveTreeViewMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveTreeViewMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveTreeViewMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveTreeViewMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveTreeViewMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveTreeViewMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveTreeViewMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveTreeViewMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveTreeViewMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveTreeViewMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveTreeViewMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveTreeViewMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveTreeViewMethod "insertColumn" o = TreeViewInsertColumnMethodInfo
+    ResolveTreeViewMethod "insertColumnWithDataFunc" o = TreeViewInsertColumnWithDataFuncMethodInfo
+    ResolveTreeViewMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveTreeViewMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveTreeViewMethod "isBlankAtPos" o = TreeViewIsBlankAtPosMethodInfo
+    ResolveTreeViewMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveTreeViewMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveTreeViewMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTreeViewMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveTreeViewMethod "isRubberBandingActive" o = TreeViewIsRubberBandingActiveMethodInfo
+    ResolveTreeViewMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveTreeViewMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveTreeViewMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveTreeViewMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveTreeViewMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveTreeViewMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveTreeViewMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveTreeViewMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveTreeViewMethod "mapExpandedRows" o = TreeViewMapExpandedRowsMethodInfo
+    ResolveTreeViewMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveTreeViewMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveTreeViewMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveTreeViewMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveTreeViewMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveTreeViewMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveTreeViewMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveTreeViewMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveTreeViewMethod "moveColumnAfter" o = TreeViewMoveColumnAfterMethodInfo
+    ResolveTreeViewMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTreeViewMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTreeViewMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveTreeViewMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveTreeViewMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveTreeViewMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveTreeViewMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveTreeViewMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveTreeViewMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveTreeViewMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveTreeViewMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveTreeViewMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveTreeViewMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveTreeViewMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveTreeViewMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveTreeViewMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveTreeViewMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveTreeViewMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveTreeViewMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTreeViewMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTreeViewMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveTreeViewMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveTreeViewMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveTreeViewMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveTreeViewMethod "removeColumn" o = TreeViewRemoveColumnMethodInfo
+    ResolveTreeViewMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveTreeViewMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveTreeViewMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveTreeViewMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveTreeViewMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveTreeViewMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveTreeViewMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveTreeViewMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveTreeViewMethod "rowActivated" o = TreeViewRowActivatedMethodInfo
+    ResolveTreeViewMethod "rowExpanded" o = TreeViewRowExpandedMethodInfo
+    ResolveTreeViewMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTreeViewMethod "scrollToCell" o = TreeViewScrollToCellMethodInfo
+    ResolveTreeViewMethod "scrollToPoint" o = TreeViewScrollToPointMethodInfo
+    ResolveTreeViewMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveTreeViewMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveTreeViewMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveTreeViewMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveTreeViewMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveTreeViewMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveTreeViewMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveTreeViewMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveTreeViewMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveTreeViewMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTreeViewMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTreeViewMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveTreeViewMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveTreeViewMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveTreeViewMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTreeViewMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveTreeViewMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveTreeViewMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveTreeViewMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveTreeViewMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveTreeViewMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTreeViewMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveTreeViewMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveTreeViewMethod "unsetRowsDragDest" o = TreeViewUnsetRowsDragDestMethodInfo
+    ResolveTreeViewMethod "unsetRowsDragSource" o = TreeViewUnsetRowsDragSourceMethodInfo
+    ResolveTreeViewMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveTreeViewMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTreeViewMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveTreeViewMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveTreeViewMethod "getActivateOnSingleClick" o = TreeViewGetActivateOnSingleClickMethodInfo
+    ResolveTreeViewMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveTreeViewMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveTreeViewMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveTreeViewMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveTreeViewMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveTreeViewMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveTreeViewMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveTreeViewMethod "getBackgroundArea" o = TreeViewGetBackgroundAreaMethodInfo
+    ResolveTreeViewMethod "getBinWindow" o = TreeViewGetBinWindowMethodInfo
+    ResolveTreeViewMethod "getBorder" o = Gtk.Scrollable.ScrollableGetBorderMethodInfo
+    ResolveTreeViewMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveTreeViewMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveTreeViewMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveTreeViewMethod "getCellArea" o = TreeViewGetCellAreaMethodInfo
+    ResolveTreeViewMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveTreeViewMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveTreeViewMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveTreeViewMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveTreeViewMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveTreeViewMethod "getColumn" o = TreeViewGetColumnMethodInfo
+    ResolveTreeViewMethod "getColumns" o = TreeViewGetColumnsMethodInfo
+    ResolveTreeViewMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveTreeViewMethod "getCursor" o = TreeViewGetCursorMethodInfo
+    ResolveTreeViewMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTreeViewMethod "getDestRowAtPos" o = TreeViewGetDestRowAtPosMethodInfo
+    ResolveTreeViewMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveTreeViewMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveTreeViewMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveTreeViewMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveTreeViewMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveTreeViewMethod "getDragDestRow" o = TreeViewGetDragDestRowMethodInfo
+    ResolveTreeViewMethod "getEnableSearch" o = TreeViewGetEnableSearchMethodInfo
+    ResolveTreeViewMethod "getEnableTreeLines" o = TreeViewGetEnableTreeLinesMethodInfo
+    ResolveTreeViewMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveTreeViewMethod "getExpanderColumn" o = TreeViewGetExpanderColumnMethodInfo
+    ResolveTreeViewMethod "getFixedHeightMode" o = TreeViewGetFixedHeightModeMethodInfo
+    ResolveTreeViewMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveTreeViewMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveTreeViewMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveTreeViewMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveTreeViewMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveTreeViewMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveTreeViewMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveTreeViewMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveTreeViewMethod "getGridLines" o = TreeViewGetGridLinesMethodInfo
+    ResolveTreeViewMethod "getHadjustment" o = TreeViewGetHadjustmentMethodInfo
+    ResolveTreeViewMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveTreeViewMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveTreeViewMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveTreeViewMethod "getHeadersClickable" o = TreeViewGetHeadersClickableMethodInfo
+    ResolveTreeViewMethod "getHeadersVisible" o = TreeViewGetHeadersVisibleMethodInfo
+    ResolveTreeViewMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveTreeViewMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveTreeViewMethod "getHoverExpand" o = TreeViewGetHoverExpandMethodInfo
+    ResolveTreeViewMethod "getHoverSelection" o = TreeViewGetHoverSelectionMethodInfo
+    ResolveTreeViewMethod "getHscrollPolicy" o = Gtk.Scrollable.ScrollableGetHscrollPolicyMethodInfo
+    ResolveTreeViewMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveTreeViewMethod "getLevelIndentation" o = TreeViewGetLevelIndentationMethodInfo
+    ResolveTreeViewMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveTreeViewMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveTreeViewMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveTreeViewMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveTreeViewMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveTreeViewMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveTreeViewMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveTreeViewMethod "getModel" o = TreeViewGetModelMethodInfo
+    ResolveTreeViewMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveTreeViewMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveTreeViewMethod "getNColumns" o = TreeViewGetNColumnsMethodInfo
+    ResolveTreeViewMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveTreeViewMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveTreeViewMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveTreeViewMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveTreeViewMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveTreeViewMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveTreeViewMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveTreeViewMethod "getPathAtPos" o = TreeViewGetPathAtPosMethodInfo
+    ResolveTreeViewMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveTreeViewMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveTreeViewMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveTreeViewMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveTreeViewMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveTreeViewMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveTreeViewMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveTreeViewMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveTreeViewMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTreeViewMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTreeViewMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveTreeViewMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveTreeViewMethod "getReorderable" o = TreeViewGetReorderableMethodInfo
+    ResolveTreeViewMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveTreeViewMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveTreeViewMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveTreeViewMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveTreeViewMethod "getRubberBanding" o = TreeViewGetRubberBandingMethodInfo
+    ResolveTreeViewMethod "getRulesHint" o = TreeViewGetRulesHintMethodInfo
+    ResolveTreeViewMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveTreeViewMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveTreeViewMethod "getSearchColumn" o = TreeViewGetSearchColumnMethodInfo
+    ResolveTreeViewMethod "getSearchEntry" o = TreeViewGetSearchEntryMethodInfo
+    ResolveTreeViewMethod "getSelection" o = TreeViewGetSelectionMethodInfo
+    ResolveTreeViewMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveTreeViewMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveTreeViewMethod "getShowExpanders" o = TreeViewGetShowExpandersMethodInfo
+    ResolveTreeViewMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveTreeViewMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveTreeViewMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveTreeViewMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveTreeViewMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveTreeViewMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveTreeViewMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveTreeViewMethod "getTooltipColumn" o = TreeViewGetTooltipColumnMethodInfo
+    ResolveTreeViewMethod "getTooltipContext" o = TreeViewGetTooltipContextMethodInfo
+    ResolveTreeViewMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveTreeViewMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveTreeViewMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveTreeViewMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveTreeViewMethod "getVadjustment" o = TreeViewGetVadjustmentMethodInfo
+    ResolveTreeViewMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveTreeViewMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveTreeViewMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveTreeViewMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveTreeViewMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveTreeViewMethod "getVisibleRange" o = TreeViewGetVisibleRangeMethodInfo
+    ResolveTreeViewMethod "getVisibleRect" o = TreeViewGetVisibleRectMethodInfo
+    ResolveTreeViewMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveTreeViewMethod "getVscrollPolicy" o = Gtk.Scrollable.ScrollableGetVscrollPolicyMethodInfo
+    ResolveTreeViewMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveTreeViewMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveTreeViewMethod "setActivateOnSingleClick" o = TreeViewSetActivateOnSingleClickMethodInfo
+    ResolveTreeViewMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveTreeViewMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveTreeViewMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveTreeViewMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveTreeViewMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveTreeViewMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveTreeViewMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveTreeViewMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveTreeViewMethod "setColumnDragFunction" o = TreeViewSetColumnDragFunctionMethodInfo
+    ResolveTreeViewMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveTreeViewMethod "setCursor" o = TreeViewSetCursorMethodInfo
+    ResolveTreeViewMethod "setCursorOnCell" o = TreeViewSetCursorOnCellMethodInfo
+    ResolveTreeViewMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTreeViewMethod "setDestroyCountFunc" o = TreeViewSetDestroyCountFuncMethodInfo
+    ResolveTreeViewMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveTreeViewMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveTreeViewMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveTreeViewMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveTreeViewMethod "setDragDestRow" o = TreeViewSetDragDestRowMethodInfo
+    ResolveTreeViewMethod "setEnableSearch" o = TreeViewSetEnableSearchMethodInfo
+    ResolveTreeViewMethod "setEnableTreeLines" o = TreeViewSetEnableTreeLinesMethodInfo
+    ResolveTreeViewMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveTreeViewMethod "setExpanderColumn" o = TreeViewSetExpanderColumnMethodInfo
+    ResolveTreeViewMethod "setFixedHeightMode" o = TreeViewSetFixedHeightModeMethodInfo
+    ResolveTreeViewMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveTreeViewMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveTreeViewMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveTreeViewMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveTreeViewMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveTreeViewMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveTreeViewMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveTreeViewMethod "setGridLines" o = TreeViewSetGridLinesMethodInfo
+    ResolveTreeViewMethod "setHadjustment" o = TreeViewSetHadjustmentMethodInfo
+    ResolveTreeViewMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveTreeViewMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveTreeViewMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveTreeViewMethod "setHeadersClickable" o = TreeViewSetHeadersClickableMethodInfo
+    ResolveTreeViewMethod "setHeadersVisible" o = TreeViewSetHeadersVisibleMethodInfo
+    ResolveTreeViewMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveTreeViewMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveTreeViewMethod "setHoverExpand" o = TreeViewSetHoverExpandMethodInfo
+    ResolveTreeViewMethod "setHoverSelection" o = TreeViewSetHoverSelectionMethodInfo
+    ResolveTreeViewMethod "setHscrollPolicy" o = Gtk.Scrollable.ScrollableSetHscrollPolicyMethodInfo
+    ResolveTreeViewMethod "setLevelIndentation" o = TreeViewSetLevelIndentationMethodInfo
+    ResolveTreeViewMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveTreeViewMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveTreeViewMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveTreeViewMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveTreeViewMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveTreeViewMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveTreeViewMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveTreeViewMethod "setModel" o = TreeViewSetModelMethodInfo
+    ResolveTreeViewMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveTreeViewMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveTreeViewMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveTreeViewMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveTreeViewMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveTreeViewMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTreeViewMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveTreeViewMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveTreeViewMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveTreeViewMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveTreeViewMethod "setReorderable" o = TreeViewSetReorderableMethodInfo
+    ResolveTreeViewMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveTreeViewMethod "setRowSeparatorFunc" o = TreeViewSetRowSeparatorFuncMethodInfo
+    ResolveTreeViewMethod "setRubberBanding" o = TreeViewSetRubberBandingMethodInfo
+    ResolveTreeViewMethod "setRulesHint" o = TreeViewSetRulesHintMethodInfo
+    ResolveTreeViewMethod "setSearchColumn" o = TreeViewSetSearchColumnMethodInfo
+    ResolveTreeViewMethod "setSearchEntry" o = TreeViewSetSearchEntryMethodInfo
+    ResolveTreeViewMethod "setSearchEqualFunc" o = TreeViewSetSearchEqualFuncMethodInfo
+    ResolveTreeViewMethod "setSearchPositionFunc" o = TreeViewSetSearchPositionFuncMethodInfo
+    ResolveTreeViewMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveTreeViewMethod "setShowExpanders" o = TreeViewSetShowExpandersMethodInfo
+    ResolveTreeViewMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveTreeViewMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveTreeViewMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveTreeViewMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveTreeViewMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveTreeViewMethod "setTooltipCell" o = TreeViewSetTooltipCellMethodInfo
+    ResolveTreeViewMethod "setTooltipColumn" o = TreeViewSetTooltipColumnMethodInfo
+    ResolveTreeViewMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveTreeViewMethod "setTooltipRow" o = TreeViewSetTooltipRowMethodInfo
+    ResolveTreeViewMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveTreeViewMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveTreeViewMethod "setVadjustment" o = TreeViewSetVadjustmentMethodInfo
+    ResolveTreeViewMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveTreeViewMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveTreeViewMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveTreeViewMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveTreeViewMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveTreeViewMethod "setVscrollPolicy" o = Gtk.Scrollable.ScrollableSetVscrollPolicyMethodInfo
+    ResolveTreeViewMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveTreeViewMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeViewMethod t TreeView, O.MethodInfo info TreeView p) => OL.IsLabel t (TreeView -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal TreeView::columns-changed
+{- |
+The number of columns of the treeview has changed.
+-}
+type TreeViewColumnsChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewColumnsChangedCallback`@.
+noTreeViewColumnsChangedCallback :: Maybe TreeViewColumnsChangedCallback
+noTreeViewColumnsChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewColumnsChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewColumnsChangedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewColumnsChangedCallback :: C_TreeViewColumnsChangedCallback -> IO (FunPtr C_TreeViewColumnsChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewColumnsChanged :: MonadIO m => TreeViewColumnsChangedCallback -> m (GClosure C_TreeViewColumnsChangedCallback)
+genClosure_TreeViewColumnsChanged cb = liftIO $ do
+    let cb' = wrap_TreeViewColumnsChangedCallback cb
+    mk_TreeViewColumnsChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewColumnsChangedCallback` into a `C_TreeViewColumnsChangedCallback`.
+wrap_TreeViewColumnsChangedCallback ::
+    TreeViewColumnsChangedCallback ->
+    C_TreeViewColumnsChangedCallback
+wrap_TreeViewColumnsChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@columns-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #columnsChanged callback
+@
+-}
+onTreeViewColumnsChanged :: (IsTreeView a, MonadIO m) => a -> TreeViewColumnsChangedCallback -> m SignalHandlerId
+onTreeViewColumnsChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeViewColumnsChangedCallback cb
+    cb'' <- mk_TreeViewColumnsChangedCallback cb'
+    connectSignalFunPtr obj "columns-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@columns-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #columnsChanged callback
+@
+-}
+afterTreeViewColumnsChanged :: (IsTreeView a, MonadIO m) => a -> TreeViewColumnsChangedCallback -> m SignalHandlerId
+afterTreeViewColumnsChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeViewColumnsChangedCallback cb
+    cb'' <- mk_TreeViewColumnsChangedCallback cb'
+    connectSignalFunPtr obj "columns-changed" cb'' SignalConnectAfter
+
+
+-- signal TreeView::cursor-changed
+{- |
+The position of the cursor (focused cell) has changed.
+-}
+type TreeViewCursorChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewCursorChangedCallback`@.
+noTreeViewCursorChangedCallback :: Maybe TreeViewCursorChangedCallback
+noTreeViewCursorChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewCursorChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewCursorChangedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewCursorChangedCallback :: C_TreeViewCursorChangedCallback -> IO (FunPtr C_TreeViewCursorChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewCursorChanged :: MonadIO m => TreeViewCursorChangedCallback -> m (GClosure C_TreeViewCursorChangedCallback)
+genClosure_TreeViewCursorChanged cb = liftIO $ do
+    let cb' = wrap_TreeViewCursorChangedCallback cb
+    mk_TreeViewCursorChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewCursorChangedCallback` into a `C_TreeViewCursorChangedCallback`.
+wrap_TreeViewCursorChangedCallback ::
+    TreeViewCursorChangedCallback ->
+    C_TreeViewCursorChangedCallback
+wrap_TreeViewCursorChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@cursor-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #cursorChanged callback
+@
+-}
+onTreeViewCursorChanged :: (IsTreeView a, MonadIO m) => a -> TreeViewCursorChangedCallback -> m SignalHandlerId
+onTreeViewCursorChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeViewCursorChangedCallback cb
+    cb'' <- mk_TreeViewCursorChangedCallback cb'
+    connectSignalFunPtr obj "cursor-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@cursor-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #cursorChanged callback
+@
+-}
+afterTreeViewCursorChanged :: (IsTreeView a, MonadIO m) => a -> TreeViewCursorChangedCallback -> m SignalHandlerId
+afterTreeViewCursorChanged obj cb = liftIO $ do
+    let cb' = wrap_TreeViewCursorChangedCallback cb
+    cb'' <- mk_TreeViewCursorChangedCallback cb'
+    connectSignalFunPtr obj "cursor-changed" cb'' SignalConnectAfter
+
+
+-- signal TreeView::expand-collapse-cursor-row
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewExpandCollapseCursorRowCallback =
+    Bool
+    -> Bool
+    -> Bool
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewExpandCollapseCursorRowCallback`@.
+noTreeViewExpandCollapseCursorRowCallback :: Maybe TreeViewExpandCollapseCursorRowCallback
+noTreeViewExpandCollapseCursorRowCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewExpandCollapseCursorRowCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    CInt ->
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewExpandCollapseCursorRowCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewExpandCollapseCursorRowCallback :: C_TreeViewExpandCollapseCursorRowCallback -> IO (FunPtr C_TreeViewExpandCollapseCursorRowCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewExpandCollapseCursorRow :: MonadIO m => TreeViewExpandCollapseCursorRowCallback -> m (GClosure C_TreeViewExpandCollapseCursorRowCallback)
+genClosure_TreeViewExpandCollapseCursorRow cb = liftIO $ do
+    let cb' = wrap_TreeViewExpandCollapseCursorRowCallback cb
+    mk_TreeViewExpandCollapseCursorRowCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewExpandCollapseCursorRowCallback` into a `C_TreeViewExpandCollapseCursorRowCallback`.
+wrap_TreeViewExpandCollapseCursorRowCallback ::
+    TreeViewExpandCollapseCursorRowCallback ->
+    C_TreeViewExpandCollapseCursorRowCallback
+wrap_TreeViewExpandCollapseCursorRowCallback _cb _ object p0 p1 _ = do
+    let object' = (/= 0) object
+    let p0' = (/= 0) p0
+    let p1' = (/= 0) p1
+    result <- _cb  object' p0' p1'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@expand-collapse-cursor-row@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #expandCollapseCursorRow callback
+@
+-}
+onTreeViewExpandCollapseCursorRow :: (IsTreeView a, MonadIO m) => a -> TreeViewExpandCollapseCursorRowCallback -> m SignalHandlerId
+onTreeViewExpandCollapseCursorRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewExpandCollapseCursorRowCallback cb
+    cb'' <- mk_TreeViewExpandCollapseCursorRowCallback cb'
+    connectSignalFunPtr obj "expand-collapse-cursor-row" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@expand-collapse-cursor-row@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #expandCollapseCursorRow callback
+@
+-}
+afterTreeViewExpandCollapseCursorRow :: (IsTreeView a, MonadIO m) => a -> TreeViewExpandCollapseCursorRowCallback -> m SignalHandlerId
+afterTreeViewExpandCollapseCursorRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewExpandCollapseCursorRowCallback cb
+    cb'' <- mk_TreeViewExpandCollapseCursorRowCallback cb'
+    connectSignalFunPtr obj "expand-collapse-cursor-row" cb'' SignalConnectAfter
+
+
+-- signal TreeView::move-cursor
+{- |
+The 'GI.Gtk.Objects.TreeView.TreeView'::@/move-cursor/@ signal is a [keybinding
+signal][GtkBindingSignal] which gets emitted when the user
+presses one of the cursor keys.
+
+Applications should not connect to it, but may emit it with
+@/g_signal_emit_by_name()/@ if they need to control the cursor
+programmatically. In contrast to 'GI.Gtk.Objects.TreeView.treeViewSetCursor' and
+'GI.Gtk.Objects.TreeView.treeViewSetCursorOnCell' when moving horizontally
+'GI.Gtk.Objects.TreeView.TreeView'::@/move-cursor/@ does not reset the current selection.
+-}
+type TreeViewMoveCursorCallback =
+    Gtk.Enums.MovementStep
+    {- ^ /@step@/: the granularity of the move, as a
+'GI.Gtk.Enums.MovementStep'. 'GI.Gtk.Enums.MovementStepLogicalPositions',
+'GI.Gtk.Enums.MovementStepVisualPositions', 'GI.Gtk.Enums.MovementStepDisplayLines',
+'GI.Gtk.Enums.MovementStepPages' and 'GI.Gtk.Enums.MovementStepBufferEnds' are
+supported. 'GI.Gtk.Enums.MovementStepLogicalPositions' and
+'GI.Gtk.Enums.MovementStepVisualPositions' are treated identically. -}
+    -> Int32
+    {- ^ /@direction@/: the direction to move: +1 to move forwards;
+-1 to move backwards. The resulting movement is
+undefined for all other values. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if /@step@/ is supported, 'False' otherwise. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewMoveCursorCallback`@.
+noTreeViewMoveCursorCallback :: Maybe TreeViewMoveCursorCallback
+noTreeViewMoveCursorCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewMoveCursorCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewMoveCursorCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewMoveCursorCallback :: C_TreeViewMoveCursorCallback -> IO (FunPtr C_TreeViewMoveCursorCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewMoveCursor :: MonadIO m => TreeViewMoveCursorCallback -> m (GClosure C_TreeViewMoveCursorCallback)
+genClosure_TreeViewMoveCursor cb = liftIO $ do
+    let cb' = wrap_TreeViewMoveCursorCallback cb
+    mk_TreeViewMoveCursorCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewMoveCursorCallback` into a `C_TreeViewMoveCursorCallback`.
+wrap_TreeViewMoveCursorCallback ::
+    TreeViewMoveCursorCallback ->
+    C_TreeViewMoveCursorCallback
+wrap_TreeViewMoveCursorCallback _cb _ step direction _ = do
+    let step' = (toEnum . fromIntegral) step
+    result <- _cb  step' direction
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #moveCursor callback
+@
+-}
+onTreeViewMoveCursor :: (IsTreeView a, MonadIO m) => a -> TreeViewMoveCursorCallback -> m SignalHandlerId
+onTreeViewMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_TreeViewMoveCursorCallback cb
+    cb'' <- mk_TreeViewMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-cursor@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #moveCursor callback
+@
+-}
+afterTreeViewMoveCursor :: (IsTreeView a, MonadIO m) => a -> TreeViewMoveCursorCallback -> m SignalHandlerId
+afterTreeViewMoveCursor obj cb = liftIO $ do
+    let cb' = wrap_TreeViewMoveCursorCallback cb
+    cb'' <- mk_TreeViewMoveCursorCallback cb'
+    connectSignalFunPtr obj "move-cursor" cb'' SignalConnectAfter
+
+
+-- signal TreeView::row-activated
+{- |
+The \"row-activated\" signal is emitted when the method
+'GI.Gtk.Objects.TreeView.treeViewRowActivated' is called, when the user double
+clicks a treeview row with the \"activate-on-single-click\"
+property set to 'False', or when the user single clicks a row when
+the \"activate-on-single-click\" property set to 'True'. It is also
+emitted when a non-editable row is selected and one of the keys:
+Space, Shift+Space, Return or Enter is pressed.
+
+For selection handling refer to the
+[tree widget conceptual overview][TreeWidget]
+as well as 'GI.Gtk.Objects.TreeSelection.TreeSelection'.
+-}
+type TreeViewRowActivatedCallback =
+    Gtk.TreePath.TreePath
+    {- ^ /@path@/: the 'GI.Gtk.Structs.TreePath.TreePath' for the activated row -}
+    -> Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ /@column@/: the 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' in which the activation occurred -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewRowActivatedCallback`@.
+noTreeViewRowActivatedCallback :: Maybe TreeViewRowActivatedCallback
+noTreeViewRowActivatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewRowActivatedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr Gtk.TreeViewColumn.TreeViewColumn ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewRowActivatedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewRowActivatedCallback :: C_TreeViewRowActivatedCallback -> IO (FunPtr C_TreeViewRowActivatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewRowActivated :: MonadIO m => TreeViewRowActivatedCallback -> m (GClosure C_TreeViewRowActivatedCallback)
+genClosure_TreeViewRowActivated cb = liftIO $ do
+    let cb' = wrap_TreeViewRowActivatedCallback cb
+    mk_TreeViewRowActivatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewRowActivatedCallback` into a `C_TreeViewRowActivatedCallback`.
+wrap_TreeViewRowActivatedCallback ::
+    TreeViewRowActivatedCallback ->
+    C_TreeViewRowActivatedCallback
+wrap_TreeViewRowActivatedCallback _cb _ path column _ = do
+    B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+        column' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) column
+        _cb  path' column'
+
+
+{- |
+Connect a signal handler for the “@row-activated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #rowActivated callback
+@
+-}
+onTreeViewRowActivated :: (IsTreeView a, MonadIO m) => a -> TreeViewRowActivatedCallback -> m SignalHandlerId
+onTreeViewRowActivated obj cb = liftIO $ do
+    let cb' = wrap_TreeViewRowActivatedCallback cb
+    cb'' <- mk_TreeViewRowActivatedCallback cb'
+    connectSignalFunPtr obj "row-activated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@row-activated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #rowActivated callback
+@
+-}
+afterTreeViewRowActivated :: (IsTreeView a, MonadIO m) => a -> TreeViewRowActivatedCallback -> m SignalHandlerId
+afterTreeViewRowActivated obj cb = liftIO $ do
+    let cb' = wrap_TreeViewRowActivatedCallback cb
+    cb'' <- mk_TreeViewRowActivatedCallback cb'
+    connectSignalFunPtr obj "row-activated" cb'' SignalConnectAfter
+
+
+-- signal TreeView::row-collapsed
+{- |
+The given row has been collapsed (child nodes are hidden).
+-}
+type TreeViewRowCollapsedCallback =
+    Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the tree iter of the collapsed row -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a tree path that points to the row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewRowCollapsedCallback`@.
+noTreeViewRowCollapsedCallback :: Maybe TreeViewRowCollapsedCallback
+noTreeViewRowCollapsedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewRowCollapsedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewRowCollapsedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewRowCollapsedCallback :: C_TreeViewRowCollapsedCallback -> IO (FunPtr C_TreeViewRowCollapsedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewRowCollapsed :: MonadIO m => TreeViewRowCollapsedCallback -> m (GClosure C_TreeViewRowCollapsedCallback)
+genClosure_TreeViewRowCollapsed cb = liftIO $ do
+    let cb' = wrap_TreeViewRowCollapsedCallback cb
+    mk_TreeViewRowCollapsedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewRowCollapsedCallback` into a `C_TreeViewRowCollapsedCallback`.
+wrap_TreeViewRowCollapsedCallback ::
+    TreeViewRowCollapsedCallback ->
+    C_TreeViewRowCollapsedCallback
+wrap_TreeViewRowCollapsedCallback _cb _ iter path _ = do
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+            _cb  iter' path'
+
+
+{- |
+Connect a signal handler for the “@row-collapsed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #rowCollapsed callback
+@
+-}
+onTreeViewRowCollapsed :: (IsTreeView a, MonadIO m) => a -> TreeViewRowCollapsedCallback -> m SignalHandlerId
+onTreeViewRowCollapsed obj cb = liftIO $ do
+    let cb' = wrap_TreeViewRowCollapsedCallback cb
+    cb'' <- mk_TreeViewRowCollapsedCallback cb'
+    connectSignalFunPtr obj "row-collapsed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@row-collapsed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #rowCollapsed callback
+@
+-}
+afterTreeViewRowCollapsed :: (IsTreeView a, MonadIO m) => a -> TreeViewRowCollapsedCallback -> m SignalHandlerId
+afterTreeViewRowCollapsed obj cb = liftIO $ do
+    let cb' = wrap_TreeViewRowCollapsedCallback cb
+    cb'' <- mk_TreeViewRowCollapsedCallback cb'
+    connectSignalFunPtr obj "row-collapsed" cb'' SignalConnectAfter
+
+
+-- signal TreeView::row-expanded
+{- |
+The given row has been expanded (child nodes are shown).
+-}
+type TreeViewRowExpandedCallback =
+    Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the tree iter of the expanded row -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a tree path that points to the row -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewRowExpandedCallback`@.
+noTreeViewRowExpandedCallback :: Maybe TreeViewRowExpandedCallback
+noTreeViewRowExpandedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewRowExpandedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewRowExpandedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewRowExpandedCallback :: C_TreeViewRowExpandedCallback -> IO (FunPtr C_TreeViewRowExpandedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewRowExpanded :: MonadIO m => TreeViewRowExpandedCallback -> m (GClosure C_TreeViewRowExpandedCallback)
+genClosure_TreeViewRowExpanded cb = liftIO $ do
+    let cb' = wrap_TreeViewRowExpandedCallback cb
+    mk_TreeViewRowExpandedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewRowExpandedCallback` into a `C_TreeViewRowExpandedCallback`.
+wrap_TreeViewRowExpandedCallback ::
+    TreeViewRowExpandedCallback ->
+    C_TreeViewRowExpandedCallback
+wrap_TreeViewRowExpandedCallback _cb _ iter path _ = do
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+            _cb  iter' path'
+
+
+{- |
+Connect a signal handler for the “@row-expanded@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #rowExpanded callback
+@
+-}
+onTreeViewRowExpanded :: (IsTreeView a, MonadIO m) => a -> TreeViewRowExpandedCallback -> m SignalHandlerId
+onTreeViewRowExpanded obj cb = liftIO $ do
+    let cb' = wrap_TreeViewRowExpandedCallback cb
+    cb'' <- mk_TreeViewRowExpandedCallback cb'
+    connectSignalFunPtr obj "row-expanded" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@row-expanded@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #rowExpanded callback
+@
+-}
+afterTreeViewRowExpanded :: (IsTreeView a, MonadIO m) => a -> TreeViewRowExpandedCallback -> m SignalHandlerId
+afterTreeViewRowExpanded obj cb = liftIO $ do
+    let cb' = wrap_TreeViewRowExpandedCallback cb
+    cb'' <- mk_TreeViewRowExpandedCallback cb'
+    connectSignalFunPtr obj "row-expanded" cb'' SignalConnectAfter
+
+
+-- signal TreeView::select-all
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewSelectAllCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewSelectAllCallback`@.
+noTreeViewSelectAllCallback :: Maybe TreeViewSelectAllCallback
+noTreeViewSelectAllCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewSelectAllCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewSelectAllCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewSelectAllCallback :: C_TreeViewSelectAllCallback -> IO (FunPtr C_TreeViewSelectAllCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewSelectAll :: MonadIO m => TreeViewSelectAllCallback -> m (GClosure C_TreeViewSelectAllCallback)
+genClosure_TreeViewSelectAll cb = liftIO $ do
+    let cb' = wrap_TreeViewSelectAllCallback cb
+    mk_TreeViewSelectAllCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewSelectAllCallback` into a `C_TreeViewSelectAllCallback`.
+wrap_TreeViewSelectAllCallback ::
+    TreeViewSelectAllCallback ->
+    C_TreeViewSelectAllCallback
+wrap_TreeViewSelectAllCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #selectAll callback
+@
+-}
+onTreeViewSelectAll :: (IsTreeView a, MonadIO m) => a -> TreeViewSelectAllCallback -> m SignalHandlerId
+onTreeViewSelectAll obj cb = liftIO $ do
+    let cb' = wrap_TreeViewSelectAllCallback cb
+    cb'' <- mk_TreeViewSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select-all@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #selectAll callback
+@
+-}
+afterTreeViewSelectAll :: (IsTreeView a, MonadIO m) => a -> TreeViewSelectAllCallback -> m SignalHandlerId
+afterTreeViewSelectAll obj cb = liftIO $ do
+    let cb' = wrap_TreeViewSelectAllCallback cb
+    cb'' <- mk_TreeViewSelectAllCallback cb'
+    connectSignalFunPtr obj "select-all" cb'' SignalConnectAfter
+
+
+-- signal TreeView::select-cursor-parent
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewSelectCursorParentCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewSelectCursorParentCallback`@.
+noTreeViewSelectCursorParentCallback :: Maybe TreeViewSelectCursorParentCallback
+noTreeViewSelectCursorParentCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewSelectCursorParentCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewSelectCursorParentCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewSelectCursorParentCallback :: C_TreeViewSelectCursorParentCallback -> IO (FunPtr C_TreeViewSelectCursorParentCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewSelectCursorParent :: MonadIO m => TreeViewSelectCursorParentCallback -> m (GClosure C_TreeViewSelectCursorParentCallback)
+genClosure_TreeViewSelectCursorParent cb = liftIO $ do
+    let cb' = wrap_TreeViewSelectCursorParentCallback cb
+    mk_TreeViewSelectCursorParentCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewSelectCursorParentCallback` into a `C_TreeViewSelectCursorParentCallback`.
+wrap_TreeViewSelectCursorParentCallback ::
+    TreeViewSelectCursorParentCallback ->
+    C_TreeViewSelectCursorParentCallback
+wrap_TreeViewSelectCursorParentCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@select-cursor-parent@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #selectCursorParent callback
+@
+-}
+onTreeViewSelectCursorParent :: (IsTreeView a, MonadIO m) => a -> TreeViewSelectCursorParentCallback -> m SignalHandlerId
+onTreeViewSelectCursorParent obj cb = liftIO $ do
+    let cb' = wrap_TreeViewSelectCursorParentCallback cb
+    cb'' <- mk_TreeViewSelectCursorParentCallback cb'
+    connectSignalFunPtr obj "select-cursor-parent" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select-cursor-parent@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #selectCursorParent callback
+@
+-}
+afterTreeViewSelectCursorParent :: (IsTreeView a, MonadIO m) => a -> TreeViewSelectCursorParentCallback -> m SignalHandlerId
+afterTreeViewSelectCursorParent obj cb = liftIO $ do
+    let cb' = wrap_TreeViewSelectCursorParentCallback cb
+    cb'' <- mk_TreeViewSelectCursorParentCallback cb'
+    connectSignalFunPtr obj "select-cursor-parent" cb'' SignalConnectAfter
+
+
+-- signal TreeView::select-cursor-row
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewSelectCursorRowCallback =
+    Bool
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewSelectCursorRowCallback`@.
+noTreeViewSelectCursorRowCallback :: Maybe TreeViewSelectCursorRowCallback
+noTreeViewSelectCursorRowCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewSelectCursorRowCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewSelectCursorRowCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewSelectCursorRowCallback :: C_TreeViewSelectCursorRowCallback -> IO (FunPtr C_TreeViewSelectCursorRowCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewSelectCursorRow :: MonadIO m => TreeViewSelectCursorRowCallback -> m (GClosure C_TreeViewSelectCursorRowCallback)
+genClosure_TreeViewSelectCursorRow cb = liftIO $ do
+    let cb' = wrap_TreeViewSelectCursorRowCallback cb
+    mk_TreeViewSelectCursorRowCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewSelectCursorRowCallback` into a `C_TreeViewSelectCursorRowCallback`.
+wrap_TreeViewSelectCursorRowCallback ::
+    TreeViewSelectCursorRowCallback ->
+    C_TreeViewSelectCursorRowCallback
+wrap_TreeViewSelectCursorRowCallback _cb _ object _ = do
+    let object' = (/= 0) object
+    result <- _cb  object'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@select-cursor-row@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #selectCursorRow callback
+@
+-}
+onTreeViewSelectCursorRow :: (IsTreeView a, MonadIO m) => a -> TreeViewSelectCursorRowCallback -> m SignalHandlerId
+onTreeViewSelectCursorRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewSelectCursorRowCallback cb
+    cb'' <- mk_TreeViewSelectCursorRowCallback cb'
+    connectSignalFunPtr obj "select-cursor-row" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@select-cursor-row@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #selectCursorRow callback
+@
+-}
+afterTreeViewSelectCursorRow :: (IsTreeView a, MonadIO m) => a -> TreeViewSelectCursorRowCallback -> m SignalHandlerId
+afterTreeViewSelectCursorRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewSelectCursorRowCallback cb
+    cb'' <- mk_TreeViewSelectCursorRowCallback cb'
+    connectSignalFunPtr obj "select-cursor-row" cb'' SignalConnectAfter
+
+
+-- signal TreeView::start-interactive-search
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewStartInteractiveSearchCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewStartInteractiveSearchCallback`@.
+noTreeViewStartInteractiveSearchCallback :: Maybe TreeViewStartInteractiveSearchCallback
+noTreeViewStartInteractiveSearchCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewStartInteractiveSearchCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewStartInteractiveSearchCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewStartInteractiveSearchCallback :: C_TreeViewStartInteractiveSearchCallback -> IO (FunPtr C_TreeViewStartInteractiveSearchCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewStartInteractiveSearch :: MonadIO m => TreeViewStartInteractiveSearchCallback -> m (GClosure C_TreeViewStartInteractiveSearchCallback)
+genClosure_TreeViewStartInteractiveSearch cb = liftIO $ do
+    let cb' = wrap_TreeViewStartInteractiveSearchCallback cb
+    mk_TreeViewStartInteractiveSearchCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewStartInteractiveSearchCallback` into a `C_TreeViewStartInteractiveSearchCallback`.
+wrap_TreeViewStartInteractiveSearchCallback ::
+    TreeViewStartInteractiveSearchCallback ->
+    C_TreeViewStartInteractiveSearchCallback
+wrap_TreeViewStartInteractiveSearchCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@start-interactive-search@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #startInteractiveSearch callback
+@
+-}
+onTreeViewStartInteractiveSearch :: (IsTreeView a, MonadIO m) => a -> TreeViewStartInteractiveSearchCallback -> m SignalHandlerId
+onTreeViewStartInteractiveSearch obj cb = liftIO $ do
+    let cb' = wrap_TreeViewStartInteractiveSearchCallback cb
+    cb'' <- mk_TreeViewStartInteractiveSearchCallback cb'
+    connectSignalFunPtr obj "start-interactive-search" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@start-interactive-search@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #startInteractiveSearch callback
+@
+-}
+afterTreeViewStartInteractiveSearch :: (IsTreeView a, MonadIO m) => a -> TreeViewStartInteractiveSearchCallback -> m SignalHandlerId
+afterTreeViewStartInteractiveSearch obj cb = liftIO $ do
+    let cb' = wrap_TreeViewStartInteractiveSearchCallback cb
+    cb'' <- mk_TreeViewStartInteractiveSearchCallback cb'
+    connectSignalFunPtr obj "start-interactive-search" cb'' SignalConnectAfter
+
+
+-- signal TreeView::test-collapse-row
+{- |
+The given row is about to be collapsed (hide its children nodes). Use this
+signal if you need to control the collapsibility of individual rows.
+-}
+type TreeViewTestCollapseRowCallback =
+    Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the tree iter of the row to collapse -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a tree path that points to the row -}
+    -> IO Bool
+    {- ^ __Returns:__ 'False' to allow collapsing, 'True' to reject -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewTestCollapseRowCallback`@.
+noTreeViewTestCollapseRowCallback :: Maybe TreeViewTestCollapseRowCallback
+noTreeViewTestCollapseRowCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewTestCollapseRowCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewTestCollapseRowCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewTestCollapseRowCallback :: C_TreeViewTestCollapseRowCallback -> IO (FunPtr C_TreeViewTestCollapseRowCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewTestCollapseRow :: MonadIO m => TreeViewTestCollapseRowCallback -> m (GClosure C_TreeViewTestCollapseRowCallback)
+genClosure_TreeViewTestCollapseRow cb = liftIO $ do
+    let cb' = wrap_TreeViewTestCollapseRowCallback cb
+    mk_TreeViewTestCollapseRowCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewTestCollapseRowCallback` into a `C_TreeViewTestCollapseRowCallback`.
+wrap_TreeViewTestCollapseRowCallback ::
+    TreeViewTestCollapseRowCallback ->
+    C_TreeViewTestCollapseRowCallback
+wrap_TreeViewTestCollapseRowCallback _cb _ iter path _ = do
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+            result <- _cb  iter' path'
+            let result' = (fromIntegral . fromEnum) result
+            return result'
+
+
+{- |
+Connect a signal handler for the “@test-collapse-row@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #testCollapseRow callback
+@
+-}
+onTreeViewTestCollapseRow :: (IsTreeView a, MonadIO m) => a -> TreeViewTestCollapseRowCallback -> m SignalHandlerId
+onTreeViewTestCollapseRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewTestCollapseRowCallback cb
+    cb'' <- mk_TreeViewTestCollapseRowCallback cb'
+    connectSignalFunPtr obj "test-collapse-row" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@test-collapse-row@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #testCollapseRow callback
+@
+-}
+afterTreeViewTestCollapseRow :: (IsTreeView a, MonadIO m) => a -> TreeViewTestCollapseRowCallback -> m SignalHandlerId
+afterTreeViewTestCollapseRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewTestCollapseRowCallback cb
+    cb'' <- mk_TreeViewTestCollapseRowCallback cb'
+    connectSignalFunPtr obj "test-collapse-row" cb'' SignalConnectAfter
+
+
+-- signal TreeView::test-expand-row
+{- |
+The given row is about to be expanded (show its children nodes). Use this
+signal if you need to control the expandability of individual rows.
+-}
+type TreeViewTestExpandRowCallback =
+    Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: the tree iter of the row to expand -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a tree path that points to the row -}
+    -> IO Bool
+    {- ^ __Returns:__ 'False' to allow expansion, 'True' to reject -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewTestExpandRowCallback`@.
+noTreeViewTestExpandRowCallback :: Maybe TreeViewTestExpandRowCallback
+noTreeViewTestExpandRowCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewTestExpandRowCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.TreeIter.TreeIter ->
+    Ptr Gtk.TreePath.TreePath ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewTestExpandRowCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewTestExpandRowCallback :: C_TreeViewTestExpandRowCallback -> IO (FunPtr C_TreeViewTestExpandRowCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewTestExpandRow :: MonadIO m => TreeViewTestExpandRowCallback -> m (GClosure C_TreeViewTestExpandRowCallback)
+genClosure_TreeViewTestExpandRow cb = liftIO $ do
+    let cb' = wrap_TreeViewTestExpandRowCallback cb
+    mk_TreeViewTestExpandRowCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewTestExpandRowCallback` into a `C_TreeViewTestExpandRowCallback`.
+wrap_TreeViewTestExpandRowCallback ::
+    TreeViewTestExpandRowCallback ->
+    C_TreeViewTestExpandRowCallback
+wrap_TreeViewTestExpandRowCallback _cb _ iter path _ = do
+    B.ManagedPtr.withTransient Gtk.TreeIter.TreeIter iter $ \iter' -> do
+        B.ManagedPtr.withTransient Gtk.TreePath.TreePath path $ \path' -> do
+            result <- _cb  iter' path'
+            let result' = (fromIntegral . fromEnum) result
+            return result'
+
+
+{- |
+Connect a signal handler for the “@test-expand-row@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #testExpandRow callback
+@
+-}
+onTreeViewTestExpandRow :: (IsTreeView a, MonadIO m) => a -> TreeViewTestExpandRowCallback -> m SignalHandlerId
+onTreeViewTestExpandRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewTestExpandRowCallback cb
+    cb'' <- mk_TreeViewTestExpandRowCallback cb'
+    connectSignalFunPtr obj "test-expand-row" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@test-expand-row@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #testExpandRow callback
+@
+-}
+afterTreeViewTestExpandRow :: (IsTreeView a, MonadIO m) => a -> TreeViewTestExpandRowCallback -> m SignalHandlerId
+afterTreeViewTestExpandRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewTestExpandRowCallback cb
+    cb'' <- mk_TreeViewTestExpandRowCallback cb'
+    connectSignalFunPtr obj "test-expand-row" cb'' SignalConnectAfter
+
+
+-- signal TreeView::toggle-cursor-row
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewToggleCursorRowCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewToggleCursorRowCallback`@.
+noTreeViewToggleCursorRowCallback :: Maybe TreeViewToggleCursorRowCallback
+noTreeViewToggleCursorRowCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewToggleCursorRowCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewToggleCursorRowCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewToggleCursorRowCallback :: C_TreeViewToggleCursorRowCallback -> IO (FunPtr C_TreeViewToggleCursorRowCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewToggleCursorRow :: MonadIO m => TreeViewToggleCursorRowCallback -> m (GClosure C_TreeViewToggleCursorRowCallback)
+genClosure_TreeViewToggleCursorRow cb = liftIO $ do
+    let cb' = wrap_TreeViewToggleCursorRowCallback cb
+    mk_TreeViewToggleCursorRowCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewToggleCursorRowCallback` into a `C_TreeViewToggleCursorRowCallback`.
+wrap_TreeViewToggleCursorRowCallback ::
+    TreeViewToggleCursorRowCallback ->
+    C_TreeViewToggleCursorRowCallback
+wrap_TreeViewToggleCursorRowCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@toggle-cursor-row@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #toggleCursorRow callback
+@
+-}
+onTreeViewToggleCursorRow :: (IsTreeView a, MonadIO m) => a -> TreeViewToggleCursorRowCallback -> m SignalHandlerId
+onTreeViewToggleCursorRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewToggleCursorRowCallback cb
+    cb'' <- mk_TreeViewToggleCursorRowCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-row" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@toggle-cursor-row@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #toggleCursorRow callback
+@
+-}
+afterTreeViewToggleCursorRow :: (IsTreeView a, MonadIO m) => a -> TreeViewToggleCursorRowCallback -> m SignalHandlerId
+afterTreeViewToggleCursorRow obj cb = liftIO $ do
+    let cb' = wrap_TreeViewToggleCursorRowCallback cb
+    cb'' <- mk_TreeViewToggleCursorRowCallback cb'
+    connectSignalFunPtr obj "toggle-cursor-row" cb'' SignalConnectAfter
+
+
+-- signal TreeView::unselect-all
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewUnselectAllCallback =
+    IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewUnselectAllCallback`@.
+noTreeViewUnselectAllCallback :: Maybe TreeViewUnselectAllCallback
+noTreeViewUnselectAllCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewUnselectAllCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewUnselectAllCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewUnselectAllCallback :: C_TreeViewUnselectAllCallback -> IO (FunPtr C_TreeViewUnselectAllCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewUnselectAll :: MonadIO m => TreeViewUnselectAllCallback -> m (GClosure C_TreeViewUnselectAllCallback)
+genClosure_TreeViewUnselectAll cb = liftIO $ do
+    let cb' = wrap_TreeViewUnselectAllCallback cb
+    mk_TreeViewUnselectAllCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewUnselectAllCallback` into a `C_TreeViewUnselectAllCallback`.
+wrap_TreeViewUnselectAllCallback ::
+    TreeViewUnselectAllCallback ->
+    C_TreeViewUnselectAllCallback
+wrap_TreeViewUnselectAllCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@unselect-all@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeView #unselectAll callback
+@
+-}
+onTreeViewUnselectAll :: (IsTreeView a, MonadIO m) => a -> TreeViewUnselectAllCallback -> m SignalHandlerId
+onTreeViewUnselectAll obj cb = liftIO $ do
+    let cb' = wrap_TreeViewUnselectAllCallback cb
+    cb'' <- mk_TreeViewUnselectAllCallback cb'
+    connectSignalFunPtr obj "unselect-all" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@unselect-all@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeView #unselectAll callback
+@
+-}
+afterTreeViewUnselectAll :: (IsTreeView a, MonadIO m) => a -> TreeViewUnselectAllCallback -> m SignalHandlerId
+afterTreeViewUnselectAll obj cb = liftIO $ do
+    let cb' = wrap_TreeViewUnselectAllCallback cb
+    cb'' <- mk_TreeViewUnselectAllCallback cb'
+    connectSignalFunPtr obj "unselect-all" cb'' SignalConnectAfter
+
+
+-- VVV Prop "activate-on-single-click"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@activate-on-single-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #activateOnSingleClick
+@
+-}
+getTreeViewActivateOnSingleClick :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewActivateOnSingleClick obj = liftIO $ B.Properties.getObjectPropertyBool obj "activate-on-single-click"
+
+{- |
+Set the value of the “@activate-on-single-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #activateOnSingleClick 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewActivateOnSingleClick :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewActivateOnSingleClick obj val = liftIO $ B.Properties.setObjectPropertyBool obj "activate-on-single-click" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@activate-on-single-click@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewActivateOnSingleClick :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewActivateOnSingleClick val = B.Properties.constructObjectPropertyBool "activate-on-single-click" val
+
+#if ENABLE_OVERLOADING
+data TreeViewActivateOnSingleClickPropertyInfo
+instance AttrInfo TreeViewActivateOnSingleClickPropertyInfo where
+    type AttrAllowedOps TreeViewActivateOnSingleClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewActivateOnSingleClickPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewActivateOnSingleClickPropertyInfo = IsTreeView
+    type AttrGetType TreeViewActivateOnSingleClickPropertyInfo = Bool
+    type AttrLabel TreeViewActivateOnSingleClickPropertyInfo = "activate-on-single-click"
+    type AttrOrigin TreeViewActivateOnSingleClickPropertyInfo = TreeView
+    attrGet _ = getTreeViewActivateOnSingleClick
+    attrSet _ = setTreeViewActivateOnSingleClick
+    attrConstruct _ = constructTreeViewActivateOnSingleClick
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "enable-grid-lines"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeViewGridLines"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@enable-grid-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #enableGridLines
+@
+-}
+getTreeViewEnableGridLines :: (MonadIO m, IsTreeView o) => o -> m Gtk.Enums.TreeViewGridLines
+getTreeViewEnableGridLines obj = liftIO $ B.Properties.getObjectPropertyEnum obj "enable-grid-lines"
+
+{- |
+Set the value of the “@enable-grid-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #enableGridLines 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewEnableGridLines :: (MonadIO m, IsTreeView o) => o -> Gtk.Enums.TreeViewGridLines -> m ()
+setTreeViewEnableGridLines obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "enable-grid-lines" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@enable-grid-lines@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewEnableGridLines :: (IsTreeView o) => Gtk.Enums.TreeViewGridLines -> IO (GValueConstruct o)
+constructTreeViewEnableGridLines val = B.Properties.constructObjectPropertyEnum "enable-grid-lines" val
+
+#if ENABLE_OVERLOADING
+data TreeViewEnableGridLinesPropertyInfo
+instance AttrInfo TreeViewEnableGridLinesPropertyInfo where
+    type AttrAllowedOps TreeViewEnableGridLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewEnableGridLinesPropertyInfo = (~) Gtk.Enums.TreeViewGridLines
+    type AttrBaseTypeConstraint TreeViewEnableGridLinesPropertyInfo = IsTreeView
+    type AttrGetType TreeViewEnableGridLinesPropertyInfo = Gtk.Enums.TreeViewGridLines
+    type AttrLabel TreeViewEnableGridLinesPropertyInfo = "enable-grid-lines"
+    type AttrOrigin TreeViewEnableGridLinesPropertyInfo = TreeView
+    attrGet _ = getTreeViewEnableGridLines
+    attrSet _ = setTreeViewEnableGridLines
+    attrConstruct _ = constructTreeViewEnableGridLines
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "enable-search"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@enable-search@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #enableSearch
+@
+-}
+getTreeViewEnableSearch :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewEnableSearch obj = liftIO $ B.Properties.getObjectPropertyBool obj "enable-search"
+
+{- |
+Set the value of the “@enable-search@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #enableSearch 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewEnableSearch :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewEnableSearch obj val = liftIO $ B.Properties.setObjectPropertyBool obj "enable-search" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@enable-search@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewEnableSearch :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewEnableSearch val = B.Properties.constructObjectPropertyBool "enable-search" val
+
+#if ENABLE_OVERLOADING
+data TreeViewEnableSearchPropertyInfo
+instance AttrInfo TreeViewEnableSearchPropertyInfo where
+    type AttrAllowedOps TreeViewEnableSearchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewEnableSearchPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewEnableSearchPropertyInfo = IsTreeView
+    type AttrGetType TreeViewEnableSearchPropertyInfo = Bool
+    type AttrLabel TreeViewEnableSearchPropertyInfo = "enable-search"
+    type AttrOrigin TreeViewEnableSearchPropertyInfo = TreeView
+    attrGet _ = getTreeViewEnableSearch
+    attrSet _ = setTreeViewEnableSearch
+    attrConstruct _ = constructTreeViewEnableSearch
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "enable-tree-lines"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@enable-tree-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #enableTreeLines
+@
+-}
+getTreeViewEnableTreeLines :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewEnableTreeLines obj = liftIO $ B.Properties.getObjectPropertyBool obj "enable-tree-lines"
+
+{- |
+Set the value of the “@enable-tree-lines@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #enableTreeLines 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewEnableTreeLines :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewEnableTreeLines obj val = liftIO $ B.Properties.setObjectPropertyBool obj "enable-tree-lines" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@enable-tree-lines@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewEnableTreeLines :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewEnableTreeLines val = B.Properties.constructObjectPropertyBool "enable-tree-lines" val
+
+#if ENABLE_OVERLOADING
+data TreeViewEnableTreeLinesPropertyInfo
+instance AttrInfo TreeViewEnableTreeLinesPropertyInfo where
+    type AttrAllowedOps TreeViewEnableTreeLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewEnableTreeLinesPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewEnableTreeLinesPropertyInfo = IsTreeView
+    type AttrGetType TreeViewEnableTreeLinesPropertyInfo = Bool
+    type AttrLabel TreeViewEnableTreeLinesPropertyInfo = "enable-tree-lines"
+    type AttrOrigin TreeViewEnableTreeLinesPropertyInfo = TreeView
+    attrGet _ = getTreeViewEnableTreeLines
+    attrSet _ = setTreeViewEnableTreeLines
+    attrConstruct _ = constructTreeViewEnableTreeLines
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "expander-column"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@expander-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #expanderColumn
+@
+-}
+getTreeViewExpanderColumn :: (MonadIO m, IsTreeView o) => o -> m Gtk.TreeViewColumn.TreeViewColumn
+getTreeViewExpanderColumn obj = liftIO $ checkUnexpectedNothing "getTreeViewExpanderColumn" $ B.Properties.getObjectPropertyObject obj "expander-column" Gtk.TreeViewColumn.TreeViewColumn
+
+{- |
+Set the value of the “@expander-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #expanderColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewExpanderColumn :: (MonadIO m, IsTreeView o, Gtk.TreeViewColumn.IsTreeViewColumn a) => o -> a -> m ()
+setTreeViewExpanderColumn obj val = liftIO $ B.Properties.setObjectPropertyObject obj "expander-column" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@expander-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewExpanderColumn :: (IsTreeView o, Gtk.TreeViewColumn.IsTreeViewColumn a) => a -> IO (GValueConstruct o)
+constructTreeViewExpanderColumn val = B.Properties.constructObjectPropertyObject "expander-column" (Just val)
+
+{- |
+Set the value of the “@expander-column@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #expanderColumn
+@
+-}
+clearTreeViewExpanderColumn :: (MonadIO m, IsTreeView o) => o -> m ()
+clearTreeViewExpanderColumn obj = liftIO $ B.Properties.setObjectPropertyObject obj "expander-column" (Nothing :: Maybe Gtk.TreeViewColumn.TreeViewColumn)
+
+#if ENABLE_OVERLOADING
+data TreeViewExpanderColumnPropertyInfo
+instance AttrInfo TreeViewExpanderColumnPropertyInfo where
+    type AttrAllowedOps TreeViewExpanderColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeViewExpanderColumnPropertyInfo = Gtk.TreeViewColumn.IsTreeViewColumn
+    type AttrBaseTypeConstraint TreeViewExpanderColumnPropertyInfo = IsTreeView
+    type AttrGetType TreeViewExpanderColumnPropertyInfo = Gtk.TreeViewColumn.TreeViewColumn
+    type AttrLabel TreeViewExpanderColumnPropertyInfo = "expander-column"
+    type AttrOrigin TreeViewExpanderColumnPropertyInfo = TreeView
+    attrGet _ = getTreeViewExpanderColumn
+    attrSet _ = setTreeViewExpanderColumn
+    attrConstruct _ = constructTreeViewExpanderColumn
+    attrClear _ = clearTreeViewExpanderColumn
+#endif
+
+-- VVV Prop "fixed-height-mode"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@fixed-height-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #fixedHeightMode
+@
+-}
+getTreeViewFixedHeightMode :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewFixedHeightMode obj = liftIO $ B.Properties.getObjectPropertyBool obj "fixed-height-mode"
+
+{- |
+Set the value of the “@fixed-height-mode@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #fixedHeightMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewFixedHeightMode :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewFixedHeightMode obj val = liftIO $ B.Properties.setObjectPropertyBool obj "fixed-height-mode" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@fixed-height-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewFixedHeightMode :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewFixedHeightMode val = B.Properties.constructObjectPropertyBool "fixed-height-mode" val
+
+#if ENABLE_OVERLOADING
+data TreeViewFixedHeightModePropertyInfo
+instance AttrInfo TreeViewFixedHeightModePropertyInfo where
+    type AttrAllowedOps TreeViewFixedHeightModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewFixedHeightModePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewFixedHeightModePropertyInfo = IsTreeView
+    type AttrGetType TreeViewFixedHeightModePropertyInfo = Bool
+    type AttrLabel TreeViewFixedHeightModePropertyInfo = "fixed-height-mode"
+    type AttrOrigin TreeViewFixedHeightModePropertyInfo = TreeView
+    attrGet _ = getTreeViewFixedHeightMode
+    attrSet _ = setTreeViewFixedHeightMode
+    attrConstruct _ = constructTreeViewFixedHeightMode
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "headers-clickable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@headers-clickable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #headersClickable
+@
+-}
+getTreeViewHeadersClickable :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewHeadersClickable obj = liftIO $ B.Properties.getObjectPropertyBool obj "headers-clickable"
+
+{- |
+Set the value of the “@headers-clickable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #headersClickable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewHeadersClickable :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewHeadersClickable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "headers-clickable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@headers-clickable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewHeadersClickable :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewHeadersClickable val = B.Properties.constructObjectPropertyBool "headers-clickable" val
+
+#if ENABLE_OVERLOADING
+data TreeViewHeadersClickablePropertyInfo
+instance AttrInfo TreeViewHeadersClickablePropertyInfo where
+    type AttrAllowedOps TreeViewHeadersClickablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewHeadersClickablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewHeadersClickablePropertyInfo = IsTreeView
+    type AttrGetType TreeViewHeadersClickablePropertyInfo = Bool
+    type AttrLabel TreeViewHeadersClickablePropertyInfo = "headers-clickable"
+    type AttrOrigin TreeViewHeadersClickablePropertyInfo = TreeView
+    attrGet _ = getTreeViewHeadersClickable
+    attrSet _ = setTreeViewHeadersClickable
+    attrConstruct _ = constructTreeViewHeadersClickable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "headers-visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@headers-visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #headersVisible
+@
+-}
+getTreeViewHeadersVisible :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewHeadersVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "headers-visible"
+
+{- |
+Set the value of the “@headers-visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #headersVisible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewHeadersVisible :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewHeadersVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "headers-visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@headers-visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewHeadersVisible :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewHeadersVisible val = B.Properties.constructObjectPropertyBool "headers-visible" val
+
+#if ENABLE_OVERLOADING
+data TreeViewHeadersVisiblePropertyInfo
+instance AttrInfo TreeViewHeadersVisiblePropertyInfo where
+    type AttrAllowedOps TreeViewHeadersVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewHeadersVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewHeadersVisiblePropertyInfo = IsTreeView
+    type AttrGetType TreeViewHeadersVisiblePropertyInfo = Bool
+    type AttrLabel TreeViewHeadersVisiblePropertyInfo = "headers-visible"
+    type AttrOrigin TreeViewHeadersVisiblePropertyInfo = TreeView
+    attrGet _ = getTreeViewHeadersVisible
+    attrSet _ = setTreeViewHeadersVisible
+    attrConstruct _ = constructTreeViewHeadersVisible
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "hover-expand"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@hover-expand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #hoverExpand
+@
+-}
+getTreeViewHoverExpand :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewHoverExpand obj = liftIO $ B.Properties.getObjectPropertyBool obj "hover-expand"
+
+{- |
+Set the value of the “@hover-expand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #hoverExpand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewHoverExpand :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewHoverExpand obj val = liftIO $ B.Properties.setObjectPropertyBool obj "hover-expand" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hover-expand@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewHoverExpand :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewHoverExpand val = B.Properties.constructObjectPropertyBool "hover-expand" val
+
+#if ENABLE_OVERLOADING
+data TreeViewHoverExpandPropertyInfo
+instance AttrInfo TreeViewHoverExpandPropertyInfo where
+    type AttrAllowedOps TreeViewHoverExpandPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewHoverExpandPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewHoverExpandPropertyInfo = IsTreeView
+    type AttrGetType TreeViewHoverExpandPropertyInfo = Bool
+    type AttrLabel TreeViewHoverExpandPropertyInfo = "hover-expand"
+    type AttrOrigin TreeViewHoverExpandPropertyInfo = TreeView
+    attrGet _ = getTreeViewHoverExpand
+    attrSet _ = setTreeViewHoverExpand
+    attrConstruct _ = constructTreeViewHoverExpand
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "hover-selection"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@hover-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #hoverSelection
+@
+-}
+getTreeViewHoverSelection :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewHoverSelection obj = liftIO $ B.Properties.getObjectPropertyBool obj "hover-selection"
+
+{- |
+Set the value of the “@hover-selection@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #hoverSelection 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewHoverSelection :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewHoverSelection obj val = liftIO $ B.Properties.setObjectPropertyBool obj "hover-selection" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hover-selection@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewHoverSelection :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewHoverSelection val = B.Properties.constructObjectPropertyBool "hover-selection" val
+
+#if ENABLE_OVERLOADING
+data TreeViewHoverSelectionPropertyInfo
+instance AttrInfo TreeViewHoverSelectionPropertyInfo where
+    type AttrAllowedOps TreeViewHoverSelectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewHoverSelectionPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewHoverSelectionPropertyInfo = IsTreeView
+    type AttrGetType TreeViewHoverSelectionPropertyInfo = Bool
+    type AttrLabel TreeViewHoverSelectionPropertyInfo = "hover-selection"
+    type AttrOrigin TreeViewHoverSelectionPropertyInfo = TreeView
+    attrGet _ = getTreeViewHoverSelection
+    attrSet _ = setTreeViewHoverSelection
+    attrConstruct _ = constructTreeViewHoverSelection
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "level-indentation"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@level-indentation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #levelIndentation
+@
+-}
+getTreeViewLevelIndentation :: (MonadIO m, IsTreeView o) => o -> m Int32
+getTreeViewLevelIndentation obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "level-indentation"
+
+{- |
+Set the value of the “@level-indentation@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #levelIndentation 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewLevelIndentation :: (MonadIO m, IsTreeView o) => o -> Int32 -> m ()
+setTreeViewLevelIndentation obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "level-indentation" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@level-indentation@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewLevelIndentation :: (IsTreeView o) => Int32 -> IO (GValueConstruct o)
+constructTreeViewLevelIndentation val = B.Properties.constructObjectPropertyInt32 "level-indentation" val
+
+#if ENABLE_OVERLOADING
+data TreeViewLevelIndentationPropertyInfo
+instance AttrInfo TreeViewLevelIndentationPropertyInfo where
+    type AttrAllowedOps TreeViewLevelIndentationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewLevelIndentationPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TreeViewLevelIndentationPropertyInfo = IsTreeView
+    type AttrGetType TreeViewLevelIndentationPropertyInfo = Int32
+    type AttrLabel TreeViewLevelIndentationPropertyInfo = "level-indentation"
+    type AttrOrigin TreeViewLevelIndentationPropertyInfo = TreeView
+    attrGet _ = getTreeViewLevelIndentation
+    attrSet _ = setTreeViewLevelIndentation
+    attrConstruct _ = constructTreeViewLevelIndentation
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "model"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #model
+@
+-}
+getTreeViewModel :: (MonadIO m, IsTreeView o) => o -> m (Maybe Gtk.TreeModel.TreeModel)
+getTreeViewModel obj = liftIO $ B.Properties.getObjectPropertyObject obj "model" Gtk.TreeModel.TreeModel
+
+{- |
+Set the value of the “@model@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #model 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewModel :: (MonadIO m, IsTreeView o, Gtk.TreeModel.IsTreeModel a) => o -> a -> m ()
+setTreeViewModel obj val = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@model@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewModel :: (IsTreeView o, Gtk.TreeModel.IsTreeModel a) => a -> IO (GValueConstruct o)
+constructTreeViewModel val = B.Properties.constructObjectPropertyObject "model" (Just val)
+
+{- |
+Set the value of the “@model@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #model
+@
+-}
+clearTreeViewModel :: (MonadIO m, IsTreeView o) => o -> m ()
+clearTreeViewModel obj = liftIO $ B.Properties.setObjectPropertyObject obj "model" (Nothing :: Maybe Gtk.TreeModel.TreeModel)
+
+#if ENABLE_OVERLOADING
+data TreeViewModelPropertyInfo
+instance AttrInfo TreeViewModelPropertyInfo where
+    type AttrAllowedOps TreeViewModelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeViewModelPropertyInfo = Gtk.TreeModel.IsTreeModel
+    type AttrBaseTypeConstraint TreeViewModelPropertyInfo = IsTreeView
+    type AttrGetType TreeViewModelPropertyInfo = (Maybe Gtk.TreeModel.TreeModel)
+    type AttrLabel TreeViewModelPropertyInfo = "model"
+    type AttrOrigin TreeViewModelPropertyInfo = TreeView
+    attrGet _ = getTreeViewModel
+    attrSet _ = setTreeViewModel
+    attrConstruct _ = constructTreeViewModel
+    attrClear _ = clearTreeViewModel
+#endif
+
+-- VVV Prop "reorderable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@reorderable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #reorderable
+@
+-}
+getTreeViewReorderable :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewReorderable obj = liftIO $ B.Properties.getObjectPropertyBool obj "reorderable"
+
+{- |
+Set the value of the “@reorderable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #reorderable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewReorderable :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewReorderable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "reorderable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@reorderable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewReorderable :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewReorderable val = B.Properties.constructObjectPropertyBool "reorderable" val
+
+#if ENABLE_OVERLOADING
+data TreeViewReorderablePropertyInfo
+instance AttrInfo TreeViewReorderablePropertyInfo where
+    type AttrAllowedOps TreeViewReorderablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewReorderablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewReorderablePropertyInfo = IsTreeView
+    type AttrGetType TreeViewReorderablePropertyInfo = Bool
+    type AttrLabel TreeViewReorderablePropertyInfo = "reorderable"
+    type AttrOrigin TreeViewReorderablePropertyInfo = TreeView
+    attrGet _ = getTreeViewReorderable
+    attrSet _ = setTreeViewReorderable
+    attrConstruct _ = constructTreeViewReorderable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "rubber-banding"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@rubber-banding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #rubberBanding
+@
+-}
+getTreeViewRubberBanding :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewRubberBanding obj = liftIO $ B.Properties.getObjectPropertyBool obj "rubber-banding"
+
+{- |
+Set the value of the “@rubber-banding@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #rubberBanding 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewRubberBanding :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewRubberBanding obj val = liftIO $ B.Properties.setObjectPropertyBool obj "rubber-banding" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rubber-banding@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewRubberBanding :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewRubberBanding val = B.Properties.constructObjectPropertyBool "rubber-banding" val
+
+#if ENABLE_OVERLOADING
+data TreeViewRubberBandingPropertyInfo
+instance AttrInfo TreeViewRubberBandingPropertyInfo where
+    type AttrAllowedOps TreeViewRubberBandingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewRubberBandingPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewRubberBandingPropertyInfo = IsTreeView
+    type AttrGetType TreeViewRubberBandingPropertyInfo = Bool
+    type AttrLabel TreeViewRubberBandingPropertyInfo = "rubber-banding"
+    type AttrOrigin TreeViewRubberBandingPropertyInfo = TreeView
+    attrGet _ = getTreeViewRubberBanding
+    attrSet _ = setTreeViewRubberBanding
+    attrConstruct _ = constructTreeViewRubberBanding
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "rules-hint"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@rules-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #rulesHint
+@
+-}
+getTreeViewRulesHint :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewRulesHint obj = liftIO $ B.Properties.getObjectPropertyBool obj "rules-hint"
+
+{- |
+Set the value of the “@rules-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #rulesHint 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewRulesHint :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewRulesHint obj val = liftIO $ B.Properties.setObjectPropertyBool obj "rules-hint" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@rules-hint@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewRulesHint :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewRulesHint val = B.Properties.constructObjectPropertyBool "rules-hint" val
+
+#if ENABLE_OVERLOADING
+data TreeViewRulesHintPropertyInfo
+instance AttrInfo TreeViewRulesHintPropertyInfo where
+    type AttrAllowedOps TreeViewRulesHintPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewRulesHintPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewRulesHintPropertyInfo = IsTreeView
+    type AttrGetType TreeViewRulesHintPropertyInfo = Bool
+    type AttrLabel TreeViewRulesHintPropertyInfo = "rules-hint"
+    type AttrOrigin TreeViewRulesHintPropertyInfo = TreeView
+    attrGet _ = getTreeViewRulesHint
+    attrSet _ = setTreeViewRulesHint
+    attrConstruct _ = constructTreeViewRulesHint
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "search-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@search-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #searchColumn
+@
+-}
+getTreeViewSearchColumn :: (MonadIO m, IsTreeView o) => o -> m Int32
+getTreeViewSearchColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "search-column"
+
+{- |
+Set the value of the “@search-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #searchColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewSearchColumn :: (MonadIO m, IsTreeView o) => o -> Int32 -> m ()
+setTreeViewSearchColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "search-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@search-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewSearchColumn :: (IsTreeView o) => Int32 -> IO (GValueConstruct o)
+constructTreeViewSearchColumn val = B.Properties.constructObjectPropertyInt32 "search-column" val
+
+#if ENABLE_OVERLOADING
+data TreeViewSearchColumnPropertyInfo
+instance AttrInfo TreeViewSearchColumnPropertyInfo where
+    type AttrAllowedOps TreeViewSearchColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewSearchColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TreeViewSearchColumnPropertyInfo = IsTreeView
+    type AttrGetType TreeViewSearchColumnPropertyInfo = Int32
+    type AttrLabel TreeViewSearchColumnPropertyInfo = "search-column"
+    type AttrOrigin TreeViewSearchColumnPropertyInfo = TreeView
+    attrGet _ = getTreeViewSearchColumn
+    attrSet _ = setTreeViewSearchColumn
+    attrConstruct _ = constructTreeViewSearchColumn
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "show-expanders"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@show-expanders@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #showExpanders
+@
+-}
+getTreeViewShowExpanders :: (MonadIO m, IsTreeView o) => o -> m Bool
+getTreeViewShowExpanders obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-expanders"
+
+{- |
+Set the value of the “@show-expanders@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #showExpanders 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewShowExpanders :: (MonadIO m, IsTreeView o) => o -> Bool -> m ()
+setTreeViewShowExpanders obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-expanders" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@show-expanders@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewShowExpanders :: (IsTreeView o) => Bool -> IO (GValueConstruct o)
+constructTreeViewShowExpanders val = B.Properties.constructObjectPropertyBool "show-expanders" val
+
+#if ENABLE_OVERLOADING
+data TreeViewShowExpandersPropertyInfo
+instance AttrInfo TreeViewShowExpandersPropertyInfo where
+    type AttrAllowedOps TreeViewShowExpandersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewShowExpandersPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewShowExpandersPropertyInfo = IsTreeView
+    type AttrGetType TreeViewShowExpandersPropertyInfo = Bool
+    type AttrLabel TreeViewShowExpandersPropertyInfo = "show-expanders"
+    type AttrOrigin TreeViewShowExpandersPropertyInfo = TreeView
+    attrGet _ = getTreeViewShowExpanders
+    attrSet _ = setTreeViewShowExpanders
+    attrConstruct _ = constructTreeViewShowExpanders
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "tooltip-column"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@tooltip-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeView #tooltipColumn
+@
+-}
+getTreeViewTooltipColumn :: (MonadIO m, IsTreeView o) => o -> m Int32
+getTreeViewTooltipColumn obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "tooltip-column"
+
+{- |
+Set the value of the “@tooltip-column@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeView [ #tooltipColumn 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewTooltipColumn :: (MonadIO m, IsTreeView o) => o -> Int32 -> m ()
+setTreeViewTooltipColumn obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "tooltip-column" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip-column@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewTooltipColumn :: (IsTreeView o) => Int32 -> IO (GValueConstruct o)
+constructTreeViewTooltipColumn val = B.Properties.constructObjectPropertyInt32 "tooltip-column" val
+
+#if ENABLE_OVERLOADING
+data TreeViewTooltipColumnPropertyInfo
+instance AttrInfo TreeViewTooltipColumnPropertyInfo where
+    type AttrAllowedOps TreeViewTooltipColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewTooltipColumnPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TreeViewTooltipColumnPropertyInfo = IsTreeView
+    type AttrGetType TreeViewTooltipColumnPropertyInfo = Int32
+    type AttrLabel TreeViewTooltipColumnPropertyInfo = "tooltip-column"
+    type AttrOrigin TreeViewTooltipColumnPropertyInfo = TreeView
+    attrGet _ = getTreeViewTooltipColumn
+    attrSet _ = setTreeViewTooltipColumn
+    attrConstruct _ = constructTreeViewTooltipColumn
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeView
+type instance O.AttributeList TreeView = TreeViewAttributeList
+type TreeViewAttributeList = ('[ '("activateOnSingleClick", TreeViewActivateOnSingleClickPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("enableGridLines", TreeViewEnableGridLinesPropertyInfo), '("enableSearch", TreeViewEnableSearchPropertyInfo), '("enableTreeLines", TreeViewEnableTreeLinesPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("expanderColumn", TreeViewExpanderColumnPropertyInfo), '("fixedHeightMode", TreeViewFixedHeightModePropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", Gtk.Scrollable.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("headersClickable", TreeViewHeadersClickablePropertyInfo), '("headersVisible", TreeViewHeadersVisiblePropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hoverExpand", TreeViewHoverExpandPropertyInfo), '("hoverSelection", TreeViewHoverSelectionPropertyInfo), '("hscrollPolicy", Gtk.Scrollable.ScrollableHscrollPolicyPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("levelIndentation", TreeViewLevelIndentationPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("model", TreeViewModelPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("reorderable", TreeViewReorderablePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rubberBanding", TreeViewRubberBandingPropertyInfo), '("rulesHint", TreeViewRulesHintPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("searchColumn", TreeViewSearchColumnPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showExpanders", TreeViewShowExpandersPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipColumn", TreeViewTooltipColumnPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("vadjustment", Gtk.Scrollable.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.Scrollable.ScrollableVscrollPolicyPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+treeViewActivateOnSingleClick :: AttrLabelProxy "activateOnSingleClick"
+treeViewActivateOnSingleClick = AttrLabelProxy
+
+treeViewEnableGridLines :: AttrLabelProxy "enableGridLines"
+treeViewEnableGridLines = AttrLabelProxy
+
+treeViewEnableSearch :: AttrLabelProxy "enableSearch"
+treeViewEnableSearch = AttrLabelProxy
+
+treeViewEnableTreeLines :: AttrLabelProxy "enableTreeLines"
+treeViewEnableTreeLines = AttrLabelProxy
+
+treeViewExpanderColumn :: AttrLabelProxy "expanderColumn"
+treeViewExpanderColumn = AttrLabelProxy
+
+treeViewFixedHeightMode :: AttrLabelProxy "fixedHeightMode"
+treeViewFixedHeightMode = AttrLabelProxy
+
+treeViewHeadersClickable :: AttrLabelProxy "headersClickable"
+treeViewHeadersClickable = AttrLabelProxy
+
+treeViewHeadersVisible :: AttrLabelProxy "headersVisible"
+treeViewHeadersVisible = AttrLabelProxy
+
+treeViewHoverExpand :: AttrLabelProxy "hoverExpand"
+treeViewHoverExpand = AttrLabelProxy
+
+treeViewHoverSelection :: AttrLabelProxy "hoverSelection"
+treeViewHoverSelection = AttrLabelProxy
+
+treeViewLevelIndentation :: AttrLabelProxy "levelIndentation"
+treeViewLevelIndentation = AttrLabelProxy
+
+treeViewModel :: AttrLabelProxy "model"
+treeViewModel = AttrLabelProxy
+
+treeViewReorderable :: AttrLabelProxy "reorderable"
+treeViewReorderable = AttrLabelProxy
+
+treeViewRubberBanding :: AttrLabelProxy "rubberBanding"
+treeViewRubberBanding = AttrLabelProxy
+
+treeViewRulesHint :: AttrLabelProxy "rulesHint"
+treeViewRulesHint = AttrLabelProxy
+
+treeViewSearchColumn :: AttrLabelProxy "searchColumn"
+treeViewSearchColumn = AttrLabelProxy
+
+treeViewShowExpanders :: AttrLabelProxy "showExpanders"
+treeViewShowExpanders = AttrLabelProxy
+
+treeViewTooltipColumn :: AttrLabelProxy "tooltipColumn"
+treeViewTooltipColumn = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnsChangedSignalInfo
+instance SignalInfo TreeViewColumnsChangedSignalInfo where
+    type HaskellCallbackType TreeViewColumnsChangedSignalInfo = TreeViewColumnsChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewColumnsChangedCallback cb
+        cb'' <- mk_TreeViewColumnsChangedCallback cb'
+        connectSignalFunPtr obj "columns-changed" cb'' connectMode
+
+data TreeViewCursorChangedSignalInfo
+instance SignalInfo TreeViewCursorChangedSignalInfo where
+    type HaskellCallbackType TreeViewCursorChangedSignalInfo = TreeViewCursorChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewCursorChangedCallback cb
+        cb'' <- mk_TreeViewCursorChangedCallback cb'
+        connectSignalFunPtr obj "cursor-changed" cb'' connectMode
+
+data TreeViewExpandCollapseCursorRowSignalInfo
+instance SignalInfo TreeViewExpandCollapseCursorRowSignalInfo where
+    type HaskellCallbackType TreeViewExpandCollapseCursorRowSignalInfo = TreeViewExpandCollapseCursorRowCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewExpandCollapseCursorRowCallback cb
+        cb'' <- mk_TreeViewExpandCollapseCursorRowCallback cb'
+        connectSignalFunPtr obj "expand-collapse-cursor-row" cb'' connectMode
+
+data TreeViewMoveCursorSignalInfo
+instance SignalInfo TreeViewMoveCursorSignalInfo where
+    type HaskellCallbackType TreeViewMoveCursorSignalInfo = TreeViewMoveCursorCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewMoveCursorCallback cb
+        cb'' <- mk_TreeViewMoveCursorCallback cb'
+        connectSignalFunPtr obj "move-cursor" cb'' connectMode
+
+data TreeViewRowActivatedSignalInfo
+instance SignalInfo TreeViewRowActivatedSignalInfo where
+    type HaskellCallbackType TreeViewRowActivatedSignalInfo = TreeViewRowActivatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewRowActivatedCallback cb
+        cb'' <- mk_TreeViewRowActivatedCallback cb'
+        connectSignalFunPtr obj "row-activated" cb'' connectMode
+
+data TreeViewRowCollapsedSignalInfo
+instance SignalInfo TreeViewRowCollapsedSignalInfo where
+    type HaskellCallbackType TreeViewRowCollapsedSignalInfo = TreeViewRowCollapsedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewRowCollapsedCallback cb
+        cb'' <- mk_TreeViewRowCollapsedCallback cb'
+        connectSignalFunPtr obj "row-collapsed" cb'' connectMode
+
+data TreeViewRowExpandedSignalInfo
+instance SignalInfo TreeViewRowExpandedSignalInfo where
+    type HaskellCallbackType TreeViewRowExpandedSignalInfo = TreeViewRowExpandedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewRowExpandedCallback cb
+        cb'' <- mk_TreeViewRowExpandedCallback cb'
+        connectSignalFunPtr obj "row-expanded" cb'' connectMode
+
+data TreeViewSelectAllSignalInfo
+instance SignalInfo TreeViewSelectAllSignalInfo where
+    type HaskellCallbackType TreeViewSelectAllSignalInfo = TreeViewSelectAllCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewSelectAllCallback cb
+        cb'' <- mk_TreeViewSelectAllCallback cb'
+        connectSignalFunPtr obj "select-all" cb'' connectMode
+
+data TreeViewSelectCursorParentSignalInfo
+instance SignalInfo TreeViewSelectCursorParentSignalInfo where
+    type HaskellCallbackType TreeViewSelectCursorParentSignalInfo = TreeViewSelectCursorParentCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewSelectCursorParentCallback cb
+        cb'' <- mk_TreeViewSelectCursorParentCallback cb'
+        connectSignalFunPtr obj "select-cursor-parent" cb'' connectMode
+
+data TreeViewSelectCursorRowSignalInfo
+instance SignalInfo TreeViewSelectCursorRowSignalInfo where
+    type HaskellCallbackType TreeViewSelectCursorRowSignalInfo = TreeViewSelectCursorRowCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewSelectCursorRowCallback cb
+        cb'' <- mk_TreeViewSelectCursorRowCallback cb'
+        connectSignalFunPtr obj "select-cursor-row" cb'' connectMode
+
+data TreeViewStartInteractiveSearchSignalInfo
+instance SignalInfo TreeViewStartInteractiveSearchSignalInfo where
+    type HaskellCallbackType TreeViewStartInteractiveSearchSignalInfo = TreeViewStartInteractiveSearchCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewStartInteractiveSearchCallback cb
+        cb'' <- mk_TreeViewStartInteractiveSearchCallback cb'
+        connectSignalFunPtr obj "start-interactive-search" cb'' connectMode
+
+data TreeViewTestCollapseRowSignalInfo
+instance SignalInfo TreeViewTestCollapseRowSignalInfo where
+    type HaskellCallbackType TreeViewTestCollapseRowSignalInfo = TreeViewTestCollapseRowCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewTestCollapseRowCallback cb
+        cb'' <- mk_TreeViewTestCollapseRowCallback cb'
+        connectSignalFunPtr obj "test-collapse-row" cb'' connectMode
+
+data TreeViewTestExpandRowSignalInfo
+instance SignalInfo TreeViewTestExpandRowSignalInfo where
+    type HaskellCallbackType TreeViewTestExpandRowSignalInfo = TreeViewTestExpandRowCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewTestExpandRowCallback cb
+        cb'' <- mk_TreeViewTestExpandRowCallback cb'
+        connectSignalFunPtr obj "test-expand-row" cb'' connectMode
+
+data TreeViewToggleCursorRowSignalInfo
+instance SignalInfo TreeViewToggleCursorRowSignalInfo where
+    type HaskellCallbackType TreeViewToggleCursorRowSignalInfo = TreeViewToggleCursorRowCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewToggleCursorRowCallback cb
+        cb'' <- mk_TreeViewToggleCursorRowCallback cb'
+        connectSignalFunPtr obj "toggle-cursor-row" cb'' connectMode
+
+data TreeViewUnselectAllSignalInfo
+instance SignalInfo TreeViewUnselectAllSignalInfo where
+    type HaskellCallbackType TreeViewUnselectAllSignalInfo = TreeViewUnselectAllCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewUnselectAllCallback cb
+        cb'' <- mk_TreeViewUnselectAllCallback cb'
+        connectSignalFunPtr obj "unselect-all" cb'' connectMode
+
+type instance O.SignalList TreeView = TreeViewSignalList
+type TreeViewSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("columnsChanged", TreeViewColumnsChangedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("cursorChanged", TreeViewCursorChangedSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("expandCollapseCursorRow", TreeViewExpandCollapseCursorRowSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", TreeViewMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("rowActivated", TreeViewRowActivatedSignalInfo), '("rowCollapsed", TreeViewRowCollapsedSignalInfo), '("rowExpanded", TreeViewRowExpandedSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectAll", TreeViewSelectAllSignalInfo), '("selectCursorParent", TreeViewSelectCursorParentSignalInfo), '("selectCursorRow", TreeViewSelectCursorRowSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("startInteractiveSearch", TreeViewStartInteractiveSearchSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("testCollapseRow", TreeViewTestCollapseRowSignalInfo), '("testExpandRow", TreeViewTestExpandRowSignalInfo), '("toggleCursorRow", TreeViewToggleCursorRowSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("unselectAll", TreeViewUnselectAllSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TreeView::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_new" gtk_tree_view_new :: 
+    IO (Ptr TreeView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.TreeView.TreeView' widget.
+-}
+treeViewNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m TreeView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.TreeView.TreeView' widget. -}
+treeViewNew  = liftIO $ do
+    result <- gtk_tree_view_new
+    checkUnexpectedReturnNULL "treeViewNew" result
+    result' <- (newObject TreeView) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreeView::new_with_model
+-- method type : Constructor
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the model.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeView"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_new_with_model" gtk_tree_view_new_with_model :: 
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO (Ptr TreeView)
+
+{- |
+Creates a new 'GI.Gtk.Objects.TreeView.TreeView' widget with the model initialized to /@model@/.
+-}
+treeViewNewWithModel ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    a
+    {- ^ /@model@/: the model. -}
+    -> m TreeView
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.TreeView.TreeView' widget. -}
+treeViewNewWithModel model = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    result <- gtk_tree_view_new_with_model model'
+    checkUnexpectedReturnNULL "treeViewNewWithModel" result
+    result' <- (newObject TreeView) result
+    touchManagedPtr model
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreeView::append_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumn to add.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_append_column" gtk_tree_view_append_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO Int32
+
+{- |
+Appends /@column@/ to the list of columns. If /@treeView@/ has “fixed_height”
+mode enabled, then /@column@/ must have its “sizing” property set to be
+GTK_TREE_VIEW_COLUMN_FIXED.
+-}
+treeViewAppendColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> b
+    {- ^ /@column@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' to add. -}
+    -> m Int32
+    {- ^ __Returns:__ The number of columns in /@treeView@/ after appending. -}
+treeViewAppendColumn treeView column = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    column' <- unsafeManagedPtrCastPtr column
+    result <- gtk_tree_view_append_column treeView' column'
+    touchManagedPtr treeView
+    touchManagedPtr column
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewAppendColumnMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) => O.MethodInfo TreeViewAppendColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewAppendColumn
+
+#endif
+
+-- method TreeView::collapse_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_collapse_all" gtk_tree_view_collapse_all :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO ()
+
+{- |
+Recursively collapses all visible, expanded nodes in /@treeView@/.
+-}
+treeViewCollapseAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> m ()
+treeViewCollapseAll treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    gtk_tree_view_collapse_all treeView'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewCollapseAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewCollapseAllMethodInfo a signature where
+    overloadedMethod _ = treeViewCollapseAll
+
+#endif
+
+-- method TreeView::collapse_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "path to a row in the @tree_view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_collapse_row" gtk_tree_view_collapse_row :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Collapses a row (hides its child rows, if they exist).
+-}
+treeViewCollapseRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: path to a row in the /@treeView@/ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the row was collapsed. -}
+treeViewCollapseRow treeView path = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_view_collapse_row treeView' path'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewCollapseRowMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewCollapseRowMethodInfo a signature where
+    overloadedMethod _ = treeViewCollapseRow
+
+#endif
+
+-- method TreeView::columns_autosize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_columns_autosize" gtk_tree_view_columns_autosize :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO ()
+
+{- |
+Resizes all columns to their optimal width. Only works after the
+treeview has been realized.
+-}
+treeViewColumnsAutosize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> m ()
+treeViewColumnsAutosize treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    gtk_tree_view_columns_autosize treeView'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnsAutosizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewColumnsAutosizeMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnsAutosize
+
+#endif
+
+-- method TreeView::convert_bin_window_to_tree_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate relative to bin_window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "by", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate relative to bin_window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tx", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for tree X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "ty", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for tree Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_convert_bin_window_to_tree_coords" gtk_tree_view_convert_bin_window_to_tree_coords :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- bx : TBasicType TInt
+    Int32 ->                                -- by : TBasicType TInt
+    Ptr Int32 ->                            -- tx : TBasicType TInt
+    Ptr Int32 ->                            -- ty : TBasicType TInt
+    IO ()
+
+{- |
+Converts bin_window coordinates to coordinates for the
+tree (the full scrollable area of the tree).
+
+/Since: 2.12/
+-}
+treeViewConvertBinWindowToTreeCoords ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@bx@/: X coordinate relative to bin_window -}
+    -> Int32
+    {- ^ /@by@/: Y coordinate relative to bin_window -}
+    -> m ((Int32, Int32))
+treeViewConvertBinWindowToTreeCoords treeView bx by = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    tx <- allocMem :: IO (Ptr Int32)
+    ty <- allocMem :: IO (Ptr Int32)
+    gtk_tree_view_convert_bin_window_to_tree_coords treeView' bx by tx ty
+    tx' <- peek tx
+    ty' <- peek ty
+    touchManagedPtr treeView
+    freeMem tx
+    freeMem ty
+    return (tx', ty')
+
+#if ENABLE_OVERLOADING
+data TreeViewConvertBinWindowToTreeCoordsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewConvertBinWindowToTreeCoordsMethodInfo a signature where
+    overloadedMethod _ = treeViewConvertBinWindowToTreeCoords
+
+#endif
+
+-- method TreeView::convert_bin_window_to_widget_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bin_window X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "by", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bin_window Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wx", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for widget X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "wy", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for widget Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_convert_bin_window_to_widget_coords" gtk_tree_view_convert_bin_window_to_widget_coords :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- bx : TBasicType TInt
+    Int32 ->                                -- by : TBasicType TInt
+    Ptr Int32 ->                            -- wx : TBasicType TInt
+    Ptr Int32 ->                            -- wy : TBasicType TInt
+    IO ()
+
+{- |
+Converts bin_window coordinates (see 'GI.Gtk.Objects.TreeView.treeViewGetBinWindow')
+to widget relative coordinates.
+
+/Since: 2.12/
+-}
+treeViewConvertBinWindowToWidgetCoords ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@bx@/: bin_window X coordinate -}
+    -> Int32
+    {- ^ /@by@/: bin_window Y coordinate -}
+    -> m ((Int32, Int32))
+treeViewConvertBinWindowToWidgetCoords treeView bx by = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    wx <- allocMem :: IO (Ptr Int32)
+    wy <- allocMem :: IO (Ptr Int32)
+    gtk_tree_view_convert_bin_window_to_widget_coords treeView' bx by wx wy
+    wx' <- peek wx
+    wy' <- peek wy
+    touchManagedPtr treeView
+    freeMem wx
+    freeMem wy
+    return (wx', wy')
+
+#if ENABLE_OVERLOADING
+data TreeViewConvertBinWindowToWidgetCoordsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewConvertBinWindowToWidgetCoordsMethodInfo a signature where
+    overloadedMethod _ = treeViewConvertBinWindowToWidgetCoords
+
+#endif
+
+-- method TreeView::convert_tree_to_bin_window_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tree X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ty", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tree Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bx", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X coordinate relative to bin_window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "by", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y coordinate relative to bin_window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_convert_tree_to_bin_window_coords" gtk_tree_view_convert_tree_to_bin_window_coords :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- tx : TBasicType TInt
+    Int32 ->                                -- ty : TBasicType TInt
+    Ptr Int32 ->                            -- bx : TBasicType TInt
+    Ptr Int32 ->                            -- by : TBasicType TInt
+    IO ()
+
+{- |
+Converts tree coordinates (coordinates in full scrollable area of the tree)
+to bin_window coordinates.
+
+/Since: 2.12/
+-}
+treeViewConvertTreeToBinWindowCoords ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@tx@/: tree X coordinate -}
+    -> Int32
+    {- ^ /@ty@/: tree Y coordinate -}
+    -> m ((Int32, Int32))
+treeViewConvertTreeToBinWindowCoords treeView tx ty = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    bx <- allocMem :: IO (Ptr Int32)
+    by <- allocMem :: IO (Ptr Int32)
+    gtk_tree_view_convert_tree_to_bin_window_coords treeView' tx ty bx by
+    bx' <- peek bx
+    by' <- peek by
+    touchManagedPtr treeView
+    freeMem bx
+    freeMem by
+    return (bx', by')
+
+#if ENABLE_OVERLOADING
+data TreeViewConvertTreeToBinWindowCoordsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewConvertTreeToBinWindowCoordsMethodInfo a signature where
+    overloadedMethod _ = treeViewConvertTreeToBinWindowCoords
+
+#endif
+
+-- method TreeView::convert_tree_to_widget_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate relative to the tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ty", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate relative to the tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wx", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for widget X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "wy", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for widget Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_convert_tree_to_widget_coords" gtk_tree_view_convert_tree_to_widget_coords :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- tx : TBasicType TInt
+    Int32 ->                                -- ty : TBasicType TInt
+    Ptr Int32 ->                            -- wx : TBasicType TInt
+    Ptr Int32 ->                            -- wy : TBasicType TInt
+    IO ()
+
+{- |
+Converts tree coordinates (coordinates in full scrollable area of the tree)
+to widget coordinates.
+
+/Since: 2.12/
+-}
+treeViewConvertTreeToWidgetCoords ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@tx@/: X coordinate relative to the tree -}
+    -> Int32
+    {- ^ /@ty@/: Y coordinate relative to the tree -}
+    -> m ((Int32, Int32))
+treeViewConvertTreeToWidgetCoords treeView tx ty = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    wx <- allocMem :: IO (Ptr Int32)
+    wy <- allocMem :: IO (Ptr Int32)
+    gtk_tree_view_convert_tree_to_widget_coords treeView' tx ty wx wy
+    wx' <- peek wx
+    wy' <- peek wy
+    touchManagedPtr treeView
+    freeMem wx
+    freeMem wy
+    return (wx', wy')
+
+#if ENABLE_OVERLOADING
+data TreeViewConvertTreeToWidgetCoordsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewConvertTreeToWidgetCoordsMethodInfo a signature where
+    overloadedMethod _ = treeViewConvertTreeToWidgetCoords
+
+#endif
+
+-- method TreeView::convert_widget_to_bin_window_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate relative to the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wy", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate relative to the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bx", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for bin_window X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "by", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for bin_window Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_convert_widget_to_bin_window_coords" gtk_tree_view_convert_widget_to_bin_window_coords :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- wx : TBasicType TInt
+    Int32 ->                                -- wy : TBasicType TInt
+    Ptr Int32 ->                            -- bx : TBasicType TInt
+    Ptr Int32 ->                            -- by : TBasicType TInt
+    IO ()
+
+{- |
+Converts widget coordinates to coordinates for the bin_window
+(see 'GI.Gtk.Objects.TreeView.treeViewGetBinWindow').
+
+/Since: 2.12/
+-}
+treeViewConvertWidgetToBinWindowCoords ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@wx@/: X coordinate relative to the widget -}
+    -> Int32
+    {- ^ /@wy@/: Y coordinate relative to the widget -}
+    -> m ((Int32, Int32))
+treeViewConvertWidgetToBinWindowCoords treeView wx wy = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    bx <- allocMem :: IO (Ptr Int32)
+    by <- allocMem :: IO (Ptr Int32)
+    gtk_tree_view_convert_widget_to_bin_window_coords treeView' wx wy bx by
+    bx' <- peek bx
+    by' <- peek by
+    touchManagedPtr treeView
+    freeMem bx
+    freeMem by
+    return (bx', by')
+
+#if ENABLE_OVERLOADING
+data TreeViewConvertWidgetToBinWindowCoordsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewConvertWidgetToBinWindowCoordsMethodInfo a signature where
+    overloadedMethod _ = treeViewConvertWidgetToBinWindowCoords
+
+#endif
+
+-- method TreeView::convert_widget_to_tree_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate relative to the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wy", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate relative to the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tx", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for tree X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "ty", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for tree Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_convert_widget_to_tree_coords" gtk_tree_view_convert_widget_to_tree_coords :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- wx : TBasicType TInt
+    Int32 ->                                -- wy : TBasicType TInt
+    Ptr Int32 ->                            -- tx : TBasicType TInt
+    Ptr Int32 ->                            -- ty : TBasicType TInt
+    IO ()
+
+{- |
+Converts widget coordinates to coordinates for the
+tree (the full scrollable area of the tree).
+
+/Since: 2.12/
+-}
+treeViewConvertWidgetToTreeCoords ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@wx@/: X coordinate relative to the widget -}
+    -> Int32
+    {- ^ /@wy@/: Y coordinate relative to the widget -}
+    -> m ((Int32, Int32))
+treeViewConvertWidgetToTreeCoords treeView wx wy = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    tx <- allocMem :: IO (Ptr Int32)
+    ty <- allocMem :: IO (Ptr Int32)
+    gtk_tree_view_convert_widget_to_tree_coords treeView' wx wy tx ty
+    tx' <- peek tx
+    ty' <- peek ty
+    touchManagedPtr treeView
+    freeMem tx
+    freeMem ty
+    return (tx', ty')
+
+#if ENABLE_OVERLOADING
+data TreeViewConvertWidgetToTreeCoordsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Int32, Int32))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewConvertWidgetToTreeCoordsMethodInfo a signature where
+    overloadedMethod _ = treeViewConvertWidgetToTreeCoords
+
+#endif
+
+-- method TreeView::create_row_drag_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath in @tree_view", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_create_row_drag_icon" gtk_tree_view_create_row_drag_icon :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr Cairo.Surface.Surface)
+
+{- |
+Creates a 'GI.Cairo.Structs.Surface.Surface' representation of the row at /@path@/.
+This image is used for a drag icon.
+-}
+treeViewCreateRowDragIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' in /@treeView@/ -}
+    -> m Cairo.Surface.Surface
+    {- ^ __Returns:__ a newly-allocated surface of the drag icon. -}
+treeViewCreateRowDragIcon treeView path = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_view_create_row_drag_icon treeView' path'
+    checkUnexpectedReturnNULL "treeViewCreateRowDragIcon" result
+    result' <- (wrapBoxed Cairo.Surface.Surface) result
+    touchManagedPtr treeView
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewCreateRowDragIconMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Cairo.Surface.Surface), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewCreateRowDragIconMethodInfo a signature where
+    overloadedMethod _ = treeViewCreateRowDragIcon
+
+#endif
+
+-- method TreeView::enable_model_drag_dest
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the table of targets that\n          the drag will support", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the bitmask of possible actions for a drag from this\n   widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_enable_model_drag_dest" gtk_tree_view_enable_model_drag_dest :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    IO ()
+
+{- |
+Turns /@treeView@/ into a drop destination for automatic DND. Calling
+this method sets 'GI.Gtk.Objects.TreeView.TreeView':@/reorderable/@ to 'False'.
+-}
+treeViewEnableModelDragDest ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> [Gtk.TargetEntry.TargetEntry]
+    {- ^ /@targets@/: the table of targets that
+          the drag will support -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: the bitmask of possible actions for a drag from this
+   widget -}
+    -> m ()
+treeViewEnableModelDragDest treeView targets actions = liftIO $ do
+    let nTargets = fromIntegral $ length targets
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packBlockArray 16 targets'
+    let actions' = gflagsToWord actions
+    gtk_tree_view_enable_model_drag_dest treeView' targets'' nTargets actions'
+    touchManagedPtr treeView
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewEnableModelDragDestMethodInfo
+instance (signature ~ ([Gtk.TargetEntry.TargetEntry] -> [Gdk.Flags.DragAction] -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewEnableModelDragDestMethodInfo a signature where
+    overloadedMethod _ = treeViewEnableModelDragDest
+
+#endif
+
+-- method TreeView::enable_model_drag_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_button_mask", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Mask of allowed buttons to start drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the table of targets that the drag will support", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the bitmask of possible actions for a drag from this\n   widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_enable_model_drag_source" gtk_tree_view_enable_model_drag_source :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CUInt ->                                -- start_button_mask : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    IO ()
+
+{- |
+Turns /@treeView@/ into a drag source for automatic DND. Calling this
+method sets 'GI.Gtk.Objects.TreeView.TreeView':@/reorderable/@ to 'False'.
+-}
+treeViewEnableModelDragSource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@startButtonMask@/: Mask of allowed buttons to start drag -}
+    -> [Gtk.TargetEntry.TargetEntry]
+    {- ^ /@targets@/: the table of targets that the drag will support -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: the bitmask of possible actions for a drag from this
+   widget -}
+    -> m ()
+treeViewEnableModelDragSource treeView startButtonMask targets actions = liftIO $ do
+    let nTargets = fromIntegral $ length targets
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let startButtonMask' = gflagsToWord startButtonMask
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packBlockArray 16 targets'
+    let actions' = gflagsToWord actions
+    gtk_tree_view_enable_model_drag_source treeView' startButtonMask' targets'' nTargets actions'
+    touchManagedPtr treeView
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewEnableModelDragSourceMethodInfo
+instance (signature ~ ([Gdk.Flags.ModifierType] -> [Gtk.TargetEntry.TargetEntry] -> [Gdk.Flags.DragAction] -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewEnableModelDragSourceMethodInfo a signature where
+    overloadedMethod _ = treeViewEnableModelDragSource
+
+#endif
+
+-- method TreeView::expand_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_expand_all" gtk_tree_view_expand_all :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO ()
+
+{- |
+Recursively expands all nodes in the /@treeView@/.
+-}
+treeViewExpandAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> m ()
+treeViewExpandAll treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    gtk_tree_view_expand_all treeView'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewExpandAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewExpandAllMethodInfo a signature where
+    overloadedMethod _ = treeViewExpandAll
+
+#endif
+
+-- method TreeView::expand_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "path to a row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "open_all", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to recursively expand, or just expand immediate children", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_expand_row" gtk_tree_view_expand_row :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    CInt ->                                 -- open_all : TBasicType TBoolean
+    IO CInt
+
+{- |
+Opens the row so its children are visible.
+-}
+treeViewExpandRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: path to a row -}
+    -> Bool
+    {- ^ /@openAll@/: whether to recursively expand, or just expand immediate children -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the row existed and had children -}
+treeViewExpandRow treeView path openAll = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    let openAll' = (fromIntegral . fromEnum) openAll
+    result <- gtk_tree_view_expand_row treeView' path' openAll'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewExpandRowMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Bool -> m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewExpandRowMethodInfo a signature where
+    overloadedMethod _ = treeViewExpandRow
+
+#endif
+
+-- method TreeView::expand_to_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "path to a row.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_expand_to_path" gtk_tree_view_expand_to_path :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Expands the row at /@path@/. This will also expand all parent rows of
+/@path@/ as necessary.
+
+/Since: 2.2/
+-}
+treeViewExpandToPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: path to a row. -}
+    -> m ()
+treeViewExpandToPath treeView path = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_view_expand_to_path treeView' path'
+    touchManagedPtr treeView
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewExpandToPathMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewExpandToPathMethodInfo a signature where
+    overloadedMethod _ = treeViewExpandToPath
+
+#endif
+
+-- method TreeView::get_activate_on_single_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_activate_on_single_click" gtk_tree_view_get_activate_on_single_click :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Gets the setting set by 'GI.Gtk.Objects.TreeView.treeViewSetActivateOnSingleClick'.
+
+/Since: 3.8/
+-}
+treeViewGetActivateOnSingleClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if row-activated will be emitted on a single click -}
+treeViewGetActivateOnSingleClick treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_activate_on_single_click treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetActivateOnSingleClickMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetActivateOnSingleClickMethodInfo a signature where
+    overloadedMethod _ = treeViewGetActivateOnSingleClick
+
+#endif
+
+-- method TreeView::get_background_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreePath for the row, or %NULL to get only horizontal coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordiantes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle to fill with cell background rect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_background_area" gtk_tree_view_get_background_area :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Fills the bounding rectangle in bin_window coordinates for the cell at the
+row specified by /@path@/ and the column specified by /@column@/.  If /@path@/ is
+'Nothing', or points to a node not found in the tree, the /@y@/ and /@height@/ fields of
+the rectangle will be filled with 0. If /@column@/ is 'Nothing', the /@x@/ and /@width@/
+fields will be filled with 0.  The returned rectangle is equivalent to the
+/@backgroundArea@/ passed to 'GI.Gtk.Objects.CellRenderer.cellRendererRender'.  These background
+areas tile to cover the entire bin window.  Contrast with the /@cellArea@/,
+returned by 'GI.Gtk.Objects.TreeView.treeViewGetCellArea', which returns only the cell
+itself, excluding surrounding borders and the tree expander area.
+-}
+treeViewGetBackgroundArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (Gtk.TreePath.TreePath)
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' for the row, or 'Nothing' to get only horizontal coordinates -}
+    -> Maybe (b)
+    {- ^ /@column@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' for the column, or 'Nothing' to get only vertical coordiantes -}
+    -> m (Gdk.Rectangle.Rectangle)
+treeViewGetBackgroundArea treeView path column = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybePath <- case path of
+        Nothing -> return nullPtr
+        Just jPath -> do
+            jPath' <- unsafeManagedPtrGetPtr jPath
+            return jPath'
+    maybeColumn <- case column of
+        Nothing -> return nullPtr
+        Just jColumn -> do
+            jColumn' <- unsafeManagedPtrCastPtr jColumn
+            return jColumn'
+    rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_tree_view_get_background_area treeView' maybePath maybeColumn rect
+    rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect
+    touchManagedPtr treeView
+    whenJust path touchManagedPtr
+    whenJust column touchManagedPtr
+    return rect'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetBackgroundAreaMethodInfo
+instance (signature ~ (Maybe (Gtk.TreePath.TreePath) -> Maybe (b) -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) => O.MethodInfo TreeViewGetBackgroundAreaMethodInfo a signature where
+    overloadedMethod _ = treeViewGetBackgroundArea
+
+#endif
+
+-- method TreeView::get_bin_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_bin_window" gtk_tree_view_get_bin_window :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Returns the window that /@treeView@/ renders to.
+This is used primarily to compare to @event->window@
+to confirm that the event on /@treeView@/ is on the right window.
+-}
+treeViewGetBinWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m (Maybe Gdk.Window.Window)
+    {- ^ __Returns:__ A 'GI.Gdk.Objects.Window.Window', or 'Nothing' when /@treeView@/
+hasn’t been realized yet. -}
+treeViewGetBinWindow treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_bin_window treeView'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Window.Window) result'
+        return result''
+    touchManagedPtr treeView
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeViewGetBinWindowMethodInfo
+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetBinWindowMethodInfo a signature where
+    overloadedMethod _ = treeViewGetBinWindow
+
+#endif
+
+-- method TreeView::get_cell_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreePath for the row, or %NULL to get only horizontal coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle to fill with cell rect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_cell_area" gtk_tree_view_get_cell_area :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Fills the bounding rectangle in bin_window coordinates for the cell at the
+row specified by /@path@/ and the column specified by /@column@/.  If /@path@/ is
+'Nothing', or points to a path not currently displayed, the /@y@/ and /@height@/ fields
+of the rectangle will be filled with 0. If /@column@/ is 'Nothing', the /@x@/ and /@width@/
+fields will be filled with 0.  The sum of all cell rects does not cover the
+entire tree; there are extra pixels in between rows, for example. The
+returned rectangle is equivalent to the /@cellArea@/ passed to
+'GI.Gtk.Objects.CellRenderer.cellRendererRender'.  This function is only valid if /@treeView@/ is
+realized.
+-}
+treeViewGetCellArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (Gtk.TreePath.TreePath)
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' for the row, or 'Nothing' to get only horizontal coordinates -}
+    -> Maybe (b)
+    {- ^ /@column@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' for the column, or 'Nothing' to get only vertical coordinates -}
+    -> m (Gdk.Rectangle.Rectangle)
+treeViewGetCellArea treeView path column = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybePath <- case path of
+        Nothing -> return nullPtr
+        Just jPath -> do
+            jPath' <- unsafeManagedPtrGetPtr jPath
+            return jPath'
+    maybeColumn <- case column of
+        Nothing -> return nullPtr
+        Just jColumn -> do
+            jColumn' <- unsafeManagedPtrCastPtr jColumn
+            return jColumn'
+    rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_tree_view_get_cell_area treeView' maybePath maybeColumn rect
+    rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect
+    touchManagedPtr treeView
+    whenJust path touchManagedPtr
+    whenJust column touchManagedPtr
+    return rect'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetCellAreaMethodInfo
+instance (signature ~ (Maybe (Gtk.TreePath.TreePath) -> Maybe (b) -> m (Gdk.Rectangle.Rectangle)), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) => O.MethodInfo TreeViewGetCellAreaMethodInfo a signature where
+    overloadedMethod _ = treeViewGetCellArea
+
+#endif
+
+-- method TreeView::get_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position of the column, counting from 0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_column" gtk_tree_view_get_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- n : TBasicType TInt
+    IO (Ptr Gtk.TreeViewColumn.TreeViewColumn)
+
+{- |
+Gets the 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' at the given position in the @/tree_view/@.
+-}
+treeViewGetColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Int32
+    {- ^ /@n@/: The position of the column, counting from 0. -}
+    -> m (Maybe Gtk.TreeViewColumn.TreeViewColumn)
+    {- ^ __Returns:__ The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn', or 'Nothing' if the
+position is outside the range of columns. -}
+treeViewGetColumn treeView n = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_column treeView' n
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) result'
+        return result''
+    touchManagedPtr treeView
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeViewGetColumnMethodInfo
+instance (signature ~ (Int32 -> m (Maybe Gtk.TreeViewColumn.TreeViewColumn)), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewGetColumn
+
+#endif
+
+-- method TreeView::get_columns
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_columns" gtk_tree_view_get_columns :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO (Ptr (GList (Ptr Gtk.TreeViewColumn.TreeViewColumn)))
+
+{- |
+Returns a 'GI.GLib.Structs.List.List' of all the 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' s currently in /@treeView@/.
+The returned list must be freed with g_list_free ().
+-}
+treeViewGetColumns ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m [Gtk.TreeViewColumn.TreeViewColumn]
+    {- ^ __Returns:__ A list of 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' s -}
+treeViewGetColumns treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_columns treeView'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.TreeViewColumn.TreeViewColumn) result'
+    g_list_free result
+    touchManagedPtr treeView
+    return result''
+
+#if ENABLE_OVERLOADING
+data TreeViewGetColumnsMethodInfo
+instance (signature ~ (m [Gtk.TreeViewColumn.TreeViewColumn]), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetColumnsMethodInfo a signature where
+    overloadedMethod _ = treeViewGetColumns
+
+#endif
+
+-- method TreeView::get_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A pointer to be\n  filled with the current cursor path, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "focus_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A\n  pointer to be filled with the current focus column, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_cursor" gtk_tree_view_get_cursor :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr (Ptr Gtk.TreeViewColumn.TreeViewColumn) -> -- focus_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO ()
+
+{- |
+Fills in /@path@/ and /@focusColumn@/ with the current path and focus column.  If
+the cursor isn’t currently set, then */@path@/ will be 'Nothing'.  If no column
+currently has focus, then */@focusColumn@/ will be 'Nothing'.
+
+The returned 'GI.Gtk.Structs.TreePath.TreePath' must be freed with 'GI.Gtk.Structs.TreePath.treePathFree' when
+you are done with it.
+-}
+treeViewGetCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m ((Maybe Gtk.TreePath.TreePath, Maybe Gtk.TreeViewColumn.TreeViewColumn))
+treeViewGetCursor treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    focusColumn <- allocMem :: IO (Ptr (Ptr Gtk.TreeViewColumn.TreeViewColumn))
+    gtk_tree_view_get_cursor treeView' path focusColumn
+    path' <- peek path
+    maybePath' <- convertIfNonNull path' $ \path'' -> do
+        path''' <- (wrapBoxed Gtk.TreePath.TreePath) path''
+        return path'''
+    focusColumn' <- peek focusColumn
+    maybeFocusColumn' <- convertIfNonNull focusColumn' $ \focusColumn'' -> do
+        focusColumn''' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) focusColumn''
+        return focusColumn'''
+    touchManagedPtr treeView
+    freeMem path
+    freeMem focusColumn
+    return (maybePath', maybeFocusColumn')
+
+#if ENABLE_OVERLOADING
+data TreeViewGetCursorMethodInfo
+instance (signature ~ (m ((Maybe Gtk.TreePath.TreePath, Maybe Gtk.TreeViewColumn.TreeViewColumn))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetCursorMethodInfo a signature where
+    overloadedMethod _ = treeViewGetCursor
+
+#endif
+
+-- method TreeView::get_dest_row_at_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "drag_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to determine the destination row for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "drag_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to determine the destination row for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Return location for the path of\n  the highlighted row, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "pos", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewDropPosition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the drop position, or\n  %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_dest_row_at_pos" gtk_tree_view_get_dest_row_at_pos :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- drag_x : TBasicType TInt
+    Int32 ->                                -- drag_y : TBasicType TInt
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr CUInt ->                            -- pos : TInterface (Name {namespace = "Gtk", name = "TreeViewDropPosition"})
+    IO CInt
+
+{- |
+Determines the destination row for a given position.  /@dragX@/ and
+/@dragY@/ are expected to be in widget coordinates.  This function is only
+meaningful if /@treeView@/ is realized.  Therefore this function will always
+return 'False' if /@treeView@/ is not realized or does not have a model.
+-}
+treeViewGetDestRowAtPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@dragX@/: the position to determine the destination row for -}
+    -> Int32
+    {- ^ /@dragY@/: the position to determine the destination row for -}
+    -> m ((Bool, Maybe Gtk.TreePath.TreePath, Gtk.Enums.TreeViewDropPosition))
+    {- ^ __Returns:__ whether there is a row at the given position, 'True' if this
+is indeed the case. -}
+treeViewGetDestRowAtPos treeView dragX dragY = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    pos <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_tree_view_get_dest_row_at_pos treeView' dragX dragY path pos
+    let result' = (/= 0) result
+    path' <- peek path
+    maybePath' <- convertIfNonNull path' $ \path'' -> do
+        path''' <- (wrapBoxed Gtk.TreePath.TreePath) path''
+        return path'''
+    pos' <- peek pos
+    let pos'' = (toEnum . fromIntegral) pos'
+    touchManagedPtr treeView
+    freeMem path
+    freeMem pos
+    return (result', maybePath', pos'')
+
+#if ENABLE_OVERLOADING
+data TreeViewGetDestRowAtPosMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Bool, Maybe Gtk.TreePath.TreePath, Gtk.Enums.TreeViewDropPosition))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetDestRowAtPosMethodInfo a signature where
+    overloadedMethod _ = treeViewGetDestRowAtPos
+
+#endif
+
+-- method TreeView::get_drag_dest_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Return location for the path of the highlighted row, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "pos", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewDropPosition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the drop position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_drag_dest_row" gtk_tree_view_get_drag_dest_row :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr CUInt ->                            -- pos : TInterface (Name {namespace = "Gtk", name = "TreeViewDropPosition"})
+    IO ()
+
+{- |
+Gets information about the row that is highlighted for feedback.
+-}
+treeViewGetDragDestRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m ((Maybe Gtk.TreePath.TreePath, Gtk.Enums.TreeViewDropPosition))
+treeViewGetDragDestRow treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    pos <- allocMem :: IO (Ptr CUInt)
+    gtk_tree_view_get_drag_dest_row treeView' path pos
+    path' <- peek path
+    maybePath' <- convertIfNonNull path' $ \path'' -> do
+        path''' <- (wrapBoxed Gtk.TreePath.TreePath) path''
+        return path'''
+    pos' <- peek pos
+    let pos'' = (toEnum . fromIntegral) pos'
+    touchManagedPtr treeView
+    freeMem path
+    freeMem pos
+    return (maybePath', pos'')
+
+#if ENABLE_OVERLOADING
+data TreeViewGetDragDestRowMethodInfo
+instance (signature ~ (m ((Maybe Gtk.TreePath.TreePath, Gtk.Enums.TreeViewDropPosition))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetDragDestRowMethodInfo a signature where
+    overloadedMethod _ = treeViewGetDragDestRow
+
+#endif
+
+-- method TreeView::get_enable_search
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_enable_search" gtk_tree_view_get_enable_search :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns whether or not the tree allows to start interactive searching
+by typing in text.
+-}
+treeViewGetEnableSearch ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Bool
+    {- ^ __Returns:__ whether or not to let the user search interactively -}
+treeViewGetEnableSearch treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_enable_search treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetEnableSearchMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetEnableSearchMethodInfo a signature where
+    overloadedMethod _ = treeViewGetEnableSearch
+
+#endif
+
+-- method TreeView::get_enable_tree_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_enable_tree_lines" gtk_tree_view_get_enable_tree_lines :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns whether or not tree lines are drawn in /@treeView@/.
+
+/Since: 2.10/
+-}
+treeViewGetEnableTreeLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if tree lines are drawn in /@treeView@/, 'False'
+otherwise. -}
+treeViewGetEnableTreeLines treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_enable_tree_lines treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetEnableTreeLinesMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetEnableTreeLinesMethodInfo a signature where
+    overloadedMethod _ = treeViewGetEnableTreeLines
+
+#endif
+
+-- method TreeView::get_expander_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_expander_column" gtk_tree_view_get_expander_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO (Ptr Gtk.TreeViewColumn.TreeViewColumn)
+
+{- |
+Returns the column that is the current expander column.
+This column has the expander arrow drawn next to it.
+-}
+treeViewGetExpanderColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Gtk.TreeViewColumn.TreeViewColumn
+    {- ^ __Returns:__ The expander column. -}
+treeViewGetExpanderColumn treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_expander_column treeView'
+    checkUnexpectedReturnNULL "treeViewGetExpanderColumn" result
+    result' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetExpanderColumnMethodInfo
+instance (signature ~ (m Gtk.TreeViewColumn.TreeViewColumn), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetExpanderColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewGetExpanderColumn
+
+#endif
+
+-- method TreeView::get_fixed_height_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_fixed_height_mode" gtk_tree_view_get_fixed_height_mode :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns whether fixed height mode is turned on for /@treeView@/.
+
+/Since: 2.6/
+-}
+treeViewGetFixedHeightMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@treeView@/ is in fixed height mode -}
+treeViewGetFixedHeightMode treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_fixed_height_mode treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetFixedHeightModeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetFixedHeightModeMethodInfo a signature where
+    overloadedMethod _ = treeViewGetFixedHeightMode
+
+#endif
+
+-- method TreeView::get_grid_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeViewGridLines"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_grid_lines" gtk_tree_view_get_grid_lines :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CUInt
+
+{- |
+Returns which grid lines are enabled in /@treeView@/.
+
+/Since: 2.10/
+-}
+treeViewGetGridLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Gtk.Enums.TreeViewGridLines
+    {- ^ __Returns:__ a 'GI.Gtk.Enums.TreeViewGridLines' value indicating which grid lines
+are enabled. -}
+treeViewGetGridLines treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_grid_lines treeView'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetGridLinesMethodInfo
+instance (signature ~ (m Gtk.Enums.TreeViewGridLines), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetGridLinesMethodInfo a signature where
+    overloadedMethod _ = treeViewGetGridLines
+
+#endif
+
+-- method TreeView::get_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_hadjustment" gtk_tree_view_get_hadjustment :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED treeViewGetHadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetHadjustment'"] #-}
+{- |
+Gets the 'GI.Gtk.Objects.Adjustment.Adjustment' currently being used for the horizontal aspect.
+-}
+treeViewGetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.Adjustment.Adjustment' object, or 'Nothing'
+    if none is currently being used. -}
+treeViewGetHadjustment treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_hadjustment treeView'
+    checkUnexpectedReturnNULL "treeViewGetHadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetHadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = treeViewGetHadjustment
+
+#endif
+
+-- method TreeView::get_headers_clickable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_headers_clickable" gtk_tree_view_get_headers_clickable :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns whether all header columns are clickable.
+
+/Since: 2.10/
+-}
+treeViewGetHeadersClickable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if all header columns are clickable, otherwise 'False' -}
+treeViewGetHeadersClickable treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_headers_clickable treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetHeadersClickableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetHeadersClickableMethodInfo a signature where
+    overloadedMethod _ = treeViewGetHeadersClickable
+
+#endif
+
+-- method TreeView::get_headers_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_headers_visible" gtk_tree_view_get_headers_visible :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns 'True' if the headers on the /@treeView@/ are visible.
+-}
+treeViewGetHeadersVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> m Bool
+    {- ^ __Returns:__ Whether the headers are visible or not. -}
+treeViewGetHeadersVisible treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_headers_visible treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetHeadersVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetHeadersVisibleMethodInfo a signature where
+    overloadedMethod _ = treeViewGetHeadersVisible
+
+#endif
+
+-- method TreeView::get_hover_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_hover_expand" gtk_tree_view_get_hover_expand :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns whether hover expansion mode is turned on for /@treeView@/.
+
+/Since: 2.6/
+-}
+treeViewGetHoverExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@treeView@/ is in hover expansion mode -}
+treeViewGetHoverExpand treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_hover_expand treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetHoverExpandMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetHoverExpandMethodInfo a signature where
+    overloadedMethod _ = treeViewGetHoverExpand
+
+#endif
+
+-- method TreeView::get_hover_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_hover_selection" gtk_tree_view_get_hover_selection :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns whether hover selection mode is turned on for /@treeView@/.
+
+/Since: 2.6/
+-}
+treeViewGetHoverSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@treeView@/ is in hover selection mode -}
+treeViewGetHoverSelection treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_hover_selection treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetHoverSelectionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetHoverSelectionMethodInfo a signature where
+    overloadedMethod _ = treeViewGetHoverSelection
+
+#endif
+
+-- method TreeView::get_level_indentation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_level_indentation" gtk_tree_view_get_level_indentation :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO Int32
+
+{- |
+Returns the amount, in pixels, of extra indentation for child levels
+in /@treeView@/.
+
+/Since: 2.12/
+-}
+treeViewGetLevelIndentation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> m Int32
+    {- ^ __Returns:__ the amount of extra indentation for child levels in
+/@treeView@/.  A return value of 0 means that this feature is disabled. -}
+treeViewGetLevelIndentation treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_level_indentation treeView'
+    touchManagedPtr treeView
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewGetLevelIndentationMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetLevelIndentationMethodInfo a signature where
+    overloadedMethod _ = treeViewGetLevelIndentation
+
+#endif
+
+-- method TreeView::get_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_model" gtk_tree_view_get_model :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO (Ptr Gtk.TreeModel.TreeModel)
+
+{- |
+Returns the model the 'GI.Gtk.Objects.TreeView.TreeView' is based on.  Returns 'Nothing' if the
+model is unset.
+-}
+treeViewGetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m (Maybe Gtk.TreeModel.TreeModel)
+    {- ^ __Returns:__ A 'GI.Gtk.Interfaces.TreeModel.TreeModel', or 'Nothing' if
+none is currently being used. -}
+treeViewGetModel treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_model treeView'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.TreeModel.TreeModel) result'
+        return result''
+    touchManagedPtr treeView
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeViewGetModelMethodInfo
+instance (signature ~ (m (Maybe Gtk.TreeModel.TreeModel)), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetModelMethodInfo a signature where
+    overloadedMethod _ = treeViewGetModel
+
+#endif
+
+-- method TreeView::get_n_columns
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_n_columns" gtk_tree_view_get_n_columns :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO Word32
+
+{- |
+Queries the number of columns in the given /@treeView@/.
+
+/Since: 3.4/
+-}
+treeViewGetNColumns ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Word32
+    {- ^ __Returns:__ The number of columns in the /@treeView@/ -}
+treeViewGetNColumns treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_n_columns treeView'
+    touchManagedPtr treeView
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewGetNColumnsMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetNColumnsMethodInfo a signature where
+    overloadedMethod _ = treeViewGetNColumns
+
+#endif
+
+-- method TreeView::get_path_at_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The x position to be identified (relative to bin_window).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The y position to be identified (relative to bin_window).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A pointer to a #GtkTreePath\n  pointer to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A pointer to\n  a #GtkTreeViewColumn pointer to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer where the X coordinate\n  relative to the cell can be placed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cell_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer where the Y coordinate\n  relative to the cell can be placed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_path_at_pos" gtk_tree_view_get_path_at_pos :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr (Ptr Gtk.TreeViewColumn.TreeViewColumn) -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Int32 ->                            -- cell_x : TBasicType TInt
+    Ptr Int32 ->                            -- cell_y : TBasicType TInt
+    IO CInt
+
+{- |
+Finds the path at the point (/@x@/, /@y@/), relative to bin_window coordinates
+(please see 'GI.Gtk.Objects.TreeView.treeViewGetBinWindow').
+That is, /@x@/ and /@y@/ are relative to an events coordinates. /@x@/ and /@y@/ must
+come from an event on the /@treeView@/ only where @event->window ==
+gtk_tree_view_get_bin_window ()@. It is primarily for
+things like popup menus. If /@path@/ is non-'Nothing', then it will be filled
+with the 'GI.Gtk.Structs.TreePath.TreePath' at that point.  This path should be freed with
+'GI.Gtk.Structs.TreePath.treePathFree'.  If /@column@/ is non-'Nothing', then it will be filled
+with the column at that point.  /@cellX@/ and /@cellY@/ return the coordinates
+relative to the cell background (i.e. the /@backgroundArea@/ passed to
+'GI.Gtk.Objects.CellRenderer.cellRendererRender').  This function is only meaningful if
+/@treeView@/ is realized.  Therefore this function will always return 'False'
+if /@treeView@/ is not realized or does not have a model.
+
+For converting widget coordinates (eg. the ones you get from
+GtkWidget::query-tooltip), please see
+'GI.Gtk.Objects.TreeView.treeViewConvertWidgetToBinWindowCoords'.
+-}
+treeViewGetPathAtPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Int32
+    {- ^ /@x@/: The x position to be identified (relative to bin_window). -}
+    -> Int32
+    {- ^ /@y@/: The y position to be identified (relative to bin_window). -}
+    -> m ((Bool, Maybe Gtk.TreePath.TreePath, Maybe Gtk.TreeViewColumn.TreeViewColumn, Int32, Int32))
+    {- ^ __Returns:__ 'True' if a row exists at that coordinate. -}
+treeViewGetPathAtPos treeView x y = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    column <- allocMem :: IO (Ptr (Ptr Gtk.TreeViewColumn.TreeViewColumn))
+    cellX <- allocMem :: IO (Ptr Int32)
+    cellY <- allocMem :: IO (Ptr Int32)
+    result <- gtk_tree_view_get_path_at_pos treeView' x y path column cellX cellY
+    let result' = (/= 0) result
+    path' <- peek path
+    maybePath' <- convertIfNonNull path' $ \path'' -> do
+        path''' <- (wrapBoxed Gtk.TreePath.TreePath) path''
+        return path'''
+    column' <- peek column
+    maybeColumn' <- convertIfNonNull column' $ \column'' -> do
+        column''' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) column''
+        return column'''
+    cellX' <- peek cellX
+    cellY' <- peek cellY
+    touchManagedPtr treeView
+    freeMem path
+    freeMem column
+    freeMem cellX
+    freeMem cellY
+    return (result', maybePath', maybeColumn', cellX', cellY')
+
+#if ENABLE_OVERLOADING
+data TreeViewGetPathAtPosMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Bool, Maybe Gtk.TreePath.TreePath, Maybe Gtk.TreeViewColumn.TreeViewColumn, Int32, Int32))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetPathAtPosMethodInfo a signature where
+    overloadedMethod _ = treeViewGetPathAtPos
+
+#endif
+
+-- method TreeView::get_reorderable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_reorderable" gtk_tree_view_get_reorderable :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Retrieves whether the user can reorder the tree via drag-and-drop. See
+'GI.Gtk.Objects.TreeView.treeViewSetReorderable'.
+-}
+treeViewGetReorderable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the tree can be reordered. -}
+treeViewGetReorderable treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_reorderable treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetReorderableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetReorderableMethodInfo a signature where
+    overloadedMethod _ = treeViewGetReorderable
+
+#endif
+
+-- method TreeView::get_rubber_banding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_rubber_banding" gtk_tree_view_get_rubber_banding :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns whether rubber banding is turned on for /@treeView@/.  If the
+selection mode is @/GTK_SELECTION_MULTIPLE/@, rubber banding will allow the
+user to select multiple rows by dragging the mouse.
+
+/Since: 2.10/
+-}
+treeViewGetRubberBanding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if rubber banding in /@treeView@/ is enabled. -}
+treeViewGetRubberBanding treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_rubber_banding treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetRubberBandingMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetRubberBandingMethodInfo a signature where
+    overloadedMethod _ = treeViewGetRubberBanding
+
+#endif
+
+-- method TreeView::get_rules_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_rules_hint" gtk_tree_view_get_rules_hint :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{-# DEPRECATED treeViewGetRulesHint ["(Since version 3.14)"] #-}
+{- |
+Gets the setting set by 'GI.Gtk.Objects.TreeView.treeViewSetRulesHint'.
+-}
+treeViewGetRulesHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the hint is set -}
+treeViewGetRulesHint treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_rules_hint treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetRulesHintMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetRulesHintMethodInfo a signature where
+    overloadedMethod _ = treeViewGetRulesHint
+
+#endif
+
+-- method TreeView::get_search_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_search_column" gtk_tree_view_get_search_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO Int32
+
+{- |
+Gets the column searched on by the interactive search code.
+-}
+treeViewGetSearchColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Int32
+    {- ^ __Returns:__ the column the interactive search code searches in. -}
+treeViewGetSearchColumn treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_search_column treeView'
+    touchManagedPtr treeView
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewGetSearchColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetSearchColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewGetSearchColumn
+
+#endif
+
+-- method TreeView::get_search_entry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Entry"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_search_entry" gtk_tree_view_get_search_entry :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO (Ptr Gtk.Entry.Entry)
+
+{- |
+Returns the 'GI.Gtk.Objects.Entry.Entry' which is currently in use as interactive search
+entry for /@treeView@/.  In case the built-in entry is being used, 'Nothing'
+will be returned.
+
+/Since: 2.10/
+-}
+treeViewGetSearchEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Gtk.Entry.Entry
+    {- ^ __Returns:__ the entry currently in use as search entry. -}
+treeViewGetSearchEntry treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_search_entry treeView'
+    checkUnexpectedReturnNULL "treeViewGetSearchEntry" result
+    result' <- (newObject Gtk.Entry.Entry) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetSearchEntryMethodInfo
+instance (signature ~ (m Gtk.Entry.Entry), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetSearchEntryMethodInfo a signature where
+    overloadedMethod _ = treeViewGetSearchEntry
+
+#endif
+
+-- method TreeView::get_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeSelection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_selection" gtk_tree_view_get_selection :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO (Ptr Gtk.TreeSelection.TreeSelection)
+
+{- |
+Gets the 'GI.Gtk.Objects.TreeSelection.TreeSelection' associated with /@treeView@/.
+-}
+treeViewGetSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> m Gtk.TreeSelection.TreeSelection
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.TreeSelection.TreeSelection' object. -}
+treeViewGetSelection treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_selection treeView'
+    checkUnexpectedReturnNULL "treeViewGetSelection" result
+    result' <- (newObject Gtk.TreeSelection.TreeSelection) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetSelectionMethodInfo
+instance (signature ~ (m Gtk.TreeSelection.TreeSelection), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetSelectionMethodInfo a signature where
+    overloadedMethod _ = treeViewGetSelection
+
+#endif
+
+-- method TreeView::get_show_expanders
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_show_expanders" gtk_tree_view_get_show_expanders :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns whether or not expanders are drawn in /@treeView@/.
+
+/Since: 2.12/
+-}
+treeViewGetShowExpanders ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if expanders are drawn in /@treeView@/, 'False'
+otherwise. -}
+treeViewGetShowExpanders treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_show_expanders treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetShowExpandersMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetShowExpandersMethodInfo a signature where
+    overloadedMethod _ = treeViewGetShowExpanders
+
+#endif
+
+-- method TreeView::get_tooltip_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_tooltip_column" gtk_tree_view_get_tooltip_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO Int32
+
+{- |
+Returns the column of /@treeView@/’s model which is being used for
+displaying tooltips on /@treeView@/’s rows.
+
+/Since: 2.12/
+-}
+treeViewGetTooltipColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Int32
+    {- ^ __Returns:__ the index of the tooltip column that is currently being
+used, or -1 if this is disabled. -}
+treeViewGetTooltipColumn treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_tooltip_column treeView'
+    touchManagedPtr treeView
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewGetTooltipColumnMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetTooltipColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewGetTooltipColumn
+
+#endif
+
+-- method TreeView::get_tooltip_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the x coordinate (relative to widget coordinates)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the y coordinate (relative to widget coordinates)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "keyboard_tip", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether this is a keyboard tooltip or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to\n        receive a #GtkTreeModel or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to receive a #GtkTreePath or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to receive a #GtkTreeIter or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_tooltip_context" gtk_tree_view_get_tooltip_context :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Int32 ->                            -- x : TBasicType TInt
+    Ptr Int32 ->                            -- y : TBasicType TInt
+    CInt ->                                 -- keyboard_tip : TBasicType TBoolean
+    Ptr (Ptr Gtk.TreeModel.TreeModel) ->    -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO CInt
+
+{- |
+This function is supposed to be used in a 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@
+signal handler for 'GI.Gtk.Objects.TreeView.TreeView'.  The /@x@/, /@y@/ and /@keyboardTip@/ values
+which are received in the signal handler, should be passed to this
+function without modification.
+
+The return value indicates whether there is a tree view row at the given
+coordinates ('True') or not ('False') for mouse tooltips.  For keyboard
+tooltips the row returned will be the cursor row.  When 'True', then any of
+/@model@/, /@path@/ and /@iter@/ which have been provided will be set to point to
+that row and the corresponding model.  /@x@/ and /@y@/ will always be converted
+to be relative to /@treeView@/’s bin_window if /@keyboardTooltip@/ is 'False'.
+
+/Since: 2.12/
+-}
+treeViewGetTooltipContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@x@/: the x coordinate (relative to widget coordinates) -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate (relative to widget coordinates) -}
+    -> Bool
+    {- ^ /@keyboardTip@/: whether this is a keyboard tooltip or not -}
+    -> m ((Bool, Int32, Int32, Maybe Gtk.TreeModel.TreeModel, Gtk.TreePath.TreePath, Gtk.TreeIter.TreeIter))
+    {- ^ __Returns:__ whether or not the given tooltip context points to a row. -}
+treeViewGetTooltipContext treeView x y keyboardTip = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    x' <- allocMem :: IO (Ptr Int32)
+    poke x' x
+    y' <- allocMem :: IO (Ptr Int32)
+    poke y' y
+    let keyboardTip' = (fromIntegral . fromEnum) keyboardTip
+    model <- allocMem :: IO (Ptr (Ptr Gtk.TreeModel.TreeModel))
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    iter <- callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
+    result <- gtk_tree_view_get_tooltip_context treeView' x' y' keyboardTip' model path iter
+    let result' = (/= 0) result
+    x'' <- peek x'
+    y'' <- peek y'
+    model' <- peek model
+    maybeModel' <- convertIfNonNull model' $ \model'' -> do
+        model''' <- (newObject Gtk.TreeModel.TreeModel) model''
+        return model'''
+    path' <- peek path
+    path'' <- (wrapBoxed Gtk.TreePath.TreePath) path'
+    iter' <- (wrapBoxed Gtk.TreeIter.TreeIter) iter
+    touchManagedPtr treeView
+    freeMem x'
+    freeMem y'
+    freeMem model
+    freeMem path
+    return (result', x'', y'', maybeModel', path'', iter')
+
+#if ENABLE_OVERLOADING
+data TreeViewGetTooltipContextMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Bool -> m ((Bool, Int32, Int32, Maybe Gtk.TreeModel.TreeModel, Gtk.TreePath.TreePath, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetTooltipContextMethodInfo a signature where
+    overloadedMethod _ = treeViewGetTooltipContext
+
+#endif
+
+-- method TreeView::get_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_vadjustment" gtk_tree_view_get_vadjustment :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED treeViewGetVadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetVadjustment'"] #-}
+{- |
+Gets the 'GI.Gtk.Objects.Adjustment.Adjustment' currently being used for the vertical aspect.
+-}
+treeViewGetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ A 'GI.Gtk.Objects.Adjustment.Adjustment' object, or 'Nothing'
+    if none is currently being used. -}
+treeViewGetVadjustment treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_get_vadjustment treeView'
+    checkUnexpectedReturnNULL "treeViewGetVadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetVadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = treeViewGetVadjustment
+
+#endif
+
+-- method TreeView::get_visible_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for start of region,\n             or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for end of region, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_visible_range" gtk_tree_view_get_visible_range :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- start_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- end_path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Sets /@startPath@/ and /@endPath@/ to be the first and last visible path.
+Note that there may be invisible paths in between.
+
+The paths should be freed with 'GI.Gtk.Structs.TreePath.treePathFree' after use.
+
+/Since: 2.8/
+-}
+treeViewGetVisibleRange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m ((Bool, Gtk.TreePath.TreePath, Gtk.TreePath.TreePath))
+    {- ^ __Returns:__ 'True', if valid paths were placed in /@startPath@/ and /@endPath@/. -}
+treeViewGetVisibleRange treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    startPath <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    endPath <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    result <- gtk_tree_view_get_visible_range treeView' startPath endPath
+    let result' = (/= 0) result
+    startPath' <- peek startPath
+    startPath'' <- (wrapBoxed Gtk.TreePath.TreePath) startPath'
+    endPath' <- peek endPath
+    endPath'' <- (wrapBoxed Gtk.TreePath.TreePath) endPath'
+    touchManagedPtr treeView
+    freeMem startPath
+    freeMem endPath
+    return (result', startPath'', endPath'')
+
+#if ENABLE_OVERLOADING
+data TreeViewGetVisibleRangeMethodInfo
+instance (signature ~ (m ((Bool, Gtk.TreePath.TreePath, Gtk.TreePath.TreePath))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetVisibleRangeMethodInfo a signature where
+    overloadedMethod _ = treeViewGetVisibleRange
+
+#endif
+
+-- method TreeView::get_visible_rect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible_rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rectangle to fill", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_get_visible_rect" gtk_tree_view_get_visible_rect :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- visible_rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Fills /@visibleRect@/ with the currently-visible region of the
+buffer, in tree coordinates. Convert to bin_window coordinates with
+'GI.Gtk.Objects.TreeView.treeViewConvertTreeToBinWindowCoords'.
+Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
+scrollable area of the tree.
+-}
+treeViewGetVisibleRect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m (Gdk.Rectangle.Rectangle)
+treeViewGetVisibleRect treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    visibleRect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_tree_view_get_visible_rect treeView' visibleRect
+    visibleRect' <- (wrapBoxed Gdk.Rectangle.Rectangle) visibleRect
+    touchManagedPtr treeView
+    return visibleRect'
+
+#if ENABLE_OVERLOADING
+data TreeViewGetVisibleRectMethodInfo
+instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewGetVisibleRectMethodInfo a signature where
+    overloadedMethod _ = treeViewGetVisibleRect
+
+#endif
+
+-- method TreeView::insert_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumn to be inserted.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position to insert @column in.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_insert_column" gtk_tree_view_insert_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Int32 ->                                -- position : TBasicType TInt
+    IO Int32
+
+{- |
+This inserts the /@column@/ into the /@treeView@/ at /@position@/.  If /@position@/ is
+-1, then the column is inserted at the end. If /@treeView@/ has
+“fixed_height” mode enabled, then /@column@/ must have its “sizing” property
+set to be GTK_TREE_VIEW_COLUMN_FIXED.
+-}
+treeViewInsertColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> b
+    {- ^ /@column@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' to be inserted. -}
+    -> Int32
+    {- ^ /@position@/: The position to insert /@column@/ in. -}
+    -> m Int32
+    {- ^ __Returns:__ The number of columns in /@treeView@/ after insertion. -}
+treeViewInsertColumn treeView column position = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    column' <- unsafeManagedPtrCastPtr column
+    result <- gtk_tree_view_insert_column treeView' column' position
+    touchManagedPtr treeView
+    touchManagedPtr column
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewInsertColumnMethodInfo
+instance (signature ~ (b -> Int32 -> m Int32), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) => O.MethodInfo TreeViewInsertColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewInsertColumn
+
+#endif
+
+-- method TreeView::insert_column_with_data_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Position to insert, -1 for append", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "column title", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "cell renderer for column", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeCellDataFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to set attributes of cell renderer", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 5, argDestroy = 6, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data for @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dnotify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notifier for @data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_insert_column_with_data_func" gtk_tree_view_insert_column_with_data_func :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- position : TBasicType TInt
+    CString ->                              -- title : TBasicType TUTF8
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    FunPtr Gtk.Callbacks.C_TreeCellDataFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeCellDataFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- dnotify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO Int32
+
+{- |
+Convenience function that inserts a new column into the 'GI.Gtk.Objects.TreeView.TreeView'
+with the given cell renderer and a 'GI.Gtk.Callbacks.TreeCellDataFunc' to set cell renderer
+attributes (normally using data from the model). See also
+'GI.Gtk.Objects.TreeViewColumn.treeViewColumnSetCellDataFunc', 'GI.Gtk.Objects.TreeViewColumn.treeViewColumnPackStart'.
+If /@treeView@/ has “fixed_height” mode enabled, then the new column will have its
+“sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.
+-}
+treeViewInsertColumnWithDataFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@position@/: Position to insert, -1 for append -}
+    -> T.Text
+    {- ^ /@title@/: column title -}
+    -> b
+    {- ^ /@cell@/: cell renderer for column -}
+    -> Gtk.Callbacks.TreeCellDataFunc
+    {- ^ /@func@/: function to set attributes of cell renderer -}
+    -> m Int32
+    {- ^ __Returns:__ number of columns in the tree view post-insert -}
+treeViewInsertColumnWithDataFunc treeView position title cell func = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    title' <- textToCString title
+    cell' <- unsafeManagedPtrCastPtr cell
+    func' <- Gtk.Callbacks.mk_TreeCellDataFunc (Gtk.Callbacks.wrap_TreeCellDataFunc Nothing (Gtk.Callbacks.drop_closures_TreeCellDataFunc func))
+    let data_ = castFunPtrToPtr func'
+    let dnotify = safeFreeFunPtrPtr
+    result <- gtk_tree_view_insert_column_with_data_func treeView' position title' cell' func' data_ dnotify
+    touchManagedPtr treeView
+    touchManagedPtr cell
+    freeMem title'
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewInsertColumnWithDataFuncMethodInfo
+instance (signature ~ (Int32 -> T.Text -> b -> Gtk.Callbacks.TreeCellDataFunc -> m Int32), MonadIO m, IsTreeView a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo TreeViewInsertColumnWithDataFuncMethodInfo a signature where
+    overloadedMethod _ = treeViewInsertColumnWithDataFunc
+
+#endif
+
+-- method TreeView::is_blank_at_pos
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The x position to be identified (relative to bin_window)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The y position to be identified (relative to bin_window)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A pointer to a #GtkTreePath pointer to\n  be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A pointer to a\n  #GtkTreeViewColumn pointer to be filled in, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer where the X coordinate relative to the\n  cell can be placed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cell_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer where the Y coordinate relative to the\n  cell can be placed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_is_blank_at_pos" gtk_tree_view_is_blank_at_pos :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Ptr (Ptr Gtk.TreePath.TreePath) ->      -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr (Ptr Gtk.TreeViewColumn.TreeViewColumn) -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Int32 ->                            -- cell_x : TBasicType TInt
+    Ptr Int32 ->                            -- cell_y : TBasicType TInt
+    IO CInt
+
+{- |
+Determine whether the point (/@x@/, /@y@/) in /@treeView@/ is blank, that is no
+cell content nor an expander arrow is drawn at the location. If so, the
+location can be considered as the background. You might wish to take
+special action on clicks on the background, such as clearing a current
+selection, having a custom context menu or starting rubber banding.
+
+The /@x@/ and /@y@/ coordinate that are provided must be relative to bin_window
+coordinates.  That is, /@x@/ and /@y@/ must come from an event on /@treeView@/
+where @event->window == gtk_tree_view_get_bin_window ()@.
+
+For converting widget coordinates (eg. the ones you get from
+GtkWidget::query-tooltip), please see
+'GI.Gtk.Objects.TreeView.treeViewConvertWidgetToBinWindowCoords'.
+
+The /@path@/, /@column@/, /@cellX@/ and /@cellY@/ arguments will be filled in
+likewise as for 'GI.Gtk.Objects.TreeView.treeViewGetPathAtPos'.  Please see
+'GI.Gtk.Objects.TreeView.treeViewGetPathAtPos' for more information.
+
+/Since: 3.0/
+-}
+treeViewIsBlankAtPos ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@x@/: The x position to be identified (relative to bin_window) -}
+    -> Int32
+    {- ^ /@y@/: The y position to be identified (relative to bin_window) -}
+    -> m ((Bool, Maybe Gtk.TreePath.TreePath, Maybe Gtk.TreeViewColumn.TreeViewColumn, Int32, Int32))
+    {- ^ __Returns:__ 'True' if the area at the given coordinates is blank,
+'False' otherwise. -}
+treeViewIsBlankAtPos treeView x y = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path <- allocMem :: IO (Ptr (Ptr Gtk.TreePath.TreePath))
+    column <- allocMem :: IO (Ptr (Ptr Gtk.TreeViewColumn.TreeViewColumn))
+    cellX <- allocMem :: IO (Ptr Int32)
+    cellY <- allocMem :: IO (Ptr Int32)
+    result <- gtk_tree_view_is_blank_at_pos treeView' x y path column cellX cellY
+    let result' = (/= 0) result
+    path' <- peek path
+    maybePath' <- convertIfNonNull path' $ \path'' -> do
+        path''' <- (wrapBoxed Gtk.TreePath.TreePath) path''
+        return path'''
+    column' <- peek column
+    maybeColumn' <- convertIfNonNull column' $ \column'' -> do
+        column''' <- (newObject Gtk.TreeViewColumn.TreeViewColumn) column''
+        return column'''
+    cellX' <- peek cellX
+    cellY' <- peek cellY
+    touchManagedPtr treeView
+    freeMem path
+    freeMem column
+    freeMem cellX
+    freeMem cellY
+    return (result', maybePath', maybeColumn', cellX', cellY')
+
+#if ENABLE_OVERLOADING
+data TreeViewIsBlankAtPosMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ((Bool, Maybe Gtk.TreePath.TreePath, Maybe Gtk.TreeViewColumn.TreeViewColumn, Int32, Int32))), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewIsBlankAtPosMethodInfo a signature where
+    overloadedMethod _ = treeViewIsBlankAtPos
+
+#endif
+
+-- method TreeView::is_rubber_banding_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_is_rubber_banding_active" gtk_tree_view_is_rubber_banding_active :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO CInt
+
+{- |
+Returns whether a rubber banding operation is currently being done
+in /@treeView@/.
+
+/Since: 2.12/
+-}
+treeViewIsRubberBandingActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a rubber banding operation is currently being
+done in /@treeView@/. -}
+treeViewIsRubberBandingActive treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    result <- gtk_tree_view_is_rubber_banding_active treeView'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewIsRubberBandingActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewIsRubberBandingActiveMethodInfo a signature where
+    overloadedMethod _ = treeViewIsRubberBandingActive
+
+#endif
+
+-- method TreeView::map_expanded_rows
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewMappingFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A function to be called", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data to be passed to the function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_map_expanded_rows" gtk_tree_view_map_expanded_rows :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    FunPtr Gtk.Callbacks.C_TreeViewMappingFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeViewMappingFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    IO ()
+
+{- |
+Calls /@func@/ on all expanded rows.
+-}
+treeViewMapExpandedRows ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.Callbacks.TreeViewMappingFunc
+    {- ^ /@func@/: A function to be called -}
+    -> m ()
+treeViewMapExpandedRows treeView func = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    func' <- Gtk.Callbacks.mk_TreeViewMappingFunc (Gtk.Callbacks.wrap_TreeViewMappingFunc Nothing (Gtk.Callbacks.drop_closures_TreeViewMappingFunc func))
+    let data_ = nullPtr
+    gtk_tree_view_map_expanded_rows treeView' func' data_
+    safeFreeFunPtr $ castFunPtrToPtr func'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewMapExpandedRowsMethodInfo
+instance (signature ~ (Gtk.Callbacks.TreeViewMappingFunc -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewMapExpandedRowsMethodInfo a signature where
+    overloadedMethod _ = treeViewMapExpandedRows
+
+#endif
+
+-- method TreeView::move_column_after
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumn to be moved.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumn to be moved relative to, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_move_column_after" gtk_tree_view_move_column_after :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- base_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO ()
+
+{- |
+Moves /@column@/ to be after to /@baseColumn@/.  If /@baseColumn@/ is 'Nothing', then
+/@column@/ is placed in the first position.
+-}
+treeViewMoveColumnAfter ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b, Gtk.TreeViewColumn.IsTreeViewColumn c) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> b
+    {- ^ /@column@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' to be moved. -}
+    -> Maybe (c)
+    {- ^ /@baseColumn@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' to be moved relative to, or 'Nothing'. -}
+    -> m ()
+treeViewMoveColumnAfter treeView column baseColumn = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    column' <- unsafeManagedPtrCastPtr column
+    maybeBaseColumn <- case baseColumn of
+        Nothing -> return nullPtr
+        Just jBaseColumn -> do
+            jBaseColumn' <- unsafeManagedPtrCastPtr jBaseColumn
+            return jBaseColumn'
+    gtk_tree_view_move_column_after treeView' column' maybeBaseColumn
+    touchManagedPtr treeView
+    touchManagedPtr column
+    whenJust baseColumn touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewMoveColumnAfterMethodInfo
+instance (signature ~ (b -> Maybe (c) -> m ()), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b, Gtk.TreeViewColumn.IsTreeViewColumn c) => O.MethodInfo TreeViewMoveColumnAfterMethodInfo a signature where
+    overloadedMethod _ = treeViewMoveColumnAfter
+
+#endif
+
+-- method TreeView::remove_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumn to remove.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_remove_column" gtk_tree_view_remove_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO Int32
+
+{- |
+Removes /@column@/ from /@treeView@/.
+-}
+treeViewRemoveColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> b
+    {- ^ /@column@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' to remove. -}
+    -> m Int32
+    {- ^ __Returns:__ The number of columns in /@treeView@/ after removing. -}
+treeViewRemoveColumn treeView column = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    column' <- unsafeManagedPtrCastPtr column
+    result <- gtk_tree_view_remove_column treeView' column'
+    touchManagedPtr treeView
+    touchManagedPtr column
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewRemoveColumnMethodInfo
+instance (signature ~ (b -> m Int32), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) => O.MethodInfo TreeViewRemoveColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewRemoveColumn
+
+#endif
+
+-- method TreeView::row_activated
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreePath to be activated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumn to be activated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_row_activated" gtk_tree_view_row_activated :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO ()
+
+{- |
+Activates the cell determined by /@path@/ and /@column@/.
+-}
+treeViewRowActivated ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: The 'GI.Gtk.Structs.TreePath.TreePath' to be activated. -}
+    -> b
+    {- ^ /@column@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' to be activated. -}
+    -> m ()
+treeViewRowActivated treeView path column = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    column' <- unsafeManagedPtrCastPtr column
+    gtk_tree_view_row_activated treeView' path' column'
+    touchManagedPtr treeView
+    touchManagedPtr path
+    touchManagedPtr column
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewRowActivatedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> b -> m ()), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) => O.MethodInfo TreeViewRowActivatedMethodInfo a signature where
+    overloadedMethod _ = treeViewRowActivated
+
+#endif
+
+-- method TreeView::row_expanded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath to test expansion state.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_row_expanded" gtk_tree_view_row_expanded :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Returns 'True' if the node pointed to by /@path@/ is expanded in /@treeView@/.
+-}
+treeViewRowExpanded ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: A 'GI.Gtk.Structs.TreePath.TreePath' to test expansion state. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if @/path/@ is expanded. -}
+treeViewRowExpanded treeView path = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_view_row_expanded treeView' path'
+    let result' = (/= 0) result
+    touchManagedPtr treeView
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewRowExpandedMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> m Bool), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewRowExpandedMethodInfo a signature where
+    overloadedMethod _ = treeViewRowExpanded
+
+#endif
+
+-- method TreeView::scroll_to_cell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The path of the row to move to, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumn to move horizontally to, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_align", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to use alignment arguments, or %FALSE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row_align", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The vertical alignment of the row specified by @path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "col_align", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The horizontal alignment of the column specified by @column.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_scroll_to_cell" gtk_tree_view_scroll_to_cell :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CInt ->                                 -- use_align : TBasicType TBoolean
+    CFloat ->                               -- row_align : TBasicType TFloat
+    CFloat ->                               -- col_align : TBasicType TFloat
+    IO ()
+
+{- |
+Moves the alignments of /@treeView@/ to the position specified by /@column@/ and
+/@path@/.  If /@column@/ is 'Nothing', then no horizontal scrolling occurs.  Likewise,
+if /@path@/ is 'Nothing' no vertical scrolling occurs.  At a minimum, one of /@column@/
+or /@path@/ need to be non-'Nothing'.  /@rowAlign@/ determines where the row is
+placed, and /@colAlign@/ determines where /@column@/ is placed.  Both are expected
+to be between 0.0 and 1.0. 0.0 means left\/top alignment, 1.0 means
+right\/bottom alignment, 0.5 means center.
+
+If /@useAlign@/ is 'False', then the alignment arguments are ignored, and the
+tree does the minimum amount of work to scroll the cell onto the screen.
+This means that the cell will be scrolled to the edge closest to its current
+position.  If the cell is currently visible on the screen, nothing is done.
+
+This function only works if the model is set, and /@path@/ is a valid row on the
+model.  If the model changes before the /@treeView@/ is realized, the centered
+path will be modified to reflect this change.
+-}
+treeViewScrollToCell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Maybe (Gtk.TreePath.TreePath)
+    {- ^ /@path@/: The path of the row to move to, or 'Nothing'. -}
+    -> Maybe (b)
+    {- ^ /@column@/: The 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' to move horizontally to, or 'Nothing'. -}
+    -> Bool
+    {- ^ /@useAlign@/: whether to use alignment arguments, or 'False'. -}
+    -> Float
+    {- ^ /@rowAlign@/: The vertical alignment of the row specified by /@path@/. -}
+    -> Float
+    {- ^ /@colAlign@/: The horizontal alignment of the column specified by /@column@/. -}
+    -> m ()
+treeViewScrollToCell treeView path column useAlign rowAlign colAlign = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybePath <- case path of
+        Nothing -> return nullPtr
+        Just jPath -> do
+            jPath' <- unsafeManagedPtrGetPtr jPath
+            return jPath'
+    maybeColumn <- case column of
+        Nothing -> return nullPtr
+        Just jColumn -> do
+            jColumn' <- unsafeManagedPtrCastPtr jColumn
+            return jColumn'
+    let useAlign' = (fromIntegral . fromEnum) useAlign
+    let rowAlign' = realToFrac rowAlign
+    let colAlign' = realToFrac colAlign
+    gtk_tree_view_scroll_to_cell treeView' maybePath maybeColumn useAlign' rowAlign' colAlign'
+    touchManagedPtr treeView
+    whenJust path touchManagedPtr
+    whenJust column touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewScrollToCellMethodInfo
+instance (signature ~ (Maybe (Gtk.TreePath.TreePath) -> Maybe (b) -> Bool -> Float -> Float -> m ()), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) => O.MethodInfo TreeViewScrollToCellMethodInfo a signature where
+    overloadedMethod _ = treeViewScrollToCell
+
+#endif
+
+-- method TreeView::scroll_to_point
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate of new top-left pixel of visible area, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate of new top-left pixel of visible area, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_scroll_to_point" gtk_tree_view_scroll_to_point :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- tree_x : TBasicType TInt
+    Int32 ->                                -- tree_y : TBasicType TInt
+    IO ()
+
+{- |
+Scrolls the tree view such that the top-left corner of the visible
+area is /@treeX@/, /@treeY@/, where /@treeX@/ and /@treeY@/ are specified
+in tree coordinates.  The /@treeView@/ must be realized before
+this function is called.  If it isn\'t, you probably want to be
+using 'GI.Gtk.Objects.TreeView.treeViewScrollToCell'.
+
+If either /@treeX@/ or /@treeY@/ are -1, then that direction isn’t scrolled.
+-}
+treeViewScrollToPoint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@treeX@/: X coordinate of new top-left pixel of visible area, or -1 -}
+    -> Int32
+    {- ^ /@treeY@/: Y coordinate of new top-left pixel of visible area, or -1 -}
+    -> m ()
+treeViewScrollToPoint treeView treeX treeY = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    gtk_tree_view_scroll_to_point treeView' treeX treeY
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewScrollToPointMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewScrollToPointMethodInfo a signature where
+    overloadedMethod _ = treeViewScrollToPoint
+
+#endif
+
+-- method TreeView::set_activate_on_single_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "single", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to emit row-activated on a single click", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_activate_on_single_click" gtk_tree_view_set_activate_on_single_click :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- single : TBasicType TBoolean
+    IO ()
+
+{- |
+Cause the 'GI.Gtk.Objects.TreeView.TreeView'::@/row-activated/@ signal to be emitted
+on a single click instead of a double click.
+
+/Since: 3.8/
+-}
+treeViewSetActivateOnSingleClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Bool
+    {- ^ /@single@/: 'True' to emit row-activated on a single click -}
+    -> m ()
+treeViewSetActivateOnSingleClick treeView single = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let single' = (fromIntegral . fromEnum) single
+    gtk_tree_view_set_activate_on_single_click treeView' single'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetActivateOnSingleClickMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetActivateOnSingleClickMethodInfo a signature where
+    overloadedMethod _ = treeViewSetActivateOnSingleClick
+
+#endif
+
+-- method TreeView::set_column_drag_function
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumnDropFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A function to determine which columns are reorderable, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data to be passed to @func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Destroy notifier for @user_data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_column_drag_function" gtk_tree_view_set_column_drag_function :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    FunPtr Gtk.Callbacks.C_TreeViewColumnDropFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeViewColumnDropFunc"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets a user function for determining where a column may be dropped when
+dragged.  This function is called on every column pair in turn at the
+beginning of a column drag to determine where a drop can take place.  The
+arguments passed to /@func@/ are: the /@treeView@/, the 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' being
+dragged, the two 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' s determining the drop spot, and
+/@userData@/.  If either of the 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' arguments for the drop spot
+are 'Nothing', then they indicate an edge.  If /@func@/ is set to be 'Nothing', then
+/@treeView@/ reverts to the default behavior of allowing all columns to be
+dropped everywhere.
+-}
+treeViewSetColumnDragFunction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Maybe (Gtk.Callbacks.TreeViewColumnDropFunc)
+    {- ^ /@func@/: A function to determine which columns are reorderable, or 'Nothing'. -}
+    -> m ()
+treeViewSetColumnDragFunction treeView func = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybeFunc <- case func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFunc -> do
+            jFunc' <- Gtk.Callbacks.mk_TreeViewColumnDropFunc (Gtk.Callbacks.wrap_TreeViewColumnDropFunc Nothing (Gtk.Callbacks.drop_closures_TreeViewColumnDropFunc jFunc))
+            return jFunc'
+    let userData = castFunPtrToPtr maybeFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_tree_view_set_column_drag_function treeView' maybeFunc userData destroy
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetColumnDragFunctionMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.TreeViewColumnDropFunc) -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetColumnDragFunctionMethodInfo a signature where
+    overloadedMethod _ = treeViewSetColumnDragFunction
+
+#endif
+
+-- method TreeView::set_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_editing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the specified cell should start being edited.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_cursor" gtk_tree_view_set_cursor :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- focus_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CInt ->                                 -- start_editing : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the current keyboard focus to be at /@path@/, and selects it.  This is
+useful when you want to focus the user’s attention on a particular row.  If
+/@focusColumn@/ is not 'Nothing', then focus is given to the column specified by
+it. Additionally, if /@focusColumn@/ is specified, and /@startEditing@/ is
+'True', then editing should be started in the specified cell.
+This function is often followed by /@gtkWidgetGrabFocus@/ (/@treeView@/)
+in order to give keyboard focus to the widget.  Please note that editing
+can only happen when the widget is realized.
+
+If /@path@/ is invalid for /@model@/, the current cursor (if any) will be unset
+and the function will return without failing.
+-}
+treeViewSetCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: A 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Maybe (b)
+    {- ^ /@focusColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn', or 'Nothing' -}
+    -> Bool
+    {- ^ /@startEditing@/: 'True' if the specified cell should start being edited. -}
+    -> m ()
+treeViewSetCursor treeView path focusColumn startEditing = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    maybeFocusColumn <- case focusColumn of
+        Nothing -> return nullPtr
+        Just jFocusColumn -> do
+            jFocusColumn' <- unsafeManagedPtrCastPtr jFocusColumn
+            return jFocusColumn'
+    let startEditing' = (fromIntegral . fromEnum) startEditing
+    gtk_tree_view_set_cursor treeView' path' maybeFocusColumn startEditing'
+    touchManagedPtr treeView
+    touchManagedPtr path
+    whenJust focusColumn touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetCursorMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Maybe (b) -> Bool -> m ()), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) => O.MethodInfo TreeViewSetCursorMethodInfo a signature where
+    overloadedMethod _ = treeViewSetCursor
+
+#endif
+
+-- method TreeView::set_cursor_on_cell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_editing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the specified cell should start being edited.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_cursor_on_cell" gtk_tree_view_set_cursor_on_cell :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- focus_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- focus_cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- start_editing : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the current keyboard focus to be at /@path@/, and selects it.  This is
+useful when you want to focus the user’s attention on a particular row.  If
+/@focusColumn@/ is not 'Nothing', then focus is given to the column specified by
+it. If /@focusColumn@/ and /@focusCell@/ are not 'Nothing', and /@focusColumn@/
+contains 2 or more editable or activatable cells, then focus is given to
+the cell specified by /@focusCell@/. Additionally, if /@focusColumn@/ is
+specified, and /@startEditing@/ is 'True', then editing should be started in
+the specified cell.  This function is often followed by
+/@gtkWidgetGrabFocus@/ (/@treeView@/) in order to give keyboard focus to the
+widget.  Please note that editing can only happen when the widget is
+realized.
+
+If /@path@/ is invalid for /@model@/, the current cursor (if any) will be unset
+and the function will return without failing.
+
+/Since: 2.2/
+-}
+treeViewSetCursorOnCell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b, Gtk.CellRenderer.IsCellRenderer c) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: A 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> Maybe (b)
+    {- ^ /@focusColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn', or 'Nothing' -}
+    -> Maybe (c)
+    {- ^ /@focusCell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer', or 'Nothing' -}
+    -> Bool
+    {- ^ /@startEditing@/: 'True' if the specified cell should start being edited. -}
+    -> m ()
+treeViewSetCursorOnCell treeView path focusColumn focusCell startEditing = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    path' <- unsafeManagedPtrGetPtr path
+    maybeFocusColumn <- case focusColumn of
+        Nothing -> return nullPtr
+        Just jFocusColumn -> do
+            jFocusColumn' <- unsafeManagedPtrCastPtr jFocusColumn
+            return jFocusColumn'
+    maybeFocusCell <- case focusCell of
+        Nothing -> return nullPtr
+        Just jFocusCell -> do
+            jFocusCell' <- unsafeManagedPtrCastPtr jFocusCell
+            return jFocusCell'
+    let startEditing' = (fromIntegral . fromEnum) startEditing
+    gtk_tree_view_set_cursor_on_cell treeView' path' maybeFocusColumn maybeFocusCell startEditing'
+    touchManagedPtr treeView
+    touchManagedPtr path
+    whenJust focusColumn touchManagedPtr
+    whenJust focusCell touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetCursorOnCellMethodInfo
+instance (signature ~ (Gtk.TreePath.TreePath -> Maybe (b) -> Maybe (c) -> Bool -> m ()), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b, Gtk.CellRenderer.IsCellRenderer c) => O.MethodInfo TreeViewSetCursorOnCellMethodInfo a signature where
+    overloadedMethod _ = treeViewSetCursorOnCell
+
+#endif
+
+-- method TreeView::set_destroy_count_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeDestroyCountFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Function to be called when a view row is destroyed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data to be passed to @func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Destroy notifier for @data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_destroy_count_func" gtk_tree_view_set_destroy_count_func :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    FunPtr Gtk.Callbacks.C_TreeDestroyCountFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeDestroyCountFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{-# DEPRECATED treeViewSetDestroyCountFunc ["(Since version 3.4)","Accessibility does not need the function anymore."] #-}
+{- |
+This function should almost never be used.  It is meant for private use by
+ATK for determining the number of visible children that are removed when the
+user collapses a row, or a row is deleted.
+-}
+treeViewSetDestroyCountFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (Gtk.Callbacks.TreeDestroyCountFunc)
+    {- ^ /@func@/: Function to be called when a view row is destroyed, or 'Nothing' -}
+    -> m ()
+treeViewSetDestroyCountFunc treeView func = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybeFunc <- case func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFunc -> do
+            jFunc' <- Gtk.Callbacks.mk_TreeDestroyCountFunc (Gtk.Callbacks.wrap_TreeDestroyCountFunc Nothing (Gtk.Callbacks.drop_closures_TreeDestroyCountFunc jFunc))
+            return jFunc'
+    let data_ = castFunPtrToPtr maybeFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_tree_view_set_destroy_count_func treeView' maybeFunc data_ destroy
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetDestroyCountFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.TreeDestroyCountFunc) -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetDestroyCountFuncMethodInfo a signature where
+    overloadedMethod _ = treeViewSetDestroyCountFunc
+
+#endif
+
+-- method TreeView::set_drag_dest_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The path of the row to highlight, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewDropPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Specifies whether to drop before, after or into the row", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_drag_dest_row" gtk_tree_view_set_drag_dest_row :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    CUInt ->                                -- pos : TInterface (Name {namespace = "Gtk", name = "TreeViewDropPosition"})
+    IO ()
+
+{- |
+Sets the row that is highlighted for feedback.
+If /@path@/ is 'Nothing', an existing highlight is removed.
+-}
+treeViewSetDragDestRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (Gtk.TreePath.TreePath)
+    {- ^ /@path@/: The path of the row to highlight, or 'Nothing' -}
+    -> Gtk.Enums.TreeViewDropPosition
+    {- ^ /@pos@/: Specifies whether to drop before, after or into the row -}
+    -> m ()
+treeViewSetDragDestRow treeView path pos = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybePath <- case path of
+        Nothing -> return nullPtr
+        Just jPath -> do
+            jPath' <- unsafeManagedPtrGetPtr jPath
+            return jPath'
+    let pos' = (fromIntegral . fromEnum) pos
+    gtk_tree_view_set_drag_dest_row treeView' maybePath pos'
+    touchManagedPtr treeView
+    whenJust path touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetDragDestRowMethodInfo
+instance (signature ~ (Maybe (Gtk.TreePath.TreePath) -> Gtk.Enums.TreeViewDropPosition -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetDragDestRowMethodInfo a signature where
+    overloadedMethod _ = treeViewSetDragDestRow
+
+#endif
+
+-- method TreeView::set_enable_search
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enable_search", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE, if the user can search interactively", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_enable_search" gtk_tree_view_set_enable_search :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- enable_search : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@enableSearch@/ is set, then the user can type in text to search through
+the tree interactively (this is sometimes called \"typeahead find\").
+
+Note that even if this is 'False', the user can still initiate a search
+using the “start-interactive-search” key binding.
+-}
+treeViewSetEnableSearch ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Bool
+    {- ^ /@enableSearch@/: 'True', if the user can search interactively -}
+    -> m ()
+treeViewSetEnableSearch treeView enableSearch = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let enableSearch' = (fromIntegral . fromEnum) enableSearch
+    gtk_tree_view_set_enable_search treeView' enableSearch'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetEnableSearchMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetEnableSearchMethodInfo a signature where
+    overloadedMethod _ = treeViewSetEnableSearch
+
+#endif
+
+-- method TreeView::set_enable_tree_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable tree line drawing, %FALSE otherwise.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_enable_tree_lines" gtk_tree_view_set_enable_tree_lines :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- enabled : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether to draw lines interconnecting the expanders in /@treeView@/.
+This does not have any visible effects for lists.
+
+/Since: 2.10/
+-}
+treeViewSetEnableTreeLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Bool
+    {- ^ /@enabled@/: 'True' to enable tree line drawing, 'False' otherwise. -}
+    -> m ()
+treeViewSetEnableTreeLines treeView enabled = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let enabled' = (fromIntegral . fromEnum) enabled
+    gtk_tree_view_set_enable_tree_lines treeView' enabled'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetEnableTreeLinesMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetEnableTreeLinesMethodInfo a signature where
+    overloadedMethod _ = treeViewSetEnableTreeLines
+
+#endif
+
+-- method TreeView::set_expander_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "%NULL, or the column to draw the expander arrow at.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_expander_column" gtk_tree_view_set_expander_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO ()
+
+{- |
+Sets the column to draw the expander arrow at. It must be in /@treeView@/.
+If /@column@/ is 'Nothing', then the expander arrow is always at the first
+visible column.
+
+If you do not want expander arrow to appear in your tree, set the
+expander column to a hidden column.
+-}
+treeViewSetExpanderColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (b)
+    {- ^ /@column@/: 'Nothing', or the column to draw the expander arrow at. -}
+    -> m ()
+treeViewSetExpanderColumn treeView column = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybeColumn <- case column of
+        Nothing -> return nullPtr
+        Just jColumn -> do
+            jColumn' <- unsafeManagedPtrCastPtr jColumn
+            return jColumn'
+    gtk_tree_view_set_expander_column treeView' maybeColumn
+    touchManagedPtr treeView
+    whenJust column touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetExpanderColumnMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsTreeView a, Gtk.TreeViewColumn.IsTreeViewColumn b) => O.MethodInfo TreeViewSetExpanderColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewSetExpanderColumn
+
+#endif
+
+-- method TreeView::set_fixed_height_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable fixed height mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_fixed_height_mode" gtk_tree_view_set_fixed_height_mode :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- enable : TBasicType TBoolean
+    IO ()
+
+{- |
+Enables or disables the fixed height mode of /@treeView@/.
+Fixed height mode speeds up 'GI.Gtk.Objects.TreeView.TreeView' by assuming that all
+rows have the same height.
+Only enable this option if all rows are the same height and all
+columns are of type 'GI.Gtk.Enums.TreeViewColumnSizingFixed'.
+
+/Since: 2.6/
+-}
+treeViewSetFixedHeightMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Bool
+    {- ^ /@enable@/: 'True' to enable fixed height mode -}
+    -> m ()
+treeViewSetFixedHeightMode treeView enable = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let enable' = (fromIntegral . fromEnum) enable
+    gtk_tree_view_set_fixed_height_mode treeView' enable'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetFixedHeightModeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetFixedHeightModeMethodInfo a signature where
+    overloadedMethod _ = treeViewSetFixedHeightMode
+
+#endif
+
+-- method TreeView::set_grid_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "grid_lines", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewGridLines"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewGridLines value indicating which grid lines to\nenable.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_grid_lines" gtk_tree_view_set_grid_lines :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CUInt ->                                -- grid_lines : TInterface (Name {namespace = "Gtk", name = "TreeViewGridLines"})
+    IO ()
+
+{- |
+Sets which grid lines to draw in /@treeView@/.
+
+/Since: 2.10/
+-}
+treeViewSetGridLines ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.Enums.TreeViewGridLines
+    {- ^ /@gridLines@/: a 'GI.Gtk.Enums.TreeViewGridLines' value indicating which grid lines to
+enable. -}
+    -> m ()
+treeViewSetGridLines treeView gridLines = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let gridLines' = (fromIntegral . fromEnum) gridLines
+    gtk_tree_view_set_grid_lines treeView' gridLines'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetGridLinesMethodInfo
+instance (signature ~ (Gtk.Enums.TreeViewGridLines -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetGridLinesMethodInfo a signature where
+    overloadedMethod _ = treeViewSetGridLines
+
+#endif
+
+-- method TreeView::set_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The #GtkAdjustment to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_hadjustment" gtk_tree_view_set_hadjustment :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{-# DEPRECATED treeViewSetHadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableSetHadjustment'"] #-}
+{- |
+Sets the 'GI.Gtk.Objects.Adjustment.Adjustment' for the current horizontal aspect.
+-}
+treeViewSetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (b)
+    {- ^ /@adjustment@/: The 'GI.Gtk.Objects.Adjustment.Adjustment' to set, or 'Nothing' -}
+    -> m ()
+treeViewSetHadjustment treeView adjustment = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    gtk_tree_view_set_hadjustment treeView' maybeAdjustment
+    touchManagedPtr treeView
+    whenJust adjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetHadjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsTreeView a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo TreeViewSetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = treeViewSetHadjustment
+
+#endif
+
+-- method TreeView::set_headers_clickable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the columns are clickable.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_headers_clickable" gtk_tree_view_set_headers_clickable :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Allow the column title buttons to be clicked.
+-}
+treeViewSetHeadersClickable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Bool
+    {- ^ /@setting@/: 'True' if the columns are clickable. -}
+    -> m ()
+treeViewSetHeadersClickable treeView setting = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_tree_view_set_headers_clickable treeView' setting'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetHeadersClickableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetHeadersClickableMethodInfo a signature where
+    overloadedMethod _ = treeViewSetHeadersClickable
+
+#endif
+
+-- method TreeView::set_headers_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "headers_visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the headers are visible", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_headers_visible" gtk_tree_view_set_headers_visible :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- headers_visible : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the visibility state of the headers.
+-}
+treeViewSetHeadersVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Bool
+    {- ^ /@headersVisible@/: 'True' if the headers are visible -}
+    -> m ()
+treeViewSetHeadersVisible treeView headersVisible = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let headersVisible' = (fromIntegral . fromEnum) headersVisible
+    gtk_tree_view_set_headers_visible treeView' headersVisible'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetHeadersVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetHeadersVisibleMethodInfo a signature where
+    overloadedMethod _ = treeViewSetHeadersVisible
+
+#endif
+
+-- method TreeView::set_hover_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable hover selection mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_hover_expand" gtk_tree_view_set_hover_expand :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Enables or disables the hover expansion mode of /@treeView@/.
+Hover expansion makes rows expand or collapse if the pointer
+moves over them.
+
+/Since: 2.6/
+-}
+treeViewSetHoverExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Bool
+    {- ^ /@expand@/: 'True' to enable hover selection mode -}
+    -> m ()
+treeViewSetHoverExpand treeView expand = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_tree_view_set_hover_expand treeView' expand'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetHoverExpandMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetHoverExpandMethodInfo a signature where
+    overloadedMethod _ = treeViewSetHoverExpand
+
+#endif
+
+-- method TreeView::set_hover_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hover", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable hover selection mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_hover_selection" gtk_tree_view_set_hover_selection :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- hover : TBasicType TBoolean
+    IO ()
+
+{- |
+Enables or disables the hover selection mode of /@treeView@/.
+Hover selection makes the selected row follow the pointer.
+Currently, this works only for the selection modes
+'GI.Gtk.Enums.SelectionModeSingle' and 'GI.Gtk.Enums.SelectionModeBrowse'.
+
+/Since: 2.6/
+-}
+treeViewSetHoverSelection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Bool
+    {- ^ /@hover@/: 'True' to enable hover selection mode -}
+    -> m ()
+treeViewSetHoverSelection treeView hover = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let hover' = (fromIntegral . fromEnum) hover
+    gtk_tree_view_set_hover_selection treeView' hover'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetHoverSelectionMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetHoverSelectionMethodInfo a signature where
+    overloadedMethod _ = treeViewSetHoverSelection
+
+#endif
+
+-- method TreeView::set_level_indentation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "indentation", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount, in pixels, of extra indentation in @tree_view.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_level_indentation" gtk_tree_view_set_level_indentation :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- indentation : TBasicType TInt
+    IO ()
+
+{- |
+Sets the amount of extra indentation for child levels to use in /@treeView@/
+in addition to the default indentation.  The value should be specified in
+pixels, a value of 0 disables this feature and in this case only the default
+indentation will be used.
+This does not have any visible effects for lists.
+
+/Since: 2.12/
+-}
+treeViewSetLevelIndentation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@indentation@/: the amount, in pixels, of extra indentation in /@treeView@/. -}
+    -> m ()
+treeViewSetLevelIndentation treeView indentation = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    gtk_tree_view_set_level_indentation treeView' indentation
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetLevelIndentationMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetLevelIndentationMethodInfo a signature where
+    overloadedMethod _ = treeViewSetLevelIndentation
+
+#endif
+
+-- method TreeView::set_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The model.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_model" gtk_tree_view_set_model :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    IO ()
+
+{- |
+Sets the model for a 'GI.Gtk.Objects.TreeView.TreeView'.  If the /@treeView@/ already has a model
+set, it will remove it before setting the new model.  If /@model@/ is 'Nothing',
+then it will unset the old model.
+-}
+treeViewSetModel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.TreeModel.IsTreeModel b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Maybe (b)
+    {- ^ /@model@/: The model. -}
+    -> m ()
+treeViewSetModel treeView model = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybeModel <- case model of
+        Nothing -> return nullPtr
+        Just jModel -> do
+            jModel' <- unsafeManagedPtrCastPtr jModel
+            return jModel'
+    gtk_tree_view_set_model treeView' maybeModel
+    touchManagedPtr treeView
+    whenJust model touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetModelMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsTreeView a, Gtk.TreeModel.IsTreeModel b) => O.MethodInfo TreeViewSetModelMethodInfo a signature where
+    overloadedMethod _ = treeViewSetModel
+
+#endif
+
+-- method TreeView::set_reorderable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reorderable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE, if the tree can be reordered.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_reorderable" gtk_tree_view_set_reorderable :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- reorderable : TBasicType TBoolean
+    IO ()
+
+{- |
+This function is a convenience function to allow you to reorder
+models that support the 'GI.Gtk.Structs.TreeDragSourceIface.TreeDragSourceIface' and the
+'GI.Gtk.Structs.TreeDragDestIface.TreeDragDestIface'.  Both 'GI.Gtk.Objects.TreeStore.TreeStore' and 'GI.Gtk.Objects.ListStore.ListStore' support
+these.  If /@reorderable@/ is 'True', then the user can reorder the
+model by dragging and dropping rows. The developer can listen to
+these changes by connecting to the model’s 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-inserted/@
+and 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-deleted/@ signals. The reordering is implemented
+by setting up the tree view as a drag source and destination.
+Therefore, drag and drop can not be used in a reorderable view for any
+other purpose.
+
+This function does not give you any degree of control over the order -- any
+reordering is allowed.  If more control is needed, you should probably
+handle drag and drop manually.
+-}
+treeViewSetReorderable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView'. -}
+    -> Bool
+    {- ^ /@reorderable@/: 'True', if the tree can be reordered. -}
+    -> m ()
+treeViewSetReorderable treeView reorderable = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let reorderable' = (fromIntegral . fromEnum) reorderable
+    gtk_tree_view_set_reorderable treeView' reorderable'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetReorderableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetReorderableMethodInfo a signature where
+    overloadedMethod _ = treeViewSetReorderable
+
+#endif
+
+-- method TreeView::set_row_separator_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewRowSeparatorFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewRowSeparatorFunc", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "destroy notifier for @data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_row_separator_func" gtk_tree_view_set_row_separator_func :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    FunPtr Gtk.Callbacks.C_TreeViewRowSeparatorFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeViewRowSeparatorFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the row separator function, which is used to determine
+whether a row should be drawn as a separator. If the row separator
+function is 'Nothing', no separators are drawn. This is the default value.
+
+/Since: 2.6/
+-}
+treeViewSetRowSeparatorFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (Gtk.Callbacks.TreeViewRowSeparatorFunc)
+    {- ^ /@func@/: a 'GI.Gtk.Callbacks.TreeViewRowSeparatorFunc' -}
+    -> m ()
+treeViewSetRowSeparatorFunc treeView func = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybeFunc <- case func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFunc -> do
+            jFunc' <- Gtk.Callbacks.mk_TreeViewRowSeparatorFunc (Gtk.Callbacks.wrap_TreeViewRowSeparatorFunc Nothing (Gtk.Callbacks.drop_closures_TreeViewRowSeparatorFunc jFunc))
+            return jFunc'
+    let data_ = castFunPtrToPtr maybeFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_tree_view_set_row_separator_func treeView' maybeFunc data_ destroy
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetRowSeparatorFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.TreeViewRowSeparatorFunc) -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetRowSeparatorFuncMethodInfo a signature where
+    overloadedMethod _ = treeViewSetRowSeparatorFunc
+
+#endif
+
+-- method TreeView::set_rubber_banding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable rubber banding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_rubber_banding" gtk_tree_view_set_rubber_banding :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- enable : TBasicType TBoolean
+    IO ()
+
+{- |
+Enables or disables rubber banding in /@treeView@/.  If the selection mode
+is @/GTK_SELECTION_MULTIPLE/@, rubber banding will allow the user to select
+multiple rows by dragging the mouse.
+
+/Since: 2.10/
+-}
+treeViewSetRubberBanding ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Bool
+    {- ^ /@enable@/: 'True' to enable rubber banding -}
+    -> m ()
+treeViewSetRubberBanding treeView enable = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let enable' = (fromIntegral . fromEnum) enable
+    gtk_tree_view_set_rubber_banding treeView' enable'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetRubberBandingMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetRubberBandingMethodInfo a signature where
+    overloadedMethod _ = treeViewSetRubberBanding
+
+#endif
+
+-- method TreeView::set_rules_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the tree requires reading across rows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_rules_hint" gtk_tree_view_set_rules_hint :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED treeViewSetRulesHint ["(Since version 3.14)"] #-}
+{- |
+Sets a hint for the theme to draw even\/odd rows in the /@treeView@/
+with different colors, also known as \"zebra striping\".
+
+This function tells the GTK+ theme that the user interface for your
+application requires users to read across tree rows and associate
+cells with one another.
+
+Do not use it just because you prefer the appearance of the ruled
+tree; that’s a question for the theme. Some themes will draw tree
+rows in alternating colors even when rules are turned off, and
+users who prefer that appearance all the time can choose those
+themes. You should call this function only as a semantic hint to
+the theme engine that your tree makes alternating colors useful
+from a functional standpoint (since it has lots of columns,
+generally).
+-}
+treeViewSetRulesHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' if the tree requires reading across rows -}
+    -> m ()
+treeViewSetRulesHint treeView setting = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_tree_view_set_rules_hint treeView' setting'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetRulesHintMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetRulesHintMethodInfo a signature where
+    overloadedMethod _ = treeViewSetRulesHint
+
+#endif
+
+-- method TreeView::set_search_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the column of the model to search in, or -1 to disable searching", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_search_column" gtk_tree_view_set_search_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+Sets /@column@/ as the column where the interactive search code should
+search in for the current model.
+
+If the search column is set, users can use the “start-interactive-search”
+key binding to bring up search popup. The enable-search property controls
+whether simply typing text will also start an interactive search.
+
+Note that /@column@/ refers to a column of the current model. The search
+column is reset to -1 when the model is changed.
+-}
+treeViewSetSearchColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@column@/: the column of the model to search in, or -1 to disable searching -}
+    -> m ()
+treeViewSetSearchColumn treeView column = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    gtk_tree_view_set_search_column treeView' column
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetSearchColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetSearchColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewSetSearchColumn
+
+#endif
+
+-- method TreeView::set_search_entry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gtk", name = "Entry"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the entry the interactive search code of @tree_view should use or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_search_entry" gtk_tree_view_set_search_entry :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.Entry.Entry ->                  -- entry : TInterface (Name {namespace = "Gtk", name = "Entry"})
+    IO ()
+
+{- |
+Sets the entry which the interactive search code will use for this
+/@treeView@/.  This is useful when you want to provide a search entry
+in our interface at all time at a fixed position.  Passing 'Nothing' for
+/@entry@/ will make the interactive search code use the built-in popup
+entry again.
+
+/Since: 2.10/
+-}
+treeViewSetSearchEntry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.Entry.IsEntry b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (b)
+    {- ^ /@entry@/: the entry the interactive search code of /@treeView@/ should use or 'Nothing' -}
+    -> m ()
+treeViewSetSearchEntry treeView entry = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybeEntry <- case entry of
+        Nothing -> return nullPtr
+        Just jEntry -> do
+            jEntry' <- unsafeManagedPtrCastPtr jEntry
+            return jEntry'
+    gtk_tree_view_set_search_entry treeView' maybeEntry
+    touchManagedPtr treeView
+    whenJust entry touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetSearchEntryMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsTreeView a, Gtk.Entry.IsEntry b) => O.MethodInfo TreeViewSetSearchEntryMethodInfo a signature where
+    overloadedMethod _ = treeViewSetSearchEntry
+
+#endif
+
+-- method TreeView::set_search_equal_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_equal_func", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewSearchEqualFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the compare function to use during the search", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @search_equal_func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Destroy notifier for @search_user_data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_search_equal_func" gtk_tree_view_set_search_equal_func :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    FunPtr Gtk.Callbacks.C_TreeViewSearchEqualFunc -> -- search_equal_func : TInterface (Name {namespace = "Gtk", name = "TreeViewSearchEqualFunc"})
+    Ptr () ->                               -- search_user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- search_destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the compare function for the interactive search capabilities; note
+that somewhat like @/strcmp()/@ returning 0 for equality
+'GI.Gtk.Callbacks.TreeViewSearchEqualFunc' returns 'False' on matches.
+-}
+treeViewSetSearchEqualFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Gtk.Callbacks.TreeViewSearchEqualFunc
+    {- ^ /@searchEqualFunc@/: the compare function to use during the search -}
+    -> m ()
+treeViewSetSearchEqualFunc treeView searchEqualFunc = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    searchEqualFunc' <- Gtk.Callbacks.mk_TreeViewSearchEqualFunc (Gtk.Callbacks.wrap_TreeViewSearchEqualFunc Nothing (Gtk.Callbacks.drop_closures_TreeViewSearchEqualFunc searchEqualFunc))
+    let searchUserData = castFunPtrToPtr searchEqualFunc'
+    let searchDestroy = safeFreeFunPtrPtr
+    gtk_tree_view_set_search_equal_func treeView' searchEqualFunc' searchUserData searchDestroy
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetSearchEqualFuncMethodInfo
+instance (signature ~ (Gtk.Callbacks.TreeViewSearchEqualFunc -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetSearchEqualFuncMethodInfo a signature where
+    overloadedMethod _ = treeViewSetSearchEqualFunc
+
+#endif
+
+-- method TreeView::set_search_position_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewSearchPositionFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the function to use to position the search dialog, or %NULL\n   to use the default search position function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Destroy notifier for @data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_search_position_func" gtk_tree_view_set_search_position_func :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    FunPtr Gtk.Callbacks.C_TreeViewSearchPositionFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeViewSearchPositionFunc"})
+    Ptr () ->                               -- data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the function to use when positioning the search dialog.
+
+/Since: 2.10/
+-}
+treeViewSetSearchPositionFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (Gtk.Callbacks.TreeViewSearchPositionFunc)
+    {- ^ /@func@/: the function to use to position the search dialog, or 'Nothing'
+   to use the default search position function -}
+    -> m ()
+treeViewSetSearchPositionFunc treeView func = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybeFunc <- case func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFunc -> do
+            jFunc' <- Gtk.Callbacks.mk_TreeViewSearchPositionFunc (Gtk.Callbacks.wrap_TreeViewSearchPositionFunc Nothing (Gtk.Callbacks.drop_closures_TreeViewSearchPositionFunc jFunc))
+            return jFunc'
+    let data_ = castFunPtrToPtr maybeFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_tree_view_set_search_position_func treeView' maybeFunc data_ destroy
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetSearchPositionFuncMethodInfo
+instance (signature ~ (Maybe (Gtk.Callbacks.TreeViewSearchPositionFunc) -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetSearchPositionFuncMethodInfo a signature where
+    overloadedMethod _ = treeViewSetSearchPositionFunc
+
+#endif
+
+-- method TreeView::set_show_expanders
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable expander drawing, %FALSE otherwise.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_show_expanders" gtk_tree_view_set_show_expanders :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    CInt ->                                 -- enabled : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether to draw and enable expanders and indent child rows in
+/@treeView@/.  When disabled there will be no expanders visible in trees
+and there will be no way to expand and collapse rows by default.  Also
+note that hiding the expanders will disable the default indentation.  You
+can set a custom indentation in this case using
+'GI.Gtk.Objects.TreeView.treeViewSetLevelIndentation'.
+This does not have any visible effects for lists.
+
+/Since: 2.12/
+-}
+treeViewSetShowExpanders ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Bool
+    {- ^ /@enabled@/: 'True' to enable expander drawing, 'False' otherwise. -}
+    -> m ()
+treeViewSetShowExpanders treeView enabled = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    let enabled' = (fromIntegral . fromEnum) enabled
+    gtk_tree_view_set_show_expanders treeView' enabled'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetShowExpandersMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetShowExpandersMethodInfo a signature where
+    overloadedMethod _ = treeViewSetShowExpanders
+
+#endif
+
+-- method TreeView::set_tooltip_cell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreePath or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_tooltip_cell" gtk_tree_view_set_tooltip_cell :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.Tooltip.Tooltip ->              -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Gtk.TreeViewColumn.TreeViewColumn -> -- column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Sets the tip area of /@tooltip@/ to the area /@path@/, /@column@/ and /@cell@/ have
+in common.  For example if /@path@/ is 'Nothing' and /@column@/ is set, the tip
+area will be set to the full area covered by /@column@/.  See also
+'GI.Gtk.Objects.Tooltip.tooltipSetTipArea'.
+
+Note that if /@path@/ is not specified and /@cell@/ is set and part of a column
+containing the expander, the tooltip might not show and hide at the correct
+position.  In such cases /@path@/ must be set to the current node under the
+mouse cursor for this function to operate correctly.
+
+See also 'GI.Gtk.Objects.TreeView.treeViewSetTooltipColumn' for a simpler alternative.
+
+/Since: 2.12/
+-}
+treeViewSetTooltipCell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.Tooltip.IsTooltip b, Gtk.TreeViewColumn.IsTreeViewColumn c, Gtk.CellRenderer.IsCellRenderer d) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> b
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Maybe (Gtk.TreePath.TreePath)
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' or 'Nothing' -}
+    -> Maybe (c)
+    {- ^ /@column@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' or 'Nothing' -}
+    -> Maybe (d)
+    {- ^ /@cell@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' or 'Nothing' -}
+    -> m ()
+treeViewSetTooltipCell treeView tooltip path column cell = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    maybePath <- case path of
+        Nothing -> return nullPtr
+        Just jPath -> do
+            jPath' <- unsafeManagedPtrGetPtr jPath
+            return jPath'
+    maybeColumn <- case column of
+        Nothing -> return nullPtr
+        Just jColumn -> do
+            jColumn' <- unsafeManagedPtrCastPtr jColumn
+            return jColumn'
+    maybeCell <- case cell of
+        Nothing -> return nullPtr
+        Just jCell -> do
+            jCell' <- unsafeManagedPtrCastPtr jCell
+            return jCell'
+    gtk_tree_view_set_tooltip_cell treeView' tooltip' maybePath maybeColumn maybeCell
+    touchManagedPtr treeView
+    touchManagedPtr tooltip
+    whenJust path touchManagedPtr
+    whenJust column touchManagedPtr
+    whenJust cell touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetTooltipCellMethodInfo
+instance (signature ~ (b -> Maybe (Gtk.TreePath.TreePath) -> Maybe (c) -> Maybe (d) -> m ()), MonadIO m, IsTreeView a, Gtk.Tooltip.IsTooltip b, Gtk.TreeViewColumn.IsTreeViewColumn c, Gtk.CellRenderer.IsCellRenderer d) => O.MethodInfo TreeViewSetTooltipCellMethodInfo a signature where
+    overloadedMethod _ = treeViewSetTooltipCell
+
+#endif
+
+-- method TreeView::set_tooltip_column
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer, which is a valid column number for @tree_view\8217s model", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_tooltip_column" gtk_tree_view_set_tooltip_column :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+If you only plan to have simple (text-only) tooltips on full rows, you
+can use this function to have 'GI.Gtk.Objects.TreeView.TreeView' handle these automatically
+for you. /@column@/ should be set to the column in /@treeView@/’s model
+containing the tooltip texts, or -1 to disable this feature.
+
+When enabled, 'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@ will be set to 'True' and
+/@treeView@/ will connect a 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ signal handler.
+
+Note that the signal handler sets the text with 'GI.Gtk.Objects.Tooltip.tooltipSetMarkup',
+so &, \<, etc have to be escaped in the text.
+
+/Since: 2.12/
+-}
+treeViewSetTooltipColumn ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Int32
+    {- ^ /@column@/: an integer, which is a valid column number for /@treeView@/’s model -}
+    -> m ()
+treeViewSetTooltipColumn treeView column = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    gtk_tree_view_set_tooltip_column treeView' column
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetTooltipColumnMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewSetTooltipColumnMethodInfo a signature where
+    overloadedMethod _ = treeViewSetTooltipColumn
+
+#endif
+
+-- method TreeView::set_tooltip_row
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tooltip", argType = TInterface (Name {namespace = "Gtk", name = "Tooltip"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTooltip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_tooltip_row" gtk_tree_view_set_tooltip_row :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.Tooltip.Tooltip ->              -- tooltip : TInterface (Name {namespace = "Gtk", name = "Tooltip"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Sets the tip area of /@tooltip@/ to be the area covered by the row at /@path@/.
+See also 'GI.Gtk.Objects.TreeView.treeViewSetTooltipColumn' for a simpler alternative.
+See also 'GI.Gtk.Objects.Tooltip.tooltipSetTipArea'.
+
+/Since: 2.12/
+-}
+treeViewSetTooltipRow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.Tooltip.IsTooltip b) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> b
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath' -}
+    -> m ()
+treeViewSetTooltipRow treeView tooltip path = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    tooltip' <- unsafeManagedPtrCastPtr tooltip
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_view_set_tooltip_row treeView' tooltip' path'
+    touchManagedPtr treeView
+    touchManagedPtr tooltip
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetTooltipRowMethodInfo
+instance (signature ~ (b -> Gtk.TreePath.TreePath -> m ()), MonadIO m, IsTreeView a, Gtk.Tooltip.IsTooltip b) => O.MethodInfo TreeViewSetTooltipRowMethodInfo a signature where
+    overloadedMethod _ = treeViewSetTooltipRow
+
+#endif
+
+-- method TreeView::set_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The #GtkAdjustment to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_set_vadjustment" gtk_tree_view_set_vadjustment :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{-# DEPRECATED treeViewSetVadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableSetVadjustment'"] #-}
+{- |
+Sets the 'GI.Gtk.Objects.Adjustment.Adjustment' for the current vertical aspect.
+-}
+treeViewSetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@treeView@/: A 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> Maybe (b)
+    {- ^ /@adjustment@/: The 'GI.Gtk.Objects.Adjustment.Adjustment' to set, or 'Nothing' -}
+    -> m ()
+treeViewSetVadjustment treeView adjustment = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    gtk_tree_view_set_vadjustment treeView' maybeAdjustment
+    touchManagedPtr treeView
+    whenJust adjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewSetVadjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsTreeView a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo TreeViewSetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = treeViewSetVadjustment
+
+#endif
+
+-- method TreeView::unset_rows_drag_dest
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_unset_rows_drag_dest" gtk_tree_view_unset_rows_drag_dest :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO ()
+
+{- |
+Undoes the effect of
+'GI.Gtk.Objects.TreeView.treeViewEnableModelDragDest'. Calling this method sets
+'GI.Gtk.Objects.TreeView.TreeView':@/reorderable/@ to 'False'.
+-}
+treeViewUnsetRowsDragDest ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m ()
+treeViewUnsetRowsDragDest treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    gtk_tree_view_unset_rows_drag_dest treeView'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewUnsetRowsDragDestMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewUnsetRowsDragDestMethodInfo a signature where
+    overloadedMethod _ = treeViewUnsetRowsDragDest
+
+#endif
+
+-- method TreeView::unset_rows_drag_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_view", argType = TInterface (Name {namespace = "Gtk", name = "TreeView"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_unset_rows_drag_source" gtk_tree_view_unset_rows_drag_source :: 
+    Ptr TreeView ->                         -- tree_view : TInterface (Name {namespace = "Gtk", name = "TreeView"})
+    IO ()
+
+{- |
+Undoes the effect of
+'GI.Gtk.Objects.TreeView.treeViewEnableModelDragSource'. Calling this method sets
+'GI.Gtk.Objects.TreeView.TreeView':@/reorderable/@ to 'False'.
+-}
+treeViewUnsetRowsDragSource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeView a) =>
+    a
+    {- ^ /@treeView@/: a 'GI.Gtk.Objects.TreeView.TreeView' -}
+    -> m ()
+treeViewUnsetRowsDragSource treeView = liftIO $ do
+    treeView' <- unsafeManagedPtrCastPtr treeView
+    gtk_tree_view_unset_rows_drag_source treeView'
+    touchManagedPtr treeView
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewUnsetRowsDragSourceMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeView a) => O.MethodInfo TreeViewUnsetRowsDragSourceMethodInfo a signature where
+    overloadedMethod _ = treeViewUnsetRowsDragSource
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TreeView.hs-boot b/GI/Gtk/Objects/TreeView.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeView.hs-boot
@@ -0,0 +1,413 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TreeView where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeView = TreeView (ManagedPtr TreeView)
+instance GObject TreeView where
+class (GObject o, O.IsDescendantOf TreeView o) => IsTreeView o
+instance (GObject o, O.IsDescendantOf TreeView o) => IsTreeView o
+instance O.HasParentTypes TreeView
+#if ENABLE_OVERLOADING
+data TreeViewActivateOnSingleClickPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewEnableGridLinesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewEnableSearchPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewEnableTreeLinesPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewExpanderColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewFixedHeightModePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewHeadersClickablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewHeadersVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewHoverExpandPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewHoverSelectionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewLevelIndentationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewModelPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewReorderablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewRubberBandingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewRulesHintPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSearchColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewShowExpandersPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewTooltipColumnPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnsChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewCursorChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewExpandCollapseCursorRowSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewMoveCursorSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewRowActivatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewRowCollapsedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewRowExpandedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSelectAllSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSelectCursorParentSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSelectCursorRowSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewStartInteractiveSearchSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewTestCollapseRowSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewTestExpandRowSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewToggleCursorRowSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewUnselectAllSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewAppendColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewCollapseAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewCollapseRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnsAutosizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewConvertBinWindowToTreeCoordsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewConvertBinWindowToWidgetCoordsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewConvertTreeToBinWindowCoordsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewConvertTreeToWidgetCoordsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewConvertWidgetToBinWindowCoordsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewConvertWidgetToTreeCoordsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewCreateRowDragIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewEnableModelDragDestMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewEnableModelDragSourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewExpandAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewExpandRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewExpandToPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetActivateOnSingleClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetBackgroundAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetBinWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetCellAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetColumnsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetCursorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetDestRowAtPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetDragDestRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetEnableSearchMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetEnableTreeLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetExpanderColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetFixedHeightModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetGridLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetHeadersClickableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetHeadersVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetHoverExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetHoverSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetLevelIndentationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetNColumnsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetPathAtPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetReorderableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetRubberBandingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetRulesHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetSearchColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetSearchEntryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetShowExpandersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetTooltipColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetTooltipContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetVisibleRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewGetVisibleRectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewInsertColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewInsertColumnWithDataFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewIsBlankAtPosMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewIsRubberBandingActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewMapExpandedRowsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewMoveColumnAfterMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewRemoveColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewRowActivatedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewRowExpandedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewScrollToCellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewScrollToPointMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetActivateOnSingleClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetColumnDragFunctionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetCursorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetCursorOnCellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetDestroyCountFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetDragDestRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetEnableSearchMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetEnableTreeLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetExpanderColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetFixedHeightModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetGridLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetHeadersClickableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetHeadersVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetHoverExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetHoverSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetLevelIndentationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetReorderableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetRowSeparatorFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetRubberBandingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetRulesHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetSearchColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetSearchEntryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetSearchEqualFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetSearchPositionFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetShowExpandersMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetTooltipCellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetTooltipColumnMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetTooltipRowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewSetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewUnsetRowsDragDestMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewUnsetRowsDragSourceMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/TreeViewAccessible.hs b/GI/Gtk/Objects/TreeViewAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeViewAccessible.hs
@@ -0,0 +1,215 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TreeViewAccessible
+    ( 
+
+-- * Exported types
+    TreeViewAccessible(..)                  ,
+    IsTreeViewAccessible                    ,
+    toTreeViewAccessible                    ,
+    noTreeViewAccessible                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Selection as Atk.Selection
+import qualified GI.Atk.Interfaces.Table as Atk.Table
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellAccessibleParent as Gtk.CellAccessibleParent
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype TreeViewAccessible = TreeViewAccessible (ManagedPtr TreeViewAccessible)
+foreign import ccall "gtk_tree_view_accessible_get_type"
+    c_gtk_tree_view_accessible_get_type :: IO GType
+
+instance GObject TreeViewAccessible where
+    gobjectType = c_gtk_tree_view_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `TreeViewAccessible`, for instance with `toTreeViewAccessible`.
+class (GObject o, O.IsDescendantOf TreeViewAccessible o) => IsTreeViewAccessible o
+instance (GObject o, O.IsDescendantOf TreeViewAccessible o) => IsTreeViewAccessible o
+
+instance O.HasParentTypes TreeViewAccessible
+type instance O.ParentTypes TreeViewAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Selection.Selection, Atk.Table.Table, Gtk.CellAccessibleParent.CellAccessibleParent]
+
+-- | Cast to `TreeViewAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTreeViewAccessible :: (MonadIO m, IsTreeViewAccessible o) => o -> m TreeViewAccessible
+toTreeViewAccessible = liftIO . unsafeCastTo TreeViewAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeViewAccessible`.
+noTreeViewAccessible :: Maybe TreeViewAccessible
+noTreeViewAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeViewAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeViewAccessibleMethod "activate" o = Gtk.CellAccessibleParent.CellAccessibleParentActivateMethodInfo
+    ResolveTreeViewAccessibleMethod "addColumnSelection" o = Atk.Table.TableAddColumnSelectionMethodInfo
+    ResolveTreeViewAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveTreeViewAccessibleMethod "addRowSelection" o = Atk.Table.TableAddRowSelectionMethodInfo
+    ResolveTreeViewAccessibleMethod "addSelection" o = Atk.Selection.SelectionAddSelectionMethodInfo
+    ResolveTreeViewAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTreeViewAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTreeViewAccessibleMethod "clearSelection" o = Atk.Selection.SelectionClearSelectionMethodInfo
+    ResolveTreeViewAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveTreeViewAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveTreeViewAccessibleMethod "edit" o = Gtk.CellAccessibleParent.CellAccessibleParentEditMethodInfo
+    ResolveTreeViewAccessibleMethod "expandCollapse" o = Gtk.CellAccessibleParent.CellAccessibleParentExpandCollapseMethodInfo
+    ResolveTreeViewAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTreeViewAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTreeViewAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTreeViewAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveTreeViewAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveTreeViewAccessibleMethod "isChildSelected" o = Atk.Selection.SelectionIsChildSelectedMethodInfo
+    ResolveTreeViewAccessibleMethod "isColumnSelected" o = Atk.Table.TableIsColumnSelectedMethodInfo
+    ResolveTreeViewAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTreeViewAccessibleMethod "isRowSelected" o = Atk.Table.TableIsRowSelectedMethodInfo
+    ResolveTreeViewAccessibleMethod "isSelected" o = Atk.Table.TableIsSelectedMethodInfo
+    ResolveTreeViewAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTreeViewAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTreeViewAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveTreeViewAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveTreeViewAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTreeViewAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveTreeViewAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveTreeViewAccessibleMethod "refAt" o = Atk.Table.TableRefAtMethodInfo
+    ResolveTreeViewAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveTreeViewAccessibleMethod "refSelection" o = Atk.Selection.SelectionRefSelectionMethodInfo
+    ResolveTreeViewAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTreeViewAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveTreeViewAccessibleMethod "removeColumnSelection" o = Atk.Table.TableRemoveColumnSelectionMethodInfo
+    ResolveTreeViewAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveTreeViewAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveTreeViewAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveTreeViewAccessibleMethod "removeRowSelection" o = Atk.Table.TableRemoveRowSelectionMethodInfo
+    ResolveTreeViewAccessibleMethod "removeSelection" o = Atk.Selection.SelectionRemoveSelectionMethodInfo
+    ResolveTreeViewAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTreeViewAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveTreeViewAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveTreeViewAccessibleMethod "selectAllSelection" o = Atk.Selection.SelectionSelectAllSelectionMethodInfo
+    ResolveTreeViewAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTreeViewAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTreeViewAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTreeViewAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTreeViewAccessibleMethod "updateRelationset" o = Gtk.CellAccessibleParent.CellAccessibleParentUpdateRelationsetMethodInfo
+    ResolveTreeViewAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTreeViewAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveTreeViewAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveTreeViewAccessibleMethod "getCaption" o = Atk.Table.TableGetCaptionMethodInfo
+    ResolveTreeViewAccessibleMethod "getCellArea" o = Gtk.CellAccessibleParent.CellAccessibleParentGetCellAreaMethodInfo
+    ResolveTreeViewAccessibleMethod "getCellExtents" o = Gtk.CellAccessibleParent.CellAccessibleParentGetCellExtentsMethodInfo
+    ResolveTreeViewAccessibleMethod "getCellPosition" o = Gtk.CellAccessibleParent.CellAccessibleParentGetCellPositionMethodInfo
+    ResolveTreeViewAccessibleMethod "getChildIndex" o = Gtk.CellAccessibleParent.CellAccessibleParentGetChildIndexMethodInfo
+    ResolveTreeViewAccessibleMethod "getColumnAtIndex" o = Atk.Table.TableGetColumnAtIndexMethodInfo
+    ResolveTreeViewAccessibleMethod "getColumnDescription" o = Atk.Table.TableGetColumnDescriptionMethodInfo
+    ResolveTreeViewAccessibleMethod "getColumnExtentAt" o = Atk.Table.TableGetColumnExtentAtMethodInfo
+    ResolveTreeViewAccessibleMethod "getColumnHeader" o = Atk.Table.TableGetColumnHeaderMethodInfo
+    ResolveTreeViewAccessibleMethod "getColumnHeaderCells" o = Gtk.CellAccessibleParent.CellAccessibleParentGetColumnHeaderCellsMethodInfo
+    ResolveTreeViewAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTreeViewAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveTreeViewAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveTreeViewAccessibleMethod "getIndexAt" o = Atk.Table.TableGetIndexAtMethodInfo
+    ResolveTreeViewAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveTreeViewAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveTreeViewAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveTreeViewAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveTreeViewAccessibleMethod "getNColumns" o = Atk.Table.TableGetNColumnsMethodInfo
+    ResolveTreeViewAccessibleMethod "getNRows" o = Atk.Table.TableGetNRowsMethodInfo
+    ResolveTreeViewAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveTreeViewAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveTreeViewAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveTreeViewAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveTreeViewAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTreeViewAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTreeViewAccessibleMethod "getRendererState" o = Gtk.CellAccessibleParent.CellAccessibleParentGetRendererStateMethodInfo
+    ResolveTreeViewAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveTreeViewAccessibleMethod "getRowAtIndex" o = Atk.Table.TableGetRowAtIndexMethodInfo
+    ResolveTreeViewAccessibleMethod "getRowDescription" o = Atk.Table.TableGetRowDescriptionMethodInfo
+    ResolveTreeViewAccessibleMethod "getRowExtentAt" o = Atk.Table.TableGetRowExtentAtMethodInfo
+    ResolveTreeViewAccessibleMethod "getRowHeader" o = Atk.Table.TableGetRowHeaderMethodInfo
+    ResolveTreeViewAccessibleMethod "getRowHeaderCells" o = Gtk.CellAccessibleParent.CellAccessibleParentGetRowHeaderCellsMethodInfo
+    ResolveTreeViewAccessibleMethod "getSelectedColumns" o = Atk.Table.TableGetSelectedColumnsMethodInfo
+    ResolveTreeViewAccessibleMethod "getSelectedRows" o = Atk.Table.TableGetSelectedRowsMethodInfo
+    ResolveTreeViewAccessibleMethod "getSelectionCount" o = Atk.Selection.SelectionGetSelectionCountMethodInfo
+    ResolveTreeViewAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveTreeViewAccessibleMethod "getSummary" o = Atk.Table.TableGetSummaryMethodInfo
+    ResolveTreeViewAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveTreeViewAccessibleMethod "setCaption" o = Atk.Table.TableSetCaptionMethodInfo
+    ResolveTreeViewAccessibleMethod "setColumnDescription" o = Atk.Table.TableSetColumnDescriptionMethodInfo
+    ResolveTreeViewAccessibleMethod "setColumnHeader" o = Atk.Table.TableSetColumnHeaderMethodInfo
+    ResolveTreeViewAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTreeViewAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveTreeViewAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveTreeViewAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveTreeViewAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveTreeViewAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveTreeViewAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTreeViewAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveTreeViewAccessibleMethod "setRowDescription" o = Atk.Table.TableSetRowDescriptionMethodInfo
+    ResolveTreeViewAccessibleMethod "setRowHeader" o = Atk.Table.TableSetRowHeaderMethodInfo
+    ResolveTreeViewAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveTreeViewAccessibleMethod "setSummary" o = Atk.Table.TableSetSummaryMethodInfo
+    ResolveTreeViewAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveTreeViewAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeViewAccessibleMethod t TreeViewAccessible, O.MethodInfo info TreeViewAccessible p) => OL.IsLabel t (TreeViewAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeViewAccessible
+type instance O.AttributeList TreeViewAccessible = TreeViewAccessibleAttributeList
+type TreeViewAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList TreeViewAccessible = TreeViewAccessibleSignalList
+type TreeViewAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("columnDeleted", Atk.Table.TableColumnDeletedSignalInfo), '("columnInserted", Atk.Table.TableColumnInsertedSignalInfo), '("columnReordered", Atk.Table.TableColumnReorderedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("modelChanged", Atk.Table.TableModelChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("rowDeleted", Atk.Table.TableRowDeletedSignalInfo), '("rowInserted", Atk.Table.TableRowInsertedSignalInfo), '("rowReordered", Atk.Table.TableRowReorderedSignalInfo), '("selectionChanged", Atk.Selection.SelectionSelectionChangedSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TreeViewAccessible.hs-boot b/GI/Gtk/Objects/TreeViewAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeViewAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TreeViewAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeViewAccessible = TreeViewAccessible (ManagedPtr TreeViewAccessible)
+instance GObject TreeViewAccessible where
+class (GObject o, O.IsDescendantOf TreeViewAccessible o) => IsTreeViewAccessible o
+instance (GObject o, O.IsDescendantOf TreeViewAccessible o) => IsTreeViewAccessible o
+instance O.HasParentTypes TreeViewAccessible
diff --git a/GI/Gtk/Objects/TreeViewColumn.hs b/GI/Gtk/Objects/TreeViewColumn.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeViewColumn.hs
@@ -0,0 +1,3901 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The GtkTreeViewColumn object represents a visible column in a 'GI.Gtk.Objects.TreeView.TreeView' widget.
+It allows to set properties of the column header, and functions as a holding pen for
+the cell renderers which determine how the data in the column is displayed.
+
+Please refer to the [tree widget conceptual overview][TreeWidget]
+for an overview of all the objects and data types related to the tree widget and how
+they work together.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.TreeViewColumn
+    ( 
+
+-- * Exported types
+    TreeViewColumn(..)                      ,
+    IsTreeViewColumn                        ,
+    toTreeViewColumn                        ,
+    noTreeViewColumn                        ,
+
+
+ -- * Methods
+-- ** addAttribute #method:addAttribute#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnAddAttributeMethodInfo    ,
+#endif
+    treeViewColumnAddAttribute              ,
+
+
+-- ** cellGetPosition #method:cellGetPosition#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnCellGetPositionMethodInfo ,
+#endif
+    treeViewColumnCellGetPosition           ,
+
+
+-- ** cellGetSize #method:cellGetSize#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnCellGetSizeMethodInfo     ,
+#endif
+    treeViewColumnCellGetSize               ,
+
+
+-- ** cellIsVisible #method:cellIsVisible#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnCellIsVisibleMethodInfo   ,
+#endif
+    treeViewColumnCellIsVisible             ,
+
+
+-- ** cellSetCellData #method:cellSetCellData#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnCellSetCellDataMethodInfo ,
+#endif
+    treeViewColumnCellSetCellData           ,
+
+
+-- ** clear #method:clear#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnClearMethodInfo           ,
+#endif
+    treeViewColumnClear                     ,
+
+
+-- ** clearAttributes #method:clearAttributes#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnClearAttributesMethodInfo ,
+#endif
+    treeViewColumnClearAttributes           ,
+
+
+-- ** clicked #method:clicked#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnClickedMethodInfo         ,
+#endif
+    treeViewColumnClicked                   ,
+
+
+-- ** focusCell #method:focusCell#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnFocusCellMethodInfo       ,
+#endif
+    treeViewColumnFocusCell                 ,
+
+
+-- ** getAlignment #method:getAlignment#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetAlignmentMethodInfo    ,
+#endif
+    treeViewColumnGetAlignment              ,
+
+
+-- ** getButton #method:getButton#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetButtonMethodInfo       ,
+#endif
+    treeViewColumnGetButton                 ,
+
+
+-- ** getClickable #method:getClickable#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetClickableMethodInfo    ,
+#endif
+    treeViewColumnGetClickable              ,
+
+
+-- ** getExpand #method:getExpand#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetExpandMethodInfo       ,
+#endif
+    treeViewColumnGetExpand                 ,
+
+
+-- ** getFixedWidth #method:getFixedWidth#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetFixedWidthMethodInfo   ,
+#endif
+    treeViewColumnGetFixedWidth             ,
+
+
+-- ** getMaxWidth #method:getMaxWidth#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetMaxWidthMethodInfo     ,
+#endif
+    treeViewColumnGetMaxWidth               ,
+
+
+-- ** getMinWidth #method:getMinWidth#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetMinWidthMethodInfo     ,
+#endif
+    treeViewColumnGetMinWidth               ,
+
+
+-- ** getReorderable #method:getReorderable#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetReorderableMethodInfo  ,
+#endif
+    treeViewColumnGetReorderable            ,
+
+
+-- ** getResizable #method:getResizable#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetResizableMethodInfo    ,
+#endif
+    treeViewColumnGetResizable              ,
+
+
+-- ** getSizing #method:getSizing#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetSizingMethodInfo       ,
+#endif
+    treeViewColumnGetSizing                 ,
+
+
+-- ** getSortColumnId #method:getSortColumnId#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetSortColumnIdMethodInfo ,
+#endif
+    treeViewColumnGetSortColumnId           ,
+
+
+-- ** getSortIndicator #method:getSortIndicator#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetSortIndicatorMethodInfo,
+#endif
+    treeViewColumnGetSortIndicator          ,
+
+
+-- ** getSortOrder #method:getSortOrder#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetSortOrderMethodInfo    ,
+#endif
+    treeViewColumnGetSortOrder              ,
+
+
+-- ** getSpacing #method:getSpacing#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetSpacingMethodInfo      ,
+#endif
+    treeViewColumnGetSpacing                ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetTitleMethodInfo        ,
+#endif
+    treeViewColumnGetTitle                  ,
+
+
+-- ** getTreeView #method:getTreeView#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetTreeViewMethodInfo     ,
+#endif
+    treeViewColumnGetTreeView               ,
+
+
+-- ** getVisible #method:getVisible#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetVisibleMethodInfo      ,
+#endif
+    treeViewColumnGetVisible                ,
+
+
+-- ** getWidget #method:getWidget#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetWidgetMethodInfo       ,
+#endif
+    treeViewColumnGetWidget                 ,
+
+
+-- ** getWidth #method:getWidth#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetWidthMethodInfo        ,
+#endif
+    treeViewColumnGetWidth                  ,
+
+
+-- ** getXOffset #method:getXOffset#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnGetXOffsetMethodInfo      ,
+#endif
+    treeViewColumnGetXOffset                ,
+
+
+-- ** new #method:new#
+
+    treeViewColumnNew                       ,
+
+
+-- ** newWithArea #method:newWithArea#
+
+    treeViewColumnNewWithArea               ,
+
+
+-- ** packEnd #method:packEnd#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnPackEndMethodInfo         ,
+#endif
+    treeViewColumnPackEnd                   ,
+
+
+-- ** packStart #method:packStart#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnPackStartMethodInfo       ,
+#endif
+    treeViewColumnPackStart                 ,
+
+
+-- ** queueResize #method:queueResize#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnQueueResizeMethodInfo     ,
+#endif
+    treeViewColumnQueueResize               ,
+
+
+-- ** setAlignment #method:setAlignment#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetAlignmentMethodInfo    ,
+#endif
+    treeViewColumnSetAlignment              ,
+
+
+-- ** setCellDataFunc #method:setCellDataFunc#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetCellDataFuncMethodInfo ,
+#endif
+    treeViewColumnSetCellDataFunc           ,
+
+
+-- ** setClickable #method:setClickable#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetClickableMethodInfo    ,
+#endif
+    treeViewColumnSetClickable              ,
+
+
+-- ** setExpand #method:setExpand#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetExpandMethodInfo       ,
+#endif
+    treeViewColumnSetExpand                 ,
+
+
+-- ** setFixedWidth #method:setFixedWidth#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetFixedWidthMethodInfo   ,
+#endif
+    treeViewColumnSetFixedWidth             ,
+
+
+-- ** setMaxWidth #method:setMaxWidth#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetMaxWidthMethodInfo     ,
+#endif
+    treeViewColumnSetMaxWidth               ,
+
+
+-- ** setMinWidth #method:setMinWidth#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetMinWidthMethodInfo     ,
+#endif
+    treeViewColumnSetMinWidth               ,
+
+
+-- ** setReorderable #method:setReorderable#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetReorderableMethodInfo  ,
+#endif
+    treeViewColumnSetReorderable            ,
+
+
+-- ** setResizable #method:setResizable#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetResizableMethodInfo    ,
+#endif
+    treeViewColumnSetResizable              ,
+
+
+-- ** setSizing #method:setSizing#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetSizingMethodInfo       ,
+#endif
+    treeViewColumnSetSizing                 ,
+
+
+-- ** setSortColumnId #method:setSortColumnId#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetSortColumnIdMethodInfo ,
+#endif
+    treeViewColumnSetSortColumnId           ,
+
+
+-- ** setSortIndicator #method:setSortIndicator#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetSortIndicatorMethodInfo,
+#endif
+    treeViewColumnSetSortIndicator          ,
+
+
+-- ** setSortOrder #method:setSortOrder#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetSortOrderMethodInfo    ,
+#endif
+    treeViewColumnSetSortOrder              ,
+
+
+-- ** setSpacing #method:setSpacing#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetSpacingMethodInfo      ,
+#endif
+    treeViewColumnSetSpacing                ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetTitleMethodInfo        ,
+#endif
+    treeViewColumnSetTitle                  ,
+
+
+-- ** setVisible #method:setVisible#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetVisibleMethodInfo      ,
+#endif
+    treeViewColumnSetVisible                ,
+
+
+-- ** setWidget #method:setWidget#
+
+#if ENABLE_OVERLOADING
+    TreeViewColumnSetWidgetMethodInfo       ,
+#endif
+    treeViewColumnSetWidget                 ,
+
+
+
+
+ -- * Properties
+-- ** alignment #attr:alignment#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnAlignmentPropertyInfo     ,
+#endif
+    constructTreeViewColumnAlignment        ,
+    getTreeViewColumnAlignment              ,
+    setTreeViewColumnAlignment              ,
+#if ENABLE_OVERLOADING
+    treeViewColumnAlignment                 ,
+#endif
+
+
+-- ** cellArea #attr:cellArea#
+{- | The 'GI.Gtk.Objects.CellArea.CellArea' used to layout cell renderers for this column.
+
+If no area is specified when creating the tree view column with 'GI.Gtk.Objects.TreeViewColumn.treeViewColumnNewWithArea'
+a horizontally oriented 'GI.Gtk.Objects.CellAreaBox.CellAreaBox' will be used.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnCellAreaPropertyInfo      ,
+#endif
+    constructTreeViewColumnCellArea         ,
+    getTreeViewColumnCellArea               ,
+#if ENABLE_OVERLOADING
+    treeViewColumnCellArea                  ,
+#endif
+
+
+-- ** clickable #attr:clickable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnClickablePropertyInfo     ,
+#endif
+    constructTreeViewColumnClickable        ,
+    getTreeViewColumnClickable              ,
+    setTreeViewColumnClickable              ,
+#if ENABLE_OVERLOADING
+    treeViewColumnClickable                 ,
+#endif
+
+
+-- ** expand #attr:expand#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnExpandPropertyInfo        ,
+#endif
+    constructTreeViewColumnExpand           ,
+    getTreeViewColumnExpand                 ,
+    setTreeViewColumnExpand                 ,
+#if ENABLE_OVERLOADING
+    treeViewColumnExpand                    ,
+#endif
+
+
+-- ** fixedWidth #attr:fixedWidth#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnFixedWidthPropertyInfo    ,
+#endif
+    constructTreeViewColumnFixedWidth       ,
+    getTreeViewColumnFixedWidth             ,
+    setTreeViewColumnFixedWidth             ,
+#if ENABLE_OVERLOADING
+    treeViewColumnFixedWidth                ,
+#endif
+
+
+-- ** maxWidth #attr:maxWidth#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnMaxWidthPropertyInfo      ,
+#endif
+    constructTreeViewColumnMaxWidth         ,
+    getTreeViewColumnMaxWidth               ,
+    setTreeViewColumnMaxWidth               ,
+#if ENABLE_OVERLOADING
+    treeViewColumnMaxWidth                  ,
+#endif
+
+
+-- ** minWidth #attr:minWidth#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnMinWidthPropertyInfo      ,
+#endif
+    constructTreeViewColumnMinWidth         ,
+    getTreeViewColumnMinWidth               ,
+    setTreeViewColumnMinWidth               ,
+#if ENABLE_OVERLOADING
+    treeViewColumnMinWidth                  ,
+#endif
+
+
+-- ** reorderable #attr:reorderable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnReorderablePropertyInfo   ,
+#endif
+    constructTreeViewColumnReorderable      ,
+    getTreeViewColumnReorderable            ,
+    setTreeViewColumnReorderable            ,
+#if ENABLE_OVERLOADING
+    treeViewColumnReorderable               ,
+#endif
+
+
+-- ** resizable #attr:resizable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnResizablePropertyInfo     ,
+#endif
+    constructTreeViewColumnResizable        ,
+    getTreeViewColumnResizable              ,
+    setTreeViewColumnResizable              ,
+#if ENABLE_OVERLOADING
+    treeViewColumnResizable                 ,
+#endif
+
+
+-- ** sizing #attr:sizing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnSizingPropertyInfo        ,
+#endif
+    constructTreeViewColumnSizing           ,
+    getTreeViewColumnSizing                 ,
+    setTreeViewColumnSizing                 ,
+#if ENABLE_OVERLOADING
+    treeViewColumnSizing                    ,
+#endif
+
+
+-- ** sortColumnId #attr:sortColumnId#
+{- | Logical sort column ID this column sorts on when selected for sorting. Setting the sort column ID makes the column header
+clickable. Set to -1 to make the column unsortable.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnSortColumnIdPropertyInfo  ,
+#endif
+    constructTreeViewColumnSortColumnId     ,
+    getTreeViewColumnSortColumnId           ,
+    setTreeViewColumnSortColumnId           ,
+#if ENABLE_OVERLOADING
+    treeViewColumnSortColumnId              ,
+#endif
+
+
+-- ** sortIndicator #attr:sortIndicator#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnSortIndicatorPropertyInfo ,
+#endif
+    constructTreeViewColumnSortIndicator    ,
+    getTreeViewColumnSortIndicator          ,
+    setTreeViewColumnSortIndicator          ,
+#if ENABLE_OVERLOADING
+    treeViewColumnSortIndicator             ,
+#endif
+
+
+-- ** sortOrder #attr:sortOrder#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnSortOrderPropertyInfo     ,
+#endif
+    constructTreeViewColumnSortOrder        ,
+    getTreeViewColumnSortOrder              ,
+    setTreeViewColumnSortOrder              ,
+#if ENABLE_OVERLOADING
+    treeViewColumnSortOrder                 ,
+#endif
+
+
+-- ** spacing #attr:spacing#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnSpacingPropertyInfo       ,
+#endif
+    constructTreeViewColumnSpacing          ,
+    getTreeViewColumnSpacing                ,
+    setTreeViewColumnSpacing                ,
+#if ENABLE_OVERLOADING
+    treeViewColumnSpacing                   ,
+#endif
+
+
+-- ** title #attr:title#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnTitlePropertyInfo         ,
+#endif
+    constructTreeViewColumnTitle            ,
+    getTreeViewColumnTitle                  ,
+    setTreeViewColumnTitle                  ,
+#if ENABLE_OVERLOADING
+    treeViewColumnTitle                     ,
+#endif
+
+
+-- ** visible #attr:visible#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnVisiblePropertyInfo       ,
+#endif
+    constructTreeViewColumnVisible          ,
+    getTreeViewColumnVisible                ,
+    setTreeViewColumnVisible                ,
+#if ENABLE_OVERLOADING
+    treeViewColumnVisible                   ,
+#endif
+
+
+-- ** widget #attr:widget#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnWidgetPropertyInfo        ,
+#endif
+    clearTreeViewColumnWidget               ,
+    constructTreeViewColumnWidget           ,
+    getTreeViewColumnWidget                 ,
+    setTreeViewColumnWidget                 ,
+#if ENABLE_OVERLOADING
+    treeViewColumnWidget                    ,
+#endif
+
+
+-- ** width #attr:width#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnWidthPropertyInfo         ,
+#endif
+    getTreeViewColumnWidth                  ,
+#if ENABLE_OVERLOADING
+    treeViewColumnWidth                     ,
+#endif
+
+
+-- ** xOffset #attr:xOffset#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    TreeViewColumnXOffsetPropertyInfo       ,
+#endif
+    getTreeViewColumnXOffset                ,
+#if ENABLE_OVERLOADING
+    treeViewColumnXOffset                   ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** clicked #signal:clicked#
+
+    C_TreeViewColumnClickedCallback         ,
+    TreeViewColumnClickedCallback           ,
+#if ENABLE_OVERLOADING
+    TreeViewColumnClickedSignalInfo         ,
+#endif
+    afterTreeViewColumnClicked              ,
+    genClosure_TreeViewColumnClicked        ,
+    mk_TreeViewColumnClickedCallback        ,
+    noTreeViewColumnClickedCallback         ,
+    onTreeViewColumnClicked                 ,
+    wrap_TreeViewColumnClickedCallback      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.CellLayout as Gtk.CellLayout
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellArea as Gtk.CellArea
+import {-# SOURCE #-} qualified GI.Gtk.Objects.CellRenderer as Gtk.CellRenderer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
+
+-- | Memory-managed wrapper type.
+newtype TreeViewColumn = TreeViewColumn (ManagedPtr TreeViewColumn)
+foreign import ccall "gtk_tree_view_column_get_type"
+    c_gtk_tree_view_column_get_type :: IO GType
+
+instance GObject TreeViewColumn where
+    gobjectType = c_gtk_tree_view_column_get_type
+    
+
+-- | Type class for types which can be safely cast to `TreeViewColumn`, for instance with `toTreeViewColumn`.
+class (GObject o, O.IsDescendantOf TreeViewColumn o) => IsTreeViewColumn o
+instance (GObject o, O.IsDescendantOf TreeViewColumn o) => IsTreeViewColumn o
+
+instance O.HasParentTypes TreeViewColumn
+type instance O.ParentTypes TreeViewColumn = '[GObject.Object.Object, Gtk.Buildable.Buildable, Gtk.CellLayout.CellLayout]
+
+-- | Cast to `TreeViewColumn`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toTreeViewColumn :: (MonadIO m, IsTreeViewColumn o) => o -> m TreeViewColumn
+toTreeViewColumn = liftIO . unsafeCastTo TreeViewColumn
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeViewColumn`.
+noTreeViewColumn :: Maybe TreeViewColumn
+noTreeViewColumn = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeViewColumnMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeViewColumnMethod "addAttribute" o = TreeViewColumnAddAttributeMethodInfo
+    ResolveTreeViewColumnMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveTreeViewColumnMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveTreeViewColumnMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveTreeViewColumnMethod "cellGetPosition" o = TreeViewColumnCellGetPositionMethodInfo
+    ResolveTreeViewColumnMethod "cellGetSize" o = TreeViewColumnCellGetSizeMethodInfo
+    ResolveTreeViewColumnMethod "cellIsVisible" o = TreeViewColumnCellIsVisibleMethodInfo
+    ResolveTreeViewColumnMethod "cellSetCellData" o = TreeViewColumnCellSetCellDataMethodInfo
+    ResolveTreeViewColumnMethod "clear" o = TreeViewColumnClearMethodInfo
+    ResolveTreeViewColumnMethod "clearAttributes" o = TreeViewColumnClearAttributesMethodInfo
+    ResolveTreeViewColumnMethod "clicked" o = TreeViewColumnClickedMethodInfo
+    ResolveTreeViewColumnMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveTreeViewColumnMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveTreeViewColumnMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveTreeViewColumnMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveTreeViewColumnMethod "focusCell" o = TreeViewColumnFocusCellMethodInfo
+    ResolveTreeViewColumnMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveTreeViewColumnMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveTreeViewColumnMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveTreeViewColumnMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveTreeViewColumnMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveTreeViewColumnMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveTreeViewColumnMethod "packEnd" o = TreeViewColumnPackEndMethodInfo
+    ResolveTreeViewColumnMethod "packStart" o = TreeViewColumnPackStartMethodInfo
+    ResolveTreeViewColumnMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveTreeViewColumnMethod "queueResize" o = TreeViewColumnQueueResizeMethodInfo
+    ResolveTreeViewColumnMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveTreeViewColumnMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveTreeViewColumnMethod "reorder" o = Gtk.CellLayout.CellLayoutReorderMethodInfo
+    ResolveTreeViewColumnMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveTreeViewColumnMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveTreeViewColumnMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveTreeViewColumnMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveTreeViewColumnMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveTreeViewColumnMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveTreeViewColumnMethod "getAlignment" o = TreeViewColumnGetAlignmentMethodInfo
+    ResolveTreeViewColumnMethod "getArea" o = Gtk.CellLayout.CellLayoutGetAreaMethodInfo
+    ResolveTreeViewColumnMethod "getButton" o = TreeViewColumnGetButtonMethodInfo
+    ResolveTreeViewColumnMethod "getCells" o = Gtk.CellLayout.CellLayoutGetCellsMethodInfo
+    ResolveTreeViewColumnMethod "getClickable" o = TreeViewColumnGetClickableMethodInfo
+    ResolveTreeViewColumnMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveTreeViewColumnMethod "getExpand" o = TreeViewColumnGetExpandMethodInfo
+    ResolveTreeViewColumnMethod "getFixedWidth" o = TreeViewColumnGetFixedWidthMethodInfo
+    ResolveTreeViewColumnMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveTreeViewColumnMethod "getMaxWidth" o = TreeViewColumnGetMaxWidthMethodInfo
+    ResolveTreeViewColumnMethod "getMinWidth" o = TreeViewColumnGetMinWidthMethodInfo
+    ResolveTreeViewColumnMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveTreeViewColumnMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveTreeViewColumnMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveTreeViewColumnMethod "getReorderable" o = TreeViewColumnGetReorderableMethodInfo
+    ResolveTreeViewColumnMethod "getResizable" o = TreeViewColumnGetResizableMethodInfo
+    ResolveTreeViewColumnMethod "getSizing" o = TreeViewColumnGetSizingMethodInfo
+    ResolveTreeViewColumnMethod "getSortColumnId" o = TreeViewColumnGetSortColumnIdMethodInfo
+    ResolveTreeViewColumnMethod "getSortIndicator" o = TreeViewColumnGetSortIndicatorMethodInfo
+    ResolveTreeViewColumnMethod "getSortOrder" o = TreeViewColumnGetSortOrderMethodInfo
+    ResolveTreeViewColumnMethod "getSpacing" o = TreeViewColumnGetSpacingMethodInfo
+    ResolveTreeViewColumnMethod "getTitle" o = TreeViewColumnGetTitleMethodInfo
+    ResolveTreeViewColumnMethod "getTreeView" o = TreeViewColumnGetTreeViewMethodInfo
+    ResolveTreeViewColumnMethod "getVisible" o = TreeViewColumnGetVisibleMethodInfo
+    ResolveTreeViewColumnMethod "getWidget" o = TreeViewColumnGetWidgetMethodInfo
+    ResolveTreeViewColumnMethod "getWidth" o = TreeViewColumnGetWidthMethodInfo
+    ResolveTreeViewColumnMethod "getXOffset" o = TreeViewColumnGetXOffsetMethodInfo
+    ResolveTreeViewColumnMethod "setAlignment" o = TreeViewColumnSetAlignmentMethodInfo
+    ResolveTreeViewColumnMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveTreeViewColumnMethod "setCellDataFunc" o = TreeViewColumnSetCellDataFuncMethodInfo
+    ResolveTreeViewColumnMethod "setClickable" o = TreeViewColumnSetClickableMethodInfo
+    ResolveTreeViewColumnMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveTreeViewColumnMethod "setExpand" o = TreeViewColumnSetExpandMethodInfo
+    ResolveTreeViewColumnMethod "setFixedWidth" o = TreeViewColumnSetFixedWidthMethodInfo
+    ResolveTreeViewColumnMethod "setMaxWidth" o = TreeViewColumnSetMaxWidthMethodInfo
+    ResolveTreeViewColumnMethod "setMinWidth" o = TreeViewColumnSetMinWidthMethodInfo
+    ResolveTreeViewColumnMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveTreeViewColumnMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveTreeViewColumnMethod "setReorderable" o = TreeViewColumnSetReorderableMethodInfo
+    ResolveTreeViewColumnMethod "setResizable" o = TreeViewColumnSetResizableMethodInfo
+    ResolveTreeViewColumnMethod "setSizing" o = TreeViewColumnSetSizingMethodInfo
+    ResolveTreeViewColumnMethod "setSortColumnId" o = TreeViewColumnSetSortColumnIdMethodInfo
+    ResolveTreeViewColumnMethod "setSortIndicator" o = TreeViewColumnSetSortIndicatorMethodInfo
+    ResolveTreeViewColumnMethod "setSortOrder" o = TreeViewColumnSetSortOrderMethodInfo
+    ResolveTreeViewColumnMethod "setSpacing" o = TreeViewColumnSetSpacingMethodInfo
+    ResolveTreeViewColumnMethod "setTitle" o = TreeViewColumnSetTitleMethodInfo
+    ResolveTreeViewColumnMethod "setVisible" o = TreeViewColumnSetVisibleMethodInfo
+    ResolveTreeViewColumnMethod "setWidget" o = TreeViewColumnSetWidgetMethodInfo
+    ResolveTreeViewColumnMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeViewColumnMethod t TreeViewColumn, O.MethodInfo info TreeViewColumn p) => OL.IsLabel t (TreeViewColumn -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal TreeViewColumn::clicked
+{- |
+/No description available in the introspection data./
+-}
+type TreeViewColumnClickedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `TreeViewColumnClickedCallback`@.
+noTreeViewColumnClickedCallback :: Maybe TreeViewColumnClickedCallback
+noTreeViewColumnClickedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_TreeViewColumnClickedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_TreeViewColumnClickedCallback`.
+foreign import ccall "wrapper"
+    mk_TreeViewColumnClickedCallback :: C_TreeViewColumnClickedCallback -> IO (FunPtr C_TreeViewColumnClickedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_TreeViewColumnClicked :: MonadIO m => TreeViewColumnClickedCallback -> m (GClosure C_TreeViewColumnClickedCallback)
+genClosure_TreeViewColumnClicked cb = liftIO $ do
+    let cb' = wrap_TreeViewColumnClickedCallback cb
+    mk_TreeViewColumnClickedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `TreeViewColumnClickedCallback` into a `C_TreeViewColumnClickedCallback`.
+wrap_TreeViewColumnClickedCallback ::
+    TreeViewColumnClickedCallback ->
+    C_TreeViewColumnClickedCallback
+wrap_TreeViewColumnClickedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@clicked@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' treeViewColumn #clicked callback
+@
+-}
+onTreeViewColumnClicked :: (IsTreeViewColumn a, MonadIO m) => a -> TreeViewColumnClickedCallback -> m SignalHandlerId
+onTreeViewColumnClicked obj cb = liftIO $ do
+    let cb' = wrap_TreeViewColumnClickedCallback cb
+    cb'' <- mk_TreeViewColumnClickedCallback cb'
+    connectSignalFunPtr obj "clicked" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@clicked@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' treeViewColumn #clicked callback
+@
+-}
+afterTreeViewColumnClicked :: (IsTreeViewColumn a, MonadIO m) => a -> TreeViewColumnClickedCallback -> m SignalHandlerId
+afterTreeViewColumnClicked obj cb = liftIO $ do
+    let cb' = wrap_TreeViewColumnClickedCallback cb
+    cb'' <- mk_TreeViewColumnClickedCallback cb'
+    connectSignalFunPtr obj "clicked" cb'' SignalConnectAfter
+
+
+-- VVV Prop "alignment"
+   -- Type: TBasicType TFloat
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@alignment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #alignment
+@
+-}
+getTreeViewColumnAlignment :: (MonadIO m, IsTreeViewColumn o) => o -> m Float
+getTreeViewColumnAlignment obj = liftIO $ B.Properties.getObjectPropertyFloat obj "alignment"
+
+{- |
+Set the value of the “@alignment@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #alignment 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnAlignment :: (MonadIO m, IsTreeViewColumn o) => o -> Float -> m ()
+setTreeViewColumnAlignment obj val = liftIO $ B.Properties.setObjectPropertyFloat obj "alignment" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@alignment@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnAlignment :: (IsTreeViewColumn o) => Float -> IO (GValueConstruct o)
+constructTreeViewColumnAlignment val = B.Properties.constructObjectPropertyFloat "alignment" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnAlignmentPropertyInfo
+instance AttrInfo TreeViewColumnAlignmentPropertyInfo where
+    type AttrAllowedOps TreeViewColumnAlignmentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnAlignmentPropertyInfo = (~) Float
+    type AttrBaseTypeConstraint TreeViewColumnAlignmentPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnAlignmentPropertyInfo = Float
+    type AttrLabel TreeViewColumnAlignmentPropertyInfo = "alignment"
+    type AttrOrigin TreeViewColumnAlignmentPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnAlignment
+    attrSet _ = setTreeViewColumnAlignment
+    attrConstruct _ = constructTreeViewColumnAlignment
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "cell-area"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "CellArea"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@cell-area@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #cellArea
+@
+-}
+getTreeViewColumnCellArea :: (MonadIO m, IsTreeViewColumn o) => o -> m (Maybe Gtk.CellArea.CellArea)
+getTreeViewColumnCellArea obj = liftIO $ B.Properties.getObjectPropertyObject obj "cell-area" Gtk.CellArea.CellArea
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@cell-area@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnCellArea :: (IsTreeViewColumn o, Gtk.CellArea.IsCellArea a) => a -> IO (GValueConstruct o)
+constructTreeViewColumnCellArea val = B.Properties.constructObjectPropertyObject "cell-area" (Just val)
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellAreaPropertyInfo
+instance AttrInfo TreeViewColumnCellAreaPropertyInfo where
+    type AttrAllowedOps TreeViewColumnCellAreaPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeViewColumnCellAreaPropertyInfo = Gtk.CellArea.IsCellArea
+    type AttrBaseTypeConstraint TreeViewColumnCellAreaPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnCellAreaPropertyInfo = (Maybe Gtk.CellArea.CellArea)
+    type AttrLabel TreeViewColumnCellAreaPropertyInfo = "cell-area"
+    type AttrOrigin TreeViewColumnCellAreaPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnCellArea
+    attrSet _ = undefined
+    attrConstruct _ = constructTreeViewColumnCellArea
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "clickable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@clickable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #clickable
+@
+-}
+getTreeViewColumnClickable :: (MonadIO m, IsTreeViewColumn o) => o -> m Bool
+getTreeViewColumnClickable obj = liftIO $ B.Properties.getObjectPropertyBool obj "clickable"
+
+{- |
+Set the value of the “@clickable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #clickable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnClickable :: (MonadIO m, IsTreeViewColumn o) => o -> Bool -> m ()
+setTreeViewColumnClickable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "clickable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@clickable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnClickable :: (IsTreeViewColumn o) => Bool -> IO (GValueConstruct o)
+constructTreeViewColumnClickable val = B.Properties.constructObjectPropertyBool "clickable" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnClickablePropertyInfo
+instance AttrInfo TreeViewColumnClickablePropertyInfo where
+    type AttrAllowedOps TreeViewColumnClickablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnClickablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewColumnClickablePropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnClickablePropertyInfo = Bool
+    type AttrLabel TreeViewColumnClickablePropertyInfo = "clickable"
+    type AttrOrigin TreeViewColumnClickablePropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnClickable
+    attrSet _ = setTreeViewColumnClickable
+    attrConstruct _ = constructTreeViewColumnClickable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "expand"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@expand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #expand
+@
+-}
+getTreeViewColumnExpand :: (MonadIO m, IsTreeViewColumn o) => o -> m Bool
+getTreeViewColumnExpand obj = liftIO $ B.Properties.getObjectPropertyBool obj "expand"
+
+{- |
+Set the value of the “@expand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #expand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnExpand :: (MonadIO m, IsTreeViewColumn o) => o -> Bool -> m ()
+setTreeViewColumnExpand obj val = liftIO $ B.Properties.setObjectPropertyBool obj "expand" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@expand@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnExpand :: (IsTreeViewColumn o) => Bool -> IO (GValueConstruct o)
+constructTreeViewColumnExpand val = B.Properties.constructObjectPropertyBool "expand" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnExpandPropertyInfo
+instance AttrInfo TreeViewColumnExpandPropertyInfo where
+    type AttrAllowedOps TreeViewColumnExpandPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnExpandPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewColumnExpandPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnExpandPropertyInfo = Bool
+    type AttrLabel TreeViewColumnExpandPropertyInfo = "expand"
+    type AttrOrigin TreeViewColumnExpandPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnExpand
+    attrSet _ = setTreeViewColumnExpand
+    attrConstruct _ = constructTreeViewColumnExpand
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "fixed-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@fixed-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #fixedWidth
+@
+-}
+getTreeViewColumnFixedWidth :: (MonadIO m, IsTreeViewColumn o) => o -> m Int32
+getTreeViewColumnFixedWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "fixed-width"
+
+{- |
+Set the value of the “@fixed-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #fixedWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnFixedWidth :: (MonadIO m, IsTreeViewColumn o) => o -> Int32 -> m ()
+setTreeViewColumnFixedWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "fixed-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@fixed-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnFixedWidth :: (IsTreeViewColumn o) => Int32 -> IO (GValueConstruct o)
+constructTreeViewColumnFixedWidth val = B.Properties.constructObjectPropertyInt32 "fixed-width" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnFixedWidthPropertyInfo
+instance AttrInfo TreeViewColumnFixedWidthPropertyInfo where
+    type AttrAllowedOps TreeViewColumnFixedWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnFixedWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TreeViewColumnFixedWidthPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnFixedWidthPropertyInfo = Int32
+    type AttrLabel TreeViewColumnFixedWidthPropertyInfo = "fixed-width"
+    type AttrOrigin TreeViewColumnFixedWidthPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnFixedWidth
+    attrSet _ = setTreeViewColumnFixedWidth
+    attrConstruct _ = constructTreeViewColumnFixedWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "max-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@max-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #maxWidth
+@
+-}
+getTreeViewColumnMaxWidth :: (MonadIO m, IsTreeViewColumn o) => o -> m Int32
+getTreeViewColumnMaxWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "max-width"
+
+{- |
+Set the value of the “@max-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #maxWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnMaxWidth :: (MonadIO m, IsTreeViewColumn o) => o -> Int32 -> m ()
+setTreeViewColumnMaxWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "max-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@max-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnMaxWidth :: (IsTreeViewColumn o) => Int32 -> IO (GValueConstruct o)
+constructTreeViewColumnMaxWidth val = B.Properties.constructObjectPropertyInt32 "max-width" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnMaxWidthPropertyInfo
+instance AttrInfo TreeViewColumnMaxWidthPropertyInfo where
+    type AttrAllowedOps TreeViewColumnMaxWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnMaxWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TreeViewColumnMaxWidthPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnMaxWidthPropertyInfo = Int32
+    type AttrLabel TreeViewColumnMaxWidthPropertyInfo = "max-width"
+    type AttrOrigin TreeViewColumnMaxWidthPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnMaxWidth
+    attrSet _ = setTreeViewColumnMaxWidth
+    attrConstruct _ = constructTreeViewColumnMaxWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "min-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@min-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #minWidth
+@
+-}
+getTreeViewColumnMinWidth :: (MonadIO m, IsTreeViewColumn o) => o -> m Int32
+getTreeViewColumnMinWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "min-width"
+
+{- |
+Set the value of the “@min-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #minWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnMinWidth :: (MonadIO m, IsTreeViewColumn o) => o -> Int32 -> m ()
+setTreeViewColumnMinWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "min-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@min-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnMinWidth :: (IsTreeViewColumn o) => Int32 -> IO (GValueConstruct o)
+constructTreeViewColumnMinWidth val = B.Properties.constructObjectPropertyInt32 "min-width" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnMinWidthPropertyInfo
+instance AttrInfo TreeViewColumnMinWidthPropertyInfo where
+    type AttrAllowedOps TreeViewColumnMinWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnMinWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TreeViewColumnMinWidthPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnMinWidthPropertyInfo = Int32
+    type AttrLabel TreeViewColumnMinWidthPropertyInfo = "min-width"
+    type AttrOrigin TreeViewColumnMinWidthPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnMinWidth
+    attrSet _ = setTreeViewColumnMinWidth
+    attrConstruct _ = constructTreeViewColumnMinWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "reorderable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@reorderable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #reorderable
+@
+-}
+getTreeViewColumnReorderable :: (MonadIO m, IsTreeViewColumn o) => o -> m Bool
+getTreeViewColumnReorderable obj = liftIO $ B.Properties.getObjectPropertyBool obj "reorderable"
+
+{- |
+Set the value of the “@reorderable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #reorderable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnReorderable :: (MonadIO m, IsTreeViewColumn o) => o -> Bool -> m ()
+setTreeViewColumnReorderable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "reorderable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@reorderable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnReorderable :: (IsTreeViewColumn o) => Bool -> IO (GValueConstruct o)
+constructTreeViewColumnReorderable val = B.Properties.constructObjectPropertyBool "reorderable" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnReorderablePropertyInfo
+instance AttrInfo TreeViewColumnReorderablePropertyInfo where
+    type AttrAllowedOps TreeViewColumnReorderablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnReorderablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewColumnReorderablePropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnReorderablePropertyInfo = Bool
+    type AttrLabel TreeViewColumnReorderablePropertyInfo = "reorderable"
+    type AttrOrigin TreeViewColumnReorderablePropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnReorderable
+    attrSet _ = setTreeViewColumnReorderable
+    attrConstruct _ = constructTreeViewColumnReorderable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "resizable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@resizable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #resizable
+@
+-}
+getTreeViewColumnResizable :: (MonadIO m, IsTreeViewColumn o) => o -> m Bool
+getTreeViewColumnResizable obj = liftIO $ B.Properties.getObjectPropertyBool obj "resizable"
+
+{- |
+Set the value of the “@resizable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #resizable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnResizable :: (MonadIO m, IsTreeViewColumn o) => o -> Bool -> m ()
+setTreeViewColumnResizable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "resizable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@resizable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnResizable :: (IsTreeViewColumn o) => Bool -> IO (GValueConstruct o)
+constructTreeViewColumnResizable val = B.Properties.constructObjectPropertyBool "resizable" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnResizablePropertyInfo
+instance AttrInfo TreeViewColumnResizablePropertyInfo where
+    type AttrAllowedOps TreeViewColumnResizablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnResizablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewColumnResizablePropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnResizablePropertyInfo = Bool
+    type AttrLabel TreeViewColumnResizablePropertyInfo = "resizable"
+    type AttrOrigin TreeViewColumnResizablePropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnResizable
+    attrSet _ = setTreeViewColumnResizable
+    attrConstruct _ = constructTreeViewColumnResizable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "sizing"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "TreeViewColumnSizing"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@sizing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #sizing
+@
+-}
+getTreeViewColumnSizing :: (MonadIO m, IsTreeViewColumn o) => o -> m Gtk.Enums.TreeViewColumnSizing
+getTreeViewColumnSizing obj = liftIO $ B.Properties.getObjectPropertyEnum obj "sizing"
+
+{- |
+Set the value of the “@sizing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #sizing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnSizing :: (MonadIO m, IsTreeViewColumn o) => o -> Gtk.Enums.TreeViewColumnSizing -> m ()
+setTreeViewColumnSizing obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "sizing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@sizing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnSizing :: (IsTreeViewColumn o) => Gtk.Enums.TreeViewColumnSizing -> IO (GValueConstruct o)
+constructTreeViewColumnSizing val = B.Properties.constructObjectPropertyEnum "sizing" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSizingPropertyInfo
+instance AttrInfo TreeViewColumnSizingPropertyInfo where
+    type AttrAllowedOps TreeViewColumnSizingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnSizingPropertyInfo = (~) Gtk.Enums.TreeViewColumnSizing
+    type AttrBaseTypeConstraint TreeViewColumnSizingPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnSizingPropertyInfo = Gtk.Enums.TreeViewColumnSizing
+    type AttrLabel TreeViewColumnSizingPropertyInfo = "sizing"
+    type AttrOrigin TreeViewColumnSizingPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnSizing
+    attrSet _ = setTreeViewColumnSizing
+    attrConstruct _ = constructTreeViewColumnSizing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "sort-column-id"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@sort-column-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #sortColumnId
+@
+-}
+getTreeViewColumnSortColumnId :: (MonadIO m, IsTreeViewColumn o) => o -> m Int32
+getTreeViewColumnSortColumnId obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "sort-column-id"
+
+{- |
+Set the value of the “@sort-column-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #sortColumnId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnSortColumnId :: (MonadIO m, IsTreeViewColumn o) => o -> Int32 -> m ()
+setTreeViewColumnSortColumnId obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "sort-column-id" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@sort-column-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnSortColumnId :: (IsTreeViewColumn o) => Int32 -> IO (GValueConstruct o)
+constructTreeViewColumnSortColumnId val = B.Properties.constructObjectPropertyInt32 "sort-column-id" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSortColumnIdPropertyInfo
+instance AttrInfo TreeViewColumnSortColumnIdPropertyInfo where
+    type AttrAllowedOps TreeViewColumnSortColumnIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnSortColumnIdPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TreeViewColumnSortColumnIdPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnSortColumnIdPropertyInfo = Int32
+    type AttrLabel TreeViewColumnSortColumnIdPropertyInfo = "sort-column-id"
+    type AttrOrigin TreeViewColumnSortColumnIdPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnSortColumnId
+    attrSet _ = setTreeViewColumnSortColumnId
+    attrConstruct _ = constructTreeViewColumnSortColumnId
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "sort-indicator"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@sort-indicator@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #sortIndicator
+@
+-}
+getTreeViewColumnSortIndicator :: (MonadIO m, IsTreeViewColumn o) => o -> m Bool
+getTreeViewColumnSortIndicator obj = liftIO $ B.Properties.getObjectPropertyBool obj "sort-indicator"
+
+{- |
+Set the value of the “@sort-indicator@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #sortIndicator 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnSortIndicator :: (MonadIO m, IsTreeViewColumn o) => o -> Bool -> m ()
+setTreeViewColumnSortIndicator obj val = liftIO $ B.Properties.setObjectPropertyBool obj "sort-indicator" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@sort-indicator@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnSortIndicator :: (IsTreeViewColumn o) => Bool -> IO (GValueConstruct o)
+constructTreeViewColumnSortIndicator val = B.Properties.constructObjectPropertyBool "sort-indicator" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSortIndicatorPropertyInfo
+instance AttrInfo TreeViewColumnSortIndicatorPropertyInfo where
+    type AttrAllowedOps TreeViewColumnSortIndicatorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnSortIndicatorPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewColumnSortIndicatorPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnSortIndicatorPropertyInfo = Bool
+    type AttrLabel TreeViewColumnSortIndicatorPropertyInfo = "sort-indicator"
+    type AttrOrigin TreeViewColumnSortIndicatorPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnSortIndicator
+    attrSet _ = setTreeViewColumnSortIndicator
+    attrConstruct _ = constructTreeViewColumnSortIndicator
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "sort-order"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "SortType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@sort-order@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #sortOrder
+@
+-}
+getTreeViewColumnSortOrder :: (MonadIO m, IsTreeViewColumn o) => o -> m Gtk.Enums.SortType
+getTreeViewColumnSortOrder obj = liftIO $ B.Properties.getObjectPropertyEnum obj "sort-order"
+
+{- |
+Set the value of the “@sort-order@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #sortOrder 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnSortOrder :: (MonadIO m, IsTreeViewColumn o) => o -> Gtk.Enums.SortType -> m ()
+setTreeViewColumnSortOrder obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "sort-order" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@sort-order@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnSortOrder :: (IsTreeViewColumn o) => Gtk.Enums.SortType -> IO (GValueConstruct o)
+constructTreeViewColumnSortOrder val = B.Properties.constructObjectPropertyEnum "sort-order" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSortOrderPropertyInfo
+instance AttrInfo TreeViewColumnSortOrderPropertyInfo where
+    type AttrAllowedOps TreeViewColumnSortOrderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnSortOrderPropertyInfo = (~) Gtk.Enums.SortType
+    type AttrBaseTypeConstraint TreeViewColumnSortOrderPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnSortOrderPropertyInfo = Gtk.Enums.SortType
+    type AttrLabel TreeViewColumnSortOrderPropertyInfo = "sort-order"
+    type AttrOrigin TreeViewColumnSortOrderPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnSortOrder
+    attrSet _ = setTreeViewColumnSortOrder
+    attrConstruct _ = constructTreeViewColumnSortOrder
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "spacing"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #spacing
+@
+-}
+getTreeViewColumnSpacing :: (MonadIO m, IsTreeViewColumn o) => o -> m Int32
+getTreeViewColumnSpacing obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "spacing"
+
+{- |
+Set the value of the “@spacing@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #spacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnSpacing :: (MonadIO m, IsTreeViewColumn o) => o -> Int32 -> m ()
+setTreeViewColumnSpacing obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "spacing" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@spacing@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnSpacing :: (IsTreeViewColumn o) => Int32 -> IO (GValueConstruct o)
+constructTreeViewColumnSpacing val = B.Properties.constructObjectPropertyInt32 "spacing" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSpacingPropertyInfo
+instance AttrInfo TreeViewColumnSpacingPropertyInfo where
+    type AttrAllowedOps TreeViewColumnSpacingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnSpacingPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TreeViewColumnSpacingPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnSpacingPropertyInfo = Int32
+    type AttrLabel TreeViewColumnSpacingPropertyInfo = "spacing"
+    type AttrOrigin TreeViewColumnSpacingPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnSpacing
+    attrSet _ = setTreeViewColumnSpacing
+    attrConstruct _ = constructTreeViewColumnSpacing
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #title
+@
+-}
+getTreeViewColumnTitle :: (MonadIO m, IsTreeViewColumn o) => o -> m T.Text
+getTreeViewColumnTitle obj = liftIO $ checkUnexpectedNothing "getTreeViewColumnTitle" $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnTitle :: (MonadIO m, IsTreeViewColumn o) => o -> T.Text -> m ()
+setTreeViewColumnTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnTitle :: (IsTreeViewColumn o) => T.Text -> IO (GValueConstruct o)
+constructTreeViewColumnTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnTitlePropertyInfo
+instance AttrInfo TreeViewColumnTitlePropertyInfo where
+    type AttrAllowedOps TreeViewColumnTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TreeViewColumnTitlePropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnTitlePropertyInfo = T.Text
+    type AttrLabel TreeViewColumnTitlePropertyInfo = "title"
+    type AttrOrigin TreeViewColumnTitlePropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnTitle
+    attrSet _ = setTreeViewColumnTitle
+    attrConstruct _ = constructTreeViewColumnTitle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #visible
+@
+-}
+getTreeViewColumnVisible :: (MonadIO m, IsTreeViewColumn o) => o -> m Bool
+getTreeViewColumnVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible"
+
+{- |
+Set the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #visible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnVisible :: (MonadIO m, IsTreeViewColumn o) => o -> Bool -> m ()
+setTreeViewColumnVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnVisible :: (IsTreeViewColumn o) => Bool -> IO (GValueConstruct o)
+constructTreeViewColumnVisible val = B.Properties.constructObjectPropertyBool "visible" val
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnVisiblePropertyInfo
+instance AttrInfo TreeViewColumnVisiblePropertyInfo where
+    type AttrAllowedOps TreeViewColumnVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TreeViewColumnVisiblePropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnVisiblePropertyInfo = Bool
+    type AttrLabel TreeViewColumnVisiblePropertyInfo = "visible"
+    type AttrOrigin TreeViewColumnVisiblePropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnVisible
+    attrSet _ = setTreeViewColumnVisible
+    attrConstruct _ = constructTreeViewColumnVisible
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "widget"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #widget
+@
+-}
+getTreeViewColumnWidget :: (MonadIO m, IsTreeViewColumn o) => o -> m (Maybe Gtk.Widget.Widget)
+getTreeViewColumnWidget obj = liftIO $ B.Properties.getObjectPropertyObject obj "widget" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@widget@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeViewColumn [ #widget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeViewColumnWidget :: (MonadIO m, IsTreeViewColumn o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setTreeViewColumnWidget obj val = liftIO $ B.Properties.setObjectPropertyObject obj "widget" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@widget@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructTreeViewColumnWidget :: (IsTreeViewColumn o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructTreeViewColumnWidget val = B.Properties.constructObjectPropertyObject "widget" (Just val)
+
+{- |
+Set the value of the “@widget@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #widget
+@
+-}
+clearTreeViewColumnWidget :: (MonadIO m, IsTreeViewColumn o) => o -> m ()
+clearTreeViewColumnWidget obj = liftIO $ B.Properties.setObjectPropertyObject obj "widget" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnWidgetPropertyInfo
+instance AttrInfo TreeViewColumnWidgetPropertyInfo where
+    type AttrAllowedOps TreeViewColumnWidgetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeViewColumnWidgetPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint TreeViewColumnWidgetPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnWidgetPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel TreeViewColumnWidgetPropertyInfo = "widget"
+    type AttrOrigin TreeViewColumnWidgetPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnWidget
+    attrSet _ = setTreeViewColumnWidget
+    attrConstruct _ = constructTreeViewColumnWidget
+    attrClear _ = clearTreeViewColumnWidget
+#endif
+
+-- VVV Prop "width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #width
+@
+-}
+getTreeViewColumnWidth :: (MonadIO m, IsTreeViewColumn o) => o -> m Int32
+getTreeViewColumnWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "width"
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnWidthPropertyInfo
+instance AttrInfo TreeViewColumnWidthPropertyInfo where
+    type AttrAllowedOps TreeViewColumnWidthPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnWidthPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TreeViewColumnWidthPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnWidthPropertyInfo = Int32
+    type AttrLabel TreeViewColumnWidthPropertyInfo = "width"
+    type AttrOrigin TreeViewColumnWidthPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnWidth
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "x-offset"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@x-offset@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeViewColumn #xOffset
+@
+-}
+getTreeViewColumnXOffset :: (MonadIO m, IsTreeViewColumn o) => o -> m Int32
+getTreeViewColumnXOffset obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "x-offset"
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnXOffsetPropertyInfo
+instance AttrInfo TreeViewColumnXOffsetPropertyInfo where
+    type AttrAllowedOps TreeViewColumnXOffsetPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TreeViewColumnXOffsetPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TreeViewColumnXOffsetPropertyInfo = IsTreeViewColumn
+    type AttrGetType TreeViewColumnXOffsetPropertyInfo = Int32
+    type AttrLabel TreeViewColumnXOffsetPropertyInfo = "x-offset"
+    type AttrOrigin TreeViewColumnXOffsetPropertyInfo = TreeViewColumn
+    attrGet _ = getTreeViewColumnXOffset
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeViewColumn
+type instance O.AttributeList TreeViewColumn = TreeViewColumnAttributeList
+type TreeViewColumnAttributeList = ('[ '("alignment", TreeViewColumnAlignmentPropertyInfo), '("cellArea", TreeViewColumnCellAreaPropertyInfo), '("clickable", TreeViewColumnClickablePropertyInfo), '("expand", TreeViewColumnExpandPropertyInfo), '("fixedWidth", TreeViewColumnFixedWidthPropertyInfo), '("maxWidth", TreeViewColumnMaxWidthPropertyInfo), '("minWidth", TreeViewColumnMinWidthPropertyInfo), '("reorderable", TreeViewColumnReorderablePropertyInfo), '("resizable", TreeViewColumnResizablePropertyInfo), '("sizing", TreeViewColumnSizingPropertyInfo), '("sortColumnId", TreeViewColumnSortColumnIdPropertyInfo), '("sortIndicator", TreeViewColumnSortIndicatorPropertyInfo), '("sortOrder", TreeViewColumnSortOrderPropertyInfo), '("spacing", TreeViewColumnSpacingPropertyInfo), '("title", TreeViewColumnTitlePropertyInfo), '("visible", TreeViewColumnVisiblePropertyInfo), '("widget", TreeViewColumnWidgetPropertyInfo), '("width", TreeViewColumnWidthPropertyInfo), '("xOffset", TreeViewColumnXOffsetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+treeViewColumnAlignment :: AttrLabelProxy "alignment"
+treeViewColumnAlignment = AttrLabelProxy
+
+treeViewColumnCellArea :: AttrLabelProxy "cellArea"
+treeViewColumnCellArea = AttrLabelProxy
+
+treeViewColumnClickable :: AttrLabelProxy "clickable"
+treeViewColumnClickable = AttrLabelProxy
+
+treeViewColumnExpand :: AttrLabelProxy "expand"
+treeViewColumnExpand = AttrLabelProxy
+
+treeViewColumnFixedWidth :: AttrLabelProxy "fixedWidth"
+treeViewColumnFixedWidth = AttrLabelProxy
+
+treeViewColumnMaxWidth :: AttrLabelProxy "maxWidth"
+treeViewColumnMaxWidth = AttrLabelProxy
+
+treeViewColumnMinWidth :: AttrLabelProxy "minWidth"
+treeViewColumnMinWidth = AttrLabelProxy
+
+treeViewColumnReorderable :: AttrLabelProxy "reorderable"
+treeViewColumnReorderable = AttrLabelProxy
+
+treeViewColumnResizable :: AttrLabelProxy "resizable"
+treeViewColumnResizable = AttrLabelProxy
+
+treeViewColumnSizing :: AttrLabelProxy "sizing"
+treeViewColumnSizing = AttrLabelProxy
+
+treeViewColumnSortColumnId :: AttrLabelProxy "sortColumnId"
+treeViewColumnSortColumnId = AttrLabelProxy
+
+treeViewColumnSortIndicator :: AttrLabelProxy "sortIndicator"
+treeViewColumnSortIndicator = AttrLabelProxy
+
+treeViewColumnSortOrder :: AttrLabelProxy "sortOrder"
+treeViewColumnSortOrder = AttrLabelProxy
+
+treeViewColumnSpacing :: AttrLabelProxy "spacing"
+treeViewColumnSpacing = AttrLabelProxy
+
+treeViewColumnTitle :: AttrLabelProxy "title"
+treeViewColumnTitle = AttrLabelProxy
+
+treeViewColumnVisible :: AttrLabelProxy "visible"
+treeViewColumnVisible = AttrLabelProxy
+
+treeViewColumnWidget :: AttrLabelProxy "widget"
+treeViewColumnWidget = AttrLabelProxy
+
+treeViewColumnWidth :: AttrLabelProxy "width"
+treeViewColumnWidth = AttrLabelProxy
+
+treeViewColumnXOffset :: AttrLabelProxy "xOffset"
+treeViewColumnXOffset = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnClickedSignalInfo
+instance SignalInfo TreeViewColumnClickedSignalInfo where
+    type HaskellCallbackType TreeViewColumnClickedSignalInfo = TreeViewColumnClickedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_TreeViewColumnClickedCallback cb
+        cb'' <- mk_TreeViewColumnClickedCallback cb'
+        connectSignalFunPtr obj "clicked" cb'' connectMode
+
+type instance O.SignalList TreeViewColumn = TreeViewColumnSignalList
+type TreeViewColumnSignalList = ('[ '("clicked", TreeViewColumnClickedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method TreeViewColumn::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_new" gtk_tree_view_column_new :: 
+    IO (Ptr TreeViewColumn)
+
+{- |
+Creates a new 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'.
+-}
+treeViewColumnNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m TreeViewColumn
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+treeViewColumnNew  = liftIO $ do
+    result <- gtk_tree_view_column_new
+    checkUnexpectedReturnNULL "treeViewColumnNew" result
+    result' <- (newObject TreeViewColumn) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreeViewColumn::new_with_area
+-- method type : Constructor
+-- Args : [Arg {argCName = "area", argType = TInterface (Name {namespace = "Gtk", name = "CellArea"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellArea that the newly created column should use to layout cells.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_new_with_area" gtk_tree_view_column_new_with_area :: 
+    Ptr Gtk.CellArea.CellArea ->            -- area : TInterface (Name {namespace = "Gtk", name = "CellArea"})
+    IO (Ptr TreeViewColumn)
+
+{- |
+Creates a new 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' using /@area@/ to render its cells.
+
+/Since: 3.0/
+-}
+treeViewColumnNewWithArea ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.CellArea.IsCellArea a) =>
+    a
+    {- ^ /@area@/: the 'GI.Gtk.Objects.CellArea.CellArea' that the newly created column should use to layout cells. -}
+    -> m TreeViewColumn
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+treeViewColumnNewWithArea area = liftIO $ do
+    area' <- unsafeManagedPtrCastPtr area
+    result <- gtk_tree_view_column_new_with_area area'
+    checkUnexpectedReturnNULL "treeViewColumnNewWithArea" result
+    result' <- (newObject TreeViewColumn) result
+    touchManagedPtr area
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreeViewColumn::add_attribute
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkCellRenderer to set attributes on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An attribute on the renderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The column position on the model to get the attribute from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_add_attribute" gtk_tree_view_column_add_attribute :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell_renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CString ->                              -- attribute : TBasicType TUTF8
+    Int32 ->                                -- column : TBasicType TInt
+    IO ()
+
+{- |
+Adds an attribute mapping to the list in /@treeColumn@/.  The /@column@/ is the
+column of the model to get a value from, and the /@attribute@/ is the
+parameter on /@cellRenderer@/ to be set from the value. So for example
+if column 2 of the model contains strings, you could have the
+“text” attribute of a 'GI.Gtk.Objects.CellRendererText.CellRendererText' get its values from
+column 2.
+-}
+treeViewColumnAddAttribute ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> b
+    {- ^ /@cellRenderer@/: the 'GI.Gtk.Objects.CellRenderer.CellRenderer' to set attributes on -}
+    -> T.Text
+    {- ^ /@attribute@/: An attribute on the renderer -}
+    -> Int32
+    {- ^ /@column@/: The column position on the model to get the attribute from. -}
+    -> m ()
+treeViewColumnAddAttribute treeColumn cellRenderer attribute column = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    cellRenderer' <- unsafeManagedPtrCastPtr cellRenderer
+    attribute' <- textToCString attribute
+    gtk_tree_view_column_add_attribute treeColumn' cellRenderer' attribute' column
+    touchManagedPtr treeColumn
+    touchManagedPtr cellRenderer
+    freeMem attribute'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnAddAttributeMethodInfo
+instance (signature ~ (b -> T.Text -> Int32 -> m ()), MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo TreeViewColumnAddAttributeMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnAddAttribute
+
+#endif
+
+-- method TreeViewColumn::cell_get_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the horizontal\n           position of @cell within @tree_column, may be %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the width of @cell,\n        may be %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_cell_get_position" gtk_tree_view_column_cell_get_position :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell_renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    Ptr Int32 ->                            -- x_offset : TBasicType TInt
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    IO CInt
+
+{- |
+Obtains the horizontal position and size of a cell in a column. If the
+cell is not found in the column, /@startPos@/ and /@width@/ are not changed and
+'False' is returned.
+-}
+treeViewColumnCellGetPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> b
+    {- ^ /@cellRenderer@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> m ((Bool, Int32, Int32))
+    {- ^ __Returns:__ 'True' if /@cell@/ belongs to /@treeColumn@/. -}
+treeViewColumnCellGetPosition treeColumn cellRenderer = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    cellRenderer' <- unsafeManagedPtrCastPtr cellRenderer
+    xOffset <- allocMem :: IO (Ptr Int32)
+    width <- allocMem :: IO (Ptr Int32)
+    result <- gtk_tree_view_column_cell_get_position treeColumn' cellRenderer' xOffset width
+    let result' = (/= 0) result
+    xOffset' <- peek xOffset
+    width' <- peek width
+    touchManagedPtr treeColumn
+    touchManagedPtr cellRenderer
+    freeMem xOffset
+    freeMem width
+    return (result', xOffset', width')
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellGetPositionMethodInfo
+instance (signature ~ (b -> m ((Bool, Int32, Int32))), MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo TreeViewColumnCellGetPositionMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnCellGetPosition
+
+#endif
+
+-- method TreeViewColumn::cell_get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The area a cell in the column will be allocated, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return x offset of a cell relative to @cell_area, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y_offset", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return y offset of a cell relative to @cell_area, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return width needed to render a cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return height needed to render a cell, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_cell_get_size" gtk_tree_view_column_cell_get_size :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- cell_area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Int32 ->                            -- x_offset : TBasicType TInt
+    Ptr Int32 ->                            -- y_offset : TBasicType TInt
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+{- |
+Obtains the width and height needed to render the column.  This is used
+primarily by the 'GI.Gtk.Objects.TreeView.TreeView'.
+-}
+treeViewColumnCellGetSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Maybe (Gdk.Rectangle.Rectangle)
+    {- ^ /@cellArea@/: The area a cell in the column will be allocated, or 'Nothing' -}
+    -> m ((Int32, Int32, Int32, Int32))
+treeViewColumnCellGetSize treeColumn cellArea = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    maybeCellArea <- case cellArea of
+        Nothing -> return nullPtr
+        Just jCellArea -> do
+            jCellArea' <- unsafeManagedPtrGetPtr jCellArea
+            return jCellArea'
+    xOffset <- allocMem :: IO (Ptr Int32)
+    yOffset <- allocMem :: IO (Ptr Int32)
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_tree_view_column_cell_get_size treeColumn' maybeCellArea xOffset yOffset width height
+    xOffset' <- peek xOffset
+    yOffset' <- peek yOffset
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr treeColumn
+    whenJust cellArea touchManagedPtr
+    freeMem xOffset
+    freeMem yOffset
+    freeMem width
+    freeMem height
+    return (xOffset', yOffset', width', height')
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellGetSizeMethodInfo
+instance (signature ~ (Maybe (Gdk.Rectangle.Rectangle) -> m ((Int32, Int32, Int32, Int32))), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnCellGetSizeMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnCellGetSize
+
+#endif
+
+-- method TreeViewColumn::cell_is_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_cell_is_visible" gtk_tree_view_column_cell_is_visible :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CInt
+
+{- |
+Returns 'True' if any of the cells packed into the /@treeColumn@/ are visible.
+For this to be meaningful, you must first initialize the cells with
+'GI.Gtk.Objects.TreeViewColumn.treeViewColumnCellSetCellData'
+-}
+treeViewColumnCellIsVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if any of the cells packed into the /@treeColumn@/ are currently visible -}
+treeViewColumnCellIsVisible treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_cell_is_visible treeColumn'
+    let result' = (/= 0) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellIsVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnCellIsVisibleMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnCellIsVisible
+
+#endif
+
+-- method TreeViewColumn::cell_set_cell_data
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tree_model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeModel to to get the cell renderers attributes from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeIter to to get the cell renderer\8217s attributes from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_expander", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE, if the row has children", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_expanded", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE, if the row has visible children", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_cell_set_cell_data" gtk_tree_view_column_cell_set_cell_data :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.TreeModel.TreeModel ->          -- tree_model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreeIter.TreeIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    CInt ->                                 -- is_expander : TBasicType TBoolean
+    CInt ->                                 -- is_expanded : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the cell renderer based on the /@treeModel@/ and /@iter@/.  That is, for
+every attribute mapping in /@treeColumn@/, it will get a value from the set
+column on the /@iter@/, and use that value to set the attribute on the cell
+renderer.  This is used primarily by the 'GI.Gtk.Objects.TreeView.TreeView'.
+-}
+treeViewColumnCellSetCellData ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a, Gtk.TreeModel.IsTreeModel b) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> b
+    {- ^ /@treeModel@/: The 'GI.Gtk.Interfaces.TreeModel.TreeModel' to to get the cell renderers attributes from. -}
+    -> Gtk.TreeIter.TreeIter
+    {- ^ /@iter@/: The 'GI.Gtk.Structs.TreeIter.TreeIter' to to get the cell renderer’s attributes from. -}
+    -> Bool
+    {- ^ /@isExpander@/: 'True', if the row has children -}
+    -> Bool
+    {- ^ /@isExpanded@/: 'True', if the row has visible children -}
+    -> m ()
+treeViewColumnCellSetCellData treeColumn treeModel iter isExpander isExpanded = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    treeModel' <- unsafeManagedPtrCastPtr treeModel
+    iter' <- unsafeManagedPtrGetPtr iter
+    let isExpander' = (fromIntegral . fromEnum) isExpander
+    let isExpanded' = (fromIntegral . fromEnum) isExpanded
+    gtk_tree_view_column_cell_set_cell_data treeColumn' treeModel' iter' isExpander' isExpanded'
+    touchManagedPtr treeColumn
+    touchManagedPtr treeModel
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellSetCellDataMethodInfo
+instance (signature ~ (b -> Gtk.TreeIter.TreeIter -> Bool -> Bool -> m ()), MonadIO m, IsTreeViewColumn a, Gtk.TreeModel.IsTreeModel b) => O.MethodInfo TreeViewColumnCellSetCellDataMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnCellSetCellData
+
+#endif
+
+-- method TreeViewColumn::clear
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_clear" gtk_tree_view_column_clear :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO ()
+
+{- |
+Unsets all the mappings on all renderers on the /@treeColumn@/.
+-}
+treeViewColumnClear ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m ()
+treeViewColumnClear treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    gtk_tree_view_column_clear treeColumn'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnClearMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnClearMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnClear
+
+#endif
+
+-- method TreeViewColumn::clear_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCellRenderer to clear the attribute mapping on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_clear_attributes" gtk_tree_view_column_clear_attributes :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell_renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Clears all existing attributes previously set with
+@/gtk_tree_view_column_set_attributes()/@.
+-}
+treeViewColumnClearAttributes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> b
+    {- ^ /@cellRenderer@/: a 'GI.Gtk.Objects.CellRenderer.CellRenderer' to clear the attribute mapping on. -}
+    -> m ()
+treeViewColumnClearAttributes treeColumn cellRenderer = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    cellRenderer' <- unsafeManagedPtrCastPtr cellRenderer
+    gtk_tree_view_column_clear_attributes treeColumn' cellRenderer'
+    touchManagedPtr treeColumn
+    touchManagedPtr cellRenderer
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnClearAttributesMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo TreeViewColumnClearAttributesMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnClearAttributes
+
+#endif
+
+-- method TreeViewColumn::clicked
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_clicked" gtk_tree_view_column_clicked :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO ()
+
+{- |
+Emits the “clicked” signal on the column.  This function will only work if
+/@treeColumn@/ is clickable.
+-}
+treeViewColumnClicked ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m ()
+treeViewColumnClicked treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    gtk_tree_view_column_clicked treeColumn'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnClickedMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnClickedMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnClicked
+
+#endif
+
+-- method TreeViewColumn::focus_cell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_focus_cell" gtk_tree_view_column_focus_cell :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    IO ()
+
+{- |
+Sets the current keyboard focus to be at /@cell@/, if the column contains
+2 or more editable and activatable cells.
+
+/Since: 2.2/
+-}
+treeViewColumnFocusCell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> b
+    {- ^ /@cell@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> m ()
+treeViewColumnFocusCell treeColumn cell = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    cell' <- unsafeManagedPtrCastPtr cell
+    gtk_tree_view_column_focus_cell treeColumn' cell'
+    touchManagedPtr treeColumn
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnFocusCellMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo TreeViewColumnFocusCellMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnFocusCell
+
+#endif
+
+-- method TreeViewColumn::get_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFloat)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_alignment" gtk_tree_view_column_get_alignment :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CFloat
+
+{- |
+Returns the current x alignment of /@treeColumn@/.  This value can range
+between 0.0 and 1.0.
+-}
+treeViewColumnGetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Float
+    {- ^ __Returns:__ The current alignent of /@treeColumn@/. -}
+treeViewColumnGetAlignment treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_alignment treeColumn'
+    let result' = realToFrac result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetAlignmentMethodInfo
+instance (signature ~ (m Float), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetAlignmentMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetAlignment
+
+#endif
+
+-- method TreeViewColumn::get_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_button" gtk_tree_view_column_get_button :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the button used in the treeview column header
+
+/Since: 3.0/
+-}
+treeViewColumnGetButton ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ The button for the column header. -}
+treeViewColumnGetButton treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_button treeColumn'
+    checkUnexpectedReturnNULL "treeViewColumnGetButton" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetButtonMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetButtonMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetButton
+
+#endif
+
+-- method TreeViewColumn::get_clickable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_clickable" gtk_tree_view_column_get_clickable :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CInt
+
+{- |
+Returns 'True' if the user can click on the header for the column.
+-}
+treeViewColumnGetClickable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if user can click the column header. -}
+treeViewColumnGetClickable treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_clickable treeColumn'
+    let result' = (/= 0) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetClickableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetClickableMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetClickable
+
+#endif
+
+-- method TreeViewColumn::get_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_expand" gtk_tree_view_column_get_expand :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CInt
+
+{- |
+Returns 'True' if the column expands to fill available space.
+
+/Since: 2.4/
+-}
+treeViewColumnGetExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the column expands to fill available space. -}
+treeViewColumnGetExpand treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_expand treeColumn'
+    let result' = (/= 0) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetExpandMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetExpandMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetExpand
+
+#endif
+
+-- method TreeViewColumn::get_fixed_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_fixed_width" gtk_tree_view_column_get_fixed_width :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO Int32
+
+{- |
+Gets the fixed width of the column.  This may not be the actual displayed
+width of the column; for that, use 'GI.Gtk.Objects.TreeViewColumn.treeViewColumnGetWidth'.
+-}
+treeViewColumnGetFixedWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Int32
+    {- ^ __Returns:__ The fixed width of the column. -}
+treeViewColumnGetFixedWidth treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_fixed_width treeColumn'
+    touchManagedPtr treeColumn
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetFixedWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetFixedWidthMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetFixedWidth
+
+#endif
+
+-- method TreeViewColumn::get_max_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_max_width" gtk_tree_view_column_get_max_width :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO Int32
+
+{- |
+Returns the maximum width in pixels of the /@treeColumn@/, or -1 if no maximum
+width is set.
+-}
+treeViewColumnGetMaxWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Int32
+    {- ^ __Returns:__ The maximum width of the /@treeColumn@/. -}
+treeViewColumnGetMaxWidth treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_max_width treeColumn'
+    touchManagedPtr treeColumn
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetMaxWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetMaxWidthMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetMaxWidth
+
+#endif
+
+-- method TreeViewColumn::get_min_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_min_width" gtk_tree_view_column_get_min_width :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO Int32
+
+{- |
+Returns the minimum width in pixels of the /@treeColumn@/, or -1 if no minimum
+width is set.
+-}
+treeViewColumnGetMinWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Int32
+    {- ^ __Returns:__ The minimum width of the /@treeColumn@/. -}
+treeViewColumnGetMinWidth treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_min_width treeColumn'
+    touchManagedPtr treeColumn
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetMinWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetMinWidthMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetMinWidth
+
+#endif
+
+-- method TreeViewColumn::get_reorderable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_reorderable" gtk_tree_view_column_get_reorderable :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CInt
+
+{- |
+Returns 'True' if the /@treeColumn@/ can be reordered by the user.
+-}
+treeViewColumnGetReorderable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the /@treeColumn@/ can be reordered by the user. -}
+treeViewColumnGetReorderable treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_reorderable treeColumn'
+    let result' = (/= 0) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetReorderableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetReorderableMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetReorderable
+
+#endif
+
+-- method TreeViewColumn::get_resizable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_resizable" gtk_tree_view_column_get_resizable :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CInt
+
+{- |
+Returns 'True' if the /@treeColumn@/ can be resized by the end user.
+-}
+treeViewColumnGetResizable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if the /@treeColumn@/ can be resized. -}
+treeViewColumnGetResizable treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_resizable treeColumn'
+    let result' = (/= 0) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetResizableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetResizableMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetResizable
+
+#endif
+
+-- method TreeViewColumn::get_sizing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeViewColumnSizing"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_sizing" gtk_tree_view_column_get_sizing :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CUInt
+
+{- |
+Returns the current type of /@treeColumn@/.
+-}
+treeViewColumnGetSizing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Gtk.Enums.TreeViewColumnSizing
+    {- ^ __Returns:__ The type of /@treeColumn@/. -}
+treeViewColumnGetSizing treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_sizing treeColumn'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSizingMethodInfo
+instance (signature ~ (m Gtk.Enums.TreeViewColumnSizing), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetSizingMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetSizing
+
+#endif
+
+-- method TreeViewColumn::get_sort_column_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_sort_column_id" gtk_tree_view_column_get_sort_column_id :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO Int32
+
+{- |
+Gets the logical /@sortColumnId@/ that the model sorts on when this
+column is selected for sorting.
+See 'GI.Gtk.Objects.TreeViewColumn.treeViewColumnSetSortColumnId'.
+-}
+treeViewColumnGetSortColumnId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m Int32
+    {- ^ __Returns:__ the current /@sortColumnId@/ for this column, or -1 if
+              this column can’t be used for sorting. -}
+treeViewColumnGetSortColumnId treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_sort_column_id treeColumn'
+    touchManagedPtr treeColumn
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSortColumnIdMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetSortColumnIdMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetSortColumnId
+
+#endif
+
+-- method TreeViewColumn::get_sort_indicator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_sort_indicator" gtk_tree_view_column_get_sort_indicator :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.TreeViewColumn.treeViewColumnSetSortIndicator'.
+-}
+treeViewColumnGetSortIndicator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the sort indicator arrow is displayed -}
+treeViewColumnGetSortIndicator treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_sort_indicator treeColumn'
+    let result' = (/= 0) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSortIndicatorMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetSortIndicatorMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetSortIndicator
+
+#endif
+
+-- method TreeViewColumn::get_sort_order
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SortType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_sort_order" gtk_tree_view_column_get_sort_order :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CUInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.TreeViewColumn.treeViewColumnSetSortOrder'.
+-}
+treeViewColumnGetSortOrder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m Gtk.Enums.SortType
+    {- ^ __Returns:__ the sort order the sort indicator is indicating -}
+treeViewColumnGetSortOrder treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_sort_order treeColumn'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSortOrderMethodInfo
+instance (signature ~ (m Gtk.Enums.SortType), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetSortOrderMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetSortOrder
+
+#endif
+
+-- method TreeViewColumn::get_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_spacing" gtk_tree_view_column_get_spacing :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO Int32
+
+{- |
+Returns the spacing of /@treeColumn@/.
+-}
+treeViewColumnGetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Int32
+    {- ^ __Returns:__ the spacing of /@treeColumn@/. -}
+treeViewColumnGetSpacing treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_spacing treeColumn'
+    touchManagedPtr treeColumn
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSpacingMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetSpacingMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetSpacing
+
+#endif
+
+-- method TreeViewColumn::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_title" gtk_tree_view_column_get_title :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CString
+
+{- |
+Returns the title of the widget.
+-}
+treeViewColumnGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m T.Text
+    {- ^ __Returns:__ the title of the column. This string should not be
+modified or freed. -}
+treeViewColumnGetTitle treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_title treeColumn'
+    checkUnexpectedReturnNULL "treeViewColumnGetTitle" result
+    result' <- cstringToText result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetTitleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetTitleMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetTitle
+
+#endif
+
+-- method TreeViewColumn::get_tree_view
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_tree_view" gtk_tree_view_column_get_tree_view :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the 'GI.Gtk.Objects.TreeView.TreeView' wherein /@treeColumn@/ has been inserted.
+If /@column@/ is currently not inserted in any tree view, 'Nothing' is
+returned.
+
+/Since: 2.12/
+-}
+treeViewColumnGetTreeView ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ The tree view wherein /@column@/ has
+    been inserted if any, 'Nothing' otherwise. -}
+treeViewColumnGetTreeView treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_tree_view treeColumn'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr treeColumn
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetTreeViewMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetTreeViewMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetTreeView
+
+#endif
+
+-- method TreeViewColumn::get_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_visible" gtk_tree_view_column_get_visible :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO CInt
+
+{- |
+Returns 'True' if /@treeColumn@/ is visible.
+-}
+treeViewColumnGetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Bool
+    {- ^ __Returns:__ whether the column is visible or not.  If it is visible, then
+the tree will show the column. -}
+treeViewColumnGetVisible treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_visible treeColumn'
+    let result' = (/= 0) result
+    touchManagedPtr treeColumn
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetVisibleMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetVisible
+
+#endif
+
+-- method TreeViewColumn::get_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_widget" gtk_tree_view_column_get_widget :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the 'GI.Gtk.Objects.Widget.Widget' in the button on the column header.
+If a custom widget has not been set then 'Nothing' is returned.
+-}
+treeViewColumnGetWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ The 'GI.Gtk.Objects.Widget.Widget' in the column
+    header, or 'Nothing' -}
+treeViewColumnGetWidget treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_widget treeColumn'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr treeColumn
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetWidgetMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetWidget
+
+#endif
+
+-- method TreeViewColumn::get_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_width" gtk_tree_view_column_get_width :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO Int32
+
+{- |
+Returns the current size of /@treeColumn@/ in pixels.
+-}
+treeViewColumnGetWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Int32
+    {- ^ __Returns:__ The current width of /@treeColumn@/. -}
+treeViewColumnGetWidth treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_width treeColumn'
+    touchManagedPtr treeColumn
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetWidthMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetWidth
+
+#endif
+
+-- method TreeViewColumn::get_x_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_get_x_offset" gtk_tree_view_column_get_x_offset :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO Int32
+
+{- |
+Returns the current X offset of /@treeColumn@/ in pixels.
+
+/Since: 3.2/
+-}
+treeViewColumnGetXOffset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> m Int32
+    {- ^ __Returns:__ The current X offset of /@treeColumn@/. -}
+treeViewColumnGetXOffset treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    result <- gtk_tree_view_column_get_x_offset treeColumn'
+    touchManagedPtr treeColumn
+    return result
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetXOffsetMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnGetXOffsetMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnGetXOffset
+
+#endif
+
+-- method TreeViewColumn::pack_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkCellRenderer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if @cell is to be given extra space allocated to @tree_column.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_pack_end" gtk_tree_view_column_pack_end :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Adds the /@cell@/ to end of the column. If /@expand@/ is 'False', then the /@cell@/
+is allocated no more space than it needs. Any unused space is divided
+evenly between cells for which /@expand@/ is 'True'.
+-}
+treeViewColumnPackEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> b
+    {- ^ /@cell@/: The 'GI.Gtk.Objects.CellRenderer.CellRenderer'. -}
+    -> Bool
+    {- ^ /@expand@/: 'True' if /@cell@/ is to be given extra space allocated to /@treeColumn@/. -}
+    -> m ()
+treeViewColumnPackEnd treeColumn cell expand = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    cell' <- unsafeManagedPtrCastPtr cell
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_tree_view_column_pack_end treeColumn' cell' expand'
+    touchManagedPtr treeColumn
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnPackEndMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo TreeViewColumnPackEndMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnPackEnd
+
+#endif
+
+-- method TreeViewColumn::pack_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkCellRenderer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if @cell is to be given extra space allocated to @tree_column.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_pack_start" gtk_tree_view_column_pack_start :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Packs the /@cell@/ into the beginning of the column. If /@expand@/ is 'False', then
+the /@cell@/ is allocated no more space than it needs. Any unused space is divided
+evenly between cells for which /@expand@/ is 'True'.
+-}
+treeViewColumnPackStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> b
+    {- ^ /@cell@/: The 'GI.Gtk.Objects.CellRenderer.CellRenderer'. -}
+    -> Bool
+    {- ^ /@expand@/: 'True' if /@cell@/ is to be given extra space allocated to /@treeColumn@/. -}
+    -> m ()
+treeViewColumnPackStart treeColumn cell expand = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    cell' <- unsafeManagedPtrCastPtr cell
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_tree_view_column_pack_start treeColumn' cell' expand'
+    touchManagedPtr treeColumn
+    touchManagedPtr cell
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnPackStartMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo TreeViewColumnPackStartMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnPackStart
+
+#endif
+
+-- method TreeViewColumn::queue_resize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_queue_resize" gtk_tree_view_column_queue_resize :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    IO ()
+
+{- |
+Flags the column, and the cell renderers added to this column, to have
+their sizes renegotiated.
+
+/Since: 2.8/
+-}
+treeViewColumnQueueResize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> m ()
+treeViewColumnQueueResize treeColumn = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    gtk_tree_view_column_queue_resize treeColumn'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnQueueResizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnQueueResizeMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnQueueResize
+
+#endif
+
+-- method TreeViewColumn::set_alignment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xalign", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The alignment, which is between [0.0 and 1.0] inclusive.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_alignment" gtk_tree_view_column_set_alignment :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CFloat ->                               -- xalign : TBasicType TFloat
+    IO ()
+
+{- |
+Sets the alignment of the title or custom widget inside the column header.
+The alignment determines its location inside the button -- 0.0 for left, 0.5
+for center, 1.0 for right.
+-}
+treeViewColumnSetAlignment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Float
+    {- ^ /@xalign@/: The alignment, which is between [0.0 and 1.0] inclusive. -}
+    -> m ()
+treeViewColumnSetAlignment treeColumn xalign = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    let xalign' = realToFrac xalign
+    gtk_tree_view_column_set_alignment treeColumn' xalign'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetAlignmentMethodInfo
+instance (signature ~ (Float -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetAlignmentMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetAlignment
+
+#endif
+
+-- method TreeViewColumn::set_cell_data_func
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cell_renderer", argType = TInterface (Name {namespace = "Gtk", name = "CellRenderer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkCellRenderer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TreeCellDataFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The #GtkTreeCellDataFunc to use.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The user data for @func.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The destroy notification for @func_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_cell_data_func" gtk_tree_view_column_set_cell_data_func :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.CellRenderer.CellRenderer ->    -- cell_renderer : TInterface (Name {namespace = "Gtk", name = "CellRenderer"})
+    FunPtr Gtk.Callbacks.C_TreeCellDataFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TreeCellDataFunc"})
+    Ptr () ->                               -- func_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Callbacks.TreeCellDataFunc' to use for the column.  This
+function is used instead of the standard attributes mapping for
+setting the column value, and should set the value of /@treeColumn@/\'s
+cell renderer as appropriate.  /@func@/ may be 'Nothing' to remove an
+older one.
+-}
+treeViewColumnSetCellDataFunc ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> b
+    {- ^ /@cellRenderer@/: A 'GI.Gtk.Objects.CellRenderer.CellRenderer' -}
+    -> Maybe (Gtk.Callbacks.TreeCellDataFunc)
+    {- ^ /@func@/: The 'GI.Gtk.Callbacks.TreeCellDataFunc' to use. -}
+    -> m ()
+treeViewColumnSetCellDataFunc treeColumn cellRenderer func = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    cellRenderer' <- unsafeManagedPtrCastPtr cellRenderer
+    maybeFunc <- case func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jFunc -> do
+            jFunc' <- Gtk.Callbacks.mk_TreeCellDataFunc (Gtk.Callbacks.wrap_TreeCellDataFunc Nothing (Gtk.Callbacks.drop_closures_TreeCellDataFunc jFunc))
+            return jFunc'
+    let funcData = castFunPtrToPtr maybeFunc
+    let destroy = safeFreeFunPtrPtr
+    gtk_tree_view_column_set_cell_data_func treeColumn' cellRenderer' maybeFunc funcData destroy
+    touchManagedPtr treeColumn
+    touchManagedPtr cellRenderer
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetCellDataFuncMethodInfo
+instance (signature ~ (b -> Maybe (Gtk.Callbacks.TreeCellDataFunc) -> m ()), MonadIO m, IsTreeViewColumn a, Gtk.CellRenderer.IsCellRenderer b) => O.MethodInfo TreeViewColumnSetCellDataFuncMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetCellDataFunc
+
+#endif
+
+-- method TreeViewColumn::set_clickable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clickable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the header is active.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_clickable" gtk_tree_view_column_set_clickable :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CInt ->                                 -- clickable : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the header to be active if /@clickable@/ is 'True'.  When the header is
+active, then it can take keyboard focus, and can be clicked.
+-}
+treeViewColumnSetClickable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Bool
+    {- ^ /@clickable@/: 'True' if the header is active. -}
+    -> m ()
+treeViewColumnSetClickable treeColumn clickable = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    let clickable' = (fromIntegral . fromEnum) clickable
+    gtk_tree_view_column_set_clickable treeColumn' clickable'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetClickableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetClickableMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetClickable
+
+#endif
+
+-- method TreeViewColumn::set_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the column should expand to fill available space.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_expand" gtk_tree_view_column_set_expand :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the column to take available extra space.  This space is shared equally
+amongst all columns that have the expand set to 'True'.  If no column has this
+option set, then the last column gets all extra space.  By default, every
+column is created with this 'False'.
+
+Along with “fixed-width”, the “expand” property changes when the column is
+resized by the user.
+
+/Since: 2.4/
+-}
+treeViewColumnSetExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Bool
+    {- ^ /@expand@/: 'True' if the column should expand to fill available space. -}
+    -> m ()
+treeViewColumnSetExpand treeColumn expand = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_tree_view_column_set_expand treeColumn' expand'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetExpandMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetExpandMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetExpand
+
+#endif
+
+-- method TreeViewColumn::set_fixed_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fixed_width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new fixed width, in pixels, or -1.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_fixed_width" gtk_tree_view_column_set_fixed_width :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Int32 ->                                -- fixed_width : TBasicType TInt
+    IO ()
+
+{- |
+If /@fixedWidth@/ is not -1, sets the fixed width of /@treeColumn@/; otherwise
+unsets it.  The effective value of /@fixedWidth@/ is clamped between the
+minimum and maximum width of the column; however, the value stored in the
+“fixed-width” property is not clamped.  If the column sizing is
+@/GTK_TREE_VIEW_COLUMN_GROW_ONLY/@ or @/GTK_TREE_VIEW_COLUMN_AUTOSIZE/@, setting
+a fixed width overrides the automatically calculated width.  Note that
+/@fixedWidth@/ is only a hint to GTK+; the width actually allocated to the
+column may be greater or less than requested.
+
+Along with “expand”, the “fixed-width” property changes when the column is
+resized by the user.
+-}
+treeViewColumnSetFixedWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Int32
+    {- ^ /@fixedWidth@/: The new fixed width, in pixels, or -1. -}
+    -> m ()
+treeViewColumnSetFixedWidth treeColumn fixedWidth = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    gtk_tree_view_column_set_fixed_width treeColumn' fixedWidth
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetFixedWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetFixedWidthMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetFixedWidth
+
+#endif
+
+-- method TreeViewColumn::set_max_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The maximum width of the column in pixels, or -1.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_max_width" gtk_tree_view_column_set_max_width :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Int32 ->                                -- max_width : TBasicType TInt
+    IO ()
+
+{- |
+Sets the maximum width of the /@treeColumn@/.  If /@maxWidth@/ is -1, then the
+maximum width is unset.  Note, the column can actually be wider than max
+width if it’s the last column in a view.  In this case, the column expands to
+fill any extra space.
+-}
+treeViewColumnSetMaxWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Int32
+    {- ^ /@maxWidth@/: The maximum width of the column in pixels, or -1. -}
+    -> m ()
+treeViewColumnSetMaxWidth treeColumn maxWidth = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    gtk_tree_view_column_set_max_width treeColumn' maxWidth
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetMaxWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetMaxWidthMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetMaxWidth
+
+#endif
+
+-- method TreeViewColumn::set_min_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The minimum width of the column in pixels, or -1.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_min_width" gtk_tree_view_column_set_min_width :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Int32 ->                                -- min_width : TBasicType TInt
+    IO ()
+
+{- |
+Sets the minimum width of the /@treeColumn@/.  If /@minWidth@/ is -1, then the
+minimum width is unset.
+-}
+treeViewColumnSetMinWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Int32
+    {- ^ /@minWidth@/: The minimum width of the column in pixels, or -1. -}
+    -> m ()
+treeViewColumnSetMinWidth treeColumn minWidth = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    gtk_tree_view_column_set_min_width treeColumn' minWidth
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetMinWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetMinWidthMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetMinWidth
+
+#endif
+
+-- method TreeViewColumn::set_reorderable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reorderable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE, if the column can be reordered.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_reorderable" gtk_tree_view_column_set_reorderable :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CInt ->                                 -- reorderable : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@reorderable@/ is 'True', then the column can be reordered by the end user
+dragging the header.
+-}
+treeViewColumnSetReorderable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> Bool
+    {- ^ /@reorderable@/: 'True', if the column can be reordered. -}
+    -> m ()
+treeViewColumnSetReorderable treeColumn reorderable = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    let reorderable' = (fromIntegral . fromEnum) reorderable
+    gtk_tree_view_column_set_reorderable treeColumn' reorderable'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetReorderableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetReorderableMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetReorderable
+
+#endif
+
+-- method TreeViewColumn::set_resizable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resizable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE, if the column can be resized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_resizable" gtk_tree_view_column_set_resizable :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CInt ->                                 -- resizable : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@resizable@/ is 'True', then the user can explicitly resize the column by
+grabbing the outer edge of the column button.  If resizable is 'True' and
+sizing mode of the column is @/GTK_TREE_VIEW_COLUMN_AUTOSIZE/@, then the sizing
+mode is changed to @/GTK_TREE_VIEW_COLUMN_GROW_ONLY/@.
+-}
+treeViewColumnSetResizable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> Bool
+    {- ^ /@resizable@/: 'True', if the column can be resized -}
+    -> m ()
+treeViewColumnSetResizable treeColumn resizable = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    let resizable' = (fromIntegral . fromEnum) resizable
+    gtk_tree_view_column_set_resizable treeColumn' resizable'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetResizableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetResizableMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetResizable
+
+#endif
+
+-- method TreeViewColumn::set_sizing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumnSizing"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GtkTreeViewColumnSizing.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_sizing" gtk_tree_view_column_set_sizing :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "TreeViewColumnSizing"})
+    IO ()
+
+{- |
+Sets the growth behavior of /@treeColumn@/ to /@type@/.
+-}
+treeViewColumnSetSizing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Gtk.Enums.TreeViewColumnSizing
+    {- ^ /@type@/: The 'GI.Gtk.Enums.TreeViewColumnSizing'. -}
+    -> m ()
+treeViewColumnSetSizing treeColumn type_ = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    let type_' = (fromIntegral . fromEnum) type_
+    gtk_tree_view_column_set_sizing treeColumn' type_'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSizingMethodInfo
+instance (signature ~ (Gtk.Enums.TreeViewColumnSizing -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetSizingMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetSizing
+
+#endif
+
+-- method TreeViewColumn::set_sort_column_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sort_column_id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The @sort_column_id of the model to sort on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_sort_column_id" gtk_tree_view_column_set_sort_column_id :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Int32 ->                                -- sort_column_id : TBasicType TInt
+    IO ()
+
+{- |
+Sets the logical /@sortColumnId@/ that this column sorts on when this column
+is selected for sorting.  Doing so makes the column header clickable.
+-}
+treeViewColumnSetSortColumnId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> Int32
+    {- ^ /@sortColumnId@/: The /@sortColumnId@/ of the model to sort on. -}
+    -> m ()
+treeViewColumnSetSortColumnId treeColumn sortColumnId = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    gtk_tree_view_column_set_sort_column_id treeColumn' sortColumnId
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSortColumnIdMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetSortColumnIdMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetSortColumnId
+
+#endif
+
+-- method TreeViewColumn::set_sort_indicator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to display an indicator that the column is sorted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_sort_indicator" gtk_tree_view_column_set_sort_indicator :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Call this function with a /@setting@/ of 'True' to display an arrow in
+the header button indicating the column is sorted. Call
+'GI.Gtk.Objects.TreeViewColumn.treeViewColumnSetSortOrder' to change the direction of
+the arrow.
+-}
+treeViewColumnSetSortIndicator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to display an indicator that the column is sorted -}
+    -> m ()
+treeViewColumnSetSortIndicator treeColumn setting = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_tree_view_column_set_sort_indicator treeColumn' setting'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSortIndicatorMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetSortIndicatorMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetSortIndicator
+
+#endif
+
+-- method TreeViewColumn::set_sort_order
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeViewColumn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "order", argType = TInterface (Name {namespace = "Gtk", name = "SortType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "sort order that the sort indicator should indicate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_sort_order" gtk_tree_view_column_set_sort_order :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CUInt ->                                -- order : TInterface (Name {namespace = "Gtk", name = "SortType"})
+    IO ()
+
+{- |
+Changes the appearance of the sort indicator.
+
+This does not actually sort the model.  Use
+'GI.Gtk.Objects.TreeViewColumn.treeViewColumnSetSortColumnId' if you want automatic sorting
+support.  This function is primarily for custom sorting behavior, and should
+be used in conjunction with 'GI.Gtk.Interfaces.TreeSortable.treeSortableSetSortColumnId' to do
+that. For custom models, the mechanism will vary.
+
+The sort indicator changes direction to indicate normal sort or reverse sort.
+Note that you must have the sort indicator enabled to see anything when
+calling this function; see 'GI.Gtk.Objects.TreeViewColumn.treeViewColumnSetSortIndicator'.
+-}
+treeViewColumnSetSortOrder ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: a 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn' -}
+    -> Gtk.Enums.SortType
+    {- ^ /@order@/: sort order that the sort indicator should indicate -}
+    -> m ()
+treeViewColumnSetSortOrder treeColumn order = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    let order' = (fromIntegral . fromEnum) order
+    gtk_tree_view_column_set_sort_order treeColumn' order'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSortOrderMethodInfo
+instance (signature ~ (Gtk.Enums.SortType -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetSortOrderMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetSortOrder
+
+#endif
+
+-- method TreeViewColumn::set_spacing
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "distance between cell renderers in pixels.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_spacing" gtk_tree_view_column_set_spacing :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Int32 ->                                -- spacing : TBasicType TInt
+    IO ()
+
+{- |
+Sets the spacing field of /@treeColumn@/, which is the number of pixels to
+place between cell renderers packed into it.
+-}
+treeViewColumnSetSpacing ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Int32
+    {- ^ /@spacing@/: distance between cell renderers in pixels. -}
+    -> m ()
+treeViewColumnSetSpacing treeColumn spacing = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    gtk_tree_view_column_set_spacing treeColumn' spacing
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSpacingMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetSpacingMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetSpacing
+
+#endif
+
+-- method TreeViewColumn::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The title of the @tree_column.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_title" gtk_tree_view_column_set_title :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the title of the /@treeColumn@/.  If a custom widget has been set, then
+this value is ignored.
+-}
+treeViewColumnSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> T.Text
+    {- ^ /@title@/: The title of the /@treeColumn@/. -}
+    -> m ()
+treeViewColumnSetTitle treeColumn title = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    title' <- textToCString title
+    gtk_tree_view_column_set_title treeColumn' title'
+    touchManagedPtr treeColumn
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetTitleMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetTitleMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetTitle
+
+#endif
+
+-- method TreeViewColumn::set_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the @tree_column is visible.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_visible" gtk_tree_view_column_set_visible :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    CInt ->                                 -- visible : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the visibility of /@treeColumn@/.
+-}
+treeViewColumnSetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Bool
+    {- ^ /@visible@/: 'True' if the /@treeColumn@/ is visible. -}
+    -> m ()
+treeViewColumnSetVisible treeColumn visible = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    let visible' = (fromIntegral . fromEnum) visible
+    gtk_tree_view_column_set_visible treeColumn' visible'
+    touchManagedPtr treeColumn
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsTreeViewColumn a) => O.MethodInfo TreeViewColumnSetVisibleMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetVisible
+
+#endif
+
+-- method TreeViewColumn::set_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "tree_column", argType = TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreeViewColumn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A child #GtkWidget, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_view_column_set_widget" gtk_tree_view_column_set_widget :: 
+    Ptr TreeViewColumn ->                   -- tree_column : TInterface (Name {namespace = "Gtk", name = "TreeViewColumn"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets the widget in the header to be /@widget@/.  If widget is 'Nothing', then the
+header button is set with a 'GI.Gtk.Objects.Label.Label' set to the title of /@treeColumn@/.
+-}
+treeViewColumnSetWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsTreeViewColumn a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@treeColumn@/: A 'GI.Gtk.Objects.TreeViewColumn.TreeViewColumn'. -}
+    -> Maybe (b)
+    {- ^ /@widget@/: A child 'GI.Gtk.Objects.Widget.Widget', or 'Nothing'. -}
+    -> m ()
+treeViewColumnSetWidget treeColumn widget = liftIO $ do
+    treeColumn' <- unsafeManagedPtrCastPtr treeColumn
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    gtk_tree_view_column_set_widget treeColumn' maybeWidget
+    touchManagedPtr treeColumn
+    whenJust widget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetWidgetMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsTreeViewColumn a, Gtk.Widget.IsWidget b) => O.MethodInfo TreeViewColumnSetWidgetMethodInfo a signature where
+    overloadedMethod _ = treeViewColumnSetWidget
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/TreeViewColumn.hs-boot b/GI/Gtk/Objects/TreeViewColumn.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/TreeViewColumn.hs-boot
@@ -0,0 +1,236 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.TreeViewColumn where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeViewColumn = TreeViewColumn (ManagedPtr TreeViewColumn)
+instance GObject TreeViewColumn where
+class (GObject o, O.IsDescendantOf TreeViewColumn o) => IsTreeViewColumn o
+instance (GObject o, O.IsDescendantOf TreeViewColumn o) => IsTreeViewColumn o
+instance O.HasParentTypes TreeViewColumn
+#if ENABLE_OVERLOADING
+data TreeViewColumnAlignmentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellAreaPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnClickablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnExpandPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnFixedWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnMaxWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnMinWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnReorderablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnResizablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSizingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSortColumnIdPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSortIndicatorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSortOrderPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSpacingPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnWidgetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnXOffsetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnClickedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnAddAttributeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellGetPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellGetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellIsVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnCellSetCellDataMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnClearMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnClearAttributesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnClickedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnFocusCellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetButtonMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetClickableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetFixedWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetMaxWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetMinWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetReorderableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetResizableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSizingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSortColumnIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSortIndicatorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSortOrderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetTreeViewMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnGetXOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnPackEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnPackStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnQueueResizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetAlignmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetCellDataFuncMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetClickableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetFixedWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetMaxWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetMinWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetReorderableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetResizableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSizingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSortColumnIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSortIndicatorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSortOrderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetSpacingMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeViewColumnSetWidgetMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/UIManager.hs b/GI/Gtk/Objects/UIManager.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/UIManager.hs
@@ -0,0 +1,2081 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+> GtkUIManager is deprecated since GTK+ 3.10. To construct user interfaces
+> from XML definitions, you should use 'GI.Gtk.Objects.Builder.Builder', 'GI.Gio.Objects.MenuModel.MenuModel', et al. To
+> work with actions, use 'GI.Gio.Interfaces.Action.Action', 'GI.Gtk.Interfaces.Actionable.Actionable' et al. These newer classes
+> support richer functionality and integration with various desktop shells.
+> It should be possible to migrate most\/all functionality from GtkUIManager.
+
+A 'GI.Gtk.Objects.UIManager.UIManager' constructs a user interface (menus and toolbars) from
+one or more UI definitions, which reference actions from one or more
+action groups.
+
+# UI Definitions # {@/XML/@-UI}
+
+The UI definitions are specified in an XML format which can be
+roughly described by the following DTD.
+
+> Do not confuse the GtkUIManager UI Definitions described here with
+> the similarly named [GtkBuilder UI Definitions][BUILDER-UI].
+
+>
+><!ELEMENT ui          (menubar|toolbar|popup|accelerator)* >
+><!ELEMENT menubar     (menuitem|separator|placeholder|menu)* >
+><!ELEMENT menu        (menuitem|separator|placeholder|menu)* >
+><!ELEMENT popup       (menuitem|separator|placeholder|menu)* >
+><!ELEMENT toolbar     (toolitem|separator|placeholder)* >
+><!ELEMENT placeholder (menuitem|toolitem|separator|placeholder|menu)* >
+><!ELEMENT menuitem     EMPTY >
+><!ELEMENT toolitem     (menu?) >
+><!ELEMENT separator    EMPTY >
+><!ELEMENT accelerator  EMPTY >
+><!ATTLIST menubar      name                      #IMPLIED
+>                       action                    #IMPLIED >
+><!ATTLIST toolbar      name                      #IMPLIED
+>                       action                    #IMPLIED >
+><!ATTLIST popup        name                      #IMPLIED
+>                       action                    #IMPLIED
+>                       accelerators (true|false) #IMPLIED >
+><!ATTLIST placeholder  name                      #IMPLIED
+>                       action                    #IMPLIED >
+><!ATTLIST separator    name                      #IMPLIED
+>                       action                    #IMPLIED
+>                       expand       (true|false) #IMPLIED >
+><!ATTLIST menu         name                      #IMPLIED
+>                       action                    #REQUIRED
+>                       position     (top|bot)    #IMPLIED >
+><!ATTLIST menuitem     name                      #IMPLIED
+>                       action                    #REQUIRED
+>                       position     (top|bot)    #IMPLIED
+>                       always-show-image (true|false) #IMPLIED >
+><!ATTLIST toolitem     name                      #IMPLIED
+>                       action                    #REQUIRED
+>                       position     (top|bot)    #IMPLIED >
+><!ATTLIST accelerator  name                      #IMPLIED
+>                       action                    #REQUIRED >
+
+
+There are some additional restrictions beyond those specified in the
+DTD, e.g. every toolitem must have a toolbar in its anchestry and
+every menuitem must have a menubar or popup in its anchestry. Since
+a 'GI.GLib.Structs.MarkupParser.MarkupParser' is used to parse the UI description, it must not only
+be valid XML, but valid markup.
+
+If a name is not specified, it defaults to the action. If an action is
+not specified either, the element name is used. The name and action
+attributes must not contain “\/” characters after parsing (since that
+would mess up path lookup) and must be usable as XML attributes when
+enclosed in doublequotes, thus they must not “\"” characters or references
+to the &quot; entity.
+
+= A UI definition 
+
+>
+><ui>
+>  <menubar>
+>    <menu name="FileMenu" action="FileMenuAction">
+>      <menuitem name="New" action="New2Action" />
+>      <placeholder name="FileMenuAdditions" />
+>    </menu>
+>    <menu name="JustifyMenu" action="JustifyMenuAction">
+>      <menuitem name="Left" action="justify-left"/>
+>      <menuitem name="Centre" action="justify-center"/>
+>      <menuitem name="Right" action="justify-right"/>
+>      <menuitem name="Fill" action="justify-fill"/>
+>    </menu>
+>  </menubar>
+>  <toolbar action="toolbar1">
+>    <placeholder name="JustifyToolItems">
+>      <separator/>
+>      <toolitem name="Left" action="justify-left"/>
+>      <toolitem name="Centre" action="justify-center"/>
+>      <toolitem name="Right" action="justify-right"/>
+>      <toolitem name="Fill" action="justify-fill"/>
+>      <separator/>
+>    </placeholder>
+>  </toolbar>
+></ui>
+
+
+The constructed widget hierarchy is very similar to the element tree
+of the XML, with the exception that placeholders are merged into their
+parents. The correspondence of XML elements to widgets should be
+almost obvious:
+
+* menubar
+
+
+   a 'GI.Gtk.Objects.MenuBar.MenuBar'
+
+* toolbar
+
+
+   a 'GI.Gtk.Objects.Toolbar.Toolbar'
+
+* popup
+
+
+   a toplevel 'GI.Gtk.Objects.Menu.Menu'
+
+* menu
+
+
+   a 'GI.Gtk.Objects.Menu.Menu' attached to a menuitem
+
+* menuitem
+
+
+   a 'GI.Gtk.Objects.MenuItem.MenuItem' subclass, the exact type depends on the action
+
+* toolitem
+
+
+   a 'GI.Gtk.Objects.ToolItem.ToolItem' subclass, the exact type depends on the
+   action. Note that toolitem elements may contain a menu element,
+   but only if their associated action specifies a
+   'GI.Gtk.Objects.MenuToolButton.MenuToolButton' as proxy.
+
+* separator
+
+
+   a 'GI.Gtk.Objects.SeparatorMenuItem.SeparatorMenuItem' or 'GI.Gtk.Objects.SeparatorToolItem.SeparatorToolItem'
+
+* accelerator
+
+
+   a keyboard accelerator
+
+The “position” attribute determines where a constructed widget is positioned
+wrt. to its siblings in the partially constructed tree. If it is
+“top”, the widget is prepended, otherwise it is appended.
+
+# UI Merging # {@/UI/@-Merging}
+
+The most remarkable feature of 'GI.Gtk.Objects.UIManager.UIManager' is that it can overlay a set
+of menuitems and toolitems over another one, and demerge them later.
+
+Merging is done based on the names of the XML elements. Each element is
+identified by a path which consists of the names of its anchestors, separated
+by slashes. For example, the menuitem named “Left” in the example above
+has the path @\/ui\/menubar\/JustifyMenu\/Left@ and the
+toolitem with the same name has path
+@\/ui\/toolbar1\/JustifyToolItems\/Left@.
+
+= Accelerators 
+
+Every action has an accelerator path. Accelerators are installed together
+with menuitem proxies, but they can also be explicitly added with
+\<accelerator> elements in the UI definition. This makes it possible to
+have accelerators for actions even if they have no visible proxies.
+
+# Smart Separators # {@/Smart/@-Separators}
+
+The separators created by 'GI.Gtk.Objects.UIManager.UIManager' are “smart”, i.e. they do not show up
+in the UI unless they end up between two visible menu or tool items. Separators
+which are located at the very beginning or end of the menu or toolbar
+containing them, or multiple separators next to each other, are hidden. This
+is a useful feature, since the merging of UI elements from multiple sources
+can make it hard or impossible to determine in advance whether a separator
+will end up in such an unfortunate position.
+
+For separators in toolbars, you can set @expand=\"true\"@ to
+turn them from a small, visible separator to an expanding, invisible one.
+Toolitems following an expanding separator are effectively right-aligned.
+
+= Empty Menus
+
+Submenus pose similar problems to separators inconnection with merging. It is
+impossible to know in advance whether they will end up empty after merging.
+'GI.Gtk.Objects.UIManager.UIManager' offers two ways to treat empty submenus:
+
+* make them disappear by hiding the menu item they’re attached to
+* add an insensitive “Empty” item
+
+
+The behaviour is chosen based on the “hide_if_empty” property of the action
+to which the submenu is associated.
+
+# GtkUIManager as GtkBuildable # {'GI.Gtk.Objects.UIManager.UIManager'-BUILDER-UI}
+
+The GtkUIManager implementation of the GtkBuildable interface accepts
+GtkActionGroup objects as \<child> elements in UI definitions.
+
+A GtkUIManager UI definition as described above can be embedded in
+an GtkUIManager \<object> element in a GtkBuilder UI definition.
+
+The widgets that are constructed by a GtkUIManager can be embedded in
+other parts of the constructed user interface with the help of the
+“constructor” attribute. See the example below.
+
+== An embedded GtkUIManager UI definition
+
+>
+><object class="GtkUIManager" id="uiman">
+>  <child>
+>    <object class="GtkActionGroup" id="actiongroup">
+>      <child>
+>        <object class="GtkAction" id="file">
+>          <property name="label">_File</property>
+>        </object>
+>      </child>
+>    </object>
+>  </child>
+>  <ui>
+>    <menubar name="menubar1">
+>      <menu action="file">
+>      </menu>
+>    </menubar>
+>  </ui>
+></object>
+><object class="GtkWindow" id="main-window">
+>  <child>
+>    <object class="GtkMenuBar" id="menubar1" constructor="uiman"/>
+>  </child>
+></object>
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.UIManager
+    ( 
+
+-- * Exported types
+    UIManager(..)                           ,
+    IsUIManager                             ,
+    toUIManager                             ,
+    noUIManager                             ,
+
+
+ -- * Methods
+-- ** addUi #method:addUi#
+
+#if ENABLE_OVERLOADING
+    UIManagerAddUiMethodInfo                ,
+#endif
+    uIManagerAddUi                          ,
+
+
+-- ** addUiFromFile #method:addUiFromFile#
+
+#if ENABLE_OVERLOADING
+    UIManagerAddUiFromFileMethodInfo        ,
+#endif
+    uIManagerAddUiFromFile                  ,
+
+
+-- ** addUiFromResource #method:addUiFromResource#
+
+#if ENABLE_OVERLOADING
+    UIManagerAddUiFromResourceMethodInfo    ,
+#endif
+    uIManagerAddUiFromResource              ,
+
+
+-- ** addUiFromString #method:addUiFromString#
+
+#if ENABLE_OVERLOADING
+    UIManagerAddUiFromStringMethodInfo      ,
+#endif
+    uIManagerAddUiFromString                ,
+
+
+-- ** ensureUpdate #method:ensureUpdate#
+
+#if ENABLE_OVERLOADING
+    UIManagerEnsureUpdateMethodInfo         ,
+#endif
+    uIManagerEnsureUpdate                   ,
+
+
+-- ** getAccelGroup #method:getAccelGroup#
+
+#if ENABLE_OVERLOADING
+    UIManagerGetAccelGroupMethodInfo        ,
+#endif
+    uIManagerGetAccelGroup                  ,
+
+
+-- ** getAction #method:getAction#
+
+#if ENABLE_OVERLOADING
+    UIManagerGetActionMethodInfo            ,
+#endif
+    uIManagerGetAction                      ,
+
+
+-- ** getActionGroups #method:getActionGroups#
+
+#if ENABLE_OVERLOADING
+    UIManagerGetActionGroupsMethodInfo      ,
+#endif
+    uIManagerGetActionGroups                ,
+
+
+-- ** getAddTearoffs #method:getAddTearoffs#
+
+#if ENABLE_OVERLOADING
+    UIManagerGetAddTearoffsMethodInfo       ,
+#endif
+    uIManagerGetAddTearoffs                 ,
+
+
+-- ** getToplevels #method:getToplevels#
+
+#if ENABLE_OVERLOADING
+    UIManagerGetToplevelsMethodInfo         ,
+#endif
+    uIManagerGetToplevels                   ,
+
+
+-- ** getUi #method:getUi#
+
+#if ENABLE_OVERLOADING
+    UIManagerGetUiMethodInfo                ,
+#endif
+    uIManagerGetUi                          ,
+
+
+-- ** getWidget #method:getWidget#
+
+#if ENABLE_OVERLOADING
+    UIManagerGetWidgetMethodInfo            ,
+#endif
+    uIManagerGetWidget                      ,
+
+
+-- ** insertActionGroup #method:insertActionGroup#
+
+#if ENABLE_OVERLOADING
+    UIManagerInsertActionGroupMethodInfo    ,
+#endif
+    uIManagerInsertActionGroup              ,
+
+
+-- ** new #method:new#
+
+    uIManagerNew                            ,
+
+
+-- ** newMergeId #method:newMergeId#
+
+#if ENABLE_OVERLOADING
+    UIManagerNewMergeIdMethodInfo           ,
+#endif
+    uIManagerNewMergeId                     ,
+
+
+-- ** removeActionGroup #method:removeActionGroup#
+
+#if ENABLE_OVERLOADING
+    UIManagerRemoveActionGroupMethodInfo    ,
+#endif
+    uIManagerRemoveActionGroup              ,
+
+
+-- ** removeUi #method:removeUi#
+
+#if ENABLE_OVERLOADING
+    UIManagerRemoveUiMethodInfo             ,
+#endif
+    uIManagerRemoveUi                       ,
+
+
+-- ** setAddTearoffs #method:setAddTearoffs#
+
+#if ENABLE_OVERLOADING
+    UIManagerSetAddTearoffsMethodInfo       ,
+#endif
+    uIManagerSetAddTearoffs                 ,
+
+
+
+
+ -- * Properties
+-- ** addTearoffs #attr:addTearoffs#
+{- | The \"add-tearoffs\" property controls whether generated menus
+have tearoff menu items.
+
+Note that this only affects regular menus. Generated popup
+menus never have tearoff menu items.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    UIManagerAddTearoffsPropertyInfo        ,
+#endif
+    constructUIManagerAddTearoffs           ,
+    getUIManagerAddTearoffs                 ,
+    setUIManagerAddTearoffs                 ,
+#if ENABLE_OVERLOADING
+    uIManagerAddTearoffs                    ,
+#endif
+
+
+-- ** ui #attr:ui#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    UIManagerUiPropertyInfo                 ,
+#endif
+    getUIManagerUi                          ,
+#if ENABLE_OVERLOADING
+    uIManagerUi                             ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** actionsChanged #signal:actionsChanged#
+
+    C_UIManagerActionsChangedCallback       ,
+    UIManagerActionsChangedCallback         ,
+#if ENABLE_OVERLOADING
+    UIManagerActionsChangedSignalInfo       ,
+#endif
+    afterUIManagerActionsChanged            ,
+    genClosure_UIManagerActionsChanged      ,
+    mk_UIManagerActionsChangedCallback      ,
+    noUIManagerActionsChangedCallback       ,
+    onUIManagerActionsChanged               ,
+    wrap_UIManagerActionsChangedCallback    ,
+
+
+-- ** addWidget #signal:addWidget#
+
+    C_UIManagerAddWidgetCallback            ,
+    UIManagerAddWidgetCallback              ,
+#if ENABLE_OVERLOADING
+    UIManagerAddWidgetSignalInfo            ,
+#endif
+    afterUIManagerAddWidget                 ,
+    genClosure_UIManagerAddWidget           ,
+    mk_UIManagerAddWidgetCallback           ,
+    noUIManagerAddWidgetCallback            ,
+    onUIManagerAddWidget                    ,
+    wrap_UIManagerAddWidgetCallback         ,
+
+
+-- ** connectProxy #signal:connectProxy#
+
+    C_UIManagerConnectProxyCallback         ,
+    UIManagerConnectProxyCallback           ,
+#if ENABLE_OVERLOADING
+    UIManagerConnectProxySignalInfo         ,
+#endif
+    afterUIManagerConnectProxy              ,
+    genClosure_UIManagerConnectProxy        ,
+    mk_UIManagerConnectProxyCallback        ,
+    noUIManagerConnectProxyCallback         ,
+    onUIManagerConnectProxy                 ,
+    wrap_UIManagerConnectProxyCallback      ,
+
+
+-- ** disconnectProxy #signal:disconnectProxy#
+
+    C_UIManagerDisconnectProxyCallback      ,
+    UIManagerDisconnectProxyCallback        ,
+#if ENABLE_OVERLOADING
+    UIManagerDisconnectProxySignalInfo      ,
+#endif
+    afterUIManagerDisconnectProxy           ,
+    genClosure_UIManagerDisconnectProxy     ,
+    mk_UIManagerDisconnectProxyCallback     ,
+    noUIManagerDisconnectProxyCallback      ,
+    onUIManagerDisconnectProxy              ,
+    wrap_UIManagerDisconnectProxyCallback   ,
+
+
+-- ** postActivate #signal:postActivate#
+
+    C_UIManagerPostActivateCallback         ,
+    UIManagerPostActivateCallback           ,
+#if ENABLE_OVERLOADING
+    UIManagerPostActivateSignalInfo         ,
+#endif
+    afterUIManagerPostActivate              ,
+    genClosure_UIManagerPostActivate        ,
+    mk_UIManagerPostActivateCallback        ,
+    noUIManagerPostActivateCallback         ,
+    onUIManagerPostActivate                 ,
+    wrap_UIManagerPostActivateCallback      ,
+
+
+-- ** preActivate #signal:preActivate#
+
+    C_UIManagerPreActivateCallback          ,
+    UIManagerPreActivateCallback            ,
+#if ENABLE_OVERLOADING
+    UIManagerPreActivateSignalInfo          ,
+#endif
+    afterUIManagerPreActivate               ,
+    genClosure_UIManagerPreActivate         ,
+    mk_UIManagerPreActivateCallback         ,
+    noUIManagerPreActivateCallback          ,
+    onUIManagerPreActivate                  ,
+    wrap_UIManagerPreActivateCallback       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Action as Gtk.Action
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ActionGroup as Gtk.ActionGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype UIManager = UIManager (ManagedPtr UIManager)
+foreign import ccall "gtk_ui_manager_get_type"
+    c_gtk_ui_manager_get_type :: IO GType
+
+instance GObject UIManager where
+    gobjectType = c_gtk_ui_manager_get_type
+    
+
+-- | Type class for types which can be safely cast to `UIManager`, for instance with `toUIManager`.
+class (GObject o, O.IsDescendantOf UIManager o) => IsUIManager o
+instance (GObject o, O.IsDescendantOf UIManager o) => IsUIManager o
+
+instance O.HasParentTypes UIManager
+type instance O.ParentTypes UIManager = '[GObject.Object.Object, Gtk.Buildable.Buildable]
+
+-- | Cast to `UIManager`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toUIManager :: (MonadIO m, IsUIManager o) => o -> m UIManager
+toUIManager = liftIO . unsafeCastTo UIManager
+
+-- | A convenience alias for `Nothing` :: `Maybe` `UIManager`.
+noUIManager :: Maybe UIManager
+noUIManager = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveUIManagerMethod (t :: Symbol) (o :: *) :: * where
+    ResolveUIManagerMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveUIManagerMethod "addUi" o = UIManagerAddUiMethodInfo
+    ResolveUIManagerMethod "addUiFromFile" o = UIManagerAddUiFromFileMethodInfo
+    ResolveUIManagerMethod "addUiFromResource" o = UIManagerAddUiFromResourceMethodInfo
+    ResolveUIManagerMethod "addUiFromString" o = UIManagerAddUiFromStringMethodInfo
+    ResolveUIManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveUIManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveUIManagerMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveUIManagerMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveUIManagerMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveUIManagerMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveUIManagerMethod "ensureUpdate" o = UIManagerEnsureUpdateMethodInfo
+    ResolveUIManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveUIManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveUIManagerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveUIManagerMethod "insertActionGroup" o = UIManagerInsertActionGroupMethodInfo
+    ResolveUIManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveUIManagerMethod "newMergeId" o = UIManagerNewMergeIdMethodInfo
+    ResolveUIManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveUIManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveUIManagerMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveUIManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveUIManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveUIManagerMethod "removeActionGroup" o = UIManagerRemoveActionGroupMethodInfo
+    ResolveUIManagerMethod "removeUi" o = UIManagerRemoveUiMethodInfo
+    ResolveUIManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveUIManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveUIManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveUIManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveUIManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveUIManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveUIManagerMethod "getAccelGroup" o = UIManagerGetAccelGroupMethodInfo
+    ResolveUIManagerMethod "getAction" o = UIManagerGetActionMethodInfo
+    ResolveUIManagerMethod "getActionGroups" o = UIManagerGetActionGroupsMethodInfo
+    ResolveUIManagerMethod "getAddTearoffs" o = UIManagerGetAddTearoffsMethodInfo
+    ResolveUIManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveUIManagerMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveUIManagerMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
+    ResolveUIManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveUIManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveUIManagerMethod "getToplevels" o = UIManagerGetToplevelsMethodInfo
+    ResolveUIManagerMethod "getUi" o = UIManagerGetUiMethodInfo
+    ResolveUIManagerMethod "getWidget" o = UIManagerGetWidgetMethodInfo
+    ResolveUIManagerMethod "setAddTearoffs" o = UIManagerSetAddTearoffsMethodInfo
+    ResolveUIManagerMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveUIManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveUIManagerMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
+    ResolveUIManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveUIManagerMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveUIManagerMethod t UIManager, O.MethodInfo info UIManager p) => OL.IsLabel t (UIManager -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal UIManager::actions-changed
+{-# DEPRECATED UIManagerActionsChangedCallback ["(Since version 3.10)"] #-}
+{- |
+The ::actions-changed signal is emitted whenever the set of actions
+changes.
+
+/Since: 2.4/
+-}
+type UIManagerActionsChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `UIManagerActionsChangedCallback`@.
+noUIManagerActionsChangedCallback :: Maybe UIManagerActionsChangedCallback
+noUIManagerActionsChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_UIManagerActionsChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_UIManagerActionsChangedCallback`.
+foreign import ccall "wrapper"
+    mk_UIManagerActionsChangedCallback :: C_UIManagerActionsChangedCallback -> IO (FunPtr C_UIManagerActionsChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_UIManagerActionsChanged :: MonadIO m => UIManagerActionsChangedCallback -> m (GClosure C_UIManagerActionsChangedCallback)
+genClosure_UIManagerActionsChanged cb = liftIO $ do
+    let cb' = wrap_UIManagerActionsChangedCallback cb
+    mk_UIManagerActionsChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `UIManagerActionsChangedCallback` into a `C_UIManagerActionsChangedCallback`.
+wrap_UIManagerActionsChangedCallback ::
+    UIManagerActionsChangedCallback ->
+    C_UIManagerActionsChangedCallback
+wrap_UIManagerActionsChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@actions-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' uIManager #actionsChanged callback
+@
+-}
+onUIManagerActionsChanged :: (IsUIManager a, MonadIO m) => a -> UIManagerActionsChangedCallback -> m SignalHandlerId
+onUIManagerActionsChanged obj cb = liftIO $ do
+    let cb' = wrap_UIManagerActionsChangedCallback cb
+    cb'' <- mk_UIManagerActionsChangedCallback cb'
+    connectSignalFunPtr obj "actions-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@actions-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' uIManager #actionsChanged callback
+@
+-}
+afterUIManagerActionsChanged :: (IsUIManager a, MonadIO m) => a -> UIManagerActionsChangedCallback -> m SignalHandlerId
+afterUIManagerActionsChanged obj cb = liftIO $ do
+    let cb' = wrap_UIManagerActionsChangedCallback cb
+    cb'' <- mk_UIManagerActionsChangedCallback cb'
+    connectSignalFunPtr obj "actions-changed" cb'' SignalConnectAfter
+
+
+-- signal UIManager::add-widget
+{-# DEPRECATED UIManagerAddWidgetCallback ["(Since version 3.10)"] #-}
+{- |
+The ::add-widget signal is emitted for each generated menubar and toolbar.
+It is not emitted for generated popup menus, which can be obtained by
+'GI.Gtk.Objects.UIManager.uIManagerGetWidget'.
+
+/Since: 2.4/
+-}
+type UIManagerAddWidgetCallback =
+    Gtk.Widget.Widget
+    {- ^ /@widget@/: the added widget -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `UIManagerAddWidgetCallback`@.
+noUIManagerAddWidgetCallback :: Maybe UIManagerAddWidgetCallback
+noUIManagerAddWidgetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_UIManagerAddWidgetCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_UIManagerAddWidgetCallback`.
+foreign import ccall "wrapper"
+    mk_UIManagerAddWidgetCallback :: C_UIManagerAddWidgetCallback -> IO (FunPtr C_UIManagerAddWidgetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_UIManagerAddWidget :: MonadIO m => UIManagerAddWidgetCallback -> m (GClosure C_UIManagerAddWidgetCallback)
+genClosure_UIManagerAddWidget cb = liftIO $ do
+    let cb' = wrap_UIManagerAddWidgetCallback cb
+    mk_UIManagerAddWidgetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `UIManagerAddWidgetCallback` into a `C_UIManagerAddWidgetCallback`.
+wrap_UIManagerAddWidgetCallback ::
+    UIManagerAddWidgetCallback ->
+    C_UIManagerAddWidgetCallback
+wrap_UIManagerAddWidgetCallback _cb _ widget _ = do
+    widget' <- (newObject Gtk.Widget.Widget) widget
+    _cb  widget'
+
+
+{- |
+Connect a signal handler for the “@add-widget@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' uIManager #addWidget callback
+@
+-}
+onUIManagerAddWidget :: (IsUIManager a, MonadIO m) => a -> UIManagerAddWidgetCallback -> m SignalHandlerId
+onUIManagerAddWidget obj cb = liftIO $ do
+    let cb' = wrap_UIManagerAddWidgetCallback cb
+    cb'' <- mk_UIManagerAddWidgetCallback cb'
+    connectSignalFunPtr obj "add-widget" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@add-widget@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' uIManager #addWidget callback
+@
+-}
+afterUIManagerAddWidget :: (IsUIManager a, MonadIO m) => a -> UIManagerAddWidgetCallback -> m SignalHandlerId
+afterUIManagerAddWidget obj cb = liftIO $ do
+    let cb' = wrap_UIManagerAddWidgetCallback cb
+    cb'' <- mk_UIManagerAddWidgetCallback cb'
+    connectSignalFunPtr obj "add-widget" cb'' SignalConnectAfter
+
+
+-- signal UIManager::connect-proxy
+{-# DEPRECATED UIManagerConnectProxyCallback ["(Since version 3.10)"] #-}
+{- |
+The ::connect-proxy signal is emitted after connecting a proxy to
+an action in the group.
+
+This is intended for simple customizations for which a custom action
+class would be too clumsy, e.g. showing tooltips for menuitems in the
+statusbar.
+
+/Since: 2.4/
+-}
+type UIManagerConnectProxyCallback =
+    Gtk.Action.Action
+    {- ^ /@action@/: the action -}
+    -> Gtk.Widget.Widget
+    {- ^ /@proxy@/: the proxy -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `UIManagerConnectProxyCallback`@.
+noUIManagerConnectProxyCallback :: Maybe UIManagerConnectProxyCallback
+noUIManagerConnectProxyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_UIManagerConnectProxyCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Action.Action ->
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_UIManagerConnectProxyCallback`.
+foreign import ccall "wrapper"
+    mk_UIManagerConnectProxyCallback :: C_UIManagerConnectProxyCallback -> IO (FunPtr C_UIManagerConnectProxyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_UIManagerConnectProxy :: MonadIO m => UIManagerConnectProxyCallback -> m (GClosure C_UIManagerConnectProxyCallback)
+genClosure_UIManagerConnectProxy cb = liftIO $ do
+    let cb' = wrap_UIManagerConnectProxyCallback cb
+    mk_UIManagerConnectProxyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `UIManagerConnectProxyCallback` into a `C_UIManagerConnectProxyCallback`.
+wrap_UIManagerConnectProxyCallback ::
+    UIManagerConnectProxyCallback ->
+    C_UIManagerConnectProxyCallback
+wrap_UIManagerConnectProxyCallback _cb _ action proxy _ = do
+    action' <- (newObject Gtk.Action.Action) action
+    proxy' <- (newObject Gtk.Widget.Widget) proxy
+    _cb  action' proxy'
+
+
+{- |
+Connect a signal handler for the “@connect-proxy@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' uIManager #connectProxy callback
+@
+-}
+onUIManagerConnectProxy :: (IsUIManager a, MonadIO m) => a -> UIManagerConnectProxyCallback -> m SignalHandlerId
+onUIManagerConnectProxy obj cb = liftIO $ do
+    let cb' = wrap_UIManagerConnectProxyCallback cb
+    cb'' <- mk_UIManagerConnectProxyCallback cb'
+    connectSignalFunPtr obj "connect-proxy" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@connect-proxy@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' uIManager #connectProxy callback
+@
+-}
+afterUIManagerConnectProxy :: (IsUIManager a, MonadIO m) => a -> UIManagerConnectProxyCallback -> m SignalHandlerId
+afterUIManagerConnectProxy obj cb = liftIO $ do
+    let cb' = wrap_UIManagerConnectProxyCallback cb
+    cb'' <- mk_UIManagerConnectProxyCallback cb'
+    connectSignalFunPtr obj "connect-proxy" cb'' SignalConnectAfter
+
+
+-- signal UIManager::disconnect-proxy
+{-# DEPRECATED UIManagerDisconnectProxyCallback ["(Since version 3.10)"] #-}
+{- |
+The ::disconnect-proxy signal is emitted after disconnecting a proxy
+from an action in the group.
+
+/Since: 2.4/
+-}
+type UIManagerDisconnectProxyCallback =
+    Gtk.Action.Action
+    {- ^ /@action@/: the action -}
+    -> Gtk.Widget.Widget
+    {- ^ /@proxy@/: the proxy -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `UIManagerDisconnectProxyCallback`@.
+noUIManagerDisconnectProxyCallback :: Maybe UIManagerDisconnectProxyCallback
+noUIManagerDisconnectProxyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_UIManagerDisconnectProxyCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Action.Action ->
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_UIManagerDisconnectProxyCallback`.
+foreign import ccall "wrapper"
+    mk_UIManagerDisconnectProxyCallback :: C_UIManagerDisconnectProxyCallback -> IO (FunPtr C_UIManagerDisconnectProxyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_UIManagerDisconnectProxy :: MonadIO m => UIManagerDisconnectProxyCallback -> m (GClosure C_UIManagerDisconnectProxyCallback)
+genClosure_UIManagerDisconnectProxy cb = liftIO $ do
+    let cb' = wrap_UIManagerDisconnectProxyCallback cb
+    mk_UIManagerDisconnectProxyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `UIManagerDisconnectProxyCallback` into a `C_UIManagerDisconnectProxyCallback`.
+wrap_UIManagerDisconnectProxyCallback ::
+    UIManagerDisconnectProxyCallback ->
+    C_UIManagerDisconnectProxyCallback
+wrap_UIManagerDisconnectProxyCallback _cb _ action proxy _ = do
+    action' <- (newObject Gtk.Action.Action) action
+    proxy' <- (newObject Gtk.Widget.Widget) proxy
+    _cb  action' proxy'
+
+
+{- |
+Connect a signal handler for the “@disconnect-proxy@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' uIManager #disconnectProxy callback
+@
+-}
+onUIManagerDisconnectProxy :: (IsUIManager a, MonadIO m) => a -> UIManagerDisconnectProxyCallback -> m SignalHandlerId
+onUIManagerDisconnectProxy obj cb = liftIO $ do
+    let cb' = wrap_UIManagerDisconnectProxyCallback cb
+    cb'' <- mk_UIManagerDisconnectProxyCallback cb'
+    connectSignalFunPtr obj "disconnect-proxy" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@disconnect-proxy@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' uIManager #disconnectProxy callback
+@
+-}
+afterUIManagerDisconnectProxy :: (IsUIManager a, MonadIO m) => a -> UIManagerDisconnectProxyCallback -> m SignalHandlerId
+afterUIManagerDisconnectProxy obj cb = liftIO $ do
+    let cb' = wrap_UIManagerDisconnectProxyCallback cb
+    cb'' <- mk_UIManagerDisconnectProxyCallback cb'
+    connectSignalFunPtr obj "disconnect-proxy" cb'' SignalConnectAfter
+
+
+-- signal UIManager::post-activate
+{-# DEPRECATED UIManagerPostActivateCallback ["(Since version 3.10)"] #-}
+{- |
+The ::post-activate signal is emitted just after the /@action@/
+is activated.
+
+This is intended for applications to get notification
+just after any action is activated.
+
+/Since: 2.4/
+-}
+type UIManagerPostActivateCallback =
+    Gtk.Action.Action
+    {- ^ /@action@/: the action -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `UIManagerPostActivateCallback`@.
+noUIManagerPostActivateCallback :: Maybe UIManagerPostActivateCallback
+noUIManagerPostActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_UIManagerPostActivateCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Action.Action ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_UIManagerPostActivateCallback`.
+foreign import ccall "wrapper"
+    mk_UIManagerPostActivateCallback :: C_UIManagerPostActivateCallback -> IO (FunPtr C_UIManagerPostActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_UIManagerPostActivate :: MonadIO m => UIManagerPostActivateCallback -> m (GClosure C_UIManagerPostActivateCallback)
+genClosure_UIManagerPostActivate cb = liftIO $ do
+    let cb' = wrap_UIManagerPostActivateCallback cb
+    mk_UIManagerPostActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `UIManagerPostActivateCallback` into a `C_UIManagerPostActivateCallback`.
+wrap_UIManagerPostActivateCallback ::
+    UIManagerPostActivateCallback ->
+    C_UIManagerPostActivateCallback
+wrap_UIManagerPostActivateCallback _cb _ action _ = do
+    action' <- (newObject Gtk.Action.Action) action
+    _cb  action'
+
+
+{- |
+Connect a signal handler for the “@post-activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' uIManager #postActivate callback
+@
+-}
+onUIManagerPostActivate :: (IsUIManager a, MonadIO m) => a -> UIManagerPostActivateCallback -> m SignalHandlerId
+onUIManagerPostActivate obj cb = liftIO $ do
+    let cb' = wrap_UIManagerPostActivateCallback cb
+    cb'' <- mk_UIManagerPostActivateCallback cb'
+    connectSignalFunPtr obj "post-activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@post-activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' uIManager #postActivate callback
+@
+-}
+afterUIManagerPostActivate :: (IsUIManager a, MonadIO m) => a -> UIManagerPostActivateCallback -> m SignalHandlerId
+afterUIManagerPostActivate obj cb = liftIO $ do
+    let cb' = wrap_UIManagerPostActivateCallback cb
+    cb'' <- mk_UIManagerPostActivateCallback cb'
+    connectSignalFunPtr obj "post-activate" cb'' SignalConnectAfter
+
+
+-- signal UIManager::pre-activate
+{-# DEPRECATED UIManagerPreActivateCallback ["(Since version 3.10)"] #-}
+{- |
+The ::pre-activate signal is emitted just before the /@action@/
+is activated.
+
+This is intended for applications to get notification
+just before any action is activated.
+
+/Since: 2.4/
+-}
+type UIManagerPreActivateCallback =
+    Gtk.Action.Action
+    {- ^ /@action@/: the action -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `UIManagerPreActivateCallback`@.
+noUIManagerPreActivateCallback :: Maybe UIManagerPreActivateCallback
+noUIManagerPreActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_UIManagerPreActivateCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Action.Action ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_UIManagerPreActivateCallback`.
+foreign import ccall "wrapper"
+    mk_UIManagerPreActivateCallback :: C_UIManagerPreActivateCallback -> IO (FunPtr C_UIManagerPreActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_UIManagerPreActivate :: MonadIO m => UIManagerPreActivateCallback -> m (GClosure C_UIManagerPreActivateCallback)
+genClosure_UIManagerPreActivate cb = liftIO $ do
+    let cb' = wrap_UIManagerPreActivateCallback cb
+    mk_UIManagerPreActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `UIManagerPreActivateCallback` into a `C_UIManagerPreActivateCallback`.
+wrap_UIManagerPreActivateCallback ::
+    UIManagerPreActivateCallback ->
+    C_UIManagerPreActivateCallback
+wrap_UIManagerPreActivateCallback _cb _ action _ = do
+    action' <- (newObject Gtk.Action.Action) action
+    _cb  action'
+
+
+{- |
+Connect a signal handler for the “@pre-activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' uIManager #preActivate callback
+@
+-}
+onUIManagerPreActivate :: (IsUIManager a, MonadIO m) => a -> UIManagerPreActivateCallback -> m SignalHandlerId
+onUIManagerPreActivate obj cb = liftIO $ do
+    let cb' = wrap_UIManagerPreActivateCallback cb
+    cb'' <- mk_UIManagerPreActivateCallback cb'
+    connectSignalFunPtr obj "pre-activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@pre-activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' uIManager #preActivate callback
+@
+-}
+afterUIManagerPreActivate :: (IsUIManager a, MonadIO m) => a -> UIManagerPreActivateCallback -> m SignalHandlerId
+afterUIManagerPreActivate obj cb = liftIO $ do
+    let cb' = wrap_UIManagerPreActivateCallback cb
+    cb'' <- mk_UIManagerPreActivateCallback cb'
+    connectSignalFunPtr obj "pre-activate" cb'' SignalConnectAfter
+
+
+-- VVV Prop "add-tearoffs"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@add-tearoffs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' uIManager #addTearoffs
+@
+-}
+getUIManagerAddTearoffs :: (MonadIO m, IsUIManager o) => o -> m Bool
+getUIManagerAddTearoffs obj = liftIO $ B.Properties.getObjectPropertyBool obj "add-tearoffs"
+
+{- |
+Set the value of the “@add-tearoffs@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' uIManager [ #addTearoffs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setUIManagerAddTearoffs :: (MonadIO m, IsUIManager o) => o -> Bool -> m ()
+setUIManagerAddTearoffs obj val = liftIO $ B.Properties.setObjectPropertyBool obj "add-tearoffs" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@add-tearoffs@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructUIManagerAddTearoffs :: (IsUIManager o) => Bool -> IO (GValueConstruct o)
+constructUIManagerAddTearoffs val = B.Properties.constructObjectPropertyBool "add-tearoffs" val
+
+#if ENABLE_OVERLOADING
+data UIManagerAddTearoffsPropertyInfo
+instance AttrInfo UIManagerAddTearoffsPropertyInfo where
+    type AttrAllowedOps UIManagerAddTearoffsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint UIManagerAddTearoffsPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint UIManagerAddTearoffsPropertyInfo = IsUIManager
+    type AttrGetType UIManagerAddTearoffsPropertyInfo = Bool
+    type AttrLabel UIManagerAddTearoffsPropertyInfo = "add-tearoffs"
+    type AttrOrigin UIManagerAddTearoffsPropertyInfo = UIManager
+    attrGet _ = getUIManagerAddTearoffs
+    attrSet _ = setUIManagerAddTearoffs
+    attrConstruct _ = constructUIManagerAddTearoffs
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "ui"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@ui@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' uIManager #ui
+@
+-}
+getUIManagerUi :: (MonadIO m, IsUIManager o) => o -> m (Maybe T.Text)
+getUIManagerUi obj = liftIO $ B.Properties.getObjectPropertyString obj "ui"
+
+#if ENABLE_OVERLOADING
+data UIManagerUiPropertyInfo
+instance AttrInfo UIManagerUiPropertyInfo where
+    type AttrAllowedOps UIManagerUiPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint UIManagerUiPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint UIManagerUiPropertyInfo = IsUIManager
+    type AttrGetType UIManagerUiPropertyInfo = (Maybe T.Text)
+    type AttrLabel UIManagerUiPropertyInfo = "ui"
+    type AttrOrigin UIManagerUiPropertyInfo = UIManager
+    attrGet _ = getUIManagerUi
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList UIManager
+type instance O.AttributeList UIManager = UIManagerAttributeList
+type UIManagerAttributeList = ('[ '("addTearoffs", UIManagerAddTearoffsPropertyInfo), '("ui", UIManagerUiPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+uIManagerAddTearoffs :: AttrLabelProxy "addTearoffs"
+uIManagerAddTearoffs = AttrLabelProxy
+
+uIManagerUi :: AttrLabelProxy "ui"
+uIManagerUi = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data UIManagerActionsChangedSignalInfo
+instance SignalInfo UIManagerActionsChangedSignalInfo where
+    type HaskellCallbackType UIManagerActionsChangedSignalInfo = UIManagerActionsChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_UIManagerActionsChangedCallback cb
+        cb'' <- mk_UIManagerActionsChangedCallback cb'
+        connectSignalFunPtr obj "actions-changed" cb'' connectMode
+
+data UIManagerAddWidgetSignalInfo
+instance SignalInfo UIManagerAddWidgetSignalInfo where
+    type HaskellCallbackType UIManagerAddWidgetSignalInfo = UIManagerAddWidgetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_UIManagerAddWidgetCallback cb
+        cb'' <- mk_UIManagerAddWidgetCallback cb'
+        connectSignalFunPtr obj "add-widget" cb'' connectMode
+
+data UIManagerConnectProxySignalInfo
+instance SignalInfo UIManagerConnectProxySignalInfo where
+    type HaskellCallbackType UIManagerConnectProxySignalInfo = UIManagerConnectProxyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_UIManagerConnectProxyCallback cb
+        cb'' <- mk_UIManagerConnectProxyCallback cb'
+        connectSignalFunPtr obj "connect-proxy" cb'' connectMode
+
+data UIManagerDisconnectProxySignalInfo
+instance SignalInfo UIManagerDisconnectProxySignalInfo where
+    type HaskellCallbackType UIManagerDisconnectProxySignalInfo = UIManagerDisconnectProxyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_UIManagerDisconnectProxyCallback cb
+        cb'' <- mk_UIManagerDisconnectProxyCallback cb'
+        connectSignalFunPtr obj "disconnect-proxy" cb'' connectMode
+
+data UIManagerPostActivateSignalInfo
+instance SignalInfo UIManagerPostActivateSignalInfo where
+    type HaskellCallbackType UIManagerPostActivateSignalInfo = UIManagerPostActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_UIManagerPostActivateCallback cb
+        cb'' <- mk_UIManagerPostActivateCallback cb'
+        connectSignalFunPtr obj "post-activate" cb'' connectMode
+
+data UIManagerPreActivateSignalInfo
+instance SignalInfo UIManagerPreActivateSignalInfo where
+    type HaskellCallbackType UIManagerPreActivateSignalInfo = UIManagerPreActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_UIManagerPreActivateCallback cb
+        cb'' <- mk_UIManagerPreActivateCallback cb'
+        connectSignalFunPtr obj "pre-activate" cb'' connectMode
+
+type instance O.SignalList UIManager = UIManagerSignalList
+type UIManagerSignalList = ('[ '("actionsChanged", UIManagerActionsChangedSignalInfo), '("addWidget", UIManagerAddWidgetSignalInfo), '("connectProxy", UIManagerConnectProxySignalInfo), '("disconnectProxy", UIManagerDisconnectProxySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("postActivate", UIManagerPostActivateSignalInfo), '("preActivate", UIManagerPreActivateSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method UIManager::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "UIManager"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_new" gtk_ui_manager_new :: 
+    IO (Ptr UIManager)
+
+{-# DEPRECATED uIManagerNew ["(Since version 3.10)"] #-}
+{- |
+Creates a new ui manager object.
+
+/Since: 2.4/
+-}
+uIManagerNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m UIManager
+    {- ^ __Returns:__ a new ui manager object. -}
+uIManagerNew  = liftIO $ do
+    result <- gtk_ui_manager_new
+    checkUnexpectedReturnNULL "uIManagerNew" result
+    result' <- (wrapObject UIManager) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method UIManager::add_ui
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "merge_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the merge id for the merged UI, see gtk_ui_manager_new_merge_id()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name for the added UI element", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the action to be proxied, or %NULL to add a separator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "UIManagerItemType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of UI element to add.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "top", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, the UI element is added before its siblings, otherwise it\n  is added after its siblings.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_add_ui" gtk_ui_manager_add_ui :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    Word32 ->                               -- merge_id : TBasicType TUInt
+    CString ->                              -- path : TBasicType TUTF8
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- action : TBasicType TUTF8
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "UIManagerItemType"})
+    CInt ->                                 -- top : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED uIManagerAddUi ["(Since version 3.10)"] #-}
+{- |
+Adds a UI element to the current contents of /@manager@/.
+
+If /@type@/ is 'GI.Gtk.Flags.UIManagerItemTypeAuto', GTK+ inserts a menuitem, toolitem or
+separator if such an element can be inserted at the place determined by
+/@path@/. Otherwise /@type@/ must indicate an element that can be inserted at
+the place determined by /@path@/.
+
+If /@path@/ points to a menuitem or toolitem, the new element will be inserted
+before or after this item, depending on /@top@/.
+
+/Since: 2.4/
+-}
+uIManagerAddUi ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' -}
+    -> Word32
+    {- ^ /@mergeId@/: the merge id for the merged UI, see 'GI.Gtk.Objects.UIManager.uIManagerNewMergeId' -}
+    -> T.Text
+    {- ^ /@path@/: a path -}
+    -> T.Text
+    {- ^ /@name@/: the name for the added UI element -}
+    -> Maybe (T.Text)
+    {- ^ /@action@/: the name of the action to be proxied, or 'Nothing' to add a separator -}
+    -> [Gtk.Flags.UIManagerItemType]
+    {- ^ /@type@/: the type of UI element to add. -}
+    -> Bool
+    {- ^ /@top@/: if 'True', the UI element is added before its siblings, otherwise it
+  is added after its siblings. -}
+    -> m ()
+uIManagerAddUi manager mergeId path name action type_ top = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    path' <- textToCString path
+    name' <- textToCString name
+    maybeAction <- case action of
+        Nothing -> return nullPtr
+        Just jAction -> do
+            jAction' <- textToCString jAction
+            return jAction'
+    let type_' = gflagsToWord type_
+    let top' = (fromIntegral . fromEnum) top
+    gtk_ui_manager_add_ui manager' mergeId path' name' maybeAction type_' top'
+    touchManagedPtr manager
+    freeMem path'
+    freeMem name'
+    freeMem maybeAction
+    return ()
+
+#if ENABLE_OVERLOADING
+data UIManagerAddUiMethodInfo
+instance (signature ~ (Word32 -> T.Text -> T.Text -> Maybe (T.Text) -> [Gtk.Flags.UIManagerItemType] -> Bool -> m ()), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerAddUiMethodInfo a signature where
+    overloadedMethod _ = uIManagerAddUi
+
+#endif
+
+-- method UIManager::add_ui_from_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_add_ui_from_file" gtk_ui_manager_add_ui_from_file :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    CString ->                              -- filename : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{-# DEPRECATED uIManagerAddUiFromFile ["(Since version 3.10)"] #-}
+{- |
+Parses a file containing a [UI definition][XML-UI] and
+merges it with the current contents of /@manager@/.
+
+/Since: 2.4/
+-}
+uIManagerAddUiFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' object -}
+    -> [Char]
+    {- ^ /@filename@/: the name of the file to parse -}
+    -> m Word32
+    {- ^ __Returns:__ The merge id for the merged UI. The merge id can be used
+  to unmerge the UI with 'GI.Gtk.Objects.UIManager.uIManagerRemoveUi'. If an error occurred,
+  the return value is 0. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+uIManagerAddUiFromFile manager filename = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    filename' <- stringToCString filename
+    onException (do
+        result <- propagateGError $ gtk_ui_manager_add_ui_from_file manager' filename'
+        touchManagedPtr manager
+        freeMem filename'
+        return result
+     ) (do
+        freeMem filename'
+     )
+
+#if ENABLE_OVERLOADING
+data UIManagerAddUiFromFileMethodInfo
+instance (signature ~ ([Char] -> m Word32), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerAddUiFromFileMethodInfo a signature where
+    overloadedMethod _ = uIManagerAddUiFromFile
+
+#endif
+
+-- method UIManager::add_ui_from_resource
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resource_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the resource path of the file to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_add_ui_from_resource" gtk_ui_manager_add_ui_from_resource :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    CString ->                              -- resource_path : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{-# DEPRECATED uIManagerAddUiFromResource ["(Since version 3.10)"] #-}
+{- |
+Parses a resource file containing a [UI definition][XML-UI] and
+merges it with the current contents of /@manager@/.
+
+/Since: 3.4/
+-}
+uIManagerAddUiFromResource ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' object -}
+    -> T.Text
+    {- ^ /@resourcePath@/: the resource path of the file to parse -}
+    -> m Word32
+    {- ^ __Returns:__ The merge id for the merged UI. The merge id can be used
+  to unmerge the UI with 'GI.Gtk.Objects.UIManager.uIManagerRemoveUi'. If an error occurred,
+  the return value is 0. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+uIManagerAddUiFromResource manager resourcePath = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    resourcePath' <- textToCString resourcePath
+    onException (do
+        result <- propagateGError $ gtk_ui_manager_add_ui_from_resource manager' resourcePath'
+        touchManagedPtr manager
+        freeMem resourcePath'
+        return result
+     ) (do
+        freeMem resourcePath'
+     )
+
+#if ENABLE_OVERLOADING
+data UIManagerAddUiFromResourceMethodInfo
+instance (signature ~ (T.Text -> m Word32), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerAddUiFromResourceMethodInfo a signature where
+    overloadedMethod _ = uIManagerAddUiFromResource
+
+#endif
+
+-- method UIManager::add_ui_from_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @buffer (may be -1 if @buffer is nul-terminated)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_add_ui_from_string" gtk_ui_manager_add_ui_from_string :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    CString ->                              -- buffer : TBasicType TUTF8
+    Int64 ->                                -- length : TBasicType TInt64
+    Ptr (Ptr GError) ->                     -- error
+    IO Word32
+
+{-# DEPRECATED uIManagerAddUiFromString ["(Since version 3.10)"] #-}
+{- |
+Parses a string containing a [UI definition][XML-UI] and merges it with
+the current contents of /@manager@/. An enclosing \<ui> element is added if
+it is missing.
+
+/Since: 2.4/
+-}
+uIManagerAddUiFromString ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' object -}
+    -> T.Text
+    {- ^ /@buffer@/: the string to parse -}
+    -> Int64
+    {- ^ /@length@/: the length of /@buffer@/ (may be -1 if /@buffer@/ is nul-terminated) -}
+    -> m Word32
+    {- ^ __Returns:__ The merge id for the merged UI. The merge id can be used
+  to unmerge the UI with 'GI.Gtk.Objects.UIManager.uIManagerRemoveUi'. If an error occurred,
+  the return value is 0. /(Can throw 'Data.GI.Base.GError.GError')/ -}
+uIManagerAddUiFromString manager buffer length_ = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    buffer' <- textToCString buffer
+    onException (do
+        result <- propagateGError $ gtk_ui_manager_add_ui_from_string manager' buffer' length_
+        touchManagedPtr manager
+        freeMem buffer'
+        return result
+     ) (do
+        freeMem buffer'
+     )
+
+#if ENABLE_OVERLOADING
+data UIManagerAddUiFromStringMethodInfo
+instance (signature ~ (T.Text -> Int64 -> m Word32), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerAddUiFromStringMethodInfo a signature where
+    overloadedMethod _ = uIManagerAddUiFromString
+
+#endif
+
+-- method UIManager::ensure_update
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_ensure_update" gtk_ui_manager_ensure_update :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    IO ()
+
+{-# DEPRECATED uIManagerEnsureUpdate ["(Since version 3.10)"] #-}
+{- |
+Makes sure that all pending updates to the UI have been completed.
+
+This may occasionally be necessary, since 'GI.Gtk.Objects.UIManager.UIManager' updates the
+UI in an idle function. A typical example where this function is
+useful is to enforce that the menubar and toolbar have been added to
+the main window before showing it:
+
+=== /C code/
+>
+>gtk_container_add (GTK_CONTAINER (window), vbox);
+>g_signal_connect (merge, "add-widget",
+>                  G_CALLBACK (add_widget), vbox);
+>gtk_ui_manager_add_ui_from_file (merge, "my-menus");
+>gtk_ui_manager_add_ui_from_file (merge, "my-toolbars");
+>gtk_ui_manager_ensure_update (merge);
+>gtk_widget_show (window);
+
+
+/Since: 2.4/
+-}
+uIManagerEnsureUpdate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' -}
+    -> m ()
+uIManagerEnsureUpdate manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    gtk_ui_manager_ensure_update manager'
+    touchManagedPtr manager
+    return ()
+
+#if ENABLE_OVERLOADING
+data UIManagerEnsureUpdateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerEnsureUpdateMethodInfo a signature where
+    overloadedMethod _ = uIManagerEnsureUpdate
+
+#endif
+
+-- method UIManager::get_accel_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AccelGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_get_accel_group" gtk_ui_manager_get_accel_group :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    IO (Ptr Gtk.AccelGroup.AccelGroup)
+
+{-# DEPRECATED uIManagerGetAccelGroup ["(Since version 3.10)"] #-}
+{- |
+Returns the 'GI.Gtk.Objects.AccelGroup.AccelGroup' associated with /@manager@/.
+
+/Since: 2.4/
+-}
+uIManagerGetAccelGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' object -}
+    -> m Gtk.AccelGroup.AccelGroup
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.AccelGroup.AccelGroup'. -}
+uIManagerGetAccelGroup manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    result <- gtk_ui_manager_get_accel_group manager'
+    checkUnexpectedReturnNULL "uIManagerGetAccelGroup" result
+    result' <- (newObject Gtk.AccelGroup.AccelGroup) result
+    touchManagedPtr manager
+    return result'
+
+#if ENABLE_OVERLOADING
+data UIManagerGetAccelGroupMethodInfo
+instance (signature ~ (m Gtk.AccelGroup.AccelGroup), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerGetAccelGroupMethodInfo a signature where
+    overloadedMethod _ = uIManagerGetAccelGroup
+
+#endif
+
+-- method UIManager::get_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Action"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_get_action" gtk_ui_manager_get_action :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    CString ->                              -- path : TBasicType TUTF8
+    IO (Ptr Gtk.Action.Action)
+
+{-# DEPRECATED uIManagerGetAction ["(Since version 3.10)"] #-}
+{- |
+Looks up an action by following a path. See 'GI.Gtk.Objects.UIManager.uIManagerGetWidget'
+for more information about paths.
+
+/Since: 2.4/
+-}
+uIManagerGetAction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' -}
+    -> T.Text
+    {- ^ /@path@/: a path -}
+    -> m (Maybe Gtk.Action.Action)
+    {- ^ __Returns:__ the action whose proxy widget is found by following the path,
+    or 'Nothing' if no widget was found. -}
+uIManagerGetAction manager path = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    path' <- textToCString path
+    result <- gtk_ui_manager_get_action manager' path'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Action.Action) result'
+        return result''
+    touchManagedPtr manager
+    freeMem path'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data UIManagerGetActionMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.Action.Action)), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerGetActionMethodInfo a signature where
+    overloadedMethod _ = uIManagerGetAction
+
+#endif
+
+-- method UIManager::get_action_groups
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "ActionGroup"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_get_action_groups" gtk_ui_manager_get_action_groups :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    IO (Ptr (GList (Ptr Gtk.ActionGroup.ActionGroup)))
+
+{-# DEPRECATED uIManagerGetActionGroups ["(Since version 3.10)"] #-}
+{- |
+Returns the list of action groups associated with /@manager@/.
+
+/Since: 2.4/
+-}
+uIManagerGetActionGroups ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' object -}
+    -> m [Gtk.ActionGroup.ActionGroup]
+    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of
+  action groups. The list is owned by GTK+
+  and should not be modified. -}
+uIManagerGetActionGroups manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    result <- gtk_ui_manager_get_action_groups manager'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.ActionGroup.ActionGroup) result'
+    touchManagedPtr manager
+    return result''
+
+#if ENABLE_OVERLOADING
+data UIManagerGetActionGroupsMethodInfo
+instance (signature ~ (m [Gtk.ActionGroup.ActionGroup]), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerGetActionGroupsMethodInfo a signature where
+    overloadedMethod _ = uIManagerGetActionGroups
+
+#endif
+
+-- method UIManager::get_add_tearoffs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_get_add_tearoffs" gtk_ui_manager_get_add_tearoffs :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    IO CInt
+
+{-# DEPRECATED uIManagerGetAddTearoffs ["(Since version 3.4)","Tearoff menus are deprecated and should not","    be used in newly written code."] #-}
+{- |
+Returns whether menus generated by this 'GI.Gtk.Objects.UIManager.UIManager'
+will have tearoff menu items.
+
+/Since: 2.4/
+-}
+uIManagerGetAddTearoffs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' -}
+    -> m Bool
+    {- ^ __Returns:__ whether tearoff menu items are added -}
+uIManagerGetAddTearoffs manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    result <- gtk_ui_manager_get_add_tearoffs manager'
+    let result' = (/= 0) result
+    touchManagedPtr manager
+    return result'
+
+#if ENABLE_OVERLOADING
+data UIManagerGetAddTearoffsMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerGetAddTearoffsMethodInfo a signature where
+    overloadedMethod _ = uIManagerGetAddTearoffs
+
+#endif
+
+-- method UIManager::get_toplevels
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TInterface (Name {namespace = "Gtk", name = "UIManagerItemType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "specifies the types of toplevel widgets to include. Allowed\n  types are #GTK_UI_MANAGER_MENUBAR, #GTK_UI_MANAGER_TOOLBAR and\n  #GTK_UI_MANAGER_POPUP.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "Widget"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_get_toplevels" gtk_ui_manager_get_toplevels :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    CUInt ->                                -- types : TInterface (Name {namespace = "Gtk", name = "UIManagerItemType"})
+    IO (Ptr (GSList (Ptr Gtk.Widget.Widget)))
+
+{-# DEPRECATED uIManagerGetToplevels ["(Since version 3.10)"] #-}
+{- |
+Obtains a list of all toplevel widgets of the requested types.
+
+/Since: 2.4/
+-}
+uIManagerGetToplevels ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' -}
+    -> [Gtk.Flags.UIManagerItemType]
+    {- ^ /@types@/: specifies the types of toplevel widgets to include. Allowed
+  types are @/GTK_UI_MANAGER_MENUBAR/@, @/GTK_UI_MANAGER_TOOLBAR/@ and
+  @/GTK_UI_MANAGER_POPUP/@. -}
+    -> m [Gtk.Widget.Widget]
+    {- ^ __Returns:__ a newly-allocated 'GI.GLib.Structs.SList.SList' of
+all toplevel widgets of the requested types.  Free the returned list with @/g_slist_free()/@. -}
+uIManagerGetToplevels manager types = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    let types' = gflagsToWord types
+    result <- gtk_ui_manager_get_toplevels manager' types'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.Widget.Widget) result'
+    g_slist_free result
+    touchManagedPtr manager
+    return result''
+
+#if ENABLE_OVERLOADING
+data UIManagerGetToplevelsMethodInfo
+instance (signature ~ ([Gtk.Flags.UIManagerItemType] -> m [Gtk.Widget.Widget]), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerGetToplevelsMethodInfo a signature where
+    overloadedMethod _ = uIManagerGetToplevels
+
+#endif
+
+-- method UIManager::get_ui
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_get_ui" gtk_ui_manager_get_ui :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    IO CString
+
+{-# DEPRECATED uIManagerGetUi ["(Since version 3.10)"] #-}
+{- |
+Creates a [UI definition][XML-UI] of the merged UI.
+
+/Since: 2.4/
+-}
+uIManagerGetUi ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' -}
+    -> m T.Text
+    {- ^ __Returns:__ A newly allocated string containing an XML representation of
+the merged UI. -}
+uIManagerGetUi manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    result <- gtk_ui_manager_get_ui manager'
+    checkUnexpectedReturnNULL "uIManagerGetUi" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr manager
+    return result'
+
+#if ENABLE_OVERLOADING
+data UIManagerGetUiMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerGetUiMethodInfo a signature where
+    overloadedMethod _ = uIManagerGetUi
+
+#endif
+
+-- method UIManager::get_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_get_widget" gtk_ui_manager_get_widget :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    CString ->                              -- path : TBasicType TUTF8
+    IO (Ptr Gtk.Widget.Widget)
+
+{-# DEPRECATED uIManagerGetWidget ["(Since version 3.10)"] #-}
+{- |
+Looks up a widget by following a path.
+The path consists of the names specified in the XML description of the UI.
+separated by “\/”. Elements which don’t have a name or action attribute in
+the XML (e.g. \<popup>) can be addressed by their XML element name
+(e.g. \"popup\"). The root element (\"\/ui\") can be omitted in the path.
+
+Note that the widget found by following a path that ends in a \<menu>;
+element is the menuitem to which the menu is attached, not the menu it
+manages.
+
+Also note that the widgets constructed by a ui manager are not tied to
+the lifecycle of the ui manager. If you add the widgets returned by this
+function to some container or explicitly ref them, they will survive the
+destruction of the ui manager.
+
+/Since: 2.4/
+-}
+uIManagerGetWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' -}
+    -> T.Text
+    {- ^ /@path@/: a path -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the widget found by following the path,
+    or 'Nothing' if no widget was found -}
+uIManagerGetWidget manager path = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    path' <- textToCString path
+    result <- gtk_ui_manager_get_widget manager' path'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr manager
+    freeMem path'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data UIManagerGetWidgetMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerGetWidgetMethodInfo a signature where
+    overloadedMethod _ = uIManagerGetWidget
+
+#endif
+
+-- method UIManager::insert_action_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group to be inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position at which the group will be inserted.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_insert_action_group" gtk_ui_manager_insert_action_group :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    Ptr Gtk.ActionGroup.ActionGroup ->      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED uIManagerInsertActionGroup ["(Since version 3.10)"] #-}
+{- |
+Inserts an action group into the list of action groups associated
+with /@manager@/. Actions in earlier groups hide actions with the same
+name in later groups.
+
+If /@pos@/ is larger than the number of action groups in /@manager@/, or
+negative, /@actionGroup@/ will be inserted at the end of the internal
+list.
+
+/Since: 2.4/
+-}
+uIManagerInsertActionGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a, Gtk.ActionGroup.IsActionGroup b) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' object -}
+    -> b
+    {- ^ /@actionGroup@/: the action group to be inserted -}
+    -> Int32
+    {- ^ /@pos@/: the position at which the group will be inserted. -}
+    -> m ()
+uIManagerInsertActionGroup manager actionGroup pos = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    gtk_ui_manager_insert_action_group manager' actionGroup' pos
+    touchManagedPtr manager
+    touchManagedPtr actionGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data UIManagerInsertActionGroupMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsUIManager a, Gtk.ActionGroup.IsActionGroup b) => O.MethodInfo UIManagerInsertActionGroupMethodInfo a signature where
+    overloadedMethod _ = uIManagerInsertActionGroup
+
+#endif
+
+-- method UIManager::new_merge_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_new_merge_id" gtk_ui_manager_new_merge_id :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    IO Word32
+
+{-# DEPRECATED uIManagerNewMergeId ["(Since version 3.10)"] #-}
+{- |
+Returns an unused merge id, suitable for use with
+'GI.Gtk.Objects.UIManager.uIManagerAddUi'.
+
+/Since: 2.4/
+-}
+uIManagerNewMergeId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' -}
+    -> m Word32
+    {- ^ __Returns:__ an unused merge id. -}
+uIManagerNewMergeId manager = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    result <- gtk_ui_manager_new_merge_id manager'
+    touchManagedPtr manager
+    return result
+
+#if ENABLE_OVERLOADING
+data UIManagerNewMergeIdMethodInfo
+instance (signature ~ (m Word32), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerNewMergeIdMethodInfo a signature where
+    overloadedMethod _ = uIManagerNewMergeId
+
+#endif
+
+-- method UIManager::remove_action_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group to be removed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_remove_action_group" gtk_ui_manager_remove_action_group :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    Ptr Gtk.ActionGroup.ActionGroup ->      -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"})
+    IO ()
+
+{-# DEPRECATED uIManagerRemoveActionGroup ["(Since version 3.10)"] #-}
+{- |
+Removes an action group from the list of action groups associated
+with /@manager@/.
+
+/Since: 2.4/
+-}
+uIManagerRemoveActionGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a, Gtk.ActionGroup.IsActionGroup b) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' object -}
+    -> b
+    {- ^ /@actionGroup@/: the action group to be removed -}
+    -> m ()
+uIManagerRemoveActionGroup manager actionGroup = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    actionGroup' <- unsafeManagedPtrCastPtr actionGroup
+    gtk_ui_manager_remove_action_group manager' actionGroup'
+    touchManagedPtr manager
+    touchManagedPtr actionGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data UIManagerRemoveActionGroupMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsUIManager a, Gtk.ActionGroup.IsActionGroup b) => O.MethodInfo UIManagerRemoveActionGroupMethodInfo a signature where
+    overloadedMethod _ = uIManagerRemoveActionGroup
+
+#endif
+
+-- method UIManager::remove_ui
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "merge_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a merge id as returned by gtk_ui_manager_add_ui_from_string()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_remove_ui" gtk_ui_manager_remove_ui :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    Word32 ->                               -- merge_id : TBasicType TUInt
+    IO ()
+
+{-# DEPRECATED uIManagerRemoveUi ["(Since version 3.10)"] #-}
+{- |
+Unmerges the part of /@manager@/\'s content identified by /@mergeId@/.
+
+/Since: 2.4/
+-}
+uIManagerRemoveUi ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' object -}
+    -> Word32
+    {- ^ /@mergeId@/: a merge id as returned by 'GI.Gtk.Objects.UIManager.uIManagerAddUiFromString' -}
+    -> m ()
+uIManagerRemoveUi manager mergeId = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    gtk_ui_manager_remove_ui manager' mergeId
+    touchManagedPtr manager
+    return ()
+
+#if ENABLE_OVERLOADING
+data UIManagerRemoveUiMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerRemoveUiMethodInfo a signature where
+    overloadedMethod _ = uIManagerRemoveUi
+
+#endif
+
+-- method UIManager::set_add_tearoffs
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "Gtk", name = "UIManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkUIManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "add_tearoffs", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether tearoff menu items are added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_ui_manager_set_add_tearoffs" gtk_ui_manager_set_add_tearoffs :: 
+    Ptr UIManager ->                        -- manager : TInterface (Name {namespace = "Gtk", name = "UIManager"})
+    CInt ->                                 -- add_tearoffs : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED uIManagerSetAddTearoffs ["(Since version 3.4)","Tearoff menus are deprecated and should not","    be used in newly written code."] #-}
+{- |
+Sets the “add_tearoffs” property, which controls whether menus
+generated by this 'GI.Gtk.Objects.UIManager.UIManager' will have tearoff menu items.
+
+Note that this only affects regular menus. Generated popup
+menus never have tearoff menu items.
+
+/Since: 2.4/
+-}
+uIManagerSetAddTearoffs ::
+    (B.CallStack.HasCallStack, MonadIO m, IsUIManager a) =>
+    a
+    {- ^ /@manager@/: a 'GI.Gtk.Objects.UIManager.UIManager' -}
+    -> Bool
+    {- ^ /@addTearoffs@/: whether tearoff menu items are added -}
+    -> m ()
+uIManagerSetAddTearoffs manager addTearoffs = liftIO $ do
+    manager' <- unsafeManagedPtrCastPtr manager
+    let addTearoffs' = (fromIntegral . fromEnum) addTearoffs
+    gtk_ui_manager_set_add_tearoffs manager' addTearoffs'
+    touchManagedPtr manager
+    return ()
+
+#if ENABLE_OVERLOADING
+data UIManagerSetAddTearoffsMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsUIManager a) => O.MethodInfo UIManagerSetAddTearoffsMethodInfo a signature where
+    overloadedMethod _ = uIManagerSetAddTearoffs
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/UIManager.hs-boot b/GI/Gtk/Objects/UIManager.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/UIManager.hs-boot
@@ -0,0 +1,104 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.UIManager where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype UIManager = UIManager (ManagedPtr UIManager)
+instance GObject UIManager where
+class (GObject o, O.IsDescendantOf UIManager o) => IsUIManager o
+instance (GObject o, O.IsDescendantOf UIManager o) => IsUIManager o
+instance O.HasParentTypes UIManager
+#if ENABLE_OVERLOADING
+data UIManagerAddTearoffsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerUiPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerActionsChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerAddWidgetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerConnectProxySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerDisconnectProxySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerPostActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerPreActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerAddUiMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerAddUiFromFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerAddUiFromResourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerAddUiFromStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerEnsureUpdateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerGetAccelGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerGetActionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerGetActionGroupsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerGetAddTearoffsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerGetToplevelsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerGetUiMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerGetWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerInsertActionGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerNewMergeIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerRemoveActionGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerRemoveUiMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data UIManagerSetAddTearoffsMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/VBox.hs b/GI/Gtk/Objects/VBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VBox.hs
@@ -0,0 +1,503 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.VBox.VBox' is a container that organizes child widgets into a single column.
+
+Use the 'GI.Gtk.Objects.Box.Box' packing interface to determine the arrangement,
+spacing, height, and alignment of 'GI.Gtk.Objects.VBox.VBox' children.
+
+All children are allocated the same width.
+
+GtkVBox has been deprecated. You can use 'GI.Gtk.Objects.Box.Box' instead, which is a
+very quick and easy change. If you have derived your own classes from
+GtkVBox, you can simply change the inheritance to derive directly
+from 'GI.Gtk.Objects.Box.Box', and set the 'GI.Gtk.Interfaces.Orientable.Orientable':@/orientation/@ property to
+'GI.Gtk.Enums.OrientationVertical' in your instance init function, with a
+call like:
+
+=== /C code/
+>
+>  gtk_orientable_set_orientation (GTK_ORIENTABLE (object),
+>                                  GTK_ORIENTATION_VERTICAL);
+
+If you don’t need first-child or last-child styling and want your code
+to be future-proof, the recommendation is to switch to 'GI.Gtk.Objects.Grid.Grid' instead
+of nested boxes. For more information about migrating to 'GI.Gtk.Objects.Grid.Grid',
+see [Migrating from other containers to GtkGrid][gtk-migrating-GtkGrid].
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.VBox
+    ( 
+
+-- * Exported types
+    VBox(..)                                ,
+    IsVBox                                  ,
+    toVBox                                  ,
+    noVBox                                  ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    vBoxNew                                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype VBox = VBox (ManagedPtr VBox)
+foreign import ccall "gtk_vbox_get_type"
+    c_gtk_vbox_get_type :: IO GType
+
+instance GObject VBox where
+    gobjectType = c_gtk_vbox_get_type
+    
+
+-- | Type class for types which can be safely cast to `VBox`, for instance with `toVBox`.
+class (GObject o, O.IsDescendantOf VBox o) => IsVBox o
+instance (GObject o, O.IsDescendantOf VBox o) => IsVBox o
+
+instance O.HasParentTypes VBox
+type instance O.ParentTypes VBox = '[Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `VBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toVBox :: (MonadIO m, IsVBox o) => o -> m VBox
+toVBox = liftIO . unsafeCastTo VBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `VBox`.
+noVBox :: Maybe VBox
+noVBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveVBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveVBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveVBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveVBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveVBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveVBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveVBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveVBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveVBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveVBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveVBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveVBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveVBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveVBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveVBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveVBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveVBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveVBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveVBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveVBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveVBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveVBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveVBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveVBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveVBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveVBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveVBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveVBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveVBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveVBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveVBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveVBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveVBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveVBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveVBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveVBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveVBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveVBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveVBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveVBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveVBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveVBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveVBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveVBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveVBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveVBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveVBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveVBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveVBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveVBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveVBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveVBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveVBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveVBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveVBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveVBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveVBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveVBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveVBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveVBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveVBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveVBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveVBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveVBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveVBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveVBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveVBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveVBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveVBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveVBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveVBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveVBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveVBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveVBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveVBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveVBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveVBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveVBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveVBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveVBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveVBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveVBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveVBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveVBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveVBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveVBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveVBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveVBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveVBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveVBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveVBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveVBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveVBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveVBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveVBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveVBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveVBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveVBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveVBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveVBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveVBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveVBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveVBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveVBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveVBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveVBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveVBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveVBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveVBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveVBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveVBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveVBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveVBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveVBoxMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveVBoxMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveVBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveVBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveVBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveVBoxMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveVBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveVBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveVBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveVBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveVBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveVBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveVBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveVBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveVBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveVBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveVBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveVBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveVBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveVBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveVBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveVBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveVBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveVBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveVBoxMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveVBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveVBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveVBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveVBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveVBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveVBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveVBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveVBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveVBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveVBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveVBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveVBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveVBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveVBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveVBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveVBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveVBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveVBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveVBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveVBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveVBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveVBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveVBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveVBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveVBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveVBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveVBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveVBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveVBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveVBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveVBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveVBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveVBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveVBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveVBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveVBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveVBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveVBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveVBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveVBoxMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveVBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveVBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveVBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveVBoxMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveVBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveVBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveVBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveVBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveVBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveVBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveVBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveVBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveVBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveVBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveVBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveVBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveVBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveVBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveVBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveVBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveVBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveVBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveVBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveVBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveVBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveVBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveVBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveVBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveVBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveVBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveVBoxMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveVBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveVBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveVBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveVBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveVBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveVBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveVBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveVBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveVBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveVBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveVBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveVBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveVBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveVBoxMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveVBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveVBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveVBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveVBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveVBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveVBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveVBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveVBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveVBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveVBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveVBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveVBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveVBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveVBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveVBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveVBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveVBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveVBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveVBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveVBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveVBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveVBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveVBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveVBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveVBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveVBoxMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveVBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveVBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveVBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveVBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveVBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveVBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveVBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveVBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveVBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveVBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveVBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveVBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveVBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveVBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveVBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveVBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveVBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveVBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveVBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveVBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveVBoxMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveVBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveVBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveVBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveVBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveVBoxMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveVBoxMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveVBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveVBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveVBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveVBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveVBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveVBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveVBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveVBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveVBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveVBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveVBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveVBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveVBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveVBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveVBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveVBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveVBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveVBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveVBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveVBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveVBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveVBoxMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveVBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveVBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveVBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveVBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveVBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveVBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveVBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveVBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveVBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveVBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveVBoxMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveVBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveVBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveVBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveVBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveVBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveVBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveVBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveVBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveVBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveVBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveVBoxMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveVBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveVBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveVBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveVBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveVBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveVBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveVBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveVBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveVBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveVBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveVBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveVBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveVBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveVBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveVBoxMethod t VBox, O.MethodInfo info VBox p) => OL.IsLabel t (VBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList VBox
+type instance O.AttributeList VBox = VBoxAttributeList
+type VBoxAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList VBox = VBoxSignalList
+type VBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method VBox::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "homogeneous", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if all children are to be given equal space allotments.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of pixels to place by default between children.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "VBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_vbox_new" gtk_vbox_new :: 
+    CInt ->                                 -- homogeneous : TBasicType TBoolean
+    Int32 ->                                -- spacing : TBasicType TInt
+    IO (Ptr VBox)
+
+{-# DEPRECATED vBoxNew ["(Since version 3.2)","You can use 'GI.Gtk.Objects.Box.boxNew' with 'GI.Gtk.Enums.OrientationVertical' instead,","  which is a quick and easy change. But the recommendation is to switch to","  'GI.Gtk.Objects.Grid.Grid', since 'GI.Gtk.Objects.Box.Box' is going to go away eventually.","  See [Migrating from other containers to GtkGrid][gtk-migrating-GtkGrid]."] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.VBox.VBox'.
+-}
+vBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Bool
+    {- ^ /@homogeneous@/: 'True' if all children are to be given equal space allotments. -}
+    -> Int32
+    {- ^ /@spacing@/: the number of pixels to place by default between children. -}
+    -> m VBox
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.VBox.VBox'. -}
+vBoxNew homogeneous spacing = liftIO $ do
+    let homogeneous' = (fromIntegral . fromEnum) homogeneous
+    result <- gtk_vbox_new homogeneous' spacing
+    checkUnexpectedReturnNULL "vBoxNew" result
+    result' <- (newObject VBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/VBox.hs-boot b/GI/Gtk/Objects/VBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VBox.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.VBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype VBox = VBox (ManagedPtr VBox)
+instance GObject VBox where
+class (GObject o, O.IsDescendantOf VBox o) => IsVBox o
+instance (GObject o, O.IsDescendantOf VBox o) => IsVBox o
+instance O.HasParentTypes VBox
diff --git a/GI/Gtk/Objects/VButtonBox.hs b/GI/Gtk/Objects/VButtonBox.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VButtonBox.hs
@@ -0,0 +1,481 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.VButtonBox
+    ( 
+
+-- * Exported types
+    VButtonBox(..)                          ,
+    IsVButtonBox                            ,
+    toVButtonBox                            ,
+    noVButtonBox                            ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    vButtonBoxNew                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Box as Gtk.Box
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ButtonBox as Gtk.ButtonBox
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype VButtonBox = VButtonBox (ManagedPtr VButtonBox)
+foreign import ccall "gtk_vbutton_box_get_type"
+    c_gtk_vbutton_box_get_type :: IO GType
+
+instance GObject VButtonBox where
+    gobjectType = c_gtk_vbutton_box_get_type
+    
+
+-- | Type class for types which can be safely cast to `VButtonBox`, for instance with `toVButtonBox`.
+class (GObject o, O.IsDescendantOf VButtonBox o) => IsVButtonBox o
+instance (GObject o, O.IsDescendantOf VButtonBox o) => IsVButtonBox o
+
+instance O.HasParentTypes VButtonBox
+type instance O.ParentTypes VButtonBox = '[Gtk.ButtonBox.ButtonBox, Gtk.Box.Box, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `VButtonBox`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toVButtonBox :: (MonadIO m, IsVButtonBox o) => o -> m VButtonBox
+toVButtonBox = liftIO . unsafeCastTo VButtonBox
+
+-- | A convenience alias for `Nothing` :: `Maybe` `VButtonBox`.
+noVButtonBox :: Maybe VButtonBox
+noVButtonBox = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveVButtonBoxMethod (t :: Symbol) (o :: *) :: * where
+    ResolveVButtonBoxMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveVButtonBoxMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveVButtonBoxMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveVButtonBoxMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveVButtonBoxMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveVButtonBoxMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveVButtonBoxMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveVButtonBoxMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveVButtonBoxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveVButtonBoxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveVButtonBoxMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveVButtonBoxMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveVButtonBoxMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveVButtonBoxMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveVButtonBoxMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveVButtonBoxMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveVButtonBoxMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveVButtonBoxMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveVButtonBoxMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveVButtonBoxMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveVButtonBoxMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveVButtonBoxMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveVButtonBoxMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveVButtonBoxMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveVButtonBoxMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveVButtonBoxMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveVButtonBoxMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveVButtonBoxMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveVButtonBoxMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveVButtonBoxMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveVButtonBoxMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveVButtonBoxMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveVButtonBoxMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveVButtonBoxMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveVButtonBoxMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveVButtonBoxMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveVButtonBoxMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveVButtonBoxMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveVButtonBoxMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveVButtonBoxMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveVButtonBoxMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveVButtonBoxMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveVButtonBoxMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveVButtonBoxMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveVButtonBoxMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveVButtonBoxMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveVButtonBoxMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveVButtonBoxMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveVButtonBoxMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveVButtonBoxMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveVButtonBoxMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveVButtonBoxMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveVButtonBoxMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveVButtonBoxMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveVButtonBoxMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveVButtonBoxMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveVButtonBoxMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveVButtonBoxMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveVButtonBoxMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveVButtonBoxMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveVButtonBoxMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveVButtonBoxMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveVButtonBoxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveVButtonBoxMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveVButtonBoxMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveVButtonBoxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveVButtonBoxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveVButtonBoxMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveVButtonBoxMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveVButtonBoxMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveVButtonBoxMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveVButtonBoxMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveVButtonBoxMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveVButtonBoxMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveVButtonBoxMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveVButtonBoxMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveVButtonBoxMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveVButtonBoxMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveVButtonBoxMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveVButtonBoxMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveVButtonBoxMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveVButtonBoxMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveVButtonBoxMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveVButtonBoxMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveVButtonBoxMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveVButtonBoxMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveVButtonBoxMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveVButtonBoxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveVButtonBoxMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveVButtonBoxMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveVButtonBoxMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveVButtonBoxMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveVButtonBoxMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveVButtonBoxMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveVButtonBoxMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveVButtonBoxMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveVButtonBoxMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveVButtonBoxMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveVButtonBoxMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveVButtonBoxMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveVButtonBoxMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveVButtonBoxMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveVButtonBoxMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveVButtonBoxMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveVButtonBoxMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveVButtonBoxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveVButtonBoxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveVButtonBoxMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveVButtonBoxMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveVButtonBoxMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveVButtonBoxMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveVButtonBoxMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveVButtonBoxMethod "packEnd" o = Gtk.Box.BoxPackEndMethodInfo
+    ResolveVButtonBoxMethod "packStart" o = Gtk.Box.BoxPackStartMethodInfo
+    ResolveVButtonBoxMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveVButtonBoxMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveVButtonBoxMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveVButtonBoxMethod "queryChildPacking" o = Gtk.Box.BoxQueryChildPackingMethodInfo
+    ResolveVButtonBoxMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveVButtonBoxMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveVButtonBoxMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveVButtonBoxMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveVButtonBoxMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveVButtonBoxMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveVButtonBoxMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveVButtonBoxMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveVButtonBoxMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveVButtonBoxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveVButtonBoxMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveVButtonBoxMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveVButtonBoxMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveVButtonBoxMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveVButtonBoxMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveVButtonBoxMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveVButtonBoxMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveVButtonBoxMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveVButtonBoxMethod "reorderChild" o = Gtk.Box.BoxReorderChildMethodInfo
+    ResolveVButtonBoxMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveVButtonBoxMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveVButtonBoxMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveVButtonBoxMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveVButtonBoxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveVButtonBoxMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveVButtonBoxMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveVButtonBoxMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveVButtonBoxMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveVButtonBoxMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveVButtonBoxMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveVButtonBoxMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveVButtonBoxMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveVButtonBoxMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveVButtonBoxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveVButtonBoxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveVButtonBoxMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveVButtonBoxMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveVButtonBoxMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveVButtonBoxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveVButtonBoxMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveVButtonBoxMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveVButtonBoxMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveVButtonBoxMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveVButtonBoxMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveVButtonBoxMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveVButtonBoxMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveVButtonBoxMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveVButtonBoxMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveVButtonBoxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveVButtonBoxMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveVButtonBoxMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveVButtonBoxMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveVButtonBoxMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveVButtonBoxMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveVButtonBoxMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveVButtonBoxMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveVButtonBoxMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveVButtonBoxMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveVButtonBoxMethod "getBaselinePosition" o = Gtk.Box.BoxGetBaselinePositionMethodInfo
+    ResolveVButtonBoxMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveVButtonBoxMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveVButtonBoxMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveVButtonBoxMethod "getCenterWidget" o = Gtk.Box.BoxGetCenterWidgetMethodInfo
+    ResolveVButtonBoxMethod "getChildNonHomogeneous" o = Gtk.ButtonBox.ButtonBoxGetChildNonHomogeneousMethodInfo
+    ResolveVButtonBoxMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveVButtonBoxMethod "getChildSecondary" o = Gtk.ButtonBox.ButtonBoxGetChildSecondaryMethodInfo
+    ResolveVButtonBoxMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveVButtonBoxMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveVButtonBoxMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveVButtonBoxMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveVButtonBoxMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveVButtonBoxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveVButtonBoxMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveVButtonBoxMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveVButtonBoxMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveVButtonBoxMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveVButtonBoxMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveVButtonBoxMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveVButtonBoxMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveVButtonBoxMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveVButtonBoxMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveVButtonBoxMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveVButtonBoxMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveVButtonBoxMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveVButtonBoxMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveVButtonBoxMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveVButtonBoxMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveVButtonBoxMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveVButtonBoxMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveVButtonBoxMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveVButtonBoxMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveVButtonBoxMethod "getHomogeneous" o = Gtk.Box.BoxGetHomogeneousMethodInfo
+    ResolveVButtonBoxMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveVButtonBoxMethod "getLayout" o = Gtk.ButtonBox.ButtonBoxGetLayoutMethodInfo
+    ResolveVButtonBoxMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveVButtonBoxMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveVButtonBoxMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveVButtonBoxMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveVButtonBoxMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveVButtonBoxMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveVButtonBoxMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveVButtonBoxMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveVButtonBoxMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveVButtonBoxMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveVButtonBoxMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveVButtonBoxMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveVButtonBoxMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveVButtonBoxMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveVButtonBoxMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveVButtonBoxMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveVButtonBoxMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveVButtonBoxMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveVButtonBoxMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveVButtonBoxMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveVButtonBoxMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveVButtonBoxMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveVButtonBoxMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveVButtonBoxMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveVButtonBoxMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveVButtonBoxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveVButtonBoxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveVButtonBoxMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveVButtonBoxMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveVButtonBoxMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveVButtonBoxMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveVButtonBoxMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveVButtonBoxMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveVButtonBoxMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveVButtonBoxMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveVButtonBoxMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveVButtonBoxMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveVButtonBoxMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveVButtonBoxMethod "getSpacing" o = Gtk.Box.BoxGetSpacingMethodInfo
+    ResolveVButtonBoxMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveVButtonBoxMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveVButtonBoxMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveVButtonBoxMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveVButtonBoxMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveVButtonBoxMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveVButtonBoxMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveVButtonBoxMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveVButtonBoxMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveVButtonBoxMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveVButtonBoxMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveVButtonBoxMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveVButtonBoxMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveVButtonBoxMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveVButtonBoxMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveVButtonBoxMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveVButtonBoxMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveVButtonBoxMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveVButtonBoxMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveVButtonBoxMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveVButtonBoxMethod "setBaselinePosition" o = Gtk.Box.BoxSetBaselinePositionMethodInfo
+    ResolveVButtonBoxMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveVButtonBoxMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveVButtonBoxMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveVButtonBoxMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveVButtonBoxMethod "setCenterWidget" o = Gtk.Box.BoxSetCenterWidgetMethodInfo
+    ResolveVButtonBoxMethod "setChildNonHomogeneous" o = Gtk.ButtonBox.ButtonBoxSetChildNonHomogeneousMethodInfo
+    ResolveVButtonBoxMethod "setChildPacking" o = Gtk.Box.BoxSetChildPackingMethodInfo
+    ResolveVButtonBoxMethod "setChildSecondary" o = Gtk.ButtonBox.ButtonBoxSetChildSecondaryMethodInfo
+    ResolveVButtonBoxMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveVButtonBoxMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveVButtonBoxMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveVButtonBoxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveVButtonBoxMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveVButtonBoxMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveVButtonBoxMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveVButtonBoxMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveVButtonBoxMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveVButtonBoxMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveVButtonBoxMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveVButtonBoxMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveVButtonBoxMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveVButtonBoxMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveVButtonBoxMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveVButtonBoxMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveVButtonBoxMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveVButtonBoxMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveVButtonBoxMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveVButtonBoxMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveVButtonBoxMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveVButtonBoxMethod "setHomogeneous" o = Gtk.Box.BoxSetHomogeneousMethodInfo
+    ResolveVButtonBoxMethod "setLayout" o = Gtk.ButtonBox.ButtonBoxSetLayoutMethodInfo
+    ResolveVButtonBoxMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveVButtonBoxMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveVButtonBoxMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveVButtonBoxMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveVButtonBoxMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveVButtonBoxMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveVButtonBoxMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveVButtonBoxMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveVButtonBoxMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveVButtonBoxMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveVButtonBoxMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveVButtonBoxMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveVButtonBoxMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveVButtonBoxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveVButtonBoxMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveVButtonBoxMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveVButtonBoxMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveVButtonBoxMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveVButtonBoxMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveVButtonBoxMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveVButtonBoxMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveVButtonBoxMethod "setSpacing" o = Gtk.Box.BoxSetSpacingMethodInfo
+    ResolveVButtonBoxMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveVButtonBoxMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveVButtonBoxMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveVButtonBoxMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveVButtonBoxMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveVButtonBoxMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveVButtonBoxMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveVButtonBoxMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveVButtonBoxMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveVButtonBoxMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveVButtonBoxMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveVButtonBoxMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveVButtonBoxMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveVButtonBoxMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveVButtonBoxMethod t VButtonBox, O.MethodInfo info VButtonBox p) => OL.IsLabel t (VButtonBox -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList VButtonBox
+type instance O.AttributeList VButtonBox = VButtonBoxAttributeList
+type VButtonBoxAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("baselinePosition", Gtk.Box.BoxBaselinePositionPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("homogeneous", Gtk.Box.BoxHomogeneousPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("layoutStyle", Gtk.ButtonBox.ButtonBoxLayoutStylePropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("spacing", Gtk.Box.BoxSpacingPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList VButtonBox = VButtonBoxSignalList
+type VButtonBoxSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method VButtonBox::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "VButtonBox"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_vbutton_box_new" gtk_vbutton_box_new :: 
+    IO (Ptr VButtonBox)
+
+{-# DEPRECATED vButtonBoxNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.ButtonBox.buttonBoxNew' with 'GI.Gtk.Enums.OrientationVertical' instead"] #-}
+{- |
+Creates a new vertical button box.
+-}
+vButtonBoxNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m VButtonBox
+    {- ^ __Returns:__ a new button box 'GI.Gtk.Objects.Widget.Widget'. -}
+vButtonBoxNew  = liftIO $ do
+    result <- gtk_vbutton_box_new
+    checkUnexpectedReturnNULL "vButtonBoxNew" result
+    result' <- (newObject VButtonBox) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/VButtonBox.hs-boot b/GI/Gtk/Objects/VButtonBox.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VButtonBox.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.VButtonBox where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype VButtonBox = VButtonBox (ManagedPtr VButtonBox)
+instance GObject VButtonBox where
+class (GObject o, O.IsDescendantOf VButtonBox o) => IsVButtonBox o
+instance (GObject o, O.IsDescendantOf VButtonBox o) => IsVButtonBox o
+instance O.HasParentTypes VButtonBox
diff --git a/GI/Gtk/Objects/VPaned.hs b/GI/Gtk/Objects/VPaned.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VPaned.hs
@@ -0,0 +1,477 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The VPaned widget is a container widget with two
+children arranged vertically. The division between
+the two panes is adjustable by the user by dragging
+a handle. See 'GI.Gtk.Objects.Paned.Paned' for details.
+
+GtkVPaned has been deprecated, use 'GI.Gtk.Objects.Paned.Paned' instead.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.VPaned
+    ( 
+
+-- * Exported types
+    VPaned(..)                              ,
+    IsVPaned                                ,
+    toVPaned                                ,
+    noVPaned                                ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    vPanedNew                               ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Paned as Gtk.Paned
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype VPaned = VPaned (ManagedPtr VPaned)
+foreign import ccall "gtk_vpaned_get_type"
+    c_gtk_vpaned_get_type :: IO GType
+
+instance GObject VPaned where
+    gobjectType = c_gtk_vpaned_get_type
+    
+
+-- | Type class for types which can be safely cast to `VPaned`, for instance with `toVPaned`.
+class (GObject o, O.IsDescendantOf VPaned o) => IsVPaned o
+instance (GObject o, O.IsDescendantOf VPaned o) => IsVPaned o
+
+instance O.HasParentTypes VPaned
+type instance O.ParentTypes VPaned = '[Gtk.Paned.Paned, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `VPaned`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toVPaned :: (MonadIO m, IsVPaned o) => o -> m VPaned
+toVPaned = liftIO . unsafeCastTo VPaned
+
+-- | A convenience alias for `Nothing` :: `Maybe` `VPaned`.
+noVPaned :: Maybe VPaned
+noVPaned = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveVPanedMethod (t :: Symbol) (o :: *) :: * where
+    ResolveVPanedMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveVPanedMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveVPanedMethod "add1" o = Gtk.Paned.PanedAdd1MethodInfo
+    ResolveVPanedMethod "add2" o = Gtk.Paned.PanedAdd2MethodInfo
+    ResolveVPanedMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveVPanedMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveVPanedMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveVPanedMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveVPanedMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveVPanedMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveVPanedMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveVPanedMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveVPanedMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveVPanedMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveVPanedMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveVPanedMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveVPanedMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveVPanedMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveVPanedMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveVPanedMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveVPanedMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveVPanedMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveVPanedMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveVPanedMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveVPanedMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveVPanedMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveVPanedMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveVPanedMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveVPanedMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveVPanedMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveVPanedMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveVPanedMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveVPanedMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveVPanedMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveVPanedMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveVPanedMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveVPanedMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveVPanedMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveVPanedMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveVPanedMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveVPanedMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveVPanedMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveVPanedMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveVPanedMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveVPanedMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveVPanedMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveVPanedMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveVPanedMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveVPanedMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveVPanedMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveVPanedMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveVPanedMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveVPanedMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveVPanedMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveVPanedMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveVPanedMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveVPanedMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveVPanedMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveVPanedMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveVPanedMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveVPanedMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveVPanedMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveVPanedMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveVPanedMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveVPanedMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveVPanedMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveVPanedMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveVPanedMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveVPanedMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveVPanedMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveVPanedMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveVPanedMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveVPanedMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveVPanedMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveVPanedMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveVPanedMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveVPanedMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveVPanedMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveVPanedMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveVPanedMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveVPanedMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveVPanedMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveVPanedMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveVPanedMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveVPanedMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveVPanedMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveVPanedMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveVPanedMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveVPanedMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveVPanedMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveVPanedMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveVPanedMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveVPanedMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveVPanedMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveVPanedMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveVPanedMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveVPanedMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveVPanedMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveVPanedMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveVPanedMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveVPanedMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveVPanedMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveVPanedMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveVPanedMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveVPanedMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveVPanedMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveVPanedMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveVPanedMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveVPanedMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveVPanedMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveVPanedMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveVPanedMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveVPanedMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveVPanedMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveVPanedMethod "pack1" o = Gtk.Paned.PanedPack1MethodInfo
+    ResolveVPanedMethod "pack2" o = Gtk.Paned.PanedPack2MethodInfo
+    ResolveVPanedMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveVPanedMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveVPanedMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveVPanedMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveVPanedMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveVPanedMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveVPanedMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveVPanedMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveVPanedMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveVPanedMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveVPanedMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveVPanedMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveVPanedMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveVPanedMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveVPanedMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveVPanedMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveVPanedMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveVPanedMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveVPanedMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveVPanedMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveVPanedMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveVPanedMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveVPanedMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveVPanedMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveVPanedMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveVPanedMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveVPanedMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveVPanedMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveVPanedMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveVPanedMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveVPanedMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveVPanedMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveVPanedMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveVPanedMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveVPanedMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveVPanedMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveVPanedMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveVPanedMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveVPanedMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveVPanedMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveVPanedMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveVPanedMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveVPanedMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveVPanedMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveVPanedMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveVPanedMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveVPanedMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveVPanedMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveVPanedMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveVPanedMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveVPanedMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveVPanedMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveVPanedMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveVPanedMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveVPanedMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveVPanedMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveVPanedMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveVPanedMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveVPanedMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveVPanedMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveVPanedMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveVPanedMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveVPanedMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveVPanedMethod "getChild1" o = Gtk.Paned.PanedGetChild1MethodInfo
+    ResolveVPanedMethod "getChild2" o = Gtk.Paned.PanedGetChild2MethodInfo
+    ResolveVPanedMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveVPanedMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveVPanedMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveVPanedMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveVPanedMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveVPanedMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveVPanedMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveVPanedMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveVPanedMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveVPanedMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveVPanedMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveVPanedMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveVPanedMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveVPanedMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveVPanedMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveVPanedMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveVPanedMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveVPanedMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveVPanedMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveVPanedMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveVPanedMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveVPanedMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveVPanedMethod "getHandleWindow" o = Gtk.Paned.PanedGetHandleWindowMethodInfo
+    ResolveVPanedMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveVPanedMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveVPanedMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveVPanedMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveVPanedMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveVPanedMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveVPanedMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveVPanedMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveVPanedMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveVPanedMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveVPanedMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveVPanedMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveVPanedMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveVPanedMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveVPanedMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveVPanedMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveVPanedMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveVPanedMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveVPanedMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveVPanedMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveVPanedMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveVPanedMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveVPanedMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveVPanedMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveVPanedMethod "getPosition" o = Gtk.Paned.PanedGetPositionMethodInfo
+    ResolveVPanedMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveVPanedMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveVPanedMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveVPanedMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveVPanedMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveVPanedMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveVPanedMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveVPanedMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveVPanedMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveVPanedMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveVPanedMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveVPanedMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveVPanedMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveVPanedMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveVPanedMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveVPanedMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveVPanedMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveVPanedMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveVPanedMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveVPanedMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveVPanedMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveVPanedMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveVPanedMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveVPanedMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveVPanedMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveVPanedMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveVPanedMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveVPanedMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveVPanedMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveVPanedMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveVPanedMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveVPanedMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveVPanedMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveVPanedMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveVPanedMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveVPanedMethod "getWideHandle" o = Gtk.Paned.PanedGetWideHandleMethodInfo
+    ResolveVPanedMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveVPanedMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveVPanedMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveVPanedMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveVPanedMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveVPanedMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveVPanedMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveVPanedMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveVPanedMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveVPanedMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveVPanedMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveVPanedMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveVPanedMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveVPanedMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveVPanedMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveVPanedMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveVPanedMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveVPanedMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveVPanedMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveVPanedMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveVPanedMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveVPanedMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveVPanedMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveVPanedMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveVPanedMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveVPanedMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveVPanedMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveVPanedMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveVPanedMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveVPanedMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveVPanedMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveVPanedMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveVPanedMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveVPanedMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveVPanedMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveVPanedMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveVPanedMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveVPanedMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveVPanedMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveVPanedMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveVPanedMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveVPanedMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveVPanedMethod "setPosition" o = Gtk.Paned.PanedSetPositionMethodInfo
+    ResolveVPanedMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveVPanedMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveVPanedMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveVPanedMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveVPanedMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveVPanedMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveVPanedMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveVPanedMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveVPanedMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveVPanedMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveVPanedMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveVPanedMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveVPanedMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveVPanedMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveVPanedMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveVPanedMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveVPanedMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveVPanedMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveVPanedMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveVPanedMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveVPanedMethod "setWideHandle" o = Gtk.Paned.PanedSetWideHandleMethodInfo
+    ResolveVPanedMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveVPanedMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveVPanedMethod t VPaned, O.MethodInfo info VPaned p) => OL.IsLabel t (VPaned -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList VPaned
+type instance O.AttributeList VPaned = VPanedAttributeList
+type VPanedAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("maxPosition", Gtk.Paned.PanedMaxPositionPropertyInfo), '("minPosition", Gtk.Paned.PanedMinPositionPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("position", Gtk.Paned.PanedPositionPropertyInfo), '("positionSet", Gtk.Paned.PanedPositionSetPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("wideHandle", Gtk.Paned.PanedWideHandlePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList VPaned = VPanedSignalList
+type VPanedSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("acceptPosition", Gtk.Paned.PanedAcceptPositionSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("cancelPosition", Gtk.Paned.PanedCancelPositionSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("cycleChildFocus", Gtk.Paned.PanedCycleChildFocusSignalInfo), '("cycleHandleFocus", Gtk.Paned.PanedCycleHandleFocusSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveHandle", Gtk.Paned.PanedMoveHandleSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleHandleFocus", Gtk.Paned.PanedToggleHandleFocusSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method VPaned::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "VPaned"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_vpaned_new" gtk_vpaned_new :: 
+    IO (Ptr VPaned)
+
+{-# DEPRECATED vPanedNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.Paned.panedNew' with 'GI.Gtk.Enums.OrientationVertical' instead"] #-}
+{- |
+Create a new 'GI.Gtk.Objects.VPaned.VPaned'
+-}
+vPanedNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m VPaned
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.VPaned.VPaned' -}
+vPanedNew  = liftIO $ do
+    result <- gtk_vpaned_new
+    checkUnexpectedReturnNULL "vPanedNew" result
+    result' <- (newObject VPaned) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/VPaned.hs-boot b/GI/Gtk/Objects/VPaned.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VPaned.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.VPaned where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype VPaned = VPaned (ManagedPtr VPaned)
+instance GObject VPaned where
+class (GObject o, O.IsDescendantOf VPaned o) => IsVPaned o
+instance (GObject o, O.IsDescendantOf VPaned o) => IsVPaned o
+instance O.HasParentTypes VPaned
diff --git a/GI/Gtk/Objects/VScale.hs b/GI/Gtk/Objects/VScale.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VScale.hs
@@ -0,0 +1,538 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.VScale.VScale' widget is used to allow the user to select a value using
+a vertical slider. To create one, use 'GI.Gtk.Objects.HScale.hScaleNewWithRange'.
+
+The position to show the current value, and the number of decimal places
+shown can be set using the parent 'GI.Gtk.Objects.Scale.Scale' class’s functions.
+
+GtkVScale has been deprecated, use 'GI.Gtk.Objects.Scale.Scale' instead.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.VScale
+    ( 
+
+-- * Exported types
+    VScale(..)                              ,
+    IsVScale                                ,
+    toVScale                                ,
+    noVScale                                ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    vScaleNew                               ,
+
+
+-- ** newWithRange #method:newWithRange#
+
+    vScaleNewWithRange                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Range as Gtk.Range
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Scale as Gtk.Scale
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype VScale = VScale (ManagedPtr VScale)
+foreign import ccall "gtk_vscale_get_type"
+    c_gtk_vscale_get_type :: IO GType
+
+instance GObject VScale where
+    gobjectType = c_gtk_vscale_get_type
+    
+
+-- | Type class for types which can be safely cast to `VScale`, for instance with `toVScale`.
+class (GObject o, O.IsDescendantOf VScale o) => IsVScale o
+instance (GObject o, O.IsDescendantOf VScale o) => IsVScale o
+
+instance O.HasParentTypes VScale
+type instance O.ParentTypes VScale = '[Gtk.Scale.Scale, Gtk.Range.Range, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `VScale`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toVScale :: (MonadIO m, IsVScale o) => o -> m VScale
+toVScale = liftIO . unsafeCastTo VScale
+
+-- | A convenience alias for `Nothing` :: `Maybe` `VScale`.
+noVScale :: Maybe VScale
+noVScale = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveVScaleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveVScaleMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveVScaleMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveVScaleMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveVScaleMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveVScaleMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveVScaleMethod "addMark" o = Gtk.Scale.ScaleAddMarkMethodInfo
+    ResolveVScaleMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveVScaleMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveVScaleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveVScaleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveVScaleMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveVScaleMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveVScaleMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveVScaleMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveVScaleMethod "clearMarks" o = Gtk.Scale.ScaleClearMarksMethodInfo
+    ResolveVScaleMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveVScaleMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveVScaleMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveVScaleMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveVScaleMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveVScaleMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveVScaleMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveVScaleMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveVScaleMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveVScaleMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveVScaleMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveVScaleMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveVScaleMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveVScaleMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveVScaleMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveVScaleMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveVScaleMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveVScaleMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveVScaleMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveVScaleMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveVScaleMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveVScaleMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveVScaleMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveVScaleMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveVScaleMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveVScaleMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveVScaleMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveVScaleMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveVScaleMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveVScaleMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveVScaleMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveVScaleMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveVScaleMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveVScaleMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveVScaleMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveVScaleMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveVScaleMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveVScaleMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveVScaleMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveVScaleMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveVScaleMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveVScaleMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveVScaleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveVScaleMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveVScaleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveVScaleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveVScaleMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveVScaleMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveVScaleMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveVScaleMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveVScaleMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveVScaleMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveVScaleMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveVScaleMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveVScaleMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveVScaleMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveVScaleMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveVScaleMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveVScaleMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveVScaleMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveVScaleMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveVScaleMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveVScaleMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveVScaleMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveVScaleMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveVScaleMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveVScaleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveVScaleMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveVScaleMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveVScaleMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveVScaleMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveVScaleMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveVScaleMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveVScaleMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveVScaleMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveVScaleMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveVScaleMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveVScaleMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveVScaleMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveVScaleMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveVScaleMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveVScaleMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveVScaleMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveVScaleMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveVScaleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveVScaleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveVScaleMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveVScaleMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveVScaleMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveVScaleMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveVScaleMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveVScaleMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveVScaleMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveVScaleMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveVScaleMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveVScaleMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveVScaleMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveVScaleMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveVScaleMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveVScaleMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveVScaleMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveVScaleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveVScaleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveVScaleMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveVScaleMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveVScaleMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveVScaleMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveVScaleMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveVScaleMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveVScaleMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveVScaleMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveVScaleMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveVScaleMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveVScaleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveVScaleMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveVScaleMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveVScaleMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveVScaleMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveVScaleMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveVScaleMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveVScaleMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveVScaleMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveVScaleMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveVScaleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveVScaleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveVScaleMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveVScaleMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveVScaleMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveVScaleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveVScaleMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveVScaleMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveVScaleMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveVScaleMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveVScaleMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveVScaleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveVScaleMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveVScaleMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveVScaleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveVScaleMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveVScaleMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveVScaleMethod "getAdjustment" o = Gtk.Range.RangeGetAdjustmentMethodInfo
+    ResolveVScaleMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveVScaleMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveVScaleMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveVScaleMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveVScaleMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveVScaleMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveVScaleMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveVScaleMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveVScaleMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveVScaleMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveVScaleMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveVScaleMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveVScaleMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveVScaleMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveVScaleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveVScaleMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveVScaleMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveVScaleMethod "getDigits" o = Gtk.Scale.ScaleGetDigitsMethodInfo
+    ResolveVScaleMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveVScaleMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveVScaleMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveVScaleMethod "getDrawValue" o = Gtk.Scale.ScaleGetDrawValueMethodInfo
+    ResolveVScaleMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveVScaleMethod "getFillLevel" o = Gtk.Range.RangeGetFillLevelMethodInfo
+    ResolveVScaleMethod "getFlippable" o = Gtk.Range.RangeGetFlippableMethodInfo
+    ResolveVScaleMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveVScaleMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveVScaleMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveVScaleMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveVScaleMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveVScaleMethod "getHasOrigin" o = Gtk.Scale.ScaleGetHasOriginMethodInfo
+    ResolveVScaleMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveVScaleMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveVScaleMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveVScaleMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveVScaleMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveVScaleMethod "getInverted" o = Gtk.Range.RangeGetInvertedMethodInfo
+    ResolveVScaleMethod "getLayout" o = Gtk.Scale.ScaleGetLayoutMethodInfo
+    ResolveVScaleMethod "getLayoutOffsets" o = Gtk.Scale.ScaleGetLayoutOffsetsMethodInfo
+    ResolveVScaleMethod "getLowerStepperSensitivity" o = Gtk.Range.RangeGetLowerStepperSensitivityMethodInfo
+    ResolveVScaleMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveVScaleMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveVScaleMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveVScaleMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveVScaleMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveVScaleMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveVScaleMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveVScaleMethod "getMinSliderSize" o = Gtk.Range.RangeGetMinSliderSizeMethodInfo
+    ResolveVScaleMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveVScaleMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveVScaleMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveVScaleMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveVScaleMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveVScaleMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveVScaleMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveVScaleMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveVScaleMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveVScaleMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveVScaleMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveVScaleMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveVScaleMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveVScaleMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveVScaleMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveVScaleMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveVScaleMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveVScaleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveVScaleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveVScaleMethod "getRangeRect" o = Gtk.Range.RangeGetRangeRectMethodInfo
+    ResolveVScaleMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveVScaleMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveVScaleMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveVScaleMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveVScaleMethod "getRestrictToFillLevel" o = Gtk.Range.RangeGetRestrictToFillLevelMethodInfo
+    ResolveVScaleMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveVScaleMethod "getRoundDigits" o = Gtk.Range.RangeGetRoundDigitsMethodInfo
+    ResolveVScaleMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveVScaleMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveVScaleMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveVScaleMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveVScaleMethod "getShowFillLevel" o = Gtk.Range.RangeGetShowFillLevelMethodInfo
+    ResolveVScaleMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveVScaleMethod "getSliderRange" o = Gtk.Range.RangeGetSliderRangeMethodInfo
+    ResolveVScaleMethod "getSliderSizeFixed" o = Gtk.Range.RangeGetSliderSizeFixedMethodInfo
+    ResolveVScaleMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveVScaleMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveVScaleMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveVScaleMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveVScaleMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveVScaleMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveVScaleMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveVScaleMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveVScaleMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveVScaleMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveVScaleMethod "getUpperStepperSensitivity" o = Gtk.Range.RangeGetUpperStepperSensitivityMethodInfo
+    ResolveVScaleMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveVScaleMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveVScaleMethod "getValue" o = Gtk.Range.RangeGetValueMethodInfo
+    ResolveVScaleMethod "getValuePos" o = Gtk.Scale.ScaleGetValuePosMethodInfo
+    ResolveVScaleMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveVScaleMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveVScaleMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveVScaleMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveVScaleMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveVScaleMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveVScaleMethod "setAdjustment" o = Gtk.Range.RangeSetAdjustmentMethodInfo
+    ResolveVScaleMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveVScaleMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveVScaleMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveVScaleMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveVScaleMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveVScaleMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveVScaleMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveVScaleMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveVScaleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveVScaleMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveVScaleMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveVScaleMethod "setDigits" o = Gtk.Scale.ScaleSetDigitsMethodInfo
+    ResolveVScaleMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveVScaleMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveVScaleMethod "setDrawValue" o = Gtk.Scale.ScaleSetDrawValueMethodInfo
+    ResolveVScaleMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveVScaleMethod "setFillLevel" o = Gtk.Range.RangeSetFillLevelMethodInfo
+    ResolveVScaleMethod "setFlippable" o = Gtk.Range.RangeSetFlippableMethodInfo
+    ResolveVScaleMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveVScaleMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveVScaleMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveVScaleMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveVScaleMethod "setHasOrigin" o = Gtk.Scale.ScaleSetHasOriginMethodInfo
+    ResolveVScaleMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveVScaleMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveVScaleMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveVScaleMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveVScaleMethod "setIncrements" o = Gtk.Range.RangeSetIncrementsMethodInfo
+    ResolveVScaleMethod "setInverted" o = Gtk.Range.RangeSetInvertedMethodInfo
+    ResolveVScaleMethod "setLowerStepperSensitivity" o = Gtk.Range.RangeSetLowerStepperSensitivityMethodInfo
+    ResolveVScaleMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveVScaleMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveVScaleMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveVScaleMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveVScaleMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveVScaleMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveVScaleMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveVScaleMethod "setMinSliderSize" o = Gtk.Range.RangeSetMinSliderSizeMethodInfo
+    ResolveVScaleMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveVScaleMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveVScaleMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveVScaleMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveVScaleMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveVScaleMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveVScaleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveVScaleMethod "setRange" o = Gtk.Range.RangeSetRangeMethodInfo
+    ResolveVScaleMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveVScaleMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveVScaleMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveVScaleMethod "setRestrictToFillLevel" o = Gtk.Range.RangeSetRestrictToFillLevelMethodInfo
+    ResolveVScaleMethod "setRoundDigits" o = Gtk.Range.RangeSetRoundDigitsMethodInfo
+    ResolveVScaleMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveVScaleMethod "setShowFillLevel" o = Gtk.Range.RangeSetShowFillLevelMethodInfo
+    ResolveVScaleMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveVScaleMethod "setSliderSizeFixed" o = Gtk.Range.RangeSetSliderSizeFixedMethodInfo
+    ResolveVScaleMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveVScaleMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveVScaleMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveVScaleMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveVScaleMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveVScaleMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveVScaleMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveVScaleMethod "setUpperStepperSensitivity" o = Gtk.Range.RangeSetUpperStepperSensitivityMethodInfo
+    ResolveVScaleMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveVScaleMethod "setValue" o = Gtk.Range.RangeSetValueMethodInfo
+    ResolveVScaleMethod "setValuePos" o = Gtk.Scale.ScaleSetValuePosMethodInfo
+    ResolveVScaleMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveVScaleMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveVScaleMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveVScaleMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveVScaleMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveVScaleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveVScaleMethod t VScale, O.MethodInfo info VScale p) => OL.IsLabel t (VScale -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList VScale
+type instance O.AttributeList VScale = VScaleAttributeList
+type VScaleAttributeList = ('[ '("adjustment", Gtk.Range.RangeAdjustmentPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("digits", Gtk.Scale.ScaleDigitsPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawValue", Gtk.Scale.ScaleDrawValuePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("fillLevel", Gtk.Range.RangeFillLevelPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasOrigin", Gtk.Scale.ScaleHasOriginPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inverted", Gtk.Range.RangeInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("lowerStepperSensitivity", Gtk.Range.RangeLowerStepperSensitivityPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("restrictToFillLevel", Gtk.Range.RangeRestrictToFillLevelPropertyInfo), '("roundDigits", Gtk.Range.RangeRoundDigitsPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showFillLevel", Gtk.Range.RangeShowFillLevelPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("upperStepperSensitivity", Gtk.Range.RangeUpperStepperSensitivityPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("valuePos", Gtk.Scale.ScaleValuePosPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList VScale = VScaleSignalList
+type VScaleSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("adjustBounds", Gtk.Range.RangeAdjustBoundsSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeValue", Gtk.Range.RangeChangeValueSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("formatValue", Gtk.Scale.ScaleFormatValueSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveSlider", Gtk.Range.RangeMoveSliderSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", Gtk.Range.RangeValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method VScale::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkAdjustment which sets the range of the scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "VScale"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_vscale_new" gtk_vscale_new :: 
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO (Ptr VScale)
+
+{-# DEPRECATED vScaleNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.Scale.scaleNew' with 'GI.Gtk.Enums.OrientationVertical' instead"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.VScale.VScale'.
+-}
+vScaleNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a) =>
+    a
+    {- ^ /@adjustment@/: the 'GI.Gtk.Objects.Adjustment.Adjustment' which sets the range of the scale. -}
+    -> m VScale
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.VScale.VScale'. -}
+vScaleNew adjustment = liftIO $ do
+    adjustment' <- unsafeManagedPtrCastPtr adjustment
+    result <- gtk_vscale_new adjustment'
+    checkUnexpectedReturnNULL "vScaleNew" result
+    result' <- (newObject VScale) result
+    touchManagedPtr adjustment
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method VScale::new_with_range
+-- method type : Constructor
+-- Args : [Arg {argCName = "min", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "step increment (tick size) used with keyboard shortcuts", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "VScale"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_vscale_new_with_range" gtk_vscale_new_with_range :: 
+    CDouble ->                              -- min : TBasicType TDouble
+    CDouble ->                              -- max : TBasicType TDouble
+    CDouble ->                              -- step : TBasicType TDouble
+    IO (Ptr VScale)
+
+{-# DEPRECATED vScaleNewWithRange ["(Since version 3.2)","Use 'GI.Gtk.Objects.Scale.scaleNewWithRange' with 'GI.Gtk.Enums.OrientationVertical' instead"] #-}
+{- |
+Creates a new vertical scale widget that lets the user input a
+number between /@min@/ and /@max@/ (including /@min@/ and /@max@/) with the
+increment /@step@/.  /@step@/ must be nonzero; it’s the distance the
+slider moves when using the arrow keys to adjust the scale value.
+
+Note that the way in which the precision is derived works best if /@step@/
+is a power of ten. If the resulting precision is not suitable for your
+needs, use 'GI.Gtk.Objects.Scale.scaleSetDigits' to correct it.
+-}
+vScaleNewWithRange ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Double
+    {- ^ /@min@/: minimum value -}
+    -> Double
+    {- ^ /@max@/: maximum value -}
+    -> Double
+    {- ^ /@step@/: step increment (tick size) used with keyboard shortcuts -}
+    -> m VScale
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.VScale.VScale' -}
+vScaleNewWithRange min max step = liftIO $ do
+    let min' = realToFrac min
+    let max' = realToFrac max
+    let step' = realToFrac step
+    result <- gtk_vscale_new_with_range min' max' step'
+    checkUnexpectedReturnNULL "vScaleNewWithRange" result
+    result' <- (newObject VScale) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/VScale.hs-boot b/GI/Gtk/Objects/VScale.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VScale.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.VScale where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype VScale = VScale (ManagedPtr VScale)
+instance GObject VScale where
+class (GObject o, O.IsDescendantOf VScale o) => IsVScale o
+instance (GObject o, O.IsDescendantOf VScale o) => IsVScale o
+instance O.HasParentTypes VScale
diff --git a/GI/Gtk/Objects/VScrollbar.hs b/GI/Gtk/Objects/VScrollbar.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VScrollbar.hs
@@ -0,0 +1,479 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.VScrollbar.VScrollbar' widget is a widget arranged vertically creating a
+scrollbar. See 'GI.Gtk.Objects.Scrollbar.Scrollbar' for details on
+scrollbars. 'GI.Gtk.Objects.Adjustment.Adjustment' pointers may be added to handle the
+adjustment of the scrollbar or it may be left 'Nothing' in which case one
+will be created for you. See 'GI.Gtk.Objects.Scrollbar.Scrollbar' for a description of what the
+fields in an adjustment represent for a scrollbar.
+
+GtkVScrollbar has been deprecated, use 'GI.Gtk.Objects.Scrollbar.Scrollbar' instead.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.VScrollbar
+    ( 
+
+-- * Exported types
+    VScrollbar(..)                          ,
+    IsVScrollbar                            ,
+    toVScrollbar                            ,
+    noVScrollbar                            ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    vScrollbarNew                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Range as Gtk.Range
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Scrollbar as Gtk.Scrollbar
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype VScrollbar = VScrollbar (ManagedPtr VScrollbar)
+foreign import ccall "gtk_vscrollbar_get_type"
+    c_gtk_vscrollbar_get_type :: IO GType
+
+instance GObject VScrollbar where
+    gobjectType = c_gtk_vscrollbar_get_type
+    
+
+-- | Type class for types which can be safely cast to `VScrollbar`, for instance with `toVScrollbar`.
+class (GObject o, O.IsDescendantOf VScrollbar o) => IsVScrollbar o
+instance (GObject o, O.IsDescendantOf VScrollbar o) => IsVScrollbar o
+
+instance O.HasParentTypes VScrollbar
+type instance O.ParentTypes VScrollbar = '[Gtk.Scrollbar.Scrollbar, Gtk.Range.Range, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `VScrollbar`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toVScrollbar :: (MonadIO m, IsVScrollbar o) => o -> m VScrollbar
+toVScrollbar = liftIO . unsafeCastTo VScrollbar
+
+-- | A convenience alias for `Nothing` :: `Maybe` `VScrollbar`.
+noVScrollbar :: Maybe VScrollbar
+noVScrollbar = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveVScrollbarMethod (t :: Symbol) (o :: *) :: * where
+    ResolveVScrollbarMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveVScrollbarMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveVScrollbarMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveVScrollbarMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveVScrollbarMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveVScrollbarMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveVScrollbarMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveVScrollbarMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveVScrollbarMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveVScrollbarMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveVScrollbarMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveVScrollbarMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveVScrollbarMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveVScrollbarMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveVScrollbarMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveVScrollbarMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveVScrollbarMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveVScrollbarMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveVScrollbarMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveVScrollbarMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveVScrollbarMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveVScrollbarMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveVScrollbarMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveVScrollbarMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveVScrollbarMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveVScrollbarMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveVScrollbarMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveVScrollbarMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveVScrollbarMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveVScrollbarMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveVScrollbarMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveVScrollbarMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveVScrollbarMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveVScrollbarMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveVScrollbarMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveVScrollbarMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveVScrollbarMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveVScrollbarMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveVScrollbarMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveVScrollbarMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveVScrollbarMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveVScrollbarMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveVScrollbarMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveVScrollbarMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveVScrollbarMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveVScrollbarMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveVScrollbarMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveVScrollbarMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveVScrollbarMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveVScrollbarMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveVScrollbarMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveVScrollbarMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveVScrollbarMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveVScrollbarMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveVScrollbarMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveVScrollbarMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveVScrollbarMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveVScrollbarMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveVScrollbarMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveVScrollbarMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveVScrollbarMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveVScrollbarMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveVScrollbarMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveVScrollbarMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveVScrollbarMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveVScrollbarMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveVScrollbarMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveVScrollbarMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveVScrollbarMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveVScrollbarMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveVScrollbarMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveVScrollbarMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveVScrollbarMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveVScrollbarMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveVScrollbarMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveVScrollbarMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveVScrollbarMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveVScrollbarMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveVScrollbarMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveVScrollbarMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveVScrollbarMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveVScrollbarMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveVScrollbarMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveVScrollbarMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveVScrollbarMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveVScrollbarMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveVScrollbarMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveVScrollbarMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveVScrollbarMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveVScrollbarMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveVScrollbarMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveVScrollbarMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveVScrollbarMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveVScrollbarMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveVScrollbarMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveVScrollbarMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveVScrollbarMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveVScrollbarMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveVScrollbarMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveVScrollbarMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveVScrollbarMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveVScrollbarMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveVScrollbarMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveVScrollbarMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveVScrollbarMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveVScrollbarMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveVScrollbarMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveVScrollbarMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveVScrollbarMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveVScrollbarMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveVScrollbarMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveVScrollbarMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveVScrollbarMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveVScrollbarMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveVScrollbarMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveVScrollbarMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveVScrollbarMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveVScrollbarMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveVScrollbarMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveVScrollbarMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveVScrollbarMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveVScrollbarMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveVScrollbarMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveVScrollbarMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveVScrollbarMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveVScrollbarMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveVScrollbarMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveVScrollbarMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveVScrollbarMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveVScrollbarMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveVScrollbarMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveVScrollbarMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveVScrollbarMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveVScrollbarMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveVScrollbarMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveVScrollbarMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveVScrollbarMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveVScrollbarMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveVScrollbarMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveVScrollbarMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveVScrollbarMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveVScrollbarMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveVScrollbarMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveVScrollbarMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveVScrollbarMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveVScrollbarMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveVScrollbarMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveVScrollbarMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveVScrollbarMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveVScrollbarMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveVScrollbarMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveVScrollbarMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveVScrollbarMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveVScrollbarMethod "getAdjustment" o = Gtk.Range.RangeGetAdjustmentMethodInfo
+    ResolveVScrollbarMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveVScrollbarMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveVScrollbarMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveVScrollbarMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveVScrollbarMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveVScrollbarMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveVScrollbarMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveVScrollbarMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveVScrollbarMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveVScrollbarMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveVScrollbarMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveVScrollbarMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveVScrollbarMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveVScrollbarMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveVScrollbarMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveVScrollbarMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveVScrollbarMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveVScrollbarMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveVScrollbarMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveVScrollbarMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveVScrollbarMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveVScrollbarMethod "getFillLevel" o = Gtk.Range.RangeGetFillLevelMethodInfo
+    ResolveVScrollbarMethod "getFlippable" o = Gtk.Range.RangeGetFlippableMethodInfo
+    ResolveVScrollbarMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveVScrollbarMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveVScrollbarMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveVScrollbarMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveVScrollbarMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveVScrollbarMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveVScrollbarMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveVScrollbarMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveVScrollbarMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveVScrollbarMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveVScrollbarMethod "getInverted" o = Gtk.Range.RangeGetInvertedMethodInfo
+    ResolveVScrollbarMethod "getLowerStepperSensitivity" o = Gtk.Range.RangeGetLowerStepperSensitivityMethodInfo
+    ResolveVScrollbarMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveVScrollbarMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveVScrollbarMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveVScrollbarMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveVScrollbarMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveVScrollbarMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveVScrollbarMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveVScrollbarMethod "getMinSliderSize" o = Gtk.Range.RangeGetMinSliderSizeMethodInfo
+    ResolveVScrollbarMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveVScrollbarMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveVScrollbarMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveVScrollbarMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveVScrollbarMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveVScrollbarMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveVScrollbarMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveVScrollbarMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveVScrollbarMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveVScrollbarMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveVScrollbarMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveVScrollbarMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveVScrollbarMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveVScrollbarMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveVScrollbarMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveVScrollbarMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveVScrollbarMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveVScrollbarMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveVScrollbarMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveVScrollbarMethod "getRangeRect" o = Gtk.Range.RangeGetRangeRectMethodInfo
+    ResolveVScrollbarMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveVScrollbarMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveVScrollbarMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveVScrollbarMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveVScrollbarMethod "getRestrictToFillLevel" o = Gtk.Range.RangeGetRestrictToFillLevelMethodInfo
+    ResolveVScrollbarMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveVScrollbarMethod "getRoundDigits" o = Gtk.Range.RangeGetRoundDigitsMethodInfo
+    ResolveVScrollbarMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveVScrollbarMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveVScrollbarMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveVScrollbarMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveVScrollbarMethod "getShowFillLevel" o = Gtk.Range.RangeGetShowFillLevelMethodInfo
+    ResolveVScrollbarMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveVScrollbarMethod "getSliderRange" o = Gtk.Range.RangeGetSliderRangeMethodInfo
+    ResolveVScrollbarMethod "getSliderSizeFixed" o = Gtk.Range.RangeGetSliderSizeFixedMethodInfo
+    ResolveVScrollbarMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveVScrollbarMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveVScrollbarMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveVScrollbarMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveVScrollbarMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveVScrollbarMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveVScrollbarMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveVScrollbarMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveVScrollbarMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveVScrollbarMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveVScrollbarMethod "getUpperStepperSensitivity" o = Gtk.Range.RangeGetUpperStepperSensitivityMethodInfo
+    ResolveVScrollbarMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveVScrollbarMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveVScrollbarMethod "getValue" o = Gtk.Range.RangeGetValueMethodInfo
+    ResolveVScrollbarMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveVScrollbarMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveVScrollbarMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveVScrollbarMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveVScrollbarMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveVScrollbarMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveVScrollbarMethod "setAdjustment" o = Gtk.Range.RangeSetAdjustmentMethodInfo
+    ResolveVScrollbarMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveVScrollbarMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveVScrollbarMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveVScrollbarMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveVScrollbarMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveVScrollbarMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveVScrollbarMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveVScrollbarMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveVScrollbarMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveVScrollbarMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveVScrollbarMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveVScrollbarMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveVScrollbarMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveVScrollbarMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveVScrollbarMethod "setFillLevel" o = Gtk.Range.RangeSetFillLevelMethodInfo
+    ResolveVScrollbarMethod "setFlippable" o = Gtk.Range.RangeSetFlippableMethodInfo
+    ResolveVScrollbarMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveVScrollbarMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveVScrollbarMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveVScrollbarMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveVScrollbarMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveVScrollbarMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveVScrollbarMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveVScrollbarMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveVScrollbarMethod "setIncrements" o = Gtk.Range.RangeSetIncrementsMethodInfo
+    ResolveVScrollbarMethod "setInverted" o = Gtk.Range.RangeSetInvertedMethodInfo
+    ResolveVScrollbarMethod "setLowerStepperSensitivity" o = Gtk.Range.RangeSetLowerStepperSensitivityMethodInfo
+    ResolveVScrollbarMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveVScrollbarMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveVScrollbarMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveVScrollbarMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveVScrollbarMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveVScrollbarMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveVScrollbarMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveVScrollbarMethod "setMinSliderSize" o = Gtk.Range.RangeSetMinSliderSizeMethodInfo
+    ResolveVScrollbarMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveVScrollbarMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveVScrollbarMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveVScrollbarMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveVScrollbarMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveVScrollbarMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveVScrollbarMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveVScrollbarMethod "setRange" o = Gtk.Range.RangeSetRangeMethodInfo
+    ResolveVScrollbarMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveVScrollbarMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveVScrollbarMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveVScrollbarMethod "setRestrictToFillLevel" o = Gtk.Range.RangeSetRestrictToFillLevelMethodInfo
+    ResolveVScrollbarMethod "setRoundDigits" o = Gtk.Range.RangeSetRoundDigitsMethodInfo
+    ResolveVScrollbarMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveVScrollbarMethod "setShowFillLevel" o = Gtk.Range.RangeSetShowFillLevelMethodInfo
+    ResolveVScrollbarMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveVScrollbarMethod "setSliderSizeFixed" o = Gtk.Range.RangeSetSliderSizeFixedMethodInfo
+    ResolveVScrollbarMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveVScrollbarMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveVScrollbarMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveVScrollbarMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveVScrollbarMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveVScrollbarMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveVScrollbarMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveVScrollbarMethod "setUpperStepperSensitivity" o = Gtk.Range.RangeSetUpperStepperSensitivityMethodInfo
+    ResolveVScrollbarMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveVScrollbarMethod "setValue" o = Gtk.Range.RangeSetValueMethodInfo
+    ResolveVScrollbarMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveVScrollbarMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveVScrollbarMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveVScrollbarMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveVScrollbarMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveVScrollbarMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveVScrollbarMethod t VScrollbar, O.MethodInfo info VScrollbar p) => OL.IsLabel t (VScrollbar -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList VScrollbar
+type instance O.AttributeList VScrollbar = VScrollbarAttributeList
+type VScrollbarAttributeList = ('[ '("adjustment", Gtk.Range.RangeAdjustmentPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("fillLevel", Gtk.Range.RangeFillLevelPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("inverted", Gtk.Range.RangeInvertedPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("lowerStepperSensitivity", Gtk.Range.RangeLowerStepperSensitivityPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("restrictToFillLevel", Gtk.Range.RangeRestrictToFillLevelPropertyInfo), '("roundDigits", Gtk.Range.RangeRoundDigitsPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showFillLevel", Gtk.Range.RangeShowFillLevelPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("upperStepperSensitivity", Gtk.Range.RangeUpperStepperSensitivityPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList VScrollbar = VScrollbarSignalList
+type VScrollbarSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("adjustBounds", Gtk.Range.RangeAdjustBoundsSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeValue", Gtk.Range.RangeChangeValueSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveSlider", Gtk.Range.RangeMoveSliderSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", Gtk.Range.RangeValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method VScrollbar::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkAdjustment to use, or %NULL to create a new adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "VScrollbar"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_vscrollbar_new" gtk_vscrollbar_new :: 
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO (Ptr VScrollbar)
+
+{-# DEPRECATED vScrollbarNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.Scrollbar.scrollbarNew' with 'GI.Gtk.Enums.OrientationVertical' instead"] #-}
+{- |
+Creates a new vertical scrollbar.
+-}
+vScrollbarNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a) =>
+    Maybe (a)
+    {- ^ /@adjustment@/: the 'GI.Gtk.Objects.Adjustment.Adjustment' to use, or 'Nothing' to create a new adjustment -}
+    -> m VScrollbar
+    {- ^ __Returns:__ the new 'GI.Gtk.Objects.VScrollbar.VScrollbar' -}
+vScrollbarNew adjustment = liftIO $ do
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    result <- gtk_vscrollbar_new maybeAdjustment
+    checkUnexpectedReturnNULL "vScrollbarNew" result
+    result' <- (newObject VScrollbar) result
+    whenJust adjustment touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/VScrollbar.hs-boot b/GI/Gtk/Objects/VScrollbar.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VScrollbar.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.VScrollbar where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype VScrollbar = VScrollbar (ManagedPtr VScrollbar)
+instance GObject VScrollbar where
+class (GObject o, O.IsDescendantOf VScrollbar o) => IsVScrollbar o
+instance (GObject o, O.IsDescendantOf VScrollbar o) => IsVScrollbar o
+instance O.HasParentTypes VScrollbar
diff --git a/GI/Gtk/Objects/VSeparator.hs b/GI/Gtk/Objects/VSeparator.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VSeparator.hs
@@ -0,0 +1,437 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.VSeparator.VSeparator' widget is a vertical separator, used to group the
+widgets within a window. It displays a vertical line with a shadow to
+make it appear sunken into the interface.
+
+GtkVSeparator has been deprecated, use 'GI.Gtk.Objects.Separator.Separator' instead.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.VSeparator
+    ( 
+
+-- * Exported types
+    VSeparator(..)                          ,
+    IsVSeparator                            ,
+    toVSeparator                            ,
+    noVSeparator                            ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    vSeparatorNew                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Separator as Gtk.Separator
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype VSeparator = VSeparator (ManagedPtr VSeparator)
+foreign import ccall "gtk_vseparator_get_type"
+    c_gtk_vseparator_get_type :: IO GType
+
+instance GObject VSeparator where
+    gobjectType = c_gtk_vseparator_get_type
+    
+
+-- | Type class for types which can be safely cast to `VSeparator`, for instance with `toVSeparator`.
+class (GObject o, O.IsDescendantOf VSeparator o) => IsVSeparator o
+instance (GObject o, O.IsDescendantOf VSeparator o) => IsVSeparator o
+
+instance O.HasParentTypes VSeparator
+type instance O.ParentTypes VSeparator = '[Gtk.Separator.Separator, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `VSeparator`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toVSeparator :: (MonadIO m, IsVSeparator o) => o -> m VSeparator
+toVSeparator = liftIO . unsafeCastTo VSeparator
+
+-- | A convenience alias for `Nothing` :: `Maybe` `VSeparator`.
+noVSeparator :: Maybe VSeparator
+noVSeparator = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveVSeparatorMethod (t :: Symbol) (o :: *) :: * where
+    ResolveVSeparatorMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveVSeparatorMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveVSeparatorMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveVSeparatorMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveVSeparatorMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveVSeparatorMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveVSeparatorMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveVSeparatorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveVSeparatorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveVSeparatorMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveVSeparatorMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveVSeparatorMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
+    ResolveVSeparatorMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveVSeparatorMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveVSeparatorMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveVSeparatorMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveVSeparatorMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveVSeparatorMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveVSeparatorMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveVSeparatorMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveVSeparatorMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveVSeparatorMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveVSeparatorMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveVSeparatorMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveVSeparatorMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveVSeparatorMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveVSeparatorMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveVSeparatorMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveVSeparatorMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveVSeparatorMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveVSeparatorMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveVSeparatorMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveVSeparatorMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveVSeparatorMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveVSeparatorMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveVSeparatorMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveVSeparatorMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveVSeparatorMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveVSeparatorMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveVSeparatorMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveVSeparatorMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveVSeparatorMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveVSeparatorMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveVSeparatorMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveVSeparatorMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveVSeparatorMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveVSeparatorMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveVSeparatorMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveVSeparatorMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveVSeparatorMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveVSeparatorMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveVSeparatorMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveVSeparatorMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveVSeparatorMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveVSeparatorMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveVSeparatorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveVSeparatorMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveVSeparatorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveVSeparatorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveVSeparatorMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveVSeparatorMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveVSeparatorMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveVSeparatorMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveVSeparatorMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveVSeparatorMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveVSeparatorMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveVSeparatorMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveVSeparatorMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveVSeparatorMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveVSeparatorMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveVSeparatorMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveVSeparatorMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveVSeparatorMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveVSeparatorMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveVSeparatorMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveVSeparatorMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveVSeparatorMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveVSeparatorMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveVSeparatorMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveVSeparatorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveVSeparatorMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveVSeparatorMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveVSeparatorMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveVSeparatorMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveVSeparatorMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveVSeparatorMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveVSeparatorMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveVSeparatorMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveVSeparatorMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveVSeparatorMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveVSeparatorMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveVSeparatorMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveVSeparatorMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveVSeparatorMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveVSeparatorMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveVSeparatorMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveVSeparatorMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveVSeparatorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveVSeparatorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveVSeparatorMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveVSeparatorMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveVSeparatorMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveVSeparatorMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveVSeparatorMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveVSeparatorMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveVSeparatorMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveVSeparatorMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveVSeparatorMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveVSeparatorMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveVSeparatorMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveVSeparatorMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveVSeparatorMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveVSeparatorMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveVSeparatorMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveVSeparatorMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveVSeparatorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveVSeparatorMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveVSeparatorMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveVSeparatorMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveVSeparatorMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveVSeparatorMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveVSeparatorMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveVSeparatorMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveVSeparatorMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveVSeparatorMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveVSeparatorMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveVSeparatorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveVSeparatorMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveVSeparatorMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveVSeparatorMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveVSeparatorMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveVSeparatorMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveVSeparatorMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveVSeparatorMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveVSeparatorMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveVSeparatorMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveVSeparatorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveVSeparatorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveVSeparatorMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveVSeparatorMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveVSeparatorMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveVSeparatorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveVSeparatorMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveVSeparatorMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveVSeparatorMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveVSeparatorMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveVSeparatorMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveVSeparatorMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveVSeparatorMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveVSeparatorMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveVSeparatorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveVSeparatorMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveVSeparatorMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveVSeparatorMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveVSeparatorMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveVSeparatorMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveVSeparatorMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveVSeparatorMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveVSeparatorMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveVSeparatorMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveVSeparatorMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveVSeparatorMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveVSeparatorMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveVSeparatorMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveVSeparatorMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveVSeparatorMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveVSeparatorMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveVSeparatorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveVSeparatorMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveVSeparatorMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveVSeparatorMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveVSeparatorMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveVSeparatorMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveVSeparatorMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveVSeparatorMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveVSeparatorMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveVSeparatorMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveVSeparatorMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveVSeparatorMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveVSeparatorMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveVSeparatorMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveVSeparatorMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveVSeparatorMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveVSeparatorMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveVSeparatorMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveVSeparatorMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveVSeparatorMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveVSeparatorMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveVSeparatorMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveVSeparatorMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveVSeparatorMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveVSeparatorMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveVSeparatorMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveVSeparatorMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveVSeparatorMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveVSeparatorMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveVSeparatorMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveVSeparatorMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveVSeparatorMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveVSeparatorMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveVSeparatorMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveVSeparatorMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveVSeparatorMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveVSeparatorMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveVSeparatorMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveVSeparatorMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveVSeparatorMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveVSeparatorMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveVSeparatorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveVSeparatorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveVSeparatorMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveVSeparatorMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveVSeparatorMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveVSeparatorMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveVSeparatorMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveVSeparatorMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveVSeparatorMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveVSeparatorMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveVSeparatorMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveVSeparatorMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveVSeparatorMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveVSeparatorMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveVSeparatorMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveVSeparatorMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveVSeparatorMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveVSeparatorMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveVSeparatorMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveVSeparatorMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveVSeparatorMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveVSeparatorMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveVSeparatorMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveVSeparatorMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveVSeparatorMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveVSeparatorMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveVSeparatorMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveVSeparatorMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveVSeparatorMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveVSeparatorMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveVSeparatorMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveVSeparatorMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveVSeparatorMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveVSeparatorMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveVSeparatorMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveVSeparatorMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveVSeparatorMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveVSeparatorMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveVSeparatorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveVSeparatorMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveVSeparatorMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveVSeparatorMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveVSeparatorMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveVSeparatorMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveVSeparatorMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveVSeparatorMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveVSeparatorMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveVSeparatorMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveVSeparatorMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveVSeparatorMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveVSeparatorMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveVSeparatorMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveVSeparatorMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveVSeparatorMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveVSeparatorMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveVSeparatorMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveVSeparatorMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveVSeparatorMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveVSeparatorMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveVSeparatorMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveVSeparatorMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveVSeparatorMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveVSeparatorMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveVSeparatorMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveVSeparatorMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveVSeparatorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveVSeparatorMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveVSeparatorMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveVSeparatorMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveVSeparatorMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveVSeparatorMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveVSeparatorMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveVSeparatorMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveVSeparatorMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveVSeparatorMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveVSeparatorMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveVSeparatorMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveVSeparatorMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveVSeparatorMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveVSeparatorMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveVSeparatorMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveVSeparatorMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveVSeparatorMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveVSeparatorMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveVSeparatorMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveVSeparatorMethod t VSeparator, O.MethodInfo info VSeparator p) => OL.IsLabel t (VSeparator -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList VSeparator
+type instance O.AttributeList VSeparator = VSeparatorAttributeList
+type VSeparatorAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList VSeparator = VSeparatorSignalList
+type VSeparatorSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method VSeparator::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "VSeparator"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_vseparator_new" gtk_vseparator_new :: 
+    IO (Ptr VSeparator)
+
+{-# DEPRECATED vSeparatorNew ["(Since version 3.2)","Use 'GI.Gtk.Objects.Separator.separatorNew' with 'GI.Gtk.Enums.OrientationVertical' instead"] #-}
+{- |
+Creates a new 'GI.Gtk.Objects.VSeparator.VSeparator'.
+-}
+vSeparatorNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m VSeparator
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.VSeparator.VSeparator'. -}
+vSeparatorNew  = liftIO $ do
+    result <- gtk_vseparator_new
+    checkUnexpectedReturnNULL "vSeparatorNew" result
+    result' <- (newObject VSeparator) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/VSeparator.hs-boot b/GI/Gtk/Objects/VSeparator.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VSeparator.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.VSeparator where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype VSeparator = VSeparator (ManagedPtr VSeparator)
+instance GObject VSeparator where
+class (GObject o, O.IsDescendantOf VSeparator o) => IsVSeparator o
+instance (GObject o, O.IsDescendantOf VSeparator o) => IsVSeparator o
+instance O.HasParentTypes VSeparator
diff --git a/GI/Gtk/Objects/Viewport.hs b/GI/Gtk/Objects/Viewport.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Viewport.hs
@@ -0,0 +1,953 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Objects.Viewport.Viewport' widget acts as an adaptor class, implementing
+scrollability for child widgets that lack their own scrolling
+capabilities. Use GtkViewport to scroll child widgets such as
+'GI.Gtk.Objects.Grid.Grid', 'GI.Gtk.Objects.Box.Box', and so on.
+
+If a widget has native scrolling abilities, such as 'GI.Gtk.Objects.TextView.TextView',
+'GI.Gtk.Objects.TreeView.TreeView' or 'GI.Gtk.Objects.IconView.IconView', it can be added to a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow'
+with 'GI.Gtk.Objects.Container.containerAdd'. If a widget does not, you must first add the
+widget to a 'GI.Gtk.Objects.Viewport.Viewport', then add the viewport to the scrolled window.
+'GI.Gtk.Objects.Container.containerAdd' does this automatically if a child that does not
+implement 'GI.Gtk.Interfaces.Scrollable.Scrollable' is added to a 'GI.Gtk.Objects.ScrolledWindow.ScrolledWindow', so you can
+ignore the presence of the viewport.
+
+The GtkViewport will start scrolling content only if allocated less
+than the child widget’s minimum size in a given orientation.
+
+= CSS nodes
+
+GtkViewport has a single CSS node with name viewport.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Viewport
+    ( 
+
+-- * Exported types
+    Viewport(..)                            ,
+    IsViewport                              ,
+    toViewport                              ,
+    noViewport                              ,
+
+
+ -- * Methods
+-- ** getBinWindow #method:getBinWindow#
+
+#if ENABLE_OVERLOADING
+    ViewportGetBinWindowMethodInfo          ,
+#endif
+    viewportGetBinWindow                    ,
+
+
+-- ** getHadjustment #method:getHadjustment#
+
+#if ENABLE_OVERLOADING
+    ViewportGetHadjustmentMethodInfo        ,
+#endif
+    viewportGetHadjustment                  ,
+
+
+-- ** getShadowType #method:getShadowType#
+
+#if ENABLE_OVERLOADING
+    ViewportGetShadowTypeMethodInfo         ,
+#endif
+    viewportGetShadowType                   ,
+
+
+-- ** getVadjustment #method:getVadjustment#
+
+#if ENABLE_OVERLOADING
+    ViewportGetVadjustmentMethodInfo        ,
+#endif
+    viewportGetVadjustment                  ,
+
+
+-- ** getViewWindow #method:getViewWindow#
+
+#if ENABLE_OVERLOADING
+    ViewportGetViewWindowMethodInfo         ,
+#endif
+    viewportGetViewWindow                   ,
+
+
+-- ** new #method:new#
+
+    viewportNew                             ,
+
+
+-- ** setHadjustment #method:setHadjustment#
+
+#if ENABLE_OVERLOADING
+    ViewportSetHadjustmentMethodInfo        ,
+#endif
+    viewportSetHadjustment                  ,
+
+
+-- ** setShadowType #method:setShadowType#
+
+#if ENABLE_OVERLOADING
+    ViewportSetShadowTypeMethodInfo         ,
+#endif
+    viewportSetShadowType                   ,
+
+
+-- ** setVadjustment #method:setVadjustment#
+
+#if ENABLE_OVERLOADING
+    ViewportSetVadjustmentMethodInfo        ,
+#endif
+    viewportSetVadjustment                  ,
+
+
+
+
+ -- * Properties
+-- ** shadowType #attr:shadowType#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    ViewportShadowTypePropertyInfo          ,
+#endif
+    constructViewportShadowType             ,
+    getViewportShadowType                   ,
+    setViewportShadowType                   ,
+#if ENABLE_OVERLOADING
+    viewportShadowType                      ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Scrollable as Gtk.Scrollable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype Viewport = Viewport (ManagedPtr Viewport)
+foreign import ccall "gtk_viewport_get_type"
+    c_gtk_viewport_get_type :: IO GType
+
+instance GObject Viewport where
+    gobjectType = c_gtk_viewport_get_type
+    
+
+-- | Type class for types which can be safely cast to `Viewport`, for instance with `toViewport`.
+class (GObject o, O.IsDescendantOf Viewport o) => IsViewport o
+instance (GObject o, O.IsDescendantOf Viewport o) => IsViewport o
+
+instance O.HasParentTypes Viewport
+type instance O.ParentTypes Viewport = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable, Gtk.Scrollable.Scrollable]
+
+-- | Cast to `Viewport`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toViewport :: (MonadIO m, IsViewport o) => o -> m Viewport
+toViewport = liftIO . unsafeCastTo Viewport
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Viewport`.
+noViewport :: Maybe Viewport
+noViewport = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveViewportMethod (t :: Symbol) (o :: *) :: * where
+    ResolveViewportMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveViewportMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveViewportMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveViewportMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveViewportMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveViewportMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveViewportMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveViewportMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveViewportMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveViewportMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveViewportMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveViewportMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveViewportMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveViewportMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveViewportMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveViewportMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveViewportMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveViewportMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveViewportMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveViewportMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveViewportMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveViewportMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveViewportMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveViewportMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveViewportMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveViewportMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveViewportMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveViewportMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveViewportMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveViewportMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveViewportMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveViewportMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveViewportMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveViewportMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveViewportMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveViewportMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveViewportMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveViewportMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveViewportMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveViewportMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveViewportMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveViewportMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveViewportMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveViewportMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveViewportMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveViewportMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveViewportMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveViewportMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveViewportMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveViewportMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveViewportMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveViewportMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveViewportMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveViewportMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveViewportMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveViewportMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveViewportMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveViewportMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveViewportMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveViewportMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveViewportMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveViewportMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveViewportMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveViewportMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveViewportMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveViewportMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveViewportMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveViewportMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveViewportMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveViewportMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveViewportMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveViewportMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveViewportMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveViewportMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveViewportMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveViewportMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveViewportMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveViewportMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveViewportMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveViewportMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveViewportMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveViewportMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveViewportMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveViewportMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveViewportMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveViewportMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveViewportMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveViewportMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveViewportMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveViewportMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveViewportMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveViewportMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveViewportMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveViewportMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveViewportMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveViewportMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveViewportMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveViewportMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveViewportMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveViewportMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveViewportMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveViewportMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveViewportMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveViewportMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveViewportMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveViewportMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveViewportMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveViewportMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveViewportMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveViewportMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveViewportMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveViewportMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveViewportMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveViewportMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveViewportMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveViewportMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveViewportMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveViewportMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveViewportMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveViewportMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveViewportMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveViewportMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveViewportMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveViewportMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveViewportMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveViewportMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveViewportMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveViewportMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveViewportMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveViewportMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveViewportMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveViewportMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveViewportMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveViewportMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveViewportMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveViewportMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveViewportMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveViewportMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveViewportMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveViewportMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveViewportMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveViewportMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveViewportMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveViewportMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveViewportMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveViewportMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveViewportMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveViewportMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveViewportMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveViewportMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveViewportMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveViewportMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveViewportMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveViewportMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveViewportMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveViewportMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveViewportMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveViewportMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveViewportMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveViewportMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveViewportMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveViewportMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveViewportMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveViewportMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveViewportMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveViewportMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveViewportMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveViewportMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveViewportMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveViewportMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveViewportMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveViewportMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveViewportMethod "getBinWindow" o = ViewportGetBinWindowMethodInfo
+    ResolveViewportMethod "getBorder" o = Gtk.Scrollable.ScrollableGetBorderMethodInfo
+    ResolveViewportMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveViewportMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveViewportMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveViewportMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveViewportMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveViewportMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveViewportMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveViewportMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveViewportMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveViewportMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveViewportMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveViewportMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveViewportMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveViewportMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveViewportMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveViewportMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveViewportMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveViewportMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveViewportMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveViewportMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveViewportMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveViewportMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveViewportMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveViewportMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveViewportMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveViewportMethod "getHadjustment" o = ViewportGetHadjustmentMethodInfo
+    ResolveViewportMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveViewportMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveViewportMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveViewportMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveViewportMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveViewportMethod "getHscrollPolicy" o = Gtk.Scrollable.ScrollableGetHscrollPolicyMethodInfo
+    ResolveViewportMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveViewportMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveViewportMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveViewportMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveViewportMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveViewportMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveViewportMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveViewportMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveViewportMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveViewportMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveViewportMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveViewportMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveViewportMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveViewportMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveViewportMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveViewportMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveViewportMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveViewportMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveViewportMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveViewportMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveViewportMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveViewportMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveViewportMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveViewportMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveViewportMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveViewportMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveViewportMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveViewportMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveViewportMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveViewportMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveViewportMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveViewportMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveViewportMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveViewportMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveViewportMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveViewportMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveViewportMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveViewportMethod "getShadowType" o = ViewportGetShadowTypeMethodInfo
+    ResolveViewportMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveViewportMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveViewportMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveViewportMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveViewportMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveViewportMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveViewportMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveViewportMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveViewportMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveViewportMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveViewportMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveViewportMethod "getVadjustment" o = ViewportGetVadjustmentMethodInfo
+    ResolveViewportMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveViewportMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveViewportMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveViewportMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveViewportMethod "getViewWindow" o = ViewportGetViewWindowMethodInfo
+    ResolveViewportMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveViewportMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveViewportMethod "getVscrollPolicy" o = Gtk.Scrollable.ScrollableGetVscrollPolicyMethodInfo
+    ResolveViewportMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveViewportMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveViewportMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveViewportMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveViewportMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveViewportMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveViewportMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveViewportMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveViewportMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveViewportMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveViewportMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveViewportMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveViewportMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveViewportMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveViewportMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveViewportMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveViewportMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveViewportMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveViewportMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveViewportMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveViewportMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveViewportMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveViewportMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveViewportMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveViewportMethod "setHadjustment" o = ViewportSetHadjustmentMethodInfo
+    ResolveViewportMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveViewportMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveViewportMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveViewportMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveViewportMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveViewportMethod "setHscrollPolicy" o = Gtk.Scrollable.ScrollableSetHscrollPolicyMethodInfo
+    ResolveViewportMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveViewportMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveViewportMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveViewportMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveViewportMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveViewportMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveViewportMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveViewportMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveViewportMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveViewportMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveViewportMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveViewportMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveViewportMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveViewportMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveViewportMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveViewportMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveViewportMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveViewportMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveViewportMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveViewportMethod "setShadowType" o = ViewportSetShadowTypeMethodInfo
+    ResolveViewportMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveViewportMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveViewportMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveViewportMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveViewportMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveViewportMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveViewportMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveViewportMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveViewportMethod "setVadjustment" o = ViewportSetVadjustmentMethodInfo
+    ResolveViewportMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveViewportMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveViewportMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveViewportMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveViewportMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveViewportMethod "setVscrollPolicy" o = Gtk.Scrollable.ScrollableSetVscrollPolicyMethodInfo
+    ResolveViewportMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveViewportMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveViewportMethod t Viewport, O.MethodInfo info Viewport p) => OL.IsLabel t (Viewport -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "shadow-type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' viewport #shadowType
+@
+-}
+getViewportShadowType :: (MonadIO m, IsViewport o) => o -> m Gtk.Enums.ShadowType
+getViewportShadowType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "shadow-type"
+
+{- |
+Set the value of the “@shadow-type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' viewport [ #shadowType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setViewportShadowType :: (MonadIO m, IsViewport o) => o -> Gtk.Enums.ShadowType -> m ()
+setViewportShadowType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "shadow-type" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@shadow-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructViewportShadowType :: (IsViewport o) => Gtk.Enums.ShadowType -> IO (GValueConstruct o)
+constructViewportShadowType val = B.Properties.constructObjectPropertyEnum "shadow-type" val
+
+#if ENABLE_OVERLOADING
+data ViewportShadowTypePropertyInfo
+instance AttrInfo ViewportShadowTypePropertyInfo where
+    type AttrAllowedOps ViewportShadowTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ViewportShadowTypePropertyInfo = (~) Gtk.Enums.ShadowType
+    type AttrBaseTypeConstraint ViewportShadowTypePropertyInfo = IsViewport
+    type AttrGetType ViewportShadowTypePropertyInfo = Gtk.Enums.ShadowType
+    type AttrLabel ViewportShadowTypePropertyInfo = "shadow-type"
+    type AttrOrigin ViewportShadowTypePropertyInfo = Viewport
+    attrGet _ = getViewportShadowType
+    attrSet _ = setViewportShadowType
+    attrConstruct _ = constructViewportShadowType
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Viewport
+type instance O.AttributeList Viewport = ViewportAttributeList
+type ViewportAttributeList = ('[ '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", Gtk.Scrollable.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hscrollPolicy", Gtk.Scrollable.ScrollableHscrollPolicyPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("shadowType", ViewportShadowTypePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("vadjustment", Gtk.Scrollable.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.Scrollable.ScrollableVscrollPolicyPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+viewportShadowType :: AttrLabelProxy "shadowType"
+viewportShadowType = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList Viewport = ViewportSignalList
+type ViewportSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Viewport::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "hadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "horizontal adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vadjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "vertical adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Viewport"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_viewport_new" gtk_viewport_new :: 
+    Ptr Gtk.Adjustment.Adjustment ->        -- hadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- vadjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO (Ptr Viewport)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Viewport.Viewport' with the given adjustments, or with default
+adjustments if none are given.
+-}
+viewportNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Adjustment.IsAdjustment a, Gtk.Adjustment.IsAdjustment b) =>
+    Maybe (a)
+    {- ^ /@hadjustment@/: horizontal adjustment -}
+    -> Maybe (b)
+    {- ^ /@vadjustment@/: vertical adjustment -}
+    -> m Viewport
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Viewport.Viewport' -}
+viewportNew hadjustment vadjustment = liftIO $ do
+    maybeHadjustment <- case hadjustment of
+        Nothing -> return nullPtr
+        Just jHadjustment -> do
+            jHadjustment' <- unsafeManagedPtrCastPtr jHadjustment
+            return jHadjustment'
+    maybeVadjustment <- case vadjustment of
+        Nothing -> return nullPtr
+        Just jVadjustment -> do
+            jVadjustment' <- unsafeManagedPtrCastPtr jVadjustment
+            return jVadjustment'
+    result <- gtk_viewport_new maybeHadjustment maybeVadjustment
+    checkUnexpectedReturnNULL "viewportNew" result
+    result' <- (newObject Viewport) result
+    whenJust hadjustment touchManagedPtr
+    whenJust vadjustment touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Viewport::get_bin_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "viewport", argType = TInterface (Name {namespace = "Gtk", name = "Viewport"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkViewport", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_viewport_get_bin_window" gtk_viewport_get_bin_window :: 
+    Ptr Viewport ->                         -- viewport : TInterface (Name {namespace = "Gtk", name = "Viewport"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Gets the bin window of the 'GI.Gtk.Objects.Viewport.Viewport'.
+
+/Since: 2.20/
+-}
+viewportGetBinWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsViewport a) =>
+    a
+    {- ^ /@viewport@/: a 'GI.Gtk.Objects.Viewport.Viewport' -}
+    -> m Gdk.Window.Window
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Window.Window' -}
+viewportGetBinWindow viewport = liftIO $ do
+    viewport' <- unsafeManagedPtrCastPtr viewport
+    result <- gtk_viewport_get_bin_window viewport'
+    checkUnexpectedReturnNULL "viewportGetBinWindow" result
+    result' <- (newObject Gdk.Window.Window) result
+    touchManagedPtr viewport
+    return result'
+
+#if ENABLE_OVERLOADING
+data ViewportGetBinWindowMethodInfo
+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsViewport a) => O.MethodInfo ViewportGetBinWindowMethodInfo a signature where
+    overloadedMethod _ = viewportGetBinWindow
+
+#endif
+
+-- method Viewport::get_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "viewport", argType = TInterface (Name {namespace = "Gtk", name = "Viewport"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkViewport.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_viewport_get_hadjustment" gtk_viewport_get_hadjustment :: 
+    Ptr Viewport ->                         -- viewport : TInterface (Name {namespace = "Gtk", name = "Viewport"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED viewportGetHadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetHadjustment'"] #-}
+{- |
+Returns the horizontal adjustment of the viewport.
+-}
+viewportGetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsViewport a) =>
+    a
+    {- ^ /@viewport@/: a 'GI.Gtk.Objects.Viewport.Viewport'. -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ the horizontal adjustment of /@viewport@/. -}
+viewportGetHadjustment viewport = liftIO $ do
+    viewport' <- unsafeManagedPtrCastPtr viewport
+    result <- gtk_viewport_get_hadjustment viewport'
+    checkUnexpectedReturnNULL "viewportGetHadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr viewport
+    return result'
+
+#if ENABLE_OVERLOADING
+data ViewportGetHadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsViewport a) => O.MethodInfo ViewportGetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = viewportGetHadjustment
+
+#endif
+
+-- method Viewport::get_shadow_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "viewport", argType = TInterface (Name {namespace = "Gtk", name = "Viewport"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkViewport", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ShadowType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_viewport_get_shadow_type" gtk_viewport_get_shadow_type :: 
+    Ptr Viewport ->                         -- viewport : TInterface (Name {namespace = "Gtk", name = "Viewport"})
+    IO CUInt
+
+{- |
+Gets the shadow type of the 'GI.Gtk.Objects.Viewport.Viewport'. See
+'GI.Gtk.Objects.Viewport.viewportSetShadowType'.
+-}
+viewportGetShadowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsViewport a) =>
+    a
+    {- ^ /@viewport@/: a 'GI.Gtk.Objects.Viewport.Viewport' -}
+    -> m Gtk.Enums.ShadowType
+    {- ^ __Returns:__ the shadow type -}
+viewportGetShadowType viewport = liftIO $ do
+    viewport' <- unsafeManagedPtrCastPtr viewport
+    result <- gtk_viewport_get_shadow_type viewport'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr viewport
+    return result'
+
+#if ENABLE_OVERLOADING
+data ViewportGetShadowTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.ShadowType), MonadIO m, IsViewport a) => O.MethodInfo ViewportGetShadowTypeMethodInfo a signature where
+    overloadedMethod _ = viewportGetShadowType
+
+#endif
+
+-- method Viewport::get_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "viewport", argType = TInterface (Name {namespace = "Gtk", name = "Viewport"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkViewport.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Adjustment"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_viewport_get_vadjustment" gtk_viewport_get_vadjustment :: 
+    Ptr Viewport ->                         -- viewport : TInterface (Name {namespace = "Gtk", name = "Viewport"})
+    IO (Ptr Gtk.Adjustment.Adjustment)
+
+{-# DEPRECATED viewportGetVadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableGetVadjustment'"] #-}
+{- |
+Returns the vertical adjustment of the viewport.
+-}
+viewportGetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsViewport a) =>
+    a
+    {- ^ /@viewport@/: a 'GI.Gtk.Objects.Viewport.Viewport'. -}
+    -> m Gtk.Adjustment.Adjustment
+    {- ^ __Returns:__ the vertical adjustment of /@viewport@/. -}
+viewportGetVadjustment viewport = liftIO $ do
+    viewport' <- unsafeManagedPtrCastPtr viewport
+    result <- gtk_viewport_get_vadjustment viewport'
+    checkUnexpectedReturnNULL "viewportGetVadjustment" result
+    result' <- (newObject Gtk.Adjustment.Adjustment) result
+    touchManagedPtr viewport
+    return result'
+
+#if ENABLE_OVERLOADING
+data ViewportGetVadjustmentMethodInfo
+instance (signature ~ (m Gtk.Adjustment.Adjustment), MonadIO m, IsViewport a) => O.MethodInfo ViewportGetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = viewportGetVadjustment
+
+#endif
+
+-- method Viewport::get_view_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "viewport", argType = TInterface (Name {namespace = "Gtk", name = "Viewport"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkViewport", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_viewport_get_view_window" gtk_viewport_get_view_window :: 
+    Ptr Viewport ->                         -- viewport : TInterface (Name {namespace = "Gtk", name = "Viewport"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Gets the view window of the 'GI.Gtk.Objects.Viewport.Viewport'.
+
+/Since: 2.22/
+-}
+viewportGetViewWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsViewport a) =>
+    a
+    {- ^ /@viewport@/: a 'GI.Gtk.Objects.Viewport.Viewport' -}
+    -> m Gdk.Window.Window
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Window.Window' -}
+viewportGetViewWindow viewport = liftIO $ do
+    viewport' <- unsafeManagedPtrCastPtr viewport
+    result <- gtk_viewport_get_view_window viewport'
+    checkUnexpectedReturnNULL "viewportGetViewWindow" result
+    result' <- (newObject Gdk.Window.Window) result
+    touchManagedPtr viewport
+    return result'
+
+#if ENABLE_OVERLOADING
+data ViewportGetViewWindowMethodInfo
+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsViewport a) => O.MethodInfo ViewportGetViewWindowMethodInfo a signature where
+    overloadedMethod _ = viewportGetViewWindow
+
+#endif
+
+-- method Viewport::set_hadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "viewport", argType = TInterface (Name {namespace = "Gtk", name = "Viewport"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkViewport.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_viewport_set_hadjustment" gtk_viewport_set_hadjustment :: 
+    Ptr Viewport ->                         -- viewport : TInterface (Name {namespace = "Gtk", name = "Viewport"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{-# DEPRECATED viewportSetHadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableSetHadjustment'"] #-}
+{- |
+Sets the horizontal adjustment of the viewport.
+-}
+viewportSetHadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsViewport a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@viewport@/: a 'GI.Gtk.Objects.Viewport.Viewport'. -}
+    -> Maybe (b)
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment'. -}
+    -> m ()
+viewportSetHadjustment viewport adjustment = liftIO $ do
+    viewport' <- unsafeManagedPtrCastPtr viewport
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    gtk_viewport_set_hadjustment viewport' maybeAdjustment
+    touchManagedPtr viewport
+    whenJust adjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ViewportSetHadjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsViewport a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ViewportSetHadjustmentMethodInfo a signature where
+    overloadedMethod _ = viewportSetHadjustment
+
+#endif
+
+-- method Viewport::set_shadow_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "viewport", argType = TInterface (Name {namespace = "Gtk", name = "Viewport"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkViewport.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "ShadowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new shadow type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_viewport_set_shadow_type" gtk_viewport_set_shadow_type :: 
+    Ptr Viewport ->                         -- viewport : TInterface (Name {namespace = "Gtk", name = "Viewport"})
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "ShadowType"})
+    IO ()
+
+{- |
+Sets the shadow type of the viewport.
+-}
+viewportSetShadowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsViewport a) =>
+    a
+    {- ^ /@viewport@/: a 'GI.Gtk.Objects.Viewport.Viewport'. -}
+    -> Gtk.Enums.ShadowType
+    {- ^ /@type@/: the new shadow type. -}
+    -> m ()
+viewportSetShadowType viewport type_ = liftIO $ do
+    viewport' <- unsafeManagedPtrCastPtr viewport
+    let type_' = (fromIntegral . fromEnum) type_
+    gtk_viewport_set_shadow_type viewport' type_'
+    touchManagedPtr viewport
+    return ()
+
+#if ENABLE_OVERLOADING
+data ViewportSetShadowTypeMethodInfo
+instance (signature ~ (Gtk.Enums.ShadowType -> m ()), MonadIO m, IsViewport a) => O.MethodInfo ViewportSetShadowTypeMethodInfo a signature where
+    overloadedMethod _ = viewportSetShadowType
+
+#endif
+
+-- method Viewport::set_vadjustment
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "viewport", argType = TInterface (Name {namespace = "Gtk", name = "Viewport"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkViewport.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "adjustment", argType = TInterface (Name {namespace = "Gtk", name = "Adjustment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkAdjustment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_viewport_set_vadjustment" gtk_viewport_set_vadjustment :: 
+    Ptr Viewport ->                         -- viewport : TInterface (Name {namespace = "Gtk", name = "Viewport"})
+    Ptr Gtk.Adjustment.Adjustment ->        -- adjustment : TInterface (Name {namespace = "Gtk", name = "Adjustment"})
+    IO ()
+
+{-# DEPRECATED viewportSetVadjustment ["(Since version 3.0)","Use 'GI.Gtk.Interfaces.Scrollable.scrollableSetVadjustment'"] #-}
+{- |
+Sets the vertical adjustment of the viewport.
+-}
+viewportSetVadjustment ::
+    (B.CallStack.HasCallStack, MonadIO m, IsViewport a, Gtk.Adjustment.IsAdjustment b) =>
+    a
+    {- ^ /@viewport@/: a 'GI.Gtk.Objects.Viewport.Viewport'. -}
+    -> Maybe (b)
+    {- ^ /@adjustment@/: a 'GI.Gtk.Objects.Adjustment.Adjustment'. -}
+    -> m ()
+viewportSetVadjustment viewport adjustment = liftIO $ do
+    viewport' <- unsafeManagedPtrCastPtr viewport
+    maybeAdjustment <- case adjustment of
+        Nothing -> return nullPtr
+        Just jAdjustment -> do
+            jAdjustment' <- unsafeManagedPtrCastPtr jAdjustment
+            return jAdjustment'
+    gtk_viewport_set_vadjustment viewport' maybeAdjustment
+    touchManagedPtr viewport
+    whenJust adjustment touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data ViewportSetVadjustmentMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsViewport a, Gtk.Adjustment.IsAdjustment b) => O.MethodInfo ViewportSetVadjustmentMethodInfo a signature where
+    overloadedMethod _ = viewportSetVadjustment
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/Viewport.hs-boot b/GI/Gtk/Objects/Viewport.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Viewport.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Viewport where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Viewport = Viewport (ManagedPtr Viewport)
+instance GObject Viewport where
+class (GObject o, O.IsDescendantOf Viewport o) => IsViewport o
+instance (GObject o, O.IsDescendantOf Viewport o) => IsViewport o
+instance O.HasParentTypes Viewport
+#if ENABLE_OVERLOADING
+data ViewportShadowTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data ViewportGetBinWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ViewportGetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ViewportGetShadowTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ViewportGetVadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ViewportGetViewWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ViewportSetHadjustmentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ViewportSetShadowTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data ViewportSetVadjustmentMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/VolumeButton.hs b/GI/Gtk/Objects/VolumeButton.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VolumeButton.hs
@@ -0,0 +1,585 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Objects.VolumeButton.VolumeButton' is a subclass of 'GI.Gtk.Objects.ScaleButton.ScaleButton' that has
+been tailored for use as a volume control widget with suitable
+icons, tooltips and accessible labels.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.VolumeButton
+    ( 
+
+-- * Exported types
+    VolumeButton(..)                        ,
+    IsVolumeButton                          ,
+    toVolumeButton                          ,
+    noVolumeButton                          ,
+
+
+ -- * Methods
+-- ** new #method:new#
+
+    volumeButtonNew                         ,
+
+
+
+
+ -- * Properties
+-- ** useSymbolic #attr:useSymbolic#
+{- | Whether to use symbolic icons as the icons. Note that
+if the symbolic icons are not available in your installed
+theme, then the normal (potentially colorful) icons will
+be used.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    VolumeButtonUseSymbolicPropertyInfo     ,
+#endif
+    constructVolumeButtonUseSymbolic        ,
+    getVolumeButtonUseSymbolic              ,
+    setVolumeButtonUseSymbolic              ,
+#if ENABLE_OVERLOADING
+    volumeButtonUseSymbolic                 ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Actionable as Gtk.Actionable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Activatable as Gtk.Activatable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Orientable as Gtk.Orientable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Button as Gtk.Button
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ScaleButton as Gtk.ScaleButton
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype VolumeButton = VolumeButton (ManagedPtr VolumeButton)
+foreign import ccall "gtk_volume_button_get_type"
+    c_gtk_volume_button_get_type :: IO GType
+
+instance GObject VolumeButton where
+    gobjectType = c_gtk_volume_button_get_type
+    
+
+-- | Type class for types which can be safely cast to `VolumeButton`, for instance with `toVolumeButton`.
+class (GObject o, O.IsDescendantOf VolumeButton o) => IsVolumeButton o
+instance (GObject o, O.IsDescendantOf VolumeButton o) => IsVolumeButton o
+
+instance O.HasParentTypes VolumeButton
+type instance O.ParentTypes VolumeButton = '[Gtk.ScaleButton.ScaleButton, Gtk.Button.Button, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Actionable.Actionable, Gtk.Activatable.Activatable, Gtk.Buildable.Buildable, Gtk.Orientable.Orientable]
+
+-- | Cast to `VolumeButton`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toVolumeButton :: (MonadIO m, IsVolumeButton o) => o -> m VolumeButton
+toVolumeButton = liftIO . unsafeCastTo VolumeButton
+
+-- | A convenience alias for `Nothing` :: `Maybe` `VolumeButton`.
+noVolumeButton :: Maybe VolumeButton
+noVolumeButton = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveVolumeButtonMethod (t :: Symbol) (o :: *) :: * where
+    ResolveVolumeButtonMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveVolumeButtonMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveVolumeButtonMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveVolumeButtonMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveVolumeButtonMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveVolumeButtonMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveVolumeButtonMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveVolumeButtonMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveVolumeButtonMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveVolumeButtonMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveVolumeButtonMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveVolumeButtonMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveVolumeButtonMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveVolumeButtonMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveVolumeButtonMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveVolumeButtonMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveVolumeButtonMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveVolumeButtonMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveVolumeButtonMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveVolumeButtonMethod "clicked" o = Gtk.Button.ButtonClickedMethodInfo
+    ResolveVolumeButtonMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveVolumeButtonMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveVolumeButtonMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveVolumeButtonMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveVolumeButtonMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveVolumeButtonMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveVolumeButtonMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveVolumeButtonMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveVolumeButtonMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveVolumeButtonMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveVolumeButtonMethod "doSetRelatedAction" o = Gtk.Activatable.ActivatableDoSetRelatedActionMethodInfo
+    ResolveVolumeButtonMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveVolumeButtonMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveVolumeButtonMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveVolumeButtonMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveVolumeButtonMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveVolumeButtonMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveVolumeButtonMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveVolumeButtonMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveVolumeButtonMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveVolumeButtonMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveVolumeButtonMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveVolumeButtonMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveVolumeButtonMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveVolumeButtonMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveVolumeButtonMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveVolumeButtonMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveVolumeButtonMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveVolumeButtonMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveVolumeButtonMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveVolumeButtonMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveVolumeButtonMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveVolumeButtonMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveVolumeButtonMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveVolumeButtonMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveVolumeButtonMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveVolumeButtonMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveVolumeButtonMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveVolumeButtonMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveVolumeButtonMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveVolumeButtonMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveVolumeButtonMethod "enter" o = Gtk.Button.ButtonEnterMethodInfo
+    ResolveVolumeButtonMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveVolumeButtonMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveVolumeButtonMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveVolumeButtonMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveVolumeButtonMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveVolumeButtonMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveVolumeButtonMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveVolumeButtonMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveVolumeButtonMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveVolumeButtonMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveVolumeButtonMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveVolumeButtonMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveVolumeButtonMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveVolumeButtonMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveVolumeButtonMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveVolumeButtonMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveVolumeButtonMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveVolumeButtonMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveVolumeButtonMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveVolumeButtonMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveVolumeButtonMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveVolumeButtonMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveVolumeButtonMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveVolumeButtonMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveVolumeButtonMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveVolumeButtonMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveVolumeButtonMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveVolumeButtonMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveVolumeButtonMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveVolumeButtonMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveVolumeButtonMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveVolumeButtonMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveVolumeButtonMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveVolumeButtonMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveVolumeButtonMethod "leave" o = Gtk.Button.ButtonLeaveMethodInfo
+    ResolveVolumeButtonMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveVolumeButtonMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveVolumeButtonMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveVolumeButtonMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveVolumeButtonMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
+    ResolveVolumeButtonMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveVolumeButtonMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveVolumeButtonMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveVolumeButtonMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveVolumeButtonMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveVolumeButtonMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveVolumeButtonMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveVolumeButtonMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveVolumeButtonMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveVolumeButtonMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveVolumeButtonMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveVolumeButtonMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveVolumeButtonMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveVolumeButtonMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveVolumeButtonMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveVolumeButtonMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveVolumeButtonMethod "pressed" o = Gtk.Button.ButtonPressedMethodInfo
+    ResolveVolumeButtonMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveVolumeButtonMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveVolumeButtonMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveVolumeButtonMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveVolumeButtonMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveVolumeButtonMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveVolumeButtonMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveVolumeButtonMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveVolumeButtonMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveVolumeButtonMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveVolumeButtonMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveVolumeButtonMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveVolumeButtonMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveVolumeButtonMethod "released" o = Gtk.Button.ButtonReleasedMethodInfo
+    ResolveVolumeButtonMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveVolumeButtonMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveVolumeButtonMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveVolumeButtonMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveVolumeButtonMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveVolumeButtonMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveVolumeButtonMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveVolumeButtonMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveVolumeButtonMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveVolumeButtonMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveVolumeButtonMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveVolumeButtonMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveVolumeButtonMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveVolumeButtonMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveVolumeButtonMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveVolumeButtonMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveVolumeButtonMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveVolumeButtonMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveVolumeButtonMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveVolumeButtonMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveVolumeButtonMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveVolumeButtonMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveVolumeButtonMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveVolumeButtonMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveVolumeButtonMethod "syncActionProperties" o = Gtk.Activatable.ActivatableSyncActionPropertiesMethodInfo
+    ResolveVolumeButtonMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveVolumeButtonMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveVolumeButtonMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveVolumeButtonMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveVolumeButtonMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveVolumeButtonMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveVolumeButtonMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveVolumeButtonMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveVolumeButtonMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveVolumeButtonMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveVolumeButtonMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveVolumeButtonMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveVolumeButtonMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveVolumeButtonMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveVolumeButtonMethod "getActionName" o = Gtk.Actionable.ActionableGetActionNameMethodInfo
+    ResolveVolumeButtonMethod "getActionTargetValue" o = Gtk.Actionable.ActionableGetActionTargetValueMethodInfo
+    ResolveVolumeButtonMethod "getAdjustment" o = Gtk.ScaleButton.ScaleButtonGetAdjustmentMethodInfo
+    ResolveVolumeButtonMethod "getAlignment" o = Gtk.Button.ButtonGetAlignmentMethodInfo
+    ResolveVolumeButtonMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveVolumeButtonMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveVolumeButtonMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveVolumeButtonMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveVolumeButtonMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveVolumeButtonMethod "getAlwaysShowImage" o = Gtk.Button.ButtonGetAlwaysShowImageMethodInfo
+    ResolveVolumeButtonMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveVolumeButtonMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveVolumeButtonMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveVolumeButtonMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveVolumeButtonMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveVolumeButtonMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveVolumeButtonMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveVolumeButtonMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveVolumeButtonMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveVolumeButtonMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveVolumeButtonMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveVolumeButtonMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveVolumeButtonMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveVolumeButtonMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveVolumeButtonMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveVolumeButtonMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveVolumeButtonMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveVolumeButtonMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveVolumeButtonMethod "getEventWindow" o = Gtk.Button.ButtonGetEventWindowMethodInfo
+    ResolveVolumeButtonMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveVolumeButtonMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveVolumeButtonMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveVolumeButtonMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveVolumeButtonMethod "getFocusOnClick" o = Gtk.Button.ButtonGetFocusOnClickMethodInfo
+    ResolveVolumeButtonMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveVolumeButtonMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveVolumeButtonMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveVolumeButtonMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveVolumeButtonMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveVolumeButtonMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveVolumeButtonMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveVolumeButtonMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveVolumeButtonMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveVolumeButtonMethod "getImage" o = Gtk.Button.ButtonGetImageMethodInfo
+    ResolveVolumeButtonMethod "getImagePosition" o = Gtk.Button.ButtonGetImagePositionMethodInfo
+    ResolveVolumeButtonMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveVolumeButtonMethod "getLabel" o = Gtk.Button.ButtonGetLabelMethodInfo
+    ResolveVolumeButtonMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveVolumeButtonMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveVolumeButtonMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveVolumeButtonMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveVolumeButtonMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveVolumeButtonMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveVolumeButtonMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveVolumeButtonMethod "getMinusButton" o = Gtk.ScaleButton.ScaleButtonGetMinusButtonMethodInfo
+    ResolveVolumeButtonMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveVolumeButtonMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveVolumeButtonMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveVolumeButtonMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveVolumeButtonMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
+    ResolveVolumeButtonMethod "getOrientation" o = Gtk.Orientable.OrientableGetOrientationMethodInfo
+    ResolveVolumeButtonMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveVolumeButtonMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveVolumeButtonMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveVolumeButtonMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveVolumeButtonMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveVolumeButtonMethod "getPlusButton" o = Gtk.ScaleButton.ScaleButtonGetPlusButtonMethodInfo
+    ResolveVolumeButtonMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveVolumeButtonMethod "getPopup" o = Gtk.ScaleButton.ScaleButtonGetPopupMethodInfo
+    ResolveVolumeButtonMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveVolumeButtonMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveVolumeButtonMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveVolumeButtonMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveVolumeButtonMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveVolumeButtonMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveVolumeButtonMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveVolumeButtonMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveVolumeButtonMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveVolumeButtonMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveVolumeButtonMethod "getRelatedAction" o = Gtk.Activatable.ActivatableGetRelatedActionMethodInfo
+    ResolveVolumeButtonMethod "getRelief" o = Gtk.Button.ButtonGetReliefMethodInfo
+    ResolveVolumeButtonMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveVolumeButtonMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveVolumeButtonMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveVolumeButtonMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveVolumeButtonMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveVolumeButtonMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
+    ResolveVolumeButtonMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveVolumeButtonMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveVolumeButtonMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveVolumeButtonMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveVolumeButtonMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveVolumeButtonMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveVolumeButtonMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveVolumeButtonMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveVolumeButtonMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveVolumeButtonMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveVolumeButtonMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveVolumeButtonMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveVolumeButtonMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveVolumeButtonMethod "getUseActionAppearance" o = Gtk.Activatable.ActivatableGetUseActionAppearanceMethodInfo
+    ResolveVolumeButtonMethod "getUseStock" o = Gtk.Button.ButtonGetUseStockMethodInfo
+    ResolveVolumeButtonMethod "getUseUnderline" o = Gtk.Button.ButtonGetUseUnderlineMethodInfo
+    ResolveVolumeButtonMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveVolumeButtonMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveVolumeButtonMethod "getValue" o = Gtk.ScaleButton.ScaleButtonGetValueMethodInfo
+    ResolveVolumeButtonMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveVolumeButtonMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveVolumeButtonMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveVolumeButtonMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveVolumeButtonMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveVolumeButtonMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveVolumeButtonMethod "setActionName" o = Gtk.Actionable.ActionableSetActionNameMethodInfo
+    ResolveVolumeButtonMethod "setActionTargetValue" o = Gtk.Actionable.ActionableSetActionTargetValueMethodInfo
+    ResolveVolumeButtonMethod "setAdjustment" o = Gtk.ScaleButton.ScaleButtonSetAdjustmentMethodInfo
+    ResolveVolumeButtonMethod "setAlignment" o = Gtk.Button.ButtonSetAlignmentMethodInfo
+    ResolveVolumeButtonMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveVolumeButtonMethod "setAlwaysShowImage" o = Gtk.Button.ButtonSetAlwaysShowImageMethodInfo
+    ResolveVolumeButtonMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveVolumeButtonMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveVolumeButtonMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveVolumeButtonMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveVolumeButtonMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveVolumeButtonMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveVolumeButtonMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveVolumeButtonMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveVolumeButtonMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveVolumeButtonMethod "setDetailedActionName" o = Gtk.Actionable.ActionableSetDetailedActionNameMethodInfo
+    ResolveVolumeButtonMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveVolumeButtonMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveVolumeButtonMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveVolumeButtonMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveVolumeButtonMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveVolumeButtonMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveVolumeButtonMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveVolumeButtonMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveVolumeButtonMethod "setFocusOnClick" o = Gtk.Button.ButtonSetFocusOnClickMethodInfo
+    ResolveVolumeButtonMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveVolumeButtonMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveVolumeButtonMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveVolumeButtonMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveVolumeButtonMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveVolumeButtonMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveVolumeButtonMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveVolumeButtonMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveVolumeButtonMethod "setIcons" o = Gtk.ScaleButton.ScaleButtonSetIconsMethodInfo
+    ResolveVolumeButtonMethod "setImage" o = Gtk.Button.ButtonSetImageMethodInfo
+    ResolveVolumeButtonMethod "setImagePosition" o = Gtk.Button.ButtonSetImagePositionMethodInfo
+    ResolveVolumeButtonMethod "setLabel" o = Gtk.Button.ButtonSetLabelMethodInfo
+    ResolveVolumeButtonMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveVolumeButtonMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveVolumeButtonMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveVolumeButtonMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveVolumeButtonMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveVolumeButtonMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveVolumeButtonMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveVolumeButtonMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveVolumeButtonMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveVolumeButtonMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
+    ResolveVolumeButtonMethod "setOrientation" o = Gtk.Orientable.OrientableSetOrientationMethodInfo
+    ResolveVolumeButtonMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveVolumeButtonMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveVolumeButtonMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveVolumeButtonMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveVolumeButtonMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveVolumeButtonMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveVolumeButtonMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveVolumeButtonMethod "setRelatedAction" o = Gtk.Activatable.ActivatableSetRelatedActionMethodInfo
+    ResolveVolumeButtonMethod "setRelief" o = Gtk.Button.ButtonSetReliefMethodInfo
+    ResolveVolumeButtonMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveVolumeButtonMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveVolumeButtonMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveVolumeButtonMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveVolumeButtonMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveVolumeButtonMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveVolumeButtonMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveVolumeButtonMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveVolumeButtonMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveVolumeButtonMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveVolumeButtonMethod "setUseActionAppearance" o = Gtk.Activatable.ActivatableSetUseActionAppearanceMethodInfo
+    ResolveVolumeButtonMethod "setUseStock" o = Gtk.Button.ButtonSetUseStockMethodInfo
+    ResolveVolumeButtonMethod "setUseUnderline" o = Gtk.Button.ButtonSetUseUnderlineMethodInfo
+    ResolveVolumeButtonMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveVolumeButtonMethod "setValue" o = Gtk.ScaleButton.ScaleButtonSetValueMethodInfo
+    ResolveVolumeButtonMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveVolumeButtonMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveVolumeButtonMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveVolumeButtonMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveVolumeButtonMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveVolumeButtonMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveVolumeButtonMethod t VolumeButton, O.MethodInfo info VolumeButton p) => OL.IsLabel t (VolumeButton -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- VVV Prop "use-symbolic"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@use-symbolic@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' volumeButton #useSymbolic
+@
+-}
+getVolumeButtonUseSymbolic :: (MonadIO m, IsVolumeButton o) => o -> m Bool
+getVolumeButtonUseSymbolic obj = liftIO $ B.Properties.getObjectPropertyBool obj "use-symbolic"
+
+{- |
+Set the value of the “@use-symbolic@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' volumeButton [ #useSymbolic 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setVolumeButtonUseSymbolic :: (MonadIO m, IsVolumeButton o) => o -> Bool -> m ()
+setVolumeButtonUseSymbolic obj val = liftIO $ B.Properties.setObjectPropertyBool obj "use-symbolic" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@use-symbolic@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructVolumeButtonUseSymbolic :: (IsVolumeButton o) => Bool -> IO (GValueConstruct o)
+constructVolumeButtonUseSymbolic val = B.Properties.constructObjectPropertyBool "use-symbolic" val
+
+#if ENABLE_OVERLOADING
+data VolumeButtonUseSymbolicPropertyInfo
+instance AttrInfo VolumeButtonUseSymbolicPropertyInfo where
+    type AttrAllowedOps VolumeButtonUseSymbolicPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint VolumeButtonUseSymbolicPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint VolumeButtonUseSymbolicPropertyInfo = IsVolumeButton
+    type AttrGetType VolumeButtonUseSymbolicPropertyInfo = Bool
+    type AttrLabel VolumeButtonUseSymbolicPropertyInfo = "use-symbolic"
+    type AttrOrigin VolumeButtonUseSymbolicPropertyInfo = VolumeButton
+    attrGet _ = getVolumeButtonUseSymbolic
+    attrSet _ = setVolumeButtonUseSymbolic
+    attrConstruct _ = constructVolumeButtonUseSymbolic
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList VolumeButton
+type instance O.AttributeList VolumeButton = VolumeButtonAttributeList
+type VolumeButtonAttributeList = ('[ '("actionName", Gtk.Actionable.ActionableActionNamePropertyInfo), '("actionTarget", Gtk.Actionable.ActionableActionTargetPropertyInfo), '("adjustment", Gtk.ScaleButton.ScaleButtonAdjustmentPropertyInfo), '("alwaysShowImage", Gtk.Button.ButtonAlwaysShowImagePropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("icons", Gtk.ScaleButton.ScaleButtonIconsPropertyInfo), '("image", Gtk.Button.ButtonImagePropertyInfo), '("imagePosition", Gtk.Button.ButtonImagePositionPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("label", Gtk.Button.ButtonLabelPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("orientation", Gtk.Orientable.OrientableOrientationPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("relatedAction", Gtk.Activatable.ActivatableRelatedActionPropertyInfo), '("relief", Gtk.Button.ButtonReliefPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("size", Gtk.ScaleButton.ScaleButtonSizePropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("useActionAppearance", Gtk.Activatable.ActivatableUseActionAppearancePropertyInfo), '("useStock", Gtk.Button.ButtonUseStockPropertyInfo), '("useSymbolic", VolumeButtonUseSymbolicPropertyInfo), '("useUnderline", Gtk.Button.ButtonUseUnderlinePropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("value", Gtk.ScaleButton.ScaleButtonValuePropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("xalign", Gtk.Button.ButtonXalignPropertyInfo), '("yalign", Gtk.Button.ButtonYalignPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+volumeButtonUseSymbolic :: AttrLabelProxy "useSymbolic"
+volumeButtonUseSymbolic = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList VolumeButton = VolumeButtonSignalList
+type VolumeButtonSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activate", Gtk.Button.ButtonActivateSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("clicked", Gtk.Button.ButtonClickedSignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enter", Gtk.Button.ButtonEnterSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leave", Gtk.Button.ButtonLeaveSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popdown", Gtk.ScaleButton.ScaleButtonPopdownSignalInfo), '("popup", Gtk.ScaleButton.ScaleButtonPopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("pressed", Gtk.Button.ButtonPressedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("released", Gtk.Button.ButtonReleasedSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("valueChanged", Gtk.ScaleButton.ScaleButtonValueChangedSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method VolumeButton::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "VolumeButton"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_volume_button_new" gtk_volume_button_new :: 
+    IO (Ptr VolumeButton)
+
+{- |
+Creates a 'GI.Gtk.Objects.VolumeButton.VolumeButton', with a range between 0.0 and 1.0, with
+a stepping of 0.02. Volume values can be obtained and modified using
+the functions from 'GI.Gtk.Objects.ScaleButton.ScaleButton'.
+
+/Since: 2.12/
+-}
+volumeButtonNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m VolumeButton
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.VolumeButton.VolumeButton' -}
+volumeButtonNew  = liftIO $ do
+    result <- gtk_volume_button_new
+    checkUnexpectedReturnNULL "volumeButtonNew" result
+    result' <- (newObject VolumeButton) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/VolumeButton.hs-boot b/GI/Gtk/Objects/VolumeButton.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/VolumeButton.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.VolumeButton where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype VolumeButton = VolumeButton (ManagedPtr VolumeButton)
+instance GObject VolumeButton where
+class (GObject o, O.IsDescendantOf VolumeButton o) => IsVolumeButton o
+instance (GObject o, O.IsDescendantOf VolumeButton o) => IsVolumeButton o
+instance O.HasParentTypes VolumeButton
+#if ENABLE_OVERLOADING
+data VolumeButtonUseSymbolicPropertyInfo
+#endif
diff --git a/GI/Gtk/Objects/Widget.hs b/GI/Gtk/Objects/Widget.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Widget.hs
@@ -0,0 +1,24516 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkWidget is the base class all widgets in GTK+ derive from. It manages the
+widget lifecycle, states and style.
+
+# Height-for-width Geometry Management # {@/geometry/@-management}
+
+GTK+ uses a height-for-width (and width-for-height) geometry management
+system. Height-for-width means that a widget can change how much
+vertical space it needs, depending on the amount of horizontal space
+that it is given (and similar for width-for-height). The most common
+example is a label that reflows to fill up the available width, wraps
+to fewer lines, and therefore needs less height.
+
+Height-for-width geometry management is implemented in GTK+ by way
+of five virtual methods:
+
+* 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_request_mode/@()
+* 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_width/@()
+* 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_height/@()
+* 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_height_for_width/@()
+* 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_width_for_height/@()
+* 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_height_and_baseline_for_width/@()
+
+
+There are some important things to keep in mind when implementing
+height-for-width and when using it in container implementations.
+
+The geometry management system will query a widget hierarchy in
+only one orientation at a time. When widgets are initially queried
+for their minimum sizes it is generally done in two initial passes
+in the 'GI.Gtk.Enums.SizeRequestMode' chosen by the toplevel.
+
+For example, when queried in the normal
+'GI.Gtk.Enums.SizeRequestModeHeightForWidth' mode:
+First, the default minimum and natural width for each widget
+in the interface will be computed using 'GI.Gtk.Objects.Widget.widgetGetPreferredWidth'.
+Because the preferred widths for each container depend on the preferred
+widths of their children, this information propagates up the hierarchy,
+and finally a minimum and natural width is determined for the entire
+toplevel. Next, the toplevel will use the minimum width to query for the
+minimum height contextual to that width using
+'GI.Gtk.Objects.Widget.widgetGetPreferredHeightForWidth', which will also be a highly
+recursive operation. The minimum height for the minimum width is normally
+used to set the minimum size constraint on the toplevel
+(unless 'GI.Gtk.Objects.Window.windowSetGeometryHints' is explicitly used instead).
+
+After the toplevel window has initially requested its size in both
+dimensions it can go on to allocate itself a reasonable size (or a size
+previously specified with 'GI.Gtk.Objects.Window.windowSetDefaultSize'). During the
+recursive allocation process it’s important to note that request cycles
+will be recursively executed while container widgets allocate their children.
+Each container widget, once allocated a size, will go on to first share the
+space in one orientation among its children and then request each child\'s
+height for its target allocated width or its width for allocated height,
+depending. In this way a 'GI.Gtk.Objects.Widget.Widget' will typically be requested its size
+a number of times before actually being allocated a size. The size a
+widget is finally allocated can of course differ from the size it has
+requested. For this reason, 'GI.Gtk.Objects.Widget.Widget' caches a  small number of results
+to avoid re-querying for the same sizes in one allocation cycle.
+
+See
+[GtkContainer’s geometry management section][container-geometry-management]
+to learn more about how height-for-width allocations are performed
+by container widgets.
+
+If a widget does move content around to intelligently use up the
+allocated size then it must support the request in both
+@/GtkSizeRequestModes/@ even if the widget in question only
+trades sizes in a single orientation.
+
+For instance, a 'GI.Gtk.Objects.Label.Label' that does height-for-width word wrapping
+will not expect to have 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_height/@() called
+because that call is specific to a width-for-height request. In this
+case the label must return the height required for its own minimum
+possible width. By following this rule any widget that handles
+height-for-width or width-for-height requests will always be allocated
+at least enough space to fit its own content.
+
+Here are some examples of how a 'GI.Gtk.Enums.SizeRequestModeHeightForWidth' widget
+generally deals with width-for-height requests, for 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_height/@()
+it will do:
+
+
+=== /C code/
+>
+>static void
+>foo_widget_get_preferred_height (GtkWidget *widget,
+>                                 gint *min_height,
+>                                 gint *nat_height)
+>{
+>   if (i_am_in_height_for_width_mode)
+>     {
+>       gint min_width, nat_width;
+>
+>       GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget,
+>                                                           &min_width,
+>                                                           &nat_width);
+>       GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width
+>                                                          (widget,
+>                                                           min_width,
+>                                                           min_height,
+>                                                           nat_height);
+>     }
+>   else
+>     {
+>        ... some widgets do both. For instance, if a GtkLabel is
+>        rotated to 90 degrees it will return the minimum and
+>        natural height for the rotated label here.
+>     }
+>}
+
+
+And in 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_width_for_height/@() it will simply return
+the minimum and natural width:
+
+=== /C code/
+>
+>static void
+>foo_widget_get_preferred_width_for_height (GtkWidget *widget,
+>                                           gint for_height,
+>                                           gint *min_width,
+>                                           gint *nat_width)
+>{
+>   if (i_am_in_height_for_width_mode)
+>     {
+>       GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget,
+>                                                           min_width,
+>                                                           nat_width);
+>     }
+>   else
+>     {
+>        ... again if a widget is sometimes operating in
+>        width-for-height mode (like a rotated GtkLabel) it can go
+>        ahead and do its real width for height calculation here.
+>     }
+>}
+
+
+Often a widget needs to get its own request during size request or
+allocation. For example, when computing height it may need to also
+compute width. Or when deciding how to use an allocation, the widget
+may need to know its natural size. In these cases, the widget should
+be careful to call its virtual methods directly, like this:
+
+
+=== /C code/
+>
+>GTK_WIDGET_GET_CLASS(widget)->get_preferred_width (widget,
+>                                                   &min,
+>                                                   &natural);
+
+
+It will not work to use the wrapper functions, such as
+'GI.Gtk.Objects.Widget.widgetGetPreferredWidth' inside your own size request
+implementation. These return a request adjusted by 'GI.Gtk.Objects.SizeGroup.SizeGroup'
+and by the 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/adjust_size_request/@() virtual method. If a
+widget used the wrappers inside its virtual method implementations,
+then the adjustments (such as widget margins) would be applied
+twice. GTK+ therefore does not allow this and will warn if you try
+to do it.
+
+Of course if you are getting the size request for
+another widget, such as a child of a
+container, you must use the wrapper APIs.
+Otherwise, you would not properly consider widget margins,
+'GI.Gtk.Objects.SizeGroup.SizeGroup', and so forth.
+
+Since 3.10 GTK+ also supports baseline vertical alignment of widgets. This
+means that widgets are positioned such that the typographical baseline of
+widgets in the same row are aligned. This happens if a widget supports baselines,
+has a vertical alignment of 'GI.Gtk.Enums.AlignBaseline', and is inside a container
+that supports baselines and has a natural “row” that it aligns to the baseline,
+or a baseline assigned to it by the grandparent.
+
+Baseline alignment support for a widget is done by the 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_height_and_baseline_for_width/@()
+virtual function. It allows you to report a baseline in combination with the
+minimum and natural height. If there is no baseline you can return -1 to indicate
+this. The default implementation of this virtual function calls into the
+'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_height/@() and 'GI.Gtk.Structs.WidgetClass.WidgetClass'.@/get_preferred_height_for_width/@(),
+so if baselines are not supported it doesn’t need to be implemented.
+
+If a widget ends up baseline aligned it will be allocated all the space in the parent
+as if it was 'GI.Gtk.Enums.AlignFill', but the selected baseline can be found via 'GI.Gtk.Objects.Widget.widgetGetAllocatedBaseline'.
+If this has a value other than -1 you need to align the widget such that the baseline
+appears at the position.
+
+= Style Properties
+
+'GI.Gtk.Objects.Widget.Widget' introduces “style
+properties” - these are basically object properties that are stored
+not on the object, but in the style object associated to the widget. Style
+properties are set in [resource files][gtk3-Resource-Files].
+This mechanism is used for configuring such things as the location of the
+scrollbar arrows through the theme, giving theme authors more control over the
+look of applications without the need to write a theme engine in C.
+
+Use 'GI.Gtk.Structs.WidgetClass.widgetClassInstallStyleProperty' to install style properties for
+a widget class, 'GI.Gtk.Structs.WidgetClass.widgetClassFindStyleProperty' or
+'GI.Gtk.Structs.WidgetClass.widgetClassListStyleProperties' to get information about existing
+style properties and 'GI.Gtk.Objects.Widget.widgetStyleGetProperty', @/gtk_widget_style_get()/@ or
+@/gtk_widget_style_get_valist()/@ to obtain the value of a style property.
+
+= GtkWidget as GtkBuildable
+
+The GtkWidget implementation of the GtkBuildable interface supports a
+custom \<accelerator> element, which has attributes named ”key”, ”modifiers”
+and ”signal” and allows to specify accelerators.
+
+An example of a UI definition fragment specifying an accelerator:
+>
+><object class="GtkButton">
+>  <accelerator key="q" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
+></object>
+
+
+In addition to accelerators, GtkWidget also support a custom \<accessible>
+element, which supports actions and relations. Properties on the accessible
+implementation of an object can be set by accessing the internal child
+“accessible” of a 'GI.Gtk.Objects.Widget.Widget'.
+
+An example of a UI definition fragment specifying an accessible:
+>
+><object class="GtkLabel" id="label1"/>
+>  <property name="label">I am a Label for a Button</property>
+></object>
+><object class="GtkButton" id="button1">
+>  <accessibility>
+>    <action action_name="click" translatable="yes">Click the button.</action>
+>    <relation target="label1" type="labelled-by"/>
+>  </accessibility>
+>  <child internal-child="accessible">
+>    <object class="AtkObject" id="a11y-button1">
+>      <property name="accessible-name">Clickable Button</property>
+>    </object>
+>  </child>
+></object>
+
+
+Finally, GtkWidget allows style information such as style classes to
+be associated with widgets, using the custom \<style> element:
+>
+><object class="GtkButton" id="button1">
+>  <style>
+>    <class name="my-special-button-class"/>
+>    <class name="dark-button"/>
+>  </style>
+></object>
+
+
+# Building composite widgets from template XML ## {@/composite/@-templates}
+
+GtkWidget exposes some facilities to automate the procedure
+of creating composite widgets using 'GI.Gtk.Objects.Builder.Builder' interface description
+language.
+
+To create composite widgets with 'GI.Gtk.Objects.Builder.Builder' XML, one must associate
+the interface description with the widget class at class initialization
+time using 'GI.Gtk.Structs.WidgetClass.widgetClassSetTemplate'.
+
+The interface description semantics expected in composite template descriptions
+is slightly different from regular 'GI.Gtk.Objects.Builder.Builder' XML.
+
+Unlike regular interface descriptions, 'GI.Gtk.Structs.WidgetClass.widgetClassSetTemplate' will
+expect a \<template> tag as a direct child of the toplevel \<interface>
+tag. The \<template> tag must specify the “class” attribute which must be
+the type name of the widget. Optionally, the “parent” attribute may be
+specified to specify the direct parent type of the widget type, this is
+ignored by the GtkBuilder but required for Glade to introspect what kind
+of properties and internal children exist for a given type when the actual
+type does not exist.
+
+The XML which is contained inside the \<template> tag behaves as if it were
+added to the \<object> tag defining /@widget@/ itself. You may set properties
+on /@widget@/ by inserting \<property> tags into the \<template> tag, and also
+add \<child> tags to add children and extend /@widget@/ in the normal way you
+would with \<object> tags.
+
+Additionally, \<object> tags can also be added before and after the initial
+\<template> tag in the normal way, allowing one to define auxiliary objects
+which might be referenced by other widgets declared as children of the
+\<template> tag.
+
+An example of a GtkBuilder Template Definition:
+>
+><interface>
+>  <template class="FooWidget" parent="GtkBox">
+>    <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
+>    <property name="spacing">4</property>
+>    <child>
+>      <object class="GtkButton" id="hello_button">
+>        <property name="label">Hello World</property>
+>        <signal name="clicked" handler="hello_button_clicked" object="FooWidget" swapped="yes"/>
+>      </object>
+>    </child>
+>    <child>
+>      <object class="GtkButton" id="goodbye_button">
+>        <property name="label">Goodbye World</property>
+>      </object>
+>    </child>
+>  </template>
+></interface>
+
+
+Typically, you\'ll place the template fragment into a file that is
+bundled with your project, using 'GI.Gio.Structs.Resource.Resource'. In order to load the
+template, you need to call 'GI.Gtk.Structs.WidgetClass.widgetClassSetTemplateFromResource'
+from the class initialization of your 'GI.Gtk.Objects.Widget.Widget' type:
+
+
+=== /C code/
+>
+>static void
+>foo_widget_class_init (FooWidgetClass *klass)
+>{
+>  // ...
+>
+>  gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
+>                                               "/com/example/ui/foowidget.ui");
+>}
+
+
+You will also need to call 'GI.Gtk.Objects.Widget.widgetInitTemplate' from the instance
+initialization function:
+
+
+=== /C code/
+>
+>static void
+>foo_widget_init (FooWidget *self)
+>{
+>  // ...
+>  gtk_widget_init_template (GTK_WIDGET (self));
+>}
+
+
+You can access widgets defined in the template using the
+'GI.Gtk.Objects.Widget.widgetGetTemplateChild' function, but you will typically declare
+a pointer in the instance private data structure of your type using the same
+name as the widget in the template definition, and call
+@/gtk_widget_class_bind_template_child_private()/@ with that name, e.g.
+
+
+=== /C code/
+>
+>typedef struct {
+>  GtkWidget *hello_button;
+>  GtkWidget *goodbye_button;
+>} FooWidgetPrivate;
+>
+>G_DEFINE_TYPE_WITH_PRIVATE (FooWidget, foo_widget, GTK_TYPE_BOX)
+>
+>static void
+>foo_widget_class_init (FooWidgetClass *klass)
+>{
+>  // ...
+>  gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
+>                                               "/com/example/ui/foowidget.ui");
+>  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass),
+>                                                FooWidget, hello_button);
+>  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass),
+>                                                FooWidget, goodbye_button);
+>}
+>
+>static void
+>foo_widget_init (FooWidget *widget)
+>{
+>
+>}
+
+
+You can also use @/gtk_widget_class_bind_template_callback()/@ to connect a signal
+callback defined in the template with a function visible in the scope of the
+class, e.g.
+
+
+=== /C code/
+>
+>// the signal handler has the instance and user data swapped
+>// because of the swapped="yes" attribute in the template XML
+>static void
+>hello_button_clicked (FooWidget *self,
+>                      GtkButton *button)
+>{
+>  g_print ("Hello, world!\n");
+>}
+>
+>static void
+>foo_widget_class_init (FooWidgetClass *klass)
+>{
+>  // ...
+>  gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
+>                                               "/com/example/ui/foowidget.ui");
+>  gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (klass), hello_button_clicked);
+>}
+
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Widget
+    ( 
+
+-- * Exported types
+    Widget(..)                              ,
+    IsWidget                                ,
+    toWidget                                ,
+    noWidget                                ,
+
+
+ -- * Methods
+-- ** activate #method:activate#
+
+#if ENABLE_OVERLOADING
+    WidgetActivateMethodInfo                ,
+#endif
+    widgetActivate                          ,
+
+
+-- ** addAccelerator #method:addAccelerator#
+
+#if ENABLE_OVERLOADING
+    WidgetAddAcceleratorMethodInfo          ,
+#endif
+    widgetAddAccelerator                    ,
+
+
+-- ** addDeviceEvents #method:addDeviceEvents#
+
+#if ENABLE_OVERLOADING
+    WidgetAddDeviceEventsMethodInfo         ,
+#endif
+    widgetAddDeviceEvents                   ,
+
+
+-- ** addEvents #method:addEvents#
+
+#if ENABLE_OVERLOADING
+    WidgetAddEventsMethodInfo               ,
+#endif
+    widgetAddEvents                         ,
+
+
+-- ** addMnemonicLabel #method:addMnemonicLabel#
+
+#if ENABLE_OVERLOADING
+    WidgetAddMnemonicLabelMethodInfo        ,
+#endif
+    widgetAddMnemonicLabel                  ,
+
+
+-- ** addTickCallback #method:addTickCallback#
+
+#if ENABLE_OVERLOADING
+    WidgetAddTickCallbackMethodInfo         ,
+#endif
+    widgetAddTickCallback                   ,
+
+
+-- ** canActivateAccel #method:canActivateAccel#
+
+#if ENABLE_OVERLOADING
+    WidgetCanActivateAccelMethodInfo        ,
+#endif
+    widgetCanActivateAccel                  ,
+
+
+-- ** childFocus #method:childFocus#
+
+#if ENABLE_OVERLOADING
+    WidgetChildFocusMethodInfo              ,
+#endif
+    widgetChildFocus                        ,
+
+
+-- ** childNotify #method:childNotify#
+
+#if ENABLE_OVERLOADING
+    WidgetChildNotifyMethodInfo             ,
+#endif
+    widgetChildNotify                       ,
+
+
+-- ** classPath #method:classPath#
+
+#if ENABLE_OVERLOADING
+    WidgetClassPathMethodInfo               ,
+#endif
+    widgetClassPath                         ,
+
+
+-- ** computeExpand #method:computeExpand#
+
+#if ENABLE_OVERLOADING
+    WidgetComputeExpandMethodInfo           ,
+#endif
+    widgetComputeExpand                     ,
+
+
+-- ** createPangoContext #method:createPangoContext#
+
+#if ENABLE_OVERLOADING
+    WidgetCreatePangoContextMethodInfo      ,
+#endif
+    widgetCreatePangoContext                ,
+
+
+-- ** createPangoLayout #method:createPangoLayout#
+
+#if ENABLE_OVERLOADING
+    WidgetCreatePangoLayoutMethodInfo       ,
+#endif
+    widgetCreatePangoLayout                 ,
+
+
+-- ** destroy #method:destroy#
+
+#if ENABLE_OVERLOADING
+    WidgetDestroyMethodInfo                 ,
+#endif
+    widgetDestroy                           ,
+
+
+-- ** destroyed #method:destroyed#
+
+#if ENABLE_OVERLOADING
+    WidgetDestroyedMethodInfo               ,
+#endif
+    widgetDestroyed                         ,
+
+
+-- ** deviceIsShadowed #method:deviceIsShadowed#
+
+#if ENABLE_OVERLOADING
+    WidgetDeviceIsShadowedMethodInfo        ,
+#endif
+    widgetDeviceIsShadowed                  ,
+
+
+-- ** dragBegin #method:dragBegin#
+
+#if ENABLE_OVERLOADING
+    WidgetDragBeginMethodInfo               ,
+#endif
+    widgetDragBegin                         ,
+
+
+-- ** dragBeginWithCoordinates #method:dragBeginWithCoordinates#
+
+#if ENABLE_OVERLOADING
+    WidgetDragBeginWithCoordinatesMethodInfo,
+#endif
+    widgetDragBeginWithCoordinates          ,
+
+
+-- ** dragCheckThreshold #method:dragCheckThreshold#
+
+#if ENABLE_OVERLOADING
+    WidgetDragCheckThresholdMethodInfo      ,
+#endif
+    widgetDragCheckThreshold                ,
+
+
+-- ** dragDestAddImageTargets #method:dragDestAddImageTargets#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestAddImageTargetsMethodInfo ,
+#endif
+    widgetDragDestAddImageTargets           ,
+
+
+-- ** dragDestAddTextTargets #method:dragDestAddTextTargets#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestAddTextTargetsMethodInfo  ,
+#endif
+    widgetDragDestAddTextTargets            ,
+
+
+-- ** dragDestAddUriTargets #method:dragDestAddUriTargets#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestAddUriTargetsMethodInfo   ,
+#endif
+    widgetDragDestAddUriTargets             ,
+
+
+-- ** dragDestFindTarget #method:dragDestFindTarget#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestFindTargetMethodInfo      ,
+#endif
+    widgetDragDestFindTarget                ,
+
+
+-- ** dragDestGetTargetList #method:dragDestGetTargetList#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestGetTargetListMethodInfo   ,
+#endif
+    widgetDragDestGetTargetList             ,
+
+
+-- ** dragDestGetTrackMotion #method:dragDestGetTrackMotion#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestGetTrackMotionMethodInfo  ,
+#endif
+    widgetDragDestGetTrackMotion            ,
+
+
+-- ** dragDestSet #method:dragDestSet#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestSetMethodInfo             ,
+#endif
+    widgetDragDestSet                       ,
+
+
+-- ** dragDestSetProxy #method:dragDestSetProxy#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestSetProxyMethodInfo        ,
+#endif
+    widgetDragDestSetProxy                  ,
+
+
+-- ** dragDestSetTargetList #method:dragDestSetTargetList#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestSetTargetListMethodInfo   ,
+#endif
+    widgetDragDestSetTargetList             ,
+
+
+-- ** dragDestSetTrackMotion #method:dragDestSetTrackMotion#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestSetTrackMotionMethodInfo  ,
+#endif
+    widgetDragDestSetTrackMotion            ,
+
+
+-- ** dragDestUnset #method:dragDestUnset#
+
+#if ENABLE_OVERLOADING
+    WidgetDragDestUnsetMethodInfo           ,
+#endif
+    widgetDragDestUnset                     ,
+
+
+-- ** dragGetData #method:dragGetData#
+
+#if ENABLE_OVERLOADING
+    WidgetDragGetDataMethodInfo             ,
+#endif
+    widgetDragGetData                       ,
+
+
+-- ** dragHighlight #method:dragHighlight#
+
+#if ENABLE_OVERLOADING
+    WidgetDragHighlightMethodInfo           ,
+#endif
+    widgetDragHighlight                     ,
+
+
+-- ** dragSourceAddImageTargets #method:dragSourceAddImageTargets#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceAddImageTargetsMethodInfo,
+#endif
+    widgetDragSourceAddImageTargets         ,
+
+
+-- ** dragSourceAddTextTargets #method:dragSourceAddTextTargets#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceAddTextTargetsMethodInfo,
+#endif
+    widgetDragSourceAddTextTargets          ,
+
+
+-- ** dragSourceAddUriTargets #method:dragSourceAddUriTargets#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceAddUriTargetsMethodInfo ,
+#endif
+    widgetDragSourceAddUriTargets           ,
+
+
+-- ** dragSourceGetTargetList #method:dragSourceGetTargetList#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceGetTargetListMethodInfo ,
+#endif
+    widgetDragSourceGetTargetList           ,
+
+
+-- ** dragSourceSet #method:dragSourceSet#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceSetMethodInfo           ,
+#endif
+    widgetDragSourceSet                     ,
+
+
+-- ** dragSourceSetIconGicon #method:dragSourceSetIconGicon#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceSetIconGiconMethodInfo  ,
+#endif
+    widgetDragSourceSetIconGicon            ,
+
+
+-- ** dragSourceSetIconName #method:dragSourceSetIconName#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceSetIconNameMethodInfo   ,
+#endif
+    widgetDragSourceSetIconName             ,
+
+
+-- ** dragSourceSetIconPixbuf #method:dragSourceSetIconPixbuf#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceSetIconPixbufMethodInfo ,
+#endif
+    widgetDragSourceSetIconPixbuf           ,
+
+
+-- ** dragSourceSetIconStock #method:dragSourceSetIconStock#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceSetIconStockMethodInfo  ,
+#endif
+    widgetDragSourceSetIconStock            ,
+
+
+-- ** dragSourceSetTargetList #method:dragSourceSetTargetList#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceSetTargetListMethodInfo ,
+#endif
+    widgetDragSourceSetTargetList           ,
+
+
+-- ** dragSourceUnset #method:dragSourceUnset#
+
+#if ENABLE_OVERLOADING
+    WidgetDragSourceUnsetMethodInfo         ,
+#endif
+    widgetDragSourceUnset                   ,
+
+
+-- ** dragUnhighlight #method:dragUnhighlight#
+
+#if ENABLE_OVERLOADING
+    WidgetDragUnhighlightMethodInfo         ,
+#endif
+    widgetDragUnhighlight                   ,
+
+
+-- ** draw #method:draw#
+
+#if ENABLE_OVERLOADING
+    WidgetDrawMethodInfo                    ,
+#endif
+    widgetDraw                              ,
+
+
+-- ** ensureStyle #method:ensureStyle#
+
+#if ENABLE_OVERLOADING
+    WidgetEnsureStyleMethodInfo             ,
+#endif
+    widgetEnsureStyle                       ,
+
+
+-- ** errorBell #method:errorBell#
+
+#if ENABLE_OVERLOADING
+    WidgetErrorBellMethodInfo               ,
+#endif
+    widgetErrorBell                         ,
+
+
+-- ** event #method:event#
+
+#if ENABLE_OVERLOADING
+    WidgetEventMethodInfo                   ,
+#endif
+    widgetEvent                             ,
+
+
+-- ** freezeChildNotify #method:freezeChildNotify#
+
+#if ENABLE_OVERLOADING
+    WidgetFreezeChildNotifyMethodInfo       ,
+#endif
+    widgetFreezeChildNotify                 ,
+
+
+-- ** getAccessible #method:getAccessible#
+
+#if ENABLE_OVERLOADING
+    WidgetGetAccessibleMethodInfo           ,
+#endif
+    widgetGetAccessible                     ,
+
+
+-- ** getActionGroup #method:getActionGroup#
+
+#if ENABLE_OVERLOADING
+    WidgetGetActionGroupMethodInfo          ,
+#endif
+    widgetGetActionGroup                    ,
+
+
+-- ** getAllocatedBaseline #method:getAllocatedBaseline#
+
+#if ENABLE_OVERLOADING
+    WidgetGetAllocatedBaselineMethodInfo    ,
+#endif
+    widgetGetAllocatedBaseline              ,
+
+
+-- ** getAllocatedHeight #method:getAllocatedHeight#
+
+#if ENABLE_OVERLOADING
+    WidgetGetAllocatedHeightMethodInfo      ,
+#endif
+    widgetGetAllocatedHeight                ,
+
+
+-- ** getAllocatedSize #method:getAllocatedSize#
+
+#if ENABLE_OVERLOADING
+    WidgetGetAllocatedSizeMethodInfo        ,
+#endif
+    widgetGetAllocatedSize                  ,
+
+
+-- ** getAllocatedWidth #method:getAllocatedWidth#
+
+#if ENABLE_OVERLOADING
+    WidgetGetAllocatedWidthMethodInfo       ,
+#endif
+    widgetGetAllocatedWidth                 ,
+
+
+-- ** getAllocation #method:getAllocation#
+
+#if ENABLE_OVERLOADING
+    WidgetGetAllocationMethodInfo           ,
+#endif
+    widgetGetAllocation                     ,
+
+
+-- ** getAncestor #method:getAncestor#
+
+#if ENABLE_OVERLOADING
+    WidgetGetAncestorMethodInfo             ,
+#endif
+    widgetGetAncestor                       ,
+
+
+-- ** getAppPaintable #method:getAppPaintable#
+
+#if ENABLE_OVERLOADING
+    WidgetGetAppPaintableMethodInfo         ,
+#endif
+    widgetGetAppPaintable                   ,
+
+
+-- ** getCanDefault #method:getCanDefault#
+
+#if ENABLE_OVERLOADING
+    WidgetGetCanDefaultMethodInfo           ,
+#endif
+    widgetGetCanDefault                     ,
+
+
+-- ** getCanFocus #method:getCanFocus#
+
+#if ENABLE_OVERLOADING
+    WidgetGetCanFocusMethodInfo             ,
+#endif
+    widgetGetCanFocus                       ,
+
+
+-- ** getChildRequisition #method:getChildRequisition#
+
+#if ENABLE_OVERLOADING
+    WidgetGetChildRequisitionMethodInfo     ,
+#endif
+    widgetGetChildRequisition               ,
+
+
+-- ** getChildVisible #method:getChildVisible#
+
+#if ENABLE_OVERLOADING
+    WidgetGetChildVisibleMethodInfo         ,
+#endif
+    widgetGetChildVisible                   ,
+
+
+-- ** getClip #method:getClip#
+
+#if ENABLE_OVERLOADING
+    WidgetGetClipMethodInfo                 ,
+#endif
+    widgetGetClip                           ,
+
+
+-- ** getClipboard #method:getClipboard#
+
+#if ENABLE_OVERLOADING
+    WidgetGetClipboardMethodInfo            ,
+#endif
+    widgetGetClipboard                      ,
+
+
+-- ** getCompositeName #method:getCompositeName#
+
+#if ENABLE_OVERLOADING
+    WidgetGetCompositeNameMethodInfo        ,
+#endif
+    widgetGetCompositeName                  ,
+
+
+-- ** getDefaultDirection #method:getDefaultDirection#
+
+    widgetGetDefaultDirection               ,
+
+
+-- ** getDefaultStyle #method:getDefaultStyle#
+
+    widgetGetDefaultStyle                   ,
+
+
+-- ** getDeviceEnabled #method:getDeviceEnabled#
+
+#if ENABLE_OVERLOADING
+    WidgetGetDeviceEnabledMethodInfo        ,
+#endif
+    widgetGetDeviceEnabled                  ,
+
+
+-- ** getDeviceEvents #method:getDeviceEvents#
+
+#if ENABLE_OVERLOADING
+    WidgetGetDeviceEventsMethodInfo         ,
+#endif
+    widgetGetDeviceEvents                   ,
+
+
+-- ** getDirection #method:getDirection#
+
+#if ENABLE_OVERLOADING
+    WidgetGetDirectionMethodInfo            ,
+#endif
+    widgetGetDirection                      ,
+
+
+-- ** getDisplay #method:getDisplay#
+
+#if ENABLE_OVERLOADING
+    WidgetGetDisplayMethodInfo              ,
+#endif
+    widgetGetDisplay                        ,
+
+
+-- ** getDoubleBuffered #method:getDoubleBuffered#
+
+#if ENABLE_OVERLOADING
+    WidgetGetDoubleBufferedMethodInfo       ,
+#endif
+    widgetGetDoubleBuffered                 ,
+
+
+-- ** getEvents #method:getEvents#
+
+#if ENABLE_OVERLOADING
+    WidgetGetEventsMethodInfo               ,
+#endif
+    widgetGetEvents                         ,
+
+
+-- ** getFocusOnClick #method:getFocusOnClick#
+
+#if ENABLE_OVERLOADING
+    WidgetGetFocusOnClickMethodInfo         ,
+#endif
+    widgetGetFocusOnClick                   ,
+
+
+-- ** getFontMap #method:getFontMap#
+
+#if ENABLE_OVERLOADING
+    WidgetGetFontMapMethodInfo              ,
+#endif
+    widgetGetFontMap                        ,
+
+
+-- ** getFontOptions #method:getFontOptions#
+
+#if ENABLE_OVERLOADING
+    WidgetGetFontOptionsMethodInfo          ,
+#endif
+    widgetGetFontOptions                    ,
+
+
+-- ** getFrameClock #method:getFrameClock#
+
+#if ENABLE_OVERLOADING
+    WidgetGetFrameClockMethodInfo           ,
+#endif
+    widgetGetFrameClock                     ,
+
+
+-- ** getHalign #method:getHalign#
+
+#if ENABLE_OVERLOADING
+    WidgetGetHalignMethodInfo               ,
+#endif
+    widgetGetHalign                         ,
+
+
+-- ** getHasTooltip #method:getHasTooltip#
+
+#if ENABLE_OVERLOADING
+    WidgetGetHasTooltipMethodInfo           ,
+#endif
+    widgetGetHasTooltip                     ,
+
+
+-- ** getHasWindow #method:getHasWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetGetHasWindowMethodInfo            ,
+#endif
+    widgetGetHasWindow                      ,
+
+
+-- ** getHexpand #method:getHexpand#
+
+#if ENABLE_OVERLOADING
+    WidgetGetHexpandMethodInfo              ,
+#endif
+    widgetGetHexpand                        ,
+
+
+-- ** getHexpandSet #method:getHexpandSet#
+
+#if ENABLE_OVERLOADING
+    WidgetGetHexpandSetMethodInfo           ,
+#endif
+    widgetGetHexpandSet                     ,
+
+
+-- ** getMapped #method:getMapped#
+
+#if ENABLE_OVERLOADING
+    WidgetGetMappedMethodInfo               ,
+#endif
+    widgetGetMapped                         ,
+
+
+-- ** getMarginBottom #method:getMarginBottom#
+
+#if ENABLE_OVERLOADING
+    WidgetGetMarginBottomMethodInfo         ,
+#endif
+    widgetGetMarginBottom                   ,
+
+
+-- ** getMarginEnd #method:getMarginEnd#
+
+#if ENABLE_OVERLOADING
+    WidgetGetMarginEndMethodInfo            ,
+#endif
+    widgetGetMarginEnd                      ,
+
+
+-- ** getMarginLeft #method:getMarginLeft#
+
+#if ENABLE_OVERLOADING
+    WidgetGetMarginLeftMethodInfo           ,
+#endif
+    widgetGetMarginLeft                     ,
+
+
+-- ** getMarginRight #method:getMarginRight#
+
+#if ENABLE_OVERLOADING
+    WidgetGetMarginRightMethodInfo          ,
+#endif
+    widgetGetMarginRight                    ,
+
+
+-- ** getMarginStart #method:getMarginStart#
+
+#if ENABLE_OVERLOADING
+    WidgetGetMarginStartMethodInfo          ,
+#endif
+    widgetGetMarginStart                    ,
+
+
+-- ** getMarginTop #method:getMarginTop#
+
+#if ENABLE_OVERLOADING
+    WidgetGetMarginTopMethodInfo            ,
+#endif
+    widgetGetMarginTop                      ,
+
+
+-- ** getModifierMask #method:getModifierMask#
+
+#if ENABLE_OVERLOADING
+    WidgetGetModifierMaskMethodInfo         ,
+#endif
+    widgetGetModifierMask                   ,
+
+
+-- ** getModifierStyle #method:getModifierStyle#
+
+#if ENABLE_OVERLOADING
+    WidgetGetModifierStyleMethodInfo        ,
+#endif
+    widgetGetModifierStyle                  ,
+
+
+-- ** getName #method:getName#
+
+#if ENABLE_OVERLOADING
+    WidgetGetNameMethodInfo                 ,
+#endif
+    widgetGetName                           ,
+
+
+-- ** getNoShowAll #method:getNoShowAll#
+
+#if ENABLE_OVERLOADING
+    WidgetGetNoShowAllMethodInfo            ,
+#endif
+    widgetGetNoShowAll                      ,
+
+
+-- ** getOpacity #method:getOpacity#
+
+#if ENABLE_OVERLOADING
+    WidgetGetOpacityMethodInfo              ,
+#endif
+    widgetGetOpacity                        ,
+
+
+-- ** getPangoContext #method:getPangoContext#
+
+#if ENABLE_OVERLOADING
+    WidgetGetPangoContextMethodInfo         ,
+#endif
+    widgetGetPangoContext                   ,
+
+
+-- ** getParent #method:getParent#
+
+#if ENABLE_OVERLOADING
+    WidgetGetParentMethodInfo               ,
+#endif
+    widgetGetParent                         ,
+
+
+-- ** getParentWindow #method:getParentWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetGetParentWindowMethodInfo         ,
+#endif
+    widgetGetParentWindow                   ,
+
+
+-- ** getPath #method:getPath#
+
+#if ENABLE_OVERLOADING
+    WidgetGetPathMethodInfo                 ,
+#endif
+    widgetGetPath                           ,
+
+
+-- ** getPointer #method:getPointer#
+
+#if ENABLE_OVERLOADING
+    WidgetGetPointerMethodInfo              ,
+#endif
+    widgetGetPointer                        ,
+
+
+-- ** getPreferredHeight #method:getPreferredHeight#
+
+#if ENABLE_OVERLOADING
+    WidgetGetPreferredHeightMethodInfo      ,
+#endif
+    widgetGetPreferredHeight                ,
+
+
+-- ** getPreferredHeightAndBaselineForWidth #method:getPreferredHeightAndBaselineForWidth#
+
+#if ENABLE_OVERLOADING
+    WidgetGetPreferredHeightAndBaselineForWidthMethodInfo,
+#endif
+    widgetGetPreferredHeightAndBaselineForWidth,
+
+
+-- ** getPreferredHeightForWidth #method:getPreferredHeightForWidth#
+
+#if ENABLE_OVERLOADING
+    WidgetGetPreferredHeightForWidthMethodInfo,
+#endif
+    widgetGetPreferredHeightForWidth        ,
+
+
+-- ** getPreferredSize #method:getPreferredSize#
+
+#if ENABLE_OVERLOADING
+    WidgetGetPreferredSizeMethodInfo        ,
+#endif
+    widgetGetPreferredSize                  ,
+
+
+-- ** getPreferredWidth #method:getPreferredWidth#
+
+#if ENABLE_OVERLOADING
+    WidgetGetPreferredWidthMethodInfo       ,
+#endif
+    widgetGetPreferredWidth                 ,
+
+
+-- ** getPreferredWidthForHeight #method:getPreferredWidthForHeight#
+
+#if ENABLE_OVERLOADING
+    WidgetGetPreferredWidthForHeightMethodInfo,
+#endif
+    widgetGetPreferredWidthForHeight        ,
+
+
+-- ** getRealized #method:getRealized#
+
+#if ENABLE_OVERLOADING
+    WidgetGetRealizedMethodInfo             ,
+#endif
+    widgetGetRealized                       ,
+
+
+-- ** getReceivesDefault #method:getReceivesDefault#
+
+#if ENABLE_OVERLOADING
+    WidgetGetReceivesDefaultMethodInfo      ,
+#endif
+    widgetGetReceivesDefault                ,
+
+
+-- ** getRequestMode #method:getRequestMode#
+
+#if ENABLE_OVERLOADING
+    WidgetGetRequestModeMethodInfo          ,
+#endif
+    widgetGetRequestMode                    ,
+
+
+-- ** getRequisition #method:getRequisition#
+
+#if ENABLE_OVERLOADING
+    WidgetGetRequisitionMethodInfo          ,
+#endif
+    widgetGetRequisition                    ,
+
+
+-- ** getRootWindow #method:getRootWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetGetRootWindowMethodInfo           ,
+#endif
+    widgetGetRootWindow                     ,
+
+
+-- ** getScaleFactor #method:getScaleFactor#
+
+#if ENABLE_OVERLOADING
+    WidgetGetScaleFactorMethodInfo          ,
+#endif
+    widgetGetScaleFactor                    ,
+
+
+-- ** getScreen #method:getScreen#
+
+#if ENABLE_OVERLOADING
+    WidgetGetScreenMethodInfo               ,
+#endif
+    widgetGetScreen                         ,
+
+
+-- ** getSensitive #method:getSensitive#
+
+#if ENABLE_OVERLOADING
+    WidgetGetSensitiveMethodInfo            ,
+#endif
+    widgetGetSensitive                      ,
+
+
+-- ** getSettings #method:getSettings#
+
+#if ENABLE_OVERLOADING
+    WidgetGetSettingsMethodInfo             ,
+#endif
+    widgetGetSettings                       ,
+
+
+-- ** getSizeRequest #method:getSizeRequest#
+
+#if ENABLE_OVERLOADING
+    WidgetGetSizeRequestMethodInfo          ,
+#endif
+    widgetGetSizeRequest                    ,
+
+
+-- ** getState #method:getState#
+
+#if ENABLE_OVERLOADING
+    WidgetGetStateMethodInfo                ,
+#endif
+    widgetGetState                          ,
+
+
+-- ** getStateFlags #method:getStateFlags#
+
+#if ENABLE_OVERLOADING
+    WidgetGetStateFlagsMethodInfo           ,
+#endif
+    widgetGetStateFlags                     ,
+
+
+-- ** getStyle #method:getStyle#
+
+#if ENABLE_OVERLOADING
+    WidgetGetStyleMethodInfo                ,
+#endif
+    widgetGetStyle                          ,
+
+
+-- ** getStyleContext #method:getStyleContext#
+
+#if ENABLE_OVERLOADING
+    WidgetGetStyleContextMethodInfo         ,
+#endif
+    widgetGetStyleContext                   ,
+
+
+-- ** getSupportMultidevice #method:getSupportMultidevice#
+
+#if ENABLE_OVERLOADING
+    WidgetGetSupportMultideviceMethodInfo   ,
+#endif
+    widgetGetSupportMultidevice             ,
+
+
+-- ** getTemplateChild #method:getTemplateChild#
+
+#if ENABLE_OVERLOADING
+    WidgetGetTemplateChildMethodInfo        ,
+#endif
+    widgetGetTemplateChild                  ,
+
+
+-- ** getTooltipMarkup #method:getTooltipMarkup#
+
+#if ENABLE_OVERLOADING
+    WidgetGetTooltipMarkupMethodInfo        ,
+#endif
+    widgetGetTooltipMarkup                  ,
+
+
+-- ** getTooltipText #method:getTooltipText#
+
+#if ENABLE_OVERLOADING
+    WidgetGetTooltipTextMethodInfo          ,
+#endif
+    widgetGetTooltipText                    ,
+
+
+-- ** getTooltipWindow #method:getTooltipWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetGetTooltipWindowMethodInfo        ,
+#endif
+    widgetGetTooltipWindow                  ,
+
+
+-- ** getToplevel #method:getToplevel#
+
+#if ENABLE_OVERLOADING
+    WidgetGetToplevelMethodInfo             ,
+#endif
+    widgetGetToplevel                       ,
+
+
+-- ** getValign #method:getValign#
+
+#if ENABLE_OVERLOADING
+    WidgetGetValignMethodInfo               ,
+#endif
+    widgetGetValign                         ,
+
+
+-- ** getValignWithBaseline #method:getValignWithBaseline#
+
+#if ENABLE_OVERLOADING
+    WidgetGetValignWithBaselineMethodInfo   ,
+#endif
+    widgetGetValignWithBaseline             ,
+
+
+-- ** getVexpand #method:getVexpand#
+
+#if ENABLE_OVERLOADING
+    WidgetGetVexpandMethodInfo              ,
+#endif
+    widgetGetVexpand                        ,
+
+
+-- ** getVexpandSet #method:getVexpandSet#
+
+#if ENABLE_OVERLOADING
+    WidgetGetVexpandSetMethodInfo           ,
+#endif
+    widgetGetVexpandSet                     ,
+
+
+-- ** getVisible #method:getVisible#
+
+#if ENABLE_OVERLOADING
+    WidgetGetVisibleMethodInfo              ,
+#endif
+    widgetGetVisible                        ,
+
+
+-- ** getVisual #method:getVisual#
+
+#if ENABLE_OVERLOADING
+    WidgetGetVisualMethodInfo               ,
+#endif
+    widgetGetVisual                         ,
+
+
+-- ** getWindow #method:getWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetGetWindowMethodInfo               ,
+#endif
+    widgetGetWindow                         ,
+
+
+-- ** grabAdd #method:grabAdd#
+
+#if ENABLE_OVERLOADING
+    WidgetGrabAddMethodInfo                 ,
+#endif
+    widgetGrabAdd                           ,
+
+
+-- ** grabDefault #method:grabDefault#
+
+#if ENABLE_OVERLOADING
+    WidgetGrabDefaultMethodInfo             ,
+#endif
+    widgetGrabDefault                       ,
+
+
+-- ** grabFocus #method:grabFocus#
+
+#if ENABLE_OVERLOADING
+    WidgetGrabFocusMethodInfo               ,
+#endif
+    widgetGrabFocus                         ,
+
+
+-- ** grabRemove #method:grabRemove#
+
+#if ENABLE_OVERLOADING
+    WidgetGrabRemoveMethodInfo              ,
+#endif
+    widgetGrabRemove                        ,
+
+
+-- ** hasDefault #method:hasDefault#
+
+#if ENABLE_OVERLOADING
+    WidgetHasDefaultMethodInfo              ,
+#endif
+    widgetHasDefault                        ,
+
+
+-- ** hasFocus #method:hasFocus#
+
+#if ENABLE_OVERLOADING
+    WidgetHasFocusMethodInfo                ,
+#endif
+    widgetHasFocus                          ,
+
+
+-- ** hasGrab #method:hasGrab#
+
+#if ENABLE_OVERLOADING
+    WidgetHasGrabMethodInfo                 ,
+#endif
+    widgetHasGrab                           ,
+
+
+-- ** hasRcStyle #method:hasRcStyle#
+
+#if ENABLE_OVERLOADING
+    WidgetHasRcStyleMethodInfo              ,
+#endif
+    widgetHasRcStyle                        ,
+
+
+-- ** hasScreen #method:hasScreen#
+
+#if ENABLE_OVERLOADING
+    WidgetHasScreenMethodInfo               ,
+#endif
+    widgetHasScreen                         ,
+
+
+-- ** hasVisibleFocus #method:hasVisibleFocus#
+
+#if ENABLE_OVERLOADING
+    WidgetHasVisibleFocusMethodInfo         ,
+#endif
+    widgetHasVisibleFocus                   ,
+
+
+-- ** hide #method:hide#
+
+#if ENABLE_OVERLOADING
+    WidgetHideMethodInfo                    ,
+#endif
+    widgetHide                              ,
+
+
+-- ** hideOnDelete #method:hideOnDelete#
+
+#if ENABLE_OVERLOADING
+    WidgetHideOnDeleteMethodInfo            ,
+#endif
+    widgetHideOnDelete                      ,
+
+
+-- ** inDestruction #method:inDestruction#
+
+#if ENABLE_OVERLOADING
+    WidgetInDestructionMethodInfo           ,
+#endif
+    widgetInDestruction                     ,
+
+
+-- ** initTemplate #method:initTemplate#
+
+#if ENABLE_OVERLOADING
+    WidgetInitTemplateMethodInfo            ,
+#endif
+    widgetInitTemplate                      ,
+
+
+-- ** inputShapeCombineRegion #method:inputShapeCombineRegion#
+
+#if ENABLE_OVERLOADING
+    WidgetInputShapeCombineRegionMethodInfo ,
+#endif
+    widgetInputShapeCombineRegion           ,
+
+
+-- ** insertActionGroup #method:insertActionGroup#
+
+#if ENABLE_OVERLOADING
+    WidgetInsertActionGroupMethodInfo       ,
+#endif
+    widgetInsertActionGroup                 ,
+
+
+-- ** intersect #method:intersect#
+
+#if ENABLE_OVERLOADING
+    WidgetIntersectMethodInfo               ,
+#endif
+    widgetIntersect                         ,
+
+
+-- ** isAncestor #method:isAncestor#
+
+#if ENABLE_OVERLOADING
+    WidgetIsAncestorMethodInfo              ,
+#endif
+    widgetIsAncestor                        ,
+
+
+-- ** isComposited #method:isComposited#
+
+#if ENABLE_OVERLOADING
+    WidgetIsCompositedMethodInfo            ,
+#endif
+    widgetIsComposited                      ,
+
+
+-- ** isDrawable #method:isDrawable#
+
+#if ENABLE_OVERLOADING
+    WidgetIsDrawableMethodInfo              ,
+#endif
+    widgetIsDrawable                        ,
+
+
+-- ** isFocus #method:isFocus#
+
+#if ENABLE_OVERLOADING
+    WidgetIsFocusMethodInfo                 ,
+#endif
+    widgetIsFocus                           ,
+
+
+-- ** isSensitive #method:isSensitive#
+
+#if ENABLE_OVERLOADING
+    WidgetIsSensitiveMethodInfo             ,
+#endif
+    widgetIsSensitive                       ,
+
+
+-- ** isToplevel #method:isToplevel#
+
+#if ENABLE_OVERLOADING
+    WidgetIsToplevelMethodInfo              ,
+#endif
+    widgetIsToplevel                        ,
+
+
+-- ** isVisible #method:isVisible#
+
+#if ENABLE_OVERLOADING
+    WidgetIsVisibleMethodInfo               ,
+#endif
+    widgetIsVisible                         ,
+
+
+-- ** keynavFailed #method:keynavFailed#
+
+#if ENABLE_OVERLOADING
+    WidgetKeynavFailedMethodInfo            ,
+#endif
+    widgetKeynavFailed                      ,
+
+
+-- ** listAccelClosures #method:listAccelClosures#
+
+#if ENABLE_OVERLOADING
+    WidgetListAccelClosuresMethodInfo       ,
+#endif
+    widgetListAccelClosures                 ,
+
+
+-- ** listActionPrefixes #method:listActionPrefixes#
+
+#if ENABLE_OVERLOADING
+    WidgetListActionPrefixesMethodInfo      ,
+#endif
+    widgetListActionPrefixes                ,
+
+
+-- ** listMnemonicLabels #method:listMnemonicLabels#
+
+#if ENABLE_OVERLOADING
+    WidgetListMnemonicLabelsMethodInfo      ,
+#endif
+    widgetListMnemonicLabels                ,
+
+
+-- ** map #method:map#
+
+#if ENABLE_OVERLOADING
+    WidgetMapMethodInfo                     ,
+#endif
+    widgetMap                               ,
+
+
+-- ** mnemonicActivate #method:mnemonicActivate#
+
+#if ENABLE_OVERLOADING
+    WidgetMnemonicActivateMethodInfo        ,
+#endif
+    widgetMnemonicActivate                  ,
+
+
+-- ** modifyBase #method:modifyBase#
+
+#if ENABLE_OVERLOADING
+    WidgetModifyBaseMethodInfo              ,
+#endif
+    widgetModifyBase                        ,
+
+
+-- ** modifyBg #method:modifyBg#
+
+#if ENABLE_OVERLOADING
+    WidgetModifyBgMethodInfo                ,
+#endif
+    widgetModifyBg                          ,
+
+
+-- ** modifyCursor #method:modifyCursor#
+
+#if ENABLE_OVERLOADING
+    WidgetModifyCursorMethodInfo            ,
+#endif
+    widgetModifyCursor                      ,
+
+
+-- ** modifyFg #method:modifyFg#
+
+#if ENABLE_OVERLOADING
+    WidgetModifyFgMethodInfo                ,
+#endif
+    widgetModifyFg                          ,
+
+
+-- ** modifyFont #method:modifyFont#
+
+#if ENABLE_OVERLOADING
+    WidgetModifyFontMethodInfo              ,
+#endif
+    widgetModifyFont                        ,
+
+
+-- ** modifyStyle #method:modifyStyle#
+
+#if ENABLE_OVERLOADING
+    WidgetModifyStyleMethodInfo             ,
+#endif
+    widgetModifyStyle                       ,
+
+
+-- ** modifyText #method:modifyText#
+
+#if ENABLE_OVERLOADING
+    WidgetModifyTextMethodInfo              ,
+#endif
+    widgetModifyText                        ,
+
+
+-- ** overrideBackgroundColor #method:overrideBackgroundColor#
+
+#if ENABLE_OVERLOADING
+    WidgetOverrideBackgroundColorMethodInfo ,
+#endif
+    widgetOverrideBackgroundColor           ,
+
+
+-- ** overrideColor #method:overrideColor#
+
+#if ENABLE_OVERLOADING
+    WidgetOverrideColorMethodInfo           ,
+#endif
+    widgetOverrideColor                     ,
+
+
+-- ** overrideCursor #method:overrideCursor#
+
+#if ENABLE_OVERLOADING
+    WidgetOverrideCursorMethodInfo          ,
+#endif
+    widgetOverrideCursor                    ,
+
+
+-- ** overrideFont #method:overrideFont#
+
+#if ENABLE_OVERLOADING
+    WidgetOverrideFontMethodInfo            ,
+#endif
+    widgetOverrideFont                      ,
+
+
+-- ** overrideSymbolicColor #method:overrideSymbolicColor#
+
+#if ENABLE_OVERLOADING
+    WidgetOverrideSymbolicColorMethodInfo   ,
+#endif
+    widgetOverrideSymbolicColor             ,
+
+
+-- ** path #method:path#
+
+#if ENABLE_OVERLOADING
+    WidgetPathMethodInfo                    ,
+#endif
+    widgetPath                              ,
+
+
+-- ** popCompositeChild #method:popCompositeChild#
+
+    widgetPopCompositeChild                 ,
+
+
+-- ** pushCompositeChild #method:pushCompositeChild#
+
+    widgetPushCompositeChild                ,
+
+
+-- ** queueAllocate #method:queueAllocate#
+
+#if ENABLE_OVERLOADING
+    WidgetQueueAllocateMethodInfo           ,
+#endif
+    widgetQueueAllocate                     ,
+
+
+-- ** queueComputeExpand #method:queueComputeExpand#
+
+#if ENABLE_OVERLOADING
+    WidgetQueueComputeExpandMethodInfo      ,
+#endif
+    widgetQueueComputeExpand                ,
+
+
+-- ** queueDraw #method:queueDraw#
+
+#if ENABLE_OVERLOADING
+    WidgetQueueDrawMethodInfo               ,
+#endif
+    widgetQueueDraw                         ,
+
+
+-- ** queueDrawArea #method:queueDrawArea#
+
+#if ENABLE_OVERLOADING
+    WidgetQueueDrawAreaMethodInfo           ,
+#endif
+    widgetQueueDrawArea                     ,
+
+
+-- ** queueDrawRegion #method:queueDrawRegion#
+
+#if ENABLE_OVERLOADING
+    WidgetQueueDrawRegionMethodInfo         ,
+#endif
+    widgetQueueDrawRegion                   ,
+
+
+-- ** queueResize #method:queueResize#
+
+#if ENABLE_OVERLOADING
+    WidgetQueueResizeMethodInfo             ,
+#endif
+    widgetQueueResize                       ,
+
+
+-- ** queueResizeNoRedraw #method:queueResizeNoRedraw#
+
+#if ENABLE_OVERLOADING
+    WidgetQueueResizeNoRedrawMethodInfo     ,
+#endif
+    widgetQueueResizeNoRedraw               ,
+
+
+-- ** realize #method:realize#
+
+#if ENABLE_OVERLOADING
+    WidgetRealizeMethodInfo                 ,
+#endif
+    widgetRealize                           ,
+
+
+-- ** regionIntersect #method:regionIntersect#
+
+#if ENABLE_OVERLOADING
+    WidgetRegionIntersectMethodInfo         ,
+#endif
+    widgetRegionIntersect                   ,
+
+
+-- ** registerWindow #method:registerWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetRegisterWindowMethodInfo          ,
+#endif
+    widgetRegisterWindow                    ,
+
+
+-- ** removeAccelerator #method:removeAccelerator#
+
+#if ENABLE_OVERLOADING
+    WidgetRemoveAcceleratorMethodInfo       ,
+#endif
+    widgetRemoveAccelerator                 ,
+
+
+-- ** removeMnemonicLabel #method:removeMnemonicLabel#
+
+#if ENABLE_OVERLOADING
+    WidgetRemoveMnemonicLabelMethodInfo     ,
+#endif
+    widgetRemoveMnemonicLabel               ,
+
+
+-- ** removeTickCallback #method:removeTickCallback#
+
+#if ENABLE_OVERLOADING
+    WidgetRemoveTickCallbackMethodInfo      ,
+#endif
+    widgetRemoveTickCallback                ,
+
+
+-- ** renderIcon #method:renderIcon#
+
+#if ENABLE_OVERLOADING
+    WidgetRenderIconMethodInfo              ,
+#endif
+    widgetRenderIcon                        ,
+
+
+-- ** renderIconPixbuf #method:renderIconPixbuf#
+
+#if ENABLE_OVERLOADING
+    WidgetRenderIconPixbufMethodInfo        ,
+#endif
+    widgetRenderIconPixbuf                  ,
+
+
+-- ** reparent #method:reparent#
+
+#if ENABLE_OVERLOADING
+    WidgetReparentMethodInfo                ,
+#endif
+    widgetReparent                          ,
+
+
+-- ** resetRcStyles #method:resetRcStyles#
+
+#if ENABLE_OVERLOADING
+    WidgetResetRcStylesMethodInfo           ,
+#endif
+    widgetResetRcStyles                     ,
+
+
+-- ** resetStyle #method:resetStyle#
+
+#if ENABLE_OVERLOADING
+    WidgetResetStyleMethodInfo              ,
+#endif
+    widgetResetStyle                        ,
+
+
+-- ** sendExpose #method:sendExpose#
+
+#if ENABLE_OVERLOADING
+    WidgetSendExposeMethodInfo              ,
+#endif
+    widgetSendExpose                        ,
+
+
+-- ** sendFocusChange #method:sendFocusChange#
+
+#if ENABLE_OVERLOADING
+    WidgetSendFocusChangeMethodInfo         ,
+#endif
+    widgetSendFocusChange                   ,
+
+
+-- ** setAccelPath #method:setAccelPath#
+
+#if ENABLE_OVERLOADING
+    WidgetSetAccelPathMethodInfo            ,
+#endif
+    widgetSetAccelPath                      ,
+
+
+-- ** setAllocation #method:setAllocation#
+
+#if ENABLE_OVERLOADING
+    WidgetSetAllocationMethodInfo           ,
+#endif
+    widgetSetAllocation                     ,
+
+
+-- ** setAppPaintable #method:setAppPaintable#
+
+#if ENABLE_OVERLOADING
+    WidgetSetAppPaintableMethodInfo         ,
+#endif
+    widgetSetAppPaintable                   ,
+
+
+-- ** setCanDefault #method:setCanDefault#
+
+#if ENABLE_OVERLOADING
+    WidgetSetCanDefaultMethodInfo           ,
+#endif
+    widgetSetCanDefault                     ,
+
+
+-- ** setCanFocus #method:setCanFocus#
+
+#if ENABLE_OVERLOADING
+    WidgetSetCanFocusMethodInfo             ,
+#endif
+    widgetSetCanFocus                       ,
+
+
+-- ** setChildVisible #method:setChildVisible#
+
+#if ENABLE_OVERLOADING
+    WidgetSetChildVisibleMethodInfo         ,
+#endif
+    widgetSetChildVisible                   ,
+
+
+-- ** setClip #method:setClip#
+
+#if ENABLE_OVERLOADING
+    WidgetSetClipMethodInfo                 ,
+#endif
+    widgetSetClip                           ,
+
+
+-- ** setCompositeName #method:setCompositeName#
+
+#if ENABLE_OVERLOADING
+    WidgetSetCompositeNameMethodInfo        ,
+#endif
+    widgetSetCompositeName                  ,
+
+
+-- ** setDefaultDirection #method:setDefaultDirection#
+
+    widgetSetDefaultDirection               ,
+
+
+-- ** setDeviceEnabled #method:setDeviceEnabled#
+
+#if ENABLE_OVERLOADING
+    WidgetSetDeviceEnabledMethodInfo        ,
+#endif
+    widgetSetDeviceEnabled                  ,
+
+
+-- ** setDeviceEvents #method:setDeviceEvents#
+
+#if ENABLE_OVERLOADING
+    WidgetSetDeviceEventsMethodInfo         ,
+#endif
+    widgetSetDeviceEvents                   ,
+
+
+-- ** setDirection #method:setDirection#
+
+#if ENABLE_OVERLOADING
+    WidgetSetDirectionMethodInfo            ,
+#endif
+    widgetSetDirection                      ,
+
+
+-- ** setDoubleBuffered #method:setDoubleBuffered#
+
+#if ENABLE_OVERLOADING
+    WidgetSetDoubleBufferedMethodInfo       ,
+#endif
+    widgetSetDoubleBuffered                 ,
+
+
+-- ** setEvents #method:setEvents#
+
+#if ENABLE_OVERLOADING
+    WidgetSetEventsMethodInfo               ,
+#endif
+    widgetSetEvents                         ,
+
+
+-- ** setFocusOnClick #method:setFocusOnClick#
+
+#if ENABLE_OVERLOADING
+    WidgetSetFocusOnClickMethodInfo         ,
+#endif
+    widgetSetFocusOnClick                   ,
+
+
+-- ** setFontMap #method:setFontMap#
+
+#if ENABLE_OVERLOADING
+    WidgetSetFontMapMethodInfo              ,
+#endif
+    widgetSetFontMap                        ,
+
+
+-- ** setFontOptions #method:setFontOptions#
+
+#if ENABLE_OVERLOADING
+    WidgetSetFontOptionsMethodInfo          ,
+#endif
+    widgetSetFontOptions                    ,
+
+
+-- ** setHalign #method:setHalign#
+
+#if ENABLE_OVERLOADING
+    WidgetSetHalignMethodInfo               ,
+#endif
+    widgetSetHalign                         ,
+
+
+-- ** setHasTooltip #method:setHasTooltip#
+
+#if ENABLE_OVERLOADING
+    WidgetSetHasTooltipMethodInfo           ,
+#endif
+    widgetSetHasTooltip                     ,
+
+
+-- ** setHasWindow #method:setHasWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetSetHasWindowMethodInfo            ,
+#endif
+    widgetSetHasWindow                      ,
+
+
+-- ** setHexpand #method:setHexpand#
+
+#if ENABLE_OVERLOADING
+    WidgetSetHexpandMethodInfo              ,
+#endif
+    widgetSetHexpand                        ,
+
+
+-- ** setHexpandSet #method:setHexpandSet#
+
+#if ENABLE_OVERLOADING
+    WidgetSetHexpandSetMethodInfo           ,
+#endif
+    widgetSetHexpandSet                     ,
+
+
+-- ** setMapped #method:setMapped#
+
+#if ENABLE_OVERLOADING
+    WidgetSetMappedMethodInfo               ,
+#endif
+    widgetSetMapped                         ,
+
+
+-- ** setMarginBottom #method:setMarginBottom#
+
+#if ENABLE_OVERLOADING
+    WidgetSetMarginBottomMethodInfo         ,
+#endif
+    widgetSetMarginBottom                   ,
+
+
+-- ** setMarginEnd #method:setMarginEnd#
+
+#if ENABLE_OVERLOADING
+    WidgetSetMarginEndMethodInfo            ,
+#endif
+    widgetSetMarginEnd                      ,
+
+
+-- ** setMarginLeft #method:setMarginLeft#
+
+#if ENABLE_OVERLOADING
+    WidgetSetMarginLeftMethodInfo           ,
+#endif
+    widgetSetMarginLeft                     ,
+
+
+-- ** setMarginRight #method:setMarginRight#
+
+#if ENABLE_OVERLOADING
+    WidgetSetMarginRightMethodInfo          ,
+#endif
+    widgetSetMarginRight                    ,
+
+
+-- ** setMarginStart #method:setMarginStart#
+
+#if ENABLE_OVERLOADING
+    WidgetSetMarginStartMethodInfo          ,
+#endif
+    widgetSetMarginStart                    ,
+
+
+-- ** setMarginTop #method:setMarginTop#
+
+#if ENABLE_OVERLOADING
+    WidgetSetMarginTopMethodInfo            ,
+#endif
+    widgetSetMarginTop                      ,
+
+
+-- ** setName #method:setName#
+
+#if ENABLE_OVERLOADING
+    WidgetSetNameMethodInfo                 ,
+#endif
+    widgetSetName                           ,
+
+
+-- ** setNoShowAll #method:setNoShowAll#
+
+#if ENABLE_OVERLOADING
+    WidgetSetNoShowAllMethodInfo            ,
+#endif
+    widgetSetNoShowAll                      ,
+
+
+-- ** setOpacity #method:setOpacity#
+
+#if ENABLE_OVERLOADING
+    WidgetSetOpacityMethodInfo              ,
+#endif
+    widgetSetOpacity                        ,
+
+
+-- ** setParent #method:setParent#
+
+#if ENABLE_OVERLOADING
+    WidgetSetParentMethodInfo               ,
+#endif
+    widgetSetParent                         ,
+
+
+-- ** setParentWindow #method:setParentWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetSetParentWindowMethodInfo         ,
+#endif
+    widgetSetParentWindow                   ,
+
+
+-- ** setRealized #method:setRealized#
+
+#if ENABLE_OVERLOADING
+    WidgetSetRealizedMethodInfo             ,
+#endif
+    widgetSetRealized                       ,
+
+
+-- ** setReceivesDefault #method:setReceivesDefault#
+
+#if ENABLE_OVERLOADING
+    WidgetSetReceivesDefaultMethodInfo      ,
+#endif
+    widgetSetReceivesDefault                ,
+
+
+-- ** setRedrawOnAllocate #method:setRedrawOnAllocate#
+
+#if ENABLE_OVERLOADING
+    WidgetSetRedrawOnAllocateMethodInfo     ,
+#endif
+    widgetSetRedrawOnAllocate               ,
+
+
+-- ** setSensitive #method:setSensitive#
+
+#if ENABLE_OVERLOADING
+    WidgetSetSensitiveMethodInfo            ,
+#endif
+    widgetSetSensitive                      ,
+
+
+-- ** setSizeRequest #method:setSizeRequest#
+
+#if ENABLE_OVERLOADING
+    WidgetSetSizeRequestMethodInfo          ,
+#endif
+    widgetSetSizeRequest                    ,
+
+
+-- ** setState #method:setState#
+
+#if ENABLE_OVERLOADING
+    WidgetSetStateMethodInfo                ,
+#endif
+    widgetSetState                          ,
+
+
+-- ** setStateFlags #method:setStateFlags#
+
+#if ENABLE_OVERLOADING
+    WidgetSetStateFlagsMethodInfo           ,
+#endif
+    widgetSetStateFlags                     ,
+
+
+-- ** setStyle #method:setStyle#
+
+#if ENABLE_OVERLOADING
+    WidgetSetStyleMethodInfo                ,
+#endif
+    widgetSetStyle                          ,
+
+
+-- ** setSupportMultidevice #method:setSupportMultidevice#
+
+#if ENABLE_OVERLOADING
+    WidgetSetSupportMultideviceMethodInfo   ,
+#endif
+    widgetSetSupportMultidevice             ,
+
+
+-- ** setTooltipMarkup #method:setTooltipMarkup#
+
+#if ENABLE_OVERLOADING
+    WidgetSetTooltipMarkupMethodInfo        ,
+#endif
+    widgetSetTooltipMarkup                  ,
+
+
+-- ** setTooltipText #method:setTooltipText#
+
+#if ENABLE_OVERLOADING
+    WidgetSetTooltipTextMethodInfo          ,
+#endif
+    widgetSetTooltipText                    ,
+
+
+-- ** setTooltipWindow #method:setTooltipWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetSetTooltipWindowMethodInfo        ,
+#endif
+    widgetSetTooltipWindow                  ,
+
+
+-- ** setValign #method:setValign#
+
+#if ENABLE_OVERLOADING
+    WidgetSetValignMethodInfo               ,
+#endif
+    widgetSetValign                         ,
+
+
+-- ** setVexpand #method:setVexpand#
+
+#if ENABLE_OVERLOADING
+    WidgetSetVexpandMethodInfo              ,
+#endif
+    widgetSetVexpand                        ,
+
+
+-- ** setVexpandSet #method:setVexpandSet#
+
+#if ENABLE_OVERLOADING
+    WidgetSetVexpandSetMethodInfo           ,
+#endif
+    widgetSetVexpandSet                     ,
+
+
+-- ** setVisible #method:setVisible#
+
+#if ENABLE_OVERLOADING
+    WidgetSetVisibleMethodInfo              ,
+#endif
+    widgetSetVisible                        ,
+
+
+-- ** setVisual #method:setVisual#
+
+#if ENABLE_OVERLOADING
+    WidgetSetVisualMethodInfo               ,
+#endif
+    widgetSetVisual                         ,
+
+
+-- ** setWindow #method:setWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetSetWindowMethodInfo               ,
+#endif
+    widgetSetWindow                         ,
+
+
+-- ** shapeCombineRegion #method:shapeCombineRegion#
+
+#if ENABLE_OVERLOADING
+    WidgetShapeCombineRegionMethodInfo      ,
+#endif
+    widgetShapeCombineRegion                ,
+
+
+-- ** show #method:show#
+
+#if ENABLE_OVERLOADING
+    WidgetShowMethodInfo                    ,
+#endif
+    widgetShow                              ,
+
+
+-- ** showAll #method:showAll#
+
+#if ENABLE_OVERLOADING
+    WidgetShowAllMethodInfo                 ,
+#endif
+    widgetShowAll                           ,
+
+
+-- ** showNow #method:showNow#
+
+#if ENABLE_OVERLOADING
+    WidgetShowNowMethodInfo                 ,
+#endif
+    widgetShowNow                           ,
+
+
+-- ** sizeAllocate #method:sizeAllocate#
+
+#if ENABLE_OVERLOADING
+    WidgetSizeAllocateMethodInfo            ,
+#endif
+    widgetSizeAllocate                      ,
+
+
+-- ** sizeAllocateWithBaseline #method:sizeAllocateWithBaseline#
+
+#if ENABLE_OVERLOADING
+    WidgetSizeAllocateWithBaselineMethodInfo,
+#endif
+    widgetSizeAllocateWithBaseline          ,
+
+
+-- ** sizeRequest #method:sizeRequest#
+
+#if ENABLE_OVERLOADING
+    WidgetSizeRequestMethodInfo             ,
+#endif
+    widgetSizeRequest                       ,
+
+
+-- ** styleAttach #method:styleAttach#
+
+#if ENABLE_OVERLOADING
+    WidgetStyleAttachMethodInfo             ,
+#endif
+    widgetStyleAttach                       ,
+
+
+-- ** styleGetProperty #method:styleGetProperty#
+
+#if ENABLE_OVERLOADING
+    WidgetStyleGetPropertyMethodInfo        ,
+#endif
+    widgetStyleGetProperty                  ,
+
+
+-- ** thawChildNotify #method:thawChildNotify#
+
+#if ENABLE_OVERLOADING
+    WidgetThawChildNotifyMethodInfo         ,
+#endif
+    widgetThawChildNotify                   ,
+
+
+-- ** translateCoordinates #method:translateCoordinates#
+
+#if ENABLE_OVERLOADING
+    WidgetTranslateCoordinatesMethodInfo    ,
+#endif
+    widgetTranslateCoordinates              ,
+
+
+-- ** triggerTooltipQuery #method:triggerTooltipQuery#
+
+#if ENABLE_OVERLOADING
+    WidgetTriggerTooltipQueryMethodInfo     ,
+#endif
+    widgetTriggerTooltipQuery               ,
+
+
+-- ** unmap #method:unmap#
+
+#if ENABLE_OVERLOADING
+    WidgetUnmapMethodInfo                   ,
+#endif
+    widgetUnmap                             ,
+
+
+-- ** unparent #method:unparent#
+
+#if ENABLE_OVERLOADING
+    WidgetUnparentMethodInfo                ,
+#endif
+    widgetUnparent                          ,
+
+
+-- ** unrealize #method:unrealize#
+
+#if ENABLE_OVERLOADING
+    WidgetUnrealizeMethodInfo               ,
+#endif
+    widgetUnrealize                         ,
+
+
+-- ** unregisterWindow #method:unregisterWindow#
+
+#if ENABLE_OVERLOADING
+    WidgetUnregisterWindowMethodInfo        ,
+#endif
+    widgetUnregisterWindow                  ,
+
+
+-- ** unsetStateFlags #method:unsetStateFlags#
+
+#if ENABLE_OVERLOADING
+    WidgetUnsetStateFlagsMethodInfo         ,
+#endif
+    widgetUnsetStateFlags                   ,
+
+
+
+
+ -- * Properties
+-- ** appPaintable #attr:appPaintable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetAppPaintablePropertyInfo          ,
+#endif
+    constructWidgetAppPaintable             ,
+    getWidgetAppPaintable                   ,
+    setWidgetAppPaintable                   ,
+#if ENABLE_OVERLOADING
+    widgetAppPaintable                      ,
+#endif
+
+
+-- ** canDefault #attr:canDefault#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetCanDefaultPropertyInfo            ,
+#endif
+    constructWidgetCanDefault               ,
+    getWidgetCanDefault                     ,
+    setWidgetCanDefault                     ,
+#if ENABLE_OVERLOADING
+    widgetCanDefault                        ,
+#endif
+
+
+-- ** canFocus #attr:canFocus#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetCanFocusPropertyInfo              ,
+#endif
+    constructWidgetCanFocus                 ,
+    getWidgetCanFocus                       ,
+    setWidgetCanFocus                       ,
+#if ENABLE_OVERLOADING
+    widgetCanFocus                          ,
+#endif
+
+
+-- ** compositeChild #attr:compositeChild#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetCompositeChildPropertyInfo        ,
+#endif
+    getWidgetCompositeChild                 ,
+#if ENABLE_OVERLOADING
+    widgetCompositeChild                    ,
+#endif
+
+
+-- ** doubleBuffered #attr:doubleBuffered#
+{- | Whether the widget is double buffered.
+
+/Since: 2.18/
+-}
+#if ENABLE_OVERLOADING
+    WidgetDoubleBufferedPropertyInfo        ,
+#endif
+    constructWidgetDoubleBuffered           ,
+    getWidgetDoubleBuffered                 ,
+    setWidgetDoubleBuffered                 ,
+#if ENABLE_OVERLOADING
+    widgetDoubleBuffered                    ,
+#endif
+
+
+-- ** events #attr:events#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetEventsPropertyInfo                ,
+#endif
+    constructWidgetEvents                   ,
+    getWidgetEvents                         ,
+    setWidgetEvents                         ,
+#if ENABLE_OVERLOADING
+    widgetEvents                            ,
+#endif
+
+
+-- ** expand #attr:expand#
+{- | Whether to expand in both directions. Setting this sets both 'GI.Gtk.Objects.Widget.Widget':@/hexpand/@ and 'GI.Gtk.Objects.Widget.Widget':@/vexpand/@
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetExpandPropertyInfo                ,
+#endif
+    constructWidgetExpand                   ,
+    getWidgetExpand                         ,
+    setWidgetExpand                         ,
+#if ENABLE_OVERLOADING
+    widgetExpand                            ,
+#endif
+
+
+-- ** focusOnClick #attr:focusOnClick#
+{- | Whether the widget should grab focus when it is clicked with the mouse.
+
+This property is only relevant for widgets that can take focus.
+
+Before 3.20, several widgets (GtkButton, GtkFileChooserButton,
+GtkComboBox) implemented this property individually.
+
+/Since: 3.20/
+-}
+#if ENABLE_OVERLOADING
+    WidgetFocusOnClickPropertyInfo          ,
+#endif
+    constructWidgetFocusOnClick             ,
+    getWidgetFocusOnClick                   ,
+    setWidgetFocusOnClick                   ,
+#if ENABLE_OVERLOADING
+    widgetFocusOnClick                      ,
+#endif
+
+
+-- ** halign #attr:halign#
+{- | How to distribute horizontal space if widget gets extra space, see 'GI.Gtk.Enums.Align'
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetHalignPropertyInfo                ,
+#endif
+    constructWidgetHalign                   ,
+    getWidgetHalign                         ,
+    setWidgetHalign                         ,
+#if ENABLE_OVERLOADING
+    widgetHalign                            ,
+#endif
+
+
+-- ** hasDefault #attr:hasDefault#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetHasDefaultPropertyInfo            ,
+#endif
+    constructWidgetHasDefault               ,
+    getWidgetHasDefault                     ,
+    setWidgetHasDefault                     ,
+
+
+-- ** hasFocus #attr:hasFocus#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetHasFocusPropertyInfo              ,
+#endif
+    constructWidgetHasFocus                 ,
+    getWidgetHasFocus                       ,
+    setWidgetHasFocus                       ,
+
+
+-- ** hasTooltip #attr:hasTooltip#
+{- | Enables or disables the emission of 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ on /@widget@/.
+A value of 'True' indicates that /@widget@/ can have a tooltip, in this case
+the widget will be queried using 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ to determine
+whether it will provide a tooltip or not.
+
+Note that setting this property to 'True' for the first time will change
+the event masks of the GdkWindows of this widget to include leave-notify
+and motion-notify events.  This cannot and will not be undone when the
+property is set to 'False' again.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    WidgetHasTooltipPropertyInfo            ,
+#endif
+    constructWidgetHasTooltip               ,
+    getWidgetHasTooltip                     ,
+    setWidgetHasTooltip                     ,
+#if ENABLE_OVERLOADING
+    widgetHasTooltip                        ,
+#endif
+
+
+-- ** heightRequest #attr:heightRequest#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetHeightRequestPropertyInfo         ,
+#endif
+    constructWidgetHeightRequest            ,
+    getWidgetHeightRequest                  ,
+    setWidgetHeightRequest                  ,
+#if ENABLE_OVERLOADING
+    widgetHeightRequest                     ,
+#endif
+
+
+-- ** hexpand #attr:hexpand#
+{- | Whether to expand horizontally. See 'GI.Gtk.Objects.Widget.widgetSetHexpand'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetHexpandPropertyInfo               ,
+#endif
+    constructWidgetHexpand                  ,
+    getWidgetHexpand                        ,
+    setWidgetHexpand                        ,
+#if ENABLE_OVERLOADING
+    widgetHexpand                           ,
+#endif
+
+
+-- ** hexpandSet #attr:hexpandSet#
+{- | Whether to use the 'GI.Gtk.Objects.Widget.Widget':@/hexpand/@ property. See 'GI.Gtk.Objects.Widget.widgetGetHexpandSet'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetHexpandSetPropertyInfo            ,
+#endif
+    constructWidgetHexpandSet               ,
+    getWidgetHexpandSet                     ,
+    setWidgetHexpandSet                     ,
+#if ENABLE_OVERLOADING
+    widgetHexpandSet                        ,
+#endif
+
+
+-- ** isFocus #attr:isFocus#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetIsFocusPropertyInfo               ,
+#endif
+    constructWidgetIsFocus                  ,
+    getWidgetIsFocus                        ,
+    setWidgetIsFocus                        ,
+
+
+-- ** margin #attr:margin#
+{- | Sets all four sides\' margin at once. If read, returns max
+margin on any side.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetMarginPropertyInfo                ,
+#endif
+    constructWidgetMargin                   ,
+    getWidgetMargin                         ,
+    setWidgetMargin                         ,
+#if ENABLE_OVERLOADING
+    widgetMargin                            ,
+#endif
+
+
+-- ** marginBottom #attr:marginBottom#
+{- | Margin on bottom side of widget.
+
+This property adds margin outside of the widget\'s normal size
+request, the margin will be added in addition to the size from
+'GI.Gtk.Objects.Widget.widgetSetSizeRequest' for example.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetMarginBottomPropertyInfo          ,
+#endif
+    constructWidgetMarginBottom             ,
+    getWidgetMarginBottom                   ,
+    setWidgetMarginBottom                   ,
+#if ENABLE_OVERLOADING
+    widgetMarginBottom                      ,
+#endif
+
+
+-- ** marginEnd #attr:marginEnd#
+{- | Margin on end of widget, horizontally. This property supports
+left-to-right and right-to-left text directions.
+
+This property adds margin outside of the widget\'s normal size
+request, the margin will be added in addition to the size from
+'GI.Gtk.Objects.Widget.widgetSetSizeRequest' for example.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    WidgetMarginEndPropertyInfo             ,
+#endif
+    constructWidgetMarginEnd                ,
+    getWidgetMarginEnd                      ,
+    setWidgetMarginEnd                      ,
+#if ENABLE_OVERLOADING
+    widgetMarginEnd                         ,
+#endif
+
+
+-- ** marginLeft #attr:marginLeft#
+{- | Margin on left side of widget.
+
+This property adds margin outside of the widget\'s normal size
+request, the margin will be added in addition to the size from
+'GI.Gtk.Objects.Widget.widgetSetSizeRequest' for example.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetMarginLeftPropertyInfo            ,
+#endif
+    constructWidgetMarginLeft               ,
+    getWidgetMarginLeft                     ,
+    setWidgetMarginLeft                     ,
+#if ENABLE_OVERLOADING
+    widgetMarginLeft                        ,
+#endif
+
+
+-- ** marginRight #attr:marginRight#
+{- | Margin on right side of widget.
+
+This property adds margin outside of the widget\'s normal size
+request, the margin will be added in addition to the size from
+'GI.Gtk.Objects.Widget.widgetSetSizeRequest' for example.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetMarginRightPropertyInfo           ,
+#endif
+    constructWidgetMarginRight              ,
+    getWidgetMarginRight                    ,
+    setWidgetMarginRight                    ,
+#if ENABLE_OVERLOADING
+    widgetMarginRight                       ,
+#endif
+
+
+-- ** marginStart #attr:marginStart#
+{- | Margin on start of widget, horizontally. This property supports
+left-to-right and right-to-left text directions.
+
+This property adds margin outside of the widget\'s normal size
+request, the margin will be added in addition to the size from
+'GI.Gtk.Objects.Widget.widgetSetSizeRequest' for example.
+
+/Since: 3.12/
+-}
+#if ENABLE_OVERLOADING
+    WidgetMarginStartPropertyInfo           ,
+#endif
+    constructWidgetMarginStart              ,
+    getWidgetMarginStart                    ,
+    setWidgetMarginStart                    ,
+#if ENABLE_OVERLOADING
+    widgetMarginStart                       ,
+#endif
+
+
+-- ** marginTop #attr:marginTop#
+{- | Margin on top side of widget.
+
+This property adds margin outside of the widget\'s normal size
+request, the margin will be added in addition to the size from
+'GI.Gtk.Objects.Widget.widgetSetSizeRequest' for example.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetMarginTopPropertyInfo             ,
+#endif
+    constructWidgetMarginTop                ,
+    getWidgetMarginTop                      ,
+    setWidgetMarginTop                      ,
+#if ENABLE_OVERLOADING
+    widgetMarginTop                         ,
+#endif
+
+
+-- ** name #attr:name#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetNamePropertyInfo                  ,
+#endif
+    constructWidgetName                     ,
+    getWidgetName                           ,
+    setWidgetName                           ,
+#if ENABLE_OVERLOADING
+    widgetName                              ,
+#endif
+
+
+-- ** noShowAll #attr:noShowAll#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetNoShowAllPropertyInfo             ,
+#endif
+    constructWidgetNoShowAll                ,
+    getWidgetNoShowAll                      ,
+    setWidgetNoShowAll                      ,
+#if ENABLE_OVERLOADING
+    widgetNoShowAll                         ,
+#endif
+
+
+-- ** opacity #attr:opacity#
+{- | The requested opacity of the widget. See 'GI.Gtk.Objects.Widget.widgetSetOpacity' for
+more details about window opacity.
+
+Before 3.8 this was only available in GtkWindow
+
+/Since: 3.8/
+-}
+#if ENABLE_OVERLOADING
+    WidgetOpacityPropertyInfo               ,
+#endif
+    constructWidgetOpacity                  ,
+    getWidgetOpacity                        ,
+    setWidgetOpacity                        ,
+#if ENABLE_OVERLOADING
+    widgetOpacity                           ,
+#endif
+
+
+-- ** parent #attr:parent#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetParentPropertyInfo                ,
+#endif
+    clearWidgetParent                       ,
+    constructWidgetParent                   ,
+    getWidgetParent                         ,
+    setWidgetParent                         ,
+#if ENABLE_OVERLOADING
+    widgetParent                            ,
+#endif
+
+
+-- ** receivesDefault #attr:receivesDefault#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetReceivesDefaultPropertyInfo       ,
+#endif
+    constructWidgetReceivesDefault          ,
+    getWidgetReceivesDefault                ,
+    setWidgetReceivesDefault                ,
+#if ENABLE_OVERLOADING
+    widgetReceivesDefault                   ,
+#endif
+
+
+-- ** scaleFactor #attr:scaleFactor#
+{- | The scale factor of the widget. See 'GI.Gtk.Objects.Widget.widgetGetScaleFactor' for
+more details about widget scaling.
+
+/Since: 3.10/
+-}
+#if ENABLE_OVERLOADING
+    WidgetScaleFactorPropertyInfo           ,
+#endif
+    getWidgetScaleFactor                    ,
+#if ENABLE_OVERLOADING
+    widgetScaleFactor                       ,
+#endif
+
+
+-- ** sensitive #attr:sensitive#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetSensitivePropertyInfo             ,
+#endif
+    constructWidgetSensitive                ,
+    getWidgetSensitive                      ,
+    setWidgetSensitive                      ,
+#if ENABLE_OVERLOADING
+    widgetSensitive                         ,
+#endif
+
+
+-- ** style #attr:style#
+{- | The style of the widget, which contains information about how it will look (colors, etc).
+-}
+#if ENABLE_OVERLOADING
+    WidgetStylePropertyInfo                 ,
+#endif
+    clearWidgetStyle                        ,
+    constructWidgetStyle                    ,
+    getWidgetStyle                          ,
+    setWidgetStyle                          ,
+#if ENABLE_OVERLOADING
+    widgetStyle                             ,
+#endif
+
+
+-- ** tooltipMarkup #attr:tooltipMarkup#
+{- | Sets the text of tooltip to be the given string, which is marked up
+with the [Pango text markup language][PangoMarkupFormat].
+Also see 'GI.Gtk.Objects.Tooltip.tooltipSetMarkup'.
+
+This is a convenience property which will take care of getting the
+tooltip shown if the given string is not 'Nothing': 'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@
+will automatically be set to 'True' and there will be taken care of
+'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ in the default signal handler.
+
+Note that if both 'GI.Gtk.Objects.Widget.Widget':@/tooltip-text/@ and 'GI.Gtk.Objects.Widget.Widget':@/tooltip-markup/@
+are set, the last one wins.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    WidgetTooltipMarkupPropertyInfo         ,
+#endif
+    clearWidgetTooltipMarkup                ,
+    constructWidgetTooltipMarkup            ,
+    getWidgetTooltipMarkup                  ,
+    setWidgetTooltipMarkup                  ,
+#if ENABLE_OVERLOADING
+    widgetTooltipMarkup                     ,
+#endif
+
+
+-- ** tooltipText #attr:tooltipText#
+{- | Sets the text of tooltip to be the given string.
+
+Also see 'GI.Gtk.Objects.Tooltip.tooltipSetText'.
+
+This is a convenience property which will take care of getting the
+tooltip shown if the given string is not 'Nothing': 'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@
+will automatically be set to 'True' and there will be taken care of
+'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ in the default signal handler.
+
+Note that if both 'GI.Gtk.Objects.Widget.Widget':@/tooltip-text/@ and 'GI.Gtk.Objects.Widget.Widget':@/tooltip-markup/@
+are set, the last one wins.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    WidgetTooltipTextPropertyInfo           ,
+#endif
+    clearWidgetTooltipText                  ,
+    constructWidgetTooltipText              ,
+    getWidgetTooltipText                    ,
+    setWidgetTooltipText                    ,
+#if ENABLE_OVERLOADING
+    widgetTooltipText                       ,
+#endif
+
+
+-- ** valign #attr:valign#
+{- | How to distribute vertical space if widget gets extra space, see 'GI.Gtk.Enums.Align'
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetValignPropertyInfo                ,
+#endif
+    constructWidgetValign                   ,
+    getWidgetValign                         ,
+    setWidgetValign                         ,
+#if ENABLE_OVERLOADING
+    widgetValign                            ,
+#endif
+
+
+-- ** vexpand #attr:vexpand#
+{- | Whether to expand vertically. See 'GI.Gtk.Objects.Widget.widgetSetVexpand'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetVexpandPropertyInfo               ,
+#endif
+    constructWidgetVexpand                  ,
+    getWidgetVexpand                        ,
+    setWidgetVexpand                        ,
+#if ENABLE_OVERLOADING
+    widgetVexpand                           ,
+#endif
+
+
+-- ** vexpandSet #attr:vexpandSet#
+{- | Whether to use the 'GI.Gtk.Objects.Widget.Widget':@/vexpand/@ property. See 'GI.Gtk.Objects.Widget.widgetGetVexpandSet'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WidgetVexpandSetPropertyInfo            ,
+#endif
+    constructWidgetVexpandSet               ,
+    getWidgetVexpandSet                     ,
+    setWidgetVexpandSet                     ,
+#if ENABLE_OVERLOADING
+    widgetVexpandSet                        ,
+#endif
+
+
+-- ** visible #attr:visible#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetVisiblePropertyInfo               ,
+#endif
+    constructWidgetVisible                  ,
+    getWidgetVisible                        ,
+    setWidgetVisible                        ,
+#if ENABLE_OVERLOADING
+    widgetVisible                           ,
+#endif
+
+
+-- ** widthRequest #attr:widthRequest#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WidgetWidthRequestPropertyInfo          ,
+#endif
+    constructWidgetWidthRequest             ,
+    getWidgetWidthRequest                   ,
+    setWidgetWidthRequest                   ,
+#if ENABLE_OVERLOADING
+    widgetWidthRequest                      ,
+#endif
+
+
+-- ** window #attr:window#
+{- | The widget\'s window if it is realized, 'Nothing' otherwise.
+
+/Since: 2.14/
+-}
+#if ENABLE_OVERLOADING
+    WidgetWindowPropertyInfo                ,
+#endif
+    getWidgetWindow                         ,
+#if ENABLE_OVERLOADING
+    widgetWindow                            ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** accelClosuresChanged #signal:accelClosuresChanged#
+
+    C_WidgetAccelClosuresChangedCallback    ,
+    WidgetAccelClosuresChangedCallback      ,
+#if ENABLE_OVERLOADING
+    WidgetAccelClosuresChangedSignalInfo    ,
+#endif
+    afterWidgetAccelClosuresChanged         ,
+    genClosure_WidgetAccelClosuresChanged   ,
+    mk_WidgetAccelClosuresChangedCallback   ,
+    noWidgetAccelClosuresChangedCallback    ,
+    onWidgetAccelClosuresChanged            ,
+    wrap_WidgetAccelClosuresChangedCallback ,
+
+
+-- ** buttonPressEvent #signal:buttonPressEvent#
+
+    C_WidgetButtonPressEventCallback        ,
+    WidgetButtonPressEventCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetButtonPressEventSignalInfo        ,
+#endif
+    afterWidgetButtonPressEvent             ,
+    genClosure_WidgetButtonPressEvent       ,
+    mk_WidgetButtonPressEventCallback       ,
+    noWidgetButtonPressEventCallback        ,
+    onWidgetButtonPressEvent                ,
+    wrap_WidgetButtonPressEventCallback     ,
+
+
+-- ** buttonReleaseEvent #signal:buttonReleaseEvent#
+
+    C_WidgetButtonReleaseEventCallback      ,
+    WidgetButtonReleaseEventCallback        ,
+#if ENABLE_OVERLOADING
+    WidgetButtonReleaseEventSignalInfo      ,
+#endif
+    afterWidgetButtonReleaseEvent           ,
+    genClosure_WidgetButtonReleaseEvent     ,
+    mk_WidgetButtonReleaseEventCallback     ,
+    noWidgetButtonReleaseEventCallback      ,
+    onWidgetButtonReleaseEvent              ,
+    wrap_WidgetButtonReleaseEventCallback   ,
+
+
+-- ** canActivateAccel #signal:canActivateAccel#
+
+    C_WidgetCanActivateAccelCallback        ,
+    WidgetCanActivateAccelCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetCanActivateAccelSignalInfo        ,
+#endif
+    afterWidgetCanActivateAccel             ,
+    genClosure_WidgetCanActivateAccel       ,
+    mk_WidgetCanActivateAccelCallback       ,
+    noWidgetCanActivateAccelCallback        ,
+    onWidgetCanActivateAccel                ,
+    wrap_WidgetCanActivateAccelCallback     ,
+
+
+-- ** childNotify #signal:childNotify#
+
+    C_WidgetChildNotifyCallback             ,
+    WidgetChildNotifyCallback               ,
+#if ENABLE_OVERLOADING
+    WidgetChildNotifySignalInfo             ,
+#endif
+    afterWidgetChildNotify                  ,
+    genClosure_WidgetChildNotify            ,
+    mk_WidgetChildNotifyCallback            ,
+    noWidgetChildNotifyCallback             ,
+    onWidgetChildNotify                     ,
+    wrap_WidgetChildNotifyCallback          ,
+
+
+-- ** compositedChanged #signal:compositedChanged#
+
+    C_WidgetCompositedChangedCallback       ,
+    WidgetCompositedChangedCallback         ,
+#if ENABLE_OVERLOADING
+    WidgetCompositedChangedSignalInfo       ,
+#endif
+    afterWidgetCompositedChanged            ,
+    genClosure_WidgetCompositedChanged      ,
+    mk_WidgetCompositedChangedCallback      ,
+    noWidgetCompositedChangedCallback       ,
+    onWidgetCompositedChanged               ,
+    wrap_WidgetCompositedChangedCallback    ,
+
+
+-- ** configureEvent #signal:configureEvent#
+
+    C_WidgetConfigureEventCallback          ,
+    WidgetConfigureEventCallback            ,
+#if ENABLE_OVERLOADING
+    WidgetConfigureEventSignalInfo          ,
+#endif
+    afterWidgetConfigureEvent               ,
+    genClosure_WidgetConfigureEvent         ,
+    mk_WidgetConfigureEventCallback         ,
+    noWidgetConfigureEventCallback          ,
+    onWidgetConfigureEvent                  ,
+    wrap_WidgetConfigureEventCallback       ,
+
+
+-- ** damageEvent #signal:damageEvent#
+
+    C_WidgetDamageEventCallback             ,
+    WidgetDamageEventCallback               ,
+#if ENABLE_OVERLOADING
+    WidgetDamageEventSignalInfo             ,
+#endif
+    afterWidgetDamageEvent                  ,
+    genClosure_WidgetDamageEvent            ,
+    mk_WidgetDamageEventCallback            ,
+    noWidgetDamageEventCallback             ,
+    onWidgetDamageEvent                     ,
+    wrap_WidgetDamageEventCallback          ,
+
+
+-- ** deleteEvent #signal:deleteEvent#
+
+    C_WidgetDeleteEventCallback             ,
+    WidgetDeleteEventCallback               ,
+#if ENABLE_OVERLOADING
+    WidgetDeleteEventSignalInfo             ,
+#endif
+    afterWidgetDeleteEvent                  ,
+    genClosure_WidgetDeleteEvent            ,
+    mk_WidgetDeleteEventCallback            ,
+    noWidgetDeleteEventCallback             ,
+    onWidgetDeleteEvent                     ,
+    wrap_WidgetDeleteEventCallback          ,
+
+
+-- ** destroy #signal:destroy#
+
+    C_WidgetDestroyCallback                 ,
+    WidgetDestroyCallback                   ,
+#if ENABLE_OVERLOADING
+    WidgetDestroySignalInfo                 ,
+#endif
+    afterWidgetDestroy                      ,
+    genClosure_WidgetDestroy                ,
+    mk_WidgetDestroyCallback                ,
+    noWidgetDestroyCallback                 ,
+    onWidgetDestroy                         ,
+    wrap_WidgetDestroyCallback              ,
+
+
+-- ** destroyEvent #signal:destroyEvent#
+
+    C_WidgetDestroyEventCallback            ,
+    WidgetDestroyEventCallback              ,
+#if ENABLE_OVERLOADING
+    WidgetDestroyEventSignalInfo            ,
+#endif
+    afterWidgetDestroyEvent                 ,
+    genClosure_WidgetDestroyEvent           ,
+    mk_WidgetDestroyEventCallback           ,
+    noWidgetDestroyEventCallback            ,
+    onWidgetDestroyEvent                    ,
+    wrap_WidgetDestroyEventCallback         ,
+
+
+-- ** directionChanged #signal:directionChanged#
+
+    C_WidgetDirectionChangedCallback        ,
+    WidgetDirectionChangedCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetDirectionChangedSignalInfo        ,
+#endif
+    afterWidgetDirectionChanged             ,
+    genClosure_WidgetDirectionChanged       ,
+    mk_WidgetDirectionChangedCallback       ,
+    noWidgetDirectionChangedCallback        ,
+    onWidgetDirectionChanged                ,
+    wrap_WidgetDirectionChangedCallback     ,
+
+
+-- ** dragBegin #signal:dragBegin#
+
+    C_WidgetDragBeginCallback               ,
+    WidgetDragBeginCallback                 ,
+#if ENABLE_OVERLOADING
+    WidgetDragBeginSignalInfo               ,
+#endif
+    afterWidgetDragBegin                    ,
+    genClosure_WidgetDragBegin              ,
+    mk_WidgetDragBeginCallback              ,
+    noWidgetDragBeginCallback               ,
+    onWidgetDragBegin                       ,
+    wrap_WidgetDragBeginCallback            ,
+
+
+-- ** dragDataDelete #signal:dragDataDelete#
+
+    C_WidgetDragDataDeleteCallback          ,
+    WidgetDragDataDeleteCallback            ,
+#if ENABLE_OVERLOADING
+    WidgetDragDataDeleteSignalInfo          ,
+#endif
+    afterWidgetDragDataDelete               ,
+    genClosure_WidgetDragDataDelete         ,
+    mk_WidgetDragDataDeleteCallback         ,
+    noWidgetDragDataDeleteCallback          ,
+    onWidgetDragDataDelete                  ,
+    wrap_WidgetDragDataDeleteCallback       ,
+
+
+-- ** dragDataGet #signal:dragDataGet#
+
+    C_WidgetDragDataGetCallback             ,
+    WidgetDragDataGetCallback               ,
+#if ENABLE_OVERLOADING
+    WidgetDragDataGetSignalInfo             ,
+#endif
+    afterWidgetDragDataGet                  ,
+    genClosure_WidgetDragDataGet            ,
+    mk_WidgetDragDataGetCallback            ,
+    noWidgetDragDataGetCallback             ,
+    onWidgetDragDataGet                     ,
+    wrap_WidgetDragDataGetCallback          ,
+
+
+-- ** dragDataReceived #signal:dragDataReceived#
+
+    C_WidgetDragDataReceivedCallback        ,
+    WidgetDragDataReceivedCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetDragDataReceivedSignalInfo        ,
+#endif
+    afterWidgetDragDataReceived             ,
+    genClosure_WidgetDragDataReceived       ,
+    mk_WidgetDragDataReceivedCallback       ,
+    noWidgetDragDataReceivedCallback        ,
+    onWidgetDragDataReceived                ,
+    wrap_WidgetDragDataReceivedCallback     ,
+
+
+-- ** dragDrop #signal:dragDrop#
+
+    C_WidgetDragDropCallback                ,
+    WidgetDragDropCallback                  ,
+#if ENABLE_OVERLOADING
+    WidgetDragDropSignalInfo                ,
+#endif
+    afterWidgetDragDrop                     ,
+    genClosure_WidgetDragDrop               ,
+    mk_WidgetDragDropCallback               ,
+    noWidgetDragDropCallback                ,
+    onWidgetDragDrop                        ,
+    wrap_WidgetDragDropCallback             ,
+
+
+-- ** dragEnd #signal:dragEnd#
+
+    C_WidgetDragEndCallback                 ,
+    WidgetDragEndCallback                   ,
+#if ENABLE_OVERLOADING
+    WidgetDragEndSignalInfo                 ,
+#endif
+    afterWidgetDragEnd                      ,
+    genClosure_WidgetDragEnd                ,
+    mk_WidgetDragEndCallback                ,
+    noWidgetDragEndCallback                 ,
+    onWidgetDragEnd                         ,
+    wrap_WidgetDragEndCallback              ,
+
+
+-- ** dragFailed #signal:dragFailed#
+
+    C_WidgetDragFailedCallback              ,
+    WidgetDragFailedCallback                ,
+#if ENABLE_OVERLOADING
+    WidgetDragFailedSignalInfo              ,
+#endif
+    afterWidgetDragFailed                   ,
+    genClosure_WidgetDragFailed             ,
+    mk_WidgetDragFailedCallback             ,
+    noWidgetDragFailedCallback              ,
+    onWidgetDragFailed                      ,
+    wrap_WidgetDragFailedCallback           ,
+
+
+-- ** dragLeave #signal:dragLeave#
+
+    C_WidgetDragLeaveCallback               ,
+    WidgetDragLeaveCallback                 ,
+#if ENABLE_OVERLOADING
+    WidgetDragLeaveSignalInfo               ,
+#endif
+    afterWidgetDragLeave                    ,
+    genClosure_WidgetDragLeave              ,
+    mk_WidgetDragLeaveCallback              ,
+    noWidgetDragLeaveCallback               ,
+    onWidgetDragLeave                       ,
+    wrap_WidgetDragLeaveCallback            ,
+
+
+-- ** dragMotion #signal:dragMotion#
+
+    C_WidgetDragMotionCallback              ,
+    WidgetDragMotionCallback                ,
+#if ENABLE_OVERLOADING
+    WidgetDragMotionSignalInfo              ,
+#endif
+    afterWidgetDragMotion                   ,
+    genClosure_WidgetDragMotion             ,
+    mk_WidgetDragMotionCallback             ,
+    noWidgetDragMotionCallback              ,
+    onWidgetDragMotion                      ,
+    wrap_WidgetDragMotionCallback           ,
+
+
+-- ** draw #signal:draw#
+
+    C_WidgetDrawCallback                    ,
+    WidgetDrawCallback                      ,
+#if ENABLE_OVERLOADING
+    WidgetDrawSignalInfo                    ,
+#endif
+    afterWidgetDraw                         ,
+    genClosure_WidgetDraw                   ,
+    mk_WidgetDrawCallback                   ,
+    noWidgetDrawCallback                    ,
+    onWidgetDraw                            ,
+    wrap_WidgetDrawCallback                 ,
+
+
+-- ** enterNotifyEvent #signal:enterNotifyEvent#
+
+    C_WidgetEnterNotifyEventCallback        ,
+    WidgetEnterNotifyEventCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetEnterNotifyEventSignalInfo        ,
+#endif
+    afterWidgetEnterNotifyEvent             ,
+    genClosure_WidgetEnterNotifyEvent       ,
+    mk_WidgetEnterNotifyEventCallback       ,
+    noWidgetEnterNotifyEventCallback        ,
+    onWidgetEnterNotifyEvent                ,
+    wrap_WidgetEnterNotifyEventCallback     ,
+
+
+-- ** event #signal:event#
+
+    C_WidgetEventCallback                   ,
+    WidgetEventCallback                     ,
+#if ENABLE_OVERLOADING
+    WidgetEventSignalInfo                   ,
+#endif
+    afterWidgetEvent                        ,
+    genClosure_WidgetEvent                  ,
+    mk_WidgetEventCallback                  ,
+    noWidgetEventCallback                   ,
+    onWidgetEvent                           ,
+    wrap_WidgetEventCallback                ,
+
+
+-- ** eventAfter #signal:eventAfter#
+
+    C_WidgetEventAfterCallback              ,
+    WidgetEventAfterCallback                ,
+#if ENABLE_OVERLOADING
+    WidgetEventAfterSignalInfo              ,
+#endif
+    afterWidgetEventAfter                   ,
+    genClosure_WidgetEventAfter             ,
+    mk_WidgetEventAfterCallback             ,
+    noWidgetEventAfterCallback              ,
+    onWidgetEventAfter                      ,
+    wrap_WidgetEventAfterCallback           ,
+
+
+-- ** focus #signal:focus#
+
+    C_WidgetFocusCallback                   ,
+    WidgetFocusCallback                     ,
+#if ENABLE_OVERLOADING
+    WidgetFocusSignalInfo                   ,
+#endif
+    afterWidgetFocus                        ,
+    genClosure_WidgetFocus                  ,
+    mk_WidgetFocusCallback                  ,
+    noWidgetFocusCallback                   ,
+    onWidgetFocus                           ,
+    wrap_WidgetFocusCallback                ,
+
+
+-- ** focusInEvent #signal:focusInEvent#
+
+    C_WidgetFocusInEventCallback            ,
+    WidgetFocusInEventCallback              ,
+#if ENABLE_OVERLOADING
+    WidgetFocusInEventSignalInfo            ,
+#endif
+    afterWidgetFocusInEvent                 ,
+    genClosure_WidgetFocusInEvent           ,
+    mk_WidgetFocusInEventCallback           ,
+    noWidgetFocusInEventCallback            ,
+    onWidgetFocusInEvent                    ,
+    wrap_WidgetFocusInEventCallback         ,
+
+
+-- ** focusOutEvent #signal:focusOutEvent#
+
+    C_WidgetFocusOutEventCallback           ,
+    WidgetFocusOutEventCallback             ,
+#if ENABLE_OVERLOADING
+    WidgetFocusOutEventSignalInfo           ,
+#endif
+    afterWidgetFocusOutEvent                ,
+    genClosure_WidgetFocusOutEvent          ,
+    mk_WidgetFocusOutEventCallback          ,
+    noWidgetFocusOutEventCallback           ,
+    onWidgetFocusOutEvent                   ,
+    wrap_WidgetFocusOutEventCallback        ,
+
+
+-- ** grabBrokenEvent #signal:grabBrokenEvent#
+
+    C_WidgetGrabBrokenEventCallback         ,
+    WidgetGrabBrokenEventCallback           ,
+#if ENABLE_OVERLOADING
+    WidgetGrabBrokenEventSignalInfo         ,
+#endif
+    afterWidgetGrabBrokenEvent              ,
+    genClosure_WidgetGrabBrokenEvent        ,
+    mk_WidgetGrabBrokenEventCallback        ,
+    noWidgetGrabBrokenEventCallback         ,
+    onWidgetGrabBrokenEvent                 ,
+    wrap_WidgetGrabBrokenEventCallback      ,
+
+
+-- ** grabFocus #signal:grabFocus#
+
+    C_WidgetGrabFocusCallback               ,
+    WidgetGrabFocusCallback                 ,
+#if ENABLE_OVERLOADING
+    WidgetGrabFocusSignalInfo               ,
+#endif
+    afterWidgetGrabFocus                    ,
+    genClosure_WidgetGrabFocus              ,
+    mk_WidgetGrabFocusCallback              ,
+    noWidgetGrabFocusCallback               ,
+    onWidgetGrabFocus                       ,
+    wrap_WidgetGrabFocusCallback            ,
+
+
+-- ** grabNotify #signal:grabNotify#
+
+    C_WidgetGrabNotifyCallback              ,
+    WidgetGrabNotifyCallback                ,
+#if ENABLE_OVERLOADING
+    WidgetGrabNotifySignalInfo              ,
+#endif
+    afterWidgetGrabNotify                   ,
+    genClosure_WidgetGrabNotify             ,
+    mk_WidgetGrabNotifyCallback             ,
+    noWidgetGrabNotifyCallback              ,
+    onWidgetGrabNotify                      ,
+    wrap_WidgetGrabNotifyCallback           ,
+
+
+-- ** hide #signal:hide#
+
+    C_WidgetHideCallback                    ,
+    WidgetHideCallback                      ,
+#if ENABLE_OVERLOADING
+    WidgetHideSignalInfo                    ,
+#endif
+    afterWidgetHide                         ,
+    genClosure_WidgetHide                   ,
+    mk_WidgetHideCallback                   ,
+    noWidgetHideCallback                    ,
+    onWidgetHide                            ,
+    wrap_WidgetHideCallback                 ,
+
+
+-- ** hierarchyChanged #signal:hierarchyChanged#
+
+    C_WidgetHierarchyChangedCallback        ,
+    WidgetHierarchyChangedCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetHierarchyChangedSignalInfo        ,
+#endif
+    afterWidgetHierarchyChanged             ,
+    genClosure_WidgetHierarchyChanged       ,
+    mk_WidgetHierarchyChangedCallback       ,
+    noWidgetHierarchyChangedCallback        ,
+    onWidgetHierarchyChanged                ,
+    wrap_WidgetHierarchyChangedCallback     ,
+
+
+-- ** keyPressEvent #signal:keyPressEvent#
+
+    C_WidgetKeyPressEventCallback           ,
+    WidgetKeyPressEventCallback             ,
+#if ENABLE_OVERLOADING
+    WidgetKeyPressEventSignalInfo           ,
+#endif
+    afterWidgetKeyPressEvent                ,
+    genClosure_WidgetKeyPressEvent          ,
+    mk_WidgetKeyPressEventCallback          ,
+    noWidgetKeyPressEventCallback           ,
+    onWidgetKeyPressEvent                   ,
+    wrap_WidgetKeyPressEventCallback        ,
+
+
+-- ** keyReleaseEvent #signal:keyReleaseEvent#
+
+    C_WidgetKeyReleaseEventCallback         ,
+    WidgetKeyReleaseEventCallback           ,
+#if ENABLE_OVERLOADING
+    WidgetKeyReleaseEventSignalInfo         ,
+#endif
+    afterWidgetKeyReleaseEvent              ,
+    genClosure_WidgetKeyReleaseEvent        ,
+    mk_WidgetKeyReleaseEventCallback        ,
+    noWidgetKeyReleaseEventCallback         ,
+    onWidgetKeyReleaseEvent                 ,
+    wrap_WidgetKeyReleaseEventCallback      ,
+
+
+-- ** keynavFailed #signal:keynavFailed#
+
+    C_WidgetKeynavFailedCallback            ,
+    WidgetKeynavFailedCallback              ,
+#if ENABLE_OVERLOADING
+    WidgetKeynavFailedSignalInfo            ,
+#endif
+    afterWidgetKeynavFailed                 ,
+    genClosure_WidgetKeynavFailed           ,
+    mk_WidgetKeynavFailedCallback           ,
+    noWidgetKeynavFailedCallback            ,
+    onWidgetKeynavFailed                    ,
+    wrap_WidgetKeynavFailedCallback         ,
+
+
+-- ** leaveNotifyEvent #signal:leaveNotifyEvent#
+
+    C_WidgetLeaveNotifyEventCallback        ,
+    WidgetLeaveNotifyEventCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetLeaveNotifyEventSignalInfo        ,
+#endif
+    afterWidgetLeaveNotifyEvent             ,
+    genClosure_WidgetLeaveNotifyEvent       ,
+    mk_WidgetLeaveNotifyEventCallback       ,
+    noWidgetLeaveNotifyEventCallback        ,
+    onWidgetLeaveNotifyEvent                ,
+    wrap_WidgetLeaveNotifyEventCallback     ,
+
+
+-- ** map #signal:map#
+
+    C_WidgetMapCallback                     ,
+    WidgetMapCallback                       ,
+#if ENABLE_OVERLOADING
+    WidgetMapSignalInfo                     ,
+#endif
+    afterWidgetMap                          ,
+    genClosure_WidgetMap                    ,
+    mk_WidgetMapCallback                    ,
+    noWidgetMapCallback                     ,
+    onWidgetMap                             ,
+    wrap_WidgetMapCallback                  ,
+
+
+-- ** mapEvent #signal:mapEvent#
+
+    C_WidgetMapEventCallback                ,
+    WidgetMapEventCallback                  ,
+#if ENABLE_OVERLOADING
+    WidgetMapEventSignalInfo                ,
+#endif
+    afterWidgetMapEvent                     ,
+    genClosure_WidgetMapEvent               ,
+    mk_WidgetMapEventCallback               ,
+    noWidgetMapEventCallback                ,
+    onWidgetMapEvent                        ,
+    wrap_WidgetMapEventCallback             ,
+
+
+-- ** mnemonicActivate #signal:mnemonicActivate#
+
+    C_WidgetMnemonicActivateCallback        ,
+    WidgetMnemonicActivateCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetMnemonicActivateSignalInfo        ,
+#endif
+    afterWidgetMnemonicActivate             ,
+    genClosure_WidgetMnemonicActivate       ,
+    mk_WidgetMnemonicActivateCallback       ,
+    noWidgetMnemonicActivateCallback        ,
+    onWidgetMnemonicActivate                ,
+    wrap_WidgetMnemonicActivateCallback     ,
+
+
+-- ** motionNotifyEvent #signal:motionNotifyEvent#
+
+    C_WidgetMotionNotifyEventCallback       ,
+    WidgetMotionNotifyEventCallback         ,
+#if ENABLE_OVERLOADING
+    WidgetMotionNotifyEventSignalInfo       ,
+#endif
+    afterWidgetMotionNotifyEvent            ,
+    genClosure_WidgetMotionNotifyEvent      ,
+    mk_WidgetMotionNotifyEventCallback      ,
+    noWidgetMotionNotifyEventCallback       ,
+    onWidgetMotionNotifyEvent               ,
+    wrap_WidgetMotionNotifyEventCallback    ,
+
+
+-- ** moveFocus #signal:moveFocus#
+
+    C_WidgetMoveFocusCallback               ,
+    WidgetMoveFocusCallback                 ,
+#if ENABLE_OVERLOADING
+    WidgetMoveFocusSignalInfo               ,
+#endif
+    afterWidgetMoveFocus                    ,
+    genClosure_WidgetMoveFocus              ,
+    mk_WidgetMoveFocusCallback              ,
+    noWidgetMoveFocusCallback               ,
+    onWidgetMoveFocus                       ,
+    wrap_WidgetMoveFocusCallback            ,
+
+
+-- ** parentSet #signal:parentSet#
+
+    C_WidgetParentSetCallback               ,
+    WidgetParentSetCallback                 ,
+#if ENABLE_OVERLOADING
+    WidgetParentSetSignalInfo               ,
+#endif
+    afterWidgetParentSet                    ,
+    genClosure_WidgetParentSet              ,
+    mk_WidgetParentSetCallback              ,
+    noWidgetParentSetCallback               ,
+    onWidgetParentSet                       ,
+    wrap_WidgetParentSetCallback            ,
+
+
+-- ** popupMenu #signal:popupMenu#
+
+    C_WidgetPopupMenuCallback               ,
+    WidgetPopupMenuCallback                 ,
+#if ENABLE_OVERLOADING
+    WidgetPopupMenuSignalInfo               ,
+#endif
+    afterWidgetPopupMenu                    ,
+    genClosure_WidgetPopupMenu              ,
+    mk_WidgetPopupMenuCallback              ,
+    noWidgetPopupMenuCallback               ,
+    onWidgetPopupMenu                       ,
+    wrap_WidgetPopupMenuCallback            ,
+
+
+-- ** propertyNotifyEvent #signal:propertyNotifyEvent#
+
+    C_WidgetPropertyNotifyEventCallback     ,
+    WidgetPropertyNotifyEventCallback       ,
+#if ENABLE_OVERLOADING
+    WidgetPropertyNotifyEventSignalInfo     ,
+#endif
+    afterWidgetPropertyNotifyEvent          ,
+    genClosure_WidgetPropertyNotifyEvent    ,
+    mk_WidgetPropertyNotifyEventCallback    ,
+    noWidgetPropertyNotifyEventCallback     ,
+    onWidgetPropertyNotifyEvent             ,
+    wrap_WidgetPropertyNotifyEventCallback  ,
+
+
+-- ** proximityInEvent #signal:proximityInEvent#
+
+    C_WidgetProximityInEventCallback        ,
+    WidgetProximityInEventCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetProximityInEventSignalInfo        ,
+#endif
+    afterWidgetProximityInEvent             ,
+    genClosure_WidgetProximityInEvent       ,
+    mk_WidgetProximityInEventCallback       ,
+    noWidgetProximityInEventCallback        ,
+    onWidgetProximityInEvent                ,
+    wrap_WidgetProximityInEventCallback     ,
+
+
+-- ** proximityOutEvent #signal:proximityOutEvent#
+
+    C_WidgetProximityOutEventCallback       ,
+    WidgetProximityOutEventCallback         ,
+#if ENABLE_OVERLOADING
+    WidgetProximityOutEventSignalInfo       ,
+#endif
+    afterWidgetProximityOutEvent            ,
+    genClosure_WidgetProximityOutEvent      ,
+    mk_WidgetProximityOutEventCallback      ,
+    noWidgetProximityOutEventCallback       ,
+    onWidgetProximityOutEvent               ,
+    wrap_WidgetProximityOutEventCallback    ,
+
+
+-- ** queryTooltip #signal:queryTooltip#
+
+    C_WidgetQueryTooltipCallback            ,
+    WidgetQueryTooltipCallback              ,
+#if ENABLE_OVERLOADING
+    WidgetQueryTooltipSignalInfo            ,
+#endif
+    afterWidgetQueryTooltip                 ,
+    genClosure_WidgetQueryTooltip           ,
+    mk_WidgetQueryTooltipCallback           ,
+    noWidgetQueryTooltipCallback            ,
+    onWidgetQueryTooltip                    ,
+    wrap_WidgetQueryTooltipCallback         ,
+
+
+-- ** realize #signal:realize#
+
+    C_WidgetRealizeCallback                 ,
+    WidgetRealizeCallback                   ,
+#if ENABLE_OVERLOADING
+    WidgetRealizeSignalInfo                 ,
+#endif
+    afterWidgetRealize                      ,
+    genClosure_WidgetRealize                ,
+    mk_WidgetRealizeCallback                ,
+    noWidgetRealizeCallback                 ,
+    onWidgetRealize                         ,
+    wrap_WidgetRealizeCallback              ,
+
+
+-- ** screenChanged #signal:screenChanged#
+
+    C_WidgetScreenChangedCallback           ,
+    WidgetScreenChangedCallback             ,
+#if ENABLE_OVERLOADING
+    WidgetScreenChangedSignalInfo           ,
+#endif
+    afterWidgetScreenChanged                ,
+    genClosure_WidgetScreenChanged          ,
+    mk_WidgetScreenChangedCallback          ,
+    noWidgetScreenChangedCallback           ,
+    onWidgetScreenChanged                   ,
+    wrap_WidgetScreenChangedCallback        ,
+
+
+-- ** scrollEvent #signal:scrollEvent#
+
+    C_WidgetScrollEventCallback             ,
+    WidgetScrollEventCallback               ,
+#if ENABLE_OVERLOADING
+    WidgetScrollEventSignalInfo             ,
+#endif
+    afterWidgetScrollEvent                  ,
+    genClosure_WidgetScrollEvent            ,
+    mk_WidgetScrollEventCallback            ,
+    noWidgetScrollEventCallback             ,
+    onWidgetScrollEvent                     ,
+    wrap_WidgetScrollEventCallback          ,
+
+
+-- ** selectionClearEvent #signal:selectionClearEvent#
+
+    C_WidgetSelectionClearEventCallback     ,
+    WidgetSelectionClearEventCallback       ,
+#if ENABLE_OVERLOADING
+    WidgetSelectionClearEventSignalInfo     ,
+#endif
+    afterWidgetSelectionClearEvent          ,
+    genClosure_WidgetSelectionClearEvent    ,
+    mk_WidgetSelectionClearEventCallback    ,
+    noWidgetSelectionClearEventCallback     ,
+    onWidgetSelectionClearEvent             ,
+    wrap_WidgetSelectionClearEventCallback  ,
+
+
+-- ** selectionGet #signal:selectionGet#
+
+    C_WidgetSelectionGetCallback            ,
+    WidgetSelectionGetCallback              ,
+#if ENABLE_OVERLOADING
+    WidgetSelectionGetSignalInfo            ,
+#endif
+    afterWidgetSelectionGet                 ,
+    genClosure_WidgetSelectionGet           ,
+    mk_WidgetSelectionGetCallback           ,
+    noWidgetSelectionGetCallback            ,
+    onWidgetSelectionGet                    ,
+    wrap_WidgetSelectionGetCallback         ,
+
+
+-- ** selectionNotifyEvent #signal:selectionNotifyEvent#
+
+    C_WidgetSelectionNotifyEventCallback    ,
+    WidgetSelectionNotifyEventCallback      ,
+#if ENABLE_OVERLOADING
+    WidgetSelectionNotifyEventSignalInfo    ,
+#endif
+    afterWidgetSelectionNotifyEvent         ,
+    genClosure_WidgetSelectionNotifyEvent   ,
+    mk_WidgetSelectionNotifyEventCallback   ,
+    noWidgetSelectionNotifyEventCallback    ,
+    onWidgetSelectionNotifyEvent            ,
+    wrap_WidgetSelectionNotifyEventCallback ,
+
+
+-- ** selectionReceived #signal:selectionReceived#
+
+    C_WidgetSelectionReceivedCallback       ,
+    WidgetSelectionReceivedCallback         ,
+#if ENABLE_OVERLOADING
+    WidgetSelectionReceivedSignalInfo       ,
+#endif
+    afterWidgetSelectionReceived            ,
+    genClosure_WidgetSelectionReceived      ,
+    mk_WidgetSelectionReceivedCallback      ,
+    noWidgetSelectionReceivedCallback       ,
+    onWidgetSelectionReceived               ,
+    wrap_WidgetSelectionReceivedCallback    ,
+
+
+-- ** selectionRequestEvent #signal:selectionRequestEvent#
+
+    C_WidgetSelectionRequestEventCallback   ,
+    WidgetSelectionRequestEventCallback     ,
+#if ENABLE_OVERLOADING
+    WidgetSelectionRequestEventSignalInfo   ,
+#endif
+    afterWidgetSelectionRequestEvent        ,
+    genClosure_WidgetSelectionRequestEvent  ,
+    mk_WidgetSelectionRequestEventCallback  ,
+    noWidgetSelectionRequestEventCallback   ,
+    onWidgetSelectionRequestEvent           ,
+    wrap_WidgetSelectionRequestEventCallback,
+
+
+-- ** show #signal:show#
+
+    C_WidgetShowCallback                    ,
+    WidgetShowCallback                      ,
+#if ENABLE_OVERLOADING
+    WidgetShowSignalInfo                    ,
+#endif
+    afterWidgetShow                         ,
+    genClosure_WidgetShow                   ,
+    mk_WidgetShowCallback                   ,
+    noWidgetShowCallback                    ,
+    onWidgetShow                            ,
+    wrap_WidgetShowCallback                 ,
+
+
+-- ** showHelp #signal:showHelp#
+
+    C_WidgetShowHelpCallback                ,
+    WidgetShowHelpCallback                  ,
+#if ENABLE_OVERLOADING
+    WidgetShowHelpSignalInfo                ,
+#endif
+    afterWidgetShowHelp                     ,
+    genClosure_WidgetShowHelp               ,
+    mk_WidgetShowHelpCallback               ,
+    noWidgetShowHelpCallback                ,
+    onWidgetShowHelp                        ,
+    wrap_WidgetShowHelpCallback             ,
+
+
+-- ** sizeAllocate #signal:sizeAllocate#
+
+    C_WidgetSizeAllocateCallback            ,
+    WidgetSizeAllocateCallback              ,
+#if ENABLE_OVERLOADING
+    WidgetSizeAllocateSignalInfo            ,
+#endif
+    afterWidgetSizeAllocate                 ,
+    genClosure_WidgetSizeAllocate           ,
+    mk_WidgetSizeAllocateCallback           ,
+    noWidgetSizeAllocateCallback            ,
+    onWidgetSizeAllocate                    ,
+    wrap_WidgetSizeAllocateCallback         ,
+
+
+-- ** stateChanged #signal:stateChanged#
+
+    C_WidgetStateChangedCallback            ,
+    WidgetStateChangedCallback              ,
+#if ENABLE_OVERLOADING
+    WidgetStateChangedSignalInfo            ,
+#endif
+    afterWidgetStateChanged                 ,
+    genClosure_WidgetStateChanged           ,
+    mk_WidgetStateChangedCallback           ,
+    noWidgetStateChangedCallback            ,
+    onWidgetStateChanged                    ,
+    wrap_WidgetStateChangedCallback         ,
+
+
+-- ** stateFlagsChanged #signal:stateFlagsChanged#
+
+    C_WidgetStateFlagsChangedCallback       ,
+    WidgetStateFlagsChangedCallback         ,
+#if ENABLE_OVERLOADING
+    WidgetStateFlagsChangedSignalInfo       ,
+#endif
+    afterWidgetStateFlagsChanged            ,
+    genClosure_WidgetStateFlagsChanged      ,
+    mk_WidgetStateFlagsChangedCallback      ,
+    noWidgetStateFlagsChangedCallback       ,
+    onWidgetStateFlagsChanged               ,
+    wrap_WidgetStateFlagsChangedCallback    ,
+
+
+-- ** styleSet #signal:styleSet#
+
+    C_WidgetStyleSetCallback                ,
+    WidgetStyleSetCallback                  ,
+#if ENABLE_OVERLOADING
+    WidgetStyleSetSignalInfo                ,
+#endif
+    afterWidgetStyleSet                     ,
+    genClosure_WidgetStyleSet               ,
+    mk_WidgetStyleSetCallback               ,
+    noWidgetStyleSetCallback                ,
+    onWidgetStyleSet                        ,
+    wrap_WidgetStyleSetCallback             ,
+
+
+-- ** styleUpdated #signal:styleUpdated#
+
+    C_WidgetStyleUpdatedCallback            ,
+    WidgetStyleUpdatedCallback              ,
+#if ENABLE_OVERLOADING
+    WidgetStyleUpdatedSignalInfo            ,
+#endif
+    afterWidgetStyleUpdated                 ,
+    genClosure_WidgetStyleUpdated           ,
+    mk_WidgetStyleUpdatedCallback           ,
+    noWidgetStyleUpdatedCallback            ,
+    onWidgetStyleUpdated                    ,
+    wrap_WidgetStyleUpdatedCallback         ,
+
+
+-- ** touchEvent #signal:touchEvent#
+
+    C_WidgetTouchEventCallback              ,
+    WidgetTouchEventCallback                ,
+#if ENABLE_OVERLOADING
+    WidgetTouchEventSignalInfo              ,
+#endif
+    afterWidgetTouchEvent                   ,
+    genClosure_WidgetTouchEvent             ,
+    mk_WidgetTouchEventCallback             ,
+    noWidgetTouchEventCallback              ,
+    onWidgetTouchEvent                      ,
+    wrap_WidgetTouchEventCallback           ,
+
+
+-- ** unmap #signal:unmap#
+
+    C_WidgetUnmapCallback                   ,
+    WidgetUnmapCallback                     ,
+#if ENABLE_OVERLOADING
+    WidgetUnmapSignalInfo                   ,
+#endif
+    afterWidgetUnmap                        ,
+    genClosure_WidgetUnmap                  ,
+    mk_WidgetUnmapCallback                  ,
+    noWidgetUnmapCallback                   ,
+    onWidgetUnmap                           ,
+    wrap_WidgetUnmapCallback                ,
+
+
+-- ** unmapEvent #signal:unmapEvent#
+
+    C_WidgetUnmapEventCallback              ,
+    WidgetUnmapEventCallback                ,
+#if ENABLE_OVERLOADING
+    WidgetUnmapEventSignalInfo              ,
+#endif
+    afterWidgetUnmapEvent                   ,
+    genClosure_WidgetUnmapEvent             ,
+    mk_WidgetUnmapEventCallback             ,
+    noWidgetUnmapEventCallback              ,
+    onWidgetUnmapEvent                      ,
+    wrap_WidgetUnmapEventCallback           ,
+
+
+-- ** unrealize #signal:unrealize#
+
+    C_WidgetUnrealizeCallback               ,
+    WidgetUnrealizeCallback                 ,
+#if ENABLE_OVERLOADING
+    WidgetUnrealizeSignalInfo               ,
+#endif
+    afterWidgetUnrealize                    ,
+    genClosure_WidgetUnrealize              ,
+    mk_WidgetUnrealizeCallback              ,
+    noWidgetUnrealizeCallback               ,
+    onWidgetUnrealize                       ,
+    wrap_WidgetUnrealizeCallback            ,
+
+
+-- ** visibilityNotifyEvent #signal:visibilityNotifyEvent#
+
+    C_WidgetVisibilityNotifyEventCallback   ,
+    WidgetVisibilityNotifyEventCallback     ,
+#if ENABLE_OVERLOADING
+    WidgetVisibilityNotifyEventSignalInfo   ,
+#endif
+    afterWidgetVisibilityNotifyEvent        ,
+    genClosure_WidgetVisibilityNotifyEvent  ,
+    mk_WidgetVisibilityNotifyEventCallback  ,
+    noWidgetVisibilityNotifyEventCallback   ,
+    onWidgetVisibilityNotifyEvent           ,
+    wrap_WidgetVisibilityNotifyEventCallback,
+
+
+-- ** windowStateEvent #signal:windowStateEvent#
+
+    C_WidgetWindowStateEventCallback        ,
+    WidgetWindowStateEventCallback          ,
+#if ENABLE_OVERLOADING
+    WidgetWindowStateEventSignalInfo        ,
+#endif
+    afterWidgetWindowStateEvent             ,
+    genClosure_WidgetWindowStateEvent       ,
+    mk_WidgetWindowStateEventCallback       ,
+    noWidgetWindowStateEventCallback        ,
+    onWidgetWindowStateEvent                ,
+    wrap_WidgetWindowStateEventCallback     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.Cairo.Structs.Context as Cairo.Context
+import qualified GI.Cairo.Structs.FontOptions as Cairo.FontOptions
+import qualified GI.Cairo.Structs.Region as Cairo.Region
+import qualified GI.GLib.Callbacks as GLib.Callbacks
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Enums as Gdk.Enums
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gdk.Objects.Device as Gdk.Device
+import qualified GI.Gdk.Objects.Display as Gdk.Display
+import qualified GI.Gdk.Objects.DragContext as Gdk.DragContext
+import qualified GI.Gdk.Objects.FrameClock as Gdk.FrameClock
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gdk.Objects.Visual as Gdk.Visual
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.Gdk.Structs.Atom as Gdk.Atom
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+import qualified GI.Gdk.Structs.EventAny as Gdk.EventAny
+import qualified GI.Gdk.Structs.EventButton as Gdk.EventButton
+import qualified GI.Gdk.Structs.EventConfigure as Gdk.EventConfigure
+import qualified GI.Gdk.Structs.EventCrossing as Gdk.EventCrossing
+import qualified GI.Gdk.Structs.EventExpose as Gdk.EventExpose
+import qualified GI.Gdk.Structs.EventFocus as Gdk.EventFocus
+import qualified GI.Gdk.Structs.EventGrabBroken as Gdk.EventGrabBroken
+import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
+import qualified GI.Gdk.Structs.EventMotion as Gdk.EventMotion
+import qualified GI.Gdk.Structs.EventProperty as Gdk.EventProperty
+import qualified GI.Gdk.Structs.EventProximity as Gdk.EventProximity
+import qualified GI.Gdk.Structs.EventScroll as Gdk.EventScroll
+import qualified GI.Gdk.Structs.EventSelection as Gdk.EventSelection
+import qualified GI.Gdk.Structs.EventVisibility as Gdk.EventVisibility
+import qualified GI.Gdk.Structs.EventWindowState as Gdk.EventWindowState
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.Gdk.Unions.Event as Gdk.Event
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gio.Interfaces.ActionGroup as Gio.ActionGroup
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Clipboard as Gtk.Clipboard
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.RcStyle as Gtk.RcStyle
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Settings as Gtk.Settings
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Style as Gtk.Style
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Tooltip as Gtk.Tooltip
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+import {-# SOURCE #-} qualified GI.Gtk.Structs.Requisition as Gtk.Requisition
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SelectionData as Gtk.SelectionData
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetEntry as Gtk.TargetEntry
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetList as Gtk.TargetList
+import {-# SOURCE #-} qualified GI.Gtk.Structs.WidgetPath as Gtk.WidgetPath
+import qualified GI.Pango.Objects.Context as Pango.Context
+import qualified GI.Pango.Objects.FontMap as Pango.FontMap
+import qualified GI.Pango.Objects.Layout as Pango.Layout
+import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
+
+-- | Memory-managed wrapper type.
+newtype Widget = Widget (ManagedPtr Widget)
+foreign import ccall "gtk_widget_get_type"
+    c_gtk_widget_get_type :: IO GType
+
+instance GObject Widget where
+    gobjectType = c_gtk_widget_get_type
+    
+
+-- | Type class for types which can be safely cast to `Widget`, for instance with `toWidget`.
+class (GObject o, O.IsDescendantOf Widget o) => IsWidget o
+instance (GObject o, O.IsDescendantOf Widget o) => IsWidget o
+
+instance O.HasParentTypes Widget
+type instance O.ParentTypes Widget = '[GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Widget`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toWidget :: (MonadIO m, IsWidget o) => o -> m Widget
+toWidget = liftIO . unsafeCastTo Widget
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Widget`.
+noWidget :: Maybe Widget
+noWidget = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveWidgetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveWidgetMethod "activate" o = WidgetActivateMethodInfo
+    ResolveWidgetMethod "addAccelerator" o = WidgetAddAcceleratorMethodInfo
+    ResolveWidgetMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveWidgetMethod "addDeviceEvents" o = WidgetAddDeviceEventsMethodInfo
+    ResolveWidgetMethod "addEvents" o = WidgetAddEventsMethodInfo
+    ResolveWidgetMethod "addMnemonicLabel" o = WidgetAddMnemonicLabelMethodInfo
+    ResolveWidgetMethod "addTickCallback" o = WidgetAddTickCallbackMethodInfo
+    ResolveWidgetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveWidgetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveWidgetMethod "canActivateAccel" o = WidgetCanActivateAccelMethodInfo
+    ResolveWidgetMethod "childFocus" o = WidgetChildFocusMethodInfo
+    ResolveWidgetMethod "childNotify" o = WidgetChildNotifyMethodInfo
+    ResolveWidgetMethod "classPath" o = WidgetClassPathMethodInfo
+    ResolveWidgetMethod "computeExpand" o = WidgetComputeExpandMethodInfo
+    ResolveWidgetMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveWidgetMethod "createPangoContext" o = WidgetCreatePangoContextMethodInfo
+    ResolveWidgetMethod "createPangoLayout" o = WidgetCreatePangoLayoutMethodInfo
+    ResolveWidgetMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveWidgetMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveWidgetMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveWidgetMethod "destroy" o = WidgetDestroyMethodInfo
+    ResolveWidgetMethod "destroyed" o = WidgetDestroyedMethodInfo
+    ResolveWidgetMethod "deviceIsShadowed" o = WidgetDeviceIsShadowedMethodInfo
+    ResolveWidgetMethod "dragBegin" o = WidgetDragBeginMethodInfo
+    ResolveWidgetMethod "dragBeginWithCoordinates" o = WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveWidgetMethod "dragCheckThreshold" o = WidgetDragCheckThresholdMethodInfo
+    ResolveWidgetMethod "dragDestAddImageTargets" o = WidgetDragDestAddImageTargetsMethodInfo
+    ResolveWidgetMethod "dragDestAddTextTargets" o = WidgetDragDestAddTextTargetsMethodInfo
+    ResolveWidgetMethod "dragDestAddUriTargets" o = WidgetDragDestAddUriTargetsMethodInfo
+    ResolveWidgetMethod "dragDestFindTarget" o = WidgetDragDestFindTargetMethodInfo
+    ResolveWidgetMethod "dragDestGetTargetList" o = WidgetDragDestGetTargetListMethodInfo
+    ResolveWidgetMethod "dragDestGetTrackMotion" o = WidgetDragDestGetTrackMotionMethodInfo
+    ResolveWidgetMethod "dragDestSet" o = WidgetDragDestSetMethodInfo
+    ResolveWidgetMethod "dragDestSetProxy" o = WidgetDragDestSetProxyMethodInfo
+    ResolveWidgetMethod "dragDestSetTargetList" o = WidgetDragDestSetTargetListMethodInfo
+    ResolveWidgetMethod "dragDestSetTrackMotion" o = WidgetDragDestSetTrackMotionMethodInfo
+    ResolveWidgetMethod "dragDestUnset" o = WidgetDragDestUnsetMethodInfo
+    ResolveWidgetMethod "dragGetData" o = WidgetDragGetDataMethodInfo
+    ResolveWidgetMethod "dragHighlight" o = WidgetDragHighlightMethodInfo
+    ResolveWidgetMethod "dragSourceAddImageTargets" o = WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveWidgetMethod "dragSourceAddTextTargets" o = WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveWidgetMethod "dragSourceAddUriTargets" o = WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveWidgetMethod "dragSourceGetTargetList" o = WidgetDragSourceGetTargetListMethodInfo
+    ResolveWidgetMethod "dragSourceSet" o = WidgetDragSourceSetMethodInfo
+    ResolveWidgetMethod "dragSourceSetIconGicon" o = WidgetDragSourceSetIconGiconMethodInfo
+    ResolveWidgetMethod "dragSourceSetIconName" o = WidgetDragSourceSetIconNameMethodInfo
+    ResolveWidgetMethod "dragSourceSetIconPixbuf" o = WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveWidgetMethod "dragSourceSetIconStock" o = WidgetDragSourceSetIconStockMethodInfo
+    ResolveWidgetMethod "dragSourceSetTargetList" o = WidgetDragSourceSetTargetListMethodInfo
+    ResolveWidgetMethod "dragSourceUnset" o = WidgetDragSourceUnsetMethodInfo
+    ResolveWidgetMethod "dragUnhighlight" o = WidgetDragUnhighlightMethodInfo
+    ResolveWidgetMethod "draw" o = WidgetDrawMethodInfo
+    ResolveWidgetMethod "ensureStyle" o = WidgetEnsureStyleMethodInfo
+    ResolveWidgetMethod "errorBell" o = WidgetErrorBellMethodInfo
+    ResolveWidgetMethod "event" o = WidgetEventMethodInfo
+    ResolveWidgetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveWidgetMethod "freezeChildNotify" o = WidgetFreezeChildNotifyMethodInfo
+    ResolveWidgetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveWidgetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveWidgetMethod "grabAdd" o = WidgetGrabAddMethodInfo
+    ResolveWidgetMethod "grabDefault" o = WidgetGrabDefaultMethodInfo
+    ResolveWidgetMethod "grabFocus" o = WidgetGrabFocusMethodInfo
+    ResolveWidgetMethod "grabRemove" o = WidgetGrabRemoveMethodInfo
+    ResolveWidgetMethod "hasDefault" o = WidgetHasDefaultMethodInfo
+    ResolveWidgetMethod "hasFocus" o = WidgetHasFocusMethodInfo
+    ResolveWidgetMethod "hasGrab" o = WidgetHasGrabMethodInfo
+    ResolveWidgetMethod "hasRcStyle" o = WidgetHasRcStyleMethodInfo
+    ResolveWidgetMethod "hasScreen" o = WidgetHasScreenMethodInfo
+    ResolveWidgetMethod "hasVisibleFocus" o = WidgetHasVisibleFocusMethodInfo
+    ResolveWidgetMethod "hide" o = WidgetHideMethodInfo
+    ResolveWidgetMethod "hideOnDelete" o = WidgetHideOnDeleteMethodInfo
+    ResolveWidgetMethod "inDestruction" o = WidgetInDestructionMethodInfo
+    ResolveWidgetMethod "initTemplate" o = WidgetInitTemplateMethodInfo
+    ResolveWidgetMethod "inputShapeCombineRegion" o = WidgetInputShapeCombineRegionMethodInfo
+    ResolveWidgetMethod "insertActionGroup" o = WidgetInsertActionGroupMethodInfo
+    ResolveWidgetMethod "intersect" o = WidgetIntersectMethodInfo
+    ResolveWidgetMethod "isAncestor" o = WidgetIsAncestorMethodInfo
+    ResolveWidgetMethod "isComposited" o = WidgetIsCompositedMethodInfo
+    ResolveWidgetMethod "isDrawable" o = WidgetIsDrawableMethodInfo
+    ResolveWidgetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveWidgetMethod "isFocus" o = WidgetIsFocusMethodInfo
+    ResolveWidgetMethod "isSensitive" o = WidgetIsSensitiveMethodInfo
+    ResolveWidgetMethod "isToplevel" o = WidgetIsToplevelMethodInfo
+    ResolveWidgetMethod "isVisible" o = WidgetIsVisibleMethodInfo
+    ResolveWidgetMethod "keynavFailed" o = WidgetKeynavFailedMethodInfo
+    ResolveWidgetMethod "listAccelClosures" o = WidgetListAccelClosuresMethodInfo
+    ResolveWidgetMethod "listActionPrefixes" o = WidgetListActionPrefixesMethodInfo
+    ResolveWidgetMethod "listMnemonicLabels" o = WidgetListMnemonicLabelsMethodInfo
+    ResolveWidgetMethod "map" o = WidgetMapMethodInfo
+    ResolveWidgetMethod "mnemonicActivate" o = WidgetMnemonicActivateMethodInfo
+    ResolveWidgetMethod "modifyBase" o = WidgetModifyBaseMethodInfo
+    ResolveWidgetMethod "modifyBg" o = WidgetModifyBgMethodInfo
+    ResolveWidgetMethod "modifyCursor" o = WidgetModifyCursorMethodInfo
+    ResolveWidgetMethod "modifyFg" o = WidgetModifyFgMethodInfo
+    ResolveWidgetMethod "modifyFont" o = WidgetModifyFontMethodInfo
+    ResolveWidgetMethod "modifyStyle" o = WidgetModifyStyleMethodInfo
+    ResolveWidgetMethod "modifyText" o = WidgetModifyTextMethodInfo
+    ResolveWidgetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveWidgetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveWidgetMethod "overrideBackgroundColor" o = WidgetOverrideBackgroundColorMethodInfo
+    ResolveWidgetMethod "overrideColor" o = WidgetOverrideColorMethodInfo
+    ResolveWidgetMethod "overrideCursor" o = WidgetOverrideCursorMethodInfo
+    ResolveWidgetMethod "overrideFont" o = WidgetOverrideFontMethodInfo
+    ResolveWidgetMethod "overrideSymbolicColor" o = WidgetOverrideSymbolicColorMethodInfo
+    ResolveWidgetMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveWidgetMethod "path" o = WidgetPathMethodInfo
+    ResolveWidgetMethod "queueAllocate" o = WidgetQueueAllocateMethodInfo
+    ResolveWidgetMethod "queueComputeExpand" o = WidgetQueueComputeExpandMethodInfo
+    ResolveWidgetMethod "queueDraw" o = WidgetQueueDrawMethodInfo
+    ResolveWidgetMethod "queueDrawArea" o = WidgetQueueDrawAreaMethodInfo
+    ResolveWidgetMethod "queueDrawRegion" o = WidgetQueueDrawRegionMethodInfo
+    ResolveWidgetMethod "queueResize" o = WidgetQueueResizeMethodInfo
+    ResolveWidgetMethod "queueResizeNoRedraw" o = WidgetQueueResizeNoRedrawMethodInfo
+    ResolveWidgetMethod "realize" o = WidgetRealizeMethodInfo
+    ResolveWidgetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveWidgetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveWidgetMethod "regionIntersect" o = WidgetRegionIntersectMethodInfo
+    ResolveWidgetMethod "registerWindow" o = WidgetRegisterWindowMethodInfo
+    ResolveWidgetMethod "removeAccelerator" o = WidgetRemoveAcceleratorMethodInfo
+    ResolveWidgetMethod "removeMnemonicLabel" o = WidgetRemoveMnemonicLabelMethodInfo
+    ResolveWidgetMethod "removeTickCallback" o = WidgetRemoveTickCallbackMethodInfo
+    ResolveWidgetMethod "renderIcon" o = WidgetRenderIconMethodInfo
+    ResolveWidgetMethod "renderIconPixbuf" o = WidgetRenderIconPixbufMethodInfo
+    ResolveWidgetMethod "reparent" o = WidgetReparentMethodInfo
+    ResolveWidgetMethod "resetRcStyles" o = WidgetResetRcStylesMethodInfo
+    ResolveWidgetMethod "resetStyle" o = WidgetResetStyleMethodInfo
+    ResolveWidgetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveWidgetMethod "sendExpose" o = WidgetSendExposeMethodInfo
+    ResolveWidgetMethod "sendFocusChange" o = WidgetSendFocusChangeMethodInfo
+    ResolveWidgetMethod "shapeCombineRegion" o = WidgetShapeCombineRegionMethodInfo
+    ResolveWidgetMethod "show" o = WidgetShowMethodInfo
+    ResolveWidgetMethod "showAll" o = WidgetShowAllMethodInfo
+    ResolveWidgetMethod "showNow" o = WidgetShowNowMethodInfo
+    ResolveWidgetMethod "sizeAllocate" o = WidgetSizeAllocateMethodInfo
+    ResolveWidgetMethod "sizeAllocateWithBaseline" o = WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveWidgetMethod "sizeRequest" o = WidgetSizeRequestMethodInfo
+    ResolveWidgetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveWidgetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveWidgetMethod "styleAttach" o = WidgetStyleAttachMethodInfo
+    ResolveWidgetMethod "styleGetProperty" o = WidgetStyleGetPropertyMethodInfo
+    ResolveWidgetMethod "thawChildNotify" o = WidgetThawChildNotifyMethodInfo
+    ResolveWidgetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveWidgetMethod "translateCoordinates" o = WidgetTranslateCoordinatesMethodInfo
+    ResolveWidgetMethod "triggerTooltipQuery" o = WidgetTriggerTooltipQueryMethodInfo
+    ResolveWidgetMethod "unmap" o = WidgetUnmapMethodInfo
+    ResolveWidgetMethod "unparent" o = WidgetUnparentMethodInfo
+    ResolveWidgetMethod "unrealize" o = WidgetUnrealizeMethodInfo
+    ResolveWidgetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveWidgetMethod "unregisterWindow" o = WidgetUnregisterWindowMethodInfo
+    ResolveWidgetMethod "unsetStateFlags" o = WidgetUnsetStateFlagsMethodInfo
+    ResolveWidgetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveWidgetMethod "getAccessible" o = WidgetGetAccessibleMethodInfo
+    ResolveWidgetMethod "getActionGroup" o = WidgetGetActionGroupMethodInfo
+    ResolveWidgetMethod "getAllocatedBaseline" o = WidgetGetAllocatedBaselineMethodInfo
+    ResolveWidgetMethod "getAllocatedHeight" o = WidgetGetAllocatedHeightMethodInfo
+    ResolveWidgetMethod "getAllocatedSize" o = WidgetGetAllocatedSizeMethodInfo
+    ResolveWidgetMethod "getAllocatedWidth" o = WidgetGetAllocatedWidthMethodInfo
+    ResolveWidgetMethod "getAllocation" o = WidgetGetAllocationMethodInfo
+    ResolveWidgetMethod "getAncestor" o = WidgetGetAncestorMethodInfo
+    ResolveWidgetMethod "getAppPaintable" o = WidgetGetAppPaintableMethodInfo
+    ResolveWidgetMethod "getCanDefault" o = WidgetGetCanDefaultMethodInfo
+    ResolveWidgetMethod "getCanFocus" o = WidgetGetCanFocusMethodInfo
+    ResolveWidgetMethod "getChildRequisition" o = WidgetGetChildRequisitionMethodInfo
+    ResolveWidgetMethod "getChildVisible" o = WidgetGetChildVisibleMethodInfo
+    ResolveWidgetMethod "getClip" o = WidgetGetClipMethodInfo
+    ResolveWidgetMethod "getClipboard" o = WidgetGetClipboardMethodInfo
+    ResolveWidgetMethod "getCompositeName" o = WidgetGetCompositeNameMethodInfo
+    ResolveWidgetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveWidgetMethod "getDeviceEnabled" o = WidgetGetDeviceEnabledMethodInfo
+    ResolveWidgetMethod "getDeviceEvents" o = WidgetGetDeviceEventsMethodInfo
+    ResolveWidgetMethod "getDirection" o = WidgetGetDirectionMethodInfo
+    ResolveWidgetMethod "getDisplay" o = WidgetGetDisplayMethodInfo
+    ResolveWidgetMethod "getDoubleBuffered" o = WidgetGetDoubleBufferedMethodInfo
+    ResolveWidgetMethod "getEvents" o = WidgetGetEventsMethodInfo
+    ResolveWidgetMethod "getFocusOnClick" o = WidgetGetFocusOnClickMethodInfo
+    ResolveWidgetMethod "getFontMap" o = WidgetGetFontMapMethodInfo
+    ResolveWidgetMethod "getFontOptions" o = WidgetGetFontOptionsMethodInfo
+    ResolveWidgetMethod "getFrameClock" o = WidgetGetFrameClockMethodInfo
+    ResolveWidgetMethod "getHalign" o = WidgetGetHalignMethodInfo
+    ResolveWidgetMethod "getHasTooltip" o = WidgetGetHasTooltipMethodInfo
+    ResolveWidgetMethod "getHasWindow" o = WidgetGetHasWindowMethodInfo
+    ResolveWidgetMethod "getHexpand" o = WidgetGetHexpandMethodInfo
+    ResolveWidgetMethod "getHexpandSet" o = WidgetGetHexpandSetMethodInfo
+    ResolveWidgetMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveWidgetMethod "getMapped" o = WidgetGetMappedMethodInfo
+    ResolveWidgetMethod "getMarginBottom" o = WidgetGetMarginBottomMethodInfo
+    ResolveWidgetMethod "getMarginEnd" o = WidgetGetMarginEndMethodInfo
+    ResolveWidgetMethod "getMarginLeft" o = WidgetGetMarginLeftMethodInfo
+    ResolveWidgetMethod "getMarginRight" o = WidgetGetMarginRightMethodInfo
+    ResolveWidgetMethod "getMarginStart" o = WidgetGetMarginStartMethodInfo
+    ResolveWidgetMethod "getMarginTop" o = WidgetGetMarginTopMethodInfo
+    ResolveWidgetMethod "getModifierMask" o = WidgetGetModifierMaskMethodInfo
+    ResolveWidgetMethod "getModifierStyle" o = WidgetGetModifierStyleMethodInfo
+    ResolveWidgetMethod "getName" o = WidgetGetNameMethodInfo
+    ResolveWidgetMethod "getNoShowAll" o = WidgetGetNoShowAllMethodInfo
+    ResolveWidgetMethod "getOpacity" o = WidgetGetOpacityMethodInfo
+    ResolveWidgetMethod "getPangoContext" o = WidgetGetPangoContextMethodInfo
+    ResolveWidgetMethod "getParent" o = WidgetGetParentMethodInfo
+    ResolveWidgetMethod "getParentWindow" o = WidgetGetParentWindowMethodInfo
+    ResolveWidgetMethod "getPath" o = WidgetGetPathMethodInfo
+    ResolveWidgetMethod "getPointer" o = WidgetGetPointerMethodInfo
+    ResolveWidgetMethod "getPreferredHeight" o = WidgetGetPreferredHeightMethodInfo
+    ResolveWidgetMethod "getPreferredHeightAndBaselineForWidth" o = WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveWidgetMethod "getPreferredHeightForWidth" o = WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveWidgetMethod "getPreferredSize" o = WidgetGetPreferredSizeMethodInfo
+    ResolveWidgetMethod "getPreferredWidth" o = WidgetGetPreferredWidthMethodInfo
+    ResolveWidgetMethod "getPreferredWidthForHeight" o = WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveWidgetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveWidgetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveWidgetMethod "getRealized" o = WidgetGetRealizedMethodInfo
+    ResolveWidgetMethod "getReceivesDefault" o = WidgetGetReceivesDefaultMethodInfo
+    ResolveWidgetMethod "getRequestMode" o = WidgetGetRequestModeMethodInfo
+    ResolveWidgetMethod "getRequisition" o = WidgetGetRequisitionMethodInfo
+    ResolveWidgetMethod "getRootWindow" o = WidgetGetRootWindowMethodInfo
+    ResolveWidgetMethod "getScaleFactor" o = WidgetGetScaleFactorMethodInfo
+    ResolveWidgetMethod "getScreen" o = WidgetGetScreenMethodInfo
+    ResolveWidgetMethod "getSensitive" o = WidgetGetSensitiveMethodInfo
+    ResolveWidgetMethod "getSettings" o = WidgetGetSettingsMethodInfo
+    ResolveWidgetMethod "getSizeRequest" o = WidgetGetSizeRequestMethodInfo
+    ResolveWidgetMethod "getState" o = WidgetGetStateMethodInfo
+    ResolveWidgetMethod "getStateFlags" o = WidgetGetStateFlagsMethodInfo
+    ResolveWidgetMethod "getStyle" o = WidgetGetStyleMethodInfo
+    ResolveWidgetMethod "getStyleContext" o = WidgetGetStyleContextMethodInfo
+    ResolveWidgetMethod "getSupportMultidevice" o = WidgetGetSupportMultideviceMethodInfo
+    ResolveWidgetMethod "getTemplateChild" o = WidgetGetTemplateChildMethodInfo
+    ResolveWidgetMethod "getTooltipMarkup" o = WidgetGetTooltipMarkupMethodInfo
+    ResolveWidgetMethod "getTooltipText" o = WidgetGetTooltipTextMethodInfo
+    ResolveWidgetMethod "getTooltipWindow" o = WidgetGetTooltipWindowMethodInfo
+    ResolveWidgetMethod "getToplevel" o = WidgetGetToplevelMethodInfo
+    ResolveWidgetMethod "getValign" o = WidgetGetValignMethodInfo
+    ResolveWidgetMethod "getValignWithBaseline" o = WidgetGetValignWithBaselineMethodInfo
+    ResolveWidgetMethod "getVexpand" o = WidgetGetVexpandMethodInfo
+    ResolveWidgetMethod "getVexpandSet" o = WidgetGetVexpandSetMethodInfo
+    ResolveWidgetMethod "getVisible" o = WidgetGetVisibleMethodInfo
+    ResolveWidgetMethod "getVisual" o = WidgetGetVisualMethodInfo
+    ResolveWidgetMethod "getWindow" o = WidgetGetWindowMethodInfo
+    ResolveWidgetMethod "setAccelPath" o = WidgetSetAccelPathMethodInfo
+    ResolveWidgetMethod "setAllocation" o = WidgetSetAllocationMethodInfo
+    ResolveWidgetMethod "setAppPaintable" o = WidgetSetAppPaintableMethodInfo
+    ResolveWidgetMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveWidgetMethod "setCanDefault" o = WidgetSetCanDefaultMethodInfo
+    ResolveWidgetMethod "setCanFocus" o = WidgetSetCanFocusMethodInfo
+    ResolveWidgetMethod "setChildVisible" o = WidgetSetChildVisibleMethodInfo
+    ResolveWidgetMethod "setClip" o = WidgetSetClipMethodInfo
+    ResolveWidgetMethod "setCompositeName" o = WidgetSetCompositeNameMethodInfo
+    ResolveWidgetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveWidgetMethod "setDeviceEnabled" o = WidgetSetDeviceEnabledMethodInfo
+    ResolveWidgetMethod "setDeviceEvents" o = WidgetSetDeviceEventsMethodInfo
+    ResolveWidgetMethod "setDirection" o = WidgetSetDirectionMethodInfo
+    ResolveWidgetMethod "setDoubleBuffered" o = WidgetSetDoubleBufferedMethodInfo
+    ResolveWidgetMethod "setEvents" o = WidgetSetEventsMethodInfo
+    ResolveWidgetMethod "setFocusOnClick" o = WidgetSetFocusOnClickMethodInfo
+    ResolveWidgetMethod "setFontMap" o = WidgetSetFontMapMethodInfo
+    ResolveWidgetMethod "setFontOptions" o = WidgetSetFontOptionsMethodInfo
+    ResolveWidgetMethod "setHalign" o = WidgetSetHalignMethodInfo
+    ResolveWidgetMethod "setHasTooltip" o = WidgetSetHasTooltipMethodInfo
+    ResolveWidgetMethod "setHasWindow" o = WidgetSetHasWindowMethodInfo
+    ResolveWidgetMethod "setHexpand" o = WidgetSetHexpandMethodInfo
+    ResolveWidgetMethod "setHexpandSet" o = WidgetSetHexpandSetMethodInfo
+    ResolveWidgetMethod "setMapped" o = WidgetSetMappedMethodInfo
+    ResolveWidgetMethod "setMarginBottom" o = WidgetSetMarginBottomMethodInfo
+    ResolveWidgetMethod "setMarginEnd" o = WidgetSetMarginEndMethodInfo
+    ResolveWidgetMethod "setMarginLeft" o = WidgetSetMarginLeftMethodInfo
+    ResolveWidgetMethod "setMarginRight" o = WidgetSetMarginRightMethodInfo
+    ResolveWidgetMethod "setMarginStart" o = WidgetSetMarginStartMethodInfo
+    ResolveWidgetMethod "setMarginTop" o = WidgetSetMarginTopMethodInfo
+    ResolveWidgetMethod "setName" o = WidgetSetNameMethodInfo
+    ResolveWidgetMethod "setNoShowAll" o = WidgetSetNoShowAllMethodInfo
+    ResolveWidgetMethod "setOpacity" o = WidgetSetOpacityMethodInfo
+    ResolveWidgetMethod "setParent" o = WidgetSetParentMethodInfo
+    ResolveWidgetMethod "setParentWindow" o = WidgetSetParentWindowMethodInfo
+    ResolveWidgetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveWidgetMethod "setRealized" o = WidgetSetRealizedMethodInfo
+    ResolveWidgetMethod "setReceivesDefault" o = WidgetSetReceivesDefaultMethodInfo
+    ResolveWidgetMethod "setRedrawOnAllocate" o = WidgetSetRedrawOnAllocateMethodInfo
+    ResolveWidgetMethod "setSensitive" o = WidgetSetSensitiveMethodInfo
+    ResolveWidgetMethod "setSizeRequest" o = WidgetSetSizeRequestMethodInfo
+    ResolveWidgetMethod "setState" o = WidgetSetStateMethodInfo
+    ResolveWidgetMethod "setStateFlags" o = WidgetSetStateFlagsMethodInfo
+    ResolveWidgetMethod "setStyle" o = WidgetSetStyleMethodInfo
+    ResolveWidgetMethod "setSupportMultidevice" o = WidgetSetSupportMultideviceMethodInfo
+    ResolveWidgetMethod "setTooltipMarkup" o = WidgetSetTooltipMarkupMethodInfo
+    ResolveWidgetMethod "setTooltipText" o = WidgetSetTooltipTextMethodInfo
+    ResolveWidgetMethod "setTooltipWindow" o = WidgetSetTooltipWindowMethodInfo
+    ResolveWidgetMethod "setValign" o = WidgetSetValignMethodInfo
+    ResolveWidgetMethod "setVexpand" o = WidgetSetVexpandMethodInfo
+    ResolveWidgetMethod "setVexpandSet" o = WidgetSetVexpandSetMethodInfo
+    ResolveWidgetMethod "setVisible" o = WidgetSetVisibleMethodInfo
+    ResolveWidgetMethod "setVisual" o = WidgetSetVisualMethodInfo
+    ResolveWidgetMethod "setWindow" o = WidgetSetWindowMethodInfo
+    ResolveWidgetMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveWidgetMethod t Widget, O.MethodInfo info Widget p) => OL.IsLabel t (Widget -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Widget::accel-closures-changed
+{- |
+/No description available in the introspection data./
+-}
+type WidgetAccelClosuresChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetAccelClosuresChangedCallback`@.
+noWidgetAccelClosuresChangedCallback :: Maybe WidgetAccelClosuresChangedCallback
+noWidgetAccelClosuresChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetAccelClosuresChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetAccelClosuresChangedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetAccelClosuresChangedCallback :: C_WidgetAccelClosuresChangedCallback -> IO (FunPtr C_WidgetAccelClosuresChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetAccelClosuresChanged :: MonadIO m => WidgetAccelClosuresChangedCallback -> m (GClosure C_WidgetAccelClosuresChangedCallback)
+genClosure_WidgetAccelClosuresChanged cb = liftIO $ do
+    let cb' = wrap_WidgetAccelClosuresChangedCallback cb
+    mk_WidgetAccelClosuresChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetAccelClosuresChangedCallback` into a `C_WidgetAccelClosuresChangedCallback`.
+wrap_WidgetAccelClosuresChangedCallback ::
+    WidgetAccelClosuresChangedCallback ->
+    C_WidgetAccelClosuresChangedCallback
+wrap_WidgetAccelClosuresChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@accel-closures-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #accelClosuresChanged callback
+@
+-}
+onWidgetAccelClosuresChanged :: (IsWidget a, MonadIO m) => a -> WidgetAccelClosuresChangedCallback -> m SignalHandlerId
+onWidgetAccelClosuresChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetAccelClosuresChangedCallback cb
+    cb'' <- mk_WidgetAccelClosuresChangedCallback cb'
+    connectSignalFunPtr obj "accel-closures-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@accel-closures-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #accelClosuresChanged callback
+@
+-}
+afterWidgetAccelClosuresChanged :: (IsWidget a, MonadIO m) => a -> WidgetAccelClosuresChangedCallback -> m SignalHandlerId
+afterWidgetAccelClosuresChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetAccelClosuresChangedCallback cb
+    cb'' <- mk_WidgetAccelClosuresChangedCallback cb'
+    connectSignalFunPtr obj "accel-closures-changed" cb'' SignalConnectAfter
+
+
+-- signal Widget::button-press-event
+{- |
+The ::button-press-event signal will be emitted when a button
+(typically from a mouse) is pressed.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the
+widget needs to enable the @/GDK_BUTTON_PRESS_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetButtonPressEventCallback =
+    Gdk.EventButton.EventButton
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventButton.EventButton' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetButtonPressEventCallback`@.
+noWidgetButtonPressEventCallback :: Maybe WidgetButtonPressEventCallback
+noWidgetButtonPressEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetButtonPressEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventButton.EventButton ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetButtonPressEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetButtonPressEventCallback :: C_WidgetButtonPressEventCallback -> IO (FunPtr C_WidgetButtonPressEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetButtonPressEvent :: MonadIO m => WidgetButtonPressEventCallback -> m (GClosure C_WidgetButtonPressEventCallback)
+genClosure_WidgetButtonPressEvent cb = liftIO $ do
+    let cb' = wrap_WidgetButtonPressEventCallback cb
+    mk_WidgetButtonPressEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetButtonPressEventCallback` into a `C_WidgetButtonPressEventCallback`.
+wrap_WidgetButtonPressEventCallback ::
+    WidgetButtonPressEventCallback ->
+    C_WidgetButtonPressEventCallback
+wrap_WidgetButtonPressEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventButton.EventButton) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@button-press-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #buttonPressEvent callback
+@
+-}
+onWidgetButtonPressEvent :: (IsWidget a, MonadIO m) => a -> WidgetButtonPressEventCallback -> m SignalHandlerId
+onWidgetButtonPressEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetButtonPressEventCallback cb
+    cb'' <- mk_WidgetButtonPressEventCallback cb'
+    connectSignalFunPtr obj "button-press-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@button-press-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #buttonPressEvent callback
+@
+-}
+afterWidgetButtonPressEvent :: (IsWidget a, MonadIO m) => a -> WidgetButtonPressEventCallback -> m SignalHandlerId
+afterWidgetButtonPressEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetButtonPressEventCallback cb
+    cb'' <- mk_WidgetButtonPressEventCallback cb'
+    connectSignalFunPtr obj "button-press-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::button-release-event
+{- |
+The ::button-release-event signal will be emitted when a button
+(typically from a mouse) is released.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the
+widget needs to enable the @/GDK_BUTTON_RELEASE_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetButtonReleaseEventCallback =
+    Gdk.EventButton.EventButton
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventButton.EventButton' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetButtonReleaseEventCallback`@.
+noWidgetButtonReleaseEventCallback :: Maybe WidgetButtonReleaseEventCallback
+noWidgetButtonReleaseEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetButtonReleaseEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventButton.EventButton ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetButtonReleaseEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetButtonReleaseEventCallback :: C_WidgetButtonReleaseEventCallback -> IO (FunPtr C_WidgetButtonReleaseEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetButtonReleaseEvent :: MonadIO m => WidgetButtonReleaseEventCallback -> m (GClosure C_WidgetButtonReleaseEventCallback)
+genClosure_WidgetButtonReleaseEvent cb = liftIO $ do
+    let cb' = wrap_WidgetButtonReleaseEventCallback cb
+    mk_WidgetButtonReleaseEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetButtonReleaseEventCallback` into a `C_WidgetButtonReleaseEventCallback`.
+wrap_WidgetButtonReleaseEventCallback ::
+    WidgetButtonReleaseEventCallback ->
+    C_WidgetButtonReleaseEventCallback
+wrap_WidgetButtonReleaseEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventButton.EventButton) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@button-release-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #buttonReleaseEvent callback
+@
+-}
+onWidgetButtonReleaseEvent :: (IsWidget a, MonadIO m) => a -> WidgetButtonReleaseEventCallback -> m SignalHandlerId
+onWidgetButtonReleaseEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetButtonReleaseEventCallback cb
+    cb'' <- mk_WidgetButtonReleaseEventCallback cb'
+    connectSignalFunPtr obj "button-release-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@button-release-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #buttonReleaseEvent callback
+@
+-}
+afterWidgetButtonReleaseEvent :: (IsWidget a, MonadIO m) => a -> WidgetButtonReleaseEventCallback -> m SignalHandlerId
+afterWidgetButtonReleaseEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetButtonReleaseEventCallback cb
+    cb'' <- mk_WidgetButtonReleaseEventCallback cb'
+    connectSignalFunPtr obj "button-release-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::can-activate-accel
+{- |
+Determines whether an accelerator that activates the signal
+identified by /@signalId@/ can currently be activated.
+This signal is present to allow applications and derived
+widgets to override the default 'GI.Gtk.Objects.Widget.Widget' handling
+for determining whether an accelerator can be activated.
+-}
+type WidgetCanActivateAccelCallback =
+    Word32
+    {- ^ /@signalId@/: the ID of a signal installed on /@widget@/ -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the signal can be activated. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetCanActivateAccelCallback`@.
+noWidgetCanActivateAccelCallback :: Maybe WidgetCanActivateAccelCallback
+noWidgetCanActivateAccelCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetCanActivateAccelCallback =
+    Ptr () ->                               -- object
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetCanActivateAccelCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetCanActivateAccelCallback :: C_WidgetCanActivateAccelCallback -> IO (FunPtr C_WidgetCanActivateAccelCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetCanActivateAccel :: MonadIO m => WidgetCanActivateAccelCallback -> m (GClosure C_WidgetCanActivateAccelCallback)
+genClosure_WidgetCanActivateAccel cb = liftIO $ do
+    let cb' = wrap_WidgetCanActivateAccelCallback cb
+    mk_WidgetCanActivateAccelCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetCanActivateAccelCallback` into a `C_WidgetCanActivateAccelCallback`.
+wrap_WidgetCanActivateAccelCallback ::
+    WidgetCanActivateAccelCallback ->
+    C_WidgetCanActivateAccelCallback
+wrap_WidgetCanActivateAccelCallback _cb _ signalId _ = do
+    result <- _cb  signalId
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@can-activate-accel@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #canActivateAccel callback
+@
+-}
+onWidgetCanActivateAccel :: (IsWidget a, MonadIO m) => a -> WidgetCanActivateAccelCallback -> m SignalHandlerId
+onWidgetCanActivateAccel obj cb = liftIO $ do
+    let cb' = wrap_WidgetCanActivateAccelCallback cb
+    cb'' <- mk_WidgetCanActivateAccelCallback cb'
+    connectSignalFunPtr obj "can-activate-accel" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@can-activate-accel@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #canActivateAccel callback
+@
+-}
+afterWidgetCanActivateAccel :: (IsWidget a, MonadIO m) => a -> WidgetCanActivateAccelCallback -> m SignalHandlerId
+afterWidgetCanActivateAccel obj cb = liftIO $ do
+    let cb' = wrap_WidgetCanActivateAccelCallback cb
+    cb'' <- mk_WidgetCanActivateAccelCallback cb'
+    connectSignalFunPtr obj "can-activate-accel" cb'' SignalConnectAfter
+
+
+-- signal Widget::child-notify
+{- |
+The ::child-notify signal is emitted for each
+[child property][child-properties]  that has
+changed on an object. The signal\'s detail holds the property name.
+-}
+type WidgetChildNotifyCallback =
+    GParamSpec
+    {- ^ /@childProperty@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' of the changed child property -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetChildNotifyCallback`@.
+noWidgetChildNotifyCallback :: Maybe WidgetChildNotifyCallback
+noWidgetChildNotifyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetChildNotifyCallback =
+    Ptr () ->                               -- object
+    Ptr GParamSpec ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetChildNotifyCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetChildNotifyCallback :: C_WidgetChildNotifyCallback -> IO (FunPtr C_WidgetChildNotifyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetChildNotify :: MonadIO m => WidgetChildNotifyCallback -> m (GClosure C_WidgetChildNotifyCallback)
+genClosure_WidgetChildNotify cb = liftIO $ do
+    let cb' = wrap_WidgetChildNotifyCallback cb
+    mk_WidgetChildNotifyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetChildNotifyCallback` into a `C_WidgetChildNotifyCallback`.
+wrap_WidgetChildNotifyCallback ::
+    WidgetChildNotifyCallback ->
+    C_WidgetChildNotifyCallback
+wrap_WidgetChildNotifyCallback _cb _ childProperty _ = do
+    childProperty' <- B.GParamSpec.newGParamSpecFromPtr childProperty
+    _cb  childProperty'
+
+
+{- |
+Connect a signal handler for the “@child-notify@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #childNotify callback
+@
+-}
+onWidgetChildNotify :: (IsWidget a, MonadIO m) => a -> WidgetChildNotifyCallback -> m SignalHandlerId
+onWidgetChildNotify obj cb = liftIO $ do
+    let cb' = wrap_WidgetChildNotifyCallback cb
+    cb'' <- mk_WidgetChildNotifyCallback cb'
+    connectSignalFunPtr obj "child-notify" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@child-notify@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #childNotify callback
+@
+-}
+afterWidgetChildNotify :: (IsWidget a, MonadIO m) => a -> WidgetChildNotifyCallback -> m SignalHandlerId
+afterWidgetChildNotify obj cb = liftIO $ do
+    let cb' = wrap_WidgetChildNotifyCallback cb
+    cb'' <- mk_WidgetChildNotifyCallback cb'
+    connectSignalFunPtr obj "child-notify" cb'' SignalConnectAfter
+
+
+-- signal Widget::composited-changed
+{-# DEPRECATED WidgetCompositedChangedCallback ["(Since version 3.22)","Use GdkScreen::composited-changed instead."] #-}
+{- |
+The ::composited-changed signal is emitted when the composited
+status of /@widgets@/ screen changes.
+See 'GI.Gdk.Objects.Screen.screenIsComposited'.
+-}
+type WidgetCompositedChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetCompositedChangedCallback`@.
+noWidgetCompositedChangedCallback :: Maybe WidgetCompositedChangedCallback
+noWidgetCompositedChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetCompositedChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetCompositedChangedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetCompositedChangedCallback :: C_WidgetCompositedChangedCallback -> IO (FunPtr C_WidgetCompositedChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetCompositedChanged :: MonadIO m => WidgetCompositedChangedCallback -> m (GClosure C_WidgetCompositedChangedCallback)
+genClosure_WidgetCompositedChanged cb = liftIO $ do
+    let cb' = wrap_WidgetCompositedChangedCallback cb
+    mk_WidgetCompositedChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetCompositedChangedCallback` into a `C_WidgetCompositedChangedCallback`.
+wrap_WidgetCompositedChangedCallback ::
+    WidgetCompositedChangedCallback ->
+    C_WidgetCompositedChangedCallback
+wrap_WidgetCompositedChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@composited-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #compositedChanged callback
+@
+-}
+onWidgetCompositedChanged :: (IsWidget a, MonadIO m) => a -> WidgetCompositedChangedCallback -> m SignalHandlerId
+onWidgetCompositedChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetCompositedChangedCallback cb
+    cb'' <- mk_WidgetCompositedChangedCallback cb'
+    connectSignalFunPtr obj "composited-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@composited-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #compositedChanged callback
+@
+-}
+afterWidgetCompositedChanged :: (IsWidget a, MonadIO m) => a -> WidgetCompositedChangedCallback -> m SignalHandlerId
+afterWidgetCompositedChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetCompositedChangedCallback cb
+    cb'' <- mk_WidgetCompositedChangedCallback cb'
+    connectSignalFunPtr obj "composited-changed" cb'' SignalConnectAfter
+
+
+-- signal Widget::configure-event
+{- |
+The ::configure-event signal will be emitted when the size, position or
+stacking of the /@widget@/\'s window has changed.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_STRUCTURE_MASK/@ mask. GDK will enable this mask
+automatically for all new windows.
+-}
+type WidgetConfigureEventCallback =
+    Gdk.EventConfigure.EventConfigure
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventConfigure.EventConfigure' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetConfigureEventCallback`@.
+noWidgetConfigureEventCallback :: Maybe WidgetConfigureEventCallback
+noWidgetConfigureEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetConfigureEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventConfigure.EventConfigure ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetConfigureEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetConfigureEventCallback :: C_WidgetConfigureEventCallback -> IO (FunPtr C_WidgetConfigureEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetConfigureEvent :: MonadIO m => WidgetConfigureEventCallback -> m (GClosure C_WidgetConfigureEventCallback)
+genClosure_WidgetConfigureEvent cb = liftIO $ do
+    let cb' = wrap_WidgetConfigureEventCallback cb
+    mk_WidgetConfigureEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetConfigureEventCallback` into a `C_WidgetConfigureEventCallback`.
+wrap_WidgetConfigureEventCallback ::
+    WidgetConfigureEventCallback ->
+    C_WidgetConfigureEventCallback
+wrap_WidgetConfigureEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventConfigure.EventConfigure) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@configure-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #configureEvent callback
+@
+-}
+onWidgetConfigureEvent :: (IsWidget a, MonadIO m) => a -> WidgetConfigureEventCallback -> m SignalHandlerId
+onWidgetConfigureEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetConfigureEventCallback cb
+    cb'' <- mk_WidgetConfigureEventCallback cb'
+    connectSignalFunPtr obj "configure-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@configure-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #configureEvent callback
+@
+-}
+afterWidgetConfigureEvent :: (IsWidget a, MonadIO m) => a -> WidgetConfigureEventCallback -> m SignalHandlerId
+afterWidgetConfigureEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetConfigureEventCallback cb
+    cb'' <- mk_WidgetConfigureEventCallback cb'
+    connectSignalFunPtr obj "configure-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::damage-event
+{- |
+Emitted when a redirected window belonging to /@widget@/ gets drawn into.
+The region\/area members of the event shows what area of the redirected
+drawable was drawn into.
+
+/Since: 2.14/
+-}
+type WidgetDamageEventCallback =
+    Gdk.EventExpose.EventExpose
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventExpose.EventExpose' event -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDamageEventCallback`@.
+noWidgetDamageEventCallback :: Maybe WidgetDamageEventCallback
+noWidgetDamageEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDamageEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventExpose.EventExpose ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDamageEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDamageEventCallback :: C_WidgetDamageEventCallback -> IO (FunPtr C_WidgetDamageEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDamageEvent :: MonadIO m => WidgetDamageEventCallback -> m (GClosure C_WidgetDamageEventCallback)
+genClosure_WidgetDamageEvent cb = liftIO $ do
+    let cb' = wrap_WidgetDamageEventCallback cb
+    mk_WidgetDamageEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDamageEventCallback` into a `C_WidgetDamageEventCallback`.
+wrap_WidgetDamageEventCallback ::
+    WidgetDamageEventCallback ->
+    C_WidgetDamageEventCallback
+wrap_WidgetDamageEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventExpose.EventExpose) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@damage-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #damageEvent callback
+@
+-}
+onWidgetDamageEvent :: (IsWidget a, MonadIO m) => a -> WidgetDamageEventCallback -> m SignalHandlerId
+onWidgetDamageEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetDamageEventCallback cb
+    cb'' <- mk_WidgetDamageEventCallback cb'
+    connectSignalFunPtr obj "damage-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@damage-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #damageEvent callback
+@
+-}
+afterWidgetDamageEvent :: (IsWidget a, MonadIO m) => a -> WidgetDamageEventCallback -> m SignalHandlerId
+afterWidgetDamageEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetDamageEventCallback cb
+    cb'' <- mk_WidgetDamageEventCallback cb'
+    connectSignalFunPtr obj "damage-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::delete-event
+{- |
+The ::delete-event signal is emitted if a user requests that
+a toplevel window is closed. The default handler for this signal
+destroys the window. Connecting 'GI.Gtk.Objects.Widget.widgetHideOnDelete' to
+this signal will cause the window to be hidden instead, so that
+it can later be shown again without reconstructing it.
+-}
+type WidgetDeleteEventCallback =
+    Gdk.Event.Event
+    {- ^ /@event@/: the event which triggered this signal -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDeleteEventCallback`@.
+noWidgetDeleteEventCallback :: Maybe WidgetDeleteEventCallback
+noWidgetDeleteEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDeleteEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.Event.Event ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDeleteEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDeleteEventCallback :: C_WidgetDeleteEventCallback -> IO (FunPtr C_WidgetDeleteEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDeleteEvent :: MonadIO m => WidgetDeleteEventCallback -> m (GClosure C_WidgetDeleteEventCallback)
+genClosure_WidgetDeleteEvent cb = liftIO $ do
+    let cb' = wrap_WidgetDeleteEventCallback cb
+    mk_WidgetDeleteEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDeleteEventCallback` into a `C_WidgetDeleteEventCallback`.
+wrap_WidgetDeleteEventCallback ::
+    WidgetDeleteEventCallback ->
+    C_WidgetDeleteEventCallback
+wrap_WidgetDeleteEventCallback _cb _ event _ = do
+    B.ManagedPtr.withTransient Gdk.Event.Event event $ \event' -> do
+        result <- _cb  event'
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+{- |
+Connect a signal handler for the “@delete-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #deleteEvent callback
+@
+-}
+onWidgetDeleteEvent :: (IsWidget a, MonadIO m) => a -> WidgetDeleteEventCallback -> m SignalHandlerId
+onWidgetDeleteEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetDeleteEventCallback cb
+    cb'' <- mk_WidgetDeleteEventCallback cb'
+    connectSignalFunPtr obj "delete-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@delete-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #deleteEvent callback
+@
+-}
+afterWidgetDeleteEvent :: (IsWidget a, MonadIO m) => a -> WidgetDeleteEventCallback -> m SignalHandlerId
+afterWidgetDeleteEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetDeleteEventCallback cb
+    cb'' <- mk_WidgetDeleteEventCallback cb'
+    connectSignalFunPtr obj "delete-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::destroy
+{- |
+Signals that all holders of a reference to the widget should release
+the reference that they hold. May result in finalization of the widget
+if all references are released.
+
+This signal is not suitable for saving widget state.
+-}
+type WidgetDestroyCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDestroyCallback`@.
+noWidgetDestroyCallback :: Maybe WidgetDestroyCallback
+noWidgetDestroyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDestroyCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDestroyCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDestroyCallback :: C_WidgetDestroyCallback -> IO (FunPtr C_WidgetDestroyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDestroy :: MonadIO m => WidgetDestroyCallback -> m (GClosure C_WidgetDestroyCallback)
+genClosure_WidgetDestroy cb = liftIO $ do
+    let cb' = wrap_WidgetDestroyCallback cb
+    mk_WidgetDestroyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDestroyCallback` into a `C_WidgetDestroyCallback`.
+wrap_WidgetDestroyCallback ::
+    WidgetDestroyCallback ->
+    C_WidgetDestroyCallback
+wrap_WidgetDestroyCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@destroy@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #destroy callback
+@
+-}
+onWidgetDestroy :: (IsWidget a, MonadIO m) => a -> WidgetDestroyCallback -> m SignalHandlerId
+onWidgetDestroy obj cb = liftIO $ do
+    let cb' = wrap_WidgetDestroyCallback cb
+    cb'' <- mk_WidgetDestroyCallback cb'
+    connectSignalFunPtr obj "destroy" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@destroy@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #destroy callback
+@
+-}
+afterWidgetDestroy :: (IsWidget a, MonadIO m) => a -> WidgetDestroyCallback -> m SignalHandlerId
+afterWidgetDestroy obj cb = liftIO $ do
+    let cb' = wrap_WidgetDestroyCallback cb
+    cb'' <- mk_WidgetDestroyCallback cb'
+    connectSignalFunPtr obj "destroy" cb'' SignalConnectAfter
+
+
+-- signal Widget::destroy-event
+{- |
+The ::destroy-event signal is emitted when a 'GI.Gdk.Objects.Window.Window' is destroyed.
+You rarely get this signal, because most widgets disconnect themselves
+from their window before they destroy it, so no widget owns the
+window at destroy time.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_STRUCTURE_MASK/@ mask. GDK will enable this mask
+automatically for all new windows.
+-}
+type WidgetDestroyEventCallback =
+    Gdk.Event.Event
+    {- ^ /@event@/: the event which triggered this signal -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDestroyEventCallback`@.
+noWidgetDestroyEventCallback :: Maybe WidgetDestroyEventCallback
+noWidgetDestroyEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDestroyEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.Event.Event ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDestroyEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDestroyEventCallback :: C_WidgetDestroyEventCallback -> IO (FunPtr C_WidgetDestroyEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDestroyEvent :: MonadIO m => WidgetDestroyEventCallback -> m (GClosure C_WidgetDestroyEventCallback)
+genClosure_WidgetDestroyEvent cb = liftIO $ do
+    let cb' = wrap_WidgetDestroyEventCallback cb
+    mk_WidgetDestroyEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDestroyEventCallback` into a `C_WidgetDestroyEventCallback`.
+wrap_WidgetDestroyEventCallback ::
+    WidgetDestroyEventCallback ->
+    C_WidgetDestroyEventCallback
+wrap_WidgetDestroyEventCallback _cb _ event _ = do
+    B.ManagedPtr.withTransient Gdk.Event.Event event $ \event' -> do
+        result <- _cb  event'
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+{- |
+Connect a signal handler for the “@destroy-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #destroyEvent callback
+@
+-}
+onWidgetDestroyEvent :: (IsWidget a, MonadIO m) => a -> WidgetDestroyEventCallback -> m SignalHandlerId
+onWidgetDestroyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetDestroyEventCallback cb
+    cb'' <- mk_WidgetDestroyEventCallback cb'
+    connectSignalFunPtr obj "destroy-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@destroy-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #destroyEvent callback
+@
+-}
+afterWidgetDestroyEvent :: (IsWidget a, MonadIO m) => a -> WidgetDestroyEventCallback -> m SignalHandlerId
+afterWidgetDestroyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetDestroyEventCallback cb
+    cb'' <- mk_WidgetDestroyEventCallback cb'
+    connectSignalFunPtr obj "destroy-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::direction-changed
+{- |
+The ::direction-changed signal is emitted when the text direction
+of a widget changes.
+-}
+type WidgetDirectionChangedCallback =
+    Gtk.Enums.TextDirection
+    {- ^ /@previousDirection@/: the previous text direction of /@widget@/ -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDirectionChangedCallback`@.
+noWidgetDirectionChangedCallback :: Maybe WidgetDirectionChangedCallback
+noWidgetDirectionChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDirectionChangedCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDirectionChangedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDirectionChangedCallback :: C_WidgetDirectionChangedCallback -> IO (FunPtr C_WidgetDirectionChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDirectionChanged :: MonadIO m => WidgetDirectionChangedCallback -> m (GClosure C_WidgetDirectionChangedCallback)
+genClosure_WidgetDirectionChanged cb = liftIO $ do
+    let cb' = wrap_WidgetDirectionChangedCallback cb
+    mk_WidgetDirectionChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDirectionChangedCallback` into a `C_WidgetDirectionChangedCallback`.
+wrap_WidgetDirectionChangedCallback ::
+    WidgetDirectionChangedCallback ->
+    C_WidgetDirectionChangedCallback
+wrap_WidgetDirectionChangedCallback _cb _ previousDirection _ = do
+    let previousDirection' = (toEnum . fromIntegral) previousDirection
+    _cb  previousDirection'
+
+
+{- |
+Connect a signal handler for the “@direction-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #directionChanged callback
+@
+-}
+onWidgetDirectionChanged :: (IsWidget a, MonadIO m) => a -> WidgetDirectionChangedCallback -> m SignalHandlerId
+onWidgetDirectionChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetDirectionChangedCallback cb
+    cb'' <- mk_WidgetDirectionChangedCallback cb'
+    connectSignalFunPtr obj "direction-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@direction-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #directionChanged callback
+@
+-}
+afterWidgetDirectionChanged :: (IsWidget a, MonadIO m) => a -> WidgetDirectionChangedCallback -> m SignalHandlerId
+afterWidgetDirectionChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetDirectionChangedCallback cb
+    cb'' <- mk_WidgetDirectionChangedCallback cb'
+    connectSignalFunPtr obj "direction-changed" cb'' SignalConnectAfter
+
+
+-- signal Widget::drag-begin
+{- |
+The ::drag-begin signal is emitted on the drag source when a drag is
+started. A typical reason to connect to this signal is to set up a
+custom drag icon with e.g. 'GI.Gtk.Objects.Widget.widgetDragSourceSetIconPixbuf'.
+
+Note that some widgets set up a drag icon in the default handler of
+this signal, so you may have to use @/g_signal_connect_after()/@ to
+override what the default handler did.
+-}
+type WidgetDragBeginCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: the drag context -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDragBeginCallback`@.
+noWidgetDragBeginCallback :: Maybe WidgetDragBeginCallback
+noWidgetDragBeginCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDragBeginCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDragBeginCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDragBeginCallback :: C_WidgetDragBeginCallback -> IO (FunPtr C_WidgetDragBeginCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDragBegin :: MonadIO m => WidgetDragBeginCallback -> m (GClosure C_WidgetDragBeginCallback)
+genClosure_WidgetDragBegin cb = liftIO $ do
+    let cb' = wrap_WidgetDragBeginCallback cb
+    mk_WidgetDragBeginCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDragBeginCallback` into a `C_WidgetDragBeginCallback`.
+wrap_WidgetDragBeginCallback ::
+    WidgetDragBeginCallback ->
+    C_WidgetDragBeginCallback
+wrap_WidgetDragBeginCallback _cb _ context _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    _cb  context'
+
+
+{- |
+Connect a signal handler for the “@drag-begin@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #dragBegin callback
+@
+-}
+onWidgetDragBegin :: (IsWidget a, MonadIO m) => a -> WidgetDragBeginCallback -> m SignalHandlerId
+onWidgetDragBegin obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragBeginCallback cb
+    cb'' <- mk_WidgetDragBeginCallback cb'
+    connectSignalFunPtr obj "drag-begin" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-begin@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #dragBegin callback
+@
+-}
+afterWidgetDragBegin :: (IsWidget a, MonadIO m) => a -> WidgetDragBeginCallback -> m SignalHandlerId
+afterWidgetDragBegin obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragBeginCallback cb
+    cb'' <- mk_WidgetDragBeginCallback cb'
+    connectSignalFunPtr obj "drag-begin" cb'' SignalConnectAfter
+
+
+-- signal Widget::drag-data-delete
+{- |
+The ::drag-data-delete signal is emitted on the drag source when a drag
+with the action 'GI.Gdk.Flags.DragActionMove' is successfully completed. The signal
+handler is responsible for deleting the data that has been dropped. What
+\"delete\" means depends on the context of the drag operation.
+-}
+type WidgetDragDataDeleteCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: the drag context -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDragDataDeleteCallback`@.
+noWidgetDragDataDeleteCallback :: Maybe WidgetDragDataDeleteCallback
+noWidgetDragDataDeleteCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDragDataDeleteCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDragDataDeleteCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDragDataDeleteCallback :: C_WidgetDragDataDeleteCallback -> IO (FunPtr C_WidgetDragDataDeleteCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDragDataDelete :: MonadIO m => WidgetDragDataDeleteCallback -> m (GClosure C_WidgetDragDataDeleteCallback)
+genClosure_WidgetDragDataDelete cb = liftIO $ do
+    let cb' = wrap_WidgetDragDataDeleteCallback cb
+    mk_WidgetDragDataDeleteCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDragDataDeleteCallback` into a `C_WidgetDragDataDeleteCallback`.
+wrap_WidgetDragDataDeleteCallback ::
+    WidgetDragDataDeleteCallback ->
+    C_WidgetDragDataDeleteCallback
+wrap_WidgetDragDataDeleteCallback _cb _ context _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    _cb  context'
+
+
+{- |
+Connect a signal handler for the “@drag-data-delete@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #dragDataDelete callback
+@
+-}
+onWidgetDragDataDelete :: (IsWidget a, MonadIO m) => a -> WidgetDragDataDeleteCallback -> m SignalHandlerId
+onWidgetDragDataDelete obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragDataDeleteCallback cb
+    cb'' <- mk_WidgetDragDataDeleteCallback cb'
+    connectSignalFunPtr obj "drag-data-delete" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-data-delete@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #dragDataDelete callback
+@
+-}
+afterWidgetDragDataDelete :: (IsWidget a, MonadIO m) => a -> WidgetDragDataDeleteCallback -> m SignalHandlerId
+afterWidgetDragDataDelete obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragDataDeleteCallback cb
+    cb'' <- mk_WidgetDragDataDeleteCallback cb'
+    connectSignalFunPtr obj "drag-data-delete" cb'' SignalConnectAfter
+
+
+-- signal Widget::drag-data-get
+{- |
+The ::drag-data-get signal is emitted on the drag source when the drop
+site requests the data which is dragged. It is the responsibility of
+the signal handler to fill /@data@/ with the data in the format which
+is indicated by /@info@/. See 'GI.Gtk.Structs.SelectionData.selectionDataSet' and
+'GI.Gtk.Structs.SelectionData.selectionDataSetText'.
+-}
+type WidgetDragDataGetCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: the drag context -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@data@/: the 'GI.Gtk.Structs.SelectionData.SelectionData' to be filled with the dragged data -}
+    -> Word32
+    {- ^ /@info@/: the info that has been registered with the target in the
+       'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> Word32
+    {- ^ /@time@/: the timestamp at which the data was requested -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDragDataGetCallback`@.
+noWidgetDragDataGetCallback :: Maybe WidgetDragDataGetCallback
+noWidgetDragDataGetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDragDataGetCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    Ptr Gtk.SelectionData.SelectionData ->
+    Word32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDragDataGetCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDragDataGetCallback :: C_WidgetDragDataGetCallback -> IO (FunPtr C_WidgetDragDataGetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDragDataGet :: MonadIO m => WidgetDragDataGetCallback -> m (GClosure C_WidgetDragDataGetCallback)
+genClosure_WidgetDragDataGet cb = liftIO $ do
+    let cb' = wrap_WidgetDragDataGetCallback cb
+    mk_WidgetDragDataGetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDragDataGetCallback` into a `C_WidgetDragDataGetCallback`.
+wrap_WidgetDragDataGetCallback ::
+    WidgetDragDataGetCallback ->
+    C_WidgetDragDataGetCallback
+wrap_WidgetDragDataGetCallback _cb _ context data_ info time _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    B.ManagedPtr.withTransient Gtk.SelectionData.SelectionData data_ $ \data_' -> do
+        _cb  context' data_' info time
+
+
+{- |
+Connect a signal handler for the “@drag-data-get@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #dragDataGet callback
+@
+-}
+onWidgetDragDataGet :: (IsWidget a, MonadIO m) => a -> WidgetDragDataGetCallback -> m SignalHandlerId
+onWidgetDragDataGet obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragDataGetCallback cb
+    cb'' <- mk_WidgetDragDataGetCallback cb'
+    connectSignalFunPtr obj "drag-data-get" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-data-get@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #dragDataGet callback
+@
+-}
+afterWidgetDragDataGet :: (IsWidget a, MonadIO m) => a -> WidgetDragDataGetCallback -> m SignalHandlerId
+afterWidgetDragDataGet obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragDataGetCallback cb
+    cb'' <- mk_WidgetDragDataGetCallback cb'
+    connectSignalFunPtr obj "drag-data-get" cb'' SignalConnectAfter
+
+
+-- signal Widget::drag-data-received
+{- |
+The ::drag-data-received signal is emitted on the drop site when the
+dragged data has been received. If the data was received in order to
+determine whether the drop will be accepted, the handler is expected
+to call 'GI.Gdk.Functions.dragStatus' and not finish the drag.
+If the data was received in response to a 'GI.Gtk.Objects.Widget.Widget'::@/drag-drop/@ signal
+(and this is the last target to be received), the handler for this
+signal is expected to process the received data and then call
+'GI.Gtk.Functions.dragFinish', setting the /@success@/ parameter depending on
+whether the data was processed successfully.
+
+Applications must create some means to determine why the signal was emitted
+and therefore whether to call 'GI.Gdk.Functions.dragStatus' or 'GI.Gtk.Functions.dragFinish'.
+
+The handler may inspect the selected action with
+'GI.Gdk.Objects.DragContext.dragContextGetSelectedAction' before calling
+'GI.Gtk.Functions.dragFinish', e.g. to implement 'GI.Gdk.Flags.DragActionAsk' as
+shown in the following example:
+
+=== /C code/
+>
+>void
+>drag_data_received (GtkWidget          *widget,
+>                    GdkDragContext     *context,
+>                    gint                x,
+>                    gint                y,
+>                    GtkSelectionData   *data,
+>                    guint               info,
+>                    guint               time)
+>{
+>  if ((data->length >= 0) && (data->format == 8))
+>    {
+>      GdkDragAction action;
+>
+>      // handle data here
+>
+>      action = gdk_drag_context_get_selected_action (context);
+>      if (action == GDK_ACTION_ASK)
+>        {
+>          GtkWidget *dialog;
+>          gint response;
+>
+>          dialog = gtk_message_dialog_new (NULL,
+>                                           GTK_DIALOG_MODAL |
+>                                           GTK_DIALOG_DESTROY_WITH_PARENT,
+>                                           GTK_MESSAGE_INFO,
+>                                           GTK_BUTTONS_YES_NO,
+>                                           "Move the data ?\n");
+>          response = gtk_dialog_run (GTK_DIALOG (dialog));
+>          gtk_widget_destroy (dialog);
+>
+>          if (response == GTK_RESPONSE_YES)
+>            action = GDK_ACTION_MOVE;
+>          else
+>            action = GDK_ACTION_COPY;
+>         }
+>
+>      gtk_drag_finish (context, TRUE, action == GDK_ACTION_MOVE, time);
+>    }
+>  else
+>    gtk_drag_finish (context, FALSE, FALSE, time);
+> }
+-}
+type WidgetDragDataReceivedCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: the drag context -}
+    -> Int32
+    {- ^ /@x@/: where the drop happened -}
+    -> Int32
+    {- ^ /@y@/: where the drop happened -}
+    -> Gtk.SelectionData.SelectionData
+    {- ^ /@data@/: the received data -}
+    -> Word32
+    {- ^ /@info@/: the info that has been registered with the target in the
+       'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> Word32
+    {- ^ /@time@/: the timestamp at which the data was received -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDragDataReceivedCallback`@.
+noWidgetDragDataReceivedCallback :: Maybe WidgetDragDataReceivedCallback
+noWidgetDragDataReceivedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDragDataReceivedCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    Int32 ->
+    Int32 ->
+    Ptr Gtk.SelectionData.SelectionData ->
+    Word32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDragDataReceivedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDragDataReceivedCallback :: C_WidgetDragDataReceivedCallback -> IO (FunPtr C_WidgetDragDataReceivedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDragDataReceived :: MonadIO m => WidgetDragDataReceivedCallback -> m (GClosure C_WidgetDragDataReceivedCallback)
+genClosure_WidgetDragDataReceived cb = liftIO $ do
+    let cb' = wrap_WidgetDragDataReceivedCallback cb
+    mk_WidgetDragDataReceivedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDragDataReceivedCallback` into a `C_WidgetDragDataReceivedCallback`.
+wrap_WidgetDragDataReceivedCallback ::
+    WidgetDragDataReceivedCallback ->
+    C_WidgetDragDataReceivedCallback
+wrap_WidgetDragDataReceivedCallback _cb _ context x y data_ info time _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    B.ManagedPtr.withTransient Gtk.SelectionData.SelectionData data_ $ \data_' -> do
+        _cb  context' x y data_' info time
+
+
+{- |
+Connect a signal handler for the “@drag-data-received@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #dragDataReceived callback
+@
+-}
+onWidgetDragDataReceived :: (IsWidget a, MonadIO m) => a -> WidgetDragDataReceivedCallback -> m SignalHandlerId
+onWidgetDragDataReceived obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragDataReceivedCallback cb
+    cb'' <- mk_WidgetDragDataReceivedCallback cb'
+    connectSignalFunPtr obj "drag-data-received" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-data-received@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #dragDataReceived callback
+@
+-}
+afterWidgetDragDataReceived :: (IsWidget a, MonadIO m) => a -> WidgetDragDataReceivedCallback -> m SignalHandlerId
+afterWidgetDragDataReceived obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragDataReceivedCallback cb
+    cb'' <- mk_WidgetDragDataReceivedCallback cb'
+    connectSignalFunPtr obj "drag-data-received" cb'' SignalConnectAfter
+
+
+-- signal Widget::drag-drop
+{- |
+The ::drag-drop signal is emitted on the drop site when the user drops
+the data onto the widget. The signal handler must determine whether
+the cursor position is in a drop zone or not. If it is not in a drop
+zone, it returns 'False' and no further processing is necessary.
+Otherwise, the handler returns 'True'. In this case, the handler must
+ensure that 'GI.Gtk.Functions.dragFinish' is called to let the source know that
+the drop is done. The call to 'GI.Gtk.Functions.dragFinish' can be done either
+directly or in a 'GI.Gtk.Objects.Widget.Widget'::@/drag-data-received/@ handler which gets
+triggered by calling 'GI.Gtk.Objects.Widget.widgetDragGetData' to receive the data for one
+or more of the supported targets.
+-}
+type WidgetDragDropCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: the drag context -}
+    -> Int32
+    {- ^ /@x@/: the x coordinate of the current cursor position -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate of the current cursor position -}
+    -> Word32
+    {- ^ /@time@/: the timestamp of the motion event -}
+    -> IO Bool
+    {- ^ __Returns:__ whether the cursor position is in a drop zone -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDragDropCallback`@.
+noWidgetDragDropCallback :: Maybe WidgetDragDropCallback
+noWidgetDragDropCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDragDropCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    Int32 ->
+    Int32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDragDropCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDragDropCallback :: C_WidgetDragDropCallback -> IO (FunPtr C_WidgetDragDropCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDragDrop :: MonadIO m => WidgetDragDropCallback -> m (GClosure C_WidgetDragDropCallback)
+genClosure_WidgetDragDrop cb = liftIO $ do
+    let cb' = wrap_WidgetDragDropCallback cb
+    mk_WidgetDragDropCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDragDropCallback` into a `C_WidgetDragDropCallback`.
+wrap_WidgetDragDropCallback ::
+    WidgetDragDropCallback ->
+    C_WidgetDragDropCallback
+wrap_WidgetDragDropCallback _cb _ context x y time _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    result <- _cb  context' x y time
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@drag-drop@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #dragDrop callback
+@
+-}
+onWidgetDragDrop :: (IsWidget a, MonadIO m) => a -> WidgetDragDropCallback -> m SignalHandlerId
+onWidgetDragDrop obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragDropCallback cb
+    cb'' <- mk_WidgetDragDropCallback cb'
+    connectSignalFunPtr obj "drag-drop" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-drop@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #dragDrop callback
+@
+-}
+afterWidgetDragDrop :: (IsWidget a, MonadIO m) => a -> WidgetDragDropCallback -> m SignalHandlerId
+afterWidgetDragDrop obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragDropCallback cb
+    cb'' <- mk_WidgetDragDropCallback cb'
+    connectSignalFunPtr obj "drag-drop" cb'' SignalConnectAfter
+
+
+-- signal Widget::drag-end
+{- |
+The ::drag-end signal is emitted on the drag source when a drag is
+finished.  A typical reason to connect to this signal is to undo
+things done in 'GI.Gtk.Objects.Widget.Widget'::@/drag-begin/@.
+-}
+type WidgetDragEndCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: the drag context -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDragEndCallback`@.
+noWidgetDragEndCallback :: Maybe WidgetDragEndCallback
+noWidgetDragEndCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDragEndCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDragEndCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDragEndCallback :: C_WidgetDragEndCallback -> IO (FunPtr C_WidgetDragEndCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDragEnd :: MonadIO m => WidgetDragEndCallback -> m (GClosure C_WidgetDragEndCallback)
+genClosure_WidgetDragEnd cb = liftIO $ do
+    let cb' = wrap_WidgetDragEndCallback cb
+    mk_WidgetDragEndCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDragEndCallback` into a `C_WidgetDragEndCallback`.
+wrap_WidgetDragEndCallback ::
+    WidgetDragEndCallback ->
+    C_WidgetDragEndCallback
+wrap_WidgetDragEndCallback _cb _ context _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    _cb  context'
+
+
+{- |
+Connect a signal handler for the “@drag-end@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #dragEnd callback
+@
+-}
+onWidgetDragEnd :: (IsWidget a, MonadIO m) => a -> WidgetDragEndCallback -> m SignalHandlerId
+onWidgetDragEnd obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragEndCallback cb
+    cb'' <- mk_WidgetDragEndCallback cb'
+    connectSignalFunPtr obj "drag-end" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-end@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #dragEnd callback
+@
+-}
+afterWidgetDragEnd :: (IsWidget a, MonadIO m) => a -> WidgetDragEndCallback -> m SignalHandlerId
+afterWidgetDragEnd obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragEndCallback cb
+    cb'' <- mk_WidgetDragEndCallback cb'
+    connectSignalFunPtr obj "drag-end" cb'' SignalConnectAfter
+
+
+-- signal Widget::drag-failed
+{- |
+The ::drag-failed signal is emitted on the drag source when a drag has
+failed. The signal handler may hook custom code to handle a failed DnD
+operation based on the type of error, it returns 'True' is the failure has
+been already handled (not showing the default \"drag operation failed\"
+animation), otherwise it returns 'False'.
+
+/Since: 2.12/
+-}
+type WidgetDragFailedCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: the drag context -}
+    -> Gtk.Enums.DragResult
+    {- ^ /@result@/: the result of the drag operation -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the failed drag operation has been already handled. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDragFailedCallback`@.
+noWidgetDragFailedCallback :: Maybe WidgetDragFailedCallback
+noWidgetDragFailedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDragFailedCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDragFailedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDragFailedCallback :: C_WidgetDragFailedCallback -> IO (FunPtr C_WidgetDragFailedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDragFailed :: MonadIO m => WidgetDragFailedCallback -> m (GClosure C_WidgetDragFailedCallback)
+genClosure_WidgetDragFailed cb = liftIO $ do
+    let cb' = wrap_WidgetDragFailedCallback cb
+    mk_WidgetDragFailedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDragFailedCallback` into a `C_WidgetDragFailedCallback`.
+wrap_WidgetDragFailedCallback ::
+    WidgetDragFailedCallback ->
+    C_WidgetDragFailedCallback
+wrap_WidgetDragFailedCallback _cb _ context result_ _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    let result_' = (toEnum . fromIntegral) result_
+    result <- _cb  context' result_'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@drag-failed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #dragFailed callback
+@
+-}
+onWidgetDragFailed :: (IsWidget a, MonadIO m) => a -> WidgetDragFailedCallback -> m SignalHandlerId
+onWidgetDragFailed obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragFailedCallback cb
+    cb'' <- mk_WidgetDragFailedCallback cb'
+    connectSignalFunPtr obj "drag-failed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-failed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #dragFailed callback
+@
+-}
+afterWidgetDragFailed :: (IsWidget a, MonadIO m) => a -> WidgetDragFailedCallback -> m SignalHandlerId
+afterWidgetDragFailed obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragFailedCallback cb
+    cb'' <- mk_WidgetDragFailedCallback cb'
+    connectSignalFunPtr obj "drag-failed" cb'' SignalConnectAfter
+
+
+-- signal Widget::drag-leave
+{- |
+The ::drag-leave signal is emitted on the drop site when the cursor
+leaves the widget. A typical reason to connect to this signal is to
+undo things done in 'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@, e.g. undo highlighting
+with 'GI.Gtk.Objects.Widget.widgetDragUnhighlight'.
+
+
+Likewise, the 'GI.Gtk.Objects.Widget.Widget'::@/drag-leave/@ signal is also emitted before the
+::drag-drop signal, for instance to allow cleaning up of a preview item
+created in the 'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@ signal handler.
+-}
+type WidgetDragLeaveCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: the drag context -}
+    -> Word32
+    {- ^ /@time@/: the timestamp of the motion event -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDragLeaveCallback`@.
+noWidgetDragLeaveCallback :: Maybe WidgetDragLeaveCallback
+noWidgetDragLeaveCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDragLeaveCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDragLeaveCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDragLeaveCallback :: C_WidgetDragLeaveCallback -> IO (FunPtr C_WidgetDragLeaveCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDragLeave :: MonadIO m => WidgetDragLeaveCallback -> m (GClosure C_WidgetDragLeaveCallback)
+genClosure_WidgetDragLeave cb = liftIO $ do
+    let cb' = wrap_WidgetDragLeaveCallback cb
+    mk_WidgetDragLeaveCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDragLeaveCallback` into a `C_WidgetDragLeaveCallback`.
+wrap_WidgetDragLeaveCallback ::
+    WidgetDragLeaveCallback ->
+    C_WidgetDragLeaveCallback
+wrap_WidgetDragLeaveCallback _cb _ context time _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    _cb  context' time
+
+
+{- |
+Connect a signal handler for the “@drag-leave@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #dragLeave callback
+@
+-}
+onWidgetDragLeave :: (IsWidget a, MonadIO m) => a -> WidgetDragLeaveCallback -> m SignalHandlerId
+onWidgetDragLeave obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragLeaveCallback cb
+    cb'' <- mk_WidgetDragLeaveCallback cb'
+    connectSignalFunPtr obj "drag-leave" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-leave@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #dragLeave callback
+@
+-}
+afterWidgetDragLeave :: (IsWidget a, MonadIO m) => a -> WidgetDragLeaveCallback -> m SignalHandlerId
+afterWidgetDragLeave obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragLeaveCallback cb
+    cb'' <- mk_WidgetDragLeaveCallback cb'
+    connectSignalFunPtr obj "drag-leave" cb'' SignalConnectAfter
+
+
+-- signal Widget::drag-motion
+{- |
+The ::drag-motion signal is emitted on the drop site when the user
+moves the cursor over the widget during a drag. The signal handler
+must determine whether the cursor position is in a drop zone or not.
+If it is not in a drop zone, it returns 'False' and no further processing
+is necessary. Otherwise, the handler returns 'True'. In this case, the
+handler is responsible for providing the necessary information for
+displaying feedback to the user, by calling 'GI.Gdk.Functions.dragStatus'.
+
+If the decision whether the drop will be accepted or rejected can\'t be
+made based solely on the cursor position and the type of the data, the
+handler may inspect the dragged data by calling 'GI.Gtk.Objects.Widget.widgetDragGetData' and
+defer the 'GI.Gdk.Functions.dragStatus' call to the 'GI.Gtk.Objects.Widget.Widget'::@/drag-data-received/@
+handler. Note that you must pass @/GTK_DEST_DEFAULT_DROP/@,
+@/GTK_DEST_DEFAULT_MOTION/@ or @/GTK_DEST_DEFAULT_ALL/@ to 'GI.Gtk.Objects.Widget.widgetDragDestSet'
+when using the drag-motion signal that way.
+
+Also note that there is no drag-enter signal. The drag receiver has to
+keep track of whether he has received any drag-motion signals since the
+last 'GI.Gtk.Objects.Widget.Widget'::@/drag-leave/@ and if not, treat the drag-motion signal as
+an \"enter\" signal. Upon an \"enter\", the handler will typically highlight
+the drop site with 'GI.Gtk.Objects.Widget.widgetDragHighlight'.
+
+=== /C code/
+>
+>static void
+>drag_motion (GtkWidget      *widget,
+>             GdkDragContext *context,
+>             gint            x,
+>             gint            y,
+>             guint           time)
+>{
+>  GdkAtom target;
+>
+>  PrivateData *private_data = GET_PRIVATE_DATA (widget);
+>
+>  if (!private_data->drag_highlight)
+>   {
+>     private_data->drag_highlight = 1;
+>     gtk_drag_highlight (widget);
+>   }
+>
+>  target = gtk_drag_dest_find_target (widget, context, NULL);
+>  if (target == GDK_NONE)
+>    gdk_drag_status (context, 0, time);
+>  else
+>   {
+>     private_data->pending_status
+>        = gdk_drag_context_get_suggested_action (context);
+>     gtk_drag_get_data (widget, context, target, time);
+>   }
+>
+>  return TRUE;
+>}
+>
+>static void
+>drag_data_received (GtkWidget        *widget,
+>                    GdkDragContext   *context,
+>                    gint              x,
+>                    gint              y,
+>                    GtkSelectionData *selection_data,
+>                    guint             info,
+>                    guint             time)
+>{
+>  PrivateData *private_data = GET_PRIVATE_DATA (widget);
+>
+>  if (private_data->suggested_action)
+>   {
+>     private_data->suggested_action = 0;
+>
+>     // We are getting this data due to a request in drag_motion,
+>     // rather than due to a request in drag_drop, so we are just
+>     // supposed to call gdk_drag_status(), not actually paste in
+>     // the data.
+>
+>     str = gtk_selection_data_get_text (selection_data);
+>     if (!data_is_acceptable (str))
+>       gdk_drag_status (context, 0, time);
+>     else
+>       gdk_drag_status (context,
+>                        private_data->suggested_action,
+>                        time);
+>   }
+>  else
+>   {
+>     // accept the drop
+>   }
+>}
+-}
+type WidgetDragMotionCallback =
+    Gdk.DragContext.DragContext
+    {- ^ /@context@/: the drag context -}
+    -> Int32
+    {- ^ /@x@/: the x coordinate of the current cursor position -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate of the current cursor position -}
+    -> Word32
+    {- ^ /@time@/: the timestamp of the motion event -}
+    -> IO Bool
+    {- ^ __Returns:__ whether the cursor position is in a drop zone -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDragMotionCallback`@.
+noWidgetDragMotionCallback :: Maybe WidgetDragMotionCallback
+noWidgetDragMotionCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDragMotionCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.DragContext.DragContext ->
+    Int32 ->
+    Int32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDragMotionCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDragMotionCallback :: C_WidgetDragMotionCallback -> IO (FunPtr C_WidgetDragMotionCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDragMotion :: MonadIO m => WidgetDragMotionCallback -> m (GClosure C_WidgetDragMotionCallback)
+genClosure_WidgetDragMotion cb = liftIO $ do
+    let cb' = wrap_WidgetDragMotionCallback cb
+    mk_WidgetDragMotionCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDragMotionCallback` into a `C_WidgetDragMotionCallback`.
+wrap_WidgetDragMotionCallback ::
+    WidgetDragMotionCallback ->
+    C_WidgetDragMotionCallback
+wrap_WidgetDragMotionCallback _cb _ context x y time _ = do
+    context' <- (newObject Gdk.DragContext.DragContext) context
+    result <- _cb  context' x y time
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@drag-motion@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #dragMotion callback
+@
+-}
+onWidgetDragMotion :: (IsWidget a, MonadIO m) => a -> WidgetDragMotionCallback -> m SignalHandlerId
+onWidgetDragMotion obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragMotionCallback cb
+    cb'' <- mk_WidgetDragMotionCallback cb'
+    connectSignalFunPtr obj "drag-motion" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@drag-motion@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #dragMotion callback
+@
+-}
+afterWidgetDragMotion :: (IsWidget a, MonadIO m) => a -> WidgetDragMotionCallback -> m SignalHandlerId
+afterWidgetDragMotion obj cb = liftIO $ do
+    let cb' = wrap_WidgetDragMotionCallback cb
+    cb'' <- mk_WidgetDragMotionCallback cb'
+    connectSignalFunPtr obj "drag-motion" cb'' SignalConnectAfter
+
+
+-- signal Widget::draw
+{- |
+This signal is emitted when a widget is supposed to render itself.
+The /@widget@/\'s top left corner must be painted at the origin of
+the passed in context and be sized to the values returned by
+'GI.Gtk.Objects.Widget.widgetGetAllocatedWidth' and
+'GI.Gtk.Objects.Widget.widgetGetAllocatedHeight'.
+
+Signal handlers connected to this signal can modify the cairo
+context passed as /@cr@/ in any way they like and don\'t need to
+restore it. The signal emission takes care of calling @/cairo_save()/@
+before and @/cairo_restore()/@ after invoking the handler.
+
+The signal handler will get a /@cr@/ with a clip region already set to the
+widget\'s dirty region, i.e. to the area that needs repainting.  Complicated
+widgets that want to avoid redrawing themselves completely can get the full
+extents of the clip region with 'GI.Gdk.Functions.cairoGetClipRectangle', or they can
+get a finer-grained representation of the dirty region with
+@/cairo_copy_clip_rectangle_list()/@.
+
+/Since: 3.0/
+-}
+type WidgetDrawCallback =
+    Cairo.Context.Context
+    {- ^ /@cr@/: the cairo context to draw to -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetDrawCallback`@.
+noWidgetDrawCallback :: Maybe WidgetDrawCallback
+noWidgetDrawCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetDrawCallback =
+    Ptr () ->                               -- object
+    Ptr Cairo.Context.Context ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetDrawCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetDrawCallback :: C_WidgetDrawCallback -> IO (FunPtr C_WidgetDrawCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetDraw :: MonadIO m => WidgetDrawCallback -> m (GClosure C_WidgetDrawCallback)
+genClosure_WidgetDraw cb = liftIO $ do
+    let cb' = wrap_WidgetDrawCallback cb
+    mk_WidgetDrawCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetDrawCallback` into a `C_WidgetDrawCallback`.
+wrap_WidgetDrawCallback ::
+    WidgetDrawCallback ->
+    C_WidgetDrawCallback
+wrap_WidgetDrawCallback _cb _ cr _ = do
+    B.ManagedPtr.withTransient Cairo.Context.Context cr $ \cr' -> do
+        result <- _cb  cr'
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+{- |
+Connect a signal handler for the “@draw@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #draw callback
+@
+-}
+onWidgetDraw :: (IsWidget a, MonadIO m) => a -> WidgetDrawCallback -> m SignalHandlerId
+onWidgetDraw obj cb = liftIO $ do
+    let cb' = wrap_WidgetDrawCallback cb
+    cb'' <- mk_WidgetDrawCallback cb'
+    connectSignalFunPtr obj "draw" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@draw@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #draw callback
+@
+-}
+afterWidgetDraw :: (IsWidget a, MonadIO m) => a -> WidgetDrawCallback -> m SignalHandlerId
+afterWidgetDraw obj cb = liftIO $ do
+    let cb' = wrap_WidgetDrawCallback cb
+    cb'' <- mk_WidgetDrawCallback cb'
+    connectSignalFunPtr obj "draw" cb'' SignalConnectAfter
+
+
+-- signal Widget::enter-notify-event
+{- |
+The ::enter-notify-event will be emitted when the pointer enters
+the /@widget@/\'s window.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_ENTER_NOTIFY_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetEnterNotifyEventCallback =
+    Gdk.EventCrossing.EventCrossing
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventCrossing.EventCrossing' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetEnterNotifyEventCallback`@.
+noWidgetEnterNotifyEventCallback :: Maybe WidgetEnterNotifyEventCallback
+noWidgetEnterNotifyEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetEnterNotifyEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventCrossing.EventCrossing ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetEnterNotifyEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetEnterNotifyEventCallback :: C_WidgetEnterNotifyEventCallback -> IO (FunPtr C_WidgetEnterNotifyEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetEnterNotifyEvent :: MonadIO m => WidgetEnterNotifyEventCallback -> m (GClosure C_WidgetEnterNotifyEventCallback)
+genClosure_WidgetEnterNotifyEvent cb = liftIO $ do
+    let cb' = wrap_WidgetEnterNotifyEventCallback cb
+    mk_WidgetEnterNotifyEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetEnterNotifyEventCallback` into a `C_WidgetEnterNotifyEventCallback`.
+wrap_WidgetEnterNotifyEventCallback ::
+    WidgetEnterNotifyEventCallback ->
+    C_WidgetEnterNotifyEventCallback
+wrap_WidgetEnterNotifyEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventCrossing.EventCrossing) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@enter-notify-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #enterNotifyEvent callback
+@
+-}
+onWidgetEnterNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetEnterNotifyEventCallback -> m SignalHandlerId
+onWidgetEnterNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetEnterNotifyEventCallback cb
+    cb'' <- mk_WidgetEnterNotifyEventCallback cb'
+    connectSignalFunPtr obj "enter-notify-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@enter-notify-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #enterNotifyEvent callback
+@
+-}
+afterWidgetEnterNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetEnterNotifyEventCallback -> m SignalHandlerId
+afterWidgetEnterNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetEnterNotifyEventCallback cb
+    cb'' <- mk_WidgetEnterNotifyEventCallback cb'
+    connectSignalFunPtr obj "enter-notify-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::event
+{- |
+The GTK+ main loop will emit three signals for each GDK event delivered
+to a widget: one generic ::event signal, another, more specific,
+signal that matches the type of event delivered (e.g.
+'GI.Gtk.Objects.Widget.Widget'::@/key-press-event/@) and finally a generic
+'GI.Gtk.Objects.Widget.Widget'::@/event-after/@ signal.
+-}
+type WidgetEventCallback =
+    Gdk.Event.Event
+    {- ^ /@event@/: the 'GI.Gdk.Unions.Event.Event' which triggered this signal -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event
+and to cancel the emission of the second specific ::event signal.
+  'False' to propagate the event further and to allow the emission of
+  the second signal. The ::event-after signal is emitted regardless of
+  the return value. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetEventCallback`@.
+noWidgetEventCallback :: Maybe WidgetEventCallback
+noWidgetEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.Event.Event ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetEventCallback :: C_WidgetEventCallback -> IO (FunPtr C_WidgetEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetEvent :: MonadIO m => WidgetEventCallback -> m (GClosure C_WidgetEventCallback)
+genClosure_WidgetEvent cb = liftIO $ do
+    let cb' = wrap_WidgetEventCallback cb
+    mk_WidgetEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetEventCallback` into a `C_WidgetEventCallback`.
+wrap_WidgetEventCallback ::
+    WidgetEventCallback ->
+    C_WidgetEventCallback
+wrap_WidgetEventCallback _cb _ event _ = do
+    B.ManagedPtr.withTransient Gdk.Event.Event event $ \event' -> do
+        result <- _cb  event'
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+{- |
+Connect a signal handler for the “@event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #event callback
+@
+-}
+onWidgetEvent :: (IsWidget a, MonadIO m) => a -> WidgetEventCallback -> m SignalHandlerId
+onWidgetEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetEventCallback cb
+    cb'' <- mk_WidgetEventCallback cb'
+    connectSignalFunPtr obj "event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #event callback
+@
+-}
+afterWidgetEvent :: (IsWidget a, MonadIO m) => a -> WidgetEventCallback -> m SignalHandlerId
+afterWidgetEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetEventCallback cb
+    cb'' <- mk_WidgetEventCallback cb'
+    connectSignalFunPtr obj "event" cb'' SignalConnectAfter
+
+
+-- signal Widget::event-after
+{- |
+After the emission of the 'GI.Gtk.Objects.Widget.Widget'::@/event/@ signal and (optionally)
+the second more specific signal, ::event-after will be emitted
+regardless of the previous two signals handlers return values.
+-}
+type WidgetEventAfterCallback =
+    Gdk.Event.Event
+    {- ^ /@event@/: the 'GI.Gdk.Unions.Event.Event' which triggered this signal -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetEventAfterCallback`@.
+noWidgetEventAfterCallback :: Maybe WidgetEventAfterCallback
+noWidgetEventAfterCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetEventAfterCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.Event.Event ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetEventAfterCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetEventAfterCallback :: C_WidgetEventAfterCallback -> IO (FunPtr C_WidgetEventAfterCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetEventAfter :: MonadIO m => WidgetEventAfterCallback -> m (GClosure C_WidgetEventAfterCallback)
+genClosure_WidgetEventAfter cb = liftIO $ do
+    let cb' = wrap_WidgetEventAfterCallback cb
+    mk_WidgetEventAfterCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetEventAfterCallback` into a `C_WidgetEventAfterCallback`.
+wrap_WidgetEventAfterCallback ::
+    WidgetEventAfterCallback ->
+    C_WidgetEventAfterCallback
+wrap_WidgetEventAfterCallback _cb _ event _ = do
+    B.ManagedPtr.withTransient Gdk.Event.Event event $ \event' -> do
+        _cb  event'
+
+
+{- |
+Connect a signal handler for the “@event-after@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #eventAfter callback
+@
+-}
+onWidgetEventAfter :: (IsWidget a, MonadIO m) => a -> WidgetEventAfterCallback -> m SignalHandlerId
+onWidgetEventAfter obj cb = liftIO $ do
+    let cb' = wrap_WidgetEventAfterCallback cb
+    cb'' <- mk_WidgetEventAfterCallback cb'
+    connectSignalFunPtr obj "event-after" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@event-after@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #eventAfter callback
+@
+-}
+afterWidgetEventAfter :: (IsWidget a, MonadIO m) => a -> WidgetEventAfterCallback -> m SignalHandlerId
+afterWidgetEventAfter obj cb = liftIO $ do
+    let cb' = wrap_WidgetEventAfterCallback cb
+    cb'' <- mk_WidgetEventAfterCallback cb'
+    connectSignalFunPtr obj "event-after" cb'' SignalConnectAfter
+
+
+-- signal Widget::focus
+{- |
+/No description available in the introspection data./
+-}
+type WidgetFocusCallback =
+    Gtk.Enums.DirectionType
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event. 'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetFocusCallback`@.
+noWidgetFocusCallback :: Maybe WidgetFocusCallback
+noWidgetFocusCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetFocusCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetFocusCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetFocusCallback :: C_WidgetFocusCallback -> IO (FunPtr C_WidgetFocusCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetFocus :: MonadIO m => WidgetFocusCallback -> m (GClosure C_WidgetFocusCallback)
+genClosure_WidgetFocus cb = liftIO $ do
+    let cb' = wrap_WidgetFocusCallback cb
+    mk_WidgetFocusCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetFocusCallback` into a `C_WidgetFocusCallback`.
+wrap_WidgetFocusCallback ::
+    WidgetFocusCallback ->
+    C_WidgetFocusCallback
+wrap_WidgetFocusCallback _cb _ direction _ = do
+    let direction' = (toEnum . fromIntegral) direction
+    result <- _cb  direction'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@focus@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #focus callback
+@
+-}
+onWidgetFocus :: (IsWidget a, MonadIO m) => a -> WidgetFocusCallback -> m SignalHandlerId
+onWidgetFocus obj cb = liftIO $ do
+    let cb' = wrap_WidgetFocusCallback cb
+    cb'' <- mk_WidgetFocusCallback cb'
+    connectSignalFunPtr obj "focus" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@focus@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #focus callback
+@
+-}
+afterWidgetFocus :: (IsWidget a, MonadIO m) => a -> WidgetFocusCallback -> m SignalHandlerId
+afterWidgetFocus obj cb = liftIO $ do
+    let cb' = wrap_WidgetFocusCallback cb
+    cb'' <- mk_WidgetFocusCallback cb'
+    connectSignalFunPtr obj "focus" cb'' SignalConnectAfter
+
+
+-- signal Widget::focus-in-event
+{- |
+The ::focus-in-event signal will be emitted when the keyboard focus
+enters the /@widget@/\'s window.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_FOCUS_CHANGE_MASK/@ mask.
+-}
+type WidgetFocusInEventCallback =
+    Gdk.EventFocus.EventFocus
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventFocus.EventFocus' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetFocusInEventCallback`@.
+noWidgetFocusInEventCallback :: Maybe WidgetFocusInEventCallback
+noWidgetFocusInEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetFocusInEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventFocus.EventFocus ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetFocusInEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetFocusInEventCallback :: C_WidgetFocusInEventCallback -> IO (FunPtr C_WidgetFocusInEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetFocusInEvent :: MonadIO m => WidgetFocusInEventCallback -> m (GClosure C_WidgetFocusInEventCallback)
+genClosure_WidgetFocusInEvent cb = liftIO $ do
+    let cb' = wrap_WidgetFocusInEventCallback cb
+    mk_WidgetFocusInEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetFocusInEventCallback` into a `C_WidgetFocusInEventCallback`.
+wrap_WidgetFocusInEventCallback ::
+    WidgetFocusInEventCallback ->
+    C_WidgetFocusInEventCallback
+wrap_WidgetFocusInEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventFocus.EventFocus) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@focus-in-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #focusInEvent callback
+@
+-}
+onWidgetFocusInEvent :: (IsWidget a, MonadIO m) => a -> WidgetFocusInEventCallback -> m SignalHandlerId
+onWidgetFocusInEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetFocusInEventCallback cb
+    cb'' <- mk_WidgetFocusInEventCallback cb'
+    connectSignalFunPtr obj "focus-in-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@focus-in-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #focusInEvent callback
+@
+-}
+afterWidgetFocusInEvent :: (IsWidget a, MonadIO m) => a -> WidgetFocusInEventCallback -> m SignalHandlerId
+afterWidgetFocusInEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetFocusInEventCallback cb
+    cb'' <- mk_WidgetFocusInEventCallback cb'
+    connectSignalFunPtr obj "focus-in-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::focus-out-event
+{- |
+The ::focus-out-event signal will be emitted when the keyboard focus
+leaves the /@widget@/\'s window.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_FOCUS_CHANGE_MASK/@ mask.
+-}
+type WidgetFocusOutEventCallback =
+    Gdk.EventFocus.EventFocus
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventFocus.EventFocus' which triggered this
+  signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetFocusOutEventCallback`@.
+noWidgetFocusOutEventCallback :: Maybe WidgetFocusOutEventCallback
+noWidgetFocusOutEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetFocusOutEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventFocus.EventFocus ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetFocusOutEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetFocusOutEventCallback :: C_WidgetFocusOutEventCallback -> IO (FunPtr C_WidgetFocusOutEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetFocusOutEvent :: MonadIO m => WidgetFocusOutEventCallback -> m (GClosure C_WidgetFocusOutEventCallback)
+genClosure_WidgetFocusOutEvent cb = liftIO $ do
+    let cb' = wrap_WidgetFocusOutEventCallback cb
+    mk_WidgetFocusOutEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetFocusOutEventCallback` into a `C_WidgetFocusOutEventCallback`.
+wrap_WidgetFocusOutEventCallback ::
+    WidgetFocusOutEventCallback ->
+    C_WidgetFocusOutEventCallback
+wrap_WidgetFocusOutEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventFocus.EventFocus) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@focus-out-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #focusOutEvent callback
+@
+-}
+onWidgetFocusOutEvent :: (IsWidget a, MonadIO m) => a -> WidgetFocusOutEventCallback -> m SignalHandlerId
+onWidgetFocusOutEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetFocusOutEventCallback cb
+    cb'' <- mk_WidgetFocusOutEventCallback cb'
+    connectSignalFunPtr obj "focus-out-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@focus-out-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #focusOutEvent callback
+@
+-}
+afterWidgetFocusOutEvent :: (IsWidget a, MonadIO m) => a -> WidgetFocusOutEventCallback -> m SignalHandlerId
+afterWidgetFocusOutEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetFocusOutEventCallback cb
+    cb'' <- mk_WidgetFocusOutEventCallback cb'
+    connectSignalFunPtr obj "focus-out-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::grab-broken-event
+{- |
+Emitted when a pointer or keyboard grab on a window belonging
+to /@widget@/ gets broken.
+
+On X11, this happens when the grab window becomes unviewable
+(i.e. it or one of its ancestors is unmapped), or if the same
+application grabs the pointer or keyboard again.
+
+/Since: 2.8/
+-}
+type WidgetGrabBrokenEventCallback =
+    Gdk.EventGrabBroken.EventGrabBroken
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventGrabBroken.EventGrabBroken' event -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for
+  the event. 'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetGrabBrokenEventCallback`@.
+noWidgetGrabBrokenEventCallback :: Maybe WidgetGrabBrokenEventCallback
+noWidgetGrabBrokenEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetGrabBrokenEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventGrabBroken.EventGrabBroken ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetGrabBrokenEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetGrabBrokenEventCallback :: C_WidgetGrabBrokenEventCallback -> IO (FunPtr C_WidgetGrabBrokenEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetGrabBrokenEvent :: MonadIO m => WidgetGrabBrokenEventCallback -> m (GClosure C_WidgetGrabBrokenEventCallback)
+genClosure_WidgetGrabBrokenEvent cb = liftIO $ do
+    let cb' = wrap_WidgetGrabBrokenEventCallback cb
+    mk_WidgetGrabBrokenEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetGrabBrokenEventCallback` into a `C_WidgetGrabBrokenEventCallback`.
+wrap_WidgetGrabBrokenEventCallback ::
+    WidgetGrabBrokenEventCallback ->
+    C_WidgetGrabBrokenEventCallback
+wrap_WidgetGrabBrokenEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventGrabBroken.EventGrabBroken) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@grab-broken-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #grabBrokenEvent callback
+@
+-}
+onWidgetGrabBrokenEvent :: (IsWidget a, MonadIO m) => a -> WidgetGrabBrokenEventCallback -> m SignalHandlerId
+onWidgetGrabBrokenEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetGrabBrokenEventCallback cb
+    cb'' <- mk_WidgetGrabBrokenEventCallback cb'
+    connectSignalFunPtr obj "grab-broken-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@grab-broken-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #grabBrokenEvent callback
+@
+-}
+afterWidgetGrabBrokenEvent :: (IsWidget a, MonadIO m) => a -> WidgetGrabBrokenEventCallback -> m SignalHandlerId
+afterWidgetGrabBrokenEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetGrabBrokenEventCallback cb
+    cb'' <- mk_WidgetGrabBrokenEventCallback cb'
+    connectSignalFunPtr obj "grab-broken-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::grab-focus
+{- |
+/No description available in the introspection data./
+-}
+type WidgetGrabFocusCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetGrabFocusCallback`@.
+noWidgetGrabFocusCallback :: Maybe WidgetGrabFocusCallback
+noWidgetGrabFocusCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetGrabFocusCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetGrabFocusCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetGrabFocusCallback :: C_WidgetGrabFocusCallback -> IO (FunPtr C_WidgetGrabFocusCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetGrabFocus :: MonadIO m => WidgetGrabFocusCallback -> m (GClosure C_WidgetGrabFocusCallback)
+genClosure_WidgetGrabFocus cb = liftIO $ do
+    let cb' = wrap_WidgetGrabFocusCallback cb
+    mk_WidgetGrabFocusCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetGrabFocusCallback` into a `C_WidgetGrabFocusCallback`.
+wrap_WidgetGrabFocusCallback ::
+    WidgetGrabFocusCallback ->
+    C_WidgetGrabFocusCallback
+wrap_WidgetGrabFocusCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@grab-focus@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #grabFocus callback
+@
+-}
+onWidgetGrabFocus :: (IsWidget a, MonadIO m) => a -> WidgetGrabFocusCallback -> m SignalHandlerId
+onWidgetGrabFocus obj cb = liftIO $ do
+    let cb' = wrap_WidgetGrabFocusCallback cb
+    cb'' <- mk_WidgetGrabFocusCallback cb'
+    connectSignalFunPtr obj "grab-focus" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@grab-focus@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #grabFocus callback
+@
+-}
+afterWidgetGrabFocus :: (IsWidget a, MonadIO m) => a -> WidgetGrabFocusCallback -> m SignalHandlerId
+afterWidgetGrabFocus obj cb = liftIO $ do
+    let cb' = wrap_WidgetGrabFocusCallback cb
+    cb'' <- mk_WidgetGrabFocusCallback cb'
+    connectSignalFunPtr obj "grab-focus" cb'' SignalConnectAfter
+
+
+-- signal Widget::grab-notify
+{- |
+The ::grab-notify signal is emitted when a widget becomes
+shadowed by a GTK+ grab (not a pointer or keyboard grab) on
+another widget, or when it becomes unshadowed due to a grab
+being removed.
+
+A widget is shadowed by a 'GI.Gtk.Objects.Widget.widgetGrabAdd' when the topmost
+grab widget in the grab stack of its window group is not
+its ancestor.
+-}
+type WidgetGrabNotifyCallback =
+    Bool
+    {- ^ /@wasGrabbed@/: 'False' if the widget becomes shadowed, 'True'
+              if it becomes unshadowed -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetGrabNotifyCallback`@.
+noWidgetGrabNotifyCallback :: Maybe WidgetGrabNotifyCallback
+noWidgetGrabNotifyCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetGrabNotifyCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetGrabNotifyCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetGrabNotifyCallback :: C_WidgetGrabNotifyCallback -> IO (FunPtr C_WidgetGrabNotifyCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetGrabNotify :: MonadIO m => WidgetGrabNotifyCallback -> m (GClosure C_WidgetGrabNotifyCallback)
+genClosure_WidgetGrabNotify cb = liftIO $ do
+    let cb' = wrap_WidgetGrabNotifyCallback cb
+    mk_WidgetGrabNotifyCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetGrabNotifyCallback` into a `C_WidgetGrabNotifyCallback`.
+wrap_WidgetGrabNotifyCallback ::
+    WidgetGrabNotifyCallback ->
+    C_WidgetGrabNotifyCallback
+wrap_WidgetGrabNotifyCallback _cb _ wasGrabbed _ = do
+    let wasGrabbed' = (/= 0) wasGrabbed
+    _cb  wasGrabbed'
+
+
+{- |
+Connect a signal handler for the “@grab-notify@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #grabNotify callback
+@
+-}
+onWidgetGrabNotify :: (IsWidget a, MonadIO m) => a -> WidgetGrabNotifyCallback -> m SignalHandlerId
+onWidgetGrabNotify obj cb = liftIO $ do
+    let cb' = wrap_WidgetGrabNotifyCallback cb
+    cb'' <- mk_WidgetGrabNotifyCallback cb'
+    connectSignalFunPtr obj "grab-notify" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@grab-notify@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #grabNotify callback
+@
+-}
+afterWidgetGrabNotify :: (IsWidget a, MonadIO m) => a -> WidgetGrabNotifyCallback -> m SignalHandlerId
+afterWidgetGrabNotify obj cb = liftIO $ do
+    let cb' = wrap_WidgetGrabNotifyCallback cb
+    cb'' <- mk_WidgetGrabNotifyCallback cb'
+    connectSignalFunPtr obj "grab-notify" cb'' SignalConnectAfter
+
+
+-- signal Widget::hide
+{- |
+The ::hide signal is emitted when /@widget@/ is hidden, for example with
+'GI.Gtk.Objects.Widget.widgetHide'.
+-}
+type WidgetHideCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetHideCallback`@.
+noWidgetHideCallback :: Maybe WidgetHideCallback
+noWidgetHideCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetHideCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetHideCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetHideCallback :: C_WidgetHideCallback -> IO (FunPtr C_WidgetHideCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetHide :: MonadIO m => WidgetHideCallback -> m (GClosure C_WidgetHideCallback)
+genClosure_WidgetHide cb = liftIO $ do
+    let cb' = wrap_WidgetHideCallback cb
+    mk_WidgetHideCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetHideCallback` into a `C_WidgetHideCallback`.
+wrap_WidgetHideCallback ::
+    WidgetHideCallback ->
+    C_WidgetHideCallback
+wrap_WidgetHideCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@hide@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #hide callback
+@
+-}
+onWidgetHide :: (IsWidget a, MonadIO m) => a -> WidgetHideCallback -> m SignalHandlerId
+onWidgetHide obj cb = liftIO $ do
+    let cb' = wrap_WidgetHideCallback cb
+    cb'' <- mk_WidgetHideCallback cb'
+    connectSignalFunPtr obj "hide" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@hide@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #hide callback
+@
+-}
+afterWidgetHide :: (IsWidget a, MonadIO m) => a -> WidgetHideCallback -> m SignalHandlerId
+afterWidgetHide obj cb = liftIO $ do
+    let cb' = wrap_WidgetHideCallback cb
+    cb'' <- mk_WidgetHideCallback cb'
+    connectSignalFunPtr obj "hide" cb'' SignalConnectAfter
+
+
+-- signal Widget::hierarchy-changed
+{- |
+The ::hierarchy-changed signal is emitted when the
+anchored state of a widget changes. A widget is
+“anchored” when its toplevel
+ancestor is a 'GI.Gtk.Objects.Window.Window'. This signal is emitted when
+a widget changes from un-anchored to anchored or vice-versa.
+-}
+type WidgetHierarchyChangedCallback =
+    Maybe Widget
+    {- ^ /@previousToplevel@/: the previous toplevel ancestor, or 'Nothing'
+  if the widget was previously unanchored -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetHierarchyChangedCallback`@.
+noWidgetHierarchyChangedCallback :: Maybe WidgetHierarchyChangedCallback
+noWidgetHierarchyChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetHierarchyChangedCallback =
+    Ptr () ->                               -- object
+    Ptr Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetHierarchyChangedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetHierarchyChangedCallback :: C_WidgetHierarchyChangedCallback -> IO (FunPtr C_WidgetHierarchyChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetHierarchyChanged :: MonadIO m => WidgetHierarchyChangedCallback -> m (GClosure C_WidgetHierarchyChangedCallback)
+genClosure_WidgetHierarchyChanged cb = liftIO $ do
+    let cb' = wrap_WidgetHierarchyChangedCallback cb
+    mk_WidgetHierarchyChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetHierarchyChangedCallback` into a `C_WidgetHierarchyChangedCallback`.
+wrap_WidgetHierarchyChangedCallback ::
+    WidgetHierarchyChangedCallback ->
+    C_WidgetHierarchyChangedCallback
+wrap_WidgetHierarchyChangedCallback _cb _ previousToplevel _ = do
+    maybePreviousToplevel <-
+        if previousToplevel == nullPtr
+        then return Nothing
+        else do
+            previousToplevel' <- (newObject Widget) previousToplevel
+            return $ Just previousToplevel'
+    _cb  maybePreviousToplevel
+
+
+{- |
+Connect a signal handler for the “@hierarchy-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #hierarchyChanged callback
+@
+-}
+onWidgetHierarchyChanged :: (IsWidget a, MonadIO m) => a -> WidgetHierarchyChangedCallback -> m SignalHandlerId
+onWidgetHierarchyChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetHierarchyChangedCallback cb
+    cb'' <- mk_WidgetHierarchyChangedCallback cb'
+    connectSignalFunPtr obj "hierarchy-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@hierarchy-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #hierarchyChanged callback
+@
+-}
+afterWidgetHierarchyChanged :: (IsWidget a, MonadIO m) => a -> WidgetHierarchyChangedCallback -> m SignalHandlerId
+afterWidgetHierarchyChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetHierarchyChangedCallback cb
+    cb'' <- mk_WidgetHierarchyChangedCallback cb'
+    connectSignalFunPtr obj "hierarchy-changed" cb'' SignalConnectAfter
+
+
+-- signal Widget::key-press-event
+{- |
+The ::key-press-event signal is emitted when a key is pressed. The signal
+emission will reoccur at the key-repeat rate when the key is kept pressed.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_KEY_PRESS_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetKeyPressEventCallback =
+    Gdk.EventKey.EventKey
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventKey.EventKey' which triggered this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetKeyPressEventCallback`@.
+noWidgetKeyPressEventCallback :: Maybe WidgetKeyPressEventCallback
+noWidgetKeyPressEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetKeyPressEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventKey.EventKey ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetKeyPressEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetKeyPressEventCallback :: C_WidgetKeyPressEventCallback -> IO (FunPtr C_WidgetKeyPressEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetKeyPressEvent :: MonadIO m => WidgetKeyPressEventCallback -> m (GClosure C_WidgetKeyPressEventCallback)
+genClosure_WidgetKeyPressEvent cb = liftIO $ do
+    let cb' = wrap_WidgetKeyPressEventCallback cb
+    mk_WidgetKeyPressEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetKeyPressEventCallback` into a `C_WidgetKeyPressEventCallback`.
+wrap_WidgetKeyPressEventCallback ::
+    WidgetKeyPressEventCallback ->
+    C_WidgetKeyPressEventCallback
+wrap_WidgetKeyPressEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventKey.EventKey) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@key-press-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #keyPressEvent callback
+@
+-}
+onWidgetKeyPressEvent :: (IsWidget a, MonadIO m) => a -> WidgetKeyPressEventCallback -> m SignalHandlerId
+onWidgetKeyPressEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetKeyPressEventCallback cb
+    cb'' <- mk_WidgetKeyPressEventCallback cb'
+    connectSignalFunPtr obj "key-press-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@key-press-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #keyPressEvent callback
+@
+-}
+afterWidgetKeyPressEvent :: (IsWidget a, MonadIO m) => a -> WidgetKeyPressEventCallback -> m SignalHandlerId
+afterWidgetKeyPressEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetKeyPressEventCallback cb
+    cb'' <- mk_WidgetKeyPressEventCallback cb'
+    connectSignalFunPtr obj "key-press-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::key-release-event
+{- |
+The ::key-release-event signal is emitted when a key is released.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_KEY_RELEASE_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetKeyReleaseEventCallback =
+    Gdk.EventKey.EventKey
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventKey.EventKey' which triggered this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetKeyReleaseEventCallback`@.
+noWidgetKeyReleaseEventCallback :: Maybe WidgetKeyReleaseEventCallback
+noWidgetKeyReleaseEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetKeyReleaseEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventKey.EventKey ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetKeyReleaseEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetKeyReleaseEventCallback :: C_WidgetKeyReleaseEventCallback -> IO (FunPtr C_WidgetKeyReleaseEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetKeyReleaseEvent :: MonadIO m => WidgetKeyReleaseEventCallback -> m (GClosure C_WidgetKeyReleaseEventCallback)
+genClosure_WidgetKeyReleaseEvent cb = liftIO $ do
+    let cb' = wrap_WidgetKeyReleaseEventCallback cb
+    mk_WidgetKeyReleaseEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetKeyReleaseEventCallback` into a `C_WidgetKeyReleaseEventCallback`.
+wrap_WidgetKeyReleaseEventCallback ::
+    WidgetKeyReleaseEventCallback ->
+    C_WidgetKeyReleaseEventCallback
+wrap_WidgetKeyReleaseEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventKey.EventKey) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@key-release-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #keyReleaseEvent callback
+@
+-}
+onWidgetKeyReleaseEvent :: (IsWidget a, MonadIO m) => a -> WidgetKeyReleaseEventCallback -> m SignalHandlerId
+onWidgetKeyReleaseEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetKeyReleaseEventCallback cb
+    cb'' <- mk_WidgetKeyReleaseEventCallback cb'
+    connectSignalFunPtr obj "key-release-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@key-release-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #keyReleaseEvent callback
+@
+-}
+afterWidgetKeyReleaseEvent :: (IsWidget a, MonadIO m) => a -> WidgetKeyReleaseEventCallback -> m SignalHandlerId
+afterWidgetKeyReleaseEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetKeyReleaseEventCallback cb
+    cb'' <- mk_WidgetKeyReleaseEventCallback cb'
+    connectSignalFunPtr obj "key-release-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::keynav-failed
+{- |
+Gets emitted if keyboard navigation fails.
+See 'GI.Gtk.Objects.Widget.widgetKeynavFailed' for details.
+
+/Since: 2.12/
+-}
+type WidgetKeynavFailedCallback =
+    Gtk.Enums.DirectionType
+    {- ^ /@direction@/: the direction of movement -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if stopping keyboard navigation is fine, 'False'
+         if the emitting widget should try to handle the keyboard
+         navigation attempt in its parent container(s). -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetKeynavFailedCallback`@.
+noWidgetKeynavFailedCallback :: Maybe WidgetKeynavFailedCallback
+noWidgetKeynavFailedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetKeynavFailedCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetKeynavFailedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetKeynavFailedCallback :: C_WidgetKeynavFailedCallback -> IO (FunPtr C_WidgetKeynavFailedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetKeynavFailed :: MonadIO m => WidgetKeynavFailedCallback -> m (GClosure C_WidgetKeynavFailedCallback)
+genClosure_WidgetKeynavFailed cb = liftIO $ do
+    let cb' = wrap_WidgetKeynavFailedCallback cb
+    mk_WidgetKeynavFailedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetKeynavFailedCallback` into a `C_WidgetKeynavFailedCallback`.
+wrap_WidgetKeynavFailedCallback ::
+    WidgetKeynavFailedCallback ->
+    C_WidgetKeynavFailedCallback
+wrap_WidgetKeynavFailedCallback _cb _ direction _ = do
+    let direction' = (toEnum . fromIntegral) direction
+    result <- _cb  direction'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@keynav-failed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #keynavFailed callback
+@
+-}
+onWidgetKeynavFailed :: (IsWidget a, MonadIO m) => a -> WidgetKeynavFailedCallback -> m SignalHandlerId
+onWidgetKeynavFailed obj cb = liftIO $ do
+    let cb' = wrap_WidgetKeynavFailedCallback cb
+    cb'' <- mk_WidgetKeynavFailedCallback cb'
+    connectSignalFunPtr obj "keynav-failed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@keynav-failed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #keynavFailed callback
+@
+-}
+afterWidgetKeynavFailed :: (IsWidget a, MonadIO m) => a -> WidgetKeynavFailedCallback -> m SignalHandlerId
+afterWidgetKeynavFailed obj cb = liftIO $ do
+    let cb' = wrap_WidgetKeynavFailedCallback cb
+    cb'' <- mk_WidgetKeynavFailedCallback cb'
+    connectSignalFunPtr obj "keynav-failed" cb'' SignalConnectAfter
+
+
+-- signal Widget::leave-notify-event
+{- |
+The ::leave-notify-event will be emitted when the pointer leaves
+the /@widget@/\'s window.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_LEAVE_NOTIFY_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetLeaveNotifyEventCallback =
+    Gdk.EventCrossing.EventCrossing
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventCrossing.EventCrossing' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetLeaveNotifyEventCallback`@.
+noWidgetLeaveNotifyEventCallback :: Maybe WidgetLeaveNotifyEventCallback
+noWidgetLeaveNotifyEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetLeaveNotifyEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventCrossing.EventCrossing ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetLeaveNotifyEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetLeaveNotifyEventCallback :: C_WidgetLeaveNotifyEventCallback -> IO (FunPtr C_WidgetLeaveNotifyEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetLeaveNotifyEvent :: MonadIO m => WidgetLeaveNotifyEventCallback -> m (GClosure C_WidgetLeaveNotifyEventCallback)
+genClosure_WidgetLeaveNotifyEvent cb = liftIO $ do
+    let cb' = wrap_WidgetLeaveNotifyEventCallback cb
+    mk_WidgetLeaveNotifyEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetLeaveNotifyEventCallback` into a `C_WidgetLeaveNotifyEventCallback`.
+wrap_WidgetLeaveNotifyEventCallback ::
+    WidgetLeaveNotifyEventCallback ->
+    C_WidgetLeaveNotifyEventCallback
+wrap_WidgetLeaveNotifyEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventCrossing.EventCrossing) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@leave-notify-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #leaveNotifyEvent callback
+@
+-}
+onWidgetLeaveNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetLeaveNotifyEventCallback -> m SignalHandlerId
+onWidgetLeaveNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetLeaveNotifyEventCallback cb
+    cb'' <- mk_WidgetLeaveNotifyEventCallback cb'
+    connectSignalFunPtr obj "leave-notify-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@leave-notify-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #leaveNotifyEvent callback
+@
+-}
+afterWidgetLeaveNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetLeaveNotifyEventCallback -> m SignalHandlerId
+afterWidgetLeaveNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetLeaveNotifyEventCallback cb
+    cb'' <- mk_WidgetLeaveNotifyEventCallback cb'
+    connectSignalFunPtr obj "leave-notify-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::map
+{- |
+The ::map signal is emitted when /@widget@/ is going to be mapped, that is
+when the widget is visible (which is controlled with
+'GI.Gtk.Objects.Widget.widgetSetVisible') and all its parents up to the toplevel widget
+are also visible. Once the map has occurred, 'GI.Gtk.Objects.Widget.Widget'::@/map-event/@ will
+be emitted.
+
+The ::map signal can be used to determine whether a widget will be drawn,
+for instance it can resume an animation that was stopped during the
+emission of 'GI.Gtk.Objects.Widget.Widget'::@/unmap/@.
+-}
+type WidgetMapCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetMapCallback`@.
+noWidgetMapCallback :: Maybe WidgetMapCallback
+noWidgetMapCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetMapCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetMapCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetMapCallback :: C_WidgetMapCallback -> IO (FunPtr C_WidgetMapCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetMap :: MonadIO m => WidgetMapCallback -> m (GClosure C_WidgetMapCallback)
+genClosure_WidgetMap cb = liftIO $ do
+    let cb' = wrap_WidgetMapCallback cb
+    mk_WidgetMapCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetMapCallback` into a `C_WidgetMapCallback`.
+wrap_WidgetMapCallback ::
+    WidgetMapCallback ->
+    C_WidgetMapCallback
+wrap_WidgetMapCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@map@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #map callback
+@
+-}
+onWidgetMap :: (IsWidget a, MonadIO m) => a -> WidgetMapCallback -> m SignalHandlerId
+onWidgetMap obj cb = liftIO $ do
+    let cb' = wrap_WidgetMapCallback cb
+    cb'' <- mk_WidgetMapCallback cb'
+    connectSignalFunPtr obj "map" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@map@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #map callback
+@
+-}
+afterWidgetMap :: (IsWidget a, MonadIO m) => a -> WidgetMapCallback -> m SignalHandlerId
+afterWidgetMap obj cb = liftIO $ do
+    let cb' = wrap_WidgetMapCallback cb
+    cb'' <- mk_WidgetMapCallback cb'
+    connectSignalFunPtr obj "map" cb'' SignalConnectAfter
+
+
+-- signal Widget::map-event
+{- |
+The ::map-event signal will be emitted when the /@widget@/\'s window is
+mapped. A window is mapped when it becomes visible on the screen.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_STRUCTURE_MASK/@ mask. GDK will enable this mask
+automatically for all new windows.
+-}
+type WidgetMapEventCallback =
+    Gdk.EventAny.EventAny
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventAny.EventAny' which triggered this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetMapEventCallback`@.
+noWidgetMapEventCallback :: Maybe WidgetMapEventCallback
+noWidgetMapEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetMapEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventAny.EventAny ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetMapEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetMapEventCallback :: C_WidgetMapEventCallback -> IO (FunPtr C_WidgetMapEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetMapEvent :: MonadIO m => WidgetMapEventCallback -> m (GClosure C_WidgetMapEventCallback)
+genClosure_WidgetMapEvent cb = liftIO $ do
+    let cb' = wrap_WidgetMapEventCallback cb
+    mk_WidgetMapEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetMapEventCallback` into a `C_WidgetMapEventCallback`.
+wrap_WidgetMapEventCallback ::
+    WidgetMapEventCallback ->
+    C_WidgetMapEventCallback
+wrap_WidgetMapEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventAny.EventAny) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@map-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #mapEvent callback
+@
+-}
+onWidgetMapEvent :: (IsWidget a, MonadIO m) => a -> WidgetMapEventCallback -> m SignalHandlerId
+onWidgetMapEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetMapEventCallback cb
+    cb'' <- mk_WidgetMapEventCallback cb'
+    connectSignalFunPtr obj "map-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@map-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #mapEvent callback
+@
+-}
+afterWidgetMapEvent :: (IsWidget a, MonadIO m) => a -> WidgetMapEventCallback -> m SignalHandlerId
+afterWidgetMapEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetMapEventCallback cb
+    cb'' <- mk_WidgetMapEventCallback cb'
+    connectSignalFunPtr obj "map-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::mnemonic-activate
+{- |
+The default handler for this signal activates /@widget@/ if /@groupCycling@/
+is 'False', or just makes /@widget@/ grab focus if /@groupCycling@/ is 'True'.
+-}
+type WidgetMnemonicActivateCallback =
+    Bool
+    {- ^ /@groupCycling@/: 'True' if there are other widgets with the same mnemonic -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetMnemonicActivateCallback`@.
+noWidgetMnemonicActivateCallback :: Maybe WidgetMnemonicActivateCallback
+noWidgetMnemonicActivateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetMnemonicActivateCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetMnemonicActivateCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetMnemonicActivateCallback :: C_WidgetMnemonicActivateCallback -> IO (FunPtr C_WidgetMnemonicActivateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetMnemonicActivate :: MonadIO m => WidgetMnemonicActivateCallback -> m (GClosure C_WidgetMnemonicActivateCallback)
+genClosure_WidgetMnemonicActivate cb = liftIO $ do
+    let cb' = wrap_WidgetMnemonicActivateCallback cb
+    mk_WidgetMnemonicActivateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetMnemonicActivateCallback` into a `C_WidgetMnemonicActivateCallback`.
+wrap_WidgetMnemonicActivateCallback ::
+    WidgetMnemonicActivateCallback ->
+    C_WidgetMnemonicActivateCallback
+wrap_WidgetMnemonicActivateCallback _cb _ groupCycling _ = do
+    let groupCycling' = (/= 0) groupCycling
+    result <- _cb  groupCycling'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@mnemonic-activate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #mnemonicActivate callback
+@
+-}
+onWidgetMnemonicActivate :: (IsWidget a, MonadIO m) => a -> WidgetMnemonicActivateCallback -> m SignalHandlerId
+onWidgetMnemonicActivate obj cb = liftIO $ do
+    let cb' = wrap_WidgetMnemonicActivateCallback cb
+    cb'' <- mk_WidgetMnemonicActivateCallback cb'
+    connectSignalFunPtr obj "mnemonic-activate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@mnemonic-activate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #mnemonicActivate callback
+@
+-}
+afterWidgetMnemonicActivate :: (IsWidget a, MonadIO m) => a -> WidgetMnemonicActivateCallback -> m SignalHandlerId
+afterWidgetMnemonicActivate obj cb = liftIO $ do
+    let cb' = wrap_WidgetMnemonicActivateCallback cb
+    cb'' <- mk_WidgetMnemonicActivateCallback cb'
+    connectSignalFunPtr obj "mnemonic-activate" cb'' SignalConnectAfter
+
+
+-- signal Widget::motion-notify-event
+{- |
+The ::motion-notify-event signal is emitted when the pointer moves
+over the widget\'s 'GI.Gdk.Objects.Window.Window'.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget
+needs to enable the @/GDK_POINTER_MOTION_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetMotionNotifyEventCallback =
+    Gdk.EventMotion.EventMotion
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventMotion.EventMotion' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetMotionNotifyEventCallback`@.
+noWidgetMotionNotifyEventCallback :: Maybe WidgetMotionNotifyEventCallback
+noWidgetMotionNotifyEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetMotionNotifyEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventMotion.EventMotion ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetMotionNotifyEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetMotionNotifyEventCallback :: C_WidgetMotionNotifyEventCallback -> IO (FunPtr C_WidgetMotionNotifyEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetMotionNotifyEvent :: MonadIO m => WidgetMotionNotifyEventCallback -> m (GClosure C_WidgetMotionNotifyEventCallback)
+genClosure_WidgetMotionNotifyEvent cb = liftIO $ do
+    let cb' = wrap_WidgetMotionNotifyEventCallback cb
+    mk_WidgetMotionNotifyEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetMotionNotifyEventCallback` into a `C_WidgetMotionNotifyEventCallback`.
+wrap_WidgetMotionNotifyEventCallback ::
+    WidgetMotionNotifyEventCallback ->
+    C_WidgetMotionNotifyEventCallback
+wrap_WidgetMotionNotifyEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventMotion.EventMotion) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@motion-notify-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #motionNotifyEvent callback
+@
+-}
+onWidgetMotionNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetMotionNotifyEventCallback -> m SignalHandlerId
+onWidgetMotionNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetMotionNotifyEventCallback cb
+    cb'' <- mk_WidgetMotionNotifyEventCallback cb'
+    connectSignalFunPtr obj "motion-notify-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@motion-notify-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #motionNotifyEvent callback
+@
+-}
+afterWidgetMotionNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetMotionNotifyEventCallback -> m SignalHandlerId
+afterWidgetMotionNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetMotionNotifyEventCallback cb
+    cb'' <- mk_WidgetMotionNotifyEventCallback cb'
+    connectSignalFunPtr obj "motion-notify-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::move-focus
+{- |
+/No description available in the introspection data./
+-}
+type WidgetMoveFocusCallback =
+    Gtk.Enums.DirectionType
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetMoveFocusCallback`@.
+noWidgetMoveFocusCallback :: Maybe WidgetMoveFocusCallback
+noWidgetMoveFocusCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetMoveFocusCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetMoveFocusCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetMoveFocusCallback :: C_WidgetMoveFocusCallback -> IO (FunPtr C_WidgetMoveFocusCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetMoveFocus :: MonadIO m => WidgetMoveFocusCallback -> m (GClosure C_WidgetMoveFocusCallback)
+genClosure_WidgetMoveFocus cb = liftIO $ do
+    let cb' = wrap_WidgetMoveFocusCallback cb
+    mk_WidgetMoveFocusCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetMoveFocusCallback` into a `C_WidgetMoveFocusCallback`.
+wrap_WidgetMoveFocusCallback ::
+    WidgetMoveFocusCallback ->
+    C_WidgetMoveFocusCallback
+wrap_WidgetMoveFocusCallback _cb _ direction _ = do
+    let direction' = (toEnum . fromIntegral) direction
+    _cb  direction'
+
+
+{- |
+Connect a signal handler for the “@move-focus@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #moveFocus callback
+@
+-}
+onWidgetMoveFocus :: (IsWidget a, MonadIO m) => a -> WidgetMoveFocusCallback -> m SignalHandlerId
+onWidgetMoveFocus obj cb = liftIO $ do
+    let cb' = wrap_WidgetMoveFocusCallback cb
+    cb'' <- mk_WidgetMoveFocusCallback cb'
+    connectSignalFunPtr obj "move-focus" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@move-focus@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #moveFocus callback
+@
+-}
+afterWidgetMoveFocus :: (IsWidget a, MonadIO m) => a -> WidgetMoveFocusCallback -> m SignalHandlerId
+afterWidgetMoveFocus obj cb = liftIO $ do
+    let cb' = wrap_WidgetMoveFocusCallback cb
+    cb'' <- mk_WidgetMoveFocusCallback cb'
+    connectSignalFunPtr obj "move-focus" cb'' SignalConnectAfter
+
+
+-- signal Widget::parent-set
+{- |
+The ::parent-set signal is emitted when a new parent
+has been set on a widget.
+-}
+type WidgetParentSetCallback =
+    Maybe Widget
+    {- ^ /@oldParent@/: the previous parent, or 'Nothing' if the widget
+  just got its initial parent. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetParentSetCallback`@.
+noWidgetParentSetCallback :: Maybe WidgetParentSetCallback
+noWidgetParentSetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetParentSetCallback =
+    Ptr () ->                               -- object
+    Ptr Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetParentSetCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetParentSetCallback :: C_WidgetParentSetCallback -> IO (FunPtr C_WidgetParentSetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetParentSet :: MonadIO m => WidgetParentSetCallback -> m (GClosure C_WidgetParentSetCallback)
+genClosure_WidgetParentSet cb = liftIO $ do
+    let cb' = wrap_WidgetParentSetCallback cb
+    mk_WidgetParentSetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetParentSetCallback` into a `C_WidgetParentSetCallback`.
+wrap_WidgetParentSetCallback ::
+    WidgetParentSetCallback ->
+    C_WidgetParentSetCallback
+wrap_WidgetParentSetCallback _cb _ oldParent _ = do
+    maybeOldParent <-
+        if oldParent == nullPtr
+        then return Nothing
+        else do
+            oldParent' <- (newObject Widget) oldParent
+            return $ Just oldParent'
+    _cb  maybeOldParent
+
+
+{- |
+Connect a signal handler for the “@parent-set@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #parentSet callback
+@
+-}
+onWidgetParentSet :: (IsWidget a, MonadIO m) => a -> WidgetParentSetCallback -> m SignalHandlerId
+onWidgetParentSet obj cb = liftIO $ do
+    let cb' = wrap_WidgetParentSetCallback cb
+    cb'' <- mk_WidgetParentSetCallback cb'
+    connectSignalFunPtr obj "parent-set" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@parent-set@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #parentSet callback
+@
+-}
+afterWidgetParentSet :: (IsWidget a, MonadIO m) => a -> WidgetParentSetCallback -> m SignalHandlerId
+afterWidgetParentSet obj cb = liftIO $ do
+    let cb' = wrap_WidgetParentSetCallback cb
+    cb'' <- mk_WidgetParentSetCallback cb'
+    connectSignalFunPtr obj "parent-set" cb'' SignalConnectAfter
+
+
+-- signal Widget::popup-menu
+{- |
+This signal gets emitted whenever a widget should pop up a context
+menu. This usually happens through the standard key binding mechanism;
+by pressing a certain key while a widget is focused, the user can cause
+the widget to pop up a menu.  For example, the 'GI.Gtk.Objects.Entry.Entry' widget creates
+a menu with clipboard commands. See the
+[Popup Menu Migration Checklist][checklist-popup-menu]
+for an example of how to use this signal.
+-}
+type WidgetPopupMenuCallback =
+    IO Bool
+    {- ^ __Returns:__ 'True' if a menu was activated -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetPopupMenuCallback`@.
+noWidgetPopupMenuCallback :: Maybe WidgetPopupMenuCallback
+noWidgetPopupMenuCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetPopupMenuCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetPopupMenuCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetPopupMenuCallback :: C_WidgetPopupMenuCallback -> IO (FunPtr C_WidgetPopupMenuCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetPopupMenu :: MonadIO m => WidgetPopupMenuCallback -> m (GClosure C_WidgetPopupMenuCallback)
+genClosure_WidgetPopupMenu cb = liftIO $ do
+    let cb' = wrap_WidgetPopupMenuCallback cb
+    mk_WidgetPopupMenuCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetPopupMenuCallback` into a `C_WidgetPopupMenuCallback`.
+wrap_WidgetPopupMenuCallback ::
+    WidgetPopupMenuCallback ->
+    C_WidgetPopupMenuCallback
+wrap_WidgetPopupMenuCallback _cb _ _ = do
+    result <- _cb 
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@popup-menu@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #popupMenu callback
+@
+-}
+onWidgetPopupMenu :: (IsWidget a, MonadIO m) => a -> WidgetPopupMenuCallback -> m SignalHandlerId
+onWidgetPopupMenu obj cb = liftIO $ do
+    let cb' = wrap_WidgetPopupMenuCallback cb
+    cb'' <- mk_WidgetPopupMenuCallback cb'
+    connectSignalFunPtr obj "popup-menu" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@popup-menu@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #popupMenu callback
+@
+-}
+afterWidgetPopupMenu :: (IsWidget a, MonadIO m) => a -> WidgetPopupMenuCallback -> m SignalHandlerId
+afterWidgetPopupMenu obj cb = liftIO $ do
+    let cb' = wrap_WidgetPopupMenuCallback cb
+    cb'' <- mk_WidgetPopupMenuCallback cb'
+    connectSignalFunPtr obj "popup-menu" cb'' SignalConnectAfter
+
+
+-- signal Widget::property-notify-event
+{- |
+The ::property-notify-event signal will be emitted when a property on
+the /@widget@/\'s window has been changed or deleted.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_PROPERTY_CHANGE_MASK/@ mask.
+-}
+type WidgetPropertyNotifyEventCallback =
+    Gdk.EventProperty.EventProperty
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventProperty.EventProperty' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetPropertyNotifyEventCallback`@.
+noWidgetPropertyNotifyEventCallback :: Maybe WidgetPropertyNotifyEventCallback
+noWidgetPropertyNotifyEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetPropertyNotifyEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventProperty.EventProperty ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetPropertyNotifyEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetPropertyNotifyEventCallback :: C_WidgetPropertyNotifyEventCallback -> IO (FunPtr C_WidgetPropertyNotifyEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetPropertyNotifyEvent :: MonadIO m => WidgetPropertyNotifyEventCallback -> m (GClosure C_WidgetPropertyNotifyEventCallback)
+genClosure_WidgetPropertyNotifyEvent cb = liftIO $ do
+    let cb' = wrap_WidgetPropertyNotifyEventCallback cb
+    mk_WidgetPropertyNotifyEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetPropertyNotifyEventCallback` into a `C_WidgetPropertyNotifyEventCallback`.
+wrap_WidgetPropertyNotifyEventCallback ::
+    WidgetPropertyNotifyEventCallback ->
+    C_WidgetPropertyNotifyEventCallback
+wrap_WidgetPropertyNotifyEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventProperty.EventProperty) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@property-notify-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #propertyNotifyEvent callback
+@
+-}
+onWidgetPropertyNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetPropertyNotifyEventCallback -> m SignalHandlerId
+onWidgetPropertyNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetPropertyNotifyEventCallback cb
+    cb'' <- mk_WidgetPropertyNotifyEventCallback cb'
+    connectSignalFunPtr obj "property-notify-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@property-notify-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #propertyNotifyEvent callback
+@
+-}
+afterWidgetPropertyNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetPropertyNotifyEventCallback -> m SignalHandlerId
+afterWidgetPropertyNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetPropertyNotifyEventCallback cb
+    cb'' <- mk_WidgetPropertyNotifyEventCallback cb'
+    connectSignalFunPtr obj "property-notify-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::proximity-in-event
+{- |
+To receive this signal the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_PROXIMITY_IN_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetProximityInEventCallback =
+    Gdk.EventProximity.EventProximity
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventProximity.EventProximity' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetProximityInEventCallback`@.
+noWidgetProximityInEventCallback :: Maybe WidgetProximityInEventCallback
+noWidgetProximityInEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetProximityInEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventProximity.EventProximity ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetProximityInEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetProximityInEventCallback :: C_WidgetProximityInEventCallback -> IO (FunPtr C_WidgetProximityInEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetProximityInEvent :: MonadIO m => WidgetProximityInEventCallback -> m (GClosure C_WidgetProximityInEventCallback)
+genClosure_WidgetProximityInEvent cb = liftIO $ do
+    let cb' = wrap_WidgetProximityInEventCallback cb
+    mk_WidgetProximityInEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetProximityInEventCallback` into a `C_WidgetProximityInEventCallback`.
+wrap_WidgetProximityInEventCallback ::
+    WidgetProximityInEventCallback ->
+    C_WidgetProximityInEventCallback
+wrap_WidgetProximityInEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventProximity.EventProximity) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@proximity-in-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #proximityInEvent callback
+@
+-}
+onWidgetProximityInEvent :: (IsWidget a, MonadIO m) => a -> WidgetProximityInEventCallback -> m SignalHandlerId
+onWidgetProximityInEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetProximityInEventCallback cb
+    cb'' <- mk_WidgetProximityInEventCallback cb'
+    connectSignalFunPtr obj "proximity-in-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@proximity-in-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #proximityInEvent callback
+@
+-}
+afterWidgetProximityInEvent :: (IsWidget a, MonadIO m) => a -> WidgetProximityInEventCallback -> m SignalHandlerId
+afterWidgetProximityInEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetProximityInEventCallback cb
+    cb'' <- mk_WidgetProximityInEventCallback cb'
+    connectSignalFunPtr obj "proximity-in-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::proximity-out-event
+{- |
+To receive this signal the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_PROXIMITY_OUT_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetProximityOutEventCallback =
+    Gdk.EventProximity.EventProximity
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventProximity.EventProximity' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetProximityOutEventCallback`@.
+noWidgetProximityOutEventCallback :: Maybe WidgetProximityOutEventCallback
+noWidgetProximityOutEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetProximityOutEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventProximity.EventProximity ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetProximityOutEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetProximityOutEventCallback :: C_WidgetProximityOutEventCallback -> IO (FunPtr C_WidgetProximityOutEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetProximityOutEvent :: MonadIO m => WidgetProximityOutEventCallback -> m (GClosure C_WidgetProximityOutEventCallback)
+genClosure_WidgetProximityOutEvent cb = liftIO $ do
+    let cb' = wrap_WidgetProximityOutEventCallback cb
+    mk_WidgetProximityOutEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetProximityOutEventCallback` into a `C_WidgetProximityOutEventCallback`.
+wrap_WidgetProximityOutEventCallback ::
+    WidgetProximityOutEventCallback ->
+    C_WidgetProximityOutEventCallback
+wrap_WidgetProximityOutEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventProximity.EventProximity) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@proximity-out-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #proximityOutEvent callback
+@
+-}
+onWidgetProximityOutEvent :: (IsWidget a, MonadIO m) => a -> WidgetProximityOutEventCallback -> m SignalHandlerId
+onWidgetProximityOutEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetProximityOutEventCallback cb
+    cb'' <- mk_WidgetProximityOutEventCallback cb'
+    connectSignalFunPtr obj "proximity-out-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@proximity-out-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #proximityOutEvent callback
+@
+-}
+afterWidgetProximityOutEvent :: (IsWidget a, MonadIO m) => a -> WidgetProximityOutEventCallback -> m SignalHandlerId
+afterWidgetProximityOutEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetProximityOutEventCallback cb
+    cb'' <- mk_WidgetProximityOutEventCallback cb'
+    connectSignalFunPtr obj "proximity-out-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::query-tooltip
+{- |
+Emitted when 'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@ is 'True' and the hover timeout
+has expired with the cursor hovering \"above\" /@widget@/; or emitted when /@widget@/ got
+focus in keyboard mode.
+
+Using the given coordinates, the signal handler should determine
+whether a tooltip should be shown for /@widget@/. If this is the case
+'True' should be returned, 'False' otherwise.  Note that if
+/@keyboardMode@/ is 'True', the values of /@x@/ and /@y@/ are undefined and
+should not be used.
+
+The signal handler is free to manipulate /@tooltip@/ with the therefore
+destined function calls.
+
+/Since: 2.12/
+-}
+type WidgetQueryTooltipCallback =
+    Int32
+    {- ^ /@x@/: the x coordinate of the cursor position where the request has
+    been emitted, relative to /@widget@/\'s left side -}
+    -> Int32
+    {- ^ /@y@/: the y coordinate of the cursor position where the request has
+    been emitted, relative to /@widget@/\'s top -}
+    -> Bool
+    {- ^ /@keyboardMode@/: 'True' if the tooltip was triggered using the keyboard -}
+    -> Gtk.Tooltip.Tooltip
+    {- ^ /@tooltip@/: a 'GI.Gtk.Objects.Tooltip.Tooltip' -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if /@tooltip@/ should be shown right now, 'False' otherwise. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetQueryTooltipCallback`@.
+noWidgetQueryTooltipCallback :: Maybe WidgetQueryTooltipCallback
+noWidgetQueryTooltipCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetQueryTooltipCallback =
+    Ptr () ->                               -- object
+    Int32 ->
+    Int32 ->
+    CInt ->
+    Ptr Gtk.Tooltip.Tooltip ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetQueryTooltipCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetQueryTooltipCallback :: C_WidgetQueryTooltipCallback -> IO (FunPtr C_WidgetQueryTooltipCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetQueryTooltip :: MonadIO m => WidgetQueryTooltipCallback -> m (GClosure C_WidgetQueryTooltipCallback)
+genClosure_WidgetQueryTooltip cb = liftIO $ do
+    let cb' = wrap_WidgetQueryTooltipCallback cb
+    mk_WidgetQueryTooltipCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetQueryTooltipCallback` into a `C_WidgetQueryTooltipCallback`.
+wrap_WidgetQueryTooltipCallback ::
+    WidgetQueryTooltipCallback ->
+    C_WidgetQueryTooltipCallback
+wrap_WidgetQueryTooltipCallback _cb _ x y keyboardMode tooltip _ = do
+    let keyboardMode' = (/= 0) keyboardMode
+    tooltip' <- (newObject Gtk.Tooltip.Tooltip) tooltip
+    result <- _cb  x y keyboardMode' tooltip'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@query-tooltip@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #queryTooltip callback
+@
+-}
+onWidgetQueryTooltip :: (IsWidget a, MonadIO m) => a -> WidgetQueryTooltipCallback -> m SignalHandlerId
+onWidgetQueryTooltip obj cb = liftIO $ do
+    let cb' = wrap_WidgetQueryTooltipCallback cb
+    cb'' <- mk_WidgetQueryTooltipCallback cb'
+    connectSignalFunPtr obj "query-tooltip" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@query-tooltip@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #queryTooltip callback
+@
+-}
+afterWidgetQueryTooltip :: (IsWidget a, MonadIO m) => a -> WidgetQueryTooltipCallback -> m SignalHandlerId
+afterWidgetQueryTooltip obj cb = liftIO $ do
+    let cb' = wrap_WidgetQueryTooltipCallback cb
+    cb'' <- mk_WidgetQueryTooltipCallback cb'
+    connectSignalFunPtr obj "query-tooltip" cb'' SignalConnectAfter
+
+
+-- signal Widget::realize
+{- |
+The ::realize signal is emitted when /@widget@/ is associated with a
+'GI.Gdk.Objects.Window.Window', which means that 'GI.Gtk.Objects.Widget.widgetRealize' has been called or the
+widget has been mapped (that is, it is going to be drawn).
+-}
+type WidgetRealizeCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetRealizeCallback`@.
+noWidgetRealizeCallback :: Maybe WidgetRealizeCallback
+noWidgetRealizeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetRealizeCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetRealizeCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetRealizeCallback :: C_WidgetRealizeCallback -> IO (FunPtr C_WidgetRealizeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetRealize :: MonadIO m => WidgetRealizeCallback -> m (GClosure C_WidgetRealizeCallback)
+genClosure_WidgetRealize cb = liftIO $ do
+    let cb' = wrap_WidgetRealizeCallback cb
+    mk_WidgetRealizeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetRealizeCallback` into a `C_WidgetRealizeCallback`.
+wrap_WidgetRealizeCallback ::
+    WidgetRealizeCallback ->
+    C_WidgetRealizeCallback
+wrap_WidgetRealizeCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@realize@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #realize callback
+@
+-}
+onWidgetRealize :: (IsWidget a, MonadIO m) => a -> WidgetRealizeCallback -> m SignalHandlerId
+onWidgetRealize obj cb = liftIO $ do
+    let cb' = wrap_WidgetRealizeCallback cb
+    cb'' <- mk_WidgetRealizeCallback cb'
+    connectSignalFunPtr obj "realize" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@realize@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #realize callback
+@
+-}
+afterWidgetRealize :: (IsWidget a, MonadIO m) => a -> WidgetRealizeCallback -> m SignalHandlerId
+afterWidgetRealize obj cb = liftIO $ do
+    let cb' = wrap_WidgetRealizeCallback cb
+    cb'' <- mk_WidgetRealizeCallback cb'
+    connectSignalFunPtr obj "realize" cb'' SignalConnectAfter
+
+
+-- signal Widget::screen-changed
+{- |
+The ::screen-changed signal gets emitted when the
+screen of a widget has changed.
+-}
+type WidgetScreenChangedCallback =
+    Maybe Gdk.Screen.Screen
+    {- ^ /@previousScreen@/: the previous screen, or 'Nothing' if the
+  widget was not associated with a screen before -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetScreenChangedCallback`@.
+noWidgetScreenChangedCallback :: Maybe WidgetScreenChangedCallback
+noWidgetScreenChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetScreenChangedCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.Screen.Screen ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetScreenChangedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetScreenChangedCallback :: C_WidgetScreenChangedCallback -> IO (FunPtr C_WidgetScreenChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetScreenChanged :: MonadIO m => WidgetScreenChangedCallback -> m (GClosure C_WidgetScreenChangedCallback)
+genClosure_WidgetScreenChanged cb = liftIO $ do
+    let cb' = wrap_WidgetScreenChangedCallback cb
+    mk_WidgetScreenChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetScreenChangedCallback` into a `C_WidgetScreenChangedCallback`.
+wrap_WidgetScreenChangedCallback ::
+    WidgetScreenChangedCallback ->
+    C_WidgetScreenChangedCallback
+wrap_WidgetScreenChangedCallback _cb _ previousScreen _ = do
+    maybePreviousScreen <-
+        if previousScreen == nullPtr
+        then return Nothing
+        else do
+            previousScreen' <- (newObject Gdk.Screen.Screen) previousScreen
+            return $ Just previousScreen'
+    _cb  maybePreviousScreen
+
+
+{- |
+Connect a signal handler for the “@screen-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #screenChanged callback
+@
+-}
+onWidgetScreenChanged :: (IsWidget a, MonadIO m) => a -> WidgetScreenChangedCallback -> m SignalHandlerId
+onWidgetScreenChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetScreenChangedCallback cb
+    cb'' <- mk_WidgetScreenChangedCallback cb'
+    connectSignalFunPtr obj "screen-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@screen-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #screenChanged callback
+@
+-}
+afterWidgetScreenChanged :: (IsWidget a, MonadIO m) => a -> WidgetScreenChangedCallback -> m SignalHandlerId
+afterWidgetScreenChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetScreenChangedCallback cb
+    cb'' <- mk_WidgetScreenChangedCallback cb'
+    connectSignalFunPtr obj "screen-changed" cb'' SignalConnectAfter
+
+
+-- signal Widget::scroll-event
+{- |
+The ::scroll-event signal is emitted when a button in the 4 to 7
+range is pressed. Wheel mice are usually configured to generate
+button press events for buttons 4 and 5 when the wheel is turned.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_SCROLL_MASK/@ mask.
+
+This signal will be sent to the grab widget if there is one.
+-}
+type WidgetScrollEventCallback =
+    Gdk.EventScroll.EventScroll
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventScroll.EventScroll' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetScrollEventCallback`@.
+noWidgetScrollEventCallback :: Maybe WidgetScrollEventCallback
+noWidgetScrollEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetScrollEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventScroll.EventScroll ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetScrollEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetScrollEventCallback :: C_WidgetScrollEventCallback -> IO (FunPtr C_WidgetScrollEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetScrollEvent :: MonadIO m => WidgetScrollEventCallback -> m (GClosure C_WidgetScrollEventCallback)
+genClosure_WidgetScrollEvent cb = liftIO $ do
+    let cb' = wrap_WidgetScrollEventCallback cb
+    mk_WidgetScrollEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetScrollEventCallback` into a `C_WidgetScrollEventCallback`.
+wrap_WidgetScrollEventCallback ::
+    WidgetScrollEventCallback ->
+    C_WidgetScrollEventCallback
+wrap_WidgetScrollEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventScroll.EventScroll) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@scroll-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #scrollEvent callback
+@
+-}
+onWidgetScrollEvent :: (IsWidget a, MonadIO m) => a -> WidgetScrollEventCallback -> m SignalHandlerId
+onWidgetScrollEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetScrollEventCallback cb
+    cb'' <- mk_WidgetScrollEventCallback cb'
+    connectSignalFunPtr obj "scroll-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@scroll-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #scrollEvent callback
+@
+-}
+afterWidgetScrollEvent :: (IsWidget a, MonadIO m) => a -> WidgetScrollEventCallback -> m SignalHandlerId
+afterWidgetScrollEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetScrollEventCallback cb
+    cb'' <- mk_WidgetScrollEventCallback cb'
+    connectSignalFunPtr obj "scroll-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::selection-clear-event
+{- |
+The ::selection-clear-event signal will be emitted when the
+the /@widget@/\'s window has lost ownership of a selection.
+-}
+type WidgetSelectionClearEventCallback =
+    Gdk.EventSelection.EventSelection
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventSelection.EventSelection' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetSelectionClearEventCallback`@.
+noWidgetSelectionClearEventCallback :: Maybe WidgetSelectionClearEventCallback
+noWidgetSelectionClearEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetSelectionClearEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventSelection.EventSelection ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetSelectionClearEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetSelectionClearEventCallback :: C_WidgetSelectionClearEventCallback -> IO (FunPtr C_WidgetSelectionClearEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetSelectionClearEvent :: MonadIO m => WidgetSelectionClearEventCallback -> m (GClosure C_WidgetSelectionClearEventCallback)
+genClosure_WidgetSelectionClearEvent cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionClearEventCallback cb
+    mk_WidgetSelectionClearEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetSelectionClearEventCallback` into a `C_WidgetSelectionClearEventCallback`.
+wrap_WidgetSelectionClearEventCallback ::
+    WidgetSelectionClearEventCallback ->
+    C_WidgetSelectionClearEventCallback
+wrap_WidgetSelectionClearEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventSelection.EventSelection) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@selection-clear-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #selectionClearEvent callback
+@
+-}
+onWidgetSelectionClearEvent :: (IsWidget a, MonadIO m) => a -> WidgetSelectionClearEventCallback -> m SignalHandlerId
+onWidgetSelectionClearEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionClearEventCallback cb
+    cb'' <- mk_WidgetSelectionClearEventCallback cb'
+    connectSignalFunPtr obj "selection-clear-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selection-clear-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #selectionClearEvent callback
+@
+-}
+afterWidgetSelectionClearEvent :: (IsWidget a, MonadIO m) => a -> WidgetSelectionClearEventCallback -> m SignalHandlerId
+afterWidgetSelectionClearEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionClearEventCallback cb
+    cb'' <- mk_WidgetSelectionClearEventCallback cb'
+    connectSignalFunPtr obj "selection-clear-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::selection-get
+{- |
+/No description available in the introspection data./
+-}
+type WidgetSelectionGetCallback =
+    Gtk.SelectionData.SelectionData
+    -> Word32
+    -> Word32
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetSelectionGetCallback`@.
+noWidgetSelectionGetCallback :: Maybe WidgetSelectionGetCallback
+noWidgetSelectionGetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetSelectionGetCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.SelectionData.SelectionData ->
+    Word32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetSelectionGetCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetSelectionGetCallback :: C_WidgetSelectionGetCallback -> IO (FunPtr C_WidgetSelectionGetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetSelectionGet :: MonadIO m => WidgetSelectionGetCallback -> m (GClosure C_WidgetSelectionGetCallback)
+genClosure_WidgetSelectionGet cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionGetCallback cb
+    mk_WidgetSelectionGetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetSelectionGetCallback` into a `C_WidgetSelectionGetCallback`.
+wrap_WidgetSelectionGetCallback ::
+    WidgetSelectionGetCallback ->
+    C_WidgetSelectionGetCallback
+wrap_WidgetSelectionGetCallback _cb _ data_ info time _ = do
+    B.ManagedPtr.withTransient Gtk.SelectionData.SelectionData data_ $ \data_' -> do
+        _cb  data_' info time
+
+
+{- |
+Connect a signal handler for the “@selection-get@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #selectionGet callback
+@
+-}
+onWidgetSelectionGet :: (IsWidget a, MonadIO m) => a -> WidgetSelectionGetCallback -> m SignalHandlerId
+onWidgetSelectionGet obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionGetCallback cb
+    cb'' <- mk_WidgetSelectionGetCallback cb'
+    connectSignalFunPtr obj "selection-get" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selection-get@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #selectionGet callback
+@
+-}
+afterWidgetSelectionGet :: (IsWidget a, MonadIO m) => a -> WidgetSelectionGetCallback -> m SignalHandlerId
+afterWidgetSelectionGet obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionGetCallback cb
+    cb'' <- mk_WidgetSelectionGetCallback cb'
+    connectSignalFunPtr obj "selection-get" cb'' SignalConnectAfter
+
+
+-- signal Widget::selection-notify-event
+{- |
+/No description available in the introspection data./
+-}
+type WidgetSelectionNotifyEventCallback =
+    Gdk.EventSelection.EventSelection
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event. 'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetSelectionNotifyEventCallback`@.
+noWidgetSelectionNotifyEventCallback :: Maybe WidgetSelectionNotifyEventCallback
+noWidgetSelectionNotifyEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetSelectionNotifyEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventSelection.EventSelection ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetSelectionNotifyEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetSelectionNotifyEventCallback :: C_WidgetSelectionNotifyEventCallback -> IO (FunPtr C_WidgetSelectionNotifyEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetSelectionNotifyEvent :: MonadIO m => WidgetSelectionNotifyEventCallback -> m (GClosure C_WidgetSelectionNotifyEventCallback)
+genClosure_WidgetSelectionNotifyEvent cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionNotifyEventCallback cb
+    mk_WidgetSelectionNotifyEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetSelectionNotifyEventCallback` into a `C_WidgetSelectionNotifyEventCallback`.
+wrap_WidgetSelectionNotifyEventCallback ::
+    WidgetSelectionNotifyEventCallback ->
+    C_WidgetSelectionNotifyEventCallback
+wrap_WidgetSelectionNotifyEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventSelection.EventSelection) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@selection-notify-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #selectionNotifyEvent callback
+@
+-}
+onWidgetSelectionNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetSelectionNotifyEventCallback -> m SignalHandlerId
+onWidgetSelectionNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionNotifyEventCallback cb
+    cb'' <- mk_WidgetSelectionNotifyEventCallback cb'
+    connectSignalFunPtr obj "selection-notify-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selection-notify-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #selectionNotifyEvent callback
+@
+-}
+afterWidgetSelectionNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetSelectionNotifyEventCallback -> m SignalHandlerId
+afterWidgetSelectionNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionNotifyEventCallback cb
+    cb'' <- mk_WidgetSelectionNotifyEventCallback cb'
+    connectSignalFunPtr obj "selection-notify-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::selection-received
+{- |
+/No description available in the introspection data./
+-}
+type WidgetSelectionReceivedCallback =
+    Gtk.SelectionData.SelectionData
+    -> Word32
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetSelectionReceivedCallback`@.
+noWidgetSelectionReceivedCallback :: Maybe WidgetSelectionReceivedCallback
+noWidgetSelectionReceivedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetSelectionReceivedCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.SelectionData.SelectionData ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetSelectionReceivedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetSelectionReceivedCallback :: C_WidgetSelectionReceivedCallback -> IO (FunPtr C_WidgetSelectionReceivedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetSelectionReceived :: MonadIO m => WidgetSelectionReceivedCallback -> m (GClosure C_WidgetSelectionReceivedCallback)
+genClosure_WidgetSelectionReceived cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionReceivedCallback cb
+    mk_WidgetSelectionReceivedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetSelectionReceivedCallback` into a `C_WidgetSelectionReceivedCallback`.
+wrap_WidgetSelectionReceivedCallback ::
+    WidgetSelectionReceivedCallback ->
+    C_WidgetSelectionReceivedCallback
+wrap_WidgetSelectionReceivedCallback _cb _ data_ time _ = do
+    B.ManagedPtr.withTransient Gtk.SelectionData.SelectionData data_ $ \data_' -> do
+        _cb  data_' time
+
+
+{- |
+Connect a signal handler for the “@selection-received@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #selectionReceived callback
+@
+-}
+onWidgetSelectionReceived :: (IsWidget a, MonadIO m) => a -> WidgetSelectionReceivedCallback -> m SignalHandlerId
+onWidgetSelectionReceived obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionReceivedCallback cb
+    cb'' <- mk_WidgetSelectionReceivedCallback cb'
+    connectSignalFunPtr obj "selection-received" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selection-received@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #selectionReceived callback
+@
+-}
+afterWidgetSelectionReceived :: (IsWidget a, MonadIO m) => a -> WidgetSelectionReceivedCallback -> m SignalHandlerId
+afterWidgetSelectionReceived obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionReceivedCallback cb
+    cb'' <- mk_WidgetSelectionReceivedCallback cb'
+    connectSignalFunPtr obj "selection-received" cb'' SignalConnectAfter
+
+
+-- signal Widget::selection-request-event
+{- |
+The ::selection-request-event signal will be emitted when
+another client requests ownership of the selection owned by
+the /@widget@/\'s window.
+-}
+type WidgetSelectionRequestEventCallback =
+    Gdk.EventSelection.EventSelection
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventSelection.EventSelection' which triggered
+  this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetSelectionRequestEventCallback`@.
+noWidgetSelectionRequestEventCallback :: Maybe WidgetSelectionRequestEventCallback
+noWidgetSelectionRequestEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetSelectionRequestEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventSelection.EventSelection ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetSelectionRequestEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetSelectionRequestEventCallback :: C_WidgetSelectionRequestEventCallback -> IO (FunPtr C_WidgetSelectionRequestEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetSelectionRequestEvent :: MonadIO m => WidgetSelectionRequestEventCallback -> m (GClosure C_WidgetSelectionRequestEventCallback)
+genClosure_WidgetSelectionRequestEvent cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionRequestEventCallback cb
+    mk_WidgetSelectionRequestEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetSelectionRequestEventCallback` into a `C_WidgetSelectionRequestEventCallback`.
+wrap_WidgetSelectionRequestEventCallback ::
+    WidgetSelectionRequestEventCallback ->
+    C_WidgetSelectionRequestEventCallback
+wrap_WidgetSelectionRequestEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventSelection.EventSelection) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@selection-request-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #selectionRequestEvent callback
+@
+-}
+onWidgetSelectionRequestEvent :: (IsWidget a, MonadIO m) => a -> WidgetSelectionRequestEventCallback -> m SignalHandlerId
+onWidgetSelectionRequestEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionRequestEventCallback cb
+    cb'' <- mk_WidgetSelectionRequestEventCallback cb'
+    connectSignalFunPtr obj "selection-request-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@selection-request-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #selectionRequestEvent callback
+@
+-}
+afterWidgetSelectionRequestEvent :: (IsWidget a, MonadIO m) => a -> WidgetSelectionRequestEventCallback -> m SignalHandlerId
+afterWidgetSelectionRequestEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetSelectionRequestEventCallback cb
+    cb'' <- mk_WidgetSelectionRequestEventCallback cb'
+    connectSignalFunPtr obj "selection-request-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::show
+{- |
+The ::show signal is emitted when /@widget@/ is shown, for example with
+'GI.Gtk.Objects.Widget.widgetShow'.
+-}
+type WidgetShowCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetShowCallback`@.
+noWidgetShowCallback :: Maybe WidgetShowCallback
+noWidgetShowCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetShowCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetShowCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetShowCallback :: C_WidgetShowCallback -> IO (FunPtr C_WidgetShowCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetShow :: MonadIO m => WidgetShowCallback -> m (GClosure C_WidgetShowCallback)
+genClosure_WidgetShow cb = liftIO $ do
+    let cb' = wrap_WidgetShowCallback cb
+    mk_WidgetShowCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetShowCallback` into a `C_WidgetShowCallback`.
+wrap_WidgetShowCallback ::
+    WidgetShowCallback ->
+    C_WidgetShowCallback
+wrap_WidgetShowCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@show@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #show callback
+@
+-}
+onWidgetShow :: (IsWidget a, MonadIO m) => a -> WidgetShowCallback -> m SignalHandlerId
+onWidgetShow obj cb = liftIO $ do
+    let cb' = wrap_WidgetShowCallback cb
+    cb'' <- mk_WidgetShowCallback cb'
+    connectSignalFunPtr obj "show" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #show callback
+@
+-}
+afterWidgetShow :: (IsWidget a, MonadIO m) => a -> WidgetShowCallback -> m SignalHandlerId
+afterWidgetShow obj cb = liftIO $ do
+    let cb' = wrap_WidgetShowCallback cb
+    cb'' <- mk_WidgetShowCallback cb'
+    connectSignalFunPtr obj "show" cb'' SignalConnectAfter
+
+
+-- signal Widget::show-help
+{- |
+/No description available in the introspection data./
+-}
+type WidgetShowHelpCallback =
+    Gtk.Enums.WidgetHelpType
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetShowHelpCallback`@.
+noWidgetShowHelpCallback :: Maybe WidgetShowHelpCallback
+noWidgetShowHelpCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetShowHelpCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetShowHelpCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetShowHelpCallback :: C_WidgetShowHelpCallback -> IO (FunPtr C_WidgetShowHelpCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetShowHelp :: MonadIO m => WidgetShowHelpCallback -> m (GClosure C_WidgetShowHelpCallback)
+genClosure_WidgetShowHelp cb = liftIO $ do
+    let cb' = wrap_WidgetShowHelpCallback cb
+    mk_WidgetShowHelpCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetShowHelpCallback` into a `C_WidgetShowHelpCallback`.
+wrap_WidgetShowHelpCallback ::
+    WidgetShowHelpCallback ->
+    C_WidgetShowHelpCallback
+wrap_WidgetShowHelpCallback _cb _ helpType _ = do
+    let helpType' = (toEnum . fromIntegral) helpType
+    result <- _cb  helpType'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@show-help@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #showHelp callback
+@
+-}
+onWidgetShowHelp :: (IsWidget a, MonadIO m) => a -> WidgetShowHelpCallback -> m SignalHandlerId
+onWidgetShowHelp obj cb = liftIO $ do
+    let cb' = wrap_WidgetShowHelpCallback cb
+    cb'' <- mk_WidgetShowHelpCallback cb'
+    connectSignalFunPtr obj "show-help" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@show-help@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #showHelp callback
+@
+-}
+afterWidgetShowHelp :: (IsWidget a, MonadIO m) => a -> WidgetShowHelpCallback -> m SignalHandlerId
+afterWidgetShowHelp obj cb = liftIO $ do
+    let cb' = wrap_WidgetShowHelpCallback cb
+    cb'' <- mk_WidgetShowHelpCallback cb'
+    connectSignalFunPtr obj "show-help" cb'' SignalConnectAfter
+
+
+-- signal Widget::size-allocate
+{- |
+/No description available in the introspection data./
+-}
+type WidgetSizeAllocateCallback =
+    Gdk.Rectangle.Rectangle
+    {- ^ /@allocation@/: the region which has been
+  allocated to the widget. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetSizeAllocateCallback`@.
+noWidgetSizeAllocateCallback :: Maybe WidgetSizeAllocateCallback
+noWidgetSizeAllocateCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetSizeAllocateCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.Rectangle.Rectangle ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetSizeAllocateCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetSizeAllocateCallback :: C_WidgetSizeAllocateCallback -> IO (FunPtr C_WidgetSizeAllocateCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetSizeAllocate :: MonadIO m => WidgetSizeAllocateCallback -> m (GClosure C_WidgetSizeAllocateCallback)
+genClosure_WidgetSizeAllocate cb = liftIO $ do
+    let cb' = wrap_WidgetSizeAllocateCallback cb
+    mk_WidgetSizeAllocateCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetSizeAllocateCallback` into a `C_WidgetSizeAllocateCallback`.
+wrap_WidgetSizeAllocateCallback ::
+    WidgetSizeAllocateCallback ->
+    C_WidgetSizeAllocateCallback
+wrap_WidgetSizeAllocateCallback _cb _ allocation _ = do
+    B.ManagedPtr.withTransient Gdk.Rectangle.Rectangle allocation $ \allocation' -> do
+        _cb  allocation'
+
+
+{- |
+Connect a signal handler for the “@size-allocate@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #sizeAllocate callback
+@
+-}
+onWidgetSizeAllocate :: (IsWidget a, MonadIO m) => a -> WidgetSizeAllocateCallback -> m SignalHandlerId
+onWidgetSizeAllocate obj cb = liftIO $ do
+    let cb' = wrap_WidgetSizeAllocateCallback cb
+    cb'' <- mk_WidgetSizeAllocateCallback cb'
+    connectSignalFunPtr obj "size-allocate" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@size-allocate@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #sizeAllocate callback
+@
+-}
+afterWidgetSizeAllocate :: (IsWidget a, MonadIO m) => a -> WidgetSizeAllocateCallback -> m SignalHandlerId
+afterWidgetSizeAllocate obj cb = liftIO $ do
+    let cb' = wrap_WidgetSizeAllocateCallback cb
+    cb'' <- mk_WidgetSizeAllocateCallback cb'
+    connectSignalFunPtr obj "size-allocate" cb'' SignalConnectAfter
+
+
+-- signal Widget::state-changed
+{-# DEPRECATED WidgetStateChangedCallback ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.Widget'::@/state-flags-changed/@ instead."] #-}
+{- |
+The ::state-changed signal is emitted when the widget state changes.
+See 'GI.Gtk.Objects.Widget.widgetGetState'.
+-}
+type WidgetStateChangedCallback =
+    Gtk.Enums.StateType
+    {- ^ /@state@/: the previous state -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetStateChangedCallback`@.
+noWidgetStateChangedCallback :: Maybe WidgetStateChangedCallback
+noWidgetStateChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetStateChangedCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetStateChangedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetStateChangedCallback :: C_WidgetStateChangedCallback -> IO (FunPtr C_WidgetStateChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetStateChanged :: MonadIO m => WidgetStateChangedCallback -> m (GClosure C_WidgetStateChangedCallback)
+genClosure_WidgetStateChanged cb = liftIO $ do
+    let cb' = wrap_WidgetStateChangedCallback cb
+    mk_WidgetStateChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetStateChangedCallback` into a `C_WidgetStateChangedCallback`.
+wrap_WidgetStateChangedCallback ::
+    WidgetStateChangedCallback ->
+    C_WidgetStateChangedCallback
+wrap_WidgetStateChangedCallback _cb _ state _ = do
+    let state' = (toEnum . fromIntegral) state
+    _cb  state'
+
+
+{- |
+Connect a signal handler for the “@state-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #stateChanged callback
+@
+-}
+onWidgetStateChanged :: (IsWidget a, MonadIO m) => a -> WidgetStateChangedCallback -> m SignalHandlerId
+onWidgetStateChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetStateChangedCallback cb
+    cb'' <- mk_WidgetStateChangedCallback cb'
+    connectSignalFunPtr obj "state-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@state-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #stateChanged callback
+@
+-}
+afterWidgetStateChanged :: (IsWidget a, MonadIO m) => a -> WidgetStateChangedCallback -> m SignalHandlerId
+afterWidgetStateChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetStateChangedCallback cb
+    cb'' <- mk_WidgetStateChangedCallback cb'
+    connectSignalFunPtr obj "state-changed" cb'' SignalConnectAfter
+
+
+-- signal Widget::state-flags-changed
+{- |
+The ::state-flags-changed signal is emitted when the widget state
+changes, see 'GI.Gtk.Objects.Widget.widgetGetStateFlags'.
+
+/Since: 3.0/
+-}
+type WidgetStateFlagsChangedCallback =
+    [Gtk.Flags.StateFlags]
+    {- ^ /@flags@/: The previous state flags. -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetStateFlagsChangedCallback`@.
+noWidgetStateFlagsChangedCallback :: Maybe WidgetStateFlagsChangedCallback
+noWidgetStateFlagsChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetStateFlagsChangedCallback =
+    Ptr () ->                               -- object
+    CUInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetStateFlagsChangedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetStateFlagsChangedCallback :: C_WidgetStateFlagsChangedCallback -> IO (FunPtr C_WidgetStateFlagsChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetStateFlagsChanged :: MonadIO m => WidgetStateFlagsChangedCallback -> m (GClosure C_WidgetStateFlagsChangedCallback)
+genClosure_WidgetStateFlagsChanged cb = liftIO $ do
+    let cb' = wrap_WidgetStateFlagsChangedCallback cb
+    mk_WidgetStateFlagsChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetStateFlagsChangedCallback` into a `C_WidgetStateFlagsChangedCallback`.
+wrap_WidgetStateFlagsChangedCallback ::
+    WidgetStateFlagsChangedCallback ->
+    C_WidgetStateFlagsChangedCallback
+wrap_WidgetStateFlagsChangedCallback _cb _ flags _ = do
+    let flags' = wordToGFlags flags
+    _cb  flags'
+
+
+{- |
+Connect a signal handler for the “@state-flags-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #stateFlagsChanged callback
+@
+-}
+onWidgetStateFlagsChanged :: (IsWidget a, MonadIO m) => a -> WidgetStateFlagsChangedCallback -> m SignalHandlerId
+onWidgetStateFlagsChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetStateFlagsChangedCallback cb
+    cb'' <- mk_WidgetStateFlagsChangedCallback cb'
+    connectSignalFunPtr obj "state-flags-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@state-flags-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #stateFlagsChanged callback
+@
+-}
+afterWidgetStateFlagsChanged :: (IsWidget a, MonadIO m) => a -> WidgetStateFlagsChangedCallback -> m SignalHandlerId
+afterWidgetStateFlagsChanged obj cb = liftIO $ do
+    let cb' = wrap_WidgetStateFlagsChangedCallback cb
+    cb'' <- mk_WidgetStateFlagsChangedCallback cb'
+    connectSignalFunPtr obj "state-flags-changed" cb'' SignalConnectAfter
+
+
+-- signal Widget::style-set
+{-# DEPRECATED WidgetStyleSetCallback ["(Since version 3.0)","Use the 'GI.Gtk.Objects.Widget.Widget'::@/style-updated/@ signal"] #-}
+{- |
+The ::style-set signal is emitted when a new style has been set
+on a widget. Note that style-modifying functions like
+'GI.Gtk.Objects.Widget.widgetModifyBase' also cause this signal to be emitted.
+
+Note that this signal is emitted for changes to the deprecated
+'GI.Gtk.Objects.Style.Style'. To track changes to the 'GI.Gtk.Objects.StyleContext.StyleContext' associated
+with a widget, use the 'GI.Gtk.Objects.Widget.Widget'::@/style-updated/@ signal.
+-}
+type WidgetStyleSetCallback =
+    Maybe Gtk.Style.Style
+    {- ^ /@previousStyle@/: the previous style, or 'Nothing' if the widget
+  just got its initial style -}
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetStyleSetCallback`@.
+noWidgetStyleSetCallback :: Maybe WidgetStyleSetCallback
+noWidgetStyleSetCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetStyleSetCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Style.Style ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetStyleSetCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetStyleSetCallback :: C_WidgetStyleSetCallback -> IO (FunPtr C_WidgetStyleSetCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetStyleSet :: MonadIO m => WidgetStyleSetCallback -> m (GClosure C_WidgetStyleSetCallback)
+genClosure_WidgetStyleSet cb = liftIO $ do
+    let cb' = wrap_WidgetStyleSetCallback cb
+    mk_WidgetStyleSetCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetStyleSetCallback` into a `C_WidgetStyleSetCallback`.
+wrap_WidgetStyleSetCallback ::
+    WidgetStyleSetCallback ->
+    C_WidgetStyleSetCallback
+wrap_WidgetStyleSetCallback _cb _ previousStyle _ = do
+    maybePreviousStyle <-
+        if previousStyle == nullPtr
+        then return Nothing
+        else do
+            previousStyle' <- (newObject Gtk.Style.Style) previousStyle
+            return $ Just previousStyle'
+    _cb  maybePreviousStyle
+
+
+{- |
+Connect a signal handler for the “@style-set@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #styleSet callback
+@
+-}
+onWidgetStyleSet :: (IsWidget a, MonadIO m) => a -> WidgetStyleSetCallback -> m SignalHandlerId
+onWidgetStyleSet obj cb = liftIO $ do
+    let cb' = wrap_WidgetStyleSetCallback cb
+    cb'' <- mk_WidgetStyleSetCallback cb'
+    connectSignalFunPtr obj "style-set" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@style-set@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #styleSet callback
+@
+-}
+afterWidgetStyleSet :: (IsWidget a, MonadIO m) => a -> WidgetStyleSetCallback -> m SignalHandlerId
+afterWidgetStyleSet obj cb = liftIO $ do
+    let cb' = wrap_WidgetStyleSetCallback cb
+    cb'' <- mk_WidgetStyleSetCallback cb'
+    connectSignalFunPtr obj "style-set" cb'' SignalConnectAfter
+
+
+-- signal Widget::style-updated
+{- |
+The ::style-updated signal is a convenience signal that is emitted when the
+'GI.Gtk.Objects.StyleContext.StyleContext'::@/changed/@ signal is emitted on the /@widget@/\'s associated
+'GI.Gtk.Objects.StyleContext.StyleContext' as returned by 'GI.Gtk.Objects.Widget.widgetGetStyleContext'.
+
+Note that style-modifying functions like 'GI.Gtk.Objects.Widget.widgetOverrideColor' also
+cause this signal to be emitted.
+
+/Since: 3.0/
+-}
+type WidgetStyleUpdatedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetStyleUpdatedCallback`@.
+noWidgetStyleUpdatedCallback :: Maybe WidgetStyleUpdatedCallback
+noWidgetStyleUpdatedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetStyleUpdatedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetStyleUpdatedCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetStyleUpdatedCallback :: C_WidgetStyleUpdatedCallback -> IO (FunPtr C_WidgetStyleUpdatedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetStyleUpdated :: MonadIO m => WidgetStyleUpdatedCallback -> m (GClosure C_WidgetStyleUpdatedCallback)
+genClosure_WidgetStyleUpdated cb = liftIO $ do
+    let cb' = wrap_WidgetStyleUpdatedCallback cb
+    mk_WidgetStyleUpdatedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetStyleUpdatedCallback` into a `C_WidgetStyleUpdatedCallback`.
+wrap_WidgetStyleUpdatedCallback ::
+    WidgetStyleUpdatedCallback ->
+    C_WidgetStyleUpdatedCallback
+wrap_WidgetStyleUpdatedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@style-updated@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #styleUpdated callback
+@
+-}
+onWidgetStyleUpdated :: (IsWidget a, MonadIO m) => a -> WidgetStyleUpdatedCallback -> m SignalHandlerId
+onWidgetStyleUpdated obj cb = liftIO $ do
+    let cb' = wrap_WidgetStyleUpdatedCallback cb
+    cb'' <- mk_WidgetStyleUpdatedCallback cb'
+    connectSignalFunPtr obj "style-updated" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@style-updated@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #styleUpdated callback
+@
+-}
+afterWidgetStyleUpdated :: (IsWidget a, MonadIO m) => a -> WidgetStyleUpdatedCallback -> m SignalHandlerId
+afterWidgetStyleUpdated obj cb = liftIO $ do
+    let cb' = wrap_WidgetStyleUpdatedCallback cb
+    cb'' <- mk_WidgetStyleUpdatedCallback cb'
+    connectSignalFunPtr obj "style-updated" cb'' SignalConnectAfter
+
+
+-- signal Widget::touch-event
+{- |
+/No description available in the introspection data./
+-}
+type WidgetTouchEventCallback =
+    Gdk.Event.Event
+    -> IO Bool
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetTouchEventCallback`@.
+noWidgetTouchEventCallback :: Maybe WidgetTouchEventCallback
+noWidgetTouchEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetTouchEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.Event.Event ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetTouchEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetTouchEventCallback :: C_WidgetTouchEventCallback -> IO (FunPtr C_WidgetTouchEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetTouchEvent :: MonadIO m => WidgetTouchEventCallback -> m (GClosure C_WidgetTouchEventCallback)
+genClosure_WidgetTouchEvent cb = liftIO $ do
+    let cb' = wrap_WidgetTouchEventCallback cb
+    mk_WidgetTouchEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetTouchEventCallback` into a `C_WidgetTouchEventCallback`.
+wrap_WidgetTouchEventCallback ::
+    WidgetTouchEventCallback ->
+    C_WidgetTouchEventCallback
+wrap_WidgetTouchEventCallback _cb _ object _ = do
+    B.ManagedPtr.withTransient Gdk.Event.Event object $ \object' -> do
+        result <- _cb  object'
+        let result' = (fromIntegral . fromEnum) result
+        return result'
+
+
+{- |
+Connect a signal handler for the “@touch-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #touchEvent callback
+@
+-}
+onWidgetTouchEvent :: (IsWidget a, MonadIO m) => a -> WidgetTouchEventCallback -> m SignalHandlerId
+onWidgetTouchEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetTouchEventCallback cb
+    cb'' <- mk_WidgetTouchEventCallback cb'
+    connectSignalFunPtr obj "touch-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@touch-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #touchEvent callback
+@
+-}
+afterWidgetTouchEvent :: (IsWidget a, MonadIO m) => a -> WidgetTouchEventCallback -> m SignalHandlerId
+afterWidgetTouchEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetTouchEventCallback cb
+    cb'' <- mk_WidgetTouchEventCallback cb'
+    connectSignalFunPtr obj "touch-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::unmap
+{- |
+The ::unmap signal is emitted when /@widget@/ is going to be unmapped, which
+means that either it or any of its parents up to the toplevel widget have
+been set as hidden.
+
+As ::unmap indicates that a widget will not be shown any longer, it can be
+used to, for example, stop an animation on the widget.
+-}
+type WidgetUnmapCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetUnmapCallback`@.
+noWidgetUnmapCallback :: Maybe WidgetUnmapCallback
+noWidgetUnmapCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetUnmapCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetUnmapCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetUnmapCallback :: C_WidgetUnmapCallback -> IO (FunPtr C_WidgetUnmapCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetUnmap :: MonadIO m => WidgetUnmapCallback -> m (GClosure C_WidgetUnmapCallback)
+genClosure_WidgetUnmap cb = liftIO $ do
+    let cb' = wrap_WidgetUnmapCallback cb
+    mk_WidgetUnmapCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetUnmapCallback` into a `C_WidgetUnmapCallback`.
+wrap_WidgetUnmapCallback ::
+    WidgetUnmapCallback ->
+    C_WidgetUnmapCallback
+wrap_WidgetUnmapCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@unmap@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #unmap callback
+@
+-}
+onWidgetUnmap :: (IsWidget a, MonadIO m) => a -> WidgetUnmapCallback -> m SignalHandlerId
+onWidgetUnmap obj cb = liftIO $ do
+    let cb' = wrap_WidgetUnmapCallback cb
+    cb'' <- mk_WidgetUnmapCallback cb'
+    connectSignalFunPtr obj "unmap" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@unmap@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #unmap callback
+@
+-}
+afterWidgetUnmap :: (IsWidget a, MonadIO m) => a -> WidgetUnmapCallback -> m SignalHandlerId
+afterWidgetUnmap obj cb = liftIO $ do
+    let cb' = wrap_WidgetUnmapCallback cb
+    cb'' <- mk_WidgetUnmapCallback cb'
+    connectSignalFunPtr obj "unmap" cb'' SignalConnectAfter
+
+
+-- signal Widget::unmap-event
+{- |
+The ::unmap-event signal will be emitted when the /@widget@/\'s window is
+unmapped. A window is unmapped when it becomes invisible on the screen.
+
+To receive this signal, the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_STRUCTURE_MASK/@ mask. GDK will enable this mask
+automatically for all new windows.
+-}
+type WidgetUnmapEventCallback =
+    Gdk.EventAny.EventAny
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventAny.EventAny' which triggered this signal -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetUnmapEventCallback`@.
+noWidgetUnmapEventCallback :: Maybe WidgetUnmapEventCallback
+noWidgetUnmapEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetUnmapEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventAny.EventAny ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetUnmapEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetUnmapEventCallback :: C_WidgetUnmapEventCallback -> IO (FunPtr C_WidgetUnmapEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetUnmapEvent :: MonadIO m => WidgetUnmapEventCallback -> m (GClosure C_WidgetUnmapEventCallback)
+genClosure_WidgetUnmapEvent cb = liftIO $ do
+    let cb' = wrap_WidgetUnmapEventCallback cb
+    mk_WidgetUnmapEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetUnmapEventCallback` into a `C_WidgetUnmapEventCallback`.
+wrap_WidgetUnmapEventCallback ::
+    WidgetUnmapEventCallback ->
+    C_WidgetUnmapEventCallback
+wrap_WidgetUnmapEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventAny.EventAny) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@unmap-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #unmapEvent callback
+@
+-}
+onWidgetUnmapEvent :: (IsWidget a, MonadIO m) => a -> WidgetUnmapEventCallback -> m SignalHandlerId
+onWidgetUnmapEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetUnmapEventCallback cb
+    cb'' <- mk_WidgetUnmapEventCallback cb'
+    connectSignalFunPtr obj "unmap-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@unmap-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #unmapEvent callback
+@
+-}
+afterWidgetUnmapEvent :: (IsWidget a, MonadIO m) => a -> WidgetUnmapEventCallback -> m SignalHandlerId
+afterWidgetUnmapEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetUnmapEventCallback cb
+    cb'' <- mk_WidgetUnmapEventCallback cb'
+    connectSignalFunPtr obj "unmap-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::unrealize
+{- |
+The ::unrealize signal is emitted when the 'GI.Gdk.Objects.Window.Window' associated with
+/@widget@/ is destroyed, which means that 'GI.Gtk.Objects.Widget.widgetUnrealize' has been
+called or the widget has been unmapped (that is, it is going to be
+hidden).
+-}
+type WidgetUnrealizeCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetUnrealizeCallback`@.
+noWidgetUnrealizeCallback :: Maybe WidgetUnrealizeCallback
+noWidgetUnrealizeCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetUnrealizeCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetUnrealizeCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetUnrealizeCallback :: C_WidgetUnrealizeCallback -> IO (FunPtr C_WidgetUnrealizeCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetUnrealize :: MonadIO m => WidgetUnrealizeCallback -> m (GClosure C_WidgetUnrealizeCallback)
+genClosure_WidgetUnrealize cb = liftIO $ do
+    let cb' = wrap_WidgetUnrealizeCallback cb
+    mk_WidgetUnrealizeCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetUnrealizeCallback` into a `C_WidgetUnrealizeCallback`.
+wrap_WidgetUnrealizeCallback ::
+    WidgetUnrealizeCallback ->
+    C_WidgetUnrealizeCallback
+wrap_WidgetUnrealizeCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@unrealize@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #unrealize callback
+@
+-}
+onWidgetUnrealize :: (IsWidget a, MonadIO m) => a -> WidgetUnrealizeCallback -> m SignalHandlerId
+onWidgetUnrealize obj cb = liftIO $ do
+    let cb' = wrap_WidgetUnrealizeCallback cb
+    cb'' <- mk_WidgetUnrealizeCallback cb'
+    connectSignalFunPtr obj "unrealize" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@unrealize@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #unrealize callback
+@
+-}
+afterWidgetUnrealize :: (IsWidget a, MonadIO m) => a -> WidgetUnrealizeCallback -> m SignalHandlerId
+afterWidgetUnrealize obj cb = liftIO $ do
+    let cb' = wrap_WidgetUnrealizeCallback cb
+    cb'' <- mk_WidgetUnrealizeCallback cb'
+    connectSignalFunPtr obj "unrealize" cb'' SignalConnectAfter
+
+
+-- signal Widget::visibility-notify-event
+{-# DEPRECATED WidgetVisibilityNotifyEventCallback ["(Since version 3.12)","Modern composited windowing systems with pervasive","    transparency make it impossible to track the visibility of a window","    reliably, so this signal can not be guaranteed to provide useful","    information."] #-}
+{- |
+The ::visibility-notify-event will be emitted when the /@widget@/\'s
+window is obscured or unobscured.
+
+To receive this signal the 'GI.Gdk.Objects.Window.Window' associated to the widget needs
+to enable the @/GDK_VISIBILITY_NOTIFY_MASK/@ mask.
+-}
+type WidgetVisibilityNotifyEventCallback =
+    Gdk.EventVisibility.EventVisibility
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventVisibility.EventVisibility' which
+  triggered this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the event.
+  'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetVisibilityNotifyEventCallback`@.
+noWidgetVisibilityNotifyEventCallback :: Maybe WidgetVisibilityNotifyEventCallback
+noWidgetVisibilityNotifyEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetVisibilityNotifyEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventVisibility.EventVisibility ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetVisibilityNotifyEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetVisibilityNotifyEventCallback :: C_WidgetVisibilityNotifyEventCallback -> IO (FunPtr C_WidgetVisibilityNotifyEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetVisibilityNotifyEvent :: MonadIO m => WidgetVisibilityNotifyEventCallback -> m (GClosure C_WidgetVisibilityNotifyEventCallback)
+genClosure_WidgetVisibilityNotifyEvent cb = liftIO $ do
+    let cb' = wrap_WidgetVisibilityNotifyEventCallback cb
+    mk_WidgetVisibilityNotifyEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetVisibilityNotifyEventCallback` into a `C_WidgetVisibilityNotifyEventCallback`.
+wrap_WidgetVisibilityNotifyEventCallback ::
+    WidgetVisibilityNotifyEventCallback ->
+    C_WidgetVisibilityNotifyEventCallback
+wrap_WidgetVisibilityNotifyEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventVisibility.EventVisibility) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@visibility-notify-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #visibilityNotifyEvent callback
+@
+-}
+onWidgetVisibilityNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetVisibilityNotifyEventCallback -> m SignalHandlerId
+onWidgetVisibilityNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetVisibilityNotifyEventCallback cb
+    cb'' <- mk_WidgetVisibilityNotifyEventCallback cb'
+    connectSignalFunPtr obj "visibility-notify-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@visibility-notify-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #visibilityNotifyEvent callback
+@
+-}
+afterWidgetVisibilityNotifyEvent :: (IsWidget a, MonadIO m) => a -> WidgetVisibilityNotifyEventCallback -> m SignalHandlerId
+afterWidgetVisibilityNotifyEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetVisibilityNotifyEventCallback cb
+    cb'' <- mk_WidgetVisibilityNotifyEventCallback cb'
+    connectSignalFunPtr obj "visibility-notify-event" cb'' SignalConnectAfter
+
+
+-- signal Widget::window-state-event
+{- |
+The ::window-state-event will be emitted when the state of the
+toplevel window associated to the /@widget@/ changes.
+
+To receive this signal the 'GI.Gdk.Objects.Window.Window' associated to the widget
+needs to enable the @/GDK_STRUCTURE_MASK/@ mask. GDK will enable
+this mask automatically for all new windows.
+-}
+type WidgetWindowStateEventCallback =
+    Gdk.EventWindowState.EventWindowState
+    {- ^ /@event@/: the 'GI.Gdk.Structs.EventWindowState.EventWindowState' which
+  triggered this signal. -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' to stop other handlers from being invoked for the
+  event. 'False' to propagate the event further. -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WidgetWindowStateEventCallback`@.
+noWidgetWindowStateEventCallback :: Maybe WidgetWindowStateEventCallback
+noWidgetWindowStateEventCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WidgetWindowStateEventCallback =
+    Ptr () ->                               -- object
+    Ptr Gdk.EventWindowState.EventWindowState ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WidgetWindowStateEventCallback`.
+foreign import ccall "wrapper"
+    mk_WidgetWindowStateEventCallback :: C_WidgetWindowStateEventCallback -> IO (FunPtr C_WidgetWindowStateEventCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WidgetWindowStateEvent :: MonadIO m => WidgetWindowStateEventCallback -> m (GClosure C_WidgetWindowStateEventCallback)
+genClosure_WidgetWindowStateEvent cb = liftIO $ do
+    let cb' = wrap_WidgetWindowStateEventCallback cb
+    mk_WidgetWindowStateEventCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WidgetWindowStateEventCallback` into a `C_WidgetWindowStateEventCallback`.
+wrap_WidgetWindowStateEventCallback ::
+    WidgetWindowStateEventCallback ->
+    C_WidgetWindowStateEventCallback
+wrap_WidgetWindowStateEventCallback _cb _ event _ = do
+    event' <- (newPtr Gdk.EventWindowState.EventWindowState) event
+    result <- _cb  event'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@window-state-event@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' widget #windowStateEvent callback
+@
+-}
+onWidgetWindowStateEvent :: (IsWidget a, MonadIO m) => a -> WidgetWindowStateEventCallback -> m SignalHandlerId
+onWidgetWindowStateEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetWindowStateEventCallback cb
+    cb'' <- mk_WidgetWindowStateEventCallback cb'
+    connectSignalFunPtr obj "window-state-event" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@window-state-event@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' widget #windowStateEvent callback
+@
+-}
+afterWidgetWindowStateEvent :: (IsWidget a, MonadIO m) => a -> WidgetWindowStateEventCallback -> m SignalHandlerId
+afterWidgetWindowStateEvent obj cb = liftIO $ do
+    let cb' = wrap_WidgetWindowStateEventCallback cb
+    cb'' <- mk_WidgetWindowStateEventCallback cb'
+    connectSignalFunPtr obj "window-state-event" cb'' SignalConnectAfter
+
+
+-- VVV Prop "app-paintable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@app-paintable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #appPaintable
+@
+-}
+getWidgetAppPaintable :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetAppPaintable obj = liftIO $ B.Properties.getObjectPropertyBool obj "app-paintable"
+
+{- |
+Set the value of the “@app-paintable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #appPaintable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetAppPaintable :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetAppPaintable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "app-paintable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@app-paintable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetAppPaintable :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetAppPaintable val = B.Properties.constructObjectPropertyBool "app-paintable" val
+
+#if ENABLE_OVERLOADING
+data WidgetAppPaintablePropertyInfo
+instance AttrInfo WidgetAppPaintablePropertyInfo where
+    type AttrAllowedOps WidgetAppPaintablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetAppPaintablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetAppPaintablePropertyInfo = IsWidget
+    type AttrGetType WidgetAppPaintablePropertyInfo = Bool
+    type AttrLabel WidgetAppPaintablePropertyInfo = "app-paintable"
+    type AttrOrigin WidgetAppPaintablePropertyInfo = Widget
+    attrGet _ = getWidgetAppPaintable
+    attrSet _ = setWidgetAppPaintable
+    attrConstruct _ = constructWidgetAppPaintable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "can-default"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@can-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #canDefault
+@
+-}
+getWidgetCanDefault :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetCanDefault obj = liftIO $ B.Properties.getObjectPropertyBool obj "can-default"
+
+{- |
+Set the value of the “@can-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #canDefault 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetCanDefault :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetCanDefault obj val = liftIO $ B.Properties.setObjectPropertyBool obj "can-default" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@can-default@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetCanDefault :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetCanDefault val = B.Properties.constructObjectPropertyBool "can-default" val
+
+#if ENABLE_OVERLOADING
+data WidgetCanDefaultPropertyInfo
+instance AttrInfo WidgetCanDefaultPropertyInfo where
+    type AttrAllowedOps WidgetCanDefaultPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetCanDefaultPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetCanDefaultPropertyInfo = IsWidget
+    type AttrGetType WidgetCanDefaultPropertyInfo = Bool
+    type AttrLabel WidgetCanDefaultPropertyInfo = "can-default"
+    type AttrOrigin WidgetCanDefaultPropertyInfo = Widget
+    attrGet _ = getWidgetCanDefault
+    attrSet _ = setWidgetCanDefault
+    attrConstruct _ = constructWidgetCanDefault
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "can-focus"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@can-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #canFocus
+@
+-}
+getWidgetCanFocus :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetCanFocus obj = liftIO $ B.Properties.getObjectPropertyBool obj "can-focus"
+
+{- |
+Set the value of the “@can-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #canFocus 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetCanFocus :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetCanFocus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "can-focus" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@can-focus@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetCanFocus :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetCanFocus val = B.Properties.constructObjectPropertyBool "can-focus" val
+
+#if ENABLE_OVERLOADING
+data WidgetCanFocusPropertyInfo
+instance AttrInfo WidgetCanFocusPropertyInfo where
+    type AttrAllowedOps WidgetCanFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetCanFocusPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetCanFocusPropertyInfo = IsWidget
+    type AttrGetType WidgetCanFocusPropertyInfo = Bool
+    type AttrLabel WidgetCanFocusPropertyInfo = "can-focus"
+    type AttrOrigin WidgetCanFocusPropertyInfo = Widget
+    attrGet _ = getWidgetCanFocus
+    attrSet _ = setWidgetCanFocus
+    attrConstruct _ = constructWidgetCanFocus
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "composite-child"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@composite-child@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #compositeChild
+@
+-}
+getWidgetCompositeChild :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetCompositeChild obj = liftIO $ B.Properties.getObjectPropertyBool obj "composite-child"
+
+#if ENABLE_OVERLOADING
+data WidgetCompositeChildPropertyInfo
+instance AttrInfo WidgetCompositeChildPropertyInfo where
+    type AttrAllowedOps WidgetCompositeChildPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint WidgetCompositeChildPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint WidgetCompositeChildPropertyInfo = IsWidget
+    type AttrGetType WidgetCompositeChildPropertyInfo = Bool
+    type AttrLabel WidgetCompositeChildPropertyInfo = "composite-child"
+    type AttrOrigin WidgetCompositeChildPropertyInfo = Widget
+    attrGet _ = getWidgetCompositeChild
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "double-buffered"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@double-buffered@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #doubleBuffered
+@
+-}
+getWidgetDoubleBuffered :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetDoubleBuffered obj = liftIO $ B.Properties.getObjectPropertyBool obj "double-buffered"
+
+{- |
+Set the value of the “@double-buffered@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #doubleBuffered 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetDoubleBuffered :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetDoubleBuffered obj val = liftIO $ B.Properties.setObjectPropertyBool obj "double-buffered" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@double-buffered@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetDoubleBuffered :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetDoubleBuffered val = B.Properties.constructObjectPropertyBool "double-buffered" val
+
+#if ENABLE_OVERLOADING
+data WidgetDoubleBufferedPropertyInfo
+instance AttrInfo WidgetDoubleBufferedPropertyInfo where
+    type AttrAllowedOps WidgetDoubleBufferedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetDoubleBufferedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetDoubleBufferedPropertyInfo = IsWidget
+    type AttrGetType WidgetDoubleBufferedPropertyInfo = Bool
+    type AttrLabel WidgetDoubleBufferedPropertyInfo = "double-buffered"
+    type AttrOrigin WidgetDoubleBufferedPropertyInfo = Widget
+    attrGet _ = getWidgetDoubleBuffered
+    attrSet _ = setWidgetDoubleBuffered
+    attrConstruct _ = constructWidgetDoubleBuffered
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "events"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "EventMask"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Get the value of the “@events@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #events
+@
+-}
+getWidgetEvents :: (MonadIO m, IsWidget o) => o -> m [Gdk.Flags.EventMask]
+getWidgetEvents obj = liftIO $ B.Properties.getObjectPropertyFlags obj "events"
+
+{- |
+Set the value of the “@events@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #events 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetEvents :: (MonadIO m, IsWidget o) => o -> [Gdk.Flags.EventMask] -> m ()
+setWidgetEvents obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "events" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@events@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetEvents :: (IsWidget o) => [Gdk.Flags.EventMask] -> IO (GValueConstruct o)
+constructWidgetEvents val = B.Properties.constructObjectPropertyFlags "events" val
+
+#if ENABLE_OVERLOADING
+data WidgetEventsPropertyInfo
+instance AttrInfo WidgetEventsPropertyInfo where
+    type AttrAllowedOps WidgetEventsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetEventsPropertyInfo = (~) [Gdk.Flags.EventMask]
+    type AttrBaseTypeConstraint WidgetEventsPropertyInfo = IsWidget
+    type AttrGetType WidgetEventsPropertyInfo = [Gdk.Flags.EventMask]
+    type AttrLabel WidgetEventsPropertyInfo = "events"
+    type AttrOrigin WidgetEventsPropertyInfo = Widget
+    attrGet _ = getWidgetEvents
+    attrSet _ = setWidgetEvents
+    attrConstruct _ = constructWidgetEvents
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "expand"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@expand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #expand
+@
+-}
+getWidgetExpand :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetExpand obj = liftIO $ B.Properties.getObjectPropertyBool obj "expand"
+
+{- |
+Set the value of the “@expand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #expand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetExpand :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetExpand obj val = liftIO $ B.Properties.setObjectPropertyBool obj "expand" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@expand@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetExpand :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetExpand val = B.Properties.constructObjectPropertyBool "expand" val
+
+#if ENABLE_OVERLOADING
+data WidgetExpandPropertyInfo
+instance AttrInfo WidgetExpandPropertyInfo where
+    type AttrAllowedOps WidgetExpandPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetExpandPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetExpandPropertyInfo = IsWidget
+    type AttrGetType WidgetExpandPropertyInfo = Bool
+    type AttrLabel WidgetExpandPropertyInfo = "expand"
+    type AttrOrigin WidgetExpandPropertyInfo = Widget
+    attrGet _ = getWidgetExpand
+    attrSet _ = setWidgetExpand
+    attrConstruct _ = constructWidgetExpand
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "focus-on-click"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@focus-on-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #focusOnClick
+@
+-}
+getWidgetFocusOnClick :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetFocusOnClick obj = liftIO $ B.Properties.getObjectPropertyBool obj "focus-on-click"
+
+{- |
+Set the value of the “@focus-on-click@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #focusOnClick 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetFocusOnClick :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetFocusOnClick obj val = liftIO $ B.Properties.setObjectPropertyBool obj "focus-on-click" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@focus-on-click@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetFocusOnClick :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetFocusOnClick val = B.Properties.constructObjectPropertyBool "focus-on-click" val
+
+#if ENABLE_OVERLOADING
+data WidgetFocusOnClickPropertyInfo
+instance AttrInfo WidgetFocusOnClickPropertyInfo where
+    type AttrAllowedOps WidgetFocusOnClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetFocusOnClickPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetFocusOnClickPropertyInfo = IsWidget
+    type AttrGetType WidgetFocusOnClickPropertyInfo = Bool
+    type AttrLabel WidgetFocusOnClickPropertyInfo = "focus-on-click"
+    type AttrOrigin WidgetFocusOnClickPropertyInfo = Widget
+    attrGet _ = getWidgetFocusOnClick
+    attrSet _ = setWidgetFocusOnClick
+    attrConstruct _ = constructWidgetFocusOnClick
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "halign"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Align"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@halign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #halign
+@
+-}
+getWidgetHalign :: (MonadIO m, IsWidget o) => o -> m Gtk.Enums.Align
+getWidgetHalign obj = liftIO $ B.Properties.getObjectPropertyEnum obj "halign"
+
+{- |
+Set the value of the “@halign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #halign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetHalign :: (MonadIO m, IsWidget o) => o -> Gtk.Enums.Align -> m ()
+setWidgetHalign obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "halign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@halign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetHalign :: (IsWidget o) => Gtk.Enums.Align -> IO (GValueConstruct o)
+constructWidgetHalign val = B.Properties.constructObjectPropertyEnum "halign" val
+
+#if ENABLE_OVERLOADING
+data WidgetHalignPropertyInfo
+instance AttrInfo WidgetHalignPropertyInfo where
+    type AttrAllowedOps WidgetHalignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetHalignPropertyInfo = (~) Gtk.Enums.Align
+    type AttrBaseTypeConstraint WidgetHalignPropertyInfo = IsWidget
+    type AttrGetType WidgetHalignPropertyInfo = Gtk.Enums.Align
+    type AttrLabel WidgetHalignPropertyInfo = "halign"
+    type AttrOrigin WidgetHalignPropertyInfo = Widget
+    attrGet _ = getWidgetHalign
+    attrSet _ = setWidgetHalign
+    attrConstruct _ = constructWidgetHalign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-default"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@has-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #hasDefault
+@
+-}
+getWidgetHasDefault :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetHasDefault obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-default"
+
+{- |
+Set the value of the “@has-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #hasDefault 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetHasDefault :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetHasDefault obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-default" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-default@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetHasDefault :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetHasDefault val = B.Properties.constructObjectPropertyBool "has-default" val
+
+#if ENABLE_OVERLOADING
+data WidgetHasDefaultPropertyInfo
+instance AttrInfo WidgetHasDefaultPropertyInfo where
+    type AttrAllowedOps WidgetHasDefaultPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetHasDefaultPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetHasDefaultPropertyInfo = IsWidget
+    type AttrGetType WidgetHasDefaultPropertyInfo = Bool
+    type AttrLabel WidgetHasDefaultPropertyInfo = "has-default"
+    type AttrOrigin WidgetHasDefaultPropertyInfo = Widget
+    attrGet _ = getWidgetHasDefault
+    attrSet _ = setWidgetHasDefault
+    attrConstruct _ = constructWidgetHasDefault
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-focus"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@has-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #hasFocus
+@
+-}
+getWidgetHasFocus :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetHasFocus obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-focus"
+
+{- |
+Set the value of the “@has-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #hasFocus 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetHasFocus :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetHasFocus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-focus" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-focus@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetHasFocus :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetHasFocus val = B.Properties.constructObjectPropertyBool "has-focus" val
+
+#if ENABLE_OVERLOADING
+data WidgetHasFocusPropertyInfo
+instance AttrInfo WidgetHasFocusPropertyInfo where
+    type AttrAllowedOps WidgetHasFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetHasFocusPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetHasFocusPropertyInfo = IsWidget
+    type AttrGetType WidgetHasFocusPropertyInfo = Bool
+    type AttrLabel WidgetHasFocusPropertyInfo = "has-focus"
+    type AttrOrigin WidgetHasFocusPropertyInfo = Widget
+    attrGet _ = getWidgetHasFocus
+    attrSet _ = setWidgetHasFocus
+    attrConstruct _ = constructWidgetHasFocus
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-tooltip"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-tooltip@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #hasTooltip
+@
+-}
+getWidgetHasTooltip :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetHasTooltip obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-tooltip"
+
+{- |
+Set the value of the “@has-tooltip@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #hasTooltip 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetHasTooltip :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetHasTooltip obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-tooltip" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-tooltip@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetHasTooltip :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetHasTooltip val = B.Properties.constructObjectPropertyBool "has-tooltip" val
+
+#if ENABLE_OVERLOADING
+data WidgetHasTooltipPropertyInfo
+instance AttrInfo WidgetHasTooltipPropertyInfo where
+    type AttrAllowedOps WidgetHasTooltipPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetHasTooltipPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetHasTooltipPropertyInfo = IsWidget
+    type AttrGetType WidgetHasTooltipPropertyInfo = Bool
+    type AttrLabel WidgetHasTooltipPropertyInfo = "has-tooltip"
+    type AttrOrigin WidgetHasTooltipPropertyInfo = Widget
+    attrGet _ = getWidgetHasTooltip
+    attrSet _ = setWidgetHasTooltip
+    attrConstruct _ = constructWidgetHasTooltip
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "height-request"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@height-request@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #heightRequest
+@
+-}
+getWidgetHeightRequest :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetHeightRequest obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "height-request"
+
+{- |
+Set the value of the “@height-request@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #heightRequest 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetHeightRequest :: (MonadIO m, IsWidget o) => o -> Int32 -> m ()
+setWidgetHeightRequest obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "height-request" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@height-request@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetHeightRequest :: (IsWidget o) => Int32 -> IO (GValueConstruct o)
+constructWidgetHeightRequest val = B.Properties.constructObjectPropertyInt32 "height-request" val
+
+#if ENABLE_OVERLOADING
+data WidgetHeightRequestPropertyInfo
+instance AttrInfo WidgetHeightRequestPropertyInfo where
+    type AttrAllowedOps WidgetHeightRequestPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetHeightRequestPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WidgetHeightRequestPropertyInfo = IsWidget
+    type AttrGetType WidgetHeightRequestPropertyInfo = Int32
+    type AttrLabel WidgetHeightRequestPropertyInfo = "height-request"
+    type AttrOrigin WidgetHeightRequestPropertyInfo = Widget
+    attrGet _ = getWidgetHeightRequest
+    attrSet _ = setWidgetHeightRequest
+    attrConstruct _ = constructWidgetHeightRequest
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "hexpand"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@hexpand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #hexpand
+@
+-}
+getWidgetHexpand :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetHexpand obj = liftIO $ B.Properties.getObjectPropertyBool obj "hexpand"
+
+{- |
+Set the value of the “@hexpand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #hexpand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetHexpand :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetHexpand obj val = liftIO $ B.Properties.setObjectPropertyBool obj "hexpand" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hexpand@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetHexpand :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetHexpand val = B.Properties.constructObjectPropertyBool "hexpand" val
+
+#if ENABLE_OVERLOADING
+data WidgetHexpandPropertyInfo
+instance AttrInfo WidgetHexpandPropertyInfo where
+    type AttrAllowedOps WidgetHexpandPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetHexpandPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetHexpandPropertyInfo = IsWidget
+    type AttrGetType WidgetHexpandPropertyInfo = Bool
+    type AttrLabel WidgetHexpandPropertyInfo = "hexpand"
+    type AttrOrigin WidgetHexpandPropertyInfo = Widget
+    attrGet _ = getWidgetHexpand
+    attrSet _ = setWidgetHexpand
+    attrConstruct _ = constructWidgetHexpand
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "hexpand-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@hexpand-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #hexpandSet
+@
+-}
+getWidgetHexpandSet :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetHexpandSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "hexpand-set"
+
+{- |
+Set the value of the “@hexpand-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #hexpandSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetHexpandSet :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetHexpandSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "hexpand-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hexpand-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetHexpandSet :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetHexpandSet val = B.Properties.constructObjectPropertyBool "hexpand-set" val
+
+#if ENABLE_OVERLOADING
+data WidgetHexpandSetPropertyInfo
+instance AttrInfo WidgetHexpandSetPropertyInfo where
+    type AttrAllowedOps WidgetHexpandSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetHexpandSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetHexpandSetPropertyInfo = IsWidget
+    type AttrGetType WidgetHexpandSetPropertyInfo = Bool
+    type AttrLabel WidgetHexpandSetPropertyInfo = "hexpand-set"
+    type AttrOrigin WidgetHexpandSetPropertyInfo = Widget
+    attrGet _ = getWidgetHexpandSet
+    attrSet _ = setWidgetHexpandSet
+    attrConstruct _ = constructWidgetHexpandSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "is-focus"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@is-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #isFocus
+@
+-}
+getWidgetIsFocus :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetIsFocus obj = liftIO $ B.Properties.getObjectPropertyBool obj "is-focus"
+
+{- |
+Set the value of the “@is-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #isFocus 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetIsFocus :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetIsFocus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "is-focus" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@is-focus@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetIsFocus :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetIsFocus val = B.Properties.constructObjectPropertyBool "is-focus" val
+
+#if ENABLE_OVERLOADING
+data WidgetIsFocusPropertyInfo
+instance AttrInfo WidgetIsFocusPropertyInfo where
+    type AttrAllowedOps WidgetIsFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetIsFocusPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetIsFocusPropertyInfo = IsWidget
+    type AttrGetType WidgetIsFocusPropertyInfo = Bool
+    type AttrLabel WidgetIsFocusPropertyInfo = "is-focus"
+    type AttrOrigin WidgetIsFocusPropertyInfo = Widget
+    attrGet _ = getWidgetIsFocus
+    attrSet _ = setWidgetIsFocus
+    attrConstruct _ = constructWidgetIsFocus
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "margin"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #margin
+@
+-}
+getWidgetMargin :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetMargin obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "margin"
+
+{- |
+Set the value of the “@margin@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #margin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetMargin :: (MonadIO m, IsWidget o) => o -> Int32 -> m ()
+setWidgetMargin obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "margin" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@margin@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetMargin :: (IsWidget o) => Int32 -> IO (GValueConstruct o)
+constructWidgetMargin val = B.Properties.constructObjectPropertyInt32 "margin" val
+
+#if ENABLE_OVERLOADING
+data WidgetMarginPropertyInfo
+instance AttrInfo WidgetMarginPropertyInfo where
+    type AttrAllowedOps WidgetMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetMarginPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WidgetMarginPropertyInfo = IsWidget
+    type AttrGetType WidgetMarginPropertyInfo = Int32
+    type AttrLabel WidgetMarginPropertyInfo = "margin"
+    type AttrOrigin WidgetMarginPropertyInfo = Widget
+    attrGet _ = getWidgetMargin
+    attrSet _ = setWidgetMargin
+    attrConstruct _ = constructWidgetMargin
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "margin-bottom"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@margin-bottom@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #marginBottom
+@
+-}
+getWidgetMarginBottom :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetMarginBottom obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "margin-bottom"
+
+{- |
+Set the value of the “@margin-bottom@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #marginBottom 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetMarginBottom :: (MonadIO m, IsWidget o) => o -> Int32 -> m ()
+setWidgetMarginBottom obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "margin-bottom" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@margin-bottom@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetMarginBottom :: (IsWidget o) => Int32 -> IO (GValueConstruct o)
+constructWidgetMarginBottom val = B.Properties.constructObjectPropertyInt32 "margin-bottom" val
+
+#if ENABLE_OVERLOADING
+data WidgetMarginBottomPropertyInfo
+instance AttrInfo WidgetMarginBottomPropertyInfo where
+    type AttrAllowedOps WidgetMarginBottomPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetMarginBottomPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WidgetMarginBottomPropertyInfo = IsWidget
+    type AttrGetType WidgetMarginBottomPropertyInfo = Int32
+    type AttrLabel WidgetMarginBottomPropertyInfo = "margin-bottom"
+    type AttrOrigin WidgetMarginBottomPropertyInfo = Widget
+    attrGet _ = getWidgetMarginBottom
+    attrSet _ = setWidgetMarginBottom
+    attrConstruct _ = constructWidgetMarginBottom
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "margin-end"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@margin-end@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #marginEnd
+@
+-}
+getWidgetMarginEnd :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetMarginEnd obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "margin-end"
+
+{- |
+Set the value of the “@margin-end@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #marginEnd 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetMarginEnd :: (MonadIO m, IsWidget o) => o -> Int32 -> m ()
+setWidgetMarginEnd obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "margin-end" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@margin-end@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetMarginEnd :: (IsWidget o) => Int32 -> IO (GValueConstruct o)
+constructWidgetMarginEnd val = B.Properties.constructObjectPropertyInt32 "margin-end" val
+
+#if ENABLE_OVERLOADING
+data WidgetMarginEndPropertyInfo
+instance AttrInfo WidgetMarginEndPropertyInfo where
+    type AttrAllowedOps WidgetMarginEndPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetMarginEndPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WidgetMarginEndPropertyInfo = IsWidget
+    type AttrGetType WidgetMarginEndPropertyInfo = Int32
+    type AttrLabel WidgetMarginEndPropertyInfo = "margin-end"
+    type AttrOrigin WidgetMarginEndPropertyInfo = Widget
+    attrGet _ = getWidgetMarginEnd
+    attrSet _ = setWidgetMarginEnd
+    attrConstruct _ = constructWidgetMarginEnd
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "margin-left"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@margin-left@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #marginLeft
+@
+-}
+getWidgetMarginLeft :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetMarginLeft obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "margin-left"
+
+{- |
+Set the value of the “@margin-left@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #marginLeft 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetMarginLeft :: (MonadIO m, IsWidget o) => o -> Int32 -> m ()
+setWidgetMarginLeft obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "margin-left" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@margin-left@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetMarginLeft :: (IsWidget o) => Int32 -> IO (GValueConstruct o)
+constructWidgetMarginLeft val = B.Properties.constructObjectPropertyInt32 "margin-left" val
+
+#if ENABLE_OVERLOADING
+data WidgetMarginLeftPropertyInfo
+instance AttrInfo WidgetMarginLeftPropertyInfo where
+    type AttrAllowedOps WidgetMarginLeftPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetMarginLeftPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WidgetMarginLeftPropertyInfo = IsWidget
+    type AttrGetType WidgetMarginLeftPropertyInfo = Int32
+    type AttrLabel WidgetMarginLeftPropertyInfo = "margin-left"
+    type AttrOrigin WidgetMarginLeftPropertyInfo = Widget
+    attrGet _ = getWidgetMarginLeft
+    attrSet _ = setWidgetMarginLeft
+    attrConstruct _ = constructWidgetMarginLeft
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "margin-right"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@margin-right@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #marginRight
+@
+-}
+getWidgetMarginRight :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetMarginRight obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "margin-right"
+
+{- |
+Set the value of the “@margin-right@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #marginRight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetMarginRight :: (MonadIO m, IsWidget o) => o -> Int32 -> m ()
+setWidgetMarginRight obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "margin-right" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@margin-right@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetMarginRight :: (IsWidget o) => Int32 -> IO (GValueConstruct o)
+constructWidgetMarginRight val = B.Properties.constructObjectPropertyInt32 "margin-right" val
+
+#if ENABLE_OVERLOADING
+data WidgetMarginRightPropertyInfo
+instance AttrInfo WidgetMarginRightPropertyInfo where
+    type AttrAllowedOps WidgetMarginRightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetMarginRightPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WidgetMarginRightPropertyInfo = IsWidget
+    type AttrGetType WidgetMarginRightPropertyInfo = Int32
+    type AttrLabel WidgetMarginRightPropertyInfo = "margin-right"
+    type AttrOrigin WidgetMarginRightPropertyInfo = Widget
+    attrGet _ = getWidgetMarginRight
+    attrSet _ = setWidgetMarginRight
+    attrConstruct _ = constructWidgetMarginRight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "margin-start"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@margin-start@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #marginStart
+@
+-}
+getWidgetMarginStart :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetMarginStart obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "margin-start"
+
+{- |
+Set the value of the “@margin-start@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #marginStart 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetMarginStart :: (MonadIO m, IsWidget o) => o -> Int32 -> m ()
+setWidgetMarginStart obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "margin-start" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@margin-start@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetMarginStart :: (IsWidget o) => Int32 -> IO (GValueConstruct o)
+constructWidgetMarginStart val = B.Properties.constructObjectPropertyInt32 "margin-start" val
+
+#if ENABLE_OVERLOADING
+data WidgetMarginStartPropertyInfo
+instance AttrInfo WidgetMarginStartPropertyInfo where
+    type AttrAllowedOps WidgetMarginStartPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetMarginStartPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WidgetMarginStartPropertyInfo = IsWidget
+    type AttrGetType WidgetMarginStartPropertyInfo = Int32
+    type AttrLabel WidgetMarginStartPropertyInfo = "margin-start"
+    type AttrOrigin WidgetMarginStartPropertyInfo = Widget
+    attrGet _ = getWidgetMarginStart
+    attrSet _ = setWidgetMarginStart
+    attrConstruct _ = constructWidgetMarginStart
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "margin-top"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@margin-top@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #marginTop
+@
+-}
+getWidgetMarginTop :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetMarginTop obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "margin-top"
+
+{- |
+Set the value of the “@margin-top@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #marginTop 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetMarginTop :: (MonadIO m, IsWidget o) => o -> Int32 -> m ()
+setWidgetMarginTop obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "margin-top" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@margin-top@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetMarginTop :: (IsWidget o) => Int32 -> IO (GValueConstruct o)
+constructWidgetMarginTop val = B.Properties.constructObjectPropertyInt32 "margin-top" val
+
+#if ENABLE_OVERLOADING
+data WidgetMarginTopPropertyInfo
+instance AttrInfo WidgetMarginTopPropertyInfo where
+    type AttrAllowedOps WidgetMarginTopPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetMarginTopPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WidgetMarginTopPropertyInfo = IsWidget
+    type AttrGetType WidgetMarginTopPropertyInfo = Int32
+    type AttrLabel WidgetMarginTopPropertyInfo = "margin-top"
+    type AttrOrigin WidgetMarginTopPropertyInfo = Widget
+    attrGet _ = getWidgetMarginTop
+    attrSet _ = setWidgetMarginTop
+    attrConstruct _ = constructWidgetMarginTop
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #name
+@
+-}
+getWidgetName :: (MonadIO m, IsWidget o) => o -> m T.Text
+getWidgetName obj = liftIO $ checkUnexpectedNothing "getWidgetName" $ B.Properties.getObjectPropertyString obj "name"
+
+{- |
+Set the value of the “@name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #name 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetName :: (MonadIO m, IsWidget o) => o -> T.Text -> m ()
+setWidgetName obj val = liftIO $ B.Properties.setObjectPropertyString obj "name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetName :: (IsWidget o) => T.Text -> IO (GValueConstruct o)
+constructWidgetName val = B.Properties.constructObjectPropertyString "name" (Just val)
+
+#if ENABLE_OVERLOADING
+data WidgetNamePropertyInfo
+instance AttrInfo WidgetNamePropertyInfo where
+    type AttrAllowedOps WidgetNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint WidgetNamePropertyInfo = IsWidget
+    type AttrGetType WidgetNamePropertyInfo = T.Text
+    type AttrLabel WidgetNamePropertyInfo = "name"
+    type AttrOrigin WidgetNamePropertyInfo = Widget
+    attrGet _ = getWidgetName
+    attrSet _ = setWidgetName
+    attrConstruct _ = constructWidgetName
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "no-show-all"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@no-show-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #noShowAll
+@
+-}
+getWidgetNoShowAll :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetNoShowAll obj = liftIO $ B.Properties.getObjectPropertyBool obj "no-show-all"
+
+{- |
+Set the value of the “@no-show-all@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #noShowAll 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetNoShowAll :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetNoShowAll obj val = liftIO $ B.Properties.setObjectPropertyBool obj "no-show-all" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@no-show-all@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetNoShowAll :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetNoShowAll val = B.Properties.constructObjectPropertyBool "no-show-all" val
+
+#if ENABLE_OVERLOADING
+data WidgetNoShowAllPropertyInfo
+instance AttrInfo WidgetNoShowAllPropertyInfo where
+    type AttrAllowedOps WidgetNoShowAllPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetNoShowAllPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetNoShowAllPropertyInfo = IsWidget
+    type AttrGetType WidgetNoShowAllPropertyInfo = Bool
+    type AttrLabel WidgetNoShowAllPropertyInfo = "no-show-all"
+    type AttrOrigin WidgetNoShowAllPropertyInfo = Widget
+    attrGet _ = getWidgetNoShowAll
+    attrSet _ = setWidgetNoShowAll
+    attrConstruct _ = constructWidgetNoShowAll
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "opacity"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@opacity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #opacity
+@
+-}
+getWidgetOpacity :: (MonadIO m, IsWidget o) => o -> m Double
+getWidgetOpacity obj = liftIO $ B.Properties.getObjectPropertyDouble obj "opacity"
+
+{- |
+Set the value of the “@opacity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #opacity 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetOpacity :: (MonadIO m, IsWidget o) => o -> Double -> m ()
+setWidgetOpacity obj val = liftIO $ B.Properties.setObjectPropertyDouble obj "opacity" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@opacity@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetOpacity :: (IsWidget o) => Double -> IO (GValueConstruct o)
+constructWidgetOpacity val = B.Properties.constructObjectPropertyDouble "opacity" val
+
+#if ENABLE_OVERLOADING
+data WidgetOpacityPropertyInfo
+instance AttrInfo WidgetOpacityPropertyInfo where
+    type AttrAllowedOps WidgetOpacityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetOpacityPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint WidgetOpacityPropertyInfo = IsWidget
+    type AttrGetType WidgetOpacityPropertyInfo = Double
+    type AttrLabel WidgetOpacityPropertyInfo = "opacity"
+    type AttrOrigin WidgetOpacityPropertyInfo = Widget
+    attrGet _ = getWidgetOpacity
+    attrSet _ = setWidgetOpacity
+    attrConstruct _ = constructWidgetOpacity
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "parent"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Container"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@parent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #parent
+@
+-}
+getWidgetParent :: (MonadIO m, IsWidget o) => o -> m (Maybe Gtk.Container.Container)
+getWidgetParent obj = liftIO $ B.Properties.getObjectPropertyObject obj "parent" Gtk.Container.Container
+
+{- |
+Set the value of the “@parent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #parent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetParent :: (MonadIO m, IsWidget o, Gtk.Container.IsContainer a) => o -> a -> m ()
+setWidgetParent obj val = liftIO $ B.Properties.setObjectPropertyObject obj "parent" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@parent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetParent :: (IsWidget o, Gtk.Container.IsContainer a) => a -> IO (GValueConstruct o)
+constructWidgetParent val = B.Properties.constructObjectPropertyObject "parent" (Just val)
+
+{- |
+Set the value of the “@parent@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #parent
+@
+-}
+clearWidgetParent :: (MonadIO m, IsWidget o) => o -> m ()
+clearWidgetParent obj = liftIO $ B.Properties.setObjectPropertyObject obj "parent" (Nothing :: Maybe Gtk.Container.Container)
+
+#if ENABLE_OVERLOADING
+data WidgetParentPropertyInfo
+instance AttrInfo WidgetParentPropertyInfo where
+    type AttrAllowedOps WidgetParentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WidgetParentPropertyInfo = Gtk.Container.IsContainer
+    type AttrBaseTypeConstraint WidgetParentPropertyInfo = IsWidget
+    type AttrGetType WidgetParentPropertyInfo = (Maybe Gtk.Container.Container)
+    type AttrLabel WidgetParentPropertyInfo = "parent"
+    type AttrOrigin WidgetParentPropertyInfo = Widget
+    attrGet _ = getWidgetParent
+    attrSet _ = setWidgetParent
+    attrConstruct _ = constructWidgetParent
+    attrClear _ = clearWidgetParent
+#endif
+
+-- VVV Prop "receives-default"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@receives-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #receivesDefault
+@
+-}
+getWidgetReceivesDefault :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetReceivesDefault obj = liftIO $ B.Properties.getObjectPropertyBool obj "receives-default"
+
+{- |
+Set the value of the “@receives-default@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #receivesDefault 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetReceivesDefault :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetReceivesDefault obj val = liftIO $ B.Properties.setObjectPropertyBool obj "receives-default" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@receives-default@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetReceivesDefault :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetReceivesDefault val = B.Properties.constructObjectPropertyBool "receives-default" val
+
+#if ENABLE_OVERLOADING
+data WidgetReceivesDefaultPropertyInfo
+instance AttrInfo WidgetReceivesDefaultPropertyInfo where
+    type AttrAllowedOps WidgetReceivesDefaultPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetReceivesDefaultPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetReceivesDefaultPropertyInfo = IsWidget
+    type AttrGetType WidgetReceivesDefaultPropertyInfo = Bool
+    type AttrLabel WidgetReceivesDefaultPropertyInfo = "receives-default"
+    type AttrOrigin WidgetReceivesDefaultPropertyInfo = Widget
+    attrGet _ = getWidgetReceivesDefault
+    attrSet _ = setWidgetReceivesDefault
+    attrConstruct _ = constructWidgetReceivesDefault
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "scale-factor"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just False,Nothing)
+
+{- |
+Get the value of the “@scale-factor@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #scaleFactor
+@
+-}
+getWidgetScaleFactor :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetScaleFactor obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "scale-factor"
+
+#if ENABLE_OVERLOADING
+data WidgetScaleFactorPropertyInfo
+instance AttrInfo WidgetScaleFactorPropertyInfo where
+    type AttrAllowedOps WidgetScaleFactorPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint WidgetScaleFactorPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint WidgetScaleFactorPropertyInfo = IsWidget
+    type AttrGetType WidgetScaleFactorPropertyInfo = Int32
+    type AttrLabel WidgetScaleFactorPropertyInfo = "scale-factor"
+    type AttrOrigin WidgetScaleFactorPropertyInfo = Widget
+    attrGet _ = getWidgetScaleFactor
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "sensitive"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #sensitive
+@
+-}
+getWidgetSensitive :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetSensitive obj = liftIO $ B.Properties.getObjectPropertyBool obj "sensitive"
+
+{- |
+Set the value of the “@sensitive@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #sensitive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetSensitive :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetSensitive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "sensitive" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@sensitive@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetSensitive :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetSensitive val = B.Properties.constructObjectPropertyBool "sensitive" val
+
+#if ENABLE_OVERLOADING
+data WidgetSensitivePropertyInfo
+instance AttrInfo WidgetSensitivePropertyInfo where
+    type AttrAllowedOps WidgetSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetSensitivePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetSensitivePropertyInfo = IsWidget
+    type AttrGetType WidgetSensitivePropertyInfo = Bool
+    type AttrLabel WidgetSensitivePropertyInfo = "sensitive"
+    type AttrOrigin WidgetSensitivePropertyInfo = Widget
+    attrGet _ = getWidgetSensitive
+    attrSet _ = setWidgetSensitive
+    attrConstruct _ = constructWidgetSensitive
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "style"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Style"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just True)
+
+{- |
+Get the value of the “@style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #style
+@
+-}
+getWidgetStyle :: (MonadIO m, IsWidget o) => o -> m Gtk.Style.Style
+getWidgetStyle obj = liftIO $ checkUnexpectedNothing "getWidgetStyle" $ B.Properties.getObjectPropertyObject obj "style" Gtk.Style.Style
+
+{- |
+Set the value of the “@style@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #style 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetStyle :: (MonadIO m, IsWidget o, Gtk.Style.IsStyle a) => o -> a -> m ()
+setWidgetStyle obj val = liftIO $ B.Properties.setObjectPropertyObject obj "style" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@style@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetStyle :: (IsWidget o, Gtk.Style.IsStyle a) => a -> IO (GValueConstruct o)
+constructWidgetStyle val = B.Properties.constructObjectPropertyObject "style" (Just val)
+
+{- |
+Set the value of the “@style@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #style
+@
+-}
+clearWidgetStyle :: (MonadIO m, IsWidget o) => o -> m ()
+clearWidgetStyle obj = liftIO $ B.Properties.setObjectPropertyObject obj "style" (Nothing :: Maybe Gtk.Style.Style)
+
+#if ENABLE_OVERLOADING
+data WidgetStylePropertyInfo
+instance AttrInfo WidgetStylePropertyInfo where
+    type AttrAllowedOps WidgetStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WidgetStylePropertyInfo = Gtk.Style.IsStyle
+    type AttrBaseTypeConstraint WidgetStylePropertyInfo = IsWidget
+    type AttrGetType WidgetStylePropertyInfo = Gtk.Style.Style
+    type AttrLabel WidgetStylePropertyInfo = "style"
+    type AttrOrigin WidgetStylePropertyInfo = Widget
+    attrGet _ = getWidgetStyle
+    attrSet _ = setWidgetStyle
+    attrConstruct _ = constructWidgetStyle
+    attrClear _ = clearWidgetStyle
+#endif
+
+-- VVV Prop "tooltip-markup"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+{- |
+Get the value of the “@tooltip-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #tooltipMarkup
+@
+-}
+getWidgetTooltipMarkup :: (MonadIO m, IsWidget o) => o -> m (Maybe T.Text)
+getWidgetTooltipMarkup obj = liftIO $ B.Properties.getObjectPropertyString obj "tooltip-markup"
+
+{- |
+Set the value of the “@tooltip-markup@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #tooltipMarkup 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetTooltipMarkup :: (MonadIO m, IsWidget o) => o -> T.Text -> m ()
+setWidgetTooltipMarkup obj val = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-markup" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip-markup@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetTooltipMarkup :: (IsWidget o) => T.Text -> IO (GValueConstruct o)
+constructWidgetTooltipMarkup val = B.Properties.constructObjectPropertyString "tooltip-markup" (Just val)
+
+{- |
+Set the value of the “@tooltip-markup@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tooltipMarkup
+@
+-}
+clearWidgetTooltipMarkup :: (MonadIO m, IsWidget o) => o -> m ()
+clearWidgetTooltipMarkup obj = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-markup" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data WidgetTooltipMarkupPropertyInfo
+instance AttrInfo WidgetTooltipMarkupPropertyInfo where
+    type AttrAllowedOps WidgetTooltipMarkupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WidgetTooltipMarkupPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint WidgetTooltipMarkupPropertyInfo = IsWidget
+    type AttrGetType WidgetTooltipMarkupPropertyInfo = (Maybe T.Text)
+    type AttrLabel WidgetTooltipMarkupPropertyInfo = "tooltip-markup"
+    type AttrOrigin WidgetTooltipMarkupPropertyInfo = Widget
+    attrGet _ = getWidgetTooltipMarkup
+    attrSet _ = setWidgetTooltipMarkup
+    attrConstruct _ = constructWidgetTooltipMarkup
+    attrClear _ = clearWidgetTooltipMarkup
+#endif
+
+-- VVV Prop "tooltip-text"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Just True)
+
+{- |
+Get the value of the “@tooltip-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #tooltipText
+@
+-}
+getWidgetTooltipText :: (MonadIO m, IsWidget o) => o -> m (Maybe T.Text)
+getWidgetTooltipText obj = liftIO $ B.Properties.getObjectPropertyString obj "tooltip-text"
+
+{- |
+Set the value of the “@tooltip-text@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #tooltipText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetTooltipText :: (MonadIO m, IsWidget o) => o -> T.Text -> m ()
+setWidgetTooltipText obj val = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-text" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@tooltip-text@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetTooltipText :: (IsWidget o) => T.Text -> IO (GValueConstruct o)
+constructWidgetTooltipText val = B.Properties.constructObjectPropertyString "tooltip-text" (Just val)
+
+{- |
+Set the value of the “@tooltip-text@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tooltipText
+@
+-}
+clearWidgetTooltipText :: (MonadIO m, IsWidget o) => o -> m ()
+clearWidgetTooltipText obj = liftIO $ B.Properties.setObjectPropertyString obj "tooltip-text" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data WidgetTooltipTextPropertyInfo
+instance AttrInfo WidgetTooltipTextPropertyInfo where
+    type AttrAllowedOps WidgetTooltipTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WidgetTooltipTextPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint WidgetTooltipTextPropertyInfo = IsWidget
+    type AttrGetType WidgetTooltipTextPropertyInfo = (Maybe T.Text)
+    type AttrLabel WidgetTooltipTextPropertyInfo = "tooltip-text"
+    type AttrOrigin WidgetTooltipTextPropertyInfo = Widget
+    attrGet _ = getWidgetTooltipText
+    attrSet _ = setWidgetTooltipText
+    attrConstruct _ = constructWidgetTooltipText
+    attrClear _ = clearWidgetTooltipText
+#endif
+
+-- VVV Prop "valign"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Align"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@valign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #valign
+@
+-}
+getWidgetValign :: (MonadIO m, IsWidget o) => o -> m Gtk.Enums.Align
+getWidgetValign obj = liftIO $ B.Properties.getObjectPropertyEnum obj "valign"
+
+{- |
+Set the value of the “@valign@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #valign 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetValign :: (MonadIO m, IsWidget o) => o -> Gtk.Enums.Align -> m ()
+setWidgetValign obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "valign" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@valign@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetValign :: (IsWidget o) => Gtk.Enums.Align -> IO (GValueConstruct o)
+constructWidgetValign val = B.Properties.constructObjectPropertyEnum "valign" val
+
+#if ENABLE_OVERLOADING
+data WidgetValignPropertyInfo
+instance AttrInfo WidgetValignPropertyInfo where
+    type AttrAllowedOps WidgetValignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetValignPropertyInfo = (~) Gtk.Enums.Align
+    type AttrBaseTypeConstraint WidgetValignPropertyInfo = IsWidget
+    type AttrGetType WidgetValignPropertyInfo = Gtk.Enums.Align
+    type AttrLabel WidgetValignPropertyInfo = "valign"
+    type AttrOrigin WidgetValignPropertyInfo = Widget
+    attrGet _ = getWidgetValign
+    attrSet _ = setWidgetValign
+    attrConstruct _ = constructWidgetValign
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "vexpand"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@vexpand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #vexpand
+@
+-}
+getWidgetVexpand :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetVexpand obj = liftIO $ B.Properties.getObjectPropertyBool obj "vexpand"
+
+{- |
+Set the value of the “@vexpand@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #vexpand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetVexpand :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetVexpand obj val = liftIO $ B.Properties.setObjectPropertyBool obj "vexpand" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@vexpand@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetVexpand :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetVexpand val = B.Properties.constructObjectPropertyBool "vexpand" val
+
+#if ENABLE_OVERLOADING
+data WidgetVexpandPropertyInfo
+instance AttrInfo WidgetVexpandPropertyInfo where
+    type AttrAllowedOps WidgetVexpandPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetVexpandPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetVexpandPropertyInfo = IsWidget
+    type AttrGetType WidgetVexpandPropertyInfo = Bool
+    type AttrLabel WidgetVexpandPropertyInfo = "vexpand"
+    type AttrOrigin WidgetVexpandPropertyInfo = Widget
+    attrGet _ = getWidgetVexpand
+    attrSet _ = setWidgetVexpand
+    attrConstruct _ = constructWidgetVexpand
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "vexpand-set"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@vexpand-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #vexpandSet
+@
+-}
+getWidgetVexpandSet :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetVexpandSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "vexpand-set"
+
+{- |
+Set the value of the “@vexpand-set@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #vexpandSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetVexpandSet :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetVexpandSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "vexpand-set" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@vexpand-set@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetVexpandSet :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetVexpandSet val = B.Properties.constructObjectPropertyBool "vexpand-set" val
+
+#if ENABLE_OVERLOADING
+data WidgetVexpandSetPropertyInfo
+instance AttrInfo WidgetVexpandSetPropertyInfo where
+    type AttrAllowedOps WidgetVexpandSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetVexpandSetPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetVexpandSetPropertyInfo = IsWidget
+    type AttrGetType WidgetVexpandSetPropertyInfo = Bool
+    type AttrLabel WidgetVexpandSetPropertyInfo = "vexpand-set"
+    type AttrOrigin WidgetVexpandSetPropertyInfo = Widget
+    attrGet _ = getWidgetVexpandSet
+    attrSet _ = setWidgetVexpandSet
+    attrConstruct _ = constructWidgetVexpandSet
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #visible
+@
+-}
+getWidgetVisible :: (MonadIO m, IsWidget o) => o -> m Bool
+getWidgetVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible"
+
+{- |
+Set the value of the “@visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #visible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetVisible :: (MonadIO m, IsWidget o) => o -> Bool -> m ()
+setWidgetVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetVisible :: (IsWidget o) => Bool -> IO (GValueConstruct o)
+constructWidgetVisible val = B.Properties.constructObjectPropertyBool "visible" val
+
+#if ENABLE_OVERLOADING
+data WidgetVisiblePropertyInfo
+instance AttrInfo WidgetVisiblePropertyInfo where
+    type AttrAllowedOps WidgetVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WidgetVisiblePropertyInfo = IsWidget
+    type AttrGetType WidgetVisiblePropertyInfo = Bool
+    type AttrLabel WidgetVisiblePropertyInfo = "visible"
+    type AttrOrigin WidgetVisiblePropertyInfo = Widget
+    attrGet _ = getWidgetVisible
+    attrSet _ = setWidgetVisible
+    attrConstruct _ = constructWidgetVisible
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "width-request"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@width-request@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #widthRequest
+@
+-}
+getWidgetWidthRequest :: (MonadIO m, IsWidget o) => o -> m Int32
+getWidgetWidthRequest obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "width-request"
+
+{- |
+Set the value of the “@width-request@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' widget [ #widthRequest 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWidgetWidthRequest :: (MonadIO m, IsWidget o) => o -> Int32 -> m ()
+setWidgetWidthRequest obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "width-request" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@width-request@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWidgetWidthRequest :: (IsWidget o) => Int32 -> IO (GValueConstruct o)
+constructWidgetWidthRequest val = B.Properties.constructObjectPropertyInt32 "width-request" val
+
+#if ENABLE_OVERLOADING
+data WidgetWidthRequestPropertyInfo
+instance AttrInfo WidgetWidthRequestPropertyInfo where
+    type AttrAllowedOps WidgetWidthRequestPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WidgetWidthRequestPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WidgetWidthRequestPropertyInfo = IsWidget
+    type AttrGetType WidgetWidthRequestPropertyInfo = Int32
+    type AttrLabel WidgetWidthRequestPropertyInfo = "width-request"
+    type AttrOrigin WidgetWidthRequestPropertyInfo = Widget
+    attrGet _ = getWidgetWidthRequest
+    attrSet _ = setWidgetWidthRequest
+    attrConstruct _ = constructWidgetWidthRequest
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "window"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Window"})
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Just True,Nothing)
+
+{- |
+Get the value of the “@window@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' widget #window
+@
+-}
+getWidgetWindow :: (MonadIO m, IsWidget o) => o -> m (Maybe Gdk.Window.Window)
+getWidgetWindow obj = liftIO $ B.Properties.getObjectPropertyObject obj "window" Gdk.Window.Window
+
+#if ENABLE_OVERLOADING
+data WidgetWindowPropertyInfo
+instance AttrInfo WidgetWindowPropertyInfo where
+    type AttrAllowedOps WidgetWindowPropertyInfo = '[ 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WidgetWindowPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint WidgetWindowPropertyInfo = IsWidget
+    type AttrGetType WidgetWindowPropertyInfo = (Maybe Gdk.Window.Window)
+    type AttrLabel WidgetWindowPropertyInfo = "window"
+    type AttrOrigin WidgetWindowPropertyInfo = Widget
+    attrGet _ = getWidgetWindow
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Widget
+type instance O.AttributeList Widget = WidgetAttributeList
+type WidgetAttributeList = ('[ '("appPaintable", WidgetAppPaintablePropertyInfo), '("canDefault", WidgetCanDefaultPropertyInfo), '("canFocus", WidgetCanFocusPropertyInfo), '("compositeChild", WidgetCompositeChildPropertyInfo), '("doubleBuffered", WidgetDoubleBufferedPropertyInfo), '("events", WidgetEventsPropertyInfo), '("expand", WidgetExpandPropertyInfo), '("focusOnClick", WidgetFocusOnClickPropertyInfo), '("halign", WidgetHalignPropertyInfo), '("hasDefault", WidgetHasDefaultPropertyInfo), '("hasFocus", WidgetHasFocusPropertyInfo), '("hasTooltip", WidgetHasTooltipPropertyInfo), '("heightRequest", WidgetHeightRequestPropertyInfo), '("hexpand", WidgetHexpandPropertyInfo), '("hexpandSet", WidgetHexpandSetPropertyInfo), '("isFocus", WidgetIsFocusPropertyInfo), '("margin", WidgetMarginPropertyInfo), '("marginBottom", WidgetMarginBottomPropertyInfo), '("marginEnd", WidgetMarginEndPropertyInfo), '("marginLeft", WidgetMarginLeftPropertyInfo), '("marginRight", WidgetMarginRightPropertyInfo), '("marginStart", WidgetMarginStartPropertyInfo), '("marginTop", WidgetMarginTopPropertyInfo), '("name", WidgetNamePropertyInfo), '("noShowAll", WidgetNoShowAllPropertyInfo), '("opacity", WidgetOpacityPropertyInfo), '("parent", WidgetParentPropertyInfo), '("receivesDefault", WidgetReceivesDefaultPropertyInfo), '("scaleFactor", WidgetScaleFactorPropertyInfo), '("sensitive", WidgetSensitivePropertyInfo), '("style", WidgetStylePropertyInfo), '("tooltipMarkup", WidgetTooltipMarkupPropertyInfo), '("tooltipText", WidgetTooltipTextPropertyInfo), '("valign", WidgetValignPropertyInfo), '("vexpand", WidgetVexpandPropertyInfo), '("vexpandSet", WidgetVexpandSetPropertyInfo), '("visible", WidgetVisiblePropertyInfo), '("widthRequest", WidgetWidthRequestPropertyInfo), '("window", WidgetWindowPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+widgetAppPaintable :: AttrLabelProxy "appPaintable"
+widgetAppPaintable = AttrLabelProxy
+
+widgetCanDefault :: AttrLabelProxy "canDefault"
+widgetCanDefault = AttrLabelProxy
+
+widgetCanFocus :: AttrLabelProxy "canFocus"
+widgetCanFocus = AttrLabelProxy
+
+widgetCompositeChild :: AttrLabelProxy "compositeChild"
+widgetCompositeChild = AttrLabelProxy
+
+widgetDoubleBuffered :: AttrLabelProxy "doubleBuffered"
+widgetDoubleBuffered = AttrLabelProxy
+
+widgetEvents :: AttrLabelProxy "events"
+widgetEvents = AttrLabelProxy
+
+widgetExpand :: AttrLabelProxy "expand"
+widgetExpand = AttrLabelProxy
+
+widgetFocusOnClick :: AttrLabelProxy "focusOnClick"
+widgetFocusOnClick = AttrLabelProxy
+
+widgetHalign :: AttrLabelProxy "halign"
+widgetHalign = AttrLabelProxy
+
+widgetHasTooltip :: AttrLabelProxy "hasTooltip"
+widgetHasTooltip = AttrLabelProxy
+
+widgetHeightRequest :: AttrLabelProxy "heightRequest"
+widgetHeightRequest = AttrLabelProxy
+
+widgetHexpand :: AttrLabelProxy "hexpand"
+widgetHexpand = AttrLabelProxy
+
+widgetHexpandSet :: AttrLabelProxy "hexpandSet"
+widgetHexpandSet = AttrLabelProxy
+
+widgetMargin :: AttrLabelProxy "margin"
+widgetMargin = AttrLabelProxy
+
+widgetMarginBottom :: AttrLabelProxy "marginBottom"
+widgetMarginBottom = AttrLabelProxy
+
+widgetMarginEnd :: AttrLabelProxy "marginEnd"
+widgetMarginEnd = AttrLabelProxy
+
+widgetMarginLeft :: AttrLabelProxy "marginLeft"
+widgetMarginLeft = AttrLabelProxy
+
+widgetMarginRight :: AttrLabelProxy "marginRight"
+widgetMarginRight = AttrLabelProxy
+
+widgetMarginStart :: AttrLabelProxy "marginStart"
+widgetMarginStart = AttrLabelProxy
+
+widgetMarginTop :: AttrLabelProxy "marginTop"
+widgetMarginTop = AttrLabelProxy
+
+widgetName :: AttrLabelProxy "name"
+widgetName = AttrLabelProxy
+
+widgetNoShowAll :: AttrLabelProxy "noShowAll"
+widgetNoShowAll = AttrLabelProxy
+
+widgetOpacity :: AttrLabelProxy "opacity"
+widgetOpacity = AttrLabelProxy
+
+widgetParent :: AttrLabelProxy "parent"
+widgetParent = AttrLabelProxy
+
+widgetReceivesDefault :: AttrLabelProxy "receivesDefault"
+widgetReceivesDefault = AttrLabelProxy
+
+widgetScaleFactor :: AttrLabelProxy "scaleFactor"
+widgetScaleFactor = AttrLabelProxy
+
+widgetSensitive :: AttrLabelProxy "sensitive"
+widgetSensitive = AttrLabelProxy
+
+widgetStyle :: AttrLabelProxy "style"
+widgetStyle = AttrLabelProxy
+
+widgetTooltipMarkup :: AttrLabelProxy "tooltipMarkup"
+widgetTooltipMarkup = AttrLabelProxy
+
+widgetTooltipText :: AttrLabelProxy "tooltipText"
+widgetTooltipText = AttrLabelProxy
+
+widgetValign :: AttrLabelProxy "valign"
+widgetValign = AttrLabelProxy
+
+widgetVexpand :: AttrLabelProxy "vexpand"
+widgetVexpand = AttrLabelProxy
+
+widgetVexpandSet :: AttrLabelProxy "vexpandSet"
+widgetVexpandSet = AttrLabelProxy
+
+widgetVisible :: AttrLabelProxy "visible"
+widgetVisible = AttrLabelProxy
+
+widgetWidthRequest :: AttrLabelProxy "widthRequest"
+widgetWidthRequest = AttrLabelProxy
+
+widgetWindow :: AttrLabelProxy "window"
+widgetWindow = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data WidgetAccelClosuresChangedSignalInfo
+instance SignalInfo WidgetAccelClosuresChangedSignalInfo where
+    type HaskellCallbackType WidgetAccelClosuresChangedSignalInfo = WidgetAccelClosuresChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetAccelClosuresChangedCallback cb
+        cb'' <- mk_WidgetAccelClosuresChangedCallback cb'
+        connectSignalFunPtr obj "accel-closures-changed" cb'' connectMode
+
+data WidgetButtonPressEventSignalInfo
+instance SignalInfo WidgetButtonPressEventSignalInfo where
+    type HaskellCallbackType WidgetButtonPressEventSignalInfo = WidgetButtonPressEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetButtonPressEventCallback cb
+        cb'' <- mk_WidgetButtonPressEventCallback cb'
+        connectSignalFunPtr obj "button-press-event" cb'' connectMode
+
+data WidgetButtonReleaseEventSignalInfo
+instance SignalInfo WidgetButtonReleaseEventSignalInfo where
+    type HaskellCallbackType WidgetButtonReleaseEventSignalInfo = WidgetButtonReleaseEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetButtonReleaseEventCallback cb
+        cb'' <- mk_WidgetButtonReleaseEventCallback cb'
+        connectSignalFunPtr obj "button-release-event" cb'' connectMode
+
+data WidgetCanActivateAccelSignalInfo
+instance SignalInfo WidgetCanActivateAccelSignalInfo where
+    type HaskellCallbackType WidgetCanActivateAccelSignalInfo = WidgetCanActivateAccelCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetCanActivateAccelCallback cb
+        cb'' <- mk_WidgetCanActivateAccelCallback cb'
+        connectSignalFunPtr obj "can-activate-accel" cb'' connectMode
+
+data WidgetChildNotifySignalInfo
+instance SignalInfo WidgetChildNotifySignalInfo where
+    type HaskellCallbackType WidgetChildNotifySignalInfo = WidgetChildNotifyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetChildNotifyCallback cb
+        cb'' <- mk_WidgetChildNotifyCallback cb'
+        connectSignalFunPtr obj "child-notify" cb'' connectMode
+
+data WidgetCompositedChangedSignalInfo
+instance SignalInfo WidgetCompositedChangedSignalInfo where
+    type HaskellCallbackType WidgetCompositedChangedSignalInfo = WidgetCompositedChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetCompositedChangedCallback cb
+        cb'' <- mk_WidgetCompositedChangedCallback cb'
+        connectSignalFunPtr obj "composited-changed" cb'' connectMode
+
+data WidgetConfigureEventSignalInfo
+instance SignalInfo WidgetConfigureEventSignalInfo where
+    type HaskellCallbackType WidgetConfigureEventSignalInfo = WidgetConfigureEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetConfigureEventCallback cb
+        cb'' <- mk_WidgetConfigureEventCallback cb'
+        connectSignalFunPtr obj "configure-event" cb'' connectMode
+
+data WidgetDamageEventSignalInfo
+instance SignalInfo WidgetDamageEventSignalInfo where
+    type HaskellCallbackType WidgetDamageEventSignalInfo = WidgetDamageEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDamageEventCallback cb
+        cb'' <- mk_WidgetDamageEventCallback cb'
+        connectSignalFunPtr obj "damage-event" cb'' connectMode
+
+data WidgetDeleteEventSignalInfo
+instance SignalInfo WidgetDeleteEventSignalInfo where
+    type HaskellCallbackType WidgetDeleteEventSignalInfo = WidgetDeleteEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDeleteEventCallback cb
+        cb'' <- mk_WidgetDeleteEventCallback cb'
+        connectSignalFunPtr obj "delete-event" cb'' connectMode
+
+data WidgetDestroySignalInfo
+instance SignalInfo WidgetDestroySignalInfo where
+    type HaskellCallbackType WidgetDestroySignalInfo = WidgetDestroyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDestroyCallback cb
+        cb'' <- mk_WidgetDestroyCallback cb'
+        connectSignalFunPtr obj "destroy" cb'' connectMode
+
+data WidgetDestroyEventSignalInfo
+instance SignalInfo WidgetDestroyEventSignalInfo where
+    type HaskellCallbackType WidgetDestroyEventSignalInfo = WidgetDestroyEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDestroyEventCallback cb
+        cb'' <- mk_WidgetDestroyEventCallback cb'
+        connectSignalFunPtr obj "destroy-event" cb'' connectMode
+
+data WidgetDirectionChangedSignalInfo
+instance SignalInfo WidgetDirectionChangedSignalInfo where
+    type HaskellCallbackType WidgetDirectionChangedSignalInfo = WidgetDirectionChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDirectionChangedCallback cb
+        cb'' <- mk_WidgetDirectionChangedCallback cb'
+        connectSignalFunPtr obj "direction-changed" cb'' connectMode
+
+data WidgetDragBeginSignalInfo
+instance SignalInfo WidgetDragBeginSignalInfo where
+    type HaskellCallbackType WidgetDragBeginSignalInfo = WidgetDragBeginCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDragBeginCallback cb
+        cb'' <- mk_WidgetDragBeginCallback cb'
+        connectSignalFunPtr obj "drag-begin" cb'' connectMode
+
+data WidgetDragDataDeleteSignalInfo
+instance SignalInfo WidgetDragDataDeleteSignalInfo where
+    type HaskellCallbackType WidgetDragDataDeleteSignalInfo = WidgetDragDataDeleteCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDragDataDeleteCallback cb
+        cb'' <- mk_WidgetDragDataDeleteCallback cb'
+        connectSignalFunPtr obj "drag-data-delete" cb'' connectMode
+
+data WidgetDragDataGetSignalInfo
+instance SignalInfo WidgetDragDataGetSignalInfo where
+    type HaskellCallbackType WidgetDragDataGetSignalInfo = WidgetDragDataGetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDragDataGetCallback cb
+        cb'' <- mk_WidgetDragDataGetCallback cb'
+        connectSignalFunPtr obj "drag-data-get" cb'' connectMode
+
+data WidgetDragDataReceivedSignalInfo
+instance SignalInfo WidgetDragDataReceivedSignalInfo where
+    type HaskellCallbackType WidgetDragDataReceivedSignalInfo = WidgetDragDataReceivedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDragDataReceivedCallback cb
+        cb'' <- mk_WidgetDragDataReceivedCallback cb'
+        connectSignalFunPtr obj "drag-data-received" cb'' connectMode
+
+data WidgetDragDropSignalInfo
+instance SignalInfo WidgetDragDropSignalInfo where
+    type HaskellCallbackType WidgetDragDropSignalInfo = WidgetDragDropCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDragDropCallback cb
+        cb'' <- mk_WidgetDragDropCallback cb'
+        connectSignalFunPtr obj "drag-drop" cb'' connectMode
+
+data WidgetDragEndSignalInfo
+instance SignalInfo WidgetDragEndSignalInfo where
+    type HaskellCallbackType WidgetDragEndSignalInfo = WidgetDragEndCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDragEndCallback cb
+        cb'' <- mk_WidgetDragEndCallback cb'
+        connectSignalFunPtr obj "drag-end" cb'' connectMode
+
+data WidgetDragFailedSignalInfo
+instance SignalInfo WidgetDragFailedSignalInfo where
+    type HaskellCallbackType WidgetDragFailedSignalInfo = WidgetDragFailedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDragFailedCallback cb
+        cb'' <- mk_WidgetDragFailedCallback cb'
+        connectSignalFunPtr obj "drag-failed" cb'' connectMode
+
+data WidgetDragLeaveSignalInfo
+instance SignalInfo WidgetDragLeaveSignalInfo where
+    type HaskellCallbackType WidgetDragLeaveSignalInfo = WidgetDragLeaveCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDragLeaveCallback cb
+        cb'' <- mk_WidgetDragLeaveCallback cb'
+        connectSignalFunPtr obj "drag-leave" cb'' connectMode
+
+data WidgetDragMotionSignalInfo
+instance SignalInfo WidgetDragMotionSignalInfo where
+    type HaskellCallbackType WidgetDragMotionSignalInfo = WidgetDragMotionCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDragMotionCallback cb
+        cb'' <- mk_WidgetDragMotionCallback cb'
+        connectSignalFunPtr obj "drag-motion" cb'' connectMode
+
+data WidgetDrawSignalInfo
+instance SignalInfo WidgetDrawSignalInfo where
+    type HaskellCallbackType WidgetDrawSignalInfo = WidgetDrawCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetDrawCallback cb
+        cb'' <- mk_WidgetDrawCallback cb'
+        connectSignalFunPtr obj "draw" cb'' connectMode
+
+data WidgetEnterNotifyEventSignalInfo
+instance SignalInfo WidgetEnterNotifyEventSignalInfo where
+    type HaskellCallbackType WidgetEnterNotifyEventSignalInfo = WidgetEnterNotifyEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetEnterNotifyEventCallback cb
+        cb'' <- mk_WidgetEnterNotifyEventCallback cb'
+        connectSignalFunPtr obj "enter-notify-event" cb'' connectMode
+
+data WidgetEventSignalInfo
+instance SignalInfo WidgetEventSignalInfo where
+    type HaskellCallbackType WidgetEventSignalInfo = WidgetEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetEventCallback cb
+        cb'' <- mk_WidgetEventCallback cb'
+        connectSignalFunPtr obj "event" cb'' connectMode
+
+data WidgetEventAfterSignalInfo
+instance SignalInfo WidgetEventAfterSignalInfo where
+    type HaskellCallbackType WidgetEventAfterSignalInfo = WidgetEventAfterCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetEventAfterCallback cb
+        cb'' <- mk_WidgetEventAfterCallback cb'
+        connectSignalFunPtr obj "event-after" cb'' connectMode
+
+data WidgetFocusSignalInfo
+instance SignalInfo WidgetFocusSignalInfo where
+    type HaskellCallbackType WidgetFocusSignalInfo = WidgetFocusCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetFocusCallback cb
+        cb'' <- mk_WidgetFocusCallback cb'
+        connectSignalFunPtr obj "focus" cb'' connectMode
+
+data WidgetFocusInEventSignalInfo
+instance SignalInfo WidgetFocusInEventSignalInfo where
+    type HaskellCallbackType WidgetFocusInEventSignalInfo = WidgetFocusInEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetFocusInEventCallback cb
+        cb'' <- mk_WidgetFocusInEventCallback cb'
+        connectSignalFunPtr obj "focus-in-event" cb'' connectMode
+
+data WidgetFocusOutEventSignalInfo
+instance SignalInfo WidgetFocusOutEventSignalInfo where
+    type HaskellCallbackType WidgetFocusOutEventSignalInfo = WidgetFocusOutEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetFocusOutEventCallback cb
+        cb'' <- mk_WidgetFocusOutEventCallback cb'
+        connectSignalFunPtr obj "focus-out-event" cb'' connectMode
+
+data WidgetGrabBrokenEventSignalInfo
+instance SignalInfo WidgetGrabBrokenEventSignalInfo where
+    type HaskellCallbackType WidgetGrabBrokenEventSignalInfo = WidgetGrabBrokenEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetGrabBrokenEventCallback cb
+        cb'' <- mk_WidgetGrabBrokenEventCallback cb'
+        connectSignalFunPtr obj "grab-broken-event" cb'' connectMode
+
+data WidgetGrabFocusSignalInfo
+instance SignalInfo WidgetGrabFocusSignalInfo where
+    type HaskellCallbackType WidgetGrabFocusSignalInfo = WidgetGrabFocusCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetGrabFocusCallback cb
+        cb'' <- mk_WidgetGrabFocusCallback cb'
+        connectSignalFunPtr obj "grab-focus" cb'' connectMode
+
+data WidgetGrabNotifySignalInfo
+instance SignalInfo WidgetGrabNotifySignalInfo where
+    type HaskellCallbackType WidgetGrabNotifySignalInfo = WidgetGrabNotifyCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetGrabNotifyCallback cb
+        cb'' <- mk_WidgetGrabNotifyCallback cb'
+        connectSignalFunPtr obj "grab-notify" cb'' connectMode
+
+data WidgetHideSignalInfo
+instance SignalInfo WidgetHideSignalInfo where
+    type HaskellCallbackType WidgetHideSignalInfo = WidgetHideCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetHideCallback cb
+        cb'' <- mk_WidgetHideCallback cb'
+        connectSignalFunPtr obj "hide" cb'' connectMode
+
+data WidgetHierarchyChangedSignalInfo
+instance SignalInfo WidgetHierarchyChangedSignalInfo where
+    type HaskellCallbackType WidgetHierarchyChangedSignalInfo = WidgetHierarchyChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetHierarchyChangedCallback cb
+        cb'' <- mk_WidgetHierarchyChangedCallback cb'
+        connectSignalFunPtr obj "hierarchy-changed" cb'' connectMode
+
+data WidgetKeyPressEventSignalInfo
+instance SignalInfo WidgetKeyPressEventSignalInfo where
+    type HaskellCallbackType WidgetKeyPressEventSignalInfo = WidgetKeyPressEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetKeyPressEventCallback cb
+        cb'' <- mk_WidgetKeyPressEventCallback cb'
+        connectSignalFunPtr obj "key-press-event" cb'' connectMode
+
+data WidgetKeyReleaseEventSignalInfo
+instance SignalInfo WidgetKeyReleaseEventSignalInfo where
+    type HaskellCallbackType WidgetKeyReleaseEventSignalInfo = WidgetKeyReleaseEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetKeyReleaseEventCallback cb
+        cb'' <- mk_WidgetKeyReleaseEventCallback cb'
+        connectSignalFunPtr obj "key-release-event" cb'' connectMode
+
+data WidgetKeynavFailedSignalInfo
+instance SignalInfo WidgetKeynavFailedSignalInfo where
+    type HaskellCallbackType WidgetKeynavFailedSignalInfo = WidgetKeynavFailedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetKeynavFailedCallback cb
+        cb'' <- mk_WidgetKeynavFailedCallback cb'
+        connectSignalFunPtr obj "keynav-failed" cb'' connectMode
+
+data WidgetLeaveNotifyEventSignalInfo
+instance SignalInfo WidgetLeaveNotifyEventSignalInfo where
+    type HaskellCallbackType WidgetLeaveNotifyEventSignalInfo = WidgetLeaveNotifyEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetLeaveNotifyEventCallback cb
+        cb'' <- mk_WidgetLeaveNotifyEventCallback cb'
+        connectSignalFunPtr obj "leave-notify-event" cb'' connectMode
+
+data WidgetMapSignalInfo
+instance SignalInfo WidgetMapSignalInfo where
+    type HaskellCallbackType WidgetMapSignalInfo = WidgetMapCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetMapCallback cb
+        cb'' <- mk_WidgetMapCallback cb'
+        connectSignalFunPtr obj "map" cb'' connectMode
+
+data WidgetMapEventSignalInfo
+instance SignalInfo WidgetMapEventSignalInfo where
+    type HaskellCallbackType WidgetMapEventSignalInfo = WidgetMapEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetMapEventCallback cb
+        cb'' <- mk_WidgetMapEventCallback cb'
+        connectSignalFunPtr obj "map-event" cb'' connectMode
+
+data WidgetMnemonicActivateSignalInfo
+instance SignalInfo WidgetMnemonicActivateSignalInfo where
+    type HaskellCallbackType WidgetMnemonicActivateSignalInfo = WidgetMnemonicActivateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetMnemonicActivateCallback cb
+        cb'' <- mk_WidgetMnemonicActivateCallback cb'
+        connectSignalFunPtr obj "mnemonic-activate" cb'' connectMode
+
+data WidgetMotionNotifyEventSignalInfo
+instance SignalInfo WidgetMotionNotifyEventSignalInfo where
+    type HaskellCallbackType WidgetMotionNotifyEventSignalInfo = WidgetMotionNotifyEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetMotionNotifyEventCallback cb
+        cb'' <- mk_WidgetMotionNotifyEventCallback cb'
+        connectSignalFunPtr obj "motion-notify-event" cb'' connectMode
+
+data WidgetMoveFocusSignalInfo
+instance SignalInfo WidgetMoveFocusSignalInfo where
+    type HaskellCallbackType WidgetMoveFocusSignalInfo = WidgetMoveFocusCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetMoveFocusCallback cb
+        cb'' <- mk_WidgetMoveFocusCallback cb'
+        connectSignalFunPtr obj "move-focus" cb'' connectMode
+
+data WidgetParentSetSignalInfo
+instance SignalInfo WidgetParentSetSignalInfo where
+    type HaskellCallbackType WidgetParentSetSignalInfo = WidgetParentSetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetParentSetCallback cb
+        cb'' <- mk_WidgetParentSetCallback cb'
+        connectSignalFunPtr obj "parent-set" cb'' connectMode
+
+data WidgetPopupMenuSignalInfo
+instance SignalInfo WidgetPopupMenuSignalInfo where
+    type HaskellCallbackType WidgetPopupMenuSignalInfo = WidgetPopupMenuCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetPopupMenuCallback cb
+        cb'' <- mk_WidgetPopupMenuCallback cb'
+        connectSignalFunPtr obj "popup-menu" cb'' connectMode
+
+data WidgetPropertyNotifyEventSignalInfo
+instance SignalInfo WidgetPropertyNotifyEventSignalInfo where
+    type HaskellCallbackType WidgetPropertyNotifyEventSignalInfo = WidgetPropertyNotifyEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetPropertyNotifyEventCallback cb
+        cb'' <- mk_WidgetPropertyNotifyEventCallback cb'
+        connectSignalFunPtr obj "property-notify-event" cb'' connectMode
+
+data WidgetProximityInEventSignalInfo
+instance SignalInfo WidgetProximityInEventSignalInfo where
+    type HaskellCallbackType WidgetProximityInEventSignalInfo = WidgetProximityInEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetProximityInEventCallback cb
+        cb'' <- mk_WidgetProximityInEventCallback cb'
+        connectSignalFunPtr obj "proximity-in-event" cb'' connectMode
+
+data WidgetProximityOutEventSignalInfo
+instance SignalInfo WidgetProximityOutEventSignalInfo where
+    type HaskellCallbackType WidgetProximityOutEventSignalInfo = WidgetProximityOutEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetProximityOutEventCallback cb
+        cb'' <- mk_WidgetProximityOutEventCallback cb'
+        connectSignalFunPtr obj "proximity-out-event" cb'' connectMode
+
+data WidgetQueryTooltipSignalInfo
+instance SignalInfo WidgetQueryTooltipSignalInfo where
+    type HaskellCallbackType WidgetQueryTooltipSignalInfo = WidgetQueryTooltipCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetQueryTooltipCallback cb
+        cb'' <- mk_WidgetQueryTooltipCallback cb'
+        connectSignalFunPtr obj "query-tooltip" cb'' connectMode
+
+data WidgetRealizeSignalInfo
+instance SignalInfo WidgetRealizeSignalInfo where
+    type HaskellCallbackType WidgetRealizeSignalInfo = WidgetRealizeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetRealizeCallback cb
+        cb'' <- mk_WidgetRealizeCallback cb'
+        connectSignalFunPtr obj "realize" cb'' connectMode
+
+data WidgetScreenChangedSignalInfo
+instance SignalInfo WidgetScreenChangedSignalInfo where
+    type HaskellCallbackType WidgetScreenChangedSignalInfo = WidgetScreenChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetScreenChangedCallback cb
+        cb'' <- mk_WidgetScreenChangedCallback cb'
+        connectSignalFunPtr obj "screen-changed" cb'' connectMode
+
+data WidgetScrollEventSignalInfo
+instance SignalInfo WidgetScrollEventSignalInfo where
+    type HaskellCallbackType WidgetScrollEventSignalInfo = WidgetScrollEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetScrollEventCallback cb
+        cb'' <- mk_WidgetScrollEventCallback cb'
+        connectSignalFunPtr obj "scroll-event" cb'' connectMode
+
+data WidgetSelectionClearEventSignalInfo
+instance SignalInfo WidgetSelectionClearEventSignalInfo where
+    type HaskellCallbackType WidgetSelectionClearEventSignalInfo = WidgetSelectionClearEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetSelectionClearEventCallback cb
+        cb'' <- mk_WidgetSelectionClearEventCallback cb'
+        connectSignalFunPtr obj "selection-clear-event" cb'' connectMode
+
+data WidgetSelectionGetSignalInfo
+instance SignalInfo WidgetSelectionGetSignalInfo where
+    type HaskellCallbackType WidgetSelectionGetSignalInfo = WidgetSelectionGetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetSelectionGetCallback cb
+        cb'' <- mk_WidgetSelectionGetCallback cb'
+        connectSignalFunPtr obj "selection-get" cb'' connectMode
+
+data WidgetSelectionNotifyEventSignalInfo
+instance SignalInfo WidgetSelectionNotifyEventSignalInfo where
+    type HaskellCallbackType WidgetSelectionNotifyEventSignalInfo = WidgetSelectionNotifyEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetSelectionNotifyEventCallback cb
+        cb'' <- mk_WidgetSelectionNotifyEventCallback cb'
+        connectSignalFunPtr obj "selection-notify-event" cb'' connectMode
+
+data WidgetSelectionReceivedSignalInfo
+instance SignalInfo WidgetSelectionReceivedSignalInfo where
+    type HaskellCallbackType WidgetSelectionReceivedSignalInfo = WidgetSelectionReceivedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetSelectionReceivedCallback cb
+        cb'' <- mk_WidgetSelectionReceivedCallback cb'
+        connectSignalFunPtr obj "selection-received" cb'' connectMode
+
+data WidgetSelectionRequestEventSignalInfo
+instance SignalInfo WidgetSelectionRequestEventSignalInfo where
+    type HaskellCallbackType WidgetSelectionRequestEventSignalInfo = WidgetSelectionRequestEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetSelectionRequestEventCallback cb
+        cb'' <- mk_WidgetSelectionRequestEventCallback cb'
+        connectSignalFunPtr obj "selection-request-event" cb'' connectMode
+
+data WidgetShowSignalInfo
+instance SignalInfo WidgetShowSignalInfo where
+    type HaskellCallbackType WidgetShowSignalInfo = WidgetShowCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetShowCallback cb
+        cb'' <- mk_WidgetShowCallback cb'
+        connectSignalFunPtr obj "show" cb'' connectMode
+
+data WidgetShowHelpSignalInfo
+instance SignalInfo WidgetShowHelpSignalInfo where
+    type HaskellCallbackType WidgetShowHelpSignalInfo = WidgetShowHelpCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetShowHelpCallback cb
+        cb'' <- mk_WidgetShowHelpCallback cb'
+        connectSignalFunPtr obj "show-help" cb'' connectMode
+
+data WidgetSizeAllocateSignalInfo
+instance SignalInfo WidgetSizeAllocateSignalInfo where
+    type HaskellCallbackType WidgetSizeAllocateSignalInfo = WidgetSizeAllocateCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetSizeAllocateCallback cb
+        cb'' <- mk_WidgetSizeAllocateCallback cb'
+        connectSignalFunPtr obj "size-allocate" cb'' connectMode
+
+data WidgetStateChangedSignalInfo
+instance SignalInfo WidgetStateChangedSignalInfo where
+    type HaskellCallbackType WidgetStateChangedSignalInfo = WidgetStateChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetStateChangedCallback cb
+        cb'' <- mk_WidgetStateChangedCallback cb'
+        connectSignalFunPtr obj "state-changed" cb'' connectMode
+
+data WidgetStateFlagsChangedSignalInfo
+instance SignalInfo WidgetStateFlagsChangedSignalInfo where
+    type HaskellCallbackType WidgetStateFlagsChangedSignalInfo = WidgetStateFlagsChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetStateFlagsChangedCallback cb
+        cb'' <- mk_WidgetStateFlagsChangedCallback cb'
+        connectSignalFunPtr obj "state-flags-changed" cb'' connectMode
+
+data WidgetStyleSetSignalInfo
+instance SignalInfo WidgetStyleSetSignalInfo where
+    type HaskellCallbackType WidgetStyleSetSignalInfo = WidgetStyleSetCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetStyleSetCallback cb
+        cb'' <- mk_WidgetStyleSetCallback cb'
+        connectSignalFunPtr obj "style-set" cb'' connectMode
+
+data WidgetStyleUpdatedSignalInfo
+instance SignalInfo WidgetStyleUpdatedSignalInfo where
+    type HaskellCallbackType WidgetStyleUpdatedSignalInfo = WidgetStyleUpdatedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetStyleUpdatedCallback cb
+        cb'' <- mk_WidgetStyleUpdatedCallback cb'
+        connectSignalFunPtr obj "style-updated" cb'' connectMode
+
+data WidgetTouchEventSignalInfo
+instance SignalInfo WidgetTouchEventSignalInfo where
+    type HaskellCallbackType WidgetTouchEventSignalInfo = WidgetTouchEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetTouchEventCallback cb
+        cb'' <- mk_WidgetTouchEventCallback cb'
+        connectSignalFunPtr obj "touch-event" cb'' connectMode
+
+data WidgetUnmapSignalInfo
+instance SignalInfo WidgetUnmapSignalInfo where
+    type HaskellCallbackType WidgetUnmapSignalInfo = WidgetUnmapCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetUnmapCallback cb
+        cb'' <- mk_WidgetUnmapCallback cb'
+        connectSignalFunPtr obj "unmap" cb'' connectMode
+
+data WidgetUnmapEventSignalInfo
+instance SignalInfo WidgetUnmapEventSignalInfo where
+    type HaskellCallbackType WidgetUnmapEventSignalInfo = WidgetUnmapEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetUnmapEventCallback cb
+        cb'' <- mk_WidgetUnmapEventCallback cb'
+        connectSignalFunPtr obj "unmap-event" cb'' connectMode
+
+data WidgetUnrealizeSignalInfo
+instance SignalInfo WidgetUnrealizeSignalInfo where
+    type HaskellCallbackType WidgetUnrealizeSignalInfo = WidgetUnrealizeCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetUnrealizeCallback cb
+        cb'' <- mk_WidgetUnrealizeCallback cb'
+        connectSignalFunPtr obj "unrealize" cb'' connectMode
+
+data WidgetVisibilityNotifyEventSignalInfo
+instance SignalInfo WidgetVisibilityNotifyEventSignalInfo where
+    type HaskellCallbackType WidgetVisibilityNotifyEventSignalInfo = WidgetVisibilityNotifyEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetVisibilityNotifyEventCallback cb
+        cb'' <- mk_WidgetVisibilityNotifyEventCallback cb'
+        connectSignalFunPtr obj "visibility-notify-event" cb'' connectMode
+
+data WidgetWindowStateEventSignalInfo
+instance SignalInfo WidgetWindowStateEventSignalInfo where
+    type HaskellCallbackType WidgetWindowStateEventSignalInfo = WidgetWindowStateEventCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WidgetWindowStateEventCallback cb
+        cb'' <- mk_WidgetWindowStateEventCallback cb'
+        connectSignalFunPtr obj "window-state-event" cb'' connectMode
+
+type instance O.SignalList Widget = WidgetSignalList
+type WidgetSignalList = ('[ '("accelClosuresChanged", WidgetAccelClosuresChangedSignalInfo), '("buttonPressEvent", WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", WidgetCanActivateAccelSignalInfo), '("childNotify", WidgetChildNotifySignalInfo), '("compositedChanged", WidgetCompositedChangedSignalInfo), '("configureEvent", WidgetConfigureEventSignalInfo), '("damageEvent", WidgetDamageEventSignalInfo), '("deleteEvent", WidgetDeleteEventSignalInfo), '("destroy", WidgetDestroySignalInfo), '("destroyEvent", WidgetDestroyEventSignalInfo), '("directionChanged", WidgetDirectionChangedSignalInfo), '("dragBegin", WidgetDragBeginSignalInfo), '("dragDataDelete", WidgetDragDataDeleteSignalInfo), '("dragDataGet", WidgetDragDataGetSignalInfo), '("dragDataReceived", WidgetDragDataReceivedSignalInfo), '("dragDrop", WidgetDragDropSignalInfo), '("dragEnd", WidgetDragEndSignalInfo), '("dragFailed", WidgetDragFailedSignalInfo), '("dragLeave", WidgetDragLeaveSignalInfo), '("dragMotion", WidgetDragMotionSignalInfo), '("draw", WidgetDrawSignalInfo), '("enterNotifyEvent", WidgetEnterNotifyEventSignalInfo), '("event", WidgetEventSignalInfo), '("eventAfter", WidgetEventAfterSignalInfo), '("focus", WidgetFocusSignalInfo), '("focusInEvent", WidgetFocusInEventSignalInfo), '("focusOutEvent", WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", WidgetGrabBrokenEventSignalInfo), '("grabFocus", WidgetGrabFocusSignalInfo), '("grabNotify", WidgetGrabNotifySignalInfo), '("hide", WidgetHideSignalInfo), '("hierarchyChanged", WidgetHierarchyChangedSignalInfo), '("keyPressEvent", WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", WidgetKeyReleaseEventSignalInfo), '("keynavFailed", WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", WidgetLeaveNotifyEventSignalInfo), '("map", WidgetMapSignalInfo), '("mapEvent", WidgetMapEventSignalInfo), '("mnemonicActivate", WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", WidgetMotionNotifyEventSignalInfo), '("moveFocus", WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", WidgetParentSetSignalInfo), '("popupMenu", WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", WidgetProximityInEventSignalInfo), '("proximityOutEvent", WidgetProximityOutEventSignalInfo), '("queryTooltip", WidgetQueryTooltipSignalInfo), '("realize", WidgetRealizeSignalInfo), '("screenChanged", WidgetScreenChangedSignalInfo), '("scrollEvent", WidgetScrollEventSignalInfo), '("selectionClearEvent", WidgetSelectionClearEventSignalInfo), '("selectionGet", WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", WidgetSelectionRequestEventSignalInfo), '("show", WidgetShowSignalInfo), '("showHelp", WidgetShowHelpSignalInfo), '("sizeAllocate", WidgetSizeAllocateSignalInfo), '("stateChanged", WidgetStateChangedSignalInfo), '("stateFlagsChanged", WidgetStateFlagsChangedSignalInfo), '("styleSet", WidgetStyleSetSignalInfo), '("styleUpdated", WidgetStyleUpdatedSignalInfo), '("touchEvent", WidgetTouchEventSignalInfo), '("unmap", WidgetUnmapSignalInfo), '("unmapEvent", WidgetUnmapEventSignalInfo), '("unrealize", WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Widget::activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s activatable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_activate" gtk_widget_activate :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+For widgets that can be “activated” (buttons, menu items, etc.)
+this function activates them. Activation is what happens when you
+press Enter on a widget during key navigation. If /@widget@/ isn\'t
+activatable, the function returns 'False'.
+-}
+widgetActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s activatable -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget was activatable -}
+widgetActivate widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_activate widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetActivateMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetActivateMethodInfo a signature where
+    overloadedMethod _ = widgetActivate
+
+#endif
+
+-- method Widget::add_accelerator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget to install an accelerator on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget signal to emit on accelerator activation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accel group for this widget, added to its toplevel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GDK keyval of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "modifier key combination of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_flags", argType = TInterface (Name {namespace = "Gtk", name = "AccelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flag accelerators, e.g. %GTK_ACCEL_VISIBLE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_add_accelerator" gtk_widget_add_accelerator :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- accel_signal : TBasicType TUTF8
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    Word32 ->                               -- accel_key : TBasicType TUInt
+    CUInt ->                                -- accel_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    CUInt ->                                -- accel_flags : TInterface (Name {namespace = "Gtk", name = "AccelFlags"})
+    IO ()
+
+{- |
+Installs an accelerator for this /@widget@/ in /@accelGroup@/ that causes
+/@accelSignal@/ to be emitted if the accelerator is activated.
+The /@accelGroup@/ needs to be added to the widget’s toplevel via
+'GI.Gtk.Objects.Window.windowAddAccelGroup', and the signal must be of type 'GI.GObject.Flags.SignalFlagsAction'.
+Accelerators added through this function are not user changeable during
+runtime. If you want to support accelerators that can be changed by the
+user, use 'GI.Gtk.Objects.AccelMap.accelMapAddEntry' and 'GI.Gtk.Objects.Widget.widgetSetAccelPath' or
+'GI.Gtk.Objects.MenuItem.menuItemSetAccelPath' instead.
+-}
+widgetAddAccelerator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gtk.AccelGroup.IsAccelGroup b) =>
+    a
+    {- ^ /@widget@/: widget to install an accelerator on -}
+    -> T.Text
+    {- ^ /@accelSignal@/: widget signal to emit on accelerator activation -}
+    -> b
+    {- ^ /@accelGroup@/: accel group for this widget, added to its toplevel -}
+    -> Word32
+    {- ^ /@accelKey@/: GDK keyval of the accelerator -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: modifier key combination of the accelerator -}
+    -> [Gtk.Flags.AccelFlags]
+    {- ^ /@accelFlags@/: flag accelerators, e.g. 'GI.Gtk.Flags.AccelFlagsVisible' -}
+    -> m ()
+widgetAddAccelerator widget accelSignal accelGroup accelKey accelMods accelFlags = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    accelSignal' <- textToCString accelSignal
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    let accelMods' = gflagsToWord accelMods
+    let accelFlags' = gflagsToWord accelFlags
+    gtk_widget_add_accelerator widget' accelSignal' accelGroup' accelKey accelMods' accelFlags'
+    touchManagedPtr widget
+    touchManagedPtr accelGroup
+    freeMem accelSignal'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetAddAcceleratorMethodInfo
+instance (signature ~ (T.Text -> b -> Word32 -> [Gdk.Flags.ModifierType] -> [Gtk.Flags.AccelFlags] -> m ()), MonadIO m, IsWidget a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo WidgetAddAcceleratorMethodInfo a signature where
+    overloadedMethod _ = widgetAddAccelerator
+
+#endif
+
+-- method Widget::add_device_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "events", argType = TInterface (Name {namespace = "Gdk", name = "EventMask"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an event mask, see #GdkEventMask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_add_device_events" gtk_widget_add_device_events :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    CUInt ->                                -- events : TInterface (Name {namespace = "Gdk", name = "EventMask"})
+    IO ()
+
+{- |
+Adds the device events in the bitfield /@events@/ to the event mask for
+/@widget@/. See 'GI.Gtk.Objects.Widget.widgetSetDeviceEvents' for details.
+
+/Since: 3.0/
+-}
+widgetAddDeviceEvents ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> [Gdk.Flags.EventMask]
+    {- ^ /@events@/: an event mask, see 'GI.Gdk.Flags.EventMask' -}
+    -> m ()
+widgetAddDeviceEvents widget device events = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    device' <- unsafeManagedPtrCastPtr device
+    let events' = gflagsToWord events
+    gtk_widget_add_device_events widget' device' events'
+    touchManagedPtr widget
+    touchManagedPtr device
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetAddDeviceEventsMethodInfo
+instance (signature ~ (b -> [Gdk.Flags.EventMask] -> m ()), MonadIO m, IsWidget a, Gdk.Device.IsDevice b) => O.MethodInfo WidgetAddDeviceEventsMethodInfo a signature where
+    overloadedMethod _ = widgetAddDeviceEvents
+
+#endif
+
+-- method Widget::add_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "events", argType = TInterface (Name {namespace = "Gdk", name = "EventMask"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an event mask, see #GdkEventMask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_add_events" gtk_widget_add_events :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- events : TInterface (Name {namespace = "Gdk", name = "EventMask"})
+    IO ()
+
+{- |
+Adds the events in the bitfield /@events@/ to the event mask for
+/@widget@/. See 'GI.Gtk.Objects.Widget.widgetSetEvents' and the
+[input handling overview][event-masks] for details.
+-}
+widgetAddEvents ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> [Gdk.Flags.EventMask]
+    {- ^ /@events@/: an event mask, see 'GI.Gdk.Flags.EventMask' -}
+    -> m ()
+widgetAddEvents widget events = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let events' = gflagsToWord events
+    gtk_widget_add_events widget' events'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetAddEventsMethodInfo
+instance (signature ~ ([Gdk.Flags.EventMask] -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetAddEventsMethodInfo a signature where
+    overloadedMethod _ = widgetAddEvents
+
+#endif
+
+-- method Widget::add_mnemonic_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that acts as a mnemonic label for @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_add_mnemonic_label" gtk_widget_add_mnemonic_label :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Widget ->                           -- label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds a widget to the list of mnemonic labels for
+this widget. (See 'GI.Gtk.Objects.Widget.widgetListMnemonicLabels'). Note the
+list of mnemonic labels for the widget is cleared when the
+widget is destroyed, so the caller must make sure to update
+its internal state at this point as well, by using a connection
+to the 'GI.Gtk.Objects.Widget.Widget'::@/destroy/@ signal or a weak notifier.
+
+/Since: 2.4/
+-}
+widgetAddMnemonicLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Widget.Widget' that acts as a mnemonic label for /@widget@/ -}
+    -> m ()
+widgetAddMnemonicLabel widget label = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    label' <- unsafeManagedPtrCastPtr label
+    gtk_widget_add_mnemonic_label widget' label'
+    touchManagedPtr widget
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetAddMnemonicLabelMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, IsWidget b) => O.MethodInfo WidgetAddMnemonicLabelMethodInfo a signature where
+    overloadedMethod _ = widgetAddMnemonicLabel
+
+#endif
+
+-- method Widget::add_tick_callback
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gtk", name = "TickCallback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call for updating animations", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call to free @user_data when the callback is removed.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_add_tick_callback" gtk_widget_add_tick_callback :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    FunPtr Gtk.Callbacks.C_TickCallback ->  -- callback : TInterface (Name {namespace = "Gtk", name = "TickCallback"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
+    IO Word32
+
+{- |
+Queues an animation frame update and adds a callback to be called
+before each frame. Until the tick callback is removed, it will be
+called frequently (usually at the frame rate of the output device
+or as quickly as the application can be repainted, whichever is
+slower). For this reason, is most suitable for handling graphics
+that change every frame or every few frames. The tick callback does
+not automatically imply a relayout or repaint. If you want a
+repaint or relayout, and aren’t changing widget properties that
+would trigger that (for example, changing the text of a 'GI.Gtk.Objects.Label.Label'),
+then you will have to call 'GI.Gtk.Objects.Widget.widgetQueueResize' or
+'GI.Gtk.Objects.Widget.widgetQueueDrawArea' yourself.
+
+'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime' should generally be used for timing
+continuous animations and
+'GI.Gdk.Structs.FrameTimings.frameTimingsGetPredictedPresentationTime' if you are
+trying to display isolated frames at particular times.
+
+This is a more convenient alternative to connecting directly to the
+'GI.Gdk.Objects.FrameClock.FrameClock'::@/update/@ signal of 'GI.Gdk.Objects.FrameClock.FrameClock', since you don\'t
+have to worry about when a 'GI.Gdk.Objects.FrameClock.FrameClock' is assigned to a widget.
+
+/Since: 3.8/
+-}
+widgetAddTickCallback ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Callbacks.TickCallback
+    {- ^ /@callback@/: function to call for updating animations -}
+    -> m Word32
+    {- ^ __Returns:__ an id for the connection of this callback. Remove the callback
+    by passing it to 'GI.Gtk.Objects.Widget.widgetRemoveTickCallback' -}
+widgetAddTickCallback widget callback = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    callback' <- Gtk.Callbacks.mk_TickCallback (Gtk.Callbacks.wrap_TickCallback Nothing (Gtk.Callbacks.drop_closures_TickCallback callback))
+    let userData = castFunPtrToPtr callback'
+    let notify = safeFreeFunPtrPtr
+    result <- gtk_widget_add_tick_callback widget' callback' userData notify
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetAddTickCallbackMethodInfo
+instance (signature ~ (Gtk.Callbacks.TickCallback -> m Word32), MonadIO m, IsWidget a) => O.MethodInfo WidgetAddTickCallbackMethodInfo a signature where
+    overloadedMethod _ = widgetAddTickCallback
+
+#endif
+
+-- method Widget::can_activate_accel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ID of a signal installed on @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_can_activate_accel" gtk_widget_can_activate_accel :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Word32 ->                               -- signal_id : TBasicType TUInt
+    IO CInt
+
+{- |
+Determines whether an accelerator that activates the signal
+identified by /@signalId@/ can currently be activated.
+This is done by emitting the 'GI.Gtk.Objects.Widget.Widget'::@/can-activate-accel/@
+signal on /@widget@/; if the signal isn’t overridden by a
+handler or in a derived widget, then the default check is
+that the widget must be sensitive, and the widget and all
+its ancestors mapped.
+
+/Since: 2.4/
+-}
+widgetCanActivateAccel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Word32
+    {- ^ /@signalId@/: the ID of a signal installed on /@widget@/ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the accelerator can be activated. -}
+widgetCanActivateAccel widget signalId = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_can_activate_accel widget' signalId
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetCanActivateAccelMethodInfo
+instance (signature ~ (Word32 -> m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetCanActivateAccelMethodInfo a signature where
+    overloadedMethod _ = widgetCanActivateAccel
+
+#endif
+
+-- method Widget::child_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "DirectionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "direction of focus movement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_child_focus" gtk_widget_child_focus :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "DirectionType"})
+    IO CInt
+
+{- |
+This function is used by custom widget implementations; if you\'re
+writing an app, you’d use 'GI.Gtk.Objects.Widget.widgetGrabFocus' to move the focus
+to a particular widget, and 'GI.Gtk.Objects.Container.containerSetFocusChain' to
+change the focus tab order. So you may want to investigate those
+functions instead.
+
+'GI.Gtk.Objects.Widget.widgetChildFocus' is called by containers as the user moves
+around the window using keyboard shortcuts. /@direction@/ indicates
+what kind of motion is taking place (up, down, left, right, tab
+forward, tab backward). 'GI.Gtk.Objects.Widget.widgetChildFocus' emits the
+'GI.Gtk.Objects.Widget.Widget'::@/focus/@ signal; widgets override the default handler
+for this signal in order to implement appropriate focus behavior.
+
+The default ::focus handler for a widget should return 'True' if
+moving in /@direction@/ left the focus on a focusable location inside
+that widget, and 'False' if moving in /@direction@/ moved the focus
+outside the widget. If returning 'True', widgets normally
+call 'GI.Gtk.Objects.Widget.widgetGrabFocus' to place the focus accordingly;
+if returning 'False', they don’t modify the current focus location.
+-}
+widgetChildFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.DirectionType
+    {- ^ /@direction@/: direction of focus movement -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if focus ended up inside /@widget@/ -}
+widgetChildFocus widget direction = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let direction' = (fromIntegral . fromEnum) direction
+    result <- gtk_widget_child_focus widget' direction'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetChildFocusMethodInfo
+instance (signature ~ (Gtk.Enums.DirectionType -> m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetChildFocusMethodInfo a signature where
+    overloadedMethod _ = widgetChildFocus
+
+#endif
+
+-- method Widget::child_notify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a child property installed on the\n                 class of @widget\8217s parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_child_notify" gtk_widget_child_notify :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- child_property : TBasicType TUTF8
+    IO ()
+
+{- |
+Emits a 'GI.Gtk.Objects.Widget.Widget'::@/child-notify/@ signal for the
+[child property][child-properties] /@childProperty@/
+on /@widget@/.
+
+This is the analogue of 'GI.GObject.Objects.Object.objectNotify' for child properties.
+
+Also see 'GI.Gtk.Objects.Container.containerChildNotify'.
+-}
+widgetChildNotify ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@childProperty@/: the name of a child property installed on the
+                 class of /@widget@/’s parent -}
+    -> m ()
+widgetChildNotify widget childProperty = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    childProperty' <- textToCString childProperty
+    gtk_widget_child_notify widget' childProperty'
+    touchManagedPtr widget
+    freeMem childProperty'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetChildNotifyMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetChildNotifyMethodInfo a signature where
+    overloadedMethod _ = widgetChildNotify
+
+#endif
+
+-- method Widget::class_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path_length", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the length of the\n    class path, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the class path as an\n    allocated string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "path_reversed", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the reverse\n    class path as an allocated string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_class_path" gtk_widget_class_path :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Word32 ->                           -- path_length : TBasicType TUInt
+    Ptr CString ->                          -- path : TBasicType TUTF8
+    Ptr CString ->                          -- path_reversed : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED widgetClassPath ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetGetPath' instead"] #-}
+{- |
+Same as 'GI.Gtk.Objects.Widget.widgetPath', but always uses the name of a widget’s type,
+never uses a custom name set with 'GI.Gtk.Objects.Widget.widgetSetName'.
+-}
+widgetClassPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ((Word32, T.Text, T.Text))
+widgetClassPath widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    pathLength <- allocMem :: IO (Ptr Word32)
+    path <- allocMem :: IO (Ptr CString)
+    pathReversed <- allocMem :: IO (Ptr CString)
+    gtk_widget_class_path widget' pathLength path pathReversed
+    pathLength' <- peek pathLength
+    path' <- peek path
+    path'' <- cstringToText path'
+    freeMem path'
+    pathReversed' <- peek pathReversed
+    pathReversed'' <- cstringToText pathReversed'
+    freeMem pathReversed'
+    touchManagedPtr widget
+    freeMem pathLength
+    freeMem path
+    freeMem pathReversed
+    return (pathLength', path'', pathReversed'')
+
+#if ENABLE_OVERLOADING
+data WidgetClassPathMethodInfo
+instance (signature ~ (m ((Word32, T.Text, T.Text))), MonadIO m, IsWidget a) => O.MethodInfo WidgetClassPathMethodInfo a signature where
+    overloadedMethod _ = widgetClassPath
+
+#endif
+
+-- method Widget::compute_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orientation", argType = TInterface (Name {namespace = "Gtk", name = "Orientation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "expand direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_compute_expand" gtk_widget_compute_expand :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- orientation : TInterface (Name {namespace = "Gtk", name = "Orientation"})
+    IO CInt
+
+{- |
+Computes whether a container should give this widget extra space
+when possible. Containers should check this, rather than
+looking at 'GI.Gtk.Objects.Widget.widgetGetHexpand' or 'GI.Gtk.Objects.Widget.widgetGetVexpand'.
+
+This function already checks whether the widget is visible, so
+visibility does not need to be checked separately. Non-visible
+widgets are not expanded.
+
+The computed expand value uses either the expand setting explicitly
+set on the widget itself, or, if none has been explicitly set,
+the widget may expand if some of its children do.
+-}
+widgetComputeExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget -}
+    -> Gtk.Enums.Orientation
+    {- ^ /@orientation@/: expand direction -}
+    -> m Bool
+    {- ^ __Returns:__ whether widget tree rooted here should be expanded -}
+widgetComputeExpand widget orientation = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let orientation' = (fromIntegral . fromEnum) orientation
+    result <- gtk_widget_compute_expand widget' orientation'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetComputeExpandMethodInfo
+instance (signature ~ (Gtk.Enums.Orientation -> m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetComputeExpandMethodInfo a signature where
+    overloadedMethod _ = widgetComputeExpand
+
+#endif
+
+-- method Widget::create_pango_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Context"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_create_pango_context" gtk_widget_create_pango_context :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Pango.Context.Context)
+
+{- |
+Creates a new 'GI.Pango.Objects.Context.Context' with the appropriate font map,
+font options, font description, and base direction for drawing
+text for this widget. See also 'GI.Gtk.Objects.Widget.widgetGetPangoContext'.
+-}
+widgetCreatePangoContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Pango.Context.Context
+    {- ^ __Returns:__ the new 'GI.Pango.Objects.Context.Context' -}
+widgetCreatePangoContext widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_create_pango_context widget'
+    checkUnexpectedReturnNULL "widgetCreatePangoContext" result
+    result' <- (wrapObject Pango.Context.Context) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetCreatePangoContextMethodInfo
+instance (signature ~ (m Pango.Context.Context), MonadIO m, IsWidget a) => O.MethodInfo WidgetCreatePangoContextMethodInfo a signature where
+    overloadedMethod _ = widgetCreatePangoContext
+
+#endif
+
+-- method Widget::create_pango_layout
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "text to set on the layout (can be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Layout"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_create_pango_layout" gtk_widget_create_pango_layout :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO (Ptr Pango.Layout.Layout)
+
+{- |
+Creates a new 'GI.Pango.Objects.Layout.Layout' with the appropriate font map,
+font description, and base direction for drawing text for
+this widget.
+
+If you keep a 'GI.Pango.Objects.Layout.Layout' created in this way around, you need
+to re-create it when the widget 'GI.Pango.Objects.Context.Context' is replaced.
+This can be tracked by using the 'GI.Gtk.Objects.Widget.Widget'::@/screen-changed/@ signal
+on the widget.
+-}
+widgetCreatePangoLayout ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (T.Text)
+    {- ^ /@text@/: text to set on the layout (can be 'Nothing') -}
+    -> m Pango.Layout.Layout
+    {- ^ __Returns:__ the new 'GI.Pango.Objects.Layout.Layout' -}
+widgetCreatePangoLayout widget text = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeText <- case text of
+        Nothing -> return nullPtr
+        Just jText -> do
+            jText' <- textToCString jText
+            return jText'
+    result <- gtk_widget_create_pango_layout widget' maybeText
+    checkUnexpectedReturnNULL "widgetCreatePangoLayout" result
+    result' <- (wrapObject Pango.Layout.Layout) result
+    touchManagedPtr widget
+    freeMem maybeText
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetCreatePangoLayoutMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m Pango.Layout.Layout), MonadIO m, IsWidget a) => O.MethodInfo WidgetCreatePangoLayoutMethodInfo a signature where
+    overloadedMethod _ = widgetCreatePangoLayout
+
+#endif
+
+-- method Widget::destroy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_destroy" gtk_widget_destroy :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Destroys a widget.
+
+When a widget is destroyed all references it holds on other objects
+will be released:
+
+ - if the widget is inside a container, it will be removed from its
+ parent
+ - if the widget is a container, all its children will be destroyed,
+ recursively
+ - if the widget is a top level, it will be removed from the list
+ of top level widgets that GTK+ maintains internally
+
+It\'s expected that all references held on the widget will also
+be released; you should connect to the 'GI.Gtk.Objects.Widget.Widget'::@/destroy/@ signal
+if you hold a reference to /@widget@/ and you wish to remove it when
+this function is called. It is not necessary to do so if you are
+implementing a 'GI.Gtk.Objects.Container.Container', as you\'ll be able to use the
+'GI.Gtk.Structs.ContainerClass.ContainerClass'.@/remove/@() virtual function for that.
+
+It\'s important to notice that 'GI.Gtk.Objects.Widget.widgetDestroy' will only cause
+the /@widget@/ to be finalized if no additional references, acquired
+using 'GI.GObject.Objects.Object.objectRef', are held on it. In case additional references
+are in place, the /@widget@/ will be in an \"inert\" state after calling
+this function; /@widget@/ will still point to valid memory, allowing you
+to release the references you hold, but you may not query the widget\'s
+own state.
+
+You should typically call this function on top level widgets, and
+rarely on child widgets.
+
+See also: 'GI.Gtk.Objects.Container.containerRemove'
+-}
+widgetDestroy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetDestroy widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_destroy widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDestroyMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDestroyMethodInfo a signature where
+    overloadedMethod _ = widgetDestroy
+
+#endif
+
+-- method Widget::destroyed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget_pointer", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of a variable that contains @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_destroyed" gtk_widget_destroyed :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr (Ptr Widget) ->                     -- widget_pointer : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+This function sets */@widgetPointer@/ to 'Nothing' if /@widgetPointer@/ !=
+'Nothing'.  It’s intended to be used as a callback connected to the
+“destroy” signal of a widget. You connect 'GI.Gtk.Objects.Widget.widgetDestroyed'
+as a signal handler, and pass the address of your widget variable
+as user data. Then when the widget is destroyed, the variable will
+be set to 'Nothing'. Useful for example to avoid multiple copies
+of the same dialog.
+-}
+widgetDestroyed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@widgetPointer@/: address of a variable that contains /@widget@/ -}
+    -> m (Widget)
+widgetDestroyed widget widgetPointer = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    widgetPointer' <- unsafeManagedPtrCastPtr widgetPointer
+    widgetPointer'' <- allocMem :: IO (Ptr (Ptr Widget))
+    poke widgetPointer'' widgetPointer'
+    gtk_widget_destroyed widget' widgetPointer''
+    widgetPointer''' <- peek widgetPointer''
+    widgetPointer'''' <- (newObject Widget) widgetPointer'''
+    touchManagedPtr widget
+    touchManagedPtr widgetPointer
+    freeMem widgetPointer''
+    return widgetPointer''''
+
+#if ENABLE_OVERLOADING
+data WidgetDestroyedMethodInfo
+instance (signature ~ (b -> m (Widget)), MonadIO m, IsWidget a, IsWidget b) => O.MethodInfo WidgetDestroyedMethodInfo a signature where
+    overloadedMethod _ = widgetDestroyed
+
+#endif
+
+-- method Widget::device_is_shadowed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_device_is_shadowed" gtk_widget_device_is_shadowed :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    IO CInt
+
+{- |
+Returns 'True' if /@device@/ has been shadowed by a GTK+
+device grab on another widget, so it would stop sending
+events to /@widget@/. This may be used in the
+'GI.Gtk.Objects.Widget.Widget'::@/grab-notify/@ signal to check for specific
+devices. See 'GI.Gtk.Functions.deviceGrabAdd'.
+
+/Since: 3.0/
+-}
+widgetDeviceIsShadowed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if there is an ongoing grab on /@device@/
+         by another 'GI.Gtk.Objects.Widget.Widget' than /@widget@/. -}
+widgetDeviceIsShadowed widget device = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    device' <- unsafeManagedPtrCastPtr device
+    result <- gtk_widget_device_is_shadowed widget' device'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr device
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetDeviceIsShadowedMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsWidget a, Gdk.Device.IsDevice b) => O.MethodInfo WidgetDeviceIsShadowedMethodInfo a signature where
+    overloadedMethod _ = widgetDeviceIsShadowed
+
+#endif
+
+-- method Widget::drag_begin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The targets (data formats) in which the\n   source can provide the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A bitmask of the allowed drag actions for this drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The button the user clicked to start the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The event that triggered the start of the drag,\n   or %NULL if none can be obtained.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_begin" gtk_drag_begin :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.TargetList.TargetList ->        -- targets : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    Int32 ->                                -- button : TBasicType TInt
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO (Ptr Gdk.DragContext.DragContext)
+
+{-# DEPRECATED widgetDragBegin ["(Since version 3.10)","Use 'GI.Gtk.Objects.Widget.widgetDragBeginWithCoordinates' instead"] #-}
+{- |
+This function is equivalent to 'GI.Gtk.Objects.Widget.widgetDragBeginWithCoordinates',
+passing -1, -1 as coordinates.
+-}
+widgetDragBegin ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the source widget -}
+    -> Gtk.TargetList.TargetList
+    {- ^ /@targets@/: The targets (data formats) in which the
+   source can provide the data -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: A bitmask of the allowed drag actions for this drag -}
+    -> Int32
+    {- ^ /@button@/: The button the user clicked to start the drag -}
+    -> Maybe (Gdk.Event.Event)
+    {- ^ /@event@/: The event that triggered the start of the drag,
+   or 'Nothing' if none can be obtained. -}
+    -> m Gdk.DragContext.DragContext
+    {- ^ __Returns:__ the context for this drag -}
+widgetDragBegin widget targets actions button event = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    targets' <- unsafeManagedPtrGetPtr targets
+    let actions' = gflagsToWord actions
+    maybeEvent <- case event of
+        Nothing -> return nullPtr
+        Just jEvent -> do
+            jEvent' <- unsafeManagedPtrGetPtr jEvent
+            return jEvent'
+    result <- gtk_drag_begin widget' targets' actions' button maybeEvent
+    checkUnexpectedReturnNULL "widgetDragBegin" result
+    result' <- (newObject Gdk.DragContext.DragContext) result
+    touchManagedPtr widget
+    touchManagedPtr targets
+    whenJust event touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetDragBeginMethodInfo
+instance (signature ~ (Gtk.TargetList.TargetList -> [Gdk.Flags.DragAction] -> Int32 -> Maybe (Gdk.Event.Event) -> m Gdk.DragContext.DragContext), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragBeginMethodInfo a signature where
+    overloadedMethod _ = widgetDragBegin
+
+#endif
+
+-- method Widget::drag_begin_with_coordinates
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The targets (data formats) in which the\n   source can provide the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A bitmask of the allowed drag actions for this drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The button the user clicked to start the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The event that triggered the start of the drag,\n   or %NULL if none can be obtained.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The initial x coordinate to start dragging from, in the coordinate space\n   of @widget. If -1 is passed, the coordinates are retrieved from @event or\n   the current pointer position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The initial y coordinate to start dragging from, in the coordinate space\n   of @widget. If -1 is passed, the coordinates are retrieved from @event or\n   the current pointer position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "DragContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_begin_with_coordinates" gtk_drag_begin_with_coordinates :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.TargetList.TargetList ->        -- targets : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    Int32 ->                                -- button : TBasicType TInt
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO (Ptr Gdk.DragContext.DragContext)
+
+{- |
+Initiates a drag on the source side. The function only needs to be used
+when the application is starting drags itself, and is not needed when
+'GI.Gtk.Objects.Widget.widgetDragSourceSet' is used.
+
+The /@event@/ is used to retrieve the timestamp that will be used internally to
+grab the pointer.  If /@event@/ is 'Nothing', then 'GI.Gdk.Constants.CURRENT_TIME' will be used.
+However, you should try to pass a real event in all cases, since that can be
+used to get information about the drag.
+
+Generally there are three cases when you want to start a drag by hand by
+calling this function:
+
+1. During a 'GI.Gtk.Objects.Widget.Widget'::@/button-press-event/@ handler, if you want to start a drag
+immediately when the user presses the mouse button.  Pass the /@event@/
+that you have in your 'GI.Gtk.Objects.Widget.Widget'::@/button-press-event/@ handler.
+
+2. During a 'GI.Gtk.Objects.Widget.Widget'::@/motion-notify-event/@ handler, if you want to start a drag
+when the mouse moves past a certain threshold distance after a button-press.
+Pass the /@event@/ that you have in your 'GI.Gtk.Objects.Widget.Widget'::@/motion-notify-event/@ handler.
+
+3. During a timeout handler, if you want to start a drag after the mouse
+button is held down for some time.  Try to save the last event that you got
+from the mouse, using 'GI.Gdk.Unions.Event.eventCopy', and pass it to this function
+(remember to free the event with 'GI.Gdk.Unions.Event.eventFree' when you are done).
+If you really cannot pass a real event, pass 'Nothing' instead.
+
+/Since: 3.10/
+-}
+widgetDragBeginWithCoordinates ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the source widget -}
+    -> Gtk.TargetList.TargetList
+    {- ^ /@targets@/: The targets (data formats) in which the
+   source can provide the data -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: A bitmask of the allowed drag actions for this drag -}
+    -> Int32
+    {- ^ /@button@/: The button the user clicked to start the drag -}
+    -> Maybe (Gdk.Event.Event)
+    {- ^ /@event@/: The event that triggered the start of the drag,
+   or 'Nothing' if none can be obtained. -}
+    -> Int32
+    {- ^ /@x@/: The initial x coordinate to start dragging from, in the coordinate space
+   of /@widget@/. If -1 is passed, the coordinates are retrieved from /@event@/ or
+   the current pointer position -}
+    -> Int32
+    {- ^ /@y@/: The initial y coordinate to start dragging from, in the coordinate space
+   of /@widget@/. If -1 is passed, the coordinates are retrieved from /@event@/ or
+   the current pointer position -}
+    -> m Gdk.DragContext.DragContext
+    {- ^ __Returns:__ the context for this drag -}
+widgetDragBeginWithCoordinates widget targets actions button event x y = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    targets' <- unsafeManagedPtrGetPtr targets
+    let actions' = gflagsToWord actions
+    maybeEvent <- case event of
+        Nothing -> return nullPtr
+        Just jEvent -> do
+            jEvent' <- unsafeManagedPtrGetPtr jEvent
+            return jEvent'
+    result <- gtk_drag_begin_with_coordinates widget' targets' actions' button maybeEvent x y
+    checkUnexpectedReturnNULL "widgetDragBeginWithCoordinates" result
+    result' <- (newObject Gdk.DragContext.DragContext) result
+    touchManagedPtr widget
+    touchManagedPtr targets
+    whenJust event touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetDragBeginWithCoordinatesMethodInfo
+instance (signature ~ (Gtk.TargetList.TargetList -> [Gdk.Flags.DragAction] -> Int32 -> Maybe (Gdk.Event.Event) -> Int32 -> Int32 -> m Gdk.DragContext.DragContext), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragBeginWithCoordinatesMethodInfo a signature where
+    overloadedMethod _ = widgetDragBeginWithCoordinates
+
+#endif
+
+-- method Widget::drag_check_threshold
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate of start of drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate of start of drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "current_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "current X coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "current_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "current Y coordinate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_check_threshold" gtk_drag_check_threshold :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- start_x : TBasicType TInt
+    Int32 ->                                -- start_y : TBasicType TInt
+    Int32 ->                                -- current_x : TBasicType TInt
+    Int32 ->                                -- current_y : TBasicType TInt
+    IO CInt
+
+{- |
+Checks to see if a mouse drag starting at (/@startX@/, /@startY@/) and ending
+at (/@currentX@/, /@currentY@/) has passed the GTK+ drag threshold, and thus
+should trigger the beginning of a drag-and-drop operation.
+-}
+widgetDragCheckThreshold ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@startX@/: X coordinate of start of drag -}
+    -> Int32
+    {- ^ /@startY@/: Y coordinate of start of drag -}
+    -> Int32
+    {- ^ /@currentX@/: current X coordinate -}
+    -> Int32
+    {- ^ /@currentY@/: current Y coordinate -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the drag threshold has been passed. -}
+widgetDragCheckThreshold widget startX startY currentX currentY = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_drag_check_threshold widget' startX startY currentX currentY
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetDragCheckThresholdMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragCheckThresholdMethodInfo a signature where
+    overloadedMethod _ = widgetDragCheckThreshold
+
+#endif
+
+-- method Widget::drag_dest_add_image_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s a drag destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_add_image_targets" gtk_drag_dest_add_image_targets :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Add the image targets supported by 'GI.Gtk.Structs.SelectionData.SelectionData' to
+the target list of the drag destination. The targets
+are added with /@info@/ = 0. If you need another value,
+use 'GI.Gtk.Structs.TargetList.targetListAddImageTargets' and
+'GI.Gtk.Objects.Widget.widgetDragDestSetTargetList'.
+
+/Since: 2.6/
+-}
+widgetDragDestAddImageTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s a drag destination -}
+    -> m ()
+widgetDragDestAddImageTargets widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_dest_add_image_targets widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestAddImageTargetsMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragDestAddImageTargetsMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestAddImageTargets
+
+#endif
+
+-- method Widget::drag_dest_add_text_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s a drag destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_add_text_targets" gtk_drag_dest_add_text_targets :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Add the text targets supported by 'GI.Gtk.Structs.SelectionData.SelectionData' to
+the target list of the drag destination. The targets
+are added with /@info@/ = 0. If you need another value,
+use 'GI.Gtk.Structs.TargetList.targetListAddTextTargets' and
+'GI.Gtk.Objects.Widget.widgetDragDestSetTargetList'.
+
+/Since: 2.6/
+-}
+widgetDragDestAddTextTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s a drag destination -}
+    -> m ()
+widgetDragDestAddTextTargets widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_dest_add_text_targets widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestAddTextTargetsMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragDestAddTextTargetsMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestAddTextTargets
+
+#endif
+
+-- method Widget::drag_dest_add_uri_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s a drag destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_add_uri_targets" gtk_drag_dest_add_uri_targets :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Add the URI targets supported by 'GI.Gtk.Structs.SelectionData.SelectionData' to
+the target list of the drag destination. The targets
+are added with /@info@/ = 0. If you need another value,
+use 'GI.Gtk.Structs.TargetList.targetListAddUriTargets' and
+'GI.Gtk.Objects.Widget.widgetDragDestSetTargetList'.
+
+/Since: 2.6/
+-}
+widgetDragDestAddUriTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s a drag destination -}
+    -> m ()
+widgetDragDestAddUriTargets widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_dest_add_uri_targets widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestAddUriTargetsMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragDestAddUriTargetsMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestAddUriTargets
+
+#endif
+
+-- method Widget::drag_dest_find_target
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "drag destination widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "drag context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "list of droppable targets, or %NULL to use\n   gtk_drag_dest_get_target_list (@widget).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_find_target" gtk_drag_dest_find_target :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    Ptr Gtk.TargetList.TargetList ->        -- target_list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    IO (Ptr Gdk.Atom.Atom)
+
+{- |
+Looks for a match between the supported targets of /@context@/ and the
+/@destTargetList@/, returning the first matching target, otherwise
+returning @/GDK_NONE/@. /@destTargetList@/ should usually be the return
+value from 'GI.Gtk.Objects.Widget.widgetDragDestGetTargetList', but some widgets may
+have different valid targets for different parts of the widget; in
+that case, they will have to implement a drag_motion handler that
+passes the correct target list to this function.
+-}
+widgetDragDestFindTarget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.DragContext.IsDragContext b) =>
+    a
+    {- ^ /@widget@/: drag destination widget -}
+    -> b
+    {- ^ /@context@/: drag context -}
+    -> Maybe (Gtk.TargetList.TargetList)
+    {- ^ /@targetList@/: list of droppable targets, or 'Nothing' to use
+   gtk_drag_dest_get_target_list (/@widget@/). -}
+    -> m (Maybe Gdk.Atom.Atom)
+    {- ^ __Returns:__ first target that the source offers
+    and the dest can accept, or @/GDK_NONE/@ -}
+widgetDragDestFindTarget widget context targetList = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    context' <- unsafeManagedPtrCastPtr context
+    maybeTargetList <- case targetList of
+        Nothing -> return nullPtr
+        Just jTargetList -> do
+            jTargetList' <- unsafeManagedPtrGetPtr jTargetList
+            return jTargetList'
+    result <- gtk_drag_dest_find_target widget' context' maybeTargetList
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newPtr Gdk.Atom.Atom) result'
+        return result''
+    touchManagedPtr widget
+    touchManagedPtr context
+    whenJust targetList touchManagedPtr
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestFindTargetMethodInfo
+instance (signature ~ (b -> Maybe (Gtk.TargetList.TargetList) -> m (Maybe Gdk.Atom.Atom)), MonadIO m, IsWidget a, Gdk.DragContext.IsDragContext b) => O.MethodInfo WidgetDragDestFindTargetMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestFindTarget
+
+#endif
+
+-- method Widget::drag_dest_get_target_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetList"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_get_target_list" gtk_drag_dest_get_target_list :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.TargetList.TargetList)
+
+{- |
+Returns the list of targets this widget can accept from
+drag-and-drop.
+-}
+widgetDragDestGetTargetList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Maybe Gtk.TargetList.TargetList)
+    {- ^ __Returns:__ the 'GI.Gtk.Structs.TargetList.TargetList', or 'Nothing' if none -}
+widgetDragDestGetTargetList widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_drag_dest_get_target_list widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Gtk.TargetList.TargetList) result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestGetTargetListMethodInfo
+instance (signature ~ (m (Maybe Gtk.TargetList.TargetList)), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragDestGetTargetListMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestGetTargetList
+
+#endif
+
+-- method Widget::drag_dest_get_track_motion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s a drag destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_get_track_motion" gtk_drag_dest_get_track_motion :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns whether the widget has been configured to always
+emit 'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@ signals.
+
+/Since: 2.10/
+-}
+widgetDragDestGetTrackMotion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s a drag destination -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget always emits
+  'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@ events -}
+widgetDragDestGetTrackMotion widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_drag_dest_get_track_motion widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestGetTrackMotionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragDestGetTrackMotionMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestGetTrackMotion
+
+#endif
+
+-- method Widget::drag_dest_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "DestDefaults"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "which types of default drag behavior to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to an array of\n    #GtkTargetEntrys indicating the drop types that this @widget will\n    accept, or %NULL. Later you can access the list with\n    gtk_drag_dest_get_target_list() and gtk_drag_dest_find_target().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of entries in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bitmask of possible actions for a drop onto this @widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of entries in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_set" gtk_drag_dest_set :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "DestDefaults"})
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    IO ()
+
+{- |
+Sets a widget as a potential drop destination, and adds default behaviors.
+
+The default behaviors listed in /@flags@/ have an effect similar
+to installing default handlers for the widget’s drag-and-drop signals
+('GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@, 'GI.Gtk.Objects.Widget.Widget'::@/drag-drop/@, ...). They all exist
+for convenience. When passing @/GTK_DEST_DEFAULT_ALL/@ for instance it is
+sufficient to connect to the widget’s 'GI.Gtk.Objects.Widget.Widget'::@/drag-data-received/@
+signal to get primitive, but consistent drag-and-drop support.
+
+Things become more complicated when you try to preview the dragged data,
+as described in the documentation for 'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@. The default
+behaviors described by /@flags@/ make some assumptions, that can conflict
+with your own signal handlers. For instance @/GTK_DEST_DEFAULT_DROP/@ causes
+invokations of 'GI.Gdk.Functions.dragStatus' in the context of 'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@,
+and invokations of 'GI.Gtk.Functions.dragFinish' in 'GI.Gtk.Objects.Widget.Widget'::@/drag-data-received/@.
+Especially the later is dramatic, when your own 'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@
+handler calls 'GI.Gtk.Objects.Widget.widgetDragGetData' to inspect the dragged data.
+
+There’s no way to set a default action here, you can use the
+'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@ callback for that. Here’s an example which selects
+the action to use depending on whether the control key is pressed or not:
+
+=== /C code/
+>
+>static void
+>drag_motion (GtkWidget *widget,
+>             GdkDragContext *context,
+>             gint x,
+>             gint y,
+>             guint time)
+>{
+>  GdkModifierType mask;
+>
+>  gdk_window_get_pointer (gtk_widget_get_window (widget),
+>                          NULL, NULL, &mask);
+>  if (mask & GDK_CONTROL_MASK)
+>    gdk_drag_status (context, GDK_ACTION_COPY, time);
+>  else
+>    gdk_drag_status (context, GDK_ACTION_MOVE, time);
+>}
+-}
+widgetDragDestSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> [Gtk.Flags.DestDefaults]
+    {- ^ /@flags@/: which types of default drag behavior to use -}
+    -> Maybe ([Gtk.TargetEntry.TargetEntry])
+    {- ^ /@targets@/: a pointer to an array of
+    @/GtkTargetEntrys/@ indicating the drop types that this /@widget@/ will
+    accept, or 'Nothing'. Later you can access the list with
+    'GI.Gtk.Objects.Widget.widgetDragDestGetTargetList' and 'GI.Gtk.Objects.Widget.widgetDragDestFindTarget'. -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: a bitmask of possible actions for a drop onto this /@widget@/. -}
+    -> m ()
+widgetDragDestSet widget flags targets actions = liftIO $ do
+    let nTargets = case targets of
+            Nothing -> 0
+            Just jTargets -> fromIntegral $ length jTargets
+    widget' <- unsafeManagedPtrCastPtr widget
+    let flags' = gflagsToWord flags
+    maybeTargets <- case targets of
+        Nothing -> return nullPtr
+        Just jTargets -> do
+            jTargets' <- mapM unsafeManagedPtrGetPtr jTargets
+            jTargets'' <- packBlockArray 16 jTargets'
+            return jTargets''
+    let actions' = gflagsToWord actions
+    gtk_drag_dest_set widget' flags' maybeTargets nTargets actions'
+    touchManagedPtr widget
+    whenJust targets (mapM_ touchManagedPtr)
+    freeMem maybeTargets
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestSetMethodInfo
+instance (signature ~ ([Gtk.Flags.DestDefaults] -> Maybe ([Gtk.TargetEntry.TargetEntry]) -> [Gdk.Flags.DragAction] -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragDestSetMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestSet
+
+#endif
+
+-- method Widget::drag_dest_set_proxy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proxy_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the window to which to forward drag events", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocol", argType = TInterface (Name {namespace = "Gdk", name = "DragProtocol"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the drag protocol which the @proxy_window accepts\n  (You can use gdk_drag_get_protocol() to determine this)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_coordinates", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, send the same coordinates to the\n  destination, because it is an embedded\n  subwindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_set_proxy" gtk_drag_dest_set_proxy :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Window.Window ->                -- proxy_window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    CUInt ->                                -- protocol : TInterface (Name {namespace = "Gdk", name = "DragProtocol"})
+    CInt ->                                 -- use_coordinates : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED widgetDragDestSetProxy ["(Since version 3.22)"] #-}
+{- |
+Sets this widget as a proxy for drops to another window.
+-}
+widgetDragDestSetProxy ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@proxyWindow@/: the window to which to forward drag events -}
+    -> Gdk.Enums.DragProtocol
+    {- ^ /@protocol@/: the drag protocol which the /@proxyWindow@/ accepts
+  (You can use @/gdk_drag_get_protocol()/@ to determine this) -}
+    -> Bool
+    {- ^ /@useCoordinates@/: If 'True', send the same coordinates to the
+  destination, because it is an embedded
+  subwindow. -}
+    -> m ()
+widgetDragDestSetProxy widget proxyWindow protocol useCoordinates = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    proxyWindow' <- unsafeManagedPtrCastPtr proxyWindow
+    let protocol' = (fromIntegral . fromEnum) protocol
+    let useCoordinates' = (fromIntegral . fromEnum) useCoordinates
+    gtk_drag_dest_set_proxy widget' proxyWindow' protocol' useCoordinates'
+    touchManagedPtr widget
+    touchManagedPtr proxyWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestSetProxyMethodInfo
+instance (signature ~ (b -> Gdk.Enums.DragProtocol -> Bool -> m ()), MonadIO m, IsWidget a, Gdk.Window.IsWindow b) => O.MethodInfo WidgetDragDestSetProxyMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestSetProxy
+
+#endif
+
+-- method Widget::drag_dest_set_target_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s a drag destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "list of droppable targets, or %NULL for none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_set_target_list" gtk_drag_dest_set_target_list :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.TargetList.TargetList ->        -- target_list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    IO ()
+
+{- |
+Sets the target types that this widget can accept from drag-and-drop.
+The widget must first be made into a drag destination with
+'GI.Gtk.Objects.Widget.widgetDragDestSet'.
+-}
+widgetDragDestSetTargetList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s a drag destination -}
+    -> Maybe (Gtk.TargetList.TargetList)
+    {- ^ /@targetList@/: list of droppable targets, or 'Nothing' for none -}
+    -> m ()
+widgetDragDestSetTargetList widget targetList = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeTargetList <- case targetList of
+        Nothing -> return nullPtr
+        Just jTargetList -> do
+            jTargetList' <- unsafeManagedPtrGetPtr jTargetList
+            return jTargetList'
+    gtk_drag_dest_set_target_list widget' maybeTargetList
+    touchManagedPtr widget
+    whenJust targetList touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestSetTargetListMethodInfo
+instance (signature ~ (Maybe (Gtk.TargetList.TargetList) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragDestSetTargetListMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestSetTargetList
+
+#endif
+
+-- method Widget::drag_dest_set_track_motion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s a drag destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "track_motion", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to accept all targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_set_track_motion" gtk_drag_dest_set_track_motion :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- track_motion : TBasicType TBoolean
+    IO ()
+
+{- |
+Tells the widget to emit 'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@ and
+'GI.Gtk.Objects.Widget.Widget'::@/drag-leave/@ events regardless of the targets and the
+'GI.Gtk.Flags.DestDefaultsMotion' flag.
+
+This may be used when a widget wants to do generic
+actions regardless of the targets that the source offers.
+
+/Since: 2.10/
+-}
+widgetDragDestSetTrackMotion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s a drag destination -}
+    -> Bool
+    {- ^ /@trackMotion@/: whether to accept all targets -}
+    -> m ()
+widgetDragDestSetTrackMotion widget trackMotion = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let trackMotion' = (fromIntegral . fromEnum) trackMotion
+    gtk_drag_dest_set_track_motion widget' trackMotion'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestSetTrackMotionMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragDestSetTrackMotionMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestSetTrackMotion
+
+#endif
+
+-- method Widget::drag_dest_unset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_dest_unset" gtk_drag_dest_unset :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Clears information about a drop destination set with
+'GI.Gtk.Objects.Widget.widgetDragDestSet'. The widget will no longer receive
+notification of drags.
+-}
+widgetDragDestUnset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetDragDestUnset widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_dest_unset widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragDestUnsetMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragDestUnsetMethodInfo a signature where
+    overloadedMethod _ = widgetDragDestUnset
+
+#endif
+
+-- method Widget::drag_get_data
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget that will receive the\n  #GtkWidget::drag-data-received signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gdk", name = "DragContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the drag context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the target (form of the data) to retrieve", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp for retrieving the data. This will\n  generally be the time received in a #GtkWidget::drag-motion\n  or #GtkWidget::drag-drop signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_get_data" gtk_drag_get_data :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.DragContext.DragContext ->      -- context : TInterface (Name {namespace = "Gdk", name = "DragContext"})
+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+{- |
+Gets the data associated with a drag. When the data
+is received or the retrieval fails, GTK+ will emit a
+'GI.Gtk.Objects.Widget.Widget'::@/drag-data-received/@ signal. Failure of the retrieval
+is indicated by the length field of the /@selectionData@/
+signal parameter being negative. However, when 'GI.Gtk.Objects.Widget.widgetDragGetData'
+is called implicitely because the 'GI.Gtk.Flags.DestDefaultsDrop' was set,
+then the widget will not receive notification of failed
+drops.
+-}
+widgetDragGetData ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.DragContext.IsDragContext b) =>
+    a
+    {- ^ /@widget@/: the widget that will receive the
+  'GI.Gtk.Objects.Widget.Widget'::@/drag-data-received/@ signal -}
+    -> b
+    {- ^ /@context@/: the drag context -}
+    -> Gdk.Atom.Atom
+    {- ^ /@target@/: the target (form of the data) to retrieve -}
+    -> Word32
+    {- ^ /@time_@/: a timestamp for retrieving the data. This will
+  generally be the time received in a 'GI.Gtk.Objects.Widget.Widget'::@/drag-motion/@
+  or 'GI.Gtk.Objects.Widget.Widget'::@/drag-drop/@ signal -}
+    -> m ()
+widgetDragGetData widget context target time_ = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    context' <- unsafeManagedPtrCastPtr context
+    target' <- unsafeManagedPtrGetPtr target
+    gtk_drag_get_data widget' context' target' time_
+    touchManagedPtr widget
+    touchManagedPtr context
+    touchManagedPtr target
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragGetDataMethodInfo
+instance (signature ~ (b -> Gdk.Atom.Atom -> Word32 -> m ()), MonadIO m, IsWidget a, Gdk.DragContext.IsDragContext b) => O.MethodInfo WidgetDragGetDataMethodInfo a signature where
+    overloadedMethod _ = widgetDragGetData
+
+#endif
+
+-- method Widget::drag_highlight
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget to highlight", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_highlight" gtk_drag_highlight :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Highlights a widget as a currently hovered drop target.
+To end the highlight, call 'GI.Gtk.Objects.Widget.widgetDragUnhighlight'.
+GTK+ calls this automatically if 'GI.Gtk.Flags.DestDefaultsHighlight' is set.
+-}
+widgetDragHighlight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a widget to highlight -}
+    -> m ()
+widgetDragHighlight widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_highlight widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragHighlightMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragHighlightMethodInfo a signature where
+    overloadedMethod _ = widgetDragHighlight
+
+#endif
+
+-- method Widget::drag_source_add_image_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s is a drag source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_add_image_targets" gtk_drag_source_add_image_targets :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Add the writable image targets supported by 'GI.Gtk.Structs.SelectionData.SelectionData' to
+the target list of the drag source. The targets
+are added with /@info@/ = 0. If you need another value,
+use 'GI.Gtk.Structs.TargetList.targetListAddImageTargets' and
+'GI.Gtk.Objects.Widget.widgetDragSourceSetTargetList'.
+
+/Since: 2.6/
+-}
+widgetDragSourceAddImageTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s is a drag source -}
+    -> m ()
+widgetDragSourceAddImageTargets widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_source_add_image_targets widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceAddImageTargetsMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragSourceAddImageTargetsMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceAddImageTargets
+
+#endif
+
+-- method Widget::drag_source_add_text_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s is a drag source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_add_text_targets" gtk_drag_source_add_text_targets :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Add the text targets supported by 'GI.Gtk.Structs.SelectionData.SelectionData' to
+the target list of the drag source.  The targets
+are added with /@info@/ = 0. If you need another value,
+use 'GI.Gtk.Structs.TargetList.targetListAddTextTargets' and
+'GI.Gtk.Objects.Widget.widgetDragSourceSetTargetList'.
+
+/Since: 2.6/
+-}
+widgetDragSourceAddTextTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s is a drag source -}
+    -> m ()
+widgetDragSourceAddTextTargets widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_source_add_text_targets widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceAddTextTargetsMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragSourceAddTextTargetsMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceAddTextTargets
+
+#endif
+
+-- method Widget::drag_source_add_uri_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s is a drag source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_add_uri_targets" gtk_drag_source_add_uri_targets :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Add the URI targets supported by 'GI.Gtk.Structs.SelectionData.SelectionData' to
+the target list of the drag source.  The targets
+are added with /@info@/ = 0. If you need another value,
+use 'GI.Gtk.Structs.TargetList.targetListAddUriTargets' and
+'GI.Gtk.Objects.Widget.widgetDragSourceSetTargetList'.
+
+/Since: 2.6/
+-}
+widgetDragSourceAddUriTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s is a drag source -}
+    -> m ()
+widgetDragSourceAddUriTargets widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_source_add_uri_targets widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceAddUriTargetsMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragSourceAddUriTargetsMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceAddUriTargets
+
+#endif
+
+-- method Widget::drag_source_get_target_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetList"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_get_target_list" gtk_drag_source_get_target_list :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.TargetList.TargetList)
+
+{- |
+Gets the list of targets this widget can provide for
+drag-and-drop.
+
+/Since: 2.4/
+-}
+widgetDragSourceGetTargetList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Maybe Gtk.TargetList.TargetList)
+    {- ^ __Returns:__ the 'GI.Gtk.Structs.TargetList.TargetList', or 'Nothing' if none -}
+widgetDragSourceGetTargetList widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_drag_source_get_target_list widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Gtk.TargetList.TargetList) result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceGetTargetListMethodInfo
+instance (signature ~ (m (Maybe Gtk.TargetList.TargetList)), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragSourceGetTargetListMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceGetTargetList
+
+#endif
+
+-- method Widget::drag_source_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_button_mask", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the bitmask of buttons that can start the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the table of targets\n    that the drag will support, may be %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "actions", argType = TInterface (Name {namespace = "Gdk", name = "DragAction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the bitmask of possible actions for a drag from this widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of items in @targets", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_set" gtk_drag_source_set :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- start_button_mask : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 3 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Int32 ->                                -- n_targets : TBasicType TInt
+    CUInt ->                                -- actions : TInterface (Name {namespace = "Gdk", name = "DragAction"})
+    IO ()
+
+{- |
+Sets up a widget so that GTK+ will start a drag operation when the user
+clicks and drags on the widget. The widget must have a window.
+-}
+widgetDragSourceSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@startButtonMask@/: the bitmask of buttons that can start the drag -}
+    -> Maybe ([Gtk.TargetEntry.TargetEntry])
+    {- ^ /@targets@/: the table of targets
+    that the drag will support, may be 'Nothing' -}
+    -> [Gdk.Flags.DragAction]
+    {- ^ /@actions@/: the bitmask of possible actions for a drag from this widget -}
+    -> m ()
+widgetDragSourceSet widget startButtonMask targets actions = liftIO $ do
+    let nTargets = case targets of
+            Nothing -> 0
+            Just jTargets -> fromIntegral $ length jTargets
+    widget' <- unsafeManagedPtrCastPtr widget
+    let startButtonMask' = gflagsToWord startButtonMask
+    maybeTargets <- case targets of
+        Nothing -> return nullPtr
+        Just jTargets -> do
+            jTargets' <- mapM unsafeManagedPtrGetPtr jTargets
+            jTargets'' <- packBlockArray 16 jTargets'
+            return jTargets''
+    let actions' = gflagsToWord actions
+    gtk_drag_source_set widget' startButtonMask' maybeTargets nTargets actions'
+    touchManagedPtr widget
+    whenJust targets (mapM_ touchManagedPtr)
+    freeMem maybeTargets
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetMethodInfo
+instance (signature ~ ([Gdk.Flags.ModifierType] -> Maybe ([Gtk.TargetEntry.TargetEntry]) -> [Gdk.Flags.DragAction] -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragSourceSetMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceSet
+
+#endif
+
+-- method Widget::drag_source_set_icon_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "Gio", name = "Icon"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIcon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_set_icon_gicon" gtk_drag_source_set_icon_gicon :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gio.Icon.Icon ->                    -- icon : TInterface (Name {namespace = "Gio", name = "Icon"})
+    IO ()
+
+{- |
+Sets the icon that will be used for drags from a particular source
+to /@icon@/. See the docs for 'GI.Gtk.Objects.IconTheme.IconTheme' for more details.
+
+/Since: 3.2/
+-}
+widgetDragSourceSetIconGicon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gio.Icon.IsIcon b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@icon@/: A 'GI.Gio.Interfaces.Icon.Icon' -}
+    -> m ()
+widgetDragSourceSetIconGicon widget icon = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    icon' <- unsafeManagedPtrCastPtr icon
+    gtk_drag_source_set_icon_gicon widget' icon'
+    touchManagedPtr widget
+    touchManagedPtr icon
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetIconGiconMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, Gio.Icon.IsIcon b) => O.MethodInfo WidgetDragSourceSetIconGiconMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceSetIconGicon
+
+#endif
+
+-- method Widget::drag_source_set_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of icon to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_set_icon_name" gtk_drag_source_set_icon_name :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the icon that will be used for drags from a particular source
+to a themed icon. See the docs for 'GI.Gtk.Objects.IconTheme.IconTheme' for more details.
+
+/Since: 2.8/
+-}
+widgetDragSourceSetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@iconName@/: name of icon to use -}
+    -> m ()
+widgetDragSourceSetIconName widget iconName = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    iconName' <- textToCString iconName
+    gtk_drag_source_set_icon_name widget' iconName'
+    touchManagedPtr widget
+    freeMem iconName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetIconNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragSourceSetIconNameMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceSetIconName
+
+#endif
+
+-- method Widget::drag_source_set_icon_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GdkPixbuf for the drag icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_set_icon_pixbuf" gtk_drag_source_set_icon_pixbuf :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{- |
+Sets the icon that will be used for drags from a particular widget
+from a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'. GTK+ retains a reference for /@pixbuf@/ and will
+release it when it is no longer needed.
+-}
+widgetDragSourceSetIconPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@pixbuf@/: the 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' for the drag icon -}
+    -> m ()
+widgetDragSourceSetIconPixbuf widget pixbuf = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    gtk_drag_source_set_icon_pixbuf widget' pixbuf'
+    touchManagedPtr widget
+    touchManagedPtr pixbuf
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetIconPixbufMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo WidgetDragSourceSetIconPixbufMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceSetIconPixbuf
+
+#endif
+
+-- method Widget::drag_source_set_icon_stock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ID of the stock icon to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_set_icon_stock" gtk_drag_source_set_icon_stock :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED widgetDragSourceSetIconStock ["(Since version 3.10)","Use 'GI.Gtk.Objects.Widget.widgetDragSourceSetIconName' instead."] #-}
+{- |
+Sets the icon that will be used for drags from a particular source
+to a stock icon.
+-}
+widgetDragSourceSetIconStock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@stockId@/: the ID of the stock icon to use -}
+    -> m ()
+widgetDragSourceSetIconStock widget stockId = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    stockId' <- textToCString stockId
+    gtk_drag_source_set_icon_stock widget' stockId'
+    touchManagedPtr widget
+    freeMem stockId'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetIconStockMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragSourceSetIconStockMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceSetIconStock
+
+#endif
+
+-- method Widget::drag_source_set_target_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that\8217s a drag source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "list of draggable targets, or %NULL for none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_set_target_list" gtk_drag_source_set_target_list :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.TargetList.TargetList ->        -- target_list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    IO ()
+
+{- |
+Changes the target types that this widget offers for drag-and-drop.
+The widget must first be made into a drag source with
+'GI.Gtk.Objects.Widget.widgetDragSourceSet'.
+
+/Since: 2.4/
+-}
+widgetDragSourceSetTargetList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' that’s a drag source -}
+    -> Maybe (Gtk.TargetList.TargetList)
+    {- ^ /@targetList@/: list of draggable targets, or 'Nothing' for none -}
+    -> m ()
+widgetDragSourceSetTargetList widget targetList = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeTargetList <- case targetList of
+        Nothing -> return nullPtr
+        Just jTargetList -> do
+            jTargetList' <- unsafeManagedPtrGetPtr jTargetList
+            return jTargetList'
+    gtk_drag_source_set_target_list widget' maybeTargetList
+    touchManagedPtr widget
+    whenJust targetList touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetTargetListMethodInfo
+instance (signature ~ (Maybe (Gtk.TargetList.TargetList) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragSourceSetTargetListMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceSetTargetList
+
+#endif
+
+-- method Widget::drag_source_unset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_source_unset" gtk_drag_source_unset :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Undoes the effects of 'GI.Gtk.Objects.Widget.widgetDragSourceSet'.
+-}
+widgetDragSourceUnset ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetDragSourceUnset widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_source_unset widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragSourceUnsetMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragSourceUnsetMethodInfo a signature where
+    overloadedMethod _ = widgetDragSourceUnset
+
+#endif
+
+-- method Widget::drag_unhighlight
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget to remove the highlight from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_drag_unhighlight" gtk_drag_unhighlight :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Removes a highlight set by 'GI.Gtk.Objects.Widget.widgetDragHighlight' from
+a widget.
+-}
+widgetDragUnhighlight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a widget to remove the highlight from -}
+    -> m ()
+widgetDragUnhighlight widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_drag_unhighlight widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDragUnhighlightMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDragUnhighlightMethodInfo a signature where
+    overloadedMethod _ = widgetDragUnhighlight
+
+#endif
+
+-- method Widget::draw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to draw. It must be drawable (see\n  gtk_widget_is_drawable()) and a size must have been allocated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cr", argType = TInterface (Name {namespace = "cairo", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a cairo context to draw to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_draw" gtk_widget_draw :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Cairo.Context.Context ->            -- cr : TInterface (Name {namespace = "cairo", name = "Context"})
+    IO ()
+
+{- |
+Draws /@widget@/ to /@cr@/. The top left corner of the widget will be
+drawn to the currently set origin point of /@cr@/.
+
+You should pass a cairo context as /@cr@/ argument that is in an
+original state. Otherwise the resulting drawing is undefined. For
+example changing the operator using @/cairo_set_operator()/@ or the
+line width using @/cairo_set_line_width()/@ might have unwanted side
+effects.
+You may however change the context’s transform matrix - like with
+@/cairo_scale()/@, @/cairo_translate()/@ or @/cairo_set_matrix()/@ and clip
+region with @/cairo_clip()/@ prior to calling this function. Also, it
+is fine to modify the context with @/cairo_save()/@ and
+@/cairo_push_group()/@ prior to calling this function.
+
+Note that special-purpose widgets may contain special code for
+rendering to the screen and might appear differently on screen
+and when rendered using 'GI.Gtk.Objects.Widget.widgetDraw'.
+
+/Since: 3.0/
+-}
+widgetDraw ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget to draw. It must be drawable (see
+  'GI.Gtk.Objects.Widget.widgetIsDrawable') and a size must have been allocated. -}
+    -> Cairo.Context.Context
+    {- ^ /@cr@/: a cairo context to draw to -}
+    -> m ()
+widgetDraw widget cr = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    cr' <- unsafeManagedPtrGetPtr cr
+    gtk_widget_draw widget' cr'
+    touchManagedPtr widget
+    touchManagedPtr cr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetDrawMethodInfo
+instance (signature ~ (Cairo.Context.Context -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetDrawMethodInfo a signature where
+    overloadedMethod _ = widgetDraw
+
+#endif
+
+-- method Widget::ensure_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_ensure_style" gtk_widget_ensure_style :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{-# DEPRECATED widgetEnsureStyle ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+Ensures that /@widget@/ has a style (/@widget@/->style).
+
+Not a very useful function; most of the time, if you
+want the style, the widget is realized, and realized
+widgets are guaranteed to have a style already.
+-}
+widgetEnsureStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetEnsureStyle widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_ensure_style widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetEnsureStyleMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetEnsureStyleMethodInfo a signature where
+    overloadedMethod _ = widgetEnsureStyle
+
+#endif
+
+-- method Widget::error_bell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_error_bell" gtk_widget_error_bell :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Notifies the user about an input-related error on this widget.
+If the 'GI.Gtk.Objects.Settings.Settings':@/gtk-error-bell/@ setting is 'True', it calls
+'GI.Gdk.Objects.Window.windowBeep', otherwise it does nothing.
+
+Note that the effect of 'GI.Gdk.Objects.Window.windowBeep' can be configured in many
+ways, depending on the windowing backend and the desktop environment
+or window manager that is used.
+
+/Since: 2.12/
+-}
+widgetErrorBell ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetErrorBell widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_error_bell widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetErrorBellMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetErrorBellMethodInfo a signature where
+    overloadedMethod _ = widgetErrorBell
+
+#endif
+
+-- method Widget::event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_event" gtk_widget_event :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO CInt
+
+{- |
+Rarely-used function. This function is used to emit
+the event signals on a widget (those signals should never
+be emitted without using this function to do so).
+If you want to synthesize an event though, don’t use this function;
+instead, use 'GI.Gtk.Functions.mainDoEvent' so the event will behave as if
+it were in the event queue. Don’t synthesize expose events; instead,
+use 'GI.Gdk.Objects.Window.windowInvalidateRect' to invalidate a region of the
+window.
+-}
+widgetEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' -}
+    -> m Bool
+    {- ^ __Returns:__ return from the event signal emission ('True' if
+              the event was handled) -}
+widgetEvent widget event = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_widget_event widget' event'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetEventMethodInfo
+instance (signature ~ (Gdk.Event.Event -> m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetEventMethodInfo a signature where
+    overloadedMethod _ = widgetEvent
+
+#endif
+
+-- method Widget::freeze_child_notify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_freeze_child_notify" gtk_widget_freeze_child_notify :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Stops emission of 'GI.Gtk.Objects.Widget.Widget'::@/child-notify/@ signals on /@widget@/. The
+signals are queued until 'GI.Gtk.Objects.Widget.widgetThawChildNotify' is called
+on /@widget@/.
+
+This is the analogue of 'GI.GObject.Objects.Object.objectFreezeNotify' for child properties.
+-}
+widgetFreezeChildNotify ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetFreezeChildNotify widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_freeze_child_notify widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetFreezeChildNotifyMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetFreezeChildNotifyMethodInfo a signature where
+    overloadedMethod _ = widgetFreezeChildNotify
+
+#endif
+
+-- method Widget::get_accessible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Atk", name = "Object"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_accessible" gtk_widget_get_accessible :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Atk.Object.Object)
+
+{- |
+Returns the accessible object that describes the widget to an
+assistive technology.
+
+If accessibility support is not available, this 'GI.Atk.Objects.Object.Object'
+instance may be a no-op. Likewise, if no class-specific 'GI.Atk.Objects.Object.Object'
+implementation is available for the widget instance in question,
+it will inherit an 'GI.Atk.Objects.Object.Object' implementation from the first ancestor
+class for which such an implementation is defined.
+
+The documentation of the
+<http://developer.gnome.org/atk/stable/ ATK>
+library contains more information about accessible objects and their uses.
+-}
+widgetGetAccessible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Atk.Object.Object
+    {- ^ __Returns:__ the 'GI.Atk.Objects.Object.Object' associated with /@widget@/ -}
+widgetGetAccessible widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_accessible widget'
+    checkUnexpectedReturnNULL "widgetGetAccessible" result
+    result' <- (newObject Atk.Object.Object) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetAccessibleMethodInfo
+instance (signature ~ (m Atk.Object.Object), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetAccessibleMethodInfo a signature where
+    overloadedMethod _ = widgetGetAccessible
+
+#endif
+
+-- method Widget::get_action_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prefix", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The \8220prefix\8221 of the action group.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "ActionGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_action_group" gtk_widget_get_action_group :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- prefix : TBasicType TUTF8
+    IO (Ptr Gio.ActionGroup.ActionGroup)
+
+{- |
+Retrieves the 'GI.Gio.Interfaces.ActionGroup.ActionGroup' that was registered using /@prefix@/. The resulting
+'GI.Gio.Interfaces.ActionGroup.ActionGroup' may have been registered to /@widget@/ or any 'GI.Gtk.Objects.Widget.Widget' in its
+ancestry.
+
+If no action group was found matching /@prefix@/, then 'Nothing' is returned.
+
+/Since: 3.16/
+-}
+widgetGetActionGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: A 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@prefix@/: The “prefix” of the action group. -}
+    -> m (Maybe Gio.ActionGroup.ActionGroup)
+    {- ^ __Returns:__ A 'GI.Gio.Interfaces.ActionGroup.ActionGroup' or 'Nothing'. -}
+widgetGetActionGroup widget prefix = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    prefix' <- textToCString prefix
+    result <- gtk_widget_get_action_group widget' prefix'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gio.ActionGroup.ActionGroup) result'
+        return result''
+    touchManagedPtr widget
+    freeMem prefix'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetActionGroupMethodInfo
+instance (signature ~ (T.Text -> m (Maybe Gio.ActionGroup.ActionGroup)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetActionGroupMethodInfo a signature where
+    overloadedMethod _ = widgetGetActionGroup
+
+#endif
+
+-- method Widget::get_allocated_baseline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_allocated_baseline" gtk_widget_get_allocated_baseline :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Returns the baseline that has currently been allocated to /@widget@/.
+This function is intended to be used when implementing handlers
+for the 'GI.Gtk.Objects.Widget.Widget'::@/draw/@ function, and when allocating child
+widgets in 'GI.Gtk.Objects.Widget.Widget'::@/size_allocate/@.
+
+/Since: 3.10/
+-}
+widgetGetAllocatedBaseline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget to query -}
+    -> m Int32
+    {- ^ __Returns:__ the baseline of the /@widget@/, or -1 if none -}
+widgetGetAllocatedBaseline widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_allocated_baseline widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetAllocatedBaselineMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetAllocatedBaselineMethodInfo a signature where
+    overloadedMethod _ = widgetGetAllocatedBaseline
+
+#endif
+
+-- method Widget::get_allocated_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_allocated_height" gtk_widget_get_allocated_height :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Returns the height that has currently been allocated to /@widget@/.
+This function is intended to be used when implementing handlers
+for the 'GI.Gtk.Objects.Widget.Widget'::@/draw/@ function.
+-}
+widgetGetAllocatedHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget to query -}
+    -> m Int32
+    {- ^ __Returns:__ the height of the /@widget@/ -}
+widgetGetAllocatedHeight widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_allocated_height widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetAllocatedHeightMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetAllocatedHeightMethodInfo a signature where
+    overloadedMethod _ = widgetGetAllocatedHeight
+
+#endif
+
+-- method Widget::get_allocated_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocation", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkAllocation to copy to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "baseline", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to an integer to copy to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_allocated_size" gtk_widget_get_allocated_size :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- allocation : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Int32 ->                            -- baseline : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves the widget’s allocated size.
+
+This function returns the last values passed to
+'GI.Gtk.Objects.Widget.widgetSizeAllocateWithBaseline'. The value differs from
+the size returned in 'GI.Gtk.Objects.Widget.widgetGetAllocation' in that functions
+like 'GI.Gtk.Objects.Widget.widgetSetHalign' can adjust the allocation, but not
+the value returned by this function.
+
+If a widget is not visible, its allocated size is 0.
+
+/Since: 3.20/
+-}
+widgetGetAllocatedSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ((Gdk.Rectangle.Rectangle, Int32))
+widgetGetAllocatedSize widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    allocation <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    baseline <- allocMem :: IO (Ptr Int32)
+    gtk_widget_get_allocated_size widget' allocation baseline
+    allocation' <- (wrapBoxed Gdk.Rectangle.Rectangle) allocation
+    baseline' <- peek baseline
+    touchManagedPtr widget
+    freeMem baseline
+    return (allocation', baseline')
+
+#if ENABLE_OVERLOADING
+data WidgetGetAllocatedSizeMethodInfo
+instance (signature ~ (m ((Gdk.Rectangle.Rectangle, Int32))), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetAllocatedSizeMethodInfo a signature where
+    overloadedMethod _ = widgetGetAllocatedSize
+
+#endif
+
+-- method Widget::get_allocated_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_allocated_width" gtk_widget_get_allocated_width :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Returns the width that has currently been allocated to /@widget@/.
+This function is intended to be used when implementing handlers
+for the 'GI.Gtk.Objects.Widget.Widget'::@/draw/@ function.
+-}
+widgetGetAllocatedWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget to query -}
+    -> m Int32
+    {- ^ __Returns:__ the width of the /@widget@/ -}
+widgetGetAllocatedWidth widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_allocated_width widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetAllocatedWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetAllocatedWidthMethodInfo a signature where
+    overloadedMethod _ = widgetGetAllocatedWidth
+
+#endif
+
+-- method Widget::get_allocation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocation", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkAllocation to copy to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_allocation" gtk_widget_get_allocation :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- allocation : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Retrieves the widget’s allocation.
+
+Note, when implementing a 'GI.Gtk.Objects.Container.Container': a widget’s allocation will
+be its “adjusted” allocation, that is, the widget’s parent
+container typically calls 'GI.Gtk.Objects.Widget.widgetSizeAllocate' with an
+allocation, and that allocation is then adjusted (to handle margin
+and alignment for example) before assignment to the widget.
+'GI.Gtk.Objects.Widget.widgetGetAllocation' returns the adjusted allocation that
+was actually assigned to the widget. The adjusted allocation is
+guaranteed to be completely contained within the
+'GI.Gtk.Objects.Widget.widgetSizeAllocate' allocation, however. So a 'GI.Gtk.Objects.Container.Container'
+is guaranteed that its children stay inside the assigned bounds,
+but not that they have exactly the bounds the container assigned.
+There is no way to get the original allocation assigned by
+'GI.Gtk.Objects.Widget.widgetSizeAllocate', since it isn’t stored; if a container
+implementation needs that information it will have to track it itself.
+
+/Since: 2.18/
+-}
+widgetGetAllocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Gdk.Rectangle.Rectangle)
+widgetGetAllocation widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    allocation <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_widget_get_allocation widget' allocation
+    allocation' <- (wrapBoxed Gdk.Rectangle.Rectangle) allocation
+    touchManagedPtr widget
+    return allocation'
+
+#if ENABLE_OVERLOADING
+data WidgetGetAllocationMethodInfo
+instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetAllocationMethodInfo a signature where
+    overloadedMethod _ = widgetGetAllocation
+
+#endif
+
+-- method Widget::get_ancestor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ancestor type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_ancestor" gtk_widget_get_ancestor :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CGType ->                               -- widget_type : TBasicType TGType
+    IO (Ptr Widget)
+
+{- |
+Gets the first ancestor of /@widget@/ with type /@widgetType@/. For example,
+@gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)@ gets
+the first 'GI.Gtk.Objects.Box.Box' that’s an ancestor of /@widget@/. No reference will be
+added to the returned widget; it should not be unreferenced. See note
+about checking for a toplevel 'GI.Gtk.Objects.Window.Window' in the docs for
+'GI.Gtk.Objects.Widget.widgetGetToplevel'.
+
+Note that unlike 'GI.Gtk.Objects.Widget.widgetIsAncestor', 'GI.Gtk.Objects.Widget.widgetGetAncestor'
+considers /@widget@/ to be an ancestor of itself.
+-}
+widgetGetAncestor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> GType
+    {- ^ /@widgetType@/: ancestor type -}
+    -> m (Maybe Widget)
+    {- ^ __Returns:__ the ancestor widget, or 'Nothing' if not found -}
+widgetGetAncestor widget widgetType = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let widgetType' = gtypeToCGType widgetType
+    result <- gtk_widget_get_ancestor widget' widgetType'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Widget) result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetAncestorMethodInfo
+instance (signature ~ (GType -> m (Maybe Widget)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetAncestorMethodInfo a signature where
+    overloadedMethod _ = widgetGetAncestor
+
+#endif
+
+-- method Widget::get_app_paintable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_app_paintable" gtk_widget_get_app_paintable :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether the application intends to draw on the widget in
+an 'GI.Gtk.Objects.Widget.Widget'::@/draw/@ handler.
+
+See 'GI.Gtk.Objects.Widget.widgetSetAppPaintable'
+
+/Since: 2.18/
+-}
+widgetGetAppPaintable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget is app paintable -}
+widgetGetAppPaintable widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_app_paintable widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetAppPaintableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetAppPaintableMethodInfo a signature where
+    overloadedMethod _ = widgetGetAppPaintable
+
+#endif
+
+-- method Widget::get_can_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_can_default" gtk_widget_get_can_default :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether /@widget@/ can be a default widget. See
+'GI.Gtk.Objects.Widget.widgetSetCanDefault'.
+
+/Since: 2.18/
+-}
+widgetGetCanDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ can be a default widget, 'False' otherwise -}
+widgetGetCanDefault widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_can_default widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetCanDefaultMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetCanDefaultMethodInfo a signature where
+    overloadedMethod _ = widgetGetCanDefault
+
+#endif
+
+-- method Widget::get_can_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_can_focus" gtk_widget_get_can_focus :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether /@widget@/ can own the input focus. See
+'GI.Gtk.Objects.Widget.widgetSetCanFocus'.
+
+/Since: 2.18/
+-}
+widgetGetCanFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ can own the input focus, 'False' otherwise -}
+widgetGetCanFocus widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_can_focus widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetCanFocusMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetCanFocusMethodInfo a signature where
+    overloadedMethod _ = widgetGetCanFocus
+
+#endif
+
+-- method Widget::get_child_requisition
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "requisition", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRequisition to be filled in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_child_requisition" gtk_widget_get_child_requisition :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Requisition.Requisition ->      -- requisition : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    IO ()
+
+{-# DEPRECATED widgetGetChildRequisition ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetGetPreferredSize' instead."] #-}
+{- |
+This function is only for use in widget implementations. Obtains
+/@widget@/->requisition, unless someone has forced a particular
+geometry on the widget (e.g. with 'GI.Gtk.Objects.Widget.widgetSetSizeRequest'),
+in which case it returns that geometry instead of the widget\'s
+requisition.
+
+This function differs from 'GI.Gtk.Objects.Widget.widgetSizeRequest' in that
+it retrieves the last size request value from /@widget@/->requisition,
+while 'GI.Gtk.Objects.Widget.widgetSizeRequest' actually calls the \"size_request\" method
+on /@widget@/ to compute the size request and fill in /@widget@/->requisition,
+and only then returns /@widget@/->requisition.
+
+Because this function does not call the “size_request” method, it
+can only be used when you know that /@widget@/->requisition is
+up-to-date, that is, 'GI.Gtk.Objects.Widget.widgetSizeRequest' has been called
+since the last time a resize was queued. In general, only container
+implementations have this information; applications should use
+'GI.Gtk.Objects.Widget.widgetSizeRequest'.
+-}
+widgetGetChildRequisition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Gtk.Requisition.Requisition)
+widgetGetChildRequisition widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    requisition <- callocBoxedBytes 8 :: IO (Ptr Gtk.Requisition.Requisition)
+    gtk_widget_get_child_requisition widget' requisition
+    requisition' <- (wrapBoxed Gtk.Requisition.Requisition) requisition
+    touchManagedPtr widget
+    return requisition'
+
+#if ENABLE_OVERLOADING
+data WidgetGetChildRequisitionMethodInfo
+instance (signature ~ (m (Gtk.Requisition.Requisition)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetChildRequisitionMethodInfo a signature where
+    overloadedMethod _ = widgetGetChildRequisition
+
+#endif
+
+-- method Widget::get_child_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_child_visible" gtk_widget_get_child_visible :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Gets the value set with 'GI.Gtk.Objects.Widget.widgetSetChildVisible'.
+If you feel a need to use this function, your code probably
+needs reorganization.
+
+This function is only useful for container implementations and
+never should be called by an application.
+-}
+widgetGetChildVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget is mapped with the parent. -}
+widgetGetChildVisible widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_child_visible widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetChildVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetChildVisibleMethodInfo a signature where
+    overloadedMethod _ = widgetGetChildVisible
+
+#endif
+
+-- method Widget::get_clip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clip", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkAllocation to copy to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_clip" gtk_widget_get_clip :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- clip : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Retrieves the widget’s clip area.
+
+The clip area is the area in which all of /@widget@/\'s drawing will
+happen. Other toolkits call it the bounding box.
+
+Historically, in GTK+ the clip area has been equal to the allocation
+retrieved via 'GI.Gtk.Objects.Widget.widgetGetAllocation'.
+
+/Since: 3.14/
+-}
+widgetGetClip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Gdk.Rectangle.Rectangle)
+widgetGetClip widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    clip <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    gtk_widget_get_clip widget' clip
+    clip' <- (wrapBoxed Gdk.Rectangle.Rectangle) clip
+    touchManagedPtr widget
+    return clip'
+
+#if ENABLE_OVERLOADING
+data WidgetGetClipMethodInfo
+instance (signature ~ (m (Gdk.Rectangle.Rectangle)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetClipMethodInfo a signature where
+    overloadedMethod _ = widgetGetClip
+
+#endif
+
+-- method Widget::get_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkAtom which identifies the clipboard\n            to use. %GDK_SELECTION_CLIPBOARD gives the\n            default clipboard. Another common value\n            is %GDK_SELECTION_PRIMARY, which gives\n            the primary X selection.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Clipboard"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_clipboard" gtk_widget_get_clipboard :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Atom.Atom ->                    -- selection : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO (Ptr Gtk.Clipboard.Clipboard)
+
+{- |
+Returns the clipboard object for the given selection to
+be used with /@widget@/. /@widget@/ must have a 'GI.Gdk.Objects.Display.Display'
+associated with it, so must be attached to a toplevel
+window.
+
+/Since: 2.2/
+-}
+widgetGetClipboard ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@selection@/: a 'GI.Gdk.Structs.Atom.Atom' which identifies the clipboard
+            to use. @/GDK_SELECTION_CLIPBOARD/@ gives the
+            default clipboard. Another common value
+            is @/GDK_SELECTION_PRIMARY/@, which gives
+            the primary X selection. -}
+    -> m Gtk.Clipboard.Clipboard
+    {- ^ __Returns:__ the appropriate clipboard object. If no
+            clipboard already exists, a new one will
+            be created. Once a clipboard object has
+            been created, it is persistent for all time. -}
+widgetGetClipboard widget selection = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    selection' <- unsafeManagedPtrGetPtr selection
+    result <- gtk_widget_get_clipboard widget' selection'
+    checkUnexpectedReturnNULL "widgetGetClipboard" result
+    result' <- (newObject Gtk.Clipboard.Clipboard) result
+    touchManagedPtr widget
+    touchManagedPtr selection
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetClipboardMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> m Gtk.Clipboard.Clipboard), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetClipboardMethodInfo a signature where
+    overloadedMethod _ = widgetGetClipboard
+
+#endif
+
+-- method Widget::get_composite_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_composite_name" gtk_widget_get_composite_name :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CString
+
+{-# DEPRECATED widgetGetCompositeName ["(Since version 3.10)","Use 'GI.Gtk.Structs.WidgetClass.widgetClassSetTemplate', or don\8217t use this API at all."] #-}
+{- |
+Obtains the composite name of a widget.
+-}
+widgetGetCompositeName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m T.Text
+    {- ^ __Returns:__ the composite name of /@widget@/, or 'Nothing' if /@widget@/ is not
+  a composite child. The string should be freed when it is no
+  longer needed. -}
+widgetGetCompositeName widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_composite_name widget'
+    checkUnexpectedReturnNULL "widgetGetCompositeName" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetCompositeNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetCompositeNameMethodInfo a signature where
+    overloadedMethod _ = widgetGetCompositeName
+
+#endif
+
+-- method Widget::get_device_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_device_enabled" gtk_widget_get_device_enabled :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    IO CInt
+
+{- |
+Returns whether /@device@/ can interact with /@widget@/ and its
+children. See 'GI.Gtk.Objects.Widget.widgetSetDeviceEnabled'.
+
+/Since: 3.0/
+-}
+widgetGetDeviceEnabled ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' is /@device@/ is enabled for /@widget@/ -}
+widgetGetDeviceEnabled widget device = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    device' <- unsafeManagedPtrCastPtr device
+    result <- gtk_widget_get_device_enabled widget' device'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr device
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetDeviceEnabledMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsWidget a, Gdk.Device.IsDevice b) => O.MethodInfo WidgetGetDeviceEnabledMethodInfo a signature where
+    overloadedMethod _ = widgetGetDeviceEnabled
+
+#endif
+
+-- method Widget::get_device_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "EventMask"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_device_events" gtk_widget_get_device_events :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    IO CUInt
+
+{- |
+Returns the events mask for the widget corresponding to an specific device. These
+are the events that the widget will receive when /@device@/ operates on it.
+
+/Since: 3.0/
+-}
+widgetGetDeviceEvents ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> m [Gdk.Flags.EventMask]
+    {- ^ __Returns:__ device event mask for /@widget@/ -}
+widgetGetDeviceEvents widget device = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    device' <- unsafeManagedPtrCastPtr device
+    result <- gtk_widget_get_device_events widget' device'
+    let result' = wordToGFlags result
+    touchManagedPtr widget
+    touchManagedPtr device
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetDeviceEventsMethodInfo
+instance (signature ~ (b -> m [Gdk.Flags.EventMask]), MonadIO m, IsWidget a, Gdk.Device.IsDevice b) => O.MethodInfo WidgetGetDeviceEventsMethodInfo a signature where
+    overloadedMethod _ = widgetGetDeviceEvents
+
+#endif
+
+-- method Widget::get_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextDirection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_direction" gtk_widget_get_direction :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CUInt
+
+{- |
+Gets the reading direction for a particular widget. See
+'GI.Gtk.Objects.Widget.widgetSetDirection'.
+-}
+widgetGetDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.Enums.TextDirection
+    {- ^ __Returns:__ the reading direction for the widget. -}
+widgetGetDirection widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_direction widget'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetDirectionMethodInfo
+instance (signature ~ (m Gtk.Enums.TextDirection), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetDirectionMethodInfo a signature where
+    overloadedMethod _ = widgetGetDirection
+
+#endif
+
+-- method Widget::get_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_display" gtk_widget_get_display :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gdk.Display.Display)
+
+{- |
+Get the 'GI.Gdk.Objects.Display.Display' for the toplevel window associated with
+this widget. This function can only be called after the widget
+has been added to a widget hierarchy with a 'GI.Gtk.Objects.Window.Window' at the top.
+
+In general, you should only create display specific
+resources when a widget has been realized, and you should
+free those resources when the widget is unrealized.
+
+/Since: 2.2/
+-}
+widgetGetDisplay ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gdk.Display.Display
+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Display.Display' for the toplevel for this widget. -}
+widgetGetDisplay widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_display widget'
+    checkUnexpectedReturnNULL "widgetGetDisplay" result
+    result' <- (newObject Gdk.Display.Display) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetDisplayMethodInfo
+instance (signature ~ (m Gdk.Display.Display), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetDisplayMethodInfo a signature where
+    overloadedMethod _ = widgetGetDisplay
+
+#endif
+
+-- method Widget::get_double_buffered
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_double_buffered" gtk_widget_get_double_buffered :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether the widget is double buffered.
+
+See 'GI.Gtk.Objects.Widget.widgetSetDoubleBuffered'
+
+/Since: 2.18/
+-}
+widgetGetDoubleBuffered ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget is double buffered -}
+widgetGetDoubleBuffered widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_double_buffered widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetDoubleBufferedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetDoubleBufferedMethodInfo a signature where
+    overloadedMethod _ = widgetGetDoubleBuffered
+
+#endif
+
+-- method Widget::get_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_events" gtk_widget_get_events :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Returns the event mask (see 'GI.Gdk.Flags.EventMask') for the widget. These are the
+events that the widget will receive.
+
+Note: Internally, the widget event mask will be the logical OR of the event
+mask set through 'GI.Gtk.Objects.Widget.widgetSetEvents' or 'GI.Gtk.Objects.Widget.widgetAddEvents', and the
+event mask necessary to cater for every 'GI.Gtk.Objects.EventController.EventController' created for the
+widget.
+-}
+widgetGetEvents ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ event mask for /@widget@/ -}
+widgetGetEvents widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_events widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetEventsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetEventsMethodInfo a signature where
+    overloadedMethod _ = widgetGetEvents
+
+#endif
+
+-- method Widget::get_focus_on_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_focus_on_click" gtk_widget_get_focus_on_click :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns whether the widget should grab focus when it is clicked with the mouse.
+See 'GI.Gtk.Objects.Widget.widgetSetFocusOnClick'.
+
+/Since: 3.20/
+-}
+widgetGetFocusOnClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget should grab focus when it is clicked with
+              the mouse. -}
+widgetGetFocusOnClick widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_focus_on_click widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetFocusOnClickMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetFocusOnClickMethodInfo a signature where
+    overloadedMethod _ = widgetGetFocusOnClick
+
+#endif
+
+-- method Widget::get_font_map
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "FontMap"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_font_map" gtk_widget_get_font_map :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Pango.FontMap.FontMap)
+
+{- |
+Gets the font map that has been set with 'GI.Gtk.Objects.Widget.widgetSetFontMap'.
+
+/Since: 3.18/
+-}
+widgetGetFontMap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Maybe Pango.FontMap.FontMap)
+    {- ^ __Returns:__ A 'GI.Pango.Objects.FontMap.FontMap', or 'Nothing' -}
+widgetGetFontMap widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_font_map widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Pango.FontMap.FontMap) result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetFontMapMethodInfo
+instance (signature ~ (m (Maybe Pango.FontMap.FontMap)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetFontMapMethodInfo a signature where
+    overloadedMethod _ = widgetGetFontMap
+
+#endif
+
+-- method Widget::get_font_options
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "FontOptions"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_font_options" gtk_widget_get_font_options :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Cairo.FontOptions.FontOptions)
+
+{- |
+Returns the 'GI.Cairo.Structs.FontOptions.FontOptions' used for Pango rendering. When not set,
+the defaults font options for the 'GI.Gdk.Objects.Screen.Screen' will be used.
+
+/Since: 3.18/
+-}
+widgetGetFontOptions ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Maybe Cairo.FontOptions.FontOptions)
+    {- ^ __Returns:__ the 'GI.Cairo.Structs.FontOptions.FontOptions' or 'Nothing' if not set -}
+widgetGetFontOptions widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_font_options widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed Cairo.FontOptions.FontOptions) result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetFontOptionsMethodInfo
+instance (signature ~ (m (Maybe Cairo.FontOptions.FontOptions)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetFontOptionsMethodInfo a signature where
+    overloadedMethod _ = widgetGetFontOptions
+
+#endif
+
+-- method Widget::get_frame_clock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "FrameClock"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_frame_clock" gtk_widget_get_frame_clock :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gdk.FrameClock.FrameClock)
+
+{- |
+Obtains the frame clock for a widget. The frame clock is a global
+“ticker” that can be used to drive animations and repaints.  The
+most common reason to get the frame clock is to call
+'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime', in order to get a time to use for
+animating. For example you might record the start of the animation
+with an initial value from 'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime', and
+then update the animation by calling
+'GI.Gdk.Objects.FrameClock.frameClockGetFrameTime' again during each repaint.
+
+'GI.Gdk.Objects.FrameClock.frameClockRequestPhase' will result in a new frame on the
+clock, but won’t necessarily repaint any widgets. To repaint a
+widget, you have to use 'GI.Gtk.Objects.Widget.widgetQueueDraw' which invalidates
+the widget (thus scheduling it to receive a draw on the next
+frame). 'GI.Gtk.Objects.Widget.widgetQueueDraw' will also end up requesting a frame
+on the appropriate frame clock.
+
+A widget’s frame clock will not change while the widget is
+mapped. Reparenting a widget (which implies a temporary unmap) can
+change the widget’s frame clock.
+
+Unrealized widgets do not have a frame clock.
+
+/Since: 3.8/
+-}
+widgetGetFrameClock ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Maybe Gdk.FrameClock.FrameClock)
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.FrameClock.FrameClock',
+or 'Nothing' if widget is unrealized -}
+widgetGetFrameClock widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_frame_clock widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.FrameClock.FrameClock) result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetFrameClockMethodInfo
+instance (signature ~ (m (Maybe Gdk.FrameClock.FrameClock)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetFrameClockMethodInfo a signature where
+    overloadedMethod _ = widgetGetFrameClock
+
+#endif
+
+-- method Widget::get_halign
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Align"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_halign" gtk_widget_get_halign :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CUInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Widget.Widget':@/halign/@ property.
+
+For backwards compatibility reasons this method will never return
+'GI.Gtk.Enums.AlignBaseline', but instead it will convert it to
+'GI.Gtk.Enums.AlignFill'. Baselines are not supported for horizontal
+alignment.
+-}
+widgetGetHalign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.Enums.Align
+    {- ^ __Returns:__ the horizontal alignment of /@widget@/ -}
+widgetGetHalign widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_halign widget'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetHalignMethodInfo
+instance (signature ~ (m Gtk.Enums.Align), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetHalignMethodInfo a signature where
+    overloadedMethod _ = widgetGetHalign
+
+#endif
+
+-- method Widget::get_has_tooltip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_has_tooltip" gtk_widget_get_has_tooltip :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns the current value of the has-tooltip property.  See
+'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@ for more information.
+
+/Since: 2.12/
+-}
+widgetGetHasTooltip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ current value of has-tooltip on /@widget@/. -}
+widgetGetHasTooltip widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_has_tooltip widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetHasTooltipMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetHasTooltipMethodInfo a signature where
+    overloadedMethod _ = widgetGetHasTooltip
+
+#endif
+
+-- method Widget::get_has_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_has_window" gtk_widget_get_has_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether /@widget@/ has a 'GI.Gdk.Objects.Window.Window' of its own. See
+'GI.Gtk.Objects.Widget.widgetSetHasWindow'.
+
+/Since: 2.18/
+-}
+widgetGetHasWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ has a window, 'False' otherwise -}
+widgetGetHasWindow widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_has_window widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetHasWindowMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetHasWindowMethodInfo a signature where
+    overloadedMethod _ = widgetGetHasWindow
+
+#endif
+
+-- method Widget::get_hexpand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_hexpand" gtk_widget_get_hexpand :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Gets whether the widget would like any available extra horizontal
+space. When a user resizes a 'GI.Gtk.Objects.Window.Window', widgets with expand=TRUE
+generally receive the extra space. For example, a list or
+scrollable area or document in your window would often be set to
+expand.
+
+Containers should use 'GI.Gtk.Objects.Widget.widgetComputeExpand' rather than
+this function, to see whether a widget, or any of its children,
+has the expand flag set. If any child of a widget wants to
+expand, the parent may ask to expand also.
+
+This function only looks at the widget’s own hexpand flag, rather
+than computing whether the entire widget tree rooted at this widget
+wants to expand.
+-}
+widgetGetHexpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget -}
+    -> m Bool
+    {- ^ __Returns:__ whether hexpand flag is set -}
+widgetGetHexpand widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_hexpand widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetHexpandMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetHexpandMethodInfo a signature where
+    overloadedMethod _ = widgetGetHexpand
+
+#endif
+
+-- method Widget::get_hexpand_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_hexpand_set" gtk_widget_get_hexpand_set :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Gets whether 'GI.Gtk.Objects.Widget.widgetSetHexpand' has been used to
+explicitly set the expand flag on this widget.
+
+If hexpand is set, then it overrides any computed
+expand value based on child widgets. If hexpand is not
+set, then the expand value depends on whether any
+children of the widget would like to expand.
+
+There are few reasons to use this function, but it’s here
+for completeness and consistency.
+-}
+widgetGetHexpandSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget -}
+    -> m Bool
+    {- ^ __Returns:__ whether hexpand has been explicitly set -}
+widgetGetHexpandSet widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_hexpand_set widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetHexpandSetMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetHexpandSetMethodInfo a signature where
+    overloadedMethod _ = widgetGetHexpandSet
+
+#endif
+
+-- method Widget::get_mapped
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_mapped" gtk_widget_get_mapped :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Whether the widget is mapped.
+
+/Since: 2.20/
+-}
+widgetGetMapped ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget is mapped, 'False' otherwise. -}
+widgetGetMapped widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_mapped widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetMappedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetMappedMethodInfo a signature where
+    overloadedMethod _ = widgetGetMapped
+
+#endif
+
+-- method Widget::get_margin_bottom
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_margin_bottom" gtk_widget_get_margin_bottom :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Widget.Widget':@/margin-bottom/@ property.
+
+/Since: 3.0/
+-}
+widgetGetMarginBottom ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ The bottom margin of /@widget@/ -}
+widgetGetMarginBottom widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_margin_bottom widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetMarginBottomMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetMarginBottomMethodInfo a signature where
+    overloadedMethod _ = widgetGetMarginBottom
+
+#endif
+
+-- method Widget::get_margin_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_margin_end" gtk_widget_get_margin_end :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Widget.Widget':@/margin-end/@ property.
+
+/Since: 3.12/
+-}
+widgetGetMarginEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ The end margin of /@widget@/ -}
+widgetGetMarginEnd widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_margin_end widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetMarginEndMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetMarginEndMethodInfo a signature where
+    overloadedMethod _ = widgetGetMarginEnd
+
+#endif
+
+-- method Widget::get_margin_left
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_margin_left" gtk_widget_get_margin_left :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{-# DEPRECATED widgetGetMarginLeft ["(Since version 3.12)","Use 'GI.Gtk.Objects.Widget.widgetGetMarginStart' instead."] #-}
+{- |
+Gets the value of the 'GI.Gtk.Objects.Widget.Widget':@/margin-left/@ property.
+
+/Since: 3.0/
+-}
+widgetGetMarginLeft ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ The left margin of /@widget@/ -}
+widgetGetMarginLeft widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_margin_left widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetMarginLeftMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetMarginLeftMethodInfo a signature where
+    overloadedMethod _ = widgetGetMarginLeft
+
+#endif
+
+-- method Widget::get_margin_right
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_margin_right" gtk_widget_get_margin_right :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{-# DEPRECATED widgetGetMarginRight ["(Since version 3.12)","Use 'GI.Gtk.Objects.Widget.widgetGetMarginEnd' instead."] #-}
+{- |
+Gets the value of the 'GI.Gtk.Objects.Widget.Widget':@/margin-right/@ property.
+
+/Since: 3.0/
+-}
+widgetGetMarginRight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ The right margin of /@widget@/ -}
+widgetGetMarginRight widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_margin_right widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetMarginRightMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetMarginRightMethodInfo a signature where
+    overloadedMethod _ = widgetGetMarginRight
+
+#endif
+
+-- method Widget::get_margin_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_margin_start" gtk_widget_get_margin_start :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Widget.Widget':@/margin-start/@ property.
+
+/Since: 3.12/
+-}
+widgetGetMarginStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ The start margin of /@widget@/ -}
+widgetGetMarginStart widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_margin_start widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetMarginStartMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetMarginStartMethodInfo a signature where
+    overloadedMethod _ = widgetGetMarginStart
+
+#endif
+
+-- method Widget::get_margin_top
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_margin_top" gtk_widget_get_margin_top :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Widget.Widget':@/margin-top/@ property.
+
+/Since: 3.0/
+-}
+widgetGetMarginTop ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ The top margin of /@widget@/ -}
+widgetGetMarginTop widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_margin_top widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetMarginTopMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetMarginTopMethodInfo a signature where
+    overloadedMethod _ = widgetGetMarginTop
+
+#endif
+
+-- method Widget::get_modifier_mask
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "intent", argType = TInterface (Name {namespace = "Gdk", name = "ModifierIntent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the use case for the modifier mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "ModifierType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_modifier_mask" gtk_widget_get_modifier_mask :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- intent : TInterface (Name {namespace = "Gdk", name = "ModifierIntent"})
+    IO CUInt
+
+{- |
+Returns the modifier mask the /@widget@/’s windowing system backend
+uses for a particular purpose.
+
+See 'GI.Gdk.Objects.Keymap.keymapGetModifierMask'.
+
+/Since: 3.4/
+-}
+widgetGetModifierMask ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Enums.ModifierIntent
+    {- ^ /@intent@/: the use case for the modifier mask -}
+    -> m [Gdk.Flags.ModifierType]
+    {- ^ __Returns:__ the modifier mask used for /@intent@/. -}
+widgetGetModifierMask widget intent = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let intent' = (fromIntegral . fromEnum) intent
+    result <- gtk_widget_get_modifier_mask widget' intent'
+    let result' = wordToGFlags result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetModifierMaskMethodInfo
+instance (signature ~ (Gdk.Enums.ModifierIntent -> m [Gdk.Flags.ModifierType]), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetModifierMaskMethodInfo a signature where
+    overloadedMethod _ = widgetGetModifierMask
+
+#endif
+
+-- method Widget::get_modifier_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RcStyle"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_modifier_style" gtk_widget_get_modifier_style :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.RcStyle.RcStyle)
+
+{-# DEPRECATED widgetGetModifierStyle ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' with a custom 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' instead"] #-}
+{- |
+Returns the current modifier style for the widget. (As set by
+'GI.Gtk.Objects.Widget.widgetModifyStyle'.) If no style has previously set, a new
+'GI.Gtk.Objects.RcStyle.RcStyle' will be created with all values unset, and set as the
+modifier style for the widget. If you make changes to this rc
+style, you must call 'GI.Gtk.Objects.Widget.widgetModifyStyle', passing in the
+returned rc style, to make sure that your changes take effect.
+
+Caution: passing the style back to 'GI.Gtk.Objects.Widget.widgetModifyStyle' will
+normally end up destroying it, because 'GI.Gtk.Objects.Widget.widgetModifyStyle' copies
+the passed-in style and sets the copy as the new modifier style,
+thus dropping any reference to the old modifier style. Add a reference
+to the modifier style if you want to keep it alive.
+-}
+widgetGetModifierStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.RcStyle.RcStyle
+    {- ^ __Returns:__ the modifier style for the widget.
+    This rc style is owned by the widget. If you want to keep a
+    pointer to value this around, you must add a refcount using
+    'GI.GObject.Objects.Object.objectRef'. -}
+widgetGetModifierStyle widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_modifier_style widget'
+    checkUnexpectedReturnNULL "widgetGetModifierStyle" result
+    result' <- (newObject Gtk.RcStyle.RcStyle) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetModifierStyleMethodInfo
+instance (signature ~ (m Gtk.RcStyle.RcStyle), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetModifierStyleMethodInfo a signature where
+    overloadedMethod _ = widgetGetModifierStyle
+
+#endif
+
+-- method Widget::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_name" gtk_widget_get_name :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CString
+
+{- |
+Retrieves the name of a widget. See 'GI.Gtk.Objects.Widget.widgetSetName' for the
+significance of widget names.
+-}
+widgetGetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m T.Text
+    {- ^ __Returns:__ name of the widget. This string is owned by GTK+ and
+should not be modified or freed -}
+widgetGetName widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_name widget'
+    checkUnexpectedReturnNULL "widgetGetName" result
+    result' <- cstringToText result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetNameMethodInfo a signature where
+    overloadedMethod _ = widgetGetName
+
+#endif
+
+-- method Widget::get_no_show_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_no_show_all" gtk_widget_get_no_show_all :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns the current value of the 'GI.Gtk.Objects.Widget.Widget':@/no-show-all/@ property,
+which determines whether calls to 'GI.Gtk.Objects.Widget.widgetShowAll'
+will affect this widget.
+
+/Since: 2.4/
+-}
+widgetGetNoShowAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ the current value of the “no-show-all” property. -}
+widgetGetNoShowAll widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_no_show_all widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetNoShowAllMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetNoShowAllMethodInfo a signature where
+    overloadedMethod _ = widgetGetNoShowAll
+
+#endif
+
+-- method Widget::get_opacity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_opacity" gtk_widget_get_opacity :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CDouble
+
+{- |
+Fetches the requested opacity for this widget.
+See 'GI.Gtk.Objects.Widget.widgetSetOpacity'.
+
+/Since: 3.8/
+-}
+widgetGetOpacity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Double
+    {- ^ __Returns:__ the requested opacity for this widget. -}
+widgetGetOpacity widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_opacity widget'
+    let result' = realToFrac result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetOpacityMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetOpacityMethodInfo a signature where
+    overloadedMethod _ = widgetGetOpacity
+
+#endif
+
+-- method Widget::get_pango_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Context"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_pango_context" gtk_widget_get_pango_context :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Pango.Context.Context)
+
+{- |
+Gets a 'GI.Pango.Objects.Context.Context' with the appropriate font map, font description,
+and base direction for this widget. Unlike the context returned
+by 'GI.Gtk.Objects.Widget.widgetCreatePangoContext', this context is owned by
+the widget (it can be used until the screen for the widget changes
+or the widget is removed from its toplevel), and will be updated to
+match any changes to the widget’s attributes. This can be tracked
+by using the 'GI.Gtk.Objects.Widget.Widget'::@/screen-changed/@ signal on the widget.
+-}
+widgetGetPangoContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Pango.Context.Context
+    {- ^ __Returns:__ the 'GI.Pango.Objects.Context.Context' for the widget. -}
+widgetGetPangoContext widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_pango_context widget'
+    checkUnexpectedReturnNULL "widgetGetPangoContext" result
+    result' <- (newObject Pango.Context.Context) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetPangoContextMethodInfo
+instance (signature ~ (m Pango.Context.Context), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetPangoContextMethodInfo a signature where
+    overloadedMethod _ = widgetGetPangoContext
+
+#endif
+
+-- method Widget::get_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_parent" gtk_widget_get_parent :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Widget)
+
+{- |
+Returns the parent container of /@widget@/.
+-}
+widgetGetParent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Maybe Widget)
+    {- ^ __Returns:__ the parent container of /@widget@/, or 'Nothing' -}
+widgetGetParent widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_parent widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Widget) result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetParentMethodInfo
+instance (signature ~ (m (Maybe Widget)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetParentMethodInfo a signature where
+    overloadedMethod _ = widgetGetParent
+
+#endif
+
+-- method Widget::get_parent_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_parent_window" gtk_widget_get_parent_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Gets /@widget@/’s parent window, or 'Nothing' if it does not have one.
+-}
+widgetGetParentWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget'. -}
+    -> m (Maybe Gdk.Window.Window)
+    {- ^ __Returns:__ the parent window of /@widget@/, or 'Nothing'
+if it does not have a parent window. -}
+widgetGetParentWindow widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_parent_window widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Window.Window) result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetParentWindowMethodInfo
+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetParentWindowMethodInfo a signature where
+    overloadedMethod _ = widgetGetParentWindow
+
+#endif
+
+-- method Widget::get_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_path" gtk_widget_get_path :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.WidgetPath.WidgetPath)
+
+{- |
+Returns the 'GI.Gtk.Structs.WidgetPath.WidgetPath' representing /@widget@/, if the widget
+is not connected to a toplevel widget, a partial path will be
+created.
+-}
+widgetGetPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.WidgetPath.WidgetPath
+    {- ^ __Returns:__ The 'GI.Gtk.Structs.WidgetPath.WidgetPath' representing /@widget@/ -}
+widgetGetPath widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_path widget'
+    checkUnexpectedReturnNULL "widgetGetPath" result
+    result' <- (newBoxed Gtk.WidgetPath.WidgetPath) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetPathMethodInfo
+instance (signature ~ (m Gtk.WidgetPath.WidgetPath), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetPathMethodInfo a signature where
+    overloadedMethod _ = widgetGetPath
+
+#endif
+
+-- method Widget::get_pointer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the X coordinate, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the Y coordinate, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_pointer" gtk_widget_get_pointer :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Int32 ->                            -- x : TBasicType TInt
+    Ptr Int32 ->                            -- y : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED widgetGetPointer ["(Since version 3.4)","Use 'GI.Gdk.Objects.Window.windowGetDevicePosition' instead."] #-}
+{- |
+Obtains the location of the mouse pointer in widget coordinates.
+Widget coordinates are a bit odd; for historical reasons, they are
+defined as /@widget@/->window coordinates for widgets that return 'True' for
+'GI.Gtk.Objects.Widget.widgetGetHasWindow'; and are relative to /@widget@/->allocation.x,
+/@widget@/->allocation.y otherwise.
+-}
+widgetGetPointer ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ((Int32, Int32))
+widgetGetPointer widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    gtk_widget_get_pointer widget' x y
+    x' <- peek x
+    y' <- peek y
+    touchManagedPtr widget
+    freeMem x
+    freeMem y
+    return (x', y')
+
+#if ENABLE_OVERLOADING
+data WidgetGetPointerMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetPointerMethodInfo a signature where
+    overloadedMethod _ = widgetGetPointer
+
+#endif
+
+-- method Widget::get_preferred_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_preferred_height" gtk_widget_get_preferred_height :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Int32 ->                            -- minimum_height : TBasicType TInt
+    Ptr Int32 ->                            -- natural_height : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves a widget’s initial minimum and natural height.
+
+This call is specific to width-for-height requests.
+
+The returned request will be modified by the
+GtkWidgetClass::adjust_size_request virtual method and by any
+@/GtkSizeGroups/@ that have been applied. That is, the returned request
+is the one that should be used for layout, not necessarily the one
+returned by the widget itself.
+
+/Since: 3.0/
+-}
+widgetGetPreferredHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' instance -}
+    -> m ((Int32, Int32))
+widgetGetPreferredHeight widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumHeight <- allocMem :: IO (Ptr Int32)
+    naturalHeight <- allocMem :: IO (Ptr Int32)
+    gtk_widget_get_preferred_height widget' minimumHeight naturalHeight
+    minimumHeight' <- peek minimumHeight
+    naturalHeight' <- peek naturalHeight
+    touchManagedPtr widget
+    freeMem minimumHeight
+    freeMem naturalHeight
+    return (minimumHeight', naturalHeight')
+
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredHeightMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetPreferredHeightMethodInfo a signature where
+    overloadedMethod _ = widgetGetPreferredHeight
+
+#endif
+
+-- method Widget::get_preferred_height_and_baseline_for_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width which is available for allocation, or -1 if none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the minimum height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the natural height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "minimum_baseline", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the baseline for the minimum height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_baseline", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the baseline for the natural height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_preferred_height_and_baseline_for_width" gtk_widget_get_preferred_height_and_baseline_for_width :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- width : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_height : TBasicType TInt
+    Ptr Int32 ->                            -- natural_height : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_baseline : TBasicType TInt
+    Ptr Int32 ->                            -- natural_baseline : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves a widget’s minimum and natural height and the corresponding baselines if it would be given
+the specified /@width@/, or the default height if /@width@/ is -1. The baselines may be -1 which means
+that no baseline is requested for this widget.
+
+The returned request will be modified by the
+GtkWidgetClass::adjust_size_request and GtkWidgetClass::adjust_baseline_request virtual methods
+and by any @/GtkSizeGroups/@ that have been applied. That is, the returned request
+is the one that should be used for layout, not necessarily the one
+returned by the widget itself.
+
+/Since: 3.10/
+-}
+widgetGetPreferredHeightAndBaselineForWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' instance -}
+    -> Int32
+    {- ^ /@width@/: the width which is available for allocation, or -1 if none -}
+    -> m ((Int32, Int32, Int32, Int32))
+widgetGetPreferredHeightAndBaselineForWidth widget width = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumHeight <- allocMem :: IO (Ptr Int32)
+    naturalHeight <- allocMem :: IO (Ptr Int32)
+    minimumBaseline <- allocMem :: IO (Ptr Int32)
+    naturalBaseline <- allocMem :: IO (Ptr Int32)
+    gtk_widget_get_preferred_height_and_baseline_for_width widget' width minimumHeight naturalHeight minimumBaseline naturalBaseline
+    minimumHeight' <- peek minimumHeight
+    naturalHeight' <- peek naturalHeight
+    minimumBaseline' <- peek minimumBaseline
+    naturalBaseline' <- peek naturalBaseline
+    touchManagedPtr widget
+    freeMem minimumHeight
+    freeMem naturalHeight
+    freeMem minimumBaseline
+    freeMem naturalBaseline
+    return (minimumHeight', naturalHeight', minimumBaseline', naturalBaseline')
+
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+instance (signature ~ (Int32 -> m ((Int32, Int32, Int32, Int32))), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetPreferredHeightAndBaselineForWidthMethodInfo a signature where
+    overloadedMethod _ = widgetGetPreferredHeightAndBaselineForWidth
+
+#endif
+
+-- method Widget::get_preferred_height_for_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width which is available for allocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the minimum height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the natural height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_preferred_height_for_width" gtk_widget_get_preferred_height_for_width :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- width : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_height : TBasicType TInt
+    Ptr Int32 ->                            -- natural_height : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves a widget’s minimum and natural height if it would be given
+the specified /@width@/.
+
+The returned request will be modified by the
+GtkWidgetClass::adjust_size_request virtual method and by any
+@/GtkSizeGroups/@ that have been applied. That is, the returned request
+is the one that should be used for layout, not necessarily the one
+returned by the widget itself.
+
+/Since: 3.0/
+-}
+widgetGetPreferredHeightForWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' instance -}
+    -> Int32
+    {- ^ /@width@/: the width which is available for allocation -}
+    -> m ((Int32, Int32))
+widgetGetPreferredHeightForWidth widget width = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumHeight <- allocMem :: IO (Ptr Int32)
+    naturalHeight <- allocMem :: IO (Ptr Int32)
+    gtk_widget_get_preferred_height_for_width widget' width minimumHeight naturalHeight
+    minimumHeight' <- peek minimumHeight
+    naturalHeight' <- peek naturalHeight
+    touchManagedPtr widget
+    freeMem minimumHeight
+    freeMem naturalHeight
+    return (minimumHeight', naturalHeight')
+
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredHeightForWidthMethodInfo
+instance (signature ~ (Int32 -> m ((Int32, Int32))), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetPreferredHeightForWidthMethodInfo a signature where
+    overloadedMethod _ = widgetGetPreferredHeightForWidth
+
+#endif
+
+-- method Widget::get_preferred_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_size", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the minimum size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "natural_size", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the natural size, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_preferred_size" gtk_widget_get_preferred_size :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Requisition.Requisition ->      -- minimum_size : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    Ptr Gtk.Requisition.Requisition ->      -- natural_size : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    IO ()
+
+{- |
+Retrieves the minimum and natural size of a widget, taking
+into account the widget’s preference for height-for-width management.
+
+This is used to retrieve a suitable size by container widgets which do
+not impose any restrictions on the child placement. It can be used
+to deduce toplevel window and menu sizes as well as child widgets in
+free-form containers such as GtkLayout.
+
+Handle with care. Note that the natural height of a height-for-width
+widget will generally be a smaller size than the minimum height, since the required
+height for the natural width is generally smaller than the required height for
+the minimum width.
+
+Use 'GI.Gtk.Objects.Widget.widgetGetPreferredHeightAndBaselineForWidth' if you want to support
+baseline alignment.
+
+/Since: 3.0/
+-}
+widgetGetPreferredSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' instance -}
+    -> m ((Gtk.Requisition.Requisition, Gtk.Requisition.Requisition))
+widgetGetPreferredSize widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumSize <- callocBoxedBytes 8 :: IO (Ptr Gtk.Requisition.Requisition)
+    naturalSize <- callocBoxedBytes 8 :: IO (Ptr Gtk.Requisition.Requisition)
+    gtk_widget_get_preferred_size widget' minimumSize naturalSize
+    minimumSize' <- (wrapBoxed Gtk.Requisition.Requisition) minimumSize
+    naturalSize' <- (wrapBoxed Gtk.Requisition.Requisition) naturalSize
+    touchManagedPtr widget
+    return (minimumSize', naturalSize')
+
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredSizeMethodInfo
+instance (signature ~ (m ((Gtk.Requisition.Requisition, Gtk.Requisition.Requisition))), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetPreferredSizeMethodInfo a signature where
+    overloadedMethod _ = widgetGetPreferredSize
+
+#endif
+
+-- method Widget::get_preferred_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the minimum width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the natural width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_preferred_width" gtk_widget_get_preferred_width :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Int32 ->                            -- minimum_width : TBasicType TInt
+    Ptr Int32 ->                            -- natural_width : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves a widget’s initial minimum and natural width.
+
+This call is specific to height-for-width requests.
+
+The returned request will be modified by the
+GtkWidgetClass::adjust_size_request virtual method and by any
+@/GtkSizeGroups/@ that have been applied. That is, the returned request
+is the one that should be used for layout, not necessarily the one
+returned by the widget itself.
+
+/Since: 3.0/
+-}
+widgetGetPreferredWidth ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' instance -}
+    -> m ((Int32, Int32))
+widgetGetPreferredWidth widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumWidth <- allocMem :: IO (Ptr Int32)
+    naturalWidth <- allocMem :: IO (Ptr Int32)
+    gtk_widget_get_preferred_width widget' minimumWidth naturalWidth
+    minimumWidth' <- peek minimumWidth
+    naturalWidth' <- peek naturalWidth
+    touchManagedPtr widget
+    freeMem minimumWidth
+    freeMem naturalWidth
+    return (minimumWidth', naturalWidth')
+
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredWidthMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetPreferredWidthMethodInfo a signature where
+    overloadedMethod _ = widgetGetPreferredWidth
+
+#endif
+
+-- method Widget::get_preferred_width_for_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the height which is available for allocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the minimum width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "natural_width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for storing the natural width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_preferred_width_for_height" gtk_widget_get_preferred_width_for_height :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- height : TBasicType TInt
+    Ptr Int32 ->                            -- minimum_width : TBasicType TInt
+    Ptr Int32 ->                            -- natural_width : TBasicType TInt
+    IO ()
+
+{- |
+Retrieves a widget’s minimum and natural width if it would be given
+the specified /@height@/.
+
+The returned request will be modified by the
+GtkWidgetClass::adjust_size_request virtual method and by any
+@/GtkSizeGroups/@ that have been applied. That is, the returned request
+is the one that should be used for layout, not necessarily the one
+returned by the widget itself.
+
+/Since: 3.0/
+-}
+widgetGetPreferredWidthForHeight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' instance -}
+    -> Int32
+    {- ^ /@height@/: the height which is available for allocation -}
+    -> m ((Int32, Int32))
+widgetGetPreferredWidthForHeight widget height = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    minimumWidth <- allocMem :: IO (Ptr Int32)
+    naturalWidth <- allocMem :: IO (Ptr Int32)
+    gtk_widget_get_preferred_width_for_height widget' height minimumWidth naturalWidth
+    minimumWidth' <- peek minimumWidth
+    naturalWidth' <- peek naturalWidth
+    touchManagedPtr widget
+    freeMem minimumWidth
+    freeMem naturalWidth
+    return (minimumWidth', naturalWidth')
+
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredWidthForHeightMethodInfo
+instance (signature ~ (Int32 -> m ((Int32, Int32))), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetPreferredWidthForHeightMethodInfo a signature where
+    overloadedMethod _ = widgetGetPreferredWidthForHeight
+
+#endif
+
+-- method Widget::get_realized
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_realized" gtk_widget_get_realized :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether /@widget@/ is realized.
+
+/Since: 2.20/
+-}
+widgetGetRealized ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ is realized, 'False' otherwise -}
+widgetGetRealized widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_realized widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetRealizedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetRealizedMethodInfo a signature where
+    overloadedMethod _ = widgetGetRealized
+
+#endif
+
+-- method Widget::get_receives_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_receives_default" gtk_widget_get_receives_default :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether /@widget@/ is always treated as the default widget
+within its toplevel when it has the focus, even if another widget
+is the default.
+
+See 'GI.Gtk.Objects.Widget.widgetSetReceivesDefault'.
+
+/Since: 2.18/
+-}
+widgetGetReceivesDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ acts as the default widget when focused,
+              'False' otherwise -}
+widgetGetReceivesDefault widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_receives_default widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetReceivesDefaultMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetReceivesDefaultMethodInfo a signature where
+    overloadedMethod _ = widgetGetReceivesDefault
+
+#endif
+
+-- method Widget::get_request_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SizeRequestMode"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_request_mode" gtk_widget_get_request_mode :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CUInt
+
+{- |
+Gets whether the widget prefers a height-for-width layout
+or a width-for-height layout.
+
+'GI.Gtk.Objects.Bin.Bin' widgets generally propagate the preference of
+their child, container widgets need to request something either in
+context of their children or in context of their allocation
+capabilities.
+
+/Since: 3.0/
+-}
+widgetGetRequestMode ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' instance -}
+    -> m Gtk.Enums.SizeRequestMode
+    {- ^ __Returns:__ The 'GI.Gtk.Enums.SizeRequestMode' preferred by /@widget@/. -}
+widgetGetRequestMode widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_request_mode widget'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetRequestModeMethodInfo
+instance (signature ~ (m Gtk.Enums.SizeRequestMode), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetRequestModeMethodInfo a signature where
+    overloadedMethod _ = widgetGetRequestMode
+
+#endif
+
+-- method Widget::get_requisition
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "requisition", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkRequisition to copy to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_requisition" gtk_widget_get_requisition :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Requisition.Requisition ->      -- requisition : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    IO ()
+
+{-# DEPRECATED widgetGetRequisition ["(Since version 3.0)","The 'GI.Gtk.Structs.Requisition.Requisition' cache on the widget was","removed, If you need to cache sizes across requests and allocations,","add an explicit cache to the widget in question instead."] #-}
+{- |
+Retrieves the widget’s requisition.
+
+This function should only be used by widget implementations in
+order to figure whether the widget’s requisition has actually
+changed after some internal state change (so that they can call
+'GI.Gtk.Objects.Widget.widgetQueueResize' instead of 'GI.Gtk.Objects.Widget.widgetQueueDraw').
+
+Normally, 'GI.Gtk.Objects.Widget.widgetSizeRequest' should be used.
+
+/Since: 2.20/
+-}
+widgetGetRequisition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Gtk.Requisition.Requisition)
+widgetGetRequisition widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    requisition <- callocBoxedBytes 8 :: IO (Ptr Gtk.Requisition.Requisition)
+    gtk_widget_get_requisition widget' requisition
+    requisition' <- (wrapBoxed Gtk.Requisition.Requisition) requisition
+    touchManagedPtr widget
+    return requisition'
+
+#if ENABLE_OVERLOADING
+data WidgetGetRequisitionMethodInfo
+instance (signature ~ (m (Gtk.Requisition.Requisition)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetRequisitionMethodInfo a signature where
+    overloadedMethod _ = widgetGetRequisition
+
+#endif
+
+-- method Widget::get_root_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_root_window" gtk_widget_get_root_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gdk.Window.Window)
+
+{-# DEPRECATED widgetGetRootWindow ["(Since version 3.12)","Use 'GI.Gdk.Objects.Screen.screenGetRootWindow' instead"] #-}
+{- |
+Get the root window where this widget is located. This function can
+only be called after the widget has been added to a widget
+hierarchy with 'GI.Gtk.Objects.Window.Window' at the top.
+
+The root window is useful for such purposes as creating a popup
+'GI.Gdk.Objects.Window.Window' associated with the window. In general, you should only
+create display specific resources when a widget has been realized,
+and you should free those resources when the widget is unrealized.
+
+/Since: 2.2/
+-}
+widgetGetRootWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gdk.Window.Window
+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Window.Window' root window for the toplevel for this widget. -}
+widgetGetRootWindow widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_root_window widget'
+    checkUnexpectedReturnNULL "widgetGetRootWindow" result
+    result' <- (newObject Gdk.Window.Window) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetRootWindowMethodInfo
+instance (signature ~ (m Gdk.Window.Window), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetRootWindowMethodInfo a signature where
+    overloadedMethod _ = widgetGetRootWindow
+
+#endif
+
+-- method Widget::get_scale_factor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_scale_factor" gtk_widget_get_scale_factor :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Retrieves the internal scale factor that maps from window coordinates
+to the actual device pixels. On traditional systems this is 1, on
+high density outputs, it can be a higher value (typically 2).
+
+See 'GI.Gdk.Objects.Window.windowGetScaleFactor'.
+
+/Since: 3.10/
+-}
+widgetGetScaleFactor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Int32
+    {- ^ __Returns:__ the scale factor for /@widget@/ -}
+widgetGetScaleFactor widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_scale_factor widget'
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetGetScaleFactorMethodInfo
+instance (signature ~ (m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetScaleFactorMethodInfo a signature where
+    overloadedMethod _ = widgetGetScaleFactor
+
+#endif
+
+-- method Widget::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_screen" gtk_widget_get_screen :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gdk.Screen.Screen)
+
+{- |
+Get the 'GI.Gdk.Objects.Screen.Screen' from the toplevel window associated with
+this widget. This function can only be called after the widget
+has been added to a widget hierarchy with a 'GI.Gtk.Objects.Window.Window'
+at the top.
+
+In general, you should only create screen specific
+resources when a widget has been realized, and you should
+free those resources when the widget is unrealized.
+
+/Since: 2.2/
+-}
+widgetGetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gdk.Screen.Screen
+    {- ^ __Returns:__ the 'GI.Gdk.Objects.Screen.Screen' for the toplevel for this widget. -}
+widgetGetScreen widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_screen widget'
+    checkUnexpectedReturnNULL "widgetGetScreen" result
+    result' <- (newObject Gdk.Screen.Screen) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetScreenMethodInfo
+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetScreenMethodInfo a signature where
+    overloadedMethod _ = widgetGetScreen
+
+#endif
+
+-- method Widget::get_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_sensitive" gtk_widget_get_sensitive :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns the widget’s sensitivity (in the sense of returning
+the value that has been set using 'GI.Gtk.Objects.Widget.widgetSetSensitive').
+
+The effective sensitivity of a widget is however determined by both its
+own and its parent widget’s sensitivity. See 'GI.Gtk.Objects.Widget.widgetIsSensitive'.
+
+/Since: 2.18/
+-}
+widgetGetSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget is sensitive -}
+widgetGetSensitive widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_sensitive widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetSensitiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetSensitiveMethodInfo a signature where
+    overloadedMethod _ = widgetGetSensitive
+
+#endif
+
+-- method Widget::get_settings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Settings"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_settings" gtk_widget_get_settings :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.Settings.Settings)
+
+{- |
+Gets the settings object holding the settings used for this widget.
+
+Note that this function can only be called when the 'GI.Gtk.Objects.Widget.Widget'
+is attached to a toplevel, since the settings object is specific
+to a particular 'GI.Gdk.Objects.Screen.Screen'.
+-}
+widgetGetSettings ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.Settings.Settings
+    {- ^ __Returns:__ the relevant 'GI.Gtk.Objects.Settings.Settings' object -}
+widgetGetSettings widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_settings widget'
+    checkUnexpectedReturnNULL "widgetGetSettings" result
+    result' <- (newObject Gtk.Settings.Settings) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetSettingsMethodInfo
+instance (signature ~ (m Gtk.Settings.Settings), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetSettingsMethodInfo a signature where
+    overloadedMethod _ = widgetGetSettings
+
+#endif
+
+-- method Widget::get_size_request
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_size_request" gtk_widget_get_size_request :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+{- |
+Gets the size request that was explicitly set for the widget using
+'GI.Gtk.Objects.Widget.widgetSetSizeRequest'. A value of -1 stored in /@width@/ or
+/@height@/ indicates that that dimension has not been set explicitly
+and the natural requisition of the widget will be used instead. See
+'GI.Gtk.Objects.Widget.widgetSetSizeRequest'. To get the size a widget will
+actually request, call 'GI.Gtk.Objects.Widget.widgetGetPreferredSize' instead of
+this function.
+-}
+widgetGetSizeRequest ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ((Int32, Int32))
+widgetGetSizeRequest widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_widget_get_size_request widget' width height
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr widget
+    freeMem width
+    freeMem height
+    return (width', height')
+
+#if ENABLE_OVERLOADING
+data WidgetGetSizeRequestMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetSizeRequestMethodInfo a signature where
+    overloadedMethod _ = widgetGetSizeRequest
+
+#endif
+
+-- method Widget::get_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StateType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_state" gtk_widget_get_state :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CUInt
+
+{-# DEPRECATED widgetGetState ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetGetStateFlags' instead."] #-}
+{- |
+Returns the widget’s state. See 'GI.Gtk.Objects.Widget.widgetSetState'.
+
+/Since: 2.18/
+-}
+widgetGetState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.Enums.StateType
+    {- ^ __Returns:__ the state of /@widget@/. -}
+widgetGetState widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_state widget'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetStateMethodInfo
+instance (signature ~ (m Gtk.Enums.StateType), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetStateMethodInfo a signature where
+    overloadedMethod _ = widgetGetState
+
+#endif
+
+-- method Widget::get_state_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StateFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_state_flags" gtk_widget_get_state_flags :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CUInt
+
+{- |
+Returns the widget state as a flag set. It is worth mentioning
+that the effective 'GI.Gtk.Flags.StateFlagsInsensitive' state will be
+returned, that is, also based on parent insensitivity, even if
+/@widget@/ itself is sensitive.
+
+Also note that if you are looking for a way to obtain the
+'GI.Gtk.Flags.StateFlags' to pass to a 'GI.Gtk.Objects.StyleContext.StyleContext' method, you
+should look at 'GI.Gtk.Objects.StyleContext.styleContextGetState'.
+
+/Since: 3.0/
+-}
+widgetGetStateFlags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m [Gtk.Flags.StateFlags]
+    {- ^ __Returns:__ The state flags for widget -}
+widgetGetStateFlags widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_state_flags widget'
+    let result' = wordToGFlags result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetStateFlagsMethodInfo
+instance (signature ~ (m [Gtk.Flags.StateFlags]), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetStateFlagsMethodInfo a signature where
+    overloadedMethod _ = widgetGetStateFlags
+
+#endif
+
+-- method Widget::get_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Style"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_style" gtk_widget_get_style :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.Style.Style)
+
+{-# DEPRECATED widgetGetStyle ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+Simply an accessor function that returns /@widget@/->style.
+-}
+widgetGetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.Style.Style
+    {- ^ __Returns:__ the widget’s 'GI.Gtk.Objects.Style.Style' -}
+widgetGetStyle widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_style widget'
+    checkUnexpectedReturnNULL "widgetGetStyle" result
+    result' <- (newObject Gtk.Style.Style) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetStyleMethodInfo
+instance (signature ~ (m Gtk.Style.Style), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetStyleMethodInfo a signature where
+    overloadedMethod _ = widgetGetStyle
+
+#endif
+
+-- method Widget::get_style_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StyleContext"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_style_context" gtk_widget_get_style_context :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.StyleContext.StyleContext)
+
+{- |
+Returns the style context associated to /@widget@/. The returned object is
+guaranteed to be the same for the lifetime of /@widget@/.
+-}
+widgetGetStyleContext ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.StyleContext.StyleContext
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.StyleContext.StyleContext'. This memory is owned by /@widget@/ and
+         must not be freed. -}
+widgetGetStyleContext widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_style_context widget'
+    checkUnexpectedReturnNULL "widgetGetStyleContext" result
+    result' <- (newObject Gtk.StyleContext.StyleContext) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetStyleContextMethodInfo
+instance (signature ~ (m Gtk.StyleContext.StyleContext), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetStyleContextMethodInfo a signature where
+    overloadedMethod _ = widgetGetStyleContext
+
+#endif
+
+-- method Widget::get_support_multidevice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_support_multidevice" gtk_widget_get_support_multidevice :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns 'True' if /@widget@/ is multiple pointer aware. See
+'GI.Gtk.Objects.Widget.widgetSetSupportMultidevice' for more information.
+-}
+widgetGetSupportMultidevice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ is multidevice aware. -}
+widgetGetSupportMultidevice widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_support_multidevice widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetSupportMultideviceMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetSupportMultideviceMethodInfo a signature where
+    overloadedMethod _ = widgetGetSupportMultidevice
+
+#endif
+
+-- method Widget::get_template_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GType to get a template child for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The \8220id\8221 of the child defined in the template XML", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_template_child" gtk_widget_get_template_child :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CGType ->                               -- widget_type : TBasicType TGType
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr GObject.Object.Object)
+
+{- |
+Fetch an object build from the template XML for /@widgetType@/ in this /@widget@/ instance.
+
+This will only report children which were previously declared with
+'GI.Gtk.Structs.WidgetClass.widgetClassBindTemplateChildFull' or one of its
+variants.
+
+This function is only meant to be called for code which is private to the /@widgetType@/ which
+declared the child and is meant for language bindings which cannot easily make use
+of the GObject structure offsets.
+-}
+widgetGetTemplateChild ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: A 'GI.Gtk.Objects.Widget.Widget' -}
+    -> GType
+    {- ^ /@widgetType@/: The 'GType' to get a template child for -}
+    -> T.Text
+    {- ^ /@name@/: The “id” of the child defined in the template XML -}
+    -> m GObject.Object.Object
+    {- ^ __Returns:__ The object built in the template XML with the id /@name@/ -}
+widgetGetTemplateChild widget widgetType name = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let widgetType' = gtypeToCGType widgetType
+    name' <- textToCString name
+    result <- gtk_widget_get_template_child widget' widgetType' name'
+    checkUnexpectedReturnNULL "widgetGetTemplateChild" result
+    result' <- (newObject GObject.Object.Object) result
+    touchManagedPtr widget
+    freeMem name'
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetTemplateChildMethodInfo
+instance (signature ~ (GType -> T.Text -> m GObject.Object.Object), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetTemplateChildMethodInfo a signature where
+    overloadedMethod _ = widgetGetTemplateChild
+
+#endif
+
+-- method Widget::get_tooltip_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_tooltip_markup" gtk_widget_get_tooltip_markup :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CString
+
+{- |
+Gets the contents of the tooltip for /@widget@/.
+
+/Since: 2.12/
+-}
+widgetGetTooltipMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the tooltip text, or 'Nothing'. You should free the
+  returned string with 'GI.GLib.Functions.free' when done. -}
+widgetGetTooltipMarkup widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_tooltip_markup widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetTooltipMarkupMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetTooltipMarkupMethodInfo a signature where
+    overloadedMethod _ = widgetGetTooltipMarkup
+
+#endif
+
+-- method Widget::get_tooltip_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_tooltip_text" gtk_widget_get_tooltip_text :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CString
+
+{- |
+Gets the contents of the tooltip for /@widget@/.
+
+/Since: 2.12/
+-}
+widgetGetTooltipText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the tooltip text, or 'Nothing'. You should free the
+  returned string with 'GI.GLib.Functions.free' when done. -}
+widgetGetTooltipText widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_tooltip_text widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetTooltipTextMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetTooltipTextMethodInfo a signature where
+    overloadedMethod _ = widgetGetTooltipText
+
+#endif
+
+-- method Widget::get_tooltip_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_tooltip_window" gtk_widget_get_tooltip_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gtk.Window.Window)
+
+{- |
+Returns the 'GI.Gtk.Objects.Window.Window' of the current tooltip. This can be the
+GtkWindow created by default, or the custom tooltip window set
+using 'GI.Gtk.Objects.Widget.widgetSetTooltipWindow'.
+
+/Since: 2.12/
+-}
+widgetGetTooltipWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.Window.Window
+    {- ^ __Returns:__ The 'GI.Gtk.Objects.Window.Window' of the current tooltip. -}
+widgetGetTooltipWindow widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_tooltip_window widget'
+    checkUnexpectedReturnNULL "widgetGetTooltipWindow" result
+    result' <- (newObject Gtk.Window.Window) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetTooltipWindowMethodInfo
+instance (signature ~ (m Gtk.Window.Window), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetTooltipWindowMethodInfo a signature where
+    overloadedMethod _ = widgetGetTooltipWindow
+
+#endif
+
+-- method Widget::get_toplevel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_toplevel" gtk_widget_get_toplevel :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Widget)
+
+{- |
+This function returns the topmost widget in the container hierarchy
+/@widget@/ is a part of. If /@widget@/ has no parent widgets, it will be
+returned as the topmost widget. No reference will be added to the
+returned widget; it should not be unreferenced.
+
+Note the difference in behavior vs. 'GI.Gtk.Objects.Widget.widgetGetAncestor';
+@gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)@
+would return
+'Nothing' if /@widget@/ wasn’t inside a toplevel window, and if the
+window was inside a 'GI.Gtk.Objects.Window.Window'-derived widget which was in turn
+inside the toplevel 'GI.Gtk.Objects.Window.Window'. While the second case may
+seem unlikely, it actually happens when a 'GI.Gtk.Objects.Plug.Plug' is embedded
+inside a 'GI.Gtk.Objects.Socket.Socket' within the same application.
+
+To reliably find the toplevel 'GI.Gtk.Objects.Window.Window', use
+'GI.Gtk.Objects.Widget.widgetGetToplevel' and call @/GTK_IS_WINDOW()/@
+on the result. For instance, to get the title of a widget\'s toplevel
+window, one might use:
+
+=== /C code/
+>
+>static const char *
+>get_widget_toplevel_title (GtkWidget *widget)
+>{
+>  GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
+>  if (GTK_IS_WINDOW (toplevel))
+>    {
+>      return gtk_window_get_title (GTK_WINDOW (toplevel));
+>    }
+>
+>  return NULL;
+>}
+-}
+widgetGetToplevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Widget
+    {- ^ __Returns:__ the topmost ancestor of /@widget@/, or /@widget@/ itself
+   if there’s no ancestor. -}
+widgetGetToplevel widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_toplevel widget'
+    checkUnexpectedReturnNULL "widgetGetToplevel" result
+    result' <- (newObject Widget) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetToplevelMethodInfo
+instance (signature ~ (m Widget), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetToplevelMethodInfo a signature where
+    overloadedMethod _ = widgetGetToplevel
+
+#endif
+
+-- method Widget::get_valign
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Align"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_valign" gtk_widget_get_valign :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CUInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Widget.Widget':@/valign/@ property.
+
+For backwards compatibility reasons this method will never return
+'GI.Gtk.Enums.AlignBaseline', but instead it will convert it to
+'GI.Gtk.Enums.AlignFill'. If your widget want to support baseline aligned
+children it must use 'GI.Gtk.Objects.Widget.widgetGetValignWithBaseline', or
+@g_object_get (widget, \"valign\", &value, NULL)@, which will
+also report the true value.
+-}
+widgetGetValign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.Enums.Align
+    {- ^ __Returns:__ the vertical alignment of /@widget@/, ignoring baseline alignment -}
+widgetGetValign widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_valign widget'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetValignMethodInfo
+instance (signature ~ (m Gtk.Enums.Align), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetValignMethodInfo a signature where
+    overloadedMethod _ = widgetGetValign
+
+#endif
+
+-- method Widget::get_valign_with_baseline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Align"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_valign_with_baseline" gtk_widget_get_valign_with_baseline :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CUInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Widget.Widget':@/valign/@ property, including
+'GI.Gtk.Enums.AlignBaseline'.
+
+/Since: 3.10/
+-}
+widgetGetValignWithBaseline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gtk.Enums.Align
+    {- ^ __Returns:__ the vertical alignment of /@widget@/ -}
+widgetGetValignWithBaseline widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_valign_with_baseline widget'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetValignWithBaselineMethodInfo
+instance (signature ~ (m Gtk.Enums.Align), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetValignWithBaselineMethodInfo a signature where
+    overloadedMethod _ = widgetGetValignWithBaseline
+
+#endif
+
+-- method Widget::get_vexpand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_vexpand" gtk_widget_get_vexpand :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Gets whether the widget would like any available extra vertical
+space.
+
+See 'GI.Gtk.Objects.Widget.widgetGetHexpand' for more detail.
+-}
+widgetGetVexpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget -}
+    -> m Bool
+    {- ^ __Returns:__ whether vexpand flag is set -}
+widgetGetVexpand widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_vexpand widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetVexpandMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetVexpandMethodInfo a signature where
+    overloadedMethod _ = widgetGetVexpand
+
+#endif
+
+-- method Widget::get_vexpand_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_vexpand_set" gtk_widget_get_vexpand_set :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Gets whether 'GI.Gtk.Objects.Widget.widgetSetVexpand' has been used to
+explicitly set the expand flag on this widget.
+
+See 'GI.Gtk.Objects.Widget.widgetGetHexpandSet' for more detail.
+-}
+widgetGetVexpandSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget -}
+    -> m Bool
+    {- ^ __Returns:__ whether vexpand has been explicitly set -}
+widgetGetVexpandSet widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_vexpand_set widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetVexpandSetMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetVexpandSetMethodInfo a signature where
+    overloadedMethod _ = widgetGetVexpandSet
+
+#endif
+
+-- method Widget::get_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_visible" gtk_widget_get_visible :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether the widget is visible. If you want to
+take into account whether the widget’s parent is also marked as
+visible, use 'GI.Gtk.Objects.Widget.widgetIsVisible' instead.
+
+This function does not check if the widget is obscured in any way.
+
+See 'GI.Gtk.Objects.Widget.widgetSetVisible'.
+
+/Since: 2.18/
+-}
+widgetGetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget is visible -}
+widgetGetVisible widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_visible widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetVisibleMethodInfo a signature where
+    overloadedMethod _ = widgetGetVisible
+
+#endif
+
+-- method Widget::get_visual
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Visual"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_visual" gtk_widget_get_visual :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gdk.Visual.Visual)
+
+{- |
+Gets the visual that will be used to render /@widget@/.
+-}
+widgetGetVisual ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Gdk.Visual.Visual
+    {- ^ __Returns:__ the visual for /@widget@/ -}
+widgetGetVisual widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_visual widget'
+    checkUnexpectedReturnNULL "widgetGetVisual" result
+    result' <- (newObject Gdk.Visual.Visual) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetGetVisualMethodInfo
+instance (signature ~ (m Gdk.Visual.Visual), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetVisualMethodInfo a signature where
+    overloadedMethod _ = widgetGetVisual
+
+#endif
+
+-- method Widget::get_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_window" gtk_widget_get_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr Gdk.Window.Window)
+
+{- |
+Returns the widget’s window if it is realized, 'Nothing' otherwise
+
+/Since: 2.14/
+-}
+widgetGetWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Maybe Gdk.Window.Window)
+    {- ^ __Returns:__ /@widget@/’s window. -}
+widgetGetWindow widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_get_window widget'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gdk.Window.Window) result'
+        return result''
+    touchManagedPtr widget
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetGetWindowMethodInfo
+instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsWidget a) => O.MethodInfo WidgetGetWindowMethodInfo a signature where
+    overloadedMethod _ = widgetGetWindow
+
+#endif
+
+-- method Widget::grab_add
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The widget that grabs keyboard and pointer events", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grab_add" gtk_grab_add :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Makes /@widget@/ the current grabbed widget.
+
+This means that interaction with other widgets in the same
+application is blocked and mouse as well as keyboard events
+are delivered to this widget.
+
+If /@widget@/ is not sensitive, it is not set as the current
+grabbed widget and this function does nothing.
+-}
+widgetGrabAdd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: The widget that grabs keyboard and pointer events -}
+    -> m ()
+widgetGrabAdd widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_grab_add widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetGrabAddMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetGrabAddMethodInfo a signature where
+    overloadedMethod _ = widgetGrabAdd
+
+#endif
+
+-- method Widget::grab_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_grab_default" gtk_widget_grab_default :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Causes /@widget@/ to become the default widget. /@widget@/ must be able to be
+a default widget; typically you would ensure this yourself
+by calling 'GI.Gtk.Objects.Widget.widgetSetCanDefault' with a 'True' value.
+The default widget is activated when
+the user presses Enter in a window. Default widgets must be
+activatable, that is, 'GI.Gtk.Objects.Widget.widgetActivate' should affect them. Note
+that 'GI.Gtk.Objects.Entry.Entry' widgets require the “activates-default” property
+set to 'True' before they activate the default widget when Enter
+is pressed and the 'GI.Gtk.Objects.Entry.Entry' is focused.
+-}
+widgetGrabDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetGrabDefault widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_grab_default widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetGrabDefaultMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetGrabDefaultMethodInfo a signature where
+    overloadedMethod _ = widgetGrabDefault
+
+#endif
+
+-- method Widget::grab_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_grab_focus" gtk_widget_grab_focus :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Causes /@widget@/ to have the keyboard focus for the 'GI.Gtk.Objects.Window.Window' it\'s
+inside. /@widget@/ must be a focusable widget, such as a 'GI.Gtk.Objects.Entry.Entry';
+something like 'GI.Gtk.Objects.Frame.Frame' won’t work.
+
+More precisely, it must have the @/GTK_CAN_FOCUS/@ flag set. Use
+'GI.Gtk.Objects.Widget.widgetSetCanFocus' to modify that flag.
+
+The widget also needs to be realized and mapped. This is indicated by the
+related signals. Grabbing the focus immediately after creating the widget
+will likely fail and cause critical warnings.
+-}
+widgetGrabFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetGrabFocus widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_grab_focus widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetGrabFocusMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetGrabFocusMethodInfo a signature where
+    overloadedMethod _ = widgetGrabFocus
+
+#endif
+
+-- method Widget::grab_remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The widget which gives up the grab", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_grab_remove" gtk_grab_remove :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Removes the grab from the given widget.
+
+You have to pair calls to 'GI.Gtk.Objects.Widget.widgetGrabAdd' and 'GI.Gtk.Objects.Widget.widgetGrabRemove'.
+
+If /@widget@/ does not have the grab, this function does nothing.
+-}
+widgetGrabRemove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: The widget which gives up the grab -}
+    -> m ()
+widgetGrabRemove widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_grab_remove widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetGrabRemoveMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetGrabRemoveMethodInfo a signature where
+    overloadedMethod _ = widgetGrabRemove
+
+#endif
+
+-- method Widget::has_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_has_default" gtk_widget_has_default :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether /@widget@/ is the current default widget within its
+toplevel. See 'GI.Gtk.Objects.Widget.widgetSetCanDefault'.
+
+/Since: 2.18/
+-}
+widgetHasDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ is the current default widget within
+    its toplevel, 'False' otherwise -}
+widgetHasDefault widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_has_default widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetHasDefaultMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetHasDefaultMethodInfo a signature where
+    overloadedMethod _ = widgetHasDefault
+
+#endif
+
+-- method Widget::has_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_has_focus" gtk_widget_has_focus :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines if the widget has the global input focus. See
+'GI.Gtk.Objects.Widget.widgetIsFocus' for the difference between having the global
+input focus, and only having the focus within a toplevel.
+
+/Since: 2.18/
+-}
+widgetHasFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget has the global input focus. -}
+widgetHasFocus widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_has_focus widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetHasFocusMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetHasFocusMethodInfo a signature where
+    overloadedMethod _ = widgetHasFocus
+
+#endif
+
+-- method Widget::has_grab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_has_grab" gtk_widget_has_grab :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether the widget is currently grabbing events, so it
+is the only widget receiving input events (keyboard and mouse).
+
+See also 'GI.Gtk.Objects.Widget.widgetGrabAdd'.
+
+/Since: 2.18/
+-}
+widgetHasGrab ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget is in the grab_widgets stack -}
+widgetHasGrab widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_has_grab widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetHasGrabMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetHasGrabMethodInfo a signature where
+    overloadedMethod _ = widgetHasGrab
+
+#endif
+
+-- method Widget::has_rc_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_has_rc_style" gtk_widget_has_rc_style :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{-# DEPRECATED widgetHasRcStyle ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+Determines if the widget style has been looked up through the rc mechanism.
+
+/Since: 2.20/
+-}
+widgetHasRcStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget has been looked up through the rc
+  mechanism, 'False' otherwise. -}
+widgetHasRcStyle widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_has_rc_style widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetHasRcStyleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetHasRcStyleMethodInfo a signature where
+    overloadedMethod _ = widgetHasRcStyle
+
+#endif
+
+-- method Widget::has_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_has_screen" gtk_widget_has_screen :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Checks whether there is a 'GI.Gdk.Objects.Screen.Screen' is associated with
+this widget. All toplevel widgets have an associated
+screen, and all widgets added into a hierarchy with a toplevel
+window at the top.
+
+/Since: 2.2/
+-}
+widgetHasScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if there is a 'GI.Gdk.Objects.Screen.Screen' associated
+  with the widget. -}
+widgetHasScreen widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_has_screen widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetHasScreenMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetHasScreenMethodInfo a signature where
+    overloadedMethod _ = widgetHasScreen
+
+#endif
+
+-- method Widget::has_visible_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_has_visible_focus" gtk_widget_has_visible_focus :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines if the widget should show a visible indication that
+it has the global input focus. This is a convenience function for
+use in ::draw handlers that takes into account whether focus
+indication should currently be shown in the toplevel window of
+/@widget@/. See 'GI.Gtk.Objects.Window.windowGetFocusVisible' for more information
+about focus indication.
+
+To find out if the widget has the global input focus, use
+'GI.Gtk.Objects.Widget.widgetHasFocus'.
+
+/Since: 3.2/
+-}
+widgetHasVisibleFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget should display a “focus rectangle” -}
+widgetHasVisibleFocus widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_has_visible_focus widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetHasVisibleFocusMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetHasVisibleFocusMethodInfo a signature where
+    overloadedMethod _ = widgetHasVisibleFocus
+
+#endif
+
+-- method Widget::hide
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_hide" gtk_widget_hide :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Reverses the effects of 'GI.Gtk.Objects.Widget.widgetShow', causing the widget to be
+hidden (invisible to the user).
+-}
+widgetHide ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetHide widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_hide widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetHideMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetHideMethodInfo a signature where
+    overloadedMethod _ = widgetHide
+
+#endif
+
+-- method Widget::hide_on_delete
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_hide_on_delete" gtk_widget_hide_on_delete :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Utility function; intended to be connected to the 'GI.Gtk.Objects.Widget.Widget'::@/delete-event/@
+signal on a 'GI.Gtk.Objects.Window.Window'. The function calls 'GI.Gtk.Objects.Widget.widgetHide' on its
+argument, then returns 'True'. If connected to ::delete-event, the
+result is that clicking the close button for a window (on the
+window frame, top right corner usually) will hide but not destroy
+the window. By default, GTK+ destroys windows when ::delete-event
+is received.
+-}
+widgetHideOnDelete ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' -}
+widgetHideOnDelete widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_hide_on_delete widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetHideOnDeleteMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetHideOnDeleteMethodInfo a signature where
+    overloadedMethod _ = widgetHideOnDelete
+
+#endif
+
+-- method Widget::in_destruction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_in_destruction" gtk_widget_in_destruction :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns whether the widget is currently being destroyed.
+This information can sometimes be used to avoid doing
+unnecessary work.
+-}
+widgetInDestruction ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ is being destroyed -}
+widgetInDestruction widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_in_destruction widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetInDestructionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetInDestructionMethodInfo a signature where
+    overloadedMethod _ = widgetInDestruction
+
+#endif
+
+-- method Widget::init_template
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_init_template" gtk_widget_init_template :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Creates and initializes child widgets defined in templates. This
+function must be called in the instance initializer for any
+class which assigned itself a template using 'GI.Gtk.Structs.WidgetClass.widgetClassSetTemplate'
+
+It is important to call this function in the instance initializer
+of a 'GI.Gtk.Objects.Widget.Widget' subclass and not in 'GI.GObject.Objects.Object.Object'.@/constructed/@() or
+'GI.GObject.Objects.Object.Object'.@/constructor/@() for two reasons.
+
+One reason is that generally derived widgets will assume that parent
+class composite widgets have been created in their instance
+initializers.
+
+Another reason is that when calling @/g_object_new()/@ on a widget with
+composite templates, it’s important to build the composite widgets
+before the construct properties are set. Properties passed to @/g_object_new()/@
+should take precedence over properties set in the private template XML.
+
+/Since: 3.10/
+-}
+widgetInitTemplate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetInitTemplate widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_init_template widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetInitTemplateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetInitTemplateMethodInfo a signature where
+    overloadedMethod _ = widgetInitTemplate
+
+#endif
+
+-- method Widget::input_shape_combine_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "shape to be added, or %NULL to remove an existing shape", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_input_shape_combine_region" gtk_widget_input_shape_combine_region :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})
+    IO ()
+
+{- |
+Sets an input shape for this widget’s GDK window. This allows for
+windows which react to mouse click in a nonrectangular region, see
+'GI.Gdk.Objects.Window.windowInputShapeCombineRegion' for more information.
+
+/Since: 3.0/
+-}
+widgetInputShapeCombineRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (Cairo.Region.Region)
+    {- ^ /@region@/: shape to be added, or 'Nothing' to remove an existing shape -}
+    -> m ()
+widgetInputShapeCombineRegion widget region = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeRegion <- case region of
+        Nothing -> return nullPtr
+        Just jRegion -> do
+            jRegion' <- unsafeManagedPtrGetPtr jRegion
+            return jRegion'
+    gtk_widget_input_shape_combine_region widget' maybeRegion
+    touchManagedPtr widget
+    whenJust region touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetInputShapeCombineRegionMethodInfo
+instance (signature ~ (Maybe (Cairo.Region.Region) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetInputShapeCombineRegionMethodInfo a signature where
+    overloadedMethod _ = widgetInputShapeCombineRegion
+
+#endif
+
+-- method Widget::insert_action_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the prefix for actions in @group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "Gio", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GActionGroup, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_insert_action_group" gtk_widget_insert_action_group :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr Gio.ActionGroup.ActionGroup ->      -- group : TInterface (Name {namespace = "Gio", name = "ActionGroup"})
+    IO ()
+
+{- |
+Inserts /@group@/ into /@widget@/. Children of /@widget@/ that implement
+'GI.Gtk.Interfaces.Actionable.Actionable' can then be associated with actions in /@group@/ by
+setting their “action-name” to
+/@prefix@/.@action-name@.
+
+If /@group@/ is 'Nothing', a previously inserted group for /@name@/ is removed
+from /@widget@/.
+
+/Since: 3.6/
+-}
+widgetInsertActionGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gio.ActionGroup.IsActionGroup b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@name@/: the prefix for actions in /@group@/ -}
+    -> Maybe (b)
+    {- ^ /@group@/: a 'GI.Gio.Interfaces.ActionGroup.ActionGroup', or 'Nothing' -}
+    -> m ()
+widgetInsertActionGroup widget name group = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    name' <- textToCString name
+    maybeGroup <- case group of
+        Nothing -> return nullPtr
+        Just jGroup -> do
+            jGroup' <- unsafeManagedPtrCastPtr jGroup
+            return jGroup'
+    gtk_widget_insert_action_group widget' name' maybeGroup
+    touchManagedPtr widget
+    whenJust group touchManagedPtr
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetInsertActionGroupMethodInfo
+instance (signature ~ (T.Text -> Maybe (b) -> m ()), MonadIO m, IsWidget a, Gio.ActionGroup.IsActionGroup b) => O.MethodInfo WidgetInsertActionGroupMethodInfo a signature where
+    overloadedMethod _ = widgetInsertActionGroup
+
+#endif
+
+-- method Widget::intersect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "area", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a rectangle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "intersection", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "rectangle to store\n  intersection of @widget and @area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_intersect" gtk_widget_intersect :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- area : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- intersection : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO CInt
+
+{- |
+Computes the intersection of a /@widget@/’s area and /@area@/, storing
+the intersection in /@intersection@/, and returns 'True' if there was
+an intersection.  /@intersection@/ may be 'Nothing' if you’re only
+interested in whether there was an intersection.
+-}
+widgetIntersect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@area@/: a rectangle -}
+    -> m ((Bool, Maybe Gdk.Rectangle.Rectangle))
+    {- ^ __Returns:__ 'True' if there was an intersection -}
+widgetIntersect widget area = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    area' <- unsafeManagedPtrGetPtr area
+    intersection <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    result <- gtk_widget_intersect widget' area' intersection
+    let result' = (/= 0) result
+    maybeIntersection <- convertIfNonNull intersection $ \intersection' -> do
+        intersection'' <- (wrapBoxed Gdk.Rectangle.Rectangle) intersection'
+        return intersection''
+    touchManagedPtr widget
+    touchManagedPtr area
+    return (result', maybeIntersection)
+
+#if ENABLE_OVERLOADING
+data WidgetIntersectMethodInfo
+instance (signature ~ (Gdk.Rectangle.Rectangle -> m ((Bool, Maybe Gdk.Rectangle.Rectangle))), MonadIO m, IsWidget a) => O.MethodInfo WidgetIntersectMethodInfo a signature where
+    overloadedMethod _ = widgetIntersect
+
+#endif
+
+-- method Widget::is_ancestor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ancestor", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_is_ancestor" gtk_widget_is_ancestor :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Widget ->                           -- ancestor : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether /@widget@/ is somewhere inside /@ancestor@/, possibly with
+intermediate containers.
+-}
+widgetIsAncestor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@ancestor@/: another 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@ancestor@/ contains /@widget@/ as a child,
+   grandchild, great grandchild, etc. -}
+widgetIsAncestor widget ancestor = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    ancestor' <- unsafeManagedPtrCastPtr ancestor
+    result <- gtk_widget_is_ancestor widget' ancestor'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr ancestor
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetIsAncestorMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, IsWidget a, IsWidget b) => O.MethodInfo WidgetIsAncestorMethodInfo a signature where
+    overloadedMethod _ = widgetIsAncestor
+
+#endif
+
+-- method Widget::is_composited
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_is_composited" gtk_widget_is_composited :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{-# DEPRECATED widgetIsComposited ["(Since version 3.22)","Use 'GI.Gdk.Objects.Screen.screenIsComposited' instead."] #-}
+{- |
+Whether /@widget@/ can rely on having its alpha channel
+drawn correctly. On X11 this function returns whether a
+compositing manager is running for /@widget@/’s screen.
+
+Please note that the semantics of this call will change
+in the future if used on a widget that has a composited
+window in its hierarchy (as set by 'GI.Gdk.Objects.Window.windowSetComposited').
+
+/Since: 2.10/
+-}
+widgetIsComposited ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget can rely on its alpha
+channel being drawn correctly. -}
+widgetIsComposited widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_is_composited widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetIsCompositedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetIsCompositedMethodInfo a signature where
+    overloadedMethod _ = widgetIsComposited
+
+#endif
+
+-- method Widget::is_drawable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_is_drawable" gtk_widget_is_drawable :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether /@widget@/ can be drawn to. A widget can be drawn
+to if it is mapped and visible.
+
+/Since: 2.18/
+-}
+widgetIsDrawable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ is drawable, 'False' otherwise -}
+widgetIsDrawable widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_is_drawable widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetIsDrawableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetIsDrawableMethodInfo a signature where
+    overloadedMethod _ = widgetIsDrawable
+
+#endif
+
+-- method Widget::is_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_is_focus" gtk_widget_is_focus :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines if the widget is the focus widget within its
+toplevel. (This does not mean that the 'GI.Gtk.Objects.Widget.Widget':@/has-focus/@ property is
+necessarily set; 'GI.Gtk.Objects.Widget.Widget':@/has-focus/@ will only be set if the
+toplevel widget additionally has the global input focus.)
+-}
+widgetIsFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget is the focus widget. -}
+widgetIsFocus widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_is_focus widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetIsFocusMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetIsFocusMethodInfo a signature where
+    overloadedMethod _ = widgetIsFocus
+
+#endif
+
+-- method Widget::is_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_is_sensitive" gtk_widget_is_sensitive :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Returns the widget’s effective sensitivity, which means
+it is sensitive itself and also its parent widget is sensitive
+
+/Since: 2.18/
+-}
+widgetIsSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget is effectively sensitive -}
+widgetIsSensitive widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_is_sensitive widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetIsSensitiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetIsSensitiveMethodInfo a signature where
+    overloadedMethod _ = widgetIsSensitive
+
+#endif
+
+-- method Widget::is_toplevel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_is_toplevel" gtk_widget_is_toplevel :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether /@widget@/ is a toplevel widget.
+
+Currently only 'GI.Gtk.Objects.Window.Window' and 'GI.Gtk.Objects.Invisible.Invisible' (and out-of-process
+@/GtkPlugs/@) are toplevel widgets. Toplevel widgets have no parent
+widget.
+
+/Since: 2.18/
+-}
+widgetIsToplevel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@widget@/ is a toplevel, 'False' otherwise -}
+widgetIsToplevel widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_is_toplevel widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetIsToplevelMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetIsToplevelMethodInfo a signature where
+    overloadedMethod _ = widgetIsToplevel
+
+#endif
+
+-- method Widget::is_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_is_visible" gtk_widget_is_visible :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO CInt
+
+{- |
+Determines whether the widget and all its parents are marked as
+visible.
+
+This function does not check if the widget is obscured in any way.
+
+See also 'GI.Gtk.Objects.Widget.widgetGetVisible' and 'GI.Gtk.Objects.Widget.widgetSetVisible'
+
+/Since: 3.8/
+-}
+widgetIsVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget and all its parents are visible -}
+widgetIsVisible widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_is_visible widget'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetIsVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetIsVisibleMethodInfo a signature where
+    overloadedMethod _ = widgetIsVisible
+
+#endif
+
+-- method Widget::keynav_failed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "DirectionType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "direction of focus movement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_keynav_failed" gtk_widget_keynav_failed :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "DirectionType"})
+    IO CInt
+
+{- |
+This function should be called whenever keyboard navigation within
+a single widget hits a boundary. The function emits the
+'GI.Gtk.Objects.Widget.Widget'::@/keynav-failed/@ signal on the widget and its return
+value should be interpreted in a way similar to the return value of
+'GI.Gtk.Objects.Widget.widgetChildFocus':
+
+When 'True' is returned, stay in the widget, the failed keyboard
+navigation is OK and\/or there is nowhere we can\/should move the
+focus to.
+
+When 'False' is returned, the caller should continue with keyboard
+navigation outside the widget, e.g. by calling
+'GI.Gtk.Objects.Widget.widgetChildFocus' on the widget’s toplevel.
+
+The default ::keynav-failed handler returns 'False' for
+'GI.Gtk.Enums.DirectionTypeTabForward' and 'GI.Gtk.Enums.DirectionTypeTabBackward'. For the other
+values of 'GI.Gtk.Enums.DirectionType' it returns 'True'.
+
+Whenever the default handler returns 'True', it also calls
+'GI.Gtk.Objects.Widget.widgetErrorBell' to notify the user of the failed keyboard
+navigation.
+
+A use case for providing an own implementation of ::keynav-failed
+(either by connecting to it or by overriding it) would be a row of
+'GI.Gtk.Objects.Entry.Entry' widgets where the user should be able to navigate the
+entire row with the cursor keys, as e.g. known from user interfaces
+that require entering license keys.
+
+/Since: 2.12/
+-}
+widgetKeynavFailed ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.DirectionType
+    {- ^ /@direction@/: direction of focus movement -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if stopping keyboard navigation is fine, 'False'
+              if the emitting widget should try to handle the keyboard
+              navigation attempt in its parent container(s). -}
+widgetKeynavFailed widget direction = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let direction' = (fromIntegral . fromEnum) direction
+    result <- gtk_widget_keynav_failed widget' direction'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetKeynavFailedMethodInfo
+instance (signature ~ (Gtk.Enums.DirectionType -> m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetKeynavFailedMethodInfo a signature where
+    overloadedMethod _ = widgetKeynavFailed
+
+#endif
+
+-- method Widget::list_accel_closures
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget to list accelerator closures for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TGClosure Nothing))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_list_accel_closures" gtk_widget_list_accel_closures :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr (GList (Ptr (GClosure ()))))
+
+{- |
+Lists the closures used by /@widget@/ for accelerator group connections
+with 'GI.Gtk.Objects.AccelGroup.accelGroupConnectByPath' or 'GI.Gtk.Objects.AccelGroup.accelGroupConnect'.
+The closures can be used to monitor accelerator changes on /@widget@/,
+by connecting to the /@gtkAccelGroup@/::accel-changed signal of the
+'GI.Gtk.Objects.AccelGroup.AccelGroup' of a closure which can be found out with
+'GI.Gtk.Objects.AccelGroup.accelGroupFromAccelClosure'.
+-}
+widgetListAccelClosures ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: widget to list accelerator closures for -}
+    -> m ([GClosure b])
+    {- ^ __Returns:__ 
+    a newly allocated 'GI.GLib.Structs.List.List' of closures -}
+widgetListAccelClosures widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_list_accel_closures widget'
+    result' <- unpackGList result
+    result'' <- mapM (B.GClosure.newGClosureFromPtr . FP.castPtr) result'
+    g_list_free result
+    touchManagedPtr widget
+    return result''
+
+#if ENABLE_OVERLOADING
+data WidgetListAccelClosuresMethodInfo
+instance (signature ~ (m ([GClosure b])), MonadIO m, IsWidget a) => O.MethodInfo WidgetListAccelClosuresMethodInfo a signature where
+    overloadedMethod _ = widgetListAccelClosures
+
+#endif
+
+-- method Widget::list_action_prefixes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_list_action_prefixes" gtk_widget_list_action_prefixes :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr CString)
+
+{- |
+Retrieves a 'Nothing'-terminated array of strings containing the prefixes of
+'GI.Gio.Interfaces.ActionGroup.ActionGroup'\'s available to /@widget@/.
+
+/Since: 3.16/
+-}
+widgetListActionPrefixes ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: A 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ a 'Nothing'-terminated array of strings. -}
+widgetListActionPrefixes widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_list_action_prefixes widget'
+    checkUnexpectedReturnNULL "widgetListActionPrefixes" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    freeMem result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetListActionPrefixesMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, IsWidget a) => O.MethodInfo WidgetListActionPrefixesMethodInfo a signature where
+    overloadedMethod _ = widgetListActionPrefixes
+
+#endif
+
+-- method Widget::list_mnemonic_labels
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Widget"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_list_mnemonic_labels" gtk_widget_list_mnemonic_labels :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO (Ptr (GList (Ptr Widget)))
+
+{- |
+Returns a newly allocated list of the widgets, normally labels, for
+which this widget is the target of a mnemonic (see for example,
+'GI.Gtk.Objects.Label.labelSetMnemonicWidget').
+
+The widgets in the list are not individually referenced. If you
+want to iterate through the list and perform actions involving
+callbacks that might destroy the widgets, you
+must call @g_list_foreach (result,
+(GFunc)g_object_ref, NULL)@ first, and then unref all the
+widgets afterwards.
+
+/Since: 2.4/
+-}
+widgetListMnemonicLabels ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m [Widget]
+    {- ^ __Returns:__ the list of
+ mnemonic labels; free this list
+ with @/g_list_free()/@ when you are done with it. -}
+widgetListMnemonicLabels widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_list_mnemonic_labels widget'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Widget) result'
+    g_list_free result
+    touchManagedPtr widget
+    return result''
+
+#if ENABLE_OVERLOADING
+data WidgetListMnemonicLabelsMethodInfo
+instance (signature ~ (m [Widget]), MonadIO m, IsWidget a) => O.MethodInfo WidgetListMnemonicLabelsMethodInfo a signature where
+    overloadedMethod _ = widgetListMnemonicLabels
+
+#endif
+
+-- method Widget::map
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_map" gtk_widget_map :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+This function is only for use in widget implementations. Causes
+a widget to be mapped if it isn’t already.
+-}
+widgetMap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetMap widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_map widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetMapMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetMapMethodInfo a signature where
+    overloadedMethod _ = widgetMap
+
+#endif
+
+-- method Widget::mnemonic_activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_cycling", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if there are other widgets with the same mnemonic", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_mnemonic_activate" gtk_widget_mnemonic_activate :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- group_cycling : TBasicType TBoolean
+    IO CInt
+
+{- |
+Emits the 'GI.Gtk.Objects.Widget.Widget'::@/mnemonic-activate/@ signal.
+-}
+widgetMnemonicActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@groupCycling@/: 'True' if there are other widgets with the same mnemonic -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the signal has been handled -}
+widgetMnemonicActivate widget groupCycling = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let groupCycling' = (fromIntegral . fromEnum) groupCycling
+    result <- gtk_widget_mnemonic_activate widget' groupCycling'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetMnemonicActivateMethodInfo
+instance (signature ~ (Bool -> m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetMnemonicActivateMethodInfo a signature where
+    overloadedMethod _ = widgetMnemonicActivate
+
+#endif
+
+-- method Widget::modify_base
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the state for which to set the base color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to assign (does not need to\n    be allocated), or %NULL to undo the effect of previous\n    calls to of gtk_widget_modify_base().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_modify_base" gtk_widget_modify_base :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED widgetModifyBase ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetOverrideBackgroundColor' instead"] #-}
+{- |
+Sets the base color for a widget in a particular state.
+All other style values are left untouched. The base color
+is the background color used along with the text color
+(see 'GI.Gtk.Objects.Widget.widgetModifyText') for widgets such as 'GI.Gtk.Objects.Entry.Entry'
+and 'GI.Gtk.Objects.TextView.TextView'. See also 'GI.Gtk.Objects.Widget.widgetModifyStyle'.
+
+> Note that “no window” widgets (which have the @/GTK_NO_WINDOW/@
+> flag set) draw on their parent container’s window and thus may
+> not draw any background themselves. This is the case for e.g.
+> 'GI.Gtk.Objects.Label.Label'.
+>
+> To modify the background of such widgets, you have to set the
+> base color on their parent; if you want to set the background
+> of a rectangular area around a label, try placing the label in
+> a 'GI.Gtk.Objects.EventBox.EventBox' widget and setting the base color on that.
+-}
+widgetModifyBase ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: the state for which to set the base color -}
+    -> Maybe (Gdk.Color.Color)
+    {- ^ /@color@/: the color to assign (does not need to
+    be allocated), or 'Nothing' to undo the effect of previous
+    calls to of 'GI.Gtk.Objects.Widget.widgetModifyBase'. -}
+    -> m ()
+widgetModifyBase widget state color = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let state' = (fromIntegral . fromEnum) state
+    maybeColor <- case color of
+        Nothing -> return nullPtr
+        Just jColor -> do
+            jColor' <- unsafeManagedPtrGetPtr jColor
+            return jColor'
+    gtk_widget_modify_base widget' state' maybeColor
+    touchManagedPtr widget
+    whenJust color touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetModifyBaseMethodInfo
+instance (signature ~ (Gtk.Enums.StateType -> Maybe (Gdk.Color.Color) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetModifyBaseMethodInfo a signature where
+    overloadedMethod _ = widgetModifyBase
+
+#endif
+
+-- method Widget::modify_bg
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the state for which to set the background color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to assign (does not need\n    to be allocated), or %NULL to undo the effect of previous\n    calls to of gtk_widget_modify_bg().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_modify_bg" gtk_widget_modify_bg :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED widgetModifyBg ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetOverrideBackgroundColor' instead"] #-}
+{- |
+Sets the background color for a widget in a particular state.
+
+All other style values are left untouched.
+See also 'GI.Gtk.Objects.Widget.widgetModifyStyle'.
+
+> Note that “no window” widgets (which have the @/GTK_NO_WINDOW/@
+> flag set) draw on their parent container’s window and thus may
+> not draw any background themselves. This is the case for e.g.
+> 'GI.Gtk.Objects.Label.Label'.
+>
+> To modify the background of such widgets, you have to set the
+> background color on their parent; if you want to set the background
+> of a rectangular area around a label, try placing the label in
+> a 'GI.Gtk.Objects.EventBox.EventBox' widget and setting the background color on that.
+-}
+widgetModifyBg ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: the state for which to set the background color -}
+    -> Maybe (Gdk.Color.Color)
+    {- ^ /@color@/: the color to assign (does not need
+    to be allocated), or 'Nothing' to undo the effect of previous
+    calls to of 'GI.Gtk.Objects.Widget.widgetModifyBg'. -}
+    -> m ()
+widgetModifyBg widget state color = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let state' = (fromIntegral . fromEnum) state
+    maybeColor <- case color of
+        Nothing -> return nullPtr
+        Just jColor -> do
+            jColor' <- unsafeManagedPtrGetPtr jColor
+            return jColor'
+    gtk_widget_modify_bg widget' state' maybeColor
+    touchManagedPtr widget
+    whenJust color touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetModifyBgMethodInfo
+instance (signature ~ (Gtk.Enums.StateType -> Maybe (Gdk.Color.Color) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetModifyBgMethodInfo a signature where
+    overloadedMethod _ = widgetModifyBg
+
+#endif
+
+-- method Widget::modify_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "primary", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to use for primary cursor (does not\n    need to be allocated), or %NULL to undo the effect of previous\n    calls to of gtk_widget_modify_cursor().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "secondary", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to use for secondary cursor (does\n    not need to be allocated), or %NULL to undo the effect of\n    previous calls to of gtk_widget_modify_cursor().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_modify_cursor" gtk_widget_modify_cursor :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Color.Color ->                  -- primary : TInterface (Name {namespace = "Gdk", name = "Color"})
+    Ptr Gdk.Color.Color ->                  -- secondary : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED widgetModifyCursor ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetOverrideCursor' instead."] #-}
+{- |
+Sets the cursor color to use in a widget, overriding the 'GI.Gtk.Objects.Widget.Widget'
+cursor-color and secondary-cursor-color
+style properties.
+
+All other style values are left untouched.
+See also 'GI.Gtk.Objects.Widget.widgetModifyStyle'.
+
+/Since: 2.12/
+-}
+widgetModifyCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (Gdk.Color.Color)
+    {- ^ /@primary@/: the color to use for primary cursor (does not
+    need to be allocated), or 'Nothing' to undo the effect of previous
+    calls to of 'GI.Gtk.Objects.Widget.widgetModifyCursor'. -}
+    -> Maybe (Gdk.Color.Color)
+    {- ^ /@secondary@/: the color to use for secondary cursor (does
+    not need to be allocated), or 'Nothing' to undo the effect of
+    previous calls to of 'GI.Gtk.Objects.Widget.widgetModifyCursor'. -}
+    -> m ()
+widgetModifyCursor widget primary secondary = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybePrimary <- case primary of
+        Nothing -> return nullPtr
+        Just jPrimary -> do
+            jPrimary' <- unsafeManagedPtrGetPtr jPrimary
+            return jPrimary'
+    maybeSecondary <- case secondary of
+        Nothing -> return nullPtr
+        Just jSecondary -> do
+            jSecondary' <- unsafeManagedPtrGetPtr jSecondary
+            return jSecondary'
+    gtk_widget_modify_cursor widget' maybePrimary maybeSecondary
+    touchManagedPtr widget
+    whenJust primary touchManagedPtr
+    whenJust secondary touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetModifyCursorMethodInfo
+instance (signature ~ (Maybe (Gdk.Color.Color) -> Maybe (Gdk.Color.Color) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetModifyCursorMethodInfo a signature where
+    overloadedMethod _ = widgetModifyCursor
+
+#endif
+
+-- method Widget::modify_fg
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the state for which to set the foreground color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to assign (does not need to be allocated),\n    or %NULL to undo the effect of previous calls to\n    of gtk_widget_modify_fg().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_modify_fg" gtk_widget_modify_fg :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED widgetModifyFg ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetOverrideColor' instead"] #-}
+{- |
+Sets the foreground color for a widget in a particular state.
+
+All other style values are left untouched.
+See also 'GI.Gtk.Objects.Widget.widgetModifyStyle'.
+-}
+widgetModifyFg ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: the state for which to set the foreground color -}
+    -> Maybe (Gdk.Color.Color)
+    {- ^ /@color@/: the color to assign (does not need to be allocated),
+    or 'Nothing' to undo the effect of previous calls to
+    of 'GI.Gtk.Objects.Widget.widgetModifyFg'. -}
+    -> m ()
+widgetModifyFg widget state color = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let state' = (fromIntegral . fromEnum) state
+    maybeColor <- case color of
+        Nothing -> return nullPtr
+        Just jColor -> do
+            jColor' <- unsafeManagedPtrGetPtr jColor
+            return jColor'
+    gtk_widget_modify_fg widget' state' maybeColor
+    touchManagedPtr widget
+    whenJust color touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetModifyFgMethodInfo
+instance (signature ~ (Gtk.Enums.StateType -> Maybe (Gdk.Color.Color) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetModifyFgMethodInfo a signature where
+    overloadedMethod _ = widgetModifyFg
+
+#endif
+
+-- method Widget::modify_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_desc", argType = TInterface (Name {namespace = "Pango", name = "FontDescription"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the font description to use, or %NULL\n    to undo the effect of previous calls to gtk_widget_modify_font()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_modify_font" gtk_widget_modify_font :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Pango.FontDescription.FontDescription -> -- font_desc : TInterface (Name {namespace = "Pango", name = "FontDescription"})
+    IO ()
+
+{-# DEPRECATED widgetModifyFont ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetOverrideFont' instead"] #-}
+{- |
+Sets the font to use for a widget.
+
+All other style values are left untouched.
+See also 'GI.Gtk.Objects.Widget.widgetModifyStyle'.
+-}
+widgetModifyFont ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (Pango.FontDescription.FontDescription)
+    {- ^ /@fontDesc@/: the font description to use, or 'Nothing'
+    to undo the effect of previous calls to 'GI.Gtk.Objects.Widget.widgetModifyFont' -}
+    -> m ()
+widgetModifyFont widget fontDesc = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeFontDesc <- case fontDesc of
+        Nothing -> return nullPtr
+        Just jFontDesc -> do
+            jFontDesc' <- unsafeManagedPtrGetPtr jFontDesc
+            return jFontDesc'
+    gtk_widget_modify_font widget' maybeFontDesc
+    touchManagedPtr widget
+    whenJust fontDesc touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetModifyFontMethodInfo
+instance (signature ~ (Maybe (Pango.FontDescription.FontDescription) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetModifyFontMethodInfo a signature where
+    overloadedMethod _ = widgetModifyFont
+
+#endif
+
+-- method Widget::modify_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "RcStyle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkRcStyle-struct holding the style modifications", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_modify_style" gtk_widget_modify_style :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.RcStyle.RcStyle ->              -- style : TInterface (Name {namespace = "Gtk", name = "RcStyle"})
+    IO ()
+
+{-# DEPRECATED widgetModifyStyle ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' with a custom 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' instead"] #-}
+{- |
+Modifies style values on the widget.
+
+Modifications made using this technique take precedence over
+style values set via an RC file, however, they will be overridden
+if a style is explicitly set on the widget using 'GI.Gtk.Objects.Widget.widgetSetStyle'.
+The 'GI.Gtk.Objects.RcStyle.RcStyle'-struct is designed so each field can either be
+set or unset, so it is possible, using this function, to modify some
+style values and leave the others unchanged.
+
+Note that modifications made with this function are not cumulative
+with previous calls to 'GI.Gtk.Objects.Widget.widgetModifyStyle' or with such
+functions as 'GI.Gtk.Objects.Widget.widgetModifyFg'. If you wish to retain
+previous values, you must first call 'GI.Gtk.Objects.Widget.widgetGetModifierStyle',
+make your modifications to the returned style, then call
+'GI.Gtk.Objects.Widget.widgetModifyStyle' with that style. On the other hand,
+if you first call 'GI.Gtk.Objects.Widget.widgetModifyStyle', subsequent calls
+to such functions 'GI.Gtk.Objects.Widget.widgetModifyFg' will have a cumulative
+effect with the initial modifications.
+-}
+widgetModifyStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gtk.RcStyle.IsRcStyle b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@style@/: the 'GI.Gtk.Objects.RcStyle.RcStyle'-struct holding the style modifications -}
+    -> m ()
+widgetModifyStyle widget style = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    style' <- unsafeManagedPtrCastPtr style
+    gtk_widget_modify_style widget' style'
+    touchManagedPtr widget
+    touchManagedPtr style
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetModifyStyleMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, Gtk.RcStyle.IsRcStyle b) => O.MethodInfo WidgetModifyStyleMethodInfo a signature where
+    overloadedMethod _ = widgetModifyStyle
+
+#endif
+
+-- method Widget::modify_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the state for which to set the text color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "Color"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to assign (does not need to\n    be allocated), or %NULL to undo the effect of previous\n    calls to of gtk_widget_modify_text().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_modify_text" gtk_widget_modify_text :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Ptr Gdk.Color.Color ->                  -- color : TInterface (Name {namespace = "Gdk", name = "Color"})
+    IO ()
+
+{-# DEPRECATED widgetModifyText ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetOverrideColor' instead"] #-}
+{- |
+Sets the text color for a widget in a particular state.
+
+All other style values are left untouched.
+The text color is the foreground color used along with the
+base color (see 'GI.Gtk.Objects.Widget.widgetModifyBase') for widgets such
+as 'GI.Gtk.Objects.Entry.Entry' and 'GI.Gtk.Objects.TextView.TextView'.
+See also 'GI.Gtk.Objects.Widget.widgetModifyStyle'.
+-}
+widgetModifyText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: the state for which to set the text color -}
+    -> Maybe (Gdk.Color.Color)
+    {- ^ /@color@/: the color to assign (does not need to
+    be allocated), or 'Nothing' to undo the effect of previous
+    calls to of 'GI.Gtk.Objects.Widget.widgetModifyText'. -}
+    -> m ()
+widgetModifyText widget state color = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let state' = (fromIntegral . fromEnum) state
+    maybeColor <- case color of
+        Nothing -> return nullPtr
+        Just jColor -> do
+            jColor' <- unsafeManagedPtrGetPtr jColor
+            return jColor'
+    gtk_widget_modify_text widget' state' maybeColor
+    touchManagedPtr widget
+    whenJust color touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetModifyTextMethodInfo
+instance (signature ~ (Gtk.Enums.StateType -> Maybe (Gdk.Color.Color) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetModifyTextMethodInfo a signature where
+    overloadedMethod _ = widgetModifyText
+
+#endif
+
+-- method Widget::override_background_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the state for which to set the background color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to assign, or %NULL to undo the effect\n    of previous calls to gtk_widget_override_background_color()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_override_background_color" gtk_widget_override_background_color :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{-# DEPRECATED widgetOverrideBackgroundColor ["(Since version 3.16)","This function is not useful in the context of CSS-based","  rendering. If you wish to change the way a widget renders its background","  you should use a custom CSS style, through an application-specific","  'GI.Gtk.Interfaces.StyleProvider.StyleProvider' and a CSS style class. You can also override the default","  drawing of a widget through the 'GI.Gtk.Objects.Widget.Widget'::@/draw/@ signal, and use Cairo to","  draw a specific color, regardless of the CSS style."] #-}
+{- |
+Sets the background color to use for a widget.
+
+All other style values are left untouched.
+See 'GI.Gtk.Objects.Widget.widgetOverrideColor'.
+
+/Since: 3.0/
+-}
+widgetOverrideBackgroundColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: the state for which to set the background color -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@color@/: the color to assign, or 'Nothing' to undo the effect
+    of previous calls to 'GI.Gtk.Objects.Widget.widgetOverrideBackgroundColor' -}
+    -> m ()
+widgetOverrideBackgroundColor widget state color = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let state' = gflagsToWord state
+    maybeColor <- case color of
+        Nothing -> return nullPtr
+        Just jColor -> do
+            jColor' <- unsafeManagedPtrGetPtr jColor
+            return jColor'
+    gtk_widget_override_background_color widget' state' maybeColor
+    touchManagedPtr widget
+    whenJust color touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetOverrideBackgroundColorMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> Maybe (Gdk.RGBA.RGBA) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetOverrideBackgroundColorMethodInfo a signature where
+    overloadedMethod _ = widgetOverrideBackgroundColor
+
+#endif
+
+-- method Widget::override_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the state for which to set the color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to assign, or %NULL to undo the effect\n    of previous calls to gtk_widget_override_color()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_override_color" gtk_widget_override_color :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{-# DEPRECATED widgetOverrideColor ["(Since version 3.16)","Use a custom style provider and style classes instead"] #-}
+{- |
+Sets the color to use for a widget.
+
+All other style values are left untouched.
+
+This function does not act recursively. Setting the color of a
+container does not affect its children. Note that some widgets that
+you may not think of as containers, for instance @/GtkButtons/@,
+are actually containers.
+
+This API is mostly meant as a quick way for applications to
+change a widget appearance. If you are developing a widgets
+library and intend this change to be themeable, it is better
+done by setting meaningful CSS classes in your
+widget\/container implementation through 'GI.Gtk.Objects.StyleContext.styleContextAddClass'.
+
+This way, your widget library can install a 'GI.Gtk.Objects.CssProvider.CssProvider'
+with the 'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_FALLBACK' priority in order
+to provide a default styling for those widgets that need so, and
+this theming may fully overridden by the user’s theme.
+
+Note that for complex widgets this may bring in undesired
+results (such as uniform background color everywhere), in
+these cases it is better to fully style such widgets through a
+'GI.Gtk.Objects.CssProvider.CssProvider' with the 'GI.Gtk.Constants.STYLE_PROVIDER_PRIORITY_APPLICATION'
+priority.
+
+/Since: 3.0/
+-}
+widgetOverrideColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: the state for which to set the color -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@color@/: the color to assign, or 'Nothing' to undo the effect
+    of previous calls to 'GI.Gtk.Objects.Widget.widgetOverrideColor' -}
+    -> m ()
+widgetOverrideColor widget state color = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let state' = gflagsToWord state
+    maybeColor <- case color of
+        Nothing -> return nullPtr
+        Just jColor -> do
+            jColor' <- unsafeManagedPtrGetPtr jColor
+            return jColor'
+    gtk_widget_override_color widget' state' maybeColor
+    touchManagedPtr widget
+    whenJust color touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetOverrideColorMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> Maybe (Gdk.RGBA.RGBA) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetOverrideColorMethodInfo a signature where
+    overloadedMethod _ = widgetOverrideColor
+
+#endif
+
+-- method Widget::override_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to use for primary cursor (does not need to be\n    allocated), or %NULL to undo the effect of previous calls to\n    of gtk_widget_override_cursor().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "secondary_cursor", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to use for secondary cursor (does not\n    need to be allocated), or %NULL to undo the effect of previous\n    calls to of gtk_widget_override_cursor().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_override_cursor" gtk_widget_override_cursor :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.RGBA.RGBA ->                    -- cursor : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    Ptr Gdk.RGBA.RGBA ->                    -- secondary_cursor : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{-# DEPRECATED widgetOverrideCursor ["(Since version 3.16)","This function is not useful in the context of CSS-based","  rendering. If you wish to change the color used to render the primary","  and secondary cursors you should use a custom CSS style, through an","  application-specific 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' and a CSS style class."] #-}
+{- |
+Sets the cursor color to use in a widget, overriding the
+cursor-color and secondary-cursor-color
+style properties. All other style values are left untouched.
+See also 'GI.Gtk.Objects.Widget.widgetModifyStyle'.
+
+Note that the underlying properties have the 'GI.Gdk.Structs.Color.Color' type,
+so the alpha value in /@primary@/ and /@secondary@/ will be ignored.
+
+/Since: 3.0/
+-}
+widgetOverrideCursor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@cursor@/: the color to use for primary cursor (does not need to be
+    allocated), or 'Nothing' to undo the effect of previous calls to
+    of 'GI.Gtk.Objects.Widget.widgetOverrideCursor'. -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@secondaryCursor@/: the color to use for secondary cursor (does not
+    need to be allocated), or 'Nothing' to undo the effect of previous
+    calls to of 'GI.Gtk.Objects.Widget.widgetOverrideCursor'. -}
+    -> m ()
+widgetOverrideCursor widget cursor secondaryCursor = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeCursor <- case cursor of
+        Nothing -> return nullPtr
+        Just jCursor -> do
+            jCursor' <- unsafeManagedPtrGetPtr jCursor
+            return jCursor'
+    maybeSecondaryCursor <- case secondaryCursor of
+        Nothing -> return nullPtr
+        Just jSecondaryCursor -> do
+            jSecondaryCursor' <- unsafeManagedPtrGetPtr jSecondaryCursor
+            return jSecondaryCursor'
+    gtk_widget_override_cursor widget' maybeCursor maybeSecondaryCursor
+    touchManagedPtr widget
+    whenJust cursor touchManagedPtr
+    whenJust secondaryCursor touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetOverrideCursorMethodInfo
+instance (signature ~ (Maybe (Gdk.RGBA.RGBA) -> Maybe (Gdk.RGBA.RGBA) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetOverrideCursorMethodInfo a signature where
+    overloadedMethod _ = widgetOverrideCursor
+
+#endif
+
+-- method Widget::override_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_desc", argType = TInterface (Name {namespace = "Pango", name = "FontDescription"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the font description to use, or %NULL to undo\n    the effect of previous calls to gtk_widget_override_font()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_override_font" gtk_widget_override_font :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Pango.FontDescription.FontDescription -> -- font_desc : TInterface (Name {namespace = "Pango", name = "FontDescription"})
+    IO ()
+
+{-# DEPRECATED widgetOverrideFont ["(Since version 3.16)","This function is not useful in the context of CSS-based","  rendering. If you wish to change the font a widget uses to render its text","  you should use a custom CSS style, through an application-specific","  'GI.Gtk.Interfaces.StyleProvider.StyleProvider' and a CSS style class."] #-}
+{- |
+Sets the font to use for a widget. All other style values are
+left untouched. See 'GI.Gtk.Objects.Widget.widgetOverrideColor'.
+
+/Since: 3.0/
+-}
+widgetOverrideFont ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (Pango.FontDescription.FontDescription)
+    {- ^ /@fontDesc@/: the font description to use, or 'Nothing' to undo
+    the effect of previous calls to 'GI.Gtk.Objects.Widget.widgetOverrideFont' -}
+    -> m ()
+widgetOverrideFont widget fontDesc = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeFontDesc <- case fontDesc of
+        Nothing -> return nullPtr
+        Just jFontDesc -> do
+            jFontDesc' <- unsafeManagedPtrGetPtr jFontDesc
+            return jFontDesc'
+    gtk_widget_override_font widget' maybeFontDesc
+    touchManagedPtr widget
+    whenJust fontDesc touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetOverrideFontMethodInfo
+instance (signature ~ (Maybe (Pango.FontDescription.FontDescription) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetOverrideFontMethodInfo a signature where
+    overloadedMethod _ = widgetOverrideFont
+
+#endif
+
+-- method Widget::override_symbolic_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the symbolic color to modify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the color to assign (does not need\n    to be allocated), or %NULL to undo the effect of previous\n    calls to gtk_widget_override_symbolic_color()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_override_symbolic_color" gtk_widget_override_symbolic_color :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO ()
+
+{-# DEPRECATED widgetOverrideSymbolicColor ["(Since version 3.16)","This function is not useful in the context of CSS-based","  rendering. If you wish to change the color used to render symbolic icons","  you should use a custom CSS style, through an application-specific","  'GI.Gtk.Interfaces.StyleProvider.StyleProvider' and a CSS style class."] #-}
+{- |
+Sets a symbolic color for a widget.
+
+All other style values are left untouched.
+See 'GI.Gtk.Objects.Widget.widgetOverrideColor' for overriding the foreground
+or background color.
+
+/Since: 3.0/
+-}
+widgetOverrideSymbolicColor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@name@/: the name of the symbolic color to modify -}
+    -> Maybe (Gdk.RGBA.RGBA)
+    {- ^ /@color@/: the color to assign (does not need
+    to be allocated), or 'Nothing' to undo the effect of previous
+    calls to 'GI.Gtk.Objects.Widget.widgetOverrideSymbolicColor' -}
+    -> m ()
+widgetOverrideSymbolicColor widget name color = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    name' <- textToCString name
+    maybeColor <- case color of
+        Nothing -> return nullPtr
+        Just jColor -> do
+            jColor' <- unsafeManagedPtrGetPtr jColor
+            return jColor'
+    gtk_widget_override_symbolic_color widget' name' maybeColor
+    touchManagedPtr widget
+    whenJust color touchManagedPtr
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetOverrideSymbolicColorMethodInfo
+instance (signature ~ (T.Text -> Maybe (Gdk.RGBA.RGBA) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetOverrideSymbolicColorMethodInfo a signature where
+    overloadedMethod _ = widgetOverrideSymbolicColor
+
+#endif
+
+-- method Widget::path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path_length", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store length of the path,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store allocated path string,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "path_reversed", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store allocated reverse\n    path string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path" gtk_widget_path :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Word32 ->                           -- path_length : TBasicType TUInt
+    Ptr CString ->                          -- path : TBasicType TUTF8
+    Ptr CString ->                          -- path_reversed : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED widgetPath ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetGetPath' instead"] #-}
+{- |
+Obtains the full path to /@widget@/. The path is simply the name of a
+widget and all its parents in the container hierarchy, separated by
+periods. The name of a widget comes from
+'GI.Gtk.Objects.Widget.widgetGetName'. Paths are used to apply styles to a widget
+in gtkrc configuration files. Widget names are the type of the
+widget by default (e.g. “GtkButton”) or can be set to an
+application-specific value with 'GI.Gtk.Objects.Widget.widgetSetName'. By setting
+the name of a widget, you allow users or theme authors to apply
+styles to that specific widget in their gtkrc
+file. /@pathReversedP@/ fills in the path in reverse order,
+i.e. starting with /@widget@/’s name instead of starting with the name
+of /@widget@/’s outermost ancestor.
+-}
+widgetPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ((Word32, T.Text, T.Text))
+widgetPath widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    pathLength <- allocMem :: IO (Ptr Word32)
+    path <- allocMem :: IO (Ptr CString)
+    pathReversed <- allocMem :: IO (Ptr CString)
+    gtk_widget_path widget' pathLength path pathReversed
+    pathLength' <- peek pathLength
+    path' <- peek path
+    path'' <- cstringToText path'
+    freeMem path'
+    pathReversed' <- peek pathReversed
+    pathReversed'' <- cstringToText pathReversed'
+    freeMem pathReversed'
+    touchManagedPtr widget
+    freeMem pathLength
+    freeMem path
+    freeMem pathReversed
+    return (pathLength', path'', pathReversed'')
+
+#if ENABLE_OVERLOADING
+data WidgetPathMethodInfo
+instance (signature ~ (m ((Word32, T.Text, T.Text))), MonadIO m, IsWidget a) => O.MethodInfo WidgetPathMethodInfo a signature where
+    overloadedMethod _ = widgetPath
+
+#endif
+
+-- method Widget::queue_allocate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_queue_allocate" gtk_widget_queue_allocate :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+This function is only for use in widget implementations.
+
+Flags the widget for a rerun of the GtkWidgetClass::size_allocate
+function. Use this function instead of 'GI.Gtk.Objects.Widget.widgetQueueResize'
+when the /@widget@/\'s size request didn\'t change but it wants to
+reposition its contents.
+
+An example user of this function is 'GI.Gtk.Objects.Widget.widgetSetHalign'.
+
+/Since: 3.20/
+-}
+widgetQueueAllocate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetQueueAllocate widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_queue_allocate widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetQueueAllocateMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetQueueAllocateMethodInfo a signature where
+    overloadedMethod _ = widgetQueueAllocate
+
+#endif
+
+-- method Widget::queue_compute_expand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_queue_compute_expand" gtk_widget_queue_compute_expand :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Mark /@widget@/ as needing to recompute its expand flags. Call
+this function when setting legacy expand child properties
+on the child of a container.
+
+See 'GI.Gtk.Objects.Widget.widgetComputeExpand'.
+-}
+widgetQueueComputeExpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetQueueComputeExpand widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_queue_compute_expand widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetQueueComputeExpandMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetQueueComputeExpandMethodInfo a signature where
+    overloadedMethod _ = widgetQueueComputeExpand
+
+#endif
+
+-- method Widget::queue_draw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_queue_draw" gtk_widget_queue_draw :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Equivalent to calling 'GI.Gtk.Objects.Widget.widgetQueueDrawArea' for the
+entire area of a widget.
+-}
+widgetQueueDraw ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetQueueDraw widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_queue_draw widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetQueueDrawMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetQueueDrawMethodInfo a signature where
+    overloadedMethod _ = widgetQueueDraw
+
+#endif
+
+-- method Widget::queue_draw_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "x coordinate of upper-left corner of rectangle to redraw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "y coordinate of upper-left corner of rectangle to redraw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of region to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height of region to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_queue_draw_area" gtk_widget_queue_draw_area :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Convenience function that calls 'GI.Gtk.Objects.Widget.widgetQueueDrawRegion' on
+the region created from the given coordinates.
+
+The region here is specified in widget coordinates.
+Widget coordinates are a bit odd; for historical reasons, they are
+defined as /@widget@/->window coordinates for widgets that return 'True' for
+'GI.Gtk.Objects.Widget.widgetGetHasWindow', and are relative to /@widget@/->allocation.x,
+/@widget@/->allocation.y otherwise.
+
+/@width@/ or /@height@/ may be 0, in this case this function does
+nothing. Negative values for /@width@/ and /@height@/ are not allowed.
+-}
+widgetQueueDrawArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@x@/: x coordinate of upper-left corner of rectangle to redraw -}
+    -> Int32
+    {- ^ /@y@/: y coordinate of upper-left corner of rectangle to redraw -}
+    -> Int32
+    {- ^ /@width@/: width of region to draw -}
+    -> Int32
+    {- ^ /@height@/: height of region to draw -}
+    -> m ()
+widgetQueueDrawArea widget x y width height = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_queue_draw_area widget' x y width height
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetQueueDrawAreaMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetQueueDrawAreaMethodInfo a signature where
+    overloadedMethod _ = widgetQueueDrawArea
+
+#endif
+
+-- method Widget::queue_draw_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region to draw", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_queue_draw_region" gtk_widget_queue_draw_region :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})
+    IO ()
+
+{- |
+Invalidates the area of /@widget@/ defined by /@region@/ by calling
+'GI.Gdk.Objects.Window.windowInvalidateRegion' on the widget’s window and all its
+child windows. Once the main loop becomes idle (after the current
+batch of events has been processed, roughly), the window will
+receive expose events for the union of all regions that have been
+invalidated.
+
+Normally you would only use this function in widget
+implementations. You might also use it to schedule a redraw of a
+'GI.Gtk.Objects.DrawingArea.DrawingArea' or some portion thereof.
+
+/Since: 3.0/
+-}
+widgetQueueDrawRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Cairo.Region.Region
+    {- ^ /@region@/: region to draw -}
+    -> m ()
+widgetQueueDrawRegion widget region = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    region' <- unsafeManagedPtrGetPtr region
+    gtk_widget_queue_draw_region widget' region'
+    touchManagedPtr widget
+    touchManagedPtr region
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetQueueDrawRegionMethodInfo
+instance (signature ~ (Cairo.Region.Region -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetQueueDrawRegionMethodInfo a signature where
+    overloadedMethod _ = widgetQueueDrawRegion
+
+#endif
+
+-- method Widget::queue_resize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_queue_resize" gtk_widget_queue_resize :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+This function is only for use in widget implementations.
+Flags a widget to have its size renegotiated; should
+be called when a widget for some reason has a new size request.
+For example, when you change the text in a 'GI.Gtk.Objects.Label.Label', 'GI.Gtk.Objects.Label.Label'
+queues a resize to ensure there’s enough space for the new text.
+
+Note that you cannot call 'GI.Gtk.Objects.Widget.widgetQueueResize' on a widget
+from inside its implementation of the GtkWidgetClass::size_allocate
+virtual method. Calls to 'GI.Gtk.Objects.Widget.widgetQueueResize' from inside
+GtkWidgetClass::size_allocate will be silently ignored.
+-}
+widgetQueueResize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetQueueResize widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_queue_resize widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetQueueResizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetQueueResizeMethodInfo a signature where
+    overloadedMethod _ = widgetQueueResize
+
+#endif
+
+-- method Widget::queue_resize_no_redraw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_queue_resize_no_redraw" gtk_widget_queue_resize_no_redraw :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+This function works like 'GI.Gtk.Objects.Widget.widgetQueueResize',
+except that the widget is not invalidated.
+
+/Since: 2.4/
+-}
+widgetQueueResizeNoRedraw ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetQueueResizeNoRedraw widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_queue_resize_no_redraw widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetQueueResizeNoRedrawMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetQueueResizeNoRedrawMethodInfo a signature where
+    overloadedMethod _ = widgetQueueResizeNoRedraw
+
+#endif
+
+-- method Widget::realize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_realize" gtk_widget_realize :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Creates the GDK (windowing system) resources associated with a
+widget.  For example, /@widget@/->window will be created when a widget
+is realized.  Normally realization happens implicitly; if you show
+a widget and all its parent containers, then the widget will be
+realized and mapped automatically.
+
+Realizing a widget requires all
+the widget’s parent widgets to be realized; calling
+'GI.Gtk.Objects.Widget.widgetRealize' realizes the widget’s parents in addition to
+/@widget@/ itself. If a widget is not yet inside a toplevel window
+when you realize it, bad things will happen.
+
+This function is primarily used in widget implementations, and
+isn’t very useful otherwise. Many times when you think you might
+need it, a better approach is to connect to a signal that will be
+called after the widget is realized automatically, such as
+'GI.Gtk.Objects.Widget.Widget'::@/draw/@. Or simply g_signal_connect () to the
+'GI.Gtk.Objects.Widget.Widget'::@/realize/@ signal.
+-}
+widgetRealize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetRealize widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_realize widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetRealizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetRealizeMethodInfo a signature where
+    overloadedMethod _ = widgetRealize
+
+#endif
+
+-- method Widget::region_intersect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #cairo_region_t, in the same coordinate system as\n         @widget->allocation. That is, relative to @widget->window\n         for widgets which return %FALSE from gtk_widget_get_has_window();\n         relative to the parent window of @widget->window otherwise.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Region"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_region_intersect" gtk_widget_region_intersect :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})
+    IO (Ptr Cairo.Region.Region)
+
+{-# DEPRECATED widgetRegionIntersect ["(Since version 3.14)","Use 'GI.Gtk.Objects.Widget.widgetGetAllocation' and","    @/cairo_region_intersect_rectangle()/@ to get the same behavior."] #-}
+{- |
+Computes the intersection of a /@widget@/’s area and /@region@/, returning
+the intersection. The result may be empty, use @/cairo_region_is_empty()/@ to
+check.
+-}
+widgetRegionIntersect ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Cairo.Region.Region
+    {- ^ /@region@/: a 'GI.Cairo.Structs.Region.Region', in the same coordinate system as
+         /@widget@/->allocation. That is, relative to /@widget@/->window
+         for widgets which return 'False' from 'GI.Gtk.Objects.Widget.widgetGetHasWindow';
+         relative to the parent window of /@widget@/->window otherwise. -}
+    -> m Cairo.Region.Region
+    {- ^ __Returns:__ A newly allocated region holding the intersection of /@widget@/
+    and /@region@/. -}
+widgetRegionIntersect widget region = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    region' <- unsafeManagedPtrGetPtr region
+    result <- gtk_widget_region_intersect widget' region'
+    checkUnexpectedReturnNULL "widgetRegionIntersect" result
+    result' <- (wrapBoxed Cairo.Region.Region) result
+    touchManagedPtr widget
+    touchManagedPtr region
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetRegionIntersectMethodInfo
+instance (signature ~ (Cairo.Region.Region -> m Cairo.Region.Region), MonadIO m, IsWidget a) => O.MethodInfo WidgetRegionIntersectMethodInfo a signature where
+    overloadedMethod _ = widgetRegionIntersect
+
+#endif
+
+-- method Widget::register_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_register_window" gtk_widget_register_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO ()
+
+{- |
+Registers a 'GI.Gdk.Objects.Window.Window' with the widget and sets it up so that
+the widget receives events for it. Call 'GI.Gtk.Objects.Widget.widgetUnregisterWindow'
+when destroying the window.
+
+Before 3.8 you needed to call 'GI.Gdk.Objects.Window.windowSetUserData' directly to set
+this up. This is now deprecated and you should use 'GI.Gtk.Objects.Widget.widgetRegisterWindow'
+instead. Old code will keep working as is, although some new features like
+transparency might not work perfectly.
+
+/Since: 3.8/
+-}
+widgetRegisterWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}
+    -> m ()
+widgetRegisterWindow widget window = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_widget_register_window widget' window'
+    touchManagedPtr widget
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetRegisterWindowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, Gdk.Window.IsWindow b) => O.MethodInfo WidgetRegisterWindowMethodInfo a signature where
+    overloadedMethod _ = widgetRegisterWindow
+
+#endif
+
+-- method Widget::remove_accelerator
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget to install an accelerator on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "accel group for this widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_key", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GDK keyval of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_mods", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "modifier key combination of the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_remove_accelerator" gtk_widget_remove_accelerator :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    Word32 ->                               -- accel_key : TBasicType TUInt
+    CUInt ->                                -- accel_mods : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{- |
+Removes an accelerator from /@widget@/, previously installed with
+'GI.Gtk.Objects.Widget.widgetAddAccelerator'.
+-}
+widgetRemoveAccelerator ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gtk.AccelGroup.IsAccelGroup b) =>
+    a
+    {- ^ /@widget@/: widget to install an accelerator on -}
+    -> b
+    {- ^ /@accelGroup@/: accel group for this widget -}
+    -> Word32
+    {- ^ /@accelKey@/: GDK keyval of the accelerator -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@accelMods@/: modifier key combination of the accelerator -}
+    -> m Bool
+    {- ^ __Returns:__ whether an accelerator was installed and could be removed -}
+widgetRemoveAccelerator widget accelGroup accelKey accelMods = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    let accelMods' = gflagsToWord accelMods
+    result <- gtk_widget_remove_accelerator widget' accelGroup' accelKey accelMods'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr accelGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetRemoveAcceleratorMethodInfo
+instance (signature ~ (b -> Word32 -> [Gdk.Flags.ModifierType] -> m Bool), MonadIO m, IsWidget a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo WidgetRemoveAcceleratorMethodInfo a signature where
+    overloadedMethod _ = widgetRemoveAccelerator
+
+#endif
+
+-- method Widget::remove_mnemonic_label
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget that was previously set as a mnemonic label for\n        @widget with gtk_widget_add_mnemonic_label().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_remove_mnemonic_label" gtk_widget_remove_mnemonic_label :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Widget ->                           -- label : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Removes a widget from the list of mnemonic labels for
+this widget. (See 'GI.Gtk.Objects.Widget.widgetListMnemonicLabels'). The widget
+must have previously been added to the list with
+'GI.Gtk.Objects.Widget.widgetAddMnemonicLabel'.
+
+/Since: 2.4/
+-}
+widgetRemoveMnemonicLabel ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@label@/: a 'GI.Gtk.Objects.Widget.Widget' that was previously set as a mnemonic label for
+        /@widget@/ with 'GI.Gtk.Objects.Widget.widgetAddMnemonicLabel'. -}
+    -> m ()
+widgetRemoveMnemonicLabel widget label = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    label' <- unsafeManagedPtrCastPtr label
+    gtk_widget_remove_mnemonic_label widget' label'
+    touchManagedPtr widget
+    touchManagedPtr label
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetRemoveMnemonicLabelMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, IsWidget b) => O.MethodInfo WidgetRemoveMnemonicLabelMethodInfo a signature where
+    overloadedMethod _ = widgetRemoveMnemonicLabel
+
+#endif
+
+-- method Widget::remove_tick_callback
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an id returned by gtk_widget_add_tick_callback()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_remove_tick_callback" gtk_widget_remove_tick_callback :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Word32 ->                               -- id : TBasicType TUInt
+    IO ()
+
+{- |
+Removes a tick callback previously registered with
+'GI.Gtk.Objects.Widget.widgetAddTickCallback'.
+
+/Since: 3.8/
+-}
+widgetRemoveTickCallback ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Word32
+    {- ^ /@id@/: an id returned by 'GI.Gtk.Objects.Widget.widgetAddTickCallback' -}
+    -> m ()
+widgetRemoveTickCallback widget id = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_remove_tick_callback widget' id
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetRemoveTickCallbackMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetRemoveTickCallbackMethodInfo a signature where
+    overloadedMethod _ = widgetRemoveTickCallback
+
+#endif
+
+-- method Widget::render_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock ID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock size (#GtkIconSize). A size of `(GtkIconSize)-1`\n    means render at the size of the source and don\8217t scale (if there are\n    multiple source sizes, GTK+ picks one of the available sizes).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "render detail to pass to theme engine", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_render_icon" gtk_widget_render_icon :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    CString ->                              -- detail : TBasicType TUTF8
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED widgetRenderIcon ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetRenderIconPixbuf' instead."] #-}
+{- |
+A convenience function that uses the theme settings for /@widget@/
+to look up /@stockId@/ and render it to a pixbuf. /@stockId@/ should
+be a stock icon ID such as 'GI.Gtk.Constants.STOCK_OPEN' or 'GI.Gtk.Constants.STOCK_OK'. /@size@/
+should be a size such as @/GTK_ICON_SIZE_MENU/@. /@detail@/ should be a
+string that identifies the widget or code doing the rendering, so
+that theme engines can special-case rendering for that widget or
+code.
+
+The pixels in the returned 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' are shared with the rest of
+the application and should not be modified. The pixbuf should be
+freed after use with 'GI.GObject.Objects.Object.objectUnref'.
+-}
+widgetRenderIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@stockId@/: a stock ID -}
+    -> Int32
+    {- ^ /@size@/: a stock size ('GI.Gtk.Enums.IconSize'). A size of @(GtkIconSize)-1@
+    means render at the size of the source and don’t scale (if there are
+    multiple source sizes, GTK+ picks one of the available sizes). -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: render detail to pass to theme engine -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ a new pixbuf, or 'Nothing' if the
+    stock ID wasn’t known -}
+widgetRenderIcon widget stockId size detail = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    stockId' <- textToCString stockId
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    result <- gtk_widget_render_icon widget' stockId' size maybeDetail
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr widget
+    freeMem stockId'
+    freeMem maybeDetail
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetRenderIconMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Maybe (T.Text) -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsWidget a) => O.MethodInfo WidgetRenderIconMethodInfo a signature where
+    overloadedMethod _ = widgetRenderIcon
+
+#endif
+
+-- method Widget::render_icon_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock ID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stock size (#GtkIconSize). A size of `(GtkIconSize)-1`\n    means render at the size of the source and don\8217t scale (if there are\n    multiple source sizes, GTK+ picks one of the available sizes).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_render_icon_pixbuf" gtk_widget_render_icon_pixbuf :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- stock_id : TBasicType TUTF8
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED widgetRenderIconPixbuf ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.iconThemeLoadIcon' instead."] #-}
+{- |
+A convenience function that uses the theme engine and style
+settings for /@widget@/ to look up /@stockId@/ and render it to
+a pixbuf. /@stockId@/ should be a stock icon ID such as
+'GI.Gtk.Constants.STOCK_OPEN' or 'GI.Gtk.Constants.STOCK_OK'. /@size@/ should be a size
+such as @/GTK_ICON_SIZE_MENU/@.
+
+The pixels in the returned 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' are shared with the rest of
+the application and should not be modified. The pixbuf should be freed
+after use with 'GI.GObject.Objects.Object.objectUnref'.
+
+/Since: 3.0/
+-}
+widgetRenderIconPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@stockId@/: a stock ID -}
+    -> Int32
+    {- ^ /@size@/: a stock size ('GI.Gtk.Enums.IconSize'). A size of @(GtkIconSize)-1@
+    means render at the size of the source and don’t scale (if there are
+    multiple source sizes, GTK+ picks one of the available sizes). -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ a new pixbuf, or 'Nothing' if the
+    stock ID wasn’t known -}
+widgetRenderIconPixbuf widget stockId size = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    stockId' <- textToCString stockId
+    result <- gtk_widget_render_icon_pixbuf widget' stockId' size
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr widget
+    freeMem stockId'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetRenderIconPixbufMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsWidget a) => O.MethodInfo WidgetRenderIconPixbufMethodInfo a signature where
+    overloadedMethod _ = widgetRenderIconPixbuf
+
+#endif
+
+-- method Widget::reparent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_parent", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkContainer to move the widget into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_reparent" gtk_widget_reparent :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Widget ->                           -- new_parent : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{-# DEPRECATED widgetReparent ["(Since version 3.14)","Use 'GI.Gtk.Objects.Container.containerRemove' and 'GI.Gtk.Objects.Container.containerAdd'."] #-}
+{- |
+Moves a widget from one 'GI.Gtk.Objects.Container.Container' to another, handling reference
+count issues to avoid destroying the widget.
+-}
+widgetReparent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@newParent@/: a 'GI.Gtk.Objects.Container.Container' to move the widget into -}
+    -> m ()
+widgetReparent widget newParent = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    newParent' <- unsafeManagedPtrCastPtr newParent
+    gtk_widget_reparent widget' newParent'
+    touchManagedPtr widget
+    touchManagedPtr newParent
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetReparentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, IsWidget b) => O.MethodInfo WidgetReparentMethodInfo a signature where
+    overloadedMethod _ = widgetReparent
+
+#endif
+
+-- method Widget::reset_rc_styles
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_reset_rc_styles" gtk_widget_reset_rc_styles :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{-# DEPRECATED widgetResetRcStyles ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead, and 'GI.Gtk.Objects.Widget.widgetResetStyle'"] #-}
+{- |
+Reset the styles of /@widget@/ and all descendents, so when
+they are looked up again, they get the correct values
+for the currently loaded RC file settings.
+
+This function is not useful for applications.
+-}
+widgetResetRcStyles ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget'. -}
+    -> m ()
+widgetResetRcStyles widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_reset_rc_styles widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetResetRcStylesMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetResetRcStylesMethodInfo a signature where
+    overloadedMethod _ = widgetResetRcStyles
+
+#endif
+
+-- method Widget::reset_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_reset_style" gtk_widget_reset_style :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Updates the style context of /@widget@/ and all descendants
+by updating its widget path. @/GtkContainers/@ may want
+to use this on a child when reordering it in a way that a different
+style might apply to it. See also 'GI.Gtk.Objects.Container.containerGetPathForChild'.
+
+/Since: 3.0/
+-}
+widgetResetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetResetStyle widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_reset_style widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetResetStyleMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetResetStyleMethodInfo a signature where
+    overloadedMethod _ = widgetResetStyle
+
+#endif
+
+-- method Widget::send_expose
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a expose #GdkEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_send_expose" gtk_widget_send_expose :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO Int32
+
+{-# DEPRECATED widgetSendExpose ["(Since version 3.22)","Application and widget code should not handle","  expose events directly; invalidation should use the 'GI.Gtk.Objects.Widget.Widget'","  API, and drawing should only happen inside 'GI.Gtk.Objects.Widget.Widget'::@/draw/@","  implementations"] #-}
+{- |
+Very rarely-used function. This function is used to emit
+an expose event on a widget. This function is not normally used
+directly. The only time it is used is when propagating an expose
+event to a windowless child widget ('GI.Gtk.Objects.Widget.widgetGetHasWindow' is 'False'),
+and that is normally done using 'GI.Gtk.Objects.Container.containerPropagateDraw'.
+
+If you want to force an area of a window to be redrawn,
+use 'GI.Gdk.Objects.Window.windowInvalidateRect' or 'GI.Gdk.Objects.Window.windowInvalidateRegion'.
+To cause the redraw to be done immediately, follow that call
+with a call to 'GI.Gdk.Objects.Window.windowProcessUpdates'.
+-}
+widgetSendExpose ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: a expose 'GI.Gdk.Unions.Event.Event' -}
+    -> m Int32
+    {- ^ __Returns:__ return from the event signal emission ('True' if
+  the event was handled) -}
+widgetSendExpose widget event = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_widget_send_expose widget' event'
+    touchManagedPtr widget
+    touchManagedPtr event
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetSendExposeMethodInfo
+instance (signature ~ (Gdk.Event.Event -> m Int32), MonadIO m, IsWidget a) => O.MethodInfo WidgetSendExposeMethodInfo a signature where
+    overloadedMethod _ = widgetSendExpose
+
+#endif
+
+-- method Widget::send_focus_change
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEvent of type GDK_FOCUS_CHANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_send_focus_change" gtk_widget_send_focus_change :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Event.Event ->                  -- event : TInterface (Name {namespace = "Gdk", name = "Event"})
+    IO CInt
+
+{- |
+Sends the focus change /@event@/ to /@widget@/
+
+This function is not meant to be used by applications. The only time it
+should be used is when it is necessary for a 'GI.Gtk.Objects.Widget.Widget' to assign focus
+to a widget that is semantically owned by the first widget even though
+it’s not a direct child - for instance, a search entry in a floating
+window similar to the quick search in 'GI.Gtk.Objects.TreeView.TreeView'.
+
+An example of its usage is:
+
+
+=== /C code/
+>
+>  GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE);
+>
+>  fevent->focus_change.type = GDK_FOCUS_CHANGE;
+>  fevent->focus_change.in = TRUE;
+>  fevent->focus_change.window = _gtk_widget_get_window (widget);
+>  if (fevent->focus_change.window != NULL)
+>    g_object_ref (fevent->focus_change.window);
+>
+>  gtk_widget_send_focus_change (widget, fevent);
+>
+>  gdk_event_free (event);
+
+
+/Since: 2.20/
+-}
+widgetSendFocusChange ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Event.Event
+    {- ^ /@event@/: a 'GI.Gdk.Unions.Event.Event' of type GDK_FOCUS_CHANGE -}
+    -> m Bool
+    {- ^ __Returns:__ the return value from the event signal emission: 'True'
+  if the event was handled, and 'False' otherwise -}
+widgetSendFocusChange widget event = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_widget_send_focus_change widget' event'
+    let result' = (/= 0) result
+    touchManagedPtr widget
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetSendFocusChangeMethodInfo
+instance (signature ~ (Gdk.Event.Event -> m Bool), MonadIO m, IsWidget a) => O.MethodInfo WidgetSendFocusChangeMethodInfo a signature where
+    overloadedMethod _ = widgetSendFocusChange
+
+#endif
+
+-- method Widget::set_accel_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "path used to look up the accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_accel_path" gtk_widget_set_accel_path :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- accel_path : TBasicType TUTF8
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO ()
+
+{- |
+Given an accelerator group, /@accelGroup@/, and an accelerator path,
+/@accelPath@/, sets up an accelerator in /@accelGroup@/ so whenever the
+key binding that is defined for /@accelPath@/ is pressed, /@widget@/
+will be activated.  This removes any accelerators (for any
+accelerator group) installed by previous calls to
+'GI.Gtk.Objects.Widget.widgetSetAccelPath'. Associating accelerators with
+paths allows them to be modified by the user and the modifications
+to be saved for future use. (See 'GI.Gtk.Objects.AccelMap.accelMapSave'.)
+
+This function is a low level function that would most likely
+be used by a menu creation system like 'GI.Gtk.Objects.UIManager.UIManager'. If you
+use 'GI.Gtk.Objects.UIManager.UIManager', setting up accelerator paths will be done
+automatically.
+
+Even when you you aren’t using 'GI.Gtk.Objects.UIManager.UIManager', if you only want to
+set up accelerators on menu items 'GI.Gtk.Objects.MenuItem.menuItemSetAccelPath'
+provides a somewhat more convenient interface.
+
+Note that /@accelPath@/ string will be stored in a @/GQuark/@. Therefore, if you
+pass a static string, you can save some memory by interning it first with
+'GI.GLib.Functions.internStaticString'.
+-}
+widgetSetAccelPath ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gtk.AccelGroup.IsAccelGroup b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (T.Text)
+    {- ^ /@accelPath@/: path used to look up the accelerator -}
+    -> Maybe (b)
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup'. -}
+    -> m ()
+widgetSetAccelPath widget accelPath accelGroup = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeAccelPath <- case accelPath of
+        Nothing -> return nullPtr
+        Just jAccelPath -> do
+            jAccelPath' <- textToCString jAccelPath
+            return jAccelPath'
+    maybeAccelGroup <- case accelGroup of
+        Nothing -> return nullPtr
+        Just jAccelGroup -> do
+            jAccelGroup' <- unsafeManagedPtrCastPtr jAccelGroup
+            return jAccelGroup'
+    gtk_widget_set_accel_path widget' maybeAccelPath maybeAccelGroup
+    touchManagedPtr widget
+    whenJust accelGroup touchManagedPtr
+    freeMem maybeAccelPath
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetAccelPathMethodInfo
+instance (signature ~ (Maybe (T.Text) -> Maybe (b) -> m ()), MonadIO m, IsWidget a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo WidgetSetAccelPathMethodInfo a signature where
+    overloadedMethod _ = widgetSetAccelPath
+
+#endif
+
+-- method Widget::set_allocation
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocation", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkAllocation to copy from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_allocation" gtk_widget_set_allocation :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- allocation : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Sets the widget’s allocation.  This should not be used
+directly, but from within a widget’s size_allocate method.
+
+The allocation set should be the “adjusted” or actual
+allocation. If you’re implementing a 'GI.Gtk.Objects.Container.Container', you want to use
+'GI.Gtk.Objects.Widget.widgetSizeAllocate' instead of 'GI.Gtk.Objects.Widget.widgetSetAllocation'.
+The GtkWidgetClass::adjust_size_allocation virtual method adjusts the
+allocation inside 'GI.Gtk.Objects.Widget.widgetSizeAllocate' to create an adjusted
+allocation.
+
+/Since: 2.18/
+-}
+widgetSetAllocation ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@allocation@/: a pointer to a @/GtkAllocation/@ to copy from -}
+    -> m ()
+widgetSetAllocation widget allocation = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    allocation' <- unsafeManagedPtrGetPtr allocation
+    gtk_widget_set_allocation widget' allocation'
+    touchManagedPtr widget
+    touchManagedPtr allocation
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetAllocationMethodInfo
+instance (signature ~ (Gdk.Rectangle.Rectangle -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetAllocationMethodInfo a signature where
+    overloadedMethod _ = widgetSetAllocation
+
+#endif
+
+-- method Widget::set_app_paintable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_paintable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the application will paint on the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_app_paintable" gtk_widget_set_app_paintable :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- app_paintable : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the application intends to draw on the widget in
+an 'GI.Gtk.Objects.Widget.Widget'::@/draw/@ handler.
+
+This is a hint to the widget and does not affect the behavior of
+the GTK+ core; many widgets ignore this flag entirely. For widgets
+that do pay attention to the flag, such as 'GI.Gtk.Objects.EventBox.EventBox' and 'GI.Gtk.Objects.Window.Window',
+the effect is to suppress default themed drawing of the widget\'s
+background. (Children of the widget will still be drawn.) The application
+is then entirely responsible for drawing the widget background.
+
+Note that the background is still drawn when the widget is mapped.
+-}
+widgetSetAppPaintable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@appPaintable@/: 'True' if the application will paint on the widget -}
+    -> m ()
+widgetSetAppPaintable widget appPaintable = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let appPaintable' = (fromIntegral . fromEnum) appPaintable
+    gtk_widget_set_app_paintable widget' appPaintable'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetAppPaintableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetAppPaintableMethodInfo a signature where
+    overloadedMethod _ = widgetSetAppPaintable
+
+#endif
+
+-- method Widget::set_can_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "can_default", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not @widget can be a default widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_can_default" gtk_widget_set_can_default :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- can_default : TBasicType TBoolean
+    IO ()
+
+{- |
+Specifies whether /@widget@/ can be a default widget. See
+'GI.Gtk.Objects.Widget.widgetGrabDefault' for details about the meaning of
+“default”.
+
+/Since: 2.18/
+-}
+widgetSetCanDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@canDefault@/: whether or not /@widget@/ can be a default widget. -}
+    -> m ()
+widgetSetCanDefault widget canDefault = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let canDefault' = (fromIntegral . fromEnum) canDefault
+    gtk_widget_set_can_default widget' canDefault'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetCanDefaultMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetCanDefaultMethodInfo a signature where
+    overloadedMethod _ = widgetSetCanDefault
+
+#endif
+
+-- method Widget::set_can_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "can_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not @widget can own the input focus.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_can_focus" gtk_widget_set_can_focus :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- can_focus : TBasicType TBoolean
+    IO ()
+
+{- |
+Specifies whether /@widget@/ can own the input focus. See
+'GI.Gtk.Objects.Widget.widgetGrabFocus' for actually setting the input focus on a
+widget.
+
+/Since: 2.18/
+-}
+widgetSetCanFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@canFocus@/: whether or not /@widget@/ can own the input focus. -}
+    -> m ()
+widgetSetCanFocus widget canFocus = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let canFocus' = (fromIntegral . fromEnum) canFocus
+    gtk_widget_set_can_focus widget' canFocus'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetCanFocusMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetCanFocusMethodInfo a signature where
+    overloadedMethod _ = widgetSetCanFocus
+
+#endif
+
+-- method Widget::set_child_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, @widget should be mapped along with its parent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_child_visible" gtk_widget_set_child_visible :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- is_visible : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether /@widget@/ should be mapped along with its when its parent
+is mapped and /@widget@/ has been shown with 'GI.Gtk.Objects.Widget.widgetShow'.
+
+The child visibility can be set for widget before it is added to
+a container with 'GI.Gtk.Objects.Widget.widgetSetParent', to avoid mapping
+children unnecessary before immediately unmapping them. However
+it will be reset to its default state of 'True' when the widget
+is removed from a container.
+
+Note that changing the child visibility of a widget does not
+queue a resize on the widget. Most of the time, the size of
+a widget is computed from all visible children, whether or
+not they are mapped. If this is not the case, the container
+can queue a resize itself.
+
+This function is only useful for container implementations and
+never should be called by an application.
+-}
+widgetSetChildVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@isVisible@/: if 'True', /@widget@/ should be mapped along with its parent. -}
+    -> m ()
+widgetSetChildVisible widget isVisible = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let isVisible' = (fromIntegral . fromEnum) isVisible
+    gtk_widget_set_child_visible widget' isVisible'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetChildVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetChildVisibleMethodInfo a signature where
+    overloadedMethod _ = widgetSetChildVisible
+
+#endif
+
+-- method Widget::set_clip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clip", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkAllocation to copy from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_clip" gtk_widget_set_clip :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- clip : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+Sets the widget’s clip.  This must not be used directly,
+but from within a widget’s size_allocate method.
+It must be called after 'GI.Gtk.Objects.Widget.widgetSetAllocation' (or after chaining up
+to the parent class), because that function resets the clip.
+
+The clip set should be the area that /@widget@/ draws on. If /@widget@/ is a
+'GI.Gtk.Objects.Container.Container', the area must contain all children\'s clips.
+
+If this function is not called by /@widget@/ during a ::size-allocate handler,
+the clip will be set to /@widget@/\'s allocation.
+
+/Since: 3.14/
+-}
+widgetSetClip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@clip@/: a pointer to a @/GtkAllocation/@ to copy from -}
+    -> m ()
+widgetSetClip widget clip = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    clip' <- unsafeManagedPtrGetPtr clip
+    gtk_widget_set_clip widget' clip'
+    touchManagedPtr widget
+    touchManagedPtr clip
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetClipMethodInfo
+instance (signature ~ (Gdk.Rectangle.Rectangle -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetClipMethodInfo a signature where
+    overloadedMethod _ = widgetSetClip
+
+#endif
+
+-- method Widget::set_composite_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_composite_name" gtk_widget_set_composite_name :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED widgetSetCompositeName ["(Since version 3.10)","Use 'GI.Gtk.Structs.WidgetClass.widgetClassSetTemplate', or don\8217t use this API at all."] #-}
+{- |
+Sets a widgets composite name. The widget must be
+a composite child of its parent; see 'GI.Gtk.Objects.Widget.widgetPushCompositeChild'.
+-}
+widgetSetCompositeName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget'. -}
+    -> T.Text
+    {- ^ /@name@/: the name to set -}
+    -> m ()
+widgetSetCompositeName widget name = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    name' <- textToCString name
+    gtk_widget_set_composite_name widget' name'
+    touchManagedPtr widget
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetCompositeNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetCompositeNameMethodInfo a signature where
+    overloadedMethod _ = widgetSetCompositeName
+
+#endif
+
+-- method Widget::set_device_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to enable the device", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_device_enabled" gtk_widget_set_device_enabled :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    CInt ->                                 -- enabled : TBasicType TBoolean
+    IO ()
+
+{- |
+Enables or disables a 'GI.Gdk.Objects.Device.Device' to interact with /@widget@/
+and all its children.
+
+It does so by descending through the 'GI.Gdk.Objects.Window.Window' hierarchy
+and enabling the same mask that is has for core events
+(i.e. the one that 'GI.Gdk.Objects.Window.windowGetEvents' returns).
+
+/Since: 3.0/
+-}
+widgetSetDeviceEnabled ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> Bool
+    {- ^ /@enabled@/: whether to enable the device -}
+    -> m ()
+widgetSetDeviceEnabled widget device enabled = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    device' <- unsafeManagedPtrCastPtr device
+    let enabled' = (fromIntegral . fromEnum) enabled
+    gtk_widget_set_device_enabled widget' device' enabled'
+    touchManagedPtr widget
+    touchManagedPtr device
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetDeviceEnabledMethodInfo
+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsWidget a, Gdk.Device.IsDevice b) => O.MethodInfo WidgetSetDeviceEnabledMethodInfo a signature where
+    overloadedMethod _ = widgetSetDeviceEnabled
+
+#endif
+
+-- method Widget::set_device_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "events", argType = TInterface (Name {namespace = "Gdk", name = "EventMask"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "event mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_device_events" gtk_widget_set_device_events :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    CUInt ->                                -- events : TInterface (Name {namespace = "Gdk", name = "EventMask"})
+    IO ()
+
+{- |
+Sets the device event mask (see 'GI.Gdk.Flags.EventMask') for a widget. The event
+mask determines which events a widget will receive from /@device@/. Keep
+in mind that different widgets have different default event masks, and by
+changing the event mask you may disrupt a widget’s functionality,
+so be careful. This function must be called while a widget is
+unrealized. Consider 'GI.Gtk.Objects.Widget.widgetAddDeviceEvents' for widgets that are
+already realized, or if you want to preserve the existing event
+mask. This function can’t be used with windowless widgets (which return
+'False' from 'GI.Gtk.Objects.Widget.widgetGetHasWindow');
+to get events on those widgets, place them inside a 'GI.Gtk.Objects.EventBox.EventBox'
+and receive events on the event box.
+
+/Since: 3.0/
+-}
+widgetSetDeviceEvents ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> [Gdk.Flags.EventMask]
+    {- ^ /@events@/: event mask -}
+    -> m ()
+widgetSetDeviceEvents widget device events = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    device' <- unsafeManagedPtrCastPtr device
+    let events' = gflagsToWord events
+    gtk_widget_set_device_events widget' device' events'
+    touchManagedPtr widget
+    touchManagedPtr device
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetDeviceEventsMethodInfo
+instance (signature ~ (b -> [Gdk.Flags.EventMask] -> m ()), MonadIO m, IsWidget a, Gdk.Device.IsDevice b) => O.MethodInfo WidgetSetDeviceEventsMethodInfo a signature where
+    overloadedMethod _ = widgetSetDeviceEvents
+
+#endif
+
+-- method Widget::set_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dir", argType = TInterface (Name {namespace = "Gtk", name = "TextDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_direction" gtk_widget_set_direction :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- dir : TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+    IO ()
+
+{- |
+Sets the reading direction on a particular widget. This direction
+controls the primary direction for widgets containing text,
+and also the direction in which the children of a container are
+packed. The ability to set the direction is present in order
+so that correct localization into languages with right-to-left
+reading directions can be done. Generally, applications will
+let the default reading direction present, except for containers
+where the containers are arranged in an order that is explicitly
+visual rather than logical (such as buttons for text justification).
+
+If the direction is set to 'GI.Gtk.Enums.TextDirectionNone', then the value
+set by 'GI.Gtk.Objects.Widget.widgetSetDefaultDirection' will be used.
+-}
+widgetSetDirection ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.TextDirection
+    {- ^ /@dir@/: the new direction -}
+    -> m ()
+widgetSetDirection widget dir = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let dir' = (fromIntegral . fromEnum) dir
+    gtk_widget_set_direction widget' dir'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetDirectionMethodInfo
+instance (signature ~ (Gtk.Enums.TextDirection -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetDirectionMethodInfo a signature where
+    overloadedMethod _ = widgetSetDirection
+
+#endif
+
+-- method Widget::set_double_buffered
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "double_buffered", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to double-buffer a widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_double_buffered" gtk_widget_set_double_buffered :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- double_buffered : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED widgetSetDoubleBuffered ["(Since version 3.14)","This function does not work under non-X11 backends or with","non-native windows.","It should not be used in newly written code."] #-}
+{- |
+Widgets are double buffered by default; you can use this function
+to turn off the buffering. “Double buffered” simply means that
+'GI.Gdk.Objects.Window.windowBeginDrawFrame' and 'GI.Gdk.Objects.Window.windowEndDrawFrame' are called
+automatically around expose events sent to the
+widget. 'GI.Gdk.Objects.Window.windowBeginDrawFrame' diverts all drawing to a widget\'s
+window to an offscreen buffer, and 'GI.Gdk.Objects.Window.windowEndDrawFrame' draws the
+buffer to the screen. The result is that users see the window
+update in one smooth step, and don’t see individual graphics
+primitives being rendered.
+
+In very simple terms, double buffered widgets don’t flicker,
+so you would only use this function to turn off double buffering
+if you had special needs and really knew what you were doing.
+
+Note: if you turn off double-buffering, you have to handle
+expose events, since even the clearing to the background color or
+pixmap will not happen automatically (as it is done in
+'GI.Gdk.Objects.Window.windowBeginDrawFrame').
+
+In 3.10 GTK and GDK have been restructured for translucent drawing. Since
+then expose events for double-buffered widgets are culled into a single
+event to the toplevel GDK window. If you now unset double buffering, you
+will cause a separate rendering pass for every widget. This will likely
+cause rendering problems - in particular related to stacking - and usually
+increases rendering times significantly.
+-}
+widgetSetDoubleBuffered ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@doubleBuffered@/: 'True' to double-buffer a widget -}
+    -> m ()
+widgetSetDoubleBuffered widget doubleBuffered = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let doubleBuffered' = (fromIntegral . fromEnum) doubleBuffered
+    gtk_widget_set_double_buffered widget' doubleBuffered'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetDoubleBufferedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetDoubleBufferedMethodInfo a signature where
+    overloadedMethod _ = widgetSetDoubleBuffered
+
+#endif
+
+-- method Widget::set_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "events", argType = TInterface (Name {namespace = "Gdk", name = "EventMask"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "event mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_events" gtk_widget_set_events :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- events : TInterface (Name {namespace = "Gdk", name = "EventMask"})
+    IO ()
+
+{- |
+Sets the event mask (see 'GI.Gdk.Flags.EventMask') for a widget. The event
+mask determines which events a widget will receive. Keep in mind
+that different widgets have different default event masks, and by
+changing the event mask you may disrupt a widget’s functionality,
+so be careful. This function must be called while a widget is
+unrealized. Consider 'GI.Gtk.Objects.Widget.widgetAddEvents' for widgets that are
+already realized, or if you want to preserve the existing event
+mask. This function can’t be used with widgets that have no window.
+(See 'GI.Gtk.Objects.Widget.widgetGetHasWindow').  To get events on those widgets,
+place them inside a 'GI.Gtk.Objects.EventBox.EventBox' and receive events on the event
+box.
+-}
+widgetSetEvents ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> [Gdk.Flags.EventMask]
+    {- ^ /@events@/: event mask -}
+    -> m ()
+widgetSetEvents widget events = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let events' = gflagsToWord events
+    gtk_widget_set_events widget' events'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetEventsMethodInfo
+instance (signature ~ ([Gdk.Flags.EventMask] -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetEventsMethodInfo a signature where
+    overloadedMethod _ = widgetSetEvents
+
+#endif
+
+-- method Widget::set_focus_on_click
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus_on_click", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the widget should grab focus when clicked with the mouse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_focus_on_click" gtk_widget_set_focus_on_click :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- focus_on_click : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the widget should grab focus when it is clicked with the mouse.
+Making mouse clicks not grab focus is useful in places like toolbars where
+you don’t want the keyboard focus removed from the main area of the
+application.
+
+/Since: 3.20/
+-}
+widgetSetFocusOnClick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@focusOnClick@/: whether the widget should grab focus when clicked with the mouse -}
+    -> m ()
+widgetSetFocusOnClick widget focusOnClick = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let focusOnClick' = (fromIntegral . fromEnum) focusOnClick
+    gtk_widget_set_focus_on_click widget' focusOnClick'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetFocusOnClickMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetFocusOnClickMethodInfo a signature where
+    overloadedMethod _ = widgetSetFocusOnClick
+
+#endif
+
+-- method Widget::set_font_map
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_map", argType = TInterface (Name {namespace = "Pango", name = "FontMap"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #PangoFontMap, or %NULL to unset any previously\n    set font map", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_font_map" gtk_widget_set_font_map :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Pango.FontMap.FontMap ->            -- font_map : TInterface (Name {namespace = "Pango", name = "FontMap"})
+    IO ()
+
+{- |
+Sets the font map to use for Pango rendering. When not set, the widget
+will inherit the font map from its parent.
+
+/Since: 3.18/
+-}
+widgetSetFontMap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Pango.FontMap.IsFontMap b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (b)
+    {- ^ /@fontMap@/: a 'GI.Pango.Objects.FontMap.FontMap', or 'Nothing' to unset any previously
+    set font map -}
+    -> m ()
+widgetSetFontMap widget fontMap = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeFontMap <- case fontMap of
+        Nothing -> return nullPtr
+        Just jFontMap -> do
+            jFontMap' <- unsafeManagedPtrCastPtr jFontMap
+            return jFontMap'
+    gtk_widget_set_font_map widget' maybeFontMap
+    touchManagedPtr widget
+    whenJust fontMap touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetFontMapMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWidget a, Pango.FontMap.IsFontMap b) => O.MethodInfo WidgetSetFontMapMethodInfo a signature where
+    overloadedMethod _ = widgetSetFontMap
+
+#endif
+
+-- method Widget::set_font_options
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface (Name {namespace = "cairo", name = "FontOptions"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #cairo_font_options_t, or %NULL to unset any\n  previously set default font options.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_font_options" gtk_widget_set_font_options :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Cairo.FontOptions.FontOptions ->    -- options : TInterface (Name {namespace = "cairo", name = "FontOptions"})
+    IO ()
+
+{- |
+Sets the 'GI.Cairo.Structs.FontOptions.FontOptions' used for Pango rendering in this widget.
+When not set, the default font options for the 'GI.Gdk.Objects.Screen.Screen' will be used.
+
+/Since: 3.18/
+-}
+widgetSetFontOptions ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (Cairo.FontOptions.FontOptions)
+    {- ^ /@options@/: a 'GI.Cairo.Structs.FontOptions.FontOptions', or 'Nothing' to unset any
+  previously set default font options. -}
+    -> m ()
+widgetSetFontOptions widget options = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeOptions <- case options of
+        Nothing -> return nullPtr
+        Just jOptions -> do
+            jOptions' <- unsafeManagedPtrGetPtr jOptions
+            return jOptions'
+    gtk_widget_set_font_options widget' maybeOptions
+    touchManagedPtr widget
+    whenJust options touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetFontOptionsMethodInfo
+instance (signature ~ (Maybe (Cairo.FontOptions.FontOptions) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetFontOptionsMethodInfo a signature where
+    overloadedMethod _ = widgetSetFontOptions
+
+#endif
+
+-- method Widget::set_halign
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "align", argType = TInterface (Name {namespace = "Gtk", name = "Align"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the horizontal alignment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_halign" gtk_widget_set_halign :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- align : TInterface (Name {namespace = "Gtk", name = "Align"})
+    IO ()
+
+{- |
+Sets the horizontal alignment of /@widget@/.
+See the 'GI.Gtk.Objects.Widget.Widget':@/halign/@ property.
+-}
+widgetSetHalign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.Align
+    {- ^ /@align@/: the horizontal alignment -}
+    -> m ()
+widgetSetHalign widget align = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let align' = (fromIntegral . fromEnum) align
+    gtk_widget_set_halign widget' align'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetHalignMethodInfo
+instance (signature ~ (Gtk.Enums.Align -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetHalignMethodInfo a signature where
+    overloadedMethod _ = widgetSetHalign
+
+#endif
+
+-- method Widget::set_has_tooltip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_tooltip", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not @widget has a tooltip.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_has_tooltip" gtk_widget_set_has_tooltip :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- has_tooltip : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the has-tooltip property on /@widget@/ to /@hasTooltip@/.  See
+'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@ for more information.
+
+/Since: 2.12/
+-}
+widgetSetHasTooltip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@hasTooltip@/: whether or not /@widget@/ has a tooltip. -}
+    -> m ()
+widgetSetHasTooltip widget hasTooltip = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let hasTooltip' = (fromIntegral . fromEnum) hasTooltip
+    gtk_widget_set_has_tooltip widget' hasTooltip'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetHasTooltipMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetHasTooltipMethodInfo a signature where
+    overloadedMethod _ = widgetSetHasTooltip
+
+#endif
+
+-- method Widget::set_has_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_window", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not @widget has a window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_has_window" gtk_widget_set_has_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- has_window : TBasicType TBoolean
+    IO ()
+
+{- |
+Specifies whether /@widget@/ has a 'GI.Gdk.Objects.Window.Window' of its own. Note that
+all realized widgets have a non-'Nothing' “window” pointer
+('GI.Gtk.Objects.Widget.widgetGetWindow' never returns a 'Nothing' window when a widget
+is realized), but for many of them it’s actually the 'GI.Gdk.Objects.Window.Window' of
+one of its parent widgets. Widgets that do not create a @/window/@ for
+themselves in 'GI.Gtk.Objects.Widget.Widget'::@/realize/@ must announce this by
+calling this function with /@hasWindow@/ = 'False'.
+
+This function should only be called by widget implementations,
+and they should call it in their @/init()/@ function.
+
+/Since: 2.18/
+-}
+widgetSetHasWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@hasWindow@/: whether or not /@widget@/ has a window. -}
+    -> m ()
+widgetSetHasWindow widget hasWindow = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let hasWindow' = (fromIntegral . fromEnum) hasWindow
+    gtk_widget_set_has_window widget' hasWindow'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetHasWindowMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetHasWindowMethodInfo a signature where
+    overloadedMethod _ = widgetSetHasWindow
+
+#endif
+
+-- method Widget::set_hexpand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to expand", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_hexpand" gtk_widget_set_hexpand :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the widget would like any available extra horizontal
+space. When a user resizes a 'GI.Gtk.Objects.Window.Window', widgets with expand=TRUE
+generally receive the extra space. For example, a list or
+scrollable area or document in your window would often be set to
+expand.
+
+Call this function to set the expand flag if you would like your
+widget to become larger horizontally when the window has extra
+room.
+
+By default, widgets automatically expand if any of their children
+want to expand. (To see if a widget will automatically expand given
+its current children and state, call 'GI.Gtk.Objects.Widget.widgetComputeExpand'. A
+container can decide how the expandability of children affects the
+expansion of the container by overriding the compute_expand virtual
+method on 'GI.Gtk.Objects.Widget.Widget'.).
+
+Setting hexpand explicitly with this function will override the
+automatic expand behavior.
+
+This function forces the widget to expand or not to expand,
+regardless of children.  The override occurs because
+'GI.Gtk.Objects.Widget.widgetSetHexpand' sets the hexpand-set property (see
+'GI.Gtk.Objects.Widget.widgetSetHexpandSet') which causes the widget’s hexpand
+value to be used, rather than looking at children and widget state.
+-}
+widgetSetHexpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget -}
+    -> Bool
+    {- ^ /@expand@/: whether to expand -}
+    -> m ()
+widgetSetHexpand widget expand = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_widget_set_hexpand widget' expand'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetHexpandMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetHexpandMethodInfo a signature where
+    overloadedMethod _ = widgetSetHexpand
+
+#endif
+
+-- method Widget::set_hexpand_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "set", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value for hexpand-set property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_hexpand_set" gtk_widget_set_hexpand_set :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- set : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the hexpand flag (see 'GI.Gtk.Objects.Widget.widgetGetHexpand') will
+be used.
+
+The hexpand-set property will be set automatically when you call
+'GI.Gtk.Objects.Widget.widgetSetHexpand' to set hexpand, so the most likely
+reason to use this function would be to unset an explicit expand
+flag.
+
+If hexpand is set, then it overrides any computed
+expand value based on child widgets. If hexpand is not
+set, then the expand value depends on whether any
+children of the widget would like to expand.
+
+There are few reasons to use this function, but it’s here
+for completeness and consistency.
+-}
+widgetSetHexpandSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget -}
+    -> Bool
+    {- ^ /@set@/: value for hexpand-set property -}
+    -> m ()
+widgetSetHexpandSet widget set = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let set' = (fromIntegral . fromEnum) set
+    gtk_widget_set_hexpand_set widget' set'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetHexpandSetMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetHexpandSetMethodInfo a signature where
+    overloadedMethod _ = widgetSetHexpandSet
+
+#endif
+
+-- method Widget::set_mapped
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mapped", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to mark the widget as mapped", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_mapped" gtk_widget_set_mapped :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- mapped : TBasicType TBoolean
+    IO ()
+
+{- |
+Marks the widget as being mapped.
+
+This function should only ever be called in a derived widget\'s
+“map” or “unmap” implementation.
+
+/Since: 2.20/
+-}
+widgetSetMapped ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@mapped@/: 'True' to mark the widget as mapped -}
+    -> m ()
+widgetSetMapped widget mapped = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let mapped' = (fromIntegral . fromEnum) mapped
+    gtk_widget_set_mapped widget' mapped'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetMappedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetMappedMethodInfo a signature where
+    overloadedMethod _ = widgetSetMapped
+
+#endif
+
+-- method Widget::set_margin_bottom
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the bottom margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_margin_bottom" gtk_widget_set_margin_bottom :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- margin : TBasicType TInt
+    IO ()
+
+{- |
+Sets the bottom margin of /@widget@/.
+See the 'GI.Gtk.Objects.Widget.Widget':@/margin-bottom/@ property.
+
+/Since: 3.0/
+-}
+widgetSetMarginBottom ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@margin@/: the bottom margin -}
+    -> m ()
+widgetSetMarginBottom widget margin = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_set_margin_bottom widget' margin
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetMarginBottomMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetMarginBottomMethodInfo a signature where
+    overloadedMethod _ = widgetSetMarginBottom
+
+#endif
+
+-- method Widget::set_margin_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_margin_end" gtk_widget_set_margin_end :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- margin : TBasicType TInt
+    IO ()
+
+{- |
+Sets the end margin of /@widget@/.
+See the 'GI.Gtk.Objects.Widget.Widget':@/margin-end/@ property.
+
+/Since: 3.12/
+-}
+widgetSetMarginEnd ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@margin@/: the end margin -}
+    -> m ()
+widgetSetMarginEnd widget margin = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_set_margin_end widget' margin
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetMarginEndMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetMarginEndMethodInfo a signature where
+    overloadedMethod _ = widgetSetMarginEnd
+
+#endif
+
+-- method Widget::set_margin_left
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the left margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_margin_left" gtk_widget_set_margin_left :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- margin : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED widgetSetMarginLeft ["(Since version 3.12)","Use 'GI.Gtk.Objects.Widget.widgetSetMarginStart' instead."] #-}
+{- |
+Sets the left margin of /@widget@/.
+See the 'GI.Gtk.Objects.Widget.Widget':@/margin-left/@ property.
+
+/Since: 3.0/
+-}
+widgetSetMarginLeft ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@margin@/: the left margin -}
+    -> m ()
+widgetSetMarginLeft widget margin = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_set_margin_left widget' margin
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetMarginLeftMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetMarginLeftMethodInfo a signature where
+    overloadedMethod _ = widgetSetMarginLeft
+
+#endif
+
+-- method Widget::set_margin_right
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the right margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_margin_right" gtk_widget_set_margin_right :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- margin : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED widgetSetMarginRight ["(Since version 3.12)","Use 'GI.Gtk.Objects.Widget.widgetSetMarginEnd' instead."] #-}
+{- |
+Sets the right margin of /@widget@/.
+See the 'GI.Gtk.Objects.Widget.Widget':@/margin-right/@ property.
+
+/Since: 3.0/
+-}
+widgetSetMarginRight ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@margin@/: the right margin -}
+    -> m ()
+widgetSetMarginRight widget margin = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_set_margin_right widget' margin
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetMarginRightMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetMarginRightMethodInfo a signature where
+    overloadedMethod _ = widgetSetMarginRight
+
+#endif
+
+-- method Widget::set_margin_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_margin_start" gtk_widget_set_margin_start :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- margin : TBasicType TInt
+    IO ()
+
+{- |
+Sets the start margin of /@widget@/.
+See the 'GI.Gtk.Objects.Widget.Widget':@/margin-start/@ property.
+
+/Since: 3.12/
+-}
+widgetSetMarginStart ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@margin@/: the start margin -}
+    -> m ()
+widgetSetMarginStart widget margin = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_set_margin_start widget' margin
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetMarginStartMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetMarginStartMethodInfo a signature where
+    overloadedMethod _ = widgetSetMarginStart
+
+#endif
+
+-- method Widget::set_margin_top
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "margin", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the top margin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_margin_top" gtk_widget_set_margin_top :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- margin : TBasicType TInt
+    IO ()
+
+{- |
+Sets the top margin of /@widget@/.
+See the 'GI.Gtk.Objects.Widget.Widget':@/margin-top/@ property.
+
+/Since: 3.0/
+-}
+widgetSetMarginTop ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@margin@/: the top margin -}
+    -> m ()
+widgetSetMarginTop widget margin = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_set_margin_top widget' margin
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetMarginTopMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetMarginTopMethodInfo a signature where
+    overloadedMethod _ = widgetSetMarginTop
+
+#endif
+
+-- method Widget::set_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name for the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_name" gtk_widget_set_name :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Widgets can be named, which allows you to refer to them from a
+CSS file. You can apply a style to widgets with a particular name
+in the CSS file. See the documentation for the CSS syntax (on the
+same page as the docs for 'GI.Gtk.Objects.StyleContext.StyleContext').
+
+Note that the CSS syntax has certain special characters to delimit
+and represent elements in a selector (period, #, >, *...), so using
+these will make your widget impossible to match by name. Any combination
+of alphanumeric symbols, dashes and underscores will suffice.
+-}
+widgetSetName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@name@/: name for the widget -}
+    -> m ()
+widgetSetName widget name = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    name' <- textToCString name
+    gtk_widget_set_name widget' name'
+    touchManagedPtr widget
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetNameMethodInfo a signature where
+    overloadedMethod _ = widgetSetName
+
+#endif
+
+-- method Widget::set_no_show_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "no_show_all", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for the \8220no-show-all\8221 property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_no_show_all" gtk_widget_set_no_show_all :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- no_show_all : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Widget.Widget':@/no-show-all/@ property, which determines whether
+calls to 'GI.Gtk.Objects.Widget.widgetShowAll' will affect this widget.
+
+This is mostly for use in constructing widget hierarchies with externally
+controlled visibility, see 'GI.Gtk.Objects.UIManager.UIManager'.
+
+/Since: 2.4/
+-}
+widgetSetNoShowAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@noShowAll@/: the new value for the “no-show-all” property -}
+    -> m ()
+widgetSetNoShowAll widget noShowAll = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let noShowAll' = (fromIntegral . fromEnum) noShowAll
+    gtk_widget_set_no_show_all widget' noShowAll'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetNoShowAllMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetNoShowAllMethodInfo a signature where
+    overloadedMethod _ = widgetSetNoShowAll
+
+#endif
+
+-- method Widget::set_opacity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "opacity", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired opacity, between 0 and 1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_opacity" gtk_widget_set_opacity :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CDouble ->                              -- opacity : TBasicType TDouble
+    IO ()
+
+{- |
+Request the /@widget@/ to be rendered partially transparent,
+with opacity 0 being fully transparent and 1 fully opaque. (Opacity values
+are clamped to the [0,1] range.).
+This works on both toplevel widget, and child widgets, although there
+are some limitations:
+
+For toplevel widgets this depends on the capabilities of the windowing
+system. On X11 this has any effect only on X screens with a compositing manager
+running. See 'GI.Gtk.Objects.Widget.widgetIsComposited'. On Windows it should work
+always, although setting a window’s opacity after the window has been
+shown causes it to flicker once on Windows.
+
+For child widgets it doesn’t work if any affected widget has a native window, or
+disables double buffering.
+
+/Since: 3.8/
+-}
+widgetSetOpacity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Double
+    {- ^ /@opacity@/: desired opacity, between 0 and 1 -}
+    -> m ()
+widgetSetOpacity widget opacity = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let opacity' = realToFrac opacity
+    gtk_widget_set_opacity widget' opacity'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetOpacityMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetOpacityMethodInfo a signature where
+    overloadedMethod _ = widgetSetOpacity
+
+#endif
+
+-- method Widget::set_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "parent container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_parent" gtk_widget_set_parent :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Widget ->                           -- parent : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+This function is useful only when implementing subclasses of
+'GI.Gtk.Objects.Container.Container'.
+Sets the container as the parent of /@widget@/, and takes care of
+some details such as updating the state and style of the child
+to reflect its new location. The opposite function is
+'GI.Gtk.Objects.Widget.widgetUnparent'.
+-}
+widgetSetParent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, IsWidget b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@parent@/: parent container -}
+    -> m ()
+widgetSetParent widget parent = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    parent' <- unsafeManagedPtrCastPtr parent
+    gtk_widget_set_parent widget' parent'
+    touchManagedPtr widget
+    touchManagedPtr parent
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetParentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, IsWidget b) => O.MethodInfo WidgetSetParentMethodInfo a signature where
+    overloadedMethod _ = widgetSetParent
+
+#endif
+
+-- method Widget::set_parent_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new parent window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_parent_window" gtk_widget_set_parent_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Window.Window ->                -- parent_window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO ()
+
+{- |
+Sets a non default parent window for /@widget@/.
+
+For 'GI.Gtk.Objects.Window.Window' classes, setting a /@parentWindow@/ effects whether
+the window is a toplevel window or can be embedded into other
+widgets.
+
+For 'GI.Gtk.Objects.Window.Window' classes, this needs to be called before the
+window is realized.
+-}
+widgetSetParentWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget'. -}
+    -> b
+    {- ^ /@parentWindow@/: the new parent window. -}
+    -> m ()
+widgetSetParentWindow widget parentWindow = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    parentWindow' <- unsafeManagedPtrCastPtr parentWindow
+    gtk_widget_set_parent_window widget' parentWindow'
+    touchManagedPtr widget
+    touchManagedPtr parentWindow
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetParentWindowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, Gdk.Window.IsWindow b) => O.MethodInfo WidgetSetParentWindowMethodInfo a signature where
+    overloadedMethod _ = widgetSetParentWindow
+
+#endif
+
+-- method Widget::set_realized
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "realized", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to mark the widget as realized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_realized" gtk_widget_set_realized :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- realized : TBasicType TBoolean
+    IO ()
+
+{- |
+Marks the widget as being realized. This function must only be
+called after all @/GdkWindows/@ for the /@widget@/ have been created
+and registered.
+
+This function should only ever be called in a derived widget\'s
+“realize” or “unrealize” implementation.
+
+/Since: 2.20/
+-}
+widgetSetRealized ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@realized@/: 'True' to mark the widget as realized -}
+    -> m ()
+widgetSetRealized widget realized = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let realized' = (fromIntegral . fromEnum) realized
+    gtk_widget_set_realized widget' realized'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetRealizedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetRealizedMethodInfo a signature where
+    overloadedMethod _ = widgetSetRealized
+
+#endif
+
+-- method Widget::set_receives_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "receives_default", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not @widget can be a default widget.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_receives_default" gtk_widget_set_receives_default :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- receives_default : TBasicType TBoolean
+    IO ()
+
+{- |
+Specifies whether /@widget@/ will be treated as the default widget
+within its toplevel when it has the focus, even if another widget
+is the default.
+
+See 'GI.Gtk.Objects.Widget.widgetGrabDefault' for details about the meaning of
+“default”.
+
+/Since: 2.18/
+-}
+widgetSetReceivesDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@receivesDefault@/: whether or not /@widget@/ can be a default widget. -}
+    -> m ()
+widgetSetReceivesDefault widget receivesDefault = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let receivesDefault' = (fromIntegral . fromEnum) receivesDefault
+    gtk_widget_set_receives_default widget' receivesDefault'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetReceivesDefaultMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetReceivesDefaultMethodInfo a signature where
+    overloadedMethod _ = widgetSetReceivesDefault
+
+#endif
+
+-- method Widget::set_redraw_on_allocate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "redraw_on_allocate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, the entire widget will be redrawn\n  when it is allocated to a new size. Otherwise, only the\n  new portion of the widget will be redrawn.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_redraw_on_allocate" gtk_widget_set_redraw_on_allocate :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- redraw_on_allocate : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the entire widget is queued for drawing when its size
+allocation changes. By default, this setting is 'True' and
+the entire widget is redrawn on every size change. If your widget
+leaves the upper left unchanged when made bigger, turning this
+setting off will improve performance.
+
+Note that for widgets where 'GI.Gtk.Objects.Widget.widgetGetHasWindow' is 'False'
+setting this flag to 'False' turns off all allocation on resizing:
+the widget will not even redraw if its position changes; this is to
+allow containers that don’t draw anything to avoid excess
+invalidations. If you set this flag on a widget with no window that
+does draw on /@widget@/->window, you are
+responsible for invalidating both the old and new allocation of the
+widget when the widget is moved and responsible for invalidating
+regions newly when the widget increases size.
+-}
+widgetSetRedrawOnAllocate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@redrawOnAllocate@/: if 'True', the entire widget will be redrawn
+  when it is allocated to a new size. Otherwise, only the
+  new portion of the widget will be redrawn. -}
+    -> m ()
+widgetSetRedrawOnAllocate widget redrawOnAllocate = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let redrawOnAllocate' = (fromIntegral . fromEnum) redrawOnAllocate
+    gtk_widget_set_redraw_on_allocate widget' redrawOnAllocate'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetRedrawOnAllocateMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetRedrawOnAllocateMethodInfo a signature where
+    overloadedMethod _ = widgetSetRedrawOnAllocate
+
+#endif
+
+-- method Widget::set_sensitive
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to make the widget sensitive", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_sensitive" gtk_widget_set_sensitive :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- sensitive : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the sensitivity of a widget. A widget is sensitive if the user
+can interact with it. Insensitive widgets are “grayed out” and the
+user can’t interact with them. Insensitive widgets are known as
+“inactive”, “disabled”, or “ghosted” in some other toolkits.
+-}
+widgetSetSensitive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@sensitive@/: 'True' to make the widget sensitive -}
+    -> m ()
+widgetSetSensitive widget sensitive = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let sensitive' = (fromIntegral . fromEnum) sensitive
+    gtk_widget_set_sensitive widget' sensitive'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetSensitiveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetSensitiveMethodInfo a signature where
+    overloadedMethod _ = widgetSetSensitive
+
+#endif
+
+-- method Widget::set_size_request
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width @widget should request, or -1 to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height @widget should request, or -1 to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_size_request" gtk_widget_set_size_request :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Sets the minimum size of a widget; that is, the widget’s size
+request will be at least /@width@/ by /@height@/. You can use this
+function to force a widget to be larger than it normally would be.
+
+In most cases, 'GI.Gtk.Objects.Window.windowSetDefaultSize' is a better choice for
+toplevel windows than this function; setting the default size will
+still allow users to shrink the window. Setting the size request
+will force them to leave the window at least as large as the size
+request. When dealing with window sizes,
+'GI.Gtk.Objects.Window.windowSetGeometryHints' can be a useful function as well.
+
+Note the inherent danger of setting any fixed size - themes,
+translations into other languages, different fonts, and user action
+can all change the appropriate size for a given widget. So, it\'s
+basically impossible to hardcode a size that will always be
+correct.
+
+The size request of a widget is the smallest size a widget can
+accept while still functioning well and drawing itself correctly.
+However in some strange cases a widget may be allocated less than
+its requested size, and in many cases a widget may be allocated more
+space than it requested.
+
+If the size request in a given direction is -1 (unset), then
+the “natural” size request of the widget will be used instead.
+
+The size request set here does not include any margin from the
+'GI.Gtk.Objects.Widget.Widget' properties margin-left, margin-right, margin-top, and
+margin-bottom, but it does include pretty much all other padding
+or border properties set by any subclass of 'GI.Gtk.Objects.Widget.Widget'.
+-}
+widgetSetSizeRequest ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@width@/: width /@widget@/ should request, or -1 to unset -}
+    -> Int32
+    {- ^ /@height@/: height /@widget@/ should request, or -1 to unset -}
+    -> m ()
+widgetSetSizeRequest widget width height = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_set_size_request widget' width height
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetSizeRequestMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetSizeRequestMethodInfo a signature where
+    overloadedMethod _ = widgetSetSizeRequest
+
+#endif
+
+-- method Widget::set_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new state for @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_state" gtk_widget_set_state :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    IO ()
+
+{-# DEPRECATED widgetSetState ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetSetStateFlags' instead."] #-}
+{- |
+This function is for use in widget implementations. Sets the state
+of a widget (insensitive, prelighted, etc.) Usually you should set
+the state using wrapper functions such as 'GI.Gtk.Objects.Widget.widgetSetSensitive'.
+-}
+widgetSetState ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: new state for /@widget@/ -}
+    -> m ()
+widgetSetState widget state = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let state' = (fromIntegral . fromEnum) state
+    gtk_widget_set_state widget' state'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetStateMethodInfo
+instance (signature ~ (Gtk.Enums.StateType -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetStateMethodInfo a signature where
+    overloadedMethod _ = widgetSetState
+
+#endif
+
+-- method Widget::set_state_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "State flags to turn on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clear", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether to clear state before turning on @flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_state_flags" gtk_widget_set_state_flags :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    CInt ->                                 -- clear : TBasicType TBoolean
+    IO ()
+
+{- |
+This function is for use in widget implementations. Turns on flag
+values in the current widget state (insensitive, prelighted, etc.).
+
+This function accepts the values 'GI.Gtk.Flags.StateFlagsDirLtr' and
+'GI.Gtk.Flags.StateFlagsDirRtl' but ignores them. If you want to set the widget\'s
+direction, use 'GI.Gtk.Objects.Widget.widgetSetDirection'.
+
+It is worth mentioning that any other state than 'GI.Gtk.Flags.StateFlagsInsensitive',
+will be propagated down to all non-internal children if /@widget@/ is a
+'GI.Gtk.Objects.Container.Container', while 'GI.Gtk.Flags.StateFlagsInsensitive' itself will be propagated
+down to all 'GI.Gtk.Objects.Container.Container' children by different means than turning on the
+state flag down the hierarchy, both 'GI.Gtk.Objects.Widget.widgetGetStateFlags' and
+'GI.Gtk.Objects.Widget.widgetIsSensitive' will make use of these.
+
+/Since: 3.0/
+-}
+widgetSetStateFlags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@flags@/: State flags to turn on -}
+    -> Bool
+    {- ^ /@clear@/: Whether to clear state before turning on /@flags@/ -}
+    -> m ()
+widgetSetStateFlags widget flags clear = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let flags' = gflagsToWord flags
+    let clear' = (fromIntegral . fromEnum) clear
+    gtk_widget_set_state_flags widget' flags' clear'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetStateFlagsMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetStateFlagsMethodInfo a signature where
+    overloadedMethod _ = widgetSetStateFlags
+
+#endif
+
+-- method Widget::set_style
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkStyle, or %NULL to remove the effect\n    of a previous call to gtk_widget_set_style() and go back to\n    the default style", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_style" gtk_widget_set_style :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    IO ()
+
+{-# DEPRECATED widgetSetStyle ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead"] #-}
+{- |
+Used to set the 'GI.Gtk.Objects.Style.Style' for a widget (/@widget@/->style). Since
+GTK 3, this function does nothing, the passed in style is ignored.
+-}
+widgetSetStyle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gtk.Style.IsStyle b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (b)
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style', or 'Nothing' to remove the effect
+    of a previous call to 'GI.Gtk.Objects.Widget.widgetSetStyle' and go back to
+    the default style -}
+    -> m ()
+widgetSetStyle widget style = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeStyle <- case style of
+        Nothing -> return nullPtr
+        Just jStyle -> do
+            jStyle' <- unsafeManagedPtrCastPtr jStyle
+            return jStyle'
+    gtk_widget_set_style widget' maybeStyle
+    touchManagedPtr widget
+    whenJust style touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetStyleMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWidget a, Gtk.Style.IsStyle b) => O.MethodInfo WidgetSetStyleMethodInfo a signature where
+    overloadedMethod _ = widgetSetStyle
+
+#endif
+
+-- method Widget::set_support_multidevice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "support_multidevice", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to support input from multiple devices.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_support_multidevice" gtk_widget_set_support_multidevice :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- support_multidevice : TBasicType TBoolean
+    IO ()
+
+{- |
+Enables or disables multiple pointer awareness. If this setting is 'True',
+/@widget@/ will start receiving multiple, per device enter\/leave events. Note
+that if custom @/GdkWindows/@ are created in 'GI.Gtk.Objects.Widget.Widget'::@/realize/@,
+'GI.Gdk.Objects.Window.windowSetSupportMultidevice' will have to be called manually on them.
+
+/Since: 3.0/
+-}
+widgetSetSupportMultidevice ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@supportMultidevice@/: 'True' to support input from multiple devices. -}
+    -> m ()
+widgetSetSupportMultidevice widget supportMultidevice = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let supportMultidevice' = (fromIntegral . fromEnum) supportMultidevice
+    gtk_widget_set_support_multidevice widget' supportMultidevice'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetSupportMultideviceMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetSupportMultideviceMethodInfo a signature where
+    overloadedMethod _ = widgetSetSupportMultidevice
+
+#endif
+
+-- method Widget::set_tooltip_markup
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the contents of the tooltip for @widget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_tooltip_markup" gtk_widget_set_tooltip_markup :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- markup : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets /@markup@/ as the contents of the tooltip, which is marked up with
+ the [Pango text markup language][PangoMarkupFormat].
+
+This function will take care of setting 'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@ to 'True'
+and of the default handler for the 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ signal.
+
+See also the 'GI.Gtk.Objects.Widget.Widget':@/tooltip-markup/@ property and
+'GI.Gtk.Objects.Tooltip.tooltipSetMarkup'.
+
+/Since: 2.12/
+-}
+widgetSetTooltipMarkup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (T.Text)
+    {- ^ /@markup@/: the contents of the tooltip for /@widget@/, or 'Nothing' -}
+    -> m ()
+widgetSetTooltipMarkup widget markup = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeMarkup <- case markup of
+        Nothing -> return nullPtr
+        Just jMarkup -> do
+            jMarkup' <- textToCString jMarkup
+            return jMarkup'
+    gtk_widget_set_tooltip_markup widget' maybeMarkup
+    touchManagedPtr widget
+    freeMem maybeMarkup
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetTooltipMarkupMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetTooltipMarkupMethodInfo a signature where
+    overloadedMethod _ = widgetSetTooltipMarkup
+
+#endif
+
+-- method Widget::set_tooltip_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the contents of the tooltip for @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_tooltip_text" gtk_widget_set_tooltip_text :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- text : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets /@text@/ as the contents of the tooltip. This function will take
+care of setting 'GI.Gtk.Objects.Widget.Widget':@/has-tooltip/@ to 'True' and of the default
+handler for the 'GI.Gtk.Objects.Widget.Widget'::@/query-tooltip/@ signal.
+
+See also the 'GI.Gtk.Objects.Widget.Widget':@/tooltip-text/@ property and 'GI.Gtk.Objects.Tooltip.tooltipSetText'.
+
+/Since: 2.12/
+-}
+widgetSetTooltipText ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (T.Text)
+    {- ^ /@text@/: the contents of the tooltip for /@widget@/ -}
+    -> m ()
+widgetSetTooltipText widget text = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeText <- case text of
+        Nothing -> return nullPtr
+        Just jText -> do
+            jText' <- textToCString jText
+            return jText'
+    gtk_widget_set_tooltip_text widget' maybeText
+    touchManagedPtr widget
+    freeMem maybeText
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetTooltipTextMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetTooltipTextMethodInfo a signature where
+    overloadedMethod _ = widgetSetTooltipText
+
+#endif
+
+-- method Widget::set_tooltip_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "custom_window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWindow, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_tooltip_window" gtk_widget_set_tooltip_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Window.Window ->                -- custom_window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Replaces the default window used for displaying
+tooltips with /@customWindow@/. GTK+ will take care of showing and
+hiding /@customWindow@/ at the right moment, to behave likewise as
+the default tooltip window. If /@customWindow@/ is 'Nothing', the default
+tooltip window will be used.
+
+/Since: 2.12/
+-}
+widgetSetTooltipWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gtk.Window.IsWindow b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (b)
+    {- ^ /@customWindow@/: a 'GI.Gtk.Objects.Window.Window', or 'Nothing' -}
+    -> m ()
+widgetSetTooltipWindow widget customWindow = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeCustomWindow <- case customWindow of
+        Nothing -> return nullPtr
+        Just jCustomWindow -> do
+            jCustomWindow' <- unsafeManagedPtrCastPtr jCustomWindow
+            return jCustomWindow'
+    gtk_widget_set_tooltip_window widget' maybeCustomWindow
+    touchManagedPtr widget
+    whenJust customWindow touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetTooltipWindowMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWidget a, Gtk.Window.IsWindow b) => O.MethodInfo WidgetSetTooltipWindowMethodInfo a signature where
+    overloadedMethod _ = widgetSetTooltipWindow
+
+#endif
+
+-- method Widget::set_valign
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "align", argType = TInterface (Name {namespace = "Gtk", name = "Align"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the vertical alignment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_valign" gtk_widget_set_valign :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- align : TInterface (Name {namespace = "Gtk", name = "Align"})
+    IO ()
+
+{- |
+Sets the vertical alignment of /@widget@/.
+See the 'GI.Gtk.Objects.Widget.Widget':@/valign/@ property.
+-}
+widgetSetValign ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gtk.Enums.Align
+    {- ^ /@align@/: the vertical alignment -}
+    -> m ()
+widgetSetValign widget align = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let align' = (fromIntegral . fromEnum) align
+    gtk_widget_set_valign widget' align'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetValignMethodInfo
+instance (signature ~ (Gtk.Enums.Align -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetValignMethodInfo a signature where
+    overloadedMethod _ = widgetSetValign
+
+#endif
+
+-- method Widget::set_vexpand
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expand", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to expand", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_vexpand" gtk_widget_set_vexpand :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- expand : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the widget would like any available extra vertical
+space.
+
+See 'GI.Gtk.Objects.Widget.widgetSetHexpand' for more detail.
+-}
+widgetSetVexpand ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget -}
+    -> Bool
+    {- ^ /@expand@/: whether to expand -}
+    -> m ()
+widgetSetVexpand widget expand = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let expand' = (fromIntegral . fromEnum) expand
+    gtk_widget_set_vexpand widget' expand'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetVexpandMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetVexpandMethodInfo a signature where
+    overloadedMethod _ = widgetSetVexpand
+
+#endif
+
+-- method Widget::set_vexpand_set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "set", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value for vexpand-set property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_vexpand_set" gtk_widget_set_vexpand_set :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- set : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the vexpand flag (see 'GI.Gtk.Objects.Widget.widgetGetVexpand') will
+be used.
+
+See 'GI.Gtk.Objects.Widget.widgetSetHexpandSet' for more detail.
+-}
+widgetSetVexpandSet ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: the widget -}
+    -> Bool
+    {- ^ /@set@/: value for vexpand-set property -}
+    -> m ()
+widgetSetVexpandSet widget set = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let set' = (fromIntegral . fromEnum) set
+    gtk_widget_set_vexpand_set widget' set'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetVexpandSetMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetVexpandSetMethodInfo a signature where
+    overloadedMethod _ = widgetSetVexpandSet
+
+#endif
+
+-- method Widget::set_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the widget should be shown or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_visible" gtk_widget_set_visible :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CInt ->                                 -- visible : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the visibility state of /@widget@/. Note that setting this to
+'True' doesn’t mean the widget is actually viewable, see
+'GI.Gtk.Objects.Widget.widgetGetVisible'.
+
+This function simply calls 'GI.Gtk.Objects.Widget.widgetShow' or 'GI.Gtk.Objects.Widget.widgetHide'
+but is nicer to use when the visibility of the widget depends on
+some condition.
+
+/Since: 2.18/
+-}
+widgetSetVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Bool
+    {- ^ /@visible@/: whether the widget should be shown or not -}
+    -> m ()
+widgetSetVisible widget visible = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let visible' = (fromIntegral . fromEnum) visible
+    gtk_widget_set_visible widget' visible'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSetVisibleMethodInfo a signature where
+    overloadedMethod _ = widgetSetVisible
+
+#endif
+
+-- method Widget::set_visual
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visual", argType = TInterface (Name {namespace = "Gdk", name = "Visual"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "visual to be used or %NULL to unset a previous one", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_visual" gtk_widget_set_visual :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Visual.Visual ->                -- visual : TInterface (Name {namespace = "Gdk", name = "Visual"})
+    IO ()
+
+{- |
+Sets the visual that should be used for by widget and its children for
+creating @/GdkWindows/@. The visual must be on the same 'GI.Gdk.Objects.Screen.Screen' as
+returned by 'GI.Gtk.Objects.Widget.widgetGetScreen', so handling the
+'GI.Gtk.Objects.Widget.Widget'::@/screen-changed/@ signal is necessary.
+
+Setting a new /@visual@/ will not cause /@widget@/ to recreate its windows,
+so you should call this function before /@widget@/ is realized.
+-}
+widgetSetVisual ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Visual.IsVisual b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (b)
+    {- ^ /@visual@/: visual to be used or 'Nothing' to unset a previous one -}
+    -> m ()
+widgetSetVisual widget visual = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeVisual <- case visual of
+        Nothing -> return nullPtr
+        Just jVisual -> do
+            jVisual' <- unsafeManagedPtrCastPtr jVisual
+            return jVisual'
+    gtk_widget_set_visual widget' maybeVisual
+    touchManagedPtr widget
+    whenJust visual touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetVisualMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWidget a, Gdk.Visual.IsVisual b) => O.MethodInfo WidgetSetVisualMethodInfo a signature where
+    overloadedMethod _ = widgetSetVisual
+
+#endif
+
+-- method Widget::set_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_window" gtk_widget_set_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO ()
+
+{- |
+Sets a widget’s window. This function should only be used in a
+widget’s 'GI.Gtk.Objects.Widget.Widget'::@/realize/@ implementation. The @/window/@ passed is
+usually either new window created with 'GI.Gdk.Objects.Window.windowNew', or the
+window of its parent widget as returned by
+'GI.Gtk.Objects.Widget.widgetGetParentWindow'.
+
+Widgets must indicate whether they will create their own 'GI.Gdk.Objects.Window.Window'
+by calling 'GI.Gtk.Objects.Widget.widgetSetHasWindow'. This is usually done in the
+widget’s @/init()/@ function.
+
+Note that this function does not add any reference to /@window@/.
+
+/Since: 2.18/
+-}
+widgetSetWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}
+    -> m ()
+widgetSetWindow widget window = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    window' <- B.ManagedPtr.disownObject window
+    gtk_widget_set_window widget' window'
+    touchManagedPtr widget
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSetWindowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, Gdk.Window.IsWindow b) => O.MethodInfo WidgetSetWindowMethodInfo a signature where
+    overloadedMethod _ = widgetSetWindow
+
+#endif
+
+-- method Widget::shape_combine_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region", argType = TInterface (Name {namespace = "cairo", name = "Region"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "shape to be added, or %NULL to remove an existing shape", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_shape_combine_region" gtk_widget_shape_combine_region :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Cairo.Region.Region ->              -- region : TInterface (Name {namespace = "cairo", name = "Region"})
+    IO ()
+
+{- |
+Sets a shape for this widget’s GDK window. This allows for
+transparent windows etc., see 'GI.Gdk.Objects.Window.windowShapeCombineRegion'
+for more information.
+
+/Since: 3.0/
+-}
+widgetShapeCombineRegion ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Maybe (Cairo.Region.Region)
+    {- ^ /@region@/: shape to be added, or 'Nothing' to remove an existing shape -}
+    -> m ()
+widgetShapeCombineRegion widget region = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    maybeRegion <- case region of
+        Nothing -> return nullPtr
+        Just jRegion -> do
+            jRegion' <- unsafeManagedPtrGetPtr jRegion
+            return jRegion'
+    gtk_widget_shape_combine_region widget' maybeRegion
+    touchManagedPtr widget
+    whenJust region touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetShapeCombineRegionMethodInfo
+instance (signature ~ (Maybe (Cairo.Region.Region) -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetShapeCombineRegionMethodInfo a signature where
+    overloadedMethod _ = widgetShapeCombineRegion
+
+#endif
+
+-- method Widget::show
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_show" gtk_widget_show :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Flags a widget to be displayed. Any widget that isn’t shown will
+not appear on the screen. If you want to show all the widgets in a
+container, it’s easier to call 'GI.Gtk.Objects.Widget.widgetShowAll' on the
+container, instead of individually showing the widgets.
+
+Remember that you have to show the containers containing a widget,
+in addition to the widget itself, before it will appear onscreen.
+
+When a toplevel container is shown, it is immediately realized and
+mapped; other shown widgets are realized and mapped when their
+toplevel container is realized and mapped.
+-}
+widgetShow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetShow widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_show widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetShowMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetShowMethodInfo a signature where
+    overloadedMethod _ = widgetShow
+
+#endif
+
+-- method Widget::show_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_show_all" gtk_widget_show_all :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Recursively shows a widget, and any child widgets (if the widget is
+a container).
+-}
+widgetShowAll ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetShowAll widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_show_all widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetShowAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetShowAllMethodInfo a signature where
+    overloadedMethod _ = widgetShowAll
+
+#endif
+
+-- method Widget::show_now
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_show_now" gtk_widget_show_now :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Shows a widget. If the widget is an unmapped toplevel widget
+(i.e. a 'GI.Gtk.Objects.Window.Window' that has not yet been shown), enter the main
+loop and wait for the window to actually be mapped. Be careful;
+because the main loop is running, anything can happen during
+this function.
+-}
+widgetShowNow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetShowNow widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_show_now widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetShowNowMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetShowNowMethodInfo a signature where
+    overloadedMethod _ = widgetShowNow
+
+#endif
+
+-- method Widget::size_allocate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocation", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position and size to be allocated to @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_size_allocate" gtk_widget_size_allocate :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- allocation : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO ()
+
+{- |
+This function is only used by 'GI.Gtk.Objects.Container.Container' subclasses, to assign a size
+and position to their child widgets.
+
+In this function, the allocation may be adjusted. It will be forced
+to a 1x1 minimum size, and the adjust_size_allocation virtual
+method on the child will be used to adjust the allocation. Standard
+adjustments include removing the widget’s margins, and applying the
+widget’s 'GI.Gtk.Objects.Widget.Widget':@/halign/@ and 'GI.Gtk.Objects.Widget.Widget':@/valign/@ properties.
+
+For baseline support in containers you need to use 'GI.Gtk.Objects.Widget.widgetSizeAllocateWithBaseline'
+instead.
+-}
+widgetSizeAllocate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@allocation@/: position and size to be allocated to /@widget@/ -}
+    -> m ()
+widgetSizeAllocate widget allocation = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    allocation' <- unsafeManagedPtrGetPtr allocation
+    gtk_widget_size_allocate widget' allocation'
+    touchManagedPtr widget
+    touchManagedPtr allocation
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSizeAllocateMethodInfo
+instance (signature ~ (Gdk.Rectangle.Rectangle -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSizeAllocateMethodInfo a signature where
+    overloadedMethod _ = widgetSizeAllocate
+
+#endif
+
+-- method Widget::size_allocate_with_baseline
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocation", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position and size to be allocated to @widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "baseline", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The baseline of the child, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_size_allocate_with_baseline" gtk_widget_size_allocate_with_baseline :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- allocation : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    Int32 ->                                -- baseline : TBasicType TInt
+    IO ()
+
+{- |
+This function is only used by 'GI.Gtk.Objects.Container.Container' subclasses, to assign a size,
+position and (optionally) baseline to their child widgets.
+
+In this function, the allocation and baseline may be adjusted. It
+will be forced to a 1x1 minimum size, and the
+adjust_size_allocation virtual and adjust_baseline_allocation
+methods on the child will be used to adjust the allocation and
+baseline. Standard adjustments include removing the widget\'s
+margins, and applying the widget’s 'GI.Gtk.Objects.Widget.Widget':@/halign/@ and
+'GI.Gtk.Objects.Widget.Widget':@/valign/@ properties.
+
+If the child widget does not have a valign of 'GI.Gtk.Enums.AlignBaseline' the
+baseline argument is ignored and -1 is used instead.
+
+/Since: 3.10/
+-}
+widgetSizeAllocateWithBaseline ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Gdk.Rectangle.Rectangle
+    {- ^ /@allocation@/: position and size to be allocated to /@widget@/ -}
+    -> Int32
+    {- ^ /@baseline@/: The baseline of the child, or -1 -}
+    -> m ()
+widgetSizeAllocateWithBaseline widget allocation baseline = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    allocation' <- unsafeManagedPtrGetPtr allocation
+    gtk_widget_size_allocate_with_baseline widget' allocation' baseline
+    touchManagedPtr widget
+    touchManagedPtr allocation
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetSizeAllocateWithBaselineMethodInfo
+instance (signature ~ (Gdk.Rectangle.Rectangle -> Int32 -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetSizeAllocateWithBaselineMethodInfo a signature where
+    overloadedMethod _ = widgetSizeAllocateWithBaseline
+
+#endif
+
+-- method Widget::size_request
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "requisition", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRequisition to be filled in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_size_request" gtk_widget_size_request :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gtk.Requisition.Requisition ->      -- requisition : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    IO ()
+
+{-# DEPRECATED widgetSizeRequest ["(Since version 3.0)","Use 'GI.Gtk.Objects.Widget.widgetGetPreferredSize' instead."] #-}
+{- |
+This function is typically used when implementing a 'GI.Gtk.Objects.Container.Container'
+subclass.  Obtains the preferred size of a widget. The container
+uses this information to arrange its child widgets and decide what
+size allocations to give them with 'GI.Gtk.Objects.Widget.widgetSizeAllocate'.
+
+You can also call this function from an application, with some
+caveats. Most notably, getting a size request requires the widget
+to be associated with a screen, because font information may be
+needed. Multihead-aware applications should keep this in mind.
+
+Also remember that the size request is not necessarily the size
+a widget will actually be allocated.
+-}
+widgetSizeRequest ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m (Gtk.Requisition.Requisition)
+widgetSizeRequest widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    requisition <- callocBoxedBytes 8 :: IO (Ptr Gtk.Requisition.Requisition)
+    gtk_widget_size_request widget' requisition
+    requisition' <- (wrapBoxed Gtk.Requisition.Requisition) requisition
+    touchManagedPtr widget
+    return requisition'
+
+#if ENABLE_OVERLOADING
+data WidgetSizeRequestMethodInfo
+instance (signature ~ (m (Gtk.Requisition.Requisition)), MonadIO m, IsWidget a) => O.MethodInfo WidgetSizeRequestMethodInfo a signature where
+    overloadedMethod _ = widgetSizeRequest
+
+#endif
+
+-- method Widget::style_attach
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_style_attach" gtk_widget_style_attach :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{-# DEPRECATED widgetStyleAttach ["(Since version 3.0)","This step is unnecessary with 'GI.Gtk.Objects.StyleContext.StyleContext'."] #-}
+{- |
+This function attaches the widget’s 'GI.Gtk.Objects.Style.Style' to the widget\'s
+'GI.Gdk.Objects.Window.Window'. It is a replacement for
+
+>
+>widget->style = gtk_style_attach (widget->style, widget->window);
+
+
+and should only ever be called in a derived widget’s “realize”
+implementation which does not chain up to its parent class\'
+“realize” implementation, because one of the parent classes
+(finally 'GI.Gtk.Objects.Widget.Widget') would attach the style itself.
+
+/Since: 2.20/
+-}
+widgetStyleAttach ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetStyleAttach widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_style_attach widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetStyleAttachMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetStyleAttachMethodInfo a signature where
+    overloadedMethod _ = widgetStyleAttach
+
+#endif
+
+-- method Widget::style_get_property
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a style property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return the property value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_style_get_property" gtk_widget_style_get_property :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- property_name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO ()
+
+{- |
+Gets the value of a style property of /@widget@/.
+-}
+widgetStyleGetProperty ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> T.Text
+    {- ^ /@propertyName@/: the name of a style property -}
+    -> GValue
+    {- ^ /@value@/: location to return the property value -}
+    -> m ()
+widgetStyleGetProperty widget propertyName value = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    propertyName' <- textToCString propertyName
+    value' <- unsafeManagedPtrGetPtr value
+    gtk_widget_style_get_property widget' propertyName' value'
+    touchManagedPtr widget
+    touchManagedPtr value
+    freeMem propertyName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetStyleGetPropertyMethodInfo
+instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetStyleGetPropertyMethodInfo a signature where
+    overloadedMethod _ = widgetStyleGetProperty
+
+#endif
+
+-- method Widget::thaw_child_notify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_thaw_child_notify" gtk_widget_thaw_child_notify :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Reverts the effect of a previous call to 'GI.Gtk.Objects.Widget.widgetFreezeChildNotify'.
+This causes all queued 'GI.Gtk.Objects.Widget.Widget'::@/child-notify/@ signals on /@widget@/ to be
+emitted.
+-}
+widgetThawChildNotify ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetThawChildNotify widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_thaw_child_notify widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetThawChildNotifyMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetThawChildNotifyMethodInfo a signature where
+    overloadedMethod _ = widgetThawChildNotify
+
+#endif
+
+-- method Widget::translate_coordinates
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "src_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position relative to @src_widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position relative to @src_widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store X position relative to @dest_widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "dest_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store Y position relative to @dest_widget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_translate_coordinates" gtk_widget_translate_coordinates :: 
+    Ptr Widget ->                           -- src_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Widget ->                           -- dest_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Int32 ->                                -- src_x : TBasicType TInt
+    Int32 ->                                -- src_y : TBasicType TInt
+    Ptr Int32 ->                            -- dest_x : TBasicType TInt
+    Ptr Int32 ->                            -- dest_y : TBasicType TInt
+    IO CInt
+
+{- |
+Translate coordinates relative to /@srcWidget@/’s allocation to coordinates
+relative to /@destWidget@/’s allocations. In order to perform this
+operation, both widgets must be realized, and must share a common
+toplevel.
+-}
+widgetTranslateCoordinates ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, IsWidget b) =>
+    a
+    {- ^ /@srcWidget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@destWidget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@srcX@/: X position relative to /@srcWidget@/ -}
+    -> Int32
+    {- ^ /@srcY@/: Y position relative to /@srcWidget@/ -}
+    -> m ((Bool, Int32, Int32))
+    {- ^ __Returns:__ 'False' if either widget was not realized, or there
+  was no common ancestor. In this case, nothing is stored in
+  */@destX@/ and */@destY@/. Otherwise 'True'. -}
+widgetTranslateCoordinates srcWidget destWidget srcX srcY = liftIO $ do
+    srcWidget' <- unsafeManagedPtrCastPtr srcWidget
+    destWidget' <- unsafeManagedPtrCastPtr destWidget
+    destX <- allocMem :: IO (Ptr Int32)
+    destY <- allocMem :: IO (Ptr Int32)
+    result <- gtk_widget_translate_coordinates srcWidget' destWidget' srcX srcY destX destY
+    let result' = (/= 0) result
+    destX' <- peek destX
+    destY' <- peek destY
+    touchManagedPtr srcWidget
+    touchManagedPtr destWidget
+    freeMem destX
+    freeMem destY
+    return (result', destX', destY')
+
+#if ENABLE_OVERLOADING
+data WidgetTranslateCoordinatesMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> m ((Bool, Int32, Int32))), MonadIO m, IsWidget a, IsWidget b) => O.MethodInfo WidgetTranslateCoordinatesMethodInfo a signature where
+    overloadedMethod _ = widgetTranslateCoordinates
+
+#endif
+
+-- method Widget::trigger_tooltip_query
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_trigger_tooltip_query" gtk_widget_trigger_tooltip_query :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Triggers a tooltip query on the display where the toplevel of /@widget@/
+is located. See 'GI.Gtk.Objects.Tooltip.tooltipTriggerTooltipQuery' for more
+information.
+
+/Since: 2.12/
+-}
+widgetTriggerTooltipQuery ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetTriggerTooltipQuery widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_trigger_tooltip_query widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetTriggerTooltipQueryMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetTriggerTooltipQueryMethodInfo a signature where
+    overloadedMethod _ = widgetTriggerTooltipQuery
+
+#endif
+
+-- method Widget::unmap
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_unmap" gtk_widget_unmap :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+This function is only for use in widget implementations. Causes
+a widget to be unmapped if it’s currently mapped.
+-}
+widgetUnmap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetUnmap widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_unmap widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetUnmapMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetUnmapMethodInfo a signature where
+    overloadedMethod _ = widgetUnmap
+
+#endif
+
+-- method Widget::unparent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_unparent" gtk_widget_unparent :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+This function is only for use in widget implementations.
+Should be called by implementations of the remove method
+on 'GI.Gtk.Objects.Container.Container', to dissociate a child from the container.
+-}
+widgetUnparent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetUnparent widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_unparent widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetUnparentMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetUnparentMethodInfo a signature where
+    overloadedMethod _ = widgetUnparent
+
+#endif
+
+-- method Widget::unrealize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_unrealize" gtk_widget_unrealize :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+This function is only useful in widget implementations.
+Causes a widget to be unrealized (frees all GDK resources
+associated with the widget, such as /@widget@/->window).
+-}
+widgetUnrealize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m ()
+widgetUnrealize widget = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    gtk_widget_unrealize widget'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetUnrealizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetUnrealizeMethodInfo a signature where
+    overloadedMethod _ = widgetUnrealize
+
+#endif
+
+-- method Widget::unregister_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_unregister_window" gtk_widget_unregister_window :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Window.Window ->                -- window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO ()
+
+{- |
+Unregisters a 'GI.Gdk.Objects.Window.Window' from the widget that was previously set up with
+'GI.Gtk.Objects.Widget.widgetRegisterWindow'. You need to call this when the window is
+no longer used by the widget, such as when you destroy it.
+
+/Since: 3.8/
+-}
+widgetUnregisterWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a, Gdk.Window.IsWindow b) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> b
+    {- ^ /@window@/: a 'GI.Gdk.Objects.Window.Window' -}
+    -> m ()
+widgetUnregisterWindow widget window = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_widget_unregister_window widget' window'
+    touchManagedPtr widget
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetUnregisterWindowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWidget a, Gdk.Window.IsWindow b) => O.MethodInfo WidgetUnregisterWindowMethodInfo a signature where
+    overloadedMethod _ = widgetUnregisterWindow
+
+#endif
+
+-- method Widget::unset_state_flags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "State flags to turn off", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_unset_state_flags" gtk_widget_unset_state_flags :: 
+    Ptr Widget ->                           -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    IO ()
+
+{- |
+This function is for use in widget implementations. Turns off flag
+values for the current widget state (insensitive, prelighted, etc.).
+See 'GI.Gtk.Objects.Widget.widgetSetStateFlags'.
+
+/Since: 3.0/
+-}
+widgetUnsetStateFlags ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWidget a) =>
+    a
+    {- ^ /@widget@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@flags@/: State flags to turn off -}
+    -> m ()
+widgetUnsetStateFlags widget flags = liftIO $ do
+    widget' <- unsafeManagedPtrCastPtr widget
+    let flags' = gflagsToWord flags
+    gtk_widget_unset_state_flags widget' flags'
+    touchManagedPtr widget
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetUnsetStateFlagsMethodInfo
+instance (signature ~ ([Gtk.Flags.StateFlags] -> m ()), MonadIO m, IsWidget a) => O.MethodInfo WidgetUnsetStateFlagsMethodInfo a signature where
+    overloadedMethod _ = widgetUnsetStateFlags
+
+#endif
+
+-- method Widget::get_default_direction
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextDirection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_default_direction" gtk_widget_get_default_direction :: 
+    IO CUInt
+
+{- |
+Obtains the current default reading direction. See
+'GI.Gtk.Objects.Widget.widgetSetDefaultDirection'.
+-}
+widgetGetDefaultDirection ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Gtk.Enums.TextDirection
+    {- ^ __Returns:__ the current default direction. -}
+widgetGetDefaultDirection  = liftIO $ do
+    result <- gtk_widget_get_default_direction
+    let result' = (toEnum . fromIntegral) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Widget::get_default_style
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Style"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_get_default_style" gtk_widget_get_default_style :: 
+    IO (Ptr Gtk.Style.Style)
+
+{-# DEPRECATED widgetGetDefaultStyle ["(Since version 3.0)","Use 'GI.Gtk.Objects.StyleContext.StyleContext' instead, and","    'GI.Gtk.Objects.CssProvider.cssProviderGetDefault' to obtain a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider'","    with the default widget style information."] #-}
+{- |
+Returns the default style used by all widgets initially.
+-}
+widgetGetDefaultStyle ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Gtk.Style.Style
+    {- ^ __Returns:__ the default style. This 'GI.Gtk.Objects.Style.Style'
+    object is owned by GTK+ and should not be modified or freed. -}
+widgetGetDefaultStyle  = liftIO $ do
+    result <- gtk_widget_get_default_style
+    checkUnexpectedReturnNULL "widgetGetDefaultStyle" result
+    result' <- (newObject Gtk.Style.Style) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Widget::pop_composite_child
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_pop_composite_child" gtk_widget_pop_composite_child :: 
+    IO ()
+
+{-# DEPRECATED widgetPopCompositeChild ["(Since version 3.10)","Use 'GI.Gtk.Structs.WidgetClass.widgetClassSetTemplate', or don\8217t use this API at all."] #-}
+{- |
+Cancels the effect of a previous call to 'GI.Gtk.Objects.Widget.widgetPushCompositeChild'.
+-}
+widgetPopCompositeChild ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ()
+widgetPopCompositeChild  = liftIO $ do
+    gtk_widget_pop_composite_child
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Widget::push_composite_child
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_push_composite_child" gtk_widget_push_composite_child :: 
+    IO ()
+
+{-# DEPRECATED widgetPushCompositeChild ["(Since version 3.10)","This API never really worked well and was mostly unused, now","we have a more complete mechanism for composite children, see 'GI.Gtk.Structs.WidgetClass.widgetClassSetTemplate'."] #-}
+{- |
+Makes all newly-created widgets as composite children until
+the corresponding 'GI.Gtk.Objects.Widget.widgetPopCompositeChild' call.
+
+A composite child is a child that’s an implementation detail of the
+container it’s inside and should not be visible to people using the
+container. Composite children aren’t treated differently by GTK+ (but
+see 'GI.Gtk.Objects.Container.containerForeach' vs. 'GI.Gtk.Objects.Container.containerForall'), but e.g. GUI
+builders might want to treat them in a different way.
+-}
+widgetPushCompositeChild ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m ()
+widgetPushCompositeChild  = liftIO $ do
+    gtk_widget_push_composite_child
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Widget::set_default_direction
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "dir", argType = TInterface (Name {namespace = "Gtk", name = "TextDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new default direction. This cannot be\n       %GTK_TEXT_DIR_NONE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_set_default_direction" gtk_widget_set_default_direction :: 
+    CUInt ->                                -- dir : TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+    IO ()
+
+{- |
+Sets the default reading direction for widgets where the
+direction has not been explicitly set by 'GI.Gtk.Objects.Widget.widgetSetDirection'.
+-}
+widgetSetDefaultDirection ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.TextDirection
+    {- ^ /@dir@/: the new default direction. This cannot be
+       'GI.Gtk.Enums.TextDirectionNone'. -}
+    -> m ()
+widgetSetDefaultDirection dir = liftIO $ do
+    let dir' = (fromIntegral . fromEnum) dir
+    gtk_widget_set_default_direction dir'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/Widget.hs-boot b/GI/Gtk/Objects/Widget.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Widget.hs-boot
@@ -0,0 +1,1136 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Widget where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Widget = Widget (ManagedPtr Widget)
+instance GObject Widget where
+class (GObject o, O.IsDescendantOf Widget o) => IsWidget o
+instance (GObject o, O.IsDescendantOf Widget o) => IsWidget o
+instance O.HasParentTypes Widget
+#if ENABLE_OVERLOADING
+data WidgetAppPaintablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetCanDefaultPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetCanFocusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetCompositeChildPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDoubleBufferedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetEventsPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetExpandPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetFocusOnClickPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHalignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHasDefaultPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHasFocusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHasTooltipPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHeightRequestPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHexpandPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHexpandSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetIsFocusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMarginPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMarginBottomPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMarginEndPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMarginLeftPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMarginRightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMarginStartPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMarginTopPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetNoShowAllPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetOpacityPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetParentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetReceivesDefaultPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetScaleFactorPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSensitivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetStylePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetTooltipMarkupPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetTooltipTextPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetValignPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetVexpandPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetVexpandSetPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetWidthRequestPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetWindowPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetAccelClosuresChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetButtonPressEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetButtonReleaseEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetCanActivateAccelSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetChildNotifySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetCompositedChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetConfigureEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDamageEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDeleteEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDestroySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDestroyEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDirectionChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragBeginSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDataDeleteSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDataGetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDataReceivedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDropSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragEndSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragFailedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragLeaveSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragMotionSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDrawSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetEnterNotifyEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetEventAfterSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetFocusSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetFocusInEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetFocusOutEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGrabBrokenEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGrabFocusSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGrabNotifySignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHideSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHierarchyChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetKeyPressEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetKeyReleaseEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetKeynavFailedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetLeaveNotifyEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMapSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMapEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMnemonicActivateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMotionNotifyEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMoveFocusSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetParentSetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPopupMenuSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPropertyNotifyEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetProximityInEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetProximityOutEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetQueryTooltipSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetRealizeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetScreenChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetScrollEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSelectionClearEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSelectionGetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSelectionNotifyEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSelectionReceivedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSelectionRequestEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetShowSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetShowHelpSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSizeAllocateSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetStateChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetStateFlagsChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetStyleSetSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetStyleUpdatedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetTouchEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetUnmapSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetUnmapEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetUnrealizeSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetVisibilityNotifyEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetWindowStateEventSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetAddAcceleratorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetAddDeviceEventsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetAddEventsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetAddMnemonicLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetAddTickCallbackMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetCanActivateAccelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetChildFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetChildNotifyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetClassPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetComputeExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetCreatePangoContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetCreatePangoLayoutMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDestroyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDestroyedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDeviceIsShadowedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragBeginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragBeginWithCoordinatesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragCheckThresholdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestAddImageTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestAddTextTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestAddUriTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestFindTargetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestGetTargetListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestGetTrackMotionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestSetProxyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestSetTargetListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestSetTrackMotionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragDestUnsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragGetDataMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragHighlightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceAddImageTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceAddTextTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceAddUriTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceGetTargetListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetIconGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetIconPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetIconStockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceSetTargetListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragSourceUnsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDragUnhighlightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetDrawMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetEnsureStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetErrorBellMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetEventMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetFreezeChildNotifyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetAccessibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetActionGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetAllocatedBaselineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetAllocatedHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetAllocatedSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetAllocatedWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetAllocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetAncestorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetAppPaintableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetCanDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetCanFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetChildRequisitionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetChildVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetClipMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetClipboardMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetCompositeNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetDeviceEnabledMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetDeviceEventsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetDisplayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetDoubleBufferedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetEventsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetFocusOnClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetFontMapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetFontOptionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetFrameClockMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetHalignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetHasTooltipMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetHasWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetHexpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetHexpandSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetMappedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetMarginBottomMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetMarginEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetMarginLeftMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetMarginRightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetMarginStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetMarginTopMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetModifierMaskMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetModifierStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetNoShowAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetOpacityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetPangoContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetParentWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetPointerMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredHeightForWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetPreferredWidthForHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetRealizedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetReceivesDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetRequestModeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetRequisitionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetRootWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetScaleFactorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetSettingsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetSizeRequestMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetStateFlagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetStyleContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetSupportMultideviceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetTemplateChildMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetTooltipMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetTooltipTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetTooltipWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetToplevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetValignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetValignWithBaselineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetVexpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetVexpandSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetVisualMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGetWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGrabAddMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGrabDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGrabFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetGrabRemoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHasDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHasFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHasGrabMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHasRcStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHasScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHasVisibleFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHideMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetHideOnDeleteMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetInDestructionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetInitTemplateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetInputShapeCombineRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetInsertActionGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetIntersectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetIsAncestorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetIsCompositedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetIsDrawableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetIsFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetIsSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetIsToplevelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetIsVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetKeynavFailedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetListAccelClosuresMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetListActionPrefixesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetListMnemonicLabelsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetMnemonicActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetModifyBaseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetModifyBgMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetModifyCursorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetModifyFgMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetModifyFontMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetModifyStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetModifyTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetOverrideBackgroundColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetOverrideColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetOverrideCursorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetOverrideFontMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetOverrideSymbolicColorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetQueueAllocateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetQueueComputeExpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetQueueDrawMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetQueueDrawAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetQueueDrawRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetQueueResizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetQueueResizeNoRedrawMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetRealizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetRegionIntersectMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetRegisterWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetRemoveAcceleratorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetRemoveMnemonicLabelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetRemoveTickCallbackMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetRenderIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetRenderIconPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetReparentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetResetRcStylesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetResetStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSendExposeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSendFocusChangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetAccelPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetAllocationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetAppPaintableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetCanDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetCanFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetChildVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetClipMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetCompositeNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetDeviceEnabledMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetDeviceEventsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetDoubleBufferedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetEventsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetFocusOnClickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetFontMapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetFontOptionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetHalignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetHasTooltipMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetHasWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetHexpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetHexpandSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetMappedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetMarginBottomMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetMarginEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetMarginLeftMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetMarginRightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetMarginStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetMarginTopMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetNoShowAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetOpacityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetParentWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetRealizedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetReceivesDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetRedrawOnAllocateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetSensitiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetSizeRequestMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetStateFlagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetStyleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetSupportMultideviceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetTooltipMarkupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetTooltipTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetTooltipWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetValignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetVexpandMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetVexpandSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetVisualMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSetWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetShapeCombineRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetShowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetShowAllMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetShowNowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSizeAllocateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSizeAllocateWithBaselineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetSizeRequestMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetStyleAttachMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetStyleGetPropertyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetThawChildNotifyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetTranslateCoordinatesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetTriggerTooltipQueryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetUnmapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetUnparentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetUnrealizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetUnregisterWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetUnsetStateFlagsMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/WidgetAccessible.hs b/GI/Gtk/Objects/WidgetAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/WidgetAccessible.hs
@@ -0,0 +1,163 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.WidgetAccessible
+    ( 
+
+-- * Exported types
+    WidgetAccessible(..)                    ,
+    IsWidgetAccessible                      ,
+    toWidgetAccessible                      ,
+    noWidgetAccessible                      ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+
+-- | Memory-managed wrapper type.
+newtype WidgetAccessible = WidgetAccessible (ManagedPtr WidgetAccessible)
+foreign import ccall "gtk_widget_accessible_get_type"
+    c_gtk_widget_accessible_get_type :: IO GType
+
+instance GObject WidgetAccessible where
+    gobjectType = c_gtk_widget_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `WidgetAccessible`, for instance with `toWidgetAccessible`.
+class (GObject o, O.IsDescendantOf WidgetAccessible o) => IsWidgetAccessible o
+instance (GObject o, O.IsDescendantOf WidgetAccessible o) => IsWidgetAccessible o
+
+instance O.HasParentTypes WidgetAccessible
+type instance O.ParentTypes WidgetAccessible = '[Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component]
+
+-- | Cast to `WidgetAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toWidgetAccessible :: (MonadIO m, IsWidgetAccessible o) => o -> m WidgetAccessible
+toWidgetAccessible = liftIO . unsafeCastTo WidgetAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `WidgetAccessible`.
+noWidgetAccessible :: Maybe WidgetAccessible
+noWidgetAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveWidgetAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveWidgetAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveWidgetAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveWidgetAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveWidgetAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveWidgetAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveWidgetAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveWidgetAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveWidgetAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveWidgetAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveWidgetAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveWidgetAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveWidgetAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveWidgetAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveWidgetAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveWidgetAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveWidgetAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveWidgetAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveWidgetAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveWidgetAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveWidgetAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveWidgetAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveWidgetAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveWidgetAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveWidgetAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveWidgetAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveWidgetAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveWidgetAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveWidgetAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveWidgetAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveWidgetAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveWidgetAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveWidgetAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveWidgetAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveWidgetAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveWidgetAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveWidgetAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveWidgetAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveWidgetAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveWidgetAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveWidgetAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveWidgetAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveWidgetAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveWidgetAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveWidgetAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveWidgetAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveWidgetAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveWidgetAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveWidgetAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveWidgetAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveWidgetAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveWidgetAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveWidgetAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveWidgetAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveWidgetAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveWidgetAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveWidgetAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveWidgetAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveWidgetAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveWidgetAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveWidgetAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveWidgetAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveWidgetAccessibleMethod t WidgetAccessible, O.MethodInfo info WidgetAccessible p) => OL.IsLabel t (WidgetAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList WidgetAccessible
+type instance O.AttributeList WidgetAccessible = WidgetAccessibleAttributeList
+type WidgetAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList WidgetAccessible = WidgetAccessibleSignalList
+type WidgetAccessibleSignalList = ('[ '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/WidgetAccessible.hs-boot b/GI/Gtk/Objects/WidgetAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/WidgetAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.WidgetAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype WidgetAccessible = WidgetAccessible (ManagedPtr WidgetAccessible)
+instance GObject WidgetAccessible where
+class (GObject o, O.IsDescendantOf WidgetAccessible o) => IsWidgetAccessible o
+instance (GObject o, O.IsDescendantOf WidgetAccessible o) => IsWidgetAccessible o
+instance O.HasParentTypes WidgetAccessible
diff --git a/GI/Gtk/Objects/Window.hs b/GI/Gtk/Objects/Window.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Window.hs
@@ -0,0 +1,9431 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkWindow is a toplevel window which can contain other widgets.
+Windows normally have decorations that are under the control
+of the windowing system and allow the user to manipulate the window
+(resize it, move it, close it,...).
+
+= GtkWindow as GtkBuildable
+
+The GtkWindow implementation of the GtkBuildable interface supports a
+custom \<accel-groups> element, which supports any number of \<group>
+elements representing the 'GI.Gtk.Objects.AccelGroup.AccelGroup' objects you want to add to
+your window (synonymous with 'GI.Gtk.Objects.Window.windowAddAccelGroup'.
+
+It also supports the \<initial-focus> element, whose name property names
+the widget to receive the focus when the window is mapped.
+
+An example of a UI definition fragment with accel groups:
+>
+><object class="GtkWindow">
+>  <accel-groups>
+>    <group name="accelgroup1"/>
+>  </accel-groups>
+>  <initial-focus name="thunderclap"/>
+></object>
+>
+>...
+>
+><object class="GtkAccelGroup" id="accelgroup1"/>
+
+
+The GtkWindow implementation of the GtkBuildable interface supports
+setting a child as the titlebar by specifying “titlebar” as the “type”
+attribute of a \<child> element.
+
+= CSS nodes
+
+
+=== /plain code/
+>
+>window.background
+>├── decoration
+>├── <titlebar child>.titlebar [.default-decoration]
+>╰── <child>
+
+
+GtkWindow has a main CSS node with name window and style class .background,
+and a subnode with name decoration.
+
+Style classes that are typically used with the main CSS node are .csd (when
+client-side decorations are in use), .solid-csd (for client-side decorations
+without invisible borders), .ssd (used by mutter when rendering server-side
+decorations). GtkWindow also represents window states with the following
+style classes on the main node: .tiled, .maximized, .fullscreen. Specialized
+types of window often add their own discriminating style classes, such as
+.popup or .tooltip.
+
+GtkWindow adds the .titlebar and .default-decoration style classes to the
+widget that is added as a titlebar child.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.Window
+    ( 
+
+-- * Exported types
+    Window(..)                              ,
+    IsWindow                                ,
+    toWindow                                ,
+    noWindow                                ,
+
+
+ -- * Methods
+-- ** activateDefault #method:activateDefault#
+
+#if ENABLE_OVERLOADING
+    WindowActivateDefaultMethodInfo         ,
+#endif
+    windowActivateDefault                   ,
+
+
+-- ** activateFocus #method:activateFocus#
+
+#if ENABLE_OVERLOADING
+    WindowActivateFocusMethodInfo           ,
+#endif
+    windowActivateFocus                     ,
+
+
+-- ** activateKey #method:activateKey#
+
+#if ENABLE_OVERLOADING
+    WindowActivateKeyMethodInfo             ,
+#endif
+    windowActivateKey                       ,
+
+
+-- ** addAccelGroup #method:addAccelGroup#
+
+#if ENABLE_OVERLOADING
+    WindowAddAccelGroupMethodInfo           ,
+#endif
+    windowAddAccelGroup                     ,
+
+
+-- ** addMnemonic #method:addMnemonic#
+
+#if ENABLE_OVERLOADING
+    WindowAddMnemonicMethodInfo             ,
+#endif
+    windowAddMnemonic                       ,
+
+
+-- ** beginMoveDrag #method:beginMoveDrag#
+
+#if ENABLE_OVERLOADING
+    WindowBeginMoveDragMethodInfo           ,
+#endif
+    windowBeginMoveDrag                     ,
+
+
+-- ** beginResizeDrag #method:beginResizeDrag#
+
+#if ENABLE_OVERLOADING
+    WindowBeginResizeDragMethodInfo         ,
+#endif
+    windowBeginResizeDrag                   ,
+
+
+-- ** close #method:close#
+
+#if ENABLE_OVERLOADING
+    WindowCloseMethodInfo                   ,
+#endif
+    windowClose                             ,
+
+
+-- ** deiconify #method:deiconify#
+
+#if ENABLE_OVERLOADING
+    WindowDeiconifyMethodInfo               ,
+#endif
+    windowDeiconify                         ,
+
+
+-- ** fullscreen #method:fullscreen#
+
+#if ENABLE_OVERLOADING
+    WindowFullscreenMethodInfo              ,
+#endif
+    windowFullscreen                        ,
+
+
+-- ** fullscreenOnMonitor #method:fullscreenOnMonitor#
+
+#if ENABLE_OVERLOADING
+    WindowFullscreenOnMonitorMethodInfo     ,
+#endif
+    windowFullscreenOnMonitor               ,
+
+
+-- ** getAcceptFocus #method:getAcceptFocus#
+
+#if ENABLE_OVERLOADING
+    WindowGetAcceptFocusMethodInfo          ,
+#endif
+    windowGetAcceptFocus                    ,
+
+
+-- ** getApplication #method:getApplication#
+
+#if ENABLE_OVERLOADING
+    WindowGetApplicationMethodInfo          ,
+#endif
+    windowGetApplication                    ,
+
+
+-- ** getAttachedTo #method:getAttachedTo#
+
+#if ENABLE_OVERLOADING
+    WindowGetAttachedToMethodInfo           ,
+#endif
+    windowGetAttachedTo                     ,
+
+
+-- ** getDecorated #method:getDecorated#
+
+#if ENABLE_OVERLOADING
+    WindowGetDecoratedMethodInfo            ,
+#endif
+    windowGetDecorated                      ,
+
+
+-- ** getDefaultIconList #method:getDefaultIconList#
+
+    windowGetDefaultIconList                ,
+
+
+-- ** getDefaultIconName #method:getDefaultIconName#
+
+    windowGetDefaultIconName                ,
+
+
+-- ** getDefaultSize #method:getDefaultSize#
+
+#if ENABLE_OVERLOADING
+    WindowGetDefaultSizeMethodInfo          ,
+#endif
+    windowGetDefaultSize                    ,
+
+
+-- ** getDefaultWidget #method:getDefaultWidget#
+
+#if ENABLE_OVERLOADING
+    WindowGetDefaultWidgetMethodInfo        ,
+#endif
+    windowGetDefaultWidget                  ,
+
+
+-- ** getDeletable #method:getDeletable#
+
+#if ENABLE_OVERLOADING
+    WindowGetDeletableMethodInfo            ,
+#endif
+    windowGetDeletable                      ,
+
+
+-- ** getDestroyWithParent #method:getDestroyWithParent#
+
+#if ENABLE_OVERLOADING
+    WindowGetDestroyWithParentMethodInfo    ,
+#endif
+    windowGetDestroyWithParent              ,
+
+
+-- ** getFocus #method:getFocus#
+
+#if ENABLE_OVERLOADING
+    WindowGetFocusMethodInfo                ,
+#endif
+    windowGetFocus                          ,
+
+
+-- ** getFocusOnMap #method:getFocusOnMap#
+
+#if ENABLE_OVERLOADING
+    WindowGetFocusOnMapMethodInfo           ,
+#endif
+    windowGetFocusOnMap                     ,
+
+
+-- ** getFocusVisible #method:getFocusVisible#
+
+#if ENABLE_OVERLOADING
+    WindowGetFocusVisibleMethodInfo         ,
+#endif
+    windowGetFocusVisible                   ,
+
+
+-- ** getGravity #method:getGravity#
+
+#if ENABLE_OVERLOADING
+    WindowGetGravityMethodInfo              ,
+#endif
+    windowGetGravity                        ,
+
+
+-- ** getGroup #method:getGroup#
+
+#if ENABLE_OVERLOADING
+    WindowGetGroupMethodInfo                ,
+#endif
+    windowGetGroup                          ,
+
+
+-- ** getHasResizeGrip #method:getHasResizeGrip#
+
+#if ENABLE_OVERLOADING
+    WindowGetHasResizeGripMethodInfo        ,
+#endif
+    windowGetHasResizeGrip                  ,
+
+
+-- ** getHideTitlebarWhenMaximized #method:getHideTitlebarWhenMaximized#
+
+#if ENABLE_OVERLOADING
+    WindowGetHideTitlebarWhenMaximizedMethodInfo,
+#endif
+    windowGetHideTitlebarWhenMaximized      ,
+
+
+-- ** getIcon #method:getIcon#
+
+#if ENABLE_OVERLOADING
+    WindowGetIconMethodInfo                 ,
+#endif
+    windowGetIcon                           ,
+
+
+-- ** getIconList #method:getIconList#
+
+#if ENABLE_OVERLOADING
+    WindowGetIconListMethodInfo             ,
+#endif
+    windowGetIconList                       ,
+
+
+-- ** getIconName #method:getIconName#
+
+#if ENABLE_OVERLOADING
+    WindowGetIconNameMethodInfo             ,
+#endif
+    windowGetIconName                       ,
+
+
+-- ** getMnemonicModifier #method:getMnemonicModifier#
+
+#if ENABLE_OVERLOADING
+    WindowGetMnemonicModifierMethodInfo     ,
+#endif
+    windowGetMnemonicModifier               ,
+
+
+-- ** getMnemonicsVisible #method:getMnemonicsVisible#
+
+#if ENABLE_OVERLOADING
+    WindowGetMnemonicsVisibleMethodInfo     ,
+#endif
+    windowGetMnemonicsVisible               ,
+
+
+-- ** getModal #method:getModal#
+
+#if ENABLE_OVERLOADING
+    WindowGetModalMethodInfo                ,
+#endif
+    windowGetModal                          ,
+
+
+-- ** getOpacity #method:getOpacity#
+
+#if ENABLE_OVERLOADING
+    WindowGetOpacityMethodInfo              ,
+#endif
+    windowGetOpacity                        ,
+
+
+-- ** getPosition #method:getPosition#
+
+#if ENABLE_OVERLOADING
+    WindowGetPositionMethodInfo             ,
+#endif
+    windowGetPosition                       ,
+
+
+-- ** getResizable #method:getResizable#
+
+#if ENABLE_OVERLOADING
+    WindowGetResizableMethodInfo            ,
+#endif
+    windowGetResizable                      ,
+
+
+-- ** getResizeGripArea #method:getResizeGripArea#
+
+#if ENABLE_OVERLOADING
+    WindowGetResizeGripAreaMethodInfo       ,
+#endif
+    windowGetResizeGripArea                 ,
+
+
+-- ** getRole #method:getRole#
+
+#if ENABLE_OVERLOADING
+    WindowGetRoleMethodInfo                 ,
+#endif
+    windowGetRole                           ,
+
+
+-- ** getScreen #method:getScreen#
+
+#if ENABLE_OVERLOADING
+    WindowGetScreenMethodInfo               ,
+#endif
+    windowGetScreen                         ,
+
+
+-- ** getSize #method:getSize#
+
+#if ENABLE_OVERLOADING
+    WindowGetSizeMethodInfo                 ,
+#endif
+    windowGetSize                           ,
+
+
+-- ** getSkipPagerHint #method:getSkipPagerHint#
+
+#if ENABLE_OVERLOADING
+    WindowGetSkipPagerHintMethodInfo        ,
+#endif
+    windowGetSkipPagerHint                  ,
+
+
+-- ** getSkipTaskbarHint #method:getSkipTaskbarHint#
+
+#if ENABLE_OVERLOADING
+    WindowGetSkipTaskbarHintMethodInfo      ,
+#endif
+    windowGetSkipTaskbarHint                ,
+
+
+-- ** getTitle #method:getTitle#
+
+#if ENABLE_OVERLOADING
+    WindowGetTitleMethodInfo                ,
+#endif
+    windowGetTitle                          ,
+
+
+-- ** getTitlebar #method:getTitlebar#
+
+#if ENABLE_OVERLOADING
+    WindowGetTitlebarMethodInfo             ,
+#endif
+    windowGetTitlebar                       ,
+
+
+-- ** getTransientFor #method:getTransientFor#
+
+#if ENABLE_OVERLOADING
+    WindowGetTransientForMethodInfo         ,
+#endif
+    windowGetTransientFor                   ,
+
+
+-- ** getTypeHint #method:getTypeHint#
+
+#if ENABLE_OVERLOADING
+    WindowGetTypeHintMethodInfo             ,
+#endif
+    windowGetTypeHint                       ,
+
+
+-- ** getUrgencyHint #method:getUrgencyHint#
+
+#if ENABLE_OVERLOADING
+    WindowGetUrgencyHintMethodInfo          ,
+#endif
+    windowGetUrgencyHint                    ,
+
+
+-- ** getWindowType #method:getWindowType#
+
+#if ENABLE_OVERLOADING
+    WindowGetWindowTypeMethodInfo           ,
+#endif
+    windowGetWindowType                     ,
+
+
+-- ** hasGroup #method:hasGroup#
+
+#if ENABLE_OVERLOADING
+    WindowHasGroupMethodInfo                ,
+#endif
+    windowHasGroup                          ,
+
+
+-- ** hasToplevelFocus #method:hasToplevelFocus#
+
+#if ENABLE_OVERLOADING
+    WindowHasToplevelFocusMethodInfo        ,
+#endif
+    windowHasToplevelFocus                  ,
+
+
+-- ** iconify #method:iconify#
+
+#if ENABLE_OVERLOADING
+    WindowIconifyMethodInfo                 ,
+#endif
+    windowIconify                           ,
+
+
+-- ** isActive #method:isActive#
+
+#if ENABLE_OVERLOADING
+    WindowIsActiveMethodInfo                ,
+#endif
+    windowIsActive                          ,
+
+
+-- ** isMaximized #method:isMaximized#
+
+#if ENABLE_OVERLOADING
+    WindowIsMaximizedMethodInfo             ,
+#endif
+    windowIsMaximized                       ,
+
+
+-- ** listToplevels #method:listToplevels#
+
+    windowListToplevels                     ,
+
+
+-- ** maximize #method:maximize#
+
+#if ENABLE_OVERLOADING
+    WindowMaximizeMethodInfo                ,
+#endif
+    windowMaximize                          ,
+
+
+-- ** mnemonicActivate #method:mnemonicActivate#
+
+#if ENABLE_OVERLOADING
+    WindowMnemonicActivateMethodInfo        ,
+#endif
+    windowMnemonicActivate                  ,
+
+
+-- ** move #method:move#
+
+#if ENABLE_OVERLOADING
+    WindowMoveMethodInfo                    ,
+#endif
+    windowMove                              ,
+
+
+-- ** new #method:new#
+
+    windowNew                               ,
+
+
+-- ** parseGeometry #method:parseGeometry#
+
+#if ENABLE_OVERLOADING
+    WindowParseGeometryMethodInfo           ,
+#endif
+    windowParseGeometry                     ,
+
+
+-- ** present #method:present#
+
+#if ENABLE_OVERLOADING
+    WindowPresentMethodInfo                 ,
+#endif
+    windowPresent                           ,
+
+
+-- ** presentWithTime #method:presentWithTime#
+
+#if ENABLE_OVERLOADING
+    WindowPresentWithTimeMethodInfo         ,
+#endif
+    windowPresentWithTime                   ,
+
+
+-- ** propagateKeyEvent #method:propagateKeyEvent#
+
+#if ENABLE_OVERLOADING
+    WindowPropagateKeyEventMethodInfo       ,
+#endif
+    windowPropagateKeyEvent                 ,
+
+
+-- ** removeAccelGroup #method:removeAccelGroup#
+
+#if ENABLE_OVERLOADING
+    WindowRemoveAccelGroupMethodInfo        ,
+#endif
+    windowRemoveAccelGroup                  ,
+
+
+-- ** removeMnemonic #method:removeMnemonic#
+
+#if ENABLE_OVERLOADING
+    WindowRemoveMnemonicMethodInfo          ,
+#endif
+    windowRemoveMnemonic                    ,
+
+
+-- ** reshowWithInitialSize #method:reshowWithInitialSize#
+
+#if ENABLE_OVERLOADING
+    WindowReshowWithInitialSizeMethodInfo   ,
+#endif
+    windowReshowWithInitialSize             ,
+
+
+-- ** resize #method:resize#
+
+#if ENABLE_OVERLOADING
+    WindowResizeMethodInfo                  ,
+#endif
+    windowResize                            ,
+
+
+-- ** resizeGripIsVisible #method:resizeGripIsVisible#
+
+#if ENABLE_OVERLOADING
+    WindowResizeGripIsVisibleMethodInfo     ,
+#endif
+    windowResizeGripIsVisible               ,
+
+
+-- ** resizeToGeometry #method:resizeToGeometry#
+
+#if ENABLE_OVERLOADING
+    WindowResizeToGeometryMethodInfo        ,
+#endif
+    windowResizeToGeometry                  ,
+
+
+-- ** setAcceptFocus #method:setAcceptFocus#
+
+#if ENABLE_OVERLOADING
+    WindowSetAcceptFocusMethodInfo          ,
+#endif
+    windowSetAcceptFocus                    ,
+
+
+-- ** setApplication #method:setApplication#
+
+#if ENABLE_OVERLOADING
+    WindowSetApplicationMethodInfo          ,
+#endif
+    windowSetApplication                    ,
+
+
+-- ** setAttachedTo #method:setAttachedTo#
+
+#if ENABLE_OVERLOADING
+    WindowSetAttachedToMethodInfo           ,
+#endif
+    windowSetAttachedTo                     ,
+
+
+-- ** setAutoStartupNotification #method:setAutoStartupNotification#
+
+    windowSetAutoStartupNotification        ,
+
+
+-- ** setDecorated #method:setDecorated#
+
+#if ENABLE_OVERLOADING
+    WindowSetDecoratedMethodInfo            ,
+#endif
+    windowSetDecorated                      ,
+
+
+-- ** setDefault #method:setDefault#
+
+#if ENABLE_OVERLOADING
+    WindowSetDefaultMethodInfo              ,
+#endif
+    windowSetDefault                        ,
+
+
+-- ** setDefaultGeometry #method:setDefaultGeometry#
+
+#if ENABLE_OVERLOADING
+    WindowSetDefaultGeometryMethodInfo      ,
+#endif
+    windowSetDefaultGeometry                ,
+
+
+-- ** setDefaultIcon #method:setDefaultIcon#
+
+    windowSetDefaultIcon                    ,
+
+
+-- ** setDefaultIconFromFile #method:setDefaultIconFromFile#
+
+    windowSetDefaultIconFromFile            ,
+
+
+-- ** setDefaultIconList #method:setDefaultIconList#
+
+    windowSetDefaultIconList                ,
+
+
+-- ** setDefaultIconName #method:setDefaultIconName#
+
+    windowSetDefaultIconName                ,
+
+
+-- ** setDefaultSize #method:setDefaultSize#
+
+#if ENABLE_OVERLOADING
+    WindowSetDefaultSizeMethodInfo          ,
+#endif
+    windowSetDefaultSize                    ,
+
+
+-- ** setDeletable #method:setDeletable#
+
+#if ENABLE_OVERLOADING
+    WindowSetDeletableMethodInfo            ,
+#endif
+    windowSetDeletable                      ,
+
+
+-- ** setDestroyWithParent #method:setDestroyWithParent#
+
+#if ENABLE_OVERLOADING
+    WindowSetDestroyWithParentMethodInfo    ,
+#endif
+    windowSetDestroyWithParent              ,
+
+
+-- ** setFocus #method:setFocus#
+
+#if ENABLE_OVERLOADING
+    WindowSetFocusMethodInfo                ,
+#endif
+    windowSetFocus                          ,
+
+
+-- ** setFocusOnMap #method:setFocusOnMap#
+
+#if ENABLE_OVERLOADING
+    WindowSetFocusOnMapMethodInfo           ,
+#endif
+    windowSetFocusOnMap                     ,
+
+
+-- ** setFocusVisible #method:setFocusVisible#
+
+#if ENABLE_OVERLOADING
+    WindowSetFocusVisibleMethodInfo         ,
+#endif
+    windowSetFocusVisible                   ,
+
+
+-- ** setGeometryHints #method:setGeometryHints#
+
+#if ENABLE_OVERLOADING
+    WindowSetGeometryHintsMethodInfo        ,
+#endif
+    windowSetGeometryHints                  ,
+
+
+-- ** setGravity #method:setGravity#
+
+#if ENABLE_OVERLOADING
+    WindowSetGravityMethodInfo              ,
+#endif
+    windowSetGravity                        ,
+
+
+-- ** setHasResizeGrip #method:setHasResizeGrip#
+
+#if ENABLE_OVERLOADING
+    WindowSetHasResizeGripMethodInfo        ,
+#endif
+    windowSetHasResizeGrip                  ,
+
+
+-- ** setHasUserRefCount #method:setHasUserRefCount#
+
+#if ENABLE_OVERLOADING
+    WindowSetHasUserRefCountMethodInfo      ,
+#endif
+    windowSetHasUserRefCount                ,
+
+
+-- ** setHideTitlebarWhenMaximized #method:setHideTitlebarWhenMaximized#
+
+#if ENABLE_OVERLOADING
+    WindowSetHideTitlebarWhenMaximizedMethodInfo,
+#endif
+    windowSetHideTitlebarWhenMaximized      ,
+
+
+-- ** setIcon #method:setIcon#
+
+#if ENABLE_OVERLOADING
+    WindowSetIconMethodInfo                 ,
+#endif
+    windowSetIcon                           ,
+
+
+-- ** setIconFromFile #method:setIconFromFile#
+
+#if ENABLE_OVERLOADING
+    WindowSetIconFromFileMethodInfo         ,
+#endif
+    windowSetIconFromFile                   ,
+
+
+-- ** setIconList #method:setIconList#
+
+#if ENABLE_OVERLOADING
+    WindowSetIconListMethodInfo             ,
+#endif
+    windowSetIconList                       ,
+
+
+-- ** setIconName #method:setIconName#
+
+#if ENABLE_OVERLOADING
+    WindowSetIconNameMethodInfo             ,
+#endif
+    windowSetIconName                       ,
+
+
+-- ** setInteractiveDebugging #method:setInteractiveDebugging#
+
+    windowSetInteractiveDebugging           ,
+
+
+-- ** setKeepAbove #method:setKeepAbove#
+
+#if ENABLE_OVERLOADING
+    WindowSetKeepAboveMethodInfo            ,
+#endif
+    windowSetKeepAbove                      ,
+
+
+-- ** setKeepBelow #method:setKeepBelow#
+
+#if ENABLE_OVERLOADING
+    WindowSetKeepBelowMethodInfo            ,
+#endif
+    windowSetKeepBelow                      ,
+
+
+-- ** setMnemonicModifier #method:setMnemonicModifier#
+
+#if ENABLE_OVERLOADING
+    WindowSetMnemonicModifierMethodInfo     ,
+#endif
+    windowSetMnemonicModifier               ,
+
+
+-- ** setMnemonicsVisible #method:setMnemonicsVisible#
+
+#if ENABLE_OVERLOADING
+    WindowSetMnemonicsVisibleMethodInfo     ,
+#endif
+    windowSetMnemonicsVisible               ,
+
+
+-- ** setModal #method:setModal#
+
+#if ENABLE_OVERLOADING
+    WindowSetModalMethodInfo                ,
+#endif
+    windowSetModal                          ,
+
+
+-- ** setOpacity #method:setOpacity#
+
+#if ENABLE_OVERLOADING
+    WindowSetOpacityMethodInfo              ,
+#endif
+    windowSetOpacity                        ,
+
+
+-- ** setPosition #method:setPosition#
+
+#if ENABLE_OVERLOADING
+    WindowSetPositionMethodInfo             ,
+#endif
+    windowSetPosition                       ,
+
+
+-- ** setResizable #method:setResizable#
+
+#if ENABLE_OVERLOADING
+    WindowSetResizableMethodInfo            ,
+#endif
+    windowSetResizable                      ,
+
+
+-- ** setRole #method:setRole#
+
+#if ENABLE_OVERLOADING
+    WindowSetRoleMethodInfo                 ,
+#endif
+    windowSetRole                           ,
+
+
+-- ** setScreen #method:setScreen#
+
+#if ENABLE_OVERLOADING
+    WindowSetScreenMethodInfo               ,
+#endif
+    windowSetScreen                         ,
+
+
+-- ** setSkipPagerHint #method:setSkipPagerHint#
+
+#if ENABLE_OVERLOADING
+    WindowSetSkipPagerHintMethodInfo        ,
+#endif
+    windowSetSkipPagerHint                  ,
+
+
+-- ** setSkipTaskbarHint #method:setSkipTaskbarHint#
+
+#if ENABLE_OVERLOADING
+    WindowSetSkipTaskbarHintMethodInfo      ,
+#endif
+    windowSetSkipTaskbarHint                ,
+
+
+-- ** setStartupId #method:setStartupId#
+
+#if ENABLE_OVERLOADING
+    WindowSetStartupIdMethodInfo            ,
+#endif
+    windowSetStartupId                      ,
+
+
+-- ** setTitle #method:setTitle#
+
+#if ENABLE_OVERLOADING
+    WindowSetTitleMethodInfo                ,
+#endif
+    windowSetTitle                          ,
+
+
+-- ** setTitlebar #method:setTitlebar#
+
+#if ENABLE_OVERLOADING
+    WindowSetTitlebarMethodInfo             ,
+#endif
+    windowSetTitlebar                       ,
+
+
+-- ** setTransientFor #method:setTransientFor#
+
+#if ENABLE_OVERLOADING
+    WindowSetTransientForMethodInfo         ,
+#endif
+    windowSetTransientFor                   ,
+
+
+-- ** setTypeHint #method:setTypeHint#
+
+#if ENABLE_OVERLOADING
+    WindowSetTypeHintMethodInfo             ,
+#endif
+    windowSetTypeHint                       ,
+
+
+-- ** setUrgencyHint #method:setUrgencyHint#
+
+#if ENABLE_OVERLOADING
+    WindowSetUrgencyHintMethodInfo          ,
+#endif
+    windowSetUrgencyHint                    ,
+
+
+-- ** setWmclass #method:setWmclass#
+
+#if ENABLE_OVERLOADING
+    WindowSetWmclassMethodInfo              ,
+#endif
+    windowSetWmclass                        ,
+
+
+-- ** stick #method:stick#
+
+#if ENABLE_OVERLOADING
+    WindowStickMethodInfo                   ,
+#endif
+    windowStick                             ,
+
+
+-- ** unfullscreen #method:unfullscreen#
+
+#if ENABLE_OVERLOADING
+    WindowUnfullscreenMethodInfo            ,
+#endif
+    windowUnfullscreen                      ,
+
+
+-- ** unmaximize #method:unmaximize#
+
+#if ENABLE_OVERLOADING
+    WindowUnmaximizeMethodInfo              ,
+#endif
+    windowUnmaximize                        ,
+
+
+-- ** unstick #method:unstick#
+
+#if ENABLE_OVERLOADING
+    WindowUnstickMethodInfo                 ,
+#endif
+    windowUnstick                           ,
+
+
+
+
+ -- * Properties
+-- ** acceptFocus #attr:acceptFocus#
+{- | Whether the window should receive the input focus.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    WindowAcceptFocusPropertyInfo           ,
+#endif
+    constructWindowAcceptFocus              ,
+    getWindowAcceptFocus                    ,
+    setWindowAcceptFocus                    ,
+#if ENABLE_OVERLOADING
+    windowAcceptFocus                       ,
+#endif
+
+
+-- ** application #attr:application#
+{- | The 'GI.Gtk.Objects.Application.Application' associated with the window.
+
+The application will be kept alive for at least as long as it
+has any windows associated with it (see 'GI.Gio.Objects.Application.applicationHold'
+for a way to keep it alive without windows).
+
+Normally, the connection between the application and the window
+will remain until the window is destroyed, but you can explicitly
+remove it by setting the :application property to 'Nothing'.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WindowApplicationPropertyInfo           ,
+#endif
+    clearWindowApplication                  ,
+    constructWindowApplication              ,
+    getWindowApplication                    ,
+    setWindowApplication                    ,
+#if ENABLE_OVERLOADING
+    windowApplication                       ,
+#endif
+
+
+-- ** attachedTo #attr:attachedTo#
+{- | The widget to which this window is attached.
+See 'GI.Gtk.Objects.Window.windowSetAttachedTo'.
+
+Examples of places where specifying this relation is useful are
+for instance a 'GI.Gtk.Objects.Menu.Menu' created by a 'GI.Gtk.Objects.ComboBox.ComboBox', a completion
+popup window created by 'GI.Gtk.Objects.Entry.Entry' or a typeahead search entry
+created by 'GI.Gtk.Objects.TreeView.TreeView'.
+
+/Since: 3.4/
+-}
+#if ENABLE_OVERLOADING
+    WindowAttachedToPropertyInfo            ,
+#endif
+    clearWindowAttachedTo                   ,
+    constructWindowAttachedTo               ,
+    getWindowAttachedTo                     ,
+    setWindowAttachedTo                     ,
+#if ENABLE_OVERLOADING
+    windowAttachedTo                        ,
+#endif
+
+
+-- ** decorated #attr:decorated#
+{- | Whether the window should be decorated by the window manager.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    WindowDecoratedPropertyInfo             ,
+#endif
+    constructWindowDecorated                ,
+    getWindowDecorated                      ,
+    setWindowDecorated                      ,
+#if ENABLE_OVERLOADING
+    windowDecorated                         ,
+#endif
+
+
+-- ** defaultHeight #attr:defaultHeight#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowDefaultHeightPropertyInfo         ,
+#endif
+    constructWindowDefaultHeight            ,
+    getWindowDefaultHeight                  ,
+    setWindowDefaultHeight                  ,
+#if ENABLE_OVERLOADING
+    windowDefaultHeight                     ,
+#endif
+
+
+-- ** defaultWidth #attr:defaultWidth#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowDefaultWidthPropertyInfo          ,
+#endif
+    constructWindowDefaultWidth             ,
+    getWindowDefaultWidth                   ,
+    setWindowDefaultWidth                   ,
+#if ENABLE_OVERLOADING
+    windowDefaultWidth                      ,
+#endif
+
+
+-- ** deletable #attr:deletable#
+{- | Whether the window frame should have a close button.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    WindowDeletablePropertyInfo             ,
+#endif
+    constructWindowDeletable                ,
+    getWindowDeletable                      ,
+    setWindowDeletable                      ,
+#if ENABLE_OVERLOADING
+    windowDeletable                         ,
+#endif
+
+
+-- ** destroyWithParent #attr:destroyWithParent#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowDestroyWithParentPropertyInfo     ,
+#endif
+    constructWindowDestroyWithParent        ,
+    getWindowDestroyWithParent              ,
+    setWindowDestroyWithParent              ,
+#if ENABLE_OVERLOADING
+    windowDestroyWithParent                 ,
+#endif
+
+
+-- ** focusOnMap #attr:focusOnMap#
+{- | Whether the window should receive the input focus when mapped.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    WindowFocusOnMapPropertyInfo            ,
+#endif
+    constructWindowFocusOnMap               ,
+    getWindowFocusOnMap                     ,
+    setWindowFocusOnMap                     ,
+#if ENABLE_OVERLOADING
+    windowFocusOnMap                        ,
+#endif
+
+
+-- ** focusVisible #attr:focusVisible#
+{- | Whether \'focus rectangles\' are currently visible in this window.
+
+This property is maintained by GTK+ based on user input
+and should not be set by applications.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    WindowFocusVisiblePropertyInfo          ,
+#endif
+    constructWindowFocusVisible             ,
+    getWindowFocusVisible                   ,
+    setWindowFocusVisible                   ,
+#if ENABLE_OVERLOADING
+    windowFocusVisible                      ,
+#endif
+
+
+-- ** gravity #attr:gravity#
+{- | The window gravity of the window. See 'GI.Gtk.Objects.Window.windowMove' and 'GI.Gdk.Enums.Gravity' for
+more details about window gravity.
+
+/Since: 2.4/
+-}
+#if ENABLE_OVERLOADING
+    WindowGravityPropertyInfo               ,
+#endif
+    constructWindowGravity                  ,
+    getWindowGravity                        ,
+    setWindowGravity                        ,
+#if ENABLE_OVERLOADING
+    windowGravity                           ,
+#endif
+
+
+-- ** hasResizeGrip #attr:hasResizeGrip#
+{- | Whether the window has a corner resize grip.
+
+Note that the resize grip is only shown if the window is
+actually resizable and not maximized. Use
+'GI.Gtk.Objects.Window.Window':@/resize-grip-visible/@ to find out if the resize
+grip is currently shown.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WindowHasResizeGripPropertyInfo         ,
+#endif
+    constructWindowHasResizeGrip            ,
+    getWindowHasResizeGrip                  ,
+    setWindowHasResizeGrip                  ,
+#if ENABLE_OVERLOADING
+    windowHasResizeGrip                     ,
+#endif
+
+
+-- ** hasToplevelFocus #attr:hasToplevelFocus#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowHasToplevelFocusPropertyInfo      ,
+#endif
+    getWindowHasToplevelFocus               ,
+
+
+-- ** hideTitlebarWhenMaximized #attr:hideTitlebarWhenMaximized#
+{- | Whether the titlebar should be hidden during maximization.
+
+/Since: 3.4/
+-}
+#if ENABLE_OVERLOADING
+    WindowHideTitlebarWhenMaximizedPropertyInfo,
+#endif
+    constructWindowHideTitlebarWhenMaximized,
+    getWindowHideTitlebarWhenMaximized      ,
+    setWindowHideTitlebarWhenMaximized      ,
+#if ENABLE_OVERLOADING
+    windowHideTitlebarWhenMaximized         ,
+#endif
+
+
+-- ** icon #attr:icon#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowIconPropertyInfo                  ,
+#endif
+    clearWindowIcon                         ,
+    constructWindowIcon                     ,
+    getWindowIcon                           ,
+    setWindowIcon                           ,
+#if ENABLE_OVERLOADING
+    windowIcon                              ,
+#endif
+
+
+-- ** iconName #attr:iconName#
+{- | The :icon-name property specifies the name of the themed icon to
+use as the window icon. See 'GI.Gtk.Objects.IconTheme.IconTheme' for more details.
+
+/Since: 2.6/
+-}
+#if ENABLE_OVERLOADING
+    WindowIconNamePropertyInfo              ,
+#endif
+    clearWindowIconName                     ,
+    constructWindowIconName                 ,
+    getWindowIconName                       ,
+    setWindowIconName                       ,
+#if ENABLE_OVERLOADING
+    windowIconName                          ,
+#endif
+
+
+-- ** isActive #attr:isActive#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowIsActivePropertyInfo              ,
+#endif
+    getWindowIsActive                       ,
+
+
+-- ** isMaximized #attr:isMaximized#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowIsMaximizedPropertyInfo           ,
+#endif
+    getWindowIsMaximized                    ,
+
+
+-- ** mnemonicsVisible #attr:mnemonicsVisible#
+{- | Whether mnemonics are currently visible in this window.
+
+This property is maintained by GTK+ based on user input,
+and should not be set by applications.
+
+/Since: 2.20/
+-}
+#if ENABLE_OVERLOADING
+    WindowMnemonicsVisiblePropertyInfo      ,
+#endif
+    constructWindowMnemonicsVisible         ,
+    getWindowMnemonicsVisible               ,
+    setWindowMnemonicsVisible               ,
+#if ENABLE_OVERLOADING
+    windowMnemonicsVisible                  ,
+#endif
+
+
+-- ** modal #attr:modal#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowModalPropertyInfo                 ,
+#endif
+    constructWindowModal                    ,
+    getWindowModal                          ,
+    setWindowModal                          ,
+#if ENABLE_OVERLOADING
+    windowModal                             ,
+#endif
+
+
+-- ** resizable #attr:resizable#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowResizablePropertyInfo             ,
+#endif
+    constructWindowResizable                ,
+    getWindowResizable                      ,
+    setWindowResizable                      ,
+#if ENABLE_OVERLOADING
+    windowResizable                         ,
+#endif
+
+
+-- ** resizeGripVisible #attr:resizeGripVisible#
+{- | Whether a corner resize grip is currently shown.
+
+/Since: 3.0/
+-}
+#if ENABLE_OVERLOADING
+    WindowResizeGripVisiblePropertyInfo     ,
+#endif
+    getWindowResizeGripVisible              ,
+#if ENABLE_OVERLOADING
+    windowResizeGripVisible                 ,
+#endif
+
+
+-- ** role #attr:role#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowRolePropertyInfo                  ,
+#endif
+    constructWindowRole                     ,
+    getWindowRole                           ,
+    setWindowRole                           ,
+#if ENABLE_OVERLOADING
+    windowRole                              ,
+#endif
+
+
+-- ** screen #attr:screen#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowScreenPropertyInfo                ,
+#endif
+    constructWindowScreen                   ,
+    getWindowScreen                         ,
+    setWindowScreen                         ,
+#if ENABLE_OVERLOADING
+    windowScreen                            ,
+#endif
+
+
+-- ** skipPagerHint #attr:skipPagerHint#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowSkipPagerHintPropertyInfo         ,
+#endif
+    constructWindowSkipPagerHint            ,
+    getWindowSkipPagerHint                  ,
+    setWindowSkipPagerHint                  ,
+#if ENABLE_OVERLOADING
+    windowSkipPagerHint                     ,
+#endif
+
+
+-- ** skipTaskbarHint #attr:skipTaskbarHint#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowSkipTaskbarHintPropertyInfo       ,
+#endif
+    constructWindowSkipTaskbarHint          ,
+    getWindowSkipTaskbarHint                ,
+    setWindowSkipTaskbarHint                ,
+#if ENABLE_OVERLOADING
+    windowSkipTaskbarHint                   ,
+#endif
+
+
+-- ** startupId #attr:startupId#
+{- | The :startup-id is a write-only property for setting window\'s
+startup notification identifier. See 'GI.Gtk.Objects.Window.windowSetStartupId'
+for more details.
+
+/Since: 2.12/
+-}
+#if ENABLE_OVERLOADING
+    WindowStartupIdPropertyInfo             ,
+#endif
+    constructWindowStartupId                ,
+    setWindowStartupId                      ,
+#if ENABLE_OVERLOADING
+    windowStartupId                         ,
+#endif
+
+
+-- ** title #attr:title#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowTitlePropertyInfo                 ,
+#endif
+    constructWindowTitle                    ,
+    getWindowTitle                          ,
+    setWindowTitle                          ,
+#if ENABLE_OVERLOADING
+    windowTitle                             ,
+#endif
+
+
+-- ** transientFor #attr:transientFor#
+{- | The transient parent of the window. See 'GI.Gtk.Objects.Window.windowSetTransientFor' for
+more details about transient windows.
+
+/Since: 2.10/
+-}
+#if ENABLE_OVERLOADING
+    WindowTransientForPropertyInfo          ,
+#endif
+    clearWindowTransientFor                 ,
+    constructWindowTransientFor             ,
+    getWindowTransientFor                   ,
+    setWindowTransientFor                   ,
+#if ENABLE_OVERLOADING
+    windowTransientFor                      ,
+#endif
+
+
+-- ** type #attr:type#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowTypePropertyInfo                  ,
+#endif
+    constructWindowType                     ,
+    getWindowType                           ,
+#if ENABLE_OVERLOADING
+    windowType                              ,
+#endif
+
+
+-- ** typeHint #attr:typeHint#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowTypeHintPropertyInfo              ,
+#endif
+    constructWindowTypeHint                 ,
+    getWindowTypeHint                       ,
+    setWindowTypeHint                       ,
+#if ENABLE_OVERLOADING
+    windowTypeHint                          ,
+#endif
+
+
+-- ** urgencyHint #attr:urgencyHint#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowUrgencyHintPropertyInfo           ,
+#endif
+    constructWindowUrgencyHint              ,
+    getWindowUrgencyHint                    ,
+    setWindowUrgencyHint                    ,
+#if ENABLE_OVERLOADING
+    windowUrgencyHint                       ,
+#endif
+
+
+-- ** windowPosition #attr:windowPosition#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    WindowWindowPositionPropertyInfo        ,
+#endif
+    constructWindowWindowPosition           ,
+    getWindowWindowPosition                 ,
+    setWindowWindowPosition                 ,
+#if ENABLE_OVERLOADING
+    windowWindowPosition                    ,
+#endif
+
+
+
+
+ -- * Signals
+-- ** activateDefault #signal:activateDefault#
+
+    C_WindowActivateDefaultCallback         ,
+    WindowActivateDefaultCallback           ,
+#if ENABLE_OVERLOADING
+    WindowActivateDefaultSignalInfo         ,
+#endif
+    afterWindowActivateDefault              ,
+    genClosure_WindowActivateDefault        ,
+    mk_WindowActivateDefaultCallback        ,
+    noWindowActivateDefaultCallback         ,
+    onWindowActivateDefault                 ,
+    wrap_WindowActivateDefaultCallback      ,
+
+
+-- ** activateFocus #signal:activateFocus#
+
+    C_WindowActivateFocusCallback           ,
+    WindowActivateFocusCallback             ,
+#if ENABLE_OVERLOADING
+    WindowActivateFocusSignalInfo           ,
+#endif
+    afterWindowActivateFocus                ,
+    genClosure_WindowActivateFocus          ,
+    mk_WindowActivateFocusCallback          ,
+    noWindowActivateFocusCallback           ,
+    onWindowActivateFocus                   ,
+    wrap_WindowActivateFocusCallback        ,
+
+
+-- ** enableDebugging #signal:enableDebugging#
+
+    C_WindowEnableDebuggingCallback         ,
+    WindowEnableDebuggingCallback           ,
+#if ENABLE_OVERLOADING
+    WindowEnableDebuggingSignalInfo         ,
+#endif
+    afterWindowEnableDebugging              ,
+    genClosure_WindowEnableDebugging        ,
+    mk_WindowEnableDebuggingCallback        ,
+    noWindowEnableDebuggingCallback         ,
+    onWindowEnableDebugging                 ,
+    wrap_WindowEnableDebuggingCallback      ,
+
+
+-- ** keysChanged #signal:keysChanged#
+
+    C_WindowKeysChangedCallback             ,
+    WindowKeysChangedCallback               ,
+#if ENABLE_OVERLOADING
+    WindowKeysChangedSignalInfo             ,
+#endif
+    afterWindowKeysChanged                  ,
+    genClosure_WindowKeysChanged            ,
+    mk_WindowKeysChangedCallback            ,
+    noWindowKeysChangedCallback             ,
+    onWindowKeysChanged                     ,
+    wrap_WindowKeysChangedCallback          ,
+
+
+-- ** setFocus #signal:setFocus#
+
+    C_WindowSetFocusCallback                ,
+    WindowSetFocusCallback                  ,
+#if ENABLE_OVERLOADING
+    WindowSetFocusSignalInfo                ,
+#endif
+    afterWindowSetFocus                     ,
+    genClosure_WindowSetFocus               ,
+    mk_WindowSetFocusCallback               ,
+    noWindowSetFocusCallback                ,
+    onWindowSetFocus                        ,
+    wrap_WindowSetFocusCallback             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Enums as Gdk.Enums
+import qualified GI.Gdk.Flags as Gdk.Flags
+import qualified GI.Gdk.Objects.Screen as Gdk.Screen
+import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
+import qualified GI.Gdk.Structs.Geometry as Gdk.Geometry
+import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
+import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Application as Gtk.Application
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WindowGroup as Gtk.WindowGroup
+
+-- | Memory-managed wrapper type.
+newtype Window = Window (ManagedPtr Window)
+foreign import ccall "gtk_window_get_type"
+    c_gtk_window_get_type :: IO GType
+
+instance GObject Window where
+    gobjectType = c_gtk_window_get_type
+    
+
+-- | Type class for types which can be safely cast to `Window`, for instance with `toWindow`.
+class (GObject o, O.IsDescendantOf Window o) => IsWindow o
+instance (GObject o, O.IsDescendantOf Window o) => IsWindow o
+
+instance O.HasParentTypes Window
+type instance O.ParentTypes Window = '[Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]
+
+-- | Cast to `Window`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toWindow :: (MonadIO m, IsWindow o) => o -> m Window
+toWindow = liftIO . unsafeCastTo Window
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Window`.
+noWindow :: Maybe Window
+noWindow = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveWindowMethod (t :: Symbol) (o :: *) :: * where
+    ResolveWindowMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
+    ResolveWindowMethod "activateDefault" o = WindowActivateDefaultMethodInfo
+    ResolveWindowMethod "activateFocus" o = WindowActivateFocusMethodInfo
+    ResolveWindowMethod "activateKey" o = WindowActivateKeyMethodInfo
+    ResolveWindowMethod "add" o = Gtk.Container.ContainerAddMethodInfo
+    ResolveWindowMethod "addAccelGroup" o = WindowAddAccelGroupMethodInfo
+    ResolveWindowMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
+    ResolveWindowMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
+    ResolveWindowMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
+    ResolveWindowMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
+    ResolveWindowMethod "addMnemonic" o = WindowAddMnemonicMethodInfo
+    ResolveWindowMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
+    ResolveWindowMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
+    ResolveWindowMethod "beginMoveDrag" o = WindowBeginMoveDragMethodInfo
+    ResolveWindowMethod "beginResizeDrag" o = WindowBeginResizeDragMethodInfo
+    ResolveWindowMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveWindowMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveWindowMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
+    ResolveWindowMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
+    ResolveWindowMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
+    ResolveWindowMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
+    ResolveWindowMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
+    ResolveWindowMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
+    ResolveWindowMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
+    ResolveWindowMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
+    ResolveWindowMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
+    ResolveWindowMethod "close" o = WindowCloseMethodInfo
+    ResolveWindowMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
+    ResolveWindowMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
+    ResolveWindowMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
+    ResolveWindowMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
+    ResolveWindowMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
+    ResolveWindowMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
+    ResolveWindowMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
+    ResolveWindowMethod "deiconify" o = WindowDeiconifyMethodInfo
+    ResolveWindowMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
+    ResolveWindowMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
+    ResolveWindowMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
+    ResolveWindowMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
+    ResolveWindowMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveWindowMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
+    ResolveWindowMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveWindowMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveWindowMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveWindowMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
+    ResolveWindowMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
+    ResolveWindowMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveWindowMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
+    ResolveWindowMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
+    ResolveWindowMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
+    ResolveWindowMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveWindowMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
+    ResolveWindowMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
+    ResolveWindowMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
+    ResolveWindowMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveWindowMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveWindowMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveWindowMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
+    ResolveWindowMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
+    ResolveWindowMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveWindowMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
+    ResolveWindowMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveWindowMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
+    ResolveWindowMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
+    ResolveWindowMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
+    ResolveWindowMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
+    ResolveWindowMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
+    ResolveWindowMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
+    ResolveWindowMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
+    ResolveWindowMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
+    ResolveWindowMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
+    ResolveWindowMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveWindowMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
+    ResolveWindowMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
+    ResolveWindowMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveWindowMethod "fullscreen" o = WindowFullscreenMethodInfo
+    ResolveWindowMethod "fullscreenOnMonitor" o = WindowFullscreenOnMonitorMethodInfo
+    ResolveWindowMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveWindowMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
+    ResolveWindowMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
+    ResolveWindowMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
+    ResolveWindowMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
+    ResolveWindowMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
+    ResolveWindowMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
+    ResolveWindowMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
+    ResolveWindowMethod "hasGroup" o = WindowHasGroupMethodInfo
+    ResolveWindowMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
+    ResolveWindowMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
+    ResolveWindowMethod "hasToplevelFocus" o = WindowHasToplevelFocusMethodInfo
+    ResolveWindowMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
+    ResolveWindowMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
+    ResolveWindowMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
+    ResolveWindowMethod "iconify" o = WindowIconifyMethodInfo
+    ResolveWindowMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
+    ResolveWindowMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
+    ResolveWindowMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
+    ResolveWindowMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
+    ResolveWindowMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
+    ResolveWindowMethod "isActive" o = WindowIsActiveMethodInfo
+    ResolveWindowMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
+    ResolveWindowMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
+    ResolveWindowMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
+    ResolveWindowMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveWindowMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
+    ResolveWindowMethod "isMaximized" o = WindowIsMaximizedMethodInfo
+    ResolveWindowMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
+    ResolveWindowMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
+    ResolveWindowMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
+    ResolveWindowMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
+    ResolveWindowMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
+    ResolveWindowMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
+    ResolveWindowMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
+    ResolveWindowMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
+    ResolveWindowMethod "maximize" o = WindowMaximizeMethodInfo
+    ResolveWindowMethod "mnemonicActivate" o = WindowMnemonicActivateMethodInfo
+    ResolveWindowMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
+    ResolveWindowMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
+    ResolveWindowMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
+    ResolveWindowMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
+    ResolveWindowMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
+    ResolveWindowMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
+    ResolveWindowMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
+    ResolveWindowMethod "move" o = WindowMoveMethodInfo
+    ResolveWindowMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveWindowMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveWindowMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
+    ResolveWindowMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
+    ResolveWindowMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
+    ResolveWindowMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
+    ResolveWindowMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
+    ResolveWindowMethod "parseGeometry" o = WindowParseGeometryMethodInfo
+    ResolveWindowMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
+    ResolveWindowMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
+    ResolveWindowMethod "present" o = WindowPresentMethodInfo
+    ResolveWindowMethod "presentWithTime" o = WindowPresentWithTimeMethodInfo
+    ResolveWindowMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
+    ResolveWindowMethod "propagateKeyEvent" o = WindowPropagateKeyEventMethodInfo
+    ResolveWindowMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
+    ResolveWindowMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
+    ResolveWindowMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
+    ResolveWindowMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
+    ResolveWindowMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
+    ResolveWindowMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
+    ResolveWindowMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveWindowMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
+    ResolveWindowMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveWindowMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveWindowMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
+    ResolveWindowMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
+    ResolveWindowMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
+    ResolveWindowMethod "removeAccelGroup" o = WindowRemoveAccelGroupMethodInfo
+    ResolveWindowMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
+    ResolveWindowMethod "removeMnemonic" o = WindowRemoveMnemonicMethodInfo
+    ResolveWindowMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveWindowMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
+    ResolveWindowMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
+    ResolveWindowMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
+    ResolveWindowMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
+    ResolveWindowMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
+    ResolveWindowMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
+    ResolveWindowMethod "reshowWithInitialSize" o = WindowReshowWithInitialSizeMethodInfo
+    ResolveWindowMethod "resize" o = WindowResizeMethodInfo
+    ResolveWindowMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
+    ResolveWindowMethod "resizeGripIsVisible" o = WindowResizeGripIsVisibleMethodInfo
+    ResolveWindowMethod "resizeToGeometry" o = WindowResizeToGeometryMethodInfo
+    ResolveWindowMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveWindowMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
+    ResolveWindowMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
+    ResolveWindowMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
+    ResolveWindowMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
+    ResolveWindowMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
+    ResolveWindowMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
+    ResolveWindowMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
+    ResolveWindowMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveWindowMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
+    ResolveWindowMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveWindowMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveWindowMethod "stick" o = WindowStickMethodInfo
+    ResolveWindowMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
+    ResolveWindowMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
+    ResolveWindowMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
+    ResolveWindowMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveWindowMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
+    ResolveWindowMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
+    ResolveWindowMethod "unfullscreen" o = WindowUnfullscreenMethodInfo
+    ResolveWindowMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
+    ResolveWindowMethod "unmaximize" o = WindowUnmaximizeMethodInfo
+    ResolveWindowMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
+    ResolveWindowMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
+    ResolveWindowMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveWindowMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
+    ResolveWindowMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
+    ResolveWindowMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
+    ResolveWindowMethod "unstick" o = WindowUnstickMethodInfo
+    ResolveWindowMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveWindowMethod "getAcceptFocus" o = WindowGetAcceptFocusMethodInfo
+    ResolveWindowMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
+    ResolveWindowMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
+    ResolveWindowMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
+    ResolveWindowMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
+    ResolveWindowMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
+    ResolveWindowMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
+    ResolveWindowMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
+    ResolveWindowMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
+    ResolveWindowMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
+    ResolveWindowMethod "getApplication" o = WindowGetApplicationMethodInfo
+    ResolveWindowMethod "getAttachedTo" o = WindowGetAttachedToMethodInfo
+    ResolveWindowMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
+    ResolveWindowMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
+    ResolveWindowMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
+    ResolveWindowMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
+    ResolveWindowMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
+    ResolveWindowMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
+    ResolveWindowMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
+    ResolveWindowMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
+    ResolveWindowMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
+    ResolveWindowMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
+    ResolveWindowMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveWindowMethod "getDecorated" o = WindowGetDecoratedMethodInfo
+    ResolveWindowMethod "getDefaultSize" o = WindowGetDefaultSizeMethodInfo
+    ResolveWindowMethod "getDefaultWidget" o = WindowGetDefaultWidgetMethodInfo
+    ResolveWindowMethod "getDeletable" o = WindowGetDeletableMethodInfo
+    ResolveWindowMethod "getDestroyWithParent" o = WindowGetDestroyWithParentMethodInfo
+    ResolveWindowMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
+    ResolveWindowMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
+    ResolveWindowMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
+    ResolveWindowMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
+    ResolveWindowMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
+    ResolveWindowMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
+    ResolveWindowMethod "getFocus" o = WindowGetFocusMethodInfo
+    ResolveWindowMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
+    ResolveWindowMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
+    ResolveWindowMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
+    ResolveWindowMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
+    ResolveWindowMethod "getFocusOnMap" o = WindowGetFocusOnMapMethodInfo
+    ResolveWindowMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
+    ResolveWindowMethod "getFocusVisible" o = WindowGetFocusVisibleMethodInfo
+    ResolveWindowMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
+    ResolveWindowMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
+    ResolveWindowMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
+    ResolveWindowMethod "getGravity" o = WindowGetGravityMethodInfo
+    ResolveWindowMethod "getGroup" o = WindowGetGroupMethodInfo
+    ResolveWindowMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
+    ResolveWindowMethod "getHasResizeGrip" o = WindowGetHasResizeGripMethodInfo
+    ResolveWindowMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
+    ResolveWindowMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
+    ResolveWindowMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
+    ResolveWindowMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
+    ResolveWindowMethod "getHideTitlebarWhenMaximized" o = WindowGetHideTitlebarWhenMaximizedMethodInfo
+    ResolveWindowMethod "getIcon" o = WindowGetIconMethodInfo
+    ResolveWindowMethod "getIconList" o = WindowGetIconListMethodInfo
+    ResolveWindowMethod "getIconName" o = WindowGetIconNameMethodInfo
+    ResolveWindowMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
+    ResolveWindowMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
+    ResolveWindowMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
+    ResolveWindowMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
+    ResolveWindowMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
+    ResolveWindowMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
+    ResolveWindowMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
+    ResolveWindowMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
+    ResolveWindowMethod "getMnemonicModifier" o = WindowGetMnemonicModifierMethodInfo
+    ResolveWindowMethod "getMnemonicsVisible" o = WindowGetMnemonicsVisibleMethodInfo
+    ResolveWindowMethod "getModal" o = WindowGetModalMethodInfo
+    ResolveWindowMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
+    ResolveWindowMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
+    ResolveWindowMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
+    ResolveWindowMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
+    ResolveWindowMethod "getOpacity" o = WindowGetOpacityMethodInfo
+    ResolveWindowMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
+    ResolveWindowMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
+    ResolveWindowMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
+    ResolveWindowMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
+    ResolveWindowMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
+    ResolveWindowMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
+    ResolveWindowMethod "getPosition" o = WindowGetPositionMethodInfo
+    ResolveWindowMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
+    ResolveWindowMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveWindowMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveWindowMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
+    ResolveWindowMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
+    ResolveWindowMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveWindowMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveWindowMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveWindowMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
+    ResolveWindowMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
+    ResolveWindowMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
+    ResolveWindowMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
+    ResolveWindowMethod "getResizable" o = WindowGetResizableMethodInfo
+    ResolveWindowMethod "getResizeGripArea" o = WindowGetResizeGripAreaMethodInfo
+    ResolveWindowMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
+    ResolveWindowMethod "getRole" o = WindowGetRoleMethodInfo
+    ResolveWindowMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
+    ResolveWindowMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
+    ResolveWindowMethod "getScreen" o = WindowGetScreenMethodInfo
+    ResolveWindowMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
+    ResolveWindowMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
+    ResolveWindowMethod "getSize" o = WindowGetSizeMethodInfo
+    ResolveWindowMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
+    ResolveWindowMethod "getSkipPagerHint" o = WindowGetSkipPagerHintMethodInfo
+    ResolveWindowMethod "getSkipTaskbarHint" o = WindowGetSkipTaskbarHintMethodInfo
+    ResolveWindowMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
+    ResolveWindowMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
+    ResolveWindowMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
+    ResolveWindowMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
+    ResolveWindowMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
+    ResolveWindowMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
+    ResolveWindowMethod "getTitle" o = WindowGetTitleMethodInfo
+    ResolveWindowMethod "getTitlebar" o = WindowGetTitlebarMethodInfo
+    ResolveWindowMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
+    ResolveWindowMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
+    ResolveWindowMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
+    ResolveWindowMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
+    ResolveWindowMethod "getTransientFor" o = WindowGetTransientForMethodInfo
+    ResolveWindowMethod "getTypeHint" o = WindowGetTypeHintMethodInfo
+    ResolveWindowMethod "getUrgencyHint" o = WindowGetUrgencyHintMethodInfo
+    ResolveWindowMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
+    ResolveWindowMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
+    ResolveWindowMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
+    ResolveWindowMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
+    ResolveWindowMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
+    ResolveWindowMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
+    ResolveWindowMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
+    ResolveWindowMethod "getWindowType" o = WindowGetWindowTypeMethodInfo
+    ResolveWindowMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
+    ResolveWindowMethod "setAcceptFocus" o = WindowSetAcceptFocusMethodInfo
+    ResolveWindowMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
+    ResolveWindowMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
+    ResolveWindowMethod "setApplication" o = WindowSetApplicationMethodInfo
+    ResolveWindowMethod "setAttachedTo" o = WindowSetAttachedToMethodInfo
+    ResolveWindowMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
+    ResolveWindowMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
+    ResolveWindowMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
+    ResolveWindowMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
+    ResolveWindowMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
+    ResolveWindowMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
+    ResolveWindowMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
+    ResolveWindowMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveWindowMethod "setDecorated" o = WindowSetDecoratedMethodInfo
+    ResolveWindowMethod "setDefault" o = WindowSetDefaultMethodInfo
+    ResolveWindowMethod "setDefaultGeometry" o = WindowSetDefaultGeometryMethodInfo
+    ResolveWindowMethod "setDefaultSize" o = WindowSetDefaultSizeMethodInfo
+    ResolveWindowMethod "setDeletable" o = WindowSetDeletableMethodInfo
+    ResolveWindowMethod "setDestroyWithParent" o = WindowSetDestroyWithParentMethodInfo
+    ResolveWindowMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
+    ResolveWindowMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
+    ResolveWindowMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
+    ResolveWindowMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
+    ResolveWindowMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
+    ResolveWindowMethod "setFocus" o = WindowSetFocusMethodInfo
+    ResolveWindowMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
+    ResolveWindowMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
+    ResolveWindowMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
+    ResolveWindowMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
+    ResolveWindowMethod "setFocusOnMap" o = WindowSetFocusOnMapMethodInfo
+    ResolveWindowMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
+    ResolveWindowMethod "setFocusVisible" o = WindowSetFocusVisibleMethodInfo
+    ResolveWindowMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
+    ResolveWindowMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
+    ResolveWindowMethod "setGeometryHints" o = WindowSetGeometryHintsMethodInfo
+    ResolveWindowMethod "setGravity" o = WindowSetGravityMethodInfo
+    ResolveWindowMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
+    ResolveWindowMethod "setHasResizeGrip" o = WindowSetHasResizeGripMethodInfo
+    ResolveWindowMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
+    ResolveWindowMethod "setHasUserRefCount" o = WindowSetHasUserRefCountMethodInfo
+    ResolveWindowMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
+    ResolveWindowMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
+    ResolveWindowMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
+    ResolveWindowMethod "setHideTitlebarWhenMaximized" o = WindowSetHideTitlebarWhenMaximizedMethodInfo
+    ResolveWindowMethod "setIcon" o = WindowSetIconMethodInfo
+    ResolveWindowMethod "setIconFromFile" o = WindowSetIconFromFileMethodInfo
+    ResolveWindowMethod "setIconList" o = WindowSetIconListMethodInfo
+    ResolveWindowMethod "setIconName" o = WindowSetIconNameMethodInfo
+    ResolveWindowMethod "setKeepAbove" o = WindowSetKeepAboveMethodInfo
+    ResolveWindowMethod "setKeepBelow" o = WindowSetKeepBelowMethodInfo
+    ResolveWindowMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
+    ResolveWindowMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
+    ResolveWindowMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
+    ResolveWindowMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
+    ResolveWindowMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
+    ResolveWindowMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
+    ResolveWindowMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
+    ResolveWindowMethod "setMnemonicModifier" o = WindowSetMnemonicModifierMethodInfo
+    ResolveWindowMethod "setMnemonicsVisible" o = WindowSetMnemonicsVisibleMethodInfo
+    ResolveWindowMethod "setModal" o = WindowSetModalMethodInfo
+    ResolveWindowMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
+    ResolveWindowMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
+    ResolveWindowMethod "setOpacity" o = WindowSetOpacityMethodInfo
+    ResolveWindowMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
+    ResolveWindowMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
+    ResolveWindowMethod "setPosition" o = WindowSetPositionMethodInfo
+    ResolveWindowMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveWindowMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
+    ResolveWindowMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
+    ResolveWindowMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
+    ResolveWindowMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveWindowMethod "setResizable" o = WindowSetResizableMethodInfo
+    ResolveWindowMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
+    ResolveWindowMethod "setRole" o = WindowSetRoleMethodInfo
+    ResolveWindowMethod "setScreen" o = WindowSetScreenMethodInfo
+    ResolveWindowMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
+    ResolveWindowMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
+    ResolveWindowMethod "setSkipPagerHint" o = WindowSetSkipPagerHintMethodInfo
+    ResolveWindowMethod "setSkipTaskbarHint" o = WindowSetSkipTaskbarHintMethodInfo
+    ResolveWindowMethod "setStartupId" o = WindowSetStartupIdMethodInfo
+    ResolveWindowMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
+    ResolveWindowMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
+    ResolveWindowMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
+    ResolveWindowMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
+    ResolveWindowMethod "setTitle" o = WindowSetTitleMethodInfo
+    ResolveWindowMethod "setTitlebar" o = WindowSetTitlebarMethodInfo
+    ResolveWindowMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
+    ResolveWindowMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
+    ResolveWindowMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
+    ResolveWindowMethod "setTransientFor" o = WindowSetTransientForMethodInfo
+    ResolveWindowMethod "setTypeHint" o = WindowSetTypeHintMethodInfo
+    ResolveWindowMethod "setUrgencyHint" o = WindowSetUrgencyHintMethodInfo
+    ResolveWindowMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
+    ResolveWindowMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
+    ResolveWindowMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
+    ResolveWindowMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
+    ResolveWindowMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
+    ResolveWindowMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
+    ResolveWindowMethod "setWmclass" o = WindowSetWmclassMethodInfo
+    ResolveWindowMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveWindowMethod t Window, O.MethodInfo info Window p) => OL.IsLabel t (Window -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+-- signal Window::activate-default
+{- |
+The ::activate-default signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user activates the default widget
+of /@window@/.
+-}
+type WindowActivateDefaultCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowActivateDefaultCallback`@.
+noWindowActivateDefaultCallback :: Maybe WindowActivateDefaultCallback
+noWindowActivateDefaultCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WindowActivateDefaultCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WindowActivateDefaultCallback`.
+foreign import ccall "wrapper"
+    mk_WindowActivateDefaultCallback :: C_WindowActivateDefaultCallback -> IO (FunPtr C_WindowActivateDefaultCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WindowActivateDefault :: MonadIO m => WindowActivateDefaultCallback -> m (GClosure C_WindowActivateDefaultCallback)
+genClosure_WindowActivateDefault cb = liftIO $ do
+    let cb' = wrap_WindowActivateDefaultCallback cb
+    mk_WindowActivateDefaultCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WindowActivateDefaultCallback` into a `C_WindowActivateDefaultCallback`.
+wrap_WindowActivateDefaultCallback ::
+    WindowActivateDefaultCallback ->
+    C_WindowActivateDefaultCallback
+wrap_WindowActivateDefaultCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate-default@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' window #activateDefault callback
+@
+-}
+onWindowActivateDefault :: (IsWindow a, MonadIO m) => a -> WindowActivateDefaultCallback -> m SignalHandlerId
+onWindowActivateDefault obj cb = liftIO $ do
+    let cb' = wrap_WindowActivateDefaultCallback cb
+    cb'' <- mk_WindowActivateDefaultCallback cb'
+    connectSignalFunPtr obj "activate-default" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-default@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' window #activateDefault callback
+@
+-}
+afterWindowActivateDefault :: (IsWindow a, MonadIO m) => a -> WindowActivateDefaultCallback -> m SignalHandlerId
+afterWindowActivateDefault obj cb = liftIO $ do
+    let cb' = wrap_WindowActivateDefaultCallback cb
+    cb'' <- mk_WindowActivateDefaultCallback cb'
+    connectSignalFunPtr obj "activate-default" cb'' SignalConnectAfter
+
+
+-- signal Window::activate-focus
+{- |
+The ::activate-focus signal is a
+[keybinding signal][GtkBindingSignal]
+which gets emitted when the user activates the currently
+focused widget of /@window@/.
+-}
+type WindowActivateFocusCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowActivateFocusCallback`@.
+noWindowActivateFocusCallback :: Maybe WindowActivateFocusCallback
+noWindowActivateFocusCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WindowActivateFocusCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WindowActivateFocusCallback`.
+foreign import ccall "wrapper"
+    mk_WindowActivateFocusCallback :: C_WindowActivateFocusCallback -> IO (FunPtr C_WindowActivateFocusCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WindowActivateFocus :: MonadIO m => WindowActivateFocusCallback -> m (GClosure C_WindowActivateFocusCallback)
+genClosure_WindowActivateFocus cb = liftIO $ do
+    let cb' = wrap_WindowActivateFocusCallback cb
+    mk_WindowActivateFocusCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WindowActivateFocusCallback` into a `C_WindowActivateFocusCallback`.
+wrap_WindowActivateFocusCallback ::
+    WindowActivateFocusCallback ->
+    C_WindowActivateFocusCallback
+wrap_WindowActivateFocusCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@activate-focus@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' window #activateFocus callback
+@
+-}
+onWindowActivateFocus :: (IsWindow a, MonadIO m) => a -> WindowActivateFocusCallback -> m SignalHandlerId
+onWindowActivateFocus obj cb = liftIO $ do
+    let cb' = wrap_WindowActivateFocusCallback cb
+    cb'' <- mk_WindowActivateFocusCallback cb'
+    connectSignalFunPtr obj "activate-focus" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@activate-focus@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' window #activateFocus callback
+@
+-}
+afterWindowActivateFocus :: (IsWindow a, MonadIO m) => a -> WindowActivateFocusCallback -> m SignalHandlerId
+afterWindowActivateFocus obj cb = liftIO $ do
+    let cb' = wrap_WindowActivateFocusCallback cb
+    cb'' <- mk_WindowActivateFocusCallback cb'
+    connectSignalFunPtr obj "activate-focus" cb'' SignalConnectAfter
+
+
+-- signal Window::enable-debugging
+{- |
+The ::enable-debugging signal is a [keybinding signal][GtkBindingSignal]
+which gets emitted when the user enables or disables interactive
+debugging. When /@toggle@/ is 'True', interactive debugging is toggled
+on or off, when it is 'False', the debugger will be pointed at the
+widget under the pointer.
+
+The default bindings for this signal are Ctrl-Shift-I
+and Ctrl-Shift-D.
+-}
+type WindowEnableDebuggingCallback =
+    Bool
+    {- ^ /@toggle@/: toggle the debugger -}
+    -> IO Bool
+    {- ^ __Returns:__ 'True' if the key binding was handled -}
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowEnableDebuggingCallback`@.
+noWindowEnableDebuggingCallback :: Maybe WindowEnableDebuggingCallback
+noWindowEnableDebuggingCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WindowEnableDebuggingCallback =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO CInt
+
+-- | Generate a function pointer callable from C code, from a `C_WindowEnableDebuggingCallback`.
+foreign import ccall "wrapper"
+    mk_WindowEnableDebuggingCallback :: C_WindowEnableDebuggingCallback -> IO (FunPtr C_WindowEnableDebuggingCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WindowEnableDebugging :: MonadIO m => WindowEnableDebuggingCallback -> m (GClosure C_WindowEnableDebuggingCallback)
+genClosure_WindowEnableDebugging cb = liftIO $ do
+    let cb' = wrap_WindowEnableDebuggingCallback cb
+    mk_WindowEnableDebuggingCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WindowEnableDebuggingCallback` into a `C_WindowEnableDebuggingCallback`.
+wrap_WindowEnableDebuggingCallback ::
+    WindowEnableDebuggingCallback ->
+    C_WindowEnableDebuggingCallback
+wrap_WindowEnableDebuggingCallback _cb _ toggle _ = do
+    let toggle' = (/= 0) toggle
+    result <- _cb  toggle'
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+
+{- |
+Connect a signal handler for the “@enable-debugging@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' window #enableDebugging callback
+@
+-}
+onWindowEnableDebugging :: (IsWindow a, MonadIO m) => a -> WindowEnableDebuggingCallback -> m SignalHandlerId
+onWindowEnableDebugging obj cb = liftIO $ do
+    let cb' = wrap_WindowEnableDebuggingCallback cb
+    cb'' <- mk_WindowEnableDebuggingCallback cb'
+    connectSignalFunPtr obj "enable-debugging" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@enable-debugging@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' window #enableDebugging callback
+@
+-}
+afterWindowEnableDebugging :: (IsWindow a, MonadIO m) => a -> WindowEnableDebuggingCallback -> m SignalHandlerId
+afterWindowEnableDebugging obj cb = liftIO $ do
+    let cb' = wrap_WindowEnableDebuggingCallback cb
+    cb'' <- mk_WindowEnableDebuggingCallback cb'
+    connectSignalFunPtr obj "enable-debugging" cb'' SignalConnectAfter
+
+
+-- signal Window::keys-changed
+{- |
+The ::keys-changed signal gets emitted when the set of accelerators
+or mnemonics that are associated with /@window@/ changes.
+-}
+type WindowKeysChangedCallback =
+    IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowKeysChangedCallback`@.
+noWindowKeysChangedCallback :: Maybe WindowKeysChangedCallback
+noWindowKeysChangedCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WindowKeysChangedCallback =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WindowKeysChangedCallback`.
+foreign import ccall "wrapper"
+    mk_WindowKeysChangedCallback :: C_WindowKeysChangedCallback -> IO (FunPtr C_WindowKeysChangedCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WindowKeysChanged :: MonadIO m => WindowKeysChangedCallback -> m (GClosure C_WindowKeysChangedCallback)
+genClosure_WindowKeysChanged cb = liftIO $ do
+    let cb' = wrap_WindowKeysChangedCallback cb
+    mk_WindowKeysChangedCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WindowKeysChangedCallback` into a `C_WindowKeysChangedCallback`.
+wrap_WindowKeysChangedCallback ::
+    WindowKeysChangedCallback ->
+    C_WindowKeysChangedCallback
+wrap_WindowKeysChangedCallback _cb _ _ = do
+    _cb 
+
+
+{- |
+Connect a signal handler for the “@keys-changed@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' window #keysChanged callback
+@
+-}
+onWindowKeysChanged :: (IsWindow a, MonadIO m) => a -> WindowKeysChangedCallback -> m SignalHandlerId
+onWindowKeysChanged obj cb = liftIO $ do
+    let cb' = wrap_WindowKeysChangedCallback cb
+    cb'' <- mk_WindowKeysChangedCallback cb'
+    connectSignalFunPtr obj "keys-changed" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@keys-changed@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' window #keysChanged callback
+@
+-}
+afterWindowKeysChanged :: (IsWindow a, MonadIO m) => a -> WindowKeysChangedCallback -> m SignalHandlerId
+afterWindowKeysChanged obj cb = liftIO $ do
+    let cb' = wrap_WindowKeysChangedCallback cb
+    cb'' <- mk_WindowKeysChangedCallback cb'
+    connectSignalFunPtr obj "keys-changed" cb'' SignalConnectAfter
+
+
+-- signal Window::set-focus
+{- |
+/No description available in the introspection data./
+-}
+type WindowSetFocusCallback =
+    Gtk.Widget.Widget
+    -> IO ()
+
+-- | A convenience synonym for @`Nothing` :: `Maybe` `WindowSetFocusCallback`@.
+noWindowSetFocusCallback :: Maybe WindowSetFocusCallback
+noWindowSetFocusCallback = Nothing
+
+-- | Type for the callback on the (unwrapped) C side.
+type C_WindowSetFocusCallback =
+    Ptr () ->                               -- object
+    Ptr Gtk.Widget.Widget ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+-- | Generate a function pointer callable from C code, from a `C_WindowSetFocusCallback`.
+foreign import ccall "wrapper"
+    mk_WindowSetFocusCallback :: C_WindowSetFocusCallback -> IO (FunPtr C_WindowSetFocusCallback)
+
+-- | Wrap the callback into a `GClosure`.
+genClosure_WindowSetFocus :: MonadIO m => WindowSetFocusCallback -> m (GClosure C_WindowSetFocusCallback)
+genClosure_WindowSetFocus cb = liftIO $ do
+    let cb' = wrap_WindowSetFocusCallback cb
+    mk_WindowSetFocusCallback cb' >>= B.GClosure.newGClosure
+
+
+-- | Wrap a `WindowSetFocusCallback` into a `C_WindowSetFocusCallback`.
+wrap_WindowSetFocusCallback ::
+    WindowSetFocusCallback ->
+    C_WindowSetFocusCallback
+wrap_WindowSetFocusCallback _cb _ object _ = do
+    object' <- (newObject Gtk.Widget.Widget) object
+    _cb  object'
+
+
+{- |
+Connect a signal handler for the “@set-focus@” signal, to be run before the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.on' window #setFocus callback
+@
+-}
+onWindowSetFocus :: (IsWindow a, MonadIO m) => a -> WindowSetFocusCallback -> m SignalHandlerId
+onWindowSetFocus obj cb = liftIO $ do
+    let cb' = wrap_WindowSetFocusCallback cb
+    cb'' <- mk_WindowSetFocusCallback cb'
+    connectSignalFunPtr obj "set-focus" cb'' SignalConnectBefore
+
+{- |
+Connect a signal handler for the “@set-focus@” signal, to be run after the default handler.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Signals.after' window #setFocus callback
+@
+-}
+afterWindowSetFocus :: (IsWindow a, MonadIO m) => a -> WindowSetFocusCallback -> m SignalHandlerId
+afterWindowSetFocus obj cb = liftIO $ do
+    let cb' = wrap_WindowSetFocusCallback cb
+    cb'' <- mk_WindowSetFocusCallback cb'
+    connectSignalFunPtr obj "set-focus" cb'' SignalConnectAfter
+
+
+-- VVV Prop "accept-focus"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@accept-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #acceptFocus
+@
+-}
+getWindowAcceptFocus :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowAcceptFocus obj = liftIO $ B.Properties.getObjectPropertyBool obj "accept-focus"
+
+{- |
+Set the value of the “@accept-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #acceptFocus 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowAcceptFocus :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowAcceptFocus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "accept-focus" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@accept-focus@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowAcceptFocus :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowAcceptFocus val = B.Properties.constructObjectPropertyBool "accept-focus" val
+
+#if ENABLE_OVERLOADING
+data WindowAcceptFocusPropertyInfo
+instance AttrInfo WindowAcceptFocusPropertyInfo where
+    type AttrAllowedOps WindowAcceptFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowAcceptFocusPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowAcceptFocusPropertyInfo = IsWindow
+    type AttrGetType WindowAcceptFocusPropertyInfo = Bool
+    type AttrLabel WindowAcceptFocusPropertyInfo = "accept-focus"
+    type AttrOrigin WindowAcceptFocusPropertyInfo = Window
+    attrGet _ = getWindowAcceptFocus
+    attrSet _ = setWindowAcceptFocus
+    attrConstruct _ = constructWindowAcceptFocus
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "application"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Application"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@application@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #application
+@
+-}
+getWindowApplication :: (MonadIO m, IsWindow o) => o -> m (Maybe Gtk.Application.Application)
+getWindowApplication obj = liftIO $ B.Properties.getObjectPropertyObject obj "application" Gtk.Application.Application
+
+{- |
+Set the value of the “@application@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #application 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowApplication :: (MonadIO m, IsWindow o, Gtk.Application.IsApplication a) => o -> a -> m ()
+setWindowApplication obj val = liftIO $ B.Properties.setObjectPropertyObject obj "application" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@application@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowApplication :: (IsWindow o, Gtk.Application.IsApplication a) => a -> IO (GValueConstruct o)
+constructWindowApplication val = B.Properties.constructObjectPropertyObject "application" (Just val)
+
+{- |
+Set the value of the “@application@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #application
+@
+-}
+clearWindowApplication :: (MonadIO m, IsWindow o) => o -> m ()
+clearWindowApplication obj = liftIO $ B.Properties.setObjectPropertyObject obj "application" (Nothing :: Maybe Gtk.Application.Application)
+
+#if ENABLE_OVERLOADING
+data WindowApplicationPropertyInfo
+instance AttrInfo WindowApplicationPropertyInfo where
+    type AttrAllowedOps WindowApplicationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WindowApplicationPropertyInfo = Gtk.Application.IsApplication
+    type AttrBaseTypeConstraint WindowApplicationPropertyInfo = IsWindow
+    type AttrGetType WindowApplicationPropertyInfo = (Maybe Gtk.Application.Application)
+    type AttrLabel WindowApplicationPropertyInfo = "application"
+    type AttrOrigin WindowApplicationPropertyInfo = Window
+    attrGet _ = getWindowApplication
+    attrSet _ = setWindowApplication
+    attrConstruct _ = constructWindowApplication
+    attrClear _ = clearWindowApplication
+#endif
+
+-- VVV Prop "attached-to"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Widget"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@attached-to@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #attachedTo
+@
+-}
+getWindowAttachedTo :: (MonadIO m, IsWindow o) => o -> m (Maybe Gtk.Widget.Widget)
+getWindowAttachedTo obj = liftIO $ B.Properties.getObjectPropertyObject obj "attached-to" Gtk.Widget.Widget
+
+{- |
+Set the value of the “@attached-to@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #attachedTo 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowAttachedTo :: (MonadIO m, IsWindow o, Gtk.Widget.IsWidget a) => o -> a -> m ()
+setWindowAttachedTo obj val = liftIO $ B.Properties.setObjectPropertyObject obj "attached-to" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@attached-to@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowAttachedTo :: (IsWindow o, Gtk.Widget.IsWidget a) => a -> IO (GValueConstruct o)
+constructWindowAttachedTo val = B.Properties.constructObjectPropertyObject "attached-to" (Just val)
+
+{- |
+Set the value of the “@attached-to@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #attachedTo
+@
+-}
+clearWindowAttachedTo :: (MonadIO m, IsWindow o) => o -> m ()
+clearWindowAttachedTo obj = liftIO $ B.Properties.setObjectPropertyObject obj "attached-to" (Nothing :: Maybe Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data WindowAttachedToPropertyInfo
+instance AttrInfo WindowAttachedToPropertyInfo where
+    type AttrAllowedOps WindowAttachedToPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WindowAttachedToPropertyInfo = Gtk.Widget.IsWidget
+    type AttrBaseTypeConstraint WindowAttachedToPropertyInfo = IsWindow
+    type AttrGetType WindowAttachedToPropertyInfo = (Maybe Gtk.Widget.Widget)
+    type AttrLabel WindowAttachedToPropertyInfo = "attached-to"
+    type AttrOrigin WindowAttachedToPropertyInfo = Window
+    attrGet _ = getWindowAttachedTo
+    attrSet _ = setWindowAttachedTo
+    attrConstruct _ = constructWindowAttachedTo
+    attrClear _ = clearWindowAttachedTo
+#endif
+
+-- VVV Prop "decorated"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@decorated@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #decorated
+@
+-}
+getWindowDecorated :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowDecorated obj = liftIO $ B.Properties.getObjectPropertyBool obj "decorated"
+
+{- |
+Set the value of the “@decorated@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #decorated 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowDecorated :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowDecorated obj val = liftIO $ B.Properties.setObjectPropertyBool obj "decorated" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@decorated@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowDecorated :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowDecorated val = B.Properties.constructObjectPropertyBool "decorated" val
+
+#if ENABLE_OVERLOADING
+data WindowDecoratedPropertyInfo
+instance AttrInfo WindowDecoratedPropertyInfo where
+    type AttrAllowedOps WindowDecoratedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowDecoratedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowDecoratedPropertyInfo = IsWindow
+    type AttrGetType WindowDecoratedPropertyInfo = Bool
+    type AttrLabel WindowDecoratedPropertyInfo = "decorated"
+    type AttrOrigin WindowDecoratedPropertyInfo = Window
+    attrGet _ = getWindowDecorated
+    attrSet _ = setWindowDecorated
+    attrConstruct _ = constructWindowDecorated
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "default-height"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@default-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #defaultHeight
+@
+-}
+getWindowDefaultHeight :: (MonadIO m, IsWindow o) => o -> m Int32
+getWindowDefaultHeight obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "default-height"
+
+{- |
+Set the value of the “@default-height@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #defaultHeight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowDefaultHeight :: (MonadIO m, IsWindow o) => o -> Int32 -> m ()
+setWindowDefaultHeight obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "default-height" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@default-height@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowDefaultHeight :: (IsWindow o) => Int32 -> IO (GValueConstruct o)
+constructWindowDefaultHeight val = B.Properties.constructObjectPropertyInt32 "default-height" val
+
+#if ENABLE_OVERLOADING
+data WindowDefaultHeightPropertyInfo
+instance AttrInfo WindowDefaultHeightPropertyInfo where
+    type AttrAllowedOps WindowDefaultHeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowDefaultHeightPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WindowDefaultHeightPropertyInfo = IsWindow
+    type AttrGetType WindowDefaultHeightPropertyInfo = Int32
+    type AttrLabel WindowDefaultHeightPropertyInfo = "default-height"
+    type AttrOrigin WindowDefaultHeightPropertyInfo = Window
+    attrGet _ = getWindowDefaultHeight
+    attrSet _ = setWindowDefaultHeight
+    attrConstruct _ = constructWindowDefaultHeight
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "default-width"
+   -- Type: TBasicType TInt
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@default-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #defaultWidth
+@
+-}
+getWindowDefaultWidth :: (MonadIO m, IsWindow o) => o -> m Int32
+getWindowDefaultWidth obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "default-width"
+
+{- |
+Set the value of the “@default-width@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #defaultWidth 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowDefaultWidth :: (MonadIO m, IsWindow o) => o -> Int32 -> m ()
+setWindowDefaultWidth obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "default-width" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@default-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowDefaultWidth :: (IsWindow o) => Int32 -> IO (GValueConstruct o)
+constructWindowDefaultWidth val = B.Properties.constructObjectPropertyInt32 "default-width" val
+
+#if ENABLE_OVERLOADING
+data WindowDefaultWidthPropertyInfo
+instance AttrInfo WindowDefaultWidthPropertyInfo where
+    type AttrAllowedOps WindowDefaultWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowDefaultWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint WindowDefaultWidthPropertyInfo = IsWindow
+    type AttrGetType WindowDefaultWidthPropertyInfo = Int32
+    type AttrLabel WindowDefaultWidthPropertyInfo = "default-width"
+    type AttrOrigin WindowDefaultWidthPropertyInfo = Window
+    attrGet _ = getWindowDefaultWidth
+    attrSet _ = setWindowDefaultWidth
+    attrConstruct _ = constructWindowDefaultWidth
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "deletable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@deletable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #deletable
+@
+-}
+getWindowDeletable :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowDeletable obj = liftIO $ B.Properties.getObjectPropertyBool obj "deletable"
+
+{- |
+Set the value of the “@deletable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #deletable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowDeletable :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowDeletable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "deletable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@deletable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowDeletable :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowDeletable val = B.Properties.constructObjectPropertyBool "deletable" val
+
+#if ENABLE_OVERLOADING
+data WindowDeletablePropertyInfo
+instance AttrInfo WindowDeletablePropertyInfo where
+    type AttrAllowedOps WindowDeletablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowDeletablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowDeletablePropertyInfo = IsWindow
+    type AttrGetType WindowDeletablePropertyInfo = Bool
+    type AttrLabel WindowDeletablePropertyInfo = "deletable"
+    type AttrOrigin WindowDeletablePropertyInfo = Window
+    attrGet _ = getWindowDeletable
+    attrSet _ = setWindowDeletable
+    attrConstruct _ = constructWindowDeletable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "destroy-with-parent"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@destroy-with-parent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #destroyWithParent
+@
+-}
+getWindowDestroyWithParent :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowDestroyWithParent obj = liftIO $ B.Properties.getObjectPropertyBool obj "destroy-with-parent"
+
+{- |
+Set the value of the “@destroy-with-parent@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #destroyWithParent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowDestroyWithParent :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowDestroyWithParent obj val = liftIO $ B.Properties.setObjectPropertyBool obj "destroy-with-parent" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@destroy-with-parent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowDestroyWithParent :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowDestroyWithParent val = B.Properties.constructObjectPropertyBool "destroy-with-parent" val
+
+#if ENABLE_OVERLOADING
+data WindowDestroyWithParentPropertyInfo
+instance AttrInfo WindowDestroyWithParentPropertyInfo where
+    type AttrAllowedOps WindowDestroyWithParentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowDestroyWithParentPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowDestroyWithParentPropertyInfo = IsWindow
+    type AttrGetType WindowDestroyWithParentPropertyInfo = Bool
+    type AttrLabel WindowDestroyWithParentPropertyInfo = "destroy-with-parent"
+    type AttrOrigin WindowDestroyWithParentPropertyInfo = Window
+    attrGet _ = getWindowDestroyWithParent
+    attrSet _ = setWindowDestroyWithParent
+    attrConstruct _ = constructWindowDestroyWithParent
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "focus-on-map"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@focus-on-map@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #focusOnMap
+@
+-}
+getWindowFocusOnMap :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowFocusOnMap obj = liftIO $ B.Properties.getObjectPropertyBool obj "focus-on-map"
+
+{- |
+Set the value of the “@focus-on-map@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #focusOnMap 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowFocusOnMap :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowFocusOnMap obj val = liftIO $ B.Properties.setObjectPropertyBool obj "focus-on-map" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@focus-on-map@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowFocusOnMap :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowFocusOnMap val = B.Properties.constructObjectPropertyBool "focus-on-map" val
+
+#if ENABLE_OVERLOADING
+data WindowFocusOnMapPropertyInfo
+instance AttrInfo WindowFocusOnMapPropertyInfo where
+    type AttrAllowedOps WindowFocusOnMapPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowFocusOnMapPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowFocusOnMapPropertyInfo = IsWindow
+    type AttrGetType WindowFocusOnMapPropertyInfo = Bool
+    type AttrLabel WindowFocusOnMapPropertyInfo = "focus-on-map"
+    type AttrOrigin WindowFocusOnMapPropertyInfo = Window
+    attrGet _ = getWindowFocusOnMap
+    attrSet _ = setWindowFocusOnMap
+    attrConstruct _ = constructWindowFocusOnMap
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "focus-visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@focus-visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #focusVisible
+@
+-}
+getWindowFocusVisible :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowFocusVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "focus-visible"
+
+{- |
+Set the value of the “@focus-visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #focusVisible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowFocusVisible :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowFocusVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "focus-visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@focus-visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowFocusVisible :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowFocusVisible val = B.Properties.constructObjectPropertyBool "focus-visible" val
+
+#if ENABLE_OVERLOADING
+data WindowFocusVisiblePropertyInfo
+instance AttrInfo WindowFocusVisiblePropertyInfo where
+    type AttrAllowedOps WindowFocusVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowFocusVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowFocusVisiblePropertyInfo = IsWindow
+    type AttrGetType WindowFocusVisiblePropertyInfo = Bool
+    type AttrLabel WindowFocusVisiblePropertyInfo = "focus-visible"
+    type AttrOrigin WindowFocusVisiblePropertyInfo = Window
+    attrGet _ = getWindowFocusVisible
+    attrSet _ = setWindowFocusVisible
+    attrConstruct _ = constructWindowFocusVisible
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "gravity"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Gravity"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@gravity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #gravity
+@
+-}
+getWindowGravity :: (MonadIO m, IsWindow o) => o -> m Gdk.Enums.Gravity
+getWindowGravity obj = liftIO $ B.Properties.getObjectPropertyEnum obj "gravity"
+
+{- |
+Set the value of the “@gravity@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #gravity 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowGravity :: (MonadIO m, IsWindow o) => o -> Gdk.Enums.Gravity -> m ()
+setWindowGravity obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "gravity" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@gravity@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowGravity :: (IsWindow o) => Gdk.Enums.Gravity -> IO (GValueConstruct o)
+constructWindowGravity val = B.Properties.constructObjectPropertyEnum "gravity" val
+
+#if ENABLE_OVERLOADING
+data WindowGravityPropertyInfo
+instance AttrInfo WindowGravityPropertyInfo where
+    type AttrAllowedOps WindowGravityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowGravityPropertyInfo = (~) Gdk.Enums.Gravity
+    type AttrBaseTypeConstraint WindowGravityPropertyInfo = IsWindow
+    type AttrGetType WindowGravityPropertyInfo = Gdk.Enums.Gravity
+    type AttrLabel WindowGravityPropertyInfo = "gravity"
+    type AttrOrigin WindowGravityPropertyInfo = Window
+    attrGet _ = getWindowGravity
+    attrSet _ = setWindowGravity
+    attrConstruct _ = constructWindowGravity
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-resize-grip"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@has-resize-grip@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #hasResizeGrip
+@
+-}
+getWindowHasResizeGrip :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowHasResizeGrip obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-resize-grip"
+
+{- |
+Set the value of the “@has-resize-grip@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #hasResizeGrip 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowHasResizeGrip :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowHasResizeGrip obj val = liftIO $ B.Properties.setObjectPropertyBool obj "has-resize-grip" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@has-resize-grip@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowHasResizeGrip :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowHasResizeGrip val = B.Properties.constructObjectPropertyBool "has-resize-grip" val
+
+#if ENABLE_OVERLOADING
+data WindowHasResizeGripPropertyInfo
+instance AttrInfo WindowHasResizeGripPropertyInfo where
+    type AttrAllowedOps WindowHasResizeGripPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowHasResizeGripPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowHasResizeGripPropertyInfo = IsWindow
+    type AttrGetType WindowHasResizeGripPropertyInfo = Bool
+    type AttrLabel WindowHasResizeGripPropertyInfo = "has-resize-grip"
+    type AttrOrigin WindowHasResizeGripPropertyInfo = Window
+    attrGet _ = getWindowHasResizeGrip
+    attrSet _ = setWindowHasResizeGrip
+    attrConstruct _ = constructWindowHasResizeGrip
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "has-toplevel-focus"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@has-toplevel-focus@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #hasToplevelFocus
+@
+-}
+getWindowHasToplevelFocus :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowHasToplevelFocus obj = liftIO $ B.Properties.getObjectPropertyBool obj "has-toplevel-focus"
+
+#if ENABLE_OVERLOADING
+data WindowHasToplevelFocusPropertyInfo
+instance AttrInfo WindowHasToplevelFocusPropertyInfo where
+    type AttrAllowedOps WindowHasToplevelFocusPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint WindowHasToplevelFocusPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint WindowHasToplevelFocusPropertyInfo = IsWindow
+    type AttrGetType WindowHasToplevelFocusPropertyInfo = Bool
+    type AttrLabel WindowHasToplevelFocusPropertyInfo = "has-toplevel-focus"
+    type AttrOrigin WindowHasToplevelFocusPropertyInfo = Window
+    attrGet _ = getWindowHasToplevelFocus
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "hide-titlebar-when-maximized"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@hide-titlebar-when-maximized@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #hideTitlebarWhenMaximized
+@
+-}
+getWindowHideTitlebarWhenMaximized :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowHideTitlebarWhenMaximized obj = liftIO $ B.Properties.getObjectPropertyBool obj "hide-titlebar-when-maximized"
+
+{- |
+Set the value of the “@hide-titlebar-when-maximized@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #hideTitlebarWhenMaximized 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowHideTitlebarWhenMaximized :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowHideTitlebarWhenMaximized obj val = liftIO $ B.Properties.setObjectPropertyBool obj "hide-titlebar-when-maximized" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@hide-titlebar-when-maximized@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowHideTitlebarWhenMaximized :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowHideTitlebarWhenMaximized val = B.Properties.constructObjectPropertyBool "hide-titlebar-when-maximized" val
+
+#if ENABLE_OVERLOADING
+data WindowHideTitlebarWhenMaximizedPropertyInfo
+instance AttrInfo WindowHideTitlebarWhenMaximizedPropertyInfo where
+    type AttrAllowedOps WindowHideTitlebarWhenMaximizedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowHideTitlebarWhenMaximizedPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowHideTitlebarWhenMaximizedPropertyInfo = IsWindow
+    type AttrGetType WindowHideTitlebarWhenMaximizedPropertyInfo = Bool
+    type AttrLabel WindowHideTitlebarWhenMaximizedPropertyInfo = "hide-titlebar-when-maximized"
+    type AttrOrigin WindowHideTitlebarWhenMaximizedPropertyInfo = Window
+    attrGet _ = getWindowHideTitlebarWhenMaximized
+    attrSet _ = setWindowHideTitlebarWhenMaximized
+    attrConstruct _ = constructWindowHideTitlebarWhenMaximized
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "icon"
+   -- Type: TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #icon
+@
+-}
+getWindowIcon :: (MonadIO m, IsWindow o) => o -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+getWindowIcon obj = liftIO $ B.Properties.getObjectPropertyObject obj "icon" GdkPixbuf.Pixbuf.Pixbuf
+
+{- |
+Set the value of the “@icon@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #icon 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowIcon :: (MonadIO m, IsWindow o, GdkPixbuf.Pixbuf.IsPixbuf a) => o -> a -> m ()
+setWindowIcon obj val = liftIO $ B.Properties.setObjectPropertyObject obj "icon" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowIcon :: (IsWindow o, GdkPixbuf.Pixbuf.IsPixbuf a) => a -> IO (GValueConstruct o)
+constructWindowIcon val = B.Properties.constructObjectPropertyObject "icon" (Just val)
+
+{- |
+Set the value of the “@icon@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #icon
+@
+-}
+clearWindowIcon :: (MonadIO m, IsWindow o) => o -> m ()
+clearWindowIcon obj = liftIO $ B.Properties.setObjectPropertyObject obj "icon" (Nothing :: Maybe GdkPixbuf.Pixbuf.Pixbuf)
+
+#if ENABLE_OVERLOADING
+data WindowIconPropertyInfo
+instance AttrInfo WindowIconPropertyInfo where
+    type AttrAllowedOps WindowIconPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WindowIconPropertyInfo = GdkPixbuf.Pixbuf.IsPixbuf
+    type AttrBaseTypeConstraint WindowIconPropertyInfo = IsWindow
+    type AttrGetType WindowIconPropertyInfo = (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    type AttrLabel WindowIconPropertyInfo = "icon"
+    type AttrOrigin WindowIconPropertyInfo = Window
+    attrGet _ = getWindowIcon
+    attrSet _ = setWindowIcon
+    attrConstruct _ = constructWindowIcon
+    attrClear _ = clearWindowIcon
+#endif
+
+-- VVV Prop "icon-name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #iconName
+@
+-}
+getWindowIconName :: (MonadIO m, IsWindow o) => o -> m (Maybe T.Text)
+getWindowIconName obj = liftIO $ B.Properties.getObjectPropertyString obj "icon-name"
+
+{- |
+Set the value of the “@icon-name@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #iconName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowIconName :: (MonadIO m, IsWindow o) => o -> T.Text -> m ()
+setWindowIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowIconName :: (IsWindow o) => T.Text -> IO (GValueConstruct o)
+constructWindowIconName val = B.Properties.constructObjectPropertyString "icon-name" (Just val)
+
+{- |
+Set the value of the “@icon-name@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #iconName
+@
+-}
+clearWindowIconName :: (MonadIO m, IsWindow o) => o -> m ()
+clearWindowIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)
+
+#if ENABLE_OVERLOADING
+data WindowIconNamePropertyInfo
+instance AttrInfo WindowIconNamePropertyInfo where
+    type AttrAllowedOps WindowIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WindowIconNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint WindowIconNamePropertyInfo = IsWindow
+    type AttrGetType WindowIconNamePropertyInfo = (Maybe T.Text)
+    type AttrLabel WindowIconNamePropertyInfo = "icon-name"
+    type AttrOrigin WindowIconNamePropertyInfo = Window
+    attrGet _ = getWindowIconName
+    attrSet _ = setWindowIconName
+    attrConstruct _ = constructWindowIconName
+    attrClear _ = clearWindowIconName
+#endif
+
+-- VVV Prop "is-active"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@is-active@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #isActive
+@
+-}
+getWindowIsActive :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowIsActive obj = liftIO $ B.Properties.getObjectPropertyBool obj "is-active"
+
+#if ENABLE_OVERLOADING
+data WindowIsActivePropertyInfo
+instance AttrInfo WindowIsActivePropertyInfo where
+    type AttrAllowedOps WindowIsActivePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint WindowIsActivePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint WindowIsActivePropertyInfo = IsWindow
+    type AttrGetType WindowIsActivePropertyInfo = Bool
+    type AttrLabel WindowIsActivePropertyInfo = "is-active"
+    type AttrOrigin WindowIsActivePropertyInfo = Window
+    attrGet _ = getWindowIsActive
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "is-maximized"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@is-maximized@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #isMaximized
+@
+-}
+getWindowIsMaximized :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowIsMaximized obj = liftIO $ B.Properties.getObjectPropertyBool obj "is-maximized"
+
+#if ENABLE_OVERLOADING
+data WindowIsMaximizedPropertyInfo
+instance AttrInfo WindowIsMaximizedPropertyInfo where
+    type AttrAllowedOps WindowIsMaximizedPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint WindowIsMaximizedPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint WindowIsMaximizedPropertyInfo = IsWindow
+    type AttrGetType WindowIsMaximizedPropertyInfo = Bool
+    type AttrLabel WindowIsMaximizedPropertyInfo = "is-maximized"
+    type AttrOrigin WindowIsMaximizedPropertyInfo = Window
+    attrGet _ = getWindowIsMaximized
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "mnemonics-visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@mnemonics-visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #mnemonicsVisible
+@
+-}
+getWindowMnemonicsVisible :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowMnemonicsVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "mnemonics-visible"
+
+{- |
+Set the value of the “@mnemonics-visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #mnemonicsVisible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowMnemonicsVisible :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowMnemonicsVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "mnemonics-visible" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@mnemonics-visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowMnemonicsVisible :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowMnemonicsVisible val = B.Properties.constructObjectPropertyBool "mnemonics-visible" val
+
+#if ENABLE_OVERLOADING
+data WindowMnemonicsVisiblePropertyInfo
+instance AttrInfo WindowMnemonicsVisiblePropertyInfo where
+    type AttrAllowedOps WindowMnemonicsVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowMnemonicsVisiblePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowMnemonicsVisiblePropertyInfo = IsWindow
+    type AttrGetType WindowMnemonicsVisiblePropertyInfo = Bool
+    type AttrLabel WindowMnemonicsVisiblePropertyInfo = "mnemonics-visible"
+    type AttrOrigin WindowMnemonicsVisiblePropertyInfo = Window
+    attrGet _ = getWindowMnemonicsVisible
+    attrSet _ = setWindowMnemonicsVisible
+    attrConstruct _ = constructWindowMnemonicsVisible
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "modal"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@modal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #modal
+@
+-}
+getWindowModal :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowModal obj = liftIO $ B.Properties.getObjectPropertyBool obj "modal"
+
+{- |
+Set the value of the “@modal@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #modal 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowModal :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowModal obj val = liftIO $ B.Properties.setObjectPropertyBool obj "modal" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@modal@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowModal :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowModal val = B.Properties.constructObjectPropertyBool "modal" val
+
+#if ENABLE_OVERLOADING
+data WindowModalPropertyInfo
+instance AttrInfo WindowModalPropertyInfo where
+    type AttrAllowedOps WindowModalPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowModalPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowModalPropertyInfo = IsWindow
+    type AttrGetType WindowModalPropertyInfo = Bool
+    type AttrLabel WindowModalPropertyInfo = "modal"
+    type AttrOrigin WindowModalPropertyInfo = Window
+    attrGet _ = getWindowModal
+    attrSet _ = setWindowModal
+    attrConstruct _ = constructWindowModal
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "resizable"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@resizable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #resizable
+@
+-}
+getWindowResizable :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowResizable obj = liftIO $ B.Properties.getObjectPropertyBool obj "resizable"
+
+{- |
+Set the value of the “@resizable@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #resizable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowResizable :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowResizable obj val = liftIO $ B.Properties.setObjectPropertyBool obj "resizable" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@resizable@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowResizable :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowResizable val = B.Properties.constructObjectPropertyBool "resizable" val
+
+#if ENABLE_OVERLOADING
+data WindowResizablePropertyInfo
+instance AttrInfo WindowResizablePropertyInfo where
+    type AttrAllowedOps WindowResizablePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowResizablePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowResizablePropertyInfo = IsWindow
+    type AttrGetType WindowResizablePropertyInfo = Bool
+    type AttrLabel WindowResizablePropertyInfo = "resizable"
+    type AttrOrigin WindowResizablePropertyInfo = Window
+    attrGet _ = getWindowResizable
+    attrSet _ = setWindowResizable
+    attrConstruct _ = constructWindowResizable
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "resize-grip-visible"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@resize-grip-visible@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #resizeGripVisible
+@
+-}
+getWindowResizeGripVisible :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowResizeGripVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "resize-grip-visible"
+
+#if ENABLE_OVERLOADING
+data WindowResizeGripVisiblePropertyInfo
+instance AttrInfo WindowResizeGripVisiblePropertyInfo where
+    type AttrAllowedOps WindowResizeGripVisiblePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint WindowResizeGripVisiblePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint WindowResizeGripVisiblePropertyInfo = IsWindow
+    type AttrGetType WindowResizeGripVisiblePropertyInfo = Bool
+    type AttrLabel WindowResizeGripVisiblePropertyInfo = "resize-grip-visible"
+    type AttrOrigin WindowResizeGripVisiblePropertyInfo = Window
+    attrGet _ = getWindowResizeGripVisible
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "role"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@role@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #role
+@
+-}
+getWindowRole :: (MonadIO m, IsWindow o) => o -> m (Maybe T.Text)
+getWindowRole obj = liftIO $ B.Properties.getObjectPropertyString obj "role"
+
+{- |
+Set the value of the “@role@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #role 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowRole :: (MonadIO m, IsWindow o) => o -> T.Text -> m ()
+setWindowRole obj val = liftIO $ B.Properties.setObjectPropertyString obj "role" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@role@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowRole :: (IsWindow o) => T.Text -> IO (GValueConstruct o)
+constructWindowRole val = B.Properties.constructObjectPropertyString "role" (Just val)
+
+#if ENABLE_OVERLOADING
+data WindowRolePropertyInfo
+instance AttrInfo WindowRolePropertyInfo where
+    type AttrAllowedOps WindowRolePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowRolePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint WindowRolePropertyInfo = IsWindow
+    type AttrGetType WindowRolePropertyInfo = (Maybe T.Text)
+    type AttrLabel WindowRolePropertyInfo = "role"
+    type AttrOrigin WindowRolePropertyInfo = Window
+    attrGet _ = getWindowRole
+    attrSet _ = setWindowRole
+    attrConstruct _ = constructWindowRole
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "screen"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "Screen"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #screen
+@
+-}
+getWindowScreen :: (MonadIO m, IsWindow o) => o -> m Gdk.Screen.Screen
+getWindowScreen obj = liftIO $ checkUnexpectedNothing "getWindowScreen" $ B.Properties.getObjectPropertyObject obj "screen" Gdk.Screen.Screen
+
+{- |
+Set the value of the “@screen@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #screen 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowScreen :: (MonadIO m, IsWindow o, Gdk.Screen.IsScreen a) => o -> a -> m ()
+setWindowScreen obj val = liftIO $ B.Properties.setObjectPropertyObject obj "screen" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@screen@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowScreen :: (IsWindow o, Gdk.Screen.IsScreen a) => a -> IO (GValueConstruct o)
+constructWindowScreen val = B.Properties.constructObjectPropertyObject "screen" (Just val)
+
+#if ENABLE_OVERLOADING
+data WindowScreenPropertyInfo
+instance AttrInfo WindowScreenPropertyInfo where
+    type AttrAllowedOps WindowScreenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowScreenPropertyInfo = Gdk.Screen.IsScreen
+    type AttrBaseTypeConstraint WindowScreenPropertyInfo = IsWindow
+    type AttrGetType WindowScreenPropertyInfo = Gdk.Screen.Screen
+    type AttrLabel WindowScreenPropertyInfo = "screen"
+    type AttrOrigin WindowScreenPropertyInfo = Window
+    attrGet _ = getWindowScreen
+    attrSet _ = setWindowScreen
+    attrConstruct _ = constructWindowScreen
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "skip-pager-hint"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@skip-pager-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #skipPagerHint
+@
+-}
+getWindowSkipPagerHint :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowSkipPagerHint obj = liftIO $ B.Properties.getObjectPropertyBool obj "skip-pager-hint"
+
+{- |
+Set the value of the “@skip-pager-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #skipPagerHint 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowSkipPagerHint :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowSkipPagerHint obj val = liftIO $ B.Properties.setObjectPropertyBool obj "skip-pager-hint" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@skip-pager-hint@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowSkipPagerHint :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowSkipPagerHint val = B.Properties.constructObjectPropertyBool "skip-pager-hint" val
+
+#if ENABLE_OVERLOADING
+data WindowSkipPagerHintPropertyInfo
+instance AttrInfo WindowSkipPagerHintPropertyInfo where
+    type AttrAllowedOps WindowSkipPagerHintPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowSkipPagerHintPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowSkipPagerHintPropertyInfo = IsWindow
+    type AttrGetType WindowSkipPagerHintPropertyInfo = Bool
+    type AttrLabel WindowSkipPagerHintPropertyInfo = "skip-pager-hint"
+    type AttrOrigin WindowSkipPagerHintPropertyInfo = Window
+    attrGet _ = getWindowSkipPagerHint
+    attrSet _ = setWindowSkipPagerHint
+    attrConstruct _ = constructWindowSkipPagerHint
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "skip-taskbar-hint"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@skip-taskbar-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #skipTaskbarHint
+@
+-}
+getWindowSkipTaskbarHint :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowSkipTaskbarHint obj = liftIO $ B.Properties.getObjectPropertyBool obj "skip-taskbar-hint"
+
+{- |
+Set the value of the “@skip-taskbar-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #skipTaskbarHint 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowSkipTaskbarHint :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowSkipTaskbarHint obj val = liftIO $ B.Properties.setObjectPropertyBool obj "skip-taskbar-hint" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@skip-taskbar-hint@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowSkipTaskbarHint :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowSkipTaskbarHint val = B.Properties.constructObjectPropertyBool "skip-taskbar-hint" val
+
+#if ENABLE_OVERLOADING
+data WindowSkipTaskbarHintPropertyInfo
+instance AttrInfo WindowSkipTaskbarHintPropertyInfo where
+    type AttrAllowedOps WindowSkipTaskbarHintPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowSkipTaskbarHintPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowSkipTaskbarHintPropertyInfo = IsWindow
+    type AttrGetType WindowSkipTaskbarHintPropertyInfo = Bool
+    type AttrLabel WindowSkipTaskbarHintPropertyInfo = "skip-taskbar-hint"
+    type AttrOrigin WindowSkipTaskbarHintPropertyInfo = Window
+    attrGet _ = getWindowSkipTaskbarHint
+    attrSet _ = setWindowSkipTaskbarHint
+    attrConstruct _ = constructWindowSkipTaskbarHint
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "startup-id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyWritable]
+   -- Nullable: (Nothing,Just False)
+
+{- |
+Set the value of the “@startup-id@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #startupId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowStartupId :: (MonadIO m, IsWindow o) => o -> T.Text -> m ()
+setWindowStartupId obj val = liftIO $ B.Properties.setObjectPropertyString obj "startup-id" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@startup-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowStartupId :: (IsWindow o) => T.Text -> IO (GValueConstruct o)
+constructWindowStartupId val = B.Properties.constructObjectPropertyString "startup-id" (Just val)
+
+#if ENABLE_OVERLOADING
+data WindowStartupIdPropertyInfo
+instance AttrInfo WindowStartupIdPropertyInfo where
+    type AttrAllowedOps WindowStartupIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct]
+    type AttrSetTypeConstraint WindowStartupIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint WindowStartupIdPropertyInfo = IsWindow
+    type AttrGetType WindowStartupIdPropertyInfo = ()
+    type AttrLabel WindowStartupIdPropertyInfo = "startup-id"
+    type AttrOrigin WindowStartupIdPropertyInfo = Window
+    attrGet _ = undefined
+    attrSet _ = setWindowStartupId
+    attrConstruct _ = constructWindowStartupId
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just True,Just False)
+
+{- |
+Get the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #title
+@
+-}
+getWindowTitle :: (MonadIO m, IsWindow o) => o -> m (Maybe T.Text)
+getWindowTitle obj = liftIO $ B.Properties.getObjectPropertyString obj "title"
+
+{- |
+Set the value of the “@title@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #title 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowTitle :: (MonadIO m, IsWindow o) => o -> T.Text -> m ()
+setWindowTitle obj val = liftIO $ B.Properties.setObjectPropertyString obj "title" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowTitle :: (IsWindow o) => T.Text -> IO (GValueConstruct o)
+constructWindowTitle val = B.Properties.constructObjectPropertyString "title" (Just val)
+
+#if ENABLE_OVERLOADING
+data WindowTitlePropertyInfo
+instance AttrInfo WindowTitlePropertyInfo where
+    type AttrAllowedOps WindowTitlePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowTitlePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint WindowTitlePropertyInfo = IsWindow
+    type AttrGetType WindowTitlePropertyInfo = (Maybe T.Text)
+    type AttrLabel WindowTitlePropertyInfo = "title"
+    type AttrOrigin WindowTitlePropertyInfo = Window
+    attrGet _ = getWindowTitle
+    attrSet _ = setWindowTitle
+    attrConstruct _ = constructWindowTitle
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "transient-for"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "Window"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
+   -- Nullable: (Just True,Just True)
+
+{- |
+Get the value of the “@transient-for@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #transientFor
+@
+-}
+getWindowTransientFor :: (MonadIO m, IsWindow o) => o -> m (Maybe Window)
+getWindowTransientFor obj = liftIO $ B.Properties.getObjectPropertyObject obj "transient-for" Window
+
+{- |
+Set the value of the “@transient-for@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #transientFor 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowTransientFor :: (MonadIO m, IsWindow o, IsWindow a) => o -> a -> m ()
+setWindowTransientFor obj val = liftIO $ B.Properties.setObjectPropertyObject obj "transient-for" (Just val)
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@transient-for@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowTransientFor :: (IsWindow o, IsWindow a) => a -> IO (GValueConstruct o)
+constructWindowTransientFor val = B.Properties.constructObjectPropertyObject "transient-for" (Just val)
+
+{- |
+Set the value of the “@transient-for@” property to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #transientFor
+@
+-}
+clearWindowTransientFor :: (MonadIO m, IsWindow o) => o -> m ()
+clearWindowTransientFor obj = liftIO $ B.Properties.setObjectPropertyObject obj "transient-for" (Nothing :: Maybe Window)
+
+#if ENABLE_OVERLOADING
+data WindowTransientForPropertyInfo
+instance AttrInfo WindowTransientForPropertyInfo where
+    type AttrAllowedOps WindowTransientForPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint WindowTransientForPropertyInfo = IsWindow
+    type AttrBaseTypeConstraint WindowTransientForPropertyInfo = IsWindow
+    type AttrGetType WindowTransientForPropertyInfo = (Maybe Window)
+    type AttrLabel WindowTransientForPropertyInfo = "transient-for"
+    type AttrOrigin WindowTransientForPropertyInfo = Window
+    attrGet _ = getWindowTransientFor
+    attrSet _ = setWindowTransientFor
+    attrConstruct _ = constructWindowTransientFor
+    attrClear _ = clearWindowTransientFor
+#endif
+
+-- VVV Prop "type"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "WindowType"})
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@type@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #type
+@
+-}
+getWindowType :: (MonadIO m, IsWindow o) => o -> m Gtk.Enums.WindowType
+getWindowType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "type"
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowType :: (IsWindow o) => Gtk.Enums.WindowType -> IO (GValueConstruct o)
+constructWindowType val = B.Properties.constructObjectPropertyEnum "type" val
+
+#if ENABLE_OVERLOADING
+data WindowTypePropertyInfo
+instance AttrInfo WindowTypePropertyInfo where
+    type AttrAllowedOps WindowTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowTypePropertyInfo = (~) Gtk.Enums.WindowType
+    type AttrBaseTypeConstraint WindowTypePropertyInfo = IsWindow
+    type AttrGetType WindowTypePropertyInfo = Gtk.Enums.WindowType
+    type AttrLabel WindowTypePropertyInfo = "type"
+    type AttrOrigin WindowTypePropertyInfo = Window
+    attrGet _ = getWindowType
+    attrSet _ = undefined
+    attrConstruct _ = constructWindowType
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "type-hint"
+   -- Type: TInterface (Name {namespace = "Gdk", name = "WindowTypeHint"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@type-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #typeHint
+@
+-}
+getWindowTypeHint :: (MonadIO m, IsWindow o) => o -> m Gdk.Enums.WindowTypeHint
+getWindowTypeHint obj = liftIO $ B.Properties.getObjectPropertyEnum obj "type-hint"
+
+{- |
+Set the value of the “@type-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #typeHint 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowTypeHint :: (MonadIO m, IsWindow o) => o -> Gdk.Enums.WindowTypeHint -> m ()
+setWindowTypeHint obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "type-hint" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@type-hint@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowTypeHint :: (IsWindow o) => Gdk.Enums.WindowTypeHint -> IO (GValueConstruct o)
+constructWindowTypeHint val = B.Properties.constructObjectPropertyEnum "type-hint" val
+
+#if ENABLE_OVERLOADING
+data WindowTypeHintPropertyInfo
+instance AttrInfo WindowTypeHintPropertyInfo where
+    type AttrAllowedOps WindowTypeHintPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowTypeHintPropertyInfo = (~) Gdk.Enums.WindowTypeHint
+    type AttrBaseTypeConstraint WindowTypeHintPropertyInfo = IsWindow
+    type AttrGetType WindowTypeHintPropertyInfo = Gdk.Enums.WindowTypeHint
+    type AttrLabel WindowTypeHintPropertyInfo = "type-hint"
+    type AttrOrigin WindowTypeHintPropertyInfo = Window
+    attrGet _ = getWindowTypeHint
+    attrSet _ = setWindowTypeHint
+    attrConstruct _ = constructWindowTypeHint
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "urgency-hint"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Just False,Just False)
+
+{- |
+Get the value of the “@urgency-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #urgencyHint
+@
+-}
+getWindowUrgencyHint :: (MonadIO m, IsWindow o) => o -> m Bool
+getWindowUrgencyHint obj = liftIO $ B.Properties.getObjectPropertyBool obj "urgency-hint"
+
+{- |
+Set the value of the “@urgency-hint@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #urgencyHint 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowUrgencyHint :: (MonadIO m, IsWindow o) => o -> Bool -> m ()
+setWindowUrgencyHint obj val = liftIO $ B.Properties.setObjectPropertyBool obj "urgency-hint" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@urgency-hint@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowUrgencyHint :: (IsWindow o) => Bool -> IO (GValueConstruct o)
+constructWindowUrgencyHint val = B.Properties.constructObjectPropertyBool "urgency-hint" val
+
+#if ENABLE_OVERLOADING
+data WindowUrgencyHintPropertyInfo
+instance AttrInfo WindowUrgencyHintPropertyInfo where
+    type AttrAllowedOps WindowUrgencyHintPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowUrgencyHintPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint WindowUrgencyHintPropertyInfo = IsWindow
+    type AttrGetType WindowUrgencyHintPropertyInfo = Bool
+    type AttrLabel WindowUrgencyHintPropertyInfo = "urgency-hint"
+    type AttrOrigin WindowUrgencyHintPropertyInfo = Window
+    attrGet _ = getWindowUrgencyHint
+    attrSet _ = setWindowUrgencyHint
+    attrConstruct _ = constructWindowUrgencyHint
+    attrClear _ = undefined
+#endif
+
+-- VVV Prop "window-position"
+   -- Type: TInterface (Name {namespace = "Gtk", name = "WindowPosition"})
+   -- Flags: [PropertyReadable,PropertyWritable]
+   -- Nullable: (Nothing,Nothing)
+
+{- |
+Get the value of the “@window-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' window #windowPosition
+@
+-}
+getWindowWindowPosition :: (MonadIO m, IsWindow o) => o -> m Gtk.Enums.WindowPosition
+getWindowWindowPosition obj = liftIO $ B.Properties.getObjectPropertyEnum obj "window-position"
+
+{- |
+Set the value of the “@window-position@” property.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' window [ #windowPosition 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setWindowWindowPosition :: (MonadIO m, IsWindow o) => o -> Gtk.Enums.WindowPosition -> m ()
+setWindowWindowPosition obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "window-position" val
+
+{- |
+Construct a `GValueConstruct` with valid value for the “@window-position@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
+-}
+constructWindowWindowPosition :: (IsWindow o) => Gtk.Enums.WindowPosition -> IO (GValueConstruct o)
+constructWindowWindowPosition val = B.Properties.constructObjectPropertyEnum "window-position" val
+
+#if ENABLE_OVERLOADING
+data WindowWindowPositionPropertyInfo
+instance AttrInfo WindowWindowPositionPropertyInfo where
+    type AttrAllowedOps WindowWindowPositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowWindowPositionPropertyInfo = (~) Gtk.Enums.WindowPosition
+    type AttrBaseTypeConstraint WindowWindowPositionPropertyInfo = IsWindow
+    type AttrGetType WindowWindowPositionPropertyInfo = Gtk.Enums.WindowPosition
+    type AttrLabel WindowWindowPositionPropertyInfo = "window-position"
+    type AttrOrigin WindowWindowPositionPropertyInfo = Window
+    attrGet _ = getWindowWindowPosition
+    attrSet _ = setWindowWindowPosition
+    attrConstruct _ = constructWindowWindowPosition
+    attrClear _ = undefined
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Window
+type instance O.AttributeList Window = WindowAttributeList
+type WindowAttributeList = ('[ '("acceptFocus", WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", WindowApplicationPropertyInfo), '("attachedTo", WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", WindowDecoratedPropertyInfo), '("defaultHeight", WindowDefaultHeightPropertyInfo), '("defaultWidth", WindowDefaultWidthPropertyInfo), '("deletable", WindowDeletablePropertyInfo), '("destroyWithParent", WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", WindowFocusOnMapPropertyInfo), '("focusVisible", WindowFocusVisiblePropertyInfo), '("gravity", WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", WindowIconPropertyInfo), '("iconName", WindowIconNamePropertyInfo), '("isActive", WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", WindowMnemonicsVisiblePropertyInfo), '("modal", WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", WindowResizablePropertyInfo), '("resizeGripVisible", WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", WindowSkipTaskbarHintPropertyInfo), '("startupId", WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", WindowTransientForPropertyInfo), '("type", WindowTypePropertyInfo), '("typeHint", WindowTypeHintPropertyInfo), '("urgencyHint", WindowUrgencyHintPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", WindowWindowPositionPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+windowAcceptFocus :: AttrLabelProxy "acceptFocus"
+windowAcceptFocus = AttrLabelProxy
+
+windowApplication :: AttrLabelProxy "application"
+windowApplication = AttrLabelProxy
+
+windowAttachedTo :: AttrLabelProxy "attachedTo"
+windowAttachedTo = AttrLabelProxy
+
+windowDecorated :: AttrLabelProxy "decorated"
+windowDecorated = AttrLabelProxy
+
+windowDefaultHeight :: AttrLabelProxy "defaultHeight"
+windowDefaultHeight = AttrLabelProxy
+
+windowDefaultWidth :: AttrLabelProxy "defaultWidth"
+windowDefaultWidth = AttrLabelProxy
+
+windowDeletable :: AttrLabelProxy "deletable"
+windowDeletable = AttrLabelProxy
+
+windowDestroyWithParent :: AttrLabelProxy "destroyWithParent"
+windowDestroyWithParent = AttrLabelProxy
+
+windowFocusOnMap :: AttrLabelProxy "focusOnMap"
+windowFocusOnMap = AttrLabelProxy
+
+windowFocusVisible :: AttrLabelProxy "focusVisible"
+windowFocusVisible = AttrLabelProxy
+
+windowGravity :: AttrLabelProxy "gravity"
+windowGravity = AttrLabelProxy
+
+windowHasResizeGrip :: AttrLabelProxy "hasResizeGrip"
+windowHasResizeGrip = AttrLabelProxy
+
+windowHideTitlebarWhenMaximized :: AttrLabelProxy "hideTitlebarWhenMaximized"
+windowHideTitlebarWhenMaximized = AttrLabelProxy
+
+windowIcon :: AttrLabelProxy "icon"
+windowIcon = AttrLabelProxy
+
+windowIconName :: AttrLabelProxy "iconName"
+windowIconName = AttrLabelProxy
+
+windowMnemonicsVisible :: AttrLabelProxy "mnemonicsVisible"
+windowMnemonicsVisible = AttrLabelProxy
+
+windowModal :: AttrLabelProxy "modal"
+windowModal = AttrLabelProxy
+
+windowResizable :: AttrLabelProxy "resizable"
+windowResizable = AttrLabelProxy
+
+windowResizeGripVisible :: AttrLabelProxy "resizeGripVisible"
+windowResizeGripVisible = AttrLabelProxy
+
+windowRole :: AttrLabelProxy "role"
+windowRole = AttrLabelProxy
+
+windowScreen :: AttrLabelProxy "screen"
+windowScreen = AttrLabelProxy
+
+windowSkipPagerHint :: AttrLabelProxy "skipPagerHint"
+windowSkipPagerHint = AttrLabelProxy
+
+windowSkipTaskbarHint :: AttrLabelProxy "skipTaskbarHint"
+windowSkipTaskbarHint = AttrLabelProxy
+
+windowStartupId :: AttrLabelProxy "startupId"
+windowStartupId = AttrLabelProxy
+
+windowTitle :: AttrLabelProxy "title"
+windowTitle = AttrLabelProxy
+
+windowTransientFor :: AttrLabelProxy "transientFor"
+windowTransientFor = AttrLabelProxy
+
+windowType :: AttrLabelProxy "type"
+windowType = AttrLabelProxy
+
+windowTypeHint :: AttrLabelProxy "typeHint"
+windowTypeHint = AttrLabelProxy
+
+windowUrgencyHint :: AttrLabelProxy "urgencyHint"
+windowUrgencyHint = AttrLabelProxy
+
+windowWindowPosition :: AttrLabelProxy "windowPosition"
+windowWindowPosition = AttrLabelProxy
+
+#endif
+
+#if ENABLE_OVERLOADING
+data WindowActivateDefaultSignalInfo
+instance SignalInfo WindowActivateDefaultSignalInfo where
+    type HaskellCallbackType WindowActivateDefaultSignalInfo = WindowActivateDefaultCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WindowActivateDefaultCallback cb
+        cb'' <- mk_WindowActivateDefaultCallback cb'
+        connectSignalFunPtr obj "activate-default" cb'' connectMode
+
+data WindowActivateFocusSignalInfo
+instance SignalInfo WindowActivateFocusSignalInfo where
+    type HaskellCallbackType WindowActivateFocusSignalInfo = WindowActivateFocusCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WindowActivateFocusCallback cb
+        cb'' <- mk_WindowActivateFocusCallback cb'
+        connectSignalFunPtr obj "activate-focus" cb'' connectMode
+
+data WindowEnableDebuggingSignalInfo
+instance SignalInfo WindowEnableDebuggingSignalInfo where
+    type HaskellCallbackType WindowEnableDebuggingSignalInfo = WindowEnableDebuggingCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WindowEnableDebuggingCallback cb
+        cb'' <- mk_WindowEnableDebuggingCallback cb'
+        connectSignalFunPtr obj "enable-debugging" cb'' connectMode
+
+data WindowKeysChangedSignalInfo
+instance SignalInfo WindowKeysChangedSignalInfo where
+    type HaskellCallbackType WindowKeysChangedSignalInfo = WindowKeysChangedCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WindowKeysChangedCallback cb
+        cb'' <- mk_WindowKeysChangedCallback cb'
+        connectSignalFunPtr obj "keys-changed" cb'' connectMode
+
+data WindowSetFocusSignalInfo
+instance SignalInfo WindowSetFocusSignalInfo where
+    type HaskellCallbackType WindowSetFocusSignalInfo = WindowSetFocusCallback
+    connectSignal _ obj cb connectMode = do
+        let cb' = wrap_WindowSetFocusCallback cb
+        cb'' <- mk_WindowSetFocusCallback cb'
+        connectSignalFunPtr obj "set-focus" cb'' connectMode
+
+type instance O.SignalList Window = WindowSignalList
+type WindowSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", WindowActivateDefaultSignalInfo), '("activateFocus", WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enableDebugging", WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method Window::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gtk", name = "WindowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_new" gtk_window_new :: 
+    CUInt ->                                -- type : TInterface (Name {namespace = "Gtk", name = "WindowType"})
+    IO (Ptr Window)
+
+{- |
+Creates a new 'GI.Gtk.Objects.Window.Window', which is a toplevel window that can
+contain other widgets. Nearly always, the type of the window should
+be @/GTK_WINDOW_TOPLEVEL/@. If you’re implementing something like a
+popup menu from scratch (which is a bad idea, just use 'GI.Gtk.Objects.Menu.Menu'),
+you might use @/GTK_WINDOW_POPUP/@. @/GTK_WINDOW_POPUP/@ is not for
+dialogs, though in some other toolkits dialogs are called “popups”.
+In GTK+, @/GTK_WINDOW_POPUP/@ means a pop-up menu or pop-up tooltip.
+On X11, popup windows are not controlled by the
+[window manager][gtk-X11-arch].
+
+If you simply want an undecorated window (no window borders), use
+'GI.Gtk.Objects.Window.windowSetDecorated', don’t use @/GTK_WINDOW_POPUP/@.
+
+All top-level windows created by 'GI.Gtk.Objects.Window.windowNew' are stored in
+an internal top-level window list.  This list can be obtained from
+'GI.Gtk.Objects.Window.windowListToplevels'.  Due to Gtk+ keeping a reference to
+the window internally, 'GI.Gtk.Objects.Window.windowNew' does not return a reference
+to the caller.
+
+To delete a 'GI.Gtk.Objects.Window.Window', call 'GI.Gtk.Objects.Widget.widgetDestroy'.
+-}
+windowNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.Enums.WindowType
+    {- ^ /@type@/: type of window -}
+    -> m Window
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.Window.Window'. -}
+windowNew type_ = liftIO $ do
+    let type_' = (fromIntegral . fromEnum) type_
+    result <- gtk_window_new type_'
+    checkUnexpectedReturnNULL "windowNew" result
+    result' <- (newObject Window) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Window::activate_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_activate_default" gtk_window_activate_default :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Activates the default widget for the window, unless the current
+focused widget has been configured to receive the default action
+(see 'GI.Gtk.Objects.Widget.widgetSetReceivesDefault'), in which case the
+focused widget is activated.
+-}
+windowActivateDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a widget got activated. -}
+windowActivateDefault window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_activate_default window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowActivateDefaultMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowActivateDefaultMethodInfo a signature where
+    overloadedMethod _ = windowActivateDefault
+
+#endif
+
+-- method Window::activate_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_activate_focus" gtk_window_activate_focus :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Activates the current focused widget within the window.
+-}
+windowActivateFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a widget got activated. -}
+windowActivateFocus window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_activate_focus window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowActivateFocusMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowActivateFocusMethodInfo a signature where
+    overloadedMethod _ = windowActivateFocus
+
+#endif
+
+-- method Window::activate_key
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEventKey", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_activate_key" gtk_window_activate_key :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gdk.EventKey.EventKey ->            -- event : TInterface (Name {namespace = "Gdk", name = "EventKey"})
+    IO CInt
+
+{- |
+Activates mnemonics and accelerators for this 'GI.Gtk.Objects.Window.Window'. This is normally
+called by the default ::key_press_event handler for toplevel windows,
+however in some cases it may be useful to call this directly when
+overriding the standard key handling for a toplevel window.
+
+/Since: 2.4/
+-}
+windowActivateKey ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Gdk.EventKey.EventKey
+    {- ^ /@event@/: a 'GI.Gdk.Structs.EventKey.EventKey' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a mnemonic or accelerator was found and activated. -}
+windowActivateKey window event = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_window_activate_key window' event'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowActivateKeyMethodInfo
+instance (signature ~ (Gdk.EventKey.EventKey -> m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowActivateKeyMethodInfo a signature where
+    overloadedMethod _ = windowActivateKey
+
+#endif
+
+-- method Window::add_accel_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window to attach accelerator group to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_add_accel_group" gtk_window_add_accel_group :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO ()
+
+{- |
+Associate /@accelGroup@/ with /@window@/, such that calling
+'GI.Gtk.Functions.accelGroupsActivate' on /@window@/ will activate accelerators
+in /@accelGroup@/.
+-}
+windowAddAccelGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.AccelGroup.IsAccelGroup b) =>
+    a
+    {- ^ /@window@/: window to attach accelerator group to -}
+    -> b
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' -}
+    -> m ()
+windowAddAccelGroup window accelGroup = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    gtk_window_add_accel_group window' accelGroup'
+    touchManagedPtr window
+    touchManagedPtr accelGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowAddAccelGroupMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWindow a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo WindowAddAccelGroupMethodInfo a signature where
+    overloadedMethod _ = windowAddAccelGroup
+
+#endif
+
+-- method Window::add_mnemonic
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mnemonic", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget that gets activated by the mnemonic", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_add_mnemonic" gtk_window_add_mnemonic :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Word32 ->                               -- keyval : TBasicType TUInt
+    Ptr Gtk.Widget.Widget ->                -- target : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Adds a mnemonic to this window.
+-}
+windowAddMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Word32
+    {- ^ /@keyval@/: the mnemonic -}
+    -> b
+    {- ^ /@target@/: the widget that gets activated by the mnemonic -}
+    -> m ()
+windowAddMnemonic window keyval target = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    target' <- unsafeManagedPtrCastPtr target
+    gtk_window_add_mnemonic window' keyval target'
+    touchManagedPtr window
+    touchManagedPtr target
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowAddMnemonicMethodInfo
+instance (signature ~ (Word32 -> b -> m ()), MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) => O.MethodInfo WindowAddMnemonicMethodInfo a signature where
+    overloadedMethod _ = windowAddMnemonic
+
+#endif
+
+-- method Window::begin_move_drag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mouse button that initiated the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position where the user clicked to initiate the drag, in root window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position where the user clicked to initiate the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp from the click event that initiated the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_begin_move_drag" gtk_window_begin_move_drag :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Int32 ->                                -- button : TBasicType TInt
+    Int32 ->                                -- root_x : TBasicType TInt
+    Int32 ->                                -- root_y : TBasicType TInt
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    IO ()
+
+{- |
+Starts moving a window. This function is used if an application has
+window movement grips. When GDK can support it, the window movement
+will be done using the standard mechanism for the
+[window manager][gtk-X11-arch] or windowing
+system. Otherwise, GDK will try to emulate window movement,
+potentially not all that well, depending on the windowing system.
+-}
+windowBeginMoveDrag ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Int32
+    {- ^ /@button@/: mouse button that initiated the drag -}
+    -> Int32
+    {- ^ /@rootX@/: X position where the user clicked to initiate the drag, in root window coordinates -}
+    -> Int32
+    {- ^ /@rootY@/: Y position where the user clicked to initiate the drag -}
+    -> Word32
+    {- ^ /@timestamp@/: timestamp from the click event that initiated the drag -}
+    -> m ()
+windowBeginMoveDrag window button rootX rootY timestamp = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_begin_move_drag window' button rootX rootY timestamp
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowBeginMoveDragMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Int32 -> Word32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowBeginMoveDragMethodInfo a signature where
+    overloadedMethod _ = windowBeginMoveDrag
+
+#endif
+
+-- method Window::begin_resize_drag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "edge", argType = TInterface (Name {namespace = "Gdk", name = "WindowEdge"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position of the resize control", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mouse button that initiated the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X position where the user clicked to initiate the drag, in root window coordinates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y position where the user clicked to initiate the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp from the click event that initiated the drag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_begin_resize_drag" gtk_window_begin_resize_drag :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CUInt ->                                -- edge : TInterface (Name {namespace = "Gdk", name = "WindowEdge"})
+    Int32 ->                                -- button : TBasicType TInt
+    Int32 ->                                -- root_x : TBasicType TInt
+    Int32 ->                                -- root_y : TBasicType TInt
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    IO ()
+
+{- |
+Starts resizing a window. This function is used if an application
+has window resizing controls. When GDK can support it, the resize
+will be done using the standard mechanism for the
+[window manager][gtk-X11-arch] or windowing
+system. Otherwise, GDK will try to emulate window resizing,
+potentially not all that well, depending on the windowing system.
+-}
+windowBeginResizeDrag ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Gdk.Enums.WindowEdge
+    {- ^ /@edge@/: position of the resize control -}
+    -> Int32
+    {- ^ /@button@/: mouse button that initiated the drag -}
+    -> Int32
+    {- ^ /@rootX@/: X position where the user clicked to initiate the drag, in root window coordinates -}
+    -> Int32
+    {- ^ /@rootY@/: Y position where the user clicked to initiate the drag -}
+    -> Word32
+    {- ^ /@timestamp@/: timestamp from the click event that initiated the drag -}
+    -> m ()
+windowBeginResizeDrag window edge button rootX rootY timestamp = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let edge' = (fromIntegral . fromEnum) edge
+    gtk_window_begin_resize_drag window' edge' button rootX rootY timestamp
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowBeginResizeDragMethodInfo
+instance (signature ~ (Gdk.Enums.WindowEdge -> Int32 -> Int32 -> Int32 -> Word32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowBeginResizeDragMethodInfo a signature where
+    overloadedMethod _ = windowBeginResizeDrag
+
+#endif
+
+-- method Window::close
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_close" gtk_window_close :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Requests that the window is closed, similar to what happens
+when a window manager close button is clicked.
+
+This function can be used with close buttons in custom
+titlebars.
+
+/Since: 3.10/
+-}
+windowClose ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowClose window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_close window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowCloseMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowCloseMethodInfo a signature where
+    overloadedMethod _ = windowClose
+
+#endif
+
+-- method Window::deiconify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_deiconify" gtk_window_deiconify :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Asks to deiconify (i.e. unminimize) the specified /@window@/. Note
+that you shouldn’t assume the window is definitely deiconified
+afterward, because other entities (e.g. the user or
+[window manager][gtk-X11-arch])) could iconify it
+again before your code which assumes deiconification gets to run.
+
+You can track iconification via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+-}
+windowDeiconify ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowDeiconify window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_deiconify window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowDeiconifyMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowDeiconifyMethodInfo a signature where
+    overloadedMethod _ = windowDeiconify
+
+#endif
+
+-- method Window::fullscreen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_fullscreen" gtk_window_fullscreen :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Asks to place /@window@/ in the fullscreen state. Note that you
+shouldn’t assume the window is definitely full screen afterward,
+because other entities (e.g. the user or
+[window manager][gtk-X11-arch]) could unfullscreen it
+again, and not all window managers honor requests to fullscreen
+windows. But normally the window will end up fullscreen. Just
+don’t write code that crashes if not.
+
+You can track the fullscreen state via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+
+/Since: 2.2/
+-}
+windowFullscreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowFullscreen window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_fullscreen window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowFullscreenMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowFullscreenMethodInfo a signature where
+    overloadedMethod _ = windowFullscreen
+
+#endif
+
+-- method Window::fullscreen_on_monitor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen to draw to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "monitor", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "which monitor to go fullscreen on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_fullscreen_on_monitor" gtk_window_fullscreen_on_monitor :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    Int32 ->                                -- monitor : TBasicType TInt
+    IO ()
+
+{- |
+Asks to place /@window@/ in the fullscreen state. Note that you shouldn\'t assume
+the window is definitely full screen afterward.
+
+You can track the fullscreen state via the \"window-state-event\" signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+
+/Since: 3.18/
+-}
+windowFullscreenOnMonitor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Screen.IsScreen b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> b
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen' to draw to -}
+    -> Int32
+    {- ^ /@monitor@/: which monitor to go fullscreen on -}
+    -> m ()
+windowFullscreenOnMonitor window screen monitor = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    screen' <- unsafeManagedPtrCastPtr screen
+    gtk_window_fullscreen_on_monitor window' screen' monitor
+    touchManagedPtr window
+    touchManagedPtr screen
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowFullscreenOnMonitorMethodInfo
+instance (signature ~ (b -> Int32 -> m ()), MonadIO m, IsWindow a, Gdk.Screen.IsScreen b) => O.MethodInfo WindowFullscreenOnMonitorMethodInfo a signature where
+    overloadedMethod _ = windowFullscreenOnMonitor
+
+#endif
+
+-- method Window::get_accept_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_accept_focus" gtk_window_get_accept_focus :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Window.windowSetAcceptFocus'.
+
+/Since: 2.4/
+-}
+windowGetAcceptFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if window should receive the input focus -}
+windowGetAcceptFocus window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_accept_focus window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetAcceptFocusMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetAcceptFocusMethodInfo a signature where
+    overloadedMethod _ = windowGetAcceptFocus
+
+#endif
+
+-- method Window::get_application
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Application"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_application" gtk_window_get_application :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr Gtk.Application.Application)
+
+{- |
+Gets the 'GI.Gtk.Objects.Application.Application' associated with the window (if any).
+
+/Since: 3.0/
+-}
+windowGetApplication ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe Gtk.Application.Application)
+    {- ^ __Returns:__ a 'GI.Gtk.Objects.Application.Application', or 'Nothing' -}
+windowGetApplication window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_application window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Application.Application) result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetApplicationMethodInfo
+instance (signature ~ (m (Maybe Gtk.Application.Application)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetApplicationMethodInfo a signature where
+    overloadedMethod _ = windowGetApplication
+
+#endif
+
+-- method Window::get_attached_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_attached_to" gtk_window_get_attached_to :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Fetches the attach widget for this window. See
+'GI.Gtk.Objects.Window.windowSetAttachedTo'.
+
+/Since: 3.4/
+-}
+windowGetAttachedTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the widget where the window
+is attached, or 'Nothing' if the window is not attached to any widget. -}
+windowGetAttachedTo window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_attached_to window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetAttachedToMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetAttachedToMethodInfo a signature where
+    overloadedMethod _ = windowGetAttachedTo
+
+#endif
+
+-- method Window::get_decorated
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_decorated" gtk_window_get_decorated :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Returns whether the window has been set to have decorations
+such as a title bar via 'GI.Gtk.Objects.Window.windowSetDecorated'.
+-}
+windowGetDecorated ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the window has been set to have decorations -}
+windowGetDecorated window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_decorated window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetDecoratedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetDecoratedMethodInfo a signature where
+    overloadedMethod _ = windowGetDecorated
+
+#endif
+
+-- method Window::get_default_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the default width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the default height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_default_size" gtk_window_get_default_size :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+{- |
+Gets the default size of the window. A value of -1 for the width or
+height indicates that a default size has not been explicitly set
+for that dimension, so the “natural” size of the window will be
+used.
+-}
+windowGetDefaultSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ((Int32, Int32))
+windowGetDefaultSize window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_window_get_default_size window' width height
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr window
+    freeMem width
+    freeMem height
+    return (width', height')
+
+#if ENABLE_OVERLOADING
+data WindowGetDefaultSizeMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetDefaultSizeMethodInfo a signature where
+    overloadedMethod _ = windowGetDefaultSize
+
+#endif
+
+-- method Window::get_default_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_default_widget" gtk_window_get_default_widget :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the default widget for /@window@/. See
+'GI.Gtk.Objects.Window.windowSetDefault' for more details.
+
+/Since: 2.14/
+-}
+windowGetDefaultWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the default widget, or 'Nothing'
+if there is none. -}
+windowGetDefaultWidget window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_default_widget window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetDefaultWidgetMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetDefaultWidgetMethodInfo a signature where
+    overloadedMethod _ = windowGetDefaultWidget
+
+#endif
+
+-- method Window::get_deletable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_deletable" gtk_window_get_deletable :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Returns whether the window has been set to have a close button
+via 'GI.Gtk.Objects.Window.windowSetDeletable'.
+
+/Since: 2.10/
+-}
+windowGetDeletable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the window has been set to have a close button -}
+windowGetDeletable window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_deletable window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetDeletableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetDeletableMethodInfo a signature where
+    overloadedMethod _ = windowGetDeletable
+
+#endif
+
+-- method Window::get_destroy_with_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_destroy_with_parent" gtk_window_get_destroy_with_parent :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Returns whether the window will be destroyed with its transient parent. See
+gtk_window_set_destroy_with_parent ().
+-}
+windowGetDestroyWithParent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the window will be destroyed with its transient parent. -}
+windowGetDestroyWithParent window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_destroy_with_parent window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetDestroyWithParentMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetDestroyWithParentMethodInfo a signature where
+    overloadedMethod _ = windowGetDestroyWithParent
+
+#endif
+
+-- method Window::get_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_focus" gtk_window_get_focus :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Retrieves the current focused widget within the window.
+Note that this is the widget that would have the focus
+if the toplevel window focused; if the toplevel window
+is not focused then  @gtk_widget_has_focus (widget)@ will
+not be 'True' for the widget.
+-}
+windowGetFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the currently focused widget,
+or 'Nothing' if there is none. -}
+windowGetFocus window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_focus window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetFocusMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetFocusMethodInfo a signature where
+    overloadedMethod _ = windowGetFocus
+
+#endif
+
+-- method Window::get_focus_on_map
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_focus_on_map" gtk_window_get_focus_on_map :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Window.windowSetFocusOnMap'.
+
+/Since: 2.6/
+-}
+windowGetFocusOnMap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if window should receive the input focus when
+mapped. -}
+windowGetFocusOnMap window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_focus_on_map window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetFocusOnMapMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetFocusOnMapMethodInfo a signature where
+    overloadedMethod _ = windowGetFocusOnMap
+
+#endif
+
+-- method Window::get_focus_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_focus_visible" gtk_window_get_focus_visible :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Window.Window':@/focus-visible/@ property.
+
+/Since: 3.2/
+-}
+windowGetFocusVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if “focus rectangles” are supposed to be visible
+    in this window. -}
+windowGetFocusVisible window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_focus_visible window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetFocusVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetFocusVisibleMethodInfo a signature where
+    overloadedMethod _ = windowGetFocusVisible
+
+#endif
+
+-- method Window::get_gravity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Gravity"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_gravity" gtk_window_get_gravity :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CUInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Window.windowSetGravity'.
+-}
+windowGetGravity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Gdk.Enums.Gravity
+    {- ^ __Returns:__ window gravity -}
+windowGetGravity window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_gravity window'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetGravityMethodInfo
+instance (signature ~ (m Gdk.Enums.Gravity), MonadIO m, IsWindow a) => O.MethodInfo WindowGetGravityMethodInfo a signature where
+    overloadedMethod _ = windowGetGravity
+
+#endif
+
+-- method Window::get_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WindowGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_group" gtk_window_get_group :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr Gtk.WindowGroup.WindowGroup)
+
+{- |
+Returns the group for /@window@/ or the default group, if
+/@window@/ is 'Nothing' or if /@window@/ does not have an explicit
+window group.
+
+/Since: 2.10/
+-}
+windowGetGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window', or 'Nothing' -}
+    -> m Gtk.WindowGroup.WindowGroup
+    {- ^ __Returns:__ the 'GI.Gtk.Objects.WindowGroup.WindowGroup' for a window or the default group -}
+windowGetGroup window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_group window'
+    checkUnexpectedReturnNULL "windowGetGroup" result
+    result' <- (newObject Gtk.WindowGroup.WindowGroup) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetGroupMethodInfo
+instance (signature ~ (m Gtk.WindowGroup.WindowGroup), MonadIO m, IsWindow a) => O.MethodInfo WindowGetGroupMethodInfo a signature where
+    overloadedMethod _ = windowGetGroup
+
+#endif
+
+-- method Window::get_has_resize_grip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_has_resize_grip" gtk_window_get_has_resize_grip :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{-# DEPRECATED windowGetHasResizeGrip ["(Since version 3.14)","Resize grips have been removed."] #-}
+{- |
+Determines whether the window may have a resize grip.
+
+/Since: 3.0/
+-}
+windowGetHasResizeGrip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the window has a resize grip -}
+windowGetHasResizeGrip window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_has_resize_grip window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetHasResizeGripMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetHasResizeGripMethodInfo a signature where
+    overloadedMethod _ = windowGetHasResizeGrip
+
+#endif
+
+-- method Window::get_hide_titlebar_when_maximized
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_hide_titlebar_when_maximized" gtk_window_get_hide_titlebar_when_maximized :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Returns whether the window has requested to have its titlebar hidden
+when maximized. See gtk_window_set_hide_titlebar_when_maximized ().
+
+/Since: 3.4/
+-}
+windowGetHideTitlebarWhenMaximized ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the window has requested to have its titlebar
+              hidden when maximized -}
+windowGetHideTitlebarWhenMaximized window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_hide_titlebar_when_maximized window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetHideTitlebarWhenMaximizedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetHideTitlebarWhenMaximizedMethodInfo a signature where
+    overloadedMethod _ = windowGetHideTitlebarWhenMaximized
+
+#endif
+
+-- method Window::get_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_icon" gtk_window_get_icon :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Window.windowSetIcon' (or if you\'ve
+called 'GI.Gtk.Objects.Window.windowSetIconList', gets the first icon in
+the icon list).
+-}
+windowGetIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ icon for window or 'Nothing' if none -}
+windowGetIcon window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_icon window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetIconMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetIconMethodInfo a signature where
+    overloadedMethod _ = windowGetIcon
+
+#endif
+
+-- method Window::get_icon_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_icon_list" gtk_window_get_icon_list :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr (GList (Ptr GdkPixbuf.Pixbuf.Pixbuf)))
+
+{- |
+Retrieves the list of icons set by 'GI.Gtk.Objects.Window.windowSetIconList'.
+The list is copied, but the reference count on each
+member won’t be incremented.
+-}
+windowGetIconList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m [GdkPixbuf.Pixbuf.Pixbuf]
+    {- ^ __Returns:__ copy of window’s icon list -}
+windowGetIconList window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_icon_list window'
+    result' <- unpackGList result
+    result'' <- mapM (newObject GdkPixbuf.Pixbuf.Pixbuf) result'
+    g_list_free result
+    touchManagedPtr window
+    return result''
+
+#if ENABLE_OVERLOADING
+data WindowGetIconListMethodInfo
+instance (signature ~ (m [GdkPixbuf.Pixbuf.Pixbuf]), MonadIO m, IsWindow a) => O.MethodInfo WindowGetIconListMethodInfo a signature where
+    overloadedMethod _ = windowGetIconList
+
+#endif
+
+-- method Window::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_icon_name" gtk_window_get_icon_name :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CString
+
+{- |
+Returns the name of the themed icon for the window,
+see 'GI.Gtk.Objects.Window.windowSetIconName'.
+
+/Since: 2.6/
+-}
+windowGetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the icon name or 'Nothing' if the window has
+no themed icon -}
+windowGetIconName window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_icon_name window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetIconNameMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetIconNameMethodInfo a signature where
+    overloadedMethod _ = windowGetIconName
+
+#endif
+
+-- method Window::get_mnemonic_modifier
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "ModifierType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_mnemonic_modifier" gtk_window_get_mnemonic_modifier :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CUInt
+
+{- |
+Returns the mnemonic modifier for this window. See
+'GI.Gtk.Objects.Window.windowSetMnemonicModifier'.
+-}
+windowGetMnemonicModifier ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m [Gdk.Flags.ModifierType]
+    {- ^ __Returns:__ the modifier mask used to activate
+              mnemonics on this window. -}
+windowGetMnemonicModifier window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_mnemonic_modifier window'
+    let result' = wordToGFlags result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetMnemonicModifierMethodInfo
+instance (signature ~ (m [Gdk.Flags.ModifierType]), MonadIO m, IsWindow a) => O.MethodInfo WindowGetMnemonicModifierMethodInfo a signature where
+    overloadedMethod _ = windowGetMnemonicModifier
+
+#endif
+
+-- method Window::get_mnemonics_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_mnemonics_visible" gtk_window_get_mnemonics_visible :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Gets the value of the 'GI.Gtk.Objects.Window.Window':@/mnemonics-visible/@ property.
+
+/Since: 2.20/
+-}
+windowGetMnemonicsVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if mnemonics are supposed to be visible
+in this window. -}
+windowGetMnemonicsVisible window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_mnemonics_visible window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetMnemonicsVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetMnemonicsVisibleMethodInfo a signature where
+    overloadedMethod _ = windowGetMnemonicsVisible
+
+#endif
+
+-- method Window::get_modal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_modal" gtk_window_get_modal :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Returns whether the window is modal. See 'GI.Gtk.Objects.Window.windowSetModal'.
+-}
+windowGetModal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the window is set to be modal and
+              establishes a grab when shown -}
+windowGetModal window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_modal window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetModalMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetModalMethodInfo a signature where
+    overloadedMethod _ = windowGetModal
+
+#endif
+
+-- method Window::get_opacity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_opacity" gtk_window_get_opacity :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CDouble
+
+{-# DEPRECATED windowGetOpacity ["(Since version 3.8)","Use gtk_widget_get_opacity instead."] #-}
+{- |
+Fetches the requested opacity for this window. See
+'GI.Gtk.Objects.Window.windowSetOpacity'.
+
+/Since: 2.12/
+-}
+windowGetOpacity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Double
+    {- ^ __Returns:__ the requested opacity for this window. -}
+windowGetOpacity window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_opacity window'
+    let result' = realToFrac result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetOpacityMethodInfo
+instance (signature ~ (m Double), MonadIO m, IsWindow a) => O.MethodInfo WindowGetOpacityMethodInfo a signature where
+    overloadedMethod _ = windowGetOpacity
+
+#endif
+
+-- method Window::get_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_x", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for X coordinate of\n    gravity-determined reference point, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "root_y", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for Y coordinate of\n    gravity-determined reference point, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_position" gtk_window_get_position :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Int32 ->                            -- root_x : TBasicType TInt
+    Ptr Int32 ->                            -- root_y : TBasicType TInt
+    IO ()
+
+{- |
+This function returns the position you need to pass to
+'GI.Gtk.Objects.Window.windowMove' to keep /@window@/ in its current position.
+This means that the meaning of the returned value varies with
+window gravity. See 'GI.Gtk.Objects.Window.windowMove' for more details.
+
+The reliability of this function depends on the windowing system
+currently in use. Some windowing systems, such as Wayland, do not
+support a global coordinate system, and thus the position of the
+window will always be (0, 0). Others, like X11, do not have a reliable
+way to obtain the geometry of the decorations of a window if they are
+provided by the window manager. Additionally, on X11, window manager
+have been known to mismanage window gravity, which result in windows
+moving even if you use the coordinates of the current position as
+returned by this function.
+
+If you haven’t changed the window gravity, its gravity will be
+@/GDK_GRAVITY_NORTH_WEST/@. This means that 'GI.Gtk.Objects.Window.windowGetPosition'
+gets the position of the top-left corner of the window manager
+frame for the window. 'GI.Gtk.Objects.Window.windowMove' sets the position of this
+same top-left corner.
+
+If a window has gravity @/GDK_GRAVITY_STATIC/@ the window manager
+frame is not relevant, and thus 'GI.Gtk.Objects.Window.windowGetPosition' will
+always produce accurate results. However you can’t use static
+gravity to do things like place a window in a corner of the screen,
+because static gravity ignores the window manager decorations.
+
+Ideally, this function should return appropriate values if the
+window has client side decorations, assuming that the windowing
+system supports global coordinates.
+
+In practice, saving the window position should not be left to
+applications, as they lack enough knowledge of the windowing
+system and the window manager state to effectively do so. The
+appropriate way to implement saving the window position is to
+use a platform-specific protocol, wherever that is available.
+-}
+windowGetPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ((Int32, Int32))
+windowGetPosition window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    rootX <- allocMem :: IO (Ptr Int32)
+    rootY <- allocMem :: IO (Ptr Int32)
+    gtk_window_get_position window' rootX rootY
+    rootX' <- peek rootX
+    rootY' <- peek rootY
+    touchManagedPtr window
+    freeMem rootX
+    freeMem rootY
+    return (rootX', rootY')
+
+#if ENABLE_OVERLOADING
+data WindowGetPositionMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetPositionMethodInfo a signature where
+    overloadedMethod _ = windowGetPosition
+
+#endif
+
+-- method Window::get_resizable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_resizable" gtk_window_get_resizable :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Window.windowSetResizable'.
+-}
+windowGetResizable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the user can resize the window -}
+windowGetResizable window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_resizable window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetResizableMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetResizableMethodInfo a signature where
+    overloadedMethod _ = windowGetResizable
+
+#endif
+
+-- method Window::get_resize_grip_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface (Name {namespace = "Gdk", name = "Rectangle"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GdkRectangle which we should store\n    the resize grip area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_resize_grip_area" gtk_window_get_resize_grip_area :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gdk.Rectangle.Rectangle ->          -- rect : TInterface (Name {namespace = "Gdk", name = "Rectangle"})
+    IO CInt
+
+{-# DEPRECATED windowGetResizeGripArea ["(Since version 3.14)","Resize grips have been removed."] #-}
+{- |
+If a window has a resize grip, this will retrieve the grip
+position, width and height into the specified 'GI.Gdk.Structs.Rectangle.Rectangle'.
+
+/Since: 3.0/
+-}
+windowGetResizeGripArea ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ((Bool, Gdk.Rectangle.Rectangle))
+    {- ^ __Returns:__ 'True' if the resize grip’s area was retrieved -}
+windowGetResizeGripArea window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
+    result <- gtk_window_get_resize_grip_area window' rect
+    let result' = (/= 0) result
+    rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect
+    touchManagedPtr window
+    return (result', rect')
+
+#if ENABLE_OVERLOADING
+data WindowGetResizeGripAreaMethodInfo
+instance (signature ~ (m ((Bool, Gdk.Rectangle.Rectangle))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetResizeGripAreaMethodInfo a signature where
+    overloadedMethod _ = windowGetResizeGripArea
+
+#endif
+
+-- method Window::get_role
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_role" gtk_window_get_role :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CString
+
+{- |
+Returns the role of the window. See 'GI.Gtk.Objects.Window.windowSetRole' for
+further explanation.
+-}
+windowGetRole ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the role of the window if set, or 'Nothing'. The
+returned is owned by the widget and must not be modified or freed. -}
+windowGetRole window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_role window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetRoleMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetRoleMethodInfo a signature where
+    overloadedMethod _ = windowGetRole
+
+#endif
+
+-- method Window::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Screen"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_screen" gtk_window_get_screen :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr Gdk.Screen.Screen)
+
+{- |
+Returns the 'GI.Gdk.Objects.Screen.Screen' associated with /@window@/.
+
+/Since: 2.2/
+-}
+windowGetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window'. -}
+    -> m Gdk.Screen.Screen
+    {- ^ __Returns:__ a 'GI.Gdk.Objects.Screen.Screen'. -}
+windowGetScreen window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_screen window'
+    checkUnexpectedReturnNULL "windowGetScreen" result
+    result' <- (newObject Gdk.Screen.Screen) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetScreenMethodInfo
+instance (signature ~ (m Gdk.Screen.Screen), MonadIO m, IsWindow a) => O.MethodInfo WindowGetScreenMethodInfo a signature where
+    overloadedMethod _ = windowGetScreen
+
+#endif
+
+-- method Window::get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "return location for width, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "return location for height, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_size" gtk_window_get_size :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Int32 ->                            -- width : TBasicType TInt
+    Ptr Int32 ->                            -- height : TBasicType TInt
+    IO ()
+
+{- |
+Obtains the current size of /@window@/.
+
+If /@window@/ is not visible on screen, this function return the size GTK+
+will suggest to the [window manager][gtk-X11-arch] for the initial window
+size (but this is not reliably the same as the size the window manager
+will actually select). See: 'GI.Gtk.Objects.Window.windowSetDefaultSize'.
+
+Depending on the windowing system and the window manager constraints,
+the size returned by this function may not match the size set using
+'GI.Gtk.Objects.Window.windowResize'; additionally, since 'GI.Gtk.Objects.Window.windowResize' may be
+implemented as an asynchronous operation, GTK+ cannot guarantee in any
+way that this code:
+
+
+=== /C code/
+>
+>  // width and height are set elsewhere
+>  gtk_window_resize (window, width, height);
+>
+>  int new_width, new_height;
+>  gtk_window_get_size (window, &new_width, &new_height);
+
+
+will result in @new_width@ and @new_height@ matching @width@ and
+@height@, respectively.
+
+This function will return the logical size of the 'GI.Gtk.Objects.Window.Window',
+excluding the widgets used in client side decorations; there is,
+however, no guarantee that the result will be completely accurate
+because client side decoration may include widgets that depend on
+the user preferences and that may not be visibile at the time you
+call this function.
+
+The dimensions returned by this function are suitable for being
+stored across sessions; use 'GI.Gtk.Objects.Window.windowSetDefaultSize' to
+restore them when before showing the window.
+
+To avoid potential race conditions, you should only call this
+function in response to a size change notification, for instance
+inside a handler for the 'GI.Gtk.Objects.Widget.Widget'::@/size-allocate/@ signal, or
+inside a handler for the 'GI.Gtk.Objects.Widget.Widget'::@/configure-event/@ signal:
+
+
+=== /C code/
+>
+>static void
+>on_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
+>{
+>  int new_width, new_height;
+>
+>  gtk_window_get_size (GTK_WINDOW (widget), &new_width, &new_height);
+>
+>  ...
+>}
+
+
+Note that, if you connect to the 'GI.Gtk.Objects.Widget.Widget'::@/size-allocate/@ signal,
+you should not use the dimensions of the @/GtkAllocation/@ passed to
+the signal handler, as the allocation may contain client side
+decorations added by GTK+, depending on the windowing system in
+use.
+
+If you are getting a window size in order to position the window
+on the screen, you should, instead, simply set the window’s semantic
+type with 'GI.Gtk.Objects.Window.windowSetTypeHint', which allows the window manager
+to e.g. center dialogs. Also, if you set the transient parent of
+dialogs with 'GI.Gtk.Objects.Window.windowSetTransientFor' window managers will
+often center the dialog over its parent window. It\'s much preferred
+to let the window manager handle these cases rather than doing it
+yourself, because all apps will behave consistently and according to
+user or system preferences, if the window manager handles it. Also,
+the window manager can take into account the size of the window
+decorations and border that it may add, and of which GTK+ has no
+knowledge. Additionally, positioning windows in global screen coordinates
+may not be allowed by the windowing system. For more information,
+see: 'GI.Gtk.Objects.Window.windowSetPosition'.
+-}
+windowGetSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ((Int32, Int32))
+windowGetSize window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gtk_window_get_size window' width height
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr window
+    freeMem width
+    freeMem height
+    return (width', height')
+
+#if ENABLE_OVERLOADING
+data WindowGetSizeMethodInfo
+instance (signature ~ (m ((Int32, Int32))), MonadIO m, IsWindow a) => O.MethodInfo WindowGetSizeMethodInfo a signature where
+    overloadedMethod _ = windowGetSize
+
+#endif
+
+-- method Window::get_skip_pager_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_skip_pager_hint" gtk_window_get_skip_pager_hint :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Window.windowSetSkipPagerHint'.
+
+/Since: 2.2/
+-}
+windowGetSkipPagerHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if window shouldn’t be in pager -}
+windowGetSkipPagerHint window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_skip_pager_hint window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetSkipPagerHintMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetSkipPagerHintMethodInfo a signature where
+    overloadedMethod _ = windowGetSkipPagerHint
+
+#endif
+
+-- method Window::get_skip_taskbar_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_skip_taskbar_hint" gtk_window_get_skip_taskbar_hint :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Window.windowSetSkipTaskbarHint'
+
+/Since: 2.2/
+-}
+windowGetSkipTaskbarHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if window shouldn’t be in taskbar -}
+windowGetSkipTaskbarHint window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_skip_taskbar_hint window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetSkipTaskbarHintMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetSkipTaskbarHintMethodInfo a signature where
+    overloadedMethod _ = windowGetSkipTaskbarHint
+
+#endif
+
+-- method Window::get_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_title" gtk_window_get_title :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CString
+
+{- |
+Retrieves the title of the window. See 'GI.Gtk.Objects.Window.windowSetTitle'.
+-}
+windowGetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the title of the window, or 'Nothing' if none has
+been set explicitly. The returned string is owned by the widget
+and must not be modified or freed. -}
+windowGetTitle window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_title window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetTitleMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetTitleMethodInfo a signature where
+    overloadedMethod _ = windowGetTitle
+
+#endif
+
+-- method Window::get_titlebar
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_titlebar" gtk_window_get_titlebar :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the custom titlebar that has been set with
+'GI.Gtk.Objects.Window.windowSetTitlebar'.
+
+/Since: 3.16/
+-}
+windowGetTitlebar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ the custom titlebar, or 'Nothing' -}
+windowGetTitlebar window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_titlebar window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetTitlebarMethodInfo
+instance (signature ~ (m (Maybe Gtk.Widget.Widget)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetTitlebarMethodInfo a signature where
+    overloadedMethod _ = windowGetTitlebar
+
+#endif
+
+-- method Window::get_transient_for
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Window"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_transient_for" gtk_window_get_transient_for :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO (Ptr Window)
+
+{- |
+Fetches the transient parent for this window. See
+'GI.Gtk.Objects.Window.windowSetTransientFor'.
+-}
+windowGetTransientFor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m (Maybe Window)
+    {- ^ __Returns:__ the transient parent for this
+window, or 'Nothing' if no transient parent has been set. -}
+windowGetTransientFor window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_transient_for window'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Window) result'
+        return result''
+    touchManagedPtr window
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGetTransientForMethodInfo
+instance (signature ~ (m (Maybe Window)), MonadIO m, IsWindow a) => O.MethodInfo WindowGetTransientForMethodInfo a signature where
+    overloadedMethod _ = windowGetTransientFor
+
+#endif
+
+-- method Window::get_type_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "WindowTypeHint"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_type_hint" gtk_window_get_type_hint :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CUInt
+
+{- |
+Gets the type hint for this window. See 'GI.Gtk.Objects.Window.windowSetTypeHint'.
+-}
+windowGetTypeHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Gdk.Enums.WindowTypeHint
+    {- ^ __Returns:__ the type hint for /@window@/. -}
+windowGetTypeHint window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_type_hint window'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetTypeHintMethodInfo
+instance (signature ~ (m Gdk.Enums.WindowTypeHint), MonadIO m, IsWindow a) => O.MethodInfo WindowGetTypeHintMethodInfo a signature where
+    overloadedMethod _ = windowGetTypeHint
+
+#endif
+
+-- method Window::get_urgency_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_urgency_hint" gtk_window_get_urgency_hint :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Window.windowSetUrgencyHint'
+
+/Since: 2.8/
+-}
+windowGetUrgencyHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if window is urgent -}
+windowGetUrgencyHint window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_urgency_hint window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetUrgencyHintMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowGetUrgencyHintMethodInfo a signature where
+    overloadedMethod _ = windowGetUrgencyHint
+
+#endif
+
+-- method Window::get_window_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WindowType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_window_type" gtk_window_get_window_type :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CUInt
+
+{- |
+Gets the type of the window. See 'GI.Gtk.Enums.WindowType'.
+
+/Since: 2.20/
+-}
+windowGetWindowType ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Gtk.Enums.WindowType
+    {- ^ __Returns:__ the type of the window -}
+windowGetWindowType window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_get_window_type window'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGetWindowTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.WindowType), MonadIO m, IsWindow a) => O.MethodInfo WindowGetWindowTypeMethodInfo a signature where
+    overloadedMethod _ = windowGetWindowType
+
+#endif
+
+-- method Window::has_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_has_group" gtk_window_has_group :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Returns whether /@window@/ has an explicit window group.
+-}
+windowHasGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@window@/ has an explicit window group.
+
+Since 2.22 -}
+windowHasGroup window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_has_group window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowHasGroupMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowHasGroupMethodInfo a signature where
+    overloadedMethod _ = windowHasGroup
+
+#endif
+
+-- method Window::has_toplevel_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_has_toplevel_focus" gtk_window_has_toplevel_focus :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Returns whether the input focus is within this GtkWindow.
+For real toplevel windows, this is identical to 'GI.Gtk.Objects.Window.windowIsActive',
+but for embedded windows, like 'GI.Gtk.Objects.Plug.Plug', the results will differ.
+
+/Since: 2.4/
+-}
+windowHasToplevelFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the input focus is within this GtkWindow -}
+windowHasToplevelFocus window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_has_toplevel_focus window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowHasToplevelFocusMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowHasToplevelFocusMethodInfo a signature where
+    overloadedMethod _ = windowHasToplevelFocus
+
+#endif
+
+-- method Window::iconify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_iconify" gtk_window_iconify :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Asks to iconify (i.e. minimize) the specified /@window@/. Note that
+you shouldn’t assume the window is definitely iconified afterward,
+because other entities (e.g. the user or
+[window manager][gtk-X11-arch]) could deiconify it
+again, or there may not be a window manager in which case
+iconification isn’t possible, etc. But normally the window will end
+up iconified. Just don’t write code that crashes if not.
+
+It’s permitted to call this function before showing a window,
+in which case the window will be iconified before it ever appears
+onscreen.
+
+You can track iconification via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+-}
+windowIconify ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowIconify window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_iconify window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowIconifyMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowIconifyMethodInfo a signature where
+    overloadedMethod _ = windowIconify
+
+#endif
+
+-- method Window::is_active
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_is_active" gtk_window_is_active :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Returns whether the window is part of the current active toplevel.
+(That is, the toplevel window receiving keystrokes.)
+The return value is 'True' if the window is active toplevel
+itself, but also if it is, say, a 'GI.Gtk.Objects.Plug.Plug' embedded in the active toplevel.
+You might use this function if you wanted to draw a widget
+differently in an active window from a widget in an inactive window.
+See 'GI.Gtk.Objects.Window.windowHasToplevelFocus'
+
+/Since: 2.4/
+-}
+windowIsActive ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the window part of the current active window. -}
+windowIsActive window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_is_active window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowIsActiveMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowIsActiveMethodInfo a signature where
+    overloadedMethod _ = windowIsActive
+
+#endif
+
+-- method Window::is_maximized
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_is_maximized" gtk_window_is_maximized :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{- |
+Retrieves the current maximized state of /@window@/.
+
+Note that since maximization is ultimately handled by the window
+manager and happens asynchronously to an application request, you
+shouldn’t assume the return value of this function changing
+immediately (or at all), as an effect of calling
+'GI.Gtk.Objects.Window.windowMaximize' or 'GI.Gtk.Objects.Window.windowUnmaximize'.
+
+/Since: 3.12/
+-}
+windowIsMaximized ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ whether the window has a maximized state. -}
+windowIsMaximized window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_is_maximized window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowIsMaximizedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowIsMaximizedMethodInfo a signature where
+    overloadedMethod _ = windowIsMaximized
+
+#endif
+
+-- method Window::maximize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_maximize" gtk_window_maximize :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Asks to maximize /@window@/, so that it becomes full-screen. Note that
+you shouldn’t assume the window is definitely maximized afterward,
+because other entities (e.g. the user or
+[window manager][gtk-X11-arch]) could unmaximize it
+again, and not all window managers support maximization. But
+normally the window will end up maximized. Just don’t write code
+that crashes if not.
+
+It’s permitted to call this function before showing a window,
+in which case the window will be maximized when it appears onscreen
+initially.
+
+You can track maximization via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget', or by listening to notifications on the
+'GI.Gtk.Objects.Window.Window':@/is-maximized/@ property.
+-}
+windowMaximize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowMaximize window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_maximize window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowMaximizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMaximizeMethodInfo a signature where
+    overloadedMethod _ = windowMaximize
+
+#endif
+
+-- method Window::mnemonic_activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mnemonic", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifier", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the modifiers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_mnemonic_activate" gtk_window_mnemonic_activate :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Word32 ->                               -- keyval : TBasicType TUInt
+    CUInt ->                                -- modifier : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO CInt
+
+{- |
+Activates the targets associated with the mnemonic.
+-}
+windowMnemonicActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Word32
+    {- ^ /@keyval@/: the mnemonic -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifier@/: the modifiers -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the activation is done. -}
+windowMnemonicActivate window keyval modifier = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let modifier' = gflagsToWord modifier
+    result <- gtk_window_mnemonic_activate window' keyval modifier'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowMnemonicActivateMethodInfo
+instance (signature ~ (Word32 -> [Gdk.Flags.ModifierType] -> m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowMnemonicActivateMethodInfo a signature where
+    overloadedMethod _ = windowMnemonicActivate
+
+#endif
+
+-- method Window::move
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate to move window to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate to move window to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_move" gtk_window_move :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Int32 ->                                -- x : TBasicType TInt
+    Int32 ->                                -- y : TBasicType TInt
+    IO ()
+
+{- |
+Asks the [window manager][gtk-X11-arch] to move
+/@window@/ to the given position.  Window managers are free to ignore
+this; most window managers ignore requests for initial window
+positions (instead using a user-defined placement algorithm) and
+honor requests after the window has already been shown.
+
+Note: the position is the position of the gravity-determined
+reference point for the window. The gravity determines two things:
+first, the location of the reference point in root window
+coordinates; and second, which point on the window is positioned at
+the reference point.
+
+By default the gravity is @/GDK_GRAVITY_NORTH_WEST/@, so the reference
+point is simply the /@x@/, /@y@/ supplied to 'GI.Gtk.Objects.Window.windowMove'. The
+top-left corner of the window decorations (aka window frame or
+border) will be placed at /@x@/, /@y@/.  Therefore, to position a window
+at the top left of the screen, you want to use the default gravity
+(which is @/GDK_GRAVITY_NORTH_WEST/@) and move the window to 0,0.
+
+To position a window at the bottom right corner of the screen, you
+would set @/GDK_GRAVITY_SOUTH_EAST/@, which means that the reference
+point is at /@x@/ + the window width and /@y@/ + the window height, and
+the bottom-right corner of the window border will be placed at that
+reference point. So, to place a window in the bottom right corner
+you would first set gravity to south east, then write:
+@gtk_window_move (window, gdk_screen_width () - window_width,
+gdk_screen_height () - window_height)@ (note that this
+example does not take multi-head scenarios into account).
+
+The <http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints Specification>
+has a nice table of gravities in the “implementation notes” section.
+
+The 'GI.Gtk.Objects.Window.windowGetPosition' documentation may also be relevant.
+-}
+windowMove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Int32
+    {- ^ /@x@/: X coordinate to move window to -}
+    -> Int32
+    {- ^ /@y@/: Y coordinate to move window to -}
+    -> m ()
+windowMove window x y = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_move window' x y
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowMoveMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowMoveMethodInfo a signature where
+    overloadedMethod _ = windowMove
+
+#endif
+
+-- method Window::parse_geometry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "geometry", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "geometry string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_parse_geometry" gtk_window_parse_geometry :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CString ->                              -- geometry : TBasicType TUTF8
+    IO CInt
+
+{-# DEPRECATED windowParseGeometry ["(Since version 3.20)","Geometry handling in GTK is deprecated."] #-}
+{- |
+Parses a standard X Window System geometry string - see the
+manual page for X (type “man X”) for details on this.
+'GI.Gtk.Objects.Window.windowParseGeometry' does work on all GTK+ ports
+including Win32 but is primarily intended for an X environment.
+
+If either a size or a position can be extracted from the
+geometry string, 'GI.Gtk.Objects.Window.windowParseGeometry' returns 'True'
+and calls 'GI.Gtk.Objects.Window.windowSetDefaultSize' and\/or 'GI.Gtk.Objects.Window.windowMove'
+to resize\/move the window.
+
+If 'GI.Gtk.Objects.Window.windowParseGeometry' returns 'True', it will also
+set the @/GDK_HINT_USER_POS/@ and\/or @/GDK_HINT_USER_SIZE/@ hints
+indicating to the window manager that the size\/position of
+the window was user-specified. This causes most window
+managers to honor the geometry.
+
+Note that for 'GI.Gtk.Objects.Window.windowParseGeometry' to work as expected, it has
+to be called when the window has its “final” size, i.e. after calling
+'GI.Gtk.Objects.Widget.widgetShowAll' on the contents and 'GI.Gtk.Objects.Window.windowSetGeometryHints'
+on the window.
+
+=== /C code/
+>
+>#include <gtk/gtk.h>
+>
+>static void
+>fill_with_content (GtkWidget *vbox)
+>{
+>  // fill with content...
+>}
+>
+>int
+>main (int argc, char *argv[])
+>{
+>  GtkWidget *window, *vbox;
+>  GdkGeometry size_hints = {
+>    100, 50, 0, 0, 100, 50, 10,
+>    10, 0.0, 0.0, GDK_GRAVITY_NORTH_WEST
+>  };
+>
+>  gtk_init (&argc, &argv);
+>
+>  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+>  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+>
+>  gtk_container_add (GTK_CONTAINER (window), vbox);
+>  fill_with_content (vbox);
+>  gtk_widget_show_all (vbox);
+>
+>  gtk_window_set_geometry_hints (GTK_WINDOW (window),
+>	  			    NULL,
+>				    &size_hints,
+>				    GDK_HINT_MIN_SIZE |
+>				    GDK_HINT_BASE_SIZE |
+>				    GDK_HINT_RESIZE_INC);
+>
+>  if (argc > 1)
+>    {
+>      gboolean res;
+>      res = gtk_window_parse_geometry (GTK_WINDOW (window),
+>                                       argv[1]);
+>      if (! res)
+>        fprintf (stderr,
+>                 "Failed to parse “%s”\n",
+>                 argv[1]);
+>    }
+>
+>  gtk_widget_show_all (window);
+>  gtk_main ();
+>
+>  return 0;
+>}
+-}
+windowParseGeometry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> T.Text
+    {- ^ /@geometry@/: geometry string -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if string was parsed successfully -}
+windowParseGeometry window geometry = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    geometry' <- textToCString geometry
+    result <- gtk_window_parse_geometry window' geometry'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    freeMem geometry'
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowParseGeometryMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowParseGeometryMethodInfo a signature where
+    overloadedMethod _ = windowParseGeometry
+
+#endif
+
+-- method Window::present
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_present" gtk_window_present :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Presents a window to the user. This function should not be used
+as when it is called, it is too late to gather a valid timestamp
+to allow focus stealing prevention to work correctly.
+-}
+windowPresent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowPresent window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_present window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowPresentMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowPresentMethodInfo a signature where
+    overloadedMethod _ = windowPresent
+
+#endif
+
+-- method Window::present_with_time
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamp of the user interaction (typically a\n  button or key press event) which triggered this call", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_present_with_time" gtk_window_present_with_time :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    IO ()
+
+{- |
+Presents a window to the user. This may mean raising the window
+in the stacking order, deiconifying it, moving it to the current
+desktop, and\/or giving it the keyboard focus, possibly dependent
+on the user’s platform, window manager, and preferences.
+
+If /@window@/ is hidden, this function calls 'GI.Gtk.Objects.Widget.widgetShow'
+as well.
+
+This function should be used when the user tries to open a window
+that’s already open. Say for example the preferences dialog is
+currently open, and the user chooses Preferences from the menu
+a second time; use 'GI.Gtk.Objects.Window.windowPresent' to move the already-open dialog
+where the user can see it.
+
+Presents a window to the user in response to a user interaction. The
+timestamp should be gathered when the window was requested to be shown
+(when clicking a link for example), rather than once the window is
+ready to be shown.
+
+/Since: 2.8/
+-}
+windowPresentWithTime ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Word32
+    {- ^ /@timestamp@/: the timestamp of the user interaction (typically a
+  button or key press event) which triggered this call -}
+    -> m ()
+windowPresentWithTime window timestamp = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_present_with_time window' timestamp
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowPresentWithTimeMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowPresentWithTimeMethodInfo a signature where
+    overloadedMethod _ = windowPresentWithTime
+
+#endif
+
+-- method Window::propagate_key_event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gdk", name = "EventKey"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkEventKey", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_propagate_key_event" gtk_window_propagate_key_event :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gdk.EventKey.EventKey ->            -- event : TInterface (Name {namespace = "Gdk", name = "EventKey"})
+    IO CInt
+
+{- |
+Propagate a key press or release event to the focus widget and
+up the focus container chain until a widget handles /@event@/.
+This is normally called by the default ::key_press_event and
+::key_release_event handlers for toplevel windows,
+however in some cases it may be useful to call this directly when
+overriding the standard key handling for a toplevel window.
+
+/Since: 2.4/
+-}
+windowPropagateKeyEvent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Gdk.EventKey.EventKey
+    {- ^ /@event@/: a 'GI.Gdk.Structs.EventKey.EventKey' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a widget in the focus chain handled the event. -}
+windowPropagateKeyEvent window event = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    event' <- unsafeManagedPtrGetPtr event
+    result <- gtk_window_propagate_key_event window' event'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    touchManagedPtr event
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowPropagateKeyEventMethodInfo
+instance (signature ~ (Gdk.EventKey.EventKey -> m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowPropagateKeyEventMethodInfo a signature where
+    overloadedMethod _ = windowPropagateKeyEvent
+
+#endif
+
+-- method Window::remove_accel_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_remove_accel_group" gtk_window_remove_accel_group :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.AccelGroup.AccelGroup ->        -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"})
+    IO ()
+
+{- |
+Reverses the effects of 'GI.Gtk.Objects.Window.windowAddAccelGroup'.
+-}
+windowRemoveAccelGroup ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.AccelGroup.IsAccelGroup b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> b
+    {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' -}
+    -> m ()
+windowRemoveAccelGroup window accelGroup = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    accelGroup' <- unsafeManagedPtrCastPtr accelGroup
+    gtk_window_remove_accel_group window' accelGroup'
+    touchManagedPtr window
+    touchManagedPtr accelGroup
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowRemoveAccelGroupMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWindow a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo WindowRemoveAccelGroupMethodInfo a signature where
+    overloadedMethod _ = windowRemoveAccelGroup
+
+#endif
+
+-- method Window::remove_mnemonic
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mnemonic", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget that gets activated by the mnemonic", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_remove_mnemonic" gtk_window_remove_mnemonic :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Word32 ->                               -- keyval : TBasicType TUInt
+    Ptr Gtk.Widget.Widget ->                -- target : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Removes a mnemonic from this window.
+-}
+windowRemoveMnemonic ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Word32
+    {- ^ /@keyval@/: the mnemonic -}
+    -> b
+    {- ^ /@target@/: the widget that gets activated by the mnemonic -}
+    -> m ()
+windowRemoveMnemonic window keyval target = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    target' <- unsafeManagedPtrCastPtr target
+    gtk_window_remove_mnemonic window' keyval target'
+    touchManagedPtr window
+    touchManagedPtr target
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowRemoveMnemonicMethodInfo
+instance (signature ~ (Word32 -> b -> m ()), MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) => O.MethodInfo WindowRemoveMnemonicMethodInfo a signature where
+    overloadedMethod _ = windowRemoveMnemonic
+
+#endif
+
+-- method Window::reshow_with_initial_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_reshow_with_initial_size" gtk_window_reshow_with_initial_size :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{-# DEPRECATED windowReshowWithInitialSize ["(Since version 3.10)","GUI builders can call 'GI.Gtk.Objects.Widget.widgetHide',","  'GI.Gtk.Objects.Widget.widgetUnrealize' and then 'GI.Gtk.Objects.Widget.widgetShow' on /@window@/","  themselves, if they still need this functionality."] #-}
+{- |
+Hides /@window@/, then reshows it, resetting the
+default size and position of the window. Used
+by GUI builders only.
+-}
+windowReshowWithInitialSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowReshowWithInitialSize window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_reshow_with_initial_size window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowReshowWithInitialSizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowReshowWithInitialSizeMethodInfo a signature where
+    overloadedMethod _ = windowReshowWithInitialSize
+
+#endif
+
+-- method Window::resize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width in pixels to resize the window to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height in pixels to resize the window to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_resize" gtk_window_resize :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Resizes the window as if the user had done so, obeying geometry
+constraints. The default geometry constraint is that windows may
+not be smaller than their size request; to override this
+constraint, call 'GI.Gtk.Objects.Widget.widgetSetSizeRequest' to set the window\'s
+request to a smaller value.
+
+If 'GI.Gtk.Objects.Window.windowResize' is called before showing a window for the
+first time, it overrides any default size set with
+'GI.Gtk.Objects.Window.windowSetDefaultSize'.
+
+Windows may not be resized smaller than 1 by 1 pixels.
+
+When using client side decorations, GTK+ will do its best to adjust
+the given size so that the resulting window size matches the
+requested size without the title bar, borders and shadows added for
+the client side decorations, but there is no guarantee that the
+result will be totally accurate because these widgets added for
+client side decorations depend on the theme and may not be realized
+or visible at the time 'GI.Gtk.Objects.Window.windowResize' is issued.
+
+If the GtkWindow has a titlebar widget (see 'GI.Gtk.Objects.Window.windowSetTitlebar'), then
+typically, 'GI.Gtk.Objects.Window.windowResize' will compensate for the height of the titlebar
+widget only if the height is known when the resulting GtkWindow configuration
+is issued.
+For example, if new widgets are added after the GtkWindow configuration
+and cause the titlebar widget to grow in height, this will result in a
+window content smaller that specified by 'GI.Gtk.Objects.Window.windowResize' and not
+a larger window.
+-}
+windowResize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Int32
+    {- ^ /@width@/: width in pixels to resize the window to -}
+    -> Int32
+    {- ^ /@height@/: height in pixels to resize the window to -}
+    -> m ()
+windowResize window width height = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_resize window' width height
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowResizeMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowResizeMethodInfo a signature where
+    overloadedMethod _ = windowResize
+
+#endif
+
+-- method Window::resize_grip_is_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_resize_grip_is_visible" gtk_window_resize_grip_is_visible :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO CInt
+
+{-# DEPRECATED windowResizeGripIsVisible ["(Since version 3.14)","Resize grips have been removed."] #-}
+{- |
+Determines whether a resize grip is visible for the specified window.
+
+/Since: 3.0/
+-}
+windowResizeGripIsVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a resize grip exists and is visible -}
+windowResizeGripIsVisible window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    result <- gtk_window_resize_grip_is_visible window'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowResizeGripIsVisibleMethodInfo
+instance (signature ~ (m Bool), MonadIO m, IsWindow a) => O.MethodInfo WindowResizeGripIsVisibleMethodInfo a signature where
+    overloadedMethod _ = windowResizeGripIsVisible
+
+#endif
+
+-- method Window::resize_to_geometry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width in resize increments to resize the window to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height in resize increments to resize the window to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_resize_to_geometry" gtk_window_resize_to_geometry :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED windowResizeToGeometry ["(Since version 3.20)","This function does nothing. Use","   'GI.Gtk.Objects.Window.windowResize' and compute the geometry yourself."] #-}
+{- |
+Like 'GI.Gtk.Objects.Window.windowResize', but /@width@/ and /@height@/ are interpreted
+in terms of the base size and increment set with
+gtk_window_set_geometry_hints.
+
+/Since: 3.0/
+-}
+windowResizeToGeometry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Int32
+    {- ^ /@width@/: width in resize increments to resize the window to -}
+    -> Int32
+    {- ^ /@height@/: height in resize increments to resize the window to -}
+    -> m ()
+windowResizeToGeometry window width height = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_resize_to_geometry window' width height
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowResizeToGeometryMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowResizeToGeometryMethodInfo a signature where
+    overloadedMethod _ = windowResizeToGeometry
+
+#endif
+
+-- method Window::set_accept_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to let this window receive input focus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_accept_focus" gtk_window_set_accept_focus :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Windows may set a hint asking the desktop environment not to receive
+the input focus. This function sets this hint.
+
+/Since: 2.4/
+-}
+windowSetAcceptFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to let this window receive input focus -}
+    -> m ()
+windowSetAcceptFocus window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_accept_focus window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetAcceptFocusMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetAcceptFocusMethodInfo a signature where
+    overloadedMethod _ = windowSetAcceptFocus
+
+#endif
+
+-- method Window::set_application
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "application", argType = TInterface (Name {namespace = "Gtk", name = "Application"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkApplication, or %NULL to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_application" gtk_window_set_application :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.Application.Application ->      -- application : TInterface (Name {namespace = "Gtk", name = "Application"})
+    IO ()
+
+{- |
+Sets or unsets the 'GI.Gtk.Objects.Application.Application' associated with the window.
+
+The application will be kept alive for at least as long as it has any windows
+associated with it (see 'GI.Gio.Objects.Application.applicationHold' for a way to keep it alive
+without windows).
+
+Normally, the connection between the application and the window will remain
+until the window is destroyed, but you can explicitly remove it by setting
+the /@application@/ to 'Nothing'.
+
+This is equivalent to calling 'GI.Gtk.Objects.Application.applicationRemoveWindow' and\/or
+'GI.Gtk.Objects.Application.applicationAddWindow' on the old\/new applications as relevant.
+
+/Since: 3.0/
+-}
+windowSetApplication ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.Application.IsApplication b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Maybe (b)
+    {- ^ /@application@/: a 'GI.Gtk.Objects.Application.Application', or 'Nothing' to unset -}
+    -> m ()
+windowSetApplication window application = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeApplication <- case application of
+        Nothing -> return nullPtr
+        Just jApplication -> do
+            jApplication' <- unsafeManagedPtrCastPtr jApplication
+            return jApplication'
+    gtk_window_set_application window' maybeApplication
+    touchManagedPtr window
+    whenJust application touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetApplicationMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, Gtk.Application.IsApplication b) => O.MethodInfo WindowSetApplicationMethodInfo a signature where
+    overloadedMethod _ = windowSetApplication
+
+#endif
+
+-- method Window::set_attached_to
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attach_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkWidget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_attached_to" gtk_window_set_attached_to :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.Widget.Widget ->                -- attach_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Marks /@window@/ as attached to /@attachWidget@/. This creates a logical binding
+between the window and the widget it belongs to, which is used by GTK+ to
+propagate information such as styling or accessibility to /@window@/ as if it
+was a children of /@attachWidget@/.
+
+Examples of places where specifying this relation is useful are for instance
+a 'GI.Gtk.Objects.Menu.Menu' created by a 'GI.Gtk.Objects.ComboBox.ComboBox', a completion popup window
+created by 'GI.Gtk.Objects.Entry.Entry' or a typeahead search entry created by 'GI.Gtk.Objects.TreeView.TreeView'.
+
+Note that this function should not be confused with
+'GI.Gtk.Objects.Window.windowSetTransientFor', which specifies a window manager relation
+between two toplevels instead.
+
+Passing 'Nothing' for /@attachWidget@/ detaches the window.
+
+/Since: 3.4/
+-}
+windowSetAttachedTo ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Maybe (b)
+    {- ^ /@attachWidget@/: a 'GI.Gtk.Objects.Widget.Widget', or 'Nothing' -}
+    -> m ()
+windowSetAttachedTo window attachWidget = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeAttachWidget <- case attachWidget of
+        Nothing -> return nullPtr
+        Just jAttachWidget -> do
+            jAttachWidget' <- unsafeManagedPtrCastPtr jAttachWidget
+            return jAttachWidget'
+    gtk_window_set_attached_to window' maybeAttachWidget
+    touchManagedPtr window
+    whenJust attachWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetAttachedToMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) => O.MethodInfo WindowSetAttachedToMethodInfo a signature where
+    overloadedMethod _ = windowSetAttachedTo
+
+#endif
+
+-- method Window::set_decorated
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to decorate the window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_decorated" gtk_window_set_decorated :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+By default, windows are decorated with a title bar, resize
+controls, etc.  Some [window managers][gtk-X11-arch]
+allow GTK+ to disable these decorations, creating a
+borderless window. If you set the decorated property to 'False'
+using this function, GTK+ will do its best to convince the window
+manager not to decorate the window. Depending on the system, this
+function may not have any effect when called on a window that is
+already visible, so you should call it before calling 'GI.Gtk.Objects.Widget.widgetShow'.
+
+On Windows, this function always works, since there’s no window manager
+policy involved.
+-}
+windowSetDecorated ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to decorate the window -}
+    -> m ()
+windowSetDecorated window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_decorated window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetDecoratedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetDecoratedMethodInfo a signature where
+    overloadedMethod _ = windowSetDecorated
+
+#endif
+
+-- method Window::set_default
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "widget to be the default, or %NULL\n    to unset the default widget for the toplevel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_default" gtk_window_set_default :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.Widget.Widget ->                -- default_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+The default widget is the widget that’s activated when the user
+presses Enter in a dialog (for example). This function sets or
+unsets the default widget for a 'GI.Gtk.Objects.Window.Window'. When setting (rather
+than unsetting) the default widget it’s generally easier to call
+'GI.Gtk.Objects.Widget.widgetGrabDefault' on the widget. Before making a widget
+the default widget, you must call 'GI.Gtk.Objects.Widget.widgetSetCanDefault' on
+the widget you’d like to make the default.
+-}
+windowSetDefault ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Maybe (b)
+    {- ^ /@defaultWidget@/: widget to be the default, or 'Nothing'
+    to unset the default widget for the toplevel -}
+    -> m ()
+windowSetDefault window defaultWidget = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeDefaultWidget <- case defaultWidget of
+        Nothing -> return nullPtr
+        Just jDefaultWidget -> do
+            jDefaultWidget' <- unsafeManagedPtrCastPtr jDefaultWidget
+            return jDefaultWidget'
+    gtk_window_set_default window' maybeDefaultWidget
+    touchManagedPtr window
+    whenJust defaultWidget touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetDefaultMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) => O.MethodInfo WindowSetDefaultMethodInfo a signature where
+    overloadedMethod _ = windowSetDefault
+
+#endif
+
+-- method Window::set_default_geometry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width in resize increments, or -1 to unset the default width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height in resize increments, or -1 to unset the default height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_default_geometry" gtk_window_set_default_geometry :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED windowSetDefaultGeometry ["(Since version 3.20)","This function does nothing. If you want to set a default","    size, use 'GI.Gtk.Objects.Window.windowSetDefaultSize' instead."] #-}
+{- |
+Like 'GI.Gtk.Objects.Window.windowSetDefaultSize', but /@width@/ and /@height@/ are interpreted
+in terms of the base size and increment set with
+gtk_window_set_geometry_hints.
+
+/Since: 3.0/
+-}
+windowSetDefaultGeometry ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Int32
+    {- ^ /@width@/: width in resize increments, or -1 to unset the default width -}
+    -> Int32
+    {- ^ /@height@/: height in resize increments, or -1 to unset the default height -}
+    -> m ()
+windowSetDefaultGeometry window width height = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_set_default_geometry window' width height
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetDefaultGeometryMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetDefaultGeometryMethodInfo a signature where
+    overloadedMethod _ = windowSetDefaultGeometry
+
+#endif
+
+-- method Window::set_default_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width in pixels, or -1 to unset the default width", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "height in pixels, or -1 to unset the default height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_default_size" gtk_window_set_default_size :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Int32 ->                                -- width : TBasicType TInt
+    Int32 ->                                -- height : TBasicType TInt
+    IO ()
+
+{- |
+Sets the default size of a window. If the window’s “natural” size
+(its size request) is larger than the default, the default will be
+ignored. More generally, if the default size does not obey the
+geometry hints for the window ('GI.Gtk.Objects.Window.windowSetGeometryHints' can
+be used to set these explicitly), the default size will be clamped
+to the nearest permitted size.
+
+Unlike 'GI.Gtk.Objects.Widget.widgetSetSizeRequest', which sets a size request for
+a widget and thus would keep users from shrinking the window, this
+function only sets the initial size, just as if the user had
+resized the window themselves. Users can still shrink the window
+again as they normally would. Setting a default size of -1 means to
+use the “natural” default size (the size request of the window).
+
+For more control over a window’s initial size and how resizing works,
+investigate 'GI.Gtk.Objects.Window.windowSetGeometryHints'.
+
+For some uses, 'GI.Gtk.Objects.Window.windowResize' is a more appropriate function.
+'GI.Gtk.Objects.Window.windowResize' changes the current size of the window, rather
+than the size to be used on initial display. 'GI.Gtk.Objects.Window.windowResize' always
+affects the window itself, not the geometry widget.
+
+The default size of a window only affects the first time a window is
+shown; if a window is hidden and re-shown, it will remember the size
+it had prior to hiding, rather than using the default size.
+
+Windows can’t actually be 0x0 in size, they must be at least 1x1, but
+passing 0 for /@width@/ and /@height@/ is OK, resulting in a 1x1 default size.
+
+If you use this function to reestablish a previously saved window size,
+note that the appropriate size to save is the one returned by
+'GI.Gtk.Objects.Window.windowGetSize'. Using the window allocation directly will not
+work in all circumstances and can lead to growing or shrinking windows.
+-}
+windowSetDefaultSize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Int32
+    {- ^ /@width@/: width in pixels, or -1 to unset the default width -}
+    -> Int32
+    {- ^ /@height@/: height in pixels, or -1 to unset the default height -}
+    -> m ()
+windowSetDefaultSize window width height = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_set_default_size window' width height
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetDefaultSizeMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetDefaultSizeMethodInfo a signature where
+    overloadedMethod _ = windowSetDefaultSize
+
+#endif
+
+-- method Window::set_deletable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to decorate the window as deletable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_deletable" gtk_window_set_deletable :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+By default, windows have a close button in the window frame. Some
+[window managers][gtk-X11-arch] allow GTK+ to
+disable this button. If you set the deletable property to 'False'
+using this function, GTK+ will do its best to convince the window
+manager not to show a close button. Depending on the system, this
+function may not have any effect when called on a window that is
+already visible, so you should call it before calling 'GI.Gtk.Objects.Widget.widgetShow'.
+
+On Windows, this function always works, since there’s no window manager
+policy involved.
+
+/Since: 2.10/
+-}
+windowSetDeletable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to decorate the window as deletable -}
+    -> m ()
+windowSetDeletable window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_deletable window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetDeletableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetDeletableMethodInfo a signature where
+    overloadedMethod _ = windowSetDeletable
+
+#endif
+
+-- method Window::set_destroy_with_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to destroy @window with its transient parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_destroy_with_parent" gtk_window_set_destroy_with_parent :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@setting@/ is 'True', then destroying the transient parent of /@window@/
+will also destroy /@window@/ itself. This is useful for dialogs that
+shouldn’t persist beyond the lifetime of the main window they\'re
+associated with, for example.
+-}
+windowSetDestroyWithParent ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: whether to destroy /@window@/ with its transient parent -}
+    -> m ()
+windowSetDestroyWithParent window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_destroy_with_parent window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetDestroyWithParentMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetDestroyWithParentMethodInfo a signature where
+    overloadedMethod _ = windowSetDestroyWithParent
+
+#endif
+
+-- method Window::set_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "focus", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "widget to be the new focus widget, or %NULL to unset\n  any focus widget for the toplevel window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_focus" gtk_window_set_focus :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.Widget.Widget ->                -- focus : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+If /@focus@/ is not the current focus widget, and is focusable, sets
+it as the focus widget for the window. If /@focus@/ is 'Nothing', unsets
+the focus widget for this window. To set the focus to a particular
+widget in the toplevel, it is usually more convenient to use
+'GI.Gtk.Objects.Widget.widgetGrabFocus' instead of this function.
+-}
+windowSetFocus ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Maybe (b)
+    {- ^ /@focus@/: widget to be the new focus widget, or 'Nothing' to unset
+  any focus widget for the toplevel window. -}
+    -> m ()
+windowSetFocus window focus = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeFocus <- case focus of
+        Nothing -> return nullPtr
+        Just jFocus -> do
+            jFocus' <- unsafeManagedPtrCastPtr jFocus
+            return jFocus'
+    gtk_window_set_focus window' maybeFocus
+    touchManagedPtr window
+    whenJust focus touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetFocusMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) => O.MethodInfo WindowSetFocusMethodInfo a signature where
+    overloadedMethod _ = windowSetFocus
+
+#endif
+
+-- method Window::set_focus_on_map
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to let this window receive input focus on map", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_focus_on_map" gtk_window_set_focus_on_map :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Windows may set a hint asking the desktop environment not to receive
+the input focus when the window is mapped.  This function sets this
+hint.
+
+/Since: 2.6/
+-}
+windowSetFocusOnMap ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to let this window receive input focus on map -}
+    -> m ()
+windowSetFocusOnMap window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_focus_on_map window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetFocusOnMapMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetFocusOnMapMethodInfo a signature where
+    overloadedMethod _ = windowSetFocusOnMap
+
+#endif
+
+-- method Window::set_focus_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_focus_visible" gtk_window_set_focus_visible :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Window.Window':@/focus-visible/@ property.
+
+/Since: 3.2/
+-}
+windowSetFocusVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: the new value -}
+    -> m ()
+windowSetFocusVisible window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_focus_visible window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetFocusVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetFocusVisibleMethodInfo a signature where
+    overloadedMethod _ = windowSetFocusVisible
+
+#endif
+
+-- method Window::set_geometry_hints
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "geometry_widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "widget the geometry hints used to be applied to\n  or %NULL. Since 3.20 this argument is ignored and GTK behaves as if %NULL was\n  set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "geometry", argType = TInterface (Name {namespace = "Gdk", name = "Geometry"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "struct containing geometry information or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "geom_mask", argType = TInterface (Name {namespace = "Gdk", name = "WindowHints"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mask indicating which struct fields should be paid attention to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_geometry_hints" gtk_window_set_geometry_hints :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.Widget.Widget ->                -- geometry_widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    Ptr Gdk.Geometry.Geometry ->            -- geometry : TInterface (Name {namespace = "Gdk", name = "Geometry"})
+    CUInt ->                                -- geom_mask : TInterface (Name {namespace = "Gdk", name = "WindowHints"})
+    IO ()
+
+{- |
+This function sets up hints about how a window can be resized by
+the user.  You can set a minimum and maximum size; allowed resize
+increments (e.g. for xterm, you can only resize by the size of a
+character); aspect ratios; and more. See the 'GI.Gdk.Structs.Geometry.Geometry' struct.
+-}
+windowSetGeometryHints ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Maybe (b)
+    {- ^ /@geometryWidget@/: widget the geometry hints used to be applied to
+  or 'Nothing'. Since 3.20 this argument is ignored and GTK behaves as if 'Nothing' was
+  set. -}
+    -> Maybe (Gdk.Geometry.Geometry)
+    {- ^ /@geometry@/: struct containing geometry information or 'Nothing' -}
+    -> [Gdk.Flags.WindowHints]
+    {- ^ /@geomMask@/: mask indicating which struct fields should be paid attention to -}
+    -> m ()
+windowSetGeometryHints window geometryWidget geometry geomMask = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeGeometryWidget <- case geometryWidget of
+        Nothing -> return nullPtr
+        Just jGeometryWidget -> do
+            jGeometryWidget' <- unsafeManagedPtrCastPtr jGeometryWidget
+            return jGeometryWidget'
+    maybeGeometry <- case geometry of
+        Nothing -> return nullPtr
+        Just jGeometry -> do
+            jGeometry' <- unsafeManagedPtrGetPtr jGeometry
+            return jGeometry'
+    let geomMask' = gflagsToWord geomMask
+    gtk_window_set_geometry_hints window' maybeGeometryWidget maybeGeometry geomMask'
+    touchManagedPtr window
+    whenJust geometryWidget touchManagedPtr
+    whenJust geometry touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetGeometryHintsMethodInfo
+instance (signature ~ (Maybe (b) -> Maybe (Gdk.Geometry.Geometry) -> [Gdk.Flags.WindowHints] -> m ()), MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) => O.MethodInfo WindowSetGeometryHintsMethodInfo a signature where
+    overloadedMethod _ = windowSetGeometryHints
+
+#endif
+
+-- method Window::set_gravity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gravity", argType = TInterface (Name {namespace = "Gdk", name = "Gravity"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window gravity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_gravity" gtk_window_set_gravity :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CUInt ->                                -- gravity : TInterface (Name {namespace = "Gdk", name = "Gravity"})
+    IO ()
+
+{- |
+Window gravity defines the meaning of coordinates passed to
+'GI.Gtk.Objects.Window.windowMove'. See 'GI.Gtk.Objects.Window.windowMove' and 'GI.Gdk.Enums.Gravity' for
+more details.
+
+The default window gravity is @/GDK_GRAVITY_NORTH_WEST/@ which will
+typically “do what you mean.”
+-}
+windowSetGravity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Gdk.Enums.Gravity
+    {- ^ /@gravity@/: window gravity -}
+    -> m ()
+windowSetGravity window gravity = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let gravity' = (fromIntegral . fromEnum) gravity
+    gtk_window_set_gravity window' gravity'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetGravityMethodInfo
+instance (signature ~ (Gdk.Enums.Gravity -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetGravityMethodInfo a signature where
+    overloadedMethod _ = windowSetGravity
+
+#endif
+
+-- method Window::set_has_resize_grip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to allow a resize grip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_has_resize_grip" gtk_window_set_has_resize_grip :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- value : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED windowSetHasResizeGrip ["(Since version 3.14)","Resize grips have been removed."] #-}
+{- |
+Sets whether /@window@/ has a corner resize grip.
+
+Note that the resize grip is only shown if the window
+is actually resizable and not maximized. Use
+'GI.Gtk.Objects.Window.windowResizeGripIsVisible' to find out if the
+resize grip is currently shown.
+
+/Since: 3.0/
+-}
+windowSetHasResizeGrip ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@value@/: 'True' to allow a resize grip -}
+    -> m ()
+windowSetHasResizeGrip window value = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let value' = (fromIntegral . fromEnum) value
+    gtk_window_set_has_resize_grip window' value'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetHasResizeGripMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetHasResizeGripMethodInfo a signature where
+    overloadedMethod _ = windowSetHasResizeGrip
+
+#endif
+
+-- method Window::set_has_user_ref_count
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_has_user_ref_count" gtk_window_set_has_user_ref_count :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Tells GTK+ whether to drop its extra reference to the window
+when 'GI.Gtk.Objects.Widget.widgetDestroy' is called.
+
+This function is only exported for the benefit of language
+bindings which may need to keep the window alive until their
+wrapper object is garbage collected. There is no justification
+for ever calling this function in an application.
+
+/Since: 3.0/
+-}
+windowSetHasUserRefCount ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: the new value -}
+    -> m ()
+windowSetHasUserRefCount window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_has_user_ref_count window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetHasUserRefCountMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetHasUserRefCountMethodInfo a signature where
+    overloadedMethod _ = windowSetHasUserRefCount
+
+#endif
+
+-- method Window::set_hide_titlebar_when_maximized
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to hide the titlebar when @window is maximized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_hide_titlebar_when_maximized" gtk_window_set_hide_titlebar_when_maximized :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+If /@setting@/ is 'True', then /@window@/ will request that it’s titlebar
+should be hidden when maximized.
+This is useful for windows that don’t convey any information other
+than the application name in the titlebar, to put the available
+screen space to better use. If the underlying window system does not
+support the request, the setting will not have any effect.
+
+Note that custom titlebars set with 'GI.Gtk.Objects.Window.windowSetTitlebar' are
+not affected by this. The application is in full control of their
+content and visibility anyway.
+
+/Since: 3.4/
+-}
+windowSetHideTitlebarWhenMaximized ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: whether to hide the titlebar when /@window@/ is maximized -}
+    -> m ()
+windowSetHideTitlebarWhenMaximized window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_hide_titlebar_when_maximized window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetHideTitlebarWhenMaximizedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetHideTitlebarWhenMaximizedMethodInfo a signature where
+    overloadedMethod _ = windowSetHideTitlebarWhenMaximized
+
+#endif
+
+-- method Window::set_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "icon image, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_icon" gtk_window_set_icon :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- icon : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{- |
+Sets up the icon representing a 'GI.Gtk.Objects.Window.Window'. This icon is used when
+the window is minimized (also known as iconified).  Some window
+managers or desktop environments may also place it in the window
+frame, or display it in other contexts. On others, the icon is not
+used at all, so your mileage may vary.
+
+The icon should be provided in whatever size it was naturally
+drawn; that is, don’t scale the image before passing it to
+GTK+. Scaling is postponed until the last minute, when the desired
+final size is known, to allow best quality.
+
+If you have your icon hand-drawn in multiple sizes, use
+'GI.Gtk.Objects.Window.windowSetIconList'. Then the best size will be used.
+
+This function is equivalent to calling 'GI.Gtk.Objects.Window.windowSetIconList'
+with a 1-element list.
+
+See also 'GI.Gtk.Objects.Window.windowSetDefaultIconList' to set the icon
+for all windows in your application in one go.
+-}
+windowSetIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Maybe (b)
+    {- ^ /@icon@/: icon image, or 'Nothing' -}
+    -> m ()
+windowSetIcon window icon = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeIcon <- case icon of
+        Nothing -> return nullPtr
+        Just jIcon -> do
+            jIcon' <- unsafeManagedPtrCastPtr jIcon
+            return jIcon'
+    gtk_window_set_icon window' maybeIcon
+    touchManagedPtr window
+    whenJust icon touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetIconMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo WindowSetIconMethodInfo a signature where
+    overloadedMethod _ = windowSetIcon
+
+#endif
+
+-- method Window::set_icon_from_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location of icon file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_icon_from_file" gtk_window_set_icon_from_file :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CString ->                              -- filename : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Sets the icon for /@window@/.
+Warns on failure if /@err@/ is 'Nothing'.
+
+This function is equivalent to calling 'GI.Gtk.Objects.Window.windowSetIcon'
+with a pixbuf created by loading the image from /@filename@/.
+
+/Since: 2.2/
+-}
+windowSetIconFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> [Char]
+    {- ^ /@filename@/: location of icon file -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+windowSetIconFromFile window filename = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    filename' <- stringToCString filename
+    onException (do
+        _ <- propagateGError $ gtk_window_set_icon_from_file window' filename'
+        touchManagedPtr window
+        freeMem filename'
+        return ()
+     ) (do
+        freeMem filename'
+     )
+
+#if ENABLE_OVERLOADING
+data WindowSetIconFromFileMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetIconFromFileMethodInfo a signature where
+    overloadedMethod _ = windowSetIconFromFile
+
+#endif
+
+-- method Window::set_icon_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TGList (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list of #GdkPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_icon_list" gtk_window_set_icon_list :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr (GList (Ptr GdkPixbuf.Pixbuf.Pixbuf)) -> -- list : TGList (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+    IO ()
+
+{- |
+Sets up the icon representing a 'GI.Gtk.Objects.Window.Window'. The icon is used when
+the window is minimized (also known as iconified).  Some window
+managers or desktop environments may also place it in the window
+frame, or display it in other contexts. On others, the icon is not
+used at all, so your mileage may vary.
+
+'GI.Gtk.Objects.Window.windowSetIconList' allows you to pass in the same icon in
+several hand-drawn sizes. The list should contain the natural sizes
+your icon is available in; that is, don’t scale the image before
+passing it to GTK+. Scaling is postponed until the last minute,
+when the desired final size is known, to allow best quality.
+
+By passing several sizes, you may improve the final image quality
+of the icon, by reducing or eliminating automatic image scaling.
+
+Recommended sizes to provide: 16x16, 32x32, 48x48 at minimum, and
+larger images (64x64, 128x128) if you have them.
+
+See also 'GI.Gtk.Objects.Window.windowSetDefaultIconList' to set the icon
+for all windows in your application in one go.
+
+Note that transient windows (those who have been set transient for another
+window using 'GI.Gtk.Objects.Window.windowSetTransientFor') will inherit their
+icon from their transient parent. So there’s no need to explicitly
+set the icon on transient windows.
+-}
+windowSetIconList ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> [b]
+    {- ^ /@list@/: list of 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}
+    -> m ()
+windowSetIconList window list = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    list' <- mapM unsafeManagedPtrCastPtr list
+    list'' <- packGList list'
+    gtk_window_set_icon_list window' list''
+    touchManagedPtr window
+    mapM_ touchManagedPtr list
+    g_list_free list''
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetIconListMethodInfo
+instance (signature ~ ([b] -> m ()), MonadIO m, IsWindow a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo WindowSetIconListMethodInfo a signature where
+    overloadedMethod _ = windowSetIconList
+
+#endif
+
+-- method Window::set_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the themed icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_icon_name" gtk_window_set_icon_name :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the icon for the window from a named themed icon.
+See the docs for 'GI.Gtk.Objects.IconTheme.IconTheme' for more details.
+On some platforms, the window icon is not used at all.
+
+Note that this has nothing to do with the WM_ICON_NAME
+property which is mentioned in the ICCCM.
+
+/Since: 2.6/
+-}
+windowSetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Maybe (T.Text)
+    {- ^ /@name@/: the name of the themed icon -}
+    -> m ()
+windowSetIconName window name = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    gtk_window_set_icon_name window' maybeName
+    touchManagedPtr window
+    freeMem maybeName
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetIconNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetIconNameMethodInfo a signature where
+    overloadedMethod _ = windowSetIconName
+
+#endif
+
+-- method Window::set_keep_above
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to keep @window above other windows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_keep_above" gtk_window_set_keep_above :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Asks to keep /@window@/ above, so that it stays on top. Note that
+you shouldn’t assume the window is definitely above afterward,
+because other entities (e.g. the user or
+[window manager][gtk-X11-arch]) could not keep it above,
+and not all window managers support keeping windows above. But
+normally the window will end kept above. Just don’t write code
+that crashes if not.
+
+It’s permitted to call this function before showing a window,
+in which case the window will be kept above when it appears onscreen
+initially.
+
+You can track the above state via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+
+Note that, according to the
+<http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints Specification>,
+the above state is mainly meant for user preferences and should not
+be used by applications e.g. for drawing attention to their
+dialogs.
+
+/Since: 2.4/
+-}
+windowSetKeepAbove ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: whether to keep /@window@/ above other windows -}
+    -> m ()
+windowSetKeepAbove window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_keep_above window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetKeepAboveMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetKeepAboveMethodInfo a signature where
+    overloadedMethod _ = windowSetKeepAbove
+
+#endif
+
+-- method Window::set_keep_below
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to keep @window below other windows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_keep_below" gtk_window_set_keep_below :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Asks to keep /@window@/ below, so that it stays in bottom. Note that
+you shouldn’t assume the window is definitely below afterward,
+because other entities (e.g. the user or
+[window manager][gtk-X11-arch]) could not keep it below,
+and not all window managers support putting windows below. But
+normally the window will be kept below. Just don’t write code
+that crashes if not.
+
+It’s permitted to call this function before showing a window,
+in which case the window will be kept below when it appears onscreen
+initially.
+
+You can track the below state via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+
+Note that, according to the
+<http://www.freedesktop.org/Standards/wm-spec Extended Window Manager Hints Specification>,
+the above state is mainly meant for user preferences and should not
+be used by applications e.g. for drawing attention to their
+dialogs.
+
+/Since: 2.4/
+-}
+windowSetKeepBelow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: whether to keep /@window@/ below other windows -}
+    -> m ()
+windowSetKeepBelow window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_keep_below window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetKeepBelowMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetKeepBelowMethodInfo a signature where
+    overloadedMethod _ = windowSetKeepBelow
+
+#endif
+
+-- method Window::set_mnemonic_modifier
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifier", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the modifier mask used to activate\n              mnemonics on this window.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_mnemonic_modifier" gtk_window_set_mnemonic_modifier :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CUInt ->                                -- modifier : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO ()
+
+{- |
+Sets the mnemonic modifier for this window.
+-}
+windowSetMnemonicModifier ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifier@/: the modifier mask used to activate
+              mnemonics on this window. -}
+    -> m ()
+windowSetMnemonicModifier window modifier = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let modifier' = gflagsToWord modifier
+    gtk_window_set_mnemonic_modifier window' modifier'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetMnemonicModifierMethodInfo
+instance (signature ~ ([Gdk.Flags.ModifierType] -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetMnemonicModifierMethodInfo a signature where
+    overloadedMethod _ = windowSetMnemonicModifier
+
+#endif
+
+-- method Window::set_mnemonics_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_mnemonics_visible" gtk_window_set_mnemonics_visible :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets the 'GI.Gtk.Objects.Window.Window':@/mnemonics-visible/@ property.
+
+/Since: 2.20/
+-}
+windowSetMnemonicsVisible ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: the new value -}
+    -> m ()
+windowSetMnemonicsVisible window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_mnemonics_visible window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetMnemonicsVisibleMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetMnemonicsVisibleMethodInfo a signature where
+    overloadedMethod _ = windowSetMnemonicsVisible
+
+#endif
+
+-- method Window::set_modal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the window is modal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_modal" gtk_window_set_modal :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- modal : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets a window modal or non-modal. Modal windows prevent interaction
+with other windows in the same application. To keep modal dialogs
+on top of main application windows, use
+'GI.Gtk.Objects.Window.windowSetTransientFor' to make the dialog transient for the
+parent; most [window managers][gtk-X11-arch]
+will then disallow lowering the dialog below the parent.
+-}
+windowSetModal ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@modal@/: whether the window is modal -}
+    -> m ()
+windowSetModal window modal = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let modal' = (fromIntegral . fromEnum) modal
+    gtk_window_set_modal window' modal'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetModalMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetModalMethodInfo a signature where
+    overloadedMethod _ = windowSetModal
+
+#endif
+
+-- method Window::set_opacity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "opacity", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desired opacity, between 0 and 1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_opacity" gtk_window_set_opacity :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CDouble ->                              -- opacity : TBasicType TDouble
+    IO ()
+
+{-# DEPRECATED windowSetOpacity ["(Since version 3.8)","Use gtk_widget_set_opacity instead."] #-}
+{- |
+Request the windowing system to make /@window@/ partially transparent,
+with opacity 0 being fully transparent and 1 fully opaque. (Values
+of the opacity parameter are clamped to the [0,1] range.) On X11
+this has any effect only on X screens with a compositing manager
+running. See 'GI.Gtk.Objects.Widget.widgetIsComposited'. On Windows it should work
+always.
+
+Note that setting a window’s opacity after the window has been
+shown causes it to flicker once on Windows.
+
+/Since: 2.12/
+-}
+windowSetOpacity ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Double
+    {- ^ /@opacity@/: desired opacity, between 0 and 1 -}
+    -> m ()
+windowSetOpacity window opacity = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let opacity' = realToFrac opacity
+    gtk_window_set_opacity window' opacity'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetOpacityMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetOpacityMethodInfo a signature where
+    overloadedMethod _ = windowSetOpacity
+
+#endif
+
+-- method Window::set_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TInterface (Name {namespace = "Gtk", name = "WindowPosition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position constraint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_position" gtk_window_set_position :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CUInt ->                                -- position : TInterface (Name {namespace = "Gtk", name = "WindowPosition"})
+    IO ()
+
+{- |
+Sets a position constraint for this window. If the old or new
+constraint is 'GI.Gtk.Enums.WindowPositionCenterAlways', this will also cause
+the window to be repositioned to satisfy the new constraint.
+-}
+windowSetPosition ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window'. -}
+    -> Gtk.Enums.WindowPosition
+    {- ^ /@position@/: a position constraint. -}
+    -> m ()
+windowSetPosition window position = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let position' = (fromIntegral . fromEnum) position
+    gtk_window_set_position window' position'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetPositionMethodInfo
+instance (signature ~ (Gtk.Enums.WindowPosition -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetPositionMethodInfo a signature where
+    overloadedMethod _ = windowSetPosition
+
+#endif
+
+-- method Window::set_resizable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resizable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the user can resize this window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_resizable" gtk_window_set_resizable :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- resizable : TBasicType TBoolean
+    IO ()
+
+{- |
+Sets whether the user can resize a window. Windows are user resizable
+by default.
+-}
+windowSetResizable ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@resizable@/: 'True' if the user can resize this window -}
+    -> m ()
+windowSetResizable window resizable = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let resizable' = (fromIntegral . fromEnum) resizable
+    gtk_window_set_resizable window' resizable'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetResizableMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetResizableMethodInfo a signature where
+    overloadedMethod _ = windowSetResizable
+
+#endif
+
+-- method Window::set_role
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "role", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "unique identifier for the window to be used when restoring a session", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_role" gtk_window_set_role :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CString ->                              -- role : TBasicType TUTF8
+    IO ()
+
+{- |
+This function is only useful on X11, not with other GTK+ targets.
+
+In combination with the window title, the window role allows a
+[window manager][gtk-X11-arch] to identify \"the
+same\" window when an application is restarted. So for example you
+might set the “toolbox” role on your app’s toolbox window, so that
+when the user restarts their session, the window manager can put
+the toolbox back in the same place.
+
+If a window already has a unique title, you don’t need to set the
+role, since the WM can use the title to identify the window when
+restoring the session.
+-}
+windowSetRole ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> T.Text
+    {- ^ /@role@/: unique identifier for the window to be used when restoring a session -}
+    -> m ()
+windowSetRole window role = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    role' <- textToCString role
+    gtk_window_set_role window' role'
+    touchManagedPtr window
+    freeMem role'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetRoleMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetRoleMethodInfo a signature where
+    overloadedMethod _ = windowSetRole
+
+#endif
+
+-- method Window::set_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_screen" gtk_window_set_screen :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
+    IO ()
+
+{- |
+Sets the 'GI.Gdk.Objects.Screen.Screen' where the /@window@/ is displayed; if
+the window is already mapped, it will be unmapped, and
+then remapped on the new screen.
+
+/Since: 2.2/
+-}
+windowSetScreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gdk.Screen.IsScreen b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window'. -}
+    -> b
+    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen'. -}
+    -> m ()
+windowSetScreen window screen = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    screen' <- unsafeManagedPtrCastPtr screen
+    gtk_window_set_screen window' screen'
+    touchManagedPtr window
+    touchManagedPtr screen
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetScreenMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWindow a, Gdk.Screen.IsScreen b) => O.MethodInfo WindowSetScreenMethodInfo a signature where
+    overloadedMethod _ = windowSetScreen
+
+#endif
+
+-- method Window::set_skip_pager_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to keep this window from appearing in the pager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_skip_pager_hint" gtk_window_set_skip_pager_hint :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Windows may set a hint asking the desktop environment not to display
+the window in the pager. This function sets this hint.
+(A \"pager\" is any desktop navigation tool such as a workspace
+switcher that displays a thumbnail representation of the windows
+on the screen.)
+
+/Since: 2.2/
+-}
+windowSetSkipPagerHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to keep this window from appearing in the pager -}
+    -> m ()
+windowSetSkipPagerHint window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_skip_pager_hint window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetSkipPagerHintMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetSkipPagerHintMethodInfo a signature where
+    overloadedMethod _ = windowSetSkipPagerHint
+
+#endif
+
+-- method Window::set_skip_taskbar_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to keep this window from appearing in the task bar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_skip_taskbar_hint" gtk_window_set_skip_taskbar_hint :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Windows may set a hint asking the desktop environment not to display
+the window in the task bar. This function sets this hint.
+
+/Since: 2.2/
+-}
+windowSetSkipTaskbarHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to keep this window from appearing in the task bar -}
+    -> m ()
+windowSetSkipTaskbarHint window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_skip_taskbar_hint window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetSkipTaskbarHintMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetSkipTaskbarHintMethodInfo a signature where
+    overloadedMethod _ = windowSetSkipTaskbarHint
+
+#endif
+
+-- method Window::set_startup_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string with startup-notification identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_startup_id" gtk_window_set_startup_id :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CString ->                              -- startup_id : TBasicType TUTF8
+    IO ()
+
+{- |
+Startup notification identifiers are used by desktop environment to
+track application startup, to provide user feedback and other
+features. This function changes the corresponding property on the
+underlying GdkWindow. Normally, startup identifier is managed
+automatically and you should only use this function in special cases
+like transferring focus from other processes. You should use this
+function before calling 'GI.Gtk.Objects.Window.windowPresent' or any equivalent
+function generating a window map event.
+
+This function is only useful on X11, not with other GTK+ targets.
+
+/Since: 2.12/
+-}
+windowSetStartupId ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> T.Text
+    {- ^ /@startupId@/: a string with startup-notification identifier -}
+    -> m ()
+windowSetStartupId window startupId = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    startupId' <- textToCString startupId
+    gtk_window_set_startup_id window' startupId'
+    touchManagedPtr window
+    freeMem startupId'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetStartupIdMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetStartupIdMethodInfo a signature where
+    overloadedMethod _ = windowSetStartupId
+
+#endif
+
+-- method Window::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "title of the window", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_title" gtk_window_set_title :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the title of the 'GI.Gtk.Objects.Window.Window'. The title of a window will be
+displayed in its title bar; on the X Window System, the title bar
+is rendered by the [window manager][gtk-X11-arch],
+so exactly how the title appears to users may vary
+according to a user’s exact configuration. The title should help a
+user distinguish this window from other windows they may have
+open. A good title might include the application name and current
+document filename, for example.
+-}
+windowSetTitle ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> T.Text
+    {- ^ /@title@/: title of the window -}
+    -> m ()
+windowSetTitle window title = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    title' <- textToCString title
+    gtk_window_set_title window' title'
+    touchManagedPtr window
+    freeMem title'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetTitleMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetTitleMethodInfo a signature where
+    overloadedMethod _ = windowSetTitle
+
+#endif
+
+-- method Window::set_titlebar
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "titlebar", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the widget to use as titlebar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_titlebar" gtk_window_set_titlebar :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Gtk.Widget.Widget ->                -- titlebar : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO ()
+
+{- |
+Sets a custom titlebar for /@window@/.
+
+A typical widget used here is 'GI.Gtk.Objects.HeaderBar.HeaderBar', as it provides various features
+expected of a titlebar while allowing the addition of child widgets to it.
+
+If you set a custom titlebar, GTK+ will do its best to convince
+the window manager not to put its own titlebar on the window.
+Depending on the system, this function may not work for a window
+that is already visible, so you set the titlebar before calling
+'GI.Gtk.Objects.Widget.widgetShow'.
+
+/Since: 3.10/
+-}
+windowSetTitlebar ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Maybe (b)
+    {- ^ /@titlebar@/: the widget to use as titlebar -}
+    -> m ()
+windowSetTitlebar window titlebar = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeTitlebar <- case titlebar of
+        Nothing -> return nullPtr
+        Just jTitlebar -> do
+            jTitlebar' <- unsafeManagedPtrCastPtr jTitlebar
+            return jTitlebar'
+    gtk_window_set_titlebar window' maybeTitlebar
+    touchManagedPtr window
+    whenJust titlebar touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetTitlebarMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, Gtk.Widget.IsWidget b) => O.MethodInfo WindowSetTitlebarMethodInfo a signature where
+    overloadedMethod _ = windowSetTitlebar
+
+#endif
+
+-- method Window::set_transient_for
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "parent window, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_transient_for" gtk_window_set_transient_for :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    Ptr Window ->                           -- parent : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Dialog windows should be set transient for the main application
+window they were spawned from. This allows
+[window managers][gtk-X11-arch] to e.g. keep the
+dialog on top of the main window, or center the dialog over the
+main window. @/gtk_dialog_new_with_buttons()/@ and other convenience
+functions in GTK+ will sometimes call
+'GI.Gtk.Objects.Window.windowSetTransientFor' on your behalf.
+
+Passing 'Nothing' for /@parent@/ unsets the current transient window.
+
+On Wayland, this function can also be used to attach a new
+@/GTK_WINDOW_POPUP/@ to a @/GTK_WINDOW_TOPLEVEL/@ parent already mapped
+on screen so that the @/GTK_WINDOW_POPUP/@ will be created as a
+subsurface-based window @/GDK_WINDOW_SUBSURFACE/@ which can be
+positioned at will relatively to the @/GTK_WINDOW_TOPLEVEL/@ surface.
+
+On Windows, this function puts the child window on top of the parent,
+much as the window manager would have done on X.
+-}
+windowSetTransientFor ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a, IsWindow b) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Maybe (b)
+    {- ^ /@parent@/: parent window, or 'Nothing' -}
+    -> m ()
+windowSetTransientFor window parent = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            jParent' <- unsafeManagedPtrCastPtr jParent
+            return jParent'
+    gtk_window_set_transient_for window' maybeParent
+    touchManagedPtr window
+    whenJust parent touchManagedPtr
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetTransientForMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsWindow a, IsWindow b) => O.MethodInfo WindowSetTransientForMethodInfo a signature where
+    overloadedMethod _ = windowSetTransientFor
+
+#endif
+
+-- method Window::set_type_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hint", argType = TInterface (Name {namespace = "Gdk", name = "WindowTypeHint"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the window type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_type_hint" gtk_window_set_type_hint :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CUInt ->                                -- hint : TInterface (Name {namespace = "Gdk", name = "WindowTypeHint"})
+    IO ()
+
+{- |
+By setting the type hint for the window, you allow the window
+manager to decorate and handle the window in a way which is
+suitable to the function of the window in your application.
+
+This function should be called before the window becomes visible.
+
+@/gtk_dialog_new_with_buttons()/@ and other convenience functions in GTK+
+will sometimes call 'GI.Gtk.Objects.Window.windowSetTypeHint' on your behalf.
+-}
+windowSetTypeHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Gdk.Enums.WindowTypeHint
+    {- ^ /@hint@/: the window type -}
+    -> m ()
+windowSetTypeHint window hint = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let hint' = (fromIntegral . fromEnum) hint
+    gtk_window_set_type_hint window' hint'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetTypeHintMethodInfo
+instance (signature ~ (Gdk.Enums.WindowTypeHint -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetTypeHintMethodInfo a signature where
+    overloadedMethod _ = windowSetTypeHint
+
+#endif
+
+-- method Window::set_urgency_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to mark this window as urgent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_urgency_hint" gtk_window_set_urgency_hint :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+Windows may set a hint asking the desktop environment to draw
+the users attention to the window. This function sets this hint.
+
+/Since: 2.8/
+-}
+windowSetUrgencyHint ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to mark this window as urgent -}
+    -> m ()
+windowSetUrgencyHint window setting = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_urgency_hint window' setting'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetUrgencyHintMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetUrgencyHintMethodInfo a signature where
+    overloadedMethod _ = windowSetUrgencyHint
+
+#endif
+
+-- method Window::set_wmclass
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wmclass_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window name hint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wmclass_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "window class hint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_wmclass" gtk_window_set_wmclass :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    CString ->                              -- wmclass_name : TBasicType TUTF8
+    CString ->                              -- wmclass_class : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED windowSetWmclass ["(Since version 3.22)"] #-}
+{- |
+Don’t use this function. It sets the X Window System “class” and
+“name” hints for a window.  According to the ICCCM, you should
+always set these to the same value for all windows in an
+application, and GTK+ sets them to that value by default, so calling
+this function is sort of pointless. However, you may want to call
+'GI.Gtk.Objects.Window.windowSetRole' on each window in your application, for the
+benefit of the session manager. Setting the role allows the window
+manager to restore window positions when loading a saved session.
+-}
+windowSetWmclass ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> T.Text
+    {- ^ /@wmclassName@/: window name hint -}
+    -> T.Text
+    {- ^ /@wmclassClass@/: window class hint -}
+    -> m ()
+windowSetWmclass window wmclassName wmclassClass = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    wmclassName' <- textToCString wmclassName
+    wmclassClass' <- textToCString wmclassClass
+    gtk_window_set_wmclass window' wmclassName' wmclassClass'
+    touchManagedPtr window
+    freeMem wmclassName'
+    freeMem wmclassClass'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowSetWmclassMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowSetWmclassMethodInfo a signature where
+    overloadedMethod _ = windowSetWmclass
+
+#endif
+
+-- method Window::stick
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_stick" gtk_window_stick :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Asks to stick /@window@/, which means that it will appear on all user
+desktops. Note that you shouldn’t assume the window is definitely
+stuck afterward, because other entities (e.g. the user or
+[window manager][gtk-X11-arch] could unstick it
+again, and some window managers do not support sticking
+windows. But normally the window will end up stuck. Just don\'t
+write code that crashes if not.
+
+It’s permitted to call this function before showing a window.
+
+You can track stickiness via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+-}
+windowStick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowStick window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_stick window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowStickMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowStickMethodInfo a signature where
+    overloadedMethod _ = windowStick
+
+#endif
+
+-- method Window::unfullscreen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_unfullscreen" gtk_window_unfullscreen :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Asks to toggle off the fullscreen state for /@window@/. Note that you
+shouldn’t assume the window is definitely not full screen
+afterward, because other entities (e.g. the user or
+[window manager][gtk-X11-arch]) could fullscreen it
+again, and not all window managers honor requests to unfullscreen
+windows. But normally the window will end up restored to its normal
+state. Just don’t write code that crashes if not.
+
+You can track the fullscreen state via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+
+/Since: 2.2/
+-}
+windowUnfullscreen ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowUnfullscreen window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_unfullscreen window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowUnfullscreenMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowUnfullscreenMethodInfo a signature where
+    overloadedMethod _ = windowUnfullscreen
+
+#endif
+
+-- method Window::unmaximize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_unmaximize" gtk_window_unmaximize :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Asks to unmaximize /@window@/. Note that you shouldn’t assume the
+window is definitely unmaximized afterward, because other entities
+(e.g. the user or [window manager][gtk-X11-arch])
+could maximize it again, and not all window
+managers honor requests to unmaximize. But normally the window will
+end up unmaximized. Just don’t write code that crashes if not.
+
+You can track maximization via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+-}
+windowUnmaximize ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowUnmaximize window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_unmaximize window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowUnmaximizeMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowUnmaximizeMethodInfo a signature where
+    overloadedMethod _ = windowUnmaximize
+
+#endif
+
+-- method Window::unstick
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_unstick" gtk_window_unstick :: 
+    Ptr Window ->                           -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Asks to unstick /@window@/, which means that it will appear on only
+one of the user’s desktops. Note that you shouldn’t assume the
+window is definitely unstuck afterward, because other entities
+(e.g. the user or [window manager][gtk-X11-arch]) could
+stick it again. But normally the window will
+end up stuck. Just don’t write code that crashes if not.
+
+You can track stickiness via the “window-state-event” signal
+on 'GI.Gtk.Objects.Widget.Widget'.
+-}
+windowUnstick ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindow a) =>
+    a
+    {- ^ /@window@/: a 'GI.Gtk.Objects.Window.Window' -}
+    -> m ()
+windowUnstick window = liftIO $ do
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_unstick window'
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowUnstickMethodInfo
+instance (signature ~ (m ()), MonadIO m, IsWindow a) => O.MethodInfo WindowUnstickMethodInfo a signature where
+    overloadedMethod _ = windowUnstick
+
+#endif
+
+-- method Window::get_default_icon_list
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_default_icon_list" gtk_window_get_default_icon_list :: 
+    IO (Ptr (GList (Ptr GdkPixbuf.Pixbuf.Pixbuf)))
+
+{- |
+Gets the value set by 'GI.Gtk.Objects.Window.windowSetDefaultIconList'.
+The list is a copy and should be freed with @/g_list_free()/@,
+but the pixbufs in the list have not had their reference count
+incremented.
+-}
+windowGetDefaultIconList ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m [GdkPixbuf.Pixbuf.Pixbuf]
+    {- ^ __Returns:__ copy of default icon list -}
+windowGetDefaultIconList  = liftIO $ do
+    result <- gtk_window_get_default_icon_list
+    result' <- unpackGList result
+    result'' <- mapM (newObject GdkPixbuf.Pixbuf.Pixbuf) result'
+    g_list_free result
+    return result''
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Window::get_default_icon_name
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_get_default_icon_name" gtk_window_get_default_icon_name :: 
+    IO CString
+
+{- |
+Returns the fallback icon name for windows that has been set
+with 'GI.Gtk.Objects.Window.windowSetDefaultIconName'. The returned
+string is owned by GTK+ and should not be modified. It
+is only valid until the next call to
+'GI.Gtk.Objects.Window.windowSetDefaultIconName'.
+
+/Since: 2.16/
+-}
+windowGetDefaultIconName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m T.Text
+    {- ^ __Returns:__ the fallback icon name for windows -}
+windowGetDefaultIconName  = liftIO $ do
+    result <- gtk_window_get_default_icon_name
+    checkUnexpectedReturnNULL "windowGetDefaultIconName" result
+    result' <- cstringToText result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Window::list_toplevels
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Widget"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_list_toplevels" gtk_window_list_toplevels :: 
+    IO (Ptr (GList (Ptr Gtk.Widget.Widget)))
+
+{- |
+Returns a list of all existing toplevel windows. The widgets
+in the list are not individually referenced. If you want
+to iterate through the list and perform actions involving
+callbacks that might destroy the widgets, you must call
+@g_list_foreach (result, (GFunc)g_object_ref, NULL)@ first, and
+then unref all the widgets afterwards.
+-}
+windowListToplevels ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m [Gtk.Widget.Widget]
+    {- ^ __Returns:__ list of toplevel widgets -}
+windowListToplevels  = liftIO $ do
+    result <- gtk_window_list_toplevels
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.Widget.Widget) result'
+    g_list_free result
+    return result''
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Window::set_auto_startup_notification
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to automatically do startup notification", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_auto_startup_notification" gtk_window_set_auto_startup_notification :: 
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{- |
+By default, after showing the first 'GI.Gtk.Objects.Window.Window', GTK+ calls
+'GI.Gdk.Functions.notifyStartupComplete'.  Call this function to disable
+the automatic startup notification. You might do this if your
+first window is a splash screen, and you want to delay notification
+until after your real main window has been shown, for example.
+
+In that example, you would disable startup notification
+temporarily, show your splash screen, then re-enable it so that
+showing the main window would automatically result in notification.
+
+/Since: 2.2/
+-}
+windowSetAutoStartupNotification ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Bool
+    {- ^ /@setting@/: 'True' to automatically do startup notification -}
+    -> m ()
+windowSetAutoStartupNotification setting = liftIO $ do
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_window_set_auto_startup_notification setting'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Window::set_default_icon
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "icon", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_default_icon" gtk_window_set_default_icon :: 
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- icon : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{- |
+Sets an icon to be used as fallback for windows that haven\'t
+had 'GI.Gtk.Objects.Window.windowSetIcon' called on them from a pixbuf.
+
+/Since: 2.4/
+-}
+windowSetDefaultIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>
+    a
+    {- ^ /@icon@/: the icon -}
+    -> m ()
+windowSetDefaultIcon icon = liftIO $ do
+    icon' <- unsafeManagedPtrCastPtr icon
+    gtk_window_set_default_icon icon'
+    touchManagedPtr icon
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Window::set_default_icon_from_file
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location of icon file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_default_icon_from_file" gtk_window_set_default_icon_from_file :: 
+    CString ->                              -- filename : TBasicType TFileName
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+{- |
+Sets an icon to be used as fallback for windows that haven\'t
+had 'GI.Gtk.Objects.Window.windowSetIconList' called on them from a file
+on disk. Warns on failure if /@err@/ is 'Nothing'.
+
+/Since: 2.2/
+-}
+windowSetDefaultIconFromFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Char]
+    {- ^ /@filename@/: location of icon file -}
+    -> m ()
+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+windowSetDefaultIconFromFile filename = liftIO $ do
+    filename' <- stringToCString filename
+    onException (do
+        _ <- propagateGError $ gtk_window_set_default_icon_from_file filename'
+        freeMem filename'
+        return ()
+     ) (do
+        freeMem filename'
+     )
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Window::set_default_icon_list
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "list", argType = TGList (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a list of #GdkPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferContainer}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_default_icon_list" gtk_window_set_default_icon_list :: 
+    Ptr (GList (Ptr GdkPixbuf.Pixbuf.Pixbuf)) -> -- list : TGList (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+    IO ()
+
+{- |
+Sets an icon list to be used as fallback for windows that haven\'t
+had 'GI.Gtk.Objects.Window.windowSetIconList' called on them to set up a
+window-specific icon list. This function allows you to set up the
+icon for all windows in your app at once.
+
+See 'GI.Gtk.Objects.Window.windowSetIconList' for more details.
+-}
+windowSetDefaultIconList ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>
+    [a]
+    {- ^ /@list@/: a list of 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}
+    -> m ()
+windowSetDefaultIconList list = liftIO $ do
+    list' <- mapM unsafeManagedPtrCastPtr list
+    list'' <- packGList list'
+    gtk_window_set_default_icon_list list''
+    mapM_ touchManagedPtr list
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Window::set_default_icon_name
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the themed icon", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_default_icon_name" gtk_window_set_default_icon_name :: 
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets an icon to be used as fallback for windows that haven\'t
+had 'GI.Gtk.Objects.Window.windowSetIconList' called on them from a named
+themed icon, see 'GI.Gtk.Objects.Window.windowSetIconName'.
+
+/Since: 2.6/
+-}
+windowSetDefaultIconName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: the name of the themed icon -}
+    -> m ()
+windowSetDefaultIconName name = liftIO $ do
+    name' <- textToCString name
+    gtk_window_set_default_icon_name name'
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Window::set_interactive_debugging
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "enable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable interactive debugging", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_set_interactive_debugging" gtk_window_set_interactive_debugging :: 
+    CInt ->                                 -- enable : TBasicType TBoolean
+    IO ()
+
+{- |
+Opens or closes the [interactive debugger][interactive-debugging],
+which offers access to the widget hierarchy of the application
+and to useful debugging tools.
+
+/Since: 3.14/
+-}
+windowSetInteractiveDebugging ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Bool
+    {- ^ /@enable@/: 'True' to enable interactive debugging -}
+    -> m ()
+windowSetInteractiveDebugging enable = liftIO $ do
+    let enable' = (fromIntegral . fromEnum) enable
+    gtk_window_set_interactive_debugging enable'
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+
diff --git a/GI/Gtk/Objects/Window.hs-boot b/GI/Gtk/Objects/Window.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/Window.hs-boot
@@ -0,0 +1,470 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.Window where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Window = Window (ManagedPtr Window)
+instance GObject Window where
+class (GObject o, O.IsDescendantOf Window o) => IsWindow o
+instance (GObject o, O.IsDescendantOf Window o) => IsWindow o
+instance O.HasParentTypes Window
+#if ENABLE_OVERLOADING
+data WindowAcceptFocusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowApplicationPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowAttachedToPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowDecoratedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowDefaultHeightPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowDefaultWidthPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowDeletablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowDestroyWithParentPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowFocusOnMapPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowFocusVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGravityPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowHasResizeGripPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowHasToplevelFocusPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowHideTitlebarWhenMaximizedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowIconPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowIconNamePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowIsActivePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowIsMaximizedPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowMnemonicsVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowModalPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowResizablePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowResizeGripVisiblePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowRolePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowScreenPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSkipPagerHintPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSkipTaskbarHintPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowStartupIdPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowTitlePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowTransientForPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowTypePropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowTypeHintPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowUrgencyHintPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowWindowPositionPropertyInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowActivateDefaultSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowActivateFocusSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowEnableDebuggingSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowKeysChangedSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetFocusSignalInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowActivateDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowActivateFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowActivateKeyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowAddAccelGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowAddMnemonicMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowBeginMoveDragMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowBeginResizeDragMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowCloseMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowDeiconifyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowFullscreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowFullscreenOnMonitorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetAcceptFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetApplicationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetAttachedToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetDecoratedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetDefaultSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetDefaultWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetDeletableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetDestroyWithParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetFocusOnMapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetFocusVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetGravityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetHasResizeGripMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetHideTitlebarWhenMaximizedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetIconListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetMnemonicModifierMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetMnemonicsVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetModalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetOpacityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetResizableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetResizeGripAreaMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetRoleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetSkipPagerHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetSkipTaskbarHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetTitlebarMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetTransientForMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetTypeHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetUrgencyHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGetWindowTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowHasGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowHasToplevelFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowIconifyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowIsActiveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowIsMaximizedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowMaximizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowMnemonicActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowMoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowParseGeometryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowPresentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowPresentWithTimeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowPropagateKeyEventMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowRemoveAccelGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowRemoveMnemonicMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowReshowWithInitialSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowResizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowResizeGripIsVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowResizeToGeometryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetAcceptFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetApplicationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetAttachedToMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetDecoratedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetDefaultMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetDefaultGeometryMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetDefaultSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetDeletableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetDestroyWithParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetFocusMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetFocusOnMapMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetFocusVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetGeometryHintsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetGravityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetHasResizeGripMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetHasUserRefCountMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetHideTitlebarWhenMaximizedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetIconFromFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetIconListMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetKeepAboveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetKeepBelowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetMnemonicModifierMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetMnemonicsVisibleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetModalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetOpacityMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetResizableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetRoleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetScreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetSkipPagerHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetSkipTaskbarHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetStartupIdMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetTitleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetTitlebarMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetTransientForMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetTypeHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetUrgencyHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowSetWmclassMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowStickMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowUnfullscreenMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowUnmaximizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowUnstickMethodInfo
+#endif
diff --git a/GI/Gtk/Objects/WindowAccessible.hs b/GI/Gtk/Objects/WindowAccessible.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/WindowAccessible.hs
@@ -0,0 +1,166 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.WindowAccessible
+    ( 
+
+-- * Exported types
+    WindowAccessible(..)                    ,
+    IsWindowAccessible                      ,
+    toWindowAccessible                      ,
+    noWindowAccessible                      ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Atk.Interfaces.Component as Atk.Component
+import qualified GI.Atk.Interfaces.Window as Atk.Window
+import qualified GI.Atk.Objects.Object as Atk.Object
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Accessible as Gtk.Accessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.ContainerAccessible as Gtk.ContainerAccessible
+import {-# SOURCE #-} qualified GI.Gtk.Objects.WidgetAccessible as Gtk.WidgetAccessible
+
+-- | Memory-managed wrapper type.
+newtype WindowAccessible = WindowAccessible (ManagedPtr WindowAccessible)
+foreign import ccall "gtk_window_accessible_get_type"
+    c_gtk_window_accessible_get_type :: IO GType
+
+instance GObject WindowAccessible where
+    gobjectType = c_gtk_window_accessible_get_type
+    
+
+-- | Type class for types which can be safely cast to `WindowAccessible`, for instance with `toWindowAccessible`.
+class (GObject o, O.IsDescendantOf WindowAccessible o) => IsWindowAccessible o
+instance (GObject o, O.IsDescendantOf WindowAccessible o) => IsWindowAccessible o
+
+instance O.HasParentTypes WindowAccessible
+type instance O.ParentTypes WindowAccessible = '[Gtk.ContainerAccessible.ContainerAccessible, Gtk.WidgetAccessible.WidgetAccessible, Gtk.Accessible.Accessible, Atk.Object.Object, GObject.Object.Object, Atk.Component.Component, Atk.Window.Window]
+
+-- | Cast to `WindowAccessible`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toWindowAccessible :: (MonadIO m, IsWindowAccessible o) => o -> m WindowAccessible
+toWindowAccessible = liftIO . unsafeCastTo WindowAccessible
+
+-- | A convenience alias for `Nothing` :: `Maybe` `WindowAccessible`.
+noWindowAccessible :: Maybe WindowAccessible
+noWindowAccessible = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveWindowAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveWindowAccessibleMethod "addRelationship" o = Atk.Object.ObjectAddRelationshipMethodInfo
+    ResolveWindowAccessibleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveWindowAccessibleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveWindowAccessibleMethod "connectWidgetDestroyed" o = Gtk.Accessible.AccessibleConnectWidgetDestroyedMethodInfo
+    ResolveWindowAccessibleMethod "contains" o = Atk.Component.ComponentContainsMethodInfo
+    ResolveWindowAccessibleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveWindowAccessibleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveWindowAccessibleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveWindowAccessibleMethod "grabFocus" o = Atk.Component.ComponentGrabFocusMethodInfo
+    ResolveWindowAccessibleMethod "initialize" o = Atk.Object.ObjectInitializeMethodInfo
+    ResolveWindowAccessibleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveWindowAccessibleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveWindowAccessibleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveWindowAccessibleMethod "notifyStateChange" o = Atk.Object.ObjectNotifyStateChangeMethodInfo
+    ResolveWindowAccessibleMethod "peekParent" o = Atk.Object.ObjectPeekParentMethodInfo
+    ResolveWindowAccessibleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveWindowAccessibleMethod "refAccessibleAtPoint" o = Atk.Component.ComponentRefAccessibleAtPointMethodInfo
+    ResolveWindowAccessibleMethod "refAccessibleChild" o = Atk.Object.ObjectRefAccessibleChildMethodInfo
+    ResolveWindowAccessibleMethod "refRelationSet" o = Atk.Object.ObjectRefRelationSetMethodInfo
+    ResolveWindowAccessibleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveWindowAccessibleMethod "refStateSet" o = Atk.Object.ObjectRefStateSetMethodInfo
+    ResolveWindowAccessibleMethod "removeFocusHandler" o = Atk.Component.ComponentRemoveFocusHandlerMethodInfo
+    ResolveWindowAccessibleMethod "removePropertyChangeHandler" o = Atk.Object.ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveWindowAccessibleMethod "removeRelationship" o = Atk.Object.ObjectRemoveRelationshipMethodInfo
+    ResolveWindowAccessibleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveWindowAccessibleMethod "scrollTo" o = Atk.Component.ComponentScrollToMethodInfo
+    ResolveWindowAccessibleMethod "scrollToPoint" o = Atk.Component.ComponentScrollToPointMethodInfo
+    ResolveWindowAccessibleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveWindowAccessibleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveWindowAccessibleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveWindowAccessibleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveWindowAccessibleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveWindowAccessibleMethod "getAlpha" o = Atk.Component.ComponentGetAlphaMethodInfo
+    ResolveWindowAccessibleMethod "getAttributes" o = Atk.Object.ObjectGetAttributesMethodInfo
+    ResolveWindowAccessibleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveWindowAccessibleMethod "getDescription" o = Atk.Object.ObjectGetDescriptionMethodInfo
+    ResolveWindowAccessibleMethod "getExtents" o = Atk.Component.ComponentGetExtentsMethodInfo
+    ResolveWindowAccessibleMethod "getIndexInParent" o = Atk.Object.ObjectGetIndexInParentMethodInfo
+    ResolveWindowAccessibleMethod "getLayer" o = Atk.Object.ObjectGetLayerMethodInfo
+    ResolveWindowAccessibleMethod "getMdiZorder" o = Atk.Object.ObjectGetMdiZorderMethodInfo
+    ResolveWindowAccessibleMethod "getNAccessibleChildren" o = Atk.Object.ObjectGetNAccessibleChildrenMethodInfo
+    ResolveWindowAccessibleMethod "getName" o = Atk.Object.ObjectGetNameMethodInfo
+    ResolveWindowAccessibleMethod "getObjectLocale" o = Atk.Object.ObjectGetObjectLocaleMethodInfo
+    ResolveWindowAccessibleMethod "getParent" o = Atk.Object.ObjectGetParentMethodInfo
+    ResolveWindowAccessibleMethod "getPosition" o = Atk.Component.ComponentGetPositionMethodInfo
+    ResolveWindowAccessibleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveWindowAccessibleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveWindowAccessibleMethod "getRole" o = Atk.Object.ObjectGetRoleMethodInfo
+    ResolveWindowAccessibleMethod "getSize" o = Atk.Component.ComponentGetSizeMethodInfo
+    ResolveWindowAccessibleMethod "getWidget" o = Gtk.Accessible.AccessibleGetWidgetMethodInfo
+    ResolveWindowAccessibleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveWindowAccessibleMethod "setDescription" o = Atk.Object.ObjectSetDescriptionMethodInfo
+    ResolveWindowAccessibleMethod "setExtents" o = Atk.Component.ComponentSetExtentsMethodInfo
+    ResolveWindowAccessibleMethod "setName" o = Atk.Object.ObjectSetNameMethodInfo
+    ResolveWindowAccessibleMethod "setParent" o = Atk.Object.ObjectSetParentMethodInfo
+    ResolveWindowAccessibleMethod "setPosition" o = Atk.Component.ComponentSetPositionMethodInfo
+    ResolveWindowAccessibleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveWindowAccessibleMethod "setRole" o = Atk.Object.ObjectSetRoleMethodInfo
+    ResolveWindowAccessibleMethod "setSize" o = Atk.Component.ComponentSetSizeMethodInfo
+    ResolveWindowAccessibleMethod "setWidget" o = Gtk.Accessible.AccessibleSetWidgetMethodInfo
+    ResolveWindowAccessibleMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveWindowAccessibleMethod t WindowAccessible, O.MethodInfo info WindowAccessible p) => OL.IsLabel t (WindowAccessible -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList WindowAccessible
+type instance O.AttributeList WindowAccessible = WindowAccessibleAttributeList
+type WindowAccessibleAttributeList = ('[ '("accessibleComponentLayer", Atk.Object.ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", Atk.Object.ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", Atk.Object.ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", Atk.Object.ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", Atk.Object.ObjectAccessibleNamePropertyInfo), '("accessibleParent", Atk.Object.ObjectAccessibleParentPropertyInfo), '("accessibleRole", Atk.Object.ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", Atk.Object.ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", Atk.Object.ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", Atk.Object.ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", Atk.Object.ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", Atk.Object.ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", Atk.Object.ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", Atk.Object.ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", Atk.Object.ObjectAccessibleValuePropertyInfo), '("widget", Gtk.Accessible.AccessibleWidgetPropertyInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList WindowAccessible = WindowAccessibleSignalList
+type WindowAccessibleSignalList = ('[ '("activate", Atk.Window.WindowActivateSignalInfo), '("activeDescendantChanged", Atk.Object.ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", Atk.Component.ComponentBoundsChangedSignalInfo), '("childrenChanged", Atk.Object.ObjectChildrenChangedSignalInfo), '("create", Atk.Window.WindowCreateSignalInfo), '("deactivate", Atk.Window.WindowDeactivateSignalInfo), '("destroy", Atk.Window.WindowDestroySignalInfo), '("focusEvent", Atk.Object.ObjectFocusEventSignalInfo), '("maximize", Atk.Window.WindowMaximizeSignalInfo), '("minimize", Atk.Window.WindowMinimizeSignalInfo), '("move", Atk.Window.WindowMoveSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChange", Atk.Object.ObjectPropertyChangeSignalInfo), '("resize", Atk.Window.WindowResizeSignalInfo), '("restore", Atk.Window.WindowRestoreSignalInfo), '("stateChange", Atk.Object.ObjectStateChangeSignalInfo), '("visibleDataChanged", Atk.Object.ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/WindowAccessible.hs-boot b/GI/Gtk/Objects/WindowAccessible.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/WindowAccessible.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.WindowAccessible where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype WindowAccessible = WindowAccessible (ManagedPtr WindowAccessible)
+instance GObject WindowAccessible where
+class (GObject o, O.IsDescendantOf WindowAccessible o) => IsWindowAccessible o
+instance (GObject o, O.IsDescendantOf WindowAccessible o) => IsWindowAccessible o
+instance O.HasParentTypes WindowAccessible
diff --git a/GI/Gtk/Objects/WindowGroup.hs b/GI/Gtk/Objects/WindowGroup.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/WindowGroup.hs
@@ -0,0 +1,418 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Objects.WindowGroup.WindowGroup' restricts the effect of grabs to windows
+in the same group, thereby making window groups almost behave
+like separate applications.
+
+A window can be a member in at most one window group at a time.
+Windows that have not been explicitly assigned to a group are
+implicitly treated like windows of the default window group.
+
+GtkWindowGroup objects are referenced by each window in the group,
+so once you have added all windows to a GtkWindowGroup, you can drop
+the initial reference to the window group with 'GI.GObject.Objects.Object.objectUnref'. If the
+windows in the window group are subsequently destroyed, then they will
+be removed from the window group and drop their references on the window
+group; when all window have been removed, the window group will be
+freed.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Objects.WindowGroup
+    ( 
+
+-- * Exported types
+    WindowGroup(..)                         ,
+    IsWindowGroup                           ,
+    toWindowGroup                           ,
+    noWindowGroup                           ,
+
+
+ -- * Methods
+-- ** addWindow #method:addWindow#
+
+#if ENABLE_OVERLOADING
+    WindowGroupAddWindowMethodInfo          ,
+#endif
+    windowGroupAddWindow                    ,
+
+
+-- ** getCurrentDeviceGrab #method:getCurrentDeviceGrab#
+
+#if ENABLE_OVERLOADING
+    WindowGroupGetCurrentDeviceGrabMethodInfo,
+#endif
+    windowGroupGetCurrentDeviceGrab         ,
+
+
+-- ** getCurrentGrab #method:getCurrentGrab#
+
+#if ENABLE_OVERLOADING
+    WindowGroupGetCurrentGrabMethodInfo     ,
+#endif
+    windowGroupGetCurrentGrab               ,
+
+
+-- ** listWindows #method:listWindows#
+
+#if ENABLE_OVERLOADING
+    WindowGroupListWindowsMethodInfo        ,
+#endif
+    windowGroupListWindows                  ,
+
+
+-- ** new #method:new#
+
+    windowGroupNew                          ,
+
+
+-- ** removeWindow #method:removeWindow#
+
+#if ENABLE_OVERLOADING
+    WindowGroupRemoveWindowMethodInfo       ,
+#endif
+    windowGroupRemoveWindow                 ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Objects.Device as Gdk.Device
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
+
+-- | Memory-managed wrapper type.
+newtype WindowGroup = WindowGroup (ManagedPtr WindowGroup)
+foreign import ccall "gtk_window_group_get_type"
+    c_gtk_window_group_get_type :: IO GType
+
+instance GObject WindowGroup where
+    gobjectType = c_gtk_window_group_get_type
+    
+
+-- | Type class for types which can be safely cast to `WindowGroup`, for instance with `toWindowGroup`.
+class (GObject o, O.IsDescendantOf WindowGroup o) => IsWindowGroup o
+instance (GObject o, O.IsDescendantOf WindowGroup o) => IsWindowGroup o
+
+instance O.HasParentTypes WindowGroup
+type instance O.ParentTypes WindowGroup = '[GObject.Object.Object]
+
+-- | Cast to `WindowGroup`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
+toWindowGroup :: (MonadIO m, IsWindowGroup o) => o -> m WindowGroup
+toWindowGroup = liftIO . unsafeCastTo WindowGroup
+
+-- | A convenience alias for `Nothing` :: `Maybe` `WindowGroup`.
+noWindowGroup :: Maybe WindowGroup
+noWindowGroup = Nothing
+
+#if ENABLE_OVERLOADING
+type family ResolveWindowGroupMethod (t :: Symbol) (o :: *) :: * where
+    ResolveWindowGroupMethod "addWindow" o = WindowGroupAddWindowMethodInfo
+    ResolveWindowGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
+    ResolveWindowGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
+    ResolveWindowGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
+    ResolveWindowGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
+    ResolveWindowGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
+    ResolveWindowGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
+    ResolveWindowGroupMethod "listWindows" o = WindowGroupListWindowsMethodInfo
+    ResolveWindowGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
+    ResolveWindowGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
+    ResolveWindowGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
+    ResolveWindowGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
+    ResolveWindowGroupMethod "removeWindow" o = WindowGroupRemoveWindowMethodInfo
+    ResolveWindowGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
+    ResolveWindowGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
+    ResolveWindowGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
+    ResolveWindowGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
+    ResolveWindowGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
+    ResolveWindowGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
+    ResolveWindowGroupMethod "getCurrentDeviceGrab" o = WindowGroupGetCurrentDeviceGrabMethodInfo
+    ResolveWindowGroupMethod "getCurrentGrab" o = WindowGroupGetCurrentGrabMethodInfo
+    ResolveWindowGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
+    ResolveWindowGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
+    ResolveWindowGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
+    ResolveWindowGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
+    ResolveWindowGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
+    ResolveWindowGroupMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveWindowGroupMethod t WindowGroup, O.MethodInfo info WindowGroup p) => OL.IsLabel t (WindowGroup -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList WindowGroup
+type instance O.AttributeList WindowGroup = WindowGroupAttributeList
+type WindowGroupAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type instance O.SignalList WindowGroup = WindowGroupSignalList
+type WindowGroupSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
+
+#endif
+
+-- method WindowGroup::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WindowGroup"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_group_new" gtk_window_group_new :: 
+    IO (Ptr WindowGroup)
+
+{- |
+Creates a new 'GI.Gtk.Objects.WindowGroup.WindowGroup' object. Grabs added with
+'GI.Gtk.Objects.Widget.widgetGrabAdd' only affect windows within the same 'GI.Gtk.Objects.WindowGroup.WindowGroup'.
+-}
+windowGroupNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m WindowGroup
+    {- ^ __Returns:__ a new 'GI.Gtk.Objects.WindowGroup.WindowGroup'. -}
+windowGroupNew  = liftIO $ do
+    result <- gtk_window_group_new
+    checkUnexpectedReturnNULL "windowGroupNew" result
+    result' <- (wrapObject WindowGroup) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method WindowGroup::add_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window_group", argType = TInterface (Name {namespace = "Gtk", name = "WindowGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindowGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWindow to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_group_add_window" gtk_window_group_add_window :: 
+    Ptr WindowGroup ->                      -- window_group : TInterface (Name {namespace = "Gtk", name = "WindowGroup"})
+    Ptr Gtk.Window.Window ->                -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Adds a window to a 'GI.Gtk.Objects.WindowGroup.WindowGroup'.
+-}
+windowGroupAddWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindowGroup a, Gtk.Window.IsWindow b) =>
+    a
+    {- ^ /@windowGroup@/: a 'GI.Gtk.Objects.WindowGroup.WindowGroup' -}
+    -> b
+    {- ^ /@window@/: the 'GI.Gtk.Objects.Window.Window' to add -}
+    -> m ()
+windowGroupAddWindow windowGroup window = liftIO $ do
+    windowGroup' <- unsafeManagedPtrCastPtr windowGroup
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_group_add_window windowGroup' window'
+    touchManagedPtr windowGroup
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowGroupAddWindowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWindowGroup a, Gtk.Window.IsWindow b) => O.MethodInfo WindowGroupAddWindowMethodInfo a signature where
+    overloadedMethod _ = windowGroupAddWindow
+
+#endif
+
+-- method WindowGroup::get_current_device_grab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window_group", argType = TInterface (Name {namespace = "Gtk", name = "WindowGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindowGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gdk", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_group_get_current_device_grab" gtk_window_group_get_current_device_grab :: 
+    Ptr WindowGroup ->                      -- window_group : TInterface (Name {namespace = "Gtk", name = "WindowGroup"})
+    Ptr Gdk.Device.Device ->                -- device : TInterface (Name {namespace = "Gdk", name = "Device"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Returns the current grab widget for /@device@/, or 'Nothing' if none.
+
+/Since: 3.0/
+-}
+windowGroupGetCurrentDeviceGrab ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindowGroup a, Gdk.Device.IsDevice b) =>
+    a
+    {- ^ /@windowGroup@/: a 'GI.Gtk.Objects.WindowGroup.WindowGroup' -}
+    -> b
+    {- ^ /@device@/: a 'GI.Gdk.Objects.Device.Device' -}
+    -> m (Maybe Gtk.Widget.Widget)
+    {- ^ __Returns:__ The grab widget, or 'Nothing' -}
+windowGroupGetCurrentDeviceGrab windowGroup device = liftIO $ do
+    windowGroup' <- unsafeManagedPtrCastPtr windowGroup
+    device' <- unsafeManagedPtrCastPtr device
+    result <- gtk_window_group_get_current_device_grab windowGroup' device'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newObject Gtk.Widget.Widget) result'
+        return result''
+    touchManagedPtr windowGroup
+    touchManagedPtr device
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WindowGroupGetCurrentDeviceGrabMethodInfo
+instance (signature ~ (b -> m (Maybe Gtk.Widget.Widget)), MonadIO m, IsWindowGroup a, Gdk.Device.IsDevice b) => O.MethodInfo WindowGroupGetCurrentDeviceGrabMethodInfo a signature where
+    overloadedMethod _ = windowGroupGetCurrentDeviceGrab
+
+#endif
+
+-- method WindowGroup::get_current_grab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window_group", argType = TInterface (Name {namespace = "Gtk", name = "WindowGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindowGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Widget"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_group_get_current_grab" gtk_window_group_get_current_grab :: 
+    Ptr WindowGroup ->                      -- window_group : TInterface (Name {namespace = "Gtk", name = "WindowGroup"})
+    IO (Ptr Gtk.Widget.Widget)
+
+{- |
+Gets the current grab widget of the given group,
+see 'GI.Gtk.Objects.Widget.widgetGrabAdd'.
+
+/Since: 2.22/
+-}
+windowGroupGetCurrentGrab ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindowGroup a) =>
+    a
+    {- ^ /@windowGroup@/: a 'GI.Gtk.Objects.WindowGroup.WindowGroup' -}
+    -> m Gtk.Widget.Widget
+    {- ^ __Returns:__ the current grab widget of the group -}
+windowGroupGetCurrentGrab windowGroup = liftIO $ do
+    windowGroup' <- unsafeManagedPtrCastPtr windowGroup
+    result <- gtk_window_group_get_current_grab windowGroup'
+    checkUnexpectedReturnNULL "windowGroupGetCurrentGrab" result
+    result' <- (newObject Gtk.Widget.Widget) result
+    touchManagedPtr windowGroup
+    return result'
+
+#if ENABLE_OVERLOADING
+data WindowGroupGetCurrentGrabMethodInfo
+instance (signature ~ (m Gtk.Widget.Widget), MonadIO m, IsWindowGroup a) => O.MethodInfo WindowGroupGetCurrentGrabMethodInfo a signature where
+    overloadedMethod _ = windowGroupGetCurrentGrab
+
+#endif
+
+-- method WindowGroup::list_windows
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window_group", argType = TInterface (Name {namespace = "Gtk", name = "WindowGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindowGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Window"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_group_list_windows" gtk_window_group_list_windows :: 
+    Ptr WindowGroup ->                      -- window_group : TInterface (Name {namespace = "Gtk", name = "WindowGroup"})
+    IO (Ptr (GList (Ptr Gtk.Window.Window)))
+
+{- |
+Returns a list of the @/GtkWindows/@ that belong to /@windowGroup@/.
+
+/Since: 2.14/
+-}
+windowGroupListWindows ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindowGroup a) =>
+    a
+    {- ^ /@windowGroup@/: a 'GI.Gtk.Objects.WindowGroup.WindowGroup' -}
+    -> m [Gtk.Window.Window]
+    {- ^ __Returns:__ A
+  newly-allocated list of windows inside the group. -}
+windowGroupListWindows windowGroup = liftIO $ do
+    windowGroup' <- unsafeManagedPtrCastPtr windowGroup
+    result <- gtk_window_group_list_windows windowGroup'
+    result' <- unpackGList result
+    result'' <- mapM (newObject Gtk.Window.Window) result'
+    g_list_free result
+    touchManagedPtr windowGroup
+    return result''
+
+#if ENABLE_OVERLOADING
+data WindowGroupListWindowsMethodInfo
+instance (signature ~ (m [Gtk.Window.Window]), MonadIO m, IsWindowGroup a) => O.MethodInfo WindowGroupListWindowsMethodInfo a signature where
+    overloadedMethod _ = windowGroupListWindows
+
+#endif
+
+-- method WindowGroup::remove_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "window_group", argType = TInterface (Name {namespace = "Gtk", name = "WindowGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWindowGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface (Name {namespace = "Gtk", name = "Window"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkWindow to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_window_group_remove_window" gtk_window_group_remove_window :: 
+    Ptr WindowGroup ->                      -- window_group : TInterface (Name {namespace = "Gtk", name = "WindowGroup"})
+    Ptr Gtk.Window.Window ->                -- window : TInterface (Name {namespace = "Gtk", name = "Window"})
+    IO ()
+
+{- |
+Removes a window from a 'GI.Gtk.Objects.WindowGroup.WindowGroup'.
+-}
+windowGroupRemoveWindow ::
+    (B.CallStack.HasCallStack, MonadIO m, IsWindowGroup a, Gtk.Window.IsWindow b) =>
+    a
+    {- ^ /@windowGroup@/: a 'GI.Gtk.Objects.WindowGroup.WindowGroup' -}
+    -> b
+    {- ^ /@window@/: the 'GI.Gtk.Objects.Window.Window' to remove -}
+    -> m ()
+windowGroupRemoveWindow windowGroup window = liftIO $ do
+    windowGroup' <- unsafeManagedPtrCastPtr windowGroup
+    window' <- unsafeManagedPtrCastPtr window
+    gtk_window_group_remove_window windowGroup' window'
+    touchManagedPtr windowGroup
+    touchManagedPtr window
+    return ()
+
+#if ENABLE_OVERLOADING
+data WindowGroupRemoveWindowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, IsWindowGroup a, Gtk.Window.IsWindow b) => O.MethodInfo WindowGroupRemoveWindowMethodInfo a signature where
+    overloadedMethod _ = windowGroupRemoveWindow
+
+#endif
+
+
diff --git a/GI/Gtk/Objects/WindowGroup.hs-boot b/GI/Gtk/Objects/WindowGroup.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Objects/WindowGroup.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Objects.WindowGroup where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype WindowGroup = WindowGroup (ManagedPtr WindowGroup)
+instance GObject WindowGroup where
+class (GObject o, O.IsDescendantOf WindowGroup o) => IsWindowGroup o
+instance (GObject o, O.IsDescendantOf WindowGroup o) => IsWindowGroup o
+instance O.HasParentTypes WindowGroup
+#if ENABLE_OVERLOADING
+data WindowGroupAddWindowMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGroupGetCurrentDeviceGrabMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGroupGetCurrentGrabMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGroupListWindowsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WindowGroupRemoveWindowMethodInfo
+#endif
diff --git a/GI/Gtk/Structs.hs b/GI/Gtk/Structs.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs.hs
@@ -0,0 +1,133 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs
+    (     module GI.Gtk.Structs.AccelGroupEntry   ,
+    module GI.Gtk.Structs.AccelKey          ,
+    module GI.Gtk.Structs.ActionEntry       ,
+    module GI.Gtk.Structs.BindingArg        ,
+    module GI.Gtk.Structs.BindingEntry      ,
+    module GI.Gtk.Structs.BindingSet        ,
+    module GI.Gtk.Structs.BindingSignal     ,
+    module GI.Gtk.Structs.Border            ,
+    module GI.Gtk.Structs.CssSection        ,
+    module GI.Gtk.Structs.FileFilterInfo    ,
+    module GI.Gtk.Structs.FixedChild        ,
+    module GI.Gtk.Structs.Gradient          ,
+    module GI.Gtk.Structs.IMContextInfo     ,
+    module GI.Gtk.Structs.IconSet           ,
+    module GI.Gtk.Structs.IconSource        ,
+    module GI.Gtk.Structs.LabelSelectionInfo,
+    module GI.Gtk.Structs.PadActionEntry    ,
+    module GI.Gtk.Structs.PageRange         ,
+    module GI.Gtk.Structs.PaperSize         ,
+    module GI.Gtk.Structs.RadioActionEntry  ,
+    module GI.Gtk.Structs.RcContext         ,
+    module GI.Gtk.Structs.RcProperty        ,
+    module GI.Gtk.Structs.RecentData        ,
+    module GI.Gtk.Structs.RecentFilterInfo  ,
+    module GI.Gtk.Structs.RecentInfo        ,
+    module GI.Gtk.Structs.RequestedSize     ,
+    module GI.Gtk.Structs.Requisition       ,
+    module GI.Gtk.Structs.SelectionData     ,
+    module GI.Gtk.Structs.SettingsValue     ,
+    module GI.Gtk.Structs.StockItem         ,
+    module GI.Gtk.Structs.SymbolicColor     ,
+    module GI.Gtk.Structs.TableChild        ,
+    module GI.Gtk.Structs.TableRowCol       ,
+    module GI.Gtk.Structs.TargetEntry       ,
+    module GI.Gtk.Structs.TargetList        ,
+    module GI.Gtk.Structs.TargetPair        ,
+    module GI.Gtk.Structs.TextAppearance    ,
+    module GI.Gtk.Structs.TextAttributes    ,
+    module GI.Gtk.Structs.TextBTree         ,
+    module GI.Gtk.Structs.TextIter          ,
+    module GI.Gtk.Structs.ThemeEngine       ,
+    module GI.Gtk.Structs.ToggleActionEntry ,
+    module GI.Gtk.Structs.TreeIter          ,
+    module GI.Gtk.Structs.TreePath          ,
+    module GI.Gtk.Structs.TreeRowReference  ,
+    module GI.Gtk.Structs.WidgetPath        ,
+    module GI.Gtk.Structs.WindowGeometryInfo,
+
+
+    ) where
+
+import GI.Gtk.Structs.AccelGroupEntry
+import GI.Gtk.Structs.AccelKey
+import GI.Gtk.Structs.ActionEntry
+import GI.Gtk.Structs.BindingArg
+import GI.Gtk.Structs.BindingEntry
+import GI.Gtk.Structs.BindingSet
+import GI.Gtk.Structs.BindingSignal
+import GI.Gtk.Structs.Border
+import GI.Gtk.Structs.CssSection
+import GI.Gtk.Structs.FileFilterInfo
+import GI.Gtk.Structs.FixedChild
+import GI.Gtk.Structs.Gradient
+import GI.Gtk.Structs.IMContextInfo
+import GI.Gtk.Structs.IconSet
+import GI.Gtk.Structs.IconSource
+import GI.Gtk.Structs.LabelSelectionInfo
+import GI.Gtk.Structs.PadActionEntry
+import GI.Gtk.Structs.PageRange
+import GI.Gtk.Structs.PaperSize
+import GI.Gtk.Structs.RadioActionEntry
+import GI.Gtk.Structs.RcContext
+import GI.Gtk.Structs.RcProperty
+import GI.Gtk.Structs.RecentData
+import GI.Gtk.Structs.RecentFilterInfo
+import GI.Gtk.Structs.RecentInfo
+import GI.Gtk.Structs.RequestedSize
+import GI.Gtk.Structs.Requisition
+import GI.Gtk.Structs.SelectionData
+import GI.Gtk.Structs.SettingsValue
+import GI.Gtk.Structs.StockItem
+import GI.Gtk.Structs.SymbolicColor
+import GI.Gtk.Structs.TableChild
+import GI.Gtk.Structs.TableRowCol
+import GI.Gtk.Structs.TargetEntry
+import GI.Gtk.Structs.TargetList
+import GI.Gtk.Structs.TargetPair
+import GI.Gtk.Structs.TextAppearance
+import GI.Gtk.Structs.TextAttributes
+import GI.Gtk.Structs.TextBTree
+import GI.Gtk.Structs.TextIter
+import GI.Gtk.Structs.ThemeEngine
+import GI.Gtk.Structs.ToggleActionEntry
+import GI.Gtk.Structs.TreeIter
+import GI.Gtk.Structs.TreePath
+import GI.Gtk.Structs.TreeRowReference
+import GI.Gtk.Structs.WidgetPath
+import GI.Gtk.Structs.WindowGeometryInfo
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+
diff --git a/GI/Gtk/Structs/AccelGroupEntry.hs b/GI/Gtk/Structs/AccelGroupEntry.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/AccelGroupEntry.hs
@@ -0,0 +1,261 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.AccelGroupEntry
+    ( 
+
+-- * Exported types
+    AccelGroupEntry(..)                     ,
+    newZeroAccelGroupEntry                  ,
+    noAccelGroupEntry                       ,
+
+
+ -- * Properties
+-- ** accelPathQuark #attr:accelPathQuark#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    accelGroupEntry_accelPathQuark          ,
+#endif
+    getAccelGroupEntryAccelPathQuark        ,
+    setAccelGroupEntryAccelPathQuark        ,
+
+
+-- ** closure #attr:closure#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    accelGroupEntry_closure                 ,
+#endif
+    clearAccelGroupEntryClosure             ,
+    getAccelGroupEntryClosure               ,
+    setAccelGroupEntryClosure               ,
+
+
+-- ** key #attr:key#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    accelGroupEntry_key                     ,
+#endif
+    getAccelGroupEntryKey                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Structs.AccelKey as Gtk.AccelKey
+
+-- | Memory-managed wrapper type.
+newtype AccelGroupEntry = AccelGroupEntry (ManagedPtr AccelGroupEntry)
+instance WrappedPtr AccelGroupEntry where
+    wrappedPtrCalloc = callocBytes 32
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr AccelGroupEntry)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `AccelGroupEntry` struct initialized to zero.
+newZeroAccelGroupEntry :: MonadIO m => m AccelGroupEntry
+newZeroAccelGroupEntry = liftIO $ wrappedPtrCalloc >>= wrapPtr AccelGroupEntry
+
+instance tag ~ 'AttrSet => Constructible AccelGroupEntry tag where
+    new _ attrs = do
+        o <- newZeroAccelGroupEntry
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AccelGroupEntry`.
+noAccelGroupEntry :: Maybe AccelGroupEntry
+noAccelGroupEntry = Nothing
+
+{- |
+Get the value of the “@key@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelGroupEntry #key
+@
+-}
+getAccelGroupEntryKey :: MonadIO m => AccelGroupEntry -> m Gtk.AccelKey.AccelKey
+getAccelGroupEntryKey s = liftIO $ withManagedPtr s $ \ptr -> do
+    let val = ptr `plusPtr` 0 :: (Ptr Gtk.AccelKey.AccelKey)
+    val' <- (newPtr Gtk.AccelKey.AccelKey) val
+    return val'
+
+#if ENABLE_OVERLOADING
+data AccelGroupEntryKeyFieldInfo
+instance AttrInfo AccelGroupEntryKeyFieldInfo where
+    type AttrAllowedOps AccelGroupEntryKeyFieldInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint AccelGroupEntryKeyFieldInfo = (~) (Ptr Gtk.AccelKey.AccelKey)
+    type AttrBaseTypeConstraint AccelGroupEntryKeyFieldInfo = (~) AccelGroupEntry
+    type AttrGetType AccelGroupEntryKeyFieldInfo = Gtk.AccelKey.AccelKey
+    type AttrLabel AccelGroupEntryKeyFieldInfo = "key"
+    type AttrOrigin AccelGroupEntryKeyFieldInfo = AccelGroupEntry
+    attrGet _ = getAccelGroupEntryKey
+    attrSet _ = undefined
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+accelGroupEntry_key :: AttrLabelProxy "key"
+accelGroupEntry_key = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@closure@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelGroupEntry #closure
+@
+-}
+getAccelGroupEntryClosure :: MonadIO m => AccelGroupEntry -> m (Maybe (GClosure ()))
+getAccelGroupEntryClosure s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr (GClosure ()))
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (B.GClosure.newGClosureFromPtr . FP.castPtr) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@closure@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' accelGroupEntry [ #closure 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAccelGroupEntryClosure :: MonadIO m => AccelGroupEntry -> Ptr (GClosure ()) -> m ()
+setAccelGroupEntryClosure s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: Ptr (GClosure ()))
+
+{- |
+Set the value of the “@closure@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #closure
+@
+-}
+clearAccelGroupEntryClosure :: MonadIO m => AccelGroupEntry -> m ()
+clearAccelGroupEntryClosure s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr (GClosure ()))
+
+#if ENABLE_OVERLOADING
+data AccelGroupEntryClosureFieldInfo
+instance AttrInfo AccelGroupEntryClosureFieldInfo where
+    type AttrAllowedOps AccelGroupEntryClosureFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint AccelGroupEntryClosureFieldInfo = (~) (Ptr (GClosure ()))
+    type AttrBaseTypeConstraint AccelGroupEntryClosureFieldInfo = (~) AccelGroupEntry
+    type AttrGetType AccelGroupEntryClosureFieldInfo = Maybe (GClosure ())
+    type AttrLabel AccelGroupEntryClosureFieldInfo = "closure"
+    type AttrOrigin AccelGroupEntryClosureFieldInfo = AccelGroupEntry
+    attrGet _ = getAccelGroupEntryClosure
+    attrSet _ = setAccelGroupEntryClosure
+    attrConstruct = undefined
+    attrClear _ = clearAccelGroupEntryClosure
+
+accelGroupEntry_closure :: AttrLabelProxy "closure"
+accelGroupEntry_closure = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@accel_path_quark@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelGroupEntry #accelPathQuark
+@
+-}
+getAccelGroupEntryAccelPathQuark :: MonadIO m => AccelGroupEntry -> m Word32
+getAccelGroupEntryAccelPathQuark s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@accel_path_quark@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' accelGroupEntry [ #accelPathQuark 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAccelGroupEntryAccelPathQuark :: MonadIO m => AccelGroupEntry -> Word32 -> m ()
+setAccelGroupEntryAccelPathQuark s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data AccelGroupEntryAccelPathQuarkFieldInfo
+instance AttrInfo AccelGroupEntryAccelPathQuarkFieldInfo where
+    type AttrAllowedOps AccelGroupEntryAccelPathQuarkFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint AccelGroupEntryAccelPathQuarkFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint AccelGroupEntryAccelPathQuarkFieldInfo = (~) AccelGroupEntry
+    type AttrGetType AccelGroupEntryAccelPathQuarkFieldInfo = Word32
+    type AttrLabel AccelGroupEntryAccelPathQuarkFieldInfo = "accel_path_quark"
+    type AttrOrigin AccelGroupEntryAccelPathQuarkFieldInfo = AccelGroupEntry
+    attrGet _ = getAccelGroupEntryAccelPathQuark
+    attrSet _ = setAccelGroupEntryAccelPathQuark
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+accelGroupEntry_accelPathQuark :: AttrLabelProxy "accelPathQuark"
+accelGroupEntry_accelPathQuark = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AccelGroupEntry
+type instance O.AttributeList AccelGroupEntry = AccelGroupEntryAttributeList
+type AccelGroupEntryAttributeList = ('[ '("key", AccelGroupEntryKeyFieldInfo), '("closure", AccelGroupEntryClosureFieldInfo), '("accelPathQuark", AccelGroupEntryAccelPathQuarkFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveAccelGroupEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAccelGroupEntryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAccelGroupEntryMethod t AccelGroupEntry, O.MethodInfo info AccelGroupEntry p) => OL.IsLabel t (AccelGroupEntry -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/AccelGroupEntry.hs-boot b/GI/Gtk/Structs/AccelGroupEntry.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/AccelGroupEntry.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.AccelGroupEntry where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AccelGroupEntry = AccelGroupEntry (ManagedPtr AccelGroupEntry)
+instance WrappedPtr AccelGroupEntry where
diff --git a/GI/Gtk/Structs/AccelKey.hs b/GI/Gtk/Structs/AccelKey.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/AccelKey.hs
@@ -0,0 +1,259 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.AccelKey
+    ( 
+
+-- * Exported types
+    AccelKey(..)                            ,
+    newZeroAccelKey                         ,
+    noAccelKey                              ,
+
+
+ -- * Properties
+-- ** accelFlags #attr:accelFlags#
+{- | The accelerator flags
+-}
+#if ENABLE_OVERLOADING
+    accelKey_accelFlags                     ,
+#endif
+    getAccelKeyAccelFlags                   ,
+    setAccelKeyAccelFlags                   ,
+
+
+-- ** accelKey #attr:accelKey#
+{- | The accelerator keyval
+-}
+#if ENABLE_OVERLOADING
+    accelKey_accelKey                       ,
+#endif
+    getAccelKeyAccelKey                     ,
+    setAccelKeyAccelKey                     ,
+
+
+-- ** accelMods #attr:accelMods#
+{- | The accelerator modifiers
+-}
+#if ENABLE_OVERLOADING
+    accelKey_accelMods                      ,
+#endif
+    getAccelKeyAccelMods                    ,
+    setAccelKeyAccelMods                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Gdk.Flags as Gdk.Flags
+
+-- | Memory-managed wrapper type.
+newtype AccelKey = AccelKey (ManagedPtr AccelKey)
+instance WrappedPtr AccelKey where
+    wrappedPtrCalloc = callocBytes 12
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 12 >=> wrapPtr AccelKey)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `AccelKey` struct initialized to zero.
+newZeroAccelKey :: MonadIO m => m AccelKey
+newZeroAccelKey = liftIO $ wrappedPtrCalloc >>= wrapPtr AccelKey
+
+instance tag ~ 'AttrSet => Constructible AccelKey tag where
+    new _ attrs = do
+        o <- newZeroAccelKey
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `AccelKey`.
+noAccelKey :: Maybe AccelKey
+noAccelKey = Nothing
+
+{- |
+Get the value of the “@accel_key@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelKey #accelKey
+@
+-}
+getAccelKeyAccelKey :: MonadIO m => AccelKey -> m Word32
+getAccelKeyAccelKey s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@accel_key@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' accelKey [ #accelKey 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAccelKeyAccelKey :: MonadIO m => AccelKey -> Word32 -> m ()
+setAccelKeyAccelKey s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data AccelKeyAccelKeyFieldInfo
+instance AttrInfo AccelKeyAccelKeyFieldInfo where
+    type AttrAllowedOps AccelKeyAccelKeyFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint AccelKeyAccelKeyFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint AccelKeyAccelKeyFieldInfo = (~) AccelKey
+    type AttrGetType AccelKeyAccelKeyFieldInfo = Word32
+    type AttrLabel AccelKeyAccelKeyFieldInfo = "accel_key"
+    type AttrOrigin AccelKeyAccelKeyFieldInfo = AccelKey
+    attrGet _ = getAccelKeyAccelKey
+    attrSet _ = setAccelKeyAccelKey
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+accelKey_accelKey :: AttrLabelProxy "accelKey"
+accelKey_accelKey = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@accel_mods@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelKey #accelMods
+@
+-}
+getAccelKeyAccelMods :: MonadIO m => AccelKey -> m [Gdk.Flags.ModifierType]
+getAccelKeyAccelMods s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+{- |
+Set the value of the “@accel_mods@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' accelKey [ #accelMods 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAccelKeyAccelMods :: MonadIO m => AccelKey -> [Gdk.Flags.ModifierType] -> m ()
+setAccelKeyAccelMods s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = gflagsToWord val
+    poke (ptr `plusPtr` 4) (val' :: CUInt)
+
+#if ENABLE_OVERLOADING
+data AccelKeyAccelModsFieldInfo
+instance AttrInfo AccelKeyAccelModsFieldInfo where
+    type AttrAllowedOps AccelKeyAccelModsFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint AccelKeyAccelModsFieldInfo = (~) [Gdk.Flags.ModifierType]
+    type AttrBaseTypeConstraint AccelKeyAccelModsFieldInfo = (~) AccelKey
+    type AttrGetType AccelKeyAccelModsFieldInfo = [Gdk.Flags.ModifierType]
+    type AttrLabel AccelKeyAccelModsFieldInfo = "accel_mods"
+    type AttrOrigin AccelKeyAccelModsFieldInfo = AccelKey
+    attrGet _ = getAccelKeyAccelMods
+    attrSet _ = setAccelKeyAccelMods
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+accelKey_accelMods :: AttrLabelProxy "accelMods"
+accelKey_accelMods = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@accel_flags@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' accelKey #accelFlags
+@
+-}
+getAccelKeyAccelFlags :: MonadIO m => AccelKey -> m Word32
+getAccelKeyAccelFlags s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@accel_flags@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' accelKey [ #accelFlags 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setAccelKeyAccelFlags :: MonadIO m => AccelKey -> Word32 -> m ()
+setAccelKeyAccelFlags s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data AccelKeyAccelFlagsFieldInfo
+instance AttrInfo AccelKeyAccelFlagsFieldInfo where
+    type AttrAllowedOps AccelKeyAccelFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint AccelKeyAccelFlagsFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint AccelKeyAccelFlagsFieldInfo = (~) AccelKey
+    type AttrGetType AccelKeyAccelFlagsFieldInfo = Word32
+    type AttrLabel AccelKeyAccelFlagsFieldInfo = "accel_flags"
+    type AttrOrigin AccelKeyAccelFlagsFieldInfo = AccelKey
+    attrGet _ = getAccelKeyAccelFlags
+    attrSet _ = setAccelKeyAccelFlags
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+accelKey_accelFlags :: AttrLabelProxy "accelFlags"
+accelKey_accelFlags = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList AccelKey
+type instance O.AttributeList AccelKey = AccelKeyAttributeList
+type AccelKeyAttributeList = ('[ '("accelKey", AccelKeyAccelKeyFieldInfo), '("accelMods", AccelKeyAccelModsFieldInfo), '("accelFlags", AccelKeyAccelFlagsFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveAccelKeyMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAccelKeyMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveAccelKeyMethod t AccelKey, O.MethodInfo info AccelKey p) => OL.IsLabel t (AccelKey -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/AccelKey.hs-boot b/GI/Gtk/Structs/AccelKey.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/AccelKey.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.AccelKey where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype AccelKey = AccelKey (ManagedPtr AccelKey)
+instance WrappedPtr AccelKey where
diff --git a/GI/Gtk/Structs/ActionEntry.hs b/GI/Gtk/Structs/ActionEntry.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/ActionEntry.hs
@@ -0,0 +1,524 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Structs.ActionEntry.ActionEntry' structs are used with @/gtk_action_group_add_actions()/@ to
+construct actions.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.ActionEntry
+    ( 
+
+-- * Exported types
+    ActionEntry(..)                         ,
+    newZeroActionEntry                      ,
+    noActionEntry                           ,
+
+
+ -- * Properties
+-- ** accelerator #attr:accelerator#
+{- | The accelerator for the action, in the format understood by
+ 'GI.Gtk.Functions.acceleratorParse'.
+-}
+#if ENABLE_OVERLOADING
+    actionEntry_accelerator                 ,
+#endif
+    clearActionEntryAccelerator             ,
+    getActionEntryAccelerator               ,
+    setActionEntryAccelerator               ,
+
+
+-- ** callback #attr:callback#
+{- | The function to call when the action is activated.
+-}
+#if ENABLE_OVERLOADING
+    actionEntry_callback                    ,
+#endif
+    clearActionEntryCallback                ,
+    getActionEntryCallback                  ,
+    setActionEntryCallback                  ,
+
+
+-- ** label #attr:label#
+{- | The label for the action. This field should typically be marked
+ for translation, see 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslationDomain'. If
+ /@label@/ is 'Nothing', the label of the stock item with id /@stockId@/ is used.
+-}
+#if ENABLE_OVERLOADING
+    actionEntry_label                       ,
+#endif
+    clearActionEntryLabel                   ,
+    getActionEntryLabel                     ,
+    setActionEntryLabel                     ,
+
+
+-- ** name #attr:name#
+{- | The name of the action.
+-}
+#if ENABLE_OVERLOADING
+    actionEntry_name                        ,
+#endif
+    clearActionEntryName                    ,
+    getActionEntryName                      ,
+    setActionEntryName                      ,
+
+
+-- ** stockId #attr:stockId#
+{- | The stock id for the action, or the name of an icon from the
+ icon theme.
+-}
+#if ENABLE_OVERLOADING
+    actionEntry_stockId                     ,
+#endif
+    clearActionEntryStockId                 ,
+    getActionEntryStockId                   ,
+    setActionEntryStockId                   ,
+
+
+-- ** tooltip #attr:tooltip#
+{- | The tooltip for the action. This field should typically be
+ marked for translation, see 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslationDomain'.
+-}
+#if ENABLE_OVERLOADING
+    actionEntry_tooltip                     ,
+#endif
+    clearActionEntryTooltip                 ,
+    getActionEntryTooltip                   ,
+    setActionEntryTooltip                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Callbacks as GObject.Callbacks
+
+-- | Memory-managed wrapper type.
+newtype ActionEntry = ActionEntry (ManagedPtr ActionEntry)
+instance WrappedPtr ActionEntry where
+    wrappedPtrCalloc = callocBytes 48
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr ActionEntry)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `ActionEntry` struct initialized to zero.
+newZeroActionEntry :: MonadIO m => m ActionEntry
+newZeroActionEntry = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionEntry
+
+instance tag ~ 'AttrSet => Constructible ActionEntry tag where
+    new _ attrs = do
+        o <- newZeroActionEntry
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ActionEntry`.
+noActionEntry :: Maybe ActionEntry
+noActionEntry = Nothing
+
+{- |
+Get the value of the “@name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionEntry #name
+@
+-}
+getActionEntryName :: MonadIO m => ActionEntry -> m (Maybe T.Text)
+getActionEntryName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionEntry [ #name 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionEntryName :: MonadIO m => ActionEntry -> CString -> m ()
+setActionEntryName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: CString)
+
+{- |
+Set the value of the “@name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #name
+@
+-}
+clearActionEntryName :: MonadIO m => ActionEntry -> m ()
+clearActionEntryName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ActionEntryNameFieldInfo
+instance AttrInfo ActionEntryNameFieldInfo where
+    type AttrAllowedOps ActionEntryNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionEntryNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ActionEntryNameFieldInfo = (~) ActionEntry
+    type AttrGetType ActionEntryNameFieldInfo = Maybe T.Text
+    type AttrLabel ActionEntryNameFieldInfo = "name"
+    type AttrOrigin ActionEntryNameFieldInfo = ActionEntry
+    attrGet _ = getActionEntryName
+    attrSet _ = setActionEntryName
+    attrConstruct = undefined
+    attrClear _ = clearActionEntryName
+
+actionEntry_name :: AttrLabelProxy "name"
+actionEntry_name = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@stock_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionEntry #stockId
+@
+-}
+getActionEntryStockId :: MonadIO m => ActionEntry -> m (Maybe T.Text)
+getActionEntryStockId s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@stock_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionEntry [ #stockId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionEntryStockId :: MonadIO m => ActionEntry -> CString -> m ()
+setActionEntryStockId s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@stock_id@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stockId
+@
+-}
+clearActionEntryStockId :: MonadIO m => ActionEntry -> m ()
+clearActionEntryStockId s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ActionEntryStockIdFieldInfo
+instance AttrInfo ActionEntryStockIdFieldInfo where
+    type AttrAllowedOps ActionEntryStockIdFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionEntryStockIdFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ActionEntryStockIdFieldInfo = (~) ActionEntry
+    type AttrGetType ActionEntryStockIdFieldInfo = Maybe T.Text
+    type AttrLabel ActionEntryStockIdFieldInfo = "stock_id"
+    type AttrOrigin ActionEntryStockIdFieldInfo = ActionEntry
+    attrGet _ = getActionEntryStockId
+    attrSet _ = setActionEntryStockId
+    attrConstruct = undefined
+    attrClear _ = clearActionEntryStockId
+
+actionEntry_stockId :: AttrLabelProxy "stockId"
+actionEntry_stockId = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionEntry #label
+@
+-}
+getActionEntryLabel :: MonadIO m => ActionEntry -> m (Maybe T.Text)
+getActionEntryLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionEntry [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionEntryLabel :: MonadIO m => ActionEntry -> CString -> m ()
+setActionEntryLabel s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: CString)
+
+{- |
+Set the value of the “@label@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #label
+@
+-}
+clearActionEntryLabel :: MonadIO m => ActionEntry -> m ()
+clearActionEntryLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ActionEntryLabelFieldInfo
+instance AttrInfo ActionEntryLabelFieldInfo where
+    type AttrAllowedOps ActionEntryLabelFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionEntryLabelFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ActionEntryLabelFieldInfo = (~) ActionEntry
+    type AttrGetType ActionEntryLabelFieldInfo = Maybe T.Text
+    type AttrLabel ActionEntryLabelFieldInfo = "label"
+    type AttrOrigin ActionEntryLabelFieldInfo = ActionEntry
+    attrGet _ = getActionEntryLabel
+    attrSet _ = setActionEntryLabel
+    attrConstruct = undefined
+    attrClear _ = clearActionEntryLabel
+
+actionEntry_label :: AttrLabelProxy "label"
+actionEntry_label = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@accelerator@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionEntry #accelerator
+@
+-}
+getActionEntryAccelerator :: MonadIO m => ActionEntry -> m (Maybe T.Text)
+getActionEntryAccelerator s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@accelerator@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionEntry [ #accelerator 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionEntryAccelerator :: MonadIO m => ActionEntry -> CString -> m ()
+setActionEntryAccelerator s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: CString)
+
+{- |
+Set the value of the “@accelerator@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelerator
+@
+-}
+clearActionEntryAccelerator :: MonadIO m => ActionEntry -> m ()
+clearActionEntryAccelerator s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ActionEntryAcceleratorFieldInfo
+instance AttrInfo ActionEntryAcceleratorFieldInfo where
+    type AttrAllowedOps ActionEntryAcceleratorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionEntryAcceleratorFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ActionEntryAcceleratorFieldInfo = (~) ActionEntry
+    type AttrGetType ActionEntryAcceleratorFieldInfo = Maybe T.Text
+    type AttrLabel ActionEntryAcceleratorFieldInfo = "accelerator"
+    type AttrOrigin ActionEntryAcceleratorFieldInfo = ActionEntry
+    attrGet _ = getActionEntryAccelerator
+    attrSet _ = setActionEntryAccelerator
+    attrConstruct = undefined
+    attrClear _ = clearActionEntryAccelerator
+
+actionEntry_accelerator :: AttrLabelProxy "accelerator"
+actionEntry_accelerator = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@tooltip@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionEntry #tooltip
+@
+-}
+getActionEntryTooltip :: MonadIO m => ActionEntry -> m (Maybe T.Text)
+getActionEntryTooltip s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@tooltip@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionEntry [ #tooltip 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionEntryTooltip :: MonadIO m => ActionEntry -> CString -> m ()
+setActionEntryTooltip s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: CString)
+
+{- |
+Set the value of the “@tooltip@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tooltip
+@
+-}
+clearActionEntryTooltip :: MonadIO m => ActionEntry -> m ()
+clearActionEntryTooltip s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ActionEntryTooltipFieldInfo
+instance AttrInfo ActionEntryTooltipFieldInfo where
+    type AttrAllowedOps ActionEntryTooltipFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionEntryTooltipFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ActionEntryTooltipFieldInfo = (~) ActionEntry
+    type AttrGetType ActionEntryTooltipFieldInfo = Maybe T.Text
+    type AttrLabel ActionEntryTooltipFieldInfo = "tooltip"
+    type AttrOrigin ActionEntryTooltipFieldInfo = ActionEntry
+    attrGet _ = getActionEntryTooltip
+    attrSet _ = setActionEntryTooltip
+    attrConstruct = undefined
+    attrClear _ = clearActionEntryTooltip
+
+actionEntry_tooltip :: AttrLabelProxy "tooltip"
+actionEntry_tooltip = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@callback@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' actionEntry #callback
+@
+-}
+getActionEntryCallback :: MonadIO m => ActionEntry -> m (Maybe GObject.Callbacks.Callback)
+getActionEntryCallback s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr GObject.Callbacks.C_Callback)
+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
+        let val'' = GObject.Callbacks.dynamic_Callback val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@callback@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' actionEntry [ #callback 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setActionEntryCallback :: MonadIO m => ActionEntry -> FunPtr GObject.Callbacks.C_Callback -> m ()
+setActionEntryCallback s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (val :: FunPtr GObject.Callbacks.C_Callback)
+
+{- |
+Set the value of the “@callback@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #callback
+@
+-}
+clearActionEntryCallback :: MonadIO m => ActionEntry -> m ()
+clearActionEntryCallback s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_Callback)
+
+#if ENABLE_OVERLOADING
+data ActionEntryCallbackFieldInfo
+instance AttrInfo ActionEntryCallbackFieldInfo where
+    type AttrAllowedOps ActionEntryCallbackFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ActionEntryCallbackFieldInfo = (~) (FunPtr GObject.Callbacks.C_Callback)
+    type AttrBaseTypeConstraint ActionEntryCallbackFieldInfo = (~) ActionEntry
+    type AttrGetType ActionEntryCallbackFieldInfo = Maybe GObject.Callbacks.Callback
+    type AttrLabel ActionEntryCallbackFieldInfo = "callback"
+    type AttrOrigin ActionEntryCallbackFieldInfo = ActionEntry
+    attrGet _ = getActionEntryCallback
+    attrSet _ = setActionEntryCallback
+    attrConstruct = undefined
+    attrClear _ = clearActionEntryCallback
+
+actionEntry_callback :: AttrLabelProxy "callback"
+actionEntry_callback = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ActionEntry
+type instance O.AttributeList ActionEntry = ActionEntryAttributeList
+type ActionEntryAttributeList = ('[ '("name", ActionEntryNameFieldInfo), '("stockId", ActionEntryStockIdFieldInfo), '("label", ActionEntryLabelFieldInfo), '("accelerator", ActionEntryAcceleratorFieldInfo), '("tooltip", ActionEntryTooltipFieldInfo), '("callback", ActionEntryCallbackFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveActionEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveActionEntryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveActionEntryMethod t ActionEntry, O.MethodInfo info ActionEntry p) => OL.IsLabel t (ActionEntry -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/ActionEntry.hs-boot b/GI/Gtk/Structs/ActionEntry.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/ActionEntry.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.ActionEntry where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ActionEntry = ActionEntry (ManagedPtr ActionEntry)
+instance WrappedPtr ActionEntry where
diff --git a/GI/Gtk/Structs/BindingArg.hs b/GI/Gtk/Structs/BindingArg.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/BindingArg.hs
@@ -0,0 +1,150 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Structs.BindingArg.BindingArg' holds the data associated with
+an argument for a key binding signal emission as
+stored in 'GI.Gtk.Structs.BindingSignal.BindingSignal'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.BindingArg
+    ( 
+
+-- * Exported types
+    BindingArg(..)                          ,
+    newZeroBindingArg                       ,
+    noBindingArg                            ,
+
+
+ -- * Properties
+-- ** argType #attr:argType#
+{- | implementation detail
+-}
+#if ENABLE_OVERLOADING
+    bindingArg_argType                      ,
+#endif
+    getBindingArgArgType                    ,
+    setBindingArgArgType                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype BindingArg = BindingArg (ManagedPtr BindingArg)
+instance WrappedPtr BindingArg where
+    wrappedPtrCalloc = callocBytes 8
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr BindingArg)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `BindingArg` struct initialized to zero.
+newZeroBindingArg :: MonadIO m => m BindingArg
+newZeroBindingArg = liftIO $ wrappedPtrCalloc >>= wrapPtr BindingArg
+
+instance tag ~ 'AttrSet => Constructible BindingArg tag where
+    new _ attrs = do
+        o <- newZeroBindingArg
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `BindingArg`.
+noBindingArg :: Maybe BindingArg
+noBindingArg = Nothing
+
+{- |
+Get the value of the “@arg_type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingArg #argType
+@
+-}
+getBindingArgArgType :: MonadIO m => BindingArg -> m GType
+getBindingArgArgType s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CGType
+    let val' = GType val
+    return val'
+
+{- |
+Set the value of the “@arg_type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingArg [ #argType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingArgArgType :: MonadIO m => BindingArg -> GType -> m ()
+setBindingArgArgType s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = gtypeToCGType val
+    poke (ptr `plusPtr` 0) (val' :: CGType)
+
+#if ENABLE_OVERLOADING
+data BindingArgArgTypeFieldInfo
+instance AttrInfo BindingArgArgTypeFieldInfo where
+    type AttrAllowedOps BindingArgArgTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BindingArgArgTypeFieldInfo = (~) GType
+    type AttrBaseTypeConstraint BindingArgArgTypeFieldInfo = (~) BindingArg
+    type AttrGetType BindingArgArgTypeFieldInfo = GType
+    type AttrLabel BindingArgArgTypeFieldInfo = "arg_type"
+    type AttrOrigin BindingArgArgTypeFieldInfo = BindingArg
+    attrGet _ = getBindingArgArgType
+    attrSet _ = setBindingArgArgType
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+bindingArg_argType :: AttrLabelProxy "argType"
+bindingArg_argType = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList BindingArg
+type instance O.AttributeList BindingArg = BindingArgAttributeList
+type BindingArgAttributeList = ('[ '("argType", BindingArgArgTypeFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveBindingArgMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBindingArgMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBindingArgMethod t BindingArg, O.MethodInfo info BindingArg p) => OL.IsLabel t (BindingArg -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/BindingArg.hs-boot b/GI/Gtk/Structs/BindingArg.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/BindingArg.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.BindingArg where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype BindingArg = BindingArg (ManagedPtr BindingArg)
+instance WrappedPtr BindingArg where
diff --git a/GI/Gtk/Structs/BindingEntry.hs b/GI/Gtk/Structs/BindingEntry.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/BindingEntry.hs
@@ -0,0 +1,865 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Each key binding element of a binding sets binding list is
+represented by a GtkBindingEntry.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.BindingEntry
+    ( 
+
+-- * Exported types
+    BindingEntry(..)                        ,
+    newZeroBindingEntry                     ,
+    noBindingEntry                          ,
+
+
+ -- * Methods
+-- ** addSignalFromString #method:addSignalFromString#
+
+    bindingEntryAddSignalFromString         ,
+
+
+-- ** addSignall #method:addSignall#
+
+    bindingEntryAddSignall                  ,
+
+
+-- ** remove #method:remove#
+
+    bindingEntryRemove                      ,
+
+
+-- ** skip #method:skip#
+
+    bindingEntrySkip                        ,
+
+
+
+
+ -- * Properties
+-- ** bindingSet #attr:bindingSet#
+{- | binding set this entry belongs to
+-}
+#if ENABLE_OVERLOADING
+    bindingEntry_bindingSet                 ,
+#endif
+    clearBindingEntryBindingSet             ,
+    getBindingEntryBindingSet               ,
+    setBindingEntryBindingSet               ,
+
+
+-- ** destroyed #attr:destroyed#
+{- | implementation detail
+-}
+#if ENABLE_OVERLOADING
+    bindingEntry_destroyed                  ,
+#endif
+    getBindingEntryDestroyed                ,
+    setBindingEntryDestroyed                ,
+
+
+-- ** hashNext #attr:hashNext#
+{- | implementation detail
+-}
+#if ENABLE_OVERLOADING
+    bindingEntry_hashNext                   ,
+#endif
+    clearBindingEntryHashNext               ,
+    getBindingEntryHashNext                 ,
+    setBindingEntryHashNext                 ,
+
+
+-- ** inEmission #attr:inEmission#
+{- | implementation detail
+-}
+#if ENABLE_OVERLOADING
+    bindingEntry_inEmission                 ,
+#endif
+    getBindingEntryInEmission               ,
+    setBindingEntryInEmission               ,
+
+
+-- ** keyval #attr:keyval#
+{- | key value to match
+-}
+#if ENABLE_OVERLOADING
+    bindingEntry_keyval                     ,
+#endif
+    getBindingEntryKeyval                   ,
+    setBindingEntryKeyval                   ,
+
+
+-- ** marksUnbound #attr:marksUnbound#
+{- | implementation detail
+-}
+#if ENABLE_OVERLOADING
+    bindingEntry_marksUnbound               ,
+#endif
+    getBindingEntryMarksUnbound             ,
+    setBindingEntryMarksUnbound             ,
+
+
+-- ** modifiers #attr:modifiers#
+{- | key modifiers to match
+-}
+#if ENABLE_OVERLOADING
+    bindingEntry_modifiers                  ,
+#endif
+    getBindingEntryModifiers                ,
+    setBindingEntryModifiers                ,
+
+
+-- ** setNext #attr:setNext#
+{- | linked list of entries maintained by binding set
+-}
+#if ENABLE_OVERLOADING
+    bindingEntry_setNext                    ,
+#endif
+    clearBindingEntrySetNext                ,
+    getBindingEntrySetNext                  ,
+    setBindingEntrySetNext                  ,
+
+
+-- ** signals #attr:signals#
+{- | action signals of this entry
+-}
+#if ENABLE_OVERLOADING
+    bindingEntry_signals                    ,
+#endif
+    clearBindingEntrySignals                ,
+    getBindingEntrySignals                  ,
+    setBindingEntrySignals                  ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Enums as GLib.Enums
+import qualified GI.Gdk.Flags as Gdk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Structs.BindingArg as Gtk.BindingArg
+import {-# SOURCE #-} qualified GI.Gtk.Structs.BindingSet as Gtk.BindingSet
+import {-# SOURCE #-} qualified GI.Gtk.Structs.BindingSignal as Gtk.BindingSignal
+
+-- | Memory-managed wrapper type.
+newtype BindingEntry = BindingEntry (ManagedPtr BindingEntry)
+instance WrappedPtr BindingEntry where
+    wrappedPtrCalloc = callocBytes 56
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr BindingEntry)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `BindingEntry` struct initialized to zero.
+newZeroBindingEntry :: MonadIO m => m BindingEntry
+newZeroBindingEntry = liftIO $ wrappedPtrCalloc >>= wrapPtr BindingEntry
+
+instance tag ~ 'AttrSet => Constructible BindingEntry tag where
+    new _ attrs = do
+        o <- newZeroBindingEntry
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `BindingEntry`.
+noBindingEntry :: Maybe BindingEntry
+noBindingEntry = Nothing
+
+{- |
+Get the value of the “@keyval@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingEntry #keyval
+@
+-}
+getBindingEntryKeyval :: MonadIO m => BindingEntry -> m Word32
+getBindingEntryKeyval s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@keyval@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingEntry [ #keyval 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingEntryKeyval :: MonadIO m => BindingEntry -> Word32 -> m ()
+setBindingEntryKeyval s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data BindingEntryKeyvalFieldInfo
+instance AttrInfo BindingEntryKeyvalFieldInfo where
+    type AttrAllowedOps BindingEntryKeyvalFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BindingEntryKeyvalFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint BindingEntryKeyvalFieldInfo = (~) BindingEntry
+    type AttrGetType BindingEntryKeyvalFieldInfo = Word32
+    type AttrLabel BindingEntryKeyvalFieldInfo = "keyval"
+    type AttrOrigin BindingEntryKeyvalFieldInfo = BindingEntry
+    attrGet _ = getBindingEntryKeyval
+    attrSet _ = setBindingEntryKeyval
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+bindingEntry_keyval :: AttrLabelProxy "keyval"
+bindingEntry_keyval = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@modifiers@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingEntry #modifiers
+@
+-}
+getBindingEntryModifiers :: MonadIO m => BindingEntry -> m [Gdk.Flags.ModifierType]
+getBindingEntryModifiers s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+{- |
+Set the value of the “@modifiers@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingEntry [ #modifiers 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingEntryModifiers :: MonadIO m => BindingEntry -> [Gdk.Flags.ModifierType] -> m ()
+setBindingEntryModifiers s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = gflagsToWord val
+    poke (ptr `plusPtr` 4) (val' :: CUInt)
+
+#if ENABLE_OVERLOADING
+data BindingEntryModifiersFieldInfo
+instance AttrInfo BindingEntryModifiersFieldInfo where
+    type AttrAllowedOps BindingEntryModifiersFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BindingEntryModifiersFieldInfo = (~) [Gdk.Flags.ModifierType]
+    type AttrBaseTypeConstraint BindingEntryModifiersFieldInfo = (~) BindingEntry
+    type AttrGetType BindingEntryModifiersFieldInfo = [Gdk.Flags.ModifierType]
+    type AttrLabel BindingEntryModifiersFieldInfo = "modifiers"
+    type AttrOrigin BindingEntryModifiersFieldInfo = BindingEntry
+    attrGet _ = getBindingEntryModifiers
+    attrSet _ = setBindingEntryModifiers
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+bindingEntry_modifiers :: AttrLabelProxy "modifiers"
+bindingEntry_modifiers = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@binding_set@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingEntry #bindingSet
+@
+-}
+getBindingEntryBindingSet :: MonadIO m => BindingEntry -> m (Maybe Gtk.BindingSet.BindingSet)
+getBindingEntryBindingSet s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gtk.BindingSet.BindingSet)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newPtr Gtk.BindingSet.BindingSet) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@binding_set@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingEntry [ #bindingSet 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingEntryBindingSet :: MonadIO m => BindingEntry -> Ptr Gtk.BindingSet.BindingSet -> m ()
+setBindingEntryBindingSet s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Ptr Gtk.BindingSet.BindingSet)
+
+{- |
+Set the value of the “@binding_set@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #bindingSet
+@
+-}
+clearBindingEntryBindingSet :: MonadIO m => BindingEntry -> m ()
+clearBindingEntryBindingSet s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gtk.BindingSet.BindingSet)
+
+#if ENABLE_OVERLOADING
+data BindingEntryBindingSetFieldInfo
+instance AttrInfo BindingEntryBindingSetFieldInfo where
+    type AttrAllowedOps BindingEntryBindingSetFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingEntryBindingSetFieldInfo = (~) (Ptr Gtk.BindingSet.BindingSet)
+    type AttrBaseTypeConstraint BindingEntryBindingSetFieldInfo = (~) BindingEntry
+    type AttrGetType BindingEntryBindingSetFieldInfo = Maybe Gtk.BindingSet.BindingSet
+    type AttrLabel BindingEntryBindingSetFieldInfo = "binding_set"
+    type AttrOrigin BindingEntryBindingSetFieldInfo = BindingEntry
+    attrGet _ = getBindingEntryBindingSet
+    attrSet _ = setBindingEntryBindingSet
+    attrConstruct = undefined
+    attrClear _ = clearBindingEntryBindingSet
+
+bindingEntry_bindingSet :: AttrLabelProxy "bindingSet"
+bindingEntry_bindingSet = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@destroyed@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingEntry #destroyed
+@
+-}
+getBindingEntryDestroyed :: MonadIO m => BindingEntry -> m Word32
+getBindingEntryDestroyed s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@destroyed@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingEntry [ #destroyed 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingEntryDestroyed :: MonadIO m => BindingEntry -> Word32 -> m ()
+setBindingEntryDestroyed s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data BindingEntryDestroyedFieldInfo
+instance AttrInfo BindingEntryDestroyedFieldInfo where
+    type AttrAllowedOps BindingEntryDestroyedFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BindingEntryDestroyedFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint BindingEntryDestroyedFieldInfo = (~) BindingEntry
+    type AttrGetType BindingEntryDestroyedFieldInfo = Word32
+    type AttrLabel BindingEntryDestroyedFieldInfo = "destroyed"
+    type AttrOrigin BindingEntryDestroyedFieldInfo = BindingEntry
+    attrGet _ = getBindingEntryDestroyed
+    attrSet _ = setBindingEntryDestroyed
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+bindingEntry_destroyed :: AttrLabelProxy "destroyed"
+bindingEntry_destroyed = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@in_emission@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingEntry #inEmission
+@
+-}
+getBindingEntryInEmission :: MonadIO m => BindingEntry -> m Word32
+getBindingEntryInEmission s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@in_emission@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingEntry [ #inEmission 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingEntryInEmission :: MonadIO m => BindingEntry -> Word32 -> m ()
+setBindingEntryInEmission s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 20) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data BindingEntryInEmissionFieldInfo
+instance AttrInfo BindingEntryInEmissionFieldInfo where
+    type AttrAllowedOps BindingEntryInEmissionFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BindingEntryInEmissionFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint BindingEntryInEmissionFieldInfo = (~) BindingEntry
+    type AttrGetType BindingEntryInEmissionFieldInfo = Word32
+    type AttrLabel BindingEntryInEmissionFieldInfo = "in_emission"
+    type AttrOrigin BindingEntryInEmissionFieldInfo = BindingEntry
+    attrGet _ = getBindingEntryInEmission
+    attrSet _ = setBindingEntryInEmission
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+bindingEntry_inEmission :: AttrLabelProxy "inEmission"
+bindingEntry_inEmission = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@marks_unbound@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingEntry #marksUnbound
+@
+-}
+getBindingEntryMarksUnbound :: MonadIO m => BindingEntry -> m Word32
+getBindingEntryMarksUnbound s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@marks_unbound@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingEntry [ #marksUnbound 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingEntryMarksUnbound :: MonadIO m => BindingEntry -> Word32 -> m ()
+setBindingEntryMarksUnbound s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data BindingEntryMarksUnboundFieldInfo
+instance AttrInfo BindingEntryMarksUnboundFieldInfo where
+    type AttrAllowedOps BindingEntryMarksUnboundFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BindingEntryMarksUnboundFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint BindingEntryMarksUnboundFieldInfo = (~) BindingEntry
+    type AttrGetType BindingEntryMarksUnboundFieldInfo = Word32
+    type AttrLabel BindingEntryMarksUnboundFieldInfo = "marks_unbound"
+    type AttrOrigin BindingEntryMarksUnboundFieldInfo = BindingEntry
+    attrGet _ = getBindingEntryMarksUnbound
+    attrSet _ = setBindingEntryMarksUnbound
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+bindingEntry_marksUnbound :: AttrLabelProxy "marksUnbound"
+bindingEntry_marksUnbound = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@set_next@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingEntry #setNext
+@
+-}
+getBindingEntrySetNext :: MonadIO m => BindingEntry -> m (Maybe BindingEntry)
+getBindingEntrySetNext s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr BindingEntry)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newPtr BindingEntry) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@set_next@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingEntry [ #setNext 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingEntrySetNext :: MonadIO m => BindingEntry -> Ptr BindingEntry -> m ()
+setBindingEntrySetNext s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: Ptr BindingEntry)
+
+{- |
+Set the value of the “@set_next@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #setNext
+@
+-}
+clearBindingEntrySetNext :: MonadIO m => BindingEntry -> m ()
+clearBindingEntrySetNext s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (FP.nullPtr :: Ptr BindingEntry)
+
+#if ENABLE_OVERLOADING
+data BindingEntrySetNextFieldInfo
+instance AttrInfo BindingEntrySetNextFieldInfo where
+    type AttrAllowedOps BindingEntrySetNextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingEntrySetNextFieldInfo = (~) (Ptr BindingEntry)
+    type AttrBaseTypeConstraint BindingEntrySetNextFieldInfo = (~) BindingEntry
+    type AttrGetType BindingEntrySetNextFieldInfo = Maybe BindingEntry
+    type AttrLabel BindingEntrySetNextFieldInfo = "set_next"
+    type AttrOrigin BindingEntrySetNextFieldInfo = BindingEntry
+    attrGet _ = getBindingEntrySetNext
+    attrSet _ = setBindingEntrySetNext
+    attrConstruct = undefined
+    attrClear _ = clearBindingEntrySetNext
+
+bindingEntry_setNext :: AttrLabelProxy "setNext"
+bindingEntry_setNext = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@hash_next@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingEntry #hashNext
+@
+-}
+getBindingEntryHashNext :: MonadIO m => BindingEntry -> m (Maybe BindingEntry)
+getBindingEntryHashNext s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr BindingEntry)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newPtr BindingEntry) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@hash_next@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingEntry [ #hashNext 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingEntryHashNext :: MonadIO m => BindingEntry -> Ptr BindingEntry -> m ()
+setBindingEntryHashNext s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (val :: Ptr BindingEntry)
+
+{- |
+Set the value of the “@hash_next@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #hashNext
+@
+-}
+clearBindingEntryHashNext :: MonadIO m => BindingEntry -> m ()
+clearBindingEntryHashNext s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (FP.nullPtr :: Ptr BindingEntry)
+
+#if ENABLE_OVERLOADING
+data BindingEntryHashNextFieldInfo
+instance AttrInfo BindingEntryHashNextFieldInfo where
+    type AttrAllowedOps BindingEntryHashNextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingEntryHashNextFieldInfo = (~) (Ptr BindingEntry)
+    type AttrBaseTypeConstraint BindingEntryHashNextFieldInfo = (~) BindingEntry
+    type AttrGetType BindingEntryHashNextFieldInfo = Maybe BindingEntry
+    type AttrLabel BindingEntryHashNextFieldInfo = "hash_next"
+    type AttrOrigin BindingEntryHashNextFieldInfo = BindingEntry
+    attrGet _ = getBindingEntryHashNext
+    attrSet _ = setBindingEntryHashNext
+    attrConstruct = undefined
+    attrClear _ = clearBindingEntryHashNext
+
+bindingEntry_hashNext :: AttrLabelProxy "hashNext"
+bindingEntry_hashNext = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@signals@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingEntry #signals
+@
+-}
+getBindingEntrySignals :: MonadIO m => BindingEntry -> m (Maybe Gtk.BindingSignal.BindingSignal)
+getBindingEntrySignals s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Gtk.BindingSignal.BindingSignal)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newPtr Gtk.BindingSignal.BindingSignal) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@signals@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingEntry [ #signals 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingEntrySignals :: MonadIO m => BindingEntry -> Ptr Gtk.BindingSignal.BindingSignal -> m ()
+setBindingEntrySignals s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 48) (val :: Ptr Gtk.BindingSignal.BindingSignal)
+
+{- |
+Set the value of the “@signals@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #signals
+@
+-}
+clearBindingEntrySignals :: MonadIO m => BindingEntry -> m ()
+clearBindingEntrySignals s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 48) (FP.nullPtr :: Ptr Gtk.BindingSignal.BindingSignal)
+
+#if ENABLE_OVERLOADING
+data BindingEntrySignalsFieldInfo
+instance AttrInfo BindingEntrySignalsFieldInfo where
+    type AttrAllowedOps BindingEntrySignalsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingEntrySignalsFieldInfo = (~) (Ptr Gtk.BindingSignal.BindingSignal)
+    type AttrBaseTypeConstraint BindingEntrySignalsFieldInfo = (~) BindingEntry
+    type AttrGetType BindingEntrySignalsFieldInfo = Maybe Gtk.BindingSignal.BindingSignal
+    type AttrLabel BindingEntrySignalsFieldInfo = "signals"
+    type AttrOrigin BindingEntrySignalsFieldInfo = BindingEntry
+    attrGet _ = getBindingEntrySignals
+    attrSet _ = setBindingEntrySignals
+    attrConstruct = undefined
+    attrClear _ = clearBindingEntrySignals
+
+bindingEntry_signals :: AttrLabelProxy "signals"
+bindingEntry_signals = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList BindingEntry
+type instance O.AttributeList BindingEntry = BindingEntryAttributeList
+type BindingEntryAttributeList = ('[ '("keyval", BindingEntryKeyvalFieldInfo), '("modifiers", BindingEntryModifiersFieldInfo), '("bindingSet", BindingEntryBindingSetFieldInfo), '("destroyed", BindingEntryDestroyedFieldInfo), '("inEmission", BindingEntryInEmissionFieldInfo), '("marksUnbound", BindingEntryMarksUnboundFieldInfo), '("setNext", BindingEntrySetNextFieldInfo), '("hashNext", BindingEntryHashNextFieldInfo), '("signals", BindingEntrySignalsFieldInfo)] :: [(Symbol, *)])
+#endif
+
+-- method BindingEntry::add_signal_from_string
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "binding_set", argType = TInterface (Name {namespace = "Gtk", name = "BindingSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBindingSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_desc", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a signal description", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GLib", name = "TokenType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_binding_entry_add_signal_from_string" gtk_binding_entry_add_signal_from_string :: 
+    Ptr Gtk.BindingSet.BindingSet ->        -- binding_set : TInterface (Name {namespace = "Gtk", name = "BindingSet"})
+    CString ->                              -- signal_desc : TBasicType TUTF8
+    IO CUInt
+
+{- |
+Parses a signal description from /@signalDesc@/ and incorporates
+it into /@bindingSet@/.
+
+Signal descriptions may either bind a key combination to
+one or more signals:
+>
+>  bind "key" {
+>    "signalname" (param, ...)
+>    ...
+>  }
+
+
+Or they may also unbind a key combination:
+>
+>  unbind "key"
+
+
+Key combinations must be in a format that can be parsed by
+'GI.Gtk.Functions.acceleratorParse'.
+
+/Since: 3.0/
+-}
+bindingEntryAddSignalFromString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.BindingSet.BindingSet
+    {- ^ /@bindingSet@/: a 'GI.Gtk.Structs.BindingSet.BindingSet' -}
+    -> T.Text
+    {- ^ /@signalDesc@/: a signal description -}
+    -> m GLib.Enums.TokenType
+    {- ^ __Returns:__ 'GI.GLib.Enums.TokenTypeNone' if the signal was successfully parsed and added,
+    the expected token otherwise -}
+bindingEntryAddSignalFromString bindingSet signalDesc = liftIO $ do
+    bindingSet' <- unsafeManagedPtrGetPtr bindingSet
+    signalDesc' <- textToCString signalDesc
+    result <- gtk_binding_entry_add_signal_from_string bindingSet' signalDesc'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr bindingSet
+    freeMem signalDesc'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method BindingEntry::add_signall
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "binding_set", argType = TInterface (Name {namespace = "Gtk", name = "BindingSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBindingSet to add a signal to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key modifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "signal name to be bound", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "binding_args", argType = TGSList (TInterface (Name {namespace = "Gtk", name = "BindingArg"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n    list of #GtkBindingArg signal arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_binding_entry_add_signall" gtk_binding_entry_add_signall :: 
+    Ptr Gtk.BindingSet.BindingSet ->        -- binding_set : TInterface (Name {namespace = "Gtk", name = "BindingSet"})
+    Word32 ->                               -- keyval : TBasicType TUInt
+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    CString ->                              -- signal_name : TBasicType TUTF8
+    Ptr (GSList (Ptr Gtk.BindingArg.BindingArg)) -> -- binding_args : TGSList (TInterface (Name {namespace = "Gtk", name = "BindingArg"}))
+    IO ()
+
+{- |
+Override or install a new key binding for /@keyval@/ with /@modifiers@/ on
+/@bindingSet@/.
+-}
+bindingEntryAddSignall ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.BindingSet.BindingSet
+    {- ^ /@bindingSet@/: a 'GI.Gtk.Structs.BindingSet.BindingSet' to add a signal to -}
+    -> Word32
+    {- ^ /@keyval@/: key value -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifiers@/: key modifier -}
+    -> T.Text
+    {- ^ /@signalName@/: signal name to be bound -}
+    -> [Gtk.BindingArg.BindingArg]
+    {- ^ /@bindingArgs@/: 
+    list of 'GI.Gtk.Structs.BindingArg.BindingArg' signal arguments -}
+    -> m ()
+bindingEntryAddSignall bindingSet keyval modifiers signalName bindingArgs = liftIO $ do
+    bindingSet' <- unsafeManagedPtrGetPtr bindingSet
+    let modifiers' = gflagsToWord modifiers
+    signalName' <- textToCString signalName
+    bindingArgs' <- mapM unsafeManagedPtrGetPtr bindingArgs
+    bindingArgs'' <- packGSList bindingArgs'
+    gtk_binding_entry_add_signall bindingSet' keyval modifiers' signalName' bindingArgs''
+    touchManagedPtr bindingSet
+    mapM_ touchManagedPtr bindingArgs
+    freeMem signalName'
+    g_slist_free bindingArgs''
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method BindingEntry::remove
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "binding_set", argType = TInterface (Name {namespace = "Gtk", name = "BindingSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBindingSet to remove an entry of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key value of binding to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key modifier of binding to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_binding_entry_remove" gtk_binding_entry_remove :: 
+    Ptr Gtk.BindingSet.BindingSet ->        -- binding_set : TInterface (Name {namespace = "Gtk", name = "BindingSet"})
+    Word32 ->                               -- keyval : TBasicType TUInt
+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO ()
+
+{- |
+Remove a binding previously installed via
+@/gtk_binding_entry_add_signal()/@ on /@bindingSet@/.
+-}
+bindingEntryRemove ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.BindingSet.BindingSet
+    {- ^ /@bindingSet@/: a 'GI.Gtk.Structs.BindingSet.BindingSet' to remove an entry of -}
+    -> Word32
+    {- ^ /@keyval@/: key value of binding to remove -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifiers@/: key modifier of binding to remove -}
+    -> m ()
+bindingEntryRemove bindingSet keyval modifiers = liftIO $ do
+    bindingSet' <- unsafeManagedPtrGetPtr bindingSet
+    let modifiers' = gflagsToWord modifiers
+    gtk_binding_entry_remove bindingSet' keyval modifiers'
+    touchManagedPtr bindingSet
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method BindingEntry::skip
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "binding_set", argType = TInterface (Name {namespace = "Gtk", name = "BindingSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBindingSet to skip an entry of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key value of binding to skip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key modifier of binding to skip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_binding_entry_skip" gtk_binding_entry_skip :: 
+    Ptr Gtk.BindingSet.BindingSet ->        -- binding_set : TInterface (Name {namespace = "Gtk", name = "BindingSet"})
+    Word32 ->                               -- keyval : TBasicType TUInt
+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    IO ()
+
+{- |
+Install a binding on /@bindingSet@/ which causes key lookups
+to be aborted, to prevent bindings from lower priority sets
+to be activated.
+
+/Since: 2.12/
+-}
+bindingEntrySkip ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gtk.BindingSet.BindingSet
+    {- ^ /@bindingSet@/: a 'GI.Gtk.Structs.BindingSet.BindingSet' to skip an entry of -}
+    -> Word32
+    {- ^ /@keyval@/: key value of binding to skip -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifiers@/: key modifier of binding to skip -}
+    -> m ()
+bindingEntrySkip bindingSet keyval modifiers = liftIO $ do
+    bindingSet' <- unsafeManagedPtrGetPtr bindingSet
+    let modifiers' = gflagsToWord modifiers
+    gtk_binding_entry_skip bindingSet' keyval modifiers'
+    touchManagedPtr bindingSet
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveBindingEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBindingEntryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBindingEntryMethod t BindingEntry, O.MethodInfo info BindingEntry p) => OL.IsLabel t (BindingEntry -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/BindingEntry.hs-boot b/GI/Gtk/Structs/BindingEntry.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/BindingEntry.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.BindingEntry where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype BindingEntry = BindingEntry (ManagedPtr BindingEntry)
+instance WrappedPtr BindingEntry where
diff --git a/GI/Gtk/Structs/BindingSet.hs b/GI/Gtk/Structs/BindingSet.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/BindingSet.hs
@@ -0,0 +1,790 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A binding set maintains a list of activatable key bindings.
+A single binding set can match multiple types of widgets.
+Similar to style contexts, can be matched by any information contained
+in a widgets 'GI.Gtk.Structs.WidgetPath.WidgetPath'. When a binding within a set is matched upon
+activation, an action signal is emitted on the target widget to carry out
+the actual activation.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.BindingSet
+    ( 
+
+-- * Exported types
+    BindingSet(..)                          ,
+    newZeroBindingSet                       ,
+    noBindingSet                            ,
+
+
+ -- * Methods
+-- ** activate #method:activate#
+
+#if ENABLE_OVERLOADING
+    BindingSetActivateMethodInfo            ,
+#endif
+    bindingSetActivate                      ,
+
+
+-- ** addPath #method:addPath#
+
+#if ENABLE_OVERLOADING
+    BindingSetAddPathMethodInfo             ,
+#endif
+    bindingSetAddPath                       ,
+
+
+-- ** find #method:find#
+
+    bindingSetFind                          ,
+
+
+
+
+ -- * Properties
+-- ** classBranchPspecs #attr:classBranchPspecs#
+{- | unused
+-}
+#if ENABLE_OVERLOADING
+    bindingSet_classBranchPspecs            ,
+#endif
+    clearBindingSetClassBranchPspecs        ,
+    getBindingSetClassBranchPspecs          ,
+    setBindingSetClassBranchPspecs          ,
+
+
+-- ** current #attr:current#
+{- | implementation detail
+-}
+#if ENABLE_OVERLOADING
+    bindingSet_current                      ,
+#endif
+    clearBindingSetCurrent                  ,
+    getBindingSetCurrent                    ,
+    setBindingSetCurrent                    ,
+
+
+-- ** entries #attr:entries#
+{- | the key binding entries in this binding set
+-}
+#if ENABLE_OVERLOADING
+    bindingSet_entries                      ,
+#endif
+    clearBindingSetEntries                  ,
+    getBindingSetEntries                    ,
+    setBindingSetEntries                    ,
+
+
+-- ** parsed #attr:parsed#
+{- | whether this binding set stems from a CSS file and is reset upon theme changes
+-}
+#if ENABLE_OVERLOADING
+    bindingSet_parsed                       ,
+#endif
+    getBindingSetParsed                     ,
+    setBindingSetParsed                     ,
+
+
+-- ** priority #attr:priority#
+{- | unused
+-}
+#if ENABLE_OVERLOADING
+    bindingSet_priority                     ,
+#endif
+    getBindingSetPriority                   ,
+    setBindingSetPriority                   ,
+
+
+-- ** setName #attr:setName#
+{- | unique name of this binding set
+-}
+#if ENABLE_OVERLOADING
+    bindingSet_setName                      ,
+#endif
+    clearBindingSetSetName                  ,
+    getBindingSetSetName                    ,
+    setBindingSetSetName                    ,
+
+
+-- ** widgetClassPspecs #attr:widgetClassPspecs#
+{- | unused
+-}
+#if ENABLE_OVERLOADING
+    bindingSet_widgetClassPspecs            ,
+#endif
+    clearBindingSetWidgetClassPspecs        ,
+    getBindingSetWidgetClassPspecs          ,
+    setBindingSetWidgetClassPspecs          ,
+
+
+-- ** widgetPathPspecs #attr:widgetPathPspecs#
+{- | unused
+-}
+#if ENABLE_OVERLOADING
+    bindingSet_widgetPathPspecs             ,
+#endif
+    clearBindingSetWidgetPathPspecs         ,
+    getBindingSetWidgetPathPspecs           ,
+    setBindingSetWidgetPathPspecs           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import qualified GI.Gdk.Flags as Gdk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Structs.BindingEntry as Gtk.BindingEntry
+
+-- | Memory-managed wrapper type.
+newtype BindingSet = BindingSet (ManagedPtr BindingSet)
+instance WrappedPtr BindingSet where
+    wrappedPtrCalloc = callocBytes 64
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr BindingSet)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `BindingSet` struct initialized to zero.
+newZeroBindingSet :: MonadIO m => m BindingSet
+newZeroBindingSet = liftIO $ wrappedPtrCalloc >>= wrapPtr BindingSet
+
+instance tag ~ 'AttrSet => Constructible BindingSet tag where
+    new _ attrs = do
+        o <- newZeroBindingSet
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `BindingSet`.
+noBindingSet :: Maybe BindingSet
+noBindingSet = Nothing
+
+{- |
+Get the value of the “@set_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSet #setName
+@
+-}
+getBindingSetSetName :: MonadIO m => BindingSet -> m (Maybe T.Text)
+getBindingSetSetName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@set_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSet [ #setName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSetSetName :: MonadIO m => BindingSet -> CString -> m ()
+setBindingSetSetName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: CString)
+
+{- |
+Set the value of the “@set_name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #setName
+@
+-}
+clearBindingSetSetName :: MonadIO m => BindingSet -> m ()
+clearBindingSetSetName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data BindingSetSetNameFieldInfo
+instance AttrInfo BindingSetSetNameFieldInfo where
+    type AttrAllowedOps BindingSetSetNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingSetSetNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint BindingSetSetNameFieldInfo = (~) BindingSet
+    type AttrGetType BindingSetSetNameFieldInfo = Maybe T.Text
+    type AttrLabel BindingSetSetNameFieldInfo = "set_name"
+    type AttrOrigin BindingSetSetNameFieldInfo = BindingSet
+    attrGet _ = getBindingSetSetName
+    attrSet _ = setBindingSetSetName
+    attrConstruct = undefined
+    attrClear _ = clearBindingSetSetName
+
+bindingSet_setName :: AttrLabelProxy "setName"
+bindingSet_setName = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@priority@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSet #priority
+@
+-}
+getBindingSetPriority :: MonadIO m => BindingSet -> m Int32
+getBindingSetPriority s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@priority@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSet [ #priority 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSetPriority :: MonadIO m => BindingSet -> Int32 -> m ()
+setBindingSetPriority s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data BindingSetPriorityFieldInfo
+instance AttrInfo BindingSetPriorityFieldInfo where
+    type AttrAllowedOps BindingSetPriorityFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BindingSetPriorityFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint BindingSetPriorityFieldInfo = (~) BindingSet
+    type AttrGetType BindingSetPriorityFieldInfo = Int32
+    type AttrLabel BindingSetPriorityFieldInfo = "priority"
+    type AttrOrigin BindingSetPriorityFieldInfo = BindingSet
+    attrGet _ = getBindingSetPriority
+    attrSet _ = setBindingSetPriority
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+bindingSet_priority :: AttrLabelProxy "priority"
+bindingSet_priority = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@widget_path_pspecs@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSet #widgetPathPspecs
+@
+-}
+getBindingSetWidgetPathPspecs :: MonadIO m => BindingSet -> m ([Ptr ()])
+getBindingSetWidgetPathPspecs s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr (GSList (Ptr ())))
+    val' <- unpackGSList val
+    return val'
+
+{- |
+Set the value of the “@widget_path_pspecs@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSet [ #widgetPathPspecs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSetWidgetPathPspecs :: MonadIO m => BindingSet -> Ptr (GSList (Ptr ())) -> m ()
+setBindingSetWidgetPathPspecs s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: Ptr (GSList (Ptr ())))
+
+{- |
+Set the value of the “@widget_path_pspecs@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #widgetPathPspecs
+@
+-}
+clearBindingSetWidgetPathPspecs :: MonadIO m => BindingSet -> m ()
+clearBindingSetWidgetPathPspecs s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr (GSList (Ptr ())))
+
+#if ENABLE_OVERLOADING
+data BindingSetWidgetPathPspecsFieldInfo
+instance AttrInfo BindingSetWidgetPathPspecsFieldInfo where
+    type AttrAllowedOps BindingSetWidgetPathPspecsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingSetWidgetPathPspecsFieldInfo = (~) (Ptr (GSList (Ptr ())))
+    type AttrBaseTypeConstraint BindingSetWidgetPathPspecsFieldInfo = (~) BindingSet
+    type AttrGetType BindingSetWidgetPathPspecsFieldInfo = [Ptr ()]
+    type AttrLabel BindingSetWidgetPathPspecsFieldInfo = "widget_path_pspecs"
+    type AttrOrigin BindingSetWidgetPathPspecsFieldInfo = BindingSet
+    attrGet _ = getBindingSetWidgetPathPspecs
+    attrSet _ = setBindingSetWidgetPathPspecs
+    attrConstruct = undefined
+    attrClear _ = clearBindingSetWidgetPathPspecs
+
+bindingSet_widgetPathPspecs :: AttrLabelProxy "widgetPathPspecs"
+bindingSet_widgetPathPspecs = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@widget_class_pspecs@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSet #widgetClassPspecs
+@
+-}
+getBindingSetWidgetClassPspecs :: MonadIO m => BindingSet -> m ([Ptr ()])
+getBindingSetWidgetClassPspecs s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr (GSList (Ptr ())))
+    val' <- unpackGSList val
+    return val'
+
+{- |
+Set the value of the “@widget_class_pspecs@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSet [ #widgetClassPspecs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSetWidgetClassPspecs :: MonadIO m => BindingSet -> Ptr (GSList (Ptr ())) -> m ()
+setBindingSetWidgetClassPspecs s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: Ptr (GSList (Ptr ())))
+
+{- |
+Set the value of the “@widget_class_pspecs@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #widgetClassPspecs
+@
+-}
+clearBindingSetWidgetClassPspecs :: MonadIO m => BindingSet -> m ()
+clearBindingSetWidgetClassPspecs s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr (GSList (Ptr ())))
+
+#if ENABLE_OVERLOADING
+data BindingSetWidgetClassPspecsFieldInfo
+instance AttrInfo BindingSetWidgetClassPspecsFieldInfo where
+    type AttrAllowedOps BindingSetWidgetClassPspecsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingSetWidgetClassPspecsFieldInfo = (~) (Ptr (GSList (Ptr ())))
+    type AttrBaseTypeConstraint BindingSetWidgetClassPspecsFieldInfo = (~) BindingSet
+    type AttrGetType BindingSetWidgetClassPspecsFieldInfo = [Ptr ()]
+    type AttrLabel BindingSetWidgetClassPspecsFieldInfo = "widget_class_pspecs"
+    type AttrOrigin BindingSetWidgetClassPspecsFieldInfo = BindingSet
+    attrGet _ = getBindingSetWidgetClassPspecs
+    attrSet _ = setBindingSetWidgetClassPspecs
+    attrConstruct = undefined
+    attrClear _ = clearBindingSetWidgetClassPspecs
+
+bindingSet_widgetClassPspecs :: AttrLabelProxy "widgetClassPspecs"
+bindingSet_widgetClassPspecs = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@class_branch_pspecs@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSet #classBranchPspecs
+@
+-}
+getBindingSetClassBranchPspecs :: MonadIO m => BindingSet -> m ([Ptr ()])
+getBindingSetClassBranchPspecs s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr (GSList (Ptr ())))
+    val' <- unpackGSList val
+    return val'
+
+{- |
+Set the value of the “@class_branch_pspecs@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSet [ #classBranchPspecs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSetClassBranchPspecs :: MonadIO m => BindingSet -> Ptr (GSList (Ptr ())) -> m ()
+setBindingSetClassBranchPspecs s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: Ptr (GSList (Ptr ())))
+
+{- |
+Set the value of the “@class_branch_pspecs@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #classBranchPspecs
+@
+-}
+clearBindingSetClassBranchPspecs :: MonadIO m => BindingSet -> m ()
+clearBindingSetClassBranchPspecs s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (FP.nullPtr :: Ptr (GSList (Ptr ())))
+
+#if ENABLE_OVERLOADING
+data BindingSetClassBranchPspecsFieldInfo
+instance AttrInfo BindingSetClassBranchPspecsFieldInfo where
+    type AttrAllowedOps BindingSetClassBranchPspecsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingSetClassBranchPspecsFieldInfo = (~) (Ptr (GSList (Ptr ())))
+    type AttrBaseTypeConstraint BindingSetClassBranchPspecsFieldInfo = (~) BindingSet
+    type AttrGetType BindingSetClassBranchPspecsFieldInfo = [Ptr ()]
+    type AttrLabel BindingSetClassBranchPspecsFieldInfo = "class_branch_pspecs"
+    type AttrOrigin BindingSetClassBranchPspecsFieldInfo = BindingSet
+    attrGet _ = getBindingSetClassBranchPspecs
+    attrSet _ = setBindingSetClassBranchPspecs
+    attrConstruct = undefined
+    attrClear _ = clearBindingSetClassBranchPspecs
+
+bindingSet_classBranchPspecs :: AttrLabelProxy "classBranchPspecs"
+bindingSet_classBranchPspecs = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@entries@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSet #entries
+@
+-}
+getBindingSetEntries :: MonadIO m => BindingSet -> m (Maybe Gtk.BindingEntry.BindingEntry)
+getBindingSetEntries s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Gtk.BindingEntry.BindingEntry)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newPtr Gtk.BindingEntry.BindingEntry) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@entries@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSet [ #entries 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSetEntries :: MonadIO m => BindingSet -> Ptr Gtk.BindingEntry.BindingEntry -> m ()
+setBindingSetEntries s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (val :: Ptr Gtk.BindingEntry.BindingEntry)
+
+{- |
+Set the value of the “@entries@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #entries
+@
+-}
+clearBindingSetEntries :: MonadIO m => BindingSet -> m ()
+clearBindingSetEntries s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (FP.nullPtr :: Ptr Gtk.BindingEntry.BindingEntry)
+
+#if ENABLE_OVERLOADING
+data BindingSetEntriesFieldInfo
+instance AttrInfo BindingSetEntriesFieldInfo where
+    type AttrAllowedOps BindingSetEntriesFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingSetEntriesFieldInfo = (~) (Ptr Gtk.BindingEntry.BindingEntry)
+    type AttrBaseTypeConstraint BindingSetEntriesFieldInfo = (~) BindingSet
+    type AttrGetType BindingSetEntriesFieldInfo = Maybe Gtk.BindingEntry.BindingEntry
+    type AttrLabel BindingSetEntriesFieldInfo = "entries"
+    type AttrOrigin BindingSetEntriesFieldInfo = BindingSet
+    attrGet _ = getBindingSetEntries
+    attrSet _ = setBindingSetEntries
+    attrConstruct = undefined
+    attrClear _ = clearBindingSetEntries
+
+bindingSet_entries :: AttrLabelProxy "entries"
+bindingSet_entries = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@current@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSet #current
+@
+-}
+getBindingSetCurrent :: MonadIO m => BindingSet -> m (Maybe Gtk.BindingEntry.BindingEntry)
+getBindingSetCurrent s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Gtk.BindingEntry.BindingEntry)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newPtr Gtk.BindingEntry.BindingEntry) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@current@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSet [ #current 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSetCurrent :: MonadIO m => BindingSet -> Ptr Gtk.BindingEntry.BindingEntry -> m ()
+setBindingSetCurrent s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 48) (val :: Ptr Gtk.BindingEntry.BindingEntry)
+
+{- |
+Set the value of the “@current@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #current
+@
+-}
+clearBindingSetCurrent :: MonadIO m => BindingSet -> m ()
+clearBindingSetCurrent s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 48) (FP.nullPtr :: Ptr Gtk.BindingEntry.BindingEntry)
+
+#if ENABLE_OVERLOADING
+data BindingSetCurrentFieldInfo
+instance AttrInfo BindingSetCurrentFieldInfo where
+    type AttrAllowedOps BindingSetCurrentFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingSetCurrentFieldInfo = (~) (Ptr Gtk.BindingEntry.BindingEntry)
+    type AttrBaseTypeConstraint BindingSetCurrentFieldInfo = (~) BindingSet
+    type AttrGetType BindingSetCurrentFieldInfo = Maybe Gtk.BindingEntry.BindingEntry
+    type AttrLabel BindingSetCurrentFieldInfo = "current"
+    type AttrOrigin BindingSetCurrentFieldInfo = BindingSet
+    attrGet _ = getBindingSetCurrent
+    attrSet _ = setBindingSetCurrent
+    attrConstruct = undefined
+    attrClear _ = clearBindingSetCurrent
+
+bindingSet_current :: AttrLabelProxy "current"
+bindingSet_current = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@parsed@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSet #parsed
+@
+-}
+getBindingSetParsed :: MonadIO m => BindingSet -> m Word32
+getBindingSetParsed s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@parsed@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSet [ #parsed 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSetParsed :: MonadIO m => BindingSet -> Word32 -> m ()
+setBindingSetParsed s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 56) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data BindingSetParsedFieldInfo
+instance AttrInfo BindingSetParsedFieldInfo where
+    type AttrAllowedOps BindingSetParsedFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BindingSetParsedFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint BindingSetParsedFieldInfo = (~) BindingSet
+    type AttrGetType BindingSetParsedFieldInfo = Word32
+    type AttrLabel BindingSetParsedFieldInfo = "parsed"
+    type AttrOrigin BindingSetParsedFieldInfo = BindingSet
+    attrGet _ = getBindingSetParsed
+    attrSet _ = setBindingSetParsed
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+bindingSet_parsed :: AttrLabelProxy "parsed"
+bindingSet_parsed = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList BindingSet
+type instance O.AttributeList BindingSet = BindingSetAttributeList
+type BindingSetAttributeList = ('[ '("setName", BindingSetSetNameFieldInfo), '("priority", BindingSetPriorityFieldInfo), '("widgetPathPspecs", BindingSetWidgetPathPspecsFieldInfo), '("widgetClassPspecs", BindingSetWidgetClassPspecsFieldInfo), '("classBranchPspecs", BindingSetClassBranchPspecsFieldInfo), '("entries", BindingSetEntriesFieldInfo), '("current", BindingSetCurrentFieldInfo), '("parsed", BindingSetParsedFieldInfo)] :: [(Symbol, *)])
+#endif
+
+-- method BindingSet::activate
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "binding_set", argType = TInterface (Name {namespace = "Gtk", name = "BindingSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBindingSet set to activate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key value of the binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifiers", argType = TInterface (Name {namespace = "Gdk", name = "ModifierType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key modifier of the binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "object to activate when binding found", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_binding_set_activate" gtk_binding_set_activate :: 
+    Ptr BindingSet ->                       -- binding_set : TInterface (Name {namespace = "Gtk", name = "BindingSet"})
+    Word32 ->                               -- keyval : TBasicType TUInt
+    CUInt ->                                -- modifiers : TInterface (Name {namespace = "Gdk", name = "ModifierType"})
+    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})
+    IO CInt
+
+{- |
+Find a key binding matching /@keyval@/ and /@modifiers@/ within
+/@bindingSet@/ and activate the binding on /@object@/.
+-}
+bindingSetActivate ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
+    BindingSet
+    {- ^ /@bindingSet@/: a 'GI.Gtk.Structs.BindingSet.BindingSet' set to activate -}
+    -> Word32
+    {- ^ /@keyval@/: key value of the binding -}
+    -> [Gdk.Flags.ModifierType]
+    {- ^ /@modifiers@/: key modifier of the binding -}
+    -> a
+    {- ^ /@object@/: object to activate when binding found -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if a binding was found and activated -}
+bindingSetActivate bindingSet keyval modifiers object = liftIO $ do
+    bindingSet' <- unsafeManagedPtrGetPtr bindingSet
+    let modifiers' = gflagsToWord modifiers
+    object' <- unsafeManagedPtrCastPtr object
+    result <- gtk_binding_set_activate bindingSet' keyval modifiers' object'
+    let result' = (/= 0) result
+    touchManagedPtr bindingSet
+    touchManagedPtr object
+    return result'
+
+#if ENABLE_OVERLOADING
+data BindingSetActivateMethodInfo
+instance (signature ~ (Word32 -> [Gdk.Flags.ModifierType] -> a -> m Bool), MonadIO m, GObject.Object.IsObject a) => O.MethodInfo BindingSetActivateMethodInfo BindingSet signature where
+    overloadedMethod _ = bindingSetActivate
+
+#endif
+
+-- method BindingSet::add_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "binding_set", argType = TInterface (Name {namespace = "Gtk", name = "BindingSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBindingSet to add a path to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path_type", argType = TInterface (Name {namespace = "Gtk", name = "PathType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "path type the pattern applies to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path_pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the actual match pattern", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TInterface (Name {namespace = "Gtk", name = "PathPriorityType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "binding priority", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_binding_set_add_path" gtk_binding_set_add_path :: 
+    Ptr BindingSet ->                       -- binding_set : TInterface (Name {namespace = "Gtk", name = "BindingSet"})
+    CUInt ->                                -- path_type : TInterface (Name {namespace = "Gtk", name = "PathType"})
+    CString ->                              -- path_pattern : TBasicType TUTF8
+    CUInt ->                                -- priority : TInterface (Name {namespace = "Gtk", name = "PathPriorityType"})
+    IO ()
+
+{-# DEPRECATED bindingSetAddPath ["(Since version 3.0)"] #-}
+{- |
+This function was used internally by the GtkRC parsing mechanism
+to assign match patterns to 'GI.Gtk.Structs.BindingSet.BindingSet' structures.
+
+In GTK+ 3, these match patterns are unused.
+-}
+bindingSetAddPath ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    BindingSet
+    {- ^ /@bindingSet@/: a 'GI.Gtk.Structs.BindingSet.BindingSet' to add a path to -}
+    -> Gtk.Enums.PathType
+    {- ^ /@pathType@/: path type the pattern applies to -}
+    -> T.Text
+    {- ^ /@pathPattern@/: the actual match pattern -}
+    -> Gtk.Enums.PathPriorityType
+    {- ^ /@priority@/: binding priority -}
+    -> m ()
+bindingSetAddPath bindingSet pathType pathPattern priority = liftIO $ do
+    bindingSet' <- unsafeManagedPtrGetPtr bindingSet
+    let pathType' = (fromIntegral . fromEnum) pathType
+    pathPattern' <- textToCString pathPattern
+    let priority' = (fromIntegral . fromEnum) priority
+    gtk_binding_set_add_path bindingSet' pathType' pathPattern' priority'
+    touchManagedPtr bindingSet
+    freeMem pathPattern'
+    return ()
+
+#if ENABLE_OVERLOADING
+data BindingSetAddPathMethodInfo
+instance (signature ~ (Gtk.Enums.PathType -> T.Text -> Gtk.Enums.PathPriorityType -> m ()), MonadIO m) => O.MethodInfo BindingSetAddPathMethodInfo BindingSet signature where
+    overloadedMethod _ = bindingSetAddPath
+
+#endif
+
+-- method BindingSet::find
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "set_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "unique binding set name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "BindingSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_binding_set_find" gtk_binding_set_find :: 
+    CString ->                              -- set_name : TBasicType TUTF8
+    IO (Ptr BindingSet)
+
+{- |
+Find a binding set by its globally unique name.
+
+The /@setName@/ can either be a name used for @/gtk_binding_set_new()/@
+or the type name of a class used in @/gtk_binding_set_by_class()/@.
+-}
+bindingSetFind ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@setName@/: unique binding set name -}
+    -> m (Maybe BindingSet)
+    {- ^ __Returns:__ 'Nothing' or the specified binding set -}
+bindingSetFind setName = liftIO $ do
+    setName' <- textToCString setName
+    result <- gtk_binding_set_find setName'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newPtr BindingSet) result'
+        return result''
+    freeMem setName'
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveBindingSetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBindingSetMethod "activate" o = BindingSetActivateMethodInfo
+    ResolveBindingSetMethod "addPath" o = BindingSetAddPathMethodInfo
+    ResolveBindingSetMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBindingSetMethod t BindingSet, O.MethodInfo info BindingSet p) => OL.IsLabel t (BindingSet -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/BindingSet.hs-boot b/GI/Gtk/Structs/BindingSet.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/BindingSet.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.BindingSet where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype BindingSet = BindingSet (ManagedPtr BindingSet)
+instance WrappedPtr BindingSet where
+#if ENABLE_OVERLOADING
+data BindingSetActivateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BindingSetAddPathMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/BindingSignal.hs b/GI/Gtk/Structs/BindingSignal.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/BindingSignal.hs
@@ -0,0 +1,291 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkBindingSignal stores the necessary information to
+activate a widget in response to a key press via a signal
+emission.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.BindingSignal
+    ( 
+
+-- * Exported types
+    BindingSignal(..)                       ,
+    newZeroBindingSignal                    ,
+    noBindingSignal                         ,
+
+
+ -- * Properties
+-- ** nArgs #attr:nArgs#
+{- | number of arguments specified for the signal
+-}
+#if ENABLE_OVERLOADING
+    bindingSignal_nArgs                     ,
+#endif
+    getBindingSignalNArgs                   ,
+    setBindingSignalNArgs                   ,
+
+
+-- ** next #attr:next#
+{- | implementation detail
+-}
+#if ENABLE_OVERLOADING
+    bindingSignal_next                      ,
+#endif
+    clearBindingSignalNext                  ,
+    getBindingSignalNext                    ,
+    setBindingSignalNext                    ,
+
+
+-- ** signalName #attr:signalName#
+{- | the action signal to be emitted
+-}
+#if ENABLE_OVERLOADING
+    bindingSignal_signalName                ,
+#endif
+    clearBindingSignalSignalName            ,
+    getBindingSignalSignalName              ,
+    setBindingSignalSignalName              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype BindingSignal = BindingSignal (ManagedPtr BindingSignal)
+instance WrappedPtr BindingSignal where
+    wrappedPtrCalloc = callocBytes 32
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr BindingSignal)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `BindingSignal` struct initialized to zero.
+newZeroBindingSignal :: MonadIO m => m BindingSignal
+newZeroBindingSignal = liftIO $ wrappedPtrCalloc >>= wrapPtr BindingSignal
+
+instance tag ~ 'AttrSet => Constructible BindingSignal tag where
+    new _ attrs = do
+        o <- newZeroBindingSignal
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `BindingSignal`.
+noBindingSignal :: Maybe BindingSignal
+noBindingSignal = Nothing
+
+{- |
+Get the value of the “@next@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSignal #next
+@
+-}
+getBindingSignalNext :: MonadIO m => BindingSignal -> m (Maybe BindingSignal)
+getBindingSignalNext s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr BindingSignal)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newPtr BindingSignal) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@next@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSignal [ #next 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSignalNext :: MonadIO m => BindingSignal -> Ptr BindingSignal -> m ()
+setBindingSignalNext s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Ptr BindingSignal)
+
+{- |
+Set the value of the “@next@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #next
+@
+-}
+clearBindingSignalNext :: MonadIO m => BindingSignal -> m ()
+clearBindingSignalNext s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr BindingSignal)
+
+#if ENABLE_OVERLOADING
+data BindingSignalNextFieldInfo
+instance AttrInfo BindingSignalNextFieldInfo where
+    type AttrAllowedOps BindingSignalNextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingSignalNextFieldInfo = (~) (Ptr BindingSignal)
+    type AttrBaseTypeConstraint BindingSignalNextFieldInfo = (~) BindingSignal
+    type AttrGetType BindingSignalNextFieldInfo = Maybe BindingSignal
+    type AttrLabel BindingSignalNextFieldInfo = "next"
+    type AttrOrigin BindingSignalNextFieldInfo = BindingSignal
+    attrGet _ = getBindingSignalNext
+    attrSet _ = setBindingSignalNext
+    attrConstruct = undefined
+    attrClear _ = clearBindingSignalNext
+
+bindingSignal_next :: AttrLabelProxy "next"
+bindingSignal_next = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@signal_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSignal #signalName
+@
+-}
+getBindingSignalSignalName :: MonadIO m => BindingSignal -> m (Maybe T.Text)
+getBindingSignalSignalName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@signal_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSignal [ #signalName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSignalSignalName :: MonadIO m => BindingSignal -> CString -> m ()
+setBindingSignalSignalName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@signal_name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #signalName
+@
+-}
+clearBindingSignalSignalName :: MonadIO m => BindingSignal -> m ()
+clearBindingSignalSignalName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data BindingSignalSignalNameFieldInfo
+instance AttrInfo BindingSignalSignalNameFieldInfo where
+    type AttrAllowedOps BindingSignalSignalNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint BindingSignalSignalNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint BindingSignalSignalNameFieldInfo = (~) BindingSignal
+    type AttrGetType BindingSignalSignalNameFieldInfo = Maybe T.Text
+    type AttrLabel BindingSignalSignalNameFieldInfo = "signal_name"
+    type AttrOrigin BindingSignalSignalNameFieldInfo = BindingSignal
+    attrGet _ = getBindingSignalSignalName
+    attrSet _ = setBindingSignalSignalName
+    attrConstruct = undefined
+    attrClear _ = clearBindingSignalSignalName
+
+bindingSignal_signalName :: AttrLabelProxy "signalName"
+bindingSignal_signalName = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@n_args@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' bindingSignal #nArgs
+@
+-}
+getBindingSignalNArgs :: MonadIO m => BindingSignal -> m Word32
+getBindingSignalNArgs s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@n_args@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' bindingSignal [ #nArgs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBindingSignalNArgs :: MonadIO m => BindingSignal -> Word32 -> m ()
+setBindingSignalNArgs s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data BindingSignalNArgsFieldInfo
+instance AttrInfo BindingSignalNArgsFieldInfo where
+    type AttrAllowedOps BindingSignalNArgsFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BindingSignalNArgsFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint BindingSignalNArgsFieldInfo = (~) BindingSignal
+    type AttrGetType BindingSignalNArgsFieldInfo = Word32
+    type AttrLabel BindingSignalNArgsFieldInfo = "n_args"
+    type AttrOrigin BindingSignalNArgsFieldInfo = BindingSignal
+    attrGet _ = getBindingSignalNArgs
+    attrSet _ = setBindingSignalNArgs
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+bindingSignal_nArgs :: AttrLabelProxy "nArgs"
+bindingSignal_nArgs = AttrLabelProxy
+
+#endif
+
+
+-- XXX Skipped attribute for "BindingSignal:args" :: Not implemented: "Don't know how to unpack C array of type TCArray False (-1) 2 (TInterface (Name {namespace = \"Gtk\", name = \"BindingArg\"}))"
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList BindingSignal
+type instance O.AttributeList BindingSignal = BindingSignalAttributeList
+type BindingSignalAttributeList = ('[ '("next", BindingSignalNextFieldInfo), '("signalName", BindingSignalSignalNameFieldInfo), '("nArgs", BindingSignalNArgsFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveBindingSignalMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBindingSignalMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBindingSignalMethod t BindingSignal, O.MethodInfo info BindingSignal p) => OL.IsLabel t (BindingSignal -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/BindingSignal.hs-boot b/GI/Gtk/Structs/BindingSignal.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/BindingSignal.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.BindingSignal where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype BindingSignal = BindingSignal (ManagedPtr BindingSignal)
+instance WrappedPtr BindingSignal where
diff --git a/GI/Gtk/Structs/Border.hs b/GI/Gtk/Structs/Border.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/Border.hs
@@ -0,0 +1,438 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A struct that specifies a border around a rectangular area
+that can be of different width on each side.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.Border
+    ( 
+
+-- * Exported types
+    Border(..)                              ,
+    newZeroBorder                           ,
+    noBorder                                ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    BorderCopyMethodInfo                    ,
+#endif
+    borderCopy                              ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    BorderFreeMethodInfo                    ,
+#endif
+    borderFree                              ,
+
+
+-- ** new #method:new#
+
+    borderNew                               ,
+
+
+
+
+ -- * Properties
+-- ** bottom #attr:bottom#
+{- | The width of the bottom border
+-}
+#if ENABLE_OVERLOADING
+    border_bottom                           ,
+#endif
+    getBorderBottom                         ,
+    setBorderBottom                         ,
+
+
+-- ** left #attr:left#
+{- | The width of the left border
+-}
+#if ENABLE_OVERLOADING
+    border_left                             ,
+#endif
+    getBorderLeft                           ,
+    setBorderLeft                           ,
+
+
+-- ** right #attr:right#
+{- | The width of the right border
+-}
+#if ENABLE_OVERLOADING
+    border_right                            ,
+#endif
+    getBorderRight                          ,
+    setBorderRight                          ,
+
+
+-- ** top #attr:top#
+{- | The width of the top border
+-}
+#if ENABLE_OVERLOADING
+    border_top                              ,
+#endif
+    getBorderTop                            ,
+    setBorderTop                            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype Border = Border (ManagedPtr Border)
+foreign import ccall "gtk_border_get_type" c_gtk_border_get_type :: 
+    IO GType
+
+instance BoxedObject Border where
+    boxedType _ = c_gtk_border_get_type
+
+-- | Construct a `Border` struct initialized to zero.
+newZeroBorder :: MonadIO m => m Border
+newZeroBorder = liftIO $ callocBoxedBytes 8 >>= wrapBoxed Border
+
+instance tag ~ 'AttrSet => Constructible Border tag where
+    new _ attrs = do
+        o <- newZeroBorder
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Border`.
+noBorder :: Maybe Border
+noBorder = Nothing
+
+{- |
+Get the value of the “@left@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' border #left
+@
+-}
+getBorderLeft :: MonadIO m => Border -> m Int16
+getBorderLeft s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Int16
+    return val
+
+{- |
+Set the value of the “@left@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' border [ #left 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBorderLeft :: MonadIO m => Border -> Int16 -> m ()
+setBorderLeft s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Int16)
+
+#if ENABLE_OVERLOADING
+data BorderLeftFieldInfo
+instance AttrInfo BorderLeftFieldInfo where
+    type AttrAllowedOps BorderLeftFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BorderLeftFieldInfo = (~) Int16
+    type AttrBaseTypeConstraint BorderLeftFieldInfo = (~) Border
+    type AttrGetType BorderLeftFieldInfo = Int16
+    type AttrLabel BorderLeftFieldInfo = "left"
+    type AttrOrigin BorderLeftFieldInfo = Border
+    attrGet _ = getBorderLeft
+    attrSet _ = setBorderLeft
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+border_left :: AttrLabelProxy "left"
+border_left = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@right@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' border #right
+@
+-}
+getBorderRight :: MonadIO m => Border -> m Int16
+getBorderRight s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 2) :: IO Int16
+    return val
+
+{- |
+Set the value of the “@right@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' border [ #right 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBorderRight :: MonadIO m => Border -> Int16 -> m ()
+setBorderRight s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 2) (val :: Int16)
+
+#if ENABLE_OVERLOADING
+data BorderRightFieldInfo
+instance AttrInfo BorderRightFieldInfo where
+    type AttrAllowedOps BorderRightFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BorderRightFieldInfo = (~) Int16
+    type AttrBaseTypeConstraint BorderRightFieldInfo = (~) Border
+    type AttrGetType BorderRightFieldInfo = Int16
+    type AttrLabel BorderRightFieldInfo = "right"
+    type AttrOrigin BorderRightFieldInfo = Border
+    attrGet _ = getBorderRight
+    attrSet _ = setBorderRight
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+border_right :: AttrLabelProxy "right"
+border_right = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@top@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' border #top
+@
+-}
+getBorderTop :: MonadIO m => Border -> m Int16
+getBorderTop s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Int16
+    return val
+
+{- |
+Set the value of the “@top@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' border [ #top 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBorderTop :: MonadIO m => Border -> Int16 -> m ()
+setBorderTop s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 4) (val :: Int16)
+
+#if ENABLE_OVERLOADING
+data BorderTopFieldInfo
+instance AttrInfo BorderTopFieldInfo where
+    type AttrAllowedOps BorderTopFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BorderTopFieldInfo = (~) Int16
+    type AttrBaseTypeConstraint BorderTopFieldInfo = (~) Border
+    type AttrGetType BorderTopFieldInfo = Int16
+    type AttrLabel BorderTopFieldInfo = "top"
+    type AttrOrigin BorderTopFieldInfo = Border
+    attrGet _ = getBorderTop
+    attrSet _ = setBorderTop
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+border_top :: AttrLabelProxy "top"
+border_top = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@bottom@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' border #bottom
+@
+-}
+getBorderBottom :: MonadIO m => Border -> m Int16
+getBorderBottom s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 6) :: IO Int16
+    return val
+
+{- |
+Set the value of the “@bottom@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' border [ #bottom 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setBorderBottom :: MonadIO m => Border -> Int16 -> m ()
+setBorderBottom s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 6) (val :: Int16)
+
+#if ENABLE_OVERLOADING
+data BorderBottomFieldInfo
+instance AttrInfo BorderBottomFieldInfo where
+    type AttrAllowedOps BorderBottomFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint BorderBottomFieldInfo = (~) Int16
+    type AttrBaseTypeConstraint BorderBottomFieldInfo = (~) Border
+    type AttrGetType BorderBottomFieldInfo = Int16
+    type AttrLabel BorderBottomFieldInfo = "bottom"
+    type AttrOrigin BorderBottomFieldInfo = Border
+    attrGet _ = getBorderBottom
+    attrSet _ = setBorderBottom
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+border_bottom :: AttrLabelProxy "bottom"
+border_bottom = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Border
+type instance O.AttributeList Border = BorderAttributeList
+type BorderAttributeList = ('[ '("left", BorderLeftFieldInfo), '("right", BorderRightFieldInfo), '("top", BorderTopFieldInfo), '("bottom", BorderBottomFieldInfo)] :: [(Symbol, *)])
+#endif
+
+-- method Border::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Border"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_border_new" gtk_border_new :: 
+    IO (Ptr Border)
+
+{- |
+Allocates a new 'GI.Gtk.Structs.Border.Border'-struct and initializes its elements to zero.
+
+/Since: 2.14/
+-}
+borderNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Border
+    {- ^ __Returns:__ a newly allocated 'GI.Gtk.Structs.Border.Border'-struct.
+ Free with 'GI.Gtk.Structs.Border.borderFree' -}
+borderNew  = liftIO $ do
+    result <- gtk_border_new
+    checkUnexpectedReturnNULL "borderNew" result
+    result' <- (wrapBoxed Border) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Border::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "border_", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBorder-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Border"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_border_copy" gtk_border_copy :: 
+    Ptr Border ->                           -- border_ : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO (Ptr Border)
+
+{- |
+Copies a 'GI.Gtk.Structs.Border.Border'-struct.
+-}
+borderCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Border
+    {- ^ /@border_@/: a 'GI.Gtk.Structs.Border.Border'-struct -}
+    -> m Border
+    {- ^ __Returns:__ a copy of /@border_@/. -}
+borderCopy border_ = liftIO $ do
+    border_' <- unsafeManagedPtrGetPtr border_
+    result <- gtk_border_copy border_'
+    checkUnexpectedReturnNULL "borderCopy" result
+    result' <- (wrapBoxed Border) result
+    touchManagedPtr border_
+    return result'
+
+#if ENABLE_OVERLOADING
+data BorderCopyMethodInfo
+instance (signature ~ (m Border), MonadIO m) => O.MethodInfo BorderCopyMethodInfo Border signature where
+    overloadedMethod _ = borderCopy
+
+#endif
+
+-- method Border::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "border_", argType = TInterface (Name {namespace = "Gtk", name = "Border"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkBorder-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_border_free" gtk_border_free :: 
+    Ptr Border ->                           -- border_ : TInterface (Name {namespace = "Gtk", name = "Border"})
+    IO ()
+
+{- |
+Frees a 'GI.Gtk.Structs.Border.Border'-struct.
+-}
+borderFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Border
+    {- ^ /@border_@/: a 'GI.Gtk.Structs.Border.Border'-struct -}
+    -> m ()
+borderFree border_ = liftIO $ do
+    border_' <- unsafeManagedPtrGetPtr border_
+    gtk_border_free border_'
+    touchManagedPtr border_
+    return ()
+
+#if ENABLE_OVERLOADING
+data BorderFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BorderFreeMethodInfo Border signature where
+    overloadedMethod _ = borderFree
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveBorderMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBorderMethod "copy" o = BorderCopyMethodInfo
+    ResolveBorderMethod "free" o = BorderFreeMethodInfo
+    ResolveBorderMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveBorderMethod t Border, O.MethodInfo info Border p) => OL.IsLabel t (Border -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/Border.hs-boot b/GI/Gtk/Structs/Border.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/Border.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.Border where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Border = Border (ManagedPtr Border)
+instance BoxedObject Border where
+#if ENABLE_OVERLOADING
+data BorderCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data BorderFreeMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/CssSection.hs b/GI/Gtk/Structs/CssSection.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/CssSection.hs
@@ -0,0 +1,526 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Defines a part of a CSS document. Because sections are nested into
+one another, you can use 'GI.Gtk.Structs.CssSection.cssSectionGetParent' to get the
+containing region.
+
+/Since: 3.2/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.CssSection
+    ( 
+
+-- * Exported types
+    CssSection(..)                          ,
+    noCssSection                            ,
+
+
+ -- * Methods
+-- ** getEndLine #method:getEndLine#
+
+#if ENABLE_OVERLOADING
+    CssSectionGetEndLineMethodInfo          ,
+#endif
+    cssSectionGetEndLine                    ,
+
+
+-- ** getEndPosition #method:getEndPosition#
+
+#if ENABLE_OVERLOADING
+    CssSectionGetEndPositionMethodInfo      ,
+#endif
+    cssSectionGetEndPosition                ,
+
+
+-- ** getFile #method:getFile#
+
+#if ENABLE_OVERLOADING
+    CssSectionGetFileMethodInfo             ,
+#endif
+    cssSectionGetFile                       ,
+
+
+-- ** getParent #method:getParent#
+
+#if ENABLE_OVERLOADING
+    CssSectionGetParentMethodInfo           ,
+#endif
+    cssSectionGetParent                     ,
+
+
+-- ** getSectionType #method:getSectionType#
+
+#if ENABLE_OVERLOADING
+    CssSectionGetSectionTypeMethodInfo      ,
+#endif
+    cssSectionGetSectionType                ,
+
+
+-- ** getStartLine #method:getStartLine#
+
+#if ENABLE_OVERLOADING
+    CssSectionGetStartLineMethodInfo        ,
+#endif
+    cssSectionGetStartLine                  ,
+
+
+-- ** getStartPosition #method:getStartPosition#
+
+#if ENABLE_OVERLOADING
+    CssSectionGetStartPositionMethodInfo    ,
+#endif
+    cssSectionGetStartPosition              ,
+
+
+-- ** ref #method:ref#
+
+#if ENABLE_OVERLOADING
+    CssSectionRefMethodInfo                 ,
+#endif
+    cssSectionRef                           ,
+
+
+-- ** unref #method:unref#
+
+#if ENABLE_OVERLOADING
+    CssSectionUnrefMethodInfo               ,
+#endif
+    cssSectionUnref                         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Gio.Interfaces.File as Gio.File
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+
+-- | Memory-managed wrapper type.
+newtype CssSection = CssSection (ManagedPtr CssSection)
+foreign import ccall "gtk_css_section_get_type" c_gtk_css_section_get_type :: 
+    IO GType
+
+instance BoxedObject CssSection where
+    boxedType _ = c_gtk_css_section_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `CssSection`.
+noCssSection :: Maybe CssSection
+noCssSection = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList CssSection
+type instance O.AttributeList CssSection = CssSectionAttributeList
+type CssSectionAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method CssSection::get_end_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "section", argType = TInterface (Name {namespace = "Gtk", name = "CssSection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the section", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_section_get_end_line" gtk_css_section_get_end_line :: 
+    Ptr CssSection ->                       -- section : TInterface (Name {namespace = "Gtk", name = "CssSection"})
+    IO Word32
+
+{- |
+Returns the line in the CSS document where this section end.
+The line number is 0-indexed, so the first line of the document
+will return 0.
+This value may change in future invocations of this function if
+/@section@/ is not yet parsed completely. This will for example
+happen in the GtkCssProvider::parsing-error signal.
+The end position and line may be identical to the start
+position and line for sections which failed to parse anything
+successfully.
+
+/Since: 3.2/
+-}
+cssSectionGetEndLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CssSection
+    {- ^ /@section@/: the section -}
+    -> m Word32
+    {- ^ __Returns:__ the line number -}
+cssSectionGetEndLine section = liftIO $ do
+    section' <- unsafeManagedPtrGetPtr section
+    result <- gtk_css_section_get_end_line section'
+    touchManagedPtr section
+    return result
+
+#if ENABLE_OVERLOADING
+data CssSectionGetEndLineMethodInfo
+instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo CssSectionGetEndLineMethodInfo CssSection signature where
+    overloadedMethod _ = cssSectionGetEndLine
+
+#endif
+
+-- method CssSection::get_end_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "section", argType = TInterface (Name {namespace = "Gtk", name = "CssSection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the section", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_section_get_end_position" gtk_css_section_get_end_position :: 
+    Ptr CssSection ->                       -- section : TInterface (Name {namespace = "Gtk", name = "CssSection"})
+    IO Word32
+
+{- |
+Returns the offset in bytes from the start of the current line
+returned via 'GI.Gtk.Structs.CssSection.cssSectionGetEndLine'.
+This value may change in future invocations of this function if
+/@section@/ is not yet parsed completely. This will for example
+happen in the GtkCssProvider::parsing-error signal.
+The end position and line may be identical to the start
+position and line for sections which failed to parse anything
+successfully.
+
+/Since: 3.2/
+-}
+cssSectionGetEndPosition ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CssSection
+    {- ^ /@section@/: the section -}
+    -> m Word32
+    {- ^ __Returns:__ the offset in bytes from the start of the line. -}
+cssSectionGetEndPosition section = liftIO $ do
+    section' <- unsafeManagedPtrGetPtr section
+    result <- gtk_css_section_get_end_position section'
+    touchManagedPtr section
+    return result
+
+#if ENABLE_OVERLOADING
+data CssSectionGetEndPositionMethodInfo
+instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo CssSectionGetEndPositionMethodInfo CssSection signature where
+    overloadedMethod _ = cssSectionGetEndPosition
+
+#endif
+
+-- method CssSection::get_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "section", argType = TInterface (Name {namespace = "Gtk", name = "CssSection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the section", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_section_get_file" gtk_css_section_get_file :: 
+    Ptr CssSection ->                       -- section : TInterface (Name {namespace = "Gtk", name = "CssSection"})
+    IO (Ptr Gio.File.File)
+
+{- |
+Gets the file that /@section@/ was parsed from. If no such file exists,
+for example because the CSS was loaded via
+/@gtkCssProviderLoadFromData@/(), then 'Nothing' is returned.
+
+/Since: 3.2/
+-}
+cssSectionGetFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CssSection
+    {- ^ /@section@/: the section -}
+    -> m Gio.File.File
+    {- ^ __Returns:__ the 'GI.Gio.Interfaces.File.File' that /@section@/ was parsed from
+    or 'Nothing' if /@section@/ was parsed from other data -}
+cssSectionGetFile section = liftIO $ do
+    section' <- unsafeManagedPtrGetPtr section
+    result <- gtk_css_section_get_file section'
+    checkUnexpectedReturnNULL "cssSectionGetFile" result
+    result' <- (newObject Gio.File.File) result
+    touchManagedPtr section
+    return result'
+
+#if ENABLE_OVERLOADING
+data CssSectionGetFileMethodInfo
+instance (signature ~ (m Gio.File.File), MonadIO m) => O.MethodInfo CssSectionGetFileMethodInfo CssSection signature where
+    overloadedMethod _ = cssSectionGetFile
+
+#endif
+
+-- method CssSection::get_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "section", argType = TInterface (Name {namespace = "Gtk", name = "CssSection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the section", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CssSection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_section_get_parent" gtk_css_section_get_parent :: 
+    Ptr CssSection ->                       -- section : TInterface (Name {namespace = "Gtk", name = "CssSection"})
+    IO (Ptr CssSection)
+
+{- |
+Gets the parent section for the given /@section@/. The parent section is
+the section that contains this /@section@/. A special case are sections of
+type @/GTK_CSS_SECTION_DOCUMENT/@. Their parent will either be 'Nothing'
+if they are the original CSS document that was loaded by
+'GI.Gtk.Objects.CssProvider.cssProviderLoadFromFile' or a section of type
+@/GTK_CSS_SECTION_IMPORT/@ if it was loaded with an import rule from
+a different file.
+
+/Since: 3.2/
+-}
+cssSectionGetParent ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CssSection
+    {- ^ /@section@/: the section -}
+    -> m (Maybe CssSection)
+    {- ^ __Returns:__ the parent section or 'Nothing' if none -}
+cssSectionGetParent section = liftIO $ do
+    section' <- unsafeManagedPtrGetPtr section
+    result <- gtk_css_section_get_parent section'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (newBoxed CssSection) result'
+        return result''
+    touchManagedPtr section
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data CssSectionGetParentMethodInfo
+instance (signature ~ (m (Maybe CssSection)), MonadIO m) => O.MethodInfo CssSectionGetParentMethodInfo CssSection signature where
+    overloadedMethod _ = cssSectionGetParent
+
+#endif
+
+-- method CssSection::get_section_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "section", argType = TInterface (Name {namespace = "Gtk", name = "CssSection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the section", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CssSectionType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_section_get_section_type" gtk_css_section_get_section_type :: 
+    Ptr CssSection ->                       -- section : TInterface (Name {namespace = "Gtk", name = "CssSection"})
+    IO CUInt
+
+{- |
+Gets the type of information that /@section@/ describes.
+
+/Since: 3.2/
+-}
+cssSectionGetSectionType ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CssSection
+    {- ^ /@section@/: the section -}
+    -> m Gtk.Enums.CssSectionType
+    {- ^ __Returns:__ the type of /@section@/ -}
+cssSectionGetSectionType section = liftIO $ do
+    section' <- unsafeManagedPtrGetPtr section
+    result <- gtk_css_section_get_section_type section'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr section
+    return result'
+
+#if ENABLE_OVERLOADING
+data CssSectionGetSectionTypeMethodInfo
+instance (signature ~ (m Gtk.Enums.CssSectionType), MonadIO m) => O.MethodInfo CssSectionGetSectionTypeMethodInfo CssSection signature where
+    overloadedMethod _ = cssSectionGetSectionType
+
+#endif
+
+-- method CssSection::get_start_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "section", argType = TInterface (Name {namespace = "Gtk", name = "CssSection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the section", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_section_get_start_line" gtk_css_section_get_start_line :: 
+    Ptr CssSection ->                       -- section : TInterface (Name {namespace = "Gtk", name = "CssSection"})
+    IO Word32
+
+{- |
+Returns the line in the CSS document where this section starts.
+The line number is 0-indexed, so the first line of the document
+will return 0.
+
+/Since: 3.2/
+-}
+cssSectionGetStartLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CssSection
+    {- ^ /@section@/: the section -}
+    -> m Word32
+    {- ^ __Returns:__ the line number -}
+cssSectionGetStartLine section = liftIO $ do
+    section' <- unsafeManagedPtrGetPtr section
+    result <- gtk_css_section_get_start_line section'
+    touchManagedPtr section
+    return result
+
+#if ENABLE_OVERLOADING
+data CssSectionGetStartLineMethodInfo
+instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo CssSectionGetStartLineMethodInfo CssSection signature where
+    overloadedMethod _ = cssSectionGetStartLine
+
+#endif
+
+-- method CssSection::get_start_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "section", argType = TInterface (Name {namespace = "Gtk", name = "CssSection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the section", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_section_get_start_position" gtk_css_section_get_start_position :: 
+    Ptr CssSection ->                       -- section : TInterface (Name {namespace = "Gtk", name = "CssSection"})
+    IO Word32
+
+{- |
+Returns the offset in bytes from the start of the current line
+returned via 'GI.Gtk.Structs.CssSection.cssSectionGetStartLine'.
+
+/Since: 3.2/
+-}
+cssSectionGetStartPosition ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CssSection
+    {- ^ /@section@/: the section -}
+    -> m Word32
+    {- ^ __Returns:__ the offset in bytes from the start of the line. -}
+cssSectionGetStartPosition section = liftIO $ do
+    section' <- unsafeManagedPtrGetPtr section
+    result <- gtk_css_section_get_start_position section'
+    touchManagedPtr section
+    return result
+
+#if ENABLE_OVERLOADING
+data CssSectionGetStartPositionMethodInfo
+instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo CssSectionGetStartPositionMethodInfo CssSection signature where
+    overloadedMethod _ = cssSectionGetStartPosition
+
+#endif
+
+-- method CssSection::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "section", argType = TInterface (Name {namespace = "Gtk", name = "CssSection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCssSection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "CssSection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_section_ref" gtk_css_section_ref :: 
+    Ptr CssSection ->                       -- section : TInterface (Name {namespace = "Gtk", name = "CssSection"})
+    IO (Ptr CssSection)
+
+{- |
+Increments the reference count on /@section@/.
+
+/Since: 3.2/
+-}
+cssSectionRef ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CssSection
+    {- ^ /@section@/: a 'GI.Gtk.Structs.CssSection.CssSection' -}
+    -> m CssSection
+    {- ^ __Returns:__ /@section@/ itself. -}
+cssSectionRef section = liftIO $ do
+    section' <- unsafeManagedPtrGetPtr section
+    result <- gtk_css_section_ref section'
+    checkUnexpectedReturnNULL "cssSectionRef" result
+    result' <- (wrapBoxed CssSection) result
+    touchManagedPtr section
+    return result'
+
+#if ENABLE_OVERLOADING
+data CssSectionRefMethodInfo
+instance (signature ~ (m CssSection), MonadIO m) => O.MethodInfo CssSectionRefMethodInfo CssSection signature where
+    overloadedMethod _ = cssSectionRef
+
+#endif
+
+-- method CssSection::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "section", argType = TInterface (Name {namespace = "Gtk", name = "CssSection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkCssSection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_css_section_unref" gtk_css_section_unref :: 
+    Ptr CssSection ->                       -- section : TInterface (Name {namespace = "Gtk", name = "CssSection"})
+    IO ()
+
+{- |
+Decrements the reference count on /@section@/, freeing the
+structure if the reference count reaches 0.
+
+/Since: 3.2/
+-}
+cssSectionUnref ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    CssSection
+    {- ^ /@section@/: a 'GI.Gtk.Structs.CssSection.CssSection' -}
+    -> m ()
+cssSectionUnref section = liftIO $ do
+    section' <- unsafeManagedPtrGetPtr section
+    gtk_css_section_unref section'
+    touchManagedPtr section
+    return ()
+
+#if ENABLE_OVERLOADING
+data CssSectionUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo CssSectionUnrefMethodInfo CssSection signature where
+    overloadedMethod _ = cssSectionUnref
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveCssSectionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCssSectionMethod "ref" o = CssSectionRefMethodInfo
+    ResolveCssSectionMethod "unref" o = CssSectionUnrefMethodInfo
+    ResolveCssSectionMethod "getEndLine" o = CssSectionGetEndLineMethodInfo
+    ResolveCssSectionMethod "getEndPosition" o = CssSectionGetEndPositionMethodInfo
+    ResolveCssSectionMethod "getFile" o = CssSectionGetFileMethodInfo
+    ResolveCssSectionMethod "getParent" o = CssSectionGetParentMethodInfo
+    ResolveCssSectionMethod "getSectionType" o = CssSectionGetSectionTypeMethodInfo
+    ResolveCssSectionMethod "getStartLine" o = CssSectionGetStartLineMethodInfo
+    ResolveCssSectionMethod "getStartPosition" o = CssSectionGetStartPositionMethodInfo
+    ResolveCssSectionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveCssSectionMethod t CssSection, O.MethodInfo info CssSection p) => OL.IsLabel t (CssSection -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/CssSection.hs-boot b/GI/Gtk/Structs/CssSection.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/CssSection.hs-boot
@@ -0,0 +1,53 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.CssSection where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype CssSection = CssSection (ManagedPtr CssSection)
+instance BoxedObject CssSection where
+#if ENABLE_OVERLOADING
+data CssSectionGetEndLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssSectionGetEndPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssSectionGetFileMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssSectionGetParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssSectionGetSectionTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssSectionGetStartLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssSectionGetStartPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssSectionRefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data CssSectionUnrefMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/FileFilterInfo.hs b/GI/Gtk/Structs/FileFilterInfo.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/FileFilterInfo.hs
@@ -0,0 +1,436 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Structs.FileFilterInfo.FileFilterInfo'-struct is used to pass information about the
+tested file to 'GI.Gtk.Objects.FileFilter.fileFilterFilter'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.FileFilterInfo
+    ( 
+
+-- * Exported types
+    FileFilterInfo(..)                      ,
+    newZeroFileFilterInfo                   ,
+    noFileFilterInfo                        ,
+
+
+ -- * Properties
+-- ** contains #attr:contains#
+{- | Flags indicating which of the following fields need
+  are filled
+-}
+#if ENABLE_OVERLOADING
+    fileFilterInfo_contains                 ,
+#endif
+    getFileFilterInfoContains               ,
+    setFileFilterInfoContains               ,
+
+
+-- ** displayName #attr:displayName#
+{- | the string that will be used to display the file
+  in the file chooser
+-}
+    clearFileFilterInfoDisplayName          ,
+#if ENABLE_OVERLOADING
+    fileFilterInfo_displayName              ,
+#endif
+    getFileFilterInfoDisplayName            ,
+    setFileFilterInfoDisplayName            ,
+
+
+-- ** filename #attr:filename#
+{- | the filename of the file being tested
+-}
+    clearFileFilterInfoFilename             ,
+#if ENABLE_OVERLOADING
+    fileFilterInfo_filename                 ,
+#endif
+    getFileFilterInfoFilename               ,
+    setFileFilterInfoFilename               ,
+
+
+-- ** mimeType #attr:mimeType#
+{- | the mime type of the file
+-}
+    clearFileFilterInfoMimeType             ,
+#if ENABLE_OVERLOADING
+    fileFilterInfo_mimeType                 ,
+#endif
+    getFileFilterInfoMimeType               ,
+    setFileFilterInfoMimeType               ,
+
+
+-- ** uri #attr:uri#
+{- | the URI for the file being tested
+-}
+    clearFileFilterInfoUri                  ,
+#if ENABLE_OVERLOADING
+    fileFilterInfo_uri                      ,
+#endif
+    getFileFilterInfoUri                    ,
+    setFileFilterInfoUri                    ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+
+-- | Memory-managed wrapper type.
+newtype FileFilterInfo = FileFilterInfo (ManagedPtr FileFilterInfo)
+instance WrappedPtr FileFilterInfo where
+    wrappedPtrCalloc = callocBytes 40
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr FileFilterInfo)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `FileFilterInfo` struct initialized to zero.
+newZeroFileFilterInfo :: MonadIO m => m FileFilterInfo
+newZeroFileFilterInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr FileFilterInfo
+
+instance tag ~ 'AttrSet => Constructible FileFilterInfo tag where
+    new _ attrs = do
+        o <- newZeroFileFilterInfo
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FileFilterInfo`.
+noFileFilterInfo :: Maybe FileFilterInfo
+noFileFilterInfo = Nothing
+
+{- |
+Get the value of the “@contains@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileFilterInfo #contains
+@
+-}
+getFileFilterInfoContains :: MonadIO m => FileFilterInfo -> m [Gtk.Flags.FileFilterFlags]
+getFileFilterInfoContains s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+{- |
+Set the value of the “@contains@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileFilterInfo [ #contains 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileFilterInfoContains :: MonadIO m => FileFilterInfo -> [Gtk.Flags.FileFilterFlags] -> m ()
+setFileFilterInfoContains s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = gflagsToWord val
+    poke (ptr `plusPtr` 0) (val' :: CUInt)
+
+#if ENABLE_OVERLOADING
+data FileFilterInfoContainsFieldInfo
+instance AttrInfo FileFilterInfoContainsFieldInfo where
+    type AttrAllowedOps FileFilterInfoContainsFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint FileFilterInfoContainsFieldInfo = (~) [Gtk.Flags.FileFilterFlags]
+    type AttrBaseTypeConstraint FileFilterInfoContainsFieldInfo = (~) FileFilterInfo
+    type AttrGetType FileFilterInfoContainsFieldInfo = [Gtk.Flags.FileFilterFlags]
+    type AttrLabel FileFilterInfoContainsFieldInfo = "contains"
+    type AttrOrigin FileFilterInfoContainsFieldInfo = FileFilterInfo
+    attrGet _ = getFileFilterInfoContains
+    attrSet _ = setFileFilterInfoContains
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+fileFilterInfo_contains :: AttrLabelProxy "contains"
+fileFilterInfo_contains = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@filename@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileFilterInfo #filename
+@
+-}
+getFileFilterInfoFilename :: MonadIO m => FileFilterInfo -> m (Maybe T.Text)
+getFileFilterInfoFilename s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@filename@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileFilterInfo [ #filename 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileFilterInfoFilename :: MonadIO m => FileFilterInfo -> CString -> m ()
+setFileFilterInfoFilename s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@filename@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #filename
+@
+-}
+clearFileFilterInfoFilename :: MonadIO m => FileFilterInfo -> m ()
+clearFileFilterInfoFilename s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data FileFilterInfoFilenameFieldInfo
+instance AttrInfo FileFilterInfoFilenameFieldInfo where
+    type AttrAllowedOps FileFilterInfoFilenameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileFilterInfoFilenameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint FileFilterInfoFilenameFieldInfo = (~) FileFilterInfo
+    type AttrGetType FileFilterInfoFilenameFieldInfo = Maybe T.Text
+    type AttrLabel FileFilterInfoFilenameFieldInfo = "filename"
+    type AttrOrigin FileFilterInfoFilenameFieldInfo = FileFilterInfo
+    attrGet _ = getFileFilterInfoFilename
+    attrSet _ = setFileFilterInfoFilename
+    attrConstruct = undefined
+    attrClear _ = clearFileFilterInfoFilename
+
+fileFilterInfo_filename :: AttrLabelProxy "filename"
+fileFilterInfo_filename = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@uri@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileFilterInfo #uri
+@
+-}
+getFileFilterInfoUri :: MonadIO m => FileFilterInfo -> m (Maybe T.Text)
+getFileFilterInfoUri s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@uri@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileFilterInfo [ #uri 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileFilterInfoUri :: MonadIO m => FileFilterInfo -> CString -> m ()
+setFileFilterInfoUri s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: CString)
+
+{- |
+Set the value of the “@uri@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #uri
+@
+-}
+clearFileFilterInfoUri :: MonadIO m => FileFilterInfo -> m ()
+clearFileFilterInfoUri s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data FileFilterInfoUriFieldInfo
+instance AttrInfo FileFilterInfoUriFieldInfo where
+    type AttrAllowedOps FileFilterInfoUriFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileFilterInfoUriFieldInfo = (~) CString
+    type AttrBaseTypeConstraint FileFilterInfoUriFieldInfo = (~) FileFilterInfo
+    type AttrGetType FileFilterInfoUriFieldInfo = Maybe T.Text
+    type AttrLabel FileFilterInfoUriFieldInfo = "uri"
+    type AttrOrigin FileFilterInfoUriFieldInfo = FileFilterInfo
+    attrGet _ = getFileFilterInfoUri
+    attrSet _ = setFileFilterInfoUri
+    attrConstruct = undefined
+    attrClear _ = clearFileFilterInfoUri
+
+fileFilterInfo_uri :: AttrLabelProxy "uri"
+fileFilterInfo_uri = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@display_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileFilterInfo #displayName
+@
+-}
+getFileFilterInfoDisplayName :: MonadIO m => FileFilterInfo -> m (Maybe T.Text)
+getFileFilterInfoDisplayName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@display_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileFilterInfo [ #displayName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileFilterInfoDisplayName :: MonadIO m => FileFilterInfo -> CString -> m ()
+setFileFilterInfoDisplayName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: CString)
+
+{- |
+Set the value of the “@display_name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #displayName
+@
+-}
+clearFileFilterInfoDisplayName :: MonadIO m => FileFilterInfo -> m ()
+clearFileFilterInfoDisplayName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data FileFilterInfoDisplayNameFieldInfo
+instance AttrInfo FileFilterInfoDisplayNameFieldInfo where
+    type AttrAllowedOps FileFilterInfoDisplayNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileFilterInfoDisplayNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint FileFilterInfoDisplayNameFieldInfo = (~) FileFilterInfo
+    type AttrGetType FileFilterInfoDisplayNameFieldInfo = Maybe T.Text
+    type AttrLabel FileFilterInfoDisplayNameFieldInfo = "display_name"
+    type AttrOrigin FileFilterInfoDisplayNameFieldInfo = FileFilterInfo
+    attrGet _ = getFileFilterInfoDisplayName
+    attrSet _ = setFileFilterInfoDisplayName
+    attrConstruct = undefined
+    attrClear _ = clearFileFilterInfoDisplayName
+
+fileFilterInfo_displayName :: AttrLabelProxy "displayName"
+fileFilterInfo_displayName = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@mime_type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fileFilterInfo #mimeType
+@
+-}
+getFileFilterInfoMimeType :: MonadIO m => FileFilterInfo -> m (Maybe T.Text)
+getFileFilterInfoMimeType s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@mime_type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fileFilterInfo [ #mimeType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFileFilterInfoMimeType :: MonadIO m => FileFilterInfo -> CString -> m ()
+setFileFilterInfoMimeType s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: CString)
+
+{- |
+Set the value of the “@mime_type@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #mimeType
+@
+-}
+clearFileFilterInfoMimeType :: MonadIO m => FileFilterInfo -> m ()
+clearFileFilterInfoMimeType s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data FileFilterInfoMimeTypeFieldInfo
+instance AttrInfo FileFilterInfoMimeTypeFieldInfo where
+    type AttrAllowedOps FileFilterInfoMimeTypeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FileFilterInfoMimeTypeFieldInfo = (~) CString
+    type AttrBaseTypeConstraint FileFilterInfoMimeTypeFieldInfo = (~) FileFilterInfo
+    type AttrGetType FileFilterInfoMimeTypeFieldInfo = Maybe T.Text
+    type AttrLabel FileFilterInfoMimeTypeFieldInfo = "mime_type"
+    type AttrOrigin FileFilterInfoMimeTypeFieldInfo = FileFilterInfo
+    attrGet _ = getFileFilterInfoMimeType
+    attrSet _ = setFileFilterInfoMimeType
+    attrConstruct = undefined
+    attrClear _ = clearFileFilterInfoMimeType
+
+fileFilterInfo_mimeType :: AttrLabelProxy "mimeType"
+fileFilterInfo_mimeType = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FileFilterInfo
+type instance O.AttributeList FileFilterInfo = FileFilterInfoAttributeList
+type FileFilterInfoAttributeList = ('[ '("contains", FileFilterInfoContainsFieldInfo), '("filename", FileFilterInfoFilenameFieldInfo), '("uri", FileFilterInfoUriFieldInfo), '("displayName", FileFilterInfoDisplayNameFieldInfo), '("mimeType", FileFilterInfoMimeTypeFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveFileFilterInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFileFilterInfoMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFileFilterInfoMethod t FileFilterInfo, O.MethodInfo info FileFilterInfo p) => OL.IsLabel t (FileFilterInfo -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/FileFilterInfo.hs-boot b/GI/Gtk/Structs/FileFilterInfo.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/FileFilterInfo.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.FileFilterInfo where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FileFilterInfo = FileFilterInfo (ManagedPtr FileFilterInfo)
+instance WrappedPtr FileFilterInfo where
diff --git a/GI/Gtk/Structs/FixedChild.hs b/GI/Gtk/Structs/FixedChild.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/FixedChild.hs
@@ -0,0 +1,273 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.FixedChild
+    ( 
+
+-- * Exported types
+    FixedChild(..)                          ,
+    newZeroFixedChild                       ,
+    noFixedChild                            ,
+
+
+ -- * Properties
+-- ** widget #attr:widget#
+{- | /No description available in the introspection data./
+-}
+    clearFixedChildWidget                   ,
+#if ENABLE_OVERLOADING
+    fixedChild_widget                       ,
+#endif
+    getFixedChildWidget                     ,
+    setFixedChildWidget                     ,
+
+
+-- ** x #attr:x#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    fixedChild_x                            ,
+#endif
+    getFixedChildX                          ,
+    setFixedChildX                          ,
+
+
+-- ** y #attr:y#
+{- | /No description available in the introspection data./
+-}
+#if ENABLE_OVERLOADING
+    fixedChild_y                            ,
+#endif
+    getFixedChildY                          ,
+    setFixedChildY                          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype FixedChild = FixedChild (ManagedPtr FixedChild)
+instance WrappedPtr FixedChild where
+    wrappedPtrCalloc = callocBytes 16
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr FixedChild)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `FixedChild` struct initialized to zero.
+newZeroFixedChild :: MonadIO m => m FixedChild
+newZeroFixedChild = liftIO $ wrappedPtrCalloc >>= wrapPtr FixedChild
+
+instance tag ~ 'AttrSet => Constructible FixedChild tag where
+    new _ attrs = do
+        o <- newZeroFixedChild
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `FixedChild`.
+noFixedChild :: Maybe FixedChild
+noFixedChild = Nothing
+
+{- |
+Get the value of the “@widget@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fixedChild #widget
+@
+-}
+getFixedChildWidget :: MonadIO m => FixedChild -> m (Maybe Gtk.Widget.Widget)
+getFixedChildWidget s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gtk.Widget.Widget)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newObject Gtk.Widget.Widget) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@widget@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fixedChild [ #widget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFixedChildWidget :: MonadIO m => FixedChild -> Ptr Gtk.Widget.Widget -> m ()
+setFixedChildWidget s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Ptr Gtk.Widget.Widget)
+
+{- |
+Set the value of the “@widget@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #widget
+@
+-}
+clearFixedChildWidget :: MonadIO m => FixedChild -> m ()
+clearFixedChildWidget s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data FixedChildWidgetFieldInfo
+instance AttrInfo FixedChildWidgetFieldInfo where
+    type AttrAllowedOps FixedChildWidgetFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint FixedChildWidgetFieldInfo = (~) (Ptr Gtk.Widget.Widget)
+    type AttrBaseTypeConstraint FixedChildWidgetFieldInfo = (~) FixedChild
+    type AttrGetType FixedChildWidgetFieldInfo = Maybe Gtk.Widget.Widget
+    type AttrLabel FixedChildWidgetFieldInfo = "widget"
+    type AttrOrigin FixedChildWidgetFieldInfo = FixedChild
+    attrGet _ = getFixedChildWidget
+    attrSet _ = setFixedChildWidget
+    attrConstruct = undefined
+    attrClear _ = clearFixedChildWidget
+
+fixedChild_widget :: AttrLabelProxy "widget"
+fixedChild_widget = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@x@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fixedChild #x
+@
+-}
+getFixedChildX :: MonadIO m => FixedChild -> m Int32
+getFixedChildX s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@x@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fixedChild [ #x 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFixedChildX :: MonadIO m => FixedChild -> Int32 -> m ()
+setFixedChildX s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data FixedChildXFieldInfo
+instance AttrInfo FixedChildXFieldInfo where
+    type AttrAllowedOps FixedChildXFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint FixedChildXFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint FixedChildXFieldInfo = (~) FixedChild
+    type AttrGetType FixedChildXFieldInfo = Int32
+    type AttrLabel FixedChildXFieldInfo = "x"
+    type AttrOrigin FixedChildXFieldInfo = FixedChild
+    attrGet _ = getFixedChildX
+    attrSet _ = setFixedChildX
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+fixedChild_x :: AttrLabelProxy "x"
+fixedChild_x = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@y@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' fixedChild #y
+@
+-}
+getFixedChildY :: MonadIO m => FixedChild -> m Int32
+getFixedChildY s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 12) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@y@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' fixedChild [ #y 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setFixedChildY :: MonadIO m => FixedChild -> Int32 -> m ()
+setFixedChildY s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 12) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data FixedChildYFieldInfo
+instance AttrInfo FixedChildYFieldInfo where
+    type AttrAllowedOps FixedChildYFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint FixedChildYFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint FixedChildYFieldInfo = (~) FixedChild
+    type AttrGetType FixedChildYFieldInfo = Int32
+    type AttrLabel FixedChildYFieldInfo = "y"
+    type AttrOrigin FixedChildYFieldInfo = FixedChild
+    attrGet _ = getFixedChildY
+    attrSet _ = setFixedChildY
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+fixedChild_y :: AttrLabelProxy "y"
+fixedChild_y = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList FixedChild
+type instance O.AttributeList FixedChild = FixedChildAttributeList
+type FixedChildAttributeList = ('[ '("widget", FixedChildWidgetFieldInfo), '("x", FixedChildXFieldInfo), '("y", FixedChildYFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveFixedChildMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFixedChildMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveFixedChildMethod t FixedChild, O.MethodInfo info FixedChild p) => OL.IsLabel t (FixedChild -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/FixedChild.hs-boot b/GI/Gtk/Structs/FixedChild.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/FixedChild.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.FixedChild where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype FixedChild = FixedChild (ManagedPtr FixedChild)
+instance WrappedPtr FixedChild where
diff --git a/GI/Gtk/Structs/Gradient.hs b/GI/Gtk/Structs/Gradient.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/Gradient.hs
@@ -0,0 +1,516 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkGradient is a boxed type that represents a gradient.
+It is the result of parsing a
+[gradient expression][gtkcssprovider-gradients].
+To obtain the gradient represented by a GtkGradient, it has to
+be resolved with 'GI.Gtk.Structs.Gradient.gradientResolve', which replaces all
+symbolic color references by the colors they refer to (in a given
+context) and constructs a 'GI.Cairo.Structs.Pattern.Pattern' value.
+
+It is not normally necessary to deal directly with @/GtkGradients/@,
+since they are mostly used behind the scenes by 'GI.Gtk.Objects.StyleContext.StyleContext' and
+'GI.Gtk.Objects.CssProvider.CssProvider'.
+
+'GI.Gtk.Structs.Gradient.Gradient' is deprecated. It was used internally by GTK’s CSS engine
+to represent gradients. As its handling is not conforming to modern
+web standards, it is not used anymore. If you want to use gradients in
+your own code, please use Cairo directly.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.Gradient
+    ( 
+
+-- * Exported types
+    Gradient(..)                            ,
+    noGradient                              ,
+
+
+ -- * Methods
+-- ** addColorStop #method:addColorStop#
+
+#if ENABLE_OVERLOADING
+    GradientAddColorStopMethodInfo          ,
+#endif
+    gradientAddColorStop                    ,
+
+
+-- ** newLinear #method:newLinear#
+
+    gradientNewLinear                       ,
+
+
+-- ** newRadial #method:newRadial#
+
+    gradientNewRadial                       ,
+
+
+-- ** ref #method:ref#
+
+#if ENABLE_OVERLOADING
+    GradientRefMethodInfo                   ,
+#endif
+    gradientRef                             ,
+
+
+-- ** resolve #method:resolve#
+
+#if ENABLE_OVERLOADING
+    GradientResolveMethodInfo               ,
+#endif
+    gradientResolve                         ,
+
+
+-- ** resolveForContext #method:resolveForContext#
+
+#if ENABLE_OVERLOADING
+    GradientResolveForContextMethodInfo     ,
+#endif
+    gradientResolveForContext               ,
+
+
+-- ** toString #method:toString#
+
+#if ENABLE_OVERLOADING
+    GradientToStringMethodInfo              ,
+#endif
+    gradientToString                        ,
+
+
+-- ** unref #method:unref#
+
+#if ENABLE_OVERLOADING
+    GradientUnrefMethodInfo                 ,
+#endif
+    gradientUnref                           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Pattern as Cairo.Pattern
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleProperties as Gtk.StyleProperties
+import {-# SOURCE #-} qualified GI.Gtk.Structs.SymbolicColor as Gtk.SymbolicColor
+
+-- | Memory-managed wrapper type.
+newtype Gradient = Gradient (ManagedPtr Gradient)
+foreign import ccall "gtk_gradient_get_type" c_gtk_gradient_get_type :: 
+    IO GType
+
+instance BoxedObject Gradient where
+    boxedType _ = c_gtk_gradient_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Gradient`.
+noGradient :: Maybe Gradient
+noGradient = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Gradient
+type instance O.AttributeList Gradient = GradientAttributeList
+type GradientAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method Gradient::new_linear
+-- method type : Constructor
+-- Args : [Arg {argCName = "x0", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate of the starting point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y0", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate of the starting point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x1", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate of the end point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y1", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate of the end point", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Gradient"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gradient_new_linear" gtk_gradient_new_linear :: 
+    CDouble ->                              -- x0 : TBasicType TDouble
+    CDouble ->                              -- y0 : TBasicType TDouble
+    CDouble ->                              -- x1 : TBasicType TDouble
+    CDouble ->                              -- y1 : TBasicType TDouble
+    IO (Ptr Gradient)
+
+{-# DEPRECATED gradientNewLinear ["(Since version 3.8)","'GI.Gtk.Structs.Gradient.Gradient' is deprecated."] #-}
+{- |
+Creates a new linear gradient along the line defined by (x0, y0) and (x1, y1). Before using the gradient
+a number of stop colors must be added through 'GI.Gtk.Structs.Gradient.gradientAddColorStop'.
+
+/Since: 3.0/
+-}
+gradientNewLinear ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Double
+    {- ^ /@x0@/: X coordinate of the starting point -}
+    -> Double
+    {- ^ /@y0@/: Y coordinate of the starting point -}
+    -> Double
+    {- ^ /@x1@/: X coordinate of the end point -}
+    -> Double
+    {- ^ /@y1@/: Y coordinate of the end point -}
+    -> m Gradient
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Structs.Gradient.Gradient' -}
+gradientNewLinear x0 y0 x1 y1 = liftIO $ do
+    let x0' = realToFrac x0
+    let y0' = realToFrac y0
+    let x1' = realToFrac x1
+    let y1' = realToFrac y1
+    result <- gtk_gradient_new_linear x0' y0' x1' y1'
+    checkUnexpectedReturnNULL "gradientNewLinear" result
+    result' <- (wrapBoxed Gradient) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Gradient::new_radial
+-- method type : Constructor
+-- Args : [Arg {argCName = "x0", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate of the start circle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y0", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate of the start circle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "radius0", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "radius of the start circle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x1", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "X coordinate of the end circle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y1", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Y coordinate of the end circle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "radius1", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "radius of the end circle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Gradient"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gradient_new_radial" gtk_gradient_new_radial :: 
+    CDouble ->                              -- x0 : TBasicType TDouble
+    CDouble ->                              -- y0 : TBasicType TDouble
+    CDouble ->                              -- radius0 : TBasicType TDouble
+    CDouble ->                              -- x1 : TBasicType TDouble
+    CDouble ->                              -- y1 : TBasicType TDouble
+    CDouble ->                              -- radius1 : TBasicType TDouble
+    IO (Ptr Gradient)
+
+{-# DEPRECATED gradientNewRadial ["(Since version 3.8)","'GI.Gtk.Structs.Gradient.Gradient' is deprecated."] #-}
+{- |
+Creates a new radial gradient along the two circles defined by (x0, y0, radius0) and
+(x1, y1, radius1). Before using the gradient a number of stop colors must be added
+through 'GI.Gtk.Structs.Gradient.gradientAddColorStop'.
+
+/Since: 3.0/
+-}
+gradientNewRadial ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Double
+    {- ^ /@x0@/: X coordinate of the start circle -}
+    -> Double
+    {- ^ /@y0@/: Y coordinate of the start circle -}
+    -> Double
+    {- ^ /@radius0@/: radius of the start circle -}
+    -> Double
+    {- ^ /@x1@/: X coordinate of the end circle -}
+    -> Double
+    {- ^ /@y1@/: Y coordinate of the end circle -}
+    -> Double
+    {- ^ /@radius1@/: radius of the end circle -}
+    -> m Gradient
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Structs.Gradient.Gradient' -}
+gradientNewRadial x0 y0 radius0 x1 y1 radius1 = liftIO $ do
+    let x0' = realToFrac x0
+    let y0' = realToFrac y0
+    let radius0' = realToFrac radius0
+    let x1' = realToFrac x1
+    let y1' = realToFrac y1
+    let radius1' = realToFrac radius1
+    result <- gtk_gradient_new_radial x0' y0' radius0' x1' y1' radius1'
+    checkUnexpectedReturnNULL "gradientNewRadial" result
+    result' <- (wrapBoxed Gradient) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Gradient::add_color_stop
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gradient", argType = TInterface (Name {namespace = "Gtk", name = "Gradient"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGradient", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "offset for the color stop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gradient_add_color_stop" gtk_gradient_add_color_stop :: 
+    Ptr Gradient ->                         -- gradient : TInterface (Name {namespace = "Gtk", name = "Gradient"})
+    CDouble ->                              -- offset : TBasicType TDouble
+    Ptr Gtk.SymbolicColor.SymbolicColor ->  -- color : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    IO ()
+
+{-# DEPRECATED gradientAddColorStop ["(Since version 3.8)","'GI.Gtk.Structs.Gradient.Gradient' is deprecated."] #-}
+{- |
+Adds a stop color to /@gradient@/.
+
+/Since: 3.0/
+-}
+gradientAddColorStop ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gradient
+    {- ^ /@gradient@/: a 'GI.Gtk.Structs.Gradient.Gradient' -}
+    -> Double
+    {- ^ /@offset@/: offset for the color stop -}
+    -> Gtk.SymbolicColor.SymbolicColor
+    {- ^ /@color@/: color to use -}
+    -> m ()
+gradientAddColorStop gradient offset color = liftIO $ do
+    gradient' <- unsafeManagedPtrGetPtr gradient
+    let offset' = realToFrac offset
+    color' <- unsafeManagedPtrGetPtr color
+    gtk_gradient_add_color_stop gradient' offset' color'
+    touchManagedPtr gradient
+    touchManagedPtr color
+    return ()
+
+#if ENABLE_OVERLOADING
+data GradientAddColorStopMethodInfo
+instance (signature ~ (Double -> Gtk.SymbolicColor.SymbolicColor -> m ()), MonadIO m) => O.MethodInfo GradientAddColorStopMethodInfo Gradient signature where
+    overloadedMethod _ = gradientAddColorStop
+
+#endif
+
+-- method Gradient::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gradient", argType = TInterface (Name {namespace = "Gtk", name = "Gradient"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGradient", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Gradient"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gradient_ref" gtk_gradient_ref :: 
+    Ptr Gradient ->                         -- gradient : TInterface (Name {namespace = "Gtk", name = "Gradient"})
+    IO (Ptr Gradient)
+
+{-# DEPRECATED gradientRef ["(Since version 3.8)","'GI.Gtk.Structs.Gradient.Gradient' is deprecated."] #-}
+{- |
+Increases the reference count of /@gradient@/.
+
+/Since: 3.0/
+-}
+gradientRef ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gradient
+    {- ^ /@gradient@/: a 'GI.Gtk.Structs.Gradient.Gradient' -}
+    -> m Gradient
+    {- ^ __Returns:__ The same /@gradient@/ -}
+gradientRef gradient = liftIO $ do
+    gradient' <- unsafeManagedPtrGetPtr gradient
+    result <- gtk_gradient_ref gradient'
+    checkUnexpectedReturnNULL "gradientRef" result
+    result' <- (wrapBoxed Gradient) result
+    touchManagedPtr gradient
+    return result'
+
+#if ENABLE_OVERLOADING
+data GradientRefMethodInfo
+instance (signature ~ (m Gradient), MonadIO m) => O.MethodInfo GradientRefMethodInfo Gradient signature where
+    overloadedMethod _ = gradientRef
+
+#endif
+
+-- method Gradient::resolve
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gradient", argType = TInterface (Name {namespace = "Gtk", name = "Gradient"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGradient", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkStyleProperties to use when resolving named colors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resolved_gradient", argType = TInterface (Name {namespace = "cairo", name = "Pattern"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the resolved pattern", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gradient_resolve" gtk_gradient_resolve :: 
+    Ptr Gradient ->                         -- gradient : TInterface (Name {namespace = "Gtk", name = "Gradient"})
+    Ptr Gtk.StyleProperties.StyleProperties -> -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    Ptr (Ptr Cairo.Pattern.Pattern) ->      -- resolved_gradient : TInterface (Name {namespace = "cairo", name = "Pattern"})
+    IO CInt
+
+{-# DEPRECATED gradientResolve ["(Since version 3.8)","'GI.Gtk.Structs.Gradient.Gradient' is deprecated."] #-}
+{- |
+If /@gradient@/ is resolvable, /@resolvedGradient@/ will be filled in
+with the resolved gradient as a cairo_pattern_t, and 'True' will
+be returned. Generally, if /@gradient@/ can’t be resolved, it is
+due to it being defined on top of a named color that doesn\'t
+exist in /@props@/.
+
+/Since: 3.0/
+-}
+gradientResolve ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleProperties.IsStyleProperties a) =>
+    Gradient
+    {- ^ /@gradient@/: a 'GI.Gtk.Structs.Gradient.Gradient' -}
+    -> a
+    {- ^ /@props@/: 'GI.Gtk.Objects.StyleProperties.StyleProperties' to use when resolving named colors -}
+    -> m ((Bool, Cairo.Pattern.Pattern))
+    {- ^ __Returns:__ 'True' if the gradient has been resolved -}
+gradientResolve gradient props = liftIO $ do
+    gradient' <- unsafeManagedPtrGetPtr gradient
+    props' <- unsafeManagedPtrCastPtr props
+    resolvedGradient <- allocMem :: IO (Ptr (Ptr Cairo.Pattern.Pattern))
+    result <- gtk_gradient_resolve gradient' props' resolvedGradient
+    let result' = (/= 0) result
+    resolvedGradient' <- peek resolvedGradient
+    resolvedGradient'' <- (wrapBoxed Cairo.Pattern.Pattern) resolvedGradient'
+    touchManagedPtr gradient
+    touchManagedPtr props
+    freeMem resolvedGradient
+    return (result', resolvedGradient'')
+
+#if ENABLE_OVERLOADING
+data GradientResolveMethodInfo
+instance (signature ~ (a -> m ((Bool, Cairo.Pattern.Pattern))), MonadIO m, Gtk.StyleProperties.IsStyleProperties a) => O.MethodInfo GradientResolveMethodInfo Gradient signature where
+    overloadedMethod _ = gradientResolve
+
+#endif
+
+-- method Gradient::resolve_for_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gradient", argType = TInterface (Name {namespace = "Gtk", name = "Gradient"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Pattern"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gradient_resolve_for_context" gtk_gradient_resolve_for_context :: 
+    Ptr Gradient ->                         -- gradient : TInterface (Name {namespace = "Gtk", name = "Gradient"})
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    IO (Ptr Cairo.Pattern.Pattern)
+
+{- |
+/No description available in the introspection data./
+-}
+gradientResolveForContext ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    Gradient
+    -> a
+    -> m Cairo.Pattern.Pattern
+gradientResolveForContext gradient context = liftIO $ do
+    gradient' <- unsafeManagedPtrGetPtr gradient
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_gradient_resolve_for_context gradient' context'
+    checkUnexpectedReturnNULL "gradientResolveForContext" result
+    result' <- (wrapBoxed Cairo.Pattern.Pattern) result
+    touchManagedPtr gradient
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data GradientResolveForContextMethodInfo
+instance (signature ~ (a -> m Cairo.Pattern.Pattern), MonadIO m, Gtk.StyleContext.IsStyleContext a) => O.MethodInfo GradientResolveForContextMethodInfo Gradient signature where
+    overloadedMethod _ = gradientResolveForContext
+
+#endif
+
+-- method Gradient::to_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gradient", argType = TInterface (Name {namespace = "Gtk", name = "Gradient"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gradient to print", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gradient_to_string" gtk_gradient_to_string :: 
+    Ptr Gradient ->                         -- gradient : TInterface (Name {namespace = "Gtk", name = "Gradient"})
+    IO CString
+
+{-# DEPRECATED gradientToString ["(Since version 3.8)","'GI.Gtk.Structs.Gradient.Gradient' is deprecated."] #-}
+{- |
+Creates a string representation for /@gradient@/ that is suitable
+for using in GTK CSS files.
+-}
+gradientToString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gradient
+    {- ^ /@gradient@/: the gradient to print -}
+    -> m T.Text
+    {- ^ __Returns:__ A string representation for /@gradient@/ -}
+gradientToString gradient = liftIO $ do
+    gradient' <- unsafeManagedPtrGetPtr gradient
+    result <- gtk_gradient_to_string gradient'
+    checkUnexpectedReturnNULL "gradientToString" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr gradient
+    return result'
+
+#if ENABLE_OVERLOADING
+data GradientToStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo GradientToStringMethodInfo Gradient signature where
+    overloadedMethod _ = gradientToString
+
+#endif
+
+-- method Gradient::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "gradient", argType = TInterface (Name {namespace = "Gtk", name = "Gradient"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkGradient", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_gradient_unref" gtk_gradient_unref :: 
+    Ptr Gradient ->                         -- gradient : TInterface (Name {namespace = "Gtk", name = "Gradient"})
+    IO ()
+
+{-# DEPRECATED gradientUnref ["(Since version 3.8)","'GI.Gtk.Structs.Gradient.Gradient' is deprecated."] #-}
+{- |
+Decreases the reference count of /@gradient@/, freeing its memory
+if the reference count reaches 0.
+
+/Since: 3.0/
+-}
+gradientUnref ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gradient
+    {- ^ /@gradient@/: a 'GI.Gtk.Structs.Gradient.Gradient' -}
+    -> m ()
+gradientUnref gradient = liftIO $ do
+    gradient' <- unsafeManagedPtrGetPtr gradient
+    gtk_gradient_unref gradient'
+    touchManagedPtr gradient
+    return ()
+
+#if ENABLE_OVERLOADING
+data GradientUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo GradientUnrefMethodInfo Gradient signature where
+    overloadedMethod _ = gradientUnref
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveGradientMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGradientMethod "addColorStop" o = GradientAddColorStopMethodInfo
+    ResolveGradientMethod "ref" o = GradientRefMethodInfo
+    ResolveGradientMethod "resolve" o = GradientResolveMethodInfo
+    ResolveGradientMethod "resolveForContext" o = GradientResolveForContextMethodInfo
+    ResolveGradientMethod "toString" o = GradientToStringMethodInfo
+    ResolveGradientMethod "unref" o = GradientUnrefMethodInfo
+    ResolveGradientMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveGradientMethod t Gradient, O.MethodInfo info Gradient p) => OL.IsLabel t (Gradient -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/Gradient.hs-boot b/GI/Gtk/Structs/Gradient.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/Gradient.hs-boot
@@ -0,0 +1,44 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.Gradient where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Gradient = Gradient (ManagedPtr Gradient)
+instance BoxedObject Gradient where
+#if ENABLE_OVERLOADING
+data GradientAddColorStopMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GradientRefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GradientResolveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GradientResolveForContextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GradientToStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data GradientUnrefMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/IMContextInfo.hs b/GI/Gtk/Structs/IMContextInfo.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/IMContextInfo.hs
@@ -0,0 +1,447 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Bookkeeping information about a loadable input method.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.IMContextInfo
+    ( 
+
+-- * Exported types
+    IMContextInfo(..)                       ,
+    newZeroIMContextInfo                    ,
+    noIMContextInfo                         ,
+
+
+ -- * Properties
+-- ** contextId #attr:contextId#
+{- | The unique identification string of the input method.
+-}
+    clearIMContextInfoContextId             ,
+    getIMContextInfoContextId               ,
+#if ENABLE_OVERLOADING
+    iMContextInfo_contextId                 ,
+#endif
+    setIMContextInfoContextId               ,
+
+
+-- ** contextName #attr:contextName#
+{- | The human-readable name of the input method.
+-}
+    clearIMContextInfoContextName           ,
+    getIMContextInfoContextName             ,
+#if ENABLE_OVERLOADING
+    iMContextInfo_contextName               ,
+#endif
+    setIMContextInfoContextName             ,
+
+
+-- ** defaultLocales #attr:defaultLocales#
+{- | A colon-separated list of locales where this input method
+  should be the default. The asterisk “*” sets the default for all locales.
+-}
+    clearIMContextInfoDefaultLocales        ,
+    getIMContextInfoDefaultLocales          ,
+#if ENABLE_OVERLOADING
+    iMContextInfo_defaultLocales            ,
+#endif
+    setIMContextInfoDefaultLocales          ,
+
+
+-- ** domain #attr:domain#
+{- | Translation domain to be used with @/dgettext()/@
+-}
+    clearIMContextInfoDomain                ,
+    getIMContextInfoDomain                  ,
+#if ENABLE_OVERLOADING
+    iMContextInfo_domain                    ,
+#endif
+    setIMContextInfoDomain                  ,
+
+
+-- ** domainDirname #attr:domainDirname#
+{- | Name of locale directory for use with @/bindtextdomain()/@
+-}
+    clearIMContextInfoDomainDirname         ,
+    getIMContextInfoDomainDirname           ,
+#if ENABLE_OVERLOADING
+    iMContextInfo_domainDirname             ,
+#endif
+    setIMContextInfoDomainDirname           ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype IMContextInfo = IMContextInfo (ManagedPtr IMContextInfo)
+instance WrappedPtr IMContextInfo where
+    wrappedPtrCalloc = callocBytes 40
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr IMContextInfo)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `IMContextInfo` struct initialized to zero.
+newZeroIMContextInfo :: MonadIO m => m IMContextInfo
+newZeroIMContextInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr IMContextInfo
+
+instance tag ~ 'AttrSet => Constructible IMContextInfo tag where
+    new _ attrs = do
+        o <- newZeroIMContextInfo
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IMContextInfo`.
+noIMContextInfo :: Maybe IMContextInfo
+noIMContextInfo = Nothing
+
+{- |
+Get the value of the “@context_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iMContextInfo #contextId
+@
+-}
+getIMContextInfoContextId :: MonadIO m => IMContextInfo -> m (Maybe T.Text)
+getIMContextInfoContextId s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@context_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iMContextInfo [ #contextId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIMContextInfoContextId :: MonadIO m => IMContextInfo -> CString -> m ()
+setIMContextInfoContextId s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: CString)
+
+{- |
+Set the value of the “@context_id@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #contextId
+@
+-}
+clearIMContextInfoContextId :: MonadIO m => IMContextInfo -> m ()
+clearIMContextInfoContextId s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data IMContextInfoContextIdFieldInfo
+instance AttrInfo IMContextInfoContextIdFieldInfo where
+    type AttrAllowedOps IMContextInfoContextIdFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint IMContextInfoContextIdFieldInfo = (~) CString
+    type AttrBaseTypeConstraint IMContextInfoContextIdFieldInfo = (~) IMContextInfo
+    type AttrGetType IMContextInfoContextIdFieldInfo = Maybe T.Text
+    type AttrLabel IMContextInfoContextIdFieldInfo = "context_id"
+    type AttrOrigin IMContextInfoContextIdFieldInfo = IMContextInfo
+    attrGet _ = getIMContextInfoContextId
+    attrSet _ = setIMContextInfoContextId
+    attrConstruct = undefined
+    attrClear _ = clearIMContextInfoContextId
+
+iMContextInfo_contextId :: AttrLabelProxy "contextId"
+iMContextInfo_contextId = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@context_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iMContextInfo #contextName
+@
+-}
+getIMContextInfoContextName :: MonadIO m => IMContextInfo -> m (Maybe T.Text)
+getIMContextInfoContextName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@context_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iMContextInfo [ #contextName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIMContextInfoContextName :: MonadIO m => IMContextInfo -> CString -> m ()
+setIMContextInfoContextName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@context_name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #contextName
+@
+-}
+clearIMContextInfoContextName :: MonadIO m => IMContextInfo -> m ()
+clearIMContextInfoContextName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data IMContextInfoContextNameFieldInfo
+instance AttrInfo IMContextInfoContextNameFieldInfo where
+    type AttrAllowedOps IMContextInfoContextNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint IMContextInfoContextNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint IMContextInfoContextNameFieldInfo = (~) IMContextInfo
+    type AttrGetType IMContextInfoContextNameFieldInfo = Maybe T.Text
+    type AttrLabel IMContextInfoContextNameFieldInfo = "context_name"
+    type AttrOrigin IMContextInfoContextNameFieldInfo = IMContextInfo
+    attrGet _ = getIMContextInfoContextName
+    attrSet _ = setIMContextInfoContextName
+    attrConstruct = undefined
+    attrClear _ = clearIMContextInfoContextName
+
+iMContextInfo_contextName :: AttrLabelProxy "contextName"
+iMContextInfo_contextName = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@domain@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iMContextInfo #domain
+@
+-}
+getIMContextInfoDomain :: MonadIO m => IMContextInfo -> m (Maybe T.Text)
+getIMContextInfoDomain s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@domain@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iMContextInfo [ #domain 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIMContextInfoDomain :: MonadIO m => IMContextInfo -> CString -> m ()
+setIMContextInfoDomain s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: CString)
+
+{- |
+Set the value of the “@domain@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #domain
+@
+-}
+clearIMContextInfoDomain :: MonadIO m => IMContextInfo -> m ()
+clearIMContextInfoDomain s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data IMContextInfoDomainFieldInfo
+instance AttrInfo IMContextInfoDomainFieldInfo where
+    type AttrAllowedOps IMContextInfoDomainFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint IMContextInfoDomainFieldInfo = (~) CString
+    type AttrBaseTypeConstraint IMContextInfoDomainFieldInfo = (~) IMContextInfo
+    type AttrGetType IMContextInfoDomainFieldInfo = Maybe T.Text
+    type AttrLabel IMContextInfoDomainFieldInfo = "domain"
+    type AttrOrigin IMContextInfoDomainFieldInfo = IMContextInfo
+    attrGet _ = getIMContextInfoDomain
+    attrSet _ = setIMContextInfoDomain
+    attrConstruct = undefined
+    attrClear _ = clearIMContextInfoDomain
+
+iMContextInfo_domain :: AttrLabelProxy "domain"
+iMContextInfo_domain = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@domain_dirname@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iMContextInfo #domainDirname
+@
+-}
+getIMContextInfoDomainDirname :: MonadIO m => IMContextInfo -> m (Maybe T.Text)
+getIMContextInfoDomainDirname s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@domain_dirname@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iMContextInfo [ #domainDirname 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIMContextInfoDomainDirname :: MonadIO m => IMContextInfo -> CString -> m ()
+setIMContextInfoDomainDirname s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: CString)
+
+{- |
+Set the value of the “@domain_dirname@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #domainDirname
+@
+-}
+clearIMContextInfoDomainDirname :: MonadIO m => IMContextInfo -> m ()
+clearIMContextInfoDomainDirname s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data IMContextInfoDomainDirnameFieldInfo
+instance AttrInfo IMContextInfoDomainDirnameFieldInfo where
+    type AttrAllowedOps IMContextInfoDomainDirnameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint IMContextInfoDomainDirnameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint IMContextInfoDomainDirnameFieldInfo = (~) IMContextInfo
+    type AttrGetType IMContextInfoDomainDirnameFieldInfo = Maybe T.Text
+    type AttrLabel IMContextInfoDomainDirnameFieldInfo = "domain_dirname"
+    type AttrOrigin IMContextInfoDomainDirnameFieldInfo = IMContextInfo
+    attrGet _ = getIMContextInfoDomainDirname
+    attrSet _ = setIMContextInfoDomainDirname
+    attrConstruct = undefined
+    attrClear _ = clearIMContextInfoDomainDirname
+
+iMContextInfo_domainDirname :: AttrLabelProxy "domainDirname"
+iMContextInfo_domainDirname = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@default_locales@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' iMContextInfo #defaultLocales
+@
+-}
+getIMContextInfoDefaultLocales :: MonadIO m => IMContextInfo -> m (Maybe T.Text)
+getIMContextInfoDefaultLocales s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@default_locales@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' iMContextInfo [ #defaultLocales 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setIMContextInfoDefaultLocales :: MonadIO m => IMContextInfo -> CString -> m ()
+setIMContextInfoDefaultLocales s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: CString)
+
+{- |
+Set the value of the “@default_locales@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #defaultLocales
+@
+-}
+clearIMContextInfoDefaultLocales :: MonadIO m => IMContextInfo -> m ()
+clearIMContextInfoDefaultLocales s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data IMContextInfoDefaultLocalesFieldInfo
+instance AttrInfo IMContextInfoDefaultLocalesFieldInfo where
+    type AttrAllowedOps IMContextInfoDefaultLocalesFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint IMContextInfoDefaultLocalesFieldInfo = (~) CString
+    type AttrBaseTypeConstraint IMContextInfoDefaultLocalesFieldInfo = (~) IMContextInfo
+    type AttrGetType IMContextInfoDefaultLocalesFieldInfo = Maybe T.Text
+    type AttrLabel IMContextInfoDefaultLocalesFieldInfo = "default_locales"
+    type AttrOrigin IMContextInfoDefaultLocalesFieldInfo = IMContextInfo
+    attrGet _ = getIMContextInfoDefaultLocales
+    attrSet _ = setIMContextInfoDefaultLocales
+    attrConstruct = undefined
+    attrClear _ = clearIMContextInfoDefaultLocales
+
+iMContextInfo_defaultLocales :: AttrLabelProxy "defaultLocales"
+iMContextInfo_defaultLocales = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IMContextInfo
+type instance O.AttributeList IMContextInfo = IMContextInfoAttributeList
+type IMContextInfoAttributeList = ('[ '("contextId", IMContextInfoContextIdFieldInfo), '("contextName", IMContextInfoContextNameFieldInfo), '("domain", IMContextInfoDomainFieldInfo), '("domainDirname", IMContextInfoDomainDirnameFieldInfo), '("defaultLocales", IMContextInfoDefaultLocalesFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveIMContextInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIMContextInfoMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIMContextInfoMethod t IMContextInfo, O.MethodInfo info IMContextInfo p) => OL.IsLabel t (IMContextInfo -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/IMContextInfo.hs-boot b/GI/Gtk/Structs/IMContextInfo.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/IMContextInfo.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.IMContextInfo where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IMContextInfo = IMContextInfo (ManagedPtr IMContextInfo)
+instance WrappedPtr IMContextInfo where
diff --git a/GI/Gtk/Structs/IconSet.hs b/GI/Gtk/Structs/IconSet.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/IconSet.hs
@@ -0,0 +1,663 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.IconSet
+    ( 
+
+-- * Exported types
+    IconSet(..)                             ,
+    noIconSet                               ,
+
+
+ -- * Methods
+-- ** addSource #method:addSource#
+
+#if ENABLE_OVERLOADING
+    IconSetAddSourceMethodInfo              ,
+#endif
+    iconSetAddSource                        ,
+
+
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    IconSetCopyMethodInfo                   ,
+#endif
+    iconSetCopy                             ,
+
+
+-- ** getSizes #method:getSizes#
+
+#if ENABLE_OVERLOADING
+    IconSetGetSizesMethodInfo               ,
+#endif
+    iconSetGetSizes                         ,
+
+
+-- ** new #method:new#
+
+    iconSetNew                              ,
+
+
+-- ** newFromPixbuf #method:newFromPixbuf#
+
+    iconSetNewFromPixbuf                    ,
+
+
+-- ** ref #method:ref#
+
+#if ENABLE_OVERLOADING
+    IconSetRefMethodInfo                    ,
+#endif
+    iconSetRef                              ,
+
+
+-- ** renderIcon #method:renderIcon#
+
+#if ENABLE_OVERLOADING
+    IconSetRenderIconMethodInfo             ,
+#endif
+    iconSetRenderIcon                       ,
+
+
+-- ** renderIconPixbuf #method:renderIconPixbuf#
+
+#if ENABLE_OVERLOADING
+    IconSetRenderIconPixbufMethodInfo       ,
+#endif
+    iconSetRenderIconPixbuf                 ,
+
+
+-- ** renderIconSurface #method:renderIconSurface#
+
+#if ENABLE_OVERLOADING
+    IconSetRenderIconSurfaceMethodInfo      ,
+#endif
+    iconSetRenderIconSurface                ,
+
+
+-- ** unref #method:unref#
+
+#if ENABLE_OVERLOADING
+    IconSetUnrefMethodInfo                  ,
+#endif
+    iconSetUnref                            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Cairo.Structs.Surface as Cairo.Surface
+import qualified GI.Gdk.Objects.Window as Gdk.Window
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Style as Gtk.Style
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSource as Gtk.IconSource
+
+-- | Memory-managed wrapper type.
+newtype IconSet = IconSet (ManagedPtr IconSet)
+foreign import ccall "gtk_icon_set_get_type" c_gtk_icon_set_get_type :: 
+    IO GType
+
+instance BoxedObject IconSet where
+    boxedType _ = c_gtk_icon_set_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IconSet`.
+noIconSet :: Maybe IconSet
+noIconSet = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IconSet
+type instance O.AttributeList IconSet = IconSetAttributeList
+type IconSetAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method IconSet::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_new" gtk_icon_set_new :: 
+    IO (Ptr IconSet)
+
+{-# DEPRECATED iconSetNew ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Structs.IconSet.IconSet'. A 'GI.Gtk.Structs.IconSet.IconSet' represents a single icon
+in various sizes and widget states. It can provide a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'
+for a given size and state on request, and automatically caches
+some of the rendered 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' objects.
+
+Normally you would use 'GI.Gtk.Objects.Widget.widgetRenderIconPixbuf' instead of
+using 'GI.Gtk.Structs.IconSet.IconSet' directly. The one case where you’d use
+'GI.Gtk.Structs.IconSet.IconSet' is to create application-specific icon sets to place in
+a 'GI.Gtk.Objects.IconFactory.IconFactory'.
+-}
+iconSetNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m IconSet
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.IconSet.IconSet' -}
+iconSetNew  = liftIO $ do
+    result <- gtk_icon_set_new
+    checkUnexpectedReturnNULL "iconSetNew" result
+    result' <- (wrapBoxed IconSet) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconSet::new_from_pixbuf
+-- method type : Constructor
+-- Args : [Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_new_from_pixbuf" gtk_icon_set_new_from_pixbuf :: 
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO (Ptr IconSet)
+
+{-# DEPRECATED iconSetNewFromPixbuf ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Structs.IconSet.IconSet' with /@pixbuf@/ as the default\/fallback
+source image. If you don’t add any additional 'GI.Gtk.Structs.IconSource.IconSource' to the
+icon set, all variants of the icon will be created from /@pixbuf@/,
+using scaling, pixelation, etc. as required to adjust the icon size
+or make the icon look insensitive\/prelighted.
+-}
+iconSetNewFromPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>
+    a
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}
+    -> m IconSet
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.IconSet.IconSet' -}
+iconSetNewFromPixbuf pixbuf = liftIO $ do
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    result <- gtk_icon_set_new_from_pixbuf pixbuf'
+    checkUnexpectedReturnNULL "iconSetNewFromPixbuf" result
+    result' <- (wrapBoxed IconSet) result
+    touchManagedPtr pixbuf
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconSet::add_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_add_source" gtk_icon_set_add_source :: 
+    Ptr IconSet ->                          -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    Ptr Gtk.IconSource.IconSource ->        -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO ()
+
+{-# DEPRECATED iconSetAddSource ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Icon sets have a list of 'GI.Gtk.Structs.IconSource.IconSource', which they use as base
+icons for rendering icons in different states and sizes. Icons are
+scaled, made to look insensitive, etc. in
+'GI.Gtk.Structs.IconSet.iconSetRenderIcon', but 'GI.Gtk.Structs.IconSet.IconSet' needs base images to
+work with. The base images and when to use them are described by
+a 'GI.Gtk.Structs.IconSource.IconSource'.
+
+This function copies /@source@/, so you can reuse the same source immediately
+without affecting the icon set.
+
+An example of when you’d use this function: a web browser’s \"Back
+to Previous Page\" icon might point in a different direction in
+Hebrew and in English; it might look different when insensitive;
+and it might change size depending on toolbar mode (small\/large
+icons). So a single icon set would contain all those variants of
+the icon, and you might add a separate source for each one.
+
+You should nearly always add a “default” icon source with all
+fields wildcarded, which will be used as a fallback if no more
+specific source matches. 'GI.Gtk.Structs.IconSet.IconSet' always prefers more specific
+icon sources to more generic icon sources. The order in which you
+add the sources to the icon set does not matter.
+
+'GI.Gtk.Structs.IconSet.iconSetNewFromPixbuf' creates a new icon set with a
+default icon source based on the given pixbuf.
+-}
+iconSetAddSource ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet' -}
+    -> Gtk.IconSource.IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m ()
+iconSetAddSource iconSet source = liftIO $ do
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    source' <- unsafeManagedPtrGetPtr source
+    gtk_icon_set_add_source iconSet' source'
+    touchManagedPtr iconSet
+    touchManagedPtr source
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSetAddSourceMethodInfo
+instance (signature ~ (Gtk.IconSource.IconSource -> m ()), MonadIO m) => O.MethodInfo IconSetAddSourceMethodInfo IconSet signature where
+    overloadedMethod _ = iconSetAddSource
+
+#endif
+
+-- method IconSet::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_copy" gtk_icon_set_copy :: 
+    Ptr IconSet ->                          -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    IO (Ptr IconSet)
+
+{-# DEPRECATED iconSetCopy ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Copies /@iconSet@/ by value.
+-}
+iconSetCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet' -}
+    -> m IconSet
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.IconSet.IconSet' identical to the first. -}
+iconSetCopy iconSet = liftIO $ do
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    result <- gtk_icon_set_copy iconSet'
+    checkUnexpectedReturnNULL "iconSetCopy" result
+    result' <- (wrapBoxed IconSet) result
+    touchManagedPtr iconSet
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSetCopyMethodInfo
+instance (signature ~ (m IconSet), MonadIO m) => O.MethodInfo IconSetCopyMethodInfo IconSet signature where
+    overloadedMethod _ = iconSetCopy
+
+#endif
+
+-- method IconSet::get_sizes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sizes", argType = TCArray False (-1) 2 (TBasicType TInt), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location\n    for array of sizes (#GtkIconSize)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_sizes", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store number of elements in returned array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_sizes", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store number of elements in returned array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_get_sizes" gtk_icon_set_get_sizes :: 
+    Ptr IconSet ->                          -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    Ptr (Ptr Int32) ->                      -- sizes : TCArray False (-1) 2 (TBasicType TInt)
+    Ptr Int32 ->                            -- n_sizes : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED iconSetGetSizes ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Obtains a list of icon sizes this icon set can render. The returned
+array must be freed with 'GI.GLib.Functions.free'.
+-}
+iconSetGetSizes ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet' -}
+    -> m ([Int32])
+iconSetGetSizes iconSet = liftIO $ do
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    sizes <- allocMem :: IO (Ptr (Ptr Int32))
+    nSizes <- allocMem :: IO (Ptr Int32)
+    gtk_icon_set_get_sizes iconSet' sizes nSizes
+    nSizes' <- peek nSizes
+    sizes' <- peek sizes
+    sizes'' <- (unpackStorableArrayWithLength nSizes') sizes'
+    freeMem sizes'
+    touchManagedPtr iconSet
+    freeMem sizes
+    freeMem nSizes
+    return sizes''
+
+#if ENABLE_OVERLOADING
+data IconSetGetSizesMethodInfo
+instance (signature ~ (m ([Int32])), MonadIO m) => O.MethodInfo IconSetGetSizesMethodInfo IconSet signature where
+    overloadedMethod _ = iconSetGetSizes
+
+#endif
+
+-- method IconSet::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSet"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_ref" gtk_icon_set_ref :: 
+    Ptr IconSet ->                          -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    IO (Ptr IconSet)
+
+{-# DEPRECATED iconSetRef ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Increments the reference count on /@iconSet@/.
+-}
+iconSetRef ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet'. -}
+    -> m IconSet
+    {- ^ __Returns:__ /@iconSet@/. -}
+iconSetRef iconSet = liftIO $ do
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    result <- gtk_icon_set_ref iconSet'
+    checkUnexpectedReturnNULL "iconSetRef" result
+    result' <- (wrapBoxed IconSet) result
+    touchManagedPtr iconSet
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSetRefMethodInfo
+instance (signature ~ (m IconSet), MonadIO m) => O.MethodInfo IconSetRefMethodInfo IconSet signature where
+    overloadedMethod _ = iconSetRef
+
+#endif
+
+-- method IconSet::render_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface (Name {namespace = "Gtk", name = "Style"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkStyle associated with @widget, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "TextDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "icon size (#GtkIconSize). A size of `(GtkIconSize)-1`\n       means render at the size of the source and don\8217t scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "widget that will display the icon, or %NULL.\n         The only use that is typically made of this\n         is to determine the appropriate #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "detail to pass to the theme engine, or %NULL.\n         Note that passing a detail of anything but %NULL\n         will disable caching.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_render_icon" gtk_icon_set_render_icon :: 
+    Ptr IconSet ->                          -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    Ptr Gtk.Style.Style ->                  -- style : TInterface (Name {namespace = "Gtk", name = "Style"})
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    Int32 ->                                -- size : TBasicType TInt
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    CString ->                              -- detail : TBasicType TUTF8
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED iconSetRenderIcon ["(Since version 3.0)","Use 'GI.Gtk.Structs.IconSet.iconSetRenderIconPixbuf' instead"] #-}
+{- |
+Renders an icon using 'GI.Gtk.Objects.Style.styleRenderIcon'. In most cases,
+'GI.Gtk.Objects.Widget.widgetRenderIcon' is better, since it automatically provides
+most of the arguments from the current widget settings.  This
+function never returns 'Nothing'; if the icon can’t be rendered
+(perhaps because an image file fails to load), a default \"missing
+image\" icon will be returned instead.
+-}
+iconSetRenderIcon ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) =>
+    IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet' -}
+    -> Maybe (a)
+    {- ^ /@style@/: a 'GI.Gtk.Objects.Style.Style' associated with /@widget@/, or 'Nothing' -}
+    -> Gtk.Enums.TextDirection
+    {- ^ /@direction@/: text direction -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: widget state -}
+    -> Int32
+    {- ^ /@size@/: icon size ('GI.Gtk.Enums.IconSize'). A size of @(GtkIconSize)-1@
+       means render at the size of the source and don’t scale. -}
+    -> Maybe (b)
+    {- ^ /@widget@/: widget that will display the icon, or 'Nothing'.
+         The only use that is typically made of this
+         is to determine the appropriate 'GI.Gdk.Objects.Screen.Screen'. -}
+    -> Maybe (T.Text)
+    {- ^ /@detail@/: detail to pass to the theme engine, or 'Nothing'.
+         Note that passing a detail of anything but 'Nothing'
+         will disable caching. -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' to be displayed -}
+iconSetRenderIcon iconSet style direction state size widget detail = liftIO $ do
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    maybeStyle <- case style of
+        Nothing -> return nullPtr
+        Just jStyle -> do
+            jStyle' <- unsafeManagedPtrCastPtr jStyle
+            return jStyle'
+    let direction' = (fromIntegral . fromEnum) direction
+    let state' = (fromIntegral . fromEnum) state
+    maybeWidget <- case widget of
+        Nothing -> return nullPtr
+        Just jWidget -> do
+            jWidget' <- unsafeManagedPtrCastPtr jWidget
+            return jWidget'
+    maybeDetail <- case detail of
+        Nothing -> return nullPtr
+        Just jDetail -> do
+            jDetail' <- textToCString jDetail
+            return jDetail'
+    result <- gtk_icon_set_render_icon iconSet' maybeStyle direction' state' size maybeWidget maybeDetail
+    checkUnexpectedReturnNULL "iconSetRenderIcon" result
+    result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+    touchManagedPtr iconSet
+    whenJust style touchManagedPtr
+    whenJust widget touchManagedPtr
+    freeMem maybeDetail
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSetRenderIconMethodInfo
+instance (signature ~ (Maybe (a) -> Gtk.Enums.TextDirection -> Gtk.Enums.StateType -> Int32 -> Maybe (b) -> Maybe (T.Text) -> m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m, Gtk.Style.IsStyle a, Gtk.Widget.IsWidget b) => O.MethodInfo IconSetRenderIconMethodInfo IconSet signature where
+    overloadedMethod _ = iconSetRenderIcon
+
+#endif
+
+-- method IconSet::render_icon_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "icon size (#GtkIconSize). A size of `(GtkIconSize)-1`\n       means render at the size of the source and don\8217t scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_render_icon_pixbuf" gtk_icon_set_render_icon_pixbuf :: 
+    Ptr IconSet ->                          -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED iconSetRenderIconPixbuf ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Renders an icon using 'GI.Gtk.Functions.renderIconPixbuf'. In most cases,
+'GI.Gtk.Objects.Widget.widgetRenderIconPixbuf' is better, since it automatically provides
+most of the arguments from the current widget settings.  This
+function never returns 'Nothing'; if the icon can’t be rendered
+(perhaps because an image file fails to load), a default \"missing
+image\" icon will be returned instead.
+
+/Since: 3.0/
+-}
+iconSetRenderIconPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a) =>
+    IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet' -}
+    -> a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Int32
+    {- ^ /@size@/: icon size ('GI.Gtk.Enums.IconSize'). A size of @(GtkIconSize)-1@
+       means render at the size of the source and don’t scale. -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' to be displayed -}
+iconSetRenderIconPixbuf iconSet context size = liftIO $ do
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    context' <- unsafeManagedPtrCastPtr context
+    result <- gtk_icon_set_render_icon_pixbuf iconSet' context' size
+    checkUnexpectedReturnNULL "iconSetRenderIconPixbuf" result
+    result' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result
+    touchManagedPtr iconSet
+    touchManagedPtr context
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSetRenderIconPixbufMethodInfo
+instance (signature ~ (a -> Int32 -> m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m, Gtk.StyleContext.IsStyleContext a) => O.MethodInfo IconSetRenderIconPixbufMethodInfo IconSet signature where
+    overloadedMethod _ = iconSetRenderIconPixbuf
+
+#endif
+
+-- method IconSet::render_icon_surface
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gtk", name = "StyleContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "icon size (#GtkIconSize). A size of `(GtkIconSize)-1`\n       means render at the size of the source and don\8217t scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the window scale to render for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "for_window", argType = TInterface (Name {namespace = "Gdk", name = "Window"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GdkWindow to optimize drawing for, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "cairo", name = "Surface"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_render_icon_surface" gtk_icon_set_render_icon_surface :: 
+    Ptr IconSet ->                          -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    Ptr Gtk.StyleContext.StyleContext ->    -- context : TInterface (Name {namespace = "Gtk", name = "StyleContext"})
+    Int32 ->                                -- size : TBasicType TInt
+    Int32 ->                                -- scale : TBasicType TInt
+    Ptr Gdk.Window.Window ->                -- for_window : TInterface (Name {namespace = "Gdk", name = "Window"})
+    IO (Ptr Cairo.Surface.Surface)
+
+{-# DEPRECATED iconSetRenderIconSurface ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Renders an icon using 'GI.Gtk.Functions.renderIconPixbuf' and converts it to a
+cairo surface.
+
+This function never returns 'Nothing'; if the icon can’t be rendered
+(perhaps because an image file fails to load), a default \"missing
+image\" icon will be returned instead.
+
+/Since: 3.10/
+-}
+iconSetRenderIconSurface ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleContext.IsStyleContext a, Gdk.Window.IsWindow b) =>
+    IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet' -}
+    -> a
+    {- ^ /@context@/: a 'GI.Gtk.Objects.StyleContext.StyleContext' -}
+    -> Int32
+    {- ^ /@size@/: icon size ('GI.Gtk.Enums.IconSize'). A size of @(GtkIconSize)-1@
+       means render at the size of the source and don’t scale. -}
+    -> Int32
+    {- ^ /@scale@/: the window scale to render for -}
+    -> Maybe (b)
+    {- ^ /@forWindow@/: 'GI.Gdk.Objects.Window.Window' to optimize drawing for, or 'Nothing' -}
+    -> m Cairo.Surface.Surface
+    {- ^ __Returns:__ a 'GI.Cairo.Structs.Surface.Surface' to be displayed -}
+iconSetRenderIconSurface iconSet context size scale forWindow = liftIO $ do
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    context' <- unsafeManagedPtrCastPtr context
+    maybeForWindow <- case forWindow of
+        Nothing -> return nullPtr
+        Just jForWindow -> do
+            jForWindow' <- unsafeManagedPtrCastPtr jForWindow
+            return jForWindow'
+    result <- gtk_icon_set_render_icon_surface iconSet' context' size scale maybeForWindow
+    checkUnexpectedReturnNULL "iconSetRenderIconSurface" result
+    result' <- (wrapBoxed Cairo.Surface.Surface) result
+    touchManagedPtr iconSet
+    touchManagedPtr context
+    whenJust forWindow touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSetRenderIconSurfaceMethodInfo
+instance (signature ~ (a -> Int32 -> Int32 -> Maybe (b) -> m Cairo.Surface.Surface), MonadIO m, Gtk.StyleContext.IsStyleContext a, Gdk.Window.IsWindow b) => O.MethodInfo IconSetRenderIconSurfaceMethodInfo IconSet signature where
+    overloadedMethod _ = iconSetRenderIconSurface
+
+#endif
+
+-- method IconSet::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "icon_set", argType = TInterface (Name {namespace = "Gtk", name = "IconSet"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSet", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_set_unref" gtk_icon_set_unref :: 
+    Ptr IconSet ->                          -- icon_set : TInterface (Name {namespace = "Gtk", name = "IconSet"})
+    IO ()
+
+{-# DEPRECATED iconSetUnref ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Decrements the reference count on /@iconSet@/, and frees memory
+if the reference count reaches 0.
+-}
+iconSetUnref ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSet
+    {- ^ /@iconSet@/: a 'GI.Gtk.Structs.IconSet.IconSet' -}
+    -> m ()
+iconSetUnref iconSet = liftIO $ do
+    iconSet' <- unsafeManagedPtrGetPtr iconSet
+    gtk_icon_set_unref iconSet'
+    touchManagedPtr iconSet
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSetUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IconSetUnrefMethodInfo IconSet signature where
+    overloadedMethod _ = iconSetUnref
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveIconSetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIconSetMethod "addSource" o = IconSetAddSourceMethodInfo
+    ResolveIconSetMethod "copy" o = IconSetCopyMethodInfo
+    ResolveIconSetMethod "ref" o = IconSetRefMethodInfo
+    ResolveIconSetMethod "renderIcon" o = IconSetRenderIconMethodInfo
+    ResolveIconSetMethod "renderIconPixbuf" o = IconSetRenderIconPixbufMethodInfo
+    ResolveIconSetMethod "renderIconSurface" o = IconSetRenderIconSurfaceMethodInfo
+    ResolveIconSetMethod "unref" o = IconSetUnrefMethodInfo
+    ResolveIconSetMethod "getSizes" o = IconSetGetSizesMethodInfo
+    ResolveIconSetMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIconSetMethod t IconSet, O.MethodInfo info IconSet p) => OL.IsLabel t (IconSet -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/IconSet.hs-boot b/GI/Gtk/Structs/IconSet.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/IconSet.hs-boot
@@ -0,0 +1,50 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.IconSet where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IconSet = IconSet (ManagedPtr IconSet)
+instance BoxedObject IconSet where
+#if ENABLE_OVERLOADING
+data IconSetAddSourceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSetCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSetGetSizesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSetRefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSetRenderIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSetRenderIconPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSetRenderIconSurfaceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSetUnrefMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/IconSource.hs b/GI/Gtk/Structs/IconSource.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/IconSource.hs
@@ -0,0 +1,1136 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.IconSource
+    ( 
+
+-- * Exported types
+    IconSource(..)                          ,
+    noIconSource                            ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    IconSourceCopyMethodInfo                ,
+#endif
+    iconSourceCopy                          ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    IconSourceFreeMethodInfo                ,
+#endif
+    iconSourceFree                          ,
+
+
+-- ** getDirection #method:getDirection#
+
+#if ENABLE_OVERLOADING
+    IconSourceGetDirectionMethodInfo        ,
+#endif
+    iconSourceGetDirection                  ,
+
+
+-- ** getDirectionWildcarded #method:getDirectionWildcarded#
+
+#if ENABLE_OVERLOADING
+    IconSourceGetDirectionWildcardedMethodInfo,
+#endif
+    iconSourceGetDirectionWildcarded        ,
+
+
+-- ** getFilename #method:getFilename#
+
+#if ENABLE_OVERLOADING
+    IconSourceGetFilenameMethodInfo         ,
+#endif
+    iconSourceGetFilename                   ,
+
+
+-- ** getIconName #method:getIconName#
+
+#if ENABLE_OVERLOADING
+    IconSourceGetIconNameMethodInfo         ,
+#endif
+    iconSourceGetIconName                   ,
+
+
+-- ** getPixbuf #method:getPixbuf#
+
+#if ENABLE_OVERLOADING
+    IconSourceGetPixbufMethodInfo           ,
+#endif
+    iconSourceGetPixbuf                     ,
+
+
+-- ** getSize #method:getSize#
+
+#if ENABLE_OVERLOADING
+    IconSourceGetSizeMethodInfo             ,
+#endif
+    iconSourceGetSize                       ,
+
+
+-- ** getSizeWildcarded #method:getSizeWildcarded#
+
+#if ENABLE_OVERLOADING
+    IconSourceGetSizeWildcardedMethodInfo   ,
+#endif
+    iconSourceGetSizeWildcarded             ,
+
+
+-- ** getState #method:getState#
+
+#if ENABLE_OVERLOADING
+    IconSourceGetStateMethodInfo            ,
+#endif
+    iconSourceGetState                      ,
+
+
+-- ** getStateWildcarded #method:getStateWildcarded#
+
+#if ENABLE_OVERLOADING
+    IconSourceGetStateWildcardedMethodInfo  ,
+#endif
+    iconSourceGetStateWildcarded            ,
+
+
+-- ** new #method:new#
+
+    iconSourceNew                           ,
+
+
+-- ** setDirection #method:setDirection#
+
+#if ENABLE_OVERLOADING
+    IconSourceSetDirectionMethodInfo        ,
+#endif
+    iconSourceSetDirection                  ,
+
+
+-- ** setDirectionWildcarded #method:setDirectionWildcarded#
+
+#if ENABLE_OVERLOADING
+    IconSourceSetDirectionWildcardedMethodInfo,
+#endif
+    iconSourceSetDirectionWildcarded        ,
+
+
+-- ** setFilename #method:setFilename#
+
+#if ENABLE_OVERLOADING
+    IconSourceSetFilenameMethodInfo         ,
+#endif
+    iconSourceSetFilename                   ,
+
+
+-- ** setIconName #method:setIconName#
+
+#if ENABLE_OVERLOADING
+    IconSourceSetIconNameMethodInfo         ,
+#endif
+    iconSourceSetIconName                   ,
+
+
+-- ** setPixbuf #method:setPixbuf#
+
+#if ENABLE_OVERLOADING
+    IconSourceSetPixbufMethodInfo           ,
+#endif
+    iconSourceSetPixbuf                     ,
+
+
+-- ** setSize #method:setSize#
+
+#if ENABLE_OVERLOADING
+    IconSourceSetSizeMethodInfo             ,
+#endif
+    iconSourceSetSize                       ,
+
+
+-- ** setSizeWildcarded #method:setSizeWildcarded#
+
+#if ENABLE_OVERLOADING
+    IconSourceSetSizeWildcardedMethodInfo   ,
+#endif
+    iconSourceSetSizeWildcarded             ,
+
+
+-- ** setState #method:setState#
+
+#if ENABLE_OVERLOADING
+    IconSourceSetStateMethodInfo            ,
+#endif
+    iconSourceSetState                      ,
+
+
+-- ** setStateWildcarded #method:setStateWildcarded#
+
+#if ENABLE_OVERLOADING
+    IconSourceSetStateWildcardedMethodInfo  ,
+#endif
+    iconSourceSetStateWildcarded            ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+
+-- | Memory-managed wrapper type.
+newtype IconSource = IconSource (ManagedPtr IconSource)
+foreign import ccall "gtk_icon_source_get_type" c_gtk_icon_source_get_type :: 
+    IO GType
+
+instance BoxedObject IconSource where
+    boxedType _ = c_gtk_icon_source_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `IconSource`.
+noIconSource :: Maybe IconSource
+noIconSource = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList IconSource
+type instance O.AttributeList IconSource = IconSourceAttributeList
+type IconSourceAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method IconSource::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSource"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_new" gtk_icon_source_new :: 
+    IO (Ptr IconSource)
+
+{-# DEPRECATED iconSourceNew ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Creates a new 'GI.Gtk.Structs.IconSource.IconSource'. A 'GI.Gtk.Structs.IconSource.IconSource' contains a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' (or
+image filename) that serves as the base image for one or more of the
+icons in a 'GI.Gtk.Structs.IconSet.IconSet', along with a specification for which icons in the
+icon set will be based on that pixbuf or image file. An icon set contains
+a set of icons that represent “the same” logical concept in different states,
+different global text directions, and different sizes.
+
+So for example a web browser’s “Back to Previous Page” icon might
+point in a different direction in Hebrew and in English; it might
+look different when insensitive; and it might change size depending
+on toolbar mode (small\/large icons). So a single icon set would
+contain all those variants of the icon. 'GI.Gtk.Structs.IconSet.IconSet' contains a list
+of 'GI.Gtk.Structs.IconSource.IconSource' from which it can derive specific icon variants in
+the set.
+
+In the simplest case, 'GI.Gtk.Structs.IconSet.IconSet' contains one source pixbuf from
+which it derives all variants. The convenience function
+'GI.Gtk.Structs.IconSet.iconSetNewFromPixbuf' handles this case; if you only have
+one source pixbuf, just use that function.
+
+If you want to use a different base pixbuf for different icon
+variants, you create multiple icon sources, mark which variants
+they’ll be used to create, and add them to the icon set with
+'GI.Gtk.Structs.IconSet.iconSetAddSource'.
+
+By default, the icon source has all parameters wildcarded. That is,
+the icon source will be used as the base icon for any desired text
+direction, widget state, or icon size.
+-}
+iconSourceNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m IconSource
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.IconSource.IconSource' -}
+iconSourceNew  = liftIO $ do
+    result <- gtk_icon_source_new
+    checkUnexpectedReturnNULL "iconSourceNew" result
+    result' <- (wrapBoxed IconSource) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method IconSource::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "IconSource"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_copy" gtk_icon_source_copy :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO (Ptr IconSource)
+
+{-# DEPRECATED iconSourceCopy ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Creates a copy of /@source@/; mostly useful for language bindings.
+-}
+iconSourceCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m IconSource
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.IconSource.IconSource' -}
+iconSourceCopy source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_copy source'
+    checkUnexpectedReturnNULL "iconSourceCopy" result
+    result' <- (wrapBoxed IconSource) result
+    touchManagedPtr source
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSourceCopyMethodInfo
+instance (signature ~ (m IconSource), MonadIO m) => O.MethodInfo IconSourceCopyMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceCopy
+
+#endif
+
+-- method IconSource::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_free" gtk_icon_source_free :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO ()
+
+{-# DEPRECATED iconSourceFree ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Frees a dynamically-allocated icon source, along with its
+filename, size, and pixbuf fields if those are not 'Nothing'.
+-}
+iconSourceFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m ()
+iconSourceFree source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    gtk_icon_source_free source'
+    touchManagedPtr source
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IconSourceFreeMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceFree
+
+#endif
+
+-- method IconSource::get_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextDirection"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_get_direction" gtk_icon_source_get_direction :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO CUInt
+
+{-# DEPRECATED iconSourceGetDirection ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Obtains the text direction this icon source applies to. The return
+value is only useful\/meaningful if the text direction is not
+wildcarded.
+-}
+iconSourceGetDirection ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m Gtk.Enums.TextDirection
+    {- ^ __Returns:__ text direction this source matches -}
+iconSourceGetDirection source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_get_direction source'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr source
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSourceGetDirectionMethodInfo
+instance (signature ~ (m Gtk.Enums.TextDirection), MonadIO m) => O.MethodInfo IconSourceGetDirectionMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceGetDirection
+
+#endif
+
+-- method IconSource::get_direction_wildcarded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_get_direction_wildcarded" gtk_icon_source_get_direction_wildcarded :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO CInt
+
+{-# DEPRECATED iconSourceGetDirectionWildcarded ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Gets the value set by 'GI.Gtk.Structs.IconSource.iconSourceSetDirectionWildcarded'.
+-}
+iconSourceGetDirectionWildcarded ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if this icon source is a base for any text direction variant -}
+iconSourceGetDirectionWildcarded source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_get_direction_wildcarded source'
+    let result' = (/= 0) result
+    touchManagedPtr source
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSourceGetDirectionWildcardedMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo IconSourceGetDirectionWildcardedMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceGetDirectionWildcarded
+
+#endif
+
+-- method IconSource::get_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TFileName)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_get_filename" gtk_icon_source_get_filename :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO CString
+
+{-# DEPRECATED iconSourceGetFilename ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Retrieves the source filename, or 'Nothing' if none is set. The
+filename is not a copy, and should not be modified or expected to
+persist beyond the lifetime of the icon source.
+-}
+iconSourceGetFilename ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m [Char]
+    {- ^ __Returns:__ image filename. This string must not
+be modified or freed. -}
+iconSourceGetFilename source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_get_filename source'
+    checkUnexpectedReturnNULL "iconSourceGetFilename" result
+    result' <- cstringToString result
+    touchManagedPtr source
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSourceGetFilenameMethodInfo
+instance (signature ~ (m [Char]), MonadIO m) => O.MethodInfo IconSourceGetFilenameMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceGetFilename
+
+#endif
+
+-- method IconSource::get_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_get_icon_name" gtk_icon_source_get_icon_name :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO CString
+
+{-# DEPRECATED iconSourceGetIconName ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Retrieves the source icon name, or 'Nothing' if none is set. The
+icon_name is not a copy, and should not be modified or expected to
+persist beyond the lifetime of the icon source.
+-}
+iconSourceGetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m T.Text
+    {- ^ __Returns:__ icon name. This string must not be modified or freed. -}
+iconSourceGetIconName source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_get_icon_name source'
+    checkUnexpectedReturnNULL "iconSourceGetIconName" result
+    result' <- cstringToText result
+    touchManagedPtr source
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSourceGetIconNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo IconSourceGetIconNameMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceGetIconName
+
+#endif
+
+-- method IconSource::get_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_get_pixbuf" gtk_icon_source_get_pixbuf :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{-# DEPRECATED iconSourceGetPixbuf ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Retrieves the source pixbuf, or 'Nothing' if none is set.
+In addition, if a filename source is in use, this
+function in some cases will return the pixbuf from
+loaded from the filename. This is, for example, true
+for the GtkIconSource passed to the 'GI.Gtk.Objects.Style.Style' @/render_icon()/@
+virtual function. The reference count on the pixbuf is
+not incremented.
+-}
+iconSourceGetPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ source pixbuf -}
+iconSourceGetPixbuf source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_get_pixbuf source'
+    checkUnexpectedReturnNULL "iconSourceGetPixbuf" result
+    result' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result
+    touchManagedPtr source
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSourceGetPixbufMethodInfo
+instance (signature ~ (m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m) => O.MethodInfo IconSourceGetPixbufMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceGetPixbuf
+
+#endif
+
+-- method IconSource::get_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_get_size" gtk_icon_source_get_size :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO Int32
+
+{-# DEPRECATED iconSourceGetSize ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Obtains the icon size this source applies to. The return value
+is only useful\/meaningful if the icon size is not wildcarded.
+-}
+iconSourceGetSize ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m Int32
+    {- ^ __Returns:__ icon size ('GI.Gtk.Enums.IconSize') this source matches. -}
+iconSourceGetSize source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_get_size source'
+    touchManagedPtr source
+    return result
+
+#if ENABLE_OVERLOADING
+data IconSourceGetSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo IconSourceGetSizeMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceGetSize
+
+#endif
+
+-- method IconSource::get_size_wildcarded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_get_size_wildcarded" gtk_icon_source_get_size_wildcarded :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO CInt
+
+{-# DEPRECATED iconSourceGetSizeWildcarded ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Gets the value set by 'GI.Gtk.Structs.IconSource.iconSourceSetSizeWildcarded'.
+-}
+iconSourceGetSizeWildcarded ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if this icon source is a base for any icon size variant -}
+iconSourceGetSizeWildcarded source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_get_size_wildcarded source'
+    let result' = (/= 0) result
+    touchManagedPtr source
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSourceGetSizeWildcardedMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo IconSourceGetSizeWildcardedMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceGetSizeWildcarded
+
+#endif
+
+-- method IconSource::get_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StateType"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_get_state" gtk_icon_source_get_state :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO CUInt
+
+{-# DEPRECATED iconSourceGetState ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Obtains the widget state this icon source applies to. The return
+value is only useful\/meaningful if the widget state is not
+wildcarded.
+-}
+iconSourceGetState ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m Gtk.Enums.StateType
+    {- ^ __Returns:__ widget state this source matches -}
+iconSourceGetState source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_get_state source'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr source
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSourceGetStateMethodInfo
+instance (signature ~ (m Gtk.Enums.StateType), MonadIO m) => O.MethodInfo IconSourceGetStateMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceGetState
+
+#endif
+
+-- method IconSource::get_state_wildcarded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_get_state_wildcarded" gtk_icon_source_get_state_wildcarded :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    IO CInt
+
+{-# DEPRECATED iconSourceGetStateWildcarded ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Gets the value set by 'GI.Gtk.Structs.IconSource.iconSourceSetStateWildcarded'.
+-}
+iconSourceGetStateWildcarded ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if this icon source is a base for any widget state variant -}
+iconSourceGetStateWildcarded source = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    result <- gtk_icon_source_get_state_wildcarded source'
+    let result' = (/= 0) result
+    touchManagedPtr source
+    return result'
+
+#if ENABLE_OVERLOADING
+data IconSourceGetStateWildcardedMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo IconSourceGetStateWildcardedMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceGetStateWildcarded
+
+#endif
+
+-- method IconSource::set_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gtk", name = "TextDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text direction this source applies to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_set_direction" gtk_icon_source_set_direction :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    CUInt ->                                -- direction : TInterface (Name {namespace = "Gtk", name = "TextDirection"})
+    IO ()
+
+{-# DEPRECATED iconSourceSetDirection ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Sets the text direction this icon source is intended to be used
+with.
+
+Setting the text direction on an icon source makes no difference
+if the text direction is wildcarded. Therefore, you should usually
+call 'GI.Gtk.Structs.IconSource.iconSourceSetDirectionWildcarded' to un-wildcard it
+in addition to calling this function.
+-}
+iconSourceSetDirection ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> Gtk.Enums.TextDirection
+    {- ^ /@direction@/: text direction this source applies to -}
+    -> m ()
+iconSourceSetDirection source direction = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    let direction' = (fromIntegral . fromEnum) direction
+    gtk_icon_source_set_direction source' direction'
+    touchManagedPtr source
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceSetDirectionMethodInfo
+instance (signature ~ (Gtk.Enums.TextDirection -> m ()), MonadIO m) => O.MethodInfo IconSourceSetDirectionMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceSetDirection
+
+#endif
+
+-- method IconSource::set_direction_wildcarded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to wildcard the text direction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_set_direction_wildcarded" gtk_icon_source_set_direction_wildcarded :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED iconSourceSetDirectionWildcarded ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+If the text direction is wildcarded, this source can be used
+as the base image for an icon in any 'GI.Gtk.Enums.TextDirection'.
+If the text direction is not wildcarded, then the
+text direction the icon source applies to should be set
+with 'GI.Gtk.Structs.IconSource.iconSourceSetDirection', and the icon source
+will only be used with that text direction.
+
+'GI.Gtk.Structs.IconSet.IconSet' prefers non-wildcarded sources (exact matches) over
+wildcarded sources, and will use an exact match when possible.
+-}
+iconSourceSetDirectionWildcarded ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to wildcard the text direction -}
+    -> m ()
+iconSourceSetDirectionWildcarded source setting = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_icon_source_set_direction_wildcarded source' setting'
+    touchManagedPtr source
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceSetDirectionWildcardedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo IconSourceSetDirectionWildcardedMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceSetDirectionWildcarded
+
+#endif
+
+-- method IconSource::set_filename
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "image file to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_set_filename" gtk_icon_source_set_filename :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    CString ->                              -- filename : TBasicType TFileName
+    IO ()
+
+{-# DEPRECATED iconSourceSetFilename ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Sets the name of an image file to use as a base image when creating
+icon variants for 'GI.Gtk.Structs.IconSet.IconSet'. The filename must be absolute.
+-}
+iconSourceSetFilename ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> [Char]
+    {- ^ /@filename@/: image file to use -}
+    -> m ()
+iconSourceSetFilename source filename = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    filename' <- stringToCString filename
+    gtk_icon_source_set_filename source' filename'
+    touchManagedPtr source
+    freeMem filename'
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceSetFilenameMethodInfo
+instance (signature ~ ([Char] -> m ()), MonadIO m) => O.MethodInfo IconSourceSetFilenameMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceSetFilename
+
+#endif
+
+-- method IconSource::set_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name of icon to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_set_icon_name" gtk_icon_source_set_icon_name :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED iconSourceSetIconName ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Sets the name of an icon to look up in the current icon theme
+to use as a base image when creating icon variants for 'GI.Gtk.Structs.IconSet.IconSet'.
+-}
+iconSourceSetIconName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> Maybe (T.Text)
+    {- ^ /@iconName@/: name of icon to use -}
+    -> m ()
+iconSourceSetIconName source iconName = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    maybeIconName <- case iconName of
+        Nothing -> return nullPtr
+        Just jIconName -> do
+            jIconName' <- textToCString jIconName
+            return jIconName'
+    gtk_icon_source_set_icon_name source' maybeIconName
+    touchManagedPtr source
+    freeMem maybeIconName
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceSetIconNameMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo IconSourceSetIconNameMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceSetIconName
+
+#endif
+
+-- method IconSource::set_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pixbuf to use as a source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_set_pixbuf" gtk_icon_source_set_pixbuf :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO ()
+
+{-# DEPRECATED iconSourceSetPixbuf ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Sets a pixbuf to use as a base image when creating icon variants
+for 'GI.Gtk.Structs.IconSet.IconSet'.
+-}
+iconSourceSetPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> a
+    {- ^ /@pixbuf@/: pixbuf to use as a source -}
+    -> m ()
+iconSourceSetPixbuf source pixbuf = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    gtk_icon_source_set_pixbuf source' pixbuf'
+    touchManagedPtr source
+    touchManagedPtr pixbuf
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceSetPixbufMethodInfo
+instance (signature ~ (a -> m ()), MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) => O.MethodInfo IconSourceSetPixbufMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceSetPixbuf
+
+#endif
+
+-- method IconSource::set_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "icon size (#GtkIconSize) this source applies to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_set_size" gtk_icon_source_set_size :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED iconSourceSetSize ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Sets the icon size this icon source is intended to be used
+with.
+
+Setting the icon size on an icon source makes no difference
+if the size is wildcarded. Therefore, you should usually
+call 'GI.Gtk.Structs.IconSource.iconSourceSetSizeWildcarded' to un-wildcard it
+in addition to calling this function.
+-}
+iconSourceSetSize ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> Int32
+    {- ^ /@size@/: icon size ('GI.Gtk.Enums.IconSize') this source applies to -}
+    -> m ()
+iconSourceSetSize source size = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    gtk_icon_source_set_size source' size
+    touchManagedPtr source
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceSetSizeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo IconSourceSetSizeMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceSetSize
+
+#endif
+
+-- method IconSource::set_size_wildcarded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to wildcard the widget state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_set_size_wildcarded" gtk_icon_source_set_size_wildcarded :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED iconSourceSetSizeWildcarded ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+If the icon size is wildcarded, this source can be used as the base
+image for an icon of any size.  If the size is not wildcarded, then
+the size the source applies to should be set with
+'GI.Gtk.Structs.IconSource.iconSourceSetSize' and the icon source will only be used
+with that specific size.
+
+'GI.Gtk.Structs.IconSet.IconSet' prefers non-wildcarded sources (exact matches) over
+wildcarded sources, and will use an exact match when possible.
+
+'GI.Gtk.Structs.IconSet.IconSet' will normally scale wildcarded source images to produce
+an appropriate icon at a given size, but will not change the size
+of source images that match exactly.
+-}
+iconSourceSetSizeWildcarded ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to wildcard the widget state -}
+    -> m ()
+iconSourceSetSizeWildcarded source setting = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_icon_source_set_size_wildcarded source' setting'
+    touchManagedPtr source
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceSetSizeWildcardedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo IconSourceSetSizeWildcardedMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceSetSizeWildcarded
+
+#endif
+
+-- method IconSource::set_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget state this source applies to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_set_state" gtk_icon_source_set_state :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateType"})
+    IO ()
+
+{-# DEPRECATED iconSourceSetState ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+Sets the widget state this icon source is intended to be used
+with.
+
+Setting the widget state on an icon source makes no difference
+if the state is wildcarded. Therefore, you should usually
+call 'GI.Gtk.Structs.IconSource.iconSourceSetStateWildcarded' to un-wildcard it
+in addition to calling this function.
+-}
+iconSourceSetState ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> Gtk.Enums.StateType
+    {- ^ /@state@/: widget state this source applies to -}
+    -> m ()
+iconSourceSetState source state = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    let state' = (fromIntegral . fromEnum) state
+    gtk_icon_source_set_state source' state'
+    touchManagedPtr source
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceSetStateMethodInfo
+instance (signature ~ (Gtk.Enums.StateType -> m ()), MonadIO m) => O.MethodInfo IconSourceSetStateMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceSetState
+
+#endif
+
+-- method IconSource::set_state_wildcarded
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gtk", name = "IconSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkIconSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to wildcard the widget state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_icon_source_set_state_wildcarded" gtk_icon_source_set_state_wildcarded :: 
+    Ptr IconSource ->                       -- source : TInterface (Name {namespace = "Gtk", name = "IconSource"})
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED iconSourceSetStateWildcarded ["(Since version 3.10)","Use 'GI.Gtk.Objects.IconTheme.IconTheme' instead."] #-}
+{- |
+If the widget state is wildcarded, this source can be used as the
+base image for an icon in any 'GI.Gtk.Enums.StateType'.  If the widget state
+is not wildcarded, then the state the source applies to should be
+set with 'GI.Gtk.Structs.IconSource.iconSourceSetState' and the icon source will
+only be used with that specific state.
+
+'GI.Gtk.Structs.IconSet.IconSet' prefers non-wildcarded sources (exact matches) over
+wildcarded sources, and will use an exact match when possible.
+
+'GI.Gtk.Structs.IconSet.IconSet' will normally transform wildcarded source images to
+produce an appropriate icon for a given state, for example
+lightening an image on prelight, but will not modify source images
+that match exactly.
+-}
+iconSourceSetStateWildcarded ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    IconSource
+    {- ^ /@source@/: a 'GI.Gtk.Structs.IconSource.IconSource' -}
+    -> Bool
+    {- ^ /@setting@/: 'True' to wildcard the widget state -}
+    -> m ()
+iconSourceSetStateWildcarded source setting = liftIO $ do
+    source' <- unsafeManagedPtrGetPtr source
+    let setting' = (fromIntegral . fromEnum) setting
+    gtk_icon_source_set_state_wildcarded source' setting'
+    touchManagedPtr source
+    return ()
+
+#if ENABLE_OVERLOADING
+data IconSourceSetStateWildcardedMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo IconSourceSetStateWildcardedMethodInfo IconSource signature where
+    overloadedMethod _ = iconSourceSetStateWildcarded
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveIconSourceMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIconSourceMethod "copy" o = IconSourceCopyMethodInfo
+    ResolveIconSourceMethod "free" o = IconSourceFreeMethodInfo
+    ResolveIconSourceMethod "getDirection" o = IconSourceGetDirectionMethodInfo
+    ResolveIconSourceMethod "getDirectionWildcarded" o = IconSourceGetDirectionWildcardedMethodInfo
+    ResolveIconSourceMethod "getFilename" o = IconSourceGetFilenameMethodInfo
+    ResolveIconSourceMethod "getIconName" o = IconSourceGetIconNameMethodInfo
+    ResolveIconSourceMethod "getPixbuf" o = IconSourceGetPixbufMethodInfo
+    ResolveIconSourceMethod "getSize" o = IconSourceGetSizeMethodInfo
+    ResolveIconSourceMethod "getSizeWildcarded" o = IconSourceGetSizeWildcardedMethodInfo
+    ResolveIconSourceMethod "getState" o = IconSourceGetStateMethodInfo
+    ResolveIconSourceMethod "getStateWildcarded" o = IconSourceGetStateWildcardedMethodInfo
+    ResolveIconSourceMethod "setDirection" o = IconSourceSetDirectionMethodInfo
+    ResolveIconSourceMethod "setDirectionWildcarded" o = IconSourceSetDirectionWildcardedMethodInfo
+    ResolveIconSourceMethod "setFilename" o = IconSourceSetFilenameMethodInfo
+    ResolveIconSourceMethod "setIconName" o = IconSourceSetIconNameMethodInfo
+    ResolveIconSourceMethod "setPixbuf" o = IconSourceSetPixbufMethodInfo
+    ResolveIconSourceMethod "setSize" o = IconSourceSetSizeMethodInfo
+    ResolveIconSourceMethod "setSizeWildcarded" o = IconSourceSetSizeWildcardedMethodInfo
+    ResolveIconSourceMethod "setState" o = IconSourceSetStateMethodInfo
+    ResolveIconSourceMethod "setStateWildcarded" o = IconSourceSetStateWildcardedMethodInfo
+    ResolveIconSourceMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveIconSourceMethod t IconSource, O.MethodInfo info IconSource p) => OL.IsLabel t (IconSource -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/IconSource.hs-boot b/GI/Gtk/Structs/IconSource.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/IconSource.hs-boot
@@ -0,0 +1,86 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.IconSource where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype IconSource = IconSource (ManagedPtr IconSource)
+instance BoxedObject IconSource where
+#if ENABLE_OVERLOADING
+data IconSourceCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceFreeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceGetDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceGetDirectionWildcardedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceGetFilenameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceGetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceGetPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceGetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceGetSizeWildcardedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceGetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceGetStateWildcardedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceSetDirectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceSetDirectionWildcardedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceSetFilenameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceSetIconNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceSetPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceSetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceSetSizeWildcardedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceSetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data IconSourceSetStateWildcardedMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/LabelSelectionInfo.hs b/GI/Gtk/Structs/LabelSelectionInfo.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/LabelSelectionInfo.hs
@@ -0,0 +1,77 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.LabelSelectionInfo
+    ( 
+
+-- * Exported types
+    LabelSelectionInfo(..)                  ,
+    noLabelSelectionInfo                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype LabelSelectionInfo = LabelSelectionInfo (ManagedPtr LabelSelectionInfo)
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr LabelSelectionInfo where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
+-- | A convenience alias for `Nothing` :: `Maybe` `LabelSelectionInfo`.
+noLabelSelectionInfo :: Maybe LabelSelectionInfo
+noLabelSelectionInfo = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList LabelSelectionInfo
+type instance O.AttributeList LabelSelectionInfo = LabelSelectionInfoAttributeList
+type LabelSelectionInfoAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveLabelSelectionInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLabelSelectionInfoMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveLabelSelectionInfoMethod t LabelSelectionInfo, O.MethodInfo info LabelSelectionInfo p) => OL.IsLabel t (LabelSelectionInfo -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/LabelSelectionInfo.hs-boot b/GI/Gtk/Structs/LabelSelectionInfo.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/LabelSelectionInfo.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.LabelSelectionInfo where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype LabelSelectionInfo = LabelSelectionInfo (ManagedPtr LabelSelectionInfo)
+instance WrappedPtr LabelSelectionInfo where
diff --git a/GI/Gtk/Structs/PadActionEntry.hs b/GI/Gtk/Structs/PadActionEntry.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/PadActionEntry.hs
@@ -0,0 +1,403 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Struct defining a pad action entry.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.PadActionEntry
+    ( 
+
+-- * Exported types
+    PadActionEntry(..)                      ,
+    newZeroPadActionEntry                   ,
+    noPadActionEntry                        ,
+
+
+ -- * Properties
+-- ** actionName #attr:actionName#
+{- | action name that will be activated in the 'GI.Gio.Interfaces.ActionGroup.ActionGroup'.
+-}
+    clearPadActionEntryActionName           ,
+    getPadActionEntryActionName             ,
+#if ENABLE_OVERLOADING
+    padActionEntry_actionName               ,
+#endif
+    setPadActionEntryActionName             ,
+
+
+-- ** index #attr:index#
+{- | the 0-indexed button\/ring\/strip number that will trigger this action
+  entry.
+-}
+    getPadActionEntryIndex                  ,
+#if ENABLE_OVERLOADING
+    padActionEntry_index                    ,
+#endif
+    setPadActionEntryIndex                  ,
+
+
+-- ** label #attr:label#
+{- | Human readable description of this action entry, this string should
+  be deemed user-visible.
+-}
+    clearPadActionEntryLabel                ,
+    getPadActionEntryLabel                  ,
+#if ENABLE_OVERLOADING
+    padActionEntry_label                    ,
+#endif
+    setPadActionEntryLabel                  ,
+
+
+-- ** mode #attr:mode#
+{- | the mode that will trigger this action entry, or -1 for all modes.
+-}
+    getPadActionEntryMode                   ,
+#if ENABLE_OVERLOADING
+    padActionEntry_mode                     ,
+#endif
+    setPadActionEntryMode                   ,
+
+
+-- ** type #attr:type#
+{- | the type of pad feature that will trigger this action entry.
+-}
+    getPadActionEntryType                   ,
+#if ENABLE_OVERLOADING
+    padActionEntry_type                     ,
+#endif
+    setPadActionEntryType                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+
+-- | Memory-managed wrapper type.
+newtype PadActionEntry = PadActionEntry (ManagedPtr PadActionEntry)
+instance WrappedPtr PadActionEntry where
+    wrappedPtrCalloc = callocBytes 32
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr PadActionEntry)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `PadActionEntry` struct initialized to zero.
+newZeroPadActionEntry :: MonadIO m => m PadActionEntry
+newZeroPadActionEntry = liftIO $ wrappedPtrCalloc >>= wrapPtr PadActionEntry
+
+instance tag ~ 'AttrSet => Constructible PadActionEntry tag where
+    new _ attrs = do
+        o <- newZeroPadActionEntry
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PadActionEntry`.
+noPadActionEntry :: Maybe PadActionEntry
+noPadActionEntry = Nothing
+
+{- |
+Get the value of the “@type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' padActionEntry #type
+@
+-}
+getPadActionEntryType :: MonadIO m => PadActionEntry -> m Gtk.Enums.PadActionType
+getPadActionEntryType s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+{- |
+Set the value of the “@type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' padActionEntry [ #type 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPadActionEntryType :: MonadIO m => PadActionEntry -> Gtk.Enums.PadActionType -> m ()
+setPadActionEntryType s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = (fromIntegral . fromEnum) val
+    poke (ptr `plusPtr` 0) (val' :: CUInt)
+
+#if ENABLE_OVERLOADING
+data PadActionEntryTypeFieldInfo
+instance AttrInfo PadActionEntryTypeFieldInfo where
+    type AttrAllowedOps PadActionEntryTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint PadActionEntryTypeFieldInfo = (~) Gtk.Enums.PadActionType
+    type AttrBaseTypeConstraint PadActionEntryTypeFieldInfo = (~) PadActionEntry
+    type AttrGetType PadActionEntryTypeFieldInfo = Gtk.Enums.PadActionType
+    type AttrLabel PadActionEntryTypeFieldInfo = "type"
+    type AttrOrigin PadActionEntryTypeFieldInfo = PadActionEntry
+    attrGet _ = getPadActionEntryType
+    attrSet _ = setPadActionEntryType
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+padActionEntry_type :: AttrLabelProxy "type"
+padActionEntry_type = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@index@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' padActionEntry #index
+@
+-}
+getPadActionEntryIndex :: MonadIO m => PadActionEntry -> m Int32
+getPadActionEntryIndex s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@index@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' padActionEntry [ #index 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPadActionEntryIndex :: MonadIO m => PadActionEntry -> Int32 -> m ()
+setPadActionEntryIndex s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 4) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data PadActionEntryIndexFieldInfo
+instance AttrInfo PadActionEntryIndexFieldInfo where
+    type AttrAllowedOps PadActionEntryIndexFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint PadActionEntryIndexFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint PadActionEntryIndexFieldInfo = (~) PadActionEntry
+    type AttrGetType PadActionEntryIndexFieldInfo = Int32
+    type AttrLabel PadActionEntryIndexFieldInfo = "index"
+    type AttrOrigin PadActionEntryIndexFieldInfo = PadActionEntry
+    attrGet _ = getPadActionEntryIndex
+    attrSet _ = setPadActionEntryIndex
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+padActionEntry_index :: AttrLabelProxy "index"
+padActionEntry_index = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@mode@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' padActionEntry #mode
+@
+-}
+getPadActionEntryMode :: MonadIO m => PadActionEntry -> m Int32
+getPadActionEntryMode s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@mode@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' padActionEntry [ #mode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPadActionEntryMode :: MonadIO m => PadActionEntry -> Int32 -> m ()
+setPadActionEntryMode s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data PadActionEntryModeFieldInfo
+instance AttrInfo PadActionEntryModeFieldInfo where
+    type AttrAllowedOps PadActionEntryModeFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint PadActionEntryModeFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint PadActionEntryModeFieldInfo = (~) PadActionEntry
+    type AttrGetType PadActionEntryModeFieldInfo = Int32
+    type AttrLabel PadActionEntryModeFieldInfo = "mode"
+    type AttrOrigin PadActionEntryModeFieldInfo = PadActionEntry
+    attrGet _ = getPadActionEntryMode
+    attrSet _ = setPadActionEntryMode
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+padActionEntry_mode :: AttrLabelProxy "mode"
+padActionEntry_mode = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' padActionEntry #label
+@
+-}
+getPadActionEntryLabel :: MonadIO m => PadActionEntry -> m (Maybe T.Text)
+getPadActionEntryLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' padActionEntry [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPadActionEntryLabel :: MonadIO m => PadActionEntry -> CString -> m ()
+setPadActionEntryLabel s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: CString)
+
+{- |
+Set the value of the “@label@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #label
+@
+-}
+clearPadActionEntryLabel :: MonadIO m => PadActionEntry -> m ()
+clearPadActionEntryLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data PadActionEntryLabelFieldInfo
+instance AttrInfo PadActionEntryLabelFieldInfo where
+    type AttrAllowedOps PadActionEntryLabelFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PadActionEntryLabelFieldInfo = (~) CString
+    type AttrBaseTypeConstraint PadActionEntryLabelFieldInfo = (~) PadActionEntry
+    type AttrGetType PadActionEntryLabelFieldInfo = Maybe T.Text
+    type AttrLabel PadActionEntryLabelFieldInfo = "label"
+    type AttrOrigin PadActionEntryLabelFieldInfo = PadActionEntry
+    attrGet _ = getPadActionEntryLabel
+    attrSet _ = setPadActionEntryLabel
+    attrConstruct = undefined
+    attrClear _ = clearPadActionEntryLabel
+
+padActionEntry_label :: AttrLabelProxy "label"
+padActionEntry_label = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@action_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' padActionEntry #actionName
+@
+-}
+getPadActionEntryActionName :: MonadIO m => PadActionEntry -> m (Maybe T.Text)
+getPadActionEntryActionName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@action_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' padActionEntry [ #actionName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPadActionEntryActionName :: MonadIO m => PadActionEntry -> CString -> m ()
+setPadActionEntryActionName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: CString)
+
+{- |
+Set the value of the “@action_name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #actionName
+@
+-}
+clearPadActionEntryActionName :: MonadIO m => PadActionEntry -> m ()
+clearPadActionEntryActionName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data PadActionEntryActionNameFieldInfo
+instance AttrInfo PadActionEntryActionNameFieldInfo where
+    type AttrAllowedOps PadActionEntryActionNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint PadActionEntryActionNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint PadActionEntryActionNameFieldInfo = (~) PadActionEntry
+    type AttrGetType PadActionEntryActionNameFieldInfo = Maybe T.Text
+    type AttrLabel PadActionEntryActionNameFieldInfo = "action_name"
+    type AttrOrigin PadActionEntryActionNameFieldInfo = PadActionEntry
+    attrGet _ = getPadActionEntryActionName
+    attrSet _ = setPadActionEntryActionName
+    attrConstruct = undefined
+    attrClear _ = clearPadActionEntryActionName
+
+padActionEntry_actionName :: AttrLabelProxy "actionName"
+padActionEntry_actionName = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PadActionEntry
+type instance O.AttributeList PadActionEntry = PadActionEntryAttributeList
+type PadActionEntryAttributeList = ('[ '("type", PadActionEntryTypeFieldInfo), '("index", PadActionEntryIndexFieldInfo), '("mode", PadActionEntryModeFieldInfo), '("label", PadActionEntryLabelFieldInfo), '("actionName", PadActionEntryActionNameFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolvePadActionEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePadActionEntryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePadActionEntryMethod t PadActionEntry, O.MethodInfo info PadActionEntry p) => OL.IsLabel t (PadActionEntry -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/PadActionEntry.hs-boot b/GI/Gtk/Structs/PadActionEntry.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/PadActionEntry.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.PadActionEntry where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PadActionEntry = PadActionEntry (ManagedPtr PadActionEntry)
+instance WrappedPtr PadActionEntry where
diff --git a/GI/Gtk/Structs/PageRange.hs b/GI/Gtk/Structs/PageRange.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/PageRange.hs
@@ -0,0 +1,201 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+See also 'GI.Gtk.Objects.PrintSettings.printSettingsSetPageRanges'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.PageRange
+    ( 
+
+-- * Exported types
+    PageRange(..)                           ,
+    newZeroPageRange                        ,
+    noPageRange                             ,
+
+
+ -- * Properties
+-- ** end #attr:end#
+{- | end of page range.
+-}
+    getPageRangeEnd                         ,
+#if ENABLE_OVERLOADING
+    pageRange_end                           ,
+#endif
+    setPageRangeEnd                         ,
+
+
+-- ** start #attr:start#
+{- | start of page range.
+-}
+    getPageRangeStart                       ,
+#if ENABLE_OVERLOADING
+    pageRange_start                         ,
+#endif
+    setPageRangeStart                       ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype PageRange = PageRange (ManagedPtr PageRange)
+instance WrappedPtr PageRange where
+    wrappedPtrCalloc = callocBytes 8
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr PageRange)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `PageRange` struct initialized to zero.
+newZeroPageRange :: MonadIO m => m PageRange
+newZeroPageRange = liftIO $ wrappedPtrCalloc >>= wrapPtr PageRange
+
+instance tag ~ 'AttrSet => Constructible PageRange tag where
+    new _ attrs = do
+        o <- newZeroPageRange
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PageRange`.
+noPageRange :: Maybe PageRange
+noPageRange = Nothing
+
+{- |
+Get the value of the “@start@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' pageRange #start
+@
+-}
+getPageRangeStart :: MonadIO m => PageRange -> m Int32
+getPageRangeStart s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@start@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' pageRange [ #start 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPageRangeStart :: MonadIO m => PageRange -> Int32 -> m ()
+setPageRangeStart s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data PageRangeStartFieldInfo
+instance AttrInfo PageRangeStartFieldInfo where
+    type AttrAllowedOps PageRangeStartFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint PageRangeStartFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint PageRangeStartFieldInfo = (~) PageRange
+    type AttrGetType PageRangeStartFieldInfo = Int32
+    type AttrLabel PageRangeStartFieldInfo = "start"
+    type AttrOrigin PageRangeStartFieldInfo = PageRange
+    attrGet _ = getPageRangeStart
+    attrSet _ = setPageRangeStart
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+pageRange_start :: AttrLabelProxy "start"
+pageRange_start = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@end@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' pageRange #end
+@
+-}
+getPageRangeEnd :: MonadIO m => PageRange -> m Int32
+getPageRangeEnd s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@end@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' pageRange [ #end 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setPageRangeEnd :: MonadIO m => PageRange -> Int32 -> m ()
+setPageRangeEnd s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 4) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data PageRangeEndFieldInfo
+instance AttrInfo PageRangeEndFieldInfo where
+    type AttrAllowedOps PageRangeEndFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint PageRangeEndFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint PageRangeEndFieldInfo = (~) PageRange
+    type AttrGetType PageRangeEndFieldInfo = Int32
+    type AttrLabel PageRangeEndFieldInfo = "end"
+    type AttrOrigin PageRangeEndFieldInfo = PageRange
+    attrGet _ = getPageRangeEnd
+    attrSet _ = setPageRangeEnd
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+pageRange_end :: AttrLabelProxy "end"
+pageRange_end = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PageRange
+type instance O.AttributeList PageRange = PageRangeAttributeList
+type PageRangeAttributeList = ('[ '("start", PageRangeStartFieldInfo), '("end", PageRangeEndFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolvePageRangeMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePageRangeMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePageRangeMethod t PageRange, O.MethodInfo info PageRange p) => OL.IsLabel t (PageRange -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/PageRange.hs-boot b/GI/Gtk/Structs/PageRange.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/PageRange.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.PageRange where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PageRange = PageRange (ManagedPtr PageRange)
+instance WrappedPtr PageRange where
diff --git a/GI/Gtk/Structs/PaperSize.hs b/GI/Gtk/Structs/PaperSize.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/PaperSize.hs
@@ -0,0 +1,1315 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkPaperSize handles paper sizes. It uses the standard called
+<http://www.pwg.org/standards.html PWG 5101.1-2002 PWG: Standard for Media Standardized Names>
+to name the paper sizes (and to get the data for the page sizes).
+In addition to standard paper sizes, GtkPaperSize allows to
+construct custom paper sizes with arbitrary dimensions.
+
+The 'GI.Gtk.Structs.PaperSize.PaperSize' object stores not only the dimensions (width
+and height) of a paper size and its name, it also provides
+default [print margins][print-margins].
+
+Printing support has been added in GTK+ 2.10.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.PaperSize
+    ( 
+
+-- * Exported types
+    PaperSize(..)                           ,
+    noPaperSize                             ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    PaperSizeCopyMethodInfo                 ,
+#endif
+    paperSizeCopy                           ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    PaperSizeFreeMethodInfo                 ,
+#endif
+    paperSizeFree                           ,
+
+
+-- ** getDefault #method:getDefault#
+
+    paperSizeGetDefault                     ,
+
+
+-- ** getDefaultBottomMargin #method:getDefaultBottomMargin#
+
+#if ENABLE_OVERLOADING
+    PaperSizeGetDefaultBottomMarginMethodInfo,
+#endif
+    paperSizeGetDefaultBottomMargin         ,
+
+
+-- ** getDefaultLeftMargin #method:getDefaultLeftMargin#
+
+#if ENABLE_OVERLOADING
+    PaperSizeGetDefaultLeftMarginMethodInfo ,
+#endif
+    paperSizeGetDefaultLeftMargin           ,
+
+
+-- ** getDefaultRightMargin #method:getDefaultRightMargin#
+
+#if ENABLE_OVERLOADING
+    PaperSizeGetDefaultRightMarginMethodInfo,
+#endif
+    paperSizeGetDefaultRightMargin          ,
+
+
+-- ** getDefaultTopMargin #method:getDefaultTopMargin#
+
+#if ENABLE_OVERLOADING
+    PaperSizeGetDefaultTopMarginMethodInfo  ,
+#endif
+    paperSizeGetDefaultTopMargin            ,
+
+
+-- ** getDisplayName #method:getDisplayName#
+
+#if ENABLE_OVERLOADING
+    PaperSizeGetDisplayNameMethodInfo       ,
+#endif
+    paperSizeGetDisplayName                 ,
+
+
+-- ** getHeight #method:getHeight#
+
+#if ENABLE_OVERLOADING
+    PaperSizeGetHeightMethodInfo            ,
+#endif
+    paperSizeGetHeight                      ,
+
+
+-- ** getName #method:getName#
+
+#if ENABLE_OVERLOADING
+    PaperSizeGetNameMethodInfo              ,
+#endif
+    paperSizeGetName                        ,
+
+
+-- ** getPaperSizes #method:getPaperSizes#
+
+    paperSizeGetPaperSizes                  ,
+
+
+-- ** getPpdName #method:getPpdName#
+
+#if ENABLE_OVERLOADING
+    PaperSizeGetPpdNameMethodInfo           ,
+#endif
+    paperSizeGetPpdName                     ,
+
+
+-- ** getWidth #method:getWidth#
+
+#if ENABLE_OVERLOADING
+    PaperSizeGetWidthMethodInfo             ,
+#endif
+    paperSizeGetWidth                       ,
+
+
+-- ** isCustom #method:isCustom#
+
+#if ENABLE_OVERLOADING
+    PaperSizeIsCustomMethodInfo             ,
+#endif
+    paperSizeIsCustom                       ,
+
+
+-- ** isEqual #method:isEqual#
+
+#if ENABLE_OVERLOADING
+    PaperSizeIsEqualMethodInfo              ,
+#endif
+    paperSizeIsEqual                        ,
+
+
+-- ** isIpp #method:isIpp#
+
+#if ENABLE_OVERLOADING
+    PaperSizeIsIppMethodInfo                ,
+#endif
+    paperSizeIsIpp                          ,
+
+
+-- ** new #method:new#
+
+    paperSizeNew                            ,
+
+
+-- ** newCustom #method:newCustom#
+
+    paperSizeNewCustom                      ,
+
+
+-- ** newFromGvariant #method:newFromGvariant#
+
+    paperSizeNewFromGvariant                ,
+
+
+-- ** newFromIpp #method:newFromIpp#
+
+    paperSizeNewFromIpp                     ,
+
+
+-- ** newFromKeyFile #method:newFromKeyFile#
+
+    paperSizeNewFromKeyFile                 ,
+
+
+-- ** newFromPpd #method:newFromPpd#
+
+    paperSizeNewFromPpd                     ,
+
+
+-- ** setSize #method:setSize#
+
+#if ENABLE_OVERLOADING
+    PaperSizeSetSizeMethodInfo              ,
+#endif
+    paperSizeSetSize                        ,
+
+
+-- ** toGvariant #method:toGvariant#
+
+#if ENABLE_OVERLOADING
+    PaperSizeToGvariantMethodInfo           ,
+#endif
+    paperSizeToGvariant                     ,
+
+
+-- ** toKeyFile #method:toKeyFile#
+
+#if ENABLE_OVERLOADING
+    PaperSizeToKeyFileMethodInfo            ,
+#endif
+    paperSizeToKeyFile                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Structs.KeyFile as GLib.KeyFile
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+
+-- | Memory-managed wrapper type.
+newtype PaperSize = PaperSize (ManagedPtr PaperSize)
+foreign import ccall "gtk_paper_size_get_type" c_gtk_paper_size_get_type :: 
+    IO GType
+
+instance BoxedObject PaperSize where
+    boxedType _ = c_gtk_paper_size_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `PaperSize`.
+noPaperSize :: Maybe PaperSize
+noPaperSize = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList PaperSize
+type instance O.AttributeList PaperSize = PaperSizeAttributeList
+type PaperSizeAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method PaperSize::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a paper size name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PaperSize"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_new" gtk_paper_size_new :: 
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr PaperSize)
+
+{- |
+Creates a new 'GI.Gtk.Structs.PaperSize.PaperSize' object by parsing a
+<https://developer.gnome.org/gtk3/stable/ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf PWG 5101.1-2002>
+paper name.
+
+If /@name@/ is 'Nothing', the default paper size is returned,
+see 'GI.Gtk.Functions.paperSizeGetDefault'.
+
+/Since: 2.10/
+-}
+paperSizeNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe (T.Text)
+    {- ^ /@name@/: a paper size name, or 'Nothing' -}
+    -> m PaperSize
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.PaperSize.PaperSize', use 'GI.Gtk.Structs.PaperSize.paperSizeFree'
+to free it -}
+paperSizeNew name = liftIO $ do
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    result <- gtk_paper_size_new maybeName
+    checkUnexpectedReturnNULL "paperSizeNew" result
+    result' <- (wrapBoxed PaperSize) result
+    freeMem maybeName
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PaperSize::new_custom
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paper name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "display_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the human-readable name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paper width, in units of @unit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paper height, in units of @unit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for @width and @height. not %GTK_UNIT_NONE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PaperSize"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_new_custom" gtk_paper_size_new_custom :: 
+    CString ->                              -- name : TBasicType TUTF8
+    CString ->                              -- display_name : TBasicType TUTF8
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO (Ptr PaperSize)
+
+{- |
+Creates a new 'GI.Gtk.Structs.PaperSize.PaperSize' object with the
+given parameters.
+
+/Since: 2.10/
+-}
+paperSizeNewCustom ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: the paper name -}
+    -> T.Text
+    {- ^ /@displayName@/: the human-readable name -}
+    -> Double
+    {- ^ /@width@/: the paper width, in units of /@unit@/ -}
+    -> Double
+    {- ^ /@height@/: the paper height, in units of /@unit@/ -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for /@width@/ and /@height@/. not 'GI.Gtk.Enums.UnitNone'. -}
+    -> m PaperSize
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.PaperSize.PaperSize' object, use 'GI.Gtk.Structs.PaperSize.paperSizeFree'
+to free it -}
+paperSizeNewCustom name displayName width height unit = liftIO $ do
+    name' <- textToCString name
+    displayName' <- textToCString displayName
+    let width' = realToFrac width
+    let height' = realToFrac height
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_paper_size_new_custom name' displayName' width' height' unit'
+    checkUnexpectedReturnNULL "paperSizeNewCustom" result
+    result' <- (wrapBoxed PaperSize) result
+    freeMem name'
+    freeMem displayName'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PaperSize::new_from_gvariant
+-- method type : Constructor
+-- Args : [Arg {argCName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an a{sv} #GVariant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PaperSize"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_new_from_gvariant" gtk_paper_size_new_from_gvariant :: 
+    Ptr GVariant ->                         -- variant : TVariant
+    IO (Ptr PaperSize)
+
+{- |
+Deserialize a paper size from an a{sv} variant in
+the format produced by 'GI.Gtk.Structs.PaperSize.paperSizeToGvariant'.
+
+/Since: 3.22/
+-}
+paperSizeNewFromGvariant ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GVariant
+    {- ^ /@variant@/: an a{sv} 'GVariant' -}
+    -> m PaperSize
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+paperSizeNewFromGvariant variant = liftIO $ do
+    variant' <- unsafeManagedPtrGetPtr variant
+    result <- gtk_paper_size_new_from_gvariant variant'
+    checkUnexpectedReturnNULL "paperSizeNewFromGvariant" result
+    result' <- (wrapBoxed PaperSize) result
+    touchManagedPtr variant
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PaperSize::new_from_ipp
+-- method type : Constructor
+-- Args : [Arg {argCName = "ipp_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an IPP paper name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paper width, in points", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paper height in points", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PaperSize"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_new_from_ipp" gtk_paper_size_new_from_ipp :: 
+    CString ->                              -- ipp_name : TBasicType TUTF8
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO (Ptr PaperSize)
+
+{- |
+Creates a new 'GI.Gtk.Structs.PaperSize.PaperSize' object by using
+IPP information.
+
+If /@ippName@/ is not a recognized paper name,
+/@width@/ and /@height@/ are used to
+construct a custom 'GI.Gtk.Structs.PaperSize.PaperSize' object.
+
+/Since: 3.16/
+-}
+paperSizeNewFromIpp ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@ippName@/: an IPP paper name -}
+    -> Double
+    {- ^ /@width@/: the paper width, in points -}
+    -> Double
+    {- ^ /@height@/: the paper height in points -}
+    -> m PaperSize
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.PaperSize.PaperSize', use 'GI.Gtk.Structs.PaperSize.paperSizeFree'
+to free it -}
+paperSizeNewFromIpp ippName width height = liftIO $ do
+    ippName' <- textToCString ippName
+    let width' = realToFrac width
+    let height' = realToFrac height
+    result <- gtk_paper_size_new_from_ipp ippName' width' height'
+    checkUnexpectedReturnNULL "paperSizeNewFromIpp" result
+    result' <- (wrapBoxed PaperSize) result
+    freeMem ippName'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PaperSize::new_from_key_file
+-- method type : Constructor
+-- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GKeyFile to retrieve the papersize from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the group in the key file to read,\n    or %NULL to read the first group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PaperSize"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_new_from_key_file" gtk_paper_size_new_from_key_file :: 
+    Ptr GLib.KeyFile.KeyFile ->             -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr PaperSize)
+
+{- |
+Reads a paper size from the group /@groupName@/ in the key file
+/@keyFile@/.
+
+/Since: 2.12/
+-}
+paperSizeNewFromKeyFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GLib.KeyFile.KeyFile
+    {- ^ /@keyFile@/: the 'GI.GLib.Structs.KeyFile.KeyFile' to retrieve the papersize from -}
+    -> Maybe (T.Text)
+    {- ^ /@groupName@/: the name of the group in the key file to read,
+    or 'Nothing' to read the first group -}
+    -> m PaperSize
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.PaperSize.PaperSize' object with the restored
+    paper size, or 'Nothing' if an error occurred /(Can throw 'Data.GI.Base.GError.GError')/ -}
+paperSizeNewFromKeyFile keyFile groupName = liftIO $ do
+    keyFile' <- unsafeManagedPtrGetPtr keyFile
+    maybeGroupName <- case groupName of
+        Nothing -> return nullPtr
+        Just jGroupName -> do
+            jGroupName' <- textToCString jGroupName
+            return jGroupName'
+    onException (do
+        result <- propagateGError $ gtk_paper_size_new_from_key_file keyFile' maybeGroupName
+        checkUnexpectedReturnNULL "paperSizeNewFromKeyFile" result
+        result' <- (wrapBoxed PaperSize) result
+        touchManagedPtr keyFile
+        freeMem maybeGroupName
+        return result'
+     ) (do
+        freeMem maybeGroupName
+     )
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PaperSize::new_from_ppd
+-- method type : Constructor
+-- Args : [Arg {argCName = "ppd_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a PPD paper name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ppd_display_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the corresponding human-readable name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paper width, in points", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the paper height in points", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PaperSize"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_new_from_ppd" gtk_paper_size_new_from_ppd :: 
+    CString ->                              -- ppd_name : TBasicType TUTF8
+    CString ->                              -- ppd_display_name : TBasicType TUTF8
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    IO (Ptr PaperSize)
+
+{- |
+Creates a new 'GI.Gtk.Structs.PaperSize.PaperSize' object by using
+PPD information.
+
+If /@ppdName@/ is not a recognized PPD paper name,
+/@ppdDisplayName@/, /@width@/ and /@height@/ are used to
+construct a custom 'GI.Gtk.Structs.PaperSize.PaperSize' object.
+
+/Since: 2.10/
+-}
+paperSizeNewFromPpd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@ppdName@/: a PPD paper name -}
+    -> T.Text
+    {- ^ /@ppdDisplayName@/: the corresponding human-readable name -}
+    -> Double
+    {- ^ /@width@/: the paper width, in points -}
+    -> Double
+    {- ^ /@height@/: the paper height in points -}
+    -> m PaperSize
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.PaperSize.PaperSize', use 'GI.Gtk.Structs.PaperSize.paperSizeFree'
+to free it -}
+paperSizeNewFromPpd ppdName ppdDisplayName width height = liftIO $ do
+    ppdName' <- textToCString ppdName
+    ppdDisplayName' <- textToCString ppdDisplayName
+    let width' = realToFrac width
+    let height' = realToFrac height
+    result <- gtk_paper_size_new_from_ppd ppdName' ppdDisplayName' width' height'
+    checkUnexpectedReturnNULL "paperSizeNewFromPpd" result
+    result' <- (wrapBoxed PaperSize) result
+    freeMem ppdName'
+    freeMem ppdDisplayName'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PaperSize::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "other", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "PaperSize"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_copy" gtk_paper_size_copy :: 
+    Ptr PaperSize ->                        -- other : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO (Ptr PaperSize)
+
+{- |
+Copies an existing 'GI.Gtk.Structs.PaperSize.PaperSize'.
+
+/Since: 2.10/
+-}
+paperSizeCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@other@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' -}
+    -> m PaperSize
+    {- ^ __Returns:__ a copy of /@other@/ -}
+paperSizeCopy other = liftIO $ do
+    other' <- unsafeManagedPtrGetPtr other
+    result <- gtk_paper_size_copy other'
+    checkUnexpectedReturnNULL "paperSizeCopy" result
+    result' <- (wrapBoxed PaperSize) result
+    touchManagedPtr other
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeCopyMethodInfo
+instance (signature ~ (m PaperSize), MonadIO m) => O.MethodInfo PaperSizeCopyMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeCopy
+
+#endif
+
+-- method PaperSize::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_free" gtk_paper_size_free :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO ()
+
+{- |
+Free the given 'GI.Gtk.Structs.PaperSize.PaperSize' object.
+
+/Since: 2.10/
+-}
+paperSizeFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' -}
+    -> m ()
+paperSizeFree size = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    gtk_paper_size_free size'
+    touchManagedPtr size
+    return ()
+
+#if ENABLE_OVERLOADING
+data PaperSizeFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo PaperSizeFreeMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeFree
+
+#endif
+
+-- method PaperSize::get_default_bottom_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value, not %GTK_UNIT_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_default_bottom_margin" gtk_paper_size_get_default_bottom_margin :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the default bottom margin for the 'GI.Gtk.Structs.PaperSize.PaperSize'.
+
+/Since: 2.10/
+-}
+paperSizeGetDefaultBottomMargin ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value, not 'GI.Gtk.Enums.UnitNone' -}
+    -> m Double
+    {- ^ __Returns:__ the default bottom margin -}
+paperSizeGetDefaultBottomMargin size unit = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_paper_size_get_default_bottom_margin size' unit'
+    let result' = realToFrac result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeGetDefaultBottomMarginMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m) => O.MethodInfo PaperSizeGetDefaultBottomMarginMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeGetDefaultBottomMargin
+
+#endif
+
+-- method PaperSize::get_default_left_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value, not %GTK_UNIT_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_default_left_margin" gtk_paper_size_get_default_left_margin :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the default left margin for the 'GI.Gtk.Structs.PaperSize.PaperSize'.
+
+/Since: 2.10/
+-}
+paperSizeGetDefaultLeftMargin ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value, not 'GI.Gtk.Enums.UnitNone' -}
+    -> m Double
+    {- ^ __Returns:__ the default left margin -}
+paperSizeGetDefaultLeftMargin size unit = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_paper_size_get_default_left_margin size' unit'
+    let result' = realToFrac result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeGetDefaultLeftMarginMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m) => O.MethodInfo PaperSizeGetDefaultLeftMarginMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeGetDefaultLeftMargin
+
+#endif
+
+-- method PaperSize::get_default_right_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value, not %GTK_UNIT_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_default_right_margin" gtk_paper_size_get_default_right_margin :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the default right margin for the 'GI.Gtk.Structs.PaperSize.PaperSize'.
+
+/Since: 2.10/
+-}
+paperSizeGetDefaultRightMargin ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value, not 'GI.Gtk.Enums.UnitNone' -}
+    -> m Double
+    {- ^ __Returns:__ the default right margin -}
+paperSizeGetDefaultRightMargin size unit = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_paper_size_get_default_right_margin size' unit'
+    let result' = realToFrac result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeGetDefaultRightMarginMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m) => O.MethodInfo PaperSizeGetDefaultRightMarginMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeGetDefaultRightMargin
+
+#endif
+
+-- method PaperSize::get_default_top_margin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value, not %GTK_UNIT_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_default_top_margin" gtk_paper_size_get_default_top_margin :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the default top margin for the 'GI.Gtk.Structs.PaperSize.PaperSize'.
+
+/Since: 2.10/
+-}
+paperSizeGetDefaultTopMargin ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value, not 'GI.Gtk.Enums.UnitNone' -}
+    -> m Double
+    {- ^ __Returns:__ the default top margin -}
+paperSizeGetDefaultTopMargin size unit = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_paper_size_get_default_top_margin size' unit'
+    let result' = realToFrac result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeGetDefaultTopMarginMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m) => O.MethodInfo PaperSizeGetDefaultTopMarginMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeGetDefaultTopMargin
+
+#endif
+
+-- method PaperSize::get_display_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_display_name" gtk_paper_size_get_display_name :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO CString
+
+{- |
+Gets the human-readable name of the 'GI.Gtk.Structs.PaperSize.PaperSize'.
+
+/Since: 2.10/
+-}
+paperSizeGetDisplayName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> m T.Text
+    {- ^ __Returns:__ the human-readable name of /@size@/ -}
+paperSizeGetDisplayName size = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    result <- gtk_paper_size_get_display_name size'
+    checkUnexpectedReturnNULL "paperSizeGetDisplayName" result
+    result' <- cstringToText result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeGetDisplayNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo PaperSizeGetDisplayNameMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeGetDisplayName
+
+#endif
+
+-- method PaperSize::get_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value, not %GTK_UNIT_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_height" gtk_paper_size_get_height :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the paper height of the 'GI.Gtk.Structs.PaperSize.PaperSize', in
+units of /@unit@/.
+
+/Since: 2.10/
+-}
+paperSizeGetHeight ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value, not 'GI.Gtk.Enums.UnitNone' -}
+    -> m Double
+    {- ^ __Returns:__ the paper height -}
+paperSizeGetHeight size unit = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_paper_size_get_height size' unit'
+    let result' = realToFrac result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeGetHeightMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m) => O.MethodInfo PaperSizeGetHeightMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeGetHeight
+
+#endif
+
+-- method PaperSize::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_name" gtk_paper_size_get_name :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO CString
+
+{- |
+Gets the name of the 'GI.Gtk.Structs.PaperSize.PaperSize'.
+
+/Since: 2.10/
+-}
+paperSizeGetName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> m T.Text
+    {- ^ __Returns:__ the name of /@size@/ -}
+paperSizeGetName size = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    result <- gtk_paper_size_get_name size'
+    checkUnexpectedReturnNULL "paperSizeGetName" result
+    result' <- cstringToText result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo PaperSizeGetNameMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeGetName
+
+#endif
+
+-- method PaperSize::get_ppd_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_ppd_name" gtk_paper_size_get_ppd_name :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO CString
+
+{- |
+Gets the PPD name of the 'GI.Gtk.Structs.PaperSize.PaperSize', which
+may be 'Nothing'.
+
+/Since: 2.10/
+-}
+paperSizeGetPpdName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> m T.Text
+    {- ^ __Returns:__ the PPD name of /@size@/ -}
+paperSizeGetPpdName size = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    result <- gtk_paper_size_get_ppd_name size'
+    checkUnexpectedReturnNULL "paperSizeGetPpdName" result
+    result' <- cstringToText result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeGetPpdNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo PaperSizeGetPpdNameMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeGetPpdName
+
+#endif
+
+-- method PaperSize::get_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for the return value, not %GTK_UNIT_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TDouble)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_width" gtk_paper_size_get_width :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO CDouble
+
+{- |
+Gets the paper width of the 'GI.Gtk.Structs.PaperSize.PaperSize', in
+units of /@unit@/.
+
+/Since: 2.10/
+-}
+paperSizeGetWidth ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for the return value, not 'GI.Gtk.Enums.UnitNone' -}
+    -> m Double
+    {- ^ __Returns:__ the paper width -}
+paperSizeGetWidth size unit = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    let unit' = (fromIntegral . fromEnum) unit
+    result <- gtk_paper_size_get_width size' unit'
+    let result' = realToFrac result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeGetWidthMethodInfo
+instance (signature ~ (Gtk.Enums.Unit -> m Double), MonadIO m) => O.MethodInfo PaperSizeGetWidthMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeGetWidth
+
+#endif
+
+-- method PaperSize::is_custom
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_is_custom" gtk_paper_size_is_custom :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO CInt
+
+{- |
+Returns 'True' if /@size@/ is not a standard paper size.
+-}
+paperSizeIsCustom ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@size@/ is a custom paper size. -}
+paperSizeIsCustom size = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    result <- gtk_paper_size_is_custom size'
+    let result' = (/= 0) result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeIsCustomMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo PaperSizeIsCustomMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeIsCustom
+
+#endif
+
+-- method PaperSize::is_equal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size1", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size2", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_is_equal" gtk_paper_size_is_equal :: 
+    Ptr PaperSize ->                        -- size1 : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    Ptr PaperSize ->                        -- size2 : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO CInt
+
+{- |
+Compares two 'GI.Gtk.Structs.PaperSize.PaperSize' objects.
+
+/Since: 2.10/
+-}
+paperSizeIsEqual ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size1@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> PaperSize
+    {- ^ /@size2@/: another 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> m Bool
+    {- ^ __Returns:__ 'True', if /@size1@/ and /@size2@/
+represent the same paper size -}
+paperSizeIsEqual size1 size2 = liftIO $ do
+    size1' <- unsafeManagedPtrGetPtr size1
+    size2' <- unsafeManagedPtrGetPtr size2
+    result <- gtk_paper_size_is_equal size1' size2'
+    let result' = (/= 0) result
+    touchManagedPtr size1
+    touchManagedPtr size2
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeIsEqualMethodInfo
+instance (signature ~ (PaperSize -> m Bool), MonadIO m) => O.MethodInfo PaperSizeIsEqualMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeIsEqual
+
+#endif
+
+-- method PaperSize::is_ipp
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_is_ipp" gtk_paper_size_is_ipp :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO CInt
+
+{- |
+Returns 'True' if /@size@/ is an IPP standard paper size.
+-}
+paperSizeIsIpp ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@size@/ is not an IPP custom paper size. -}
+paperSizeIsIpp size = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    result <- gtk_paper_size_is_ipp size'
+    let result' = (/= 0) result
+    touchManagedPtr size
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeIsIppMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo PaperSizeIsIppMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeIsIpp
+
+#endif
+
+-- method PaperSize::set_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a custom #GtkPaperSize object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new width in units of @unit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new height in units of @unit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unit", argType = TInterface (Name {namespace = "Gtk", name = "Unit"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unit for @width and @height", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_set_size" gtk_paper_size_set_size :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    CDouble ->                              -- width : TBasicType TDouble
+    CDouble ->                              -- height : TBasicType TDouble
+    CUInt ->                                -- unit : TInterface (Name {namespace = "Gtk", name = "Unit"})
+    IO ()
+
+{- |
+Changes the dimensions of a /@size@/ to /@width@/ x /@height@/.
+
+/Since: 2.10/
+-}
+paperSizeSetSize ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a custom 'GI.Gtk.Structs.PaperSize.PaperSize' object -}
+    -> Double
+    {- ^ /@width@/: the new width in units of /@unit@/ -}
+    -> Double
+    {- ^ /@height@/: the new height in units of /@unit@/ -}
+    -> Gtk.Enums.Unit
+    {- ^ /@unit@/: the unit for /@width@/ and /@height@/ -}
+    -> m ()
+paperSizeSetSize size width height unit = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    let width' = realToFrac width
+    let height' = realToFrac height
+    let unit' = (fromIntegral . fromEnum) unit
+    gtk_paper_size_set_size size' width' height' unit'
+    touchManagedPtr size
+    return ()
+
+#if ENABLE_OVERLOADING
+data PaperSizeSetSizeMethodInfo
+instance (signature ~ (Double -> Double -> Gtk.Enums.Unit -> m ()), MonadIO m) => O.MethodInfo PaperSizeSetSizeMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeSetSize
+
+#endif
+
+-- method PaperSize::to_gvariant
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "paper_size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just TVariant
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_to_gvariant" gtk_paper_size_to_gvariant :: 
+    Ptr PaperSize ->                        -- paper_size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    IO (Ptr GVariant)
+
+{- |
+Serialize a paper size to an a{sv} variant.
+
+/Since: 3.22/
+-}
+paperSizeToGvariant ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@paperSize@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' -}
+    -> m GVariant
+    {- ^ __Returns:__ a new, floating, 'GVariant' -}
+paperSizeToGvariant paperSize = liftIO $ do
+    paperSize' <- unsafeManagedPtrGetPtr paperSize
+    result <- gtk_paper_size_to_gvariant paperSize'
+    checkUnexpectedReturnNULL "paperSizeToGvariant" result
+    result' <- B.GVariant.newGVariantFromPtr result
+    touchManagedPtr paperSize
+    return result'
+
+#if ENABLE_OVERLOADING
+data PaperSizeToGvariantMethodInfo
+instance (signature ~ (m GVariant), MonadIO m) => O.MethodInfo PaperSizeToGvariantMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeToGvariant
+
+#endif
+
+-- method PaperSize::to_key_file
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "size", argType = TInterface (Name {namespace = "Gtk", name = "PaperSize"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkPaperSize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GKeyFile to save the paper size to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the group to add the settings to in @key_file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_to_key_file" gtk_paper_size_to_key_file :: 
+    Ptr PaperSize ->                        -- size : TInterface (Name {namespace = "Gtk", name = "PaperSize"})
+    Ptr GLib.KeyFile.KeyFile ->             -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    IO ()
+
+{- |
+This function adds the paper size from /@size@/ to /@keyFile@/.
+
+/Since: 2.12/
+-}
+paperSizeToKeyFile ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    PaperSize
+    {- ^ /@size@/: a 'GI.Gtk.Structs.PaperSize.PaperSize' -}
+    -> GLib.KeyFile.KeyFile
+    {- ^ /@keyFile@/: the 'GI.GLib.Structs.KeyFile.KeyFile' to save the paper size to -}
+    -> T.Text
+    {- ^ /@groupName@/: the group to add the settings to in /@keyFile@/ -}
+    -> m ()
+paperSizeToKeyFile size keyFile groupName = liftIO $ do
+    size' <- unsafeManagedPtrGetPtr size
+    keyFile' <- unsafeManagedPtrGetPtr keyFile
+    groupName' <- textToCString groupName
+    gtk_paper_size_to_key_file size' keyFile' groupName'
+    touchManagedPtr size
+    touchManagedPtr keyFile
+    freeMem groupName'
+    return ()
+
+#if ENABLE_OVERLOADING
+data PaperSizeToKeyFileMethodInfo
+instance (signature ~ (GLib.KeyFile.KeyFile -> T.Text -> m ()), MonadIO m) => O.MethodInfo PaperSizeToKeyFileMethodInfo PaperSize signature where
+    overloadedMethod _ = paperSizeToKeyFile
+
+#endif
+
+-- method PaperSize::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_default" gtk_paper_size_get_default :: 
+    IO CString
+
+{- |
+Returns the name of the default paper size, which
+depends on the current locale.
+
+/Since: 2.10/
+-}
+paperSizeGetDefault ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m T.Text
+    {- ^ __Returns:__ the name of the default paper size. The string
+is owned by GTK+ and should not be modified. -}
+paperSizeGetDefault  = liftIO $ do
+    result <- gtk_paper_size_get_default
+    checkUnexpectedReturnNULL "paperSizeGetDefault" result
+    result' <- cstringToText result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method PaperSize::get_paper_sizes
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "include_custom", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to include custom paper sizes\n    as defined in the page setup dialog", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "PaperSize"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_paper_size_get_paper_sizes" gtk_paper_size_get_paper_sizes :: 
+    CInt ->                                 -- include_custom : TBasicType TBoolean
+    IO (Ptr (GList (Ptr PaperSize)))
+
+{- |
+Creates a list of known paper sizes.
+
+/Since: 2.12/
+-}
+paperSizeGetPaperSizes ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Bool
+    {- ^ /@includeCustom@/: whether to include custom paper sizes
+    as defined in the page setup dialog -}
+    -> m [PaperSize]
+    {- ^ __Returns:__ a newly allocated list of newly
+   allocated 'GI.Gtk.Structs.PaperSize.PaperSize' objects -}
+paperSizeGetPaperSizes includeCustom = liftIO $ do
+    let includeCustom' = (fromIntegral . fromEnum) includeCustom
+    result <- gtk_paper_size_get_paper_sizes includeCustom'
+    result' <- unpackGList result
+    result'' <- mapM (wrapBoxed PaperSize) result'
+    g_list_free result
+    return result''
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolvePaperSizeMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePaperSizeMethod "copy" o = PaperSizeCopyMethodInfo
+    ResolvePaperSizeMethod "free" o = PaperSizeFreeMethodInfo
+    ResolvePaperSizeMethod "isCustom" o = PaperSizeIsCustomMethodInfo
+    ResolvePaperSizeMethod "isEqual" o = PaperSizeIsEqualMethodInfo
+    ResolvePaperSizeMethod "isIpp" o = PaperSizeIsIppMethodInfo
+    ResolvePaperSizeMethod "toGvariant" o = PaperSizeToGvariantMethodInfo
+    ResolvePaperSizeMethod "toKeyFile" o = PaperSizeToKeyFileMethodInfo
+    ResolvePaperSizeMethod "getDefaultBottomMargin" o = PaperSizeGetDefaultBottomMarginMethodInfo
+    ResolvePaperSizeMethod "getDefaultLeftMargin" o = PaperSizeGetDefaultLeftMarginMethodInfo
+    ResolvePaperSizeMethod "getDefaultRightMargin" o = PaperSizeGetDefaultRightMarginMethodInfo
+    ResolvePaperSizeMethod "getDefaultTopMargin" o = PaperSizeGetDefaultTopMarginMethodInfo
+    ResolvePaperSizeMethod "getDisplayName" o = PaperSizeGetDisplayNameMethodInfo
+    ResolvePaperSizeMethod "getHeight" o = PaperSizeGetHeightMethodInfo
+    ResolvePaperSizeMethod "getName" o = PaperSizeGetNameMethodInfo
+    ResolvePaperSizeMethod "getPpdName" o = PaperSizeGetPpdNameMethodInfo
+    ResolvePaperSizeMethod "getWidth" o = PaperSizeGetWidthMethodInfo
+    ResolvePaperSizeMethod "setSize" o = PaperSizeSetSizeMethodInfo
+    ResolvePaperSizeMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolvePaperSizeMethod t PaperSize, O.MethodInfo info PaperSize p) => OL.IsLabel t (PaperSize -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/PaperSize.hs-boot b/GI/Gtk/Structs/PaperSize.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/PaperSize.hs-boot
@@ -0,0 +1,77 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.PaperSize where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype PaperSize = PaperSize (ManagedPtr PaperSize)
+instance BoxedObject PaperSize where
+#if ENABLE_OVERLOADING
+data PaperSizeCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeFreeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeGetDefaultBottomMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeGetDefaultLeftMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeGetDefaultRightMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeGetDefaultTopMarginMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeGetDisplayNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeGetHeightMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeGetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeGetPpdNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeGetWidthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeIsCustomMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeIsEqualMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeIsIppMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeSetSizeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeToGvariantMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data PaperSizeToKeyFileMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/RadioActionEntry.hs b/GI/Gtk/Structs/RadioActionEntry.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RadioActionEntry.hs
@@ -0,0 +1,507 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Structs.RadioActionEntry.RadioActionEntry' structs are used with
+@/gtk_action_group_add_radio_actions()/@ to construct groups of radio actions.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.RadioActionEntry
+    ( 
+
+-- * Exported types
+    RadioActionEntry(..)                    ,
+    newZeroRadioActionEntry                 ,
+    noRadioActionEntry                      ,
+
+
+ -- * Properties
+-- ** accelerator #attr:accelerator#
+{- | The accelerator for the action, in the format understood by
+ 'GI.Gtk.Functions.acceleratorParse'.
+-}
+    clearRadioActionEntryAccelerator        ,
+    getRadioActionEntryAccelerator          ,
+#if ENABLE_OVERLOADING
+    radioActionEntry_accelerator            ,
+#endif
+    setRadioActionEntryAccelerator          ,
+
+
+-- ** label #attr:label#
+{- | The label for the action. This field should typically be marked
+ for translation, see 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslationDomain'.
+-}
+    clearRadioActionEntryLabel              ,
+    getRadioActionEntryLabel                ,
+#if ENABLE_OVERLOADING
+    radioActionEntry_label                  ,
+#endif
+    setRadioActionEntryLabel                ,
+
+
+-- ** name #attr:name#
+{- | The name of the action.
+-}
+    clearRadioActionEntryName               ,
+    getRadioActionEntryName                 ,
+#if ENABLE_OVERLOADING
+    radioActionEntry_name                   ,
+#endif
+    setRadioActionEntryName                 ,
+
+
+-- ** stockId #attr:stockId#
+{- | The stock id for the action, or the name of an icon from the
+ icon theme.
+-}
+    clearRadioActionEntryStockId            ,
+    getRadioActionEntryStockId              ,
+#if ENABLE_OVERLOADING
+    radioActionEntry_stockId                ,
+#endif
+    setRadioActionEntryStockId              ,
+
+
+-- ** tooltip #attr:tooltip#
+{- | The tooltip for the action. This field should typically be
+ marked for translation, see 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslationDomain'.
+-}
+    clearRadioActionEntryTooltip            ,
+    getRadioActionEntryTooltip              ,
+#if ENABLE_OVERLOADING
+    radioActionEntry_tooltip                ,
+#endif
+    setRadioActionEntryTooltip              ,
+
+
+-- ** value #attr:value#
+{- | The value to set on the radio action. See
+ 'GI.Gtk.Objects.RadioAction.radioActionGetCurrentValue'.
+-}
+    getRadioActionEntryValue                ,
+#if ENABLE_OVERLOADING
+    radioActionEntry_value                  ,
+#endif
+    setRadioActionEntryValue                ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype RadioActionEntry = RadioActionEntry (ManagedPtr RadioActionEntry)
+instance WrappedPtr RadioActionEntry where
+    wrappedPtrCalloc = callocBytes 48
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr RadioActionEntry)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `RadioActionEntry` struct initialized to zero.
+newZeroRadioActionEntry :: MonadIO m => m RadioActionEntry
+newZeroRadioActionEntry = liftIO $ wrappedPtrCalloc >>= wrapPtr RadioActionEntry
+
+instance tag ~ 'AttrSet => Constructible RadioActionEntry tag where
+    new _ attrs = do
+        o <- newZeroRadioActionEntry
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RadioActionEntry`.
+noRadioActionEntry :: Maybe RadioActionEntry
+noRadioActionEntry = Nothing
+
+{- |
+Get the value of the “@name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' radioActionEntry #name
+@
+-}
+getRadioActionEntryName :: MonadIO m => RadioActionEntry -> m (Maybe T.Text)
+getRadioActionEntryName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioActionEntry [ #name 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioActionEntryName :: MonadIO m => RadioActionEntry -> CString -> m ()
+setRadioActionEntryName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: CString)
+
+{- |
+Set the value of the “@name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #name
+@
+-}
+clearRadioActionEntryName :: MonadIO m => RadioActionEntry -> m ()
+clearRadioActionEntryName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RadioActionEntryNameFieldInfo
+instance AttrInfo RadioActionEntryNameFieldInfo where
+    type AttrAllowedOps RadioActionEntryNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RadioActionEntryNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RadioActionEntryNameFieldInfo = (~) RadioActionEntry
+    type AttrGetType RadioActionEntryNameFieldInfo = Maybe T.Text
+    type AttrLabel RadioActionEntryNameFieldInfo = "name"
+    type AttrOrigin RadioActionEntryNameFieldInfo = RadioActionEntry
+    attrGet _ = getRadioActionEntryName
+    attrSet _ = setRadioActionEntryName
+    attrConstruct = undefined
+    attrClear _ = clearRadioActionEntryName
+
+radioActionEntry_name :: AttrLabelProxy "name"
+radioActionEntry_name = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@stock_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' radioActionEntry #stockId
+@
+-}
+getRadioActionEntryStockId :: MonadIO m => RadioActionEntry -> m (Maybe T.Text)
+getRadioActionEntryStockId s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@stock_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioActionEntry [ #stockId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioActionEntryStockId :: MonadIO m => RadioActionEntry -> CString -> m ()
+setRadioActionEntryStockId s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@stock_id@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stockId
+@
+-}
+clearRadioActionEntryStockId :: MonadIO m => RadioActionEntry -> m ()
+clearRadioActionEntryStockId s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RadioActionEntryStockIdFieldInfo
+instance AttrInfo RadioActionEntryStockIdFieldInfo where
+    type AttrAllowedOps RadioActionEntryStockIdFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RadioActionEntryStockIdFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RadioActionEntryStockIdFieldInfo = (~) RadioActionEntry
+    type AttrGetType RadioActionEntryStockIdFieldInfo = Maybe T.Text
+    type AttrLabel RadioActionEntryStockIdFieldInfo = "stock_id"
+    type AttrOrigin RadioActionEntryStockIdFieldInfo = RadioActionEntry
+    attrGet _ = getRadioActionEntryStockId
+    attrSet _ = setRadioActionEntryStockId
+    attrConstruct = undefined
+    attrClear _ = clearRadioActionEntryStockId
+
+radioActionEntry_stockId :: AttrLabelProxy "stockId"
+radioActionEntry_stockId = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' radioActionEntry #label
+@
+-}
+getRadioActionEntryLabel :: MonadIO m => RadioActionEntry -> m (Maybe T.Text)
+getRadioActionEntryLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioActionEntry [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioActionEntryLabel :: MonadIO m => RadioActionEntry -> CString -> m ()
+setRadioActionEntryLabel s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: CString)
+
+{- |
+Set the value of the “@label@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #label
+@
+-}
+clearRadioActionEntryLabel :: MonadIO m => RadioActionEntry -> m ()
+clearRadioActionEntryLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RadioActionEntryLabelFieldInfo
+instance AttrInfo RadioActionEntryLabelFieldInfo where
+    type AttrAllowedOps RadioActionEntryLabelFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RadioActionEntryLabelFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RadioActionEntryLabelFieldInfo = (~) RadioActionEntry
+    type AttrGetType RadioActionEntryLabelFieldInfo = Maybe T.Text
+    type AttrLabel RadioActionEntryLabelFieldInfo = "label"
+    type AttrOrigin RadioActionEntryLabelFieldInfo = RadioActionEntry
+    attrGet _ = getRadioActionEntryLabel
+    attrSet _ = setRadioActionEntryLabel
+    attrConstruct = undefined
+    attrClear _ = clearRadioActionEntryLabel
+
+radioActionEntry_label :: AttrLabelProxy "label"
+radioActionEntry_label = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@accelerator@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' radioActionEntry #accelerator
+@
+-}
+getRadioActionEntryAccelerator :: MonadIO m => RadioActionEntry -> m (Maybe T.Text)
+getRadioActionEntryAccelerator s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@accelerator@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioActionEntry [ #accelerator 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioActionEntryAccelerator :: MonadIO m => RadioActionEntry -> CString -> m ()
+setRadioActionEntryAccelerator s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: CString)
+
+{- |
+Set the value of the “@accelerator@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelerator
+@
+-}
+clearRadioActionEntryAccelerator :: MonadIO m => RadioActionEntry -> m ()
+clearRadioActionEntryAccelerator s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RadioActionEntryAcceleratorFieldInfo
+instance AttrInfo RadioActionEntryAcceleratorFieldInfo where
+    type AttrAllowedOps RadioActionEntryAcceleratorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RadioActionEntryAcceleratorFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RadioActionEntryAcceleratorFieldInfo = (~) RadioActionEntry
+    type AttrGetType RadioActionEntryAcceleratorFieldInfo = Maybe T.Text
+    type AttrLabel RadioActionEntryAcceleratorFieldInfo = "accelerator"
+    type AttrOrigin RadioActionEntryAcceleratorFieldInfo = RadioActionEntry
+    attrGet _ = getRadioActionEntryAccelerator
+    attrSet _ = setRadioActionEntryAccelerator
+    attrConstruct = undefined
+    attrClear _ = clearRadioActionEntryAccelerator
+
+radioActionEntry_accelerator :: AttrLabelProxy "accelerator"
+radioActionEntry_accelerator = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@tooltip@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' radioActionEntry #tooltip
+@
+-}
+getRadioActionEntryTooltip :: MonadIO m => RadioActionEntry -> m (Maybe T.Text)
+getRadioActionEntryTooltip s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@tooltip@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioActionEntry [ #tooltip 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioActionEntryTooltip :: MonadIO m => RadioActionEntry -> CString -> m ()
+setRadioActionEntryTooltip s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: CString)
+
+{- |
+Set the value of the “@tooltip@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tooltip
+@
+-}
+clearRadioActionEntryTooltip :: MonadIO m => RadioActionEntry -> m ()
+clearRadioActionEntryTooltip s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RadioActionEntryTooltipFieldInfo
+instance AttrInfo RadioActionEntryTooltipFieldInfo where
+    type AttrAllowedOps RadioActionEntryTooltipFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RadioActionEntryTooltipFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RadioActionEntryTooltipFieldInfo = (~) RadioActionEntry
+    type AttrGetType RadioActionEntryTooltipFieldInfo = Maybe T.Text
+    type AttrLabel RadioActionEntryTooltipFieldInfo = "tooltip"
+    type AttrOrigin RadioActionEntryTooltipFieldInfo = RadioActionEntry
+    attrGet _ = getRadioActionEntryTooltip
+    attrSet _ = setRadioActionEntryTooltip
+    attrConstruct = undefined
+    attrClear _ = clearRadioActionEntryTooltip
+
+radioActionEntry_tooltip :: AttrLabelProxy "tooltip"
+radioActionEntry_tooltip = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@value@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' radioActionEntry #value
+@
+-}
+getRadioActionEntryValue :: MonadIO m => RadioActionEntry -> m Int32
+getRadioActionEntryValue s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@value@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' radioActionEntry [ #value 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRadioActionEntryValue :: MonadIO m => RadioActionEntry -> Int32 -> m ()
+setRadioActionEntryValue s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data RadioActionEntryValueFieldInfo
+instance AttrInfo RadioActionEntryValueFieldInfo where
+    type AttrAllowedOps RadioActionEntryValueFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RadioActionEntryValueFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint RadioActionEntryValueFieldInfo = (~) RadioActionEntry
+    type AttrGetType RadioActionEntryValueFieldInfo = Int32
+    type AttrLabel RadioActionEntryValueFieldInfo = "value"
+    type AttrOrigin RadioActionEntryValueFieldInfo = RadioActionEntry
+    attrGet _ = getRadioActionEntryValue
+    attrSet _ = setRadioActionEntryValue
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+radioActionEntry_value :: AttrLabelProxy "value"
+radioActionEntry_value = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RadioActionEntry
+type instance O.AttributeList RadioActionEntry = RadioActionEntryAttributeList
+type RadioActionEntryAttributeList = ('[ '("name", RadioActionEntryNameFieldInfo), '("stockId", RadioActionEntryStockIdFieldInfo), '("label", RadioActionEntryLabelFieldInfo), '("accelerator", RadioActionEntryAcceleratorFieldInfo), '("tooltip", RadioActionEntryTooltipFieldInfo), '("value", RadioActionEntryValueFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveRadioActionEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRadioActionEntryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRadioActionEntryMethod t RadioActionEntry, O.MethodInfo info RadioActionEntry p) => OL.IsLabel t (RadioActionEntry -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/RadioActionEntry.hs-boot b/GI/Gtk/Structs/RadioActionEntry.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RadioActionEntry.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.RadioActionEntry where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RadioActionEntry = RadioActionEntry (ManagedPtr RadioActionEntry)
+instance WrappedPtr RadioActionEntry where
diff --git a/GI/Gtk/Structs/RcContext.hs b/GI/Gtk/Structs/RcContext.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RcContext.hs
@@ -0,0 +1,77 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.RcContext
+    ( 
+
+-- * Exported types
+    RcContext(..)                           ,
+    noRcContext                             ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype RcContext = RcContext (ManagedPtr RcContext)
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr RcContext where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RcContext`.
+noRcContext :: Maybe RcContext
+noRcContext = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RcContext
+type instance O.AttributeList RcContext = RcContextAttributeList
+type RcContextAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveRcContextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRcContextMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRcContextMethod t RcContext, O.MethodInfo info RcContext p) => OL.IsLabel t (RcContext -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/RcContext.hs-boot b/GI/Gtk/Structs/RcContext.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RcContext.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.RcContext where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RcContext = RcContext (ManagedPtr RcContext)
+instance WrappedPtr RcContext where
diff --git a/GI/Gtk/Structs/RcProperty.hs b/GI/Gtk/Structs/RcProperty.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RcProperty.hs
@@ -0,0 +1,578 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Deprecated
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.RcProperty
+    ( 
+
+-- * Exported types
+    RcProperty(..)                          ,
+    newZeroRcProperty                       ,
+    noRcProperty                            ,
+
+
+ -- * Methods
+-- ** parseBorder #method:parseBorder#
+
+    rcPropertyParseBorder                   ,
+
+
+-- ** parseColor #method:parseColor#
+
+    rcPropertyParseColor                    ,
+
+
+-- ** parseEnum #method:parseEnum#
+
+    rcPropertyParseEnum                     ,
+
+
+-- ** parseFlags #method:parseFlags#
+
+    rcPropertyParseFlags                    ,
+
+
+-- ** parseRequisition #method:parseRequisition#
+
+    rcPropertyParseRequisition              ,
+
+
+
+
+ -- * Properties
+-- ** origin #attr:origin#
+{- | field similar to one found in 'GI.Gtk.Structs.SettingsValue.SettingsValue'
+-}
+    clearRcPropertyOrigin                   ,
+    getRcPropertyOrigin                     ,
+#if ENABLE_OVERLOADING
+    rcProperty_origin                       ,
+#endif
+    setRcPropertyOrigin                     ,
+
+
+-- ** propertyName #attr:propertyName#
+{- | quark-ified property identifier like
+  “GtkScrollbar::spacing”
+-}
+    getRcPropertyPropertyName               ,
+#if ENABLE_OVERLOADING
+    rcProperty_propertyName                 ,
+#endif
+    setRcPropertyPropertyName               ,
+
+
+-- ** typeName #attr:typeName#
+{- | quark-ified type identifier
+-}
+    getRcPropertyTypeName                   ,
+#if ENABLE_OVERLOADING
+    rcProperty_typeName                     ,
+#endif
+    setRcPropertyTypeName                   ,
+
+
+-- ** value #attr:value#
+{- | field similar to one found in 'GI.Gtk.Structs.SettingsValue.SettingsValue'
+-}
+    getRcPropertyValue                      ,
+#if ENABLE_OVERLOADING
+    rcProperty_value                        ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GLib.Structs.String as GLib.String
+
+-- | Memory-managed wrapper type.
+newtype RcProperty = RcProperty (ManagedPtr RcProperty)
+instance WrappedPtr RcProperty where
+    wrappedPtrCalloc = callocBytes 40
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr RcProperty)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `RcProperty` struct initialized to zero.
+newZeroRcProperty :: MonadIO m => m RcProperty
+newZeroRcProperty = liftIO $ wrappedPtrCalloc >>= wrapPtr RcProperty
+
+instance tag ~ 'AttrSet => Constructible RcProperty tag where
+    new _ attrs = do
+        o <- newZeroRcProperty
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RcProperty`.
+noRcProperty :: Maybe RcProperty
+noRcProperty = Nothing
+
+{- |
+Get the value of the “@type_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' rcProperty #typeName
+@
+-}
+getRcPropertyTypeName :: MonadIO m => RcProperty -> m Word32
+getRcPropertyTypeName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@type_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' rcProperty [ #typeName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRcPropertyTypeName :: MonadIO m => RcProperty -> Word32 -> m ()
+setRcPropertyTypeName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data RcPropertyTypeNameFieldInfo
+instance AttrInfo RcPropertyTypeNameFieldInfo where
+    type AttrAllowedOps RcPropertyTypeNameFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RcPropertyTypeNameFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint RcPropertyTypeNameFieldInfo = (~) RcProperty
+    type AttrGetType RcPropertyTypeNameFieldInfo = Word32
+    type AttrLabel RcPropertyTypeNameFieldInfo = "type_name"
+    type AttrOrigin RcPropertyTypeNameFieldInfo = RcProperty
+    attrGet _ = getRcPropertyTypeName
+    attrSet _ = setRcPropertyTypeName
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+rcProperty_typeName :: AttrLabelProxy "typeName"
+rcProperty_typeName = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@property_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' rcProperty #propertyName
+@
+-}
+getRcPropertyPropertyName :: MonadIO m => RcProperty -> m Word32
+getRcPropertyPropertyName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@property_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' rcProperty [ #propertyName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRcPropertyPropertyName :: MonadIO m => RcProperty -> Word32 -> m ()
+setRcPropertyPropertyName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 4) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data RcPropertyPropertyNameFieldInfo
+instance AttrInfo RcPropertyPropertyNameFieldInfo where
+    type AttrAllowedOps RcPropertyPropertyNameFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RcPropertyPropertyNameFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint RcPropertyPropertyNameFieldInfo = (~) RcProperty
+    type AttrGetType RcPropertyPropertyNameFieldInfo = Word32
+    type AttrLabel RcPropertyPropertyNameFieldInfo = "property_name"
+    type AttrOrigin RcPropertyPropertyNameFieldInfo = RcProperty
+    attrGet _ = getRcPropertyPropertyName
+    attrSet _ = setRcPropertyPropertyName
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+rcProperty_propertyName :: AttrLabelProxy "propertyName"
+rcProperty_propertyName = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@origin@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' rcProperty #origin
+@
+-}
+getRcPropertyOrigin :: MonadIO m => RcProperty -> m (Maybe T.Text)
+getRcPropertyOrigin s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@origin@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' rcProperty [ #origin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRcPropertyOrigin :: MonadIO m => RcProperty -> CString -> m ()
+setRcPropertyOrigin s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@origin@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #origin
+@
+-}
+clearRcPropertyOrigin :: MonadIO m => RcProperty -> m ()
+clearRcPropertyOrigin s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RcPropertyOriginFieldInfo
+instance AttrInfo RcPropertyOriginFieldInfo where
+    type AttrAllowedOps RcPropertyOriginFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RcPropertyOriginFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RcPropertyOriginFieldInfo = (~) RcProperty
+    type AttrGetType RcPropertyOriginFieldInfo = Maybe T.Text
+    type AttrLabel RcPropertyOriginFieldInfo = "origin"
+    type AttrOrigin RcPropertyOriginFieldInfo = RcProperty
+    attrGet _ = getRcPropertyOrigin
+    attrSet _ = setRcPropertyOrigin
+    attrConstruct = undefined
+    attrClear _ = clearRcPropertyOrigin
+
+rcProperty_origin :: AttrLabelProxy "origin"
+rcProperty_origin = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@value@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' rcProperty #value
+@
+-}
+getRcPropertyValue :: MonadIO m => RcProperty -> m GValue
+getRcPropertyValue s = liftIO $ withManagedPtr s $ \ptr -> do
+    let val = ptr `plusPtr` 16 :: (Ptr GValue)
+    val' <- (newBoxed GValue) val
+    return val'
+
+#if ENABLE_OVERLOADING
+data RcPropertyValueFieldInfo
+instance AttrInfo RcPropertyValueFieldInfo where
+    type AttrAllowedOps RcPropertyValueFieldInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint RcPropertyValueFieldInfo = (~) (Ptr GValue)
+    type AttrBaseTypeConstraint RcPropertyValueFieldInfo = (~) RcProperty
+    type AttrGetType RcPropertyValueFieldInfo = GValue
+    type AttrLabel RcPropertyValueFieldInfo = "value"
+    type AttrOrigin RcPropertyValueFieldInfo = RcProperty
+    attrGet _ = getRcPropertyValue
+    attrSet _ = undefined
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+rcProperty_value :: AttrLabelProxy "value"
+rcProperty_value = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RcProperty
+type instance O.AttributeList RcProperty = RcPropertyAttributeList
+type RcPropertyAttributeList = ('[ '("typeName", RcPropertyTypeNameFieldInfo), '("propertyName", RcPropertyPropertyNameFieldInfo), '("origin", RcPropertyOriginFieldInfo), '("value", RcPropertyValueFieldInfo)] :: [(Symbol, *)])
+#endif
+
+-- method RcProperty::parse_border
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gstring", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GString to be parsed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue which must hold boxed values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_property_parse_border" gtk_rc_property_parse_border :: 
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    Ptr GLib.String.String ->               -- gstring : TInterface (Name {namespace = "GLib", name = "String"})
+    Ptr GValue ->                           -- property_value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO CInt
+
+{- |
+A 'GI.Gtk.Callbacks.RcPropertyParser' for use with 'GI.Gtk.Objects.Settings.settingsInstallPropertyParser'
+or @/gtk_widget_class_install_style_property_parser()/@ which parses
+borders in the form
+@\"{ left, right, top, bottom }\"@ for integers
+left, right, top and bottom.
+-}
+rcPropertyParseBorder ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GParamSpec
+    {- ^ /@pspec@/: a 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
+    -> GLib.String.String
+    {- ^ /@gstring@/: the 'GI.GLib.Structs.String.String' to be parsed -}
+    -> GValue
+    {- ^ /@propertyValue@/: a 'GI.GObject.Structs.Value.Value' which must hold boxed values. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@gstring@/ could be parsed and /@propertyValue@/
+has been set to the resulting 'GI.Gtk.Structs.Border.Border'. -}
+rcPropertyParseBorder pspec gstring propertyValue = liftIO $ do
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    gstring' <- unsafeManagedPtrGetPtr gstring
+    propertyValue' <- unsafeManagedPtrGetPtr propertyValue
+    result <- gtk_rc_property_parse_border pspec' gstring' propertyValue'
+    let result' = (/= 0) result
+    touchManagedPtr pspec
+    touchManagedPtr gstring
+    touchManagedPtr propertyValue
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RcProperty::parse_color
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gstring", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GString to be parsed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue which must hold #GdkColor values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_property_parse_color" gtk_rc_property_parse_color :: 
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    Ptr GLib.String.String ->               -- gstring : TInterface (Name {namespace = "GLib", name = "String"})
+    Ptr GValue ->                           -- property_value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO CInt
+
+{- |
+A 'GI.Gtk.Callbacks.RcPropertyParser' for use with 'GI.Gtk.Objects.Settings.settingsInstallPropertyParser'
+or @/gtk_widget_class_install_style_property_parser()/@ which parses a
+color given either by its name or in the form
+@{ red, green, blue }@ where red, green and
+blue are integers between 0 and 65535 or floating-point numbers
+between 0 and 1.
+-}
+rcPropertyParseColor ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GParamSpec
+    {- ^ /@pspec@/: a 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
+    -> GLib.String.String
+    {- ^ /@gstring@/: the 'GI.GLib.Structs.String.String' to be parsed -}
+    -> GValue
+    {- ^ /@propertyValue@/: a 'GI.GObject.Structs.Value.Value' which must hold 'GI.Gdk.Structs.Color.Color' values. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@gstring@/ could be parsed and /@propertyValue@/
+has been set to the resulting 'GI.Gdk.Structs.Color.Color'. -}
+rcPropertyParseColor pspec gstring propertyValue = liftIO $ do
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    gstring' <- unsafeManagedPtrGetPtr gstring
+    propertyValue' <- unsafeManagedPtrGetPtr propertyValue
+    result <- gtk_rc_property_parse_color pspec' gstring' propertyValue'
+    let result' = (/= 0) result
+    touchManagedPtr pspec
+    touchManagedPtr gstring
+    touchManagedPtr propertyValue
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RcProperty::parse_enum
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gstring", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GString to be parsed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue which must hold enum values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_property_parse_enum" gtk_rc_property_parse_enum :: 
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    Ptr GLib.String.String ->               -- gstring : TInterface (Name {namespace = "GLib", name = "String"})
+    Ptr GValue ->                           -- property_value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO CInt
+
+{- |
+A 'GI.Gtk.Callbacks.RcPropertyParser' for use with 'GI.Gtk.Objects.Settings.settingsInstallPropertyParser'
+or @/gtk_widget_class_install_style_property_parser()/@ which parses a single
+enumeration value.
+
+The enumeration value can be specified by its name, its nickname or
+its numeric value. For consistency with flags parsing, the value
+may be surrounded by parentheses.
+-}
+rcPropertyParseEnum ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GParamSpec
+    {- ^ /@pspec@/: a 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
+    -> GLib.String.String
+    {- ^ /@gstring@/: the 'GI.GLib.Structs.String.String' to be parsed -}
+    -> GValue
+    {- ^ /@propertyValue@/: a 'GI.GObject.Structs.Value.Value' which must hold enum values. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@gstring@/ could be parsed and /@propertyValue@/
+has been set to the resulting 'GI.GObject.Structs.EnumValue.EnumValue'. -}
+rcPropertyParseEnum pspec gstring propertyValue = liftIO $ do
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    gstring' <- unsafeManagedPtrGetPtr gstring
+    propertyValue' <- unsafeManagedPtrGetPtr propertyValue
+    result <- gtk_rc_property_parse_enum pspec' gstring' propertyValue'
+    let result' = (/= 0) result
+    touchManagedPtr pspec
+    touchManagedPtr gstring
+    touchManagedPtr propertyValue
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RcProperty::parse_flags
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gstring", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GString to be parsed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue which must hold flags values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_property_parse_flags" gtk_rc_property_parse_flags :: 
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    Ptr GLib.String.String ->               -- gstring : TInterface (Name {namespace = "GLib", name = "String"})
+    Ptr GValue ->                           -- property_value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO CInt
+
+{- |
+A 'GI.Gtk.Callbacks.RcPropertyParser' for use with 'GI.Gtk.Objects.Settings.settingsInstallPropertyParser'
+or @/gtk_widget_class_install_style_property_parser()/@ which parses flags.
+
+Flags can be specified by their name, their nickname or
+numerically. Multiple flags can be specified in the form
+@\"( flag1 | flag2 | ... )\"@.
+-}
+rcPropertyParseFlags ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GParamSpec
+    {- ^ /@pspec@/: a 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
+    -> GLib.String.String
+    {- ^ /@gstring@/: the 'GI.GLib.Structs.String.String' to be parsed -}
+    -> GValue
+    {- ^ /@propertyValue@/: a 'GI.GObject.Structs.Value.Value' which must hold flags values. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@gstring@/ could be parsed and /@propertyValue@/
+has been set to the resulting flags value. -}
+rcPropertyParseFlags pspec gstring propertyValue = liftIO $ do
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    gstring' <- unsafeManagedPtrGetPtr gstring
+    propertyValue' <- unsafeManagedPtrGetPtr propertyValue
+    result <- gtk_rc_property_parse_flags pspec' gstring' propertyValue'
+    let result' = (/= 0) result
+    touchManagedPtr pspec
+    touchManagedPtr gstring
+    touchManagedPtr propertyValue
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method RcProperty::parse_requisition
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gstring", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GString to be parsed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue which must hold boxed values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_rc_property_parse_requisition" gtk_rc_property_parse_requisition :: 
+    Ptr GParamSpec ->                       -- pspec : TParamSpec
+    Ptr GLib.String.String ->               -- gstring : TInterface (Name {namespace = "GLib", name = "String"})
+    Ptr GValue ->                           -- property_value : TInterface (Name {namespace = "GObject", name = "Value"})
+    IO CInt
+
+{- |
+A 'GI.Gtk.Callbacks.RcPropertyParser' for use with 'GI.Gtk.Objects.Settings.settingsInstallPropertyParser'
+or @/gtk_widget_class_install_style_property_parser()/@ which parses a
+requisition in the form
+@\"{ width, height }\"@ for integers @/width/@ and @/height/@.
+-}
+rcPropertyParseRequisition ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    GParamSpec
+    {- ^ /@pspec@/: a 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
+    -> GLib.String.String
+    {- ^ /@gstring@/: the 'GI.GLib.Structs.String.String' to be parsed -}
+    -> GValue
+    {- ^ /@propertyValue@/: a 'GI.GObject.Structs.Value.Value' which must hold boxed values. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@gstring@/ could be parsed and /@propertyValue@/
+has been set to the resulting 'GI.Gtk.Structs.Requisition.Requisition'. -}
+rcPropertyParseRequisition pspec gstring propertyValue = liftIO $ do
+    pspec' <- unsafeManagedPtrGetPtr pspec
+    gstring' <- unsafeManagedPtrGetPtr gstring
+    propertyValue' <- unsafeManagedPtrGetPtr propertyValue
+    result <- gtk_rc_property_parse_requisition pspec' gstring' propertyValue'
+    let result' = (/= 0) result
+    touchManagedPtr pspec
+    touchManagedPtr gstring
+    touchManagedPtr propertyValue
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveRcPropertyMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRcPropertyMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRcPropertyMethod t RcProperty, O.MethodInfo info RcProperty p) => OL.IsLabel t (RcProperty -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/RcProperty.hs-boot b/GI/Gtk/Structs/RcProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RcProperty.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.RcProperty where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RcProperty = RcProperty (ManagedPtr RcProperty)
+instance WrappedPtr RcProperty where
diff --git a/GI/Gtk/Structs/RecentData.hs b/GI/Gtk/Structs/RecentData.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RecentData.hs
@@ -0,0 +1,583 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Meta-data to be passed to 'GI.Gtk.Objects.RecentManager.recentManagerAddFull' when
+registering a recently used resource.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.RecentData
+    ( 
+
+-- * Exported types
+    RecentData(..)                          ,
+    newZeroRecentData                       ,
+    noRecentData                            ,
+
+
+ -- * Properties
+-- ** appExec #attr:appExec#
+{- | command line used to launch this resource; may contain the
+  “%f” and “%u” escape characters which will be expanded
+  to the resource file path and URI respectively when the command line
+  is retrieved;
+-}
+    clearRecentDataAppExec                  ,
+    getRecentDataAppExec                    ,
+#if ENABLE_OVERLOADING
+    recentData_appExec                      ,
+#endif
+    setRecentDataAppExec                    ,
+
+
+-- ** appName #attr:appName#
+{- | the name of the application that is registering this recently
+  used resource;
+-}
+    clearRecentDataAppName                  ,
+    getRecentDataAppName                    ,
+#if ENABLE_OVERLOADING
+    recentData_appName                      ,
+#endif
+    setRecentDataAppName                    ,
+
+
+-- ** description #attr:description#
+{- | a UTF-8 encoded string, containing a short description of
+  the resource, or 'Nothing';
+-}
+    clearRecentDataDescription              ,
+    getRecentDataDescription                ,
+#if ENABLE_OVERLOADING
+    recentData_description                  ,
+#endif
+    setRecentDataDescription                ,
+
+
+-- ** displayName #attr:displayName#
+{- | a UTF-8 encoded string, containing the name of the recently
+  used resource to be displayed, or 'Nothing';
+-}
+    clearRecentDataDisplayName              ,
+    getRecentDataDisplayName                ,
+#if ENABLE_OVERLOADING
+    recentData_displayName                  ,
+#endif
+    setRecentDataDisplayName                ,
+
+
+-- ** groups #attr:groups#
+{- | a vector of strings containing
+  groups names;
+-}
+    clearRecentDataGroups                   ,
+    getRecentDataGroups                     ,
+#if ENABLE_OVERLOADING
+    recentData_groups                       ,
+#endif
+    setRecentDataGroups                     ,
+
+
+-- ** isPrivate #attr:isPrivate#
+{- | whether this resource should be displayed only by the
+  applications that have registered it or not.
+-}
+    getRecentDataIsPrivate                  ,
+#if ENABLE_OVERLOADING
+    recentData_isPrivate                    ,
+#endif
+    setRecentDataIsPrivate                  ,
+
+
+-- ** mimeType #attr:mimeType#
+{- | the MIME type of the resource;
+-}
+    clearRecentDataMimeType                 ,
+    getRecentDataMimeType                   ,
+#if ENABLE_OVERLOADING
+    recentData_mimeType                     ,
+#endif
+    setRecentDataMimeType                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype RecentData = RecentData (ManagedPtr RecentData)
+instance WrappedPtr RecentData where
+    wrappedPtrCalloc = callocBytes 56
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr RecentData)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `RecentData` struct initialized to zero.
+newZeroRecentData :: MonadIO m => m RecentData
+newZeroRecentData = liftIO $ wrappedPtrCalloc >>= wrapPtr RecentData
+
+instance tag ~ 'AttrSet => Constructible RecentData tag where
+    new _ attrs = do
+        o <- newZeroRecentData
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentData`.
+noRecentData :: Maybe RecentData
+noRecentData = Nothing
+
+{- |
+Get the value of the “@display_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentData #displayName
+@
+-}
+getRecentDataDisplayName :: MonadIO m => RecentData -> m (Maybe T.Text)
+getRecentDataDisplayName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@display_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentData [ #displayName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentDataDisplayName :: MonadIO m => RecentData -> CString -> m ()
+setRecentDataDisplayName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: CString)
+
+{- |
+Set the value of the “@display_name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #displayName
+@
+-}
+clearRecentDataDisplayName :: MonadIO m => RecentData -> m ()
+clearRecentDataDisplayName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RecentDataDisplayNameFieldInfo
+instance AttrInfo RecentDataDisplayNameFieldInfo where
+    type AttrAllowedOps RecentDataDisplayNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentDataDisplayNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RecentDataDisplayNameFieldInfo = (~) RecentData
+    type AttrGetType RecentDataDisplayNameFieldInfo = Maybe T.Text
+    type AttrLabel RecentDataDisplayNameFieldInfo = "display_name"
+    type AttrOrigin RecentDataDisplayNameFieldInfo = RecentData
+    attrGet _ = getRecentDataDisplayName
+    attrSet _ = setRecentDataDisplayName
+    attrConstruct = undefined
+    attrClear _ = clearRecentDataDisplayName
+
+recentData_displayName :: AttrLabelProxy "displayName"
+recentData_displayName = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@description@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentData #description
+@
+-}
+getRecentDataDescription :: MonadIO m => RecentData -> m (Maybe T.Text)
+getRecentDataDescription s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@description@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentData [ #description 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentDataDescription :: MonadIO m => RecentData -> CString -> m ()
+setRecentDataDescription s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@description@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #description
+@
+-}
+clearRecentDataDescription :: MonadIO m => RecentData -> m ()
+clearRecentDataDescription s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RecentDataDescriptionFieldInfo
+instance AttrInfo RecentDataDescriptionFieldInfo where
+    type AttrAllowedOps RecentDataDescriptionFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentDataDescriptionFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RecentDataDescriptionFieldInfo = (~) RecentData
+    type AttrGetType RecentDataDescriptionFieldInfo = Maybe T.Text
+    type AttrLabel RecentDataDescriptionFieldInfo = "description"
+    type AttrOrigin RecentDataDescriptionFieldInfo = RecentData
+    attrGet _ = getRecentDataDescription
+    attrSet _ = setRecentDataDescription
+    attrConstruct = undefined
+    attrClear _ = clearRecentDataDescription
+
+recentData_description :: AttrLabelProxy "description"
+recentData_description = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@mime_type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentData #mimeType
+@
+-}
+getRecentDataMimeType :: MonadIO m => RecentData -> m (Maybe T.Text)
+getRecentDataMimeType s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@mime_type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentData [ #mimeType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentDataMimeType :: MonadIO m => RecentData -> CString -> m ()
+setRecentDataMimeType s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: CString)
+
+{- |
+Set the value of the “@mime_type@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #mimeType
+@
+-}
+clearRecentDataMimeType :: MonadIO m => RecentData -> m ()
+clearRecentDataMimeType s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RecentDataMimeTypeFieldInfo
+instance AttrInfo RecentDataMimeTypeFieldInfo where
+    type AttrAllowedOps RecentDataMimeTypeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentDataMimeTypeFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RecentDataMimeTypeFieldInfo = (~) RecentData
+    type AttrGetType RecentDataMimeTypeFieldInfo = Maybe T.Text
+    type AttrLabel RecentDataMimeTypeFieldInfo = "mime_type"
+    type AttrOrigin RecentDataMimeTypeFieldInfo = RecentData
+    attrGet _ = getRecentDataMimeType
+    attrSet _ = setRecentDataMimeType
+    attrConstruct = undefined
+    attrClear _ = clearRecentDataMimeType
+
+recentData_mimeType :: AttrLabelProxy "mimeType"
+recentData_mimeType = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@app_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentData #appName
+@
+-}
+getRecentDataAppName :: MonadIO m => RecentData -> m (Maybe T.Text)
+getRecentDataAppName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@app_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentData [ #appName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentDataAppName :: MonadIO m => RecentData -> CString -> m ()
+setRecentDataAppName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: CString)
+
+{- |
+Set the value of the “@app_name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #appName
+@
+-}
+clearRecentDataAppName :: MonadIO m => RecentData -> m ()
+clearRecentDataAppName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RecentDataAppNameFieldInfo
+instance AttrInfo RecentDataAppNameFieldInfo where
+    type AttrAllowedOps RecentDataAppNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentDataAppNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RecentDataAppNameFieldInfo = (~) RecentData
+    type AttrGetType RecentDataAppNameFieldInfo = Maybe T.Text
+    type AttrLabel RecentDataAppNameFieldInfo = "app_name"
+    type AttrOrigin RecentDataAppNameFieldInfo = RecentData
+    attrGet _ = getRecentDataAppName
+    attrSet _ = setRecentDataAppName
+    attrConstruct = undefined
+    attrClear _ = clearRecentDataAppName
+
+recentData_appName :: AttrLabelProxy "appName"
+recentData_appName = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@app_exec@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentData #appExec
+@
+-}
+getRecentDataAppExec :: MonadIO m => RecentData -> m (Maybe T.Text)
+getRecentDataAppExec s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@app_exec@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentData [ #appExec 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentDataAppExec :: MonadIO m => RecentData -> CString -> m ()
+setRecentDataAppExec s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: CString)
+
+{- |
+Set the value of the “@app_exec@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #appExec
+@
+-}
+clearRecentDataAppExec :: MonadIO m => RecentData -> m ()
+clearRecentDataAppExec s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RecentDataAppExecFieldInfo
+instance AttrInfo RecentDataAppExecFieldInfo where
+    type AttrAllowedOps RecentDataAppExecFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentDataAppExecFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RecentDataAppExecFieldInfo = (~) RecentData
+    type AttrGetType RecentDataAppExecFieldInfo = Maybe T.Text
+    type AttrLabel RecentDataAppExecFieldInfo = "app_exec"
+    type AttrOrigin RecentDataAppExecFieldInfo = RecentData
+    attrGet _ = getRecentDataAppExec
+    attrSet _ = setRecentDataAppExec
+    attrConstruct = undefined
+    attrClear _ = clearRecentDataAppExec
+
+recentData_appExec :: AttrLabelProxy "appExec"
+recentData_appExec = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@groups@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentData #groups
+@
+-}
+getRecentDataGroups :: MonadIO m => RecentData -> m (Maybe [T.Text])
+getRecentDataGroups s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr CString)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- unpackZeroTerminatedUTF8CArray val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@groups@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentData [ #groups 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentDataGroups :: MonadIO m => RecentData -> Ptr CString -> m ()
+setRecentDataGroups s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (val :: Ptr CString)
+
+{- |
+Set the value of the “@groups@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #groups
+@
+-}
+clearRecentDataGroups :: MonadIO m => RecentData -> m ()
+clearRecentDataGroups s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (FP.nullPtr :: Ptr CString)
+
+#if ENABLE_OVERLOADING
+data RecentDataGroupsFieldInfo
+instance AttrInfo RecentDataGroupsFieldInfo where
+    type AttrAllowedOps RecentDataGroupsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentDataGroupsFieldInfo = (~) (Ptr CString)
+    type AttrBaseTypeConstraint RecentDataGroupsFieldInfo = (~) RecentData
+    type AttrGetType RecentDataGroupsFieldInfo = Maybe [T.Text]
+    type AttrLabel RecentDataGroupsFieldInfo = "groups"
+    type AttrOrigin RecentDataGroupsFieldInfo = RecentData
+    attrGet _ = getRecentDataGroups
+    attrSet _ = setRecentDataGroups
+    attrConstruct = undefined
+    attrClear _ = clearRecentDataGroups
+
+recentData_groups :: AttrLabelProxy "groups"
+recentData_groups = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@is_private@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentData #isPrivate
+@
+-}
+getRecentDataIsPrivate :: MonadIO m => RecentData -> m Bool
+getRecentDataIsPrivate s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO CInt
+    let val' = (/= 0) val
+    return val'
+
+{- |
+Set the value of the “@is_private@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentData [ #isPrivate 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentDataIsPrivate :: MonadIO m => RecentData -> Bool -> m ()
+setRecentDataIsPrivate s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = (fromIntegral . fromEnum) val
+    poke (ptr `plusPtr` 48) (val' :: CInt)
+
+#if ENABLE_OVERLOADING
+data RecentDataIsPrivateFieldInfo
+instance AttrInfo RecentDataIsPrivateFieldInfo where
+    type AttrAllowedOps RecentDataIsPrivateFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RecentDataIsPrivateFieldInfo = (~) Bool
+    type AttrBaseTypeConstraint RecentDataIsPrivateFieldInfo = (~) RecentData
+    type AttrGetType RecentDataIsPrivateFieldInfo = Bool
+    type AttrLabel RecentDataIsPrivateFieldInfo = "is_private"
+    type AttrOrigin RecentDataIsPrivateFieldInfo = RecentData
+    attrGet _ = getRecentDataIsPrivate
+    attrSet _ = setRecentDataIsPrivate
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+recentData_isPrivate :: AttrLabelProxy "isPrivate"
+recentData_isPrivate = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentData
+type instance O.AttributeList RecentData = RecentDataAttributeList
+type RecentDataAttributeList = ('[ '("displayName", RecentDataDisplayNameFieldInfo), '("description", RecentDataDescriptionFieldInfo), '("mimeType", RecentDataMimeTypeFieldInfo), '("appName", RecentDataAppNameFieldInfo), '("appExec", RecentDataAppExecFieldInfo), '("groups", RecentDataGroupsFieldInfo), '("isPrivate", RecentDataIsPrivateFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentDataMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentDataMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentDataMethod t RecentData, O.MethodInfo info RecentData p) => OL.IsLabel t (RecentData -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/RecentData.hs-boot b/GI/Gtk/Structs/RecentData.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RecentData.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.RecentData where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentData = RecentData (ManagedPtr RecentData)
+instance WrappedPtr RecentData where
diff --git a/GI/Gtk/Structs/RecentFilterInfo.hs b/GI/Gtk/Structs/RecentFilterInfo.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RecentFilterInfo.hs
@@ -0,0 +1,564 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkRecentFilterInfo struct is used
+to pass information about the tested file to 'GI.Gtk.Objects.RecentFilter.recentFilterFilter'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.RecentFilterInfo
+    ( 
+
+-- * Exported types
+    RecentFilterInfo(..)                    ,
+    newZeroRecentFilterInfo                 ,
+    noRecentFilterInfo                      ,
+
+
+ -- * Properties
+-- ** age #attr:age#
+{- | The number of days elapsed since the file has been
+   registered.
+-}
+    getRecentFilterInfoAge                  ,
+#if ENABLE_OVERLOADING
+    recentFilterInfo_age                    ,
+#endif
+    setRecentFilterInfoAge                  ,
+
+
+-- ** applications #attr:applications#
+{- | The list of
+   applications that have registered the file.
+-}
+    clearRecentFilterInfoApplications       ,
+    getRecentFilterInfoApplications         ,
+#if ENABLE_OVERLOADING
+    recentFilterInfo_applications           ,
+#endif
+    setRecentFilterInfoApplications         ,
+
+
+-- ** contains #attr:contains#
+{- | 'GI.Gtk.Flags.RecentFilterFlags' to indicate which fields are set.
+-}
+    getRecentFilterInfoContains             ,
+#if ENABLE_OVERLOADING
+    recentFilterInfo_contains               ,
+#endif
+    setRecentFilterInfoContains             ,
+
+
+-- ** displayName #attr:displayName#
+{- | The string that will be used to display
+   the file in the recent chooser.
+-}
+    clearRecentFilterInfoDisplayName        ,
+    getRecentFilterInfoDisplayName          ,
+#if ENABLE_OVERLOADING
+    recentFilterInfo_displayName            ,
+#endif
+    setRecentFilterInfoDisplayName          ,
+
+
+-- ** groups #attr:groups#
+{- | The groups to which
+   the file belongs to.
+-}
+    clearRecentFilterInfoGroups             ,
+    getRecentFilterInfoGroups               ,
+#if ENABLE_OVERLOADING
+    recentFilterInfo_groups                 ,
+#endif
+    setRecentFilterInfoGroups               ,
+
+
+-- ** mimeType #attr:mimeType#
+{- | MIME type of the file.
+-}
+    clearRecentFilterInfoMimeType           ,
+    getRecentFilterInfoMimeType             ,
+#if ENABLE_OVERLOADING
+    recentFilterInfo_mimeType               ,
+#endif
+    setRecentFilterInfoMimeType             ,
+
+
+-- ** uri #attr:uri#
+{- | The URI of the file being tested.
+-}
+    clearRecentFilterInfoUri                ,
+    getRecentFilterInfoUri                  ,
+#if ENABLE_OVERLOADING
+    recentFilterInfo_uri                    ,
+#endif
+    setRecentFilterInfoUri                  ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+
+-- | Memory-managed wrapper type.
+newtype RecentFilterInfo = RecentFilterInfo (ManagedPtr RecentFilterInfo)
+instance WrappedPtr RecentFilterInfo where
+    wrappedPtrCalloc = callocBytes 56
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr RecentFilterInfo)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `RecentFilterInfo` struct initialized to zero.
+newZeroRecentFilterInfo :: MonadIO m => m RecentFilterInfo
+newZeroRecentFilterInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr RecentFilterInfo
+
+instance tag ~ 'AttrSet => Constructible RecentFilterInfo tag where
+    new _ attrs = do
+        o <- newZeroRecentFilterInfo
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentFilterInfo`.
+noRecentFilterInfo :: Maybe RecentFilterInfo
+noRecentFilterInfo = Nothing
+
+{- |
+Get the value of the “@contains@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentFilterInfo #contains
+@
+-}
+getRecentFilterInfoContains :: MonadIO m => RecentFilterInfo -> m [Gtk.Flags.RecentFilterFlags]
+getRecentFilterInfoContains s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+{- |
+Set the value of the “@contains@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentFilterInfo [ #contains 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentFilterInfoContains :: MonadIO m => RecentFilterInfo -> [Gtk.Flags.RecentFilterFlags] -> m ()
+setRecentFilterInfoContains s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = gflagsToWord val
+    poke (ptr `plusPtr` 0) (val' :: CUInt)
+
+#if ENABLE_OVERLOADING
+data RecentFilterInfoContainsFieldInfo
+instance AttrInfo RecentFilterInfoContainsFieldInfo where
+    type AttrAllowedOps RecentFilterInfoContainsFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RecentFilterInfoContainsFieldInfo = (~) [Gtk.Flags.RecentFilterFlags]
+    type AttrBaseTypeConstraint RecentFilterInfoContainsFieldInfo = (~) RecentFilterInfo
+    type AttrGetType RecentFilterInfoContainsFieldInfo = [Gtk.Flags.RecentFilterFlags]
+    type AttrLabel RecentFilterInfoContainsFieldInfo = "contains"
+    type AttrOrigin RecentFilterInfoContainsFieldInfo = RecentFilterInfo
+    attrGet _ = getRecentFilterInfoContains
+    attrSet _ = setRecentFilterInfoContains
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+recentFilterInfo_contains :: AttrLabelProxy "contains"
+recentFilterInfo_contains = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@uri@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentFilterInfo #uri
+@
+-}
+getRecentFilterInfoUri :: MonadIO m => RecentFilterInfo -> m (Maybe T.Text)
+getRecentFilterInfoUri s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@uri@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentFilterInfo [ #uri 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentFilterInfoUri :: MonadIO m => RecentFilterInfo -> CString -> m ()
+setRecentFilterInfoUri s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@uri@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #uri
+@
+-}
+clearRecentFilterInfoUri :: MonadIO m => RecentFilterInfo -> m ()
+clearRecentFilterInfoUri s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RecentFilterInfoUriFieldInfo
+instance AttrInfo RecentFilterInfoUriFieldInfo where
+    type AttrAllowedOps RecentFilterInfoUriFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentFilterInfoUriFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RecentFilterInfoUriFieldInfo = (~) RecentFilterInfo
+    type AttrGetType RecentFilterInfoUriFieldInfo = Maybe T.Text
+    type AttrLabel RecentFilterInfoUriFieldInfo = "uri"
+    type AttrOrigin RecentFilterInfoUriFieldInfo = RecentFilterInfo
+    attrGet _ = getRecentFilterInfoUri
+    attrSet _ = setRecentFilterInfoUri
+    attrConstruct = undefined
+    attrClear _ = clearRecentFilterInfoUri
+
+recentFilterInfo_uri :: AttrLabelProxy "uri"
+recentFilterInfo_uri = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@display_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentFilterInfo #displayName
+@
+-}
+getRecentFilterInfoDisplayName :: MonadIO m => RecentFilterInfo -> m (Maybe T.Text)
+getRecentFilterInfoDisplayName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@display_name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentFilterInfo [ #displayName 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentFilterInfoDisplayName :: MonadIO m => RecentFilterInfo -> CString -> m ()
+setRecentFilterInfoDisplayName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: CString)
+
+{- |
+Set the value of the “@display_name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #displayName
+@
+-}
+clearRecentFilterInfoDisplayName :: MonadIO m => RecentFilterInfo -> m ()
+clearRecentFilterInfoDisplayName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RecentFilterInfoDisplayNameFieldInfo
+instance AttrInfo RecentFilterInfoDisplayNameFieldInfo where
+    type AttrAllowedOps RecentFilterInfoDisplayNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentFilterInfoDisplayNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RecentFilterInfoDisplayNameFieldInfo = (~) RecentFilterInfo
+    type AttrGetType RecentFilterInfoDisplayNameFieldInfo = Maybe T.Text
+    type AttrLabel RecentFilterInfoDisplayNameFieldInfo = "display_name"
+    type AttrOrigin RecentFilterInfoDisplayNameFieldInfo = RecentFilterInfo
+    attrGet _ = getRecentFilterInfoDisplayName
+    attrSet _ = setRecentFilterInfoDisplayName
+    attrConstruct = undefined
+    attrClear _ = clearRecentFilterInfoDisplayName
+
+recentFilterInfo_displayName :: AttrLabelProxy "displayName"
+recentFilterInfo_displayName = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@mime_type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentFilterInfo #mimeType
+@
+-}
+getRecentFilterInfoMimeType :: MonadIO m => RecentFilterInfo -> m (Maybe T.Text)
+getRecentFilterInfoMimeType s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@mime_type@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentFilterInfo [ #mimeType 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentFilterInfoMimeType :: MonadIO m => RecentFilterInfo -> CString -> m ()
+setRecentFilterInfoMimeType s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: CString)
+
+{- |
+Set the value of the “@mime_type@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #mimeType
+@
+-}
+clearRecentFilterInfoMimeType :: MonadIO m => RecentFilterInfo -> m ()
+clearRecentFilterInfoMimeType s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data RecentFilterInfoMimeTypeFieldInfo
+instance AttrInfo RecentFilterInfoMimeTypeFieldInfo where
+    type AttrAllowedOps RecentFilterInfoMimeTypeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentFilterInfoMimeTypeFieldInfo = (~) CString
+    type AttrBaseTypeConstraint RecentFilterInfoMimeTypeFieldInfo = (~) RecentFilterInfo
+    type AttrGetType RecentFilterInfoMimeTypeFieldInfo = Maybe T.Text
+    type AttrLabel RecentFilterInfoMimeTypeFieldInfo = "mime_type"
+    type AttrOrigin RecentFilterInfoMimeTypeFieldInfo = RecentFilterInfo
+    attrGet _ = getRecentFilterInfoMimeType
+    attrSet _ = setRecentFilterInfoMimeType
+    attrConstruct = undefined
+    attrClear _ = clearRecentFilterInfoMimeType
+
+recentFilterInfo_mimeType :: AttrLabelProxy "mimeType"
+recentFilterInfo_mimeType = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@applications@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentFilterInfo #applications
+@
+-}
+getRecentFilterInfoApplications :: MonadIO m => RecentFilterInfo -> m (Maybe [T.Text])
+getRecentFilterInfoApplications s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr CString)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- unpackZeroTerminatedUTF8CArray val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@applications@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentFilterInfo [ #applications 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentFilterInfoApplications :: MonadIO m => RecentFilterInfo -> Ptr CString -> m ()
+setRecentFilterInfoApplications s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: Ptr CString)
+
+{- |
+Set the value of the “@applications@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #applications
+@
+-}
+clearRecentFilterInfoApplications :: MonadIO m => RecentFilterInfo -> m ()
+clearRecentFilterInfoApplications s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (FP.nullPtr :: Ptr CString)
+
+#if ENABLE_OVERLOADING
+data RecentFilterInfoApplicationsFieldInfo
+instance AttrInfo RecentFilterInfoApplicationsFieldInfo where
+    type AttrAllowedOps RecentFilterInfoApplicationsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentFilterInfoApplicationsFieldInfo = (~) (Ptr CString)
+    type AttrBaseTypeConstraint RecentFilterInfoApplicationsFieldInfo = (~) RecentFilterInfo
+    type AttrGetType RecentFilterInfoApplicationsFieldInfo = Maybe [T.Text]
+    type AttrLabel RecentFilterInfoApplicationsFieldInfo = "applications"
+    type AttrOrigin RecentFilterInfoApplicationsFieldInfo = RecentFilterInfo
+    attrGet _ = getRecentFilterInfoApplications
+    attrSet _ = setRecentFilterInfoApplications
+    attrConstruct = undefined
+    attrClear _ = clearRecentFilterInfoApplications
+
+recentFilterInfo_applications :: AttrLabelProxy "applications"
+recentFilterInfo_applications = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@groups@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentFilterInfo #groups
+@
+-}
+getRecentFilterInfoGroups :: MonadIO m => RecentFilterInfo -> m (Maybe [T.Text])
+getRecentFilterInfoGroups s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr CString)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- unpackZeroTerminatedUTF8CArray val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@groups@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentFilterInfo [ #groups 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentFilterInfoGroups :: MonadIO m => RecentFilterInfo -> Ptr CString -> m ()
+setRecentFilterInfoGroups s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (val :: Ptr CString)
+
+{- |
+Set the value of the “@groups@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #groups
+@
+-}
+clearRecentFilterInfoGroups :: MonadIO m => RecentFilterInfo -> m ()
+clearRecentFilterInfoGroups s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (FP.nullPtr :: Ptr CString)
+
+#if ENABLE_OVERLOADING
+data RecentFilterInfoGroupsFieldInfo
+instance AttrInfo RecentFilterInfoGroupsFieldInfo where
+    type AttrAllowedOps RecentFilterInfoGroupsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RecentFilterInfoGroupsFieldInfo = (~) (Ptr CString)
+    type AttrBaseTypeConstraint RecentFilterInfoGroupsFieldInfo = (~) RecentFilterInfo
+    type AttrGetType RecentFilterInfoGroupsFieldInfo = Maybe [T.Text]
+    type AttrLabel RecentFilterInfoGroupsFieldInfo = "groups"
+    type AttrOrigin RecentFilterInfoGroupsFieldInfo = RecentFilterInfo
+    attrGet _ = getRecentFilterInfoGroups
+    attrSet _ = setRecentFilterInfoGroups
+    attrConstruct = undefined
+    attrClear _ = clearRecentFilterInfoGroups
+
+recentFilterInfo_groups :: AttrLabelProxy "groups"
+recentFilterInfo_groups = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@age@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' recentFilterInfo #age
+@
+-}
+getRecentFilterInfoAge :: MonadIO m => RecentFilterInfo -> m Int32
+getRecentFilterInfoAge s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@age@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' recentFilterInfo [ #age 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRecentFilterInfoAge :: MonadIO m => RecentFilterInfo -> Int32 -> m ()
+setRecentFilterInfoAge s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 48) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data RecentFilterInfoAgeFieldInfo
+instance AttrInfo RecentFilterInfoAgeFieldInfo where
+    type AttrAllowedOps RecentFilterInfoAgeFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RecentFilterInfoAgeFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint RecentFilterInfoAgeFieldInfo = (~) RecentFilterInfo
+    type AttrGetType RecentFilterInfoAgeFieldInfo = Int32
+    type AttrLabel RecentFilterInfoAgeFieldInfo = "age"
+    type AttrOrigin RecentFilterInfoAgeFieldInfo = RecentFilterInfo
+    attrGet _ = getRecentFilterInfoAge
+    attrSet _ = setRecentFilterInfoAge
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+recentFilterInfo_age :: AttrLabelProxy "age"
+recentFilterInfo_age = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentFilterInfo
+type instance O.AttributeList RecentFilterInfo = RecentFilterInfoAttributeList
+type RecentFilterInfoAttributeList = ('[ '("contains", RecentFilterInfoContainsFieldInfo), '("uri", RecentFilterInfoUriFieldInfo), '("displayName", RecentFilterInfoDisplayNameFieldInfo), '("mimeType", RecentFilterInfoMimeTypeFieldInfo), '("applications", RecentFilterInfoApplicationsFieldInfo), '("groups", RecentFilterInfoGroupsFieldInfo), '("age", RecentFilterInfoAgeFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentFilterInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentFilterInfoMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentFilterInfoMethod t RecentFilterInfo, O.MethodInfo info RecentFilterInfo p) => OL.IsLabel t (RecentFilterInfo -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/RecentFilterInfo.hs-boot b/GI/Gtk/Structs/RecentFilterInfo.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RecentFilterInfo.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.RecentFilterInfo where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentFilterInfo = RecentFilterInfo (ManagedPtr RecentFilterInfo)
+instance WrappedPtr RecentFilterInfo where
diff --git a/GI/Gtk/Structs/RecentInfo.hs b/GI/Gtk/Structs/RecentInfo.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RecentInfo.hs
@@ -0,0 +1,1364 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Structs.RecentInfo.RecentInfo'-struct contains private data only, and should
+be accessed using the provided API.
+
+'GI.Gtk.Structs.RecentInfo.RecentInfo' constains all the meta-data
+associated with an entry in the recently used files list.
+
+/Since: 2.10/
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.RecentInfo
+    ( 
+
+-- * Exported types
+    RecentInfo(..)                          ,
+    noRecentInfo                            ,
+
+
+ -- * Methods
+-- ** createAppInfo #method:createAppInfo#
+
+#if ENABLE_OVERLOADING
+    RecentInfoCreateAppInfoMethodInfo       ,
+#endif
+    recentInfoCreateAppInfo                 ,
+
+
+-- ** exists #method:exists#
+
+#if ENABLE_OVERLOADING
+    RecentInfoExistsMethodInfo              ,
+#endif
+    recentInfoExists                        ,
+
+
+-- ** getAdded #method:getAdded#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetAddedMethodInfo            ,
+#endif
+    recentInfoGetAdded                      ,
+
+
+-- ** getAge #method:getAge#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetAgeMethodInfo              ,
+#endif
+    recentInfoGetAge                        ,
+
+
+-- ** getApplicationInfo #method:getApplicationInfo#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetApplicationInfoMethodInfo  ,
+#endif
+    recentInfoGetApplicationInfo            ,
+
+
+-- ** getApplications #method:getApplications#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetApplicationsMethodInfo     ,
+#endif
+    recentInfoGetApplications               ,
+
+
+-- ** getDescription #method:getDescription#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetDescriptionMethodInfo      ,
+#endif
+    recentInfoGetDescription                ,
+
+
+-- ** getDisplayName #method:getDisplayName#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetDisplayNameMethodInfo      ,
+#endif
+    recentInfoGetDisplayName                ,
+
+
+-- ** getGicon #method:getGicon#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetGiconMethodInfo            ,
+#endif
+    recentInfoGetGicon                      ,
+
+
+-- ** getGroups #method:getGroups#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetGroupsMethodInfo           ,
+#endif
+    recentInfoGetGroups                     ,
+
+
+-- ** getIcon #method:getIcon#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetIconMethodInfo             ,
+#endif
+    recentInfoGetIcon                       ,
+
+
+-- ** getMimeType #method:getMimeType#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetMimeTypeMethodInfo         ,
+#endif
+    recentInfoGetMimeType                   ,
+
+
+-- ** getModified #method:getModified#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetModifiedMethodInfo         ,
+#endif
+    recentInfoGetModified                   ,
+
+
+-- ** getPrivateHint #method:getPrivateHint#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetPrivateHintMethodInfo      ,
+#endif
+    recentInfoGetPrivateHint                ,
+
+
+-- ** getShortName #method:getShortName#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetShortNameMethodInfo        ,
+#endif
+    recentInfoGetShortName                  ,
+
+
+-- ** getUri #method:getUri#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetUriMethodInfo              ,
+#endif
+    recentInfoGetUri                        ,
+
+
+-- ** getUriDisplay #method:getUriDisplay#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetUriDisplayMethodInfo       ,
+#endif
+    recentInfoGetUriDisplay                 ,
+
+
+-- ** getVisited #method:getVisited#
+
+#if ENABLE_OVERLOADING
+    RecentInfoGetVisitedMethodInfo          ,
+#endif
+    recentInfoGetVisited                    ,
+
+
+-- ** hasApplication #method:hasApplication#
+
+#if ENABLE_OVERLOADING
+    RecentInfoHasApplicationMethodInfo      ,
+#endif
+    recentInfoHasApplication                ,
+
+
+-- ** hasGroup #method:hasGroup#
+
+#if ENABLE_OVERLOADING
+    RecentInfoHasGroupMethodInfo            ,
+#endif
+    recentInfoHasGroup                      ,
+
+
+-- ** isLocal #method:isLocal#
+
+#if ENABLE_OVERLOADING
+    RecentInfoIsLocalMethodInfo             ,
+#endif
+    recentInfoIsLocal                       ,
+
+
+-- ** lastApplication #method:lastApplication#
+
+#if ENABLE_OVERLOADING
+    RecentInfoLastApplicationMethodInfo     ,
+#endif
+    recentInfoLastApplication               ,
+
+
+-- ** match #method:match#
+
+#if ENABLE_OVERLOADING
+    RecentInfoMatchMethodInfo               ,
+#endif
+    recentInfoMatch                         ,
+
+
+-- ** ref #method:ref#
+
+#if ENABLE_OVERLOADING
+    RecentInfoRefMethodInfo                 ,
+#endif
+    recentInfoRef                           ,
+
+
+-- ** unref #method:unref#
+
+#if ENABLE_OVERLOADING
+    RecentInfoUnrefMethodInfo               ,
+#endif
+    recentInfoUnref                         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gio.Interfaces.AppInfo as Gio.AppInfo
+import qualified GI.Gio.Interfaces.Icon as Gio.Icon
+
+-- | Memory-managed wrapper type.
+newtype RecentInfo = RecentInfo (ManagedPtr RecentInfo)
+foreign import ccall "gtk_recent_info_get_type" c_gtk_recent_info_get_type :: 
+    IO GType
+
+instance BoxedObject RecentInfo where
+    boxedType _ = c_gtk_recent_info_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RecentInfo`.
+noRecentInfo :: Maybe RecentInfo
+noRecentInfo = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RecentInfo
+type instance O.AttributeList RecentInfo = RecentInfoAttributeList
+type RecentInfoAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method RecentInfo::create_app_info
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the application that should\n  be mapped to a #GAppInfo; if %NULL is used then the default\n  application for the MIME type is used", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "AppInfo"}))
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_create_app_info" gtk_recent_info_create_app_info :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    CString ->                              -- app_name : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr Gio.AppInfo.AppInfo)
+
+{- |
+Creates a 'GI.Gio.Interfaces.AppInfo.AppInfo' for the specified 'GI.Gtk.Structs.RecentInfo.RecentInfo'
+-}
+recentInfoCreateAppInfo ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> Maybe (T.Text)
+    {- ^ /@appName@/: the name of the application that should
+  be mapped to a 'GI.Gio.Interfaces.AppInfo.AppInfo'; if 'Nothing' is used then the default
+  application for the MIME type is used -}
+    -> m (Maybe Gio.AppInfo.AppInfo)
+    {- ^ __Returns:__ the newly created 'GI.Gio.Interfaces.AppInfo.AppInfo', or 'Nothing'.
+  In case of error, /@error@/ will be set either with a
+  @/GTK_RECENT_MANAGER_ERROR/@ or a @/G_IO_ERROR/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
+recentInfoCreateAppInfo info appName = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    maybeAppName <- case appName of
+        Nothing -> return nullPtr
+        Just jAppName -> do
+            jAppName' <- textToCString jAppName
+            return jAppName'
+    onException (do
+        result <- propagateGError $ gtk_recent_info_create_app_info info' maybeAppName
+        maybeResult <- convertIfNonNull result $ \result' -> do
+            result'' <- (wrapObject Gio.AppInfo.AppInfo) result'
+            return result''
+        touchManagedPtr info
+        freeMem maybeAppName
+        return maybeResult
+     ) (do
+        freeMem maybeAppName
+     )
+
+#if ENABLE_OVERLOADING
+data RecentInfoCreateAppInfoMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m (Maybe Gio.AppInfo.AppInfo)), MonadIO m) => O.MethodInfo RecentInfoCreateAppInfoMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoCreateAppInfo
+
+#endif
+
+-- method RecentInfo::exists
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_exists" gtk_recent_info_exists :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CInt
+
+{- |
+Checks whether the resource pointed by /@info@/ still exists.
+At the moment this check is done only on resources pointing
+to local files.
+
+/Since: 2.10/
+-}
+recentInfoExists ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the resource exists -}
+recentInfoExists info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_exists info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoExistsMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RecentInfoExistsMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoExists
+
+#endif
+
+-- method RecentInfo::get_added
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TLong)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_added" gtk_recent_info_get_added :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CLong
+
+{- |
+Gets the timestamp (seconds from system’s Epoch) when the resource
+was added to the recently used resources list.
+
+/Since: 2.10/
+-}
+recentInfoGetAdded ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m CLong
+    {- ^ __Returns:__ the number of seconds elapsed from system’s Epoch when
+  the resource was added to the list, or -1 on failure. -}
+recentInfoGetAdded info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_added info'
+    touchManagedPtr info
+    return result
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetAddedMethodInfo
+instance (signature ~ (m CLong), MonadIO m) => O.MethodInfo RecentInfoGetAddedMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetAdded
+
+#endif
+
+-- method RecentInfo::get_age
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_age" gtk_recent_info_get_age :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO Int32
+
+{- |
+Gets the number of days elapsed since the last update
+of the resource pointed by /@info@/.
+
+/Since: 2.10/
+-}
+recentInfoGetAge ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m Int32
+    {- ^ __Returns:__ a positive integer containing the number of days
+  elapsed since the time this resource was last modified -}
+recentInfoGetAge info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_age info'
+    touchManagedPtr info
+    return result
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetAgeMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo RecentInfoGetAgeMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetAge
+
+#endif
+
+-- method RecentInfo::get_application_info
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the application that has registered this item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_exec", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the string containing\n   the command line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of times this item was registered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "time_", argType = TBasicType TLong, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the timestamp this item was last registered\n   for this application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_application_info" gtk_recent_info_get_application_info :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    CString ->                              -- app_name : TBasicType TUTF8
+    Ptr CString ->                          -- app_exec : TBasicType TUTF8
+    Ptr Word32 ->                           -- count : TBasicType TUInt
+    Ptr CLong ->                            -- time_ : TBasicType TLong
+    IO CInt
+
+{- |
+Gets the data regarding the application that has registered the resource
+pointed by /@info@/.
+
+If the command line contains any escape characters defined inside the
+storage specification, they will be expanded.
+
+/Since: 2.10/
+-}
+recentInfoGetApplicationInfo ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> T.Text
+    {- ^ /@appName@/: the name of the application that has registered this item -}
+    -> m ((Bool, T.Text, Word32, CLong))
+    {- ^ __Returns:__ 'True' if an application with /@appName@/ has registered this
+  resource inside the recently used list, or 'False' otherwise. The
+  /@appExec@/ string is owned by the 'GI.Gtk.Structs.RecentInfo.RecentInfo' and should not be
+  modified or freed -}
+recentInfoGetApplicationInfo info appName = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    appName' <- textToCString appName
+    appExec <- allocMem :: IO (Ptr CString)
+    count <- allocMem :: IO (Ptr Word32)
+    time_ <- allocMem :: IO (Ptr CLong)
+    result <- gtk_recent_info_get_application_info info' appName' appExec count time_
+    let result' = (/= 0) result
+    appExec' <- peek appExec
+    appExec'' <- cstringToText appExec'
+    count' <- peek count
+    time_' <- peek time_
+    touchManagedPtr info
+    freeMem appName'
+    freeMem appExec
+    freeMem count
+    freeMem time_
+    return (result', appExec'', count', time_')
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetApplicationInfoMethodInfo
+instance (signature ~ (T.Text -> m ((Bool, T.Text, Word32, CLong))), MonadIO m) => O.MethodInfo RecentInfoGetApplicationInfoMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetApplicationInfo
+
+#endif
+
+-- method RecentInfo::get_applications
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the returned list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) 1 (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_applications" gtk_recent_info_get_applications :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    Ptr Word64 ->                           -- length : TBasicType TUInt64
+    IO (Ptr CString)
+
+{- |
+Retrieves the list of applications that have registered this resource.
+
+/Since: 2.10/
+-}
+recentInfoGetApplications ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m (([T.Text], Word64))
+    {- ^ __Returns:__ 
+    a newly allocated 'Nothing'-terminated array of strings.
+    Use 'GI.GLib.Functions.strfreev' to free it. -}
+recentInfoGetApplications info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    length_ <- allocMem :: IO (Ptr Word64)
+    result <- gtk_recent_info_get_applications info' length_
+    checkUnexpectedReturnNULL "recentInfoGetApplications" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    mapZeroTerminatedCArray freeMem result
+    freeMem result
+    length_' <- peek length_
+    touchManagedPtr info
+    freeMem length_
+    return (result', length_')
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetApplicationsMethodInfo
+instance (signature ~ (m (([T.Text], Word64))), MonadIO m) => O.MethodInfo RecentInfoGetApplicationsMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetApplications
+
+#endif
+
+-- method RecentInfo::get_description
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_description" gtk_recent_info_get_description :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CString
+
+{- |
+Gets the (short) description of the resource.
+
+/Since: 2.10/
+-}
+recentInfoGetDescription ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m T.Text
+    {- ^ __Returns:__ the description of the resource. The returned string
+  is owned by the recent manager, and should not be freed. -}
+recentInfoGetDescription info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_description info'
+    checkUnexpectedReturnNULL "recentInfoGetDescription" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetDescriptionMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetDescriptionMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetDescription
+
+#endif
+
+-- method RecentInfo::get_display_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_display_name" gtk_recent_info_get_display_name :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CString
+
+{- |
+Gets the name of the resource. If none has been defined, the basename
+of the resource is obtained.
+
+/Since: 2.10/
+-}
+recentInfoGetDisplayName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m T.Text
+    {- ^ __Returns:__ the display name of the resource. The returned string
+  is owned by the recent manager, and should not be freed. -}
+recentInfoGetDisplayName info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_display_name info'
+    checkUnexpectedReturnNULL "recentInfoGetDisplayName" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetDisplayNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetDisplayNameMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetDisplayName
+
+#endif
+
+-- method RecentInfo::get_gicon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_gicon" gtk_recent_info_get_gicon :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO (Ptr Gio.Icon.Icon)
+
+{- |
+Retrieves the icon associated to the resource MIME type.
+
+/Since: 2.22/
+-}
+recentInfoGetGicon ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m (Maybe Gio.Icon.Icon)
+    {- ^ __Returns:__ a 'GI.Gio.Interfaces.Icon.Icon' containing the icon, or 'Nothing'.
+  Use 'GI.GObject.Objects.Object.objectUnref' when finished using the icon -}
+recentInfoGetGicon info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_gicon info'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject Gio.Icon.Icon) result'
+        return result''
+    touchManagedPtr info
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetGiconMethodInfo
+instance (signature ~ (m (Maybe Gio.Icon.Icon)), MonadIO m) => O.MethodInfo RecentInfoGetGiconMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetGicon
+
+#endif
+
+-- method RecentInfo::get_groups
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of groups returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) 1 (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_groups" gtk_recent_info_get_groups :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    Ptr Word64 ->                           -- length : TBasicType TUInt64
+    IO (Ptr CString)
+
+{- |
+Returns all groups registered for the recently used item /@info@/.
+The array of returned group names will be 'Nothing' terminated, so
+length might optionally be 'Nothing'.
+
+/Since: 2.10/
+-}
+recentInfoGetGroups ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m (([T.Text], Word64))
+    {- ^ __Returns:__ 
+  a newly allocated 'Nothing' terminated array of strings.
+  Use 'GI.GLib.Functions.strfreev' to free it. -}
+recentInfoGetGroups info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    length_ <- allocMem :: IO (Ptr Word64)
+    result <- gtk_recent_info_get_groups info' length_
+    checkUnexpectedReturnNULL "recentInfoGetGroups" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    mapZeroTerminatedCArray freeMem result
+    freeMem result
+    length_' <- peek length_
+    touchManagedPtr info
+    freeMem length_
+    return (result', length_')
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetGroupsMethodInfo
+instance (signature ~ (m (([T.Text], Word64))), MonadIO m) => O.MethodInfo RecentInfoGetGroupsMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetGroups
+
+#endif
+
+-- method RecentInfo::get_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the icon in pixels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_icon" gtk_recent_info_get_icon :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    Int32 ->                                -- size : TBasicType TInt
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Retrieves the icon of size /@size@/ associated to the resource MIME type.
+
+/Since: 2.10/
+-}
+recentInfoGetIcon ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> Int32
+    {- ^ /@size@/: the size of the icon in pixels -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' containing the icon,
+    or 'Nothing'. Use 'GI.GObject.Objects.Object.objectUnref' when finished using the icon. -}
+recentInfoGetIcon info size = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_icon info' size
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr info
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetIconMethodInfo
+instance (signature ~ (Int32 -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m) => O.MethodInfo RecentInfoGetIconMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetIcon
+
+#endif
+
+-- method RecentInfo::get_mime_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_mime_type" gtk_recent_info_get_mime_type :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CString
+
+{- |
+Gets the MIME type of the resource.
+
+/Since: 2.10/
+-}
+recentInfoGetMimeType ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m T.Text
+    {- ^ __Returns:__ the MIME type of the resource. The returned string
+  is owned by the recent manager, and should not be freed. -}
+recentInfoGetMimeType info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_mime_type info'
+    checkUnexpectedReturnNULL "recentInfoGetMimeType" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetMimeTypeMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetMimeTypeMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetMimeType
+
+#endif
+
+-- method RecentInfo::get_modified
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TLong)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_modified" gtk_recent_info_get_modified :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CLong
+
+{- |
+Gets the timestamp (seconds from system’s Epoch) when the meta-data
+for the resource was last modified.
+
+/Since: 2.10/
+-}
+recentInfoGetModified ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m CLong
+    {- ^ __Returns:__ the number of seconds elapsed from system’s Epoch when
+  the resource was last modified, or -1 on failure. -}
+recentInfoGetModified info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_modified info'
+    touchManagedPtr info
+    return result
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetModifiedMethodInfo
+instance (signature ~ (m CLong), MonadIO m) => O.MethodInfo RecentInfoGetModifiedMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetModified
+
+#endif
+
+-- method RecentInfo::get_private_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_private_hint" gtk_recent_info_get_private_hint :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CInt
+
+{- |
+Gets the value of the “private” flag. Resources in the recently used
+list that have this flag set to 'True' should only be displayed by the
+applications that have registered them.
+
+/Since: 2.10/
+-}
+recentInfoGetPrivateHint ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the private flag was found, 'False' otherwise -}
+recentInfoGetPrivateHint info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_private_hint info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetPrivateHintMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RecentInfoGetPrivateHintMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetPrivateHint
+
+#endif
+
+-- method RecentInfo::get_short_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_short_name" gtk_recent_info_get_short_name :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CString
+
+{- |
+Computes a valid UTF-8 string that can be used as the
+name of the item in a menu or list. For example, calling
+this function on an item that refers to
+“file:\/\/\/foo\/bar.txt” will yield “bar.txt”.
+
+/Since: 2.10/
+-}
+recentInfoGetShortName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: an 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m T.Text
+    {- ^ __Returns:__ A newly-allocated string in UTF-8 encoding
+  free it with 'GI.GLib.Functions.free' -}
+recentInfoGetShortName info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_short_name info'
+    checkUnexpectedReturnNULL "recentInfoGetShortName" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetShortNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetShortNameMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetShortName
+
+#endif
+
+-- method RecentInfo::get_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_uri" gtk_recent_info_get_uri :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CString
+
+{- |
+Gets the URI of the resource.
+
+/Since: 2.10/
+-}
+recentInfoGetUri ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m T.Text
+    {- ^ __Returns:__ the URI of the resource. The returned string is
+  owned by the recent manager, and should not be freed. -}
+recentInfoGetUri info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_uri info'
+    checkUnexpectedReturnNULL "recentInfoGetUri" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetUriMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetUriMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetUri
+
+#endif
+
+-- method RecentInfo::get_uri_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_uri_display" gtk_recent_info_get_uri_display :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CString
+
+{- |
+Gets a displayable version of the resource’s URI. If the resource
+is local, it returns a local path; if the resource is not local,
+it returns the UTF-8 encoded content of 'GI.Gtk.Structs.RecentInfo.recentInfoGetUri'.
+
+/Since: 2.10/
+-}
+recentInfoGetUriDisplay ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ a newly allocated UTF-8 string containing the
+  resource’s URI or 'Nothing'. Use 'GI.GLib.Functions.free' when done using it. -}
+recentInfoGetUriDisplay info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_uri_display info'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr info
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetUriDisplayMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo RecentInfoGetUriDisplayMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetUriDisplay
+
+#endif
+
+-- method RecentInfo::get_visited
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TLong)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_get_visited" gtk_recent_info_get_visited :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CLong
+
+{- |
+Gets the timestamp (seconds from system’s Epoch) when the meta-data
+for the resource was last visited.
+
+/Since: 2.10/
+-}
+recentInfoGetVisited ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m CLong
+    {- ^ __Returns:__ the number of seconds elapsed from system’s Epoch when
+  the resource was last visited, or -1 on failure. -}
+recentInfoGetVisited info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_get_visited info'
+    touchManagedPtr info
+    return result
+
+#if ENABLE_OVERLOADING
+data RecentInfoGetVisitedMethodInfo
+instance (signature ~ (m CLong), MonadIO m) => O.MethodInfo RecentInfoGetVisitedMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoGetVisited
+
+#endif
+
+-- method RecentInfo::has_application
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string containing an application name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_has_application" gtk_recent_info_has_application :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    CString ->                              -- app_name : TBasicType TUTF8
+    IO CInt
+
+{- |
+Checks whether an application registered this resource using /@appName@/.
+
+/Since: 2.10/
+-}
+recentInfoHasApplication ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> T.Text
+    {- ^ /@appName@/: a string containing an application name -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if an application with name /@appName@/ was found,
+  'False' otherwise -}
+recentInfoHasApplication info appName = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    appName' <- textToCString appName
+    result <- gtk_recent_info_has_application info' appName'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    freeMem appName'
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoHasApplicationMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo RecentInfoHasApplicationMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoHasApplication
+
+#endif
+
+-- method RecentInfo::has_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_has_group" gtk_recent_info_has_group :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    CString ->                              -- group_name : TBasicType TUTF8
+    IO CInt
+
+{- |
+Checks whether /@groupName@/ appears inside the groups
+registered for the recently used item /@info@/.
+
+/Since: 2.10/
+-}
+recentInfoHasGroup ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> T.Text
+    {- ^ /@groupName@/: name of a group -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the group was found -}
+recentInfoHasGroup info groupName = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    groupName' <- textToCString groupName
+    result <- gtk_recent_info_has_group info' groupName'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    freeMem groupName'
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoHasGroupMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo RecentInfoHasGroupMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoHasGroup
+
+#endif
+
+-- method RecentInfo::is_local
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_is_local" gtk_recent_info_is_local :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CInt
+
+{- |
+Checks whether the resource is local or not by looking at the
+scheme of its URI.
+
+/Since: 2.10/
+-}
+recentInfoIsLocal ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the resource is local -}
+recentInfoIsLocal info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_is_local info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoIsLocalMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RecentInfoIsLocalMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoIsLocal
+
+#endif
+
+-- method RecentInfo::last_application
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_last_application" gtk_recent_info_last_application :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CString
+
+{- |
+Gets the name of the last application that have registered the
+recently used resource represented by /@info@/.
+
+/Since: 2.10/
+-}
+recentInfoLastApplication ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m T.Text
+    {- ^ __Returns:__ an application name. Use 'GI.GLib.Functions.free' to free it. -}
+recentInfoLastApplication info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_last_application info'
+    checkUnexpectedReturnNULL "recentInfoLastApplication" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoLastApplicationMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoLastApplicationMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoLastApplication
+
+#endif
+
+-- method RecentInfo::match
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info_a", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info_b", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_match" gtk_recent_info_match :: 
+    Ptr RecentInfo ->                       -- info_a : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    Ptr RecentInfo ->                       -- info_b : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO CInt
+
+{- |
+Checks whether two 'GI.Gtk.Structs.RecentInfo.RecentInfo'-struct point to the same
+resource.
+
+/Since: 2.10/
+-}
+recentInfoMatch ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@infoA@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> RecentInfo
+    {- ^ /@infoB@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if both 'GI.Gtk.Structs.RecentInfo.RecentInfo'-struct point to the same
+  resource, 'False' otherwise -}
+recentInfoMatch infoA infoB = liftIO $ do
+    infoA' <- unsafeManagedPtrGetPtr infoA
+    infoB' <- unsafeManagedPtrGetPtr infoB
+    result <- gtk_recent_info_match infoA' infoB'
+    let result' = (/= 0) result
+    touchManagedPtr infoA
+    touchManagedPtr infoB
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoMatchMethodInfo
+instance (signature ~ (RecentInfo -> m Bool), MonadIO m) => O.MethodInfo RecentInfoMatchMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoMatch
+
+#endif
+
+-- method RecentInfo::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentInfo"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_ref" gtk_recent_info_ref :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO (Ptr RecentInfo)
+
+{- |
+Increases the reference count of /@recentInfo@/ by one.
+
+/Since: 2.10/
+-}
+recentInfoRef ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m RecentInfo
+    {- ^ __Returns:__ the recent info object with its reference count
+    increased by one -}
+recentInfoRef info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    result <- gtk_recent_info_ref info'
+    checkUnexpectedReturnNULL "recentInfoRef" result
+    result' <- (wrapBoxed RecentInfo) result
+    touchManagedPtr info
+    return result'
+
+#if ENABLE_OVERLOADING
+data RecentInfoRefMethodInfo
+instance (signature ~ (m RecentInfo), MonadIO m) => O.MethodInfo RecentInfoRefMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoRef
+
+#endif
+
+-- method RecentInfo::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_recent_info_unref" gtk_recent_info_unref :: 
+    Ptr RecentInfo ->                       -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
+    IO ()
+
+{- |
+Decreases the reference count of /@info@/ by one. If the reference
+count reaches zero, /@info@/ is deallocated, and the memory freed.
+
+/Since: 2.10/
+-}
+recentInfoUnref ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    RecentInfo
+    {- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
+    -> m ()
+recentInfoUnref info = liftIO $ do
+    info' <- unsafeManagedPtrGetPtr info
+    gtk_recent_info_unref info'
+    touchManagedPtr info
+    return ()
+
+#if ENABLE_OVERLOADING
+data RecentInfoUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RecentInfoUnrefMethodInfo RecentInfo signature where
+    overloadedMethod _ = recentInfoUnref
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveRecentInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRecentInfoMethod "createAppInfo" o = RecentInfoCreateAppInfoMethodInfo
+    ResolveRecentInfoMethod "exists" o = RecentInfoExistsMethodInfo
+    ResolveRecentInfoMethod "hasApplication" o = RecentInfoHasApplicationMethodInfo
+    ResolveRecentInfoMethod "hasGroup" o = RecentInfoHasGroupMethodInfo
+    ResolveRecentInfoMethod "isLocal" o = RecentInfoIsLocalMethodInfo
+    ResolveRecentInfoMethod "lastApplication" o = RecentInfoLastApplicationMethodInfo
+    ResolveRecentInfoMethod "match" o = RecentInfoMatchMethodInfo
+    ResolveRecentInfoMethod "ref" o = RecentInfoRefMethodInfo
+    ResolveRecentInfoMethod "unref" o = RecentInfoUnrefMethodInfo
+    ResolveRecentInfoMethod "getAdded" o = RecentInfoGetAddedMethodInfo
+    ResolveRecentInfoMethod "getAge" o = RecentInfoGetAgeMethodInfo
+    ResolveRecentInfoMethod "getApplicationInfo" o = RecentInfoGetApplicationInfoMethodInfo
+    ResolveRecentInfoMethod "getApplications" o = RecentInfoGetApplicationsMethodInfo
+    ResolveRecentInfoMethod "getDescription" o = RecentInfoGetDescriptionMethodInfo
+    ResolveRecentInfoMethod "getDisplayName" o = RecentInfoGetDisplayNameMethodInfo
+    ResolveRecentInfoMethod "getGicon" o = RecentInfoGetGiconMethodInfo
+    ResolveRecentInfoMethod "getGroups" o = RecentInfoGetGroupsMethodInfo
+    ResolveRecentInfoMethod "getIcon" o = RecentInfoGetIconMethodInfo
+    ResolveRecentInfoMethod "getMimeType" o = RecentInfoGetMimeTypeMethodInfo
+    ResolveRecentInfoMethod "getModified" o = RecentInfoGetModifiedMethodInfo
+    ResolveRecentInfoMethod "getPrivateHint" o = RecentInfoGetPrivateHintMethodInfo
+    ResolveRecentInfoMethod "getShortName" o = RecentInfoGetShortNameMethodInfo
+    ResolveRecentInfoMethod "getUri" o = RecentInfoGetUriMethodInfo
+    ResolveRecentInfoMethod "getUriDisplay" o = RecentInfoGetUriDisplayMethodInfo
+    ResolveRecentInfoMethod "getVisited" o = RecentInfoGetVisitedMethodInfo
+    ResolveRecentInfoMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRecentInfoMethod t RecentInfo, O.MethodInfo info RecentInfo p) => OL.IsLabel t (RecentInfo -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/RecentInfo.hs-boot b/GI/Gtk/Structs/RecentInfo.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RecentInfo.hs-boot
@@ -0,0 +1,101 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.RecentInfo where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RecentInfo = RecentInfo (ManagedPtr RecentInfo)
+instance BoxedObject RecentInfo where
+#if ENABLE_OVERLOADING
+data RecentInfoCreateAppInfoMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoExistsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetAddedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetAgeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetApplicationInfoMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetApplicationsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetDescriptionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetDisplayNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetGiconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetGroupsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetIconMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetMimeTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetModifiedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetPrivateHintMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetShortNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetUriMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetUriDisplayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoGetVisitedMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoHasApplicationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoHasGroupMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoIsLocalMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoLastApplicationMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoMatchMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoRefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RecentInfoUnrefMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/RequestedSize.hs b/GI/Gtk/Structs/RequestedSize.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RequestedSize.hs
@@ -0,0 +1,271 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Represents a request of a screen object in a given orientation. These
+are primarily used in container implementations when allocating a natural
+size for children calling. See 'GI.Gtk.Functions.distributeNaturalAllocation'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.RequestedSize
+    ( 
+
+-- * Exported types
+    RequestedSize(..)                       ,
+    newZeroRequestedSize                    ,
+    noRequestedSize                         ,
+
+
+ -- * Properties
+-- ** data #attr:data#
+{- | A client pointer
+-}
+    clearRequestedSizeData                  ,
+    getRequestedSizeData                    ,
+#if ENABLE_OVERLOADING
+    requestedSize_data                      ,
+#endif
+    setRequestedSizeData                    ,
+
+
+-- ** minimumSize #attr:minimumSize#
+{- | The minimum size needed for allocation in a given orientation
+-}
+    getRequestedSizeMinimumSize             ,
+#if ENABLE_OVERLOADING
+    requestedSize_minimumSize               ,
+#endif
+    setRequestedSizeMinimumSize             ,
+
+
+-- ** naturalSize #attr:naturalSize#
+{- | The natural size for allocation in a given orientation
+-}
+    getRequestedSizeNaturalSize             ,
+#if ENABLE_OVERLOADING
+    requestedSize_naturalSize               ,
+#endif
+    setRequestedSizeNaturalSize             ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype RequestedSize = RequestedSize (ManagedPtr RequestedSize)
+instance WrappedPtr RequestedSize where
+    wrappedPtrCalloc = callocBytes 16
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr RequestedSize)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `RequestedSize` struct initialized to zero.
+newZeroRequestedSize :: MonadIO m => m RequestedSize
+newZeroRequestedSize = liftIO $ wrappedPtrCalloc >>= wrapPtr RequestedSize
+
+instance tag ~ 'AttrSet => Constructible RequestedSize tag where
+    new _ attrs = do
+        o <- newZeroRequestedSize
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `RequestedSize`.
+noRequestedSize :: Maybe RequestedSize
+noRequestedSize = Nothing
+
+{- |
+Get the value of the “@data@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' requestedSize #data
+@
+-}
+getRequestedSizeData :: MonadIO m => RequestedSize -> m (Ptr ())
+getRequestedSizeData s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
+    return val
+
+{- |
+Set the value of the “@data@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' requestedSize [ #data 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRequestedSizeData :: MonadIO m => RequestedSize -> Ptr () -> m ()
+setRequestedSizeData s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Ptr ())
+
+{- |
+Set the value of the “@data@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #data
+@
+-}
+clearRequestedSizeData :: MonadIO m => RequestedSize -> m ()
+clearRequestedSizeData s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr ())
+
+#if ENABLE_OVERLOADING
+data RequestedSizeDataFieldInfo
+instance AttrInfo RequestedSizeDataFieldInfo where
+    type AttrAllowedOps RequestedSizeDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint RequestedSizeDataFieldInfo = (~) (Ptr ())
+    type AttrBaseTypeConstraint RequestedSizeDataFieldInfo = (~) RequestedSize
+    type AttrGetType RequestedSizeDataFieldInfo = Ptr ()
+    type AttrLabel RequestedSizeDataFieldInfo = "data"
+    type AttrOrigin RequestedSizeDataFieldInfo = RequestedSize
+    attrGet _ = getRequestedSizeData
+    attrSet _ = setRequestedSizeData
+    attrConstruct = undefined
+    attrClear _ = clearRequestedSizeData
+
+requestedSize_data :: AttrLabelProxy "data"
+requestedSize_data = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@minimum_size@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' requestedSize #minimumSize
+@
+-}
+getRequestedSizeMinimumSize :: MonadIO m => RequestedSize -> m Int32
+getRequestedSizeMinimumSize s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@minimum_size@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' requestedSize [ #minimumSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRequestedSizeMinimumSize :: MonadIO m => RequestedSize -> Int32 -> m ()
+setRequestedSizeMinimumSize s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data RequestedSizeMinimumSizeFieldInfo
+instance AttrInfo RequestedSizeMinimumSizeFieldInfo where
+    type AttrAllowedOps RequestedSizeMinimumSizeFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RequestedSizeMinimumSizeFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint RequestedSizeMinimumSizeFieldInfo = (~) RequestedSize
+    type AttrGetType RequestedSizeMinimumSizeFieldInfo = Int32
+    type AttrLabel RequestedSizeMinimumSizeFieldInfo = "minimum_size"
+    type AttrOrigin RequestedSizeMinimumSizeFieldInfo = RequestedSize
+    attrGet _ = getRequestedSizeMinimumSize
+    attrSet _ = setRequestedSizeMinimumSize
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+requestedSize_minimumSize :: AttrLabelProxy "minimumSize"
+requestedSize_minimumSize = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@natural_size@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' requestedSize #naturalSize
+@
+-}
+getRequestedSizeNaturalSize :: MonadIO m => RequestedSize -> m Int32
+getRequestedSizeNaturalSize s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 12) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@natural_size@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' requestedSize [ #naturalSize 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRequestedSizeNaturalSize :: MonadIO m => RequestedSize -> Int32 -> m ()
+setRequestedSizeNaturalSize s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 12) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data RequestedSizeNaturalSizeFieldInfo
+instance AttrInfo RequestedSizeNaturalSizeFieldInfo where
+    type AttrAllowedOps RequestedSizeNaturalSizeFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RequestedSizeNaturalSizeFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint RequestedSizeNaturalSizeFieldInfo = (~) RequestedSize
+    type AttrGetType RequestedSizeNaturalSizeFieldInfo = Int32
+    type AttrLabel RequestedSizeNaturalSizeFieldInfo = "natural_size"
+    type AttrOrigin RequestedSizeNaturalSizeFieldInfo = RequestedSize
+    attrGet _ = getRequestedSizeNaturalSize
+    attrSet _ = setRequestedSizeNaturalSize
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+requestedSize_naturalSize :: AttrLabelProxy "naturalSize"
+requestedSize_naturalSize = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList RequestedSize
+type instance O.AttributeList RequestedSize = RequestedSizeAttributeList
+type RequestedSizeAttributeList = ('[ '("data", RequestedSizeDataFieldInfo), '("minimumSize", RequestedSizeMinimumSizeFieldInfo), '("naturalSize", RequestedSizeNaturalSizeFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveRequestedSizeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRequestedSizeMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRequestedSizeMethod t RequestedSize, O.MethodInfo info RequestedSize p) => OL.IsLabel t (RequestedSize -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/RequestedSize.hs-boot b/GI/Gtk/Structs/RequestedSize.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/RequestedSize.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.RequestedSize where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype RequestedSize = RequestedSize (ManagedPtr RequestedSize)
+instance WrappedPtr RequestedSize where
diff --git a/GI/Gtk/Structs/Requisition.hs b/GI/Gtk/Structs/Requisition.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/Requisition.hs
@@ -0,0 +1,329 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Structs.Requisition.Requisition'-struct represents the desired size of a widget. See
+[GtkWidget’s geometry management section][geometry-management] for
+more information.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.Requisition
+    ( 
+
+-- * Exported types
+    Requisition(..)                         ,
+    newZeroRequisition                      ,
+    noRequisition                           ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    RequisitionCopyMethodInfo               ,
+#endif
+    requisitionCopy                         ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    RequisitionFreeMethodInfo               ,
+#endif
+    requisitionFree                         ,
+
+
+-- ** new #method:new#
+
+    requisitionNew                          ,
+
+
+
+
+ -- * Properties
+-- ** height #attr:height#
+{- | the widget’s desired height
+-}
+    getRequisitionHeight                    ,
+#if ENABLE_OVERLOADING
+    requisition_height                      ,
+#endif
+    setRequisitionHeight                    ,
+
+
+-- ** width #attr:width#
+{- | the widget’s desired width
+-}
+    getRequisitionWidth                     ,
+#if ENABLE_OVERLOADING
+    requisition_width                       ,
+#endif
+    setRequisitionWidth                     ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype Requisition = Requisition (ManagedPtr Requisition)
+foreign import ccall "gtk_requisition_get_type" c_gtk_requisition_get_type :: 
+    IO GType
+
+instance BoxedObject Requisition where
+    boxedType _ = c_gtk_requisition_get_type
+
+-- | Construct a `Requisition` struct initialized to zero.
+newZeroRequisition :: MonadIO m => m Requisition
+newZeroRequisition = liftIO $ callocBoxedBytes 8 >>= wrapBoxed Requisition
+
+instance tag ~ 'AttrSet => Constructible Requisition tag where
+    new _ attrs = do
+        o <- newZeroRequisition
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `Requisition`.
+noRequisition :: Maybe Requisition
+noRequisition = Nothing
+
+{- |
+Get the value of the “@width@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' requisition #width
+@
+-}
+getRequisitionWidth :: MonadIO m => Requisition -> m Int32
+getRequisitionWidth s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@width@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' requisition [ #width 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRequisitionWidth :: MonadIO m => Requisition -> Int32 -> m ()
+setRequisitionWidth s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data RequisitionWidthFieldInfo
+instance AttrInfo RequisitionWidthFieldInfo where
+    type AttrAllowedOps RequisitionWidthFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RequisitionWidthFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint RequisitionWidthFieldInfo = (~) Requisition
+    type AttrGetType RequisitionWidthFieldInfo = Int32
+    type AttrLabel RequisitionWidthFieldInfo = "width"
+    type AttrOrigin RequisitionWidthFieldInfo = Requisition
+    attrGet _ = getRequisitionWidth
+    attrSet _ = setRequisitionWidth
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+requisition_width :: AttrLabelProxy "width"
+requisition_width = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@height@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' requisition #height
+@
+-}
+getRequisitionHeight :: MonadIO m => Requisition -> m Int32
+getRequisitionHeight s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@height@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' requisition [ #height 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setRequisitionHeight :: MonadIO m => Requisition -> Int32 -> m ()
+setRequisitionHeight s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 4) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data RequisitionHeightFieldInfo
+instance AttrInfo RequisitionHeightFieldInfo where
+    type AttrAllowedOps RequisitionHeightFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint RequisitionHeightFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint RequisitionHeightFieldInfo = (~) Requisition
+    type AttrGetType RequisitionHeightFieldInfo = Int32
+    type AttrLabel RequisitionHeightFieldInfo = "height"
+    type AttrOrigin RequisitionHeightFieldInfo = Requisition
+    attrGet _ = getRequisitionHeight
+    attrSet _ = setRequisitionHeight
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+requisition_height :: AttrLabelProxy "height"
+requisition_height = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList Requisition
+type instance O.AttributeList Requisition = RequisitionAttributeList
+type RequisitionAttributeList = ('[ '("width", RequisitionWidthFieldInfo), '("height", RequisitionHeightFieldInfo)] :: [(Symbol, *)])
+#endif
+
+-- method Requisition::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Requisition"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_requisition_new" gtk_requisition_new :: 
+    IO (Ptr Requisition)
+
+{- |
+Allocates a new 'GI.Gtk.Structs.Requisition.Requisition'-struct and initializes its elements to zero.
+
+/Since: 3.0/
+-}
+requisitionNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m Requisition
+    {- ^ __Returns:__ a new empty 'GI.Gtk.Structs.Requisition.Requisition'. The newly allocated 'GI.Gtk.Structs.Requisition.Requisition' should
+  be freed with 'GI.Gtk.Structs.Requisition.requisitionFree'. -}
+requisitionNew  = liftIO $ do
+    result <- gtk_requisition_new
+    checkUnexpectedReturnNULL "requisitionNew" result
+    result' <- (wrapBoxed Requisition) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method Requisition::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "requisition", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRequisition", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Requisition"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_requisition_copy" gtk_requisition_copy :: 
+    Ptr Requisition ->                      -- requisition : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    IO (Ptr Requisition)
+
+{- |
+Copies a 'GI.Gtk.Structs.Requisition.Requisition'.
+-}
+requisitionCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Requisition
+    {- ^ /@requisition@/: a 'GI.Gtk.Structs.Requisition.Requisition' -}
+    -> m Requisition
+    {- ^ __Returns:__ a copy of /@requisition@/ -}
+requisitionCopy requisition = liftIO $ do
+    requisition' <- unsafeManagedPtrGetPtr requisition
+    result <- gtk_requisition_copy requisition'
+    checkUnexpectedReturnNULL "requisitionCopy" result
+    result' <- (wrapBoxed Requisition) result
+    touchManagedPtr requisition
+    return result'
+
+#if ENABLE_OVERLOADING
+data RequisitionCopyMethodInfo
+instance (signature ~ (m Requisition), MonadIO m) => O.MethodInfo RequisitionCopyMethodInfo Requisition signature where
+    overloadedMethod _ = requisitionCopy
+
+#endif
+
+-- method Requisition::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "requisition", argType = TInterface (Name {namespace = "Gtk", name = "Requisition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRequisition", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_requisition_free" gtk_requisition_free :: 
+    Ptr Requisition ->                      -- requisition : TInterface (Name {namespace = "Gtk", name = "Requisition"})
+    IO ()
+
+{- |
+Frees a 'GI.Gtk.Structs.Requisition.Requisition'.
+-}
+requisitionFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Requisition
+    {- ^ /@requisition@/: a 'GI.Gtk.Structs.Requisition.Requisition' -}
+    -> m ()
+requisitionFree requisition = liftIO $ do
+    requisition' <- unsafeManagedPtrGetPtr requisition
+    gtk_requisition_free requisition'
+    touchManagedPtr requisition
+    return ()
+
+#if ENABLE_OVERLOADING
+data RequisitionFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RequisitionFreeMethodInfo Requisition signature where
+    overloadedMethod _ = requisitionFree
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveRequisitionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRequisitionMethod "copy" o = RequisitionCopyMethodInfo
+    ResolveRequisitionMethod "free" o = RequisitionFreeMethodInfo
+    ResolveRequisitionMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveRequisitionMethod t Requisition, O.MethodInfo info Requisition p) => OL.IsLabel t (Requisition -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/Requisition.hs-boot b/GI/Gtk/Structs/Requisition.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/Requisition.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.Requisition where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype Requisition = Requisition (ManagedPtr Requisition)
+instance BoxedObject Requisition where
+#if ENABLE_OVERLOADING
+data RequisitionCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data RequisitionFreeMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/SelectionData.hs b/GI/Gtk/Structs/SelectionData.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/SelectionData.hs
@@ -0,0 +1,1144 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.SelectionData
+    ( 
+
+-- * Exported types
+    SelectionData(..)                       ,
+    noSelectionData                         ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    SelectionDataCopyMethodInfo             ,
+#endif
+    selectionDataCopy                       ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    SelectionDataFreeMethodInfo             ,
+#endif
+    selectionDataFree                       ,
+
+
+-- ** getData #method:getData#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetDataMethodInfo          ,
+#endif
+    selectionDataGetData                    ,
+
+
+-- ** getDataType #method:getDataType#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetDataTypeMethodInfo      ,
+#endif
+    selectionDataGetDataType                ,
+
+
+-- ** getDisplay #method:getDisplay#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetDisplayMethodInfo       ,
+#endif
+    selectionDataGetDisplay                 ,
+
+
+-- ** getFormat #method:getFormat#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetFormatMethodInfo        ,
+#endif
+    selectionDataGetFormat                  ,
+
+
+-- ** getLength #method:getLength#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetLengthMethodInfo        ,
+#endif
+    selectionDataGetLength                  ,
+
+
+-- ** getPixbuf #method:getPixbuf#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetPixbufMethodInfo        ,
+#endif
+    selectionDataGetPixbuf                  ,
+
+
+-- ** getSelection #method:getSelection#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetSelectionMethodInfo     ,
+#endif
+    selectionDataGetSelection               ,
+
+
+-- ** getTarget #method:getTarget#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetTargetMethodInfo        ,
+#endif
+    selectionDataGetTarget                  ,
+
+
+-- ** getTargets #method:getTargets#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetTargetsMethodInfo       ,
+#endif
+    selectionDataGetTargets                 ,
+
+
+-- ** getText #method:getText#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetTextMethodInfo          ,
+#endif
+    selectionDataGetText                    ,
+
+
+-- ** getUris #method:getUris#
+
+#if ENABLE_OVERLOADING
+    SelectionDataGetUrisMethodInfo          ,
+#endif
+    selectionDataGetUris                    ,
+
+
+-- ** set #method:set#
+
+#if ENABLE_OVERLOADING
+    SelectionDataSetMethodInfo              ,
+#endif
+    selectionDataSet                        ,
+
+
+-- ** setPixbuf #method:setPixbuf#
+
+#if ENABLE_OVERLOADING
+    SelectionDataSetPixbufMethodInfo        ,
+#endif
+    selectionDataSetPixbuf                  ,
+
+
+-- ** setText #method:setText#
+
+#if ENABLE_OVERLOADING
+    SelectionDataSetTextMethodInfo          ,
+#endif
+    selectionDataSetText                    ,
+
+
+-- ** setUris #method:setUris#
+
+#if ENABLE_OVERLOADING
+    SelectionDataSetUrisMethodInfo          ,
+#endif
+    selectionDataSetUris                    ,
+
+
+-- ** targetsIncludeImage #method:targetsIncludeImage#
+
+#if ENABLE_OVERLOADING
+    SelectionDataTargetsIncludeImageMethodInfo,
+#endif
+    selectionDataTargetsIncludeImage        ,
+
+
+-- ** targetsIncludeRichText #method:targetsIncludeRichText#
+
+#if ENABLE_OVERLOADING
+    SelectionDataTargetsIncludeRichTextMethodInfo,
+#endif
+    selectionDataTargetsIncludeRichText     ,
+
+
+-- ** targetsIncludeText #method:targetsIncludeText#
+
+#if ENABLE_OVERLOADING
+    SelectionDataTargetsIncludeTextMethodInfo,
+#endif
+    selectionDataTargetsIncludeText         ,
+
+
+-- ** targetsIncludeUri #method:targetsIncludeUri#
+
+#if ENABLE_OVERLOADING
+    SelectionDataTargetsIncludeUriMethodInfo,
+#endif
+    selectionDataTargetsIncludeUri          ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Gdk.Objects.Display as Gdk.Display
+import qualified GI.Gdk.Structs.Atom as Gdk.Atom
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
+
+-- | Memory-managed wrapper type.
+newtype SelectionData = SelectionData (ManagedPtr SelectionData)
+foreign import ccall "gtk_selection_data_get_type" c_gtk_selection_data_get_type :: 
+    IO GType
+
+instance BoxedObject SelectionData where
+    boxedType _ = c_gtk_selection_data_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SelectionData`.
+noSelectionData :: Maybe SelectionData
+noSelectionData = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SelectionData
+type instance O.AttributeList SelectionData = SelectionDataAttributeList
+type SelectionDataAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method SelectionData::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SelectionData"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_copy" gtk_selection_data_copy :: 
+    Ptr SelectionData ->                    -- data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO (Ptr SelectionData)
+
+{- |
+Makes a copy of a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct and its data.
+-}
+selectionDataCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@data@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> m SelectionData
+    {- ^ __Returns:__ a pointer to a copy of /@data@/. -}
+selectionDataCopy data_ = liftIO $ do
+    data_' <- unsafeManagedPtrGetPtr data_
+    result <- gtk_selection_data_copy data_'
+    checkUnexpectedReturnNULL "selectionDataCopy" result
+    result' <- (wrapBoxed SelectionData) result
+    touchManagedPtr data_
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataCopyMethodInfo
+instance (signature ~ (m SelectionData), MonadIO m) => O.MethodInfo SelectionDataCopyMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataCopy
+
+#endif
+
+-- method SelectionData::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_free" gtk_selection_data_free :: 
+    Ptr SelectionData ->                    -- data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO ()
+
+{- |
+Frees a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct returned from
+'GI.Gtk.Structs.SelectionData.selectionDataCopy'.
+-}
+selectionDataFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@data@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> m ()
+selectionDataFree data_ = liftIO $ do
+    data_' <- unsafeManagedPtrGetPtr data_
+    gtk_selection_data_free data_'
+    touchManagedPtr data_
+    return ()
+
+#if ENABLE_OVERLOADING
+data SelectionDataFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo SelectionDataFreeMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataFree
+
+#endif
+
+-- method SelectionData::get_data_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_data_type" gtk_selection_data_get_data_type :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO (Ptr Gdk.Atom.Atom)
+
+{- |
+Retrieves the data type of the selection.
+
+/Since: 2.14/
+-}
+selectionDataGetDataType ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> m Gdk.Atom.Atom
+    {- ^ __Returns:__ the data type of the selection. -}
+selectionDataGetDataType selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_get_data_type selectionData'
+    checkUnexpectedReturnNULL "selectionDataGetDataType" result
+    result' <- (newPtr Gdk.Atom.Atom) result
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetDataTypeMethodInfo
+instance (signature ~ (m Gdk.Atom.Atom), MonadIO m) => O.MethodInfo SelectionDataGetDataTypeMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetDataType
+
+#endif
+
+-- method SelectionData::get_data
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for length of the data segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for length of the data segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TCArray False (-1) 1 (TBasicType TUInt8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_data_with_length" gtk_selection_data_get_data_with_length :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    Ptr Int32 ->                            -- length : TBasicType TInt
+    IO (Ptr Word8)
+
+{- |
+Retrieves the raw data of the selection along with its length.
+
+/Since: 3.0/
+-}
+selectionDataGetData ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> m ByteString
+    {- ^ __Returns:__ the raw data of the selection -}
+selectionDataGetData selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    length_ <- allocMem :: IO (Ptr Int32)
+    result <- gtk_selection_data_get_data_with_length selectionData' length_
+    length_' <- peek length_
+    checkUnexpectedReturnNULL "selectionDataGetData" result
+    result' <- (unpackByteStringWithLength length_') result
+    touchManagedPtr selectionData
+    freeMem length_
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetDataMethodInfo
+instance (signature ~ (m ByteString), MonadIO m) => O.MethodInfo SelectionDataGetDataMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetData
+
+#endif
+
+-- method SelectionData::get_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Display"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_display" gtk_selection_data_get_display :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO (Ptr Gdk.Display.Display)
+
+{- |
+Retrieves the display of the selection.
+
+/Since: 2.14/
+-}
+selectionDataGetDisplay ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> m Gdk.Display.Display
+    {- ^ __Returns:__ the display of the selection. -}
+selectionDataGetDisplay selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_get_display selectionData'
+    checkUnexpectedReturnNULL "selectionDataGetDisplay" result
+    result' <- (newObject Gdk.Display.Display) result
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetDisplayMethodInfo
+instance (signature ~ (m Gdk.Display.Display), MonadIO m) => O.MethodInfo SelectionDataGetDisplayMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetDisplay
+
+#endif
+
+-- method SelectionData::get_format
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_format" gtk_selection_data_get_format :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO Int32
+
+{- |
+Retrieves the format of the selection.
+
+/Since: 2.14/
+-}
+selectionDataGetFormat ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> m Int32
+    {- ^ __Returns:__ the format of the selection. -}
+selectionDataGetFormat selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_get_format selectionData'
+    touchManagedPtr selectionData
+    return result
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetFormatMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo SelectionDataGetFormatMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetFormat
+
+#endif
+
+-- method SelectionData::get_length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_length" gtk_selection_data_get_length :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO Int32
+
+{- |
+Retrieves the length of the raw data of the selection.
+
+/Since: 2.14/
+-}
+selectionDataGetLength ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> m Int32
+    {- ^ __Returns:__ the length of the data of the selection. -}
+selectionDataGetLength selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_get_length selectionData'
+    touchManagedPtr selectionData
+    return result
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetLengthMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo SelectionDataGetLengthMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetLength
+
+#endif
+
+-- method SelectionData::get_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_pixbuf" gtk_selection_data_get_pixbuf :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+Gets the contents of the selection data as a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'.
+
+/Since: 2.6/
+-}
+selectionDataGetPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' -}
+    -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
+    {- ^ __Returns:__ if the selection data
+  contained a recognized image type and it could be converted to a
+  'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf', a newly allocated pixbuf is returned, otherwise
+  'Nothing'.  If the result is non-'Nothing' it must be freed with
+  'GI.GObject.Objects.Object.objectUnref'. -}
+selectionDataGetPixbuf selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_get_pixbuf selectionData'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'
+        return result''
+    touchManagedPtr selectionData
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetPixbufMethodInfo
+instance (signature ~ (m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m) => O.MethodInfo SelectionDataGetPixbufMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetPixbuf
+
+#endif
+
+-- method SelectionData::get_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_selection" gtk_selection_data_get_selection :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO (Ptr Gdk.Atom.Atom)
+
+{- |
+Retrieves the selection 'GI.Gdk.Structs.Atom.Atom' of the selection data.
+
+/Since: 2.16/
+-}
+selectionDataGetSelection ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> m Gdk.Atom.Atom
+    {- ^ __Returns:__ the selection 'GI.Gdk.Structs.Atom.Atom' of the selection data. -}
+selectionDataGetSelection selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_get_selection selectionData'
+    checkUnexpectedReturnNULL "selectionDataGetSelection" result
+    result' <- (newPtr Gdk.Atom.Atom) result
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetSelectionMethodInfo
+instance (signature ~ (m Gdk.Atom.Atom), MonadIO m) => O.MethodInfo SelectionDataGetSelectionMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetSelection
+
+#endif
+
+-- method SelectionData::get_target
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_target" gtk_selection_data_get_target :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO (Ptr Gdk.Atom.Atom)
+
+{- |
+Retrieves the target of the selection.
+
+/Since: 2.14/
+-}
+selectionDataGetTarget ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> m Gdk.Atom.Atom
+    {- ^ __Returns:__ the target of the selection. -}
+selectionDataGetTarget selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_get_target selectionData'
+    checkUnexpectedReturnNULL "selectionDataGetTarget" result
+    result' <- (newPtr Gdk.Atom.Atom) result
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetTargetMethodInfo
+instance (signature ~ (m Gdk.Atom.Atom), MonadIO m) => O.MethodInfo SelectionDataGetTargetMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetTarget
+
+#endif
+
+-- method SelectionData::get_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Atom"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n          location to store an array of targets. The result stored\n          here must be freed with g_free().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferContainer},Arg {argCName = "n_atoms", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store number of items in @targets.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_atoms", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store number of items in @targets.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_targets" gtk_selection_data_get_targets :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    Ptr (Ptr (Ptr Gdk.Atom.Atom)) ->        -- targets : TCArray False (-1) 2 (TInterface (Name {namespace = "Gdk", name = "Atom"}))
+    Ptr Int32 ->                            -- n_atoms : TBasicType TInt
+    IO CInt
+
+{- |
+Gets the contents of /@selectionData@/ as an array of targets.
+This can be used to interpret the results of getting
+the standard TARGETS target that is always supplied for
+any selection.
+-}
+selectionDataGetTargets ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' object -}
+    -> m ((Bool, [Gdk.Atom.Atom]))
+    {- ^ __Returns:__ 'True' if /@selectionData@/ contains a valid
+   array of targets, otherwise 'False'. -}
+selectionDataGetTargets selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    targets <- allocMem :: IO (Ptr (Ptr (Ptr Gdk.Atom.Atom)))
+    nAtoms <- allocMem :: IO (Ptr Int32)
+    result <- gtk_selection_data_get_targets selectionData' targets nAtoms
+    nAtoms' <- peek nAtoms
+    let result' = (/= 0) result
+    targets' <- peek targets
+    targets'' <- (unpackPtrArrayWithLength nAtoms') targets'
+    targets''' <- mapM (newPtr Gdk.Atom.Atom) targets''
+    freeMem targets'
+    touchManagedPtr selectionData
+    freeMem targets
+    freeMem nAtoms
+    return (result', targets''')
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetTargetsMethodInfo
+instance (signature ~ (m ((Bool, [Gdk.Atom.Atom]))), MonadIO m) => O.MethodInfo SelectionDataGetTargetsMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetTargets
+
+#endif
+
+-- method SelectionData::get_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_text" gtk_selection_data_get_text :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO CString
+
+{- |
+Gets the contents of the selection data as a UTF-8 string.
+-}
+selectionDataGetText ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ if the selection data contained a
+  recognized text type and it could be converted to UTF-8, a newly
+  allocated string containing the converted text, otherwise 'Nothing'.
+  If the result is non-'Nothing' it must be freed with 'GI.GLib.Functions.free'. -}
+selectionDataGetText selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_get_text selectionData'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        freeMem result'
+        return result''
+    touchManagedPtr selectionData
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetTextMethodInfo
+instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo SelectionDataGetTextMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetText
+
+#endif
+
+-- method SelectionData::get_uris
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_get_uris" gtk_selection_data_get_uris :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO (Ptr CString)
+
+{- |
+Gets the contents of the selection data as array of URIs.
+
+/Since: 2.6/
+-}
+selectionDataGetUris ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' -}
+    -> m [T.Text]
+    {- ^ __Returns:__ if
+  the selection data contains a list of
+  URIs, a newly allocated 'Nothing'-terminated string array
+  containing the URIs, otherwise 'Nothing'. If the result is
+  non-'Nothing' it must be freed with 'GI.GLib.Functions.strfreev'. -}
+selectionDataGetUris selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_get_uris selectionData'
+    checkUnexpectedReturnNULL "selectionDataGetUris" result
+    result' <- unpackZeroTerminatedUTF8CArray result
+    mapZeroTerminatedCArray freeMem result
+    freeMem result
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataGetUrisMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m) => O.MethodInfo SelectionDataGetUrisMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataGetUris
+
+#endif
+
+-- method SelectionData::set
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkSelectionData-struct.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of selection data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "format (number of bits in a unit)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the data (will be copied)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_set" gtk_selection_data_set :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    Ptr Gdk.Atom.Atom ->                    -- type : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Int32 ->                                -- format : TBasicType TInt
+    Ptr Word8 ->                            -- data : TCArray False (-1) 4 (TBasicType TUInt8)
+    Int32 ->                                -- length : TBasicType TInt
+    IO ()
+
+{- |
+Stores new data into a 'GI.Gtk.Structs.SelectionData.SelectionData' object. Should
+only be called from a selection handler callback.
+Zero-terminates the stored data.
+-}
+selectionDataSet ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a pointer to a 'GI.Gtk.Structs.SelectionData.SelectionData'-struct. -}
+    -> Gdk.Atom.Atom
+    {- ^ /@type@/: the type of selection data -}
+    -> Int32
+    {- ^ /@format@/: format (number of bits in a unit) -}
+    -> ByteString
+    {- ^ /@data@/: pointer to the data (will be copied) -}
+    -> m ()
+selectionDataSet selectionData type_ format data_ = liftIO $ do
+    let length_ = fromIntegral $ B.length data_
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    type_' <- unsafeManagedPtrGetPtr type_
+    data_' <- packByteString data_
+    gtk_selection_data_set selectionData' type_' format data_' length_
+    touchManagedPtr selectionData
+    touchManagedPtr type_
+    freeMem data_'
+    return ()
+
+#if ENABLE_OVERLOADING
+data SelectionDataSetMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> Int32 -> ByteString -> m ()), MonadIO m) => O.MethodInfo SelectionDataSetMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataSet
+
+#endif
+
+-- method SelectionData::set_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkPixbuf", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_set_pixbuf" gtk_selection_data_set_pixbuf :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})
+    IO CInt
+
+{- |
+Sets the contents of the selection from a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'
+The pixbuf is converted to the form determined by
+/@selectionData@/->target.
+
+/Since: 2.6/
+-}
+selectionDataSetPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' -}
+    -> a
+    {- ^ /@pixbuf@/: a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the selection was successfully set,
+  otherwise 'False'. -}
+selectionDataSetPixbuf selectionData pixbuf = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf
+    result <- gtk_selection_data_set_pixbuf selectionData' pixbuf'
+    let result' = (/= 0) result
+    touchManagedPtr selectionData
+    touchManagedPtr pixbuf
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataSetPixbufMethodInfo
+instance (signature ~ (a -> m Bool), MonadIO m, GdkPixbuf.Pixbuf.IsPixbuf a) => O.MethodInfo SelectionDataSetPixbufMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataSetPixbuf
+
+#endif
+
+-- method SelectionData::set_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @str, or -1 if @str is nul-terminated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_set_text" gtk_selection_data_set_text :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    CString ->                              -- str : TBasicType TUTF8
+    Int32 ->                                -- len : TBasicType TInt
+    IO CInt
+
+{- |
+Sets the contents of the selection from a UTF-8 encoded string.
+The string is converted to the form determined by
+/@selectionData@/->target.
+-}
+selectionDataSetText ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' -}
+    -> T.Text
+    {- ^ /@str@/: a UTF-8 string -}
+    -> Int32
+    {- ^ /@len@/: the length of /@str@/, or -1 if /@str@/ is nul-terminated. -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the selection was successfully set,
+  otherwise 'False'. -}
+selectionDataSetText selectionData str len = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    str' <- textToCString str
+    result <- gtk_selection_data_set_text selectionData' str' len
+    let result' = (/= 0) result
+    touchManagedPtr selectionData
+    freeMem str'
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataSetTextMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m Bool), MonadIO m) => O.MethodInfo SelectionDataSetTextMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataSetText
+
+#endif
+
+-- method SelectionData::set_uris
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uris", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of\n    strings holding URIs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_set_uris" gtk_selection_data_set_uris :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    Ptr CString ->                          -- uris : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO CInt
+
+{- |
+Sets the contents of the selection from a list of URIs.
+The string is converted to the form determined by
+/@selectionData@/->target.
+
+/Since: 2.6/
+-}
+selectionDataSetUris ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' -}
+    -> [T.Text]
+    {- ^ /@uris@/: a 'Nothing'-terminated array of
+    strings holding URIs -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the selection was successfully set,
+  otherwise 'False'. -}
+selectionDataSetUris selectionData uris = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    uris' <- packZeroTerminatedUTF8CArray uris
+    result <- gtk_selection_data_set_uris selectionData' uris'
+    let result' = (/= 0) result
+    touchManagedPtr selectionData
+    mapZeroTerminatedCArray freeMem uris'
+    freeMem uris'
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataSetUrisMethodInfo
+instance (signature ~ ([T.Text] -> m Bool), MonadIO m) => O.MethodInfo SelectionDataSetUrisMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataSetUris
+
+#endif
+
+-- method SelectionData::targets_include_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "writable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to accept only targets for which GTK+ knows\n  how to convert a pixbuf into the format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_targets_include_image" gtk_selection_data_targets_include_image :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    CInt ->                                 -- writable : TBasicType TBoolean
+    IO CInt
+
+{- |
+Given a 'GI.Gtk.Structs.SelectionData.SelectionData' object holding a list of targets,
+determines if any of the targets in /@targets@/ can be used to
+provide a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'.
+
+/Since: 2.6/
+-}
+selectionDataTargetsIncludeImage ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' object -}
+    -> Bool
+    {- ^ /@writable@/: whether to accept only targets for which GTK+ knows
+  how to convert a pixbuf into the format -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@selectionData@/ holds a list of targets,
+  and a suitable target for images is included, otherwise 'False'. -}
+selectionDataTargetsIncludeImage selectionData writable = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    let writable' = (fromIntegral . fromEnum) writable
+    result <- gtk_selection_data_targets_include_image selectionData' writable'
+    let result' = (/= 0) result
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataTargetsIncludeImageMethodInfo
+instance (signature ~ (Bool -> m Bool), MonadIO m) => O.MethodInfo SelectionDataTargetsIncludeImageMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataTargetsIncludeImage
+
+#endif
+
+-- method SelectionData::targets_include_rich_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_targets_include_rich_text" gtk_selection_data_targets_include_rich_text :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    Ptr Gtk.TextBuffer.TextBuffer ->        -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO CInt
+
+{- |
+Given a 'GI.Gtk.Structs.SelectionData.SelectionData' object holding a list of targets,
+determines if any of the targets in /@targets@/ can be used to
+provide rich text.
+
+/Since: 2.10/
+-}
+selectionDataTargetsIncludeRichText ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextBuffer.IsTextBuffer a) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' object -}
+    -> a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@selectionData@/ holds a list of targets,
+              and a suitable target for rich text is included,
+              otherwise 'False'. -}
+selectionDataTargetsIncludeRichText selectionData buffer = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    result <- gtk_selection_data_targets_include_rich_text selectionData' buffer'
+    let result' = (/= 0) result
+    touchManagedPtr selectionData
+    touchManagedPtr buffer
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataTargetsIncludeRichTextMethodInfo
+instance (signature ~ (a -> m Bool), MonadIO m, Gtk.TextBuffer.IsTextBuffer a) => O.MethodInfo SelectionDataTargetsIncludeRichTextMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataTargetsIncludeRichText
+
+#endif
+
+-- method SelectionData::targets_include_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_targets_include_text" gtk_selection_data_targets_include_text :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO CInt
+
+{- |
+Given a 'GI.Gtk.Structs.SelectionData.SelectionData' object holding a list of targets,
+determines if any of the targets in /@targets@/ can be used to
+provide text.
+-}
+selectionDataTargetsIncludeText ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' object -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@selectionData@/ holds a list of targets,
+  and a suitable target for text is included, otherwise 'False'. -}
+selectionDataTargetsIncludeText selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_targets_include_text selectionData'
+    let result' = (/= 0) result
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataTargetsIncludeTextMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SelectionDataTargetsIncludeTextMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataTargetsIncludeText
+
+#endif
+
+-- method SelectionData::targets_include_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "selection_data", argType = TInterface (Name {namespace = "Gtk", name = "SelectionData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSelectionData object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_selection_data_targets_include_uri" gtk_selection_data_targets_include_uri :: 
+    Ptr SelectionData ->                    -- selection_data : TInterface (Name {namespace = "Gtk", name = "SelectionData"})
+    IO CInt
+
+{- |
+Given a 'GI.Gtk.Structs.SelectionData.SelectionData' object holding a list of targets,
+determines if any of the targets in /@targets@/ can be used to
+provide a list or URIs.
+
+/Since: 2.10/
+-}
+selectionDataTargetsIncludeUri ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SelectionData
+    {- ^ /@selectionData@/: a 'GI.Gtk.Structs.SelectionData.SelectionData' object -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@selectionData@/ holds a list of targets,
+  and a suitable target for URI lists is included, otherwise 'False'. -}
+selectionDataTargetsIncludeUri selectionData = liftIO $ do
+    selectionData' <- unsafeManagedPtrGetPtr selectionData
+    result <- gtk_selection_data_targets_include_uri selectionData'
+    let result' = (/= 0) result
+    touchManagedPtr selectionData
+    return result'
+
+#if ENABLE_OVERLOADING
+data SelectionDataTargetsIncludeUriMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SelectionDataTargetsIncludeUriMethodInfo SelectionData signature where
+    overloadedMethod _ = selectionDataTargetsIncludeUri
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveSelectionDataMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSelectionDataMethod "copy" o = SelectionDataCopyMethodInfo
+    ResolveSelectionDataMethod "free" o = SelectionDataFreeMethodInfo
+    ResolveSelectionDataMethod "set" o = SelectionDataSetMethodInfo
+    ResolveSelectionDataMethod "targetsIncludeImage" o = SelectionDataTargetsIncludeImageMethodInfo
+    ResolveSelectionDataMethod "targetsIncludeRichText" o = SelectionDataTargetsIncludeRichTextMethodInfo
+    ResolveSelectionDataMethod "targetsIncludeText" o = SelectionDataTargetsIncludeTextMethodInfo
+    ResolveSelectionDataMethod "targetsIncludeUri" o = SelectionDataTargetsIncludeUriMethodInfo
+    ResolveSelectionDataMethod "getDataType" o = SelectionDataGetDataTypeMethodInfo
+    ResolveSelectionDataMethod "getData" o = SelectionDataGetDataMethodInfo
+    ResolveSelectionDataMethod "getDisplay" o = SelectionDataGetDisplayMethodInfo
+    ResolveSelectionDataMethod "getFormat" o = SelectionDataGetFormatMethodInfo
+    ResolveSelectionDataMethod "getLength" o = SelectionDataGetLengthMethodInfo
+    ResolveSelectionDataMethod "getPixbuf" o = SelectionDataGetPixbufMethodInfo
+    ResolveSelectionDataMethod "getSelection" o = SelectionDataGetSelectionMethodInfo
+    ResolveSelectionDataMethod "getTarget" o = SelectionDataGetTargetMethodInfo
+    ResolveSelectionDataMethod "getTargets" o = SelectionDataGetTargetsMethodInfo
+    ResolveSelectionDataMethod "getText" o = SelectionDataGetTextMethodInfo
+    ResolveSelectionDataMethod "getUris" o = SelectionDataGetUrisMethodInfo
+    ResolveSelectionDataMethod "setPixbuf" o = SelectionDataSetPixbufMethodInfo
+    ResolveSelectionDataMethod "setText" o = SelectionDataSetTextMethodInfo
+    ResolveSelectionDataMethod "setUris" o = SelectionDataSetUrisMethodInfo
+    ResolveSelectionDataMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSelectionDataMethod t SelectionData, O.MethodInfo info SelectionData p) => OL.IsLabel t (SelectionData -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/SelectionData.hs-boot b/GI/Gtk/Structs/SelectionData.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/SelectionData.hs-boot
@@ -0,0 +1,89 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.SelectionData where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SelectionData = SelectionData (ManagedPtr SelectionData)
+instance BoxedObject SelectionData where
+#if ENABLE_OVERLOADING
+data SelectionDataCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataFreeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetDataTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetDataMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetDisplayMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetFormatMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetSelectionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetTargetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataGetUrisMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataSetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataSetPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataSetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataSetUrisMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataTargetsIncludeImageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataTargetsIncludeRichTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataTargetsIncludeTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SelectionDataTargetsIncludeUriMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/SettingsValue.hs b/GI/Gtk/Structs/SettingsValue.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/SettingsValue.hs
@@ -0,0 +1,207 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.SettingsValue
+    ( 
+
+-- * Exported types
+    SettingsValue(..)                       ,
+    newZeroSettingsValue                    ,
+    noSettingsValue                         ,
+
+
+ -- * Properties
+-- ** origin #attr:origin#
+{- | Origin should be something like “filename:linenumber” for
+   rc files, or e.g. “XProperty” for other sources.
+-}
+    clearSettingsValueOrigin                ,
+    getSettingsValueOrigin                  ,
+    setSettingsValueOrigin                  ,
+#if ENABLE_OVERLOADING
+    settingsValue_origin                    ,
+#endif
+
+
+-- ** value #attr:value#
+{- | Valid types are LONG, DOUBLE and STRING corresponding to
+   the token parsed, or a GSTRING holding an unparsed statement
+-}
+    getSettingsValueValue                   ,
+#if ENABLE_OVERLOADING
+    settingsValue_value                     ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype SettingsValue = SettingsValue (ManagedPtr SettingsValue)
+instance WrappedPtr SettingsValue where
+    wrappedPtrCalloc = callocBytes 32
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr SettingsValue)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `SettingsValue` struct initialized to zero.
+newZeroSettingsValue :: MonadIO m => m SettingsValue
+newZeroSettingsValue = liftIO $ wrappedPtrCalloc >>= wrapPtr SettingsValue
+
+instance tag ~ 'AttrSet => Constructible SettingsValue tag where
+    new _ attrs = do
+        o <- newZeroSettingsValue
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SettingsValue`.
+noSettingsValue :: Maybe SettingsValue
+noSettingsValue = Nothing
+
+{- |
+Get the value of the “@origin@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settingsValue #origin
+@
+-}
+getSettingsValueOrigin :: MonadIO m => SettingsValue -> m (Maybe T.Text)
+getSettingsValueOrigin s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@origin@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' settingsValue [ #origin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setSettingsValueOrigin :: MonadIO m => SettingsValue -> CString -> m ()
+setSettingsValueOrigin s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: CString)
+
+{- |
+Set the value of the “@origin@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #origin
+@
+-}
+clearSettingsValueOrigin :: MonadIO m => SettingsValue -> m ()
+clearSettingsValueOrigin s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data SettingsValueOriginFieldInfo
+instance AttrInfo SettingsValueOriginFieldInfo where
+    type AttrAllowedOps SettingsValueOriginFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint SettingsValueOriginFieldInfo = (~) CString
+    type AttrBaseTypeConstraint SettingsValueOriginFieldInfo = (~) SettingsValue
+    type AttrGetType SettingsValueOriginFieldInfo = Maybe T.Text
+    type AttrLabel SettingsValueOriginFieldInfo = "origin"
+    type AttrOrigin SettingsValueOriginFieldInfo = SettingsValue
+    attrGet _ = getSettingsValueOrigin
+    attrSet _ = setSettingsValueOrigin
+    attrConstruct = undefined
+    attrClear _ = clearSettingsValueOrigin
+
+settingsValue_origin :: AttrLabelProxy "origin"
+settingsValue_origin = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@value@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' settingsValue #value
+@
+-}
+getSettingsValueValue :: MonadIO m => SettingsValue -> m GValue
+getSettingsValueValue s = liftIO $ withManagedPtr s $ \ptr -> do
+    let val = ptr `plusPtr` 8 :: (Ptr GValue)
+    val' <- (newBoxed GValue) val
+    return val'
+
+#if ENABLE_OVERLOADING
+data SettingsValueValueFieldInfo
+instance AttrInfo SettingsValueValueFieldInfo where
+    type AttrAllowedOps SettingsValueValueFieldInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint SettingsValueValueFieldInfo = (~) (Ptr GValue)
+    type AttrBaseTypeConstraint SettingsValueValueFieldInfo = (~) SettingsValue
+    type AttrGetType SettingsValueValueFieldInfo = GValue
+    type AttrLabel SettingsValueValueFieldInfo = "value"
+    type AttrOrigin SettingsValueValueFieldInfo = SettingsValue
+    attrGet _ = getSettingsValueValue
+    attrSet _ = undefined
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+settingsValue_value :: AttrLabelProxy "value"
+settingsValue_value = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SettingsValue
+type instance O.AttributeList SettingsValue = SettingsValueAttributeList
+type SettingsValueAttributeList = ('[ '("origin", SettingsValueOriginFieldInfo), '("value", SettingsValueValueFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveSettingsValueMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSettingsValueMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSettingsValueMethod t SettingsValue, O.MethodInfo info SettingsValue p) => OL.IsLabel t (SettingsValue -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/SettingsValue.hs-boot b/GI/Gtk/Structs/SettingsValue.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/SettingsValue.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.SettingsValue where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SettingsValue = SettingsValue (ManagedPtr SettingsValue)
+instance WrappedPtr SettingsValue where
diff --git a/GI/Gtk/Structs/StockItem.hs b/GI/Gtk/Structs/StockItem.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/StockItem.hs
@@ -0,0 +1,465 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.StockItem
+    ( 
+
+-- * Exported types
+    StockItem(..)                           ,
+    newZeroStockItem                        ,
+    noStockItem                             ,
+
+
+ -- * Methods
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    StockItemFreeMethodInfo                 ,
+#endif
+    stockItemFree                           ,
+
+
+
+
+ -- * Properties
+-- ** keyval #attr:keyval#
+{- | Keyboard accelerator
+-}
+    getStockItemKeyval                      ,
+    setStockItemKeyval                      ,
+#if ENABLE_OVERLOADING
+    stockItem_keyval                        ,
+#endif
+
+
+-- ** label #attr:label#
+{- | User visible label.
+-}
+    clearStockItemLabel                     ,
+    getStockItemLabel                       ,
+    setStockItemLabel                       ,
+#if ENABLE_OVERLOADING
+    stockItem_label                         ,
+#endif
+
+
+-- ** modifier #attr:modifier#
+{- | Modifier type for keyboard accelerator
+-}
+    getStockItemModifier                    ,
+    setStockItemModifier                    ,
+#if ENABLE_OVERLOADING
+    stockItem_modifier                      ,
+#endif
+
+
+-- ** stockId #attr:stockId#
+{- | Identifier.
+-}
+    clearStockItemStockId                   ,
+    getStockItemStockId                     ,
+    setStockItemStockId                     ,
+#if ENABLE_OVERLOADING
+    stockItem_stockId                       ,
+#endif
+
+
+-- ** translationDomain #attr:translationDomain#
+{- | Translation domain of the menu or toolbar item
+-}
+    clearStockItemTranslationDomain         ,
+    getStockItemTranslationDomain           ,
+    setStockItemTranslationDomain           ,
+#if ENABLE_OVERLOADING
+    stockItem_translationDomain             ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Gdk.Flags as Gdk.Flags
+
+-- | Memory-managed wrapper type.
+newtype StockItem = StockItem (ManagedPtr StockItem)
+instance WrappedPtr StockItem where
+    wrappedPtrCalloc = callocBytes 32
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr StockItem)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `StockItem` struct initialized to zero.
+newZeroStockItem :: MonadIO m => m StockItem
+newZeroStockItem = liftIO $ wrappedPtrCalloc >>= wrapPtr StockItem
+
+instance tag ~ 'AttrSet => Constructible StockItem tag where
+    new _ attrs = do
+        o <- newZeroStockItem
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `StockItem`.
+noStockItem :: Maybe StockItem
+noStockItem = Nothing
+
+{- |
+Get the value of the “@stock_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stockItem #stockId
+@
+-}
+getStockItemStockId :: MonadIO m => StockItem -> m (Maybe T.Text)
+getStockItemStockId s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@stock_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stockItem [ #stockId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStockItemStockId :: MonadIO m => StockItem -> CString -> m ()
+setStockItemStockId s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: CString)
+
+{- |
+Set the value of the “@stock_id@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stockId
+@
+-}
+clearStockItemStockId :: MonadIO m => StockItem -> m ()
+clearStockItemStockId s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data StockItemStockIdFieldInfo
+instance AttrInfo StockItemStockIdFieldInfo where
+    type AttrAllowedOps StockItemStockIdFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StockItemStockIdFieldInfo = (~) CString
+    type AttrBaseTypeConstraint StockItemStockIdFieldInfo = (~) StockItem
+    type AttrGetType StockItemStockIdFieldInfo = Maybe T.Text
+    type AttrLabel StockItemStockIdFieldInfo = "stock_id"
+    type AttrOrigin StockItemStockIdFieldInfo = StockItem
+    attrGet _ = getStockItemStockId
+    attrSet _ = setStockItemStockId
+    attrConstruct = undefined
+    attrClear _ = clearStockItemStockId
+
+stockItem_stockId :: AttrLabelProxy "stockId"
+stockItem_stockId = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stockItem #label
+@
+-}
+getStockItemLabel :: MonadIO m => StockItem -> m (Maybe T.Text)
+getStockItemLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stockItem [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStockItemLabel :: MonadIO m => StockItem -> CString -> m ()
+setStockItemLabel s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@label@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #label
+@
+-}
+clearStockItemLabel :: MonadIO m => StockItem -> m ()
+clearStockItemLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data StockItemLabelFieldInfo
+instance AttrInfo StockItemLabelFieldInfo where
+    type AttrAllowedOps StockItemLabelFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StockItemLabelFieldInfo = (~) CString
+    type AttrBaseTypeConstraint StockItemLabelFieldInfo = (~) StockItem
+    type AttrGetType StockItemLabelFieldInfo = Maybe T.Text
+    type AttrLabel StockItemLabelFieldInfo = "label"
+    type AttrOrigin StockItemLabelFieldInfo = StockItem
+    attrGet _ = getStockItemLabel
+    attrSet _ = setStockItemLabel
+    attrConstruct = undefined
+    attrClear _ = clearStockItemLabel
+
+stockItem_label :: AttrLabelProxy "label"
+stockItem_label = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@modifier@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stockItem #modifier
+@
+-}
+getStockItemModifier :: MonadIO m => StockItem -> m [Gdk.Flags.ModifierType]
+getStockItemModifier s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+{- |
+Set the value of the “@modifier@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stockItem [ #modifier 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStockItemModifier :: MonadIO m => StockItem -> [Gdk.Flags.ModifierType] -> m ()
+setStockItemModifier s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = gflagsToWord val
+    poke (ptr `plusPtr` 16) (val' :: CUInt)
+
+#if ENABLE_OVERLOADING
+data StockItemModifierFieldInfo
+instance AttrInfo StockItemModifierFieldInfo where
+    type AttrAllowedOps StockItemModifierFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint StockItemModifierFieldInfo = (~) [Gdk.Flags.ModifierType]
+    type AttrBaseTypeConstraint StockItemModifierFieldInfo = (~) StockItem
+    type AttrGetType StockItemModifierFieldInfo = [Gdk.Flags.ModifierType]
+    type AttrLabel StockItemModifierFieldInfo = "modifier"
+    type AttrOrigin StockItemModifierFieldInfo = StockItem
+    attrGet _ = getStockItemModifier
+    attrSet _ = setStockItemModifier
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+stockItem_modifier :: AttrLabelProxy "modifier"
+stockItem_modifier = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@keyval@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stockItem #keyval
+@
+-}
+getStockItemKeyval :: MonadIO m => StockItem -> m Word32
+getStockItemKeyval s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@keyval@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stockItem [ #keyval 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStockItemKeyval :: MonadIO m => StockItem -> Word32 -> m ()
+setStockItemKeyval s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 20) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data StockItemKeyvalFieldInfo
+instance AttrInfo StockItemKeyvalFieldInfo where
+    type AttrAllowedOps StockItemKeyvalFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint StockItemKeyvalFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint StockItemKeyvalFieldInfo = (~) StockItem
+    type AttrGetType StockItemKeyvalFieldInfo = Word32
+    type AttrLabel StockItemKeyvalFieldInfo = "keyval"
+    type AttrOrigin StockItemKeyvalFieldInfo = StockItem
+    attrGet _ = getStockItemKeyval
+    attrSet _ = setStockItemKeyval
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+stockItem_keyval :: AttrLabelProxy "keyval"
+stockItem_keyval = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@translation_domain@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' stockItem #translationDomain
+@
+-}
+getStockItemTranslationDomain :: MonadIO m => StockItem -> m (Maybe T.Text)
+getStockItemTranslationDomain s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@translation_domain@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' stockItem [ #translationDomain 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setStockItemTranslationDomain :: MonadIO m => StockItem -> CString -> m ()
+setStockItemTranslationDomain s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: CString)
+
+{- |
+Set the value of the “@translation_domain@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #translationDomain
+@
+-}
+clearStockItemTranslationDomain :: MonadIO m => StockItem -> m ()
+clearStockItemTranslationDomain s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data StockItemTranslationDomainFieldInfo
+instance AttrInfo StockItemTranslationDomainFieldInfo where
+    type AttrAllowedOps StockItemTranslationDomainFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint StockItemTranslationDomainFieldInfo = (~) CString
+    type AttrBaseTypeConstraint StockItemTranslationDomainFieldInfo = (~) StockItem
+    type AttrGetType StockItemTranslationDomainFieldInfo = Maybe T.Text
+    type AttrLabel StockItemTranslationDomainFieldInfo = "translation_domain"
+    type AttrOrigin StockItemTranslationDomainFieldInfo = StockItem
+    attrGet _ = getStockItemTranslationDomain
+    attrSet _ = setStockItemTranslationDomain
+    attrConstruct = undefined
+    attrClear _ = clearStockItemTranslationDomain
+
+stockItem_translationDomain :: AttrLabelProxy "translationDomain"
+stockItem_translationDomain = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList StockItem
+type instance O.AttributeList StockItem = StockItemAttributeList
+type StockItemAttributeList = ('[ '("stockId", StockItemStockIdFieldInfo), '("label", StockItemLabelFieldInfo), '("modifier", StockItemModifierFieldInfo), '("keyval", StockItemKeyvalFieldInfo), '("translationDomain", StockItemTranslationDomainFieldInfo)] :: [(Symbol, *)])
+#endif
+
+-- method StockItem::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "Gtk", name = "StockItem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStockItem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_stock_item_free" gtk_stock_item_free :: 
+    Ptr StockItem ->                        -- item : TInterface (Name {namespace = "Gtk", name = "StockItem"})
+    IO ()
+
+{-# DEPRECATED stockItemFree ["(Since version 3.10)"] #-}
+{- |
+Frees a stock item allocated on the heap, such as one returned by
+@/gtk_stock_item_copy()/@. Also frees the fields inside the stock item,
+if they are not 'Nothing'.
+-}
+stockItemFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    StockItem
+    {- ^ /@item@/: a 'GI.Gtk.Structs.StockItem.StockItem' -}
+    -> m ()
+stockItemFree item = liftIO $ do
+    item' <- unsafeManagedPtrGetPtr item
+    gtk_stock_item_free item'
+    touchManagedPtr item
+    return ()
+
+#if ENABLE_OVERLOADING
+data StockItemFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo StockItemFreeMethodInfo StockItem signature where
+    overloadedMethod _ = stockItemFree
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveStockItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStockItemMethod "free" o = StockItemFreeMethodInfo
+    ResolveStockItemMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveStockItemMethod t StockItem, O.MethodInfo info StockItem p) => OL.IsLabel t (StockItem -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/StockItem.hs-boot b/GI/Gtk/Structs/StockItem.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/StockItem.hs-boot
@@ -0,0 +1,29 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.StockItem where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype StockItem = StockItem (ManagedPtr StockItem)
+instance WrappedPtr StockItem where
+#if ENABLE_OVERLOADING
+data StockItemFreeMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/SymbolicColor.hs b/GI/Gtk/Structs/SymbolicColor.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/SymbolicColor.hs
@@ -0,0 +1,583 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkSymbolicColor is a boxed type that represents a symbolic color.
+It is the result of parsing a
+[color expression][gtkcssprovider-symbolic-colors].
+To obtain the color represented by a GtkSymbolicColor, it has to
+be resolved with 'GI.Gtk.Structs.SymbolicColor.symbolicColorResolve', which replaces all
+symbolic color references by the colors they refer to (in a given
+context) and evaluates mix, shade and other expressions, resulting
+in a 'GI.Gdk.Structs.RGBA.RGBA' value.
+
+It is not normally necessary to deal directly with @/GtkSymbolicColors/@,
+since they are mostly used behind the scenes by 'GI.Gtk.Objects.StyleContext.StyleContext' and
+'GI.Gtk.Objects.CssProvider.CssProvider'.
+
+'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated. Symbolic colors are considered an
+implementation detail of GTK+.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.SymbolicColor
+    ( 
+
+-- * Exported types
+    SymbolicColor(..)                       ,
+    noSymbolicColor                         ,
+
+
+ -- * Methods
+-- ** newAlpha #method:newAlpha#
+
+    symbolicColorNewAlpha                   ,
+
+
+-- ** newLiteral #method:newLiteral#
+
+    symbolicColorNewLiteral                 ,
+
+
+-- ** newMix #method:newMix#
+
+    symbolicColorNewMix                     ,
+
+
+-- ** newName #method:newName#
+
+    symbolicColorNewName                    ,
+
+
+-- ** newShade #method:newShade#
+
+    symbolicColorNewShade                   ,
+
+
+-- ** newWin32 #method:newWin32#
+
+    symbolicColorNewWin32                   ,
+
+
+-- ** ref #method:ref#
+
+#if ENABLE_OVERLOADING
+    SymbolicColorRefMethodInfo              ,
+#endif
+    symbolicColorRef                        ,
+
+
+-- ** resolve #method:resolve#
+
+#if ENABLE_OVERLOADING
+    SymbolicColorResolveMethodInfo          ,
+#endif
+    symbolicColorResolve                    ,
+
+
+-- ** toString #method:toString#
+
+#if ENABLE_OVERLOADING
+    SymbolicColorToStringMethodInfo         ,
+#endif
+    symbolicColorToString                   ,
+
+
+-- ** unref #method:unref#
+
+#if ENABLE_OVERLOADING
+    SymbolicColorUnrefMethodInfo            ,
+#endif
+    symbolicColorUnref                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
+import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleProperties as Gtk.StyleProperties
+
+-- | Memory-managed wrapper type.
+newtype SymbolicColor = SymbolicColor (ManagedPtr SymbolicColor)
+foreign import ccall "gtk_symbolic_color_get_type" c_gtk_symbolic_color_get_type :: 
+    IO GType
+
+instance BoxedObject SymbolicColor where
+    boxedType _ = c_gtk_symbolic_color_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `SymbolicColor`.
+noSymbolicColor :: Maybe SymbolicColor
+noSymbolicColor = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList SymbolicColor
+type instance O.AttributeList SymbolicColor = SymbolicColorAttributeList
+type SymbolicColorAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method SymbolicColor::new_alpha
+-- method type : Constructor
+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkSymbolicColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "factor", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factor to apply to @color alpha", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_new_alpha" gtk_symbolic_color_new_alpha :: 
+    Ptr SymbolicColor ->                    -- color : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    CDouble ->                              -- factor : TBasicType TDouble
+    IO (Ptr SymbolicColor)
+
+{-# DEPRECATED symbolicColorNewAlpha ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Creates a symbolic color by modifying the relative alpha
+value of /@color@/. A factor \< 1.0 would resolve to a more
+transparent color, while > 1.0 would resolve to a more
+opaque color.
+
+/Since: 3.0/
+-}
+symbolicColorNewAlpha ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SymbolicColor
+    {- ^ /@color@/: another 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+    -> Double
+    {- ^ /@factor@/: factor to apply to /@color@/ alpha -}
+    -> m SymbolicColor
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+symbolicColorNewAlpha color factor = liftIO $ do
+    color' <- unsafeManagedPtrGetPtr color
+    let factor' = realToFrac factor
+    result <- gtk_symbolic_color_new_alpha color' factor'
+    checkUnexpectedReturnNULL "symbolicColorNewAlpha" result
+    result' <- (wrapBoxed SymbolicColor) result
+    touchManagedPtr color
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SymbolicColor::new_literal
+-- method type : Constructor
+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkRGBA", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_new_literal" gtk_symbolic_color_new_literal :: 
+    Ptr Gdk.RGBA.RGBA ->                    -- color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO (Ptr SymbolicColor)
+
+{-# DEPRECATED symbolicColorNewLiteral ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Creates a symbolic color pointing to a literal color.
+
+/Since: 3.0/
+-}
+symbolicColorNewLiteral ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Gdk.RGBA.RGBA
+    {- ^ /@color@/: a 'GI.Gdk.Structs.RGBA.RGBA' -}
+    -> m SymbolicColor
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+symbolicColorNewLiteral color = liftIO $ do
+    color' <- unsafeManagedPtrGetPtr color
+    result <- gtk_symbolic_color_new_literal color'
+    checkUnexpectedReturnNULL "symbolicColorNewLiteral" result
+    result' <- (wrapBoxed SymbolicColor) result
+    touchManagedPtr color
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SymbolicColor::new_mix
+-- method type : Constructor
+-- Args : [Arg {argCName = "color1", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color to mix", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color2", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another color to mix", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "factor", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mix factor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_new_mix" gtk_symbolic_color_new_mix :: 
+    Ptr SymbolicColor ->                    -- color1 : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    Ptr SymbolicColor ->                    -- color2 : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    CDouble ->                              -- factor : TBasicType TDouble
+    IO (Ptr SymbolicColor)
+
+{-# DEPRECATED symbolicColorNewMix ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Creates a symbolic color defined as a mix of another
+two colors. a mix factor of 0 would resolve to /@color1@/,
+while a factor of 1 would resolve to /@color2@/.
+
+/Since: 3.0/
+-}
+symbolicColorNewMix ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SymbolicColor
+    {- ^ /@color1@/: color to mix -}
+    -> SymbolicColor
+    {- ^ /@color2@/: another color to mix -}
+    -> Double
+    {- ^ /@factor@/: mix factor -}
+    -> m SymbolicColor
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+symbolicColorNewMix color1 color2 factor = liftIO $ do
+    color1' <- unsafeManagedPtrGetPtr color1
+    color2' <- unsafeManagedPtrGetPtr color2
+    let factor' = realToFrac factor
+    result <- gtk_symbolic_color_new_mix color1' color2' factor'
+    checkUnexpectedReturnNULL "symbolicColorNewMix" result
+    result' <- (wrapBoxed SymbolicColor) result
+    touchManagedPtr color1
+    touchManagedPtr color2
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SymbolicColor::new_name
+-- method type : Constructor
+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_new_name" gtk_symbolic_color_new_name :: 
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr SymbolicColor)
+
+{-# DEPRECATED symbolicColorNewName ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Creates a symbolic color pointing to an unresolved named
+color. See 'GI.Gtk.Objects.StyleContext.styleContextLookupColor' and
+'GI.Gtk.Objects.StyleProperties.stylePropertiesLookupColor'.
+
+/Since: 3.0/
+-}
+symbolicColorNewName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@name@/: color name -}
+    -> m SymbolicColor
+    {- ^ __Returns:__ a newly created 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+symbolicColorNewName name = liftIO $ do
+    name' <- textToCString name
+    result <- gtk_symbolic_color_new_name name'
+    checkUnexpectedReturnNULL "symbolicColorNewName" result
+    result' <- (wrapBoxed SymbolicColor) result
+    freeMem name'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SymbolicColor::new_shade
+-- method type : Constructor
+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkSymbolicColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "factor", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "shading factor to apply to @color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_new_shade" gtk_symbolic_color_new_shade :: 
+    Ptr SymbolicColor ->                    -- color : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    CDouble ->                              -- factor : TBasicType TDouble
+    IO (Ptr SymbolicColor)
+
+{-# DEPRECATED symbolicColorNewShade ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Creates a symbolic color defined as a shade of
+another color. A factor > 1.0 would resolve to
+a brighter color, while \< 1.0 would resolve to
+a darker color.
+
+/Since: 3.0/
+-}
+symbolicColorNewShade ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SymbolicColor
+    {- ^ /@color@/: another 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+    -> Double
+    {- ^ /@factor@/: shading factor to apply to /@color@/ -}
+    -> m SymbolicColor
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+symbolicColorNewShade color factor = liftIO $ do
+    color' <- unsafeManagedPtrGetPtr color
+    let factor' = realToFrac factor
+    result <- gtk_symbolic_color_new_shade color' factor'
+    checkUnexpectedReturnNULL "symbolicColorNewShade" result
+    result' <- (wrapBoxed SymbolicColor) result
+    touchManagedPtr color
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SymbolicColor::new_win32
+-- method type : Constructor
+-- Args : [Arg {argCName = "theme_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The theme class to pull color from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The color id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_new_win32" gtk_symbolic_color_new_win32 :: 
+    CString ->                              -- theme_class : TBasicType TUTF8
+    Int32 ->                                -- id : TBasicType TInt
+    IO (Ptr SymbolicColor)
+
+{-# DEPRECATED symbolicColorNewWin32 ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Creates a symbolic color based on the current win32
+theme.
+
+Note that while this call is available on all platforms
+the actual value returned is not reliable on non-win32
+platforms.
+
+/Since: 3.4/
+-}
+symbolicColorNewWin32 ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@themeClass@/: The theme class to pull color from -}
+    -> Int32
+    {- ^ /@id@/: The color id -}
+    -> m SymbolicColor
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+symbolicColorNewWin32 themeClass id = liftIO $ do
+    themeClass' <- textToCString themeClass
+    result <- gtk_symbolic_color_new_win32 themeClass' id
+    checkUnexpectedReturnNULL "symbolicColorNewWin32" result
+    result' <- (wrapBoxed SymbolicColor) result
+    freeMem themeClass'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method SymbolicColor::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSymbolicColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_ref" gtk_symbolic_color_ref :: 
+    Ptr SymbolicColor ->                    -- color : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    IO (Ptr SymbolicColor)
+
+{-# DEPRECATED symbolicColorRef ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Increases the reference count of /@color@/
+
+/Since: 3.0/
+-}
+symbolicColorRef ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SymbolicColor
+    {- ^ /@color@/: a 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+    -> m SymbolicColor
+    {- ^ __Returns:__ the same /@color@/ -}
+symbolicColorRef color = liftIO $ do
+    color' <- unsafeManagedPtrGetPtr color
+    result <- gtk_symbolic_color_ref color'
+    checkUnexpectedReturnNULL "symbolicColorRef" result
+    result' <- (wrapBoxed SymbolicColor) result
+    touchManagedPtr color
+    return result'
+
+#if ENABLE_OVERLOADING
+data SymbolicColorRefMethodInfo
+instance (signature ~ (m SymbolicColor), MonadIO m) => O.MethodInfo SymbolicColorRefMethodInfo SymbolicColor signature where
+    overloadedMethod _ = symbolicColorRef
+
+#endif
+
+-- method SymbolicColor::resolve
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSymbolicColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GtkStyleProperties to use when resolving\n   named colors, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resolved_color", argType = TInterface (Name {namespace = "Gdk", name = "RGBA"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the resolved color", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_resolve" gtk_symbolic_color_resolve :: 
+    Ptr SymbolicColor ->                    -- color : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    Ptr Gtk.StyleProperties.StyleProperties -> -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
+    Ptr Gdk.RGBA.RGBA ->                    -- resolved_color : TInterface (Name {namespace = "Gdk", name = "RGBA"})
+    IO CInt
+
+{-# DEPRECATED symbolicColorResolve ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+If /@color@/ is resolvable, /@resolvedColor@/ will be filled in
+with the resolved color, and 'True' will be returned. Generally,
+if /@color@/ can’t be resolved, it is due to it being defined on
+top of a named color that doesn’t exist in /@props@/.
+
+When /@props@/ is 'Nothing', resolving of named colors will fail, so if
+your /@color@/ is or references such a color, this function will
+return 'False'.
+
+/Since: 3.0/
+-}
+symbolicColorResolve ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.StyleProperties.IsStyleProperties a) =>
+    SymbolicColor
+    {- ^ /@color@/: a 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+    -> Maybe (a)
+    {- ^ /@props@/: 'GI.Gtk.Objects.StyleProperties.StyleProperties' to use when resolving
+   named colors, or 'Nothing' -}
+    -> m ((Bool, Gdk.RGBA.RGBA))
+    {- ^ __Returns:__ 'True' if the color has been resolved -}
+symbolicColorResolve color props = liftIO $ do
+    color' <- unsafeManagedPtrGetPtr color
+    maybeProps <- case props of
+        Nothing -> return nullPtr
+        Just jProps -> do
+            jProps' <- unsafeManagedPtrCastPtr jProps
+            return jProps'
+    resolvedColor <- callocBoxedBytes 32 :: IO (Ptr Gdk.RGBA.RGBA)
+    result <- gtk_symbolic_color_resolve color' maybeProps resolvedColor
+    let result' = (/= 0) result
+    resolvedColor' <- (wrapBoxed Gdk.RGBA.RGBA) resolvedColor
+    touchManagedPtr color
+    whenJust props touchManagedPtr
+    return (result', resolvedColor')
+
+#if ENABLE_OVERLOADING
+data SymbolicColorResolveMethodInfo
+instance (signature ~ (Maybe (a) -> m ((Bool, Gdk.RGBA.RGBA))), MonadIO m, Gtk.StyleProperties.IsStyleProperties a) => O.MethodInfo SymbolicColorResolveMethodInfo SymbolicColor signature where
+    overloadedMethod _ = symbolicColorResolve
+
+#endif
+
+-- method SymbolicColor::to_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color to convert to a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_to_string" gtk_symbolic_color_to_string :: 
+    Ptr SymbolicColor ->                    -- color : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    IO CString
+
+{-# DEPRECATED symbolicColorToString ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Converts the given /@color@/ to a string representation. This is useful
+both for debugging and for serialization of strings. The format of
+the string may change between different versions of GTK, but it is
+guaranteed that the GTK css parser is able to read the string and
+create the same symbolic color from it.
+-}
+symbolicColorToString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SymbolicColor
+    {- ^ /@color@/: color to convert to a string -}
+    -> m T.Text
+    {- ^ __Returns:__ a new string representing /@color@/ -}
+symbolicColorToString color = liftIO $ do
+    color' <- unsafeManagedPtrGetPtr color
+    result <- gtk_symbolic_color_to_string color'
+    checkUnexpectedReturnNULL "symbolicColorToString" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr color
+    return result'
+
+#if ENABLE_OVERLOADING
+data SymbolicColorToStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo SymbolicColorToStringMethodInfo SymbolicColor signature where
+    overloadedMethod _ = symbolicColorToString
+
+#endif
+
+-- method SymbolicColor::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "color", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSymbolicColor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_symbolic_color_unref" gtk_symbolic_color_unref :: 
+    Ptr SymbolicColor ->                    -- color : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
+    IO ()
+
+{-# DEPRECATED symbolicColorUnref ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
+{- |
+Decreases the reference count of /@color@/, freeing its memory if the
+reference count reaches 0.
+
+/Since: 3.0/
+-}
+symbolicColorUnref ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    SymbolicColor
+    {- ^ /@color@/: a 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' -}
+    -> m ()
+symbolicColorUnref color = liftIO $ do
+    color' <- unsafeManagedPtrGetPtr color
+    gtk_symbolic_color_unref color'
+    touchManagedPtr color
+    return ()
+
+#if ENABLE_OVERLOADING
+data SymbolicColorUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo SymbolicColorUnrefMethodInfo SymbolicColor signature where
+    overloadedMethod _ = symbolicColorUnref
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveSymbolicColorMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSymbolicColorMethod "ref" o = SymbolicColorRefMethodInfo
+    ResolveSymbolicColorMethod "resolve" o = SymbolicColorResolveMethodInfo
+    ResolveSymbolicColorMethod "toString" o = SymbolicColorToStringMethodInfo
+    ResolveSymbolicColorMethod "unref" o = SymbolicColorUnrefMethodInfo
+    ResolveSymbolicColorMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveSymbolicColorMethod t SymbolicColor, O.MethodInfo info SymbolicColor p) => OL.IsLabel t (SymbolicColor -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/SymbolicColor.hs-boot b/GI/Gtk/Structs/SymbolicColor.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/SymbolicColor.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.SymbolicColor where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype SymbolicColor = SymbolicColor (ManagedPtr SymbolicColor)
+instance BoxedObject SymbolicColor where
+#if ENABLE_OVERLOADING
+data SymbolicColorRefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SymbolicColorResolveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SymbolicColorToStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data SymbolicColorUnrefMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/TableChild.hs b/GI/Gtk/Structs/TableChild.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TableChild.hs
@@ -0,0 +1,823 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TableChild
+    ( 
+
+-- * Exported types
+    TableChild(..)                          ,
+    newZeroTableChild                       ,
+    noTableChild                            ,
+
+
+ -- * Properties
+-- ** bottomAttach #attr:bottomAttach#
+{- | /No description available in the introspection data./
+-}
+    getTableChildBottomAttach               ,
+    setTableChildBottomAttach               ,
+#if ENABLE_OVERLOADING
+    tableChild_bottomAttach                 ,
+#endif
+
+
+-- ** leftAttach #attr:leftAttach#
+{- | /No description available in the introspection data./
+-}
+    getTableChildLeftAttach                 ,
+    setTableChildLeftAttach                 ,
+#if ENABLE_OVERLOADING
+    tableChild_leftAttach                   ,
+#endif
+
+
+-- ** rightAttach #attr:rightAttach#
+{- | /No description available in the introspection data./
+-}
+    getTableChildRightAttach                ,
+    setTableChildRightAttach                ,
+#if ENABLE_OVERLOADING
+    tableChild_rightAttach                  ,
+#endif
+
+
+-- ** topAttach #attr:topAttach#
+{- | /No description available in the introspection data./
+-}
+    getTableChildTopAttach                  ,
+    setTableChildTopAttach                  ,
+#if ENABLE_OVERLOADING
+    tableChild_topAttach                    ,
+#endif
+
+
+-- ** widget #attr:widget#
+{- | /No description available in the introspection data./
+-}
+    clearTableChildWidget                   ,
+    getTableChildWidget                     ,
+    setTableChildWidget                     ,
+#if ENABLE_OVERLOADING
+    tableChild_widget                       ,
+#endif
+
+
+-- ** xexpand #attr:xexpand#
+{- | /No description available in the introspection data./
+-}
+    getTableChildXexpand                    ,
+    setTableChildXexpand                    ,
+#if ENABLE_OVERLOADING
+    tableChild_xexpand                      ,
+#endif
+
+
+-- ** xfill #attr:xfill#
+{- | /No description available in the introspection data./
+-}
+    getTableChildXfill                      ,
+    setTableChildXfill                      ,
+#if ENABLE_OVERLOADING
+    tableChild_xfill                        ,
+#endif
+
+
+-- ** xpadding #attr:xpadding#
+{- | /No description available in the introspection data./
+-}
+    getTableChildXpadding                   ,
+    setTableChildXpadding                   ,
+#if ENABLE_OVERLOADING
+    tableChild_xpadding                     ,
+#endif
+
+
+-- ** xshrink #attr:xshrink#
+{- | /No description available in the introspection data./
+-}
+    getTableChildXshrink                    ,
+    setTableChildXshrink                    ,
+#if ENABLE_OVERLOADING
+    tableChild_xshrink                      ,
+#endif
+
+
+-- ** yexpand #attr:yexpand#
+{- | /No description available in the introspection data./
+-}
+    getTableChildYexpand                    ,
+    setTableChildYexpand                    ,
+#if ENABLE_OVERLOADING
+    tableChild_yexpand                      ,
+#endif
+
+
+-- ** yfill #attr:yfill#
+{- | /No description available in the introspection data./
+-}
+    getTableChildYfill                      ,
+    setTableChildYfill                      ,
+#if ENABLE_OVERLOADING
+    tableChild_yfill                        ,
+#endif
+
+
+-- ** ypadding #attr:ypadding#
+{- | /No description available in the introspection data./
+-}
+    getTableChildYpadding                   ,
+    setTableChildYpadding                   ,
+#if ENABLE_OVERLOADING
+    tableChild_ypadding                     ,
+#endif
+
+
+-- ** yshrink #attr:yshrink#
+{- | /No description available in the introspection data./
+-}
+    getTableChildYshrink                    ,
+    setTableChildYshrink                    ,
+#if ENABLE_OVERLOADING
+    tableChild_yshrink                      ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype TableChild = TableChild (ManagedPtr TableChild)
+instance WrappedPtr TableChild where
+    wrappedPtrCalloc = callocBytes 48
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr TableChild)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `TableChild` struct initialized to zero.
+newZeroTableChild :: MonadIO m => m TableChild
+newZeroTableChild = liftIO $ wrappedPtrCalloc >>= wrapPtr TableChild
+
+instance tag ~ 'AttrSet => Constructible TableChild tag where
+    new _ attrs = do
+        o <- newZeroTableChild
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TableChild`.
+noTableChild :: Maybe TableChild
+noTableChild = Nothing
+
+{- |
+Get the value of the “@widget@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #widget
+@
+-}
+getTableChildWidget :: MonadIO m => TableChild -> m (Maybe Gtk.Widget.Widget)
+getTableChildWidget s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gtk.Widget.Widget)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newObject Gtk.Widget.Widget) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@widget@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #widget 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildWidget :: MonadIO m => TableChild -> Ptr Gtk.Widget.Widget -> m ()
+setTableChildWidget s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Ptr Gtk.Widget.Widget)
+
+{- |
+Set the value of the “@widget@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #widget
+@
+-}
+clearTableChildWidget :: MonadIO m => TableChild -> m ()
+clearTableChildWidget s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr Gtk.Widget.Widget)
+
+#if ENABLE_OVERLOADING
+data TableChildWidgetFieldInfo
+instance AttrInfo TableChildWidgetFieldInfo where
+    type AttrAllowedOps TableChildWidgetFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TableChildWidgetFieldInfo = (~) (Ptr Gtk.Widget.Widget)
+    type AttrBaseTypeConstraint TableChildWidgetFieldInfo = (~) TableChild
+    type AttrGetType TableChildWidgetFieldInfo = Maybe Gtk.Widget.Widget
+    type AttrLabel TableChildWidgetFieldInfo = "widget"
+    type AttrOrigin TableChildWidgetFieldInfo = TableChild
+    attrGet _ = getTableChildWidget
+    attrSet _ = setTableChildWidget
+    attrConstruct = undefined
+    attrClear _ = clearTableChildWidget
+
+tableChild_widget :: AttrLabelProxy "widget"
+tableChild_widget = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@left_attach@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #leftAttach
+@
+-}
+getTableChildLeftAttach :: MonadIO m => TableChild -> m Word16
+getTableChildLeftAttach s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Word16
+    return val
+
+{- |
+Set the value of the “@left_attach@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #leftAttach 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildLeftAttach :: MonadIO m => TableChild -> Word16 -> m ()
+setTableChildLeftAttach s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Word16)
+
+#if ENABLE_OVERLOADING
+data TableChildLeftAttachFieldInfo
+instance AttrInfo TableChildLeftAttachFieldInfo where
+    type AttrAllowedOps TableChildLeftAttachFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildLeftAttachFieldInfo = (~) Word16
+    type AttrBaseTypeConstraint TableChildLeftAttachFieldInfo = (~) TableChild
+    type AttrGetType TableChildLeftAttachFieldInfo = Word16
+    type AttrLabel TableChildLeftAttachFieldInfo = "left_attach"
+    type AttrOrigin TableChildLeftAttachFieldInfo = TableChild
+    attrGet _ = getTableChildLeftAttach
+    attrSet _ = setTableChildLeftAttach
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_leftAttach :: AttrLabelProxy "leftAttach"
+tableChild_leftAttach = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@right_attach@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #rightAttach
+@
+-}
+getTableChildRightAttach :: MonadIO m => TableChild -> m Word16
+getTableChildRightAttach s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 10) :: IO Word16
+    return val
+
+{- |
+Set the value of the “@right_attach@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #rightAttach 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildRightAttach :: MonadIO m => TableChild -> Word16 -> m ()
+setTableChildRightAttach s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 10) (val :: Word16)
+
+#if ENABLE_OVERLOADING
+data TableChildRightAttachFieldInfo
+instance AttrInfo TableChildRightAttachFieldInfo where
+    type AttrAllowedOps TableChildRightAttachFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildRightAttachFieldInfo = (~) Word16
+    type AttrBaseTypeConstraint TableChildRightAttachFieldInfo = (~) TableChild
+    type AttrGetType TableChildRightAttachFieldInfo = Word16
+    type AttrLabel TableChildRightAttachFieldInfo = "right_attach"
+    type AttrOrigin TableChildRightAttachFieldInfo = TableChild
+    attrGet _ = getTableChildRightAttach
+    attrSet _ = setTableChildRightAttach
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_rightAttach :: AttrLabelProxy "rightAttach"
+tableChild_rightAttach = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@top_attach@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #topAttach
+@
+-}
+getTableChildTopAttach :: MonadIO m => TableChild -> m Word16
+getTableChildTopAttach s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 12) :: IO Word16
+    return val
+
+{- |
+Set the value of the “@top_attach@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #topAttach 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildTopAttach :: MonadIO m => TableChild -> Word16 -> m ()
+setTableChildTopAttach s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 12) (val :: Word16)
+
+#if ENABLE_OVERLOADING
+data TableChildTopAttachFieldInfo
+instance AttrInfo TableChildTopAttachFieldInfo where
+    type AttrAllowedOps TableChildTopAttachFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildTopAttachFieldInfo = (~) Word16
+    type AttrBaseTypeConstraint TableChildTopAttachFieldInfo = (~) TableChild
+    type AttrGetType TableChildTopAttachFieldInfo = Word16
+    type AttrLabel TableChildTopAttachFieldInfo = "top_attach"
+    type AttrOrigin TableChildTopAttachFieldInfo = TableChild
+    attrGet _ = getTableChildTopAttach
+    attrSet _ = setTableChildTopAttach
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_topAttach :: AttrLabelProxy "topAttach"
+tableChild_topAttach = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@bottom_attach@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #bottomAttach
+@
+-}
+getTableChildBottomAttach :: MonadIO m => TableChild -> m Word16
+getTableChildBottomAttach s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 14) :: IO Word16
+    return val
+
+{- |
+Set the value of the “@bottom_attach@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #bottomAttach 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildBottomAttach :: MonadIO m => TableChild -> Word16 -> m ()
+setTableChildBottomAttach s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 14) (val :: Word16)
+
+#if ENABLE_OVERLOADING
+data TableChildBottomAttachFieldInfo
+instance AttrInfo TableChildBottomAttachFieldInfo where
+    type AttrAllowedOps TableChildBottomAttachFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildBottomAttachFieldInfo = (~) Word16
+    type AttrBaseTypeConstraint TableChildBottomAttachFieldInfo = (~) TableChild
+    type AttrGetType TableChildBottomAttachFieldInfo = Word16
+    type AttrLabel TableChildBottomAttachFieldInfo = "bottom_attach"
+    type AttrOrigin TableChildBottomAttachFieldInfo = TableChild
+    attrGet _ = getTableChildBottomAttach
+    attrSet _ = setTableChildBottomAttach
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_bottomAttach :: AttrLabelProxy "bottomAttach"
+tableChild_bottomAttach = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@xpadding@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #xpadding
+@
+-}
+getTableChildXpadding :: MonadIO m => TableChild -> m Word16
+getTableChildXpadding s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Word16
+    return val
+
+{- |
+Set the value of the “@xpadding@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #xpadding 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildXpadding :: MonadIO m => TableChild -> Word16 -> m ()
+setTableChildXpadding s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: Word16)
+
+#if ENABLE_OVERLOADING
+data TableChildXpaddingFieldInfo
+instance AttrInfo TableChildXpaddingFieldInfo where
+    type AttrAllowedOps TableChildXpaddingFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildXpaddingFieldInfo = (~) Word16
+    type AttrBaseTypeConstraint TableChildXpaddingFieldInfo = (~) TableChild
+    type AttrGetType TableChildXpaddingFieldInfo = Word16
+    type AttrLabel TableChildXpaddingFieldInfo = "xpadding"
+    type AttrOrigin TableChildXpaddingFieldInfo = TableChild
+    attrGet _ = getTableChildXpadding
+    attrSet _ = setTableChildXpadding
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_xpadding :: AttrLabelProxy "xpadding"
+tableChild_xpadding = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@ypadding@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #ypadding
+@
+-}
+getTableChildYpadding :: MonadIO m => TableChild -> m Word16
+getTableChildYpadding s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 18) :: IO Word16
+    return val
+
+{- |
+Set the value of the “@ypadding@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #ypadding 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildYpadding :: MonadIO m => TableChild -> Word16 -> m ()
+setTableChildYpadding s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 18) (val :: Word16)
+
+#if ENABLE_OVERLOADING
+data TableChildYpaddingFieldInfo
+instance AttrInfo TableChildYpaddingFieldInfo where
+    type AttrAllowedOps TableChildYpaddingFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildYpaddingFieldInfo = (~) Word16
+    type AttrBaseTypeConstraint TableChildYpaddingFieldInfo = (~) TableChild
+    type AttrGetType TableChildYpaddingFieldInfo = Word16
+    type AttrLabel TableChildYpaddingFieldInfo = "ypadding"
+    type AttrOrigin TableChildYpaddingFieldInfo = TableChild
+    attrGet _ = getTableChildYpadding
+    attrSet _ = setTableChildYpadding
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_ypadding :: AttrLabelProxy "ypadding"
+tableChild_ypadding = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@xexpand@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #xexpand
+@
+-}
+getTableChildXexpand :: MonadIO m => TableChild -> m Word32
+getTableChildXexpand s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@xexpand@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #xexpand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildXexpand :: MonadIO m => TableChild -> Word32 -> m ()
+setTableChildXexpand s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 20) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableChildXexpandFieldInfo
+instance AttrInfo TableChildXexpandFieldInfo where
+    type AttrAllowedOps TableChildXexpandFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildXexpandFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableChildXexpandFieldInfo = (~) TableChild
+    type AttrGetType TableChildXexpandFieldInfo = Word32
+    type AttrLabel TableChildXexpandFieldInfo = "xexpand"
+    type AttrOrigin TableChildXexpandFieldInfo = TableChild
+    attrGet _ = getTableChildXexpand
+    attrSet _ = setTableChildXexpand
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_xexpand :: AttrLabelProxy "xexpand"
+tableChild_xexpand = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@yexpand@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #yexpand
+@
+-}
+getTableChildYexpand :: MonadIO m => TableChild -> m Word32
+getTableChildYexpand s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@yexpand@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #yexpand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildYexpand :: MonadIO m => TableChild -> Word32 -> m ()
+setTableChildYexpand s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableChildYexpandFieldInfo
+instance AttrInfo TableChildYexpandFieldInfo where
+    type AttrAllowedOps TableChildYexpandFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildYexpandFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableChildYexpandFieldInfo = (~) TableChild
+    type AttrGetType TableChildYexpandFieldInfo = Word32
+    type AttrLabel TableChildYexpandFieldInfo = "yexpand"
+    type AttrOrigin TableChildYexpandFieldInfo = TableChild
+    attrGet _ = getTableChildYexpand
+    attrSet _ = setTableChildYexpand
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_yexpand :: AttrLabelProxy "yexpand"
+tableChild_yexpand = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@xshrink@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #xshrink
+@
+-}
+getTableChildXshrink :: MonadIO m => TableChild -> m Word32
+getTableChildXshrink s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 28) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@xshrink@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #xshrink 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildXshrink :: MonadIO m => TableChild -> Word32 -> m ()
+setTableChildXshrink s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 28) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableChildXshrinkFieldInfo
+instance AttrInfo TableChildXshrinkFieldInfo where
+    type AttrAllowedOps TableChildXshrinkFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildXshrinkFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableChildXshrinkFieldInfo = (~) TableChild
+    type AttrGetType TableChildXshrinkFieldInfo = Word32
+    type AttrLabel TableChildXshrinkFieldInfo = "xshrink"
+    type AttrOrigin TableChildXshrinkFieldInfo = TableChild
+    attrGet _ = getTableChildXshrink
+    attrSet _ = setTableChildXshrink
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_xshrink :: AttrLabelProxy "xshrink"
+tableChild_xshrink = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@yshrink@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #yshrink
+@
+-}
+getTableChildYshrink :: MonadIO m => TableChild -> m Word32
+getTableChildYshrink s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@yshrink@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #yshrink 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildYshrink :: MonadIO m => TableChild -> Word32 -> m ()
+setTableChildYshrink s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableChildYshrinkFieldInfo
+instance AttrInfo TableChildYshrinkFieldInfo where
+    type AttrAllowedOps TableChildYshrinkFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildYshrinkFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableChildYshrinkFieldInfo = (~) TableChild
+    type AttrGetType TableChildYshrinkFieldInfo = Word32
+    type AttrLabel TableChildYshrinkFieldInfo = "yshrink"
+    type AttrOrigin TableChildYshrinkFieldInfo = TableChild
+    attrGet _ = getTableChildYshrink
+    attrSet _ = setTableChildYshrink
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_yshrink :: AttrLabelProxy "yshrink"
+tableChild_yshrink = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@xfill@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #xfill
+@
+-}
+getTableChildXfill :: MonadIO m => TableChild -> m Word32
+getTableChildXfill s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 36) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@xfill@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #xfill 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildXfill :: MonadIO m => TableChild -> Word32 -> m ()
+setTableChildXfill s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 36) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableChildXfillFieldInfo
+instance AttrInfo TableChildXfillFieldInfo where
+    type AttrAllowedOps TableChildXfillFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildXfillFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableChildXfillFieldInfo = (~) TableChild
+    type AttrGetType TableChildXfillFieldInfo = Word32
+    type AttrLabel TableChildXfillFieldInfo = "xfill"
+    type AttrOrigin TableChildXfillFieldInfo = TableChild
+    attrGet _ = getTableChildXfill
+    attrSet _ = setTableChildXfill
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_xfill :: AttrLabelProxy "xfill"
+tableChild_xfill = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@yfill@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableChild #yfill
+@
+-}
+getTableChildYfill :: MonadIO m => TableChild -> m Word32
+getTableChildYfill s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@yfill@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableChild [ #yfill 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableChildYfill :: MonadIO m => TableChild -> Word32 -> m ()
+setTableChildYfill s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableChildYfillFieldInfo
+instance AttrInfo TableChildYfillFieldInfo where
+    type AttrAllowedOps TableChildYfillFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableChildYfillFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableChildYfillFieldInfo = (~) TableChild
+    type AttrGetType TableChildYfillFieldInfo = Word32
+    type AttrLabel TableChildYfillFieldInfo = "yfill"
+    type AttrOrigin TableChildYfillFieldInfo = TableChild
+    attrGet _ = getTableChildYfill
+    attrSet _ = setTableChildYfill
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableChild_yfill :: AttrLabelProxy "yfill"
+tableChild_yfill = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TableChild
+type instance O.AttributeList TableChild = TableChildAttributeList
+type TableChildAttributeList = ('[ '("widget", TableChildWidgetFieldInfo), '("leftAttach", TableChildLeftAttachFieldInfo), '("rightAttach", TableChildRightAttachFieldInfo), '("topAttach", TableChildTopAttachFieldInfo), '("bottomAttach", TableChildBottomAttachFieldInfo), '("xpadding", TableChildXpaddingFieldInfo), '("ypadding", TableChildYpaddingFieldInfo), '("xexpand", TableChildXexpandFieldInfo), '("yexpand", TableChildYexpandFieldInfo), '("xshrink", TableChildXshrinkFieldInfo), '("yshrink", TableChildYshrinkFieldInfo), '("xfill", TableChildXfillFieldInfo), '("yfill", TableChildYfillFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTableChildMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTableChildMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTableChildMethod t TableChild, O.MethodInfo info TableChild p) => OL.IsLabel t (TableChild -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TableChild.hs-boot b/GI/Gtk/Structs/TableChild.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TableChild.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TableChild where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TableChild = TableChild (ManagedPtr TableChild)
+instance WrappedPtr TableChild where
diff --git a/GI/Gtk/Structs/TableRowCol.hs b/GI/Gtk/Structs/TableRowCol.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TableRowCol.hs
@@ -0,0 +1,531 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TableRowCol
+    ( 
+
+-- * Exported types
+    TableRowCol(..)                         ,
+    newZeroTableRowCol                      ,
+    noTableRowCol                           ,
+
+
+ -- * Properties
+-- ** allocation #attr:allocation#
+{- | /No description available in the introspection data./
+-}
+    getTableRowColAllocation                ,
+    setTableRowColAllocation                ,
+#if ENABLE_OVERLOADING
+    tableRowCol_allocation                  ,
+#endif
+
+
+-- ** empty #attr:empty#
+{- | /No description available in the introspection data./
+-}
+    getTableRowColEmpty                     ,
+    setTableRowColEmpty                     ,
+#if ENABLE_OVERLOADING
+    tableRowCol_empty                       ,
+#endif
+
+
+-- ** expand #attr:expand#
+{- | /No description available in the introspection data./
+-}
+    getTableRowColExpand                    ,
+    setTableRowColExpand                    ,
+#if ENABLE_OVERLOADING
+    tableRowCol_expand                      ,
+#endif
+
+
+-- ** needExpand #attr:needExpand#
+{- | /No description available in the introspection data./
+-}
+    getTableRowColNeedExpand                ,
+    setTableRowColNeedExpand                ,
+#if ENABLE_OVERLOADING
+    tableRowCol_needExpand                  ,
+#endif
+
+
+-- ** needShrink #attr:needShrink#
+{- | /No description available in the introspection data./
+-}
+    getTableRowColNeedShrink                ,
+    setTableRowColNeedShrink                ,
+#if ENABLE_OVERLOADING
+    tableRowCol_needShrink                  ,
+#endif
+
+
+-- ** requisition #attr:requisition#
+{- | /No description available in the introspection data./
+-}
+    getTableRowColRequisition               ,
+    setTableRowColRequisition               ,
+#if ENABLE_OVERLOADING
+    tableRowCol_requisition                 ,
+#endif
+
+
+-- ** shrink #attr:shrink#
+{- | /No description available in the introspection data./
+-}
+    getTableRowColShrink                    ,
+    setTableRowColShrink                    ,
+#if ENABLE_OVERLOADING
+    tableRowCol_shrink                      ,
+#endif
+
+
+-- ** spacing #attr:spacing#
+{- | /No description available in the introspection data./
+-}
+    getTableRowColSpacing                   ,
+    setTableRowColSpacing                   ,
+#if ENABLE_OVERLOADING
+    tableRowCol_spacing                     ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype TableRowCol = TableRowCol (ManagedPtr TableRowCol)
+instance WrappedPtr TableRowCol where
+    wrappedPtrCalloc = callocBytes 28
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 28 >=> wrapPtr TableRowCol)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `TableRowCol` struct initialized to zero.
+newZeroTableRowCol :: MonadIO m => m TableRowCol
+newZeroTableRowCol = liftIO $ wrappedPtrCalloc >>= wrapPtr TableRowCol
+
+instance tag ~ 'AttrSet => Constructible TableRowCol tag where
+    new _ attrs = do
+        o <- newZeroTableRowCol
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TableRowCol`.
+noTableRowCol :: Maybe TableRowCol
+noTableRowCol = Nothing
+
+{- |
+Get the value of the “@requisition@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableRowCol #requisition
+@
+-}
+getTableRowColRequisition :: MonadIO m => TableRowCol -> m Word16
+getTableRowColRequisition s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Word16
+    return val
+
+{- |
+Set the value of the “@requisition@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableRowCol [ #requisition 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableRowColRequisition :: MonadIO m => TableRowCol -> Word16 -> m ()
+setTableRowColRequisition s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Word16)
+
+#if ENABLE_OVERLOADING
+data TableRowColRequisitionFieldInfo
+instance AttrInfo TableRowColRequisitionFieldInfo where
+    type AttrAllowedOps TableRowColRequisitionFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableRowColRequisitionFieldInfo = (~) Word16
+    type AttrBaseTypeConstraint TableRowColRequisitionFieldInfo = (~) TableRowCol
+    type AttrGetType TableRowColRequisitionFieldInfo = Word16
+    type AttrLabel TableRowColRequisitionFieldInfo = "requisition"
+    type AttrOrigin TableRowColRequisitionFieldInfo = TableRowCol
+    attrGet _ = getTableRowColRequisition
+    attrSet _ = setTableRowColRequisition
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableRowCol_requisition :: AttrLabelProxy "requisition"
+tableRowCol_requisition = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@allocation@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableRowCol #allocation
+@
+-}
+getTableRowColAllocation :: MonadIO m => TableRowCol -> m Word16
+getTableRowColAllocation s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 2) :: IO Word16
+    return val
+
+{- |
+Set the value of the “@allocation@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableRowCol [ #allocation 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableRowColAllocation :: MonadIO m => TableRowCol -> Word16 -> m ()
+setTableRowColAllocation s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 2) (val :: Word16)
+
+#if ENABLE_OVERLOADING
+data TableRowColAllocationFieldInfo
+instance AttrInfo TableRowColAllocationFieldInfo where
+    type AttrAllowedOps TableRowColAllocationFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableRowColAllocationFieldInfo = (~) Word16
+    type AttrBaseTypeConstraint TableRowColAllocationFieldInfo = (~) TableRowCol
+    type AttrGetType TableRowColAllocationFieldInfo = Word16
+    type AttrLabel TableRowColAllocationFieldInfo = "allocation"
+    type AttrOrigin TableRowColAllocationFieldInfo = TableRowCol
+    attrGet _ = getTableRowColAllocation
+    attrSet _ = setTableRowColAllocation
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableRowCol_allocation :: AttrLabelProxy "allocation"
+tableRowCol_allocation = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@spacing@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableRowCol #spacing
+@
+-}
+getTableRowColSpacing :: MonadIO m => TableRowCol -> m Word16
+getTableRowColSpacing s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Word16
+    return val
+
+{- |
+Set the value of the “@spacing@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableRowCol [ #spacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableRowColSpacing :: MonadIO m => TableRowCol -> Word16 -> m ()
+setTableRowColSpacing s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 4) (val :: Word16)
+
+#if ENABLE_OVERLOADING
+data TableRowColSpacingFieldInfo
+instance AttrInfo TableRowColSpacingFieldInfo where
+    type AttrAllowedOps TableRowColSpacingFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableRowColSpacingFieldInfo = (~) Word16
+    type AttrBaseTypeConstraint TableRowColSpacingFieldInfo = (~) TableRowCol
+    type AttrGetType TableRowColSpacingFieldInfo = Word16
+    type AttrLabel TableRowColSpacingFieldInfo = "spacing"
+    type AttrOrigin TableRowColSpacingFieldInfo = TableRowCol
+    attrGet _ = getTableRowColSpacing
+    attrSet _ = setTableRowColSpacing
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableRowCol_spacing :: AttrLabelProxy "spacing"
+tableRowCol_spacing = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@need_expand@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableRowCol #needExpand
+@
+-}
+getTableRowColNeedExpand :: MonadIO m => TableRowCol -> m Word32
+getTableRowColNeedExpand s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@need_expand@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableRowCol [ #needExpand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableRowColNeedExpand :: MonadIO m => TableRowCol -> Word32 -> m ()
+setTableRowColNeedExpand s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableRowColNeedExpandFieldInfo
+instance AttrInfo TableRowColNeedExpandFieldInfo where
+    type AttrAllowedOps TableRowColNeedExpandFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableRowColNeedExpandFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableRowColNeedExpandFieldInfo = (~) TableRowCol
+    type AttrGetType TableRowColNeedExpandFieldInfo = Word32
+    type AttrLabel TableRowColNeedExpandFieldInfo = "need_expand"
+    type AttrOrigin TableRowColNeedExpandFieldInfo = TableRowCol
+    attrGet _ = getTableRowColNeedExpand
+    attrSet _ = setTableRowColNeedExpand
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableRowCol_needExpand :: AttrLabelProxy "needExpand"
+tableRowCol_needExpand = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@need_shrink@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableRowCol #needShrink
+@
+-}
+getTableRowColNeedShrink :: MonadIO m => TableRowCol -> m Word32
+getTableRowColNeedShrink s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 12) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@need_shrink@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableRowCol [ #needShrink 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableRowColNeedShrink :: MonadIO m => TableRowCol -> Word32 -> m ()
+setTableRowColNeedShrink s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 12) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableRowColNeedShrinkFieldInfo
+instance AttrInfo TableRowColNeedShrinkFieldInfo where
+    type AttrAllowedOps TableRowColNeedShrinkFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableRowColNeedShrinkFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableRowColNeedShrinkFieldInfo = (~) TableRowCol
+    type AttrGetType TableRowColNeedShrinkFieldInfo = Word32
+    type AttrLabel TableRowColNeedShrinkFieldInfo = "need_shrink"
+    type AttrOrigin TableRowColNeedShrinkFieldInfo = TableRowCol
+    attrGet _ = getTableRowColNeedShrink
+    attrSet _ = setTableRowColNeedShrink
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableRowCol_needShrink :: AttrLabelProxy "needShrink"
+tableRowCol_needShrink = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@expand@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableRowCol #expand
+@
+-}
+getTableRowColExpand :: MonadIO m => TableRowCol -> m Word32
+getTableRowColExpand s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@expand@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableRowCol [ #expand 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableRowColExpand :: MonadIO m => TableRowCol -> Word32 -> m ()
+setTableRowColExpand s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableRowColExpandFieldInfo
+instance AttrInfo TableRowColExpandFieldInfo where
+    type AttrAllowedOps TableRowColExpandFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableRowColExpandFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableRowColExpandFieldInfo = (~) TableRowCol
+    type AttrGetType TableRowColExpandFieldInfo = Word32
+    type AttrLabel TableRowColExpandFieldInfo = "expand"
+    type AttrOrigin TableRowColExpandFieldInfo = TableRowCol
+    attrGet _ = getTableRowColExpand
+    attrSet _ = setTableRowColExpand
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableRowCol_expand :: AttrLabelProxy "expand"
+tableRowCol_expand = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@shrink@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableRowCol #shrink
+@
+-}
+getTableRowColShrink :: MonadIO m => TableRowCol -> m Word32
+getTableRowColShrink s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@shrink@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableRowCol [ #shrink 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableRowColShrink :: MonadIO m => TableRowCol -> Word32 -> m ()
+setTableRowColShrink s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 20) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableRowColShrinkFieldInfo
+instance AttrInfo TableRowColShrinkFieldInfo where
+    type AttrAllowedOps TableRowColShrinkFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableRowColShrinkFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableRowColShrinkFieldInfo = (~) TableRowCol
+    type AttrGetType TableRowColShrinkFieldInfo = Word32
+    type AttrLabel TableRowColShrinkFieldInfo = "shrink"
+    type AttrOrigin TableRowColShrinkFieldInfo = TableRowCol
+    attrGet _ = getTableRowColShrink
+    attrSet _ = setTableRowColShrink
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableRowCol_shrink :: AttrLabelProxy "shrink"
+tableRowCol_shrink = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@empty@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' tableRowCol #empty
+@
+-}
+getTableRowColEmpty :: MonadIO m => TableRowCol -> m Word32
+getTableRowColEmpty s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@empty@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' tableRowCol [ #empty 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTableRowColEmpty :: MonadIO m => TableRowCol -> Word32 -> m ()
+setTableRowColEmpty s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TableRowColEmptyFieldInfo
+instance AttrInfo TableRowColEmptyFieldInfo where
+    type AttrAllowedOps TableRowColEmptyFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TableRowColEmptyFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TableRowColEmptyFieldInfo = (~) TableRowCol
+    type AttrGetType TableRowColEmptyFieldInfo = Word32
+    type AttrLabel TableRowColEmptyFieldInfo = "empty"
+    type AttrOrigin TableRowColEmptyFieldInfo = TableRowCol
+    attrGet _ = getTableRowColEmpty
+    attrSet _ = setTableRowColEmpty
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+tableRowCol_empty :: AttrLabelProxy "empty"
+tableRowCol_empty = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TableRowCol
+type instance O.AttributeList TableRowCol = TableRowColAttributeList
+type TableRowColAttributeList = ('[ '("requisition", TableRowColRequisitionFieldInfo), '("allocation", TableRowColAllocationFieldInfo), '("spacing", TableRowColSpacingFieldInfo), '("needExpand", TableRowColNeedExpandFieldInfo), '("needShrink", TableRowColNeedShrinkFieldInfo), '("expand", TableRowColExpandFieldInfo), '("shrink", TableRowColShrinkFieldInfo), '("empty", TableRowColEmptyFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTableRowColMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTableRowColMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTableRowColMethod t TableRowCol, O.MethodInfo info TableRowCol p) => OL.IsLabel t (TableRowCol -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TableRowCol.hs-boot b/GI/Gtk/Structs/TableRowCol.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TableRowCol.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TableRowCol where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TableRowCol = TableRowCol (ManagedPtr TableRowCol)
+instance WrappedPtr TableRowCol where
diff --git a/GI/Gtk/Structs/TargetEntry.hs b/GI/Gtk/Structs/TargetEntry.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TargetEntry.hs
@@ -0,0 +1,414 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Structs.TargetEntry.TargetEntry' represents a single type of
+data than can be supplied for by a widget for a selection
+or for supplied or received during drag-and-drop.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TargetEntry
+    ( 
+
+-- * Exported types
+    TargetEntry(..)                         ,
+    newZeroTargetEntry                      ,
+    noTargetEntry                           ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    TargetEntryCopyMethodInfo               ,
+#endif
+    targetEntryCopy                         ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    TargetEntryFreeMethodInfo               ,
+#endif
+    targetEntryFree                         ,
+
+
+-- ** new #method:new#
+
+    targetEntryNew                          ,
+
+
+
+
+ -- * Properties
+-- ** flags #attr:flags#
+{- | 'GI.Gtk.Flags.TargetFlags' for DND
+-}
+    getTargetEntryFlags                     ,
+    setTargetEntryFlags                     ,
+#if ENABLE_OVERLOADING
+    targetEntry_flags                       ,
+#endif
+
+
+-- ** info #attr:info#
+{- | an application-assigned integer ID which will
+    get passed as a parameter to e.g the 'GI.Gtk.Objects.Widget.Widget'::@/selection-get/@
+    signal. It allows the application to identify the target
+    type without extensive string compares.
+-}
+    getTargetEntryInfo                      ,
+    setTargetEntryInfo                      ,
+#if ENABLE_OVERLOADING
+    targetEntry_info                        ,
+#endif
+
+
+-- ** target #attr:target#
+{- | a string representation of the target type
+-}
+    clearTargetEntryTarget                  ,
+    getTargetEntryTarget                    ,
+    setTargetEntryTarget                    ,
+#if ENABLE_OVERLOADING
+    targetEntry_target                      ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype TargetEntry = TargetEntry (ManagedPtr TargetEntry)
+foreign import ccall "gtk_target_entry_get_type" c_gtk_target_entry_get_type :: 
+    IO GType
+
+instance BoxedObject TargetEntry where
+    boxedType _ = c_gtk_target_entry_get_type
+
+-- | Construct a `TargetEntry` struct initialized to zero.
+newZeroTargetEntry :: MonadIO m => m TargetEntry
+newZeroTargetEntry = liftIO $ callocBoxedBytes 16 >>= wrapBoxed TargetEntry
+
+instance tag ~ 'AttrSet => Constructible TargetEntry tag where
+    new _ attrs = do
+        o <- newZeroTargetEntry
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TargetEntry`.
+noTargetEntry :: Maybe TargetEntry
+noTargetEntry = Nothing
+
+{- |
+Get the value of the “@target@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' targetEntry #target
+@
+-}
+getTargetEntryTarget :: MonadIO m => TargetEntry -> m (Maybe T.Text)
+getTargetEntryTarget s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@target@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' targetEntry [ #target 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTargetEntryTarget :: MonadIO m => TargetEntry -> CString -> m ()
+setTargetEntryTarget s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: CString)
+
+{- |
+Set the value of the “@target@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #target
+@
+-}
+clearTargetEntryTarget :: MonadIO m => TargetEntry -> m ()
+clearTargetEntryTarget s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data TargetEntryTargetFieldInfo
+instance AttrInfo TargetEntryTargetFieldInfo where
+    type AttrAllowedOps TargetEntryTargetFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TargetEntryTargetFieldInfo = (~) CString
+    type AttrBaseTypeConstraint TargetEntryTargetFieldInfo = (~) TargetEntry
+    type AttrGetType TargetEntryTargetFieldInfo = Maybe T.Text
+    type AttrLabel TargetEntryTargetFieldInfo = "target"
+    type AttrOrigin TargetEntryTargetFieldInfo = TargetEntry
+    attrGet _ = getTargetEntryTarget
+    attrSet _ = setTargetEntryTarget
+    attrConstruct = undefined
+    attrClear _ = clearTargetEntryTarget
+
+targetEntry_target :: AttrLabelProxy "target"
+targetEntry_target = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@flags@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' targetEntry #flags
+@
+-}
+getTargetEntryFlags :: MonadIO m => TargetEntry -> m Word32
+getTargetEntryFlags s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@flags@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' targetEntry [ #flags 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTargetEntryFlags :: MonadIO m => TargetEntry -> Word32 -> m ()
+setTargetEntryFlags s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TargetEntryFlagsFieldInfo
+instance AttrInfo TargetEntryFlagsFieldInfo where
+    type AttrAllowedOps TargetEntryFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TargetEntryFlagsFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TargetEntryFlagsFieldInfo = (~) TargetEntry
+    type AttrGetType TargetEntryFlagsFieldInfo = Word32
+    type AttrLabel TargetEntryFlagsFieldInfo = "flags"
+    type AttrOrigin TargetEntryFlagsFieldInfo = TargetEntry
+    attrGet _ = getTargetEntryFlags
+    attrSet _ = setTargetEntryFlags
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+targetEntry_flags :: AttrLabelProxy "flags"
+targetEntry_flags = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@info@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' targetEntry #info
+@
+-}
+getTargetEntryInfo :: MonadIO m => TargetEntry -> m Word32
+getTargetEntryInfo s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 12) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@info@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' targetEntry [ #info 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTargetEntryInfo :: MonadIO m => TargetEntry -> Word32 -> m ()
+setTargetEntryInfo s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 12) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TargetEntryInfoFieldInfo
+instance AttrInfo TargetEntryInfoFieldInfo where
+    type AttrAllowedOps TargetEntryInfoFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TargetEntryInfoFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TargetEntryInfoFieldInfo = (~) TargetEntry
+    type AttrGetType TargetEntryInfoFieldInfo = Word32
+    type AttrLabel TargetEntryInfoFieldInfo = "info"
+    type AttrOrigin TargetEntryInfoFieldInfo = TargetEntry
+    attrGet _ = getTargetEntryInfo
+    attrSet _ = setTargetEntryInfo
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+targetEntry_info :: AttrLabelProxy "info"
+targetEntry_info = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TargetEntry
+type instance O.AttributeList TargetEntry = TargetEntryAttributeList
+type TargetEntryAttributeList = ('[ '("target", TargetEntryTargetFieldInfo), '("flags", TargetEntryFlagsFieldInfo), '("info", TargetEntryInfoFieldInfo)] :: [(Symbol, *)])
+#endif
+
+-- method TargetEntry::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "target", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "String identifier for target", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Set of flags, see #GtkTargetFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ID that will be passed back to the application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_entry_new" gtk_target_entry_new :: 
+    CString ->                              -- target : TBasicType TUTF8
+    Word32 ->                               -- flags : TBasicType TUInt
+    Word32 ->                               -- info : TBasicType TUInt
+    IO (Ptr TargetEntry)
+
+{- |
+Makes a new 'GI.Gtk.Structs.TargetEntry.TargetEntry'.
+-}
+targetEntryNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@target@/: String identifier for target -}
+    -> Word32
+    {- ^ /@flags@/: Set of flags, see 'GI.Gtk.Flags.TargetFlags' -}
+    -> Word32
+    {- ^ /@info@/: an ID that will be passed back to the application -}
+    -> m TargetEntry
+    {- ^ __Returns:__ a pointer to a new 'GI.Gtk.Structs.TargetEntry.TargetEntry'.
+    Free with 'GI.Gtk.Structs.TargetEntry.targetEntryFree' -}
+targetEntryNew target flags info = liftIO $ do
+    target' <- textToCString target
+    result <- gtk_target_entry_new target' flags info
+    checkUnexpectedReturnNULL "targetEntryNew" result
+    result' <- (wrapBoxed TargetEntry) result
+    freeMem target'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TargetEntry::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "data", argType = TInterface (Name {namespace = "Gtk", name = "TargetEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkTargetEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_entry_copy" gtk_target_entry_copy :: 
+    Ptr TargetEntry ->                      -- data : TInterface (Name {namespace = "Gtk", name = "TargetEntry"})
+    IO (Ptr TargetEntry)
+
+{- |
+Makes a copy of a 'GI.Gtk.Structs.TargetEntry.TargetEntry' and its data.
+-}
+targetEntryCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetEntry
+    {- ^ /@data@/: a pointer to a 'GI.Gtk.Structs.TargetEntry.TargetEntry' -}
+    -> m TargetEntry
+    {- ^ __Returns:__ a pointer to a copy of /@data@/.
+    Free with 'GI.Gtk.Structs.TargetEntry.targetEntryFree' -}
+targetEntryCopy data_ = liftIO $ do
+    data_' <- unsafeManagedPtrGetPtr data_
+    result <- gtk_target_entry_copy data_'
+    checkUnexpectedReturnNULL "targetEntryCopy" result
+    result' <- (wrapBoxed TargetEntry) result
+    touchManagedPtr data_
+    return result'
+
+#if ENABLE_OVERLOADING
+data TargetEntryCopyMethodInfo
+instance (signature ~ (m TargetEntry), MonadIO m) => O.MethodInfo TargetEntryCopyMethodInfo TargetEntry signature where
+    overloadedMethod _ = targetEntryCopy
+
+#endif
+
+-- method TargetEntry::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "data", argType = TInterface (Name {namespace = "Gtk", name = "TargetEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GtkTargetEntry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_entry_free" gtk_target_entry_free :: 
+    Ptr TargetEntry ->                      -- data : TInterface (Name {namespace = "Gtk", name = "TargetEntry"})
+    IO ()
+
+{- |
+Frees a 'GI.Gtk.Structs.TargetEntry.TargetEntry' returned from
+'GI.Gtk.Structs.TargetEntry.targetEntryNew' or 'GI.Gtk.Structs.TargetEntry.targetEntryCopy'.
+-}
+targetEntryFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetEntry
+    {- ^ /@data@/: a pointer to a 'GI.Gtk.Structs.TargetEntry.TargetEntry'. -}
+    -> m ()
+targetEntryFree data_ = liftIO $ do
+    data_' <- unsafeManagedPtrGetPtr data_
+    gtk_target_entry_free data_'
+    touchManagedPtr data_
+    return ()
+
+#if ENABLE_OVERLOADING
+data TargetEntryFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TargetEntryFreeMethodInfo TargetEntry signature where
+    overloadedMethod _ = targetEntryFree
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTargetEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTargetEntryMethod "copy" o = TargetEntryCopyMethodInfo
+    ResolveTargetEntryMethod "free" o = TargetEntryFreeMethodInfo
+    ResolveTargetEntryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTargetEntryMethod t TargetEntry, O.MethodInfo info TargetEntry p) => OL.IsLabel t (TargetEntry -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TargetEntry.hs-boot b/GI/Gtk/Structs/TargetEntry.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TargetEntry.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TargetEntry where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TargetEntry = TargetEntry (ManagedPtr TargetEntry)
+instance BoxedObject TargetEntry where
+#if ENABLE_OVERLOADING
+data TargetEntryCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetEntryFreeMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/TargetList.hs b/GI/Gtk/Structs/TargetList.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TargetList.hs
@@ -0,0 +1,634 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Structs.TargetList.TargetList'-struct is a reference counted list
+of 'GI.Gtk.Structs.TargetPair.TargetPair' and should be treated as
+opaque.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TargetList
+    ( 
+
+-- * Exported types
+    TargetList(..)                          ,
+    noTargetList                            ,
+
+
+ -- * Methods
+-- ** add #method:add#
+
+#if ENABLE_OVERLOADING
+    TargetListAddMethodInfo                 ,
+#endif
+    targetListAdd                           ,
+
+
+-- ** addImageTargets #method:addImageTargets#
+
+#if ENABLE_OVERLOADING
+    TargetListAddImageTargetsMethodInfo     ,
+#endif
+    targetListAddImageTargets               ,
+
+
+-- ** addRichTextTargets #method:addRichTextTargets#
+
+#if ENABLE_OVERLOADING
+    TargetListAddRichTextTargetsMethodInfo  ,
+#endif
+    targetListAddRichTextTargets            ,
+
+
+-- ** addTable #method:addTable#
+
+#if ENABLE_OVERLOADING
+    TargetListAddTableMethodInfo            ,
+#endif
+    targetListAddTable                      ,
+
+
+-- ** addTextTargets #method:addTextTargets#
+
+#if ENABLE_OVERLOADING
+    TargetListAddTextTargetsMethodInfo      ,
+#endif
+    targetListAddTextTargets                ,
+
+
+-- ** addUriTargets #method:addUriTargets#
+
+#if ENABLE_OVERLOADING
+    TargetListAddUriTargetsMethodInfo       ,
+#endif
+    targetListAddUriTargets                 ,
+
+
+-- ** find #method:find#
+
+#if ENABLE_OVERLOADING
+    TargetListFindMethodInfo                ,
+#endif
+    targetListFind                          ,
+
+
+-- ** new #method:new#
+
+    targetListNew                           ,
+
+
+-- ** ref #method:ref#
+
+#if ENABLE_OVERLOADING
+    TargetListRefMethodInfo                 ,
+#endif
+    targetListRef                           ,
+
+
+-- ** remove #method:remove#
+
+#if ENABLE_OVERLOADING
+    TargetListRemoveMethodInfo              ,
+#endif
+    targetListRemove                        ,
+
+
+-- ** unref #method:unref#
+
+#if ENABLE_OVERLOADING
+    TargetListUnrefMethodInfo               ,
+#endif
+    targetListUnref                         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Gdk.Structs.Atom as Gdk.Atom
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetEntry as Gtk.TargetEntry
+
+-- | Memory-managed wrapper type.
+newtype TargetList = TargetList (ManagedPtr TargetList)
+foreign import ccall "gtk_target_list_get_type" c_gtk_target_list_get_type :: 
+    IO GType
+
+instance BoxedObject TargetList where
+    boxedType _ = c_gtk_target_list_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TargetList`.
+noTargetList :: Maybe TargetList
+noTargetList = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TargetList
+type instance O.AttributeList TargetList = TargetListAttributeList
+type TargetListAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method TargetList::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "targets", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Pointer to an array\n  of #GtkTargetEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ntargets", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entries in @targets.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "ntargets", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entries in @targets.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetList"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_new" gtk_target_list_new :: 
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 1 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Word32 ->                               -- ntargets : TBasicType TUInt
+    IO (Ptr TargetList)
+
+{- |
+Creates a new 'GI.Gtk.Structs.TargetList.TargetList' from an array of 'GI.Gtk.Structs.TargetEntry.TargetEntry'.
+-}
+targetListNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    Maybe ([Gtk.TargetEntry.TargetEntry])
+    {- ^ /@targets@/: Pointer to an array
+  of 'GI.Gtk.Structs.TargetEntry.TargetEntry' -}
+    -> m TargetList
+    {- ^ __Returns:__ the new 'GI.Gtk.Structs.TargetList.TargetList'. -}
+targetListNew targets = liftIO $ do
+    let ntargets = case targets of
+            Nothing -> 0
+            Just jTargets -> fromIntegral $ length jTargets
+    maybeTargets <- case targets of
+        Nothing -> return nullPtr
+        Just jTargets -> do
+            jTargets' <- mapM unsafeManagedPtrGetPtr jTargets
+            jTargets'' <- packBlockArray 16 jTargets'
+            return jTargets''
+    result <- gtk_target_list_new maybeTargets ntargets
+    checkUnexpectedReturnNULL "targetListNew" result
+    result' <- (wrapBoxed TargetList) result
+    whenJust targets (mapM_ touchManagedPtr)
+    freeMem maybeTargets
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TargetList::add
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the interned atom representing the target", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the flags for this target", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ID that will be passed back to the application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_add" gtk_target_list_add :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Word32 ->                               -- flags : TBasicType TUInt
+    Word32 ->                               -- info : TBasicType TUInt
+    IO ()
+
+{- |
+Appends another target to a 'GI.Gtk.Structs.TargetList.TargetList'.
+-}
+targetListAdd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@target@/: the interned atom representing the target -}
+    -> Word32
+    {- ^ /@flags@/: the flags for this target -}
+    -> Word32
+    {- ^ /@info@/: an ID that will be passed back to the application -}
+    -> m ()
+targetListAdd list target flags info = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    target' <- unsafeManagedPtrGetPtr target
+    gtk_target_list_add list' target' flags info
+    touchManagedPtr list
+    touchManagedPtr target
+    return ()
+
+#if ENABLE_OVERLOADING
+data TargetListAddMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> Word32 -> Word32 -> m ()), MonadIO m) => O.MethodInfo TargetListAddMethodInfo TargetList signature where
+    overloadedMethod _ = targetListAdd
+
+#endif
+
+-- method TargetList::add_image_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ID that will be passed back to the application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "writable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to add only targets for which GTK+ knows\n  how to convert a pixbuf into the format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_add_image_targets" gtk_target_list_add_image_targets :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    Word32 ->                               -- info : TBasicType TUInt
+    CInt ->                                 -- writable : TBasicType TBoolean
+    IO ()
+
+{- |
+Appends the image targets supported by 'GI.Gtk.Structs.SelectionData.SelectionData' to
+the target list. All targets are added with the same /@info@/.
+
+/Since: 2.6/
+-}
+targetListAddImageTargets ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> Word32
+    {- ^ /@info@/: an ID that will be passed back to the application -}
+    -> Bool
+    {- ^ /@writable@/: whether to add only targets for which GTK+ knows
+  how to convert a pixbuf into the format -}
+    -> m ()
+targetListAddImageTargets list info writable = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    let writable' = (fromIntegral . fromEnum) writable
+    gtk_target_list_add_image_targets list' info writable'
+    touchManagedPtr list
+    return ()
+
+#if ENABLE_OVERLOADING
+data TargetListAddImageTargetsMethodInfo
+instance (signature ~ (Word32 -> Bool -> m ()), MonadIO m) => O.MethodInfo TargetListAddImageTargetsMethodInfo TargetList signature where
+    overloadedMethod _ = targetListAddImageTargets
+
+#endif
+
+-- method TargetList::add_rich_text_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ID that will be passed back to the application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "deserializable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, then deserializable rich text formats\n                 will be added, serializable formats otherwise.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_add_rich_text_targets" gtk_target_list_add_rich_text_targets :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    Word32 ->                               -- info : TBasicType TUInt
+    CInt ->                                 -- deserializable : TBasicType TBoolean
+    Ptr Gtk.TextBuffer.TextBuffer ->        -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"})
+    IO ()
+
+{- |
+Appends the rich text targets registered with
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterSerializeFormat' or
+'GI.Gtk.Objects.TextBuffer.textBufferRegisterDeserializeFormat' to the target list. All
+targets are added with the same /@info@/.
+
+/Since: 2.10/
+-}
+targetListAddRichTextTargets ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextBuffer.IsTextBuffer a) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> Word32
+    {- ^ /@info@/: an ID that will be passed back to the application -}
+    -> Bool
+    {- ^ /@deserializable@/: if 'True', then deserializable rich text formats
+                 will be added, serializable formats otherwise. -}
+    -> a
+    {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer'. -}
+    -> m ()
+targetListAddRichTextTargets list info deserializable buffer = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    let deserializable' = (fromIntegral . fromEnum) deserializable
+    buffer' <- unsafeManagedPtrCastPtr buffer
+    gtk_target_list_add_rich_text_targets list' info deserializable' buffer'
+    touchManagedPtr list
+    touchManagedPtr buffer
+    return ()
+
+#if ENABLE_OVERLOADING
+data TargetListAddRichTextTargetsMethodInfo
+instance (signature ~ (Word32 -> Bool -> a -> m ()), MonadIO m, Gtk.TextBuffer.IsTextBuffer a) => O.MethodInfo TargetListAddRichTextTargetsMethodInfo TargetList signature where
+    overloadedMethod _ = targetListAddRichTextTargets
+
+#endif
+
+-- method TargetList::add_table
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "targets", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the table of #GtkTargetEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ntargets", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of targets in the table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "ntargets", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of targets in the table", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_add_table" gtk_target_list_add_table :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    Ptr Gtk.TargetEntry.TargetEntry ->      -- targets : TCArray False (-1) 2 (TInterface (Name {namespace = "Gtk", name = "TargetEntry"}))
+    Word32 ->                               -- ntargets : TBasicType TUInt
+    IO ()
+
+{- |
+Prepends a table of 'GI.Gtk.Structs.TargetEntry.TargetEntry' to a target list.
+-}
+targetListAddTable ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> [Gtk.TargetEntry.TargetEntry]
+    {- ^ /@targets@/: the table of 'GI.Gtk.Structs.TargetEntry.TargetEntry' -}
+    -> m ()
+targetListAddTable list targets = liftIO $ do
+    let ntargets = fromIntegral $ length targets
+    list' <- unsafeManagedPtrGetPtr list
+    targets' <- mapM unsafeManagedPtrGetPtr targets
+    targets'' <- packBlockArray 16 targets'
+    gtk_target_list_add_table list' targets'' ntargets
+    touchManagedPtr list
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return ()
+
+#if ENABLE_OVERLOADING
+data TargetListAddTableMethodInfo
+instance (signature ~ ([Gtk.TargetEntry.TargetEntry] -> m ()), MonadIO m) => O.MethodInfo TargetListAddTableMethodInfo TargetList signature where
+    overloadedMethod _ = targetListAddTable
+
+#endif
+
+-- method TargetList::add_text_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ID that will be passed back to the application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_add_text_targets" gtk_target_list_add_text_targets :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    Word32 ->                               -- info : TBasicType TUInt
+    IO ()
+
+{- |
+Appends the text targets supported by 'GI.Gtk.Structs.SelectionData.SelectionData' to
+the target list. All targets are added with the same /@info@/.
+
+/Since: 2.6/
+-}
+targetListAddTextTargets ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> Word32
+    {- ^ /@info@/: an ID that will be passed back to the application -}
+    -> m ()
+targetListAddTextTargets list info = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    gtk_target_list_add_text_targets list' info
+    touchManagedPtr list
+    return ()
+
+#if ENABLE_OVERLOADING
+data TargetListAddTextTargetsMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo TargetListAddTextTargetsMethodInfo TargetList signature where
+    overloadedMethod _ = targetListAddTextTargets
+
+#endif
+
+-- method TargetList::add_uri_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ID that will be passed back to the application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_add_uri_targets" gtk_target_list_add_uri_targets :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    Word32 ->                               -- info : TBasicType TUInt
+    IO ()
+
+{- |
+Appends the URI targets supported by 'GI.Gtk.Structs.SelectionData.SelectionData' to
+the target list. All targets are added with the same /@info@/.
+
+/Since: 2.6/
+-}
+targetListAddUriTargets ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> Word32
+    {- ^ /@info@/: an ID that will be passed back to the application -}
+    -> m ()
+targetListAddUriTargets list info = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    gtk_target_list_add_uri_targets list' info
+    touchManagedPtr list
+    return ()
+
+#if ENABLE_OVERLOADING
+data TargetListAddUriTargetsMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo TargetListAddUriTargetsMethodInfo TargetList signature where
+    overloadedMethod _ = targetListAddUriTargets
+
+#endif
+
+-- method TargetList::find
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interned atom representing the target to search for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the location to store\n       application info for target, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_find" gtk_target_list_find :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    Ptr Word32 ->                           -- info : TBasicType TUInt
+    IO CInt
+
+{- |
+Looks up a given target in a 'GI.Gtk.Structs.TargetList.TargetList'.
+-}
+targetListFind ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@target@/: an interned atom representing the target to search for -}
+    -> m ((Bool, Word32))
+    {- ^ __Returns:__ 'True' if the target was found, otherwise 'False' -}
+targetListFind list target = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    target' <- unsafeManagedPtrGetPtr target
+    info <- allocMem :: IO (Ptr Word32)
+    result <- gtk_target_list_find list' target' info
+    let result' = (/= 0) result
+    info' <- peek info
+    touchManagedPtr list
+    touchManagedPtr target
+    freeMem info
+    return (result', info')
+
+#if ENABLE_OVERLOADING
+data TargetListFindMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> m ((Bool, Word32))), MonadIO m) => O.MethodInfo TargetListFindMethodInfo TargetList signature where
+    overloadedMethod _ = targetListFind
+
+#endif
+
+-- method TargetList::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TargetList"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_ref" gtk_target_list_ref :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    IO (Ptr TargetList)
+
+{- |
+Increases the reference count of a 'GI.Gtk.Structs.TargetList.TargetList' by one.
+-}
+targetListRef ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> m TargetList
+    {- ^ __Returns:__ the passed in 'GI.Gtk.Structs.TargetList.TargetList'. -}
+targetListRef list = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    result <- gtk_target_list_ref list'
+    checkUnexpectedReturnNULL "targetListRef" result
+    result' <- (wrapBoxed TargetList) result
+    touchManagedPtr list
+    return result'
+
+#if ENABLE_OVERLOADING
+data TargetListRefMethodInfo
+instance (signature ~ (m TargetList), MonadIO m) => O.MethodInfo TargetListRefMethodInfo TargetList signature where
+    overloadedMethod _ = targetListRef
+
+#endif
+
+-- method TargetList::remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gdk", name = "Atom"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the interned atom representing the target", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_remove" gtk_target_list_remove :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    Ptr Gdk.Atom.Atom ->                    -- target : TInterface (Name {namespace = "Gdk", name = "Atom"})
+    IO ()
+
+{- |
+Removes a target from a target list.
+-}
+targetListRemove ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> Gdk.Atom.Atom
+    {- ^ /@target@/: the interned atom representing the target -}
+    -> m ()
+targetListRemove list target = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    target' <- unsafeManagedPtrGetPtr target
+    gtk_target_list_remove list' target'
+    touchManagedPtr list
+    touchManagedPtr target
+    return ()
+
+#if ENABLE_OVERLOADING
+data TargetListRemoveMethodInfo
+instance (signature ~ (Gdk.Atom.Atom -> m ()), MonadIO m) => O.MethodInfo TargetListRemoveMethodInfo TargetList signature where
+    overloadedMethod _ = targetListRemove
+
+#endif
+
+-- method TargetList::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gtk", name = "TargetList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTargetList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_target_list_unref" gtk_target_list_unref :: 
+    Ptr TargetList ->                       -- list : TInterface (Name {namespace = "Gtk", name = "TargetList"})
+    IO ()
+
+{- |
+Decreases the reference count of a 'GI.Gtk.Structs.TargetList.TargetList' by one.
+If the resulting reference count is zero, frees the list.
+-}
+targetListUnref ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TargetList
+    {- ^ /@list@/: a 'GI.Gtk.Structs.TargetList.TargetList' -}
+    -> m ()
+targetListUnref list = liftIO $ do
+    list' <- unsafeManagedPtrGetPtr list
+    gtk_target_list_unref list'
+    touchManagedPtr list
+    return ()
+
+#if ENABLE_OVERLOADING
+data TargetListUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TargetListUnrefMethodInfo TargetList signature where
+    overloadedMethod _ = targetListUnref
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTargetListMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTargetListMethod "add" o = TargetListAddMethodInfo
+    ResolveTargetListMethod "addImageTargets" o = TargetListAddImageTargetsMethodInfo
+    ResolveTargetListMethod "addRichTextTargets" o = TargetListAddRichTextTargetsMethodInfo
+    ResolveTargetListMethod "addTable" o = TargetListAddTableMethodInfo
+    ResolveTargetListMethod "addTextTargets" o = TargetListAddTextTargetsMethodInfo
+    ResolveTargetListMethod "addUriTargets" o = TargetListAddUriTargetsMethodInfo
+    ResolveTargetListMethod "find" o = TargetListFindMethodInfo
+    ResolveTargetListMethod "ref" o = TargetListRefMethodInfo
+    ResolveTargetListMethod "remove" o = TargetListRemoveMethodInfo
+    ResolveTargetListMethod "unref" o = TargetListUnrefMethodInfo
+    ResolveTargetListMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTargetListMethod t TargetList, O.MethodInfo info TargetList p) => OL.IsLabel t (TargetList -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TargetList.hs-boot b/GI/Gtk/Structs/TargetList.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TargetList.hs-boot
@@ -0,0 +1,56 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TargetList where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TargetList = TargetList (ManagedPtr TargetList)
+instance BoxedObject TargetList where
+#if ENABLE_OVERLOADING
+data TargetListAddMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetListAddImageTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetListAddRichTextTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetListAddTableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetListAddTextTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetListAddUriTargetsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetListFindMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetListRefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetListRemoveMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TargetListUnrefMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/TargetPair.hs b/GI/Gtk/Structs/TargetPair.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TargetPair.hs
@@ -0,0 +1,250 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A 'GI.Gtk.Structs.TargetPair.TargetPair' is used to represent the same
+information as a table of 'GI.Gtk.Structs.TargetEntry.TargetEntry', but in
+an efficient form.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TargetPair
+    ( 
+
+-- * Exported types
+    TargetPair(..)                          ,
+    newZeroTargetPair                       ,
+    noTargetPair                            ,
+
+
+ -- * Properties
+-- ** flags #attr:flags#
+{- | 'GI.Gtk.Flags.TargetFlags' for DND
+-}
+    getTargetPairFlags                      ,
+    setTargetPairFlags                      ,
+#if ENABLE_OVERLOADING
+    targetPair_flags                        ,
+#endif
+
+
+-- ** info #attr:info#
+{- | an application-assigned integer ID which will
+    get passed as a parameter to e.g the 'GI.Gtk.Objects.Widget.Widget'::@/selection-get/@
+    signal. It allows the application to identify the target
+    type without extensive string compares.
+-}
+    getTargetPairInfo                       ,
+    setTargetPairInfo                       ,
+#if ENABLE_OVERLOADING
+    targetPair_info                         ,
+#endif
+
+
+-- ** target #attr:target#
+{- | 'GI.Gdk.Structs.Atom.Atom' representation of the target type
+-}
+    getTargetPairTarget                     ,
+#if ENABLE_OVERLOADING
+    targetPair_target                       ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Gdk.Structs.Atom as Gdk.Atom
+
+-- | Memory-managed wrapper type.
+newtype TargetPair = TargetPair (ManagedPtr TargetPair)
+instance WrappedPtr TargetPair where
+    wrappedPtrCalloc = callocBytes 16
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr TargetPair)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `TargetPair` struct initialized to zero.
+newZeroTargetPair :: MonadIO m => m TargetPair
+newZeroTargetPair = liftIO $ wrappedPtrCalloc >>= wrapPtr TargetPair
+
+instance tag ~ 'AttrSet => Constructible TargetPair tag where
+    new _ attrs = do
+        o <- newZeroTargetPair
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TargetPair`.
+noTargetPair :: Maybe TargetPair
+noTargetPair = Nothing
+
+{- |
+Get the value of the “@target@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' targetPair #target
+@
+-}
+getTargetPairTarget :: MonadIO m => TargetPair -> m Gdk.Atom.Atom
+getTargetPairTarget s = liftIO $ withManagedPtr s $ \ptr -> do
+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.Atom.Atom)
+    val' <- (newPtr Gdk.Atom.Atom) val
+    return val'
+
+#if ENABLE_OVERLOADING
+data TargetPairTargetFieldInfo
+instance AttrInfo TargetPairTargetFieldInfo where
+    type AttrAllowedOps TargetPairTargetFieldInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TargetPairTargetFieldInfo = (~) (Ptr Gdk.Atom.Atom)
+    type AttrBaseTypeConstraint TargetPairTargetFieldInfo = (~) TargetPair
+    type AttrGetType TargetPairTargetFieldInfo = Gdk.Atom.Atom
+    type AttrLabel TargetPairTargetFieldInfo = "target"
+    type AttrOrigin TargetPairTargetFieldInfo = TargetPair
+    attrGet _ = getTargetPairTarget
+    attrSet _ = undefined
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+targetPair_target :: AttrLabelProxy "target"
+targetPair_target = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@flags@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' targetPair #flags
+@
+-}
+getTargetPairFlags :: MonadIO m => TargetPair -> m Word32
+getTargetPairFlags s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@flags@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' targetPair [ #flags 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTargetPairFlags :: MonadIO m => TargetPair -> Word32 -> m ()
+setTargetPairFlags s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TargetPairFlagsFieldInfo
+instance AttrInfo TargetPairFlagsFieldInfo where
+    type AttrAllowedOps TargetPairFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TargetPairFlagsFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TargetPairFlagsFieldInfo = (~) TargetPair
+    type AttrGetType TargetPairFlagsFieldInfo = Word32
+    type AttrLabel TargetPairFlagsFieldInfo = "flags"
+    type AttrOrigin TargetPairFlagsFieldInfo = TargetPair
+    attrGet _ = getTargetPairFlags
+    attrSet _ = setTargetPairFlags
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+targetPair_flags :: AttrLabelProxy "flags"
+targetPair_flags = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@info@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' targetPair #info
+@
+-}
+getTargetPairInfo :: MonadIO m => TargetPair -> m Word32
+getTargetPairInfo s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 12) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@info@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' targetPair [ #info 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTargetPairInfo :: MonadIO m => TargetPair -> Word32 -> m ()
+setTargetPairInfo s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 12) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TargetPairInfoFieldInfo
+instance AttrInfo TargetPairInfoFieldInfo where
+    type AttrAllowedOps TargetPairInfoFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TargetPairInfoFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TargetPairInfoFieldInfo = (~) TargetPair
+    type AttrGetType TargetPairInfoFieldInfo = Word32
+    type AttrLabel TargetPairInfoFieldInfo = "info"
+    type AttrOrigin TargetPairInfoFieldInfo = TargetPair
+    attrGet _ = getTargetPairInfo
+    attrSet _ = setTargetPairInfo
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+targetPair_info :: AttrLabelProxy "info"
+targetPair_info = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TargetPair
+type instance O.AttributeList TargetPair = TargetPairAttributeList
+type TargetPairAttributeList = ('[ '("target", TargetPairTargetFieldInfo), '("flags", TargetPairFlagsFieldInfo), '("info", TargetPairInfoFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTargetPairMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTargetPairMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTargetPairMethod t TargetPair, O.MethodInfo info TargetPair p) => OL.IsLabel t (TargetPair -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TargetPair.hs-boot b/GI/Gtk/Structs/TargetPair.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TargetPair.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TargetPair where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TargetPair = TargetPair (ManagedPtr TargetPair)
+instance WrappedPtr TargetPair where
diff --git a/GI/Gtk/Structs/TextAppearance.hs b/GI/Gtk/Structs/TextAppearance.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TextAppearance.hs
@@ -0,0 +1,515 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TextAppearance
+    ( 
+
+-- * Exported types
+    TextAppearance(..)                      ,
+    newZeroTextAppearance                   ,
+    noTextAppearance                        ,
+
+
+ -- * Properties
+-- ** bgColor #attr:bgColor#
+{- | Background 'GI.Gdk.Structs.Color.Color'.
+-}
+    getTextAppearanceBgColor                ,
+#if ENABLE_OVERLOADING
+    textAppearance_bgColor                  ,
+#endif
+
+
+-- ** drawBg #attr:drawBg#
+{- | Whether to use background-related values; this is
+  irrelevant for the values struct when in a tag, but is used for
+  the composite values struct; it’s true if any of the tags being
+  composited had background stuff set.
+-}
+    getTextAppearanceDrawBg                 ,
+    setTextAppearanceDrawBg                 ,
+#if ENABLE_OVERLOADING
+    textAppearance_drawBg                   ,
+#endif
+
+
+-- ** fgColor #attr:fgColor#
+{- | Foreground 'GI.Gdk.Structs.Color.Color'.
+-}
+    getTextAppearanceFgColor                ,
+#if ENABLE_OVERLOADING
+    textAppearance_fgColor                  ,
+#endif
+
+
+-- ** insideSelection #attr:insideSelection#
+{- | This are only used when we are actually laying
+  out and rendering a paragraph; not when a 'GI.Gtk.Structs.TextAppearance.TextAppearance' is
+  part of a 'GI.Gtk.Structs.TextAttributes.TextAttributes'.
+-}
+    getTextAppearanceInsideSelection        ,
+    setTextAppearanceInsideSelection        ,
+#if ENABLE_OVERLOADING
+    textAppearance_insideSelection          ,
+#endif
+
+
+-- ** isText #attr:isText#
+{- | This are only used when we are actually laying
+  out and rendering a paragraph; not when a 'GI.Gtk.Structs.TextAppearance.TextAppearance' is
+  part of a 'GI.Gtk.Structs.TextAttributes.TextAttributes'.
+-}
+    getTextAppearanceIsText                 ,
+    setTextAppearanceIsText                 ,
+#if ENABLE_OVERLOADING
+    textAppearance_isText                   ,
+#endif
+
+
+-- ** rise #attr:rise#
+{- | Super\/subscript rise, can be negative.
+-}
+    getTextAppearanceRise                   ,
+    setTextAppearanceRise                   ,
+#if ENABLE_OVERLOADING
+    textAppearance_rise                     ,
+#endif
+
+
+-- ** strikethrough #attr:strikethrough#
+{- | Strikethrough style
+-}
+    getTextAppearanceStrikethrough          ,
+    setTextAppearanceStrikethrough          ,
+#if ENABLE_OVERLOADING
+    textAppearance_strikethrough            ,
+#endif
+
+
+-- ** underline #attr:underline#
+{- | 'GI.Pango.Enums.Underline'
+-}
+    getTextAppearanceUnderline              ,
+    setTextAppearanceUnderline              ,
+#if ENABLE_OVERLOADING
+    textAppearance_underline                ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.Gdk.Structs.Color as Gdk.Color
+
+-- | Memory-managed wrapper type.
+newtype TextAppearance = TextAppearance (ManagedPtr TextAppearance)
+instance WrappedPtr TextAppearance where
+    wrappedPtrCalloc = callocBytes 48
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr TextAppearance)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `TextAppearance` struct initialized to zero.
+newZeroTextAppearance :: MonadIO m => m TextAppearance
+newZeroTextAppearance = liftIO $ wrappedPtrCalloc >>= wrapPtr TextAppearance
+
+instance tag ~ 'AttrSet => Constructible TextAppearance tag where
+    new _ attrs = do
+        o <- newZeroTextAppearance
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextAppearance`.
+noTextAppearance :: Maybe TextAppearance
+noTextAppearance = Nothing
+
+{- |
+Get the value of the “@bg_color@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAppearance #bgColor
+@
+-}
+getTextAppearanceBgColor :: MonadIO m => TextAppearance -> m Gdk.Color.Color
+getTextAppearanceBgColor s = liftIO $ withManagedPtr s $ \ptr -> do
+    let val = ptr `plusPtr` 0 :: (Ptr Gdk.Color.Color)
+    val' <- (newBoxed Gdk.Color.Color) val
+    return val'
+
+#if ENABLE_OVERLOADING
+data TextAppearanceBgColorFieldInfo
+instance AttrInfo TextAppearanceBgColorFieldInfo where
+    type AttrAllowedOps TextAppearanceBgColorFieldInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TextAppearanceBgColorFieldInfo = (~) (Ptr Gdk.Color.Color)
+    type AttrBaseTypeConstraint TextAppearanceBgColorFieldInfo = (~) TextAppearance
+    type AttrGetType TextAppearanceBgColorFieldInfo = Gdk.Color.Color
+    type AttrLabel TextAppearanceBgColorFieldInfo = "bg_color"
+    type AttrOrigin TextAppearanceBgColorFieldInfo = TextAppearance
+    attrGet _ = getTextAppearanceBgColor
+    attrSet _ = undefined
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAppearance_bgColor :: AttrLabelProxy "bgColor"
+textAppearance_bgColor = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@fg_color@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAppearance #fgColor
+@
+-}
+getTextAppearanceFgColor :: MonadIO m => TextAppearance -> m Gdk.Color.Color
+getTextAppearanceFgColor s = liftIO $ withManagedPtr s $ \ptr -> do
+    let val = ptr `plusPtr` 12 :: (Ptr Gdk.Color.Color)
+    val' <- (newBoxed Gdk.Color.Color) val
+    return val'
+
+#if ENABLE_OVERLOADING
+data TextAppearanceFgColorFieldInfo
+instance AttrInfo TextAppearanceFgColorFieldInfo where
+    type AttrAllowedOps TextAppearanceFgColorFieldInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TextAppearanceFgColorFieldInfo = (~) (Ptr Gdk.Color.Color)
+    type AttrBaseTypeConstraint TextAppearanceFgColorFieldInfo = (~) TextAppearance
+    type AttrGetType TextAppearanceFgColorFieldInfo = Gdk.Color.Color
+    type AttrLabel TextAppearanceFgColorFieldInfo = "fg_color"
+    type AttrOrigin TextAppearanceFgColorFieldInfo = TextAppearance
+    attrGet _ = getTextAppearanceFgColor
+    attrSet _ = undefined
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAppearance_fgColor :: AttrLabelProxy "fgColor"
+textAppearance_fgColor = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@rise@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAppearance #rise
+@
+-}
+getTextAppearanceRise :: MonadIO m => TextAppearance -> m Int32
+getTextAppearanceRise s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@rise@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAppearance [ #rise 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAppearanceRise :: MonadIO m => TextAppearance -> Int32 -> m ()
+setTextAppearanceRise s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data TextAppearanceRiseFieldInfo
+instance AttrInfo TextAppearanceRiseFieldInfo where
+    type AttrAllowedOps TextAppearanceRiseFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAppearanceRiseFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint TextAppearanceRiseFieldInfo = (~) TextAppearance
+    type AttrGetType TextAppearanceRiseFieldInfo = Int32
+    type AttrLabel TextAppearanceRiseFieldInfo = "rise"
+    type AttrOrigin TextAppearanceRiseFieldInfo = TextAppearance
+    attrGet _ = getTextAppearanceRise
+    attrSet _ = setTextAppearanceRise
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAppearance_rise :: AttrLabelProxy "rise"
+textAppearance_rise = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@underline@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAppearance #underline
+@
+-}
+getTextAppearanceUnderline :: MonadIO m => TextAppearance -> m Word32
+getTextAppearanceUnderline s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 28) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@underline@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAppearance [ #underline 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAppearanceUnderline :: MonadIO m => TextAppearance -> Word32 -> m ()
+setTextAppearanceUnderline s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 28) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TextAppearanceUnderlineFieldInfo
+instance AttrInfo TextAppearanceUnderlineFieldInfo where
+    type AttrAllowedOps TextAppearanceUnderlineFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAppearanceUnderlineFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TextAppearanceUnderlineFieldInfo = (~) TextAppearance
+    type AttrGetType TextAppearanceUnderlineFieldInfo = Word32
+    type AttrLabel TextAppearanceUnderlineFieldInfo = "underline"
+    type AttrOrigin TextAppearanceUnderlineFieldInfo = TextAppearance
+    attrGet _ = getTextAppearanceUnderline
+    attrSet _ = setTextAppearanceUnderline
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAppearance_underline :: AttrLabelProxy "underline"
+textAppearance_underline = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@strikethrough@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAppearance #strikethrough
+@
+-}
+getTextAppearanceStrikethrough :: MonadIO m => TextAppearance -> m Word32
+getTextAppearanceStrikethrough s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@strikethrough@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAppearance [ #strikethrough 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAppearanceStrikethrough :: MonadIO m => TextAppearance -> Word32 -> m ()
+setTextAppearanceStrikethrough s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TextAppearanceStrikethroughFieldInfo
+instance AttrInfo TextAppearanceStrikethroughFieldInfo where
+    type AttrAllowedOps TextAppearanceStrikethroughFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAppearanceStrikethroughFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TextAppearanceStrikethroughFieldInfo = (~) TextAppearance
+    type AttrGetType TextAppearanceStrikethroughFieldInfo = Word32
+    type AttrLabel TextAppearanceStrikethroughFieldInfo = "strikethrough"
+    type AttrOrigin TextAppearanceStrikethroughFieldInfo = TextAppearance
+    attrGet _ = getTextAppearanceStrikethrough
+    attrSet _ = setTextAppearanceStrikethrough
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAppearance_strikethrough :: AttrLabelProxy "strikethrough"
+textAppearance_strikethrough = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@draw_bg@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAppearance #drawBg
+@
+-}
+getTextAppearanceDrawBg :: MonadIO m => TextAppearance -> m Word32
+getTextAppearanceDrawBg s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 36) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@draw_bg@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAppearance [ #drawBg 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAppearanceDrawBg :: MonadIO m => TextAppearance -> Word32 -> m ()
+setTextAppearanceDrawBg s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 36) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TextAppearanceDrawBgFieldInfo
+instance AttrInfo TextAppearanceDrawBgFieldInfo where
+    type AttrAllowedOps TextAppearanceDrawBgFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAppearanceDrawBgFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TextAppearanceDrawBgFieldInfo = (~) TextAppearance
+    type AttrGetType TextAppearanceDrawBgFieldInfo = Word32
+    type AttrLabel TextAppearanceDrawBgFieldInfo = "draw_bg"
+    type AttrOrigin TextAppearanceDrawBgFieldInfo = TextAppearance
+    attrGet _ = getTextAppearanceDrawBg
+    attrSet _ = setTextAppearanceDrawBg
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAppearance_drawBg :: AttrLabelProxy "drawBg"
+textAppearance_drawBg = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@inside_selection@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAppearance #insideSelection
+@
+-}
+getTextAppearanceInsideSelection :: MonadIO m => TextAppearance -> m Word32
+getTextAppearanceInsideSelection s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@inside_selection@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAppearance [ #insideSelection 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAppearanceInsideSelection :: MonadIO m => TextAppearance -> Word32 -> m ()
+setTextAppearanceInsideSelection s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TextAppearanceInsideSelectionFieldInfo
+instance AttrInfo TextAppearanceInsideSelectionFieldInfo where
+    type AttrAllowedOps TextAppearanceInsideSelectionFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAppearanceInsideSelectionFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TextAppearanceInsideSelectionFieldInfo = (~) TextAppearance
+    type AttrGetType TextAppearanceInsideSelectionFieldInfo = Word32
+    type AttrLabel TextAppearanceInsideSelectionFieldInfo = "inside_selection"
+    type AttrOrigin TextAppearanceInsideSelectionFieldInfo = TextAppearance
+    attrGet _ = getTextAppearanceInsideSelection
+    attrSet _ = setTextAppearanceInsideSelection
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAppearance_insideSelection :: AttrLabelProxy "insideSelection"
+textAppearance_insideSelection = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@is_text@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAppearance #isText
+@
+-}
+getTextAppearanceIsText :: MonadIO m => TextAppearance -> m Word32
+getTextAppearanceIsText s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 44) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@is_text@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAppearance [ #isText 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAppearanceIsText :: MonadIO m => TextAppearance -> Word32 -> m ()
+setTextAppearanceIsText s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 44) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TextAppearanceIsTextFieldInfo
+instance AttrInfo TextAppearanceIsTextFieldInfo where
+    type AttrAllowedOps TextAppearanceIsTextFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAppearanceIsTextFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TextAppearanceIsTextFieldInfo = (~) TextAppearance
+    type AttrGetType TextAppearanceIsTextFieldInfo = Word32
+    type AttrLabel TextAppearanceIsTextFieldInfo = "is_text"
+    type AttrOrigin TextAppearanceIsTextFieldInfo = TextAppearance
+    attrGet _ = getTextAppearanceIsText
+    attrSet _ = setTextAppearanceIsText
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAppearance_isText :: AttrLabelProxy "isText"
+textAppearance_isText = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextAppearance
+type instance O.AttributeList TextAppearance = TextAppearanceAttributeList
+type TextAppearanceAttributeList = ('[ '("bgColor", TextAppearanceBgColorFieldInfo), '("fgColor", TextAppearanceFgColorFieldInfo), '("rise", TextAppearanceRiseFieldInfo), '("underline", TextAppearanceUnderlineFieldInfo), '("strikethrough", TextAppearanceStrikethroughFieldInfo), '("drawBg", TextAppearanceDrawBgFieldInfo), '("insideSelection", TextAppearanceInsideSelectionFieldInfo), '("isText", TextAppearanceIsTextFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTextAppearanceMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextAppearanceMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextAppearanceMethod t TextAppearance, O.MethodInfo info TextAppearance p) => OL.IsLabel t (TextAppearance -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TextAppearance.hs-boot b/GI/Gtk/Structs/TextAppearance.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TextAppearance.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TextAppearance where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextAppearance = TextAppearance (ManagedPtr TextAppearance)
+instance WrappedPtr TextAppearance where
diff --git a/GI/Gtk/Structs/TextAttributes.hs b/GI/Gtk/Structs/TextAttributes.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TextAttributes.hs
@@ -0,0 +1,1410 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+Using 'GI.Gtk.Structs.TextAttributes.TextAttributes' directly should rarely be necessary.
+It’s primarily useful with 'GI.Gtk.Structs.TextIter.textIterGetAttributes'.
+As with most GTK+ structs, the fields in this struct should only
+be read, never modified directly.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TextAttributes
+    ( 
+
+-- * Exported types
+    TextAttributes(..)                      ,
+    newZeroTextAttributes                   ,
+    noTextAttributes                        ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    TextAttributesCopyMethodInfo            ,
+#endif
+    textAttributesCopy                      ,
+
+
+-- ** copyValues #method:copyValues#
+
+#if ENABLE_OVERLOADING
+    TextAttributesCopyValuesMethodInfo      ,
+#endif
+    textAttributesCopyValues                ,
+
+
+-- ** new #method:new#
+
+    textAttributesNew                       ,
+
+
+-- ** ref #method:ref#
+
+#if ENABLE_OVERLOADING
+    TextAttributesRefMethodInfo             ,
+#endif
+    textAttributesRef                       ,
+
+
+-- ** unref #method:unref#
+
+#if ENABLE_OVERLOADING
+    TextAttributesUnrefMethodInfo           ,
+#endif
+    textAttributesUnref                     ,
+
+
+
+
+ -- * Properties
+-- ** appearance #attr:appearance#
+{- | 'GI.Gtk.Structs.TextAppearance.TextAppearance' for text.
+-}
+    getTextAttributesAppearance             ,
+#if ENABLE_OVERLOADING
+    textAttributes_appearance               ,
+#endif
+
+
+-- ** bgFullHeight #attr:bgFullHeight#
+{- | Background is fit to full line height rather than
+   baseline +\/- ascent\/descent (font height).
+-}
+    getTextAttributesBgFullHeight           ,
+    setTextAttributesBgFullHeight           ,
+#if ENABLE_OVERLOADING
+    textAttributes_bgFullHeight             ,
+#endif
+
+
+-- ** direction #attr:direction#
+{- | 'GI.Gtk.Enums.TextDirection' for text.
+-}
+    getTextAttributesDirection              ,
+    setTextAttributesDirection              ,
+#if ENABLE_OVERLOADING
+    textAttributes_direction                ,
+#endif
+
+
+-- ** editable #attr:editable#
+{- | Can edit this text.
+-}
+    getTextAttributesEditable               ,
+    setTextAttributesEditable               ,
+#if ENABLE_OVERLOADING
+    textAttributes_editable                 ,
+#endif
+
+
+-- ** font #attr:font#
+{- | 'GI.Pango.Structs.FontDescription.FontDescription' for text.
+-}
+    clearTextAttributesFont                 ,
+    getTextAttributesFont                   ,
+    setTextAttributesFont                   ,
+#if ENABLE_OVERLOADING
+    textAttributes_font                     ,
+#endif
+
+
+-- ** fontScale #attr:fontScale#
+{- | Font scale factor.
+-}
+    getTextAttributesFontScale              ,
+    setTextAttributesFontScale              ,
+#if ENABLE_OVERLOADING
+    textAttributes_fontScale                ,
+#endif
+
+
+-- ** indent #attr:indent#
+{- | Amount to indent the paragraph, in pixels.
+-}
+    getTextAttributesIndent                 ,
+    setTextAttributesIndent                 ,
+#if ENABLE_OVERLOADING
+    textAttributes_indent                   ,
+#endif
+
+
+-- ** invisible #attr:invisible#
+{- | Hide the text.
+-}
+    getTextAttributesInvisible              ,
+    setTextAttributesInvisible              ,
+#if ENABLE_OVERLOADING
+    textAttributes_invisible                ,
+#endif
+
+
+-- ** justification #attr:justification#
+{- | 'GI.Gtk.Enums.Justification' for text.
+-}
+    getTextAttributesJustification          ,
+    setTextAttributesJustification          ,
+#if ENABLE_OVERLOADING
+    textAttributes_justification            ,
+#endif
+
+
+-- ** language #attr:language#
+{- | 'GI.Pango.Structs.Language.Language' for text.
+-}
+    clearTextAttributesLanguage             ,
+    getTextAttributesLanguage               ,
+    setTextAttributesLanguage               ,
+#if ENABLE_OVERLOADING
+    textAttributes_language                 ,
+#endif
+
+
+-- ** leftMargin #attr:leftMargin#
+{- | Width of the left margin in pixels.
+-}
+    getTextAttributesLeftMargin             ,
+    setTextAttributesLeftMargin             ,
+#if ENABLE_OVERLOADING
+    textAttributes_leftMargin               ,
+#endif
+
+
+-- ** letterSpacing #attr:letterSpacing#
+{- | Extra space to insert between graphemes, in Pango units
+-}
+    getTextAttributesLetterSpacing          ,
+    setTextAttributesLetterSpacing          ,
+#if ENABLE_OVERLOADING
+    textAttributes_letterSpacing            ,
+#endif
+
+
+-- ** noFallback #attr:noFallback#
+{- | Whether to disable font fallback.
+-}
+    getTextAttributesNoFallback             ,
+    setTextAttributesNoFallback             ,
+#if ENABLE_OVERLOADING
+    textAttributes_noFallback               ,
+#endif
+
+
+-- ** pixelsAboveLines #attr:pixelsAboveLines#
+{- | Pixels of blank space above paragraphs.
+-}
+    getTextAttributesPixelsAboveLines       ,
+    setTextAttributesPixelsAboveLines       ,
+#if ENABLE_OVERLOADING
+    textAttributes_pixelsAboveLines         ,
+#endif
+
+
+-- ** pixelsBelowLines #attr:pixelsBelowLines#
+{- | Pixels of blank space below paragraphs.
+-}
+    getTextAttributesPixelsBelowLines       ,
+    setTextAttributesPixelsBelowLines       ,
+#if ENABLE_OVERLOADING
+    textAttributes_pixelsBelowLines         ,
+#endif
+
+
+-- ** pixelsInsideWrap #attr:pixelsInsideWrap#
+{- | Pixels of blank space between wrapped lines in
+  a paragraph.
+-}
+    getTextAttributesPixelsInsideWrap       ,
+    setTextAttributesPixelsInsideWrap       ,
+#if ENABLE_OVERLOADING
+    textAttributes_pixelsInsideWrap         ,
+#endif
+
+
+-- ** rightMargin #attr:rightMargin#
+{- | Width of the right margin in pixels.
+-}
+    getTextAttributesRightMargin            ,
+    setTextAttributesRightMargin            ,
+#if ENABLE_OVERLOADING
+    textAttributes_rightMargin              ,
+#endif
+
+
+-- ** tabs #attr:tabs#
+{- | Custom 'GI.Pango.Structs.TabArray.TabArray' for this text.
+-}
+    clearTextAttributesTabs                 ,
+    getTextAttributesTabs                   ,
+    setTextAttributesTabs                   ,
+#if ENABLE_OVERLOADING
+    textAttributes_tabs                     ,
+#endif
+
+
+-- ** wrapMode #attr:wrapMode#
+{- | 'GI.Gtk.Enums.WrapMode' for text.
+-}
+    getTextAttributesWrapMode               ,
+    setTextAttributesWrapMode               ,
+#if ENABLE_OVERLOADING
+    textAttributes_wrapMode                 ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TextAppearance as Gtk.TextAppearance
+import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
+import qualified GI.Pango.Structs.Language as Pango.Language
+import qualified GI.Pango.Structs.TabArray as Pango.TabArray
+
+-- | Memory-managed wrapper type.
+newtype TextAttributes = TextAttributes (ManagedPtr TextAttributes)
+foreign import ccall "gtk_text_attributes_get_type" c_gtk_text_attributes_get_type :: 
+    IO GType
+
+instance BoxedObject TextAttributes where
+    boxedType _ = c_gtk_text_attributes_get_type
+
+-- | Construct a `TextAttributes` struct initialized to zero.
+newZeroTextAttributes :: MonadIO m => m TextAttributes
+newZeroTextAttributes = liftIO $ callocBoxedBytes 168 >>= wrapBoxed TextAttributes
+
+instance tag ~ 'AttrSet => Constructible TextAttributes tag where
+    new _ attrs = do
+        o <- newZeroTextAttributes
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextAttributes`.
+noTextAttributes :: Maybe TextAttributes
+noTextAttributes = Nothing
+
+{- |
+Get the value of the “@appearance@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #appearance
+@
+-}
+getTextAttributesAppearance :: MonadIO m => TextAttributes -> m Gtk.TextAppearance.TextAppearance
+getTextAttributesAppearance s = liftIO $ withManagedPtr s $ \ptr -> do
+    let val = ptr `plusPtr` 4 :: (Ptr Gtk.TextAppearance.TextAppearance)
+    val' <- (newPtr Gtk.TextAppearance.TextAppearance) val
+    return val'
+
+#if ENABLE_OVERLOADING
+data TextAttributesAppearanceFieldInfo
+instance AttrInfo TextAttributesAppearanceFieldInfo where
+    type AttrAllowedOps TextAttributesAppearanceFieldInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesAppearanceFieldInfo = (~) (Ptr Gtk.TextAppearance.TextAppearance)
+    type AttrBaseTypeConstraint TextAttributesAppearanceFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesAppearanceFieldInfo = Gtk.TextAppearance.TextAppearance
+    type AttrLabel TextAttributesAppearanceFieldInfo = "appearance"
+    type AttrOrigin TextAttributesAppearanceFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesAppearance
+    attrSet _ = undefined
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_appearance :: AttrLabelProxy "appearance"
+textAttributes_appearance = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@justification@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #justification
+@
+-}
+getTextAttributesJustification :: MonadIO m => TextAttributes -> m Gtk.Enums.Justification
+getTextAttributesJustification s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 52) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+{- |
+Set the value of the “@justification@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #justification 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesJustification :: MonadIO m => TextAttributes -> Gtk.Enums.Justification -> m ()
+setTextAttributesJustification s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = (fromIntegral . fromEnum) val
+    poke (ptr `plusPtr` 52) (val' :: CUInt)
+
+#if ENABLE_OVERLOADING
+data TextAttributesJustificationFieldInfo
+instance AttrInfo TextAttributesJustificationFieldInfo where
+    type AttrAllowedOps TextAttributesJustificationFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesJustificationFieldInfo = (~) Gtk.Enums.Justification
+    type AttrBaseTypeConstraint TextAttributesJustificationFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesJustificationFieldInfo = Gtk.Enums.Justification
+    type AttrLabel TextAttributesJustificationFieldInfo = "justification"
+    type AttrOrigin TextAttributesJustificationFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesJustification
+    attrSet _ = setTextAttributesJustification
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_justification :: AttrLabelProxy "justification"
+textAttributes_justification = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@direction@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #direction
+@
+-}
+getTextAttributesDirection :: MonadIO m => TextAttributes -> m Gtk.Enums.TextDirection
+getTextAttributesDirection s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+{- |
+Set the value of the “@direction@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #direction 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesDirection :: MonadIO m => TextAttributes -> Gtk.Enums.TextDirection -> m ()
+setTextAttributesDirection s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = (fromIntegral . fromEnum) val
+    poke (ptr `plusPtr` 56) (val' :: CUInt)
+
+#if ENABLE_OVERLOADING
+data TextAttributesDirectionFieldInfo
+instance AttrInfo TextAttributesDirectionFieldInfo where
+    type AttrAllowedOps TextAttributesDirectionFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesDirectionFieldInfo = (~) Gtk.Enums.TextDirection
+    type AttrBaseTypeConstraint TextAttributesDirectionFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesDirectionFieldInfo = Gtk.Enums.TextDirection
+    type AttrLabel TextAttributesDirectionFieldInfo = "direction"
+    type AttrOrigin TextAttributesDirectionFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesDirection
+    attrSet _ = setTextAttributesDirection
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_direction :: AttrLabelProxy "direction"
+textAttributes_direction = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@font@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #font
+@
+-}
+getTextAttributesFont :: MonadIO m => TextAttributes -> m (Maybe Pango.FontDescription.FontDescription)
+getTextAttributesFont s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 64) :: IO (Ptr Pango.FontDescription.FontDescription)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newBoxed Pango.FontDescription.FontDescription) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@font@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #font 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesFont :: MonadIO m => TextAttributes -> Ptr Pango.FontDescription.FontDescription -> m ()
+setTextAttributesFont s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 64) (val :: Ptr Pango.FontDescription.FontDescription)
+
+{- |
+Set the value of the “@font@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #font
+@
+-}
+clearTextAttributesFont :: MonadIO m => TextAttributes -> m ()
+clearTextAttributesFont s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 64) (FP.nullPtr :: Ptr Pango.FontDescription.FontDescription)
+
+#if ENABLE_OVERLOADING
+data TextAttributesFontFieldInfo
+instance AttrInfo TextAttributesFontFieldInfo where
+    type AttrAllowedOps TextAttributesFontFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextAttributesFontFieldInfo = (~) (Ptr Pango.FontDescription.FontDescription)
+    type AttrBaseTypeConstraint TextAttributesFontFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesFontFieldInfo = Maybe Pango.FontDescription.FontDescription
+    type AttrLabel TextAttributesFontFieldInfo = "font"
+    type AttrOrigin TextAttributesFontFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesFont
+    attrSet _ = setTextAttributesFont
+    attrConstruct = undefined
+    attrClear _ = clearTextAttributesFont
+
+textAttributes_font :: AttrLabelProxy "font"
+textAttributes_font = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@font_scale@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #fontScale
+@
+-}
+getTextAttributesFontScale :: MonadIO m => TextAttributes -> m Double
+getTextAttributesFontScale s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 72) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+{- |
+Set the value of the “@font_scale@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #fontScale 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesFontScale :: MonadIO m => TextAttributes -> Double -> m ()
+setTextAttributesFontScale s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = realToFrac val
+    poke (ptr `plusPtr` 72) (val' :: CDouble)
+
+#if ENABLE_OVERLOADING
+data TextAttributesFontScaleFieldInfo
+instance AttrInfo TextAttributesFontScaleFieldInfo where
+    type AttrAllowedOps TextAttributesFontScaleFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesFontScaleFieldInfo = (~) Double
+    type AttrBaseTypeConstraint TextAttributesFontScaleFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesFontScaleFieldInfo = Double
+    type AttrLabel TextAttributesFontScaleFieldInfo = "font_scale"
+    type AttrOrigin TextAttributesFontScaleFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesFontScale
+    attrSet _ = setTextAttributesFontScale
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_fontScale :: AttrLabelProxy "fontScale"
+textAttributes_fontScale = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@left_margin@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #leftMargin
+@
+-}
+getTextAttributesLeftMargin :: MonadIO m => TextAttributes -> m Int32
+getTextAttributesLeftMargin s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 80) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@left_margin@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #leftMargin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesLeftMargin :: MonadIO m => TextAttributes -> Int32 -> m ()
+setTextAttributesLeftMargin s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 80) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesLeftMarginFieldInfo
+instance AttrInfo TextAttributesLeftMarginFieldInfo where
+    type AttrAllowedOps TextAttributesLeftMarginFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesLeftMarginFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint TextAttributesLeftMarginFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesLeftMarginFieldInfo = Int32
+    type AttrLabel TextAttributesLeftMarginFieldInfo = "left_margin"
+    type AttrOrigin TextAttributesLeftMarginFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesLeftMargin
+    attrSet _ = setTextAttributesLeftMargin
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_leftMargin :: AttrLabelProxy "leftMargin"
+textAttributes_leftMargin = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@right_margin@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #rightMargin
+@
+-}
+getTextAttributesRightMargin :: MonadIO m => TextAttributes -> m Int32
+getTextAttributesRightMargin s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 84) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@right_margin@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #rightMargin 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesRightMargin :: MonadIO m => TextAttributes -> Int32 -> m ()
+setTextAttributesRightMargin s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 84) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesRightMarginFieldInfo
+instance AttrInfo TextAttributesRightMarginFieldInfo where
+    type AttrAllowedOps TextAttributesRightMarginFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesRightMarginFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint TextAttributesRightMarginFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesRightMarginFieldInfo = Int32
+    type AttrLabel TextAttributesRightMarginFieldInfo = "right_margin"
+    type AttrOrigin TextAttributesRightMarginFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesRightMargin
+    attrSet _ = setTextAttributesRightMargin
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_rightMargin :: AttrLabelProxy "rightMargin"
+textAttributes_rightMargin = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@indent@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #indent
+@
+-}
+getTextAttributesIndent :: MonadIO m => TextAttributes -> m Int32
+getTextAttributesIndent s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 88) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@indent@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #indent 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesIndent :: MonadIO m => TextAttributes -> Int32 -> m ()
+setTextAttributesIndent s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 88) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesIndentFieldInfo
+instance AttrInfo TextAttributesIndentFieldInfo where
+    type AttrAllowedOps TextAttributesIndentFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesIndentFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint TextAttributesIndentFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesIndentFieldInfo = Int32
+    type AttrLabel TextAttributesIndentFieldInfo = "indent"
+    type AttrOrigin TextAttributesIndentFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesIndent
+    attrSet _ = setTextAttributesIndent
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_indent :: AttrLabelProxy "indent"
+textAttributes_indent = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@pixels_above_lines@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #pixelsAboveLines
+@
+-}
+getTextAttributesPixelsAboveLines :: MonadIO m => TextAttributes -> m Int32
+getTextAttributesPixelsAboveLines s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 92) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@pixels_above_lines@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #pixelsAboveLines 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesPixelsAboveLines :: MonadIO m => TextAttributes -> Int32 -> m ()
+setTextAttributesPixelsAboveLines s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 92) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesPixelsAboveLinesFieldInfo
+instance AttrInfo TextAttributesPixelsAboveLinesFieldInfo where
+    type AttrAllowedOps TextAttributesPixelsAboveLinesFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesPixelsAboveLinesFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint TextAttributesPixelsAboveLinesFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesPixelsAboveLinesFieldInfo = Int32
+    type AttrLabel TextAttributesPixelsAboveLinesFieldInfo = "pixels_above_lines"
+    type AttrOrigin TextAttributesPixelsAboveLinesFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesPixelsAboveLines
+    attrSet _ = setTextAttributesPixelsAboveLines
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_pixelsAboveLines :: AttrLabelProxy "pixelsAboveLines"
+textAttributes_pixelsAboveLines = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@pixels_below_lines@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #pixelsBelowLines
+@
+-}
+getTextAttributesPixelsBelowLines :: MonadIO m => TextAttributes -> m Int32
+getTextAttributesPixelsBelowLines s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 96) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@pixels_below_lines@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #pixelsBelowLines 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesPixelsBelowLines :: MonadIO m => TextAttributes -> Int32 -> m ()
+setTextAttributesPixelsBelowLines s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 96) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesPixelsBelowLinesFieldInfo
+instance AttrInfo TextAttributesPixelsBelowLinesFieldInfo where
+    type AttrAllowedOps TextAttributesPixelsBelowLinesFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesPixelsBelowLinesFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint TextAttributesPixelsBelowLinesFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesPixelsBelowLinesFieldInfo = Int32
+    type AttrLabel TextAttributesPixelsBelowLinesFieldInfo = "pixels_below_lines"
+    type AttrOrigin TextAttributesPixelsBelowLinesFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesPixelsBelowLines
+    attrSet _ = setTextAttributesPixelsBelowLines
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_pixelsBelowLines :: AttrLabelProxy "pixelsBelowLines"
+textAttributes_pixelsBelowLines = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@pixels_inside_wrap@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #pixelsInsideWrap
+@
+-}
+getTextAttributesPixelsInsideWrap :: MonadIO m => TextAttributes -> m Int32
+getTextAttributesPixelsInsideWrap s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 100) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@pixels_inside_wrap@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #pixelsInsideWrap 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesPixelsInsideWrap :: MonadIO m => TextAttributes -> Int32 -> m ()
+setTextAttributesPixelsInsideWrap s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 100) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesPixelsInsideWrapFieldInfo
+instance AttrInfo TextAttributesPixelsInsideWrapFieldInfo where
+    type AttrAllowedOps TextAttributesPixelsInsideWrapFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesPixelsInsideWrapFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint TextAttributesPixelsInsideWrapFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesPixelsInsideWrapFieldInfo = Int32
+    type AttrLabel TextAttributesPixelsInsideWrapFieldInfo = "pixels_inside_wrap"
+    type AttrOrigin TextAttributesPixelsInsideWrapFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesPixelsInsideWrap
+    attrSet _ = setTextAttributesPixelsInsideWrap
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_pixelsInsideWrap :: AttrLabelProxy "pixelsInsideWrap"
+textAttributes_pixelsInsideWrap = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@tabs@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #tabs
+@
+-}
+getTextAttributesTabs :: MonadIO m => TextAttributes -> m (Maybe Pango.TabArray.TabArray)
+getTextAttributesTabs s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 104) :: IO (Ptr Pango.TabArray.TabArray)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newBoxed Pango.TabArray.TabArray) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@tabs@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #tabs 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesTabs :: MonadIO m => TextAttributes -> Ptr Pango.TabArray.TabArray -> m ()
+setTextAttributesTabs s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 104) (val :: Ptr Pango.TabArray.TabArray)
+
+{- |
+Set the value of the “@tabs@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tabs
+@
+-}
+clearTextAttributesTabs :: MonadIO m => TextAttributes -> m ()
+clearTextAttributesTabs s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 104) (FP.nullPtr :: Ptr Pango.TabArray.TabArray)
+
+#if ENABLE_OVERLOADING
+data TextAttributesTabsFieldInfo
+instance AttrInfo TextAttributesTabsFieldInfo where
+    type AttrAllowedOps TextAttributesTabsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextAttributesTabsFieldInfo = (~) (Ptr Pango.TabArray.TabArray)
+    type AttrBaseTypeConstraint TextAttributesTabsFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesTabsFieldInfo = Maybe Pango.TabArray.TabArray
+    type AttrLabel TextAttributesTabsFieldInfo = "tabs"
+    type AttrOrigin TextAttributesTabsFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesTabs
+    attrSet _ = setTextAttributesTabs
+    attrConstruct = undefined
+    attrClear _ = clearTextAttributesTabs
+
+textAttributes_tabs :: AttrLabelProxy "tabs"
+textAttributes_tabs = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@wrap_mode@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #wrapMode
+@
+-}
+getTextAttributesWrapMode :: MonadIO m => TextAttributes -> m Gtk.Enums.WrapMode
+getTextAttributesWrapMode s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 112) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+{- |
+Set the value of the “@wrap_mode@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #wrapMode 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesWrapMode :: MonadIO m => TextAttributes -> Gtk.Enums.WrapMode -> m ()
+setTextAttributesWrapMode s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = (fromIntegral . fromEnum) val
+    poke (ptr `plusPtr` 112) (val' :: CUInt)
+
+#if ENABLE_OVERLOADING
+data TextAttributesWrapModeFieldInfo
+instance AttrInfo TextAttributesWrapModeFieldInfo where
+    type AttrAllowedOps TextAttributesWrapModeFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesWrapModeFieldInfo = (~) Gtk.Enums.WrapMode
+    type AttrBaseTypeConstraint TextAttributesWrapModeFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesWrapModeFieldInfo = Gtk.Enums.WrapMode
+    type AttrLabel TextAttributesWrapModeFieldInfo = "wrap_mode"
+    type AttrOrigin TextAttributesWrapModeFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesWrapMode
+    attrSet _ = setTextAttributesWrapMode
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_wrapMode :: AttrLabelProxy "wrapMode"
+textAttributes_wrapMode = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@language@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #language
+@
+-}
+getTextAttributesLanguage :: MonadIO m => TextAttributes -> m (Maybe Pango.Language.Language)
+getTextAttributesLanguage s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 120) :: IO (Ptr Pango.Language.Language)
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- (newBoxed Pango.Language.Language) val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@language@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #language 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesLanguage :: MonadIO m => TextAttributes -> Ptr Pango.Language.Language -> m ()
+setTextAttributesLanguage s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 120) (val :: Ptr Pango.Language.Language)
+
+{- |
+Set the value of the “@language@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #language
+@
+-}
+clearTextAttributesLanguage :: MonadIO m => TextAttributes -> m ()
+clearTextAttributesLanguage s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 120) (FP.nullPtr :: Ptr Pango.Language.Language)
+
+#if ENABLE_OVERLOADING
+data TextAttributesLanguageFieldInfo
+instance AttrInfo TextAttributesLanguageFieldInfo where
+    type AttrAllowedOps TextAttributesLanguageFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TextAttributesLanguageFieldInfo = (~) (Ptr Pango.Language.Language)
+    type AttrBaseTypeConstraint TextAttributesLanguageFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesLanguageFieldInfo = Maybe Pango.Language.Language
+    type AttrLabel TextAttributesLanguageFieldInfo = "language"
+    type AttrOrigin TextAttributesLanguageFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesLanguage
+    attrSet _ = setTextAttributesLanguage
+    attrConstruct = undefined
+    attrClear _ = clearTextAttributesLanguage
+
+textAttributes_language :: AttrLabelProxy "language"
+textAttributes_language = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@invisible@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #invisible
+@
+-}
+getTextAttributesInvisible :: MonadIO m => TextAttributes -> m Word32
+getTextAttributesInvisible s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 136) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@invisible@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #invisible 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesInvisible :: MonadIO m => TextAttributes -> Word32 -> m ()
+setTextAttributesInvisible s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 136) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesInvisibleFieldInfo
+instance AttrInfo TextAttributesInvisibleFieldInfo where
+    type AttrAllowedOps TextAttributesInvisibleFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesInvisibleFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TextAttributesInvisibleFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesInvisibleFieldInfo = Word32
+    type AttrLabel TextAttributesInvisibleFieldInfo = "invisible"
+    type AttrOrigin TextAttributesInvisibleFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesInvisible
+    attrSet _ = setTextAttributesInvisible
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_invisible :: AttrLabelProxy "invisible"
+textAttributes_invisible = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@bg_full_height@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #bgFullHeight
+@
+-}
+getTextAttributesBgFullHeight :: MonadIO m => TextAttributes -> m Word32
+getTextAttributesBgFullHeight s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 140) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@bg_full_height@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #bgFullHeight 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesBgFullHeight :: MonadIO m => TextAttributes -> Word32 -> m ()
+setTextAttributesBgFullHeight s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 140) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesBgFullHeightFieldInfo
+instance AttrInfo TextAttributesBgFullHeightFieldInfo where
+    type AttrAllowedOps TextAttributesBgFullHeightFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesBgFullHeightFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TextAttributesBgFullHeightFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesBgFullHeightFieldInfo = Word32
+    type AttrLabel TextAttributesBgFullHeightFieldInfo = "bg_full_height"
+    type AttrOrigin TextAttributesBgFullHeightFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesBgFullHeight
+    attrSet _ = setTextAttributesBgFullHeight
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_bgFullHeight :: AttrLabelProxy "bgFullHeight"
+textAttributes_bgFullHeight = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@editable@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #editable
+@
+-}
+getTextAttributesEditable :: MonadIO m => TextAttributes -> m Word32
+getTextAttributesEditable s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 144) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@editable@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #editable 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesEditable :: MonadIO m => TextAttributes -> Word32 -> m ()
+setTextAttributesEditable s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 144) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesEditableFieldInfo
+instance AttrInfo TextAttributesEditableFieldInfo where
+    type AttrAllowedOps TextAttributesEditableFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesEditableFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TextAttributesEditableFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesEditableFieldInfo = Word32
+    type AttrLabel TextAttributesEditableFieldInfo = "editable"
+    type AttrOrigin TextAttributesEditableFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesEditable
+    attrSet _ = setTextAttributesEditable
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_editable :: AttrLabelProxy "editable"
+textAttributes_editable = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@no_fallback@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #noFallback
+@
+-}
+getTextAttributesNoFallback :: MonadIO m => TextAttributes -> m Word32
+getTextAttributesNoFallback s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 148) :: IO Word32
+    return val
+
+{- |
+Set the value of the “@no_fallback@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #noFallback 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesNoFallback :: MonadIO m => TextAttributes -> Word32 -> m ()
+setTextAttributesNoFallback s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 148) (val :: Word32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesNoFallbackFieldInfo
+instance AttrInfo TextAttributesNoFallbackFieldInfo where
+    type AttrAllowedOps TextAttributesNoFallbackFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesNoFallbackFieldInfo = (~) Word32
+    type AttrBaseTypeConstraint TextAttributesNoFallbackFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesNoFallbackFieldInfo = Word32
+    type AttrLabel TextAttributesNoFallbackFieldInfo = "no_fallback"
+    type AttrOrigin TextAttributesNoFallbackFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesNoFallback
+    attrSet _ = setTextAttributesNoFallback
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_noFallback :: AttrLabelProxy "noFallback"
+textAttributes_noFallback = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@letter_spacing@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' textAttributes #letterSpacing
+@
+-}
+getTextAttributesLetterSpacing :: MonadIO m => TextAttributes -> m Int32
+getTextAttributesLetterSpacing s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 160) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@letter_spacing@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' textAttributes [ #letterSpacing 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTextAttributesLetterSpacing :: MonadIO m => TextAttributes -> Int32 -> m ()
+setTextAttributesLetterSpacing s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 160) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data TextAttributesLetterSpacingFieldInfo
+instance AttrInfo TextAttributesLetterSpacingFieldInfo where
+    type AttrAllowedOps TextAttributesLetterSpacingFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TextAttributesLetterSpacingFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint TextAttributesLetterSpacingFieldInfo = (~) TextAttributes
+    type AttrGetType TextAttributesLetterSpacingFieldInfo = Int32
+    type AttrLabel TextAttributesLetterSpacingFieldInfo = "letter_spacing"
+    type AttrOrigin TextAttributesLetterSpacingFieldInfo = TextAttributes
+    attrGet _ = getTextAttributesLetterSpacing
+    attrSet _ = setTextAttributesLetterSpacing
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+textAttributes_letterSpacing :: AttrLabelProxy "letterSpacing"
+textAttributes_letterSpacing = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextAttributes
+type instance O.AttributeList TextAttributes = TextAttributesAttributeList
+type TextAttributesAttributeList = ('[ '("appearance", TextAttributesAppearanceFieldInfo), '("justification", TextAttributesJustificationFieldInfo), '("direction", TextAttributesDirectionFieldInfo), '("font", TextAttributesFontFieldInfo), '("fontScale", TextAttributesFontScaleFieldInfo), '("leftMargin", TextAttributesLeftMarginFieldInfo), '("rightMargin", TextAttributesRightMarginFieldInfo), '("indent", TextAttributesIndentFieldInfo), '("pixelsAboveLines", TextAttributesPixelsAboveLinesFieldInfo), '("pixelsBelowLines", TextAttributesPixelsBelowLinesFieldInfo), '("pixelsInsideWrap", TextAttributesPixelsInsideWrapFieldInfo), '("tabs", TextAttributesTabsFieldInfo), '("wrapMode", TextAttributesWrapModeFieldInfo), '("language", TextAttributesLanguageFieldInfo), '("invisible", TextAttributesInvisibleFieldInfo), '("bgFullHeight", TextAttributesBgFullHeightFieldInfo), '("editable", TextAttributesEditableFieldInfo), '("noFallback", TextAttributesNoFallbackFieldInfo), '("letterSpacing", TextAttributesLetterSpacingFieldInfo)] :: [(Symbol, *)])
+#endif
+
+-- method TextAttributes::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextAttributes"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_attributes_new" gtk_text_attributes_new :: 
+    IO (Ptr TextAttributes)
+
+{- |
+Creates a 'GI.Gtk.Structs.TextAttributes.TextAttributes', which describes
+a set of properties on some text.
+-}
+textAttributesNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m TextAttributes
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.TextAttributes.TextAttributes',
+    free with 'GI.Gtk.Structs.TextAttributes.textAttributesUnref'. -}
+textAttributesNew  = liftIO $ do
+    result <- gtk_text_attributes_new
+    checkUnexpectedReturnNULL "textAttributesNew" result
+    result' <- (wrapBoxed TextAttributes) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TextAttributes::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gtk", name = "TextAttributes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextAttributes to be copied", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextAttributes"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_attributes_copy" gtk_text_attributes_copy :: 
+    Ptr TextAttributes ->                   -- src : TInterface (Name {namespace = "Gtk", name = "TextAttributes"})
+    IO (Ptr TextAttributes)
+
+{- |
+Copies /@src@/ and returns a new 'GI.Gtk.Structs.TextAttributes.TextAttributes'.
+-}
+textAttributesCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextAttributes
+    {- ^ /@src@/: a 'GI.Gtk.Structs.TextAttributes.TextAttributes' to be copied -}
+    -> m TextAttributes
+    {- ^ __Returns:__ a copy of /@src@/,
+    free with 'GI.Gtk.Structs.TextAttributes.textAttributesUnref' -}
+textAttributesCopy src = liftIO $ do
+    src' <- unsafeManagedPtrGetPtr src
+    result <- gtk_text_attributes_copy src'
+    checkUnexpectedReturnNULL "textAttributesCopy" result
+    result' <- (wrapBoxed TextAttributes) result
+    touchManagedPtr src
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextAttributesCopyMethodInfo
+instance (signature ~ (m TextAttributes), MonadIO m) => O.MethodInfo TextAttributesCopyMethodInfo TextAttributes signature where
+    overloadedMethod _ = textAttributesCopy
+
+#endif
+
+-- method TextAttributes::copy_values
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gtk", name = "TextAttributes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextAttributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gtk", name = "TextAttributes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkTextAttributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_attributes_copy_values" gtk_text_attributes_copy_values :: 
+    Ptr TextAttributes ->                   -- src : TInterface (Name {namespace = "Gtk", name = "TextAttributes"})
+    Ptr TextAttributes ->                   -- dest : TInterface (Name {namespace = "Gtk", name = "TextAttributes"})
+    IO ()
+
+{- |
+Copies the values from /@src@/ to /@dest@/ so that /@dest@/ has
+the same values as /@src@/. Frees existing values in /@dest@/.
+-}
+textAttributesCopyValues ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextAttributes
+    {- ^ /@src@/: a 'GI.Gtk.Structs.TextAttributes.TextAttributes' -}
+    -> TextAttributes
+    {- ^ /@dest@/: another 'GI.Gtk.Structs.TextAttributes.TextAttributes' -}
+    -> m ()
+textAttributesCopyValues src dest = liftIO $ do
+    src' <- unsafeManagedPtrGetPtr src
+    dest' <- unsafeManagedPtrGetPtr dest
+    gtk_text_attributes_copy_values src' dest'
+    touchManagedPtr src
+    touchManagedPtr dest
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextAttributesCopyValuesMethodInfo
+instance (signature ~ (TextAttributes -> m ()), MonadIO m) => O.MethodInfo TextAttributesCopyValuesMethodInfo TextAttributes signature where
+    overloadedMethod _ = textAttributesCopyValues
+
+#endif
+
+-- method TextAttributes::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "values", argType = TInterface (Name {namespace = "Gtk", name = "TextAttributes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextAttributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextAttributes"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_attributes_ref" gtk_text_attributes_ref :: 
+    Ptr TextAttributes ->                   -- values : TInterface (Name {namespace = "Gtk", name = "TextAttributes"})
+    IO (Ptr TextAttributes)
+
+{- |
+Increments the reference count on /@values@/.
+-}
+textAttributesRef ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextAttributes
+    {- ^ /@values@/: a 'GI.Gtk.Structs.TextAttributes.TextAttributes' -}
+    -> m TextAttributes
+    {- ^ __Returns:__ the 'GI.Gtk.Structs.TextAttributes.TextAttributes' that were passed in -}
+textAttributesRef values = liftIO $ do
+    values' <- unsafeManagedPtrGetPtr values
+    result <- gtk_text_attributes_ref values'
+    checkUnexpectedReturnNULL "textAttributesRef" result
+    result' <- (wrapBoxed TextAttributes) result
+    touchManagedPtr values
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextAttributesRefMethodInfo
+instance (signature ~ (m TextAttributes), MonadIO m) => O.MethodInfo TextAttributesRefMethodInfo TextAttributes signature where
+    overloadedMethod _ = textAttributesRef
+
+#endif
+
+-- method TextAttributes::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "values", argType = TInterface (Name {namespace = "Gtk", name = "TextAttributes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextAttributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_attributes_unref" gtk_text_attributes_unref :: 
+    Ptr TextAttributes ->                   -- values : TInterface (Name {namespace = "Gtk", name = "TextAttributes"})
+    IO ()
+
+{- |
+Decrements the reference count on /@values@/, freeing the structure
+if the reference count reaches 0.
+-}
+textAttributesUnref ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextAttributes
+    {- ^ /@values@/: a 'GI.Gtk.Structs.TextAttributes.TextAttributes' -}
+    -> m ()
+textAttributesUnref values = liftIO $ do
+    values' <- unsafeManagedPtrGetPtr values
+    gtk_text_attributes_unref values'
+    touchManagedPtr values
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextAttributesUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TextAttributesUnrefMethodInfo TextAttributes signature where
+    overloadedMethod _ = textAttributesUnref
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTextAttributesMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextAttributesMethod "copy" o = TextAttributesCopyMethodInfo
+    ResolveTextAttributesMethod "copyValues" o = TextAttributesCopyValuesMethodInfo
+    ResolveTextAttributesMethod "ref" o = TextAttributesRefMethodInfo
+    ResolveTextAttributesMethod "unref" o = TextAttributesUnrefMethodInfo
+    ResolveTextAttributesMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextAttributesMethod t TextAttributes, O.MethodInfo info TextAttributes p) => OL.IsLabel t (TextAttributes -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TextAttributes.hs-boot b/GI/Gtk/Structs/TextAttributes.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TextAttributes.hs-boot
@@ -0,0 +1,38 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TextAttributes where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextAttributes = TextAttributes (ManagedPtr TextAttributes)
+instance BoxedObject TextAttributes where
+#if ENABLE_OVERLOADING
+data TextAttributesCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextAttributesCopyValuesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextAttributesRefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextAttributesUnrefMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/TextBTree.hs b/GI/Gtk/Structs/TextBTree.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TextBTree.hs
@@ -0,0 +1,77 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TextBTree
+    ( 
+
+-- * Exported types
+    TextBTree(..)                           ,
+    noTextBTree                             ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype TextBTree = TextBTree (ManagedPtr TextBTree)
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr TextBTree where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextBTree`.
+noTextBTree :: Maybe TextBTree
+noTextBTree = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextBTree
+type instance O.AttributeList TextBTree = TextBTreeAttributeList
+type TextBTreeAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTextBTreeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextBTreeMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextBTreeMethod t TextBTree, O.MethodInfo info TextBTree p) => OL.IsLabel t (TextBTree -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TextBTree.hs-boot b/GI/Gtk/Structs/TextBTree.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TextBTree.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TextBTree where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextBTree = TextBTree (ManagedPtr TextBTree)
+instance WrappedPtr TextBTree where
diff --git a/GI/Gtk/Structs/TextIter.hs b/GI/Gtk/Structs/TextIter.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TextIter.hs
@@ -0,0 +1,4765 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+You may wish to begin by reading the
+[text widget conceptual overview][TextWidget]
+which gives an overview of all the objects and data
+types related to the text widget and how they work together.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TextIter
+    ( 
+
+-- * Exported types
+    TextIter(..)                            ,
+    newZeroTextIter                         ,
+    noTextIter                              ,
+
+
+ -- * Methods
+-- ** assign #method:assign#
+
+#if ENABLE_OVERLOADING
+    TextIterAssignMethodInfo                ,
+#endif
+    textIterAssign                          ,
+
+
+-- ** backwardChar #method:backwardChar#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardCharMethodInfo          ,
+#endif
+    textIterBackwardChar                    ,
+
+
+-- ** backwardChars #method:backwardChars#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardCharsMethodInfo         ,
+#endif
+    textIterBackwardChars                   ,
+
+
+-- ** backwardCursorPosition #method:backwardCursorPosition#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardCursorPositionMethodInfo,
+#endif
+    textIterBackwardCursorPosition          ,
+
+
+-- ** backwardCursorPositions #method:backwardCursorPositions#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardCursorPositionsMethodInfo,
+#endif
+    textIterBackwardCursorPositions         ,
+
+
+-- ** backwardFindChar #method:backwardFindChar#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardFindCharMethodInfo      ,
+#endif
+    textIterBackwardFindChar                ,
+
+
+-- ** backwardLine #method:backwardLine#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardLineMethodInfo          ,
+#endif
+    textIterBackwardLine                    ,
+
+
+-- ** backwardLines #method:backwardLines#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardLinesMethodInfo         ,
+#endif
+    textIterBackwardLines                   ,
+
+
+-- ** backwardSearch #method:backwardSearch#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardSearchMethodInfo        ,
+#endif
+    textIterBackwardSearch                  ,
+
+
+-- ** backwardSentenceStart #method:backwardSentenceStart#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardSentenceStartMethodInfo ,
+#endif
+    textIterBackwardSentenceStart           ,
+
+
+-- ** backwardSentenceStarts #method:backwardSentenceStarts#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardSentenceStartsMethodInfo,
+#endif
+    textIterBackwardSentenceStarts          ,
+
+
+-- ** backwardToTagToggle #method:backwardToTagToggle#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardToTagToggleMethodInfo   ,
+#endif
+    textIterBackwardToTagToggle             ,
+
+
+-- ** backwardVisibleCursorPosition #method:backwardVisibleCursorPosition#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardVisibleCursorPositionMethodInfo,
+#endif
+    textIterBackwardVisibleCursorPosition   ,
+
+
+-- ** backwardVisibleCursorPositions #method:backwardVisibleCursorPositions#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardVisibleCursorPositionsMethodInfo,
+#endif
+    textIterBackwardVisibleCursorPositions  ,
+
+
+-- ** backwardVisibleLine #method:backwardVisibleLine#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardVisibleLineMethodInfo   ,
+#endif
+    textIterBackwardVisibleLine             ,
+
+
+-- ** backwardVisibleLines #method:backwardVisibleLines#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardVisibleLinesMethodInfo  ,
+#endif
+    textIterBackwardVisibleLines            ,
+
+
+-- ** backwardVisibleWordStart #method:backwardVisibleWordStart#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardVisibleWordStartMethodInfo,
+#endif
+    textIterBackwardVisibleWordStart        ,
+
+
+-- ** backwardVisibleWordStarts #method:backwardVisibleWordStarts#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardVisibleWordStartsMethodInfo,
+#endif
+    textIterBackwardVisibleWordStarts       ,
+
+
+-- ** backwardWordStart #method:backwardWordStart#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardWordStartMethodInfo     ,
+#endif
+    textIterBackwardWordStart               ,
+
+
+-- ** backwardWordStarts #method:backwardWordStarts#
+
+#if ENABLE_OVERLOADING
+    TextIterBackwardWordStartsMethodInfo    ,
+#endif
+    textIterBackwardWordStarts              ,
+
+
+-- ** beginsTag #method:beginsTag#
+
+#if ENABLE_OVERLOADING
+    TextIterBeginsTagMethodInfo             ,
+#endif
+    textIterBeginsTag                       ,
+
+
+-- ** canInsert #method:canInsert#
+
+#if ENABLE_OVERLOADING
+    TextIterCanInsertMethodInfo             ,
+#endif
+    textIterCanInsert                       ,
+
+
+-- ** compare #method:compare#
+
+#if ENABLE_OVERLOADING
+    TextIterCompareMethodInfo               ,
+#endif
+    textIterCompare                         ,
+
+
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    TextIterCopyMethodInfo                  ,
+#endif
+    textIterCopy                            ,
+
+
+-- ** editable #method:editable#
+
+#if ENABLE_OVERLOADING
+    TextIterEditableMethodInfo              ,
+#endif
+    textIterEditable                        ,
+
+
+-- ** endsLine #method:endsLine#
+
+#if ENABLE_OVERLOADING
+    TextIterEndsLineMethodInfo              ,
+#endif
+    textIterEndsLine                        ,
+
+
+-- ** endsSentence #method:endsSentence#
+
+#if ENABLE_OVERLOADING
+    TextIterEndsSentenceMethodInfo          ,
+#endif
+    textIterEndsSentence                    ,
+
+
+-- ** endsTag #method:endsTag#
+
+#if ENABLE_OVERLOADING
+    TextIterEndsTagMethodInfo               ,
+#endif
+    textIterEndsTag                         ,
+
+
+-- ** endsWord #method:endsWord#
+
+#if ENABLE_OVERLOADING
+    TextIterEndsWordMethodInfo              ,
+#endif
+    textIterEndsWord                        ,
+
+
+-- ** equal #method:equal#
+
+#if ENABLE_OVERLOADING
+    TextIterEqualMethodInfo                 ,
+#endif
+    textIterEqual                           ,
+
+
+-- ** forwardChar #method:forwardChar#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardCharMethodInfo           ,
+#endif
+    textIterForwardChar                     ,
+
+
+-- ** forwardChars #method:forwardChars#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardCharsMethodInfo          ,
+#endif
+    textIterForwardChars                    ,
+
+
+-- ** forwardCursorPosition #method:forwardCursorPosition#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardCursorPositionMethodInfo ,
+#endif
+    textIterForwardCursorPosition           ,
+
+
+-- ** forwardCursorPositions #method:forwardCursorPositions#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardCursorPositionsMethodInfo,
+#endif
+    textIterForwardCursorPositions          ,
+
+
+-- ** forwardFindChar #method:forwardFindChar#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardFindCharMethodInfo       ,
+#endif
+    textIterForwardFindChar                 ,
+
+
+-- ** forwardLine #method:forwardLine#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardLineMethodInfo           ,
+#endif
+    textIterForwardLine                     ,
+
+
+-- ** forwardLines #method:forwardLines#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardLinesMethodInfo          ,
+#endif
+    textIterForwardLines                    ,
+
+
+-- ** forwardSearch #method:forwardSearch#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardSearchMethodInfo         ,
+#endif
+    textIterForwardSearch                   ,
+
+
+-- ** forwardSentenceEnd #method:forwardSentenceEnd#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardSentenceEndMethodInfo    ,
+#endif
+    textIterForwardSentenceEnd              ,
+
+
+-- ** forwardSentenceEnds #method:forwardSentenceEnds#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardSentenceEndsMethodInfo   ,
+#endif
+    textIterForwardSentenceEnds             ,
+
+
+-- ** forwardToEnd #method:forwardToEnd#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardToEndMethodInfo          ,
+#endif
+    textIterForwardToEnd                    ,
+
+
+-- ** forwardToLineEnd #method:forwardToLineEnd#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardToLineEndMethodInfo      ,
+#endif
+    textIterForwardToLineEnd                ,
+
+
+-- ** forwardToTagToggle #method:forwardToTagToggle#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardToTagToggleMethodInfo    ,
+#endif
+    textIterForwardToTagToggle              ,
+
+
+-- ** forwardVisibleCursorPosition #method:forwardVisibleCursorPosition#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardVisibleCursorPositionMethodInfo,
+#endif
+    textIterForwardVisibleCursorPosition    ,
+
+
+-- ** forwardVisibleCursorPositions #method:forwardVisibleCursorPositions#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardVisibleCursorPositionsMethodInfo,
+#endif
+    textIterForwardVisibleCursorPositions   ,
+
+
+-- ** forwardVisibleLine #method:forwardVisibleLine#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardVisibleLineMethodInfo    ,
+#endif
+    textIterForwardVisibleLine              ,
+
+
+-- ** forwardVisibleLines #method:forwardVisibleLines#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardVisibleLinesMethodInfo   ,
+#endif
+    textIterForwardVisibleLines             ,
+
+
+-- ** forwardVisibleWordEnd #method:forwardVisibleWordEnd#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardVisibleWordEndMethodInfo ,
+#endif
+    textIterForwardVisibleWordEnd           ,
+
+
+-- ** forwardVisibleWordEnds #method:forwardVisibleWordEnds#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardVisibleWordEndsMethodInfo,
+#endif
+    textIterForwardVisibleWordEnds          ,
+
+
+-- ** forwardWordEnd #method:forwardWordEnd#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardWordEndMethodInfo        ,
+#endif
+    textIterForwardWordEnd                  ,
+
+
+-- ** forwardWordEnds #method:forwardWordEnds#
+
+#if ENABLE_OVERLOADING
+    TextIterForwardWordEndsMethodInfo       ,
+#endif
+    textIterForwardWordEnds                 ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    TextIterFreeMethodInfo                  ,
+#endif
+    textIterFree                            ,
+
+
+-- ** getAttributes #method:getAttributes#
+
+#if ENABLE_OVERLOADING
+    TextIterGetAttributesMethodInfo         ,
+#endif
+    textIterGetAttributes                   ,
+
+
+-- ** getBuffer #method:getBuffer#
+
+#if ENABLE_OVERLOADING
+    TextIterGetBufferMethodInfo             ,
+#endif
+    textIterGetBuffer                       ,
+
+
+-- ** getBytesInLine #method:getBytesInLine#
+
+#if ENABLE_OVERLOADING
+    TextIterGetBytesInLineMethodInfo        ,
+#endif
+    textIterGetBytesInLine                  ,
+
+
+-- ** getChar #method:getChar#
+
+#if ENABLE_OVERLOADING
+    TextIterGetCharMethodInfo               ,
+#endif
+    textIterGetChar                         ,
+
+
+-- ** getCharsInLine #method:getCharsInLine#
+
+#if ENABLE_OVERLOADING
+    TextIterGetCharsInLineMethodInfo        ,
+#endif
+    textIterGetCharsInLine                  ,
+
+
+-- ** getChildAnchor #method:getChildAnchor#
+
+#if ENABLE_OVERLOADING
+    TextIterGetChildAnchorMethodInfo        ,
+#endif
+    textIterGetChildAnchor                  ,
+
+
+-- ** getLanguage #method:getLanguage#
+
+#if ENABLE_OVERLOADING
+    TextIterGetLanguageMethodInfo           ,
+#endif
+    textIterGetLanguage                     ,
+
+
+-- ** getLine #method:getLine#
+
+#if ENABLE_OVERLOADING
+    TextIterGetLineMethodInfo               ,
+#endif
+    textIterGetLine                         ,
+
+
+-- ** getLineIndex #method:getLineIndex#
+
+#if ENABLE_OVERLOADING
+    TextIterGetLineIndexMethodInfo          ,
+#endif
+    textIterGetLineIndex                    ,
+
+
+-- ** getLineOffset #method:getLineOffset#
+
+#if ENABLE_OVERLOADING
+    TextIterGetLineOffsetMethodInfo         ,
+#endif
+    textIterGetLineOffset                   ,
+
+
+-- ** getMarks #method:getMarks#
+
+#if ENABLE_OVERLOADING
+    TextIterGetMarksMethodInfo              ,
+#endif
+    textIterGetMarks                        ,
+
+
+-- ** getOffset #method:getOffset#
+
+#if ENABLE_OVERLOADING
+    TextIterGetOffsetMethodInfo             ,
+#endif
+    textIterGetOffset                       ,
+
+
+-- ** getPixbuf #method:getPixbuf#
+
+#if ENABLE_OVERLOADING
+    TextIterGetPixbufMethodInfo             ,
+#endif
+    textIterGetPixbuf                       ,
+
+
+-- ** getSlice #method:getSlice#
+
+#if ENABLE_OVERLOADING
+    TextIterGetSliceMethodInfo              ,
+#endif
+    textIterGetSlice                        ,
+
+
+-- ** getTags #method:getTags#
+
+#if ENABLE_OVERLOADING
+    TextIterGetTagsMethodInfo               ,
+#endif
+    textIterGetTags                         ,
+
+
+-- ** getText #method:getText#
+
+#if ENABLE_OVERLOADING
+    TextIterGetTextMethodInfo               ,
+#endif
+    textIterGetText                         ,
+
+
+-- ** getToggledTags #method:getToggledTags#
+
+#if ENABLE_OVERLOADING
+    TextIterGetToggledTagsMethodInfo        ,
+#endif
+    textIterGetToggledTags                  ,
+
+
+-- ** getVisibleLineIndex #method:getVisibleLineIndex#
+
+#if ENABLE_OVERLOADING
+    TextIterGetVisibleLineIndexMethodInfo   ,
+#endif
+    textIterGetVisibleLineIndex             ,
+
+
+-- ** getVisibleLineOffset #method:getVisibleLineOffset#
+
+#if ENABLE_OVERLOADING
+    TextIterGetVisibleLineOffsetMethodInfo  ,
+#endif
+    textIterGetVisibleLineOffset            ,
+
+
+-- ** getVisibleSlice #method:getVisibleSlice#
+
+#if ENABLE_OVERLOADING
+    TextIterGetVisibleSliceMethodInfo       ,
+#endif
+    textIterGetVisibleSlice                 ,
+
+
+-- ** getVisibleText #method:getVisibleText#
+
+#if ENABLE_OVERLOADING
+    TextIterGetVisibleTextMethodInfo        ,
+#endif
+    textIterGetVisibleText                  ,
+
+
+-- ** hasTag #method:hasTag#
+
+#if ENABLE_OVERLOADING
+    TextIterHasTagMethodInfo                ,
+#endif
+    textIterHasTag                          ,
+
+
+-- ** inRange #method:inRange#
+
+#if ENABLE_OVERLOADING
+    TextIterInRangeMethodInfo               ,
+#endif
+    textIterInRange                         ,
+
+
+-- ** insideSentence #method:insideSentence#
+
+#if ENABLE_OVERLOADING
+    TextIterInsideSentenceMethodInfo        ,
+#endif
+    textIterInsideSentence                  ,
+
+
+-- ** insideWord #method:insideWord#
+
+#if ENABLE_OVERLOADING
+    TextIterInsideWordMethodInfo            ,
+#endif
+    textIterInsideWord                      ,
+
+
+-- ** isCursorPosition #method:isCursorPosition#
+
+#if ENABLE_OVERLOADING
+    TextIterIsCursorPositionMethodInfo      ,
+#endif
+    textIterIsCursorPosition                ,
+
+
+-- ** isEnd #method:isEnd#
+
+#if ENABLE_OVERLOADING
+    TextIterIsEndMethodInfo                 ,
+#endif
+    textIterIsEnd                           ,
+
+
+-- ** isStart #method:isStart#
+
+#if ENABLE_OVERLOADING
+    TextIterIsStartMethodInfo               ,
+#endif
+    textIterIsStart                         ,
+
+
+-- ** order #method:order#
+
+#if ENABLE_OVERLOADING
+    TextIterOrderMethodInfo                 ,
+#endif
+    textIterOrder                           ,
+
+
+-- ** setLine #method:setLine#
+
+#if ENABLE_OVERLOADING
+    TextIterSetLineMethodInfo               ,
+#endif
+    textIterSetLine                         ,
+
+
+-- ** setLineIndex #method:setLineIndex#
+
+#if ENABLE_OVERLOADING
+    TextIterSetLineIndexMethodInfo          ,
+#endif
+    textIterSetLineIndex                    ,
+
+
+-- ** setLineOffset #method:setLineOffset#
+
+#if ENABLE_OVERLOADING
+    TextIterSetLineOffsetMethodInfo         ,
+#endif
+    textIterSetLineOffset                   ,
+
+
+-- ** setOffset #method:setOffset#
+
+#if ENABLE_OVERLOADING
+    TextIterSetOffsetMethodInfo             ,
+#endif
+    textIterSetOffset                       ,
+
+
+-- ** setVisibleLineIndex #method:setVisibleLineIndex#
+
+#if ENABLE_OVERLOADING
+    TextIterSetVisibleLineIndexMethodInfo   ,
+#endif
+    textIterSetVisibleLineIndex             ,
+
+
+-- ** setVisibleLineOffset #method:setVisibleLineOffset#
+
+#if ENABLE_OVERLOADING
+    TextIterSetVisibleLineOffsetMethodInfo  ,
+#endif
+    textIterSetVisibleLineOffset            ,
+
+
+-- ** startsLine #method:startsLine#
+
+#if ENABLE_OVERLOADING
+    TextIterStartsLineMethodInfo            ,
+#endif
+    textIterStartsLine                      ,
+
+
+-- ** startsSentence #method:startsSentence#
+
+#if ENABLE_OVERLOADING
+    TextIterStartsSentenceMethodInfo        ,
+#endif
+    textIterStartsSentence                  ,
+
+
+-- ** startsTag #method:startsTag#
+
+#if ENABLE_OVERLOADING
+    TextIterStartsTagMethodInfo             ,
+#endif
+    textIterStartsTag                       ,
+
+
+-- ** startsWord #method:startsWord#
+
+#if ENABLE_OVERLOADING
+    TextIterStartsWordMethodInfo            ,
+#endif
+    textIterStartsWord                      ,
+
+
+-- ** togglesTag #method:togglesTag#
+
+#if ENABLE_OVERLOADING
+    TextIterTogglesTagMethodInfo            ,
+#endif
+    textIterTogglesTag                      ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
+import qualified GI.Gtk.Callbacks as Gtk.Callbacks
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextChildAnchor as Gtk.TextChildAnchor
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextMark as Gtk.TextMark
+import {-# SOURCE #-} qualified GI.Gtk.Objects.TextTag as Gtk.TextTag
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TextAttributes as Gtk.TextAttributes
+import qualified GI.Pango.Structs.Language as Pango.Language
+
+-- | Memory-managed wrapper type.
+newtype TextIter = TextIter (ManagedPtr TextIter)
+foreign import ccall "gtk_text_iter_get_type" c_gtk_text_iter_get_type :: 
+    IO GType
+
+instance BoxedObject TextIter where
+    boxedType _ = c_gtk_text_iter_get_type
+
+-- | Construct a `TextIter` struct initialized to zero.
+newZeroTextIter :: MonadIO m => m TextIter
+newZeroTextIter = liftIO $ callocBoxedBytes 80 >>= wrapBoxed TextIter
+
+instance tag ~ 'AttrSet => Constructible TextIter tag where
+    new _ attrs = do
+        o <- newZeroTextIter
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TextIter`.
+noTextIter :: Maybe TextIter
+noTextIter = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TextIter
+type instance O.AttributeList TextIter = TextIterAttributeList
+type TextIterAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method TextIter::assign
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "other", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_assign" gtk_text_iter_assign :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- other : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Assigns the value of /@other@/ to /@iter@/.  This function
+is not useful in applications, because iterators can be assigned
+with @GtkTextIter i = j;@. The
+function is used by language bindings.
+
+/Since: 3.2/
+-}
+textIterAssign ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> TextIter
+    {- ^ /@other@/: another 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m ()
+textIterAssign iter other = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    other' <- unsafeManagedPtrGetPtr other
+    gtk_text_iter_assign iter' other'
+    touchManagedPtr iter
+    touchManagedPtr other
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterAssignMethodInfo
+instance (signature ~ (TextIter -> m ()), MonadIO m) => O.MethodInfo TextIterAssignMethodInfo TextIter signature where
+    overloadedMethod _ = textIterAssign
+
+#endif
+
+-- method TextIter::backward_char
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_char" gtk_text_iter_backward_char :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves backward by one character offset. Returns 'True' if movement
+was possible; if /@iter@/ was the first in the buffer (character
+offset 0), 'GI.Gtk.Structs.TextIter.textIterBackwardChar' returns 'False' for convenience when
+writing loops.
+-}
+textIterBackwardChar ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether movement was possible -}
+textIterBackwardChar iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_char iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardCharMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterBackwardCharMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardChar
+
+#endif
+
+-- method TextIter::backward_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_chars" gtk_text_iter_backward_chars :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves /@count@/ characters backward, if possible (if /@count@/ would move
+past the start or end of the buffer, moves to the start or end of
+the buffer).  The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn’t move, or
+moved onto the end iterator, then 'False' is returned. If /@count@/ is 0,
+the function does nothing and returns 'False'.
+-}
+textIterBackwardChars ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> Int32
+    {- ^ /@count@/: number of characters to move -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ moved and is dereferenceable -}
+textIterBackwardChars iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_chars iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardCharsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterBackwardCharsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardChars
+
+#endif
+
+-- method TextIter::backward_cursor_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_cursor_position" gtk_text_iter_backward_cursor_position :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Like 'GI.Gtk.Structs.TextIter.textIterForwardCursorPosition', but moves backward.
+-}
+textIterBackwardCursorPosition ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we moved -}
+textIterBackwardCursorPosition iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_cursor_position iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardCursorPositionMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterBackwardCursorPositionMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardCursorPosition
+
+#endif
+
+-- method TextIter::backward_cursor_positions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of positions to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_cursor_positions" gtk_text_iter_backward_cursor_positions :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves up to /@count@/ cursor positions. See
+'GI.Gtk.Structs.TextIter.textIterForwardCursorPosition' for details.
+-}
+textIterBackwardCursorPositions ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of positions to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we moved and the new position is dereferenceable -}
+textIterBackwardCursorPositions iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_cursor_positions iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardCursorPositionsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterBackwardCursorPositionsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardCursorPositions
+
+#endif
+
+-- method TextIter::backward_find_char
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pred", argType = TInterface (Name {namespace = "Gtk", name = "TextCharPredicate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to be called on each character", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @pred", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "limit", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "search limit, or %NULL for none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_find_char" gtk_text_iter_backward_find_char :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    FunPtr Gtk.Callbacks.C_TextCharPredicate -> -- pred : TInterface (Name {namespace = "Gtk", name = "TextCharPredicate"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    Ptr TextIter ->                         -- limit : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Same as 'GI.Gtk.Structs.TextIter.textIterForwardFindChar', but goes backward from /@iter@/.
+-}
+textIterBackwardFindChar ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Gtk.Callbacks.TextCharPredicate
+    {- ^ /@pred@/: function to be called on each character -}
+    -> Maybe (TextIter)
+    {- ^ /@limit@/: search limit, or 'Nothing' for none -}
+    -> m Bool
+    {- ^ __Returns:__ whether a match was found -}
+textIterBackwardFindChar iter pred limit = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    pred' <- Gtk.Callbacks.mk_TextCharPredicate (Gtk.Callbacks.wrap_TextCharPredicate Nothing (Gtk.Callbacks.drop_closures_TextCharPredicate pred))
+    maybeLimit <- case limit of
+        Nothing -> return nullPtr
+        Just jLimit -> do
+            jLimit' <- unsafeManagedPtrGetPtr jLimit
+            return jLimit'
+    let userData = nullPtr
+    result <- gtk_text_iter_backward_find_char iter' pred' userData maybeLimit
+    let result' = (/= 0) result
+    safeFreeFunPtr $ castFunPtrToPtr pred'
+    touchManagedPtr iter
+    whenJust limit touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardFindCharMethodInfo
+instance (signature ~ (Gtk.Callbacks.TextCharPredicate -> Maybe (TextIter) -> m Bool), MonadIO m) => O.MethodInfo TextIterBackwardFindCharMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardFindChar
+
+#endif
+
+-- method TextIter::backward_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_line" gtk_text_iter_backward_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves /@iter@/ to the start of the previous line. Returns 'True' if
+/@iter@/ could be moved; i.e. if /@iter@/ was at character offset 0, this
+function returns 'False'. Therefore if /@iter@/ was already on line 0,
+but not at the start of the line, /@iter@/ is snapped to the start of
+the line and the function returns 'True'. (Note that this implies that
+in a loop calling this function, the line number may not change on
+every iteration, if your first iteration is on line 0.)
+-}
+textIterBackwardLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ moved -}
+textIterBackwardLine iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_line iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardLineMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterBackwardLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardLine
+
+#endif
+
+-- method TextIter::backward_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of lines to move backward", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_lines" gtk_text_iter_backward_lines :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves /@count@/ lines backward, if possible (if /@count@/ would move
+past the start or end of the buffer, moves to the start or end of
+the buffer).  The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn’t move, or
+moved onto the end iterator, then 'False' is returned. If /@count@/ is 0,
+the function does nothing and returns 'False'. If /@count@/ is negative,
+moves forward by 0 - /@count@/ lines.
+-}
+textIterBackwardLines ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of lines to move backward -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ moved and is dereferenceable -}
+textIterBackwardLines iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_lines iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardLinesMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterBackwardLinesMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardLines
+
+#endif
+
+-- method TextIter::backward_search
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter where the search begins", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "search string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "TextSearchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitmask of flags affecting the search", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for start of match, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "match_end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for end of match, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "limit", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "location of last possible @match_start, or %NULL for start of buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_search" gtk_text_iter_backward_search :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CString ->                              -- str : TBasicType TUTF8
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "TextSearchFlags"})
+    Ptr TextIter ->                         -- match_start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- match_end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- limit : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Same as 'GI.Gtk.Structs.TextIter.textIterForwardSearch', but moves backward.
+
+/@matchEnd@/ will never be set to a 'GI.Gtk.Structs.TextIter.TextIter' located after /@iter@/, even if
+there is a possible /@matchStart@/ before or at /@iter@/.
+-}
+textIterBackwardSearch ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' where the search begins -}
+    -> T.Text
+    {- ^ /@str@/: search string -}
+    -> [Gtk.Flags.TextSearchFlags]
+    {- ^ /@flags@/: bitmask of flags affecting the search -}
+    -> Maybe (TextIter)
+    {- ^ /@limit@/: location of last possible /@matchStart@/, or 'Nothing' for start of buffer -}
+    -> m ((Bool, TextIter, TextIter))
+    {- ^ __Returns:__ whether a match was found -}
+textIterBackwardSearch iter str flags limit = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    str' <- textToCString str
+    let flags' = gflagsToWord flags
+    matchStart <- callocBoxedBytes 80 :: IO (Ptr TextIter)
+    matchEnd <- callocBoxedBytes 80 :: IO (Ptr TextIter)
+    maybeLimit <- case limit of
+        Nothing -> return nullPtr
+        Just jLimit -> do
+            jLimit' <- unsafeManagedPtrGetPtr jLimit
+            return jLimit'
+    result <- gtk_text_iter_backward_search iter' str' flags' matchStart matchEnd maybeLimit
+    let result' = (/= 0) result
+    matchStart' <- (wrapBoxed TextIter) matchStart
+    matchEnd' <- (wrapBoxed TextIter) matchEnd
+    touchManagedPtr iter
+    whenJust limit touchManagedPtr
+    freeMem str'
+    return (result', matchStart', matchEnd')
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardSearchMethodInfo
+instance (signature ~ (T.Text -> [Gtk.Flags.TextSearchFlags] -> Maybe (TextIter) -> m ((Bool, TextIter, TextIter))), MonadIO m) => O.MethodInfo TextIterBackwardSearchMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardSearch
+
+#endif
+
+-- method TextIter::backward_sentence_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_sentence_start" gtk_text_iter_backward_sentence_start :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves backward to the previous sentence start; if /@iter@/ is already at
+the start of a sentence, moves backward to the next one.  Sentence
+boundaries are determined by Pango and should be correct for nearly
+any language (if not, the correct fix would be to the Pango text
+boundary algorithms).
+-}
+textIterBackwardSentenceStart ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterBackwardSentenceStart iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_sentence_start iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardSentenceStartMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterBackwardSentenceStartMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardSentenceStart
+
+#endif
+
+-- method TextIter::backward_sentence_starts
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of sentences to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_sentence_starts" gtk_text_iter_backward_sentence_starts :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Calls 'GI.Gtk.Structs.TextIter.textIterBackwardSentenceStart' up to /@count@/ times,
+or until it returns 'False'. If /@count@/ is negative, moves forward
+instead of backward.
+-}
+textIterBackwardSentenceStarts ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of sentences to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterBackwardSentenceStarts iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_sentence_starts iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardSentenceStartsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterBackwardSentenceStartsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardSentenceStarts
+
+#endif
+
+-- method TextIter::backward_to_tag_toggle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTextTag, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_to_tag_toggle" gtk_text_iter_backward_to_tag_toggle :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO CInt
+
+{- |
+Moves backward to the next toggle (on or off) of the
+'GI.Gtk.Objects.TextTag.TextTag' /@tag@/, or to the next toggle of any tag if
+/@tag@/ is 'Nothing'. If no matching tag toggles are found,
+returns 'False', otherwise 'True'. Does not return toggles
+located at /@iter@/, only toggles before /@iter@/. Sets /@iter@/
+to the location of the toggle, or the start of the buffer
+if no toggle is found.
+-}
+textIterBackwardToTagToggle ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextTag.IsTextTag a) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Maybe (a)
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag', or 'Nothing' -}
+    -> m Bool
+    {- ^ __Returns:__ whether we found a tag toggle before /@iter@/ -}
+textIterBackwardToTagToggle iter tag = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybeTag <- case tag of
+        Nothing -> return nullPtr
+        Just jTag -> do
+            jTag' <- unsafeManagedPtrCastPtr jTag
+            return jTag'
+    result <- gtk_text_iter_backward_to_tag_toggle iter' maybeTag
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    whenJust tag touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardToTagToggleMethodInfo
+instance (signature ~ (Maybe (a) -> m Bool), MonadIO m, Gtk.TextTag.IsTextTag a) => O.MethodInfo TextIterBackwardToTagToggleMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardToTagToggle
+
+#endif
+
+-- method TextIter::backward_visible_cursor_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_visible_cursor_position" gtk_text_iter_backward_visible_cursor_position :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves /@iter@/ forward to the previous visible cursor position. See
+'GI.Gtk.Structs.TextIter.textIterBackwardCursorPosition' for details.
+
+/Since: 2.4/
+-}
+textIterBackwardVisibleCursorPosition ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we moved and the new position is dereferenceable -}
+textIterBackwardVisibleCursorPosition iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_visible_cursor_position iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleCursorPositionMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterBackwardVisibleCursorPositionMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardVisibleCursorPosition
+
+#endif
+
+-- method TextIter::backward_visible_cursor_positions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of positions to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_visible_cursor_positions" gtk_text_iter_backward_visible_cursor_positions :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves up to /@count@/ visible cursor positions. See
+'GI.Gtk.Structs.TextIter.textIterBackwardCursorPosition' for details.
+
+/Since: 2.4/
+-}
+textIterBackwardVisibleCursorPositions ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of positions to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we moved and the new position is dereferenceable -}
+textIterBackwardVisibleCursorPositions iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_visible_cursor_positions iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleCursorPositionsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterBackwardVisibleCursorPositionsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardVisibleCursorPositions
+
+#endif
+
+-- method TextIter::backward_visible_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_visible_line" gtk_text_iter_backward_visible_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves /@iter@/ to the start of the previous visible line. Returns 'True' if
+/@iter@/ could be moved; i.e. if /@iter@/ was at character offset 0, this
+function returns 'False'. Therefore if /@iter@/ was already on line 0,
+but not at the start of the line, /@iter@/ is snapped to the start of
+the line and the function returns 'True'. (Note that this implies that
+in a loop calling this function, the line number may not change on
+every iteration, if your first iteration is on line 0.)
+
+/Since: 2.8/
+-}
+textIterBackwardVisibleLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ moved -}
+textIterBackwardVisibleLine iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_visible_line iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleLineMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterBackwardVisibleLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardVisibleLine
+
+#endif
+
+-- method TextIter::backward_visible_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of lines to move backward", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_visible_lines" gtk_text_iter_backward_visible_lines :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves /@count@/ visible lines backward, if possible (if /@count@/ would move
+past the start or end of the buffer, moves to the start or end of
+the buffer).  The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn’t move, or
+moved onto the end iterator, then 'False' is returned. If /@count@/ is 0,
+the function does nothing and returns 'False'. If /@count@/ is negative,
+moves forward by 0 - /@count@/ lines.
+
+/Since: 2.8/
+-}
+textIterBackwardVisibleLines ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of lines to move backward -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ moved and is dereferenceable -}
+textIterBackwardVisibleLines iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_visible_lines iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleLinesMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterBackwardVisibleLinesMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardVisibleLines
+
+#endif
+
+-- method TextIter::backward_visible_word_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_visible_word_start" gtk_text_iter_backward_visible_word_start :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves backward to the previous visible word start. (If /@iter@/ is currently
+on a word start, moves backward to the next one after that.) Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+
+/Since: 2.4/
+-}
+textIterBackwardVisibleWordStart ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterBackwardVisibleWordStart iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_visible_word_start iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleWordStartMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterBackwardVisibleWordStartMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardVisibleWordStart
+
+#endif
+
+-- method TextIter::backward_visible_word_starts
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of times to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_visible_word_starts" gtk_text_iter_backward_visible_word_starts :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Calls 'GI.Gtk.Structs.TextIter.textIterBackwardVisibleWordStart' up to /@count@/ times.
+
+/Since: 2.4/
+-}
+textIterBackwardVisibleWordStarts ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of times to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterBackwardVisibleWordStarts iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_visible_word_starts iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleWordStartsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterBackwardVisibleWordStartsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardVisibleWordStarts
+
+#endif
+
+-- method TextIter::backward_word_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_word_start" gtk_text_iter_backward_word_start :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves backward to the previous word start. (If /@iter@/ is currently on a
+word start, moves backward to the next one after that.) Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+-}
+textIterBackwardWordStart ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterBackwardWordStart iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_word_start iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardWordStartMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterBackwardWordStartMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardWordStart
+
+#endif
+
+-- method TextIter::backward_word_starts
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of times to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_backward_word_starts" gtk_text_iter_backward_word_starts :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Calls 'GI.Gtk.Structs.TextIter.textIterBackwardWordStart' up to /@count@/ times.
+-}
+textIterBackwardWordStarts ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of times to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterBackwardWordStarts iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_backward_word_starts iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBackwardWordStartsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterBackwardWordStartsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBackwardWordStarts
+
+#endif
+
+-- method TextIter::begins_tag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTextTag, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_begins_tag" gtk_text_iter_begins_tag :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO CInt
+
+{-# DEPRECATED textIterBeginsTag ["(Since version 3.20)","Use 'GI.Gtk.Structs.TextIter.textIterStartsTag' instead."] #-}
+{- |
+Returns 'True' if /@tag@/ is toggled on at exactly this point. If /@tag@/
+is 'Nothing', returns 'True' if any tag is toggled on at this point.
+
+Note that if 'GI.Gtk.Structs.TextIter.textIterBeginsTag' returns 'True', it means that /@iter@/ is
+at the beginning of the tagged range, and that the
+character at /@iter@/ is inside the tagged range. In other
+words, unlike 'GI.Gtk.Structs.TextIter.textIterEndsTag', if 'GI.Gtk.Structs.TextIter.textIterBeginsTag' returns
+'True', 'GI.Gtk.Structs.TextIter.textIterHasTag' will also return 'True' for the same
+parameters.
+-}
+textIterBeginsTag ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextTag.IsTextTag a) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> Maybe (a)
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag', or 'Nothing' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ is the start of a range tagged with /@tag@/ -}
+textIterBeginsTag iter tag = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybeTag <- case tag of
+        Nothing -> return nullPtr
+        Just jTag -> do
+            jTag' <- unsafeManagedPtrCastPtr jTag
+            return jTag'
+    result <- gtk_text_iter_begins_tag iter' maybeTag
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    whenJust tag touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterBeginsTagMethodInfo
+instance (signature ~ (Maybe (a) -> m Bool), MonadIO m, Gtk.TextTag.IsTextTag a) => O.MethodInfo TextIterBeginsTagMethodInfo TextIter signature where
+    overloadedMethod _ = textIterBeginsTag
+
+#endif
+
+-- method TextIter::can_insert
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_editability", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if text is editable by default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_can_insert" gtk_text_iter_can_insert :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- default_editability : TBasicType TBoolean
+    IO CInt
+
+{- |
+Considering the default editability of the buffer, and tags that
+affect editability, determines whether text inserted at /@iter@/ would
+be editable. If text inserted at /@iter@/ would be editable then the
+user should be allowed to insert text at /@iter@/.
+'GI.Gtk.Objects.TextBuffer.textBufferInsertInteractive' uses this function to decide
+whether insertions are allowed at a given position.
+-}
+textIterCanInsert ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> Bool
+    {- ^ /@defaultEditability@/: 'True' if text is editable by default -}
+    -> m Bool
+    {- ^ __Returns:__ whether text inserted at /@iter@/ would be editable -}
+textIterCanInsert iter defaultEditability = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    let defaultEditability' = (fromIntegral . fromEnum) defaultEditability
+    result <- gtk_text_iter_can_insert iter' defaultEditability'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterCanInsertMethodInfo
+instance (signature ~ (Bool -> m Bool), MonadIO m) => O.MethodInfo TextIterCanInsertMethodInfo TextIter signature where
+    overloadedMethod _ = textIterCanInsert
+
+#endif
+
+-- method TextIter::compare
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "lhs", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rhs", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_compare" gtk_text_iter_compare :: 
+    Ptr TextIter ->                         -- lhs : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- rhs : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO Int32
+
+{- |
+A @/qsort()/@-style function that returns negative if /@lhs@/ is less than
+/@rhs@/, positive if /@lhs@/ is greater than /@rhs@/, and 0 if they’re equal.
+Ordering is in character offset order, i.e. the first character in the buffer
+is less than the second character in the buffer.
+-}
+textIterCompare ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@lhs@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> TextIter
+    {- ^ /@rhs@/: another 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Int32
+    {- ^ __Returns:__ -1 if /@lhs@/ is less than /@rhs@/, 1 if /@lhs@/ is greater, 0 if they are equal -}
+textIterCompare lhs rhs = liftIO $ do
+    lhs' <- unsafeManagedPtrGetPtr lhs
+    rhs' <- unsafeManagedPtrGetPtr rhs
+    result <- gtk_text_iter_compare lhs' rhs'
+    touchManagedPtr lhs
+    touchManagedPtr rhs
+    return result
+
+#if ENABLE_OVERLOADING
+data TextIterCompareMethodInfo
+instance (signature ~ (TextIter -> m Int32), MonadIO m) => O.MethodInfo TextIterCompareMethodInfo TextIter signature where
+    overloadedMethod _ = textIterCompare
+
+#endif
+
+-- method TextIter::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextIter"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_copy" gtk_text_iter_copy :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO (Ptr TextIter)
+
+{- |
+Creates a dynamically-allocated copy of an iterator. This function
+is not useful in applications, because iterators can be copied with a
+simple assignment (@GtkTextIter i = j;@). The
+function is used by language bindings.
+-}
+textIterCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m TextIter
+    {- ^ __Returns:__ a copy of the /@iter@/, free with 'GI.Gtk.Structs.TextIter.textIterFree' -}
+textIterCopy iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_copy iter'
+    checkUnexpectedReturnNULL "textIterCopy" result
+    result' <- (wrapBoxed TextIter) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterCopyMethodInfo
+instance (signature ~ (m TextIter), MonadIO m) => O.MethodInfo TextIterCopyMethodInfo TextIter signature where
+    overloadedMethod _ = textIterCopy
+
+#endif
+
+-- method TextIter::editable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if text is editable by default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_editable" gtk_text_iter_editable :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- default_setting : TBasicType TBoolean
+    IO CInt
+
+{- |
+Returns whether the character at /@iter@/ is within an editable region
+of text.  Non-editable text is “locked” and can’t be changed by the
+user via 'GI.Gtk.Objects.TextView.TextView'. This function is simply a convenience
+wrapper around 'GI.Gtk.Structs.TextIter.textIterGetAttributes'. If no tags applied
+to this text affect editability, /@defaultSetting@/ will be returned.
+
+You don’t want to use this function to decide whether text can be
+inserted at /@iter@/, because for insertion you don’t want to know
+whether the char at /@iter@/ is inside an editable range, you want to
+know whether a new character inserted at /@iter@/ would be inside an
+editable range. Use 'GI.Gtk.Structs.TextIter.textIterCanInsert' to handle this
+case.
+-}
+textIterEditable ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> Bool
+    {- ^ /@defaultSetting@/: 'True' if text is editable by default -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ is inside an editable range -}
+textIterEditable iter defaultSetting = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    let defaultSetting' = (fromIntegral . fromEnum) defaultSetting
+    result <- gtk_text_iter_editable iter' defaultSetting'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterEditableMethodInfo
+instance (signature ~ (Bool -> m Bool), MonadIO m) => O.MethodInfo TextIterEditableMethodInfo TextIter signature where
+    overloadedMethod _ = textIterEditable
+
+#endif
+
+-- method TextIter::ends_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_ends_line" gtk_text_iter_ends_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Returns 'True' if /@iter@/ points to the start of the paragraph
+delimiter characters for a line (delimiters will be either a
+newline, a carriage return, a carriage return followed by a
+newline, or a Unicode paragraph separator character). Note that an
+iterator pointing to the \\n of a \\r\\n pair will not be counted as
+the end of a line, the line ends before the \\r. The end iterator is
+considered to be at the end of a line, even though there are no
+paragraph delimiter chars there.
+-}
+textIterEndsLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ is at the end of a line -}
+textIterEndsLine iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_ends_line iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterEndsLineMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterEndsLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterEndsLine
+
+#endif
+
+-- method TextIter::ends_sentence
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_ends_sentence" gtk_text_iter_ends_sentence :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Determines whether /@iter@/ ends a sentence.  Sentence boundaries are
+determined by Pango and should be correct for nearly any language
+(if not, the correct fix would be to the Pango text boundary
+algorithms).
+-}
+textIterEndsSentence ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ is at the end of a sentence. -}
+textIterEndsSentence iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_ends_sentence iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterEndsSentenceMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterEndsSentenceMethodInfo TextIter signature where
+    overloadedMethod _ = textIterEndsSentence
+
+#endif
+
+-- method TextIter::ends_tag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTextTag, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_ends_tag" gtk_text_iter_ends_tag :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO CInt
+
+{- |
+Returns 'True' if /@tag@/ is toggled off at exactly this point. If /@tag@/
+is 'Nothing', returns 'True' if any tag is toggled off at this point.
+
+Note that if 'GI.Gtk.Structs.TextIter.textIterEndsTag' returns 'True', it means that /@iter@/ is
+at the end of the tagged range, but that the character
+at /@iter@/ is outside the tagged range. In other words,
+unlike 'GI.Gtk.Structs.TextIter.textIterStartsTag', if 'GI.Gtk.Structs.TextIter.textIterEndsTag' returns 'True',
+'GI.Gtk.Structs.TextIter.textIterHasTag' will return 'False' for the same parameters.
+-}
+textIterEndsTag ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextTag.IsTextTag a) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> Maybe (a)
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag', or 'Nothing' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ is the end of a range tagged with /@tag@/ -}
+textIterEndsTag iter tag = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybeTag <- case tag of
+        Nothing -> return nullPtr
+        Just jTag -> do
+            jTag' <- unsafeManagedPtrCastPtr jTag
+            return jTag'
+    result <- gtk_text_iter_ends_tag iter' maybeTag
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    whenJust tag touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterEndsTagMethodInfo
+instance (signature ~ (Maybe (a) -> m Bool), MonadIO m, Gtk.TextTag.IsTextTag a) => O.MethodInfo TextIterEndsTagMethodInfo TextIter signature where
+    overloadedMethod _ = textIterEndsTag
+
+#endif
+
+-- method TextIter::ends_word
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_ends_word" gtk_text_iter_ends_word :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Determines whether /@iter@/ ends a natural-language word.  Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+-}
+textIterEndsWord ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ is at the end of a word -}
+textIterEndsWord iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_ends_word iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterEndsWordMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterEndsWordMethodInfo TextIter signature where
+    overloadedMethod _ = textIterEndsWord
+
+#endif
+
+-- method TextIter::equal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "lhs", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rhs", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_equal" gtk_text_iter_equal :: 
+    Ptr TextIter ->                         -- lhs : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- rhs : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Tests whether two iterators are equal, using the fastest possible
+mechanism. This function is very fast; you can expect it to perform
+better than e.g. getting the character offset for each iterator and
+comparing the offsets yourself. Also, it’s a bit faster than
+'GI.Gtk.Structs.TextIter.textIterCompare'.
+-}
+textIterEqual ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@lhs@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> TextIter
+    {- ^ /@rhs@/: another 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the iterators point to the same place in the buffer -}
+textIterEqual lhs rhs = liftIO $ do
+    lhs' <- unsafeManagedPtrGetPtr lhs
+    rhs' <- unsafeManagedPtrGetPtr rhs
+    result <- gtk_text_iter_equal lhs' rhs'
+    let result' = (/= 0) result
+    touchManagedPtr lhs
+    touchManagedPtr rhs
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterEqualMethodInfo
+instance (signature ~ (TextIter -> m Bool), MonadIO m) => O.MethodInfo TextIterEqualMethodInfo TextIter signature where
+    overloadedMethod _ = textIterEqual
+
+#endif
+
+-- method TextIter::forward_char
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_char" gtk_text_iter_forward_char :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves /@iter@/ forward by one character offset. Note that images
+embedded in the buffer occupy 1 character slot, so
+'GI.Gtk.Structs.TextIter.textIterForwardChar' may actually move onto an image instead
+of a character, if you have images in your buffer.  If /@iter@/ is the
+end iterator or one character before it, /@iter@/ will now point at
+the end iterator, and 'GI.Gtk.Structs.TextIter.textIterForwardChar' returns 'False' for
+convenience when writing loops.
+-}
+textIterForwardChar ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ moved and is dereferenceable -}
+textIterForwardChar iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_char iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardCharMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterForwardCharMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardChar
+
+#endif
+
+-- method TextIter::forward_chars
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters to move, may be negative", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_chars" gtk_text_iter_forward_chars :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves /@count@/ characters if possible (if /@count@/ would move past the
+start or end of the buffer, moves to the start or end of the
+buffer). The return value indicates whether the new position of
+/@iter@/ is different from its original position, and dereferenceable
+(the last iterator in the buffer is not dereferenceable). If /@count@/
+is 0, the function does nothing and returns 'False'.
+-}
+textIterForwardChars ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> Int32
+    {- ^ /@count@/: number of characters to move, may be negative -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ moved and is dereferenceable -}
+textIterForwardChars iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_chars iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardCharsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterForwardCharsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardChars
+
+#endif
+
+-- method TextIter::forward_cursor_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_cursor_position" gtk_text_iter_forward_cursor_position :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves /@iter@/ forward by a single cursor position. Cursor positions
+are (unsurprisingly) positions where the cursor can appear. Perhaps
+surprisingly, there may not be a cursor position between all
+characters. The most common example for European languages would be
+a carriage return\/newline sequence. For some Unicode characters,
+the equivalent of say the letter “a” with an accent mark will be
+represented as two characters, first the letter then a \"combining
+mark\" that causes the accent to be rendered; so the cursor can’t go
+between those two characters. See also the 'GI.Pango.Structs.LogAttr.LogAttr'-struct and
+'GI.Pango.Functions.break' function.
+-}
+textIterForwardCursorPosition ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we moved and the new position is dereferenceable -}
+textIterForwardCursorPosition iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_cursor_position iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardCursorPositionMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterForwardCursorPositionMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardCursorPosition
+
+#endif
+
+-- method TextIter::forward_cursor_positions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of positions to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_cursor_positions" gtk_text_iter_forward_cursor_positions :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves up to /@count@/ cursor positions. See
+'GI.Gtk.Structs.TextIter.textIterForwardCursorPosition' for details.
+-}
+textIterForwardCursorPositions ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of positions to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we moved and the new position is dereferenceable -}
+textIterForwardCursorPositions iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_cursor_positions iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardCursorPositionsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterForwardCursorPositionsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardCursorPositions
+
+#endif
+
+-- method TextIter::forward_find_char
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pred", argType = TInterface (Name {namespace = "Gtk", name = "TextCharPredicate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to be called on each character", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @pred", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "limit", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "search limit, or %NULL for none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_find_char" gtk_text_iter_forward_find_char :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    FunPtr Gtk.Callbacks.C_TextCharPredicate -> -- pred : TInterface (Name {namespace = "Gtk", name = "TextCharPredicate"})
+    Ptr () ->                               -- user_data : TBasicType TPtr
+    Ptr TextIter ->                         -- limit : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Advances /@iter@/, calling /@pred@/ on each character. If
+/@pred@/ returns 'True', returns 'True' and stops scanning.
+If /@pred@/ never returns 'True', /@iter@/ is set to /@limit@/ if
+/@limit@/ is non-'Nothing', otherwise to the end iterator.
+-}
+textIterForwardFindChar ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Gtk.Callbacks.TextCharPredicate
+    {- ^ /@pred@/: a function to be called on each character -}
+    -> Maybe (TextIter)
+    {- ^ /@limit@/: search limit, or 'Nothing' for none -}
+    -> m Bool
+    {- ^ __Returns:__ whether a match was found -}
+textIterForwardFindChar iter pred limit = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    pred' <- Gtk.Callbacks.mk_TextCharPredicate (Gtk.Callbacks.wrap_TextCharPredicate Nothing (Gtk.Callbacks.drop_closures_TextCharPredicate pred))
+    maybeLimit <- case limit of
+        Nothing -> return nullPtr
+        Just jLimit -> do
+            jLimit' <- unsafeManagedPtrGetPtr jLimit
+            return jLimit'
+    let userData = nullPtr
+    result <- gtk_text_iter_forward_find_char iter' pred' userData maybeLimit
+    let result' = (/= 0) result
+    safeFreeFunPtr $ castFunPtrToPtr pred'
+    touchManagedPtr iter
+    whenJust limit touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardFindCharMethodInfo
+instance (signature ~ (Gtk.Callbacks.TextCharPredicate -> Maybe (TextIter) -> m Bool), MonadIO m) => O.MethodInfo TextIterForwardFindCharMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardFindChar
+
+#endif
+
+-- method TextIter::forward_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_line" gtk_text_iter_forward_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves /@iter@/ to the start of the next line. If the iter is already on the
+last line of the buffer, moves the iter to the end of the current line.
+If after the operation, the iter is at the end of the buffer and not
+dereferencable, returns 'False'. Otherwise, returns 'True'.
+-}
+textIterForwardLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ can be dereferenced -}
+textIterForwardLine iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_line iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardLineMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterForwardLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardLine
+
+#endif
+
+-- method TextIter::forward_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of lines to move forward", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_lines" gtk_text_iter_forward_lines :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves /@count@/ lines forward, if possible (if /@count@/ would move
+past the start or end of the buffer, moves to the start or end of
+the buffer).  The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn’t move, or
+moved onto the end iterator, then 'False' is returned. If /@count@/ is 0,
+the function does nothing and returns 'False'. If /@count@/ is negative,
+moves backward by 0 - /@count@/ lines.
+-}
+textIterForwardLines ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of lines to move forward -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ moved and is dereferenceable -}
+textIterForwardLines iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_lines iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardLinesMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterForwardLinesMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardLines
+
+#endif
+
+-- method TextIter::forward_search
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of search", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a search string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "TextSearchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags affecting how the search is done", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for start of match, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "match_end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for end of match, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "limit", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "location of last possible @match_end, or %NULL for the end of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_search" gtk_text_iter_forward_search :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CString ->                              -- str : TBasicType TUTF8
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "TextSearchFlags"})
+    Ptr TextIter ->                         -- match_start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- match_end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- limit : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Searches forward for /@str@/. Any match is returned by setting
+/@matchStart@/ to the first character of the match and /@matchEnd@/ to the
+first character after the match. The search will not continue past
+/@limit@/. Note that a search is a linear or O(n) operation, so you
+may wish to use /@limit@/ to avoid locking up your UI on large
+buffers.
+
+/@matchStart@/ will never be set to a 'GI.Gtk.Structs.TextIter.TextIter' located before /@iter@/, even if
+there is a possible /@matchEnd@/ after or at /@iter@/.
+-}
+textIterForwardSearch ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: start of search -}
+    -> T.Text
+    {- ^ /@str@/: a search string -}
+    -> [Gtk.Flags.TextSearchFlags]
+    {- ^ /@flags@/: flags affecting how the search is done -}
+    -> Maybe (TextIter)
+    {- ^ /@limit@/: location of last possible /@matchEnd@/, or 'Nothing' for the end of the buffer -}
+    -> m ((Bool, TextIter, TextIter))
+    {- ^ __Returns:__ whether a match was found -}
+textIterForwardSearch iter str flags limit = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    str' <- textToCString str
+    let flags' = gflagsToWord flags
+    matchStart <- callocBoxedBytes 80 :: IO (Ptr TextIter)
+    matchEnd <- callocBoxedBytes 80 :: IO (Ptr TextIter)
+    maybeLimit <- case limit of
+        Nothing -> return nullPtr
+        Just jLimit -> do
+            jLimit' <- unsafeManagedPtrGetPtr jLimit
+            return jLimit'
+    result <- gtk_text_iter_forward_search iter' str' flags' matchStart matchEnd maybeLimit
+    let result' = (/= 0) result
+    matchStart' <- (wrapBoxed TextIter) matchStart
+    matchEnd' <- (wrapBoxed TextIter) matchEnd
+    touchManagedPtr iter
+    whenJust limit touchManagedPtr
+    freeMem str'
+    return (result', matchStart', matchEnd')
+
+#if ENABLE_OVERLOADING
+data TextIterForwardSearchMethodInfo
+instance (signature ~ (T.Text -> [Gtk.Flags.TextSearchFlags] -> Maybe (TextIter) -> m ((Bool, TextIter, TextIter))), MonadIO m) => O.MethodInfo TextIterForwardSearchMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardSearch
+
+#endif
+
+-- method TextIter::forward_sentence_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_sentence_end" gtk_text_iter_forward_sentence_end :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves forward to the next sentence end. (If /@iter@/ is at the end of
+a sentence, moves to the next end of sentence.)  Sentence
+boundaries are determined by Pango and should be correct for nearly
+any language (if not, the correct fix would be to the Pango text
+boundary algorithms).
+-}
+textIterForwardSentenceEnd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterForwardSentenceEnd iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_sentence_end iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardSentenceEndMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterForwardSentenceEndMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardSentenceEnd
+
+#endif
+
+-- method TextIter::forward_sentence_ends
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of sentences to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_sentence_ends" gtk_text_iter_forward_sentence_ends :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Calls 'GI.Gtk.Structs.TextIter.textIterForwardSentenceEnd' /@count@/ times (or until
+'GI.Gtk.Structs.TextIter.textIterForwardSentenceEnd' returns 'False'). If /@count@/ is
+negative, moves backward instead of forward.
+-}
+textIterForwardSentenceEnds ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of sentences to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterForwardSentenceEnds iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_sentence_ends iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardSentenceEndsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterForwardSentenceEndsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardSentenceEnds
+
+#endif
+
+-- method TextIter::forward_to_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_to_end" gtk_text_iter_forward_to_end :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Moves /@iter@/ forward to the “end iterator,” which points one past the last
+valid character in the buffer. 'GI.Gtk.Structs.TextIter.textIterGetChar' called on the
+end iterator returns 0, which is convenient for writing loops.
+-}
+textIterForwardToEnd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m ()
+textIterForwardToEnd iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_text_iter_forward_to_end iter'
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterForwardToEndMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TextIterForwardToEndMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardToEnd
+
+#endif
+
+-- method TextIter::forward_to_line_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_to_line_end" gtk_text_iter_forward_to_line_end :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves the iterator to point to the paragraph delimiter characters,
+which will be either a newline, a carriage return, a carriage
+return\/newline in sequence, or the Unicode paragraph separator
+character. If the iterator is already at the paragraph delimiter
+characters, moves to the paragraph delimiter characters for the
+next line. If /@iter@/ is on the last line in the buffer, which does
+not end in paragraph delimiters, moves to the end iterator (end of
+the last line), and returns 'False'.
+-}
+textIterForwardToLineEnd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we moved and the new location is not the end iterator -}
+textIterForwardToLineEnd iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_to_line_end iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardToLineEndMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterForwardToLineEndMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardToLineEnd
+
+#endif
+
+-- method TextIter::forward_to_tag_toggle
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTextTag, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_to_tag_toggle" gtk_text_iter_forward_to_tag_toggle :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO CInt
+
+{- |
+Moves forward to the next toggle (on or off) of the
+'GI.Gtk.Objects.TextTag.TextTag' /@tag@/, or to the next toggle of any tag if
+/@tag@/ is 'Nothing'. If no matching tag toggles are found,
+returns 'False', otherwise 'True'. Does not return toggles
+located at /@iter@/, only toggles after /@iter@/. Sets /@iter@/ to
+the location of the toggle, or to the end of the buffer
+if no toggle is found.
+-}
+textIterForwardToTagToggle ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextTag.IsTextTag a) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Maybe (a)
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag', or 'Nothing' -}
+    -> m Bool
+    {- ^ __Returns:__ whether we found a tag toggle after /@iter@/ -}
+textIterForwardToTagToggle iter tag = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybeTag <- case tag of
+        Nothing -> return nullPtr
+        Just jTag -> do
+            jTag' <- unsafeManagedPtrCastPtr jTag
+            return jTag'
+    result <- gtk_text_iter_forward_to_tag_toggle iter' maybeTag
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    whenJust tag touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardToTagToggleMethodInfo
+instance (signature ~ (Maybe (a) -> m Bool), MonadIO m, Gtk.TextTag.IsTextTag a) => O.MethodInfo TextIterForwardToTagToggleMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardToTagToggle
+
+#endif
+
+-- method TextIter::forward_visible_cursor_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_visible_cursor_position" gtk_text_iter_forward_visible_cursor_position :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves /@iter@/ forward to the next visible cursor position. See
+'GI.Gtk.Structs.TextIter.textIterForwardCursorPosition' for details.
+
+/Since: 2.4/
+-}
+textIterForwardVisibleCursorPosition ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we moved and the new position is dereferenceable -}
+textIterForwardVisibleCursorPosition iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_visible_cursor_position iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleCursorPositionMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterForwardVisibleCursorPositionMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardVisibleCursorPosition
+
+#endif
+
+-- method TextIter::forward_visible_cursor_positions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of positions to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_visible_cursor_positions" gtk_text_iter_forward_visible_cursor_positions :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves up to /@count@/ visible cursor positions. See
+'GI.Gtk.Structs.TextIter.textIterForwardCursorPosition' for details.
+
+/Since: 2.4/
+-}
+textIterForwardVisibleCursorPositions ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of positions to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if we moved and the new position is dereferenceable -}
+textIterForwardVisibleCursorPositions iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_visible_cursor_positions iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleCursorPositionsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterForwardVisibleCursorPositionsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardVisibleCursorPositions
+
+#endif
+
+-- method TextIter::forward_visible_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_visible_line" gtk_text_iter_forward_visible_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves /@iter@/ to the start of the next visible line. Returns 'True' if there
+was a next line to move to, and 'False' if /@iter@/ was simply moved to
+the end of the buffer and is now not dereferenceable, or if /@iter@/ was
+already at the end of the buffer.
+
+/Since: 2.8/
+-}
+textIterForwardVisibleLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ can be dereferenced -}
+textIterForwardVisibleLine iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_visible_line iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleLineMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterForwardVisibleLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardVisibleLine
+
+#endif
+
+-- method TextIter::forward_visible_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of lines to move forward", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_visible_lines" gtk_text_iter_forward_visible_lines :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Moves /@count@/ visible lines forward, if possible (if /@count@/ would move
+past the start or end of the buffer, moves to the start or end of
+the buffer).  The return value indicates whether the iterator moved
+onto a dereferenceable position; if the iterator didn’t move, or
+moved onto the end iterator, then 'False' is returned. If /@count@/ is 0,
+the function does nothing and returns 'False'. If /@count@/ is negative,
+moves backward by 0 - /@count@/ lines.
+
+/Since: 2.8/
+-}
+textIterForwardVisibleLines ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of lines to move forward -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ moved and is dereferenceable -}
+textIterForwardVisibleLines iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_visible_lines iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleLinesMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterForwardVisibleLinesMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardVisibleLines
+
+#endif
+
+-- method TextIter::forward_visible_word_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_visible_word_end" gtk_text_iter_forward_visible_word_end :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves forward to the next visible word end. (If /@iter@/ is currently on a
+word end, moves forward to the next one after that.) Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+
+/Since: 2.4/
+-}
+textIterForwardVisibleWordEnd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterForwardVisibleWordEnd iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_visible_word_end iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleWordEndMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterForwardVisibleWordEndMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardVisibleWordEnd
+
+#endif
+
+-- method TextIter::forward_visible_word_ends
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of times to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_visible_word_ends" gtk_text_iter_forward_visible_word_ends :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Calls 'GI.Gtk.Structs.TextIter.textIterForwardVisibleWordEnd' up to /@count@/ times.
+
+/Since: 2.4/
+-}
+textIterForwardVisibleWordEnds ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of times to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterForwardVisibleWordEnds iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_visible_word_ends iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleWordEndsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterForwardVisibleWordEndsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardVisibleWordEnds
+
+#endif
+
+-- method TextIter::forward_word_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_word_end" gtk_text_iter_forward_word_end :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Moves forward to the next word end. (If /@iter@/ is currently on a
+word end, moves forward to the next one after that.) Word breaks
+are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+-}
+textIterForwardWordEnd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterForwardWordEnd iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_word_end iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardWordEndMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterForwardWordEndMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardWordEnd
+
+#endif
+
+-- method TextIter::forward_word_ends
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of times to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_forward_word_ends" gtk_text_iter_forward_word_ends :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- count : TBasicType TInt
+    IO CInt
+
+{- |
+Calls 'GI.Gtk.Structs.TextIter.textIterForwardWordEnd' up to /@count@/ times.
+-}
+textIterForwardWordEnds ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@count@/: number of times to move -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ moved and is not the end iterator -}
+textIterForwardWordEnds iter count = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_forward_word_ends iter' count
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterForwardWordEndsMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TextIterForwardWordEndsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterForwardWordEnds
+
+#endif
+
+-- method TextIter::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a dynamically-allocated iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_free" gtk_text_iter_free :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Free an iterator allocated on the heap. This function
+is intended for use in language bindings, and is not
+especially useful for applications, because iterators can
+simply be allocated on the stack.
+-}
+textIterFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a dynamically-allocated iterator -}
+    -> m ()
+textIterFree iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_text_iter_free iter'
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TextIterFreeMethodInfo TextIter signature where
+    overloadedMethod _ = textIterFree
+
+#endif
+
+-- method TextIter::get_attributes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TInterface (Name {namespace = "Gtk", name = "TextAttributes"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextAttributes to be filled in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_attributes" gtk_text_iter_get_attributes :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextAttributes.TextAttributes -> -- values : TInterface (Name {namespace = "Gtk", name = "TextAttributes"})
+    IO CInt
+
+{- |
+Computes the effect of any tags applied to this spot in the
+text. The /@values@/ parameter should be initialized to the default
+settings you wish to use if no tags are in effect. You’d typically
+obtain the defaults from 'GI.Gtk.Objects.TextView.textViewGetDefaultAttributes'.
+
+'GI.Gtk.Structs.TextIter.textIterGetAttributes' will modify /@values@/, applying the
+effects of any tags present at /@iter@/. If any tags affected /@values@/,
+the function returns 'True'.
+-}
+textIterGetAttributes ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m ((Bool, Gtk.TextAttributes.TextAttributes))
+    {- ^ __Returns:__ 'True' if /@values@/ was modified -}
+textIterGetAttributes iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    values <- callocBoxedBytes 168 :: IO (Ptr Gtk.TextAttributes.TextAttributes)
+    result <- gtk_text_iter_get_attributes iter' values
+    let result' = (/= 0) result
+    values' <- (wrapBoxed Gtk.TextAttributes.TextAttributes) values
+    touchManagedPtr iter
+    return (result', values')
+
+#if ENABLE_OVERLOADING
+data TextIterGetAttributesMethodInfo
+instance (signature ~ (m ((Bool, Gtk.TextAttributes.TextAttributes))), MonadIO m) => O.MethodInfo TextIterGetAttributesMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetAttributes
+
+#endif
+
+-- method TextIter::get_buffer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextBuffer"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_buffer" gtk_text_iter_get_buffer :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO (Ptr Gtk.TextBuffer.TextBuffer)
+
+{- |
+Returns the 'GI.Gtk.Objects.TextBuffer.TextBuffer' this iterator is associated with.
+-}
+textIterGetBuffer ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Gtk.TextBuffer.TextBuffer
+    {- ^ __Returns:__ the buffer -}
+textIterGetBuffer iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_buffer iter'
+    checkUnexpectedReturnNULL "textIterGetBuffer" result
+    result' <- (newObject Gtk.TextBuffer.TextBuffer) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterGetBufferMethodInfo
+instance (signature ~ (m Gtk.TextBuffer.TextBuffer), MonadIO m) => O.MethodInfo TextIterGetBufferMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetBuffer
+
+#endif
+
+-- method TextIter::get_bytes_in_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_bytes_in_line" gtk_text_iter_get_bytes_in_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO Int32
+
+{- |
+Returns the number of bytes in the line containing /@iter@/,
+including the paragraph delimiters.
+-}
+textIterGetBytesInLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Int32
+    {- ^ __Returns:__ number of bytes in the line -}
+textIterGetBytesInLine iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_bytes_in_line iter'
+    touchManagedPtr iter
+    return result
+
+#if ENABLE_OVERLOADING
+data TextIterGetBytesInLineMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TextIterGetBytesInLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetBytesInLine
+
+#endif
+
+-- method TextIter::get_char
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUniChar)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_char" gtk_text_iter_get_char :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+The Unicode character at this iterator is returned.  (Equivalent to
+operator* on a C++ iterator.)  If the element at this iterator is a
+non-character element, such as an image embedded in the buffer, the
+Unicode “unknown” character 0xFFFC is returned. If invoked on
+the end iterator, zero is returned; zero is not a valid Unicode character.
+So you can write a loop which ends when 'GI.Gtk.Structs.TextIter.textIterGetChar'
+returns 0.
+-}
+textIterGetChar ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Char
+    {- ^ __Returns:__ a Unicode character, or 0 if /@iter@/ is not dereferenceable -}
+textIterGetChar iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_char iter'
+    let result' = (chr . fromIntegral) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterGetCharMethodInfo
+instance (signature ~ (m Char), MonadIO m) => O.MethodInfo TextIterGetCharMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetChar
+
+#endif
+
+-- method TextIter::get_chars_in_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_chars_in_line" gtk_text_iter_get_chars_in_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO Int32
+
+{- |
+Returns the number of characters in the line containing /@iter@/,
+including the paragraph delimiters.
+-}
+textIterGetCharsInLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Int32
+    {- ^ __Returns:__ number of characters in the line -}
+textIterGetCharsInLine iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_chars_in_line iter'
+    touchManagedPtr iter
+    return result
+
+#if ENABLE_OVERLOADING
+data TextIterGetCharsInLineMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TextIterGetCharsInLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetCharsInLine
+
+#endif
+
+-- method TextIter::get_child_anchor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextChildAnchor"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_child_anchor" gtk_text_iter_get_child_anchor :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO (Ptr Gtk.TextChildAnchor.TextChildAnchor)
+
+{- |
+If the location at /@iter@/ contains a child anchor, the
+anchor is returned (with no new reference count added). Otherwise,
+'Nothing' is returned.
+-}
+textIterGetChildAnchor ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Gtk.TextChildAnchor.TextChildAnchor
+    {- ^ __Returns:__ the anchor at /@iter@/ -}
+textIterGetChildAnchor iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_child_anchor iter'
+    checkUnexpectedReturnNULL "textIterGetChildAnchor" result
+    result' <- (newObject Gtk.TextChildAnchor.TextChildAnchor) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterGetChildAnchorMethodInfo
+instance (signature ~ (m Gtk.TextChildAnchor.TextChildAnchor), MonadIO m) => O.MethodInfo TextIterGetChildAnchorMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetChildAnchor
+
+#endif
+
+-- method TextIter::get_language
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Pango", name = "Language"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_language" gtk_text_iter_get_language :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO (Ptr Pango.Language.Language)
+
+{- |
+A convenience wrapper around 'GI.Gtk.Structs.TextIter.textIterGetAttributes',
+which returns the language in effect at /@iter@/. If no tags affecting
+language apply to /@iter@/, the return value is identical to that of
+'GI.Gtk.Functions.getDefaultLanguage'.
+-}
+textIterGetLanguage ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Pango.Language.Language
+    {- ^ __Returns:__ language in effect at /@iter@/ -}
+textIterGetLanguage iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_language iter'
+    checkUnexpectedReturnNULL "textIterGetLanguage" result
+    result' <- (wrapBoxed Pango.Language.Language) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterGetLanguageMethodInfo
+instance (signature ~ (m Pango.Language.Language), MonadIO m) => O.MethodInfo TextIterGetLanguageMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetLanguage
+
+#endif
+
+-- method TextIter::get_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_line" gtk_text_iter_get_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO Int32
+
+{- |
+Returns the line number containing the iterator. Lines in
+a 'GI.Gtk.Objects.TextBuffer.TextBuffer' are numbered beginning with 0 for the first
+line in the buffer.
+-}
+textIterGetLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Int32
+    {- ^ __Returns:__ a line number -}
+textIterGetLine iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_line iter'
+    touchManagedPtr iter
+    return result
+
+#if ENABLE_OVERLOADING
+data TextIterGetLineMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TextIterGetLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetLine
+
+#endif
+
+-- method TextIter::get_line_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_line_index" gtk_text_iter_get_line_index :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO Int32
+
+{- |
+Returns the byte index of the iterator, counting
+from the start of a newline-terminated line.
+Remember that 'GI.Gtk.Objects.TextBuffer.TextBuffer' encodes text in
+UTF-8, and that characters can require a variable
+number of bytes to represent.
+-}
+textIterGetLineIndex ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Int32
+    {- ^ __Returns:__ distance from start of line, in bytes -}
+textIterGetLineIndex iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_line_index iter'
+    touchManagedPtr iter
+    return result
+
+#if ENABLE_OVERLOADING
+data TextIterGetLineIndexMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TextIterGetLineIndexMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetLineIndex
+
+#endif
+
+-- method TextIter::get_line_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_line_offset" gtk_text_iter_get_line_offset :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO Int32
+
+{- |
+Returns the character offset of the iterator,
+counting from the start of a newline-terminated line.
+The first character on the line has offset 0.
+-}
+textIterGetLineOffset ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Int32
+    {- ^ __Returns:__ offset from start of line -}
+textIterGetLineOffset iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_line_offset iter'
+    touchManagedPtr iter
+    return result
+
+#if ENABLE_OVERLOADING
+data TextIterGetLineOffsetMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TextIterGetLineOffsetMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetLineOffset
+
+#endif
+
+-- method TextIter::get_marks
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "TextMark"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_marks" gtk_text_iter_get_marks :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO (Ptr (GSList (Ptr Gtk.TextMark.TextMark)))
+
+{- |
+Returns a list of all 'GI.Gtk.Objects.TextMark.TextMark' at this location. Because marks
+are not iterable (they don’t take up any \"space\" in the buffer,
+they are just marks in between iterable locations), multiple marks
+can exist in the same place. The returned list is not in any
+meaningful order.
+-}
+textIterGetMarks ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m [Gtk.TextMark.TextMark]
+    {- ^ __Returns:__ list of 'GI.Gtk.Objects.TextMark.TextMark' -}
+textIterGetMarks iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_marks iter'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.TextMark.TextMark) result'
+    g_slist_free result
+    touchManagedPtr iter
+    return result''
+
+#if ENABLE_OVERLOADING
+data TextIterGetMarksMethodInfo
+instance (signature ~ (m [Gtk.TextMark.TextMark]), MonadIO m) => O.MethodInfo TextIterGetMarksMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetMarks
+
+#endif
+
+-- method TextIter::get_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_offset" gtk_text_iter_get_offset :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO Int32
+
+{- |
+Returns the character offset of an iterator.
+Each character in a 'GI.Gtk.Objects.TextBuffer.TextBuffer' has an offset,
+starting with 0 for the first character in the buffer.
+Use 'GI.Gtk.Objects.TextBuffer.textBufferGetIterAtOffset' to convert an
+offset back into an iterator.
+-}
+textIterGetOffset ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Int32
+    {- ^ __Returns:__ a character offset -}
+textIterGetOffset iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_offset iter'
+    touchManagedPtr iter
+    return result
+
+#if ENABLE_OVERLOADING
+data TextIterGetOffsetMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TextIterGetOffsetMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetOffset
+
+#endif
+
+-- method TextIter::get_pixbuf
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_pixbuf" gtk_text_iter_get_pixbuf :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
+
+{- |
+If the element at /@iter@/ is a pixbuf, the pixbuf is returned
+(with no new reference count added). Otherwise,
+'Nothing' is returned.
+-}
+textIterGetPixbuf ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m GdkPixbuf.Pixbuf.Pixbuf
+    {- ^ __Returns:__ the pixbuf at /@iter@/ -}
+textIterGetPixbuf iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_pixbuf iter'
+    checkUnexpectedReturnNULL "textIterGetPixbuf" result
+    result' <- (newObject GdkPixbuf.Pixbuf.Pixbuf) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterGetPixbufMethodInfo
+instance (signature ~ (m GdkPixbuf.Pixbuf.Pixbuf), MonadIO m) => O.MethodInfo TextIterGetPixbufMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetPixbuf
+
+#endif
+
+-- method TextIter::get_slice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator at start of a range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator at end of a range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_slice" gtk_text_iter_get_slice :: 
+    Ptr TextIter ->                         -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CString
+
+{- |
+Returns the text in the given range. A “slice” is an array of
+characters encoded in UTF-8 format, including the Unicode “unknown”
+character 0xFFFC for iterable non-character elements in the buffer,
+such as images.  Because images are encoded in the slice, byte and
+character offsets in the returned array will correspond to byte
+offsets in the text buffer. Note that 0xFFFC can occur in normal
+text as well, so it is not a reliable indicator that a pixbuf or
+widget is in the buffer.
+-}
+textIterGetSlice ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@start@/: iterator at start of a range -}
+    -> TextIter
+    {- ^ /@end@/: iterator at end of a range -}
+    -> m T.Text
+    {- ^ __Returns:__ slice of text from the buffer -}
+textIterGetSlice start end = liftIO $ do
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    result <- gtk_text_iter_get_slice start' end'
+    checkUnexpectedReturnNULL "textIterGetSlice" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr start
+    touchManagedPtr end
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterGetSliceMethodInfo
+instance (signature ~ (TextIter -> m T.Text), MonadIO m) => O.MethodInfo TextIterGetSliceMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetSlice
+
+#endif
+
+-- method TextIter::get_tags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "TextTag"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_tags" gtk_text_iter_get_tags :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO (Ptr (GSList (Ptr Gtk.TextTag.TextTag)))
+
+{- |
+Returns a list of tags that apply to /@iter@/, in ascending order of
+priority (highest-priority tags are last). The 'GI.Gtk.Objects.TextTag.TextTag' in the
+list don’t have a reference added, but you have to free the list
+itself.
+-}
+textIterGetTags ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m [Gtk.TextTag.TextTag]
+    {- ^ __Returns:__ list of 'GI.Gtk.Objects.TextTag.TextTag' -}
+textIterGetTags iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_tags iter'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.TextTag.TextTag) result'
+    g_slist_free result
+    touchManagedPtr iter
+    return result''
+
+#if ENABLE_OVERLOADING
+data TextIterGetTagsMethodInfo
+instance (signature ~ (m [Gtk.TextTag.TextTag]), MonadIO m) => O.MethodInfo TextIterGetTagsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetTags
+
+#endif
+
+-- method TextIter::get_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator at start of a range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator at end of a range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_text" gtk_text_iter_get_text :: 
+    Ptr TextIter ->                         -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CString
+
+{- |
+Returns text in the given range.  If the range
+contains non-text elements such as images, the character and byte
+offsets in the returned string will not correspond to character and
+byte offsets in the buffer. If you want offsets to correspond, see
+'GI.Gtk.Structs.TextIter.textIterGetSlice'.
+-}
+textIterGetText ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@start@/: iterator at start of a range -}
+    -> TextIter
+    {- ^ /@end@/: iterator at end of a range -}
+    -> m T.Text
+    {- ^ __Returns:__ array of characters from the buffer -}
+textIterGetText start end = liftIO $ do
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    result <- gtk_text_iter_get_text start' end'
+    checkUnexpectedReturnNULL "textIterGetText" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr start
+    touchManagedPtr end
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterGetTextMethodInfo
+instance (signature ~ (TextIter -> m T.Text), MonadIO m) => O.MethodInfo TextIterGetTextMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetText
+
+#endif
+
+-- method TextIter::get_toggled_tags
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "toggled_on", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to get toggled-on tags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TInterface (Name {namespace = "Gtk", name = "TextTag"})))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_toggled_tags" gtk_text_iter_get_toggled_tags :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    CInt ->                                 -- toggled_on : TBasicType TBoolean
+    IO (Ptr (GSList (Ptr Gtk.TextTag.TextTag)))
+
+{- |
+Returns a list of 'GI.Gtk.Objects.TextTag.TextTag' that are toggled on or off at this
+point.  (If /@toggledOn@/ is 'True', the list contains tags that are
+toggled on.) If a tag is toggled on at /@iter@/, then some non-empty
+range of characters following /@iter@/ has that tag applied to it.  If
+a tag is toggled off, then some non-empty range following /@iter@/
+does not have the tag applied to it.
+-}
+textIterGetToggledTags ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> Bool
+    {- ^ /@toggledOn@/: 'True' to get toggled-on tags -}
+    -> m [Gtk.TextTag.TextTag]
+    {- ^ __Returns:__ tags toggled at this point -}
+textIterGetToggledTags iter toggledOn = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    let toggledOn' = (fromIntegral . fromEnum) toggledOn
+    result <- gtk_text_iter_get_toggled_tags iter' toggledOn'
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Gtk.TextTag.TextTag) result'
+    g_slist_free result
+    touchManagedPtr iter
+    return result''
+
+#if ENABLE_OVERLOADING
+data TextIterGetToggledTagsMethodInfo
+instance (signature ~ (Bool -> m [Gtk.TextTag.TextTag]), MonadIO m) => O.MethodInfo TextIterGetToggledTagsMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetToggledTags
+
+#endif
+
+-- method TextIter::get_visible_line_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_visible_line_index" gtk_text_iter_get_visible_line_index :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO Int32
+
+{- |
+Returns the number of bytes from the start of the
+line to the given /@iter@/, not counting bytes that
+are invisible due to tags with the “invisible” flag
+toggled on.
+-}
+textIterGetVisibleLineIndex ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Int32
+    {- ^ __Returns:__ byte index of /@iter@/ with respect to the start of the line -}
+textIterGetVisibleLineIndex iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_visible_line_index iter'
+    touchManagedPtr iter
+    return result
+
+#if ENABLE_OVERLOADING
+data TextIterGetVisibleLineIndexMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TextIterGetVisibleLineIndexMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetVisibleLineIndex
+
+#endif
+
+-- method TextIter::get_visible_line_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_visible_line_offset" gtk_text_iter_get_visible_line_offset :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO Int32
+
+{- |
+Returns the offset in characters from the start of the
+line to the given /@iter@/, not counting characters that
+are invisible due to tags with the “invisible” flag
+toggled on.
+-}
+textIterGetVisibleLineOffset ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Int32
+    {- ^ __Returns:__ offset in visible characters from the start of the line -}
+textIterGetVisibleLineOffset iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_get_visible_line_offset iter'
+    touchManagedPtr iter
+    return result
+
+#if ENABLE_OVERLOADING
+data TextIterGetVisibleLineOffsetMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TextIterGetVisibleLineOffsetMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetVisibleLineOffset
+
+#endif
+
+-- method TextIter::get_visible_slice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator at start of range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator at end of range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_visible_slice" gtk_text_iter_get_visible_slice :: 
+    Ptr TextIter ->                         -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CString
+
+{- |
+Like 'GI.Gtk.Structs.TextIter.textIterGetSlice', but invisible text is not included.
+Invisible text is usually invisible because a 'GI.Gtk.Objects.TextTag.TextTag' with the
+“invisible” attribute turned on has been applied to it.
+-}
+textIterGetVisibleSlice ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@start@/: iterator at start of range -}
+    -> TextIter
+    {- ^ /@end@/: iterator at end of range -}
+    -> m T.Text
+    {- ^ __Returns:__ slice of text from the buffer -}
+textIterGetVisibleSlice start end = liftIO $ do
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    result <- gtk_text_iter_get_visible_slice start' end'
+    checkUnexpectedReturnNULL "textIterGetVisibleSlice" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr start
+    touchManagedPtr end
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterGetVisibleSliceMethodInfo
+instance (signature ~ (TextIter -> m T.Text), MonadIO m) => O.MethodInfo TextIterGetVisibleSliceMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetVisibleSlice
+
+#endif
+
+-- method TextIter::get_visible_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator at start of range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator at end of range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_get_visible_text" gtk_text_iter_get_visible_text :: 
+    Ptr TextIter ->                         -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CString
+
+{- |
+Like 'GI.Gtk.Structs.TextIter.textIterGetText', but invisible text is not included.
+Invisible text is usually invisible because a 'GI.Gtk.Objects.TextTag.TextTag' with the
+“invisible” attribute turned on has been applied to it.
+-}
+textIterGetVisibleText ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@start@/: iterator at start of range -}
+    -> TextIter
+    {- ^ /@end@/: iterator at end of range -}
+    -> m T.Text
+    {- ^ __Returns:__ string containing visible text in the
+range -}
+textIterGetVisibleText start end = liftIO $ do
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    result <- gtk_text_iter_get_visible_text start' end'
+    checkUnexpectedReturnNULL "textIterGetVisibleText" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr start
+    touchManagedPtr end
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterGetVisibleTextMethodInfo
+instance (signature ~ (TextIter -> m T.Text), MonadIO m) => O.MethodInfo TextIterGetVisibleTextMethodInfo TextIter signature where
+    overloadedMethod _ = textIterGetVisibleText
+
+#endif
+
+-- method TextIter::has_tag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextTag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_has_tag" gtk_text_iter_has_tag :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO CInt
+
+{- |
+Returns 'True' if /@iter@/ points to a character that is part of a range tagged
+with /@tag@/. See also 'GI.Gtk.Structs.TextIter.textIterStartsTag' and 'GI.Gtk.Structs.TextIter.textIterEndsTag'.
+-}
+textIterHasTag ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextTag.IsTextTag a) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> a
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ is tagged with /@tag@/ -}
+textIterHasTag iter tag = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    tag' <- unsafeManagedPtrCastPtr tag
+    result <- gtk_text_iter_has_tag iter' tag'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    touchManagedPtr tag
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterHasTagMethodInfo
+instance (signature ~ (a -> m Bool), MonadIO m, Gtk.TextTag.IsTextTag a) => O.MethodInfo TextIterHasTagMethodInfo TextIter signature where
+    overloadedMethod _ = textIterHasTag
+
+#endif
+
+-- method TextIter::in_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start of range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "end of range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_in_range" gtk_text_iter_in_range :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Checks whether /@iter@/ falls in the range [/@start@/, /@end@/).
+/@start@/ and /@end@/ must be in ascending order.
+-}
+textIterInRange ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> TextIter
+    {- ^ /@start@/: start of range -}
+    -> TextIter
+    {- ^ /@end@/: end of range -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ is in the range -}
+textIterInRange iter start end = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    start' <- unsafeManagedPtrGetPtr start
+    end' <- unsafeManagedPtrGetPtr end
+    result <- gtk_text_iter_in_range iter' start' end'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    touchManagedPtr start
+    touchManagedPtr end
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterInRangeMethodInfo
+instance (signature ~ (TextIter -> TextIter -> m Bool), MonadIO m) => O.MethodInfo TextIterInRangeMethodInfo TextIter signature where
+    overloadedMethod _ = textIterInRange
+
+#endif
+
+-- method TextIter::inside_sentence
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_inside_sentence" gtk_text_iter_inside_sentence :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Determines whether /@iter@/ is inside a sentence (as opposed to in
+between two sentences, e.g. after a period and before the first
+letter of the next sentence).  Sentence boundaries are determined
+by Pango and should be correct for nearly any language (if not, the
+correct fix would be to the Pango text boundary algorithms).
+-}
+textIterInsideSentence ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ is inside a sentence. -}
+textIterInsideSentence iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_inside_sentence iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterInsideSentenceMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterInsideSentenceMethodInfo TextIter signature where
+    overloadedMethod _ = textIterInsideSentence
+
+#endif
+
+-- method TextIter::inside_word
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_inside_word" gtk_text_iter_inside_word :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Determines whether the character pointed by /@iter@/ is part of a
+natural-language word (as opposed to say inside some whitespace).  Word
+breaks are determined by Pango and should be correct for nearly any language
+(if not, the correct fix would be to the Pango word break algorithms).
+
+Note that if 'GI.Gtk.Structs.TextIter.textIterStartsWord' returns 'True', then this function
+returns 'True' too, since /@iter@/ points to the first character of the word.
+-}
+textIterInsideWord ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ is inside a word -}
+textIterInsideWord iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_inside_word iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterInsideWordMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterInsideWordMethodInfo TextIter signature where
+    overloadedMethod _ = textIterInsideWord
+
+#endif
+
+-- method TextIter::is_cursor_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_is_cursor_position" gtk_text_iter_is_cursor_position :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+See 'GI.Gtk.Structs.TextIter.textIterForwardCursorPosition' or 'GI.Pango.Structs.LogAttr.LogAttr' or
+'GI.Pango.Functions.break' for details on what a cursor position is.
+-}
+textIterIsCursorPosition ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the cursor can be placed at /@iter@/ -}
+textIterIsCursorPosition iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_is_cursor_position iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterIsCursorPositionMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterIsCursorPositionMethodInfo TextIter signature where
+    overloadedMethod _ = textIterIsCursorPosition
+
+#endif
+
+-- method TextIter::is_end
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_is_end" gtk_text_iter_is_end :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Returns 'True' if /@iter@/ is the end iterator, i.e. one past the last
+dereferenceable iterator in the buffer. 'GI.Gtk.Structs.TextIter.textIterIsEnd' is
+the most efficient way to check whether an iterator is the end
+iterator.
+-}
+textIterIsEnd ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ is the end iterator -}
+textIterIsEnd iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_is_end iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterIsEndMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterIsEndMethodInfo TextIter signature where
+    overloadedMethod _ = textIterIsEnd
+
+#endif
+
+-- method TextIter::is_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_is_start" gtk_text_iter_is_start :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Returns 'True' if /@iter@/ is the first iterator in the buffer, that is
+if /@iter@/ has a character offset of 0.
+-}
+textIterIsStart ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ is the first in the buffer -}
+textIterIsStart iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_is_start iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterIsStartMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterIsStartMethodInfo TextIter signature where
+    overloadedMethod _ = textIterIsStart
+
+#endif
+
+-- method TextIter::order
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "first", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "second", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_order" gtk_text_iter_order :: 
+    Ptr TextIter ->                         -- first : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr TextIter ->                         -- second : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO ()
+
+{- |
+Swaps the value of /@first@/ and /@second@/ if /@second@/ comes before
+/@first@/ in the buffer. That is, ensures that /@first@/ and /@second@/ are
+in sequence. Most text buffer functions that take a range call this
+automatically on your behalf, so there’s no real reason to call it yourself
+in those cases. There are some exceptions, such as 'GI.Gtk.Structs.TextIter.textIterInRange',
+that expect a pre-sorted range.
+-}
+textIterOrder ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@first@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> TextIter
+    {- ^ /@second@/: another 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m ()
+textIterOrder first second = liftIO $ do
+    first' <- unsafeManagedPtrGetPtr first
+    second' <- unsafeManagedPtrGetPtr second
+    gtk_text_iter_order first' second'
+    touchManagedPtr first
+    touchManagedPtr second
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterOrderMethodInfo
+instance (signature ~ (TextIter -> m ()), MonadIO m) => O.MethodInfo TextIterOrderMethodInfo TextIter signature where
+    overloadedMethod _ = textIterOrder
+
+#endif
+
+-- method TextIter::set_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line_number", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "line number (counted from 0)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_set_line" gtk_text_iter_set_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- line_number : TBasicType TInt
+    IO ()
+
+{- |
+Moves iterator /@iter@/ to the start of the line /@lineNumber@/.  If
+/@lineNumber@/ is negative or larger than the number of lines in the
+buffer, moves /@iter@/ to the start of the last line in the buffer.
+-}
+textIterSetLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@lineNumber@/: line number (counted from 0) -}
+    -> m ()
+textIterSetLine iter lineNumber = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_text_iter_set_line iter' lineNumber
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterSetLineMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo TextIterSetLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterSetLine
+
+#endif
+
+-- method TextIter::set_line_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "byte_on_line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a byte index relative to the start of @iter\8217s current line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_set_line_index" gtk_text_iter_set_line_index :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- byte_on_line : TBasicType TInt
+    IO ()
+
+{- |
+Same as 'GI.Gtk.Structs.TextIter.textIterSetLineOffset', but works with a
+byte index. The given byte index must be at
+the start of a character, it can’t be in the middle of a UTF-8
+encoded character.
+-}
+textIterSetLineIndex ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@byteOnLine@/: a byte index relative to the start of /@iter@/’s current line -}
+    -> m ()
+textIterSetLineIndex iter byteOnLine = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_text_iter_set_line_index iter' byteOnLine
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterSetLineIndexMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo TextIterSetLineIndexMethodInfo TextIter signature where
+    overloadedMethod _ = textIterSetLineIndex
+
+#endif
+
+-- method TextIter::set_line_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "char_on_line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character offset relative to the start of @iter\8217s current line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_set_line_offset" gtk_text_iter_set_line_offset :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- char_on_line : TBasicType TInt
+    IO ()
+
+{- |
+Moves /@iter@/ within a line, to a new character
+(not byte) offset. The given character offset must be less than or
+equal to the number of characters in the line; if equal, /@iter@/
+moves to the start of the next line. See
+'GI.Gtk.Structs.TextIter.textIterSetLineIndex' if you have a byte index rather than
+a character offset.
+-}
+textIterSetLineOffset ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@charOnLine@/: a character offset relative to the start of /@iter@/’s current line -}
+    -> m ()
+textIterSetLineOffset iter charOnLine = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_text_iter_set_line_offset iter' charOnLine
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterSetLineOffsetMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo TextIterSetLineOffsetMethodInfo TextIter signature where
+    overloadedMethod _ = textIterSetLineOffset
+
+#endif
+
+-- method TextIter::set_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "char_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_set_offset" gtk_text_iter_set_offset :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- char_offset : TBasicType TInt
+    IO ()
+
+{- |
+Sets /@iter@/ to point to /@charOffset@/. /@charOffset@/ counts from the start
+of the entire text buffer, starting with 0.
+-}
+textIterSetOffset ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@charOffset@/: a character number -}
+    -> m ()
+textIterSetOffset iter charOffset = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_text_iter_set_offset iter' charOffset
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterSetOffsetMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo TextIterSetOffsetMethodInfo TextIter signature where
+    overloadedMethod _ = textIterSetOffset
+
+#endif
+
+-- method TextIter::set_visible_line_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "byte_on_line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a byte index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_set_visible_line_index" gtk_text_iter_set_visible_line_index :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- byte_on_line : TBasicType TInt
+    IO ()
+
+{- |
+Like 'GI.Gtk.Structs.TextIter.textIterSetLineIndex', but the index is in visible
+bytes, i.e. text with a tag making it invisible is not counted
+in the index.
+-}
+textIterSetVisibleLineIndex ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@byteOnLine@/: a byte index -}
+    -> m ()
+textIterSetVisibleLineIndex iter byteOnLine = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_text_iter_set_visible_line_index iter' byteOnLine
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterSetVisibleLineIndexMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo TextIterSetVisibleLineIndexMethodInfo TextIter signature where
+    overloadedMethod _ = textIterSetVisibleLineIndex
+
+#endif
+
+-- method TextIter::set_visible_line_offset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "char_on_line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_set_visible_line_offset" gtk_text_iter_set_visible_line_offset :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Int32 ->                                -- char_on_line : TBasicType TInt
+    IO ()
+
+{- |
+Like 'GI.Gtk.Structs.TextIter.textIterSetLineOffset', but the offset is in visible
+characters, i.e. text with a tag making it invisible is not
+counted in the offset.
+-}
+textIterSetVisibleLineOffset ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> Int32
+    {- ^ /@charOnLine@/: a character offset -}
+    -> m ()
+textIterSetVisibleLineOffset iter charOnLine = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_text_iter_set_visible_line_offset iter' charOnLine
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TextIterSetVisibleLineOffsetMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo TextIterSetVisibleLineOffsetMethodInfo TextIter signature where
+    overloadedMethod _ = textIterSetVisibleLineOffset
+
+#endif
+
+-- method TextIter::starts_line
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_starts_line" gtk_text_iter_starts_line :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Returns 'True' if /@iter@/ begins a paragraph,
+i.e. if 'GI.Gtk.Structs.TextIter.textIterGetLineOffset' would return 0.
+However this function is potentially more efficient than
+'GI.Gtk.Structs.TextIter.textIterGetLineOffset' because it doesn’t have to compute
+the offset, it just has to see whether it’s 0.
+-}
+textIterStartsLine ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ begins a line -}
+textIterStartsLine iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_starts_line iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterStartsLineMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterStartsLineMethodInfo TextIter signature where
+    overloadedMethod _ = textIterStartsLine
+
+#endif
+
+-- method TextIter::starts_sentence
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_starts_sentence" gtk_text_iter_starts_sentence :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Determines whether /@iter@/ begins a sentence.  Sentence boundaries are
+determined by Pango and should be correct for nearly any language
+(if not, the correct fix would be to the Pango text boundary
+algorithms).
+-}
+textIterStartsSentence ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ is at the start of a sentence. -}
+textIterStartsSentence iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_starts_sentence iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterStartsSentenceMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterStartsSentenceMethodInfo TextIter signature where
+    overloadedMethod _ = textIterStartsSentence
+
+#endif
+
+-- method TextIter::starts_tag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTextTag, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_starts_tag" gtk_text_iter_starts_tag :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO CInt
+
+{- |
+Returns 'True' if /@tag@/ is toggled on at exactly this point. If /@tag@/
+is 'Nothing', returns 'True' if any tag is toggled on at this point.
+
+Note that if 'GI.Gtk.Structs.TextIter.textIterStartsTag' returns 'True', it means that /@iter@/ is
+at the beginning of the tagged range, and that the
+character at /@iter@/ is inside the tagged range. In other
+words, unlike 'GI.Gtk.Structs.TextIter.textIterEndsTag', if 'GI.Gtk.Structs.TextIter.textIterStartsTag' returns
+'True', 'GI.Gtk.Structs.TextIter.textIterHasTag' will also return 'True' for the same
+parameters.
+
+/Since: 3.20/
+-}
+textIterStartsTag ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextTag.IsTextTag a) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> Maybe (a)
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag', or 'Nothing' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@iter@/ is the start of a range tagged with /@tag@/ -}
+textIterStartsTag iter tag = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybeTag <- case tag of
+        Nothing -> return nullPtr
+        Just jTag -> do
+            jTag' <- unsafeManagedPtrCastPtr jTag
+            return jTag'
+    result <- gtk_text_iter_starts_tag iter' maybeTag
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    whenJust tag touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterStartsTagMethodInfo
+instance (signature ~ (Maybe (a) -> m Bool), MonadIO m, Gtk.TextTag.IsTextTag a) => O.MethodInfo TextIterStartsTagMethodInfo TextIter signature where
+    overloadedMethod _ = textIterStartsTag
+
+#endif
+
+-- method TextIter::starts_word
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_starts_word" gtk_text_iter_starts_word :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    IO CInt
+
+{- |
+Determines whether /@iter@/ begins a natural-language word.  Word
+breaks are determined by Pango and should be correct for nearly any
+language (if not, the correct fix would be to the Pango word break
+algorithms).
+-}
+textIterStartsWord ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TextIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TextIter.TextIter' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@iter@/ is at the start of a word -}
+textIterStartsWord iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_text_iter_starts_word iter'
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterStartsWordMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TextIterStartsWordMethodInfo TextIter signature where
+    overloadedMethod _ = textIterStartsWord
+
+#endif
+
+-- method TextIter::toggles_tag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TInterface (Name {namespace = "Gtk", name = "TextTag"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkTextTag, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_text_iter_toggles_tag" gtk_text_iter_toggles_tag :: 
+    Ptr TextIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
+    Ptr Gtk.TextTag.TextTag ->              -- tag : TInterface (Name {namespace = "Gtk", name = "TextTag"})
+    IO CInt
+
+{- |
+This is equivalent to ('GI.Gtk.Structs.TextIter.textIterStartsTag' ||
+'GI.Gtk.Structs.TextIter.textIterEndsTag'), i.e. it tells you whether a range with
+/@tag@/ applied to it begins or ends at /@iter@/.
+-}
+textIterTogglesTag ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TextTag.IsTextTag a) =>
+    TextIter
+    {- ^ /@iter@/: an iterator -}
+    -> Maybe (a)
+    {- ^ /@tag@/: a 'GI.Gtk.Objects.TextTag.TextTag', or 'Nothing' -}
+    -> m Bool
+    {- ^ __Returns:__ whether /@tag@/ is toggled on or off at /@iter@/ -}
+textIterTogglesTag iter tag = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    maybeTag <- case tag of
+        Nothing -> return nullPtr
+        Just jTag -> do
+            jTag' <- unsafeManagedPtrCastPtr jTag
+            return jTag'
+    result <- gtk_text_iter_toggles_tag iter' maybeTag
+    let result' = (/= 0) result
+    touchManagedPtr iter
+    whenJust tag touchManagedPtr
+    return result'
+
+#if ENABLE_OVERLOADING
+data TextIterTogglesTagMethodInfo
+instance (signature ~ (Maybe (a) -> m Bool), MonadIO m, Gtk.TextTag.IsTextTag a) => O.MethodInfo TextIterTogglesTagMethodInfo TextIter signature where
+    overloadedMethod _ = textIterTogglesTag
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTextIterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextIterMethod "assign" o = TextIterAssignMethodInfo
+    ResolveTextIterMethod "backwardChar" o = TextIterBackwardCharMethodInfo
+    ResolveTextIterMethod "backwardChars" o = TextIterBackwardCharsMethodInfo
+    ResolveTextIterMethod "backwardCursorPosition" o = TextIterBackwardCursorPositionMethodInfo
+    ResolveTextIterMethod "backwardCursorPositions" o = TextIterBackwardCursorPositionsMethodInfo
+    ResolveTextIterMethod "backwardFindChar" o = TextIterBackwardFindCharMethodInfo
+    ResolveTextIterMethod "backwardLine" o = TextIterBackwardLineMethodInfo
+    ResolveTextIterMethod "backwardLines" o = TextIterBackwardLinesMethodInfo
+    ResolveTextIterMethod "backwardSearch" o = TextIterBackwardSearchMethodInfo
+    ResolveTextIterMethod "backwardSentenceStart" o = TextIterBackwardSentenceStartMethodInfo
+    ResolveTextIterMethod "backwardSentenceStarts" o = TextIterBackwardSentenceStartsMethodInfo
+    ResolveTextIterMethod "backwardToTagToggle" o = TextIterBackwardToTagToggleMethodInfo
+    ResolveTextIterMethod "backwardVisibleCursorPosition" o = TextIterBackwardVisibleCursorPositionMethodInfo
+    ResolveTextIterMethod "backwardVisibleCursorPositions" o = TextIterBackwardVisibleCursorPositionsMethodInfo
+    ResolveTextIterMethod "backwardVisibleLine" o = TextIterBackwardVisibleLineMethodInfo
+    ResolveTextIterMethod "backwardVisibleLines" o = TextIterBackwardVisibleLinesMethodInfo
+    ResolveTextIterMethod "backwardVisibleWordStart" o = TextIterBackwardVisibleWordStartMethodInfo
+    ResolveTextIterMethod "backwardVisibleWordStarts" o = TextIterBackwardVisibleWordStartsMethodInfo
+    ResolveTextIterMethod "backwardWordStart" o = TextIterBackwardWordStartMethodInfo
+    ResolveTextIterMethod "backwardWordStarts" o = TextIterBackwardWordStartsMethodInfo
+    ResolveTextIterMethod "beginsTag" o = TextIterBeginsTagMethodInfo
+    ResolveTextIterMethod "canInsert" o = TextIterCanInsertMethodInfo
+    ResolveTextIterMethod "compare" o = TextIterCompareMethodInfo
+    ResolveTextIterMethod "copy" o = TextIterCopyMethodInfo
+    ResolveTextIterMethod "editable" o = TextIterEditableMethodInfo
+    ResolveTextIterMethod "endsLine" o = TextIterEndsLineMethodInfo
+    ResolveTextIterMethod "endsSentence" o = TextIterEndsSentenceMethodInfo
+    ResolveTextIterMethod "endsTag" o = TextIterEndsTagMethodInfo
+    ResolveTextIterMethod "endsWord" o = TextIterEndsWordMethodInfo
+    ResolveTextIterMethod "equal" o = TextIterEqualMethodInfo
+    ResolveTextIterMethod "forwardChar" o = TextIterForwardCharMethodInfo
+    ResolveTextIterMethod "forwardChars" o = TextIterForwardCharsMethodInfo
+    ResolveTextIterMethod "forwardCursorPosition" o = TextIterForwardCursorPositionMethodInfo
+    ResolveTextIterMethod "forwardCursorPositions" o = TextIterForwardCursorPositionsMethodInfo
+    ResolveTextIterMethod "forwardFindChar" o = TextIterForwardFindCharMethodInfo
+    ResolveTextIterMethod "forwardLine" o = TextIterForwardLineMethodInfo
+    ResolveTextIterMethod "forwardLines" o = TextIterForwardLinesMethodInfo
+    ResolveTextIterMethod "forwardSearch" o = TextIterForwardSearchMethodInfo
+    ResolveTextIterMethod "forwardSentenceEnd" o = TextIterForwardSentenceEndMethodInfo
+    ResolveTextIterMethod "forwardSentenceEnds" o = TextIterForwardSentenceEndsMethodInfo
+    ResolveTextIterMethod "forwardToEnd" o = TextIterForwardToEndMethodInfo
+    ResolveTextIterMethod "forwardToLineEnd" o = TextIterForwardToLineEndMethodInfo
+    ResolveTextIterMethod "forwardToTagToggle" o = TextIterForwardToTagToggleMethodInfo
+    ResolveTextIterMethod "forwardVisibleCursorPosition" o = TextIterForwardVisibleCursorPositionMethodInfo
+    ResolveTextIterMethod "forwardVisibleCursorPositions" o = TextIterForwardVisibleCursorPositionsMethodInfo
+    ResolveTextIterMethod "forwardVisibleLine" o = TextIterForwardVisibleLineMethodInfo
+    ResolveTextIterMethod "forwardVisibleLines" o = TextIterForwardVisibleLinesMethodInfo
+    ResolveTextIterMethod "forwardVisibleWordEnd" o = TextIterForwardVisibleWordEndMethodInfo
+    ResolveTextIterMethod "forwardVisibleWordEnds" o = TextIterForwardVisibleWordEndsMethodInfo
+    ResolveTextIterMethod "forwardWordEnd" o = TextIterForwardWordEndMethodInfo
+    ResolveTextIterMethod "forwardWordEnds" o = TextIterForwardWordEndsMethodInfo
+    ResolveTextIterMethod "free" o = TextIterFreeMethodInfo
+    ResolveTextIterMethod "hasTag" o = TextIterHasTagMethodInfo
+    ResolveTextIterMethod "inRange" o = TextIterInRangeMethodInfo
+    ResolveTextIterMethod "insideSentence" o = TextIterInsideSentenceMethodInfo
+    ResolveTextIterMethod "insideWord" o = TextIterInsideWordMethodInfo
+    ResolveTextIterMethod "isCursorPosition" o = TextIterIsCursorPositionMethodInfo
+    ResolveTextIterMethod "isEnd" o = TextIterIsEndMethodInfo
+    ResolveTextIterMethod "isStart" o = TextIterIsStartMethodInfo
+    ResolveTextIterMethod "order" o = TextIterOrderMethodInfo
+    ResolveTextIterMethod "startsLine" o = TextIterStartsLineMethodInfo
+    ResolveTextIterMethod "startsSentence" o = TextIterStartsSentenceMethodInfo
+    ResolveTextIterMethod "startsTag" o = TextIterStartsTagMethodInfo
+    ResolveTextIterMethod "startsWord" o = TextIterStartsWordMethodInfo
+    ResolveTextIterMethod "togglesTag" o = TextIterTogglesTagMethodInfo
+    ResolveTextIterMethod "getAttributes" o = TextIterGetAttributesMethodInfo
+    ResolveTextIterMethod "getBuffer" o = TextIterGetBufferMethodInfo
+    ResolveTextIterMethod "getBytesInLine" o = TextIterGetBytesInLineMethodInfo
+    ResolveTextIterMethod "getChar" o = TextIterGetCharMethodInfo
+    ResolveTextIterMethod "getCharsInLine" o = TextIterGetCharsInLineMethodInfo
+    ResolveTextIterMethod "getChildAnchor" o = TextIterGetChildAnchorMethodInfo
+    ResolveTextIterMethod "getLanguage" o = TextIterGetLanguageMethodInfo
+    ResolveTextIterMethod "getLine" o = TextIterGetLineMethodInfo
+    ResolveTextIterMethod "getLineIndex" o = TextIterGetLineIndexMethodInfo
+    ResolveTextIterMethod "getLineOffset" o = TextIterGetLineOffsetMethodInfo
+    ResolveTextIterMethod "getMarks" o = TextIterGetMarksMethodInfo
+    ResolveTextIterMethod "getOffset" o = TextIterGetOffsetMethodInfo
+    ResolveTextIterMethod "getPixbuf" o = TextIterGetPixbufMethodInfo
+    ResolveTextIterMethod "getSlice" o = TextIterGetSliceMethodInfo
+    ResolveTextIterMethod "getTags" o = TextIterGetTagsMethodInfo
+    ResolveTextIterMethod "getText" o = TextIterGetTextMethodInfo
+    ResolveTextIterMethod "getToggledTags" o = TextIterGetToggledTagsMethodInfo
+    ResolveTextIterMethod "getVisibleLineIndex" o = TextIterGetVisibleLineIndexMethodInfo
+    ResolveTextIterMethod "getVisibleLineOffset" o = TextIterGetVisibleLineOffsetMethodInfo
+    ResolveTextIterMethod "getVisibleSlice" o = TextIterGetVisibleSliceMethodInfo
+    ResolveTextIterMethod "getVisibleText" o = TextIterGetVisibleTextMethodInfo
+    ResolveTextIterMethod "setLine" o = TextIterSetLineMethodInfo
+    ResolveTextIterMethod "setLineIndex" o = TextIterSetLineIndexMethodInfo
+    ResolveTextIterMethod "setLineOffset" o = TextIterSetLineOffsetMethodInfo
+    ResolveTextIterMethod "setOffset" o = TextIterSetOffsetMethodInfo
+    ResolveTextIterMethod "setVisibleLineIndex" o = TextIterSetVisibleLineIndexMethodInfo
+    ResolveTextIterMethod "setVisibleLineOffset" o = TextIterSetVisibleLineOffsetMethodInfo
+    ResolveTextIterMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTextIterMethod t TextIter, O.MethodInfo info TextIter p) => OL.IsLabel t (TextIter -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TextIter.hs-boot b/GI/Gtk/Structs/TextIter.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TextIter.hs-boot
@@ -0,0 +1,302 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TextIter where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TextIter = TextIter (ManagedPtr TextIter)
+instance BoxedObject TextIter where
+#if ENABLE_OVERLOADING
+data TextIterAssignMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardCharMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardCursorPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardCursorPositionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardFindCharMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardSearchMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardSentenceStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardSentenceStartsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardToTagToggleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleCursorPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleCursorPositionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleWordStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardVisibleWordStartsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardWordStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBackwardWordStartsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterBeginsTagMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterCanInsertMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterCompareMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterEditableMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterEndsLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterEndsSentenceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterEndsTagMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterEndsWordMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterEqualMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardCharMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardCharsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardCursorPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardCursorPositionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardFindCharMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardSearchMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardSentenceEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardSentenceEndsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardToEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardToLineEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardToTagToggleMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleCursorPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleCursorPositionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleLinesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleWordEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardVisibleWordEndsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardWordEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterForwardWordEndsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterFreeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetAttributesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetBufferMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetBytesInLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetCharMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetCharsInLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetChildAnchorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetLanguageMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetLineIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetLineOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetMarksMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetPixbufMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetSliceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetTagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetToggledTagsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetVisibleLineIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetVisibleLineOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetVisibleSliceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterGetVisibleTextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterHasTagMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterInRangeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterInsideSentenceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterInsideWordMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterIsCursorPositionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterIsEndMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterIsStartMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterOrderMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterSetLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterSetLineIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterSetLineOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterSetOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterSetVisibleLineIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterSetVisibleLineOffsetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterStartsLineMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterStartsSentenceMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterStartsTagMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterStartsWordMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TextIterTogglesTagMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/ThemeEngine.hs b/GI/Gtk/Structs/ThemeEngine.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/ThemeEngine.hs
@@ -0,0 +1,77 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.ThemeEngine
+    ( 
+
+-- * Exported types
+    ThemeEngine(..)                         ,
+    noThemeEngine                           ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype ThemeEngine = ThemeEngine (ManagedPtr ThemeEngine)
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr ThemeEngine where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ThemeEngine`.
+noThemeEngine :: Maybe ThemeEngine
+noThemeEngine = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ThemeEngine
+type instance O.AttributeList ThemeEngine = ThemeEngineAttributeList
+type ThemeEngineAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveThemeEngineMethod (t :: Symbol) (o :: *) :: * where
+    ResolveThemeEngineMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveThemeEngineMethod t ThemeEngine, O.MethodInfo info ThemeEngine p) => OL.IsLabel t (ThemeEngine -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/ThemeEngine.hs-boot b/GI/Gtk/Structs/ThemeEngine.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/ThemeEngine.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.ThemeEngine where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ThemeEngine = ThemeEngine (ManagedPtr ThemeEngine)
+instance WrappedPtr ThemeEngine where
diff --git a/GI/Gtk/Structs/ToggleActionEntry.hs b/GI/Gtk/Structs/ToggleActionEntry.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/ToggleActionEntry.hs
@@ -0,0 +1,580 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+'GI.Gtk.Structs.ToggleActionEntry.ToggleActionEntry' structs are used with
+@/gtk_action_group_add_toggle_actions()/@ to construct toggle actions.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.ToggleActionEntry
+    ( 
+
+-- * Exported types
+    ToggleActionEntry(..)                   ,
+    newZeroToggleActionEntry                ,
+    noToggleActionEntry                     ,
+
+
+ -- * Properties
+-- ** accelerator #attr:accelerator#
+{- | The accelerator for the action, in the format understood by
+ 'GI.Gtk.Functions.acceleratorParse'.
+-}
+    clearToggleActionEntryAccelerator       ,
+    getToggleActionEntryAccelerator         ,
+    setToggleActionEntryAccelerator         ,
+#if ENABLE_OVERLOADING
+    toggleActionEntry_accelerator           ,
+#endif
+
+
+-- ** callback #attr:callback#
+{- | The function to call when the action is activated.
+-}
+    clearToggleActionEntryCallback          ,
+    getToggleActionEntryCallback            ,
+    setToggleActionEntryCallback            ,
+#if ENABLE_OVERLOADING
+    toggleActionEntry_callback              ,
+#endif
+
+
+-- ** isActive #attr:isActive#
+{- | The initial state of the toggle action.
+-}
+    getToggleActionEntryIsActive            ,
+    setToggleActionEntryIsActive            ,
+#if ENABLE_OVERLOADING
+    toggleActionEntry_isActive              ,
+#endif
+
+
+-- ** label #attr:label#
+{- | The label for the action. This field should typically be marked
+ for translation, see 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslationDomain'.
+-}
+    clearToggleActionEntryLabel             ,
+    getToggleActionEntryLabel               ,
+    setToggleActionEntryLabel               ,
+#if ENABLE_OVERLOADING
+    toggleActionEntry_label                 ,
+#endif
+
+
+-- ** name #attr:name#
+{- | The name of the action.
+-}
+    clearToggleActionEntryName              ,
+    getToggleActionEntryName                ,
+    setToggleActionEntryName                ,
+#if ENABLE_OVERLOADING
+    toggleActionEntry_name                  ,
+#endif
+
+
+-- ** stockId #attr:stockId#
+{- | The stock id for the action, or the name of an icon from the
+ icon theme.
+-}
+    clearToggleActionEntryStockId           ,
+    getToggleActionEntryStockId             ,
+    setToggleActionEntryStockId             ,
+#if ENABLE_OVERLOADING
+    toggleActionEntry_stockId               ,
+#endif
+
+
+-- ** tooltip #attr:tooltip#
+{- | The tooltip for the action. This field should typically be
+ marked for translation, see 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslationDomain'.
+-}
+    clearToggleActionEntryTooltip           ,
+    getToggleActionEntryTooltip             ,
+    setToggleActionEntryTooltip             ,
+#if ENABLE_OVERLOADING
+    toggleActionEntry_tooltip               ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Callbacks as GObject.Callbacks
+
+-- | Memory-managed wrapper type.
+newtype ToggleActionEntry = ToggleActionEntry (ManagedPtr ToggleActionEntry)
+instance WrappedPtr ToggleActionEntry where
+    wrappedPtrCalloc = callocBytes 56
+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr ToggleActionEntry)
+    wrappedPtrFree = Just ptr_to_g_free
+
+-- | Construct a `ToggleActionEntry` struct initialized to zero.
+newZeroToggleActionEntry :: MonadIO m => m ToggleActionEntry
+newZeroToggleActionEntry = liftIO $ wrappedPtrCalloc >>= wrapPtr ToggleActionEntry
+
+instance tag ~ 'AttrSet => Constructible ToggleActionEntry tag where
+    new _ attrs = do
+        o <- newZeroToggleActionEntry
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `ToggleActionEntry`.
+noToggleActionEntry :: Maybe ToggleActionEntry
+noToggleActionEntry = Nothing
+
+{- |
+Get the value of the “@name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleActionEntry #name
+@
+-}
+getToggleActionEntryName :: MonadIO m => ToggleActionEntry -> m (Maybe T.Text)
+getToggleActionEntryName s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@name@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleActionEntry [ #name 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleActionEntryName :: MonadIO m => ToggleActionEntry -> CString -> m ()
+setToggleActionEntryName s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: CString)
+
+{- |
+Set the value of the “@name@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #name
+@
+-}
+clearToggleActionEntryName :: MonadIO m => ToggleActionEntry -> m ()
+clearToggleActionEntryName s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ToggleActionEntryNameFieldInfo
+instance AttrInfo ToggleActionEntryNameFieldInfo where
+    type AttrAllowedOps ToggleActionEntryNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToggleActionEntryNameFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ToggleActionEntryNameFieldInfo = (~) ToggleActionEntry
+    type AttrGetType ToggleActionEntryNameFieldInfo = Maybe T.Text
+    type AttrLabel ToggleActionEntryNameFieldInfo = "name"
+    type AttrOrigin ToggleActionEntryNameFieldInfo = ToggleActionEntry
+    attrGet _ = getToggleActionEntryName
+    attrSet _ = setToggleActionEntryName
+    attrConstruct = undefined
+    attrClear _ = clearToggleActionEntryName
+
+toggleActionEntry_name :: AttrLabelProxy "name"
+toggleActionEntry_name = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@stock_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleActionEntry #stockId
+@
+-}
+getToggleActionEntryStockId :: MonadIO m => ToggleActionEntry -> m (Maybe T.Text)
+getToggleActionEntryStockId s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@stock_id@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleActionEntry [ #stockId 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleActionEntryStockId :: MonadIO m => ToggleActionEntry -> CString -> m ()
+setToggleActionEntryStockId s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: CString)
+
+{- |
+Set the value of the “@stock_id@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #stockId
+@
+-}
+clearToggleActionEntryStockId :: MonadIO m => ToggleActionEntry -> m ()
+clearToggleActionEntryStockId s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ToggleActionEntryStockIdFieldInfo
+instance AttrInfo ToggleActionEntryStockIdFieldInfo where
+    type AttrAllowedOps ToggleActionEntryStockIdFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToggleActionEntryStockIdFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ToggleActionEntryStockIdFieldInfo = (~) ToggleActionEntry
+    type AttrGetType ToggleActionEntryStockIdFieldInfo = Maybe T.Text
+    type AttrLabel ToggleActionEntryStockIdFieldInfo = "stock_id"
+    type AttrOrigin ToggleActionEntryStockIdFieldInfo = ToggleActionEntry
+    attrGet _ = getToggleActionEntryStockId
+    attrSet _ = setToggleActionEntryStockId
+    attrConstruct = undefined
+    attrClear _ = clearToggleActionEntryStockId
+
+toggleActionEntry_stockId :: AttrLabelProxy "stockId"
+toggleActionEntry_stockId = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleActionEntry #label
+@
+-}
+getToggleActionEntryLabel :: MonadIO m => ToggleActionEntry -> m (Maybe T.Text)
+getToggleActionEntryLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@label@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleActionEntry [ #label 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleActionEntryLabel :: MonadIO m => ToggleActionEntry -> CString -> m ()
+setToggleActionEntryLabel s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: CString)
+
+{- |
+Set the value of the “@label@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #label
+@
+-}
+clearToggleActionEntryLabel :: MonadIO m => ToggleActionEntry -> m ()
+clearToggleActionEntryLabel s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ToggleActionEntryLabelFieldInfo
+instance AttrInfo ToggleActionEntryLabelFieldInfo where
+    type AttrAllowedOps ToggleActionEntryLabelFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToggleActionEntryLabelFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ToggleActionEntryLabelFieldInfo = (~) ToggleActionEntry
+    type AttrGetType ToggleActionEntryLabelFieldInfo = Maybe T.Text
+    type AttrLabel ToggleActionEntryLabelFieldInfo = "label"
+    type AttrOrigin ToggleActionEntryLabelFieldInfo = ToggleActionEntry
+    attrGet _ = getToggleActionEntryLabel
+    attrSet _ = setToggleActionEntryLabel
+    attrConstruct = undefined
+    attrClear _ = clearToggleActionEntryLabel
+
+toggleActionEntry_label :: AttrLabelProxy "label"
+toggleActionEntry_label = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@accelerator@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleActionEntry #accelerator
+@
+-}
+getToggleActionEntryAccelerator :: MonadIO m => ToggleActionEntry -> m (Maybe T.Text)
+getToggleActionEntryAccelerator s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@accelerator@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleActionEntry [ #accelerator 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleActionEntryAccelerator :: MonadIO m => ToggleActionEntry -> CString -> m ()
+setToggleActionEntryAccelerator s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: CString)
+
+{- |
+Set the value of the “@accelerator@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #accelerator
+@
+-}
+clearToggleActionEntryAccelerator :: MonadIO m => ToggleActionEntry -> m ()
+clearToggleActionEntryAccelerator s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ToggleActionEntryAcceleratorFieldInfo
+instance AttrInfo ToggleActionEntryAcceleratorFieldInfo where
+    type AttrAllowedOps ToggleActionEntryAcceleratorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToggleActionEntryAcceleratorFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ToggleActionEntryAcceleratorFieldInfo = (~) ToggleActionEntry
+    type AttrGetType ToggleActionEntryAcceleratorFieldInfo = Maybe T.Text
+    type AttrLabel ToggleActionEntryAcceleratorFieldInfo = "accelerator"
+    type AttrOrigin ToggleActionEntryAcceleratorFieldInfo = ToggleActionEntry
+    attrGet _ = getToggleActionEntryAccelerator
+    attrSet _ = setToggleActionEntryAccelerator
+    attrConstruct = undefined
+    attrClear _ = clearToggleActionEntryAccelerator
+
+toggleActionEntry_accelerator :: AttrLabelProxy "accelerator"
+toggleActionEntry_accelerator = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@tooltip@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleActionEntry #tooltip
+@
+-}
+getToggleActionEntryTooltip :: MonadIO m => ToggleActionEntry -> m (Maybe T.Text)
+getToggleActionEntryTooltip s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CString
+    result <- SP.convertIfNonNull val $ \val' -> do
+        val'' <- cstringToText val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@tooltip@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleActionEntry [ #tooltip 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleActionEntryTooltip :: MonadIO m => ToggleActionEntry -> CString -> m ()
+setToggleActionEntryTooltip s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (val :: CString)
+
+{- |
+Set the value of the “@tooltip@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #tooltip
+@
+-}
+clearToggleActionEntryTooltip :: MonadIO m => ToggleActionEntry -> m ()
+clearToggleActionEntryTooltip s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 32) (FP.nullPtr :: CString)
+
+#if ENABLE_OVERLOADING
+data ToggleActionEntryTooltipFieldInfo
+instance AttrInfo ToggleActionEntryTooltipFieldInfo where
+    type AttrAllowedOps ToggleActionEntryTooltipFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToggleActionEntryTooltipFieldInfo = (~) CString
+    type AttrBaseTypeConstraint ToggleActionEntryTooltipFieldInfo = (~) ToggleActionEntry
+    type AttrGetType ToggleActionEntryTooltipFieldInfo = Maybe T.Text
+    type AttrLabel ToggleActionEntryTooltipFieldInfo = "tooltip"
+    type AttrOrigin ToggleActionEntryTooltipFieldInfo = ToggleActionEntry
+    attrGet _ = getToggleActionEntryTooltip
+    attrSet _ = setToggleActionEntryTooltip
+    attrConstruct = undefined
+    attrClear _ = clearToggleActionEntryTooltip
+
+toggleActionEntry_tooltip :: AttrLabelProxy "tooltip"
+toggleActionEntry_tooltip = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@callback@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleActionEntry #callback
+@
+-}
+getToggleActionEntryCallback :: MonadIO m => ToggleActionEntry -> m (Maybe GObject.Callbacks.Callback)
+getToggleActionEntryCallback s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr GObject.Callbacks.C_Callback)
+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
+        let val'' = GObject.Callbacks.dynamic_Callback val'
+        return val''
+    return result
+
+{- |
+Set the value of the “@callback@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleActionEntry [ #callback 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleActionEntryCallback :: MonadIO m => ToggleActionEntry -> FunPtr GObject.Callbacks.C_Callback -> m ()
+setToggleActionEntryCallback s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (val :: FunPtr GObject.Callbacks.C_Callback)
+
+{- |
+Set the value of the “@callback@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #callback
+@
+-}
+clearToggleActionEntryCallback :: MonadIO m => ToggleActionEntry -> m ()
+clearToggleActionEntryCallback s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_Callback)
+
+#if ENABLE_OVERLOADING
+data ToggleActionEntryCallbackFieldInfo
+instance AttrInfo ToggleActionEntryCallbackFieldInfo where
+    type AttrAllowedOps ToggleActionEntryCallbackFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint ToggleActionEntryCallbackFieldInfo = (~) (FunPtr GObject.Callbacks.C_Callback)
+    type AttrBaseTypeConstraint ToggleActionEntryCallbackFieldInfo = (~) ToggleActionEntry
+    type AttrGetType ToggleActionEntryCallbackFieldInfo = Maybe GObject.Callbacks.Callback
+    type AttrLabel ToggleActionEntryCallbackFieldInfo = "callback"
+    type AttrOrigin ToggleActionEntryCallbackFieldInfo = ToggleActionEntry
+    attrGet _ = getToggleActionEntryCallback
+    attrSet _ = setToggleActionEntryCallback
+    attrConstruct = undefined
+    attrClear _ = clearToggleActionEntryCallback
+
+toggleActionEntry_callback :: AttrLabelProxy "callback"
+toggleActionEntry_callback = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@is_active@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' toggleActionEntry #isActive
+@
+-}
+getToggleActionEntryIsActive :: MonadIO m => ToggleActionEntry -> m Bool
+getToggleActionEntryIsActive s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO CInt
+    let val' = (/= 0) val
+    return val'
+
+{- |
+Set the value of the “@is_active@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' toggleActionEntry [ #isActive 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setToggleActionEntryIsActive :: MonadIO m => ToggleActionEntry -> Bool -> m ()
+setToggleActionEntryIsActive s val = liftIO $ withManagedPtr s $ \ptr -> do
+    let val' = (fromIntegral . fromEnum) val
+    poke (ptr `plusPtr` 48) (val' :: CInt)
+
+#if ENABLE_OVERLOADING
+data ToggleActionEntryIsActiveFieldInfo
+instance AttrInfo ToggleActionEntryIsActiveFieldInfo where
+    type AttrAllowedOps ToggleActionEntryIsActiveFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint ToggleActionEntryIsActiveFieldInfo = (~) Bool
+    type AttrBaseTypeConstraint ToggleActionEntryIsActiveFieldInfo = (~) ToggleActionEntry
+    type AttrGetType ToggleActionEntryIsActiveFieldInfo = Bool
+    type AttrLabel ToggleActionEntryIsActiveFieldInfo = "is_active"
+    type AttrOrigin ToggleActionEntryIsActiveFieldInfo = ToggleActionEntry
+    attrGet _ = getToggleActionEntryIsActive
+    attrSet _ = setToggleActionEntryIsActive
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+toggleActionEntry_isActive :: AttrLabelProxy "isActive"
+toggleActionEntry_isActive = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList ToggleActionEntry
+type instance O.AttributeList ToggleActionEntry = ToggleActionEntryAttributeList
+type ToggleActionEntryAttributeList = ('[ '("name", ToggleActionEntryNameFieldInfo), '("stockId", ToggleActionEntryStockIdFieldInfo), '("label", ToggleActionEntryLabelFieldInfo), '("accelerator", ToggleActionEntryAcceleratorFieldInfo), '("tooltip", ToggleActionEntryTooltipFieldInfo), '("callback", ToggleActionEntryCallbackFieldInfo), '("isActive", ToggleActionEntryIsActiveFieldInfo)] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveToggleActionEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveToggleActionEntryMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveToggleActionEntryMethod t ToggleActionEntry, O.MethodInfo info ToggleActionEntry p) => OL.IsLabel t (ToggleActionEntry -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/ToggleActionEntry.hs-boot b/GI/Gtk/Structs/ToggleActionEntry.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/ToggleActionEntry.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.ToggleActionEntry where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype ToggleActionEntry = ToggleActionEntry (ManagedPtr ToggleActionEntry)
+instance WrappedPtr ToggleActionEntry where
diff --git a/GI/Gtk/Structs/TreeIter.hs b/GI/Gtk/Structs/TreeIter.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TreeIter.hs
@@ -0,0 +1,452 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+The 'GI.Gtk.Structs.TreeIter.TreeIter' is the primary structure
+for accessing a 'GI.Gtk.Interfaces.TreeModel.TreeModel'. Models are expected to put a unique
+integer in the /@stamp@/ member, and put
+model-specific data in the three /@userData@/
+members.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TreeIter
+    ( 
+
+-- * Exported types
+    TreeIter(..)                            ,
+    newZeroTreeIter                         ,
+    noTreeIter                              ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    TreeIterCopyMethodInfo                  ,
+#endif
+    treeIterCopy                            ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    TreeIterFreeMethodInfo                  ,
+#endif
+    treeIterFree                            ,
+
+
+
+
+ -- * Properties
+-- ** stamp #attr:stamp#
+{- | a unique stamp to catch invalid iterators
+-}
+    getTreeIterStamp                        ,
+    setTreeIterStamp                        ,
+#if ENABLE_OVERLOADING
+    treeIter_stamp                          ,
+#endif
+
+
+-- ** userData #attr:userData#
+{- | model-specific data
+-}
+    clearTreeIterUserData                   ,
+    getTreeIterUserData                     ,
+    setTreeIterUserData                     ,
+#if ENABLE_OVERLOADING
+    treeIter_userData                       ,
+#endif
+
+
+-- ** userData2 #attr:userData2#
+{- | model-specific data
+-}
+    clearTreeIterUserData2                  ,
+    getTreeIterUserData2                    ,
+    setTreeIterUserData2                    ,
+#if ENABLE_OVERLOADING
+    treeIter_userData2                      ,
+#endif
+
+
+-- ** userData3 #attr:userData3#
+{- | model-specific data
+-}
+    clearTreeIterUserData3                  ,
+    getTreeIterUserData3                    ,
+    setTreeIterUserData3                    ,
+#if ENABLE_OVERLOADING
+    treeIter_userData3                      ,
+#endif
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype TreeIter = TreeIter (ManagedPtr TreeIter)
+foreign import ccall "gtk_tree_iter_get_type" c_gtk_tree_iter_get_type :: 
+    IO GType
+
+instance BoxedObject TreeIter where
+    boxedType _ = c_gtk_tree_iter_get_type
+
+-- | Construct a `TreeIter` struct initialized to zero.
+newZeroTreeIter :: MonadIO m => m TreeIter
+newZeroTreeIter = liftIO $ callocBoxedBytes 32 >>= wrapBoxed TreeIter
+
+instance tag ~ 'AttrSet => Constructible TreeIter tag where
+    new _ attrs = do
+        o <- newZeroTreeIter
+        GI.Attributes.set o attrs
+        return o
+
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeIter`.
+noTreeIter :: Maybe TreeIter
+noTreeIter = Nothing
+
+{- |
+Get the value of the “@stamp@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeIter #stamp
+@
+-}
+getTreeIterStamp :: MonadIO m => TreeIter -> m Int32
+getTreeIterStamp s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Int32
+    return val
+
+{- |
+Set the value of the “@stamp@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeIter [ #stamp 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeIterStamp :: MonadIO m => TreeIter -> Int32 -> m ()
+setTreeIterStamp s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 0) (val :: Int32)
+
+#if ENABLE_OVERLOADING
+data TreeIterStampFieldInfo
+instance AttrInfo TreeIterStampFieldInfo where
+    type AttrAllowedOps TreeIterStampFieldInfo = '[ 'AttrSet, 'AttrGet]
+    type AttrSetTypeConstraint TreeIterStampFieldInfo = (~) Int32
+    type AttrBaseTypeConstraint TreeIterStampFieldInfo = (~) TreeIter
+    type AttrGetType TreeIterStampFieldInfo = Int32
+    type AttrLabel TreeIterStampFieldInfo = "stamp"
+    type AttrOrigin TreeIterStampFieldInfo = TreeIter
+    attrGet _ = getTreeIterStamp
+    attrSet _ = setTreeIterStamp
+    attrConstruct = undefined
+    attrClear _ = undefined
+
+treeIter_stamp :: AttrLabelProxy "stamp"
+treeIter_stamp = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@user_data@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeIter #userData
+@
+-}
+getTreeIterUserData :: MonadIO m => TreeIter -> m (Ptr ())
+getTreeIterUserData s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr ())
+    return val
+
+{- |
+Set the value of the “@user_data@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeIter [ #userData 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeIterUserData :: MonadIO m => TreeIter -> Ptr () -> m ()
+setTreeIterUserData s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (val :: Ptr ())
+
+{- |
+Set the value of the “@user_data@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #userData
+@
+-}
+clearTreeIterUserData :: MonadIO m => TreeIter -> m ()
+clearTreeIterUserData s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr ())
+
+#if ENABLE_OVERLOADING
+data TreeIterUserDataFieldInfo
+instance AttrInfo TreeIterUserDataFieldInfo where
+    type AttrAllowedOps TreeIterUserDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeIterUserDataFieldInfo = (~) (Ptr ())
+    type AttrBaseTypeConstraint TreeIterUserDataFieldInfo = (~) TreeIter
+    type AttrGetType TreeIterUserDataFieldInfo = Ptr ()
+    type AttrLabel TreeIterUserDataFieldInfo = "user_data"
+    type AttrOrigin TreeIterUserDataFieldInfo = TreeIter
+    attrGet _ = getTreeIterUserData
+    attrSet _ = setTreeIterUserData
+    attrConstruct = undefined
+    attrClear _ = clearTreeIterUserData
+
+treeIter_userData :: AttrLabelProxy "userData"
+treeIter_userData = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@user_data2@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeIter #userData2
+@
+-}
+getTreeIterUserData2 :: MonadIO m => TreeIter -> m (Ptr ())
+getTreeIterUserData2 s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr ())
+    return val
+
+{- |
+Set the value of the “@user_data2@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeIter [ #userData2 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeIterUserData2 :: MonadIO m => TreeIter -> Ptr () -> m ()
+setTreeIterUserData2 s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (val :: Ptr ())
+
+{- |
+Set the value of the “@user_data2@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #userData2
+@
+-}
+clearTreeIterUserData2 :: MonadIO m => TreeIter -> m ()
+clearTreeIterUserData2 s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr ())
+
+#if ENABLE_OVERLOADING
+data TreeIterUserData2FieldInfo
+instance AttrInfo TreeIterUserData2FieldInfo where
+    type AttrAllowedOps TreeIterUserData2FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeIterUserData2FieldInfo = (~) (Ptr ())
+    type AttrBaseTypeConstraint TreeIterUserData2FieldInfo = (~) TreeIter
+    type AttrGetType TreeIterUserData2FieldInfo = Ptr ()
+    type AttrLabel TreeIterUserData2FieldInfo = "user_data2"
+    type AttrOrigin TreeIterUserData2FieldInfo = TreeIter
+    attrGet _ = getTreeIterUserData2
+    attrSet _ = setTreeIterUserData2
+    attrConstruct = undefined
+    attrClear _ = clearTreeIterUserData2
+
+treeIter_userData2 :: AttrLabelProxy "userData2"
+treeIter_userData2 = AttrLabelProxy
+
+#endif
+
+
+{- |
+Get the value of the “@user_data3@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.get' treeIter #userData3
+@
+-}
+getTreeIterUserData3 :: MonadIO m => TreeIter -> m (Ptr ())
+getTreeIterUserData3 s = liftIO $ withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr ())
+    return val
+
+{- |
+Set the value of the “@user_data3@” field.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.set' treeIter [ #userData3 'Data.GI.Base.Attributes.:=' value ]
+@
+-}
+setTreeIterUserData3 :: MonadIO m => TreeIter -> Ptr () -> m ()
+setTreeIterUserData3 s val = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (val :: Ptr ())
+
+{- |
+Set the value of the “@user_data3@” field to `Nothing`.
+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
+
+@
+'Data.GI.Base.Attributes.clear' #userData3
+@
+-}
+clearTreeIterUserData3 :: MonadIO m => TreeIter -> m ()
+clearTreeIterUserData3 s = liftIO $ withManagedPtr s $ \ptr -> do
+    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr ())
+
+#if ENABLE_OVERLOADING
+data TreeIterUserData3FieldInfo
+instance AttrInfo TreeIterUserData3FieldInfo where
+    type AttrAllowedOps TreeIterUserData3FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
+    type AttrSetTypeConstraint TreeIterUserData3FieldInfo = (~) (Ptr ())
+    type AttrBaseTypeConstraint TreeIterUserData3FieldInfo = (~) TreeIter
+    type AttrGetType TreeIterUserData3FieldInfo = Ptr ()
+    type AttrLabel TreeIterUserData3FieldInfo = "user_data3"
+    type AttrOrigin TreeIterUserData3FieldInfo = TreeIter
+    attrGet _ = getTreeIterUserData3
+    attrSet _ = setTreeIterUserData3
+    attrConstruct = undefined
+    attrClear _ = clearTreeIterUserData3
+
+treeIter_userData3 :: AttrLabelProxy "userData3"
+treeIter_userData3 = AttrLabelProxy
+
+#endif
+
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeIter
+type instance O.AttributeList TreeIter = TreeIterAttributeList
+type TreeIterAttributeList = ('[ '("stamp", TreeIterStampFieldInfo), '("userData", TreeIterUserDataFieldInfo), '("userData2", TreeIterUserData2FieldInfo), '("userData3", TreeIterUserData3FieldInfo)] :: [(Symbol, *)])
+#endif
+
+-- method TreeIter::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeIter-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeIter"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_iter_copy" gtk_tree_iter_copy :: 
+    Ptr TreeIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO (Ptr TreeIter)
+
+{- |
+Creates a dynamically allocated tree iterator as a copy of /@iter@/.
+
+This function is not intended for use in applications,
+because you can just copy the structs by value
+(@GtkTreeIter new_iter = iter;@).
+You must free this iter with 'GI.Gtk.Structs.TreeIter.treeIterFree'.
+-}
+treeIterCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreeIter
+    {- ^ /@iter@/: a 'GI.Gtk.Structs.TreeIter.TreeIter'-struct -}
+    -> m TreeIter
+    {- ^ __Returns:__ a newly-allocated copy of /@iter@/ -}
+treeIterCopy iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    result <- gtk_tree_iter_copy iter'
+    checkUnexpectedReturnNULL "treeIterCopy" result
+    result' <- (wrapBoxed TreeIter) result
+    touchManagedPtr iter
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeIterCopyMethodInfo
+instance (signature ~ (m TreeIter), MonadIO m) => O.MethodInfo TreeIterCopyMethodInfo TreeIter signature where
+    overloadedMethod _ = treeIterCopy
+
+#endif
+
+-- method TreeIter::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TreeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a dynamically allocated tree iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_iter_free" gtk_tree_iter_free :: 
+    Ptr TreeIter ->                         -- iter : TInterface (Name {namespace = "Gtk", name = "TreeIter"})
+    IO ()
+
+{- |
+Frees an iterator that has been allocated by 'GI.Gtk.Structs.TreeIter.treeIterCopy'.
+
+This function is mainly used for language bindings.
+-}
+treeIterFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreeIter
+    {- ^ /@iter@/: a dynamically allocated tree iterator -}
+    -> m ()
+treeIterFree iter = liftIO $ do
+    iter' <- unsafeManagedPtrGetPtr iter
+    gtk_tree_iter_free iter'
+    touchManagedPtr iter
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeIterFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TreeIterFreeMethodInfo TreeIter signature where
+    overloadedMethod _ = treeIterFree
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeIterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeIterMethod "copy" o = TreeIterCopyMethodInfo
+    ResolveTreeIterMethod "free" o = TreeIterFreeMethodInfo
+    ResolveTreeIterMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeIterMethod t TreeIter, O.MethodInfo info TreeIter p) => OL.IsLabel t (TreeIter -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TreeIter.hs-boot b/GI/Gtk/Structs/TreeIter.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TreeIter.hs-boot
@@ -0,0 +1,32 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TreeIter where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeIter = TreeIter (ManagedPtr TreeIter)
+instance BoxedObject TreeIter where
+#if ENABLE_OVERLOADING
+data TreeIterCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeIterFreeMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/TreePath.hs b/GI/Gtk/Structs/TreePath.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TreePath.hs
@@ -0,0 +1,887 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TreePath
+    ( 
+
+-- * Exported types
+    TreePath(..)                            ,
+    noTreePath                              ,
+
+
+ -- * Methods
+-- ** appendIndex #method:appendIndex#
+
+#if ENABLE_OVERLOADING
+    TreePathAppendIndexMethodInfo           ,
+#endif
+    treePathAppendIndex                     ,
+
+
+-- ** compare #method:compare#
+
+#if ENABLE_OVERLOADING
+    TreePathCompareMethodInfo               ,
+#endif
+    treePathCompare                         ,
+
+
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    TreePathCopyMethodInfo                  ,
+#endif
+    treePathCopy                            ,
+
+
+-- ** down #method:down#
+
+#if ENABLE_OVERLOADING
+    TreePathDownMethodInfo                  ,
+#endif
+    treePathDown                            ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    TreePathFreeMethodInfo                  ,
+#endif
+    treePathFree                            ,
+
+
+-- ** getDepth #method:getDepth#
+
+#if ENABLE_OVERLOADING
+    TreePathGetDepthMethodInfo              ,
+#endif
+    treePathGetDepth                        ,
+
+
+-- ** getIndices #method:getIndices#
+
+#if ENABLE_OVERLOADING
+    TreePathGetIndicesMethodInfo            ,
+#endif
+    treePathGetIndices                      ,
+
+
+-- ** isAncestor #method:isAncestor#
+
+#if ENABLE_OVERLOADING
+    TreePathIsAncestorMethodInfo            ,
+#endif
+    treePathIsAncestor                      ,
+
+
+-- ** isDescendant #method:isDescendant#
+
+#if ENABLE_OVERLOADING
+    TreePathIsDescendantMethodInfo          ,
+#endif
+    treePathIsDescendant                    ,
+
+
+-- ** new #method:new#
+
+    treePathNew                             ,
+
+
+-- ** newFirst #method:newFirst#
+
+    treePathNewFirst                        ,
+
+
+-- ** newFromIndices #method:newFromIndices#
+
+    treePathNewFromIndices                  ,
+
+
+-- ** newFromString #method:newFromString#
+
+    treePathNewFromString                   ,
+
+
+-- ** next #method:next#
+
+#if ENABLE_OVERLOADING
+    TreePathNextMethodInfo                  ,
+#endif
+    treePathNext                            ,
+
+
+-- ** prependIndex #method:prependIndex#
+
+#if ENABLE_OVERLOADING
+    TreePathPrependIndexMethodInfo          ,
+#endif
+    treePathPrependIndex                    ,
+
+
+-- ** prev #method:prev#
+
+#if ENABLE_OVERLOADING
+    TreePathPrevMethodInfo                  ,
+#endif
+    treePathPrev                            ,
+
+
+-- ** toString #method:toString#
+
+#if ENABLE_OVERLOADING
+    TreePathToStringMethodInfo              ,
+#endif
+    treePathToString                        ,
+
+
+-- ** up #method:up#
+
+#if ENABLE_OVERLOADING
+    TreePathUpMethodInfo                    ,
+#endif
+    treePathUp                              ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype TreePath = TreePath (ManagedPtr TreePath)
+foreign import ccall "gtk_tree_path_get_type" c_gtk_tree_path_get_type :: 
+    IO GType
+
+instance BoxedObject TreePath where
+    boxedType _ = c_gtk_tree_path_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreePath`.
+noTreePath :: Maybe TreePath
+noTreePath = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreePath
+type instance O.AttributeList TreePath = TreePathAttributeList
+type TreePathAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method TreePath::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_new" gtk_tree_path_new :: 
+    IO (Ptr TreePath)
+
+{- |
+Creates a new 'GI.Gtk.Structs.TreePath.TreePath'-struct.
+This refers to a row.
+-}
+treePathNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m TreePath
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Structs.TreePath.TreePath'-struct. -}
+treePathNew  = liftIO $ do
+    result <- gtk_tree_path_new
+    checkUnexpectedReturnNULL "treePathNew" result
+    result' <- (wrapBoxed TreePath) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreePath::new_first
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_new_first" gtk_tree_path_new_first :: 
+    IO (Ptr TreePath)
+
+{- |
+Creates a new 'GI.Gtk.Structs.TreePath.TreePath'-struct.
+
+The string representation of this path is “0”.
+-}
+treePathNewFirst ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m TreePath
+    {- ^ __Returns:__ A new 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+treePathNewFirst  = liftIO $ do
+    result <- gtk_tree_path_new_first
+    checkUnexpectedReturnNULL "treePathNewFirst" result
+    result' <- (wrapBoxed TreePath) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreePath::new_from_indices
+-- method type : Constructor
+-- Args : [Arg {argCName = "indices", argType = TCArray False (-1) 1 (TBasicType TInt), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "array of indices", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @indices array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @indices array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_new_from_indicesv" gtk_tree_path_new_from_indicesv :: 
+    Ptr Int32 ->                            -- indices : TCArray False (-1) 1 (TBasicType TInt)
+    Word64 ->                               -- length : TBasicType TUInt64
+    IO (Ptr TreePath)
+
+{- |
+Creates a new path with the given /@indices@/ array of /@length@/.
+
+/Since: 3.12/
+-}
+treePathNewFromIndices ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    [Int32]
+    {- ^ /@indices@/: array of indices -}
+    -> m TreePath
+    {- ^ __Returns:__ A newly created 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+treePathNewFromIndices indices = liftIO $ do
+    let length_ = fromIntegral $ length indices
+    indices' <- packStorableArray indices
+    result <- gtk_tree_path_new_from_indicesv indices' length_
+    checkUnexpectedReturnNULL "treePathNewFromIndices" result
+    result' <- (wrapBoxed TreePath) result
+    freeMem indices'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreePath::new_from_string
+-- method type : Constructor
+-- Args : [Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The string representation of a path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_new_from_string" gtk_tree_path_new_from_string :: 
+    CString ->                              -- path : TBasicType TUTF8
+    IO (Ptr TreePath)
+
+{- |
+Creates a new 'GI.Gtk.Structs.TreePath.TreePath'-struct initialized to /@path@/.
+
+/@path@/ is expected to be a colon separated list of numbers.
+For example, the string “10:4:0” would create a path of depth
+3 pointing to the 11th child of the root node, the 5th
+child of that 11th child, and the 1st child of that 5th child.
+If an invalid path string is passed in, 'Nothing' is returned.
+-}
+treePathNewFromString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    T.Text
+    {- ^ /@path@/: The string representation of a path -}
+    -> m TreePath
+    {- ^ __Returns:__ A newly-created 'GI.Gtk.Structs.TreePath.TreePath'-struct, or 'Nothing' -}
+treePathNewFromString path = liftIO $ do
+    path' <- textToCString path
+    result <- gtk_tree_path_new_from_string path'
+    checkUnexpectedReturnNULL "treePathNewFromString" result
+    result' <- (wrapBoxed TreePath) result
+    freeMem path'
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreePath::append_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_append_index" gtk_tree_path_append_index :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Int32 ->                                -- index_ : TBasicType TInt
+    IO ()
+
+{- |
+Appends a new index to a path.
+
+As a result, the depth of the path is increased.
+-}
+treePathAppendIndex ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> Int32
+    {- ^ /@index_@/: the index -}
+    -> m ()
+treePathAppendIndex path index_ = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_path_append_index path' index_
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreePathAppendIndexMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo TreePathAppendIndexMethodInfo TreePath signature where
+    overloadedMethod _ = treePathAppendIndex
+
+#endif
+
+-- method TreePath::compare
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "a", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_compare" gtk_tree_path_compare :: 
+    Ptr TreePath ->                         -- a : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr TreePath ->                         -- b : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO Int32
+
+{- |
+Compares two paths.
+
+If /@a@/ appears before /@b@/ in a tree, then -1 is returned.
+If /@b@/ appears before /@a@/, then 1 is returned.
+If the two nodes are equal, then 0 is returned.
+-}
+treePathCompare ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@a@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> TreePath
+    {- ^ /@b@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct to compare with -}
+    -> m Int32
+    {- ^ __Returns:__ the relative positions of /@a@/ and /@b@/ -}
+treePathCompare a b = liftIO $ do
+    a' <- unsafeManagedPtrGetPtr a
+    b' <- unsafeManagedPtrGetPtr b
+    result <- gtk_tree_path_compare a' b'
+    touchManagedPtr a
+    touchManagedPtr b
+    return result
+
+#if ENABLE_OVERLOADING
+data TreePathCompareMethodInfo
+instance (signature ~ (TreePath -> m Int32), MonadIO m) => O.MethodInfo TreePathCompareMethodInfo TreePath signature where
+    overloadedMethod _ = treePathCompare
+
+#endif
+
+-- method TreePath::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_copy" gtk_tree_path_copy :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr TreePath)
+
+{- |
+Creates a new 'GI.Gtk.Structs.TreePath.TreePath'-struct as a copy of /@path@/.
+-}
+treePathCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m TreePath
+    {- ^ __Returns:__ a new 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+treePathCopy path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_path_copy path'
+    checkUnexpectedReturnNULL "treePathCopy" result
+    result' <- (wrapBoxed TreePath) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreePathCopyMethodInfo
+instance (signature ~ (m TreePath), MonadIO m) => O.MethodInfo TreePathCopyMethodInfo TreePath signature where
+    overloadedMethod _ = treePathCopy
+
+#endif
+
+-- method TreePath::down
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_down" gtk_tree_path_down :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Moves /@path@/ to point to the first child of the current path.
+-}
+treePathDown ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m ()
+treePathDown path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_path_down path'
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreePathDownMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TreePathDownMethodInfo TreePath signature where
+    overloadedMethod _ = treePathDown
+
+#endif
+
+-- method TreePath::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_free" gtk_tree_path_free :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Frees /@path@/. If /@path@/ is 'Nothing', it simply returns.
+-}
+treePathFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m ()
+treePathFree path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_path_free path'
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreePathFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TreePathFreeMethodInfo TreePath signature where
+    overloadedMethod _ = treePathFree
+
+#endif
+
+-- method TreePath::get_depth
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_get_depth" gtk_tree_path_get_depth :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO Int32
+
+{- |
+Returns the current depth of /@path@/.
+-}
+treePathGetDepth ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m Int32
+    {- ^ __Returns:__ The depth of /@path@/ -}
+treePathGetDepth path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_path_get_depth path'
+    touchManagedPtr path
+    return result
+
+#if ENABLE_OVERLOADING
+data TreePathGetDepthMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TreePathGetDepthMethodInfo TreePath signature where
+    overloadedMethod _ = treePathGetDepth
+
+#endif
+
+-- method TreePath::get_indices
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "depth", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for number of elements\n    returned in the integer array, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "depth", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for number of elements\n    returned in the integer array, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- returnType : Just (TCArray False (-1) 1 (TBasicType TInt))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_get_indices_with_depth" gtk_tree_path_get_indices_with_depth :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr Int32 ->                            -- depth : TBasicType TInt
+    IO (Ptr Int32)
+
+{- |
+Returns the current indices of /@path@/.
+
+This is an array of integers, each representing a node in a tree.
+It also returns the number of elements in the array.
+The array should not be freed.
+
+/Since: 3.0/
+-}
+treePathGetIndices ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m (Maybe [Int32])
+    {- ^ __Returns:__ The current
+    indices, or 'Nothing' -}
+treePathGetIndices path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    depth <- allocMem :: IO (Ptr Int32)
+    result <- gtk_tree_path_get_indices_with_depth path' depth
+    depth' <- peek depth
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (unpackStorableArrayWithLength depth') result'
+        return result''
+    touchManagedPtr path
+    freeMem depth
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreePathGetIndicesMethodInfo
+instance (signature ~ (m (Maybe [Int32])), MonadIO m) => O.MethodInfo TreePathGetIndicesMethodInfo TreePath signature where
+    overloadedMethod _ = treePathGetIndices
+
+#endif
+
+-- method TreePath::is_ancestor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "descendant", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_is_ancestor" gtk_tree_path_is_ancestor :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr TreePath ->                         -- descendant : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Returns 'True' if /@descendant@/ is a descendant of /@path@/.
+-}
+treePathIsAncestor ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> TreePath
+    {- ^ /@descendant@/: another 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@descendant@/ is contained inside /@path@/ -}
+treePathIsAncestor path descendant = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    descendant' <- unsafeManagedPtrGetPtr descendant
+    result <- gtk_tree_path_is_ancestor path' descendant'
+    let result' = (/= 0) result
+    touchManagedPtr path
+    touchManagedPtr descendant
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreePathIsAncestorMethodInfo
+instance (signature ~ (TreePath -> m Bool), MonadIO m) => O.MethodInfo TreePathIsAncestorMethodInfo TreePath signature where
+    overloadedMethod _ = treePathIsAncestor
+
+#endif
+
+-- method TreePath::is_descendant
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ancestor", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_is_descendant" gtk_tree_path_is_descendant :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Ptr TreePath ->                         -- ancestor : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Returns 'True' if /@path@/ is a descendant of /@ancestor@/.
+-}
+treePathIsDescendant ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> TreePath
+    {- ^ /@ancestor@/: another 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@ancestor@/ contains /@path@/ somewhere below it -}
+treePathIsDescendant path ancestor = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    ancestor' <- unsafeManagedPtrGetPtr ancestor
+    result <- gtk_tree_path_is_descendant path' ancestor'
+    let result' = (/= 0) result
+    touchManagedPtr path
+    touchManagedPtr ancestor
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreePathIsDescendantMethodInfo
+instance (signature ~ (TreePath -> m Bool), MonadIO m) => O.MethodInfo TreePathIsDescendantMethodInfo TreePath signature where
+    overloadedMethod _ = treePathIsDescendant
+
+#endif
+
+-- method TreePath::next
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_next" gtk_tree_path_next :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Moves the /@path@/ to point to the next node at the current depth.
+-}
+treePathNext ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m ()
+treePathNext path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_path_next path'
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreePathNextMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TreePathNextMethodInfo TreePath signature where
+    overloadedMethod _ = treePathNext
+
+#endif
+
+-- method TreePath::prepend_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_prepend_index" gtk_tree_path_prepend_index :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    Int32 ->                                -- index_ : TBasicType TInt
+    IO ()
+
+{- |
+Prepends a new index to a path.
+
+As a result, the depth of the path is increased.
+-}
+treePathPrependIndex ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> Int32
+    {- ^ /@index_@/: the index -}
+    -> m ()
+treePathPrependIndex path index_ = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_path_prepend_index path' index_
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreePathPrependIndexMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo TreePathPrependIndexMethodInfo TreePath signature where
+    overloadedMethod _ = treePathPrependIndex
+
+#endif
+
+-- method TreePath::prev
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_prev" gtk_tree_path_prev :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Moves the /@path@/ to point to the previous node at the
+current depth, if it exists.
+-}
+treePathPrev ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@path@/ has a previous node, and
+    the move was made -}
+treePathPrev path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_path_prev path'
+    let result' = (/= 0) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreePathPrevMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TreePathPrevMethodInfo TreePath signature where
+    overloadedMethod _ = treePathPrev
+
+#endif
+
+-- method TreePath::to_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_to_string" gtk_tree_path_to_string :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CString
+
+{- |
+Generates a string representation of the path.
+
+This string is a “:” separated list of numbers.
+For example, “4:10:0:3” would be an acceptable
+return value for this string.
+-}
+treePathToString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: A 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m T.Text
+    {- ^ __Returns:__ A newly-allocated string.
+    Must be freed with 'GI.GLib.Functions.free'. -}
+treePathToString path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_path_to_string path'
+    checkUnexpectedReturnNULL "treePathToString" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreePathToStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo TreePathToStringMethodInfo TreePath signature where
+    overloadedMethod _ = treePathToString
+
+#endif
+
+-- method TreePath::up
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreePath-struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_path_up" gtk_tree_path_up :: 
+    Ptr TreePath ->                         -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO CInt
+
+{- |
+Moves the /@path@/ to point to its parent node, if it has a parent.
+-}
+treePathUp ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreePath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.TreePath.TreePath'-struct -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@path@/ has a parent, and the move was made -}
+treePathUp path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_path_up path'
+    let result' = (/= 0) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreePathUpMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TreePathUpMethodInfo TreePath signature where
+    overloadedMethod _ = treePathUp
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTreePathMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreePathMethod "appendIndex" o = TreePathAppendIndexMethodInfo
+    ResolveTreePathMethod "compare" o = TreePathCompareMethodInfo
+    ResolveTreePathMethod "copy" o = TreePathCopyMethodInfo
+    ResolveTreePathMethod "down" o = TreePathDownMethodInfo
+    ResolveTreePathMethod "free" o = TreePathFreeMethodInfo
+    ResolveTreePathMethod "isAncestor" o = TreePathIsAncestorMethodInfo
+    ResolveTreePathMethod "isDescendant" o = TreePathIsDescendantMethodInfo
+    ResolveTreePathMethod "next" o = TreePathNextMethodInfo
+    ResolveTreePathMethod "prependIndex" o = TreePathPrependIndexMethodInfo
+    ResolveTreePathMethod "prev" o = TreePathPrevMethodInfo
+    ResolveTreePathMethod "toString" o = TreePathToStringMethodInfo
+    ResolveTreePathMethod "up" o = TreePathUpMethodInfo
+    ResolveTreePathMethod "getDepth" o = TreePathGetDepthMethodInfo
+    ResolveTreePathMethod "getIndices" o = TreePathGetIndicesMethodInfo
+    ResolveTreePathMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreePathMethod t TreePath, O.MethodInfo info TreePath p) => OL.IsLabel t (TreePath -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TreePath.hs-boot b/GI/Gtk/Structs/TreePath.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TreePath.hs-boot
@@ -0,0 +1,68 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TreePath where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreePath = TreePath (ManagedPtr TreePath)
+instance BoxedObject TreePath where
+#if ENABLE_OVERLOADING
+data TreePathAppendIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathCompareMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathDownMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathFreeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathGetDepthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathGetIndicesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathIsAncestorMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathIsDescendantMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathNextMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathPrependIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathPrevMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathToStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreePathUpMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/TreeRowReference.hs b/GI/Gtk/Structs/TreeRowReference.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TreeRowReference.hs
@@ -0,0 +1,512 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+A GtkTreeRowReference tracks model changes so that it always refers to the
+same row (a 'GI.Gtk.Structs.TreePath.TreePath' refers to a position, not a fixed row). Create a
+new GtkTreeRowReference with 'GI.Gtk.Structs.TreeRowReference.treeRowReferenceNew'.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.TreeRowReference
+    ( 
+
+-- * Exported types
+    TreeRowReference(..)                    ,
+    noTreeRowReference                      ,
+
+
+ -- * Methods
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    TreeRowReferenceCopyMethodInfo          ,
+#endif
+    treeRowReferenceCopy                    ,
+
+
+-- ** deleted #method:deleted#
+
+    treeRowReferenceDeleted                 ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    TreeRowReferenceFreeMethodInfo          ,
+#endif
+    treeRowReferenceFree                    ,
+
+
+-- ** getModel #method:getModel#
+
+#if ENABLE_OVERLOADING
+    TreeRowReferenceGetModelMethodInfo      ,
+#endif
+    treeRowReferenceGetModel                ,
+
+
+-- ** getPath #method:getPath#
+
+#if ENABLE_OVERLOADING
+    TreeRowReferenceGetPathMethodInfo       ,
+#endif
+    treeRowReferenceGetPath                 ,
+
+
+-- ** inserted #method:inserted#
+
+    treeRowReferenceInserted                ,
+
+
+-- ** new #method:new#
+
+    treeRowReferenceNew                     ,
+
+
+-- ** newProxy #method:newProxy#
+
+    treeRowReferenceNewProxy                ,
+
+
+-- ** valid #method:valid#
+
+#if ENABLE_OVERLOADING
+    TreeRowReferenceValidMethodInfo         ,
+#endif
+    treeRowReferenceValid                   ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import qualified GI.GObject.Objects.Object as GObject.Object
+import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
+import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
+
+-- | Memory-managed wrapper type.
+newtype TreeRowReference = TreeRowReference (ManagedPtr TreeRowReference)
+foreign import ccall "gtk_tree_row_reference_get_type" c_gtk_tree_row_reference_get_type :: 
+    IO GType
+
+instance BoxedObject TreeRowReference where
+    boxedType _ = c_gtk_tree_row_reference_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `TreeRowReference`.
+noTreeRowReference :: Maybe TreeRowReference
+noTreeRowReference = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList TreeRowReference
+type instance O.AttributeList TreeRowReference = TreeRowReferenceAttributeList
+type TreeRowReferenceAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method TreeRowReference::new
+-- method type : Constructor
+-- Args : [Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkTreePath-struct to monitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeRowReference"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_row_reference_new" gtk_tree_row_reference_new :: 
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr TreeRowReference)
+
+{- |
+Creates a row reference based on /@path@/.
+
+This reference will keep pointing to the node pointed to
+by /@path@/, so long as it exists. Any changes that occur on /@model@/ are
+propagated, and the path is updated appropriately. If
+/@path@/ isn’t a valid path in /@model@/, then 'Nothing' is returned.
+-}
+treeRowReferenceNew ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
+    a
+    {- ^ /@model@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a valid 'GI.Gtk.Structs.TreePath.TreePath'-struct to monitor -}
+    -> m TreeRowReference
+    {- ^ __Returns:__ a newly allocated 'GI.Gtk.Structs.TreeRowReference.TreeRowReference', or 'Nothing' -}
+treeRowReferenceNew model path = liftIO $ do
+    model' <- unsafeManagedPtrCastPtr model
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_row_reference_new model' path'
+    checkUnexpectedReturnNULL "treeRowReferenceNew" result
+    result' <- (wrapBoxed TreeRowReference) result
+    touchManagedPtr model
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreeRowReference::new_proxy
+-- method type : Constructor
+-- Args : [Arg {argCName = "proxy", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a proxy #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "model", argType = TInterface (Name {namespace = "Gtk", name = "TreeModel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeModel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GtkTreePath-struct to monitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeRowReference"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_row_reference_new_proxy" gtk_tree_row_reference_new_proxy :: 
+    Ptr GObject.Object.Object ->            -- proxy : TInterface (Name {namespace = "GObject", name = "Object"})
+    Ptr Gtk.TreeModel.TreeModel ->          -- model : TInterface (Name {namespace = "Gtk", name = "TreeModel"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO (Ptr TreeRowReference)
+
+{- |
+You do not need to use this function.
+
+Creates a row reference based on /@path@/.
+
+This reference will keep pointing to the node pointed to
+by /@path@/, so long as it exists. If /@path@/ isn’t a valid
+path in /@model@/, then 'Nothing' is returned. However, unlike
+references created with 'GI.Gtk.Structs.TreeRowReference.treeRowReferenceNew', it
+does not listen to the model for changes. The creator of
+the row reference must do this explicitly using
+'GI.Gtk.Functions.treeRowReferenceInserted', 'GI.Gtk.Functions.treeRowReferenceDeleted',
+@/gtk_tree_row_reference_reordered()/@.
+
+These functions must be called exactly once per proxy when the
+corresponding signal on the model is emitted. This single call
+updates all row references for that proxy. Since built-in GTK+
+objects like 'GI.Gtk.Objects.TreeView.TreeView' already use this mechanism internally,
+using them as the proxy object will produce unpredictable results.
+Further more, passing the same object as /@model@/ and /@proxy@/
+doesn’t work for reasons of internal implementation.
+
+This type of row reference is primarily meant by structures that
+need to carefully monitor exactly when a row reference updates
+itself, and is not generally needed by most applications.
+-}
+treeRowReferenceNewProxy ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a, Gtk.TreeModel.IsTreeModel b) =>
+    a
+    {- ^ /@proxy@/: a proxy 'GI.GObject.Objects.Object.Object' -}
+    -> b
+    {- ^ /@model@/: a 'GI.Gtk.Interfaces.TreeModel.TreeModel' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: a valid 'GI.Gtk.Structs.TreePath.TreePath'-struct to monitor -}
+    -> m TreeRowReference
+    {- ^ __Returns:__ a newly allocated 'GI.Gtk.Structs.TreeRowReference.TreeRowReference', or 'Nothing' -}
+treeRowReferenceNewProxy proxy model path = liftIO $ do
+    proxy' <- unsafeManagedPtrCastPtr proxy
+    model' <- unsafeManagedPtrCastPtr model
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_tree_row_reference_new_proxy proxy' model' path'
+    checkUnexpectedReturnNULL "treeRowReferenceNewProxy" result
+    result' <- (wrapBoxed TreeRowReference) result
+    touchManagedPtr proxy
+    touchManagedPtr model
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreeRowReference::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "reference", argType = TInterface (Name {namespace = "Gtk", name = "TreeRowReference"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeRowReference", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeRowReference"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_row_reference_copy" gtk_tree_row_reference_copy :: 
+    Ptr TreeRowReference ->                 -- reference : TInterface (Name {namespace = "Gtk", name = "TreeRowReference"})
+    IO (Ptr TreeRowReference)
+
+{- |
+Copies a 'GI.Gtk.Structs.TreeRowReference.TreeRowReference'.
+
+/Since: 2.2/
+-}
+treeRowReferenceCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreeRowReference
+    {- ^ /@reference@/: a 'GI.Gtk.Structs.TreeRowReference.TreeRowReference' -}
+    -> m TreeRowReference
+    {- ^ __Returns:__ a copy of /@reference@/ -}
+treeRowReferenceCopy reference = liftIO $ do
+    reference' <- unsafeManagedPtrGetPtr reference
+    result <- gtk_tree_row_reference_copy reference'
+    checkUnexpectedReturnNULL "treeRowReferenceCopy" result
+    result' <- (wrapBoxed TreeRowReference) result
+    touchManagedPtr reference
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeRowReferenceCopyMethodInfo
+instance (signature ~ (m TreeRowReference), MonadIO m) => O.MethodInfo TreeRowReferenceCopyMethodInfo TreeRowReference signature where
+    overloadedMethod _ = treeRowReferenceCopy
+
+#endif
+
+-- method TreeRowReference::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "reference", argType = TInterface (Name {namespace = "Gtk", name = "TreeRowReference"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeRowReference, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_row_reference_free" gtk_tree_row_reference_free :: 
+    Ptr TreeRowReference ->                 -- reference : TInterface (Name {namespace = "Gtk", name = "TreeRowReference"})
+    IO ()
+
+{- |
+Free’s /@reference@/. /@reference@/ may be 'Nothing'
+-}
+treeRowReferenceFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreeRowReference
+    {- ^ /@reference@/: a 'GI.Gtk.Structs.TreeRowReference.TreeRowReference', or 'Nothing' -}
+    -> m ()
+treeRowReferenceFree reference = liftIO $ do
+    reference' <- unsafeManagedPtrGetPtr reference
+    gtk_tree_row_reference_free reference'
+    touchManagedPtr reference
+    return ()
+
+#if ENABLE_OVERLOADING
+data TreeRowReferenceFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TreeRowReferenceFreeMethodInfo TreeRowReference signature where
+    overloadedMethod _ = treeRowReferenceFree
+
+#endif
+
+-- method TreeRowReference::get_model
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "reference", argType = TInterface (Name {namespace = "Gtk", name = "TreeRowReference"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeRowReference", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreeModel"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_row_reference_get_model" gtk_tree_row_reference_get_model :: 
+    Ptr TreeRowReference ->                 -- reference : TInterface (Name {namespace = "Gtk", name = "TreeRowReference"})
+    IO (Ptr Gtk.TreeModel.TreeModel)
+
+{- |
+Returns the model that the row reference is monitoring.
+
+/Since: 2.8/
+-}
+treeRowReferenceGetModel ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreeRowReference
+    {- ^ /@reference@/: a 'GI.Gtk.Structs.TreeRowReference.TreeRowReference' -}
+    -> m Gtk.TreeModel.TreeModel
+    {- ^ __Returns:__ the model -}
+treeRowReferenceGetModel reference = liftIO $ do
+    reference' <- unsafeManagedPtrGetPtr reference
+    result <- gtk_tree_row_reference_get_model reference'
+    checkUnexpectedReturnNULL "treeRowReferenceGetModel" result
+    result' <- (newObject Gtk.TreeModel.TreeModel) result
+    touchManagedPtr reference
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeRowReferenceGetModelMethodInfo
+instance (signature ~ (m Gtk.TreeModel.TreeModel), MonadIO m) => O.MethodInfo TreeRowReferenceGetModelMethodInfo TreeRowReference signature where
+    overloadedMethod _ = treeRowReferenceGetModel
+
+#endif
+
+-- method TreeRowReference::get_path
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "reference", argType = TInterface (Name {namespace = "Gtk", name = "TreeRowReference"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeRowReference", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TreePath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_row_reference_get_path" gtk_tree_row_reference_get_path :: 
+    Ptr TreeRowReference ->                 -- reference : TInterface (Name {namespace = "Gtk", name = "TreeRowReference"})
+    IO (Ptr Gtk.TreePath.TreePath)
+
+{- |
+Returns a path that the row reference currently points to,
+or 'Nothing' if the path pointed to is no longer valid.
+-}
+treeRowReferenceGetPath ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreeRowReference
+    {- ^ /@reference@/: a 'GI.Gtk.Structs.TreeRowReference.TreeRowReference' -}
+    -> m (Maybe Gtk.TreePath.TreePath)
+    {- ^ __Returns:__ a current path, or 'Nothing' -}
+treeRowReferenceGetPath reference = liftIO $ do
+    reference' <- unsafeManagedPtrGetPtr reference
+    result <- gtk_tree_row_reference_get_path reference'
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- (wrapBoxed Gtk.TreePath.TreePath) result'
+        return result''
+    touchManagedPtr reference
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data TreeRowReferenceGetPathMethodInfo
+instance (signature ~ (m (Maybe Gtk.TreePath.TreePath)), MonadIO m) => O.MethodInfo TreeRowReferenceGetPathMethodInfo TreeRowReference signature where
+    overloadedMethod _ = treeRowReferenceGetPath
+
+#endif
+
+-- method TreeRowReference::valid
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "reference", argType = TInterface (Name {namespace = "Gtk", name = "TreeRowReference"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTreeRowReference, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_row_reference_valid" gtk_tree_row_reference_valid :: 
+    Ptr TreeRowReference ->                 -- reference : TInterface (Name {namespace = "Gtk", name = "TreeRowReference"})
+    IO CInt
+
+{- |
+Returns 'True' if the /@reference@/ is non-'Nothing' and refers to
+a current valid path.
+-}
+treeRowReferenceValid ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    TreeRowReference
+    {- ^ /@reference@/: a 'GI.Gtk.Structs.TreeRowReference.TreeRowReference', or 'Nothing' -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if /@reference@/ points to a valid path -}
+treeRowReferenceValid reference = liftIO $ do
+    reference' <- unsafeManagedPtrGetPtr reference
+    result <- gtk_tree_row_reference_valid reference'
+    let result' = (/= 0) result
+    touchManagedPtr reference
+    return result'
+
+#if ENABLE_OVERLOADING
+data TreeRowReferenceValidMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TreeRowReferenceValidMethodInfo TreeRowReference signature where
+    overloadedMethod _ = treeRowReferenceValid
+
+#endif
+
+-- method TreeRowReference::deleted
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "proxy", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the path position that was deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_row_reference_deleted" gtk_tree_row_reference_deleted :: 
+    Ptr GObject.Object.Object ->            -- proxy : TInterface (Name {namespace = "GObject", name = "Object"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Lets a set of row reference created by
+'GI.Gtk.Structs.TreeRowReference.treeRowReferenceNewProxy' know that the
+model emitted the 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-deleted/@ signal.
+-}
+treeRowReferenceDeleted ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
+    a
+    {- ^ /@proxy@/: a 'GI.GObject.Objects.Object.Object' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: the path position that was deleted -}
+    -> m ()
+treeRowReferenceDeleted proxy path = liftIO $ do
+    proxy' <- unsafeManagedPtrCastPtr proxy
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_row_reference_deleted proxy' path'
+    touchManagedPtr proxy
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method TreeRowReference::inserted
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "proxy", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "TreePath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the row position that was inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_tree_row_reference_inserted" gtk_tree_row_reference_inserted :: 
+    Ptr GObject.Object.Object ->            -- proxy : TInterface (Name {namespace = "GObject", name = "Object"})
+    Ptr Gtk.TreePath.TreePath ->            -- path : TInterface (Name {namespace = "Gtk", name = "TreePath"})
+    IO ()
+
+{- |
+Lets a set of row reference created by
+'GI.Gtk.Structs.TreeRowReference.treeRowReferenceNewProxy' know that the
+model emitted the 'GI.Gtk.Interfaces.TreeModel.TreeModel'::@/row-inserted/@ signal.
+-}
+treeRowReferenceInserted ::
+    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
+    a
+    {- ^ /@proxy@/: a 'GI.GObject.Objects.Object.Object' -}
+    -> Gtk.TreePath.TreePath
+    {- ^ /@path@/: the row position that was inserted -}
+    -> m ()
+treeRowReferenceInserted proxy path = liftIO $ do
+    proxy' <- unsafeManagedPtrCastPtr proxy
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_tree_row_reference_inserted proxy' path'
+    touchManagedPtr proxy
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveTreeRowReferenceMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTreeRowReferenceMethod "copy" o = TreeRowReferenceCopyMethodInfo
+    ResolveTreeRowReferenceMethod "free" o = TreeRowReferenceFreeMethodInfo
+    ResolveTreeRowReferenceMethod "valid" o = TreeRowReferenceValidMethodInfo
+    ResolveTreeRowReferenceMethod "getModel" o = TreeRowReferenceGetModelMethodInfo
+    ResolveTreeRowReferenceMethod "getPath" o = TreeRowReferenceGetPathMethodInfo
+    ResolveTreeRowReferenceMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveTreeRowReferenceMethod t TreeRowReference, O.MethodInfo info TreeRowReference p) => OL.IsLabel t (TreeRowReference -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/TreeRowReference.hs-boot b/GI/Gtk/Structs/TreeRowReference.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/TreeRowReference.hs-boot
@@ -0,0 +1,41 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.TreeRowReference where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype TreeRowReference = TreeRowReference (ManagedPtr TreeRowReference)
+instance BoxedObject TreeRowReference where
+#if ENABLE_OVERLOADING
+data TreeRowReferenceCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeRowReferenceFreeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeRowReferenceGetModelMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeRowReferenceGetPathMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data TreeRowReferenceValidMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/WidgetPath.hs b/GI/Gtk/Structs/WidgetPath.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/WidgetPath.hs
@@ -0,0 +1,2115 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+GtkWidgetPath is a boxed type that represents a widget hierarchy from
+the topmost widget, typically a toplevel, to any child. This widget
+path abstraction is used in 'GI.Gtk.Objects.StyleContext.StyleContext' on behalf of the real
+widget in order to query style information.
+
+If you are using GTK+ widgets, you probably will not need to use
+this API directly, as there is 'GI.Gtk.Objects.Widget.widgetGetPath', and the style
+context returned by 'GI.Gtk.Objects.Widget.widgetGetStyleContext' will be automatically
+updated on widget hierarchy changes.
+
+The widget path generation is generally simple:
+
+== Defining a button within a window
+
+
+=== /C code/
+>
+>{
+>  GtkWidgetPath *path;
+>
+>  path = gtk_widget_path_new ();
+>  gtk_widget_path_append_type (path, GTK_TYPE_WINDOW);
+>  gtk_widget_path_append_type (path, GTK_TYPE_BUTTON);
+>}
+
+
+Although more complex information, such as widget names, or
+different classes (property that may be used by other widget
+types) and intermediate regions may be included:
+
+== Defining the first tab widget in a notebook
+
+
+=== /C code/
+>
+>{
+>  GtkWidgetPath *path;
+>  guint pos;
+>
+>  path = gtk_widget_path_new ();
+>
+>  pos = gtk_widget_path_append_type (path, GTK_TYPE_NOTEBOOK);
+>  gtk_widget_path_iter_add_region (path, pos, "tab", GTK_REGION_EVEN | GTK_REGION_FIRST);
+>
+>  pos = gtk_widget_path_append_type (path, GTK_TYPE_LABEL);
+>  gtk_widget_path_iter_set_name (path, pos, "first tab label");
+>}
+
+
+All this information will be used to match the style information
+that applies to the described widget.
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.WidgetPath
+    ( 
+
+-- * Exported types
+    WidgetPath(..)                          ,
+    noWidgetPath                            ,
+
+
+ -- * Methods
+-- ** appendForWidget #method:appendForWidget#
+
+#if ENABLE_OVERLOADING
+    WidgetPathAppendForWidgetMethodInfo     ,
+#endif
+    widgetPathAppendForWidget               ,
+
+
+-- ** appendType #method:appendType#
+
+#if ENABLE_OVERLOADING
+    WidgetPathAppendTypeMethodInfo          ,
+#endif
+    widgetPathAppendType                    ,
+
+
+-- ** appendWithSiblings #method:appendWithSiblings#
+
+#if ENABLE_OVERLOADING
+    WidgetPathAppendWithSiblingsMethodInfo  ,
+#endif
+    widgetPathAppendWithSiblings            ,
+
+
+-- ** copy #method:copy#
+
+#if ENABLE_OVERLOADING
+    WidgetPathCopyMethodInfo                ,
+#endif
+    widgetPathCopy                          ,
+
+
+-- ** free #method:free#
+
+#if ENABLE_OVERLOADING
+    WidgetPathFreeMethodInfo                ,
+#endif
+    widgetPathFree                          ,
+
+
+-- ** getObjectType #method:getObjectType#
+
+#if ENABLE_OVERLOADING
+    WidgetPathGetObjectTypeMethodInfo       ,
+#endif
+    widgetPathGetObjectType                 ,
+
+
+-- ** hasParent #method:hasParent#
+
+#if ENABLE_OVERLOADING
+    WidgetPathHasParentMethodInfo           ,
+#endif
+    widgetPathHasParent                     ,
+
+
+-- ** isType #method:isType#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIsTypeMethodInfo              ,
+#endif
+    widgetPathIsType                        ,
+
+
+-- ** iterAddClass #method:iterAddClass#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterAddClassMethodInfo        ,
+#endif
+    widgetPathIterAddClass                  ,
+
+
+-- ** iterAddRegion #method:iterAddRegion#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterAddRegionMethodInfo       ,
+#endif
+    widgetPathIterAddRegion                 ,
+
+
+-- ** iterClearClasses #method:iterClearClasses#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterClearClassesMethodInfo    ,
+#endif
+    widgetPathIterClearClasses              ,
+
+
+-- ** iterClearRegions #method:iterClearRegions#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterClearRegionsMethodInfo    ,
+#endif
+    widgetPathIterClearRegions              ,
+
+
+-- ** iterGetName #method:iterGetName#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterGetNameMethodInfo         ,
+#endif
+    widgetPathIterGetName                   ,
+
+
+-- ** iterGetObjectName #method:iterGetObjectName#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterGetObjectNameMethodInfo   ,
+#endif
+    widgetPathIterGetObjectName             ,
+
+
+-- ** iterGetObjectType #method:iterGetObjectType#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterGetObjectTypeMethodInfo   ,
+#endif
+    widgetPathIterGetObjectType             ,
+
+
+-- ** iterGetSiblingIndex #method:iterGetSiblingIndex#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterGetSiblingIndexMethodInfo ,
+#endif
+    widgetPathIterGetSiblingIndex           ,
+
+
+-- ** iterGetSiblings #method:iterGetSiblings#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterGetSiblingsMethodInfo     ,
+#endif
+    widgetPathIterGetSiblings               ,
+
+
+-- ** iterGetState #method:iterGetState#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterGetStateMethodInfo        ,
+#endif
+    widgetPathIterGetState                  ,
+
+
+-- ** iterHasClass #method:iterHasClass#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterHasClassMethodInfo        ,
+#endif
+    widgetPathIterHasClass                  ,
+
+
+-- ** iterHasName #method:iterHasName#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterHasNameMethodInfo         ,
+#endif
+    widgetPathIterHasName                   ,
+
+
+-- ** iterHasQclass #method:iterHasQclass#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterHasQclassMethodInfo       ,
+#endif
+    widgetPathIterHasQclass                 ,
+
+
+-- ** iterHasQname #method:iterHasQname#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterHasQnameMethodInfo        ,
+#endif
+    widgetPathIterHasQname                  ,
+
+
+-- ** iterHasQregion #method:iterHasQregion#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterHasQregionMethodInfo      ,
+#endif
+    widgetPathIterHasQregion                ,
+
+
+-- ** iterHasRegion #method:iterHasRegion#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterHasRegionMethodInfo       ,
+#endif
+    widgetPathIterHasRegion                 ,
+
+
+-- ** iterListClasses #method:iterListClasses#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterListClassesMethodInfo     ,
+#endif
+    widgetPathIterListClasses               ,
+
+
+-- ** iterListRegions #method:iterListRegions#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterListRegionsMethodInfo     ,
+#endif
+    widgetPathIterListRegions               ,
+
+
+-- ** iterRemoveClass #method:iterRemoveClass#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterRemoveClassMethodInfo     ,
+#endif
+    widgetPathIterRemoveClass               ,
+
+
+-- ** iterRemoveRegion #method:iterRemoveRegion#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterRemoveRegionMethodInfo    ,
+#endif
+    widgetPathIterRemoveRegion              ,
+
+
+-- ** iterSetName #method:iterSetName#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterSetNameMethodInfo         ,
+#endif
+    widgetPathIterSetName                   ,
+
+
+-- ** iterSetObjectName #method:iterSetObjectName#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterSetObjectNameMethodInfo   ,
+#endif
+    widgetPathIterSetObjectName             ,
+
+
+-- ** iterSetObjectType #method:iterSetObjectType#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterSetObjectTypeMethodInfo   ,
+#endif
+    widgetPathIterSetObjectType             ,
+
+
+-- ** iterSetState #method:iterSetState#
+
+#if ENABLE_OVERLOADING
+    WidgetPathIterSetStateMethodInfo        ,
+#endif
+    widgetPathIterSetState                  ,
+
+
+-- ** length #method:length#
+
+#if ENABLE_OVERLOADING
+    WidgetPathLengthMethodInfo              ,
+#endif
+    widgetPathLength                        ,
+
+
+-- ** new #method:new#
+
+    widgetPathNew                           ,
+
+
+-- ** prependType #method:prependType#
+
+#if ENABLE_OVERLOADING
+    WidgetPathPrependTypeMethodInfo         ,
+#endif
+    widgetPathPrependType                   ,
+
+
+-- ** ref #method:ref#
+
+#if ENABLE_OVERLOADING
+    WidgetPathRefMethodInfo                 ,
+#endif
+    widgetPathRef                           ,
+
+
+-- ** toString #method:toString#
+
+#if ENABLE_OVERLOADING
+    WidgetPathToStringMethodInfo            ,
+#endif
+    widgetPathToString                      ,
+
+
+-- ** unref #method:unref#
+
+#if ENABLE_OVERLOADING
+    WidgetPathUnrefMethodInfo               ,
+#endif
+    widgetPathUnref                         ,
+
+
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
+import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
+
+-- | Memory-managed wrapper type.
+newtype WidgetPath = WidgetPath (ManagedPtr WidgetPath)
+foreign import ccall "gtk_widget_path_get_type" c_gtk_widget_path_get_type :: 
+    IO GType
+
+instance BoxedObject WidgetPath where
+    boxedType _ = c_gtk_widget_path_get_type
+
+-- | A convenience alias for `Nothing` :: `Maybe` `WidgetPath`.
+noWidgetPath :: Maybe WidgetPath
+noWidgetPath = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList WidgetPath
+type instance O.AttributeList WidgetPath = WidgetPathAttributeList
+type WidgetPathAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+-- method WidgetPath::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_new" gtk_widget_path_new :: 
+    IO (Ptr WidgetPath)
+
+{- |
+Returns an empty widget path.
+
+/Since: 3.0/
+-}
+widgetPathNew ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    m WidgetPath
+    {- ^ __Returns:__ A newly created, empty, 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+widgetPathNew  = liftIO $ do
+    result <- gtk_widget_path_new
+    checkUnexpectedReturnNULL "widgetPathNew" result
+    result' <- (wrapBoxed WidgetPath) result
+    return result'
+
+#if ENABLE_OVERLOADING
+#endif
+
+-- method WidgetPath::append_for_widget
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to append to the widget path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_append_for_widget" gtk_widget_path_append_for_widget :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Ptr Gtk.Widget.Widget ->                -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
+    IO Int32
+
+{- |
+Appends the data from /@widget@/ to the widget hierarchy represented
+by /@path@/. This function is a shortcut for adding information from
+/@widget@/ to the given /@path@/. This includes setting the name or
+adding the style classes from /@widget@/.
+
+/Since: 3.2/
+-}
+widgetPathAppendForWidget ::
+    (B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
+    WidgetPath
+    {- ^ /@path@/: a widget path -}
+    -> a
+    {- ^ /@widget@/: the widget to append to the widget path -}
+    -> m Int32
+    {- ^ __Returns:__ the position where the data was inserted -}
+widgetPathAppendForWidget path widget = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    widget' <- unsafeManagedPtrCastPtr widget
+    result <- gtk_widget_path_append_for_widget path' widget'
+    touchManagedPtr path
+    touchManagedPtr widget
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetPathAppendForWidgetMethodInfo
+instance (signature ~ (a -> m Int32), MonadIO m, Gtk.Widget.IsWidget a) => O.MethodInfo WidgetPathAppendForWidgetMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathAppendForWidget
+
+#endif
+
+-- method WidgetPath::append_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget type to append", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_append_type" gtk_widget_path_append_type :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    CGType ->                               -- type : TBasicType TGType
+    IO Int32
+
+{- |
+Appends a widget type to the widget hierarchy represented by /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathAppendType ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> GType
+    {- ^ /@type@/: widget type to append -}
+    -> m Int32
+    {- ^ __Returns:__ the position where the element was inserted -}
+widgetPathAppendType path type_ = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    let type_' = gtypeToCGType type_
+    result <- gtk_widget_path_append_type path' type_'
+    touchManagedPtr path
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetPathAppendTypeMethodInfo
+instance (signature ~ (GType -> m Int32), MonadIO m) => O.MethodInfo WidgetPathAppendTypeMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathAppendType
+
+#endif
+
+-- method WidgetPath::append_with_siblings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget path to append to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "siblings", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget path describing a list of siblings. This path\n  may not contain any siblings itself and it must not be modified\n  afterwards.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling_index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index into @siblings for where the added element is\n  positioned.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_append_with_siblings" gtk_widget_path_append_with_siblings :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Ptr WidgetPath ->                       -- siblings : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Word32 ->                               -- sibling_index : TBasicType TUInt
+    IO Int32
+
+{- |
+Appends a widget type with all its siblings to the widget hierarchy
+represented by /@path@/. Using this function instead of
+'GI.Gtk.Structs.WidgetPath.widgetPathAppendType' will allow the CSS theming to use
+sibling matches in selectors and apply :nth-@/child()/@ pseudo classes.
+In turn, it requires a lot more care in widget implementations as
+widgets need to make sure to call 'GI.Gtk.Objects.Widget.widgetResetStyle' on all
+involved widgets when the /@siblings@/ path changes.
+
+/Since: 3.2/
+-}
+widgetPathAppendWithSiblings ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: the widget path to append to -}
+    -> WidgetPath
+    {- ^ /@siblings@/: a widget path describing a list of siblings. This path
+  may not contain any siblings itself and it must not be modified
+  afterwards. -}
+    -> Word32
+    {- ^ /@siblingIndex@/: index into /@siblings@/ for where the added element is
+  positioned. -}
+    -> m Int32
+    {- ^ __Returns:__ the position where the element was inserted. -}
+widgetPathAppendWithSiblings path siblings siblingIndex = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    siblings' <- unsafeManagedPtrGetPtr siblings
+    result <- gtk_widget_path_append_with_siblings path' siblings' siblingIndex
+    touchManagedPtr path
+    touchManagedPtr siblings
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetPathAppendWithSiblingsMethodInfo
+instance (signature ~ (WidgetPath -> Word32 -> m Int32), MonadIO m) => O.MethodInfo WidgetPathAppendWithSiblingsMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathAppendWithSiblings
+
+#endif
+
+-- method WidgetPath::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_copy" gtk_widget_path_copy :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO (Ptr WidgetPath)
+
+{- |
+Returns a copy of /@path@/
+
+/Since: 3.0/
+-}
+widgetPathCopy ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> m WidgetPath
+    {- ^ __Returns:__ a copy of /@path@/ -}
+widgetPathCopy path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_copy path'
+    checkUnexpectedReturnNULL "widgetPathCopy" result
+    result' <- (wrapBoxed WidgetPath) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathCopyMethodInfo
+instance (signature ~ (m WidgetPath), MonadIO m) => O.MethodInfo WidgetPathCopyMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathCopy
+
+#endif
+
+-- method WidgetPath::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_free" gtk_widget_path_free :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO ()
+
+{- |
+Decrements the reference count on /@path@/, freeing the structure
+if the reference count reaches 0.
+
+/Since: 3.0/
+-}
+widgetPathFree ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> m ()
+widgetPathFree path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_widget_path_free path'
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo WidgetPathFreeMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathFree
+
+#endif
+
+-- method WidgetPath::get_object_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TGType)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_get_object_type" gtk_widget_path_get_object_type :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO CGType
+
+{- |
+Returns the topmost object type, that is, the object type this path
+is representing.
+
+/Since: 3.0/
+-}
+widgetPathGetObjectType ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> m GType
+    {- ^ __Returns:__ The object type -}
+widgetPathGetObjectType path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_get_object_type path'
+    let result' = GType result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathGetObjectTypeMethodInfo
+instance (signature ~ (m GType), MonadIO m) => O.MethodInfo WidgetPathGetObjectTypeMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathGetObjectType
+
+#endif
+
+-- method WidgetPath::has_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget type to check in parents", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_has_parent" gtk_widget_path_has_parent :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    CGType ->                               -- type : TBasicType TGType
+    IO CInt
+
+{- |
+Returns 'True' if any of the parents of the widget represented
+in /@path@/ is of type /@type@/, or any subtype of it.
+
+/Since: 3.0/
+-}
+widgetPathHasParent ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> GType
+    {- ^ /@type@/: widget type to check in parents -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if any parent is of type /@type@/ -}
+widgetPathHasParent path type_ = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    let type_' = gtypeToCGType type_
+    result <- gtk_widget_path_has_parent path' type_'
+    let result' = (/= 0) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathHasParentMethodInfo
+instance (signature ~ (GType -> m Bool), MonadIO m) => O.MethodInfo WidgetPathHasParentMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathHasParent
+
+#endif
+
+-- method WidgetPath::is_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget type to match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_is_type" gtk_widget_path_is_type :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    CGType ->                               -- type : TBasicType TGType
+    IO CInt
+
+{- |
+Returns 'True' if the widget type represented by this path
+is /@type@/, or a subtype of it.
+
+/Since: 3.0/
+-}
+widgetPathIsType ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> GType
+    {- ^ /@type@/: widget type to match -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget represented by /@path@/ is of type /@type@/ -}
+widgetPathIsType path type_ = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    let type_' = gtypeToCGType type_
+    result <- gtk_widget_path_is_type path' type_'
+    let result' = (/= 0) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathIsTypeMethodInfo
+instance (signature ~ (GType -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIsTypeMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIsType
+
+#endif
+
+-- method WidgetPath::iter_add_class
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a class name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_add_class" gtk_widget_path_iter_add_class :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Adds the class /@name@/ to the widget at position /@pos@/ in
+the hierarchy defined in /@path@/. See
+'GI.Gtk.Objects.StyleContext.styleContextAddClass'.
+
+/Since: 3.0/
+-}
+widgetPathIterAddClass ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> T.Text
+    {- ^ /@name@/: a class name -}
+    -> m ()
+widgetPathIterAddClass path pos name = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    name' <- textToCString name
+    gtk_widget_path_iter_add_class path' pos name'
+    touchManagedPtr path
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterAddClassMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterAddClassMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterAddClass
+
+#endif
+
+-- method WidgetPath::iter_add_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "RegionFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags affecting the region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_add_region" gtk_widget_path_iter_add_region :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CString ->                              -- name : TBasicType TUTF8
+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gtk", name = "RegionFlags"})
+    IO ()
+
+{-# DEPRECATED widgetPathIterAddRegion ["(Since version 3.14)","The use of regions is deprecated."] #-}
+{- |
+Adds the region /@name@/ to the widget at position /@pos@/ in
+the hierarchy defined in /@path@/. See
+'GI.Gtk.Objects.StyleContext.styleContextAddRegion'.
+
+Region names must only contain lowercase letters
+and “-”, starting always with a lowercase letter.
+
+/Since: 3.0/
+-}
+widgetPathIterAddRegion ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> T.Text
+    {- ^ /@name@/: region name -}
+    -> [Gtk.Flags.RegionFlags]
+    {- ^ /@flags@/: flags affecting the region -}
+    -> m ()
+widgetPathIterAddRegion path pos name flags = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    name' <- textToCString name
+    let flags' = gflagsToWord flags
+    gtk_widget_path_iter_add_region path' pos name' flags'
+    touchManagedPtr path
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterAddRegionMethodInfo
+instance (signature ~ (Int32 -> T.Text -> [Gtk.Flags.RegionFlags] -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterAddRegionMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterAddRegion
+
+#endif
+
+-- method WidgetPath::iter_clear_classes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_clear_classes" gtk_widget_path_iter_clear_classes :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO ()
+
+{- |
+Removes all classes from the widget at position /@pos@/ in the
+hierarchy defined in /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathIterClearClasses ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Objects.Widget.Widget' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> m ()
+widgetPathIterClearClasses path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_widget_path_iter_clear_classes path' pos
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterClearClassesMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterClearClassesMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterClearClasses
+
+#endif
+
+-- method WidgetPath::iter_clear_regions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_clear_regions" gtk_widget_path_iter_clear_regions :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO ()
+
+{-# DEPRECATED widgetPathIterClearRegions ["(Since version 3.14)","The use of regions is deprecated."] #-}
+{- |
+Removes all regions from the widget at position /@pos@/ in the
+hierarchy defined in /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathIterClearRegions ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> m ()
+widgetPathIterClearRegions path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_widget_path_iter_clear_regions path' pos
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterClearRegionsMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterClearRegionsMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterClearRegions
+
+#endif
+
+-- method WidgetPath::iter_get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the widget name for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_get_name" gtk_widget_path_iter_get_name :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO CString
+
+{- |
+Returns the name corresponding to the widget found at
+the position /@pos@/ in the widget hierarchy defined by
+/@path@/
+-}
+widgetPathIterGetName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to get the widget name for, -1 for the path head -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ The widget name, or 'Nothing' if none was set. -}
+widgetPathIterGetName path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_get_name path' pos
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr path
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetNameMethodInfo
+instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo WidgetPathIterGetNameMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterGetName
+
+#endif
+
+-- method WidgetPath::iter_get_object_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the object name for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_get_object_name" gtk_widget_path_iter_get_object_name :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO CString
+
+{- |
+Returns the object name that is at position /@pos@/ in the widget
+hierarchy defined in /@path@/.
+
+/Since: 3.20/
+-}
+widgetPathIterGetObjectName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to get the object name for, -1 for the path head -}
+    -> m (Maybe T.Text)
+    {- ^ __Returns:__ the name or 'Nothing' -}
+widgetPathIterGetObjectName path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_get_object_name path' pos
+    maybeResult <- convertIfNonNull result $ \result' -> do
+        result'' <- cstringToText result'
+        return result''
+    touchManagedPtr path
+    return maybeResult
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetObjectNameMethodInfo
+instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo WidgetPathIterGetObjectNameMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterGetObjectName
+
+#endif
+
+-- method WidgetPath::iter_get_object_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the object type for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TGType)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_get_object_type" gtk_widget_path_iter_get_object_type :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO CGType
+
+{- |
+Returns the object 'GType' that is at position /@pos@/ in the widget
+hierarchy defined in /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathIterGetObjectType ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to get the object type for, -1 for the path head -}
+    -> m GType
+    {- ^ __Returns:__ a widget type -}
+widgetPathIterGetObjectType path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_get_object_type path' pos
+    let result' = GType result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetObjectTypeMethodInfo
+instance (signature ~ (Int32 -> m GType), MonadIO m) => O.MethodInfo WidgetPathIterGetObjectTypeMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterGetObjectType
+
+#endif
+
+-- method WidgetPath::iter_get_sibling_index
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the sibling index for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_get_sibling_index" gtk_widget_path_iter_get_sibling_index :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO Word32
+
+{- |
+Returns the index into the list of siblings for the element at /@pos@/ as
+returned by 'GI.Gtk.Structs.WidgetPath.widgetPathIterGetSiblings'. If that function would
+return 'Nothing' because the element at /@pos@/ has no siblings, this function
+will return 0.
+-}
+widgetPathIterGetSiblingIndex ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to get the sibling index for, -1 for the path head -}
+    -> m Word32
+    {- ^ __Returns:__ 0 or the index into the list of siblings for the element at /@pos@/. -}
+widgetPathIterGetSiblingIndex path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_get_sibling_index path' pos
+    touchManagedPtr path
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetSiblingIndexMethodInfo
+instance (signature ~ (Int32 -> m Word32), MonadIO m) => O.MethodInfo WidgetPathIterGetSiblingIndexMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterGetSiblingIndex
+
+#endif
+
+-- method WidgetPath::iter_get_siblings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the siblings for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_get_siblings" gtk_widget_path_iter_get_siblings :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO (Ptr WidgetPath)
+
+{- |
+Returns the list of siblings for the element at /@pos@/. If the element
+was not added with siblings, 'Nothing' is returned.
+-}
+widgetPathIterGetSiblings ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to get the siblings for, -1 for the path head -}
+    -> m WidgetPath
+    {- ^ __Returns:__ 'Nothing' or the list of siblings for the element at /@pos@/. -}
+widgetPathIterGetSiblings path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_get_siblings path' pos
+    checkUnexpectedReturnNULL "widgetPathIterGetSiblings" result
+    result' <- (newBoxed WidgetPath) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetSiblingsMethodInfo
+instance (signature ~ (Int32 -> m WidgetPath), MonadIO m) => O.MethodInfo WidgetPathIterGetSiblingsMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterGetSiblings
+
+#endif
+
+-- method WidgetPath::iter_get_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the state for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StateFlags"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_get_state" gtk_widget_path_iter_get_state :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO CUInt
+
+{- |
+Returns the state flags corresponding to the widget found at
+the position /@pos@/ in the widget hierarchy defined by
+/@path@/
+
+/Since: 3.14/
+-}
+widgetPathIterGetState ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to get the state for, -1 for the path head -}
+    -> m [Gtk.Flags.StateFlags]
+    {- ^ __Returns:__ The state flags -}
+widgetPathIterGetState path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_get_state path' pos
+    let result' = wordToGFlags result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetStateMethodInfo
+instance (signature ~ (Int32 -> m [Gtk.Flags.StateFlags]), MonadIO m) => O.MethodInfo WidgetPathIterGetStateMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterGetState
+
+#endif
+
+-- method WidgetPath::iter_has_class
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_has_class" gtk_widget_path_iter_has_class :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CString ->                              -- name : TBasicType TUTF8
+    IO CInt
+
+{- |
+Returns 'True' if the widget at position /@pos@/ has the class /@name@/
+defined, 'False' otherwise.
+
+/Since: 3.0/
+-}
+widgetPathIterHasClass ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to query, -1 for the path head -}
+    -> T.Text
+    {- ^ /@name@/: class name -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the class /@name@/ is defined for the widget at /@pos@/ -}
+widgetPathIterHasClass path pos name = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    name' <- textToCString name
+    result <- gtk_widget_path_iter_has_class path' pos name'
+    let result' = (/= 0) result
+    touchManagedPtr path
+    freeMem name'
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasClassMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIterHasClassMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterHasClass
+
+#endif
+
+-- method WidgetPath::iter_has_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_has_name" gtk_widget_path_iter_has_name :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CString ->                              -- name : TBasicType TUTF8
+    IO CInt
+
+{- |
+Returns 'True' if the widget at position /@pos@/ has the name /@name@/,
+'False' otherwise.
+
+/Since: 3.0/
+-}
+widgetPathIterHasName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to query, -1 for the path head -}
+    -> T.Text
+    {- ^ /@name@/: a widget name -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget at /@pos@/ has this name -}
+widgetPathIterHasName path pos name = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    name' <- textToCString name
+    result <- gtk_widget_path_iter_has_name path' pos name'
+    let result' = (/= 0) result
+    touchManagedPtr path
+    freeMem name'
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasNameMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIterHasNameMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterHasName
+
+#endif
+
+-- method WidgetPath::iter_has_qclass
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "qname", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class name as a #GQuark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_has_qclass" gtk_widget_path_iter_has_qclass :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    Word32 ->                               -- qname : TBasicType TUInt32
+    IO CInt
+
+{- |
+See 'GI.Gtk.Structs.WidgetPath.widgetPathIterHasClass'. This is a version that operates
+with GQuarks.
+
+/Since: 3.0/
+-}
+widgetPathIterHasQclass ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to query, -1 for the path head -}
+    -> Word32
+    {- ^ /@qname@/: class name as a @/GQuark/@ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget at /@pos@/ has the class defined. -}
+widgetPathIterHasQclass path pos qname = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_has_qclass path' pos qname
+    let result' = (/= 0) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasQclassMethodInfo
+instance (signature ~ (Int32 -> Word32 -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIterHasQclassMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterHasQclass
+
+#endif
+
+-- method WidgetPath::iter_has_qname
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "qname", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget name as a #GQuark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_has_qname" gtk_widget_path_iter_has_qname :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    Word32 ->                               -- qname : TBasicType TUInt32
+    IO CInt
+
+{- |
+See 'GI.Gtk.Structs.WidgetPath.widgetPathIterHasName'. This is a version
+that operates on @/GQuarks/@.
+
+/Since: 3.0/
+-}
+widgetPathIterHasQname ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to query, -1 for the path head -}
+    -> Word32
+    {- ^ /@qname@/: widget name as a @/GQuark/@ -}
+    -> m Bool
+    {- ^ __Returns:__ 'True' if the widget at /@pos@/ has this name -}
+widgetPathIterHasQname path pos qname = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_has_qname path' pos qname
+    let result' = (/= 0) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasQnameMethodInfo
+instance (signature ~ (Int32 -> Word32 -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIterHasQnameMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterHasQname
+
+#endif
+
+-- method WidgetPath::iter_has_qregion
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "qname", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name as a #GQuark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "RegionFlags"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the region flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_has_qregion" gtk_widget_path_iter_has_qregion :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    Word32 ->                               -- qname : TBasicType TUInt32
+    Ptr CUInt ->                            -- flags : TInterface (Name {namespace = "Gtk", name = "RegionFlags"})
+    IO CInt
+
+{-# DEPRECATED widgetPathIterHasQregion ["(Since version 3.14)","The use of regions is deprecated."] #-}
+{- |
+See 'GI.Gtk.Structs.WidgetPath.widgetPathIterHasRegion'. This is a version that operates
+with GQuarks.
+
+/Since: 3.0/
+-}
+widgetPathIterHasQregion ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to query, -1 for the path head -}
+    -> Word32
+    {- ^ /@qname@/: region name as a @/GQuark/@ -}
+    -> m ((Bool, [Gtk.Flags.RegionFlags]))
+    {- ^ __Returns:__ 'True' if the widget at /@pos@/ has the region defined. -}
+widgetPathIterHasQregion path pos qname = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    flags <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_widget_path_iter_has_qregion path' pos qname flags
+    let result' = (/= 0) result
+    flags' <- peek flags
+    let flags'' = wordToGFlags flags'
+    touchManagedPtr path
+    freeMem flags
+    return (result', flags'')
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasQregionMethodInfo
+instance (signature ~ (Int32 -> Word32 -> m ((Bool, [Gtk.Flags.RegionFlags]))), MonadIO m) => O.MethodInfo WidgetPathIterHasQregionMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterHasQregion
+
+#endif
+
+-- method WidgetPath::iter_has_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "RegionFlags"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the region flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : Just (TBasicType TBoolean)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_has_region" gtk_widget_path_iter_has_region :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr CUInt ->                            -- flags : TInterface (Name {namespace = "Gtk", name = "RegionFlags"})
+    IO CInt
+
+{-# DEPRECATED widgetPathIterHasRegion ["(Since version 3.14)","The use of regions is deprecated."] #-}
+{- |
+Returns 'True' if the widget at position /@pos@/ has the class /@name@/
+defined, 'False' otherwise.
+
+/Since: 3.0/
+-}
+widgetPathIterHasRegion ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to query, -1 for the path head -}
+    -> T.Text
+    {- ^ /@name@/: region name -}
+    -> m ((Bool, [Gtk.Flags.RegionFlags]))
+    {- ^ __Returns:__ 'True' if the class /@name@/ is defined for the widget at /@pos@/ -}
+widgetPathIterHasRegion path pos name = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    name' <- textToCString name
+    flags <- allocMem :: IO (Ptr CUInt)
+    result <- gtk_widget_path_iter_has_region path' pos name' flags
+    let result' = (/= 0) result
+    flags' <- peek flags
+    let flags'' = wordToGFlags flags'
+    touchManagedPtr path
+    freeMem name'
+    freeMem flags
+    return (result', flags'')
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasRegionMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ((Bool, [Gtk.Flags.RegionFlags]))), MonadIO m) => O.MethodInfo WidgetPathIterHasRegionMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterHasRegion
+
+#endif
+
+-- method WidgetPath::iter_list_classes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_list_classes" gtk_widget_path_iter_list_classes :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO (Ptr (GSList CString))
+
+{- |
+Returns a list with all the class names defined for the widget
+at position /@pos@/ in the hierarchy defined in /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathIterListClasses ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to query, -1 for the path head -}
+    -> m [T.Text]
+    {- ^ __Returns:__ The list of
+         classes, This is a list of strings, the 'GI.GLib.Structs.SList.SList' contents
+         are owned by GTK+, but you should use @/g_slist_free()/@ to
+         free the list itself. -}
+widgetPathIterListClasses path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_list_classes path' pos
+    result' <- unpackGSList result
+    result'' <- mapM cstringToText result'
+    g_slist_free result
+    touchManagedPtr path
+    return result''
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterListClassesMethodInfo
+instance (signature ~ (Int32 -> m [T.Text]), MonadIO m) => O.MethodInfo WidgetPathIterListClassesMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterListClasses
+
+#endif
+
+-- method WidgetPath::iter_list_regions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TGSList (TBasicType TUTF8))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_list_regions" gtk_widget_path_iter_list_regions :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    IO (Ptr (GSList CString))
+
+{-# DEPRECATED widgetPathIterListRegions ["(Since version 3.14)","The use of regions is deprecated."] #-}
+{- |
+Returns a list with all the region names defined for the widget
+at position /@pos@/ in the hierarchy defined in /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathIterListRegions ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to query, -1 for the path head -}
+    -> m [T.Text]
+    {- ^ __Returns:__ The list of
+         regions, This is a list of strings, the 'GI.GLib.Structs.SList.SList' contents
+         are owned by GTK+, but you should use @/g_slist_free()/@ to
+         free the list itself. -}
+widgetPathIterListRegions path pos = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_iter_list_regions path' pos
+    result' <- unpackGSList result
+    result'' <- mapM cstringToText result'
+    g_slist_free result
+    touchManagedPtr path
+    return result''
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterListRegionsMethodInfo
+instance (signature ~ (Int32 -> m [T.Text]), MonadIO m) => O.MethodInfo WidgetPathIterListRegionsMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterListRegions
+
+#endif
+
+-- method WidgetPath::iter_remove_class
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_remove_class" gtk_widget_path_iter_remove_class :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Removes the class /@name@/ from the widget at position /@pos@/ in
+the hierarchy defined in /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathIterRemoveClass ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> T.Text
+    {- ^ /@name@/: class name -}
+    -> m ()
+widgetPathIterRemoveClass path pos name = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    name' <- textToCString name
+    gtk_widget_path_iter_remove_class path' pos name'
+    touchManagedPtr path
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterRemoveClassMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterRemoveClassMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterRemoveClass
+
+#endif
+
+-- method WidgetPath::iter_remove_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_remove_region" gtk_widget_path_iter_remove_region :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{-# DEPRECATED widgetPathIterRemoveRegion ["(Since version 3.14)","The use of regions is deprecated."] #-}
+{- |
+Removes the region /@name@/ from the widget at position /@pos@/ in
+the hierarchy defined in /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathIterRemoveRegion ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> T.Text
+    {- ^ /@name@/: region name -}
+    -> m ()
+widgetPathIterRemoveRegion path pos name = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    name' <- textToCString name
+    gtk_widget_path_iter_remove_region path' pos name'
+    touchManagedPtr path
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterRemoveRegionMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterRemoveRegionMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterRemoveRegion
+
+#endif
+
+-- method WidgetPath::iter_set_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_set_name" gtk_widget_path_iter_set_name :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the widget name for the widget found at position /@pos@/
+in the widget hierarchy defined by /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathIterSetName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> T.Text
+    {- ^ /@name@/: widget name -}
+    -> m ()
+widgetPathIterSetName path pos name = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    name' <- textToCString name
+    gtk_widget_path_iter_set_name path' pos name'
+    touchManagedPtr path
+    freeMem name'
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterSetNameMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterSetNameMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterSetName
+
+#endif
+
+-- method WidgetPath::iter_set_object_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "object name to set or %NULL to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_set_object_name" gtk_widget_path_iter_set_object_name :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+{- |
+Sets the object name for a given position in the widget hierarchy
+defined by /@path@/.
+
+When set, the object name overrides the object type when matching
+CSS.
+
+/Since: 3.20/
+-}
+widgetPathIterSetObjectName ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> Maybe (T.Text)
+    {- ^ /@name@/: object name to set or 'Nothing' to unset -}
+    -> m ()
+widgetPathIterSetObjectName path pos name = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    gtk_widget_path_iter_set_object_name path' pos maybeName
+    touchManagedPtr path
+    freeMem maybeName
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterSetObjectNameMethodInfo
+instance (signature ~ (Int32 -> Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterSetObjectNameMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterSetObjectName
+
+#endif
+
+-- method WidgetPath::iter_set_object_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "object type to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_set_object_type" gtk_widget_path_iter_set_object_type :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CGType ->                               -- type : TBasicType TGType
+    IO ()
+
+{- |
+Sets the object type for a given position in the widget hierarchy
+defined by /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathIterSetObjectType ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> GType
+    {- ^ /@type@/: object type to set -}
+    -> m ()
+widgetPathIterSetObjectType path pos type_ = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    let type_' = gtypeToCGType type_
+    gtk_widget_path_iter_set_object_type path' pos type_'
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterSetObjectTypeMethodInfo
+instance (signature ~ (Int32 -> GType -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterSetObjectTypeMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterSetObjectType
+
+#endif
+
+-- method WidgetPath::iter_set_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_iter_set_state" gtk_widget_path_iter_set_state :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    Int32 ->                                -- pos : TBasicType TInt
+    CUInt ->                                -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
+    IO ()
+
+{- |
+Sets the widget name for the widget found at position /@pos@/
+in the widget hierarchy defined by /@path@/.
+
+If you want to update just a single state flag, you need to do
+this manually, as this function updates all state flags.
+
+== Setting a flag
+
+
+=== /C code/
+>
+>gtk_widget_path_iter_set_state (path, pos, gtk_widget_path_iter_get_state (path, pos) | flag);
+
+
+== Unsetting a flag
+
+
+=== /C code/
+>
+>gtk_widget_path_iter_set_state (path, pos, gtk_widget_path_iter_get_state (path, pos) & ~flag);
+
+
+/Since: 3.14/
+-}
+widgetPathIterSetState ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> Int32
+    {- ^ /@pos@/: position to modify, -1 for the path head -}
+    -> [Gtk.Flags.StateFlags]
+    {- ^ /@state@/: state flags -}
+    -> m ()
+widgetPathIterSetState path pos state = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    let state' = gflagsToWord state
+    gtk_widget_path_iter_set_state path' pos state'
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathIterSetStateMethodInfo
+instance (signature ~ (Int32 -> [Gtk.Flags.StateFlags] -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterSetStateMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathIterSetState
+
+#endif
+
+-- method WidgetPath::length
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TInt)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_length" gtk_widget_path_length :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO Int32
+
+{- |
+Returns the number of 'GI.Gtk.Objects.Widget.Widget' @/GTypes/@ between the represented
+widget and its topmost container.
+
+/Since: 3.0/
+-}
+widgetPathLength ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> m Int32
+    {- ^ __Returns:__ the number of elements in the path -}
+widgetPathLength path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_length path'
+    touchManagedPtr path
+    return result
+
+#if ENABLE_OVERLOADING
+data WidgetPathLengthMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo WidgetPathLengthMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathLength
+
+#endif
+
+-- method WidgetPath::prepend_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget type to prepend", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_prepend_type" gtk_widget_path_prepend_type :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    CGType ->                               -- type : TBasicType TGType
+    IO ()
+
+{- |
+Prepends a widget type to the widget hierachy represented by /@path@/.
+
+/Since: 3.0/
+-}
+widgetPathPrependType ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> GType
+    {- ^ /@type@/: widget type to prepend -}
+    -> m ()
+widgetPathPrependType path type_ = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    let type_' = gtypeToCGType type_
+    gtk_widget_path_prepend_type path' type_'
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathPrependTypeMethodInfo
+instance (signature ~ (GType -> m ()), MonadIO m) => O.MethodInfo WidgetPathPrependTypeMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathPrependType
+
+#endif
+
+-- method WidgetPath::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_ref" gtk_widget_path_ref :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO (Ptr WidgetPath)
+
+{- |
+Increments the reference count on /@path@/.
+
+/Since: 3.2/
+-}
+widgetPathRef ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> m WidgetPath
+    {- ^ __Returns:__ /@path@/ itself. -}
+widgetPathRef path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_ref path'
+    checkUnexpectedReturnNULL "widgetPathRef" result
+    result' <- (wrapBoxed WidgetPath) result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathRefMethodInfo
+instance (signature ~ (m WidgetPath), MonadIO m) => O.MethodInfo WidgetPathRefMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathRef
+
+#endif
+
+-- method WidgetPath::to_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Just (TBasicType TUTF8)
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_to_string" gtk_widget_path_to_string :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO CString
+
+{- |
+Dumps the widget path into a string representation. It tries to match
+the CSS style as closely as possible (Note that there might be paths
+that cannot be represented in CSS).
+
+The main use of this code is for debugging purposes, so that you can
+@/g_print()/@ the path or dump it in a gdb session.
+
+/Since: 3.2/
+-}
+widgetPathToString ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: the path -}
+    -> m T.Text
+    {- ^ __Returns:__ A new string describing /@path@/. -}
+widgetPathToString path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    result <- gtk_widget_path_to_string path'
+    checkUnexpectedReturnNULL "widgetPathToString" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr path
+    return result'
+
+#if ENABLE_OVERLOADING
+data WidgetPathToStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo WidgetPathToStringMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathToString
+
+#endif
+
+-- method WidgetPath::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : Nothing
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gtk_widget_path_unref" gtk_widget_path_unref :: 
+    Ptr WidgetPath ->                       -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
+    IO ()
+
+{- |
+Decrements the reference count on /@path@/, freeing the structure
+if the reference count reaches 0.
+
+/Since: 3.2/
+-}
+widgetPathUnref ::
+    (B.CallStack.HasCallStack, MonadIO m) =>
+    WidgetPath
+    {- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
+    -> m ()
+widgetPathUnref path = liftIO $ do
+    path' <- unsafeManagedPtrGetPtr path
+    gtk_widget_path_unref path'
+    touchManagedPtr path
+    return ()
+
+#if ENABLE_OVERLOADING
+data WidgetPathUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo WidgetPathUnrefMethodInfo WidgetPath signature where
+    overloadedMethod _ = widgetPathUnref
+
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveWidgetPathMethod (t :: Symbol) (o :: *) :: * where
+    ResolveWidgetPathMethod "appendForWidget" o = WidgetPathAppendForWidgetMethodInfo
+    ResolveWidgetPathMethod "appendType" o = WidgetPathAppendTypeMethodInfo
+    ResolveWidgetPathMethod "appendWithSiblings" o = WidgetPathAppendWithSiblingsMethodInfo
+    ResolveWidgetPathMethod "copy" o = WidgetPathCopyMethodInfo
+    ResolveWidgetPathMethod "free" o = WidgetPathFreeMethodInfo
+    ResolveWidgetPathMethod "hasParent" o = WidgetPathHasParentMethodInfo
+    ResolveWidgetPathMethod "isType" o = WidgetPathIsTypeMethodInfo
+    ResolveWidgetPathMethod "iterAddClass" o = WidgetPathIterAddClassMethodInfo
+    ResolveWidgetPathMethod "iterAddRegion" o = WidgetPathIterAddRegionMethodInfo
+    ResolveWidgetPathMethod "iterClearClasses" o = WidgetPathIterClearClassesMethodInfo
+    ResolveWidgetPathMethod "iterClearRegions" o = WidgetPathIterClearRegionsMethodInfo
+    ResolveWidgetPathMethod "iterGetName" o = WidgetPathIterGetNameMethodInfo
+    ResolveWidgetPathMethod "iterGetObjectName" o = WidgetPathIterGetObjectNameMethodInfo
+    ResolveWidgetPathMethod "iterGetObjectType" o = WidgetPathIterGetObjectTypeMethodInfo
+    ResolveWidgetPathMethod "iterGetSiblingIndex" o = WidgetPathIterGetSiblingIndexMethodInfo
+    ResolveWidgetPathMethod "iterGetSiblings" o = WidgetPathIterGetSiblingsMethodInfo
+    ResolveWidgetPathMethod "iterGetState" o = WidgetPathIterGetStateMethodInfo
+    ResolveWidgetPathMethod "iterHasClass" o = WidgetPathIterHasClassMethodInfo
+    ResolveWidgetPathMethod "iterHasName" o = WidgetPathIterHasNameMethodInfo
+    ResolveWidgetPathMethod "iterHasQclass" o = WidgetPathIterHasQclassMethodInfo
+    ResolveWidgetPathMethod "iterHasQname" o = WidgetPathIterHasQnameMethodInfo
+    ResolveWidgetPathMethod "iterHasQregion" o = WidgetPathIterHasQregionMethodInfo
+    ResolveWidgetPathMethod "iterHasRegion" o = WidgetPathIterHasRegionMethodInfo
+    ResolveWidgetPathMethod "iterListClasses" o = WidgetPathIterListClassesMethodInfo
+    ResolveWidgetPathMethod "iterListRegions" o = WidgetPathIterListRegionsMethodInfo
+    ResolveWidgetPathMethod "iterRemoveClass" o = WidgetPathIterRemoveClassMethodInfo
+    ResolveWidgetPathMethod "iterRemoveRegion" o = WidgetPathIterRemoveRegionMethodInfo
+    ResolveWidgetPathMethod "iterSetName" o = WidgetPathIterSetNameMethodInfo
+    ResolveWidgetPathMethod "iterSetObjectName" o = WidgetPathIterSetObjectNameMethodInfo
+    ResolveWidgetPathMethod "iterSetObjectType" o = WidgetPathIterSetObjectTypeMethodInfo
+    ResolveWidgetPathMethod "iterSetState" o = WidgetPathIterSetStateMethodInfo
+    ResolveWidgetPathMethod "length" o = WidgetPathLengthMethodInfo
+    ResolveWidgetPathMethod "prependType" o = WidgetPathPrependTypeMethodInfo
+    ResolveWidgetPathMethod "ref" o = WidgetPathRefMethodInfo
+    ResolveWidgetPathMethod "toString" o = WidgetPathToStringMethodInfo
+    ResolveWidgetPathMethod "unref" o = WidgetPathUnrefMethodInfo
+    ResolveWidgetPathMethod "getObjectType" o = WidgetPathGetObjectTypeMethodInfo
+    ResolveWidgetPathMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveWidgetPathMethod t WidgetPath, O.MethodInfo info WidgetPath p) => OL.IsLabel t (WidgetPath -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/WidgetPath.hs-boot b/GI/Gtk/Structs/WidgetPath.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/WidgetPath.hs-boot
@@ -0,0 +1,137 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.WidgetPath where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype WidgetPath = WidgetPath (ManagedPtr WidgetPath)
+instance BoxedObject WidgetPath where
+#if ENABLE_OVERLOADING
+data WidgetPathAppendForWidgetMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathAppendTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathAppendWithSiblingsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathCopyMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathFreeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathGetObjectTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathHasParentMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIsTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterAddClassMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterAddRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterClearClassesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterClearRegionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetObjectNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetObjectTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetSiblingIndexMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetSiblingsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterGetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasClassMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasQclassMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasQnameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasQregionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterHasRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterListClassesMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterListRegionsMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterRemoveClassMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterRemoveRegionMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterSetNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterSetObjectNameMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterSetObjectTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathIterSetStateMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathLengthMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathPrependTypeMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathRefMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathToStringMethodInfo
+#endif
+#if ENABLE_OVERLOADING
+data WidgetPathUnrefMethodInfo
+#endif
diff --git a/GI/Gtk/Structs/WindowGeometryInfo.hs b/GI/Gtk/Structs/WindowGeometryInfo.hs
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/WindowGeometryInfo.hs
@@ -0,0 +1,77 @@
+
+
+{- |
+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
+License    : LGPL-2.1
+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
+
+/No description available in the introspection data./
+-}
+
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+
+module GI.Gtk.Structs.WindowGeometryInfo
+    ( 
+
+-- * Exported types
+    WindowGeometryInfo(..)                  ,
+    noWindowGeometryInfo                    ,
+
+
+    ) where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+
+-- | Memory-managed wrapper type.
+newtype WindowGeometryInfo = WindowGeometryInfo (ManagedPtr WindowGeometryInfo)
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr WindowGeometryInfo where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
+-- | A convenience alias for `Nothing` :: `Maybe` `WindowGeometryInfo`.
+noWindowGeometryInfo :: Maybe WindowGeometryInfo
+noWindowGeometryInfo = Nothing
+
+
+#if ENABLE_OVERLOADING
+instance O.HasAttributeList WindowGeometryInfo
+type instance O.AttributeList WindowGeometryInfo = WindowGeometryInfoAttributeList
+type WindowGeometryInfoAttributeList = ('[ ] :: [(Symbol, *)])
+#endif
+
+#if ENABLE_OVERLOADING
+type family ResolveWindowGeometryInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveWindowGeometryInfoMethod l o = O.MethodResolutionFailed l o
+
+instance (info ~ ResolveWindowGeometryInfoMethod t WindowGeometryInfo, O.MethodInfo info WindowGeometryInfo p) => OL.IsLabel t (WindowGeometryInfo -> p) where
+#if MIN_VERSION_base(4,10,0)
+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#else
+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
+#endif
+
+#endif
+
+
diff --git a/GI/Gtk/Structs/WindowGeometryInfo.hs-boot b/GI/Gtk/Structs/WindowGeometryInfo.hs-boot
new file mode 100644
--- /dev/null
+++ b/GI/Gtk/Structs/WindowGeometryInfo.hs-boot
@@ -0,0 +1,26 @@
+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
+       && !defined(__HADDOCK_VERSION__))
+module GI.Gtk.Structs.WindowGeometryInfo where
+
+import Data.GI.Base.ShortPrelude
+import qualified Data.GI.Base.ShortPrelude as SP
+import qualified Data.GI.Base.Overloading as O
+import qualified Prelude as P
+
+import qualified Data.GI.Base.Attributes as GI.Attributes
+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
+import qualified Data.GI.Base.GClosure as B.GClosure
+import qualified Data.GI.Base.GError as B.GError
+import qualified Data.GI.Base.GVariant as B.GVariant
+import qualified Data.GI.Base.GValue as B.GValue
+import qualified Data.GI.Base.GParamSpec as B.GParamSpec
+import qualified Data.GI.Base.CallStack as B.CallStack
+import qualified Data.GI.Base.Properties as B.Properties
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+import qualified Foreign.Ptr as FP
+import qualified GHC.OverloadedLabels as OL
+
+newtype WindowGeometryInfo = WindowGeometryInfo (ManagedPtr WindowGeometryInfo)
+instance WrappedPtr WindowGeometryInfo where
diff --git a/Gtk.overrides b/Gtk.overrides
--- a/Gtk.overrides
+++ b/Gtk.overrides
@@ -92,6 +92,9 @@
 # Marked as gsize, which is unsigned, but the function accepts (-1)
 set-attr Gtk/Builder/add_from_string/@parameters/length/@type name gssize
 
+# We know the type of these closures
+set-attr Gtk/AccelGroup/connect/@parameters/closure/@type closure-type AccelGroupActivate
+
 # Generated from gtk+ 3.22.11 with xsltproc Nullable.xslt Gtk-3.0.gir
 set-attr Gtk/AboutDialog/set_comments/@parameters/comments nullable 1
 set-attr Gtk/AboutDialog/set_copyright/@parameters/copyright nullable 1
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Documentation
 Autogenerated documentation for this package can be found at
 
-[https://hackage.haskell.org/package/gi-gtk-3.0.27/docs/GI-Gtk.html](https://hackage.haskell.org/package/gi-gtk-3.0.27/docs/GI-Gtk.html)
+[https://hackage.haskell.org/package/gi-gtk-3.0.28/docs/GI-Gtk.html](https://hackage.haskell.org/package/gi-gtk-3.0.28/docs/GI-Gtk.html)
 
 For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
diff --git a/gi-gtk.cabal b/gi-gtk.cabal
--- a/gi-gtk.cabal
+++ b/gi-gtk.cabal
@@ -1,5 +1,5 @@
 name:                 gi-gtk
-version:              3.0.27
+version:              3.0.28
 synopsis:             Gtk bindings
 description:          Bindings for Gtk, autogenerated by haskell-gi.
 homepage:             https://github.com/haskell-gi/haskell-gi
@@ -14,20 +14,20 @@
 extra-source-files: README.md ChangeLog.md stack.yaml Gtk.overrides
 
 custom-setup
-      setup-depends: base >= 4.7 && < 5,
+      setup-depends: base >= 4.9 && < 5,
                      Cabal >= 1.24,
-                     haskell-gi >= 0.21.1 && < 0.22
+                     haskell-gi >= 0.21.0 && < 0.23
 
 library
       default-language: Haskell2010
-      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
+      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts, UndecidableSuperClasses
       other-extensions: PatternSynonyms, ViewPatterns
       ghc-options: -fno-warn-unused-imports -fno-warn-warnings-deprecations
 
       pkgconfig-depends: gtk+-3.0
       build-depends: base >= 4.7 && <5,
-                     haskell-gi-base == 0.21.*,
-                     haskell-gi >= 0.21.1 && < 0.22,
+                     haskell-gi-base >= 0.21.0 && < 0.23,
+                     haskell-gi >= 0.21.0 && < 0.23,
                      haskell-gi-overloading < 1.1,
                      gi-cairo == 1.0.*,
                      gi-pango == 1.0.*,
@@ -46,3 +46,349 @@
       -- see https://ghc.haskell.org/trac/ghc/ticket/14382
       if impl(ghc == 8.2.*)
               build-depends: haskell-gi-overloading == 0.0
+
+      exposed-modules: GI.Gtk,
+                       GI.Gtk.Callbacks,
+                       GI.Gtk.Constants,
+                       GI.Gtk.Enums,
+                       GI.Gtk.Flags,
+                       GI.Gtk.Functions,
+                       GI.Gtk.Interfaces,
+                       GI.Gtk.Interfaces.Actionable,
+                       GI.Gtk.Interfaces.Activatable,
+                       GI.Gtk.Interfaces.AppChooser,
+                       GI.Gtk.Interfaces.Buildable,
+                       GI.Gtk.Interfaces.CellAccessibleParent,
+                       GI.Gtk.Interfaces.CellEditable,
+                       GI.Gtk.Interfaces.CellLayout,
+                       GI.Gtk.Interfaces.ColorChooser,
+                       GI.Gtk.Interfaces.Editable,
+                       GI.Gtk.Interfaces.FileChooser,
+                       GI.Gtk.Interfaces.FontChooser,
+                       GI.Gtk.Interfaces.Orientable,
+                       GI.Gtk.Interfaces.PrintOperationPreview,
+                       GI.Gtk.Interfaces.RecentChooser,
+                       GI.Gtk.Interfaces.Scrollable,
+                       GI.Gtk.Interfaces.StyleProvider,
+                       GI.Gtk.Interfaces.ToolShell,
+                       GI.Gtk.Interfaces.TreeDragDest,
+                       GI.Gtk.Interfaces.TreeDragSource,
+                       GI.Gtk.Interfaces.TreeModel,
+                       GI.Gtk.Interfaces.TreeSortable,
+                       GI.Gtk.Objects,
+                       GI.Gtk.Objects.AboutDialog,
+                       GI.Gtk.Objects.AccelGroup,
+                       GI.Gtk.Objects.AccelLabel,
+                       GI.Gtk.Objects.AccelMap,
+                       GI.Gtk.Objects.Accessible,
+                       GI.Gtk.Objects.Action,
+                       GI.Gtk.Objects.ActionBar,
+                       GI.Gtk.Objects.ActionGroup,
+                       GI.Gtk.Objects.Adjustment,
+                       GI.Gtk.Objects.Alignment,
+                       GI.Gtk.Objects.AppChooserButton,
+                       GI.Gtk.Objects.AppChooserDialog,
+                       GI.Gtk.Objects.AppChooserWidget,
+                       GI.Gtk.Objects.Application,
+                       GI.Gtk.Objects.ApplicationWindow,
+                       GI.Gtk.Objects.Arrow,
+                       GI.Gtk.Objects.ArrowAccessible,
+                       GI.Gtk.Objects.AspectFrame,
+                       GI.Gtk.Objects.Assistant,
+                       GI.Gtk.Objects.Bin,
+                       GI.Gtk.Objects.BooleanCellAccessible,
+                       GI.Gtk.Objects.Box,
+                       GI.Gtk.Objects.Builder,
+                       GI.Gtk.Objects.Button,
+                       GI.Gtk.Objects.ButtonAccessible,
+                       GI.Gtk.Objects.ButtonBox,
+                       GI.Gtk.Objects.Calendar,
+                       GI.Gtk.Objects.CellAccessible,
+                       GI.Gtk.Objects.CellArea,
+                       GI.Gtk.Objects.CellAreaBox,
+                       GI.Gtk.Objects.CellAreaContext,
+                       GI.Gtk.Objects.CellRenderer,
+                       GI.Gtk.Objects.CellRendererAccel,
+                       GI.Gtk.Objects.CellRendererCombo,
+                       GI.Gtk.Objects.CellRendererPixbuf,
+                       GI.Gtk.Objects.CellRendererProgress,
+                       GI.Gtk.Objects.CellRendererSpin,
+                       GI.Gtk.Objects.CellRendererSpinner,
+                       GI.Gtk.Objects.CellRendererText,
+                       GI.Gtk.Objects.CellRendererToggle,
+                       GI.Gtk.Objects.CellView,
+                       GI.Gtk.Objects.CheckButton,
+                       GI.Gtk.Objects.CheckMenuItem,
+                       GI.Gtk.Objects.CheckMenuItemAccessible,
+                       GI.Gtk.Objects.Clipboard,
+                       GI.Gtk.Objects.ColorButton,
+                       GI.Gtk.Objects.ColorChooserDialog,
+                       GI.Gtk.Objects.ColorChooserWidget,
+                       GI.Gtk.Objects.ColorSelection,
+                       GI.Gtk.Objects.ColorSelectionDialog,
+                       GI.Gtk.Objects.ComboBox,
+                       GI.Gtk.Objects.ComboBoxAccessible,
+                       GI.Gtk.Objects.ComboBoxText,
+                       GI.Gtk.Objects.Container,
+                       GI.Gtk.Objects.ContainerAccessible,
+                       GI.Gtk.Objects.ContainerCellAccessible,
+                       GI.Gtk.Objects.CssProvider,
+                       GI.Gtk.Objects.Dialog,
+                       GI.Gtk.Objects.DrawingArea,
+                       GI.Gtk.Objects.Entry,
+                       GI.Gtk.Objects.EntryAccessible,
+                       GI.Gtk.Objects.EntryBuffer,
+                       GI.Gtk.Objects.EntryCompletion,
+                       GI.Gtk.Objects.EntryIconAccessible,
+                       GI.Gtk.Objects.EventBox,
+                       GI.Gtk.Objects.EventController,
+                       GI.Gtk.Objects.EventControllerKey,
+                       GI.Gtk.Objects.EventControllerMotion,
+                       GI.Gtk.Objects.EventControllerScroll,
+                       GI.Gtk.Objects.Expander,
+                       GI.Gtk.Objects.ExpanderAccessible,
+                       GI.Gtk.Objects.FileChooserButton,
+                       GI.Gtk.Objects.FileChooserDialog,
+                       GI.Gtk.Objects.FileChooserNative,
+                       GI.Gtk.Objects.FileChooserWidget,
+                       GI.Gtk.Objects.FileFilter,
+                       GI.Gtk.Objects.Fixed,
+                       GI.Gtk.Objects.FlowBox,
+                       GI.Gtk.Objects.FlowBoxAccessible,
+                       GI.Gtk.Objects.FlowBoxChild,
+                       GI.Gtk.Objects.FlowBoxChildAccessible,
+                       GI.Gtk.Objects.FontButton,
+                       GI.Gtk.Objects.FontChooserDialog,
+                       GI.Gtk.Objects.FontChooserWidget,
+                       GI.Gtk.Objects.FontSelection,
+                       GI.Gtk.Objects.FontSelectionDialog,
+                       GI.Gtk.Objects.Frame,
+                       GI.Gtk.Objects.FrameAccessible,
+                       GI.Gtk.Objects.GLArea,
+                       GI.Gtk.Objects.Gesture,
+                       GI.Gtk.Objects.GestureDrag,
+                       GI.Gtk.Objects.GestureLongPress,
+                       GI.Gtk.Objects.GestureMultiPress,
+                       GI.Gtk.Objects.GesturePan,
+                       GI.Gtk.Objects.GestureRotate,
+                       GI.Gtk.Objects.GestureSingle,
+                       GI.Gtk.Objects.GestureStylus,
+                       GI.Gtk.Objects.GestureSwipe,
+                       GI.Gtk.Objects.GestureZoom,
+                       GI.Gtk.Objects.Grid,
+                       GI.Gtk.Objects.HBox,
+                       GI.Gtk.Objects.HButtonBox,
+                       GI.Gtk.Objects.HPaned,
+                       GI.Gtk.Objects.HSV,
+                       GI.Gtk.Objects.HScale,
+                       GI.Gtk.Objects.HScrollbar,
+                       GI.Gtk.Objects.HSeparator,
+                       GI.Gtk.Objects.HandleBox,
+                       GI.Gtk.Objects.HeaderBar,
+                       GI.Gtk.Objects.IMContext,
+                       GI.Gtk.Objects.IMContextSimple,
+                       GI.Gtk.Objects.IMMulticontext,
+                       GI.Gtk.Objects.IconFactory,
+                       GI.Gtk.Objects.IconInfo,
+                       GI.Gtk.Objects.IconTheme,
+                       GI.Gtk.Objects.IconView,
+                       GI.Gtk.Objects.IconViewAccessible,
+                       GI.Gtk.Objects.Image,
+                       GI.Gtk.Objects.ImageAccessible,
+                       GI.Gtk.Objects.ImageCellAccessible,
+                       GI.Gtk.Objects.ImageMenuItem,
+                       GI.Gtk.Objects.InfoBar,
+                       GI.Gtk.Objects.Invisible,
+                       GI.Gtk.Objects.Label,
+                       GI.Gtk.Objects.LabelAccessible,
+                       GI.Gtk.Objects.Layout,
+                       GI.Gtk.Objects.LevelBar,
+                       GI.Gtk.Objects.LevelBarAccessible,
+                       GI.Gtk.Objects.LinkButton,
+                       GI.Gtk.Objects.LinkButtonAccessible,
+                       GI.Gtk.Objects.ListBox,
+                       GI.Gtk.Objects.ListBoxAccessible,
+                       GI.Gtk.Objects.ListBoxRow,
+                       GI.Gtk.Objects.ListBoxRowAccessible,
+                       GI.Gtk.Objects.ListStore,
+                       GI.Gtk.Objects.LockButton,
+                       GI.Gtk.Objects.LockButtonAccessible,
+                       GI.Gtk.Objects.Menu,
+                       GI.Gtk.Objects.MenuAccessible,
+                       GI.Gtk.Objects.MenuBar,
+                       GI.Gtk.Objects.MenuButton,
+                       GI.Gtk.Objects.MenuButtonAccessible,
+                       GI.Gtk.Objects.MenuItem,
+                       GI.Gtk.Objects.MenuItemAccessible,
+                       GI.Gtk.Objects.MenuShell,
+                       GI.Gtk.Objects.MenuShellAccessible,
+                       GI.Gtk.Objects.MenuToolButton,
+                       GI.Gtk.Objects.MessageDialog,
+                       GI.Gtk.Objects.Misc,
+                       GI.Gtk.Objects.ModelButton,
+                       GI.Gtk.Objects.MountOperation,
+                       GI.Gtk.Objects.NativeDialog,
+                       GI.Gtk.Objects.Notebook,
+                       GI.Gtk.Objects.NotebookAccessible,
+                       GI.Gtk.Objects.NotebookPageAccessible,
+                       GI.Gtk.Objects.NumerableIcon,
+                       GI.Gtk.Objects.OffscreenWindow,
+                       GI.Gtk.Objects.Overlay,
+                       GI.Gtk.Objects.PadController,
+                       GI.Gtk.Objects.PageSetup,
+                       GI.Gtk.Objects.Paned,
+                       GI.Gtk.Objects.PanedAccessible,
+                       GI.Gtk.Objects.PlacesSidebar,
+                       GI.Gtk.Objects.Plug,
+                       GI.Gtk.Objects.Popover,
+                       GI.Gtk.Objects.PopoverAccessible,
+                       GI.Gtk.Objects.PopoverMenu,
+                       GI.Gtk.Objects.PrintContext,
+                       GI.Gtk.Objects.PrintOperation,
+                       GI.Gtk.Objects.PrintSettings,
+                       GI.Gtk.Objects.ProgressBar,
+                       GI.Gtk.Objects.ProgressBarAccessible,
+                       GI.Gtk.Objects.RadioAction,
+                       GI.Gtk.Objects.RadioButton,
+                       GI.Gtk.Objects.RadioButtonAccessible,
+                       GI.Gtk.Objects.RadioMenuItem,
+                       GI.Gtk.Objects.RadioMenuItemAccessible,
+                       GI.Gtk.Objects.RadioToolButton,
+                       GI.Gtk.Objects.Range,
+                       GI.Gtk.Objects.RangeAccessible,
+                       GI.Gtk.Objects.RcStyle,
+                       GI.Gtk.Objects.RecentAction,
+                       GI.Gtk.Objects.RecentChooserDialog,
+                       GI.Gtk.Objects.RecentChooserMenu,
+                       GI.Gtk.Objects.RecentChooserWidget,
+                       GI.Gtk.Objects.RecentFilter,
+                       GI.Gtk.Objects.RecentManager,
+                       GI.Gtk.Objects.RendererCellAccessible,
+                       GI.Gtk.Objects.Revealer,
+                       GI.Gtk.Objects.Scale,
+                       GI.Gtk.Objects.ScaleAccessible,
+                       GI.Gtk.Objects.ScaleButton,
+                       GI.Gtk.Objects.ScaleButtonAccessible,
+                       GI.Gtk.Objects.Scrollbar,
+                       GI.Gtk.Objects.ScrolledWindow,
+                       GI.Gtk.Objects.ScrolledWindowAccessible,
+                       GI.Gtk.Objects.SearchBar,
+                       GI.Gtk.Objects.SearchEntry,
+                       GI.Gtk.Objects.Separator,
+                       GI.Gtk.Objects.SeparatorMenuItem,
+                       GI.Gtk.Objects.SeparatorToolItem,
+                       GI.Gtk.Objects.Settings,
+                       GI.Gtk.Objects.ShortcutLabel,
+                       GI.Gtk.Objects.ShortcutsGroup,
+                       GI.Gtk.Objects.ShortcutsSection,
+                       GI.Gtk.Objects.ShortcutsShortcut,
+                       GI.Gtk.Objects.ShortcutsWindow,
+                       GI.Gtk.Objects.SizeGroup,
+                       GI.Gtk.Objects.Socket,
+                       GI.Gtk.Objects.SpinButton,
+                       GI.Gtk.Objects.SpinButtonAccessible,
+                       GI.Gtk.Objects.Spinner,
+                       GI.Gtk.Objects.SpinnerAccessible,
+                       GI.Gtk.Objects.Stack,
+                       GI.Gtk.Objects.StackAccessible,
+                       GI.Gtk.Objects.StackSidebar,
+                       GI.Gtk.Objects.StackSwitcher,
+                       GI.Gtk.Objects.StatusIcon,
+                       GI.Gtk.Objects.Statusbar,
+                       GI.Gtk.Objects.StatusbarAccessible,
+                       GI.Gtk.Objects.Style,
+                       GI.Gtk.Objects.StyleContext,
+                       GI.Gtk.Objects.StyleProperties,
+                       GI.Gtk.Objects.Switch,
+                       GI.Gtk.Objects.SwitchAccessible,
+                       GI.Gtk.Objects.Table,
+                       GI.Gtk.Objects.TearoffMenuItem,
+                       GI.Gtk.Objects.TextBuffer,
+                       GI.Gtk.Objects.TextCellAccessible,
+                       GI.Gtk.Objects.TextChildAnchor,
+                       GI.Gtk.Objects.TextMark,
+                       GI.Gtk.Objects.TextTag,
+                       GI.Gtk.Objects.TextTagTable,
+                       GI.Gtk.Objects.TextView,
+                       GI.Gtk.Objects.TextViewAccessible,
+                       GI.Gtk.Objects.ThemingEngine,
+                       GI.Gtk.Objects.ToggleAction,
+                       GI.Gtk.Objects.ToggleButton,
+                       GI.Gtk.Objects.ToggleButtonAccessible,
+                       GI.Gtk.Objects.ToggleToolButton,
+                       GI.Gtk.Objects.ToolButton,
+                       GI.Gtk.Objects.ToolItem,
+                       GI.Gtk.Objects.ToolItemGroup,
+                       GI.Gtk.Objects.ToolPalette,
+                       GI.Gtk.Objects.Toolbar,
+                       GI.Gtk.Objects.Tooltip,
+                       GI.Gtk.Objects.ToplevelAccessible,
+                       GI.Gtk.Objects.TreeModelFilter,
+                       GI.Gtk.Objects.TreeModelSort,
+                       GI.Gtk.Objects.TreeSelection,
+                       GI.Gtk.Objects.TreeStore,
+                       GI.Gtk.Objects.TreeView,
+                       GI.Gtk.Objects.TreeViewAccessible,
+                       GI.Gtk.Objects.TreeViewColumn,
+                       GI.Gtk.Objects.UIManager,
+                       GI.Gtk.Objects.VBox,
+                       GI.Gtk.Objects.VButtonBox,
+                       GI.Gtk.Objects.VPaned,
+                       GI.Gtk.Objects.VScale,
+                       GI.Gtk.Objects.VScrollbar,
+                       GI.Gtk.Objects.VSeparator,
+                       GI.Gtk.Objects.Viewport,
+                       GI.Gtk.Objects.VolumeButton,
+                       GI.Gtk.Objects.Widget,
+                       GI.Gtk.Objects.WidgetAccessible,
+                       GI.Gtk.Objects.Window,
+                       GI.Gtk.Objects.WindowAccessible,
+                       GI.Gtk.Objects.WindowGroup,
+                       GI.Gtk.Structs,
+                       GI.Gtk.Structs.AccelGroupEntry,
+                       GI.Gtk.Structs.AccelKey,
+                       GI.Gtk.Structs.ActionEntry,
+                       GI.Gtk.Structs.BindingArg,
+                       GI.Gtk.Structs.BindingEntry,
+                       GI.Gtk.Structs.BindingSet,
+                       GI.Gtk.Structs.BindingSignal,
+                       GI.Gtk.Structs.Border,
+                       GI.Gtk.Structs.CssSection,
+                       GI.Gtk.Structs.FileFilterInfo,
+                       GI.Gtk.Structs.FixedChild,
+                       GI.Gtk.Structs.Gradient,
+                       GI.Gtk.Structs.IMContextInfo,
+                       GI.Gtk.Structs.IconSet,
+                       GI.Gtk.Structs.IconSource,
+                       GI.Gtk.Structs.LabelSelectionInfo,
+                       GI.Gtk.Structs.PadActionEntry,
+                       GI.Gtk.Structs.PageRange,
+                       GI.Gtk.Structs.PaperSize,
+                       GI.Gtk.Structs.RadioActionEntry,
+                       GI.Gtk.Structs.RcContext,
+                       GI.Gtk.Structs.RcProperty,
+                       GI.Gtk.Structs.RecentData,
+                       GI.Gtk.Structs.RecentFilterInfo,
+                       GI.Gtk.Structs.RecentInfo,
+                       GI.Gtk.Structs.RequestedSize,
+                       GI.Gtk.Structs.Requisition,
+                       GI.Gtk.Structs.SelectionData,
+                       GI.Gtk.Structs.SettingsValue,
+                       GI.Gtk.Structs.StockItem,
+                       GI.Gtk.Structs.SymbolicColor,
+                       GI.Gtk.Structs.TableChild,
+                       GI.Gtk.Structs.TableRowCol,
+                       GI.Gtk.Structs.TargetEntry,
+                       GI.Gtk.Structs.TargetList,
+                       GI.Gtk.Structs.TargetPair,
+                       GI.Gtk.Structs.TextAppearance,
+                       GI.Gtk.Structs.TextAttributes,
+                       GI.Gtk.Structs.TextBTree,
+                       GI.Gtk.Structs.TextIter,
+                       GI.Gtk.Structs.ThemeEngine,
+                       GI.Gtk.Structs.ToggleActionEntry,
+                       GI.Gtk.Structs.TreeIter,
+                       GI.Gtk.Structs.TreePath,
+                       GI.Gtk.Structs.TreeRowReference,
+                       GI.Gtk.Structs.WidgetPath,
+                       GI.Gtk.Structs.WindowGeometryInfo
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,3 +1,3 @@
 packages:
 - '.'
-resolver: lts-12.10
+resolver: lts-13.7
